KR20170102951A - 소스 선택 및 트래픽 엔지니어링의 공동 최적화를 위한 시스템 및 방법 - Google Patents
소스 선택 및 트래픽 엔지니어링의 공동 최적화를 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20170102951A KR20170102951A KR1020177021879A KR20177021879A KR20170102951A KR 20170102951 A KR20170102951 A KR 20170102951A KR 1020177021879 A KR1020177021879 A KR 1020177021879A KR 20177021879 A KR20177021879 A KR 20177021879A KR 20170102951 A KR20170102951 A KR 20170102951A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- content
- receiving device
- content source
- network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000005457 optimization Methods 0.000 title claims description 29
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000012937 correction Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0044—Arrangements for allocating sub-channels of the transmission path allocation of payload
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- 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/02—Topology update or discovery
-
- 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/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 동일한 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 콘텐츠 분배 네트워크(network)에서 데이터를 라우팅하기 위한 방법 및 시스템에 관한 것이다. 데이터를 라우팅하기 위한 방법은, 네트워크 토폴로지를 생성하는 단계 - 데이터를 저장하는 콘텐츠 소스 각각은 가상 라우터로서 표현되고, 가상 라우터는 각각의 무한 용량 통신 링크에 의해 공용 가상 콘텐츠 서버에 각각 연결됨 -; 데이터에 대한 네트워크 토폴로지를 통해 가상 콘텐츠 서버로부터 수신 장치까지 최적화된 라우팅을 결정하는 단계; 및 네트워크를 통해 수신 장치에 데이터를 전송하기 위해, 최적화된 라우팅에 따라 콘텐츠 소스 각각에 대한 데이터 할당을 결정하는 단계를 포함한다.
Description
본 출원은 2015년 1월 8일에 출원된 미국 특허출원 번호 제14/592,616호에 대해 우선권을 주장하는 바이며, 그 전체 내용이 본 명세서에 원용되어 포함된다.
본 개시는 네트워크에서 콘텐츠 소스 및 라우팅 옵션의 선택을 최적화하기 위한 시스템 및 방법에 관한 것이다.
콘텐츠 전송 네트워크 또는 콘텐츠 분배 네트워크(content delivery network 또는 content distribution network, CDN) 시스템에서는, 동일한 데이터가 콘텐츠 서버 및 로컬 캐싱 센터와 같은 복수의 콘텐츠 컨테이너 또는 소스에 저장될 수 있고, 콘텐츠 소스와 콘텐츠 수신 장치 간에는 수많은 라우팅 옵션이 존재한다. 요청하는 장치로부터의 사용자 요청을 충족시키기 위해 특정 콘텐츠 서버를 선택하는 경우, CDN은 일반적으로 하나 이상의 기준, 예컨대 물리적 거리, 레이턴시, 로드 밸런싱, 및 비용에 기초하여 서버 선택 메커니즘을 이용할 것이다. 추가적으로, CDN은 일반적으로, 트래픽 엔지니어링(traffic engineering, TE)을 이용하여 유사한 기준을 적용함으로써, 선택된 콘텐츠 소스로부터 요청하는 장치까지 네트워크를 통해 경로와 데이터 레이트를 선택할 것이다.
예시적인 실시예에 따르면, 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 네트워크에서 상기 데이터를 라우팅하기 위한 방법이 제공된다. 상기 데이터를 라우팅하기 위한 방법은, 네트워크 토폴로지를 생성하는 단계 - 상기 데이터를 저장하는 상기 콘텐츠 소스 각각은 가상 라우터로서 표현되고, 상기 가상 라우터는 각각의 무한 용량 통신 링크에 의해 공용 가상 콘텐츠 서버에 각각 연결됨 -; 상기 데이터에 대한 상기 네트워크 토폴로지를 통해 상기 가상 콘텐츠 서버로부터 상기 수신 장치까지 최적화된 라우팅을 결정하는 단계; 및 상기 네트워크를 통해 상기 수신 장치에 데이터를 전송하기 위해, 상기 최적화된 라우팅에 따라 상기 콘텐츠 소스 각각에 대한 데이터 할당을 결정하는 단계를 포함한다.
다른 예시적인 실시예에 따르면, 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 네트워크를 통해 상기 데이터의 트래픽 라우팅을 최적화하기 위한 시스템이 제공된다. 상기 시스템은, 상기 데이터를 저장하는 상기 콘텐츠 소스 각각이 각각의 무한 용량 통신 링크에 의해 공용 가상 콘텐츠 서버에 각각 연결된 가상 라우터로서 표현되는 네트워크 토폴로지를 생성하도록 구성된 트래픽 옵티마이저를 포함한다. 상기 트래픽 옵티마이저는 또한, 상기 데이터에 대한 상기 네트워크 토폴로지를 통해 상기 가상 콘텐츠 서버로부터 상기 수신 장치까지 최적화된 라우팅을 결정하고, 상기 네트워크를 통해 상기 수신 장치에 데이터를 전송하기 위해, 상기 최적화된 라우팅에 따라 상기 콘텐츠 소스 각각에 대한 데이터 할당을 결정할 것이다.
또 다른 예시적인 실시예에 따르면, 컴퓨터 프로그램 제품이 제공된다. 상기 컴퓨터 프로그램 제품은 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 비일시적 컴퓨터 판독가능 매체는 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 네트워크에서 상기 데이터를 라우팅하기 위한 트래픽 최적화를 구현하기 위한 컴퓨터 명령을 저장한다. 상기 컴퓨터 명령은, 트래픽 최적화 프로세서로 하여금: 네트워크 토폴로지를 생성하고 - 여기서, 상기 데이터를 저장하는 상기 콘텐츠 소스 각각은 각각의 무한 용량 통신 링크에 의해 공용 가상 콘텐츠 서버에 각각 연결된 가상 라우터로서 표현됨 -; 상기 데이터에 대한 상기 네트워크 토폴로지를 통해 상기 가상 콘텐츠 서버로부터 상기 수신 장치까지 최적화된 라우팅을 결정하며; 상기 네트워크를 통해 상기 수신 장치에 데이터를 전송하기 위해, 상기 최적화된 라우팅에 따라 상기 콘텐츠 소스 각각에 대한 데이터 할당을 결정하게 한다.
이하, 본 개시를 보다 완전하게 이해하기 위해, 아래에 열거된 첨부 도면과 함께 다음의 설명을 참조한다.
도 1은 본 명세서에서 설명된 방법 및 시스템의 예시적인 실시예가 적용될 수 있는 콘텐츠 분배 네트워크(content distribution network, CDN)의 예의 개략도이다.
도 2는 예시적인 실시예에 따라 CDN에서 데이터 소스를 공동으로 최적화하고 선택을 라우팅하기 위한 방법을 나타낸 흐름도이다.
도 3은 예시적인 실시예에 따라 도 1의 CDN을 위해 생성된 네트워크 토폴로지의 예의 개략도이다.
도 4는 예시적인 최적화 공식을 나타낸다.
도 5는 예시적인 실시예에 따른 분산된 콘텐츠 캐싱의 예를 나타낸다.
도면 전체에 걸쳐 동일한 참조 번호를 사용하여 동일한 구성 요소 및 특징을 나타낸다. 도시된 실시예와 함께 본 개시의 양태를 설명할 것이지만, 본 개시를 이러한 실시예로 한정하려는 것이 아님을 이해할 수 있을 것이다.
도 1은 본 명세서에서 설명된 방법 및 시스템의 예시적인 실시예가 적용될 수 있는 콘텐츠 분배 네트워크(content distribution network, CDN)의 예의 개략도이다.
도 2는 예시적인 실시예에 따라 CDN에서 데이터 소스를 공동으로 최적화하고 선택을 라우팅하기 위한 방법을 나타낸 흐름도이다.
도 3은 예시적인 실시예에 따라 도 1의 CDN을 위해 생성된 네트워크 토폴로지의 예의 개략도이다.
도 4는 예시적인 최적화 공식을 나타낸다.
도 5는 예시적인 실시예에 따른 분산된 콘텐츠 캐싱의 예를 나타낸다.
도면 전체에 걸쳐 동일한 참조 번호를 사용하여 동일한 구성 요소 및 특징을 나타낸다. 도시된 실시예와 함께 본 개시의 양태를 설명할 것이지만, 본 개시를 이러한 실시예로 한정하려는 것이 아님을 이해할 수 있을 것이다.
도 1은 예컨대 콘텐츠 분배 네트워크(content distribution network, CDN)(120)일 수 있는 통신 네트워크로서, 소스 선택 및 트래픽 엔지니어링(traffic engineering, TE)을 최적화하기 위한 시스템 및 방법의 예시적인 실시예가 적용될 수 있는 통신 네트워크를 나타내고 있다. CDN(120)은 하나 이상의 유선이나 무선 통신 네트워크 또는 유선 통신 네트워크와 무선 통신 네트워크의 조합을 포함할 수 있다. CDN(120)은 4세대(4G) 또는 5세대(5G) 통신 네트워크, 롱 텀 에벌루션(Long-Term Evolution, LTE), 3세대 파트너십 프로젝트(3rd Generation Partnership Project, 3GPP), 범용 이동 통신 시스템(Universal Mobile Telecommunications System, UMTS), 및 다른 무선 또는 셀룰러 통신 네트워크를 포함하지만 이에 제한되지 않는 하나 이상의 표준 또는 기술에 따라 운용될 수 있다.
도 1의 CDN(120)에서는, 동일한 데이터가, 예를 들어 하나 이상의 콘텐츠 서버(110) 및 콘텐츠 캐시(112)를 포함하는 복수의 데이터 소스 또는 데이터 컨테이너 노드에 저장될 수 있다. 이 데이터는 CDN(120)을 통해 라우터(114)에 의해 라우팅되고, 사용자 장비(user equipment, UE)(118)와 같은 수신 장치까지 무선 노드(116)와 같은 네트워크 게이트웨이 노드를 통해 무선으로 전송된다. 무선 노드는 예컨대, 기지국 또는 무선 액세스 포인트를 포함할 수 있다. 콘텐츠 캐시(112)는 CDN(120)의 내부 또는 외부에서, 예컨대 라우터(114), 무선 노드(116), 또는 다른 게이트웨이 노드를 포함하는 서로 다른 네트워크 노드에 물리적으로 구현되어 있을 수 있다. 수신 장치(UE)(118)가 무선 통신 장치로서 도 1에 도시되어 있지만, 데이터 수신 장치는 게이트웨이 노드를 통해 유선 연결에 의해 CDN(120)에 연결된 장치를 포함하고 있을 수도 있다.
일반적인 데이터 액세스 상황에서는, UE(118)가 데이터에 대한 요청을 CDN(120)에 송신한다. 종래의 CDN 시스템에서는, 데이터 회수가 2단계 과정인데, 이 과정에서 요청된 데이터를 제공하기 위해 적합한 콘텐츠 소스(예를 들어, 콘텐츠 서버(110) 또는 콘텐츠 캐시(112))가 선택된 다음, 선택된 데이터 소스로부터 UE(118)까지의 CDN(120)을 통한 경로 및 데이터 레이트가 결정된다. 제1 단계, 즉 콘텐츠 소스의 선택은 보통 요청하는 장치에 의해 또는 콘텐츠 제공자에 의해 이루어진다. 예를 들어, 피어 투 피어(peer-to-peer, P2P) 네트워킹에서는, UE(118)가 P2P 네트워크에 조인(join)하는 경우, UE(118)는 이용 가능한 데이터 소스(다른 피어, 예를 들어 다른 UE 장치(118)를 포함할 수 있음)의 위치를 통지받고, UE(118)는 그 다음에 어느 피어 장치를 액세스할지를 선택하는데, 보통은 차선의 콘텐츠 소스가 선택된다. 데이터 제공자에 의한 서버 선택의 경우, 온라인 비디오 서비스와 같은 상용 콘텐츠 제공자는, 과부하를 피하면서 데이터를 사용자에게 더 가깝게 가져옴으로써 전송 지연을 줄이기 위해 복수의 데이터 센터를 가지고 있다. 콘텐츠 제공자에 의해 수행되는 콘텐츠 소스의 선택은 보통 요청하는 통신 장치(118)의 지리적 위치 및 로드 밸런싱 고려사항에 기초하며, 이는 트래픽 엔지니어링의 관점에서 차선일 수 있다. P2P 및 상용 CDN 시스템 모두에서, 차선의 콘텐츠 소스 선택은 그 뒤에 차선의 TE 결정으로 이어진다.
P2P 및 상용 분배 환경에서 콘텐츠를 전달하기 위해 CDN 네트워크의 사용이 증가하고, 데이터 소스가 네트워크 내부에서 확산됨에 따라(예를 들어, 펨토셀 무선 기지국에서의 데이터 캐싱을 포함), 데이터 소스를 최적으로 선택하는 것과 데이터 소스로부터 콘텐츠 사용자까지 최적의 네트워크 라우팅이 매우 바람직하다.
예시적인 실시예에 따라, CDN(120) 내에서 데이터 소스 및 트래픽 엔지니어링 둘 다를 선택하는 것(예컨대, 경로 선택과 레이트 할당)을 공동으로 최적화하기 위한 방법 및 시스템에 대해 이하에서 설명할 것이다. 도 1에 도시된 바와 같이, 예시적인 일 실시예에서, 최적화 시스템(100)이 콘텐츠 위치 서버(122) 및 트래픽 엔지니어링(traffic engineering, TE) 옵티마이저(optimizer)(126)를 포함한다.
예시적인 실시예에서, 콘텐츠 위치 서버(122)는 IP 어드레스로 나타내고 CDN(120)에 대해 내부 또는 외부에 구현되어, CDN(120)의 일부이거나 또는 CDN(120)에 액세스 가능한 데이터 소스에 저장된 콘텐츠의 위치를 추적한다. 콘텐츠 위치 서버(122)는 예를 들어, 콘텐츠 서버(110) 상에 구현되어 있을 수도 있다. 콘텐츠 위치 서버(122)는, 참여하는 데이터 소스와 데이터 소스들 각각으로부터 이용 가능한 콘텐츠를 식별하는 콘텐츠 위치 데이터베이스(124)를 유지한다. 도 1의 예에서, 콘텐츠 위치 데이터베이스(124)는 데이터 소스 각각에서 어떤 데이터가 이용 가능한지의 목록(inventory)를 식별하는 정보와 함께 3개의 이용 가능한 데이터 소스(즉, 콘텐츠 서버(110)와 각각의 캐시(112))의 주소(또는 다른 식별자)를 저장할 것이다. 일부 예시적인 실시예에서는, 콘텐츠 위치 서버(122)가 CDN(120) 내의 데이터 소스를 주기적으로 폴링하여, 이러한 데이터 소스에 저장된 데이터가 변경되었는지 여부를 판정하고 그에 따라 콘텐츠 위치 데이터베이스(124) 내의 콘텐츠 목록을 갱신하도록 구성된다. 일부 예시적인 실시예에서는, 콘텐츠 위치 데이터베이스(124)가 갱신될 수 있도록, 참여하는 데이터 소스가 로컬에 저장된 콘텐츠의 변경을 알리는 메시지를 콘텐츠 위치 서버(122)에 송신하도록 구성된다. 따라서, 어떤 주어진 시간에는, 콘텐츠 위치 서버(122)가 CDN(120)에 이용 가능한 데이터 소스에 어느 콘텐츠가 저장되어 있는지에 대한 현재의 견해를 당연히 가지고 있다.
TE 옵티마이저(126)는 CDN(120)을 통해 데이터를 전송하기 위한 경로 및 데이터 레이트를 선택하도록 구성되고, 콘텐츠 위치 서버(122)와 유사하게 또한 IP 어드레스로 나타낼 수 있으며, CDN(120)의 노드에서 서버 상에 구현될 수 있다. 일부 예에서, TE 옵티마이저(126)는 콘텐츠 위치 서버(122)와 동일한 네트워크 위치에 구현된다. 예시적인 실시예에서는, TE 옵티마이저(126)가 CDN(120)의 물리적 엘리먼트의 목록을 저장하는 토폴로지 데이터베이스(128)를 유지하거나 또는 이 토폴로지 데이터베이스(128)에 접근할 수 있고, 물리적 엘리먼트는 데이터 소스(예를 들어, 콘텐츠 서버(110)와 캐시(112)), 라우터(114), 무선 노드(116), 및 이러한 엘리먼트들 간의 통신 링크를 포함한다. 일 예에서는, CDN(120)에 물리적 변경이 일어난 후, 토폴로지 데이터베이스(128)가 갱신된다. 다른 예시적인 실시예에서는, 콘텐츠 위치 서버(122)와 TE 옵티마이저(126)의 기능이 공통 서버 상에 구현되어 있을 수 있거나, 또는 복수의 서버에 걸쳐 분산되어 있을 수 있다. 또한, 다른 일부 실시예에서는, 본 명세서에서 콘텐츠 위치 서버(122)에서 수행되는 것으로 설명된 기능 중 일부를 TE 옵티마이저(126)가 대신 수행할 수 있으며, 여기서 TE 옵티마이저(126)에서 수행되는 것으로 설명된 기능 중 일부가 콘텐츠 위치 서버(122)에서 대신 수행될 수 있다. 일부 예시적인 실시예에서는, 콘텐츠 위치 서버(122)와 TE 옵티마이저(126)의 기능 중 적어도 일부가 UE 장치(118)에 구현될 수 있다.
도 2는 CDN(120)에 적용하기 위한 공유 소스 및 라우팅 최적화를 위한 예시적인 방법(200)을 도시하고 있다. 도 2에 도시된 바와 같이, 이 방법(200)은 지정된 데이터에 대한 UE(118)로부터의 요청으로 시작한다(단계 202). 예시적인 실시예에서는, 콘텐츠 요청이 콘텐츠 위치 서버(122)에 의해 UE(118)로부터 수신되고, 이어서 콘텐츠 위치 서버(122)는 그 다음에 콘텐츠 위치 데이터베이스(124)를 액세스하여 어떤 콘텐츠 소스(110, 112)가 요청된 데이터(단계 204)를 포함하는지를 결정하며, 콘텐츠 요청을 한 UE(118)를 식별하는 TE 옵티마이저(126) 및 요청된 데이터가 이용 가능한 콘텐츠 소스(110, 112)(단계 206)에 메시지를 송신한다. 현재 설명하는 예에서는, 데이터 소스(110, 112) 각각이 요청된 데이터의 전부를 포함하지만, 이하에서 더 상세히 설명하는 바와 같이, 일부 예시적인 실시예에서는 서로 다른 데이터 세그먼트가 다양한 수준의 데이터 중첩을 이용하여 서로 다른 데이터 소스에 걸쳐 분산되어 있을 수 있다.
TE 옵티마이저(126)는, 콘텐츠 위치 서버(122)로부터 수신된 정보 및 토폴로지 데이터베이스(128)에 포함된 정보를 이용하여 가상 네트워크 노드와 물리적 네트워크 CDN(120)을 위한 하이브리드 네트워크 토폴로지를 생성한다(단계 208). 도 3은 이러한 하이브리드 네트워크 토폴로지(300)를 개략적으로 나타낸다. 하이브리드 네트워크 토폴로지(300)를 생성하는 것은, UE(118)에 의해 요청된 데이터를 포함하는 것으로서 콘텐츠 위치 서버(122)에 의해 식별된 CDN(120) 내의 물리적 데이터 소스(110, 112) 각각을 가상 라우터(304)로 대체하는 것(단계 208A)을 포함한다. 도 3에 도시된 바와 같이, 현재 예에서는 UE(118)에 의해 요청된 데이터가 각각의 캐시(112) 및 콘텐츠 서버(110)에서 이용 가능하고, 이에 따라 콘텐츠 서버(110)와 캐시 서버(112) 각각은 네트워크 토폴로지(300)에서 각각의 가상 라우터(304)로서 표현된다. 하이브리드 네트워크 토폴로지(300)를 생성하는 것은 또한, 가상의 무한 용량 통신 링크(306)에 의해 가상 라우터(304) 각각에 연결된 가상 콘텐츠 서버(302)를 시뮬레이션하는 것(단계 208B)을 포함한다. 가상의 통신 링크(306) 각각은 무한 대역폭, 제로 레이턴시 링크(zero latency link)이다. CDN(120)의 나머지 물리적 엘리먼트는 하이브리드 네트워크 토폴로지(300)에 포함된다.
따라서, 하이브리드 네트워크 토폴로지(300)에서는, 물리적으로 동일한 데이터를 포함하는 분산된 데이터 소스의 세트가 복수의 가상 라우터(304)로의 무한 용량 통신 링크(306)를 가진 단일 가상 데이터 소스(가상 콘텐츠 서버(302))로서 모델링되며, 각각의 가상 라우터(304)는 실제 물리적 데이터 소스(110, 112) 중 각각의 하나를 대체하고 대신한다. 따라서, 가상 라우터(304)는 하이브리드 네트워크 토폴로지(300)의 실제 물리적 엘리먼트와 네트워크 토폴로지(300)의 가상 엘리먼트 간의 인터페이스 역할을 한다.
다음, TE 옵티마이저(126)는, 하이브리드 네트워크(300)에서 사용할 최적 경로 및 데이터 레이트를 결정하여 가상 콘텐츠 서버(302)로부터 UE(118)까지 요청된 데이터를 얻기 위해, 가상 콘텐츠 서버(302)를 유일한 데이터 소스로서 이용하여 다중경로 TE 최적화를 수행한다(단계 210). 물리적 데이터 소스를 무한 용량 링크에 의해 공용 가상 콘텐츠 서버(302) 데이터 소스에 연결된 가상 라우터(304)로 대체하는 것은, TE 최적화를 위한 경로 선택을 위해 수행될 필요가 있는 계산을 크게 단순화하는데, 이 계산이 단일 소스에 기초하여 수행될 수 있기 때문이다. 최적화되기를 바라는 속성(비용, 대역폭 이용, 경로 혼잡, 무선 노드 혼잡, 레이턴시 등)에 따라, TE 옵티마이저(126)가 다수의 단일 소스 다중경로 최적화 알고리즘을 적합하게 사용할 수 있다. 비한정적인 예로서, 도 4에 도시된 최적화 알고리즘이 적용될 수 있으며, 이를 통해 시구간 내에서 효용 함수(utility function)를 최대화하고자 한다.
예시적인 실시예에서는, TE 옵티마이저(126)에 의해 수행된 최적화 알고리즘의 결과가, 복수의 경로 각각에 대한 데이터 할당과 함께 가상 콘텐츠 서버(302)와 UE(118) 간의 복수의 네트워크 경로를 식별하는 목록 형태의 최적화된 라우팅이다. 예시적인 실시예에서는, 데이터 할당이 데이터 레이트와 데이터 양 모두를 포함한다. 그 다음에, TE 옵티마이저(126)는 식별된 경로 및 연관된 데이터/레이트 할당을 물리적 데이터 소스 중 각각의 하나의 소스에 매핑한다(단계 212). 특히, 하이브리드 토폴로지(300) 내의 식별된 경로 각각이 가상 라우터(304) 중 하나를 포함할 것이고, 위에서 언급한 바와 같이 가상 라우터(304) 각각은 실제 물리적 데이터 소스(예를 들어, 물리적 콘텐츠 서버 또는 캐시)를 나타낸다. 따라서, TE 옵티마이저(126)가 식별된 네트워크 경로 내의 가상 엘리먼트 각각을 물리적 데이터 소스로 대체함으로써, UE(118)에 의해 요청된 데이터에 대한 최적화 정보(214)를 제공할 수 있다. 최적화 정보(214)는, 요청된 데이터에 대해서 (i) 복수의 데이터 소스(예를 들어, 콘텐츠 서버(110) 및 캐시(112)); (ii) 데이터 소스 각각으로부터 UE(118)까지의 하나 이상의 할당된 경로; (iii) 할당된 경로 각각에 대한 데이터 할당(예시적인 실시예에서는, 이 데이터 할당이 할당된 경로 각각에 대한 할당된 데이터 레이트 및 데이터 소스(110, 112) 각각으로부터 송신될 데이터의 할당된 양(예를 들어, 데이터의 비트 수 또는 바이트 수)를 포함하고 있음)을 식별한다.
예시적인 실시예에서는, 최적화 정보(214)가 TE 옵티마이저(126)에 의해 콘텐츠 위치 서버(122)에 제공되며, 콘텐츠 위치 서버(122)는 CDN(120) 내의 할당된 경로를 통해 데이터 소스로부터 UE(118)까지 요청된 데이터를 전송하는 것을 조정하기 위해 이 정보를 이용한다(단계 216). 예시적인 실시예에서, 요청된 데이터가 응용 계층 순방향 오류 정정(application layer forward error correction, AL-FEC) 방식(k개의 심볼의 메시지가 n개의 심볼을 가진 더 긴 메시지(코드 워드)로 변환됨)을 이용하여 CDN(120)을 통해 전송됨으로써, 원래의 메시지가 n개의 심볼의 서브 세트로부터 복원될 수 있다. 이러한 실시예에서는, 콘텐츠 소스의 조합이 집합적으로 원래의 메시지를 복원하기 위해 필요한 인코딩된 데이터 세그먼트의 전체 개수를 송신하기만 하면, 비트 레벨에서는 콘텐츠 서버들 간에 데이터 분할이 조정될 필요가 없다. 예시적으로, 통틀어서 임계 개수의 데이터 심볼이 콘텐츠 소스로부터 누적적으로 전송된다면, 세그멘테이션 및 데이터 소스에 상관 없는 시스템을 생성하기 위해 파운틴 코딩이 사용될 수도 있다. 이러한 예시적인 실시예에서는, 콘텐츠 위치 서버(122)가 각각의 특정한 콘텐츠 소스(110, 112)로부터 송신할 데이터의 양을 최적화 정보(214)에 기초하여 알고 있다. 하나의 예시적인 실시예에서는, 콘텐츠 위치 서버(122)가 UE(118)에 송신하도록 할당된 데이터 각각의 양(예를 들어, 비트 수 또는 바이트 수), 경로나 이용할 경로, 및 각각의 경로나 경로에 대한 할당된 데이터 레이트를 각각의 개별 콘텐츠 소스(110, 112)에 지시하고, 그 다음에 개별 콘텐츠 소스(110, 112)가 지시된 대로 데이터를 전송한다. 일부 예시적인 실시예에서는, 개별 콘텐츠 소스(110, 112)에 지시하는 것과 함께, 콘텐츠 위치 서버(122)가 어느 개별 콘텐츠 소스(110, 112)가 요청된 데이터를 UE(118)에 송신하기 위해 할당되어 있는지, 각각의 콘텐츠 소스(110, 112)에 할당된 데이터의 양, 및 할당된 데이터 레이트를 UE(118)에 통지할 수도 있다. 일부 예시적인 실시예에서는, 콘텐츠 위치 서버(122)가 콘텐츠 소스(110, 112)와 통신하지 않고 오히려 어느 개별 콘텐츠 소스(110, 112)가 요청된 데이터를 UE(118)에 송신하기 위해 할당되어 있는지, 각각의 콘텐츠 소스에 할당된 데이터의 양, 및 할당된 데이터 레이트를 UE(118)에 단지 통지만 할 수 있으며, 이어서 UE(118)가 관련된 데이터 소스 각각으로부터 데이터의 할당된 양을 요청한다.
일부 예시적인 실시예에서는, 데이터 소스 조정(단계 216)이 콘텐츠 위치 서버(122)보다는 UE(118)에서 수행될 수 있으며, 이 경우에 TE 옵티마이저(126)에 의해 생성된 최적화 정보(214)가 콘텐츠 위치 서버(122)에 의해 UE(118)에 제공된다.
데이터 패킷의 개별 콘텐츠의 순서를 구체적으로 고려하지 않고도 데이터 소스 간에 데이터 할당이 이루어질 수 있도록 전술한 예는 AL-FEC가 사용된 시스템을 설명하지만, 일부 예시적인 실시예에서는 시스템이 특정한 콘텐츠 소스로부터 특정 데이터 패킷이 송신되어야 하는 코딩 시스템을 이용할 수 있다. 이러한 시스템에서는, 콘텐츠 위치 서버(122)가 특정 데이터 세그먼트 또는 패킷이 중복을 피하기 위해 특정 콘텐츠 소스에 할당되는 것을 보장하도록 구성됨으로써, 콘텐츠 위치 서버(122)에서 콘텐츠 소스(110, 112) 각각으로 송신된 명령이 지정된 데이터를 송신하기 위해 사용할 경로 및 할당된 경로에 대한 데이터 레이트 뿐만 아니라 어느 데이터 세그먼트를 각각의 콘텐츠 소스(110, 112)가 송신할지를 지정할 수 있다. 또는, 일부 실시예에서는, 콘텐츠 위치 서버(122)가 데이터의 양과 할당된 경로와 데이터 레이트를 콘텐츠 소스(110, 112)에 통지하기만 할 뿐이고, 콘텐츠 소스(110, 112)가 자신들 간에 중복을 피하기 위해 각각의 콘텐츠 소스(110, 112)가 어느 각각의 데이터 세그먼트를 송신할지에 관해 협상하도록 구성된다.
전술한 예시적인 실시예에서는, 가입 서비스를 수반하는 상용 데이터 분배 네트워크에서 흔히 그렇듯이, UE(118)에 의해 요청된 데이터 전체가 CDN(120) 내 부에서 콘텐츠 소스(110, 112) 각각에 저장되어 있다. 하지만, CDN(120) 내부의 복수의 노드에서는, 예컨대 무선 노드(116)와 같은 다양한 네트워크 노드 및 복수의 UE 장치(118)를 포함하는 노드에서의 데이터의 분산된 부분적 캐싱이 특히 P2P 환경에서 일어날 수도 있다. 이와 관련하여, UE(118)에 의해 요청된 데이터가 서로 다른 데이터 소스 간에 분산되는 예시적인 실시예에 대해 이하에서 설명할 것이다. 도 5는 데이터(0-n)를 포함하는 콘텐츠가 2개의 콘텐츠 서버(110)(S1, S2)와 3개의 콘텐츠 캐시(112)(C1, C2, C3)를 포함하는 CDN(120) 내의 데이터 소스들 간에 분산되는 분산된 캐싱 예를 도시하고 있다. S1 및 S2는 콘텐츠 세그먼트(0-n)를 각각 저장하고; C1은 콘텐츠 세그먼트(a-c)를 저장하며; C2는 콘텐츠 세그먼트(b-e)를 저장하며; C3는 콘텐츠 세그먼트(d-n)를 저장한다. C2에서의 세그먼트는 C1과 C3에서의 세그먼트와 중첩되고, C1, C2 및 C3 각각은 S1 및 S2와 부분적으로 중첩된다는 것을 유의해야 할 것이다. 예시적인 실시예에서는, C1, C2 또는 C3 중 하나 이상이 각각의 무선 노드(116) 또는 다른 네트워크 노드에 위치할 수 있다. 콘텐츠 위치 서버(122)에 의해 유지되는 콘텐츠 위치 데이터베이스(124)는, 데이터 소스(S1, S2, C1, C2, C3)와 각각의 데이터 소스에 저장된 데이터(0-n)의 각각의 세그먼트 부분을 식별한다.
도 5의 예에서, 도 1 및 도 2를 추가로 참조하면, 콘텐츠 위치 서버(122)가 데이터(a-e)에 대한 콘텐츠 요청을 UE(118)로부터 수신한다(단계 202). 콘텐츠 위치 서버(122)는 그 다음에 어떤 콘텐츠 소스가 데이터(0-e)를 포함하는지를 결정하기 위해 콘텐츠 위치 데이터베이스(124)를 액세스한다(단계 204). 현재 예에서는, 콘텐츠 위치 서버(122)가 데이터(0-e) 전부가 S1 및 S2에 위치하며 C1, C2 및 C3 각각이 각각의 데이터(0-e)의 서브 세트를 저장한다고 결정할 것이다. 이러한 예예서는, 콘텐츠 위치 서버(122)가 각각의 콘텐츠 소스 간에 어디서 데이터 중첩이 일어나는지를 식별하고 TE 옵티마이저(126)에 통지할 것이다(단계 206). 따라서, 도 5의 도시된 예에서는, 콘텐츠 위치 서버가 (i) 세그먼트 0이 S1 및 S2에 저장되고; (ii) 세그먼트(a-b)가 S1, S2 및 C1에 저장되며; (iii) 세그먼트(b-c)가 S1, S2, C1 및 C2에 저장되고; (iv) 세그먼트(c-d)가 S1, S2 및 C2에 저장되며; (v) 세그먼트(d-e)가 S1, S2, C2 및 C3에 저장되고; (vi) 세그먼트(e-n)가 S1, S2 및 C3에 저장된다는 것을 TE 옵티마이저(126)에 통지할 것이다. 실제로, 도 5의 예에서는, 데이터(0-n)가 데이터 소스의 고유한 조합으로부터 각각 이용 가능한 6개의 콘텐츠 세그먼트로 분할될 수 있다.
전술한 바와 같이, TE 옵티마이저(126)가 단일 소스 최적화 알고리즘을 멀티소스 환경에 적용할 수 있도록, TE 옵티마이저(126)가 동일한 데이터의 소스에 대한 하이브리드 네트워크 토폴로지를 생성하도록 구성된다(단계 208). 따라서, 도 5의 예에서는, 데이터 소스의 고유한 조합에서 이용 가능한 것으로 식별되는 각각의 콘텐츠 세그먼트에 대해 최적화가 수행된다. 예를 들어, 콘텐츠 세그먼트(0-a)에 관해서, TE 옵티마이저(126)는 C1, C2 및 C3을 무시하고 S1 및 S2가 각각 가상 라우터로 대체되는 하이브리드 네트워크 토폴로지를 생성하며, 가상 라우터는 무한 용량 데이터 링크에 의해 단일 가상 콘텐츠 서버에 교대로 연결된다(단계 208A, 208B). 그 다음에, 가상 콘텐츠 서버를 단일 데이터 소스로서 이용하여 다중경로 TE 최적화가 수행되고(단계 210), 최적화 결과가 물리적 네트워크에 다시 매핑되어 세그먼트(0-a) 중 얼마나 많은 세그먼트가 S1 및 S2 각각에 할당되어야 하는지 및 세그먼트(0-a)를 UE(118)에 송신하기 위해 세그먼트 각각에 의해 사용될 경로와 데이터 레이트를 결정한다(단계 212). TE 옵티마이저(126)는 식별된 콘텐츠 세그먼트 각각에 대한 최적화 단계(208-212)를 수행한다. 여기서, 콘텐츠 세그먼트(a-b)의 경우, 최적화는 데이터 소스(S1, S2, C1) 간의 할당에 대해 수행되고; 세그먼트(b-c)의 경우, 데이터 소스(S1, S2, C1, C2) 간의 할당에 대해 최적화 수행되고; 세그먼트(c-d)의 경우, 데이터 소스(S1, S2, C2) 간의 할당에 대해 최적화가 수행되며; 세그먼트(d-e)의 경우, 데이터 소스(S1, S2, C2, C3) 간의 할당에 대해 최적화가 수행되고; 세그먼트(e-n)의 경우, 데이터 소스(S1, S2, C3) 간의 할당에 대해 최적화가 수행된다. 그 다음에, 결과로서의 최적화 정보가 데이터(0-e)를 UE(118)에 데이터 전송하는 것을 조정하기 위해 사용된다.
일부 예시적인 실시예에서는, 콘텐츠 위치 서버(122)가 요청된 데이터의 임계량을 포함하지 않는 데이터 소스를 무시하도록 구성된다. 예시적으로, 도 5의 관점에서, 단계 202에서 데이터(0-e)에 대한 요청을 수신하는 경우, 콘텐츠 위치 서버(122)가 C1 및 C2 상에 저장된 데이터의 서브 세트가 너무 작아서 최적화 단계에 효율적으로 포함될 수 없다는 것을 단계 204에서 결정하도록 구성될 수도 있고, 이 경우에 C1 및 C2가 단계 206에서 TE 옵티마이저에 제공되는 콘텐츠 소스의 목록으로부터 생략될 것이며, 콘텐츠 세그먼트(0-d)가 S1 및 S2에 저장되어 있고 콘텐츠 세그먼트(d-n)이 S1, S2 및 C3에 저장되어 있다는 것이 TE 옵티마이저(126)에 대신 통지될 것이다. 그 다음에, TE 옵티마이저(126)는 소스 S1 및 S2의 관점에서 세그먼트(0-d)에 대해 또한 S1, S2 및 C3의 관점에서 세그먼트(d-e)에 대해 최적화 단계(208-212)을 수행할 것이다. 데이터 소스(C1, C2)는 무시될 것이다.
따라서, 데이터 소스 및 경로 선택을 공동으로 최적화할 수 있게 하는 시스템 및 방법이 본 명세서에서 설명하고 있다는 것을 이해할 수 있을 것이다.
본 개시는 개시된 방법 및 시스템의 예를 구현하기 위한 소정의 예시적인 알고리즘 및 계산을 제공한다. 하지만, 본 개시는 임의의 특정한 알고리즘 또는 계산에 의해 한정되지 않는다.
본 개시는 특정한 순서의 단계를 가진 방법과 프로세스에 대해 설명하지만, 방법과 프로세스의 단계 중 하나 이상이 적절하게 생략되거나 바뀔 수 있다. 하나 이상의 단계가 설명된 순서와는 다른 순서로 적절하게 수행될 수 있다.
본 개시가 방법의 관점에서 적어도 부분적으로 설명되었지만, 당업자라면 본 개시가 하드웨어 컴포넌트의 방식이든, 소프트웨어의 방식이든 또는 2개의 방식의 임의의 조합이든 간에 양태 및 전술한 방법의 특징 중 적어도 일부를 수행하기 위한 다양한 컴포넌트에 관한 것임을 또한 이해할 것이다. 따라서, 본 개시의 과제 해결수단은 소프트웨어 제품 형태로 구현될 수 있다. 예를 들어, 적합한 소프트웨어 제품이 DVD, CD-ROM, USB 플래쉬 디스크, 착탈식 하드디스크, 또는 다른 저장 매체를 포함하는 사전에 기록된 스토리지 장치 또는 다른 유사한 비휘발성 또는 비일시적인 컴퓨터 판독가능 매체에 저장될 수 있다. 이 소프트웨어 제품은 자체에 유형으로 저장되어 있는 명령을 포함하는데, 이 명령은 처리 장치(예를 들어, 개인용 컴퓨터, 서버, 또는 네트워크 장치)가 본 명세서에서 개시된 방법의 예를 실행할 수 있게 한다.
본 개시는 청구 범위의 요지에서 벗어나지 않고도 다른 특정한 형태로 구현될 수 있다. 설명되는 예시적인 실시예가 모든 면에서 예시적인 것일 뿐이며 제한적이지 않다고 간주하여야 한다. 하나 이상의 전술한 실시예로부터 선택된 특징이 명시적으로 설명하지 않은 다른 실시예를 생성하기 위해 결합되며, 이러한 결합에 적합한 특징이 본 개시의 범위에 있다고 이해될 수 있을 것이다.
공개된 범위 내의 모든 값과 하위 범위도 공개된다. 또한, 본 명세서에서 공개되고 도시된 시스템, 장치 및 프로세스가 특정한 개수의 엘리먼트/컴포넌트를 포함할 수 있지만, 시스템, 장치 및 조립체는 추가적인 개수를 포함하거나 또는 더 적은 개수의 이러한 엘리먼트/컴포넌트를 포함하도록 수정될 수도 있다. 예를 들어, 개시되는 임의의 엘리먼트/컴포넌트가 단수인 것으로 언급될 수 있지만, 본 명세서에서 개시되는 실시예는 이러한 복수의 엘리먼트/컴포넌트를 포함하도록 수정될 수도 있다. 본 명세서에서 설명된 요지는 기술에서의 모든 적합한 변경을 포괄하고 수용하고자 한다.
Claims (20)
- 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 네트워크에서 상기 데이터를 라우팅하기 위한 방법으로서,
네트워크 토폴로지를 생성하는 단계 - 상기 데이터를 저장하는 상기 콘텐츠 소스 각각은 가상의 라우터로서 표현되고, 상기 가상의 라우터는 각각의 무한 용량 통신 링크(infinite capacity communication link)에 의해 공용 가상 콘텐츠 서버(common virtual content server)에 각각 연결됨 -;
상기 데이터에 대한 상기 네트워크 토폴로지를 통해 상기 가상의 콘텐츠 서버로부터 상기 수신 장치까지 최적화된 라우팅을 결정하는 단계;
상기 네트워크를 통해 상기 수신 장치에 데이터를 전송하기 위해, 상기 최적화된 라우팅에 따라 상기 콘텐츠 소스 각각에 대한 데이터 할당을 결정하는 단계
를 포함하는 데이터를 라우팅하기 위한 방법. - 제1항에 있어서,
상기 콘텐츠 소스에 대한 상기 데이터 할당에 따라 상기 콘텐츠 소스 각각에 명령을 제공하는 단계 - 상기 명령은 상기 콘텐츠 소스와 상기 수신 장치 간의 하나 이상의 할당된 경로 및 상기 하나 이상의 할당된 경로에 대한 할당된 데이터 레이트를 포함하고 있음 -
를 포함하는 데이터를 라우팅하기 위한 방법. - 제1항에 있어서,
상기 데이터 할당에 따라 상기 데이터 중 일부를 상기 콘텐츠 소스 중 하나 이상에서 상기 수신 장치로 전송하는 단계
를 포함하는 데이터를 라우팅하기 위한 방법. - 제3항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 데이터를 송신하기 위한 데이터 레이트를 포함하는, 데이터를 라우팅하기 위한 방법. - 제4항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 콘텐츠 소스와 상기 수신 장치 간의 하나 이상의 경로를 정의하는, 데이터를 라우팅하기 위한 방법. - 제3항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 콘텐츠 소스와 상기 수신 장치 간의 하나 이상의 경로, 상기 하나 이상의 경로 각각에 사용될 데이터 레이트, 및 상기 콘텐츠 소스에 의해 송신될 상기 데이터의 양을 정의하는, 데이터를 라우팅하기 위한 방법. - 제3항에 있어서,
임계 개수의 패킷을 수신하는 때 상기 데이터가 복원될 수 있도록, 상기 콘텐츠 소스로부터 송신되는 데이터를 응용 계층 순방향 오류 정정 코딩(application layer forward error correction coding)을 이용하여 패킷으로 인코딩하는 단계
를 포함하는 데이터를 라우팅하기 위한 방법. - 제6항에 있어서,
상기 순방향 오류 정정 코딩은 파운틴 코딩(fountain coding)을 포함하는, 데이터를 라우팅하기 위한 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 콘텐츠 소스에서 상기 수신 장치로 어느 데이터를 송신할지를 정의하는, 데이터를 라우팅하기 위한 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 복수의 콘텐츠 소스는 콘텐츠 서버, 게이트웨이 노드, 네트워크 라우터 또는 데이터 캐시 중 하나 이상을 포함하는, 데이터를 라우팅하기 위한 방법. - 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 네트워크를 통해 상기 데이터의 트래픽 라우팅을 최적화하기 위한 시스템으로서,
트래픽 옵티마이저(traffic optimizer)를 포함하고,
상기 트래픽 옵티마이저는,
네트워크 토폴로지를 생성하고 - 여기서, 상기 데이터를 저장하는 상기 복수의 콘텐츠 소스 각각은 각각의 무한 용량 통신 링크(infinite capacity communication link)에 의해 공용 가상 콘텐츠 서버(common virtual content server)에 각각 연결된 가상의 라우터로서 표현됨 -;
상기 데이터에 대한 상기 네트워크 토폴로지를 통해 상기 가상의 콘텐츠 서버로부터 상기 수신 장치까지 최적화된 라우팅을 결정하며;
상기 네트워크를 통해 상기 수신 장치에 데이터를 전송하기 위해, 상기 최적화된 라우팅에 따라 상기 콘텐츠 소스 각각에 대한 데이터 할당을 결정하도록 구성된, 시스템. - 제11항에 있어서,
상기 트래픽 옵티마이저는 상기 콘텐츠 소스에 대한 상기 데이터 할당에 따라 상기 콘텐츠 소스 각각에 명령을 제공하도록 구성되고, 상기 명령은 상기 콘텐츠 소스와 상기 수신 장치 간의 하나 이상의 할당된 경로 및 상기 하나 이상의 할당된 경로에 대한 할당된 데이터 레이트를 포함하는, 시스템. - 제11항에 있어서,
상기 네트워크에 이용 가능한 콘텐츠 소스 및 상기 콘텐츠 소스에 저장된 상기 콘텐츠를 식별하는 정보를 저장하는 콘텐츠 위치 데이터베이스(content location database); 및
상기 콘텐츠 위치 데이터베이스에 기초하여, 상기 수신 장치로부터 상기 데이터에 대응하는 콘텐츠 요청을 수신하고, 동일한 데이터를 포함하는 상기 콘텐츠 소스에 상기 트래픽 옵티마이저를 결정 및 통지하도록 구성된 콘텐츠 위치 서버 - 상기 콘텐츠 위치 서버는 상기 트래픽 옵티마이저로부터 상기 콘텐츠 소스 각각에 대해 결정된 상기 데이터 할당을 수신하고, 상기 데이터 할당에 따라 상기 콘텐츠 소스로부터 상기 수신 장치까지 상기 데이터의 전송을 조절하도록 구성됨 -
를 포함하는 시스템. - 제13항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 데이터를 송신하기 위한 데이터 레이트를 포함하는, 시스템. - 제13항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 콘텐츠 소스와 상기 수신 장치 간의 하나 이상의 경로 및 상기 하나 이상의 경로 각각에 대한 데이터 레이트를 정의하는, 시스템. - 제13항에 있어서,
임계 개수의 패킷을 수신하는 때 상기 데이터가 상기 수신 장치에서 복원될 수 있도록, 상기 콘텐츠 소스는 상기 콘텐츠 소스로부터 송신되는 데이터를 응용 계층 순방향 오류 정정 코딩(application layer forward error correction coding)을 이용하여 패킷으로 인코딩하도록 구성된, 시스템. - 제16항에 있어서,
상기 순방향 오류 정정 코딩은 파운틴 코딩(fountain coding)을 포함하는, 시스템. - 제13항에 있어서,
각각의 콘텐츠 소스에 대한 상기 데이터 할당은 상기 데이터 중 어느 부분을 상기 콘텐츠 소스에서 상기 수신 장치로 송신할지를 정의하는, 시스템. - 제13항에 있어서,
상기 콘텐츠 위치 서버는 상기 콘텐츠 소스 각각에 저장되는 상기 데이터의 양을 상기 트래픽 옵티마이저에 통지하도록 구성된, 시스템. - 컴퓨터 프로그램 제품으로서,
비일시적 컴퓨터 판독가능 매체를 포함하고,
상기 비일시적 컴퓨터 판독가능 매체는, 데이터를 저장하는 복수의 콘텐츠 소스로부터 수신 장치까지 네트워크에서 상기 데이터를 라우팅하기 위해 트래픽 최적화를 구현하기 위한 컴퓨터 명령을 저장하며,
상기 컴퓨터 명령은 트래픽 최적화 프로세서로 하여금:
네트워크 토폴로지를 생성하고 - 여기서, 상기 데이터를 저장하는 상기 콘텐츠 소스 각각은 각각의 무한 용량 통신 링크(infinite capacity communication link)에 의해 공용 가상 콘텐츠 서버(common virtual content server)에 각각 연결된 가상의 라우터로서 표현됨 -;
상기 데이터에 대한 상기 네트워크 토폴로지를 통해 상기 가상의 콘텐츠 서버로부터 상기 수신 장치까지 최적화된 라우팅을 결정하며;
상기 네트워크를 통해 상기 수신 장치에 데이터를 전송하기 위해, 상기 최적화된 라우팅에 따라 상기 콘텐츠 소스 각각에 대한 데이터 할당을 결정하게 하는, 컴퓨터 프로그램 제품.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/592,616 US20160204916A1 (en) | 2015-01-08 | 2015-01-08 | System and method for joint optimization of source selection and traffic engineering |
US14/592,616 | 2015-01-08 | ||
PCT/IB2015/058788 WO2016110755A1 (en) | 2015-01-08 | 2015-11-13 | System and method for joint optimization of source selection and traffic engineering |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170102951A true KR20170102951A (ko) | 2017-09-12 |
Family
ID=56355570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177021879A KR20170102951A (ko) | 2015-01-08 | 2015-11-13 | 소스 선택 및 트래픽 엔지니어링의 공동 최적화를 위한 시스템 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20160204916A1 (ko) |
EP (1) | EP3235191B1 (ko) |
JP (1) | JP6475342B2 (ko) |
KR (1) | KR20170102951A (ko) |
CN (1) | CN107005475B (ko) |
BR (1) | BR112017014621A2 (ko) |
WO (1) | WO2016110755A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10320930B2 (en) | 2015-10-30 | 2019-06-11 | Huawei Technologies Co., Ltd. | Method and system for providing network caches |
CN107517229A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种回源路由信息的生成、传输方法及相关装置 |
CN108023812B (zh) * | 2016-10-31 | 2021-06-08 | 华为技术有限公司 | 云计算系统的内容分发方法及装置、计算节点及系统 |
CN107483614B (zh) * | 2017-08-31 | 2021-01-22 | 京东方科技集团股份有限公司 | 基于cdn与p2p网络的内容调度方法及通信网络 |
US11893026B2 (en) * | 2019-04-02 | 2024-02-06 | Sap Se | Advanced multiprovider optimization |
US11877350B2 (en) * | 2019-07-19 | 2024-01-16 | Mo-Dv, Inc. | Special local area network with secure data transfer |
US12047659B2 (en) | 2019-07-19 | 2024-07-23 | Mo-Dv, Inc. | Special network device |
US11102289B2 (en) * | 2020-01-03 | 2021-08-24 | Wangsu Science & Technology Co., Ltd. | Method for managing resource state information and system for downloading resource |
US11262990B2 (en) * | 2020-05-26 | 2022-03-01 | International Business Machines Corporation | Application topology discovery |
US11917654B2 (en) * | 2021-10-26 | 2024-02-27 | Dell Products, Lp | System and method for intelligent wireless carrier link management system at user equipment devices |
US12040953B2 (en) * | 2022-08-03 | 2024-07-16 | At&T Intellectual Property I, L.P. | Facilitating metaverse service orchestration and hybrid software defining network control with policy enabled multiple input multiple output in advanced networks |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664119B2 (en) * | 2001-03-30 | 2010-02-16 | Intel Corporation | Method and apparatus to perform network routing |
EP1331766A1 (en) * | 2001-12-20 | 2003-07-30 | Alcatel | A telecommunications system employing virtual service network architecture |
JP4108486B2 (ja) * | 2003-01-08 | 2008-06-25 | Necインフロンティア株式会社 | Ipルータ、通信システム及びそれに用いる帯域設定方法並びにそのプログラム |
AU2003211955A1 (en) * | 2003-02-13 | 2004-09-06 | Fujitsu Limited | Transmission system, distribution route control device, load information collection device, and distribution route control method |
DE602004019308D1 (de) * | 2004-05-31 | 2009-03-19 | Telecom Italia Spa | Verfahren, telekommunikationsarchitektur, computerprogrammprodukt und system um digitale inhalte über kommunikationsnetze unter benutzern zu teilen |
US20060092950A1 (en) * | 2004-10-28 | 2006-05-04 | Cisco Technology, Inc. | Architecture and method having redundancy in active/active stateful devices based on symmetric global load balancing protocol (sGLBP) |
US7747777B2 (en) * | 2007-11-30 | 2010-06-29 | Cisco Technology, Inc. | Optimizing network resources usage within an administrative boundary |
EP2704402B1 (en) * | 2009-06-03 | 2015-08-12 | Telefonaktiebolaget L M Ericsson (publ) | Method and node for distributing electronic content in a content distribution network |
US8990397B2 (en) * | 2009-07-31 | 2015-03-24 | Ntt Docomo, Inc. | Resource allocation protocol for a virtualized infrastructure with reliability guarantees |
EP2514171A1 (en) * | 2009-12-14 | 2012-10-24 | Telefonaktiebolaget L M Ericsson (PUBL) | Dynamic cache selection method and system |
US8775502B2 (en) * | 2009-12-15 | 2014-07-08 | At&T Intellectual Property I, L.P. | Data routing in a content distribution network for mobility delivery |
JP2011134246A (ja) * | 2009-12-25 | 2011-07-07 | Kddi Corp | コンテンツ配信システムの配信制御装置 |
US8447875B2 (en) * | 2010-03-10 | 2013-05-21 | Thomson Licensing | Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks |
US8886806B2 (en) * | 2010-04-07 | 2014-11-11 | Accenture Global Services Limited | Generic control layer in a cloud environment |
US8504718B2 (en) * | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
WO2011144342A1 (en) * | 2010-05-21 | 2011-11-24 | Telefonica, S.A. | A method and a device for bulk data transfer in delay-tolerant networks |
US8959139B2 (en) * | 2010-05-28 | 2015-02-17 | Juniper Networks, Inc. | Application-layer traffic optimization service endpoint type attribute |
US8838724B2 (en) * | 2010-07-02 | 2014-09-16 | Futurewei Technologies, Inc. | Computation of caching policy based on content and network constraints |
US8773992B2 (en) * | 2010-10-11 | 2014-07-08 | At&T Intellectual Property I, L.P. | Methods and apparatus for hierarchical routing in communication networks |
CN102143199A (zh) * | 2010-10-19 | 2011-08-03 | 华为技术有限公司 | 获取内容的方法、节点及内容网络 |
ES2703429T3 (es) * | 2011-06-22 | 2019-03-08 | Ericsson Telefon Ab L M | Procedimientos y dispositivos para control de distribución de contenido |
CN103516607B (zh) * | 2012-06-25 | 2017-05-03 | 中兴通讯股份有限公司 | 一种cdn多路径路由方法和系统 |
US9276838B2 (en) * | 2012-10-05 | 2016-03-01 | Futurewei Technologies, Inc. | Software defined network virtualization utilizing service specific topology abstraction and interface |
US9363172B2 (en) * | 2012-11-27 | 2016-06-07 | Red Hat Israel, Ltd. | Managing a configurable routing scheme for virtual appliances |
JP6021628B2 (ja) * | 2012-12-18 | 2016-11-09 | Kddi株式会社 | コンテンツ配信システムの経路計算方法および装置 |
US9569232B1 (en) * | 2013-02-19 | 2017-02-14 | Amazon Technologies, Inc. | Network traffic data in virtualized environments |
US9917886B2 (en) * | 2013-03-22 | 2018-03-13 | Stmicroelectronics S.R.L. | Method for distributing information contents, corresponding device and computer program product |
-
2015
- 2015-01-08 US US14/592,616 patent/US20160204916A1/en not_active Abandoned
- 2015-11-13 EP EP15876742.6A patent/EP3235191B1/en active Active
- 2015-11-13 KR KR1020177021879A patent/KR20170102951A/ko not_active Application Discontinuation
- 2015-11-13 BR BR112017014621A patent/BR112017014621A2/pt not_active Application Discontinuation
- 2015-11-13 CN CN201580068020.5A patent/CN107005475B/zh active Active
- 2015-11-13 JP JP2017536281A patent/JP6475342B2/ja active Active
- 2015-11-13 WO PCT/IB2015/058788 patent/WO2016110755A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP3235191B1 (en) | 2019-07-10 |
BR112017014621A2 (pt) | 2018-01-23 |
JP6475342B2 (ja) | 2019-02-27 |
CN107005475B (zh) | 2019-12-06 |
JP2018501732A (ja) | 2018-01-18 |
WO2016110755A1 (en) | 2016-07-14 |
EP3235191A1 (en) | 2017-10-25 |
EP3235191A4 (en) | 2018-02-07 |
US20160204916A1 (en) | 2016-07-14 |
CN107005475A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6475342B2 (ja) | ソース選択とトラヒック工学との同時最適化のためのシステムおよび方法 | |
US9860758B2 (en) | Systems and methods for placing virtual serving gateways for mobility management | |
Nelson et al. | GSTAR: generalized storage-aware routing for mobilityfirst in the future mobile internet | |
US8000239B2 (en) | Method and system for bandwidth allocation using router feedback | |
US20210176168A1 (en) | Advanced Preferred Path Route Graph Features in a Network | |
JP4556592B2 (ja) | ルータ選択方法及びルータ装置 | |
CN105830395A (zh) | 用于促进分析的基于会话的分组路由 | |
EP3248323B1 (en) | Method and system for rate adaptation for data traffic | |
JP6434526B2 (ja) | 無線ネットワーク中のデータ処理装置および無線ネットワークシステム | |
JP2018191290A (ja) | 負荷分散を実現するための方法、装置、およびネットワークシステム | |
TW200908617A (en) | Method and system for assigning routers to hosts | |
CN107534608B (zh) | 用于在无线通信网络中处理数据流的方法和装置 | |
JP5888687B1 (ja) | 配信サーバ又は配信ルート設計装置、配信サーバ又は配信ルート設計方法及びプログラム | |
Azgin et al. | On-demand mobility support with anchor chains in Information Centric Networks | |
Kamiyama et al. | Dispersing content over networks in information-centric networking | |
KR101524825B1 (ko) | 무선 메쉬 네트워크에서의 패킷 라우팅 방법, 패킷 라우팅 제어 장치 및 패킷 라우팅 시스템 | |
CN108449281B (zh) | 网络流量协同卸载方法及协同卸载控制器 | |
KR101491948B1 (ko) | 이동성 관리 기법 및 장치 | |
JP5506640B2 (ja) | コンテンツ配信方法及びシステム | |
Shariat et al. | Optimizing Time to Exhaustion in Service Providers Using Information-centric Networking | |
Fathima | A content-centric efficient search with structured overlays in P2P-VoD system | |
EP4348947A1 (en) | A multi-cloud active mesh network system and method | |
Narahara et al. | Enhanced Dynamic Management of Mobile Agent in Location Based Routing | |
Tutschku et al. | Towards the Engineering of Dependable P2P-Based Network Control--The Case of Timely Routing Control Messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |