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: 8412833Abstract: 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: GrantFiled: July 7, 2010Date of Patent: April 2, 2013Assignee: Apple Inc.Inventors: Andrew H. Vyrros, Jeremy Matthew Werner, Patrick Gates
-
Patent number: 8396932Abstract: 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: GrantFiled: July 7, 2010Date of Patent: March 12, 2013Assignee: Apple Inc.Inventors: Amol Pattekar, Jeremy Matthew Werner, Patrick Gates, Andrew H. Vyrros, Richard Wagner
-
Patent number: 8341207Abstract: 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: GrantFiled: July 7, 2010Date of Patent: December 25, 2012Assignee: Apple Inc.Inventors: Jeremy Matthew Werner, Philip Smith, Andrew H. Vyrros, Patrick Gates
-
Publication number: 20120317310Abstract: 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: ApplicationFiled: July 24, 2012Publication date: December 13, 2012Applicant: APPLE INC.Inventors: Patrick Gates, Craig Federighi, Eric Noyau
-
Publication number: 20120233167Abstract: 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: ApplicationFiled: May 21, 2012Publication date: September 13, 2012Applicant: Apple Inc.Inventors: Patrick Gates, Jeremy Werner, Andrew H. Vyrros, John Andrew McCulloh, Richard Frederick Wagner, Eric Danforth Strahm
-
Patent number: 8255895Abstract: 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: GrantFiled: March 31, 2011Date of Patent: August 28, 2012Assignee: Apple Inc.Inventors: Patrick Gates, Craig Federighi, Eric Noyau
-
Publication number: 20120185542Abstract: 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: ApplicationFiled: August 31, 2011Publication date: July 19, 2012Inventors: 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: 20120117250Abstract: 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: ApplicationFiled: August 31, 2011Publication date: May 10, 2012Inventors: Justin Santamaria, Justin Wood, Berkat S. Tung, Joe Abuan, Patrick Gates, Jeremy Werner, Andrew H. Vyrros
-
Publication number: 20120011189Abstract: 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: ApplicationFiled: July 7, 2010Publication date: January 12, 2012Inventors: Jeremy Matthew Werner, Philip Smith, Andrew H. Vyrros, Patrick Gates
-
Publication number: 20110250909Abstract: 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: ApplicationFiled: September 20, 2010Publication date: October 13, 2011Inventors: Arun Mathias, Justin Santamaria, Justin Wood, Joe Abuan, Jeremy Brown, Patrick Gates, Matthew Klahn, Andrew H. Vyrros, Braden Thomas, Drew Yao
-
Publication number: 20110252146Abstract: 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: ApplicationFiled: September 20, 2010Publication date: October 13, 2011Inventors: Justin Santamaria, Justin Wood, Berkat S. Tung, Joe Abuan, Patrick Gates, Jeremy Werner, Andrew H. Vyrros
-
Publication number: 20110252079Abstract: 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: ApplicationFiled: July 7, 2010Publication date: October 13, 2011Inventors: Jeremy Matthew Werner, Philip Smith, Andrew H. Vyrros, Patrick Gates
-
Publication number: 20110179192Abstract: 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: ApplicationFiled: March 31, 2011Publication date: July 21, 2011Applicant: APPLE INC.Inventors: Patrick Gates, Craig Federighi, Eric Noyau
-
Patent number: 7941796Abstract: 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: GrantFiled: August 11, 2009Date of Patent: May 10, 2011Assignee: Apple Inc.Inventors: Patrick Gates, Craig Federighi, Eric Noyau
-
Publication number: 20110060738Abstract: 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: ApplicationFiled: December 23, 2009Publication date: March 10, 2011Applicant: Apple Inc.Inventors: Patrick Gates, Jeremy Werner, Andrew H. Vyrros, John Andrew McCulloh, Richard Frederick Wagner, Erik Danforth Strahm
-
Patent number: 7734643Abstract: 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: GrantFiled: June 30, 2004Date of Patent: June 8, 2010Assignee: Oracle America, Inc.Inventors: Steven Richard Waterhouse, Sherif M. Botros, Olaf Manczak, Patrick Gates, Jeremy Werner, Sacha Arnoud
-
Publication number: 20100076983Abstract: 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: ApplicationFiled: September 30, 2008Publication date: March 25, 2010Applicant: Apple Inc.Inventors: Patrick Gates, Richard Frederick Wagner, Jeremy Werner, Andrew Wadycki, Josh Flowers, Stephen A. Davis, Jeffrey S. Miller
-
Publication number: 20100076982Abstract: 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: ApplicationFiled: September 30, 2008Publication date: March 25, 2010Applicant: Apple Inc.Inventors: Patrick Gates, Richard Frederick Wagner, Jeremy Werner, Andrew Wadycki, Josh Flowers
-
Publication number: 20100076958Abstract: 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: ApplicationFiled: September 30, 2008Publication date: March 25, 2010Applicant: Apple Inc.Inventors: Patrick Gates, Richard Frederick Wagner, Dana J. DuBois
-
Publication number: 20100070917Abstract: 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: ApplicationFiled: September 30, 2008Publication date: March 18, 2010Applicant: Apple Inc.Inventors: Patrick Gates, Richard Frederick Wagner, Jeremy Werner, Andrew Wadycki, Josh Flowers, Stephen A. Davis, Jeffrey S. Miller