



For a blast from the past, you could take a look back at Steve Jobs' original 1992 introduction demo of [url=http://youtube.com/watch?v=j02b8Fuz73A]NEXTSTEP 3.0 [/url] -- courtesy of YouTube. It's a 35-minute demo that really demonstrates how phenomenal the NeXTSTEP OS really was for it's time. Of course NeXT's open version of NeXTSTEP, branded OpenStep, later became the foundation of Apple's current OS X.
The "Big Question" becomes: why did Apple have this patent published in Germany at the end of July 2006 - so close to Apple's World Wide Developer Conference (WWDC)? Is this some kind of patent hiccup in the system or is it really a hint of things to come? Being that the patent is really about a browser-like vehicle doubling as an "Extensible, replaceable network component system,†which has yet to surface from Apple, could this be something which could surface in 2007? More importantly, will Apple discuss such a platform at their WWDC next week?
Apple's patent ending summary
In summary, the novel network system described herein captures the essence of a "component-based" approach to browsing and retrieving network-oriented information as opposed to the monolithic application-based approach of prior browsing systems. Advantages of such a component-based system include the ability to easily replace and extend components because of the cooperating relationship between the novel network-oriented component system and the underlying component architecture. This relationship also facilitates "seamless" integration and cooperation between components and component viewing editors when confronted with differing data types and formats.
While there has been shown and described an illustrative embodiment for implementing an extensible and replaceable network component system, it is to be understood that various other adaptations and modifications may be made within the spirit and scope of the invention. For example, additional system software routines may be used when implementing the invention in various applications. These additional system routines include dynamic link libraries (DLL), which are program files containing collections of window environment and networking functions designed to perform specific classes of operations. These functions are invoked as needed by the software component layer to perform the desired operations. Specifically, DLLs, which are generally well-known, may be used to interact with the component layer and window manager to provide network-specific components and functions.
The foregoing description has been directed to specific embodiments of this invention. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.
Patent detail excerpts
Apple's network-oriented component system
Note: The following was taken from Apple's 2001 patent number US6212575 (B1) which is referenced in relation to the July 2006 European filing noted above:
As noted, the present invention is based on a modular document computing arrangement as provided by an underlying software component architecture, rather than the typical application-based environment of prior computing systems. FIG. 4 is a highly schematized diagram of the hardware and software elements of a layered component computing arrangement 400 that includes the novel network-oriented component system of the invention. At the lowest level there is the computer hardware, shown as layer 410. Interfacing with the hardware is a conventional operating system layer 420 that includes a window manager, a graphic system, a file system and network-specific interfacing, such as a TCP/IP protocol stack and an Apple-talk protocol stack.
The software component architecture is preferably implemented as a component architecture layer 430. Although it is shown as overlaying the operating system 420, the component architecture layer 430 is actually independent of the operating system and, more precisely, resides side-by-side with the operating system. This relationship allows the component architecture to exist on multiple platforms that employ different operating systems.
In accordance with the present invention, a novel network:oriented component layer 450 contains the underlying technology for implementing the extensible and replaceable network component system that delivers services and facilitates development of navigation components directed to computer networks, such as the Internet. As described further herein, this technology includes novel application programming interfaces (APIs) that facilitate communication among components to ensure integration with the underlying component architecture layer 430. These novel APIs are preferably delivered in the form of objects in a class hierarchy.
Interaction between component, component layer and OS
FIG. 5 is a schematic illustration of the interaction of a component 502, software component layer 506 and an operating system 510 of a computer 500, which is similar to, and has equivalent elements of, the client computer 200 of FIG. 2. As noted, the network component layer 450 (FIG. 4) is integrated with the component architecture layer 430 to provide a cooperating architecture that allows any component to be replaced or extended, and allows new components to be added, without affecting operation of the network component system; accordingly, for purposes of the present discussion, the layers 430 and 450 may be treated as a single software component layer 506.
The component 502, component layer 506 and operating system 510 interact to control and coordinate the operations of the computer 500 and their interaction is illustrated schematically by arrows 504 and 508. In order to display information on a screen display 535, the component 502 and component layer 506 cooperate to generate and send display commands to a window manager 514 of the operating system 510. The window manager 514 stores information directly (via arrow 516) into a screen buffer 520.
The window manager 514 is a system software routine that is generally responsible for managing windows 544 that the user views during operation of the network component system. That is, it is generally the task of the window manager to keep track of the location and size of the window and window areas which must be drawn and redrawn in connection with the network component system of the present invention.
Under control of various hardware and software in the system, the contents of the screen buffer 520 are read out of the buffer and provided, as indicated schematically by arrow 522, to a display adapter 526. The display adapter contains hardware and software (sometimes in the form of firmware) which converts the information in the screen buffer 520 to a form which can be used to drive a display screen 535 of a monitor 532. The monitor 532 is connected to display adapter 526 by cable 528.
Similarly, in order to transfer information as a packet over the computer networks, the component 502 and component layer 506 cooperate to generate and send network commands, such as remote procedure calls, to a network-specific interface 540 of the operating system 510. The network interface comprises system software routines, such as "stub" procedure software and protocol stacks, that are generally responsible for formatting the information into a predetermined packet format according to the specific network protocol used, e.g., TCP/IP or Apple-talk protocol.
Specifically, the network interface 540 stores the packet directly (via arrow 556) into a network buffer 560. Under control of the hardware and software in the system, the contents of the network buffer 560 are provided, as indicated schematically by arrow 562, to a network adapter 566. The network adapter incorporates the software and hardware, i.e., electrical and mechanical interchange circuits and characteristics, needed to interface with the particular computer networks 550. The adapter 566 is connected to the computer networks 550 by cable 568.
As will be understood by those skilled in the art, OOP techniques involve the definition, creation, use and destruction of "objects". These objects are software entities comprising data elements and routines, or functions, which manipulate the data elements. The data and related functions are treated by the software as an entity that can be created, used and deleted as if it were a single item. Together, the data and functions enable objects to model virtually any real-world entity in terms of its characteristics, which can be represented by the data elements, and its behavior, which can be represented by its data manipulation functions. In this way, objects can model concrete things like computers, while also modeling abstract concepts like numbers or geometrical designs.
Objects are defined by creating "classes" which are not objects themselves, but which act as templates that instruct the compiler how to construct an actual object. A class may, for example, specify the number and type of data variables and the steps involved in the functions which manipulate the data. An object is actually created in the program by means of a special function called a "constructor" which uses the corresponding class definition and additional information, such as arguments provided during object creation, to construct the object. Likewise objects are destroyed by a special function called a "destructor". Objects may be used by manipulating their data and invoking their functions.
Although OOP offers significant improvements over other programming concepts, software development still requires significant outlays of time and effort, especially if no pre-existing software is available for modification. Consequently, a prior art approach has been to provide a developer with a set of predefined, interconnected classes which create a set of objects and additional miscellaneous routines that are all directed to performing commonly-encountered tasks in a particular environment. Such predefined classes and libraries are typically called "frameworks" and essentially provide a pre-fabricated structure for a working document.
Interaction between a component, component layer and a window manager is illustrated in greater detail in FIG. 6.
Referring again to FIG. 6, the window object 630 and the graphic interface object 650 are elements of a graphical user interface of a network component system having a customizable framework for greatly enhancing the ability of a user to navigate or browse through information stored on servers coupled to the network. Moreover, the novel network system provides a platform for developing network navigation components for operation on a variety of hardware and software computer systems.
As noted, the network components are preferably implemented as objects and communication among the network component objects is effected through novel application programming interfaces (APIs). These APIs are preferably delivered in the form of objects in a class hierarchy that is extensible so that developers can create new components and editors. From an implementation viewpoint, the objects can be subclassed and can inherit from base classes to build customized components allow users to see different kinds of data using different kinds of protocols, or to create components that function differently from existing components.
Notice
Macsimum News presents only a brief summary of patents with associated graphic(s) for journalistic news purposes as each such patent application and/or grant is revealed by the U.S. Patent & Trade Office. Readers are cautioned that the full text of any patent applications and/or grants should be read in its entirety for further details.
The inventors listed on Apple's patent are A. Cleron, Stephen Fisher and Timo Bruck.
Neo's Notes
One of the cornerstones of this patent is OpenDoc. During a fireside chat with Steve Jobs in 1997, he touched on OpenDoc being the wrong underlying technology. However, according to [url=http://developer.apple.com/adcnews/pastissues/devnews052397.htm]Apple Developer News[/url] back then, " Jobs talked about how there are still plenty of opportunities to create great products from established technologies. Apple for example is well positioned to revolutionize network management just as it revolutionized the PC user experience."
It could very well be that the time is now right for this one-time revolutionary idea/project/patent to finally come to market. If true, then the underlying OpenDoc technology has likely been replaced by Web Objects. In my opinion, what this patent is really about is the Next Wave of the Internet version of Safari. Will we see a preview of this at Apple's WWDC next week or will we have to wait for this surprise when Apple's launches their next iteration of OS X dubbed Leopard? Time will tell.
And just in case you didn't quite happen to get the meaning of this patent, it boils down to this. It's a model of a next generation browser-like vehicle that will allow applications written with Web Objects and/or Java to run within the browser as part of OS X or independently on other platforms. It's very much like Apple's iTunes Music Store is today whereby it's both a part of Apple's OS X and yet can run independently as it now appears on Microsoft's Windows Operating System. In fact the principles of this patent prove out Apple's iTMS model. Now simply add the next generation of Safari to the mix and voila.
The difference of course is that an advanced browser as was described would be able to run web-based business applications from the likes of IBM, Oracle and so forth along side simpler applications such as Apple's Widgets. When you think about it, it's about running Web 2.0 applications. But what the heck, Web 2.0 is simply what Apple had dubbed early on in 2001 as pertaining to the Next Wave of the Internet. Yes, it began with iTunes, but then there's so much more on the way!
At the end of the day, I'm more inclined to see this patent's resurrection-of-sorts as a hint of things to come rather than it being a simple patent process hiccup.
If you have an opinion on this patent report, then {encode=neo@macsimumnews.com title=Email Neo}



