IP Library Granted Patent US 7,933,273
Granted Patent B2
US 7,933,273 · App. 11/829,831 · Granted Apr 26, 2011

Cooperative NAT behavior discovery

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 7,933,273
App. No.
11/829,831
Granted
Apr 26, 2011
Kind
B2
Abstract

Methods and apparatus for facilitating traversal of a network address translator (NAT) are disclosed. For example, a node configured to communicate with one or more other nodes over a network may facilitate NAT traversal by a) determining information regarding the behavior of one or more NATs with the node; and storing the information in such a way that the information is retrievable by one or more other nodes; or b) retrieving information regarding behavior of one or more NATs obtained by one or more other nodes and using the information to traverse one or more of the NATs.

Claims (33)

1. In a node configured to communicate with one or more other nodes over a network, a method for facilitating traversal of a network address translator (NAT), the method comprising:

a) determining information regarding the behavior of one or more NATs with the node; and

storing the information in such a way that the information is retrievable by one or more other nodes; or

b) retrieving information regarding behavior of one or more NATs obtained by one or more other nodes and using the information to traverse one or more of the NATs; or

c) both a) and b).

2. The method of claim 1 wherein determining the information regarding the behavior of the one or more NATs includes determining a media access control (MAC) address for one or more of the NATs.

3. The method of claim 1 wherein determining the information regarding the behavior of the one or more NATs includes determining how many NATs there are between a given external IP address and one of the other nodes.

4. The method of claim 3 wherein determining how many NATs there are between a given external IP address and one of the other nodes includes sending a datagram having a predetermined time to live and, if a time exceeded error is sent back to the node in response to the datagram, resending the datagram with an incremented time to live.

5. The method of claim 1 wherein the information regarding the behavior of one or more NATs includes a NAT type.

6. The method of claim 1 wherein the information regarding the behavior of one or more NATs includes geographical information relating to the NAT.

7. The method of claim 1 wherein storing the information includes distributing the information over a peer-to-peer network.

8. The method of claim 1 wherein storing the information in such a way that the information is retrievable by one or more other nodes includes storing the information on a server that is accessible to the node and the other nodes.

9. The method of claim 8 wherein the server is a common database server.

10. The method of claim 1 wherein a) further comprises storing information associated with the one or more NATs.

11. The method of claim 1 wherein b) further comprises retrieving information associated with the one or more NATs.

12. The method of claim 1 wherein b) includes retrieving information regarding behavior of one or more NATs from a central location that is accessible by the node and the one or more other nodes.

13. The method of claim 1 wherein the one or more NATs include one or more wirelessly accessible NATs.

14. The method of claim 1 wherein the node and the one or more other nodes are behind the same NAT.

15. The method of claim 1 wherein the node is a router that is accessible by the one or more other nodes.

16. The method of claim 15 wherein storing the information in such a way that the information is retrievable by one or more other nodes includes caching the information at the router.

17. The method of claim 1 wherein the information regarding the behavior of one or more NATs includes NAT behavior information, one or more available Simple Traversal of UDP through NAT (STUN) server addresses, one or more common database addresses, a number of active sessions via a NAT, a collective traffic load on a NAT or a value of a flag realizing atomicity of port prediction against a symmetric NAT.

18. An apparatus for facilitating traversal of a network address translator (NAT), comprising:

a node configured to communicate with one or more other nodes over a network; and a set of executable instructions that when executed by the node cause the node to

a) determine information regarding the behavior of one or more NATs with the node; and

store the information in such a way that the information is retrievable by one or more of the other nodes; or

b) retrieve information regarding behavior of one or more NATs obtained by one or more other nodes and use the information to traverse one or more of the NATs; or

c) both a) and b).

19. The apparatus of claim 18 wherein the node is a wireless node.

20. The apparatus of claim 18 further comprising a memory location accessible by the node for storing and/or retrieving the information.

21. The apparatus of claim 18 wherein the node is connected to one or more of the other nodes in the network via a router that implements the NAT.

22. The apparatus of claim 18 wherein the node is a router connected to one or more of the other nodes.

23. The apparatus of claim 22 wherein the router implements the NAT.

24. The apparatus of claim 18 wherein the information regarding the behavior of one or more NATs includes NAT behavior information, one or more available STUN server addresses, one or more common database addresses, a number of active sessions via a NAT, a collective traffic load on a NAT or a value of a flag realizing atomicity of port prediction against a symmetric NAT.

Assignments (4)
CHANGE OF NAME Recorded Jul 1, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 039239/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027449/0380 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027445/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2007
From: TAKEDA, YUTAKA; WHITE, PAYTON R.; MARR, JAMES E.; DETWILER, STEPHEN C.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 019619/0074 →