KR102519409B1 - 다중 경로 미디어 전달을 위한 방법 및 장치 - Google Patents
다중 경로 미디어 전달을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR102519409B1 KR102519409B1 KR1020177032848A KR20177032848A KR102519409B1 KR 102519409 B1 KR102519409 B1 KR 102519409B1 KR 1020177032848 A KR1020177032848 A KR 1020177032848A KR 20177032848 A KR20177032848 A KR 20177032848A KR 102519409 B1 KR102519409 B1 KR 102519409B1
- Authority
- KR
- South Korea
- Prior art keywords
- network access
- network
- server
- access interfaces
- multipath
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
다중 경로 데이터 패킷 수신을 위한 장치의 동작 방법은, 메시지를 서버에 송신하는 과정과, 둘 이상의 네트워크 액세스 인터페이스(network access interface)들의 하나 이상의 특성들에 기초하여, 다중 경로 전송 세션(multipath transmission session) 동안, 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 임의의 조합을 통해 서버로부터 하나 이상의 데이터 패킷들을 수신하는 과정을 포함한다. 상기 메시지는, 다중 경로 전송 세션에 대응하고 상기 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 지시하는 식별자(identifier)를 포함한다.
Description
본 개시(disclosure)는 일반적으로 멀티미디어 전송에 관한 것으로, 보다 구체적으로, 멀티미디어 전송 라우팅(routing)에 관한 것이다.
MPEG(moving picture expert group) 미디어 전송 프로토콜(mpeg media transport protocol, MMTP)과 같은 멀티미디어 스트리밍(streaming) 기술들은 전송 계층의 서비스들을 사용하여 MPEG 미디어 전송(mpeg media transport, MMT) 송신기와 같은 송신지(source)에서 MMT 수신기와 같은 목적지(destination)로 패킷들을 스트리밍한다. 선택한 네트워크 인터페이스에 접속된 네트워크의 문제들로 인해, 패킷들이 수신기에서 지연되거나 손실되거나 다양한 지터(jitter)와 함께 수신될 수 있다. 따라서, 수신기에서 명백한 QoS(quality of service) 및 QoE(quality of experience) 문제가 발생한다. 또한, 네트워크 경로의 예상하지 않은 패킷 손실, 혼잡 등과 같은 네트워크 조건들의 동적인 변화로 인해 품질이 저하될 수 있다.
본 개시(disclosure)의 기술분야에서는 다수의 네트워크 액세스 인터페이스(network access interface) 각각을 통해 하나 이상의 데이터 패킷들을 수신할 필요가 있다.
다중 경로 데이터 패킷 수신을 위한 클라이언트 장치(client device)가 제공된다. 클라이언트 장치는 프로세서 및 둘 이상의 네트워크 액세스 인터페이스(network access interface)들의 그룹을 포함한다. 프로세서는 서버로의 메시지 전송을 제어하도록 구성된다. 메시지는 다중 경로 전송 세션(multipath transmission session)에 고유한 식별자(identifier)를 포함하고, 다중 경로 전송 세션 동안 서버로부터 하나 이상의 데이터 패킷들을 수신하기 위해 클라이언트 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 식별하는 식별자를 포함한다. 또한, 프로세서는, 둘 이상의 네트워크 액세스 인터페이스들의 하나 이상의 특성들에 기초하여, 다중 경로 전송 세션 동안, 클라이언트 장치의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 서버로부터 하나 이상의 데이터 패킷들의 수신을 제어하도록 구성된다.
서버가 제공된다. 서버는 프로세서를 포함한다. 프로세서는 클라이언트 장치로부터의 메시지의 수신을 제어하도록 구성된다. 메시지는 다중 경로 전송 세션에 고유한 식별자를 포함하고, 다중 경로 전송 세션 동안 서버로부터 하나 이상의 데이터 패킷들을 수신하기 위해 클라이언트 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 식별하는 식별자를 포함한다. 또한, 프로세서는, 둘 이상의 네트워크 액세스 인터페이스들의 하나 이상의 특성들에 기초하여, 다중 경로 전송 세션 동안, 클라이언트 장치의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 클라이언트 장치로의 하나 이상의 데이터 패킷들의 송신을 제어하도록 구성된다.
다중 경로 데이터 패킷 수신을 위해 클라이언트 장치를 사용하여 구현되는 방법이 제공된다. 상기 방법은 클라이언트 장치에 의해 서버에 메시지를 송신하는 과정을 포함한다. 메시지는 다중 경로 전송 세션에 고유한 식별자를 포함하고, 다중 경로 전송 세션 동안 서버로부터 하나 이상의 데이터 패킷들을 수신하기 위해 클라이언트 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 식별하는 식별자를 포함한다. 또한, 상기 방법은, 클라이언트 장치에 의해, 둘 이상의 네트워크 액세스 인터페이스들의 하나 이상의 특성들에 기초하여, 다중 경로 전송 세션 동안, 클라이언트 장치의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 서버로부터 하나 이상의 데이터 패킷들의 수신하는 과정을 포함한다.
다중 경로 데이터 패킷 수신을 위한 장치의 동작 방법은, 서버에 메시지를 송신하는 과정과, 둘 이상의 네트워크 액세스 인터페이스들의 하나 이상의 특성들에 기초하여, 다중 경로 전송 세션 동안, 상기 장치의 둘 이상의 네트워크 액세스 인터페이스들의 임의의 조합을 통해 서버로부터 하나 이상의 데이터 패킷들의 송신하는 과정을 포함한다. 메시지는 다중 경로 전송 세션에 대응하는 식별자를 포함하고, 상기 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 식별하는 식별자를 포함한다.
다중 경로 데이터 패킷 송신을 위한 서버의 동작 방법은, 장치로부터 메시지를 수신하는 과정과, 다중 경로 전송 세션 동안, 상기 장치의 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 통해 상기 장치로 하나 이상의 데이터 패킷들을 송신하는 과정을 포함한다. 메시지는 다중 경로 전송 세션에 대응하는 식별자를 포함하고, 다중 경로 전송 세션 동안 서버로부터 하나 이상의 데이터 패킷들을 수신하기 위해 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 식별하는 식별자를 포함한다.
본 개시(disclosure)에 따르면, 클라이언트 장치(client device)가 다수의 네트워크 액세스 인터페이스(network access interface)를 통해 하나 이상의 데이터 패킷들을 수신할 수 있도록 장치 및 방법이 제공된다.
본 개시(disclosure)와 그 이점을 보다 완벽히 이해하기 위하여, 후술될 상세한 설명에 대하여 첨부된 도면과 함께 참조 번호가 제공된다.
도 1은 본 개시에 따른 예시적인 통신 시스템을 도시한다.
도 2 및 도 3은 본 개시에 따른 통신 시스템 내의 예시적인 장치들을 도시한다.
도 4는 본 개시에 따른 MPEG(moving picture expert group) 미디어 전송 (MPEG media transport, MMT) 클라이언트와 MMT 서버 간의 RTSP(real time streaming protocol) 세션의 예시적인 방법을 도시한다.
도 5는 본 개시에 따른 MMT에서의 다중 경로 전달을 위한 예시적인 구조도를 도시한다.
도 6은 본 개시에 따라 RTSP 프로토콜을 사용하는 MMT 세션 셋업(setup)의 예시적인 방법을 도시한다.
도 7은 본 개시에 따른 다수의 네트워크 경로들 각각에 대한 수신기 피드백의 예시도를 도시한다.
도 8은 본 개시에 따라 HTTP(hypertext transfer protocol) 프로토콜을 사용하는 MMT 세션 셋업의 예시적인 방법을 도시한다.
도 9는 본 개시에 따른 장치에 의한 다중 경로 데이터 패킷 수신을 위한 예시적인 과정의 흐름도를 도시한다.
도 10은 본 개시에 따른 서버에 의한 다중 경로 데이터 패킷 송신을 위한 예시적인 과정의 흐름도를 도시한다.
도 1은 본 개시에 따른 예시적인 통신 시스템을 도시한다.
도 2 및 도 3은 본 개시에 따른 통신 시스템 내의 예시적인 장치들을 도시한다.
도 4는 본 개시에 따른 MPEG(moving picture expert group) 미디어 전송 (MPEG media transport, MMT) 클라이언트와 MMT 서버 간의 RTSP(real time streaming protocol) 세션의 예시적인 방법을 도시한다.
도 5는 본 개시에 따른 MMT에서의 다중 경로 전달을 위한 예시적인 구조도를 도시한다.
도 6은 본 개시에 따라 RTSP 프로토콜을 사용하는 MMT 세션 셋업(setup)의 예시적인 방법을 도시한다.
도 7은 본 개시에 따른 다수의 네트워크 경로들 각각에 대한 수신기 피드백의 예시도를 도시한다.
도 8은 본 개시에 따라 HTTP(hypertext transfer protocol) 프로토콜을 사용하는 MMT 세션 셋업의 예시적인 방법을 도시한다.
도 9는 본 개시에 따른 장치에 의한 다중 경로 데이터 패킷 수신을 위한 예시적인 과정의 흐름도를 도시한다.
도 10은 본 개시에 따른 서버에 의한 다중 경로 데이터 패킷 송신을 위한 예시적인 과정의 흐름도를 도시한다.
아래의 상세한 설명을 하기 전에, 본 특허 문서 전체에 걸쳐 사용된 특정 단어 및 어구의 정의를 기술하는 것이 바람직할 수 있다. “포함하다(include)” 및 “구성되다(comprise)” 그리고 이들의 파생어들은 제한없는 포함을 의미한다. “또는”이라는 용어는 포괄적이며, 및/또는을 의미한다. 어구 “연결되다(associated with)”와 “관련되다(associated therewith)” 그 파생어는 포함한다(include), 안에 포함되다(be included within), 상호 연결하다(interconnect with), 포함하다(contain), 안에 포함되다(be contained within), 연결하다(connect to or with), 연결하다(couple to or with), 와 통신할 수 있다(be communicable with), 협력하다(cooperate with), 상호 배치하다(interleave), 병치하다(juxtapose), 근접하다(be proximate to), 묶여있다(be bound to or with), 가지다(have), 속성을 가지다(have a property of) 등을 의미한다. “제어부”는 적어도 하나의 작동을 제어하는 장치, 시스템 또는 그 일부를 의미할 수 있다. 이러한 장치는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 이들 중 적어도 둘의 조합으로 구현될 수 있다. 특정 제어부와 관련된 기능은 로컬(locally) 또는 원격으로 중앙집중식 또는 분산식이 될 수 있다. “적어도 하나”라는 문구는 항목 목록과 함께 사용될 때 나열된 항목 중 적어도 하나의 다른 조합을 사용할 수 있으며, 목록의 한 항목만 필요할 수 있음을 의미한다. 예를 들어, “A, B 및 C 중 적어도 하나”에는 A, B, C, A 및 B, A 및 C, B 및 C 그리고 A 및 B 및 C 조합 중 하나가 포함된다.
또한, 이하에서 설명되는 다양한 기능들은 적어도 하나의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있으며, 각각의 컴퓨터 프로그램은 컴퓨터 읽기 가능 프로그램 코드로 형성되고 컴퓨터 읽기 가능 매체에 구현된다. 용어 “어플리케이션(application)” 및 “프로그램(program)”은 적절한 컴퓨터 읽기 가능 프로그램 코드에서 구현하기 위해 적응된 적어도 하나의 컴퓨터 프로그램, 소프트웨어 구성요소, 명령어 세트, 과정, 기능, 객체, 클래스(classes), 사례, 관련 데이터 또는 그 일부를 나타낸다. 문구 “컴퓨터 읽기 가능 프로그램 코드”는 소스 코드(source code), 목적 코드(object code) 및 실행 가능 코드를 포함하는 모든 유형의 컴퓨터 코드를 포함한다. 문구 “컴퓨터 읽기 가능 매체”는 읽기 전용 메모리(read only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc, CD), 디지털 비디오 디스크(digital video disc, DVD) 또는 임의의 다른 유형의 메모리와 같은 컴퓨터에 의해 접속될 수 있는 임의의 유형의 매체를 포함한다. “비일시적인(non-transitory)” 컴퓨터 읽기 가능 매체는 일시적인 전기적 신호 또는 다른 신호를 송신하는 유선, 무선, 광학, 또는 다른 통신 링크를 배제한다. 비일시적인 컴퓨터 읽기 가능 매체는 데이터가 영구적으로 저장될 수 있는 매체 및 재기록 가능한 광 디스크 또는 제거 가능한 메모리 장치와 같은 데이터가 저장되고 후에 겹쳐 쓸 수 있는 매체를 포함한다.
특정 단어 및 문구에 대한 정의는 본 특허 문서 전체에 걸쳐 제공된다. 본 개시(disclosure)가 속하는 기술 분야에서 통상의 지식을 가진 자라면 대부분의 경우는 아니지만, 그러한 정의가 그러한 정의된 단어와 문구의 이전 및 이후의 사용에 적용된다는 것을 이해해야 한다.
이하에서 논의되는 도 1 내지 도 10 및 본 특허 문서에서 본 개시 내용의 원리를 설명하기 위해 사용된 다양한 실시예들은 단지 설명을 위한 것이며, 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자는 본 개시의 원리가 임의의 적절히 배열된 시스템 또는 장치로 구현될 수 있다는 것을 이해할 것이다.
다음의 문서들 및 표준 설명들은 본 명세서에 기재된 것처럼 본 개시에 참조로서 포함된다. “Study of ISO/IEC CD 23008-1 moving picture expert group (MPEG) Media Transport”, MPEG-H Systems, ISO/IEC JTC1/SC29/WG11, October 2012 [1]; “MPEG Media Transport Protocol (MMTP)”, IETF Draft, https://tools.ietf.org/id/draft-bouazizi-mmtp-01.txt, September 2014 [2]; "Real Time Streaming Protocol (RTSP)", RFC 2326, https://www.ietf.org/rfc/rfc2326.txt, April 1998 [3]; "Hypertext Transfer Protocol -- HTTP/1.0", RFC 1945, http://tools.ietf.org/html/rfc1945, May 1996 [4]; "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, http://www.w3.org/Protocols/rfc2616/rfc2616.txt, June 1999 [5]; "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, https://tools.ietf.org/html/rfc7230, June 2014 [6]; "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content", RFC 7231, https://tools.ietf.org/html/rfc7231 [7]; "SDP: Session Description Protocol", RFC 4566, https://tools.ietf.org/html/rfc4566, July 2006 [8]; "Grouping of Media Lines in the Session Description Protocol (SDP)", RFC 3388, https://tools.ietf.org/html/rfc3388 [9]; "The Session Description Protocol (SDP) Grouping Framework", RFC 5888, https://tools.ietf.org/html/rfc5888 [10]; "The WebSocket Protocol", RFC 6455, https://tools.ietf.org/html/rfc6455 [11]; "SDP Descriptors for MMTP", IETF Draft, https://tools.ietf.org/html/draft-bouazizi-sdp-descriptors-mmtp-00 [12]; M. Kazemi, S. Shirmohammadi, K.H. Sadeghi, "A review of multiple description coding techniques for error-resilient video delivery", Multimedia Systems, Volume 20, Issue 3, pp 283-309, June 2014 [13]; Z. Liu, G. Cheung, J. Chakareski, Y. Ji, "Multiple Description Coding and Recovery of Free Viewpoint Video for Wireless Multi-Path Streaming", IEEE Journal Of Selected Topics In Signal Processing, Vol. 9, No. 1, February 2015 [14]; J. Chakareski , S. Han, B. Girod, "Layered Coding vs. Multiple Descriptions for Videostreaming over Multiple Paths", Proc. of ACM Multimedia, pp.422 -431, 2003 [15]; V. Singh , S. Ahsan, J. Ott, "MPRTP: Multipath considerations for real-time media", Proc. of ACM Multimedia Systems, 2013 [16]; G. Sun , U. Samarawickrama , J. Liang , C. Tian , C. Tu and T. D. Tran "Multipledescription coding with prediction compensation", IEEE Trans. ImageProcess., vol. 18, no. 5, pp.1037 -1047, 2009 [17]; Y. Ding , Y. Yang, L. Xiao, "Multi-path Routing and Rate Allocation for Multi-Sourcevideo On-demand Streaming in Wireless Mesh Networks", Proc. IEEE INFOCOM, pp.2051 -2059, 2011 [18]; C. Xu, Z. Li, J. Li, H. Zhang, G. Muntean,"Cross-layer Fairness-driven Concurrent Multipath Video Delivery over Heterogenous Wireless Network, IEEE Transactions on Circuits and Systems for Video Technology, December 2014 [19]; L. Zhang, M. Hauswirth, Z. Zhou, V. Reynolds, G. Han, "Multi-priority Multi-Path Selection for Video Streaming in Wireless Multimedia Sensor Networks", Fifth International conference on Ubiquitous Intelligence and Computing (UIC 2008), Oslo, Norway, June 2008 [20], and W. Wei, A. Zakhor, “Interference Aware Multipath Selection for Video Streaming in Wireless Adhoc Networks”, IEEE Transactions On Circuits and Systems for Video Technology, vol.19, no. 2, pp. 165-178, 2009 [21].
멀티미디어 스트리밍 기술들 및 어플리케이션들은 네트워크에 독립적일 수 있으며 목적지(destination)로 데이터를 스트리밍하기 위한 하위 계층 서비스들(예: 전송 계층 및 네트워크 계층)에 의존한다. 상위 계층들(예: 어플리케이션 계층)은 라우팅(routing) 결정 및 데이터 전송에 추가적으로 또는 대안으로 관여할 수 있다. 어플리케이션들은 정보를 교환하여 QoS(quality of service) 및 QoE(quality of experience)를 보고할 수 있다. 대화에서 양 당사자가 품질 정보를 사용하여 데이터 전달을 향상시킬 수 있도록 개선될 수 있다.
예를 들어, 멀티미디어 스트리밍 어플리케이션들은 데이터를 전달하는 단일 전송 경로를 사용하는 대신 송신지(source)에서 목적지로 데이터를 전달하기 위해 다중 접속(예: 다중 경로를 통한 접속들)을 사용할 수 있다("다중 경로 전달"). 스마트폰 및 태블릿들과 같은 모바일 장치들에는 3GPP(third generation partnership project) 무선 액세스 및 WiFi(wireless fidelity) 인터페이스들과 같은 다중 네트워크 액세스 인터페이스(network access interface)들이 갖추어져 있다. 대체 네트워크 액세스 채널(alternative network access channel)들의 재사용은 네트워크 과부하 문제를 완화하고 이동 통신 사업자가 서비스할 수 있는 가입자들의 수를 늘릴 수 있다.
다른 예로서, 멀티미디어 수신기 어플리케이션들은 다른 패킷 흐름들(네트워크 경로들이 다른 경우)의 품질 정보를 검출하여 송신기 어플리케이션들에 보고할 수 있다. 송신기 어플리케이션들은 품질 정보를 사용하여 후속 패킷 전달의 네트워크 경로들을 변경(예: 다른 네트워크 인터페이스들 사용)하여 오류가 있는 경로들을 피할 수 있다. 이 경우, 네트워크 경로의 네트워크 상태들이 좋지 않음에 의한 수신기에서의 QoS 및 QoE 문제가 완화된다. 패킷 레벨(level), 흐름 레벨, 접속 레벨 등과 같은 다양한 레벨들의 세분성(granularity)을 위해 상위 계층에서 결정들을 내릴 수 있으므로, 송신기 어플리케이션들의 가시성(visibility)이 높아 지므로 정보에 입각한 보다 정확한 결정들을 내릴 수 있다.
도 1은 본 개시에 따른 예시적인 통신 시스템 100을 도시한다. 도 1에 도시된 통신 시스템 100의 실시예는 단지 설명을 위한 것이다. 통신 시스템 100의 다른 실시예들은 본 개시의 범위를 벗어나지 않고 사용될 수 있다.
도 1에 도시된 바와 같이, 시스템 100은 네트워크 102를 포함하며, 네트워크 102는 시스템 100 내의 다양한 구성요소들(components) 간의 통신을 용이하게 한다. 예를 들어, 네트워크 102는 인터넷 프로토콜(internet protocol, IP) 패킷들, 프레임 릴레이 프레임들(frame relay frames), 비동기 전송 모드 (asynchronous transfer mode, ATM) 셀들 또는 네트워크 주소 사이의 다른 정보를 통신할 수 있다. 네트워크 102는 적어도 하나의 로컬 영역 네트워크 들(local area networks, LANs), 도시권 통신망들(metropolitan area networks, MANs), 광역 네트워크들(wide area networks, WANs), 인터넷과 같은 글로벌 네트워크의 전부 또는 일부, 또는 적어도 하나의 위치들에서의 임의의 다른 통신 시스템 또는 시스템들을 포함할 수 있다.
네트워크 102는 적어도 하나의 서버 104와 다양한 클라이언트 장치(client device) 106-114 간의 통신을 용이하게 한다. 각각의 서버 104는 적어도 하나의 클라이언트 장치들에 컴퓨팅 서비스들을 제공할 수 있는 임의의 적절한 컴퓨팅 또는 처리 장치를 포함한다. 예를 들어, 각 서버 104는 적어도 하나의 처리 장치들, 명령들 및 데이터를 저장하는 적어도 하나의 메모리들, 및 네트워크 102 기반의 통신을 용이하게 하는 적어도 하나의 네트워크 인터페이스들을 포함할 수 있다.
각각의 클라이언트 장치 106, 108, 110, 112, 113, 및 114는 네트워크 102를 통해 적어도 하나의 서버 또는 다른 컴퓨팅 장치(들)과 상호 작용하는 임의의 적절한 컴퓨팅 또는 처리 장치를 나타낸다. 이 예에서, 클라이언트 장치들 106, 108, 110, 112, 113, 및 114는 데스크탑 컴퓨터 106, 휴대 전화 또는 스마트 폰 108, PDA(personal digital assistant) 110, 랩탑 컴퓨터 112과 113 및 태블릿 컴퓨터 114를 포함한다. 그러나, 임의의 다른 또는 추가 클라이언트 장치들이 통신 시스템 100에서 사용될 수 있다.
이 예에서, 일부 클라이언트 장치들 108, 110, 112, 113, 및 114는 네트워크 102와 간접적으로 통신한다. 예를 들어, 클라이언트 장치들 108 및 110은 셀룰러(cellular) 기지국들 또는 이노드비(eNodeB)들과 같은 적어도 하나의 기지국들 116을 통해 통신한다. 또한, 클라이언트 장치들 112 및 114는 IEEE 802.11 무선 액세스 포인트들(access points)과 같은 적어도 하나의 무선 액세스 포인트들 118을 통해 통신한다. 다른 예로서, 클라이언트 장치 108은 다수의 네트워크 액세스 인터페이스를 가질 수 있다. 다른 예로서, 클라이언트 장치 108은 다수의 네트워크 액세스 인터페이스들을 가질 수 있다. 다수의 네트워크 액세스 인터페이스들을 사용하여, 클라이언트 장치 108은, 네트워크 통신 경로 109A를 거쳐 하나 이상의 기지국들 116 중 적어도 하나를 통해, 또는 네트워크 통신 경로 109B을 거쳐 하나 이상의 무선 액세스 포인트들 118을 통해 네트워크 102와 통신하거나, 네트워크 통신 경로 109C를 거쳐 다른 클라이언트 장치 112와 통신할 수 있다.
또한, 이 예에서, 서버 104는 다수의 네트워크 액세스 인터페이스들을 가질 수 있다. 다수의 네트워크 액세스 인터페이스들을 사용하여, 서버 104는, 네트워크 통신 경로 105A를 거쳐 하나 이상의 기지국들 117 중 적어도 하나를 통해, 네트워크 통신 경로 105B를 거쳐 하나 이상의 무선 액세스 포인트 119를 통해, 또는 네트워크 통신 경로 105C를 거쳐 하나 이상의 장치들 113을 통해 네트워크 102와 통신할 수 있다. 이들은 단지 예시를 위한 것이며, 각각의 클라이언트 장치는 네트워크 102와 직접적으로 또는 임의의 적합한 중간 장치(들) 또는 네트워크(들)을 통해 네트워크 102와 간접적으로 통신할 수 있다는 것을 유의해야 한다.
이하 보다 상세히 설명되는 바와 같이, 수신기(예: 클라이언트 장치 108)는 송신기로부터 네트워크 통신 경로들을 거쳐 복수의 지정된 네트워크 액세스 인터페이스들을 통해 데이터 패킷들을 수신할 수 있다. 또한, 송신기(예: 서버 104)는 하나 이상의 지정된 네트워크 액세스 인터페이스들을 통해 그리고 하나 이상의 네트워크 통신 경로들을 통해 수신기로 데이터 패킷을 송신할 수 있다. 네트워크 액세스 인터페이스들 및 네트워크 통신 경로들은 수신기 또는 송신기 중 적어도 하나에 의해 개시된 다중 경로 전송 세션(multipath transmission session) 동안에만 데이터 패킷 통신을 위해 특정될 수 있다. 또한, 수신기 또는 송신기는 데이터 패킷들의 유형이 수신기의 특정 네트워크 액세스 인터페이스들을 통해 수신되어야 하는지를 결정할 수 있다. 또한, 수신기 및 송신기는 QoS 파라미터, QoE 파라미터, 또는 다른 채널 품질 파라미터들 중 적어도 하나에 기초하여 데이터 패킷 통신에 적합한 데이터 통신 경로들의 우선 순위(priority) 또는 순위(ranking)를 결정할 수 있다.
도 1은 통신 시스템 100의 일 예를 도시하지만, 다양한 변경이 도 1에 대해 이루어질 수 있다. 예를 들어, 시스템 100은 임의의 적절한 구성(arrangement)으로 임의의 수의 각 구성 요소를 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템들은 다양한 구성들을 가지며, 도 1은 본 개시의 범위를 임의의 특정 구성으로 제한하지 않는다. 도 1은 본 특허 문서에 개시된 다양한 특징들이 사용될 수 있는 하나의 동작 환경을 도시하지만, 이들 특징들은 임의의 다른 적합한 시스템에서 사용될 수 있다.
도 2 및 도 3은 본 개시에 따른 통신 시스템 내의 예시적인 장치를 나타낸다. 특히, 도 2는 예시적인 서버 200을 도시하고, 도 3은 예시적인 클라이언트 장치 300을 도시한다. 서버 200은 도 1의 서버 104를 나타낼 수 있고, 클라이언트 장치 300은 도 1의 적어도 하나의 클라이언트 장치들 106, 108, 110, 11, 또는 114를 나타낼 수 있다.
도 2에서 도시된 바와 같이, 서버 200은 적어도 하나의 프로세서 210, 적어도 하나의 기억 장치 215, 적어도 하나의 통신부 220 및 적어도 하나의 입출력부(input/output(I/O) unit) 225 사이의 통신을 지원하는 버스 시스템 205를 포함한다.
프로세서 210은 메모리 230에 저장(load)될 수 있는 명령들을 실행한다. 프로세서 210은 임의의 적절한 구성으로 임의의 적절한 수 및 유형(들)의 프로세서들 또는 다른 장치들을 포함할 수 있다. 예시적인 유형의 프로세서들 210은 마이크로프로세서들(microprocessors), 마이크로컨트롤러들(microcontrollers), 디지털 신호 프로세서들, 현장 프로그래머블 게이트 어레이들(field programmable gate arrays, FPGAs), 주문형 반도체들 및 디스크리트 회로(discrete circuitry)를 포함한다.
메모리 230 및 영구 기억 장치(persistent storage) 235는 정보(예: 데이터, 프로그램 코드 및/또는 일시적 또는 영구적 기본의 다른 적절한 정보)의 검색을 저장하고 용이하게 할 수 있는 임의의 구조(들)을 나타내는 기억 장치들 215의 예들이다. 메모리 230은 랜덤 액세스 메모리(random access memory, RAM) 또는 임의의 다른 적절한 휘발성 또는 비-휘발성 기억 장치(들)을 나타낼 수 있다. 영구 기억 장치 235는 판독 전용 메모리(read only memory, ROM), 하드 드라이브, 플래시 메모리 또는 광학 디스크와 같이 데이터의 장기 저장을 지원하는 적어도 하나의 구성 요소들 또는 장치들을 포함할 수 있다.
통신부 220은 다른 시스템들 또는 장치들과의 통신을 지원한다. 예를 들어, 통신부 220은 네트워크 102를 통한 통신을 용이하게 하는 네트워크 인터페이스 카드 또는 무선 송수신부를 포함할 수 있다. 통신부 220은 임의의 적절한 물리적 또는 무선 통신 링크(들)을 통해 통신을 지원할 것이다.
입출력부 225는 데이터의 입력 및 출력을 허용한다. 예를 들어, 입출력부 225는 키보드, 마우스, 키패드, 터치스크린, 또는 다른 적절한 입력 장치를 통한 사용자 입력을 위한 접속을 제공할 수 있다. 또한, 입출력부 225는 출력을 디스플레이, 프린터 또는 다른 적절한 출력 장치에 송신할 수 있다.
도 2가 도 1의 서버 104를 나타내는 것으로 설명되었지만, 동일하거나 유사한 구조가 적어도 하나의 클라이언트 장치들 106-114에서 사용될 수 있음을 주목한다. 예를 들어, 랩톱 또는 데스크탑 컴퓨터는 도 2에 도시된 것과 동일한 또는 유사한 구조를 가질 수 있다.
이하 보다 상세하게 설명되는 바와 같이, 클라이언트 장치 300 및 서버 200은 다중 경로 데이터 패킷 전송을 위해 사용될 수 있다. 예를 들면, 클라이언트 장치 300은 서버 200에 요청을 송신한다. 상기 요청은, 다중 경로 전송 세션에 고유한 식별자(identifier)를 포함하고, 다중 경로 전송 세션 동안 서버 200으로부터 하나 이상의 데이터 패킷들을 수신하기 위해 클라이언트 장치 300의 둘 이상의 네트워크 액세스 인터페이스들을 식별하는 식별자를 포함한다. 또한, 클라이언트 장치 300은 다중 경로 전송 세션 동안 클라이언트 장치 300의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 서버 200으로부터 하나 이상의 데이터 패킷들을 수신할 수 있다.
도 3에 도시된 바와 같이, 클라이언트 장치 300은, 안테나 305, 무선 주파수(radio frequency, RF) 송수신부 310, 송신(transmit, TX) 처리회로 315, 마이크로폰 320 및 수신(receive, RX) 처리회로 325를 포함한다. 또한 클라이언트 장치 300은, 스피커 330, 메인 프로세서 340, 입/출력(I/O) 인터페이스(interface, IF) 345, 키패드(keypad) 350, 디스플레이(display) 355 및 메모리(memory) 360을 포함한다. 메모리 360은 운영체제(operating system, OS) 프로그램 361 및 적어도 하나의 어플리케이션들(applications) 362를 포함한다.
RF 송수신부 310은 안테나 305로부터 시스템의 다른 구성 요소에 의해 송신되는 수신 RF 신호를 수신한다. RF 송수신부 310은 수신 RF 신호를 중간 주파수(intermediate frequency, IF) 또는 기저대역 신호를 생성하기 위해 하향 변환(down-converts)한다. IF 또는 기저대역 신호는 기저대역 또는 IF 신호를 필터링(filtering), 디코딩(decoding) 및/또는 디지털화(digitizing) 함으로써 처리된 기저대역 신호를 생성하는 수신 처리회로 325로 송신된다. 수신 처리 회로 325는 처리된 기저대역 신호(음성 데이터와 동일한)를 스피커 330 또는 추가 처리(웹 브라우징 데이터와 동일한)를 위해 프로세서 340으로 송신한다.
송신 처리회로 315는 마이크로폰 320으로부터 아날로그 또는 디지털 음성 데이터를 수신하며, 프로세서 340으로부터 다른 발신 기저대역 데이터(웹 데이터, 이메일, 또는 양방향 비디오 게임 데이터)를 수신한다. 송신 처리회로 315는 처리된 기저대역 또는 IF 신호를 생성하기 위해 발신 기저대역 데이터를 인코딩(encodes), 다중화(multiplexes), 및/또는 디지털화 한다. RF 송수신부 310은 발신 처리된 기저대역 또는 IF 신호를 송신 처리회로 315로부터 수신하고, 상기 안테나 305를 통해 기저대역 또는 IF 신호를 송신되는 RF 신호로 상향 변환(up-converts)한다. 일 실시예에서, 둘 이상의 네트워크 액세스 인터페이스들은 하나 이상의 입출력 인터페이스들 345, 하나 이상의 RF 송수신부들 310 등을 포함할 수 있다. 입출력 인터페이스 345는 이더넷(ethernet) 접속을 위한 네트워크 인터페이스 카드 또는 셋톱 박스(set top box)를 위한 케이블 인터페이스와 같은 유선 접속을 통해 통신할 수 있다. RF 송수신부 310은 무선 액세스 포인트(예: 무선 액세스 포인트들 118 또는 119), 기지국(예: 기지국들 116 또는 117) 등과 통신할 수 있다.
프로세서 340은 적어도 하나의 프로세서들 또는 다른 처리 장치들을 포함할 수 있고, 클라이언트 장치 300의 전체 동작을 제어하기 위해 메모리 360에 저장된 OS 프로그램 361을 실행할 수 있다. 예를 들어, 프로세서 340은 잘 알려진 원리들에 따라, RF 송수신부 310, 수신 처리 회로 325 및 송신 처리 회로 315에 의한 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 일부 실시예들에서, 프로세서 340은 적어도 하나의 마이크로프로세서 또는 마이크로컨트롤러를 포함한다.
또한, 프로세서 340은 다른 프로세서들 및 메모리 360에 상주하는 프로그램들을 실행할 수 있다. 프로세서 340은 실행 프로세서에 의해 요구되는 바와 같이, 데이터를 메모리 360의 내외로 옮길 수 있다. 일부 실시예들에서, 프로세서 340은, OS 프로그램 361에 기초하여 또는 외부 장치들 또는 오퍼레이터로부터 수신된 신호들에 응답하여 어플리케이션들 362를 실행하도록 구성된다. 또한, 프로세서 340은, 클라이언트 장치 300에 노트북들 및 휴대용 컴퓨터들과 같은 다른 장치들과 접속되도록 하는 능력을 제공하는 I/O 인터페이스 345에 결합되어 있다. I/O 인터페이스 345는 이러한 액세서리들 및 프로세서 340 사이의 통신 경로이다.
또한, 프로세서 340은 키패드 350 및 디스플레이 유닛 355에 결합되어 있다. 클라이언트 장치 300의 오퍼레이터는 클라이언트 장치 300으로 데이터를 입력하기 위해 키패드 350을 사용할 수 있다. 디스플레이 355는 액정디스플레이 또는 웹사이트로부터의 문자 및/또는 적어도 제한된 그래픽을 랜더링(rendering) 할 수 있는 디스플레이일 것이다.
메모리 360은 프로세서 340에 결합되어 있다. 메모리 360의 일부는 RAM을 포함할 수 있고, 메모리 360의 다른 부분은 플래시 메모리 또는 ROM을 포함할 수 있다.
도 2 및 도 3은 통신 시스템 내의 장치들의 예를 도시하지만, 도 2 및 도 3에 다양한 변경들이 이루어질 수 있다. 예를 들어, 도 2 및 도 3의 다양한 구성들은 조합되고, 세분화되거나 생략될 수 있으며 추가적인 구성들이 특정 필요들에 따라 추가될 수 있다. 특정 예로서, 프로세서 340은 적어도 하나의 중앙 처리 유닛(central processing unit, CPU)들 및 적어도 하나의 그래픽 처리 유닛(graphics processing unit, GPU)들과 같은 다중 프로세서들로 나눠질 수 있다. 또한, 도 3는 휴대전화 및 스마트폰으로 구성된 클라이언트 장치 300을 도시하지만, 클라이언트 장치들은 다른 유형의 이동 또는 고정 장치들로 구성되도록 할 수 있다. 또한, 컴퓨팅 및 통신 네트워크들과 마찬가지로, 클라이언트 장치들 및 서버들은 다양한 구성을 가질 수 있으며, 도 2 및 도 3은 임의의 특정 클라이언트 장치 또는 서버에 대해 본 개시를 한정하지 않는다.
MPEG(moving picture expert group) 미디어 전송 프로토콜(mpeg media transport protocol, MMTP) 프로토콜 [[2]]은 MMT(mpeg media transport) 송신기와 MMT 수신기 간에 시간(timed) 및 비-시간(non-timed) 멀티미디어 데이터를 전달하는데 사용되는 어플리케이션 계층 프로토콜이다. MMTP 프로토콜은 멀티미디어 데이터 전달을 위한 페이로드(payload) 패킷 포맷들 외에도 시그널링 메시지 세트와 메시지 포맷들을 기술한다. MMTP 프로토콜은 실제 데이터 전달을 위해 전송 계층 서비스들에 의존한다. 멀티미디어 데이터를 교환하기 위해 MMT 송신기와 MMT 수신기 사이에 전송 접속들(예: TCP(transmission control protocol) 전송을 사용하는 TCP 접속들 및 UDP(user datagram protocol) 전송을 사용하는 UDP 흐름들)이 셋업된다. MMTP 프로토콜은 MMT 송신기와 MMT 수신기 사이에 MMTP 세션을 셋업하기 위해 RTSP(real time streaming protocol) 또는 HTTP(hypertext transfer protocol)와 같은 신호 프로토콜들을 사용한다.
도 4는 본 개시에 따른 MMT 클라이언트(예: MMT 수신기)와 MMT 서버(예: MMT 송신기) 간의 RTSP 세션의 예시적인 방법 400을 도시한다. 과정 405에서, 클라이언트 장치 300은 서버 200에 데이터 전달을 위한 URL(uniform resource locator)을 기술할 것을 요청한다. 과정 410에서, 서버 200은 데이터 전달을 위한 URL을 기술하기 위해 클라이언트 장치 300으로부터 요청을 수신한 것에 응답하여, 세션 기술 프로토콜(session description protocol, SDP) 프로토콜을 사용하여 중요 기술(body description)을 보낸다. 과정 415에서, 클라이언트 장치 300은 RTSP SETUP 메시지를 사용하여 셋업 요청을 송신한다. 클라이언트 장치 300은, 클라이언트 장치 300이 스트림을 수신하고자 하는 하나 이상의 경로들을 지정하는 전송 헤더 내의 전송 프로파일(기본(underlying) 전송을 포함함), 목적지 주소 및 클라이언트 포트와 같은 전송 파라미터들을 SETUP 메시지에 포함할 수 있다. 과정 420에서, 서버 200은 전송 헤더 내의 서버 포트 및 목적지 주소와 같은 서버 200 자신의 전송 파라미터 집합을 사용하여 셋업 요청에 대한 응답(예: 200 OK)으로 응답한다. 과정 425에서, 클라이언트 장치 300은 셋업된 전송 접속들을 사용하여 멀티미디어 데이터를 재생하도록 서버 200에 요청한다. 과정 430에서, 서버 200은 셋업 및 대응하는 응답 메시지들을 사용하여 셋업되는 전송 접속들 상에서 멀티미디어 데이터를 클라이언트 장치 300에 송신한다. 이하 설명된 바와 같이, 서버 200로부터 클라이언트 300으로의 예시적인 SDP는 [[12]]에서 규정된 세션 셋업 동안 사용될 수 있다.
전술한 바와 같이, 클라이언트 장치(예: MMT 클라이언트) 300 및 서버(예: MMT 서버) 200은 미디어 자산(media asset)들의 유형 및 자산들이 변환될 수 있는 전송 파라미터들에 동의할 수 있다.
시그널링 프로토콜들은 서버 200과 클라이언트 장치 300 사이에서 교환되는 멀티미디어 데이터를 사용하여 전송 접속들(TCP 또는 UDP)을 셋업하는데 사용된다. 도 4에 도시된 바와 같이, 전송 접속들은 클라이언트 장치 300과 서버 200 간의 일대일 접속들이다. 전송 접속들을 통해 전송될 수 있는 멀티미디어 데이터의 양은 전송 접속에서 사용되는 네트워크 인터페이스의 용량과 네트워크 인터페이스에 접속된 네트워크의 사용 가능한 대역폭으로 제한된다. 결과적으로, 수신기의 최종 사용자 환경은 전송 접속이 셋업된 네트워크 경로의 품질에 따라 달라진다. 네트워크 경로가 높은 패킷 손실, 혼잡 등을 이유로 잘 수행되지 않으면, 최종 사용자 경험은, 예를 들어, 미디어 버퍼링, 픽실레이션(pixilation) 등과 관련된 문제점들에 직접적으로 영향을 받을 수 있다.
네트워크 경로들이 잘못되어 이러한 문제들이 발생하지 않도록 MMTP 프로토콜은 다중 경로 성능(capability)들을 통해 향상될 수 있다. 송신기와 수신기 간에 다중 네트워크 인터페이스들을 사용하는 다중 전송 접속들이 설정될 수 있으며, 이를 통해 데이터가 목적지로 빠르고 안정적으로 송신될 수 있다. 또한, MMT 송신기는 MMT 수신기의 피드백에 기초하여, MMT 송신기가 하나 이상의 가능한 네트워크 경로들이 저조한 것으로 확인되면 네트워크 경로를 동적으로 변경할 수 있다.
도 5는 본 개시에 따른 MMT에서의 다중 경로 전달을 위한 예시적인 구조도 500을 도시한다. 다수의 전송 접속들 505, 510, 515, 및 520은, 서버 200 및 클라이언트 300에서 이용 가능한 다른 네트워크 인터페이스들을 사용하여 서버(예: MMT 송신기) 200과 클라이언트 장치(예: MMT 수신기) 300 사이에 셋업될 수 있다. 멀티미디어 데이터 스트림의 다른 패킷 흐름들(예: 다른 유형들의 데이터 패킷들) 525, 530, 535, 및 540은, 데이터 전송에 사용할 수 있는 여러 네트워크 인터페이스들(예: 경로들)을 사용하여, 다른 전송 접속들 505, 510, 515, 및 520에서 전송될 수 있다. 하나의 네트워크 접속(예: 하나의 경로) 505가 세션 진행 중에 열악하게 수행되면, 다른 네트워크 접속(예: 다른 경로) 510이 후속 패킷 전달을 위해 선택될 수 있다. 결과적으로, 하나의 네트워크 경로의 성능 저하가 전반적인 미디어 전송 품질에 영향을 미치지 않으므로, 최종 사용자 환경에 악영향을 미치지 않는다.
다중 경로 전달을 통해, 서버 200으로부터 클라이언트 장치 300으로 또는 그 반대로 멀티미디어 데이터를 송신하기 위해 다중 네트워크 경로들이 사용될 수 있다. 다중 네트워크 경로들의 가용성으로 인해, 더 많은 멀티미디어 데이터가 동일한 시간 내에 목적지로 전송될 수 있다. 결과적으로, 데이터 전송에 사용할 수 있는 최종(net) 대역폭은 개별 네트워크 경로들의 대역폭들보다 높다. 본 발명의 설명에서 논의된 바와 같이, 다중 경로에 대한 세션 관리는 RTSP 시그널링 프로토콜을 사용할 수 있다. 예를 들어, 클라이언트 장치 300 및 서버 200은 OPTIONS 요청들을 서로 송신함으로써 다중 경로 성능 지원을 상호 발견할 수 있다. OPTIONS 요청이 서버 200 및 클라이언트 장치 300 모두에 의해 생성될 수 있기 때문에, OPTIONS 요청은 다중 경로 특징 지원에 대해 문의(enquire)하기 위한 좋은 후보 모드가 된다. "다중 경로"라는 새로운 옵션 태그는 IANA(internet assigned number authority)에 등록될 수 있으며, OPTIONS 요청의 "요구(require)" 헤더에 구현될 수 있다. 아래는 다중 경로 지원에 대해 문의하는 클라이언트 장치 300으로부터 서버 200으로의 간단한 OPTIONS 요청의 예이다.
OPTIONS 요청에 대한 서버 200의 응답은 [[3]]에 지시된 바와 같이 표준 응답 메커니즘을 따른다.
상기 OPTIONS 요청은 클라이언트 장치 300으로부터의 다중 경로 지원에 대해 문의하기 위해 서버 200에 의해 생성될 수 있고, 클라이언트 장치 300은 적절한 응답으로 응답할 수 있다. 요청과 응답은 위에 언급된 새로 제안된 옵션 태그인 "다중 경로"를 지원하는 [[3]]에 규정된 표준 OPTIONS 요청 응답 메커니즘을 따른다. 클라이언트 장치 300 및 서버 200은 본 발명의 설명에서 더 논의되는 바와 같이 다중 경로 성능을 갖는 세션 셋업을 시작할 수 있다. 그러나, 서버 200 및 클라이언트 장치 300 모두가 다중 경로를 사용하지 않기로 결정하면, [[3]]에서 지시된 바와 같이 표준 세션 셋업 절차를 계속할 수 있다.
실시예에서, 세션은 다중 경로 성능들을 사용하여 클라이언트 장치(예: MMT 클라이언트 장치) 300과 서버(예: MMT 서버) 200 사이에 설정될 수 있다. 도 6은 본 개시에 따라 RTSP를 사용하는 MMT 세션 셋업의 예시적인 방법 600을 도시한다. 과정 605에서, 클라이언트 장치 300은 서버 200으로부터 URL 기술을 요청한다. 클라이언트 장치 300은 세션 레벨 고유 식별자를 나타내는 "다중경로Id(identity)"라는 새로운 헤더를 포함하여, 서버가 클라이언트 장치 300으로부터 동일한 다중 경로 세션에 속하는 모든 접속들을 식별하도록 한다. DESCRIBE 예제가 아래에 나와 있습니다.
상술한 바와 같이, 다중 경로 식별자를 갖는 DESCRIBE 요청에 대해, 과정 610에서, 서버 200은 "다중 경로"라고 불리는 새로운 속성을 갖는 SDP로 응답하여 서버 200가 다중 경로 전달을 지원함을 클라이언트 장치 300에게 알릴 수 있다. 다중 경로 속성의 구문(syntax)은 다음과 같다.
위의 SDP들에서 볼 수 있듯이, 미디어 기술(media description)들에는 각 네트워크 인터페이스들에 대한 접속 정보뿐만 아니라 당사자(party)가 각 네트워크 인터페이스들에 대해 수신하려는 데이터 유형도 포함된다. 또한, 각 미디어 기술들에 대한 SDP "제어" 속성은 "스트림id" 파라미터로 표시되는 스트림 id를 미디어 라인들에 지정된 미디어 포맷(예: 페이로드 유형들)에 결합(bind)한다. 클라이언트 장치 300이 정보를 판독할 때, 클라이언트 장치 300은 대응하는 "제어" 속성에서 식별된 각각의 스트림 id들로 어떤 자산 유형들(페이로드 유형들과 같은 미디어 포맷 기술에 의해 지정된 자산 유형들)이 제공될 수 있는지를 결정한다. 결과적으로, 클라이언트 장치 300은 어떤 스트림 id가 주어진 자산 타입을 요청 하는지를 결정하고, 상기 스트림 id를 SETUP 요청의 요청 URL에 사용한다. 다중 경로 전달을 통해 클라이언트 장치 300은 클라이언트 장치 300 선택의 네트워크 인터페이스로부터 SETUP 요청을 생성해야 한다. SETUP 요청은 어떤 네트워크 인터페이스들에서 어떤 자산 유형들이 송신되어야 하는지를 선택하는 정책(policy)에 의해 관리된다. 결과적으로, URL과 결합되는 선택된 네트워크 인터페이스(특정 자산 유형에 대응하는 위에 설명된 스트림 id 정보를 포함)는 특정 네트워크 인터페이스들에서의 특정 자산 유형들에 대한 요청들을 생성하기 위해 클라이언트 장치 300에 의해 사용된다. 이는 특정 유형들의 데이터(예: 고화질 비디오)와 함께 특정 종류들의 네트워크 인터페이스들(예: 더 높은 대역폭의 WiFi 접속)을 사용하는 추가 장점을 제공한다.
클라이언트 장치 300은, 서버 200으로부터 수신된 다중 경로 SDP에 기초하여, 다른 네트워크 인터페이스들을 사용하여 서버(예: MMT 서버) 200에 대한 다중 접속(예: 네트워크 경로들)을 셋업할 수 있다. 예를 들어, 과정 615, 625 및 635에서, 클라이언트 장치 300은 SETUP 메시지를 사용하여 각각의 네트워크 경로를 셋업한다. 각각의 SETUP 요청에서, 클라이언트 장치 300은 클라이언트 장치 300이 미디어를 수신하기를 원하는 경로를 지정하는 전송 파라미터들(예: 프로파일, 목적지 주소, 클라이언트 포트 등)을 포함한다. 또한, 클라이언트 장치 300은 서버 200에 대한 각각의 SETUP 요청들에 이후에 "클라이언트 다중 경로 식별자"라고 지칭되는 "다중경로Id"라는 새로운 헤더를 포함한다. 이 헤더 필드의 값은 본 발명의 설명에 설명된 DESCRIBE 요청에 사용된 "다중경로Id" 헤더 필드의 값과 같다. 동일한 값을 사용하는 것은 클라이언트 장치 300으로부터의 SETUP 요청들이 초기 DESCRIBE 요청과 동일한 세션에 속한다는 것을 서버 200에 알린다. 또한, 클라이언트 장치 300으로부터의 클라이언트 다중 경로 식별자는 네트워크 및 전송 파라미터들에 결합되어, 클라이언트 장치 300이 나중에 다른 네트워크 경로들로부터의 패킷 흐름들을 그룹화하는데 사용될 수 있다. 클라이언트 장치 300 및 서버 200이 다중 경로 전달을 사용하기 원할 경우, 모든 SETUP 요청들은 "다중경로Id" 헤더 필드를 포함한다.
서버 200이 각각의 SETUP 메시지를 수신하면, 과정 620, 630 및 640에서, 서버 200은 자신의 전송 파라미터들을 사용하여 응답 메시지에서 응답하여 서버 200이 미디어를 수신하고자 하는 곳을 지정한다. 또한, 서버 200은 서버 200에 의해 선택된 고유한 값인 이후에 "서버 다중 경로 식별자"로 지칭되는 "다중경로Id"라는 새로운 헤더를 포함한다. 이 값은 동일한 서버 다중 경로 식별자를 갖는 서버 200로부터의 모든 접속들이 동일한 세션에 속한다는 것을 클라이언트 장치 300에 알린다. 또한, 서버 다중 경로 식별자는 네트워크 및 전송 파라미터들에 결합되므로, 나중에 서버 다중 경로 식별자를 사용하여 다른 네트워크 경로들의 패킷 흐름들을 그룹화할 수 있다. SETUP 요청의 끝에서, 응답은 동일한 클라이언트 다중 경로 식별자를 갖는 모든 클라이언트 SETUP 요청들 및 동일한 서버 다중 경로 식별자를 갖는 서버 응답들과 교환하며, 클라이언트 장치 300 및 서버 200은 어떤 네트워크 경로들이 동일한 세션에 속하는지를 안다.
과정 645에서 모든 SETUP 요청 응답 메시지들이 완료되면, 클라이언트 장치 300은 스트림들을 재생하도록 요청하고 서버 200은 다른 네트워크 경로들을 사용하여 협상된 전송 접속들 상에서 스트림들을 재생한다. 전송 접속 파라미터들이 대응하는 클라이언트 장치 다중 경로 식별자 및 서버 다중 경로 식별자에 결합되었기 때문에, 과정 650, 655 및 660에서, 클라이언트 장치 300 및 서버 200은 다른 네트워크 경로들에서 패킷 흐름들을 수신할 수 있고, 다른 네트워크 경로들의 흐름들을 그룹화하거나 상관시킬 수 있다.
실시예에서, 클라이언트 장치(예: MMT 클라이언트 장치) 300 및 서버 200은 세션 동안 다중 경로에 대한 지원을 가능하게 하거나 불가능하게 할 수 있다. 또한, 클라이언트 장치 300 또는 서버 200은 이미 다중 경로를 사용하고 있다면, 세션 동안 네트워크 경로들을 추가 또는 삭제할 수 있다. 클라이언트 장치 300 또는 서버 200은, 세션 동안 다중 경로 지원을 개시하기를 원할 때, 다중 경로 성능들을 사용하지 않고 RTSP 시그널링 프로토콜을 사용하여 패킷 데이터 교환을 위한 전송 접속(TCP 또는 UDP)을 열 수 있다. 클라이언트 장치 300이 다중 경로를 개시하기 위해, 클라이언트 장치 300은 본 발명의 설명에서 논의된 바와 같이 서버의 다중 경로 성능들을 검사하기 위해 OPTIONS 요청을 발행할 수 있다. 다중 경로 성능에 대한 서버로부터의 긍정 응답을 수신하면, 클라이언트 장치 300은 본 발명의 설명에 설명된 바와 같이 다중 경로를 가능하게 하기 위해 변경된 전송 파라미터들로 새로운 SETUP 요청을 발행할 수 있다(현존하는(existing) 스트림은 종료될 필요가 없으며 스트림의 전송 파라미터들을 변경하기 위해 명시적으로 다시 개방될 필요가 없다 [[3]]). 그러나, 새로운 인터페이스가 사용되는 경우, "다중경로Id" 헤더가 있는 새로운 인터페이스에서 새로운 SETUP 요청이 송신된다. 이 헤더의 값은 다른 접속들에서 사용되는 클라이언트 다중 경로 식별자와 같다.
서버 200이 다중 경로를 개시하기 위해, 서버 200은 OPTIONS 요청을 클라이언트 장치에 송신함으로써 다중 경로 성능들을 검사할 수 있다. 서버 200은 다중 경로 속성을 갖는 SDP를 사용하여 다중 경로 성능들을 지정하기 위해 미디어 기술을 변경을 위한 ANNOUNCE 메시지를 송신할 수 있다. 클라이언트 장치 300이 다중 경로를 사용하기로 선택한 경우, 클라이언트 장치 300은 본 발명의 설명에 설명된 바와 같이 다중 경로 전달을 가능하게 하기 위해 다수의 SETUP 요청들을 송신할 수 있다.
실시예에서, 클라이언트 장치 300 및 서버 200은 이미 다중 경로 지원을 사용하고 있다면, 네트워크 경로를 추가 또는 삭제할 수 있다. 예를 들어, 클라이언트 장치 300은 전송 파라미터들을 갖는 새로운 SETUP 요청을 송신하고, 헤더 필드 "다중경로"에 대해 동일한 값을 사용하여 현존하는 다중 경로 접속에 새로운 네트워크 경로를 추가한다. 또한, 클라이언트 장치 300은 [[3]]에서 규정된 대응하는 SETUP 요청에 대한 TEARDOWN 요청을 발행함으로써 네트워크 경로를 삭제할 수 있다. 클라이언트 장치 300이 곧 종료 될 네트워크 경로의 패킷 흐름을 다른 네트워크 경로로 전송하려는 경우, 클라이언트 장치 300은 다른 네트워크 경로에 대한 변경된 SETUP 요청을 사용하여 이를 실행할 수 있다. 다른 예로서, 서버 200은 새로운 SDP를 발표하고 이어서 변경된 SDP에 기초하여 접속들을 설정하도록 클라이언트 장치 300에 요청함으로써 네트워크 경로들을 추가 또는 삭제할 수 있다.
클라이언트 장치 300 및 서버 200은 세션 동안 다중 경로 지원을 중단시킬 수 있다. 클라이언트 장치 300은 현존하는 모든 네트워크 경로들을 끊고(tearing down), [[3]]에서 규정된 바와 같이 새로운 SETUP 요청을 발행함으로써 다중 경로 지원을 중단시킬 수 있다. 선택적으로, 클라이언트 장치 300은 하나의 접속을 제외한 모든 접속을 종료하고 변경된 SETUP 요청을 사용하여 나머지 접속을 변경할 수 있다. 서버 200은 ANNOUNCE 메시지에서 "다중경로" 속성이 없는 것으로 변경된 SDP를 사용하여 다중 경로 지원을 중단할 수 있다. 다중 경로 지원을 사용하여 설정된 다중 네트워크 경로들은 [[3]]에 기술된 단일 세션 종료 메커니즘을 따라 하나씩 끊어야 한다.
다중 경로에 대한 지원은 클라이언트 장치 300과 서버 200 간에 상호 배타적이다. 다시 말해서, 클라이언트 장치 300 및 서버 200은 다중 경로 전달에 대한 다른 장치의 선호도에 관계없이 다중 경로를 구현할 수 있다. 클라이언트 장치 300 또는 서버 200이 다중 인터페이스들을 갖지 않거나 다중 경로 전달 기능을 사용하기를 원하지 않는다면, 클라이언트 장치 300 및 서버 200은 송신 메시지들에 "다중경로Id" 헤더 필드를 포함할 필요가 없다. 그러나, 다른 장치가 "다중경로Id" 헤더를 포함하면, 다중 경로를 사용하지 않는 장치는 다른 장치가 다중 경로 지원을 요청하는 것을 식별할 수 있어야 하므로, 다른 장치의 다중 인터페이스들로 패킷 데이터를 스트리밍할 수 있어야 한다.
본 발명의 설명에 설명된 바와 같이 데이터 전달을 위한 다중 경로들을 셋업하면, MMT 송신기는 다중 경로들을 사용하여 데이터를 MMT 수신기에 송신할 수 있다. 수신기가 다중 경로들로부터 데이터를 수신할 때, 수신기는 네트워크 경로 레벨에서 QoS 및 QoE 측정치(패킷 손실, 지연, 지터(jitter) 등)들을 계산할 수 있다. 이를 가능하게 하기 위해, 패킷들은, 수신기에 도달하기 전 MMT 송신기 또는 경로의 중간 노드에서 노드 또는 경로 정보로 스탬프(stamp) 처리될 수 있다. MMT 수신기는 사전 결정된 간격들로 흐름 별 또는 네트워크 별 경로 QoS 및 QoE 측정치(경로 품질 정보)들을 계산할 수 있고, 경로 품질 정보를 임의의 채널 품질 정보(예: LTE 링크 상의 링크 무선 품질)와 함께 MMT 송신기에 송신할 수 있다.
도 7은 본 개시에 따른 다수의 네트워크 경로들 각각에 대한 수신기 피드백의 다이어그램 700의 예를 도시한다. 도 7은 각 네트워크 경로에 대한 세 가지 지표들(metrics)(손실, 지연 및 지터)을 도시한다. 그러나, 수신기 피드백은 각 네트워크 경로에 대해 더 많은 QoS 및 QoE 지표들을 포함하도록 확장될 수 있다. MMT 규격(specification)은 수신기 피드백에 대한 지원을 포함할 수 있다. 일 실시예에서, 수신기 피드백은 네트워크 경로 레벨에서 수행될 수 있다. 수신기 피드백의 결과로서, MMT 송신기는 다른 네트워크 경로들의 조건들을 인식하게 된다.
MMT 수신기 피드백에 따라, MMT 송신기는 양 당사자 간의 서로 다른 네트워크 경로들의 조건들을 완벽하게 파악할 수 있다. 송신기는 흐름 별 (네트워크 경로 당) QoS 및 QoE 측정치들을 사용하여 네트워크 경로를 동적으로 변경할 수 있기 때문에, 패킷 흐름들은 성능이 우수한 다른 네트워크 경로들을 통해 라우팅될 수 있다. 특정 미디어 유형에 대한 네트워크 경로 결정은 패킷들이 처리되지 않은(raw) 데이터에서 생성될 때 실시간으로 발생한다. 결과적으로, 패킷들은 더 나은 품질 특성들을 갖는 네트워크 경로상의 목적지로 전달되어, 수신기로의 최적 또는 개선된 전달 결과가 도출된다. 어플리케이션이 요구하는 경우, 수신기 피드백 및 그와 같은 피드백에 기초한 동적 경로 업데이트가 매우 세분화(granular)된 레벨(예: 패킷 단위의 기준)에서 이루어질 수 있음에 유의해야 한다.
세션 동안 패킷 흐름들에 대한 네트워크 경로들이 변경될 수 있기 때문에, SDP가 미디어 유형을 네트워크 경로에 연결했으므로 SDP와의 동기화가 끊어지게 된다. 이 문제를 해결하기 위해, MMT 송신기 및 MMT 수신기는, 패킷 흐름들이 새로운 네트워크 경로 상에 실제로 송신되기 전에, 본 발명의 설명에 설명된 바와 같이 전송 파라미터들 및 네트워크 경로들을 변경하기 위해 중간-세션(mid-session) 변경을 개시할 수 있다. 일 실시예에서, 네트워크 경로에 대한 변경들은 네트워크 경로에 대한 빈번한 변경을 최소화하기 위해 적절한 임계치들로 수행될 수 있다.
다중 경로는 반복 DESCRIBE 메시지를 사용하여 셋업될 수 있다. 본 발명의 설명에서 논의된 바와 같이, "다중경로Id" 헤더 필드는 DESCRIBE 메시지에 포함될 수 있다. 클라이언트 장치 300은 DESCRIBE 요청을 보내기 전에 OPTIONS 요청을 사용하여 서버 200의 다중 경로 성능들에 대해 문의하지 않았을 수 있다. 클라이언트 장치 300 및 서버 200은 초기 DESCRIBE 요청 후에 여전히 다중 경로로 업그레이드할 수 있다. 예를 들어, 클라이언트 장치 300은 [[3]]에서 규정된 바와 같이 표준 RTSP 세션을 설정하기 위해 "다중경로Id" 헤더없이 DESCRIBE 요청을 사용하여 미디어 기술을 서버 200에 요청할 수 있다. 서버 200은 중요 기술들("다중 경로" 속성이 없는 SDP)에 대한 표준 응답으로 응답한다. 클라이언트 장치 300은 다중 경로 사용을 의도한다. 클라이언트 장치 300은, 본 발명의 설명에서 논의된 바와 같이, OPTIONS 요청을 사용하여 다중 경로 성능들에 대해 서버 200에 질의(query)할 수 있다. 다중 경로 성능에 대한 긍정 응답을 수신하면, 클라이언트 장치 300은 "다중경로 ID" 헤더 필드와 함께 새로운 DESCRIBE 요청을 송신할 수 있다. 클라이언트 장치 300 및 서버 200은 이후에 설명된 바와 같이 다중 경로 전달을 계속할 수 있다.
또한, 다중 경로는 서버 고지(announcement)를 기반으로 셋업될 수 있다. 본 발명의 설명에서 논의된 바와 같이, "다중경로Id" 헤더 필드는 DESCRIBE 메시지에 포함될 수 있다. 클라이언트 장치 300은 DESCRIBE 요청을 보내기 전에 OPTIONS 요청을 사용하여 서버 200의 다중 경로 성능들에 대해 문의하지 않았을 수 있다. 클라이언트 장치 300 및 서버 200은 초기 DESCRIBE 요청 후에 여전히 다중 경로로 업그레이드할 수 있다. 예를 들어, 클라이언트 장치 300은 [[3]]에서 규정된 바와 같이 표준 RTSP 세션을 설정하기 위한 "다중경로Id" 헤더없이 DESCRIBE 요청을 사용하여 미디어 기술을 서버 200에 요청한다. 서버 300은 중요 기술들("다중 경로" 속성이 없는 SDP)과 함께 표준 응답으로 응답한다. 클라이언트 장치 300은 다중 경로 사용을 의도한다. 클라이언트 장치 300은 본 발명의 설명에서 논의된 바와 같이 OPTIONS 요청을 사용하여 다중 경로 성능들에 대해 서버 200에 질의할 수 있다. 서버 200은 ANNOUNCE 메시지를 사용하여 새로운 SDP를 고지할 수 있다. 다중 경로 성능 및 새로운 SDP에 대한 긍정 응답을 수신하면, 클라이언트 장치 300은 "다중경로Id" 헤더 필드를 갖는 각각의 요청으로 다수의 SETUP 요청들을 송신하기 시작할 수 있다. 클라이언트 장치 300 및 서버 200은 본 발명의 설명에 설명된 바와 같이 다중 경로 전달을 진행할 것이다.
서버 200은 다중 경로를 개시할 수 있다. 본 발명의 설명에서 논의된 바와 같이, "다중경로Id" 헤더 필드는 DESCRIBE 메시지에 포함될 수 있다. 클라이언트 장치 300은 DESCRIBE 요청을 보내기 전에 OPTIONS 요청을 사용하여 서버 200의 다중 경로 성능들에 대해 문의하지 않았을 수 있다. 클라이언트 장치 300 및 서버 200은 초기 DESCRIBE 요청이 서버 200에 송신되고 서버 200이 다중 경로 셋업을 개시한 후에도 여전히 다중 경로 전달에 관여할 수 있다. 예를 들어, 클라이언트 장치 300은 [[3]]에 규정된 표준 RTSP 세션을 설정하기 위해 "다중경로Id" 헤더없이 DESCRIBE 요청을 사용하여 미디어 기술을 서버 200에 요청한다. 서버 200은 클라이언트 장치 300이 "다중경로Id" 헤더를 특정하지 않은 것으로 본다. 서버 200은 여전히 "다중경로" SDP 속성을 포함하는 SDP로 응답할 수 있다. 또한, 서버 200은 DESCRIBE 요청에 응답하여 서버 다중 경로 식별자 값을 송신할 수 있다. 클라이언트 장치 300은 서버 200의 규정된 다중 경로 성능들을 본다. 클라이언트 장치 300은 본 발명의 설명에 설명된 바와 같이 다중 접속들을 설정하기 시작할 수 있다. 제1 SETUP 메시지로 시작하여, 클라이언트 장치 300은 "다중경로Id" 헤더 필드에서 클라이언트 다중 경로 식별자 값을 포함하기 시작할 수 있고, 이후 설명된 바와 같이 다중 경로를 사용하여 진행할 수 있다.
HTTP는 다중 경로 세션들을 설정하기 위한 시그널링(signaling) 프로토콜로 사용될 수 있다. 본 발명의 설명에서 논의된 바와 같이, RTSP는 다중 경로 세션들을 설정하기 위한 시그널링 프로토콜로서 사용된다. 또는, HTTP가 다중 경로 세션들을 설정하기 위한 시그널링 프로토콜로 사용될 수 있다. 도 8은 본 개시에 따라 HTTP 프로토콜을 사용하는 MMT 세션 셋업의 예시적인 방법 800을 도시한다. 과정 805에서, 클라이언트 장치 300은 [[11]]에 규정된 바와 같이 웹소켓(websocket) 접속에 HTTP 업그레이드를 사용하여 서버 200으로부터 MMT 패키지(package)를 다운로드(download)한다. 업그레이드 요청의 일부로서, 클라이언트 장치 300은 클라이언트 장치 300이 다중 경로 전달 기능을 사용하려고 한다는 것을 서버 200에 알리는 "다중경로Id" 헤더를 포함한다. 이 헤더 필드의 값은 클라이언트 장치 300이 모든 후속 패킷 요청들에 걸쳐 사용하고자 하는 클라이언트 다중 경로 식별자이다. 과정 810에서, 서버 200은 웹소켓에의 HTTP 업그레이드 수신에 응답하여, 서버 다중 경로 식별자 값이 포함된 "다중경로Id" 헤더를 갖는 응답 "200 OK"를 클라이언트 장치 300에 송신한다. 과정 815 및 825에 도시된 바와 같이, 클라이언트 장치 300은 다중 경로 전달을 위해 클라이언트 장치 300이 사용하는 각각의 인터페이스들에 대해 웹소켓 접속을 사용한다. 과정 820 및 830에서, 서버 200은, 다중 경로 전달을 위해 클라이언트 300이 사용하는 각각의 인터페이스들에 대한 웹소켓에의 HTTP 업그레이드 수신에 응답하여, 서버 다중 경로 식별자 값을 포함하는 "다중경로Id" 헤더를 갖는 응답 "200 OK"를 클라이언트 장치 300에 송신한다. 각각의 GET 요청은 "다중경로" 헤더 필드를 포함하므로, 서버 200은 다수의 착신 GET 요청들이 MMT 패킷 데이터에 대한 동일한 세션의 일부임을 알고 있다. 웹소켓 메시지들은 다중 경로 성능, 지정된 네트워크 인터페이스에 대한 자산 유형들의 협상 등과 같은 옵션들 발견(options discovery)에 사용된다. 과정 835, 840, 및 845에서, 데이터는 서버 200으로부터 클라이언트 장치 300으로 각각의 경로들을 통해 송신된다.
도 9는 본 개시에 따른 장치에 의한 다중 경로 데이터 패킷 수신을 위한 예시적인 과정의 흐름도를 도시한다.
과정 905에서, 장치는 서버에 메시지를 송신한다. 상기 메시지는 다중 경로 전송 세션에 대응하고 상기 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 나타내는 식별자를 포함한다. 장치는 장치의 둘 이상의 네트워크 액세스 인터페이스들 중 제1 네트워크 액세스 인터페이스에 의해 액세스되는 제1 네트워크 경로의 하나 이상의 제1 특성들을 결정한다. 장치는 장치의 둘 이상의 네트워크 액세스 인터페이스들 중 제2 네트워크 액세스 인터페이스에 의해 액세스되는 제2 네트워크 경로의 하나 이상의 제2 특성들을 결정한다. 장치는 다중 경로 전송 세션 동안 장치의 둘 이상의 네트워크 액세스 인터페이스들의 네트워크 액세스 인터페이스가 액세스하는 네트워크 경로를 나타내는 식별자들을 생성한다.
과정 910에서, 장치는, 둘 이상의 네트워크 액세스 인터페이스들의 하나 이상의 특성들 기초한 다중 경로 전송 세션 동안, 장치의 둘 이상의 네트워크 액세스 인터페이스들의 임의의 조합을 통해 서버로부터 하나 이상의 데이터 패킷들을 수신한다. 장치는 후속 메시지를 서버로 송신한다. 후속 메시지는 다중 접속 전송 세션에 대응하고 장치의 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹을 나타내는 다른 식별자를 포함한다. 장치의 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹은 상기 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹과 다르다. 장치는 다중 경로 전송 세션 동안 장치의 둘 이상의 네트워크 액세스 인터페이스들을 통해 서버에서 하나 이상의 후속 데이터 패킷들을 수신한다. 장치는, 다중 경로 전송 세션 동안 서버로부터 하나 이상의 데이터 패킷들을 수신하기 위한 요청을 송신하는 것에 응답하여, 다중 전송 세션 동안 장치의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 서버로부터 하나 이상의 데이터 패킷들을 수신한다.
도 10은 본 개시에 따른 서버에 의한 다중 경로 데이터 패킷 송신을 위한 예시적인 과정의 흐름도를 도시한다.
과정 1005에서, 서버는 장치로부터 메시지를 수신한다. 메시지는 다중 경로 전송 세션에 대응하고 다중 경로 전송 세션 동안 서버로부터 하나 이상의 데이터 패킷들을 수신하기 위한 장치의 둘 이상의 네트워크 액세스 인터페이스들의 그룹을 나타내는 식별자를 포함한다. 서버는 다중 경로 전송 세션 동안 장치로부터의 요청에 기초하여 하나 이상의 데이터 패킷들을 송신하기 위해 둘 이상의 네트워크 경로들의 경로 선택을 제어한다. 서버는 장치의 둘 이상의 네트워크 액세스 인터페이스들 중 제1 네트워크 액세스 인터페이스에 의해 액세스되는 제1 네트워크 경로의 하나 이상의 제1 특성들을 결정한다. 서버는 장치의 둘 이상의 네트워크 액세스 인터페이스들 중 제2 네트워크 액세스 인터페이스에 의해 액세스되는 제2 네트워크 경로의 하나 이상의 제2 특성들을 결정한다. 서버는 다중 경로 전송 세션 동안 장치의 둘 이상의 네트워크 액세스 인터페이스들의 네트워크 액세스 인터페이스에 의해 액세스되는 둘 이상의 네트워크 경로들을 나타내는 식별자를 생성한다.
과정 1010에서, 서버는 다중 경로 전송 세션 동안 장치의 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 통해 장치로 하나 이상의 데이터 패킷들을 송신한다. 서버는 둘 이상의 네트워크 경로들의 수신된 특성들에 기초하여 둘 이상의 네트워크 경로들 각각을 통해 장치로 하나 이상의 데이터 패킷들을 송신한다. 서버는 다른 메시지를 장치로 송신한다. 다른 메시지는 서버가 둘 이상의 네트워크 경로들을 통해 하나 이상의 데이터 패킷들의 전송을 지원함을 나타낸다. 서버는 다중 경로 전송 세션에 대한 요청을 수신한다. 서버는, 다중 경로 전송 세션 동안, 서버의 둘 이상의 네트워크 액세스 인터페이스들 및 장치의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 하나 이상의 데이터 패킷들을 장치로 송신한다. 서버는 서버에 대한 후속 메시지를 수신한다. 후속 메시지는 다중 경로 전송 세션에 대응하고 장치의 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹을 나타내는 다른 식별자를 포함한다. 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹은 상기 둘 이상의 네트워크 액세스 인터페이스들의 그룹과 다르다. 서버는 다중 경로 전송 세션 동안 장치의 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 하나 이상의 후속 데이터 패킷들을 장치로 송신한다.
본 개시는 예시적인 실시 예로 설명되었지만, 다양한 변경 예 및 수정 예가 당업자에게 제안될 수 있다. 본 개시는 첨부된 청구범위의 범주 내에 속하는 이러한 변경 및 수정 예들을 포함하는 것으로 의도된다.
Claims (24)
- 다중 경로 데이터 패킷 수신을 위한 장치의 동작 방법에 있어서,
다중 경로 전송 세션(multipath transmission session)에 대응하고, 상기 다중 경로 전송 세션 동안 상기 장치의 둘 이상의 네트워크 액세스 인터페이스(network access interface)들의 그룹을 지시하는 식별자(identifier)를 포함하는 메시지를 서버에 송신하는 과정과,
적어도 하나의 데이터 패킷을 수신하기 위해, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 적어도 하나의 품질 정보에 기반하여, 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 상기 서버와 협상하는 과정과,
상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 상기 둘 이상의 네트워크 경로들을 통해 상기 서버로부터 적어도 하나의 데이터 패킷을 수신하는 과정을 포함하고,
상기 둘 이상의 네트워크 경로들을 협상하는 과정은, 상기 적어도 하나의 품질 정보와 상기 둘 이상의 네트워크 경로들을 결정하기 위한 임계 값을 비교함으로써 수행되는 방법. - 청구항 1에 있어서,
상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제1 네트워크 액세스 인터페이스에 의해 액세스되는 제1 네트워크 경로의 적어도 하나의 제1 품질 관련 정보를 결정하는 과정과,
상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제2 네트워크 액세스 인터페이스에 의해 액세스되는 제2 네트워크 경로의 적어도 하나의 제2 품질 관련 정보를 결정하는 과정을 더 포함하는 방법. - 청구항 1에 있어서,
상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 네트워크 액세스 인터페이스에 의해 액세스되는 네트워크 경로들을 지시하는 식별자들을 생성하는 과정을 더 포함하는 방법. - 청구항 1에 있어서,
후속 메시지(subsequent message)를 서버로 송신하는 과정과,
상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 상기 서버로부터 적어도 하나의 후속 데이터 패킷을 수신하는 과정을 더 포함하고,
상기 후속 메시지는, 상기 다중 경로 전송 세션에 대응하고 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 상기 그룹과는 다른 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹(subsequent group)을 지시하는 다른 식별자를 포함하는 방법. - 청구항 1에 있어서,
상기 다중 경로 전송 세션 동안 상기 서버로부터 상기 적어도 하나의 데이터 패킷을 수신하라는 요청에 응답하여, 상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 상기 적어도 하나의 데이터 패킷을 상기 서버로부터 수신하는 과정을 더 포함하는 방법. - 다중 경로 데이터 패킷 송신을 위한 서버의 동작 방법에 있어서,
다중 경로 전송 세션(multipath transmission session)에 대응하고 상기 다중 경로 전송 세션 동안 상기 서버로부터 적어도 하나의 데이터 패킷을 수신하는 장치의 둘 이상의 네트워크 액세스 인터페이스(network access interface)들의 그룹을 지시하는 식별자(identifier)를 포함하는 메시지를 상기 장치로부터 수신하는 과정과,
적어도 하나의 데이터 패킷을 수신하기 위해, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 적어도 하나의 품질 정보에 기반하여, 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 상기 장치와 협상하는 과정과,
상기 다중 경로 송신 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 통해 상기 적어도 하나의 데이터 패킷을 상기 장치로 송신하는 과정을 포함하고,
상기 둘 이상의 네트워크 경로들을 협상하는 과정은, 상기 적어도 하나의 품질 정보와 상기 둘 이상의 네트워크 경로들을 결정하기 위한 임계 값을 비교함으로써 수행되는 방법. - 청구항 6에 있어서,
상기 둘 이상의 네트워크 경로들의 수신된 품질 관련 정보들에 기초하여, 상기 둘 이상의 네트워크 경로들 각각을 통해 상기 적어도 하나의 데이터 패킷을 상기 장치로 송신하는 과정을 더 포함하는 방법. - 청구항 6에 있어서,
상기 다중 경로 전송 세션 동안, 상기 장치로부터의 요청에 기초하여, 상기 적어도 하나의 데이터 패킷을 송신하기 위해 상기 둘 이상의 네트워크 경로들의 경로 선택을 제어하는 과정을 더 포함하는 방법. - 청구항 6에 있어서,
상기 장치로 다른 메시지를 송신하는 과정과,
상기 다중 경로 전송 세션에 대한 요청을 수신하는 과정과,
상기 다중 경로 전송 세션 동안, 상기 서버의 상기 둘 이상의 네트워크 액세스 인터페이스들 및 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 상기 적어도 하나의 데이터 패킷을 상기 장치로 송신하는 과정을 더 포함하고,
상기 다른 메시지는, 상기 서버가 상기 둘 이상의 네트워크 경로들을 통해 상기 적어도 하나의 데이터 패킷의 송신을 지원함을 지시하는 방법. - 청구항 6에 있어서,
상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제1 네트워크 액세스 인터페이스에 의해 액세스되는 제1 네트워크 경로의 적어도 하나의 제1 품질 관련 정보를 결정하는 과정과,
상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제2 네트워크 액세스 인터페이스에 의해 액세스되는 제2 네트워크 경로의 적어도 하나의 제2 품질 관련 정보를 결정하는 과정을 더 포함하는 방법. - 청구항 10에 있어서,
상기 다중 경로 송신 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 네트워크 액세스 인터페이스에 의해 액세스되는 상기 둘 이상의 네트워크 경로들을 지시하는 식별자를 생성하는 과정을 더 포함하는 방법. - 청구항 6에 있어서,
후속 메시지(subsequent message)를 수신하는 과정과,
상기 다중 경로 송신 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 적어도 하나의 후속 데이터 패킷을 상기 장치로 송신하는 과정을 더 포함하고,
상기 후속 메시지는, 상기 다중 경로 전송 세션에 대응하고 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 상기 그룹과는 다른 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹(subsequent group)을 지시하는 다른 식별자를 포함하는 방법. - 다중 경로 데이터 패킷 수신을 위한 장치에 있어서,
송수신부와,
상기 송수신부와 연결된 적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는,
다중 경로 전송 세션(multipath transmission session)에 대응하고, 상기 다중 경로 전송 세션 동안 상기 장치의 둘 이상의 네트워크 액세스 인터페이스(network access interface)들의 그룹을 지시하는 식별자(identifier)를 포함하는 메시지를 서버에 송신하고,
적어도 하나의 데이터 패킷을 수신하기 위해, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 적어도 하나의 품질 정보에 기반하여, 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 상기 서버와 협상하고,
상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 상기 둘 이상의 네트워크 경로들을 통해 상기 서버로부터 적어도 하나의 데이터 패킷을 수신하도록 구성되고,
상기 둘 이상의 네트워크 경로들을 협상하는 것은, 상기 적어도 하나의 품질 정보와 상기 둘 이상의 네트워크 경로들을 결정하기 위한 임계 값을 비교함으로써 수행되는 장치. - 청구항 13에 있어서,
상기 적어도 하나의 프로세서는, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제1 네트워크 액세스 인터페이스에 의해 액세스되는 제1 네트워크 경로의 적어도 하나의 제1 품질 관련 정보를 결정하고,
상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제2 네트워크 액세스 인터페이스에 의해 액세스되는 제2 네트워크 경로의 적어도 하나의 제2 품질 관련 정보를 결정하도록 더 구성되는 장치. - 청구항 13에 있어서,
상기 적어도 하나의 프로세서는, 상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 네트워크 액세스 인터페이스에 의해 액세스되는 네트워크 경로들을 지시하는 식별자들을 생성하도록 더 구성되는 장치. - 청구항 13에 있어서,
상기 송수신부는, 후속 메시지(subsequent message)를 서버로 송신하고,
상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 상기 서버로부터 적어도 하나의 후속 데이터 패킷을 수신하도록 더 구성되고,
상기 후속 메시지는, 상기 다중 경로 전송 세션에 대응하고 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 상기 그룹과는 다른 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹(subsequent group)을 지시하는 다른 식별자를 포함하는 장치. - 청구항 13에 있어서,
상기 송수신부는, 상기 다중 경로 전송 세션 동안 상기 서버로부터 상기 적어도 하나의 데이터 패킷을 수신하라는 요청에 응답하여, 상기 다중 경로 전송 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 상기 적어도 하나의 데이터 패킷을 상기 서버로부터 수신하도록 더 구성되는 장치. - 다중 경로 데이터 패킷 송신을 위한 서버에 있어서,
송수신부와,
상기 송수신부에 연결된 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는, 다중 경로 전송 세션(multipath transmission session)에 대응하고 상기 다중 경로 전송 세션 동안 상기 서버로부터 적어도 하나의 데이터 패킷을 수신하는 장치의 둘 이상의 네트워크 액세스 인터페이스(network access interface)들의 그룹을 지시하는 식별자(identifier)를 포함하는 메시지를 상기 장치로부터 수신하고,
적어도 하나의 데이터 패킷을 수신하기 위해, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 적어도 하나의 품질 정보에 기반하여, 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 상기 장치와 협상하고,
상기 다중 경로 송신 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들에 대응하는 둘 이상의 네트워크 경로들을 통해 상기 적어도 하나의 데이터 패킷을 상기 장치로 송신하도록 구성되고,
상기 둘 이상의 네트워크 경로들을 협상하는 것은, 상기 적어도 하나의 품질 정보와 상기 둘 이상의 네트워크 경로들을 결정하기 위한 임계 값을 비교함으로써 수행되는 장치. - 청구항 18에 있어서,
상기 송수신부는, 상기 둘 이상의 네트워크 경로들의 수신된 품질 관련 정보들에 기초하여, 상기 둘 이상의 네트워크 경로들 각각을 통해 상기 적어도 하나의 데이터 패킷을 상기 장치로 송신하도록 더 구성되는 장치. - 청구항 18에 있어서,
상기 적어도 하나의 프로세서는, 상기 다중 경로 전송 세션 동안, 상기 장치로부터의 요청에 기초하여, 상기 적어도 하나의 데이터 패킷을 송신하기 위해 상기 둘 이상의 네트워크 경로들의 경로 선택을 제어하도록 더 구성되는 장치. - 청구항 18에 있어서,
상기 송수신부는, 상기 장치로 다른 메시지를 송신하고,
상기 다중 경로 전송 세션에 대한 요청을 수신하고,
상기 다중 경로 전송 세션 동안, 상기 서버의 상기 둘 이상의 네트워크 액세스 인터페이스들 및 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 상기 적어도 하나의 데이터 패킷을 상기 장치로 송신하도록 더 구성되고,
상기 다른 메시지는, 상기 서버가 상기 둘 이상의 네트워크 경로들을 통해 상기 적어도 하나의 데이터 패킷의 송신을 지원함을 지시하는 장치. - 청구항 18에 있어서,
상기 적어도 하나의 프로세서는, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제1 네트워크 액세스 인터페이스에 의해 액세스되는 제1 네트워크 경로의 적어도 하나의 제1 품질 관련 정보를 결정하고,
상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 중 제2 네트워크 액세스 인터페이스에 의해 액세스되는 제2 네트워크 경로의 적어도 하나의 제2 품질 관련 정보를 결정하도록 더 구성되는 장치. - 청구항 22에 있어서,
상기 적어도 하나의 프로세서는, 상기 다중 경로 송신 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 네트워크 액세스 인터페이스에 의해 액세스되는 상기 둘 이상의 네트워크 경로들을 지시하는 식별자를 생성하도록 더 구성되는 장치. - 청구항 18에 있어서,
상기 송수신부는, 후속 메시지(subsequent message)를 수신하고,
상기 다중 경로 송신 세션 동안, 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들 각각을 통해 적어도 하나의 후속 데이터 패킷을 상기 장치로 송신하도록 더 구성되고,
상기 후속 메시지는, 상기 다중 경로 전송 세션에 대응하고 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 상기 그룹과는 다른 상기 장치의 상기 둘 이상의 네트워크 액세스 인터페이스들의 후속 그룹(subsequent group)을 지시하는 다른 식별자를 포함하는 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562180404P | 2015-06-16 | 2015-06-16 | |
US62/180,404 | 2015-06-16 | ||
US15/001,018 US10069719B2 (en) | 2015-06-16 | 2016-01-19 | Method and apparatus for multipath media delivery |
US15/001,018 | 2016-01-19 | ||
PCT/KR2016/006252 WO2016204468A1 (en) | 2015-06-16 | 2016-06-13 | Method and apparatus for multipath media delivery |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180009046A KR20180009046A (ko) | 2018-01-25 |
KR102519409B1 true KR102519409B1 (ko) | 2023-04-07 |
Family
ID=57545049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177032848A KR102519409B1 (ko) | 2015-06-16 | 2016-06-13 | 다중 경로 미디어 전달을 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10069719B2 (ko) |
EP (1) | EP3311534B1 (ko) |
JP (1) | JP6618552B2 (ko) |
KR (1) | KR102519409B1 (ko) |
CN (1) | CN107743698B (ko) |
WO (1) | WO2016204468A1 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6552303B2 (ja) * | 2015-07-02 | 2019-07-31 | キヤノン株式会社 | 通信装置および中継装置およびそれらの制御方法、プログラム |
FR3053196A1 (fr) | 2016-06-24 | 2017-12-29 | Orange | Procede de communication udp via des chemins multiples entre deux terminaux |
FR3053197A1 (fr) * | 2016-06-24 | 2017-12-29 | Orange | Procede de communication udp via des chemins multiples entre deux terminaux |
FR3067550A1 (fr) * | 2017-06-27 | 2018-12-14 | Orange | Procede de communication quic via des chemins multiples |
US11196831B2 (en) * | 2017-10-31 | 2021-12-07 | Canon Kabushiki Kaisha | Communication apparatus, communication method, and storage medium |
CN108400937B (zh) * | 2018-02-23 | 2020-06-23 | 北京交通大学 | 煤矿井下无线多媒体传感器网络区分服务的路由方法 |
US10887151B2 (en) | 2018-10-05 | 2021-01-05 | Samsung Eletrônica da Amazônia Ltda. | Method for digital video transmission adopting packaging forwarding strategies with path and content monitoring in heterogeneous networks using MMT protocol, method for reception and communication system |
US11431817B2 (en) | 2018-12-04 | 2022-08-30 | Samsung Electronics Co., Ltd. | Method and apparatus for management of network based media processing functions |
US10979314B2 (en) | 2019-01-24 | 2021-04-13 | Vmware, Inc. | Dynamic inter-cloud placement of virtual network functions for a slice |
US10944647B2 (en) | 2019-01-24 | 2021-03-09 | Vmware, Inc. | Dynamic inter-cloud placement of virtual network functions for a slice |
US10958579B2 (en) | 2019-05-14 | 2021-03-23 | Vmware, Inc. | Congestion avoidance in a slice-based network |
US11012288B2 (en) | 2019-05-14 | 2021-05-18 | Vmware, Inc. | Congestion avoidance in a slice-based network |
US10892994B2 (en) | 2019-05-14 | 2021-01-12 | Vmware, Inc. | Quality of service in virtual service networks |
US10897423B2 (en) | 2019-05-14 | 2021-01-19 | Vmware, Inc. | Congestion avoidance in a slice-based network |
US11588733B2 (en) | 2019-05-14 | 2023-02-21 | Vmware, Inc. | Slice-based routing |
EP4026343A4 (en) * | 2019-10-01 | 2022-11-09 | Samsung Electronics Co., Ltd. | METHOD, APPARATUS AND COMPUTER READABLE RECORDING MEDIA FOR TRANSMITTING OR RECEIVING VPCC DATA |
CN113872862B (zh) * | 2020-06-30 | 2022-12-06 | 华为技术有限公司 | 通信方法、移动设备及路由设备 |
CN113347681B (zh) * | 2021-05-31 | 2023-07-14 | 浙江大华技术股份有限公司 | 数据传输方法、装置、存储介质及电子装置 |
CN115707036A (zh) * | 2021-08-11 | 2023-02-17 | 华为技术有限公司 | 传输数据的方法和装置 |
CN114285791B (zh) * | 2021-12-17 | 2023-07-07 | 上海绚显科技有限公司 | 数据传输方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130232534A1 (en) | 2012-03-01 | 2013-09-05 | Motorola Mobility, Inc. | Method for retrieving content, wireless communication device and communication system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386000B2 (en) * | 2001-04-17 | 2008-06-10 | Nokia Corporation | Packet mode speech communication |
US7606156B2 (en) | 2003-10-14 | 2009-10-20 | Delangis Eric M | Residential communications gateway (RCG) for broadband communications over a plurality of standard POTS lines, with dynamic allocation of said bandwidth, that requires no additional equipment or modifications to the associated class 5 offices or the PSTN at large |
FR2866768A1 (fr) * | 2004-02-19 | 2005-08-26 | France Telecom | Procede d'acces a un service a travers un reseau d'acces multivoies |
KR101210337B1 (ko) | 2006-11-30 | 2012-12-10 | 삼성전자주식회사 | 이종 인터페이스 환경에서의 다중 경로 설정 장치 및 방법 |
US8417849B2 (en) | 2009-10-07 | 2013-04-09 | International Business Machines Corporation | Apparatus and method to adjust a multi-path device reservation |
US8670326B1 (en) * | 2011-03-31 | 2014-03-11 | Cisco Technology, Inc. | System and method for probing multiple paths in a network environment |
US9197544B2 (en) | 2011-10-19 | 2015-11-24 | The Regents Of The University Of California | Comprehensive multipath routing for congestion and quality-of-service in communication networks |
US8755389B1 (en) | 2012-04-04 | 2014-06-17 | Google Inc. | Semi-centralized multiple path routing |
US9635394B2 (en) | 2013-01-24 | 2017-04-25 | Electronics And Telecommunications Research Institute | Method and device for flexible MMT asset transmission and reception |
US9456464B2 (en) | 2013-06-06 | 2016-09-27 | Apple Inc. | Multipath TCP subflow establishment and control |
WO2015127294A1 (en) * | 2014-02-21 | 2015-08-27 | Broadcom Corporation | Carrier aggregation over lte and wifi |
US20170231018A1 (en) * | 2014-08-06 | 2017-08-10 | Nokia Solutions And Networks Oy | Ipv6 interface id filter using a single pdn connection |
US9681481B2 (en) * | 2014-12-19 | 2017-06-13 | At&T Intellectual Property I, L.P. | Mobility management of wireless networks based on multipath transfer control protocol |
-
2016
- 2016-01-19 US US15/001,018 patent/US10069719B2/en active Active
- 2016-06-13 CN CN201680035343.9A patent/CN107743698B/zh active Active
- 2016-06-13 JP JP2017564824A patent/JP6618552B2/ja active Active
- 2016-06-13 KR KR1020177032848A patent/KR102519409B1/ko active IP Right Grant
- 2016-06-13 WO PCT/KR2016/006252 patent/WO2016204468A1/en active Application Filing
- 2016-06-13 EP EP16811881.8A patent/EP3311534B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130232534A1 (en) | 2012-03-01 | 2013-09-05 | Motorola Mobility, Inc. | Method for retrieving content, wireless communication device and communication system |
Also Published As
Publication number | Publication date |
---|---|
EP3311534A1 (en) | 2018-04-25 |
CN107743698B (zh) | 2020-11-10 |
CN107743698A (zh) | 2018-02-27 |
EP3311534B1 (en) | 2021-04-28 |
JP6618552B2 (ja) | 2019-12-11 |
KR20180009046A (ko) | 2018-01-25 |
JP2018524887A (ja) | 2018-08-30 |
WO2016204468A1 (en) | 2016-12-22 |
US20160373342A1 (en) | 2016-12-22 |
US10069719B2 (en) | 2018-09-04 |
EP3311534A4 (en) | 2018-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102519409B1 (ko) | 다중 경로 미디어 전달을 위한 방법 및 장치 | |
US11412018B2 (en) | Distributing communication of a data stream among multiple devices | |
US20220377124A1 (en) | Distributing communication of a data stream among multiple devices | |
US10237315B2 (en) | Distributing communication of a data stream among multiple devices | |
US11271862B2 (en) | Service delivery in a communication network | |
CN113630277B (zh) | 用于增强mbms内容提供和内容摄取的方法和装置 | |
WO2021073874A1 (en) | Methods for network assistance for media services, core network node, wireless devices and radio access network nodes | |
Smith et al. | Wireless adaptive video streaming with edge cloud | |
WO2024146292A1 (zh) | 数据传输方法、装置和系统 | |
EP4120732A1 (en) | Media packet transmission method, apparatus, and system | |
CN113938468A (zh) | 视频传输方法、设备、系统及存储介质 | |
US9374603B1 (en) | Systems and methods for providing content delivery over a backhaul link in a communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |