# US 2014/0196140 A1 · Peer to peer networking and sharing systems and methods

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

- Number: US 2014/0196140 A1
- Document ID: US20140196140A1
- Status: Published application
- Kind: A1
- Application number: 13/995,517
- Filed: 2012-02-14
- Published: 2014-07-10
- Earliest claimed: 2012-02-14
- Assignees: Intel Corporation
- Inventors: Michelle X. Gong
- Web page: https://patentgrep.com/patent/US20140196140A1

## CPC

- H04W 76/11: Allocation or use of connection identifiers
- H04L 12/5692: {Selection among different networks}
- H04L 63/0807: {using tickets, e.g. Kerberos (cryptographic mechanisms or cryptographic arrangements for entity authentication using tickets or tokens H04L9/3213)}
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 69/14: Multichannel or multilink protocols
- H04W 12/06: Authentication
- H04W 12/069: using certificates or pre-shared keys
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An embodiment includes peer-to-peer (P2P) pairing protocols that mutually authenticate both end points and do not rely upon a backend server or a central certificate provisioning server. An embodiment provides a persistent control path for sending inter-peer control information (e.g., synchronization messages). Another inter-peer path includes an “on-demand” data path enabled when a unit determines content is ready for sharing. After the content is shared, the data path may be deconstructed, which saves resources on both sides and makes the framework more scalable. Also, embodiments include graphical user avatars to whereby a first peer shares content with a second peer by dragging content over the avatar.

## Claims

### Claim 1

At least one storage medium having instructions stored thereon for causing system to perform a method comprising a first compute node:
establishing a persistent control path with a second compute node;
establishing an on-demand data path with the second compute node; and
communicating control information to the second compute node via the persistent control path while simultaneously communicating content to the second compute node via the on-demand data path.

### Claim 2 (depends on 1)

The at least one medium of claim 1, the method comprising promptly disabling the established on-demand data path after communicating the content to the second compute node while simultaneously maintaining the persistent control path after communicating the control information to the second compute node.

### Claim 3 (depends on 1)

The at least one medium of claim 1, the method comprising establishing the on-demand data path with the second compute node based on determining the content exists and is ready to be communicated to the second compute node.

### Claim 4 (depends on 1)

The at least one medium of claim 1, the method comprising establishing the persistent control path and the on-demand data path with the second compute node via a peer-to-peer network, wherein the network is not contained within a single local network.

### Claim 5 (depends on 1)

The at least one medium of claim 1, the method comprising establishing the persistent control path and the on-demand data path with the second compute node via a peer-to-peer network and not via a centralized server.

### Claim 6 (depends on 1)

The at least one medium of claim 1, the method comprising:
receiving a second certificate corresponding to the second compute node;
determining the second certificate is recognized by the first compute node;
communicating a first certificate, corresponding to the first compute node, to the second compute node; and
establishing the persistent control path with the second compute node based on both of the first and second certificates.

### Claim 7 (depends on 1)

The at least one medium of claim 1, the method comprising:
receiving a second certificate corresponding to the second compute node;
communicating a first certificate, corresponding to the first compute node, to the second compute node;
determining one of the first and second certificates is not recognized by one of the first and second compute nodes; and
based on determining one of the first and second certificates is not recognized by one of the first and second compute nodes, engaging in pairing that includes communicating a secret between the first and second compute nodes via an out-of-band channel and authenticating the second node based on the secret.

### Claim 8 (depends on 7)

The at least one medium of claim 7, wherein authenticating the second compute node based on the secret includes authenticating the second compute node without using a central certificate server.

### Claim 9 (depends on 7)

The at least one medium of claim 7, the method comprising the first node, during a subsequent session with the second node:
receiving another instance of the second certificate corresponding to the second compute node;
communicating another instance of the first certificate, corresponding to the first compute node, to the second compute node;
determining both of the first and second additional instances are respectively recognized by the first and second compute nodes; and
based on determining both of the first and second additional instances are respectively recognized by the first and second compute nodes, skipping pairing and establishing additional instances of the persistent control path and on-demand data path with the second compute node.

### Claim 10 (depends on 7)

The at least one medium of claim 7, wherein the secret is included in one of a quick response (QR) code, near field communication (NFC), or an out-of-band channel communication.

### Claim 11 (depends on 7)

The at least one medium of claim 7, the method comprising engaging in the pairing based on one of the first and second compute nodes accepting a pairing invitation.

### Claim 12 (depends on 1)

The at least one medium of claim 1, the method comprising receiving a graphical user interface (GUI) element, which corresponds with the second compute node, from the second compute node based on establishing the persistent control path with the second compute node.

### Claim 13 (depends on 12)

The at least one medium of claim 12, the method comprising communicating the content to the second compute node based on dragging a GUI element corresponding with the content to the GUI element corresponding to the second compute node.

### Claim 14 (depends on 1)

The at least one medium of claim 1, wherein the control information includes networking synchronization information and the content includes one of video, music, and pictures.

### Claim 15

(canceled)

### Claim 16

(canceled)

### Claim 17

An apparatus comprising a first compute node that further comprises:
at least one processor; and
control logic, coupled to the at least one processor, to:
establish a persistent control path with a second compute node;
establish an on-demand data path with the second compute node; and
communicate control information to the second compute node via the persistent control path while simultaneously communicating content to the second compute node via the on-demand data path.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the control logic is to promptly disable the established on-demand data path after communicating the content to the second compute node while simultaneously maintaining the persistent control path after communicating the control information to the second compute node.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein the control logic is to:
receive a second certificate corresponding to the second compute node;
communicate a first certificate, corresponding to the first compute node, to the second compute node;
determine one of the first and second certificates is not recognized by one of the first and second compute nodes;
based on determining one of the first and second certificates is not recognized by one of the first and second compute nodes, engage in pairing that includes communicating a secret between the first and second compute nodes via an out-of-band channel and authenticating the second node based on the secret.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein authenticating the second compute node based on the secret includes authenticating the second compute node without using a central certificate server.

### Claim 21 (depends on 19)

The apparatus of claim 19, wherein the secret is included in one of a quick response (QR) code, near field communication (NFC), or an out-of-band channel communication.

### Claim 22 (depends on 19)

The apparatus of claim 19, wherein the control logic is to engage in the pairing based on one of the first and second compute nodes accepting a pairing invitation.

### Claim 23 (depends on 17)

The apparatus of claim 17, wherein the control logic is to receive a graphical user interface (GUI) element, which corresponds with the second compute node, from the second compute node based on establishing the persistent control path with the second compute node.

### Claim 24 (depends on 23)

The apparatus of claim 23, wherein the control logic is to communicate the content to the second compute node based on dragging a GUI element corresponding with the content to the GUI element corresponding to the second compute node.

### Claim 25

(canceled)
