KR20060057525A - 데이터 제공자를 선택하는 시스템 및 방법 - Google Patents

데이터 제공자를 선택하는 시스템 및 방법 Download PDF

Info

Publication number
KR20060057525A
KR20060057525A KR1020057018146A KR20057018146A KR20060057525A KR 20060057525 A KR20060057525 A KR 20060057525A KR 1020057018146 A KR1020057018146 A KR 1020057018146A KR 20057018146 A KR20057018146 A KR 20057018146A KR 20060057525 A KR20060057525 A KR 20060057525A
Authority
KR
South Korea
Prior art keywords
data
client
data providers
providers
server
Prior art date
Application number
KR1020057018146A
Other languages
English (en)
Other versions
KR101037020B1 (ko
Inventor
리차드 이안 마이클 제프리
매튜 데이비드 워커
오톤 카마리오티스
Original Assignee
브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 filed Critical 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니
Publication of KR20060057525A publication Critical patent/KR20060057525A/ko
Application granted granted Critical
Publication of KR101037020B1 publication Critical patent/KR101037020B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

클라이언트 식별 데이터와 함께 클라이언트(10)로부터 데이터에 대한 요청을 수신하는 단계와, 상기 클라이언트(10)에게 데이터를 제공할 수 있는 복수의 데이터 제공자들(30)을 식별하는 단계와, 상기 데이터 제공자들에게 상기 클라이언트 식별 데이터를 제공하는 단계와, 클라이언트로 신호가 송신되고 클라이언트로부터 신호가 수신되는 경과 시간의 측정, 및 데이터 전송을 위한 잔여 용량을 나타내는 측정을 설정하기 위해, 및 이들 측정들이 시스템(20)에 이용가능하게 하기 위해 상기 데이터 제공자들에게 테스트들을 실행하는 것을 지시하는 단계를 실행함으로써 바람직한 데이터 제공자가 복수의 데이터 제공자들로부터 선택되는 시스템(30) 및 방법에 관한 것이다. 하나 이상의 바람직한 데이터 제공자들(30)은 상기 데이터 제공자들로부터의 경과 시간 신호들 및 잔여 용량 신호들에 기초하여 선택될 수 있다.

Description

데이터 제공자를 선택하는 시스템 및 방법{SYSTEM AND METHOD FOR SELECTING DATA PROVIDERS}
본 발명은 데이터의 전송 이전 또는 전송하는 동안 데이터 전송을 위한 적절한 통신 채널의 식별에 관한 것이다. 본 발명의 실시예는 사용자가 예컨대 비디오 스트리밍(Video Streaming)을 통해 비디오 데이터와 같은 데이터를 수신하길 원하는 상황에서, 또는 xDSL, 무선 랜(Wireless LAN), 모바일 등과 같은 다양한 수단 중의 임의의 것을 통해 멀티미디어 콘텐츠의 다운로드 이전 또는 다운로드 동안 적용가능할 수 있다.
인터넷과 같은 네트워크의 많은 사용 중에서, 최근 인기가 크게 증가하고 있는 하나의 카테고리는 비디오 또는 오디오 데이터 또는 다른 미디어 콘텐츠와 같은 데이터의 교환을 위한 네트워크의 사용이다. 점차적으로, 멀티미디어 콘텐츠(예컨대, 비디오, 오디오)의 많은 형태가 인터넷상에서 대량으로 이용가능하다. 이 멀티미디어 콘텐츠는 다양한 IP 네트워크를 통해 광대역 또는 협대역 중의 어느 하나로 스트리밍될 수 있다. 더욱 일반적으로, 데이터 배포는 데이터 스트리밍 또는 더욱 일반적인 형태의 다운로딩을 통해 얻어질 수 있다. 이러한 배포는 피어 투 피어(peer-to-peer) 콘텍스트로, 또는 상업적인 멀티미디어 제공 서버로부터 실행 될 수 있고, xDSL, 무선 랜, 케이블, 모바일(GPRS 또는 3G) 등과 같은 다양한 수단을 사용하여 실행될 수 있다. xDSL은 ADSL("Asymmetric"), HDSL("High bit-rate"), 및 RADSL("Rate-Adaptive")와 같은 DSL("Digital Subscriber Line")의 많은 다른 변형을 커버하고 있음을 유의해야 한다. DSL 기술은 보통의 전화 라인을 통해 높은-대역폭 정보를 가정 및 소규모 사업체로 운반하는 잘 알려진 기술이다.
불행히도, 인터넷으로부터 데이터의 수신은 비디오 스트리밍과 같은 타임-크리티컬(time-critical) 애플리케이션에 심각하게 영향을 미치는 패킷 손실(Packet Loss), 패킷 지연(Packet Delay), 지터(Jitter), 서버의 다운, 및 다른 요소와 같은 인자들 때문에, 때때로 문제가 될 수 있다. 종종, 사용자는 서버와 연결을 시도하여 이 서버가 다운되었거나 또는 크게 폭주하여 비디오 콘텐츠를 거절하는지 중 어느 것인가를 찾는다. 사용자가 서버와 겨우 연결하고 비디오 콘텐츠가 마침내 스트리밍 된다면, 품질은 상기에서 언급한 것과 같은 패킷 지연과 같은 인자들 때문에 매우 나쁠 수 있다. 모든 이러한 인자들은 특히 인터넷을 통해 스트리밍된 오디오 또는 비디오 데이터를 수신하는 것에 관하여, 최종 사용자(end- user)의 경험에 큰 영향을 미치고, 따라서 이러한 종류의 애플리케이션의 정착을 지연시킨다.
큰 파일 또는 다른 아이템을 다운로드하거나 또는 특별한 파일 또는 파일들에 관하여 스트리밍 데이터를 아마도 수신하기를 원하는 개별 사용자에 대해, 필요한 데이터를 제공할 수 있는 상업적인 서버 또는 피어(peer)와 같은 많은 개수의 다른 데이터 제공자가 존재할 수 있다. 사용자가 네트워크에 연결될 수 있는 다양한 수단, 데이터의 소스가 될 수 있는 다양한 형태의 데이터 제공자, 및 다른 인자 들 때문에, 개별 사용자는 비디오 서버와 같은 이용가능한 데이터 제공자의 "풀(pool)"로부터, 어떤 데이터 제공자가 비디오 콘텐츠 또는 다른 그러한 데이터를 신뢰할 수 있는 연결을 통해 서비스할 수 있는가를 알지 못하는 문제에 직면할 수 있다. 낮은 신뢰성은 패킷 손실, 지터, 패킷 지연, 및 다른 요소들에 의해 유발될 수 있으며, 이들 모두는 양질의 다운로딩 또는 데이터 스트리밍을 얻는 기회를 저하시킨다.
이러한 문제를 해결하는 것이 얼마나 중요한지 알려주기 위해, 약간의 "잘 알려진" 애플리케이션이 이하에서 언급된다:
1) "넵스터(Napster)"(현재 폐쇄된 음악 파일 공유 웹 사이트) 및 "카자(Kazaa)"(www.kazaa.com)와 같은 피어 투 피어 애플리케이션.
2) 다수의 비디오 서버가 네트워크상의 어디엔가 셋업된 비디오 스트리밍 콘텐츠 제공자.
본 발명이 특히 적용가능한 비디오 서버에 관하여, 이 문제에 대한 보통의 접근은 어떤 서버가 가장 신뢰할만한 연결을 제공할 것인가에 대한 어떠한 사전 지식도 없이, 디폴트 비디오 서버를 고르는 것이며 이는 네트워크상에서 최종 사용자가 어디에 위치하는가에 의존하는 것이나, 그럭저럭 좀더 빠르거나 또는 좀더 좋을 것 같은 서버를 고르는 약간의 기술들은 이미 존재한다.
종래기술
약간의 관련 논문들의 요약이 아래에 제공된다:
"Measurement study of peer-to-peer file sharing systems": 저자: Saroiu S, Gummadi PK, Gribble SD(Dept. of Comput. Sci. & Eng., Washington Univ., Seattle, WA, USA), Multimedia Computing and Networking 2002, 23-24 Jan. 2002, SPIE-Int. Soc. Opt. Eng, Proceedings of the SPIE - The International Society for Optical Engineering, vol.4673 pp 156-70
요약: 누텔라(Gnutella) 및 냅스터와 같은 피어 투 피어 멀티미디어 파일 공유 애플리케이션의 인기는 피어 투 피어 설계로의 최근 연구 업적에 파란을 일으켰다. 이 논문은 두개의 인기있는 피어 투 피어 파일 공유 시스템, 즉 누텔라 및 넵스터에 대한 상세한 평가 연구를 포함하고, 특히 이러한 두개의 시스템에 참여하는 최종 사용자 호스트의 집단을 특정화하기 위해 시도한다. 이러한 특정화는 이들 호스트와 널리 인터넷 사이의 정체 대역폭, 패킷을 이러한 호스트에 송신하는 IP-레벨 레이턴시, 시스템으로부터 호스트가 얼마나 자주 연결 및 해제되는가, 호스트가 얼마나 많은 파일을 공유 및 다운로드하는가, 호스트들 사이의 상호 동작의 등급, 및 이들 특정화 사이의 몇몇 상호관계를 포함한다.
"Handling multimedia objects in peer-to-peer networks": 저자: Kalogeraki V(HP Labs., Palo Alto, CA, USA), Delis A, Gunopulos D, Proceedings CCGRID 2002. 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid, 21-24 May 2002, IEEE Comput. Soc pp 438-9
요약: 이 논문은 피어 투 피어(P2P) 네트워크 상의 비디오 서비스의 공급이 비디오 서비스의 배달을 위해 매일 사용되는 대부분의 독점 아키텍처에 대해 실행가능한 대안을 어떻게 제공할 수 있는가 뿐만 아니라, 신뢰할 수 있고 확장성 있는 방식으로 어떻게 행해질 수 있는가를 설명하기 위해 시도한다. 자원의 애드혹(ad hoc) P2P 네트워크 접근에 기초하여, 영화 및/또는 비디오 클립의 저장 및 검색을 지원할 수 있는 새로운 아키텍처가 제안된다. 제안된 구성은, 네트워크에 대한 고성능 링크의 가용성, 피어 내에서의 독점적이고 부분적인 인덱싱의 사용법을 이용하여, 노드가 가능한 언제든지 서버 간의 완전한 연결뿐만 아니라, 그들 근처의 콘텐츠, 개체의 복제, 인기있는 아이템의 캐싱을 인식하게 한다. 설계는 멀티미디어 개체의 검색을 위한 효과적인 인덱싱 메카니즘을 사용하는 것을 주장하고, 서버 실패의 관점에서 연속적인 동작을 보장하고, 사용자에게 최소한의 혼란을 주는 제공 서비스 및/또는 네트워크 자원의 발전 뿐만 아니라 새로운 서버의 투명한 집단을 허용한다. 이러한 P2P 인프라 구조를 실현하는 하나의 키가 되는 준비는 핵심 피어(또는 서버)가 방대한 멀티미디어 데이터를 효과적으로 핸들링 및 배달할 수 있는 낮은 레이턴시 및 높은 대역폭 네트워크를 통해 링크되는 것으로 예상된다. 또한 최종 사용자는 목적 서버에 대해 충분한 연결을 가져야 할 것으로 예상된다.
"Peer-to-peer streaming media delivery": 저자: Stolarz D, Proceedings First International Conference on Peer-to-Peer Computing, 27-29 Aug. 2001, IEEE Comput. Soc pp 48-52
요약: 어떤 정의가 내려지든지, 피어 투 피어는 작업을 행하는 새로운 방식 에 대해 효과적인 슬로건으로 불리운다. 스트리밍 미디어 배달은 피어 투 피어 설계 접근에 대해 특히 민감하다. 피어 투 피어 시스템은 대역폭 비용을 줄이기 위해 및 인터넷 상의 주문형 및 스트리밍 콘텐츠의 비례 축소가능성을 증가시키기 위해 나타났다. 유사한 기술이 "가상 멀티캐스트", 네트워크-층 멀티캐스팅의 효과적인 서브-넷 브로드캐스트 피처의 애플리케이션-층 실행을 생성하기 위해 사용될 수 있다.
"On peer-to-peer media streaming": 저자: Dongyan Xu, Hefeeda M, Hambrusch S, Bhargava B(Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA), Proceedings 22nd International Conference on Distributed Computing Systems, 2-5 July 2002, IEEE Comput. Soc pp 363-71
요약: 이 논문에서, 피어 투 피어 미디어 스트리밍 시스템은 다음의 특징으로 연구되었다. (1) 스트리밍 용량은 동적으로 증가한다; (2) 피어들은 서버와 유사한 동작을 나타내지 않는다; (3) 피어들은 그들 대역폭 기여에서 이질적이다; 및 (4) 각 스트리밍 세션은 다수의 공급 피어들과 관련될 수 있다. 이러한 특징에 기초하여, 두개의 문제가 연구되었다: (1) 미디어 데이터를 하나의 스트리밍 세션의 다수의 공급 피어들에 어떻게 할당하는가 및 (2) 시스템의 전체 스트리밍 용량을 어떻게 빨리 증폭하는가. 첫번째 문제에 대해 제안된 해법은 연속적인 스트리밍 세션에서 최소의 버퍼링 지연으로 귀결되는 최적의 미디어 데이터 할당 알고리듬 OTSp2p이다. 두번째 문제에 대한 해법은 배포된 차등화된 입장 제어 프로토콜 DACp2p이다. 다른 외부 대역폭을 갖는 요청 피어들 사이에서 차등화함으로써, DACp2p는 빠른 시스템 용량 증폭을 얻고; 입장률, 대기 시간, 및 버퍼링 지연에서 모든 요청 피어들에게 이익이 되고; 및 피어들이 정말로 이용가능한 외부 대역폭을 제공하는 피어들에 대해 인센티브를 생성하는 것이라고 한다.
현재 배경 특허 문헌을 참조하면, 데이터 배달의 서버측 시스템 최적화를 위한 시스템은 미국특허 제6,112,239호(Kenner 등)에 개시된다. 유사한 시스템은 미국특허 제6,502,125호 및 미국특허 제2003/0145007호(양자도 또한 Kenner 등)에 개시된다. 이러한 시스템에서, 사용자는 최적화를 실행하기 위해 그들 소유의 장치로부터 실행되어져야 하는 소프트웨어가 제공된다. 유사하게, 애플릿이 파일에 대한 요청을 차단하고 파일을 제공하는 최적의 서버를 판정하는, 인터넷으로부터 파일의 다운로드를 최적화하는 시스템은 미국특허 제6,477,522호(Young)에 개시된다.
인터넷을 통해 연결된 사용자들 사이에서 디지털 전자 게임-실행의 영역을 참조하면, 미국특허 제6,304,902(Black 등)은 데이터 통신 품질이 몇몇의 게임-실행 사용자 사이에서 링크되고 임의의 필요한 서버 또는 서버들이 이러한 게임-실행에 충분한 것을 보장하는 방법을 개시한다. 게임-실행은 일반적으로 복수의 가능한 서버들로부터 선택될 수 있는 다수의 게임자와 공통의 서버 사이에서 두가지 방식의 정보의 교환과 관련된다. 하나의 서버는 대전계획을 짜는 것으로 동작하고, 복수의 가능한 서버로부터 약간의 서버를 선택하고, 이들로부터 요청된 게임에 대 한 서버로서 하나를 선택한다. 이러한 게임-실행 시스템 때문에, 목적은 몇몇의 사용자가 동일 서버와 동시에 연결을 허용하는 것이고, 그래서 서버는 그것을 동시에 또는 하나 이후 곧 하나를 연결하는 것을 시도할 수 있는 몇몇의 사용자에 의해 그 사용을 촉진하는 방식으로 선택되는 것을 유의해야 한다.
상기와 대조적으로, 본 발명의 실시예들은, 연결이 개별사용자에 의해, 멀티미디어 콘텐츠 다운로드 또는 그 사용자에 의해 요청된 다른 이러한 데이터 교환에 대해 적절할 뿐만 아니라 다수의 다른 사용자들에게 데이터를 또한 제공하는 것 때문에 느려지거나 또는 과부하가 최소가 될 것 같은 서버로 설정될 수 있도록, 개인 사용자에 대해 "가장 빠른", "가장 근접한" 그렇지 않으면 가장 적절한 서버, 또는 가장 빠른, 최고의 또는 가장 신뢰할 수 있는 연결을 식별하는 것을 목적으로 한다. 본 발명의 바람직한 실시예들에 따르면, 이러한 식별 처리는 사용자가 자신의 장치상에서 특정 소프트웨어를 설치 또는 실행하는 것을 필요로 함이 없이 실행될 수 있다.
본 발명에 따르면, 복수의 데이터 제공자들로부터 바람직한 데이터 제공자를 선택하는 시스템이 제공되고, 클라이언트로부터 데이터에 대한 요청을 수신하는 수단과, 상기 클라이언트로부터 클라이언트 식별 데이터를 수신하는 수단과, 상기 클라이언트에게 데이터를 제공할 수 있는 복수의 데이터 제공자들을 식별하는 수단과, 상기 데이터 제공자들에게 상기 클라이언트 식별 데이터를 제공하는 수단과, 상기 데이터 제공자들에게, (ⅰ) 상기 클라이언트에게 테스트 신호를 송신하는 단계와, (ⅱ) 상기 클라이언트로부터 리턴 신호를 수신하는 단계와, (ⅲ) 상기 테스트 신호의 상기 송신과 상기 리턴 신호의 상기 수신 사이의 일정량의 경과 시간을 얻는 단계와, (ⅳ) 상기 경과 시간을 나타내는 신호를 상기 시스템에서 이용가능하도록 하는 단계와, (ⅴ) 그 잔여용량을 나타내는 신호를 상기 시스템에서 이용가능하도록 하는 단계를 실행하는 것을 지시하는 수단과, 상기 데이터 제공자들로부터 경과 시간 신호들 및 잔여 용량 신호들을 수신하는 수단과, 상기 신호들에 기초하여 바람직한 데이터 제공자를 선택하는 수단과, 상기 클라이언트에게 상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 수단을 포함하는 것을 특징으로 한다.
본 발명에 따르면, 복수의 데이터 제공자들로부터 바람직한 데이터 제공자를 선택하는 방법이 또한 제공되고, 클라이언트로부터 데이터에 대한 요청을 수신하는 단계와, 상기 클라이언트로부터 클라이언트 식별 데이터를 수신하는 단계와, 상기 클라이언트에게 데이터를 제공할 수 있는 복수의 데이터 제공자들을 식별하는 단계와, 상기 데이터 제공자들에게 상기 클라이언트 식별 데이터를 제공하는 단계와, 상기 데이터 제공자들에게, (ⅰ) 상기 클라이언트에게 테스트 신호를 송신하는 것과, (ⅱ) 상기 클라이언트로부터 리턴 신호를 수신하는 것과, (ⅲ) 상기 테스트 신호의 상기 송신과 상기 리턴 신호의 상기 수신 사이의 일정량의 경과 시간을 얻는 것과, (ⅳ) 상기 시스템에 이용가능한 상기 경과 시간을 나타내는 신호를 만드는 것과, (ⅴ) 그 잔여용량을 나타내는 신호를 상기 시스템에서 이용가능하도록 하는 것을 실행하는 것을 지시하는 단계와, 상기 데이터 제공자들로부터 경과 시간 신호들 및 잔여 용량 신호들을 수신하는 단계와, 상기 신호들에 기초하여 바람직한 데이터 제공자를 선택하는 단계와, 상기 클라이언트에게 상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시예들에 따른 시스템 및 방법을 사용함으로써, 사용자가 비디오 콘텐츠 또는 다른 데이터에 액세스하기 위해 시도하길 원하는 경우, 최종 사용자에게 완전하게 보이지 않을 수 있고 사용자의 장치 상의 임의의 특정 소프트웨어의 설치 또는 실행을 필요로 하지 않는 작은 테스트 처리를 실행함으로써 상기에서 언급한 문제점들을 해결할 수 있고, 따라서 다수의 이용가능한 비디오 서버 또는 다른 데이터 제공자로부터 가장 신뢰할만한, 가장 빠른, 최소로 혼잡하거나 그렇지 않으면 특정 사용자에 대해 가장 적절한 것을 판정한다. 이 방식에서, 사용자는 가장 "신뢰할만한" 것과 연결함으로써 최적의 가능한 데이터 다운로드 또는 데이터 스트림을 수신할 수 있고, 따라서 멀티미디어 및 다른 이러한 애플리케이션에 관하여 사용자의 경험을 향상시킨다.
바람직한 실시예들에 따르면, 시스템은 사용자로부터 특정 비디오 파일과 같은 특정 아이템에 대한 요청을 수신하도록 구성될 수 있다. 그 다음 요청된 특정 아이템을 제공할 수 있는 데이터 제공자를 식별하기 위해서 가능하게는 미리 선택될 수 있거나 또는 그 시스템에 대한 가입자일 수 있는 데이터 제공자의 그룹, 또는 가능하게는 전체 인터넷 또는 다른 이러한 네트워크에서 탐색을 실행한다. 이러한 탐색 다음에, 시스템은 정확히 이러한 잠재적인 데이터 제공자로부터 선택을 하기 위해 선택 처리를 실행할 수 있다. 선택적으로 사용자는 "바람직한" 데이터 제공자가 선택되도록 특정 아이템을 특정하는 것이 요구될 필요는 없다. 그러나, 이 경우에, 사용자는 일단 선택되면, 바람직한 데이터 제공자가 제공할 수 있는 아이템의 "카타로그"에 자신이 한정되는 것을 알게 되며, 상기 카타로그는 사용자가 요청하고자 하는 특정 아이템을 포함할 수도 있고 아닐 수도 있다.
본 발명의 바람직한 실시예들에 따른 시스템에서, 상기 데이터 제공자에게 지시하는 수단은 중앙 서버와 같은 클라이언트로부터 원격인 수단이다. 용어 "원격인(remote)"은 지시 수단 및 클라이언트가 지리적으로 멀리 떨어져 있는 것을 의미할 필요는 없고, 단지 클라이언트 및 지시 수단의 각각의 기능이 클라이언트 장치 상의 공통 처리 수단에 의해 실행되지 않는 것을 의미한다. 클라이언트 및 서버의 각각의 물리적인 위치와 관계없이, 클라이언트와 다른 어떤 것이 "지시(instructing)"를 실행하는 것이 명백할 것이며, 따라서 소프트웨어가 클라이언트 장치로 다운로드될 필요가 없다.
본 발명의 실시예들에 따른 시스템은 잔여 용량이 소정 임계치 이하인 임의의 데이터 제공자들을 효과적으로 실격시키면서, 오직 소정 임계치 이상의 잔여 용량을 갖는 데이터 제공자들로부터 바람직한 데이터 제공자를 선택하도록 구성된다. 선택적으로, 최종 선택은 특정 임계치에 의해 제한받지 않고 두 가지 형태의 신호(즉, 경과된 시간 및 잔여 용량)에 의해 표시된 각 인자들 사이에서 최적의 균형을 얻기 위해 이루어질 수 있다.
바람직한 실시예들에 따르면, 데이터 제공자들에게 제공하도록 지시될 수 있는 잔여 용량을 나타내는 신호는 그들의 잔여 대역폭을 나타내는 신호일 수 있다.
바람직한 실시예들에 따른 시스템에서, 바람직한 데이터 제공자의 신원에 관련된 정보를 제공하기 위해서, 시스템은 선택 처리가 실행되고 새로운 "바람직한" 데이터 제공자가 설정될 때마다 업데이트될 수 있는 웹사이트 상에 정보를 제공하도록 구성된다. 정보는 바람직한 데이터 제공자의 URL(Uniform Resource Locator)의 형태로 제공될 수 있다. 그러나, 정보는 이메일 또는 사용자에게 필요한 정보를 포함하는 다른 이러한 메시지의 송신과 같이 다른 방식으로 제공될 수 있다.
본 발명의 실시예들에 따른 시스템은 하나의 "바람직한" 데이터 제공자를 하나 이상 선택할 수 있다. 이 경우에, 시스템은 복수의 바람직한 데이터 제공자들에 관한 정보를 사용자에게, 각 테스트(즉, 최적, 그 다음 최적 등)에서 실행했던 순서, 또는 대신에, 상기 소정의 품질 임계를 실행했던 임의의 것이 사용자에게 식별될 수 있는 순서에 기초하여, 가능하게는 랭킹을 나타내는 리스트의 형태로 제공할 수 있다.
본 발명의 바람직한 실시예들의 설명에서 다음의 기술이 참조 될 것이다: RMI, JAVA, Servlets, HTML. 이러한 기술에 대한 정보는 공공연히 이용가능하나, 전문용어, 및 이와 관련된 약어, 두문자어에 관한 모호성이 생길 가능성을 피하기 위해 여기에 간략한 요약이 제공된다.
RMI("Remote Method Invocation")는 네트워크에 의해 떨어져 있는, 다른 JVM(Java Virtual Machines) 사이에 메시징을 허용하는 JDK(Java Development Kit) 1.1에 제공된 새로운 API(Application programming interface)이다.
"자바(JAVA)"는 인터넷의 분산된 환경에서의 사용을 위해 특별히 설계된 프로그래밍 언어이다. 이는 단일 컴퓨터 상에서 동작할 수 있는 또는 네트워크의 서버들과 클라이언트들 사이에 분산될 수 있는 완전한 애플리케이션을 생성하는데 사용될 수 있다. 이는 웹 페이지의 일부로서 사용을 위한 작은 애플리케이션 모듈 또는 "애플릿(applet)"을 만드는데 또한 사용될 수 있다.
"서블릿(Servlet)"은 서버상에서 동작하는 작은 프로그램으로서 정의될 수 있다. 이 용어는 일반적으로 웹 서버 환경 내에서 동작하는 자바 애플릿으로 참조된다. 이는 웹 브라우저 환경 내에서 동작하는 자바 애플릿과 유사하다.
HTML("Hypertext Markup Language")은 WWW(World Wide Web) 브라우저 페이지 상의 디스플레이를 위해 의도된 파일에 삽입된 심볼 또는 코드의 세트이다. "Markup"은 사용자를 위한 웹 페이지의 단어 및 이미지를 어떻게 디스플레이할 것인가를 웹 브라우저에 알려주는 것이다.
본 발명의 추가적인 특징 및 장점은 첨부된 도면을 참조하여, 단지 예를 통해 나타난 실시예들의 이하의 상세한 설명으로부터 명백해질 것이고, 동일한 참조 부호는 동일 부분을 가리킨다.
도 1은 본 발명의 실시예에 따른 시스템을 포함하는 네트워크의 구성요소를 나타내는 도면이고,
도 2는 "데이터 제공자"의 잔여 "업-링크" 용량의 계산을 나타낸다.
본 발명의 실시예에 따른 시스템을 포함하는 네트워크는 도 1에 도시된다. 이 도면은 바람직하거나 또는 "최적의(best)" 비디오 서버를 판정하는 처리에서 발생할 수 있는 네트워크의 구성요소들 사이에서의 상호작용을 도시한다. 이것의 일부는 비디오 스트리밍을 위해 사용되는 전형적인 구성(클라이언트, 웹서버, 비디오 서버)이나, 어떤 "비디오 서버"가 특정 최종 사용자에 대한 비디오 스트리밍에 가장 적절한가를 판정하기 위해 테스트가 행해지게 하는 자바 RMI 동작을 또한 포함한다. 이 처리는 이하에서 상세히 설명될 것이다. 도면에서의 단계는 이벤트의 바람직한 순서를 나타낸다. 시스템의 구성요소는 다음과 같이 요약될 수 있다:
클라이언트: "클라이언트"는 일반적으로 웹 브라우저 및 "비디오 플레이어" 또는 유사한 플러그인 또는 애플리케이션을 동작시키는 "최종 사용자" 개인용 컴퓨터를 지칭한다. 그러나 클라이언트는 예컨대 인터넷과 상호작용하기 위해서 WAP(Wireless Application Protocol) 또는 유사한 웹 브라우징 프로토콜을 사용하는, 3G("3세대(Third-Generation)")와 같은 장치일 수 있음을 유의해야 한다.
중앙 서버: "중앙 서버(Centralised Server)"는 일반적으로 웹 서버 소프트웨어를 구동시키는 웹 서버(22)를 포함하는 PC와 같은 컴퓨터 단말을 지칭한다. 따라서 중앙 서버(20)는 사용자가 비디오 클립을 선택할 수 있는 웹 페이지, 예컨대 비디오 스트리밍 서버 사이트에 대한 링크를 포함하는 웹 페이지의 형태로 사용자에게 정보를 제공 또는 제시할 수 있다. 중앙 서버는 복수의 "비디오 스트리밍 서버"의 임의의 것에 설치된 "RMI 서버"와 통신하기 위해서, 동적 웹 페이지를 생 성하고 RMI 서버와 통신하며, 최종적으로 자바 RMI 클라이언트를 동작시키는 것을 담당하는 "서블릿" (자바) 소프트웨어(24) 또는 "ASP"(마이크로소프트) 소프트웨어를 동작시킬 수 있다.
따라서 중앙 서버(20)는 초기에 동적 웹-페이지를 사용자에게 제시할 수 있다. "최적의"(즉, 가장 빠르고, 가장 근접하거나 그렇지 않으면 가장 적절한) 서버 또는 서버들을 찾는 것을 목적으로 하는 임의의 "탐색(search)" 모드에서의 중앙 서버의 동작에 앞서서, 하나 이상의 "디폴트(default)" 서버와의 링크를 포함할 수 있다. 임의의 시점에서, 사용자는 하나의 콘텐츠를 선택하거나 또는 요청을 송신할 수 있다 - 만약 이것이 임의의 탐색이 완료되기 전에 발생한다면, 디폴트 스트리밍 서버가 상기 콘텐츠를 배달하기 위해 선택되거나, 또는 하나 이상의 디폴트 서버에 대한 링크가 제공될 수 있다.
비디오 스트리밍 서버: 복수의 "멀티미디어 서버" 또는 "비디오 스트리밍 서버"(30)가 도시되고(본 실시예에서, 3개의 이러한 서버가 도시되고, "C1", "C2" 및 "Cn"으로 식별됨), 각각은 압축되거나 또는 압축되지 않은 "비디오 콘텐츠"와 같은 저장된 "멀티미디어 콘텐츠"(35), 중앙 서버(20)의 "RMI 클라이언트(26)"와 통신하는 "RMI 서버"(36), 및 클라이언트(10)와 같은 최종 사용자에게 "비디오 스트리밍 콘텐츠"를 서비스할 수 있는 적절한 소프트웨어를 포함하거나, 또는 액세스한다. 또한, 이후에서 설명되는 것과 같은 "핑(Ping)" 테스트를 실행하고, 이후에 더욱 상세히 설명되는 것과 같은 "왕복응답시간(round-trip response-time)"에 대 한 값-평균값-을 설정하며, 이를 중앙 서버에 제공하는 수단들이 제공된다.
모든 이러한 구성요소들은 이하에서 설명되는 것과 같이, 최종 사용자에게 비디오 스트리밍 콘텐츠를 배달하기 위해서 상호작용할 것이다.
"최적의"(또는 적어도 "바람직한") 서버를 판정하는 처리가 아래에서 설명될 것이다. "최적의"란 주관적인 용어이지만, 데이터 전송에서 아주 중요한 2개의 인자는 속도 및 신뢰성인 것으로 이해된다. 이러한 인자 중의 어느 하나에 관한 어떤 개선도 다운로드의 전체 품질의 개선으로 생각될 수 있다. 상기 처리에 관하여 2개의 주요 측면이 존재하고, 아래와 같이 언급 될 것이다:
(a) "레이턴시" 테스트; 및
(b) "잔여 대역폭" 테스트.
이 테스트는 임의 순서로 하나씩, 또는 동시에 실행될 수 있다. 그들은 다음 단락에서 설명될 것이다.
a) 레이턴시 테스트
단계 1(도 1에 도시됨): "클라이언트" 또는 "사용자"(10)는 멀티미디어 서버에 대한 전체적인 "탐색" 처리의 조정을 맡고 있는 "중앙" 서버(20)를 통해 "멀티미디어 서버"로 연결 요청을 송신한다. 이 중앙 서버(20)는 다수의 멀티미디어 서버(30)로 예컨대 "자바 RMI" 기술을 사용하여 IP 주소를 전파하기 위해 "클라이언트" 또는 "사용자" 장치(10)의 IP 주소를 검색할 수 있는 "서블릿"(24)을 포함한다. 사용자는 예컨대 특정 비디오 파일과 같은 특정 데이터, 또는 특정 아이템을 요청할 수 있으며, 이 경우, 중앙서버는 제공할 수 있는 것으로 알려진 서버들로부터 "최적의" 서버를 판정하는 처리를 계속 진행하기 전에 그러한 데이터, 아이템, 또는 파일을 제공할 수 있는 비디오 서버에 대한 탐색을 수행한다. 또는, 사용자의 요청은 일반적인 데이터일 수 있으며, 이 경우 중앙 서버는 미리 정해지거나 그렇지 않은 일 세트의 서버들로부터 "최적의" 서버를 판정하는 처리를 수행하고, 이 경우 사용자는, 예컨대 일단 바람직한 서버의 식별이 설정되고, 그리고 그 서버가 사용자에게 이용가능한 아이템의 "라이브러리"를 제공했다면, 상기 바람직한 서버로부터 어떤 아이템 또는 아이템들을 수신할지를 선택할 수 있다.
단계 2(도 1에 도시됨): 상기에서 언급된 바와 같이, "클라이언트" 또는 "사용자" 장치(10)로부터 검색된 IP 주소는 중앙 서버(20)의 "RMI 클라이언트"(26)로부터 멀티미디어 서버(30)의 "RMI 서버"(36)로 전파된다.
단계 3(도 1에 도시됨): "비디오 스트리밍 서버"(30)에 위치한 각 "RMI 서버"(36)는 상기 IP 주소를 검색할 것이고, 각각은 IP 주소를 사용하여 "사용자" 장치(10)를 "핑(PING-ing)"함으로써 테스트 신호를 송신할 것이다. "핑"은 "비디오 스트리밍 서버" 장치로부터 "클라이언트" 장치로 ICMP(Internet Control Message Protocol) 패킷을 송신하는 처리를 동작하기 위해 사용될 수 있는 애플리케이션 소프트웨어 "패킷 인터넷 고퍼(Packet INternet Gophers)"를 지칭하고, 이 방식으로, 패킷이 "비디오 스트리밍 서버" 장치(30)로부터 "클라이언트" 장치(10)로 이동하고 비디오 스트리밍 서버로 되돌아 오는데 걸리는 시간을 측정하는 것이 가능하다. 일반적으로, 되돌아 오는 성공적인 패킷이 많으면 많을수록(하나 이상이 송신된 경우) 그리고 패킷이 특정 "비디오 스트리밍 서버" 장치로부터 클라이언트 장치까지 이동하고 되돌아 오는데 걸리는 시간(일반적으로 밀리초로 측정됨)이 작으면 작을수록, 사용자가 그 "비디오 스트리밍 서버"에 연결되면 얻을 수 있을 것 같은 비디오 스트리밍 성능은 더욱 좋을 것이다. 이때, "요청 소멸 응답(Request Timeout Response" 메시지가 약간의 패킷에 대한 "핑" 처리 이후에 수신된다면, 패킷은 "성공적이지 않은" 것으로 간주 될 수 있다. 이 경우에, 패킷은 "손실된"것으로 간주하고, 디폴트값(보통 1000ms)이 주어질 수 있으며, 따라서 최종에서 계산되는 "평균"값에 영향을 미친다.
특히, 사용자 장치에 어떤 추가적인 소프트웨어의 설치가 필요치 않기 때문에, 상기와 같은 "핑" 테스트를 이용하는 것은 특별한 장점을 가지지만, 레이턴시를 측정하기 위한 대안들은 존재한다. 이러한 대안들은 UDP("User Datagram Protocol")와 같은 ICMP와 다른 프로토콜에 적합한 "트레이스루트(Traceroute)" 및 "핑" 등가물과 같은 알려진 네트워크 도구를 포함한다.
단계 4(도 1에 도시됨): 각 장치에서의 "핑잉" 처리가 완료된 이후에, 평균값이 계산되고 이 값은 RMI를 다시 사용하여 "중앙" 서버로 반환된다. 따라서, 표 1에 도시된 것과 같은 "평균" 응답 값 시간을 갖는 "테이블"이 "RMI 클라이언트"에 형성될 것이다. 모든 이들 값으로부터, 가장 작은 값(즉, 이 경우 서버(C1))은 바 람직하거나 또는 가장 적합한 "비디오 스트리밍 서버"(또는 "최적의" 서버)로서 선택된다.
IP 주소(비디오 스트리밍 서버) 평균 "응답 시간" 값 ( 밀리초 )
C1: 132.146.107.61 57ms
C2: 132.146.107.124 1000ms
Cn: 132.146.107.16 540ms
표 1은 RMI 기술로 모든 "비디오 스트리밍 서버"로부터 구해진 평균값을 나타낸다. " RMI 클라이언트"는 가장 작은 값(즉 서버( C1 ))을 고를 수 있다.
단계 5(도 1에 도시됨): 그다음 "서블릿"은 "RMI 클라이언트"로부터 가장 작은 "평균 응답 시간"을 갖는 "비디오 스트리밍 서버"의 IP 주소를 검색한다. 상기 예에서 이는 IP 주소 "132.146.107.61"를 갖는 "C1"이다. 이 새로운 IP 주소를 가지고 비디오 링크를 포함하는 웹페이지를 업데이트 할 수 있다. 이 방식으로, "중앙" 서버는 자바 "서블릿" 기술을 통해, 클라이언트를 "멀티미디어" 서버로 재설정할 것이다.
이는 레이턴시 테스트의 마지막이다. 상기에서 설명한 전체적인 처리는 최종 사용자에 보이지 않을 수 있고, 완성되는데 단지 몇 초 정도만 걸릴 수 있으며, 이 테스트만을 기초로 선택함으로써 사용자가 "바람직한" "비디오 스트리밍 서버"로부터 비디오 스트리밍 콘텐츠를 얻을 수 있는 서버가 선택될 수 있다.
상기 처리는 예컨대 "비디오 서버" 관리자에 의해 설정된 특정 주기의 시간 이후에 반복될 수 있으며, 매번 웹 페이지는 새로운 바람직한 "비디오 스트리밍 서버"의 IP 주소로 동적으로 갱신될 수 있다.
b) 잔여 대역폭 테스트(Remaining Bandwidth Test)
상기에서 설명한 것과 같은 시스템은 "레이턴시 테스트" 만의 결과에 기초하여 바람직한 서버를 설정할 수 있지만, 본 발명의 실시예들에 따른 시스템은 또한 "잔여 대역폭 테스트"로 지칭되는 추가 테스트를 실행할 수 있다. 이는 상당한 수의 다른 사용자에 의해 사용되기 때문에, 또는 다른 작업에 이미 할당되어 있는 대역폭의 높은 비율 때문에, 현재 "혼잡한" 상태라면 바람직한 서버로 선택되는 것으로부터 부적격이 되게끔 한다. 도 2는 특정 주기의 시간 동안 "서버"의 잔여 "업-링크" 용량의 계산을 나타낸다.
단계 3a(도 1에 도시되지 않음): 필수적이진 않으나 바람직하게는, 단계 3의 "레이턴시 테스트"와 동시에, 각각의 멀티미디어 서버(30)의 "RMI 서버(36)"는 "비디오 스트리밍 소프트웨어"로부터 상기 멀티미디어 서버에 이미 연결된 다른 사용자들의 수에 대한 값(U), 및 각각에 대해, 요청된 클립의 "비트율(B)"를 얻는다. 도 2를 참조하면, 현존하는 사용자의 비트율이 동일할 필요는 없지만, 단순함을 위해서, U명의 현존하는 사용자의 각각의 비트율은 초당 220 킬로비트인 것으로 도시된다. 이 정보는 "마이크로소프트"사의 "Windows Media SDK", 또는 다른 회사(RealVideo, QuickTime 등)의 유사한 도구와 같은 "플러그-인(plug-in)" 라이브러리를 사용하여 프로그램적으로 구해질 수 있다.
아래의 수학식은 "RMI 서버"로부터의 요청 시점에 소모된 전체 대역폭을 제공한다.
Ntotal = ∑Bi , 여기서 i = 0, 1, 2, 3,.....U
여기서, Ntotal은 "RMI 서버"로부터의 요청이 발생하는 시점에, 요청된 "비디오 스트림"에 의해 소비된 전체 대역폭이다.
Bi는 i 번째 "사용자"에 대해, 요청된 "비디오 클립"의 인코딩 "비트율"이다.
U는 "비디오 스트리밍 서버"에 연결된 "사용자"의 수이다.
동시에, "RMI 서버"는 네트워크 연결에 의해 제한된 "비디오 스트리밍 서버"에 대한 최대 이용가능한 "업스트림" 대역폭을 설정한다. 이는 또한 전체 소프트웨어를 설치하는 경우 "관리자"에 의해 수동으로 설정되거나, 또는 이는 장치상에서 국부적으로 동작하는 처리로부터 자동적으로 구해질 수 있으며, 이는 최대 "업-링크" 연결 대역폭을 결정한다.
따라서: Xmax 는 최대 이용가능한 "업스트림" 대역폭이다.
최종적으로, 이하의 수학식은 이용가능한 "업-링크" 대역폭의 "퍼센티지"를 제공할 것이다:
A = [(Xmax - Ntotal)/Xmax]*100%
여기서 A는 잔여 "업-스트림" 대역폭의 퍼센티지이다.
이 방식으로, 예컨대 10-20%의 "임계값"을 설정할 수 있고, 그래서 A가 임계값 이하라면, 이 "비디오 스트리밍 서버"가 대체로 혼잡한 것으로 가정할 수 있고, 따라서 이는 최종적인 "최적의 비디오 스트리밍 서버"의 판정에 포함되지 않을 것이다(단계 4).
이하에서 일 예가 상기 수학식을 설명하기 위해 제공된다:
예를 들어, "비디오 스트리밍 서버"에 인코딩된 두 개의 클립이 존재하는 경우: 첫 번째 파일은 "비디오파일1"로 칭해질 것이고 220kbps의 인코딩 비트율을 갖는다. 두 번째 것은 "비디오파일2"로 칭해질 것이며 140kbps의 인코딩 비트율을 갖는다. 10명의 다른 "사용자"는 이미 "비디오 스트리밍 서버"와 연결되었고, 그들 중 7명은 "비디오파일1"을 시청하고 그들 중 3명은 "비디오파일2"을 시청한다. 최대 용가능한 대역폭은 X = 10Mbps = 10000Kbps이다. 임계값은 20%로 설정한다.
수학식 1로부터, 다음을 갖는다:
사용자의 수: U=10
" 비디오파일1 "을 시청하는 7명의 사용자: B1=220, B2=220, B3=220, B4=220, B5=220, B6=220, B7=220
" 비디오파일2 "를 시청하는 3명의 사용자: B8=140, B9=140, B10=140
따라서, 소모된 전체 대역폭은:
N = B1+B2+B3+B4+B5+B6+B7+B8+B9+B10
= 220+220+220+220+220+220+220+140+140+140=1960
NTOTAL = 1960kbps
상기에서 설명한 바와 같이, 최대 이용가능한 대역폭 X = 10000kbps이다.
수학식 2로부터:
A = [(X-N)/X]*100%
= [(10000-1960)/10000]*100% = 80.4%
그래서 A=80.4%
결론: 잔여 이용가능한 "업-링크" 대역폭은 20%의 임계값 이상인 80.4%이다. 그래서 이 서버는 더 많은 "비디오 스트림"에 대한 요청을 받아들일 수 있고, 단계 3으로부터의 "평균 응답 시간"은 최종적인 "최적 비디오 스트리밍 서버" 판정에 포함될 것이다.
"잔여 용량"을 계산하는 대안적인 방법이 다음과 같이 존재함을 유의해야 한다. 프로그램은 일정 시간 동안 송신된 패킷(TCP/UDP)을 측정하여, "평균 업-링크 용량"을 측정할 수 있는 프로그램이 서버 또는 다른 그러한 데이터 제공자 상에서 연속적으로 실행중일 수 있다. 이러한 프로그램은 널리 이용가능하고 데이터 제공자로 및 데이터 제공자로부터의 트래픽을 평가할 수 있다. 이 처리는 상기에서 설명한 것보다 더욱 복잡할 수 있으나, 순간적인 평균 잔여 대역폭의 더욱 정확한 측정을 제공할 수 있고, 또한 임의의 "멀티미디어 패킷" 뿐만 아니라 임의의 다른 트 래픽(TCP 승인 메시지, 오버헤드 패킷, 다른 네트워크 애플리케이션으로부터의 트래픽 등)을 측정할 수 있다. 이러한 방법은 일반적으로 "데이터 제공자" 상에서 계속해서 동작하지만, 상기에서 상세히 설명된 것은 "대역폭 측정"이 필요한 경우에만 개시될 필요가 있다.
단계 4a(도 1에 도시되지 않음): 일단 상기 값이 설정되면, 이용가능한 "업-링크" 대역폭의 퍼센티지는 각 비디오 스트리밍 서버(30)에 의해 중앙 서버(20)의 RMI 클라이언트(26)로 반환된다. 일단 "핑잉" 처리("레이턴시 테스트"의 단계 3)가 각 장치에 관하여 또한 완료되면, 평균 응답 시간 값 및 퍼센티지 값을 갖는 표는 "RMI 클라이언트"에서 형성될 것이다(아래의 표 2 참조). 임의의 비디오 스트리밍 서버의 이용가능한 "업-링크" 대역폭의 퍼센티지가 소정 "임계값" 이하라면, 상기 서버는 그것의 응답 시간 값과 관계없이 자격이 상실될 수 있다. 자격이 상실되지 않은 것들로부터, 가장 작은 평균 응답 시간 값(즉 이 예에서는 "C1")을 갖는 것이 가장 적절한(또는 "최적의") 비디오 스트리밍 서버로서 선택될 것이다.
IP 주소(비디오 스트리밍 서버) 평균 응답 시간 ( 밀리초 ) 이용가능한 "업-링크" 대역폭(%)
C1: 132.146.107.61 57ms 80.4%
C2: 132.146.107.124 100ms 94%
Cn: 132.146.107.16 54ms 15%(거절됨)
표 2는 이용가능한 업링크 대역폭 값의 퍼센티지와 함께, RMI 기술로 모든 "비디오 스트리밍 서버"로부터 구해진 "평균 응답 시간"을 나타낸다. " RMI 클라이언트"는 20%의 소정 임계값 이하의 퍼센티지 값을 갖기 때문에 자격이 상실되지 않는 가장 작은 응답 시간 값을 갖는 서버를 고를 수 있다. n번째 서버( Cn )는 혼잡한 것처럼 보이고, 그래서 그것의 "평균 응답 시간" 값이 비록 작긴 하지만, 최종 판정에서 거절될 것임을 유의해야 한다.
단계 5(도 1에 도시됨): "서블렛"은 "RMI 클라이언트"로부터, 바람직한 비디오 스트리밍 서버의 IP 주소를 검색하여, 새로운 IP 주소를 갖고 비디오 링크를 포함하는 웹페이지를 업데이트할 것이다. 이 방식으로, "중앙" 서버는 자바 "서블릿" 기술을 통해 "멀티미디어" 서버로 클라이언트를 재설정한다.
이는 테스트의 마지막이며, 이에 의해 사용자가 "최적의" 비디오 스트리밍 서버로부터 비디오 스트리밍 콘텐츠를 수신할 수 있다.
상기 처리는 "비디오 서버" 관리자에 의해 설정된 고정 주기의 시간 동안 반복될 수 있고, 매시간 웹 페이지는 새로운 "비디오 스트리밍 서버 IP 주소"로 동적으로 갱신될 수 있다.
특정 경우에 대한 연구:
아래에는, 상기 처리를 중단시킬 수 있는 약간의 특정 경우들을 간단하게 개관한다:
RMI 서버 "다운": 이 경우에, RMI 클라이언트는 특정 비디오 스트리밍 서버의 RMI 서버와의 통신을 설정할 수 없다. 따라서 이 "서버"는 현재 동작하지 않는 것으로 가정할 수 있다. 따라서, 이 "서버"는 어떤 "비디오 스트리밍 서버"가 "최적"인가의 판정에 고려되지 않을 것이다.
사용자/클라이언트가 방화벽 뒤에 있음: 이 특별한 경우에는, 클라이언트의 장치가 모든 "핑" 패킷을 차단하고, 결과적으로 모든 서버가 "요청 소멸 응답"을 수신하는 가능성이 존재한다. 이 경우에, 최종 사용자는 디폴트 "비디오 스트리밍 서버"가 제공될 수 있고 이 이벤트에 관한 정보가 제공될 수 있다(즉, 그는 방화벽 뒤에 있고 ICMP 패킷을 차단을 해제해야 한다). 선택적으로, 다른 처리들이 이 문제를 해결하기 위해 자동으로 개시될 수 있다.
"비디오 스트리밍 서버 다운": 이 경우에는, RMI 서버가 비디오 스트리밍 소프트웨어가 동작하는지의 여부를 확인하고 "비디오 스트리밍 서버"가 연결을 수신할 준비가 된 경우 또는 때를 "RMI 클라이언트"에 알려준다. 선택적으로, 단계 4에서, 이 "서버"는 어떤 "비디오 스트리밍 서버"가 "최적"인가를 설정하는 처리로부터 배제될 수 있다.

Claims (18)

  1. 복수의 데이터 제공자들로부터 바람직한 데이터 제공자를 선택하는 시스템에 있어서,
    클라이언트로부터 데이터에 대한 요청을 수신하는 수단과,
    상기 클라이언트로부터 클라이언트 식별 데이터를 수신하는 수단과,
    상기 클라이언트에게 데이터를 제공할 수 있는 복수의 데이터 제공자들을 식별하는 수단과,
    상기 데이터 제공자들에게 상기 클라이언트 식별 데이터를 제공하는 수단과,
    상기 데이터 제공자들에게,
    (ⅰ) 상기 클라이언트에게 테스트 신호를 송신하는 단계와,
    (ⅱ) 상기 클라이언트로부터 리턴 신호를 수신하는 단계와,
    (ⅲ) 상기 테스트 신호의 상기 송신과 상기 리턴 신호의 상기 수신 사이의 일정량의 경과 시간을 얻는 단계와,
    (ⅳ) 상기 경과 시간을 나타내는 신호를 상기 시스템에서 이용가능하도록 하는 단계와,
    (ⅴ) 그 잔여용량을 나타내는 신호를 상기 시스템에서 이용가능하도록 하는 단계를
    실행하는 것을 지시하는 수단과,
    상기 데이터 제공자들로부터 경과 시간 신호들 및 잔여 용량 신호들을 수신 하는 수단과,
    상기 신호들에 기초하여 바람직한 데이터 제공자를 선택하는 수단과,
    상기 클라이언트에게 상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 수단을
    포함하는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  2. 제 1 항에 있어서,
    상기 데이터에 대한 요청을 수신하는 수단은 하나 이상의 특정 아이템들에 대한 요청을 수신하는 수단을 포함하는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  3. 제 2 항에 있어서,
    상기 데이터 제공자들을 식별하는 수단은 요청된 상기 특정 아이템 또는 아이템들을 제공할 수 있는 데이터 제공자들을 탐색하는 수단을 포함하는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 선택 수단은 소정 임계값 이상의 잔여 용량을 갖는 데이터 제공자들로부터 바람직한 데이터 제공자를 선택하도록 구성되는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 데이터 제공자들에게 지시하는 수단은 그들의 잔여 대역폭을 나타내는 신호를 상기 시스템에 이용가능하게 하도록 상기 데이터 제공자들에게 지시하는 수단을 포함하는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 데이터 제공자들에게 지시하는 수단은 상기 클라이언트로부터 원격지에 있는 수단인 것을 특징으로 하는 데이터 제공자 선택 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 수단은 웹 사이트상에 상기 정보를 제공하도록 구성되는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 수단은 상기 바람직한 데이터 제공자의 URL(Uniform Resource Locator)을 제공하도록 구성되는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    소정 표준에 따른 하나 이상의 바람직한 데이터 제공자를 선택할 수 있는 수단과,
    상기 클라이언트에게 각각 바람직한 데이터 제공자의 상기 신원에 관한 정보를 제공하는 수단을
    포함하는 것을 특징으로 하는 데이터 제공자 선택 시스템.
  10. 복수의 데이터 제공자들로부터 바람직한 데이터 제공자를 선택하는 방법에 있어서,
    클라이언트로부터 데이터에 대한 요청을 수신하는 단계와,
    상기 클라이언트로부터 클라이언트 식별 데이터를 수신하는 단계와,
    상기 클라이언트에게 데이터를 제공할 수 있는 복수의 데이터 제공자들을 식별하는 단계와,
    상기 데이터 제공자들에게 상기 클라이언트 식별 데이터를 제공하는 단계와,
    상기 데이터 제공자들에게,
    (ⅰ) 상기 클라이언트에게 테스트 신호를 송신하는 것과,
    (ⅱ) 상기 클라이언트로부터 리턴 신호를 수신하는 것과,
    (ⅲ) 상기 테스트 신호의 상기 송신과 상기 리턴 신호의 상기 수신 사이의 일정량의 경과 시간을 얻는 것과,
    (ⅳ) 상기 시스템에 이용가능한 상기 경과 시간을 나타내는 신호를 만드는 것과,
    (ⅴ) 그 잔여용량을 나타내는 신호를 상기 시스템에서 이용가능하도록 하는 것을
    실행하는 것을 지시하는 단계와,
    상기 데이터 제공자들로부터 경과 시간 신호들 및 잔여 용량 신호들을 수신하는 단계와,
    상기 신호들에 기초하여 바람직한 데이터 제공자를 선택하는 단계와,
    상기 클라이언트에게 상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 단계를
    포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  11. 제 10 항에 있어서,
    상기 데이터에 대한 요청을 수신하는 단계는 하나 이상의 특정 아이템들에 대한 요청을 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  12. 제 11 항에 있어서,
    상기 데이터 제공자들을 식별하는 단계는 요청된 상기 특정 아이템 또는 아이템들을 제공할 수 있는 데이터 제공자들을 탐색하는 단계를 포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  13. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 바람직한 데이터 제공자를 선택하는 단계는 소정 임계값 이상의 잔여 용량을 갖는 데이터 제공자들로부터 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 데이터 제공자들을 지시하는 단계는 그들의 잔여 대역폭을 나타내는 신호를 상기 시스템에 이용가능하게 하도록 상기 데이터 제공자들에게 지시하는 단계를 포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  15. 제 10 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 데이터 제공자들에게 지시하는 단계는 상기 클라이언트로부터 원격지에 있는 수단에 의해 실행되는 것을 특징으로 하는 데이터 제공자 선택 방법.
  16. 제 10 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 바람직한 데이터 제공자의 신원에 관한 정보를 제공하는 단계는 웹 사이트상에 상기 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  17. 제 10 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 바람직한 데이터 제공자의 상기 신원에 관한 정보를 제공하는 단계는 상기 바람직한 데이터 제공자의 URL(Uniform Resource Locator)을 제공하는 단계를 포함하는 것을 특징으로 하는 데이터 제공자 선택 방법.
  18. 제 10 항 내지 제 17 항 중 어느 한 항에 있어서,
    하나 이상의 바람직한 데이터 제공자가 소정 표준에 따라 선택될 수 있고,
    각각 바람직한 데이터 제공자의 신원에 관한 정보는 상기 클라이언트에게 제공될 수 있는 것을 특징으로 하는 데이터 제공자 선택 방법.
KR1020057018146A 2003-08-15 2004-07-30 데이터 제공자를 선택하는 시스템 및 방법 KR101037020B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0319251.5 2003-08-15
GBGB0319251.5A GB0319251D0 (en) 2003-08-15 2003-08-15 System and method for selecting data providers

Publications (2)

Publication Number Publication Date
KR20060057525A true KR20060057525A (ko) 2006-05-26
KR101037020B1 KR101037020B1 (ko) 2011-05-25

Family

ID=28052608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057018146A KR101037020B1 (ko) 2003-08-15 2004-07-30 데이터 제공자를 선택하는 시스템 및 방법

Country Status (8)

Country Link
US (1) US7616582B2 (ko)
EP (1) EP1654838B1 (ko)
JP (1) JP4456113B2 (ko)
KR (1) KR101037020B1 (ko)
CN (1) CN100477614C (ko)
CA (1) CA2517356C (ko)
GB (1) GB0319251D0 (ko)
WO (1) WO2005018158A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100844742B1 (ko) * 2006-08-30 2008-07-07 (주)컴스타 피어투피어 서비스의 신뢰성을 위한 사용자 평판관리 방법
KR20200032812A (ko) * 2018-09-19 2020-03-27 현대자동차주식회사 모바일 데이터 공유를 위한 제어방법 및 그 제어방법을 제공하는 차량

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757892B1 (ko) 2005-12-07 2007-09-11 한국전자통신연구원 소프트웨어 스트리밍 서비스 제공 장치 및 그 방법
KR100813972B1 (ko) * 2006-03-08 2008-03-14 삼성전자주식회사 컨텐츠 스트리밍 클라이언트 장치 및 방법, 그 방법을수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
EP2090074A1 (en) * 2006-11-29 2009-08-19 THOMSON Licensing Contribution aware peer-to-peer live streaming service
US9094416B2 (en) 2006-11-29 2015-07-28 Thomson Licensing Contribution aware peer-to-peer live streaming service
KR20090000281A (ko) * 2007-02-13 2009-01-07 삼성전자주식회사 Ce 기기의 데이터 수신 장치 및 방법, 데이터 재생 방법및 ce 기기
US8825772B2 (en) 2007-06-28 2014-09-02 Voxer Ip Llc System and method for operating a server for real-time communication of time-based media
US20110019662A1 (en) 2007-06-28 2011-01-27 Rebelvox Llc Method for downloading and using a communication application through a web browser
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US9178916B2 (en) 2007-06-28 2015-11-03 Voxer Ip Llc Real-time messaging method and apparatus
US8645477B2 (en) 2009-01-30 2014-02-04 Voxer Ip Llc Progressive messaging apparatus and method capable of supporting near real-time communication
US8533611B2 (en) 2009-08-10 2013-09-10 Voxer Ip Llc Browser enabled communication device for conducting conversations in either a real-time mode, a time-shifted mode, and with the ability to seamlessly shift the conversation between the two modes
US8688789B2 (en) 2009-01-30 2014-04-01 Voxer Ip Llc Progressive messaging apparatus and method capable of supporting near real-time communication
US20100198988A1 (en) 2009-01-30 2010-08-05 Rebelvox Llc Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication
US11095583B2 (en) 2007-06-28 2021-08-17 Voxer Ip Llc Real-time messaging method and apparatus
US7978670B2 (en) * 2007-08-07 2011-07-12 Motorola Solutions, Inc. Method and apparatus to facilitate bandwidth allocation management in integral combination with memory capacity information
US8699678B2 (en) 2007-10-19 2014-04-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8001261B2 (en) 2007-10-19 2011-08-16 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8380874B2 (en) 2007-10-19 2013-02-19 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8250181B2 (en) 2007-10-19 2012-08-21 Voxer Ip Llc Method and apparatus for near real-time synchronization of voice communications
US8782274B2 (en) 2007-10-19 2014-07-15 Voxer Ip Llc Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network
US8090867B2 (en) 2007-10-19 2012-01-03 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US7751362B2 (en) 2007-10-19 2010-07-06 Rebelvox Llc Graceful degradation for voice communication services over wired and wireless networks
US8099512B2 (en) 2007-10-19 2012-01-17 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US8233598B2 (en) 2007-10-19 2012-07-31 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8145780B2 (en) 2007-10-19 2012-03-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8391312B2 (en) 2007-10-19 2013-03-05 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US7751361B2 (en) 2007-10-19 2010-07-06 Rebelvox Llc Graceful degradation for voice communication services over wired and wireless networks
US8682336B2 (en) 2007-10-19 2014-03-25 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8321581B2 (en) 2007-10-19 2012-11-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8111713B2 (en) 2007-10-19 2012-02-07 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8559319B2 (en) 2007-10-19 2013-10-15 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8699383B2 (en) 2007-10-19 2014-04-15 Voxer Ip Llc Method and apparatus for real-time synchronization of voice communications
US8321582B2 (en) 2008-02-08 2012-11-27 Voxer Ip Llc Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode
US8542804B2 (en) 2008-02-08 2013-09-24 Voxer Ip Llc Voice and text mail application for communication devices
US9054912B2 (en) 2008-02-08 2015-06-09 Voxer Ip Llc Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode
US8401583B2 (en) 2008-04-11 2013-03-19 Voxer Ip Llc Time-shifting for push to talk voice communication systems
US8285811B2 (en) * 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections to provide a primary list and sorted sub-lists
US8224899B2 (en) * 2008-04-17 2012-07-17 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US8285810B2 (en) * 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
US8484311B2 (en) * 2008-04-17 2013-07-09 Eloy Technology, Llc Pruning an aggregate media collection
US8296398B2 (en) * 2008-04-29 2012-10-23 Overland Storage, Inc. Peer-to-peer redundant file server system and methods
US8325662B2 (en) 2008-09-17 2012-12-04 Voxer Ip Llc Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves
US20100070490A1 (en) * 2008-09-17 2010-03-18 Eloy Technology, Llc System and method for enhanced smart playlists with aggregated media collections
CN102204349B (zh) * 2008-09-29 2014-12-24 株式会社东芝 多个网络接入点的预先评估
US8484227B2 (en) * 2008-10-15 2013-07-09 Eloy Technology, Llc Caching and synching process for a media sharing system
US8880599B2 (en) 2008-10-15 2014-11-04 Eloy Technology, Llc Collection digest for a media sharing system
US20100114979A1 (en) * 2008-10-28 2010-05-06 Concert Technology Corporation System and method for correlating similar playlists in a media sharing network
US20100138517A1 (en) * 2008-12-02 2010-06-03 At&T Intellectual Property I, L.P. System and method for multimedia content brokering
US8447287B2 (en) 2008-12-05 2013-05-21 Voxer Ip Llc System and method for reducing RF radiation exposure for a user of a mobile communication device by saving transmission containing non time-sensitive media until the user of the mobile communication device is a safe distance away from the user
US8849927B2 (en) 2009-01-30 2014-09-30 Voxer Ip Llc Method for implementing real-time voice messaging on a server node
US9014832B2 (en) 2009-02-02 2015-04-21 Eloy Technology, Llc Augmenting media content in a media sharing group
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
CN101909283B (zh) * 2009-06-04 2013-06-12 中兴通讯股份有限公司 一种m2m平台及大容量下载的负荷分担实现方法
US9237387B2 (en) 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US8972346B2 (en) * 2009-12-11 2015-03-03 International Business Machines Corporation Method and system for minimizing synchronization efforts of parallel database systems
US9401813B2 (en) * 2009-12-29 2016-07-26 Iheartmedia Management Services, Inc. Media stream monitor
US20120117110A1 (en) 2010-09-29 2012-05-10 Eloy Technology, Llc Dynamic location-based media collection aggregation
CN102148752B (zh) * 2010-12-22 2014-03-12 华为技术有限公司 基于内容分发网络的路由实现方法及相关设备、系统
KR20120096314A (ko) * 2011-02-22 2012-08-30 한국전자통신연구원 가상 네트워크 구성장치 및 그 방법
US9219761B2 (en) 2011-10-07 2015-12-22 Karl-Erik Ståhl Device, software module or system for global real-time telecommunication
CN103123640A (zh) * 2012-02-22 2013-05-29 深圳市谷古科技有限公司 一种小说的搜索方法和装置
CN103379167A (zh) * 2012-04-28 2013-10-30 鸿富锦精密工业(深圳)有限公司 多点同步存储的文件下载异常处理系统及方法
CN103974136B (zh) * 2013-02-04 2017-06-06 周成 Web服务器和浏览器协同管理远端视频服务器的方法
US20150213465A1 (en) * 2013-03-15 2015-07-30 Commerce Signals, Inc. Systems and Methods for Identity Management
US10205769B2 (en) * 2013-05-31 2019-02-12 Itron, Inc. Distributed applications across platforms
US9342288B2 (en) 2013-05-31 2016-05-17 Itron, Inc. Surfacing cross platform applications
US11328344B2 (en) 2013-05-31 2022-05-10 Itron, Inc. Utility application delivery platform
CN103686447B (zh) * 2013-12-20 2017-12-08 广东威创视讯科技股份有限公司 视频传输方法和系统
US11042357B2 (en) * 2014-06-17 2021-06-22 Microsoft Technology Licensing, Llc Server and method for ranking data sources
CN109417568A (zh) * 2016-05-16 2019-03-01 乐威指南公司 用于在用户设备处基于服务质量呈现媒体列表的方法和系统
US10341739B2 (en) 2016-05-16 2019-07-02 Rovi Guides, Inc. Methods and systems for recommending providers of media content to users viewing over-the-top content based on quality of service
EP3841794A1 (en) * 2018-08-23 2021-06-30 British Telecommunications public limited company Mobile network operator selection
CN113810220B (zh) * 2021-08-02 2024-06-07 华翔翔能科技股份有限公司 一种通过网络远程维护客户机的方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953350A (en) * 1995-03-13 1999-09-14 Selsius Systems, Inc. Multimedia client for multimedia/hybrid network
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
JP2947181B2 (ja) * 1996-09-10 1999-09-13 日本電気株式会社 ループバックセル制御システム
US6016307A (en) * 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6038599A (en) 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6028928A (en) * 1997-09-26 2000-02-22 Mullaney; Julian Sean Telephone subscriber line module
US6452922B1 (en) 1998-06-19 2002-09-17 Nortel Networks Limited Method and apparatus for fallback routing of voice over internet protocol call
US6600725B1 (en) * 1998-12-16 2003-07-29 At&T Corp. Apparatus and method for providing multimedia conferencing services with selective information services
US6590869B1 (en) * 1999-03-11 2003-07-08 Siemens Information & Communication Networks, Inc. Method and apparatus for selecting whether to place a call over the internet or the PSTN using a two tiered process
US6477522B1 (en) 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US6711135B1 (en) * 1999-10-07 2004-03-23 General Instrument Corporation HFC access network management system
US6704288B1 (en) * 1999-10-07 2004-03-09 General Instrument Corporation Arrangement for discovering the topology of an HFC access network
GB0028113D0 (en) 2000-05-15 2001-01-03 Band X Ltd Communication system and method
EP1290853A2 (en) * 2000-05-26 2003-03-12 Akamai Technologies, Inc. Global load balancing across mirrored data centers
JP2002007749A (ja) * 2000-06-27 2002-01-11 Hitachi Ltd サーバ振り分け装置、サービス提供システム及びサービス提供方法
JP2002232573A (ja) * 2001-01-31 2002-08-16 Nec Corp 移動通信端末、移動通信システム及びサービス提供装置
WO2002079905A2 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
DE10125017A1 (de) 2001-05-22 2002-12-05 Siemens Ag Verfahren zum Erbringen von Diensten in einem Datenübertragungsnetz und zugehörige Komponenten

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100844742B1 (ko) * 2006-08-30 2008-07-07 (주)컴스타 피어투피어 서비스의 신뢰성을 위한 사용자 평판관리 방법
KR20200032812A (ko) * 2018-09-19 2020-03-27 현대자동차주식회사 모바일 데이터 공유를 위한 제어방법 및 그 제어방법을 제공하는 차량

Also Published As

Publication number Publication date
EP1654838A1 (en) 2006-05-10
JP4456113B2 (ja) 2010-04-28
CA2517356C (en) 2012-04-10
CA2517356A1 (en) 2005-02-24
KR101037020B1 (ko) 2011-05-25
CN1795641A (zh) 2006-06-28
GB0319251D0 (en) 2003-09-17
WO2005018158A1 (en) 2005-02-24
CN100477614C (zh) 2009-04-08
JP2007502560A (ja) 2007-02-08
EP1654838B1 (en) 2012-10-24
US20060245367A1 (en) 2006-11-02
US7616582B2 (en) 2009-11-10

Similar Documents

Publication Publication Date Title
KR101037020B1 (ko) 데이터 제공자를 선택하는 시스템 및 방법
JP4002584B2 (ja) ストリーミング・データの送信及びダウンロード方法
US7299291B1 (en) Client-side method for identifying an optimum server
EP1876758B1 (en) Method for probing the peer-to-peer quality of service (QOS)
JP4113115B2 (ja) 移動機通信システムおよび通信方法
US20180355154A1 (en) System and devices facilitating dynamic network link acceleration
EP0990205B1 (en) System and method for server-side optimization of data delivery on a distributed computer network
KR100741463B1 (ko) 통신 네트워크에서의 방법 및 장치
US7844708B2 (en) Method and apparatus for load sharing and data distribution in servers
US20060002425A1 (en) Determining available bandwidth in a network
Korkea-aho Scalability in Distributed Multimedia Systems
Wong Enhancing collaborative content delivery with helpers
Keizer et al. Rewarding relays for decentralised nat traversal using smart contracts
JP2005011267A (ja) リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法
Conti et al. Replicated web services: A comparative analysis of client-based content delivery policies
KR20080046900A (ko) 통합 보안 모듈을 탑재한 부하 분산 장치를 이용한 부하 분산 시스템 및 방법
Roccetti et al. The structuring of a wireless internet application for a music-on-demand service on UMST devices
Yang et al. Hotspot avoidance for P2P streaming distribution application: a game theoretic approach
KR20020068234A (ko) P2p 서비스 시스템 및 방법
O'Daniel Http 1.2: Distributed HTTP for Load Balancing Server Systems
Chi et al. Server-assisted bandwidth negotiation mechanism for parallel segment retrieval of web objects
Wundsam Connection Sharing in Community Networks
Pathak et al. Measuring and Optimizing TCP Splitting for Cloud Services
Uemura et al. A DHT-based HTTP access control system with access ticket issuing mechanism

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140508

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150507

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160504

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190508

Year of fee payment: 9