Supporting real-time multimedia applications via a network address translator
First Claim
Patent Images
1. A method, comprising:
- sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
sending, upon receiving the first signaling, a second signaling from the second address to the first address, via the public address, with the information about a second port at the second address;
sending, upon receiving the second signaling, a packet from the first port at the first address to the second port at the second address via the public address to establish a data channel between the first port of the first address and the second port of the second address; and
streaming data between the first port at the first address and the second port at the second address via the data channel using a receiving address.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement is provided for enabling real-time data streaming via network address translator. Existing network address translator configuration is utilized to perform user datagram protocol priming after a TCP connection is established. The user datagram protocol priming establishes a data channel, through which data can be streamed between two network end points via an existing network address translator.
-
Citations
38 Claims
-
1. A method, comprising:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
sending, upon receiving the first signaling, a second signaling from the second address to the first address, via the public address, with the information about a second port at the second address;
sending, upon receiving the second signaling, a packet from the first port at the first address to the second port at the second address via the public address to establish a data channel between the first port of the first address and the second port of the second address; and
streaming data between the first port at the first address and the second port at the second address via the data channel using a receiving address. - View Dependent Claims (2, 3, 4, 20, 21)
-
-
5. A method, comprising:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
receiving, at the first address, a second signaling from the second address to acknowledge the first signaling, via the public address, with the information about a second port at the second address; and
sending, upon receiving the second signaling, a packet from the first port at the first address to the second port at the second address using the public address to establish a data channel between the first port and the second port;
sending, from the first port at the first address, streaming data to the second port at the second address through the data channel using the public address; and
receiving, at the first port at the first address, streaming data from the second port at the second address through the data channel via the public address. - View Dependent Claims (6)
-
-
7. A method, comprising:
-
receiving a first signaling sent from a first address to a second address, via a public address of a network address translator, with the information about a first port at the first address;
sending, from the second address, a second signaling to acknowledge the first signaling, via the public address, with the information about a second port at the second address;
receiving a packet sent from the first port at the first address to the second port of the second address to establish a data channel between the first port and the second port;
receiving, at the second port at the second address, streaming data from the first port at the first address through the data channel via a receiving address; and
sending, from the second port at the second address, streaming data to the first port at the first address through the data channel using the receiving address. - View Dependent Claims (8)
-
-
9. A method, comprising:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
selecting an listening port at the second address from a plurality of ports that are listened at the second address;
sending a packet from the first port at the first address to the listening port at the second address to establish a data channel between the first port and the listening port;
receiving the packet at the listening port at the second address; and
starting data streaming between the first port at the first address and the second port at the second address via the data channel using a receiving address. - View Dependent Claims (10, 11)
-
-
12. A method, comprising:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
selecting an listening port at the second address within a range of ports that are listened at the second address;
sending a packet from the first port at the first address to the listening port at the second address to establish a data channel between the first port and the listening channel;
sending, from the first port at the first address, streaming data to the second port at the second address through the data channel using the public address; and
receiving, at the first port at the first address, streaming data from the second port at the second address through the data channel via the public address. - View Dependent Claims (13)
-
-
14. A method, comprising:
-
listening to a plurality of ports;
receiving a packet, sent from a first port at a first address to a second address, at one of the plurality of ports at the second address to establish a data channel between the first port and an listening port at which the packet is received;
determining, upon receiving the packet, a receiving address that represents the first port of the first address;
receiving, at the second port at the second address, streaming data from the first port at the first address through the data channel via a receiving address; and
sending, from the second port at the second address, streaming data to the first port at the first address through the data channel using the receiving address. - View Dependent Claims (15)
-
-
16. A method, comprising:
-
issuing a first signaling from a first address to a second address via a public address of a network address translator to establish a data channel between the first address and the second address;
receiving the first signaling at the second address;
maintaining the data channel; and
sending a call signaling from the second address to the first address via the data channel to initiate a data streaming session; and
starting data streaming via the data channel. - View Dependent Claims (17, 18)
-
-
19. A computer-readable medium encoded with a program, the program, when executed, causing:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
sending, upon receiving the first signaling, a second signaling from the second address to the first address, via the public address, with the information about a second port at the second address;
sending, upon receiving the second signaling, a packet from the first port at the first address to the second port at the second address via the public address to establish a data channel between the first port of the first address and the second port of the second address; and
streaming data between the first port at the first address and the second port at the second address via the data channel using a receiving address.
-
-
22. A computer-readable medium encoded with a program, the program, when executed, causing:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
receiving, at the first address, a second signaling from the second address to acknowledge the first signaling, via the public address, with the information about a second port at the second address;
sending, upon receiving the second signaling, a packet from the first port at the first address to the second port at the second address using the public address to establish a data channel between the first port and the second port;
sending, from the first port at the first address, streaming data to the second port at the second address through the data channel using the public address; and
receiving, at the first port at the first address, streaming data from the second port at the second address through the data channel via the public address. - View Dependent Claims (23)
-
-
24. A computer-readable medium encoded with a program, the program, when executed, causing:
-
receiving a first signaling sent from a first address to a second address, via a public address of a network address translator, with the information about a first port at the first address;
sending, from the second address, a second signaling to acknowledge the first signaling, via the public address, with the information about a second port at the second address;
receiving a packet sent from the first port at the first address to the second port of the second address to establish a data channel between the first port and the second port;
receiving, at the second port at the second address, streaming data from the first port at the first address through the data channel via a receiving address; and
sending, from the second port at the second address, streaming data to the first port at the first address through the data channel using the receiving address. - View Dependent Claims (25)
-
-
26. A computer-readable medium encoded with a program, the program, when executed, causing:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
selecting an listening port at the second address from a plurality of ports that are listened at the second address;
sending a packet from the first port at the first address to the listening port at the second address to establish a data channel between the first port and the listening port;
receiving the packet at the listening port at the second address; and
starting data streaming between the first port at the first address and the second port at the second address via the data channel using a receiving address. - View Dependent Claims (27)
-
-
28. A computer-readable medium encoded with a program, the program, when executed, causing:
-
sending a first signaling from a first address to a second address, using an public address of a network address translator, with the information about a first port at the first address;
selecting an listening port at the second address within a range of ports that are listened at the second address;
sending a packet from the first port at the first address to the listening port at the second address to establish a data channel between the first port and the listening channel;
sending, from the first port at the first address, streaming data to the second port at the second address through the data channel using the public address; and
receiving, at the first port at the first address, streaming data from the second port at the second address through the data channel via the public address. - View Dependent Claims (29)
-
-
30. A computer-readable medium encoded with a program, the program, when executed, causing:
-
listening to a plurality of ports;
receiving a packet, sent from a first port at a first address to a second address, at one of the plurality of ports at the second address to establish a data channel between the first port and an listening port at which the packet is received;
determining, upon receiving the packet, a receiving address that represents the first port of the first address;
receiving, at the second port at the second address, streaming data from the first port at the first address through the data channel via a receiving address; and
sending, from the second port at the second address, streaming data to the first port at the first address through the data channel using the receiving address. - View Dependent Claims (31)
-
-
32. A computer-readable medium encoded with a program, the program, when executed, causing:
-
issuing a first signaling from a first address to a second address via a public address of a network address translator to establish a data channel between the first address and the second address;
receiving the first signaling at the second address;
maintaining the data channel; and
sending a call signaling from the second address to the first address via the data channel to initiate a data streaming session; and
starting data streaming via the data channel. - View Dependent Claims (33)
-
-
34. A system, comprising:
-
a network address translator having a public address for translating between an address and the public address;
a client, connecting to the network address translator using a first address, representing the client, for performing data streaming via the network address translator using the translated public address; and
a server, connecting to the network address translator using a second address, representing the server, for performing data streaming with the client behind the network address translator, the data streaming between the client and the server being enabled via user datagram protocol priming. - View Dependent Claims (35, 36, 37, 38)
-
Specification