METHOD FOR TRANSMITTING REAL-TIME STREAMING DATA AND APPARATUS USING THE SAME

Information

  • Patent Application
  • 20070147263
  • Publication Number
    20070147263
  • Date Filed
    June 23, 2006
    17 years ago
  • Date Published
    June 28, 2007
    16 years ago
Abstract
A method and an apparatus for transmitting real-time streaming data are provided. The apparatus has a first terminal, a second terminal, and a relay server. Real-time streaming transmission paths between the first terminal and the relay server as well as between the second terminal and the relay server are established, and the first and the second terminals can obtain information from each other. Whether the first and the second terminals are directly connectable or tested. When the first and the second terminals can be connected directly, the first terminal alters the real-time streaming transmission path directly to the second terminal without passing through the relay server. When the second terminal can be connected directly to the first terminal, the second terminal alters the real-time streaming data transmission path directly to the first terminal with passing through the relay server.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.



FIG. 1 is a diagram of a conventional real-time streaming data transmission path through a relay server.



FIG. 2 is a diagram illustrating the basic flow of the present invention.



FIG. 3A is a flowchart illustrating step S100 in FIG. 2.



FIG. 3B is a flowchart illustrating step S200 in FIG. 2.



FIG. 3C is another flowchart illustrating step S200 in FIG. 2.



FIG. 3D is a flowchart illustrating step S300 in FIG. 2.



FIG. 4 is a timing diagram illustrating step S100 in FIG. 2.



FIG. 5A is a diagram illustrating the concept of DNS query.



FIG. 5B is a timing diagram of connectability test by using a special packet.



FIG. 5C is a timing diagram of changing a transmission path.



FIG. 6 is a schematic diagram of a hardware employing the steaming packet transmission method of the present invention.



FIG. 7 is an interactive flowchart about establishing the streaming data transmission path under the structure as shown in FIG. 6.



FIG. 8 is another interactive flowchart about establishing the streaming data transmission path under the structure as shown in FIG. 6.


Claims
  • 1. A method for transmitting a real-time streaming packet, adapted for a configuration having a first terminal, a second terminal, and a relay server, the method comprising: (a) establishing a signaling exchange path between the first terminal and the relay server and between the second terminal and the relay server, wherein the first and the second terminal are able to obtain information of each other;(b) testing whether a direct connection from the first terminal to the second terminal or from the second terminal to the first terminal can be established or not; and(c) when the first terminal is directly connectable to the second terminal, the first terminal changing a streaming data transmission path to directly connect to the second terminal without going through the relay server, and when the second terminal is directly connectable to the first terminal, the second terminal changing the streaming data transmission path to directly connect to the first terminal without going through the relay server.
  • 2. The real-time streaming packet transmission method as claimed in claim 1 further comprising: after the first and the second terminals obtain information of the relay server and the opposite terminal, the first and the second terminals establishing the streaming data transmission channel through the relay server.
  • 3. The real-time streaming packet transmission method as claimed in claim 1 further comprising: if the streaming data transmission channel is not established in the step (a) by the first or the second terminal, it being not necessary to acknowledge the relay server of changing the streaming data transmission path.
  • 4. The real-time streaming packet transmission method as claimed in claim 1, wherein step (a) further comprising: the first terminal acknowledging the relay server of that the first terminal is going to establish a real-time streaming data transmission path with the second terminal;the relay server attaching the information of both the relay server and the first terminal to a signaling packet and transmitting the signaling packet having the information of the first terminal and the relay server to the second terminal;after the second terminal has received the signaling packet sent by the first terminal, the second terminal responding to the relay server and attaching the information of the second terminal to a signaling packet, and sending the signaling packet to the relay server;the relay server attaching the information of the second terminal and the relay server to the signaling packet sent by the second terminal, and transmitting the signaling packet having the information of the relay server and the second terminal to the first terminal; andif there is no real-time streaming data transmission path existing between the first and the second terminal yet, the first terminal choosing to establish a real-time streaming data transmission path with the relay server first or choosing to establish the real-time streaming data transmission path after performing testing in the step (b), or the second terminal choosing to establish a real-time streaming data transmission path with the relay server or choosing to establish the transmission path after performing the testing in the step (b).
  • 5. The real-time streaming packet transmission method as claimed in claim 1, wherein the step (b) further comprising: the first terminal acknowledging the second terminal of domain information of the first terminal;the second terminal querying domain information of the first terminal; andwhen the domain information acknowledged by the first terminal is consistent with the domain information queried by the second terminal, the first terminal determining that the second terminal is directly connectable.
  • 6. The real-time streaming packet transmission method as claimed in claim 1, wherein the step (b) further comprising: the first terminal sending a special packet to the second terminal according to the information of the second terminal obtained in the step (a);if the second terminal receives the special packet and responds to the first terminal, the first terminal determining that the second terminal is directly connectable.
  • 7. The real-time streaming packet transmission method as claimed in claim 1, wherein the step (c) further comprising: when the first terminal determining that the second terminal is directly connectable and a real-time streaming data transmission path through the relay server existing between the first and the second terminal, the first terminal sending an acknowledge signal to the relay server and requesting the relay server to release the real-time streaming packet transmission path;after the first terminal has received the response of the relay server, the first terminal changing the real-time streaming packet transmission path to directly transmit the real-time streaming packet to the second terminal without going through the second terminal; if there is no real-time streaming transmission path existing between the first and the second terminal yet, the first terminal directly establishing the streaming data transmission path with the second terminal without acknowledging the relay server.
  • 8. The real-time streaming packet transmission method as claimed in claim 7, wherein when the first terminal determines that the second terminal is not able to be connected directly, the first terminal maintains the real-time streaming packet transmission path to the second terminal through the relay server.
  • 9. The real-time streaming packet transmission method as claimed in claim 1, wherein the information of the first terminal, the second terminal, and the relay server includes Internet addresses and port numbers.
  • 10. A real-time streaming packet transmission apparatus, comprising: a relay server configured on the Internet, for relaying a real-time streaming packet;a first terminal connected to the relay server through the Internet, wherein when the first terminal sends a request signal to the relay server to establish a real-time streaming transmission path, information of the first terminal is attached to a signaling packet to be sent to the relay server; anda second terminal connected to the relay server through the Internet, wherein the relay server attaches information of the relay server to the signaling packet having the information of the first terminal and sends the signal packet having the information of the first terminal and the relay server to the second terminal, and the second terminal transmits its own information back to the first terminal through the relay server;wherein the first and the second terminal respectively test whether the second and the first terminal are directly connectable or not according to the received information of the second and the first terminal, when the first terminal is directly connectable to the second terminal, the first terminal changes the streaming transmission path to directly connect to the second terminal without going through the relay server, and when the second terminal is directly connectable to the first terminal, the second terminal changes the streaming data transmission path to directly connect to the first terminal without going through the relay server.
  • 11. The real-time streaming packet transmission apparatus as claimed in claim 10, wherein a DNS query is used for testing whether the second terminal is able to be directly connected to the first terminal or not, and wherein the first terminal acknowledges the second terminal of domain information of the first terminal, the second terminal queries for the domain information of the first terminal, and when the domain information acknowledged by the first terminal and the domain information queried by the second terminal are identical, the first terminal determines that the second terminal is directly connectable.
  • 12. The real-time streaming packet transmission apparatus as claimed in claim 10, wherein a special request is used for testing whether the second terminal is able to be directly connected to the first terminal, and wherein the first terminal sends a special packet to the second terminal according to the obtained information of the second terminal, if the second terminal receives the special packet and responds to the first terminal, the first terminal determines that the second terminal is directly connectable.
  • 13. The real-time streaming packet transmission apparatus as claimed in claim 10, wherein when the first terminal determines that the second terminal is directly connectable, the first terminal sends an acknowledge signal to the relay server and requests the relay server to release the real-time streaming transmission path, and after the first terminal has received the response of the relay server, the first terminal changes the real-time streaming transmission path to directly transmit the real-time streaming packet to the second terminal without going through the relay server.
  • 14. The real-time streaming packet transmission apparatus as claimed in claim 13, wherein when the first terminal determines that the second terminal is not able to be connected directly, the first terminal maintains the real-time streaming transmission path to the second terminal through the relay server.
  • 15. The real-time streaming packet transmission apparatus as claimed in claim 10, wherein when there is no real-time streaming transmission path through the relay server existing between the first and the second terminal, and the second terminal is determined being not directly connectable, the first terminal has to establish the real-time streaming transmission path with the relay server for transmitting real-time streaming data.
  • 16. The real-time streaming packet transmission apparatus as claimed in claim 10, wherein the information of the first terminal, the second terminal, and the relay server includes Internet addresses and port numbers.
Priority Claims (1)
Number Date Country Kind
94146907 Dec 2005 TW national