| Patent Number |
Title Of Patent |
Date Issued |
| 7577834 |
Message authentication using message gates in a distributed computing environment |
August 18, 2009 |
| Embodiments of a system and method using message authentication with message gates are described. A message gate is the message endpoint for a client or service in a distributed computing environment. A message gate may provide a secure endpoint that sends and receives type-safe messages |
| 7570600 |
Overlay network with efficient routing and recovery |
August 4, 2009 |
| A network having a plurality of nodes interconnected by links (virtual communication channels) is disclosed. In one embodiment, the nodes may communicate with each other in a decentralized or peer-to-peer manner. A method for establishing the links among the nodes is disclosed. The links |
| 7555527 |
Efficiently linking storage object replicas in a computer network |
June 30, 2009 |
| A system and method for efficiently linking together replicas of a storage object. The location of a first replica of the storage object may be stored on a node in a network. When new replicas of the storage object are created, the node that stores the new replica may efficiently lookup |
| 7548946 |
Pre-generated message endpoints |
June 16, 2009 |
| In a distributed computing environment, a message gate may be the message endpoint for a client or service to communicate with another client or service. Message gates may be pre-generated and built into the device. For example, message gates may be generated during the build of embedded |
| 7467194 |
Re-mapping a location-independent address in a computer network |
December 16, 2008 |
| A system and method for re-mapping location-independent addresses in a computer network. A first node may send a first message addressed to a location-independent address, where the first message comprises a request to host an instance of the location-independent address. A second node |
| 7458082 |
Bridging between a data representation language message-based distributed computing environment |
November 25, 2008 |
| Various embodiments of mechanisms for bridging data representation language messaging based distributed computing environments to foreign environments are described. A device proxy may implement a device protocol and a distributed computing environment protocol to bridge devices into |
| 7444644 |
Secure access of objects generated from data representation language representations of the obje |
October 28, 2008 |
| A mechanism for securely decompiling representations of objects into copies of the objects is described. A virtual machine may include extensions for decompiling data representation language representations of objects into objects. The decompiler API may accept a data stream, which i |
| 7433928 |
System pre-allocating data object replicas for a distributed file sharing system |
October 7, 2008 |
| A system and method for pre-allocating replicas for a distributed file sharing system. Creating a new file may involve creating a plurality of replicas for the file on a plurality of nodes. In one embodiment nodes in the system may pre-allocate sets of file replicas, where the pre-al |
| 7426721 |
Transformation of objects between a computer programming language and a data representation lang |
September 16, 2008 |
| A virtual machine (e.g. the Java Virtual Machine (JVM)) may include extensions for compiling objects (e.g. Java Objects) into data representation language (e.g. XML) representations of the objects, and for decompiling representations of objects into objects. The virtual machine may s |
| 7412518 |
Method and apparatus for proximity discovery of services |
August 12, 2008 |
| A service discovery protocol may allow clients to discover services on a proximity basis. A service device that provides one or more computing services may support a proximity communication link. A client device may form a proximity communication link with the service device. The client |
| 7404006 |
Publishing a network address in a computer network |
July 22, 2008 |
| A system and method for publishing a network address on a computer network. A first node in a plurality of nodes may initiate a publish operation to publish a first instance of the network address. Initiating the publish operation may comprise the first node sending a publish message |
| 7401153 |
Peer-to-peer computing architecture |
July 15, 2008 |
| A system and method for providing an open network computing platform designed for peer-to-peer computing. The peer-to-peer platform may provide protocols for peer-to-peer services and applications that allow peers to discover each other, communicate with each other, and cooperate wit |
| 7398533 |
Remote function invocation with messaging in a distributed computing environment |
July 8, 2008 |
| An interface between clients and services in a distributed computing environment is described. Method gates may provide an interface to remotely invoke functions of a service. A method gate may be generated from an advertisement that may include definitions for one or more messages f |
| 7395333 |
Method and apparatus to obtain negotiated service advertisement |
July 1, 2008 |
| A service discovery mechanism may allow clients in a distributed computing environment to search for services. The service discovery mechanism may allow a client to request a capability credential from a service. The distributed computing environment may include a mechanism for a client |
| 7370091 |
Method and apparatus for obtaining space advertisements |
May 6, 2008 |
| A distributed computing environment may employ spaces to provide a rendezvous mechanism that brokers services or content to clients. Services may advertise themselves in a space. Clients may find the advertisements in a space and use the information from an advertisement to access a |
| 7292585 |
System and method for storing and utilizing routing information in a computer network |
November 6, 2007 |
| A system and method for storing and utilizing routing information in a computer network. Instances of a first network address may be created on each of N nodes in the network. Routing information for routing messages to the first network address may be stored on a first node. The first |
| 7260543 |
Automatic lease renewal with message gates in a distributed computing environment |
August 21, 2007 |
| A system and method for providing message-based leasing of resources in a distributed computing environment. Services may issue leases to clients and provide operations on those leases. The lease functionality of a service may be defined in an XML message schema. Gates may be used to |
| 7243356 |
Remote method invocation with secure messaging in a distributed computing environment |
July 10, 2007 |
| A secure interface between clients and services in a distributed computing environment is described. Method gates may provide an interface to remotely invoke functions of a service. A method gate may be generated from an advertisement that may include definitions for one or more mess |
| 7200848 |
Migrating processes using data representation language representations of the processes in a dis |
April 3, 2007 |
| A data representation language representation of the state of a process executing on a client or service in a distributed computing environment may be created. The representation may include a computation state of the device and/or virtual machine on which the process is executing, where |
| 7188251 |
System and method for secure message-based leasing of resources in a distributed computing envir |
March 6, 2007 |
| A system and method for providing message-based leasing of resources in a distributed computing environment. Services may issue leases to clients and provide operations on those leases. The lease functionality of a service may be defined in an XML message schema. Gates may be used to |
| 7080078 |
Mechanism and apparatus for URI-addressable repositories of service advertisements and other con |
July 18, 2006 |
| A system and method for interaction and access to shared content among clients and services in a distributed computing environment. A client may access a space service. The space service may store one or more XML service advertisements and/or other XML content in a space, and each of |
| 7072967 |
Efficient construction of message endpoints |
July 4, 2006 |
| In a distributed computing environment, a message gate may be the message endpoint for a client or service. A message gate may provide a secure message endpoint that sends and receives type-safe messages. Devices may have a gate factory (e.g. message endpoint constructor) that is trusted |
| 7065574 |
Messaging system using pairs of message gates in a distributed computing environment |
June 20, 2006 |
| Various embodiments of message gate pairs are described. A message gate pair may provide a mechanism for communicating requests from clients to services and response from services to clients. A message gate pair may be used to create a secure atomic bi-directional message channel for |
| 7016966 |
Generating results gates in a distributed computing environment |
March 21, 2006 |
| Embodiments of a mechanism for providing results gates to clients in the distributed computing environment to be used by the clients to access results generated by services on behalf of the clients. A client generates a request message for a service. The request message is generated |
| 7010573 |
Message gates using a shared transport in a distributed computing environment |
March 7, 2006 |
| A message gate is the message endpoint for a client or service in a distributed computing environment. A message gate may provide a secure message endpoint that sends and receives type-safe messages. A gate may have a gate name that is a unique ID that refers only to the gate. A gate |
| 6973493 |
Mechanism and apparatus for security of newly spawned repository spaces in a distributed computi |
December 6, 2005 |
| A system and method for providing security for newly spawned spaces in a distributed computing environment. A client may access a first space service. The creation of a second space may be requested, such as by the client sending an appropriate request to an interface of the first space. |
| 6970869 |
Method and apparatus to discover services and negotiate capabilities |
November 29, 2005 |
| A service discovery protocol may allow clients in a distributed computing environment to search for services. Service providers (or a listener agent) may respond to search requests by publishing or providing corresponding service advertisements or URIs to corresponding service advert |
| 6959331 |
System and method for operating a client network computer in a disconnected mode by establishing |
October 25, 2005 |
| A system and method of operating a client network computer in a disconnected mode. A client computer system includes a client storage device, a processor, a network interface, a failover server and a software manager. The processor is configured to execute software instructions store |
| 6957237 |
Database store for a virtual heap |
October 18, 2005 |
| A database store method and system for a virtual persistent heap may include an Application Programming Interface (API) that provides a mechanism to cache portions of the virtual heap into an in-memory heap for use by an application. The virtual heap may be stored in a persistent sto |
| 6950875 |
Message conductors in a distributed computing environment |
September 27, 2005 |
| Embodiments of a message conductor in a distributed computing environment are described. A message conductor may accept a data representation language schema that describes the ordering for messages that may be sent between a client and a service. This schema may specify user interface |
| 6941410 |
Virtual heap for a virtual machine |
September 6, 2005 |
| A virtual heap for a process executing within a virtual machine is described. In one embodiment, the virtual persistent heap may allow the running of an application on a physical heap that is smaller than may otherwise be required. As an example, the virtual persistent heap may be an |
| 6934755 |
System and method for migrating processes on a network |
August 23, 2005 |
| A method and system is provided for migrating processes from one virtual machine to another on a network. To migrate the external state of a process, the process may use a network service connection system or a compact network service connection system for accessing resources external |
| 6918084 |
Spawning new repository spaces using information provided in advertisement schema messages |
July 12, 2005 |
| A system and method for spawning new spaces in a distributed computing environment. A client may access a first space service at a first Internet address. The first space service may store one or more service advertisements and/or other content in a first space, and each of the servi |
| 6917976 |
Message-based leasing of resources in a distributed computing environment |
July 12, 2005 |
| A system and method for providing message-based leasing of resources in a distributed computing environment. Services may issue leases to clients and provide operations on those leases. The lease functionality of a service may be defined in an XML message schema. Gates may be used to |
| 6898618 |
Client-specified display services in a distributed computing environment |
May 24, 2005 |
| Various embodiments of a mechanism for a client to specify a display service to be used by a service for displaying data for the client in a distributed computing environment are described. A display service on or associated with the device on which the client resides that the client |
| 6874066 |
Caching mechanism for a virtual heap |
March 29, 2005 |
| A caching mechanism for a virtual persistent heap. A feature of a virtual persistent heap is the method used to cache portions of the virtual persistent heap into the physical heap. The caching mechanism may be effective with small consumer and appliance devices that typically have a |
| 6868447 |
Mechanism and apparatus for returning results of services in a distributed computing environment |
March 15, 2005 |
| Systems and methods for returning results of services within a distributed computing environment are provided. After a client invokes one or more functions of a service, results of the function(s) may be returned to the client in a plurality of ways: for example, in a message, in a space |
| 6865657 |
Garbage collector for a virtual heap |
March 8, 2005 |
| A method and system for performing generational garbage collection on a virtual heap in a virtual machine is provided. The garbage collection method is suited for use with small consumer and appliance devices that have a small amount of memory and may be using flash devices as persistent |
| 6862735 |
Mechanism by which platform independent software may bind to and access platform dependent softw |
March 1, 2005 |
| Methods and apparatus for a platform independent object to bind to and access platform dependent software are disclosed. According to one aspect of the present invention, a software object that includes a wrapper and an associated platform dependent software. The platform independent obj |
| 6862594 |
Method and apparatus to discover services using flexible search criteria |
March 1, 2005 |
| A service discovery protocol may allow clients in a distributed computing environment to search for services using flexible search criteria. A client may send a search message that may be formatted in a data representational language and may include search criteria. The search criter |
| 6854115 |
Process persistence in a virtual machine |
February 8, 2005 |
| A system and method for providing process persistence in a virtual machine are described. A virtual persistent heap may be provided. The virtual persistent heap may enable the checkpointing of the state of the computation of a virtual machine, including processes executing within the |
| 6850979 |
Message gates in a distributed computing environment |
February 1, 2005 |
| Embodiments of message gates are described. A message gate is the message endpoint for a client or service in a distributed computing environment. A message gate may provide a secure endpoint that sends and receives type-safe messages. Gates may perform the sending and receiving of m |
| 6792466 |
Trusted construction of message endpoints in a distributed computing environment |
September 14, 2004 |
| In a distributed computing environment, a message gate may be the message endpoint for a client or service to communicate with another client or service. Devices may have a gate factory (e.g. message endpoint constructor) that is trusted code on the device for generating gates based |
| 6789126 |
Addressing message gates in a distributed computing environment |
September 7, 2004 |
| A message gate is the message endpoint for a client or service in a distributed computing environment. A message gate may provide a secure message endpoint that sends and receives type-safe messages. A gate may have a gate name that is a unique ID that refers only to the gate. In one |
| 6789077 |
Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed |
September 7, 2004 |
| A system and method for searching for Internet-based repositories within a distributed computing environment are provided. A client on a device may interact with a search service on the same or a different device to find spaces (i.e., network-accessible XML object repositories) for stora |
| 6763440 |
Garbage collection using nursery regions for new objects in a virtual heap |
July 13, 2004 |
| A method and system for garbage collecting a virtual heap using nursery regions for newly created objects to reduce flushing of objects from an in-memory heap to a store heap is provided. The garbage collection method is suited for use with small consumer and appliance devices that have |
| 6760815 |
Caching mechanism for a virtual heap |
July 6, 2004 |
| A caching mechanism for a virtual persistent heap is described. A feature of a virtual persistent heap is the method used to cache portions of the virtual persistent heap into the physical heap. The caching mechanism may be effective with small consumer and appliance devices that typical |
| 6738846 |
Cooperative processing of tasks in a multi-threaded computing system |
May 18, 2004 |
| Methods and apparatus for a cooperative processing of a task in a multi-threaded computing system are disclosed. In one aspect of the invention, a first thread is arranged to receive a task and only partially process the task. During its processing, the first thread stores processing |
| 6643650 |
Mechanism and apparatus for using messages to look up documents stored in spaces in a distribute |
November 4, 2003 |
| A system and method for searching for documents within spaces in a distributed computing environment are provided. A client sends a lookup message to a space which stores documents. The lookup message may specify desired characteristics, such as a name or partial XML schema, of the s |
| 6611844 |
Method and system for java program storing database object entries in an intermediate form betwe |
August 26, 2003 |
| A method and system for providing an intelligent intermediate form of an object-oriented database. The intermediate form is derived from a grammatical form of an object-oriented database through the process of compilation. The grammatical form is a persistent form of an object-orient |