KR101009326B1 - 정보 처리 장치, 정보 처리 방법, 및 기록 매체 - Google Patents

정보 처리 장치, 정보 처리 방법, 및 기록 매체 Download PDF

Info

Publication number
KR101009326B1
KR101009326B1 KR1020047011592A KR20047011592A KR101009326B1 KR 101009326 B1 KR101009326 B1 KR 101009326B1 KR 1020047011592 A KR1020047011592 A KR 1020047011592A KR 20047011592 A KR20047011592 A KR 20047011592A KR 101009326 B1 KR101009326 B1 KR 101009326B1
Authority
KR
South Korea
Prior art keywords
data
processing
reproduction
information
transmission
Prior art date
Application number
KR1020047011592A
Other languages
English (en)
Other versions
KR20050084765A (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 KR20050084765A publication Critical patent/KR20050084765A/ko
Application granted granted Critical
Publication of KR101009326B1 publication Critical patent/KR101009326B1/ko

Links

Images

Classifications

    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/38Flow control; Congestion control by adapting coding or compression rate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크를 통한 데이터 취득 처리를 여러 가지 전송 방식으로부터 최적 구성을 선택하여 실행하는 장치 및 방법을 제공한다. 네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 구성에 있어서, 데이터의 수요도(인기도)에 따라, 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하고, 결정 전송 방식에 따른 데이터 전송을 실행하는 구성으로 했다. 본 구성에 의해, 예를 들면, 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 등으로부터의 데이터 전송 방식의 선택, 조합이 가능하게 되어, 효율적이며 확실한 데이터 전송 방식에 의한 데이터 전송이 실현된다.
네트워크, 데이터, 전송 방식, 재생 처리, 결정 전송 방식.

Description

정보 처리 장치, 정보 처리 방법, 및 기록 매체{INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND RECORDING MEDIUM}
본 발명은 정보 처리 장치 및 정보 처리 방법, 및 컴퓨터·프로그램에 관한 것이다. 보다 상세하게는, 네트워크 등으로 접속된 복수의 노드(정보 처리 장치)에 분산 저장된 데이터(컨텐츠), 또는 특정의 노드, 예를 들면 서버 등에 저장된 데이터 등을 네트워크를 통해 송수신하는 구성에 있어서, 상이한 복수의 전송 방식을 상황에 따라 조합하여 실행함으로써, 전송 효율을 높인 데이터 재생을 가능하게 한 정보 처리 장치 및 정보 처리 방법, 및 컴퓨터·프로그램에 관한 것이다.
근래, 인터넷 등의 통신 네트워크에는 여러 가지 정보 처리 장치, 예를 들면 퍼스널 컴퓨터(PC), 대형 컴퓨터, 서버, 그 밖의 통신 기기가 접속되고, 각 네트워크 접속 기기 간의 영상, 화상 데이터, 음성 데이터, 또는 각종 프로그램 등의 컨텐츠 전송, 또는 여러 가지 처리 데이터의 전송이 실행되고 있다. 네트워크를 통해 주고 받게되는 컨텐츠의 종류는 텍스트·정지 화상 등에서, 애니메이션·음성 등의 멀티미디어 컨텐츠로 이행이 진행되고 있으며, 컨텐츠의 대용량화가 현저하게 진행되고 있다.
어느 데이터를, 네트워크를 통해 서로 접속된 다수의 정보 처리 단말기에 분 산하여 기록하는 대규모 기억 장치 시스템이 주목되고 있다. 이와 같은 분산형 기억 장치 시스템에 있어서, 데이터를 기록 관리하는 서버는 멀티캐스트 등에 의해 정보 처리 단말기나 그 밖의 서버에 데이터를 송신하여, 데이터를 정보 처리 단말기나 다른 서버에 구비된 로컬 기록 매체에 기록하고 있다.
이 경우, 온디맨드(on-demand)로 데이터를 꺼낼 수 있도록 하기 위해서는, 기록 매체에 다량의 데이터를 기록해야 한다. 예를 들면, 1 개당 약 2기가바이트의 데이터 용량이 되는 영화의 경우, 이와 같은 영상 데이터를 500 개분 기록한다고 하면, 1테라바이트 이상의 용량이 필요하게 된다.
또, 스트리밍에 의해 데이터를 제공하는 경우의 예로서, 서버가 데이터를 요구하고 있는 클라이언트에 대하여 유니캐스트로 데이터를 제공할 때에는, 에러가 없는 전송을 실행하기 위해, 예를 들면, TCP/IP의 도착필(畢) 신호(ACK)와 같이 데이터의 재송신을 요구하는 프로토콜이 이용된다.
그런데, 이 방법은 서버측에 다대한 부담이 걸리기 때문에, 고성능 서버 1 대를 이용했다고 해도, 현재 상태에서는 수백 대의 클라이언트 밖에 서비스를 제공할 수 없다. 또, UDP/IP와 같은 ACK를 이용하지 않는 프로토콜을 사용했다고 해도, 서비스 가능한 클라이언트의 수는 수천 대 정도이다. 이와 같이, 스트리밍에 의해 데이터를 제공하려고 하면, 서버측의 코스트가 증대하여, 클라이언트의 수가 제한되어 버린다.
그래서 근래에는 멀티캐스트 기술에 FEC(Forward Error Correction)를 이용하여, 데이터의 재송신을 요구하지 않고 복수의 클라이언트에게 데이터를 송신하는 방식이 제안되고 있다. 이것은 서버가 멀티캐스트로 스트림을 반복하여 송신하고, 클라이언트는 이 스트림으로부터 필요한 신호를 주워 올리고, 주워 올린 데이터를 복호(復號)하여 재생하는 방식이다.
이 방식을 이용하여, 1 개 2기가바이트가 되는 영화의 영상 데이터 500개분을 10분 이내에 송신하는 경우에는, 약 14.7기가비트/초의 전송 대역이 필요하다. 또한, 동량의 영상 데이터를 1 분 이내에 송신하는 경우에는, 약 147기가비트/초의 전송 대역이 필요하게 된다. 이것은 이론값이지만, 이와 같은 용량 및 전송 방식에 견딜 수 있는 서버는 매우 코스트가 들어, 실현되었다고 해도 실용적이지 않다. 또, 복수의 호스트에 데이터를 분산하여 기록한다고 하는 방식도 있지만, 이 시스템을 실현하려고 하면, 거대한 데이터를 복수의 서버로 관리해야 하기 때문에, 데이터 관리나 데이터 통신을 위한 처리가 증대되어 버린다.
또, 근래, 정보 처리 장치 간의 직접 통신 처리로서의 피어·투·피어(P2P: Peer-to-Peer) 네트워크 기술이 개발되어 이용되고 있다. P2P 네트워크란, 집중적으로 처리를 실행하는 서버를 설치하는 것이 아니라, 각 네트워크 클라이언트가 가지는 자원으로서의 정보 처리 장치, 예를 들면 PC, 휴대 단말기, PDA, 휴대 전화, 또한, 통신 처리 가능한 기능을 가지는 또는 통신 기기에 접속된 기억 수단으로서의 디스크 장치, 또는 프린터 등 여러 가지 기기를 서로 네트워크를 통해 통신하여, 각 네트워크 클라이언트가 가지는 자원의 공유를 가능하게 한 구성이다.
피어·투·피어(P2P: Peer-to-Peer) 네트워크 기술은 미국 IBM사가 제창하는 APPN(Advanced Peer to Peer Networking) 중에서 사용된 것이 최초로 되어 있다. 이 네트워크를 사용함으로써, 종래와 같은 클라이언트 서버형 네트워크에서 컨텐츠 배신(配信)을 실행하는 경우에 필요하게 되는 거대한 배신 서버를 설치할 필요가 없어져, 각 네트워크 클라이언트가 가지는 자원에 분산 배치된 컨텐츠를 많은 유저가 이용 가능하게 되어, 대용량 컨텐츠의 분산 저장 및, 배신이 가능하게 된다.
피어·투·피어(P2P: Peer-to-Peer) 네트워크에는, 「퓨어(Pure) 피어·투·피어(P2P: Peer-to-Peer) 네트워크」와「하이브리드(Hybrid) 피어·투·피어(P2P: Peer-to-Peer) 네트워크」의 2 개의 네트워크 형태가 있다.
퓨어(Pure) 피어·투·피어(P2P: Peer-to-Peer) 네트워크란, 시스템의 각 구성 요소(피어: Peer)가 동일한 기능·역할을 가지고, 대등한 커뮤니케이션을 실행하는 네트워크 형태이다. 그것을 이용한 대표적인 서비스로서는 그누텔라(Gnuterlla)를 들 수 있다. 하이브리드(Hybrid) 피어·투·피어(P2P: Peer-to-Peer) 네트워크란, 퓨어(Pure) 피어·투·피어(P2P: Peer-to-Peer) 네트워크에 더하여, 시스템의 각 구성 요소(피어: Peer) 간의 상호 작용을 원활히 하기 위한 제어용 서버를 이용하는 네트워크 형태이다. 그것을 이용한 대표적인 서비스로서는 납스터(Napster)를 들 수 있다.
납스터(Napster)로 대표되는 하이브리드 피어·투·피어(Hybrid P2P) 방식에서는, 네트워크 접속된 단말기가 컨텐츠를 취득하려고 하는 경우에는, 먼저 중앙의 서버에서 컨텐츠 자원을 검색하고, 단말기는 검색 정보에 따라, 그 자원을 보유하고 있는 노드(다른 네트워크 접속 단말기)에 액세스하여, 컨텐츠의 취득을 실행한다. 이 방식에서는, 중앙 서버에 모든 노드의 자원 정보를 삽입할 필요가 있고, 또한, 검색이 중앙 서버에 집중된다고 하는 결점이 있다.
그래서, 자원 검색 등의 처리를 복수의 장치에 분산시켜 실행하는 방식이 제안되었다. 이 처리 분산 방식에서는, 처리 실행의 판단 장치를 트리 형상의 관계로 배치 하는 등의 방법에 의해 관리하고, 관리 정보에 따라 자원 검색 등의 처리를 복수의 장치에 분산시켜 실행하는 것이다. 그러나, 이 방식에서도, 처리를 실행하는 장치가 수 백만 등 다수 되면, 트리 구성을 관리하는 정보량의 증대, 복수의 처리 장치에 실행 명령을 배신시키기 위한 실행 명령수의 증대, 또는 트리의 일관성 보장 등의 문제가 발생한다. 또, 복수의 처리 실행 판단 장치에 의한 판단 처리가 필요하게 되기 때문에, 처리 지연이 일어나는 문제가 있다.
이들의 약점을 보충하기 위해, 모든 명령을 모든 네트워크 접속 노드에 보내고, 각 노드에서 수신한 실행 명령을 자신이 실행하는지 여부를 판단시키는 방식이 있다. 이것이, 그누텔라(Gnutella)로 대표되는 퓨어·피어·투·피어(Pure P2P) 방식이다. 이 방식은 하이브리드 피어·투·피어(Hybrid P2P) 방식과 달리, 자원 검색 처리를 실행하는 중앙 서버를 갖지 않는 구성이며, 각 노드 간에서 직접, 검색 요구를 송수신하여 자원의 검색을 실행하고, 히트한 단말기에 컨텐츠 송신 등의 처리 요구를 의뢰하는 구성이다.
이 그누텔라(Gnutella)로 대표되는 퓨어·피어·투·피어(Pure P2P) 방식에서도, 검색 명령의 전송에는 트리 구조나 네트워크 구조 등의 루팅을 사용함으로써, 모든 또는 가능한 한 많은 노드에 대하여 검색을 실행하도록 하는 구성이 유효하다. 그러나, 이 방식에서도, 자(自) 노드로 실행하지 않는 처리 명령의 명령 전 송 처리를 실행하게 되어, 전송 경로에 부담이 걸리는 결점이 있다.
예를 들면, 모든 네트워크 접속 노드를 검색하여, 처리 요구를 전(全) 노드에 도달시키기 위해서는 복잡한 루팅 관리가 필요하게 된다. 한편, 베스트 에포트(best effort) 방식의 노드 검색을 실행하면, 모든 노드에 명령을 배신하는 것이 보증되지 않아, 필요한 자원을 찾아낼 수 없는 경우가 있다. 또, 노드 검색을 위한 통신이 다발(多發)되면 네트워크에서의 폭주가 발생한다고 하는 문제도 있다.
한편, 데이터의 전송 방식에는 몇 개인가의 방식이 있다. 먼저, 제1 방식으로서, 단일 노드로부터 모든 데이터를 인출하는 방식이 있다. 이 방식에서는, 확실히 데이터가 인출되지만 데이터의 유무를 판정하기 위한 사전 검색이 필요하게 된다. 컨텐츠를 소유하는 노드에 부하가 집중된다고 하는 문제가 있다. 또, 접속 노드가 다운된 경우, 데이터의 재생을 계속할 수 없다고 하는 문제가 있다. 이 단일 노드를 이용한 데이터 다운로드는 극히 소수의 재생 지시 장치, 즉 노드로부터 데이터를 수신하여 재생하는 장치가 데이터를 이용하는 경우 유효하다. 본 방식에서는, 패킷 중복 등의 전송 로스는 적다.
다음에, 제2 방식으로서, 단일 노드로부터 데이터를 캐루젤(carrousel) 전송하는 방식이 있다. 캐루젤 전송이란, 데이터를 반복하여 송신하는 방식으로 회전 목마로부터 그 이름을 취하고 있다. 이 방식으로, 멀티캐스트를 이용하면, 매우 큰 수의 재생 지시 장치에 데이터를 전송할 수 있지만, 임의의 타이밍으로 데이터를 꺼낼 수 없으므로, 데이터 지연 등의 해소를 위해서는, 시간당 반복 회수를 늘림으로써 대기 시간을 줄이는 방법 밖에 없었다. 이 캐루젤 방식은 동시 재생자수 가 많은 경우에는 효율이 양호한 방식이지만, 리얼 타임성과 임의의 타이밍으로 재생이라고 하는 양쪽을 만족시킬 수 없다. 본 방식에서도, 패킷 중복 등의 전송 로스는 적다.
또, 제3 방식으로서, 연쇄화라고 불려지는 방법이 있다. 연쇄화란, 다른 노드로부터 어느 데이터를 직전에 수취한 노드가 있는 경우, 원래의 노드에 데이터를 요구하는 것이 아니라, 직전에 데이터를 수취한 노드에 접속하여 전송받는 방법이다. 연쇄화에서는, 확실히 데이터가 있는지 여부를 알 수 없지만, 소수의 재생 지시 장치가 특정 데이터를 이용하는 경우에는, 네트워크 부하도 과대하게 되지 않아 효율적인 데이터 전송이 실현된다. 그러나, 다수의 재생 장치가 접속하는 경우에는, 캐루젤 전송 방식의 쪽이 효율이 양호하다.
또한, 제4 방식으로서, 로컬에 캐시를 다수 확보하는 방식이 고려된다. 즉, 재생을 실행하는 장치에서, 데이터를 모두 캐시하는 방식이다. 그러나, 이와 같은 캐시 방식을 이용하는 경우에는, 로컬 기억 장치의 용량이 아주 크지 않으면 실용이 되지 않는다. 재생 시의 네트워크 부하는 사실상 O이지만, 배신 시의 네트워크 부하는 모든 방식 중에서 가장 커진다고 하는 문제가 있다.
전술한 바와 같이, 데이터 전송 방식에는 여러 가지 방식이 있지만, 모두 일장일단이 있고, 상황에 따라 적절한 방식이 상이하다고 하는 것을 말할 수 있다. 본 발명은 컨텐츠 데이터의 재생 등 데이터의 취득에 의한 데이터 처리를 실행하는 구성에 있어서, 상이한 복수의 전송 방식을 상황에 따라 조합하여 실행함으로써, 전송 효율을 높인 데이터 취득, 데이터 재생을 가능하게 한 정보 처리 장치 및 정보 처리 방법, 및 컴퓨터·프로그램을 제공하는 것을 목적으로 한다.
또, 본 발명은 복수의 단말기(노드)에 접속된 네트워크 구성에 있어서, 예를 들면 컨텐츠 재생 처리 등의 데이터 처리를 네트워크 접속된 복수의 단말기(노드)에 설치된 기억 수단을 이용하여 실행하는 경우에, 사전의 노드 검색 등 처리를 실행하지 않고, 소정 룰에 따라 컨텐츠 재생 요구를 송신하고, 이와 같은 요구를 수신한 단말기(노드)에서, 자율적으로 명령을 실행하거나 하지 않는가를 판단하여 명령의 선택적인 실행을 행하는 구성으로 함으로써, 다수의 패킷 전송에 의한 네트워크 트래픽의 증대를 억제하여 효율적으로 데이터 처리를 실행하는 것을 가능하게 한 정보 처리 장치 및 정보 처리 방법, 및 컴퓨터·프로그램을 제공하는 것을 목적으로 한다.
본 발명의 제1 측면은
네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 재생 지시 장치로서의 정보 처리 장치로서,
복수의 데이터 전송 방식으로부터, 회신 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정부와,
상기 데이터 전송률 설정부에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터의 설정 처리 및 어드레스 설정 처리를 실행하고, 설정된 재생 요구 처리 대상 데이터 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성하는 패킷 생성부와,
상기 패킷 생성부에서 생성한 패킷을 송신하는 네트워크 인터페이스부
를 가지는 것을 특징으로 하는 정보 처리 장치에 있다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정부는 재생 대상 데이터의 수요도에 따라 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정부는 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 중 적어도 어느 하나의 방식을 포함하는 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정부는 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역 비율의 대응 데이터를 가지며, 상기 대응 데이터에 따라 재생 대상 데이터의 수요도 정보에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정부는 수요도 : x와, 각 전송 방식마다의 대역 비율 : y와, 각 데이터 전송 방식의 식별값 : n으로서 설정하는 함수군 : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정하는 수요도 : x의 값에 따라 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정부는 재생 대상 데이터의 수요도가 미리 설정된 임계값보다 높은 경우에는, 적용 데이터 전송 방식을 캐루젤 전송 방식으로서 설정하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 정보 처리 장치는 디인터리브 처리 및 FEC 복호 처리를 실행하는 데이터 복원 처리부를 추가로 가지며, 상기 데이터 복원 처리부는 상기 데이터 재생 처리 요구를 수신한 노드로부터 수신하는 패킷으로부터 추출되는 재생 대상 데이터에 대한 디인터리브 처리 및 FEC 복호 처리를 실행하여, 데이터 복원을 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 정보 처리 장치는 상기 데이터 재생 처리 요구를 수신하는 노드에서, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 판정용 데이터를 설정하는 룰 판단 조건 설정부를 추가로 가지며, 상기 패킷 생성부는 상기 룰 판단 조건 설정부에서 설정한 판정용 데이터를 저장하는 동시에, 재생 처리 대상 데이터의 지시 데이터를 저장한 데이터 재생 처리 요구 패킷을 생성하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 룰 판단 조건 설정부는 상기 데이터 재생 처리 요구를 수신하는 노드에서, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 재생 룰 판단 조건 기술(記述;description)로서의 확률값 : β를 설정하는 처리를 실행하는 구성이며, 상기 패킷 생성부는 상기 재생 룰 판단 조건 기술로서의 확률값 : β를 저장한 패킷을 생성하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 노드에 저장된 재생 대상 데이터는 데이터를 p 개의 블록수로 분할하고, p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환한 부호화율 q/p의 부호화 처리 데이터이며, 상기 룰 판단 조건 설정부는 상기 데이터 재생 처리 요구를 수신하는 노드에서 회신 확률 : β로 데이터를 회신시키는 확률값 : β를 재생 룰 판단 조건 기술로서 설정하는 구성이며, 상기 네트워크에 접속된 기록 지시 장치로부터 지정되는 기록 확률 : α, 및 상기 부호화 블록수 : q와, 네트워크 접속 노드수 : n에 의해 산출 가능한 회신 블록수 : q×α×n×β와, 상기 블록수 : p의 관계가 회신 블록수 : q×α×n×β>블록수 : p가 되도록 상기 확률값 : β를 설정하는 구성인 것을 특징으로 한다.
또한, 본 발명의 제2 측면은
네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치로서의 정보 처리 장치로서,
네트워크 접속 노드와의 데이터 송수신을 실행하는 통신부와,
상기 통신부를 통해 네트워크 접속 노드로부터 수신하는 수요도 정보 취득 요구수를 카운트하고, 이 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하는 동시에, 이 생성 수요도 정보에 따라 상기 수요도 정보 취득 요구에 대응하는 응답 정보를 생성하여 상기 통신부를 통해 송신하는 제어부
를 가지는 것을 특징으로 하는 정보 처리 장치에 있다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 제어부는 상기 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 구성을 가지는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 장치의 하나의 실시 양태에 있어서, 상기 제어부는 상기 캐루젤 전송 처리 요구에, 캐루젤 전송의 실행 대상 데이터의 식별자, 및 수신한 수요도 정보 취득 요구의 송신처 노드 어드레스 정보에 따라 설정한 캐루젤 전송의 수신인 어드레스 정보를 저장하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 제3 측면은
네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 재생 지시 장치에서의 정보 처리 방법으로서,
복수의 데이터 전송 방식으로부터, 회신 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정 단계와,
상기 데이터 전송률 설정 단계에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터의 설정 처리 및 어드레스 설정 처리를 실행하고, 설정된 재생 요구 처리 대상 데이터 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성하는 패킷 생성 단계와,
상기 패킷 생성 단계에서 생성한 패킷을 송신하는 패킷 송신 단계
를 가지는 것을 특징으로 하는 정보 처리 방법에 있다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정 단계는 재생 대상 데이터의 수요도에 따라 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 처리를 포함하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정 단계는 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 중 적어도 어느 하나의 방식을 포함하는 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 처리를 포함하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정 단계는 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역 비율의 대응 데이터에 따라 재생 대상 데이터의 수요도 정보 에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정 단계는 수요도 : x와, 각 전송 방식마다의 대역 비율 : y와, 각 데이터 전송 방식의 식별값 : n으로서 설정하는 함수군 : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정하는 수요도 : x의 값에 따라 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 데이터 전송률 설정 단계는 재생 대상 데이터의 수요도가 미리 설정된 임계값보다 높은 경우에는, 적용 데이터 전송 방식을 캐루젤 전송 방식으로서 설정하는 처리를 실행하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 정보 처리 방법은 디인터리브 처리 및 FEC 복호 처리를 실행하는 데이터 복원 처리 단계를 추가로 가지며, 상기 데이터 복원 처리 단계는 상기 데이터 재생 처리 요구를 수신한 노드로부터 수신하는 패킷으로부터 추출되는 재생 대상 데이터에 대한 디인터리브 처리 및 FEC 복호 처리를 실행하여, 데이터 복원을 실행하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 정보 처리 방법은 상기 데이터 재생 처리 요구를 수신하는 노드에서, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 판정용 데이터를 설정하는 룰 판단 조건 설정 단계를 가지며, 상기 패킷 생성 단계는 상기 룰 판단 조건 설정 단계에서 설정한 판정용 데이터를 저장하는 동시에, 재생 처리 대상 데이터의 지시 데이터를 저장한 데이터 재생 처리 요구 패킷을 생성하는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 룰 판단 조건 설정 단계는 상기 데이터 재생 처리 요구를 수신하는 노드에서, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 재생 룰 판단 조건 기술로서의 확률값 : β를 설정하는 처리를 실행하는 구성이며, 상기 패킷 생성 단계는 상기 재생 룰 판단 조건 기술로서의 확률값 : β를 저장한 패킷을 생성하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 노드에 저장된 재생 대상 데이터는 데이터를 p 개의 블록수로 분할하고, p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환한 부호화율 q/p의 부호화 처리 데이터이며, 상기 룰 판단 조건 설정 단계는 상기 데이터 재생 처리 요구를 수신하는 노드에서 회신 확률 : β로 데이터를 회신시키는 확률값 : β를 재생 룰 판단 조건 기술로서 설정하고, 상기 네트워크에 접속된 기록 지시 장치로부터 지정되는 기록 확률 : α, 및 상기 부호화 블록수 : q와, 네트워크 접속 노드수 : n에 의해 산출 가능한 회신 블록수 : q×α×n×β와, 상기 블록수 : p의 관계가 회신 블록수 : q×α×n×β>블록수 : p가 되도록 상기 확률값 : β를 설정하는 것을 특징으로 한다.
또한, 본 발명의 제4 측면은
네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치에 있어서의 정보 처리 방법으로서,
통신부를 통해 네트워크 접속 노드로부터 수요도 정보 취득 요구를 수신하는 단계와,
상기 수요도 정보 취득 요구수를 카운트하고, 이 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하는 단계와,
상기 카운트 정보에 따른 수요도 정보를 응답 정보로서 저장한 패킷을 생성하여, 상기 통신부를 통해 송신하는 단계
를 가지는 것을 특징으로 하는 정보 처리 방법에 있다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 정보 처리 방법은 상기 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 단계를 추가로 가지는 것을 특징으로 한다.
또한, 본 발명의 정보 처리 방법의 하나의 실시 양태에 있어서, 상기 정보 처리 방법은 상기 캐루젤 전송 처리 요구에, 캐루젤 전송의 실행 대상 데이터의 식별자, 및 수신한 수요도 정보 취득 요구의 송신처 노드 어드레스 정보에 따라 설정한 캐루젤 전송의 수신인 어드레스 정보를 저장하는 처리를 실행하는 단계를 추가로 포함하는 것을 특징으로 한다.
또한, 본 발명의 제5 측면은
네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 컴퓨터·프로그램이며,
복수의 데이터 전송 방식으로부터, 회신 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정 단계와,
상기 데이터 전송률 설정 단계에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터의 설정 처리 및 어드레스 설정 처리를 실행하고, 설정된 재생 요구 처리 대상 데이터 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성하는 패킷 생성 단계와,
상기 패킷 생성 단계에서 생성한 패킷을 송신하는 패킷 송신 단계
를 가지는 것을 특징으로 하는 컴퓨터·프로그램에 있다.
또한, 본 발명의 제6 측면은
네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 처리를 실행하는 컴퓨터·프로그램으로서,
통신부를 통해 네트워크 접속 노드로부터 수요도 정보 취득 요구를 수신하는 단계와,
상기 수요도 정보 취득 요구수를 카운트하고, 상기 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하는 단계와,
상기 카운트 정보에 따른 수요도 정보를 응답 정보로서 저장한 패킷을 생성하여, 상기 통신부를 통해 송신하는 단계
를 가지는 것을 특징으로 하는 컴퓨터·프로그램에 있다.
본 발명의 구성에 의하면, 네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 구성에 있어서, 데이터의 수요도(인기도)에 따라, 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하고, 결정 전송 방식에 따른 데이터 전송을 실행하는 구성으로 했으므로, 예를 들면, 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 등으로부터의 데이터 전송 방식의 선택, 조합이 가능하게 되어, 효율적이며 확실한 데이터 전송 방식에 의한 데이터 전송이 실현된다.
본 발명의 구성에 의하면, 재생 처리를 실행할 때 지시 장치는 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역 비율의 대응 데이터를 가지고, 대응 데이터에 따라 재생 대상 데이터의 수요도 정보에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행하거나, 또는 수요도 : x와, 각 전송 방식마다의 대역 비율 : y와, 각 데이터 전송 방식의 식별값 : n으로서 설정하는 함수군 : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정하는 수요도 : x의 값에 따라 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행하는 구성으로 했으므로, 수요도 정보에 따른 전송 방식의 결정 처리를 효율적으로 실행하는 것이 가능하게 된다.
또한, 본 발명의 구성에 의하면, 재생 대상 데이터의 수요도가 미리 설정된 임계값보다 높은 경우에는, 적용 데이터 전송 방식을 캐루젤 전송 방식으로서 설정 하는 처리를 실행하는 구성으로 했으므로, 다수의 노드로부터의 데이터 취득 요구에 대응한 데이터 전송에 적합한 캐루젤 전송을 자동적으로 선택 실행하는 처리가 가능하게 된다.
또한, 본 발명의 구성에 의하면, 네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치를 구성하여, 네트워크 접속 노드로부터 수신하는 수요도 정보 취득 요구수를 카운트하고, 이 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하여 제공하는 구성으로 했으므로, 리얼 타임에서의 수요도 정보가 파악 가능하여, 최신의 수요도 정보를 제공 가능하게 된다.
또한, 본 발명의 구성에 의하면, 네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치가 계측하는 카운트 정보에 따른 데이터 대응 수요도가, 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 구성으로 했으므로, 수요도의 증가에 즉석에서 대응한 최적의 데이터 전송 제어가 실현된다.
또한, 본 발명의 컴퓨터·프로그램은, 예를 들면, 여러 가지 프로그램·코드를 실행 가능한 범용 컴퓨터·시스템에 대하여, 컴퓨터 판독 가능한 형식으로 제공하는 기억 매체, 통신 매체, 예를 들면, CD나 FD, MO 등의 기록 매체, 또는 네트워크 등의 통신 매체에 의해 제공 가능한 컴퓨터·프로그램이다. 이와 같은 프로그램을 컴퓨터 판독 가능한 형식으로 제공함으로써, 컴퓨터·시스템 상에서 프로그램에 따른 처리가 실현된다.
본 발명의 또 다른 목적, 특징이나 이점은 후술하는 본 발명의 실시예나 첨부하는 도면에 따른 보다 상세한 설명에 의해 명백해질 것이다. 그리고, 본 명세서에서 시스템이란, 복수 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것에 한정되지 않는다.
도 1은 본 발명의 적용 가능한 분산형 기억 장치 시스템 구성예에 대하여 설명하는 도면이다.
도 2는 본 발명의 적용 가능한 네트워크 구성예에 대하여 설명하는 도면이다.
도 3은 네트워크 접속되는 정보 처리 장치(노드)의 구성에 대하여 설명하는 도면이다.
도 4는 기록 지시 장치의 구성에 대하여 설명하는 도면이다.
도 5는 기록 지시 장치에서 실행하는 데이터의 FEC 부호화 처리 및 인터리브 처리에 대하여 설명하는 도면이다.
도 6은 기록 지시 장치로부터 송신하는 데이터 기록 처리 요구 패킷의 구성에 대하여 설명하는 도면이다.
도 7은 기록 지시 장치로부터 노드에 대한 데이터 기록 처리 요구 패킷의 송신 처리에 대하여 설명하는 도면이다.
도 8은 기록 지시 장치로부터 데이터 기록 처리 요구 패킷을 수신한 노드에서의 자율적인 처리 실행 판정 처리를 포함하는 처리 순서를 설명하는 플로도이다.
도 9는 기록 지시 장치로부터 데이터 기록 처리 요구 패킷을 수신한 노드에서의 자율적인 처리 실행 판정 처리를 포함하는 처리 순서를 설명하는 플로도이다.
도 10은 기록 지시 장치로부터 데이터 기록 처리 요구 패킷을 수신한 노드에서의 자율적인 처리 실행 판정에서 생성하는 해시값의 예에 대하여 설명하는 도면이다.
도 11은 재생 지시 장치의 구성에 대하여 설명하는 도면이다.
도 12는 재생 지시 장치로부터 송신하는 데이터 재생 처리 요구 패킷의 구성에 대하여 설명하는 도면이다.
도 13은 데이터 재생 처리 요구 패킷을 수신한 노드로부터 재생 지시 장치에 대하여 송신하는 패킷의 구성에 대하여 설명하는 도면이다.
도 14는 재생 지시 장치에서 실행하는 데이터의 디인터리브 처리 및 FEC 복호 처리에 대하여 설명하는 도면이다.
도 15는 재생 지시 장치로부터 노드에 대한 데이터 재생 처리 요구 패킷의 송신 처리에 대하여 설명하는 도면이다.
도 16은 재생 지시 장치로부터 데이터 재생 처리 요구 패킷을 수신한 노드로부터의 데이터 저장 패킷의 송신 처리에 대하여 설명하는 도면이다.
도 17은 재생 지시 장치로부터 데이터 재생 처리 요구 패킷을 수신한 노드에서의 자율적인 처리 실행 판정 처리를 포함하는 처리 순서를 설명하는 플로도이다.
도 l8는 재생 지시 장치로부터 데이터 재생 처리 요구 패킷을 수신한 노드에서의 자율적인 처리 실행 판정 처리를 포함하는 처리 순서를 설명하는 플로도이다.
도 19는 기록 지시 장치로부터의 데이터 기록 처리 요구, 노드에서의 데이터 기록 처리, 및 재생 지시 장치로부터의 데이터 재생 처리 요구, 노드에서의 데이터 추출 송신 처리, 재생 지시 장치에서의 재생 처리에 대하여 설명하는 시퀀스도이다.
도 20은 재생 지시 장치의 구성예를 나타내는 도면이다.
도 21은 재생 처리 요구(명령) 패킷을 네트워크 접속된 각 노드에 송신하는 처리를 설명하는 도면이다.
도 22는 재생 처리 요구(명령) 패킷의 회답으로서 각 노드로부터 재생 지시 장치에 데이터가 송신되는 모양을 나타내는 도면이다.
도 23은 재생 지시 장치가 재생에 필요데이터를 취득하는 방식 및 각 방식의 특성에 대하여 기록하는 도면이다.
도 24는 캐루젤 전송 및 그 밖의 전송 방식의 병용에 의한 대역 삭감 효과에 대하여 설명하는 도면이다.
도 25는 재생 지시 장치와의 거리에 따른 멀티캐스트 어드레스를 설정하기 위해서 적용하는 어드레스 테이블의 예를 나타내는 도면이다.
도 26은 데이터(컨텐츠) ID와 데이터 송신 노드 어드레스를 설정한 어드레스 테이블의 예를 나타내는 도면이다.
도 27은 종축(縱軸)에 대수축(對數軸)으로서 나타내는 데이터 수요(인기도), 횡축(橫軸)에 데이터 취득의 각 방식을 적용하는 비율(대역 비율)을 나타낸 수요와 대역 비율의 대응예를 나타내는 도면이다.
도 28은 수요도 정보를 제공하는 수요 정보 제공 장치를 네트워크 상에 설정한 예를 나타내는 도면이다.
도 29는 기록 지시 장치로부터 노드에 대한 데이터 기록 처리 요구의 발행, 노드에서의 데이터 기록 처리, 재생 지시 장치로부터 수요 정보 제공 장치에 대한 문의 및 응답 정보 수신, 또한 응답 정보에 따른 노드에 대한 데이터 재생 처리 요구의 발행, 노드에서의 데이터 추출, 패킷 송신 처리의 일련의 처리 시퀀스에 대하여 설명하는 도면이다.
도 30은 재생 지시 장치의 「수요의 문의」로부터 「가공 된 데이터의 복원」까지의 상세 처리 순서에 대하여 나타내는 플로도이다.
도 31은 수요 정보 제공 장치가 컨텐츠의 수요가 증가한 것을 검출하고, 그 검출 정보에 따라, 캐루젤 전송을 개시하는 제어를 실행하는 처리 시퀀스에 대하여 설명하는 도면이다.
도 32는 본 발명의 정보 처리 장치의 하드웨어 구성예에 대하여 설명하는 도면이다.
이하, 본 발명의 정보 처리 장치 및 정보 처리 방법, 및 컴퓨터·프로그램에 대하여, 도면을 참조하여, 상세하게 설명한다. 설명은 이하의 항목 순서로 실행한다.
1. 네트워크 구성
2. 노드로서의 정보 처리 장치 구성
3. 기록 지시 장치 구성 및 데이터 기록 처리
4. 재생 지시 장치 구성 및 데이터 재생 처리
5. 데이터 기록 재생 처리 시퀀스
6. 전송 방식의 최적 조합에 따른 데이터 전송 처리
7. 정보 처리 장치의 하드 구성
[1. 네트워크 구성]
먼저, 본 발명의 정보 처리 장치를 적용한 데이터 처리를 실현하는 네트워크 구성예에 대하여 도 1을 참조하여 설명한다. 도 1은 네트워크를 구성하는 단말기에 데이터를 분산하여 기록하는 분산형 기억 장치 시스템의 구체예를 나타내는 도면이다. 분산형 기억 장치 시스템은 네트워크(100)의 통신망에 접속된 n 개의 노드(111, 112, …, 115)와, 각 노드에의 데이터의 기록을 지시 제어하는 기록 지시 장치(101)와, 각 노드에 기록된 데이터를 판독하는 재생 지시 장치(102)를 가진다.
그리고, 본 실시예에서는, 기록 지시 장치(1O1)와, 각 노드(111∼115)와, 재생 지시 장치(102)를 다른 장치로서 설명하지만, 이들 양 장치의 기능을 가지는 기록 재생 지시 장치와 같은 장치가 있어도 된다. 또, 노드의 각각이 기록 지시 장치나 재생 지시 장치로서의 기능을 장비할 수도 있다. 이 경우, 네트워크를 구성하는 각 장치를 구별 않고 사용할 수 있다. 그리고, 기록 지시 장치, 재생 지시 장치, 노드를 총칭하여 정보 처리 장치라고 부른다.
즉, 도 2에 나타내는 바와 같은 네트워크 구성을 상정 가능하다. 정보 처리 장치는 다른 정보 처리 장치와의 통신 가능한 구성을 가지며 통신 네트워크에 의해 접속된다. 네트워크는 기본적으로는 룩 업 서버(Look-up Server)로서의 제어용 서버를 가지지 않는 퓨어(Pure) 피어·투·피어(P2P : Peer-to-Peer) 네트워크이다.
도 2에 나타내는 바와 같이, 각 정보 처리 장치(121∼126)가 네트워크(110)를 통해 서로 통신을 실행하고, 컨텐츠 기록 처리나 컨텐츠 재생 처리 등의 각종 데이터 처리를 실행한다. 그리고, 본 발명은 제어용 서버가 존재하는 하이브리드(Hybrid) 피어·투·피어(P2P : Peer-to-Peer) 네트워크에서도 적용 가능하며, 특히 네트워크 구성을 한정하여 적용 가능한 것이 아니고, 서로 정보 처리 장치에서 통신이 가능한 구성이면 된다.
도 2에 나타내는 정보 처리 장치(121∼126) 중 어느 하나가 컨텐츠의 기록 요구, 또는 컨텐츠의 재생 요구를 네트워크 접속된 정보 처리 장치에 출력한다. 컨텐츠의 기록 요구를 실행하는 경우에는, 예를 들면 소정 룰에 따른 멀티캐스트 어드레스를 설정한 기록 요구 처리 요구 패킷을 생성하고, 패킷에 컨텐츠를 FEC(Forward Error Correction)를 거는 동시에 인터리브 처리한 분할 데이터로서 저장하여, 다른 정보 처리 장치에 대하여 송신한다. 이와 같은 패킷을 수신한 정보 처리 장치는 데이터 기록 처리를 실행하는지 여부를 자율적으로 판정하고, 판정에 따른 컨텐츠 기록 처리를 실행한다.
또, 컨텐츠의 재생 처리를 실행하는 경우에는, 정보 처리 장치(121∼126) 중 어느 하나가 컨텐츠 재생 요구를 다른 정보 처리 장치, 예를 들면 소정 룰에 따른 멀티캐스트 어드레스를 설정한 요구 패킷을 생성하여 송신한다. 이들 패킷을 수신한 정보 처리 장치는 데이터 추출 처리를 실행하는지 여부를 자율적으로 판정하고, 판정에 따른 컨텐츠 추출 처리를 실행하여, 요구에 따라 추출한 데이터, 예를 들면 FEC(Forward Error Correction)를 거는 동시에 인터리브 처리한 분할 데이터를 패킷에 저장하여 재생 요구 정보 처리 장치에 대하여 송신한다.
그리고, 도 1, 도 2에서는, 네트워크를 구성하는 라우터(router) 등의 전송 제어 장치를 생략하고 있지만, 실제로는 노드를 통과하는 패킷의 경로를 선택하는 라우터 등의 전송 제어 장치가 설치되어 있다. 전송 제어 장치는 노드와는 별도로 설치되어 있어도 되고, 노드가 전송 제어 장치로서의 기능을 가지고 있어도 된다.
[2. 노드로서의 정보 처리 장치 구성]
다음에, 노드로서 기능하는 정보 처리 장치의 구성에 대하여 설명한다. 도 3은 노드로서 기능하는 정보 처리 장치의 구성을 나타내는 도면이다.
도 3에 나타내는 바와 같이 정보 처리 장치(노드)(200)는 룰 판단 처리부(201), 데이터 처리부(202), 패킷 처리부(203), 데이터 송수신기(204)를 가진다. 데이터 송수신부(204)는 네트워크를 통해 접속된 다른 정보 처리 장치에 대한 송신 패킷의 출력, 및 다른 정보 처리 장치로부터의 수신 패킷의 입력 처리를 실행한다.
패킷 처리부(203)는 자(自) 장치로부터, 네트워크 접속된 다른 정보 처리 장치에 대하여 송신하는 패킷의 생성 처리, 또는 다른 정보 처리 장치로부터 수신한 패킷의 해석 처리 등을 실행한다.
데이터 처리부(202)는 각각의 정보 처리 장치에 저장된 데이터 처리 프로그램에 따른 처리를 실행한다. 예를 들면, 네트워크에 접속된 다른 기록 지시 장치 또는 재생 지시 장치 등의 정보 처리 장치로부터의 데이터 처리 요구에 따른 데이 터 처리, 예를 들면 컨텐츠 재생 요구이면, 지정 컨텐츠를 기억부(205)로부터 꺼내, 패킷 처리부(203)에 출력하는 처리이다. 또, 컨텐츠 기록 요구이면, 입력 컨텐츠를 기억부(205)에 입력 저장하는 처리이다.
룰 판단 처리부(201)는 본 발명의 정보 처리 장치에 고유의 처리를 실행하는 처리부이며, 입력한 패킷에 기술된 [룰 판단 조건 기술]로서의 확률값 : α, 또는 β를 기초로, 패킷에 따른 데이터 처리, 예를 들면 데이터 기록 명령에 대응하는 처리로서의 데이터 수신 및 기억부에 대한 저장 처리, 또는 데이터 재생 명령에 대응하는 처리로서의 기억부로부터의 데이터 추출 및 송신 처리, 이들 처리를 실행하는지 여부를 판정하는 처리를 실행한다. 본 발명의 구성에서는, 기록 명령을 실행하는 확률을 α로 하고, 재생 명령을 실행하는 확률을 β로서 설정하여, 각각 기록 지시 장치, 재생 지시 장치가 송신하는 기록 요구 또는 재생 요구 패킷에 이들의 확률값이 설정된다.
예를 들면, 컨텐츠 기록 처리를 실행하는 경우, 분산형 기억 장치 시스템을 구성하는 노드의 수 n이 충분히 크고, 또한 복호화된 블록의 개수 q가 충분히 큰 경우, 모든 노드에 패킷이 균등하게 기록되어, 분산형 기억 장치 시스템 전체로서 α의 확률로 데이터가 기록된다.
또, 컨텐츠 재생 처리를 실행하는 경우, 각 노드의 룰 판단 처리부(201)에서는, 재생 명령을 실행하는지 여부를 확률 : β에 따라 판단하여 실행한다. 이와 같이 재생 명령에서는, 각각의 노드로 일정한 확률로 밖에 명령이 실행되지 않으므로, 패킷의 소실이 일어난다. 그러나, 복수의 분산 노드로부터 전체적으로 충분한 수의 패킷이 보내져 오도록 재생 명령이 실행되는 확률 β를 설정하여 두면, 이것을 결합하여, FEC(Forward Error Collection)에 따른 에러 컬렉션을 실행하여, 원래의 데이터를 재생할 수 있다.
[3. 기록 지시 장치 구성 및 데이터 기록 처리]
다음에, 기록 지시 장치 및 데이터 기록 처리에 대하여 설명한다. 도 4는 기록 지시 장치(250)의 구성을 나타내는 도면이다. 기록 지시 장치(250)는 복수의 노드에 대한 기록 처리 요구 대상 데이터(컨텐츠)를 입력하는 데이터 입력부(251), 예를 들면 FEC(Forward Error Collection) 부호화, 및 부호화 데이터에 대한 인터리브 처리 등의 데이터 가공을 실행하는 데이터 가공부(252), 전술한 [룰 판단 조건 기술]로서의 확률값 : α를 설정하는 룰 판단 조건 설정부(253), 데이터 가공부(252)에서 생성한 가공 데이터 및 룰 판단 조건 설정부(253)에서 설정한 룰 판단 조건 기술을 저장하고, 어드레스를 설정한 패킷을 생성하는 패킷 생성부(254), 및 네트워크와의 접속을 실행하는 네트워크 인터페이스(255)를 가지고 있다.
여기서, FEC 부호화란, 토네이도 부호화 방식, 리드 토네이도 부호화 방식, 터보 부호 방식 등 수신측에서 에러 정정을 실행하는 부호화 방식의 총칭이며, 데이터 가공부(252)는 데이터 입력부(251)로부터 입력된 데이터를 p 개의 블록으로 분할하고, 이 p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환한다. 이 p 개의 블록으로부터 q 개의 블록으로 부호화되는 것을 부호화율 q/p의 부호화라고 하며, 이 부호화율 q/p를 변경함으로써, 이 분산형 기억 장치 시스템의 기록 효율이나 전송 효율을 변경할 수 있다.
인터리브 처리는 부호화된 데이터의 순번을 나란히 바꾸는 처리이다. 인터리브함으로써 데이터를 분산시켜, 패킷의 소실에 의해 발생하는 버스트 에러가 랜덤 에러가 되도록 할 수 있고 그 결과, 소실 데이터부를 FEC에 따른 에러 컬렉션에 의해 정정하는 것이 가능하게 된다.
FEC 인코드 처리 및 인터리브 처리에 대하여, 도 5를 참조하여 설명한다. 도 5 (a)에 나타내는 바와 같이, 입력한 원(元) 데이터를 p 개의 블록으로 분할한다. 그리고, 도 5 (b)에 나타내는 바와 같이, 부호화율 q/p의 FEC 부호화를 실시하여, p 개의 블록으로 분할한 데이터를 q 개의 부호화 블록으로 변환한다.
전술한 바와 같이, FEC 부호화란, 토네이도 부호화 방식, 리드 토네이도 부호화 방식, 터보 부호화 방식 등 수신측에서 에러 정정을 실행하는 부호화 방식의 총칭이며, FEC 부호화를 사용하여 어느 데이터를 부호화율 q/p로 부호화한 경우, 논문 RIZZ097(http : //www.iet.unipi.it/luigi/fec.html#fec.ps)에 발표되어 있는 바와 같이, p 개 이상의 부호화된 블록이 잔존하면, 몇개인가의 블록이 소실되어도, 원래의 메시지를 복원할 수 있도록 되어 있다.
FEC 부호화가 실시된 데이터는 도 5 (c)에 나타내는 바와 같이 인터리브 처리가 실행되어, 부호화된 데이터의 순번을 나란히 바꾸어 데이터를 분산시킨다. 인터리브 처리가 이루어진 데이터는 룰 판단 조건 설정부(253)에 출력되어, 전술한 [룰 판단 조건 기술]로서의 확률값 : α를 설정한다.
[룰 판단 조건 기술]로서의 확률값 : α의 설정 처리는 전술한 데이터 가공 부의 처리와 관련하여 설정된다. 데이터 가공부는 데이터를 p 개의 블록수로 분할하여, 생성한 p 개의 블록에 FEC 부호화를 실시하고 q 개의 블록으로 변환하는 부호화율 q/p의 부호화 처리를 실행하는 것으로 한 경우, 룰 판단 조건 설정부(253)는 데이터 기록 처리 요구를 수신하는 노드에서 기록 확률 : α로 데이터를 기록시키는 확률값 : α를 기록 룰 판단 조건 기술로서 설정하는 구성이며, 네트워크에 접속된 재생 지시 장치(102)(도 1 참조)로부터 지정되는 회신 확률 : β, 및 상기 부호화 블록수 : q와, 네트워크 접속 노드수 : n에 의해 산출 가능한 회신 블록수 : q×α×n×β와, 블록수 : p의 관계가
회신 블록수 :
q×α×n×β>블록수 : p
가 되도록 확률값 : α를 설정한다. 이 설정에 의해, 재생 지시 장치의 재생 요구에 의해 각 노드로부터 회신 확률 : β로 회신되는 회신 데이터로부터의 확실한 데이터 복원이 보증된다.
패킷 생성부(254)는 데이터 가공부(252)에서 생성한 가공 데이터를 소정 크기로 분할하여, 룰 판단 조건 설정부(253)에서 설정한 룰 판단 조건 기술을 저장하고, 어드레스를 포함하는 헤더나 푸터(footer)를 부가한 패킷을 생성하여, 네트워크 인터페이스(255)를 통해 송신한다. 그리고, 패킷은 송신 노드에 따른 어드레스 설정, 즉 유니캐스트 또는 멀티캐스트를 이용하여 분산형 기억 장치 시스템을 구성하는 각 노드에 송신한다.
도 6은 패킷 생성부(254)에 의해 생성되는 패킷(40)의 구조를 나타내는 도면 이다. 패킷은 헤더, 기록 룰 판단 조건 기술, 페이로드, 푸터로 구성된다. 페이로드에는 FEC 인코드 처리 및 인터리브 처리가 이루어진 가공 데이터(가공 컨텐츠)가 저장된다. 헤더와 푸터에는, 데이터의 종류를 나타내는 데이터 ID, CRC(Cyclic Redundancy Check)의 체크섬(check sum), 패킷 송신처 노드의 고유 식별자로서의 GUID(Global Unique ID), 네트워크 어드레스 등의 제어 정보가 기술되어 있다.
기록 룰 판단 조건 기술에는, 후술하는 각 노드가 이 패킷을 기록하는 확률 : α가 기술되어 있다. 패킷을 수신한 노드의 룰 판단 처리부(201)(도 3 참조)는 이 기록 확률 α에 따라 패킷을 기록한다.
분산형 기억 장치 시스템을 구성하는 모든 노드는 이 기록 확률에 따라 패킷을 기록하는지 여부를 결정한다. 이에 따라, 분산형 기억 장치 시스템을 구성하는 노드에 확률 α로 데이터가 기록되게 된다. 이 분산형 기억 장치 시스템에서는, 노드의 수 n이 충분히 크고, 또한 복호화된 블록수 q가 충분히 큰 경우에, 각 노드에 균등한 확률로 데이터를 분산할 수 있다.
그리고, 기록 룰 판단 조건 기술을 가공 컨텐츠를 저장한 패킷과 다른 패킷에 저장하고, 가공 컨텐츠를 저장한 패킷에 기록 룰 판단 조건 기술을 저장한 패킷의 링크 정보를 저장하고, 가공 컨텐츠를 저장한 패킷을 수신한 노드가 링크 정보에 따라 대응하는 기록 룰 판단 조건 기술 저장 패킷을 취득하는 구성으로 해도 된다.
다음에, 기록 지시 장치로부터의 기록 처리 요구 패킷의 송신에 따라, 패킷을 수신한 노드가 자율적으로 컨텐츠를 기록하는지 여부를 판정하여 처리를 실행하 는 기록 처리 순서에 대하여 설명한다.
도 7은 기록 지시 장치(101)로부터 복수 노드(111∼115)에 대하여, 데이터 기록 명령으로서의 도 6에 나타내는 데이터 기록 처리 요구 패킷을 송신하는 처리를 설명하는 도면이다. 기록 지시 장치는 도 6에서 설명한 FEC 처리 및 인터리브 처리를 실시한 가공 데이터를 페이로드로 하고, 또한, 룰 판단 조건 기술로서의 확률값 : α를 설정한 패킷을 각 노드에 대하여 유니캐스트 또는 멀티캐스트 송신한다.
도 8을 참조하여, 패킷을 수신한 노드에서의 처리 순서를 설명한다. 먼저, 단계 S101에서, 데이터 기록 처리 요구 패킷을 대기하고, 스텝 S102에서 패킷을 수신했다고 판정하면, 단계 S103에서, 난수 생성 처리를 실행하고, 단계 S104에서, 생성된 난수와, 데이터 기록 처리 요구 패킷 내에 저장된 기록 룰 판단 조건 기술 : 확률 α와의 비교를 실행하고, 비교 결과에 따라, 명령의 실행, 비실행을 판정한다.
예를 들면, 생성 난수>확률 α이면, 패킷의 페이로드로서 저장된 가공 데이터를 자기의 기억 수단에 기록하는 처리를 실행하고, 생성 난수≤확률 α이면, 데이터 기록 처리를 실행하지 않는다.
또한, 각 노드에서 생성되는 난수는 분산형 기억 장치 시스템을 구성하는 노드의 수 n이 충분히 크고, 또한 복호화된 블록의 개수 q가 충분히 큰 경우, 모든 노드에 패킷이 균등하게 기록되어, 분산형 기억 장치 시스템 전체로서 α의 확률로 데이터가 기록되도록 발생 난수의 범위가 설정된다.
단계 S104에서의 난수에 따른 비교 처리 결과로서, 데이터 기록 처리 요구를 실행해야 한다는 판정이 이루어지면, 단계 S1O5로 진행되어, 패킷의 페이로드로서 저장된 가공 데이터의 추출 처리를 실행하고, 자 장치(노드)의 기억 수단에 추출 데이터를 기록하는 처리를 실행한다. 한편, 난수에 따른 비교 처리 결과로서 데이터 기록 처리 요구를 실행하지 않는다는 판정이 이루어지면, 단계 S106으로 진행되어, 데이터 기록 처리를 실행하지 않고 처리를 종료한다.
이와 같이, 데이터 기록 처리 요구(명령)를 수신한 정보 처리 장치는 패킷 내에 저장된 기록 룰 판단 조건 기술과 난수의 비교에 따라 자율적으로 명령의 실행, 비실행을 판정하고, 판정에 따른 처리를 실행한다.
다음에, 도 9의 처리 플로를 참조하여, 데이터 기록 처리 요구를 수신한 정보 처리 장치측에서, 해시값을 산출하고, 해시값에 따라 자율적으로 데이터 기록 처리 요구의 실행, 비실행을 판정하는 처리에 대하여 설명한다.
먼저, 단계 S201에서, 데이터 처리 요구 패킷을 대기하고, 단계 S202에서 패킷을 수신했다고 판정하면, 단계 S203에서, 수신 패킷 내의 입력 데이터에 따른 해시값 생성 처리를 실행하고, 단계 S204에서, 생성된 해시값에 따라 명령의 실행, 비실행을 판정한다.
예를 들면, 정보 처리 장치는 각각 미리 설정된 임계값으로서의 설정값을 기억부에 저장하고, 생성 해시값>설정값이면, 명령실행, 생성 해시값≤설정값이면, 명령을 비실행으로 하는 등의 설정으로 한다.
해시값의 생성 대상으로 하는 데이터 처리 요구 패킷 내에 저장된 데이터는 도 10에 나타내는 바와 같이, 예를 들면 컨텐츠 데이터의 식별자(데이터 ID), 또는 데이터의 일부, 예를 들면 데이터 선두로부터 소정(n) 비트의 데이터를 해시 대상 데이터로서 설정하는 등이 가능하다. 해시값 산출은 예를 들면 MD 5의 적용이 가능하고, 도 10에 나타내는 바와 같이 데이터 ID의 MD 5에 의한 해시값, 또는 데이터 내용의 MD 5에 의한 해시값이 생성된다.
스텝 S204에서의 해시값에 따른 판정 결과로서, 데이터 기록 처리 요구를 실행해야 한다는 판정이 이루어지면, 단계 S205로 진행되어, 패킷의 페이로드로서 저장된 가공 데이터의 추출 처리를 실행하고, 자 장치(노드)의 기억 수단에 추출 데이터를 기록하는 처리를 실행한다. 한편, 해시값에 따른 비교 처리 결과로서, 데이터 기록 처리 요구를 실행하지 않는다는 판정이 이루어지면, 단계 S206으로 진행되어, 데이터 기록 처리를 실행하지 않고 처리를 종료한다.
이와 같이, 데이터 기록 처리 요구(명령)를 수신한 정보 처리 장치는 패킷 내에 저장된 데이터의 해시값과 각 노드의 설정값의 비교에 따라 자율적으로 명령의 실행, 비실행을 판정하고, 판정에 따른 처리를 실행한다.
[4. 재생 지시 장치 구성 및 데이터 재생 처리]
다음에, 데이터의 재생 지시를 각 노드에 송신하고, 각 노드로부터 재생 대상의 데이터를 수신하여 데이터 재생 처리를 실행하는 재생 지시 장치(102)(도 1 참조)에 대하여 설명한다. 도 11은 재생 지시 장치(270)의 구성을 나타내는 도면이다. 재생 지시 장치(270)는 네트워크를 통한 외부와의 데이터 송수신을 실행하는 네트워크 인터페이스(271), 노드에 재생 대상 데이터를 지정한 재생 데이터 송 신을 요구하는 패킷을 생성하는 데이터 요구 패킷 생성부(272), 데이터 요구 패킷에 설정하는 [룰 판단 조건 기술]로서의 확률값 : β를 결정하는 룰 판단 조건 설정부(273)를 가진다.
또한, 네트워크 인터페이스(271)는 각 노드로부터의 재생 데이터 저장 패킷을 수신하고, 재생 지시 장치(270)의 패킷 처리부(274)는 패킷에 분할된 데이터를 결합하는 처리를 실행한다. 또한, 데이터 복원 처리부(275)는 수신 패킷으로부터 추출한 데이터의 디인터리브 처리, FEC 디코드 처리를 실행하여, 컨텐츠 데이터의 복원을 실행한다. 복원된 데이터는 데이터 처리부(276)에 입력되어, 모니터나 스피커(도시 생략) 등의 외부 기기에 출력하거나 도시하지 않은 기록 장치에 저장되거나 한다.
데이터 요구 패킷 생성부(272)는 분산형 기억 장치 시스템을 구성하는 각 노드에 데이터를 요구하는 패킷을 송신한다. 도 12는 데이터를 요구하는 패킷의 구성을 나타내는 도면이다. 패킷은 헤더, 재생 룰 판단 조건 기술부, 리퀘스트 기술부, 푸터로 구성된다. 리퀘스트 기술부에는, 요구하는 데이터를 식별하기 위한 데이터 ID가 기록된다. 헤더와 푸터에는, CRC의 체크섬, 노드의 네트워크 어드레스나 GUID, 데이터의 순서를 나타내는 시퀀스 번호 등의 제어 정보가 기록된다.
재생 룰 판단 조건 기술부에는, 룰 판단 조건 설정부(273)가 결정한 회신 확률 β를 설정한다. 회신 확률 β는 패킷을 수신한 노드가 데이터를 회신하는지 여부의 판정을 실행하기 위한 변수이다. 이 변수를 기초로, 데이터를 회신한다고 판정하는 노드도 있으면, 데이터를 회신하지 않는다고 판정하는 노드도 있지만, 회신 확률 β는 분산형 기억 장치 시스템 전체를 매크로적으로 보았을 때의 값이며, 분산형 기억 장치 시스템 전체에서는 각 노드의 데이터를 회신하는 확률이 β가 된다. 그 때문에, 분산형 기억 장치 시스템에 n 개의 노드가 존재하는 경우에, 회신되는 패킷의 비율은 노드의 개수 n과 회신 확률 β를 곱셈한 값 n×β가 된다.
패킷 처리부(274)는 각 노드로부터 회신된 패킷을 결합한다. 도 13은 노드로부터 회신된 패킷의 데이터 구조를 나타내는 도면이다. 도 13에 나타내는 바와 같이 패킷은 헤더, 페이로드, 푸터로 구성되며, 페이로드에는 각 노드가 기억부로부터 추출한 데이터, 즉, 앞서 도 5를 참조하여 설명한 FEC 처리 및 인터리브 처리가 이루어진 데이터 블록이 저장되고, 헤더와 푸터에는 CRC의 체크섬이나 수신측 노드의 네트워크 어드레스, 패킷의 순서를 나타내는 시퀀스 번호 등 제어 정보가 저장된다.
도 13에 나타내는 패킷을 재생 지시 장치가 수신하면, 패킷 처리부(274)는 패킷 해석을 실행하여 시퀀스 번호를 판독하고, 수신한 패킷의 순서를 교체하여, 헤더나 푸터 등의 제어 정보를 제거하고, 시퀀스 번호순으로 패킷을 결합한다.
데이터 복원 처리부(275)는 수신 데이터 블록에 디인터리브를 걸어, 데이터의 열을 정렬시키고, 또한 디인터리브된 데이터에 FEC 복호를 실시하여, 원래의 데이터를 복원한다.
FEC 및 디인터리브 처리에 따른 데이터 복원 처리에 대하여, 도 14를 참조하여 설명한다. 도 14 (a)에 나타내는 바와 같이, 각 노드로부터의 수신 패킷은 네트워크 상에서 소실이 발생하여, 수신 데이터 블록과 소실 데이터 블록이 혼재하게 된다.
그리고, 수신 데이터 블록은 앞서 도 5를 참조하여 설명한 바와 같이, 부호화율 q/p의 FEC 부호화를 실시하여, p 개의 블록으로 분할된 데이터를 q 개의 부호화 블록으로 변환한 블록 데이터다.
재생 지시 장치에서의 데이터 복원 처리부(275)는 먼저 수신 데이터 블록에 디인터리브를 걸어 데이터의 목록을 정렬시켜, 도 14 (b)에 나타내는 디인터리브 처리 데이터를 생성한다. 디인터리브 처리 데이터에는 소실 패킷, 즉 소실 블록에 따른 데이터 소실부가 존재한다. 그러나 디인터리브 처리에 의해, 이들 에러는 에러부가 큰 데이터 영역으로서 존재하는 버스트 에러가 아니고, 미소 데이터 영역으로 이루어지는 랜덤 에러가 된다. 이와 같은 미소 데이터 영역으로 이루어지는 랜덤 에러는 FEC에 의한 에러의 해소가 가능하다.
데이터 복원 처리부(275)는 도 14 (b)에 나타내는 디인터리브 처리 데이터에 대하여, FEC에 의한 에러 정정을 실행하여, 도 14 (c)에 나타내는 복원 데이터를 생성한다. 전술한 바와 같이, FEC 부호화란, 토네이도 부호화 방식, 리드 토네이도 부호화 방식, 터보 부호화 방식 등 수신측에서 에러 정정을 실행하는 부호화 방식의 총칭이며, FEC 부호화를 이용하여, 어느 데이터를 부호화율 q/p로 부호화한 경우, 논문 RIZZ097(http://www.iet.unipi.it/luigi/fec.html#fec.ps)에 발표되어 있는 바와 같이, p 개 이상의 부호화된 블록이 잔존하면, 몇개인가의 블록이 소실되어도, 원래의 메시지를 복원할 수 있다.
데이터 복원 처리부(275)에 의해 복원된 데이터는 데이터 처리부(276)에 출력된다. 데이터 처리부(276)는 복호화된 데이터를, 도시하지 않은 기록부에 보존하거나, 모니터나 스피커 등의 출력부에 출력 인터페이스를 통해 출력한다.
본 발명에 따른 분산형 기억 장치 시스템은 기록 확률 α로 각 노드에 데이터를 기록하고, 각 노드에 기록한 데이터를 회신 확률 β로 회신시키는 시스템이며, 도 1에 나타내는 기록 지시 장치(1O1)로부터 출력되는 원 데이터는 α×n×β의 비율로 회신된다. 예를 들면, p 개의 블록을 q 개의 블록으로 부호화하면, q×α×n×β개의 블록이 회신된다. 전술한 논문 RIZZO97의 기재와 같이, 이 회신된 블록의 개수가 복호 전의 블록 개수 p보다 많은 경우, 데이터는 복호 가능하다. 그 때문에, 회신되는 블록의 개수가 p 개보다 많아지도록 α, β, q/p의 값을 결정해 두면, 목적 데이터를 복호할 수 있다.
즉, 재생 지시 장치(270)에서의 룰 판단 조건 설정부(273)는, 노드에 저장된 재생 대상 데이터가 p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환한 부호화율 q/p의 부호화 처리 데이터일 때, 네트워크에 접속된 기록 지시 장치로부터 지정되는 기록 확률 : α와, 회신 확률 : β 및 p, q, 및 상기 부호화 블록수 : q와, 네트워크 접속 노드수 : n에 의해 산출 가능한 회신 블록수 : q×α×n×β와, 블록수 : p의 관계가
회신 블록수 : q×α×n×β>블록수 : p
가 되는 확률값 : β로서 설정한다. 이 설정에 의해, 재생 지시 장치의 재생 요구에 의해 각 노드로부터 회신 확률 : β로 회신되는 회신 데이터로부터의 확 실한 데이터 복원이 보증된다.
이와 같이, 본 구체예에서의 분산형 기억 장치 시스템은
p≥q×α×n×β
를 만족시키도록 부호화율 q/p, 기록 확률 α, 회신 확률 β를 설정하면 되므로, 전술한 식을 만족시키는 범위에서 부호화율 q/p, 기록 확률 α, 회신 확률 β를 변경함으로써, 데이터의 기록 효율이나 전송 효율을 변경시킬 수 있다. 이하, q/p, α, β의 각 파라미터의 설정 예에 대하여 설명한다.
예를 들면, 매우 많은 회신 요구가 있는 데이터에 대하여, 기록 확률 α의 값을 크게 하고, 회신 확률 β의 값을 작게 하면, 각 노드로부터 송신되는 데이터가 적어져, 노드에 있어서의 데이터의 검색 처리나 데이터의 송신 처리가 간략화되게 된다.
또, 기록 확률 α의 값을 크게 하는 대신에, 부호화율 q/p의 값을 크게 하고, 회신 확률 β를 작게 해도, 각 노드에 있어서의 데이터의 검색 처리나 데이터의 송신 처리를 간략화할 수 있다.
또, 부호화율 q/p를 작게 하고, 기록 확률 α를 크게 하면, 송신하는 패킷의 수를 억제할 수 있다. 이것은 p가 충분히 클 때에 효과적이다. 또, 기록 확률 α를 작게 하고, 부호화율 q/p를 작게함으로써, 동일한 패킷을 복수의 노드에 기록하는 것을 피할 수 있다. 이것은 p가 충분히 작을 때에 효과가 있다.
또, 회신 확률 β를 크게 하고, 기록 확률 α 또는 부호화율 q/p를 작게 함으로써, 분산형 기억 장치 시스템 전체에 기록되는 부호화 데이터의 용량을 작게 할 수 있다. 또는, 데이터의 기록 시, 출력 시 또는 송신 시 등에, 패킷이 소실되는 확률을 a로 하면, a×n×α×q×β가 p보다 충분히 커지도록 α, β, q/p의 값을 제어함으로써, 충분한 수의 데이터가 회신된다.
또, 복수의 노드로부터 회신되는 유니크한 패킷의 개수를 수학적으로 추정하고, 기록 확률, 회신 확률, 또는 부호화율을 크게 함으로써, 유니크한 패킷이 도착하는 확률을 높게 할 수 있다.
다음에, 재생 지시 장치로부터의 재생 처리 요구 패킷의 송신에 따라, 패킷을 수신한 노드가 자율적으로 컨텐츠를 추출하여 송신하는지 여부를 판정하여 처리를 실행하는 재생 처리 순서에 대하여 설명한다.
도 15는 재생 지시 장치(102)로부터 복수 노드(111∼115)에 대하여, 데이터 재생 명령으로서의 도 12에 나타내는 데이터 재생 처리 요구 패킷을 송신하는 처리를 설명하는 도면이다. 재생 지시 장치는 재생 지정 데이터의 식별자, 예를 들면 컨텐츠 ID, GUID 등을 리퀘스트 기술로서 설정하고, 또한, 룰 판단 조건 기술로서의 확률값 : β를 설정한 도 12에 나타내는 데이터 재생 처리 요구 패킷을 생성하고, 패킷을 각 노드에 대하여 유니캐스트 또는 멀티캐스트 배신한다.
도 16은 도 12에 나타내는 데이터 재생 처리 요구 패킷을 수신한 노드가 재생 명령에 따라, 데이터 재생 처리, 즉 자(自) 노드의 기억부로부터의 지정 데이터의 판독, 패킷 생성, 패킷 송신을 실행하는지, 하지 않는지를 자율적으로 판정하고, 처리 실행의 판정을 한 노드에서만 재생 데이터를 저장한 패킷, 즉 도 6에서 설명한 FEC 처리 및 인터리브 처리를 실시한 가공 데이터를 페이로드로 한 패킷(도 13 참조)을 생성하여, 재생 지시 장치(112)에 대하여 송신한다.
도 17을 참조하여, 룰 판단 조건 기술로서의 확률값 : β를 설정한 도 12에 나타내는 데이터 재생 처리 요구 패킷을 수신한 노드에서의 처리 순서를 설명한다. 먼저, 단계 S301에서, 데이터 재생 처리 요구 패킷을 대기하고, 단계 S302에서 패킷을 수신했다고 판정하면, 단계 S303에서, 난수 생성 처리를 실행하고, 단계 S304에서, 생성된 난수와 데이터 재생 처리 요구 패킷 내에 저장된 재생 룰 판단 조건 기술 : 확률 β의 비교를 실행하고, 비교 결과에 따라, 명령의 실행, 비실행을 판정한다.
예를 들면, 생성 난수>확률 β이면, 자기의 기억 수단에 저장된 지정 컨텐츠를 추출하고, 추출 데이터를 페이로드로 한 패킷(도 13 참조)을 생성하여, 재생 지시 장치에 대하여 송신하는 처리를 실행하고, 생성 난수≤확률 β이면, 데이터 재생 처리를 실행하지 않는다.
단계 S304에서의 난수에 따른 비교 처리 결과로서, 데이터 재생 처리 요구를 실행해야 한다는 판정이 이루어지면, 단계 S305로 진행되어, 자 장치(노드)의 기억 수단에 저장된 가공 데이터의 추출 처리를 실행하고, 추출 데이터를 페이로드로 한 패킷(도 13 참조)을 생성하여, 재생 지시 장치에 대하여 송신하는 처리를 실행한다. 한편, 난수에 따른 비교 처리 결과로서, 데이터 재생 처리 요구를 실행하지 않는다는 판정이 이루어지면, 단계 S306으로 진행되어, 데이터 재생 처리를 실행하지 않고 처리를 종료한다.
이와 같이, 데이터 재생 처리 요구(명령)를 수신한 정보 처리 장치는 패킷 내에 저장된 재생 룰 판단 조건 기술과 난수의 비교에 따라 자율적으로 명령의 실행, 비실행을 판정하고, 판정에 따른 처리를 실행한다.
다음에, 도 18의 처리 플로를 참조하여, 데이터 재생 처리 요구를 수신한 정보 처리 장치측에서, 해시값을 산출하고, 해시값에 따라 자율적으로 데이터 재생 처리 요구의 실행, 비실행을 판정하는 처리에 대하여 설명한다.
먼저, 단계 S401에서, 데이터 재생 처리 요구 패킷을 대기하고, 단계 S402에서 패킷을 수신했다고 판정하면, 단계 S403에서, 수신 패킷 내의 저장 데이터에 따른 해시값 생성 처리를 실행하고, 단계 S404에서, 생성된 해시값에 따라, 명령의 실행, 비실행을 판정한다.
예를 들면, 정보 처리 장치는 각각 미리 설정된 임계값으로서의 설정값을 기억부에 저장하고, 생성 해시값>설정값이면, 명령실행, 생성 해시값≤설정값이면, 명령을 비실행으로 하는 등의 설정으로 한다.
해시값의 생성 대상으로 하는 데이터는, 먼저 데이터 기록 요구 처리의 판정과 동일하게, 도 10에 나타낸다, 예를 들면 컨텐츠 데이터의 식별자(데이터 ID), 또는 데이터의 일부, 예를 들면 데이터 선두로부터 X 비트의 데이터를 해시 대상 데이터로서 설정하는 등이 가능하다. 해시값 산출은, 예를 들면 MD 5의 적용이 가능하고, 도 10에 나타내는 바와 같이 데이터 ID의 MD 5에 의한 해시값, 또는 데이터 내용의 MD 5에 의한 해시값이 생성된다.
단계 S404에서의 해시값에 따른 판정 결과로서, 데이터 기록 처리 요구를 실행해야 한다는 판정이 이루어지면, 단계 S405로 진행되어, 자 장치(노드)의 기억 수단에 저장된 가공 데이터의 추출 처리를 실행하고, 추출 데이터를 페이로드로 한 패킷(도 13 참조)을 생성하여, 재생 지시 장치에 대하여 송신하는 처리를 실행한다. 한편, 해시값에 따른 비교 처리 결과로서, 데이터 재생 처리 요구를 실행하지 않는다는 판정이 이루어지면, 단계 S406으로 진행되어, 데이터 재생 처리를 실행하지 않고 처리를 종료한다.
이와 같이, 데이터 재생 처리 요구(명령)를 수신한 정보 처리 장치는 패킷 내에 저장된 데이터의 해시값과 각 노드의 설정값의 비교에 따라 자율적으로 명령의 실행, 비실행을 판정하고, 판정에 따른 처리를 실행한다.
[5. 데이터 기록 재생 처리 시퀀스]
다음에, 도 19를 참조하여 기록 지시 장치로부터 노드에 대한 데이터 기록 처리 요구의 발행, 노드에서의 데이터 기록 처리, 재생 지시 장치로부터 노드에 대한 데이터 재생 처리 요구의 발행, 노드에서의 데이터 추출, 패킷 송신 처리의 일련의 처리 시퀀스에 대하여, 정리해서 설명한다.
기록 지시 장치는 먼저 단계 S11에서, 기록 대상 데이터(컨텐츠)의 가공, 즉, FEC 처리, 및 인터리브 처리를 실행한다. 이 처리는 앞서 도 5를 참조하여 설명한 처리이다.
다음에, 기록 지시 장치는 단계 S12에서, 데이터 기록 처리 요구(명령) 패킷의 생성 처리를 실행한다. 인터리브 처리가 이루어진 데이터가 페이로드로서 저장되는 동시에, 룰 판단 조건 설정부(253)(도 4 참조)에서 결정 되는 [룰 판단 조건 기술]로서의 확률값 : α를 설정한 패킷을 생성한다.
다음에, 기록 지시 장치는 단계 S13에서, 송신 노드에 따른 어드레스 설정, 즉 유니캐스트 또는 멀티캐스트를 이용하여 분산형 기억 장치 시스템을 구성하는 각 노드에 송신한다.
기록 지시 장치로부터의 데이터 기록 처리 요구(명령) 패킷을 수신한 노드의 처리는 먼저, 도 8, 도 9를 참조하여 설명한 처리의 실행, 비실행을 자율적으로 판단하여 실행되는 처리가 된다. 도 19에는, 2 개의 노드(노드 1, 2)의 처리를 나타내고 있지만, 이 밖에도 다수의 노드에서, 자율적인 판단(확률 제어)이 실행되어 데이터 기록 처리를 실행하는 노드, 데이터 기록 처리를 실행하지 않는 노드가 존재한다.
도 19에 나타내는 2 개의 노드(노드 1, 2)는 단계 S21, S31의 확률 제어 처리, 즉, 도 8을 참조하여 설명한 생성 난수와, 수신 패킷(데이터 기록 처리 요구 패킷) 중의 기록 룰 판단 조건 기술로서 설정된 확률 : α의 비교에 따른, 처리 실행/비실행의 판정 처리, 또는 도 9를 참조하여 설명한 패킷 내 데이터에 따른 해시값과, 노드 설정값의 비교에 따른, 처리 실행/비실행의 판정 처리를 실행한다.
도 19에 나타내는 2 개의 노드(노드 1, 2)는 단계 S21, S31의 확률 제어 처리 결과로서, 모두 데이터 기록 처리를 실행한다는 결론이 얻어져, 단계 S22, S32에서, 데이터 기록 처리를 실행한다. 기록 대상 데이터는 기록 지시 장치로부터 수신한 데이터 기록 처리 요구 패킷에 저장된 FEC 및 인터리브된 가공 데이터이다.
다음에, 재생 지시 장치는 단계 S41에서, 재생 처리 요구(명령) 패킷(도 12 참조)을 각 노드에 대하여 송신한다. 재생 대상이 되는 컨텐츠 ID 등을 리퀘스트 기술로서 저장하고, 재생 룰 판단 조건 기술(확률 : β)로 설정한 패킷이다.
재생 처리 요구(명령) 패킷(도 12 참조)을 수신한 각 노드, 즉 도 19에 나타내는 2 개의 노드(노드 1, 2)는 단계 S51, S61의 확률 제어 처리, 즉, 도 17을 참조하여 설명한 생성 난수와, 수신 패킷(데이터 재생 처리 요구 패킷) 중의 재생 룰 판단 조건 기술로서 설정된 확률 : β와의 비교에 따른, 처리 실행/비실행의 판정 처리, 또는 도 18을 참조하여 설명한 패킷 내 데이터에 따른 해시값과, 노드 설정값의 비교에 따른, 처리 실행/비실행의 판정 처리를 실행한다.
도 19에 나타내는 노드 1은 스텝 S51의 확률 제어 처리 결과로서, 데이터 재생 처리를 실행한다는 결론이 얻어져, 단계 S52에서, 재생 처리 요구(명령) 패킷의 리퀘스트 기술에 따라, 자 노드의 기억부로부터 대응 데이터를 취득하고, 취득 데이터를 페이로드로서 저장한 패킷(도 13 참조)을 생성하여, 단계 S53에서, 재생 지시 장치에 대하여 송신한다.
한편, 도 19에 나타내는 노드 2는 단계 S61의 확률 제어 처리 결과로서, 데이터 재생 처리를 실행하지 않는다는 결론이 얻어져, 데이터 추출 및 패킷 생성, 송신을 실행하지 않고 처리를 종료한다.
그리고, 도 19에는 노드 1로부터만의 데이터가 재생 지시 장치에 송신되고 있는 구성으로 되어 있지만, 도시하지 않은 노드 3∼n으로부터의 데이터 저장 패킷이 재생 지시 장치에 송신되고, 재생 지시 장치는 다수의 노드로부터 다수의 패킷을 수신하고 있다.
재생 데이터를 저장한 패킷을 수신한 재생 지시 장치는 단계 S71에서, 수신 데이터 블록에 디인터리브를 걸어 데이터의 열을 정렬시키고, 또한 디인터리브된 데이터에 FEC 복호를 실시하여, 원래의 데이터를 복원한다.
FEC 및 디인터리브 처리에 따른 데이터 복원 처리에 대해서는, 앞서 도 14를 참조하여 설명한 대로이다. 소실 패킷이 존재해도, 디인터리브 처리에 의해, 에러는 에러부가 큰 데이터 영역으로서 존재하는 버스트 에러가 아니라 랜덤 에러로 되고, FEC 복호 처리에 의해 원래의 데이터가 복원된다.
이와 같이, 데이터 기록 또는 재생 처리 요구(명령)를 수신한 정보 처리 장치는 각 처리 요구 패킷에 설정된 기록 룰 판단 조건 기술, 또는 재생 룰 판단 조건 기술, 또는 그 밖의 패킷 내 데이터에 따라, 자율적으로 명령의 실행, 비실행을 판정하여, 판정에 따른 처리를 실행하는 것이 가능하게 된다.
이상과 같이, 본 실시예에서의 분산형 기억 장치 시스템은 시스템을 구성하는 노드에 기록 확률 α를 기술한 패킷을 송신함으로써, 데이터를 분산하여 기록한다. 그리고, 노드에 기록된 데이터를 회신 확률 β로 회신시킴으로써, 데이터의 인출을 실행한다. 이와 같이, 데이터를 분산하여 기록하면, 1 개의 서버에 데이터 관리의 부하가 집중되지 않고, 데이터를 저장할 수 있다. 또, 1 개의 데이터를 복수의 노드로 공유하기 때문에, 시스템 전체에서 필요하게 되는 데이터 용량이 적어도 된다.
또, 복수의 노드로부터 데이터를 수신하도록 하면, 1 개의 서버에 트래픽이 집중되는 것이 없어져, 안정된 통신량으로 데이터의 송수신을 실행할 수 있다.
또, α, β, q/p의 값을 변경함으로써, 전송 효율이나 기록하는 데이터량을 변경할 수 있다. 또한, 데이터의 기록 시, 출력 시, 송신 시 등에 패킷이 소실될 때, 소실되는 확률 a를 고려하여, α, β, q/p의 파라미터의 값을 변경해서, 패킷이 소실되어도 복호에 충분한 데이터를 꺼낼 수 있도록 할 수도 있다.
또, 이 분산형 기억 장치 시스템에서는, 기록 확률과 회신 확률에 따른 연산에 의해 데이터의 분산 기록·판독을 실행할 수 있기 때문에, 데이터의 관리가 단순하여, 캠코더나 휴대 전화 등 처리 능력이 적은 가정용 기기라도 이 시스템에 적응할 수 있다. 또, 캠코더나 휴대 전화 등 처리 능력이 낮은 가정용 기기를 노드로서 이용할 수 있게 되기 때문에, 수백만 대 규모의 분산형 기억 장치 시스템을 용이하게 구축할 수 있다.
또, 상기 분산 기억 장치 시스템에서는, 기록 지시 장치는 기록시킬 데이터와 기록 확률을 동일 패킷으로 송신했지만, 기록시킬 데이터와 기록 확률을 상이한 패킷으로 송신하거나, 외부의 기록 장치에 기록하여, 각 정보 처리 노드로부터 참조하도록 해도 된다.
또한, 전술한 실시예에서는, 네트워크에 접속된 정보 처리 장치에서의 패킷 전송 처리를 실행하는 구성예를 중심으로 하여 설명했지만, 본 발명은 패킷 전송 구성을 가지는 구성에 한정하지 않고, 예를 들면 무선 통신 장치 상호의 통신, 또는 PC 등 정보 처리 장치의 전자 회로를 구성하는 디바이스 간 통신에서도, 각각 전송 데이터에 대하여, 전술한 처리 룰 판단 조건 기술에 대응하는 데이터를 설정함으로써, 처리 요구 데이터를 수신한 무선 통신 장치, 또는 디바이스에서 요구 처리를 실행하는지 여부의 자율적인 판단이 가능하게 된다.
[6.전송 방식의 최적 조합에 따른 데이터 전송 처리]
다음에, 전송 방식의 최적 조합에 따른 데이터 전송 처리에 대하여 설명한다. 앞서 도 1을 참조하여 설명한 바와 같은 네트워크에 다수의 노드가 접속되고, 데이터 기록 지시 장치, 또는 재생 지시 장치로부터의 처리 요구에 따라 각 노드가 응답하여 처리 데이터를 송신하는 구성에서, 예를 들면 데이터 재생 처리를 실행하는 경우, 재생 지시 장치가 필요한 재생 데이터를 취득하기 위해서는, 복수의 노드로부터 데이터를 취득하는 데이터 취득 방식, 또는 종래 기술의 란에서 설명한 캐루젤 전송 등 여러 가지 방식에 의해 데이터를 취득하는 것이 가능하다. 이하에서는, 이와 같은 여러 가지 데이터 전송 방식을 적당히 조합하여 적용함으로써 효율적인 데이터 전송을 가능하게 한 예에 대하여 설명한다.
데이터 전송 방식으로서는, 예를 들면 이하의 방식이 있다. 단일 노드로부터 데이터를 반복하여 송신하는 캐루젤 전송 방식, 직전에 데이터를 수취한 노드에 접속하여 데이터를 수신하는 연쇄화 방식, 복수의 분산 캐시로부터 데이터를 수신하고, 집적 데이터에 따라 데이터를 취득하는 방식, 전 데이터를 저장하고 있는 노드, 예를 들면 기록 지시 장치에 접속하여 전 데이터를 취득하는 서버 클라이언트 방식, 또한, 필요 데이터를 자기의 노드에 로컬로 저장하고, 로컬 캐시로부터 데이터를 취득함으로써 재생 시의 데이터 전송을 불필요하게 한 로컬 캐시 방식, 이들 방법이 재생 데이터 취득 방식으로서 적용 가능하다.
이하, 설명하는 실시예는 데이터(컨텐츠) 재생 처리를 실행할 때에, 상기 여러 가지 방식을 적당히 조합하여 실행함으로써, 네트워크 트래픽를 감소시켜, 효율 적이며 확실한 데이터 재생을 실현하는 구성이다.
도 20을 참조하여 본 실시예에 있어서의 재생 지시 장치의 구성에 대하여 설명한다. 재생 지시 장치는 재생에 필요한 데이터를 다른 노드로부터 취득하는 경우에는, 데이터의 재생 지시를 각 노드에 송신하고, 각 노드로부터 재생 대상의 데이터를 수신하여 데이터 재생 처리를 실행한다. 또, 자기의 캐시(로컬 캐시)에 존재하는 경우에는, 캐시로부터 데이터를 꺼내 재생을 실행한다.
도 20을 참조하여 재생 지시 장치(310)에 대하여 설명한다. 재생 지시 장치(310)는 네트워크를 통한 외부 장치와의 데이터 송수신을 실행하는 네트워크 인터페이스(311), 노드에 재생 대상 데이터를 지정한 재생 데이터 송신을 요구하는 패킷을 생성하는 데이터 요구 패킷 생성부(312), 데이터 요구 패킷에 설정하는 [룰 판단 조건 기술]로서의 확률값 : β를 결정하는 룰 판단 조건 설정부(313)를 가진다.
또한, 복수의 데이터 전송 방식으로부터 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정부(318)를 가진다. 데이터 요구 패킷 생성부(312)는 데이터 전송률 설정부(318)에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터를 설정하는 동시에, 패킷의 어드레스 설정 처리를 실행하여, 재생 요구 처리 대상 데이터의 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성한다.
데이터 전송률 설정부(318)는 재생 대상 데이터의 수요도에 따라 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 구 성이며, 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 중 적어도 어느 하나의 방식을 포함하는 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정한다.
또한, 네트워크 인터페이스(311)는 각 노드로부터의 재생 데이터 저장 패킷을 수신하고, 재생 지시 장치(310)의 패킷 처리부(314)는 패킷에 분할된 데이터를 결합하는 처리를 실행한다. 또한, 데이터 복원 처리부(315)는 수신 패킷으로부터 추출한 데이터의 디인터리브 처리, FEC 디코드 처리를 실행하여, 데이터의 복원을 실행한다. 복원된 데이터는 데이터 처리부(316)에 입력되어, 모니터나 스피커(도시 생략) 등의 외부기기에 출력하거나 도시하지 않은 기록 장치에 저장되거나 한다. 또, 데이터 기억부(317)는 로컬 캐시로서 적용되어 재생 대상 데이터가 저장 가능하다. 저장 데이터가 가공 데이터인 경우에는, 데이터 복원 처리부(315)에서 복원 처리가 이루어진 후, 재생된다. 비가공 데이터로서 저장되어 있는 경우에는, 복원 처리를 실행하지 않고, 데이터 처리부(316)에서 재생된다.
데이터 요구 패킷 생성부(312)는 분산형 기억 장치 시스템을 구성하는 각 노드에 데이터를 요구하는 패킷을 송신한다. 송신 패킷 구성은 앞서 도 12를 참조하여 설명한 대로이며, 헤더, 재생 룰 판단 조건 기술부, 리퀘스트 기술부, 푸터로 구성된다. 리퀘스트 기술부에는, 요구하는 데이터를 식별하기 위한 데이터 ID가 기록된다. 헤더와 푸터에는, CRC의 체크섬, 노드의 네트워크 어드레스나 GUID, 데이터의 순서를 나타내는 시퀀스 번호 등의 제어 정보가 기록된다.
재생 룰 판단 조건 기술부에는, 룰 판단 조건 설정부(313)가 결정한 회신 확 률 β를 설정한다. 회신 확률 β는 패킷을 수신한 노드가 데이터를 회신하는지 여부의 판정을 실행하기 위한 변수이다. 이 변수를 기초로, 요구 데이터를 자기의 기억부로부터 추출하여 패킷을 생성해서 데이터 회신을 실행하는지 여부를 판정한다.
변수에 따른 판정 처리 결과, 요구 처리를 실행하는 노드도 있으면, 실행하지 않는 노드도 있지만, 회신 확률 β는 분산형 기억 장치 시스템 전체를 매크로적으로 보았을 때의 값이며, 분산형 기억 장치 시스템 전체에서는, 각 노드의 데이터를 회신하는 확률이 β가 된다. 그 때문에, 분산형 기억 장치 시스템에 n 개의 노드가 존재하는 경우에, 회신되는 패킷의 비율은 노드의 개수 n과 회신 확률 β를 곱셈한 값 n×β가 된다.
단, 본 실시예에서는, 캐루젤, 연쇄화, 클라이언트 서버형 등 여러 가지의 데이터 전송 방식을 적용하는 것이며, 각각의 전송 방식에 따라, 룰 판단 조건 설정부(313)는 회신 확률 β를 설정하는 것이 가능하다. 즉, 캐루젤의 경우 βa, 연쇄화의 경우 βb, 클라이언트 서버형의 경우 βc 등이다. 단, 전술한 분산 노드로부터의 데이터 수신 방식에만 회신 확률 β를 설정하고, 그 밖의 방식에는 회신 확률의 설정은 실행하지 않는다고 하는 구성으로 해도 된다.
패킷 처리부(314)는 각 노드로부터 회신된 패킷을 결합한다. 회신 패킷은 앞서 도 13을 참조하여 설명한 구성을 가진다. 도 13에 나타내는 바와 같이, 패킷은 헤더, 페이로드, 푸터로 구성되고, 페이로드에는 각 노드가 기억부로부터 추출한 데이터, 즉, 앞서 도 5를 참조하여 설명한 FEC 처리 및 인터리브 처리가 이루어 진 데이터 블록이 저장되고, 헤더와 푸터에는 CRC의 체크섬이나 수신측 노드의 네트워크 어드레스, 패킷의 순서를 나타내는 시퀀스 번호 등 제어 정보가 저장된다.
도 13에 나타내는 패킷을 재생 지시 장치가 수신하면, 패킷 처리부(314)는 패킷 해석을 실행하여, 시퀀스 번호를 판독하고, 수신한 패킷의 순서를 교체하여 헤더나 푸터 등의 제어 정보를 제거하고, 시퀀스 번호순으로 패킷을 결합한다.
데이터 복원 처리부(315)는 수신 데이터 블록에 디인터리브를 걸어 데이터의 열을 정렬시키고, 또한 디인터리브된 데이터에 FEC 복호를 실시하여, 원래의 데이터를 복원한다. FEC 및 디인터리브 처리에 따른 데이터 복원 처리에 대해서는, 앞서 도 14를 참조하여 설명한 대로이다.
데이터 복원 처리부(315)에 의해 복원된 데이터는 데이터 처리부(316)에 출력된다. 데이터 처리부(316)는 복호된 데이터를, 도시하지 않은 기록부에 보존하거나, 모니터나 스피커 등의 출력부에 출력 인터페이스를 통해 출력한다.
전술한 바와 같이, 본 실시예의 재생 지시 장치에서는, 복수의 전송 방식에 대응하기 위해 복수의 인터페이스(A, B, …)를 인터페이스(311)에 가진다. 이들 각 인터페이스를 통해 룰 판단 조건 설정부(313)가 전송 방식에 따라 결정한 회신 확률(βa, βb, …)을 설정한 재생 처리 요구(명령) 패킷을 송신한다.
도 21은 재생 처리 요구(명령) 패킷을 네트워크 접속된 각 노드에 송신하는 처리를 설명하는 도면이다. 각 노드는 1 개 또는 복수의 전송 방법을 제공한다. 도면에는 일부만 기록하고 있지만, 캐루젤, 분산 캐시, 연쇄화, 클라이언트 서버 등의 방식을 제공하는 다수의 노드가 네트워크 분포되어 있다.
재생 지시 장치(351)는, 예를 들면 캐루젤 전송을 실행하는 노드(371), 연쇄화 전송을 실행하는 노드(374), 분산 캐시 방식에 의한 데이터 저장을 실행하고 있는 노드(375), 그 밖의 노드(372, 373)에 대하여, 앞서 도 12를 참조하여 설명한 재생 룰 판단 조건 기술로서 각 전송 방식에 따라 회신 확률(βa, βb, …)을 설정하고, 재생 지정 데이터의 식별자, 예를 들면 컨텐츠 ID, GUID 등을 리퀘스트 기술로서 설정한 데이터 재생 처리 요구 패킷을 생성하고, 패킷을 각 노드에 대하여 유니캐스트 또는 멀티캐스트 배신한다.
도 22는 재생 처리 요구(명령) 패킷의 회답으로서 각 노드(371∼375)로부터 재생 지시 장치(351)에 데이터가 송신되는 모양을 나타내고 있다. 도 12에 나타내는 데이터 재생 처리 요구 패킷을 수신한 노드가 재생 명령에 따라, 데이터 재생 처리, 즉 자 노드의 기억부로부터의 지정 데이터의 판독, 패킷 생성, 패킷 송신을 실행하는지, 하지 않는지를 자율적으로 판정하고, 처리 실행의 판정을 실행한 노드에서만 재생 데이터를 저장한 패킷, 즉 도 6에서 설명한 FEC 처리 및 인터리브 처리를 실시한 가공 데이터를 페이로드로 한 패킷(도 13 참조)을 생성하여, 재생 지시 장치(351)에 대하여 송신한다. 각 노드는 캐루젤, 분산 캐시, 연쇄화, 클라이언트 서버 각각의 방식으로 데이터를 반환한다.
재생 지시 장치가 재생에 필요한 데이터를 취득하는 방식의 상세, 및 각 방식의 특성에 대하여, 도 23을 참조하여 설명한다. 도 23은 재생 대상 데이터 등을 취득해야 할 데이터의 전송 방식 또는 저장 방식별로, 특성을 정리하고 있다. 방식으로서는, 캐루젤 방식, 분산 캐시 방식, 연쇄화 방식, 로컬 캐시 방식, 클라이 언트 서버 방식의 각 종류로 구분하고, 또한 분산 캐시 방식은 캐시 노드가 재생 지시 장치 등의 데이터 취득 처리를 실행하는 장치로부터 근거리에 있는지 원거리에 있는지를 구별하여 나타내고 있다.
캐루젤은 어느 데이터에 관한 데이터의 군(群)을 반복해서 멀티캐스트를 사용하여 송신하는 데이터 전송 방식이다. 캐루젤 방식으로 보내지는 데이터가 멀티캐스트로서 송신되는 경우, 어느 어드레스를 판독하는 것만 할 수 있고, 단위 시간당 수신 데이터양의 변경은 할 수 없다. 따라서, 예를 들면 100의 길이가 있는 데이터를 단위 시간 10의 속도로 반복하여 송신한 경우, 데이터가 전술한 인터리브 처리에 의해, 랜덤 교체 처리가 이루어지고 있으면, 단위 시간에 유효한 데이터를 수신하는 확률은 10%가 된다.
단, 스트리밍 데이터 배신 등의 경우에는, 단위 시간에 수신한 유효 데이터 이외의 데이터도, 장래 반드시 관계되는 데이터로서 적용 가능, 즉 디인터리브 처리에 적용 가능한 데이터가 되므로, 이들 데이터를 자 장치의 기억부에 캐시해 두면, 새로 데이터를 수신하지 않고, 캐시 데이터를 이용함으로써 대역 삭감에 연결된다. 이 대역 삭감 효과를 도 24에 나타낸다. 시간에 따라 로컬로 캐시되는 데이터의 양이 증가하기 때문에 캐루젤 이외에 수취할 필요가 있는 패킷의 양이 줄어들어 간다. 즉, 모든 데이터를 캐루젤 전송으로 실행하지 않고, 일부 데이터를 캐루젤 전송함으로써, 대역 삭감 효과가 발생한다.
다음에, 확률 분포에 의한 분산 캐시에 대하여 설명한다. 이 방식은 도 6을 참조하여 설명한 기록 룰 판단 조건 기술을 설정한 기록 처리 요구 패킷을 각 노드 에 송신하고, 노드측에서 자율적인 처리 판단을 실행하여 데이터 기록을 실행한 데이터를, 재생 지시 장치가 재생 요구 패킷을 송신하여 취득하는 것이다. 다른 방식과 비교하여 가장 유연한 운용이 가능한 전송 방식이다. 예를 들면 각 노드를 그룹 구분함으로써, 네트워크의 부하가 그다지 걸리지 않는 가까운 노드군을 얻을 수 있으면, 가능한 한 가까운 그룹으로부터 재생 패킷을 수취하도록 제어하는 것이 가능하게 된다.
예를 들면, 데이터 재생 처리 요구를 송신하는 노드군을 재생 지시 장치에 근접 하는 노드군으로 하는 어드레스(멀티캐스트 어드레스) 설정으로 하는 처리를 실행함으로써, 패킷의 전송 로스는 최소한으로 줄일 수 있다. 예를 들면, 도 25에 나타내는 어드레스 테이블을 적용하여, 재생 지시 장치가 데이터 재생 처리 요구를 송신하는 노드군을, 자 장치에 근거리에 있는 노드로 한정하는 멀티캐스트 어드레스를 설정하거나, 자 장치로부터 중거리, 또는 원거리, 또는 전 노드 등 여러 가지 노드로 한정하는 멀티캐스트 어드레스를 설정함으로써, 네트워크의 트래픽 제어가 가능하게 된다.
다음은 연쇄화 전송 방식에 대하여 설명한다. 연쇄화는 노드가 재생 지시 장치를 겸할 때 직전 또는 이전에 재생한 데이터를 캐시해 두고 이것을 재이용하는 방식이다.
예를 들면, 직전 또는 이전에 재생한 데이터에 대응하는 식별자 정보와, 데이터를 송신한 노드의 식별 정보를 유지하고, 이들 유지 정보에 따라, 도 26에 나타내는 바와 같이, 데이터(컨텐츠) ID와, 데이터를 송신한 노드에 대한 어드레스를 포함하는 유니캐스트 또는 멀티캐스트 어드레스를 대응시킨 어드레스 테이블을 생성하고, 이 테이블을 참조하여, 재생 지시 장치가 송신하는 데이터 재생 요구(명령) 패킷의 설정 어드레스를 결정한다.
연쇄화는, 예를 들면 급격하게 인기가 나타난 컨텐츠(데이터)에 대하여 유효한 방식이지만, 데이터를 유지하고 있는 노드가 적으면 멀리서 데이터를 보내주지 않으면 안되어, 패킷 중복 등의 전송 로스도 크므로, 컨텐츠 데이터가 많은 노드에 유지된 상태, 즉 분산 캐시 상태에 이를 때까지의 동안만 이용하는 것이 바람직하다.
데이터의 재생 시에 있어서의 리얼 타임 전송을 하지 않는 로컬 캐시를 이용하는 방식도 가능하다. 즉, 재생 처리를 실행하는 장치 자신의 로컬 캐시에 데이터를 저장하고, 그 입력 데이터를 재생 처리에 이용하는 방법이다. 단, 이 방식은 분산 캐시 처리를 실행하는 각 노드의 캐시 용량이 매우 커 특정 데이터에 치우쳐 있는 경우에 대응하는 것이라고 생각된다.
클라이언트 서버형의 전송 방식은, 예를 들면 캐루젤, 분산 캐시, 연쇄화, 로컬 캐시의 각 방식으로 취득 불가능한 데이터에 대한 데이터 전송에 적용 가능하며, 근본의 데이터를 저장하고 있는 장치, 즉 기록 지시 장치 등 데이터를 확실하게 유지한 서버에 문의하여 데이터를 취득하는 처리 방식이다. 이 클라이언트 서버형의 데이터 송신은 다른 노드에 전혀 캐시되어 있지 않은 극히 소수의 재생 지시 장치만이 요구하는 데이터에 대하여 적합한 데이터 배신 처리 구성이며, 이용 빈도가 적은 데이터도 확실하게 취득할 수 있다.
도 23에는 전술한 각 방식의 특성을 정리하고 있다. 특성으로서는, 거리, 넷 부하, 데이터 발견율, 온디맨드 적성, 전송 로스, 효율이 양호한 수요의 6 항목에 대하여 나타내고 있다. 거리에 관해서는, 재생 지시 장치와 데이터 저장 노드의 네트워크 상에서의 거리를 나타낸다. 분산 캐시 방식은 그룹 구분에 의해 먼 것과 가까운 것으로 나눌 수 있지만, 그 밖의 것에 관해서는 나눌 수 없기 때문에 「원(遠)」의 분류로 했다. 네트워크 부하에 관해서는, 전송 거리와 전송 패킷의 양의 곱셈으로 평가했다. 「소(小)」가 네트워크 부하가 작고, 「대(大)」가 네트워크 부하가 크다. 거리가 멀어도 네트워크 부하를 작게할 수 있는 것은 캐루젤 방식뿐이며, 그 외는 네트워크 부하가 거리에 따라 커지고 있다. 단, 로컬 캐시는 사전에 다운로드할 때에 큰 부하가 걸린다.
데이터 발견 확률은 어느 데이터를 재생 지시 장치가 요구했을 때, 그 전송로로 전송되는 가능성이 큰가 작은가를 나타내고 있다. 온디맨드성은 어느 데이터를 재생 지시 장치가 요구했을 때 바로 재생을 개시할 수 있는지를 나타내고 있다. 전송 로스는 중복 패킷을 포함한 데이터 전송 로스에 대하여, 「대」 쪽이 바람직하지 않다. 이상을 종합하면, 데이터의 수요와 그것에 적합한 전송 방식을 분류할 수 있다. 이것을 나타내는 것이, 「효율이 양호한 수요」의 항목이다.
이와 같은, 여러 가지 특성을 가지는 상이한 전송 방식을 확률적 룰에 따라 이음새 없이 통합하여, 네트워크 접속된 노드(정보 처리 장치) 1 대로부터 수천만 대나 그 이상까지 각각의 데이터 수요(인기도)에 따른 데이터 전송 제어를 실행한다.
데이터 수요(인기도)에 따른 데이터 전송 제어에 대하여, 도 27을 참조하여 설명한다. 도 27은 종축에 대수축(對數軸)으로서 나타내는 데이터 수요(인기도), 횡축에 데이터 취득의 각 방식을 적용하는 비율(대역 비율)을 나타낸 것이다. 대역 비율은 각 데이터 전송 방식의 데이터 전송률에 상당한다.
예를 들면, 수요도(인기도)가 매우 높은 a 이상의 영역에 있는 데이터(컨텐츠)는 캐루젤 전송을 100% 실행한다. 수요도(인기도)가 b 포인트에 있는 데이터(컨텐츠)는 캐루젤 전송을 적용하는 대역 비율을 30%로 하고, 분산 캐시로부터의 데이터 취득에 적용하는 대역 비율을 70%로 한다. 여기에서 대역 비율은 대략 데이터 취득 비율에 상당한다고 생각할 수 있다. 즉, 인기도가 높은(포인트 b) 컨텐츠 데이터의 30%의 데이터는 캐루젤 전송으로 취득하고, 나머지 70%의 데이터는 분산 캐시로부터의 데이터 취득에 의해 취득할 수 있다.
또, 수요도(인기도)가 c의 포인트를 가지는 데이터(컨텐츠)는 분산 캐시로부터의 데이터 취득에 적용하는 대역 비율을 43%로 하고, 연쇄화와 클라이언트 서버형의 데이터 전송을 57%로 한다. 또한, 수요도(인기도)가 낮고, d 포인트 이하의 데이터(컨텐츠)는 모두를 클라이언트 서버형의 데이터 전송으로 한다.
데이터 전송률 설정부(318)(도 20 참조)는 도 27에 나타내는 바와 같은 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역 비율의 대응 데이터를 가지며, 상기 대응 데이터에 따라 재생 대상 데이터의 수요도 정보에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행한다.
데이터 요구 패킷 생성부(312)는 데이터 전송률 설정부(318)에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터를 설정하는 동시에, 어드레스 설정 처리를 실행하여, 재생 요구 처리 대상 데이터의 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성한다. 예를 들면, 수요도(인기도)가 c의 포인트를 가지는 데이터(컨텐츠)인 경우에는, 분산 캐시로부터의 데이터 취득 비율이 43%이며, 연쇄화와 클라이언트 서버형의 데이터 전송이 57%이므로, 분산 캐시로부터의 데이터 취득 요구 패킷의 리퀘스트 기술에는 전체 컨텐츠의 43%의 데이터 취득 요구를 기술하고, 어드레스로서는 분산 노드에 대응하는 멀티캐스트 어드레스를 설정한다.
또한, 나머지 57%의 데이터 요구는 클라이언트 서버형의 데이터 요구로서 실행한다. 즉, 서버(예를 들면, 기록 지시 장치)에 대한 어드레스를 설정하여, 57%의 데이터 요구를 리퀘스트 기술로서 저장한 패킷을 서버에 송신한다.
이와 같은 전송 방식의 사용 구분에 의해, 효율적인 데이터 전송이 실현된다. 네트워크에 접속된 다수 노드, 예를 들면 수십만 노드로부터의 데이터 취득 요구가 있는 컨텐츠는 캐루젤만 송신 처리를 실행하고, 수요가 감소하는 데 따라, 「캐루젤+분산」, 「분산+연쇄화+클라이언트 서버」, 또한, 수요가 적은 데이터에 대해서는 「클라이언트 서버만」과 같이, 수요도(인기도)에 의해 데이터 취득에 적용하는 방식을 절환한다.
본 실시예에서는, 이와 같은 정책을 데이터의 수요도(인기도)로 나타내는 방식을 제안하고 있다. 도 27에서는, 데이터의 수요도(인기도)에 따라, 「캐루젤+분 산」, 「분산+연쇄화+클라이언트 서버」, 「클라이언트 서버만」의 4 개 타입의 구분예를 나타내고 있지만, 데이터 전송의 조합 및 서열의 조합은 도면에 나타내는 구성에 한정되지 않고, 여러 가지 설정이 가능하다. 또한, 다른 전송 방식을 내장하는 구성으로 해도 된다. 또, 도 27에 나타내는 구성예에는, 로컬 캐시 방식의 처리가 포함되지 않지만, 로컬 캐시 데이터가 있는 경우에는, 이용 대역의 비율을 로컬 캐시 데이터로부터 취득 가능한 비율분 감소시켜 구성하는 것이 가능하게 된다.
전술한 바와 같이, 본 실시예에서는, 취득 데이터의 수요도(인기도)에 따라 데이터의 전송 방식, 취득 방식을 변경하는 구성이다. 취득 데이터의 수요도(인기도)에 관한 지표 데이터는, 예를 들면 자유롭게 열람 가능한 웹 사이트 등에 설정하여, 재생 지시 장치가 되는 노드가 최신의 수요도 정보를 얻고, 취득한 정보에 따라 재생 요구를 실행하는 구성으로 하는 것이 바람직하다. 재생 지시 장치가 되는 노드 자신이 보유하는 독자적인 정보, 또는 추정 정보에 따른 처리를 실행해도 된다.
도 28은 수요도 정보를 제공하는 수요 정보 제공 장치(421)를 네트워크 상에 설정한 예를 나타낸다. 수요 정보 제공 장치(421)는 네트워크 접속된 노드의 수, 각 노드가 실행 가능한 전송 방식 정보, 또한 데이터(컨텐츠마다)의 수요 정보를 집적 저장하고, 재생 지시 장치(411)의 요구에 따라 이와 같은 정보를 제공한다. 그리고, 도 28에서는, 재생 지시 장치(411)를 다른 노드(431∼435)와 구별하여 나타내고 있지만, 어느 노드(431∼435)도 재생 지시 장치로서 기능할 수 있다.
수요 정보 제공 장치(421)는 네트워크 접속된 노드의 수, 각 노드의 실행 가능한 전송 방식 정보, 또한 데이터(컨텐츠마다)의 수요 정보를 제공할 뿐만 아니라, 캐루젤 전송 개시의 타이밍 제어를 실행하는 구성으로 해도 된다. 즉, 오리지널 데이터를 가지는 노드로부터 캐루젤 전송을 개시할 때, 수요 정보 제공 장치(421)로부터 전송 개시 요구를 송신하고, 노드가 전송 개시 요구를 수신한 것을 조건으로 하여 캐루젤 전송을 개시한다. 캐루젤 전송을 실행하는 노드는, 예를 들면 오리지널 데이터를 보유하고 있는 기록 지시 장치, 데이터를 자기의 기억 수단에 보유하고 있는 노드 등이다. 그리고, 캐루젤 전송을 실행하는 노드는 1 개의 노드만, 또는 복수의 노드로 해도 된다.
수요 정보 제공 장치(421)는 네트워크 접속 노드와의 데이터 송수신을 실행하는 통신부와, 수요도 정보를 생성하여 생성 정보의 제공 처리 제어를 실행하는 제어부를 가지는 정보 처리 장치에 의해 구성된다.
제어부에서는, 예를 들면, 통신부를 통해 네트워크 접속 노드로부터 수신하는 수요도 정보 취득 요구수의 카운트 처리가 실행되며, 이 카운트 정보에 따라, 각 데이터 대응의 수요도 정보가 생성된다. 통신부를 통해 네트워크 접속 노드로부터 수요도 정보 취득 요구를 수신하면, 제어부는 카운트값에 따른 응답 정보를 생성하여 송신한다.
또, 수요 정보 제공 장치(421)의 제어부는 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어 를 실행한다. 이들의 처리에 대해서는 후술한다.
다음에 도 29를 참조하여, 기록 지시 장치로부터 노드에 대한 데이터 기록 처리 요구의 발행, 노드에서의 데이터 기록 처리, 재생 지시 장치로부터 수요 정보 제공 장치에 대한 문의 및 응답 정보 수신, 또한 응답 정보에 따른 노드에 대한 데이터 재생 처리 요구의 발행, 노드에서의 데이터 추출, 패킷 송신 처리의 일련의 처리 시퀀스에 대하여, 정리해서 설명한다.
기록 지시 장치는 먼저 단계 S501에서, 기록 대상 데이터(컨텐츠)의 가공, 즉, FEC 처리, 및 인터리브 처리를 실행한다. 이 처리는 앞서 도 5를 참조하여 설명한 처리에 대응한다.
다음에, 기록 지시 장치는 단계 S502에서, 데이터 기록 처리 요구(명령) 패킷의 생성 처리를 실행한다. 인터리브 처리가 이루어진 데이터가 페이로드로서 저장되는 동시에, 룰 판단 조건 설정부(253)(도 4 참조)에서 결정되는 [룰 판단 조건 기술]로서의 확률값 : α를 설정한 패킷을 생성한다.
다음에, 기록 지시 장치는 단계 S503에서, 송신 노드에 따른 어드레스 설정, 즉 유니캐스트 또는 멀티캐스트를 이용하여 분산형 기억 장치 시스템을 구성하는 각 노드에 송신한다.
기록 지시 장치로부터의 데이터 기록 처리 요구(명령) 패킷을 수신한 노드의 처리는 앞서 도 8, 도 9를 참조하여 설명한 처리의 실행, 비실행을 자율적으로 판단하여 실행되는 처리가 된다. 도 29에는, 2 개의 노드(노드 1, 2) 처리를 나타내고 있지만, 이 밖에도 다수의 노드에서, 자율적인 판단(확률 제어)이 실행되고, 데이터 기록 처리를 실행하는 노드, 데이터 기록 처리를 실행하지 않는 노드가 존재한다.
도 29에 나타내는 2 개의 노드(노드 1, 2)는 단계 S511, S521의 확률 제어 처리, 즉, 도 8을 참조하여 설명한 생성 난수와, 수신 패킷(데이터 기록 처리 요구 패킷) 중의 기록 룰 판단 조건 기술로서 설정된 확률 : α의 비교에 따른 처리 실행/비실행의 판정 처리, 또는 도 9를 참조하여 설명한 패킷 내 데이터에 따른 해시값과, 노드 설정값의 비교에 따른 처리 실행/비실행의 판정 처리를 실행한다.
도 29에 나타내는 2 개의 노드(노드 1, 2)는 단계 S511, S521의 확률 제어 처리 결과로서, 모두 데이터 기록 처리를 실행한다는 결론이 얻어지고, 단계 S512, S522에서, 데이터 기록 처리를 실행한다. 기록 대상 데이터는 기록 지시 장치로부터 수신한 데이터 기록 처리 요구 패킷에 저장된 FEC 및 인터리브된 가공 데이터이다.
다음에, 재생 지시 장치는 단계 S531에서, 수요 정보 제공 장치에 대하여 문의를 실행하고, 단계 S532의 응답에서, 재생 예정 컨텐츠에 대한 수요 정보, 또한 필요하면 각 노드의 실행 가능한 전송 방식에 대한 정보를 취득한다.
또한, 재생 지시 장치는 수요 정보 제공 장치로부터 취득한 정보에 따라 재생 데이터의 전송 방식을 결정하고, 단계 S533에서 결정 정보에 따라 재생 처리 요구(명령) 패킷(도 12 참조)을 생성하여, 단계 S534에서, 패킷을 각 노드에 대하여 송신한다. 재생 데이터의 전송 방식은, 예를 들면, 캐루젤, 분산 캐시, 연쇄화+클라이언트, 클라이언트 서버 방식 중 어느 하나이며, 패킷에는 결정된 전송 방식을 실행 가능한 노드에 대한 어드레스가 설정된다. 또한, 패킷에는 재생 대상이 되는 컨텐츠 ID 등을 리퀘스트 기술로서 저장하고, 필요에 따라 재생 룰 판단 조건 기술(확률 : β)이 설정된다.
재생 처리 요구(명령) 패킷(도 12 참조)을 수신한 각 노드, 즉 도 29에 나타내는 2 개의 노드(노드 1, 2)는 단계 S541, S551의 확률 제어 처리, 즉, 도 17을 참조하여 설명한 생성 난수와, 수신 패킷(데이터 재생 처리 요구 패킷) 중의 재생 룰 판단 조건 기술로서 설정된 확률 : β의 비교에 따른 처리 실행/비실행의 판정 처리, 또는 도 18을 참조하여 설명한 패킷 내 데이터에 따른 해시값과, 노드 설정값의 비교에 따른 처리 실행/비실행의 판정 처리를 실행한다.
도 29에 나타내는 노드 1은 단계 S551의 확률 제어 처리의 결과로서, 데이터 재생 처리를 실행한다는 결론이 얻어져, 단계 S552에서, 재생 처리 요구(명령) 패킷의 리퀘스트 기술에 따라, 자 노드의 기억부로부터 대응 데이터를 취득하고, 취득 데이터를 페이로드로서 저장한 패킷(도 13 참조)을 생성하여, 단계 S553에서, 재생 지시 장치에 대하여 송신한다.
한편, 도 29에 나타내는 노드 2는 단계 S541의 확률 제어 처리의 결과로서, 데이터 재생 처리를 실행하지 않는다는 결론이 얻어져, 데이터 추출 및 패킷 생성, 송신을 실행하지 않고 처리를 종료한다.
그리고, 도 29에는 노드 1로부터만의 데이터가 재생 지시 장치에 송신되고 있는 구성으로 되어 있지만, 도시하지 않은 노드 3∼n으로부터의 데이터 저장 패킷이 재생 지시 장치에 송신되고, 재생 지시 장치는 다수의 노드로부터 다수의 패킷 을 수신하고 있다.
재생 데이터를 저장한 패킷을 수신한 재생 지시 장치는 단계 S561에서, 수신 데이터 블록에 디인터리브를 걸어 데이터의 열을 정렬시키고, 또한 디인터리브된 데이터에 FEC 복호를 실시하여, 원래의 데이터를 복원한다.
FEC 및 디인터리브 처리에 따른 데이터 복원 처리에 대해서는, 앞서 도 14를 참조하여 설명한 대로이다. 소실 패킷이 존재해도, 디인터리브 처리에 의해, 에러는 에러부가 큰 데이터 영역으로서 존재하는 버스트 에러가 아니고, 랜덤 에러가 되어, FEC 복호 처리에 의해 원래의 데이터가 복원된다.
다음에, 도 29의 시퀀스 차트에서의, 재생 지시 장치의 「수요의 문의」로부터 「가공된 데이터의 복원」까지의 상세 처리 순서에 대하여, 도 30의 플로차트를 참조하여 설명한다.
먼저, 재생 지시 장치는 재생 대상 컨텐츠가 결정하면, 단계 S601에서, 수요 정보 제공 장치에 대하여 문의를 실행한다. 문의에는, 예를 들면 컨텐츠의 식별자(컨텐츠 ID)를 저장한 패킷을 생성하여 수요 정보 제공 장치에 대하여 송신한다.
다음에, 단계 S602에서, 재생 지시 장치는 수요 정보 제공 장치로부터 수신한 수요 정보에 따라, 재생 데이터의 취득 방식, 즉 데이터 전송 양태를 결정한다. 이것은 앞서 도 27을 참조하여 설명한 수요도와 대역 비율의 대응 관계에 따라 결정한다. 예를 들면, 전술한 바와 같이, 수요도(인기도)가 매우 높은 a 이상의 영역에 있는 데이터(컨텐츠)는 캐루젤 전송을 100% 실행한다. 수요도(인기도)가 b의 포인트에 있는 데이터(컨텐츠)는 캐루젤 전송을 적용하는 대역 비율을 30%로 하고, 분산 캐시로부터의 데이터 취득에 적용하는 대역 비율을 70%로 하는 등이다.
또한, 캐루젤, 분산 캐시, 연쇄화+클라이언트, 클라이언트 서버의 각 양태에 대하여, 컨텐츠의 수요와 전송 경로에 있어서의 확률 비율과의 관계를 나타낸 함수를 설정하고, 함수에 따라 전송 양태를 결정하는 것도 가능하다. x를 도 27의 종축의 수요도(대수축)으로 하고, y를 각 전송 경로마다의 대역 비율(% : 가로폭)로서 설정한 함수군 : y=Dn(x)를 설정한다. n은, 예를 들면 캐루젤 : n=1, 분산 캐시 : n=2, 연쇄화+클라이언트 : n=3, 클라이언트 서버 : n=4 등 양태마다 설정된다.
이들 함수군 : y=Dn(x)에서, 임의의 x에 대한 ΣDn(x)=1이 되도록 Dn(x)를 정한다. 수요 정보 제공 장치로부터 수신한 수요 정보에 따라, 도 27의 종축에 상당하는 수요도 : x를 취득하고, 함수군 : y=Dn(x)에 x를 설정하여, n=1∼4 각각의 대역 : y, 즉, 캐루젤, 분산 캐시, 연쇄화+클라이언트, 클라이언트 서버 각각의 대역을 결정한다.
즉, 데이터 전송률 설정부(318)(도 20 참조)는 수요도 : x와, 각 전송 방식의 대역 비율 : y와, 각 데이터 전송 방식마다의 식별값 : n에 의해 설정되는 함수군 : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정되는 수요도 : x의 값을 이용하여 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행한다. 또는, 도 27에 나타낸 수요도와 대역 비율의 대응 데이터에 따라 실행해야 할 전송 방식의 선택 및 대역 비율의 설정을 실행하는 구성으로 해도 된다.
x가 커지는 데 따라, 수요가 높은 경우 유효한 전송 경로가 선택되도록 함수 : Dn(x)는 설정되어 전송로의 최적 선택이 가능하게 된다. 그러나, 현실적으로는 그 전송로를 사용할 수 있는 노드에 데이터가 없는 경우도 있을 수 있으므로, 데이터의 부족이 생긴 경우, 일반적으로 수요가 높을 때에 유효한 전송로보다 수요가 낮을 때에 유효한 전송로 쪽이, 보다 데이터가 노드에 포함되는 확률이 높아지기 때문에, x를 조정함으로써, 확실하게 데이터가 있는 전송로의 비율을 늘려 전송로를 최적화한다. 이 조정 처리는 도 30의 플로에서의 단계 S606으로부터 단계 S609, 단계 S603의 처리에 대응한다.
도 30의 처리 플로로 되돌아가 설명을 계속한다. 단계 S602에서, 수요도에 따른 재생 대상 데이터의 전송 양태를 결정하면, 단계 S603에서, 결정된 데이터 전송 양태에 따른 회신 확률을 필요에 따라 설정한다. 이것은, 예를 들면 분산 캐시로부터의 데이터 취득 시에 재생 요구 패킷에 설정하는 재생 룰 판단 조건 기술(도 12 참조)로서의 회신 확률 : β이다. 그 밖의 전송 방식에서도, 각 전송 방식에 따른 회신 확률 : βn을 필요에 따라 설정한다.
다음에 단계 S604에서, 재생 룰 판단 조건 기술을 설정하는 동시에, 재생 대상 데이터의 식별 정보를 리퀘스트 기술로 한 재생 요구 패킷(도 12 참조)을 송신한다. 단계 S605에서, 재생 데이터를 페이로드로 한 데이터 패킷(도 13 참조)을 수신한다. 단계 S606에서, 복호 처리(FEC 복호) 실행 가능한 데이터를 취득할 수 있는지 여부를 판정하여, 취득하고 있으면, 단계 S607에서 복호 처리를 실행한다. 복호 처리에 대해서는, 예를 들면 앞서 도 14를 참조하여 설명한 디인터리브와, FEC 복호를 포함하는 처리가 실행된다.
그리고, 노드에 저장된 재생 대상 데이터가, p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환된 부호화율 q/p의 부호화 처리 데이터일 때, 네트워크에 접속된 기록 지시 장치로부터 지정되는 기록 확률 : α와, 회신 확률 : β가 설정되면, 회신 블록수는 q×α×n×β가 되며, 회신 블록수 : q×α×n×β>블록수 : p가 되면, 회신 데이터로부터 데이터 복원이 가능하게 된다. 단계 S606에서는, 회신 블록수가 상기 조건을 만족시키는지 여부를 판정한다. 만족시키지 않는 경우에는, 다시 대기하여 데이터 수신을 계속해도 되지만, 전술한 바와 같이, 단계 S609에서, 데이터 전송 양태의 변경을 실행하여, 단계 S603 이하의 처리를 재실행하는 것도 가능하다.
단계 S606에서, 복호 처리(FEC 복호) 실행 가능한 데이터를 취득할 수 있다고 판정하면, 단계 S607에서 복호 처리를 실행하고, 단계 S608에서, 복호 데이터에 따라 데이터 재생을 실행한다.
다음에, 도 31을 참조하여, 수요 정보 제공 장치가 컨텐츠의 수요가 증가한 것을 검출하고, 그 검출 정보에 따라, 캐루젤 전송을 개시하는 제어를 실행하는 처리 시퀀스에 대하여 설명한다.
수요 정보 제공 장치는 컨텐츠 수요도를, 예를 들면 재생 지시 장치로부터의 수요도 문의 수신 회수를 카운트함으로써 계측한다. 재생 지시 장치로부터의 수요도 문의 수신 회수가 많으면 그 만큼 그 데이터(컨텐츠)의 수요가 많은 것으로 판정한다. 수요 정보 제공 장치는 재생 지시 장치로부터의 수요도 문의 수신 회수가 미리 설정한 임계값을 넘었을 때, 컨텐츠 배신을 캐루젤 전송으로 절환하는 제어를 실행한다. 즉, 동일한 컨텐츠를 수신하고 있는 노드가 많아진 경우, 캐루젤 전송을 실행 가능한 노드, 예를 들면 기록 지시 장치에 대하여 캐루젤 전송을 지시한다.
캐루젤 전송 지시 요구에는, 수요 정보 제공 장치가 수령한 특정 데이터에 대한 수요 문의가 있던 데이터(컨텐츠) 식별 정보, 및 문의에 설정된 송신처 어드레스 정보를 포함한다. 캐루젤 전송을 실행 가능한 노드는 수요 정보 제공 장치로부터 수신한 캐루젤 전송 지시 요구에 포함되는 노드 어드레스를 포함하는 어드레스, 예를 들면 멀티캐스트 어드레스를 설정하고, 데이터(컨텐츠) 식별 정보에 대응하는 데이터를 페이로드로서 설정한 패킷을 생성하여 캐루젤 전송을 개시한다.
수요 정보 제공 장치가 컨텐츠 수요도에 따라 캐루젤 전송을 개시시키는 처리에 대하여, 도 31의 처리 시퀀스에 따라 설명한다. 도 31에는 2 개의 재생 지시 장치 A, B가 동일 컨텐츠의 재생을 실행하는 예를 나타내고 있지만, 더욱 다수의 노드가 동일 데이터(컨텐츠)의 재생을 실행하는 구성에서도 동일한 처리가 실행된다. 단계 S711에서, 복수의 재생 지시 장치로부터 수요 정보 제공 장치에 대하여 수요 정보의 문의가 실행된다. 이 수요 정보 문의에는, 문의 대상이 되는 데이터(컨텐츠)의 식별자가 포함된다. 수요 정보 제공 장치는 문의 로그 정보로서 문의 대상의 데이터(컨텐츠) 식별자와, 문의처 정보로서의 문의 노드의 어드레스 정보를 저장한다.
단계 S712에서, 수요 정보 제공 장치는 문의처의 재생 지시 장치에 대한 응답 처리로서 수요 정보를 제공한다. 단계 S713에서, 각 재생 지시 장치는 수요 정 보에 따라 데이터의 전송 방식을 결정하고, 재생 룰 판단 조건 기술로서의 회신 확률을 설정한 재생 요구 패킷을 생성하여, 단계 S714에서 패킷을 송신한다.
한편, 수요 정보 제공 장치는 재생 지시 장치로부터의 수요도 문의 수신 회수를 카운트하여, 수요도 문의 수신 회수가 미리 설정한 임계값을 넘었다고 판단하면, 단계 S716에서, 캐루젤 전송을 실행 가능한 노드(501)에 대하여, 캐루젤 전송 개시 요구를 송신한다.
캐루젤 전송 개시 요구에는, 수요 정보 제공 장치가 수령한 특정 데이터에 대한 수요 문의가 있던 데이터(컨텐츠) 식별 정보, 및 문의에 설정된 송신처 어드레스 정보를 포함한다.
캐루젤 전송을 실행 가능한 노드(501)는 단계 S717에서, 수요 정보 제공 장치로부터 수신한 캐루젤 전송 지시 요구에 포함되는 노드 어드레스를 포함하는 어드레스, 예를 들면 멀티캐스트 어드레스를 설정하여, 데이터(컨텐츠) 식별 정보에 대응하는 데이터를 페이로드로서 설정한 패킷을 생성하여 캐루젤 전송을 개시한다.
재생 지시 장치는 단계 S718에서, 수신 데이터 블록에 디인터리브를 걸어 데이터의 열을 정렬시키고, 또한 디인터리브된 데이터에 FEC 복호를 실시하여, 원래의 데이터를 복원한다. FEC 및 디인터리브 처리에 따른 데이터 복원 처리에 대해서는, 앞서 도 14를 참조하여 설명한 대로이다. 소실 패킷이 존재해도, 디인터리브 처리에 의해, 에러는 에러부가 큰 데이터 영역으로서 존재하는 버스트 에러가 아니고, 랜덤 에러가 되어, FEC 복호 처리에 의해 원래의 데이터가 복원된다.
이와 같이, 수요 정보 제공 장치가 컨텐츠의 수요가 증가한 것을 검출하고, 그 검출 정보에 따라, 캐루젤 전송을 개시하는 제어를 실행함으로써, 개개의 재생 지시 장치가 상이한 전송 방식으로 재생 대상 데이터를 수신하고 있는 상태를 캐루젤 전송으로 절환하는 것이 가능하게 되어, 네트워크 트래픽의 감소, 데이터 전송의 효율화가 가능하게 된다.
[7.정보 처리 장치의 하드 구성]
다음에, 전술한 실시예에서 설명한 노드, 기록 지시 장치, 재생 지시 장치, 및 수요 정보 제공 장치를 구성하는 정보 처리 장치의 하드 구성예에 대하여 설명한다.
도 32에, 제어 수단으로서 CPU(Central Processing Unit)를 구비한 정보 처리 장치 예를 나타낸다. 도 32에 나타내는 구성에 대하여 설명한다. CPU(Central Processing Unit)(901)는 각종 프로그램을 실행하는 프로세서이다. ROM(Read-0nly-Memory)(902)은 CPU(901)가 실행하는 프로그램, 또는 연산 파라미터로서의 고정 데이터를 저장한다. RAM(Random Access Memory)(903)은 CPU(901)의 처리에서 실행되는 프로그램, 및 프로그램 처리에서 적당히 변화되는 파라미터의 저장 영역, 워크 영역으로서 사용된다.
HDD(904)는 하드 디스크의 제어를 실행하여, 하드 디스크에 대한 각종 데이터, 프로그램의 저장 처리 및 판독 처리를 실행한다. 인코드/디코드 처리부(905)는 컨텐츠 등 송신 데이터의 인코드 처리, 수신 데이터의 디코드 처리를 전술한 처리에 따라 실행한다.
버스(921)는 PCI(Peripheral Component Internet/Interface) 버스 등에 의해 구성되며, 각 모듈, 입출력 인터페이스(822)를 통한 각 입출력 장치와의 데이터 전송을 가능하게 하고 있다.
입력부(911)는, 예를 들면 키보드, 포인팅 디바이스를 포함하는 입력부이다. 키보드나 마우스 등을 통해 입력부(911)가 조작된 경우, 또는 통신부(913)로부터의 데이터를 수신한 경우 등에 CPU(901)에 지령이 입력되어, ROM(Read 0nly Memory)(902)에 저장되어 있는 프로그램을 실행한다. 출력부(912)는, 예를 들면 CRT, 액정 디스플레이 등이며, 각종 정보를 텍스트 또는 이미지 등에 의해 표시한다.
통신부(913)는 정보 처리 장치 간의 통신, 또는 그 밖의 엔티티(entity)와의 통신 처리를 실행하며, CPU(901)의 제어 하에, 각 기억부로부터 공급된 데이터, 또는 CPU(901), 인코드/디코드 처리부(905)에 의해 처리된 데이터를 송신하거나 다른 엔티티로부터의 데이터를 수신하는 처리를 실행한다.
드라이브(914)는 플렉시블 디스크, CD-ROM(Compact Disc Read 0nly Memory), MO(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기(磁氣) 디스크, 반도체 메모리 등의 착탈 가능 기록 매체(915)의 기록 재생을 실행하는 드라이브이며, 각 착탈 가능 기록 매체(915)로부터의 프로그램 또는 데이터 재생, 착탈 가능 기록 매체(915)에 대한 프로그램 또는 데이터 저장을 실행한다.
각 기억 매체에 기록된 프로그램 또는 데이터를 판독하여 CPU(901)에서 실행 또는 처리를 하는 경우에는, 판독한 프로그램, 데이터는 입출력 인터페이스(922), 버스(921)를 통해, 예를 들면 접속되어 있는 RAM(903)에 공급된다.
그리고, 명세서 중에서 설명한 각 처리는 하드웨어, 또는 소프트웨어, 또는 양자의 복합 구성에 의해 실행하는 것이 가능하다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이 전용 하드웨어에 내장되어 있는 컴퓨터, 또는 각종 프로그램을 인스톨함으로써 각종 기능을 실행하는 것이 가능한, 예를 들면 범용 퍼스널 컴퓨터 등에, 플렉시블 디스크나 CD-ROM 등의 프로그램 판독 가능한 기록 매체에 프로그램을 저장하여 제공해도 되며, 인터넷 등의 통신망을 통해 프로그램을 다운로드해도 된다.
구체적으로는, 프로그램은 기록 매체로서의 하드 디스크나 R0M(Read Only Memory)에 미리 기록해 둘 수 있다. 또는, 프로그램은 플렉시블 디스크, CD-ROM(Compact Disc Read 0nly Memory), M0(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등 착탈 가능 기록 매체에, 일시적 또는 영속적으로 저장(기록)해 둘 수 있다. 이와 같은 착탈 가능 기록 매체는, 이른바 패키지 소프트웨어로서 제공할 수 있다.
또, 프로그램은 전술한 바와 같은 착탈 가능 기록 매체로부터 컴퓨터에 인스톨 하는 외에, 다운로드 사이트로부터, 컴퓨터에 무선 전송하거나, LAN(Local Area Network), 인터넷이라고 하는 네트워크를 통해 컴퓨터에 유선으로 전송하고, 컴퓨터에서는, 그와 같이 하여 전송되어 오는 프로그램을 수신하여, 내장하는 하드 디스크 등의 기록 매체에 인스톨할 수 있다.
그리고, 노드, 기록 지시 장치, 재생 지시 장치를 구성하는 정보 처리 장치로서는, 캠코더, 퍼스널 비디오 레코더나 홈 게이트웨이 등이 고려되지만, 데이터 를 기록하는 기록부와, 소정 연산을 실행하는 제어부와, 데이터의 송수신을 실행하는 네트워크 인터페이스를 가지고 있으면 그 밖의 구성을 구비하는 장치라도 된다.
또, 기록 확률 α, 회신 확률 β를 패킷 중에 기록했지만, 기록 확률 α, 회신 확률 β를 임의의 기록 장치, 또는 패킷 등에 기록하여, 각 노드가 그 값을 참조하도록 해도 된다. 또, FEC 부호화로서 리드 토네이도 부호화 방식을 이용한 경우에는, 인터리브 처리를 생략할 수도 있다.
또한, 명세서에 기재된 각종 처리는 기재에 따라 시계열로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리 능력 또는 필요에 따라 병렬적으로 또는 개별적으로 실행되어도 된다. 또, 본 명세서에서 시스템이란, 복수 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것에 한정되지 않는다.
이상, 특정 실시예를 참조하면서, 본 발명에 대하여 상세하게 풀이해 왔다. 그러나, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 실시예의 수정이나 대용을 해낼 수 있는 것은 자명하다. 즉, 예시라고 하는 형태로 본 발명을 개시해 온 것이며, 한정적으로 해석되어서는 안된다. 본 발명의 요지를 판단하기 위해서는, 모두(冒頭)에 기재한 특허 청구의 범위의 란을 참작해야 한다.
이상, 설명해 온 바와 같이, 본 발명의 구성에 의하면, 네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 구성에 있어서, 데이터의 수요도(인기도)에 따라, 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택 되는 각각의 방식의 데이터 전송률을 결정하고, 결정 전송 방식에 따른 데이터 전송을 실행하는 구성으로 했으므로, 예를 들면, 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 등으로부터의 데이터 전송 방식의 선택, 조합이 가능하게 되어, 효율적이며 확실한 데이터 전송 방식에 의한 데이터 전송이 실현된다.
본 발명의 구성에 의하면, 재생 처리를 실행할 때 지시 장치는 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역 비율의 대응 데이터를 가지며, 대응 데이터에 따라 재생 대상 데이터의 수요도 정보에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행하거나, 또는 수요도 : x와, 각 전송 방식마다의 대역 비율 : y와, 각 데이터 전송 방식의 식별값 : n으로서 설정하는 함수군 : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정하는 수요도 : x의 값에 따라 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행하는 구성으로 했으므로, 수요도 정보에 따른 전송 방식의 결정 처리를 효율적으로 실행하는 것이 가능하게 된다.
또한, 본 발명의 구성에 의하면, 재생 대상 데이터의 수요도가 미리 설정된 임계값보다 높은 경우에는, 적용 데이터 전송 방식을 캐루젤 전송 방식으로서 설정하는 처리를 실행하는 구성으로 했으므로, 다수의 노드로부터의 데이터 취득 요구에 대응한 데이터 전송에 적합한 캐루젤 전송을 자동적으로 선택 실행하는 처리가 가능하게 된다.
또한, 본 발명의 구성에 의하면, 네트워크를 통한 전송 데이터의 수요도 정 보를 제공하는 수요 정보 제공 장치를 구성하여, 네트워크 접속 노드로부터 수신하는 수요도 정보 취득 요구수를 카운트하고, 이 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하여 제공하는 구성으로 했으므로, 리얼 타임에서의 수요도 정보가 파악 가능하여, 최신의 수요도 정보를 제공 가능하게 된다.
또한, 본 발명의 구성에 의하면, 네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치가 계측하는 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 구성으로 했으므로, 수요도의 증가에 즉석에서 대응한 최적의 데이터 전송 제어가 실현된다.

Claims (28)

  1. 네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 재생 지시 장치로서의 정보 처리 장치로서,
    복수의 데이터 전송 방식으로부터, 회신 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정부와,
    상기 데이터 전송률 설정부에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터의 설정 처리 및 어드레스 설정 처리를 실행하고, 설정된 재생 요구 처리 대상 데이터 지시 데이터를 리퀘스트(request) 기술(記述;description)로서 저장한 데이터 재생 처리 요구 패킷을 생성하는 패킷 생성부와,
    상기 패킷 생성부에서 생성한 패킷을 송신하는 네트워크 인터페이스부
    를 구비하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 데이터 전송률 설정부는 재생 대상 데이터의 수요도에 따라 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 구성인, 정보 처리 장치.
  3. 제1항에 있어서,
    상기 데이터 전송률 설정부는 캐루젤(carrousel) 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 중 적어도 어느 하나의 방식을 포함하는 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 구성인, 정보 처리 장치.
  4. 제1항에 있어서,
    상기 데이터 전송률 설정부는 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역(帶域) 비율의 대응 데이터를 가지며, 상기 대응 데이터에 따라 재생 대상 데이터의 수요도 정보에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행하는 구성인, 정보 처리 장치.
  5. 제1항에 있어서,
    상기 데이터 전송률 설정부는 수요도 : x와, 각 전송 방식마다의 대역 비율 : y와, 각 데이터 전송 방식의 식별값 : n으로서 설정하는 함수군(關數群) : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정하는 수요도 : x의 값에 따라 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행하는 구성인, 정보 처리 장치.
  6. 제1항에 있어서,
    상기 데이터 전송률 설정부는 재생 대상 데이터의 수요도가 미리 설정된 임계값보다 높은 경우에는, 적용 데이터 전송 방식을 캐루젤 전송 방식으로서 설정하는 처리를 실행하는 구성인, 정보 처리 장치.
  7. 제1항에 있어서,
    상기 정보 처리 장치는 디인터리브 처리 및 FEC 복호(復號) 처리를 실행하는 데이터 복원 처리부를 추가로 가지며,
    상기 데이터 복원 처리부는 상기 데이터 재생 처리 요구를 수신한 노드로부터 수신하는 패킷으로부터 추출되는 재생 대상 데이터에 대한 디인터리브 처리 및 FEC 복호 처리를 실행하여, 데이터 복원을 실행하는 구성인, 정보 처리 장치.
  8. 제1항에 있어서,
    상기 정보 처리 장치는 상기 데이터 재생 처리 요구를 수신하는 노드에서의, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 판정용 데이터를 설정하는, 룰 판단 조건 설정부를 추가로 가지며,
    상기 패킷 생성부는 상기 룰 판단 조건 설정부에서 설정한 판정용 데이터를 저장하는 동시에, 재생 처리 대상 데이터의 지시 데이터를 저장한 데이터 재생 처리 요구 패킷을 생성하는 구성인, 정보 처리 장치.
  9. 제8항에 있어서,
    상기 룰 판단 조건 설정부는 상기 데이터 재생 처리 요구를 수신하는 노드에서의, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 재생 룰 판단 조건 기술로서의 확률값 : β를 설정하는, 처리를 실행하는 구성이며,
    상기 패킷 생성부는 상기 재생 룰 판단 조건 기술로서의 확률값 : β를 저장한 패킷을 생성하는 처리를 실행하는 구성인, 정보 처리 장치.
  10. 제8항에 있어서,
    상기 노드에 저장된 재생 대상 데이터는 데이터를 p 개의 블록수로 분할하고, p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환한 부호화율 q/p의 부호화 처리 데이터이며,
    상기 룰 판단 조건 설정부는 상기 데이터 재생 처리 요구를 수신하는 노드에서 회신 확률 : β로 데이터를 회신시키는 확률값 : β를 재생 룰 판단 조건 기술로서 설정하는 구성이며, 상기 네트워크에 접속된 기록 지시 장치로부터 지정되는 기록 확률 : α, 및 상기 부호화 블록수 : q와, 네트워크 접속 노드수 : n에 의해 산출 가능한 회신 블록수 : q×α×n×β와, 상기 블록수 : p의 관계가
    회신 블록수 : q×α×n×β>블록수 : p
    가 되도록 상기 확률값 : β를 설정하는 구성인, 정보 처리 장치.
  11. 네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치로서의 정보 처리 장치로서,
    네트워크 접속 노드와의 데이터 송수신을 실행하는 통신부와,
    상기 통신부를 통해 네트워크 접속 노드로부터 수신하는 수요도 정보 취득 요구수를 카운트하고, 상기 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하는 동시에, 상기 생성 수요도 정보에 따라 상기 수요도 정보 취득 요구에 대응하는 응답 정보를 생성하여 상기 통신부를 통해 송신하는 제어부
    를 구비하고,
    상기 제어부는 상기 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 구성을 구비하는,
    정보 처리 장치.
  12. 삭제
  13. 제11항에 있어서,
    상기 제어부는 상기 캐루젤 전송 처리 요구에, 캐루젤 전송의 실행 대상 데이터의 식별자, 및 수신한 수요도 정보 취득 요구의 송신처 노드 어드레스 정보에 따라 설정한 캐루젤 전송의 수신인 어드레스 정보를 저장하는 처리를 실행하는 구성인, 정보 처리 장치.
  14. 네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 재생 지시 장치에서의 정보 처리 방법으로서,
    복수의 데이터 전송 방식으로부터, 회신 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정 단계와,
    상기 데이터 전송률 설정 단계에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터의 설정 처리 및 어드레스 설정 처리를 실행하고, 설정된 재생 요구 처리 대상 데이터 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성하는 패킷 생성 단계와,
    상기 패킷 생성 단계에서 생성한 패킷을 송신하는 패킷 송신 단계
    를 포함하는 정보 처리 방법.
  15. 제14항에 있어서,
    상기 데이터 전송률 설정 단계는 재생 대상 데이터의 수요도에 따라 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 처리를 포함하는, 정보 처리 방법.
  16. 제14항에 있어서,
    상기 데이터 전송률 설정 단계는 캐루젤 전송 방식, 연쇄화 전송 방식, 분산 캐시 방식, 클라이언트 서버 방식 중 적어도 어느 하나의 방식을 포함하는 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 처리를 포함하는, 정보 처리 방법.
  17. 제14항에 있어서,
    상기 데이터 전송률 설정 단계는 재생 대상 데이터의 수요도와, 적용 데이터 전송 방식의 데이터 전송률로서의 대역 비율의 대응 데이터에 따라 재생 대상 데이터의 수요도 정보에 따른 데이터 전송 방식의 선택 및 선택되는 각각의 방식의 데이터 전송률의 결정 처리를 실행하는, 정보 처리 방법.
  18. 제14항에 있어서,
    상기 데이터 전송률 설정 단계는 수요도 : x와, 각 전송 방식마다의 대역 비율 : y와, 각 데이터 전송 방식의 식별값 : n으로서 설정하는 함수군 : y=Dn(x)(단, ΣDn(x)=1)를 적용하고, 수요 정보에 따라 결정하는 수요도 : x의 값에 따라 각 데이터 전송 방식의 데이터 전송률 결정 처리를 실행하는, 정보 처리 방법.
  19. 제14항에 있어서,
    상기 데이터 전송률 설정 단계는 재생 대상 데이터의 수요도가 미리 설정된 임계값보다 높은 경우에는, 적용 데이터 전송 방식을 캐루젤 전송 방식으로서 설정하는 처리를 실행하는, 정보 처리 방법.
  20. 제14항에 있어서,
    상기 정보 처리 방법은 디인터리브 처리 및 FEC 복호 처리를 실행하는 데이터 복원 처리 단계를 추가로 가지며,
    상기 데이터 복원 처리 단계는 상기 데이터 재생 처리 요구를 수신한 노드로부터 수신하는 패킷으로부터 추출되는 재생 대상 데이터에 대한 디인터리브 처리 및 FEC 복호 처리를 실행하여, 데이터 복원을 실행하는, 정보 처리 방법.
  21. 제14항에 있어서,
    상기 정보 처리 방법은 상기 데이터 재생 처리 요구를 수신하는 노드에서, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 판정용 데이터를 설정하는, 룰 판단 조건 설정 단계를 추가로 가지며,
    상기 패킷 생성 단계는 상기 룰 판단 조건 설정 단계에서 설정한 판정용 데이터를 저장하는 동시에, 재생 처리 대상 데이터의 지시 데이터를 저장한 데이터 재생 처리 요구 패킷을 생성하는, 정보 처리 방법.
  22. 제21항에 있어서,
    상기 룰 판단 조건 설정 단계는 상기 데이터 재생 처리 요구를 수신하는 노드에서, 처리 요구에 따른 처리를 실행하는지 여부의 판정 처리에 적용 가능한 재생 룰 판단 조건 기술로서의 확률값 : β를 설정하는 처리를 실행하는 구성이며,
    상기 패킷 생성 단계는 상기 재생 룰 판단 조건 기술로서의 확률값 : β를 저장한 패킷을 생성하는 처리를 실행하는 구성인, 정보 처리 방법.
  23. 제21항에 있어서,
    상기 노드에 저장된 재생 대상 데이터는 데이터를 p 개의 블록수로 분할하고, p 개의 블록에 FEC 부호화를 실시하여 q 개의 블록으로 변환한 부호화율 q/p의 부호화 처리 데이터이며,
    상기 룰 판단 조건 설정 단계는 상기 데이터 재생 처리 요구를 수신하는 노드에서 회신 확률 : β로 데이터를 회신시키는 확률값 : β를 재생 룰 판단 조건 기술로서 설정하고, 상기 네트워크에 접속된 기록 지시 장치로부터 지정되는 기록 확률 : α, 및 상기 부호화 블록수 : q와, 네트워크 접속 노드수 : n에 의해 산출 가능한 회신 블록수 : q×α×n×β와, 상기 블록수 : p의 관계가
    회신 블록수 : q×α×n×β>블록수 : p
    가 되도록 상기 확률값 : β를 설정하는, 정보 처리 방법.
  24. 네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 수요 정보 제공 장치에 있어서의 정보 처리 방법으로서,
    통신부를 통해 네트워크 접속 노드로부터 수요도 정보 취득 요구를 수신하는 단계와,
    상기 수요도 정보 취득 요구수를 카운트하고, 상기 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하는 단계와,
    상기 카운트 정보에 따른 수요도 정보를 응답 정보로서 저장한 패킷을 생성하여, 상기 통신부를 통해 송신하는 단계와,
    상기 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 단계
    를 포함하는 정보 처리 방법.
  25. 삭제
  26. 제24항에 있어서,
    상기 정보 처리 방법은 상기 캐루젤 전송 처리 요구에, 캐루젤 전송의 실행 대상 데이터의 식별자, 및 수신한 수요도 정보 취득 요구의 송신처 노드 어드레스 정보에 따라 설정한 캐루젤 전송의 수신인 어드레스 정보를 저장하는 처리를 실행하는 단계를 추가로 포함하는, 정보 처리 방법.
  27. 네트워크 접속된 노드에 대하여 데이터 재생 처리 요구를 송신하는 동시에, 회신 데이터에 따른 데이터 재생 처리를 실행하는 컴퓨터·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체로서,
    복수의 데이터 전송 방식으로부터, 회신 데이터의 전송 방식으로서 적용하는 1 이상의 데이터 전송 방식을 선택하는 동시에 선택되는 각각의 방식의 데이터 전송률을 결정하는 데이터 전송률 설정 단계와,
    상기 데이터 전송률 설정 단계에서 결정한 데이터 전송률에 따라, 재생 요구 처리 대상 데이터의 설정 처리 및 어드레스 설정 처리를 실행하고, 설정된 재생 요구 처리 대상 데이터 지시 데이터를 리퀘스트 기술로서 저장한 데이터 재생 처리 요구 패킷을 생성하는 패킷 생성 단계와,
    상기 패킷 생성 단계에서 생성한 패킷을 송신하는 패킷 송신 단계
    를 포함하는 컴퓨터·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
  28. 네트워크를 통한 전송 데이터의 수요도 정보를 제공하는 처리를 실행하는 컴퓨터·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체로서,
    통신부를 통해 네트워크 접속 노드로부터 수요도 정보 취득 요구를 수신하는 단계와,
    상기 수요도 정보 취득 요구수를 카운트하고, 상기 카운트 정보에 따른 각 데이터 대응의 수요도 정보를 생성하는 단계와,
    상기 카운트 정보에 따른 수요도 정보를 응답 정보로서 저장한 패킷을 생성하여, 상기 통신부를 통해 송신하는 단계와,
    상기 카운트 정보에 따른 데이터 대응 수요도가 미리 설정한 임계값 이상이 된 경우에, 캐루젤 전송 실행 노드에 대하여, 임계값 이상이 된 수요도에 대응하는 데이터의 캐루젤 전송 처리 요구의 전송 제어를 실행하는 단계
    를 포함하는 컴퓨터·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
KR1020047011592A 2002-11-28 2003-11-18 정보 처리 장치, 정보 처리 방법, 및 기록 매체 KR101009326B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002345375A JP2004180092A (ja) 2002-11-28 2002-11-28 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JPJP-P-2002-00345375 2002-11-28

Publications (2)

Publication Number Publication Date
KR20050084765A KR20050084765A (ko) 2005-08-29
KR101009326B1 true KR101009326B1 (ko) 2011-01-18

Family

ID=32376002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047011592A KR101009326B1 (ko) 2002-11-28 2003-11-18 정보 처리 장치, 정보 처리 방법, 및 기록 매체

Country Status (6)

Country Link
US (1) US7818446B2 (ko)
EP (1) EP1566937A4 (ko)
JP (1) JP2004180092A (ko)
KR (1) KR101009326B1 (ko)
AU (1) AU2003284407A1 (ko)
WO (1) WO2004049667A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873000B2 (en) 2004-03-09 2011-01-18 Panasonic Corporation Random access method and radio communication terminal device
KR100643285B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 멀티캐스트를 이용한 데이터 송수신 시스템 및 방법
JP4742784B2 (ja) * 2005-09-28 2011-08-10 ブラザー工業株式会社 情報分配処理プログラム、情報処理装置、および情報分配処理システム
US7480848B2 (en) * 2006-02-10 2009-01-20 The Directv Group, Inc. Methods and apparatus to select tornado error correction parameters
US8176197B2 (en) * 2006-03-30 2012-05-08 Pioneer Corporation Server device in contents transmitting system and contents transmitting method
JP5293038B2 (ja) * 2008-09-19 2013-09-18 沖電気工業株式会社 情報処理装置、情報処理方法、通信装置、通信方法、情報処理システムおよび情報処理システムによる情報処理方法
US9344735B2 (en) * 2009-12-21 2016-05-17 Tmm, Inc. Progressive shape based encoding of video content within a swarm environment
US8681679B2 (en) 2009-12-21 2014-03-25 Lg Electronics Inc. Transmitting system and method for transmitting digital broadcast signal
US9118922B2 (en) * 2009-12-30 2015-08-25 TMM Inc. Progressive encoding of video content within a swarm environment
CN102244558B (zh) * 2010-05-12 2014-09-03 华为技术有限公司 发送数据的方法及装置
KR20130024996A (ko) * 2011-08-24 2013-03-11 한국전자통신연구원 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치
US10104168B2 (en) * 2011-12-12 2018-10-16 International Business Machines Corporation Method for managing throughput in a distributed storage network
KR101978177B1 (ko) 2012-12-07 2019-08-28 삼성전자주식회사 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
JP6193569B2 (ja) * 2012-12-28 2017-09-06 キヤノン株式会社 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
EP3066846B1 (en) * 2013-11-04 2019-02-20 Telefonaktiebolaget LM Ericsson (publ) Mode selection for a communications session
US10326824B2 (en) * 2013-12-17 2019-06-18 Excalibur Ip, Llc Method and system for iterative pipeline
US9986018B2 (en) 2014-01-09 2018-05-29 Excalibur Ip, Llc Method and system for a scheduled map executor
CN103731364B (zh) * 2014-01-16 2017-02-01 赛特斯信息科技股份有限公司 基于x86平台实现万兆大流量快速收包的方法
WO2016051512A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
CN107566395A (zh) * 2017-09-28 2018-01-09 郑州云海信息技术有限公司 一种交互式数据包的构造方法
CN112486074B (zh) * 2020-12-03 2021-11-16 上海哔哩哔哩科技有限公司 数据处理系统、方法及装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568614A (en) * 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US5699369A (en) * 1995-03-29 1997-12-16 Network Systems Corporation Adaptive forward error correction system and method
JP3456064B2 (ja) * 1995-09-08 2003-10-14 ソニー株式会社 音声・映像データ記録・再生装置
US5701292A (en) * 1995-12-04 1997-12-23 Lucent Technologies Inc. Method and apparatus for controlling data transfer rates of data sources in asynchronous transfer mode-based networks
JPH10134485A (ja) * 1996-10-30 1998-05-22 Toshiba Corp ストレージ共有型分散マルチメディアサーバシステム
JPH10229427A (ja) * 1997-02-14 1998-08-25 Canon Inc 情報処理装置及び方法
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6282240B1 (en) * 1997-09-03 2001-08-28 Oki Electric Industry Co., Ltd. Picture coder, picture decoder, and transmission system
JP3873405B2 (ja) * 1997-10-21 2007-01-24 ソニー株式会社 データ配信システム及びデータ配信装置
US6195622B1 (en) * 1998-01-15 2001-02-27 Microsoft Corporation Methods and apparatus for building attribute transition probability models for use in pre-fetching resources
JP2000156031A (ja) 1998-11-17 2000-06-06 Sony Corp 情報処理システム、情報処理装置、及び情報処理方法
US6973140B2 (en) * 1999-03-05 2005-12-06 Ipr Licensing, Inc. Maximizing data rate by adjusting codes and code rates in CDMA system
US6876668B1 (en) * 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
JP2001028739A (ja) 1999-07-15 2001-01-30 Sony Corp データ配信システム及びデータ配信方法、データ受信システム及びデータ受信方法、並びに、ゲーム機
CA2284947C (en) * 1999-10-04 2005-12-20 Storagequest Inc. Apparatus and method for managing data storage
IL148751A0 (en) * 1999-10-28 2002-09-12 Ncube Corp Adaptive bandwidth system and method for broadcast data
US6678855B1 (en) * 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
WO2001099370A2 (en) * 2000-06-20 2001-12-27 Nds Limited Unicast/multicast architecture
WO2002021239A2 (en) * 2000-09-06 2002-03-14 Xanboo, Inc. Adaptively controlled resource and method for controlling the behavior of same
JP4622070B2 (ja) * 2000-09-13 2011-02-02 株式会社デンソー 適応通信システム、通信端末、及び記録媒体
GB2367219A (en) * 2000-09-20 2002-03-27 Vintage Global Streaming of media file data over a dynamically variable bandwidth channel
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7143143B1 (en) * 2000-10-27 2006-11-28 Microsoft Corporation System and method for distributed caching using multicast replication
US8107524B2 (en) * 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
US7191246B2 (en) * 2001-07-18 2007-03-13 Sharp Laboratories Of America, Inc. Transmission rate selection for a network of receivers having heterogenous reception bandwidth
JP2003087348A (ja) * 2001-09-14 2003-03-20 Matsushita Graphic Communication Systems Inc 通信制御方法及び通信制御装置並びにadsl通信装置
US7327676B2 (en) * 2001-10-11 2008-02-05 Nippon Telegraph And Telephone Corporation Data transmission control method, program therefor and data transmission unit using the same
JP2003162470A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd 配信制御プログラムおよび方法
US7260601B1 (en) * 2002-06-28 2007-08-21 Cisco Technology, Inc. Methods and apparatus for transmitting media programs
US20040064719A1 (en) * 2002-09-13 2004-04-01 Sun Microsystems, Inc., A Delaware Corporation Accessing for digital content access control
US7222185B1 (en) * 2002-10-03 2007-05-22 Cisco Technology, Inc. Methods and apparatus for distributing content within a content delivery system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAIST, 성단근, 2000, 정보통신네트워크

Also Published As

Publication number Publication date
EP1566937A1 (en) 2005-08-24
KR20050084765A (ko) 2005-08-29
WO2004049667A1 (ja) 2004-06-10
EP1566937A4 (en) 2010-12-22
JP2004180092A (ja) 2004-06-24
US7818446B2 (en) 2010-10-19
AU2003284407A1 (en) 2004-06-18
US20050080916A1 (en) 2005-04-14

Similar Documents

Publication Publication Date Title
KR101009326B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 기록 매체
KR100994521B1 (ko) 정보 처리 장치 및 방법, 및 컴퓨터·프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체
KR101432314B1 (ko) 분산형 네트워크에 저장될 파일들을 인코딩하기 위한 컴퓨터 구현 프로세스 및 이를 실행하기 위한 컴퓨터 판독 가능 매체, 피어 투 피어 네트워크의 저장 신뢰도 및 효율성을 향상시키기 위한 시스템, 및 분산형 네트워크에 저장된 인코딩된 파일을 디코딩하기 위한 컴퓨터 구현 프로세스
US7840679B2 (en) Methods and systems for requesting fragments without specifying the source address
US9049198B2 (en) Methods and systems for distributing pull protocol requests via a relay server
KR101182947B1 (ko) 콘텐츠 배포 방법, 기록 매체, 클라이언트 장치 및 서버 장치
KR100971052B1 (ko) 데이터 축적 방법 및 데이터 축적 시스템, 및 데이터 기록제어 장치, 데이터 기록 명령 장치, 데이터 수신 장치 및정보 처리 단말기
CN101588287B (zh) 对等网络数据调度和下载的方法、装置和系统
JP2004531824A (ja) ネットワーク環境でのファイル伝送方法
Lumezanu et al. The effect of packet loss on redundancy elimination in cellular wireless networks
KR100919254B1 (ko) 유디피 홀펀칭을 이용한 피어 대 피어 데이터 전송을 통해스트리밍 데이터를 분산 전송하는 분산 스트리밍 시스템 및그 방법
Chung et al. PNECOS: a peer-to-peer network coding streaming system
JP2004220183A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP2004221756A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
Saltarin et al. P2P video streaming with inter-session network coding
KR101015098B1 (ko) P2p 기반의 스트리밍 서비스 제공 시스템 및 방법

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: 20140103

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee