KR20100081275A - 콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템 - Google Patents

콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템 Download PDF

Info

Publication number
KR20100081275A
KR20100081275A KR1020097021050A KR20097021050A KR20100081275A KR 20100081275 A KR20100081275 A KR 20100081275A KR 1020097021050 A KR1020097021050 A KR 1020097021050A KR 20097021050 A KR20097021050 A KR 20097021050A KR 20100081275 A KR20100081275 A KR 20100081275A
Authority
KR
South Korea
Prior art keywords
content
information
data
node
divided data
Prior art date
Application number
KR1020097021050A
Other languages
English (en)
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 KR20100081275A publication Critical patent/KR20100081275A/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
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템을 제공하는 것이다.
콘텐츠 취득장치이며, 제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터의 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 정보를 수신하는 수신부와, 상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 생성부와, 상기 분할 데이터 지정 정보에 따라 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 취득부를 갖춘다.

Description

콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템{Content acquisition device, program, content acquisition method, and content acquisition system}
본 발명은, 콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템에 관한 것이다.
최근, RSS(Rich Site Summary) 피드(feed)에 의해 콘텐츠 파일을 다운로드하는 방식이 널리 보급되어 있다. 구체적으로는, RSS 피드에 포함되는〈enclosure〉요소에 대상이 되는 콘텐츠 파일의 URL이 HTTP 등으로 기재되어 있고, PC(Personal Computer)나 휴대 전화 등의 정보처리 장치가 상기 URL에 의거하여 콘텐츠 파일을 다운로드 할 수 있다. 이러한 RSS 피드를 이용한 콘텐츠 파일의 다운로드에 대해서는, 예를 들면 특허 문헌 1에 기재되어 있다.
[특허 문헌 1] 특개 2007-166363호 공보
여기서, 콘텐츠 파일이 다운로드 되고나서 콘텐츠가 재생되기 때문에, HD(High Definition) 비디오 파일 등의 매우 큰 콘텐츠 파일을 재생하는 경우, 네트워크의 상황에 의해, 재생이 개시될 때까지 시간이 걸리는 것이 여러 차례 있다. 예를 들면, P2P 파일 공유형의 프로토콜을 사용함으로써 콘텐츠 파일의 취득 효율을 올릴 수도 있지만, 이 경우도 콘텐츠 파일 전체가 일괄하여 취득되지 않으면 재생이 개시되지 않는다.
이것에 대해, 콘텐츠 파일을 복수의 파일 세그먼트(segment)(분할 데이터)에 분할하고, 각 파일 세그먼트의 URL을 RSS 피드에 기재해 두면, 정보처리 장치가 복수의 URL로부터 병렬적으로 파일 세그먼트를 취득할 수 있기 때문에 취득이 신속화될 수 있다.
그러나, 파일 세그먼트의 수가 많아지면, RSS 피드의〈enclosure〉요소의 기재가 장황하게 되어, RSS 피드를 제공하는 RSS 디렉터리 서버나 RSS 멀티 캐스트 서버 등의 처리 부하가 증대해 버린다. 또, RSS 피드를 수신하는 정보처리 장치(RSS 피드 리더)의 자원이 압박되어 버린다는 문제도 생긴다.
그래서, 본 발명은, 상기 문제를 감안하여 이루어진 것이며, 본 발명의 목적으로 하는 점은, 간략화된 예를 들면 RSS 피드 등의 제 1의 콘텐츠 정보의 기재에 의거하여 분할 데이터를 취득하는 것이 가능한, 신규 또한 개량된 콘텐츠 취득 장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템을 제공하는 것에 있다.
상기 과제를 해결하기 위해서, 본 발명의 어느 관점에 의하면, 제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 정보를 수신하는 수신부와, 상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 생성부와, 상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억 장치로부터 상기 분할 데이터를 취득하는 취득부를 갖추는 콘텐츠 취득장치가 제공된다.
이러한 구성에 있어서는, 생성부가, 제 1의 콘텐츠 정보에 의거하여 각 분할 데이터를 나타내는 분할 데이터 지정 정보를 복수 생성할 수 있다. 그리고, 취득부가 분할 데이터 지정 정보에 따라서 1 또는 2 이상의 콘텐츠 기억장치로부터 분할 데이터를 취득한다. 따라서, 해당 콘텐츠 취득장치에 의하면, 제 1의 콘텐츠 정보에, 각 분할 데이터를 나타내는 분할 데이터 지정 정보가 포함되어 있지 않아도, 분할 데이터를 취득할 수 있다. 그 결과, 제 1의 콘텐츠 정보의 정보량을 억제하여, 제 1의 콘텐츠 정보가 번잡화하는 것을 방지할 수 있다.
상기 분할 데이터 지정 정보에 의거하여 특정되는 소재 정보 기억장치에는 상기 분할 데이터의 소재를 나타내는 소재 정보가 기억되어 있고, 상기 취득부는, 상기 분할 데이터 지정 정보에 의거하여 특정한 소재 정보 기억장치로부터 상기 분할 데이터의 소재 정보를 취득하고, 상기 소재 정보가 나타내는 콘텐츠 기억장치로부터 상기 분할 데이터를 취득해도 좋다.
여기서, 분할 데이터를 기억하고 있는 콘텐츠 기억장치는 추가, 또는 감소하여 변화하는 경우가 있다. 이 때문에, 분할 데이터 지정 정보에 분할 데이터의 소재 정보가 기재되는 경우, 분할 데이터 지정 정보가 나타내는 소재로부터 분할 데이터를 취득할 수 없는, 또는 분할 데이터 지정 정보가 나타내는 소재가 매우 적합한 분할 데이터의 취득원이 아닌 경우 등이 상정된다. 그래서, 상기와 같이 분할 데이터 지정 정보를, 분할 데이터의 소재 정보를 기억하는 소재 정보 기억장치를 특정 가능한 바와 같이 구성함으로써, 취득부가 보다 적절하게 분할 데이터를 취득할 수 있다.
또, 해당 콘텐츠 취득장치는, 상기 취득부에 의해 취득된 만큼 비율 데이터가 기록되는 기억부와, 상기 분할 데이터의 상기 기억부에 있어서의 소재를 나타내는 소재 정보를, 상기 분할 데이터 지정 정보에 의거하여 특정되는 소재 정보 기억장치에 송신하는 송신부를 더 갖추어도 좋다.
이러한 구성에 있어서는, 송신부로부터 분할 데이터의 기억부에 있어서의 소재 정보를 수신한 소재 정보 기억장치가, 상기 소재 정보를 분할 데이터의 소재 정보로서 새롭게 추가할 수 있다. 그 결과, 복수의 콘텐츠 취득장치가, 동일한 분할 데이터여도 다를 소재로부터 취득하는 것이 가능해진다.
상기 취득부는, 상기 분할 데이터 지정 정보에 의거하여 특정한 소재 정보 기억장치로부터 상기 분할 데이터의 소재 정보를 복수 취득한 경우, 복수의 소재 정보 중에서 1의 소재 정보를 선택하고, 선택한 소재 정보가 나타내는 콘텐츠 기억장치로부터 상기 분할 데이터를 취득해도 좋다. 이러한 구성에 있어서는, 취득부는, 예를 들면 네트워크의 혼잡 상황 등에 따라, 취득하기 쉬운 콘텐츠 기억장치로부터 선택적으로 분할 데이터를 취득함으로써, 분할 데이터의 취득 효율의 향상을 도모할 수 있다.
상기 소재 정보 기억장치에는, 상기 소재 정보 기억장치의 고유 식별 정보의 해시값(hash value)에 따른 해시값의 관리 범위가 할당되어 있고, 상기 분할 데이터의 소재 정보의 각각은, 상기 분할 데이터를 나타내는 분할 데이터 지정 정보의 해시값을 관리 범위에 포함하는 소재 정보 기억장치에 분산적으로 기억되어 있어도 좋다. 이러한 구성에 있어서는, 분할 데이터의 소재 정보가 복수의 소재 정보 기억장치에 분산되어 기억되기 때문에, 어느 소재 정보 기억장치에 분할 데이터의 소재 정보의 문의가 집중해 버리는 경우를 억제할 수 있다.
상기 생성부는, 기존의 순서지어진 요소군에 포함되는 요소 중에서, 상기 분할수 정보가 나타내는 수에 따른 범위 내에 순서지어져 있는 요소의 각각을 상기 데이터 정보로 부가함으로써 상기 분할수 정보가 나타내는 수의 상기 분할 데이터 지정 정보를 생성해도 좋다. 이러한 구성에 의하면, 생성부는 제 1의 콘텐츠 정보로부터 용이하게 분할 데이터 지정 정보를 생성할 수 있다.
수신부는, 상기 제 1의 콘텐츠 정보와 형식이 다르고, 제 2의 콘텐츠 데이터를 나타내는 제 2의 콘텐츠 정보를 더 수신하고, 상기 취득부는, 상기 제 2의 콘텐츠 정보에 따라서 특정의 콘텐츠 기억장치로부터 상기 제 2의 콘텐츠 데이터를 취득해도 좋다. 이러한 구성에 있어서는, 취득부는, 분할 데이터뿐만 아니라, 분할되어 있지 않은 제 2의 콘텐츠 데이터도 특정의 콘텐츠 기억장치로부터 취득할 수 있다.
상기 제 1의 콘텐츠 지정 정보는 RSS 피드에 포함되어도 좋다.
또, 상기 과제를 해결하기 위해서, 본 발명의 다른 관점에 의하면, 컴퓨터를, 제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터의 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 지정 정보를 수신하는 수신부와, 상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터 마다 생성하는 생성부와, 상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 취득부로서 기능시키기 위한 프로그램이 제공된다.
이러한 프로그램은, 예를 들면 CPU, ROM 또는 RAM 등을 포함한 컴퓨터의 하드웨어 자원에, 상기와 같은 수신부, 생성부 및 취득부의 기능을 실행시킬 수 있다. 즉, 해당 프로그램을 이용하는 컴퓨터를, 상술의 콘텐츠 취득장치로서 기능시키는 것이 가능하다.
또, 상기 과제를 해결하기 위해서, 본 발명의 다른 관점에 의하면, 콘텐츠 취득장치에 있어서 실행되는 콘텐츠 취득방법이며, 제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터의 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 지정 정보를 수신하는 스텝과, 상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 스텝과, 상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 스텝을 포함한 콘텐츠 취득방법이 제공된다.
또, 상기 과제를 해결하기 위해서, 본 발명의 다른 관점에 의하면, 1 또는 2 이상의 콘텐츠 기억장치와, 콘텐츠 취득장치를 포함한 콘텐츠 취득시스템이 제공된다. 상기 콘텐츠 기억장치는, 제 1의 콘텐츠 데이터를 분할하여 소정수의 분할 데이터를 얻는 분할부와, 상기 분할 데이터의 각각을 기억하는 분할 데이터 기억부와, 상기 소정수의 값을 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 지정 정보를 송신하는 통신부를 갖추어도 좋다. 상기 콘텐츠 취득장치는, 상기 제 1의 콘텐츠 지정 정보를 수신하는 수신부와, 상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 생성부와, 상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 취득부를 갖추어도 좋다.
도 1은, 본 실시형태에 관계되는 콘텐츠 취득시스템의 구성을 나타낸 설명도이다.
도 2는, 본 실시형태에 관련하는 콘텐츠 취득시스템에 있어서의 콘텐츠 취득의 흐름을 나타낸 설명도이다.
도 3은, 본 실시형태에 관련하는 콘텐츠 취득시스템에 있어서의 콘텐츠 취득의 흐름을 나타낸 설명도이다.
도 4는, 본 실시형태에 관련하는 콘텐츠 취득시스템에 있어서의 콘텐츠 취득의 흐름을 나타낸 설명도이다.
도 5는, 본 실시형태에 관계되는 콘텐츠 취득시스템에 있어서의 콘텐츠 취득 의 흐름을 나타낸 설명도이다.
도 6은, 본 실시형태에 관계되는 콘텐츠 취득시스템에 있어서의 콘텐츠 취득의 흐름을 나타낸 설명도이다.
도 7은, 본 실시형태에 관계되는 노드의 하드웨어 구성을 나타낸 설명도이다.
도 8은, 본 실시형태에 관계되는 노드의 구성을 나타낸 기능 블럭도이다.
도 9는, 각 노드에 할당되는 해시값의 관리 범위의 일례에 대해 나타낸 설명도이다.
도 10은, 이름 해결 테이블 기억부에 기억되어 있는 이름 해결 테이블의 일례를 나타낸 설명도이다.
도 11은, 생성부가〈enclosure〉요소의 기재로부터 파일 세그먼트명을 생성하는 모습을 나타낸 설명도이다.
도 12는, 콘텐츠의 청크화(chunking)로부터 RSS 피드의 공개까지의 흐름을 나타낸 순서도이다.
도 13은, RSS의 취득으로부터 콘텐츠의 재생까지의 흐름을 나타낸 순서도이다.
도 14는, RSS의 취득으로부터 콘텐츠의 재생까지의 흐름을 나타낸 순서도이다.
도 15는, RSS의 취득으로부터 콘텐츠의 재생까지의 흐름을 나타낸 순서도이다.
도 16은, RSS의 취득으로부터 콘텐츠의 재생까지의 흐름을 나타낸 순서도이다.
이하에 첨부 도면을 참조하면서, 본 발명의 매우 적합한 실시형태에 대해 상세하게 설명한다. 또한, 본 명세서 및 도면에 있어서, 실질적으로 동일한 기능 구성을 가지는 구성요소에 대해서는, 동일한 부호를 붙이는 것으로 중복 설명을 생략한다.
또, 이하의 순서에 따라서 해당 「발명을 실시하기 위한 최선의 형태」를 설명한다.
〔1〕본 실시형태에 관계되는 콘텐츠 취득시스템의 개요
〔2〕본 실시형태의 목적
〔2-1〕본 실시형태에 관련하는 콘텐츠 취득시스템
〔2-2〕본 실시형태의 목적
〔3〕콘텐츠 취득시스템의 상세한 설명
〔3-1〕노드의 하드웨어 구성
〔3-2〕노드의 기능
〔3-3〕콘텐츠 취득시스템의 동작
〔4〕요약
〔1〕본 실시형태에 관련하는 콘텐츠 취득시스템의 개요
우선, 도 1을 참조하여, 본 실시형태에 관련하는 콘텐츠 취득시스템(1)의 개 요를 설명한다.
도 1은, 본 실시형태에 관련하는 콘텐츠 취득시스템(1)의 구성을 나타낸 설명도이다. 도 1에 나타낸 바와 같이, 해당 콘텐츠 취득시스템(1)은, 노드(20A, 20B, 20C, 20D 및 20X) 등의 복수의 노드와, 노드 어드레스 해결 서버(14)를 포함한다. 또한, 본 명세서에 있어서는, 노드(20A, 20B, 20C, 20D 및 20X) 등의 각 노드를 구별할 필요가 없는 경우, 단지 노드(20)로 칭한다. 다른 부호에 대해서도 마찬가지이다.
각 노드(20)는, 콘텐츠의 실데이터인 콘텐츠 데이터(파일), 또는 콘텐츠 데이터를 청크화(분할)하여 얻어지는 파일 세그먼트(분할 데이터)를 기억하고 있다. 또, 각 노드(20)는, 소정의 파일 세그먼트가 기억되어 있는 소재를 나타내는 소재 정보로서의 URL(Uniform Resource Locator)을 기억하고 있다. 즉, 각 노드(20)는, 콘텐츠 기억장치로서의 기능 및 소재 정보 기억장치로서의 기능을 가진다.
또한, 각 노드(20)는, 어느 콘텐츠를 나타내는 정보를〈enclosure〉요소에 포함한 RSS 피드를 수신하고, 통신망(12)을 통하여, 다른 노드(20)에 기억되어 있는 상기 콘텐츠의 파일 세그먼트를 취득하는 콘텐츠 취득장치로서의 기능도 가진다.
개략적으로 설명하면, 각 노드(20)는,〈enclosure〉요소에 기재된 정보에 의거하여, 어느 콘텐츠의 각 파일 세그먼트의 URL을 기억하고 있는 1 또는 2 이상의 노드(20)를, 노드 어드레스 해결 서버(14)와 협동하여 특정한다. 여기서, 노드 어드레스 해결 서버(14)는, 각 노드(20)를 식별하는 고유 식별 정보로서의 노드 ID 와, 각 노드(20)에 네트워크상에서 할당되는 네트워크 어드레스를 대응지어 기억하고 있다. 그리고, 노드 어드레스 해결 서버(14)는, 어느 노드 ID를 가지는 노드(20)의 네트워크 어드레스의 해결을 의뢰받으면, 상기 노드 ID와 대응지어 기억하고 있는 네트워크 어드레스를 송신한다.
각 노드(20)는, 어느 콘텐츠의 각 파일 세그먼트의 URL을 기억하고 있는 1 또는 2 이상의 노드(20)를 특정하면, 특정된 각 노드(20)로부터 각 파일 세그먼트의 URL을 취득한다. 그리고, 각 노드(20)는, 각 파일 세그먼트의 URL에 의거하여 파일 세그먼트를 취득할 수 있다.
또한, 도 1에 있어서는, 노드(20)의 일례로서 노트 PC를 나타내고 있지만, 노드(20)는 노트 PC에 한정되지 않고, 예를 들면, PC, 가정용 영상 처리 장치(DVD 레코더, 비디오 덱 등), 휴대 전화, PHS(Personal Handyphone System), 휴대용 음악 재생장치, 휴대용 영상 처리 장치, PDA(Personal Digital Assistants), 가정용 게임기기, 휴대용 게임기기, 가전 기기 등의 정보처리 장치여도 좋다.
또, 콘텐츠란, 음악, 강연 및 라디오 프로그램 등의 음악 데이터나, 영화, 텔레비젼 프로그램, 비디오 프로그램, 사진, 문서, 회화 및 도표 등의 영상 데이터나, 게임 및 소프트웨어 등의 임의의 데이터를 포함한 개념이다.
〔2〕본 실시형태의 목적
계속하여, 본 실시형태의 이해를 용이하게 하기 위해서, 본 실시형태에 관련하는 콘텐츠 취득시스템(2)과 대비시켜, 본 실시형태에 관련하는 콘텐츠 취득시스템(1)의 목적을 설명한다.
〔2-1〕본 실시형태에 관련하는 콘텐츠 취득시스템
도 2∼도 4는, 본 실시형태에 관련하는 콘텐츠 취득시스템(2)에 있어서의 콘텐츠 취득의 흐름을 나타낸 설명도이다.
어느 노드(22A)는, 취득 대상의 파일인 「targetFile(대상 파일명)」을 보관 유지할 때, 이 노드(22A)의 기억부(23A)에 targetFile이 있는 것을 다른 노드(22)에 고지(告知)하기 위한 RSS 피드를 생성한다. 통상, RSS 피드의〈enclosure〉요소의 url속성에는 이 파일의 실체를 취득하기 위한 URL「targetFile_RealURLOnNode-A」이 기재된다.
그리고, 다른 노드(22)가, 이와 같이 생성된 RSS 피드를 취득하고, RSS 피드에 기재되어 있는 「targetFile_RealURLOnNode-A」에 의해 파일 취득 프로토콜을 이용하여 대상 파일 「targetFile」을 취득한다.
여기서,〈enclosure〉요소의 url속성의 [파일명]의 항을 기초로 DHT(Distributed Hash Table)가 구성되며, [파일명]으로부터 [파일 본체의 URL]의 이름 해결 테이블의 엔트리는 DHT를 이용하여 참조되는 것으로 한다. DHT의 상세한 것에 대해서는 도 9를 참조하여 설명한다.
이 경우, targetFile을 다운로드 하려고 하는 노드(22)는, 파일명의 해시값에 대응하는 노드에 분산된 DHT를 이용하여 파일의 URL을 해결하고, 본체의 파일을 취득한다. 즉, 노드(22)는, 「대상 파일명」의 해시값과 「파일 본체의 URL」과의 대응 관계가 기재된 이름 해결 테이블을 참조하여 파일의 URL을 취득한다.
예를 들면, 도 2에 나타낸 바와 같이, 노드(22A, 22B, 22C, 22D 및 22X)에, 점선으로 나타낸 바와 같이 분산하여 이름 해결 테이블(24A, 24B, 24C, 24D 및 24X)이 기억되어 있는 경우를 생각한다. 이 경우, 대상의 파일명 「targetFile」의 해시값(hash(targetFile))에 의해 결정되는 노드(이 경우는 노드(22B)이다)에, 대상의 파일명으로부터 파일 본체의 URL(targetFile_RealURLOnNode-A)을 검색하기 위한 이름 해결 테이블(24B)이 관리된다. 또한, 도 4∼도 6에 있어서는, 도면의 명료성의 관점으로부터 각 이름 해결 테이블을 연결하는 점선은 생략한다.
이 targetFile을 취득하려고 하는 노드(22X)는, 이 targetFile에 대한 메타데이터를 기재한 RSS 피드(〈enclosure〉요소의 url속성에 "targetFile"이 기재되어 있다)를 취득한다. 그리고, 노드(22X)는, DHT를 이용하여 노드(22B) 상의 이름 해결 테이블(24B)을 참조하고, targetFile의 URL인 「targetFile_RealURLOnNode-A」를 얻어, targetFile의 내용을 취득한다. 또한, 노드(22X)는, 취득한 targetFile을 기억부(23X)에 기록한다.
그 후, 노드(22X)는, 노드(22B)에서 관리되고 있는 이름 해결 테이블 엔트리인[targetFile]->[targetFile_RealURLOnNode-A]페어의[targetFile_RealURLOnNode-A]의 항의 뒤에, 기억부(23X)에 있어서의 targetFile의 URL 「targetFile_RealURLNode-X」을 추가한다.
그 결과, 노드(22B)로의 targetFile에 대한 이름 해결 의뢰에 대해서 답신되는 URL은 「targetFile_RealURLOnNode-A」와「targetFile_RealURLOnNode-X」의 2개의 URL이 된다.
이 때문에, 도 4에 나타낸 바와 같이, 복수의 노드(22)가 다른 노드로부터 동일한 파일을 취득하는 것이 가능해진다. 예를 들면, 노드(22C) 및 노드(22D)가 targetFile의 취득을 소망하는 경우, 노드(22C) 및 노드(22D)는, 노드(22B)의 이름 해결 테이블(24B)을 참조한다.
그리고, 노드(22C)가 「targetFile_RealURLOnNode-X」를 얻고, 노드(22D)가 「targetFile_RealURLOnNode-A」를 얻었다고 한다. 이 경우, 예를 들면, 노드(22C)가 노드(22X)로부터, 노드(22D)가 노드(22A)로부터와 같이, 각각의 노드가 병행하여 동시에 targetFile을 취득하는 것이 가능해진다.
마찬가지로 하여, 다른 노드(22)가 파일을 취득할 때마다, 이름 해결 테이블의 엔트리에, 취득한 노드(22) 상의 파일의 URL이 추가되어 가는 것으로 한다. 이러한 구성에 의하면, 파일의 복제가 노드(22)에 분산됨에 따라, 복수의 노드(22)가 동시에 동일한 파일의 복제를 다른 노드(22)로부터 취득할 수 있게 된다.
또한, 도 4에 나타낸 바와 같이, 어느 파일의 이름 해결의 의뢰가 노드(22B)에 집중하는 경우, 노드(22B)의 부하가 증가하여, 개개의 이름 해결의 의뢰에 대한 처리 퍼포먼스가 열화하고, 또 전체의 처리 속도를 느리게 해 버린다.
〔2-2〕본 실시형태의 목적
그래서, 이 문제를 완화하는 것을 목적의 하나로 하고, 파일을 청크화하여 복수의 파일 세그먼트로서, 이 파일 세그먼트를 복수의 노드(20)에 기억시키는 개념에 이르렀다. 예를 들면, 각각의 파일 세그먼트에[파일명+n](n은 파일 세그먼트 ID:1, 2,....N)이라고 하는 파일명을 붙이고, 어느 노드(20)에서는, 「파일명+n」->[(파일 세그먼트의 복제) URL, URL, ....]의 세트를 이름 해결 테이블 엔트리로서 관리한다. 이것에 의해, 1개의 파일명을 파일명-1, 파일명-2, 파일명-3, ..., 과 같이 복수의 키로 나누어 해시 공간상에 분산시키고, 파일명을 키로서 사용하는 DHT 검색 처리를 분산적으로 행할 수 있다.
도 5 및 도 6은, 본 실시형태에 관련하는 콘텐츠 취득시스템(1)에 있어서의 콘텐츠 취득의 흐름을 나타낸 설명도이다. 도 5에 나타낸 바와 같이, 「targetFile」이 「targetFile-1」 및 「targetFile-2」에 청크화되어 있고, 「targetFile-1」의 파일의 실체는 노드(20A)의 기억부(27A)에 기록되며, 「targetFile-2」의 파일의 실체는 노드(20X)의 기억부(27X)에 기록되어 있는 것으로 한다.
또, 「targetFile-1」에 대한 이름 해결 테이블의 엔트리가 노드(20B)에서 관리되며, 「targetFile-2」에 대한 이름 해결 테이블의 엔트리가 노드(20A)에서 관리된다. 「targetFile-1」의 엔트리에는, 「targetFile-1」의 실체의 URL인 「targetFile-1_RealURLOnNode-A」가 격납된다. 또, 「targetFile-2」의 엔트리에는, 「targetFile-2」의 실체의 URL인 「targetFile-2_RealURLOnNode-X」가 격납된다.
여기서, 「targetFile-1」을 취득하려고 하는 노드(20C)는, 「targetFile-1」의 실체의 URL을 해결하는 이름 해결 테이블 엔트리가 노드(20B)에 있기 때문에, 노드(20B)에 대해서 이름 해결 의뢰를 행한다. 마찬가지로, 「targetFile-2」를 취득하려고 하는 노드(20D)는, 「targetFile-2」의 실체의 URL을 해결하는 이름 해결 테이블 엔트리가 노드(20A)에 있기 때문에, 노드(20A)에 대해서 이름 해결 의뢰를 행한다.
그 결과, 노드(20C)는 「targetFile-1」의 URL인 「targetFile-1_RealURLOnNode-A」를 얻고, 노드(20A)로부터 「targetFile-1」을 취득한다. 마찬가지로, 노드(20D)는, 「targetFile-2」의 URL인 「targetFile-2_RealURLOnNode-X」를 얻고, 노드(20X)로부터 「targetFile-2」를 취득한다.
또한, 도 6에 나타낸 바와 같이, 「targetFile-1」을 취득한 노드(20C)는, 기억부(27C)에 있어서의 「targetFile-1」의 URL을 나타내는 「targetFile-1_RealURLOnNode-C」를 노드(20B)에 송신한다. 그리고, 노드(20B)는, 「targetFile-1」의 URL로서 「targetFile-1_RealURLOnNode-C」를 추가한다.
마찬가지로, 「targetFile-2」를 취득한 노드(20D)는, 기억부(27D)에 있어서의 「targetFile-2」의 URL을 나타내는 「targetFile-2_RealURLOnNode-D」를 노드(20A)에 송신한다. 그리고, 노드(20A)는, 「targetFile-2」의 URL로서 「targetFile-2_RealURLOnNode-D」를 추가한다.
여기서, 상기와 같이 1의 콘텐츠의 파일 세그먼트를 복수의 노드(20)에 분산적으로 기억시키는 시스템을 실현하기 위해서, RSS 피드의〈enclosure〉요소에 각 파일 세그먼트명을 기재하는 방법이 생각된다.
그러나, 파일 세그먼트의 수가 많아지면, RSS 피드의〈enclosure〉요소의 기재가 장황하게 되어, RSS 피드를 제공하는 RSS 디렉터리 서버나 RSS 멀티 캐스트 서버 등의 처리 부하가 증대해 버린다. 또, RSS 피드를 수신하는 노드(20)의 자원을 압박받아 버린다고 하는 문제도 생긴다.
그래서, 상기 사정을 감안하여 본 실시형태에 관련하는 콘텐츠 취득시스 템(1)을 창작하기에 이르렀다. 본 실시형태에 관계되는 콘텐츠 취득시스템(1)에 의하면, RSS 피드의〈enclosure〉요소의 기재를 간소화하면서, 파일 세그먼트의 취득을 가능하게 할 수 있다.
〔3〕콘텐츠 취득시스템의 상세한 설명
이하, 해당 콘텐츠 취득시스템(1)에 대해서, 노드(20)의 하드웨어 구성, 노드(20)의 기능 및 콘텐츠 취득시스템의 동작의 순서에 따라서 상세하게 설명한다.
〔3-1〕노드의 하드웨어 구성
도 7은, 본 실시형태에 관계되는 노드(20)의 하드웨어 구성을 나타낸 설명도이다. 도 7에 나타낸 바와 같이, 노드(20)는, CPU(Central Processing Unit)(201)와, ROM(Read Only Memory)(202)과, RAM(Random Access Memory)(203)과, 호스트 버스(204)와, 브리지(205)와, 외부 버스(206)와, 인터페이스(207)와, 입력장치(208)와, 출력장치(210)와, 스토리지 장치(HDD)(211)와, 드라이브(212)와, 통신 장치(215)를 갖춘다.
CPU(201)는, 연산처리장치 및 제어장치로서 기능하고, 각종 프로그램에 따라서 노드(20) 내의 동작 전반을 제어한다. 또, CPU(201)는, 마이크로 프로세서여도 좋다. ROM(202)은, CPU(201)가 사용하는 프로그램이나 연산 파라미터 등을 기억한다. RAM(203)은, CPU(201)의 실행에 있어서 사용하는 프로그램이나, 그 실행에 있어서 적절히 변화하는 파라미터 등을 일차 기억한다. CPU(201), ROM(202) 및 RAM(203)은 CPU 버스 등으로 구성되는 호스트 버스(204)에 의해 서로 접속되어 있다.
호스트 버스(204)는, 브리지(205)를 통하여, PCI(Peripheral Component Interconnect/Interface) 버스 등의 외부 버스(206)에 접속되어 있다. 또한, 반드시 호스트 버스(204), 브리지(205) 및 외부 버스(206)를 분리 구성할 필요는 없고, 하나의 버스에 이러한 기능을 실장해도 좋다.
입력장치(208)는, 예를 들면, 마우스, 키보드, 터치 패널, 버튼, 마이크, 스위치 및 레버 등 유저가 정보를 입력하기 위한 입력 수단과, 유저에 의한 입력에 의거하여 입력 신호를 생성하고, CPU(201)에 출력하는 입력 제어 회로 등으로 구성되어 있다. 노드(20)의 유저는, 상기 입력장치(208)를 조작함으로써, 노드(20)에 대해서 각종의 데이터를 입력하거나 처리 동작에 관한 지시를 내리거나 할 수 있다.
출력장치(210)는, 예를 들면, CRT(Cathode Ray Tube) 디스플레이 장치, 액정 디스플레이(LCD) 장치, OLED(Organic Light Emitting Display) 장치 및 램프 등의 표시장치와, 스피커 및 헤드폰 등의 음성 출력장치로 구성된다. 출력장치(210)는, 예를 들면, 재생된 콘텐츠를 출력한다. 구체적으로는, 표시장치는 재생된 영상 데이터 등의 각종 정보를 텍스트 또는 이미지의 형식으로 표시한다. 또한, 음성 출력장치는, 재생된 음성 데이터 등을 음성으로 변환하고, 상기 음성을 출력한다.
스토리지 장치(211)는, 본 실시형태에 관계되는 노드(20)의 기억부의 일례로서 구성된 데이터 격납용의 장치이다. 스토리지 장치(211)는, 기억 매체, 기억 매체에 데이터를 기록하는 기록 장치, 기억 매체로부터 데이터를 읽어내는 독출 장치 및 기억 매체에 기록된 데이터를 삭제하는 삭제 장치 등을 포함해도 좋다. 스토리 지 장치(211)는, 예를 들면, HDD(Hard Disk Drive)로 구성된다. 이 스토리지 장치(211)는, 하드 디스크를 구동하여, CPU(201)가 실행하는 프로그램이나 각종 데이터를 격납한다. 또, 이 스토리지 장치(211)는, 후술한, 이름 해결 테이블, 파일 세그먼트 등을 기억한다.
드라이브(212)는, 기억 매체용 리더 라이터이며, 노드(20)에 내장, 혹은 외부 부착된다. 드라이브(212)는, 장착되어 있는 자기 디스크, 광디스크, 광학 자기 디스크, 또는 반도체 메모리 등의 리무버블 기억 매체(25)에 기록되어 있는 정보를 읽어내고, 상기 정보를 RAM(203)에 출력한다.
통신 장치(215)는, 예를 들면, 통신망(12)에 접속하기 위한 통신 디바이스 등으로 구성된 통신 인터페이스이다. 또, 통신 장치(215)는, 무선 LAN(Local Area Network) 대응 통신 장치여도, 무선 USB 대응 통신 장치여도, 유선에 의한 통신을 행하는 와이어 통신 장치여도 좋다. 이 통신 장치(215)는, 노드 어드레스 해결 서버(14)나 다른 노드(20)와의 사이에서, 통신망(12)을 통하여, RSS 피드, URL, 파일 세그먼트 등의 각종 데이터를 송수신한다.
〔3-2〕노드의 기능
계속하여, 도 8∼도 11을 참조하여 본 실시형태에 관계되는 노드(20)의 기능을 설명한다.
도 8은, 본 실시형태에 관계되는 노드(20)의 구성을 나타낸 기능 블럭도이다. 도 8에 나타낸 바와 같이, 해당 노드(20)는, 통신부(216)와, 이름 해결 처리부(220)와, 콘텐츠 이용부(230)와, 파일 서버 처리부(240)와, 렌더링 처리부(260) 를 갖춘다.
통신부(216)는, 다른 노드(20X)나 노드 어드레스 해결 서버(14) 등과의 인터페이스이며, 각종 데이터를 송수신한다. 예를 들면, 통신부(216)는, RSS 디렉터리 서버(15)로부터 RSS 피드를 수신하는 수신부로서의 기능이나, 통신부(216)를 포함하는 노드에 기억되어 있는 파일 세그먼트의 URL을 송신하는 송신부로서의 기능을 가진다. 여기서, RSS 디렉터리 서버(15)는 임의의 RSS 피드를 기억하고 있어도 좋다. 또한, 본 명세서에 있어서는, 예를 들면 노드(20)가 노드(20A)에 해당하는 경우, 노드(20A)와 다른 노드(20B, 20C) 등을, 단지 노드(20X)로 총칭되어도 좋다.
이름 해결 처리부(220)는, URL 추출부(222)와, 이름 해결 테이블 기억부(224)와, 테이블 관리부(226)를 갖춘다.
테이블 관리부(226)는, 이름 해결 테이블 기억부(224)가 기억하는 이름 해결 테이블을 관리한다. 이름 해결 테이블은, 어느 파일(파일 세그먼트를 포함한다)의 파일명의 해시값과, 상기 파일의 URL이 대응지어진 엔트리(이름 해결 테이블 엔트리)를 포함한 테이블이다.
구체적으로는, 각 노드(20)에는 해시값의 관리 범위가 할당되어 있고, 각 노드(20)는, 파일명의 해시값이 자신에게 할당된 관리 범위에 포함되는 파일의 파일명의 해시값과, 상기 파일의 URL이 대응지어진 이름 해결 테이블 엔트리를 수신한다. 그리고, 테이블 관리부(226)는, 다른 노드(20)로부터 수신한 이름 해결 테이블 엔트리를 이름 해결 테이블 기억부(224)에 기록한다. 여기서, 도 9를 참조하여 각 노드(20)에 할당되는 해시값의 관리 범위에 대해 설명한다.
도 9는, 각 노드(20)에 할당되는 해시값의 관리 범위의 일례에 대해 나타낸 설명도이다. 도 9에 있어서는, 해시값이 10인 노드 ID를 노드(20A)가 가지고, 해시값이 90인 노드 ID를 노드(20B)가 가지며, 해시값이 150인 노드 ID를 노드(20C)가 가지는 경우를 나타내고 있다. 또, 노드(20A) 및 노드(20C)가 P2P(Peer to Peer) 네트워크에 참가하고 있고, 노드(20B)는 미참가인 것으로 한다. 또, 노드(20A) 및 노드(20C)가 링(노드 ID의 해시값을 연속하여 늘어놓는 것으로 구성된 가상적인 테두리) 위에 있는 것으로 한다.
이 경우, 노드(20A)의 노드 ID의 해시값이 10이며, 노드(20C)의 노드 ID의 해시값이 150이기 때문에, 노드(20A)에는 해시값 151∼10까지가 해시값의 관리 범위로서 할당되며, 노드(20C)에는 해시값 11∼150까지가 해시값의 관리 범위로서 할당된다.
여기서, 노드(20B)가 해당 네트워크에 참가하려고 하는 경우, 노드(20B)는 노드(20B)의 해시값 90의 양 옆의 해시값을 가지는 노드(20A) 및 노드(20C)를 탐색한다. 보다 다수의 노드(20)가 네트워크에 참가하고 있는 경우, 노드(20B)는 임의의 알고리즘을 사용하여 양 옆의 노드를 탐색할 수 있다. 예를 들면, 노드(20B)는 최초로 임의의 노드와 통신하고, 상기 노드가 양 옆의 노드가 아니었던 경우, 상기 노드로부터 노드(20B)의 양 옆의 노드의 정보를 얻어도 좋다.
노드(20B)는, 양 옆의 해시값을 가지는 노드(20A) 및 노드(20C)의 정보를 얻으면, 노드(20A)의 노드 ID의 해시값이 10이며, 노드(20C)의 노드 ID의 해시값이 150이기 때문에, 자신의 해시값의 관리 범위를 11∼90으로 한다. 그리고, 노 드(20B)의 네트워크로의 참가에 의해, 노드(20C)의 해시값의 관리 범위는 91∼150이 된다.
여기서, 네트워크에 참가하고 있는 각 노드(20)는, 상술한 바와 같이, 파일명의 해시값이 자신의 관리 범위에 포함되는 파일의 파일명의 해시값과, 상기 파일의 URL을 대응지어 기억하고 있다. 예를 들면, 노드(20B)가 네트워크에 참가하기 전은, 노드(20C)는, 해시값이 11∼150의 범위 내의 파일명을 가지는 파일의 URL을 기억하고 있었다. 따라서, 노드(20B)의 테이블 관리부(226)는, 노드(20C)가 기억하고 있던 이름 해결 테이블 엔트리 중, 해시값이 11∼90의 범위 내의 파일명을 가지는 파일의 URL과, 상기 파일의 파일명의 해시값의 페어인 이름 해결 테이블 엔트리를 노드(20C)로부터 수신하여, 기억한다.
또한, 노드(20B)가 네트워크로부터 이탈할 때에는, 해시값이 인접하는 노드(20C)를 탐색하고, 노드(20B)의 이름 해결 테이블 기억부(224)에 기억되어 있던 이름 해결 테이블 엔트리를 노드(20C)에 송신한다. 그리고, 노드(20C)의 테이블 관리부(226)는, 노드(20B)로부터 수신한 이름 해결 테이블 엔트리를 노드(20C)가 관리하는 이름 해결 테이블에 추가한다.
또한, 노드 ID는, 각 노드가 네트워크에 참가할 때에 예를 들면 시간에 의거하여 결정해서 보관 유지하는 랜덤인 식별 정보여도 좋다.
이상, 각 노드(20)에 할당되는 해시값의 관리 범위나, 노드가 네트워크에 참가할 때, 또는 네트워크로부터 이탈할 때의 처리 방법에 대해 설명했지만, 상기 설명은 일례에 지나지 않고, 다른 임의의 처리 방법을 대용하는 것이 가능하다.
URL 추출부(222)는, 다른 노드(20X)로부터 이름 해결 요구가 있었을 때에는, 상기 이름 해결 요구에 따라 적절한 URL을 답장한다. 여기서, URL 추출부(222)는, 이름 해결 요구로서 예를 들면 파일 세그먼트명의 해시값을 수신하고, 상기 해시값과 대응지어 이름 해결 테이블 기억부(224)에 기억되어 있는 URL을 답장해도 좋다. 이러한 이름 해결 처리부(220)를 갖추는 노드는, 소재 정보 기억부로서의 기능을 가진다. 또, 이름 해결 테이블 기억부(224)에 기억되어 있는 이름 해결 테이블의 일례를 도 10에 나타낸다.
도 10은, 이름 해결 테이블 기억부(224)에 기억되어 있는 이름 해결 테이블의 일례를 나타낸 설명도이다. 도 10에 나타낸 바와 같이, 이름 해결 테이블에는, 파일명의 해시값과, 파일의 소재를 나타내는 URL이 대응지어진 이름 해결 테이블 엔트리가 복수 포함된다.
콘텐츠 이용부(230)는, RSS 취득부(232), 생성부(234), 파일 취득부(236) 및 재생 지시부(238)를 갖추고, RSS 피드 리더나, RSS 피드 리더에 의해 불려내지는 애플리케이션에 상당한다.
RSS 취득부(232)는, 예를 들면 RSS 디렉터리 서버(15)에 기억되어 있는 RSS 피드 중에서, 선택적으로 RSS 피드를 취득한다. 또는, RSS 취득부(232)는, RSS 피드를 멀티 캐스트 하는 RSS 멀티 캐스트 서버(도시하지 않음.)로부터 RSS 피드를 취득할 수도 있다. 여기서, RSS 취득부(232)에 의해 취득된 RSS 피드(제 1의 콘텐츠 정보)에 포함되는〈enclosure〉요소에는, 어느 콘텐츠에 따른 데이터 정보로서 상기 콘텐츠의 파일명이나, 상기 콘텐츠의 분할수가 기재되어 있다.
생성부(234)는, RSS 취득부(232)에 의해 취득된 RSS 피드에 포함되는〈enclosure〉요소의 기재에 의거하여, 상기 콘텐츠를 청크화하여 얻어진 각 파일 세그먼트를 나타내는 분할 데이터 지정 정보로서의 파일 세그먼트명을 생성한다. 도 11을 참조하여, 생성부(234)의 기능을 구체적으로 설명한다.
도 11은, 생성부(234)가〈enclosure〉요소의 기재에 의거하여 파일 세그먼트명을 생성하는 모습을 나타낸 설명도이다. 도 11에 나타낸 「drs://targetFile-N」이라고 하는〈enclosure〉요소의 기재 중, 「drs」는, 해당〈enclosure〉요소에 파일의 소재가 아니고 특별한 정보가 기재되어 있는 것을 나타낸다.
또, 「targetFile」이 콘텐츠 파일의 파일명이며, 「N」이 상기 콘텐츠를 분할하여 얻어진 파일 세그먼트수이다.
생성부(234)는, 이러한 파일명에 1∼N까지의 번호를 부가하여 각 파일 세그먼트명을 생성한다. 구체적으로는, 도 11에 나타낸 바와 같이, 생성부(234)는 「targetFile-1」, 「targetFile-2」, 「targetFile-3」, 「targetFile-4」,···, 「targetFile-N」을 생성한다.
파일 취득부(236)는, 생성부(234)에 의해 생성된 파일 세그먼트명의 각각에 의거하여 각 파일 세그먼트를 취득하는 취득부로서 기능한다. 예를 들면, 파일 취득부(236)는, 우선 각 파일 세그먼트명의 해시값을 계산한다. 그리고, 파일 취득부(236)는, 계산한 파일 세그먼트명의 해시값을 관리 범위에 포함한 노드 ID를 가지는 노드의 네트워크 어드레스를, 노드 어드레스 해결 서버(14)에 문의하여 취득한다.
그 후, 파일 취득부(236)는, 노드 어드레스 해결 서버(14)로부터 취득한 네트워크 어드레스를 가지는 노드에, 파일 세그먼트명을 이름 해결 의뢰로서 송신함으로써, 상기 노드의 URL 추출부(222)로부터 파일 세그먼트의 URL을 취득한다. 그리고, 파일 취득부(236)는, 취득한 파일 세그먼트의 URL이 나타내는 소재로부터, 파일 세그먼트의 실체를 취득한다.
또한, 파일 취득부(236)는, 1의 파일 세그먼트에 관해, 복수의 파일 세그먼트의 URL을 취득하는 경우가 있다. 이 경우, 파일 취득부(236)는, 복수의 파일 세그먼트의 URL로부터 1의 URL을 선택하고, 선택한 URL이 나타내는 소재로부터 파일 세그먼트의 실체를 취득해도 좋다. 이러한 구성에 있어서는, 파일 취득부(236)는, 예를 들면 네트워크의 혼잡 상황 등에 따라, 취득하기 쉬운 노드로부터 선택적으로 파일 세그먼트의 실체를 취득함으로써, 파일 세그먼트의 취득 효율의 향상을 도모할 수 있다.
또, 어느 파일 세그먼트의 URL을 이름 해결 테이블 기억부(224)에 복수 기억하고 있는 노드는, 다른 노드로부터의 이름 해결 요구시에, 복수의 파일 세그먼트의 URL 중에서, 1의 파일 세그먼트의 URL을 선택하여 다른 노드에 송신해도 좋다.
또, 여기까지, 생성부(234)가 콘텐츠의 파일명에 1∼N까지의 번호를 부가하여 각 파일 세그먼트명을 생성하는 예를 설명했지만, 본 발명은 이러한 예로 한정되지 않는다. 예를 들면, 생성부(234)는, 미리 순서지어져 있는 요소군 중에서, 파일 세그먼트 수에 따른 범위 내에 순서지어져 있는 요소의 각각을 콘텐츠의 파일명에 부가해도 좋다. 구체적으로는, 생성부(234)는, A, B, C··로 순서지어져 있는 알파벳군으로부터, 파일 세그먼트 수가 8이었을 경우, 8번째에 순서지어져 있는 「H」까지의 알파벳을 콘텐츠명에 부가하여 파일 세그먼트명을 얻어도 좋다.
또, 파일 세그먼트 수는 반드시 숫자로 표현될 필요는 없고, 미리 순서지어져 있는 요소군에 있어서의 몇 개의 요소로 표현되어도 좋다.
재생 지시부(238)는, 파일 취득부(236)에 의해 취득된 파일 세그먼트의 재생을 렌더링 처리부(260)에 지시한다. 즉, 렌더링 처리부(260)는, 재생 지시부(238)로부터의 지시에 따라 콘텐츠를 영상이나 음성의 출력장치에 재생시키는 재생부로서 기능을 가진다.
파일 서버 처리부(240)는, 기록부(242), 파일 기억부(244), URL 통지부(246), 청크 처리부(248), RSS 생성부(250) 및 파일 전송부(252)를 갖춘다.
기록부(242)는, 파일 기억부(244)에, 파일 취득부(236)에 의해 취득된 콘텐츠의 파일 세그먼트를 기록한다. 파일 기억부(244)는, 콘텐츠의 파일 세그먼트나, 청크화 되어 있지 않은 콘텐츠 데이터 등을 기억하는 분할 데이터 기억부로서 기능한다. 이러한 파일 기억부(244)를 갖추는 노드는, 콘텐츠 기억장치로서 기능한다. 또한, 도 8에 있어서는, 이름 해결 테이블 기억부(224) 및 파일 기억부(244)를 다른 구성으로서 나타내고 있지만, 이름 해결 테이블 기억부(224) 및 파일 기억부(244)는 실제로는 물리적으로 동일한 기억 매체여도 좋다.
또, 이름 해결 테이블 기억부(224) 및 파일 기억부(244)는, 예를 들면, EEPROM(Electrically Erasable Programmable Read-Only Memory), EPROM(Erasable Programmable Read Only Memory) 등의 불휘발성 메모리나, 하드 디스크 및 원반형 자성체 디스크 등의 자기 디스크나, CD-R(Compact Disc Recordable)/RW(ReWritable), DVD-R(Digital Versatile Disc Recordable)/RW/+R/+RW/RAM(Random Access Memory) 및 BD(Blu-Ray Disc(등록상표))―R/BD-RE 등의 광디스크나, MO(Magneto Optical) 디스크 등의 기억 매체여도 좋다.
URL 통지부(246)는, 기록부(242)에 의해 새롭게 파일 기억부(244)에 기록된 파일 세그먼트의, 파일 기억부(244)에 있어서의 소재를 나타내는 URL을, 상기 파일 세그먼트의 이름의 해시값을 관리 범위에 포함한 노드에 송신하는 송신부로서 기능한다. URL 통지부(246)로부터 있는 파일 세그먼트의 URL을 수신한 노드의 테이블 관리부(226)는, 이름 해결 테이블 기억부(224)에, 상기 파일 세그먼트의 URL로서 URL 통지부(246)로부터 수신한 상기 파일 세그먼트의 URL을 추가할 수 있다. 그 결과, 후에 상기 파일 세그먼트의 취득을 소망하는 복수의 노드가, 다른 노드로부터 분산적으로 상기 파일 세그먼트를 취득하는 것이 가능해진다.
또, URL 통지부(246)는, 후술의 청크 처리부(248)가 콘텐츠를 청크화하는 것으로 얻어진 각 파일 세그먼트의 파일 기억부(244)에 있어서의 소재를 나타내는 URL을, 각각 대응하는 노드에 송신한다. URL 통지부(246)로부터 있는 파일 세그먼트의 URL을 수신한 노드의 테이블 관리부(226)는, 이름 해결 테이블 기억부(224)에, 상기 파일 세그먼트의 URL로서 URL 통지부(246)로부터 수신한 상기 파일 세그먼트의 URL을 기록할 수 있다.
청크 처리부(248)는, 임의의 콘텐츠 데이터를 청크화(분할)하고, 복수의 파일 세그먼트(분할 데이터)를 얻는 분할부로서 기능한다. 청크 처리부(248)에 의해 청크화하여 얻어진 각 파일 세그먼트는, 기록부(242)에 의해 파일 기억부(244)에 기록되어도 좋다. 이 경우, URL 통지부(246)가, 각 파일 세그먼트의 파일 기억부(244)에 있어서의 소재를 나타내는 URL을, 파일 세그먼트명의 해시값과 아울러 각각 대응하는 노드에 송신해도 좋다.
RSS 생성부(250)는, 청크 처리부(248)에 의해 어느 콘텐츠의 콘텐츠 데이터가 청크화 되면, 상기 콘텐츠의 RSS 피드를 생성한다. 구체적으로는, RSS 생성부(250)는, 상기 콘텐츠의 콘텐츠명과, 청크 처리부(248)의 청크 처리에 의해 생성된 파일 세그먼트의 수가 기재된〈enclosure〉요소를 포함한 RSS 피드를 생성한다. RSS 생성부(250)에 의해 생성된 RSS 피드는, RSS 디렉터리 서버(15)를 통하여 다른 노드에 송신된다.
파일 전송부(252)는, 다른 노드의 파일 취득부(236)로부터, 파일 기억부(244)에 기억되어 있는 파일 세그먼트의 전송 요구가 있었을 경우, 상기 파일 세그먼트를 다른 노드에 전송한다.
또한, 여기까지, 콘텐츠 데이터가 청크화 된 경우의 RSS 피드의〈enclosure〉요소에 기재되는 내용에 대해 설명해 왔다. 그러나, 콘텐츠 데이터가 청크화 되어 있지 않은 경우는, RSS 피드(제 2의 콘텐츠 정보)의〈enclosure〉요소는 콘텐츠명이 기재되어 있으면 좋다. 이 경우, 파일 취득부(236)는,〈enclosure〉요소에 기재되어 있는 콘텐츠명의 해시값에 의거하여 상기 콘텐츠의 이름 해결을 의뢰하는 노드를 특정하고, 상기 노드로부터 취득한 URL이 나타내는 소재로부터 상기 콘텐츠의 실체를 취득한다.
〔3-3〕콘텐츠 취득시스템의 동작
이상, 도 8∼도 11을 참조하여 본 실시형태에 관계되는 노드(20)의 기능을 설명했다. 계속하여, 도 12∼도 16을 참조하여, 본 실시형태에 관계되는 콘텐츠 취득시스템의 동작을 설명한다.
도 12는, 콘텐츠의 청크화로부터 RSS 피드의 공개까지의 흐름을 나타낸 순서도이다. 우선, 노드(20A)의 파일 서버 처리부(240)의 청크 처리부(248)는, 콘텐츠의 파일을 청크화하고, 각 파일 세그먼트에 파일명을 명명하여, 각 파일 세그먼트에 파일 기억부(244)에 있어서의 URL을 할당한다(S202). 파일 세그먼트수가 「N」인 경우, 청크 처리부(248)는, 각 파일 세그먼트에 「targetFile-(1 or2or3···orN)」와 같이 파일 세그먼트명을 명명한다. 즉, 도 12에 있어서는, 굵은 글씨의 N은, (1, 2, 3···, N)을 나타낸다. 또한, 파일 세그먼트명의 명명 시에는, 파일 세그먼트의 재생 순서에 따라서 콘텐츠명에 부가하는 숫자를 결정해도 좋다.
계속하여, 파일 서버 처리부(240)의 URL 통지부(246)는, 「targetFile-1」의 해시값을 관리 범위에 포함한 노드에, 「targetFile-1」의 해시값 및 「targetFile-1」의 URL의 페어를 통지한다(S204). 그때, URL 통지부(246)는, 노드 어드레스 해결 서버(14)로부터 「targetFile-1」의 해시값을 관리 범위에 포함한 노드의 네트워크 어드레스를 취득한다(S206). 계속하여, 「targetFile-1」의 해시값을 관리 범위에 포함한 노드의 이름 해결 처리부(220)는, 이름 해결 테이블 엔트리로서 「targetFile-1」의 해시값 및 「targetFile-1」의 URL의 페어를 이름 해결 테이블 기억부(224)에 기억시킨다(S208).
노드(20A)의 파일 서버 처리부(240)의 URL 통지부(246)는, 「targetFile-2」∼「targetFile-N」까지의 파일 세그먼트에 대해서도 마찬가지의 처리를 행한다. 예를 들면, URL 통지부(246)는, 「targetFile-N」의 해시값을 관리 범위에 포함한 노드에, 「targetFile-N」의 해시값 및 「targetFile-N」의 URL의 페어를 통지한다(S210). 그때, URL 통지부(246)는, 노드 어드레스 해결 서버(14)로부터 「targetFile-N」의 해시값을 관리 범위에 포함한 노드의 네트워크 어드레스를 취득한다(S212). 계속하여, 「targetFile-N」의 해시값을 관리 범위에 포함한 노드는, 이름 해결 테이블 엔트리로서 「targetFile-N」의 해시값 및 「targetFile-N」의 URL의 페어를 이름 해결 테이블 기억부(224)에 기억시킨다(S214).
그 후, 노드(20A)의 파일 서버 처리부(240)의 RSS 생성부(250)는,〈enclosure〉요소에 「drs://targetFile-N」이 기재된 RSS 피드를 생성한다(S216). 그리고, 노드(20A)의 파일 서버 처리부(240)의 RSS 생성부(250)는, 생성한 RSS 피드를 RSS 디렉터리 서버(15)를 통하여 공개한다(S218).
도 13∼도 16은, RSS의 취득으로부터 콘텐츠의 재생까지의 흐름을 나타낸 순서도이다. 우선, 도 13에 나타낸 바와 같이, 노드(20Z)의 콘텐츠 이용부(230)의 RSS 취득부(232)는, RSS 디렉터리 서버(15)에 있어서 공개되고 있는 RSS 피드에 기재되어 있는 메타데이터를 검색하여, 취득 대상의 콘텐츠에 대응하는 RSS 피드를 특정하여 취득한다(S302). 계속하여, 노드(20Z)의 콘텐츠 이용부(230)의 생성부(234) 및 파일 취득부(236)는, RSS 피드의〈enclosure〉요소의 url 속성에 기재되어 있는 「drs://targetFile-[N]”을 기초로, 청크화 된 취득 대상의 콘텐츠 인 파일 세그먼트군의 URL을 얻는다.
예를 들면, 노드(20Z)의 콘텐츠 이용부(230)의 생성부(234)는, 파일 세그먼트명으로서 「targetFile-1」∼「targetFile-N」을 생성한다. 그리고, 노드(20Z)의 콘텐츠 이용부(230)의 파일 취득부(236)가, 「targetFile-1」의 해시값을 관리 범위에 포함한 노드의 이름 해결 처리부(220)에 「targetFile-1」의 URL을 문의한다(S304). 그때, 파일 취득부(236)는, 노드 어드레스 해결 서버(14)로부터 「targetFile-1」의 해시값을 관리 범위에 포함한 노드의 네트워크 어드레스를 취득한다(S306). 그리고, 「targetFile-1」의 해시값을 관리 범위에 포함한 노드의 이름 해결 처리부(220)가 「targetFile-1」의 URL을 노드(20Z)에 송신한다(S308).
노드(20Z)의 콘텐츠 이용부(230)의 파일 취득부(236)는, 「targetFile-2」∼「targetFile-N」에 대해서도 마찬가지의 처리를 행한다. 예를 들면, 파일 취득부(236)는, 「targetFile-N」의 해시값을 관리 범위에 포함한 노드의 이름 해결 처리부(220)에 「targetFile-N」의 URL을 문의한다(S310). 그때, 파일 취득부(236)는, 노드 어드레스 해결 서버(14)로부터 「targetFile-N」의 해시값을 관리 범위에 포함한 노드의 네트워크 어드레스를 취득한다(S312). 그리고, 「targetFile-N」의 해시값을 관리 범위에 포함한 노드의 이름 해결 처리부(220)가 「targetFile-N」의 URL을 노드(20Z)에 송신한다(S314). 또한, 복수의 파일 세그먼트의 S304∼S310까지의 처리는, 병렬처리가 가능하다.
그리고, 도 14에 나타낸 바와 같이, 노드(20Z)의 콘텐츠 이용부(230)의 파일 취득부(236)는, 파일 세그먼트 마다, 취득한 URL 중 어느 쪽인가를 선택하고, URL 이 나타내는 소재에 해당하는 노드의 파일 서버 처리부(240)에 파일 세그먼트 송신을 요구한다. 예를 들면, 파일 취득부(236)가 「targetFile-1」의 송신을 노드(20X)의 파일 서버 처리부(240)에 요구하면(S350), 노드(20X)의 파일 서버 처리부(240)가 「targetFile-1」을 노드(20Z)에 송신한다(S352).
노드(20Z)의 콘텐츠 이용부(230)의 파일 취득부(236)는, 「targetFile-2」∼「targetFile-N」에 대해서도 마찬가지의 처리를 행한다. 예를 들면, 파일 취득부(236)가, 「targetFile-N」의 송신을 노드(20Y)의 파일 서버 처리부(240)에 요구하면(S354), 노드(20Y)의 파일 서버 처리부(240)가 「targetFile-N」을 노드(20Z)에 송신한다(S356). 또한, 복수의 파일 세그먼트의 S350∼S356까지의 처리는, 병렬처리가 가능하다.
계속하여, 도 15에 나타낸 바와 같이, 노드(20Z)의 파일 취득부(236)에 의해 취득된 「targetFile-1」이 파일 기억부(244)에 기록된다(S402). 그 후, 노드(20Z)의 파일 서버 처리부(240)의 URL 통지부(246)는, 「targetFile-1」의 해시값과, 「targetFile-1」의 파일 기억부(244)에 있어서의 소재를 나타내는 URL의 페어를, 「targetFile-1」의 해시값을 관리 범위에 포함한 노드에 통지한다(S404). 그때, URL 통지부(246)는, 노드 어드레스 해결 서버(14)로부터 「targetFile-1」의 해시값을 관리 범위에 포함한 노드의 네트워크 어드레스를 취득한다(S406). 「targetFile-1」의 해시값을 관리 범위에 포함한 노드는, 이름 해결 테이블 엔트리로서 「targetFile-1」의 해시값과, 「targetFile-1」의 파일 기억부(244)에 있어서의 소재를 나타내는 URL의 페어를 추가한다(S408).
그리고, 노드(20Z)의 파일 서버 처리부(240)는, 「targetFile-2」∼「targetFile-N」에 대해서도 마찬가지의 처리를 행한다. 예를 들면, 노드(20Z)의 파일 취득부(236)에 의해 취득된 「targetFile-N」이 파일 기억부(244)에 기록된다(S410). 그 후, URL 통지부(246)는, 「targetFile-N」의 해시값과 「targetFile-N」의 파일 기억부(244)에 있어서의 소재를 나타내는 URL의 페어를, 「targetFile-N」의 해시값을 관리 범위에 포함한 노드에 통지한다(S412). 그때, URL 통지부(246)는, 노드 어드레스 해결 서버(14)로부터 「targetFile-N」의 해시값을 관리 범위에 포함한 노드의 네트워크 어드레스를 취득한다(S414). 「targetFile-N」의 해시값을 관리 범위에 포함한 노드는, 이름 해결 테이블 엔트리로서 「targetFile-N」의 해시값과, 「targetFile-N」의 파일 기억부(244)에 있어서의 소재를 나타내는 URL의 페어를 추가한다(S416). 또한, 복수의 파일 세그먼트의 S402∼S416까지의 처리는, 병렬처리가 가능하다.
또한, 도 15에 나타낸 처리와 병행하여, 노드(20Z)의 렌더링 처리부(260)는 취득된 파일 세그먼트로부터, 파일 세그먼트의 순서를 고려하여 콘텐츠를 순서대로 재생한다. 구체적으로는, 도 16에 나타낸 바와 같이, 노드(20Z)의 파일 취득부(236)에 취득된 「targetFile-1」이 파일 기억부(244)에 기록되면(S452), 노드(20Z)의 파일 서버 처리부(240)는 렌더링 처리부(260)에 「targetFile-1」의 재생을 요구한다(S454). 렌더링 처리부(260)는, 파일 서버 처리부(240)로부터의 요구에 따라 「targetFile-1」의 재생을 개시한다(S456).
그리고, 노드(20Z)는, 「targetFile-2」∼「targetFile-N」에 대해서도 마 찬가지의 처리를 행한다. 예를 들면, 파일 취득부(236)에 취득된 「targetFile-N」이 파일 기억부(244)에 기록되면(S458), 파일 서버 처리부(240)는 렌더링 처리부(260)에 「targetFile-N」의 재생을 요구한다(S460). 렌더링 처리부(260)는, 파일 서버 처리부(240)로부터의 요구에 따라 「targetFile-N」의 재생을 개시한다(S462).
〔4〕요약
이상 설명한 바와 같이, 본 실시형태에 관계되는 노드(20)는, 생성부(234)가, RSS 피드의〈enclosure〉요소의 기재에 의거하여 각 파일 세그먼트명을 생성할 수 있다. 그리고, 파일 취득부(236)가 각 파일 세그먼트명에 따라서 다른 노드로부터 각 파일 세그먼트를 취득한다. 따라서, 해당 노드(20)에 의하면, RSS 피드의〈enclosure〉요소에, 각 파일 세그먼트명이 기재되어 있지 않아도 각 파일 세그먼트를 취득할 수 있다. 그 결과, RSS 피드의 정보량을 억제하여, RSS 피드가 번잡화되는 것을 방지할 수 있다.
이상, 첨부 도면을 참조하면서 본 발명의 매우 적합한 실시형태에 대해 설명했지만, 본 발명은 관계되는 예로 한정되지 않는 것은 말할 필요도 없다. 당업자라면, 특허 청구의 범위에 기재된 범주 내에 있어서, 각종의 변경 예 또는 수정 예에 상도 할 수 있는 것은 분명하고, 그것들에 대해서도 당연하게 본 발명의 기술적 범위에 속하는 것으로 이해된다.
예를 들면, 본 명세서의 콘텐츠 취득시스템(1)의 처리에 있어서의 각 스텝은, 반드시 순서도로서 기재된 순서에 따라서 시계열로 처리할 필요는 없다. 예를 들면, 콘텐츠 취득시스템(1)의 처리에 있어서의 각 스텝은, 병렬적 혹은 개별적으로 실행되는 처리(예를 들면, 병렬처리 혹은 오브젝트에 의한 처리)를 포함해도 좋다.
또, 노드(20)에 내장되는 CPU(201), ROM(202) 및 RAM(203) 등의 하드웨어를, 상술한 노드(20)의 각 구성요소와 동등의 기능을 발휘시키기 위한 컴퓨터 프로그램도 작성 가능하다. 또, 상기 컴퓨터 프로그램을 기억시킨 기억 매체도 제공된다. 또, 도 8의 기능 블럭도에서 나타낸 각각의 기능 블록을 하드웨어로 구성하는 것으로, 일련의 처리를 하드웨어로 실현할 수도 있다.
이상 설명한 바와 같이 본 발명에 관계되는 콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템에 의하면, 간략화된 예를 들면 RSS 피드 등의 제 1의 콘텐츠 정보의 기재에 의거하여 분할 데이터를 취득할 수 있다.

Claims (11)

  1. 제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터의 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함하는 제 1의 콘텐츠 정보를 수신하는 수신부와,
    상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 생성부와,
    상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 취득부를 갖추는 것을 특징으로 하는 콘텐츠 취득장치.
  2. 제 1항에 있어서,
    상기 분할 데이터 지정 정보에 의거하여 특정되는 소재 정보 기억장치에는 상기 분할 데이터의 소재를 나타내는 소재 정보가 기억되어 있고,
    상기 취득부는, 상기 분할 데이터 지정 정보에 의거하여 특정한 소재 정보 기억장치로부터 상기 분할 데이터의 소재 정보를 취득하고, 상기 소재 정보가 나타내는 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 것을 특징으로 하는 콘텐츠 취득장치.
  3. 제 2항에 있어서,
    상기 취득부에 의해 취득된 분할 데이터가 기록되는 기억부와,
    상기 분할 데이터의 상기 기억부에 있어서의 소재를 나타내는 소재 정보를, 상기 분할 데이터 지정 정보에 의거하여 특정되는 소재 정보 기억장치에 송신하는 송신부를 더 갖추는 것을 특징으로 하는 콘텐츠 취득장치.
  4. 제 2항에 있어서,
    상기 취득부는, 상기 분할 데이터 지정 정보에 의거하여 특정한 소재 정보 기억장치로부터 상기 분할 데이터의 소재 정보를 복수 취득한 경우, 복수의 소재 정보 중에서 1의 소재 정보를 선택하고, 선택한 소재 정보가 나타내는 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 것을 특징으로 하는 콘텐츠 취득장치.
  5. 제 2항에 있어서,
    상기 소재 정보 기억장치에는, 상기 소재 정보 기억장치의 고유 식별 정보의 해시값에 따른 해시값의 관리 범위가 할당되어 있고,
    상기 분할 데이터의 소재 정보의 각각은, 상기 분할 데이터를 나타내는 분할 데이터 지정 정보의 해시값을 관리 범위에 포함하는 소재 정보 기억장치에 분산적으로 기억되어 있는 것을 특징으로 하는 콘텐츠 취득장치.
  6. 제 1항에 있어서
    상기 생성부는, 기존의 순서 지어진 요소군에 포함되는 요소 중에서, 상기 분할수 정보가 나타내는 수에 따른 범위 내에 순서 지어져 있는 요소의 각각을 상기 데이터 정보에 부가함으로써 상기 분할수 정보가 나타내는 수의 상기 분할 데이터 지정 정보를 생성하는 것을 특징으로 하는 콘텐츠 취득장치.
  7. 제 1항에 있어서,
    수신부는, 상기 제 1의 콘텐츠 정보와 형식이 다르며, 제 2의 콘텐츠 데이터를 나타내는 제 2의 콘텐츠 정보를 더 수신하고,
    상기 취득부는, 상기 제 2의 콘텐츠 정보에 따라서 특정의 콘텐츠 기억장치로부터 상기 제 2의 콘텐츠 데이터를 취득하는 것을 특징으로 하는 콘텐츠 취득장치.
  8. 제 1항에 있어서,
    상기 제 1의 콘텐츠 지정 정보는 RSS 피드(feed)에 포함되는 것을 특징으로 하는 콘텐츠 취득장치.
  9. 컴퓨터를,
    제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터의 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 지 정 정보를 수신하는 수신부와,
    상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 생성부와,
    상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 취득부로서 기능시키기 위한 프로그램.
  10. 콘텐츠 취득장치에 있어서 실행되는 콘텐츠 취득방법이며,
    제 1의 콘텐츠 데이터를 분할하여 얻어지며, 각각이 1 또는 2 이상의 콘텐츠 기억장치의 어느 쪽인가에 기억되어 있는 분할 데이터의 수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 지정 정보를 수신하는 스텝과,
    상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 스텝과,
    상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 스텝을 포함하는 것을 특징으로 하는 콘텐츠 취득방법.
  11. 1 또는 2 이상의 콘텐츠 기억장치와, 콘텐츠 취득장치를 갖추는 콘텐츠 취득시스템이며,
    상기 콘텐츠 기억장치는,
    제 1의 콘텐츠 데이터를 분할하여 소정수의 분할 데이터를 얻는 분할부와,
    상기 분할 데이터의 각각을 기억하는 분할 데이터 기억부와,
    상기 소정수를 나타내는 분할수 정보와, 상기 제 1의 콘텐츠 데이터에 따른 데이터 정보를 포함한 제 1의 콘텐츠 지정 정보를 송신하는 통신부를 포함하고,
    상기 콘텐츠 취득장치는,
    상기 제 1의 콘텐츠 지정 정보를 수신하는 수신부와,
    상기 분할수 정보와 상기 데이터 정보에 의거하여, 상기 분할 데이터의 각각을 나타내는 분할 데이터 지정 정보를 상기 분할 데이터마다 생성하는 생성부와,
    상기 분할 데이터 지정 정보에 따라서 상기 1 또는 2 이상의 콘텐츠 기억장치로부터 상기 분할 데이터를 취득하는 취득부를 포함하는 것을 특징으로 하는 콘텐츠 취득시스템.
KR1020097021050A 2007-10-15 2008-10-14 콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템 KR20100081275A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-268410 2007-10-15
JP2007268410A JP4998196B2 (ja) 2007-10-15 2007-10-15 コンテンツ取得装置、プログラム、コンテンツ取得方法、およびコンテンツ取得システム

Publications (1)

Publication Number Publication Date
KR20100081275A true KR20100081275A (ko) 2010-07-14

Family

ID=40567363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097021050A KR20100081275A (ko) 2007-10-15 2008-10-14 콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템

Country Status (6)

Country Link
US (1) US20100223436A1 (ko)
EP (1) EP2202642A4 (ko)
JP (1) JP4998196B2 (ko)
KR (1) KR20100081275A (ko)
CN (1) CN101657800B (ko)
WO (1) WO2009051099A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903906B2 (en) 2010-03-16 2014-12-02 Brother Kogyo Kabushiki Kaisha Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
JP5423497B2 (ja) * 2010-03-16 2014-02-19 ブラザー工業株式会社 情報通信システム、ノード装置、情報通信方法、及びプログラム
JP5234041B2 (ja) * 2010-03-31 2013-07-10 ブラザー工業株式会社 情報通信システム、ノード装置および情報処理方法ならびにノード装置用プログラム
US9792381B2 (en) * 2010-06-28 2017-10-17 Here Global B.V. Method and apparatus for a paged update protocol
US10511887B2 (en) 2010-08-30 2019-12-17 Saturn Licensing Llc Reception apparatus, reception method, transmission apparatus, transmission method, program, and broadcasting system
US20130159547A1 (en) * 2010-09-02 2013-06-20 Nec Corporation Data transfer system
JP5775359B2 (ja) * 2011-05-11 2015-09-09 キヤノン株式会社 システム管理サーバ、管理方法及びプログラム
US9113230B2 (en) * 2011-12-21 2015-08-18 Sony Corporation Method, computer program, and reception apparatus for delivery of supplemental content
KR102267861B1 (ko) 2012-06-19 2021-06-23 소니그룹주식회사 대화형 텔레비전을 위한 트리거 파라미터 테이블의 확장
JP5799967B2 (ja) * 2013-03-01 2015-10-28 トヨタ自動車株式会社 データ送信装置、データ共有システム、データ共有方法、およびメッセージ交換システム
CN103906046A (zh) * 2014-04-17 2014-07-02 上海电机学院 一种基于身份隐藏的安全点对点按需路由方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US20050138655A1 (en) * 2003-12-22 2005-06-23 Randy Zimler Methods, systems and storage medium for managing digital rights of segmented content
CA2564959A1 (en) * 2004-05-07 2005-11-24 Home Box Office, Inc. Method and system for secure distribution of content over a communications network
US8434118B2 (en) * 2004-05-27 2013-04-30 Time Warner Cable Enterprises Llc Playlist menu navigation
JP2006173759A (ja) * 2004-12-13 2006-06-29 Canon Inc 蓄積制御装置、受信装置、蓄積制御方法
JP2006285328A (ja) * 2005-03-31 2006-10-19 Brother Ind Ltd ノード装置、情報配信システム、情報利用方法および情報利用プログラム
JP4848756B2 (ja) 2005-12-15 2011-12-28 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8566872B2 (en) * 2006-02-22 2013-10-22 Access Co., Ltd. Broadcasting system and program contents delivery system
US7925781B1 (en) * 2006-05-26 2011-04-12 The Hong Kong University Of Science And Technology Distributed storage to support user interactivity in peer-to-peer video streaming
JP2008181281A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd ピア・ツー・ピア通信を行うネットワークシステム
US20080235331A1 (en) * 2007-01-26 2008-09-25 Sharon Melamed Scheduling synchronized demand for p2p networks
US8560654B2 (en) * 2007-02-02 2013-10-15 Hewlett-Packard Development Company Change management
US8046453B2 (en) * 2007-09-20 2011-10-25 Qurio Holdings, Inc. Illustration supported P2P media content streaming
US8752100B2 (en) * 2008-08-29 2014-06-10 At&T Intellectual Property Ii, Lp Systems and methods for distributing video on demand

Also Published As

Publication number Publication date
JP2009098817A (ja) 2009-05-07
WO2009051099A1 (ja) 2009-04-23
JP4998196B2 (ja) 2012-08-15
CN101657800A (zh) 2010-02-24
CN101657800B (zh) 2012-01-11
EP2202642A1 (en) 2010-06-30
US20100223436A1 (en) 2010-09-02
EP2202642A4 (en) 2014-10-15

Similar Documents

Publication Publication Date Title
KR20100081275A (ko) 콘텐츠 취득장치, 프로그램, 콘텐츠 취득방법 및 콘텐츠 취득시스템
CN100468561C (zh) 便携式播放列表
JP4998197B2 (ja) コンテンツ取得装置、プログラム、コンテンツ取得方法、およびコンテンツ取得システム
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
KR101963753B1 (ko) 음악의 분절별 동영상 재생 방법 및 장치
JP2006059133A (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
KR102121245B1 (ko) 복수의 블록체인망들 간의 데이터 공유 시스템 및 방법
US9223940B2 (en) Merchandising media based on ownership audit
US11769532B2 (en) Generation and distribution of a digital mixtape
US20220188062A1 (en) Skip behavior analyzer
WO2006133737A1 (en) Method for setting up a network of mobile or stationary devices
US20120109347A1 (en) Content Replay System, Control Device and Replay Device
KR20140056636A (ko) 플레이리스트 공유를 통한 컨텐츠 추천 시스템 및 방법
JP5071262B2 (ja) 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP5293670B2 (ja) 情報処理装置、情報処理プログラム、情報処理方法、及び配信システム
JP2015064924A (ja) コンテンツ再生システム、制御装置及び再生装置
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム
KR101679390B1 (ko) 태그 기반 컨텐츠 목록 제공 방법 및 이를 위한 장치
JP5234041B2 (ja) 情報通信システム、ノード装置および情報処理方法ならびにノード装置用プログラム
KR102131306B1 (ko) 데이터관리장치, 데이터관리방법 및 데이터관리시스템
WO2018167951A1 (ja) コンテンツ再生機器、コンテンツ再生方法、及びコンテンツ再生システム
JP2012018564A (ja) 通信システム、情報処理装置、情報処理方法、およびプログラム
JP2013012231A (ja) サーバ及びデータ配信システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application