Patents by Inventor Christian J. Callsen
Christian J. Callsen 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: 6976261Abstract: 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: GrantFiled: May 2, 2002Date of Patent: December 13, 2005Assignee: Sun Microsystems, Inc.Inventors: Christian J. Callsen, Ken M. Cavanaugh
-
Patent number: 6625641Abstract: A method and apparatus for supporting a pure client. In an embodiment of the invention, a client process is executing on a local host machine, whereas server software for supporting the client is physically stored on a remote host machine. The remote host machine also includes an active server process. The remote server software that supports the client is identified in the local host machine using an automatic, system generated reference, such as an NFS mount table entry. The mount table entry associated with the remote server software identifies the hostname of the remote host machine in which the remote server software is physically mounted. When the client process has a server request, the client process locates the remote server software entry in the mount table. A hostname specified in the mount table entry is used by the client process to contact the active server process at the remote host machine having that hostname.Type: GrantFiled: June 3, 1996Date of Patent: September 23, 2003Assignee: Sun Microsystems, Inc.Inventors: Dwight Hare, Christian J. Callsen
-
Patent number: 6510460Abstract: 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: GrantFiled: December 18, 1997Date of Patent: January 21, 2003Assignee: Sun Microsystems, Inc.Inventors: Christian J. Callsen, Ken M. Cavanaugh
-
Publication number: 20020178298Abstract: 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: ApplicationFiled: May 2, 2002Publication date: November 28, 2002Applicant: SUN MICROSYSTEMS, INC.Inventors: Christian J. Callsen, Ken M. Cavanaugh
-
Patent number: 6438616Abstract: 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: GrantFiled: December 18, 1997Date of Patent: August 20, 2002Assignee: Sun Microsystems, Inc.Inventors: Christian J. Callsen, Ken M. Cavanaugh
-
Patent number: 6397346Abstract: 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: GrantFiled: March 12, 1999Date of Patent: May 28, 2002Assignee: Sun Microsystems, Inc.Inventors: Ken M. Cavanaugh, Christian J. Callsen
-
Publication number: 20020038390Abstract: 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: ApplicationFiled: December 18, 1997Publication date: March 28, 2002Applicant: Sun Microsystems, Inc.Inventors: CHRISTIAN J. CALLSEN, KEN M. CAVANAUGH
-
Patent number: 6247039Abstract: A method and apparatus for providing thread-safe disposal of objects in a multi-threaded computer environment. When a thread from a process sends a call to delete an object, that thread typically waits for other threads interacting with that same object to clear. During this waiting period, it is common to have other threads invoking the same object, thus increasing rather than decreasing the number of active threads for that object. Also, problems arise when more than one thread attempts to delete the object. However, the present invention associates a state machine with each object. When an invocation of an object is made, the state machine is queried to detect the state. Invocations made on the object after the occurrence of a delete call interpret the object as having been deleted, and are not added to the active invocations for that object. Further, subsequent delete calls also interpret the object as having been deleted, and return a failure indication.Type: GrantFiled: May 17, 1996Date of Patent: June 12, 2001Assignee: Sun Microsystems, Inc.Inventor: Christian J. Callsen
-
Patent number: 6205491Abstract: 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: GrantFiled: December 18, 1997Date of Patent: March 20, 2001Assignee: Sun Microsystems, Inc.Inventors: Christian J. Callsen, Ken M. Cavanaugh
-
Patent number: 6189048Abstract: 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: GrantFiled: June 26, 1996Date of Patent: February 13, 2001Assignee: Sun Microsystems, Inc.Inventors: Swee Boon Lim, Sanjay R. Radia, Ken M. Cavanaugh, III, Christian J. Callsen
-
Patent number: 6044379Abstract: Methods and apparatus for implementing both transient and persistent name services are disclosed. According to one aspect of the present invention, a name service may be arranged to store and process both transient and persistent information. The implementation of at least one storage mechanism arranged to store persistent information for such name service includes creating a recursive section of a hierarchical name space structure. The recursive section of the name space structure is arranged to process both the transient information and the persistent information. Implementing the name service also includes creating a local section of the name space structure. The local section includes an implementation that embodies the storage mechanism, which is encapsulated in a data store interface, that is arranged to store the persistent information.Type: GrantFiled: December 18, 1997Date of Patent: March 28, 2000Assignee: Sun Microsystems, Inc.Inventor: Christian J. Callsen
-
Patent number: 6016489Abstract: In a distributed object system, a stable object iterator provides a list of all persistent objects within a collection of objects. A plurality of iterators are supported in another aspect of the invention. An iterator associates a label with each persistent object in a collection of stable objects. The label indicates whether the associated object was added to or deleted from the collection before or after the inception of an iterator. Multiple persistent iterators are supported by providing an indication of which iterators each persistent object is, or is not, "visible" to. Should an element of the persistent object collection be created after one or more iterators is created, that element is "invisible" to those iterators. Objects that exist when one or more iterators are created remain "visible" to those iterators, even if the object is deleted from the collection while those iterators still exist.Type: GrantFiled: December 18, 1997Date of Patent: January 18, 2000Assignee: Sun Microsystems, Inc.Inventors: Ken M. Cavanaugh, Christian J. Callsen
-
Patent number: 5991823Abstract: Data structures and various methods for invoking and creating objects are used in a distributed object system in order to implement subcontracts. A subcontract is a selected grouping of basic features or object mechanisms that a system provides for use in managing objects and has associated functions. A subcontract registry is used for creating object references for server objects. The subcontract registry has any number of subcontract objects within it, and each subcontract object may include: a subcontract identifier that identifies the subcontract object, a quality of service list that contains feature name-value pairs, and a create function unique to the subcontract object. An implementation registry is used for registering any number of implementation definitions.Type: GrantFiled: June 26, 1996Date of Patent: November 23, 1999Assignee: Sun Microsystems, Inc.Inventors: Ken M. Cavanaugh, III, Alan Snyder, Swee Boon Lim, Christian J. Callsen
-
Patent number: 5884022Abstract: 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: GrantFiled: June 3, 1996Date of Patent: March 16, 1999Assignee: Sun Microsystems, Inc.Inventors: Christian J. Callsen, Ken M. Cavanaugh
-
Patent number: 5727145Abstract: In a distributed object computing system, a client makes a call to a daemon process of a host computer in order to communicate with a target object in an object server process. This call uses a particular security mechanism to ensure a secure communication. The daemon process locates the object server and starts it if necessary. The object server provides the daemon process with a list or table of all the particular security mechanisms that it supports. Using a security class identifier provided by the client in the original call, the daemon process selects a particular security mechanism supported by the server, and then returns this new security mechanism along with the server's port to the client. The client constructs a new object reference to the target object and then calls the target object directly using the new security mechanism. The new security mechanism may be different from the original security mechanism used to communicate with the daemon process.Type: GrantFiled: June 26, 1996Date of Patent: March 10, 1998Assignee: Sun Microsystems, Inc.Inventors: Dan M. Nessett, Christian J. Callsen, Ken M. Cavanaugh, III