IP Library Granted Patent US 9,426,836
Granted Patent B2
US 9,426,836 · App. 14/332,533 · Granted Aug 23, 2016

Enabling direct transport layer connectivity

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,426,836
App. No.
14/332,533
Granted
Aug 23, 2016
Kind
B2
Abstract

A technology for a user equipment (UE) that is operable to establish direct transport layer connectivity with a selected UE. An internet protocol (IP) address of the UE can be sent to a Proximity Services (ProSe) server. A user application identification (ID) and ProSe server ID of the selected UE can be requested from an application server. A user application ID and ProSe server ID can be received from the application server. A facilitation message can be sent to the ProSe server in communication with the UE, wherein the facilitation message includes a request to facilitate direct transport layer connectivity between the UE and the selected UE for a selected application.

Claims (60)

1. A Proximity Services (ProSe) server operable to facilitate establishment of direct transport layer connectivity between a first user equipment (UE) and a second UE, the ProSe server having computer circuitry configured to:

receive, from the first UE, an internet protocol (IP) address used by the first UE to establish direct transport layer connectivity with the second UE;

request an internet protocol (IP) address used by the second UE to establish direct transport layer connectivity and an application port for the application used by the second UE;

determine a reachable status of the IP address of the first UE or the IP address of the second UE; and

facilitate establishment of the direct transport layer connectivity between the first UE and the second UE based on the reachable status of the IP address of the first UE or the IP address of the second UE.

2. The computer circuitry of claim 1 , further configured to receive, from the first UE, a facilitation request to establish direct transport layer connectivity between the first UE and the second UE.

3. The computer circuitry of claim 1 , further configured to receive, from the first UE, a user application identification (ID) for a peer to peer (P2P) application and a device ID of the first UE.

4. The computer circuitry of claim 1 , further configured to identify the second UE using a user application identification (ID) and a ProSe server ID of a ProSe server used by the second UE.

5. The computer circuitry of claim 1 , wherein the reachable status of the IP address for the first UE or IP address for the second UE includes a globally reachable IP address status and a non-globally reachable IP address status.

6. The computer circuitry of claim 5 , wherein the non-globally reachable IP address status is caused by the use of a network address translation (NAT) or a firewall by the first UE or the second UE.

7. The computer circuitry of claim 5 , further configured to send, to the first UE, the IP address and application port of the second UE when the reachable status of the second UE is a globally reachable IP address status.

8. The computer circuitry of claim 5 , further configured to:

determine that the first UE and the second UE support a reverse-connection procedure; and

assist the first UE and the second UE to establish reverse-connectivity between the first UE and the second UE when the reachable status of the second UE is a non-globally reachable IP address status and the reachable status of the first UE is a globally reachable IP address status.

9. The computer circuitry of claim 8 , further configured to assist the first UE and the second UE to establish reverse-connectivity by:

indicating to the first UE that a reverse-connectivity will be established for the application from the second UE to bypass a firewall of the second UE;

forwarding an IP address and a port number of the application for the first UE to the second UE; and

directing the second UE to establish a reverse-connectivity for the application with the first UE.

10. The computer circuitry of claim 9 , further configured to:

forward the IP address and port number of the first UE to the second UE directly; or

forward the IP address and port number of the first UE to the second UE using a ProSe server of the second UE.

11. The computer circuitry of claim 9 , further configured to remove the firewall bypass from the second UE when the direct transport layer connectivity for the application between the first UE and the second UE is terminated.

12. The computer circuitry of claim 5 , further configured to:

request a globally reachable IP address and a port number for the second UE when the reachable status of the second UE is the non-globally reachable IP address status and reachable status of the first UE is the non-globally reachable IP address status; and

forward the globally reachable IP address and the port number to the first UE.

13. The computer circuitry of claim 12 , further configured to:

request a firewall associated with the second UE to provide the globally reachable IP address for the second UE; and

request the firewall associated with the second UE to provide a port through which the first UE can access the second UE for the direct transport connection between the first UE and the second UE.

14. The computer circuitry of claim 12 , further configured to assist the first UE and the second UE in establishing a direct transport connectivity using the globally reachable IP address and the port provided by a firewall associated with the second UE.

15. The computer circuitry of claim 12 , further configured to:

request the globally reachable IP address and the port for the second UE directly from the firewall associated with the second UE; or

request the globally reachable IP address and the port for the second UE from a ProSe server of the second UE.

16. The computer circuitry of claim 1 , further configured to request the IP address of the second UE and the application port for the application operating on the second UE from the ProSe server in communication with the second UE or directly from the second UE.

17. A user equipment (UE) operable to establish direct transport layer connectivity with a selected UE, the UE having computer circuitry configured to:

send, to a Proximity Services (ProSe) server, an internet protocol (IP) address of the UE, wherein the UP address of the UE or an IP address of the selected UE has a reachable status;

request an application identification (ID) and a ProSe server ID of the selected UE from an application server;

receive the application ID and the ProSe server ID from the application server; and

send a facilitation message to the ProSe server in communication with the UE, wherein the facilitation message includes a request to facilitate direct transport layer connectivity between the UE and the selected UE, wherein the ProSe server is configured to facilitate the direct transport layer connectivity based on the reachable status of the IP address of the first UE or the IP address of the second UE.

18. The computer circuitry of claim 17 , further configured to send, to the ProSe server, an application identification (ID) for a peer to peer (P2P) application and a device ID of the UE.

19. The computer circuitry of claim 17 , further configured to register an application ID and the ProSe server ID with a peer to peer (P2P) Application Server.

20. The computer circuitry of claim 17 , further configured to communicate to a peer to peer (P2P) application server access permission levels for offered content or service posted on the P2P application server.

21. The computer circuitry of claim 17 , wherein the facilitation message includes an internet protocol (IP) address of the UE.

22. The computer circuitry of claim 17 , wherein the reachable status includes a globally reachable IP address status and a non-globally reachable IP address status.

23. The computer circuitry of claim 22 , further configured to receive information from a selected UE on a reverse direct transport layer connection between the UE and the selected UE when the reachable status of the selected UE is a non-globally reachable IP address status and the reachable status of the UE is a globally reachable IP address status.

24. The computer circuitry of claim 22 , further configured to receive, from the ProSe server, a globally reachable IP address for the selected UE when the reachable status of the selected UE is the non-globally reachable IP address status and reachable status of the UE is the non-globally reachable IP address status.

25. A computer program product including a non-transitory storage medium having stored thereon instructions that are adapted to be executed to implement a method of facilitating an establishment of a peer to peer (P2P) connection between a first user equipment (UE) and a second UE, the method comprising:

requesting, at a Proximity Services (ProSe) server, an internet protocol (IP) address used by the second UE to establish direct transport layer connectivity and an application port for an application used by the second UE;

determining a reachable status of an IP address of the first UE or the IP address of the second UE; and

facilitating an establishment of the direct transport layer connectivity between the first UE and the second UE based on the reachable status of the IP address of the first UE or the IP address of the second UE.

26. The computer program product of claim 25 , the method further comprising receiving, from the first UE, the IP address used by the first UE to establish the direct transport layer connectivity with the second UE.

27. The computer program product of claim 25 , wherein the reachable status of the IP address for the first UE or the IP address for the second UE each includes a globally reachable IP address status and a non-globally reachable IP address status.

28. The computer program product of claim 27 , the method further comprising:

determining that the first UE and the second UE support a reverse-connection procedure; and

facilitating an establishment of a reverse-connection between the first UE and the second UE when the reachable status of the second UE is a non-globally reachable IP address status and the reachable status of the first UE is a globally reachable IP address status.

29. The computer program product of claim 27 , the method further comprising:

requesting a globally reachable IP address for the second UE when the reachable status of the second UE is the non-globally reachable IP address status and reachable status of the first UE is the non-globally reachable IP address status; and

forwarding the globally reachable IP address to the first UE.

30. The computer program product of claim 25 , the method further comprising:

requesting a globally reachable IP address for the first UE when the reachable status of the first UE and the second UE are a non-globally reachable IP address status; and

forwarding a globally reachable IP address to the second UE for establishing a reverse transport layer connection.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: INTEL CORPORATION
To: APPLE INC.
Reel/Frame 053062/0703 →
CONFIRMATORY ASSIGNMENT Recorded Jun 25, 2020
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 053066/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2015
From: JOHNSSON, KERSTIN; PYATTAEV, ALEXANDER
To: INTEL IP CORPORATION
Reel/Frame 035246/0410 →