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

  • Patent number: 8412833
    Abstract: An invitation service performs a series of transactions to enable P2P communication between two or more mobile data processing devices. Prior to attempting to establish a P2P network communication channel, the invitation service may first collect network information for each of the mobile devices and use the network information to determine if a direct P2P network communication channel is feasible. If a direct connection is feasible, then the invitation service provides for direct P2P communication, pushing the necessary network information to each of the mobile devices. If, however, a direct connection is infeasible or if a direct connection is attempted and fails, then the invitation service may identify network information associated with a relay service. The network information may then be used by any pair of mobile devices to establish a connection through the relay service.
    Type: Grant
    Filed: July 7, 2010
    Date of Patent: April 2, 2013
    Assignee: Apple Inc.
    Inventors: Andrew H. Vyrros, Jeremy Matthew Werner, Patrick Gates
  • Patent number: 8396932
    Abstract: An apparatus, method, and machine-readable medium are described for managing data within a friend service. In one embodiment, a key/value data store can be used to provide an efficient and highly-scalable friend service database. Various techniques can be used to ensure data consistency between friend service data records. For example, in one embodiment, operations are detected which require updates to a plurality of related friend state records. A key may be generated to represent each of the operations and then used to create an entry in a write-ahead log database. In one embodiment, each entry in the write-ahead log database may specify the operation to be performed on the friend state records. If the plurality of friend state records are successfully updated, then the entry in the write-ahead log database may be deleted. However, if the plurality of friend state records are not successfully completed, then the entry is not deleted from the write-ahead log database.
    Type: Grant
    Filed: July 7, 2010
    Date of Patent: March 12, 2013
    Assignee: Apple Inc.
    Inventors: Amol Pattekar, Jeremy Matthew Werner, Patrick Gates, Andrew H. Vyrros, Richard Wagner
  • Patent number: 8341207
    Abstract: An apparatus, method, and machine-readable medium are described for establishing peer-to-peer (“P2P”) communication channels. In particular, in one embodiment, a matchmaker service performs a series of operations to service match requests received from a group of mobile devices. In one embodiment, the matchmaker service groups the match requests into matchable sets based on the application for which the requests are received and one or more variables associated with the application. Match requests within each match set can then be matched based on variables such as the NAT type, connection type and language associated with each of the mobile devices. Other variables such as geographical location, experience level, and age of the match requests may also be used to render match decisions.
    Type: Grant
    Filed: July 7, 2010
    Date of Patent: December 25, 2012
    Assignee: Apple Inc.
    Inventors: Jeremy Matthew Werner, Philip Smith, Andrew H. Vyrros, Patrick Gates
  • Publication number: 20120317310
    Abstract: A system for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects 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. Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted. In one or more embodiments, a default policy may be utilized that provides for the synchronization of local objects whenever a client issues a request from the remote server.
    Type: Application
    Filed: July 24, 2012
    Publication date: December 13, 2012
    Applicant: APPLE INC.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20120233167
    Abstract: Methods and arrangements for facilitating generation of media mixes for a program participant based at least in part on media library inventory information provided by a number of program participants. Those individuals that decide to be program participants are interested in organizing, maintaining and playing their music, based at least in part, on data derived from a population of other participants in the program. A program participant must send, and the system, receive, data representative of that program participant's media inventory. The system or program determines a relative similarity of each item from the collection of program participants as compared to each other item and from the similarity information clusters of similar items are identified. The clusters can be used to identify clusters of similar items in an individual program participant's media library and therefrom mixes of similar media items can be created.
    Type: Application
    Filed: May 21, 2012
    Publication date: September 13, 2012
    Applicant: Apple Inc.
    Inventors: Patrick Gates, Jeremy Werner, Andrew H. Vyrros, John Andrew McCulloh, Richard Frederick Wagner, Eric Danforth Strahm
  • Patent number: 8255895
    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: March 31, 2011
    Date of Patent: August 28, 2012
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20120185542
    Abstract: A client computing device registers an email address as an identifier for online communication sessions. An email validation request message is received from the client computing device to validate an email address that includes the email address and an online communication session profile identifier that identifies an online communication session profile of a user of the client computing device. Responsive to determining that the email address has been validated, an email validated success message is sent to the client computing device. An activated email address request message is received from the client computing device that includes the email address and the online communication session profile identifier. The email address is then activated as an identifier associated with the online communication session profile to be used for online communication sessions.
    Type: Application
    Filed: August 31, 2011
    Publication date: July 19, 2012
    Inventors: Andrew H. Vyrros, Justin Wood, Patrick Gates, Justin Santamaria, Erik Strahm, Lon Hardeman, Selva Subramaniam, Rakesh Singh, Sudipt Sinha, Josh Converse, Jeremy Wyld, Dan Keen
  • Publication number: 20120117250
    Abstract: An online communication session invitation request message for an online communication session is received from an initiating client computing device. The invitation request message includes connection data of the initiating client computing device and an online communication session endpoint identifier of an intended participant of the online communication session. The session endpoint identifier is associated with a plurality of push tokens that correspond to a plurality of recipient client computing devices respectively. An invitation request message is sent in the form of a push notification message to each of the plurality of recipient client computing devices using the corresponding push tokens. Each invitation request message includes the connection data of the initiating client computing device.
    Type: Application
    Filed: August 31, 2011
    Publication date: May 10, 2012
    Inventors: Justin Santamaria, Justin Wood, Berkat S. Tung, Joe Abuan, Patrick Gates, Jeremy Werner, Andrew H. Vyrros
  • Publication number: 20120011189
    Abstract: An apparatus, method, and machine-readable medium are described for establishing peer-to-peer (“P2P”) communication channels. In particular, in one embodiment, a matchmaker service performs a series of operations to service match requests received from a group of mobile devices. In one embodiment, the matchmaker service groups the match requests into matchable sets based on the application for which the requests are received and one or more variables associated with the application. Match requests within each match set can then be matched based on variables such as the NAT type, connection type and language associated with each of the mobile devices. Other variables such as geographical location, experience level, and age of the match requests may also be used to render match decisions.
    Type: Application
    Filed: July 7, 2010
    Publication date: January 12, 2012
    Inventors: Jeremy Matthew Werner, Philip Smith, Andrew H. Vyrros, Patrick Gates
  • Publication number: 20110250909
    Abstract: Registering a client computing device for online communication sessions. A registration server receives a message that has a push token that is unique to the client computing device and a phone number of the client computing device from an SMS (Short Message Service) transit device, which received an SMS message having the push token from the client computing device and determined the phone number of the client computing device from that SMS message. The registration server associates the push token and the phone number and stores it in a registration data store, which is used for inviting users for online communication sessions.
    Type: Application
    Filed: September 20, 2010
    Publication date: October 13, 2011
    Inventors: Arun Mathias, Justin Santamaria, Justin Wood, Joe Abuan, Jeremy Brown, Patrick Gates, Matthew Klahn, Andrew H. Vyrros, Braden Thomas, Drew Yao
  • Publication number: 20110252146
    Abstract: A method and apparatus for assisting in establishing an online communication session between client computing devices. An online communication session invite request message is received from an initiating client computing device, the message includes connection data of the initiating computing device and an online communication session endpoint identifier for an intended recipient. A set of one or more push tokens that are associated with the identifier is determined, where each of the push tokens identifies a client computing device. An online communication session invite message that includes the connection data of the initiating client computing device is transmitted to a set of intended recipient client computing devices that correspond with the set of push tokens. An invite accepted message is received from at least one of the set of intended recipient client computing devices that includes connection data of that computing device.
    Type: Application
    Filed: September 20, 2010
    Publication date: October 13, 2011
    Inventors: Justin Santamaria, Justin Wood, Berkat S. Tung, Joe Abuan, Patrick Gates, Jeremy Werner, Andrew H. Vyrros
  • Publication number: 20110252079
    Abstract: An apparatus, method, and machine-readable medium are described for establishing peer-to-peer (“P2P”) communication channels. In particular, in one embodiment, an invitation service performs a series of transactions to enable P2P communication between two or more mobile data processing devices. Prior to attempting to establish a P2P network communication channel, the invitation service may first collect network information for each of the mobile devices and use the network information to determine if a direct P2P network communication channel is feasible. If a direct connection is feasible, then the invitation service provides for direct P2P communication, pushing the necessary network information to each of the mobile devices. If, however, a direct connection is infeasible or if a direct connection is attempted and fails, then the invitation service may identify network information associated with a relay service.
    Type: Application
    Filed: July 7, 2010
    Publication date: October 13, 2011
    Inventors: Jeremy Matthew Werner, Philip Smith, Andrew H. Vyrros, Patrick Gates
  • Publication number: 20110179192
    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: March 31, 2011
    Publication date: July 21, 2011
    Applicant: APPLE INC.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 7941796
    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: August 11, 2009
    Date of Patent: May 10, 2011
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20110060738
    Abstract: Methods and arrangements for facilitating generation of media mixes for a program participant based at least in part on media library inventory information provided by a number of program participants. Those individuals that decide to be program participants are interested in organizing, maintaining and playing their music, based at least in part, on data derived from a population of other participants in the program. A program participant must send, and the system, receive, data representative of that program participant's media inventory. The system or program determines a relative similarity of each item from the collection of program participants as compared to each other item and from the similarity information clusters of similar items are identified. The clusters can be used to identify clusters of similar items in an individual program participant's media library and therefrom mixes of similar media items can be created.
    Type: Application
    Filed: December 23, 2009
    Publication date: March 10, 2011
    Applicant: Apple Inc.
    Inventors: Patrick Gates, Jeremy Werner, Andrew H. Vyrros, John Andrew McCulloh, Richard Frederick Wagner, Erik Danforth Strahm
  • Patent number: 7734643
    Abstract: A method for distributively storing a data object on a data storage system includes determining a layout map ID and associating the layout map ID with the data object. The layout map ID is used in determining a layout map, and the layout map is used in determining a layout given a current configuration of the data storage system. The data object is fragmented into data fragments and parity fragments, and the data fragments and parity fragments are distributively stored on data storage system in accordance with the layout.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: June 8, 2010
    Assignee: Oracle America, Inc.
    Inventors: Steven Richard Waterhouse, Sherif M. Botros, Olaf Manczak, Patrick Gates, Jeremy Werner, Sacha Arnoud
  • Publication number: 20100076983
    Abstract: System, method and computer program that encompasses one or more client devices cooperating with a program host's on-line data processing center to generate media playlists. Data is transmitted from a program participant's client device to the processing center and is representative of media inventory in a media library on the client device and includes identification data of contained individual media items. Data is further received from a plurality of program participants representative of each respective program participant's media inventory, regardless of the source of the members of the inventory. Co-occurrence of pairs of individual media items in different program participants' media libraries is determined and a similarity rating is assigned between the pairs of individual media items based on the determined incidence of co-occurrence in the different program participants' media libraries. From this, a media playlist is generated.
    Type: Application
    Filed: September 30, 2008
    Publication date: March 25, 2010
    Applicant: Apple Inc.
    Inventors: Patrick Gates, Richard Frederick Wagner, Jeremy Werner, Andrew Wadycki, Josh Flowers, Stephen A. Davis, Jeffrey S. Miller
  • Publication number: 20100076982
    Abstract: Methods and arrangements for facilitating media playlist generation for a program participant based at least in part on media library inventory information provided by a number of program participants. The system or program in which the individuals are participating is an on-line media store. Those individuals that decide to be program participants are interested in organizing, maintaining and playing their music, based at least in part, on data derived from a population of other participants in the program that have similar or the same music in their libraries. To be a program participant, the individual music holder must send, and the on-line music store receive, data representative of that program participant's media inventory. This data typically contains identification data of the individual media items presently contained in that participant's media library regardless of the individual media item's source.
    Type: Application
    Filed: September 30, 2008
    Publication date: March 25, 2010
    Applicant: Apple Inc.
    Inventors: Patrick Gates, Richard Frederick Wagner, Jeremy Werner, Andrew Wadycki, Josh Flowers
  • Publication number: 20100076958
    Abstract: System, method and computer program that encompasses one or more client devices cooperating with a program host's on-line data processing center for making purchase recommendations of media items to a program participant. Accordingly, there is a transmission from a program host to a program participant of identification of at least one recommended-for-purchase media item selected based on the recommended-for-purchase media item being rated as similar to a designated media item presently contained in an inventory of a media library of the program participant. The rating of the recommended-for-purchase media item as being similar to the designated media item presently contained in the inventory of the media library of the program participant is representative of a frequency at which the recommended-for-purchase media item co-occurs with the designated media item in media libraries of others.
    Type: Application
    Filed: September 30, 2008
    Publication date: March 25, 2010
    Applicant: Apple Inc.
    Inventors: Patrick Gates, Richard Frederick Wagner, Dana J. DuBois
  • Publication number: 20100070917
    Abstract: System, method and computer program for facilitating media playlist generation based at least in part on media library inventory information provided by a plurality of program participants. Data is transmitted from a program participant's client device indicative of media inventory in a media library of the program participant. Media item similarity ratings are received at the client device that have been compiled based on cumulative data collected from a plurality of program participants, including identification data of individual media items contained in media libraries of the program participants regardless of each individual media item's source. Similarity ratings compilation includes processing the cumulative data to determine an incidence of co-occurrence of pairs of individual media items in different program participants' media libraries and making an assignment of a similarity rating based on the determined incidence of co-occurrence.
    Type: Application
    Filed: September 30, 2008
    Publication date: March 18, 2010
    Applicant: Apple Inc.
    Inventors: Patrick Gates, Richard Frederick Wagner, Jeremy Werner, Andrew Wadycki, Josh Flowers, Stephen A. Davis, Jeffrey S. Miller