An object-oriented graphic system is disclosed including a processor with an attached display, storage and object-oriented operating system. The graphic system builds a component object in the storage of the processor for managing graphic processing. The processor includes an object for connecting one or more graphic devices to various objects responsible for tasks such as graphic accelerators, frame buffers, page description languages and vector engines. The system is fully extensible and includes polymorphic processing built into each of the support objects. |
Citations|
| US4821220 | Jul 25, 1986 | Apr 11, 1989 | Tektronix, Inc. | System for animating program operation and displaying time-based relationships | | US4885717 | Sep 25, 1986 | Dec 5, 1989 | Tektronix, Inc. | System for graphically representing operation of object-oriented programs | | US4891630 | Apr 22, 1988 | Jan 2, 1990 | | Computer vision system with improved object orientation technique | | US4953080 | Apr 25, 1988 | Aug 28, 1990 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system | | US5041992 | Oct 24, 1988 | Aug 20, 1991 | University of Pittsburgh | Interactive method of developing software interfaces | | US5050090 | Mar 30, 1989 | Sep 17, 1991 | R. J. Reynolds Tobacco Company | Object placement method and apparatus | | US5060276 | May 31, 1989 | Oct 22, 1991 | AT&T Bell Laboratories | Technique for object orientation detection using a feed-forward neural network | | US5075848 | Dec 22, 1989 | Dec 24, 1991 | Intel Corporation | Object lifetime control in an object-oriented memory protection mechanism | | US5093914 | Dec 15, 1989 | Mar 3, 1992 | AT&T Bell Laboratories | Method of controlling the execution of object-oriented programs | | US5119475 | Aug 29, 1991 | Jun 2, 1992 | Schlumberger Technology Corporation | Object-oriented framework for menu definition | | US5125091 | Jun 8, 1989 | Jun 23, 1992 | Hazox Corporation | Object oriented control of real-time processing | | US5133075 | Dec 19, 1988 | Jul 21, 1992 | Hewlett-Packard Company | Method of monitoring changes in attribute values of object in an object-oriented database | | US5136705 | Jun 10, 1991 | Aug 4, 1992 | Tektronix, Inc. | Method of generating instruction sequences for controlling data flow processes | | US5151987 | Oct 23, 1990 | Sep 29, 1992 | International Business Machines Corporation | Recovery objects in an object oriented computing environment | | US5181162 | Dec 6, 1989 | Jan 19, 1993 | Eastman Kodak Company | Document management and production system | | US5241625 | Nov 27, 1990 | Aug 31, 1993 | Farallon Computing, Inc. | Screen image sharing among heterogeneous computers | | US5265206 | Oct 23, 1990 | Nov 23, 1993 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment | | US5297279 | May 30, 1990 | Mar 22, 1994 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
Referenced by|
| US5682468 | Jan 23, 1995 | Oct 28, 1997 | Intergraph Corporation | OLE for design and modeling | | US5692184 | May 9, 1995 | Nov 25, 1997 | Intergraph Corporation | Object relationship management system | | US5727220 | Nov 29, 1995 | Mar 10, 1998 | International Business Machines Corporation | Method and system for caching and referencing cached document pages utilizing a presentation data stream | | US5801717 | Apr 25, 1996 | Sep 1, 1998 | Microsoft Corporation | Method and system in display device interface for managing surface memory | | US5812150 | Apr 28, 1995 | Sep 22, 1998 | ATI Technologies Inc. | Device synchronization on a graphics accelerator | | US5844569 | Apr 25, 1996 | Dec 1, 1998 | Microsoft Corporation | Display device interface including support for generalized flipping of surfaces | | US5850232 | Apr 25, 1996 | Dec 15, 1998 | Microsoft Corporation | Method and system for flipping images in a window using overlays | | US5873106 | Sep 18, 1995 | Feb 16, 1999 | Oracle Corporation | Geometry management for displaying objects on a computer | | US5897670 | Jul 12, 1996 | Apr 27, 1999 | Sun Microsystems, Inc. | Method and system for efficient organization of selectable elements on a graphical user interface | | US5936641 | Jun 27, 1997 | Aug 10, 1999 | Object Technology Licensing Corp | Graphics hardware acceleration method, computer program, and system | | US6003037 | Oct 30, 1996 | Dec 14, 1999 | Progress Software Corporation | Smart objects for development of object oriented software | | US6005567 | Jul 20, 1998 | Dec 21, 1999 | Sun Microsystems, Inc. | Method and system for efficient organization of selectable elements on a graphical user interface | | US6008816 | Apr 25, 1996 | Dec 28, 1999 | Microsoft Corporation | Method and system for managing color specification using attachable palettes and palettes that refer to other palettes | | US6035305 | Aug 29, 1997 | Mar 7, 2000 | The Boeing Company | Computer-based method of structuring product configuration information and configuring a product | | US6044408 | Apr 25, 1996 | Mar 28, 2000 | Microsoft Corporation | Multimedia device interface for retrieving and exploiting software and hardware capabilities | | US6069625 | Jul 6, 1999 | May 30, 2000 | Sun Microsystems, Inc. | Method and system for efficient organization of selectable elements on a graphical user interface | | US6078942 | Apr 25, 1996 | Jun 20, 2000 | Microsoft Corporation | Resource management for multimedia devices in a computer | | US6167455 | May 5, 1995 | Dec 26, 2000 | Apple Computer, Inc. | Method and system for synchronous operation of linked command objects | | US6198487 | Feb 26, 1999 | Mar 6, 2001 | Intergraph Corporation | Ole for design and modeling | | US6275225 | Oct 24, 1997 | Aug 14, 2001 | Sun Microsystems, Inc. | Method, apparatus, system and computer program product for a user-configurable graphical user interface | | US6292804 | Dec 13, 1999 | Sep 18, 2001 | Intergraph Corporation | Object relationship management system | | US6330659 | Nov 6, 1997 | Dec 11, 2001 | iReady Corporation | Hardware accelerator for an object-oriented programming language | | US6343313 | Mar 25, 1997 | Jan 29, 2002 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability | | US6549212 | Jul 16, 1998 | Apr 15, 2003 | Silicon Graphics, Inc. | System for user customization of attributes associated with a three-dimensional surface | | US6593947 | May 10, 1996 | Jul 15, 2003 | Apple Computer, Inc. | Method and system for image rendering including polymorphic image data in a graphical user interface | | US6647151 | Aug 18, 1999 | Nov 11, 2003 | Hewlett-Packard Development Company, L.P. | Coalescence of device independent bitmaps for artifact avoidance | | US6671800 | Feb 23, 2000 | Dec 30, 2003 | Canon Kabushiki Kaisha | Instructions for creating an extension data to create instances of an object with additional attributes without creating a new object type | | US6678880 | May 8, 1995 | Jan 13, 2004 | Apple Computer, Inc. | System for iteratively designing an object heterarchy in an object-oriented computing environment | | US6757905 | Sep 19, 2000 | Jun 29, 2004 | Apple Computer, Inc. | Method and system for synchronous operation of linked command objects | | US6772168 | May 7, 2001 | Aug 3, 2004 | Intergraph Software Technologies Company | Object relationship management system | | US6792397 | Sep 29, 1998 | Sep 14, 2004 | Toyota Jidosha Kabushiki Kaisha | Coupling parts information generation system, method of generating coupling parts information, and computer readable medium | | US6798425 | Aug 24, 2001 | Sep 28, 2004 | Sony Computer Entertainment Inc. | Graphics detection method, graphics detection apparatus, semiconductor device, computer program and recording medium | | US6834390 | Dec 6, 2000 | Dec 21, 2004 | Microsoft Corporation | System and related interfaces supporting the processing of media content | | US6912717 | Dec 6, 2000 | Jun 28, 2005 | Microsoft Corporation | Methods and systems for implementing dynamic properties on objects that support only static properties | | US6928453 | Nov 14, 2003 | Aug 9, 2005 | Apple Computer Inc. | System for iteratively designing an object heterarchy in an object-oriented computing environment | | US6947990 | Jul 1, 2004 | Sep 20, 2005 | Microsoft Corporation | System and related interfaces supporting the processing of media content | | US6954581 | Dec 6, 2000 | Oct 11, 2005 | Microsoft Corporation | Methods and systems for managing multiple inputs and methods and systems for processing media content | | US6959438 | Dec 6, 2000 | Oct 25, 2005 | Microsoft Corporation | Interface and related methods for dynamically generating a filter graph in a development system | | US6961684 | May 15, 2001 | Nov 1, 2005 | Autodesk, Inc. | Extensible framework for capturing feature information in a neutral format | | US6961943 | Dec 6, 2000 | Nov 1, 2005 | Microsoft Corporation | Multimedia processing system parsing multimedia content from a single source to minimize instances of source files | | US6983357 | Jun 20, 2001 | Jan 3, 2006 | NVIDIA Corporation | Hardware accelerator for an object-oriented programming language | | US6983466 | Dec 6, 2000 | Jan 3, 2006 | Microsoft Corporation | Multimedia project processing systems and multimedia project processing matrix systems | | US6999102 | Aug 19, 2002 | Feb 14, 2006 | Autodesk, Inc. | Framework for objects having authorable behaviors and appearances | | US7039717 | Sep 27, 2001 | May 2, 2006 | NVIDIA Corporation | Internet modem streaming socket method | | US7073179 | Oct 28, 2004 | Jul 4, 2006 | Microsoft Corporation | Methods and systems for implementing dynamic properties on objects that support only static properties | | US7073180 | Jan 19, 2005 | Jul 4, 2006 | Microsoft Corporation | Systems for negotiating buffer size and attribute characteristics in media processing systems that create user-defined development projects | | US7080380 | Jan 19, 2005 | Jul 18, 2006 | Microsoft Corporation | Systems for negotiating buffer size and attribute characteristics in media processing systems that create user-defined development projects | | US7103677 | Dec 6, 2000 | Sep 5, 2006 | Microsoft Corporation | Methods and systems for efficiently processing compressed and uncompressed media content | | US7114161 | Dec 6, 2000 | Sep 26, 2006 | Microsoft Corporation | System and related methods for reducing memory requirements of a media processing system | | US7139466 | Dec 10, 2004 | Nov 21, 2006 | Microsoft Corporation | Methods and systems for managing multiple inputs and methods and systems for processing media content | | US7197535 | Jun 19, 2003 | Mar 27, 2007 | Pixion, Inc. | System and method for frame image capture | | US7197752 | Jul 29, 2005 | Mar 27, 2007 | Microsoft Corporation | System and related methods for reducing source filter invocation in a development project | | US7206495 | Oct 15, 2004 | Apr 17, 2007 | Microsoft Corporation | Methods and systems for managing multiple inputs and methods and systems for processing media content | | US7206872 | Feb 20, 2004 | Apr 17, 2007 | NVIDIA Corporation | System and method for insertion of markers into a data stream | | US7228056 | Oct 15, 2004 | Jun 5, 2007 | Microsoft Corporation | Methods and systems for managing multiple inputs and methods and systems for processing media content | | US7237038 | Mar 3, 2005 | Jun 26, 2007 | Microsoft Corporation | System and related interfaces supporting the processing of media content | | US7237244 | Jan 30, 2006 | Jun 26, 2007 | Microsoft Corporation | System and related methods for reducing memory requirements of a media processing system | | US7249306 | Feb 20, 2004 | Jul 24, 2007 | NVIDIA Corporation | System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity | | US7257232 | Jun 1, 2004 | Aug 14, 2007 | Microsoft Corporation | Methods and systems for mixing digital audio signals | | US7260310 | Dec 10, 2004 | Aug 21, 2007 | Microsoft Corporation | Methods and systems for managing multiple inputs and methods and systems for processing media content | | US7260631 | Dec 19, 2003 | Aug 21, 2007 | NVIDIA Corporation | System and method for receiving iSCSI protocol data units | | US7274479 | Jan 28, 2004 | Sep 25, 2007 | Tesseron Limited | Method of utilizing variable data fields with a page description language | | US7277990 | Sep 30, 2004 | Oct 2, 2007 | | Method and apparatus providing efficient queue descriptor memory access | | US7287226 | Dec 6, 2000 | Oct 23, 2007 | Microsoft Corporation | Methods and systems for effecting video transitions represented by bitmaps | | US7296276 | Aug 26, 2004 | Nov 13, 2007 | Microsoft Corporation | Methods and systems for implementing dynamic properties on objects that support only static properties | | US7302438 | Sep 14, 2005 | Nov 27, 2007 | Tesseron Ltd. | Method and system for flowing data to an arbitrary path defined by a page description language | | US7302689 | Nov 2, 2004 | Nov 27, 2007 | Microsoft Corporation | System and related interfaces supporting the processing of media content | | US7310675 | Jan 7, 2004 | Dec 18, 2007 | Pixion, Inc. | Providing data updates in a network communications system based on connection or load parameters | | US7315979 | Nov 9, 1999 | Jan 1, 2008 | Tesseron Ltd. | Method and system for dynamic flowing data to an arbitrary path defined by a page description language | | US7333233 | Jan 26, 2004 | Feb 19, 2008 | Tesseron Ltd. | Method of utilizing variable data fields with a page description language | | US7350216 | Oct 5, 2004 | Mar 25, 2008 | Microsoft Corporation | Systems and methods for generating and managing filter strings in a filter graph utilizing a matrix switch | | US7353520 | Aug 31, 2004 | Apr 1, 2008 | Microsoft Corporation | Method of sharing a parcer | | US7369515 | Mar 21, 2005 | May 6, 2008 | Pixion, Inc. | Providing conferencing data in a network communications system based on client capabilities | | US7379475 | Jan 25, 2002 | May 27, 2008 | NVIDIA Corporation | Communications processor | | US7391959 | Oct 15, 2004 | Jun 24, 2008 | Microsoft Corporation | Methods and systems for managing multiple inputs and methods and systems for processing media content | | US7412685 | Jan 31, 2005 | Aug 12, 2008 | Microsoft Corportation | Data structures and related methods for facilitating media content processing in user-defined development projects | | US7412704 | Nov 16, 2005 | Aug 12, 2008 | Microsoft Corporation | Generating and managing filter strings in a filter graph | | US7418476 | Dec 8, 2006 | Aug 26, 2008 | Pixion, Inc. | Presenting images in a conference system | | US7418543 | Dec 21, 2004 | Aug 26, 2008 | Intel Corporation | Processor having content addressable memory with command ordering | | US7426191 | Mar 21, 2005 | Sep 16, 2008 | Pixion, Inc. | Providing conference data in a network communications system based on client or server information examined during a conference | | US7428703 | Dec 22, 2004 | Sep 23, 2008 | Microsoft Corporation | Methods and systems for processing media content | | US7441251 | Nov 2, 2004 | Oct 21, 2008 | Microsoft Corporation | System and related interfaces supporting the processing of media content | | US7447754 | Dec 6, 2000 | Nov 4, 2008 | Microsoft Corporation | Methods and systems for processing multi-media editing projects | | US7456990 | Jan 31, 2005 | Nov 25, 2008 | Tesseron Ltd. | Method of utilizing variable data fields with a page description language | | US7457677 | Oct 28, 2004 | Nov 25, 2008 | Microsoft Corporation | Methods and systems for mixing digital audio signals | | US7467256 | Dec 28, 2004 | Dec 16, 2008 | Intel Corporation | Processor having content addressable memory for block-based queue structures | | US7472395 | Oct 5, 2004 | Dec 30, 2008 | Microsoft Corporation | Systems for generating and managing filter strings in a filter graph | | US7526776 | Feb 14, 2008 | Apr 28, 2009 | Microsoft Corporation | Systems and methods for generating and managing filter strings in a filter graph utilizing a matrix switch | | US7529848 | Jun 13, 2006 | May 5, 2009 | Microsoft Corporation | Methods and systems for efficiently processing compressed and uncompressed media content | | US7532355 | Sep 14, 2005 | May 12, 2009 | Tesseron Ltd. | Method and system for merging variable text and images into bitmaps defined by a page description language | | US7543308 | Feb 2, 2004 | Jun 2, 2009 | Microsoft Corporation | System and related methods for reducing source filter invocation in a development project | | US7555630 | Dec 21, 2004 | Jun 30, 2009 | Intel Corporation | Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit | | US7571385 | Apr 8, 2004 | Aug 4, 2009 | Microsoft Corporation | Methods and systems for processing media content | | US7581185 | Dec 26, 2003 | Aug 25, 2009 | Microsoft Corporation | Interface and related methods for reducing source accesses in a development system | | US7584479 | Jul 29, 2005 | Sep 1, 2009 | Microsoft Corporation | Interface and related methods for dynamically generating a filter graph in a development system | | US7593987 | Oct 28, 2007 | Sep 22, 2009 | Pixion, Inc. | Load reduction and scalability | | US7624198 | Dec 19, 2003 | Nov 24, 2009 | NVIDIA Corporation | Sequence tagging system and method for transport offload engine data lists | | US7627663 | Oct 28, 2007 | Dec 1, 2009 | Pixion, Inc. | Client classification and management | | US7631319 | Feb 2, 2004 | Dec 8, 2009 | Microsoft Corporation | System and related methods for reducing source filter invocation in a development project | | US7640534 | Dec 20, 2004 | Dec 29, 2009 | Microsoft Corporation | Interface and related methods for reducing source accesses in a development system | | US7673013 | Oct 27, 2004 | Mar 2, 2010 | Microsoft Corporation | Methods and systems for processing multi-media editing projects | | US7680898 | Oct 21, 2004 | Mar 16, 2010 | Microsoft Corporation | Systems for processing multi-media editing projects | | US7698413 | Apr 12, 2004 | Apr 13, 2010 | NVIDIA Corporation | Method and apparatus for accessing and maintaining socket control information for high speed network connections | | US7701606 | Jul 25, 2006 | Apr 20, 2010 | Ricoh Company, Ltd. | Java printer with a printer control interface in a form of a web page | | US7712106 | Dec 27, 2005 | May 4, 2010 | Microsoft Corporation | System and methods for generating and managing filter strings in a filter graph | | US7715331 | Feb 5, 2008 | May 11, 2010 | Pixion, Inc. | Providing conference data in a network communications system based on client or server information examined during a conference | | US7716344 | Oct 28, 2007 | May 11, 2010 | Pixion, Inc. | Conference server operations | | US7716679 | Jun 14, 2004 | May 11, 2010 | Apple Inc. | Method and system for synchronous operation of linked command objects | | US7755785 | Oct 15, 2003 | Jul 13, 2010 | Ricoh Company, Ltd. | Image forming apparatus | | US7757240 | May 20, 2005 | Jul 13, 2010 | Microsoft Corporation | System and related interfaces supporting the processing of media content | | US7813304 | Feb 4, 2008 | Oct 12, 2010 | Pixion, Inc. | Providing conferencing data in a network communications system based on client capabilities | | US7814432 | Mar 13, 2003 | Oct 12, 2010 | Apple, Inc. | Method and system for image rendering including polymorphic image data in a graphical user interface | | US7822859 | Oct 28, 2007 | Oct 26, 2010 | Pixion, Inc. | Conference server redundancy | | US7836163 | Oct 28, 2007 | Nov 16, 2010 | Pixion, Inc. | Management of stored conference data | | US7853921 | Aug 29, 2005 | Dec 14, 2010 | Microsoft Corporation | Interface and related methods for dynamically generating a filter graph in a development system | | US7869431 | May 10, 2007 | Jan 11, 2011 | Dell Products L.P. | System and method for communication of uncompressed visual information through a network | | US7877489 | Oct 28, 2007 | Jan 25, 2011 | Pixion, Inc. | Negotiation and validation of a client in a video conference | | US7899913 | Dec 19, 2003 | Mar 1, 2011 | NVIDIA Corporation | Connection management system and method for a transport offload engine | | US7934002 | Oct 28, 2007 | Apr 26, 2011 | Pixion, Inc. | Presenter client operations | | US7940275 | Aug 29, 2005 | May 10, 2011 | Microsoft Corporation | Interface and related methods for dynamically generating a filter graph in a development system | | US7952744 | Apr 27, 2010 | May 31, 2011 | Ricoh Company, Ltd. | Controlling a configuration of an image forming apparatus | | US7957379 | Oct 19, 2004 | Jun 7, 2011 | NVIDIA Corporation | System and method for processing RX packets in high speed network applications using an RX FIFO buffer | | US8010649 | Nov 3, 2008 | Aug 30, 2011 | Microsoft Corporation | Methods and systems for processing multi-media editing projects | | US8018470 | Mar 28, 2006 | Sep 13, 2011 | Microsoft Corporation | Vector based object property variations | | US8065439 | Dec 19, 2003 | Nov 22, 2011 | NVIDIA Corporation | System and method for using metadata in the context of a transport offload engine | | US8102556 | May 4, 2011 | Jan 24, 2012 | Ricoh Company, Ltd. | Controlling a configuration of an image forming apparatus using a Java application | | US8135842 | Aug 16, 2000 | Mar 13, 2012 | NVIDIA Corporation | Internet jack | | US8150954 | Nov 3, 2008 | Apr 3, 2012 | Microsoft Corporation | Methods and systems for processing multi-media editing projects | | US8174503 | May 17, 2008 | May 8, 2012 | David H. Cain | Touch-based authentication of a mobile device through user generated pattern creation | | US8176545 | Dec 19, 2003 | May 8, 2012 | NVIDIA Corporation | Integrated policy checking system and method |
Claims1. An object-oriented graphic system, comprising: - (a) a processor;
- (b) a storage under the control of and attached to the processor;
- (c) one or more graphic devices under the control of and attached to the processor;
- (d) a grafport object in the storage of the processor;
- (e) a graphic device object in the storage of the processor for managing one of the one or more graphic devices;
- (f) a graphic object in the storage of the processor for managing graphic processing; and
- (g) means for connecting the graphic device object to the grafport object to output graphic information on the one of the one or more graphic devices under the control of the graphic object.
2. A system as recited in claim 1, including a graphic accelerator graphic device object. 3. A system as recited in claim 1, including a frame buffer graphic device object. 4. A system as recited in claim 1, including a page description language graphic device object. 5. A system as recited in claim 1, including a vector engine graphic device object. 6. A system as recited in claim 1, wherein the grafport object, the graphic device object and the graphic object are polymorphic. 7. A system as recited in claim 1, wherein the grafport object, the graphic device object and the graphic object are fully extensible. 8. A system as recited in claim 1, including a modeling layer in the graphic object. 9. A system as recited in claim 8, including a geometric object and a graphic attribute object in the modeling layer. 10. A system as recited in claim 1, wherein the geometric object includes geometry for the graphic information. 11. A system as recited in claim 1, wherein the graphic device objects include displays, printers and plotters. 12. A method for graphic processing in an object-oriented operating system resident on a computer with a processor, a storage attached to and under the control of the processor and a graphic device attached to and under the control of the processor, comprising the steps of: - (a) building a modeling layer object in the storage;
- (b) generating calls from the modeling layer object to grafport object using a predefined set of graphic primitives;
- (c) capturing state information and rendering information at the grafport object; and
- (d) passing the state information and the rendering information to a graphic device object for output on the graphic device.
13. The method as recited in claim 12, including state information with transform, appearance and clipping information. 14. The method as recited in claim 12, wherein the graphic device is a software or a hardware graphic processor. 15. An apparatus for graphic processing, comprising: - (a) a processor,
- (b) a storage attached to and under the control of the processor;
- (c) a graphic device attached to and under the control of the processor;
- (d) a modeling layer object in the storage;
- (e) a grafport object in the storage;
- (f) means for generating calls from the modeling layer object to the grafport object using a predefined set of graphic primitives;
- (g) means for capturing state information and rendering information at the grafport object; and
- (h) means for passing the state information and the rendering information to a graphic device object for output on the graphic device.
16. The apparatus as recited in claim 15, wherein the state information includes transform, appearance and clipping information. 17. The apparatus as recited in claim 15, wherein the graphic device is a vector engine. 18. The apparatus as recited in claim 15, wherein the graphic device is a graphic accelerator. 19. The apparatus as recited in claim 15, wherein the graphic device is a frame buffer. 20. The apparatus as recited in claim 15, wherein the graphic device is a plotter. 21. The apparatus as recited in claim 15, wherein the graphic device is a printer. 22. The apparatus as recited in claim 15, wherein the graphic device is a display. 23. The apparatus as recited in claim 15, wherein the graphic device is a postscript processor. 24. The apparatus as recited in claim 15, wherein the modeling layer object includes at least one geometric object and at least one graphic attribute object. 25. The apparatus as recited in claim 15, wherein an object includes a method and data. 26. The apparatus as recited in claim 25, wherein the object is polymorphic and extensible. |