US20060106961A1 - Streaming data transfer system and repeater therefor - Google Patents

Streaming data transfer system and repeater therefor Download PDF

Info

Publication number
US20060106961A1
US20060106961A1 US11/314,315 US31431505A US2006106961A1 US 20060106961 A1 US20060106961 A1 US 20060106961A1 US 31431505 A US31431505 A US 31431505A US 2006106961 A1 US2006106961 A1 US 2006106961A1
Authority
US
United States
Prior art keywords
packet
computer
packets
streaming
repeater
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.)
Granted
Application number
US11/314,315
Other versions
US7461185B2 (en
Inventor
Koichi Ebata
Kenji Takeda
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.)
NEC Corp
Original Assignee
NEC Corp
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
Application filed by NEC Corp filed Critical NEC Corp
Priority to US11/314,315 priority Critical patent/US7461185B2/en
Publication of US20060106961A1 publication Critical patent/US20060106961A1/en
Application granted granted Critical
Publication of US7461185B2 publication Critical patent/US7461185B2/en
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6371Control signals issued by the client directed to the server or network components directed to network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Definitions

  • the present invention relates to techniques of data transfer between two computers via a network, and in particular to a system and method of transferring streaming data from one computer to another and a repeater for use in such a data transfer system.
  • RTSP Real-time streaming protocol
  • RFC 2326 Real-time streaming protocol
  • RTP Real-time transport protocol RFC 1889
  • RTSP is a streaming control protocol allowing play, stop, and setup.
  • RTP is a transfer protocol for real-time packet transfer.
  • RealSystemTM of RealNetworks and Windows Media PlayerTM of Microsoft Corporation are available.
  • the client side buffers received streaming packets before it starts playing.
  • Such a buffering method is in general employed (see Japanese Patent Application Unexamined Publication No. 4-188929).
  • a radio link causes a wider range of delay variation in packet delivery compared with fixed environment because the radio link itself exhibits a relatively long delay as well as loss of packet. Accordingly, there are cases where the above conventional delay variation control at the client side cannot compensate for delay variations in packet delivery. Since an amount of delay variation that can be compensated for is dependent on the capacity of a buffer, a wider range of delay variation cannot be compensated for without a larger capacity of a buffer. In mobile environment from which a high performance as in fixed environment cannot be expected, it is difficult to ensure a sufficient capacity of a buffer in a mobile device.
  • delay variation in packet delivery is controlled at some midpoint of a route from the server to the client to improve the quality of streaming data.
  • Internet traffic includes not only streaming data but ordinary data not requiring real-time transmission, it is necessary to discriminate between streaming data and ordinary data, resulting in complicated packet control.
  • An object of the present invention is to provide a data transfer system, a data transfer method, and a repeater for use therein, allowing transfer of streaming data through a network without reducing the quality of played content at a receiving side having a relatively small capacity of a buffer, even if the network exhibits a relatively large delay variation in data delivery.
  • a system for transferring streaming data in packets from a first computer to a second computer through a network includes a repeater provided in the network, the repeater comprising a buffering controller for buffering a received packet for a set time period before forwarding it so that a receiving time interval of packets at the second computer is substantially equal to a sending time interval of packets at the first computer.
  • the set time period is preferably determined depending on a reception condition of the second computer, wherein the second computer notifies the repeater of the reception condition.
  • the second computer preferably has a buffering function of buffering received packets to absorb delay variations of the received packets.
  • the reception condition may include information of an available buffering capacity in the second computer.
  • a repeater through which streaming data in packets is transferred from a first computer to a second computer includes: a flow registration table for storing time information of packets for each streaming flow; a packet memory for storing streaming packets for each streaming flow; a packet analyzer for analyzing a received packet to discriminate a packet related to a streaming flow by searching the flow registration table for address and port number information of the received packet and storing flow information identifying the streaming flow into the flow registration table; a header analyzer for analyzing a header of the packet related to the streaming flow to produce time information of a streaming packet of the streaming flow and store the streaming packet into the packet memory; a packet manager for storing the time information of the streaming packet into the flow registration table and determining the set time period from the time information to produce sending time of the streaming packet; and a packet sending controller for sending the streaming packet to the second computer when the sending time has come under control of the packet manager.
  • the packet analyzer preferably forwards packets other than a packet related to a streaming flow to the second computer.
  • a method for transferring streaming data in packets from a first computer to a second computer through a network includes the steps of: the first computer sending a streaming packet to a repeater; the repeater buffering the streaming packet for a set time period before forwarding it to the second computer so that a receiving time interval of packets at the second computer is substantially equal to a sending time interval of packets at the first computer; and the second computer buffering the streaming packet received from the repeater before reproducing it.
  • the repeater buffers a streaming packet for a set time period before forwarding it to suppress such a great delay variation, resulting in improved quality of application of the receiving side. Since delay variation in packet delivery is suppressed, high-quality play of the delivered content at the receiving side can be obtained even if the receiving side has a relatively small capacity of a buffer provided therein.
  • the repeater can adjust the packet buffering time depending on the reception condition of the receiving side. Accordingly, an absolute delay over the network can be minimized, resulting in reduced capacity of a buffer at the receiving side.
  • the repeater discriminates a packet related to a streaming flow, only streaming flow related packets are buffered at the repeater and other packets are directly transferred. Accordingly, the data transfer system and the repeater can be used in environment transferring various kinds of packets, for example, the Internet.
  • FIG. 1 is a diagram showing an outline of a data transfer system according to the present invention
  • FIG. 2 is a block diagram showing an internal circuit of a repeater according to an embodiment of the present invention
  • FIG. 3A is a block diagram showing an internal circuit of a server computer in the data transfer system of FIG. 1 ;
  • FIG. 3B is a block diagram showing an internal circuit of a client computer in the data transfer system of FIG. 1 ;
  • FIG. 4 is a diagram showing a header format of a RTP packet used in the present embodiment.
  • FIG. 5 is a diagram showing an example of a flow registration table in the repeater.
  • a network including a repeater 1 connects a server device 2 and a client device 3 .
  • the server device 2 starts sending streaming packets of a requested content to the client device 3 through the repeater 1 in the network.
  • the network is typically the Internet.
  • a streaming packet flowing from the server device 2 downstream to the client device 3 is buffered in the repeater 1 so as to adjust sending timing of the received streaming packet.
  • the repeater 1 according to the present invention is allowed to individually buffer a plurality of flows. The details of the repeater 1 will be described later.
  • the streaming packets buffered in the repeater 1 are sent to the client device 3 in adjusted timing.
  • the client device 3 buffers streaming packet before it starts reproducing it to absorb delay variation in packet transmission.
  • the requested real-time content is played by a predetermined application in the client device 3 without interrupted sound or motion. Since the repeater 1 temporarily buffers streaming packets received from the server device 2 , high-quality play of the delivered content at the client device 3 can be obtained even if the client device 3 has a relatively small capacity of a buffer provided therein.
  • the client device 3 may send a reception condition notification packet back to the server side.
  • the repeater 1 adjusts the packet buffering time depending on the reception condition of the client device 3 .
  • the repeater 1 is provided with a packet analyzer 101 , a header analyzer 102 , a packet memory 103 , a flow registration table 104 , a packet manager, a packet sending controller, a server-to-client (downstream) signal reception terminal 107 , a client-to-server (upstream) signal reception terminal 108 , a server-to-client signal sending terminal 109 and a client-to-server signal sending terminal 110 .
  • the packet analyzer 101 when receiving a packet from the reception terminal 107 or 108 , determines whether the received packet is a streaming packet or a feedback information packet related to a flow registered in the flow registration table 104 . When it is a streaming packet or a feedback information packet, the packet analyzer 101 transfers it to the header analyzer 102 . When it is neither a streaming packet nor a feedback information packet, the packet analyzer 101 forwards it to a selected one of the server-to-client sending terminal 109 and the client-to-server sending terminal 110 depending on its destination address. Further, as described in detail later, the packet analyzer 101 registers the address and port number of a streaming flow in the flow registration table 104 depending on whether the received packet uses a port number that is used by streaming transmission control protocol or is conventionally used by a streaming transmission application.
  • the header analyzer 102 analyzes the header of the received streaming packet and notifies the packet manager 105 of information of the received packet such as a sequential number and a time stamp indicating a time instant of the server device 2 sending it.
  • the packet memory 103 buffers streaming packets input from the header analyzer 102 and queues streaming packets for each flow until a sending instruction for a flow has been received from the packet sending controller 106 .
  • a flow is defined as a set of packets related to a certain content transferring between a server device 2 and a client device 3 .
  • the flow registration table 104 contains information related to each streaming flow in table form as shown in FIG. 4 , which will be described in detail later.
  • the packet manager 105 inputs the information of the received streaming packet from the header analyzer 102 and registers it for each flow into the flow registration table 104 .
  • the packet manager 105 also outputs a packet sending instruction for each flow to the packet sending controller 106 when the time to send has come.
  • the packet sending controller 106 when receiving a packet sending instruction for a certain flow from the packet manager 105 , reads a head packet of a queue for the flow from the packet memory 103 and forwards it to the server-to-client signal sending terminal 109 .
  • a packet sent from the server device 2 toward the client device 3 is received at the server-to-client signal reception terminal 107 and is forwarded to the packet analyzer 101 .
  • a packet sent from the client device 3 toward the server device 2 is received at the client-to-server signal reception terminal 108 and is forwarded to the packet analyzer 101 .
  • a packet output from one of the packet analyzer 101 and the packet sending controller 106 is sent from the server-to-client signal sending terminal 109 toward the client device 3 .
  • a packet output from the packet analyzer 101 is sent from the client-to-server signal sending terminal 110 toward the server device 2 .
  • the server device 2 is provided with an application 21 and a communication terminal 22 through which packets are sent and received to and from the client device 3 .
  • the application 21 allowing streaming packets to be sent to a client device corresponds to an application for processing streaming packets to play installed in the client device 3 .
  • the client device 3 is provided with a reception condition notifying section 31 , an application 32 , and a communication terminal 33 .
  • the application 32 corresponds to the application 21 of the server device 2 and is designed to process streaming packets to play sound and video of the requested content. As described before, the application 32 is provided with a buffer for absorbing delay variations in packet transmission.
  • the reception condition notifying section 31 calculates a difference between packet arrival timing and play timing of streaming packets processed by the application 32 . Based on the calculated timing difference, the reception condition notifying section 31 produces a reception condition indicating the capacity of the buffer provided in the application 32 and the amount of available capacity thereof, and sends a reception condition notification packet carrying the reception condition as feedback information to the repeater 1 through the communication terminal 33 .
  • the received packet is forwarded to the packet analyzer 101 .
  • the packet analyzer 101 searches the flow registration table 104 for the destination address and port number (flow identifying information) of the received packet to determine whether the received packet is a streaming packet of a flow registered in the flow registration table 104 .
  • the packet analyzer 101 determines whether the received packet uses a port number that is used by the streaming transmission control protocol (e.g. RTSP, port number 554) or is conventionally used by a streaming transmission application (e.g. port number 6970 in a streaming transmission system RealSystemTM of RealNetworks).
  • the streaming transmission control protocol e.g. RTSP, port number 554
  • a streaming transmission application e.g. port number 6970 in a streaming transmission system RealSystemTM of RealNetworks.
  • the packet analyzer 101 analyzes the contents of the received packet to obtain information of address and port number used in streaming transmission.
  • the packet analyzer 101 obtains information of address and port number of the received packet. In this manner, the packet analyzer 101 registers a pair of address and port number for each of source and destination into the flow registration table 104 (see FIG. 5 ). This method allows streaming data to be extracted from received various packets in the network such as an IP network transferring various kinds of packets.
  • the packet analyzer 101 searches the flow registration table 104 for the destination address and port number of the received packet and, when a match is found (that is, when it is a streaming packet), the packet analyzer 101 transfers it to the header analyzer 102 . When it is not a streaming packet, the packet analyzer 101 forwards it to a selected one of the server-to-client sending terminal 109 and the client-to-server sending terminal 110 depending on its destination address. In other words, the repeater 1 plays a role as an ordinary repeater.
  • a packet using a port number for conventional streaming transmission it has not been registered in the flow registration table 104 but it is a streaming packet. Accordingly, it is forwarded to the header analyzer 102 .
  • the contents of the packet is analyzed and registered in the flow registration table 104 and then is forwarded to a selected one of the server-to-client sending terminal 109 and the client-to-server sending terminal 110 depending on its destination address.
  • the packet analyzer 101 When receiving a feedback information packet indicating the reception condition of the client device 3 , the packet analyzer 101 forwards it to the header analyzer 102 and the reception condition information is output to the packet manager 105 .
  • the header analyzer 102 When receiving a streaming packet, the header analyzer 102 analyzes the header of the received streaming packet to extract a sequential number of the relevant flow and a time stamp indicating a time instant of the server device 2 sending it. The address, port number, time stamp, and sequential number for the received streaming packet are output to the packet manager 105 and the streaming packet is output to the packet memory 103 .
  • the header format employs RTP (Real-time transport protocol RFC 1889) as shown in FIG. 4 .
  • the packet manager 105 registers the information of address, port number, time stamp, and sequential number for each flow identified by a pair of address and port number, into the flow registration table 104 .
  • An example of the flow registration table 104 is shown in FIG. 5 .
  • the header analyzer 102 cannot obtain the above information. Accordingly, the header analyzer 102 notifies the packet manager 105 that necessary information cannot be obtained from this packet and forwards it to the packet memory 103 .
  • the packet memory 103 buffers streaming packets input from the header analyzer 102 for each flow under the sending control of the packet sending controller 106 . This buffering absorbs packet delay variations due to transmission from the server device 2 to the repeater 1 through the network.
  • the packet manager 105 performs the scheduling of time of issuing a packet sending instruction for each flow to the packet sending controller 106 by referring to the packet registration table 104 .
  • the first-arrival packet is scheduled to be sent at the time set by adding a predetermined time period to its arrival time.
  • the set time may be stored in a next sending time field of the flow registration table 104 (see FIG. 5 ).
  • the packet manager 105 issues a packet sending instruction for that flow to the packet sending controller 106 .
  • the second or later packet is scheduled to be sent at the time set by adding a sending time difference to the set time of the previous packet.
  • the sending time difference is calculated from a difference between the time stamp of the second or later packet and the time stamp of the previous packet.
  • the second or later packet may be scheduled to be sent at the time set by adding the constant time interval to the set time of the previous packet.
  • the constant time interval is calculated from a difference between the time stamp of the second packet and the time stamp of the first packet.
  • the playing rate informed from the client device 3 or an average reception rate of packets that have been received so far in the relevant flow can be used to determine the sending time interval for scheduling.
  • the packet analyzer 101 When receiving a feedback information packet indicating the reception condition of the client device 3 , the packet analyzer 101 forwards it to the header analyzer 102 and the reception condition information is output to the packet manager 105 .
  • the packet manager 105 can adjust the packet sending time interval depending on the reception condition of the client device 3 .
  • the packet manager 105 when a variation in the arrival time interval of packets in a certain flow becomes greater, the packet manager 105 temporarily makes the packet sending time interval longer to absorb a greater delay variation in packet delivery. Contrarily, when a variation in the arrival time interval of packets in a certain flow becomes smaller, the packet manager 105 temporarily makes the packet sending time interval shorter to reduce the buffering time at the repeater 1 . This reduces absolute delay time occurring between the server device 2 and the client device 3 .
  • the delay variation reduction by the repeater 1 buffering packets causes the absolute delay occurring between the server device 2 and the client device 3 to be increased.
  • the control of delay variation by the repeater 1 using the feedback information from the client device 3 suppresses the absolute delay occurring between the server device 2 and the client device 3 .
  • the packet sending controller 106 When receiving a packet sending instruction for a certain flow from the packet manager 105 , the packet sending controller 106 reads a head packet of a queue for the relevant flow from the packet memory 103 and forwards it to the server-to-client signal sending terminal 109 .
  • a packet to be sent has the source address and port number of the packet originating device (here, the server device 2 ) included in its header, not those of the repeater 1 . Accordingly, for the client device 3 , the packet appears received directly from the server device 2 .
  • the client device 3 When the client device 3 receives a streaming packet from the server device 2 through the repeater 1 , the streaming packet is forwarded to the application 32 through the communication terminal 33 (see FIG. 3B ). After buffering the streaming packet to absorb delay variations in packet transmission, the application 32 plays the content based on the streaming packet.
  • the reception condition notifying section 31 produces a reception condition indicating the amount of available capacity of the buffer provided in the application 32 and a packet reception rate and sends the reception condition notification packet carrying the reception condition as feedback information to the repeater 1 through the communication terminal 33 .
  • the reception condition is used to adjust the buffering time of the buffer to allow adaptive delay variation absorption, suppressing the absolute delay occurring between the server device 2 and the client device 3 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

A data transfer system allowing high-quality transfer of streaming data through a network having a relatively large delay variation in data delivery is disclosed. When transferring streaming data in packets from a server computer to a client computer through a repeater provided in the network, the repeater buffers a streaming packet for a set time period before forwarding it to the client computer. The set time period is determined so that a receiving time interval of packets at the client computer is substantially equal to a sending time interval of packets at the server computer.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a Continuation of U.S. application Ser. No. 09/940,305, filed Aug. 27, 2001
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to techniques of data transfer between two computers via a network, and in particular to a system and method of transferring streaming data from one computer to another and a repeater for use in such a data transfer system.
  • 2. Description of the Related Art
  • There has been a streaming technique of distributing a real-time content such as audio or video, allowing a client computer to play the content almost concurrent with receipt of the content from a server computer. Since the client computer can play the content without downloading all the content data, a user can obtain fast response and it is effective especially in the case of small memory capacity in the client side.
  • In real-time content transmission in Internet, the following protocol may be employed: RTSP (Real-time streaming protocol, RFC 2326) and RTP (Real-time transport protocol RFC 1889). RTSP is a streaming control protocol allowing play, stop, and setup. RTP is a transfer protocol for real-time packet transfer. As application software for streaming transmission, RealSystem™ of RealNetworks and Windows Media Player™ of Microsoft Corporation are available.
  • In the case of a network such as Internet that does not sufficiently assure assignment of bandwidth or stability of delay, the quality of streaming data transmission is significantly affected by variations in delay time of packet. Since delays in packet delivery vary during transmission, it is necessary to adjust the content play timing at the client side even if the server has sent packets of the content at the same timing as played at the client side.
  • In order to compensate for momentary delays in packet delivery caused by delay variations to achieve uninterrupted sound or motion, the client side buffers received streaming packets before it starts playing. Such a buffering method is in general employed (see Japanese Patent Application Unexamined Publication No. 4-188929).
  • However, in the case of Internet access via mobile environment, a radio link causes a wider range of delay variation in packet delivery compared with fixed environment because the radio link itself exhibits a relatively long delay as well as loss of packet. Accordingly, there are cases where the above conventional delay variation control at the client side cannot compensate for delay variations in packet delivery. Since an amount of delay variation that can be compensated for is dependent on the capacity of a buffer, a wider range of delay variation cannot be compensated for without a larger capacity of a buffer. In mobile environment from which a high performance as in fixed environment cannot be expected, it is difficult to ensure a sufficient capacity of a buffer in a mobile device.
  • It is also considered that delay variation in packet delivery is controlled at some midpoint of a route from the server to the client to improve the quality of streaming data. However, since Internet traffic includes not only streaming data but ordinary data not requiring real-time transmission, it is necessary to discriminate between streaming data and ordinary data, resulting in complicated packet control.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide a data transfer system, a data transfer method, and a repeater for use therein, allowing transfer of streaming data through a network without reducing the quality of played content at a receiving side having a relatively small capacity of a buffer, even if the network exhibits a relatively large delay variation in data delivery.
  • According to the present invention, a system for transferring streaming data in packets from a first computer to a second computer through a network, includes a repeater provided in the network, the repeater comprising a buffering controller for buffering a received packet for a set time period before forwarding it so that a receiving time interval of packets at the second computer is substantially equal to a sending time interval of packets at the first computer.
  • The set time period is preferably determined depending on a reception condition of the second computer, wherein the second computer notifies the repeater of the reception condition.
  • The second computer preferably has a buffering function of buffering received packets to absorb delay variations of the received packets.
  • The reception condition may include information of an available buffering capacity in the second computer.
  • According to an embodiment, a repeater through which streaming data in packets is transferred from a first computer to a second computer, includes: a flow registration table for storing time information of packets for each streaming flow; a packet memory for storing streaming packets for each streaming flow; a packet analyzer for analyzing a received packet to discriminate a packet related to a streaming flow by searching the flow registration table for address and port number information of the received packet and storing flow information identifying the streaming flow into the flow registration table; a header analyzer for analyzing a header of the packet related to the streaming flow to produce time information of a streaming packet of the streaming flow and store the streaming packet into the packet memory; a packet manager for storing the time information of the streaming packet into the flow registration table and determining the set time period from the time information to produce sending time of the streaming packet; and a packet sending controller for sending the streaming packet to the second computer when the sending time has come under control of the packet manager.
  • The packet analyzer preferably forwards packets other than a packet related to a streaming flow to the second computer.
  • According to another aspect of the present invention, a method for transferring streaming data in packets from a first computer to a second computer through a network, includes the steps of: the first computer sending a streaming packet to a repeater; the repeater buffering the streaming packet for a set time period before forwarding it to the second computer so that a receiving time interval of packets at the second computer is substantially equal to a sending time interval of packets at the first computer; and the second computer buffering the streaming packet received from the repeater before reproducing it.
  • As described above, according to the present invention, even when a delay variation of streaming packets is unacceptably increased at a receiving side, the repeater buffers a streaming packet for a set time period before forwarding it to suppress such a great delay variation, resulting in improved quality of application of the receiving side. Since delay variation in packet delivery is suppressed, high-quality play of the delivered content at the receiving side can be obtained even if the receiving side has a relatively small capacity of a buffer provided therein.
  • When the receiving side sends a reception condition thereof back to the sending side, the repeater can adjust the packet buffering time depending on the reception condition of the receiving side. Accordingly, an absolute delay over the network can be minimized, resulting in reduced capacity of a buffer at the receiving side.
  • Further, when the repeater discriminates a packet related to a streaming flow, only streaming flow related packets are buffered at the repeater and other packets are directly transferred. Accordingly, the data transfer system and the repeater can be used in environment transferring various kinds of packets, for example, the Internet.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram showing an outline of a data transfer system according to the present invention;
  • FIG. 2 is a block diagram showing an internal circuit of a repeater according to an embodiment of the present invention;
  • FIG. 3A is a block diagram showing an internal circuit of a server computer in the data transfer system of FIG. 1;
  • FIG. 3B is a block diagram showing an internal circuit of a client computer in the data transfer system of FIG. 1;
  • FIG. 4 is a diagram showing a header format of a RTP packet used in the present embodiment; and
  • FIG. 5 is a diagram showing an example of a flow registration table in the repeater.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT
  • As shown in FIG. 1, it is assumed for simplicity that a network including a repeater 1 connects a server device 2 and a client device 3.
  • At the request of the client device 3, the server device 2 starts sending streaming packets of a requested content to the client device 3 through the repeater 1 in the network. The network is typically the Internet. A streaming packet flowing from the server device 2 downstream to the client device 3 is buffered in the repeater 1 so as to adjust sending timing of the received streaming packet. Although only one flow of streaming packets for the content is shown in FIG. 1 for simplicity, the repeater 1 according to the present invention is allowed to individually buffer a plurality of flows. The details of the repeater 1 will be described later.
  • The streaming packets buffered in the repeater 1 are sent to the client device 3 in adjusted timing. The client device 3 buffers streaming packet before it starts reproducing it to absorb delay variation in packet transmission.
  • In this manner, the requested real-time content is played by a predetermined application in the client device 3 without interrupted sound or motion. Since the repeater 1 temporarily buffers streaming packets received from the server device 2, high-quality play of the delivered content at the client device 3 can be obtained even if the client device 3 has a relatively small capacity of a buffer provided therein.
  • In addition, the client device 3 may send a reception condition notification packet back to the server side. When receiving the notification packet, the repeater 1 adjusts the packet buffering time depending on the reception condition of the client device 3.
  • Repeater
  • Referring to FIG. 2, the repeater 1 is provided with a packet analyzer 101, a header analyzer 102, a packet memory 103, a flow registration table 104, a packet manager, a packet sending controller, a server-to-client (downstream) signal reception terminal 107, a client-to-server (upstream) signal reception terminal 108, a server-to-client signal sending terminal 109 and a client-to-server signal sending terminal 110.
  • The packet analyzer 101, when receiving a packet from the reception terminal 107 or 108, determines whether the received packet is a streaming packet or a feedback information packet related to a flow registered in the flow registration table 104. When it is a streaming packet or a feedback information packet, the packet analyzer 101 transfers it to the header analyzer 102. When it is neither a streaming packet nor a feedback information packet, the packet analyzer 101 forwards it to a selected one of the server-to-client sending terminal 109 and the client-to-server sending terminal 110 depending on its destination address. Further, as described in detail later, the packet analyzer 101 registers the address and port number of a streaming flow in the flow registration table 104 depending on whether the received packet uses a port number that is used by streaming transmission control protocol or is conventionally used by a streaming transmission application.
  • The header analyzer 102 analyzes the header of the received streaming packet and notifies the packet manager 105 of information of the received packet such as a sequential number and a time stamp indicating a time instant of the server device 2 sending it.
  • The packet memory 103 buffers streaming packets input from the header analyzer 102 and queues streaming packets for each flow until a sending instruction for a flow has been received from the packet sending controller 106. A flow is defined as a set of packets related to a certain content transferring between a server device 2 and a client device 3.
  • The flow registration table 104 contains information related to each streaming flow in table form as shown in FIG. 4, which will be described in detail later.
  • The packet manager 105 inputs the information of the received streaming packet from the header analyzer 102 and registers it for each flow into the flow registration table 104. The packet manager 105 also outputs a packet sending instruction for each flow to the packet sending controller 106 when the time to send has come.
  • The packet sending controller 106, when receiving a packet sending instruction for a certain flow from the packet manager 105, reads a head packet of a queue for the flow from the packet memory 103 and forwards it to the server-to-client signal sending terminal 109.
  • A packet sent from the server device 2 toward the client device 3 is received at the server-to-client signal reception terminal 107 and is forwarded to the packet analyzer 101. A packet sent from the client device 3 toward the server device 2 is received at the client-to-server signal reception terminal 108 and is forwarded to the packet analyzer 101. A packet output from one of the packet analyzer 101 and the packet sending controller 106 is sent from the server-to-client signal sending terminal 109 toward the client device 3. A packet output from the packet analyzer 101 is sent from the client-to-server signal sending terminal 110 toward the server device 2.
  • Server
  • Referring to FIG. 3A, the server device 2 is provided with an application 21 and a communication terminal 22 through which packets are sent and received to and from the client device 3. The application 21 allowing streaming packets to be sent to a client device corresponds to an application for processing streaming packets to play installed in the client device 3.
  • Client
  • Referring to FIG. 3B, the client device 3 is provided with a reception condition notifying section 31, an application 32, and a communication terminal 33. The application 32 corresponds to the application 21 of the server device 2 and is designed to process streaming packets to play sound and video of the requested content. As described before, the application 32 is provided with a buffer for absorbing delay variations in packet transmission.
  • The reception condition notifying section 31 calculates a difference between packet arrival timing and play timing of streaming packets processed by the application 32. Based on the calculated timing difference, the reception condition notifying section 31 produces a reception condition indicating the capacity of the buffer provided in the application 32 and the amount of available capacity thereof, and sends a reception condition notification packet carrying the reception condition as feedback information to the repeater 1 through the communication terminal 33.
  • Operation
  • Assuming that the server device 2 sends streaming packets to the client device 3 through the repeater 1 in the network, an operation of the repeater 1 will be described hereinafter.
  • In the above-described repeater 1, when a packet is received at the server-to-client signal reception terminal 107, the received packet is forwarded to the packet analyzer 101.
  • When receiving the packet, the packet analyzer 101 searches the flow registration table 104 for the destination address and port number (flow identifying information) of the received packet to determine whether the received packet is a streaming packet of a flow registered in the flow registration table 104.
  • Further, in order to register the address and port number of a streaming flow in the flow registration table 104, the packet analyzer 101 determines whether the received packet uses a port number that is used by the streaming transmission control protocol (e.g. RTSP, port number 554) or is conventionally used by a streaming transmission application (e.g. port number 6970 in a streaming transmission system RealSystem™ of RealNetworks).
  • When a packet conforming to the streaming transmission control protocol has been received, the packet analyzer 101 analyzes the contents of the received packet to obtain information of address and port number used in streaming transmission. When a packet using a port number for conventional streaming transmission has been received, the packet analyzer 101 obtains information of address and port number of the received packet. In this manner, the packet analyzer 101 registers a pair of address and port number for each of source and destination into the flow registration table 104 (see FIG. 5). This method allows streaming data to be extracted from received various packets in the network such as an IP network transferring various kinds of packets.
  • The packet analyzer 101 searches the flow registration table 104 for the destination address and port number of the received packet and, when a match is found (that is, when it is a streaming packet), the packet analyzer 101 transfers it to the header analyzer 102. When it is not a streaming packet, the packet analyzer 101 forwards it to a selected one of the server-to-client sending terminal 109 and the client-to-server sending terminal 110 depending on its destination address. In other words, the repeater 1 plays a role as an ordinary repeater.
  • In the case of a packet using a port number for conventional streaming transmission, it has not been registered in the flow registration table 104 but it is a streaming packet. Accordingly, it is forwarded to the header analyzer 102. In the case of a packet conforming to the streaming transmission control protocol, the contents of the packet is analyzed and registered in the flow registration table 104 and then is forwarded to a selected one of the server-to-client sending terminal 109 and the client-to-server sending terminal 110 depending on its destination address.
  • When receiving a feedback information packet indicating the reception condition of the client device 3, the packet analyzer 101 forwards it to the header analyzer 102 and the reception condition information is output to the packet manager 105.
  • When receiving a streaming packet, the header analyzer 102 analyzes the header of the received streaming packet to extract a sequential number of the relevant flow and a time stamp indicating a time instant of the server device 2 sending it. The address, port number, time stamp, and sequential number for the received streaming packet are output to the packet manager 105 and the streaming packet is output to the packet memory 103. In many instances, the header format employs RTP (Real-time transport protocol RFC 1889) as shown in FIG. 4.
  • The packet manager 105 registers the information of address, port number, time stamp, and sequential number for each flow identified by a pair of address and port number, into the flow registration table 104. An example of the flow registration table 104 is shown in FIG. 5.
  • Some streaming delivery application does not employ the RTP or cannot analyze it. In this case, the header analyzer 102 cannot obtain the above information. Accordingly, the header analyzer 102 notifies the packet manager 105 that necessary information cannot be obtained from this packet and forwards it to the packet memory 103.
  • The packet memory 103 buffers streaming packets input from the header analyzer 102 for each flow under the sending control of the packet sending controller 106. This buffering absorbs packet delay variations due to transmission from the server device 2 to the repeater 1 through the network.
  • Scheduling of Packet Sending Time
  • The packet manager 105 performs the scheduling of time of issuing a packet sending instruction for each flow to the packet sending controller 106 by referring to the packet registration table 104.
  • In a certain flow, the first-arrival packet is scheduled to be sent at the time set by adding a predetermined time period to its arrival time. The set time may be stored in a next sending time field of the flow registration table 104 (see FIG. 5). When the set time has come, the packet manager 105 issues a packet sending instruction for that flow to the packet sending controller 106. The second or later packet is scheduled to be sent at the time set by adding a sending time difference to the set time of the previous packet. The sending time difference is calculated from a difference between the time stamp of the second or later packet and the time stamp of the previous packet.
  • When the time interval of packets received from the server device 2 is always constant, the second or later packet may be scheduled to be sent at the time set by adding the constant time interval to the set time of the previous packet. The constant time interval is calculated from a difference between the time stamp of the second packet and the time stamp of the first packet.
  • In the case where information related to sending time cannot be extracted from a received packet, the playing rate informed from the client device 3 or an average reception rate of packets that have been received so far in the relevant flow can be used to determine the sending time interval for scheduling.
  • Feedback Control of Packet Sending Time
  • When receiving a feedback information packet indicating the reception condition of the client device 3, the packet analyzer 101 forwards it to the header analyzer 102 and the reception condition information is output to the packet manager 105. The packet manager 105 can adjust the packet sending time interval depending on the reception condition of the client device 3.
  • For example, when a variation in the arrival time interval of packets in a certain flow becomes greater, the packet manager 105 temporarily makes the packet sending time interval longer to absorb a greater delay variation in packet delivery. Contrarily, when a variation in the arrival time interval of packets in a certain flow becomes smaller, the packet manager 105 temporarily makes the packet sending time interval shorter to reduce the buffering time at the repeater 1. This reduces absolute delay time occurring between the server device 2 and the client device 3.
  • The delay variation reduction by the repeater 1 buffering packets causes the absolute delay occurring between the server device 2 and the client device 3 to be increased. However, the control of delay variation by the repeater 1 using the feedback information from the client device 3 suppresses the absolute delay occurring between the server device 2 and the client device 3.
  • When receiving a packet sending instruction for a certain flow from the packet manager 105, the packet sending controller 106 reads a head packet of a queue for the relevant flow from the packet memory 103 and forwards it to the server-to-client signal sending terminal 109. A packet to be sent has the source address and port number of the packet originating device (here, the server device 2) included in its header, not those of the repeater 1. Accordingly, for the client device 3, the packet appears received directly from the server device 2.
  • When the client device 3 receives a streaming packet from the server device 2 through the repeater 1, the streaming packet is forwarded to the application 32 through the communication terminal 33 (see FIG. 3B). After buffering the streaming packet to absorb delay variations in packet transmission, the application 32 plays the content based on the streaming packet.
  • As described before, in the application 32 performing packet reception and play, the amount of available buffer capacity varies depending on a difference between playing rate and reception rate. The reception condition notifying section 31 produces a reception condition indicating the amount of available capacity of the buffer provided in the application 32 and a packet reception rate and sends the reception condition notification packet carrying the reception condition as feedback information to the repeater 1 through the communication terminal 33. At the repeater 1, the reception condition is used to adjust the buffering time of the buffer to allow adaptive delay variation absorption, suppressing the absolute delay occurring between the server device 2 and the client device 3.

Claims (9)

1. A system for transferring streaming data in packets from a first computer to a second computer through a network, comprising:
a repeater provided in the network, the repeater comprising a buffering controller for buffering a received packet for a set time period before forwarding it so that a receiving time interval of packets at the second computer is substantially equal to a sending time interval of packets at the first computer,
wherein the set time period is adjusted based on either of reception condition information of the second computer and time stamp information of received packets so as to absorb delay variations.
2. The system according to claim 1, wherein the set time period is determined depending on a reception condition of the second computer, wherein the second computer notifies the repeater of the reception condition.
3. The system according to claim 2, wherein the second computer has a buffering function of buffering received packets to absorb delay variations of the received packets.
4. The system according to claim 3, wherein the reception condition includes information of an available buffering capacity in the second computer.
5. The system according to claim 1, wherein the set time period is determined based on a difference between a time stamp of the received packet and a time stamp of a previously received packet.
6. The system according to claim 1, wherein the set time period is determined based on a playing rate of the streaming data, wherein the second computer notifies the repeater of the playing rate thereof.
7. The system according to claim 1, wherein the set time period is determined based on an average reception rate of packets received from the first computer at the repeater.
8. A method for transferring streaming data in packets from a first computer to a second computer through a network, comprising the steps of:
the first computer sending a streaming packet to a repeater;
the repeater buffering the streaming packet for a set time period before forwarding it to the second computer so that a receiving time interval of packets at the second computer is substantially equal to a sending time interval of packets at the first computer; and
the second computer buffering the streaming packet received from the repeater before reproducing it,
wherein the set time period is adjusted based on either of reception condition information of the second computer and time stamp information of received packets so as to absorb delay variations.
9. The method according to claim 8, wherein the set time period is adjusted depending on a reception condition of the second computer.
US11/314,315 2000-08-28 2005-12-22 Streaming data transfer system and repeater therefor Expired - Fee Related US7461185B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/314,315 US7461185B2 (en) 2000-08-28 2005-12-22 Streaming data transfer system and repeater therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000-258083 2000-08-28
JP2000258083A JP2002077251A (en) 2000-08-28 2000-08-28 Data transmission system, data repeater system and method therefor
US09/940,305 US7054961B2 (en) 2000-08-28 2001-08-27 Streaming data transfer system and repeater therefor
US11/314,315 US7461185B2 (en) 2000-08-28 2005-12-22 Streaming data transfer system and repeater therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/940,305 Continuation US7054961B2 (en) 2000-08-28 2001-08-27 Streaming data transfer system and repeater therefor

Publications (2)

Publication Number Publication Date
US20060106961A1 true US20060106961A1 (en) 2006-05-18
US7461185B2 US7461185B2 (en) 2008-12-02

Family

ID=18746442

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/940,305 Expired - Lifetime US7054961B2 (en) 2000-08-28 2001-08-27 Streaming data transfer system and repeater therefor
US11/314,315 Expired - Fee Related US7461185B2 (en) 2000-08-28 2005-12-22 Streaming data transfer system and repeater therefor

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/940,305 Expired - Lifetime US7054961B2 (en) 2000-08-28 2001-08-27 Streaming data transfer system and repeater therefor

Country Status (4)

Country Link
US (2) US7054961B2 (en)
EP (1) EP1185043B1 (en)
JP (1) JP2002077251A (en)
DE (1) DE60110002T2 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050042999A1 (en) * 2003-08-22 2005-02-24 Rappaport Theodore S. Broadband repeater with security for ultrawideband technologies
US20060156376A1 (en) * 2004-12-27 2006-07-13 Takanobu Mukaide Information processing device for relaying streaming data
US20060259637A1 (en) * 2005-05-11 2006-11-16 Sandeep Yadav Method and system for unified caching of media content
US20070075843A1 (en) * 2005-10-03 2007-04-05 Riveiro Juan C Multi-Wideband Communications over Power Lines
US20070076666A1 (en) * 2005-10-03 2007-04-05 Riveiro Juan C Multi-Wideband Communications over Power Lines
US20070229231A1 (en) * 2005-10-03 2007-10-04 Hurwitz Jonathan E D Multi-Wideband Communications over Multiple Mediums within a Network
US20080008081A1 (en) * 2006-07-06 2008-01-10 Gigle Semiconductor Inc. Adaptative multi-carrier code division multiple access
US20080117896A1 (en) * 2006-11-21 2008-05-22 Veronica Romero Network repeater
US20080130640A1 (en) * 2005-10-03 2008-06-05 Jonathan Ephraim David Hurwitz Multi-Wideband Communications over Multiple Mediums
US20080285463A1 (en) * 2007-05-14 2008-11-20 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US20090010158A1 (en) * 2007-07-06 2009-01-08 Cisco Technology, Inc. Quasi rtp metrics for non-rtp media flows
US7478164B1 (en) 2001-06-12 2009-01-13 Netapp, Inc. Methods and apparatus for pacing delivery of streaming media data
US20090080494A1 (en) * 2007-09-21 2009-03-26 Fujitsu Component Limited Communication system and communication method
US20090119722A1 (en) * 2007-11-01 2009-05-07 Versteeg William C Locating points of interest using references to media frames within a packet flow
US20090183197A1 (en) * 2008-01-10 2009-07-16 Kim Matthews Method of splicing encoded multimedia data streams
US20090217318A1 (en) * 2004-09-24 2009-08-27 Cisco Technology, Inc. Ip-based stream splicing with content-specific splice points
US20100117734A1 (en) * 2008-10-13 2010-05-13 Jonathan Ephraim David Hurwitz Programmable Gain Amplifier and Transconductance Compensation System
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US7795973B2 (en) 2008-10-13 2010-09-14 Gigle Networks Ltd. Programmable gain amplifier
US7835406B2 (en) 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US20110119546A1 (en) * 2009-11-18 2011-05-19 Cisco Technology, Inc. Rtp-based loss recovery and quality monitoring for non-ip and raw-ip mpeg transport flows
US7991905B1 (en) * 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
US8023419B2 (en) 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US20120182859A1 (en) * 2009-09-30 2012-07-19 Panasonic Corporation Packet restoration method, packet restoration system, and mobile terminal and intermediate device used in the method
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
US8885814B2 (en) 2006-07-25 2014-11-11 Broadcom Europe Limited Feedback impedance control for driving a signal
WO2017078462A1 (en) * 2015-11-04 2017-05-11 삼성전자 주식회사 Method and device for providing data in multimedia system

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249207A1 (en) * 2001-01-29 2005-11-10 Richard Zodnik Repeater for locating electronic devices
US7096272B1 (en) * 2001-11-20 2006-08-22 Cisco Technology, Inc. Methods and apparatus for pooling and depooling the transmission of stream data
US7158539B2 (en) * 2002-04-16 2007-01-02 Microsoft Corporation Error resilient windows media audio coding
JP2004054804A (en) * 2002-07-24 2004-02-19 Nec Corp Monitoring server device, monitoring system, and their event notification method and program
US7487541B2 (en) * 2003-12-10 2009-02-03 Alcatel Lucent Flow-based method for tracking back single packets
CN100466603C (en) * 2005-05-17 2009-03-04 华为技术有限公司 Method and apparatus for shaping transmission service stream in network
US20060288340A1 (en) * 2005-06-16 2006-12-21 Digital Fuel Technologies, Inc. System for acquisition, representation and storage of streaming data
JP2007028364A (en) * 2005-07-20 2007-02-01 Matsushita Electric Ind Co Ltd Communication control apparatus, receiver, integrated circuit, and communication control method
US20070097893A1 (en) * 2005-11-03 2007-05-03 International Business Machines Corporation Method of delivering personalized streaming content via satellite radio
KR100872415B1 (en) 2006-03-03 2008-12-05 삼성전자주식회사 The apparatus and method of transmitting packet data in wireless access telecommunication system employing relay stations
JP5239405B2 (en) * 2008-03-05 2013-07-17 日本電気株式会社 TS receiver and timing reproduction method used therefor
US20090257455A1 (en) * 2008-04-15 2009-10-15 Tellabs Operations, Inc. Method and apparatus for synchronizing timing of signal packets
JP5335354B2 (en) * 2008-10-03 2013-11-06 キヤノン株式会社 Information transmitting apparatus, information transmitting apparatus control method, and computer program
US8948043B2 (en) * 2010-09-02 2015-02-03 At&T Intellectual Property I, L.P. Method and apparatus for normalizing cellular communications network data
JP5918030B2 (en) * 2012-05-28 2016-05-18 株式会社アイ・ディ・ケイ Data relay device, data relay method, data transmission system, and program
KR102140679B1 (en) * 2013-12-24 2020-08-04 주식회사 케이티 Apparatus and method for transmitting network packet, and device for receiving network packet

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970048A (en) * 1993-11-30 1999-10-19 Nokia Telecommunications Oy Control of overload situations in frame relay network
US6006270A (en) * 1996-07-18 1999-12-21 Nec Corporation Communication system with time stamp controller for regulating datatransmission rate
US6026095A (en) * 1994-09-27 2000-02-15 3Com Corporation Method and apparatus for controlling latency and jitter in shared CSMA/CD (repeater) environment
US6115749A (en) * 1997-10-14 2000-09-05 Lucent Technologies Inc. System and method for using a window mechanism to control multicast data congestion
US6141692A (en) * 1996-07-01 2000-10-31 Sun Microsystems, Inc. Directory-based, shared-memory, scaleable multiprocessor computer system having deadlock-free transaction flow sans flow control protocol
US6170022B1 (en) * 1998-04-03 2001-01-02 International Business Machines Corporation Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount
US20010032269A1 (en) * 2000-03-14 2001-10-18 Wilson Andrew W. Congestion control for internet protocol storage
US6622172B1 (en) * 1999-05-08 2003-09-16 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04188929A (en) 1990-11-21 1992-07-07 Mitsubishi Electric Corp Sound packet controller
JPH05176000A (en) 1991-12-20 1993-07-13 Nec Corp Data repeater
WO1995022233A1 (en) 1994-02-11 1995-08-17 Newbridge Networks Corporation Method of dynamically compensating for variable transmission delays in packet networks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970048A (en) * 1993-11-30 1999-10-19 Nokia Telecommunications Oy Control of overload situations in frame relay network
US6026095A (en) * 1994-09-27 2000-02-15 3Com Corporation Method and apparatus for controlling latency and jitter in shared CSMA/CD (repeater) environment
US6141692A (en) * 1996-07-01 2000-10-31 Sun Microsystems, Inc. Directory-based, shared-memory, scaleable multiprocessor computer system having deadlock-free transaction flow sans flow control protocol
US6006270A (en) * 1996-07-18 1999-12-21 Nec Corporation Communication system with time stamp controller for regulating datatransmission rate
US6115749A (en) * 1997-10-14 2000-09-05 Lucent Technologies Inc. System and method for using a window mechanism to control multicast data congestion
US6170022B1 (en) * 1998-04-03 2001-01-02 International Business Machines Corporation Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount
US6622172B1 (en) * 1999-05-08 2003-09-16 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
US20010032269A1 (en) * 2000-03-14 2001-10-18 Wilson Andrew W. Congestion control for internet protocol storage

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478164B1 (en) 2001-06-12 2009-01-13 Netapp, Inc. Methods and apparatus for pacing delivery of streaming media data
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
US7991905B1 (en) * 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
US8918049B2 (en) 2003-08-22 2014-12-23 Theodore S. Rappaport Network with intelligent broadband wireless relay
US8600295B2 (en) 2003-08-22 2013-12-03 Theodore S. Rappaport Networking method with broadband relay
US8611812B2 (en) 2003-08-22 2013-12-17 Theodore S. Rappaport Broadband wireless relay
US20050042999A1 (en) * 2003-08-22 2005-02-24 Rappaport Theodore S. Broadband repeater with security for ultrawideband technologies
US10797783B2 (en) 2003-08-22 2020-10-06 Theodore S. Rappaport Broadband repeater with security for ultrawideband technologies
US8331854B2 (en) 2003-08-22 2012-12-11 Rappaport Theodore S Broadband repeater with security for ultrawideband technologies
US10224999B2 (en) 2003-08-22 2019-03-05 Theodore S. Rappaport Broadband repeater with security for ultrawideband technologies
US9722690B2 (en) 2003-08-22 2017-08-01 Theodore S. Rappaport Network and networking method with intelligent broadband wireless relay for connectivity to mobile or portable devices
US7983613B2 (en) 2003-08-22 2011-07-19 Rappaport Theodore S Broadband repeater with security for ultrawideband technologies
US20100120361A1 (en) * 2003-08-22 2010-05-13 Rappaport Theodore S Broadband Repeater with Security for Ultrawideband Technologies
US9667337B2 (en) 2003-08-22 2017-05-30 Theodore S. Rappaport Intelligent broadband relay for wireless networks for connectivity to mobile or portable devices
US7676194B2 (en) * 2003-08-22 2010-03-09 Rappaport Theodore S Broadband repeater with security for ultrawideband technologies
US8923754B2 (en) 2003-08-22 2014-12-30 Theodore S. Rappaport Intelligent broadband relay for wireless networks
US20090217318A1 (en) * 2004-09-24 2009-08-27 Cisco Technology, Inc. Ip-based stream splicing with content-specific splice points
US9197857B2 (en) 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US20060156376A1 (en) * 2004-12-27 2006-07-13 Takanobu Mukaide Information processing device for relaying streaming data
US8117330B2 (en) * 2004-12-27 2012-02-14 Kabushiki Kaisha Toshiba Information processing device for relaying streaming data
US20060259637A1 (en) * 2005-05-11 2006-11-16 Sandeep Yadav Method and system for unified caching of media content
US7496678B2 (en) 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
US20070076666A1 (en) * 2005-10-03 2007-04-05 Riveiro Juan C Multi-Wideband Communications over Power Lines
US20070229231A1 (en) * 2005-10-03 2007-10-04 Hurwitz Jonathan E D Multi-Wideband Communications over Multiple Mediums within a Network
US20090252209A1 (en) * 2005-10-03 2009-10-08 Juan Carlos Riveiro Power Line Communication Networks and Methods employing Multiple Widebands
US8406239B2 (en) 2005-10-03 2013-03-26 Broadcom Corporation Multi-wideband communications over multiple mediums
US7877078B2 (en) 2005-10-03 2011-01-25 Juan Carlos Riveiro Power line communication networks and methods employing multiple widebands
US7899436B2 (en) 2005-10-03 2011-03-01 Juan Carlos Riveiro Multi-wideband communications over power lines
US20070075843A1 (en) * 2005-10-03 2007-04-05 Riveiro Juan C Multi-Wideband Communications over Power Lines
US8213895B2 (en) 2005-10-03 2012-07-03 Broadcom Europe Limited Multi-wideband communications over multiple mediums within a network
US7725096B2 (en) 2005-10-03 2010-05-25 Gigle Semiconductor Sl Multi-wideband communications over power lines
US20080130640A1 (en) * 2005-10-03 2008-06-05 Jonathan Ephraim David Hurwitz Multi-Wideband Communications over Multiple Mediums
US7860146B2 (en) 2006-07-06 2010-12-28 Gigle Networks, Inc. Adaptative multi-carrier code division multiple access
US20080008081A1 (en) * 2006-07-06 2008-01-10 Gigle Semiconductor Inc. Adaptative multi-carrier code division multiple access
US8885814B2 (en) 2006-07-25 2014-11-11 Broadcom Europe Limited Feedback impedance control for driving a signal
US20080117896A1 (en) * 2006-11-21 2008-05-22 Veronica Romero Network repeater
US7808985B2 (en) * 2006-11-21 2010-10-05 Gigle Networks Sl Network repeater
US8023419B2 (en) 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US20080285463A1 (en) * 2007-05-14 2008-11-20 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US8867385B2 (en) 2007-05-14 2014-10-21 Cisco Technology, Inc. Tunneling reports for real-time Internet Protocol media streams
US7936695B2 (en) 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US7835406B2 (en) 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US7817546B2 (en) * 2007-07-06 2010-10-19 Cisco Technology, Inc. Quasi RTP metrics for non-RTP media flows
US20090010158A1 (en) * 2007-07-06 2009-01-08 Cisco Technology, Inc. Quasi rtp metrics for non-rtp media flows
US20090080494A1 (en) * 2007-09-21 2009-03-26 Fujitsu Component Limited Communication system and communication method
US8966551B2 (en) 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US9762640B2 (en) 2007-11-01 2017-09-12 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US20090119722A1 (en) * 2007-11-01 2009-05-07 Versteeg William C Locating points of interest using references to media frames within a packet flow
US8411569B2 (en) * 2008-01-10 2013-04-02 Alcatel Lucent Method of splicing encoded multimedia data streams
US20090183197A1 (en) * 2008-01-10 2009-07-16 Kim Matthews Method of splicing encoded multimedia data streams
US20100117734A1 (en) * 2008-10-13 2010-05-13 Jonathan Ephraim David Hurwitz Programmable Gain Amplifier and Transconductance Compensation System
US7795973B2 (en) 2008-10-13 2010-09-14 Gigle Networks Ltd. Programmable gain amplifier
US7956689B2 (en) 2008-10-13 2011-06-07 Broadcom Corporation Programmable gain amplifier and transconductance compensation system
US20120182859A1 (en) * 2009-09-30 2012-07-19 Panasonic Corporation Packet restoration method, packet restoration system, and mobile terminal and intermediate device used in the method
US9197378B2 (en) * 2009-09-30 2015-11-24 Panasonic Intellectual Property Corporation Of America Packet restoration method, packet restoration system, and mobile terminal and intermediate device used in the method
US20110119546A1 (en) * 2009-11-18 2011-05-19 Cisco Technology, Inc. Rtp-based loss recovery and quality monitoring for non-ip and raw-ip mpeg transport flows
US8301982B2 (en) 2009-11-18 2012-10-30 Cisco Technology, Inc. RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
CN108702532A (en) * 2015-11-04 2018-10-23 三星电子株式会社 Method and apparatus for providing data in multimedia system
US20180324501A1 (en) * 2015-11-04 2018-11-08 Samsung Electronics Co., Ltd. Method and device for providing data in multimedia system
KR20170052269A (en) * 2015-11-04 2017-05-12 삼성전자주식회사 Method and apparatus for providing data in multimedia system
WO2017078462A1 (en) * 2015-11-04 2017-05-11 삼성전자 주식회사 Method and device for providing data in multimedia system
US10904635B2 (en) 2015-11-04 2021-01-26 Samsung Electronics Co., Ltd Method and device for providing data in multimedia system
KR102209292B1 (en) * 2015-11-04 2021-01-29 삼성전자 주식회사 Method and apparatus for providing data in multimedia system

Also Published As

Publication number Publication date
JP2002077251A (en) 2002-03-15
EP1185043A3 (en) 2002-09-18
EP1185043B1 (en) 2005-04-13
DE60110002D1 (en) 2005-05-19
US20020042837A1 (en) 2002-04-11
US7054961B2 (en) 2006-05-30
US7461185B2 (en) 2008-12-02
DE60110002T2 (en) 2006-01-19
EP1185043A2 (en) 2002-03-06

Similar Documents

Publication Publication Date Title
US7461185B2 (en) Streaming data transfer system and repeater therefor
US6904059B1 (en) Adaptive queuing
JP2003060638A (en) Content providing device and method therefor
EP1829318B1 (en) System and method for enhancing audio quality for ip based systems using an amr payload format
US20080098089A1 (en) Method and apparatus for retransmission request reduction in a network
US7233578B1 (en) Network with self regulating quality of service (QoS)
US20060075459A1 (en) Data distribution device capable of distributing a content
JP2009188735A (en) Device, system, method for distributing animation data and program
KR20080012920A (en) Method and apparatus for adaptive polling in a wireless communication device
US10893234B2 (en) System and method of dynamic playback variation for multimedia communication
JP2003209594A (en) Program, recording medium, and equipment and method for information transmission
KR20010035779A (en) Packet loss compensating method in user datagram protocol
JP2002314595A (en) Communication repeater and jitter suppression method
US20040199650A1 (en) System and methods for accelerating data delivery
CA2427633C (en) Latency management for a network
JP2005051709A (en) Real-time streaming transmission apparatus and transmission method
US20070208872A1 (en) System and method for processing streaming data
JP2005348015A (en) Real time streaming data receiver
US20060280173A1 (en) Method and system for uneven distribution of data
KR20210077841A (en) Method and apparatus for providing high quality real time media streaming service with low latency
JP2009260888A (en) Communication apparatus
JP2000183961A (en) Packet communication priority control method
JP2003264820A (en) Distribution method, distributor, and receiver for digital image
JP4201719B2 (en) Communication device
KR20030003406A (en) Method for realtime sorting of streaming data in Multimedia Messaging Server system

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20201202