KR101444987B1 - 투명 능력을 구비한 적응형 파일 전달 시스템 및 방법 - Google Patents

투명 능력을 구비한 적응형 파일 전달 시스템 및 방법 Download PDF

Info

Publication number
KR101444987B1
KR101444987B1 KR1020117002772A KR20117002772A KR101444987B1 KR 101444987 B1 KR101444987 B1 KR 101444987B1 KR 1020117002772 A KR1020117002772 A KR 1020117002772A KR 20117002772 A KR20117002772 A KR 20117002772A KR 101444987 B1 KR101444987 B1 KR 101444987B1
Authority
KR
South Korea
Prior art keywords
receiving system
file
network
transmission
segment
Prior art date
Application number
KR1020117002772A
Other languages
English (en)
Other versions
KR20110046461A (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 KR20110046461A publication Critical patent/KR20110046461A/ko
Application granted granted Critical
Publication of KR101444987B1 publication Critical patent/KR101444987B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
    • H04L1/0038Blind format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 각각 서로 다른 기간 동안 전송되는 세그먼트들 내에서 네트워크 또는 네트워크의 집합을 통해 오디오-비디오 파일과 같은 데이터 파일을 전송하는 적응형 파일 전달 시스템 및 방법에 관한 것이다. 각각의 기간은 그 연관된 파일 세그먼트를 전송하기 위한 전송 부분 및 상기 전송된 세그먼트와 관련하여 네트워크와 어떠한 추가의 상호 작용도 발생하지 않는 대기 부분을 갖는다. 몇몇 구현들에서, 각각의 기간 중 전송 부분의 지속 시간은 안정-상태 스루풋 조건에 도달하기에 충분하며, 이는 네트워크 또는 네트워크들의 트래픽 로드 상태가 파일 세그먼트 전송들의 레이트 측정들로부터 결정되도록 한다. 각각의 기간 중 대기 부분의 지속시간은 전체 파일이 미리 결정된 전달 데드라인 내에 전달되도록 하면서 네트워크 트래픽 변형들을 따르기 위해 파일 세그먼트 전송의 평균 레이트를 제한하기에 충분히 길다.

Description

투명 능력을 구비한 적응형 파일 전달 시스템 및 방법{ADAPTIVE FILE DELIVERY WITH TRANSPARENCY CAPABILITY SYSTEM AND METHOD}
본 발명은 일반적으로 컴퓨터 네트워크들에 관한 것이고, 특히 상기 네트워크들을 통한 파일 전송에 관한 것이다.
인터넷 및 광대역 네트워크들(WANs)과 같은 네트워크들은 파일 전송 서비스들과 같은 서비스들을 제공하기 위해 설치된 상당한 양의 장비를 갖는다. 상기 설치된 장비의 용량에 기초하여, 상기 네트워크들에 큰(sizable) 영향을 주지 않고 종래의 전송 방법들을 사용하여 어느 정도 크기의 파일들이 상기 네트워크들을 통해 효율적으로 전송될 수 있다.
파일 전송 서비스들을 포함하는 다른 바람직한 시나리오들은 전송될 대규모 파일들 및/또는 상당한 크기의 파일들의 대규모 멀티캐스팅을 사용하여 분배 요구들 때문에 종래의 파일 전송 방법들에 의해 대부분 회피되고 있다. 상기 대형 파일 사이즈들의 예는 대형 포맷 고해상도 오디오-비디오 또는 전자 게임 파일들을 포함할 수 있다. 현재 장비 기반에서, 유선(디지털 가입자선(DSL), 케이블, 전력선), 파이버(fiber), 무선, 위성 및 셀룰러 타입을 포함하지만 이에 제한되지 않는 인터넷 또는 WAN들과 같은 네트워크들에 대한 종래의 방법들을 사용하는 대형 크기 파일들의 전송들은 특히, 자주 수행되는 경우에, 상기 네트워크들에 상당한 영향을 미칠 수 있고, 따라서 실용적이거나 가능하면 실행가능한 것으로 보이지 않는다. 종래의 해결책들은 피크 트래픽 요구들을 만족하기 위해 확장하는 네트워크 전송 용량들에 집중하고 있다.
불행하게도, 상기 종래의 해결책들은 막대한 자원 및 자금의 지출을 필요로 하며, 따라서 대부분 의심스러운 선택들로 남아있다.
도 1은 적응형 파일 전달 시스템의 예시적인 구현을 일반적으로 표시하는 개략도이다.
도 2는 도 1의 적응형 파일 전달 시스템에 의해 사용되는 방법들의 예시적인 구현을 도시하는 상호작용 다이어그램이다.
도 3은 적응형 파일 전달 시스템의 예시적인 구현들의 제 1 집합을 도시하는 개략도이다.
도 4는 적응형 파일 전달 시스템의 예시적인 구현들의 제 2 집합을 도시하는 개략도이다.
도 5는 개시된 송신 시스템으로서 적응형 파일 전달 시스템의 구현을 도시하는 상호작용 다이어그램이다.
도 6은 사용자가 브라우징하는 적응형 파일 전달 시스템의 구현을 도시하는 개략도이다.
도 7은 사용자가 편집하는 도 6의 구현의 개략도이다.
도 8은 사용자가 파일 선택하는 도 6의 구현의 개략도이다.
도 9는 사용자가 우선순위를 결정하는 도 6의 구현의 개략도이다.
도 10은 데드라인 계산을 사용하는 도 6의 구현의 개략도이다.
도 11은 상태 디스플레이 및 사용자 상호작용을 사용하는 도 6의 구현의 개략도이다.
도 12는 사용자가 파일 주문하는 적응형 파일 전달 시스템의 구현의 개략도이다.
도 13은 주문된 파일들의 전송을 사용하는 도 12의 적응형 파일 전달 시스템의 구현의 개략도이다.
도 14는 파일 재생의 세부사항들을 도시하는 도 12의 적응형 파일 전달 시스템의 구현의 개략도이다.
도 15는 암호화된 파일들을 가진 적응형 파일 전달 시스템의 구현의 개략도이며, 질의 단계를 도시한다.
도 16은 암호화된 파일의 전송을 도시하는 도 15의 적응형 파일 전달 시스템의 구현의 개략도이다.
도 17은 액세스 요청 및 액세스 거부를 도시하는 도 15의 적응형 파일 전달 시스템의 구현의 개략도이다.
도 18은 액세스 요청 및 액세스 허용을 도시하는 도 15의 적응형 파일 전달 시스템의 구현의 개략도이다.
도 19는 파일 재생의 세부사항들을 도시하는 도 15의 적응형 파일 전달 시스템의 구현의 개략도이다.
도 20은 파일들의 사전 로딩을 도시하는 적응형 파일 전달 시스템의 구현의 개략도이다.
도 21은 전송 양상들을 도시하는 적응형 파일 전달 시스템의 구현의 개략도이다.
도 22는 네트워크 양상들을 도시하는 적응형 파일 전달 시스템의 구현의 개략도이다.
본 명세서 내에서 논의되는 것과 같이, 적응형 파일 전달 시스템 및 방법은 각각의 세그먼트가 서로 다른 기간 동안 전송되는 세그먼트들 내에 하나의 네트워크 또는 네트워크들의 집합을 통해 오디오-비디오 파일과 같은 데이터 파일을 전송한다. 각각의 기간은 그 연관된 파일 세그먼트를 전송하기 위한 전송 부분 및 전송된 세그먼트에 관하여 네트워크와의 추가의 상호작용이 발생하지 않는 대기 부분을 갖는다. 몇몇 구현들에서, 각각의 기간의 전송 부분의 지속 기간은 안정-상태 스루풋 상태에 도달하기에 충분하며, 네트워크 또는 네트워크들의 트래픽 로드 상태가 파일 세그먼트 전송들의 레이트 측정치들로부터 결정되도록 한다. 각각의 기간의 대기 부분의 지속 기간은 적어도 미리 결정된 전송 데드라인 내에 전체 파일이 전송되도록 하면서 네트워크 트래픽 로드 변화들을 수용하는 효율적인 레이트의 파일 세그먼트 전송을 제공하기에 충분히 길다.
일반적으로, 대량의 사용자 집단을 가진 네트워크들은 어느 정도 매일, 매주, 매년 주기적으로 규칙적인 피크 혼잡 주기들을 경험한다. 상기 피크 주기들에 따라 네트워크들을 설계하는 것은 트래픽 공학 분야이다. 네트워크 설계자들은 상기 예외적인 동작 주기 동안 로드를 적절히 처리하기 위한 네트워크 자원들을 구성하기 위해 피크 혼잡에 집중해야 한다. 불행하게도, 이는 네트워크들이 충분히 사용되지 못하는 시간에서 큰 갭들이 존재하는 것을 의미한다.
추가로, 데이터 애플리케이션들에서, 소스와 목적지 사이에 사용가능한 대역폭의 양과 정보를 전송하기 위해 걸리는 시간 사이에 트레이드 오프 관계가 있다. 다수의 애플리케이션들에 대하여, 정보의 요청 및 전달 사이에 실시간 또는 준-실시간(near-real-time) 레이턴시의 가능성이 있다. 예를 들어, 개인 컴퓨터(PC) 사용자가 웹 어드레스를 입력하면, 그 페이지가 수초 또는 그 전에 검색될 수 있다. 유사하게, 대용량 메일 전송을 위해, 요청이 수행되면, 네트워크는 네트워크를 전송할 수 있는 피크 레이트로 동작을 완료할 것으로 예상된다. 그러나, 전달 데드라인이 몇 시간 또는 몇일을 넘는 준-실시간 애플리케이션들에 대하여, 데이터 전송 레이트는 현저하게 감소할 수 있다.
적응형 파일 전달 시스템 및 방법은 최소 네트워크 활동기간 동안 대용량 포맷 고해상도 오디오-비디오 및 다른 미디어 파일들과 같은 대용량 파일들의 전송에 대한 선택적인 스케줄링을 제공한다. 전송 시간을 확대함으로써, 대량의 정보에 대한 효율적인 전송은 송신자와 수신자를 연결하는 현재 네트워크들에 아주 적은 영향을 미치거나 영향 없이 수행될 수 있다. 적응형 파일 전달 시스템은 다수의 사용자들이 한번에 온라인에서 활동할 때 생성되는 네트워크 피크들을 평활하게 하면서(smoothing) 대용량 파일 전송을 지원한다. 적응형 파일 전달 시스템 및 방법은 또한 전송 요구조건들에 따라 스케일링 될 수 있다.
적응형 파일 전달 시스템은 대용량 파일들을 전송하는데 있어 네트워크 영향들을 감소시키고, 다른 네트워크 트래픽에 의해 생성되는 혼잡에 신속하게 응답하고, 전달 데드라인들을 유지하기 위해 전송 레이트들을 조정하며, 및 최악의 네트워크 모델 시나리오들에 영향을 주지 않고 다수의 수신 시스템들 및 송신 시스템들로 스케일링하는데 기여한다.
도 1에 도시된 적응형 파일 전달 시스템(100)은 모두 네트워크(106)에 통신 연결된 송신 시스템(102) 및 수신 시스템(104)을 포함한다. 송신 시스템(102)은 파이버, 유선, 무선 수단들을 통해 네트워크(106)에 접속된, 서버들, 데이터 베이스들, 저장 유니트들, 라우터들, 스위치들, 파이어월들 또는 다른 디바이스들과 같은 컴퓨터 시스템 또는 다수의 나란히 배치되거나(collocated) 분배된 컴퓨터 시스템들로 구성될 수 있다. 수신 시스템(104)은 개인 휴대 정보 단말기(PDA), 휴대용 오디오-비디오 플레이어, 셀룰러폰과 같은 셀룰러 통신 디바이스 또는 특정 하드웨어 유니트와 같은 DVR, PC, 네트워크 저장 유니트, 클라이언트 워크 스테이션, 텔레비전 셋톱 박스, 모뎀, 게이트웨이 또는 다른 디바이스들과 나란히 배치될 수 있다. 수신 시스템(104)은 파이버, 유선, 무선 수단들을 통해 네트워크(106)에 접속될 수 있다. 네트워크(106)는 유선(DSL, 케이블, 전력선), 파이버, 무선 위성 및 셀룰러 타입 네트워크들을 포함하지만 이에 제한되지 않는 WAN들과 같은 인터넷 또는 다른 네트워크들로부터의 하나 이상의 네트워크 컴포넌트들을 포함할 수 있다. 네트워크(106)는 모뎀들, 라우터들, 브리지들, 게이트웨이들, 네트워크 인터페이스들, 케이블 전송들, 유선 전송들, 근거리 네트워크들(LANs), 액세스 네트워크들, 제공자 네트워크들 및 피어-투-피어 배치들을 포함하지만 이에 제한되지 않는 다른 네트워크 컴포넌트들을 포함할 수 있다. 송신 시스템(102)은 도 1에서 네트워크(106)를 통해 수신 시스템(104)에 파일 세그먼트(108)를 전송하는 것으로 도시된다. 송신 시스템(102)은 네트워크(106), 프로세서(112) 및 상기 네트워크를 통해 수신 시스템(104)으로 전송될 파일(116)을 포함하고, 적응형 파일 전달 방법들을 실행하기 위한 명령을 가진 하나 이상의 모듈들을 포함하는 저장장치(114)에 액세스하기 위한 인터페이스(110)를 포함한다. 수신 시스템(104)은 네트워크(106)로 액세스하기 위한 인터페이스(118), 프로세서(120) 및 송신 시스템(102)으로부터 수신된 파일(116)의 부분들의 카피들을 저장하고, 적응형 파일 전달 방법들과 관련된 명령들을 실행하기 위한 하나 이상의 모듈들을 저장하기 위한 저장장치(122)를 포함한다. 수신 시스템(104)은 예컨대, 다수의 최종 사용자들과 지리적으로 인접하게 컨텐츠를 분배하기 위한 캐싱 모드로서 작용하도록 최종 사용자의 위치에 배치되거나 몇몇 중간 네트워크 위치에 배치될 수 있다.
파일 세그먼트(108)는 파일(116)의 일부분의 카피이다. 송신 시스템(102)은 상기 파일 카피를 도 1에 도시된 세그먼트(108)를 포함하는 것과 같은 다수의 세그먼트들로 분해함으로써 파일(116)의 카피를 수신 시스템(104)으로 전송한다. 다수의 세그먼트들은 수신 시스템(104)이 파일(116)의 전체 카피를 수신할 때까지 한번에 하나씩 네트워크(106)를 통해 전송된다. 각각의 세그먼트는 다수의 기간들 중 서로 다른 기간에 전송될 수 있다.
기간들은 각각 파일 세그먼트들 중 하나가 전송되는 전송 부분 및 파일 세그먼트들 중 어느 것도 전송되지 않는 대기 부분을 갖는다. 대기 부분들은 전송 부분들을 효율적으로 이격시킴으로써 파일 세그먼트들이 세그먼트들의 연속하는 스트림으로서 전송된 경우보다 상당히 더 긴 기간에 걸쳐 전송되도록 할 수 있다. 상기 기간들의 전송 부분들은 대량의 파일들의 전송과 연관된 네트워크(106)의 트래픽 로드에 대한 유해한 영향을 상당히 줄일 수 있도록 이격된다. 하기에서 추가로 설명되는 접근 방식들에 기초하여, 더 큰 사이즈의 파일 세그먼트들 및/또는 더 많은 개수의 파일 세그먼트들은 네트워크(106)에 대한 트래픽 로드가 상당히 심할 때보다 네트워크(106)에 대한 트래픽 로드가 상당히 적을 때 전송된다. 경미한 네트워크 트래픽 주기들을 적어도 부분적으로 사용함으로써, 대량의 파일들은 네트워크(106)의 트래픽 로드에 대한 유해한 영향이 감소되어 전송될 수 있다.
몇몇 구현들에서, 수신 시스템(104)의 사용자는 연관된 전달 데드라인 및 개별 컨텐츠 파일들에 대한 다수의 유사한 파일 요청들 사이의 우선순위를 가지는 파일을 송신 시스템(102)에 요청하기 위해 도면의 사용자 인터페이스를 사용한다. 상기 요청을 통해, 송신 시스템(102) 및 수신 시스템(104)에는 수신 시스템이 요청된 파일을 수신하기 위한 권한을 가지는 것이 통지되고, 전송 구성 세부사항들이 통지된다. 적응형 파일 전달과 함께 발생하는 이벤트들의 일부에 대한 개략은 하기에 포함되지만, 반드시 하기의 순서를 따르는 것은 아니다: (1) 수신 시스템(104)은 파일을 요청한다, (2) 송신 시스템(102)은 요청된 파일의 전송을 위한 권한을 찾아 획득하고, 몇몇 구현들에서 디지털 저작권 관리(DRM) 라이센스를 획득한다, (3) 송신 시스템의 적응형 파일 전달 모듈 또는 모듈들은 전달 데드라인, 클라이언트 LAN 유휴-스케줄을 포함하는 클라이언트 프로파일, 제공자 네트워크(106) 유휴-스케줄, 파일 사이즈 등등과 같은 전송 세부사항들을 획득한다, (4) 수신 시스템의 적응형 파일 전달 모듈 또는 모듈들은 송신 시스템의 식별자, 파일 사이즈 등등과 같은 전송 세부사항들을 획득한다, (5) 송신 시스템은 요청된 전달 데드라인을 충족시키기 위해 필요한 최소 전송 레이트 및 파일의 세그먼트들의 전송을 위해 허용가능한 최대 레이트를 계산한다. 몇몇 구현들은 서버로서의 송신 시스템(102)과 클라이언트로서의 수신 시스템(104) 사이의 표준 클라이언트/서버 TCP/IP 또는 UDP/IP 상호작용들에 기초한다.
예시적인 적응형 파일 전달 방법(130)이 도 2에 도시되며, 수신 시스템(104)은 파일 요청 및 전달 데드라인, Td을 송신 시스템(102)에 전송한다(단계 132). 도 2에 도시된 것과 같은 시간의 통행(passage)은 하향 수직 방향을 따르지만, 상기 시간의 통행이 도 2에서 스케일링하는 것으로 도시되지 않는다. 일반적으로, 전송 주기들 중 대기 부분들과 연관된 기간들, W_j 및 전송 주기들 중 세그먼트 전송 부분들과 연관된 기간들, dT_j은 상대적으로 상당한 양의 시간이 경과할 것을 요구한다. 도 2에서 도시된 다른 활동들은 상대적으로 상당한 양의 시간이 걸리는 것으로 보여질 수 있지만, 상기 다른 활동들은 일반적으로 상대적으로 작은 양의 시간이 걸리며, 상기 다른 활동들을 상대적으로 상당한 기간들이 걸리는 것으로 디스플레이하기 위한 목적보다는 도면 형태의 제한들로 인한 활동들을 디스플레이할 때 편리함을 위해 도 2의 수직축을 따라 추가의 공간이 할당된다.
전달 데드라인, Td은 일반적으로 수신 시스템(104)의 사용자가 수신 시스템이 파일(116)의 모든 세그먼트들을 수신할 것을 희망할 때까지의 시간이다. 몇몇 구현들에서, 전달 데드라인, Td은 시스템(100)에 의해 특정 기간(예컨대, 파일이 처음 요청되거나 전송되기 시작하는 시간 또는 다른 시간으로부터 수시간 또는 수일)인 것으로 계산될 수 있고, 그 결과 파일의 전체 전송 레이트를 특정한 혼잡 기간들 동안 경험되거나 다른 네트워크 활동 기간들 동안 경험된 네트워크의 용량 미만과 같이 네트워크(106)의 전체 평가되거나 경험된 최소 용량 미만인 레벨로 효율적으로 감소시킬 수 있다. 수신 시스템(104)은 그 후에 제 1 파일 세그먼트가 송신 시스템에 의해 송신될 것을 요구하는 요청으로서 작용하는 초기 확인응답을 송신 시스템(102)에 전송한다(단계 134). 수신 시스템(104)으로부터 초기 확인응답을 수신하면, 송신 시스템(102)은 제 1 최대 세그먼트 전송 레이트 제한치, Rmax1 및 제 1 최소 세그먼트 전송 레이트 제한치, Rmin_1를 결정한다(단계 136).
일반적으로, 최소 세그먼트 전송 레이트 제한치, Rmin는 2개의 인자들에 기초하여 송신 시스템(102)에 의해 결정된다. 제 1 인자는 송신 시스템(102)에 의해 수신 시스템(104)에 아직 전송되지 않은 파일(116)의 나머지 부분의 파일 사이즈, Xrem이다. 제 2 인자는 현재 결정 시간, Tnow 및 전달 데드라인 시간, Td 사이에 송신 시스템(102)으로부터 수신 시스템(104)으로 파일 세그먼트들을 전송하는데 사용가능한 나머지 시간량이다. 사용가능한 나머지 시간량은 적응형 파일 전달이 세그먼트 전송을 위한 네트워크(106) 및/또는 송신 시스템(102) 및/또는 수신 시스템(102)의 사용불가능성으로 인해 특정 파일 전송 동안 구성가능한 더 낮은 전송 레이트 임계치(0 또는 더 높은)를 초과하여 발생할 수 없을 때 공지된 미리 결정된 시간량, Tunavail 까지 감소될 수 있다.
상기 사용불가능한 기간들, Tunavail은 일반적으로 네트워크(106) 및/또는 송신 시스템(102)을 위한 사용(busy) 주기들일 수 있다. 사용 불가능한 기간들, Tunavail은 송신 시스템(102) 및/또는 수신 시스템(104)의 프로파일들로 사전 구성될 수 있다. 선택적으로, 사용 불가능한 기간들 Tunavail은 적응형 파일 전달 전송들을 포함하는 이전 전송들의 히스토리컬(historical) 데이터를 검사함으로써 송신 시스템(102) 및/또는 수신 시스템(104)에 의해 결정될 수 있다. 예를 들어, 적응형 파일 전달의 j번째 세그먼트 전송들 중 하나 이상의 전송들에 대하여 실제 세그먼트 전송 레이트들 R_j과 관련된 히스토리컬 데이터는 송신 시스템(102) 및/또는 수신 시스템(104) 및/또는 네트워크(106)에 대한 사용 시간들을 결정하기 위해 검사될 수 있다.
예를 들어, 수신 시스템(104)의 사용자는 적응형 파일 전달과는 다른 수신 시스템을 위한 작업들에 대한 사용자 요구조건들이 평일 오전 9시부터 오전 11시까지 시간들 동안 수신 시스템과 가까운 네트워크(106)의 일부분으로부터 최대 성능을 필요로 하는 경우에 매 평일 오전 9시부터 오전 11시까지의 특정 기간 동안 적응형 파일 전달을 차단하기를 원할 수 있다. 차단된 주기 동안, 수신 시스템(104)의 사용자는 전송이 상기 차단된 주기 동안 Rmin_j 미만의 레이트와 같은 몇몇 최소 기본(background) 레이트로 진행하도록 허용되었는지를 표시하도록 수신 시스템의 프로파일을 구성할 수 있다. 선택적으로, 사용자는 상기 차단된 주기 동안 임의의 적응형 파일 전달을 수신하지 않도록 수신 시스템(104)의 프로파일을 구성할 수 있다. 수신 시스템(104)의 사용자가 상기 사용자가 수신 시스템이 파일 세그먼트들을 수신하는 것을 원하지 않는 기간을 규정하지 않으면, 수신 시스템은 사용 주기들, 세그먼트 전송 레이트들의 변형 등등과 같은 사항들에 대하여 수신 시스템에 인접하는 네트워크(106)의 하나 이상의 부분들 및 상기 수신 시스템의 사용을 모니터함으로써 차단 주기들을 인식할 수 있다. 유사하게, 액세스 네트워크 제공자는 만약 상기 제공자의 네트워크가 사용중이거나 관련없는 트래픽을 가진 용량과 인접하면 매일 특정 사용 기간들 동안 적응형 파일 전달을 차단하기를 원할 수 있다. 상기 제공자는 또한 최소 기초 레이트를 집합시키기 위해 네트워크를 통해 다수의 적응형 파일 전달 작업들을 제한하기를 원할 수 있다.
신중한 측정은 실제 실행이 예상된 것보다 더 유리한 조건들을 가지는 경우에 송신 시스템(102)이 각각의 최소 전송 레이트, Rmin_j에 대한 값이 요청된 전달 데드라인, Td를 만족하는데 필요한 것보다 큰 것을 신중하게 결정할 수 있도록 보장할 것이다. 이는 Rmin_j의 계산들이 일반적으로 나머지 파일 사이즈 및 임의의 예상된 유휴 주기들에 기초하여 적응형 파일 전달의 "적시의(just in time)" 완료를 전제로 하는 신중한 접근 방식에 의해 이해된다.
네트워크(106)가 신중한 Rmin_j 결정들로 분해되지 않는 잔여 성능을 가질 수 있으면, 적응형 파일 전달은 적응형 파일 전달에 연관된 모든 Rmin_j의 평균 레이트로만 수행되는 세그먼트 전송들에 기초한 평가들보다 빠르게 진행할 수 있다. 결과적으로 다양한 대량의 파일들의 다수의 실제 전송들이 조기에 끝날 수 있다. Rmin_j를 평가하는 신중한 접근 방식을 사용하는 것은 예상하지 못한 네트워크 혼잡에 대한 시간 버퍼를 제공하며, 요청된 전달 데드라인, Td 까지 적응형 파일 전달을 완료하는 예상을 유지한다. 만약 예상치 못한 혼잡으로 인해, 전송이 최소 레이트 스케줄보다 늦어지면, 적응형 파일 전달 방법들은 전달 데드라인 접근 방식들로서 각각의 연속하는 j번째 세그먼트 전송 이후에 최소 전송 레이트 Rmin_j를 점진적으로 증가시킴으로써 자동으로 보충할 수 있다. 상기 연속하는 최소 전송 레이트들, Rmin_j의 점진적인 증가는 스케줄에 맞는 작업 또는 스케줄보다 앞선 작업들보다 늦은 작업들을 선호하도록 우선순위들을 조정하는 친절한 방식이다. Rmin_j는 파일 세그먼트가 송신 시스템으로부터 수신시스템으로 전송될 때마다 송신 시스템(102)에 의해, 또는 선택적인 구현들에서 수신 시스템(104)에 의해 계산된다.
j번째 전송에 대한 Rmin의 결정을 위한 예시적인 식은 하기와 같다:
(1) Rmin_j=Xrem_j/(Td-Tnow_j-Tunaval_j).
몇몇 구현들에서, 송신 시스템(102)은 임의의 지연 이벤트들이 네트워크(106) 상에서 발생하는지의 여부에 따라 요청된 전달 데드 라인과 동일하거나, 더 빠르거나, 더 늦을 수 있는 평가된 전달 시간으로 업데이트들을 전송할 수 있다. 수신 시스템(104)이 추정된 전달 시간과 관련하여 업데이트 되도록 하는 실제 결과는 상기 평가된 전달 시간과 관련하여 수신 시스템의 사용자에 의한 질의들의 개수를 감소시키는 것이다.
일반적으로, 최대 세그먼트 전송 레이트 제한치, Rmax는 최소 세그먼트 전송 레이트 제한치, Rmin 보다 또 다른 전송 작업에 할당되지 않은 송신 시스템(102)의 임의의 추가의 잔여 전송 용량을 포함하여 다수의 가능한 인자들 중 하나 이상에 따라 결정되는 양만큼 크다. Rmax에 영향을 주기 위해 사용될 수 있는 다른 가능한 인자들은 네트워크 제공자와의 서비스 동의에 의해 결정된 사용자로의 최대 허용된 전송 레이트, 이전 세그먼트의 실제 측정된 레이트 또는 이전 N개 세그먼트들의 평균 레이트, 사전-구성된 액세스 네트워크 제공자 프로파일들 등등을 포함할 수 있다. 따라서, 최대 세그먼트 전송 레이트 제한치, Rmax는 3개의 인자들에 기초하여 송신 시스템(102)에 의해 결정된다.
제 1 인자는 이미 결정된 최소 세그먼트 전송 레이트 제한치, Rmin이다. 제 2 인자는 송신 시스템(102)의 최대 전송 레이트 용량, Rcap이다. 송신 시스템(102)의 최대 전송 용량은 송신 시스템의 인터페이스(110)의 전송 대역폭 용량등에 의해 영향받는다.
제 3 인자는 송신 시스템(102)이 파일(116)을 수신 시스템(104)으로 전송하기 위한 현재 작업뿐만 아니라, 상기 파일(116)이 전송될 시간 범위 동안 또 다른 파일의 적어도 일부분을 수신 시스템(104) 또는 임의의 다른 수신 시스템들로 전송하기 위해 송신 시스템에 의해 수행된 다른 파일 전송 작업들에 대한 임의의 다른 실제 작업들을 고려한다. 상기 다른 작업들의 개수는 "Q-1"로 표현될 수 있으며, 따라서 개수 Q는 파일(116) 전송 작업을 포함하는 모든 실제 전송 작업들을 포함한다.
하나의 접근 방식은 송신 시스템(102)의 임의의 잔여 전송 용량이 Q 전송 작업들 사이에서 동등하게 할당될 것이라고 가정한다. 상기 접근 방식에 의해 파일(116) 전송 작업에 할당된 전송 잔여량은 Rcap/Q 및 Q 전송 작업들의 최소 세그먼트 전송 레이트 제한치들의 평균, <Rmin> 간의 차이가 될 수 있다. 평균 <Rmin>은 Sum(Rmin)/Q로 표현될 수 있고, 상기 Sum(Rmin)은 Q 전송 작업들에 대한 다양한 최소 세그먼트 전송 레이트 제한치들의 합을 표시한다.
파일(116) 전송 작업의 j번째 세그먼트 전송에 대한 최대 세그먼트 전송 레이트 제한치, Rmax의 결정을 위한 예시적인 식은 하기와 같다:
Rmax_j=Rmin_j+Rcap/Q_j-Sum(Rmin)_j/Q_j.
식 2에서 계산된 것과 같은 Rmax_j는 Rmin_j와 동일하거나 초과하는 값들로 제한될 수 있음이 이해된다.
식 2는 송신 시스템(102)이 실시할 수 있는 정책의 일 예지만, 다른 정책 결정들이 Rmax를 계산하기 위해 동등하게 사용될 수 있다. 예를 들어, 선택적인 접근 방식은 잔여 대역폭을 동등하게 공유하는 것이 아니라 선택된 전송 작업들에 우선순위를 부여할 것이다. 예를 들면, 특정 작업들에 임시로 잔여 전송 용량을 제공하기 위해, 송신 시스템(102)은 최대 할당된 레이트를 이용할 수 없는 작업들에 대하여 Rmax를 감소시키기 위해 혼잡 측정치들을 사용할 수 있다.
식 2에 부가하여, Rmax_j는 네트워크(106) 내에서 감지된 혼잡에 추가로 반응하도록 의도되는 다수의 추가 제약들에 영향받을 수 있다. 파일(116) 전송 작업의 j번째 세그먼트에 대한 최대 세그먼트 전송 레이트 제한치, Rmax의 결정을 위한 추가의 예시적인 식 (2a)은 하기와 같다:
(2a) Rmax_j=H(R_(j-1))*Rmax_j
상기 식 2a의 우변에서 Rmax_j는 앞서 식 2에서 계산된 것과 같고, 상기 R_(j-1)은 이전에 전송된 세그먼트의 실제 측정된 레이트이거나, 제 1 세그먼트의 경우에 0이다. 예를 들어,
(2b) H(R_(j-1))=(R_(j-1)/Rpeak)**n, n=2,3...
상기 Rpeak는 예컨대 수신 시스템의 네트워크(106)에 의해 실시되는 주어진 수신 시스템(104)을 통해 허용되는 최대치이다. 식 2b에서와 같은 측정된 레이트 R 및 다른 혼잡 감지 메트릭들에 대한 다른 기능적인 종속값들은 네트워크(106)의 운영자들로부터의 구성된 시각(time-of-day) 프로파일들, 네트워크(106) 내의 혼잡 감지 에이전트들의 피드백 등등을 포함할 수 있다.
단계(136)에서, 제 1 최대 세그먼트 전송 레이트 제한치, Rmax_1 및 제 1 최소 세그먼트 전송 레이트 제한치, Rmin_1를 결정한 후에, 송신 시스템(102)은 파일(116)의 제 1 세그먼트, Rmax_1 및 Rmin_1에 대한 값들 및 제 1 전송이 송신 시스템으로부터 전송된 시간을 표시하는 시간 스탬프를 포함하는 제 1 전송을 전송한다(단계 138). 제 1 전송은 하기에서 추가로 논의되는 것과 같은 대기 부분을 포함하는 제 1 기간의 전송 부분이다.
제 1 세그먼트의 파일 사이즈, X_1는 미리 결정된 디폴트 값이다. 일반적으로, 파일 세그먼트는 다수의 유사한 파일 서브-세그먼트 부분들로 구성된다. 몇몇 구현들에서, 송신 시스템(102)으로부터 수신 시스템(104)으로 전송될 파일은 고정된 사이즈의 연속하는 번호의 서브-세그먼트 부분들의 세그먼트들로 포맷화되어 송신 시스템의 저장장치(114)에 저장된다. 상기 구현들에서, 서브-세그먼트 부분들의 사이즈는 변화하지 않지만, 서브-세그먼트 부분들로 구성된 개별 세그먼트는 서로 다른 개수의 서브-세그먼트 부분들을 포함함으로써 서로 다른 사이즈들을 가질 수 있다. 서브-세그먼트 부분들은 최소 실제 값을 가진 미리 결정된 전송 용량을 포함하는 네트워크에 의해 전송될 수 있는 파일의 최소 부분으로 크기 조정될 수 있다.
송신 시스템(102)으로부터 제 1 전송을 수신하면, 수신 시스템(104)은 (1) 제 1 전송의 실제 전송 레이트, R_1, (2) 제1 전송의 유효 전송 레이트, [R_1] 및 (3) 제 1 전송과 연관된 전체 기간 중 제 1 대기 부분의 지속 시간, W_1과 관련하여 다수의 결정들을 수행한다(단계 140).
제 1 전송의 실제 전송 레이트를 결정하면, 수신 시스템(104)은 수신 시스템에 의해 측정된 것과 같은 제 1 전송의 종료시간 및 수신 시스템에 의해 수신된 제 1 전송에서 발견된 시간 스탬프에 의해 표시된 것과 같은 제 1 전송의 시작시간 사이에 시간 차이, dT_1를 결정한다. 상기 시간 차이, dT_1는 수신 시스템(104)에 의해 제 1 전송을 위한 전송 시간으로서 사용된다.
수신 시스템(104)은 제 1 전송에 포함되는 데이터로부터 제 1 전송에서 전송된 제 1 세그먼트의 세그먼트 사이즈, X_1를 측정하거나 판독한다. 수신 시스템(104)은 그 후에 j번째 전송을 위한 하기의 일반식에 의해 제 1 전송의 실제 전송 레이트, R_1를 계산할 수 있다:
R_j=X_j/dT_j.
수신 시스템(104)은 송신 시스템(102) 및 상기 송신 시스템에 공지된 네트워크(106)와 관련된 현재 조건들을 수용하기 위해 제 1 전송의 유효 전송 레이트, [R_1]을 결정한다. 일반적으로, 유효 전송은 세그먼트와 연관된 기간의 전체 지속시간에 의해 분할되는 세그먼트의 파일 사이즈이다. 전술된 것과 같은 상기 기간은 세그먼트 전송 부분 및 대기 부분을 포함한다. 만약 대기 부분이 0의 지속 시간을 가지면, 유효 전송 레이트는 Rmax를 초과하는 경우에 상당한 사이즈의 파일들의 멀티캐스트 전송 또는 대량의 파일들의 전송에 있어 유해한 네트워크 영향을 발생할 수 있는 실제 전송 레이트와 동일할 수 있다. 실제 전송 레이트 보다 상당히 작고, Rmax와 일치하는 유효 전송 레이트를 선택함으로써, 송신 시스템(104)은 대량의 파일들의 전송 또는 상당한 사이즈의 파일들의 멀티캐스트 전송에 있어 네트워크(106)로의 유해한 영향을 감소시키거나 실질적으로 제거할 수 있다.
몇몇 구현들에서, 네트워크(106)는 인터넷, 지역 네트워크 및 수신 시스템(104)을 서비스하는 로컬 네트워크를 포함하는 것과 같은 부분들로 구성될 수 있다. 제 1 전송의 실제 전송 레이트, R_1의 결정된 값 및 제 1 전송에 포함된 송신 시스템(102)의 네트워크 프로브들 또는 상태 정보와 같은 다른 디바이스들로부터의 상태 입력들이 주어질 때, 수신 시스템(104)은 수신 시스템에 공지되는 모든 상태 정보에 적합한 제 1 전송에 대하여, 유효 전송 레이트, [R_1]를 선택한다.
제 1 전송의 결정된 실제 전송 레이트, R_1 및 가능한 다른 입력을 사용함으로써, 수신 시스템(104)은 혼잡이 발생될 수 있는 어느 곳에서든지 송신 시스템(102)과 수신 시스템 사이에 혼잡에 반응할 수 있다. 예를 들어, 만약 수신 시스템(104)에 인접한 네트워크(106)의 일부분이 관련 없는 트래픽 때문에 사용중이거나 수신 시스템에 공지되지 않은 상태를 가지면, 수신 시스템은 제 1 최소 세그먼트 전송 레이트 제한치, Rmin_1과 동일한 제 1 전송을 위한 유효 전송 레이트, [R_1]를 선택할 수 있다. 제 1 최소 세그먼트 전송 레이트 제한치의 선택은 전달 데드라인, Td을 충족하면서 네트워크(106)에 대하여 최소의 영향을 발생한다.
다른 한편으로, 만약 네트워크(106)가 수신 시스템(104)에 의해 실제 유휴 상태인 것으로 공지되면, 수신 시스템은 제 1 최대 세그먼트 전송 레이트 제한치, Rmax_1과 동일한 제 1 전송에 대한 유효 전송 레이트, [R_1]를 선택할 수 있으며, 임의의 다른 네트워크 트래픽이 존재하는 경우에 적은 것을 고려할 때 네트워크에 유해한 영향을 미치지 않는다. 일반적으로, 네트워크 상태들 및 송신 시스템(102)의 네트워크 상태는 중간 상태가 될 수 있으며, 따라서 상기 상태가 수신 시스템(104)에 공지되면, 수신 시스템은 제 1 최소 세그먼트 전송 레이트 제한치, Rmin_1와 제 1 최대 세그먼트 전송 레이트 제한치, Rmax1 사이의 제 1 전송을 위해 유효 전송 레이트, [R_1]를 선택할 것이다.
수신 시스템(104)은 j번째 전송이 네트워크(106) 및/또는 송신 시스템(102) 및/또는 수신 시스템(104)에 대한 다른 적응형 파일 전달들 또는 다른 활동들을 수용하도록 하기 위해, 최소 세그먼트 전송 레이트, Rmin_j 미만의 레이트의 j번째 전송에 대하여 유효 전송 레이트, [R_j]로 진행하거나 적응형 파일 전달을 모두 중단시킬 수 있다. 예를 들면, 몇몇 버전들에서 수신 시스템에는 상기 수신 시스템에 의해 공유되는 로컬 영역 네트워크에 부가된 소프트웨어 혼잡 감지 에이전트들에 의해 상기 로컬 영역 네트워크가 관련없는 네트워크 트래픽으로 인해 혼잡해지기 시작하고 있음이 통지되며, 그 결과 수신 시스템은 적응형 파일 전달의 유표 전송 레이트를 감소시키거나 상기 전달을 중단시킬 수 있다. 수신 시스템(104)이 j번째 전송에 대한 유효 전송 레이트, [R_j]를 j번째 전송에 대한 최소 세그먼트 전송 레이트, Rmin_j 미만으로 조정한 경우에, 송신 시스템(102)은 나머지 파일 사이즈 및 전달 데드라인에 기초하여 j+1번째 세그먼트 전송에 대한 증분하여 더 커진 최소 세그먼트 전송 레이트, Rmin_j+1을 재계산한다. 결과적으로, 세그먼트 전송들의 속도 조정(pacing)은 전송시 예상치 못한 네트워크 혼잡 및 중단들을 수용하는 경향이 있다. 다른 구현들에서, j번째 전송에 대한 유효 전송 레이트, [R_j]의 선택은 수반되는 특정 전송에 대하여 최소 세그먼트 전송 레이트 제한치 및 최대 세그먼트 전송 레이트 제한치 사이에 항상 머무르도록 하기 위해 필요할 수 있다.
수신 시스템(104)은 송신 시스템(102) 및/또는 수신 시스템(104) 및/또는 네트워크(106)의 변화하는 상태들을 수용하기 위한 적응형 레이트로 송신 시스템(102)으로부터 파일(116)의 카피를 전송하기 위해 유효 전송 레이트의 선택에 의해 세그먼트들의 전송들을 속도 조정한다.제 1 전송의 실제 전송 레이트, R_1에 대한 값 및 가능한 다른 입력 값을 사용함으로써, 수신 시스템(104)은 유효 전송 레이트에 대한 지능적인 선택을 수행할 수 있다. 상기 적응형 파일 전달 방법들을 통해, 세그먼트 전송들은 송신 시스템(102)으로부터 수신 시스템(104)으로의 엔드-투-엔드(end-to-end) 다운 링크 접속 용량을 위한 실제 사운딩(sounding) 시스템으로서 사용된다. 적응형 파일 전달 시스템(100)은 그 후에 혼잡의 위치와 관계없이 송신 시스템(102)과 수신 시스템(104) 사이의 혼잡에 반응할 수 있다.
제 1 전송을 위한 유효 전송 레이트, [R_1]에 대한 수신 시스템(104)의 선택에 기초하여, 상기 제 1 전송과 연관된 전체 시가 주기의 제 1 대기 부분의 지속 시간, W_1은 j번째 전송에 대하여 하기의 일반식에 의해 유도될 수 있다:
W_j=X_j/[R_j]-X_j/R_j.
단계(140)의 일부로서, 수신 시스템(104)은 또한 송신 시스템(102)에 의해 전송될 다음 세그먼트, 즉 제 2 세그먼트 사이즈, X_2를 가진 제 2 세그먼트의 사이즈를 계산한다. 상기 계산을 실행하기 위해, 수신 시스템(104)은 세그먼트를 송신할 때 안정-상태 조건에 도달하도록 네트워크(106)에 요구되는 시간량 동안 미리 결정된 일반 값, Tss을 사용한다. 예를 들어, TCP 환경에서, Tss는 약 5초와 동일할 수 있다. 제 1 전송에 대한 실제 전송 레이트, R_1에는 하기의 일반식에 의해 X_2를 얻기 위해 Tss가 곱해진다:
X_j+1=R_j*Tss.
하나의 파일 연속 전송으로부터 다음 파일 전송으로의 실제 전송 레이트들의 변화는 X_(j+1)의 계산에서 바람직하지 않은 변동을 발생할 수 있다. 이를 방지하기 위한 하나의 실행 방법은 실제 전송 레이트 R의 최종 N개 샘플들의 슬라이딩 윈도우 평균(sliding window average)을 사용하는 것이다.
제 1 전송과 연관된 전체 기간 중 제 1 대기 부분의 지속 시간, W_1을 대기한 후에(단계 142), 수신 시스템(104)은 제 2 세그먼트 사이즈, X_2를 포함하는 제 1 세그먼트 확인 응답을 송신 시스템(102)으로 전송한다(단계 144).
송신 시스템(102)은 식(1)을 사용하여 제 2 최소 세그먼트 전송 레이트 제한치, Rmin_2 및 식(2)을 사용하여 제 2 최대 세그먼트 전송 레이트 제한치, Rmax_2를 결정한다(단계 146). 송신 시스템(102)은 제 2 전송에서 제 2 세그먼트 사이즈, X_2를 가지는 파일(116)의 제 2 세그먼트를 전송한다(단계 148). 송신 시스템(102)은 또한 Rmax_2 및 Rmin_2에 대한 값들을 전송하고, 제 2 전송이 송신 시스템(102)으로부터 전송된 시간을 표시하는 타임 스탬프를 전송한다.
제 2 세그먼트를 수신하면, 수신 시스템(104)ds 제 2 세그먼트 전송을 위해 필요한 시간, dT_2을 계산하고(단계 150), 제 2 세그먼트 사이즈, X_2에 대한 값을 사용하여 식(3)으로부터 제 2 세그먼트의 실제 전송 레이트, R_2를 결정한다. 단계(150)에서 수신 시스템(104)은 전술된 것과 같이 공지된 네트워크 트래픽 상태들에 기초하여 제 2 세그먼트에 대한 유효 전송 레이트 [R_2]를 선택하고, 그 후에 식(4)에 따라 제 2 전송과 연관된 전체 기간 동안 제 2 대기 부분, W_2을 결정한다. 수신 시스템(104)은 그 후에 식(5)에 따라 제 3 세그먼트 사이즈, X_3를 결정한다.
제 2 전송과 연관된 전체 기간 중 제 2 대기 부분, W_2 동안 대기한 후에(단계 152), 수신 시스템(104)은 제 3 세그먼트 사이즈, X_3에 대한 값을 포함하는 제 2 세그먼트 확인응답을 전송한다(단계 154).
이후에, 송신 시스템(102)은 파일(116)의 최종 n번째 세그먼트가 n번째 세그먼트 전송(단계 156)에서 파일 표시의 종단을 선택적으로 포함하는 수신 시스템에 전송될 때까지 전술된 절차를 따라 수신 시스템(104)에 파일(116)의 나머지 세그먼트들을 전송한다.
적응형 파일 전달은 상기 적응형 파일 전달이 완료할 때까지 수신 시스템(104)에 의해 속도 조정되어 상기 방식으로 진행한다. 적응형 파일 전달이 멈추거나 네트워크 중단에 의해 차단되는 불운한 경우에, 수신 시스템(104)은 소비되는 대역폭을 감소시키거나 방지하기 위해 차단 지점에서 적응형 파일 전달을 재시작 하기 위해 비휘발성 메모리와 같은 저장장치(122) 내에 전송 상태를 저장한다. 수신 시스템(104)은 예컨대 저장장치(122) 내에 저장된 모듈 내에서 발견되고 프로세서(120)에 의해 실행되는 카운트다운 타이머를 보유함으로써 멈춰진 세션을 검출할 수 있다.
카운트다운 타이머는 수신 시스템(104)이 송신 시스템(102)에 초기 요청을 수행할 때 시작할 수 있다. 송신 시스템(102)은 카운트다운 타이머가 리셋된 이후에 종료할 때마다 적응형 파일 전달에 대한 주어진 반복 회수까지 요청들을 반복할 수 있다. 카운트다운 타이머의 각각의 리셋에서 종료까지의 카운트다운 시간은 지수 인자와 같은 큰 인자에 의해 증가될 수 있으며, 따라서 수신 시스템(104)에 의한 추가의 요청들이 간격을 둘 수 있다. 적응형 파일 전달을 위해 수신 시스템(104)에 의한 최종 요청의 종료에서, 수신 시스템은 특정 적응형 파일 전달 세션이 멈추었음을 선언할 수 있고, 사용가능한 경우에 적응형 파일 전달을 계속하기 위해 송신 시스템들(102) 중 제 2 송신 시스템에 접속할 것을 시도할 수 있다. 만약 수신 시스템(104)이 송신 시스템들(102) 중 제 2 송신 시스템과 접촉하는 것을 실패하면, 수신 시스템은 특정 적응형 파일 전달 작업이 수신 시스템에 의해 종료되는 전달 데드라인, Td이 지나갈 때까지 사용가능한 것으로 열거된 다수의 송신 시스템들 중 하나에 접촉할 것을 주기적으로 시도하는 것을 계속할 수 있으며, 수신 시스템 내에 저장된 파일(116)의 임의의 부분들은 소거되고 에러는 수신 시스템 사용자(들)에게 통지하기 위해 로깅된다.
전술된 것과 같이, 송신 시스템(102) 및 수신 시스템(104)은 유선, 파이버, 또는 무선으로 이루어진 서로 다른 타입인 네트워크(106)의 서로 다른 부분들에 결합될 수 있거나 서로 통신할 수 있다. 추가로, 본 명세서에서 설명되는 것과 같이, 송신 시스템(102)과 수신 시스템(104) 사이의 파일 세그먼트 전달 세션들은 차단될 수 있고(네트워크 중단과 같은 어떤 이유로) 이후에 다시 시작될 수 있으며, 파일 세그먼트의 전송은 이전에 전송되고 수신된 부분들을 재전송해야할 필요 없이 차단 지점에서 진행한다. 적응형 파일 전달 시스템(100)의 구현들은 송신 시스템(102) 또는 수신 시스템(104)이 네트워크(106)의 제 1 부분으로부터 접속 해제될 때 파일 세그먼트 전달 세션들이 종료하고, 이후에 네트워크의 제 1 부분과 네트워크의 제 2 부분이 동일한 타입(예컨대, 유선, 파이버, 무선 등등)으로 이루어지는지에 관계없이 네트워크의 제 2 부분에 재부착되도록 하기 위해 상기 2개의 성능들 모두를 사용할 수 있다. 차단된 파일 세그먼트 전달 세션의 종료는 사용자 중재의 필요 없이 자동으로 수신 시스템(104) 또는 송신 시스템(102)에 의해 개시될 수 있다.
예를 들어, 수신 시스템(104)은 네트워크(106)의 제 1 부분에 접속될 수 있고, 상기 제 1 부분은 제 1 네트워크 타입으로 이루어진다. 송신 시스템(102)은 또한 네트워크(106)의 제 1 부분에 접속될 수 있거나, 송신 시스템은 네트워크의 제 1 부분과는 서로 다른 타입으로 이루어진 네트워크의 제 2 부분에 접속될 수 있다. 만약 파일 세그먼트 전달 세션을 시작한 이후에, 수신 시스템(104)이 네트워크(106)의 제 1 부분으로부터 접속 해제되면, 송신 시스템(102)은 접속 상태를 검출하기위해 송신 시스템에 의해 사용될 수 있는 몇몇 모니터링 프로세스들 중 하나를 사용하여 수신 시스템의 접속 해제를 검출할 수 있다. 예를 들어, 수신 시스템(104)의 로컬 네트워크 인터페이스 상태와 관련하여 송신 시스템(102)에 의해 (예컨대, 1초에 한 번씩) 주기적인 질의가 수행될 수 있다.
선택적으로 또는 부가적으로, 수신 시스템(104)은 수신 시스템 내에서 발견된 카운트다운 타이머를 사용하여 네트워크(106)의 제 1 부분으로부터의 수신 시스템의 접속 해제로 인해 멈춰진 세션을 검출할 수 있다. 수신 시스템(104)에 의한 접속 해제의 검출시, 수신 시스템은 접속 해제가 파일 세그먼트의 수신 동안 발생한 경우에 파일 세그먼트의 나머지 부분을 요청할 수 있거나 접속 해제가 2개의 연속하는 파일 세그먼트 전송들 사이의 침묵 주기 동안 발생한 경우에 송신 시스템(102)에 의해 전송될 다음 파일 세그먼트를 요청할 수 있다. 상기 요청은 수신 시스템(104)의 네트워크(106)의 제 1 부분으로의 접속 또는 상기 네트워크(106)의 제 1 부분과 서로 다른 네트워크 타입인 동일 네트워크의 제 2 부분으로의 접속이 순차적으로 성립되면 시작할 수 있다. 수신 시스템(104)은 네트워크(106)로의 재접속이 로컬 네트워크 인터페이스 상태를 주기적으로 질의함으로써 접속 상태를 모니터링하여 발생하는 것을 검출할 수 있다.
선택적으로, 요청은 더 즉시 시작할 수 있고, 네트워크(106)의 부분들 중 하나로의 접속이 수신 시스템(104) 내에서 발견된 카운트다운 타이머를 사용하여 순차적으로 성립될 때까지 몇몇 방식으로 반복될 수 있다. 카운트다운 타이머는 멈춰진 세션을 재시작하기 위해 재시도 기능을 조정할 수 있으며, 따라서 수신 시스템(104)은 차단 지점에서 추가의 파일 컨텐츠를 수신하는 것을 계속할 수 있다. 이따금, 세션 차단 이전에 사용된 것과는 다른 송신 시스템(102)의 인스턴스(instance)가 파일 세그먼트 전송을 재시작하기 위해 사용될 수 있다.
파일 세그먼트의 다음 부분 또는 다음 파일 세그먼트에 대한 수신 시스템(104)에 의한 요청은 요청이 수신 시스템(104)으로부터 전송되는 이유와 관련하여 송신 시스템(102)에 중요하지 않다. 요청이 네트워크 중단, 네트워크 혼잡, 수신 시스템(104)의 네트워크(106)의 또다른 부분으로의 계획적인 이동, 또는 다른 이유로 인한 것인지와 관계없이, 송신 시스템(102)은 여전히 상기 요청을 만족하도록 동작한다. 추가로, 수신 시스템(104)에 의한 요청은 수신 시스템(104)에 대한 새로운 네트워크 위치에 상응하는 서로 다른 소스 네트워크 어드레스와 함께 송신 시스템(102)에 도달할 수 있다. 몇몇 구현들에서, 송신 시스템(102)은 후속 파일 컨텐츠를 전송할 위치를 알기 위해 수신 시스템(104)의 새로운 네트워크 위치의 네트워크 소스 어드레스를 사용할 수 있고, 이전의 세션들의 성능 기록들에 기초한 최대 스루풋 성능과 같은 접속에 관한 다른 세부사항들을 추론할 수 있다. 또다른 구현에서, 온라인 상태 변경에 대한 오프라인을 검출하면, 수신 시스템(104)은 세션 ID, 새로운 네트워크 어드레스, 최대 스루풋 성능 등등을 포함하는 새로운 접속 세부사항들을 표시하는 상태 메세지들을 송신 시스템(102)으로 전송할 수 있다.
몇몇 예외적인 상황들에서, 수신 시스템(104) 또는 송신 시스템(102)과 수신 시스템을 연결하는 네트워크(106)의 부분들은 전달 데드라인을 지나 확장하는 기간 동안 사용 불가능할 수 있다. 몇몇 구현들에서, 이는 전송 시도를 그만두고, 세션을 리셋하며, 이전에 수신된 부분적인 컨텐츠를 삭제하도록 수신 시스템(104)을 트리거할 수 있다. 다른 구현들에서, 수신 시스템(104) 또는 송신 시스템(102)은 전달의 예외상황을 검출할 수 있고, 시스템의 최종 사용자에게 세션을 계속하거나 그만두기 위한 요청 또는 통지가 트리거되었을 때 세션을 자동으로 진행하기 위한 요청을 위한 통지를 트리거할 수 있는 시스템 경고를 생성한다.
파일 전달 세션을 차단하고 재시작하기 위한 기본적인 시나리오는 수신 시스템(104)이 네트워크 부가를 변경하는 것에 상응할 수 있다. 그러나, 다른 시나리오들은 송신 시스템(102)이 그 네트워크 부가를 변경하거나 네트워크(106)의 부분들이 상태 또는 접속 토폴로지(topology)를 변경하는 것이 가능하다. 임의의 경우에, 차단된 세션을 검출하고, 그 후에 재시작하기 위한 방법들은 그 네트워크 부가를 변경하는 수신 시스템과 동일하게 유지된다.
n번째 세그먼트는 파일(116)의 최종 세그먼트이기 때문에, 몇몇 구현들에서, 수신 시스템(104)은 실제 n번째 세그먼트 전송 레이트, R_n, 유효한 n번째 세그먼트 전송 레이트, [R_n] 등등과 관련된 결정들을 수행하지 않고, 오히려 n번째 전송을 위해 대기 부분, W_n을 실행하지 않고 송신 시스템(102)에 n번째 세그먼트 확인 응답을 전송한다(단계 158).
적응형 파일 전달 시스템(100)의 예시적인 구현들의 제 1 집합(300)은 도 3에서 송신 시스템(102)이 애플리케이션 서비스 제공자(302)에 통신가능하게 링크되고, 상기 애플리케이션 서비스 제공자(302)가 인터넷(304)에 통신가능하게 링크되며, 상기 인터넷(304)은 지역 데이터 노드(306)에 통신가능하게 링크되는 경우로서 도시된다. 송신 시스템(102)의 또다른 경우는 지역 데이터 노드(306)에 직접 통신가능하게 링크된다. 지역 데이터 노드(306)는 지역 네트워크(308)에 통신가능하게 링크되고, 상기 지역 네트워크(308)는 분배 허브(310)에 통신가능하게 링크되며, 상기 분배 허브(310)는 하이브리드 파이버 케이블 네트워크와 같은 네트워크(312)에 통신가능하게 링크된다.
디지털 비디오 레코더로서 수신 시스템(104)의 경우는 셋톱 박스(314)를 통해 케이블 네트워크(312)에 통신가능하게 링크된다. 디지털 비디오 레코더 및 휴대가능한 미디어 센터로서 수신 시스템(104)의 다른 경우들은 케이블 모뎀(316) 및 로컬 영역 네트워크(318)를 통해 케이블 네트워크(312)에 통신가능하게 링크된다. 몇몇 구현들에서, 혼잡 감지 에이전트(319)는 파일 세그먼트 전송들이 발생하는 시점의 조정을 위해 로컬 영역 네트워크에 대한 네트워크 혼잡 및 네트워크 활동에 관하여 송신 시스템(102) 또는 수신 시스템(104)에 보고하기 위해 로컬 영역 네트워크(318)에 통신가능하게 링크된다. 예를 들어, 로컬 영역 네트워크(318)에 통신가능하게 링크된 혼잡 감지 에이전트(319) 또는 다수의 유사한 에이전트들은 수신 디바이스(104)로의 적응형 파일 전달과 연관되지 않은 네트워크 활동의 보고를 트리거하기 위한 최소 스루풋 임계치를 한정한다. 선택적으로, 네트워크 활동 보고는 로컬 영역 네트워크(318)의 형성되거나 측정된 피크 성능과 상기 보고들을 비교함으로써 수신 시스템이 로컬 영역 네트워크 혼잡을 결정하기 위해 혼잡 감지 에이전트(319)에 의해 보여지고 수신 시스템(104)으로 보고되는 것과 같이 로컬 영역 네트워크(318) 입장 및 출력 트래픽 활동의 측정치를 포함할 수 있다. 몇몇 버전들에서, 스루풋 임계치를 초과하고 보고를 수신 시스템(104)으로 트리거한 이후에, 혼잡 감지 에이전트는 측정된 네트워크 활동이 트리거 임계치 바로 미만 및 바로 이상으로 교대할 때 과도한 보고들이 수신 시스템으로 전송되는 것을 방지하기 위해 트리거 임계치에서 델타만큼 미만인 네트워크 활동을 측정할 때까지 보고 메카니즘을 재무장한다.
몇몇 버전들에서, 도 3에 예로서 도시된 하나 또는 다수의 혼잡 감지 에이전트(319)는 분배 허브(310) 또는 지역 네트워크(308) 또는 인터넷(304)에 통신가능하게 링크되며, 네트워크 활동 또는 신호 네트워크 혼잡의 측정된 보고들을 송신 시스템(102)에 제공할 수 있다. 상기 혼잡 감지 에이전트들은 네트워크(106) 내의 특정 지점들에서 네트워크 활동을 시그널링하기 위해 몇몇 버전들에서 송신 시스템(102)으로, 다른 버전들에서 수신 시스템(104)으로 보고할 것이다.
적응형 파일 전달 시스템(100)의 예시적인 구현들의 제 2 집합(400)이 도 4에 서 송신 시스템(102)이 지구국(402)에 통신가능하게 링크되고, 상기 지구국(402)이 공중 전화 교환 네트워크(PSTN; 404)에 통신가능하게 링크되며, 상기 PSTN(404)이 중앙 오피스(406)에 통신가능하게 링크되고, 상기 중앙 오피스(406)가 로컬 루프(408)에 통신가능하게 링크되며, 상기 로컬 루프(408)가 비대칭 디지털 가입자 회선(ADSL) 디바이스(412)와 같은 고객 전제 장비에 통신가능하게 링크되는 경우가 도시된다.
지구국(402)은 또한 고객 전제 장비(412)에 통신가능하게 링크된 수신국(422)으로 신호들(422)을 중계하는 위성(418)에 신호들(416)을 전송하는 위성 송신 시스템(414)에 통신가능하게 링크된다. 디지털 비디오 레코더 및 휴대가능한 미디어 센터로서의 수신 시스템(104)의 경우들은 로컬 영역 네트워크(424)를 통해 고객 전제 장비(412)에 통신가능하게 링크된다. 지구국(402)은 또한 무선 신호들(432)을 무선 개인 디바이스로서 수신 시스템(104)의 경우로 전송하는 셀룰러 네트워크(430)에 통신가능하게 링크된다.
수신 시스템(104)은 특정 구현들에서 도시되지만, 오디오 출력 및/또는 비디오 출력 및/또는 다른 출력을 통해 대량의 파일들을 수신하고 상기 대량의 파일들의 컨텐츠를 출력하기 위해 다수의 다른 구현들이 사용될 수 있다. 일반적으로, 접근 방식들은 수신 시스템(104)이 클라이언트이고, 송신 시스템(102)이 서버인 크라이언트/서버 모델을 구현할 수 있다. 그러나, 다른 모델들을 사용하는 다른 접근 방식들이 사용될 수 있다.
네트워크(106)에 대한 다양한 구현들에 도시되지만, 다수의 다른 구현들 또한 사용될 수 있다. 예를 들어, 송신 시스템(102)은 상기 송신 시스템을 수신 시스템으로 통신가능하게 링크하는 네트워크(106)의 기본 전달 구조를 변경시키지 않고 수신 시스템(104)의 로컬 액세스 네트워크 내에 선택적으로 배치될 수 있다.
적응형 전달 시스템 및 방법은 본질적으로 매우 스케일 가능하다. 적응형 전달 시스템 및 방법은 송신 시스템(102)의 다수의 경우들 중 각각에서 실행되는 적응형 전달 방법의 다수의 동시 경우들을 지원하도록 스케일링될 수 있다. 적응형 전달 방법의 다수의 동시 경우들을 실행함으로써, 송신 시스템(102)의 각각의 경우는 다수의 수신 시스템(104)에 대량의 파일들을 전송할 수 있다. 일반적으로, 송신 시스템(102)의 경우들의 어레이들은 수신 시스템(104)의 다수의 경우들에 적응형 파일 전달 방법의 동시에 실행된 경우들을 통해 대량의 파일들을 전송하는 것을 지원하기 위해 개별 지역 설비들 내에 배치될 수 있다. 상기 송신 시스템(102)에 대한 집합들의 어레이 또는 다른 분류들은 네트워크(106) 상의 중심 위치 내에 배치될 수 있거나 네트워크 전체에 분배될 수 있다. 송신 시스템(102)의 다양한 컴포넌트들은 동일한 하드웨어 디바이스 내에 배치될 수 있거나 다양한 하드웨어 디바이스들 사이에 분배될 수 있다. 또한, 대량의 파일들의 다양한 세그먼트들은 송신 시스템(104)의 다수의 인스턴스들 사이에 분배될 수 있거나, 동일한 대량의 파일의 다수의 인스턴스들이 송신 시스템(104)의 다수의 인스턴스들에 저장되어 송신 시스템(104)의 다수의 인스턴스들을 포함하는 전체 파일 전달 시스템(100)이 네트워크 트래픽 로드들을 변동시킴에 따라 네트워크(106)의 통로들을 따라 대량의 파일의 세그먼트들을 수신 시스템(102)으로 전송할 수 있다. 예를 들어, 대량의 파일의 다양한 세그먼트들은 그 보조 인자들을 업데이트하거나 거의 실시간 모니터링하는 것으로 사용하여 네트워크(106)의 이미 혼잡된 부분들에 대한 영향이 감소하도록 보장하고, 원하는 경우에 세그먼트 전송 기준에 의해 세그먼트 전송에서 피드백 하기 위해 송신 시스템(104)의 다수의 인스턴스들로부터 전송될 수 있다. 송신 시스템(104)의 인스턴스들의 균형을 맞추는 것은 네트워크의 자원들을 효율적으로 사용하기 위해 네트워크(106)에 대한 전체 대역폭 영향을 감소시키도록 수행될 수 있다. 송신 시스템(104)이 최대 용량인지 결정하기 위한 한가지 접근 방식은 송신 시스템이 연관된 최소 전송 레이트, Rmin로 또다른 파일 전송 작업을 수행할 수 있는지를 검증하는 것이다.
전술된 혼잡 감지 에이전트(319)를 포함하거나 다른 혼잡 감지 에이전트들 또는 사운딩 에이전트들을 포함하는 것과 같은 추가의 모니터링 시스템들 및 방법들은 수신 시스템(104)에 의한 j번째 대기 기간 w_j의 결정을 조정하기 위해 사용될 수 있다. 예를 들어, 수신 시스템(104)에 대한 적응형 파일 전달 방법들의 일부분들을 실행하기 위한 하나 이상의 모듈들은 수신 시스템(104)에 인접한 네트워크(106)의 일부분을 송신 시스템(102)에 인접한 네트워크의 또다른 부분에 통신가능하게 링크시키는 게이트웨이 디바이스 상에 상주할 수 있다.
일 예로서, 상기 모니터링 시스템들을 호스팅하는 게이트웨이 디바이스들은 케이블 또는 DSL 모뎀 또는 LAN 스위치, 라우터 또는 허브를 포함할 수 있다. 게이트웨이 상의 소프트웨어 에이전트는 인터넷 또는 다른 로컬 네트워크 사용을 모니터할 수 있다. 게이트웨이 상의 소프트웨어 에이전트는 하나 이상의 송신 시스템(102)과 수신 시스템(104)의 조합들에 특정한 적응형 파일 전달 전송과 연관되지 않은 임의의 네트워크 트래픽을 모니터할 수 있다. 소프트웨어 엥이전트에 의해 수신 시스템(104)에 인접한 로컬 네트워크 트래픽을 통지하면, 수신 시스템(102) 클라이언트는 로컬 네트워크의 일부분이 다시 또다른 세그먼트 전송을 정당하게 수용할 수 있을 때까지 전술된 것과 같이 진행중인 세그먼트 전송의 속도를 늦추거나 중단시킴으로써 적절한 동작을 취할 수 있다. 적절한 타이머들 및 사용 감소 제한치들은 일정 주기에 걸쳐(예컨대, 5분 및 10kbps) 사용을 적절히 평균시키기 위한 것이며, 따라서 임계치 미만의 하찮은 기초 활동은 무시될 수 있다.
선택적으로, 소프트웨어 에이전트들은 수신 시스템(104)에 인접한 네트워크(106)의 일부분을 통해 컴퓨터 워크스테이션들에 설치될 수 있으며, 인터넷 부분과 같은 네트워크의 다른 부분들에서의 활동은 상기 워크 스테이션들 중 하나에 의해 세그먼트 전송을 위해 수용하기 어렵게 사용중인 것으로 검출될 때 네트워크의 로컬 부분을 통해 수신 및/또는 송신 시스템(102)을 발견하여 보고할 수 있다.
선택적으로, 2-포트 이더넷 하드웨어/소프트웨어 모듈과 같은 디바이스는 수신 시스템(104)에 인접한 게이트웨이 또는 광대역 모뎀을 사용하여 인라인(in-line) 설치될 수 있다. 상기 디바이스는 상기 디바이스를 통과하는 모든 트래픽을 모니터하고, 네트워크(106)의 하나 이상의 부분들을 통해 송신 시스템(102)으로부터 수신 시스템(104)으로의 세그먼트 전송과 연관되지 않은 인터넷 활동과 같은 활동을 보고한다.
적응형 파일 전달 방법의 각각의 세션들은 면밀히 조사하여 실제 전송 성능을 모니터하고 보고함으로써 전달되는 각각의 파일 세그먼트에 대한 네트워크 혼잡을 액세스하는데 반응할 수 있다. 이에 추가로, 네트워크(106)에 대한 성능/혼잡 결과들의 전체적인 개략(global view)은 네트워크의 액세스 부분들을 통해 전략적으로 배치되고 송신 시스템(102)에 다시 보고하는 소프트웨어 사운딩 에이전트들에 의해 선택적으로 증가될 수 있다. 상기 사운딩 에이전트들은 전체 총 대역폭 및 잔여 성능의 국한된 개략(local view)을 보고할 수 있다. 예를 들어, DSL 네트워크들에서 사운딩 에이전트들을 측정하는 상기 네트워크 활동은 DSL 액세스 멀티플렉서들(DSLAMs)에서 결정될 수 있고, 케이블 네트워크들에 대하여 상기 활동은 각각의 케이블 모뎀 종단 시스템(CMTS)에서 결정될 수 있고, 3G에 대하여 상기 활동은 기지국들 또는 액세스 서비스 노드 게이트웨이들에서 결정될 수 있다. 송신 시스템(102)은 네트워크(106) 또는 특정 부분에서 임의의 시간에 전달될 트래픽 세션들의 전체 양을 제한하기 위해 특정 액세스 제공자 및 네트워크(106)의 다른 부분에 대한 정책 프로파일들을 조정하기 위한 추가 정보를 가질 수 있다. 예를 들어, 상기 제한은 네트워크(106)의 사용가능한 잔여 성능의 상태(time-of-day) 또는 퍼센트율에 기초하여 실행될 수 있다.
적응형 파일 전달 시스템(100)의 구현(500)이 도 5에 도시되며, 수신 시스템(104)이 프로파일(503)을 업데이트 하고(단계 502), 상기 프로파일을 송신 시스템(102)으로 전송한다(단계 504). 상기 구현(500)의 몇몇 버전들에서, 주기적이거나 다른 연속하는 기준들로, 프로파일(503)은 업데이트 되어 송신 시스템(102)으로 전송될 수 있다. 프로파일(503)은 특정 데이터에 부가되어 초기에는 비어 있지만, 이후에 상기 프로파일 내의 데이터는 일반적으로 하기에서 추가로 설명되는 것과 같이 수신 시스템(104)의 하나 이상의 사용자들의 관찰들에 따라 업데이트 되고 조정된다. 송신 시스템(102)은 수신 시스템(104)에 전송될 프로파일(503)과의 연관성에 따라 제 2 파일들(507)을 선택한다(단계 506). 제 2 파일 선택 및 프로파일(503) 간의 연관은 광고 및/또는 마케팅 전략들과 같은 미리 결정되거나 획득된 전략들에 따라 다양한 방식들 중 임의의 방식으로 실행될 수 있다.
구현(500)의 몇몇 버전들에서, 송신 시스템(102)은 통지(509)를 수신 시스템(104)으로 전송한다(단계 508). 통지(509)는 수신 시스템(104)이 제 2 파일들을 요청하지 않았기 때문에 송신 시스템(102)이 적응형 파일 전달을 통해 선택된 제 2 파일들(507)을 수신 시스템에 전송할 것임을 수신 시스템(104)에 통지한다. 시간 범위에 걸쳐, 송신 시스템(102)은 송신 시스템에 의해 개시된 적응형 파일 전달을 통해 수신 시스템(104)에 제 2 파일들(507)을 전송한다(단계 510). 송신 시스템(102) 및/또는 수신 시스템(104)은 수신 시스템(104) 내에 저장되는 제 2 파일들(507)의 컨텐츠를 기록한다.
구현(500)의 몇몇 버전들에서, 제 2 파일들(507)의 저장을 위한 저장장치(122) 상의 공간은 최소로 유지되는지 자세히 조사되며, 뒤떨어진 제 2 파일들은 쉽게 삭제된다. 다른 구현들에서, 삭제 관리는 수신 시스템(104)의 사용자에게 맡겨질 수 있다. 수신 시스템(104)은 그 후에 수신 시스템에 의해 요청되고 수신된 다른 파일들과 혼합된 제 2 파일들을 재생한다(단계 512).
구현(500)의 버전들은 제 2 파일들(507)을 광고들 및 수신 시스템(104)의 저장장치(122) 위에 풍부한 미디어 컨텐츠를 가지는 다른 메세지들로 캐싱하기 위해 사용될 수 있다. 캐싱된 제 2 파일들은 이후에 엔터테인먼트, 교육 또는 영화, 음악, 텍스트, 게임 등등의 포맷들을 가지는 다른 컨텐츠를 가진 파일들과 같이 수신 시스템(104)에 의해 요구된 요청된 파일들의 재생과 함께 입력된 것으로 이후에 재생될 수 있다. 상기 구현(500)의 버전들은 예컨대, 운영자들 및 컨텐츠 소유자들이 고객들에게 미디어를 제공하는 비용을 감소시키고 및/또는 그들의 서비스에 대한 이익을 증가시키기 위해 사용할 수 있는 가입 및 유료 방송 이외에 금융 수익 모델들에서 사용될 수 있다. 제 3자는 상기 구현(500)의 제 2 파일(507)의 적응형 파일 전달을 통해 수신 시스템들(104)의 사용자들에게 3자 메세지들을 전송하기 위해 운영자들에게 자금을 지불할 수 있다.
광고 및 다른 메세지 컨텐츠는 몇몇 버전들에서 수신 시스템이 상기 수신 시스템에 의해 요청된 컨텐츠를 수신하지 않는 주기들 동안 전달 데드라인을 사용하거나 사용하지 않고 기본 전송으로서 적응형 파일 전달을 사용하는 구현(500)을 통해 수신 시스템들(104)로 전송된다. 수신 시스템(104)에 저장되면, 상기 구현(500)을 통해 전송된 제 2 파일들(507)은 예컨대 영화와 같은 요청된 파일의 재생 이전, 도중 또는 이후에 삽입될 수 있다. 예를 들어, 엔터테인먼트 컨텐츠의 재생 이전, 도중 또는 이후에, 수신 시스템(104)은 그 엔터테인먼트 컨텐츠에 대하여 재생되고 있는 요청된 파일의 재생을 중단함으로써 광고 파일들과 같은 하나 이상의 제 2 파일들(507)을 액세스 및 재생할 수 있다. 수신 시스템(104)이 제 2 파일들(507)을 재생할 기회들을 검출하는 방법은 암전(fade-to-black) 효과들 및 다른 프로그램 마커 효과들을 발생하는, 엔터테인먼트 컨텐츠 내에 분명하게 삽입된 신호들과 같은 종래의 방송 산업 관례들과 유사한 접근 방식들로 수행될 수 있다. 재생될 제 2 파일 컨텐츠는 프로파일(503)에 기초하여 수신 시스템(104)에 의해 선택될 수 있지만, 랜덤할 수 있고, 및/또는 재생 디바이스 타입 및/또는 시각 및/또는 재생되는 엔터테인먼트 또는 다른 컨텐츠의 타입 및/또는 요청된 파일 컨텐츠 타입 및/또는 사용자 로그온 식별 및/또는 다른 기준에 기초할 수 있다.
제 2 파일들(507)의 컨텐츠는 특정 고객 데이터로 조정되어 제 2 파일들(507)의 적응형 파일 전달 이전에 수신 시스템(104)으로부터 송신 시스템(102)으로 전송된 프로파일(503) 내에 저장된다. 프로파일(503) 내의 데이터는 수신 시스템(104)에 의해 요청된 파일 컨텐츠 타입, 온라인 주문 습관들 등등과 상관될 수 있다. 광고용으로 사용될 때, 제 2 파일들(507)은 요청된 파일들과 함께 수신 시스템(104) 내에 저장된다. 수신 시스템(104)의 사용자들이 잠정적인 고객들이 될 수 있기 때문에, 상기 잠정적인 고객들의 프로파일들을 매치시키기 위한 제 2 파일들(507)의 컨텐츠 조정은 특정 시청자를 타겟으로 하는 제 2 파일들 내에 포함된 광고들의 유효성을 증가시키는 것을 도울 수 있다.
프로파일들(507)의 컨텐츠는 시스템 사용자 식별 및/또는 대화식 브라우저 인터페이스들을 통한 온라인 주문을 수반하는 기록들과 같은 구매 기록들을 수신하는 것을 포함하지만 이에 제한되지 않는다. 다른 데이터는 엔터테인먼트 컨텐츠 설명(제목, 장르 등등), 재생 시간, 사용자 선호도 조사에 따라 편집된 데이터, 구매 습관, 흥미도 표션, 광고 컨텐츠의 재생 빈도 등등의 기록들을 포함할 수 있다. 적응형 파일 전달 시스템의 다른 구현들에 따라, 저장장치(114)를 포함하는 송신 시스템(102)은 함께 연결되지만 지리적으로는 분리된 하나 이상의 대용량 저장 디바이스들을 포함할 수 있다.
적응형 파일 전달 시스템(100)의 구현(600)이 도 6-11에 도시된다. 상기 구현(600)은 사용자(602)가 컴퓨터 워크 스테이션, 휴대 정보 단말기(pda), 셀룰러폰, 게임 콘솔 또는 송신 시스템(102)으로부터 수신 시스템으로의 적응형 파일 전달을 통해 전송된 다양한 파일들의 전달 순서 및 전달 데드라인들을 관찰하고, 우선순위를 결정하며, 조종하는 것과 같은 기능들을 수행하기 위해 수신 시스템(104)의 일부로 또는 별개로 배치된 다른 디바이스와 같은 입력 디바이스(604)를 사용하도록 한다. 다른 구현들에서, 송신 시스템(102)은 정규 상업 네트워킹 장비를 사용하여 함께 연결되지만 지역적으로 분리될 수 있는 하나 이상의 물리적이니 유니트들이 될 수 있다.
상기 구현(600)의 버전들은 파일의 선택, 전달 및 재생과 같이 서로 상당히 분리될 수 있는 서로 다른 시간에 발생하는 다양한 활동들을 갖는다. 사용자들(602)은 전달될 파일들의, 전달 데드라인들 및 입력 디바이스(604)를 통한 전달을 위한 우선순위 및/또는 순서의 선택을 제어할 수 있다.
상기 구현(600)은 다양한 형태의 적응형 파일 전달에 의해 전달될 파일들의 전달 및 전달 상태를 제어한다. 상기 구현(600)의 목표들 및 시스템 요구조건들의 몇몇 양상들은 구매된 상품들의 고객들로의 우편 전달과 유사한 조건들에서 이해될 수 있다. 다시 말해서, 상기 구현(600)의 다른 양상들은 예컨대 데드라인을 만족하기 위해 디지털 컨텐츠의 전자적 전달을 포함하는 고유한 것이다. 예를 들어, 상기 구현의 하나의 예시적인 양상은 컨텐츠 파일의 수신을 포함하며, 상기 수신은 단일 이벤트가 아니라 일정한 간격으로 시간상 분배된다. 양상들에는 연관된 전달 데드라인을 가진, 미디어 컨텐츠 파일들과 같은 파일들의 적응형 파일 전달 동안 구현(600)과 상호작용하는 사용자들(602)이 수반된다.
도 6에 도시된 것과 같이, 사용자(602)는 무선, 유선, 네트워크, 전화 또는 다른 통신 매체를 통해 송신 시스템(102)에 통신가능하게 링크된 입력 디바이스(604)를 사용하고 있다. 입력 디바이스(604)는 적응형 파일 전달을 위해 사용가능한 송신 시스템(102)에 저장된 미디어 컨텐츠 파일들과 같은 파일들을 사용자가 브라우징하는 것을(단계 606) 돕기 위해 브라우저 타입 애플리케이션의 형태로 동작할 수 있다.
도 7에 도시된 것과 같이, 사용자(602)는 입력 디바이스(604)를 통해 사용자의 현재 개인 미디어 컨텐츠 라이브러리를 종합적으로 형성할 수 있는, 수신 시스템(102)에 이미 전달된 컨텐츠 파일들을 선택적으로 볼 수 있다. 사용자(602)는 입력 디바이스(604)를 사용하여 삭제를 위해 수신 시스템(104)에 저장된 특정 컨텐츠 파일들을 표시하는 것을 선택할 수 있으며(단계 610), 따라서 새로운 컨텐츠 파일들을 위한 충분한 저장 공간이 수신 시스템으로 전달될 수 있다.
도 8에 도시된 것과 같이, 사용자(602)는 입력 디바이스(604)를 사용하여 전달을 위한 하나 이상의 미디어 컨텐츠 파일들을 선택할 수 있다(단계 612). 상기 구현(600)의 버전들에서, 선택된 파일들의 원래의 전달 순서는 파일들이 선택된 순서에 따라 생성된다. 도 9에 도시된 것과 같이, 사용자(602)는 원하는 바에 EK라 선택된 미디어 컨텐츠 파일들의 원래의 전달 순서의 우선순위들을 선택적으로 수정할 수 있다(단계 614).
도 10에 도시된 것과 같이, 송신 시스템(102)은 준비중인 적응형 파일 전달들을 위해 예상된 전달 데드라인들을 계산할 것이다(단계 616). 송신 시스템(102)의 예상된 전달 성능은 디스플레이 및/또는 입력된 전달 우선순위들, 사용자(602)의 가입 프로파일, 저장된 히스토리컬 네트워크 전달 성능 데이터 및 송신 시스템에 의해 획득된 것과 같은 현재 네트워크 상태들에 기초하지만 이에 제한되지 않는다.
몇몇 버전들에서, 송신 시스템(102)은 예측되지 않은 네트워크 속도 감소 및/또는 중단을 고려하기 위해 송신 시스템에 의해 예상된 전달 데드라인과 몇몇 추가 시간 델타의 합으로부터 계산된 전달 데드라인을 사용자에게 제공할 수 있다.
다른 버전들에서, 송신 시스템(102)은 선택된 전달 데드라인이 송신 시스템에 의해 계산된 예상된 전달 데드라인과 추가 시간 델타의 합을 초과한다면 사용자가 전달 데드라인을 선택하도록 할 수 있다. 상기 버전들에서, 시스템(100)은 사용자의 선택된 전달 데드라인의 길이에 따라 기록하고 사용자에게 청구할 수 있다.
상기 구현(600)의 몇몇 버전들에서, 최고 우선순위 파일의 전달은 가장 먼저 발생하며, 다음으로 높은 우선순위 파일의 전달은 그 다음에 발생한다. 상기 예상된 전달 데드라인들의 계산 결과들은 도면 및/또는 텍스트 방식으로 입력 디바이스(604)를 통해 사용자(602)에게 제공될 수 있다. 상기 구현(600)의 몇몇 버전들에서, 사용자(602)는 적응형 파일 전달을 추가로 개시하기 위해 전달 계산 결과들을 승인할 수 있다.
도 11에 도시된 것과 같이, 적응형 파일 전달들은 상기 구현(600)과 함께 발생하기 때문에, 송신 시스템은 입력 디바이스(604)를 통해 적응형 파일 전달들과 연관된 전달 스케줄을 디스플레이하며(단계 618), 따라서 사용자(602)는 전달 스케줄을 편집할 수 있다(단계 620). 디스플레이된 전달 스케줄의 편집을 통해, 하나 이상의 준비중인 적응형 파일 전달들의 우선순위들은 우선순위가 재결정되거나 취소될 수 있다.
상기 구현(600)이 몇몇 버전들에서, 전달된 파일의 일부분에서 파일의 전달이 특정한 미리 선택된 지점을 지나서 진행하면, 사용자(602)는 서비스 페널티 없이 주문을 취소하도록 허용되지 않을 수 있다. 컨텐츠 파일들의 새로운 선택들은 입력 디바이스(604)에 디스플레이된 전달 스케줄에 부가될 수 있고, 유사하게 사용자(602)에 의해 우선순위가 재결정될 수 있다.
우선순위 재결정 이후에, 송신 시스템(102)은 준비중인 적응형 파일 전달들의 새로운 스케줄을 다시 계산하고(단계 616), 새로 계산된 스케줄을 입력 디바이스(604)를 통해 사용자(602)에게 디스플레이할 것이다(단계 618). 디스플레이된 전달 스케줄을 편집하는 순서, 편집된 스케줄의 재계산 및 재계산된 스케줄의 디스플레이는 특정 최대 부분을 넘어서 이미 부분적으로 전달된 파일을 삭제하는 것과 같이 몇몇 서비스 페널티들이 수반될 때 사용자(604)에 의해 요구되는 것보다 자주 반복될 수 있다.
개인 컨텐츠 라이브러리와 같은 미디어 컨텐츠의 사용자-맞춤형 라이브러리를 고려한 구현(700)이 도 12-14에 도시된다. 개인 컨텐츠 라이브러리는 사용자의 집 또는 회사에서 수신 시스템에 부가하여 디지털 비디오 레코더들(DVRs), 휴대가능한 미디어 센터들(PMCs), 네트워크-부착 저장 유니트들, PC들, 셀룰러폰들, 등등과 같은 대용량 저장이 가능한 디바이스들과 같이 수신 시스템과 연관되고 및/또는 통신 가능하게 링크된 다양한 컨텐츠 저장 유니트들 또는 수신 시스템(102)에 국부적으로 저장될 수 있다. 사용자(602)는 3가지 단계들: 미디어 파일들의 선택, 선택된 미디어 파일들의 적응형 파일 전달, 및 전달된 컨텐츠의 재생으로 구현(700)과 상호작용할 수 있다.
도 12에 도시된 것과 같이, 사용자(602)는 입력 디바이스(604)를 사용하여 송신 시스템(102)으로부터 파일들을 선택하여 주문한다(단계 702). 파일들의 주문은 주문 시기에 가입 플랜을 통해 주기적인 청구에 의해 축적되는 금융 거래 또는 다른 장치를 수반할 수 있다. 사용자에 의한 파일 선택 및 주문은 웹 브라우저 또는 미디어 카탈로그와 같은 파일 목록의 다른 프리젠테이션 디스플레이를 통한 프리젠테이션을 제공할 수 있는 입력 디바이스(604)에 의해 지원된다. 각각의 파일 선택은 송신 시스템(102)에 의해 계산되고 관리되는 전달 데드라인과 연관된다.
도 13에 도시된 것과 같이, 송신 시스템(102)은 수신 시스템들(104)의 각각에 미디어 파일들의 개인 컨텐츠 라이브러리(706)를 형성하기 위해 다양한 사용자들(602)의 수신 시스템들(102)에 선택된 컨텐츠 파일들 중 주문된 파일들(704)의 적응형 파일 전달들을 관리한다.
선택적으로, 주문된 파일들(704)의 적응형 파일 전달들은 단일 메인 개인 컨텐츠 라이브러리(706)를 형성하기 위해 수신 시스템들(104) 중 하나로 수행될 수 있다. 차례로, 수신 시스템(104)은 다수의 디바이스들에 통신가능하게 링크되어 유사한 개인 컨텐츠 라이브러리들(706)을 저장하고 및/또는 전달된 파일들을 재생한다.
도 14에 도시된 것과 같이, 미디어 파일들이 개인 컨텐츠 라이브러리(706)를 구성하기 위해 수신 시스템(104)으로 전달되면, 개인 컨텐츠 라이브러리의 선택된 파일(708)은 수신 시스템(104)의 일부이거나 별개인 재생 디바이스(712)에서 재생될 수 있다(단계 710). 파일들인 개인 컨텐츠 라이브러리(706) 내에 있으면, 상기 파일들은 전달 네트워크(106) 또는 송신 시스템(102)과의 추가의 상호 작용 없이 원하는 바에 따라 재생될 수 있다. 개인 컨텐츠 라이브러리(706) 내의 파일들의 재생은 상기 네트워크(106) 및/또는 송신 시스템(102)에서 경험된 유해한 상황들로부터 분리될 수 있다.
상기 구현(700)의 버전들은 고객들이 데드라인들에 의해 결정되는 시간 프레임 내에서 영화들과 같은 대형 미디어 파일들의 홈 컨텐츠 저장 유니트들(예컨대, DVR)로의 향후 전달을 위한 주문들을 위해 브라우저를 통해 원격 온라인 상점 서버 시스템으로서 송신 시스템(102)과 상호작용하도록 하기 위해 원격 주문을 위해 사용된다.
주문 경험은 고객에게 관심이 있을 것으로 예상되는 컨텐츠의 제안들을 제공하는 송신 시스템(102)에 의해 개선될 수 있다. 예를 들어, 고객은 전달을 위해 하나 이상의 컨텐츠 파일들을 탐색하며, 그에 따라서 수신 시스템(104)에 의해 송신 시스템(102)으로 제공되는 고객의 프로파일에 기초하여 컨텐츠 파일들의 제안 리스트가 제공된다. 고객 프로파일은 이전에 주문된 컨텐츠 파일 장르들, 신뢰할만한 친구 추천들, 연재물의 가입 리스트들, 이전에 선택된 컨텐츠의 속편들, 구입 습관 등등에 기초할 수 있다. 고객은 또한 제목, 작가, 감독, 장르, 등급, 성인물/폭력물/언어 컨텐츠 파일들, 연기자들, 언어, 재생 포맷, 고객 평점, 리뷰 평점 등등을 포함하지만 이에 제한되지 않는 탐색 조건들을 사용하여 사용가능한 제목들의 데이터 베이스 내에서 사용가능한 컨텐츠를 탐색할 수 있다. 그후에 고객은 각각의 컨텐츠 파일과 연관된 데드라인 내에 전달을 위해 하나 이상의 컨텐츠 파일을 선택할 수 있다.
적응형 파일 전달 시스템(100)의 구현(800)이 도 15-19에 도시되며, 상기 구현(800)은 전달된 파일들이 인기있는 컨텐츠에 대한 요구 한계치를 감소시키거나 방지하는 것을 돕기 위해 재생될 수 있는 스케줄링된 배포일로부터 스케줄링된 전달 데드라인들을 구분하는 것을 포함한다. 상기 구현(800)은 디지털화된 미디어 파일들이 적응형 파일 전달을 통해 미리 결정된 배포일보다 미리 단일 네트워크 또는 네트워크들의 집합과 같은 네트워크(106)를 통해 컨텐츠 저장 유니트들의 집합과 통신가능하게 링크되거나 상기 집합을 포함할 수 있는 수신 시스템들(104)로 전자적으로 전달되도록 한다. 배포일은 이전에 사용할 수 없었던 컨텐츠가 사용자들의 그룹에 의한 재생을 위해 사용될 수 있는 미리 스케줄링된 날짜를 지칭한다.
예를 들어, 전달될 파일들의 컨텐츠는 새로운 영화들 또는 아직 일반적으로 사용될 수 없는 엔터테인먼트 시리즈물의 에피소드들이 될 수 있다. 적응형 파일 전달은 배포일 이전에 파일 전달의 매우 확실한 보장들을 제공하기 위해 전달된 파일들의 컨텐츠와 연관된 배포일보다 미리 충분하게 완료되도록 계획될 수 있다. 적응형 파일 전달에 의한 분배를 배포일과 구분함으로써, 다수의 고객 그룹들은 더 큰 대역폭의 방송 전달 시스템을 요구하거나 인기있는 컨텐츠의 배포일에 요구의 최대치를 수용할 수 있도록 전달 네트워크를 강요하지 않고 특정 배포일에 미디어에 동시 액세스할 수 있다. 컨텐츠가 배포되면, 고객들은 배포일 또는 그 이후에, 원하는 바에 따라 또는 몇몇 다른 가입 플랜에 따라 컨텐츠를 재생할 수 있다.
도 15에 도시된 것과 같이, 다수의 수신 시스템들(104)은 사용할 수 있는 새로운 컨텐츠 파일들에 대하여 송신 서버(102)에 질의한다(단계 802). 상기 질의(단계 802)는 전술된 것과 같이 입력 디바이스(604)에서의 사용을 통해 선택적으로 실행될 수 있다. 상기 질의는 수신 시스템들(104) 및/또는 입력 디바이스들(602)에 의해 자동으로 수행될 수 있거나 수신 시스템들 및 입력 디바이스들의 사용자들에 의해 수동적으로 수행될 수 있다. 송신 시스템(102)은 파일 컨텐츠의 암호를 표시하는 록(lock; 810) 및 타임 스탬프(808), 컨텐츠(806)를 가지는 암호화된 파일(804)을 포함하도록 도시된다.
도 16에 도시된 것과 같이, 송신 시스템(102)은 송신 시스템에서 사용가능한 임의의 파일들을 전달하거나, 송신 시스템에 저장되거나 수신 시스템들에 저장된 리스트에 따라 선택된 파일만을 전달하거나, 수신 시스템들의 사용자들에 의한 수동 선택에 따라 선택된 파일들만을 전달하는 것과 같은 임의의 수의 주문 방식들에 기초하여 암호화된 파일(804)을 적응형 파일 전달을 통해 수신 시스템들(104)에 전달한다. 예를 들어, 네트워크(106)의 특정 부분에 링크된 수신 시스템들의 그룹들 중 몇몇 또는 이들 모두를 포함할 수 있는 미리 구성된 가입 리스트들의 사용을 통해, 주어진 컨텐츠 파일에 대하여 수신 시스템들(104) 중 적임의 시스템들의 집합이 결정된다.
상기 예에서, 암호화된 파일(804)의 컨텐츠(806)는 암호 해제되고 재생되기 위한 암호해제 키를 요구하는 통상의 디지털 암호화 방법들을 통해 사전 배포가 방지될 수 있다. 암호화된 파일(804)은 암호화된 파일의 컨텐츠(806)에 대한 향후 배포일을 표시하는 타임 스탬프(808)를 포함하지만 이에 제한되지 않는 연관된 암호화되지 않은 메타-데이터를 갖는다. 컨텐츠가 전달되면, 수신 시스템(104)은 고객에게 컨텐츠가 아직 사용될 수 없음을 표시하고, 배포일이 발생할 시점을 표시하는 도면 또는 텍스트 브라우저 타입 인터페이스들을 제공하기 위해 상기 메타-데이터에 액세스할 수 있다.
도 17에 도시된 것과 같이, 암호화된 파일(804)이 적응형 파일 전달을 통해 수신 시스템(104)에 전송된 후에, 수신 시스템은 적합한 암호해제 키를 요청하기 위해 라이센스 시스템(814)으로의 액세스 요청(단계 812)을 수행함으로써 암호화된 파일(804)을 재생할 것을 시도한다. 도 17에 도시된 것과 같이, 적절한 암호해제 키는 현재 라이센스 시스템(814)에 사용 불가능한 암호 해제 키(816)로 저장되어 있다. 상기 구현(800)의 몇몇 버전들에서, 라이센스 시스템(814)은 송신 시스템(102) 또는 또다른 시스템이 될 수 있다.
라이센스 시스템(814)은 액세스 거부로 응답한다(단계 818). 상기 구현(800)의 몇몇 버전들에서, 수신 시스템(104)은 그 자신의 내부 클럭을 수신 시스템에 이미 저장된 암호화된 파일(804)의 타임 스탬프(808)와 비교함으로써 액세스 요청을 전송하기 전에 먼저 증명한다. 상기 구현(800)의 몇몇 버전들에서, 수신 시스템의 내부 클럭은 해킹 또는 에러들에 약할 수 있기 때문에, 의도되지 않은 액세스에 대한 제 2의 보호로서, 수신 시스템(104)은 암호화된 파일(804)에 대한 암호해제 키를 획득하기 위해 송신 시스템(102)과 별개의 시스템으로서 라이센스 시스템(814)과 거래하도록 요구될 수 있다. 상기 버전들에서, 라이센스 시스템(814)은 수신 시스템(104)에 의한 무효한 요청들을 거절하는 것을 도울 수 있도록 자신의 시간 기준을 유지할 수 있다.
도 18에 도시된 것과 같이, 수신 시스템(104)은 배포일 당일 또는 이후에 유효한 액세스 요청을 사용가능한 암호해제 키(822)로서 연관된 암호해제 키를 저장한 라이센스 시스템(814)으로 전송한다(단계 820). 라이센스 시스템(814)은 암호화된 파일(804)의 후속 암호해제 및 재생을 위해 수신 시스템(104)에 사용가능한 암호해제 키(822)를 전송함으로써 응답한다.
도 19에 도시된 것과 같이, 수신 시스템(104)은 사용가능한 라이센스 키(822)를 획득하여 저장하고 있다. 사용가능한 라이센스 키(822)를 획득한 이후에, 수신 시스템(104)이 상기 수신 시스템에 저장된 암호화된 파일(804)을 재생하기 시작할 때마다, 수신 시스템은 컨텐츠의 허가된 재생을 허용하기 위해 상기 라이센스 키를 참조한다. 상기 구현(800)의 몇몇 버전들에서, 라이센스 키(822)는 라이센스 키의 또다른 수신 시스템으로의 허가되지 않은 전송을 방해하는 방식으로 수신 시스템에 저장된다.
수신 시스템의 제작 시기에 수신 시스템(104) 내에 컨텐츠 파일을 사전 로딩하도록 지시된 적응형 파일 전달 시스템(100)의 구현(900)이 도 20에 도시된다. 상기 구현(900)을 통해, 사전 로딩된 컨텐츠 라이브러리는 수신 시스템의 제작 시기에 상기 수신 시스템(104) 내에 로딩된다.
개인 컨텐츠 라이브러리들(706) 중 하나가 초기에 존재하도록 하기 위한 적응형 파일 전달 시스템(100)의 사용이 특정 상황들에서 바람직하지 못한 양의 시간을 소비할 수 있기 때문에, 상기 구현(900)은 사전 로딩된 개인 컨텐츠 라이브러리를 업데이트하고 추가로 확장하기 위해 적응형 파일 전달의 후속 사용시 개인 컨텐츠 라이브러리가 적응형 파일 전달에 점프 스타트(jumpstart)로서 사전 로딩 되도록 하는 파일들의 초기 수집을 고려한다. 개인 컨텐츠 라이브러리를 위한 파일 선택은 개별 구매 사용자의 요구 표시, 대표적인 사용자 타입, 또는 대표적인 수집 타입 등등과 같은 다양한 모델들에 기초할 수 있다.
상기 구현(900)은 록(908)에 의해 표시되는 것과 같이 암호화되는 파일들(906)을 암호화하여(단계 904) 연관된 키(910)를 발생하는 컨텐츠 서비스 제공자(902)를 포함한다. 상기 구현(900)은 추가로 키(910)의 카피를 저장하기 위한 키 저장장치(914), 수신 시스템 제작자(916), 및 사용자(918)를 가진 컨텐츠 라이센스 제공자(912)를 포함한다. 도시된 것과 같이, 암호화는 컨텐츠 서비스 제공자(902)에서 발생할 수 있지만, 선택적인 버전들에서, 암호화는 컨텐츠 라이센스 제공자(912)에서 발생할 수 있다. 일반적으로, 키(910)는 컨텐츠 라이센스 제공자(912)에 저장된다.
암호화(단계 904) 이후에, 컨텐츠 서비스 제공자는 키 저장장치(914) 내의 저장(단계 922)을 위해 키(910)의 카피를 컨텐츠 라이센스 제공자(912)에게 전송한다(단계 920). 만약 컨텐츠 라이센스 제공자(912)가 암호화를 수행하면(단계 904), 라이센스 제공자는 키(910)를 저장하도록 진행할 수 있다. 컨텐츠 서비스 제공자(902)는 암호화된 파일들(906)의 카피를 수신 시스템 제작자(916)에게 전송하여 암호화된 파일들(906)을 제작중인 수신 시스템(104)의 카피들 내에 통합시킨다(단계 926).
수신 시스템(104)의 카피는 일련의 상업적인 교환들을 통해 수신 시스템 제작자(916)로부터 사용자(918)에게 전달된다(단계 928). 사용자(918)가 수신 시스템(104)을 획득하면, 사용자는 일반적으로 수신 시스템과 설치 절차를 수행하며(단계 930), 따라서 컨텐츠 라이센스 제공자(912)로부터 키(910)의 카피를 위한 요청이 수행된다(단계 932). 몇몇 버전들에서, 사전 로딩된 컨텐츠 라이브러리를 인에이블하는 것은 옵션이며, 사용자(918)는 이를 수행하는 것을 거부할 수 있다. 상기 구현(900)의 몇몇 버전들에서, 키 요청(단계 932)은 컨텐츠 서비스 제공자(902)와 연관된 온라인 상점(비도시)과의 온라인 브라우저 세션을 통해 수행된다.
상기 브라우저 세션 동안, 사용자(918)는 키(910)의 적절한 버전을 제공하기 위해 라이센스 제공자(912)에 의해 사용될 수 있는 수신 시스템(104)의 하드웨어 식별자를 표시할 수 있다. 상기 키(910)의 카피는 컨텐츠 라이센스 제공자(912)로부터 수신 시스템(104)으로 전송된다(단계 934). 상기 키(910)의 카피는 하나 이상의 암호화된 파일들(906)을 암호해제하고 재생하기 위해 사용된다(단계 936). 상기 구현(900)이 몇몇 버전들에서, 암호화된 파일들(908) 중 하나를 재생하려는 수신 시스템(104)의 초기 시도는 키 요청(932)을 트리거한다. 만약 라이센스 제공자(912)가 상기 라이센스 제공자에 의해 유지되는 디바이스들의 서비스 가능 리스트 내에 키 요청(932)시 제공되는 하드웨어 식별자를 가지고 있지 않다면, 라이센스 제공자는 키 요청을 거부할 것이다. 암호해제 키(910)가 수신 시스템(104)에 의해 획득되면, 어떤 추가의 키 요청들도(단계 932) 요구되지 않는다.
적응형 파일 전달 시스템(100)의 구현(1000)이 도 21에 도시되며, 본 명세서에서 설명되는 적응형 파일 전달 시스템 및 방법이 파일 세그먼트 등등을 전송하기 위해 본 명세서에서 설명되는 더 많은 특정 절차들을 포함할 수 있음을 표시하기 위해 적응형 파일 전달 시스템(100) 및 연관된 방법의 컴포넌트들을 광범위하게 도시한다. 일반적으로, 적응형 파일 전달 시스템(100) 및 방법은 특정 전달 데드라인에 의해 구분적 방식으로 파일들을 전자적으로 전달하려고 한다. 몇몇 버전들에서, 다른 양상들은 요청 또는 주문에 의해 적응형 파일 전달을 개시하는 것을 포함할 수 있다. 추가 양상들은 수신된 파일들을 재생하는 것을 포함할 수 있다. 상기 구현(1000)의 도시된 버전들은 전달 세션에서 3가지 이벤트들: 컨텐츠를 주문하고(단계 1004), 전달 데드라인까지 컨텐츠를 전달하고(단계 1006), 컨텐츠를 재생하는(단계 1008) 것을 포함하는 타임 라인(1002)을 따라 시간 구분에 의해 동작한다. 상기 이벤트들을 구별함으로써, 송신 시스템(102)은 규정되지 않은 기간들 동안 주기적이고, 예측 불가능하며, 사용 불가능 기간(1012)이 될 수 있는 네트워크 사용 가능 기간(1010) 동안 컨텐츠를 전송할 수 있다.
상기 구현(1000)은 저장된 미디어 컨텐츠 파일들의 라이브러리와 연관된 서버로서 송신 시스템(104)을 동작시키는 서비스 제공자를 포함할 수 있다. 송신 시스템(1000)은 서비스 제공자의 고객들을 표시하는 수신 시스템들(104)의 집합에 컨텐츠 파일들을 전달한다. 전달된 컨텐츠 파일들은 그들이 전달되자마자 수신 시스템들(104)에 국부적으로 저장된다. 컨텐츠의 주문(단계 1004)은 전달 단계에서 시작하며, 고객에 의해 직접, 고객을 대신하여 동작하는 또 다른 사람이나 기계에 의해 대리로 실행될 수 있다. 송신 시스템(102)은 그 후에 네트워크 사용가능(1010) 및/또는 사용 불가능(1012)의 예상 시간들을 추정하여 클라이언트에 컨텐츠 파일을 전달하는데 필요한 예상 전달 레이트를 계산한다. 예측된 네트워크 전달 시간은 수동적으로 구성된 프로파일들, 이전 기간들의 히스토리컬 측정치들, 네트워크 활동 경향 등등에 기초할 수 있다.
때때로 전달 동안 네트워크가 사용 불가능한(1012) 예측되지 않은 기간이 존재할 수 있다. 중단들이 예상되지 않으면, 중단 결과로서 송신 시스템(102)은 전달 데드라인을 맞추기 위해 새롭게 요구되는 전달 레이트를 자동으로 재계산하여, 미디어 컨텐츠 파일의 나머지 부분의 전달을 재시작한다. 전달은 전체 파일이 수신 시스템(104)에 전달될 때 완료한다(단계 1006). 전달 이후의 규정되지 않은 기간에, 주문중인 고객 또는 다른 사용자에 의해 운영되는 수신 시스템(104)은 수신 시스템(104)에서 상기 수신 시스템(104)과 송신 시스템(104) 사이의 전달 네트워크의 부정적인 수행으로부터 완전히 자유로운, 국부적으로 저장된 미디어 파일을 재생할 수 있다.
송신 시스템(102)이 가상 네트워크 운영자로서 사용되는 구현(1100)이 도 22에 도시된다. 적응형 파일 전달 접근방식의 사용을 통해, 송신 시스템(102)은 대량의 파일들을 수신 시스템(104)의 다수 사용자들에게 전송하기 위해 각각 다양한 서로 다른 타입의 네트워크 로딩 프로파일들(1104)을 가지는 하나 이상의 전달 또는 서비스 제공자 네트워크들(1102)을 포함하는 것으로 네트워크(106)를 사용할 수 있다.
추가의 네트워크 로딩 복잡성들은 하나 이상의 서비스 제공자 네트워크들(1102)에 링크된 다른 로딩 프로파일들(1108)을 가진 LAN들을 가지는 것을 포함할 수 있다. 다양한 네트워크 로딩 복잡성들에도 불구하고, 송신 시스템(102)은 상기 서비스 제공자 네트워크들에서 서비스를 중단시키거나 대역폭의 확장을 발생하는 정도로 서비스 제공자 네트워크들(1102)에 영향을 미치지 않고 형성된 전달 데드라인들을 충족하기 위해 대량의 파일들을 성공적으로 전송할 수 있다.
상기 구현(1100)에서, 송신 시스템(102)은 임의의 계약적인 방식으로 네트워크 액세스 제공자들과 관계되지 않을 수 있는 비지니스 엔티티들을 허용하기 위해 가상 네트워크 운영자 장비를 통해 사용될 수 있고, 다른 기간들이 아닌 특정 기간들 동안 나머지 성능을 가지는 서비스 제공자 네트워크들(1102)을 통해 대량의 미디어 컨텐츠 분배 서비스들을 형성하여 운영할 수 있다. 일반적으로, 상기 구현(1100)은 가상 네트워크 운영자 서비스를 지원하기 위해 추가의 성능의 확장을 요구하지 않고 네트워크들의 현재 성능 내에서 유지하기 위해 가상 네트워크 운영자로서의 송신 시스템(102)과 고객들 사이에 도 22에 도시된 네트워크(106) 또는 다른 네트워크들과 같은 네트워크들의 오프-피크(off-peak) 네트워크 성능을 사용하기 위해 적응형 파일 전달을 사용한다.
가상 네트워크 운영자로서, 송신 시스템(102)은 고객들에 의해 액세스될 수 있는 컨텐츠 파일들의 라이브러리를 저장하는 하나 이상의 컨텐츠 서버들 또는 다른 저장 디바이스들을 포함한다. 가상 네트워크 운영자 서비스는 사용자의 컨텐츠 저장 유니트들(DVR's, PMC's, 네트워크-부가 저장 유니트들, PCs 등등)로의 저장을 위한 지정된 사용자들로의 미디어 컨텐츠 파일들의 전달로서 광범위하게 정의될 수 있다. 따라서 가상 네트워크 운영자 서비스는 그들의 컨텐츠가 비지니스 고객들에게 전달되기를 원하는 비지니스용 전달 에이전트 서비스와 유사하다.
적응형 파일 전달 시스템(100)의 구현들은 둘 이상의 서비스 제공자 네트워크들(1102), LANs(1106), 다른 네트워크들 및/또는 IP 또는 네트워크-계층 어드레스들 사이에서 이동되도록 이동 능력을 가진 하나 이상의 수신 시스템들(104; 예컨대, 랩탑)을 포함할 수 있다. 예를 들어, 사용자는 사용자의 수신 시스템(104)을 서비스 제공자 네트워들(1102) 중 하나를 통해 통신가능하게 링크되는 DSL 모뎀에 접속하는 홈 액세스 포인트에 접속할 수 있다. 상기 경우에, 수신 시스템(104)과 연관된 네트워크 어드레스는 DSL 모뎀의 광대역 네트워크 어드레스가 될 수 있다. 예를 들어, 사용자는 사용자의 근무지에서 법인용 LAN과 같은 LANs(1106) 중 하나에 수신 시스템(104)을 접속하며, 결과적으로 수신 시스템에 대한 네트워크 어드레스를 변경시킨다.
추가로, 사용자가 그 후에 수신 시스템(104)을 공항에서 3G 모뎀을 통해 서비스 제공자 네트워크들(1102) 중 또다른 네트워크 또는 LANs(1106)에 수신 시스템(104)을 접속하며, 다시 액세스 네트워크의 타입을 변경시킨다고 가정하자. 상기 예로서 제공된 네트워크 접속들의 다양한 변경들을 통해, 송신 시스템(102)은 상기 링크들 각각에 대한 성능을 추적하기 위해 사용될 수신 시스템(104)과 함께 형성된 다양한 링크들에 대한 네트워크 로딩 프로파일(1104)의 히스토리를 저장장치(114) 내에 보유한다. 성능 추적은 특정 링크가 비-로드 조건 또는 비 혼잡 조건에서 얼마나 잘 수행할 수 있는지를 포함할 수 있다. 동작 동안, 송신 시스템(102)은 현재 대역폭을 사용하는 방법을 결정하기 위해 링크에 대하여 수집된 히스토리를 사용할 수 있다.
링크 성능의 추적은 파일 세그먼트들 중 하나가 수신 시스템으로 전송될 때마다 스루풋율을 측정하는 수신 시스템(104)에 의해 실행될 수 있다. 수신 시스템(104)은 송신 시스템(102)에 측정된 스루풋을 보고할 수 있다. 결과적으로, 송신 시스템(102)은 수신 시스템(104)으로부터 실시간 링크 성능 메트릭들을 수신할 수 있다.
성능 추적의 특정 양상들은 상기 구현에 따라 변화할 수 있다. 예를 들어, 송신 시스템(102)이 수신 시스템들(104) 중 하나로부터 다운로드 요청을 수신하면, 송신 시스템은 상기 요청을 확인할 수 있다. 확인(validation)은 수신 시스템의 사용자에게 할당된 고객 ID(ID) 및 수신 시스템(104) 클라이언트 기계의 전자 일련 번호(ESN)를 사용하여 수행될 수 있지만, 다른 확인 방법들이 사용될 수 있다.
확인을 수행하면, 송신 시스템(102)은 송신 시스템에 의해 수신 시스템으로부터 수신된 다운로드 요청의 네트워크 패킷 헤드 부분에서 수신 시스템(104)의 입력된 접속 소스 IP 어드레스 정보를 획득할 수 있다. 송신 시스템(102)의 프로세서(112)는 송신 시스템의 저장장치(114)가 다운로드 요청과 연관된 ESN 및 소스 어드레스를 포함하는 기록을 이미 가지고 있는지 결정할 수 있다. 만약 상기 기록이 존재하고 있다면, 프로세서는 상기 기록의 성능 정보를 업데이트할 수 있고, 만약 상기 기록이 존재하지 않으면, 새로운 기록을 생성할 수 있다. 몇몇 구현들에서, 송신 시스템(102)은 각각 동일한 소스 어드레스를 포함하지만 새로운 기록을 생성하는 것을 돕기 위해 다운로드 요청의 ESN과는 다른 ESN을 포함하는 하나 이상의 현재 기록들로부터 성능 정보를 사용할 수 있다.
몇몇 구현들에서, 링크 성능은 현재 파일 세그먼트 전송을 위한 피크 대역폭 값에 따라 추적되며, 따라서 현재 피크 대역폭에 대한 값이 송신 시스템(102)의 저장장치(114) 내에서 발견된 기록 내에서 이전에 유지된 히스토리컬 피크 대역폭에 대한 값과 관련된 임계치보다 클 때 기록은 업데이트될 수 있다. 예를 들어, 현재 피크 대역폭에 대한 값이 히스토리컬 피크 대역폭에 대한 저장된 값보다 크면, 히스토리컬 피크 대역폭에 대한 값은 현재 피크 대역폭에 대한 값으로 대체된다.
만약 현재 피크 대역폭에 대한 값이 히스토리컬 피크 대역폭에 대한 값의 몇몇 퍼센트율보다 크면(예컨대, 히스토리컬 피크 대역폭에 대한 값의 90% 보다 크면), 현재 시간은 상기와 같은 상황을 메모하기 위해 기록 내에 저장된다. 이는 때때로 히스토리컬 피크 대역폭에 대한 값이 네트워크 구조에서의 변경들 또는 포기된 네트워크 접속들로 인해 부적절하게 되는지 결정하기 위해 사용될 수 있다. 관계 없이, 최종 활성 다운로드 시간은 링크가 다운로드 동안 종료하는 것을 방지하기 위해 기록된다.
만약 현재 피크 대역폭에 대한 값이 히스토리컬 피크 대역폭에 대한 값의 몇몇 퍼센트율 미만이면, 상기 기록은 최종 활성 다운로드 시간을 현재 다운로드 시간으로 대체함으로써 업데이트된다. 새로운 기록을 생성하기 위해, 송신 시스템(102)은 수신 시스템(104)의 소스 어드레스 및 ESN을 저장하고, 히스토리컬 임계치가 초과된 가장 최근 시간으로서 현재 시간을 저장할 수 있다. 모든 경우들에서 다운로드 시간 동안 링크가 종료하는 것을 방지하기 위해 최종 활성 다운로드 시간이 기록된다. 테이블 1은 송신 시스템(102)의 저장장치(114) 내에 기록이 형성되는 방법의 대표적인 예를 도시한다.
ID ESN 피크 레이트 피크 타임 이전 90% 시간 소스 어드레스 최종 활성
1 1234 235 1234567 1234567690 76.123.89.112 2323234
2 2345 978 1234567 1234567891 76.199.10.138 2323236
전술된 접근방식에서, 송신 시스템(102)은 모든 새로운 다운로드 링크들을 추적하고, 각각의 피크 성능을 추적할 수 있다. 추가로, 송신 시스템(102)은 형성된 기록들을 가진 링크들의 성능을 수신 시스템(104)이 그들 사이에서 스위칭할 때 추적하는 것을 계속할 수 있다. 상기 접근 방식은 송신 시스템(102)이 특정 링크가 새로운 더 낮은 성능 레벨을 가질 때를 인식하여 메모하도록 한다. 공통으로 연관된 기록들은 특정 소스 어드레스 또는 ESN에 대한 비교 성능 분석을 위해 사용될 수 있다. 추가로, 하나 이상의 송신 시스템들(104)은 링크 상태 인식을 개선하기 위해 다양한 링크들의 정보를 공유할 수 있다. 링크는 소스 및 목적지 어드레스들(IP 어드레스들과 같은)에 의해 한정되기 때문에, 소스 어드레스와 관련하여 이전에 저장된 정보는 소스 어드레스 및 ESN의 새로운 조합을 위한 기록을 생성할 때 유용할 수 있다.
전술된 설명으로부터, 본 발명의 특정 실시예들은 설명을 위해 본 명세서 내에 개시되었지만, 다양한 변형들이 본 발명의 사상 및 범위를 벗어나지 않고 실행될 수 있음이 인식될 것이다. 따라서, 본 발명은 첨부된 청구항들에 의해서만 제한된다.

Claims (26)

  1. 송신 시스템 및 수신 시스템 사이에서 수신 시스템에 의해 수신될 파일의 나머지 부분의 파일 세그먼트를 송신하기 위한 제 1 세션을 개시하는 단계 - 상기 수신 시스템은 네트워크의 제 1 부분에 연결되고 제 1 네트워크 어드레스를 가짐 - 와,
    파일 세그먼트의 제 1 부분이 수신 시스템에 의해 수신된 후 파일 세그먼트의 제 2 부분이 수신 시스템에 의해 수신되어야할 제 1 세션 중에, 네트워크로부터 수신 시스템을 단절시켜서 제 1 세션을 종료시키는 단계와,
    네트워크로부터 수신 시스템을 단절 후, 수신 시스템을 네트워크의 제 2 부분에 연결하는 단계 - 수신 시스템은 제 1 네트워크 어드레스와는 다른 제 2 네트워크 어드레스를 가짐 - 와,
    네트워크의 제 2 부분에 수신 시스템을 연결 후, 송신 시스템으로부터 수신 시스템으로 파일 세그먼트의 제 2 부분의 송신을 재개하도록 제 2 세션을 자동적으로 개시하는 단계와,
    파일 세그먼트의 미송신 부분을 수신하는 단계와,
    파일 세그먼트가 송신 시스템으로부터 송신된 때와, 파일 세그먼트가 수신 시스템에서 수신된 때 간의 경과 시간과, 파일 세그먼트의 크기에 부분적으로 기초하여, 송신 시스템으로부터 수신 시스템으로 파일 세그먼트가 송신된 실제 전송 속도를 결정하는 단계와,
    최대 전송 속도, 최소 전송 속도, 및 실제 전송 속도에 부분적으로 기초하여 대기 주기를 결정하는 단계와,
    수신 시스템에서 파일 세그먼트의 수신 후, 수신 시스템으로부터 수신확인 메시지를 송신하기 전에 대기 주기를 기다리는 단계 - 상기 수신확인 메시지는 수신 시스템에 의해 파일 세그먼트의 수신을 확인함 - 와,
    수신 시스템으로부터 수신확인 메시지를 송신하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    송신 시스템은 제 2 세션의 개시를 위해 수신 시스템으로부터 제 2 네트워크 어드레스를 수신하는
    방법.
  3. 제 1 항에 있어서,
    송신 시스템은 제 2 세션 개시를 위해 수신 시스템으로부터 요청을 수신하는
    방법.
  4. 제 1 항에 있어서,
    실질적으로 네트워크로부터 수신 시스템의 단절 시간에 세션의 상태를 보유하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    수신 시스템은 카운트-다운 타이머를 이용하여, 제 2 세션 개시를 위한 요청을 송신 시스템에 송신하는 것을 개시하는
    방법.
  6. 제 1 항에 있어서,
    제 2 세션이 개시된 후, 파일 세그먼트의 제 2 부분만이 송신 시스템으로부터 수신 시스템으로 송신되는
    방법.
  7. 제 1 항에 있어서,
    파일 세션이 종료될 때 송신 시스템의 스토리지에 보유되는 세션 상태에 기초하여, 제 2 세션 중 송신 시스템으로부터 수신 시스템으로 파일 세그먼트의 미송신 부분을 송신하는 단계를 더 포함하는
    방법.
  8. 제 1 항에 있어서,
    송신 시스템과는 다른 송신 시스템으로부터 수신 시스템으로 파일 세그먼트의 미송신 부분을 송신하는 단계를 더 포함하는
    방법.
  9. 제 1 항에 있어서,
    상기 네트워크의 제 1 부분은 네트워크의 제 2 부분과 다른 타입인
    방법.
  10. 송신 시스템 및 수신 시스템 사이에서 수신 시스템에 의해 수신될 파일의 나머지 부분의 파일 세그먼트를 송신하기 위한 제 1 세션을 개시하는 단계 - 상기 수신 시스템은 네트워크의 제 1 부분에 연결되고 제 1 네트워크 어드레스를 가짐 - 와,
    파일 세그먼트의 제 1 부분이 수신 시스템에 의해 수신된 후 파일 세그먼트의 제 2 부분이 수신 시스템에 의해 수신되어야할 제 1 세션 중에, 네트워크로부터 수신 시스템을 단절시켜서 제 1 세션을 종료시키는 단계와,
    네트워크로부터 수신 시스템을 단절 후, 수신 시스템을 네트워크의 제 2 부분에 연결하는 단계 - 수신 시스템은 제 1 네트워크 어드레스와는 다른 제 2 네트워크 어드레스를 가짐 - 와,
    네트워크의 제 2 부분에 수신 시스템을 연결 후, 송신 시스템으로부터 수신 시스템으로 파일 세그먼트의 제 2 부분의 송신을 재개하도록 제 2 세션을 자동적으로 개시하는 단계와,
    파일의 나머지 부분에 대해 결정된 크기와, 파일의 나머지 부분의 전송을 위해 가용한 시간의 크기에 부분적으로 기초하여, 파일 세그먼트의 전송을 위한 최소 전송 속도를 결정하는 단계와,
    송신 시스템의 최대 전송 용량 및 최소 전송 속도에 부분적으로 기초하여, 파일의 나머지 부분의 파일 세그먼트를 전송하기 위한 최대 전송 속도를 결정하는 단계를 포함하는
    방법.
  11. 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 하나의 세그먼트를 송신함으로써 제 1 세션을 개시하는 단계 - 상기 수신 시스템은 네트워크의 제 1 부분에 연결되고 제 1 네트워크 어드레스를 가짐 - 와,
    네트워크로부터 수신 시스템을 단절시켜서 제 1 세션을 종료시키는 단계와,
    네트워크의 제 2 부분에 수신 시스템을 연결하는 단계 - 수신 시스템은 네트워크의 제 2 부분에 연결되면서 제 2 네트워크 어드레스를 가짐 - 와,
    제 2 세션을 개시하는 단계와,
    제 2 세션에서 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 다른 세그먼트를 송신하는 단계와,
    파일의 복수의 세그먼트 중 하나의 세그먼트의 송신 시간 및 수신 시간과 크기에 부분적으로 기초하여, 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 하나의 세그먼트를 송신할 때의 실제 전송 속도를 결정하는 단계와,
    실제 전송 속도에 부분적으로 기초하여, 대기 주기를 결정하는 단계와,
    수신 시스템에서 파일의 복수의 세그먼트 중 하나의 세그먼트를 수신 후, 수신 시스템으로부터 수신확인 메시지를 송신하기 전에 대기 주기를 기다리는 단계 - 상기 수신확인 메시지는 수신 시스템에 의해 파일 세그먼트의 수신을 확인해줌 - 와,
    제 2 네트워크 어드레스로부터 수신 시스템으로부터 수신확인 메시지를 송신하는 단계를 포함하는
    방법.
  12. 제 11 항에 있어서,
    네트워크의 제 1 부분이 네트워크의 제 2 부분과는 다른 타입인
    방법.
  13. 제 11 항에 있어서,
    송신 시스템은 수신 시스템에 파일의 복수의 세그먼트 중 나머지의 송신을 시작하기 위해 수신 시스템으로부터 제 2 네트워크 어드레스를 수신하는
    방법.
  14. 제 11 항에 있어서,
    송신 시스템은 네트워크의 제 2 부분에 수신 시스템 연결시, 파일의 다른 세그먼트를 송신하기 위한 요청을 수신 시스템으로부터 자동적으로 수신하는
    방법.
  15. 제 11 항에 있어서,
    실질적으로 네트워크로부터 수신 시스템의 단절 시간에 파일의 복수의 세그먼트 중 하나의 송신에 관한 정보를 보유하는 단계를 더 포함하는
    방법.
  16. 제 11 항에 있어서,
    수신 시스템이 네트워크의 제 2 부분에 연결된 후, 복수의 파일 세그먼트 중 나머지가, 수신 시스템에 복수의 파일 세그먼트 중 하나의 재송신없이, 수신 시스템에 송신되는
    방법.
  17. 제 11 항에 있어서,
    수신 시스템이 네트워크로부터 단절된 시간에 송신 시스템의 스토리지에 보유되는 세션 상태에 기초하여 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 나머지를 송신하는 단계를 더 포함하는
    방법.
  18. 제 11 항에 있어서,
    상기 송신 시스템과는 다른 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 나머지를 송신하는 단계를 더 포함하는
    방법.
  19. 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 하나의 세그먼트를 송신함으로써 제 1 세션을 개시하는 단계 - 상기 수신 시스템은 네트워크의 제 1 부분에 연결되고 제 1 네트워크 어드레스를 가짐 - 와,
    네트워크로부터 수신 시스템을 단절시켜서 제 1 세션을 종료시키는 단계와,
    네트워크의 제 2 부분에 수신 시스템을 연결하는 단계 - 수신 시스템은 네트워크의 제 2 부분에 연결되면서 제 2 네트워크 어드레스를 가짐 - 와,
    제 2 세션을 개시하는 단계와,
    제 2 세션에서 송신 시스템으로부터 수신 시스템으로 파일의 복수의 세그먼트 중 다른 세그먼트를 송신하는 단계와,
    파일의 나머지 부분의 송신을 위해 가용한 시간의 크기와, 아직 송신하지 않은 파일의 나머지 부분에 대한 결정된 크기에 부분적으로 기초하여, 복수의 파일 세그먼트 중 하나의 파일 세그먼트를 송신하기 위한 최소 전송 속도를 결정하는 단계와,
    송신 시스템의 최대 전송 용량과 최소 전송 속도에 부분적으로 기초하여, 파일의 복수의 세그먼트 중 하나를 송신하기 위한 최대 전송 속도를 결정하는 단계를 포함하는
    방법.
  20. 송신 시스템으로부터 수신 시스템으로 복수의 파일 세그먼트로 구성된 파일의 일부분을 송신하는 단계 - 파일의 일부분 송신은 각각의 전송 후 발생하는 복수의 대기 주기 중 서도 다른 주기를 갖는 복수의 전송에 의해 한번에 하나씩 파일 세그먼트를 송신하는 과정을 포함함 - 와,
    각각의 파일 세그먼트 전송에 대하여, 파일 세그먼트가 송신 시스템으로부터 수신 시스템으로 송신된 실제 전송 속도를 결정하는 단계와,
    파일 세그먼트 전송 중 적어도 하나에 대하여, 제 1 네트워크 어드레스를 갖는 네트워크의 제 1 부분에 연결되는 수신 시스템에서 파일 세그먼트 전송을 수신하는 단계와,
    파일 세그먼트 전송 중 적어도 하나에 대하여, 제 2 네트워크 어드레스를 갖는 네트워크의 제 2 부분에 연결되는 수신 시스템에서 파일 세그먼트 전송을 수신하는 단계와,
    제 1 네트워크 어드레스를 갖는, 그리고, 제 1 네트워크 어드레스에 대한 이전 파일 세그먼트 전송을 갖는, 수신 시스템에 대한 각각의 파일 세그먼트 전송에 대하여, 제 1 네트워크 어드레스에 대한 이전 파일 세그먼트 전송의 실제 전송 속도에 의해 부분적으로 기초하는 제 1 네트워크 어드레스를 갖는 수신 시스템에 대한 파일 세그먼트 전송에서 송신될 파일 세그먼트의 크기를 결정하는 단계와,
    제 2 네트워크 어드레스를 갖는, 그리고, 제 2 네트워크 어드레스에 대한 이전 파일 세그먼트 전송을 갖는, 수신 시스템에 대한 각각의 파일 세그먼트 전송에 대하여, 제 2 네트워크 어드레스에 대한 이전 파일 세그먼트 전송의 실제 전송 속도에 부분적으로 기초하는 제 2 네트워크 어드레스를 갖는 수신 시스템에 대한 파일 세그먼트 전송에서 송신될 파일 세그먼트의 크기를 결정하는 단계를 포함하는
    방법.
  21. 제 20 항에 있어서,
    네트워크의 제 1 부분은 네트워크의 제 2 부분과 다른 타입인
    방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020117002772A 2008-07-02 2009-07-01 투명 능력을 구비한 적응형 파일 전달 시스템 및 방법 KR101444987B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/167,154 US7921196B2 (en) 2005-04-07 2008-07-02 Adaptive file delivery with transparency capability system and method
US12/167,154 2008-07-02
PCT/US2009/049451 WO2010003024A2 (en) 2008-07-02 2009-07-01 Adaptive file delivery with transparency capability system and method

Publications (2)

Publication Number Publication Date
KR20110046461A KR20110046461A (ko) 2011-05-04
KR101444987B1 true KR101444987B1 (ko) 2014-09-26

Family

ID=41466600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117002772A KR101444987B1 (ko) 2008-07-02 2009-07-01 투명 능력을 구비한 적응형 파일 전달 시스템 및 방법

Country Status (5)

Country Link
US (1) US7921196B2 (ko)
EP (1) EP2297913B1 (ko)
JP (2) JP2011527164A (ko)
KR (1) KR101444987B1 (ko)
WO (1) WO2010003024A2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995588B2 (en) * 2006-01-27 2011-08-09 Vuze Llc Systems and methods for distributing data within an internet having a plurality of nodes
US20090006624A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Entertainment Access Service
US8219283B2 (en) * 2007-11-14 2012-07-10 Ford Global Technologies Active steering nibble control algorithm for electric steering systems
US20090171762A1 (en) * 2008-01-02 2009-07-02 Microsoft Corporation Advertising in an Entertainment Access Service
US10475010B2 (en) * 2008-01-10 2019-11-12 Microsoft Technology Licensing, Llc Federated entertainment access service
JP2010027004A (ja) * 2008-07-24 2010-02-04 Fujitsu Ltd コンテンツ配信装置、通信システム、コンテンツ配信方法、およびプログラム
US8103631B2 (en) * 2008-11-19 2012-01-24 Sandisk Il Ltd Merging files on storage and retrieve
US8103769B1 (en) * 2009-09-03 2012-01-24 Amazon Technologies, Inc. Dynamic isolation of shared resources
US20110210835A1 (en) * 2010-03-01 2011-09-01 Denso Corporation Emergency notification system and method for notifying emergency
CN103004229A (zh) * 2010-07-20 2013-03-27 夏普株式会社 数据配送系统、数据配送方法、配送侧数据中继装置、及接收侧数据中继装置
CN103297449B (zh) 2012-02-24 2017-12-12 腾讯科技(深圳)有限公司 一种文件传输方法、即时通信终端及系统
CN104168081B (zh) * 2013-05-20 2018-09-07 腾讯科技(深圳)有限公司 一种文件传输方法及装置
ES2766267T3 (es) * 2013-11-20 2020-06-12 Opanga Networks Inc Pre-entrega fraccional de contenido a dispositivos de usuario
WO2015126595A1 (en) * 2014-02-21 2015-08-27 Purdue Research Foundation Analyzing an extracted sample using an immiscible extraction solvent
US20150271231A1 (en) * 2014-03-18 2015-09-24 Qualcomm Incorporated Transport accelerator implementing enhanced signaling
JP6137149B2 (ja) * 2014-12-01 2017-05-31 コニカミノルタ株式会社 情報処理システム、クラウドサーバー、装置制御方法および装置制御プログラム
US9807010B2 (en) 2015-06-05 2017-10-31 Akamai Technologies, Inc. Congestion detection in mobile networks and delivery of content in non-congested conditions
WO2017134119A1 (en) 2016-02-01 2017-08-10 Piksel, Inc Monitoring streaming related to connectivity
KR102421791B1 (ko) * 2016-05-26 2022-07-15 삼성전자주식회사 Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치
US10667172B2 (en) 2018-06-18 2020-05-26 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
US11012362B2 (en) 2018-06-18 2021-05-18 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060057532A (ko) * 2003-05-09 2006-05-26 에이티아이 프로퍼티즈, 인코퍼레이티드 티타늄-알루미늄-바나듐 합금 가공 및 이에 의하여 제조된제품
KR20070053654A (ko) * 2004-03-05 2007-05-25 넥스트넷 와이어리스 인크. 경쟁 체제 데이터 링크를 통한 등시성 데이터그램 전달을위한 방법 및 장치
KR20080043925A (ko) * 2006-11-15 2008-05-20 엘지전자 주식회사 파일에 대한 접근 제어 방법
KR20080048130A (ko) * 2006-11-28 2008-06-02 전자부품연구원 메타데이터를 이용한 멀티미디어 재생장치 간의 멀티미디어컨텐츠 북마크 공유 방법 및 시스템

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10290475A (ja) * 1997-02-12 1998-10-27 Fujitsu Ltd 移動通信システム
US6651105B1 (en) * 1998-11-12 2003-11-18 International Business Machines Corporation Method for seamless networking support for mobile devices using serial communications
JP4299911B2 (ja) * 1999-03-24 2009-07-22 株式会社東芝 情報転送システム
JP2001016253A (ja) * 1999-06-29 2001-01-19 Hitachi Ltd 残留tcpコネクション切断方法
US6845398B1 (en) * 1999-08-02 2005-01-18 Lucent Technologies Inc. Wireless multimedia player
US6377805B1 (en) * 1999-08-04 2002-04-23 International Business Machines Corporation Maintaining data communication through neighboring mobile units during handoff
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US7103906B1 (en) * 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US6948010B2 (en) 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
JP4011319B2 (ja) * 2001-09-18 2007-11-21 京セラ株式会社 通信装置及び通信方法
US7451205B2 (en) * 2001-10-01 2008-11-11 Hewlett-Packard Development Company, L.P. Multimedia stream pre-fetching and redistribution in servers to accommodate mobile clients
US7533158B2 (en) * 2003-01-17 2009-05-12 At&T Intellectual Property I, L.P. System and method for handling digital content delivery to portable devices
JP2004336256A (ja) * 2003-05-02 2004-11-25 Ntt Docomo Inc データ通信システム
ES2268319T3 (es) * 2003-05-21 2007-03-16 Siemens S.P.A. Metodo para descargar software con soporte de movilidad de sesion en sistemas de comunicacion moviles.
US20050128995A1 (en) 2003-09-29 2005-06-16 Ott Maximilian A. Method and apparatus for using wireless hotspots and semantic routing to provide broadband mobile serveices
US20050091395A1 (en) 2003-10-08 2005-04-28 Jason Harris Method and system for transferring data files
US7500010B2 (en) 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060057532A (ko) * 2003-05-09 2006-05-26 에이티아이 프로퍼티즈, 인코퍼레이티드 티타늄-알루미늄-바나듐 합금 가공 및 이에 의하여 제조된제품
KR20070053654A (ko) * 2004-03-05 2007-05-25 넥스트넷 와이어리스 인크. 경쟁 체제 데이터 링크를 통한 등시성 데이터그램 전달을위한 방법 및 장치
KR20080043925A (ko) * 2006-11-15 2008-05-20 엘지전자 주식회사 파일에 대한 접근 제어 방법
KR20080048130A (ko) * 2006-11-28 2008-06-02 전자부품연구원 메타데이터를 이용한 멀티미디어 재생장치 간의 멀티미디어컨텐츠 북마크 공유 방법 및 시스템

Also Published As

Publication number Publication date
US20090024749A1 (en) 2009-01-22
WO2010003024A3 (en) 2010-04-15
KR20110046461A (ko) 2011-05-04
JP2015029295A (ja) 2015-02-12
WO2010003024A2 (en) 2010-01-07
JP5974373B2 (ja) 2016-08-23
EP2297913A2 (en) 2011-03-23
US7921196B2 (en) 2011-04-05
EP2297913B1 (en) 2018-11-28
EP2297913A4 (en) 2017-07-05
JP2011527164A (ja) 2011-10-20

Similar Documents

Publication Publication Date Title
KR101444987B1 (ko) 투명 능력을 구비한 적응형 파일 전달 시스템 및 방법
KR101464402B1 (ko) 링크 프로파일링을 사용한 적응형 파일 전달 시스템 및 방법
US10396913B2 (en) System and method for peak flow detection in a communication network
US7500010B2 (en) Adaptive file delivery system and method
US8589508B2 (en) System and method for flow control in an adaptive file delivery system
US11258531B2 (en) System and method for peak flow detection in a communication network
US7139834B1 (en) Data routing monitoring and management
US10182090B2 (en) Managing content on an ISP cache
JP2006270846A (ja) データ配信サーバ、データ配信システム、及び、データ配信方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 6