text:
TJEd & COLLEGE PART II "Titanic Education"
June 1st, 2015 // 6:04 pm @ Oliver DeMille
(To read TJEd & College Part I, click here)
Needing Greatness
Higher education is incredibly important for today's rising generations. As the middle class dwindles and the divide between the affluent and others widens, many of the old education/career options are becoming less viable. Today's parents and young people simply must understand what is changing and how it affects them, or they will likely fall behind.
To understand what is happening, we need to step back and look at today's education/career economy for what it actually is, not what it was twenty or thirty, or even ten years ago. Consider the following:
1-For most people in our current world higher education has become "hire" education. The idea of colleges as the place of truly great leadership education for our future community, national, business and cultural leaders has been almost entirely replaced with another view: college as career training, period. There are, of course, pros and cons to this change.
2-College majors that train for careers certainly have an important place in a successful society, but now even "hire" education is experiencing widespread and increasing mediocrity. When over half of recent college grads find themselves jobless and need to move back in with their parents, the economic reality has clearly been altered.
3-Some have argued that we should stop promoting higher education to most youth and instead emphasize tech training or simplified community college requirements with direct career prep rather than broad education. But this path will only hurt our nation. We don't need such anti-college views to spread. Quite the contrary. We very much need "great" college views to spread. We need a lot more anti-mediocrity (and truly "great" higher education) views to go far and wide.
4-This is more than just philosophy. It has a direct economic impact on young people and their careers.
Let's spend some time understanding how this all shakes out. First, a seismic shift is occurring in the economy, though not everyone realizes it yet. Specifically, in 2009 the United States had 18% of the world's middle class, but it is on pace to have only 7% by 2030. ("Globalization Bites Back," The Atlantic, May 2015) This is causing some big changes. It also has important ramifications for what kind of education we should be providing for our youth right now.
How does this apply to your family? Let's start from the beginning.
There is much more to this article – including where the American standard of living came from and where it's heading; where today's parents and youth should be looking for education and jobs; why education is sinking and how to fix it; and more!
Click here to continue reading >>
TJEd & College PART I: A Report on the Growing Importance of Higher Education
May 19th, 2015 // 6:40 am @ Oliver DeMille
The Divide
A college-level education is increasingly important in the new economy. Higher education has long created a significant divide between the "haves" and "have nots," and by all indications this trend will intensify for the next three decades.
The gap between the affluent (we'll call this the A Economy) and the middle class (the M Economy) is growing, and higher education is one of the clearest differences between these groups. The ranks of the lower classes (the R Economy—with R standing for "Risk") are swelling, as more in the middle class find themselves caught in high debt and paycheck-to-paycheck living. Again, higher education marks the divide between those in the A Economy and almost everyone else.
Moreover, as North Americans compete for well-paying jobs and economic success in an increasingly global marketplace, the old system of "college degree = secure job with good benefits" no longer holds. Fewer graduates are able to maintain their parents' lifestyle, and the middle class is dwindling.
As a result, those in the Middle Economy are left with a choice: rise to the Affluent Economy or join the Risk Economy. With career opportunities increasingly elusive for young people in this environment (in both North America and Europe), higher education has become even more important.
There is much more to this article – including where the different classes are heading; various ways of getting a great education; finding where to get your college-level education; and more!
Category : Aristocracy &Blog &Business &Citizenship &Community &Education &Entrepreneurship &Prosperity
Will College Get in the Way of Your Kids' Education?
April 28th, 2015 // 4:05 pm @ Oliver DeMille
Will College Get in the Way of Your Kids' Education?
What a controversial question!
In fact, it's downright politically incorrect. For many in the current generation of parents, this is akin to cultural heresy. But let's think about it. The top colleges depend on the SAT, or in a few cases, the ACT, and later, once students are accepted and enrolled, these schools frequently employ multiple-choice exams of the same ilk.
If such testing is our national educational scoreboard—and it is—we have a problem. As you know if you've read my articles on "Homeschooling and Testing: Parts I and Part II" I'm not a real fan of the multiple-choice test as our national standard.
Actually, I readily embrace multiple-choice exams as one part of a student's learning experience, along with essay exams, papers and projects as exams, oral exams, stand-and-show exams, and other types of testing that allow each student to truly demonstrate what he or she has learned, understands, and can do with the knowledge. But I'm against a one-size-fits all approach to testing (or to education itself, for that matter).
Like Rachel Lynde teaches in Anne of Green Gables, people who have never been parents usually think that there is one good way to parent—but people who have had children know that there is truly a different right way to parent for each child. People truly are different. This lesson is essential, and our modern testing system forgets about it.
That's bad for our nation and our future.
So, yes, I'm opposed to the way many modern classrooms teach to the standardized multiple-choice tests instead of teaching to the student. Each student's learning should be individualized, personalized, and guided by one or more caring, committed mentors.
Education Job Training
Ideal? Yes! And that's what our children deserve. Every single one of them. Why would we settle for anything less than the highest ideals in something as important as the education of our children and grandchildren?
Shame on anyone who suggests anything less than the ideal!
When I see a nation that calls itself a meritocracy but whose highest court, presidency, and a disproportional number of top corporate leaders only come from the Ivy League—at least for the past two decades—and, to get into the League requires high scores on standardized multiple-choice tests, I shake my head. It's a serious problem.
Why? Because such a system is not a meritocracy at all. There many statistics about making more money in life after graduating from a top school, and about making more if you've finished college, but there is one that really stands out. Most people don't know about it, but it's true. The statistics are clear: on average, the richer the family of the student who takes the SAT, the better the student scores. (Leon Botstein, TIME, March 24, 2015)
So, of course these students make more money in their life. In fact, the students of the wealthy who don't complete top colleges also do financially better, on average, than the students of the poor or middle class—including many of those who do graduate from college. Call it elitist, aristocratic, or whatever you want, but this system isn't a genuine meritocracy.
The common response to such a conversation is that universities need such tests to decide which applicants to accept—since college is all about job training nowadays. Well…I'm going to let that pass without argument, even though I very much disagree that universities should be mainly about career training.
But if schools are going to focus on career prep, then multiple-choice tests as the constant in the system are deeply flawed. As Leon Botstein wrote in TIME magazine: "The SAT is part hoax, part fraud." The magazine also called it "a scam". (Ibid., cover, 17) Why? Because, in Botstein's words:
"[T]he test can't predict a kid's future…. As every adult recognizes, knowing something, or knowing how to do something, in real life is never defined by being able to choose a 'right' answer from a set of possible options (some of them are intentionally misleading) put forward by nameless test designers.
"No scientist, engineer, writer, psychologist, artist or physician pursues his or her vocation by getting right answers from a set of prescribed alternatives that trivialize complexity and ambiguity." (Ibid., emphasis added.)
Quality tests reflect reality, not an imaginary matrix that allows a few experts to determine what they want our whole nation of children to learn (or not learn), and which type of learner they prefer to favor, whom they want to succeed. The key phrase in the whole subject of standardized, national testing such as the ACT and SAT comes from the same TIME article: "nameless test designers."
A Skewed Approach
This is incredibly important to the future of our society. If the test writers were widely and openly known, by name, with a bio and a video of each of them talking about their core beliefs, political and cultural views, most important aspirations and goals, and perspectives on various important current issues and societal concerns, such tests would almost immediately end.
Parents and educators would watch such video clips (easily posted online with today's technology), and the tests would immediately lose their credibility. I don't say this because I know the test designers. I don't. But I am convinced, based on reading and analyzing many of these exams, that they have an agenda.
How could they not? They are the Choosers in our "meritocracy." They are the Givers. Their exams determine who will win and who will lose the contest—to get into the top institutions of higher learning. They are much more powerful than the Electoral College or the Senate Judicial Committee. In fact, to a large extent, they unofficially but actually choose who will or won't be eligible for selection by these very groups in the future.
If they openly told us who they are, why they write the tests the way they do, and what they stand for and against, we could evaluate whether we want our kids and grandkids to have the kind of education that is specifically taught in most schools (for the very purpose of excelling on exams written by, planned, and designed by these people). With such transparency, even if they maintained the support of a few, they would lose the support of many others.
And that would be good for our nation. Other types of testing would arise, and the market would support other competing agendas—by other test designers with competing views and goals—not just the one proscribed by this generally unknown group of "Givers" who select our future national leaders each time they create, approve, and/or reject a test question.
If we're going to continue to be nation run by the test designers (who parents and teachers unwittingly hold up as the key to each child's future), we should interview each of them and know that our kids are in good hands. If they aren't open to such transparency, then why do we give them so much power over our children? And over our nation's future?
Building a child's education around meeting the demands and agendas of this group of unseen people—simply because it is "necessary for college," at least if we teach to the test (and the more people care about the test, the more likely they are to do this)—is a bit strange. It's akin to living in the 19th Century and using leeches to bleed a sick person because the "experts" assure us it is an excellent practice.
Really? Is that how we want to approach education?
The Way Things Are
I'm all for great education. For rigor and depth and intense study—especially among teens and college-age learners. I think testing is an important part of quality learning.
But the current system has it all wrong.
If your young person gains an education that is defined and driven by the standardized national tests in math, science, social studies, and language arts, then yes, college has very much gotten in the way of his or her education. It has narrowed it, milked out much of the natural passion for learning, and infused it with large doses of rote.
That's what teaching to the tests usually requires. It has also bent your child's education in a direction with a specific social/political agenda that many parents don't support—but don't know about.
Of course, it's important to note that for the most part teachers have no control over this. Many teachers manage to do an excellent job of real teaching even though they have this system to overcome. And, as mentioned, few parents realize what is actually going on. They just want their kids to get into a good college.
In truth, I have no problem with young people taking these standardized exams. To get into college, it's necessary. So take them. Sure.
But the problem arises, 1) in throwing out some of your child's great educational opportunities to focus on teaching to the tests, and 2) in seeing their test scores and thinking you've won, or lost.
And, on the national level, the even worse problem is 3) that we're no longer much of a meritocracy, because we've turned over the determination of "merit" almost exclusively to a group of behind-the-scenes "Givers".
Far too many parents, educators, and others just go along with all three of these problems because "that's the way things are."
But they shouldn't be this way.
And that's my point. That's what the idea of America was once all about—to make things the way they should be, to improve things that aren't right, to fix the broken, and to choose true principles over bad customs. To put what's right ahead of mere profit or promotion.
The Important Questions
These are by far the most important lessons in anyone's education.
By far!
Without these lessons, no education is complete.
We can still teach these things, and parents have a lot of power to do so. But these things aren't being taught on the SAT or ACT, nor in the teach-to-the-test lessons that precede these exams and dominate many schools. Nor, sadly, are they taught in most of the college classrooms that come after the long-coveted Elite University acceptance letter.
They're going to have to be taught elsewhere.
Which brings us to this one central, vital, question:
How, where, and from whom are your kids going to learn them?
Seriously: Where?
From whom?
Not most schools. Not most universities. Not TV or the movies. Not surfing the Internet.
If parents don't teach them, they probably won't get taught.
And that's going to drastically influence the future of America.
Which brings us to the final test, the real exam, the essential question every parent needs to answer:
What are you going to do about this in your home?
Here's what we're doing about it:
Join us!
Category : Aristocracy &Community &Culture &Current Events &Education &Generations &History &Leadership &Liberty &Mission
The Bedrock of Freedom: The Ben Carson vs. Rand Paul Debate by Oliver DeMille
February 13th, 2015 // 9:27 am @ Oliver DeMille
Measles, Vaccinations, Common Core,
and the Deeper Issue We're All Experiencing
The disconnect right now is tearing our nation apart. Over and over, people engage in the Surface argument, while the Deeper issue is actually a lot more important.
For example, consider the national discussion of whether the government should mandate vaccinations against measles and other similar diseases. The Surface issue is whether vaccinations are safe, or whether in some cases they are hurtful to a child. But the Deeper issue is much more important: Who should make the decision about vaccinations for your children? Government? Or you as the parents?
I recently watched two interviews with U.S. presidential hopefuls that clearly illustrate this point. In the first interview, Ben Carson was asked about measles and vaccinations. He stated that vaccinations should be firmly mandated by government for all children. Period.
Rand Paul took a slightly different approach. He said that vaccinations work and that children should be vaccinated, but that the more important issue is this: Government doesn't own such decisions about children, parents do. Parents should have the final say.
Both of these men are medical doctors, and both have a history of commitment to the principles of freedom. But in this case, one called for government mandates and the other called for sticking with freedom. Very interesting.
Force and Reason
Ben Carson went on to say that the idea that vaccinations are widely damaging has been debunked, but then he added an interesting point. He said that of course a few children are allergic or otherwise react poorly to vaccinations, but overall the benefits of widespread vaccination are worth it.
That's reasonable. But, if reason is to be our guide, which of the following is more reasonable:
1-Educating the populace about the scientific facts, then using government force to mandate what parents must choose for their children?
2-Educating the populace about the scientific facts, then letting parents make choices for their children?
This illustrates the current growing division between those who generally trust the government and those who usually distrust it. This disconnect is now a major feature of our nation. It shows up in numerous important issues, including:
1-The government should mandate Common Core across the nation to raise standards for schools and students.
2-Parents should have the final say on whether or not Common Core is good for their specific children.
1-The police are justified in using deadly force as needed, because law enforcement is paramount and force is frequently necessary—and police and government agents are nearly always in the right.
2-The community should be very vigilant about any use of force by the police to ensure that it was truly justified, because police forces and governmental agencies sometimes overstep their bounds and aren't held accountable.
To Trust or Not to Trust
America is split, more each year, by these two major perspectives: "We almost always trust the government to do the right thing," versus "We don't usually trust the government to do the right thing."
Through most of the 20th Century, by the way, an average of 78% of Americans held the first view (trust), while today only 23% of Americans believe the government will do the right thing most of the time. That's a huge change.
And clearly the disconnect isn't partisan. It divides both major parties, and it also divides independents. Just look at Common Core, for example. Rand Paul and Ted Cruz are strongly against it, while Jeb Bush is a firm supporter. Bobby Jindal and Mike Huckabee supported it at the state level and then opposed it when it became a federal program. And all of these men are leading Republicans.
Or look at the vaccination issue. Some of the strongest supporters of government mandates are top Democratic politicians, while many of the communities with the lowest rates of vaccination (and highest levels of anti-vaccination activism) are university neighborhoods dominated by progressive faculty and administrators.
On the Right, many Republican voters demand that everyone get vaccinated, while a vocal opposition calls mandatory vaccination a socialistic plot. Ben Carson versus Rand Paul, so to speak, but spread through the population regardless of party.
Now, change the Surface issue, from, say, vaccinations to police use of deadly force in Ferguson, Cleveland, or New York, and the sides quickly shift.
Bad Comparisons
Here's another example:
1-The government should regulate and then force the education of all children ages 5-16.
2-Parents should have the right to make the final educational decisions for their family.
This one clearly hits very close to home, but the divide is still there. Ben Carson said something really interesting while he was making his case for mandatory vaccinations. He compared them to seatbelt laws and also laws against texting while driving. I like Ben Carson, so this surprised me because these two things shouldn't be treated the same. (He probably would have clarified this if he had time to elaborate.)
The main intent of "don't text while you drive" laws is to protect other people from bad driving, while the focus of seat belt laws is to protect the driver.
In the case of Common Core, supporters often speak as if their major goals are to improve society, while many parents who dislike Common Core care mostly about the education of their own children. And pro-vaccinators often cite public health statistics at the same time that anti-vaccination parents point to anecdotal examples where specific children were harmed.
Simplicity and Standards
This all makes sense, if we take the time to really consider it. In short, those thinking in terms of the mass population naturally overlook the specific, individual cases ("they're just anecdotal") while many a concerned parent logically ignores the statistical tables ("my son isn't just a number") and focuses on the potential danger if her child just happens to be one of those who is harmed.
Both views have merit. Both are reasonable. Both make sense. But back to our original question: To whom are we going to give the final say?
The answer depends on what level of society is best equipped to deal with each specific situation. Consider:
- If it's a question about nuclear attack or foreign invasion, the federal government was designed to deal with it.
- If it's a question of crime or direct danger to everyone, it's a state or provincial issue.
- Or, if anything in level B can be handled more effectively at a local level, it should be.
- If it's about what's best for an individual's education, prosperity, or health, let the individual choose. This is the essence of freedom. If it's about children, let's trust the parents.
This simple little system is essential to freedom. Without such standards, freedom is quickly lost.
The Level
So, let's get specific. Do the measles meet the "danger to everyone" level in B or C above? No. So leave such health decisions to the parents. Same with Common Core. Of course, if Ebola is the issue, level B kicks in because it truly is a "direct danger to everyone." It may even be level A, depending on the circumstances. But Common Core and the measles are nowhere near level A. Not even close.
In fact, this system of doing things at the right level, and only at the right level, is the key to maintaining freedom and applying wisdom on nearly every issue. For example:
-Seat belts? Level D.
-Drunk driving or text-driving? Level B. (It would be level C if people didn't travel very much, but in our current world conditions, if every local area has a different law, far too many drivers will be confused and the laws will be ineffective at protecting the life and liberty of others.)
-Police using deadly force? Level B.
-Oversight of any use of deadly force? Levels A-D.
-Compulsory school laws? Level D only. Seriously, leave to families those things best handled by families.
-Dedicated study and wise oversight of all laws? Level D.
This isn't just the Deeper level; it is the bedrock of freedom.
Oliver DeMille is the New York Times, Wall Street Journal and USA Today bestselling co-author of LeaderShift: A Call for Americans to Finally Stand Up and Lead, the co-founder of the Center for Social Leadership, and a co-creator of TJEd.
Among many other works, he is the author of A Thomas Jefferson Education: Teaching a Generation of Leaders for the 21st Century, The Coming Aristocracy, and FreedomShift: 3 Choices to Reclaim America's Destiny.
Oliver is dedicated to promoting freedom through leadership education. He and his wife Rachel are raising their eight children in Cedar City, Utah.
Category : Aristocracy &Blog &Citizenship &Community &Constitution &Culture &Current Events &Economics &Education &Featured &Generations &Government &Leadership &Liberty &Politics &Prosperity &Science &Statesmanship
President Obama's Free College Tuition Plan
January 30th, 2015 // 5:42 pm @ Oliver DeMille
Some (Widespread) False Traditions about College, Grades, and Career
A Good Plan?
President Obama proposes making two years of community college free for everyone. As The New York Times reported ("Expanding Community College Access"), the Administration's "preliminary plans…call for an estimated $60 billion in new spending over ten years…" That's right. Just throw more money at it and things will get better, right?
Actually, no. What if, instead, we didn't raise taxes $60 billion for the program (plus the extra funds necessary to administer it) and left these resources in the hands of the private economy?
This gets to the crux of one of our deepest and most pressing problems today. When we see a need in society—almost any need, it turns out—someone proposes a government program. The costs of such programs, and the regulations of implementing them, make our economy less inviting for investors and innovators. Naturally, jobs, capital, and opportunities go to other nations.
The result? The economy struggles even more. And, behold, a politician in Washington takes note of the increased struggles and suggests yet another economy-killing government program.
This downward cycle is literally fueling our national decline. These types of government programs have had real results: Where one wage earner in a household made enough for the family to live on in the 1950s, today it takes two wage earners plus a steadily increasing amount of debt for households to pay for a lesser standard of living.
Cause and Effect
Such government programs are touted as real benefits, but the more of them we implement in society, the wider the gap grows between the rich and the rest.
If this new community college program is adopted, the results are predictable:
- The quality of community college education will decrease (just as high schools did when government made them free and ubiquitous)
- More community colleges will be built (requiring tax increases)
- Fewer educational entrepreneurs will offer true educational innovations
- More people will get two years of college
- Two years of college will become much less beneficial
- More young adults will live in their parent's basement—for longer
- S. citizens will lose more jobs to international competitors
- The U.S. standard of living will further decline
- There will be a few good community colleges, and a lot more poor ones, and national leaders will talk incessantly about "solving the community college crisis"
- The quality of education in most high schools (not just community colleges) will further decrease
"But how can you say these things?" the proponents of the new program will ask. "More jobs today require some college education, so how can free community college be anything but a great plan?"
Actually, more jobs require a higher level of education. But calling it "college education" is just labeling. The level and quality of education students received in four years of high school in 1930 or 1953 was higher than nearly all college juniors have today.
Why did high school education decline? Mostly because of the many government programs that got in the way of market forces and educational quality.
So why are we proposing more of them? We shouldn't be.
Part II: The Real Issue
But let's go deeper into college education. Specifically, let's deal with the real issue. The true concern. It is right in front of us, but only a few people are talking about it. This is vitally important.
Sometimes our most common beliefs in society turn out to be wrong, or at least different from the reality. For example, a lot of young people today are told that the key to a successful life is a good career, and the way to ensure a good career is getting into a good college, picking the right major, and getting good grades.
Many high school and even elementary students busily study each night to prepare for the SATs and such life success—based on this oft-repeated promise. They spend years sure that good grades will lead to promotions, wealth and status.
But the truth is often very different. A report from the Chronicle of Higher Education showed the reality of what employers look for when hiring:
- "Health care companies care most about your major"
- "White-collar companies care the most about your GPA"
- "Media and communication companies are gaga for internships and…indifferent toward your classes"
- "Ironically, education employers care the least about grades" (quotations from Derek Thompson, "The Thing Employers Look For When Hiring Recent Graduates," The Atlantic)
This is not what most young people are told—by teachers, school administrators, academic counselors, even parents. How can they make good career-prep choices when most of what they are told about the relationship between schooling and career success is inaccurate or at best incomplete?
The Scale
I've long taught that schooling should focus on great education, not the growing trend of "hire education," but this view is in the minority. Many people believe the main purpose of education is career prep, and students are often frustrated when the reality turns out to be something different.
In an economy where many graduates are already without jobs, these false traditions (e.g. "the key to a successful life is a good career, and that comes from attending a prestigious college, picking the right major, and getting good grades") take on increased importance. Many young people believe in these ideas as promises, not urban myths.
The Chronicle of Higher Education report showed the following (ibid.):
- On a scale of 1 to 100, the importance of your college's reputation to prospective employers is 5.
Not 85. Not 55. Not 50. Not even 15. Just 5. How can 5 out of 100 be worth all the focus people give it?
- Using the same scale, the importance of your GPA is 8.
That's right, 8. All the work, the effort, the tears and struggles to get top grades, and they're only an 8 to employers? Not 8 out of 10, mind you, but 8 out of 100! As top students know, the difference in work and effort required between A- and A is about the same as between C and A-. So, it's no surprise that students are stunned to learn how little employers actually think or care about grades.
- Even your college Major only scores 13 on this scale.
But it gets worse. This score of 13 is actually driven up by the health care industry. If your career is in health care, it's quite a bit higher, but if you're in a different industry, it's much lower.
In short, for most people, the gatekeepers that bring you in to (or keep you out of) a great career don't care about what school you went to, your GPA, or your major.
The Forgotten "Why"
So what do prospective employers look at? Again, according to the Chronicle report:
- The number one thing is internships.
- Number two is employment experience.
Really? Then why are so many young people counseled to avoid work and put all their time into getting good grades? And why are they told to put most of their efforts into admittance to the most prestigious schools?
The focus should be on internships and work experience. Amazing.
This is a major departure from what most educators tell their students. It's very interesting, and something any parent should consider.
It also brings me back to my original view. Use schooling, reading, and other learning to get a great, truly excellent education. That's why schools were invented, after all. The rest is, literally, minor. The research now proves it.
The Real Solution
The solution—unless you work in the health care field—isn't two more years of government-funded schooling, but better education in the years before college. Followed by the same increased quality during college, or even instead of college. We don't need more mediocre schooling—we need a drastic improvement in what we already have. Seriously.
Get a great education before you turn 18 by reading, studying, digging into the classics, etc.—and then continue it in college or working directly with great mentors instead of college—and don't let 5%, 8%, and <13% things like the "right" school, GPA, and the "right" major determine (or get in the way of) your education.
And, along the way, get some great experiences with internships and work experiences. Include a number of important classics in your reading. This will bump your whole education to a higher level, and with a better education and better experiences, your career options will only improve.
This is the real solution, regardless of whether or not the government adopts some costly new education program that won't help very much and will in fact send a lot more capital, innovation, and jobs abroad. The program will only make things harder—for education, and for the economy.
Washington, please keep this plan to yourself. Literally: Put your kids through it if you want. Leave the rest of the economy alone.
Oh, and parents, pass this along to young people. A great education will greatly boost your career prospects, and for most careers a great education is not the same thing as your college, major, or GPA. Not at all. Whatever you do about these things, do what it takes to get a great education.
Oliver DeMille is the New York Times, Wall Street Journal and USA Today bestselling co-author of LeaderShift: A Call for Americans to Finally Stand Up and Lead, the co-founder of the Center for Social Leadership, and a co-creator of TJEd.
Among many other works, he is the author of A Thomas Jefferson Education: Teaching a Generation of Leaders for the 21st Century, The Coming Aristocracy, and FreedomShift: 3 Choices to Reclaim America's Destiny.
Oliver is dedicated to promoting freedom through leadership education. He and his wife Rachel are raising their eight children in Cedar City, Utah.
Category : Blog &Citizenship &Community &Current Events &Education &Entrepreneurship &Featured &Generations &Government &History &Leadership &Liberty


text:
Sex for breakfast? With this new sex boosting cereal, why not?
Want To See Eva Herzigova's Naked Butt? You're Welcome. [VIDEO]
Eva Herzigova did an ad for some shoe maker. I don't care who it is but I want to thank them for it. She shows her butt. Twice. Wanna see it? Click here.
"The Hangover Part III" Trailer Is Here! And At Least 1 Giraffe Is Dead. [VIDEO]
I'll admit that I hate it when Hollywood makes a popular movie into multiple movies that are all the same just to cash in. And at first that's what it looked like they were doing with "The Hangover" franchise
Mad Season's "Above" Will Have A Deluxe Reissue And Documentary [VIDEO]
Although Mad Season only got 1 album done before Layne Staley's overdose, "Above" was such an incredible album that it still stands against anything today. And now it's getting a re-issue and mini documentary.
Want To Watch Sebastian Bach and Steve Stevens Do "Eyes Without A Face" and "I Remember You" Acoustic? At Least It Will Use Up 13 Minutes Of Your Day [VIDEO]
Why does Sebastian Bach sound like he's on helium in this video? I don't know. But he can still sing, if you can get past the whole "he sounds like he's on helium when he talks" bit.
Meet The Korn Kids [VIDEO]
Anthrax Cover AC/DC's T.N.T. Down Under [VIDEO]
Anthrax rocked the stage at Australia's Soundwave Festival and did their best to ingratiate themselves to the locals. How you ask? By covering Australia's most famous band ever!
Brick Stone, True American Hero? You're Damn Right! [VIDEO] [NSFW]
By now we all know the Westboro Baptist A-holes. And we all feel the same about these wastes of oxygen. Someone should shut them down, permanently. Until that happens comedian Brick Stone is doing his best to at least annoy the hell out of them.
Can You Quack Like A Duck? [NSFW]
The name of this band is G.O.A.T. And Your M.O.M. And this is probably the most romantic love song I've ever heard.
Metallica Rock An 18 Song Set At Australia's Soundwave Festival [VIDEO]
Donut Fest 2013, From My Point Of View [VIDEO]
Just in case you weren't sure how slippery it was outside. I have performed a public service for all of you. I did donuts in a parking lot just to test the roads for your safety.
Does Anybody Care About a Billy Corgan Wrestling Video/Furniture Commercial? Me Either. [VIDEO]
Billy Corgan, lead singer and guitarist of the Smashing Pumpkins, is a huge wrestling fan. He even owns and runs Resistance Pro Wrestling in Chicago. And now he's sold what was left of his alternative cred for a furniture sponsor.

subset: commoncrawl


text:
The invention permits network management services, utilized by a user via a software based console, used on any network connected device, viewed as a web page via the internet. Dynamic updating of the devices available to the console is performed by a Multicast Discovery Protocol. Multicast Remote Procedure Calls permit simultaneous command processing among an authorized target group of devices. A Multicast File Transfer Protocol permits time and bandwidth efficient one to many file transfers via a data stream at a pre-specified address which many clients simultaneously monitor. Hand shaking for the transfer is rotated among the clients so that they may each recover any lost data frames. Use of client registries for storing network data allows clients to be automatically configured upon connection to the network. Virtual monitoring and control over the clients may be exercised from the console by executing remote procedure calls.
1) A method for discovering the presence of clients connected to a network, comprising the steps of:
broadcasting a discovery request from a server, across a network;
receiving the discovery request at a client connected to the network and returning an advertisement to the server containing an identification of the client;
receiving the advertisement at the server and sending an acknowledgement to the client.
2) The method of
sending an advertisement at configurable intervals from the client to the server whereby the server maintains the client as a known and active device in a list of known and active devices.
3) The method of
upon receiving the acknowledgement, the client stores a transaction identifier,
the client then comparing the transaction identifier against any future discovery requests received, whereby future discovery requests by the same server are ignored for a configurable interval.
4) The method of
the advertisement identifies client characteristics comprising;
a device name and network address,
a power status,
a program and storage memory status,
a processor type,
an operating system type, and
a memory location identifier for a memory location containing data with further device details.
5) The method of
a proxy server acts as an interface between the client and the server.
6) The method of
data defining a protocol for the clients interaction with the server is stored in a client registry.
7) The method of
8) A method for executing a multi-cast remote procedure call, comprising the steps of;
broadcasting a remote procedure call, across the network;
receiving the remote procedure call at a client connected to the network and returning a reply to the server with one of a confirmation of an execution of the remote procedure call and a data frame containing data related to the execution of the remote procedure call.
9) The method of
if the data frame would be required to be larger than a configurable size, the data is saved in a file and a universal data location descriptor, identifying the file is returned.
10) A method for data transfer to a plurality of clients across a network, comprising the steps of;
announcing the data transfer on a public multi-cast address,
receiving an acknowledgement each from a plurality of clients desiring to receive the data transfer,
designating a master client from the plurality of clients,
transmitting the data transfer to a network address accessible to the plurality of clients at a data rate less than a maximum data read rate of the master client,
requesting retransfer by the master client after completion of the data transfer of any data blocks that were not received,
transferring master client designation to another of the plurality of clients when the master client has all data blocks of the data transfer,
requesting retransfer of any data blocks not received by the next master client,
transferring master client designation among all clients in turn, until each has had the opportunity to request any missing data blocks.
11) A system for universal network device management, comprising:
a server operable on a network having a software console,
a plurality of network interfaces, using a common API, associated with a plurality of devices connected to the network,
the network interfaces configured to identify their associated device to the server,
the software console and network interfaces arranged to enable virtual control of one of an individual device, a group of devices, and all of the devices connected to the network.
12) The system of
13) The system of
[0001] This application claims the benefit of U.S. Provisional Application No. 60/289,023 filed May 4, 2001, which is hereby incorporated by reference in its entirety.
[0002] Previously, management of network connected devices involved separate configuration routines for each device. A separate management application for each individual or family of devices was used for device communication, monitoring and configuration. The various management applications needed for a diverse range of devices created a resource, time and network software burden for IT and technical support staff. Also, each new device could not be managed until its specific network connection information was identified and loaded on both the local device and the management application, requiring physical access to the device. Remote networkable device management, for example via the internet or over a dial-up connection, similarly required duplicate efforts for each individual and or family of devices. Operation upon remotely controlled devices was on a serial basis, one command to a single device at a time. Multiple units under remote control receive commands/data one after the other.
[0003] Manufacturers of networkable devices develop and support products, often each of the products having a separate configuration/administration product. As product lines evolve, the previous generation still requires support services for which each new generation incorporates a generally expanding range of features requiring configuration/administration.
[0004] In environments with large numbers of networked devices, configuring, maintaining, backing-up, upgrading and troubleshooting the operation and software content of/on the devices previously required individual steps/processes for each device, creating a heavy administrative burden.
[0005] It is an object of the present invention to solve these and other problems inherent with the previously available systems/software.
[0006] Intermec Management Services (IMS), utilized by a user via a software based console, may be used on any network connected device, viewed for example, as a web page via the internet. Dynamic updating of the devices available to the console is performed by a Multicast Discovery Protocol (MDP). Multicast Remote Procedure Calls (MRPC) permit simultaneous command processing among an authorized target group of devices. A Multicast File Transfer Protocol (MFTP) permits time and bandwidth efficient one to many file transfers via a data stream at a pre-specified address which many clients simultaneously monitor. Hand shaking for the transfer is rotated among the clients so that they may each recover any lost data frames. Use of client registries for storing network data allows clients to be automatically configured upon connection to the network. Virtual monitoring and or control over the clients may be exercised from the console by executing remote procedure calls. Use of a common framework and standardized user interface allows the IMS to be readily transferred for use with both old and new devices as they emerge.
[0007]FIG. 1 is a diagram showing a sample network topology, controllable by IMS.
[0008]FIG. 2 is a diagram showing handshaking occurring during a MDP procedure.
[0009] As shown in FIG. 1, a modern network topology can contain a plethora of different devices. The devices may comprise network server(s) 10, printer(s) 20, workstation(s) 30, proxy server(s) 40 and lower level or wireless devices 50 interconnected by the proxy server(s) 40. The interconnection between the devices may be via both local and wide area networks 80, including via the internet. The IMS provides a user with Device Management, Software Distribution and Network Management Capabilities. IMS may be a common interface, or console 75, that is used as a single interface for the user. From the console, which may appear as a browser page, the desired functionality or specific remote device may be accessed 100. To allow ready addition of new functions or device specific modules to the console, a common framework is preferred. The framework may be based, for example, on the Java 2 SDK, and may be published as an API so that all future and third party additions conform to a common application architecture, look and feel.
[0010] The preferred framework for plug-in software modules used with the invention is described in the attached Appendix A: Intermec Java Application Framework and Appendix B: Intermec Device Management User Interface Functional Specification (IDMANUI) Rev.A, both hereby incorporated by reference in their entirety.
[0011] IMS may utilize a browser plug-in for the console, enabling management of single or multiple devices from a terminal with a connection back, for example via the internet, to the network device being managed. IMS allows for configuration and monitoring of file, process, MP service and application managers as well as an event viewer and security management. Security Management including encryption keys and user password maintenance. Devices managed include any device direct or wirelessly connected to the network or devices connected to the network through proxy services for example serial/USB cradles attached to computers which in turn are attached to the network. Multiple protocols including TCP/IP, HTTP, FTP, RAPI, MCFTP, MDP and RPC protocols are used to manage the devices. With a single or multiple devices or a subgroup of devices features include device discovery and file transfer through FTP and/or multi-cast FTP, remote procedure calls, and/or remote control through a virtual device interface. Other functionality includes: operating system maintenance, upgrades and troubleshooting, application install/uninstall, configuration of devices, and cloning of devices. The registry of individual or groups of devices may be edited in real time including the ability to reset, reboot or power down the devices remotely. Process management, time services, and NT service management are available.
[0012] A mechanism is needed to allow manageable devices and device management services to find each other on a Local Area Network (LAN). Through discovery, a device identifies itself and provides relevant information to the device management servers/services (DMS) available on the network. Discovery occurs after addressing (the process by which a device obtains/is assigned a network address). Discovery can occur when a device is added to a network or when a DMS is added to the network. Discovery is the first step in device management.
[0013] MDP uses a local administrative scope multicast address to provide discovery for LANs (not the Internet). Administrative scoping, as defined by RFC 2365, is the restriction of a multicast transport based on the address range of the multicast group. RFC 2365 defines the "administratively scoped IPv4 multicast space" to be the range 126.96.36.199 to 18.104.22.168. In addition, it describes a simple set of semantics for the implementation of Administratively Scoped IP Multicast. Finally, it provides a mapping between the IPv6 multicast address classes as specified in RFC1884 and IPv4 multicast address classes. The MDP Client and Server preferably both support a configurable time to live (TTL) so they can be configured to support TTL scoping.
[0014] The MDP Server can run as an integrated component in a Device Management Service, such as a Management Console. The MDP Server can also run as a discovery service that collects device information and then publishes that information to Device Management Service subscribers running on the network.
[0015]FIG. 2 is a diagram that shows the basic dialog between a MDP Client and Server. The following is a demonstration via a ladder diagram showing the flow of messages that complete a sample MDP Server discovery transaction:
[0016] The MDP server sends a series of multicast discovery frames that contain a transaction ID (TID). Each client that receives a discovery frame with a new TID will send a multicast advertisement. The multicast advertisement will update all MDP servers within its multicast scope. When an MDP server receives an advertisement that requests an Acknowledgement (ack) and contains a TID that identifies that server, it sends a unicast ack to the client. Once the client receives an ack for an advertisement, it caches the transaction ID and will filter all subsequent discovery frames carrying that transaction ID. The caching of discovery TIDs serves two purposes. First, it provides a scalability mechanism that allows the recovery of a server that is over-run with advertisements in response to a discovery request. The server will ack the advertisements that it receives, then send another discovery frame with the same TID. All clients that received an ack for their advertisement will not send an advertisement in response to the additional discovery request. This continues until the server does not receive any advertisements in response to a discovery request. This process is a divide-and-conquer approach to discovering a large set of devices. Second, it provides a mechanism that conserves network bandwidth by not requiring all devices to respond to all discovery requests.
[0017] The following is a demonstration via a ladder diagram showing the flow of messages that complete a sample MDP client advertisement transaction:
[0018] When a device is reset or resumed (powered on), the MDP client sends a series of unsolicited multicast advertisement frames to the network. The frames are not acknowledged. Advertisement frames can be sent on a regular interval to refresh advertisement data such as battery and memory status.
[0019] MDP allows a DMS to discover the manageable devices on the network. MDP is responsible for making a device and its attributes known to IMS so it can be remotely managed and monitored. MDP provides a routable one-to-many discovery mechanism. The protocol also provides for the discovery of proxy relationships. This allows a device that is not directly connected to the network to be discovered and managed via a proxy partnership.
[0020] The discovery exchange between the device and the DMS preferably updates the DMS with the following specifics about a non-proxied device:
[0021] 1. Device name and IP address (name includes NETBIOS name and fully qualified domain name).
[0022] 2. Battery status (AC power, charge and lifetime status).
[0023] 3. Program and storage memory status (allocate, in use and free).
[0024] 4. Processor type and number of.
[0025] 5. Operating system (platform, version, build number).
[0026] 6. Single URL of an XML file that describes the device in greater detail.
[0027] 7. Variable length list of machines (names and IP addresses) that may provide PIM data for the device.
[0028] The IMS may use proxy servers, servers that sit between a client application and a real server or a device that is not on the network and cannot run a real server. The proxy servers intercept all requests to the real server or the device unable to run a real server to see if it can fulfill the requests itself. Proxy servers are common, for example with dockable PDA's and wireless devices.
[0029] The discovery exchange between the device and the DMS preferably updates the DMS with the following specifics about a proxy server and its associated device:
[0030] 1. Proxy server name and IP address (name includes NETBIOS name and fully qualified domain name).
[0031] 2. Connection status of proxied device.
[0032] 3. Device name and IP address (name includes NETBIOS name and fully qualified domain name).
[0033] 4. Proxied device's battery status (AC power, charge and lifetime status).
[0034] 5. Proxied device's program and storage memory status (allocate, in use and free).
[0035] 6. Proxied device's processor type and number of.
[0036] 7. Proxied device's operating system (platform, version, build number).
[0037] 8. Single URL of an XML file that describes the device in greater detail.
[0038] 9. Variable length list of machines (names and IP addresses) that may provide PIM data for the device.
[0039] MDP allows a proxy server to provide real-time event notification to a DMS when the proxied device establishes or shuts down the remote connection (eg. device enters or leaves a dock/cradle).
[0040] Freshness of the device's data maintained by the DMS may be controlled in several ways:
[0041] 1. Configuring the interval at which the device or proxy server sends an advertisement.
[0042] 2. Configuring the interval at which the DMS sends a discovery request.
[0043] 3. Both of the above. For example, the DMS sends a discovery request every 60 seconds and the devices send an advertisement every 300 seconds. This allows stationary wireless, wired network and proxied devices to maintain a "fresh" data set at the DMS. The mobile wireless devices will be able to receive only a subset of the discovery requests at best due to radio duty cycling. By sending advertisements to the DMS, these devices are able to maintain an adequate freshness of their data set while preserving battery life.
[0044] MDP provides up-front name resolution for the devices. This feature is beneficial for devices that don't run a network client. The DMS therefore maintains the name to IP Address mapping of the devices it is managing. In all cases, name resolution services are not required when communicating with a server on the device (eg. Web, FTP, RPC, Remote Control, etc.) This feature can greatly improve device connection performance and therefore, improve overall network bandwidth utilization.
[0045] The MDP preferably has the following operational requirements.
[0046] MDP will be started as a service
[0047] On startup the server will multicast discovery frames to discover devices on the network
[0048] On startup all clients will multicast advertisement frames
[0049] System level congestion control is applied to achieve high levels of scalability
[0050] During initialization, the server will send a series of multicast discovery requests. At initialization the client also sends a configurable number of multicast advertisements to inform MDP servers of its presence. These advertisements may be configured to be sent at a regular intervals to provide a "heart beat" mechanism or may be configured to be disabled once the device has been discovered. The number of requests may be determined by a configurable parameter. Another configurable parameter may set the time delay between discovery requests.
[0051] Each series of multicast discovery requests may contain a transaction ID that allows a client to filter discovery frames that have already been processed (advertisement/ack exchange). On receipt of a discovery request by a client, the client will respond by returning a unicast advertisement to the MDP server. The invention may be configured so that once the client has received an ACK for the advertisement, it will ignore further multicast discovery requests with the same transaction ID.
[0052] A system level interface provides set and get capabilities from the application layer. A configuration frame may be received from a server. The receiver responds to a "set" configuration frame by setting the parameter(s) as provided in the configuration element set. The receiver responds to a "get" configuration frame by constructing the configuration element set and sending it (unicast) to the sender.
[0053] The MDP server responds to client advertisements by logging the client and its data. The server will also send a unicast acknowledgement to the sending client. Acknowledgment frames are sent from the MDP server to the MDP client in response to Advertisement frames requesting an ACK. Acknowledgment frames are sent from the MDP Client to the MDP server after receiving a Configuration frame that "sets" the client's MDP configuration.
[0054] In the preferred embodiment, MDP parameters are saved in the registry of the MDP client and server. MDP registry parameters contain configuration and identification information. The client is therefore able to initialize itself from its registry. If the MDP registry entries don't exist (eg. after a cold boot) the client creates the registry entries and initializes them. An example set of registry parameters is listed in Appendix G. These parameters may be expanded as new requirements and device functionality's become available.
[0055] The MDP Client manages device attributes in a generic/platform independent way. It manages all device attributes as information elements. Each information element contains, for example, a 16-bit element ID, a 16-bit element length, and the element data (binary buffer). The device class provides an abstraction layer between the MDP Client and the platforms device information architecture. The device class is ported to each new device platform thereby leaving the MDP Client platform independent. The device class implements a function for each supported device attribute. The caller provides a buffer, the length of the buffer, and an optional boolean flag that indicates whether the device data should be converted to network byte order (default is true). The function will return a boolean flag indicating success or failure. If the function was successful, then the caller's buffer will contain the requested device data, and the length of the data is returned in the variable that carried the buffer length into the call.
[0056] The MDP frame carries data encoded in, for example, XML format. Each frame type carries an XML document that represents the type of data it is carrying. Because MDP frames may be encrypted, each frame type can be filtered (rejected) if the frame is not carrying a well-formed XML document of the appropriate type. This provides a simple mechanism for ensuring that an MDP client/server is processing frames from a valid source (same encryption key). A sample Server Discovery Frame Data Format (XML Document) is attached in Appendix C. A sample Client Advertisement Frame Data Format (XML Document) is attached in Appendix D. An actual sample of an advertisement XML document from a Compaq PDA model iPAQ H3100 with 16M of main memory is shown in Appendix E. An example of a Server Ack Frame Data Format (XML Document) is shown in Appendix F.
[0057] To permit devices configured with global positioning system (GPS) functionality to report both their presence and exact location during Discovery, Frame Data fields for the device's current GPS co-ordinates and or inertia references may be added to the XML Document. The data space needed for these fields being proportional to the desired resolution of the co-ordinates. Device location of a possibly extremely large group of remote devices is then continuously updated during the heart beat discovery advertisements. This functionality is usable for logging historical device movement and or alarming out of bounds location/speeds above preset parameters.
[0058] A Frame Handler will process all frames (Tx/Rx). Advertisement frames will be sent in response to discovery frames. Ack frames will be received after sending solicited advertisement frames. If the advertisement interval is non-zero, unsolicited advertisement frames will be sent periodically.
[0059] Frame processing may include validation (version, frame type, etc.), encryption, decryption, XML document writing (attribute fetches, encoding), XML document reading (formation validation, parsing), filtering/caching. The Winsock is a preferred network communication means. Various system APIs will be used to fetch device attributes. The client will use its own XML class to read and write documents. The client will use its cache manager to determine when to filter discovery frames. Also, a blowfish class may be used to handle the encryption/decryption of all XML documents.
[0060] Some devices may receive a discovery request from a server that is, for example, on an unauthorized subnet, or other indicator that they are unworthy; in those instances individual devices may reject control from the controlling device, for example, by choosing to not ack the request or even nack (negative acknowledgement) it.
[0061] The transaction ID (TID) cache manager maintains a history of discovery transactions. Discovery transactions are in one of two states: "in progress" or "complete". Discovery transactions are complete if a discovery frame and Ack frame have been received with the same TID. The Frame Handler Task sends an advertisement frame for all incomplete discovery transactions and filters discovery frames associated with a completed transaction. The cache manager is responsible for creating, querying, updating, and aging the cache entries. Aging uses a simple counter method to determine the age of cache entries. This keeps the code fast, small, and portable.
[0062] The Frame Handler will process all frames (Tx/Rx). A Discovery transaction will be completed when the server starts up. To complete a discovery transaction, the server sends a discovery frame and processes all advertisement frames (sends an Ack) until a timeout occurs. Another discovery frame is sent and the advertisement frames are process until a timeout occurs. This continues until no advertisement frames are received in response to a discovery frame. All discovery frames carry the same TID and are filtered based on that TID by the clients once they have received an Ack for their advertisement. Frame processing will include validation (version, frame type, etc.), encryption, decryption, XML document writing (attribute fetches, encoding), XML document reading (formation validation, parsing), caching. The server will pass all advertisement frames to the device cache manager. The device cache manager will maintain a list of devices and a pointer to their most current advertisement frame. As new advertisement frames arrive, they are placed in a ring buffer and an event is used to signal the device cache manager. The cache manager updates the device list with the new advertisement(s) and then notifies the registered advertisement consumer (e.g. Management Console) that the device list has been updated.
[0063] Multicasting is a technique developed to send packets from one location in the Internet to many other locations, without any unnecessary packet duplication. In multicasting, one packet is sent from a source and is replicated as needed in the network to reach as many end-users as necessary. Multicasting is not the same as broadcasting on the Internet or on a LAN. In networking jargon, broadcast data are sent to every possible receiver, while multicast packets are sent only to receivers that want them. The concept of a group is crucial to multicasting. Every multicast requires a multicast group; the sender (or source) transmits to the group address, and only members of the group can receive the multicast data. A group is defined by a Class D address (see http://www.multicasttech.com/).
[0064] Scoping is the restriction of multicast data transport to certain limited regions of the Internet. It comes in two flavors, TTL scoping and administrative scoping.
[0065] Every Internet Protocol Packet has a Time To Live (TTL) field, which despite the name is really a count of the number of hops (transmission from one router to the next) the packet is allowed. The TTL field is decremented by one each time a packet leaves a router, and a packet with a TTL of zero is discarded. Although the TTL field was implemented to prevent packets from looping forever in the network, the TTL field can be set low to prevent packets from leaving a particular domain. The problem with TTL scoping is that the hop-distance to the edge of a network or domain from a given source may not be uniform, and so it may not be possible to both service the entire domain with multicast traffic and prevent that traffic from leaking to other domains, no matter what TTL value is chosen.
[0066] Administrative scoping is the restriction of multicast transport based on the address range of the multicast group as defined by RFC 2365. The use of the multicast address space is governed by RFC 3171. Administrative scoping is restricted to the address range 239/8, with the 239.255/16 address space being reserved for the "local network" (i.e., those packets should not be forwarded) and 239.192/14 is reserved for "organizational scoping." Such large scale administrative scoping must be announced, so that others know what the scope is, which is supposed to be done by MZAP, the Multicast-Scope Zone Announcement Protocol, described in RFC 2776. Many domains will filter out all 239/8 traffic at their borders, so that any address in this range could be used for internal multicasts.
[0067] IMS uses a Multicast Remote Procedure Call (MRPC) protocol. MRPC is implemented as a protocol for client/server based on the remote procedure call model. A client makes a call to a service on a group of servers, each of which sends back a reply. The reply contains the procedure's results and possibly data generated by the called procedure. The advantage of a MRPC is concurrent execution of a remote procedure on multiple servers. In theory, the MRPC executes in about the same time that it takes a standard (unicast) RPC to complete. Also, a MRPC is potentially much more network-efficient than sequential RPCs to a group of devices.
[0068] A RPC service is a set of one or more RPC programs. A program implements one or more procedures. A procedure's functionality, parameters, return codes, and reply data are documented as part of a published interface/specification.
[0069] MRPC will use a local administrative scope multicast address to provide RPC delivery for LANs (not the Internet). Administrative scoping, defined by RFC 2365, is the restriction of a multicast transport based on the address range of the multicast group. The MRPC Client and Server preferably both support a configurable TTL so they can be configured to support TTL scoping, if desired.
[0070] The following ladder diagram shows the flow of messages that complete a "short execution" (one that completes within a reasonable timeout period, e.g. a few seconds).MRPC:
[0071] The following ladder diagram shows the flow of messages that complete a "long execution" (one that does NOT complete within a reasonable period, e.g. a few minutes)
[0072] MRPC therefore provides a mechanism (client/server based protocol) that allows a client to initiate a procedure call on select remote servers for concurrent processing and receive an individual reply from each server.
[0073] Any MRPC implementation should provide for and/or address the following:
[0074] 1. Each callable procedure must be able to be uniquely identified.
[0075] 2. The protocol must provide a mechanism to bind reply frames to a call frame.
[0076] 3. The protocol handles errors such as version mismatches, invalid parameters, invalid parameter encoding, etc.
[0077] 4. The protocol may be statically bound to UDP in order to utilize multicast addressing. Therefore, the protocol must provide timeout, retransmission, and duplicate detection mechanisms in order to guarantee at-most-once execution on each server.
[0078] 5. The protocol may operate on a single local administrative scope multicast address. Since all servers will be addressable on a single group address, the protocol must provide a mechanism for selecting a target RPC subgroup.
[0079] 6. Since the UDP transport protocol imposes a restriction on the maximum size of frames, the MRPC protocol preferably provides a mechanism for transitioning to TCP, which is a stream-oriented protocol (no size limit), in the cases where a reply size exceeds a given threshold.
[0080] 7. The reply size threshold may be specified in the call so it can change dynamically without requiring additional communications with the servers in order to change it.
[0081] 8. For calls that may take a long time to complete (e.g. upgrading the firmware on a device, system snapshot, device cloning, etc.) the call must be able to contain a request for acknowledgement (ack) before the call is executed. This will allow the client to wait for an extended period of time for a reply knowing that the specified procedure is being executed. When the server sends the reply, the call must be able to contain a request for acknowledgement. Normally the retry burden is placed on the client. If a call is made, and a reply is not received, another call is made. However, in this case the call has been acknowledged and the retransmission burden is now on the server. Therefore the server must receive an ack for the reply to ensure that the client received it. If a device management console (GUI) has initiated a call that will take a long time to complete, it would usually be desirable to show the call's progress. The protocol may limit itself to a single data encoding method.
[0082] 9. The protocol may provide encryption, compression, and authentication, mechanisms and must not be limited to a single algorithm.
[0083] 10. RPC frames may be encrypted with a public encryption mechanism that will provide a spoofing/protocol protection mechanism. RPC frames must also have optional private encryption that will allow a customer to secure the RPC protocol.
[0084] When an MRPC is intended to be used with large blocks of RPC reply data from the end devices, the MRPC client can specify the maximum reply size (in bytes). If the reply size exceeds the limit, the MRPC server saves the reply data in a file and returns a universal data location descripter (e.g. URL). The client can then use a HTTP or FTP function to retrieve the data as desired. Other possible triggers for using the URL return mode include detection of high data traffic and or error levels.
[0085] Used for instant messaging, an MRPC may be implemented to gather history related to a current instant message, viewed for example via a drop down menu, even if it had been previously moving between multiple users/locations. An instant message may be replied to using an MRPC to direct it to a single, multiple or a group of target recipients. To create a guaranteed delivery or receipt upon viewing by the target user or group as the case may be, an MRPC may be used to immediately send an ack that an instant message has been viewed/received.
[0086] Another example of a MRPC implementation is Multicast File Transfer Protocol (MCFTP). MCFTP is a Reliable Multicast Protocol (RMP) which reliably, efficiently and simultaneously transports data from a single sender to multiple receivers on a multicast enabled TCP/IP network. In MCFTP, one file stream is transmitted and received by many instead of repeating a unicast file transfer for each receiver. The advantages of using a multicast transfer protocol as opposed to repeating a unicast transfer protocol are shorter delivery time and conservation of network bandwidth. The protocol is a reliable file transport method, not a time bounded reliability service as required by synchronous real-time streaming applications.
[0087] MCFTP is lightweight enough for embedded devices, reliable, scalable, secure, configurable and efficient in a wide variety of network environments, for example, networks that contain wireless devices. MCFTP is UDP based, thereby allowing IP Multicasting to be used as its delivery system. Frames may be addressed to a group of devices. The network forwards these frames to only the subnets with devices that are members of the group (via routers and IGMP). By contrast, UDP is a datagram service and does not guarantee data reliability. MCFTP provides a data transport layer above UDP and IP Multicasting services. The functions of the transport layer include handshake-based session control and transport reliability based on block sequencing, timeouts, and retransmissions.
[0088] A MCFTP server transfers a file by first announcing the file on a public multicast address. To ensure that all intended devices notice the announcement, file announcements are preferably sent to only a single (configurable) public multicast address. In embodiments with a large number of diverse clients and or sessions, multiple public multicast addresses may be used, providing a first filter layer between the target clients. A client that is granted a session is informed of the private IP multicast address and UDP port that will be used. The use of a separate IP address for each transfer prevents the inadvertent mixing of file streams that could cause file corruption. The protocol provides data transport reliability to IP multicast. This reliability is provided through address management, handshake-based session control and retransmissions.
[0089] A remote storage path may precede the file name contained in the file announcement. This controls where the clients will store the file. This will allow for remote installations based on Microsoft Corporation's current method of application installation, installing a profile to a subdirectory. The server is able to replicate a directory tree on the clients by specifying the full path of each file relative to the remote destination. The client will create any necessary subdirectories that do not exist in the path. It is preferred that all transferred files maintain the original time stamp from the server.
[0090] MCFTP is ACK/NAK based. In response to the file transfer announcement, each client requests a session with the server. Clients that are granted a session are informed of a server selected private multicast address and port where the transfer will occur. The server then sends multicast frames to the private multicast address (that the authorized receivers have joined) and receives ACKs from a designated member of the group known as the initial Master Client. After the initial Master Client has lock-stepped through the file, all other devices are given a turn as Master Client at which time any missed data frames identified by the current Master Client are NAKed and retransmitted as multicast frames by the server.
[0091] MCFTP provides for over-run recovery. The data rate is dynamically adjusted by the ACK rate of the Master Client. The receiving group will automatically control its highest possible data rate as the group changes and as network conditions change. The clients are configured with an over-run frame interval and percent lost threshold. Devices evaluate their over-run status based on their configured interval and threshold. Once a device determines that it is being over-run, it can send an indication to the server. This mechanism allows the most severely over-run client to NAK the blocks it missed and then assume the role as the new master client.
[0092] MCFTP allows for any client to leave the transfer by sending an error frame to the server. The protocol also allows late-joins. The server periodically announces the file transfer during the transmission, so late-joining hosts may request a session.
[0093] All receivers keep a bitmap of the block numbers successfully received. Each frame that is received is checked against this bitmap and the duplicates are filtered. The initial Master Client lock-steps through the file so the packets are sent and received in order. The passive clients may receive the packets out of order because all non-duplicate packets are written to a file offset where offset=(block number−1)* block size. If any data is missed (holes exist in the file), the device will use the block-number-bitmap to determine which packets to NAK when it is elected Master Client.
[0094] Rudimentary congestion control is provided by a flow control mechanism and the protocol's method of synchronizing the file transfer. Synchronization starts all clients receiving together in an attempt to reduce the number of packets that will be retransmitted. Known multicast protocols must be designed to reduce or avoid NAK implosion, MCFTP eliminates NAK implosion with the Master Client model. A TCP/IP network is dependent on the TCP congestion control mechanisms which allow all connections to share bandwidth fairly. Even though the protocol is delivering a file to many host simultaneously, at any given time, it is nothing more than a flow controlled point-to-point transfer that has many passive listeners collecting data from the stream. The protocol's lock step mechanism will help prevent the protocol from contributing to adverse network conditions such as congestion collapse. It also helps maintain protocol compatibility with congestion avoidance algorithms employed by devices such as Random Early Detection (RED) gateways. Controlling the maximum frame size at the protocol level, provides the option for globally tuning the protocol in wireless networks without having to change MAC level parameters on the end devices. Pipelining is the process of sending multiple frames before an ACK is required. The protocol's lock-step mechanism does not always allow the highest possible data rate to be achieved. A pipelining mechanism is provided to increase the data rate when the network can support higher bandwidth. Pipelining is provided by the fragmentation and re-assembly services of the IP protocol. This allows the server to send one large block of data, which IP fragments and sends as multiple frames. After IP re-assembly, the client then receives one large block of data which it ACKs. The fragmentation threshold (block size) is configurable.
[0095] It is preferred that, in MCFTP, the protocol (not just the data) is secured via encryption, for example the Blowfish encryption algorithm (variable-length key, 64-bit block cipher). In the preferred embodiment, the key is not negotiated over the network. Clients are Authenticated by being able to decrypt/encrypt the protocol successfully.
[0096] The server is aware on every MCFTP transfer which hosts successfully completed the transfer and which hosts did not. When the server announces a file, the transfer size is indicated and a client that does not have sufficient space to store the file will send a "Disk full or allocation exceeded" error to the server and not request a session. All other clients request a session that completes successfully, is denied or fails.
[0097] For peer to peer transfers, the IMS may use standard file transfer protocol (FTP) through the interface in a drag and drop format from the desktop. Copy, move, delete and rename functionality is available. By issuing, for example, a right mouse click on the tree representation of available devices shown in the browser an individual device's web page may be launched with the selected device's IP address. When viewing a device's file tree, ftp may be implemented in a drag and drop copy and or move file mode.
[0098] Other MRPCs may be performed in multi-cast fashion to create a process, terminate a process, perform a warm boot, set the clock, operate upon the registry, set attributes, create or remove directories and copy or move/delete files. Operating upon the registry, Multi-cast procedure calls may edit, create, and/or delete registry keys and get, set, and/or delete registry values. Single or multiple devices may be run virtually from the IMS console. Virtual remote control allows a complete hands-on real time or via script control to run applications, view error messages, record/playback macros, view configuration data all in a resizable virtual screen representing a single or multiple remote machines. Surveillance, quality control, activity logging and/or education plug-ins may use the virtual remote control capabilities of IMS.
[0099] To enhance real time responsiveness and minimize network bandwidth requirements, the responses of a remote device or the detailed commands to a device may be coalesced. Rather than sending a network packet with each, for example change of mouse position and or keystroke, data state change the changes may be collected and then sent in combined network packets at a set interval. The configurable coalescing interval being, for example, the selected screen update frequency when operating with a device under virtual remote control. If the network is overloaded, the coalescing interval may be extended to assist in overload reduction without requiring termination of the individual process(s).
[0100] IMS's MRPC capabilities may be used to upgrade a full operating system upon a single device or multiple devices. Subgroups for upgrading may be selected from all of the devices. Once new files are transferred, the devices may be rebooted remotely to initiate the new upgrade. A script transmitted to a potentially huge group of devices may be used to initiate, for example mouse location and button actions which can execute operations within programs or web pages.
[0101] The invention services may be configured with respect to time. Every selected device may be synchronized to a common time merely by selecting the present time on the console machine.
[0102] MRPC calls may include sub-group creation to implement commands only within a sub-group of the whole group. For example, this would allow machines missing a required file or procedure execution to obtain/perform the missing requirement in order to bring the sub-group up to "par" with other members of the group which had already performed the requirement. Scheduling of previously listed services for off-peak periods or repeating back-ups may be performed. The IMS framework allows the IDM to drill down to a specific device and the specific configurable options of the given device. Available devices may be accessed from a list in a graphical tree form from which a specific device is selected and various options available for that device then viewed and modified.
[0103] An example of a specific interface for a family of devices to the network is the low cost gateway. The low cost gateway allows a wide range of legacy products to be connected to a network for ultimate control by the invention. The low cost gateway is described in detail in the "Low Cost Gateway Functional Product Specification" hereby incorporated by reference. Reasoning and feature application for the low cost gateway is described in "Intermec Layered Host Gateway Product Marketing Requirements Rev.A" hereby incorporated by reference. Another example of an IMS plug-in is the "Intermec Management Services GUI IDRS Navigation Plug-in Functional Specification Rev.D" (INAV), attached hereto as Appendix H. The INAV plug-in provides navigation support as well as read and write access for devices in the IDRS database. The IDRS database is a registry of known network devices and their characteristics/capabilities. The INAV acts as the interface for the IDRS with the run time server, the IMS console and any other plug-ins that may be present. INAV is configurable to view either a specific device or a tree of devices in either standard or custom views. Use of the framework allows the INAV to appear seamlessly within IMS.
[0104] The invention is entitled to a range of equivalents and is to be limited only by the following claims.
Referenced by
Legal Events
Original Image


text:
Argyll Centre
Argyll is a leader in online, innovative and
distributed learning.
Registration is now open for the 2015-2016 School Year!
Are you planning on attending a different school division other than Edmonton Public Schools?
Please email Argyll Student Records
with the following information:
Name of Student
School they will be attending in 2015-2016
Secondary registration (students registered at another school and wishing to access a course through Argyll), may not use the online registration. A permission form from the primary high school must be presented when they register in person at Argyll Centre.
Argyll is no longer accepting registrations for the remainder of the 2014-2015 school year.
If you have any questions, please contact:
Grades 1 - 9: Gail Drouin -780-465-1299
Grades 10-12: Daylene Lauman or Gail Drouin - 780-465-1299
Summer School 2015
Summer school at Argyll is done in partnership with Metro Continuing Education
Register for summer school through the Metro Continuing Education website
Click Here for more information about important dates and courses offered.
NOTE: Please consider dates and diploma exam schedule when booking vacations, as no provisions will be made for late start, missed classes or early release of students.
The maximum load for summer learning is one 5‐credit or two 3‐credit courses.
You must register for Summer School classes through Metro Continuing Education
Need to change your registration?
Please use the forms below to request a program or course change on your registration.
Edmonton Public Schools' Principals and Counselors:
Facing the important challenge of scheduling student timetables?
Through our secondary registrations we have helped hundreds of students reach their goal of
high school completion over the years. We look forward to working with your students this
year in whatever way we can be of service. Click here for more information.


text:
2 Reviews
- Most Helpful
- Newest
- Highest Rating
I can't believe I have not rated this!!! I have been making this recipe for my family for sometime now. We Love it!!! What a quick delicious meal to cook on a busy work night. Thanks so much!!!
I made this last evening and everyone loved it! In addition to the chicken, I added 1/2 pound of sweet italian sausage as I have BIG MEATEATERS to feed...it was a hit! This is a fast and foolproof recipe I recommend highly. . . thanks :)


text:
Number:Lab offers comfortable basics for the man on the go. The clothing label's super-soft T-shirts, sweats and trousers are expertly tailored to look slim-fitting without feeling too tight. Number:Lab masterminds Luis Fernandez and Greg Lawrence don't skimp on style: Their wide-ranging collection—which also includes jackets, hoodies, shorts and tank tops—features futuristic details such as hidden pockets, two-toned sleeves, and a color palette dominated by cool blues.
Seasonal must-haves for the beach, the couch, and everywhere in between
Our favorite brands and styles from this week's sales
Coats by Vince Camuto, French Connection, and more, for a steal.
Nail the modern off-duty uniform with pieces by Fred Perry, Life After Denim, and more


text:
Laser World Championship
06 Jul 15
The qualifying series at the Laser World Championship in Kingston, Canada has concluded with seven races completed.
Marianne Davis
In recognition of his domination of the Laser Class over the years to such an extent that any sailor would be hard pushed to match across any other class, winning his fifth Laser World Championship title in 2001 following on from his silver medal at the 2000 Olympic Regatta.
In recognition of her extraordinary success in the 2000-2001 Vendée Globe single-handed circumnavigation. She proved that size doesn't matter by trouncing all except the winner to become the fastest single-handed female circumnavigator and placed second in the race.
It features the latest news and events from the sailing world together with features and ISAF info in an easy-to-use format.


text:
- September 4, 2011
- Static method implementation in ColdFusion
I found some discussion about static method equivalence in ColdFusion.
In C# we can declare class as static and static class can only have all the static methods and static variables. And we can call static class methods without creating its instance.
In ColdFusion we must need to create an instance of cfc. Then & then we can call it's method. To avoid creating instance each time, you can create object in Application init() function, and make it at application scope, so you can directly call the methods. But this is still a nasty approach, as we are still creating an object when Application initializes.
Then I remember that ColdFusion is not an Object Oriented Language. We make it look like OOP! It happens mostly when we use ColdBox or Model Glue or any other application framework, where most of the coding is in cfc only. Now a days people are using cfscript tag more as Lots of tags are now available in cfscript. And when we use cfscript tag we, feel like it's an OOP language! But remember ColdFusion is a scripting language as PHP and Classic asp. cfscript tag itself trying to remind us by its name!
- By Vikas
- Comments(0)
- August 27, 2011
- sql server(store procedure) mechanism convert empty string date parameter to initial date(1900-01-01)
Hello Friends, It may you know about it but I would like to share this thing with you. We were working on one of project where we faced issue. we are storing data through sql server store procedure using date parameter. As per our logic, the date parameter has not date value it may be empty string. Whenever date parameter has empty string sql server store initial date(1900-01-01) in the date field. We checked our whole logic to find out how the initial date come if date parameter has an ...
- By Bharat Patel
- Comments(0)
- August 19, 2011
- Work around ColdFusion local scope
Hi friends,
These days am working as a tester. I never thought that developer can also do that if they really take interest in testing! Infect someone can also learn from the testing, even testing can also test their understanding for knowledge.
While testing I saw one case where I get more variable in the array object other then I defined. Then I again take a look and I came to know that local variable was causing an issue.
Let me give you some examples and exercise. Make sure that before you see the output just think what would be the output. Consider that all following code is written in sample cfml page and we are using ColdFusion 9.
- By Vikas
- Comments(1)
- August 17, 2011
- Bug - count() function in ColdFusion query of query
It has been a great time since I started working on ColdFusion. I must say that it is the easiest language in the world and yet it is a powerful and can be compared to any major programming language.
In last few days, I was using ColdBox and MockBox framework in our current project. I was using query of query which is very similar to SQL query, and we can use it over query object in ColdFusion.
Count() is a math function, but if we use it with select statement like count(*), it returns a number of rows fetched in select query. I used it query of query, and it was giving me the correct count if my select statement is returning some rows, but if it is not returning any row then ideally it should give 0 as output, but it gives [empty string].
- By Vikas
- Comments(0)
- August 8, 2011
- How to use SQLite manager extension in Firefox?
Hi friends,
It was really strange when I installed an extension from Mozilla and I cannot find how to use it!!
Well Then I think there must be an icon, which I don't see on tool bar.
Right click on the top of the Firefox, and choose customize.
Then look for the SQLite icon, drag it to toolbar. Click on the icon to use it.
Simple? I can't say, because I find bit difficult!
- Comments(14)
- August 8, 2011
- Understanding event handler and parallel processing
These days I am trying to play with browser's local database. I get very much interesting experience while assigning a value to variable.
I used the following code in JavaScript (Only works in Firefox) ...
- By Vikas
- Comments(0)
- August 6, 2011
- How to use query of query in cfscript
We can use queries of queries in cfscript with the Query.cfc. But this is possible in Coldfusion 9 because Query.cfc has introduced in Coldfusion 9.
Let's see the following code ...
- Comments(0)
- August 6, 2011
- Introduction to HTM5 local data storage
Hi friend,
I am doing some research on HTML5 supported client side local storage.
HTML5 introduces some new concept to store information on client pc. It is very help and opens a new dimension to create offline applications.
For local storage, HTML5 accepts use of SQLite database. Each of the method uses SQLite database. There are main three methods:
1. localStorage
2. Web SQL
3. IndexedDB
- By VIkas
- Comments(1)
- August 4, 2011
- CF Builder Error: "Unhandled event loop execution" when trying install new software
Got new project and started working this, going through documentation provided by client and where he mention code repository will be Git. Well, we use SVN for code version but never used Git, I do have idea about GIT and account in Github site but never get chance to look into it. As ususal to start with GIT first of all I look for eclipse plugin for this and found one at http://eclipse.org/egit/. Thoguht to give try and click menu "Help >> Install New Software..." and get alert need to start builder with administrator. I guess this is because CFBuilder installed on program files folder which usually require administrative access to add/remove files in it. So restarted cfbuilder with administrative access and again click on same menu but this time nothing happen, tried twice, thrice but nothing happen.
- Comments(0)
- July 20, 2011
- Camera and read directory was not working in BlackBerry 5.0 PhoneGap application - solved
Camera and read directory was not working in BlackBerry models with OS 5.0 when using PhoneGap.
I had deleted json2.js file reference from my html page, because I was not using this js library anywhere in my project.
After spending 2 hours, I realize that this file was used by PhoneGap js api to use camera and read directory, specially in 5.0 OS devices.
I didn't find significance of this file in PhoneGap documentation. That's why developers will survive in open source market.
- By Vikas
- Comments(0)


text:
Break celebrates 4th of July the American Way: by laying the smack down on ...
With the 4th of July around the corner, we celebrate the most kick-ass USA ...
Dude, are you drunk AND high? Or are you just being PRANKED?!
An actual advert in London
This BP station is in Orange Beach, AL right across from the oil covered be...
This BP station is in Orange Beach, AL right across from the oil covered be...
Advertising Fail
truck advertisement fail
Hotel behind a cemetary using the fence to advertise. -Fail.
Truth In Advertising
Best Advertising Ever
This Is How To Advertise
At least this medicine is being honest for once.
Advertising < This
A local boutique put this poster up in their stores window.
Advertise for FREE on www.onlinevertisements.com no contracts, no commitmen...
me, black and white w/ pink bra, blurry background
I don't know how they plan this websites out, but bravo to the Denver post.
False Advertising!


text:
Skymark to stop flying the A330 from February after the type was inaugurated just six months ago. Picture here landing at CTS during a heavy snowstorm.
I'll imagine most airports would have stopped operation in a heavy snowstorm like this. Not CTS! Their answer is to close one runway for their very efficient snow-removal team to work on while kee... (more)


text:
Articles on Python
8 months ago
Configuring Django Apps for Heroku
Deploying Django applications to Heroku.
10 months ago
Concurrency and Database Connections in Django
Configuring database connections to use a connection pool for apps running with Django and a multi-process web server.
Getting Started with Python on Heroku
A step-by-step guide for deploying your first Python app and mastering the basics of Heroku
Using Celery on Heroku
How to use the Celery asynchronous worker system on Heroku.
1 year ago
Deploying Python Applications with Gunicorn
Configuring Python applications to use the Gunicorn web server, enabling the concurrent processing incoming HTTP requests.
Using WebSockets on Heroku with Python
A tutorial showing how to build and deploy a Python Flask application application that uses a WebSocket.
2 years ago
Direct to S3 File Uploads in Python
Upload files direct to S3 using Python and avoid tying up a dyno.
Scaling a Django Application with Memcache
Create a simple application in Django, deploy it to Heroku, then add caching with Memcache to alleviate a performance bottleneck.
3 years ago
Scheduled Jobs with Custom Clock Processes in Python with APScheduler
Creating a custom scheduling process using APScheduler.
Background Tasks in Python with RQ
Add background workers to your Python application with RQ.
Getting Started with Django on Heroku
Developing and deploying a Python/Django application to Heroku.
Getting Started with Python on Heroku
Create, configure, deploy and scale a Python application on Heroku, using Pip to manage dependencies.
Python FAQ
Understand how Python applications are managed and run on Heroku.