Apple aims to take down Android by court order
By Scott M. Fulton, III | Published March 2, 2010, 4:07 PM
At the heart of Apple's very serious charges against HTC -- among the most prominent manufacturers of Android-based phones today -- is whether the methodology Android uses to run Java programs using a specialized derivative of the Java Virtual Machine, called Dalvik, actually borrowed (or stole) ideas directly from the NeXT operating system. NeXTSTEP, you may recall, included radical innovations to the system kernel enabling inter-application communication (IAC), on a level far beyond anything Macintosh had used at the time. It was Steve Jobs' revenge against the company that had spurned him, and as history has borne out, Jobs was the victor in that little skirmish.
One of the ten patents Apple is defending in its lawsuit against HTC, drafted yesterday and filed this morning in US District Court in Delaware, deals specifically with NeXT's methodology. Apple acquired NeXT at the end of 1996, which is how Jobs re-entered the universe of Apple -- many believe, to have saved the company. Earlier that year, NeXT received a patent on a framework for IAC designed to compete with COM/DCOM and CORBA, the two other leading object methodologies of the time.
Though the complaint Apple filed with the US International Trade Commission this morning was officially under seal, it managed to get posted to Scribd this afternoon.
Apple's complaint describes the concept behind the first of its ten defended patents briefly: "As a general rule, separate processes execute independently (even when they may be executed simultaneously), and software within one process cannot directly access resources from or make calls on software within another process. Conventional methods for inter-process communication often required the software programmer to understand and utilize low-level operating system functionalities. The '721 patent describes a more efficient method for inter-process communication by way of a proxy object, which exists in a local process and acts as a local representation of objects that are located in a different process."
The typical problem with objects, or object-oriented components, in an operating system is that they don't really speak each other's language -- or more accurately, that they don't have a common language to speak. In Microsoft's COM, still at the heart of Windows, that problem is resolved through the System Registry. Windows components all share a few common functions, whose sole purpose is to enable them to discover one another. Once they've done that, they can share information from the Registry to connect them with each other's interfaces, and from there, they acquire each other's vernacular of functions they can perform. I've often said it's not so much like two foreign objects learning a common language, as much as deciding what storage room they can meet in that contains enough other objects they can point to, so they can identify what it is they want for now.
NeXT handled this problem differently, innovating new concepts that would replace COM's mutual interface exchange with what many at the time felt to be a more elegant methodology. The kernel of the NeXT operating system (and successors based on it, including the current MacOS X) is called Mach. Instead of relying upon binary interfaces, Mach let developers write IAC messages using Objective-C -- a language that for many years has been Apple's ace-in-the-hole. Mach handled all the translation, into streams of primitives that are shared with other objects using Internet-like communications protocols. Although objects still communicated with each other by way of proxy, as was the case with COM, the stream they set up with one another was a port. All the objects that have rights to communicate on that port, formed a domain.
From Apple's/NeXT's US Patent #5,481,721, which is central to the dispute: "The present invention provides a means for implementing an extensible, distributed program in which one task is responsible for creating other tasks to communicate with. This is a master/slave relationship; the master can provide the slave with send rights to the master's port as part of the creation process. When the slave starts executing, it sends a Mach message containing send rights to its port and a token for its first proxy back to the master. The master then replies with an indication of whether the connection is granted, and what token to use for the first proxy. This 'bootstrap-meta-protocol' results in both tasks knowing about each other, allowing communication to ensue."
What the objects say to one another over this shared port is almost immaterial to the patent; it's the method through which the port is negotiated and managed around which Mach's technology, and its associated patent, are based. The concepts you've just read about up to this point may become the critical points of debate over the next few years, assuming Apple's case against Android goes to trial, and also assuming (quite likely) that it will involve more competitive manufacturers than HTC. It's one thing to be open, but you can't open somebody else's ideas.
But did Android do that? Even prior to today's case, there's actually been considerable debate among developers over why Android did not appear to take the Objective-C route.
Android's runtime interpreter is a kind of Java that isn't really Java. That is to say, Android's Dalvik runs Java code, but it compiles it down to a different bytecode than a true Java virtual machine (VM). The Android Developers' forum explains that the system does this for relative efficiency: "Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included 'dx' tool."
Certainly it may seem efficient from the point of view of a developer who simply wants to get his app built. But in terms of processing efficiency, there's considerable complaint that Dalvik is actually inefficient, evidence for which appears in Google's own benchmark results for Dalvik apps compared to Sun Java and complied C.
While NeXT's patented IAC process adopts an elegant communications scheme, Dalvik approaches the problem of sharing via a more direct, if costly, route -- efficient in the sense that it doesn't appear to require a patent to explain it. Seattle-based mobile software engineer Koushik Dutta cast a sharp spotlight on what he considered Android's inefficiencies, in a post for his personal blog in January 2009, comparing Dalvik to what he perceived as the much more efficient scheme adopted by Mono, the open source, cross-platform work-alike to Microsoft's .NET: "The two line summary is that Dalvik is designed to minimize memory usage by maximizing shared memory. The memory that Dalvik is sharing are the common framework dex files and application dex files (dex is the byte code the Dalvik interpreter runs). The first thing that bugged me about this design, is that sharing the code segments of dex files would be completely unnecessary if the applications were purely native. In Linux, the code segments of libraries are shared by all processes anyways. So, realistically, there is no benefit in doing this.
"If the battery is the primary constraint on the device, why is Dalvik so concerned with minimizing memory usage?" Dutta continued. "I am by no means a VM design guru...but I can say the following with certainty...Battery life is primarily affected by how much you tax the processor and the other hardware components of the device, especially the use of 3G/EDGE and Wi-Fi radios. Interpreting byte code will tax the processor and thus the battery much more than native/JIT [just-in-time] code...Modern (Dream/iPhone comparable) hardware running Windows Mobile is rarely memory constrained, and they don't have a fancy memory sharing runtime...If all applications can suspend and restore at the system's whim, then memory consumption is trivialized."
Dutta's explanation, in summary, appears to contrast the architecture of operating systems that adopt the principle of minimizing their memory footprints (Android) against those that take the more direct approach of suspending some apps for others to run (iPhone). Here's where it is important to note that Apple does not appear to be defending its iPhone, but rather technologies that are actually more relevant to MacOS.
Nevertheless, it may be the very inefficiencies that Dutta pointed out, that could be Android's saving grace in its upcoming battle against Apple. If Android is indeed as inefficient as some say it is, it may not be violating anyone's patent at all.
Authorities say Apple has sued HTC, accusing their biggest rival of violating patents relating to the iphone. Apparently many features loved about the HTC (or android) were originally taken from iphone software. Actually Samsung is in turn suing Apple for other technologies. I think these companies are abusing the way we are supposed to use patent laws. Such a “dog eat dog world”. In the end they will all lose, either money or reputation. But I guess I would also be pretty upset if a company stole my inventions and said they were theirs. I got some facts here. http://ketiva.com/Comput...t/apple_fights_htc.html
Score: 0
|Folks you should read this comment so you can see way you all could be wrong.
http://www.thomas-fitzge...n-the-apple-htc-lawsuit/
Score: 0
|Did Daryl McBride find a new job?
Score: 0
|I'm surprised we haven't heard from "therealbillybob" lately about this article.
What was it "therealbillybob" used to say,
"Apple and Google are BFF!"
"Enemy of my enemy is my friend!"
"Apple and Google only compete on friendly terms!"
Hey Billybob, is this lawsuit "innovative" or is it an "incremental improvement" compared to past lawsuits?
Score: 1
|Long before IAC, there was ARexx. Is Apple going to sue Commodore? Haha.
It smells like Steve has been loosing momentum lately.
Score: 2
|Apple truly is playing with fire, and they are going to get burned. I'm sure Google has an arsenal of patents, and Google is not going to like this latest idiocy one single bit. Not to mention HTC might counter sue with it's own patents.
I think this really shows major weakness on Apple's part. They are now officially worried about competing, since they evidently can't innovate anymore - just look at the iPad, a worthless, pointless, piece of crap, joke of a product.
Steve Jobs' mojo is now gone. He can't innovate anymore, so he's going to try to stop his competitors through the courts. Good luck with that, buddy.
Score: 2
|How many features can be packed into a phone... The apps are almost the same, Just Android is a mostly open system supported by many vendors and will simply saturate the market from low to high-end. Apple with its premium pricing and closed garden mentality will over time just play a fringe role for people with a fat wallet. Apple are not stupid they try to fight it off but I doubt they have a chance. As mobile computing evolves to become more powerful and energy efficient it will become more and more pervasive. It would be a disaster if Apple were allowed to go ahead with this nonsense.
Score: 2
|I may well be that this will come down to HTC et al making a claim to prior art and public domain.
Score: 1
|This is kind of like the child suing the father because the father violated the child's patent on how to have sex.
Unfortunately, Apple has it in with the Media J*ws and the j*ws that control the court system so this fiasco might actually get serious attention.
Score: -2
|What's your agenda?
Score: -3
|I think Apple has really opend up a can of worms here. These "process" patents have been under scrutiny for a while now. Some companies like IBM (the leader in patent filing for the last umpteen years by the way) have talked about revamping the patent process to get away from this kind of thing. It will be interesting to see if the actual implementation methodology comes into play here at all. I for one hope it does! I think quite a bit of the implementation is down in the Linux kernel - not up in the Dalvic layer. Somebody correct me if I am wrong.
Score: 0
|Every communication protocol - COM, CORBA, NeXT - is a variation of client/server (or master/slave) together with some sort of marshalling/piping mechanism.
Nothing new has been made under the Sun (pun).
Score: 0
|Oh no! Now that I read this closely, our 1996 WINSERVER (Wildcat! Interactive Net Server), an RPC client/server framework (http://www.santronics.com) is in voilation of Apple's patent - OH CRAP! This can not be allowed. Time to speak to attorney and also write complaints to the FTC.
Apple is trying to take control of centralization and off-loaded telecommunications. People need to see the ONE BBSCON (now called ONE ISPCON) Trade show in 1993/94 where dozens of companies introduced client/server software with special frontends. RIP was one of them. RoboFX was another. We demostranted Gold Xpress, an GUI frontend Offline Mailer. Wildcat! Navigator (our own GUI frontend) was introduced in 1996!, since active today as desktop panel for frontend mail, file, chat IM activity, http://www.winserver.com/public/wcnavigator.wct.
If Apple prevails that means all companies that did this and are doing it more, like Adobe Flex and Microsoft WP7 asnd SilverLight and Google Chrome are victims. Ever wonder why Apple didn't want Flash? It wasn't because that it didn't work on the iPhone, it is because it threaten Apple and with the iPAD comming and Apple seeing that people are crying for Flash Support, Jobs is trying to take as much control now before it becomes a new multi-competitive market for small device frontends, surely to threaten the Apple iEverything network.
WOW!!
Score: 2
|Well, at least my Citadel BBS is still safe...
Score: 0
|If things keep going the way they are, I might be restarting our TriBBS soon. I made some killer RIP interfaces back then. And yeah, Apple is clearly terrified of Android. I expect they'll soon be slinging more FUD at Android than Microsoft ever did at Linux. This could even be another Caldera getting ready to blow.
Score: 1
|"This could even be another Caldera getting ready to blow."
That....was awesome. Pure genius.
(For those that don't get it, I am not going to ruin it for you by explaining it...hit the Google)
Score: 0
|It is rather ironic that Apple is using this for obvious commercial leverage. For the real story on the technology origin, read "From RIG to Accent to Mach" by Richard F. Rashid in Proceedings of the 1986 ACM Conference. A good amount of Rashid's work at Rochester and CMU was DARPA funded (i.e., US taxpayer funded) as I recall, and certainly the ideas being discussed in this article long predate NeXTSTEP.
Score: 2
|@gasubic. the problem is that 1996 is the new timeline for patented technology. Pre-1996 technology, most could not be patented in the first, does not "exist" per post 1996 patent rules. Seriously some call it the new "technology clock". In short, today, you can patent your farts by simply describing the steps to make and blow one! Being in the telecommunitions market for nearly 30 years, it is really sad to see how companies (anyone really) patent anything simply because everyone else though it was obvious and didn't bother or were not able to because the pre-1996 patent requirements were more stringent. Today, you don't even need to mention prior art until after the fact. Before, you can be fined and charged with a crime for intentional neglect of prior art.
Score: 2
|This is kind of like the child suing the father because the father violated the child's patent on how to have sex.
Unfortunately, Apple has it in with the Media J*ws and the j*ws that control the court system so this fiasco might actually get serious attention.
Score: -4
|@gasubic. True, this is exacltly what they are trying to sue HTC on. I have stated over and over in the past; APPLE DOES NOT HAVE ANY ENGINEERS AND THEY HAVE NO IDEA WHERE ANY OF THE OLD FREEWARE SOFTWARE THEY ARE PEDDLING CAME FROM!
We learned about the message-passing infrastracture in the FREEWARE MACH OS kernel (which has been illegally branded as iPhone OS and Mac OS X) in our Computer Science OS class textbook "Modern Operating Systems" -- IN 1992 -- MACH served as the microkernel inside the early Linux variant that we used in school in the early 1990's. Even the outer kernel of Mac OS X/iPhone OS, is the FREELY AVAILABLE BSD! The morons at Apple have never understood this. I was trying to convince their so called "engineers" from their Graphics/Colorsync group that Mac OS X (which "they developed") is based on both BSD and MACH kernels and they just didn't accept it! hahahahaha
Score: 1
|You can say 'Jew' if you want. And people can judge your comments for themselves.
Score: 0
|I'm getting so sick and tired of Apple - talk about Rotten Apples!.
This time, I really hope GOOGLE (and Microsoft) just says, "Ok, you win. Will pay the license" and then let competition take fruit to see who wins.
Apple will shallow their own adam's apple and say '"Ok, what?, No! Wait!" and will violate the US Constitution which allows for american right to licensed usage of patented technolgy in order to build better mouse traps and Apple will attempt to stop everyone without allowing for a license. At that point, it become an Anti-Trust violation!
So GOOGLE, MICROSOFT, right or wrong, give Apple what they wish for and divert your legal fees to paying the Apple license which Apple will have no choice to honor and simply built the better mouse trap.
Score: -1
|Yeah, right. Spend all of your money on licensing fees so you won't have enough money left to develop a quality product. That makes a lot of sense. The legal fees would be much less, at least when you're dealing with Apple. Apple has as much of a chance of winning this lawsuit as they did when they accused Microsoft of copying the Mac OS X user interface.
Score: 0
|Um...the equivalent Android technology to Next IPC would be the Binder interfaces and kernel driver, which you don't mention, but which are similar to the Next IPC described. The fact that Android shares dex (on top of Linux shared pages) and is possibly inefficient doing so seems, to me, to be irrelevant to the argument at hand.
Score: 0
|Completely agree with SMFulton3 although need to add that Apple predicts danger from Android's magic.
The good thing about modern times is that no company really rules for long time. Long gone are the days that knowledge was the treasure. Now if companies want to make money they will share that knowledge so everyone can use it and not anything else. Market is full of options.
Godbless OB :)
Score: 0
|It's silly to patent anything about inter-process communication. There are dozens of schemes, mostly one building on top of another's ideas. As if queuing principles were patentable. It shouldn't be hard to demonstrate just exactly how similar NeXT's ideas were to those that went before it (and after). Short of having swiped the actual code HTC should be safe (or Google for that matter). If for some reason, however, Apple should prevail I can only hope all the other contenders will attack it's carcass with exactly the same claims Apple makes now. It's preposterous.
Score: 2
|"The typical problem with objects, or object-oriented components, in an operating system is that they don't really speak each other's language -- or more accurately, that they don't have a common language to speak. In Microsoft's COM, still at the heart of Windows, that problem is resolved through the System Registry."
This is correct for the most part in the upper layer of Windows; however, in NT itself there is the IPC and Object Manager, as NT does communicate internally as a object based OS.
Object oriented communication is the hallmark of the NT architecture model and why the CLI Powershell is impressive, as it is the first CLI to be running on a Object Based OS and able to deal with Objects and References directly instead of textual and pipelining communication methods.
Apple is playing with fire with all of this, because if they go after MS or force MS to get involved, MS could destroy virtually every Apple Product with patent infringement and prior art.
Score: 3
|Thanks for a very informative piece Scott. I don't pretend to comprehend it, but I can now see it is not a multi-touch infringement. It's much deeper than that.
I also don't understand why Apple is suing HTC and not Google. I'm sure it's related to "follow the money", but I'm lost after that. I do know that I'll understand the technology long before I understand the legality.
Score: 3
|Apple is suing HTC and not Google because like a wimp , they know they can't face up the giant and now trying to fight by proxy by taking on the outside who is helping the giant...wimpy apple.
Score: 5
|Thank you, Dave. My feeling is, Apple wants to set a precedent for holding manufacturers responsible for choosing Android. If Apple were to sue Google, it would have to contest the theory that Android is "Google's operating system," and we'd go down that whole "open ecosystem" defense that would play right into Google's hands. No, I think the idea here is to make manufacturers think twice before investing too heavily in Android.
-SF "Been Down This Road Before" 3
Score: 2
|I agree. It's a scare tactic. Google will have to reassure the Android community that there is no threat. Let's see how they will dive into this.
Score: 3
|You are dumb just like you comments - quite clever for a 'shallot' - a vegetable - Apple is just as Big as Google if not bigger
Score: -7
|Apple is suing HTC because they are the ones that make the product. Google just produces a piece of it. Think of it like this. Toyota is being sued because of the stuck pedals and the 3rd party company that makes the pedals aren't.
Score: 0
|