Patents by Inventor Ken M. Cavanaugh

Ken M. Cavanaugh has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7743167
    Abstract: A method for servicing requests in a dynamic cluster that includes receiving, by a first replica of the dynamic cluster, a first request that includes a first membership label from a client, wherein the client stores the first membership label and a first cluster list, determining whether the first membership label is obsolete, and sending a second membership label and a second cluster list to the client when the first membership label is obsolete, wherein the client updates the first cluster list with the second cluster list.
    Type: Grant
    Filed: November 22, 2006
    Date of Patent: June 22, 2010
    Assignee: Oracle America, Inc.
    Inventors: Harold Carr, Ken M. Cavanaugh
  • Patent number: 7574710
    Abstract: Method and apparatus for determining data encoding format in RMI-IIOP messages. Embodiments may provide a mechanism to use Java serialization rather than, or as an alternative to, CORBA Common Data Representation (CDR), for the marshaling and unmarshaling of data in RMI-IIOP message exchanges. In one embodiment, a server-side Object Request Broker (ORB) may be configured to support the encoding of data in RMI-IIOP messages in accordance with CDR encoding and Java serialization encoding. In one embodiment, an Interoperable Object References (IOR) published by the server may include information that indicates which encoding type(s) are supported by the server-side ORB on the server that hosts the associated object. A client-side ORB may optionally use Java serialization or CDR as the data encoding format for RMI-IIOP messages to invoke the associated object on the server. Each RMI-IIOP message may include an indication of which encoding type is used in the message.
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: August 11, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Thulasiraman Jeyaraman, Harold Carr, Ken M. Cavanaugh
  • Patent number: 7533156
    Abstract: Method and apparatus for RMI-IIOP implementation using Java serialization as a data encoding mechanism. Embodiments may provide a mechanism to use Java serialization rather than, or as an alternative to, CORBA Common Data Representation (CDR), for the marshaling and unmarshaling of data in RMI-IIOP message exchanges. In one embodiment, a server-side Object Request Broker (ORB) may be configured to support the encoding of data in RMI-IIOP messages in accordance with CDR encoding and Java serialization encoding. A client-side ORB may optionally use Java serialization or CDR as the data encoding format for RMI-IIOP messages to invoke the associated object on the server. Response messages from the server to the client may include data encoded according to Java serialization or CDR.
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: May 12, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Thulasiraman Jeyaraman, Harold Carr, Ken M. Cavanaugh
  • Patent number: 7533388
    Abstract: Method and apparatus for the dynamic generation of Stubs and Ties in RMI-IIOP implementations. In embodiments, dynamic RMI-IIOP may generate Stubs and Ties as needed at runtime, rather than statically generating Stubs and Ties. In embodiments, the dynamic RMI-IIOP mechanism may be implemented as part of the ORB architecture, rather than as part of the application server architecture. In one embodiment, Ties may be dynamically generated by the server-side ORB using reflection. In embodiments, different mechanisms may be provided for dynamically generating Stubs on the client-side ORB. These mechanisms may include a dynamic proxy mechanism and an external library mechanism. One embodiment may provide a pluggable interface to the client-side ORB through which different dynamic Stub mechanisms may be plugged in. Some embodiments of dynamic RMI-IIOP may be configured to load statically generated Stubs for client processes where dynamic Stubs are not supported.
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: May 12, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: Ken M. Cavanaugh
  • Patent number: 6976261
    Abstract: Methods and apparatus for reducing computing overhead by creating fast, local-only objects in a distributed client/server based computing system are disclosed. In one aspect of the invention, within an object-based computing system, a method for creating an object reference that is associated with a local-only servant object includes implementing a first base class to create a first object that represents the object reference, and obtaining a local-only create closure. An operation is called on a second base class using the local-only create closure. The operation creates a server-side representation associated with the local-only servant object, and is stored in the first object that represents the object reference. In one embodiment, creating the local-only create closure includes creating a skeleton object and calling a local m-table builder for the skeleton object.
    Type: Grant
    Filed: May 2, 2002
    Date of Patent: December 13, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Christian J. Callsen, Ken M. Cavanaugh
  • Patent number: 6516354
    Abstract: In a CORBA distributed object system, potential object name ambiguities in the Portable Object Adapter are resolved without using variable-length object identifiers by translating the variable length identifiers into a fixed length compact identifier, such as a integer. The mapping for persistent objects is maintained on an ID server with persistent state and the mappings are ultimately written to a file. A server IDL interface is defined to the ID server which interface includes a method that accepts a variable length fully qualified name and returns the compact identifier. The method assigns an identifier if one does not exist. Another method accepts the identifier and returns the name.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: February 4, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Ken M. Cavanaugh
  • Patent number: 6510460
    Abstract: In order to maintain locking invariants in a multi-threaded system, a special inverse lock class is defined whose constructor stores a reference to, and then releases, a previously-acquired lock whose reference is passed into it. The destructor of the class re-acquires the referenced lock. During operation, the class is instantiated, passing in the desired lock before an upcall is made. Instantiation executes the constructor and causes the lock to be released. When the upcall terminates, either normally or by an exception, the inverse lock object destructor is executed causing the lock to be re-acquired. Since the inverse lock object destructor will always be called when the object is destroyed, the locking invariant will always be satisfied.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: January 21, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Christian J. Callsen, Ken M. Cavanaugh
  • Publication number: 20020178298
    Abstract: Methods and apparatus for reducing computing overhead by creating fast, local-only objects in a distributed client/server based computing system are disclosed. In one aspect of the invention, within an object-based computing system, a method for creating an object reference that is associated with a local-only servant object includes implementing a first base class to create a first object that represents the object reference, and obtaining a local-only create closure. An operation is called on a second base class using the local-only create closure. The operation creates a server-side representation associated with the local-only servant object, and is stored in the first object that represents the object reference. In one embodiment, creating the local-only create closure includes creating a skeleton object and calling a local m-table builder for the skeleton object.
    Type: Application
    Filed: May 2, 2002
    Publication date: November 28, 2002
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Christian J. Callsen, Ken M. Cavanaugh
  • Patent number: 6438616
    Abstract: Methods and apparatus for reducing computing overhead by creating fast, local-only objects in a distributed client/server based computing system are disclosed. In one aspect of the invention, within an object-based computing system, a method for creating an object reference that is associated with a local-only servant object includes implementing a first base class to create a first object that represents the object reference, and obtaining a local-only create closure. An operation is called on a second base class using the local-only create closure. The operation creates a server-side representation associated with the local-only servant object, and is stored in the first object that represents the object reference. In one embodiment, creating the local-only create closure includes creating a skeleton object and calling a local m-table builder for the skeleton object.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: August 20, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Christian J. Callsen, Ken M. Cavanaugh
  • Patent number: 6405264
    Abstract: In order to support filtering operations in a CORBA system, the marshaling and unmarshaling process is encapsulated in a server invocation object created from a class which contains data, including the request ID, the marshal buffer and the marshal and unmarshal methods. Filtering is supported by extending the class with a subclass that overrides the marshal and unmarshal methods to invoke the filters at the proper points. During operation, the CORBA object request broker examines the request to determine whether filtering is requested and instantiates a server invocation object either from the parent class, if filtering is not requested, or from the subclass, if filtering is requested.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: June 11, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Anita Jindal, Ken M. Cavanaugh, Sanjeev Krishnan
  • Patent number: 6397346
    Abstract: A method and apparatus for controlling server activation. In the prior art, there exists a race condition between the shutting down of an old server and the starting up of a new server. Further, rapidly restarting servers, such as daemonic servers, are prone to thrashing behavior. However, an embodiment of the invention avoids this undesired behavior by providing an additional “shutting down” state in the server finite state machine running in the ORB daemon. This additional state allows an old server to complete the necessary shut down procedures prior to the startup of a new server. Also, a process is provided for handling servers that are too slow to shut down or start up. A second additional state is provided in the server finite state machine to handle self started servers.
    Type: Grant
    Filed: March 12, 1999
    Date of Patent: May 28, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Ken M. Cavanaugh, Christian J. Callsen
  • Publication number: 20020052984
    Abstract: In order to support filtering operations in a CORBA system, the marshaling and unmarshaling process is encapsulated in a server invocation object created from a class which contains data, including the request ID, the marshal buffer and the marshal and unmarshal methods. Filtering is supported by extending the class with a subclass that overrides the marshal and unmarshal methods to invoke the filters at the proper points. During operation, the CORBA object request broker examines the request to determine whether filtering is requested and instantiates a server invocation object either from the parent class, if filtering is not requested, or from the subclass, if filtering is requested.
    Type: Application
    Filed: December 18, 1997
    Publication date: May 2, 2002
    Inventors: ANITA JINDAL, KEN M. CAVANAUGH, SANJEEV KRISHNAN
  • Publication number: 20020038390
    Abstract: Methods and apparatus for reducing computing overhead by creating fast, local-only objects in a distributed client/server based computing system are disclosed. In one aspect of the invention, within an object-based computing system, a method for creating an object reference that is associated with a local-only servant object includes implementing a first base class to create a first object that represents the object reference, and obtaining a local-only create closure. An operation is called on a second base class using the local-only create closure. The operation creates a server-side representation associated with the local-only servant object, and is stored in the first object that represents the object reference. In one embodiment, creating the local-only create closure includes creating a skeleton object and calling a local m-table builder for the skeleton object.
    Type: Application
    Filed: December 18, 1997
    Publication date: March 28, 2002
    Applicant: Sun Microsystems, Inc.
    Inventors: CHRISTIAN J. CALLSEN, KEN M. CAVANAUGH
  • Publication number: 20020029297
    Abstract: In a CORBA distributed object system, potential object name ambiguities in the Portable Object Adapter are resolved without using variable-length object identifiers by translating the variable length identifiers into a fixed length compact identifier, such as a integer. The mapping for persistent objects is maintained on an ID server with persistent state and the mappings are ultimately written to a file. A server IDL interface is defined to the ID server which interface includes a method that accepts a variable length fully qualified name and returns the compact identifier. The method assigns an identifier if one does not exist. Another method accepts the identifier and returns the name.
    Type: Application
    Filed: December 18, 1997
    Publication date: March 7, 2002
    Inventor: KEN M. CAVANAUGH
  • Patent number: 6272557
    Abstract: Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: August 7, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Anita Jindal
  • Patent number: 6249803
    Abstract: One or more filters may be included in each object implementation in a CORBA distributed object system. Each CORBA server object maintains a registry of filters containing unique identifiers and specifications for each of the filters and the order in which the filters must be applied. The filters execute selected code either before or after the conventional marshaling and unmarshaling which take place during a method invocation in the system. The CORBA client object builds a filter registry, from information that it received from the server. Filters may also be present in the client side of the ORB in order to execute code before and after the marshaling and unmarshaling that takes place in the client side of the ORB and these latter filters are also included in the client filter registry. The client then uses its filter registry to invoke the filters during a subsequent method invocation. The client also receives a time stamp from the server to identify the current filter composition.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: June 19, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Anita Jindal, Ken M. Cavanaugh, Sanjeev Krishnan, Rohit Garg
  • Patent number: 6212573
    Abstract: Data structures, methods and devices for reducing computing overhead by utilizing threads which are effective to listen for requests for new connections, for new requests for services, and process requests for services in a distributed client/server-based object oriented operating system are disclosed. In one aspect of the invention, a method of processing a request for service from a client, involves listening for a request using a first server side thread which is effective to listen for and process requests on a connection, reading the header of the request using the first server side thread, and processing the request. In another aspect of the invention, a client writes a request for service on a connection between the client and a server using a first client side thread which is effective for dispatching requests and listening for replies to the request, and determines whether a reply from the server is expected in response to the request for service.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: April 3, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Rohit Garg
  • Patent number: 6205491
    Abstract: Methods and apparatuses for deferring, or delaying, the throwing of exceptions are disclosed. In one aspect of the present invention, an exception is raised during an invocation of a first object within an object-based system. The exception may be processed by catching the exception and making a first copy of the exception. Making the first copy of the exception includes storing the first copy of the exception in a dynamic memory. The first copy of the exception may then be processed by creating a runtime copy of the exception that is stored on an execution heap. The runtime copy of the exception may is then caught. The first copy of the exception is deleted from the dynamic memory, and the caught runtime copy of the exception is reprocessed. In one embodiment, processing the first copy of the exception includes throwing the first copy of the exception as a system exception.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: March 20, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Christian J. Callsen, Ken M. Cavanaugh
  • Patent number: 6189048
    Abstract: Data structures, methods and devices for reducing computing overhead associated with dispatching a distributed object invocation and improving the flexibility of the dispatch framework in a distributed client/server based computing system are disclosed. In one aspect of the invention, a request received on an end point in a transport layer is dispatched from the transport layer to a subcontract in a subcontract layer where the request is partially unmarshaled and dispatched from the subcontract to a skeleton function in a skeleton layer where a servant is invoked.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: February 13, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Sanjay R. Radia, Ken M. Cavanaugh, III, Christian J. Callsen
  • Patent number: 6044409
    Abstract: Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: March 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Ken M. Cavanaugh, III, Anita Jindal