US20090240821A1 - Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host - Google Patents

Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host Download PDF

Info

Publication number
US20090240821A1
US20090240821A1 US12/476,106 US47610609A US2009240821A1 US 20090240821 A1 US20090240821 A1 US 20090240821A1 US 47610609 A US47610609 A US 47610609A US 2009240821 A1 US2009240821 A1 US 2009240821A1
Authority
US
United States
Prior art keywords
socket
host
stun
peer
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/476,106
Inventor
Christophe Juncker
Nanda Kutty
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Logitech Europe SA
Original Assignee
Logitech Europe SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US10/957,122 priority Critical patent/US7543064B2/en
Application filed by Logitech Europe SA filed Critical Logitech Europe SA
Priority to US12/476,106 priority patent/US20090240821A1/en
Publication of US20090240821A1 publication Critical patent/US20090240821A1/en
Application status is Abandoned legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 characterised by the data terminal
    • H04L29/12009Arrangements for addressing and naming in data networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 characterised by the data terminal
    • H04L29/12009Arrangements for addressing and naming in data networks
    • H04L29/1233Mapping of addresses of the same type; Address translation
    • H04L29/12339Internet Protocol [IP] address translation
    • H04L29/1249NAT-Traversal
    • H04L29/12528NAT-Traversal using address mapping retrieval, e.g. Simple Traversal of UDP through NATs [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 characterised by the data terminal
    • H04L29/12009Arrangements for addressing and naming in data networks
    • H04L29/1233Mapping of addresses of the same type; Address translation
    • H04L29/12339Internet Protocol [IP] address translation
    • H04L29/1249NAT-Traversal
    • H04L29/12537NAT-Traversal transparent to the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 characterised by the data terminal
    • H04L29/12009Arrangements for addressing and naming in data networks
    • H04L29/12792Details
    • H04L29/1283Details about address types
    • H04L29/12924Transport layer addresses, e.g. aspects of Transmission Control Protocol [TCP] or User Datagram Protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/25Network arrangements or network protocols for addressing or naming mapping of addresses of the same type; address translation
    • H04L61/2503Internet protocol [IP] address translation
    • H04L61/256Network address translation [NAT] traversal
    • H04L61/2575Network address translation [NAT] traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/25Network arrangements or network protocols for addressing or naming mapping of addresses of the same type; address translation
    • H04L61/2503Internet protocol [IP] address translation
    • H04L61/256Network address translation [NAT] traversal
    • H04L61/2578Network address translation [NAT] traversal transparent to the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/60Details
    • H04L61/6018Address types
    • H04L61/6063Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/104Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/104Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
    • H04L67/1042Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks involving topology management mechanisms
    • H04L67/1044Group management mechanisms
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer, i.e. layer seven

Abstract

A system for providing peer-to-peer connections includes a plurality of host devices behind corresponding NATs; and a plurality of STUN servers. Each host device includes first and second sockets respectively bound to first and second private ports. Each host device sends a first STUN packet through the first socket to a first STUN server and a second group of STUN packets through the second socket to the STUN servers via public ports of the corresponding NAT. The STUN servers identify the public port numbers of the public ports. Each host device calculates a predicted public port number of the corresponding NAT for the second socket, based on the public port numbers of the public ports for the first socket and the second socket, the predicted public port number to be used for peer-to-peer connection between the second socket of the host device and other host devices.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • This application is a continuation application of, and claims priority to, U.S. patent application Ser. No. 10/957,122, filed Sep. 30, 2004, titled “MULTIPLAYER PEER-TO-PEER CONNECTION ACROSS FIREWALLS AND NETWORK ADDRESS TRANSLATORS USING A SINGLE LOCAL PORT ON THE LOCAL HOST”, which is incorporated by reference herein in its entirety for all purposes.
  • BACKGROUND OF THE INVENTION
  • The present application relates generally to communications between computer devices and, more particularly, to multiplayer peer-to-peer connections across firewalls and network address translators (NATs), using a single port number on each computer device.
  • More and more applications attempt to create a peer-to-peer connection between two hosts to transfer data. However, it is non-trivial to achieve such a connection in case one or both of the hosts are behind a firewall, especially if it also does network address translation, as is the case with the great majority of business and home firewalls nowadays. For home use, people often use a device that is a combination of a router, firewall and NAT. The problem is even further complicated in the case where a host attempts multiple peer-to-peer connections at the same time through a single port. This is exactly the way in which many PC and console games doing peer-to-peer data exchange work.
  • An additional challenge is to be able to set up a new connection through a single (private) port of the host, all the while transferring data through that same port with other hosts. This is a situation commonly found in network games where people meet in a lobby, and where as soon as a new user joins, he or she can start talking to the other users through voice chat using a headset.
  • Currently most peer-to-peer applications only have basic support for firewall/NAT traversal. The result is that if a host happens to be behind a difficult to traverse firewall/NAT, the host's online experience will be poor because a lot of connections will fail.
  • One solution game publishers have used is to instruct gamers to do port forwarding on their firewalls/NATs. However, this is a complicated operation for the average user and potentially creates a security hole in the firewall. Furthermore, this solution fails when two users are behind the same firewall.
  • Another solution adopted by Microsoft® in the XBox™ gaming console is to display on the support site a list of compatible and incompatible router devices. Indeed, some firewalls are more difficult to traverse than others, and in the case of Microsoft® the technology will enable peer-to-peer connectivity between hosts behind “easy” firewalls/NATs, but not behind more difficult ones. But often users already have a firewall before they buy a game. In case they use a firewall that is not supported by the game, they will run into problems to play online.
  • BRIEF SUMMARY OF THE INVENTION
  • Embodiments of the present invention provide a method and a system for achieving a very high success rate (close to 100%) in peer-to-peer connection establishment. It does so for single or multiple connections, using a single port or multiple random ports, and it works with any combination of any types of firewalls/NATs, regardless of whether they are easy or difficult to traverse. It also enables hosts to connect to a group of already interconnected hosts at any time, even when using a single port of a host and while the other hosts are already exchanging data with that host on that same port. Embodiments of the present invention rely on STUN servers (RFC 3489) to find out about the public IP address and port used by the NAT, and the exact type of the NAT.
  • An aspect of the present invention is directed to a method of providing peer-to-peer connection among a plurality of host devices disposed behind corresponding network address translators. The method comprises providing a plurality of STUN servers; for each host device to be connected, providing a first socket bound to a first private port and a second socket bound to a second private port; for each host device to be connected, sending a first STUN packet through the first socket to a first STUN server of the plurality of STUN servers via a public port of the corresponding network address translator, the public port having a public port number identified by the first STUN server; for each host device to be connected, sending a second group of STUN packets through the second socket to the plurality of STUN servers via one or more public ports of the corresponding network address translator, the second group of STUN packets being equal in number to the STUN servers, the one or more public ports being different from the public port for the first socket, each of the one or more public ports having a public port number identified by the STUN servers; and for each host device to be connected, calculating a predicted public port number of the corresponding network address translator for the second socket, based on the public port numbers of the public ports for the first socket and the second socket, the predicted public port number to be used for peer-to-peer connection between the second socket of the host device and other host devices.
  • In some embodiments, the predicted public port number of the corresponding network address translator for the second socket of the host device is a maximum of ((the port number of the public port for the first socket+an increment) and (the port number of the last public port which is the highest port number for the second socket+an increment)). Different public port numbers of the corresponding network address translator are separated by an increment. The predicted public port number of the corresponding network address translator for the second socket of the host device is (the port number of the public port for the first socket+the increment), if there has been a previous peer-to-peer connection for the second socket of the host device via the one or more public ports of the corresponding network address translator and the one or more public ports are still active. The predicted public port number of the corresponding network address translator for the second socket of the host device is (the port number of the last public port which is the highest port number for the second socket+the increment), if either there has not been a previous peer-to-peer connection for the second socket of the host device via the one or more public ports of the corresponding network address translator, or there has been a previous peer-to-peer connection for the second socket of the host device via the one or more public ports of the corresponding network address translator and the peer-to-peer connection has expired and the one or more public ports are no longer active.
  • In specific embodiments, the method further comprises forming a peer-to-peer connection between the second socket of a first host device and the second socket of a second host device using the predicted public port number of the corresponding network address translator for each of the second socket of the first host device and the second socket of the second host device; and forming a peer-to-peer connection between the second socket of the first host device and the second socket of a third host device using the predicted public port number of the corresponding network address translator for the second socket of the third host device and an updated public port number of the corresponding network address translator for the second socket of the first host device. The updated public port number of the corresponding network address translator for the first host device is obtained by repeating the steps of sending a first STUN packet, sending a second group of STUN packets, and calculating the predicted public port number as the updated public port number of the corresponding network address translator for the second socket of the first host device to be connected to the second socket of the third host device.
  • In some embodiments, the method further comprises sending a packet from the second socket of a first host device to the second socket of a second host device using the predicted public port number of the corresponding network address translator for each of the second socket of the first host device and the second socket of the second host device. The corresponding network address translator of the first host device is a cone network address translator and the corresponding network address translator of the second host device is a symmetric network address translator. The method further comprises, if there is a previous successful connection between the second socket of the first host device and the second socket of the second host device via a previous public port number of the corresponding network address locator of the second host device, sending a duplicate of the packet from the second socket of the first host device to the second socket of the second host device via the previous public port number of the corresponding network address locator of the second host device. The method further comprises storing, by a first host device in a buffer, information of public port number of a corresponding network address locator of another host device if there is a previous successful connection between the second socket of the first host device and the second socket of the other host device.
  • In specific embodiments of the invention, the method further comprises forming a peer-to-peer connection between the second socket of a first host device and the second socket of a second host device using the predicted public port number of the corresponding network address translator for each of the second socket of the first host device and the second socket of the second host device, the first host device and the second host device communicating in a main loop of an application; and forming a peer-to-peer connection between the second socket of the first host device and the second socket of a third host device using a separate thread from the main loop of the application to transfer STUN packets with the STUN servers and to transfer connection packets with the third host device. The method further comprises checking incoming packets on the second socket of the first host device in the main loop of the application to determine whether the incoming packet is a STUN packet, a connection packet, or other data; and if the incoming packet is a STUN packet or a connection packet, moving the incoming packet to a shared buffer to be shared with the separate thread used for forming the peer-to-peer connection between the second socket of the first host device and the second socket of the third host device.
  • In accordance with another aspect of the invention, a system of providing peer-to-peer connection among a plurality of host devices comprises a plurality of host devices disposed behind corresponding network address translators; and a plurality of STUN servers. Each host device includes a first socket bound to a first private port and a second socket bound to a second private port. Each host device is configured to send a first STUN packet through the first socket to a first STUN server of the plurality of STUN servers via a public port of the corresponding network address translator. The public port has a public port number identified by the first STUN server. Each host device is configured to send a second group of STUN packets through the second socket to the plurality of STUN servers via one or more public ports of the corresponding network address translator. The second group of STUN packets are equal in number to the STUN servers. The one or more public ports are different from the public port for the first socket. Each of the one or more public ports has a public port number identified by the STUN servers. Each host device is configured to calculate a predicted public port number of the corresponding network address translator for the second socket, based on the public port numbers of the public ports for the first socket and the second socket, the predicted public port number to be used for peer-to-peer connection between the second socket of the host device and other host devices.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram showing a typical setup of two hosts connected behind a NAT and communication with STUN servers.
  • FIG. 2 is a schematic diagram showing an example of how two hosts trying to open a peer-to-peer channel with each other interact with the STUN servers according to an embodiment of the present invention.
  • FIGS. 3 and 4 are schematic diagrams showing what happens when host 1 first connects to host 2, and then to host 3 in a situation where all hosts are behind a symmetric NAT, according to another embodiment of the present invention.
  • FIGS. 5 and 6 are schematic diagrams showing what happens when host 1 first connects to host 2, and then host 2 exits and reenters while the port for host 2 is still alive, according to another embodiment of the present invention.
  • FIG. 7 is a simplified schematic diagram of a main loop of an application illustrating an attempted connection with an additional host according to another embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • As shown in the typical setup 10 of FIG. 1, two hosts 12 (e.g., game consoles) are connected each behind a NAT 14 (or a device that is a combination of a router, a firewall, and a NAT) and communicate with STUN servers 16 via a network 20 (e.g., the Internet). When attempting to exchange packets peer-to-peer, the host 12 may either use a random port number every time it attempts a connection, or it may use a predefined unique port number.
  • FIG. 2 shows an example of how two hosts 202, 204 with respective NATs 212, 214 trying to open a peer-to-peer channel with each other interact with the STUN servers 218 and find out about their respective NATs' information before attempting a connection using random ports. Each host 202, 204 creates two sockets (socket A and socket B) that are bound to two random ports. A first STUN packet is sent out through socket A of each host 202, 204 to STUN server 1. This will create port A1 on each NAT 212, 214. Then three STUN packets are sent through socket B of each host 202, 204 to STUN server 1, 2 and 3. If the NAT is a cone, then port B1=port B2=port B3. If the NAT is symmetric, then port B1, B2, and B3 will differ by the increment that the NAT is using. As a result, the host will have information on the public port number associated with each of these packets that were sent out (public ports Al, B1, B2 and B3). This information enables one to calculate the predicted public port number that will be assigned when the local host tries to directly send a packet to the remote host using that same socket B. Especially, in case of a cone NAT, the predicted port will be B3. For a symmetric NAT, the predicted port will be B3+increment.
  • For multiple peer-to-peer connections, every connection may be treated as a separate one. For every new connection, the host will bind a new socket to a random port. Therefore, if the local host needs to connect to three other remote hosts, for example, the local host will create a unique socket for each of those other hosts. When sending data to all those hosts, the local host will send it through all three sockets.
  • When the host uses a single (private) port, however, the port prediction needs to be changed. Using a single port means that, for every new connection, one will reuse socket B that is bound to that single port.
  • FIGS. 3 and 4 show what happens when host 1 (302) first connects to host 2 (304), and then to host 3 (306) in a situation where all hosts are each behind a symmetric NAT (312, 314, 316, respectively). It is assumed that socket B is always bound to the single port 3658 on the local host, and the first port to be opened on the NAT for each outgoing connection is 10,000 for host 1, 20,000 for host 2 and 30,000 for host 3. It is further assumed that the increment on all NATs is 1.
  • In FIG. 3 when doing the STUN requests with the STUN servers 318 on host 1 and host 2, the predicted port is calculated in the same manner as with random ports, because the NAT has not yet opened any ports for either socket A or B. On host 1, the predicted port number will be port B3+1=10,004. And on host 2 it will also be B3+1=20,004.
  • Let's suppose the connection between host 1 (302) and host 2 (304) was successful. The next step is to connect host 1 (302) to host 3 (306), as seen in FIG. 4. At this point, host 1 restarts to communicate with the STUN servers 318 by binding socket A to a random port number, and by re-using our socket B that is bound to port 3658. On the NAT 312, there will be a new port number opened for socket A. In this case, it will be port number 10,005. Furthermore, if this second connection is attempted shortly after the first one, the NAT 312 will not create new ports for socket B because the previously created ones will not have timed out yet. Instead it will re-use the existing ones from the previous connection, namely port B1=10,001, B2=10,002 and B3=10,003. Thus, instead of the predicted port being B3+1, it gets calculated as follows: predicted port=max(A1, B3)+1. This way the predicted port will be A1 (10,005)+1=10,006, which is correct. This formula only applies to symmetric NATs. For cone NATs the predicted port is always equal to B3.
  • If this second connection is attempted not immediately after the first connection, then there is a possibility that the ports assigned to B1, B2 and B3 in the NAT 312 have expired. Typically ports expire after 2 to 30 minutes of network inactivity. In that case, the max(A1, B3) will be B3 and the port prediction will be done correctly as well (i.e., B1=10,006; B3=10,008; B3+1=10,009).
  • A slight problem arises because of this way of doing port prediction, as shown in FIGS. 5 and 6. Let's suppose that host 1 (502) is in a game lobby, waiting for other players to join. As soon as host 2 (504) joins, a peer-to-peer connection is attempted, for instance, to enable both hosts to talk to each other with a headset and voice over IP. So far there is no problem, and the port predictions and therefore the connection should be successful. Now let's suppose that after successfully connecting to each other, host 2 exits the game lobby and re-enters shortly after. A new connection attempt needs to be made.
  • Let's define host 1 (502) to be behind the cone NAT 512, and host 2 (504) behind the symmetric NAT 514. A plurality of STUN servers 518 are provided for accepting STUN requests from the hosts. Let's suppose the successful connection was made through port 10,001 on the cone NAT 512, and 20,004 on the symmetric NAT 514. On the second connection attempt, the predicted port for the cone NAT 512 will still be 10,001. The predicted port for the symmetric NAT 514, however, will be 20,006 (FIG. 5).
  • Now when host 2 behind the symmetric NAT 514 is going to send out a UDP (User Datagram Protocol) packet directly to host 1 to attempt the connection, the packet will go through port 20,004 on the symmetric NAT since that port is still active in the NAT 514 from the previous connection to the same IP/port for host 1. This means that the predicted port 20,006 is wrong, and the UDP packet sent to that port from host 1 will fail (FIG. 6).
  • Luckily the packet sent from host 2 should arrive to host 1, whether the cone NAT for host 1 is port-restrictive or not. Because the predicted port for the cone NAT 512 is still 10,001, it means that it has not timed out yet. Therefore the NAT 512 will remember that a packet was previously sent to the symmetric NAT's IP on port 20,004 and therefore it will let the packet from host 2 come in.
  • However, because the predicted port for the symmetric NAT 514 is definitely going to be wrong, the probability of connection success is not as high as it can be. For example, if the UDP packet sent from host 2 to host 1 is lost, then because the UDP packet sent from host 1 to host 2 will definitely not make it either, the connection fails.
  • To get both port predictions right and keep the connection success probability as high as possible, there needs to be a special process put in place. In case the local host is behind a cone NAT 512, and the remote host is behind a symmetric NAT 514, the local host is going to keep a history of previous successful connections. This is done in the form of a local buffer that contains the IP address and port to be written to for any previous successful connection. Every time such a connection is successful, a new entry is added to the buffer. When the buffer is full, it wraps around so that new entries start being saved from the beginning of the buffer again.
  • Every time the local host behind a cone NAT 512 attempts to connect to a remote host behind a symmetric NAT 514, it checks if there was a previous successful connection to that remote host based on its public IP address by going through the buffer. If an instance is found in the buffer, then the local host sends a UDP packet with the corresponding port number found in the buffer.
  • Since the port of a successful previous connection may have timed out in the remote host's NAT 514, the local host also always sends another UDP packet to the predicted port number. Therefore, in the case where there is a history of a previous connection to the remote host, two UDP packets get sent out to the same IP address but with two different port numbers (FIG. 6). In this particular case, there is no problem in doing so, because both these packets would go out through the same port number on the NAT 512. It would not be possible, however, to use this same technique from a host that is behind a symmetric NAT with port-sensitive allocation, because by sending out 2 UDP packets to 2 different port numbers, the port-sensitive NAT would create 2 new port entries. By creating those 2 port entries its port number would increase twice and would therefore reduce the chance that the previously calculated predicted port to be used by the remote host will be correct.
  • If only one of the 2 NATs timed out between re-attempting a connection between 2 clients with a previous successful connection, then the port prediction will be correct on both sides.
  • For many games it is important that the peer-to-peer connection attempt be done in a separate thread. In that way, if, for example, a host joins a lobby where two other hosts are already interconnected and talking to each other by exchanging voice data, their communication will not be cut off because of having to attempt a connection with the new host at the same time.
  • In addition, while an application attempts the connections that may take up to several seconds, it may want to display moving menus instead of freezing menus.
  • An application should have a way to find out that a new client arrived and needs to be connected thereto. Once a host receives the instruction to do a STUN request, it launches that in a separate thread. That way the main loop of the application can keep receiving other data and does not have to wait for an answer of the STUN servers.
  • When the local host has received the remote host's information and is ready to try to connect, the connection process is also launched in a separate thread since it could take quite some time for it to complete.
  • In those 2 separate threads, the application will need to look for incoming STUN packets and incoming connection packets on the single port. However since this is done in a separate thread, it is not possible to look at the queue and empty it because there may be other data packets coming in while waiting for a response from a STUN server, for example.
  • The adopted solution here is to only look for incoming packets on the single port in one place, namely inside the main application loop. The application is then responsible for checking whether the incoming packet contains application-specific data, whether it is a STUN packet, connection packet, or unwanted data.
  • If it is a STUN packet or a connection packet, the application takes the packet out of the queue and places it in shared buffers. That way the main queue gets emptied so the application can keep receiving new data.
  • When the separate threads for the STUN request and the connection establishment take over, they keep checking their respective shared buffers. If there is nothing there, they keep waiting. If there is something there, they take the data out of the buffer and treat it as if they had just received a packet. Then they empty the buffer to make space for new packets to be put therein.
  • FIG. 7 shows host 1 (702) and host 2 (704), which are connected in a main loop via their main threads 722, 724 in their applications 732, 734 via NAT 1 (712) and NAT 2 (714), respectively. A connection is attempted between host 3 (706) via NAT 3 (716) and host 1 (702) via NAT 1 (712) along their separate STUN threads 746, 742 for STUN requests and connection threads 756, 752 for connection requests. Each application (732, 734, 736) has a shared buffer (762, 764, 766) for the main thread (722, 724, 726) to store STUN packets and connection packets. The STUN thread (742, 744, 746) and connection thread (752, 754, 756) check for packets in the shared buffer (762, 764, 766) instead of the operating system's network queue.
  • It is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.

Claims (1)

1. A method of providing peer-to-peer connection among a plurality of host devices disposed behind corresponding network address translators, the method comprising:
providing a plurality of STUN servers;
for each host device to be connected, providing a first socket bound to a first private port and a second socket bound to a second private port;
for each host device to be connected, sending a first STUN packet through the first socket to a first STUN server of the plurality of STUN servers via a public port of the corresponding network address translator, the public port having a public port number identified by the first STUN server;
for each host device to be connected, sending a second group of STUN packets through the second socket to the plurality of STUN servers via one or more public ports of the corresponding network address translator, the second group of STUN packets being equal in number to the STUN servers, the one or more public ports being different from the public port for the first socket, each of the one or more public ports having a public port number identified by the STUN servers; and
for each host device to be connected, calculating a predicted public port number of the corresponding network address translator for the second socket, based on the public port numbers of the public ports for the first socket and the second socket, the predicted public port number to be used for peer-to-peer connection between the second socket of the host device and other host devices.
US12/476,106 2004-09-30 2009-06-01 Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host Abandoned US20090240821A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/957,122 US7543064B2 (en) 2004-09-30 2004-09-30 Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US12/476,106 US20090240821A1 (en) 2004-09-30 2009-06-01 Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/476,106 US20090240821A1 (en) 2004-09-30 2009-06-01 Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/957,122 Continuation US7543064B2 (en) 2004-09-30 2004-09-30 Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host

Publications (1)

Publication Number Publication Date
US20090240821A1 true US20090240821A1 (en) 2009-09-24

Family

ID=36126970

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/957,122 Active 2027-04-12 US7543064B2 (en) 2004-09-30 2004-09-30 Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US12/476,106 Abandoned US20090240821A1 (en) 2004-09-30 2009-06-01 Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/957,122 Active 2027-04-12 US7543064B2 (en) 2004-09-30 2004-09-30 Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host

Country Status (1)

Country Link
US (2) US7543064B2 (en)

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010204A1 (en) * 2004-07-06 2006-01-12 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
US20060173958A1 (en) * 2002-05-17 2006-08-03 Masayuki Chatani Managing participants in an online session
US20060288103A1 (en) * 2003-11-07 2006-12-21 Kunio Gobara Communication system, information processing apparatus, server, and communication method
US20070078720A1 (en) * 2004-06-29 2007-04-05 Damaka, Inc. System and method for advertising in a peer-to-peer hybrid communications network
US20070091798A1 (en) * 2003-11-07 2007-04-26 Kunio Gobara Communication system, information processing apparatus, server, and communication method
US20070165629A1 (en) * 2004-06-29 2007-07-19 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US20080280686A1 (en) * 2002-04-26 2008-11-13 Dhupelia Shekhar V Balancing distribution of participants in a gaming environment
US20090023499A1 (en) * 2007-07-19 2009-01-22 Sony Computer Entertainment Inc. Bluetooth Enabled Computing System and Associated Methods
US20090028167A1 (en) * 2007-07-27 2009-01-29 Sony Computer Entertainment Inc. Cooperative nat behavior discovery
US20090113060A1 (en) * 2007-10-05 2009-04-30 Mark Lester Jacob Systems and Methods for Seamless Host Migration
US20090144423A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network traffic prioritization
US20090228593A1 (en) * 2008-03-05 2009-09-10 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US20090296606A1 (en) * 2004-06-29 2009-12-03 Damaka, Inc. System and method for peer-to-peer hybrid communications
US20100220721A1 (en) * 2005-03-22 2010-09-02 Logitech Europe S.A. Method and Apparatus for Packet traversal of A Network Address Translation Device
US20100241710A1 (en) * 2009-02-14 2010-09-23 Bvisual S.A. Method and system for videoconferencing or data transfer between clients behind different network address translators
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US20110149737A1 (en) * 2009-12-23 2011-06-23 Manikam Muthiah Systems and methods for managing spillover limits in a multi-core system
US20110153831A1 (en) * 2009-12-23 2011-06-23 Rishi Mutnuru Systems and methods for mixed mode of ipv6 and ipv4 dns of global server load balancing
US20110161500A1 (en) * 2009-12-23 2011-06-30 Sreedhar Yengalasetti Systems and methods for managing ports for rtsp across cores in a multi-core system
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US20110231917A1 (en) * 2010-03-19 2011-09-22 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US8060626B2 (en) * 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8380859B2 (en) 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8406229B2 (en) 2004-06-29 2013-03-26 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US8432917B2 (en) 2004-06-29 2013-04-30 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US8437307B2 (en) 2007-09-03 2013-05-07 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US20130138760A1 (en) * 2011-11-30 2013-05-30 Michael Tsirkin Application-driven shared device queue polling
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US8824487B1 (en) * 2010-04-29 2014-09-02 Centurylink Intellectual Property Llc Multi-access gateway for direct to residence communication services
US8862164B2 (en) 2007-09-28 2014-10-14 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8966557B2 (en) 2001-01-22 2015-02-24 Sony Computer Entertainment Inc. Delivery of digital content
US9009702B2 (en) 2011-11-30 2015-04-14 Red Hat Israel, Ltd. Application-driven shared device queue polling in a virtualized computing environment
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9560425B2 (en) 2008-11-26 2017-01-31 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10355882B2 (en) 2014-08-05 2019-07-16 Damaka, Inc. System and method for providing unified communications and collaboration (UCC) connectivity between incompatible systems

Families Citing this family (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7558249B2 (en) * 2004-11-08 2009-07-07 Panasonic Corporation Communication terminal, and communication method
US7483393B2 (en) * 2004-12-07 2009-01-27 Cisco Technology, Inc. Method and apparatus for discovering internet addresses
US7558862B1 (en) * 2004-12-09 2009-07-07 LogMeln, Inc. Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer
US7680065B2 (en) * 2005-01-18 2010-03-16 Cisco Technology, Inc. System and method for routing information packets
CN1825828B (en) * 2005-02-24 2011-04-27 北京风行在线技术有限公司 Method and apparatus for controlling direct transmission communication with two terminals under different NAT
US8619765B2 (en) * 2005-06-13 2013-12-31 Cisco Technology, Inc. Automatic reconfiguration of layer 3 device to layer 2 device upon detection of upstream NAT/NAPT device
US8184641B2 (en) * 2005-07-20 2012-05-22 Verizon Business Global Llc Method and system for providing secure communications between proxy servers in support of interdomain traversal
WO2007048344A1 (en) * 2005-10-28 2007-05-03 Huawei Technologies Co., Ltd. A method for establishing the peer-to-peer connection, a method device and system for realizing network communication traversal nat
KR100964211B1 (en) * 2005-11-14 2010-06-17 삼성전자주식회사 Method and system for providing multimedia portal contents and addition service in a communication system
JP4660624B2 (en) * 2006-04-24 2011-03-30 ケイティー コーポレーション ip network interconnection systems, interconnection method and sip message routing method using different ip address systems to each other
CN101094171B (en) * 2006-06-22 2011-02-16 华为技术有限公司 Method and system for implementing interaction of media streams, controller of media gateway, and media gateway
DE102006030591A1 (en) * 2006-07-03 2008-01-10 Siemens Ag Method for managing communication links
US9413590B2 (en) * 2006-08-22 2016-08-09 Orange Method for management of a secured transfer session through an address translation device, corresponding server and computer program
CN101491021A (en) * 2006-09-22 2009-07-22 松下电器产业株式会社 Communication apparatus, communication method and communication system
US8533339B2 (en) * 2006-10-13 2013-09-10 Cisco Technology, Inc. Discovering security devices located on a call path and extending bindings at those discovered security devices
US20080122932A1 (en) * 2006-11-28 2008-05-29 George Aaron Kibbie Remote video monitoring systems utilizing outbound limited communication protocols
CA2678714C (en) 2007-02-21 2012-05-22 Avaya Canada Corp. Bootstrapping in peer-to-peer networks with network address translators
EP2003858A1 (en) * 2007-06-14 2008-12-17 Nokia Siemens Networks Oy Performing interactive connectivity checks in a mobility environment
US8631155B2 (en) * 2007-06-29 2014-01-14 Microsoft Corporation Network address translation traversals for peer-to-peer networks
US7813327B2 (en) * 2007-11-30 2010-10-12 Motorola, Inc. Method and system for peer to peer wide area network communication
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US20090319674A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Techniques to manage communications between relay servers
TWI357749B (en) * 2008-06-26 2012-02-01 D Link Corp
US7962627B2 (en) * 2008-12-04 2011-06-14 Microsoft Corporation Peer-to-peer network address translator (NAT) traversal techniques
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9264459B2 (en) * 2010-12-16 2016-02-16 Palo Alto Research Center Incorporated SIP-based custodian routing in content-centric networks
US9280546B2 (en) 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9185120B2 (en) 2013-05-23 2015-11-10 Palo Alto Research Center Incorporated Method and system for mitigating interest flooding attacks in content-centric networks
US9497160B1 (en) * 2013-06-24 2016-11-15 Bit Action, Inc. Symmetric NAT traversal for direct communication in P2P networks when some of the routing NATs are symmetric
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9531679B2 (en) 2014-02-06 2016-12-27 Palo Alto Research Center Incorporated Content-based transport security for distributed producers
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9203885B2 (en) 2014-04-28 2015-12-01 Palo Alto Research Center Incorporated Method and apparatus for exchanging bidirectional streams over a content centric network
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9467377B2 (en) 2014-06-19 2016-10-11 Palo Alto Research Center Incorporated Associating consumer states with interests in a content-centric network
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
CN104468278B (en) * 2014-12-18 2018-05-18 上海斐讯数据通信技术有限公司 udp aging time detection system and method based protocol stun
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network

Citations (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3017456A (en) * 1958-03-24 1962-01-16 Technicolor Corp Bandwidth reduction system for television signals
US4813056A (en) * 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
US5497434A (en) * 1992-05-05 1996-03-05 Acorn Computers Limited Image data compression
US5528284A (en) * 1993-02-10 1996-06-18 Hitachi, Ltd. Video communication method having refresh function of coding sequence and terminal devices thereof
US5592225A (en) * 1993-09-30 1997-01-07 Matsushita Electric Industrial Co., Ltd. Device and method for controlling coding
US5740278A (en) * 1996-02-16 1998-04-14 Cornell Research Foundation, Inc. Facsimile-based video compression method and system
US5778143A (en) * 1993-01-13 1998-07-07 Hitachi America, Ltd. Method and apparatus for the selection of data for use in VTR trick playback operation in a system using progressive picture refresh
US5790180A (en) * 1995-12-28 1998-08-04 At&T Corp. Video telephone call handling system and method
US5990852A (en) * 1996-10-31 1999-11-23 Fujitsu Limited Display screen duplication system and method
US5991308A (en) * 1995-08-25 1999-11-23 Terayon Communication Systems, Inc. Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
US6058421A (en) * 1998-02-04 2000-05-02 3Com Corporation Method and system for addressing network host interfaces from a cable modem using DHCP
US6061739A (en) * 1997-11-26 2000-05-09 International Business Machines Corp. Network address assignment using physical address resolution protocols
US6209021B1 (en) * 1993-04-13 2001-03-27 Intel Corporation System for computer supported collaboration
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6243749B1 (en) * 1998-10-08 2001-06-05 Cisco Technology, Inc. Dynamic network address updating
US6259736B1 (en) * 1998-01-30 2001-07-10 Kabushiki Kaisha Toshiba Video encoder and video encoding method
US20020042283A1 (en) * 2000-10-09 2002-04-11 Koninklijke Philips Electronics N.V. Method for the communication of information and apparatus employing the method
US20020059587A1 (en) * 2000-05-24 2002-05-16 Virtual Clinic, Inc. Method and apparatus for providing personalized services
US20020067405A1 (en) * 2000-12-04 2002-06-06 Mcdiarmid James Michael Internet-enabled portable audio/video teleconferencing method and apparatus
US6487316B1 (en) * 1995-09-18 2002-11-26 Oki Electric Industry Co, Ltd. Picture decoder for a picture transmission system
US6654891B1 (en) * 1998-10-29 2003-11-25 Nortel Networks Limited Trusted network binding using LDAP (lightweight directory access protocol)
US20040015979A1 (en) * 2002-07-22 2004-01-22 Te-Cheng Shen System and method for efficiently exchanging data among processes
US20040022237A1 (en) * 1998-11-20 2004-02-05 Level 3 Communications, Inc. Voice over data telecommunications network architecture
US20040022250A1 (en) * 2002-07-31 2004-02-05 Weijing Chen Resource reservation protocol based guaranteed quality of service internet protocol connections over a switched network
US20040022222A1 (en) * 2002-07-31 2004-02-05 Allister Clisham Wireless metropolitan area network system and method
US6693663B1 (en) * 2002-06-14 2004-02-17 Scott C. Harris Videoconferencing systems with recognition ability
US20040117653A1 (en) * 2001-07-10 2004-06-17 Packet Technologies Ltd. Virtual private network mechanism incorporating security association processor
US6766519B1 (en) * 1999-03-26 2004-07-20 Emc Corporation Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation
US6775276B1 (en) * 1998-05-27 2004-08-10 3Com Corporation Method and system for seamless address allocation in a data-over-cable system
US20040190489A1 (en) * 2003-03-31 2004-09-30 Palaez Mariana Benitez Multimedia half-duplex sessions with individual floor controls
US6826620B1 (en) * 1998-08-26 2004-11-30 Paradyne Corporation Network congestion control system and method
US6842484B2 (en) * 2001-07-10 2005-01-11 Motorola, Inc. Method and apparatus for random forced intra-refresh in digital image and video coding
US20050086358A1 (en) * 2003-10-20 2005-04-21 Sightspeed, Inc. Method and apparatus for communicating data between two hosts
US20050086289A1 (en) * 2003-10-20 2005-04-21 Sightspeed, Inc. Method and apparatus for communicating data between two hosts
US20050108764A1 (en) * 2003-10-20 2005-05-19 Aron Rosenberg Methods and apparatus for encoding and decoding video data
US20050117806A1 (en) * 2003-10-20 2005-06-02 Aron Rosenberg Methods and apparatus for encoding and decoding video data
US20050117626A1 (en) * 2001-11-20 2005-06-02 Isamu Kobayashi Thermometer
US6904040B2 (en) * 2001-10-05 2005-06-07 International Business Machines Corporaiton Packet preprocessing interface for multiprocessor network handler
US20050125532A1 (en) * 2000-05-26 2005-06-09 Gur Kimchi Traversing firewalls and nats
US6973484B1 (en) * 2000-12-29 2005-12-06 3Pardata, Inc. Method of communicating data in an interconnect system
US20060075127A1 (en) * 2004-09-30 2006-04-06 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US20060215652A1 (en) * 2005-03-22 2006-09-28 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US7239662B2 (en) * 2001-08-23 2007-07-03 Polycom, Inc. System and method for video error concealment
US7272650B2 (en) * 2001-04-17 2007-09-18 Intel Corporation Communication protocols operable through network address translation (NAT) type devices
US7302496B1 (en) * 2002-11-12 2007-11-27 Cisco Technology, Inc. Arrangement for discovering a localized IP address realm between two endpoints
US7328280B2 (en) * 2003-01-15 2008-02-05 Matsushita Electric Industrial Co., Ltd. Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US7388853B2 (en) * 2000-04-07 2008-06-17 Broadcom Corporation Method for providing dynamic adjustment of frame encoding parameters in a frame-based communications network
US7626805B2 (en) * 2003-12-29 2009-12-01 Atrato, Inc. Disk-drive system supporting massively parallel video streams and method
US7728468B2 (en) * 2004-10-28 2010-06-01 Siemens Aktiengesellschaft Laminations with integrated spacing feature for an electric machine, and method of making a lamination

Patent Citations (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3017456A (en) * 1958-03-24 1962-01-16 Technicolor Corp Bandwidth reduction system for television signals
US4813056A (en) * 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
US5497434A (en) * 1992-05-05 1996-03-05 Acorn Computers Limited Image data compression
US5778143A (en) * 1993-01-13 1998-07-07 Hitachi America, Ltd. Method and apparatus for the selection of data for use in VTR trick playback operation in a system using progressive picture refresh
US5528284A (en) * 1993-02-10 1996-06-18 Hitachi, Ltd. Video communication method having refresh function of coding sequence and terminal devices thereof
US6209021B1 (en) * 1993-04-13 2001-03-27 Intel Corporation System for computer supported collaboration
US5592225A (en) * 1993-09-30 1997-01-07 Matsushita Electric Industrial Co., Ltd. Device and method for controlling coding
US5991308A (en) * 1995-08-25 1999-11-23 Terayon Communication Systems, Inc. Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
US6487316B1 (en) * 1995-09-18 2002-11-26 Oki Electric Industry Co, Ltd. Picture decoder for a picture transmission system
US5790180A (en) * 1995-12-28 1998-08-04 At&T Corp. Video telephone call handling system and method
US5740278A (en) * 1996-02-16 1998-04-14 Cornell Research Foundation, Inc. Facsimile-based video compression method and system
US5990852A (en) * 1996-10-31 1999-11-23 Fujitsu Limited Display screen duplication system and method
US6061739A (en) * 1997-11-26 2000-05-09 International Business Machines Corp. Network address assignment using physical address resolution protocols
US6259736B1 (en) * 1998-01-30 2001-07-10 Kabushiki Kaisha Toshiba Video encoder and video encoding method
US6058421A (en) * 1998-02-04 2000-05-02 3Com Corporation Method and system for addressing network host interfaces from a cable modem using DHCP
US6775276B1 (en) * 1998-05-27 2004-08-10 3Com Corporation Method and system for seamless address allocation in a data-over-cable system
US6826620B1 (en) * 1998-08-26 2004-11-30 Paradyne Corporation Network congestion control system and method
US6243749B1 (en) * 1998-10-08 2001-06-05 Cisco Technology, Inc. Dynamic network address updating
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6654891B1 (en) * 1998-10-29 2003-11-25 Nortel Networks Limited Trusted network binding using LDAP (lightweight directory access protocol)
US20040022237A1 (en) * 1998-11-20 2004-02-05 Level 3 Communications, Inc. Voice over data telecommunications network architecture
US6766519B1 (en) * 1999-03-26 2004-07-20 Emc Corporation Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation
US7388853B2 (en) * 2000-04-07 2008-06-17 Broadcom Corporation Method for providing dynamic adjustment of frame encoding parameters in a frame-based communications network
US20020059587A1 (en) * 2000-05-24 2002-05-16 Virtual Clinic, Inc. Method and apparatus for providing personalized services
US20050125532A1 (en) * 2000-05-26 2005-06-09 Gur Kimchi Traversing firewalls and nats
US6845237B2 (en) * 2000-10-09 2005-01-18 Koninklijke Philips Electronics N.V. Method for the communication of information and apparatus employing the method
US20020042283A1 (en) * 2000-10-09 2002-04-11 Koninklijke Philips Electronics N.V. Method for the communication of information and apparatus employing the method
US20020067405A1 (en) * 2000-12-04 2002-06-06 Mcdiarmid James Michael Internet-enabled portable audio/video teleconferencing method and apparatus
US6973484B1 (en) * 2000-12-29 2005-12-06 3Pardata, Inc. Method of communicating data in an interconnect system
US7272650B2 (en) * 2001-04-17 2007-09-18 Intel Corporation Communication protocols operable through network address translation (NAT) type devices
US20040117653A1 (en) * 2001-07-10 2004-06-17 Packet Technologies Ltd. Virtual private network mechanism incorporating security association processor
US6842484B2 (en) * 2001-07-10 2005-01-11 Motorola, Inc. Method and apparatus for random forced intra-refresh in digital image and video coding
US7107464B2 (en) * 2001-07-10 2006-09-12 Telecom Italia S.P.A. Virtual private network mechanism incorporating security association processor
US7239662B2 (en) * 2001-08-23 2007-07-03 Polycom, Inc. System and method for video error concealment
US6904040B2 (en) * 2001-10-05 2005-06-07 International Business Machines Corporaiton Packet preprocessing interface for multiprocessor network handler
US20050117626A1 (en) * 2001-11-20 2005-06-02 Isamu Kobayashi Thermometer
US6693663B1 (en) * 2002-06-14 2004-02-17 Scott C. Harris Videoconferencing systems with recognition ability
US20040015979A1 (en) * 2002-07-22 2004-01-22 Te-Cheng Shen System and method for efficiently exchanging data among processes
US20040022222A1 (en) * 2002-07-31 2004-02-05 Allister Clisham Wireless metropolitan area network system and method
US20040022250A1 (en) * 2002-07-31 2004-02-05 Weijing Chen Resource reservation protocol based guaranteed quality of service internet protocol connections over a switched network
US7302496B1 (en) * 2002-11-12 2007-11-27 Cisco Technology, Inc. Arrangement for discovering a localized IP address realm between two endpoints
US7328280B2 (en) * 2003-01-15 2008-02-05 Matsushita Electric Industrial Co., Ltd. Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US7283489B2 (en) * 2003-03-31 2007-10-16 Lucent Technologies Inc. Multimedia half-duplex sessions with individual floor controls
US20040190489A1 (en) * 2003-03-31 2004-09-30 Palaez Mariana Benitez Multimedia half-duplex sessions with individual floor controls
US20050086358A1 (en) * 2003-10-20 2005-04-21 Sightspeed, Inc. Method and apparatus for communicating data between two hosts
US20050108764A1 (en) * 2003-10-20 2005-05-19 Aron Rosenberg Methods and apparatus for encoding and decoding video data
US20050086289A1 (en) * 2003-10-20 2005-04-21 Sightspeed, Inc. Method and apparatus for communicating data between two hosts
US7634146B2 (en) * 2003-10-20 2009-12-15 Logitech Europe S.A. Methods and apparatus for encoding and decoding video data
US20050117806A1 (en) * 2003-10-20 2005-06-02 Aron Rosenberg Methods and apparatus for encoding and decoding video data
US7626805B2 (en) * 2003-12-29 2009-12-01 Atrato, Inc. Disk-drive system supporting massively parallel video streams and method
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US20060075127A1 (en) * 2004-09-30 2006-04-06 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7728468B2 (en) * 2004-10-28 2010-06-01 Siemens Aktiengesellschaft Laminations with integrated spacing feature for an electric machine, and method of making a lamination
US20060215652A1 (en) * 2005-03-22 2006-09-28 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device

Cited By (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966557B2 (en) 2001-01-22 2015-02-24 Sony Computer Entertainment Inc. Delivery of digital content
US20100285872A1 (en) * 2002-04-26 2010-11-11 Dhupelia Shekhar V Method for Authenticating a User in an Interactive Gaming Environment
US7930345B2 (en) 2002-04-26 2011-04-19 Sony Computer Entertainment America Llc Method for authenticating a user in an interactive gaming environment
US20090006545A1 (en) * 2002-04-26 2009-01-01 Dhupelia Shekhar V Creating an interactive gaming environment
US7962549B2 (en) 2002-04-26 2011-06-14 Sony Computer Entertainment America Llc Method for ladder ranking in a game
US7877509B2 (en) 2002-04-26 2011-01-25 Sony Computer Entertainment America Llc Balancing distribution of participants in a gaming environment
US20080280686A1 (en) * 2002-04-26 2008-11-13 Dhupelia Shekhar V Balancing distribution of participants in a gaming environment
US7822809B2 (en) 2002-04-26 2010-10-26 Sony Computer Entertainment America Llc Creating an interactive gaming environment
US20060190540A1 (en) * 2002-05-17 2006-08-24 Sony Computer Entertainment America Inc. Managing participants in an online session
US8793315B2 (en) 2002-05-17 2014-07-29 Sony Computer Entertainment America Llc Managing participants in an online session
US20100287239A1 (en) * 2002-05-17 2010-11-11 Masayuki Chatani Managing Participants in an Online Session
US9762631B2 (en) 2002-05-17 2017-09-12 Sony Interactive Entertainment America Llc Managing participants in an online session
US20060173958A1 (en) * 2002-05-17 2006-08-03 Masayuki Chatani Managing participants in an online session
US7831666B2 (en) 2002-05-17 2010-11-09 Sony Computer Entertainment America Inc. Managing participants in an online session
US7792902B2 (en) 2002-05-17 2010-09-07 Sony Computer Entertainment America Llc Managing participants in an online session
US8972548B2 (en) 2002-07-31 2015-03-03 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US9516068B2 (en) 2002-07-31 2016-12-06 Sony Interactive Entertainment America Llc Seamless host migration based on NAT type
US9729621B2 (en) 2002-07-31 2017-08-08 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US8239541B2 (en) * 2003-11-07 2012-08-07 Panasonic Corporation Bidirectional connection setup between endpoints behind network address translators (NATs)
US8234383B2 (en) 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
US20060288103A1 (en) * 2003-11-07 2006-12-21 Kunio Gobara Communication system, information processing apparatus, server, and communication method
US20070091798A1 (en) * 2003-11-07 2007-04-26 Kunio Gobara Communication system, information processing apparatus, server, and communication method
US20090296606A1 (en) * 2004-06-29 2009-12-03 Damaka, Inc. System and method for peer-to-peer hybrid communications
US20070165629A1 (en) * 2004-06-29 2007-07-19 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US8432917B2 (en) 2004-06-29 2013-04-30 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US9432412B2 (en) 2004-06-29 2016-08-30 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US9172703B2 (en) 2004-06-29 2015-10-27 Damaka, Inc. System and method for peer-to-peer hybrid communications
US8867549B2 (en) 2004-06-29 2014-10-21 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US20070078720A1 (en) * 2004-06-29 2007-04-05 Damaka, Inc. System and method for advertising in a peer-to-peer hybrid communications network
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US8467387B2 (en) 2004-06-29 2013-06-18 Damaka, Inc. System and method for peer-to-peer hybrid communications
US9172702B2 (en) 2004-06-29 2015-10-27 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US9497181B2 (en) 2004-06-29 2016-11-15 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US9106509B2 (en) 2004-06-29 2015-08-11 Damaka, Inc. System and method for data transfer in a peer-to-peer hybrid communication network
US7778187B2 (en) * 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US8000325B2 (en) * 2004-06-29 2011-08-16 Damaka, Inc. System and method for peer-to-peer hybrid communications
US8406229B2 (en) 2004-06-29 2013-03-26 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US8218444B2 (en) 2004-06-29 2012-07-10 Damaka, Inc. System and method for data transfer in a peer-to-peer hybrid communication network
US20060010204A1 (en) * 2004-07-06 2006-01-12 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
US8316088B2 (en) * 2004-07-06 2012-11-20 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
US8948132B2 (en) 2005-03-15 2015-02-03 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US7957406B2 (en) 2005-03-22 2011-06-07 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US20100220721A1 (en) * 2005-03-22 2010-09-02 Logitech Europe S.A. Method and Apparatus for Packet traversal of A Network Address Translation Device
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8180295B2 (en) * 2007-07-19 2012-05-15 Sony Computer Entertainment Inc. Bluetooth enabled computing system and associated methods
US20090023499A1 (en) * 2007-07-19 2009-01-22 Sony Computer Entertainment Inc. Bluetooth Enabled Computing System and Associated Methods
US8565190B2 (en) 2007-07-27 2013-10-22 Sony Computer Entertainment Inc. NAT traversal for mobile network devices
US20110200009A1 (en) * 2007-07-27 2011-08-18 Sony Computer Entertainment Inc. Nat traversal for mobile network devices
US7933273B2 (en) 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US20090028167A1 (en) * 2007-07-27 2009-01-29 Sony Computer Entertainment Inc. Cooperative nat behavior discovery
US8437307B2 (en) 2007-09-03 2013-05-07 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US9648051B2 (en) 2007-09-28 2017-05-09 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US8862164B2 (en) 2007-09-28 2014-10-14 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US10063631B2 (en) 2007-10-05 2018-08-28 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US20090113060A1 (en) * 2007-10-05 2009-04-30 Mark Lester Jacob Systems and Methods for Seamless Host Migration
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8380859B2 (en) 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US9264458B2 (en) 2007-11-28 2016-02-16 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US9654568B2 (en) 2007-11-28 2017-05-16 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US8171123B2 (en) 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US20090144425A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network bandwidth detection, distribution and traffic prioritization
US8943206B2 (en) 2007-12-04 2015-01-27 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US7856501B2 (en) 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization
US7908393B2 (en) 2007-12-04 2011-03-15 Sony Computer Entertainment Inc. Network bandwidth detection, distribution and traffic prioritization
US8005957B2 (en) 2007-12-04 2011-08-23 Sony Computer Entertainment Inc. Network traffic prioritization
US20090144423A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network traffic prioritization
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8015300B2 (en) 2008-03-05 2011-09-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US20090228593A1 (en) * 2008-03-05 2009-09-10 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8930545B2 (en) 2008-03-05 2015-01-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8060626B2 (en) * 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US9591381B2 (en) 2008-11-26 2017-03-07 Free Stream Media Corp. Automated discovery and launch of an application on a network enabled device
US9589456B2 (en) 2008-11-26 2017-03-07 Free Stream Media Corp. Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US9967295B2 (en) 2008-11-26 2018-05-08 David Harrison Automated discovery and launch of an application on a network enabled device
US10032191B2 (en) 2008-11-26 2018-07-24 Free Stream Media Corp. Advertisement targeting through embedded scripts in supply-side and demand-side platforms
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US9576473B2 (en) 2008-11-26 2017-02-21 Free Stream Media Corp. Annotation of metadata through capture infrastructure
US9686596B2 (en) 2008-11-26 2017-06-20 Free Stream Media Corp. Advertisement targeting through embedded scripts in supply-side and demand-side platforms
US9703947B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9706265B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Automatic communications between networked devices such as televisions and mobile devices
US9716736B2 (en) 2008-11-26 2017-07-25 Free Stream Media Corp. System and method of discovery and launch associated with a networked media device
US10074108B2 (en) 2008-11-26 2018-09-11 Free Stream Media Corp. Annotation of metadata through capture infrastructure
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10142377B2 (en) 2008-11-26 2018-11-27 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9866925B2 (en) 2008-11-26 2018-01-09 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9167419B2 (en) 2008-11-26 2015-10-20 Free Stream Media Corp. Discovery and launch system and method
US9854330B2 (en) 2008-11-26 2017-12-26 David Harrison Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9258383B2 (en) 2008-11-26 2016-02-09 Free Stream Media Corp. Monetization of television audience data across muliple screens of a user watching television
US9838758B2 (en) 2008-11-26 2017-12-05 David Harrison Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9848250B2 (en) 2008-11-26 2017-12-19 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9560425B2 (en) 2008-11-26 2017-01-31 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US20100241710A1 (en) * 2009-02-14 2010-09-23 Bvisual S.A. Method and system for videoconferencing or data transfer between clients behind different network address translators
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US20110153831A1 (en) * 2009-12-23 2011-06-23 Rishi Mutnuru Systems and methods for mixed mode of ipv6 and ipv4 dns of global server load balancing
US20110161500A1 (en) * 2009-12-23 2011-06-30 Sreedhar Yengalasetti Systems and methods for managing ports for rtsp across cores in a multi-core system
US9098335B2 (en) 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
US20110149737A1 (en) * 2009-12-23 2011-06-23 Manikam Muthiah Systems and methods for managing spillover limits in a multi-core system
US8825859B2 (en) 2009-12-23 2014-09-02 Citrix Systems, Inc. System and methods for mixed mode of IPv6 and IPv4 DNS of global server load balancing
US8635344B2 (en) * 2009-12-23 2014-01-21 Citrix Systems, Inc. Systems and methods for managing ports for RTSP across cores in a multi-core system
US9407679B2 (en) * 2009-12-23 2016-08-02 Citrix Systems, Inc. Systems and methods for managing ports for RTSP across cores in a multi-core system
US20140115122A1 (en) * 2009-12-23 2014-04-24 Citrix Systems, Inc. Systems and methods for managing ports for rtsp across cores in a multi-core system
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US10050872B2 (en) 2010-02-15 2018-08-14 Damaka, Inc. System and method for strategic routing in a peer-to-peer environment
US9866629B2 (en) 2010-02-15 2018-01-09 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US10027745B2 (en) 2010-02-15 2018-07-17 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8689307B2 (en) 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US20110231917A1 (en) * 2010-03-19 2011-09-22 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US10033806B2 (en) 2010-03-29 2018-07-24 Damaka, Inc. System and method for session sweeping between devices
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US9356972B1 (en) 2010-04-16 2016-05-31 Damaka, Inc. System and method for providing enterprise voice call continuity
US9781173B2 (en) 2010-04-16 2017-10-03 Damaka, Inc. System and method for providing enterprise voice call continuity
US9781258B2 (en) 2010-04-29 2017-10-03 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8824487B1 (en) * 2010-04-29 2014-09-02 Centurylink Intellectual Property Llc Multi-access gateway for direct to residence communication services
US9015258B2 (en) 2010-04-29 2015-04-21 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US9948684B2 (en) 2010-04-29 2018-04-17 Centurylink Intellectual Property Llc Multi-access gateway for direct to residence communication services
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US9467481B2 (en) 2010-04-29 2016-10-11 Centurylink Intellectual Property Llc Multi-access gateway for direct to residence communication services
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US10148628B2 (en) 2010-06-23 2018-12-04 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US9143489B2 (en) 2010-06-23 2015-09-22 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US9712507B2 (en) 2010-06-23 2017-07-18 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US9128927B2 (en) 2010-09-24 2015-09-08 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US9031005B2 (en) 2010-10-11 2015-05-12 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US9497127B2 (en) 2010-10-11 2016-11-15 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US9742846B2 (en) 2011-04-04 2017-08-22 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US10097638B2 (en) 2011-04-04 2018-10-09 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US9356997B2 (en) 2011-04-04 2016-05-31 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US9210268B2 (en) 2011-05-17 2015-12-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US9354952B2 (en) 2011-11-30 2016-05-31 Red Hat Israel, Ltd. Application-driven shared device queue polling
US9009702B2 (en) 2011-11-30 2015-04-14 Red Hat Israel, Ltd. Application-driven shared device queue polling in a virtualized computing environment
US8924501B2 (en) * 2011-11-30 2014-12-30 Red Hat Israel, Ltd. Application-driven shared device queue polling
US20130138760A1 (en) * 2011-11-30 2013-05-30 Michael Tsirkin Application-driven shared device queue polling
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9578092B1 (en) 2013-07-16 2017-02-21 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9491233B2 (en) 2013-07-16 2016-11-08 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9825876B2 (en) 2013-10-18 2017-11-21 Damaka, Inc. System and method for virtual parallel resource management
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US10355882B2 (en) 2014-08-05 2019-07-16 Damaka, Inc. System and method for providing unified communications and collaboration (UCC) connectivity between incompatible systems
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality

Also Published As

Publication number Publication date
US20060075127A1 (en) 2006-04-06
US7543064B2 (en) 2009-06-02

Similar Documents

Publication Publication Date Title
Holdrege et al. Protocol complications with the IP network address translator
US7042876B1 (en) Stateful network address translation protocol implemented over a data network
JP4908724B2 (en) Method and apparatus for facilitating peer-to-peer application communication
ES2309899T3 (en) Interface adaptation of virtual and physical network.
EP1017206B1 (en) Method and apparatus for connecting a home network to the internet
US8185635B2 (en) Transport system for instant messaging
US7856506B2 (en) Traversal of symmetric network address translator for multiple simultaneous connections
US7706373B2 (en) Session initiation and maintenance while roaming
US8804705B2 (en) System and method for configuring an IP telephony device
EP2230822B1 (en) Establishing a connection traversing a network address translation gateway
US8009586B2 (en) System and method for data transfer in a peer-to peer hybrid communication network
US6687245B2 (en) System and method for performing IP telephony
CN102984289B (en) A method of promoting penetration and mobile devices nat
US20030055984A1 (en) Entertainment system
KR101397834B1 (en) Apparatus and method for managing peer-to-peer connections between different service providers
KR101408490B1 (en) Apparatus and method for matching users for online sessions
JP4083737B2 (en) Peer-to-peer network communication using network address translation (nat)
Audet et al. Network address translation (NAT) behavioral requirements for unicast UDP
US8095681B2 (en) Load balancing server and system
US20090157887A1 (en) Control for the interface for sending an SIP reply message
EP1504586B1 (en) Network configuration evaluation
US20060075055A1 (en) System and method for integration of instant messaging and virtual environment clients
US7441270B1 (en) Connectivity in the presence of barriers
CN1327679C (en) Method and apparatus to permit data transmission to transverse firewalls
US8356103B2 (en) NAT traversal for media conferencing

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION