KR101600060B1 - 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터 - Google Patents
다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터 Download PDFInfo
- Publication number
- KR101600060B1 KR101600060B1 KR1020127017837A KR20127017837A KR101600060B1 KR 101600060 B1 KR101600060 B1 KR 101600060B1 KR 1020127017837 A KR1020127017837 A KR 1020127017837A KR 20127017837 A KR20127017837 A KR 20127017837A KR 101600060 B1 KR101600060 B1 KR 101600060B1
- Authority
- KR
- South Korea
- Prior art keywords
- data packet
- server
- data
- packet
- client
- Prior art date
Links
Images
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]
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
트래픽 최적화기가 다중캐스트 네트워크를 통한 단일캐스트 프로토콜을 사용하는 서버와 복수의 클라이언트 중 최소한 하나 사이의 통신을 용이하게 한다. 트래픽 최적화기는 통신 프로세서와 패킷 프로세서를 포함한다. 통신 프로세서는 결부 데이터와 데이터 패킷을 포함하는 양 데이터를 단일캐스트 프로토콜을 사용하여 서버로부터 수신한다. 결부 데이터는 서버의 IP 주소와 통신을 위하여 이용 가능한 복수의 클라이언트 중 최소한 하나의 IP 주소를 포함한다. 패킷 프로세서는 데이터 패킷의 분석에 응답하여 데이터 전송을 최적화하기 위해 데이터 패킷을 처리하고, 단일캐스트 프로토콜을 사용하여 다중캐스트 네트워크를 통하여 수신한 IP 주소 중 대응되는 주소에 있는 복수의 클라이언트 중 최소한 하나로 처리된 데이터 패킷을 포워드한다.
Description
본 발명은 표준 프로토콜 이외의 구성요소를 사용하는 다중접속/다중경로 네트워킹 환경에서 스트림 제어 전송 프로토콜(Stream Control Transmission Protocol, SCTP)과 스트림 제어 전송 프로토콜-부분적 신뢰성(Stream Control Transmission Protocol-Partial Reliability, SCTP-PR)을 채용하는 시스템에 대한 다중캐스트 지원을 제공한다.
SCTP는 인터넷 공학 특별위원회(Internet Enginering Task Force, IETF)에 의해 표준화된 신뢰성 있는 전송 프로토콜이다. IETF RFC 4960, "스트림 제어 전송 프로토콜"(Stream control transmission protocol) 및 S. Fu와 M. Atiquzzaman이 저술한, "SCTP: 연구, 제품, 기술적 도전에서의 최첨단", 전지전자기술자협회 통신회보 2004년 4월호(SCTP: state of the art in research, products, and technical challenges, IEEE Communication Magazine, April 2004)라는 논문에서 기술한 바와 같이, SCTP는 다중스트리밍(multistreaming) 및 다중호밍(multihoming)과 같은 특징을 지원한다. SCTP-PR은 상위 레이어(layer) 프로토콜에 부분적으로 신뢰성 있는 데이터 전송을 제공하는 SCTP 구현을 허용하는, SCTP의 확장이다.
F. Yong, W. Chee, S. Ramadass가 저술한 "M-SCTP: 전송 레이어 다중캐스팅 프로토콜"(M-SCTP: transport layer multicasting protocol)이라는 국립 컴퓨터과학 대학원 학회(National Computer Science Postgraduate Colloquium, NaCSPC) 2005에 게재된 논문에서 다중캐스트 SCTP(M-SCTP)를 이용하는 체계가 기술되었다. 이 체계는 SCTP 서버와 그 SCTP 클라이언트 사이에 M-SCTP 서버 스택을 더한다. 서버 스택은 다중캐스트 서버의 자원을 관리하고 다중캐스트 멤버쉽을 제어한다. 그러나, 이 체계는 다중캐스트 능력을 재귀적인 단일캐스트 프로토콜 메시지 전송을 사용함으로써 얻는다. 다른 말로, 다중캐스트는 서버 스택에 의해 데이터 패킷을 중복시켜 복수의 단일캐스트 프로토콜 메시지 전송을 사용하여 각 클라이언트에 데이터 패킷을 개별적으로 전송함으로써 실현된다. 따라서, 이 체계는 낮은 대역폭 효율성 또는 열악한 시스템 확장성(scalability)으로부터 유래하는 문제를 해결하지 못한다.
SCTP에 다중캐스트 지원을 더하기 위하여 존재하는 체계가 있다. 이 체계에서는 서버 측에서 복수의 결부(association)로 구성되는 일대다 식의 SCTP 소켓이 열린다. 각 결부는 두 개의 종결점(endpoint)을 가지며, 하나는 서버에, 다른 하나는 다중캐스트 네트워크 안의 단일캐스트 능력을 지니는 대응하는 클라이언트에 있다. 이에 더하여 각 결부는 다중캐스트 네트워크 연결에 대응하는 경로와, 단일캐스트 네트워크 연결에 대응하는 다른 경로들을 포함한다. SCTP 소켓의 복수 개의 결부 내의 다중캐스트 경로는 같은 다중캐스트 IP 주소와 전송 포트 주소를 공유한다. 서버는 따라서 데이터 패킷의 하나의 사본만을 송출할 수 있으나 다중캐스트를 통하여 모든 클라이언트들에 도달할 수 있다. 결과적으로, 높은 대역폭 효율성이 얻어질 수 있으며 이 체계를 채용하는 시스템은 다중캐스트 네트워크에서 증가된 수의 클라이언트에 대해 잘 확장될 수 있다.
그러나, 앞서 언급한 체계는 프로토콜에 일정한 변경이 가해질 것을 요구한다. 예컨대, 서버 측에서 소켓 내의 복수 개의 결부를 통해, 단 하나의 데이터 패킷의 사본이 공유된 다중캐스트 경로로 송출되도록 SCTP 프로토콜이 변경되어야 한다. 프로토콜에 대한 변경이 제한된 응용에서는, 이 점 때문에 체계가 작동하지 못한다. 그에 더하여, 공유된 다중캐스트 경로에 기인하여, 모든 클라이언트가 같은 데이터 패킷의 집합을 수신하여야 하기 때문에 모든 클라이언트가 같은 SCTP 포트 주소를 가지도록 요구된다. 점유된 포트 주소를 가지는 클라이언트는 같은 포트 주소를 다중캐스트 데이터 패킷을 수신하기 위해 사용할 수 없다. 본 발명은 앞서 언급한 체계가 SCTP 또는 SCTP-PR 프로토콜에 명시적인 변경 없이 작동하도록 허용한다.
트래픽 최적화기가 다중캐스트 네트워크를 통한 서버와 복수의 클라이언트 중 최소한 하나 사이에서 단일캐스트 프로토콜을 사용하는 데이터 패킷의 통신을 용이하게 한다. 트래픽 최적화기는 통신 프로세서와 패킷 프로세서를 포함한다. 통신 프로세서는 결부 데이터와 데이터 패킷을 포함하는 양 데이터를 단일캐스트 프로토콜을 사용하여 서버로부터 수신한다. 결부 데이터는 서버의 IP 주소와 통신을 위하여 이용 가능한 복수의 클라이언트 중 최소한 하나의 IP 주소를 포함한다. 패킷 프로세서는 데이터 패킷의 분석에 응답하여 데이터 전송을 최적화하기 위해 데이터 패킷을 처리하고, 단일캐스트 프로토콜을 사용하여 다중캐스트 네트워크를 통하여 수신한 IP 주소 중 대응되는 주소에 있는 복수의 클라이언트 중 최소한 하나로 처리된 데이터 패킷을 포워드한다.
단일캐스트 프로토콜은 SCTP 또는 SCTP-PR 중 하나일 수 있다. 장치는 처리된 데이터 패킷을 포워드하기 위한 패킷 프로세서에 의한 접근을 위해 결부 데이터를 저장하는 IP 주소 저장소를 더 포함할 수 있다.
장치는 데이터 패킷이 처리되기 전에, 예상된 수의 데이터 패킷이 수신될 때 까지, 수신된 데이터 패킷을 버퍼링하는 패킷 버퍼를 더 포함할 수 있다. 장치는 요구되는 처리의 타입을 결정하기 위하여 버퍼링된 상기 데이터 패킷을 분석하는 패킷 분석기를 더 포함할 수 있다.
버퍼링된 데이터 패킷은 어떤 데이터 패킷이 중복되었는가를 결정함으로써 분석될 수 있으며, 패킷 프로세서는 중복된 데이터 패킷을 제거함으로써 데이터 패킷을 처리할 수 있다.
버퍼링된 데이터 패킷은 어떤 데이터 패킷이 가장 완전한 데이터 집합을 포함하는가를 결정함으로써 더 분석될 수 있으며, 패킷 프로세서는 데이터 패킷의 실질적으로 완전한 집합을 컴파일(compile)함으로써 데이터 패킷을 처리할 수 있다.
클라이언트는 다중캐스트 네트워크로부터 데이터 패킷을 성공적으로 수신하였음을 표시하고 패킷이 지연되었는지 여부를 포함하는 정보를 표시하는 승인을 서버로 송출할 수 있다.
트래픽 최적화기는 클라이언트가 다중캐스트 네트워크를 통하여 데이터 패킷을 수신한 뒤 패킷이 지연되었다는 표시에 기반하여 어떤 결부 내의 특정한 IP 주소로의 어떤 데이터 패킷의 전송을 누락시키라는 서버로부터의 지시를 수신할 수 있다.
트래픽 최적화기는 또한 클라이언트가 다중캐스트 네트워크를 통하여 데이터 패킷을 수신한 뒤 어떤 특정한 IP 주소가 실질적인 패킷 지연을 경험하였다고 결정되었다면 어떤 결부 내의 IP 주소를 제거하라는 서버로부터의 지시를 수신할 수 있다.
단일캐스트 프로토콜을 사용하여 다중캐스트 네트워크를 통해 서버와 복수의 클라이언트 중 최소한 하나 사이에서 데이터 패킷이 통신하는 것을 방법이 트래픽 최적화기로 용이하게 한다. 서버로부터 단일캐스트 프로토콜을 사용하여 결부 테이터와 상기 데이터 패킷을 포함하는 양 데이터가 수신된다. 결부 데이터는 서버의 IP 주소 및 통신을 위해 이용 가능한 복수의 클라이언트 중 최소한 하나의 IP 주소를 포함한다. 분석된 데이터 패킷은 데이터 패킷의 분석에 응답하여 데이터 전송을 최적화하기 위해 처리된다. 처리된 데이터 패킷은 단일캐스트 프로토콜을 사용하여 다중캐스트 네트워크를 통하여 수신된 IP 주소 중 대응되는 주소에 있는 복수의 클라이언트 중 최소한 하나로 포워딩된다.
방법은 또한 예상된 수의 데이터 패킷이 수신될 때까지 수신된 데이터 패킷을 버퍼링하는 단계와 요구되는 처리의 타입을 결정하기 위하여 버퍼링된 데이터 패킷을 분석하는 단계를 더 포함할 수 있다.
분석은 어떤 데이터 패킷이 중복되었는가를 결정함으로써 수행될 수 있고, 상기 처리는 중복된 데이터 패킷을 제거함으로써 수행될 수 있다.
분석은 또한 어떤 데이터 패킷이 가장 완전한 데이터 집합을 포함하는가를 결정함으로써 수행될 수 있고, 처리는 데이터 패킷의 실질적으로 완전한 집합을 컴파일함으로써 수행될 수 있다.
방법은 또한 클라이언트가 서버에게 다중캐스트 네트워크로부터 데이터 패킷을 성공적으로 수신하였음을 표시하고 데이터 패킷이 지연되었는지 여부를 포함하는 정보를 표시하는 승인을 송출하는 단계를 더 포함할 수 있다.
방법은 클라이언트가 다중캐스트 네트워크를 통하여 데이터 패킷을 수신한 뒤 패킷이 지연되었다는 표시에 기반하여 결부 내의 특정한 IP 주소로의 어떤 데이터 패킷의 전송을 누락시키는 단계를 포함할 수 있다.
방법은 또한 클라이언트가 다중캐스트 네트워크를 통하여 데이터 패킷을 수신한 뒤 어떤 특정한 IP 주소가 실질적인 패킷 지연을 경험하였다고 결정되었다면 어떤 결부 내의 IP 주소를 제거하는 단계를 더 포함할 수 있다.
방법의 단일캐스트 프로토콜은 SCTP 또는 SCTP-PR 중의 하나일 수 있다.
본 발명의 부가적인 특징과 이점은 이하의 부합하는 도면에 대한 참조와 함께 진행하는 설명적인 실시의 상세한 기술을 따라간다면 명백하다.
도 1은 본 발명에 부합하여 단일캐스트와 다중캐스트 네트워크 모두에 걸쳐 동시적 다중경로 전송(concurrent multi-path transmission)을 위한 SCTP를 지원하는 시스템의 예를 도시하는 도면;
도 2는 본 발명에 부합하는 트래픽 최적화기와 데이터가 처리되고 전송되는 방법을 도시하는 도면;
도 3은 본 발명에 부합하여 트래픽 최적화기가 데이터 전송의 효율성을 향상시키기 위하여 사용하는 절차를 설명하는 흐름도;
도 4는 본 발명에 부합하여 트래픽 최적화기가 데이터 전송의 효율성을 향상시키기 위하여 사용하는 또 다른 절차를 설명하는 흐름도이다.
도 2는 본 발명에 부합하는 트래픽 최적화기와 데이터가 처리되고 전송되는 방법을 도시하는 도면;
도 3은 본 발명에 부합하여 트래픽 최적화기가 데이터 전송의 효율성을 향상시키기 위하여 사용하는 절차를 설명하는 흐름도;
도 4는 본 발명에 부합하여 트래픽 최적화기가 데이터 전송의 효율성을 향상시키기 위하여 사용하는 또 다른 절차를 설명하는 흐름도이다.
여기 개시된 본 발명은 다중캐스트 방송이 SCTP, SCTP-PR 또는 TCP를 지원하는 능력을 갖춘 시스템에 응용될 수 있게 하는 체계를 제공한다. 도 1은 다중캐스트 네트워크를 사용하는 SCTP와 SCTP-PR에 응용될 수 있는 프로토콜 부스팅 체계의 구현을 도시한다. 도 1에서, 서버(10)는 저장 매체에 저장되고 요구하는 클라이언트에 선택가능하게 전달될 수 있는 컨텐트를 포함한다. 이 컨텐트는 이하에서 더 논의되는, 서버(10)와 클라이언트 사이의 결부와 대응되는 결부에 기반하여 특정한 클라이언트로 송출되는 데이터 패킷을 표시하는 데이터를 포함할 수 있다. 도 1에서, 단일캐스트 연결은 한 쌍의 링크를 사용하는 양방향 통신을 표시하는 실선 연결의 가까운 쌍으로 표현된다. 단방형의 점선 연결은 다중캐스트 링크를 표현한다. 도 1의 삼각형과 사각형은 SCTP 결부를 표현한다. 특히 삼각형은 SCTP 결부 A를 표시하고 사각형은 SCTP 결부 B를 표시한다. 도 1의 특정한 예에서, 결부 A(24)는 서버(10)와 클라이언트 A 장비(12) 사이의 결부에 관련된다. 결부 B(26)는 서버(10)와 클라이언트 B 장비(14) 사이의 결부에 관련된다.
도 1에서 클라이언트 A, B, C를 각 표시하는 예시적인 클라이언트가 클라이언트(12, 14, 16)로 도시되었다. 비록 도 1이 세 클라이언트를 도시하더라도, 시스템은 세 개의 클라이언트와 작동하도록 한정되지 않으며 하나로부터 복수 개의 클라이언트 중 임의의 개수를 지원할 수 있다. 각 개별 클라이언트(12, 14, 16)는 서버(10)와 데이터 패킷을 교환하는데 사용되는 몇 개의 IP 주소를 포함할 수 있다. 개별 클라이언트와 서버(10) 사이의 데이터 패킷의 교환을 용이하게 하기 위해 개별 클라이언트의 IP 주소는 서버(10)의 IP 주소와 통신 경로를 만드는 데 사용된다. 서버(10)는 또한 복수 개의 접근(access) 네트워크를 통해 개별 클라이언트와 통신 경로를 형성할 수 있다. 예컨대, 도 1에서 도시된 바와 같이, 서버(10)는 제3세대 파트너쉽 프로젝트(3rd generation partnership project, 3GPP) 단일캐스트 네크워크, 3GPP 멀티미디어 방송과 다중캐스트 서비스 MBMS 네트워크 및 디지털 비디오 방송 핸드헬드(Digital Video Broadcasting-Handheld, DVB-H) 네트워크에 각 대응하는, 단일캐스트 접근 네트워크(18) 및 다중캐스트 접근 네트워크(20, 22)와 통신 경로를 형성할 수 있다. 비록 도 1이 세 가지 접근 네트워크를 도시하더라도, 시스템은 세 가지 접근 네트워크와 작동하도록 한정되지 않으며 서버(10)와 단일캐스트 또는 다중캐스트 데이터 전송을 지원하는 하나로부터 복수개의 접근 네트워크 사이의 연결 경로를 지원할 수 있다. 단일캐스트 접근 네트워크(18)는 서버(10)와 각 대응하는 클라이언트 사이의 양방향 업링크(uplink)와 다운링크(downlin)를 지원하는 단일캐스트 통신 지원 능력을 제공한다. 다중캐스트 접근 네트워크(20)와 다중캐스트 접근 네트워크(22)는 모두 다중캐스트 네크워크이며, 단방향 다운링크만을 지원한다. 결과적으로, 대응하는 클라이언트(12, 14, 16)로부터 서버(10)로의 피드백 채널은 다중캐스트 접근 네트워크(20, 22)를 통해 이용가능하지 않다. 클라이언트(12, 14, 16)는 또한 복수개의 네트워크 인터페이스를 가질 수 있으며 서로 다른 타입의 통신 네트워크를 통하여 원격 시스템과 연결될 수 있다. 특히, 클라이언트(12, 14)는 앞서 언급된 세 가지 접근 네트워크 모두를 통해 원격 시스템에 연결할 수 있으며, 따라서 단일캐스트 양방향과 다중캐스트 단방향 연결 모두를 가질수 있는 반면, 클라이언트(16)는 다중캐스트 접근 네트워크(20, 22)를 통해서 원격 시스템에 연결할 수 있을 뿐이다. 결과적으로 클라이언트(16)는 다중캐스트 단방향 연결만을 지원한다.
클라이언트는 예컨대, 데이터 파일 처리, 응용프로그램 수행, 그리고 데이터의 전송 및 수신 그리고 데이터의 처리에 관한 지시를 위하여 서버와 통신할 수 있는 컴퓨터 또는 모바일 장비를 포함하는 하드웨어 장비일 수 있다.
클라이언트는 특정한 기능을 수행할 수 있도록 하기 위해 서버로부터의 컨텐트 또는 다른 컨텐트를 요구할 수 있다. 예컨태, 클라이언트는 데이터를 적절히 처리하고 사용자에게 디스플레이하기 위해 특정한 데이터를 서버로부터 수신해야만 하는 오디오/비디오 장비일 수 있다. 따라서, 클라이언트와 서버 사이의 결부는 데이터의 전송을 용이하게 하기 위해 요구된다.
SCTP 결부의 생성의 예가 다음 문단에서 논의된다. 클라이언트(12)는, 전술한 대로, 서버(10)로의 단일캐스트 업링크를 가진다. 이 단일캐스트 업링크는 서버(10)와의 SCTP 연결 요청을 생성하기 위해 사용된다. 이 연결 요청은 또한 이하에서 더 상세하게 설명되는, 표준 4웨이 핸드쉐이크(4way handshake) 절차를 사용함으로써 SCTP 결부의 잠재적인 생성으로 나아갈 수 있다.
결부는 두 종결점 사이의 연결로 정의될 수 있다. 예컨대, 클라이언트(12)와 서버(10) 사이의 결부는 클라이언트(12)에 대응하는 다양한 IP 주소와 서버(10)에 대응하는 다양한 IP 주소 사이의 통신 경로를 표현한다. 따라서, 결부는 다양한 IP 주소에 위치한 시스템 사이의 통신 경로를 표현한다. 결부는 또한 다중캐스트 네트워크 내의 특정한 다중캐스트 경로로 전달되는 특정한 데이터 패킷을 표현하는 데이터를 포함한다. 그에 더하여, 결부는 또한 데이터 전송과 관련해 서버와 결부되지 않은 클라이언트의 IP 주소를 표시하는 데에 사용된 데이터를 포함한다. 이 데이터는 어떻게 데어터 패킷이 송출될 수 있는가를 결정하는 데에 참조 네트워크에 의해 사용될 수 있다.
서버(10)와의 통신 요청을 개시하기 위해서, 클라이언트(12)는 INIT 청크(chunk)를 표현하는 데이터를, SCTP에 정의된 대로, 서버(10)로의 단일캐스트 업링크를 통해서 전송한다. INIT 청크는 클라이언트(12)로 연결되는 모든 통신 경로에 대응하는 IP 주소를 모두 포함하며 클라이언트(12)에서의 다중캐스트 수신(reception)의 확인을 표현하는 데이터를 포함한다. 서버(10)는 INIT ACK 청크를 표현하는 데이터에 대응하는 IP 주소를 포함시킴으로써 어떤 특정된 경로가 통신을 위해 서버(10)로 이용가능한지를 확인한다. INIT ACK 청크를 표현하는 데이터는, SCTP에 정의된 대로, 예컨대 단일캐스트 접근 네트워크(18)와 같은 단일캐스트 통신을 채용하는 접근 네트워크를 통해 서버(10)에 의해 클라이언트(12)로 전송된다. INIT ACK 청크를 표현하는 데이터가 클라이언트(12)에 의해 수신되면, 클라이언트(12)는 클라이언트 측의 SCTP 결부에 대한 TCB(Transmission Control Block, 전송 제어 블록)를 표현하는 데이터를 생성한다. TCB는 SCTP에 의해 결부를 특정하기 위하여 사용될 버퍼 크기, 최대 전송 단위(maximum tranmission data, MTU) 데이터와 시퀀스 번호와 같은 정보를 포함한다. 클라이언트(12)는 그리고 SCTP에 정의된 대로 COOKIE ECHO 청크를 표현하는 데이터를 서버(10)로 회신한다. 서버(10)가 COOKIE ECHO 청크를 표현하는 데이터를 수신할 때, 서버(10)는 서버측 SCTP 결부에 대한 그 자신의 TCB를 표현하는 데이터를 생성하고 SCTP에 정의된 대로, 클라이언트(12)로 송출된 COOKIE ACK 청크를 표현하는 데이터와 함께 회신한다. 이는 4웨이 핸드쉐이크 절차를 완결하며 도 1에서 결부 A(24)로 표현된 서버(10)와 클라이언트(12) 사이의 SCTP 결부를 형성한다.
다른 SCTP 결부 수립의 예는 클라이언트(12) 대신 서버(10)가 통신을 개시한다는 점을 제외하고, 위에서 기술된 같은 4웨이 핸드쉐이크 절차를 수반한다. 서버(10)는 주기적으로 INIT 청크를 표현하는 데이터를 클라이언트(12)(또는 부가적인 클라이언트)로 다중캐스트 네트워크 경로를 통하여 발신한다. INIT 청크는 서버(10)가 연결된 모든 네트워크 경로에 대응하는 모든 IP 주소를 포함한다. 서버(10)와 SCTP 연결을 가지는데 관심이 있고 단일캐스트 업링크를 지원하는 모든 클라이언트, 예컨대 클라이언트(12)에 대해서, INIT ACK 청크를 표현하는 데이터를 포함하는 회신이 서버(10)로 송출된다. 클라이언트(12)는 INIT ACK 청크를 표현하는 데이터 내에 다중캐스트 통신을 위한 대응하는 IP 주소를 포함시키고, 또한 클라이언트(12)에 의해 사용된 단일캐스트 통신을 위한 IP 주소를 포함시킴으로써 다중캐스트 수신 능력을 확인한다. 서버(10)가 INIT ACK 청크를 표현하는 데이터를 수신할 때, 서버(10)는 클라이언트(12)로 송출되는 COOKIE ECHO 청크를 표현하는 데이터로 응답한다. 서버(10)는 또한 클라이언트(12)와의 서버측에서의 SCTP 결부를 위한 TCB를 표현하는 데이터를 생성한다. 클라이언트(12)가 COOKIE ECHO 청크를 표현하는 데이터를 수신할 때, 클라이언트(12)는 서버(10)로 COOKIE ACK 청크를 표현하는 데이터를 송출하고 클라이언트 측에서의 SCTP 결부를 위한 TCB를 표현하는 데이터를 생성한다. 이 타입의 결부 역시 결부 A(24)로 도 1에 표현된다.
만일 서버(10)가 이어지는 SCTP 결부 요청을 다른 클라이언트, 예컨대 클라이언트(14)로부터 수신하면, 추가적인 SCTP 결부, 예컨대 도 1에 도시된 결부 B(26)를 수립하기 위해서 상기 설명된 것과 같은 절차를 따를 수 있다. 복수의 결부가 수립될 수 있고 이 결부들은 일대다 SCTP 소켓 또는 복수의 일대일 SCTP 소켓 어느 쪽에도 속할 수 있다. 특히, 복수의 SCTP 결부는 하나의 SCTP 전송 포트 주소를 공유하거나, 대안적으로 각 결부가 그 자신의 포트 주소를 가질 수 있다.
단일캐스트 피드백 능력을 보유하지 않고, 그러나 단지 다중캐스트 수신 능력만 지원하는, 클라이언트(16)와 같은 클라이언트에 대해서는, SCTP 결부가 클라이언트와 서버(10) 사이에 수립될 수 없다. 그러나, 데이터 패킷이 서버(10)와 클라이언트(12, 14)와 같은 클라이언트 사이에 SCTP 결부를 통해 전달될 때, 이 클라이언트는 어떤 데이터 패킷이 클라이언트(16)로 다중캐스트 접근 네트워크를 통하여 전달되도록 설정할 수 있다. 본 발명에서, 클라이언트(16)는 다중캐스트 네트워크로부터 정보를 수신할 수만 있는 수동 수신기(passive receiver)로 표현될 수 있다. 특히, 클라이언트(12 그리고/또는 14)는, 클라리언트(12, 14, 16)가 데이터를 요청하고 수신하는 서비스 구독을 가지는 다중캐스트 접근 네트워크(20, 22)로 어떤 데이터 패킷을 송출하라는 특정한 요청을 서버(10)에 송출할 수 있다. 클라이언트(16)는 다중캐스트 접근 네트워크 (20, 22)로부터 데이터를 수신할 수 있다. 서버(10)는, 결부된 데이터에 응답하여, 각 데이터 패킷이 송출될 목적지 네트워크를 결정한다.
일단 SCTP 결부가 서버(10)와 그 대응하는 클라이언트(12, 14, 16) 사이에 확립되고 나면, 서버(10)와 클라이언트 사이에 데이터 교환이 시작될 수 있다. 도 1에 도시된 바와 같이 서버(10)는 복수의 SCTP 결부를 복수의 클라이언트와 확립할 수 있다. 각 결부는 서버(10)와 클라이언트(12, 14, 16) 사이의 통신 연결을 표현하는 다중캐스트 경로를 포함한다. 확립된 바와 같이, SCTP 결부는 서버(10)로 하여금 데이터 패킷을 각 클라이언트로 대응하는 결부를 사용하여 송출하는 데에 SCTP를 사용하기를 허용한다. 서버(10)가 SCTP를 클라이언트(12, 14)와 통신하는 데에 채용하기 때문에, 서버(10)는 요청된 데이터 패킷의 복수의 사본을 다중캐스트 접근 네트워크(20, 22)로 전송한다. 그러나, 이는 대역폭 비효율성을 야기한다. 이 문제에 대응하기 위해, 본 발명은 SCTP와 결부된 비효율성을 최소화하고 다중캐스트 접근 네트워크(20, 22)의 효율성의 이점을 취하는 트래픽 최적화기 모듈(28, 30)을 SCTP 도메인 밖에서 더함으로써 다중캐스트 네트워크 경로의 다중캐스트 능력을 레버리지(leverage)한다. 도 1은 서버(10)와 짝지어진(coupled) 두 개의 트래픽 최적화기(28, 30)를 도시한다. MBMS에 대응하는 트래픽 최적화기(28) 또는 DVB-H에 대응하는 트래픽 최적화기(30)은, 서버(10)와 클라이언트에 의해 접근가능한 그에 대응하는 다중캐스트 네트워크(20, 22) 사이에 연결된다.
트래픽 최적화기 모듈(28, 30)은, 도 1에 도시된 바와 같이, 네트워크 트래픽을 완화시키는 목적으로 존재한다. 본 발명에서 트래픽 최적화기는, 또한 다중캐스트 네트워크를 통해, 서버에서 클라이언트로의 데이터 패킷의 전송을, 데이터 결부를 사용하여 용이하기 하는 데에 기여한다. 트래픽 최적화기는 또한 서버로부터 수신받은 데이터를 처리하여 가장 네트워크 자원 효율적인 방법으로 정확한 데이터가 적절한 클라이언트로 송출되었음을 보장한다. 예컨대, 만일 특정한 클라이언트가 대역폭을 과도하게 사용하는 사용자이거나 네트워크 안에 일반적인 과도한 정체가 있으면, 트래픽 최적화기는 수신된 데이터 패킷을 처리하고 또한 네트워크의 상황을 감시하여 그에 따라 대역폭이 사용되고 할당됨을 보장할 수 있다.
도 2는 예시적인 트래픽 최적화기(28)내의 구성요소의 블록도를 도시한다. 통신 프로세서(208)는 결부된 데이터와 서버(10)로부터 클라이언트에 대해 의도된 데이터 패킷을 포함하는 데이터를 수신한다. 통신 프로서(208)는 서버(10)와 클라이언트(12, 14, 16)의 IP 주소를 포함하는 통신 경로를 확립하는데 사용되는 결부 정보를 수신하고 저장하는 컴퓨터화된 저장 매체를 포함할 수 있는 IP 주소 저장소(210)와 짝지어진다. 트래픽 최적화기(28)가 적절하게 데이터를 정확한 클라이언트 IP 주소로 라우트(route)할 수 있도록 허용하기 위하여 IP 주소를 표현하는 결부 데이터가 저장된다. IP 주소 저장소(210)는 트래픽 최적화기(28)에 데이터 패킷이 어디에서 기원하며 어디로 송출되어야 하는가의 지식을 제공한다. 패킷 버퍼(220) 또한 통신 프로세서(208)와 짝지어지며 서버(10)로부터 데이터 패킷을 수신하고 분석되기에 충분한 양의 패킷이 있을 때까지 데이터 패킷을 저장한다. 수신되어 저장된 데이터 패킷은 클라이언트(12, 14) 중 어느 쪽으로부터도 요청된 컨텐트에 대응한다. 요청된 수의 데이터 패킷이 수신된 때, 데이터 버퍼(220)와 짝지어진 패킷 분석기(230)는 저장된 데이터 패킷을 패킷 버퍼(220)로부터 구문분석하고 패킷들을 분석하여 가장 완전한 데이터 패킷 집합을 특정하거나 같은 데이터의 중복되는 사본들을 찾아낸다. 패킷 분석기(230)는 데이터 패킷의 시퀀스 번호의 리스트 또는 데이터 패킷과 결부된 포인터의 리스트를 사용하여 저장된 데이터 패킷의 시퀀스 번호와 비교함으로써 분석과 특정을 수행한다. 이 데이터 패킷들은 서버(10)로부터 클라이언트(12 그리고/또는 14)에 의해 요청된 데이터를 표현한다.
패킷 분석기(230)와 짝지어진, 패킷 프로세서(240)는 그리고는 패킷 분석기(230)로부터 분석된 데이터 패킷과 또한 결과적인 분석을 수신한다. 이는 패킷 프로세서(240)로 하여금 가장 완전한 데이터 패킷의 집합을 클라이언트로 송출하거나 중복되는 같은 데이터의 사본을 잘라내고 데이터의 오직 하나의 사본만을 송출하도록 허용한다. 모든 중복되는 사본은 포기되고 폐기되는 반면, 데이터의 하나의 사본만이 다중캐스트 접근 네트워크로 전송되도록 보존된다. 결과적으로, 복수의 클라이언트에 대하여 복수의 데이터 패킷 대신에 단 하나의 데이터 패킷의 사본만이 송출되기 때문에 더 적은 대역폭이 사용된다. 그에 더하여, 네트워크 정체나 연결 손상(impairment)이 일어나는 경우, 가장 완전한 데이터 패킷 집합이 또한 송출되어 최소한의 데이터 손실만이 있음과 전송의 효율성을 보장할 수 있다. 패킷 프로세서(240)에 의해 송출된 데이터 패킷이 정확한 클라이언트에게 송출되었음을 보증하기 위해, 패킷 프로세서(240)는 또한 클라이언트와 서버(10) 사이의 다양한 결부의 IP 주소를 저장하는 IP 주소 저장소(210)와 짝지어진다.
특히, 패킷 프로세서(240)는 어떤 특정 클라이언트 또는 접근 네트워크 IP 주소가 특정한 데이터 패킷을 수신하여야 하는가를 표현하는 데이터에 응답하기 위하여 IP 주소 저장소(210)를 쿼리(query)한다. 이하의 문단들은 도 1에 도시된 트래픽 최적화기(28)와 클라이언트(12, 14, 16), 서버(10), 그리고 네트워크(18, 20, 22)의 상호연결과 관련하여 트래픽 최적화기(28)의 기능과 관련하여 더 세부사항들을 제공한다.
도 3은 서버(10)로부터 그 각 클라이언트로의 데이터 패킷의 전송의 효율을 향상시키기 위해 트래픽 최적화기(28)에 의해 취해지는 단계의 흐름도를 도시한다. 처리는 단계(310)에서 시작되며, 트래픽 최적화기(29)가 어디서 어떻게 데이터 패킷이 송출되는가를 표시하는 특정한 클라이언트/서버 결부로부터 IP 주소를 얻는다. 단계(320)에서, 트래픽 최적화기(28)는 서버(10)로부터 데이터 패킷을 수신한다. 수신된 데이터 패킷은 모두 클라이언트의 특정 목적지 IP 주소와 데이터 패킷의 목적지를 표시하는 대응되는 결부 정보에 연결되어 있다. 단계(330)에서, 트래픽 최적화기(28)는 서버(10)에 의해 송출되어 수신된 패킷을 버퍼링한다. 서버(10)가 같은 데이터 패킷을 다중캐스트 네크워크 내에서 모든 클라이언트에 송출해야 하기 때문에, 트래픽 최적화기(28)가 서버(10)로부터 수신하는 개별적인 결부에 대응하는 데이터 패킷은 모두 같아야 한다. 결과적으로, 단계(340)에서, 트래픽 최적화기(28)는 데이터 패킷을 분석하여 같은 데이터의 중복되는 사본들을 식별할 수 있다. 그리고는, 단계(350)에서, 트래픽 최적화기(28)는 분석된 데이터를 처리하여 같은 데이터의 중복된 사본을 잘라버리고 데이터 패킷의 하나의 사본만이 목적지 네트워크로 포워드되도록 할 수 있다. 단계(360)는 데이터 패킷의 하나의 사본과 목적지 클라이언트의 IP 주소를 포함한 결부 데이터를 포함한 처리된 데이터를 전달하는 트래픽 최적화기(28)를 수반한다. 이 데이터는 네트워크(18, 20, 22) 중 하나나 모두를 포함할 수 있는 목적지 네트워크로 포워드된다. 목적지 네트워크는 클라이언트의 목적지 IP 주소를 포함하는 결부 데이터에 기반하여 데이터 패킷을 특정 클라이언트로 송출하는 데에 궁극적으로 책임이 있다.
트래픽 최적화기(28)의 단계들은 대안적으로, 예컨대 네트워크 레이어에서, 서버(10) 내의 프로세스(process)로 실행될 수 있다. 특히, 트래픽 최적화기(28)의 기능성은 독립된 모듈보다는 서버(10) 내에서 구현될 수 있다. 도 1에 도시된 부가적인 트래픽 최적화기인 트래픽 최적화기(30)는, DVB-H 네트워크(22)를 통한 통신을 담당하며, 위에서 기술된 트래픽 최적화기(28)와 유사하게 작동한다.
클라이언트(12, 14)는 다중캐스트 네트워크 경로로 전달된 공통된 데이터 패킷을 수신할 수 있다. 도 1에 도시된 대로 부가적인 단일캐스트 경로를 가지는 클라이언트, 특히 클라이언트(12, 14)는, 별도의 데이터 패킷을 서버(10)로부터 도 1에 도시된 대로 단일캐스트 다운링크를 통해 수신하는 것도 가능할 수 있다. 단일캐스트 경로를 가지는 각 클라이언트는 서로 다른 데이터 패킷을 멀티캐스트가 아닌 자신의 단일캐스트 다운링크를 통해 송출하라는 특정한 요청을 서버(10)에 할 수 있다. 부가적인 데이터 패킷이 다양한 이유로 단일캐스트 다운링크를 통하여 송출될 수 있다. 어떤 데이터가 특정 클라이언트에 특정화된 것이거나 열악한 멀티캐스트 네트워크 조건이 특정 데이터가 단일캐스트를 통해 송출되기를 요구할 수 있다.
클라이언트(12, 14)는 또한 선택적 수신 확인(Selective Acknowledgment, SACK)을, 멀티캐스트 경로를 포함하여, 결부 내의 모든 경로를 대신하여 서버(10)로 단일캐스트 업링크를 통하여 송출할 수 있다. SACK은 패킷이 수신되었다는 승인이다. 클라이언트가 SACK을 송출할 때, 클라이언트는 특정 결부에 대응하는 IP 주소가 이용가능하고 데이터를 송출하고 수신하는 데 참여할 수 있음을 승인한다.
클라이언트가 멀티캐스트 네트워크 내에서 서로 다른 수신 조건을 경험할 수 있기 때문에, 손실된 데이터 패킷의 양이 또한 SACK 내에서 보고된다. 따라서, SACK은 복수의 SCTP 결부로부터의 피드백으로서 기능한다. 각 결부가 서로 다른 수준의 수신 손상을 경험할 수 있기 때문에 손실된 패킷의 양은 서로 다른 결부에 대한 서로 다른 IP 주소에 따라 다를 것이다. 수신 손상은 열악한 데이터 수신 조건에 의해 데이터 손괴가 흔한 무선 통신 네트워크에 있어서 특히 만연한다. 결과적으로, 서버(10)는 연결과 데이터 패킷 복구를 용이하게 하기 위해 단일캐스트를 지원하는 개별 클라이언트로 성공적이지 못하게 다중캐스트 연결을 통해 송출된 데이터 패킷을 단일캐스트 다운링크를 통해 재전송할 수 있다. 이는 다중캐스트 연결이 지연을 경험하거나 단일캐스트 연결이 현실성 있는(viable) 대안이 아닌 경우에도 클라이언트가 의도된 데이터를 수신할 수 있도록 허용하는 안전 기제를 시스템에 제공한다. 만일 클라이언트가 데이터가 다중캐스트 연결 내에서 손실되었음을 감지한다면, 클라이언트는 서버(10)로 단일캐스트 연결을 통해 피드백을 보내어 서버가 손실된 데이터를 단일캐스트 연결을 통해 재송출하도록 요청할 수 있다.
그러나, SCTP 정체 제어 기제 덕분에, 서버(10)는 어떤 경우에 데이터 패킷을 서로 다른 결부에 대해 서로 다른 데이터 전송률로 송출할 수 있다. 도 4는 데이터 패킷이 서버에 의해 서로 다른 전송률로 서로 다른 결부에 대응하는 서로 다른 IP 주소에 대해 송출될 때 데이터 패킷 전송을 최적화하기 위해 트래픽 최적화기가 취하는 단계의 흐름도를 도시한다. 결과적으로, 복수의 결부에 대한 서로 다른 데이터 패킷은 트래픽 최적화기(28)에 서로 다른 시점에 도달할 수 있다. 따라서, 트래픽 최적화기(28)는 특정 데이터 패킷이 정확한 클라이언트에 도달하고 이 데이터 패킷이 가능한 한 완전함을 보장하기 위해 데이터 패킷들을 정렬(sort)한다. 이 과정이 단계(410)에서 시작하며, 트래픽 최적화기(28)가 접근 네트워크를 통해 송출될 데이터 패킷에 대응하는 결부로부터 목적지 IP 주소를 얻는다. 단계(420)에서 트래픽 최적화기(28)는 서버(10)로부터 그 대응하는 결부로부터 얻어진 IP 주소에 기반한 다양한 클라이언트로의 의도된 목적지와 함께 데이터 패킷을 수신한다. 단계(430)에서, 트래픽 최적화기(28)는 수신된 데이터 패킷을 캐쉬(cache)한다. 그리고는, 단계(440)에서, 캐쉬된 데이터 패킷은 각 클라이언트에 의해 요청된 컨텐트에 대응하는 가장 완전한 패킷의 집합을 찾기 위해 분석된다. 데이터 패킷의 불완전한 집합은 분석되고 그리고는 컴파일되어 실질적으로 완전하거나 완전한 데이터 패킷의 집합을 단계(450)에서 형성할 수 있다. 저장된 데이터 패킷의 시퀀스 번호와 비교하여 데이터 패킷 집합이 완전한지 또는 어떤 부분을 결여하고 있는지 결정하기 위하여 데이터 패킷의 시퀀스 번호가 분석된다. 단계(460)에서, 실질적으로 완전하거나 완전한 패킷 집합이 특정 클라이언트로의 전송을 위해 목적지 다중캐스트 네트워크로 포워드된다.
본 발명을 기술하는 위 문단들은 또한 SCTP-PR을 사용하는 시스템에도 응용될 수 있다. 그에 더하여, SCTP-PR을 사용하는 시스템에서, 서버(10)는 만일 결부의 특정한 IP 어드레스가 같은 결부의 다른 IP 어드레스와 비교하여 대량의 지연으로 어려움을 겪는다면 어떤 데이터 패킷을 다중캐스트 연결을 통해 전송하는 것을 누락시킬 수 있다. 이는 어떤 결부의 특정 IP 주소에 대해 지연되는 다중캐스트 연결이 다른 IP 주소로 이미 송출된 데이터 패킷을 따라잡을 수 있게 허용한다. 특정한 연결이 다른 연결에 비해 더 큰 손실을 겪을 경우, 더 나은 접속을 가지는 연결을 통해 전송된 데이터 패킷도 데이터 전송에 있어서 지연을 겪는다. 모든 데이터 패킷이 완전하게 클라이언트에 의해 수신되도록 요구되지 않기 때문에, 서버(10)는 어던 데이터 패킷이 지연되는 연결을 통해 송출되고 있는지 결정하고 이 데이터 패킷들의 전송을 적절하게 누락시킬 수 있다. 이 과정은 클라이언트에 대해 투명하다. 클라이언트는 또한 특정 다중캐스트 연결에서의 과다한 패킷 손실을 보고할 수 있다. 과다한 패킷 손실을 표현하는 데이터를 수신할 경우, 서버(10)는 클라이언트의 다른 IP 주소로의 데이터 전송에서의 지연을 방지하기 위하여 대응하는 결부로부터 특정 다중캐스트 링크를 사용하는 IP 주소를 제거할 수 있다.
본 발명이 예시적인 실시를 통해 기술되었음에도 불구하고, 본 발명은 그에 제한되지 않는다. 오히려, 첨부된 청구범위는 당업자에 의해 본 발명의 범위와 균등물의 영역으로부터 떠나지 않은 채 구성될 수 있는 본 발명의 다른 변종과 실시를 포함하는 것으로 광의로 이해되어야 한다. 본 개시는 여기 기술된 실시의 모든 개작과 변용을 포함하도록 의도되었다.
Claims (19)
- 서버와 복수의 클라이언트 중 적어도 하나 사이에서 다중캐스트(multicast) 네트워크를 통하여 데이터 패킷(data packets)의 통신을 용이하게 하는 트래픽 최적화기(traffic optimizer)로서,
상기 서버로부터 결부 데이터(association data) 및 데이터 패킷을 단일캐스트 스트림 제어 전송 프로토콜을 통해 수신하되, 상기 결부 데이터는 상기 서버의 IP 주소 및 통신을 위해 이용가능한 복수의 클라이언트 중 최소한 하나의 IP 주소를 포함하는 것인 통신 프로세서;
상기 복수의 클라이언트 중 적어도 하나에 전달될 가장 완전한 패킷 집합을 식별하고 상기 수신된 데이터 패킷의 중복된 사본을 찾아내는 패킷 분석기(packet analyzer); 및
상기 수신된 데이터 패킷의 중복된 사본을 제거함으로써 상기 수신된 데이터 패킷을 처리하고, 상기 수신된 데이터 패킷의 완전한 집합을 컴파일(compile)하며, 다중캐스트 네트워크를 통하여 상기 수신된 IP 주소 중 대응되는 주소에 있는 상기 복수의 클라이언트 중 적어도 하나에 상기 처리된 데이터 패킷을 포워딩(fowarding)하는 패킷 프로세서를 포함하고,
상기 단일캐스트 스트림 제어 전송 프로토콜은 스트림 제어 전송 프로토콜-부분적 신뢰성(Stream Control Transmission Protocol-Partial Reliability)인, 트래픽 최적화기. - 제1항에 있어서,
상기 트래픽 최적화기는 상기 단일캐스트 스트림 제어 전송 프로토콜에 대한 변경 없이 작동하는 것인 트래픽 최적화기. - 제1항에 있어서,
처리된 상기 데이터 패킷을 포워드하기 위해 상기 패킷 프로세서에 의한 접근을 위해 상기 결부 데이터를 저장하는 IP 주소 저장소(repository)를 더 포함하는 트래픽 최적화기. - 제1항에 있어서,
상기 데이터 패킷이 처리되기 전에, 예상된 수의 데이터 패킷이 수신될 때까지, 상기 수신된 데이터 패킷을 버퍼링하는 패킷 버퍼를 더 포함하는 트래픽 최적화기. - 제4항에 있어서,
요구되는 처리의 타입을 결정하기 위하여 상기 버퍼링된 데이터 패킷을 분석하는 패킷 분석기(packet analyzer)를 더 포함하는 트래픽 최적화기. - 삭제
- 삭제
- 제1항에 있어서,
클라이언트가 패킷이 지연되었는지 여부를 포함하는 정보와 상기 다중캐스트 네트워크로부터 데이터 패킷을 성공적으로 수신하였음을 표시하는 승인을 서버로 송출하는 것인 트래픽 최적화기. - 제8항에 있어서,
상기 트래픽 최적화기는 클라이언트가 상기 다중캐스트 네트워크를 통하여 상기 데이터 패킷을 수신한 뒤 패킷이 지연되었다는 표시에 기반하여 결부의 특정한 IP 주소로의 특정 데이터 패킷의 전송을 누락시키라는 상기 서버로부터의 지시를 수신하는 것인 트래픽 최적화기. - 제8항에 있어서,
상기 트래픽 최적화기는, 클라이언트가 상기 다중캐스트 네트워크를 통하여 상기 데이터 패킷을 수신한 뒤 특정한 IP 주소가 실질적인 패킷 지연을 경험하였다고 결정되면, 결부로부터 IP 주소를 제거하라는 상기 서버로부터의 지시를 수신하는 것인 트래픽 최적화기. - 트래픽 최적화기를 구비하고, 단일캐스트 스트림 제어 전송 프로토콜을 사용하여 서버와 복수의 클라이언트 중 적어도 하나 사이에서 다중캐스트 네트워크를 통하여 데이터 패킷의 통신을 용이하게 하는 방법으로서,
상기 서버와 상기 복수의 클라이언트 중 적어도 하나 사이에 스트림 제어 전송 프로토콜 통신을 확립하는 단계;
상기 트래픽 최적화기에 의하여 상기 서버로부터 상기 단일캐스트 스트림 제어 전송 프로토콜을 사용하여 결부 데이터와 데이터 패킷을 수신하되, 상기 결부 데이터는 통신을 위해 상기 서버의 IP 주소 및 상기 복수의 클라이언트 중 이용 가능한 적어도 하나의 IP 주소를 포함하는 단계;
상기 복수의 클라이언트 중 적어도 하나에 전달될 가장 완전한 패킷 집합을 식별하기 위해 상기 트래픽 최적화기에 의해 상기 수신된 데이터 패킷을 분석하고 상기 수신된 데이터 패킷의 중복된 사본을 찾아내는 단계;
상기 수신된 데이터 패킷의 중복된 사본을 제거하기 위해 상기 트래픽 최적화기에 의하여 상기 수신된 데이터 패킷을 처리하고, 상기 수신된 데이터 패킷의 완전한 집합을 컴파일하는 단계; 및
상기 다중캐스트 네트워크를 통하여 상기 수신된 IP 주소 중 대응되는 주소에 있는 상기 복수의 클라이언트 중 적어도 하나에 상기 처리된 데이터 패킷을 포워딩하는 단계를 포함하고,
상기 단일캐스트 스트림 l제어 전송 프로토콜은 스트림 제어 전송 프로토콜-부분적 신뢰성인, 방법. - 제11항에 있어서, 예상된 수의 데이터 패킷이 수신될 때까지 상기 수신된 데이터 패킷을 버퍼링하는 단계를 더 포함하는 방법.
- 제12항에 있어서, 요구되는 처리의 타입을 결정하기 위하여 상기 버퍼링된 데이터 패킷을 분석하는 단계를 더 포함하는 방법.
- 삭제
- 삭제
- 제11항에 있어서, 클라이언트가 패킷이 지연되었는지 여부를 포함하는 정보와 상기 다중캐스트 네트워크로부터 데이터 패킷을 성공적으로 수신하였음을 표시하는 승인을 상기 서버로 송출하는 단계를 더 포함하는 것인 방법.
- 제16항에 있어서, 클라이언트가 상기 다중캐스트 네트워크를 통하여 상기 데이터 패킷을 수신한 뒤, 패킷이 지연되었다는 표시에 기반하여 결부 내의 특정한 IP 주소로의 특정 데이터 패킷의 전송을 누락시키는 단계를 더 포함하는 것인 방법.
- 제16항에 있어서, 클라이언트가 상기 다중캐스트 네트워크를 통하여 상기 데이터 패킷을 수신한 뒤, 특정한 IP 주소가 실질적인 패킷 지연을 경험하였다고 결정되었다면 결부 내의 IP 주소를 제거하는 단계를 더 포함하는 것인 방법.
- 제11항에 있어서, 상기 트래픽 최적화기는 상기 단일 캐스트 스트림 제어 전송 프로토콜에 대한 변경 없이 작동하는 것인 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/006490 WO2011071474A1 (en) | 2009-12-10 | 2009-12-10 | Protocol booster for sctp in muticast networks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120123308A KR20120123308A (ko) | 2012-11-08 |
KR101600060B1 true KR101600060B1 (ko) | 2016-03-14 |
Family
ID=44145807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127017837A KR101600060B1 (ko) | 2009-12-10 | 2009-12-10 | 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8976787B2 (ko) |
EP (1) | EP2510642B1 (ko) |
JP (1) | JP5550198B2 (ko) |
KR (1) | KR101600060B1 (ko) |
CN (1) | CN102763359B (ko) |
WO (1) | WO2011071474A1 (ko) |
Families Citing this family (8)
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 |
EP2672671A1 (en) | 2012-06-04 | 2013-12-11 | Thomson Licensing | Data transmission using a multihoming protocol such as SCTP |
EP2685664A1 (en) | 2012-07-12 | 2014-01-15 | Thomson Licensing | Multicast transmission using a unicast protocol |
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 |
Family Cites Families (22)
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 |
FR2803459B1 (fr) * | 1999-12-30 | 2002-02-15 | Itis | Systeme de transmission a diversite spatiale, temporelle et frequentielle |
US20030063608A1 (en) * | 2001-10-03 | 2003-04-03 | Moonen Jan Renier | Multicast discovery protocol uses tunneling of unicast message |
AU2003207617A1 (en) | 2002-01-22 | 2003-09-02 | Sharp Laboratories Of America, Inc. | Systems and methods for acknowledgement of multi-cast traffic |
JP3809813B2 (ja) * | 2002-08-21 | 2006-08-16 | 日本電信電話株式会社 | コンテンツ配信方法およびこれを用いるコンテンツ配信システム |
US20050188108A1 (en) * | 2002-10-31 | 2005-08-25 | Volera, Inc. | Enriched tree for a content distribution network |
JP3731885B2 (ja) * | 2003-07-03 | 2006-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム |
US7620045B2 (en) * | 2003-07-07 | 2009-11-17 | Ntt Docomo, Inc | Communication system, multicast-capable router, transmitter terminal, receiver terminal, and communication method |
US8204055B2 (en) | 2003-10-07 | 2012-06-19 | Thomson Licensing | Multicast over unicast in a network |
US7660583B2 (en) | 2004-03-19 | 2010-02-09 | Nokia Corporation | Advanced handover in phased-shifted and time-sliced networks |
US20070110074A1 (en) * | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
EP1813063A4 (en) * | 2004-11-19 | 2009-08-12 | Stevens Inst Technology | END UNIT WITH MULTI-ACCESS AND THE POSSIBILITY OF SIMULTANEOUS CONNECTIVITY TO MULTIPLE COMMUNICATION CHANNELS |
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 |
US8238242B2 (en) * | 2006-02-27 | 2012-08-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Flow control mechanism using local and global acknowledgements |
TWI527409B (zh) * | 2008-05-30 | 2016-03-21 | 馬維爾國際股份有限公司 | 網路處理器單元及其相關方法 |
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 KR KR1020127017837A patent/KR101600060B1/ko not_active IP Right Cessation
- 2009-12-10 JP JP2012543056A patent/JP5550198B2/ja not_active Expired - Fee Related
- 2009-12-10 US US13/514,064 patent/US8976787B2/en not_active Expired - Fee Related
- 2009-12-10 WO PCT/US2009/006490 patent/WO2011071474A1/en active Application Filing
- 2009-12-10 EP EP09852119.8A patent/EP2510642B1/en not_active Not-in-force
- 2009-12-10 CN CN200980163421.3A patent/CN102763359B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102763359A (zh) | 2012-10-31 |
US20120243459A1 (en) | 2012-09-27 |
JP5550198B2 (ja) | 2014-07-16 |
EP2510642A4 (en) | 2013-10-02 |
JP2013513996A (ja) | 2013-04-22 |
WO2011071474A1 (en) | 2011-06-16 |
KR20120123308A (ko) | 2012-11-08 |
CN102763359B (zh) | 2016-01-20 |
US8976787B2 (en) | 2015-03-10 |
EP2510642B1 (en) | 2016-02-24 |
EP2510642A1 (en) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101600060B1 (ko) | 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터 | |
KR100855386B1 (ko) | 손실 부분들의 식별 및 재전송 | |
CN106330414B (zh) | 一种报文传输方法及装置 | |
KR101495369B1 (ko) | 모바일 tv를 위한 로버스트 파일 캐스팅 | |
EP1411688A2 (en) | Method and apparatus for multicast data retransmission | |
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 | |
JP4859987B2 (ja) | 適応的でスケーラブルなパケット誤り訂正装置及び方法 | |
WO2013170835A2 (zh) | 直播内容分发系统及方法 | |
US20060034313A1 (en) | Multicast data transfer | |
KR100883576B1 (ko) | 멀티캐스트/브로드캐스트 데이터 배포를 위한 데이터 복구강화 | |
EP1914933A1 (en) | Method and apparatus for retransmission request reduction in a network | |
KR100678956B1 (ko) | 네트워크 상에서 컨텐츠 정보를 요청 및 제공하는 장치 및그 방법 | |
US9425975B2 (en) | Multicast transmission using a unicast protocol | |
EP2445162B1 (en) | Method For Adaptive Streaming | |
WO2019100912A1 (zh) | 数据分发方法以及分发服务器 | |
WO2016003250A1 (ko) | 멀티미디어 데이터를 송수신하는 방법 및 장치 | |
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 | |
JP2002135310A (ja) | ストリーム中継制御装置、ストリーム中継制御システム、ストリーム中継制御方法,ならびに該方法を記録した記録媒体 | |
JP2021087036A (ja) | 受信装置、配信システム、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
LAPS | Lapse due to unpaid annual fee |