Patents by Inventor Bernard Traversat
Bernard Traversat 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: 6598093Abstract: Methods and apparatus for implementing a core application programming interface which is a part of more than one application programming interface are disclosed. According to one aspect of the present invention, a class structure in an object based system is arranged to provide application programming interfaces which enable access to a system database. The class structure includes a first set of classes that define a core application programming interface, a second set of classes that define a client application programming interface, and a third set of classes that define a server application programming interface. The second set of classes includes the first set of classes, and the third set of classes includes the second set of classes. In one embodiment, the first set of classes includes interfaces.Type: GrantFiled: May 14, 1998Date of Patent: July 22, 2003Assignee: Sun Microsystems, Inc.Inventors: Jeffrey A. Schmidt, Bernard A. Traversat, Thomas Saulpaugh, Gregory L. Slaughter
-
Patent number: 6598052Abstract: A method and system for compiling a grammatical form of an object-oriented database into an intermediate form of that database. The grammatical form is a persistent form of an object-oriented database expressed in a human-readable and human-editable textual form according to a grammar. The textual form is parsed into a series of tokens. The tokens are compiled into a plurality of entries. The plurality of entries are expressed in an intermediate form. The intermediate form comprises an array of intelligent entry objects which encapsulate data with methods for manipulating that data. The methods include creating a database entry, creating a property associated with an entry, creating an attribute associated with an entry or property, querying the last entry, property, or attribute created, and finalizing entry storage. The intermediate form lacks the infrastructure of the database, but the intermediate form can be used to populate the object-oriented database with entries.Type: GrantFiled: February 19, 1999Date of Patent: July 22, 2003Assignee: Sun Microsystems, Inc.Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Bernard A. Traversat
-
Patent number: 6542899Abstract: A grammar to represent a hierarchical object-oriented database. The grammar comprises a set of keywords and a syntax. The keywords include “tree”, “entry”, “properties”, and “attributes”. Properties and attributes are defined by name-value pairs. The grammar is designed to be platform-independent and programming-language-independent and therefore descriptive of any hierarchical object-oriented database. A grammatical form, a description of an object-oriented database in a textual form according to the grammar, may be stored in a persistent form such as one or more files on disk. The grammatical form is human-readable and human-editable. The grammatical form can be created by hand, or it can be created from an object-oriented database in transient form through the process of serialization. The grammatical form can be transformed into an object-oriented database through the process of compilation.Type: GrantFiled: February 19, 1999Date of Patent: April 1, 2003Assignee: Sun Microsystems, Inc.Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Bernard A. Traversat
-
Publication number: 20030041141Abstract: Embodiments of a decentralized mechanism for detecting the presence of entities in a peer-to-peer network. In one embodiment, using pipes, a peer may uniquely and independently generate an identity for a peer-to-peer network entity. The identity may be used to probe the peer-to-peer network for presence of instances of the corresponding entity on other peers regardless of which peer the identity was generated on and without using a central identity repository or presence system. In one embodiment, net crawling may be used to map identities and resolve the locations of instances of the corresponding entities. An entity may move anywhere on the network, and the decentralized mechanism for detecting entity presence may be used to locate the instance(s) of the entity.Type: ApplicationFiled: October 3, 2002Publication date: February 27, 2003Inventors: Mohamed M. Abdelaziz, Eric Pouyoul, Jean-Christophe Hugly, Bernard A. Traversat, Michael J. Duigou
-
Publication number: 20030002521Abstract: A system and method for providing resources to networked devices for participating in a peer-to-peer environment. In one embodiment, a peer computing system on a network may include one or more bootstrap nodes that may provide, to devices coupled to the network, mechanisms for accessing resources for participating in the peer-to-peer environment. The bootstrap nodes may be peer nodes. The resources may give the devices access to services each of which may implement peer-to-peer platform protocols. The devices may be pre-configured to access one or more predefined peer nodes for information on bootstrap nodes. Alternatively, devices may use a bootstrapping mechanism to locate bootstrap nodes on the network.Type: ApplicationFiled: January 22, 2002Publication date: January 2, 2003Inventors: Bernard A. Traversat, Li Gong, William J. Yeager, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, William N. Joy, Michael J. Clary
-
Publication number: 20020188657Abstract: A system and method for uniquely identifying peers and other resources in a peer-to-peer networking environment. In one embodiment, every peer in the peer-to-peer network may have a unique peer identifier. Other peer-to-peer network resources may also have unique identifiers, including peer groups, services, applications, pipes, endpoints, content and resource advertisements. Identifiers may serve to canonically refer to resources. Identifiers may be embedded in advertisements for resources. In one embodiment, a peer identifier may identify a peer group in which the peer is a member peer. In one embodiment, a peer may have a different peer identifier for each group in which it is a member peer. In one embodiment, an identifier may be bound to a network address of the resource. If the resource changes network addresses, the identifier may be bound to the new network address. Thus, identifiers provide dynamic addressing for resources in the peer-to-peer environment.Type: ApplicationFiled: January 22, 2002Publication date: December 12, 2002Inventors: Bernard A. Traversat, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, Li Gong, William N. Joy, Michael J. Clary
-
Publication number: 20020184310Abstract: A system and method for providing peer groups in a peer-to-peer environment. A peer group may be one or more peers in a peer-to-peer environment that share a set of network services and content. A peer group may define an implicit scope for messages originating from members peers of the peer group. A peer group may provide redundant services and content for greater reliability. In one embodiment, interaction among peers and peer groups in the peer-to-peer environment may be implemented using protocols that are platform-independent as to programming language implementations and network transports. In one embodiment, peers may discover existing peer groups and join the existing peer groups. In one embodiment, peers may create new peer groups.Type: ApplicationFiled: January 22, 2002Publication date: December 5, 2002Inventors: Bernard A. Traversat, Li Gong, William J. Yeager, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, William N. Joy, Michael J. Clary
-
Publication number: 20020184357Abstract: A system and method for providing rendezvous nodes in a peer-to-peer networking environment is described. Rendezvous nodes preferably cache information about network resources that may be useful to peer nodes on a peer-to-peer network. In one embodiment, a network of rendezvous nodes may help peer nodes to discover network resources over long-range on the peer-to-peer network. Network resource may include, but may not be limited to peer nodes, peer groups, services, content, and communication channels. In one embodiment, rendezvous nodes may respond to discovery query messages from peer nodes. The discovery query messages may specify desired network resource information. In one embodiment, rendezvous nodes may provide route discovery for network resources. In one embodiment, a peer node may be pre-configured with a pre-defined set of rendezvous nodes to access on startup. These bootstrapping rendezvous may help the peer node discover network resources that it needs to start up.Type: ApplicationFiled: January 22, 2002Publication date: December 5, 2002Inventors: Bernard A. Traversat, Li Gong, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, William N. Joy, Michael J. Clary
-
Publication number: 20020184358Abstract: A system and method for establishing communications channels between and among peers in a peer-to-peer networking environment. Pipes may be used as communication channels for sending and receiving messages and other data between services or applications over input and output endpoints. Pipes may be asynchronous, unidirectional, stateless and unreliable. Bidirectional pipes may also be supported. Pipes may have ends that may be moved around and bound to different peers at different times. Point-to-point and propagate pipes may be supported. Pipes may connect peers that have a direct physical link and peers that do not have a direct link. Peers may communicate through pipes without knowing on which peer a pipe endpoint is bound. A message is sent to all peer endpoints currently connected (listening) to the pipe. The set of connected endpoints may be obtained from a pipe service using a pipe binding protocol.Type: ApplicationFiled: January 22, 2002Publication date: December 5, 2002Inventors: Bernard A. Traversat, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, Li Gong, William J. Yeager, William N. Joy, Michael J. Clary
-
Publication number: 20020184311Abstract: A peer-to-peer platform that may provide mechanisms through which peers may discover each other, communicate with each other, and cooperate with each other to form peer groups is described. The peer-to-peer platform may comprise several layers including a peer-to-peer platform layer, a peer-to-peer services layer, and a peer-to-peer applications layer. At the highest abstraction level, the peer-to-peer platform may be viewed as a set of protocols. Each protocol may be defined by one or more messages exchanged among participants of the protocol. In one embodiment, the peer-to-peer platform may include, but is not limited to, one or more of a peer discovery protocol, a peer resolver protocol, a peer information protocol, a peer membership protocol, a pipe binding protocol, and an endpoint routing protocol. To underpin this set of protocols, the peer-to-peer platform may define a number of concepts including peer, peer group, advertisement, message, pipe, and endpoint.Type: ApplicationFiled: January 22, 2002Publication date: December 5, 2002Inventors: 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, William N. Joy, Michael J. Clary
-
Publication number: 20020156893Abstract: System and method for the dynamic and transparent migration of services in a peer-to-peer networking environment. Member peers in a peer group using a peer-to-peer platform may cooperate to provide redundant instances of services to member peers. Dynamic migration of a service may be performed by unbinding one or more peer-to-peer platform pipes from a peer hosting an instance of the service and binding the pipes to another peer hosting a different instance of the service. Using pipes, services may transparently failover from one physical peer endpoint to another in order to mask a service or peer failure, or to access a newly published instance of a service. Thus, a collection of peers may provide a high level of fault tolerance, where, for example, a new peer at a different location may replace a crashed peer, with the new peer taking over the existing pipe to keep the communication going.Type: ApplicationFiled: June 5, 2002Publication date: October 24, 2002Inventors: Eric Pouyoul, Mohamed M. Abdelaziz, Jean-Christophe Hugly, Michael J. Duigou, Bernard A. Traversat
-
Publication number: 20020152299Abstract: Embodiments of a system and method for establishing reliable connections between peers in a peer-to-peer networking environment. In one embodiment, a reliable communications channel may use transmit and receive windows, acknowledgement of received messages, and retransmission of messages not received to provide reliable delivery of messages between peers in the peer-to-peer environment. In one embodiment, each message may include a sequence number configured for use in maintaining ordering of received messages on a receiving peer. A communications channel may make multiple hops on a network, and different hops in the connection may use different underlying network protocols. Communications channels may also pass through one or more firewalls and/or one or more gateways on the network. A communications channel may also pass through one or more router (relay) peers on the network. The peers may adjust the sizes of the transmit and receive window based upon reliability of the connection.Type: ApplicationFiled: January 22, 2002Publication date: October 17, 2002Inventors: Bernard A. Traversat, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, Li Gong, William J. Yeager, William N. Joy, Michael J. Clary
-
Publication number: 20020147771Abstract: 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: ApplicationFiled: January 22, 2002Publication date: October 10, 2002Inventors: 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
-
Publication number: 20020147810Abstract: A system and method for sending, resolving, and receiving queries for information on the status of network resources. A peer computing system may include one or more resolver nodes on a network for resolving queries for a resource to particular resource instances. The resolver nodes may receive query messages from peer nodes on the network. Each query message may request information about a resource implemented by one or more peer nodes on the network. The query messages may be formatted in accordance with a peer resolver protocol. The resolver node may determine a particular instance of the resource hosted on a particular peer node to receive the query. The resolver node may use a variety of criteria to determine a particular resource instance. The resolver node may forward the query message to the determined resource instance.Type: ApplicationFiled: January 22, 2002Publication date: October 10, 2002Inventors: Bernard A. Traversat, Li Gong, William J. Yeager, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, William N. Joy, Michael J. Clary
-
Publication number: 20020143944Abstract: A system and method for providing advertisements in a peer-to-peer networking environment is described. In one embodiment, the peer-to-peer protocols may use advertisements to describe and publish the existence of peer resources. An advertisement may be defined as a structured, language neutral metadata structure that names, describes, and publishes the existence of a peer-to-peer platform resource, such as a peer, a peer group, a pipe, or a service. In one embodiment, user-defined advertisement subtypes (for example, using XML schemas) may be formed from these basic types. A peer in a peer-to-peer network may publish a resource advertisement to make the resource corresponding to the advertisement available to other peers on the network. Peers may discover published advertisements by broadcasting discovery query messages. Other peers may respond to discovery query messages by sending response messages that may include advertisements.Type: ApplicationFiled: January 22, 2002Publication date: October 3, 2002Inventors: Bernard A. Traversat, Li Gong, Kuldipsingh Pabla, William J. Yeager, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, William N. Joy, Michael J. Clary
-
Publication number: 20020143855Abstract: A system and method for allowing peers to exchange messages with other peers independently of their network location in a peer-to-peer environment. Messages may be transparently routed, potentially traversing partitions (e.g. firewalls and NATs), and using different protocols to reach the destination peers. In one embodiment, any peer node may serve as a relay peer that allows peers inside a partition to have a presence outside the partition and provides a mechanism for peers outside partitions to discover and communicate with peers inside the partitions. In one embodiment, a relay peer may maintain information on routes to other peers and assist in relaying messages to other peers. In one embodiment, any peer may query a relay peer for route information. In one embodiment, messages may include routing information as part of their payloads.Type: ApplicationFiled: January 22, 2002Publication date: October 3, 2002Inventors: Bernard A. Traversat, Mohamed M. Abdelaziz, Michael J. Duigou, Eric Pouyoul, Jean-Christophe Hugly, Li Gong, William J. Yeager, William N. Joy, Michael J. Clary
-
Patent number: 6434694Abstract: A computer-implemented method for allocating securely memory resources to a platform-independent device driver is described. In one embodiment, a device driver generates a request for memory allocation in terms of an abstract memory address space. The driver forwards the request to the bus manager. An inner class representation of the bus manager is generated and the identity of the driver is determined. The inner class representation handles the request from the device driver using the same procedures as the bus manager, and appears to the driver as the bus manager itself. Thus, a memory request from a platform-independent device driver can be made in a secure manner.Type: GrantFiled: June 29, 1998Date of Patent: August 13, 2002Assignee: Sun Microsystems, Inc.Inventors: Gregory L. Slaughter, Thomas Saulpaugh, Bernard Traversat, Jeffrey A. Schmidt
-
Patent number: 6366954Abstract: Methods, data formats, and computer program products are disclosed for exchanging configuration data between a configuration server schema residing on a configuration server and a network directory service. The exchange of data is significantly enhanced through the use of an extension to a network directory service enabling a rapid mapping between a directory service attribute and a configuration server property. A directory service entry includes multiple shadow attributes where each shadow attribute corresponds to a particular directory service attribute. The particular directory service attribute, in turn, has a corresponding property in the configuration server. The extension also includes a correspondence or path matching file that contains matches between directory service addresses and configuration server location identifier or paths.Type: GrantFiled: January 29, 1999Date of Patent: April 2, 2002Assignee: Sun Microsystems, Inc.Inventors: Bernard A. Traversat, Tom Saulpaugh, Gregory L. Slaughter
-
Patent number: 6351751Abstract: Innovative managers of persistent data are provided. As an example, in a client/server environment, a persistent manager object may be initialized on both the client and server subsystems. The persistent manager objects may be instances of the same persistent manager class. The persistent manager object on the client subsystem may receive a request to store persistent data and the persistent manager object on the client sends the request to the persistent manager object on the server subsystem. The persistent manager object on the server subsystem may then store the persistent data to make it subsequently be available for the client subsystem.Type: GrantFiled: May 14, 1998Date of Patent: February 26, 2002Assignees: Sun Microsystems, Inc., International Business Machines CorporationInventors: Bernard A. Traversat, Jeffrey A. Schmidt, Thomas Saulpaugh, Steve Woodward, William J. Tracey
-
Patent number: 6298354Abstract: A method and system for transforming an intermediate form into an object-oriented database. The intermediate form is derived from a grammatical form of an object-oriented database through the process of compilation. The grammatical form is an expression of an object-oriented database in a textual form according to a grammar. The intermediate form comprises an array of intelligent entry objects that encapsulate data with methods for manipulating that data. The intermediate form comprises entries as in the object-oriented database but lacks the infrastructure of the database. The intermediate form can be used to populate the object-oriented database with entries. Population takes place through a public API for accessing the object-oriented database; in other words, through an interface which declares methods for navigating the database and adding entries to the database.Type: GrantFiled: February 19, 1999Date of Patent: October 2, 2001Assignee: Sun Microsystems, Inc.Inventors: Thomas E. Saulpaugh, Gregory L. Slaughter, Bernard A. Traversat