text:
3D Printing
3d printing is one of my hobbies nowadays. The first printer I had was a Huxley from reprap. For me as student was pretty complicated to get the money needed, which was around 500€. Then I realize this hobby will be taking my time and my money. but I do not regret a thing and I will encourage other people to do so.
Assembly was pretty complicated in the first stages, too excited that I made a lot of mistakes. But fortunately now is working properly. 3D printer opened myself to a bigger projects, making possible to perform other projects, you can find them in this blog. Projects like the solder station, quadcopters, CNC milling machine, piano button and more coming.
I upgraded the Huxley needle from 0.5 to 0.3mm achieving great results. You can see here the quality obtained
tablet holder, cable holder, android.
Nowadays I am working with the X400 from German reprap which can printable area from 400x400x350mm, Dual extruder… Quite a monster comparing to the intial Huxley.
If you are having problems with your printigs and you do not know why is that, here are two detailed pages with the problems and solutions you may be facing with.
Sometimes all your problems can just rely on the material you are using. I have my printer in a relative wet room. I did not realize that this was wetting the material and in consequence it was not working properly (grinding filament).
For example while I was printing the box for a 1-Button Table Keyboard I was facing this problem. I was using soft PLA, so I reduced the speed to the half, it started good, so I leave it working. But at the next day, as you can see in the picture, the result was a mess (right).
So I put the material during two days in a plastic bag plenty of desiccant. Then I started the print again and the results were satisfactory (left).


text:
The Motion Picture Association of America (MPAA) has filed a legal brief in support of a federal lawsuit that would make sites that embed videos just as liable for copyright violations as the third party sites that host them, a legal precedent that I'm pretty confident would end up stripping Slog (and much of the rest of the Internet) of the bulk of the videos that we post for your enjoyment and elucidation every day.
I'm not pro-piracy or anything, but Hollywood's campaign to crush Internet freedom in the service of disincentivizing even the remotest possibility of copyright infringement has the potential to dramatically undermine the First Amendment, if not destroy small, independent websites entirely. During my many years pissing people off over at HA, I always knew that I was just one lawsuit away from losing my house and my retirement account. And not even losing a lawsuit. Just the legal cost of fighting a libel or copyright suit would have been enough to bankrupt me. So knowing that the wrong video embed could potentially cost me hundreds of thousands of dollars would probably lead me to be awfully wary about embedding any videos at all, since I could never be absolutely sure of a video's provenance.
And I'm guessing Tim would make a similar decision here at Slog. How could he not? Under the current regime the copyright holder issues a takedown notice to the offending host site, and poof: the video no longer plays on Slog. Under the MPAA's proposed ruling, the copyright holder could then sue The Stranger (and hundreds of other embedding sites) for damages.
The irony of course is that there is no better tool for marketing Hollywood's wares than a free-flowing Internet. But just like the music industry before it, the MPAA seems intent on criminalizing its customers rather than adjusting its business model to the new media reality.

subset: commoncrawl


text:
Kyodai Makes The Big Time Trailer (1992)
24 January 1992 91 mins
"Love is the only thing subject to negotiation in feature film debut which betrays admiration for the formal rigidity of Straub and Zwartjes." "The film, KYODAI MAKES THE BIG TIME, caused a commotion in the Netherlands when it won the Golden Calf for Best Film (the Dutch Oscar equivalent). The film went on to win the Jozef Von Sternberg Prize For Innovative Narrative Structure at the Mannheim Film Festival." "KYODAI MAKES THE BIG TIME – What was the public's reaction to this? Your first film – is it like your first time having sex? Which I guess is a subjective question, but I'm thinking experimental, unnerving, liberating, a learning experience, a humbling experience, leaving you wanting more ? SEX SHOULD ALWAYS BE LIKE YOU'RE HAVING SEX FOR THE FIRST TIME."
Watch the official Kyodai Makes The Big Time 1992 trailer in HD below or find more Kyodai Makes The Big Time videos on Vidimovie.


text:
Forgot your password? Enter the email address you signed up with and we will send you a link to create a new password.
Your password reset has been submitted to the address provided.
Standard character mark
Sealant for use on heating, ventilation, and air conditioning equipment, gutters, and roofs; elastomer-based sealant for patching and sealing leaks
Business in St. Louis, MO


text:
CodePlexProject Hosting for Open Source Software
I've been deploying IE8 to a few thousand workstations and have found 2 machines so far that keep displaying the block message "Launching this application has been temporarily blocked sot hat an installation operation can complete" whenever a user launches IE8 even after a successful install and reboot. Can you tell me if there's a simple change I can make on these few machines this happens on?
# Remove the scheduled task if it exists
$schTaskBlockedAppsName = "$installName" + "_BlockedApps"
If (Get-ScheduledTask -ContinueOnError $true | Select TaskName | Where { $_.TaskName -eq "\$schTaskBlockedAppsName" } ) {
Write-Log "Deleting Scheduled Task [$schTaskBlockedAppsName] ..."
Execute-Process -FilePath $exeSchTasks -Arguments "/Delete /TN $schTaskBlockedAppsName /F"
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" -Recurse |
ForEach-Object { Get-ItemProperty $_.pspath } |
Where-Object {$_.Debugger -like "*ShowBlockedAppDialog*"} |
Remove-ItemProperty -Name Debugger
Are you sure you want to delete this post? You will not be able to recover it later.
Are you sure you want to delete this thread? You will not be able to recover it later.


text:
If this is a medical emergency, please call 911 immediately! If you have a medical question please contact us at (970) 878-5047. We look forward to serving all your healthcare needs.
- EMERGENCY ROOM is now open (as of Wed., June 17) at 100 Pioneers Medical Center Drive (turn off Hwy 13 across from Samuelson's True Value and follow the ER signs to the backside of the hospital. A separate ER entrance and parking area is available)
- THE WALBRIDGE WING and all inpatient hospital services are now available at the new facility, as of Wed, June 17.
- The MEEKER FAMILY HEALTH CENTER re-opens on Friday, June 19.
"After more than 65 years, we continue to build upon our legacy of Quality Care You Can Count On. We are so proud to open a new Pioneers Medical Center! We have expanded care to include additional surgical, pediatric, and therapeutic services; infusion and cancer therapies; and cosmetic procedures. We have built private, more comfortable rooms, and Pioneers has successfully forged partnerships with some of the best providers in Colorado to augment the care we provide locally and to ensure smooth transitions of care for our patients. We have been careful to design a sustainable plan for a healthy future, both for our facility and for all the lives we impact." -Ken Harman, CEO
The current Pioneers Medical Center has proudly served Meeker for more than 60 years since the hospital's opening in 1950. It is the only healthcare resource within a 40-mile radius of Meeker and is a cornerstone of our community and local economy.
But over six decades, the needs of local families, businesses and area visitors have dramatically changed – not to mention the vast improvements in standards of care and evolution of technology!
After diligent review of all the options and years of savings to avoid the need for public/tax funding, Pioneers Medical Center and Walbridge Memorial Wing senior living center have launched an exciting new chapter in the honored story of healthcare in Rio Blanco County. Pioneers broke ground on March 21, 2014, on a new medical facility designed to modernize our current services, allow us to provide new healthcare options locally and ensure room to meet the future needs of our community!
The new medical facility was constructed approximately two miles from the previous hospital location on a beautiful 52-acre site known as The Meeker Terrace property, adjacent to the Meeker airport. This site offers stable, low-expansive soils for cost-effective building and maintenance and a flexible footprint to leave opportunities for ample parking and future expansion needs beyond the initial 20 acres necessary to house Pioneers Medical Center, Meeker Family Health Center and the Walbridge Memorial Wing.
This $47 million project will be funded through reserves, direct loans, grants and donations. This allows us to share the benefits of these advanced healthcare facilities with our entire community without burdening taxpayers. In addition, the infrastructure development necessary will bolster other economic development in the Meeker area and support local trades and professional talent.
We are thrilled to share the progress and show our "Pioneering Spirit" via these web page or through email updates.


text: Welcome to Jamal InternationalJamal International is the leading supplier of leather belts, bags and small accessories for men and women, for a dressy, causal or trendy look. We have every discipline at our disposal – from design to production – so we can respond quickly and flexibly to current trends and to your wishes. The 'beating heart' of our company is the styling department, where a team of four stylists are continually developing new models and techniques.


text:
Thursday, August 12, 2010
Comic Book Review Power Rankings for 08/11/10
Posted by Ryan Schrodt at 9:14 PM
Thought Bubbles: Comic Book Power Rankings, Review
8 comments:
- Patrick Hulman said...
shouldn't that be The Thanos Imperative #3
- August 12, 2010 at 9:44 PM
- Radlum said...
For me, the Moment of the Week has to be that power walk of Nova's strike team
At least one current Marvel event lives up to the hype and expectations I had.
- August 12, 2010 at 10:27 PM
Ryan, I'm usually one to agree with almost everything you post, but I thought Zatanna was very strong even with the artist change. Also, even though Secret Six is one of my favorite books, Birds of Prey has faltered a little for me the last too issues. I, for one, think the change between the artists on that title is jarring.
- August 13, 2010 at 12:21 AM
- kareem said...
I'm shocked you don't find the shift in artists in Birds of Prey ridiculously jarring! I really, really, really hate the weird plastic, glossy look Melo gives the characters.
- August 13, 2010 at 7:30 AM
- Flip The Page said...
"Victor Gischler's character writing works extremely well"
Yeah, I love how he writes Dr. Nemesis totally in character and isn't shoddy enough to make every word a character says sound stilted and awkward. I especially love how it took all of one speech bubble (the "girl's drink, tovarich" line) for me to hate him entirely more than I already do.
But then that's just one cliché that I hate seeing come from Colossuss' mouth (he's been a man of the world, moreso america, for about 9 years of Marvel Universe time, he's not ALWAYS gonna spout lines of russian in his sentences, if ever really)
.... sorry, I guess I really have my hackles up about this hack, I shouldn't be ranting at ya Ryan. Other than that I'm 100% with all ya views here.
- August 13, 2010 at 7:55 AM
- nf said...
Even as a big fan of Secret Six I just don't find much enjoyment out of Birds of Prey. It doesn't help that I really have no interest in the team beyond Hawk and Dove.
GL Emerald Warriors was a rather "meh" beginning to me as I feel they should do a better job at getting you in on the hook of the book. The "reveal" at the end landed with a thud to me.
- August 13, 2010 at 11:01 AM
- Steven R. Stahl said...
I have to strongly disagree with Lindsay's assessment of THANOS IMPERATIVE (TI). DnA are trying to glue together two separate concepts: Elder gods invading Earth's dimension and Death dying. Tbe necropsy ritual might have seemed like a nice way to connect the two, but there's no underlying logic to it.
There's also the fact that biological systems depend on life/death cycles to reallocate resources. Without death, living organisms can't replenish their energy stores. If the rationale in TI is that the "many-angled ones" are providing the energy, then there's no need to involve Death. The story can be reduced to elder gods taking over, and a counter-ritual that will expel them. The only reason for the Death material seems to be to get Thanos involved.
- August 13, 2010 at 5:28 PM
- Matt Duarte said...
@Steven: Just a small correction, this was reviewed/posted by Ryan Schrodt, not Ryan Lindsay.
- August 13, 2010 at 6:29 PM
Post a Comment
Thanks for checking out the Weekly Crisis - Comic Book Review Blog. Comments are always appreciated. You can sign in and comment with any Google, Wordpress, Live Journal, AIM, OpenID or TypePad account.


text:
8 weeks free bike insurance available
From the daily commute to practical cycling adventures, the Ridgeback Tensor is a touring bike that offers a practical ride for cycling on roads and cycle paths.
The 6061 aluminium alloy frame and fork offer a stable ride with a comfortable upright cycling position and features. An adjustable stem will help you find the perfect riding position while a chainguard helps to keep your trousers clean. Ready-fitted are mudguards to keep the spray down on wet roads and a rear rack for carrying your bags. Front and rear lights are also fitted and combined with reflective side walls on the tyres add night-time visibility.
The Shimano hydraulic disc brakes give you confident stopping power in all weather conditions while the Shimano 3x9 speed drivetrain gives you plenty of gears for taking on the climbs even when fully loaded.
The Ridgeback Tensor is ready for practical touring and commuting in town and country.
Key Features:
Spend £250 or more at Tredz and you can spread the cost. Pay monthly over 6-48 months, interest free (dependent on repayment terms and amount).
1Fill your basket with everything you want from Tredz and go to the checkout.
2During checkout, select the finance option you want as your method of payment.
3You will be sent to our finance provider's secure server to complete your application.
4Finance provider V12 will use the information provided to make a decision and complete checkout if you are approved.Read more about buying on finance
Buy now, pay 12 months later.
Interest free credit with no deposit. Pay nothing for 3 or 6 months on orders over £850, or 12 months on orders over £1,500
Choose your deposit.
Choose your term.
Lowest monthly cost
per month
for 36 months
Best £0 deposit / 0% interest
per month
for 18 months
We are committed to offering fast and free delivery, whether you're ordering bikes, accessories or clothing. Our standard delivery service is FREE to mainland UK, regardless of the size and value.
Please note: bulky products and bikes shipped to outlying UK regions are excluded from free shipping - Click here for more info.
Christmas is one of the busiest time of year for us at Tredz. We will try our best to get your products delivered before Christmas. To help you, please see our last postage dates for first class and 24 hour courier services below:
Any order dispatched on the 22nd & 23rd December will be delivered between 28th December and 30th December.
Choose your delivery country:
It's easy to return a product with our 365 day, hassle free returns.
We will give you a full refund or exchange on any item that is returned to us unused/unfitted, in a resaleable condition and in its original packaging (where possible).
For hygiene reasons, we cannot accept returns of facemasks, undershorts or underwear if the item has been removed/unsealed from its original packaging.
For more information please visit our Returns & Warranty page.
Buy Now, Pay Later available on 12 months 0% finance on orders over £850. Find out more


text:
I've dyed my hair recently and my scalp has gotten very dry. The head and shoulders upto just beforehand had been working fine but now need something more effective to help my dry scalp. Could someone please recommend a good anti-dandruff shampoo? Thanks!
Hi, meant to reply sooner! t-gel was on special offer in super valu @ €3.80 so got that and it worked a treat! Should have bought 2 as it's back to normal price now!
Nioxin - smells fab n worked really well fir me. Abt €20 a bottle bu lasts ages
Thanks for replies, I'll have fab hair again soon hopefully!
I second T-Gel
T gel is brilliant if you're in a bad way. ... stinks but works! smells like tar as far as I remember! Made by neutrogena
Thank you so much, will try it!
Post Deleted Because: The OP deleted this post
www.RollerCoaster.ie - For the Ups & Downs of Pregnancy & Parenting
Copyright ©2000 - 2017 Rollercoaster.ie.
All content is copyright Rollercoaster.ie.
Reproduction of any part of the content in any form is prohibited.


text:
Discuss various Writing Styles?
There are various styles of writing. It depends upon the author how to present his ideas, feelings, and attitudes to the problems he has undertaken explore. Six types of essay writing are generally followed:
(i) Narrative writing – to relate or recount events i.e., story element, drama, dialogue, fictional writing. ;
(ii) Descriptive writing – to draw a wordscape, to give an account or describe an object process, situation, problem, etc.
(iii) Explanatory writing – to uncover details bringing out a composite picture of a situation or problem.
(iv) Argumentative or analytical writing to make a critical analysis of the materials and the problem; to develop a particular stand-point on a topic.
Scientific and technical writing – In this style of writing, a hypothesis or theory is investigated and applied which bring to some conclusion. The conclusion should be verifiable by other readers and writers.


text:
DOVER - Continuing a string of successes with the state's Community Block Grant Program, local officials announced receipt of another $400,000 grant from the state program at a Board of Aldermen meeting on Tuesday, Nov. 14.
Mayor Richard Newman said the grant is just one of several the town has recently been awarded and the money will be used to do drainage and street work on Richards Avenue.
In all, some 1.5 miles of Richards Avenue and some nearby side streets will be repaved next summer, according to the mayor.
The other money, too, will be used for infrastructure improvements, including helping lower-income residents make repairs to their homes, lighting on Blackwell Street and repair of a culvert on North Salem Street damaged by Hurricane Floyd two years ago.
The state block grant program provided another $200,000 as part of a continuing program to help people with lower incomes in areas given a special designation to do home repairs such as roofs. These areas are primarily residences around the downtown section.
Some $90,000 in the form of a state Department of Transportation grant will be used to extend the antique lighting replacement downtown further east on Blackwell Street.
Dover has been awarded several million dollars during the past decade.


text:
Jackie Joyner-Kersee
Ink and watercolor on 9″ x 12″ watercolor paper
The latest addition to the 'She Changed the World' collection!
Jacqueline 'Jackie' Joyner-Kersee (born 1962) has been named by Sports Illustrated as the Greatest Female Athlete of All Time. Her accomplishments speak to that, placing Silver at the 1984 Summer Olympics for the heptathlon, scoring over 7000 points at the 1986 Goodwill Games, placed Gold for both the heptathlon ( with the still-standing world record of 7,291 points) and the long jump at the 1988 Summer Olympics, earned another Gold at the 1992 Summer Olympics in the heptathlon, and amazingly won the heptathlon again at the 1998 Goodwill Games. That's A LOT.
In 1988 she formed the Jackie Joyner-Kersee Foundation, which provides athletic lessons and resources to improve quality of life for people and families of all ages in the East St Louis, IL area. In 2007 along with other athletic legends like Andre Agassi, Muhammad Ali, and Tony Hawk she helped found Athletes for Hope, a charitable organization which aids professional athletes to become involved in charitable causes and to promote non-athletes to volunteer and support their communities.


text:
Just a month ago, we learned that #Marvel and Hulu are working together to bring Marvel's Runaways to life! The catch is, Marvel TV has a lot of projects in the works, and often they seem to go very quiet. We've not heard anything about Cloak and Dagger since April, for example, and Damage Control doesn't seem to have gotten off the ground. So Marvel fans know to keep their ears to the ground for news before they get too excited about a series.
We finally got the news we were eagerly awaiting, when Tamara Becher — writer of Marvel's #IronFist — tweeted that she was beginning her next job, and included an image of the Runaways. ScreenRant spotted the tweet, and soon the news was starting to make its way across the Internet. In a fascinating twist, though, a check on Tamara Becher's Twitter will tell you that her informative tweet has now been deleted.
What Does This Tell Us?
We can safely assume that Tamara Becher didn't make this up, so we know that Marvel is making progress on Runaways. We also know it's only at the scripting stage, pretty much confirming that the show isn't going to release until 2017 at the very earliest. What we don't know, though, is whether or not Tamara Becher is working on the whole series or just the pilot.
The fact Becher deleted the tweet is also informative, suggesting that Marvel had intended to keep this under wraps. It makes me wonder about the status of other seemingly dormant Marvel properties; there may well be other writers at work on, say, Cloak and Dagger or New Warriors who knew better than to publicly Tweet about their involvement. So, this curious teaser gives us a new excitement for all Marvel's TV projects.
What Can We Expect From the Pilot?
The original Runaways comic was created by the legendary Brian K. Vaughan and Adrian Alphona back in 2003. The concept was simple: a bunch of kids discover that their parents are actually a gang of supervillains! It was a tremendously fun generational conflict, inverting the 'fear of youth' that's so familiar in modern culture.
The Runaways pilot will most likely give us the iconic origin of the team (fans would never forgive the series for using a different plot there). That origin necessarily sets up the pattern for the whole series, with the kids coming into conflict with their supervillain parents. That doesn't necessarily mean that further episodes will follow the classic comic book arc, of course, as it involves everything from a surprise betrayal (would that really be such a surprise if it's simply repeated on the screen?) to a deal with demons!
See also:
- Meet Cloak and Dagger - the Next Marvel Heroes!
- Marvel's Runaways are Coming to Hulu - But Who Are They?
- The Comic Book History of Marvel's Runaways!
Whatever the future may hold for Runaways, I think the most exciting takeaway from this is that Marvel's making progress on their TV slate. For a while now, the future of Marvel has been seeming to be on Netflix; I'm excited at the idea of greater tonal diversity across new, untested channels. Bring on the Runaways!
Are you excited for Marvel's Runaways? Let me know in the comments!


text:
- Please select a date to see the proper prices!
Description of the accommodation:
Rooms, services Pousada Castelinho Sao Sebastiao may be an ideal location for a trip or holiday in Brazil. The hotel is offering 15 comfortable rooms to guests looking for accommodation in São Sebastião. If you wish to learn more about the exact scope of services provided by Pousada Castelinho Sao Sebastiao (including any available for an extra fee), you will find them on the information sheet below.
Payment Depending on the selected date, room and price, you may need to provide credit card guarantee or advance bank card payment to finalize your reservation.
Arrival, opening hours The earliest check-in time is 18:00, the latest check-out time is 17:00. The personnel of the hotel can speak with you in Portuguese - Portugal and English languages.
Pousada Castelinho Sao Sebastiao rooms Rooms
- Please select a date to see the proper prices!
Accommodation services
- Pool (Outdoor - seasonally open)
Fridge, Microwave oven, Mini-bar


text:
Pat Summitt is the NCAA leader in career victories.
But Texas' Jody Conradt isn't far behind.
Texas, which has fallen out of the top 25 rankings, won its fourth straight game Sunday to give Conradt 879 career coaching victories, which ties her for second all-time (men's and women's basketball) with former North Carolina men's coach Dean Smith. Conradt's overall record in her 37th year on the sidelines stands at 879-284. Tennessee's Summitt surpassed Smith on March 22, 2005, to become the all-time leader in NCAA wins, and scored her 900th coaching victory Thursday.
Conradt was quick to thank Smith -- as well as her players and administration -- after Texas' 71-70 overtime win over Kansas State.
"When I took this job at Texas, there were no female role models in the game. One of my first purchases was to send $5 to Dean Smith and get a copy of his run and jump defense," Conradt said afterward. "That was the backbone for what we did defensively for a long time. I have a great deal of respect and admiration for what he's done for our game.
"So many terrific players and terrific people have been a part of this program. I am so lucky to represent a wonderful university and lucky to coach so many great individuals who are the real part of this."
Texas needed a double-double from senior Daria Mieloszynska, who notched the first of her career with 10 points and 10 rebounds, and an extra period for Conradt's historic win. Posting their 30th consecutive homecourt win against a Big 12 opponents. Mieloszynska and freshman guard Erika Arriaran combined to score eight of Texas' nine points in overtime, and Mieloszynska also had five rebounds in the five-minute period.
Last week, Conradt passed the late Adolph Rupp in No. 3 all-time victories when Texas defeated No. 24 Missouri (63-54) on Jan. 14. Rupp had a 876-190 career mark.
The Longhorns (10-6 overall) move into a tie for second-place in the Big 12 standings with a 4-2 mark.
"This team has fought so hard lately," Conradt said, "and I am happy for them that we've kept our position in the Big 12 with our recent wins."
Texas played the entire overtime Sunday without the services of Tiffany Jackson. The All-American juior forward led the Longhorns with team highs of 23 points, 14 rebounds and three steals -- her fourth double-double in a row -- before fouling out with seven seconds left in regulation.
In overtime, Texas led 69-68 with 1:21 to play. The Wildcats missed a jumper on their next trip down the court, with Mieloszynska grabbing the defensive rebound. Mieloszynska then missed a 3-point attempt, got her own rebound, missed a short jumper, got her own rebound a second time and was fouled. She then sank the second of two free throws to put Texas ahead, 70-68, with 28 seconds on the clock.
Kansas State had a chance to tie the score but was called for an offensive foul in the paint, turning the ball over to Texas, which shot just 36.3 percent but outrebounded the Wildcats 55-39.
"I am honored to play for a legend like [Conradt] and appreciate all the things she's contributed to women's basketball," Jackson said. "I am really excited for her. We all are. She deserves this."


text:
Latest posts
TRAI's spat with Apple over app access to messages and call logs
India's telecom regulator wants to bring its Do-Not-Disturb Android app to iOS, but a direct port of the app is not possible / August 22, 2017
Apple opens App Accelerator
Thoughts on Apple's App Accelerator that has just opened in Bangalore. / April 05, 2017
The Hide & Seek bug that led me to WebKit
While trying to debug a problem with Hide & Seek, I ended up fixing a bug in WebKit. / March 27, 2017
Sunsetting Bisect
The end of Bisect for iPad / October 31, 2016
Swifty Responder Chain
Trying to create a responder chain implementation in pure Swift / June 04, 2016
A dynamic foundation
In which I argue that Swift has a solid base on which to build dynamic features like Objective-C's. / May 25, 2016
Apple's prospects in India
In the Q2 2016 earnings call, Tim Cook fielded a question on India as a market for Apple. Here's me trying to add some context to his answer. / April 28, 2016
Thoughts on ads in App Store search
A recent report stated that Apple is considering ads in App Store search results. Here's a thought experiment on how it would work out if it came true. / April 23, 2016
Responding to TRAI on net neutrality in India
These are the comments on net neutrality that I submitted to the Telecom Regulatory Authority of India / January 07, 2016
On Overcast's new business model
Exploring Overcast's patronage-subscriptions-based revenue model / October 19, 2015


text:
Frequently your first contact with our new families is through a school event, whether it is a birthday party or a sporting event. Please introduce yourself and keep introducing yourself until you are given the all clear. Take the initiative to invite them to dinner or ask their children for a play date. Volunteer to drive with them to an away game. Explain to them the joys of working in Raider Joe's, helping with Big Flea, or being on the Gala committee. The sooner we incorporate a new family into our school, the sooner we have another committed member.
Our latest arrivals are not the only new people on campus this year. We have six new teachers, five of them in the Upper School and one in the Lower School. Many of you have already had a chance to meet them at Back to School Night, and they have all had a smooth transition into North Cross school life. That being said, every school has a different set of expectations and our teachers must adjust to ours. This may mean getting used to a different age group, transitioning from a public school to a private school, or teaching new courses for the first time. For us, it also means having a teacher do something different than what was done in past iterations of the same class. I am very happy with our new teachers and am pleased that you have welcomed them so warmly. They are working hard and can always use a kind word.
No new year begins without some really cool additions to our program. Sometimes these are huge, like Singapore Math or iPads, but equally important are the little things. I have fallen in love with the 100 books concept in the lower school and cannot wait to recognize our first students that complete all of them. Expanding our model United Nations so that we are attending not only Harvard, but also the University of Pennsylvania, shows the interest our students have in this program. And Betsy Cook's outdoors classroom is used almost daily.
It has been a great opening to the school year and it is not too late for you and your children to take full advantage of all that is new on our campus. As I enter my fifth year at North Cross, I am more confident than ever when I say there has never been a better time to be at North Cross.


text:
|Publication number
|Publication type
|Application number
|Publication date
|Nov 14, 2000
|Filing date
|Dec 29, 1995
|Priority date
|Dec 29, 1995
|Fee status
|Also published as
|Publication number
|Richard B. Whitner, Douglas P. Drees, William G. Golson
|Original Assignee
|Hewlett-Packard Company
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (13), Non-Patent Citations (4), Referenced by (53), Classifications (5), Legal Events (6)
|External Links: USPTO, USPTO Assignment, Espacenet
This invention generally relates to the system administration of a computer system, and more particularly, to a task manager system and method for creating and performing system management tasks on one or more computer systems.
The operating system of most computers provides an administration tool or a system administration manager for invoking and performing system management tasks. The hardware of a computer system, the various facilities included within the operating system, such as the file system facility, the print spooling facility, and the networking facility, as well as the operating system itself must all be managed. This predicament means that computer systems require some involvement by a human user or a manager of the computer system for such operations as specifying certain configuration parameters, monitoring ongoing activity, or troubleshooting some problem that has arisen. These management or administration tasks can be performed manually in many operating systems via direct manipulation of configuration files or direct invocation of specific administration utility programs. But in most modern operating systems, an easy to use, interactive software program is typically provided that hides the details of the file formats and the utility program syntax, while providing a higher level presentation for the user. This program, hereinafter referred to as the system administration manager (SAM), performs the query tasks on behalf of the user and then displays the discovered configuration and status information to the user in an easily manipulated format. The SAM also performs configuration or status change tasks on behalf of the user, and thus, provides an easy mechanism or interface for specifying the details of the task to be performed.
The query tasks retrieve information about the current configuration and state of the system or facility being managed. Configuration change tasks actually make changes to the configuration or state of the system or facility. These tasks are implemented as either separate utility programs (referred to in the UNIX industry as "commands") that are invoked by a command task manager or as a collection of functions contained in a shared library that are called by a function task manager. In addition, if the system or facility being managed is shared across multiple computer systems, some of these tasks must be performed on one or more of these computer systems simultaneously. This kind of distributed task would be performed by a remote task execution manager which communicates the task to be performed, with its associated parameters, to either a command task manager or a function task manager running on each of the other computer systems as appropriate.
In prior art implementations of the command task manager and function task manager on a single computer system, each task manager has its own application programming interface (API), task description language, and data structures. In addition, the support for such common features as error handling or event logging vary from manager to manager. These inconsistencies have led to numerous problems for developers of system management applications, four classes of which are discussed hereinafter.
A first and most obvious problem is programmer confusion. The different APIs and features have made the various task managers hard to learn, and therefore, have increased the training costs of software developers. This confusion is also the root cause of many programming errors.
A second class of problems is related to redundant implementations of similar functionality. This amounts to negligent use of the resources available to the SAM by requiring two sets of code to perform the same function implemented by separate facilities. Not only do these redundant implementations increase the initial cost of development, they also result in duplication in ongoing maintenance of the task managers, since similar changes or improvements have to be made in multiple places and in different ways.
A third class of problems is inconsistencies in the user interface from one task to another. The variation in task type invariably leads to variations in presentation to the user. This is undesirable since user interface inconsistencies are a leading cause of error and confusion for users.
And finally, the inconsistency between the command task manager and the function task manager have made it difficult to implement a remote task execution manager. Since the remote task execution manager must be able to communicate either with a command task manager or a function task manager on the remote computer system, depending upon the type of task being performed, any differences in the APIs of the two managers requires extra work in implementing the interface.
In the future, new technologies and protocols for both network and system management will lead to new ways to implement management tasks. Emerging standards will require new task execution managers that are uniquely configured to manage tasks implemented using those standards. Therefore, it is important to provide an extensible architecture for system management task execution to avoid any more proliferation of inconsistent APIs, description languages, and data structures.
Thus, a heretofore unaddressed need exists in the industry for a system and method that provides for all task execution management functions using a single interface and that is more extensible than existing implementations.
The present invention overcomes the inadequacies and deficiencies of the prior art as disclosed hereinbefore and as well known in the industry. The present invention provides for a task manager that can be employed as a part of a system administration manager (SAM) on a computer system. The task manager provides a simple and consistent interface for creating and performing management tasks, combining the features of the function task management, command task management, and remote or distributed task execution management. The task manager provides a single API for all task execution, a single task description language to specify the implementation of tasks, common shared functionality for such things as error handling, event logging, task description registration, and a command line interface. In the preferred embodiment, the present invention operates in conjunction with a task registration manager and a plurality of sub-managers including a command task manager, a function task manager, and a remote task execution manager.
A management task is defined for purposes of the present invention as an organized collection of one or more separate operations performed on a system or facility for purposes of retrieving configuration or status information from, or making configuration or status changes to, the system or facility. Each management task is identified by a string keyword identifier, defined in a task description file, and implemented as one or more callable functions in a shared library, as a command or script, or as an operation on a shared distributed resource. The target of a management task request can be the local computer system or host on which the task manager is currently installed and running and/or one or more remote computer systems.
Since all of the aforementioned features of the task manager are brought together under a single manager interface and the tasks are described in a common language, the architecture of task management is simpler and more efficient than that in the prior art because it can leverage the jobs performed by the various sub- managers.
In accordance with a feature of the present invention, remote tasks are described in platform independent terms, greatly facilitating the distributed execution of tasks in a heterogeneous environment. The tasks are uniquely identified not by how they are performed, but by a string identifier or name. Therefore, the implementation of a task on one computer system can be different than that on another and yet a single remote task execution manager can request the same task be performed on both regardless of the differences in implementation. Also, by implementing a single facility that brings together all of the task management features into one application program interface (API), the developer of the system management application that invokes these tasks need not know the implementation of the task being executed in order to perform the task. In addition, the implementation of any specific task can be changed from one type to another without requiring changes in the application program that invokes the task as long as the task interface (i.e., the number, type, and meaning of the parameters passed to the task) is unchanged.
In architecture, the task manager is configured in a computer memory as a set of instructions and shared data structures that can be shared among one or more system management application software programs and includes a single API that can be used to invoke one or more sub-managers. For purposes of illustrating the present invention, the sub-managers include a function task manager, a command task manager, and a remote task execution manager. A task registration manager and an abstract data access facility interact with the task manager in order to support its operation. When implementing the present invention as a program on a generic computer, the computer is reconfigured into a specific computer for operating in the manner described herein.
The present invention can be thought of as a portion of a software program comprising executable instructions (i.e., computer readable) encoded in a computer memory so as to cause the computer to function in the following manner. Initially, the task manager receives a request to perform a particular management task by a calling program. The task manager first obtains the task description for that task from the task registration manager. At essentially the same time, the task registration manager looks up and loads into memory any shared libraries necessary for the execution of the requested task. The task manager then creates and initializes a dynamic task state data structure into which all the information gathered by the task manager about the operation of the task, i.e., the task detail and its execution modes, is inserted. Next, the task manager determines whether the target of the task is the local host or a domain of hosts based upon either the task type or the parameters of the request. If the target is a domain, the task is sent to the remote task execution manager for execution. If the target is the local host, as is most often the case, the task manager determines whether the task is a command or function task and then sends the task to the appropriate sub-manager for execution. Upon completion of the execution of the task by the sub-manager, the dynamic state data structure is disposed of and the error status of the task and any resultant data is returned to the calling program.
Command tasks targeted at the local host are passed off to the command task manager where a command invocation string is created from a combination of the task description and data parameters passed off with the task. A separate process is then forked for executing the created command string via a POSIX shell. A post processor examines the post processing directives in the task description and processes the output objects (i.e., the output and error data and the command exit code) of the command per those directives. Lastly, the results are returned to the task manager.
Function tasks targeted at the local host are passed off to the function task manager where one or more (e.g., C language) functions are called. Presumably, these functions are configured as part of a shared library that is part of the system management application. However, these functions may be configured as part of the main software program (such as in those defined in a common set of generic utility tasks). This shared library will already be loaded as hereinbefore described. The function task manager, in the preferred embodiment, supports three function types: an init function, a perform function, and a cleanup function. The perform function must be specified in the task description and is the function that performs the actual task operations. The init and cleanup functions are optional and serve to initialize and then cleanup or dispose of data structures used during the performance of the task respectively. If an init function is specified, it is called first. The perform function specified in the task description is then called and the return code of that function is optionally processed by an exit processor. Finally, if a cleanup function is specified, it is called.
Alternatively, command or function tasks targeted at a domain of host or domain tasks are passed off to the remote task execution manager. Though the remote task execution manager is not the subject of the present invention, for purposes of disclosing and teaching the present invention, the remote task execution manager is briefly described herein. The remote task execution manager can be used either to execute a function or command task on some number of remote computer systems or to execute a domain task. It is assumed for purposes of the following discussions that the remote task execution manager (or domain task manager) is limited regarding the set of computer systems that can be the target of a remotely executed task. It is assumed for purposes of disclosing the present invention that the only domain supported are members of an NFS diskless cluster. The NFS diskless cluster is a set of computer systems that share a specific set of resources including a root file system server which uses the industry standard network file system protocol.
When a function or command task is passed off to the remote task execution manager, it determines the list of computer systems on which to execute the task by retrieving a list of members in the NFS diskless cluster of which the local computer is a member. It then uses a remote communication protocol over a computer network connection to invoke an agent software program on each of the target computer systems. It passes the task name and a copy of the passed in data parameters to each of these agent programs. Each agent program is configured to use the present invention to execute the task on the computer system on which it is running. When the present invention has completed the task execution and has returned its results to the agent, the agent passes the task results back to the originating remote task execution manager and then it exits. When all of the agent programs running on the target computer systems have returned their individual results, the remote task execution manager merges those results and returns them to the task manager.
When a domain task is passed of f to the remote task execution manager, information about this specific task, i.e., the passed in data parameters, are used to update a database that is used to manage shared resources across the NFS diskless cluster. This database stores the intent of the user of the SAM regarding which resources are to be shared and the attributes of the shared resources so that, at a later time when a new cluster client system is added to the cluster, the process of adding the new client to the cluster will include automatically configuring the new system to use these same shared resources. Domain task descriptions include specifications regarding how to update the shared resource database. Optionally, a remote task can also be specified. This task must be either a command or a function task. If a remote task is specified, after any database updates have been performed, the remote task is executed on all the clients of the cluster in the same manner as hereinbefore described for executing remote command or function tasks.
An advantage of the task manager system and method of the present invention is that they provide enhanced ability to support independent development of related system administration products. Particularly, there are fewer architectural components to document and manage. Further, the single management interface configuration is more consistent and more understandable than the prior art multi-interface configuration.
Another advantage of the task manager system and method of the present invention is that they provide access to all management task available on the host computer system. For example, tasks written for the core system administration product are accessible to other add on or optional system management applications that also use the task manager.
Another advantage of the task manager system and method of the present invention is that they perform common operations such as event logging, error handling, and shared library look up and loading.
Another advantage of the task manager system and method of the present invention is that they insulate the task consumer from underlying technology changes, e.g., new protocols and other new technologies, as SAMs evolve over time.
Other features and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention, as defined by the claims.
The present invention can be better understood with reference to the following drawings. The elements of the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Furthermore, like reference numerals designate corresponding parts throughout the several views.
FIG. 1 is a block diagram of a task manager in accordance with the present invention in the context of a computer system;
FIG. 2 is a block diagram of the command task manager of FIG. 1;
FIG. 3 is a block diagram of the function task manager of FIG. 1;
FIG. 4 is a block diagram of the remote task execution manger of FIG. 1;
FIG. 5 is a flowchart of the operation of the task manager of FIG. 1;
FIGS. 6A and 6B are flowcharts of the operation of the command task manager of FIG. 2;
FIG. 7 is a flowchart of the operation of the function task manager of FIG. 3; and
FIGS. 8A and 8B are flowcharts of the operation of the remote task execution manager of FIG. 2.
The following description is of the best presently contemplated mode of carrying out the present invention. This description is not to be taken in a limiting sense but is made merely for the purpose of describing the general principles of the invention. The scope of the invention should be determined by referencing the appended claims.
I. Architecture
A task manager in accordance with the present invention can be stored on any computer readable medium for use by or in connection with a computer related system or method. In the context of this document, a computer readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method.
FIG. 1 shows a block diagram of the computer hardware that includes a task manager 10 in accordance with the present invention. Shown in FIG. 1 is a computer system 12 that contains a processor 14. The processor 14 communicates with other elements within the computer system 12 via a system bus 16. An input device 18, for example, a keyboard or mouse, is used to input data from a user of the computer system 12, and a screen display device 20 is used to output data to the user. A memory 22 within the computer system 12 contains the task manager 10. The task manager 10 is preferably implemented as part of a system administration manager (SAM) 24, which communicates with a conventional operating system 26 to create and perform management tasks. When performing task management functions, the task manager 10 often receives data inputted by the user via input device 18 and returns data to the user via screen display device 20.
The task manager 10 includes a single management application program interface (API) 28 that interfaces with the sub-managers of task manager 10. The sub-managers of task manager 10 include a command task manager 30, a function task manager 32, and a remote task execution manager 34. Task registration is performed by a task registration manager 36 which includes a task registration database (now shown). An abstract data access facility API 38 is provided for enabling the task manager 10 to interface with a data access facility (not shown) in order to access and interact with data objects associated with a task.
A network interface 40 is provided to interface computer system 12 to a network 42 in order to enable remote, multi-host task execution on similarly configured computer systems.
The task manager 10 is essentially an engine for executing non-interactive system management services, i.e., management tasks. The task manager 10 combines the features of prior art SAM facilities in a single facility utilizing one API 28. Further, the task manager 10 provides shared facilities for performing error handling, automatic event logging, loading in of the task description object from the task registration manager, and passing off of the task execution to one of the sub-managers 30, 32 and 34.
By utilizing the single management API 28, the registration process for function, command, and domain task descriptions are combined into a single task description language, and thereby, simplify the operation of SAM 24. In addition, rolled into this single management API 28 are the aforementioned features and the ability to communicate with a remote task execution agent or a remote computer system. Further, the single API 28 results in a more supportable product over time, and results in size and performance savings in the operation of computer system 12.
FIG. 2 illustrates an architecture of the command task manager 30. A command task comprises a single command execution string to be executed, instructions for how to process the command's output and error data, and an exit code. In the command task manager 30, a fork and execution manager 44 prepares to run the task by first forking the process and then preparing the environment for the execution of the command. The command is actually executed in a POSIX shell 46 and the outputs STDOUT and STDERR, as are described in detail hereinafter, are stored in temporary files 48. A post processor 50 coordinates the post processing, such as processing of the output data STDOUT and STDERR by an output processor 52 and the exit code of the command by an exit processor 54. As shown in FIG. 2, command task manager 30 interacts with the data access facility API 38 to retrieve data values that are included in the command execution string and to place processed output and error information produced by the post processors 52, 54 back into the task data handle, as explained in detail below, for return to the caller, that is, the particular system management application calling the task.
FIG. 3 illustrates an architecture for the function task manager 32. A function task comprises a sequence of up to three functions found in a shared library 56 that are executed. The three functions are called the init, perform, and cleanup functions. The init function provides a place to do any special initialization necessary to the task. The cleanup function allows for the cleanup of allocated data structures based on the exit code of the perform function. The init and cleanup functions are optional. The real work is done by the perform function which actually executes the task. With reference to FIG. 3, the function task manager 32 calls the designated functions (e.g. init, perform or cleanup) located in an application shared library 56 previously loaded by the task manager 30. Upon completion of the perform function, the exit processor 54 performs the optional exit code processing based upon the exit code from the perform function. The exit processor 54 is the same exit processor utilized by the command task manager 30. Further, as with the command task manager 30, the function task manager 32 interacts with the data access facility API 38 in its operation for placing error information produced by the exit processor into the task data handle for return to the caller.
FIG. 4 illustrates an architecture for the remote task execution manager 34. In the remote task execution manager 34, a domain database manager 58 is provided to operate in conjunction with domain database 60 in order to provide the remote task execution manager with relevant information regarding the remote client systems comprising the domain of the present computer system 12, such as the lists of client systems in the domain. The domain database 60 includes such information as a list of client systems in the domain, a list of shared resources and a list of shared policies. The domain database manager 58 is utilized to consult or change the content of the domain database 60. The remote task execution manager 34 may invoke a remote task monitor 62, which in turn invokes a remote communication facility 64, or may directly invoke the remote communication facility 64. The remote task monitor 62 operates to display to the user, via the display device 20, the current status of the task at the remote systems, including such information as error conditions, timeouts, and task completion. The remote communication facility 64 provides a communication interface with each of the client system for such functions as transferring the task itself, transferring the task data handle, invoking a remote task execution agent 66, and receiving the task data handle back from the remote clients systems. As with the other sub-managers, the remote execution task manager 34 interacts with the data access facility API 38 in operation.
It should be noted at this point that, in the embodiment chosen for illustrating the present invention, the remote task execution manager 34 is limited to performing remote tasks only on the clients of an NFS (network file system) diskless cluster. The NFS is a de facto standard method and protocol for sharing file system access between multiple computer systems 12 that are interconnected with the computer network 42. Included in the NFS is the capability to support the operation of a diskless computer system or client. Such a client has no directly attached disks or file systems, and therefore, must perform all of its file system and related disk operations using the NFS. For purposes of the present disclosure, an NFS diskless cluster is defined as a set of computer systems that all share a single NFS server for diskless operation. The SAM 24 provides management applications that are able to manage various resources that are shared by all the members of such a cluster. The remote task execution manager 34 has implicit knowledge of the semantics of the NFS diskless cluster, including how to determine the set of computer systems 12 of which it is composed. Hereinafter, the term cluster client, or simply client, refers to a member of such an NFS diskless cluster, whether it be the server of the cluster or one of the diskless clients on the server. Also, the only domain of computer systems that can be specified as the target of a given task is either the local host on which the task manager is running or the set of clients in the NFS diskless cluster to which the local host belongs.
II. Operation
The architecture and functionality of task manager 10 can be implemented with a computer program comprising executable steps that cause the computer system 12 to function in a particular manner as described below. FIG. 5 shows a flowchart of the preferred operation and sequence of events for such a computer program implementing the task manager 10.
The operation of task manager 10 begins at block 72 when a request or call to create and perform a named task is received. There are essentially three circumstances under which such a request is received by the task manager 10. The first circumstance is when a function call entry is called by the SAM 24, because a SAM application directly calls for the operation of a particular task. The second circumstance is when a domain task calls for a remote execution agent to call the task manager 10 to perform a function or command task. The last circumstance is when an application script calls for operation of a task via a command line interface.
Regardless of the circumstance, where (i.e., on what host or hosts) the task implementation resides or the type of underlying task (e.g., function, command, or domain), the request is delivered to the task manager 10 via API 28. Each request includes the following parameters: a task identifier or name that uniquely identifies which task is to be performed; a pointer to a task data handle containing the input parameters for the task and the task outputs on return; a bit mask field used to control some runtime behaviors of the task manager; and a domain specification that specifies the target computer systems on which to perform the task. The task identifier is a character string that uniquely identifies the task so that it can be located by the task manager 10 via the task registration manager 36. Further, task execution instructions, i.e., the task description, are provided with the system management application and are registered with the task registration manager 36 at product installation.
Worth discussing at this point is the operation of the task registration manager 36 in relation to the operation of the task manager 10. Generally, a set of task description are shipped with a system management application product (i.e., a SAM or SAM like product) and are registered by the task registration manager 36 at product installation. The task descriptions for all products using the task manager 10 are registered in a central location within task registration manager 36. The central registration provides access for any application using task manager 10 for the full range of tasks registered by all such management applications. This registration process is also key to being able to perform remote tasks on potentially heterogeneous systems via the task manager 10. Presumably, equivalent task registration information will reside on each computer system 12 in the domain in which task manager 10 is associated. Installation of the product includes placing the task description files on the system and registering the task description files with the task registration manager 36. Accordingly, at runtime, the task registration manager 36 makes the task description available to the task manager 10 for executing the task.
The task data handle is an opaque (to the task manager) container data structure that is used to pass to the task manager 10 the input parameters needed by the task and to return results produced by the task to the caller. This data structure is opaque in that the task manager 10 itself is unable to directly interpret or manipulate its contents. Instead, the task manager 10 must use the functionality of the data access facility to obtain data values from the handle and to place data values into the handle. The data access facility allows these task data handles to contain a wide variety of structured information that can be tagged with identifiers for easy reference. All of the data values obtained by the task manager 10 via the data access facility are referenced by a string identifier that uniquely specifies the data object in the handle to use and what field or attribute value of that object to obtain.
Most of the data object classes that can be placed into a task data handle are defined by the system management application. However, there are a few built in classes that are generally applicable. The "list" class can be used to create ordered lists of objects of some other class. These lists are often used to return identical attribute information about some number of manageable objects of a specific class, such as printers or disk drives. The "string" and "int" classes define objects with a single attribute that can contain either a character string value or an integer numeric value, respectively. Finally there is an "error" class that defines an error object that contains attribute fields used to describe specific error conditions that might occur during execution of a task. The task manager 10 uses the "list" and "error" classes to create and/or use a list of error objects in the task data handle to pass information about one or more error conditions back to the caller for display to the user. The task manager 10 is configured to so rely on the data access facility so that it can be easily modified to support the many difference forms of object oriented data structures used in the industry.
A bit mask field is used to control some of the actions of the task manager 10 or the sub-managers 30, 32, 34 that need to vary from one invocation to another. Currently, there are three attributes defined by the bit mask field parameter: error object initialization, remote task execution monitoring, and the return data mode for multi host task execution. As already described, the task manager 10 is able to determine the presence of objects in the task data handle and to create new objects and place them into the handle. The error object initialization mode specified in the bit mask field specifies the rules for the task manager 10 to follow regarding the initialization of the list of error objects in the handle as previously described. The remote task execution monitoring mode indicates whether an interactive, non-interactive, or custom monitor is to be used to monitor the execution of tasks on remote systems. The return data mode indicates whether task data that results from the execution of tasks on one or more remote computer systems is to be returned from the task manager to the caller.
The domain parameter specifies which computer system on which to perform the task. By default, if the domain parameter is set to a null value, function and command tasks have a "local" domain. That is, the only computer system 12 or host on which the task is executed is the one on which the task manager 10 is currently installed and running. Similarly, domain tasks have a "cluster" domain which indicates all the computer systems or hosts that are clients of the NFS diskless cluster to which the local host belongs.
Referring back to FIG. 5, once a task request has been received, block 74 obtains from the task registration manager 36 a pointer to the task description. The task description includes such information as the type of task (e.g., function or command), the code to invoke (e.g., command string or function names), how to process the data, what log information to generate, and how to handle error conditions. In addition to obtaining this information from the task registration manager 36, the task registration manager 36 simultaneously loads any shared library specified in the task description for the operation of that specific task.
Next, block 76 uses the task description to determine whether the task has a data statement. This statement is used to specify objects that must be in the task data handle for correct execution of the task. Typically, this statement is used to guarantee the existence in the handle of one or more lists of a specific type or types so that later, when an output post processor is parsing the STDOUT or STDERR output of a command, the list or lists can be populated with objects containing the parsed information about multiple instances of some managed object. If a data statement is found, then block 78 uses the data access facility via the data access facility API 38 to determine if objects of the specified classes and identifiers are already in the handle. If any specified data objects are not found in the handle, then empty instances are created and placed into the handle.
Block 80 then initializes a dynamic task state object for this specific invocation of the task manager 10. The dynamic state object includes a variety of information such as the runtime attributes specified in the bit mask field parameter, internal values used by one or more sub-managers in their operation, and task variables such as the task identifier, the task description, the task exit code, and the contents of STDOUT or STDERR for command tasks. This dynamic state object is then placed on a push down stack to enable the task manager API 28 to be reentrant. Subsequently, in block 82, the description string of the task is expanded, substituting defined fields in the description string with information obtained from the task data handle. This expanded description is placed in the dynamic task state object and is automatically logged by the task manager 10.
If a domain is specified by the caller, then block 84 transfers to block 86 where the domain is set up as specified by the caller. If a domain is not specified, block 84 transfers to block 88 where the domain of the task is set to the local host or to the cluster domain based on the task requested. Once the domain has been set by either block 86 or 88, block 90 determines if the set domain is local host or the cluster domain. If the domain is the cluster domain, then block 90 transfers to module 98 where the remote task execution manager 34 is called, and the task is executed.
If, at block 90, it is determined that the domain is the local host, then block 90 transfers to block 92 where it is determined whether the task is a command or function task. If the task is found to be a command task, then block 92 transfers to module 94 where the command task manager 30 is called and the command task is executed. If it is a function task, then block 92 transfers to module 96 where the function task manager 32 is called and the function task is executed.
At the completion of any one of the modules 94, 96 or 98, block 100 cleans up the dynamic state object and block 102 returns the summary exit code to SAM 24.
The following description is directed to illustrating the utility and functionality of each of the modules 94, 96 and 98 described above. A flowchart of an embodiment of each particular module is provided at the Figure number within the box of the modules in FIG. 5.
A. Command Task Manager
With reference to FIG. 6A, upon entering the command task manager 30, the command task manager initially receives task information as indicated at block 112. The task information includes the pointer to the task description, a pointer to the dynamic task state object, and a pointer to the task data handle. Block 114 then creates and opens temporary output files using unique file names. These temporary output files will later be designated as STDOUT and STDERR for the child process described below. Next, block 116 expands the command string of the task description and logs it. The process of command string expansion is a process of parsing the string in the task description, placing literal string information into the expanded string, and replacing any data field references with data values found in the task data handle, such data values being input parameters to the task.
In order to run the command while the present process is ongoing, the process is forked into a parent process and a child process at block 118. This essentially enables two separate execution sequences to operate, and hence, simultaneous processing. The child process is assigned a process identification at block 120 and the child process is transferred from block 120 to block 122 where the temporary files created by block 114 are set up as STDERR and STDOUT for the child process. Next, the environment variables, i.e., command path and locale variables, are set up in the child process by block 124. This essentially sets up the environment for running the command task. Block 126 then executes a POSIX shell with the command string. The POSIX shell is a command interpreter that interprets the command string and performs the steps therein. Once all the command steps have been completed, the child process exits at block 128.
At substantially the same time, block 130 of the parent process is awaiting for the child process to exit, while periodically refreshing the screen. At the death of the child process, block 130 transfers to block 132 where any system errors are detected. This step essentially determines whether the child process died for expected reasons or whether the reasons were unexpected so as to call for special action to be taken. System errors usually result from problems in the environment in which the SAM 24 is operating, i.e., insufficient memory or disk space. These types of errors can usually be avoided by explicit steps taken by the user, and therefore, should be addressed immediately. Accordingly, block 134 determines if there were any system errors, and if so, transfers to block 136. If no system errors are found, then block 134 transfers to block 138.
Referring now to FIG. 6B, if a processing error is found by block 134 (FIG. 6A), block 134 transfers to block 136 which transfers to block 150 where the command task manager adds an error object to the list in the task data handle previously described, and then returns an error exit code to the task manager 10, ending the operation of command task manager 30. The error object describes the specific system error and its contents can be used to display an appropriate message to the user via display device 20. If no system errors are found by block 134, the process proceeds to block 138 which transfers to block 140. At block 140, the first post process specification is obtained for processing.
The post processing specifications are all optional. There are three types of post processing specifications for a command task: STDERR, STDOUT and exit code. If the post process specification is either for STDERR or STDOUT, command output processing steps are performed in which the output data is parsed and written out. If the post process specification is for the exit code, then exit code processing is performed as designated in the exit processing specification of the task description. There can be at most three post process specifications in a command task description, and only one of each type. The order in which these steps are performed is specified in the task description.
Block 142 determines whether all the post process specifications have been processed. If all the post processing specifications have not been processed, then block 142 transfers to block 144 where it is determined if the next post process specification is an exit code specification or an output specification. If it is an exit code specification, then block 144 transfers to block 146 where the exit code post process specification is processed. Block 146 then transfers to block 148 where it is determined if the command task manager 30 should exit at that point, as determined in processing the exit code. If so, block 148 transfers to block 150 where the exit code of the command, optionally modified by an exit code post processing specification, is returned to the task manager 10. If block 148 determines not to exit, then it transfers to block 162 where the next post process specification is obtained. Block 162 then transfers back to block 142 where, as previously discussed, it is determined if all the post processing specifications have been processed. If there are no more post process specifications to process, then block 142 transfers to 150 which returns the exit code to the task manager 10 as previously discussed.
If, alternatively, block 144 determines that the post processing specification is an output specification, then block 144 transfers to block 152 where it is determined if the specification is for STDERR or STDOUT. The POSIX shell of the child process is able to nominally produce two separate streams of output information from the commands it executes and these streams are called standard output (or STDOUT) and standard error (or STDERR). The standard output stream contains the expected output information from the executed command(s). If the command is a query like command, then the information it has gathered is returned on the standard output stream. The standard error stream typically contains any error messages produced by the command(s) executed. Often the standard error stream is empty but in some instances errors can occur that produce informational messages on the standard error stream. The output post processor can be configured by a post processing specification to filter or parse either STDOUT or STDERR and transfer the result to a few selected destinations, such as the following: output fields in the task data handle for return to the caller, a message displayed directly to the user, a specific named file, or the log file. If the specification is for STDOUT, then block 152 transfers to block 154 where the STDOUT output is filtered and parsed, and then transfers to block 156 where the result is written out to one of the specified destinations. From block 156, the process continues at block 162 where the next post process object is obtained. If block 152 determines the specification is for STDERR, then block 152 transfers to block 158 where the STDERR output is filtered and parsed, and then transfers to block 160 where the result is written out to a specified destination. From block 160, the process continues to block 162 where the next post process specification is obtained. Once all that post process specifications have been processed, block 142 transfers to block 150 as previously discussed.
B. Function Task Manager
With reference to FIG. 7, upon entering the function task manager 32, block 164 obtains the function task description. Block 166 then determines if an init function is specified in the task description. If an init function is specified, block 168 calls and executes the init function. If the init function fails, block 170 transfers to block 184 which returns the exit code from the init function to the task manager 10. If no init function is specified, block 166 transfers to block 172 where a perform function is called. In addition, if there was an init function which did not fail, the process transfers from block 170 to block 172.
At block 172, the perform function is called and executed. The perform function may include several nested tasks requiring reentry into task manager 10 for execution of the nested task. During this process, the push down stack of dynamic state objects keeps track of the nested tasks so that at the end of each task the task manager state returns to the appropriate previous state. At the completion of the perform function, block 172 transfers to block 174.
Block 174 determines whether an exit post processing specification is in the task description. If an exit post processing specification is found, then block 174 transfers to block 176 where the exit code of the perform function is processed per that specification. Upon completion of the processing of the exit specification, block 176 transfers to block 178 where it is determined if the task is to exit at this point as determined by the exit code post processing specification. If the process is to exit at this point, then block 178 transfers to block 184 which returns the perform function exit code, optionally modified by the exit code processing, to the task manager 10. Note, as mentioned above, the optional exit code processing performed here is identical to that which can be specified for command tasks. If the process is not to exit at this point, then block 178 transfers to block 180. Likewise, if there was not an exit post process object specified, block 174 similarly transfers to block 180.
Block 180 determines if any cleanup function is specified, and if so, transfers to block 182 where the cleanup function is called and executed. If no cleanup function is specified, then block 180 transfers to block 184 which returns the perform function exit code, optionally modified by any exit code processing, to the task manager 10. If a cleanup function was called in block in 182, upon completion of the cleanup function, then block 182 transfers to 184 which returns the exit code of the cleanup function to the task manager 10. Note, as evidenced above, the init and cleanup functions do not have to be designated, but a perform function must be designated in the task description.
C. Remote Task Execution Manager
With reference to FIGS. 8A-8B, upon entering the remote task execution manager 34, block 186 opens the domain database 60 (FIG. 4), and obtains a lock on it to prevent problems with task managers operating on other systems in the domain. It then creates a domain object from the list of client systems in the database. Block 188 determines if the task is a domain task or a command or function task. If the task is a domain task, then block 190 obtains the domain task description. Block 192 performs any queries or updates on the domain database per the task description by either placing information in or using information from the task data handle. Block 194 determines if the task description specifies a remote task to be performed. If there is no specified remote task, then the process transfers to block 196 which closes the domain database. The process then transfers to block 198 which returns a summary exit code to the task manager 10.
Alternatively, if a remote task is specified, then block 194 transfers instead to block 200 which excludes from the list of clients in the domain object those clients which have not responded to previous remote tasks during the current session. Block 202 excludes from the list of remote clients those which have yet to actually join the NFS diskless cluster by booting up as a member of the cluster. Block 204 then writes out all modifications performed on the domain database so that the database files are current. This operation is done so that when the remote clients are performing the specified task, the task managers operating on those remote systems have access to all the latest updated information.
The database operations being completed, the process transfers to block 206 and then on to block 208. Block 208 creates the command invocation string that will be used to invoke the remote execution agent 66 (FIG. 4) on the remote client systems. Block 210 determines the values for various timeouts associated with the remote communication protocol such as the connection timeout or the agent invocation timeout. These timeouts are necessary to prevent the remote task execution manager from waiting forever for a remote client to perform a task in cases where some network or system error prevents the remote execution agent from properly returning results.
Then block 212 determines, based upon the task dynamic state object, whether to invoke the remote task monitor 62 (FIG. 4) or whether to directly call the remote communication facility 64 (FIG. 4). If it determines not to invoke the remote task monitor 62, then the process transfers to block 214 which initializes the remote communication protocol. Block 216 is the beginning of a processing loop which transmits the task and the task data handle to the remote systems, invokes the remote execution agent 66 using the invocation string previously described, and monitors the progress of the remote tasks checking for error conditions, timeouts, and task completion. Block 218 decides whether there are still any remote tasks still in progress, and if so, transfers back to block 216 to continue the waiting and monitoring. If instead, all the remote execution agents have completed, or, alternatively have timed out or failed, then block 218 transfers to block 220 which closes the remote communication protocol, disposing of any allocated data structures and generally cleaning up. As part of this block, the results of the task execution on each of the remote clients in the domain object are written to the log.
Finally, the process transfers to block 222 and then on to blocks 196 and 198 (FIG. 8A) which, as previously stated, close the domain database and return the summary exit code to the task manager 10. If block 212 (FIG. 8B) determines instead to use the remote task monitor 62, then it transfers to block 224. Block 224 performs the same steps as are performed by blocks 214 through 220, but it also displays to the user, via the display device 20, a screen that shows the ongoing progress of each of the remote clients. It has a processing loop similar to blocks 216 and 218 that also updates the display screen as remote clients either complete the task or fail in some way. Similarly, when all the remote clients in the domain object have either completed the task or have failed, the process transfers to block 222 and then on to blocks 196 and 198, as previously described. The summary exit code returned by block 198 is determined based upon whether all the remote clients succeeded or whether some failed. In addition, block 198 coalesces the data returned on the task data handles from all of the remote clients into the single task data handle originally passed to the task manager according to the return data mode field in the task dynamic state object.
In concluding the detailed description, it should be noted that it will be obvious to those skilled in the art that many variations and modifications may be made to the preferred embodiment without substantially departing from the principles of the invention. All such variations and modifications are intended to be included herein within the scope of the present invention, as set forth in the following claims. Further, in the claims hereafter, the structures, materials, acts, and equivalents of all means or step plus function elements are intended to include any structures, materials, or acts for performing the recited functions.
|Cited Patent
|Filing date
|Publication date
|Dec 30, 1974
|Feb 22, 1977
|International Business Machines Corporation
|Modular branch exchange and nodal access units for multiple access systems
|Feb 5, 1980
|Oct 26, 1982
|The Bendix Corporation
|Fault-tolerant multi-computer system
|Dec 29, 1988
|Aug 14, 1990
|International Business Machines Corporation
|Expert system architecture
|Jul 18, 1990
|Jan 12, 1993
|International Business Machines Corporation
|User interface customization apparatus
|Jul 27, 1989
|Feb 16, 1993
|Teknekron Software Systems, Inc.
|Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
|Oct 7, 1992
|Jan 4, 1994
|International Business Machines Corporation
|Method and system for task memory management in a multi-tasking data processing system
|Oct 30, 1992
|Jul 12, 1994
|Software Ag
|Cooperative processing interface and communication broker for heterogeneous computing environments
|Dec 21, 1993
|Oct 11, 1994
|International Business Machines Corporation
|Method for adaptively building a library of program threads
|Feb 23, 1993
|Nov 22, 1994
|International Business Machines Corporation
|Editing compressed and decompressed voice information simultaneously
|Oct 13, 1992
|Aug 8, 1995
|Chen; Fetchi
|System and method for managing devices on multiple digital signal processors
|Feb 16, 1993
|Aug 22, 1995
|Bei Electronics, Inc.
|Frangible armor piercing incendiary projectile
|Jun 17, 1994
|Dec 12, 1995
|Digital Equipment Corporation
|Distributed configuration profile for computing system
|Nov 28, 1994
|Jun 25, 1996
|Hewlett-Packard Company
|Process enaction and tool integration via a task oriented paradigm
|"An Introduction to Operating System", Harvey M. Deitel, Addison--Wesley Publishing Company. pp. 573-575.
|An Introduction to Operating System , Harvey M. Deitel, Addison Wesley Publishing Company. pp. 573 575.
|Harvey, Deitel, An Introduction to Operating Systems, Addison Welsey Publishing Company, pp. 573 575, Feb. 1990.
|Harvey, Deitel, An Introduction to Operating Systems, Addison-Welsey Publishing Company, pp. 573-575, Feb. 1990.
|Citing Patent
|Filing date
|Publication date
|May 19, 1999
|Aug 21, 2001
|International Business Machines Corporation
|Event-driven communications interface for logically-partitioned computer
|May 19, 1999
|Oct 15, 2002
|International Business Machines Corporation
|Processor reset generated via memory access interrupt
|Oct 23, 2000
|Oct 22, 2002
|Hewlett Packard Company
|System and method for managing the execution of system management tasks
|May 20, 1999
|Feb 18, 2003
|Bmc Software, Inc.
|System and method for integrating a plurality of disparate database utilities into a single graphical user interface
|May 19, 1999
|Jan 20, 2004
|International Business Machines Corporation
|Apparatus and method for specifying maximum interactive performance in a logical partition of a computer system independently from the maximum interactive performance in other partitions
|Aug 20, 1999
|Feb 10, 2004
|Fuji Photo Film Co., Ltd.
|Method and apparatus for image processing
|May 19, 1999
|Feb 10, 2004
|International Business Machines Corporation
|Logical partition manager and method
|May 10, 1999
|Aug 23, 2005
|Robert Zeidman
|Visual tool for developing real time task management code
|May 18, 2001
|Sep 20, 2005
|Canon Kabushiki Kaisha
|Network control apparatus and method
|May 19, 1999
|Oct 25, 2005
|International Business Machines Corporation
|Management of a concurrent use license in a logically-partitioned computer
|Dec 10, 1999
|Nov 29, 2005
|Sun Microsystems, Inc.
|System and method for separating addresses from the delivery scheme in a virtual private network
|Mar 20, 2001
|May 2, 2006
|Hewlett-Packard Development Company, L.P.
|Method and system for executing tools in a service control manager module
|Nov 9, 2000
|Sep 12, 2006
|International Business Machines Corporation
|Data processing system and method for distributing a device driver to a plurality of client computer systems each executing different operating systems
|Dec 24, 2002
|May 12, 2009
|International Business Machines Corporation
|Method for delegation of administrative operations in user enrollment tasks
|Aug 11, 2005
|Mar 23, 2010
|Sun Microsystems, Inc.
|System and method for separating addresses from the delivery scheme in a virtual private network
|Feb 15, 2005
|Apr 6, 2010
|Bea Systems, Inc.
|Composite task framework
|Jul 12, 2004
|Apr 20, 2010
|Computer Associates Think, Inc.
|Modified auto remote agent for job scheduling and management applications
|Dec 10, 1999
|Jul 27, 2010
|Oracle America, Inc.
|System and method for enabling scalable security in a virtual private network
|Nov 4, 2008
|Nov 2, 2010
|International Business Machines Corporation
|Method and apparatus for supporting shared library text replication across a fork system call
|Jun 6, 2006
|Apr 26, 2011
|International Business Machines Corporation
|Adapting command line interface messaging in a virtual operating system environment
|Aug 12, 2011
|Apr 24, 2012
|Gary Odom
|Distributed multiple-tier task allocation
|Mar 16, 2012
|Mar 4, 2014
|Gary Odom
|Distributed multiple-tier task allocation
|Mar 11, 2010
|Mar 17, 2015
|The Mathworks, Inc.
|Verification harness for automatically generating a text-based representation of a graphical model
|Nov 19, 2012
|Jun 2, 2015
|Oracle Internation Corporation
|Composite task framework
|Mar 3, 2014
|Jul 21, 2015
|Coho Licensing LLC
|Distributed multiple-tier task allocation
|Mar 31, 2011
|Feb 23, 2016
|Nvidia Corporation
|API for launching work on a processor
|Apr 22, 2010
|Mar 22, 2016
|The Mathworks, Inc.
|Automatic comparison and performance analysis between different implementations
|Dec 29, 2005
|Apr 19, 2016
|The Mathworks, Inc.
|Automatic comparison and performance analysis between different implementations
|Apr 22, 2010
|Apr 19, 2016
|The Mathworks, Inc.
|Automatic comparison and performance analysis between different implementations
|Oct 11, 2013
|Nov 15, 2016
|Sri International
|Polymorphic virtual appliance rule set
|Aug 20, 2013
|Sep 12, 2017
|Lg Electronics Inc.
|Method and apparatus for transmitting a response to a command in wireless communication system
|Mar 15, 2013
|Nov 7, 2017
|Rackspace Us, Inc.
|Methods and systems of monitoring failures in a distributed network system
|May 18, 2001
|Nov 22, 2001
|Masahiro Nishio
|Network control apparatus and method
|Apr 23, 2001
|Oct 24, 2002
|Sun Microsystems, Inc.
|System and method for extending private networks onto public infrastructure using supernets
|Mar 20, 2001
|Nov 28, 2002
|Lister Terence E.
|Service control manager tool execution
|Jul 15, 2002
|Feb 13, 2003
|Neal Pawar
|System and method for managing networks using local intelligent agents
|Dec 5, 2001
|Jun 5, 2003
|International Business Machines Corporation
|Command script instrumentation for logging command execution and the protection of sensitive information
|Oct 12, 2001
|Mar 11, 2004
|Allison David S.
|Method and apparatus for communication to threads of control through streams
|Dec 24, 2002
|Jun 24, 2004
|International Business Machines Corporation
|Delegation of administrative operations in user enrollment tasks
|Jul 12, 2004
|Jan 27, 2005
|Davis Bradford C.
|Modified auto remote agent for job scheduling and management applications
|Aug 11, 2005
|Apr 13, 2006
|Sun Microsystems, Inc.
|System and method for separating addresses from the delivery scheme in a virtual private network
|Feb 15, 2005
|Aug 17, 2006
|Bea Systems, Inc.
|Composite task framework
|Jun 6, 2006
|Dec 6, 2007
|Anderson Ray W
|System and method for adapting command line interface messaging in a virtual operating system environment
|Mar 8, 2007
|Jan 3, 2008
|Kimihide Kureya
|Management server and server system
|Nov 4, 2008
|Feb 26, 2009
|International Business Machines Corporation
|Method and Apparatus for Supporting Shared Library Text Replication Across a Fork System Call
|Jun 11, 2008
|Oct 1, 2009
|Jatho Investments
|Software appliance framework
|Mar 31, 2011
|Oct 6, 2011
|Farrar Timothy Paul Lottes
|API For Launching Work On a Processor
|Aug 31, 2011
|Dec 22, 2011
|Microsoft Corporation
|Quick deploy of content
|Mar 15, 2013
|Jul 31, 2014
|Rackspace Us, Inc.
|Methods and Systems of Monitoring Failures in a Distributed Network System
|Oct 11, 2013
|Dec 25, 2014
|Sri International
|Polymorphic virtual appliance rule set
|Aug 20, 2013
|Jul 2, 2015
|Lg Electronics Inc.
|Method and apparatus for transmitting a response to a command in wireless communication system
|Dec 1, 2009
|Jul 25, 2012
|Device and method for realizing shielding of different working flow products
|Jul 15, 2002
|Jan 23, 2003
|Cadessa, L.L.C.
|System and method for managing networks using local intelligent agents
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification
|Jan 16, 2001
Owner name: HEWLETT-PACKARD COMPANY, COLORADO
Free format text: MERGER;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:011523/0469
Effective date: 19980520
|Oct 22, 2002
|Certificate of correction
|May 14, 2004
|Fee payment
Year of fee payment: 4
|May 14, 2008
|Fee payment
Year of fee payment: 8
|Sep 22, 2011
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:026945/0699
Effective date: 20030131
|May 14, 2012
|Fee payment
Year of fee payment: 12


text:
NQC 2012: Open Thread
NQC '12 kicked off today with the announcement that this is the next to last year for the festivities in Louisville. In 2014*, NQC will be moving to Pigeon Forge. Goodbye to all that, indeed.
More on this later, but my initial reaction is A)getting to Pigeon Forge is going to be a lot more difficult than flying into Louisville and B)too bad they didn't move it to Dollywood, since, like Dolly, the NQC takes a lot of money to look that cheap.
The floor is yours. Let us know how this almost last year in Louisville is going.
* corrected from beforeEmail this Post