KR100903258B1 - 네트워크형 콘텐츠 재생 시스템 - Google Patents

네트워크형 콘텐츠 재생 시스템 Download PDF

Info

Publication number
KR100903258B1
KR100903258B1 KR1020047016490A KR20047016490A KR100903258B1 KR 100903258 B1 KR100903258 B1 KR 100903258B1 KR 1020047016490 A KR1020047016490 A KR 1020047016490A KR 20047016490 A KR20047016490 A KR 20047016490A KR 100903258 B1 KR100903258 B1 KR 100903258B1
Authority
KR
South Korea
Prior art keywords
client
delete delete
server
content
content server
Prior art date
Application number
KR1020047016490A
Other languages
English (en)
Other versions
KR20050003371A (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 KR20050003371A publication Critical patent/KR20050003371A/ko
Application granted granted Critical
Publication of KR100903258B1 publication Critical patent/KR100903258B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Abstract

본 네트워크형 오디오 시스템은, 다수의 음악 데이터를 축적하고 있는 콘텐츠 서버와, 음악을 재생하는 오디오 클라이언트와, 콘텐츠 서버 경유로 오디오 클라이언트를 감시하며 또한 제어하는 컨트롤러를 구비한다. 오디오 클라이언트는, 유저의 조작에 따라 선택된 곡의 음악 데이터를 콘텐츠 서버에 요구한다.
콘텐츠 서버는, 오디오 클라이언트로부터의 요구에 따라 선택된 곡의 음악 데이터를 오디오 클라이언트에게 회신한다. 음악 데이터는 콘텐츠 서버로부터 오디오 클라이언트에게 지정량씩 배신된다. 오디오 클라이언트는 자신의 스테이터스를 콘텐츠 서버에 보고한다. 콘텐츠 서버는 오디오 클라이언트의 스테이터스를 컨트롤러에 통지한다. 컨트롤러는 그 스테이터스를 표시한다. 컨트롤러는 또한, 유저의 조작에 따라 선택된 곡을 오디오 클라이언트에게 재생하도록 콘텐츠 서버 경유로 오디오 클라이언트에게 명령한다.
Figure R1020047016490
콘텐츠 재생, 네트워크형

Description

네트워크형 콘텐츠 재생 시스템{NETWORK TYPE CONTENT REPRODUCTION SYSTEM}
본 발명은, 네트워크형 콘텐츠 재생 시스템에 관한 것으로, 더욱 상세하게는, 서버와 서버에 접속된 클라이언트와 서버에 접속된 컨트롤러를 구비한 네트워크형 콘텐츠 재생 시스템에 관한 것이다.
종래의 전형적인 오디오 시스템은, 매체로부터 음악 데이터를 판독하고, 그 음악 데이터에 의거하여 음악을 재생하는 것이다. 이와 같은 오디오 시스템은 기본적으로 각 방에 하나씩 설치하여야 하기 때문에, 전체로서 고가로 된다. 이에 대해, 1개소에 모든 음악 데이터를 축적하여 두고, 각 방에서 선택된 음악을 재생하는 것이 가능한 집중형 오디오 시스템도 제공되어 있다.
그러나, 상기 집중형 오디오 시스템에서는, 음악 신호용의 배선이나 제어 신호용의 배선 등, 다수의 배선을 각 방에 깔아야 한다. 또한, 하나의 곡을 각 방에서 동시에 재생하는 것은 가능하지만, 어떤 곡을 어떤 방에서 한찬 재생하고 있을 때, 같은 곡을 다른 방에서 최초부터 재생할 수는 없다.
또한, 범용의 퍼스널 컴퓨터에 음악 재생용의 어플리케이션 프로그램을 인스톨하면, 인터넷상의 사이트로부터 음악 데이터를 취득하고, 음악을 재생하는 것은 가능하지만, 수신이 끝난 데이터에 대해서 밖에, 음악 CD와 같이, 곡을 도중에서 재생하거나, 빨리 감거나, 빨리 되감거나 할 수는 없다. 즉, 아직 수신하지 않은 데이터에 대해서는, 특수 재생을 할 수 없다.
본 발명의 하나의 목적은, 서버에 축적된 음성이나 영상 등의 콘텐츠를 클라이언트가 자유롭게 선택하여 재생하는 것이 가능한 네트워크형 콘텐츠 재생 시스템을 제공하는 것이다.
본 발명의 또 하나의 목적은, 클라이언트가 아직 수신하지 않은 데이터에 대해서도, 도중에 재생하는 등, 유저가 자유롭게 재생하는 것이 가능한 네트워크형 콘텐츠 재생 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은, 클라이언트 서버 환경하에 있어서 클라이언트에 의한 콘텐츠의 연속 재생을 가능하게 한 네트워크형 콘텐츠 재생 시스템을 제공하는 것이다.
본 발명의 또한 또 다른 목적은, 클라이언트에의 연속 재생 명령의 경합을 배제한 네트워크형 콘텐츠 재생 시스템을 제공하는 것이다.
본 발명의 또한 또 하나의 목적은, 서버와의 접속이 절단되어도 신속하게 접속을 회복할 수 있는 자동 접속 회복 기능이 있는 클라이언트를 제공한 것이다.
본 발명에 의한 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 접속된 적어도 하나의 제 1의 클라이언트를 구비한다. 서버는, 복수의 콘텐츠(음악 콘텐츠, 영상 콘텐츠 등)를 축적하는 축적 수단을 포함한다. 제 1의 클라이언트는, 복수의 콘텐츠 중에서 선택된 콘텐츠를 서버에 요구하는 콘텐츠 요구 수단을 포함한 다. 서버는 또한, 제 1의 클라이언트로부터의 요구에 따라 선택된 콘텐츠를 제 1의 클라이언트에게 회신하는 콘텐츠 회신 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 회신된 콘텐츠를 재생하는 재생 수단을 포함한다.
본 네트워크형 콘텐츠 재생 시스템에서는, 서버에 축적된 다수의 콘텐츠 중에서 소망하는 콘텐츠가 클라이언트의 요구에 따라 선택된다. 선택된 콘텐츠는 서버로부터 클라이언트에게 송신되고, 그 콘텐츠가 재생된다. 그 때문에, 서버에 축적된 복수의 콘텐츠를 클라이언트가 자유롭게 선택하여 재생할 수 있다.
상기 콘텐츠가 음악 콘텐츠인 경우, 서버에 축적된 다수의 곡 중에서 소망하는 곡이 제 1의 클라이언트의 요구에 따라 선택된다. 선택된 곡의 데이터는 서버로부터 제 1의 클라이언트에게 송신되고, 그 데이터에 의거하여 선택된 곡이 재생된다. 그 때문에, 서버에 축적된 복수의 곡을 제 1의 클라이언트가 자유롭게 선택하여 재생할 수 있다.
바람직하게는, 제 1의 클라이언트는, 벽에 매설되는 콘센트 박스에 부착된다.
이 경우, 유저는 방의 내부에 제 1의 클라이언트를 설치하지 않아도, 그 방에서 음악을 듣거나, 영상을 보거나 할 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 복수의 콘텐츠를 열거한 콘텐츠 리스트를 서버에 요구하는 콘텐츠 리스트 요구 수단을 포함한다. 서버는 또한, 제 1의 클라이언트로부터의 요구에 따라 콘텐츠 리스트를 회신하는 콘텐츠 리스트 회신 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 회신된 콘텐츠 리스트 를 수신하는 콘텐츠 리스트 수신 수단을 포함한다. 콘텐츠 요구 수단은, 요구하여야 할 콘텐츠를 콘텐츠 리스트 중에서 선택한다.
이 경우, 제 1의 클라이언트는, 서버로부터 콘텐츠 리스트를 취득하고, 그 중에서 소망하는 콘텐츠를 선택하여 재생할 수 있다.
또한 바람직하게는, 콘텐츠 리스트 요구 수단은, 지정량의 콘텐츠 리스트, 바람직하게는 콘텐츠 리스트의 일부를 서버에 요구한다. 콘텐츠 리스트 회신 수단은, 제 1의 클라이언트로부터의 요구에 따라, 지정량의 콘텐츠 리스트, 바람직하게는 콘텐츠 리스트의 일부를 회신한다.
이 경우, 콘텐츠 리스트의 일부밖에 서버로부터 제 1의 클라이언트에게 송신되지 않기 때문에, 제 1의 클라이언트에 있어서 콘텐츠 리스트를 기억해 두기 위해 필요한 메모리 용량을 작게 할 수 있다.
또한 바람직하게는, 콘텐츠 리스트 요구 수단은, 제 1의 클라이언트가 서버로부터 취득하고자 하는 최초의 콘텐츠를 나타내는 취득 시작 인덱스와, 제 1의 클라이언트가 서버로부터 취득하고자 하는 콘텐츠의 수를 나타내는 취득 개수를 포함하는 리스트 요구 커맨드를 송신한다. 콘텐츠 리스트 회신 수단은, 리스트 요구 커맨드에 응답하여, 취득 시작 인덱스가 나타내는 최초의 콘텐츠로부터 취득 개수분의 콘텐츠를 포함하는 콘텐츠 리스트를 회신한다.
또한 바람직하게는, 콘텐츠 리스트 회신 수단은 또한, 회신하는 콘텐츠 리스트에 포함되는 콘텐츠 수와, 콘텐츠 리스트 이후의 나머지 콘텐츠 수를 회신한다.
이 경우, 제 1의 클라이언트는, 아직 취득하지 않은 콘텐츠 리스트의 나머지 콘텐츠 수를 인식할 수 있기 때문에, 나머지 콘텐츠 리스트를 서버에 요구할 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 복수의 카테고리를 열거한 카테고리 리스트를 서버에 요구하는 카테고리 리스트 요구 수단을 포함한다. 서버는 또한, 제 1의 클라이언트로부터의 요구에 따라 카테고리 리스트를 회신하는 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 회신된 카테고리 리스트를 수신하는 수단을 포함한다. 콘텐츠 리스트 요구 수단은, 요구하고자 하는 콘텐츠 리스트의 콘텐츠가 속하는 카테고리를 수신된 카테고리 리스트 중에서 선택한다.
이 경우, 제 1의 클라이언트는, 서버로부터 최초에 카테고리 리스트를 취득하고, 그 중에서 소망하는 카테고리를 선택한다. 계속해서, 제 1의 클라이언트는, 서버로부터 콘텐츠 리스트를 취득하고, 그 중에서 소망하는 콘텐츠를 선택한다. 따라서, 다수의 콘텐츠 중에서 소망하는 콘텐츠를 서서히 좁혀서 선택할 수 있다.
바람직하게는, 콘텐츠 리스트 요구 수단은, 콘텐츠 리스트를 작성하기 위해 필요한 리스트 구축 키를 서버에 송신한다. 콘텐츠 리스트 회신 수단은, 리스트 구축 키에 의거하여 콘텐츠 리스트를 작성한다.
이 경우, 제 1의 클라이언트는, 콘텐츠 리스트가 필요한 때에 리스트 구축 키를 서버에 송신하면 콘텐츠 리스트를 취득할 수 있기 때문에, 취득한 콘텐츠 리스트를 기억하여 둘 필요는 없다.
바람직하게는, 콘텐츠 요구 수단은, 미리 정해진 양의 콘텐츠를 서버에 요구한다. 콘텐츠 회신 수단은, 제 1의 클라이언트로부터의 요구에 따라, 미리 정해진 양의 콘텐츠를 회신한다. 콘텐츠 요구 수단은, 콘텐츠의 전부를 취득할 때까지 콘텐츠의 요구를 반복한다.
이 경우, 콘텐츠의 일부밖에 서버로부터 제 1의 클라이언트에게 송신되지 않기 때문에, 제 1의 클라이언트에 있어서 콘텐츠를 기억해 두기 위해 필요한 메모리 용량을 작게 할 수 있다.
또한 바람직하게는, 콘텐츠 요구 수단은, 미리 정해진 양의 콘텐츠의 최초의 어드레스를 나타내는 취득 시작 어드레스를 산출하여 서버에 송신한다. 콘텐츠 회신 수단은, 제 1의 클라이언트로부터 송신된 취득 시작 어드레스로부터 미리 정해진 양의 콘텐츠를 회신한다.
또한 바람직하게는, 콘텐츠 요구 수단은, 취득 시작 어드레스와, 제 1의 클라이언트가 서버로부터 취득하고자 하는 콘텐츠의 길이를 나타내는 취득 데이터 길이를 포함하는 콘텐츠 전송 요구 커맨드를 송신한다. 콘텐츠 회신 수단은, 콘텐츠 전송 요구 커맨드에 응답하여, 취득 시작 어드레스로부터 취득 데이터 길이분의 콘텐츠를 회신한다.
이 경우, 취득 시작 어드레스를 임의로 설정함에 의해, 클라이언트가 미수신의 콘텐츠에 대해서도 특수 재생을 할 수 있다.
또한 바람직하게는, 콘텐츠 요구 수단은, 취득 데이터 길이를 앞의 취득 시작 어드레스에 가산하여 다음의 취득 시작 어드레스를 산출한다.
또한 바람직하게는, 제 1의 클라이언트는 또한, 유저의 조작에 따라 제 1 및 제 2의 어드레스를 설정하는 수단과, 산출된 취득 시작 어드레스가 제 2의 어드레 스를 초과한 때, 취득 시작 어드레스를 제 1의 어드레스에 설정하는 수단을 포함한다.
이 경우, 제 1의 클라이언트는 제 1의 어드레스로부터 제 2의 어드레스까지의 콘텐츠를 반복 취득하여 재생할 수 있다.
또한, 제 1의 클라이언트는 나아가, 유저의 조작에 따라 소망하는 어드레스를 설정하는 수단과, 취득 시작 어드레스를 소망하는 어드레스에 설정하는 수단을 포함한다.
이 경우, 제 1의 클라이언트는 소망하는 어드레스로부터 콘텐츠를 취득하여 도중에서 재생할 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 유저의 조작에 따라 소정의 스킵 양을 설정하는 수단과, 취득 시작 어드레스를 설정된 스킵 양만큼 시프트하는 수단을 포함한다.
이 경우, 제 1의 클라이언트는, 서버로부터 콘텐츠를 비연속적으로 취득하고, 이로써 빨리 감거나 빨리 되감기 재생을 행할 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 선택된 콘텐츠의 식별 정보를 서버에 송신하는 수단을 포함한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 식별 정보에 응답하여 선택된 콘텐츠의 오프셋을 제 1의 클라이언트에게 회신하는 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 회신된 오프셋에 의거하여 선택된 콘텐츠의 시작을 검지하는 수단을 포함한다.
이 경우, 제 1의 클라이언트는, 서버로부터 송신된 콘텐츠의 오프셋에 의거 하여 콘텐츠의 시작을 검지하기 때문에, 콘텐츠를 곧바로 재생할 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 선택된 콘텐츠의 식별 정보를 서버에 송신하는 수단을 포함한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 식별 정보에 응답하여 선택된 콘텐츠의 사이즈를 제 1의 클라이언트에게 회신하는 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 회신된 사이즈에 의거하여 선택된 콘텐츠의 끝을 검지하는 수단을 포함한다.
이 경우, 제 1의 클라이언트는, 서버로부터 송신된 콘텐츠의 사이즈에 의거하여 콘텐츠의 끝을 검지하기 때문에, 콘텐츠의 재생을 곧바로 종료할 수 있다.
바람직하게는, 콘텐츠 요구 수단은, 지정량의 콘텐츠를 서버에 요구한다. 콘텐츠 회신 수단은, 제 1의 클라이언트로부터의 요구에 따라 지정량의 콘텐츠를 회신한다. 콘텐츠 요구 수단은, 서버에 요구하는 콘텐츠의 지정량을 변화시킨다.
이 경우, 제 1의 클라이언트는, 서버의 부하가 큰 때는 콘텐츠의 지정량을 적게 하고, 서버의 부하가 작은 때는 콘텐츠의 지정량을 많이 하는 등, 서버의 부하에 따라 취득하는 콘텐츠의 양을 적절하게 조정할 수 있다.
또한, 서버는 클라이언트가 지정한 「곡 데이터의 일부」만을 회신하기 때문에, 클라이언트는 지정하는 「곡 데이터의 일부」를 임의로 변경함에 의해, 클라이언트가 미수신의 데이터에 대해서도, 특수 재생(예를 들면, 빨리 감기, 빨리되감기, 도중에서의 재생 등)을 할 수 있다. 또한, 서버는 「곡 데이터의 일부」밖에 송신하지 않기 때문에, 클라이언트가 수신을 실패한 경우 등에는, 그 실패한 부분만을 재차 서버로부터 수신하면 좋고, 수신 실패시의 처리를 빨리할 수 있다.
또한, 클라이언트가 요구하는 곡의 포맷이 압축 데이터(MP3 등)라면, 데이터의 지정량을 작게 함에 의해, 서버의 부하를 경감할 수 있다. 압축 데이터는, 재생시에 디코드됨에 의해, 데이터량이 커지기 때문이다.
바람직하게는, 제 1의 클라이언트는 또한, 자신에 관한 클라이언트 정보가 변화할 때마다 그 클라이언트 정보를 서버에 송신하는 수단을 포함한다.
이 경우, 클라이언트 정보는 제 1의 클라이언트로부터 서버에 항상 송신되는 것은 아니고, 변화가 있을 때만 송신된다. 그 때문에, 서버는, 네트워크 트래픽을 증대시키는 일 없이, 제 1의 클라이언트의 최신의 클라이언트 정보를 관리할 수 있다.
바람직하게는, 네트워크형 콘텐츠 재생 시스템은 또한, 서버와 네트워크를 통하여 접속되고, 제 1의 클라이언트를 감시하는 제 2의 클라이언트를 구비한다.
이 경우, 유저는, 제 1의 클라이언트와 다른 제 2의 클라이언트로 제 1의 클라이언트의 동작 상태 등을 알 수 있다.
또한 바람직하게는, 제 1의 클라이언트는 또한, 자신에 관한 클라이언트 정보를 서버에 송신하는 수단을 포함한다. 서버는, 제 1의 클라이언트로부터 송신된 클라이언트 정보를 수신하는 수단과, 수신한 클라이언트 정보를 제 2의 클라이언트에게 송신하는 수단을 포함한다. 제 2의 클라이언트는, 서버로부터의 클라이언트 정보를 수신하는 수단을 포함한다.
이 경우, 유저는, 제 1의 클라이언트와 다른 제 2의 클라이언트로 제 1의 클라이언트에 관한 정보, 예를 들면, 서버와의 접속 상태, 클라이언트 타입, 현재의 동작 상태, 현재의 음량 등을 알 수 있다.
바람직하게는, 서버는, 제 2의 클라이언트에게 요구를 강제적으로 송신하기 위한 푸시 포트를 통하여, 클라이언트 정보를 제 2의 클라이언트에게 송신한다.
이 경우, 서버는, 제 2의 클라이언트로부터 요구가 없어도, 클라이언트 정보를 제 2의 클라이언트에게 송신할 수 있다.
바람직하게는, 제 2의 클라이언트는 또한, 수신한 클라이언트 정보를 표시하는 수단과, 수신한 클라이언트 정보가 변경되어 있을 때, 그 클라이언트 정보의 표시를 변경하는 수단을 포함한다.
바람직하게는, 제 2의 클라이언트는 또한, 복수의 콘텐츠를 열거한 콘텐츠 리스트를 서버에 요구하는 콘텐츠 리스트 요구 수단을 포함한다. 서버는 또한, 제 2의 클라이언트로부터의 요구에 따라 콘텐츠 리스트를 회신하는 콘텐츠 리스트 회신 수단을 포함한다. 제 2의 클라이언트는 또한, 서버로부터 회신된 콘텐츠 리스트를 수신하는 콘텐츠 리스트 수신 수단을 포함한다.
바람직하게는, 클라이언트 정보는 콘텐츠 리스트를 작성하기 위해 필요한 리스트 구축 키를 포함한다. 콘텐츠 리스트 요구 수단은, 수신된 클라이언트 정보에 포함되는 리스트 구축 키가 변경되어 있을 때, 그 리스트 구축 키를 서버에 송신한다. 콘텐츠 리스트 회신 수단은, 제 2의 클라이언트로부터 송신된 리스트 구축 키에 의거하여 콘텐츠 리스트를 작성한다.
바람직하게는, 제 2의 클라이언트는, 서버에 접속되었을 때, 서버로부터 송신된 클라이언트 정보를 수신한다.
이 경우, 제 2의 클라이언트는, 전원이 투입되면, 서버에 접속되기 때문에, 서버로부터 제 1의 클라이언트에 관한 클라이언트 정보를 취득할 수 있다.
또한 바람직하게는, 클라이언트 정보는 콘텐츠 리스트를 작성하기 위해 필요한 리스트 구축 키를 포함한다. 콘텐츠 리스트 요구 수단은, 수신된 클라이언트 정보에 포함되는 리스트 구축 키를 서버에 송신한다. 콘텐츠 리스트 회신 수단은, 제 2의 클라이언트로부터 송신된 리스트 구축 키에 의거하여 콘텐츠 리스트를 작성한다.
이 경우, 제 2의 클라이언트는, 가령 제 1의 클라이언트에게 콘텐츠의 재생을 명령한 후에 전원이 끊어져서, 재생중 콘텐츠 리스트를 소실하였다 하여도, 전원의 재투입시에 리스트 구축 키를 취득한다. 따라서 제 2의 클라이언트는 이 취득한 리스트 구축 키를 서버에 송신하면, 서버로부터 잃어버린 콘텐츠 리스트를 재차 취득할 수 있다.
바람직하게는, 클라이언트 정보는, 제 1의 클라이언트에 의해 재생 가능한 콘텐츠의 데이터 포맷의 명칭을 포함한다. 제 2의 클라이언트는, 수신된 클라이언트 정보에 의거하여 제 1의 클라이언트에 의해 재생 가능한 콘텐츠의 데이터 포맷의 명칭을 표시하는 수단을 포함한다.
이 경우, 유저는, 제 1의 클라이언트와 다른 제 2의 클라이언트로, 제 1의 클라이언트에게서 재생 가능한 데이터 포맷을 알 수 있다.
또한 바람직하게는, 제 2의 클라이언트는 또한, 복수의 콘텐츠를 열거한 콘텐츠 리스트를 서버로부터 취득하는 수단과, 취득한 콘텐츠 리스트에 포함되는 콘 텐츠중, 제 1의 클라이언트에 의해 재생 가능한 콘텐츠를 표시하고, 제 1의 클라이언트에 의해 재생 불가능한 콘텐츠를 표시하지 않거나 또는 재생 가능한 콘텐츠와 다른 양태로 표시하는 수단을 포함한다.
이 경우, 제 1의 클라이언트에게서 재생 불가능한 콘텐츠는 표시되지 않기 때문에, 유저가 그 콘텐츠를 선택하는 것을 방지할 수 있다.
바람직하게는, 제 2의 클라이언트는, 감시하고자 하는 클라이언트가 제 1의 클라이언트인지를 판별하는 수단을 포함한다.
이 경우, 제 2의 클라이언트가 감시하고자 하는 클라이언트가 제 1의 클라이언트가 아니면 감시하려고 하지 않기 때문에, 오동작을 방지할 수 있다.
바람직하게는, 제 2의 클라이언트는, 제 1의 클라이언트를 감시하기 위해 필요한 감시 핸들을 취득하는 수단과, 감시 핸들을 취득한 때 제 1의 클라이언트를 감시하는 수단을 포함한다.
이 경우, 감시 핸들을 취득하지 않은 제 2의 클라이언트는 제 1의 클라이언트를 감시하지 않기 때문에, 네트워크 트래픽을 저감할 수 있다.
바람직하게는, 네트워크형 콘텐츠 재생 시스템은 또한, 서버와 네트워크를 통하여 접속되고, 제 1의 클라이언트를 제어하는 제 2의 클라이언트를 구비한다.
또한 바람직하게는, 제 2의 클라이언트는, 제 1의 클라이언트를 제어하도록 서버에 요구하는 서버 리퀘스트 수단을 포함한다. 서버는 또한, 제 2의 클라이언트로부터의 요구에 따라 제 1의 클라이언트를 제어하는 수단을 포함한다.
이 경우, 유저는, 제 1의 클라이언트와 다른 제 2의 클라이언트로부터 서버 를 통하여 제 1의 클라이언트를 제어할 수 있다.
바람직하게는, 서버 리퀘스트 수단은, 제 1의 클라이언트를 특정하기 위한 정보와, 선택된 콘텐츠를 특정하기 위한 정보를 서버에 송신한다.
이 경우, 유저는, 소망하는 콘텐츠를 제 1의 클라이언트에게 재생시킬 수 있다.
바람직하게는, 제 2의 클라이언트는, 제어하고자 하는 클라이언트가 제 1의 클라이언트인지를 판별하는 수단을 포함한다.
이 경우, 제 2의 클라이언트가 제어하고자 하는 클라이언트가 제 1의 클라이언트가 아니면 제어하려고 하지 않기 때문에, 오동작을 방지할 수 있다.
바람직하게는, 제 2의 클라이언트는, 선택된 콘텐츠의 데이터 포맷이 제 1의 클라이언트에 의해 재생 가능한 콘텐츠의 데이터 포맷에 일치하였는지의 여부를 판별하는 수단과, 데이터 포맷이 일치하는 경우, 선택된 콘텐츠의 데이터에 의거하여 콘텐츠를 재생하도록 제 1의 클라이언트에게 명령하는 수단을 포함한다.
이 경우, 제 2의 클라이언트는, 제 1의 클라이언트에게서 재생 가능한 콘텐츠에 한하여, 콘텐츠의 재생을 명령하기 때문에, 오동작을 방지할 수 있다.
바람직하게는, 제 2의 클라이언트는, 제 1의 클라이언트를 제어하기 위해 필요한 제어 핸들을 취득하는 수단과, 제어 핸들을 취득한 때 제 1의 클라이언트를 제어하는 수단을 포함한다.
이 경우, 제어 핸들을 취득하지 않은 제 2의 클라이언트는 제 1의 클라이언트를 제어하지 않기 때문에, 네트워크 트래픽을 저감할 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 제 2의 클라이언트에 의해 명령된 콘텐츠를 재생 끝마친 경우, 완료 스테이터스(status)를 서버에 송신하고, 스스로가 선택한 콘텐츠를 재생 끝마친 경우, 또는 유저의 조작에 따라 콘텐츠의 도중에 재생을 끝마친 경우, 완료 스테이터스와 다른 정지 스테이터스를 서버에 송신하는 수단을 포함한다.
이 경우, 서버는, 완료 스테이터스와 정지 스테이터스를 구별함에 의해, 제 1의 클라이언트가 제 2의 클라이언트에 의해 명령된 콘텐츠를 재생 끝마친 것인지, 그렇지 않으면 스스로가 선택한 콘텐츠를 재생 끝마쳤는지 또는 유저의 조작에 따라 콘텐츠의 도중에 재생을 끝마친 것인가를 판별할 수 있다.
바람직하게는, 서버는, 제 1의 클라이언트로부터 송신된 완료 스테이터스를 수신하고, 제 2의 클라이언트에게 송신하는 수단을 포함한다. 제 2의 클라이언트는, 서버로부터 송신된 완료 스테이터스에 응답하여, 재생 끝마친 콘텐츠의 다음의 콘텐츠를 재생하도록 제 1의 클라이언트에게 명령하는 수단을 포함한다.
이 경우, 콘텐츠의 재생을 끝마친 제 1의 클라이언트는, 그 콘텐츠의 재생을 명령한 제 2의 클라이언트에게 완료 스테이터스를 송신하기 때문에, 제 2의 클라이언트는 콘텐츠 리스트에 따라 제 1의 클라이언트에게 콘텐츠를 연속적으로 재생시킬 수 있다.
바람직하게는, 네트워크형 콘텐츠 재생 시스템은 또한, 서버와 네트워크를 통하여 접속되고, 제 1의 클라이언트를 제어하는 복수의 제 2의 클라이언트를 구비한다. 제 2의 클라이언트의 각각은, 콘텐츠를 재생하도록 제 1의 클라이언트에게 명령하는 재생 명령 수단을 포함한다. 제 1의 클라이언트의 콘텐츠 재생 수단은, 제 2의 클라이언트로부터의 명령에 따라 콘텐츠를 재생한다. 제 1의 클라이언트는 또한, 콘텐츠를 재생 끝마친 때 완료 스테이터스를 서버에 송신하는 수단을 포함한다. 서버는, 제 1의 클라이언트로부터 송신된 완료 스테이터스를 수신하고, 복수의 제 2의 클라이언트중, 제 1의 클라이언트에게 명령한 제 2의 클라이언트에게 완료 스테이터스를 송신하고, 해당 다른 제 2의 클라이언트에게 정지 스테이터스를 송신하는 수단을 포함한다. 제 2의 클라이언트의 재생 명령 수단은, 서버로부터 송신된 완료 스테이터스에 응답하여, 재생 끝마친 콘텐츠의 다음의 콘텐츠를 재생하도록 제 1의 클라이언트에게 명령한다.
이 경우, 콘텐츠의 재생을 끝마친 제 1의 클라이언트는, 그 콘텐츠의 재생을 명령한 해당 제 2의 클라이언트에게 서버를 통하여 완료 스테이터스를 송신하기 때문에, 해당 제 2의 클라이언트는 올바르게 제 1의 클라이언트에게 연속 재생을 명령한다. 한편, 서버는 해당 다른 제 2의 클라이언트에게 정지 스테이터스를 송신하기 때문에, 해당 다른 제 2의 클라이언트는 제 1의 클라이언트는 동작 정지 상태로 인식하고, 잘못하여 제 1의 클라이언트에게 연속 재생을 명령하는 일은 없다.
바람직하게는, 제 1의 클라이언트는 또한, 소정 정보를 브로드캐스트하는 브로드캐스트 수단을 포함한다. 서버는, 제 1의 클라이언트로부터 브로드캐스트된 소정 정보에 응답하여, 자신을 특정하기 위한 서버 특정 정보를 제 1의 클라이언트에게 회신하는 수단을 포함한다. 제 1의 클라이언트는, 서버로부터 회신된 서버 특정 정보를 수신하여 서버 리스트에 등록하는 수단을 포함한다.
본 네트워크형 콘텐츠 재생 시스템에서는, 클라이언트가 소정 정보를 네트워크에 브로드캐스트하고, 네트워크에 접속되어 있는 서버가 존재하면, 그 서버가 서버 특정 정보(IP 어드레스, 포트 번호 등)를 그 클라이언트에게 알린다. 그 때문에, 클라이언트는 네트워크상에 존재하는 서버를 찾아낼 수 있다.
바람직하게는, 제 1의 클라이언트는 또한, 서버 리스트에 서버 특정 정보가 등록되어 있는지의 여부를 판별하는 수단을 포함한다. 판별의 결과, 서버 리스트에 서버 특정 정보가 등록되어 있지 않은 경우, 브로드캐스트 수단은 소정 정보를 재차 브로드캐스트한다.
이 경우, 제 1의 클라이언트는, 서버 리스트에 하나도 서버 특정 정보가 등록되어 있지 않다면 재차 서버를 찾기 시작하기 때문에, 적어도 하나의 서버를 찾을 때까지 계속 찾는다.
바람직하게는, 제 1의 클라이언트는 또한, 브로드캐스트 수단에 의한 브로드캐스트의 회수가 소정 회수에 도달한 때, 또는 브로드캐스트 수단에 의한 브로드캐스트의 시간이 소정 시간에 도달한 때, 인터넷상의 서버에 액세스하는 수단을 포함한다.
이 경우, 제 1의 클라이언트는, 로컬의 네트워크상에 서버가 전혀 존재하지 않은 경우에 서버를 계속 찾는 일은 없고, 그 경우는 인터넷상의 서버를 찾아낼 수 있다.
바람직하게는, 제 1의 클라이언트는, 서버와 제 1의 클라이언트와의 사이에서 커맨드를 송수신하기 위한 커맨드 포트로 접속을 확립하는 수단과, 서버로부터 제 1의 클라이언트에게 요구를 강제적으로 송신하기 위한 푸시 포트로 접속을 확립하는 수단을 포함한다.
본 네트워크형 콘텐츠 재생 시스템에서는, 커맨드나 스테이터스는 커맨드 포트에서 서버 및 클라이언트의 사이에서 송수신된다. 또한, 서버로부터의 커맨드는 푸시 포트를 통하여 강제적으로 클라이언트에게 송신된다.
바람직하게는, 제 1의 클라이언트는 또한, 자신을 식별하기 위해 필요한 클라이언트 인덱스를 요구하는 클라이언트 인덱스 요구 커맨드를 커맨드 포트를 통하여 서버에 송신하는 수단을 포함한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 클라이언트 인덱스 요구 커맨드에 응답하여 클라이언트 인덱스를 클라이언트에게 회신하는 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 회신된 클라이언트 인덱스를 푸시 포트를 통하여 서버에 송신하는 수단을 포함한다.
바람직하게는, 제 1의 클라이언트는 복수 존재한다. 서버는, 접속 가능한 클라이언트의 수를 제한하는 접속 제한 수단을 포함한다.
바람직하게는, 접속 제한 수단은, 미접속의 클라이언트가 접속을 시도하여 온 때, 소정의 우선 순위에 따라 기접속(旣接續)의 클라이언트와의 접속을 끊는다.
본 발명에 의한 또한 또 하나의 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 네트워크를 통하여 접속된 제 1의 클라이언트와, 제 1의 클라이언트에게 접속된 AV 기기와, 서버에 네트워크를 통하여 접속되고, AV 기기를 제어하는 제 2의 클라이언트를 구비한다. 제 2의 클라이언트는, AV 기기를 제어하기 위한 제어 커맨드를 서버에 송신하는 수단을 포함한다. 서버는, 제 2의 클라이언트로부터 송신된 제어 커맨드를 제 1의 클라이언트에게 송신하는 수단을 포함한다. 제 1의 클라이언트는, 서버로부터 송신된 제어 커맨드를 AV 기기에 송신하는 수단을 포함한다. AV 기기는 또한, 제 1의 클라이언트로부터 송신된 제어 커맨드에 응답하여 제어된다.
이 경우, 제어 커맨드는 제 2의 클라이언트로부터 서버를 통하여 제 1의 클라이언트에게 송신된다. AV 기기는 이 제어 커맨드에 따라 제어된다. 따라서, 제 2의 클라이언트는 AV 기기를 제어할 수 있다.
본 발명에 의한 또한 또 하나의 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 접속된 제 1의 클라이언트와, 제 1의 클라이언트에게 접속된 AV 기기와, 서버에 네트워크를 통하여 접속되고, AV 기기를 감시하는 제 2의 클라이언트를 구비한다. AV 기기는, 자신에 관한 정보를 제 l의 클라이언트에게 송신하는 수단을 포함한다. 제 1의 클라이언트는, AV 기기로부터 송신된 정보를 서버에 송신하는 AV 기기 정보 송신 수단을 포함한다. 서버는, 제 1의 클라이언트로부터 송신된 정보를 제 2의 클라이언트에게 송신하는 수단을 포함한다.
이 경우, AV 기기에 관한 정보는 제 1의 클라이언트 및 서버를 통하여 제 2의 클라이언트에게 송신된다. 따라서, 제 2의 클라이언트는 이 정보에 의거하여 AV 기기를 감시할 수 있다.
바람직하게는, 제 1의 클라이언트의 AV 기기 정보 송신 수단은, 빈번하게 변화하는 정보를 소정의 시간 간격으로 송신한다.
이 경우, 네트워크 트래픽을 저감할 수 있다.
바람직하게는, 서버는 또한, 제 1의 클라이언트의 펌웨어를 갱신하는 펌웨어 갱신 수단을 포함한다.
이 경우, 제 1의 클라이언트의 펌웨어는 서버에 의해 자동적으로 갱신된다.
바람직하게는, 서버는 또한, 제 1의 클라이언트에게 적합한 복수의 펌웨어의 정보를 등록하는 수단과, 등록된 복수의 펌웨어의 정보를 열거한 펌웨어 리스트를 제 1의 클라이언트에게 송신하는 펌웨어 리스트 송신 수단을 포함한다. 제 1의 클라이언트는 또한, 서버로부터 송신된 펌웨어 리스트를 수신하는 수단과, 수신된 펌웨어 리스트 중에서 선택된 펌웨어의 송신을 서버에 요구하는 펌웨어 요구 수단을 포함한다. 펌웨어 갱신 수단은, 제 1의 클라이언트로부터의 요구에 따라 선택된 펌웨어를 제 1의 클라이언트에게 회신한다.
이 경우, 제 1의 클라이언트의 펌웨어는 반드시 최신 버전으로 갱신된 것은 아니고, 적절히 선택된 버전으로 갱신된다.
바람직하게는, 제 1의 클라이언트는 또한, 자신에 관한 클라이언트 정보를 서버에 송신하는 수단을 포함한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 클라이언트 정보에 의거하여 펌웨어 리스트를 작성하는 수단을 포함한다.
이 경우, 제 1의 클라이언트에 대응한 펌웨어의 정보를 열거한 펌웨어 리스트를 작성할 수 있다.
바람직하게는, 제 1의 클라이언트는, 지정량의 펌웨어, 바람직하게는 펌웨어의 일부를 서버에 요구한다. 펌웨어 갱신 수단은, 제 1의 클라이언트로부터의 요구에 따라 지정량의 펌웨어, 바람직하게는 펌웨어의 일부를 회신한다.
이 경우, 서버는 지정량의 펌웨어밖에 송신하지 않기 때문에, 클라이언트가 수신을 실패한 경우 등에는, 그 실패한 부분만을 재차 서버로부터 수신하면 좋고, 수신 실패시의 처리를 빨리할 수 있다. 또한, 펌웨어 리스트의 일부밖에 서버로부터 제 1의 클라이언트에게 송신되지 않기 때문에, 제 1의 클라이언트에 있어서 펌웨어 리스트를 기억해 두기 위해 필요한 메모리 용량을 작게 할 수 있다.
본 발명에 의한 또 하나의 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 접속된 제 1의 클라이언트와, 서버에 접속된 복수의 제 2의 클라이언트를 구비한다. 서버는, 복수의 콘텐츠를 축적하는 콘텐츠 축적 수단을 구비한다. 제 2의 클라이언트의 각각은, 복수의 콘텐츠 중에서 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 수단을 구비한다. 제 1의 클라이언트는, 제 2의 클라이언트로부터의 명령에 따라 지정된 콘텐츠를 재생하는 수단과, 콘텐츠의 재생을 완료한 때 완료 스테이터스를 서버에 송신하는 수단을 구비한다. 서버는 또한, 제 1의 클라이언트로부터 완료 스테이터스를 수신한 때, 복수의 제 2의 클라이언트중 하나를 선택하고, 그 선택한 제 2의 클라이언트에게 완료 스테이터스를 송신하는 스테이터스 송신 수단을 구비한다. 제 2의 클라이언트의 각각은 또한, 서버로부터 완료 스테이터스를 수신한 때, 제 1의 클라이언트가 재생을 완료한 콘텐츠의 다음의 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 수단을 구비한다.
바람직하게는, 서버는 또한, 제 1의 클라이언트를 제어 가능한 제 2의 클라이언트의 우선 순위를 관리하는 수단을 구비한다. 스테이터스 송신 수단은, 완료 스테이터스를 송신하여야 할 제 2의 클라이언트로서 우선 순위가 최고인 제 2의 클 라이언트를 선택한다. 또한, 서버는 나아가, 재생을 명령한 제 2의 클라이언트의 식별 정보를 기억하는 수단을 구비한다. 스테이터스 송신 수단은, 완료 스테이터스를 송신하여야 할 제 2의 클라이언트로서 기억한 제 2의 클라이언트의 식별 정보에 의거하여 재생을 명령한 제 2의 클라이언트를 선택한다.
본 시스템에서는, 서버가 콘텐츠의 재생을 완료한 제 1의 클라이언트로부터 완료 스테이터스를 수신하면, 제 2의 클라이언트를 하나 선택하고, 그 제 2의 클라이언트에게 완료 스테이터스를 송신한다. 따라서 유일한 제 2의 클라이언트가 연속 재생을 제 1의 클라이언트에게 명령하게 된다. 그 결과, 본 시스템은, 제 1의 클라이언트에의 연속 재생 명령의 경합을 배제하고, 제 1의 클라이언트에 의한 콘텐츠의 연속 재생을 가능하게 할 수 있다.
바람직하게는, 스테이터스 송신 수단은, 우선 순위가 최고인 제 2의 클라이언트 이외의 제 2의 클라이언트에게 정지 스테이터스를 송신한다.
이 경우, 우선 순위가 최고인 제 2의 클라이언트 이외의 제 2의 클라이언트에게는 완료 스테이터스가 아니라 정지 스테이터스가 송신되기 때문에, 해당 다른 제 2의 클라이언트는 전혀 능동적인 액션을 일으키는 일 없이, 단지 제 1의 클라이언트의 상태를 감시할 수 있다.
본 발명에 의한 또 하나의 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 접속된 제 1의 클라이언트와, 서버에 접속된 복수의 제 2의 클라이언트를 구비한다. 서버는, 복수의 콘텐츠를 축적하는 콘텐츠 축적 수단을 구비한다. 제 2의 클라이언트의 각각은, 제 1의 클라이언트를 제어하기 위해 필요한 제어 핸들을 취득 하는 제어 핸들 취득 수단과, 제어 핸들의 취득 후, 복수의 콘텐츠 중에서 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 수단을 구비한다. 제 1의 클라이언트는, 제 2의 클라이언트로부터의 명령에 따라 지정된 콘텐츠를 재생하는 수단과, 콘텐츠의 재생을 완료한 때 완료 스테이터스를 서버에 송신하는 수단을 구비한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 완료 스테이터스를 제 2의 클라이언트의 각각에 전송하는 수단을 구비한다. 제 2의 클라이언트의 각각은 또한, 제어 핸들을 취득하고 있는 제 1의 클라이언트로부터의 완료 스테이터스를 수신한 때, 제 1의 클라이언트가 재생을 완료한 콘텐츠의 다음의 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 수단을 구비한다.
본 시스템에서는, 제 2의 클라이언트는 클라이언트를 제어하기 위해 필요한 제어 핸들을 취득한 다음 콘텐츠의 재생을 제 1의 클라이언트에게 명령한다. 제 1의 클라이언트는 콘텐츠의 재생을 완료하면 완료 스테이터스를 송신한다. 제 2의 클라이언트는 제어 핸들을 취득하고 있는 제 1의 클라이언트로부터 완료 스테이터스를 수신한 때, 연속 재생을 제 1의 클라이언트에게 명령한다. 그 결과, 본 시스템은, 제 1의 클라이언트에의 연속 재생 명령의 경합을 배제하고, 제 1의 클라이언트에 의한 콘텐츠의 연속 재생을 가능하게 할 수 있다.
바람직하게는, 제어 핸들 취득 수단은, 제어 핸들을 취득한 때 해당 다른 제 2의 클라이언트에 의한 제어 핸들의 취득을 금지한다.
이 경우, 복수의 제 2의 클라이언트가 동시에 하나의 제 1의 클라이언트의 제어 핸들을 취득할 수가 없기 때문에, 제 1의 클라이언트에의 재생 명령의 경합을 완전히 배제할 수 있다.
또한 바람직하게는, 제 1의 클라이언트는 또한, 콘텐츠의 재생을 도중에 정지한 때 정지 스테이터스를 서버에 송신하는 수단을 구비한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 정지 스테이터스를 제 2의 클라이언트의 각각에 전송하는 수단을 구비한다. 제 2의 클라이언트의 각각은 또한, 제어 핸들을 취득하고 있는 제 1의 클라이언트로부터의 정지 스테이터스를 수신한 때, 제어 핸들의 취득 금지를 해제하는 수단을 구비한다.
이 경우, 콘텐츠의 재생을 도중에 정지한 제 1의 클라이언트는 정지 스테이터스를 모든 제 2의 클라이언트에게 송신하고, 제어 핸들을 취득하고 있는 제 1의 클라이언트로부터 정지 스테이터스를 수신한 제 2의 클라이언트는 제어 핸들을 해방한다. 따라서 어느 제 2의 클라이언트도 이 제 1의 클라이언트의 제어 핸들을 취득할 수 있게 된다.
본 발명에 의한 또한 또 하나의 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 접속된 제 1의 클라이언트와, 서버에 접속된 제 2의 클라이언트를 구비한다. 서버는, 복수의 콘텐츠를 축적하는 콘텐츠 축적 수단을 구비한다. 제 2의 클라이언트는, 복수의 콘텐츠 중에서 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 수단을 구비한다. 제 1의 클라이언트는, 제 2의 클라이언트로부터의 명령에 따라 지정된 콘텐츠를 재생하는 수단과, 콘텐츠의 재생을 완료한 때 완료 스테이터스를 서버에 송신하는 수단을 구비한다. 서버는 또한, 제 1의 클라이언트로부터 완료 스테이터스를 수신한 때, 제 1의 클라이언트가 재생을 완료한 콘텐츠의 다음의 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 연속 재생 명령 수단을 구비한다.
본 시스템에서는, 콘텐츠의 재생을 완료한 제 1의 클라이언트가 완료 스테이터스를 서버에 송신하면, 서버 스스로가 연속 재생을 제 1의 클라이언트에게 명령한다. 그 결과, 본 시스템은, 제 1의 클라이언트에의 연속 재생 명령의 경합을 배제하고, 제 1의 클라이언트에 의한 콘텐츠의 연속 재생을 가능하게 할 수 있다.
바람직하게는, 서버는 또한, 제 1의 클라이언트에 의해 재생되어야 할 콘텐츠를 열거한 콘텐츠 리스트를 작성하기 위해 필요한 리스트 구축 키를 기억하는 수단과, 리스트 구축 키에 의거하여 콘텐츠 리스트를 작성하는 수단을 구비한다. 연속 재생 명령 수단은, 콘텐츠 리스트에 따라 콘텐츠의 재생을 제 1의 클라이언트에게 명령한다.
이 경우, 서버는 리스트 구축 키를 기억해 두고, 그 리스트 구축 키에 의거하여 콘텐츠 리스트를 작성하기 때문에, 다음에 재생하여야 할 콘텐츠를 특정할 수 있다.
본 발명에 의한 또한 또 하나의 네트워크형 콘텐츠 재생 시스템은, 서버와, 서버에 접속된 제 1의 클라이언트와, 서버에 접속된 제 2의 클라이언트를 구비한다. 서버는, 복수의 콘텐츠를 축적하는 콘텐츠 축적 수단을 구비하고, 제 2의 클라이언트는, 복수의 콘텐츠 중에서 콘텐츠를 지정하고, 그 지정한 콘텐츠의 재생을 제 1의 클라이언트에게 명령하는 수단과, 제 1의 클라이언트에 의해 재생되어야 할 콘텐츠 리스트를 작성하기 위해 필요한 리스트 구축 키를 제 1의 클라이언트에게 송신하는 수단을 구비한다. 제 1의 클라이언트는, 제 2의 클라이언트로부터의 명령에 따라 지정된 콘텐츠를 재생하는 수단과, 제 2의 클라이언트로부터 송신된 리스트 구축 키를 서버에 송신하는 수단을 구비한다. 서버는 또한, 제 1의 클라이언트로부터 송신된 리스트 구축 키에 의거하여 콘텐츠 리스트를 작성하고, 제 1의 클라이언트에게 송신하는 수단을 구비한다. 제 1의 클라이언트는 또한, 서버로부터 송신된 콘텐츠 리스트에 따라 제 1의 클라이언트가 재생을 완료한 콘텐츠의 다음의 콘텐츠를 재생하는 수단을 구비한다.
본 시스템에서는, 서버가 리스트 구축 키에 의거하여 작성한 콘텐츠 리스트를 제 1의 클라이언트에게 송신한다. 제 1의 클라이언트는 이 콘텐츠 리스트에 따라 스스로 연속 재생을 행한다. 그 결과, 본 시스템은, 제 1의 클라이언트에의 연속 재생 명령의 경합을 배제하고, 제 1의 클라이언트에 의한 콘텐츠의 연속 재생을 가능하게 할 수 있다.
본 발명에 의한 네트워크형 콘텐츠 재생 시스템에 있어서의 클라이언트는, 서버에 축적된 복수의 디지털 콘텐츠 중에서 선택된 디지털 콘텐츠를 서버에 요구하는 콘텐츠 요구 수단과, 요구에 따라 서버로부터 회신된 디지털 콘텐츠를 재생하는 재생 수단을 포함한다. 서버는 복수 존재한다. 클라이언트는 또한, 접속 수단과 판단 수단을 구비한다. 접속 수단은 복수의 서버의 어느 하나와 접속을 행한다. 판단 수단은 접속 수단에 의한 서버와의 접속이 유지되고 있는지의 여부를 소정 기간마다 판단한다. 판단 수단이 서버와의 접속이 절단되었다고 판단한 경우에, 접속 수단은 서버와의 재접속을 실행한다.
본 클라이언트는 소정 기간마다 서버와의 접속 상태를 체크한다. 서버와의 접속이 절단된 경우, 클라이언트는 서버와의 재접속을 실행한다. 그 때문에, 서버에 이상이 발생하는 등으로 접속이 절단된 경우에도, 클라이언트는 스스로 신속하게 접속을 회복할 수 있다.
바람직하게는, 접속 수단은, 서버와의 재접속을 할 수 없는 경우에, 다른 서버와의 접속을 실행한다.
이 경우, 접속하고 있던 서버와의 재접속을 할 수 없더라도, 클라이언트는 다른 서버와 신속하게 접속을 실행한다. 그 결과, 클라이언트는 서버와의 접속이 절단된 채 방치되는 일은 없다.
바람직하게는, 접속 수단은 접속이 절단되기 전의 클라이언트 스테이터스를 재접속한 서버에 송신한다.
이 경우, 클라이언트는 절단전의 클라이언트 스테이터스를 재접속한 서버에 송신하기 때문에, 클라이언트는 서버와의 접속 상태를 원래와 같이 회복할 수 있다. 그 결과, 유저는 클라이언트가 서버와 재접속한 것을 의식하는 일 없이 클라이언트를 이용할 수 있다.
도 1은 본 발명의 실시의 형태에 의한 네트워크형 오디오 시스템의 전체 구성을 도시한 기능 블록도.
도 2는 도 1중 각 서버의 구성을 도시한 기능 블록도.
도 3은 도 1중 각 오디오 클라이언트의 구성을 도시한 기능 블록도.
도 4는 도 1중 각 컨트롤러의 구성을 도시한 기능 블록도.
도 5는 도 1 내지 도 3에 도시한 서버 및 오디오 클라이언트의 초기 접속 단계에 있어서의 동작을 도시한 순서도.
도 6은 도 5중 오디오 클라이언트에 의한 서버 탐색 동작을 도시한 순서도.
도 7은 도 5중 클라이언트 및 서버에 의한 접속 동작을 도시한 순서도.
도 8은 도 7에 도시한 접속 동작을 끝마친 서버에 의한 푸시 동작을 도시한 도면.
도 9는, 도 8에 계속해서, 컨트롤러로부터 서버에의 오디오 클라이언트에 대한 서버 리퀘스트 동작을 도시한 도면.
도 10은, 도 9에 계속해서, 오디오 클라이언트로부터 서버를 통하여 컨트롤러에 스테이터스를 통지하는 동작을 도시한 도면.
도 11은 도 5중 오디오 클라이언트에 의한 클라이언트 정보 송신 동작을 도시한 순서도.
도 12는 도 1 및 도 2에 도시한 서버에 의한 초기 설정 동작 및 메인 동작을 도시한 순서도.
도 13은 도 2에 도시한 서버에 보존되는 클라이언트 정보 데이터베이스를 도시한 도면.
도 14는 도 2에 도시한 서버에 보존되는 콘텐츠 정보 데이터베이스를 도시한 도면.
도 15는 도 2에 도시한 서버에 보존되는 펌웨어 정보 데이터베이스를 도시한 도면.
도 16은 도 12중 서버 탐색에 대한 응답의 서브루틴을 도시한 순서도.
도 17은 도 12중 커맨드 포트 접속 접수 처리의 서브루틴을 도시한 순서도.
도 18은 도 12중 푸시 포트 접속 접수 처리(그 1)의 서브루틴을 도시한 순서도.
도 19는 도 12중 푸시 포트 접속 접수 처리(그 2)의 서브루틴을 도시한 순서도.
도 20은 도 15중 커맨드 처리의 서브루틴을 도시한 순서도.
도 21은 도 20중 스테이터스 통지 커맨드 처리의 서브루틴을 도시한 순서도.
도 22는 도 20중 서버 리퀘스트 발행 커맨드 처리의 서브루틴을 도시한 순서도.
도 23은 도 1 내지 도 3에 도시한 서버 및 오디오 클라이언트에 의한 곡 리스트 취득 및 재생 동작을 도시한 순서도.
도 24는 도 23중 오디오 클라이언트에 의한 곡 리스트 취득 동작을 도시한 순서도.
도 25는 도 24중 장르 리스트 및 곡 리스트 취득 동작을 도시한 순서도.
도 26은 도 25에서 취득한 장르 리스트를 격납한 영역을 도시한 도면.
도 27은 도 14에 도시한 콘텐츠 정보 데이터베이스의 레코드 구조를 도시한 도면.
도 28은 도 25중 서버에 의한 장르 리스트 작성 동작을 도시한 순서도.
도 29는 도 25에서 취득한 곡 리스트를 격납한 영역을 도시한 도면.
도 30은 도 25중 서버에 의한 곡 리스트 작성 동작을 도시한 순서도.
도 31은 도 25중 리스트 요구 커맨드의 포맷을 도시한 도면.
도 32는 도 25중 검색 데이터의 포맷을 도시한 도면.
도 33은 도 25중 곡 리스트 취득 동작에 있어서의 버퍼 메모리의 천이 상태를 도시한 도면.
도 34는 도 25에 도시한 장르 리스트 및 곡 리스트 취득 동작에 더하여, 앨범 리스트 취득 동작을 도시한 순서도.
도 35는 도 23중 오디오 클라이언트에 의한 곡 지정, 재생 및 정지 및 서버에 의한 곡 배신 준비 및 배신의 동작을 도시한 순서도.
도 36은 도 35에 계속된 순서도.
도 37은 도 35중 곡 정보 요구 커맨드를 도시한 도면.
도 38은 도 35중 곡 정보를 도시한 도면.
도 39는 도 35중 곡 재생 준비 커맨드를 도시한 도면.
도 40은 도 35중 에러 코드를 도시한 도면.
도 41은 도 35중 곡 데이터 전송 요구 커맨드를 도시한 도면.
도 42는 도 35중 곡 데이터를 도시한 도면.
도 43은 도 42에 도시한 곡 데이터를 격납하기 위한 버퍼 메모리의 구성을 도시한 도면.
도 44는, 도 43에 도시한 버퍼 메모리에 있어서, 곡의 선두로부터 1버퍼분의 곡 데이터를 격납한 상태를 도시한 도면.
도 45는, 도 44에 계속해서, 모든 버퍼분의 곡 데이터를 격납한 상태를 도시한 도면.
도 46은, 도 45에 계속해서, 선두 버퍼로부터 곡 데이터를 출력하는 상태를 도시한 도면.
도 47은, 도 46에 계속해서, 1버퍼분의 빈 곳이 생긴 상태를 도시한 도면.
도 48은, 도 47에 계속해서, 버퍼의 빈 곳이 메워진 상태를 도시한 도면.
도 49는 도 1 내지 도 3에 도시한 클라이언트 및 서버에 의한 빨리 감기 재생 동작을 도시한 순서도.
도 50은 도 1 내지 도 3에 도시한 클라이언트 및 서버에 의한 일시 정지 동작을 도시한 순서도.
도 51은 도 1중 컨트롤러에 의한 서버와의 접속 동작을 도시한 순서도.
도 52는 도 51중 감시 핸들 및 제어 핸들 취득 동작을 도시한 순서도.
도 53은 서버에 의한 복수의 오디오 클라이언트로부터 복수의 컨트롤러에의 스테이터스 통지를 도시한 도면.
도 54는, 도 54에 있어서, 컨트롤러가 감시 핸들을 취득한 경우의 스테이터스 통지를 도시한 도면.
도 55는 도 1중 컨트롤러에 의한 오디오 클라이언트의 모니터 동작을 도시한 순서도.
도 56은 도 55에 도시한 모니터 동작의 상세를 도시한 순서도.
도 57은 도 1중 컨트롤러에 의한 오디오 클라이언트의 제어 동작을 도시한 순서도.
도 58은 도 57중 오디오 클라이언트에 의한 제어 커맨드 처리 동작의 서브루틴을 도시한 순서도.
도 59는 도 58중 재생 제어 동작의 서브루틴을 도시한 도면.
도 60은 도 13에 도시한 클라이언트 정보 데이터베이스에 포함되는 클라이언트 타입의 상세를 도시한 도면.
도 61은 도 59에 도시한 재생 제어에 있어서의 곡 리스트 표시 처리 동작을 도시한 순서도.
도 62는, 도 61중 곡 리스트 표시에 있어서, MP3 및 WAV의 양쪽을 재생 가능한 오디오 클라이언트에 관한 곡 리스트의 표시 화면을 도시한 도면.
도 63은, 도 61중 곡 리스트 표시에 있어서, MP3는 재생 가능하지만, WAV는 재생 불가능한 오디오 클라이언트에 관한 곡 리스트의 표시 화면을 도시한 도면.
도 64는 도 59에 도시한 재생 제어에 있어서 유저로부터의 재생 명령 처리 동작을 도시한 순서도.
도 65는, 도 1중 컨트롤러에 의한 연속 재생 제어에 있어서, 재생 커맨드의 송신을 도시한 도면.
도 66은, 도 65에 계속해서, 완료 및 정지 스테이터스의 송신을 도시한 도면.
도 67은 도 66에 도시한 완료 및 정지 스테이터스의 송신 동작을 도시한 순서도.
도 68은, 도 66에 계속해서, 재생 커맨드의 송신을 도시한 도면.
도 69는 도 65 내지 도 68에 도시한 연속 재생 제어에 이용되는 리스트 구축 키의 구성을 도시한 도면.
도 70은 도 69에 도시한 리스트 구축 키에 포함되는 필터의 종류를 도시한 도면.
도 71은 도 69에 도시한 리스트 구축 키를 이용한 연속 재생 제어 동작을 도시한 시퀀스도.
도 72는 도 56 및 도 71에 도시한 컨트롤러에 의한 완료 처리 동작을 도시한 순서도.
도 73은 우선 순위를 매긴 연속 재생 처리의 동작을 도시한 순서도.
도 74는 도 73에 도시한 연속 재생 처리를 도시한 기능 블록도.
도 75는, 도 73에 도시한 연속 재생 처리에 있어서, 우선 순위가 최고의 컨트롤러가 절단된 경우의 연속 재생 처리를 도시한 기능 블록도.
도 76은 제어 핸들을 이용한 연속 재생 처리의 동작을 도시한 순서도.
도 77은 도 76에 도시한 연속 재생 처리를 도시한 기능 블록도.
도 78은 콘텐츠 서버에 의한 연속 재생 처리를 도시한 기능 블록도.
도 79는 도 78에 도시한 연속 재생 처리의 동작을 도시한 순서도.
도 80은, 도 78에 도시한 연속 재생 처리에 있어서, 오디오 클라이언트가 복 수 존재하는 경우의 연속 재생 처리를 도시한 기능 블록도.
도 81은, 도 80에 도시한 연속 재생 처리에 있어서, 콘텐츠 서버도 복수 존재하는 경우의 연속 재생 처리를 도시한 기능 블록도.
도 82는, 도 81에 도시한 연속 재생 처리에 있어서, 콘텐츠 서버가 전환된 경우의 연속 재생 처리를 도시한 기능 블록도.
도 83은, 도 81에 도시한 연속 재생 처리에 있어서, 컨트롤러도 복수 존재하는 경우의 연속 재생 처리를 도시한 기능 블록도.
도 84는 오디오 클라이언트 자신에 의한 연속 재생 처리의 동작을 도시한 순서도.
도 85는 재생 명령 관리 테이블을 이용한 연속 재생 처리의 동작을 도시한 순서도.
도 86은 도 85에 도시한 연속 재생 처리를 도시한 기능 블록도.
도 87은 도 85중 재생 명령 관리 처리의 상세를 도시한 순서도.
도 88은, 도 85에 도시한 연속 재생 처리에 있어서, 콘텐츠 서버가 전환된 경우의 연속 재생 처리를 도시한 기능 블록도.
도 89는 도 85중 서버 전환 처리의 상세를 도시한 순서도.
도 90은, 서버, 컨트롤러, AVR 클라이언트 및 AV 리시버를 포함하는 네트워크형 오디오 시스템의 구성을 도시한 기능 블록도.
도 91은, 도 90에 도시한 네트워크형 오디오 시스템에 있어서, 스테이터스 및 커맨드의 흐름을 도시한 기능 블록도.
도 92는, 도 90 및 도 91에 도시한 네트워크형 오디오 시스템에 있어서, 컨트롤러에 의한 AV 리시버의 제어 동작을 도시한 순서도.
도 93은, 도 90에 도시한 네트워크형 오디오 시스템에 있어서, 제어 커맨드 및 스테이터스의 전달 경로를 도시한 기능 블록도.
도 94는 도 93에 도시한 커맨드 및 스테이터스의 전달 동작을 도시한 순서도.
도 95는 도 94에 도시한 각 단계에 있어서의 제어 커맨드를 도시한 도면.
도 96은 도 94에 도시한 각 단계에 있어서의 스테이터스를 도시한 도면.
도 97은, 도 90 내지 도 96에 도시한 네트워크형 오디오 시스템에 있어서, 컨트롤러가 AVR 클라이언트를 통하여 AV 리시버(AVR)의 볼륨을 올리는 동작을 도시한 순서도.
도 98은, 도 90 내지 도 96에 도시한 네트워크형 오디오 시스템에 있어서, AV 리시버의 스테이터스를 서버에 전송하는 경우에 있어서의 AVR 클라이언트의 동작을 도시한 순서도.
도 99는, 도 90 내지 도 96에 도시한 네트워크형 오디오 시스템에 있어서, 서버로부터의 제어 커맨드를 AV 리시버에 전송하는 경우에 있어서의 AVR 클라이언트의 동작을 도시한 순서도.
도 100은 도 99에 도시한 동작의 개량예를 도시한 순서도.
도 101은 도 1중 클라이언트 및 서버에 의한 펌웨어 업데이트 동작을 도시한 순서도.
도 102는 도 101에 도시한 펌웨어 업데이트 동작의 상세를 도시한 순서도.
도 103은 도 102중 펌웨어 리스트 작성 동작을 도시한 순서도.
도 104는 도 102중 펌웨어 리스트의 송신 동작을 도시한 순서도.
도 105는 본 발명의 다른 실시의 형태에 의한 오디오 클라이언트의 외관 구성을 도시한 정면도.
도 106은 도 105에 도시한 오디오 클라이언트의 측면도.
도 107은 본 발명의 다른 실시의 형태에 의한 네트워크형 오디오 시스템 및 인터넷의 전체 구성을 도시한 기능 블록도.
도 108은 도 107에 도시한 네트워크형 오디오 시스템에 있어서의 서버 탐색 동작을 도시한 순서도.
도 109는 본 발명의 다른 실시의 형태에 의한 곡 데이터의 전송 동작을 도시한 순서도.
도 110은 도 109중 S16021, S16061에서 참조되는 대비 테이블을 도시한 도면.
도 111은 본 발명의 다른 실시의 형태에 의한 오디오 클라이언트의 스킵 재생 동작을 도시한 순서도.
도 112는, 도 111에 도시한 스킵 재생 동작에 있어서, 오디오 클라이언트의 메모리에 격납된 곡 리스트를 도시한 도면.
도 113은 본 발명의 다른 실시의 형태에 의한 오디오 클라이언트의 반복 재생 동작을 도시한 순서도.
도 114는 본 발명의 다른 실시의 형태에 의한 오디오 클라이언트의 도중 재생 동작을 도시한 순서도.
도 115는 본 발명의 다른 실시의 형태에 의한 오디오 클라이언트의 감시 처리 및 접속 회복 처리를 도시한 순서도.
이하, 본 발명의 실시의 형태를 도면을 참조하여 상세히 설명한다. 도면중 동일 또는 상당 부분에는 동일 부호를 붙이고 그 설명을 원용한다.
[목차]
1. 바람직한 실시의 형태
1.1. 구성
1.1.1. 전체
1.1.2. 콘텐츠 서버
1.1.3. 오디오 클라이언트
1.1.4. 컨트롤러
1.1.5. AV 리시버
1.2. 동작
1.2.1. 콘텐츠 서버 및 오디오 클라이언트의 초기 설정
1.2.1.1. 오디오 클라이언트의 초기 설정
1.2.1.1.1. 콘텐츠 서버 탐색
1.2.1.1.2. 콘텐츠 서버와의 접속
1.2.1.1.3. 클라이언트 정보의 송신
1.2.1.2. 콘텐츠 서버의 초기 설정
1.2.1.2.1. 콘텐츠 서버 탐색에 대한 응답
1.2.1.2.2. 커맨드 포트 접속 접수
1.2.1.2.3. 푸시 포트 접속 접수(그 1)
1.2.1.2.4. 푸시 포트 접속 접수(그 2)
1.2.2. 콘텐츠 서버 및 오디오 클라이언트의 메인 동작
1.2.2.1. 커맨드 접수
1.2.2.1.1. 커맨드 분배 처리
1.2.2.1.2. 스테이터스 통지 커맨드 처리
1.2.2.1.3. 서버 리퀘스트 발행 커맨드 처리
1.2.2.2. 통상 재생
1.2.2.2.1. 곡 리스트 취득
1.2.2.2.2. 곡의 지정
1.2.2.2.3. 곡의 재생
1.2.2.3. 특수 재생
1.2.2.3.1. 빨리 감기 재생
1.2.2.3.2. 빨리 되감기 재생
1.2.2.3.3. 일시 정지
1.2.2.3.4. 슬로우 재생
1.2.3. 컨트롤러의 동작
1.2.3.1. 콘텐츠 서버와의 접속
1.2.3.1.1. 감시 핸들 및 제어 핸들의 취득
1.2.3.2. 모니터(감시) 기능
1.2.3.3. 제어 기능
1.2.3.3.1. 제어 커맨드 처리
1.2.3.3.2. 재생 제어
1.2.3.3.3. 재생 가능한 포맷인지를 식별하여 재생
1.2.3.3.4. 연속 재생 제어
1.2.3.3.5. 리스트 구축 키를 이용한 연속 재생 제어
1.2.3.3.6. 우선 순위를 매긴 연속 재생 제어
1.2.3.3.7. 제어 핸들을 이용한 연속 재생 제어
1.2.3.3.8. 콘텐츠 서버에 의한 연속 재생 제어
1.2.3.3.9. 오디오 클라이언트 자신에 의한 연속 재생 제어
1.2.3.3.10. 재생 명령 관리 테이블을 이용한 연속 재생 제어
1.2.4. AV 리시버의 제어
1.2.5. 펌웨어 업데이트
2. 다른 실시의 형태
2.1. 콘센트 내장형 오디오 클라이언트
2.2. 인터넷상의 음악 데이터를 취득
2.3. 취득 데이터 길이 변경 기능이 있는 재생
2.4. 스킵 재생
2.5. 반복 재생
2.6. 도중 재생
2.7. 자동 접속 회복 기능이 있는 클라이언트
1. 바람직한 실시의 형태
1.1. 구성
1.1.1. 전체
도 1을 참조하면, 본 발명의 실시의 형태에 의한 네트워크형 오디오 시스템(10)은, 다수의 곡의 음악 데이터를 축적하기 위한 복수의 콘텐츠 서버(S1 내지 Si)와, 콘텐츠 서버(S1 내지 Si)로부터의 음악 데이터에 의거하여 음악을 재생하기 위한 복수의 오디오 클라이언트(C1 내지 Cj)와, 오디오 클라이언트(C1 내지 Cj)를 제어하며 또한 모니터하기 위한 복수의 컨트롤러(A1 내지 Ak)와, AV 기기(예를 들면, 스위치나 앰프 등을 포함하는 AV 리시버)(AVR)와, AV 리시버(AVR)를 제어하기 위한 AVR 클라이언트(AC)를 구비한다. 이하, 콘텐츠 서버중 하나를 든 경우는 콘텐츠 서버(Si), 오디오 클라이언트중 하나를 든 경우는 오디오 클라이언트(Cj), 컨트롤러중 하나를 든 경우는 컨트롤러(Ak)를 이용한다.
여기서는 콘텐츠 서버(Si)에는 음악 데이터를 축적하고 있지만, 이 대신에 또는 이와 함께 영상 데이터를 축적하고 있어도 좋고, 그 밖에, 다양한 디지털 콘 텐츠(예를 들면, 사진 등의 정지 화상 등)를 축적하고 있어도 좋다. 이하에서는, 음악 데이터를 예로 설명한다. 또한, 콘텐츠 서버(Si), 오디오 클라이언트(Cj), 컨트롤러(Ak)는 각각 복수 존재하지만, 콘텐츠 서버나 오디오 클라이언트는 적어도 하나 존재하면 좋다. 복수의 콘텐츠 서버(S1 내지 Si)가 존재하는 경우, 오디오 클라이언트(Cj)는 어느 콘텐츠 서버(S1 내지 Si)로부터 음악 데이터를 취득하여도 좋고, 또한, 특정한 하나의 콘텐츠 서버(Si)만으로부터 음악 데이터를 취득하여도 좋다. 또한, 컨트롤러(Ak)는 전혀 없어도 좋다. 또한, AV 리시버(AVR)나 AVR 클라이언트(AC)는 복수 존재하여도 좋지만, 전혀 없어도 좋다.
이들은, LAN(로컬 에어리어 네트워크)(12)에 의해 상호 접속되지만, 이것으로 한정된 일 없이, USB, IEEE1394 등, 컴퓨터 네트워크를 구축하는데 적절한 것을 채용하면 좋다. LAN을 채용하는 경우, PC(퍼스널 컴퓨터)에서 표준적인 TCP/IP 프로토콜을 채용한 것이 바람직하지만, UDP 프로토콜 등을 채용하여도 좋고, 프로토콜은 특히 한정되지 않는다. 또한, 이 도면에서는 LAN의 기간 배선으로부터 분기되도록 콘텐츠 서버나 오디오 클라이언트가 접속되어 있지만, 예를 들면 10BASE-T나 100BASE1TX의 경우에는 허브를 중심으로 하여 스타 형상으로 접속된다.
1.1.2. 콘텐츠 서버
도 2를 참조하면, 각 콘텐츠 서버(Si)는, 압축 디지털 음악 데이터를 축적하기 위한 HDD(하드 디스크 드라이브)(14)와, 데이터베이스 관리부(16) 및 네트워크 프로토콜 처리부(18)를 포함하는 CPU 처리부(20)와, 본 콘텐츠 서버(Si)와 LAN(12)과의 사이에서 신호를 송수신하는 LAN 컨트롤러(22)를 구비한다.
1.1.3. 오디오 클라이언트
도 3을 참조하면, 각 오디오 클라이언트(Cj)는, 네트워크 프로토콜 처리부(24) 및 시스템 동작부(26)를 포함하는 마이크로컴퓨터 처리부(28)와, 플래시 메모리(30)와, 순차적으로 입력된 압축 디지털 음악 데이터 등을 일시적으로 기억하고 순차적으로 출력하는 메모리(32)와, 압축 디지털 음악 데이터를 디코드하여 비압축 디지털 음악 데이터를 생성하는 음성 처리부(34)와, 디지털 음악 데이터를 아날로그 음악 데이터로 변환하는 D/A 변환기(DAC)(36)와, 본 오디오 클라이언트(Cj)와 LAN(12)와의 사이에서 신호를 송수신하는 LAN 컨트롤러(38)를 구비한다. 오디오 클라이언트(Cj)는, 콘텐츠 서버(Si)와 달리, 압축 디지털 음악 데이터를 축적하기 위한 HDD를 구비하지 않아도 좋다.
1.1.4. 컨트롤러
도 4를 참조하면, 각 컨트롤러(Ak)는, 키보드, 마우스, 태블릿, 터치 패널 등의 입력 장치(301)와, 액정 디스플레이, CRT(Cathode Ray Tube) 등의 표시 장치(302)와, 인스톨된 컴퓨터 프로그램에 따라 소정의 처리를 실행하는 CPU(303)와, 본 컨트롤러(Ak)와 LAN(12)와의 사이에서 신호를 송수신하는 LAN 컨트롤러(304)를 구비한다. 컨트롤러(A1 내지 Ak)는 오디오 클라이언트(C1 내지 Cj)와 마찬가지로 콘텐츠 서버(S1 내지 Si)에 대해 클라이언트로서 기능한다. 컨트롤러(Ak)가 오디오 클라이언트(Cj)와 다른 점은, 오디오 클라이언트(Cj)는 재생 기능을 갖음에 대해, 컨트롤러(Ak)는 재생 기능을 갖지 않고, 주로 오디오 클라이언트의 모니터 및 제어 기능을 갖는 점이다.
상기 오디오 클라이언트(Cj)는 주로 재생 기능을 갖지만, 모니터 및 제어 기능을 가지고 있어도 좋다. 이 경우, 오디오 클라이언트는 컨트롤러로서도 기능한다.
1.1.5. AV 리시버
AV 리시버(AVR)는, 특히 한정되지 않지만, 예를 들면 EIA-232에 의해 AVR 클라이언트(AC)에 접속된다. AVR 클라이언트(AC)는, 주로 AV 리시버(AVR)와 통신할 수 있는 기능을 갖지만, 오디오 클라이언트(Cj)와 마찬가지로 재생 기능을 아울러 가지고 있어도 좋다.
1.2. 동작
1.2.1. 콘텐츠 서버 및 오디오 클라이언트의 초기 설정 동작
도 5를 참조하면, 어느 오디오 클라이언트에게 전원이 투입되면, 그 오디오 클라이언트는 우선 콘텐츠 서버를 탐색한다(S11). LAN(12)에 접속되어 있는 복수의 콘텐츠 서버(Si)중 가동중 콘텐츠 서버는, 이에 응답한다(S21).
계속해서, 오디오 클라이언트는, 콘텐츠 서버와 데이터의 송수신을 가능하게 하기 위해, 콘텐츠 서버에 대해 접속 요구를 발행한다(S12). 콘텐츠 서버는, 이 접속 요구에 따라 오디오 클라이언트와의 접속을 확립한다(S22).
최후로, 오디오 클라이언트는 자신에 관한 다양한 클라이언트 정보를 콘텐츠 서버에 송신하고(S13), 콘텐츠 서버는 이것을 수신한다(S23).
상기 초기 설정 동작이 종료되면 다음의 곡 리스트 취득 동작으로 이전하지만, 그 설명 전에, 오디오 클라이언트의 초기 설정 동작의 상세를 설명한다.
1.2.1.1. 오디오 클라이언트의 초기 설정 동작
1.2.1.1.1. 콘텐츠 서버 탐색
도 6을 참조하면, 오디오 클라이언트는, 우선, 발견한 콘텐츠 서버의 IP 어드레스 및 포트 번호를 기록하기 위한 서버 리스트를 클리어한다(S1101).
계속해서, 오디오 클라이언트는 특히 한정되지 않지만, 예를 들면 UDP 프로토콜에 의해, 커맨드 포트에서 미리 정해진 매직워드를 LAN(12)상에 브로드캐스트한다(S1102). LAN(12)에 접속되어 있는 복수의 콘텐츠 서버(Si) 중에 가동중 콘텐츠 서버가 존재하면, 그 콘텐츠 서버는 브로드캐스트된 매직워드를 서치 포트에서 수신하고, 그 매직워드를 브로드캐스트한 오디오 클라이언트에게 같은 매직워드를 회신하고, 아울러서 자신을 특정하기 위한 서버 특정 정보(구체적으로는 IP 어드레스 및 포트 번호)를 송신한다.
계속해서, 오디오 클라이언트는 서버 특정 정보의 수신 경과 시간을 계측하기 위한 타이머를 리셋하고(S1103), 그 후, 서버 특정 정보를 수신하였는지의 여부를 판별한다(S1104).
서버 특정 정보를 수신한 경우(콘텐츠 서버를 발견한 경우), 오디오 클라이언트는, 그 서버 특정 정보를 서버 리스트에 기록한다(S1105). 그리고, 오디오 클라이언트는, 서버 리스트가 가득 찼는지의 여부를 판별하고(S1106), 가득 찬 경우는 탐색을 완료하고, 아직 가득 차지 않은 경우는 스텝 S1103으로 되돌아온다.
한편, 서버 특정 정보를 수신하지 않은 경우(콘텐츠 서버를 발견하지 않은 경우), 오디오 클라이언트는 서버 특정 정보의 수신 경과 시간이 소정 시간, 예를 들면 2초를 초과하였는지의 여부를 판별하고(S1107), 아직 초과하지 않은 경우는 스텝 S1104로 되돌아온다. 즉, 오디오 클라이언트는 2초간만 콘텐츠 서버로부터의 응답을 기다린다.
서버 특정 정보의 수신 경과 시간이 2초를 초과한 경우, 오디오 클라이언트는, 서버 리스트가 아직 비어 있는지의 여부를 판별한다(S1108). 서버 리스트가 빈 경우, 즉 서버 리스트에 서버 특정 정보가 전혀 기록되어 있지 않은 경우, 오디오 클라이언트는 스텝 S1102로 되돌아와 매직워드를 재차 브로드캐스트한다. 한편, 서버 리스트가 비여있지 않은 경우, 즉 서버 리스트에 적어도 하나의 콘텐츠 서버의 서버 특정 정보가 기록되어 있는 경우, 오디오 클라이언트는 탐색을 완료한다. 즉, 오디오 클라이언트는 적어도 하나의 콘텐츠 서버를 발견할 때까지 탐색을 계속한다.
상기 콘텐츠 서버 탐색의 결과, 서버 리스트에는 1 또는 2 이상의 콘텐츠 서버에 대응하는 IP 어드레스 및 포트 번호가 부여된다.
1.2.1.1.2. 콘텐츠 서버와의 접속
도 7을 참조하면, 오디오 클라이언트는, 유저의 조작에 따라 서버 리스트 중에서 하나의 콘텐츠 서버를 선택하고(S1201), 그 선택한 콘텐츠 서버의 IP 어드레스 및 포트 번호를 취득한다(S1202).
계속해서, 오디오 클라이언트는, 취득한 IP 어드레스 및 커맨드 포트에서 TCP(Transmission Control Protocol) 소켓(1)을 생성하고(S1203), 이 TCP 소켓(1)으로 콘텐츠 서버와 접속한다(S1204). 커맨드 포트는, 콘텐츠 서버와 오디오 클라 이언트와의 사이에서 커맨드를 송수신하기 위한 포트이다. 콘텐츠 서버가 커맨드 포트에서의 접속을 접수하고(S2201), 접속이 성공한 경우는 스텝 S1206으로 진행하지만, 그렇지 않은 경우는 접속은 실패로 된다(S1205). 이로써 오디오 클라이언트는, 콘텐츠 서버와의 사이에서 커맨드를 송수신하기 위한 접속을 확립한다.
계속해서, 오디오 클라이언트는 TCP 소켓(1)으로 클라이언트 인덱스 요구 커맨드를 콘텐츠 서버에 송신한다(S1206). 콘텐츠 서버는, 이 클라이언트 인덱스 요구 커맨드에 응답하여 TCP 소켓(1)으로부터 클라이언트 인덱스를 오디오 클라이언트에게 회신하고(S2202), 오디오 클라이언트는 이것을 수신한다(S1207). 클라이언트 인덱스는, 콘텐츠 서버에 의해 각 오디오 클라이언트에게 할당된 식별 번호이다. 클라이언트 인덱스 요구 커맨드는, 오디오 클라이언트가 콘텐츠 서버에 클라이언트 인덱스를 요구하는 커맨드이다.
계속해서, 오디오 클라이언트는 콘텐츠 서버의 IP 어드레스 및 푸시 포트에서 TCP 소켓(2)을 생성하고(S1208), 이 TCP 소켓(2)으로 콘텐츠 서버와 접속한다(S1209). 푸시 포트는 콘텐츠 서버로부터의 자발적인 요구 또는 컨트롤러로부터의 요구에 응한 콘텐츠 서버로부터의 요구(이하 「서버 리퀘스트」라고 한다)를 항상 수신 가능한 대기 상태에 있는 포트이다. 콘텐츠 서버가 푸시 포트로의 접속을 받고(S209), 접속이 성공한 경우는 스텝 S1211로 진행하지만, 그렇지 않은 경우는 접속은 실패로 된다(S1210). 이로써 오디오 클라이언트는, 서버 리퀘스트를 수신하기 위한 접속을 확립한다.
이 시점에서는, 콘텐츠 서버는 아직도, 푸시 포트에 접속되어 있는 것은 어느 오디오 클라이언트인지를 알지 못한다. 그래서, 오디오 클라이언트는 스텝 S1207에서 취득한 클라이언트 인덱스를 TCP 소켓(2)으로 콘텐츠 서버에 송신한다(S1211). 콘텐츠 서버는, 이 클라이언트 인덱스에 의거하여 푸시 포트에 접속되어 있는 오디오 클라이언트를 특정한다. 이후, 콘텐츠 서버는, 서버 리퀘스트를 오디오 클라이언트에게 송신할 때, 이 푸시 보트를 사용한다.
이상의 결과, 커맨드 포트 및 푸시 포트로 2개의 접속이 확립한다. 이들 2개의 접속은, 오디오 클라이언트(Cj) 및 콘텐츠 서버(Si)의 사이뿐만 아니라, 후술하는 컨트롤러(Ak) 및 콘텐츠 서버(Si)의 사이, 또한 AVR 클라이언트(AC) 및 콘텐츠 서버(Si)의 사이에서도 확립한다.
일반적으로, 서버 클라이언트 시스템에서는, HTTP 프로토콜로 보이듯이, 클라이언트로부터의 요구(페이지 요구 등)에 대해, 콘텐츠 서버가 리스폰스(HTML 문서 등)를 돌려준다는 것이다. 이것은, 액션의 트리거는 클라이언트만이 가지며, 콘텐츠 서버가 자발적으로 클라이언트에 대해 작용할 수 없다는 것을 의미하고 있다. 이 때문에, 콘 텐츠 서버가 클라이언트에 대해 어떠한 요구, 예를 들면 콘텐츠 서버 셧다운 시에 클라이언트에게 그 취지를 통지하는 등, 자발적인 액션을 하는 경우에도, 클라이언트로부터의 요구가 없다면 통지를 행할 수 없다.
클라이언트가 서버 리퀘스트를 수신하기 위해서는, 일정 시간마다 콘텐츠 서버에 대해 서버 리퀘스트가 없는지를 확인하는 커맨드를 발행한다. 콘텐츠 서버는 클라이언트에 의해 발행된 커맨드에 응답하여 서버 리퀘스트를 클라이언트에게 송신하고, 클라이언트는 이것을 수신한다.
상기 HTTP 프로토콜의 경우도, 동적으로 갱신된 페이지에 관해서는 일정 시간마다 페이지의 리로드를 행하여야 한다는 것이 공지되어 있다.
이 수법은 클라이언트로부터의 폴링에 의한 서버 리퀘스트의 취득이라고 부를 수 있지만, 이하와 같은 문제점이 있다.
(1) 폴링 간격을 어느 정도 단축하여, 부지런히 서버 리퀘스트가 있는지의 여부를 찾지 않으면, 콘텐츠 서버가 요구를 생성한 시간과 실제로 그 요구를 오디오 클라이언트가 수취하기까지의 시간에 차가 생긴다.
(2) 상기한 바와 같이 폴링 간격을 단축하면, 네트워크 트래픽 및 서버 클라이언트의 부하가 증대하여 버린다.
(3) 콘텐츠 서버가 서버 리퀘스트를 클라이언트에게 송신하여야 할 빈도는 통상의 커맨드를 송수신하는 빈도에 비하여 낮기 때문에, 대강의 폴링은 필요 없게 된다. 서버 리퀘스트가 있는지의 여부를 찾고도, 통상은 특별히 요구는 없다고 대답되기 때문이다.
상기 문제를 해결하기 위해서는, 클라이언트로부터의 폴링이 아니라, 콘텐츠 서버로부터의 인터럽트로 서버 리퀘스트를 클라이언트에게 송신하면 좋다. 이로 인하여 상기(1)에서 문제가 되는 리얼타임성의 결여 및 상기 (2) 및 (3)과 같은 필요 없는 부하를 배제할 수 있다.
이것을 실현하기 위해, 상술한 바와 같이 2개의 접속을 확립하였다. 하나는, 오디오 클라이언트(Cj)가 커맨드를 발행하고, 콘텐츠 서버(Si)가 그것에 응답하는데도 이용되는 커맨드 포트로 형성되는 접속이다. 또 하나는, 콘텐츠 서버(Si)가 서버 리퀘스트를 오디오 클라이언트(Cj)에 보내는데 이용되는 푸시 포트로 형성되는 접속이다. 이로써 오디오 클라이언트(Cj)로부터의 폴링을 이용하지 않고, 콘텐츠 서버(Si)가 서버 리퀘스트를 오디오 클라이언트(Cj)에 통지할 수 있다.
이하, 이들 2개의 접속을 이용한 동작의 개요를 설명한다.
도 8에 도시한 바와 같이, 콘텐츠 서버(Si)는, 셧다운 시에, 푸시 포트를 통하여 모든 오디오 클라이언트(Cj)에 그 취지를 통지하고, 이로써 오디오 클라이언트(Cj)에 어떠한 동작(전원을 떨어뜨리는 등)을 시킨다.
또한, 도 9에 도시한 바와 같이, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)를 제어하는 때(예를 들면 재생이나 정지 등), 그 제어 내용을 포함하는 서버 리퀘스트의 발행을 콘텐츠 서버(Si)에 요구하는 커맨드를 커맨드 포트를 통하여 콘텐츠 서버(Si)에 송신한다. 콘텐츠 서버(Si)는 이 커맨드에 응답하여 서버 리퀘스트를 푸시 포트를 통하여 오디오 클라이언트(Cj)에 송신한다. 그 결과, 컨트롤러(Ak)는 오디오 클라이언트(Cj)를 제어할 수 있다.
또한, 도 10에 도시한 바와 같이, 오디오 클라이언트(Cj)는, 그 동작 상태가 변화한 때에, 그 동작 상태의 변화를 커맨드 포트를 통하여 콘텐츠 서버(Si)에 송신한다. 콘텐츠 서버(Si)는, 그 동작 상태의 변화를 푸시 포트를 통하여 오디오 클라이언트(Cj)의 동작 상태를 감시하고 있는 컨트롤러(Ak)에 송신한다. 따라서 오디오 클라이언트(Cj)는 그 동작 상태의 변화를 리얼타임으로 컨트롤러(Ak)에 통지할 수 있다.
이상에 의해, 본 네트워크형 오디오 시스템에 있어서의 네트워크 트래픽 및 콘텐츠 서버 및 오디오 클라이언트의 부하를 최소로 억제할 수 있고, 시스템 전체의 퍼포먼스를 증대시킬 수 있다.
1.2.1.1.3. 클라이언트 정보의 송신
도 11을 참조하면, 오디오 클라이언트는, 자신의 속성 정보를 콘텐츠 서버에 송신하고(S1301 내지 S1303), 또한 자신의 초기 스테이터스를 송신한다(S1304 내지 S1305).
구체적으로는, 오디오 클라이언트는, TCP 소켓(1)으로 오디오 클라이언트 타입을 송신한다(S1301). 오디오 클라이언트 타입에는, 재생 가능한 음악 포맷의 종류, 리모트 컨트롤러(리모콘)에 의한 조작의 가부, EIA1232 포트의 유무 등이 있다.
계속해서, 오디오 클라이언트는, TCP 소켓(1)으로 프로덕트ID를 송신한다(S1302). 프로덕트ID는, 오디오 클라이언트의 타입마다 부여되는 기종 정보이다. 따라서 같은 타입의 오디오 클라이언트에게는 같은 프로덕트ID가 부여된다.
계속해서, 오디오 클라이언트는, TCP 소켓(1)으로 펌웨어ID를 송신한다(S1303). 펌웨어ID는, 오디오 클라이언트에게 인스톨되어 있는 펌웨어의 버전 정보이다.
계속해서, 오디오 클라이언트는, TCP 소켓(1)으로 볼륨의 초기치를 송신한다(S1304). 볼륨의 초기치는, 오디오 클라이언트에게서 재생되는 음량의 초기치이다.
최후로, 오디오 클라이언트는, TCP 소켓(1)으로 오디오 클라이언트의 초기 스테이터스를 송신한다(S1305). 오디오 클라이언트의 초기 스테이터스에는, 정지 스테이터스 등이 있다.
콘텐츠 서버는, 클라이언트로부터 송신된 클라이언트 정보를 수신하고, 클라이언트 정보 데이터베이스(도 13)에 격납한다. 클라이언트 정보는, 오디오 클라이언트(Cj)뿐만 아니라, 컨트롤러(Ak) 및 AVR 클라이언트(AC)로부터도 콘텐츠 서버(Si)에 송신된다. 콘텐츠 서버(Si)는, 이 클라이언트 정보에 의거하여 모든 클라이언트를 관리한다.
1.2.1.2. 콘텐츠 서버의 초기 설정 동작
다음에, 상기 오디오 클라이언트의 초기 설정 동작에 대응하는 콘텐츠 서버의 초기 설정 동작을 설명한다.
도 12를 참조하면, 콘텐츠 서버는, 도 13에 도시한 바와 같은 클라이언트 정보 데이터베이스를 위한 격납 영역을 최대 클라이언트 수만큼 확보하고, 클리어한다(S201). 각 클라이언트 정보는, 접속의 유무를 나타내는 플래그와, 클라이언트 타입과, 현재의 스테이터스와, 현재의 볼륨값과, 프로덕트ID와, 펌웨어ID와, 클라이언트명과, 재생 파일명과, 리스트 구축 키를 포함한다.
클라이언트 타입에는, 오디오 클라이언트, 컨트롤러, AVR 클라이언트라는 클라이언트의 타입과, 재생 가능한 데이터 포맷(MP3, WAV 등)이 기록된다. 클라이언트 타입에는 또한, 리모콘 제어의 가부도 기록된다. 예를 들면 리모콘에 의해 제어 가능한 오디오 클라이언트에게는, 리모콘 제어 가능이라는 정보가 기록된다. 스테이터스에는, 「재생」, 「정지」, 「포즈」, 「완료」, 「펌웨어 업데이트 중」 등의 스테이터스가 기록된다. 재생 파일명에는, 현재 재생중인 곡의 데이터가 격납되 어 있는 HDD(14)의 풀패스명이 기록된다. 또한, 재생 파일명은 풀패스명과 같은 파일명 그 자체일 필요는 없고, 그 파일을 특정 가능한 정보라면 어떠한 정보라도 좋다. 예를 들면 콘텐츠 서버에 소정의 식별 번호와 파일명을 대응시킨 테이블을 기억해 두고, 콘텐츠 서버가 이 테이블을 참조하여 식별 번호를 파일명으로 변환하도록 하여도 좋다. 이 경우, 긴 파일명을 송수신할 필요가 없어진다. 또한, 파일명으로부터 곧바로 곡의 데이터가 격납되어 있는 파일을 특정할 수 없기 때문에, 시큐어러티가 향상된다. 또한, 리스트 구축 키는, 콘텐츠 서버가 리스트를 작성하기 위한 것인데, 상세는 후술한다.
계속해서, 콘텐츠 서버는, 커맨드 포트로의 접속 요구를 접수하는 소켓과, 푸시 포트로의 접속 요구를 접수하는 소켓과, 서치 포트로의 서버 탐색 요구를 접수하는 소켓을 작성한다(S202). 서치 보트는, 콘텐츠 서버 탐색시에 사용하는 포트로서, 이 서치 포트에 매직워드가 입력되었는지의 여부를 콘텐츠 서버는 감시한다.
계속해서, 콘텐츠 서버는, 도 14에 도시한 바와 같은 콘텐츠 정보 데이터베이스와, 도 15에 도시한 바와 같은 펌웨어 정보 데이터베이스를 구축한다(S203). 콘텐츠 정보 데이터베이스는, 콘텐츠 정보를 곡 수만큼 구비한다. 각 곡의 콘텐츠 정보는, 파일명과, 곡명과, 아티스트명과, 앨범명과, 장르명과, 곡의 길이(시간)와, 데이터 포맷과, 재생 회수와, 최종 액세스 시간을 포함한다. 이 파일명에는, 해당 곡의 데이터가 격납되어 있는 HDD(14)의 풀패스명이 기록된다. 펌웨어 정보 데이터베이스는, 펌 정보를 펌웨어의 파일 수만큼 구비한다. 펌웨어 정보는, 프로덕트ID와, 펌웨어ID와, 파일 사이즈와, 데이터 포맷과, 파일명을 포함한다. 이 파 일명에는, 해당 펌웨어가 격납되어 있는 인터넷상의 사이트를 나타내는 풀패스명이 기록된다.
콘텐츠 서버는, 서치 포트에 기록이 있는 경우(S204), 후술하는 콘텐츠 서버 탐색에 대한 응답 처리를 행한다(S205). 콘텐츠 서버는 또한, 커맨드 포트에 기록이 있는 경우(S206), 후술하는 커맨드 포트 접속 접수 처리를 행한다(S207). 콘텐츠 서버는 또한, 푸시 포트에 기록이 있는 경우(S208), 후술하는 푸시 포트 접속 접수 처리(그 1)를 행한다(S209). 콘텐츠 서버는 또한, 미처리 푸시 보트에 기록이 있는 경우(S210), 후술하는 푸시 포트 접속 접수 처리(그 2)를 행한다(S211).
1.2.1.2.1. 콘텐츠 서버 탐색에 대한 응답
도 16을 참조하면, 서치 포트에 기록이 있는 경우, 콘텐츠 서버는, 그 기록된 내용을 취득하고(S2051), 그 내용이 올바른 매직워드인지의 여부를 판별한다(S2052). 올바른 매직워드라면, 콘텐츠 서버는 같은 매직워드를 송신원 클라이언트에게 회신하고(S2053), 아울러서 자신의 IP 어드레스 및 포트 번호를 회신한다.
1.2.1.2.2. 커맨드 포트 접속 접수
도 17을 참조하면, 커맨드 포트에 클라이언트로부터 접속의 요구가 있는 경우, 콘텐츠 서버는, 현재 접속되어 있는 클라이언트 수가 최대 클라이언트 수에 달하고 있는지의 여부를 판별한다(S2071). 최대 클라이언트 수에 달하고 있는 경우, 콘텐츠 서버는, 우선도가 낮은 클라이언트를 찾고, 강제적으로 절단한다(S2072). 클라이언트의 우선도는, 현재 재생을 행하지 않는 오디오 클라이언트, 일정 시간 통신을 행하지 않는 오디오 클라이언트 등 일수록 낮아진다. 그리고, 콘텐츠 서버 는, 강제적으로 절단한 클라이언트의 클라이언트 정보를 클리어한다(S2073).
또한, 현재 접속되어 있는 클라이언트 수가 최대 클라이언트 수에 달하고 있는 경우, 상기 대신에, 콘텐츠 서버는 이 이상 클라이언트와 접속하지 않도록 하여도 좋다.
클라이언트의 접속 가능한 소켓에 여유가 있는 경우, 또는 우선도가 낮은 클라이언트를 절단하여 접속 가능한 소켓을 확보한 경우, 콘텐츠 서버는, 클라이언트로부터의 접속 요구의 접수를 시작한다(S2074).
접수가 성공한 경우(S2075), 콘텐츠 서버는, 클라이언트 정보 데이터베이스의 빈 영역을 찾는다(S2076). 구체적으로는, 플래그가 FALSE로 되어 있는 클라이언트 정보를 찾는다. 콘텐츠 서버는, 그 찾은 영역을 새로운 클라이언트 정보 격납 영역에 배당하고(S2077), 앞의 클라이언트 정보를 클리어한다(S2078).
계속해서, 콘텐츠 서버는 플래그를 TRUE로 설정하고(S2078), 접수의 결과로서 얻어진 소켓 정보를 클라이언트 정보 격납 영역의 소켓 필드에 격납한다(S2079).
1.2.1.2.3. 푸시 포트로의 접속 접수 처리(그 1)
도 18을 참조하면, 푸시 포트에 클라이언트로부터 접속의 요구가 있는 경우, 콘텐츠 서버는, 그 접수를 시작한다(S2091). 접수가 성공한 경우(S2092), 접수의 결과로서 얻어진 소켓 정보를 미처리 푸시 포트의 큐에 격납한다(S2093). 이 시점에서는 아직, 콘텐츠 서버는 푸시 포트에 접속된 클라이언트를 특정할 수 없다. 이와 같은 푸시 포트를 미처리 푸시 포트라고 한다.
1.2.1.2.4. 푸시 포트 접속 접수 처리(그 2)
도 19를 참조하면, 미처리 푸시 포트에 클라이언트로부터 접속의 요구가 있는 경우, 콘텐츠 서버는, 그 푸시 포트에 기록된 커맨드를 취득한다(S2111). 그 커맨드의 사이즈가 0보다 크고(S2112), 또한 그 커맨드가 클라이언트 인덱스 통지 커맨드이면(S2113), 콘텐츠 서버는, 그 클라이언트 인덱스가 나타내는 클라이언트는 이미 커맨드 포트에 접속되어 있는지의 여부를 판별한다(S2114).
아직 접속이 완료되어 있지 않은 경우, 콘텐츠 서버는 에러 코드를 1(실패)로 설정하고(S2115), 스텝 S2119로 진행한다. 한편, 이미 접속이 완료되어 있는 경우, 콘텐츠 서버는, 이 푸시 포트를 그 클라이언트용의 푸시 포트로서 등록한다(S2116). 콘텐츠 서버는 또한, 이 푸시 포트를 미처리 푸시 포트의 큐로부터 삭제하고(S2117), 에러 코드를 0(성공)으로 설정한다(S2118). 그리고, 콘텐츠 서버는, 설정된 에러 코드를 클라이언트에게 회신한다(S2119).
1.2.2. 콘텐츠 서버 및 오디오 클라이언트의 메인 동작
1.2.2.1. 커맨드 접수
재차 도 12를 참조하면, 콘텐츠 서버는, 초기 설정을 완료한 후, 클라이언트로부터의 커맨드를 접수한다. 즉, 콘텐츠 서버는, 스텝 S213 내지 S217을 최대 클라이언트 수만큼 반복한다(S212, S218, S219). n은, 클라이언트에게 할당된 0부터 (최대 클라이언트 수 -1)까지의 클라이언트 인덱스이다.
구체적으로는, 콘텐츠 서버는, 클라이언트 정보 데이터베이스의 플래그를 참조하고, n번째의 클라이언트가 이미 커맨드 포트에 접속되어 있는지의 여부를 판별 한다(S213). 이미 접속되어 있는 경우, 콘텐츠 서버 n번째의 클라이언트용의 커맨드 포트에 기록이 있는지의 여부를 판별한다(S214). 기록이 있는 경우, 콘텐츠 서버는 그 기록된 데이터의 사이즈가 0 또는 -1인지의 여부를 판별한다(S215). 0 또는 -1의 경우, 클라이언트가 분리되었는지, 또는 소켓 에러가 발생하였기 때문에, 콘텐츠 서버는 n번째의 클라이언트 정보를 클리어한다(S216). 한편, 그렇지 않은 경우, 콘텐츠 서버는 다음의 커맨드 처리를 행한다(S217).
1.2.2.1.1. 커맨드 배분 처리
도 20을 참조하면, 클라이언트로부터 커맨드 포트로의 기록이 있는 경우, 콘텐츠 서버는, 선두 4바이트에 격납된 커맨드에 따라 처리를 분기한다(S2171). 즉, 오디오 클라이언트로부터 콘텐츠 서버에 스테이터스의 변동을 통지한다는 스테이터스 통지 커맨드라면(S2172), 오디오 클라이언트로부터 통지된 스테이터스를 컨트롤러로 통지한다(S2173). 상세는 후술한다. 또한, 컨트롤러로부터 오디오 클라이언트에의 콘텐츠 서버 리퀘스트 발행 커맨드라면(S2174), 컨트롤러로부터의 요구를 오디오 클라이언트에게 통지한다(S2175). 상세는 후술한다. 그 밖에, 콘텐츠 서버는 커맨드에 응답하여 소정의 처리를 행한다.
1.2.2.1.2. 스테이터스 통지 커맨드 처리
어느 오디오 클라이언트(이하 「해당 오디오 클라이언트」라고 한다)로부터의 커맨드가 스테이터스 통지 커맨드인 경우, 도 21을 참조하면, 콘텐츠 서버는, 우선, 그 커맨드중 파라미터에 격납된 스테이터스이나 볼륨 등의 클라이언트 정보를 클라이언트 정보 데이터베이스에 격납한다(S21731). 따라서 콘텐츠 서버는 항상 최신의 클라이언트 정보를 보존하고 있다.
다음에, 콘텐츠 서버는, 모든 클라이언트 중에서 컨트롤러를 찾아내고, 찾아낸 컨트롤러에 해당 오디오 클라이언트의 스테이터스를 통지한다. 그 때문에, 콘텐츠 서버는, 이하의 스텝 S21733 내지 S21736을 최대 클라이언트 수만큼 반복한다(S21732, S21737, S21738).
구체적으로는, 콘텐츠 서버는, 클라이언트 정보의 클라이언트 타입을 참조하여, n번째의 클라이언트가 컨트롤러인지의 여부를 판별한다(S21733). 따라서 해당 오디오 클라이언트의 스테이터스를 컨트롤러가 아닌 해당 다른 오디오 클라이언트에게 통지하는 것을 막을 수 있다. 컨트롤러라면, 콘텐츠 서버는, 그 컨트롤러가 해당 오디오 클라이언트에 대한 감시 핸들을 취득하고 있는지의 여부를 판별한다(S21734). 감시 핸들을 취득하고 있으면, 콘텐츠 서버는, 그 컨트롤러가 푸시 포트로의 접속을 완료하고 있는지의 여부를 판별한다(S21735).
푸시 포트로의 접속을 완료하고 있으면, 콘텐츠 서버는, 그 컨트롤러의 푸시 포트에 해당 오디오 클라이언트의 클라이언트 정보를 기록하고, 이로써 해당 오디오 클라이언트의 스테이터스를 컨트롤러로 통지한다(S21736).
1.2.2.1.3. 서버 리퀘스트 발행 커맨드 처리
컨트롤러로부터의 커맨드가 서버 리퀘스트 발행 커맨드인 경우, 도 22를 참조하면, 콘텐츠 서버는, 우선, 그 커맨드에 포함되는 발행원 컨트롤러, 송신처 오디오 클라이언트, 요구 내용 등을 취득한다(S21751).
콘텐츠 서버는, 발행원 컨트롤러가 송신처 오디오 클라이언트의 제어 핸들( 후술)을 취득하고 있는지의 여부를 판별하고(S21752), 제어 핸들을 취득하지 않았으면 에러 코드를 1로 설정한다(S21753). 따라서 제어 핸들을 취득하지 않은 컨트롤러가 오디오 클라이언트를 제어하는 것을 방지할 수 있다.
제어 핸들을 취득하고 있으면, 콘텐츠 서버는, 클라이언트 정보중 플래그를 참조하여 송신처 오디오 클라이언트의 커맨드 포트로 접속이 확립하여 있는지의 여부를 판별하고(S21754), 확립하지 않았으면 에러 코드를 -2로 설정한다(S21755). 따라서 제어 불가능한 오디오 클라이언트에게 커맨드를 송신하는 것을 방지할 수 있다.
송신처 오디오 클라이언트의 커맨드 포트로 접속이 확립하여 있으면, 콘텐츠 서버는, 송신처 오디오 클라이언트의 푸시 포트로 접속이 확립하여 있는지의 여부를 판별하고(S21756), 확립하지 않았으면 에러 코드를 1로 설정한다(S21757). 한편, 확립하여 있으면, 콘텐츠 서버는, 송신처 오디오 클라이언트의 푸시 포트로 컨트롤러로부터의 요구 내용을 송신하고(S21758), 에러 코드를 0(에러 없음)으로 설정한다(S21759).
최후로, 콘텐츠 서버는, 발행원 컨트롤러에 에러 코드를 회신한다(S21760).
또한, 송신처 오디오 클라이언트가 푸시 포트에 접속되어 있지 않은 경우는, 송신처 오디오 클라이언트가 폴링으로 문의를 하여 온 때에, 컨트롤러로부터의 요구 내용을 송신처 오디오 클라이언트에게 송신하도록 하여도 좋다.
1.2.2.2. 통상 재생
다음에, 유저가 오디오 클라이언트(Cj)에 소망하는 곡을 재생시키는 경우의 동작을 설명한다. 여기서는, 유저는 소망하는 곡을 곧바로 지정하는 것은 아니고, 우선 소망하는 곡 리스트를 지정하고, 그 곡 리스트 중에서 소망하는 곡을 선택한다. 이하, 상세히 기술한다.
도 23을 참조하면, 오디오 클라이언트는, 유저의 조작에 따라 곡 리스트 요구 커맨드를 콘텐츠 서버에 송신한다(S14). 곡 리스트 요구 커맨드는, 오디오 클라이언트가 콘텐츠 서버에 대해 소망하는 곡 리스트를 요구하기 위한 커맨드이다. 곡 리스트에는, 복수의 곡명이나 아티스트명 등이 열거되어 있다. 콘텐츠 서버는 이 곡 리스트 요구 커맨드에 따라 곡 리스트를 요구원의 오디오 클라이언트에게 송신하고(S24), 오디오 클라이언트는 이것을 수신한다(S14).
오디오 클라이언트는 유저의 조작에 따라 곡 리스트에 포함되는 곡을 지정하고(S15), 콘텐츠 서버는 이에 따라 지정된 곡의 배신(配信; distribution)을 준비한다(S25).
계속해서, 콘텐츠 서버는 지정된 곡을 오디오 클라이언트에게 배신하고(S26), 오디오 클라이언트는 배신된 곡을 재생한다(S16). 그리고, 오디오 클라이언트는, 재생 종료 후 또는 유저의 조작에 따라 곡의 재생을 정지한다(S17).
이하, 스텝 S14 내지 S16의 각각의 상세를 설명한다.
1.2.2.2.1. 곡 리스트 취득
도 24를 참조하면, 오디오 클라이언트는, 콘텐츠 서버에 플레이명 리스트를 요구하는지의 여부를 판별한다(S1401). 플레이명 리스트는, 플레이 리스트의 타이틀을 열거한 것이다. 플레이 리스트는, 유저에 의해 선택된 복수의 곡을 열거한 곡 리스트이다. 콘텐츠 서버에는, 유저에 의해 작성된 복수의 플레이 리스트가 미리 격납되어 있다.
유저는, 콘텐츠 서버에 격납되어 있는 복수의 플레이 리스트 중에서 하나를 선택하고자 하는 경우, 우선 어떤 플레이 리스트가 등록되어 있는 것인지를 확인하기 위해, 콘텐츠 서버에 플레이명 리스트를 요구한다. 오디오 클라이언트는 이 유저의 조작에 따라 콘텐츠 서버에 플레이명 리스트를 요구하고, 콘텐츠 서버로부터 플레이명 리스트를 수신한다(S1402).
계속해서, 오디오 클라이언트는, 지정된 플레이 리스트를 요구하는지의 여부를 판별한다(S1403). 유저가 플레이명 리스트 중에서 소망하는 플레이 리스트를 지정하고, 이 조작에 따라 오디오 클라이언트가 지정된 플레이 리스트를 요구하는 경우는 스텝 S1413으로 진행하고, 요구하지 않은 경우는 스텝 S1401 또는 S1403으로 되돌아온다(S1404).
플레이명 리스트를 요구하지 않은 경우, 오디오 클라이언트는, 콘텐츠 서버에 아티스트 리스트를 요구하는지의 여부를 판별한다(S1405). 아티스트 리스트에는, 복수의 아티스트명이 열거되어 있다. 아티스트 리스트는 콘텐츠 서버에 미리 준비되어 있는 것은 아니고, 오디오 클라이언트로부터의 요구에 따라 도 14에 도시한 콘텐츠 정보 데이터베이스로부터 그때마다 작성된다.
유저가 아티스트 리스트를 요구하는 경우, 오디오 클라이언트는 유저의 조작에 따라 소망하는 아티스트 리스트를 콘텐츠 서버에 요구하고, 콘텐츠 서버로부터 아티스트 리스트를 수신한다(S1406).
계속해서, 오디오 클라이언트는, 지정된 아티스트의 곡 리스트를 요구하는지의 여부를 판별한다(S1407). 유저가 아티스트 리스트 중에서 소망하는 아티스트를 지정하고, 이 조작에 따라 오디오 클라이언트가 지정된 아티스트의 곡 리스트를 요구하는 경우는 스텝 S1413으로 진행하고, 요구하지 않은 경우는 스텝 S1401 또는 S1407로 되돌아온다(S1408). 이 곡 리스트에는 지정된 아티스트의 곡명 등이 열거되어 있지만, 이 곡 리스트도 상기 아티스트 리스트와 마찬가지로 콘텐츠 서버에 미리 준비되어 있는 것은 아니고, 오디오 클라이언트로부터의 요구에 따라 도 14에 도시한 콘텐츠 정보 데이터베이스로부터 그때마다 작성된다.
아티스트 리스트를 요구하지 않은 경우, 오디오 클라이언트는, 콘텐츠 서버에 장르 리스트를 요구하는지의 여부를 판별한다(S1409). 장르 리스트에는, 복수의 장르명이 열거되어 있다. 장르 리스트도 상기 아티스트 리스트와 마찬가지로 콘텐츠 서버에 미리 준비되어 있는 것은 아니고, 오디오 클라이언트로부터의 요구에 따라 도 14에 도시한 콘텐츠 정보 데이터베이스로부터 그때마다 작성된다.
유저가 장르 리스트를 요구하는 경우, 오디오 클라이언트는 유저의 조작에 따라 소망하는 장르 리스트를 콘텐츠 서버에 요구하고, 콘텐츠 서버로부터 장르 리스트를 수신한다(S1410).
계속해서, 오디오 클라이언트는, 지정된 장르의 곡 리스트를 요구하는지의 여부를 판별한다(S1411). 유저가 장르 리스트 중에서 소망하는 장르를 지정하고, 이 조작에 따라 오디오 클라이언트가 지정된 장르의 곡 리스트를 요구하는 경우는 스텝 S1413으로 진행하고, 요구하지 않은 경우는 스텝 S1401 또는 S1411로 되돌아 온다(S1412). 이 곡 리스트에는 지정된 장르의 곡명 등이 열거되어 있지만, 이 곡 리스트도 상기 아티스트의 곡 리스트와 마찬가지로 콘텐츠 서버에 미리 준비되어 있는 것은 아니고, 오디오 클라이언트로부터의 요구에 따라 도 14에 도시한 콘텐츠 정보 데이터베이스로부터 그때마다 작성된다.
상기한 결과, 곡 리스트를 요구하는 경우, 오디오 클라이언트는 콘텐츠 서버에 곡 리스트를 요구하고, 콘텐츠 서버로부터 곡 리스트를 수신한다(S1413). 이로써 곡 리스트의 취득은 종료한다.
다음에, 도 25를 참조하면, 장르 리스트를 취득하고, 그 중에서 소망하는 장르로서 팝을 선택하여 팝의 곡 리스트를 취득하는 경우의 동작을 설명한다.
이 경우, 오디오 클라이언트는, 콘텐츠 서버에 장르 리스트를 요구하기 위한 리스트 요구 커맨드를 송신한다(S1421). 콘텐츠 서버는, 이에 응답하여 장르 리스트를 회신한다(S2401). 오디오 클라이언트는, 콘텐츠 서버로부터 장르 리스트를 수신하고, 도 26에 도시한 바와 같이 메모리(32)에 격납한다(S1422).
장르 리스트는, 미리 작성하여 콘텐츠 서버에 보존하여 두어도 좋지만, 여기서는 그렇지 않고, 오디오 클라이언트로부터 요구되는 때마다, 콘텐츠 서버가 도 14에 도시한 콘텐츠 정보 데이터베이스에 의거하여 장르 리스트를 작성한다. 이하, 장르 리스트의 작성 방법을 설명한다.
도 27에 도시한 바와 같이, 콘텐츠 정보 데이터베이스는, n곡을 보존하고 있는 경우, n개의 레코드를 갖는다. 각 레코드에는, 곡명, 장르, 아티스트명, 앨범명 등이 기록되어 있다.
이와 같은 콘텐츠 정보 데이터베이스를 이용하여 장르 리스트를 작성한 경우, 도 28을 참조하면, 우선, 콘텐츠 서버는, 레코드의 번호를 나타내는 인덱스를 0으로 초기화한다(S24011).
계속해서, 콘텐츠 서버는, 인덱스가 나타내는 레코드의 장르가 이미 장르 리스트에 존재하는지의 여부를 판별한다(S24012). 존재하지 않은 경우, 콘텐츠 서버는 그 레코드의 장르를 장르 리스트에 추가하고(S24013), 그 후, 인덱스를 증가시킨다(S24014). 한편, 존재하는 경우, 콘텐츠 서버는, 스텝 S24013을 스킵하고, 곧바로 인덱스를 증가시킨다(S24014).
계속해서, 콘텐츠 서버는, 인덱스가 나타내는 레코드의 번호가 모든 레코드 수(n)보다 작은지의 여부를 판별하고(S24015), 작은 경우는 스텝 S24012로 되돌아오고, 한편, 작지 않은 경우는 장르 리스트의 작성을 완료한다.
상기한 처리에 의해, 콘텐츠 서버는, 콘텐츠 정보 데이터베이스에 축적되어 있는 모든 곡의 장르를 중복되는 일 없이 픽업하고, 장르 리스트를 작성한다. 이와 같이, 장르 리스트는 미리 데이터베이스화되어 있는 것은 아니고, 오디오 클라이언트로부터의 요구시마다 일시적으로 작성되기 때문에, 장르 리스트를 항상 격납하여 두기 위한 메모리 영역은 불필요하다.
재차 도 25를 참조하면, 작성된 장르 리스트는 콘텐츠 서버로부터 오디오 클라이언트에게 송신된다(S2401, S1422). 유저는, 이 장르 리스트 중에서 소망하는 장르(이 예로는 팝)를 선택한다. 오디오 클라이언트는, 유저의 조작에 따라 선택된 장르의 곡 리스트를 콘텐츠 서버에 요구한다(S1423). 콘텐츠 서버는, 오디오 클라 이언트로부터의 요구에 따라 선택된 장르의 곡 리스트를 콘텐츠 서버에 회신한다(S2402). 오디오 클라이언트는, 콘텐츠 서버로부터 곡 리스트를 수신하고, 도 29에 도시한 바와 같이 메모리(32)에 격납한다(S1424).
상기 장르 리스트와 마찬가지로, 곡 리스트도 콘텐츠 서버에 미리 준비되어 있는 것은 아니고, 도 27에 도시한 콘텐츠 정보 데이터베이스에 의거하여 작성된다. 즉, 콘텐츠 서버는, 오디오 클라이언트로부터 곡 리스트를 요구될 때마다, 콘텐츠 정보 데이터베이스에 의거하여 곡 리스트를 작성한다. 이하, 곡 리스트의 작성 방법을 도 30을 참조하여 설명한다.
우선, 콘텐츠 서버는, 도 27에 도시한 콘텐츠 정보 데이터베이스에 있어서 레코드의 번호를 나타내는 인덱스를 0으로 초기화한다(S24021).
계속해서, 콘텐츠 서버는, 인덱스가 나타내는 레코드의 장르를 선택된 장르(이 예에서는 팝)와 비교하고, 그들이 일치하는지의 여부를 판별한다(S24022). 일치하는 경우, 콘텐츠 서버는 그 레코드의 곡명, 아티스트명, 앨범명 등을 곡 리스트에 추가하고(S24023), 그 후, 인덱스를 증가시킨다(S24024). 한편, 일치하지 않은 경우, 콘텐츠 서버는, 스텝 S24023을 스킵하고, 곧바로 인덱스를 증가시킨다(S24024).
계속해서, 콘텐츠 서버는, 인덱스가 나타내는 레코드의 번호가 모든 레코드 수(n)보다 작은지의 여부를 판별하고(S24025), 작은 경우는 스텝 S24022로 되돌아오고, 한편, 작지 않은 경우는 곡 리스트의 작성을 완료한다.
상기한 처리에 의해, 콘텐츠 서버는, 선택된 장르의 곡만을 콘텐츠 정보 데 이터베이스로부터 픽업하고, 곡 리스트를 작성한다. 이와 같이, 곡 리스트는 미리 데이터베이스화되어 있는 것은 아니고, 오디오 클라이언트로부터의 요구시마다 일시적으로 작성되기 때문에, 곡 리스트를 항상 격납하여 두기 위한 메모리 영역은 불필요하다.
또한, 곡 리스트를 작성하는 경우에는, 해당하는 모든 곡을 픽업하는 것은 아니고, 재생 불가능한 데이터 포맷의 곡에 대해서는 픽업하지 않도록 하여도 좋다. 또한, 오디오 클라이언트로부터의 요구시마다 곡 리스트를 작성하는 것은 아니고, 일단 작성한 곡 리스트는 캐시하여 두도록 하여도 좋다. 이 경우, 곡 리스트를 격납하여 두기 위한 메모리 영역이 필요하게 되지만, 콘텐츠 서버는 오디오 클라이언트로부터의 요구에 따라 곧바로 곡 리스트를 회신할 수 있다.
상기 장르 리스트와 마찬가지로, 곡 리스트도 전부가 한번에 송신되는 것은 아니고, 조금씩 차례로 송신된다. 즉, 곡 리스트의 요구(S1423, S1425), 곡 리스트의 회신(S2402, S2403) 및 곡 리스트의 수신(S1424, S1426)의 동작은 반복하여 행하여진다. 이하, 이 상세를 설명한다.
오디오 클라이언트는, 도 31에 도시한 바와 같은 리스트 요구 커맨드를 콘텐츠 서버에 송신한다(S1423). 리스트 요구 커맨드는, 오디오 클라이언트가 콘텐츠 서버에 리스트를 요구하는 커맨드로서, 이 예에서는, 취득 시작 인덱스, 취득 개수 및 리스트 구축 키를 포함한다. 취득 시작 인덱스는, 선택된 장르 리스트에 수록되어 있는 곡 중, 오디오 클라이언트가 취득하고자 하는 선두의 곡을 나타내는 인덱스이다. 취득 개수는, 오디오 클라이언트가 취득하고자 하는 곡의 수이다. 리스트 구축 키는, 상세는 후술하지만, 콘텐츠 정보 데이터베이스로부터 곡을 추출하는 때에 주목한 카테고리를 나타내는 필터의 종류와, 그 카테고리로 분류되는 구체적인 키워드로 구성된다. 특히 한정되지 않지만, 이 예에서는, 취득 시작 인덱스 = 0, 취득 개수 = 50으로 설정되고, 또한 리스트 구축 키는 「장르(필터의 종류) = 팝(키워드)」로 설정되어 있다.
콘텐츠 서버는, 이 리스트 요구 커맨드에 응답하여, 도 32에 도시한 바와 같은 검색 데이터를 오디오 클라이언트에게 회신한다(S2402). 검색 데이터는, 곡 리스트의 일부 외에, 유효 개수 및 잔여 개수를 포함한다. 유효 개수는, 콘텐츠 서버가 오디오 클라이언트에게 실제로 회신한 곡의 수이다. 잔여 개수는, 콘텐츠 서버가 오디오 클라이언트에게 회신한 곡 리스트보다도 후에 남아 있는 곡의 수이다. 여기서는, 취득 시작 인덱스 = 0, 취득 개수 = 50의 리스트 요구 커맨드에 응답하는 것이기 때문에, 콘텐츠 서버는, 작성한 곡 리스트중 최초의 곡으로부터 50곡째까지를 오디오 클라이언트에게 회신한다(S2402). 곡 리스트의 전 곡 수 = 110으로 하면, 유효 개수 = 50, 잔여 개수 = 60( = 110 - 50)로 설정된다.
계속해서, 오디오 클라이언트는, 콘텐츠 서버에 아직 60곡이 남아 있기 때문에, 재차 리스트 요구 커맨드를 콘텐츠 서버에 송신한다(S1425). 여기서는, 취득 시작 인덱스 = 51, 취득 개수 = 50으로 설정된다.
콘텐츠 서버는, 이 리스트 요구 커맨드에 응답하여, 재차 검색 데이터를 오디오 클라이언트에게 회신한다(S2403). 여기서는, 유효 개수 = 50, 잔여 개수 = 10마다( = 110 - (50 + 50))로 설정된다. 즉, 콘텐츠 서버는, 재차 곡 리스트를 50곡 분만큼 오디오 클라이언트에게 회신한다(S2403). 오디오 클라이언트는, 이 곡 리스트를 수신하고, 메모리(32)에 격납한다(S1426).
또한, 상기한 예에서는, 곡 리스트의 전 곡 수 = 110, 취득 개수 = 50이기 때문에, 곡 리스트의 일부인 50곡이 회신되어 있지만, 곡 리스트의 전 곡 수가 취득 개수보다 적은 경우, 예를 들면 곡 리스트의 전 곡 수 = 40, 취득 개수 = 50이라면, 곡 리스트의 전부인 40곡이 회신되게 된다.
또한, 상기한 예에서는, 취득 시작 인덱스 = 0이기 때문에, 곡 리스트의 최초부터 곡이 회신되어 있지만, 예를 들면 취득 시작 인덱스 = 10으로 하면, 곡 리스트의 11곡째부터 곡이 회신되게 된다. 또한, 이 경우, 곡 리스트의 전 곡 수 = 110이고, 최초의 리스트 요구 커맨드가 취득 시작 인덱스 = 10, 취득 개수 = 50이면, 콘텐츠 서버는, 유효 개수 = 50, 잔여 개수 = 50( = 110 - 10 - 50)의 검색 데이터를 회신하게 된다.
메모리(32)에 격납 가능한 곡 수가 곡 리스트의 전 곡 수보다 많으면, 오디오 클라이언트는 곡 리스트의 전부를 한번에 격납할 수 있다. 그러나, 메모리(32)의 용량은 콘텐츠 서버에 비하면 매우 작기 때문에, 통상, 오디오 클라이언트는 곡 리스트의 일부밖에 메모리(32)에 격납할 수 없다.
상기 실시의 형태에 의하면, 오디오 클라이언트는 콘텐츠 서버로부터 곡 리스트를 분할하여 다운로드하고 있기 때문에, 오디오 클라이언트의 메모리(32)에 적어도 50곡분의 영역을 준비하면, 110곡 전부의 곡 리스트를 다운로드할 수 있다. 그 때문에, 메모리(32)의 용량을 작게 억제할 수 있다.
예를 들면 도 33의 A에 도시한 바와 같이, 오디오 클라이언트가 메모리(32)에 50곡분의 곡 리스트를 격납한 후, 유저가 51곡째 이후의 취득을 희망한 경우, 도 33의 B에 도시한 바와 같이, 오디오 클라이언트는 후반의 곡 리스트를 메모리(32)의 전반에 이동시킨다. 그리고, 도 33의 C에 도시한 바와 같이, 오디오 클라이언트는 메모리(32)의 후반에 51곡째부터 25곡분의 곡 리스트를 격납한다.
오디오 클라이언트는, 상기 동작을 반복하여 곡 리스트의 전부를 수신하거나, 또는 메모리(32)에 격납 가능한 곡 수만 수신한다.
도 25에 도시한 예에서는, 장르를 선택한 후, 곧바로 그 장르로부터 곡을 선택하도록 하고 있지만, 도 34에 도시한 바와 같이, 장르를 선택하고, 계속해서 그 장르로부터 앨범을 선택한 후, 그 앨범으로부터 곡을 선택하도록 하여도 좋다.
이 경우, 오디오 클라이언트는, 유저의 조작에 따라 선택된 장르의 앨범 리스트를 콘텐츠 서버에 요구한다(S1427). 콘텐츠 서버는, 오디오 클라이언트로부터의 요구에 따라 선택된 장르의 앨범 리스트를 콘텐츠 서버에 회신한다(S2404). 오디오 클라이언트는, 콘텐츠 서버로부터 앨범 리스트를 수신하고, 메모리(32)에 격납한다(S1428).
계속해서, 오디오 클라이언트는, 유저의 조작에 따라 선택된 앨범의 곡 리스트를 콘텐츠 서버에 요구한다(S1429). 콘텐츠 서버는, 오디오 클라이언트로부터의 요구에 따라 선택된 앨범의 곡 리스트를 콘텐츠 서버에 회신한다(S2405).
1.2.2.2.2. 곡의 지정
도 35 및 도 36을 참조하면, 오디오 클라이언트는 지정된 곡의 정보를 콘텐 츠 서버에 요구하고(S1501), 콘텐츠 서버는 이 요구에 따라 지정된 곡의 정보를 오디오 클라이언트에게 회신하고(S2501), 오디오 클라이언트는 이것을 수신한다(S1502).
구체적으로는, 오디오 클라이언트는, 도 37에 도시한 바와 같은 곡 정보 요구 커맨드를 송신한다(S1501). 이 곡 정보 요구 커맨드는, 지정된 곡의 파일명을 포함한다. 콘텐츠 서버는, 이 곡 정보 요구 커맨드에 응답하여, 도 38에 도시한 바와 같은 곡 정보를 회신한다(S2501). 이 곡 정보는, 지정된 곡의 데이터 오프셋 및 데이터 사이즈를 포함한다. MP3 등의 음악 데이터는 일반적으로, 콘텐츠 정보의 앞에 헤더 정보를 갖는다. 데이터 오프셋은, 이 헤더 정보를 스킵하고, 곡의 선두 어드레스를 지정하기 위한 것이다. 오프셋을 콘텐츠 서버가 해석함으로써, 오디오 클라이언트는 오프셋을 해석할 필요가 없어진다. 일반적으로, 콘텐츠 서버는 오디오 클라이언트보다도 처리 능력이 높기 때문에, 시스템 전체로서 처리를 고속화할 수 있다. 데이터 사이즈는, 곡의 종료 시기를 확인하기 위한 것이다.
계속해서, 오디오 클라이언트는 지정된 곡의 재생 준비를 콘텐츠 서버에 요구하고 (S1503), 콘텐츠 서버는 이 요구에 따라 지정된 곡의 파일을 오픈하고, 그 결과를 오디오 클라이언트에게 회신하고(S2502), 오디오 클라이언트는 이것을 수신한다(S1504).
구체적으로는, 오디오 클라이언트는, 도 39에 도시한 바와 같은 곡 재생 준비 커맨드를 송신한다(S1503). 이 곡 재생 준비 커맨드는, 지정된 곡의 파일명 및 후술하는 리스트 구축 키를 포함한다. 콘텐츠 서버는, 이 곡 재생 준비 커맨드에 응답하여 파일을 오픈하고, 도 40에 도시한 바와 같은 에러 코드를 회신한다(S2502). 이 에러 코드는, 파일이 존재하지 않는 등, 파일 전송의 준비를 할 수 없는 경우는 에러 있음으로 되고, 준비를 할 수 있는 경우는 에러 없음으로 된다. 클라이언트는 송신된 에러 코드를 확인하고, 에러가 있으면 소정의 에러 처리를 행한다(S1504).
1.2.2.2.3. 곡의 재생
계속해서, 오디오 클라이언트는 지정된 곡의 음악 데이터중 지정 범위의 음악 데이터의 전송을 콘텐츠 서버에 요구하고(S1601), 콘텐츠 서버는 이 요구에 따라 지정 범위의 음악 데이터를 오디오 클라이언트에게 회신하고(S2601), 오디오 클라이언트는 이것을 수신하고, 메모리(32)에 격납한다(S1602).
구체적으로는, 오디오 클라이언트는, 도 41에 도시한 바와 같은 곡 데이터 전송 요구 커맨드를 송신한다(S1601). 이 곡 데이터 전송 요구 커맨드는, 전송하여야 할 음악 데이터의 취득 시작 어드레스 및 취득 데이터 길이를 포함한다. 콘텐츠 서버는, 도 42에 도시한 바와 같이, 취득 시작 어드레스에 의해 지정된 선두 어드레스로부터 그 취득 데이터 길이만큼 음악 데이터를 회신한다(S2601). 1회에 송신되는 데이터의 사이즈는, 특히 한정되지 않지만, 바람직하게는 1K 내지 32k바이트이고, 더욱 바람직하게는 4K 내지 16k바이트이다. 콘텐츠 서버는 한번에 회신하는 데이터량이 작을수록 부하를 작게 할 수 있고, 클라이언트는 한번에 수신하는 데이터량이 클수록 처리를 빨리할 수 있지만, 1K 내지 32k바이트(특히, 4K 내지 16k바이트)가 콘텐츠 서버와 클라이언트와의 양쪽에 있어서, 최적치로 되기 때문이다. 이와 같은 데이터의 사이즈는 오디오 클라이언트측에서 미리 설정된다.
상기 취득 시작 어드레스를 전송한 취득 데이터 길이만큼 순차적으로 가산하여 가고, 상기 동작을 반복함에 의해(S1605, S2603, S1606, S1607, S2604, S1608), 음악 데이터를 지정 범위마다 순차적으로 전송할 수 있다.
이와 같이, 오디오 클라이언트는 지정한 범위의 음악 데이터를 콘텐츠 서버로부터 취득할 수 있기 때문에, 후술하는 바와 같이, 곡을 도중에서 재생할 수 있는 외에, 빨리 감기 재생, 빨리 되감기 재생, 슬로우 재생 등, 유저의 조작에 따라 음악을 자유롭게 재생할 수 있다.
메모리(32)는, 복수(도 43에 도시한 예에서는 8개)의 버퍼를 포함한다. 도 44에 도시한 바와 같이, 오디오 클라이언트는 곡 데이터 전송 요구 커맨드로 곡의 선두부터 1버퍼분의 음악 데이터를 취득하여 격납한다. 도 45에 도시한 바와 같이, 오디오 클라이언트는 마찬가지로 하여 버퍼가 모두 채워질 때까지 음악 데이터를 취득하여 격납한다.
스텝 S1601 내지 S1608의 사이에서 상기한 바와 같이 버퍼가 전부 채워지면, 오디오 클라이언트는, 도 46에 도시한 바와 같이 선두 버퍼로부터 음악 데이터를 음성 처리부 34에 출력하기 시작한다.
오디오 클라이언트는, 상기한 바와 같이 음악 데이터를 출력하여 음악의 재생을 시작하면, 재생 스테이터스를 콘텐츠 서버에 송신한다(S1603). 콘텐츠 서버는 이것을 수신하고, 에러 코드를 오디오 클라이언트에게 회신한다(S2602). 오디오 클라이언트는 이 에러 코드를 확인하고, 에러가 있으면 소정의 에러 처리를 행한다 (S1604).
상기한 바와 같이 음악 데이터를 전송하면서 음악을 재생하고 있으면, 이윽고 도 47에 도시한 바와 같이 1버퍼분의 빈 곳이 생긴다. 버퍼에 빈 곳이 생기면(S16 09), 오디오 클라이언트 및 콘텐츠 서버는 재차 상기 전송 동작을 행한다(S1610, S2605, S1611). 그 결과, 도 48에 도시한 바와 같이 버퍼의 빈 곳이 채워진다. 오디오 클라이언트 및 콘텐츠 서버는, 버퍼에 빈 곳이 생길 때마다 상기 전송 동작을 반복하여 행한다(S1612 내지 S1616, S2606, S2607).
또한, 상기에서는, 버퍼가 음악 데이터로 전부 채워지고 나서 음악 데이터를 출력하기 시작하고 있지만, 전부 채워지기 전에 출력하기 시작하도록 하여도 좋다.
계속해서, 오디오 클라이언트는, 스텝 S1502에서 취득한 데이터 사이즈에 의거하여, 지정된 곡의 음악 데이터를 전부 수신하였는지의 여부를 판별한다(S1617). 전부 수신한 경우, 오디오 클라이언트는, 수신한 음악 데이터에 의거하여 지정된 곡을 재생 완료하였는지의 여부를 판별하고(S16171), 재생 끝마친 경우는 정지 또는 완료 스테이터스를 콘텐츠 서버에 송신한다(S1618). 유저가 오디오 클라이언트를 조작하고, 그에 따라 오디오 클라이언트가 지정된 곡을 재생하고 그 곡을 재생 끝마친 경우, 또는 유저가 오디오 클라이언트를 조작하고, 그에 따라 오디오 클라이언트가 곡의 재생을 도중에 정지한 경우, 오디오 클라이언트는 정지 스테이터스를 송신한다. 한편, 유저가 컨트롤러를 조작하고, 그에 따라 오디오 클라이언트가 컨트롤러로부터 지정된 곡을 재생하고 그 곡을 재생 끝마친 경우, 오디오 클라이언트는 완료 스테이터스를 송신한다. 이와 같이 정지 스테이터스와 완료 스테이터스 를 구별하는 이유는 후술한다.
콘텐츠 서버는 이 스테이터스를 수신하고, 에러 코드를 오디오 클라이언트에게 회신한다(S2608). 오디오 클라이언트는 이 에러 코드를 확인하고, 에러가 있으면 소정의 에러 처리를 행한다(S1619).
이상과 같이, 음악 데이터를 분할하고, 콘텐츠 서버로부터 오디오 클라이언트에게 단속적으로 전송하고 있기 때문에, 버퍼 용량이 적어도 적절하게 음악을 재생할 수 있다.
상기에서는 음악 데이터를 바이트 단위로 전송하고 있지만, MP3의 음악 데이터를 전송하는 경우는 프레임 단위로 전송하는 것이 바람직하다. 시간 표시, 빨리 감기 또는 빨리 되감기 재생 등의 특수 재생(후술)에서 유리한 점이 많기 때문이다. 따라서 MP3의 음악 데이터의 경우, 오디오 클라이언트는 프레임 단위로 음악 데이터를 요구하는 것으로 한다. 이 요구에 응답하여, 콘텐츠 서버는 지정된 파일의 중에서 MP3의 프레임 헤더를 검색하고, 프레임의 선두로부터 전송을 행한다. 이 헤더 중에는 데이터 길이를 산출할 수 있는 파라미터가 포함되어 있기 때문에, 한번 헤더를 발견하면, 이후, 프레임의 선두를 발견하는 것은 곤란하지 않다.
1.2.2.3. 특수 재생
또한, 빨리 감기, 빨리 되감기, 일시 정지, 슬로우 등, 특수 재생을 가능하게 하기 위해, 음악 데이터의 전송 요구, 회신 및 취득이라는 일련의 처리 전에, 오디오 클라이언트는 이하와 같은 처리를 행한다.
1.2.2.3.1. 빨리 감기 재생
빨리 감기 재생의 경우, 도 49를 참조하면, 오디오 클라이언트는, 키 입력을 감시하고(S1620), 빨리 감기 재생 키가 눌린 경우는 스킵 양을 0보다 큰 값으로 설정하고(S1621), 그렇지 않은 경우는 스킵 양을 0으로 설정한다(S1622).
버퍼에 빈 곳이 생기면(S1609), 오디오 클라이언트는, 음악 데이터의 취득 시작 어드레스를 다음 식에 의해 계산한다(S1624).
취득 시작 어드레스 = 전회의 취득 시작 어드레스 + 취득 데이터 길이 + 스킵 양
스텝 S1620에서 빨리 감기 재생 키가 눌리지 않은 경우, 스텝 S1622에서 스킵 양은 0으로 설정되기 때문에, 취득 시작 어드레스는 취득 데이터 길이씩 증가한다. 이 경우, 오디오 클라이언트는 음악 데이터를 연속적으로 취득하기 때문에, 통상의 재생을 행한다. 한편, 스텝 S1620에서 빨리 감기 재생 키가 눌린 경우, 스텝 S1621에서 스킵 양은 0보다 큰 값으로 설정되기 때문에, 오디오 클라이언트는 음악 데이터를 그 스킵 양만큼 뛰어넘어 취득한다. 그 결과, 오디오 클라이언트는 빨리 감기 재생을 행한다. 이 예에서는, 스킵 양이 취득 데이터 길이와 같게 설정되어 있기 때문에, 2배속의 빨리 감기 재생을 행한다. 또한, 예를 들면 스킵 양을 취득 데이터 길이의 2배로 함에 의해, 3배속의 재생을 행할 수 있다.
1.2.2.3.2. 빨리 되감기 재생
빨리 되감기 재생의 경우, 오디오 클라이언트는, 상기 스텝 S1620 대신에 빨리 되감기 재생 키가 눌려 있는지를 판별하고, 상기 스텝 S1621 대신에 스킵 양을 0보다도 작고, 또한 절대치가 전회의 취득 데이터 길이보다도 큰 값으로 설정한다. 스킵 양의 절대치가 전회의 취득 데이터 길이보다도 작으면, 음악 데이터의 취득 범위가 중복되기 때문이다. 매회의 취득 데이터 길이가 일정하면, 절대치를 취득 데이터 길이의 2배로 하면, 통상 재생과 동일한 속도로 되돌리기 재생을 행할 수 있다.
또한, 오디오 클라이언트는, 스텝 S1624에서 계산한 취득 시작 어드레스가 음악 데이터가 존재하는 범위 내인지의 여부를 판별한다(S1625). 범위 내인 경우, 오디오 클라이언트는 다음 스텝 S1610으로 진행하지만, 범위 외인 경우, 오디오 클라이언트는 재생을 정지한다. 통상 재생의 경우는 음악 데이터의 끝을 검지하고 있기 때문에, 이와 같은 종료 조건을 넣을 필요는 없지만, 특히 빨리 되감기 재생의 경우는 음악 데이터의 시작을 검지할 필요가 있기 때문에, 이와 같은 종료 조건을 넣고 있다. 단, 이와 같은 종료 조건을 넣지 않고, 다음 곡의 파일을 오픈하여 빨리 감기 재생을 행하거나, 앞의 곡의 파일을 오픈하여 빨리 되감기 재생을 행하도록 하여도 좋다.
또한, MP3의 음악 데이터의 경우는, 전술한 바와 같이, 프레임 헤더를 판독하면 다음 프레임 헤더의 위치를 거의 확정할 수 있다. 따라서 어느 일정분의 프레임을 스킵하고, 그 후의 수 프레임의 데이터를 재생하고, 재차 프레임을 스킵한다는 동작을 반복함에 의해 빨리 감기 재생을 실현할 수 있다.
1.2.2.3.3. 일시 정지
일시 정지의 경우, 도 50을 참조하면, 오디오 클라이언트는 키 입력을 감시하고(S1626, S1628), 일시 정지 키가 눌린 경우는 동작 스테이터스를 일시 정지로 설정하고(S1627), 재생 키가 눌린 경우는 동작 스테이터스를 재생으로 설정한다(S1629).
버퍼에 빈 곳이 생기면(S1609), 오디오 클라이언트는 동작 스테이터스가 일시 정지인지의 여부를 판정한다(S1631). 일시 정지의 경우, 오디오 클라이언트는 스텝 S1626로 되돌아와 다음 음악 데이터의 전송을 시작하지 않는다. 한편, 일시 정지가 아닌 경우, 즉 재생 키가 눌려 일시 정지가 해제되고, 동작 스테이터스가 재생으로 변화한 경우, 오디오 클라이언트는 스텝 S1610으로 진행하고 다음의 음악 데이터의 전송을 시작한다.
또한, 동작 스테이터스가 일시 정지로 된 경우, 오디오 클라이언트는 버퍼의 판독 동작을 정지한다. 버퍼에는, 이전에 전송된 음악 데이터가 남아 있기 때문이다.
1.2.2.3.4. 슬로우 재생
음악이 아니라, 동화의 경우는 슬로우 재생을 행할 필요가 있다. 통상, 동화 파일은 MPEG2와 같이 압축 형식이기 때문에, 오디오 클라이언트는 이것을 재생하기 위해 디코더를 구비한다. 슬로우 재생의 경우, 디코더에 슬로우 재생을 지시하는 커맨드가 주어지면, 버퍼에 축적되어 있는 영상 데이터의 감소 속도가 늦어진다. 가령 통상 재생의 30%의 속도로 슬로우 재생을 행하는 것이면, 디코더가 버퍼로부터 판독하는 영상 데이터의 단위 시간당의 양은 30%가 된다. 그 때문에, 상기 스텝 S1609에서 오디오 클라이언트가 버퍼에 빈 곳이 생기는 것을 기다리는 시간이 길어지고, 이로써 슬로우 재생을 실현할 수 있다.
1.2.3. 컨트롤러의 동작
1.2.3.1. 콘텐츠 서버와의 접속
컨트롤러(Ak)도 오디오 클라이언트(Cj)와는 거의 마찬가지로, 우선 콘텐츠 서버(Si)와의 접속을 확립한다.
도 51을 참조하면, 컨트롤러(Ak)에 전원이 투입되면, 컨트롤러(Ak)는 콘텐츠 서버(Si)의 커맨드 포트에 접속한다(S3001). 컨트롤러(Ak)는, 이 커맨드 포트를 통하여 클라이언트 인덱스 요구 커맨드를 발행한다(S3002). 콘텐츠 서버(Si)는 이 커맨드에 응답하여 클라이언트 인덱스를 컨트롤러(Ak)에 회신하고, 컨트롤러(Ak)는 그 취득한 클라이언트 인덱스를 보존한다(S3003).
계속해서, 컨트롤러(Ak)는, 콘텐츠 서버(Si)의 푸시 포트에 접속한다(S3004). 컨트롤러(Ak)는, 이 푸시 포트를 통하여 클라이언트 인덱스 통지 커맨드를 발행하고, 스텝 S3003에서 보존한 클라이언트 인덱스를 콘텐츠 서버에 송신한다(S3005). 이로써, 푸시 포트가 개통한다(S3006).
계속해서, 컨트롤러(Ak)는, 클라이언트 타입을 커맨드 포트를 통하여 콘텐츠 서버(Si)에 통지한다(S3007). 여기서는, 상기 오디오 클라이언트(Cj)와 달리, 컨트롤러(Ak)는 클라이언트 타입으로서 자신이 컨트롤러인 것을 통지한다. 콘텐츠 서버(Si)는, 이 클라이언트 타입에 의해 오디오 클라이언트(Cj)와 컨트롤러(Ak)를 구별할 수 있다.
계속해서, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)의 클라이언트 정보를 콘텐츠 서버(Si)로부터 취득하고(S3008), 그 정보에 포함되는 스테이터스 등을 모니 터상에 표시한다.
그리고, 컨트롤러(Ak)는, 클라이언트 타입 및 취득한 클라이언트 인덱스에 의거하여, 콘텐츠 서버(Si)에 접속되어 있는 오디오 클라이언트(Cj)의 감시 핸들 및 제어 핸들을 콘텐츠 서버(Si)에 요구하고 취득한다(S3009).
상기 접속 순서가 오디오 클라이언트(Cj)와 상위한 점은, 컨트롤러(Ak)는, 자신이 컨트롤러인 것을 나타내는 클라이언트 타입을 콘텐츠 서버(Si)에 통지하는 점이다. 또한, 또 하나의 상위점은, 컨트롤러(Ak)가 감시 핸들 및 제어 핸들의 양쪽 또는 한편을 취득하는 점이다. 이하, 상술한다.
1.2.3.1.1. 감시 핸들 및 제어 핸들의 취득
도 52를 참조하면, 컨트롤러(Ak)는, 콘텐츠 서버(Si)에 접속되어 있는 모든 오디오 클라이언트(Cj)의 리스트를 표시한다(S30091). 컨트롤러(Ak)는, 유저의 조작에 따라 리스트 중에서 감시하고자 하는 오디오 클라이언트(Cj)를 선택한다(S30092). 유저의 조작에 따라 감시하고자 하는 오디오 클라이언트(Cj)를 선택하는 것은 본 네트워크 오디오 시스템을 최초로 기동한 때만으로 하고, 2회째 이후는, 최초에 선택한 오디오 클라이언트(Cj)를 등록하여 두고, 그 등록된 오디오 클라이언트를 자동적으로 선택하도록 하는 것이 바람직하다.
계속해서, 컨트롤러(Ak)는, 그 선택된 오디오 클라이언트(Cj)의 클라이언트 인덱스를 콘텐츠 서버(Si)에 송신하고, 그 감시 핸들을 요구한다(S30093). 콘텐츠 서버(Si)는, 송신원 컨트롤러(Ak)의 클라이언트 인덱스와, 수신한 오디오 클라이언트(Cj)의 클라이언트 인덱스를 대응시켜 기억하고(S20001), 송신원 컨트롤러(Ak)에 대해 감시 핸들을 발행한다(S20002). 그 결과, 컨트롤러(Ak)는 선택된 오디오 클라이언트(Cj)의 감시 핸들을 취득한다(S30094).
계속해서, 컨트롤러(Ak)는 유저의 조작에 따라 리스트 중에서 제어하고자 하는 오디오 클라이언트(Cj)를 선택한다(S30095). 그리고, 컨트롤러(Ak)는 그 선택된 오디오 클라이언트(Cj)의 클라이언트 인덱스를 콘텐츠 서버(Si)에 송신하고, 그 제어 핸들을 요구한다(S30096). 콘텐츠 서버(Si)는, 송신원 컨트롤러(Ak)의 클라이언트 인덱스와, 수신한 오디오 클라이언트(Cj)의 클라이언트 인덱스를 대응시켜 기억하고(S20003), 송신원 컨트롤러(Ak)에 대해 제어 핸들을 발행한다(S20004). 그 결과, 컨트롤러(Ak)는, 선택된 오디오 클라이언트(Cj)의 제어 핸들을 취득한다(S30097).
감시 핸들은, 콘텐츠 서버(Si)로부터 컨트롤러(Ak)에 주어지는 오디오 클라이언트(Cj)를 감시하는 권한이다. 이로써, 오디오 클라이언트(Cj)의 스테이터스가 변화하면, 변화 후의 새로운 스테이터스가 콘텐츠 서버(Si)에 통지된다. 콘텐츠 서버(Si)는 푸시 포트를 통하여 오디오 클라이언트(Cj)의 클라이언트 정보를 컨트롤러(Ak)에 수시로 송신하고, 이에 따라 컨트롤러(Ak)는 오디오 클라이언트(Cj)의 클라이언트 정보를 갱신한다.
본 네트워크형 오디오 시스템에서는, 오디오 클라이언트(Cj)의 수가 많을수록 LAN(12)에 부하가 걸린다. 또한, 컨트롤러(Ak)의 커맨드나 오디오 클라이언트(Cj)의 스테이터스 등의 전송은 LAN(12)상의 트래픽에 영향을 미친다.
도 53에 도시한 바와 같이, 복수의 컨트롤러(A1 내지 A3)가 같은 LAN(12)상 에 존재하는 경우에, 콘텐츠 서버(Si)는 오디오 클라이언트(C1 내지 C3)의 클라이언트 정보를 모든 컨트롤러(A1 내지 A3)에 송신하도록 하는 것도 가능하지만, 이와 같이 하면, 네트워크 트래픽 및 콘텐츠 서버의 부하가 증대한다.
그래서 도 54에 도시한 바와 같이, 컨트롤러(A1)가 오디오 클라이언트(C1)만의 감시 핸들을 취득하고, 컨트롤러(A2)가 오디오 클라이언트(C2)만의 감시 핸들을 취득하도록 하고, 콘텐츠 서버(Si)는, 오디오 클라이언트(C1)의 클라이언트 정보를 컨트롤러(A1)에만 송신하고, 오디오 클라이언트(C2)의 클라이언트 정보를 컨트롤러(A2)에만 송신하도록 한다.
콘텐츠 서버(Si)는, 오디오 클라이언트(Cj)의 감시 핸들을 취득하고 있는 컨트롤러(Ak)에만 클라이언트 정보를 송신하기 때문에, 네트워크 트래픽 및 콘텐츠 서버의 부하가 경감된다. 단, 컨트롤러(A3)가 모든 오디오 클라이언트(C1 내지 C3)의 감시 핸들을 취득하고, 콘텐츠 서버(Si)가 모든 컨트롤러(A1 내지 A3)에 클라이언트 정보를 송신하도록 하여도 좋다.
한편, 제어 핸들은, 콘텐츠 서버(Si)로부터 컨트롤러(Ak)에 주어지는 오디오 클라이언트(Cj)를 제어하는 권한이다.
본 네트워크형 오디오 시스템에 있어서, 컨트롤러(Ak)가 복수 존재하는 경우, 어느 컨트롤러(Ak)도 오디오 클라이언트(Cj)를 제어할 수 있도록 하면, 어느 컨트롤러(Ak)로부터의 명령에 따라 오디오 클라이언트(Cj)가 곡을 한창 재생하고 있을 때, 다른 컨트롤러(Ak)가 그 오디오 클라이언트(Cj)에 재생의 정지를 명령하거나, 다른 곡의 재생을 명령할 우려가 있다.
그래서, 본 시스템에서는, 오디오 클라이언트(Cj)의 제어 핸들을 취득하고 있는 컨트롤러(Ak)만이 그 오디오 클라이언트(Cj)를 제어할 수 있고, 오디오 클라이언트(Cj)의 제어 핸들을 취득하지 않은 컨트롤러(Ak)는 그 오디오 클라이언트(Cj)를 제어할 수 없도록 한다.
콘텐츠 서버가 제어 핸들을 취득할 수 있는 컨트롤러를 제한하면, 오디오 클라이언트와 그것을 제어할 수 있는 컨트롤러의 조합을 설정할 수 있다. 또한, 컨트롤러가 제어 핸들 개방 커맨드를 콘텐츠 서버에 발행함에 의해, 제어 핸들을 포기할 수 있도록 한다.
1.2.3.2. 모니터(감시) 기능
컨트롤러(Ak)는, 상술한 바와 같이 감시 핸들을 취득함에 의해, 오디오 클라이언트(Cj)를 감시할 수 있게 된다.
도 55를 참조하면, 컨트롤러(Ak)는 콘텐츠 서버(Si)에 클라이언트 정보를 요구하고(S31), 콘텐츠 서버(Si)는 이에 따라 클라이언트 정보를 회신하고(S27), 컨트롤러(Ak)는 이것을 취득하여 기억한다(S31). 또는, 콘텐츠 서버(Si)가 오디오 클라이언트(Cj)로부터 클라이언트 정보를 수신한 경우, 콘텐츠 서버(Si)는 컨트롤러(Ak)에 푸시 포트로 클라이언트 정보를 송신하고, 컨트롤러(Ak)는 이것을 취득하여 기억한다. 그리고, 컨트롤러(Ak)는 취득한 클라이언트 정보를 표시한다(S32). 이하, 이 컨트롤러에 의한 모니터 기능을 상세히 설명한다.
도 56을 참조하면, 콘텐츠 서버(Si)는 컨트롤러(Ak)로부터의 요구 또는 오디오 클라이언트로부터의 클라이언트 정보의 수신에 따라 클라이언트 정보를 송신한 다(S2701). 컨트롤러(Ak)는 이 클라이언트 정보를 수신하면, 각 정보에 변경이 없는지를 조사한다. 즉, 최초에 클라이언트 인덱스를 확인하고(S3101), 어느 오디오 클라이언트(Cj)의 클라이언트 정보인지를 기억하여 둔다. 그리고, 기억한 오디오 클라이언트의 프로덕트ID 및 펌웨어ID를 확인한다(S3102, S3103).
구체적으로는, 프로덕트ID에 의해 오디오 클라이언트의 종류를 판별하고, 펌웨어ID에 의해 펌웨어의 버전을 판별한다. 만약 그 오디오 클라이언트에게 적용되어 있는 펌웨어의 버전이 오래되었으면, 컨트롤러(Ak)는 인터넷상의 고객 서비스에 액세스하고, 오디오 클라이언트(Cj)에 펌웨어를 배신하여 자동적으로 갱신한다. 펌웨어 갱신의 상세는 후술한다.
또한, 컨트롤러(Ak)는, 수신한 클라이언트 정보를 해석하여 클라이언트 타입을 확인하고, 오디오 클라이언트(Cj)이면 그들 용의 처리로 분기하고, 그 이외라면 무시하도록 한다.
계속해서, 컨트롤러(Ak)는, 접속 정보에 변경이 없는지를 체크하고(S3104), 변경이 있으면 오디오 클라이언트(Cj)의 접속 상태의 표시를 변경한다(S3105).
따라서, 복수의 오디오 클라이언트(Cj)에 전원이 들어가고, 그들이 콘텐츠 서버(Si)에 접속되어 있는지의 여부를 컨트롤러(Ak)에서 항상 감시할 수 있다.
오디오 클라이언트(Cj)가 접속되어 있으면, 컨트롤러(Ak)는, 볼륨값에 변경이 없는지를 체크하고(S3106), 변경이 있으면 볼륨값의 표시를 변경한다(S3107).
계속해서, 컨트롤러(Ak)는, 리스트 구축 키(후술한다)에 변경이 없는지를 체크하고(S3108), 변경이 있으면 리스트 구축 키를 이용하고 콘텐츠 서버(Si)에 곡 리스트를 요구한다(S3109). 콘텐츠 서버(Si)는 이 요구에 따라 곡 리스트를 회신하고(S2702), 컨트롤러(Ak)는 이 곡 리스트를 수신한다(S3110).
컨트롤러(Ak)는, 수신한 곡 리스트를 오디오 클라이언트(Cj)가 재생중인 곡 리스트로서 기억함과 함께, 현재 재생중 곡이 곡 리스트의 몇 번째 곡인지를 조사하여 그 번호를 기억한다(S3111).
계속해서, 컨트롤러(Ak)는, 재생중인 곡에 변경이 없는지를 체크하고(S3112), 변경이 있으면 곡의 데이터 포맷을 확인하고(S3113), 재생중인 곡명이나 아티스트명의 표시를 변경하고(S3114), 현재 재생중 곡이 곡 리스트의 몇 번째 곡인지를 조사하고 그 번호를 기억한다(S3115).
최후로, 컨트롤러(Ak)는, 스테이터스에 변경이 없는지를 체크하고(S3116), 변경이 있으면 스테이터스의 표시를 변경한다(S3117). 오디오 클라이언트(Cj)가 리모콘에 의해 제어되는 경우도, 컨트롤러(Ak)는 그 스테이터스를 감시하여 표시한다. 오디오 클라이언트(Cj)의 스테이터스가 완료 스테이터스이면(S3118), 컨트롤러(Ak)는 오디오 클라이언트(Cj)에 그 다음의 곡을 계속하여 재생하도록 명령한다(S3119). 연속 재생의 상세는 후술한다.
이상의 처리는, 컨트롤러가 감시 핸들을 취득한 모든 오디오 클라이언트중 어느 하나의 클라이언트 정보가 변화할 때마다 반복된다.
또한, 도시되어 있지 않지만, 컨트롤러(Ak)는, 각 오디오 클라이언트(Cj)의 클라이언트 타입을 감시한다. 또한, 컨트롤러(Ak)는, 재생 가능한 데이터 포맷을 감시하고, 재생 가능한 곡명만을 표시한다.
이상과 같이, 콘텐츠 서버가 클라이언트로부터 클라이언트 정보를 수신한 때, 푸시 포트로 강제적으로 컨트롤러에 클라이언트 정보를 송신함에 의해, 컨트롤러(Ak)는 오디오 클라이언트(Cj)를 항상 감시할 수 있고, 또한, 콘텐츠 서버(Si)로부터 컨트롤러(CL)에는 필요한 최저한의 정보밖에 송신되지 않는다. 그 때문에, 컨트롤러(Ak)에 걸리는 처리의 부담이 경감된다. 또한, 오디오 클라이언트(Cj)가 복수라도, 컨트롤러(Ak)는 클라이언트 인덱스에 의해 오디오 클라이언트(Cj)를 구별하고, 각 클라이언트 정보를 리얼타임으로 갱신할 수 있다.
1.2.3.3. 제어 기능
컨트롤러(Ak)는, 상술한 바와 같이 제어 핸들을 취득함에 의해, 오디오 클라이언트(Cj)를 제어할 수 있게 된다.
도 57을 참조하면, 컨트롤러(Ak)는 제어 커맨드를 콘텐츠 서버(Si)에 송신하고(S33), 콘텐츠 서버(Si)는 이것을 지정된 오디오 클라이언트(Cj)에 송신한다(S28). 오디오 클라이언트(Cj)는 이 제어 커맨드에 따라 동작하고, 그 스테이터스를 변경하고(S18), 그 변경한 스테이터스를 콘텐츠 서버(Si)에 송신한다(S19). 콘텐츠 서버(Si)는 이 스테이터스를 컨트롤러(Ak)에 송신하고(S29), 컨트롤러(Ak)는 이에 따라 기억하고 있는 클라이언트 정보의 스테이터스를 변경한다(S34).
1.2.3.3.1. 제어 커맨드 처리
다음에, 도 58을 참조하면, 오디오 클라이언트(Cj)가 컨트롤러(Ak)로부터 콘텐츠 서버(Si)를 통하여 받은 제어 커맨드에 따라 행하는 처리를 설명한다.
오디오 클라이언트(Cj)는, 푸시 포트에 무엇인가 데이터가 기록된 경우 (S3001), 그 데이터를 수신하여 해석한다(S3002).
수신한 데이터가 재생 커맨드라면(S3003), 오디오 클라이언트(Cj)는 지정된 파일명을 콘텐츠 서버(Si)로부터 취득한다(S3004). 오디오 클라이언트(Cj)는, 취득한 파일명으로부터, 곡명, 앨범, 장르 등을 특정한다. 그리고, 오디오 클라이언트(Cj)는 곡을 지정하고 또한 그 곡의 음악 데이터를 전송하도록 콘텐츠 서버(Si)에 지령한다(S3005). 오디오 클라이언트(Cj)는 전송된 음악 데이터에 의거하여 재생을 행한다.
수신한 데이터가 재생 정지 커맨드라면(S3006), 오디오 클라이언트(Cj)는 곡 데이터 전송 요구 커맨드의 발행을 정지함에 의해 음악 데이터의 전송을 정지하고(S3007), 정지 스테이터스를 콘텐츠 서버(Si)에 송신한다(S3008). 오디오 클라이언트(Cj)는, 그 밖에, 볼륨값 세트 커맨드, 포즈 커맨드, AV 리시버 제어 커맨드, 펌웨어 업데이트 커맨드 등에 응답하여, 소정의 처리를 행한다(S3009 내지 S 3010).
1.2.3.3.2. 재생 제어
여기서, 컨트롤러(Ak)가 재생 커맨드에 따라 오디오 클라이언트(Cj)에 소망하는 아티스트의 소망하는 곡을 재생시키는 동작을 설명한다.
도 59를 참조하면, 컨트롤러(Ak)는 오디오 클라이언트(Cj)의 접속을 확인하고(S3011), 접속이 있으면 오디오 클라이언트(Cj)의 펌웨어ID 및 프로덕트ID를 확인한다(S3012, S3013).
계속해서, 컨트롤러(Ak)는, 클라이언트 타입에 의거하여 오디오 클라이언트(Cj)가 오디오 클라이언트 또는 AVR 클라이언트인지의 여부를 판별한다(S3014). 여 기서는 오디오 클라이언트(Cj)이기 때문에, 컨트롤러(Ak)는 소망하는 아티스트의 곡 리스트를 이미 취득하고 있는지의 여부를 판별한다(S3015). 아직 취득하지 않았으면, 컨트롤러(Ak)는 콘텐츠 서버(Si)로부터 소망하는 아티스트의 곡 리스트를 취득한다(S3016). 컨트롤러(Ak)는, 이 곡 리스트를 표시 장치에 표시한다.
취득된 곡 리스트 중에 유저가 재생을 희망하는 곡이 있으면(S3017), 컨트롤러(Ak)는, 유저의 입력 조작에 따라 그 곡을 선택하고, 재생 커맨드를 콘텐츠 서버(Si)에 송신한다(S3018). 이 재생 커맨드는, 선택된 곡의 데이터를 격납하고 있는 파일명과, 곡을 재생시키려고 하는 오디오 클라이언트의 클라이언트 인덱스를 포함한다. 한편, 희망하는 곡이 없으면, 컨트롤러(Ak)는 재차 소망하는 아티스트의 다음 곡 리스트를 취득한다(S3016).
콘텐츠 서버(Si)는, 컨트롤러(Ak)로부터 송신된 클라이언트 인덱스에 의거하여 오디오 클라이언트(Cj)를 특정하고, 그 오디오 클라이언트(Cj)에 선택된 곡의 파일명을 송신한다(S28).
오디오 클라이언트(Cj)는, 컨트롤러(Ak)로부터 콘텐츠 서버(Si)를 통하여 송신되어 온 재생 커맨드에 응답하여 소망하는 곡을 재생하고, 스테이터스를 재생 스테이터스로 변경한다(S18). 오디오 클라이언트(Cj)는 재생 스테이터스를 콘텐츠 서버(Si)에 송신하고(S19), 콘텐츠 서버(Si)는 그 재생 스테이터스를 컨트롤러(Ak)에 송신한다(S29). 컨트롤러(Ak)는 이에 따라 오디오 클라이언트(Cj)의 스테이터스를 재생 스테이터스로 변경한다(S34).
1.2.3.3.3. 재생 가능한 포맷인지를 식별하여 재생
곡 리스트에는, 오디오 클라이언트(Cj)가 재생 가능한 포맷인지의 여부에 관계없이, 모든 포맷의 곡이 포함된다. 그 때문에, 유저가 소망하는 곡을 선택한 때에 컨트롤러(Ak)가 콘텐츠 서버(Si)로부터 취득한 곡 리스트를 그대로 유저에 대해 표시하였다고 하면, 다음과 같은 문제가 생긴다.
즉, 유저가 오디오 클라이언트(Cj)가 재생할 수 없는 포맷의 이유를 선택한 경우에도, 컨트롤러(Ak)는 유저가 선택한 곡의 재생을 오디오 클라이언트(Cj)에 명령하기 때문에, 오디오 클라이언트(Cj)에서는 표시는 재생 상태로 되어 있는데도 재생음은 나오지 않는다.
그래서 도 60에 도시한 바와 같이, 클라이언트 정보의 클라이언트 타입에 재생 가능한 포맷에 관한 정보를 추가한다. 따라서, 클라이언트 타입은, 클라이언트의 하드웨어 구성에 관한 정보와, 오디오 클라이언트가 재생 가능한 포맷에 관한 정보로 구성된다.
하드웨어 구성에 관한 정보에는, 다음과 같은 것이 있다. 「오디오 클라이언트(인텔리전트 타입)」는, 음악을 재생하며 또한 리모콘 신호를 수신할 수 있는 오디오 클라이언트이다. 「오디오 클라이언트(논인텔리전트 타입)」는, 음악을 재생할 수 있지만, 리모콘 신호를 수신할 수 없는 오디오 클라이언트이다. 「컨트롤러」는, 콘텐츠 서버를 통하여 오디오 클라이언트를 감시하며 또한 제어할 수 있는 클라이언트이다. 「AVR 클라이언트」는, EIA-232 포트를 가지며, AV 리시버와 통신할 수 있는 클라이언트이다. 「AVR 컨트롤러」는, 콘텐츠 서버를 통하여 AVR 클라이언트를 제어하며 또한 감시할 수 있는 클라이언트이다. 재생 가능한 포맷에 관한 정보에는, MP3, WAV, WMA 등이 있다.
하나의 클라이언트의 클라이언트 타입에, 복수의 하드웨어 구성에 관한 정보가 포함되어 있는 경우도 있고, 또한, 복수의 재생 가능한 포맷에 관한 정보가 포함되어 있는 경우도 있다.
다음에, 컨트롤러(Ak)가 유저에 대해 곡 리스트를 표시하는 때의 처리 순서를 도 61을 참조하여 설명한다.
우선 컨트롤러(Ak)는, 곡을 재생시키려고 하는 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)에 접속되어 있는지의 여부를 판별한다(S3501). 미접속인 경우, 오디오 클라이언트(Cj)는 곡을 재생할 수 없기 때문에, 곡 리스트의 모든 곡을 재생 불가능한 곡으로서 표시하거나, 또는 모든 곡을 표시하지 않는다(S3502). 따라서 오디오 클라이언트(Cj)가 재생 불가능한 곡을 유저가 선택하는 것을 방지할 수 있다.
한편, 기접속(旣接續)인 경우, 이하의 스텝 S3505 내지 S3507을 곡 리스트의 곡 수만큼 반복한다(S3503, S3504, S3508).
즉, 컨트롤러(Ak)는, 곡 리스트중 n번째의 곡의 포맷이 오디오 클라이언트(Cj)가 재생 가능한 포맷인지의 여부를 판별한다(S35 05). 재생 가능한 포맷이라면, 컨트롤러(Ak)는 그 곡을 재생 가능한 곡으로서 표시하고(S3506), 재생 불가능한 포맷이라면, 재생 불가능한 곡으로서 표시하거나, 또는 표시하지 않는다(S3507).
예를 들면 오디오 클라이언트(C1)가 MP3도 WAV도 재생할 수 있는 경우, 컨트롤러(Ak)는, 도 62에 도시한 바와 같이, 곡 리스트(이 예에서는 플레이 리스트)중 모든 곡을 표시한다. 그러나, 오디오 클라이언트(C2)가 MP3은 재생할 수 있지만, WAV는 재생할 수 없는 경우는, 도 63에 도시한 바와 같이, 곡 리스트중 MP3의 곡은 통상과 같이 표시하지만, WAV의 곡은 엷게 표시한다. 또한, 곡을 엷게 표시하는 것이 아니라, 전혀 표시하지 않도록 하여도 좋다. 따라서 오디오 클라이언트(C2)가 재생 불가능한 WAV의 곡을 유저가 선택하는 것을 방지할 수 있다.
또한, 오디오 클라이언트(Cj)의 접속 상태나 클라이언트 타입에 변경이 있는 경우, 컨트롤러(Ak)는 곡 리스트를 재표시하고, 현재의 오디오 클라이언트의 클라이언트 정보를 리얼타임으로 표시한다.
다음에, 유저가 컨트롤러(Ak)를 조작하여 오디오 클라이언트(Cj)에 곡을 재생시키는 경우의 컨트롤러의 동작을 설명한다.
도 64를 참조하면, 유저가 재생하고 싶은 곡을 선택하면, 컨트롤러(Ak)는 그 선택된 곡의 포맷이 오디오 클라이언트(Cj)가 재생 가능한 포맷인지의 여부를 판별한다(S3511). 구체적으로는, 컨트롤러(Ak)는, 그 선택된 곡의 포맷을 클라이언트 타입중 재생 가능한 포맷과 비교한다.
재생 가능한 포맷이라면, 컨트롤러(Ak)는, 그 선택된 곡을 재생하도록 오디오 클라이언트(Cj)에 명령한다(S3512). 한편, 재생 불가능한 포맷이라면, 오디오 클라이언트(Cj)는 그 선택된 곡을 재생할 수 없다는 취지를 유저에 알린다(S3513).
이상과 같이, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)가 재생할 수 있는 곡이 유저에 알려지도록 표시하고, 이로써, 오디오 클라이언트(Cj)가 재생할 수 없는 곡의 재생을 유저가 요구하지 않도록 할 수 있다.
1.2.3.3.4. 연속 재생 제어
유저가 오디오 클라이언트(Cj)를 조작하여 그 오디오 클라이언트(Cj)에서 곡을 재생하고 있는 경우는, 오디오 클라이언트(Cj)는 곡 리스트를 취득하고 있기 때문에, 그 곡 리스트중 곡을 연속하여 재생한 것이 가능하다. 그러나, 오디오 클라이언트(Cj)가 컨트롤러(Ak)에 의해 지시된 곡을 재생하고 있는 경우는, 오디오 클라이언트(Cj) 자신은 곡 리스트를 취득하고 있지 않기 때문에, 오디오 클라이언트(Cj)가 곡 리스트중 곡을 연속하여 재생하기 위해서는, 컨트롤러(Ak)가 오디오 클라이언트(Cj)에 다음 곡을 지시할 필요가 있다.
또한, 네트워크상에 컨트롤러가 하나밖에 존재하지 않는 경우는 문제가 되지 않지만, 복수 존재하는 경우는, 오디오 클라이언트가 정상적으로 연속 재생을 할 수가 없다는 문제가 생긴다. 예를 들면 오디오 클라이언트로부터 재생의 완료가 통지된 콘텐츠 서버가 모든 컨트롤러에 재생의 완료를 통지하였다고 하면, 오디오 클라이언트는 복수의 컨트롤러로부터 연속 재생의 명령을 받게 되기 때문이다. 이 문제는 네트워크상에 콘텐츠 서버가 복수 존재하는 경우는 더욱 복잡하게 된다. 따라서 네트워크형 오디오 시스템에 있어서 컨트롤러에 의한 연속 재생을 가능하게 하기 위해서는, 어느 컨트롤러가 클라이언트에게 연속 재생을 명령하는 것인가를 관리할 필요가 있다.
본 실시의 형태에서는, 오디오 클라이언트(Cj)는, 컨트롤러(Ak)로부터의 명령에 따라 곡을 재생하고, 그 재생을 종료한 때는 완료 스테이터스를 송신하지만, 그 이외의 때, 예를 들면 유저의 조작에 따라 오디오 클라이언트(Cj)가 스스로 곡 을 재생하고, 그 재생을 종료한 때, 또는 유저의 조작에 따라 오디오 클라이언트(Cj)가 곡의 재생을 도중에 정지한 때 등은, 완료 스테이터스와는 다른 정지 스테이터스를 송신한다. 컨트롤러는, 완료 스테이터스를 수신한 경우에, 연속 재생 처리하여야 할 것으로 판단하고, 곡 리스트 중에서 전에 선택한 곡의 다음 곡을 선택하고, 오디오 클라이언트에게 다음 곡을 재생하도록 명령한다. 또한, 컨트롤러는, 정지 스테이터스를 수신한 경우에는, 오디오 클라이언트에게 다음 곡을 재생하도록 명령하지 않는다. 이상과 같이, 오디오 클라이언트가 스테이터스에 따라 완료 스테이터스와 정지 스테이터스를 구별하여 송신함에 의해, 컨트롤러는 수신한 스테이터스에 의거하여, 오디오 클라이언트에게 다음 곡의 재생을 명령하여야 하는지의 여부를 판단할 수 있다.
따라서, 오디오 클라이언트(Cj)가 유저의 조작에 따라 곡의 재생을 도중에 정지한 경우 또는 오디오 클라이언트(Cj)가 스스로 곡을 선택하고, 그 재생을 종료한 경우에는, 정지 스테이터스를 콘텐츠 서버에 송신하기 때문에, 컨트롤러가 잘못하여 오디오 클라이언트에게 다음 곡을 재생하도록 명령하는 것을 방지할 수 있다.
또한 컨트롤러가 복수 존재하는 경우에는, 오디오 클라이언트로부터 완료 스테이터스를 수신한 콘텐츠 서버는, 각 컨트롤러에 대해, 완료 스테이터스와 정지 스테이터스를 구별하여 송신한다. 즉, 도 65를 참조하면, 컨트롤러(A1)가 오디오 클라이언트(C1)에 재생을 명령한 경우, 컨트롤러(A1)는 우선 콘텐츠 서버(Si)에 오디오 클라이언트(C1)에 대한 재생 커맨드를 송신한다. 콘텐츠 서버(Si)는 컨트롤러(A1)로부터 재생 커맨드를 수신하고, 이것을 오디오 클라이언트(C1)에 송신한다. 오디오 클라이언트(C1)는 콘텐츠 서버(Si)로부터 재생 커맨드를 수신하고, 곡의 재생을 시작한다.
도 66 및 도 67을 참조하면, 오디오 클라이언트(C1)가 곡의 재생을 종료하면, 완료 스테이터스를 콘텐츠 서버에 송신하고(S1901), 콘텐츠 서버(Si)는 이것을 수신한다(S2901). 계속해서, 콘텐츠 서버(Si)는, 이하의 스텝 S2903 내지 S2906을 클라이언트 수만큼 반복한다(S2902, S2907).
콘텐츠 서버(Si)는, 클라이언트 인덱스(n)에 의거하여 n번째의 클라이언트가 오디오 클라이언트(C1)의 감시 핸들을 취득하고 있는 컨트롤러인지의 여부를 판별한다(S2903).
감시 핸들을 취득하고 있는 컨트롤러인 경우, 콘텐츠 서버(Si)는, n번째의 클라이언트(컨트롤러)가 오디오 클라이언트(C1)에 재생을 명령한 컨트롤러(A1)인지의 여부를 판별한다(S2904).
오디오 클라이언트(C1)에 재생을 명령한 컨트롤러(A1)인 경우, 콘텐츠 서버(Si)는, 오디오 클라이언트(C1)로부터 수신한 완료 스테이터스를 컨트롤러(A1)에 송신하고(S2905), 컨트롤러(A1)는 이것을 수신한다(S3401). 한편, 오디오 클라이언트(C1)에 재생을 명령한 컨트롤러(A1) 이외의 컨트롤러(A2)인 경우, 콘텐츠 서버(Si)는, 오디오 클라이언트(C1)로부터 수신한 완료 스테이터스 대신에, 정지 스테이터스를 컨트롤러(A2)에 송신하고(S2906), 컨트롤러(A2)는 이것을 수신한다(S3402).
도 68을 참조하면, 완료 스테이터스를 수신한 컨트롤러(A1)는, 곡 리스트 중 에서 전에 선택한 곡의 다음 곡을 선택하고, 그 곡을 오디오 클라이언트(C1)에 재생시키기 위한 재생 커맨드를 콘텐츠 서버(Si)에 송신한다(S3403). 콘텐츠 서버(Si)는 이것을 수신하고, 오디오 클라이언트(C1)에 송신한다. 오디오 클라이언트(C1)는, 콘텐츠 서버(Si)로부터 송신된 재생 커맨드에 따라 다음 곡을 재생한다.
한편, 정지 스테이터스를 수신한 컨트롤러(A2)는, 오디오 클라이언트(C1)는 정지 상태에 있다고 판단하고, 컨트롤러(A1)와 같은 연속 재생 처리를 행하지 않는다.
오디오 클라이언트(Cj)는, 스테이터스가 재생으로 되면 재생 스테이터스를 콘텐츠 서버(Si)에 송신하고, 스테이터스가 일시 정지로 되면 포즈 스테이터스를 콘텐츠 서버(Si)에 송신하고, 스스로가 지정한 곡의 재생이 종료되면 정지 스테이터스를 콘텐츠 서버(Si)에 송신하지만, 상술한 바와 같이, 컨트롤러(Ak)가 지정한 곡의 재생이 종료되면 완료 스테이터스를 콘텐츠 서버(Si)에 송신한다.
이상과 같이, 오디오 클라이언트(Cj)가 곡의 재생을 종료한 때에 콘텐츠 서버(Si)가 컨트롤러(Ak)에 송신하는 스테이터스를 정지 스테이터스와 완료 스테이터스로 구별함에 의해, 컨트롤러(Ak)는 스스로 재생을 명령한 오디오 클라이언트(Cj)가 곡의 재생을 종료하였는지의 여부를 판단할 수 있다. 그 결과, 컨트롤러(Ak)는 오디오 클라이언트(Cj)에 연속 재생을 명령할 필요가 있는지, 오디오 클라이언트(Cj)의 정지 스테이터스를 표시하는 것만으로 좋은지를 판단할 수 있다.
또한, 오디오 클라이언트(Cj)가 곡의 재생을 종료한 때, 전용 리모콘으로부터의 명령에 따라 곡을 재생하고 있는 경우와, 감시 핸들 및 제어 핸들의 양쪽을 취득하고 있는 컨트롤러(Ak)로부터의 명령에 따라 곡을 재생하고 있는 경우에, 콘텐츠 서버(Si)에 통지하는 스테이터스를 구별하도록 하여도 좋다. 제어 핸들밖에 취득하지 못한 전용 리모콘은 콘텐츠 서버(Si)로부터 스테이터스를 수신할 수 없기 때문에, 연속 재생 처리를 할 수 없는 것이다.
1.2.3.3.5. 리스트 구축 키를 이용한 연속 재생 제어
컨트롤러(Ak)는, 콘텐츠 서버(Si)로부터 다양한 곡 리스트를 취득하여 그 중에서 곡을 선택하고, 그 곡을 오디오 클라이언트(Cj)에 재생시킨다. 그리고, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)의 스테이터스를 감시하고, 오디오 클라이언트(Cj)가 선택된 곡의 재생을 종료하면, 취득하고 있는 곡 리스트 중에서 다음 곡을 선택하고, 그 곡을 오디오 클라이언트(Cj)에 재생시킨다. 컨트롤러(Ak)는 이와 같이 하여 오디오 클라이언트(Cj)에 연속적으로 곡을 재생시키고 있지만, 다음 곡의 재생을 명령하기 위해서는 곡 리스트를 기억하여 둘 필요가 있다. 그 때문에, 곡의 재생을 명령하고 있는 컨트롤러(Ak)의 전원은 곡의 재생중에 끊어질 수 없다.
그래서, 오디오 클라이언트(Cj)에 재생을 명령한 컨트롤러(Ak)의 전원을 도중에 끊어도, 컨트롤러(Ak)가 오디오 클라이언트(Cj)에 연속 재생을 명령할 수 있도록, 이하와 같은 방법을 채용한다.
유저가 콘텐츠 정보 데이터베이스 중에서 재생하고 싶은 곡을 선택할 때에는, 어느 아티스트의 곡 리스트로부터 선택하거나, 어느 장르의 곡 리스트로부터 선택하는 등, 다양한 곡 리스트를 이용한다. 그래서, 콘텐츠 정보 데이터베이스로부터 일의적으로 곡 리스트를 작성할 수 있도록, 리스트 구축 키를 정의한다. 그리 고, 이 리스트 구축 키를, 오디오 클라이언트(Cj)가 재생중인 곡 리스트를 특정하기 위한 정보로서 클라이언트 정보에 부가한다.
도 69를 참조하면, 리스트 구축 키는 「필터의 종류」와 「키워드」로 구성된다. 필터의 종류는, 콘텐츠 정보 데이터베이스중 어느 카테고리에 주목하여 곡 리스트를 작성하는지를 지정하는 것으로, 도 70에 도시한 바와 같은 것이 있다. 필터의 종류가 "TITLE= , "GENRE= , "ARTIST=", "ALBUM=", 또는 "FILENAME="이라면, 콘텐츠 정보 데이터베이스 중에서, 곡명, 장르명, 아티스트명, 앨범명, 또는 파일명이 키워드와 일치하는 곡을 찾아내어 곡 리스트를 작성한다. 필터의 종류가 "PLAYLIST=" 라면, 플레이 리스트의 파일명이 키워드와 일치하는 플레이 리스트에 등록되어 있는 곡을 콘텐츠 정보 데이터베이스로부터 찾아내어 곡 리스트를 작성한다.
예를 들면, 아티스트명 "xxxx"의 곡 리스트인 경우, 필터의 종류는 "ARTIST=", 키워드는 "xxxx"로 되기 때문에, 리스트 구축 키는 "ARTIST=xxxx"로 된다. 또한, 키워드로서 "*"(애스테리스크)를 지정하면, 그 필터의 종류에 대해 사용할 수 있는 키워드의 리스트가 작성된다. 예를 들면 리스트 구축 키 "ARTIST=*"로 작성된 리스트는, 콘텐츠 정보 데이터베이스에 등록되어 있는 곡의 아티스트명의 리스트가 작성된다.
이하에 컨트롤러가 지정한 곡의 재생이 종료된 오디오 클라이언트에 대해, 컨트롤러가 연속 재생 처리를 행하는 순서에 관해 설명한다.
도 71을 참조하면, 컨트롤러(Ak)로부터 재생하도록 명령된 오디오 클라이언 트(Cj)가 곡의 재생을 종료하면, 완료 스테이터스를 콘텐츠 서버(Si)에 송신한다. 콘텐츠 서버(Si)는, 오디오 클라이언트(Cj)의 스테이터스가 변화하였기 때문에, 완료 스테이터스, 재생하고 있던 곡의 파일명, 리스트 구축 키 등을 포함하는 클라이언트 정보를 컨트롤러(Ak)에 송신한다.
컨트롤러(Ak)는 클라이언트 정보를 수신하면, 도 56에 도시한 클라이언트 정보 표시 처리를 시작한다. 이 처리는 이미 설명하였기 때문에, 여기서는 주로 리스트 구축 키를 이용한 연속 재생 제어에 관한 부분을 설명한다.
컨트롤러(Ak)는, 리스트 구축 키에 변경이 없는지 체크하고(S3108), 변경이 있는 경우는 리스트 구축 키를 이용하여 오디오 클라이언트(Cj)가 재생중인 곡 리스트를 콘텐츠 서버(Si)로부터 취득한다(S3110). 상세하게는, 수신한 리스트 구축 키를 콘텐츠 서버에 송신하고, 콘텐츠 서버는 이 리스트 구축 키에 의거하여 리스트를 작성하고, 컨트롤러에 송신한다. 전원이 끊어져서, 컨트롤러(Ak)가 오디오 클라이언트(Cj)가 재생중인 곡 리스트를 기억하지 않은 경우도, 콘텐츠 서버와 접속한 후에 취득한 리스트 구축 키를 이용하여 재생중인 곡 리스트를 콘텐츠 서버(Si)로부터 취득한다.
여기서는, 스테이터스가 완료 스테이터스로 변화하고 있기 때문에, 컨트롤러(Ak)는 완료 처리를 행한다(S3119). 즉, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)가 재생을 종료한 곡의 다음 곡을 곡 리스트로부터 선택하고, 그 선택한 곡을 재생하도록 오디오 클라이언트(Cj)에 명령한다.
도 72를 참조하면, 완료 처리의 상세를 설명한다. 컨트롤러(Ak)는, 도 56중 스텝 S3111에서 기억한 재생 곡 번호(n)를 증가시키고(S31191), 다음에 재생하여야 할 곡을 지정한다. 계속해서, 컨트롤러(Ak)는, 재생 곡 번호(n)가 곡 리스트의 곡 수 이하인지의 여부를 판별한다(S31192). 재생 곡 번호(n)가 곡 리스트의 곡 수를 초과하고 있으면, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)가 곡 리스트의 최후까지 재생하였다고 판단하고 재생 곡 번호(n)를 1로 설정하고(S31193), 다음에 재생하여야 할 곡을 곡 리스트의 최초의 곡으로 되돌린다.
재생 곡 번호(n)가 곡 리스트의 곡 수 이하라면, 컨트롤러(Ak)는, n번째의 곡이 오디오 클라이언트(Cj)에서 재생 가능한 포맷인지의 여부를 체크하고(S31194), 재생 가능한 포맷이라면, 곡 리스트의 n번째의 곡을 재생하도록 오디오 클라이언트(Cj)에 명령한다(S31195). 재생 불가능한 포맷이라면, 또 다음 곡을 재생하기 위해 재귀적(再歸的)으로 이 완료 처리를 행한다. 요컨대, 컨트롤러(Ak)는, 오디오 클라이언트(Cj)가 재생 불가능한 포맷의 곡을 날리고, 그 다음의 곡을 재생하도록 오디오 클라이언트(Cj)에 명령한다.
이상과 같이, 오디오 클라이언트(Cj)에 곡을 재생하도록 명령한 후에 컨트롤러(Ak)의 전원을 끊으면, 컨트롤러(Ak)는 오디오 클라이언트(Cj)에 재생을 명령한 때의 곡 리스트를 소실하여 버린다. 그러나, 전원을 재투입하고, 콘텐츠 서버와의 접속이 완료되면, 도 51의 S3008에서 설명한 바와 같이, 컨트롤러(Ak)는 콘텐츠 서버(Si)로부터 오디오 클라이언트(Cj)의 클라이언트 정보를 취득한다. 이 클라이언트 정보에는 리스트 구축 키가 포함되어 있기 때문에, 컨트롤러(Ak)는 이 리스트 구축 키에 의거하여 클라이언트(C1)가 재생중인 곡 리스트를 재차 취득할 수 있다. 따라서 컨트롤러(Ak)가 오디오 클라이언트(Cj)에 곡을 재생하도록 명령한 후에 그 전원이 끊어진 경우라도, 오디오 클라이언트(Cj)가 곡의 재생을 종료하고, 완료 스테이터스를 송신하고, 이 완료 스테이터스를 컨트롤러(Ak)가 수신한 때에는, 재취득한 곡 리스트에 따라 그 다음의 곡을 재생하도록 오디오 클라이언트(Cj)에 명할 수 있다.
또한, 오디오 클라이언트(Cj)의 재생 동작을 정지시키기 위해서는, 컨트롤러(Ak)는 정지 커맨드를 콘텐츠 서버(Si)를 통하여 오디오 클라이언트(Cj)에 송신하면 좋다. 이 경우, 정지 스테이터스가 오디오 클라이언트(Cj)로부터 콘텐츠 서버(Si)를 통하여 컨트롤러(Ak)에 회신된다. 또한, 오디오 클라이언트(Cj)의 재생 동작을 일시 정지시키기 위해서는, 컨트롤러(Ak)는 일시 정지 커맨드를 콘텐츠 서버(Si)를 통하여 오디오 클라이언트(Cj)에 송신하면 좋다. 이 경우, 포즈 스테이터스가 오디오 클라이언트(Cj)로부터 콘텐츠 서버(Si)를 통하여 컨트롤러(Ak)에 회신된다.
1.2.3.3.6. 우선 순위를 매긴 연속 재생 제어
본 실시의 형태를 콘텐츠 서버(S1) 및 오디오 클라이언트(C1)에 주목하여 설명한다. 본 실시의 형태에서는, 콘텐츠 서버(S1)의 HDD(14)에 컨트롤러 관리 테이블이 격납되어 있다. 컨트롤러 관리 테이블의 일예를 다음. 표 1에 나타낸다. 컨트롤러 관리 테이블에는, 오디오 클라이언트(C1)를 제어하는 우선 순위와, 컨트롤러 (A1 내지 Ak)에 부여된 컨트롤러 인덱스가 대응시켜 기록된다.
Figure 112004046810816-pct00001
본 실시의 형태에서는, 콘텐츠 서버(S1 내지 Si), 오디오 클라이언트(C1 내지 Cj) 및 컨트롤러(A1 내지 Ak)에는, 도 73에 도시한 스텝을 실행하기 위한 컴퓨터 프로그램이 각각 인스톨되어 있다. 이하, 본 실시의 형태에 의한 네트워크형 오디오 시스템(10)의 동작을 도 73에 도시한 순서도를 참조하여 설명한다.
최초에, 컨트롤러(A1)가 콘텐츠 서버(S1)에 접속을 요구하고, 콘텐츠 서버(S1)가 이 요구를 받아들이면, 컨트롤러(A1)와 콘텐츠 서버(S1)와의 사이에서 접속이 확립한다(S30301).
컨트롤러(A1)에 이어서, 컨트롤러(A2)가 콘텐츠 서버(S1)에 접속을 요구하고, 콘텐츠 서버(S1)가 이 요구를 받아들이면, 컨트롤러(A2)와 콘텐츠 서버(S1)와의 사이에서 접속이 확립한다(S30401).
이에 대해, 콘텐츠 서버(S1)는, 컨트롤러 관리 테이블에, 우선 순위 「제 1위」에 대응시켜 컨트롤러(A1)의 컨트롤러 인덱스를 기록하고, 다시 우선 순위 「제 2위」에 대응시켜 컨트롤러(A2)의 컨트롤러 인덱스를 기록한다(S20101). 그 결 과, 상기 표 1에 나타낸 컨트롤러 관리 테이블을 얻을 수 있다. 이 컨트롤러 관리 테이블에 의하면, 컨트롤러(A1)가 최우선으로 연속 재생 처리의 권한을 가지며, 그 다음에 컨트롤러(A2)가 연속 재생 처리의 권한을 갖는다.
이하, 컨트롤러(A1)가 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 복수 곡의 연속 재생을 명령하는 경우의 동작을 설명한다.
컨트롤러(A1)는, 연속 재생의 대상이 되는 곡 리스트를 콘텐츠 서버(S1)에 요구한다(S30302). 구체적으로는, 곡 리스트를 작성하기 위해 필요한 리스트 구축 키를 콘텐츠 서버(S1)에 송신한다.
유저는, 콘텐츠 서버(S1) 중에서 재생하고 싶은 곡을 선택할 때, 어느 아티스트의 곡 리스트로부터 선택하거나, 어느 장르의 곡 리스트로부터 선택하거나 하는 등, 다양한 곡 리스트를 이용한다. 리스트 구축 키는, 이와 같은 곡 리스트를 콘텐츠 서버(S1) 중에서 추출하여 일의적으로 작성하기 위한 검색 키이다. 리스트 구축 키는 도 69에 도시한 바와 같이, 필터의 종류 및 키워드라는 2개의 파라미터로 구성된다.
필터의 종류는, 곡 리스트에 넣어야 할 곡의 카테고리를 지정하는 것으로, 구체적으로는 도 70에 도시한 바와 같다.
콘텐츠 서버(S1)는, 컨트롤러(A1)로부터 송신된 리스트 구축 키에 의거하여 곡 리스트를 작성하고, 컨트롤러(A1)에 송신한다(S20102). 구체적으로는, 필터의 종류가 "TITLE=", "GENRE=", "ARTIST=", "ALBUM=", 또는 "FILENAME=" 이라면, 곡명, 장르 이름, 아티스트명, 앨범명, 또는 파일명이 키워드와 일치하는 1 또는 2 이상의 곡을 찾아내고, 그 곡을 열거한 곡 리스트를 작성한다. 필터의 종류가 "PLAYLIST="라면, 플레이 리스트의 파일명이 키워드와 일치하는 플레이 리스트에 등록되어 있는 곡을 찾아내고, 그 곡을 열거한 곡 리스트(플레이 리스트)를 작성한다. 또한, 콘텐츠 서버(Si)는, 오디오 클라이언트(C1)의 클라이언트 정보의 하나로서, 리스트 구축 키를 클라이언트 인덱스(오디오 클라이언트(C1)의 식별 정보)에 대응시켜 등록한다.
컨트롤러(A1)는, 취득한 곡 리스트 중에서 유저의 조작에 따라 지정된 곡의 재생을 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 명령한다(S30303). 오디오 클라이언트(C1)는, 컨트롤러(A1)로부터의 재생 명령에 따라, 지정된 곡의 음악 콘텐츠를 콘텐츠 서버(S1)에 요구한다(S10201). 콘텐츠 서버(S1)는, 오디오 클라이언트(C1)로부터 요구된 음악 콘텐츠를 오디오 클라이언트(C1)에 배신한다(S20103). 오디오 클라이언트(C1)는, 콘텐츠 서버(S1)로부터 송신된 음악 콘텐츠에 의거하여 곡의 재생을 시작한다(S10202).
오디오 클라이언트(C1)는 지정된 곡을 최후까지 재생을 끝마치면, 그 취지를 나타내는 완료 스테이터스를 콘텐츠 서버(Si)에 송신한다(S10203). 콘텐츠 서버(S1)는 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신하면, 도 74에 도시한 바와 같이, 컨트롤러 관리 테이블(104)을 참조하여, 최고 순위의 컨트롤러(A1)에 완료 스테이터스를 그대로 전송하고, 그것보다 하위의 컨트롤러(A2)에 완료 스테이터스와 다른 정지 스테이터스를 송신한다(S20104).
컨트롤러(A1)는, 도 74에 도시한 바와 같이, 곡 리스트에 따라 다음 곡을 연 속하여 재생하도록 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 명령한다(S30304). 오디오 클라이언트(C1)는, 컨트롤러(A1)로부터의 연속 재생 명령에 따라 그 다음 곡을 재생한다. 이후, 오디오 클라이언트(C1)는 상기 스텝 S201 이후의 동작을 반복한다. 다른 한편, 컨트롤러(A2)는, 콘텐츠 서버(S1)로부터 정지 스테이터스를 수신해도 특히 능동적인 액션을 일으키지 않고, 단지 오디오 클라이언트(C1)의 상태를 감시한다.
또한, 컨트롤러(A1 내지 Ak)가 콘텐츠 서버(S1)로부터 절단되면, 콘텐츠 서버(S1)는 컨트롤러 관리 테이블(104)을 갱신한다. 구체적으로는, 콘텐츠 서버(S1)로부터 절단된 컨트롤러의 컨트롤러 인덱스를 삭제하고, 그보다도 하위의 컨트롤러 인덱스의 우선 순위를 순차적으로 끌어올린다. 예를 들면 도 75에 도시한 바와 같이, 우선 순위가 최고의 컨트롤러(A1)가 콘텐츠 서버(S1)로부터 절단되었을 때는, 그 다음 우선 순위의 컨트롤러(A2)가 끌어올려지고, 컨트롤러(A1) 대신으로 연속 재생 처리의 권한을 획득한다.
또한, 상술한 예로는 컨트롤러(A1)가 최초에 재생을 명령하고, 재차 같은 컨트롤러(A1)가 연속 재생을 명령하고 있지만, 컨트롤러(A2)가 최초에 재생을 명령한 경우라도 컨트롤러(A1)의 우선 순위가 최고인 한 컨트롤러(A1)가 연속 재생을 명령한다. 이 경우, 컨트롤러(A1)는 콘텐츠 서버(S1)로부터 완료 스테이터스를 수신하여도 곡 리스트를 가지고 있지 않기 때문에, 콘텐츠 서버(S1)에 등록되어 있는 오디오 클라이언트(C1)의 리스트 구축 키를 이용하여 콘텐츠 서버(S1)로부터 곡 리스트를 취득하고, 이에 따라 다음 곡을 지정한다.
또한, 곡 리스트에 포함되는 모든 곡이 하나의 콘텐츠 서버(S1)에 축적되어 있다 고는 할 수 없고, 복수의 콘텐츠 서버(S1, Si)에 분산되어 축적되어 있는 경우도 있다. 이 경우, 오디오 클라이언트(C1)는 콘텐츠 서버(S1)의 곡을 재생한 후, 이어서 다른 콘텐츠 서버(Si)의 곡을 재생할 필요가 있다. 그 때문에, 콘텐츠 서버(S1)의 곡을 재생 끝마친 오디오 클라이언트(C1)는 콘텐츠 서버(S1)와의 접속을 일단 해제하고, 콘텐츠 서버(Si)에 다시 접속한다는 서버 전환 처리를 행한다.
콘텐츠 서버(Si)에 다시 접속한 오디오 클라이언트(C1)는, 컨트롤러(A1)로부터의 재생 명령에 따라, 지정된 곡의 음악 콘텐츠를 콘텐츠 서버(Si)에 요구하고, 콘텐츠 서버(Si)는 요구된 음악 콘텐츠를 오디오 클라이언트(C1)에 배신한다.
오디오 클라이언트(C1)는 그 곡의 재생을 끝마치면, 완료 스테이터스를 콘텐츠 서버(Si)에 송신한다. 콘텐츠 서버(Si)는 완료 스테이터스를 수신하면, 그 내부에 있는 컨트롤러 관리 테이블을 참조하여, 최고 순위의 컨트롤러에 완료 스테이터스를 전송하고, 그보다 하위의 컨트롤러에 정지 스테이터스를 송신한다.
여기서, 콘텐츠 서버(Si)에 있는 컨트롤러 관리 테이블은 콘텐츠 서버(S1)에 있는 컨트롤러 관리 테이블과 동일하여도 상이하여도 좋다. 복수의 콘텐츠 서버가 같은 컨트롤러 관리 테이블을 사용하기 위해서는, 예를 들면 어느 콘텐츠 서버가 컨트롤러 관리 테이블의 우선 순위를 결정하고, 그 컨트롤러 관리 테이블을 다른 콘텐츠 서버에 전송하도록 하면 좋다. 한편, 복수의 콘텐츠 서버가 다른 컨트롤러 관리 테이블을 사용하기 위해서는, 예를 들면 각 콘텐츠 서버가 독자적으로 컨트롤러 관리 테이블의 우선 순위를 결정하도록 하면 좋다.
이상과 같이 본 실시의 형태에 의하면, 콘텐츠 서버(S1)가 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신한 때, 컨트롤러 관리 테이블을 참조하여, 최우선의 컨트롤러(A1)에만 완료 스테이터스를 송신하고, 다른 컨트롤러(A2)에는 정지 스테이터스를 송신하고 있기 때문에, 최우선의 컨트롤러(A1)만이 연속 재생을 명령하고, 다른 컨트롤러(A2)가 연속 재생을 명령하는 일은 없다. 따라서 연속 재생 명령의 경합을 배제하고, 정상적으로 연속 재생 처리를 실행할 수 있다.
상기 실시의 형태에서는 우선 순위는 콘텐츠 서버(S1)와의 접속순으로 결정되어 있지만, 이것으로 한정되는 것이 아니라, 예를 들면 오디오 클라이언트(C1)에 명령을 낸 순서로 결정되어도 좋다. 또한, 콘텐츠 서버는 복수 존재할 필요는 없고, 적어도 하나 있으면 좋다. 오디오 클라이언트도 복수 존재할 필요는 없고, 적어도 하나 있으면 좋다.
1.2.3.3.7. 제어 핸들을 이용한 연속 재생 제어
본 실시의 형태에서는, 도 76에 도시한 스텝을 실행하기 위한 컴퓨터 프로그램이 콘텐츠 서버(S1 내지 Si), 오디오 클라이언트(C1 내지 Cj) 및 컨트롤러(A1 내지 Ak)에 각각 인스톨되어 있다. 본 실시의 형태도 상기 실시의 형태와 마찬가지로, 복수의 컨트롤러(A1 내지 Ak)를 구비한 네트워크형 오디오 시스템에 적용 가능하고, 콘텐츠 서버 또는 오디오 클라이언트는 적어도 하나 있으면 좋다.
상기 실시의 형태와 달리 본 실시의 형태에서는, 컨트롤러(A1 내지 Ak)에 제어 핸들 관리 테이블이 격납되어 있다. 제어 핸들 관리 테이블의 일예를 다음 표 2에 나타낸다. 제어 핸들 관리 테이블에는, 오디오 클라이언트(C1 내지 Cj)의 클라 이언트 인덱스와, 오디오 클라이언트(C1 내지 Cj)의 제어 핸들을 취득하고 있는 컨트롤러(A1 내지 Ak)의 컨트롤러 인덱스가 대응시켜 기록된다. 제어 핸들은, 오디오 클라이언트를 제어하는 권한을 나타내는 것이다. 표 2의 예에서는, 오디오 클라이언트(C1)의 제어 핸들은 컨트롤러(A1)에 의해 취득되어 있지만, 오디오 클라이언트(C2 및 Cj)의 제어 핸들은 어느 컨트롤러에도 취득되어 있지 않다.
Figure 112004046810816-pct00002
이하, 콘텐츠 서버(S1), 오디오 클라이언트(C1) 및 컨트롤러(A1)에 주목하고, 도 76에 도시한 순서도를 참조하여 본 실시의 형태의 동작을 설명한다. 또한, 도 76에서는 상기 제 1의 실시의 형태에서 상세히 기술한 곡 리스트의 취득 스텝(도 73 중의 S30302, S20102)은 할애되어 있다.
컨트롤러(A1)는, 오디오 클라이언트(C1)에 재생을 명령하기 전에, 오디오 클라이언트(C1)를 제어하기 위해 필요한 제어 핸들을 취득한다. 구체적으로는, 컨트롤러(A1)는 제어 핸들 관리 테이블을 참조하여, 오디오 클라이언트(C1)의 제어 핸들이 로크되어 있는지의 여부를 판단한다(S30311).
오디오 클라이언트(C1)의 제어 핸들이 이미 다른 컨트롤러(A2 내지 Ak)의 어느 하나에 취득되어 있는 경우, 표 2에 나타낸 제어 핸들 관리 테이블에 있어서, 오디오 클라이언트(C1)의 클라이언트 인덱스에 대응하여 해당 컨트롤러의 컨트롤러 인덱스가 기록되어 있다. 이와 같이 제어 핸들이 이미 취득되어 있는 상태를 「제어 핸들이 로크되어 있다」고 한다. 다른 한편, 오디오 클라이언트(C1)의 제어 핸들이 아직 다른 컨트롤러(A2 내지 Ak)의 어느 것에도 취득되어 있지 않은 경우, 오디오 클라이언트(C1)의 클라이언트 인덱스에 대응하고 어느 컨트롤러 인덱스도 기록되어 있지 않다. 이와 같이 제어 핸들이 아직 취득되어 있지 않은 상태를 「제어 핸들이 로크되어 있지 않다(언로크되어 있다)」고 한다. 예를 들면 표 2에 나타낸 제어 핸들 관리 테이블에서는, 오디오 클라이언트(C2)의 제어 핸들은 로크되어 있지 않다.
오디오 클라이언트(C1)의 제어 핸들이 로크되어 있는 경우, 컨트롤러(A1)는 제어 핸들의 취득에 실패한다. 다른 한편, 로크되어 있지 않은 경우, 컨트롤러(A1)는 콘텐츠 서버(S1)에 제어 핸들의 취득을 요구한다(S30312). 이 요구에 따라, 콘텐츠 서버(S1)는 컨트롤러(A1)에 제어 핸들의 취득을 허가한다(S20111). 이로써, 컨트롤러(A1)는 제어 핸들을 취득하고, 또한 이 제어 핸들을 다른 컨트롤러(A2 내지 Ak)에 취득되지 않도록 로크한다(S30313). 구체적으로는, 컨트롤러(A1)는 제어 핸들 관리 테이블을 갱신하고, 이로써 오디오 클라이언트(C1)의 클라이언트 인덱스에 대응시켜 컨트롤러(A1)의 컨트롤러 인덱스를 기록한다. 콘텐츠 서버(S1)는 다른 컨트롤러(A2 내지 Ak)의 제어 핸들 관리 테이블도 이것에 동기하도록 갱신한다.
제어 핸들을 취득한 컨트롤러(A1)는, 곡 리스트 중에서 유저의 조작에 따라 지정된 곡의 재생을 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 명령한다(S30314). 콘텐츠 서버(S1)는 이 재생 명령을 오디오 클라이언트(C1)에 전송한다(S20112). 오디오 클라이언트(C1)는 이 재생 명령에 따라 지정된 곡의 재생을 시작한다(S10211).
오디오 클라이언트(C1)는 그 곡을 최후까지 재생을 끝마치면, 도 77에 도시한 바와 같이, 완료 스테이터스를 콘텐츠 서버(S1)에 송신한다(S10212). 콘텐츠 서버(S1)는 이 완료 스테이터스를 모든 컨트롤러(A1 내지 Ak)에 전송한다(S20113).
컨트롤러(A1)는, 자신이 제어 핸들을 취득하고 있는 오디오 클라이언트(C1)로부터의 완료 스테이터스인지의 여부를 판단하고(S30315), 그러하면 연속 재생 처리를 실행하고(S30316), 그렇지 않으면 완료 스테이터스를 무시하고, 단지 오디오 클라이언트(C1)의 상태를 감시한다. 본 예에서는, 컨트롤러(A1)는 오디오 클라이언트(C1)의 제어 핸들을 취득하고 있기 때문에 연속 재생 처리를 실행하고(S30316), 곡 리스트에 따라 다음 곡의 재생을 명령한다(S30314).
한편, 오디오 클라이언트(C1)는, 곡을 최후까지 재생하는 일 없이, 곡의 도중에 재생을 정지한 경우, 정지 스테이터스를 콘텐츠 서버(S1)에 송신한다(S10213). 콘텐츠 서버(S1)는 이 정지 스테이터스를 모든 컨트롤러(A1 내지 Ak)에 전송한다(S20114).
컨트롤러(A1)는, 자신이 제어 핸들을 취득하고 있는 오디오 클라이언트(C1)로부터의 정지 스테이터스인지의 여부를 판단하고(S30317), 그렇다면 오디오 클라 이언트(C1)의 제어 핸들을 해제(언로크)하고(S30318), 그렇지 않으면 정지 스테이터스를 무시한다.
컨트롤러(A1)는 상기한 바와 같이 자신이 제어 핸들을 취득하고 있는 오디오 클라이언트(C1)로부터 정지 스테이터스를 수신한 경우 외에, 콘텐츠 서버(S1)로부터 절단된 경우에도 그 취득하고 있는 제어 핸들을 해제한다. 오디오 클라이언트(C1)의 제어 핸들이 해제되면, 컨트롤러(A1 내지 Ak)의 어느 것이나 이 제어 핸들의 취득이 가능해진다.
또한, 곡 리스트에 포함되는 곡이 복수의 콘텐츠 서버(S1, Si)에 분산되어 축적되어 있는 경우, 상기 제 1의 실시의 형태와 마찬가지로, 오디오 클라이언트(C1)는 도 77에 도시한 바와 같이 콘텐츠 서버(S1)로부터 별도의 콘텐츠 서버(Si)에 접속을 전환하게 된다. 콘텐츠 서버(Si)는 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신하여도, 오디오 클라이언트(C1)가 어느 컨트롤러(A1 내지 Ak)로부터 명령된 곡을 재생 끝마친 것인지가 불명하다. 따라서 이 경우도 콘텐츠 서버(Si)는 모든 컨트롤러(A1 내지 Ak)에 완료 스테이터스를 전송하지만, 컨트롤러(A1 내지 Ak)는 제어 핸들 관리 테이블을 가지고 있기 때문에, 자신이 제어 핸들을 취득하고 있는 오디오 클라이언트로부터의 완료 스테이터스를 수신한 때만 연속 재생 처리를 실행한다. 본 예에서는, 컨트롤러(A1)가 오디오 클라이언트(C1)의 제어 핸들을 취득하고 있기 때문에, 이 컨트롤러(A1)만이 연속 재생 처리를 실행한다.
이상과 같이 본 실시의 형태에 의하면, 컨트롤러(A1 내지 Ak)의 각각이 제어 핸들 관리 테이블을 가지고 있기 때문에, 오디오 클라이언트(C1)로부터 송신된 완 료 스테이터스를 콘텐츠 서버(S1)가 모든 컨트롤러(A1 내지 Ak)에 전송하더라도, 컨트롤러(A1 내지 Ak)의 각각은 제어 핸들을 취득하고 있는 오디오 클라이언트로부터의 완료 스테이터스를 수신한 때만 연속 재생 처리를 실행한다. 따라서 연속 재생 명령의 경합을 배제하고, 정상적으로 연속 재생 처리를 실행할 수 있다.
또한, 본 실시의 형태에서는 제어 핸들 관리 테이블은 컨트롤러(A1 내지 Ak)에 격납되어 있지만, 콘텐츠 서버(S1 내지 Si)에 격납되어 있어도 좋다.
또한, 제어 핸들을 로크하는 것이 아니라, 최후로 명령한 컨트롤러가 제어 핸들을 취득할 수 있도록 하여도 상관없다. 즉, 어느 컨트롤러(A1)가 있는 어느 클라이언트(C1)의 제어 핸들을 취득하고 있을 때에, 다른 컨트롤러(A2)가 클라이언트(C1)에 재생을 명령한 경우, 컨트롤러(A2)가 제어 핸들을 취득하고, 컨트롤러(A1)는 제어 핸들을 잃어버리도록 하여도 좋다.
1.2.3.3.8. 콘텐츠 서버에 의한 연속 재생 제어
최초에, 콘텐츠 서버, 오디오 클라이언트 및 컨트롤러를 각각 하나씩 구비한 단순한 예를 도 78을 참조하여 설명한다.
상기 실시의 형태와 마찬가지로, 컨트롤러(A1)는 곡의 재생을 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 명령한다. 오디오 클라이언트(C1)는 이 명령에 따라 그 곡의 음악 콘텐츠를 콘텐츠 서버(S1)에 요구하고, 콘텐츠 서버(S1)는 이 요구에 따라 그 음악 콘텐츠를 오디오 클라이언트(C1)에 배신한다. 오디오 클라이언트(C1)는 배신된 음악 콘텐츠에 의거하여 곡의 재생을 시작하고, 그 곡을 최후까지 재생을 끝마치면 완료 스테이터스를 콘텐츠 서버(S1)에 송신한다. 콘텐츠 서 버(S1)는 이 완료 스테이터스를 수신하면, 상기 실시의 형태와 달리, 다음 곡의 연속 재생을 오디오 클라이언트(C1)에 스스로 명령함과 함께, 정지 스테이터스를 컨트롤러(A1)에 송신한다.
이하, 이 상세를 도 79에 도시한 순서도를 참조하여 설명한다. 본 실시의 형태에서는 도 79에 도시한 스텝을 실행하기 위한 컴퓨터 프로그램이 콘텐츠 서버(S1), 오디오 클라이언트(C1) 및 컨트롤러(A1)에 각각 인스톨되어 있다. 도 79 중의 스텝 S30323, S10221, S20123 내지 S21125가 도 73에 도시한 실시의 형태와 다르기 때문에, 여기서는 이들을 중심으로 설명한다.
컨트롤러(A1)는 상기 실시의 형태와 마찬가지로 곡의 재생을 오디오 클라이언트(C1)에 명령하지만, 상기 실시의 형태와 달리, 또한 스텝 S30302에서 곡 리스트를 취득하기 위해 이용한 리스트 구축 키를 오디오 클라이언트(C1)에 송신한다(S30323).
오디오 클라이언트(C1)는 상기 제 1의 실시의 형태와 마찬가지로 지정된 곡의 음악 콘텐츠를 콘텐츠 서버(S1)에 요구하고, 컨트롤러(A1)로부터 송신된 리스트 구축 키를 콘텐츠 서버(S1)에 전송한다(S10221).
콘텐츠 서버(S1)는 상기 실시의 형태와 마찬가지로 지정된 곡의 음악 콘텐츠를 오디오 클라이언트(C1)에 배신하지만, 상기 실시의 형태와 달리, 오디오 클라이언트(C1)로부터 전송된 리스트 구축 키에 의거하여 곡 리스트를 작성한다(S20123). 리스트 구축 키 및 곡 리스트는, 클라이언트 정보로서, 오디오 클라이언트(C1)의 클라이언트 인덱스에 대응시켜 기록된다. 이로써 콘텐츠 서버(S1)는, 오디오 클라 이언트(C1)가 컨트롤러(A1)로부터의 명령에 따라 재생하고 있는 곡 리스트를 파악하고 있게 된다.
음악의 재생 종료 후, 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신한 콘텐츠 서버(S1)는, 상기 실시의 형태와 달리, 정지 스테이터스를 컨트롤러(A1)에 송신한다(S20124). 그리고, 콘텐츠 서버(S1)는 스텝 S20123에서 작성한 곡 리스트에 따라 다음 곡의 재생을 오디오 클라이언트(C1)에 명령한다(S20125).
이상과 같이 본 실시의 형태에 의하면, 콘텐츠 서버(S1) 스스로가 연속 재생을 명령하기 때문에, 컨트롤러로부터의 연속 재생 명령이 경합하는 일은 없고, 정상적으로 연속 재생 처리를 실행할 수 있다.
상기한 예는 오디오 클라이언트가 하나밖에 없지만, 2개 이상 있어도 좋다. 예를 들면 도 80에 도시한 예에서는, 오디오 클라이언트(C1 및 C2)가 콘텐츠 서버(S1)에 접속되어 있다. 상기 스텝 S123과 마찬가지로, 콘텐츠 서버(S1)는, 오디오 클라이언트(C1 및 C2)가 재생중 리스트 구축 키 및 곡 리스트를 각각 기억하고 있다. 완료 스테이터스가 오디오 클라이언트(C1)로부터 콘텐츠 서버(S1)에 송신되면, 콘텐츠 서버(S1)는 기억한 오디오 클라이언트(C1)의 곡 리스트에 따라 오디오 클라이언트(C1)에 연속 재생을 명령하고, 컨트롤러(A1)에 정지 스테이터스를 송신한다. 또한, 완료 스테이터스가 오디오 클라이언트(C2)로부터 콘텐츠 서버(S1)에 송신되면, 콘텐츠 서버(S1)는 기억한 오디오 클라이언트(C2)의 곡 리스트에 따라 오디오 클라이언트(C2)에 연속 재생을 명령하고, 컨트롤러(A1)에 정지 스테이터스를 송신한다. 이와 같이 콘텐츠 서버(S1)는 오디오 클라이언트(C1 및 C2)를 구별하여 연속 재생을 명령하고 있기 때문에, 연속 재생 명령이 경합하는 일은 없다.
또한, 오디오 클라이언트뿐만 아니라, 콘텐츠 서버도 2개 이상 있어도 좋다. 예를 들면 도 81에 도시한 예에서는, 오디오 클라이언트(C1 및 C2)가 콘텐츠 서버(S1)에 접속되고, 오디오 클라이언트(C3)가 콘텐츠 서버(S2)에 접속되어 있다. 이 경우도, 각 클라이언트에게 접속되어 있는 콘텐츠 서버는 하나이기 때문에, 오디오 클라이언트는 접속되어 있는 콘텐츠 서버에만 완료 스테이터스를 송신한다. 상기한 바와 마찬가지로, 콘텐츠 서버(S1)는 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신하면 오디오 클라이언트(C1)에 연속 재생을 명령하고, 오디오 클라이언트(C2)로부터 완료 스테이터스를 수신하면 오디오 클라이언트(C2)에 연속 재생을 명령한다. 또한 이 경우, 콘텐츠 서버(S2)는 오디오 클라이언트(C3)로부터 완료 스테이터스를 수신하면 오디오 클라이언트(C3)에 연속 재생을 명령한다. 따라서 이 경우도, 오디오 클라이언트에게 연속 재생을 명령하는 콘텐츠 서버는 네트워크상에서 유일하게 되기 때문에, 연속 재생 명령이 경합하는 일은 없다.
또한, 도 81에 도시한 경우에 있어서, 컨트롤러(A1)가 콘텐츠 서버(S2)에 축적되어 있는 곡의 재생을 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C2)에 명령한 때, 도 82에 도시한 바와 같이 오디오 클라이언트(C2)는 콘텐츠 서버(S1)와의 접속을 일단 해제하고, 콘텐츠 서버(S2)에 다시 접속한다. 이 때, 콘텐츠 서버(S2)는, 오디오 클라이언트(C2)로부터 송신된 리스트 구축 키에 의거하여 곡 리스트를 작성하고, 오디오 클라이언트(C2)의 클라이언트 정보로서 이 리스트 구축 키 및 곡 리스트를 기억한다. 오디오 클라이언트(C2)는 콘텐츠 서버(S2)로부터 배신된 곡의 재 생을 끝마치면, 콘텐츠 서버(S2)에 완료 스테이터스를 송신한다. 콘텐츠 서버(S2)는 이 완료 스테이터스에 따라 오디오 클라이언트(C2)에 연속 재생을 명령함과 함께, 정지 스테이터스를 컨트롤러(A1)에 송신한다. 따라서 이 경우도, 오디오 클라이언트에게 연속 재생을 명령하는 콘텐츠 서버는 네트워크상에서 유일하게 되기 때문에, 연속 재생 명령이 경합하는 일은 없다.
또한, 오디오 클라이언트 및 콘텐츠 서버뿐만 아니라, 컨트롤러도 2개 이상 있어도 좋다. 예를 들면 도 83에 도시한 예에서는 컨트롤러(A1 및 A2)가 있다. 콘텐츠 서버(S1)는 오디오 클라이언트(C1 또는 C2)로부터 완료 스테이터스를 수신한 때, 컨트롤러(A1)뿐만 아니라 컨트롤러(A2)에도 정지 스테이터스를 송신한다. 콘텐츠 서버(S2)도 또한 오디오 클라이언트(C3)로부터 완료 스테이터스를 수신한 때, 컨트롤러(A1)뿐만 아니라 컨트롤러(A2)에도 정지 스테이터스를 송신한다. 이와 같이 컨트롤러(A1 및 A2)는 연속 재생을 명령하는 기능을 갖지 않고, 단지 오디오 클라이언트(C1 내지 C3)의 상태를 감시하는 기능을 가지고 있을 뿐이므로, 전혀 연속 재생 처리에 영향을 주지 않는다.
1.2.3.3.9. 오디오 클라이언트 자신에 의한 연속 재생 제어
본 실시의 형태에서는, 도 84에 도시한 스텝을 실행하기 위한 컴퓨터 프로그램이 콘텐츠 서버(S1 내지 Si), 오디오 클라이언트(C1 내지 Cj) 및 컨트롤러(A1 내지 Ak)에 각각 인스톨되어 있다. 도 84중 스텝 S10233 내지 S10235가 도 79에 도시한 실시의 형태와 다르기 때문에, 여기서는 이들을 중심으로 설명한다.
도 79에 도시한 실시의 형태와 마찬가지로, 컨트롤러(A1)는 지정된 곡의 재 생을 오디오 클라이언트(C1)에 명령함과 함께, 리스트 구축 키를 오디오 클라이언트(C1)에 송신하고(S30323), 오디오 클라이언트(C1)는 지정된 곡을 콘텐츠 서버(S1)에 요구하고, 또한 이 요구에 따라 콘텐츠 서버(S1)로부터 배신된 곡의 재생을 시작한다(S10202). 이 때, 오디오 클라이언트(C1)는 컨트롤러(A1)로부터 송신된 리스트 구축 키를 기억하여 둔다.
계속해서, 오디오 클라이언트(C1)는 기억한 리스트 구축 키를 콘텐츠 서버(S1)에 송신하고, 컨트롤러(A1)에서 선곡에 사용한 곡 리스트와 같은 곡 리스트를 콘텐츠 서버(S1)에 요구한다(S10233). 콘텐츠 서버(S1)는 수신한 리스트 구축 키에 의거하여 곡 리스트를 작성하고, 오디오 클라이언트(C1)에 송신한다(S20133). 오디오 클라이언트(C1)는 수신한 곡 리스트를 기억함과 함께, 그 곡 리스트 중에서 현재 재생중인 곡을 특정한다(S10234).
오디오 클라이언트(C1)는 그 곡을 최후까지 재생을 끝마치면, 기억한 곡 리스트에 따라 다음 곡을 재생한다(S10235).
또한, 곡 리스트에 포함되는 곡이 복수의 콘텐츠 서버에 분산되어 축적되어 있는 경우, 오디오 클라이언트(C1)는 상기한 바와 마찬가지로 서버 전환 처리를 행한다.
이상과 같이 본 실시의 형태에 의하면, 오디오 클라이언트(C1) 자신이 리스트 구축 키를 보존하고, 그것을 이용하여 곡 리스트를 취득하고 있기 때문에, 스스로 연속 재생 처리를 실행할 수 있다. 따라서 오디오 클라이언트(C1)가 컨트롤러(A1)나 콘텐츠 서버(S1)로부터 연속 재생 명령을 받는 일은 없고, 연속 재생 명령 이 경합하는 일은 없다.
본 실시의 형태에서 오디오 클라이언트(C1)가 리스트 구축 키를 이용하여 곡 리스트를 취득하고 있는 것은 곡의 재생 중이지만, 곡의 재생 종료 후라도 좋다. 또한, 오디오 클라이언트(C1)는 취득한 곡 리스트를 기억하고 있지만, 기억하지 않고, 연속 재생 처리를 실행할 때마다 리스트 구축 키를 이용하여 곡 리스트를 취득하여도 좋다.
1.2.3.3.10. 재생 명령 관리 테이블을 이용한 연속 재생 제어
본 실시의 형태에서는, 도 85에 도시한 스텝을 실행하기 위한 컴퓨터 프로그램이 콘텐츠 서버(S1 내지 Si), 오디오 클라이언트(C1 내지 Cj) 및 컨트롤러(A1 내지 Ak)에 각각 인스톨되어 있다. 도 85중 스텝 S30341 내지 S30345, S20141이 도 76에 도시한 실시의 형태와 다르기 때문에, 여기서는 이들을 중심으로 설명한다.
본 실시의 형태에 있어서의 콘텐츠 서버(S1)에는, 클라이언트 인덱스와 컨트롤러 인덱스를 대응시킨 재생 명령 관리 테이블이 기억되고 있다. 이 테이블의 일예를 다음 표 3에 나타낸다. 표 3에 나타낸 재생 명령 관리 테이블에는, 오디오 클라이언트(C1)에 재생을 명령한 최신의 컨트롤러(A1)의 컨트롤러 인덱스가 기록되어 있다. 또한, 오디오 클라이언트(C2)에 재생을 명령한 최신의 컨트롤러(A2)의 컨트 롤러 인덱스가 기록되어 있다.
Figure 112004046810816-pct00003
다음에, 도 85에 도시한 순서도를 참조하면, 본 실시의 형태의 동작을 설명한다.
어느 컨트롤러는, 어느 콘텐츠 서버에 축적되어 있는 곡의 재생을 어느 오디오 클라이언트에게 명령한다(S30341).
우선 도 86에 도시한 바와 같이, 컨트롤러(A1)가 콘텐츠 서버(S1)에 축적되어 있는 곡의 재생을 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 명령하는 경우를 설명한다. 이 예에서는, 오디오 클라이언트(C1 및 C2) 및 컨트롤러(A1 내지 A3)가 콘텐츠 서버(S1)에 접속되어 있다.
컨트롤러(A1)는, 콘텐츠 서버(S1)에 오디오 클라이언트(C1)가 접속되어 있는지의 여부를 판단한다(S30342). 이 예에서는 오디오 클라이언트(C1)는 콘텐츠 서버(S1)에 접속되어 있기 때문에, 스텝 S30314로 진행한다.
컨트롤러(A1)는, 곡 리스트 중에서 지정된 곡의 재생을 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 명령한다(S30314). 콘텐츠 서버(S1)는, 이 재생 명령에 따라 미리 정해진 재생 명령 관리 처리를 실행한다(S20141).
구체적으로는 도 87을 참조하면, 콘텐츠 서버(S1)는, 재생 명령 관리 테이블에 있어서의 오디오 클라이언트(C1)의 클라이언트 인덱스에 대응시켜, 컨트롤러(A1)의 컨트롤러 인덱스를 기록한다(S201441). 이로써 콘텐츠 서버(S1)는, 컨트롤러(A1)가 오디오 클라이언트(C1)에 최후로 재생을 명령한 컨트롤러인 것을 기억하게 된다. 콘텐츠 서버(S1)는, 컨트롤러(A1)로부터의 재생 명령을 오디오 클라이언트(C1)에 전송한다(S201412).
오디오 클라이언트(C1)는 컨트롤러(A1)로부터의 재생 명령에 따라 곡의 재생을 시작하고(S10211), 그 재생을 끝마치면, 완료 스테이터스를 콘텐츠 서버(S1)에 송신한다(S10212).
콘텐츠 서버(S1)는 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신하면, 재생 명령 관리 테이블을 참조하여 오디오 클라이언트(C1)에 최후로 재생을 명령한 컨트롤러(A1)를 특정하고, 그 컨트롤러(A1)에 완료 스테이터스를 송신함과 함께, 다른 컨트롤러(A2 및 A3)에 정지 스테이터스를 송신한다(S201413). 완료 스테이터스를 수신한 컨트롤러(A1)는 오디오 클라이언트(C1)에 연속 재생 처리를 실행한다(S30316). 다른 한편, 정지 스테이터스를 수신한 컨트롤러(A2 및 A3)는 전혀 능동적인 액션을 일으키지 않고, 단지 오디오 클라이언트(C1)의 상태를 감시한다.
또한, 오디오 클라이언트(C1)가 컨트롤러(A1)로부터의 명령에 따라 곡을 재생하고 있는 경우에 있어서, 별도의 컨트롤러(A2)가 같은 오디오 클라이언트(C1)에 별도의 곡의 재생을 명령하면, 오디오 클라이언트(C1)는 현재의 곡의 재생을 중지하고, 컨트롤러(A2)로부터의 명령에 따라 새로운 곡의 재생을 시작한다. 이 때, 콘 텐츠 서버(S1)는 재생 명령 관리 테이블을 갱신하고, 다음의 표 4에 나타낸 바와 같이 컨트롤러(A1)의 컨트롤러 인덱스를 컨트롤러(A2)의 컨트롤러 인덱스로 재기록한다.
Figure 112004046810816-pct00004
다음에 도 88에 도시한 바와 같이, 컨트롤러(A3)가 콘텐츠 서버(S1) 경유로 별도의 콘텐츠 서버(S2)에 축적되어 있는 곡의 재생을 오디오 클라이언트(C1)에 명령하는 경우를 설명한다.
컨트롤러(A3)는, 콘텐츠 서버(S2)에 오디오 클라이언트(C1)가 접속되어 있는지의 여부를 판단한다(S30342). 이 예로는 오디오 클라이언트(C1)는 콘텐츠 서버(S2)에 접속되어 있지 않기 때문에, 컨트롤러(A3)는 미리 정해진 서버 전환 처리를 실행한다(S30343).
구체적으로는 도 89를 참조하면, 컨트롤러(A3)는 콘텐츠 서버(S1) 경유로 오디오 클라이언트(C1)에 콘텐츠 서버(S1)로부터 콘텐츠 서버(S2)로의 전환을 명령한다(S303431). 콘텐츠 서버(S1)는 이 전환 명령을 오디오 클라이언트(C1)에 전송한다(S201401). 오디오 클라이언트(C1)는 현재 접속중 콘텐츠 서버(S1)를 절단하고(S102401), 전환 명령에 따라 새로운 콘텐츠 서버(S2)에 접속을 요구한다 (S102402). 콘텐츠 서버(S2)는 이 요구에 따라 오디오 클라이언트(C1)와의 접속을 확립한다(S201402). 컨트롤러(A3)는 콘텐츠 서버(S2)와의 접속을 확인한다(S30344).
계속해서, 컨트롤러(A3)는 콘텐츠 서버(S2) 경유로 곡의 재생을 오디오 클라이언트(C1)에 명령한다(S30314). 콘텐츠 서버(S2)는 이 재생 명령에 따라, 다음 표 5에 나타낸 바와 같이, 재생 명령 관리 테이블에 있어서의 오디오 클라이언트(C1)의 클라이언트 인덱스에 대응시켜, 컨트롤러(A3)의 컨트롤러 인덱스를 기록한다(S201441).
Figure 112004046810816-pct00005
콘텐츠 서버(S2)는, 컨트롤러(A3)로부터의 재생 명령을 오디오 클라이언트(C1)에 전송한다(S201412).
오디오 클라이언트(C1)는 컨트롤러(A3)로부터의 재생 명령에 따라 곡의 재생을 시작하고(S10211), 그 재생을 끝마치면, 완료 스테이터스를 콘텐츠 서버(S2)에 송신한다(S10212). 콘텐츠 서버(S2)는 오디오 클라이언트(C1)로부터 완료 스테이터스를 수신하면, 재생 명령 관리 테이블을 참조하여 오디오 클라이언트(C1)에 최후로 재생을 명령한 컨트롤러(A3)를 특정하고, 그 컨트롤러(A3)에 완료 스테이터스를 송신함과 함께, 다른 컨트롤러(A1 및 A2)에 정지 스테이터스를 송신한다(S1413). 완료 스테이터스를 수신한 컨트롤러(A3)는 오디오 클라이언트(C1)에 연속 재생 처리를 실행한다(S30316). 다른 한편, 정지 스테이터스를 수신한 컨트롤러(A1 및 A2)는 전혀 능동적인 액션을 일으키지 않고, 단지 오디오 클라이언트(C1)의 상태를 감시한다.
이상과 같이 본 실시의 형태에 의하면, 콘텐츠 서버가 오디오 클라이언트에 최후로 재생을 명령한 컨트롤러를 관리하고, 오디오 클라이언트로부터의 완료 스테이터스를 그 컨트롤러에만 전송하고 있기 때문에, 그 컨트롤러만이 연속 재생을 오디오 클라이언트에게 명령한다. 따라서 연속 재생 명령이 경합하는 일은 없고, 정상적으로 연속 재생 처리를 실행할 수 있다.
1.2.4. AV 리시버의 제어
도 90에 도시한 바와 같이, LAN(12)에는 AVR 클라이언트(AC1 및 AC2)가 접속된다. AV 리시버(AVR1)는, EIA1232에 의해 AVR 클라이언트(AC1)에 접속된다. AV 리시버(AVR2)는, USB에 의해 AVR 클라이언트(AC1)에 접속된다. AV 리시버(AVR3)는, 메이커 특유의 시리얼 인터페이스에 의해 AVR 클라이언트(AC2)에 접속된다.
AVR 클라이언트(AC1 및 AC2)의 각각은, 콘텐츠 서버와의 접속이 완료되었을 때, EIA-232, USB 등의 인터페이스에 관한 정보를 콘텐츠 서버(Si)에 통지하여도 좋다.
USB의 경우, AVR 클라이언트(AC1)는, AV 리시버(AVR2)가 접속되었을 때, AV 리시버(AVR2)의 벤더ID나 프로덕트ID 등의 기종 정보를 취득할 수 있기 때문에, 그것을 콘텐츠 서버(Si)에 통지한다. EIA-232의 경우, AVR 클라이언트(AC1)가 AV 리 시버(AVR1)의 기종 정보를 취득하는 것은 통상은 곤란하기 때문에, 접속되는 AV 리시버(AVR1)의 벤더ID 및 프로덕트ID를 AVR 클라이언트(AC1)에 미리 등록하여 두고, AVR 클라이언트(AC1)가 그것을 콘텐츠 서버(Si)에 통지하도록 한다.
접속될 가능성이 있는 AV 리시버가 복수 존재하는 경우는, AVR 클라이언트와의 통신 프로토콜을 정하여 두고, AVR 클라이언트가 AV 리시버의 기종 정보를 취득하도록 하면 좋다. 예를 들면, AVR 클라이언트는 일정한 통신 조건(비트레이트, 비트 길이, 패리티 등)으로 일정 시간(예를 들면 1초)마다 정보를 문의하는 패킷을 송신하고, AV 리시버는 그것에 응답하여 기종 정보를 포함하는 패킷을 회신하도록 하면 좋다. 이로써, AVR 클라이언트는 접속되어 있는 AV 리시버를 특정할 수 있다. USB의 경우도 포함하여 이와 같은 경우, AVR 클라이언트는 콘텐츠 서버와의 접속이 확립된 후에 AV 리시버의 기종 정보를 취득할 가능성도 있기 때문에, AV 리시버의 기종 정보를 취득한 시점에서 그 기종 정보의 변경을 콘텐츠 서버(Si)에 통지한다.
그 결과, 콘텐츠 서버(Si)는, AVR 클라이언트(AC1, AC2)에 접속된 또는 접속될 예정의 모든 AV 리시버(AVR1 내지 AVR3)의 기종 정보를 취득할 수 있다. 기종 정보는 콘텐츠 서버(Si)로부터 컨트롤러(Ak)에도 통지되기 때문에, 컨트롤러(Ak)도 기종 정보를 취득하게 된다.
AV 리시버(AVR)는, 도 91에 도시한 바와 같이, 볼륨, 입력 전환 스위치, 음장 제어용 DSP 등, 다양한 피제어(被制御) 소자를 가지고 있다. 컨트롤러(Ak)는 이와 같은 피제어 소자를 지정하여 제어 커맨드를 발행한다. 그 때문에, 컨트롤러는, AV 리시버(AVR)가 어떠한 피제어 소자를 가지고 있는가 라는 기종 정보를 가지고 있다.
또한, 기종 정보는 콘텐츠 서버(Si)가 가지고 있기 때문에, 컨트롤러(Ak)가 AV 리시버(AVR)의 벤더ID 및 프로덕트ID를 키로 하여 콘텐츠 서버(Si)에 기종 정보를 요구하여도 좋다.
제어 커맨드는, 컨트롤러(Ak)로부터 출력되고, 콘텐츠 서버(Si) 및 AVR 클라이언트(AC)를 경유하여 AV 리시버(AVR)에 전해진다. 스테이터스는 역으로, AV 리시버(AVR)로부터 출력되고, AVR 클라이언트(AC) 및 콘텐츠 서버(Si)를 경유하여 컨트롤러(Ak)에 전해진다.
AVR 클라이언트(AC)는, 제어 커맨드가 AV 리시버(AVR)용인 것을 확인하면, AV 리시버(AVR)에 그 제어 커맨드를 출력한다. 제어 커맨드가 볼륨의 값을 제어하는 것이면, 컨트롤러(Ak)가 발행한 제어 커맨드는, 콘텐츠 서버(Si) 및 AVR 클라이언트(AC)를 경유하여 AV 리시버(ACR)에 보내지고, 이로써 볼륨이 제어된다.
도 92를 참조하면, 컨트롤러(Ak)는 제어 커맨드를 콘텐츠 서버(Si)에 송신하고(S35), 콘텐츠 서버(Si)는 이것을 지정된 AVR 클라이언트(AC)에 송신하고(S28), 또한 AVR 클라이언트는 이것을 AV 리시버(AVR)에 송신한다(S101). AVR 클라이언트(AC)는 AV 리시버(AVR)로부터 그 스테이터스를 수신하여 콘텐츠 서버(Si)에 송신하고(S102), 콘텐츠 서버(SV)는 이것을 컨트롤러(Ak)에 송신하고(S29), 컨트롤러(Ak)는 이에 따라 AV 리시버(AVR)의 스테이터스를 갱신한다(S36).
도 93에 도시한 바와 같이, 콘텐츠 서버(Si), AVR 클라이언트(AC1 내지 AC3) 및 AV 리시버(AVR11, AVR12, AVR21, AVR31, AVR32)는, 콘텐츠 서버(Si)를 뿌리로 한 나무와 같은 형상을 한 경로로 제어 커맨드를 전달한다.
도 94를 참조하면, 컨트롤러(Ak)는, 제어 대상인 AV 리시버(AVR) 및 제어 내용을 결정하고(S3501), 그 제어 내용에 의거하여 커맨드 본체를 생성한다(S3502). 계속해서, 컨트롤러(Ak)는, 도 95의 A에 도시한 바와 같이, 커맨드 본체에 수신처 정보를 부가한 제어 커맨드를 콘텐츠 서버(Si)에 송신한다(S3503). 여기서의 수신처 정보는, 제어 대상인 AV 리시버(AVR)를 지정하는 AV 리시버 지정부와, 그 AV 리시버(AVR)에 접속된 AVR 클라이언트(AC)를 지정하는 AVR 클라이언트 지정부를 포함한다.
콘텐츠 서버(Si)는 이 제어 커맨드를 수신하고, 도 95의 B에 도시한 바와 같이, 수신한 제어 커맨드로부터 AVR 클라이언트 지정부를 취출한다(S2801). 콘텐츠 서버(Si)는, 이 AVR 클라이언트 지정부에 의거하여 지정된 AVR 클라이언트(AC)를 판단한다. 계속해서, 콘텐츠 서버(Si)는, AVR 클라이언트 지정부를 제거한 제어 커맨드를 지정된 AVR 클라이언트(AC)에 송신한다(S2802).
AVR 클라이언트(AC)는 이 제어 커맨드를 수신하고, 도 95의 C에 도시한 바와 같이, 수신한 제어 커맨드로부터 AV 리시버 지정부를 취출한다(S1011). AVR 클라이언트(AC)는, 이 AV 리시버 지정부에 의거하여 지정된 AV 리시버를 판단한다. 계속해서, AVR 클라이언트(AC)는, 커맨드 본체만으로 이루어지는 제어 커맨드를 지정된 AV 리시버에 송신한다(S2802).
이와 같이 불필요한 지정부를 순차적으로 제거하여 제어 커맨드를 전송하면, 네트워크 트래픽을 경감할 수 있다. 단, 지정부를 제거하는 일 없이, 제어 커맨드 를 그대로 전송하도록 하여도 좋다.
각 단계에서, 커맨드 본체의 문자열은 완전히 같을 필요는 없고, 그 의미가 같으면 좋다. 즉, 최종적으로 AVR 클라이언트(AC)로부터 AV 리시버(AVR)에 송신되는 제어 커맨드가 AV 리시버(AVR)에 이해 가능한 형식이라면 좋다.
이와 같이 하여 제어 커맨드를 수신한 AV 리시버(AVR)는, 제어 커맨드에 따라 피제어 소자를 제어한다. 그 결과, 피제어 소자의 스테이터스가 변화하면, AV 리시버(AVR)는 그 스테이터스를 AVR 클라이언트(AC)에 송신한다. 이 스테이터스는, 도 96의 A에 도시한 바와 같이 스테이터스 본체만으로 이루어진다.
AVR 클라이언트(AC)는, AV 리시버(AVR)의 스테이터스를 수신하여 기억함과 함께(S1021), 도 96의 B에 도시한 바와 같이 수신한 스테이터스에 발신원 정보를 추가하고, 그것을 콘텐츠 서버(Si)에 송신한다(S1022). 여기서의 발신원 정보는, 스테이터스를 발신한 AV 리시버(AVR)를 지정하는 AV 리시버 지정부를 포함한다.
콘텐츠 서버(Si)는 AVR 클라이언트(AC)로부터의 스테이터스를 수신하고, 도 96의 C에 도시한 바와 같이 수신한 스테이터스에 AVR 클라이언트 지정부를 더욱 추가하고, 그것을 컨트롤러(Ak)에 송신한다(S2901).
컨트롤러(Ak)는 콘텐츠 서버(Si)로부터의 스테이터스를 수신하고, 수신한 스테이터스로부터 AVR 클라이언트 지정부 및 AV 리시버 지정부를 취출하고, AV 리시버(AVR)의 스테이터스를 갱신한다(S3601).
또한, 스테이터스는 피제어 소자의 스테이터스뿐만 아니라, 컨트롤러(Ak)로는 제어 불가능한 요소의 스테이터스(예를 들면 음성 신호의 레벨 정보 등)도 존재 할 수 있다. 이와 같은 스테이터스도 AVR 클라이언트(AC) 및 콘텐츠 서버(Si)를 경유하여 컨트롤러(Ak)에 전해진다. 또한, 스테이터스는 AV 리시버(AVR)의 피제어 소자가 제어 커맨드에 의해 제어되었을 때뿐만 아니라, 그 스테이터스가 변화한 때에도 송신된다. 즉, AVR 클라이언트(AC)와 AV 리시버(AVR)와의 접속이 확인되었을 때에도, AVR 클라이언트(AC)는 AV 리시버(AVR)의 스테이터스를 취득하고, 이것을 콘텐츠 서버(Si)에 송신한다.
이와 같이 하여 최종적으로 스테이터스를 수신한 컨트롤러(Ak)는, 각 AV 리시버(AVR)의 스테이터스를 파악할 수 있다. 이로써, 컨트롤러는 제어의 확인 및 스테이터스의 표시를 행한다.
또한, 표시 목적의 스테이터스로서 빈번하게 변화할 가능성이 있는 스테이터스는, AV 리시버(AVR) 또는 AVR 클라이언트(AC)가 스테이터스의 송출 빈도를 적절히 낮게 하여도 좋다. 빈번하게 변화하는 스테이터스를 그대로 표시해도 인식하기 어렵고, 송출 빈도가 높은 네트워크에 필요 없는 트래픽이 발생하고, 콘텐츠 서버의 부하도 증대하기 때문이다.
복잡한 구성을 갖는 피제어 소자는, 복수의 피제어부를 갖는 경우가 있다. 예를 들면 도 91중 음장 제어용 DSP는 많은 계수 데이터의 설정을 필요로 하는데, 그 설정은 DSP를 제어하는 마이크로 컨트롤러에 의해 행하여진다. 이 설정을 변경하는 경우, 스탠드얼론의 시스템에서는, AV 리시버 본체 또는 그것에 접속된 표시 장치로 스테이터스 상태를 표시하면서, 유저의 키 조작에 의해 행하게 된다. 이 동작을 행하는 것은 마이크로 컨트롤러의 펌웨어이고, 복잡한 설정이 가능하고, 또한 사용하기 쉬운 조작을 실현하려고 하면, 프로그램 용량의 증대나 고성능의 표시 장치가 필요하게 된다는, 제품 단가나 개발비용에 영향이 나올 가능성이 있다.
이 시스템에서는, 계수 데이터의 설정 패턴을 몇 개나 콘텐츠 서버(Si)에 갖게 하고, 컨트롤러(Ak)에 표시된 계층 메뉴로부터 그 중 하나를 선택하고, AVR 클라이언트(AC) 경유로 계수 데이터를 설정하는 것도 가능하다.
또한, 동시에 복수의 AV 리시버(AVR)를 컨트롤러(Ak)의 지배하에 두기 때문에, AV 리시버(AVR)의 시각 맞춤 등의 설정을 동시에 행할 수 있다. 또한, 이들 AV 리시버(AVR)의 스테이터스를 모니터함에 의해, 릴레이 녹화 등의 연휴 동작도 가능해진다.
다음에, AVR 클라이언트(AC)에 접속되어 있는 AV 리시버(AVR)의 볼륨을 올리는 경우를 설명한다.
도 97을 참조하면, 컨트롤러(Ak)는 클라이언트의 접속을 확인하고(S3011), 접속이 있으면, 그 클라이언트가 AVR 클라이언트(AC)인지의 여부를 판별하고(S3014), AVR 클라이언트(AC)라면, 볼륨 업을 나타내는 제어 커맨드를 콘텐츠 서버(Si)에 송신한다(S35). 콘텐츠 서버(Si)는 이것을 AVR 클라이언트(AC)에 송신하고(S28), 또한 AVR 클라이언트(AC)는 이것을 AV 리시버(AVR)에 송신한다(S101). AVR 클라이언트(AC)는 볼륨 업한 것을 나타내는 스테이터스를 AV 리시버(AVR)로부터 수신하고, 이것을 콘텐츠 서버(Si)에 송신한다(S102). 콘텐츠 서버(Si)는 이것을 컨트롤러(Ak)에 송신하고(S29), 컨트롤러(Ak)는 이에 따라 AV 리시버(AVR)의 스테이터스를 갱신하고, 도 34에 도시한 모니터를 재개한다(S36).
다음에, AVR 클라이언트(AC)가 AV 리시버(AVR)의 스테이터스를 콘텐츠 서버에 전송하는 동작을 도 98을 참조하여 설명한다.
AVR 클라이언트(AC)는 AV 리시버(AVR)로부터 패킷 데이터를 수신하면(S1021), 그것이 볼륨 정보인지의 여부를 판별한다(S1022). AV 리시버(AVR)로부터 데이터가 EIA-232인 경우는, 패킷 수신은 시리얼 수신 인터럽트로 행하여지고, 데이터는 큐에 넣어진다. 큐는 정시적으로 판독되고, 이후의 처리가 행하여진다.
계속해서, 수신한 데이터가 볼륨 정보라면, AVR 클라이언트(AC)는 그 볼륨값을 기억한다(S1023). 상기 볼륨 정보인지의 여부 판별(S1022) 및 볼륨 정보의 기억 (S1023)은, 데이터가 큐에 넣어지기 전에 행하여진다. 한편, 수신한 데이터가 볼륨 정보가 아니면, AVR 클라이언트(AC)는, AV 리시버(AVR)로부터의 스테이터스인 것을 나타내는 AV 리시버 지정부를 수신한 버킷 데이터에 추가하여 콘텐츠 서버(Si)에 송신한다(S1024).
볼륨값을 기억한 후, 볼륨 정보의 수신이 처음인지의 여부를 판별한다(S1025). 처음인 경우는 스텝 S1028로 진행하지만, 처음이 아닌 경우는 AVR 클라이언트(AC)는 볼륨값을 콘텐츠 서버에 송신하고 나서 200밀리초 이상 경과하고 있는지의 여부를 판별한다(S1026). 200밀리초 이상 경과하고 있는 경우, AVR 클라이언트(AC)는 전회 송신한 볼륨값을 기억한 볼륨값과 비교하고(S1027), 다른 경우는 AV 리시버(AVR)로부터의 스테이터스인 것을 나타내는 AV 리시버 지정부를 볼륨 정보에 추가하여 콘텐츠 서버(Si)에 송신한다(S1028).
볼륨값의 스테이터스는 다른 스테이터스와 비교하고 짧은 간격으로 하여 오는 경우가 있기 때문에, 콘텐츠 서버(Si)나 컨트롤러(Ak)의 부담이 되거나, 네트워크에 필요 없는 트래픽의 증대를 가져올 가능성이 있다. 볼륨 정보는 컨트롤러(Ak)에서의 표시에 이용할 뿐이므로, 표시에 지장이 없는 간격으로 보내면 문제 없다. 그 때문에, 볼륨 정보를 수신하면, 그 값만을 기억하고, 변화가 있을 때만 적당한 간격(여기서는 200밀리초)을 두고 콘텐츠 서버(Si)에 송신하도록 하고 있다.
다음에, AVR 클라이언트(AC)가 콘텐츠 서버(Si)로부터의 커맨드를 AV 리시버(AVR)에 전송하는 동작을 도 99를 참조하여 설명한다.
AVR 클라이언트(AC)는 AV 리시버(AVR)용의 제어 패킷을 수신하면(S1031), 그 패킷으로부터 AV 리시버(AVR)용의 제어 커맨드를 취출한다(S1032). AVR 클라이언트(AC)는, 그 제어 커맨드가 볼륨값 문의 커맨드인지의 여부를 판별한다(S1033). 볼륨값 문의 커맨드인 경우, AVR 클라이언트(AC)는 기억하여 둔 볼륨값(미수신의 경우는 적당한 초기치)으로부터 볼륨 정보를 생성하고(S1034), AV 리시버(AVR)로부터의 스테이터스인 것을 나타내는 AV 리시버 지정부를 볼륨 정보에 추가하여 콘텐츠 서버(Si)에 송신한다(S1035).
한편, 볼륨값 문의 커맨드가 아닌 경우, 그 AV 리시버(AVR)용의 제어 커맨드를 AV 리시버(AVR)에 송신한다(S1036). AVR 클라이언트(AC)와 AV 리시버(AVR)와의 인타페이스가 EIA-232인 경우에는, AVR 클라이언트(AC)로부터 AV 리시버(AVR)로의 송출은 바이트 단위로 인터럽트에 의해 행하여진다. 콘텐츠 서버(Si)로부터의 제어 커맨드는 일단 큐에 격납된다. 큐는 정시적인 인터럽트 또는 시리얼 송신의 버퍼 엠티의 인터럽트로 판독되고, 바이트 단위로 송출된다.
상기한 형태에서는, 콘텐츠 서버(Si)로의 볼륨 정보의 송출은, 첫 회를 제외하고 변화가 있을 때밖에 행하여지지 않는다. 그 때문에, AV 리시버(AVR)가 콘텐츠 서버(Si)로부터의 볼륨값 문의 커맨드에 응답하여 볼륨값을 돌려주었다 하여도, 그 볼륨값에 변화가 없으면 AVR 클라이언트(AC)는 그 볼륨값을 콘텐츠 서버(Si)에 돌려주지 않는다. 이 대책으로서, 콘텐츠 서버(Si)로부터의 볼륨값 문의 커맨드에 대해서는, AVR 클라이언트(AC)는 AV 리시버(AVR)를 통하지 않고 응답하도록 하고 있다. 이 형태는, AV 리시버(AVR)에 전원이 투입되었을 때는 반드시 AV 리시버(AVR)는 볼륨의 초기치를 스테이터스로서 AVR 클라이언트(AC)에 송신하는 것이 전제로 되어 있다. 그러나, 전원 투입의 타이밍에 의해서는, AVR 클라이언트(AC)가 이 초기치를 수신할 수 없을 가능성도 있다.
그래서, 도 100에 도시한 바와 같이, AVR 클라이언트(AC)는 첫 회에 한하여 AV 리시버(AVR) 경유로 응답을 행하는 것이 바람직하다. 즉, 콘텐츠 서버(Si)로부터의 제어 커맨드가 볼륨값 문의 커맨드인 경우, AVR 클라이언트(AC)는 볼륨값을 아직 수신하지 않았는지의 여부를 판별한다(S1034). 아직 수신하지 않은 경우는 스텝 S1036으로 진행하고, 이미 수신하고 있는 경우는 스텝 S1034로 진행한다.
또한, 복수종류의 AV 리시버가 존재하는 경우에 있어서, 컨트롤러(Ak)가 이들의 AV 리시버를 제어하는 때는, 컨트롤러(Ak)는 AV 리시버의 종류에 따라 전용의 제어 커맨드를 발행하여도 좋지만, AV 리시버의 종류에 관계없이 범용의 제어 커맨드를 발행하고, 콘텐츠 서버가 이 범용의 제어 커맨드를 전용의 제어 커맨드로 변환하도록 하여도 좋다.
1.2.5. 펌웨어 업데이트
콘텐츠 서버는, 후술하는 바와 같이, 클라이언트에게 인스톨되어 있는 펌웨어를 업데이트할 수 있다. 여기서는, 클라이언트가 콘텐츠 서버에 업데이트를 요구하는 경우와, 콘텐츠 서버가 클라이언트에게 문의를 하고 나서 업데이트하는 경우와, 콘텐츠 서버가 강제적으로 업데이트하는 경우가 있다.
우선, 클라이언트가 콘텐츠 서버에 업데이트를 요구하는 경우의 개요를 설명한다. 도 101을 참조하면, 클라이언트는 펌웨어 정보를 콘텐츠 서버에 요구하고(S103), 콘텐츠 서버는 이에 따라 펌웨어 정보를 클라이언트에게 회신하고(S201), 클라이언트는 이것을 수신한다(S103). 계속해서, 클라이언트는 펌웨어를 지정하고(S104), 콘텐츠 서버는 이에 따라 지정된 펌웨어의 전송을 준비한다(S202). 계속해서, 클라이언트는 펌웨어를 콘텐츠 서버에 요구하고(S105), 콘텐츠 서버는 이에 따라 펌웨어를 클라이언트에게 전송하고(S203), 클라이언트는 이것을 수신한다(S105). 계속해서, 클라이언트는 펌웨어를 업데이트하고(S106), 업데이트가 끝나면 종료 스테이터스를 콘텐츠 서버에 송신하고(S107), 콘텐츠 서버는 이것을 수신한다(S204).
다음에, 펌웨어 업데이트의 상세를 도 102를 참조하여 설명한다. 콘텐츠 서버로부터 업데이트를 시작하는 경우는, 스텝 S2012부터 처리를 시작한다. 클라이언트로부터 업데이트를 시작하는 경우는, 스텝 S1033으로부터 처리를 시작한다.
콘텐츠 서버는, 우선, 펌웨어 정보 파일을 판독하고, 도 15에 도시한 펌웨어 정보 데이터베이스를 작성하여 둔다(S2011). 예를 들면, 콘텐츠 서버가 클라이언트 마다 업데이트에 필요한 파일을 판독하고, 업데이트 정보 파일을 작성한다. 따라서 이 정보 파일에 의거하여, 클라이언트의 펌웨어의 신구(新舊)를 판단할 수 있다. 클라이언트는, 기동시에 프로덕트ID 및 펌웨어ID를 콘텐츠 서버에 송신한다(S1031).
콘텐츠 서버로부터 업데이트를 시작하는 경우, 예를 들면 콘텐츠 서버가 클라이언트의 프로덕트ID 및 펌웨어ID에 의거하여 그 펌웨어가 오래되었다고 판단한 경우나, 콘텐츠 서버가 인터넷상의 사이트로부터 새로운 펌웨어를 취득한 경우 등에는, 콘텐츠 서버는, 클라이언트에게 펌웨어의 업데이트를 요구하기 위한 펌웨어 업데이트 요구 커맨드를 발행하고, 필요에 따라, 업데이트를 추천하는 새로운 펌웨어의 정보를 클라이언트에게 제시한다(S2012). 유저가 추천된 펌웨어의 업데이트를 바라지 않는 경우, 클라이언트는 콘텐츠 서버로부터의 업데이트 요구를 거부하고, 이 처리는 곧바로 종료한다(S1032). 또한, 유저가 추천된 펌웨어의 업데이트를 보류하는 경우도, 이 처리는 곧바로 종료한다(S1032). 단, 이 경우, 클라이언트는 콘텐츠 서버에 소정 시간 경과 후에 재차 업데이트 요구를 하도록 명령한다. 또한, 유저가 추천된 펌웨어의 업데이트를 받아들인 경우, 클라이언트는 그대로 처리를 계속한다(S1032). 이 경우에 있어서, 콘텐츠 서버가 클라이언트에게 구체적인 펌웨어를 제시하고 있을 때는, 클라이언트는 스텝 S1035로 진행하고, 곧바로 펌웨어의 업데이트를 시작한다. 또한, 콘텐츠 서버가 클라이언트에게 구체적인 펌웨어를 제시한 일 없이, 단지 업데이트를 요구하고 있을 때는, 클라이언트는 스텝 S1033으로 진행하고, 펌웨어 리스트를 취득한다.
또한, 펌웨어 업데이트 요구 커맨드는, 컨트롤러가 서버 리퀘스트로서 발행하여도 좋다. 이 경우는, 컨트롤러는 후술하는 S1033 내지 S1034와 마찬가지로 하여, 제어 및 감시하는 클라이언트에 관한 펌웨어 리스트를 콘텐츠 서버로부터 취득하고, 유저가 소망하는 펌웨어를 선택한다. 컨트롤러에서 선택된 펌웨어가 업데이트를 추천하는 펌웨어 정보로서 클라이언트에게 제시된다.
업데이트 요구를 받아들이는 경우, 또는 클라이언트로부터 업데이트를 시작하는 경우, 클라이언트는 펌웨어 리스트를 콘텐츠 서버에 요구한다(S1033). 펌웨어 리스트는, 특정 클라이언트에게 적용 가능한 펌웨어를 열거한 것이다. 콘텐츠 서버는, 펌웨어 리스트를 항상 가지고 있는 것은 아니고, 클라이언트로부터의 요구에 따라 그때마다 작성한다. 펌웨어 리스트의 작성 방법은, 상술한 곡 리스트의 작성 방법과 기본적으로 같다. 단, 펌웨어 리스트를 작성할 때에는, 콘텐츠 서버는 도 15에 도시한 펌웨어 정보 데이터베이스를 이용한다. 이 데이터베이스에는 펌웨어 정보가 펌웨어 수만큼 격납되어 있다. 이하, 펌웨어 리스트의 작성 방법을 상세히 기술한다.
도 103을 참조하면, 우선 콘텐츠 서버는, 펌웨어 정보 데이터베이스에 격납되어 있는 펌웨어 정보의 번호를 나타내는 인덱스를 0으로 초기화한다(S20131).
계속해서, 콘텐츠 서버는, 인덱스가 나타내는 펌웨어 정보의 프로덕트ID가 클라이언트의 프로덕트ID와 일치하는지의 여부를 판별한다(S2 0132). 일치하는 경우, 콘텐츠 서버는 그 펌웨어 정보를 펌웨어 리스트에 추가하고(S20133), 그 후, 인덱스를 증가시킨다(S20134). 한편, 일치하지 않은 경우 콘텐츠 서버는 스텝 S20133을 스킵하고, 곧바로 인덱스를 증가시킨다(S20134).
계속해서, 콘텐츠 서버는, 인덱스가 나타내는 펌웨어 정보의 번호가 모든 펌웨어 정보의 수(n)보다도 작은지의 여부를 판별하고(S20135), 작은 경우는 스텝 S20132로 되돌아오고, 한편, 작지 않은 경우는 펌웨어 리스트의 작성을 완료한다.
상기한 처리에 의해, 콘텐츠 서버는, 펌웨어 정보 데이터베이스 중에서 프로덕트ID가 일치하는 펌웨어 정보를 픽업하고, 펌웨어 리스트를 작성한다. 이와 같이, 펌웨어 리스트는 미리 데이터베이스화되어 있는 것은 아니고, 클라이언트로부터의 요구시마다 일시적으로 작성되기 때문에, 펌웨어 리스트를 항상 격납하여 두기 위한 메모리 영역은 불필요하다.
계속해서, 콘텐츠 서버는, 이 작성한 펌웨어 리스트를 요구원 클라이언트에게 회신한다(S2013). 이 펌웨어 리스트도 상기 곡 리스트와 마찬가지로, 콘텐츠 서버로부터 클라이언트에게 분할되어 보내진다.
구체적으로는, 도 104를 참조하면, 클라이언트는 자신의 프로덕트ID와, 취득하고자 하는 최초의 펌웨어 정보를 나타내는 취득 시작 인덱스와, 취득하고자 하는 펌웨어 정보의 수를 나타내는 취득 개수를 포함하는 펌웨어 리스트 요구 커맨드를 콘텐츠 서버에 송신한다(S1033). 콘텐츠 서버는, 이 펌웨어 리스트 요구 커맨드에 응답하여, 클라이언트의 프로덕트ID와 같은 프로덕트ID를 갖는 펌웨어 정보를 추출하고, 취득 시작 인덱스가 나타내는 펌웨어 정보로부터 취득 개수가 나타내는 수만큼 펌웨어 정보를 클라이언트에게 회신한다(S2031). 이 때, 콘텐츠 서버는, 송신하는 펌웨어 정보의 수를 나타내는 유효 개수와, 콘텐츠 서버가 클라이언트에게 회신 한 펌웨어 리스트보다도 후에 남아 있는 펌웨어의 수를 나타내는 나머지 개수를 아울러서 송신한다. 클라이언트는, 이와 같은 펌웨어 리스트의 일부를 수신하여 메모리에 격납한다(S10331). 상기 처리는, 모든 펌웨어 리스트가 콘텐츠 서버로부터 클라이언트에게 보내질 때까지 반복된다.
계속해서, 클라이언트는, 회신된 펌웨어 리스트 중에 유저가 다운로드하고 싶은 펌웨어(새로운 버전 등)가 있으면 처리를 계속하고, 없으면 처리를 중지한다(S1034).
콘텐츠 서버는, 신구를 불문하고, 모든 버전의 펌웨어 정보를 송신하기 때문에, 기능불량 등에 의해 클라이언트는 오래된 펌웨어로 변경할 수도 있다.
업데이트를 행하는 경우, 클라이언트는 업데이트 섹션으로 이행한 것을 나타내는 스테이터스를 콘텐츠 서버에 통지한다(S1035). 콘텐츠 서버는, 이 스테이터스에 응답하여 에러의 유무를 나타내는 에러 코드를 회신한다(S2014). 클라이언트는, 다운로드하고자 하는 펌웨어의 파일을 지정한다(S1036). 구체적으로는, 취득한 펌웨어 정보의 리스트에 격납되어 있는 풀패스명을 지정한다. 콘텐츠 서버는 지정된 파일을 판독하고, 버퍼에 격납하여 둔다(S2015).
계속해서, 클라이언트는 취득 시작 어드레스 및 데이터 사이즈(바이트 수)를 지정하고, 펌웨어의 데이터를 취득한다(S1037). 콘텐츠 서버는, 지정된 취득 시작 어드레스로부터 지정된 바이트 수만큼 데이터를 버퍼로부터 판독하고, 클라이언트에게 송신한다(S2016).
클라이언트는, 펌웨어의 데이터를 최후까지 취득하였는지의 여부를 판별하고 (S1038), 취득하지 않은 경우는 스텝 S1037로 되돌아와 데이터의 취득을 반복한다. 취득을 끝마친 경우, 클라이언트는 펌웨어를 재기록하고(S1039), 업데이트를 종료한다(S1040). 콘텐츠 서버는, 열려 있던 펌웨어의 파일을 닫고, 버퍼를 해방한다(S2017).
또한, 클라이언트가 펌웨어의 재기록을 완료한 때는, 불명(不明) 스테이터스를 콘텐츠 서버에 송신한다. 클라이언트는, 콘텐츠 서버와의 접속을 중단하고, 리셋(즉, 갱신된 펌웨어를 기동)하고 클라이언트 정보를 콘텐츠 서버에 통지한다. 또한, 클라이언트가 펌웨어 데이터를 취득 실패한 때는, 실패 스테이터스를 송신하여도 좋다. 실패 스테이터스는, 펌웨어 데이터 재송신 등에 이용할 수 있다.
또한, 콘텐츠 서버로부터 업데이트 요구를 행하는 경우에 있어서, 다음과 같이 처리할 수도 있다. 즉, 도 102에 있어서, 콘텐츠 서버는 업데이트 요구할 때에, 반드시 펌웨어의 정보를 클라이언트에게 제시한다(S2012). 콘텐츠 서버가 추천하는 펌웨어를 업데이트하는 경우에는 S1035로 진행하고, 콘텐츠 서버가 추천하는 펌웨어를 업데이트하는 것이 아니라, 유저가 펌웨어 리스트로부터 소망하는 펌웨어를 선택하는 경우에는 S1033으로 진행하도록 할 수도 있다.
이상과 같이, 펌웨어의 데이터가 콘텐츠 서버로부터 LAN 경유로 오디오 클라이언트에게 송신되기 때문에, 클라이언트의 펌웨어를 단시간에 업데이트할 수 있고, 게다가 복수의 클라이언트의 펌웨어를 동시에 업데이트할 수도 있다. 또한, 프로덕트ID를 이용하고 있기 때문에, 클라이언트에게 적합한 펌웨어를 자동적으로 선택하여 업데이트할 수 있다. 또한, 펌웨어ID를 이용하고 있기 때문에, 최신 버전의 펌웨어를 자동적으로 선택하여 업데이트할 수 있다.
2. 다른 실시의 형태
2.1. 콘센트 내장형 오디오
클라이언트 오디오 클라이언트는, 도 105 및 도 106에 도시한 바와 같이, 콘센트 박스(50)에 내장되어도 좋다. 콘센트 박스(50)는 일반적으로, 벽(52)에 부착되는 전면 패널(54)과, 전면 패널(54)의 이면에 부착된 몸체(56)를 구비한다. 본 발명의 실시의 형태에서는, 몸체(56)의 속에, 도 3에 도시한 오디오 클라이언트용의 회로가 마련된다. LAN 케이블은, 이 오디오 클라이언트용의 회로에 접속된다. 또한, 전면 패널(54)에는 전원 콘센트(58), 전원 스위치(60), 모듈러 잭(도시 생략), 텔레비전 안테나용 단자(도시 생략) 등에 더하여, 오디오 클라이언트로부터의 오디오 신호를 출력하기 위한 오디오 출력 단자(62)가 마련된다. 이들 오디오 출력 단자(62)는 각각 좌우의 스피커 장치에 접속된다.
오디오 클라이언트는, 통상, 곡 리스트를 표시하기 위한 디스플레이와, 그 표시된 곡 리스트로부터 소망하는 곡을 선택하기 위한 스위치류를 구비하고 있다. 디스플레이나 스위치류는 오디오 클라이언트를 모니터하며 또한 제어하기 위해 필요하지만, 오디오 클라이언트와 같은 LAN(12)에 접속된 컨트롤러를 사용함에 의해, 오디오 클라이언트로부터 디스플레이나 스위치류를 제거할 수 있다. 또한, 컨트롤러를 사용하는 대신에, 오디오 클라이언트와 같은 LAN(12)에 무선으로 접속된 휴대형 리모트 컨트롤러를 사용하여도 좋다.
이와 같이 오디오 클라이언트를 간소화함에 의해, 일반 가정의 콘센트 박스 (50)에 내장할 수 있다. 간소화된 콘센트 내장형 오디오 클라이언트는, 네트워크로부터 음악이나 영상을 추출하여 재생하는 기능만을 가지며, 표시 기능이나 제어 기능을 가지고 있지 않다.
인터넷의 보급, 특히 브로드 밴드(고속·대용량)의 인프라가 정비됨에 따라, 한 집에 복수대의 퍼스널 컴퓨터로부터 인터넷에 접속하는 요구가 증가한다고 예상되고 있다. 댁내에서 복수대의 퍼스널 컴퓨터를 인터넷에 접속하는 가장 일반적인 방법은, 댁내에 LAN을 구축하는 것이고, 이러한 댁내 LAN를 구비한 세대가 증가하는 것은 시간의 문제로 되어 있다. 이 LAN을 이용하면, 상술한 음악이나 영상을 댁내의 각처에 배신하는 것이 케이블 하나로 가능해진다. 또한, 1개의 케이블에는 음악/영상 신호 외에 컨트롤 신호도 아울러서 전송할 수 있기 때문에, 본 시스템의 설치에는 오디오/비디오에 관한 전문적인 지식이 불필요하다. 또한, 비용면에서도 극히 유리하기 때문에, 업무용뿐만 아니라 가정용으로서도 보급될 수 있다.
일반 가정에 있어서, 신축시 또는 개축시에 인터넷 접속의 편리성을 고려하여 댁내 LAN을 부설하는 케이스가 증대하고 있는데, 이 때 콘센트 박스(50)에 LAN 커넥터를 마련하는 것이 극히 일반적이다. 따라서 LAN의 부설 공사와 동시에 복수의 오디오 클라이언트를 용이하게 설치할 수 있다. 즉, 스피커(전원이 공급되는 것을 포함)를 접속하는 것만으로 오디오 클라이언트를 구축할 수 있고, 또한, 텔레비전 등의 영상 모니터를 접속하는 것만으로 비디오 클라이언트를 구축할 수 있다. 그 때문에, 인테리어상으로도 미관상 좋은 오디오 클라이언트를 세트할 수 있다. 또한, 상품 개발의 관점에서도 상품 자체의 화려하고 아름다운 디자인 설계가 불필 요하게 되고, 기능을 중시한 극히 심플한 설계 수법에 의해 상품 개발 비용의 저감에 이어진다. 또한, 그 구조가 심플하기 때문에 재활용하기 쉽다는 점에서도 유익하다.
댁내 LAN에 의한 배신에서는, 종래의 오디오/비디오 기기와 달리, CD나 테이프라는 콘텐츠의 미디어를 필요로 하지 않는다. 즉, 콘텐츠는 한번 콘텐츠 서버에 격납하여 버리면, 그 미디어의 관리는 불필요하게 된다. 이러한 댁내 네트워크에 의한 서버 클라이언트의 구성에 의하면, 오디오 클라이언트에게는 미디어를 삽입하는 기구나 회전 구동 장치 등, 기계의 장치를 전혀 필요로 하지 않는다. 따라서 장치의 소형화를 달성하고, 더욱 높은 신뢰성과 함께 긴 수명의 상품을 가능하게 한다.
2.2. 인터넷상의 음악 데이터를 취득
상기 실시의 형태에서는, 오디오 클라이언트는 전원 투입시에 브로드캐스트에 의해 콘텐츠 서버를 탐색하고 있다. 그러나, LAN(12)상의 전 콘텐츠 서버의 전원이 떨어져 있는 경우, 콘텐츠 서버로부터의 응답이 없기 때문에, 오디오 클라이언트는 영구히 콘텐츠 서버를 계속 탐색하게 된다. 이것을 방지하기 위해서는, 오디오 클라이언트는 타임 아웃 에러 등의 처리를 행하면 좋지만, 타임 아웃 에러의 경우, 오디오 클라이언트는 음악을 재생하는 등의 동작을 전혀 행할 수가 없다.
이들의 문제를 해결하기 위해서는, 오디오 클라이언트가 브로드캐스트를 소정 회수 반복하여도 콘텐츠 서버를 발견할 수 없는 경우는, 인터넷상의 WWW 서버에 액세스하고, 이 서버와 접속하도록 하면 좋다.
이 경우, LAN(12)은, 도 107에 도시한 바와 같이, 게이트웨이(50)를 통하여 인터넷(52)에 접속된다. 인터넷(52)상의 WWW(World Wide web) 서버(54)에는, 음악 배신 사이트(56)에 놓여 있는 곡의 리스트가 미리 등록되어 있다. 이 리스트에는, 곡명이나 아티스트명 등, 곡 정보 외에, 음악 데이터가 놓여 있는 URL(Uniform Resource Locator) 등이 기록되어 있다.
도 108에 도시한 바와 같이, 서버 리스트가 빈 경우, 오디오 클라이언트는, 스텝 S1102로 되돌아와 브로드캐스트를 리트라이(retry)하기 전에, 그 리트라이 회수가 소정의 회수, 예를 들면 3회에 달하였는지의 여부를 판별한다(S1109). 리트라이 회수가 3회에 달하지 않은 경우, 오디오 클라이언트는 리트라이 회수를 증가시키고(S1110), 그 후, 스텝 S1102로 되돌아와 브로드캐스트를 리트라이한다. 한편, 리트라이 회수가 3회에 달하고 있는 경우, 오디오 클라이언트는 인터넷(52)상의 WWW 서버(54)에 HTTP로 접속한다(S1111). 오디오 클라이언트가 접속에 성공한 경우는 탐색을 완료하지만(S1112), 접속에 성공하지 않고, 타임 아웃이 된 경우는 에러로 된다(S1113).
오디오 클라이언트는 WWW 서버(52)에 액세스하면, 그곳에서부터 곡 정보나 URL을 수신하여 해석하고, 그 URL의 음악 배신 사이트(56)로부터 음악 데이터를 수신한다.
이상과 같이, 콘텐츠 서버가 LAN(12)상에 존재하지 않은 경우 또는 존재하여도 가동하지 않은 경우는, 오디오 클라이언트는 인터넷(52)상의 사이트(56)에 자동적으로 액세스하여 음악 데이터를 취득하기 때문에, LAN(12)상의 콘텐츠 서버를 영 구히 계속 탐색하는 일은 없다.
상기한 예에서는, 리트라이 회수가 소정 회수에 도달한 때, 오디오 클라이언트는 인터넷(52)상의 WWW 서버(54)에 접속하도록 하고 있지만, 이 대신에, 오디오 클라이언트가 매직워드를 브로드캐스트하여 소정 시간이 경과하였음에도 불구하고, LAN(12)상의 어느 콘텐츠 서버로부터도 응답이 없는 경우에 인터넷(52)상의 WWW 서버(54)에 접속하도록 하여도 좋다.
2.3. 취득 데이터 길이 변경 기능이 있는 재생
상기 실시의 형태에서는, 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구할 때, 항상 일정량의 곡 데이터를 요구하고 있다. 따라서, 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구하는 오디오 클라이언트(Cj)의 수가 적은 경우는 문제없지만, 이 수가 많아지면, 콘텐츠 서버(Si)에 걸리는 부하가 커지고, 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구하고 나서 실제로 곡 데이터가 전송되기까지의 시간이 길어진다는 문제가 생긴다. 그래서, 이 콘텐츠 서버(Si)에 걸리는 부하가 균등하게 되도록, 오디오 클라이언트(Cj)가 1회에 요구하는 곡 데이터의 양을 그때마다 변경하도록 하여도 좋다.
이하, 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구하고 나서 실제로 곡 데이터가 전송되기까지의 시간에 따라, 오디오 클라이언트(Cj)가 1회에 요구하는 곡 데이터의 양을 변경하는 예를 설명한다.
도 109를 참조하면, 오디오 클라이언트(Cj)는, 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구하는 곡 데이터 전송 커맨드를 송신함(S1601)과 동시에, 타이머를 동작시키고, 콘텐츠 서버(Si)로부터 곡 데이터가 전송되기까지의 응답 시간의 카운트를 시작한다(S16011). 또한, 최초에 오디오 클라이언트(Cj)가 곡 데이터 전송 커맨드를 발행할 때에는, 1회에 요구하여야 할 적절한 곡 데이터의 양은 분명하지 않기 때문에, 취득 데이터 길이는 미리 정해진 것으로 된다.
계속해서, 오디오 클라이언트(Cj)는 곡 데이터를 수신하기 시작하면(S16012), 타이머를 정지하고, 콘텐츠 서버(Si)에 의한 곡 데이터의 응답 시간을 취득한다(S16013).
오디오 클라이언트(Cj)는, 도 110에 도시한 대비 테이블을 참조하면, 취득한 응답 시간에 대응하는 취득 데이터 길이를 결정한다(S16021). 이 대비 테이블에는, 소정의 응답 시간과 소정의 취득 데이터 길이가 대응시켜져 있다. 여기서는, 응답 시간이 길수록 콘텐츠 서버(Si)에 걸리는 부하는 크기 때문에, 응답 시간이 길수록 취득 데이터 길이가 짧아지도록 설정되어 있다. 예를 들면 오디오 클라이언트(Cj)가 20msec의 응답 시간을 취득한 경우는, 취득 데이터 길이를 8k바이트라고 결정한다.
오디오 클라이언트(Cj)는 재차 곡 데이터의 전송을 콘텐츠 서버(Si)에 요구하는데, 여기서는 상기에서 결정한 취득 데이터 길이를 송신한다(S1605). 이후, 상기한 바와 같은 동작을 반복한다(S16051 내지 S16061).
이상과 같이 본 실시의 형태에 의하면, 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)에 요구하는 곡 데이터의 취득 데이터 길이를 응답 시간이 길어짐에 따라 단축하고 있기 때문에, 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구하는 오디오 클라 이언트(Cj)의 수가 증가하여도, 콘텐츠 서버(Si)가 오디오 클라이언트(Cj)에 1회에 전송하는 곡 데이터의 양은 적어진다. 그 결과, 각 오디오 클라이언트(Cj)에 대한 콘텐츠 서버(Si)의 부하는 평균화되고, 콘텐츠 서버(Si)는 복수의 오디오 클라이언트(Cj)에 원활하게 곡 데이터를 전송할 수 있다.
상기한 예에서는, 콘텐츠 서버의 응답 시간에 따라 취득 데이터 길이를 결정하고 있지만, 이 대신에, 취득하고자 하는 곡의 데이터 포맷에 따라 취득 데이터 길이를 결정하도록 하여도 좋다. 즉, 도 35에 있어서, 곡 데이터 전송 요구(S1601) 전에, 도 32에 도시한 검색 데이터에 의거하여, 곡의 음성 포맷을 취득한다. 그리고, 곡의 음성 포맷에 의거하여, 취득 데이터 길이를 설정한다. 일반적으로 MP3 형식의 데이터는 압축되어 있기 때문에 사이즈가 작은데 대해, WAV 형식의 데이터는 사이즈가 크다. 그래서, 취득하고자 하는 곡의 데이터 포맷이 MP3인 경우에는, 1회에 예를 들면 4k바이트의 데이터를 취득하고, WAV인 경우에는, 1회에 예를 들면 16k바이트의 데이터를 취득하도록 하여도 좋다.
2.4. 스킵 재생
상기 실시의 형태에서는, 오디오 클라이언트(Cj)는 곡 리스트의 순서에 따라서 콘텐츠 서버(Si)에 곡 데이터의 전송을 요구하고 있다. 그러나, 유저가 현재 재생중인 곡을 처음부터 다시 듣고 싶은 경우가 있다. 또한, 유저가 현재 재생중인 곡을 스킵하고, 다른 곡을 듣고 싶은 경우도 있다. 그래서, 오디오 클라이언트(Cj)가 이와 같은 유저의 요구에 대응하여 곡 데이터 전송의 요구를 할 수 있도록 하여도 좋다.
도 111을 참조하면, 오디오 클라이언트(Cj)가 도 112에 도시한 곡 리스트중 곡(3)의 재생을 행하고 있는 경우, 오디오 클라이언트(Cj)는 곡(3)의 음악 데이터중 지정 범위의 음악 데이터의 전송을 콘텐츠 서버(Si)에 요구하고(S1607), 콘텐츠 서버(Si)는 이 요구에 따라 지정 범위의 음악 데이터를 오디오 클라이언트(Cj)에 회신하고(S2604), 오디오 클라이언트(Cj)는 이것을 수신하고, 메모리(32)에 격납한다(S1608). 이 동작의 반복에 의해 곡(3)은 재생된다.
곡(3)의 재생중에, 유저가 곡(3)의 재생을 종료하고, 곡(4)을 듣고자 한 경우(도 112에 있어서의 ①의 케이스), 유저는 오디오 클라이언트(Cj)에 곡(4)으로의 스킵 요구를 행한다. 오디오 클라이언트(Cj)는 유저로부터의 스킵 요구를 받고(S1640), 메모리(32)에 격납된 곡 리스트 내용을 확인하고, 곡(4)의 파일명을 취득한다(S1641). 유저로부터의 스킵 요구가 없는 경우는, 스텝 S1607로 되돌아와 곡(3)의 데이터 전송의 요구를 행한다.
이후의 오디오 클라이언트(Cj) 및 콘텐츠 서버(Si)의 동작에 관해서는 도 35에서의 동작과 같기 때문에, 그 설명은 반복하지 않는다.
이상의 동작에 의해, 오디오 클라이언트(Cj)는 곡(3)의 재생중에 곡(4)으로 스킵 재생할 수 있다.
또한, 오디오 클라이언트(Cj)가 곡(3)을 재생중에 있어서, 유저가 곡(3)을 처음부터 다시 듣고자 하는 경우(도 112에 있어서의 ② 케이스), 유저가 곡(5)을 듣고자 하는 경우(도 112에 있어서의 ③ 케이스), 유저가 곡(2)을 듣고자 하는 경우(도 112에 있어서의 ④ 케이스) 등에 대해서도 같은 동작에 의해, 오디오 클라이 언트(Cj)는 스킵 재생할 수 있다.
이상과 같이 본 실시의 형태에 의하면, 오디오 클라이언트(Cj)는 메모리 내에 격납된 곡 리스트를 이용함으로써, 현재 재생중인 곡으로부터 다른 곡으로 스킵 재생할 수 있다.
2.5. 반복 재생
또한, 유저가 지정하는 제 1 어드레스와 제 2 어드레스와의 사이에서, 데이터를 반복하여 재생하는 A-B 사이 반복 재생을 행할 수 있다. 우선, 유저는 1회째의 A-B 사이 반복 조작을 행하고, 반복의 시작을 나타내는 제 1 어드레스를 지정한다. 즉, 도 113을 참조하면, 오디오 클라이언트는 곡 데이터의 전송 요구(및 곡 데이터의 취득)를 할 때에(S1601), 유저로부터의 조작이 있고(S1642), 유저로부터의 조작이 A-B 사이 반복 요구이고(S1643), 1회째의 요구이기 때문에(S1644), 유저가 지정한 어드레스를 제 1 어드레스(addr 1)로서 기억한다. 그리고, 전회의 취득 시작 어드레스(addr)에 취득 데이터 길이(Size)를 가산하여 취득 시작 어드레스(a ddr)를 산출하고(S1646), S1601로 돌아온다.
다음에, 유저는 2회째의 A-B 사이 반복 조작을 행하고, 반복의 끝을 나타내는 제 2 어드레스를 지정하고, 반복 동작을 시작시킨다. 즉, S1644에서, 유저로부터의 A-B 사이 반복 요구가 2회째의 요구이기(1회째의 요구가 아니다) 때문에, 유저가 지정한 어드레스를 제 2 어드레스(addr 2)로서 기억한다(S1647).
그리고, 오디오 클라이언트는, A-B 사이 반복 모드로 들어간다(S1648). 즉, 취득 시작 어드레스를 제 1 어드레스로 변경하고(S1649), 곡 데이터 전송 요구(및 곡 데이터 취득)를 행한다(S1601). 여기서, 오디오 클라이언트는, A-B 사이 반복 상태라고 판단하고(S1650), 취득 시작 어드레스( = 전회의 취득 시작 어드레스 + 취득 데이터 길이)가 제 2 어드레스보다 커지는지의 여부를 판별한다(S1651). 취득 시작 어드레스가 아직 제 2 어드레스 이하라면, 곡 데이터 전송 요구를 계속한다(S1646 및 S1601). 그리고, S1651에서, 취득 시작 어드레스가 제 2 어드레스보다 커지는 경우에는, 취득 시작 어드레스를 재차 제 1 어드레스로 변경하고(S1652), 곡 데이터 전송 요구를 행한다(S1601). 따라서, 제 1 어드레스와 제 2 어드레스와의 사이에서 반복 재생을 행할 수 있다. 또한, 유저는 반복 해제 조작을 행함에 의해, 반복 상태를 해제할 수 있다(S1643, S1653 및 S1654).
2.6. 도중 재생
또한, 취득 시작 어드레스를 유저가 지정함에(예를 들면, 개시 시간을 입력한다) 의해, 지정 어드레스로부터의 곡의 재생을 행할 수 있다. 즉, 도 114를 참조하면, 예를 들면 곡 데이터의 전송 요구(및 곡 데이터의 취득)를 할 때에(S1601), 유저로부터의 조작이 있고(S1656), 어드레스의 지정인 경우에는(S1657), 오디오 클라이언트는 유저로부터 지정이 있는 어드레스를 취득한다(S1658). 예를 들면, 곡의 총 재생시간과 유저가 입력한 시작 시간으로부터 어드레스를 산출한다. 그리고, 취득 시작 어드레스를 유저로부터 지정이 있는 어드레스로 변경하고(S1659), 곡 데이터 전송 요구(및 곡 데이터 취득)를 행한다(S1601). 따라서, 유저가 지정하는 어드레스로부터의 곡의 재생을 행할 수 있다. 또한, 유저가 어드레스를 지정할 수 있는 것은, 오디오 클라이언트가 재생 상태인 때에 한하지 않고, 예를 들면, 정지 상태 나 일시 정지 상태의 때라도 좋다.
2.7. 자동 접속 회복 기능이 있는 클라이언트
네트워크 오디오 시스템에서는, 상술한 바와 같이, 오디오 클라이언트가 콘텐츠 서버에 접속되고, 콘텐츠 서버로부터 배신된 음악을 재생하고 있지만, 배신중에 콘텐츠 서버가 이상(異常)에 의해 오디오 클라이언트가 콘텐츠 서버로부터 분리된 경우, 오디오 클라이언트는 콘텐츠 서버에 재차 접속되지 않으면 음악을 재생할 수 없다. 입력 장치를 갖는 통상의 오디오 클라이언트의 경우, 그 입력 장치를 조작함에 의해 그 오디오 클라이언트에게 도 5에 도시한 바와 같이 콘텐츠 서버와의 접속 처리를 재차 실행시키면 좋다. 그러나, 상술한 콘센트 내장형 오디오 클라이언트의 경우, 입력 장치를 구비하고 있지 않기 때문에, 일단 콘텐츠 서버로부터 분리되면 그대로 방치되어 버린다. 따라서 오디오 클라이언트는 이하와 같은 자동 접속 회복 기능을 구비하고 있는 것이 바람직하다.
도 115를 참조하면, 오디오 클라이언트(Cj)는 콘텐츠 서버(Si)와 접속하고 나서 소정 기간이 경과하였는지의 여부를 판단한다(S110). 소정 기간 경과 후, 오디오 클라이언트(Cj)는 콘텐츠 서버(Si)와의 접속이 유지되고 있는지의 여부를 판단한다(S111, S112). 구체적으로는, 오디오 클라이언트(Cj)는 접속 확인 커맨드를 콘텐츠 서버(Si)에 송신한다(S111). 콘텐츠 서버(Si)로부터 오디오 클라이언트(Cj)에 접속 확인 커맨드에 대한 대답이 있는 경우(S112), 접속은 유지되고 있다고 판단된다. 한편, 대답이 없는 경우나 송신 에러가 일어나는 경우(S112), 접속은 절단되어 있다고 판단된다. 대답 방법으로서는, 예를 들면 콘텐츠 서버(Si)가 송신된 접속 확인 커맨드와 같은 커맨드를 회신하는 방법이 있다.
스텝 S112에서 대답이 있는 경우, 오디오 클라이언트(Cj)는 재차 S110으로 되돌아와 소정 기간 경과 후에 접속이 유지되고 있는지의 여부를 판단한다(S110 내지 S112). 이로써, 오디오 클라이언트(Cj)는 소정 기간마다 콘텐츠 서버(Si)와의 접속 상태를 체크한다. 접속이 절단되어 있는 경우, 오디오 클라이언트(Cj)는 같은 콘텐츠 서버(Si)에 대해 재접속을 시도한다(S12).
재접속을 시도한 결과, 콘텐츠 서버(Si)와의 접속에 성공한 경우(S113), 오디오 클라이언트(Cj)는 절단 직전의 클라이언트 스테이터스를 콘텐츠 서버(Si)에 송신한다(S13). 클라이언트 스테이터스는 예를 들면, 「재생」, 「정지」, 「일시 정지」 등의 재생 상태나, 음량 정보, 리스트 구축 키 등을 포함한다. 따라서, 오디오 클라이언트(Cj)는 콘텐츠 서버(Si)와의 접속 상태를 원래와 같이 회복할 수 있다. 그 결과, 유저는 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)와 다시 접속한 것을 의식하지 않고 오디오 클라이언트(Cj)를 이용할 수 있다.
한편, 재접속을 시도한 결과, 콘텐츠 서버(Si)와의 접속에 실패한 경우(S113), 오디오 클라이언트(Cj)는 같은 콘텐츠 서버(Si)와의 접속 회복을 단념하고, 다른 콘텐츠 서버(Si)와의 접속 처리를 실행한다(S11 내지 S13). 구체적으로는, 오디오 클라이언트(Cj)는 브로드캐스트에 의해 접속 가능한 콘텐츠 서버(Si)를 탐색하고(S11), 탐색한 콘텐츠 서버(Si)에 대해 접속을 행한다(S12). 접속 후, 오디오 클라이언트(Cj)는 절단 직전의 클라이언트 스테이터스를 콘텐츠 서버(Si)에 송신한다(S13).
오디오 클라이언트(Cj)는, 도 115에 도시한 접속 회복 프로그램을 인스톨함에 의해, 상술한 자동 접속 회복 기능을 구비한다.
이상의 동작에 의해, 오디오 클라이언트(Cj)로부터 소정 기간마다 접속 상태를 확인하고, 절단되어 있으면 오디오 클라이언트(Cj) 자신이 재접속을 실행한다. 그 때문에, 콘텐츠 서버(Si)의 이상에 의해 접속이 절단되더라도, 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)로부터 절단된 채로 방치되는 일은 없다. 또한, 접속하고 있던 콘텐츠 서버(Si)의 이상에 의해 그 콘텐츠 서버(Si)와 재접속을 할 수 없는 경우에도, 오디오 클라이언트(Cj)는 다른 콘텐츠 서버(Si)와 접속한다. 그 결과, 유저는 항상 컨트롤러(Ak)를 이용하여 오디오 클라이언트(Cj)를 제어할 수 있다.
또한, 오디오 클라이언트(Cj)는 접속처의 콘텐츠 서버(Si)에 절단 직전의 클라이언트 스테이터스를 송신하고 있기 때문에, 오디오 클라이언트(Cj)는 다른 콘텐츠 서버(Si)에 접속되어도 절단 직전과 같은 상태로 할 수 있다. 그 결과, 유저는 오디오 클라이언트(Cj)가 콘텐츠 서버(Si)와 절단된 것을 의식하는 일 없이, 오디오 클라이언트(Cj)를 이용할 수 있다.
본 실시의 형태에서는, 오디오 클라이언트(Cj)가 자동 접속 회복 기능을 구비하고 있지만, 컨트롤러(Ak)가 자동 접속 회복 기능을 구비하고 있어도 좋다. 또한, 음악 재생 기능 및 제어 기능을 병유하는 능동적인 클라이언트보다는 오히려, 음악 재생 기능만을 갖는 수동적인 클라이언트가 자동 접속 회복 기능을 구비하고 있는 것이 바람직하다. 제어 기능을 갖지 않는 수동적인 오디오 클라이언트(Cj)는 스스로 콘텐츠 서버(Si)에 커맨드를 송신하는 일이 없기 때문에, 일단 콘텐츠 서버 (Si)와의 접속이 절단되면 그대로 방치되어 버리고, 유저가 그 오디오 클라이언트(Cj)를 재기동하지 않는 한 콘텐츠 서버(Si)와의 접속을 회복할 수 없기 때문이다.
상술한 모든 실시의 형태에 있어서의 각 스텝은, 컴퓨터에 실행시키기 위한 동작 프로그램을 형성한다. 따라서, 이 동작 프로그램을, 콘텐츠 서버(Si), 오디오 클라이언트, 컨트롤러 및 AVR 클라이언트에게 인스톨함에 의해, 네트워크형 오디오 시스템을 구축할 수 있다. 또한, 이 동작 프로그램은, 그대로 인터넷 등의 전기통신 회선을 통하여 배신되어도 좋지만, CD-ROM, DVD-ROM 등의 컴퓨터 판독 가능한 기억 매체에 격납되어 배포되어도 좋다.
이상, 본 발명의 실시의 형태를 설명하였지만, 상술한 실시의 형태는 본 발명을 실시하기 위한 예시에 불과하다. 따라서, 본 발명은 상술한 실시의 형태로 한정되는 일 없이, 그 취지를 일탈하지 않는 범위 내에서 상술한 실시의 형태를 적절히 변형하여 실시하는 것이 가능하다.

Claims (150)

  1. 서버와, 상기 서버에 접속된 적어도 하나의 클라이언트를 구비한 네트워크형 컨텐츠 재생 시스템으로서,
    상기 서버는,
    복수의 컨텐츠를 축적하는 축적 수단을 포함하고,
    상기 클라이언트는,
    상기 복수의 컨텐츠중에서 소망하는 컨텐츠를 선택하는 수단과,
    상기 선택된 컨텐츠 중 상기 클라이언트가 상기 서버로부터 취득하고자 하는 데이터의 최초의 어드레스를 나타내는 취득 시작 어드레스와, 상기 클라이언트가 상기 서버로부터 취득하고자 하는 데이터의 미리 정해진 사이즈를 나타내는 취득 데이터 길이를 포함하는 컨텐츠 전송 요구 커맨드를 상기 서버에 송신하는 컨텐츠 요구 수단과,
    데이터의 소망하는 사이즈를 나타내는 스킵량을 0, 정 또는 부의 값으로 설정하는 수단과,
    전회의 컨텐츠 전송 요구 커맨드에 포함되는 취득 시작 어드레스에 상기 취득 데이터 길이와 상기 설정된 스킵량을 가산하여 다음회의 컨텐츠 전송 요구 커맨드에 포함되는 취득 시작 어드레스를 산출하는 수단을 포함하고,
    상기 설정된 스킵량이 일정하게 유지되어 있는 상태에서 상기 컨텐츠 요구 수단은 상기 컨텐츠 전송 요구 커맨드의 송신을 반복하고,
    상기 서버는,
    상기 클라이언트로부터 송신된 컨텐츠 전송 요구 커맨드에 응답하여, 상기 취득 시작 어드레스로부터 상기 취득 데이터 길이분의 컨텐츠를 상기 축적 수단으로부터 판독하여 상기 클라이언트에게 회신하는 컨텐츠 회신 수단을 더 포함하고,
    상기 클라이언트는,
    상기 서버로부터 회신된 컨텐츠를 통상 재생, 빨리감기 재생 또는 빨리되감기 재생하는 재생 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  2. 제 1항에 있어서,
    상기 클라이언트는,
    상기 서버로부터 회신된 컨텐츠를 축적하는 버퍼 메모리와,
    상기 버퍼 메모리에 상기 취득 데이터 길이분의 빈 곳이 생겼는지의 여부를 판별하는 수단을 더 포함하고,
    상기 재생 수단은 상기 버퍼 메모리로부터 컨텐츠를 판독하여 재생하고,
    상기 컨텐츠 요구 수단은, 상기 버퍼 메모리에 빈 곳이 생겼다고 판별된 때 상기 컨텐츠 전송 요구 커맨드를 상기 서버에 송신하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  3. 제 1항 또는 제 2항에 있어서,
    상기 클라이언트는,
    소망의 제 1의 어드레스와, 상기 제 1의 어드레스보다도 큰 제 2의 어드레스를 설정하는 수단과,
    상기 산출된 취득 시작 어드레스가 상기 설정된 제 2의 어드레스를 초과한 때, 상기 산출된 취득 시작 어드레스를 상기 설정된 제 1의 어드레스로 변경하는 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  4. 제 1항에 있어서,
    상기 클라이언트는,
    소망하는 어드레스를 설정하는 수단과,
    상기 취득 시작 어드레스를 상기 소망하는 어드레스에 설정하는 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  5. 제 1항에 있어서,
    상기 클라이언트는,
    상기 선택된 컨텐츠의 식별 정보를 상기 서버에 송신하는 수단을 더 포함하고,
    상기 서버는,
    상기 클라이언트로부터 송신된 식별 정보에 응답하여 상기 선택된 컨텐츠의 헤더를 제외한 데이터의 선두 어드레스를 나타내는 오프셋을 상기 클라이언트에게 회신하는 수단을 더 포함하고,
    상기 클라이언트는,
    상기 서버로부터 회신된 오프셋에 의거하여 상기 취득 시작 어드레스를 상기 선두 어드레스에 설정하는 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  6. 제 1항에 있어서,
    상기 클라이언트는,
    상기 선택된 컨텐츠의 식별 정보를 상기 서버에 송신하는 수단을 더 포함하고,
    상기 서버는,
    상기 클라이언트로부터 송신된 식별 정보에 응답하여 상기 선택된 컨텐츠의 사이즈를 상기 클라이언트에게 회신하는 수단을 더 포함하고,
    상기 클라이언트는,
    상기 서버로부터 회신된 사이즈에 의거하여 상기 선택된 컨텐츠의 끝을 검지하는 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  7. 제 1항에 있어서,
    상기 클라이언트는,
    상기 서버에 컨텐츠를 요구하고 나서 상기 서버로부터 상기 요구한 컨텐츠가 전송되기까지의 시간에 응하여, 상기 취득 데이터 길이를 변화시키는 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  8. 제 1항에 있어서,
    상기 클라이언트는,
    상기 서버에 요구하는 컨텐츠의 데이터 포맷에 응하여, 상기 취득 데이터 길이를 변화시키는 수단을 더 포함하는 것을 특징으로 하는 네트워크형 컨텐츠 재생 시스템.
  9. 서버에 접속 가능한 클라이언트 장치로서,
    상기 서버에 축적된 복수의 컨텐츠 중에서 소망하는 컨텐츠를 선택하는 수단과,
    상기 선택된 컨텐츠 중 상기 클라이언트 장치가 상기 서버로부터 취득하고자 하는 데이터의 최초의 어드레스를 나타내는 취득 시작 어드레스와, 상기 클라이언트 장치가 상기 서버로부터 취득하고자 하는 데이터의 미리 정해진 사이즈를 나타내는 취득 데이터 길이를 포함하는 컨텐츠 전송 요구 커맨드를 상기 서버에 송신하는 컨텐츠 요구 수단과,
    데이터의 소망하는 사이즈를 나타내는 스킵량을 0, 정 또는 부의 값으로 설정하는 수단과,
    전회의 컨텐츠 전송 요구 커맨드에 포함되는 취득 시작 어드레스에 상기 취득 데이터 길이와 상기 설정된 스킵량을 가산하여 다음회의 컨텐츠 전송 요구 커맨드에 포함되는 취득 시작 어드레스를 산출하는 수단을 포함하고,
    상기 설정된 스킵량이 일정하게 유지되어 있는 상태에서 상기 컨텐츠 요구 수단은 상기 컨텐츠 전송 요구 커맨드의 송신을 반복하고,
    상기 클라이언트 장치는,
    상기 클라이언트 장치로부터 상기 서버에 송신된 컨텐츠 전송 요구 커맨드에 응답하여, 상기 서버로부터 판독된, 상기 취득 시작 어드레스로부터 상기 취득 데이터 길이분의 컨텐츠를 수신하는 수단과,
    상기 수신된 컨텐츠를 통상 재생, 빨리감기 재생 또는 빨리되감기 재생하는 재생 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  10. 제 9항에 있어서
    상기 서버로부터 회신된 컨텐츠를 축적하는 버퍼 메모리와,
    상기 버퍼 메모리에 상기 취득 데이터 길이분의 빈 곳이 생겼는지의 여부를 판별하는 수단을 더 포함하고,
    상기 재생 수단은 상기 버퍼 메모리로부터 컨텐츠를 판독하여 재생하고,
    상기 컨텐츠 요구 수단은, 상기 버퍼 메모리에 빈 곳이 생겼다고 판별된 때 상기 컨텐츠 전송 요구 커맨드를 상기 서버에 송신하는 것을 특징으로 하는 클라이언트 장치.
  11. 제 9항 또는 제 10항에 있어서,
    소망의 제 1의 어드레스와, 상기 제 1의 어드레스보다도 큰 제 2의 어드레스를 설정하는 수단과,
    상기 산출된 취득 시작 어드레스가 상기 설정된 제 2의 어드레스를 초과한 때, 상기 산출된 취득 시작 어드레스를 상기 설정된 제 1의 어드레스로 변경하는 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  12. 제 9항에 있어서,
    소망하는 어드레스를 설정하는 수단과,
    상기 취득 시작 어드레스를 상기 소망하는 어드레스에 설정하는 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  13. 제 9항에 있어서,
    상기 선택된 컨텐츠의 식별 정보를 상기 서버에 송신하는 수단과,
    상기 송신된 식별 정보에 응답하여 상기 선택된 컨텐츠의 헤더를 제외한 데이터의 선두 어드레스를 나타내는 오프셋을 상기 서버로부터 수신하는 수단과,
    상기 수신된 오프셋에 의거하여 상기 취득 시작 어드레스를 상기 선두 어드레스에 설정하는 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  14. 제 9항에 있어서,
    상기 선택된 컨텐츠의 식별 정보를 상기 서버에 송신하는 수단과,
    상기 송신된 식별 정보에 응답하여 상기 선택된 컨텐츠의 사이즈를 상기 서버로부터 수신하는 수단과,
    상기 수신된 사이즈에 의거하여 상기 선택된 컨텐츠의 끝을 검지하는 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  15. 제 9항에 있어서,
    상기 서버에 컨텐츠를 요구하고 나서 상기 서버로부터 상기 요구한 컨텐츠가 전송되기까지의 시간에 응하여, 상기 취득 데이터 길이를 변화시키는 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  16. 제 9항에 있어서,
    상기 서버에 요구하는 컨텐츠의 데이터 포맷에 응하여, 상기 취득 데이터 길이를 변화시키는 수단을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  17. 서버에 접속 가능한 클라이언트에게 실행시키기 위한 클라이언트용 프로그램을 기록한 기록매체로서,
    상기 클라이언트용 프로그램은,
    상기 서버에 축적된 복수의 컨텐츠중에서 소망하는 컨텐츠를 선택하는 스텝과,
    상기 선택된 컨텐츠중 상기 클라이언트가 상기 서버로부터 취득하고자 하는 데이터의 최초의 어드레스를 나타내는 취득 시작 어드레스와, 상기 클라이언트가 상기 서버로부터 취득하고자 하는 데이터의 미리 정해진 사이즈를 나타내는 취득 데이터 길이를 포함하는 컨텐츠 전송 요구 커맨드를 상기 서버에 송신하는 컨텐츠 요구 스텝과,
    데이터의 소망하는 사이즈를 나타내는 스킵량을 0, 정 또는 부의 값으로 설정하는 스텝과,
    전회의 컨텐츠 전송 요구 커맨드에 포함되는 취득 시작 어드레스에 상기 취득 데이터 길이와 상기 설정된 스킵량을 가산하여 다음회의 컨텐츠 전송 요구 커맨드에 포함되는 취득 시작 어드레스를 산출하는 스텝을 포함하고,
    상기 설정된 스킵량이 일정하게 유지되어 있는 상태에서 상기 컨텐츠 요구 스텝은 상기 컨텐츠 전송 요구 커맨드의 송신을 반복하고,
    상기 클라이언트용 프로그램은,
    상기 클라이언트로부터 상기 서버에 송신된 컨텐츠 전송 요구 커맨드에 응답하여, 상기 서버로부터 판독된, 상기 취득 시작 어드레스로부터 상기 취득 데이터 길이분의 컨텐츠를 수신하는 스텝과,
    상기 수신된 컨텐츠를 통상 재생, 빨리감기 재생 또는 빨리되감기 재생하는 재생 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  18. 제 17항에 있어서,
    상기 클라이언트용 프로그램은, 상기 서버로부터 회신된 컨텐츠를 축적하는 버퍼 메모리에 상기 취득 데이터 길이분의 빈 곳이 생겼는지의 여부를 판별하는 스텝을 더 포함하고,
    상기 재생 스텝은 상기 버퍼 메모리로부터 컨텐츠를 판독하여 재생하고,
    상기 컨텐츠 요구 스텝은, 상기 버퍼 메모리에 빈 곳이 생겼다고 판별된 때 상기 컨텐츠 전송 요구 커맨드를 상기 서버에 송신하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  19. 제 17항 또는 제 18항에 있어서,
    상기 클라이언트용 프로그램은,
    소망의 제 1의 어드레스와, 상기 제 1의 어드레스보다도 큰 제 2의 어드레스를 설정하는 스텝과,
    상기 산출된 취득 시작 어드레스가 상기 설정된 제 2의 어드레스를 초과한 때, 상기 산출된 취득 시작 어드레스를 상기 설정된 제 1의 어드레스로 변경하는 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  20. 제 17항에 있어서,
    상기 클라이언트용 프로그램은,
    소망하는 어드레스를 설정하는 스텝과,
    상기 취득 시작 어드레스를 상기 소망하는 어드레스에 설정하는 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  21. 제 17항에 있어서,
    상기 클라이언트용 프로그램은,
    상기 선택된 컨텐츠의 식별 정보를 상기 서버에 송신하는 스텝과,
    상기 송신된 식별 정보에 응답하여 상기 선택된 컨텐츠의 헤더를 제외한 데이터의 선두 어드레스를 나타내는 오프셋을 상기 서버로부터 수신하는 스텝과,
    상기 수신된 오프셋에 의거하여 상기 취득 시작 어드레스를 상기 선두 어드레스에 설정하는 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  22. 제 17항에 있어서,
    상기 클라이언트용 프로그램은,
    상기 선택된 컨텐츠의 식별 정보를 상기 서버에 송신하는 스텝과,
    상기 송신된 식별 정보에 응답하여 상기 선택된 컨텐츠의 사이즈를 상기 서버로부터 수신하는 스텝과,
    상기 수신된 사이즈에 의거하여 상기 선택된 컨텐츠의 끝을 검지하는 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  23. 제 17항에 있어서,
    상기 클라이언트용 프로그램은,
    상기 서버에 컨텐츠를 요구하고 나서 상기 서버로부터 상기 요구한 컨텐츠가 전송되기까지의 시간에 응하여, 상기 취득 데이터 길이를 변화시키는 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  24. 제 17항에 있어서,
    상기 클라이언트용 프로그램은,
    상기 서버에 요구하는 컨텐츠의 데이터 포맷에 응하여, 상기 취득 데이터 길이를 변화시키는 스텝을 더 포함하는 것을 특징으로 하는 클라이언트용 프로그램을 기록한 기록매체.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
  105. 삭제
  106. 삭제
  107. 삭제
  108. 삭제
  109. 삭제
  110. 삭제
  111. 삭제
  112. 삭제
  113. 삭제
  114. 삭제
  115. 삭제
  116. 삭제
  117. 삭제
  118. 삭제
  119. 삭제
  120. 삭제
  121. 삭제
  122. 삭제
  123. 삭제
  124. 삭제
  125. 삭제
  126. 삭제
  127. 삭제
  128. 삭제
  129. 삭제
  130. 삭제
  131. 삭제
  132. 삭제
  133. 삭제
  134. 삭제
  135. 삭제
  136. 삭제
  137. 삭제
  138. 삭제
  139. 삭제
  140. 삭제
  141. 삭제
  142. 삭제
  143. 삭제
  144. 삭제
  145. 삭제
  146. 삭제
  147. 삭제
  148. 삭제
  149. 삭제
  150. 삭제
KR1020047016490A 2002-05-31 2003-05-26 네트워크형 콘텐츠 재생 시스템 KR100903258B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2002158753 2002-05-31
JPJP-P-2002-00158753 2002-05-31
JPJP-P-2002-00232749 2002-08-09
JP2002232749 2002-08-09
JPJP-P-2003-00017931 2003-01-27
JP2003017931 2003-01-27
JP2003045432 2003-02-24
JPJP-P-2003-00045432 2003-02-24
PCT/JP2003/006552 WO2003102919A1 (en) 2002-05-31 2003-05-26 Network type content reproduction system

Publications (2)

Publication Number Publication Date
KR20050003371A KR20050003371A (ko) 2005-01-10
KR100903258B1 true KR100903258B1 (ko) 2009-06-17

Family

ID=29716231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047016490A KR100903258B1 (ko) 2002-05-31 2003-05-26 네트워크형 콘텐츠 재생 시스템

Country Status (8)

Country Link
US (6) US7634532B2 (ko)
EP (1) EP1508892B1 (ko)
JP (5) JP4013949B2 (ko)
KR (1) KR100903258B1 (ko)
CN (1) CN100515076C (ko)
AU (1) AU2003241772B2 (ko)
CA (1) CA2486671C (ko)
WO (1) WO2003102919A1 (ko)

Families Citing this family (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
JP4020039B2 (ja) 2003-07-08 2007-12-12 オンキヨー株式会社 ネットワークavシステム
JP3979432B2 (ja) 2003-08-08 2007-09-19 オンキヨー株式会社 ネットワークavシステム
JP3865139B2 (ja) 2003-10-15 2007-01-10 オンキヨー株式会社 ネットワークavシステム
WO2005050477A1 (en) * 2003-11-18 2005-06-02 Nokia Corporation Method, subject terminal device, target terminal device, data content server, system and computer programs for maintaining and updating data contents
JP4114596B2 (ja) * 2003-11-19 2008-07-09 オンキヨー株式会社 ネットワークavシステム
JP2005303975A (ja) * 2004-03-19 2005-10-27 Onkyo Corp ネットワークavシステム、コントローラ及びその動作プログラム
WO2006009210A1 (ja) * 2004-07-21 2006-01-26 Sony Corporation コンテンツ処理装置,コンテンツ処理方法およびコンピュータプログラム
CN100433034C (zh) * 2004-07-21 2008-11-12 索尼株式会社 通信系统、通信方法和内容处理装置
US7362999B2 (en) * 2004-08-23 2008-04-22 General Motors Corporation Method and system for customized music delivery
JP4929726B2 (ja) * 2005-03-07 2012-05-09 富士ゼロックス株式会社 画像処理システム
JP4650677B2 (ja) * 2005-03-14 2011-03-16 ソニー株式会社 関連情報連続出力方法、関連情報連続提供方法、関連情報連続出力装置、関連情報連続提供装置、関連情報連続出力プログラム及び関連情報連続提供プログラム
JP2006285607A (ja) * 2005-03-31 2006-10-19 Sony Corp コンテンツ情報提供システム,コンテンツ情報提供サーバ,コンテンツ再生装置,コンテンツ情報提供方法,コンテンツ再生方法,およびコンピュータプログラム
JP4775843B2 (ja) * 2005-08-10 2011-09-21 株式会社日立製作所 ストレージシステム及び記憶制御方法
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
JP4802348B2 (ja) * 2005-12-14 2011-10-26 オンキヨー株式会社 クライアント装置およびクライアントプログラム
JP2007240973A (ja) * 2006-03-09 2007-09-20 Sony Corp データ選択システム、データ選択装置、データ選択方法及びデータ選択プログラム
US20070220587A1 (en) * 2006-03-15 2007-09-20 Loyer Douglas E Systems, Methods, and Apparatus for Most Advantageous Media Delivery for Rich Media Applications
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
KR100812258B1 (ko) * 2006-09-28 2008-03-10 주식회사 드리머 연속적 컨텐츠 제공을 위한 데이터 방송 시스템 및 연속적컨텐츠 제공 방법
US7634562B2 (en) * 2006-10-27 2009-12-15 Cyscape, Inc. Method and apparatus for determining application responsiveness over a network
US20080222273A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
WO2008114389A1 (ja) * 2007-03-19 2008-09-25 Pioneer Corporation コンテンツ再生システム及びその制御方法
JP5034602B2 (ja) * 2007-03-29 2012-09-26 ヤマハ株式会社 電子音楽装置及びプログラム
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9627081B2 (en) * 2007-10-05 2017-04-18 Kinglite Holdings Inc. Manufacturing mode for secure firmware using lock byte
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8898568B2 (en) * 2008-09-09 2014-11-25 Apple Inc. Audio user interface
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US8843977B2 (en) * 2009-06-04 2014-09-23 Verizon Patent And Licensing Inc. Media content delivery systems and methods
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
KR101584304B1 (ko) * 2009-07-20 2016-01-11 삼성전자주식회사 콘텐츠 요청 장치 및 방법
US9450804B2 (en) * 2009-09-03 2016-09-20 At&T Intellectual Property I, L.P. Anycast aware transport for content distribution networks
EP2507963B1 (en) * 2009-12-02 2017-01-25 BlackBerry Limited Reliable delivery of content to a push-state aware client device
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
JP4797215B2 (ja) * 2010-02-26 2011-10-19 オンキヨー株式会社 音量調整システム
JP5573337B2 (ja) * 2010-04-30 2014-08-20 ソニー株式会社 情報提供装置、情報提供方法、プログラム、情報処理装置、サービス提供装置および情報処理システム
US9721035B2 (en) * 2010-06-30 2017-08-01 Leaf Group Ltd. Systems and methods for recommended content platform
JP5716302B2 (ja) * 2010-06-30 2015-05-13 ソニー株式会社 情報処理装置、コンテンツ提供方法及びプログラム
US20120079547A1 (en) * 2010-09-24 2012-03-29 Seong-Hwan Kim Multimedia Network Interface Device with Table-Based Connection Management
JP5184606B2 (ja) * 2010-11-01 2013-04-17 株式会社バッファロー コンテンツ送信方法、接続先ストレージ及びコンテンツ送信プログラム
WO2012063395A1 (ja) * 2010-11-12 2012-05-18 パナソニック株式会社 サーバ、通信端末、およびそれらを備えた機器連携システム
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
CN102638788A (zh) * 2011-02-12 2012-08-15 苏州达联信息科技有限公司 一种铁路轨道监测传感网络业务修改方法及装置
CN102638812A (zh) * 2011-02-12 2012-08-15 苏州达联信息科技有限公司 一种铁路轨道监测传感网络的业务注册方法及装置
US9646100B2 (en) 2011-03-14 2017-05-09 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US9781091B2 (en) 2011-03-14 2017-10-03 Verisign, Inc. Provisioning for smart navigation services
US9811599B2 (en) 2011-03-14 2017-11-07 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US10185741B2 (en) * 2011-03-14 2019-01-22 Verisign, Inc. Smart navigation services
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20120310642A1 (en) 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
US10509831B2 (en) 2011-07-29 2019-12-17 Leaf Group Ltd. Systems and methods for time and space algorithm usage
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
JP5440625B2 (ja) * 2012-02-06 2014-03-12 オンキヨー株式会社 コントローラ及びそのプログラム
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US8260880B1 (en) * 2012-04-27 2012-09-04 Wirespring Technologies, Inc. Content management system for integrated display substrates
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014144949A2 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US10057207B2 (en) 2013-04-07 2018-08-21 Verisign, Inc. Smart navigation for shortened URLs
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9389754B2 (en) 2013-05-14 2016-07-12 Demand Media, Inc. Generating a playlist based on content meta data and user parameters
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
CN105265005B (zh) 2013-06-13 2019-09-17 苹果公司 用于由语音命令发起的紧急呼叫的系统和方法
KR101499068B1 (ko) * 2013-06-19 2015-03-09 김용진 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
JP6519258B2 (ja) 2015-03-23 2019-05-29 株式会社バッファロー 情報処理装置、及び情報処理方法
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US9843474B2 (en) * 2015-12-23 2017-12-12 Intel Corporation Telemetry adaptation
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
JP6888615B2 (ja) * 2016-03-30 2021-06-16 日本電気株式会社 情報共有方式
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
JP6544817B1 (ja) * 2018-07-31 2019-07-17 Quadrac株式会社 サーバ装置及びシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001257707A (ja) 2000-03-09 2001-09-21 Sony Corp マルチ再生システム、サーバ装置、端末装置

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167159A (ja) 1990-10-31 1992-06-15 Fuji Xerox Co Ltd ネットワークシステムのサーバ検索方式
JPH05257839A (ja) 1991-12-12 1993-10-08 Sony Corp オーディオ信号再生方法およびオーディオ信号入出力方法
JP3075014B2 (ja) 1993-05-14 2000-08-07 松下電器産業株式会社 バスシステム
JPH0749704A (ja) 1993-08-06 1995-02-21 Hitachi Ltd 通信装置の入出力処理方式
JPH07327278A (ja) * 1994-06-01 1995-12-12 Nippon Telegr & Teleph Corp <Ntt> 遠隔制御方式
JPH0823583A (ja) * 1994-07-06 1996-01-23 Nippon Columbia Co Ltd 音量調整装置
JP3946275B2 (ja) * 1995-01-10 2007-07-18 富士通株式会社 リモートインストールシステムおよび方法
JPH08202638A (ja) 1995-01-26 1996-08-09 Namco Ltd ソフトウエア配給システム
JPH08242426A (ja) 1995-03-03 1996-09-17 Toshiba Corp ディスク再生装置
JP3625517B2 (ja) 1995-04-10 2005-03-02 三菱電機株式会社 ビデオデータ転送方法
JP3154921B2 (ja) * 1995-06-09 2001-04-09 富士通株式会社 ビデオ・オン・デマンドシステムにおける映像再生位置割り出し方式
JP3512910B2 (ja) * 1995-07-06 2004-03-31 株式会社東芝 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
JPH0963176A (ja) 1995-08-28 1997-03-07 Sony Corp ビデオcd再生装置およびビデオcd再生方法
JPH0970018A (ja) 1995-09-01 1997-03-11 Hitachi Ltd ファイルサーバ
JPH0998362A (ja) 1995-09-29 1997-04-08 Nec Corp マルチメディア通信システム
JP3087638B2 (ja) * 1995-11-30 2000-09-11 ヤマハ株式会社 音楽情報処理システム
US5732217A (en) * 1995-12-01 1998-03-24 Matsushita Electric Industrial Co., Ltd. Video-on-demand system capable of performing a high-speed playback at a correct speed
JPH09244900A (ja) 1996-03-11 1997-09-19 Taito Corp 通信カラオケ装置、通信カラオケ用ホストコンピュータ及び通信カラオケシステム
JPH09271002A (ja) 1996-03-29 1997-10-14 Mitsubishi Electric Corp ビデオデータ配信方式
JP3972381B2 (ja) * 1996-04-12 2007-09-05 ソニー株式会社 情報転送装置及び情報転送方法
JPH09284343A (ja) 1996-04-12 1997-10-31 Kokusai Denshin Denwa Co Ltd <Kdd> 蓄積型マルチメディア情報の転送再生方法および装置
TW358277B (en) * 1996-05-08 1999-05-11 Matsushita Electric Ind Co Ltd Multiplex transmission method and system, and audio jitter absorbing method used therein
JP3258236B2 (ja) 1996-05-28 2002-02-18 株式会社日立製作所 マルチメディア情報転送システム
JPH09331518A (ja) 1996-06-13 1997-12-22 Nippon Telegr & Teleph Corp <Ntt> 動画像データ提供システムにおけるジャンプ先指定方法
JP3825099B2 (ja) 1996-09-26 2006-09-20 富士通株式会社 映像データ転送方式およびビデオサーバ装置
EP0901285A4 (en) 1997-02-26 2002-05-29 Mitsubishi Electric Corp DEVICE, SYSTEM AND METHOD FOR DISTRIBUTING VIDEO DATA
JPH10320340A (ja) 1997-03-14 1998-12-04 Toshiba Corp クライアントサーバシステムにおける、メッセージ制御方法ならびに装置、及び同方法がプログラムされ記録、伝播する記録媒体もしくは通信媒体
JPH10276408A (ja) 1997-03-31 1998-10-13 Nippon Telegr & Teleph Corp <Ntt> ビデオ情報提供制御方法およびシステム
JP3714441B2 (ja) 1997-04-28 2005-11-09 松下電器産業株式会社 サーバシステムとそのプロトコル処理方法
JP3261399B2 (ja) 1997-07-31 2002-02-25 松下電器産業株式会社 リモートメンテナンス方法およびリモートメンテナンス装置
US6263497B1 (en) * 1997-07-31 2001-07-17 Matsushita Electric Industrial Co., Ltd. Remote maintenance method and remote maintenance apparatus
JP3201313B2 (ja) 1997-08-01 2001-08-20 日本ビクター株式会社 データ伝送システム及び再生装置
JPH1166824A (ja) 1997-08-15 1999-03-09 Sony Corp オーディオサーバシステム
JPH1196014A (ja) 1997-09-25 1999-04-09 Nec Corp プログラム部品配信装置および方法
EP0913775A1 (en) * 1997-10-03 1999-05-06 CANAL+ Société Anonyme Modem control
JP3201319B2 (ja) * 1997-11-01 2001-08-20 日本電気株式会社 ネットワークに接続可能な電子機器
JP3518292B2 (ja) 1997-12-02 2004-04-12 日本電気株式会社 クライアントサーバシステム
JP3687828B2 (ja) 1997-12-04 2005-08-24 ソニー株式会社 情報処理システムおよび方法、情報提供装置および方法、並びに記録媒体
JPH11219207A (ja) 1998-01-30 1999-08-10 Yaskawa Electric Corp マルチコントローラシステム
JP3275819B2 (ja) * 1998-02-12 2002-04-22 株式会社デンソー 情報通信システム
EP1029402A1 (en) * 1998-02-23 2000-08-23 Personal Audio, Inc. System for distributing personalized audio programming
JPH11249640A (ja) * 1998-02-27 1999-09-17 Hitachi Ltd 年表表示方法
JPH11259404A (ja) 1998-03-06 1999-09-24 Yukihiko Kobori 自律・協調分散ネットワーク型情報通信処理機構とその装置
JPH11328851A (ja) * 1998-05-19 1999-11-30 Sony Corp 端末装置及び再生方法
JP2000031998A (ja) * 1998-07-15 2000-01-28 Nec Corp ネットワーク装置、ネットワークの管理方式および管理方法
JP2000049831A (ja) 1998-07-29 2000-02-18 Yaskawa Electric Corp 家電用ネットワーク装置
JP2000059755A (ja) * 1998-08-07 2000-02-25 Matsushita Electric Ind Co Ltd データサーバシステム、データ受信装置およびデータ送信装置
JP2000075867A (ja) 1998-08-26 2000-03-14 Casio Comput Co Ltd 通信カラオケ装置、曲データ配信装置、及び記録媒体
JP2001057571A (ja) 1998-09-14 2001-02-27 Matsushita Electric Ind Co Ltd ファイルシステム
US6397258B1 (en) * 1998-09-14 2002-05-28 Matsushita Electric Industrial, Co., Ltd. File system
JP2000092125A (ja) * 1998-09-14 2000-03-31 Hitachi Ltd パケット転送装置、中継器、通信網、パケット転送方法および通信網の切替方法
JP3396639B2 (ja) * 1998-09-30 2003-04-14 株式会社東芝 階層記憶装置及び階層記憶制御方法
JP4702911B2 (ja) 1998-09-30 2011-06-15 キヤノン株式会社 カメラ制御方法、カメラ制御サーバ、および記録媒体
JP2000125260A (ja) 1998-10-15 2000-04-28 Toshiba Corp 動画像伝送サーバおよび同サーバを用いた動画像伝送システム並びに動画像伝送制御方法
JP3595709B2 (ja) 1998-11-19 2004-12-02 キヤノン株式会社 周辺制御装置および管理装置および周辺制御装置の環境設定方法および管理装置の環境設定方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2000217167A (ja) * 1998-11-20 2000-08-04 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2000224207A (ja) 1999-02-02 2000-08-11 Sony Corp 情報処理装置および方法、情報処理システム、並びに提供媒体
WO2000047951A1 (fr) * 1999-02-09 2000-08-17 Sony Corporation Procede, appareil et support de traitement de l'information
JP3179433B2 (ja) 1999-02-09 2001-06-25 九州日本電気ソフトウェア株式会社 端末装置
CN1196130C (zh) * 1999-05-28 2005-04-06 松下电器产业株式会社 半导体存储器卡、重放装置、记录装置、重放方法、记录方法、和计算机可读存储介质
CN1187756C (zh) * 1999-05-28 2005-02-02 松下电器产业株式会社 半导体存储器卡、播放装置、记录装置、播放方法、记录方法、和计算机可读记录介质
JP4120906B2 (ja) 1999-06-24 2008-07-16 ソニー株式会社 ネットワークシステム、情報管理装置、端末機器、情報管理方法及び端末機器の登録方法
JP3478200B2 (ja) 1999-09-17 2003-12-15 日本電気株式会社 サーバ・クライアント間双方向通信システム
JP3764311B2 (ja) 1999-10-29 2006-04-05 シャープ株式会社 ネットワーク接続された情報処理装置の周辺機器およびデバイスドライバのバージョン管理方法
JP2001357312A (ja) 1999-11-24 2001-12-26 Sega Corp 情報処理装置、ファイルサーバ、課金管理システムおよび課金管理方法並びにプログラムを記録した記録媒体
US7051110B2 (en) * 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
JP2001186162A (ja) 1999-12-24 2001-07-06 Toshiba Corp Av機器ネットワークシステム
JP3975045B2 (ja) * 2000-01-24 2007-09-12 パナソニック コミュニケーションズ株式会社 ネットワーク制御装置及びリモート表示装置
JP4269203B2 (ja) * 2000-02-04 2009-05-27 ソニー株式会社 データ処理システム、データ処理装置、データ処理方法、プログラム及び再生装置
JP2001256156A (ja) * 2000-03-10 2001-09-21 Victor Co Of Japan Ltd 制御情報システムおよび制御情報伝送方法
JP3749817B2 (ja) * 2000-03-30 2006-03-01 株式会社東芝 送信装置およびその送信方法
AU2001251748A1 (en) * 2000-04-14 2001-10-30 Solidstreaming, Inc. A system and method for multimedia streaming
JP2001309457A (ja) 2000-04-26 2001-11-02 Victor Co Of Japan Ltd 家庭内ネットワークシステム及び家庭内ネットワークに使用するリモートコントロール装置
JP2002014912A (ja) 2000-04-28 2002-01-18 Sony Corp メモリ制御方法、データ受信装置、データ送受信方法およびデータ送受信システム
JP4380886B2 (ja) 2000-04-28 2009-12-09 ソニー株式会社 情報記録再生システムおよび移動可能機器
JP2001318949A (ja) 2000-05-09 2001-11-16 Onkyo Corp コンテンツ配送システム
JP2001326652A (ja) * 2000-05-16 2001-11-22 Nec Miyagi Ltd 監視制御システム
JP4265082B2 (ja) 2000-05-23 2009-05-20 ヤマハ株式会社 サーバクライアントシステムおよびサーバ装置
JP2001344271A (ja) 2000-06-01 2001-12-14 Onkyo Corp ストリームデータ再生システム
JP2002044765A (ja) * 2000-07-28 2002-02-08 Matsushita Electric Ind Co Ltd 遠隔制御システムとゲートウェイ装置
JP2002049556A (ja) * 2000-08-02 2002-02-15 Sharp Corp 家庭内メディア配信システム
JP2002051387A (ja) * 2000-08-04 2002-02-15 Kenwood Corp ネットワークシステム、コントロール機器、再生制御方法及び記録媒体
JP2002055687A (ja) 2000-08-11 2002-02-20 Onkyo Corp 音楽ファイル送受信システム
WO2002019097A1 (en) * 2000-09-01 2002-03-07 International Interactive Commerce, Ltd. System and method for collaboration using web browsers
JP2002078047A (ja) * 2000-09-04 2002-03-15 Sharp Corp ネットワーク制御システム
JP4559602B2 (ja) * 2000-09-06 2010-10-13 ミサワホーム株式会社 マルチメディア情報盤、ケーブルの接続構造およびケーブルの接続方法
JP4453177B2 (ja) * 2000-09-11 2010-04-21 ソニー株式会社 コンテンツ配信システムおよびその方法
JP3751815B2 (ja) 2000-10-04 2006-03-01 日本電信電話株式会社 サービス提供システム
JP2002149166A (ja) * 2000-11-09 2002-05-24 Yamaha Corp 楽曲情報配信装置、方法、及び記録媒体
JP2002152682A (ja) * 2000-11-14 2002-05-24 Matsushita Electric Ind Co Ltd 画像伝送装置
JP2002152859A (ja) * 2000-11-14 2002-05-24 Matsushita Electric Ind Co Ltd ホームコントロールシステム
JP3634742B2 (ja) * 2000-11-15 2005-03-30 三洋電機株式会社 配信システムおよび携帯電話機
JP2002176610A (ja) * 2000-12-08 2002-06-21 Brother Ind Ltd ビデオ操作サーバ、ビデオ操作方法、記録媒体およびプログラム
US6874040B2 (en) * 2000-12-19 2005-03-29 International Business Machines Corporation Employing a data mover to communicate between dynamically selected zones of a central processing complex
JP2002191038A (ja) 2000-12-20 2002-07-05 Hitachi Ltd 動画像配信システム
JP2002199344A (ja) 2000-12-26 2002-07-12 Toshiba Corp マルチメディア情報送信サーバ装置
JP2002223443A (ja) 2001-01-24 2002-08-09 Yamaha Corp トランスコーディング方法およびトランスコーディング装置
JP3965916B2 (ja) * 2001-02-09 2007-08-29 セイコーエプソン株式会社 データ転送システム、転送元端末及び中間処理端末
US20020194596A1 (en) * 2001-06-18 2002-12-19 Srivastava Gopal K. Control of multiple AV-devices by a single master controller using infrared transmitted commands and bus transmitted commands
US6792449B2 (en) 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
JP2003018668A (ja) 2001-07-02 2003-01-17 Toshiba Corp ネットワーク機器制御装置および方法
JP2003022225A (ja) * 2001-07-09 2003-01-24 Sony Corp 機器制御装置および方法
EP1286351B1 (en) 2001-08-21 2012-08-08 Thomson Licensing File and content management
JP3941435B2 (ja) 2001-08-24 2007-07-04 ヤマハ株式会社 演奏情報再生装置、方法及びプログラム
JP4670209B2 (ja) 2001-09-13 2011-04-13 ヤマハ株式会社 楽曲情報再生装置、及びプログラム
JP2003110561A (ja) * 2001-09-26 2003-04-11 Matsushita Electric Ind Co Ltd ホームネットワーク上のストリーム管理装置
JP2003111048A (ja) 2001-09-26 2003-04-11 Ntt Software Corp コンテンツ再生のためのサーバ及びプログラム
JP2003131975A (ja) 2001-10-24 2003-05-09 Matsushita Electric Ind Co Ltd ストリーミング配信システム及び情報端末
JP2003143222A (ja) 2001-11-06 2003-05-16 Victor Co Of Japan Ltd ネットワーク制御システム
US7620713B2 (en) * 2002-04-23 2009-11-17 Sharp Kabushiki Kaisha Device control management apparatus
JP3888532B2 (ja) * 2002-05-14 2007-03-07 ソニー株式会社 コンテンツ再生機器、サーバ接続方法、サーバ接続プログラムおよび記録媒体
US7075899B2 (en) * 2002-05-21 2006-07-11 Actv, Inc. System and method for providing private in-band data to digital set-top boxes in a broadcast environment
JP2003338947A (ja) * 2002-05-22 2003-11-28 Pioneer Electronic Corp 電子機器ネットワークシステム、電子機器制御装置、及び電子機器制御方法
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US7490136B2 (en) * 2002-12-17 2009-02-10 Ricoh Company, Ltd. Digital contents distributing system and distributing method
JP4020039B2 (ja) * 2003-07-08 2007-12-12 オンキヨー株式会社 ネットワークavシステム
JP3865139B2 (ja) * 2003-10-15 2007-01-10 オンキヨー株式会社 ネットワークavシステム
JP4275085B2 (ja) * 2005-02-17 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、およびデータストリーム生成方法
JP4396590B2 (ja) * 2005-05-13 2010-01-13 ソニー株式会社 再生装置、再生方法および再生プログラム
JP2007042204A (ja) * 2005-08-02 2007-02-15 Sony Corp 再生装置、期限通知方法および期限通知プログラム
JP5055901B2 (ja) * 2005-10-26 2012-10-24 ソニー株式会社 携帯型再生装置、関連情報通知方法および関連情報通知プログラム
JP2008250569A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
JP2010157188A (ja) * 2009-01-05 2010-07-15 Sony Corp 情報処理装置、コンテンツ管理方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001257707A (ja) 2000-03-09 2001-09-21 Sony Corp マルチ再生システム、サーバ装置、端末装置

Also Published As

Publication number Publication date
US20120117148A1 (en) 2012-05-10
EP1508892B1 (en) 2017-07-12
CN100515076C (zh) 2009-07-15
US8291074B2 (en) 2012-10-16
US20110137985A1 (en) 2011-06-09
JP2012164329A (ja) 2012-08-30
AU2003241772A1 (en) 2003-12-19
EP1508892A4 (en) 2005-08-17
AU2003241772B2 (en) 2008-11-06
CA2486671C (en) 2011-11-15
JP2011242800A (ja) 2011-12-01
JP5673588B2 (ja) 2015-02-18
US20100049796A1 (en) 2010-02-25
US8516042B2 (en) 2013-08-20
US8005928B2 (en) 2011-08-23
US8037177B2 (en) 2011-10-11
JP4013949B2 (ja) 2007-11-28
JP5017738B2 (ja) 2012-09-05
JP2010072657A (ja) 2010-04-02
WO2003102919A1 (en) 2003-12-11
CN1659623A (zh) 2005-08-24
US20050203991A1 (en) 2005-09-15
EP1508892A1 (en) 2005-02-23
JP2012190462A (ja) 2012-10-04
US20110219064A1 (en) 2011-09-08
JP4929520B2 (ja) 2012-05-09
JPWO2003102919A1 (ja) 2005-09-29
US20120041999A1 (en) 2012-02-16
US7634532B2 (en) 2009-12-15
CA2486671A1 (en) 2003-12-11
US7908370B2 (en) 2011-03-15
KR20050003371A (ko) 2005-01-10

Similar Documents

Publication Publication Date Title
KR100903258B1 (ko) 네트워크형 콘텐츠 재생 시스템
JP3847764B2 (ja) ネットワーク型コンテンツ再生システム
US8572034B2 (en) Method of managing a distributed storage system
US9229937B2 (en) Apparatus and method for managing digital contents distributed over network
JPH1173418A (ja) マルチメディア情報制御装置及び方法
JP4812604B2 (ja) ネットワーク型コンテンツ再生システム
JP4155260B2 (ja) ネットワーク型コンテンツ再生システム
JP2005189827A6 (ja) ネットワーク型コンテンツ再生システム
JP4013942B2 (ja) ネットワーク型コンテンツ再生システム
JP2005182762A (ja) ネットワーク型コンテンツ再生システム
JP2005182763A6 (ja) ネットワーク型コンテンツ再生システム
JP4281792B2 (ja) ネットワーク型コンテンツ再生システム

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180517

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 11