# US 9,883,456 B2 · Application specific internet access

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,883,456 B2
- Document ID: US9883456B2
- Status: Granted
- Kind: B2
- Application number: 14/855,853
- Filed: 2015-09-16
- Published: 2017-03-16
- Granted: 2018-01-30
- Earliest claimed: 2015-09-16
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Amer Hassan; Aaron Cunningham; Billy Anders
- Web page: https://patentgrep.com/patent/US9883456B2

## CPC

- H04W 52/0209: {in terminal devices}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04W 76/10: Connection setup
- H04W 76/27: Transitions between radio resource control [RRC] states
- H04W 84/18: Self-organising networks, e.g. ad-hoc networks or sensor networks
- H04W 76/14: Direct-mode setup
- H04W 88/04: adapted for relaying to or from another terminal or user
- Y02B 70/10: Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
- Y02D 30/70: in wireless communication networks
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02B: CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Application specific internet access for synchronizing over a tethered network connection is disclosed. When a first device enters a tethering state the first device sends a wakeup message to a second device that is in sleep mode. The second device receives the wake-up message and determines at least one application that is to be synchronized over the tethered network connection provided by the first device. The at least one application is then synchronized and the second device returns to sleep mode. The second device to which the wakeup message is sent may comprise a device that was previously paired with the first device. The at least one application to be synchronized may be determined from a database stored on the second device that indicates a subset of applications of a plurality of applications on the second device to be synchronized on entering wakeup mode in response to the wake-up message.

## Claims

### Claim 1

A first device comprising:
at least one interface;
at least one processor and memory, including code, the code executable by the at least one processor to control the first device to:
receive a wakeup message through the at least one interface while the first device is in a sleep mode, the wakeup message sent from a second device operable to provide a tethered network connection; and,
in response to receiving the wakeup message;
synchronize at least one application through the at least one interface over the tethered network connection to synchronize data associated with the at least one application on the first device with data in a network database.

### Claim 2 (depends on 1)

The first device of claim 1, wherein the code is further executable by the at least one processor to control the first device to, in response to receiving the wakeup message:
determine the at least one application for synchronization.

### Claim 3 (depends on 1)

The first device of claim 1, wherein the first device comprises a device database and the code is further executable to cause the at least one processor to control the first device to determine the at least one application for synchronization by accessing the device database, wherein the device database indicates the at least one application is to be synchronized.

### Claim 4 (depends on 1)

The first device of claim 1, wherein the at least one interface comprises at least one communication interface, the first device further comprises a user interface, and the code is further executable by the at least one processor to control the first device to:
receive input at the user interface that indicates the at least one application to be synchronized; and,
store the indication of the at least one application to he synchronized in the device database.

### Claim 5 (depends on 4)

The first device of claim 4, wherein the at least one application to he synchronized comprises a subset of a plurality of applications on the first device.

### Claim 6 (depends on 1)

The first device of claim 1, wherein the code is further executable by the at least one processor to control the first device to, in response to receiving the wakeup message:
enter an awake mode; and,
return to the sleep mode when synchronization of the at least one application over the tethered network connection is completed.

### Claim 7 (depends on 1)

The first device of claim 1, wherein the wakeup message comprises a wakeup message sent based on a previous pairing of the first device and the second device.

### Claim 8 (depends on 7)

The first device of claim 7, wherein the at least one interface comprises a peer-to-peer interface, and the first device and the second device have been previously paired on the peer-to-peer interface and the wakeup message includes a wakeup packet sent on the peer-to-peer interface.

### Claim 9 (depends on 8)

The first device of claim 8, wherein to synchronize the at least one application over the tethered network connection, the code is further executable by the at least one processor to control the first device to set up a data channel with the second device on the peer-to-peer interface to provide the tethered network connection to the first device through the second device.

### Claim 10 (depends on 9)

The first device of claim 9, wherein the data channel on the peer-to-peer interface is a Wi-Fi Direct data channel.

### Claim 11 (depends on 1)

The first device of claim 1, wherein the second device is operable to provide the tethered network connection to a first type network or a second type network, and the code is executable by the at least one processor to control the first device to synchronize the at least one application only if the tethered network connection is to the first type network.

### Claim 12

A first device comprising:
at least one communication interface;
at least one processor and memory including code, the code executable by the at least one processor to control the first device to:
enter a tethering state;
send a wakeup message to at least one second device that is in a sleep mode on the at least one communication interface, wherein the at least one second device was previously paired with the first device; and,
provide a tethered network connection to the at least one second device.

### Claim 13 (depends on 12)

The first device of claim 12, wherein the first device further comprises a user interface and the code is further executable by the at least one processor to control the first device to:
receive input at the user interface; and,
send the wakeup message in response to receiving the input at the user interface.

### Claim 14 (depends on 12)

The first device of claim 12, wherein the first device further comprises a user interface and wherein the code is further executable by the at least one processor to control the first device to:
receive input at the user interface, the input enabling a Wi-Fi application; and, send the wakeup message in response to the enabling of the Wi-Fi application.

### Claim 15 (depends on 12)

The first device of claim 12, wherein the first device further comprises a user interface and the code is further executable by the at least one processor to control the first device to:
receive input at the user interface, the input selecting a feature that configures the first device to automatically send the wakeup message to the at least one second device upon entering a tethering state; and,
send the wakeup message in response to entering the tethering state.

### Claim 16 (depends on 12)

The first device of claim 12, wherein the first device further comprises a user interface and the code is further executable by the at least one processor to control the first device to:
receive first input at the user interface, the first input selecting a feature that configures the first device to present a selection at the user interface upon entering a tethering state, wherein the selection allows the user to choose whether or not to send a wakeup message to the at least one second device;
present the selection to a user upon entering the tethering state;
receive a choice of the selection as second input; and,
send the wakeup message in response to receiving the second input.

### Claim 17 (depends on 12)

The first device of claim 12, wherein the first device further comprises a user interface and the processor controls the first device to, in response to the determination that the first device has entered a tethering state:
determine the at least one second device;
receive an input at the user interface indicating a selected second duce of the at least one second device; and
send the wakeup message to the selected second device.

### Claim 18 (depends on 12)

The first device of claim 12, wherein the code is further executable by the at least one processor to control the first device to:
determine at least one device that was previously paired with the first device by accessing a database, the database indicating the at least one first device that was previously paired with the first device is to be sent a wakeup message on entering the tethering state.

### Claim 19 (depends on 12)

The first device of claim 12, wherein the at least one communication interface comprises a peer-to-peer interface, and, the processor further controls the first device to, set up a data channel with the at least one second device on the peer-to-peer interface, and provide the tethered network connection to the at least one second device on the peer-to-peer interface.

### Claim 20 (depends on 19)

The first device of claim 19, wherein the data channel on the peer-to-peer interface is a Wi-Fi Direct data channel.

### Claim 21 (depends on 12)

The first device of claim 12, wherein the first device is operable to provide the tethered network connection to a first type network or a second type network, and the code is executable by the at least one processor to control the first device to send the wake-up message only if the tethered network connection is to the first type network.

### Claim 22

A method for synchronizing at least one application on a first device comprising:
receiving a wakeup message while in sleep mode, the wakeup message sent from a second device configured to provide a tethered network connection; and,
in response to receiving the wakeup message;
synchronizing the at least one application over the tethered network connection.

### Claim 23 (depends on 22)

The method of claim 22 further comprising, in response to receiving the wakeup message:
determining the at least one application for synchronization.

### Claim 24 (depends on 23)

The method of claim 23, wherein the determining further comprises:
receiving input at an interface of the first device that indicates the at least one application to be synchronized, wherein the at least one application comprises a subset of a plurality of applications on the first device.
