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: 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: 6625641
    Abstract: 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: Grant
    Filed: June 3, 1996
    Date of Patent: September 23, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Dwight Hare, Christian J. Callsen
  • 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: 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: 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
  • Patent number: 6247039
    Abstract: 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: Grant
    Filed: May 17, 1996
    Date of Patent: June 12, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Christian J. Callsen
  • 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: 6044379
    Abstract: 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: Grant
    Filed: December 18, 1997
    Date of Patent: March 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Christian J. Callsen
  • Patent number: 6016489
    Abstract: 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: Grant
    Filed: December 18, 1997
    Date of Patent: January 18, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ken M. Cavanaugh, Christian J. Callsen
  • Patent number: 5991823
    Abstract: 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: Grant
    Filed: June 26, 1996
    Date of Patent: November 23, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ken M. Cavanaugh, III, Alan Snyder, Swee Boon Lim, Christian J. Callsen
  • Patent number: 5884022
    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: June 3, 1996
    Date of Patent: March 16, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Christian J. Callsen, Ken M. Cavanaugh
  • Patent number: 5727145
    Abstract: 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: Grant
    Filed: June 26, 1996
    Date of Patent: March 10, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Dan M. Nessett, Christian J. Callsen, Ken M. Cavanaugh, III