9392057

Selectively Exchanging Data Between P2p-Capable Client Devices via a Server

PublishedJuly 12, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
32 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of operating a first client device configured to connect to a serving network, comprising: detecting a second client device with which the first client device can communicate via a local peer-to-peer (P2P) interface that is independent of the serving network; establishing a local P2P connection between the first client device and the second client device via the local P2P interface; receiving, over the local P2P connection, a temporary identifier for the second client device, wherein the temporary identifier is insufficient for the first client device to identify any unique network address at which the second client device can be contacted via the serving network; receiving a request from an operator of the first client device to transmit data to the second client device over the local P2P connection; and sending, in response to the request while the local P2P connection remains available for communications between the first client device and the second client device, the data to a server via the serving network along with an indication of the temporary identifier without notifying the operator of the first client device that the data is being sent to the server, wherein the data is redundantly transmitted to the second client device via the local P2P connection, or wherein the data is not redundantly transmitted to the second client device via the local P2P connection.

2

2. The method of claim 1 , wherein the data is redundantly transmitted to the second client device via the local P2P connection.

3

3. The method of claim 1 , wherein the data is not redundantly transmitted to the second client device via the local P2P connection.

4

4. The method of claim 1 , wherein the server is expected to lookup a unique network address at which the second client device can be contacted via the serving network based on the indication of the temporary identifier in order to forward the data to the second client device via the serving network.

5

5. The method of claim 1 , further comprising: configuring a user interface (UI) to falsely indicate that the data is sent to the server via the local P2P connection instead of the serving network.

6

6. The method of claim 5 , wherein the configuring includes blocking a cellular indicator from display in the configured UI and displaying a P2P indicator in the configured UI.

7

7. The method of claim 1 , wherein the data corresponds to one or more files and/or one or more real-time media streams.

8

8. The method of claim 1 , further comprising: analyzing the request to determine whether to execute a server redirect of the data to the server based on a set of server redirect instructions, wherein the sending of the data to the server occurs in response to the analyzing.

9

9. The method of claim 8 , wherein the set of server redirect instructions instruct the first client device to redirect (i) each P2P transmission initiated by the first client device, (ii) one or more P2P transmissions from the first client device to a particular set of target client devices, (iii) one or more P2P transmissions including a transfer of a particular media type, (iv) one or more P2P transmissions that occur at a particular time of day and/or at a particular location, (v) one or more P2P transmissions that satisfy a set of P2P override rules or (vi) any combination thereof.

10

10. A method of operating a server, comprising: registering a unique network address at which a first client device can be contacted via a serving network; assigning, to the first client device, a temporary identifier that is insufficient for other client devices to identify the registered unique network address; receiving, from a second client device while the first client device and the second client device are connected via a local peer-to-peer (P2P) connection, data to be transmitted to the first client device along with an indication of the temporary identifier; associating the indication of the temporary identifier with the registered unique network address; and generating a record of the data transmission between the first client device and the second client device based on the association, wherein the generating is performed without forwarding the data to the first client device based on a first expectation that the data transmission will occur via the local P2P connection between the first client device and the second client device, or wherein the method further comprises forwarding the data to the first client device based on a second expectation that the data transmission will not occur via the local P2P connection between the first client device and the second client device.

11

11. The method of claim 10 , wherein the generating is performed without forwarding the data to the first client device based on the first expectation that the data transmission will occur via the local P2P connection between the first client device and the second client device.

12

12. The method of claim 10 , further comprising: forwarding the data to the first client device based on the second expectation that the data transmission will not occur via the local P2P connection between the first client device and the second client device.

13

13. The method of claim 10 , further comprising: locally storing the record at memory maintained by the server.

14

14. The method of claim 10 , further comprising: forwarding the record to at least one external server based on one or more record forwarding policies.

15

15. The method of claim 10 , wherein the data corresponds to one or more files and/or one or more real-time media streams.

16

16. A method of operating a server, comprising: registering, by the server, a unique contact address (i) at which a first client device can be contacted via a serving network or (ii) at which an operator of the first client device can be contacted; assigning, by the server to the first client device, a temporary identifier that is insufficient for other client devices to identify the registered unique contact address; receiving, by the server from a second client device while the first client device and the second client device are connected via a local peer-to-peer (P2P) connection, a request for data to be transmitted to the first client device and/or the operator of the first client device along with an indication of the temporary identifier; delivering, by the server, the data to the first client device and/or the operator of the first client device using the registered unique contact address while the first client device and the second client device remain connected via the local P2P connection; maintaining, by the server, an association between the temporary identifier and the first client device after the first client device and the second client device disconnect from the local P2P connection to permit supplemental communication between (i) the second client device and/or an operator of the second client device, and (ii) the first client device and/or the operator of the first client device.

17

17. The method of claim 16 , further comprising: receiving, from a given device operated by the operator of the second client device, a supplemental request for supplemental data to be transmitted to the first client device and/or the operator of the first client device along with another indication of the temporary identifier; and delivering the supplemental data to the first client device and/or the operator of the first client device using the registered unique contact address while the first client device and the second client device remain disconnected from the local P2P connection.

18

18. The method of claim 17 , wherein the given device is the second client device or another client device associated with the operator of the second client device.

19

19. The method of claim 17 , wherein the temporary identifier is a temporary group identifier that is configured to be mapped to unique contact addresses of multiple different client devices and/or operators, and wherein the data and the supplemental data are delivered to one or more additional client devices and/or client device operators in addition to the first client device and/or the operator of the first client device.

20

20. The method of claim 16 , wherein the maintaining further maintains another unique contact address at which the second client device can be contacted via the serving network and/or at which the operator of the second client device can be contacted.

21

21. The method of claim 20 , further comprising: receiving, from a given device operated by the operator of the first client device, a supplemental request for supplemental data to be transmitted to the second client device and/or the operator of the second client device along with another indication of the temporary identifier; and delivering the supplemental data to the second client device and/or the operator of the second client device using the another unique contact address while the first client device and the second client device remain disconnected from the local P2P connection.

22

22. The method of claim 21 , wherein the given device is the first client device or another client device associated with the operator of the first client device.

23

23. The method of claim 21 , wherein the temporary identifier is a temporary group identifier that is configured to be mapped to unique contact addresses of multiple different client devices and/or operators, and wherein the data and the supplemental data are delivered to one or more additional client devices and/or client device operators in addition to the second client device and/or the operator of the second client device.

24

24. A server, comprising: a processor, memory and/or transceiver configured to: register a unique contact address (i) at which a first client device can be contacted via a serving network or (ii) at which an operator of the first client device can be contacted; assign, to the first client device, a temporary identifier that is insufficient for other client devices to identify the registered unique contact address; receive, from a second client device while the first client device and the second client device are connected via a local peer-to-peer (P2P) connection, a request for data to be transmitted to the first client device and/or the operator of the first client device along with an indication of the temporary identifier; deliver the data to the first client device and/or the operator of the first client device using the registered unique contact address while the first client device and the second client device remain connected via the local P2P connection; maintain an association between the temporary identifier and the first client device after the first client device and the second client device disconnect from the local P2P connection to permit supplemental communication between (i) the second client device and/or an operator of the second client device, and (ii) the first client device and/or the operator of the first client device.

25

25. The server of claim 24 , wherein the processor, memory and/or transceiver are further configured to: receive, from a given device operated by the operator of the second client device, a supplemental request for supplemental data to be transmitted to the first client device and/or the operator of the first client device along with another indication of the temporary identifier; and deliver the supplemental data to the first client device and/or the operator of the first client device using the registered unique contact address while the first client device and the second client device remain disconnected from the local P2P connection.

26

26. The server of claim 25 , wherein the temporary identifier is a temporary group identifier that is configured to be mapped to unique contact addresses of multiple different client devices and/or operators, and wherein the data and the supplemental data are delivered to one or more additional client devices and/or client device operators in addition to the first client device and/or the operator of the first client device.

27

27. The server of claim 24 , wherein the processor, memory and/or transceiver are further configured to maintain another unique contact address at which the second client device can be contacted via the serving network and/or at which the operator of the second client device can be contacted.

28

28. The server of claim 27 , wherein the processor, memory and/or transceiver are further configured to: receive receiving, from a given device operated by the operator of the first client device, a supplemental request for supplemental data to be transmitted to the second client device and/or the operator of the second client device along with another indication of the temporary identifier; and deliver the supplemental data to the second client device and/or the operator of the second client device using the another unique contact address while the first client device and the second client device remain disconnected from the local P2P connection.

29

29. The server of claim 28 , wherein the given device is the first client device or another client device associated with the operator of the first client device.

30

30. The server of claim 28 , wherein the temporary identifier is a temporary group identifier that is configured to be mapped to unique contact addresses of multiple different client devices and/or operators, and wherein the data and the supplemental data are delivered to one or more additional client devices and/or client device operators in addition to the second client device and/or the operator of the second client device.

31

31. The method of claim 1 , wherein the temporary identifier is assigned to the second client device by a server.

32

32. The method of claim 10 , wherein the registering, the assigning, the receiving, the associating and the generating are each performed by the server.

Patent Metadata

Filing Date

Unknown

Publication Date

July 12, 2016

Inventors

Amit GOEL
Mohammed Ataur Rahman SHUMAN
Sandeep SHARMA

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SELECTIVELY EXCHANGING DATA BETWEEN P2P-CAPABLE CLIENT DEVICES VIA A SERVER” (9392057). https://patentable.app/patents/9392057

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.