WO2011071474A1 - Renforçateur de protocole pour sctp dans des réseaux de multidiffusion - Google Patents
Renforçateur de protocole pour sctp dans des réseaux de multidiffusion Download PDFInfo
- Publication number
- WO2011071474A1 WO2011071474A1 PCT/US2009/006490 US2009006490W WO2011071474A1 WO 2011071474 A1 WO2011071474 A1 WO 2011071474A1 US 2009006490 W US2009006490 W US 2009006490W WO 2011071474 A1 WO2011071474 A1 WO 2011071474A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data packets
- data
- server
- clients
- association
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000012546 transfer Methods 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 11
- 239000000872 buffer Substances 0.000 claims description 9
- 230000003111 delayed effect Effects 0.000 claims description 8
- 230000003139 buffering effect Effects 0.000 claims description 2
- 235000014510 cooky Nutrition 0.000 description 6
- 230000006735 deficit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1836—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1836—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
- H04L12/184—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture with heterogeneous receivers, e.g. layered multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Definitions
- the present arrangement provides multicast support for systems employing the Stream Control Transmission Protocol (SCTP) and the Stream Control
- SCTP-PR Transmission Protocol - Partial Reliability
- SCTP is a reliable transport protocol standardized by the Internet Engineering Task Force (IETF). SCTP supports features such as multistreaming and multihoming as described in IETF RFC 4960, "Stream control transmission protocol” and in an article by S. Fu and M. Atiquzzaman titled “SCTP: state of the art in research, products, and technical challenges," Institute of Electrical and Electronics Engineers (IEEE) Communication Magazine, April 2004. SCTP-PR is an extension of SCTP, which allows an SCTP implementation to provide partially reliable data transmission service to an upper layer protocol.
- M-SCTP M-SCTP
- the scheme adds an M-SCTP server stack between an SCTP server and its SCTP clients.
- the server stack manages the resources of a multicast service and controls multicast membership.
- the scheme achieves multicast capability by using recursive unicast protocol message transmissions.
- multicast is realized by the server stack by duplicating data packets and sending them to each client individually using multiple unicast protocol message transmissions.
- the scheme does not solve problems stemming from low bandwidth efficiency or poor system scalability.
- a one- to-many style SCTP socket is opened at the server side that consists of multiple associations.
- Each association has two endpoints, one at the server and the other at a respective client in a multicast network with unicast capability.
- each association contains a path corresponding to a multicast network link, and other paths corresponding to unicast network links.
- the multicast paths in the multiple associations of the SCTP socket share the same multicast IP address as well as the transport port address.
- the server is thus able to send one copy of the data packets, but be able to reach all of the clients, through multicast. As a result, high bandwidth efficiency can be achieved and a system that employs this scheme would scale well with an increased number of clients in a multicast network.
- the aforementioned scheme requires that certain changes be made to the protocol.
- the SCTP protocol must be modified so that on the server side, across multiple associations in a socket, only one copy of data packets is sent over a shared multicast path. In applications where changes to the protocol are restricted, this can prevent the scheme from operating.
- all clients are required to have the same SCTP port address because all clients are to receive the same set of data packets. A client that has an occupied port address may not use the same port address to receive multicast data packets.
- the present arrangement will allow the aforementioned scheme to operate without explicit changes to SCTP or SCTP-PR protocol.
- a traffic optimizer facilitates communication of data packets using a unicast protocol between a server and at least one of a plurality of clients through a multicast network.
- the traffic optimizer includes a communication processor and a packet processor.
- the communication processor receives both data including association data and the data packets using the unicast protocol from the server.
- the association data includes IP addresses of the server and IP addresses of at least one of a plurality of clients available for communication.
- the packet processor processes the data packets to optimize data transfer in response to an analysis of the data packets, and forwards the processed data packets to at least one of the plurality of clients at respective ones of the received IP addresses through a multicast network using the unicast protocol.
- the unicast protocol may be one of SCTP or SCTP-PR.
- the apparatus may further include an IP address repository that stores the association data for access by the packet processor to forward the processed data packets.
- the apparatus may further include a packet buffer that buffers the received data packets, before the data packets are processed, until an expected number of data packets are received.
- the apparatus may further include a packet analyzer that analyzes the buffered data packets to determine a type of processing required.
- the buffered data packets may be analyzed by determining which data packets are redundant, and the packet processor may process the data packets by removing the data packets that are redundant.
- the buffered data packets may further be analyzed by determining which data packets hold the most complete set of data, and the packet processor may process the data packets by compiling a substantially complete set of data packets.
- a client may send an acknowledgment to the server indicating proper receipt of data packets from the multicast network and information including whether packets are delayed.
- the traffic optimizer may receive instructions from the server to skip transmission of certain data packets to a particular IP address of an association based upon an indication that packets are delayed after a client has received the data packets through the multicast network.
- the traffic optimizer may also receive instructions from the server to remove an IP address from an association if it is determined that a particular IP address experiences substantial packet delay after the client has received the data packets through the multicast network.
- a method facilitates communication of data packets using a unicast protocol between a server and at least one of a plurality of clients through a multicast network with a traffic optimizer. Both data including association data and the data packets using the unicast protocol are received from the server.
- the association data includes IP addresses of the server and IP addresses of at least one of a plurality of clients available for communication.
- the analyzed data packets are processed to optimize data transfer in response to analysis of the data packets.
- the processed data packets are forwarded to at least one of the plurality of clients at respective ones of the received IP addresses through a multicast network using the unicast protocol.
- the method may also include buffering the received data packets until an expected number of data packets are received and analyzing the buffered data packets to determine the type of processing required.
- Analyzing may be performed by determining which data packets are redundant, and processing may be performed by removing data packets that are redundant. [0017] Analyzing may also be performed by determining which data packets hold the most complete set of data packets, and processing may be performed by compiling a substantially complete set of data packets.
- the method may also include, sending, with a client, an acknowledgment to the server indicating proper receipt of data packets from the multicast network and information including whether data packets are delayed.
- the method may include skipping the transmission of certain data packets for a particular IP address of an association based upon an indication that packets are delayed after a client has received the data packets through the multicast network.
- the method may also include removing an IP address from an association if it is determined that a particular IP address experiences substantial packet delay after the client has received the data packets through the multicast network.
- the unicast protocol of the method may be one of SCTP or SCTP-PR.
- Figure 1 depicts an example of a system supporting SCTP for concurrent multi-path transmission across both unicast and multicast networks according to the present arrangement
- Figure 2 depicts a traffic optimizer and how data is processed and transmitted according to the present arrangement
- Figure 3 depicts a flow diagram illustrating a process used by a traffic optimizer to improve efficiency in data transmission according to the present arrangement
- Figure 4 depicts a flow diagram illustrating another process used by a traffic optimizer to improve efficiency in data transmission according to the present arrangement.
- FIG. 1 shows an implementation of a protocol boosting scheme that may be applied to SCTP and SCTP-PR using multicast networks.
- server 10 includes content stored on a storage medium that is selectably deliverable to requesting clients. This content may include data representing an association between server 10 and a client, which is discussed further below, and data packets that are to be sent to certain clients based on a corresponding association.
- unicast links are indicated as a close pair of solid-line links denoting bidirectional
- association A 24 relates to an association between the server 10 and the client A device 12.
- Association B 26 relates to an association between the server 10 and the client B 14 device.
- Exemplary clients are depicted as Clients 12, 14 and 16 in Figure 1 which represent Clients A, B and C, respectively.
- Figure 1 depicts three clients, the system is not limited to operation with three clients and may support anywhere from one to a plurality of clients.
- Each individual client 12, 14 or 16 may include several IP addresses used for exchanging data packets with server 10.
- the IP addresses of an individual client are used to create communication paths with IP addresses of server 10 to facilitate the exchange of data packets between an individual client and server 10.
- Server 10 may also form communication paths with individual clients through multiple access networks.
- server 10 can form communication paths with unicast access network 18, and multicast access networks 20 and 22, which correspond to a 3 rd generation partnership project (3 GPP) Unicast network, 3 GPP Multimedia Broadcast and Multicast Services MBMS network and Digital Video Broadcasting - Handheld (DVB-H) network, respectively.
- 3 GPP 3 rd generation partnership project
- 3 GPP Multimedia Broadcast and Multicast Services MBMS 3 GPP Multimedia Broadcast and Multicast Services MBMS network
- DVD-H Digital Video Broadcasting - Handheld
- Figure 1 depicts three access networks, the system is not limited to operation with three access networks and may support connection paths between server 10 and one to a plurality of access networks supporting either unicast of multicast data transmission.
- Unicast access network 18 provides unicast
- Multicast access network 20 and multicast access network 22 are both multicast networks, and only support uni-directional downlinks. As a result, no feedback channels from a respective client 12, 14 or 16 to server 10 are available through multicast access networks 20 and 22.
- Clients 12, 14 and 16 may also have multiple network interfaces and be able to connect with a remote system via different types of communication networks. Specifically, Clients 12 and 14 may connect to a remote system through all three of the aforementioned access networks and thus have both unicast bi-directional and multicast unidirectional links, while Client 16 may only connect to a remote system through multicast access networks 20 and 22. As a result, client 6 only supports multicast uni-directional links.
- a client may be a hardware device including for example, a computer or a mobile device capable of processing data files, running applications, and
- Clients may require data content from a server or other content in order to be able to perform a specific function.
- a client may be an audio/video device that must receive specific data from a server in order to properly process and display the data for a user.
- associations between clients and servers are required in order to facilitate transmission of data.
- Client 12 has a unicast uplink to server 10. This unicast uplink is used to make an SCTP connection request with server 10. This connection request leads to the potential creation of an SCTP association by using a standard four-way handshake procedure, and also described in further detail below.
- An association may be defined as a connection between two endpoints.
- an association between Client 12 and server 10 represents a communication path between the various IP addresses corresponding to Client 12 and the various IP addresses corresponding to server 10.
- an association represents a
- An association also includes data representative of specific data packets which are to be delivered to a particular multicast path within a multicast network. Furthermore, an association also includes data used for indicating IP addresses of a client not associated with the server for transmission of data. This data is used by access networks in determining how data packets may be sent.
- Client 12 transmits data representing an INIT chunk, as defined in SCTP, through a unicast uplink to server 10.
- the ⁇ chunk includes all IP addresses corresponding to the communication paths to which Client 12 is connected and includes data representing confirmation of multicast reception at client 12.
- Server 10 confirms which of the identified paths are available to server 10 for communication by including corresponding IP addresses in data representing an INIT ACK chunk.
- the data representing an ⁇ ACK, as defined in SCTP, chunk is transmitted by server 10 to Client 12 via an access network employing unicast communication, for example, unicast access network 18.
- Client 12 Upon receipt of the data representing an INIT ACK chunk by Client 12, Client 12 generates data representing a TCB (Transmission Control Block) for the SCTP association at the client's side.
- the TCB includes information such as buffer size, maximum transmission unit (MTU) data and sequence number which will be used by the SCTP in order to identify associations.
- Client 12 replies to server 10 with data representing a COOKIE ECHO chunk as defined in SCTP.
- server 10 receives the data representing a COOKIE ECHO chunk
- server 10 When server 10 receives the data representing a COOKIE ECHO chunk, server 10 generates data representing its own TCB for the SCTP association at the server's side and replies with data representing a COOKIE ACK chunk, as defined in SCTP, sent to Client 12. This completes the four-way handshake procedure and forms an SCTP association between server 10 and Client 12 denoted as association A 24 in Figure 1 .
- FIG. 10 Another example of an SCTP association setup involves the same four-way handshake procedure described above, except server 10 initiates communication instead of Client 12.
- Server 10 periodically sends data representing an INIT chunk to Client 12 (or additional clients) through multicast network paths.
- the INIT chunk includes all IP addresses corresponding to the network paths to which server 10 is connected.
- Client 12 For any client supporting a unicast uplink that is interested in having an SCTP connection with server 10, for example, Client 12, a reply including data representing an INIT ACK chunk is sent to server 10.
- Client 12 confirms multicast reception capability by including corresponding IP addresses for multicast communication in the data representing an INIT ACK chunk, as well as IP addresses for unicast communication used by Client 12.
- server 10 When server 10 receives the data representing an INIT ACK chunk, server 10 responds with data representing a COOKIE ECHO chunk that is sent to Client 12. Server 10 also generates data representing a TCB at the server side for the SCTP association with Client 12. When Client 12 receives the data representing a COOKIE ECHO chunk, Client 12 sends data representing a COOKIE ACK chunk to server 10 and generates data representing a TCB for the SCTP association at the client's side. An association of this type would also be denoted as association A 24 in Figure 1 .
- server 10 receives a subsequent SCTP association request from another client, for example, Client 14, the same procedures outlined above may be followed to set up additional SCTP associations, for example, association B 26 shown in Figure 1.
- Multiple associations may be set up and these associations may belong to either a one- to-many SCTP socket or multiple one-to-one SCTP sockets.
- multiple SCTP associations may share one SCTP transport port address, or alternatively, each association may have its own port address.
- SCTP associations cannot be set up between the client and server 10.
- data packets are delivered between server 10 and clients with SCTP associations, such as clients 12 and 14, these clients may specify that certain data packets to be sent to Client 16 through multicast access networks.
- Client 1 6 may be represented as a passive receiver that is only able to receive information from multicast networks.
- Clients 12 and/or 14 may send a specific request to server 10 to send certain data packets to multicast access networks 20 and 22, to which clients 12, 14 and 16 have service subscriptions for requesting and receiving data.
- Client 16 is able to receive data from multicast access networks 20 and 22.
- the server 10 in response to the association data, decides the destination network to which each data packet is sent.
- server 10 may establish multiple SCTP associations with multiple clients. Each association contains multicast paths which represent communication links between server 10 and clients 12, 14 and 16. As established, the SCTP associations allow Server 10 to use SCTP for sending data packets to each client using the corresponding associations. Because server 10 employs SCTP to communicate with clients 12 and 14, server 10 transmits multiple copies of the requested data packets to multicast access networks 20 and 22. However, this results in bandwidth inefficiency.
- FIG. 1 shows two traffic optimizers 28 and 30 coupled with server 10.
- a respective traffic optimizer 28 for MBMS or 30 for DVB-H is connected between server 10 and a respective multicast access network 20 and 22 that is accessible by clients.
- Traffic optimizer modules 28 and 30, as shown in Figure 1 exist for the purpose of alleviating network traffic.
- traffic optimizers also serve to facilitate the transmission of data packets from a server to clients, using data associations, through multicast networks. Traffic optimizers also process data received from a server to ensure that the correct data is sent to an appropriate client in the most network resource efficient fashion. For example, if a certain client is a heavy bandwidth user or if there is heavy congestion in general within the network, then a traffic optimizer may process received data packets and also monitor network conditions to ensure that bandwidth is used and assigned accordingly.
- FIG. 2 depicts a block diagram of the components within an exemplary traffic optimizer 28.
- a communication processor 208 receives data including association data and data packets intended for clients from server 10.
- Communication processor 208 is coupled to IP address repository 210 which may include a computerized storage medium that receives and stores association information including the IP addresses of server 10 and clients 12, 14 and 16 used for establishing communication paths.
- the association data representing IP addresses is stored in order to allow traffic optimizer 28 to be able to properly route data to the correct client IP addresses.
- IP address repository 210 provides the traffic optimizer 28 with knowledge of where data packets originate from and where they should be sent.
- Packet Buffer 220 is also coupled to communication processor 208 and receives data packets from server 10 and stores data packets until there are enough data packets to be analyzed.
- the received stored data packets correspond to content requested by any of clients 12 and 14.
- packet analyzer 230 coupled to packet buffer 220, parses the stored data packets from packer buffer 220 and analyzes the packets to identify the most complete set of data packets or find redundant copies of the same data. Packet analyzer 230 performs the analysis and identification by using a list of sequence numbers of data packets or a list of pointers associated with the data packets to compare with the sequence numbers of the stored data packets. These data packets represent data requested from sever 10 by clients 12 and/or 14.
- Packet processor 240 coupled to packet analyzer 230, then receives the analyzed data packets from packet analyzer 230 as well as the resulting analysis. This allows packet processor 240 to send the most complete set of data packets to the clients or trim off redundant copies of the same data and only send one copy of data. All redundant copies are dropped and discarded, while one copy of data is kept for transmission to a multicast access network. As a result, less bandwidth is used because only one copy of data packets is sent instead of multiple data packets for multiple clients. In addition, in the event of network congestion or connection impairments, the most complete set of data packets is also sent to further ensure that there is minimal loss of data as well as efficiency in transmission. In order to ensure that data packets sent by packet processor 240 are sent to the correct clients, packet processor 240 is also coupled to IP address repository 210 which contains the IP addresses of the various associations between clients and server 10.
- packet processor 240 queries IP Address repository 210 to respond with data representing which particular client or access network IP addresses are to receive specific data packets.
- IP Address repository 210 provides further detail regarding the functions of traffic optimizer 28 in relation to the interconnection of traffic optimizer 28 with clients 12, 14 16, server 10, and networks 18, 20 and 22 depicted in Figure 1.
- FIG. 3 depicts a flowchart of the steps taken by traffic optimizer 28 to improve the efficiency of the transmission of data packets from server 10 to its respective clients.
- the process begins at step 3 10, where traffic optimizer 28 obtains the IP addresses from a particular client/server association identifying where and how data packets are to be sent.
- traffic optimizer 28 receives data packets from server 10. The received data packets are all linked to particular destination IP addresses of clients and corresponding association information indicating the destination of the data packets.
- traffic optimizer 28 buffers the received packets sent by server 10. Because server 10 must send the same data packets to all clients in a multicast network, the data packets that traffic optimizer 28 receives from server 10 corresponding to individual associations should be the same.
- traffic optimizer 28 may analyze the data packets to identify redundant copies of the same data. Then, at step 350, traffic optimizer 28 may process the analyzed data in order to trim off redundant copies of the same data so that only one copy of data packets is forwarded to a destination network. Step 360 involves traffic optimizer 28 delivering the processed data including one copy of data packets along with association data including IP addresses of the destination clients. This data is forwarded to a destination network, which can include one or all or networks 18, 20, and 22. The destination network is ultimately responsible for sending the data packets to particular clients based on association data including destination IP addresses of clients.
- the steps of traffic Optimizer 28 may alternatively be run as a process within server 10, for example, at network layer. Specifically, the functionalities of traffic optimizer 28 may be implemented within server 10 instead of as a stand alone module. Traffic optimizer 30, an additional traffic optimizer shown in Figure 1, which is responsible for communication across DVB-H network 22, operates similarly to traffic optimizer 28 described above.
- Clients 12 and 14 may receive common data packets delivered through a multicast network path. For clients with additional unicast paths as shown in Figure 1, specifically clients 12 and 14, these clients may be able to receive extra data packets from server 10 through unicast downlinks shown in Figure 1. Each client with unicast paths may make specific requests to server 10 to have different data packets sent through its unicast downlink instead of through multicast. Extra data packets may be sent through a unicast downlink for a variety of reasons. Certain data may be specific to a particular client or poor multicast network conditions may require that certain data be sent through unicast.
- Clients 12 and 14 are also able to send a Selective Acknowledgment (SACK) on behalf of all paths in an association, including multicast paths, to server 10 through a unicast uplink.
- SACK is an acknowledgement that packets have been received.
- a client sends a SACK, it acknowledges that the IP addresses corresponding to a particular association are serviceable and may participate in sending and receiving data.
- a SACK also serves as feedback from multiple SCTP associations.
- the amount of packets lost will differ between different IP addresses for different associations since each association may experience different levels of reception impairment.
- Reception impairment is especially prevalent in wireless communication networks where data corruption is commonplace due to poor data reception conditions.
- server 10 may retransmit data packets unsuccessfully sent through multicast links through unicast downlinks to individual clients supporting unicast to facilitate connection and data packet recovery. This provides the system with a safety mechanism for allowing clients to receive intended data even when multicast links are experiencing delay or if a multicast link is not a viable option. If a client detects that data is lost within a multicast link, the client can send feedback to server 10 using its unicast link to request that the server resent the missing data through the unicast link.
- server 10 may send data packets at different data rates for different associations at certain times.
- Figure 4 depicts a flowchart of steps taken by a traffic optimizer to optimize data packet transmission when data packets are sent by a server at different rates for different IP addresses corresponding to different associations.
- traffic optimizer 28 sorts through the data packets to ensure that particular data packets reach the correct client and that these data packets are as complete as possible.
- the process begins at step 410, where traffic optimizer 28 obtains the destination IP addresses from a corresponding association for data packets to be sent through an access network.
- the traffic optimizer 28 receives data packets from server 10 with intended destinations to various clients based on IP addresses from their corresponding associations.
- traffic optimizer 28 caches the received data packets.
- the cached data packets are analyzed to find the most complete set of packets corresponding to the content requested by a respective client. Incomplete sets of data packets may be analyzed and then compiled to form a substantially complete or complete set of data packets at step 450.
- Sequence numbers of data packets are analyzed to determine if a set of data packets is complete or missing certain portions to compare with sequence numbers of stored data packets.
- the substantially complete or complete set of packets is forwarded to a destination multicast network for transmission to particular clients.
- server 10 is able skip transmission of certain data packets through a multicast link if a particular IP address of an association suffers a large amount of delay compared to other IP addresses of the same association. This allows a lagging multicast link for a particular IP address of an association to catch up to data packets which have already been sent to other IP addresses. When a particular link suffers greater loss compared to other links, the data packets transmitted through the links with a better connection suffer delays in data transmission.
- server 10 Since not all data packets are required to be received completely by a client, server 10 is able to determine which data packets are being sent through links that are lagging and appropriately skip the transmission of those data packets. This process is transparent to clients. A client may also report excessive packet loss in a particular multicast link. Upon receipt of data representing excessive packet loss, server 10 may remove the IP address using a particular multicast link from its corresponding association to prevent delay of transmission of data to other IP addresses of clients.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09852119.8A EP2510642B1 (fr) | 2009-12-10 | 2009-12-10 | Renforçateur de protocole pour sctp dans des réseaux de multidiffusion |
CN200980163421.3A CN102763359B (zh) | 2009-12-10 | 2009-12-10 | 多播网络中流控制传输协议的通信量优化器及方法 |
PCT/US2009/006490 WO2011071474A1 (fr) | 2009-12-10 | 2009-12-10 | Renforçateur de protocole pour sctp dans des réseaux de multidiffusion |
KR1020127017837A KR101600060B1 (ko) | 2009-12-10 | 2009-12-10 | 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터 |
JP2012543056A JP5550198B2 (ja) | 2009-12-10 | 2009-12-10 | マルチキャスト・ネットワークにおけるsctpのためのプロトコル・ブースタ |
US13/514,064 US8976787B2 (en) | 2009-12-10 | 2009-12-10 | Protocol booster for SCTP in multicast networks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/006490 WO2011071474A1 (fr) | 2009-12-10 | 2009-12-10 | Renforçateur de protocole pour sctp dans des réseaux de multidiffusion |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011071474A1 true WO2011071474A1 (fr) | 2011-06-16 |
Family
ID=44145807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2009/006490 WO2011071474A1 (fr) | 2009-12-10 | 2009-12-10 | Renforçateur de protocole pour sctp dans des réseaux de multidiffusion |
Country Status (6)
Country | Link |
---|---|
US (1) | US8976787B2 (fr) |
EP (1) | EP2510642B1 (fr) |
JP (1) | JP5550198B2 (fr) |
KR (1) | KR101600060B1 (fr) |
CN (1) | CN102763359B (fr) |
WO (1) | WO2011071474A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2685664A1 (fr) | 2012-07-12 | 2014-01-15 | Thomson Licensing | Transmission de multidiffusion à l'aide d'un protocole de monodiffusion |
US9787801B2 (en) | 2012-06-04 | 2017-10-10 | Thomson Licensing | Data transmission using a multihoming protocol as SCTP |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8780907B2 (en) * | 2011-10-03 | 2014-07-15 | Verizon Patent And Licensing Inc. | Optimized file repair architecture for mobile broadcast multicast system (MBMS) |
US9628935B2 (en) * | 2011-11-15 | 2017-04-18 | Qualcomm Incorporated | Group communications with mixed casting services |
CN109756846A (zh) * | 2017-11-06 | 2019-05-14 | 成都鼎桥通信技术有限公司 | 群组通信的补包方法和系统 |
CN114363830B (zh) * | 2020-09-28 | 2023-09-05 | 中国移动通信有限公司研究院 | 多播数据的处理方法、核心网网关、业务服务器及终端 |
US11888867B2 (en) * | 2020-12-09 | 2024-01-30 | Arbor Networks, Inc. | Priority based deep packet inspection |
US20220217225A1 (en) * | 2021-01-06 | 2022-07-07 | Parallel Wireless, Inc. | Handling of SCTP Packets with T-bit Set at SCTP Load Balancer |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050002365A1 (en) * | 2002-01-22 | 2005-01-06 | Shugong Xu | Systems and methods for acknowledgement of multi-cast traffic |
US6873659B2 (en) * | 1999-12-30 | 2005-03-29 | Itis | Transmission system with spatial, temporal, and frequential diversity |
US20050188108A1 (en) * | 2002-10-31 | 2005-08-25 | Volera, Inc. | Enriched tree for a content distribution network |
US20050208942A1 (en) * | 2004-03-19 | 2005-09-22 | Nokia Corporation | Advanced handover in phased-shifted and time-sliced networks |
US20060193295A1 (en) * | 2004-11-19 | 2006-08-31 | White Patrick E | Multi-access terminal with capability for simultaneous connectivity to multiple communication channels |
US20070002858A1 (en) * | 2003-10-07 | 2007-01-04 | Guillaume Bichot | Multicast over unicast in a network |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189039B1 (en) * | 1997-04-10 | 2001-02-13 | International Business Machines Corporation | Selective tunneling of streaming data |
US6259701B1 (en) * | 1997-09-11 | 2001-07-10 | At&T Corp. | Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session |
US6724761B1 (en) * | 1999-09-29 | 2004-04-20 | Northrop Grumman Corporation | Method and apparatus for serial cell replication for multicast in a cell switch |
US20030063608A1 (en) * | 2001-10-03 | 2003-04-03 | Moonen Jan Renier | Multicast discovery protocol uses tunneling of unicast message |
JP3809813B2 (ja) * | 2002-08-21 | 2006-08-16 | 日本電信電話株式会社 | コンテンツ配信方法およびこれを用いるコンテンツ配信システム |
JP3731885B2 (ja) * | 2003-07-03 | 2006-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム |
WO2005004419A1 (fr) * | 2003-07-07 | 2005-01-13 | Ntt Docomo, Inc. | Systeme de communication, routeur pouvant fonctionner en multidiffusion, terminal emetteur, terminal recepteur et procede de communication |
US20070110074A1 (en) * | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
JP4524215B2 (ja) * | 2005-03-24 | 2010-08-11 | 富士通株式会社 | マルチキャスト通信方法及びホームエージェント及び移動ノード |
CN1697354B (zh) * | 2005-06-17 | 2010-05-05 | 顾红波 | 用组播和单播协议可靠传输数据的方法及接收数据的主机 |
US8625548B2 (en) | 2005-11-14 | 2014-01-07 | Broadcom Corporation | Access points of different types exchanging addresses and rules to support end points devices |
US7889732B2 (en) * | 2005-12-22 | 2011-02-15 | Alcatel-Lucent Usa, Inc. | Method for converting between unicast sessions and a multicast session |
EP1989852B1 (fr) * | 2006-02-27 | 2017-05-24 | Telefonaktiebolaget LM Ericsson (publ) | Mecanisme de contrôle de flux au moyen d'accuses de reception locaux et globaux |
TWI482460B (zh) * | 2008-05-30 | 2015-04-21 | Marvell Int Ltd | 網路處理器單元及其相關方法 |
US8713627B2 (en) * | 2008-08-14 | 2014-04-29 | Juniper Networks, Inc. | Scalable security services for multicast in a router having integrated zone-based firewall |
JP5195583B2 (ja) * | 2009-03-30 | 2013-05-08 | 日本電気株式会社 | 階層化マルチキャスト受信中継システム、方法、装置、及びプログラム |
-
2009
- 2009-12-10 US US13/514,064 patent/US8976787B2/en not_active Expired - Fee Related
- 2009-12-10 KR KR1020127017837A patent/KR101600060B1/ko not_active IP Right Cessation
- 2009-12-10 EP EP09852119.8A patent/EP2510642B1/fr not_active Not-in-force
- 2009-12-10 JP JP2012543056A patent/JP5550198B2/ja not_active Expired - Fee Related
- 2009-12-10 CN CN200980163421.3A patent/CN102763359B/zh not_active Expired - Fee Related
- 2009-12-10 WO PCT/US2009/006490 patent/WO2011071474A1/fr active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6873659B2 (en) * | 1999-12-30 | 2005-03-29 | Itis | Transmission system with spatial, temporal, and frequential diversity |
US20050002365A1 (en) * | 2002-01-22 | 2005-01-06 | Shugong Xu | Systems and methods for acknowledgement of multi-cast traffic |
US20050188108A1 (en) * | 2002-10-31 | 2005-08-25 | Volera, Inc. | Enriched tree for a content distribution network |
US20070002858A1 (en) * | 2003-10-07 | 2007-01-04 | Guillaume Bichot | Multicast over unicast in a network |
US20050208942A1 (en) * | 2004-03-19 | 2005-09-22 | Nokia Corporation | Advanced handover in phased-shifted and time-sliced networks |
US20060193295A1 (en) * | 2004-11-19 | 2006-08-31 | White Patrick E | Multi-access terminal with capability for simultaneous connectivity to multiple communication channels |
Non-Patent Citations (1)
Title |
---|
See also references of EP2510642A4 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9787801B2 (en) | 2012-06-04 | 2017-10-10 | Thomson Licensing | Data transmission using a multihoming protocol as SCTP |
EP2685664A1 (fr) | 2012-07-12 | 2014-01-15 | Thomson Licensing | Transmission de multidiffusion à l'aide d'un protocole de monodiffusion |
EP2685665A1 (fr) | 2012-07-12 | 2014-01-15 | Thomson Licensing | Transmission de multidiffusion à l'aide d'un protocole de monodiffusion |
CN103546302A (zh) * | 2012-07-12 | 2014-01-29 | 汤姆逊许可公司 | 使用单播协议的多播传输 |
US9425975B2 (en) | 2012-07-12 | 2016-08-23 | Thomson Licensing | Multicast transmission using a unicast protocol |
Also Published As
Publication number | Publication date |
---|---|
US8976787B2 (en) | 2015-03-10 |
CN102763359B (zh) | 2016-01-20 |
EP2510642A4 (fr) | 2013-10-02 |
JP5550198B2 (ja) | 2014-07-16 |
KR101600060B1 (ko) | 2016-03-14 |
CN102763359A (zh) | 2012-10-31 |
KR20120123308A (ko) | 2012-11-08 |
JP2013513996A (ja) | 2013-04-22 |
EP2510642B1 (fr) | 2016-02-24 |
US20120243459A1 (en) | 2012-09-27 |
EP2510642A1 (fr) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2510642B1 (fr) | Renforçateur de protocole pour sctp dans des réseaux de multidiffusion | |
US8989185B2 (en) | Method and apparatus for converting a multicast session to a unicast session | |
KR101495369B1 (ko) | 모바일 tv를 위한 로버스트 파일 캐스팅 | |
EP1411688B1 (fr) | Procédé et appareil pour la retransmission de données de multidiffusion | |
US8612617B2 (en) | Reliable multicast transport protocol | |
US7289500B1 (en) | Method and system for reliable multicast data transmission | |
US8656241B2 (en) | Cell dependent multi-group hybrid automatic repeat request method for multicast in wireless networks | |
US11290525B2 (en) | Opportunistic content delivery using delta coding | |
US20100017673A1 (en) | Data transmission system and data transmission method | |
CA2770432A1 (fr) | Identification et retransmission de parties tronquees | |
JP4859987B2 (ja) | 適応的でスケーラブルなパケット誤り訂正装置及び方法 | |
WO2006133655A1 (fr) | Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees | |
JP2013507826A (ja) | ネットワークにおける信頼性の高いリアルタイム・データストリーミングのための効率的なアプリケーションレイヤの自動再送要求の再送信方法 | |
US7385978B1 (en) | Method and apparatus for reliable multicast distribution | |
KR100883576B1 (ko) | 멀티캐스트/브로드캐스트 데이터 배포를 위한 데이터 복구강화 | |
US20080098089A1 (en) | Method and apparatus for retransmission request reduction in a network | |
CN113824540B (zh) | 组播重传方法、装置、服务器以及存储介质 | |
US11882340B2 (en) | Content distribution system, unicast multicast converter, content distribution method and content distribution program | |
US12034558B2 (en) | Content distribution system, multicast unicast / multicast multicast converter, multicast unicast converter, content distribution method and content distribution program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980163421.3 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09852119 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009852119 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13514064 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012543056 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20127017837 Country of ref document: KR Kind code of ref document: A |