IP Library Granted Patent US 9,232,003
Granted Patent B2
US 9,232,003 · App. 14/477,542 · Granted Jan 5, 2016

System and method for enabling a peer-to-peer (P2P) connection

Inventor: Richard John George (Waterloo, CA)
Assignee: BlackBerry Limited
H04L67/104H04L61/2564H04L61/2575H04L65/1069H04L65/1073
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,232,003
App. No.
14/477,542
Granted
Jan 5, 2016
Kind
B2
Abstract

A system and method are provided that enable a registrar or other server or proxy device to be used to provide a path between a pair of endpoint devices for exchanging addressing information, in order to establish a direct P2P connection. Once that connection is established, the connection may be used for any P2P data communications, e.g. SIP establishment of a VoIP call, instant messaging, online gaming, file transfer, multimedia streaming, etc. In this way, each endpoint device possesses a list of candidate addresses to establish a direct P2P connection, which may then be used for any type of communication. By relying on a registrar or other server to enable the candidate lists to be exchanged, control can still be maintained if necessary, since the candidate lists can be modified, e.g. to enable a transparent interception, to impose or remove security restrictions, etc.

Claims (39)

1. A method of controlling a peer-to-peer session between a first endpoint and a second endpoint, the method comprising:

a registrar enabling the first and second endpoints to register therewith;

the registrar obtaining a first candidate list from the first endpoint and a second candidate list from the second endpoint, each candidate list comprising one or more reflexive transport internet protocol addresses;

the registrar modifying the first candidate list, the modifying redirecting packets from the second endpoint to the registrar instead of the first endpoint;

the registrar modifying the second candidate list, the modifying redirecting packets from the first endpoint to the registrar instead of the second endpoint;

the registrar sending modified candidate lists to the first and second endpoints; and

the registrar intercepting a first packet from one of the first and second endpoints to perform an action prior to forwarding the first packet to the other of the first and second endpoints.

2. The method of claim 1 , wherein the first packet corresponds to a first address in a corresponding candidate list, the first address having been modified to correspond to a public address for the registrar, the method further comprising sending a connection response to the one of the first and second endpoints.

3. The method of claim 2 , further comprising determining whether or not to perform the forwarding according to any one or more of a policy and a set of rules.

4. The method of claim 2 , further comprising intercepting a second packet from the other of the first and second endpoints, to perform another action prior to forwarding the second packet to the one of the first and second endpoints.

5. The method of claim 1 , wherein the action comprises recording a communication.

6. The method of claim 1 , wherein the action comprises removing at least one security feature.

7. The method of claim 1 , wherein the action comprises adding at least one security feature.

8. The method of claim 1 , the first and second endpoints being registered using a session initiation protocol.

9. The method of claim 8 , wherein the request received by the registrar comprises a session initiation protocol MESSAGE.

10. The method according to claim 1 , wherein the reflexive transport internet protocol addresses are obtained by communicating with a reflexive server using a session traversal utilities for network address translation request.

11. A non-transitory computer readable storage medium comprising computer executable instructions for controlling a peer-to-peer session between a first endpoint and a second endpoint, the computer executable instructions comprising instructions for:

a registrar enabling the first and second endpoints to register therewith;

the registrar obtaining a first candidate list from the first endpoint and a second candidate list from the second endpoint, each candidate list comprising one or more reflexive transport internet protocol addresses;

the registrar modifying the first candidate list, the modifying redirecting packets from the second endpoint to the registrar instead of the first endpoint;

the registrar modifying the second candidate list, the modifying redirecting packets from the first endpoint to the registrar instead of the second endpoint;

the registrar sending modified candidate lists to the first and second endpoints; and

the registrar intercepting a first packet from one of the first and second endpoints to perform an action prior to forwarding the first packet to the other of the first and second endpoints.

12. The non-transitory computer readable storage medium of claim 11 , wherein the first packet corresponds to a first address in a corresponding candidate list, the first address having been modified to correspond to a public address for the registrar, the computer executable instructions further comprising instructions for sending a connection response to the one of the first and second endpoints.

13. The non-transitory computer readable storage medium of claim 12 , further comprising instructions for determining whether or not to perform the forwarding according to any one or more of a policy and a set of rules.

14. The non-transitory computer readable storage medium of claim 12 , further comprising instructions for intercepting a second packet from the other of the first and second endpoints, to perform another action prior to forwarding the second packet to the one of the first and second endpoints.

15. The non-transitory computer readable storage medium of claim 11 , wherein the action comprises recording a communication.

16. The non-transitory computer readable storage medium of claim 11 , wherein the action comprises removing at least one security feature.

17. The non-transitory computer readable storage medium of claim 11 , wherein the action comprises adding at least one security feature.

18. The non-transitory computer readable storage medium of claim 11 , the first and second endpoints being registered using a session initiation protocol.

19. The non-transitory computer readable storage medium of claim 18 , wherein the request received by the registrar comprises a session initiation protocol MESSAGE.

20. The non-transitory computer readable storage medium according to claim 11 , wherein the reflexive transport internet protocol addresses are obtained by communicating with a reflexive server using a session traversal utilities for network address translation request.

21. A registrar device comprising a processor and memory, the memory comprising computer executable instructions for controlling a peer-to-peer session between a first endpoint and a second endpoint, the computer executable instructions comprising instructions for:

enabling the first and second endpoints to register therewith;

obtaining a first candidate list from the first endpoint and a second candidate list from the second endpoint, each candidate list comprising one or more reflexive transport internet protocol addresses;

modifying the first candidate list, the modifying redirecting packets from the second endpoint to the registrar instead of the first endpoint;

modifying the second candidate list, the modifying redirecting packets from the first endpoint to the registrar instead of the second endpoint;

sending modified candidate lists to the first and second endpoints; and

intercepting a first packet from one of the first and second endpoints to perform an action prior to forwarding the first packet to the other of the first and second endpoints.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 4, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034161/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: GEORGE, RICHARD JOHN
To: RESEARCH IN MOTION LIMITED
Reel/Frame 033671/0911 →
Continuity (3)
Continuation 13344775 · Jan 6, 2012
Provisional Application 61430417 · Jan 6, 2011
Related Publication 20150019646A1 · Jan 15, 2015