Patents by Inventor Patrick Gates

Patrick Gates 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).

  • Publication number: 20090300221
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: August 11, 2009
    Publication date: December 3, 2009
    Applicant: APPLE INC.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 7584468
    Abstract: Distributing and synchronizing objects is disclosed. An object (including the data and behavior for the object) is copied into local address space. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, a policy that specifies conditions as to when objects are synchronized is used. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.) or based on the type or number of messages transmitted. A default policy may provide for the synchronization of local objects whenever a client issues a request from the remote server. The remote server transmits any updated object information when it responds to the local object request. The updated object information may be utilized to synchronize the objects.
    Type: Grant
    Filed: June 20, 2005
    Date of Patent: September 1, 2009
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 7536693
    Abstract: Incoming requests to a data storage system are distributed among one or more peer node computer systems of the data storage system in accordance with a load spreading configuration. A hash value is computed from the request utilizing selected header information of the request. The hash value is utilized in selecting a peer node computer system to receive the request in accordance with the load spreading configuration, and the request is redirected to the selected peer node computer system. In one embodiment, the load spreading configuration is implemented at a layer 2 switch and the load spreading configuration is reconfigurable by a peer node computer system of the data storage system.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: May 19, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Olaf Manczak, Michael Goff, Patrick Gates
  • Publication number: 20080120609
    Abstract: Systems and methods for upgrading from one or more digital media assets to a set of digital media assets over a network are described. A potential purchaser can be notified of available upgrade opportunities that are available for purchase. The potential purchaser can elect to pursue an upgrade opportunity so as to purchase a set of digital media assets. Upon upgrading to the set of digital media assets, the digital media assets within the set of digital media assets are made available to the purchaser. Typically, on upgrading from one or more of the digital media assets in the set of digital media assets to the entire set of digital media assets, the purchaser pays a lower cost than would be otherwise charged if the purchaser were to purchase the set of digital media assets in a non-upgrade manner. The cost associated with an upgrade opportunity can be based on prior purchases of digital media assets in the set of digital media assets.
    Type: Application
    Filed: March 12, 2007
    Publication date: May 22, 2008
    Inventors: Patrick Gates, Richard Wagner, Damen Law, Sam Gharabsty, Tracy Pirnack, Patrice Gautier, Debra Ameerally, Hiro Mitsuji, Alan Ward
  • Patent number: 7328303
    Abstract: In accordance with the invention, a data storage system for storing and retrieving fixed data content includes: a storage system network; one or more peer node computer systems interconnected by the storage system network; and at least one disklet stored on at least one of the one or more peer node computer systems, the disklet for execution on the data storage system using data that are stored on, being written to, or being read from the data storage system. In one embodiment, a disklet includes executable program code and a disklet interface that permits the program code of the disklet to be loaded on to the data storage system and executed on the data storage system by a user.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: February 5, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven Richard Waterhouse, Sherif M. Botros, Patrick Gates, Akhil Arora
  • Patent number: 7299325
    Abstract: A method includes determining a garbage collection list for a data storage structure of a node in a data storage system, the garbage collection list including one or more layout map identifiers (IDs) for garbage collection. A data fragment stored on the data storage structure is located at a first location and a layout map ID associated with the data fragment is determined. A determination is made whether the layout map ID associated with the data fragment matches a layout map ID for garbage collection in the garbage collection list. If the layout map ID associated with the data fragment matches a layout map ID for garbage collection in the garbage collection list, a determination is made whether the data fragment is present at a second location on the data storage system. If the data fragment is present at a second location on the data storage system, the data fragment at the first location is determined to be a garbage fragment and deleted from the data storage system.
    Type: Grant
    Filed: August 24, 2005
    Date of Patent: November 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven Richard Waterhouse, Sherif M. Botros, Olaf Manczak, Patrick Gates, Jeremy Werner, Sacha Arnoud
  • Patent number: 7296180
    Abstract: A method for recovery of data objects on a data storage system includes determining a list of layout map IDs that place data objects on a node of a data storage system. For each layout map ID, a list of object IDs associated with each of the data objects assigned the layout map ID is determined. For each object ID, a list of data object fragments associated with the object ID is determined. A determination is made whether each of the data object fragments is present on the node. If a data object fragment is not present on the node, the data object fragment is reconstructed on the data storage system. The method can be automatically implemented by each of one or more operational nodes of a distributed data storage system at configured time intervals, and/or upon the operational loss of a data storage structure of a node, or a node.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: November 13, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven Richard Waterhouse, Sherif M. Botros, Olaf Manczak, Patrick Gates, Jeremy Werner, Sacha Arnoud
  • Publication number: 20050268307
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: June 20, 2005
    Publication date: December 1, 2005
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20050234689
    Abstract: A method and system of simulating one-engine-inoperative (OEI) conditions in a multi-engine single-output aircraft which involves the operation of the engines above non-zero power settings, and operating each relative to one another to simulate power loss experienced during an actual failure of at least one engine.
    Type: Application
    Filed: December 8, 2003
    Publication date: October 20, 2005
    Inventors: Patrick Gates, Teuvo Saario
  • Patent number: 6910052
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Grant
    Filed: May 16, 2002
    Date of Patent: June 21, 2005
    Assignee: Apple Computer, Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20030004977
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: May 16, 2002
    Publication date: January 2, 2003
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 6430576
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Grant
    Filed: May 10, 1999
    Date of Patent: August 6, 2002
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20020049579
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: May 10, 1999
    Publication date: April 25, 2002
    Inventors: PATRICK GATES, CRAIG FEDERIGHI, ERIC NOYAU