EP-4149088-B1 - TRANSFERRING APPLICATION DATA BETWEEN DEVICES
Inventors
- CHEN, Vincent Wei-Kang
- ADAMS, CHRISTOPHER JOHN
- DIXON, Lucas Gill
- LEE, PAUL
- HECHT, Gregory M.
- CHEN, Erdi
- CHEN, Jenny Chun-yi
- CARRERA, Maria-Ines
- COMMENT, Estelle Laure Myriam
- CHU, ERIC
- HONG, PETER JIN
Dates
- Publication Date
- 20260506
- Application Date
- 20150917
Claims (14)
- A computer-implemented method, comprising: causing, using a first service (216) on a first device (104, 210), the first device to establish a wireless connection (240) with a second device (110, 220), wherein the wireless connection (240) is a connection that is separate from an Internet connection, and wherein the second device (110, 220) is not connected to the Internet, such that the first device (104, 210) is unable to communicate with the second device (110, 220) via the Internet connection; receiving, from a second service (226) on the second device (110, 220), data specifying one or more applications (224) that are installed on the second device and supported by the second service, each of the applications being separate from the second service (226) and the first service (216); determining, by the first service (216), that a first application (212) installed on the first device (104, 210) matches one of the applications installed on the second device (110, 220), wherein the first application (212) is separate from the first service (216) and has first application data to be shared; receiving, by the first service (216), the first application data from the first application (212); and causing, by the first service (216), the first device (104, 210) to send the first application data from the first application (212) installed on the first device to the second service (216) on the second device using the wireless network connection (240) for receiving by the first application (222) installed on the second device (110, 220), wherein the first application data sent from the first application (222) installed on the first device (104, 210) is more up-to-date than the last time that the first application (222) installed on the second device (110, 220) was updated, and wherein the first service (216) precludes the first device (104, 210) from sending locally-originating application data to the second device (110, 220) using the wireless connection (240).
- The method of claim 1, further comprising: determining, by the first service (216), that a second application (214) installed on the first device (104, 210) matches a second of the one or more applications (224) installed on the second device (110, 220), the second application (214) being different from the first application (212); receiving, by the first service (216), second application data from the second application (214); and causing, by the first service (216), the first device (104, 210) to send the second application data to the second device (110, 220) using the wireless connection (240).
- The method of claim 1, further comprising: causing, by the first service (216), the first device (104, 210) to broadcast wireless connection availability; and receiving a wireless connection request from the second device (110, 220), wherein the first service (216) causes the first device (104, 210) to establish the wireless connection (240) with the second device (110, 220) in response to receiving the wireless connection request from the second device (110, 220).
- The method of claim 3, wherein causing the first device (104, 210) to broadcast wireless connection availability comprises: causing a speaker of the first device (104, 210) to emit an audio sample that specifies wireless connection data.
- The method of claim 4, wherein the wireless connection data comprises: a service set identifier (SSID) for a wireless component of the first device (104, 210); a password for connecting to the wireless component; and data identifying the first application (212).
- The method of claim 4, wherein the wireless connection data comprises: a Bluetooth identifier for short range communication compliant component of the first device (104, 210); and data identifying the first application (212).
- The method of claim 4, wherein the wireless connection data comprises a public key for encrypting communications between the first device (104, 210) and the second device (110, 220).
- The method of claim 1, wherein: the first application data is received by the first service (216) through a first communications socket between the first application (212) and the first service (216); and the first application data includes an identifier identifying the first application.
- The method of claim 3, wherein: the first service (216) causes the first device (104, 210) to broadcast wireless connection availability in response to receiving a first gesture input; the wireless connection request includes a second gesture input; and the first service (216) causes the first device (104, 210) to establish the wireless connection with the second device (110, 220) only in response to determining that the second gesture input matches the first gesture input.
- The method of claim 9, wherein: the first device (104, 210) includes one or more physical sensors for sensing physical motion of the first device (104, 210); and the first gesture input corresponds to a physical gesture interpreted by the one or more physical sensors.
- The method of claim 9, wherein: the first device (104, 210) includes one or more touch sensors for sensing tactile input on a touch-sensitive screen; and the first gesture input corresponds to a pattern interpreted by the one or more touch sensors.
- The method of claim 1, further comprising: receiving, by the first service (216) and from the second service (226), third application data for a third application installed on the first device (104, 210), the third application data being sent from an application installed on the second device (110, 220) that matches the third application; and providing the third application data to the third application.
- A system, comprising: one or more data processing apparatus; and a data storage device storing instructions that, when executed by the one or more data processing apparatus, cause the one or more data processing apparatus to perform a method according to any one of the preceding claims.
- A computer readable storage medium storing instructions that, when executed by one or more data processing apparatus, cause the one or more data processing apparatus to perform a method according to any one of claims 1 to 12.
Description
BACKGROUND This specification relates to transferring application data between devices. Computing devices, such as personal computers, tablet computers, and mobile phones, often have applications installed to perform a variety of functions, including productivity applications, background service applications, entertainment applications, and others. Many applications are developed by third parties that distribute applications and application data to user devices using server computers. For example, a user device may download and install an application from an application server for the application. The same application server or a different application server may provide application data, such as new application content and/or new application updates for the application. In order to keep applications and application content updated, user devices will often connect to a network, such as the Internet, to periodically obtain application data from third party servers. US2013/086214A1 proposes an apparatus and a method for synchronizing application data. The method includes generating an application list for a first apparatus and transmitting an application list request message for requesting an application list of a second apparatus from the first apparatus to the second apparatus; receiving an application list response message from the second apparatus; and performing synchronization for an identical application between the first apparatus and the second apparatus. US2002065939A1 proposes a method and system for the delivery of updated web platform applications to a mobile electronic device upon synchronization of the mobile device with a computer. Specifically, there is described a method and system for dynamically creating personalized and up-to-date applications whenever a mobile electronic device is synchronized with a stand-alone computer system that is coupled to remotely located content servers or computers via a communication network, such as the Internet. Conduits act as gateways for synchronization between the mobile electronic device and the plurality of content servers or computers. These conduits coordinate the loading of the personalized and up-to-date applications onto the mobile electronic device. In one example, a user can then access up-to-date information on the applications at a more convenient time and while disconnected from the content servers or computers that provide the information. SUMMARY According to the present invention, there is provided a computer-implemented method as set out in claim 1. According to the present invention, there is also provided a system according to claim 13 and a computer readable storage medium according to claim 14. Preferred embodiments are set out in the dependent claims. Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. Transferring application data between user devices enables sharing of content and other data without the need for a connection to a local area network or wide area network. User devices that are not capable of communicating with a third party application server may obtain application data from another user device. User devices may be able to communicate faster and/or in a more reliable and/or secure manner between each other than over a separate network connection, leading to application data being transferred faster, more securely, and/or more reliably than it may otherwise be transferred. Using a service that supports multiple applications allows application developers to configure applications to share application data using the separate service. In addition, network traffic for network providers, such as Internet service providers and cellular network providers, may be reduced when user devices obtain application data from one another rather than across network providers' networks. The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of an example environment in which application data is transferred between devices.Fig. 2 is a data flow of an example process for transferring application data between devices.Fig. 3A is an illustration of an example application interface for transferring application data between devices.Fig. 3B is an illustration of an example synchronization service interface for transferring application data between devices.Fig. 4 is a flow diagram of an example process for transferring application data between devices.Fig. 5 is a flow diagram of an example process for receiving application data between devices.Fig. 6 is a block diagram of an example data processing apparatus. Like reference numbers and designations