Patents by Inventor Graham Hamilton

Graham Hamilton 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: 5815712
    Abstract: A system for providing a user or agent control over functions defined by an object in a target application. The object is a new type of object called a controllable object, which publishes its functions and for use by a control application. When the target application execution is commenced, it generates predefined controllable objects, and then execution of the control application is commenced. The control application obtains a handle on the controllable object, and then is able to set any of a number of predefined values in the controllable object, such as individual variables or parameters, ranges of values, a list of choices from which the user can select, and others. In this way, the user can manipulate, test and optimize the target application even during its execution, by virtue of the pre-programmed controllable object functions.
    Type: Grant
    Filed: July 18, 1997
    Date of Patent: September 29, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: David M. Bristor, Brian T. Lewis, Graham Hamilton
  • Patent number: 5815708
    Abstract: A method for handling method calls in a client/server computer system includes the step of receiving at a server computer a method call generated by a client computer. The server computer then attempts to execute the method call and subsequently generates an exception. The exception is passed to the client computer. The client computer matches the exception to exceptions in an exception list stored in the client computer to obtain an exception object identifier. The exception object identifier is used to load exception code into the client computer. The exception code is then processed. Thus, the exception code need not be loaded at the time of generating the method call. Instead, it is only loaded when it is required at run time.
    Type: Grant
    Filed: October 6, 1995
    Date of Patent: September 29, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter B. Kessler, Graham Hamilton, Jeffrey D. Nisewanger
  • Patent number: 5787251
    Abstract: The present invention provides an elegant and simple way to provide mechanisms for invocation of objects by client applications and for argument passing between client applications and object implementations, without the client application or the operating system knowing the details of how these mechanisms work. Moreover, these mechanisms functions in a distributed computer environment with similar ease and efficiency, where client applications may be on one computer node and object implementations on another. The invention includes a new type of object, termed a "spring object," which includes a method table, a subcontract mechanism and a data structure which represents the subcontract's local private state.
    Type: Grant
    Filed: November 18, 1996
    Date of Patent: July 28, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Michael L. Powell, James G. Mitchell, Jonathan J. Gibbons
  • Patent number: 5761421
    Abstract: A system and method for establishing a peer-to-peer communication connection between computer programs from the same security domain, but executing in first and second computers, is disclosed. A first computer program, while executing in the first computer, sends a communication a message to the second computer, requesting a peer-to-peer communication connection. Upon receiving the message at said second computer, the second computer determines whether a second computer program meeting predefined criteria for establishing a peer-to-peer communication connection is executing in the second computer. If so, the second computer sends to the first computer a reply message accepting the request. After receipt of the reply message by the first computer, the requested peer-to-peer communication connection between the first and second computer programs is established.
    Type: Grant
    Filed: March 25, 1996
    Date of Patent: June 2, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Arthur A. van Hoff, Sami Shaio, Graham Hamilton, Marianne Mueller
  • Patent number: 5758186
    Abstract: A client/server computer apparatus includes a large number of client computers connected to a transmission channel. The client computers generate method calls that are applied to the transmission channel. Each method call may be encoded with a different communication protocol. A server computer processes each method call from the transmission channel by initially locating within each method call a method descriptor specified in a protocol-dependent format. The method descriptor is then compared to a list of protocol-dependent values stored in the memory of the server computer. An index value is assigned upon matching the method descriptor to a selected protocol-dependent value in the list of protocol-dependent values. The index value is passed to a protocol-independent portion of the server computer. The protocol-independent portion of the server computer executes the method corresponding to the index value to generate a reply.
    Type: Grant
    Filed: October 6, 1995
    Date of Patent: May 26, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Peter B. Kessler, Jeffrey D. Nisewanger, Alan Bishop, Eduardo Pelegri-Llopart
  • Patent number: 5748881
    Abstract: A method and apparatus are disclosed which provide solutions to the problems which are encountered in an object oriented, distributed computer system in which attempts are made to monitor and display performance characteristics of objects in the system, where no prior knowledge of the objects exists. The invention disclosed herein is a generic monitoring and display system which can obtain performance data from and about objects and display the data in an appropriate manner without having to create special one time data acquisition and display programs, and which can select an appropriate display type based upon a display indicator contained in the captured data. Additionally, a tabular object is disclosed which can be used by operating objects to facilitate operating data collection and reporting.
    Type: Grant
    Filed: November 3, 1995
    Date of Patent: May 5, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian T. Lewis, Graham Hamilton
  • Patent number: 5737607
    Abstract: The invention provides solutions to the problems which are encountered by object oriented systems designers when attempting to implement schemes for object invocation and for argument passing in distributed systems wherein the arguments may be objects, and wherein the system supports a multiplicity of ORB-specific data formats, in ways which do not lock the object oriented base system into methods which may be difficult to change at a later time.
    Type: Grant
    Filed: September 28, 1995
    Date of Patent: April 7, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Swee Boon Lim, Peter B. Kessler, Jeffrey D. Nisewanger, Sanjay R. Radia
  • Patent number: 5640564
    Abstract: A distributed computer system in which a server application performs operations responsive to operation requests from a client application. The client application initially identifies an operation for the server application to perform with a short identifier of the operation. If the short identifier is ambiguous, the server application sends the client application a reply indicating that the short identifier was ambiguous. The client application responds by sending a long identifier which uniquely identifies the operation. Preferably, the short identifier of an operation is derived by performing a hash function on the long identifier of the operation. In object-oriented distributed systems, the operations are methods defined in objects supported by the server application.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: June 17, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Peter B. Kessler
  • Patent number: 5577251
    Abstract: The present invention provides an elegant and simple way to provide mechanisms for invocation of objects by client applications and for argument passing between client applications and object implementations, without the client application or the operating system knowing the details of how these mechanisms work. Moreover, these mechanisms functions in a distributed computer environment with similar ease and efficiency, where client applications may be on one computer node and object implementations on another.The invention includes a new type of object, termed a "spring object," which includes a method table, a subcontract mechanism and a data structure which represents the subcontract's local private state.
    Type: Grant
    Filed: November 7, 1995
    Date of Patent: November 19, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Michael L. Powell, James G. Mitchell, Jonathan J. Gibbons
  • Patent number: 5577252
    Abstract: A secure naming model for objects in an object-oriented system, wherein names are bound to objects within context objects. The context objects are implemented by name servers, and clients request that a context object "resolve" the name for the object. The name server that implements the context returns a duplicate of the desired object. If a name resolution involves more than one name server, an assurance of security is provided by the first name server to the second name server.
    Type: Grant
    Filed: July 28, 1993
    Date of Patent: November 19, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael N. Nelson, Sanjay R. Radia, Graham Hamilton
  • Patent number: 5566302
    Abstract: The present invention provides an elegant and simple way to provide mechanisms for invocation of objects by client applications and for argument passing between client applications and object implementations, without the client application or the operating system knowing the details of how these mechanisms work. Moreover, these mechanisms functions in a distributed computer environment with similar ease and efficiency, where client applications may be on one computer node and object implementations on another. The invention includes a new type of object, termed a "spring object," which includes a method table, a subcontract mechanism and a data structure which represents the subcontract's local private state. This application is directed to a Shared Memory subcontract whereby a client and a server can share a memory region for argument and results passing in certain circumstances without the intervention of the kernel and with no restrictions on the type or complexity of the arguments being exchanged.
    Type: Grant
    Filed: July 29, 1994
    Date of Patent: October 15, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Graham Hamilton, Panagiotis S. Kougiouris
  • Patent number: 5481715
    Abstract: An apparatus and a method are disclosed whereby a client application can use a trusted "Deputy" application to execute operation calls on several servers on behalf of the client, the Deputy application being able to convince the servers that the deputy application is representing the original client application, and the client thereby reducing the risk of being contaminated by uncontrolled access to an unknown server, while at the same time being able to obtain the desired processing results regardless of the number or location of servers involved in providing the results. The Deputy application is authenticated by the server as representing a user, not a user on a predetermined workstation or as a predetermined member of a particular work group.
    Type: Grant
    Filed: December 15, 1993
    Date of Patent: January 2, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Robert B. Hagmann
  • Patent number: 5475840
    Abstract: A method is disclosed for a method to dynamically link a new program image and related library programs into an executable application program image. The method provides for producing a linked list of the required programs by giving the linker an argument representing the designated program image and a naming context which contains data on the associated library programs which are to be linked together. The linker finds all of the required programs, and links them together. The parent maps the program images into the designated addresses thereby completing the linking of the executable application program. In finding the required programs, the linker first checks the image cache to see if the new program and its related library programs is already linked and cached because it was executed before.
    Type: Grant
    Filed: April 13, 1993
    Date of Patent: December 12, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael N. Nelson, Graham Hamilton
  • Patent number: 5301316
    Abstract: In an object oriented distributed system based on the client-server model, the client domains, the server domains and the objects are implemented in an improved manner such that a client domain determines whether a first and a second object implemented by a first and a second server domain are equivalent by requesting the first object to nominate a third object to make the determination, the second object to concur to the nomination, and the nominated third object to make the determination, thereby allowing the determination to be made without comprising the first and second objects and the first and second server domains' security.
    Type: Grant
    Filed: October 30, 1991
    Date of Patent: April 5, 1994
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Michael L. Powell, John Chapin
  • Patent number: 5287507
    Abstract: A method and apparatus for client programs adapted for use in an object oriented, distributed computing system, to have the ability to communicate and use references to objects in a way which improves the benefits of software caching are disclosed. A mechanism is described whereby a network object handle (an augmented object handle) can be used to reference both a server and a local cache manager. When the augmented object handle is transmitted it is automatically updated to use a local cache manager in its target environment (i.e. on the same machine on which the receiving client program resides) if possible.
    Type: Grant
    Filed: March 27, 1992
    Date of Patent: February 15, 1994
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Michael N. Nelson