Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The present invention provides a method and apparatus for the distribution of objects and the sending of messages between objects that are located in different processes. Initially, a "proxy" object is created in the same process as a sender object. This proxy acts as a local receiver for all objects in the local program. When the proxy receives a message, the message is encoded and transmitted between programs as a stream of bytes. In the remote process, the message is decoded and executed as if the sender was remote. The result follows the same path, encoded, transmitted, and then decoded back in the local process. The result is then provided to the sending object.

InventorsBertrand Serlet, Lee Boynton, Avadis Tevanian
Original AssigneeNeXT Computer, Inc.
Current U.S. Classification719/315
International Classification: G06F 944

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5060150Jan 31, 1991Oct 22, 1991Motorola, Inc.Process creation and termination monitors for use in a distributed message-based operating system
US5230051Sep 4, 1990Jul 20, 1993Hewlett-Packard CompanyDistributed messaging system and method
US5305461Apr 3, 1992Apr 19, 1994International Business Machines CorporationMethod of transparently interconnecting message passing systems

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US5613148Oct 19, 1995Mar 18, 1997International Business Machines CorporationMethod and apparatus for activating and executing remote objects
US5659727Jun 7, 1995Aug 19, 1997International Business Machines CorporationComputer program product and program storage device for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5673322Mar 22, 1996Sep 30, 1997Bell Communications Research, Inc.System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5687365Oct 17, 1996Nov 11, 1997International Business Machines CorporationSystem and method for creating a data dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5687370Jan 31, 1995Nov 11, 1997NeXT Software, Inc.Transparent local and distributed memory management system
US5721895Jun 7, 1995Feb 24, 1998International Business Machines CorporationComputer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5732270Sep 15, 1994Mar 24, 1998Visual Edge Software LimitedSystem and method for providing interoperability among heterogeneous object systems
US5745703Jul 18, 1995Apr 28, 1998NEC Research Institute, Inc.Transmission of higher-order objects across a network of heterogeneous machines
US5754774Feb 15, 1996May 19, 1998International Business Machine Corp.Client/server communication system
US5758074Nov 4, 1994May 26, 1998International Business Machines CorporationSystem for extending the desktop management interface at one node to a network by using pseudo management interface, pseudo component interface and network server interface
US5781633Jul 1, 1996Jul 14, 1998Sun Microsystems, Inc.Capability security for transparent distributed object systems
US5793965Mar 22, 1995Aug 11, 1998Sun Microsystems, Inc.Method and apparatus for determining the type of an object in a distributed object system
US5794039Dec 18, 1996Aug 11, 1998Unisys Corp.Method for abstracting messages of various protocols into objects for storage in a database
US5898834Aug 16, 1996Apr 27, 1999Starwave CorporationSystem, method, and medium for control of objects in a multi-platform environment
US5913025Nov 14, 1996Jun 15, 1999Novell, Inc.Method and apparatus for proxy authentication
US5931919Nov 7, 1997Aug 3, 1999Xerox CorporationState-based object transition control and attribute-based locking
US5948072Oct 31, 1996Sep 7, 1999International Business Machines CorporationMethod and apparatus for defining the scope of a CORBAservices factory finder
US5953527Apr 23, 1996Sep 14, 1999Sun Microsystems, Inc.Method and apparatus for mixing objective-C and C++ objects
US5969967Dec 31, 1997Oct 19, 1999Sun Microsystems, Inc.Methods and apparatus for conspiracy between objects
US6003087Oct 3, 1997Dec 14, 1999International Business Machines CorporationCGI response differencing communication system
US6009464Oct 16, 1995Dec 28, 1999Sun Microsystems, Inc.Method and apparatus for enabling application programs to communicate with network clients and servers
US6018805Dec 15, 1997Jan 25, 2000RecipioTransparent recovery of distributed-objects using intelligent proxies
US6026415Nov 11, 1997Feb 15, 2000NeXT Software, Inc.Transparent local and distributed memory management system
US6032201Jun 19, 1997Feb 29, 2000Cirrus Logic, Inc.Plug and play system using proxy for retrieving correct information about current device from system registry when current device is not the newly installed device
US6035324Aug 28, 1997Mar 7, 2000International Business Machines CorporationClient-side asynchronous form management
US6041383Jul 22, 1996Mar 21, 2000Cabletron Systems, Inc.Establishing control of lock token for shared objects upon approval messages from all other processes
US6049673Feb 13, 1998Apr 11, 2000Organicnet, Inc.Organicware applications for computer systems
US6070184Aug 28, 1997May 30, 2000International Business Machines CorporationServer-side asynchronous form management
US6138269May 20, 1998Oct 24, 2000Sun Microsystems, Inc.Determining the actual class of an object at run time
US6157960May 7, 1997Dec 5, 2000International Business Machines CorporationTechnique for programmatically creating distributed object programs
US6158045Nov 13, 1995Dec 5, 2000Object Technology Licensing CorporationPortable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support
US6173327Jul 11, 1996Jan 9, 2001Object-oriented method and apparatus for information delivery
US6182154Apr 7, 1997Jan 30, 2001International Business Machines CorporationUniversal object request broker encapsulater
US6192419Jun 18, 1997Feb 20, 2001International Business Machines CorporationCollaborative framework for disparate application programs
US6195709Mar 2, 1998Feb 27, 2001International Business Machines CorporationMethod of providing persistency for transient objects in object oriented technology
US6219717Nov 20, 1996Apr 17, 2001Merrill Lynch & Co., Inc.Method and apparatus for implementing object transparent invocation
US6223227Apr 9, 1997Apr 24, 2001NeXT Software, Inc.Method for providing stand-in objects
US6226690Jun 14, 1993May 1, 2001International Business Machines CorporationMethod and apparatus for utilizing proxy objects to communicate with target objects
US6226746Mar 20, 1998May 1, 2001Sun Microsystems, Inc.Stack-based system and method to combine security requirements of methods
US6237009Jun 14, 1999May 22, 2001Sun Microsystems, Inc.Lease renewal service
US6237024Mar 20, 1998May 22, 2001Sun Microsystem, Inc.Method and apparatus for the suspension and continuation of remote processes
US6243716Aug 20, 1999Jun 5, 2001Sun Microsystems, Inc.Methods and systems for distributed failure detection and recovery using leasing
US6247026Mar 20, 1998Jun 12, 2001Sun Microsystems, Inc.Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6253252Jul 11, 1996Jun 26, 2001Method and apparatus for asynchronously calling and implementing objects
US6253253Aug 25, 1997Jun 26, 2001International Business Machines CorporationMethod and apparatus for optimizing references to objects in a data processing system
US6253256Oct 15, 1997Jun 26, 2001Sun Microsystems, Inc.Deferred reconstruction of objects and remote loading in a distributed system
US6263350Mar 20, 1998Jul 17, 2001Sun Microsystems, Inc.Method and system for leasing storage
US6263485Jul 11, 1996Jul 17, 2001Method and apparatus for describing an interface definition language-defined interface, operation, and data type
US6272559Mar 20, 1998Aug 7, 2001Sun Microsystems, Inc.Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6300946May 29, 1998Oct 9, 2001Palm, Inc.Method and apparatus for interacting with a portable computer
US6304884Feb 14, 2000Oct 16, 2001NeXT Software, Inc.Transparent local and distributed memory management system
US6314435Sep 11, 1998Nov 6, 2001Sun Microsystems, Inc.Methods, apparatus, and product for distributed garbage collection
US6324682Mar 27, 2000Nov 27, 2001Velocity.comOrganicware applications for computer systems
US6327596Jul 27, 1999Dec 4, 2001Sun Microsystems, Inc.Methods, apparatus, and product for distributed garbage collection
US6343318May 29, 1998Jan 29, 2002Palm, Inc.Method and apparatus for communicating information over low bandwidth communications networks
US6347342Jul 15, 1996Feb 12, 2002NeXT Software, Inc.Method and apparatus for dynamically brokering object messages among object models
US6349343Nov 18, 1997Feb 19, 2002Visual Edge Software LimitedSystem and method for providing interoperability among heterogeneous object systems
US6353860Dec 23, 1997Mar 5, 2002Sun Microsystems, Inc.Methods and apparatus for managing collections of objects
US6360272May 28, 1999Mar 19, 2002Palm, Inc.Method and apparatus for maintaining a unified view of multiple mailboxes
US6378001Jun 18, 1997Apr 23, 2002International Business Machines Corp.Collaborative framework with shared objects
US6389452Nov 25, 1998May 14, 2002Recursion Software, Inc.Method of communicating between objects and agents across a computer network
US6389540Mar 30, 2000May 14, 2002Sun Microsystems, Inc.Stack based access control using code and executor identifiers
US6393497Mar 20, 1998May 21, 2002Sun Microsystems, Inc.Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6397259May 29, 1998May 28, 2002Palm, Inc.Method, system and apparatus for packet minimized communications
US6401135Jun 21, 1996Jun 4, 2002Sun Microsystems, Inc.Translator object for testing an interface to a server object
US6415279Mar 11, 1999Jul 2, 2002Telefonaktiebolaget LM Ericsson (publ)Method and access means for determining the storage address of a data value in a memory device
US6421704Mar 20, 1998Jul 16, 2002Sun Microsystems, Inc.Method, apparatus, and product for leasing of group membership in a distributed system
US6438614Mar 20, 1998Aug 20, 2002Sun Microsystems, Inc.Polymorphic token based control
US6446070Feb 26, 1998Sep 3, 2002Sun Microsystems, Inc.Method and apparatus for dynamic distributed computing over a network
US6449648Oct 19, 2000Sep 10, 2002Sun Microsystems, Inc.Lease renewal service
US6463446Mar 20, 1998Oct 8, 2002Sun Microsystems, Inc.Method and apparatus for transporting behavior in an event-based distributed system
US6466947Mar 20, 1998Oct 15, 2002Sun Microsystems, Inc.Apparatus and method for dynamically verifying information in a distributed system
US6466992Feb 2, 2001Oct 15, 2002Next Computer, Inc.Method for providing stand-in objects
US6467085Jul 16, 1999Oct 15, 2002Telefonaktiebolaget L M Ericsson (Publ)System and method for reducing coupling in an object-oriented programming environment
US6480863Oct 12, 2000Nov 12, 2002Sun Microsystems, Inc.Method and system for multi-entry and multi-template matching in a database
US6487607Mar 20, 1998Nov 26, 2002Sun Microsystems, Inc.Methods and apparatus for remote method invocation
US6519615Oct 18, 2000Feb 11, 2003Sun Microsystems, Inc.Method and system for leasing storage
US6519653Nov 25, 1998Feb 11, 2003Recursion Software, Inc.Method of communicating between agent objects in a computer network
US6560656Mar 20, 1998May 6, 2003Sun Microsystems, Inc.Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6564240Feb 20, 2002May 13, 2003Sun Microsystems, Inc.Method, apparatus, and product for leasing of group membership in a distributed system
US6567861Sep 17, 1997May 20, 2003International Business Machines CorporationMethod and apparatus for remotely running objects using data streams and/or complex parameters
US6571262Oct 15, 2001May 27, 2003Apple Computer, Inc.Transparent local and distributed memory management system
US6578044Mar 20, 1998Jun 10, 2003Sun Microsystems, Inc.Method and system for typesafe attribute matching
US6598094Mar 20, 1998Jul 22, 2003Sun Microsystems, Inc.Method and apparatus for determining status of remote objects in a distributed system
US6604127Jul 27, 2001Aug 5, 2003Dynamic lookup service in distributed system
US6629154Oct 12, 2000Sep 30, 2003Sun Microsystems, Inc.Method and system for deterministic hashes to identify remote methods
US6643650Sep 12, 2000Nov 4, 2003Sun Microsystems, Inc.Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6654793Jun 30, 1998Nov 25, 2003Sun Microsystems, Inc.System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6697848Sep 14, 1999Feb 24, 2004Sun Microsystems, Inc.Method and apparatus for enabling application programs to communicate with network clients and servers
US6704756May 14, 2001Mar 9, 2004Sun Microsystems, Inc.Methods, apparatus, and product for distributed garbage collection
US6708171Jun 14, 1999Mar 16, 2004Sun Microsystems, Inc.Network proxy
US6714942Jul 28, 2000Mar 30, 2004E-Volve IncorporatedMethod of creating and using a sub-classed object that spans multiple computers in a networked computing system
US6728737Feb 15, 2002Apr 27, 2004Sun Microsystems, Inc.Method and system for leasing storage
US6748403Jan 13, 2000Jun 8, 2004PalmSource, Inc.Method and apparatus for preserving changes to data
US6760736Dec 20, 2000Jul 6, 2004Sun Microsystems, Inc.Methods and systems for distributed failure detection and recovery using leasing techniques
US6760815Jun 2, 2000Jul 6, 2004Sun Microsystems, Inc.Caching mechanism for a virtual heap
US6763440Jun 2, 2000Jul 13, 2004Sun Microsystems, Inc.Garbage collection using nursery regions for new objects in a virtual heap
US6789077Aug 31, 2000Sep 7, 2004Sun Microsystems, Inc.Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6789126Oct 19, 2000Sep 7, 2004Sun Microsystems, Inc.Addressing message gates in a distributed computing environment
US6792466Sep 12, 2000Sep 14, 2004Sun Microsystems, Inc.Trusted construction of message endpoints in a distributed computing environment
US6799320Dec 16, 1998Sep 28, 2004Microsoft CorporationProviding binding options for component interfaces
US6816875Jun 19, 2003Nov 9, 2004Methods, apparatus, and product for distributed garbage collection
US6820267Jun 30, 1998Nov 16, 2004Microsoft CorporationMethod and system for remote automation of object oriented applications
US6832223Mar 20, 1998Dec 14, 2004Sun Microsystems, Inc.Method and system for facilitating access to a lookup service
US6834389Nov 25, 1998Dec 21, 2004Recursion Software, Inc.Method of forwarding messages to mobile objects in a computer network
US6850979Aug 31, 2000Feb 1, 2005Sun Microsystems, Inc.Message gates in a distributed computing environment
US6854115Jun 2, 2000Feb 8, 2005Sun Microsystems, Inc.Process persistence in a virtual machine
US6862594Aug 31, 2000Mar 1, 2005Sun Microsystems, Inc.Method and apparatus to discover services using flexible search criteria
US6865657Jun 2, 2000Mar 8, 2005Sun Microsystems, Inc.Garbage collector for a virtual heap
US6868447Sep 12, 2000Mar 15, 2005Sun Microsystems, Inc.Mechanism and apparatus for returning results of services in a distributed computing environment
US6874066Feb 20, 2004Mar 29, 2005Sun Microsystems, Inc.Caching mechanism for a virtual heap
US6877163Jun 14, 1999Apr 5, 2005Sun Microsystems, Inc.Method and system for dynamic proxy classes
US6898618Oct 19, 2000May 24, 2005Sun Microsystems, Inc.Client-specified display services in a distributed computing environment
US6901518Apr 6, 2000May 31, 2005Sun Microsystems, Inc.Method and system for establishing trust in downloaded proxy code
US6917976Aug 31, 2000Jul 12, 2005Sun Microsystems, Inc.Message-based leasing of resources in a distributed computing environment
US6918084Aug 31, 2000Jul 12, 2005Sun Microsystems, Inc.Spawning new repository spaces using information provided in advertisement schema messages
US6925644Jan 31, 2003Aug 2, 2005Sun Microsystems, Inc.Method, apparatus, and product for leasing of group membership in a distributed system
US6934758May 13, 2002Aug 23, 2005Sun Microsystems, Inc.Stack-based access control using code and executor identifiers
US6938263Apr 23, 1996Aug 30, 2005Sun Microsystems, Inc.SYSTEM AND METHOD FOR FACILITATING DYNAMIC LOADING OF “STUB” INFORMATION TO ENABLE A PROGRAM OPERATING IN ONE ADDRESS SPACE TO INVOKE PROCESSING OF A REMOTE METHOD OR PROCEDURE IN ANOTHER ADDRESS SPACE
US6941410Jun 2, 2000Sep 6, 2005Sun Microsystems, Inc.Virtual heap for a virtual machine
US6941561Oct 20, 2000Sep 6, 2005International Business Machines CorporationMethod and apparatus for remotely running objects using data streams and/or complex parameters
US6950875Oct 19, 2000Sep 27, 2005Sun Microsystems, Inc.Message conductors in a distributed computing environment
US6952706Sep 5, 2002Oct 4, 2005Apple ComputerMethod for providing stand-in objects
US6957237Jun 2, 2000Oct 18, 2005Sun Microsystems, Inc.Database store for a virtual heap
US6957427Oct 15, 1997Oct 18, 2005Sun Microsystems, Inc.Remote object activation in a distributed system
US6970869Aug 31, 2000Nov 29, 2005Sun Microsystems, Inc.Method and apparatus to discover services and negotiate capabilities
US6973493Aug 31, 2000Dec 6, 2005Sun Microsystems, Inc.Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US6993561Jan 10, 2002Jan 31, 2006PalmSource, Inc.Method and apparatus for maintaining a unified view of multiple mailboxes
US7010573Oct 19, 2000Mar 7, 2006Sun Microsystems, Inc.Message gates using a shared transport in a distributed computing environment
US7016966Oct 19, 2000Mar 21, 2006Sun Microsystems, Inc.Generating results gates in a distributed computing environment
US7025209May 29, 1998Apr 11, 2006PalmSource, Inc.Method and apparatus for wireless internet access
US7051342Oct 22, 2004May 23, 2006Microsoft CorporationMethod and system for remote automation of object oriented applications
US7058954May 22, 1998Jun 6, 2006Sun Microsystems, Inc.System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another space
US7065574Sep 11, 2000Jun 20, 2006Sun Microsystems, Inc.Messaging system using pairs of message gates in a distributed computing environment
US7072967Sep 12, 2000Jul 4, 2006Sun Microsystems, Inc.Efficient construction of message endpoints
US7080078Aug 31, 2000Jul 18, 2006Sun Microsystems, Inc.Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US7188251Aug 31, 2000Mar 6, 2007Sun Microsystems, Inc.System and method for secure message-based leasing of resources in a distributed computing environment
US7200848Sep 15, 2000Apr 3, 2007Sun Microsystems, Inc.Migrating processes using data representation language representations of the processes in a distributed computing environment
US7203769Mar 14, 1997Apr 10, 2007International Business Machines CorporationBootstrapping technique for distributed object client systems
US7210148Mar 16, 2001Apr 24, 2007Sun Microsystems, Inc.Method and apparatus for dynamic distributed computing over a network
US7243356Sep 27, 2000Jul 10, 2007Sun Microsystems, Inc.Remote method invocation with secure messaging in a distributed computing environment
US7260543Sep 11, 2000Aug 21, 2007Sun Microsystems, Inc.Automatic lease renewal with message gates in a distributed computing environment
US7266586Nov 4, 2005Sep 4, 2007Access Systems Americas, Inc.Method and apparatus for maintaining a unified view of multiple mailboxes
US7269664Jan 12, 2001Sep 11, 2007Sun Microsystems, Inc.Network portal system and methods
US7296275Jan 4, 2001Nov 13, 2007Sun Microsystems, Inc.Method and system for passing objects in a distributed system using serialization contexts
US7305538Apr 10, 2003Dec 4, 2007Apple Inc.Transparent local and distributed memory management system
US7340772Jun 20, 2005Mar 4, 2008Citrix Systems, Inc.Systems and methods for continuing an operation interrupted from a reconnection between a client and server
US7370091Oct 27, 2000May 6, 2008Sun Microsystems, Inc.Method and apparatus for obtaining space advertisements
US7395333Aug 31, 2000Jul 1, 2008Sun Microsystems, Inc.Method and apparatus to obtain negotiated service advertisement
US7395539Apr 4, 2000Jul 1, 2008Gateway Inc.Transaction control in an information appliance management system
US7398533Sep 27, 2000Jul 8, 2008Sun Microsystems, Inc.Remote function invocation with messaging in a distributed computing environment
US7412518Sep 7, 2000Aug 12, 2008Sun Microsystems, Inc.Method and apparatus for proximity discovery of services
US7426721Sep 15, 2000Sep 16, 2008Sun Microsystems, Inc.Transformation of objects between a computer programming language and a data representation language
US7444644Sep 15, 2000Oct 28, 2008Sun Microsystems, Inc.Secure access of objects generated from data representation language representations of the objects in a distributed computing environment
US7458082Oct 19, 2000Nov 25, 2008Sun Microsystems, Inc.Bridging between a data representation language message-based distributed computing environment and other computing environments using proxy service
US7467375Jan 13, 2003Dec 16, 2008Computer Associates Think, Inc.Method and system for transforming legacy software applications into modern object-oriented systems
US7484218Feb 7, 2002Jan 27, 2009NeXT Software, Inc.Method and apparatus for dynamically brokering object messages among object models
US7502726Jun 20, 2005Mar 10, 2009Citrix Systems, Inc.Systems and methods for maintaining a session between a client and host service
US7509360Jul 12, 2004Mar 24, 2009Sun Microsystems, Inc.Methods, apparatus, and product for distributed garbage collection
US7523146Jun 21, 2005Apr 21, 2009Apple Inc.Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US7548946Sep 12, 2000Jun 16, 2009Sun Microsystems, Inc.Pre-generated message endpoints
US7562146Oct 10, 2003Jul 14, 2009Citrix Systems, Inc.Encapsulating protocol for session persistence and reliability
US7577834Aug 31, 2000Aug 18, 2009Sun Microsystems, Inc.Message authentication using message gates in a distributed computing environment
US7657769Jan 8, 2007Feb 2, 2010N-way synchronization of data
US7660887Mar 19, 2003Feb 9, 2010Sun Microsystems, Inc.Systems and methods for providing dynamic quality of service for a distributed system
US7661129Feb 26, 2002Feb 9, 2010Citrix Systems, Inc.Secure traversal of network components
US7716450Nov 28, 2007May 11, 2010Apple Inc.Transparent local and distributed memory management system
US7716492Aug 31, 2000May 11, 2010Oracle America, Inc.Method and apparatus to obtain service capability credentials
US7730026Jul 1, 2004Jun 1, 2010Apple Inc.Method and system using reusable state information for synchronization and maintenance of data
US7734747Sep 25, 2003Jun 8, 2010Oracle America, Inc.Dynamic lookup service in a distributed system
US7756969Jan 30, 2004Jul 13, 2010Oracle America, Inc.Dynamic provisioning of identification services in a distributed system
US7760767Jan 5, 2007Jul 20, 2010Apple Inc.Wide area peer-to-peer synching in a decentralized environment
US7792874Jun 7, 2005Sep 7, 2010Oracle America, Inc.Dynamic provisioning for filtering and consolidating events
US7860826Aug 4, 2006Dec 28, 2010Apple Inc.Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7984157Sep 30, 2004Jul 19, 2011Citrix Systems, Inc.Persistent and reliable session securely traversing network components using an encapsulating protocol
US8001232Oct 19, 2000Aug 16, 2011Oracle America, Inc.Event message endpoints in a distributed computing environment
US8082491Oct 19, 2000Dec 20, 2011Oracle America, Inc.Dynamic displays in a distributed computing environment
US8090874Jun 20, 2005Jan 3, 2012Citrix Systems, Inc.Systems and methods for maintaining a client's network connection thru a change in network identifier
US8135796Sep 12, 2000Mar 13, 2012Oracle America, Inc.Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US8174503May 17, 2008May 8, 2012David H. CainTouch-based authentication of a mobile device through user generated pattern creation
US8205213Dec 15, 2008Jun 19, 2012NeXT Software, Inc.Method and apparatus for dynamically brokering object messages among object models
USRE40459Jan 29, 2004Aug 12, 2008PalmSource, Inc.Method and apparatus for communicating information over low bandwidth communications networks
USRE41706Jan 13, 2006Sep 14, 2010Moving objects in a distributed computing environment
USRE43247Apr 29, 2005Mar 13, 2012Access Co., Ltd.Method and apparatus for communicating information over low bandwidth communications networks
USRE43375Sep 20, 2007May 8, 2012Reware Asset Group, L.L.C.System and method for communications in a distributed computing environment

Claims

1. A method for sending an object oriented programming language based message having dynamic binding from a first object in a first process to a second object in a second process, said method comprising the steps of:

transmitting, using a first processing means, said object oriented programming language based message to a first proxy in said first process;
using said first proxy and said first processing means, encoding said object oriented programming language based message into an operating system based message at run time;
transmitting said operating system based message to said second process in said second processing means at run time;
decoding, using a second process, said operating system based message into a language based message;
transmitting, using said second processing means, said object oriented programming language based message to said second object in said second process;
executing said object oriented programming language based message by said second object in said second process.

2. The method of claim 1 further including the steps of:

said second object in said second process and generating an object oriented programming language based result;
encoding, using said second processing means, said object oriented programming language based result into an operating system based result at run time;
transmitting, using said second processing means, said operating system based result to said first process at run time;
decoding said operating system based result into an object oriented programming language based result at run time, using said first processing means;
transmitting, using said first processing means, said object oriented programming language based result to said first object.

3. The method of claim 1 wherein said object oriented programming language based message comprises a method and an argument.

4. The method of claim 1 wherein said second object executes said method on said argument when executing said message.

5. The method of claim 1 wherein the step of executing said object oriented programming language based message further includes the steps of:

said second object determining, using said second processing means, whether additional information is needed to execute said object oriented programming language based message;
said second object generating, using said second processing means, an object oriented programming language based query if it is determined that additional information is needed;
encoding, using said second processing means, said object oriented programming language based query into an operating system based query at run time if it is determined that additional information is needed;
transmitting said operating system based query to said first process at run time, using said second processing means if it is determined that additional information is needed;
decoding, using said first processing means, said operating system based query into an object oriented programming language based query at run time if it is determined that additional information is needed;
transmitting, using said first processing means, said object oriented programming language based query to said first object if it is determined that additional information is needed.

6. The method of claim 5 further including the steps of:

said first object generating, using said first processing means, an object oriented programming language based reply to said object oriented programming language based query;
encoding said object oriented programming language based reply into an operating system based reply at run time, using said first processing means;
transmitting, using said first processing means, said operating system based reply to said second process at run time;
decoding, using said second processing means, said operating system based reply into an object oriented programming language based reply at run time;
transmitting, using said second processing means, said object oriented programming language based reply to said second object.

7. The method of claim 6 wherein said first processing means and said second processing means are the same processing means.

8. The method of claim 1 wherein said object oriented programming language based message comprises an objective C message.

9. The method of claim 1 wherein said operating system based message comprises a Mach message.

10. The method of claim 1 wherein said first proxy represents said second object.

11. A method for sending an object oriented programming language based message having dynamic binding from a first object in a first process to a second object in a second process, said method comprising the steps of:

transmitting, using a first processing means, said object oriented programming language based message to a first proxy in said first process;
using said first proxy and said first processing means, encoding said object oriented programming language based message into an operating system based message at run time;
transmitting, using said first processing means, said operating system based message to said second process at run time;
decoding, using said second processing means, said operating system based message into an object oriented programming language based message at run time;
transmitting, using said second processing means, said object oriented programming language based message to said second object;
said second object generating an object oriented programming language based query, using said second processing means;
creating, using said second processing means, a second proxy in said second process;
transmitting, using said second processing means, said object oriented programming language based query to said second proxy;
using said second proxy and said second processing means, encoding said object oriented programming language based query into an operating system based query at run time;
transmitting, using said second processing means, said operating system based query to said first process at run time;
decoding, using said first processing means, said operating system based query into an object oriented programming language based query at run time;
transmitting, using said first processing means, said object oriented programming language based query to said first object;
said first object generating an object oriented programming language based reply, using said first processing means;
encoding, using said first processing means, said object oriented programming language based reply into an operating system based reply at run time;
transmitting, using said first processing means, said operating system based reply to said second process at run time;
decoding, using a second processing means, said operating system based reply into an object oriented programming language based reply at run time;
transmitting, using said second processing means, said object oriented programming language based reply, using said second processing means, and generating an object oriented programming language based result;
encoding, using said second processing means, said object oriented programming language based result into an operating system based result at run time;
transmitting, using said second processing means, said operating system based result to said first process at run time;
decoding, using said first processing means, said operating system based result into an object oriented programming language based result;
transmitting, using said first processing means, said object oriented programming language based result to said first object.

12. The method of claim 11 wherein said object oriented programming language based message comprises a method and an argument.

13. The method of claim 12 wherein said second object executes said method on said argument when executing said message.

14. The method of claim 11 wherein said first process and said second process are located on first and second computers respectively.

15. The method of claim 11 wherein said object oriented programming language based message comprises an objective C message.

16. The method of claim 11 wherein said operating system based message comprises a Mach message.

17. The method of claim 11 wherein said first proxy represents said second object.

18. The method of claim 11 wherein said second proxy represents said first object.

19. A method for sending, in a C environment with minimal run time support, an object oriented programming language based message having dynamic binding from a first object in a first process to a second object in a second process, said method comprising the steps of:

transmitting, using a first processing means implementing said C environment, said object oriented programming language based message to a first proxy in said first process;
using said first proxy and said first processing means, encoding said object oriented programming language based message into an operating system based message at run time;
transmitting said operating system based message to said second process at run time;
decoding, using a second processing means implementing said C environment, said operating system based message into a language based message;
transmitting, using said second processing means, said object oriented programming language based message to said second object.

20. The method of claim 19 further including the steps of:

said second object executing said object oriented programming language based message, using said second processing means, and generating an object oriented programming language based result;
encoding, using said second processing means, said object oriented programming language based result into an operating system based result at run time;
transmitting, using said second processing means, said operating system based result to said first process at run time;
decoding said operating system based result into an object oriented programming language based result at run time, using said first processing means;
transmitting, using said first processing means, said object oriented programming language based result to said first object.

21. The method of claim 20 wherein the step of executing said object oriented programming language based message further includes the steps of:

said second object determining, using said second processing means, whether additional information is needed to execute said object oriented programming language based message;
said second object generating, using said second processing means, an object oriented programming language based query if it is determined that additional information is needed;
encoding, using said second processing means, said object oriented programming language based query into an operating system based query at run time if it is determined that additional information is needed;
transmitting said operating system based query to said first process at run time, using said second processing means if it is determined that additional information is needed;
decoding, using said first processing means, said operating system based query into an object oriented programming language based query at run time if it is determined that additional information is needed;
transmitting, using said first processing means, said object oriented programming language based query to said first object if it is determined that additional information is needed.

22. The method of claim 21 further including the steps of:

said first object generating, using said first processing means, an object oriented programming language based reply to said object oriented programming language based query;
encoding said object oriented programming language based reply into an operating system based reply at run time, using said first processing means;
transmitting, using said first processing means, said operating system based reply to said second process at run time;
decoding, using said second processing means, said operating system based reply into an object oriented programming language based reply at run time;
transmitting, using said processing means, said object oriented programming language based reply to said second object.

23. The method of claim 21 wherein said operating system based message comprises a Mach message.

24. The method of claim 21 wherein said first processing means and said second processing means are the same processing means.