Patents by Inventor Thomas E. Saulpaugh

Thomas E. Saulpaugh 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: 7426721
    Abstract: 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 supply an API to the compilation/decompilation extensions. The compiler/decompiler API may accept an object as input, and output a data representation language representation of the object and all its referenced objects (the object graph) in a data stream. In addition, the compiler/decompiler API may accept a data stream, which includes a representation of the object and all its referenced objects (the object graph), and output the object (and all the objects in its object graph). In one embodiment, an intermediary format may be used to represent a data representation language document and may be dynamically processed to generate a class instance from the data representation language document.
    Type: Grant
    Filed: September 15, 2000
    Date of Patent: September 16, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Bernard A. Traversat, Michael J. Duigou, Mohamed M. Abdelaziz
  • Patent number: 7412518
    Abstract: 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 device may directly request from the service device a document that describes an interface to access a service provided by the service device. The service device may provide the document directly to the client device over proximity communication link. The document may include a service advertisement for the service, and the service advertisement may include a schema specifying an interface to at least a portion the service. The client device may use the information from the document to access the service. The client device may support a transport connection in addition to the proximity communication link, and the client device may make the document available to other devices over the transport connection.
    Type: Grant
    Filed: September 7, 2000
    Date of Patent: August 12, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael J. Duigou, Mohamed M. Abdelaziz, Bernard A. Traversat, Thomas E. Saulpaugh, Gregory L. Slaughter
  • Patent number: 7404006
    Abstract: 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 to one or more other nodes in the plurality of nodes. The publish message may be propagated from at least a subset of the nodes that receive the publish message from the first node to still other nodes in the plurality of nodes, which in turn may further propagate the publish message. Each node that receives the publish message from another node may create routing information useable to route messages to the first instance of the network address on the first node.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: July 22, 2008
    Assignee: Symantec Operating Corporation
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh
  • Patent number: 7401153
    Abstract: 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 with each other to form peer groups. The protocols may include a peer membership protocol, a peer discovery protocol, a peer resolver protocol, a peer information protocol, a pipe binding protocol, and a peer endpoint protocol. Services and applications that participate in the protocols may be provided to deal with higher-level concepts. Advertisements may be used to publish peer resources. The peer-to-peer platform provides the ability to replicate information toward end users and may enable peers to find content that is closest to them. The peer-to-peer protocols and unique peer identifiers may allow peer nodes to move to different locations and access services and other content independent of network physical addresses.
    Type: Grant
    Filed: January 22, 2002
    Date of Patent: July 15, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Bernard A. Traversat, Gregory L. Slaughter, Thomas E. Saulpaugh, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, Li Gong, William J. Yeager, Kuldipsingh Pabla, William N. Joy, Michael J. Clary
  • Patent number: 7398533
    Abstract: 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 for remotely invoking functions of the service. A client may generate messages containing representations of method calls. The service may invoke functions that correspond to the set of messages. A method gate on the service may unmarshal the message and invoke the function. The client may receive the results of the function directly. Alternatively, the results may be stored, an advertisement to the results may be provided, and a gate may be generated to access the results. Message gates may perform the sending and receiving of the messages between the client and service. In one embodiment, functions of the service may be computer programming language (e.g. Java) methods.
    Type: Grant
    Filed: September 27, 2000
    Date of Patent: July 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Mohamed M. Abdelaziz
  • Patent number: 7395333
    Abstract: 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 to negotiate service access rights and to then obtain a capability credential that may be used to obtain the service's access interface to the set or subset of the service's capabilities that were requested or negotiated by the client. In one embodiment, the client may present to the service a set of desired capabilities. The service may then respond with a capability credential that may convey to the client the rights to use the requested capabilities. A complete service advertisement may be needed to create a message endpoint for accessing the service. In an embodiment, the capability credential may be used by a client to obtain a complete advertisement for only the requested or negotiated capabilities.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: July 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Mohamed M. Abdelaziz, Bernard A. Traversat
  • Patent number: 7370091
    Abstract: 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 service using a messaging mechanism. A space discovery protocol may be provided to find a space. A client may instantiate a discovery service to locate spaces. A listener agent may be configured associated with one or more spaces to listen for discovery requests. The listener agent may listen on various network interfaces, and may receive requests from clients looking for a space(s). The listener agent then responds with the service advertisement(s) or URIs for the service advertisements of the requested space(s). In one embodiment, the listener agent may be separate from the space and its functionality orthogonal to the functionality of the space.
    Type: Grant
    Filed: October 27, 2000
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Michael J. Duigou
  • Patent number: 7292585
    Abstract: 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 node may be operable to route a first message to the first network address using the routing information so that the message reaches each of the N nodes that have an instance of the first network address. However, the routing information stored by the first node may comprise information regarding less than all N instances of the first network address.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: November 6, 2007
    Assignee: Symantec Operating Corporation
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, John A. Muth, Andrew Krumel
  • Patent number: 7260543
    Abstract: 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 perform lease operations. Leases may be granted for a period that may be negotiated. Leasing messages for performing leasing operations may be defined. An automatic lease renewal mechanism may be implemented to relieve the client of the responsibility of handling lease renewal messages. In one embodiment, of an automatic lease renewal mechanism, each gate may receive renewal messages and automatically respond to them without help from the client process. In another embodiment, a client gate may monitor elapsed time and send a lease renewal message prior to the expiration of a current lease period. In one embodiment, the renewal request may claim the lease at a current access level or at a different access level.
    Type: Grant
    Filed: September 11, 2000
    Date of Patent: August 21, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Eric Pouyoul, Michael J. Duigou
  • Patent number: 7243356
    Abstract: 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 messages for remotely invoking functions of the service. A client may generate messages containing representations of method calls. The service may invoke functions that correspond to the set of messages. A method gate on the service may unmarshal the message and invoke the function. The client may receive the results of the function directly. Alternatively, the results may be stored, an advertisement to the results may be provided, and a gate may be generated to access the results. Message gates may perform the sending and receiving of the messages between the client and service. In one embodiment, functions of the service may be computer programming language (e.g. Java) methods.
    Type: Grant
    Filed: September 27, 2000
    Date of Patent: July 10, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Bernard A. Traversat, Michael J. Duigou
  • Patent number: 7200848
    Abstract: 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, wherein the computation state of the device and/or virtual machine comprises information about the execution state of the process on the device and/or virtual machine. A process state may include, but is not limited to: threads, all objects referenced by the threads, transient variables created during the execution of the process, objects and their data, etc. In one embodiment, data describing one or more leases representing grants of access to external services, obtained from spaces by the process, may also be stored with the process state. The data representation language representation of the state of a process may be moved from node to node within the distributed computing environment.
    Type: Grant
    Filed: September 15, 2000
    Date of Patent: April 3, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat
  • Patent number: 7188251
    Abstract: 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 perform lease operations. Leases may be granted for a period that may be negotiated. Leasing messages for performing leasing operations may be defined. The leasing messages may include messages to renew a lease and to cancel a lease. Leasing messages may include embedded credentials for authenticating the sender of the message. A client may embed a credential in messages sent to the service. The service may then authenticate the credential when received in a message from the client.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: March 6, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat
  • Patent number: 7080078
    Abstract: 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 the service advertisements may include information which is usable to access and execute a corresponding service. The space service may include an XML schema which specifies one or more messages usable to invoke functions of the space service. For example, the schema may specify methods for reading advertisements from the space and publishing advertisements in the space. In accessing the space service, the client may send information such as an XML message (as specified in the schema) to the space service at an Internet address. In accessing the space service, the client may search the one or more service advertisements stored in the space. The client may select one of the service advertisements from the space.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: July 18, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Michael J. Duigou
  • Patent number: 7072967
    Abstract: 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 code on the device for generating gates based on XML message descriptions. In one embodiment, the gate factory may construct a gate from the XML schema of the service, a URI for the service, and an authentication credential. Access to some services may be unrestricted. For such services, a gate may be constructed without an authentication credential, saving the overhead of running an authentication service and incorporating an authentication credential. Gate construction may also be optimized for certain clients that do not desire to perform checking of messages against a service's XML schema. If verification is not desired, a client may avoid or may chose to avoid building (e.g.
    Type: Grant
    Filed: September 12, 2000
    Date of Patent: July 4, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Eric Pouyoul
  • Patent number: 7065574
    Abstract: 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 request-response message passing. The distributed computing environment may employ a message transport in which a message gate exists on both the client and the service. The two gates may work together to provide a secure and reliable message channel. Client and service gates may perform the actual sending and receiving of the messages from the client to the service using a protocol specified in a service advertisement. The message gates may provide a level of abstraction between a client and a service. A client may reference a service through a message gate instead of referencing the service directly.
    Type: Grant
    Filed: September 11, 2000
    Date of Patent: June 20, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Eric Pouyoul
  • Patent number: 7016966
    Abstract: 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 by a client method gate. The service then generates results in response to the message. A results gate is generated for accessing the results. A gate on the client generates the results gate. The results are then accessed through the results gate. The results are structured as an object (e.g. Java object), and the results gate an object proxy for the results object. The results gate is returned to the process as results of the method call made by the process. In one embodiment, the results gate is a method gate and provides a method interface to the results.
    Type: Grant
    Filed: October 19, 2000
    Date of Patent: March 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Bernard A. Traversat, Mohamed M. Abdelaziz
  • Patent number: 7010573
    Abstract: 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 may be implemented as a layer above a device's transport layer (e.g. networking sockets). The gate name for each gate may be bound to a transport reference. Multiple gates may share the same message transport. The transport reference may be a transport URI or socket reference and may provide a mechanism for naming an underlying transport and sharing the transport with other gates. Multiple local gates may include a reference to the same transport, however, each local gate may behave independently of the other local gates sending and receiving messages to and from its paired remote gate.
    Type: Grant
    Filed: October 19, 2000
    Date of Patent: March 7, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Eric Pouyoul
  • Patent number: 6973493
    Abstract: 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. In one embodiment, the first space and second space may share a common storage model, storage facility, and/or XML schema. The second space may initially be configured to permit access only to the requesting client. In one embodiment, a root authentication token is created for the second space. An authentication service associated with the second space may be initialized, whereby the second space is configured to permit access only to a client holding the root authentication token. The root authentication token may be sent to the requesting client or service. The requesting client may send the root authentication token to a second client.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: December 6, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Mohamed M. Abdelaziz
  • Patent number: 6970869
    Abstract: 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 advertisements. When a service provider responds to a discovery search request (either directly or through a listener agent), the provider may choose to publish a protected or an un-protected (complete) advertisement. A protected advertisement may include the set of information necessary to obtain a complete advertisement. Publishing a protected advertisement may force the client to obtain a valid credential from an authentication service before receiving the complete un-protected advertisement from the service provider. A complete un-protected advertisement is needed to create a message endpoint for accessing the service.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: November 29, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Mohamed M. Abdelaziz, Bernard A. Traversat
  • Patent number: 6959331
    Abstract: 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 stored in the client storage device. The network interface is configured to connect the client computer system to a remote network server unit. A failover server implemented on the client computer system is configured to provide functionality similar to the remote network server unit by accessing a copy of a network database file stored on the client storage device. A software manager stored in the client storage device is configured to cause the client computer system to connect to the remote network server unit if the remote network server unit is available or to cause the client computer system to connect to the failover server if the remote network server unit is not available.
    Type: Grant
    Filed: August 14, 2000
    Date of Patent: October 25, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Bernard A. Traversat, Laurent Demailly, Michael Duigou, Hsiao-Keng Chu, Gregory L. Slaughter, Thomas E. Saulpaugh