JP3979432B2 - ネットワークavシステム - Google Patents

ネットワークavシステム Download PDF

Info

Publication number
JP3979432B2
JP3979432B2 JP2005512894A JP2005512894A JP3979432B2 JP 3979432 B2 JP3979432 B2 JP 3979432B2 JP 2005512894 A JP2005512894 A JP 2005512894A JP 2005512894 A JP2005512894 A JP 2005512894A JP 3979432 B2 JP3979432 B2 JP 3979432B2
Authority
JP
Japan
Prior art keywords
server
list
client
local
servers
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2005512894A
Other languages
English (en)
Other versions
JPWO2005015407A1 (ja
Inventor
年伸 佐野
貴宏 千葉
英之 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onkyo Corp
Original Assignee
Onkyo Corp
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 Onkyo Corp filed Critical Onkyo Corp
Application granted granted Critical
Publication of JP3979432B2 publication Critical patent/JP3979432B2/ja
Publication of JPWO2005015407A1 publication Critical patent/JPWO2005015407A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • 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
    • 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
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/125Library distribution, i.e. distributing musical pieces from a central or master library
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/285USB, i.e. either using a USB plug as power supply or using the USB protocol to exchange data
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/315Firewire, i.e. transmission according to IEEE1394

Description

【技術分野】
【0001】
本発明は、音声及び/又は映像の再生が可能なネットワークAV(Audio/Video)システムに関し、さらに詳しくは、複数のサーバとクライアントとを備えたネットワークAVシステムに関する。
【背景技術】
【0002】
最近、クライアントサーバシステムを利用したネットワークAVシステムが提供されている。国際公開第WO03/102919号パンフレットは、多数のコンテンツを蓄積したサーバと、LAN(Local Area Network)経由で接続されたオーディオクライアントとを備えたネットワークAVシステムを開示する。オーディオクライアントは所望のコンテンツをサーバに要求し、これに応じてサーバは要求されたコンテンツをオーディオクライアントに配信する。オーディオクライアントはサーバから配信されたコンテンツを再生する。
【0003】
ネットワークAVシステムはサーバが複数あればそれだけ蓄積されるコンテンツを増やすことができる。しかしながら、サーバごとに蓄積されるコンテンツが異なれば、オーディオクライアントは所望のコンテンツがどのサーバに蓄積されているか探さなければならない。オーディオクライアントが所望のコンテンツを見つけるまで、ひとつひとつのサーバに接続するのは煩雑である。
【0004】
また、サーバがコンテンツをオーディオクライアントに配信中に動作を停止すれば、オーディオクライアントの再生動作は中断してしまう。
【0005】
また、オーディオクライアントがサーバからコンテンツの配信を受け、再生した後、別のコンテンツの再生をしたい場合、再生をしたいコンテンツを蓄積する当該他のサーバに接続し直す必要がある。
【発明の開示】
【0006】
本発明の1つの目的は、複数のサーバが複数のコンテンツを蓄積していても、クライアントが所望のコンテンツを容易に見つけることができるネットワークAVシステムを提供することである。
【0007】
本発明のもう1つの目的は、コンテンツを配信中のサーバがその動作を停止しても、クライアントがそのコンテンツを最後まで再生できるネットワークAVシステムを提供することである。
【0008】
本発明のもう1つの目的は、クライアントがサーバを接続し直す必要のないネットワークAVシステムを提供することである。
【0015】
本発明によるネットワークAVシステムは、機器である複数のサーバと、機器であるクライアントとを備える。サーバは当該他のサーバと互いに接続され、クライアントはサーバのいずれかに接続される。サーバの各々は、複数のコンテンツを蓄積するための蓄積手段と、ローカルリスト記憶手段と、機器リストと、サーバ機器情報送信手段と、登録手段と、ローカルリスト更新手段と、更新通知手段と、ローカルリスト取得手段と、ローカルリスト送信手段と、グローバルリスト送信手段とを備える。ローカルリスト記憶手段は、自己が蓄積するコンテンツを列挙した自己のローカルリストと当該他のサーバの各々が蓄積するコンテンツを列挙した当該他のサーバごとのローカルリストとを記憶する。機器リストには、自身に接続された機器を特定するための機器識別子と、機器識別子の機器がサーバであるかクライアントであるかを示す機器情報とが対応付けて登録される。サーバ機器情報送信手段は、当該他のサーバとの接続が確立されたとき、自身がサーバであることを示す機器情報を当該他のサーバに送信する。登録手段は、他の機器との接続が確立されたとき、他の機器から送信された機器情報を機器リストに登録する。ローカルリスト更新手段は、自己が蓄積するコンテンツが更新されたとき自己のローカルリストを更新し、当該他のサーバの更新されたローカルリストを受信したとき、受信されたローカルリストに基づいてローカルリスト記憶手段に記憶されている当該他のサーバのローカルリストを更新する。更新通知手段は、自己のローカルリストを更新した場合、機器リストに列挙された全ての機器に更新通知を送信し、受信されたローカルリストに基づいてローカルリスト記憶手段に記憶されている当該他のサーバのローカルリストを更新した場合、機器リストに列挙された機器のうち、対応する機器情報がサーバであることを示す機器識別子の機器へ更新通知送信せず、かつ、対応する機器情報がクライアントであることを示す機器識別子の機器に対して更新通知を送信する。ローカルリスト取得手段は、当該他のサーバから更新通知を受信したとき、当該他のサーバのローカルリストを要求して取得する。ローカルリスト送信手段は、当該他のサーバからローカルリストの要求を受信したとき、自身のローカルリストを当該他のサーバに送信する。グローバルリスト送信手段は、クライアントからグローバルリストの要求を受信したとき、ローカルリストに蓄積された複数のローカルリストをまとめたグローバルリストを送信する。クライアントは、クライアント機器情報送信手段と、グローバルリスト取得手段を備える。クライアント機器情報送信手段は、サーバとの接続が確立されたとき、自身がクライアントであることを示す機器情報をサーバに送信する。グローバルリスト取得手段は、サーバから更新通知を受信したとき、グローバルリストの要求を送信してグローバルリストを取得する。
【0016】
本発明によるネットワークAVシステムでは、サーバはクライアントに複数のサーバが蓄積する複数のコンテンツを列挙したグローバルリストを送信する。そのため、クライアントはコンテンツが蓄積されたサーバごとにコンテンツのリストを要求する必要がなく、グローバルリストに基づいて、所望のコンテンツを容易に見つけることができ、複数のサーバに蓄積されたコンテンツを列挙したグローバルリストの中から所望のコンテンツを選択できる。また、クライアントは複数のサーバのうちどのサーバに要求しても、グローバルリストを取得できる。そのため、クライアントは容易にグローバルリストを取得でき、複数のサーバに蓄積された複数のコンテンツの中から所望のコンテンツを容易に見つけることができる。
また、サーバは当該他のサーバからローカルリストを取得し、自己のローカルリスト及び当該他のサーバのローカルリストからグローバルリストを更新できる。
また、サーバは当該他のサーバから最新のローカルリストを取得し、自己の最新のローカルリストと合わせてグローバルリストを最新のものに更新できる。
【0017】
好ましくは、クライアントはコンテンツ要求手段を備える。コンテンツ要求手段は送信されたグローバルリストの中から選択されたコンテンツをサーバに要求する。サーバの各々はさらに、コンテンツ返信手段を備える。コンテンツ返信手段はクライアントからの要求に応じて選択されたコンテンツをクライアントに返信する。クライアントはさらに、再生手段を備える。再生手段は返信されたコンテンツを再生する。
【0018】
この場合、クライアントは複数のサーバに蓄積された複数のコンテンツの中から所望のコンテンツを容易に選択できる。選択されたコンテンツはサーバからクライアントに送信され、クライアントはそのコンテンツに基づいて音声又は映像を再生できる。
【0019】
好ましくは、グローバルリストは複数のコンテンツに対応して複数のコンテンツが蓄積された複数のサーバのアドレスを含み、コンテンツ要求手段は、サーバのアドレスに基づいて、選択されたコンテンツを要求する。
【0020】
この場合、クライアントは所望のコンテンツを蓄積したサーバをグローバルリストから特定できる。そのため、クライアントは複数のサーバの中から所望のコンテンツを蓄積したサーバを容易に特定でき、その結果、そのコンテンツを容易に取得できる。
【0025】
好ましくは、サーバの各々はさらに離脱通知手段を備える。離脱通知手段は、サーバがネットワークAVシステムから離脱する前に、当該他のサーバに離脱通知を送信する。グローバルリスト更新手段は、離脱通知に応じて、離脱通知を送信したサーバのローカルリストを削除するようグローバルリストを更新する。
【0026】
この場合、離脱したサーバのローカルリストは、そのサーバが離脱したときにグローバルリストから削除される。
【0033】
好ましくは、サーバの各々はさらに、引継通知手段を備える。サーバがコンテンツ返信手段で選択されたコンテンツを返信中にサーバ動作を終了する場合、引継通知手段は選択されたコンテンツの返信の続きを引継ぐ引継サーバに接続するようクライアントに指令する。
【0034】
この場合、クライアントは引継通知手段による指令を受け、引継サーバに速やかに接続できる。
【0035】
好ましくは、サーバの各々はさらに、引継サーバ選択手段と、コンテンツを転送する手段とを備える。引継サーバ選択手段は、引継サーバを当該他のサーバから選択する。コンテンツを送信する手段は引継サーバに選択されたコンテンツを送信する。選択されたコンテンツを再生中のクライアントのコンテンツ要求手段は、引継サーバに対して選択されたコンテンツの返信の続きを要求する。
【0036】
これにより、クライアントにコンテンツを返信中のサーバがその動作を終了する場合、サーバは当該他のサーバから引継サーバを選択して、その引継サーバに返信中のコンテンツを送信する。クライアントは引継サーバに対してそのコンテンツの返信の続きを要求すれば、コンテンツの再生を継続できる。
【0037】
好ましくは、サーバの各々はさらに、クライアントに既に返信したコンテンツのデータ長を算出する算出手段と、算出されたデータ長に基づいて、クライアントが引継サーバから取得しようとするコンテンツが格納されているアドレスを示す取得開始アドレスを決定する手段とを備え、引継通知手段は、クライアントに取得開始アドレスを通知する。
【0038】
この場合、サーバはクライアントに既に返信したコンテンツのデータ長を算出し、算出されたデータ長に基づいて、クライアントが引継サーバから取得すべきコンテンツの取得開始位置(アドレス)を特定できる。その結果、クライアントは引継サーバからコンテンツの続きを速やかに取得できる。
【0039】
好ましくは、サーバの各々は、自己と接続している当該他のサーバの情報を含むサーバリストを記憶するためのサーバリスト記憶手段を備え、引継サーバ選択手段は、サーバリストに基づいて引継サーバを選択する。
【0040】
この場合、サーバはサーバリストに記憶されたサーバから引継サーバを選択できる。
【0041】
好ましくは、引継サーバ選択手段は、サーバリストに記憶されたサーバのうち最初に自己と接続したサーバを引継サーバに選択する。
【0042】
この場合、サーバは自己と一番初めに接続したサーバを引継サーバに選択できる。
【0043】
好ましくは、複数のクライアントは第1のクライアントと第2のクライアントとを含む。第1のクライアントは再生指示手段を備える。再生指示手段は、送信されたグローバルリストの中から選択されたコンテンツの再生指示をサーバを介して第2のクライアントに送信する。第2のクライアントはコンテンツ要求手段を備える。コンテンツ要求手段は、再生指示に応じて選択されたコンテンツをサーバに要求する。サーバの各々はさらに、コンテンツ返信手段を備える。第2のクライアントからの要求に応じて選択されたコンテンツを第2のクライアントに返信する。第2のクライアントはさらに、再生手段を備える。再生手段は、サーバから返信されたコンテンツを再生する。
【0044】
この場合、第1のクライアントはグローバルリストに基づいて選択されたコンテンツを第2のクライアントに再生させることができる。要するに、第1のクライアントは第2のクライアントを制御できる。
【0045】
好ましくは、第1のクライアントは、第2のクライアントと接続しているサーバの情報を含むサーバリストを記憶するためのサーバリスト記憶手段を備え、
【0046】
再生指示手段はサーバリストに基づいて、第2のクライアントが接続しているサーバを介して第2のクライアントに再生指示を送信する。
【0047】
この場合、第1のクライアントは第2のクライアントがどのサーバに接続しているかをサーバリストで把握できる。そのため、第2のクライアントが接続しているサーバを特定でき、そのサーバを介して第2のクライアントに再生指示を送信できる。
【図面の簡単な説明】
【0084】
【図1】グローバルリストサーバシステムの全体構成を示す機能ブロック図である。
【図2】図1のグローバルリストサーバシステムを説明するための概略図である。
【図3】図1中のサーバの構成を示す機能ブロック図である。
【図4】図1中のオーディオクライアントの構成を示すブロック図である。
【図5】図1中のマルチサーバシステムでサーバが起動するときの動作を示すフロー図である。
【図6】図5中のステップS10の動作の詳細を示すフロー図である。
【図7】図5中のステップS11の動作の詳細を示すフロー図である。
【図8】図1中のマルチサーバシステムで稼働中のサーバの動作を示すフロー図である。
【図9】図8中のステップS100の動作のうち、他のサーバから接続依頼を受けたサーバの動作の詳細を示すフロー図である。
【図10】図8中のステップS100の動作のうち、オーディオクライアントから接続依頼を受けたサーバの動作の詳細を示すフロー図である。
【図11】図8中のステップS200の動作の詳細を示すフロー図である。
【図12】図11中のステップS222で曲データを格納するためのバッファメモリの構成を示す図である。
【図13】図12に示したバッファメモリにおいて、曲の先頭から1バッファ分の曲データを格納した状態を示す図である。
【図14】図13に続き、全バッファ分の曲データを格納した状態を示す図である。
【図15】図14に続き、先頭バッファから曲データを出力する状態を示す図である。
【図16】図15に続き、1バッファ分の空きが生じた状態を示す図である。
【図17】図8中のステップS300の動作のうち、サーバ自身の曲データが更新された場合の更新動作を示すフロー図である。
【図18】図17中のステップS306以降のサーバとオーディオクライアントとの動作を示すフロー図である。
【図19】図8中のステップS300の動作のうち、他のサーバの曲データが更新された場合の更新動作を示すフロー図である。
【図20】図8中のステップS300の動作のうち、他のサーバがLANから離脱する場合の更新動作を示すフロー図である。
【図21】図8中のステップS400の終了動作の詳細を示すフロー図である。
【図22】図21中のステップS404及びS411の動作の詳細を示すフロー図である。
【図23】コントローラを含むグローバルサーバシステムの全体構成を示す機能ブロック図である。
【図24】図23中のサーバとオーディオクライアントとコントローラとの接続関係を説明するための概略図である。
【図25】図23中のコントローラの構成を示す機能ブロック図である。
【図26】図23に示したグローバルサーバシステムのハンドル取得動作を示すフロー図である。
【図27】図26中のステップS73の動作の詳細を示すフロー図である。
【図28】図23に示したグローバルサーバシステムの監視動作を示すフロー図である。
【図29】図23に示したグローバルサーバシステムの制御動作を示すフロー図である。
【図30】センタサーバシステムの全体構成を示す機能ブロック図である。
【図31】図30のセンタサーバシステムを説明するための概略図である。
【図32】図30に示したセンタサーバシステムでサーバが起動するときの動作を示すフロー図である。
【図33】図30に示したセンタサーバシステムで稼働中のセンタサーバの動作を示すフロー図である。
【図34】図33中のステップS500の動作の詳細を示すフロー図である。
【図35】図34中のステップS501の動作の詳細を示すフロー図である。
【図36】図35中のステップS600の更新動作のうち、センタサーバが自己のローカルリストを更新したときの更新動作の詳細を示すフロー図である。
【図37】図33中のステップS700の終了動作の詳細を示すフロー図である。
【図38】図30に示したセンタサーバシステムで稼働中のサブサーバの動作を示すフロー図である。
【図39】図38中のステップS650の動作の詳細を示すフロー図である。
【図40】図38中のステップS550のリスト更新動作のうち、自己のローカルリストがされた場合のリスト更新動作の詳細を示すフロー図である。
【図41】図38中のステップS550のリスト更新動作のうち、他のサブサーバのローカルリストが更新された場合のリスト更新動作の詳細を示すフロー図である。
【図42】図40中のステップS550のリスト更新動作のうち、他のサブサーバがLANを離脱する場合のリスト更新動作の詳細を示すフロー図である。
【図43】図38中のステップS750の終了動作の詳細を示すフロー図である。
【図44】コントローラを含むセンタサーバシステムの全体構成を示す機能ブロック図である。
【図45】図44に示したセンタサーバシステムの制御動作を示すフロー図である。
【図46】ファイル共有サーバシステムを説明するための概略図である。
【図47】ローカルリスト送信サーバシステムを説明するための概略図である。
【発明を実施するための最良の形態】
【0085】
以下、本発明の実施の形態を図面を参照して詳しく説明する。図中同一又は相当部分には同一符号を付してその説明を援用する。
【0086】
[目次]
1.グローバルリストサーバシステム
1.1.概略
1.2.構成
1.2.1.サーバの構成
1.2.2.オーディオクライアントの構成
1.3.システム動作
1.3.1.サーバ起動処理
1.3.2.起動処理後のサーバ動作
1.3.2.1.他のサーバとの接続動作
1.3.2.2.オーディオクライアントとの接続動作
1.3.2.3.配信動作
1.3.2.4.リスト更新動作
1.3.2.4.1.自己のローカルリストが更新された場合
1.3.2.4.2.他のサーバのローカルリストが更新された場合
1.3.2.4.3.他のサーバが離脱した場合
1.3.2.5.終了動作
1.4.コントローラを含むグローバルサーバシステム
1.4.1.概略
1.4.2.構成
1.4.3.システム動作
1.4.3.1.ハンドル取得動作
1.4.3.2.グローバルリスト取得動作及び更新動作
1.4.3.3.監視動作
1.4.3.4.制御動作
2.センタサーバシステム
2.1.概略
2.2.システム動作
2.2.1.サーバ起動処理
2.2.2.起動処理後のセンタサーバ動作
2.2.2.1.配信動作
2.2.2.2.リスト更新動作
2.2.2.2.1自己のローカルリストが更新された場合
2.2.2.3.終了動作
2.2.3.起動処理後のサブサーバ動作
2.2.3.1.接続動作
2.2.3.2.リスト更新動作
2.2.3.2.1.自己のローカルリストが更新された場合
2.2.3.2.2.他のサーバのローカルリストが更新された場合
2.2.3.2.3.他のサーバが離脱した場合
2.2.3.3.終了動作
2.3.コントローラを含むセンタサーバシステム
2.3.1.システム動作
3.他の実施の形態
3.1.ファイル共有サーバシステム
3.2.ローカルリスト送信システム
1.グローバルリストサーバシステム
【0087】
1.1.概略
【0088】
図1を参照して、グローバルリストサーバシステム10は、多数の曲データを蓄積するための複数のサーバSV1〜SV3と、サーバSV1〜SV3からの曲データに基づいて音楽を再生するための複数のオーディオクライアントCL1〜CL3とを備える。
【0089】
ここではサーバSV1〜SV3は曲データを蓄積しているが、これに代えて又はこれと共に映像データを蓄積していてもよく、その他、さまざまなデジタルコンテンツを蓄積していてもよい。以下では、曲データを例に説明する。図1では、オーディオクライアントCL1〜CL3を表示したが、オーディオクライアントCLは少なくとも1つ存在すればよい。
【0090】
これらは、LAN(ローカルエリアネットワーク)50により相互に接続されるが、これに限定されることなく、USB、IEEE1394など、コンピュータネットワークを構築するのに適切なものを採用すればよい。LANを採用する場合、PC(パーソナルコンピュータ)で標準的なTCP/IPプロトコルを採用するのが好ましいが、UDPプロトコルなどを採用してもよく、プロトコルは特に限定されない。また、この図ではLAN50の基幹配線から枝分かれするようにサーバSVやオーディオクライアントCLが接続されているが、たとえば10BASE−Tや100BASE−TXの場合にはハブを中心にしてスター状に接続される。
【0091】
サーバSV1のHDD(ハードディスクドライブ)14は、複数の曲データM11〜M1n(nは自然数)を含む。サーバSV2のHDD14は複数の曲データM21〜M2n、サーバSV3のHDD14は複数の曲データM31〜M3nを含む。
【0092】
さらに、各サーバSV1〜SV3のHDD14内にはグローバルリストGLが蓄積される。グローバルリストGLとは、各曲データの曲名、アーティスト、ジャンル等をリスト化したものである。グローバルリストGLはLAN50に属する複数のサーバSV1〜SV3が蓄積する曲データM11〜M1n,M21〜M2n,M31〜M3nのリストを備える。曲データM11〜M1nのリストをローカルリストLL1、曲データM21〜M2nのリストをローカルリストLL2、曲データM31〜M3nのリストをローカルリストLL3とすると、サーバSV1〜SV3のHDD14に蓄積されるグローバルリストGLはローカルリストLL1〜LL3を含む。
【0093】
各サーバSVは自己が蓄積する曲データを更新したとき、更新後のローカルリストLL1〜LL3を当該他のサーバSVに送信する。具体的には、サーバSV1に新たな曲データが登録されたとき、サーバSV1はローカルリストLL1を更新する。このとき、サーバSV1は更新されたローカルリストLL1をサーバSV2及びSV3に送信する(図中(1))。サーバSV2及びSV3は更新されたローカルリストLL1を受信し、グローバルリストGL内の更新前のローカルリストLL1と置き換える。同様に、サーバSV2に新たな曲データが登録されたとき、サーバSV2はローカルリストLL2を更新し、更新されたローカルリストLL2をサーバSV1及びSV3に送信する(図中(2))。サーバSV3に新たな曲データが登録されたとき、サーバSV3は更新されたローカルリストLL3をサーバSV1及びSV2に送信する(図中(3))。以上の動作により、各サーバSV内のグローバルリストGLは常に最新のローカルリストLL1〜LL3を含む。
【0094】
続いて、オーディオクライアントCLで曲を再生する場合のグローバルリストサーバシステム10の動作の概略を説明する。図2(A)を参照して、オーディオクライアントCL2で曲データM31を再生する場合、オーディオクライアントCL2は任意のサーバSVに対してグローバルリストGLを要求する。図2(A)では、オーディオクライアントCL2はサーバSV2にグローバルリストGLを要求するが(図中(4))、サーバSV1に要求しても、サーバSV3に要求してもよい。オーディオクライアントCL2の要求に基づいて、サーバSV2はグローバルリストGLを送信する(図中(5))。オーディオクライアントCL2のユーザは送信されたグローバルリストGLを参照して、再生したい曲M31を選択する。選択後、図2(B)に示すように、オーディオクライアントCL2はサーバSV3に対して曲データM31の要求を行う(図中(6))。サーバSV3はオーディオクライアントCL2からの要求を受け、該当曲データM31をオーディオクライアントCL2に配信する(図中(7))。
【0095】
以上の動作により、グローバルリストサーバシステム10では、オーディオクライアントCLはLAN50上のいずれかのサーバSVからグローバルリストGLを一度取得すれば、複数のサーバSVに蓄積されたいずれの曲でも選択できる。よって、オーディオクライアントCLは、LAN上の複数のサーバSVに蓄積された曲データMを選択するために、ローカルリストLLをサーバSVごとにいちいち要求する必要はない。
【0096】
1.2.構成
【0097】
1.2.1.サーバの構成
【0098】
図3を参照して、サーバSV1は、圧縮デジタル曲データを蓄積するためのHDD(ハードディスクドライブ)14と、データベース管理部16及びネットワークプロトコル処理部18を含むCPU処理部20と、本サーバSV1とLAN50との間で信号を送受信するLANコントローラ22とを備える。HDD14は曲データM11〜M1nを保存する。サーバSV2及びサーバSV3もサーバSV1と同じ構造である。サーバSV1〜SV3は相互に接続される。
【0099】
HDD14には表1に示すサーバリストが格納される。
【0100】
【表1】
Figure 0003979432
【0101】
表1を参照して、サーバリストはサーバIDとサーバ情報とを含む。サーバIDはサーバSV1と接続した他のサーバSV2又はSV3の識別子である。サーバIDはサーバSV1の接続要求に応答した順番に登録される。サーバSV1の接続要求に初めに応答したのがサーバSV2であり、次に応答したのがサーバSV3である場合、表1に示すように、サーバID=1にはサーバSV2のサーバ情報が登録され、サーバID=2には、サーバSV3のサーバ情報が登録される。
【0102】
続いて、サーバ情報の一例としてサーバSV2のサーバ情報を示す。
【0103】
【表2】
Figure 0003979432
【0104】
表2を参照して、サーバ情報はサーバ特定情報とサーバ名とローカルリストLL2とを含む。サーバ特定情報は、サーバSV2の場所を特定するためのサーバアドレスやポート番号等を含む。サーバアドレスとは、そのサーバSVのIP(Internet Protocol)アドレスやMACアドレス等である。ローカルリストLL2は、サーバSV2に格納されている曲データM21〜M2nのリストである。表3にローカルリストLL2を示す。
【0105】
【表3】
Figure 0003979432
【0106】
表3を参照して、ローカルリストLL2は、サーバSV2がそのHDD14内に蓄積する複数の曲データM21〜M2nに関する曲情報I21〜I2nを含む。表4に曲情報I2nの詳細を示す。
【0107】
【表4】
Figure 0003979432
【0108】
表4を参照して、曲情報I2nはファイル名と、曲名と、アーティスト名と、アルバム名と、ジャンル名と、曲の長さ(時間)と、ファイルフォーマットと、曲IDと、サーバ特定情報とを含む。ファイル名には、当該曲データMが格納されているHDD14のフルパス名が記録される。
【0109】
HDD14はさらに、表5に示すクライアントリストを含む。
【0110】
【表5】
Figure 0003979432
【0111】
クライアントリストは、サーバSV1にクライアントとして接続された機器に関する情報(クライアント情報)を含む。サーバSV1にクライアントとして接続される機器は、オーディオクライアントCLやサーバSVである。クライアント情報はクライアントインデックスに対応して登録される。クライアントインデックスは、サーバSV1に接続された機器ごとに付与される識別子である。
クライアント情報を表6に示す。
【0112】
【表6】
Figure 0003979432
【0113】
表6を参照して、クライアント情報中の「flag」はサーバSV1との接続の有無を示す。接続がある場合、「flag」はセットされ、接続がない場合「flag」はリセットされる。「type」はサーバSV1に接続された機器のクライアントタイプを示す。サーバSV1に接続された機器がオーディオクライアントCLであれば、クライアントタイプは「オーディオクライアント」である。接続された機器がサーバSVであれば、クライアントタイプは「サーバ」である。
【0114】
「status」以降の情報は、クライアントタイプが「オーディオクライアント」である場合に記録される。「status」は、再生、停止、完了、一時停止、早送り、巻き戻し等の現在のステータス(状態)である。「volume」は現在のボリューム値(音量)を示す。「productID」はクライアントタイプごとに付与されたプロダクトID(機種情報)である。「firmwareID」はオーディオクライアントCLにインストールされているファームウェアのバージョンを示すファームウェアIDである。「hostname」はクライアント機器に付与されたクライアント名である。「songID」は、再生中の曲を識別するための曲IDである。「curKey」は、再生中の曲リストを作成するために必要なリスト構築キーである。
【0115】
リスト構築キーは、フィルタの種類と、キーワードとを含む。フィルタの種類には、タイトル名、ジャンル名、アーティスト名、アルバム名、ファイル名等がある。たとえばフィルタの種類がアーティスト名の場合、キーワードには所望のアーティストの名称が記録される。リスト構築キーでグローバルリストGLを検索することにより所望の曲リストを作成することができる。詳細は前述した国際公開第WO03/102919号パンフレットに開示されている。
【0116】
サーバSVのHDD14はさらに、表7に示すプレゼンテーションコンテンツリストPLを含む。
【0117】
【表7】
Figure 0003979432
【0118】
表7を参照して、プレゼンテーションコンテンツリストPLは各ローカルリストLL1〜LL3内の複数の曲データ(M11〜M1n,M21〜M2n,M31〜M3n)の曲情報I11〜I1n,I21〜I2n,I31〜I3nの格納場所、すなわち、HDD14内のどの場所に格納されているかを記録する。サーバSV1がオーディオクライアントCLからグローバルリストGLの要求を受けたとき、サーバSV1はプレゼンテーションコンテンツリストPLに基づいて、表8に示すグローバルリストGLを更新(作成)し、オーディオクライアントCLに送信する。
【0119】
【表8】
Figure 0003979432
【0120】
表8を参照して、グローバルリストGLはローカルリストLL1〜LL3の曲情報I11〜I1n,I21〜I2n,I31〜I3nを含む。
【0121】
1.2.2.オーディオクライアントの構成
【0122】
図4を参照して、オーディオクライアントCLは、ネットワークプロトコル処理部24及びシステム動作部26を含むマイコン処理部28と、フラッシュメモリ30と、順次入力された圧縮デジタル曲データ等を一時的に記憶して順次出力するメモリ32と、圧縮デジタル曲データをデコードして非圧縮デジタル曲データを生成する音声処理部34と、デジタル曲データをアナログ曲データに変換するD/A変換器(DAC)36と、本オーディオクライアントCLとLAN50との間で信号を送受信するLANコントローラ38とを備える。オーディオクライアントCLは、サーバSVと異なり、曲データMを蓄積するためのHDDを備えていない。
【0123】
1.3.システム動作
【0124】
1.3.1.サーバ起動処理
【0125】
グローバルリストサーバシステム10におけるサーバSVの起動処理について説明する。図1中のサーバSV2、SV3が稼働している場合であってサーバSV1が起動するとき、図5を参照して、サーバSV1はLAN50上の他のサーバSV(SV2,SV3)を探索し、探索後、起動中のサーバSV2及びSV3からローカルリストLL2、LL3を取得する。以下、詳細を説明する。なお、本項では例として図1におけるサーバSV1の起動処理について説明するが、他のサーバSV(SV2,SV3)の起動処理も同様である。
【0126】
図5を参照して、サーバSV1はLAN50上で稼働している他のサーバSVを探索する前に、HDD14内のサーバリストをクリアする(S1)。続いて、サーバSV1は、LAN50で稼働している他のサーバSVを探索する。具体的には、サーバSV1はたとえばUDPプロトコルにより、コマンドポートで予め定められたマジックワードをLAN50にブロードキャストする(S2)。LAN50ではサーバSV2及びサーバSV3が稼働しているので、サーバSV2及びサーバSV3はステップS2でブロードキャストされたマジックワードをサーチポートで受信し、ブロードキャストしたサーバSV1に同じマジックワードを返信する。このとき、サーバSV2及びSV3は自身を特定するためのサーバ特定情報(IPアドレス)をサーバSV1に送信する。
【0127】
続いて、サーバSV1は、マジックワード送信後の経過時間を計測するためのタイマをリセットし(S3)、その後、マジックワードの返信を受けたか否かを判断する(S4)。マジックワードの返信を受けた場合(他のサーバSVを発見した場合)、サーバSV1はそのサーバSVのサーバ特定情報をサーバリストに記録する(S5)。このとき、サーバSV1はマジックワードを返信したサーバSV順にサーバIDを付与し、サーバ特定情報を登録する。たとえば、サーバSV2、SV3の順にマジックワードを返信してきた場合、サーバSV1はサーバリストのサーバID=1にサーバSV2のサーバ特定情報を、サーバID=2にサーバSV3のサーバ特定情報を登録する。
【0128】
サーバ特定情報を登録後、タイマが所定時間、たとえば2秒を超えたか否かを判断し(S6)、未だ超えていない場合はステップS4に戻る。すなわち、サーバSV1は2秒間だけ他のサーバSVからの応答を待つ。
【0129】
なお、ステップS4でマジックワードの返信を受けない場合(他のサーバSVを発見しない場合)、サーバSV1は、マジックワードをブロードキャストしてから2秒を超えたか否かを判断し(S6)、未だ超えていない場合はステップS4に戻る。
【0130】
ブロードキャスト後2秒を超えた場合、サーバSV1はサーバリストにサーバ特定情報が登録されているか否かを判断する(S7)。サーバリストが空の場合、つまりサーバリストにサーバ特定情報が全く記録されていない場合、サーバSV1は起動処理を終了する。一方、サーバリストが空でない場合、つまりサーバリストに少なくとも1つのサーバSVのサーバ特定情報が記録されている場合、サーバSV1はサーバリストに記録されたサーバSVに対して接続処理を行う(S8〜S12)。
【0131】
初めに、カウント値n=1とし(S8)、サーバリストに登録されたサーバ数がn以上か否かを判断する(S9)。判断の結果、サーバリストに登録されたサーバ数がn以上である場合、サーバSV1はサーバID=1のサーバSVのローカルリストLLを取得する(S10)。このローカルリスト取得処理については後述する。ローカルリスト取得処理を実行後、カウント値nをカウントアップし(S12)、ステップS9に戻ってローカルリスト取得処理を継続する。すなわち、サーバリストに登録された全てのサーバSV(SV2,SV3)のローカルリストLL(LL2,LL3)を取得するまでローカルリスト取得処理は継続される。ここで、ステップS10のローカルリスト取得処理について説明する。
【0132】
サーバSV1がサーバSV2のローカルリストLL2を取得する場合、図6を参照して、サーバSV1は初めにサーバSV2との接続を確立し(接続処理:S1000)、その後ローカルリストLL2を取得する(リスト取得処理:S1010)。
【0133】
サーバSV1が接続処理(S1000)を実行するとき、サーバSV2は接続応答処理(S1020)を実行する。具体的には、サーバSV1は、TCP(Transmission Control Protocol)に従い、サーバリストに登録されたサーバSV2のIPアドレス及びコマンドポートに基づいてソケットを生成し、このソケットでサーバSV2に接続を要求する(S1001)。コマンドポートは、サーバSV1からサーバSV2へのコマンドを受信し、かつサーバSV2からサーバSV1への応答を送信するためのポートである。サーバSV2はコマンドポートでの接続を受け付け(S1021)、これによりサーバSV1はサーバSV2のコマンドポートに接続を確立する。
【0134】
続いて、サーバSV1はコマンドポートにクライアントインデックス要求コマンドを送信する(S1002)。サーバSV2はクライアントインデックス要求コマンドに応答してコマンドポートからクライアントインデックスをサーバSV1に返信し(S1022)、サーバSV1はこれを受信する(S1003)。クライアントインデックス要求コマンドは、サーバSV1がサーバSV2にクライアントインデックスを要求するコマンドである。
【0135】
続いて、サーバSV1は、TCPに従い、サーバSV2のIPアドレス及びプッシュポートでソケットを生成し、このソケットでサーバSV2に接続を要求する(S1004)。プッシュポートは、サーバSV2からサーバSV1への要求を送信するためのポートである。サーバSV2はプッシュポートでの接続を受け付け(S1023)、これによりサーバSV1はサーバSV2のプッシュポートに接続を確立する。ただし、この時点ではまだ、サーバSV2はプッシュポートに接続されたものがどのサーバSVか又はどのオーディオクライアントCLか特定できていない。そのため、サーバSV1はステップS1003で受信したクライアントインデックスをサーバSV2のプッシュポートに送信する(S1005)。サーバSV2はクライアントインデックスを受信し、これによりプッシュポートに接続されたのがサーバSV1であると特定する(S1024)。プッシュポートの接続を確立後、サーバSV1はサーバSV2に対して自身のクライアント情報を送信する(S1006)。サーバSV2は送信されたクライアント情報を受信し、表5に示すクライアントリストに登録する。
【0136】
サーバSV1が接続処理(S1000)を実行し、サーバSV2が接続応答処理(S1020)を実行した結果、サーバSV1がサーバSV2に接続されると、サーバSV1はサーバSV2のローカルリストLL2を取得する(リスト取得処理:S1010)。このとき、サーバSV2はローカルリストLL2を送信する(リスト送信処理:S1030)。具体的には、サーバSV1はコマンドポートを用いてローカルリストLL2の要求コマンドをサーバSV2に送信する(S1011)。サーバSV2はサーバSV1から要求コマンドを受け、サーバSV2のローカルリストLL2をサーバSV1に送信する(S1031)。サーバSV1はサーバSV2からローカルリストLL2を受信し、HDD14内にローカルリストLL2を登録する(S1012)。このとき、サーバSV1内のサーバリスト内に、サーバSV2のサーバ情報がすべて登録される。なお、サーバSV1はサーバSV3に対しても同様の動作を行い、ローカルリストLL3を含むサーバSV3のサーバ情報をサーバリストに登録する。
【0137】
以上の動作により、サーバSV1はサーバリストに登録された全てのサーバSV2及びSV3と接続を確立し、かつ、全てのローカルリストLL2及びLL3を取得する。
【0138】
図5に戻って、LAN50で稼働中の全てのサーバSVのローカルリストLLを取得後、カウント値nはサーバリスト内のサーバ数を超えるため(S9)、サーバSV1はLAN50上の他のサーバSVに対して自己の有するローカルリストLL1を送信する(ローカルリスト送信処理:S11)。以下、ステップS11のローカルリスト送信処理の詳細を説明する。
【0139】
図7を参照して、サーバSV1はステップS10にて全てのサーバSVのローカルリストLLを取得した後、準備OKコマンドをブロードキャストする(S1101)。LAN50上のサーバSV2、SV3はサーバSV1からブロードキャストされた準備OKコマンドを受けた後、サーバSV1に対し、接続処理(S1000)を実行する。このときサーバSV1は接続応答処理(S1020)を実行する。サーバSV2、SV3はサーバSV1との接続を確立後、リスト取得処理(S1010)を実行する。これに対しサーバSV1はリスト送信処理(S1030)を実行し、サーバSV1が有するローカルリストLL1をサーバSV2、SV3に送信する。
【0140】
以上の動作によりサーバSV2、SV3はサーバSV1のローカルリストLL1を取得できる。よって、各サーバSVは、LAN50上の複数のサーバSVが有するローカルリストLLを全て蓄積する。
【0141】
なお、図7において、サーバSV1は準備OKコマンドをブロードキャストする前であっても、他のサーバSV又はオーディオクライアントCLからコマンドポート接続要求を受けるが、この場合サーバSV1はそのコマンドポート接続要求を受け付けない。他のサーバSVのローカルリストLLを全て取得した後でなければ、正確なグローバルリストGLをオーディオクライアントに送信できないからである。
【0142】
1.3.2.起動処理後のサーバ動作
【0143】
図8を参照して、起動後のサーバSVは、接続動作(S100)、配信動作(S200)、リスト更新動作(S300)を実行する。接続動作(S100)では、LAN50上に新たに起動したサーバSVと接続しローカルリストLLの授受を実行したり、LAN50上のオーディオクライアントCLと接続してグローバルリストGLを送信したりする。配信動作(S200)では、オーディオクライアントCLからの要求に応じて曲データを配信する。リスト更新動作(S300)では、自身のローカルリストLL又は他のサーバSVのローカルリストLLが更新されたとき、更新されたローカルリストLLの授受を実行する。各動作を実行後、サーバSVは自身の動作を終了する動作終了が選択されたか否か判断する(S15)。動作を終了するか否かの選択は、たとえばそのサーバSVを管理するユーザにより行われる。動作終了が選択されなかった場合、サーバSVはステップS100に戻って各動作を繰り返す(S100〜S300)。一方、ステップS15で動作終了が選択された場合、サーバSVは終了動作を実行する(S400)。以下、それぞれの動作について詳細を説明する。
【0144】
1.3.2.1.他のサーバとの接続動作
【0145】
サーバSV1が稼働中にLAN50上に新たなサーバSV(以下、起動サーバSVと称する)が起動した場合、起動サーバSVはサーバ探索用のマジックワードをブロードキャストする。図9を参照して、サーバSV1は起動サーバSVによりブロードキャストされたマジックワードを受信したか否かを判断する(S101)。マジックワードを受けたとき、サーバSV1はブロードキャストした起動サーバSVに対して接続応答処理(S1020)を実行し、起動サーバSVとの接続を確立する。このとき、サーバSV1はクライアントリストに起動サーバSVのクライアント情報を登録する。
【0146】
接続を確立後、サーバSV1は起動サーバSVに対してリスト送信処理を実行し(S1030)、ローカルリストLL1を送信する。ローカルリストLL1を送信後、サーバSV1はステップS1020で接続された装置がサーバSVかクライアントCLかを判断する(S102)。このときサーバSV1はクライアントリストに登録したクライアント情報内の「type」(クライアントタイプ)を参照して判断する。判断の結果、接続された装置が起動サーバSVであるため、サーバSV1は起動サーバSVからローカルリストLLを取得し、サーバリストにサーバ情報を登録する。グローバルリストGLを更新するためである。よって、サーバSV1は起動サーバSVに対して接続処理(S1000)を実行する。接続処理実行後、サーバSVは接続が成功したか否かを判断する(S103)。起動サーバSVが準備OKコマンドをブロードキャストする前(すなわち、起動サーバSVがサーバSV1との接続を確立し、ローカルリストLL1を取得後、他のサーバSVのローカルリストLLnの取得処理を実行中であるとき)、サーバSV1が起動サーバSVに接続処理(S1000)を実行しても接続は失敗する。この場合、サーバSV1は起動サーバSVから準備OKコマンドを受けた後(S104)、再び接続処理を実行する(S1000)。接続に成功した場合、サーバSV1は起動サーバSVからローカルリストLLを取得すべくリスト取得処理を実行する(S1010)。起動サーバSVのローカルリストLLを取得した後、サーバSVは接続動作を終了する。
【0147】
以上の動作により、サーバSV1は新たに起動したサーバSVのローカルリストLLも取得できる。
【0148】
1.3.2.2.オーディオクライアントとの接続動作
【0149】
LAN50上のオーディオクライアントCL2がグローバルリストGLを取得すべく、サーバSV1に接続を要求する場合もある。このようなオーディオクライアントCLからの接続依頼処理(S120)に対して、サーバSV1は接続動作(S110)を実行する。図10を参照して、オーディオクライアントCL2がサーバSV1に対して接続処理を実行したとき(S1000)、サーバSV1は接続応答処理を実行する(S1020)。このとき、サーバSV1はクライアントリストにオーディオクライアントCL2のクライアント情報を登録する。
【0150】
サーバSV1が接続応答処理を実行後(S1020)、オーディオクライアントCL2はグローバルリストGLの要求コマンドをコマンドポートを用いてサーバSV1に送信する(S105)。サーバSV1はオーディオクライアントCL2からのグローバルリスト要求コマンドを受け、プレゼンテーションコンテンツリストPLに基づいてグローバルリストGLを作成する(S106)。具体的には、プレゼンテーションコンテンツリストPLに登録された複数の曲情報Iの格納場所から曲情報Iを取得し、全ての曲情報Iをリスト化してグローバルリストGLを作成する。グローバルリストGLを作成後、サーバSV1はオーディオクライアントCL2にそのグローバルリストGLを送信する(S107)。オーディオクライアントCL2はグローバルリストGLを受信し、メモリ32に登録する(S108)。
【0151】
なお、オーディオクライアントCL2はサーバSV1以外のサーバSV(SV2、SV3)からでもグローバルリストGLを取得できる。また他のオーディオクライアントCLも同様にグローバルリストGLを取得できる。
【0152】
以上の動作により、クライアントCLはLAN50上のいずれかのサーバSVに接続すれば、LAN50上のすべての曲情報Iを含むグローバルリストGLを取得できる。
【0153】
1.3.2.3.配信動作
【0154】
オーディオクライアントCL2のユーザはサーバSV1から取得したグローバルリストGLを参照し、聴きたい曲を選択する。グローバルリストGLを参照後、ユーザが曲データM31を選択した場合、図11を参照して、オーディオクライアントCL2は選択された曲データM31を蓄積するサーバSV3に対して曲データM31を要求する配信依頼処理を実行する(S240)。オーディオクライアントCL3が要求する曲データM31を蓄積するサーバSV3は配信動作(S200)を実行する。
【0155】
図11を参照して、オーディオクライアントCL2はサーバSV3に対して接続処理を実行する(S1000)。グローバルリストGLには、曲データが蓄積されるサーバSVを特定するためのサーバ特定情報(IPアドレス及びポート番号)が記録されている。オーディオクライアントCL2は選択された曲データM31の曲情報I31内に登録されたサーバ特定情報に基づいて、サーバSV3に対して接続処理を実行する。サーバSV3はオーディオクライアントCL2に対して接続応答処理(S1020)を実行する。これにより、曲データM31を配信するための接続が確立する。なお、このとき、サーバSV1は接続動作(S100)において確立したオーディオクライアントCL2との接続を維持する。つまり、オーディオクライアントCL2はサーバSV1とサーバSV3とに接続を確立したことになる。オーディオクライアントCL2がサーバSV1との接続を切断した後にサーバSV3との接続を試みた結果、接続に失敗した場合、オーディオクライアントCL2はLAN50から離脱してしまう。そのような事態を防止するために、サーバSV1はオーディオクライアントCL2との接続を維持しておく。
【0156】
サーバSV3とオーディオクライアントCL2との接続が確立した後、オーディオクライアントCL2はコマンドポートを介して表9に示す曲データ転送要求コマンドを送信する(S221)。
【0157】
【表9】
Figure 0003979432
【0158】
この曲データ転送要求コマンドは、転送すべき曲データM31の取得開始アドレス及び取得データ長を含む。サーバSV3は曲データM31の転送要求コマンドに応答して、取得開始アドレスにより指定された先頭アドレスからその取得データ長分だけ曲データM31のデータをオーディオクライアントCL2に配信する(S201)。オーディオクライアントCL2は配信された曲データM31のデータをメモリ32に格納する。メモリ32は図12に示すように複数(図12では8つ)のバッファを含む。図13に示すように、オーディオクライアントCL2は曲データ転送要求コマンドで曲の先頭から1バッファ分(=取得データ長)の曲データを取得して格納する(S222)。格納後、オーディオクライアントCL2はメモリ32のバッファが全て曲データで埋まったか判断し(S223)、図14に示すようにバッファが全て埋まるまで曲データを取得して格納する。
【0159】
ステップS221〜S223を繰り返し、バッファが曲データで全て埋まったら、オーディオクライアントCL2は再生を開始する(S224)。具体的には、図15に示すように、先頭バッファから曲データを音声処理部34に出力し始める。曲データを出力して再生していると、やがて図16に示すように1バッファ分の空きが生じる。メモリ32に空きが生じると(S225)、オーディオクライアントCL2は再び曲データ転送要求をサーバSV3に送信し(S226)、サーバSV3は要求分の曲データを配信する(S202)。オーディオクライアントCL2は配信された曲データをメモリ32の空いたバッファに格納する(S227)。格納後、オーディオクライアントCL2は曲データM31を全て受信したか否か確認する(S228)。曲データM31を全て受信していない場合、すなわち、サーバSV3が曲データM31の全データを未だオーディオクライアントCL2に送信していない場合、オーディオクライアントCL2及びサーバSV3は再生によりメモリ32に空きが生じるたびにステップS226、S202、S227を繰り返す。なお、上記では、バッファが曲データで全て埋まってから再生を開始しているが、全て埋まる前に再生し始めてもよい。
【0160】
オーディオクライアントCL2がサーバSV3から曲データM31を全て受信した場合(S228)、オーディオクライアントCL2は曲データM31を全て再生するまで再生動作を継続する(S229)。
【0161】
以上のように、クライアントCLは選択した曲データを蓄積するサーバSVをグローバルリストGLから特定し、曲データの転送を要求できる。また、曲データを分割し、サーバSVからオーディオクライアントCLに断続的に配信するため、バッファ容量が少なくても適切に音楽を再生できる。
【0162】
1.3.2.4.リスト更新動作
【0163】
サーバSVは(1)自己のローカルリストLLが更新された場合、(2)他のサーバSVのローカルリストLLが更新された場合、(3)他のサーバが動作を終了し、LAN50から離脱した場合、にそれぞれグローバルリストGLを更新する動作であるリスト更新動作を行う。このような場合、LAN50上の複数のサーバSVが保有する曲データ数が変更するため、オーディオクライアントCLが変更後の最新のグローバルリストGLを取得する必要があるためである。以下、(1)〜(3)のリスト更新動作についてそれぞれ説明する。
【0164】
1.3.2.4.1.自己のローカルリストが更新された場合
【0165】
図17を参照して、サーバSV1のHDD14に新たな曲データM12が蓄積されたとき、サーバSV1はローカルリストLL1を更新する(S301)。さらに、サーバSV1はローカルリストLL1が更新される前のプレゼンテーションコンテンツリストPLを削除する(S302)。その後、ステップS301で更新されたローカルリストLL1に対応した新たなプレゼンテーションコンテンツリストPLを作成する(S303)。
【0166】
新たなプレゼンテーションコンテンツリストPLを作成後、サーバSV1に対して接続を確立している全てのサーバSV及びオーディオクライアントCLに対し、リスト更新通知を行う(S304〜S307)。具体的には、サーバSV1はカウント値n=1とし(S304)、nがクライアントリストに登録されたクライアント数よりも多いか否か判断する(S305)。判断の結果、クライアント数がn以上であった場合、サーバSV1はクライアントインデックス=nのサーバSV又はオーディオクライアントCLに対してリスト更新通知を送信する(S306)。通知後、サーバSV1はnをカウントアップし(S307)、ステップS305に戻る。
【0167】
以上の動作を繰り返すことにより、サーバSV1に対して接続を確立している全てのサーバSV及びオーディオクライアントCLに対してリスト更新通知を送信できる。ステップS305でクライアント数よりもnが大きい場合、サーバSV1はクライアントリスト中の全てのサーバSV及びオーディオクライアントCLに対して通知したため、その動作を終了する。
【0168】
[サーバからリスト更新通知を受けたオーディオクライアントの動作]
【0169】
図18を参照して、サーバSV1からのリスト更新通知(S306)を受けたオーディオクライアントCLは、初めに自身がメモリ32に登録しているグローバルリストGLを削除する(S351)。続いて、オーディオクライアントCLはサーバSV1にグローバルリスト要求コマンドを送信する(S352)。サーバSV1はグローバルリスト要求コマンドを受け、更新されたグローバルリストGLをオーディオクライアントCL2に送信する(S308)。オーディオクライアントCLは送信されたグローバルリストGLをメモリ32に登録する(S353)。
【0170】
ステップS306で送信されたリスト更新通知を受けた他のサーバSVの動作について次に説明する。
【0171】
1.3.2.4.2.他のサーバのローカルリストLLが更新された場合
【0172】
図19を参照して、ステップS306でサーバSV1から送信されたリスト更新通知をサーバSV2が受信したとき(S311)、サーバSV2は既存のプレゼンテーションコンテンツリストPLを削除する(S312)。削除後、サーバSV2はHDD14に登録しているローカルリストLL1を削除する(S313)。ローカルリストLL1を削除後、サーバSV2は更新されたローカルリストLL1をサーバSV1に要求する(S314)。サーバSV1はサーバSV2からの要求を受信し(S331)、更新されたローカルリストLL1を送信する(S332)。サーバSV2は送信されたローカルリストLL1を受信し、HDD14に登録する(S315)。登録後、サーバSV2はプレゼンテーションコンテンツリストPLを作成する(S316)。これにより、グローバルリストGLは更新される。
【0173】
プレゼンテーションコンテンツリストPLを作成後、サーバSV2は更新されたグローバルリストGLをサーバSV2と接続する複数のオーディオクライアントCLに送信するために、リスト更新通知処理(S320)を行う。具体的には、サーバSV2はカウント値n=1とした後(S321)、クライアントリストに登録されたクライアント数がn以上であるか否か判断する(S322)。判断の結果、クライアント数がn以上である場合、サーバSV2はクライアントインデックス=nの機器がオーディオクライアントCLであるか否か判断する(S323)。判断はクライアントリストに登録されたクライアント情報内の「type」(クライアントタイプ)に基づいて行う。判断の結果、クライアントインデックス=nの「type」が「オーディオクライアント」の場合、サーバSV2はそのオーディオクライアントCLに対してリスト更新通知を送信する(S324)。送信後、カウント値nをカウントアップして(S325)、S325に戻る。一方、ステップS323での判断の結果、クライアントインデックス=nの「type」が「サーバ」である場合はリスト更新通知を送信することなくステップS325へ進む。他のサーバSVに対してはサーバSV1からリスト更新通知が送信されているため、サーバSV2はオーディオクライアントCLに対してのみリスト更新通知を行えばよいためである。
【0174】
以上の動作を繰り返すことで、サーバSV2に接続された全てのオーディオクライアントCLに対してリスト更新通知を送信する。リスト更新通知を受けたオーディオクライアントCLの動作は図18と同じである。
【0175】
1.3.2.4.3.他のサーバが離脱した場合
【0176】
図20を参照して、LAN50で稼働中のサーバSV2がその動作を停止し、LAN50から離脱する場合、サーバSV2はLAN50上の他のサーバSV(SV1、SV3)に対して離脱通知をブロードキャストする(S335)。サーバSV1はサーバSV2からの離脱通知を受信し(S311)、既存のプレゼンテーションコンテンツリストPLを削除する(S312)。さらにサーバSV1は、HDD14に登録しているローカルリストLL2を削除する(S313)。ローカルリストLL2を削除後、サーバSV1はプレゼンテーションコンテンツリストPLを作成する(S316)。これにより、プレゼンテーションコンテンツリストPLに基づき作成されるグローバルリストGLは、ローカルリストLL2を含まない。サーバSV1はプレゼンテーションコンテンツリストPLを作成後、リスト更新通知処理(S320)を実行する。サーバSV3についてもサーバSV1と同じ動作を行う。
【0177】
以上のリスト更新動作により、オーディオクライアントCLは常に最新のグローバルリストGLを取得できる。
【0178】
1.3.2.5.終了動作
【0179】
オーディオクライアントCLに接続されたサーバSV1が動作を終了し、LAN50から離脱する場合、そのオーディオクライアントCLの接続先をLAN50上の他のサーバSVに変更する方が好ましい。また、サーバSV1がオーディオクライアントCLに対して曲データを配信中に離脱する場合、クライアントCLがその曲データの配信を継続して受けられるように対処する方が好ましい。
【0180】
図21を参照して、サーバSV1がその動作を終了する場合、初めにカウント値n=0とし(S401)、サーバSV1に接続しているオーディオクライアントCL数がnより大きいか否かを判断する(S402)。ステップS402の判断は、クライアントリストに基づいて行われる。判断の結果、オーディオクライアントCL数がn以下であった場合、サーバSV1にはオーディオクライアントCLが接続されていない。よって、サーバSV1は離脱通知を他のサーバSVに送信し(S335)。動作を終了する。
【0181】
一方、ステップS402でオーディオクライアントCL数がnよりも大きい場合(つまり、サーバSV1に接続しているオーディオクライアントCLが存在する場合)、クライアントインデックス=nのオーディオクライアントCLが現在再生中か否かを判断する(S403)。
【0182】
判断の結果、クライアントインデックス=nのオーディオクライアントCLが再生中でない場合(以降、このオーディオクライアントCLをCL2とする)、サーバSV1はオーディオクライアントCL2に対して引継サーバSVに接続を切り替えるようサーバ切換指示を送信する(S404)。ここで、引継サーバSVとは、オーディオクライアントCL2との接続を引き継ぐサーバSVである。サーバSV1は引継サーバSVをサーバリストに基づいて決定する。具体的には、サーバリスト中のサーバID=1のサーバSVを引継サーバSVに決定する。たとえば、サーバID=1にサーバSV2のサーバ特定情報が登録されているとき、サーバSV1は引継サーバSVをサーバSV2に決定する。サーバSV1はサーバ切換指示を送信した後、カウント値nをカウントアップし(S407)、再びステップS402に戻る。
【0183】
オーディオクライアントCL2はサーバSV1からのサーバ切換指示を受けた後(S431)、サーバSV1との接続を切断する(S432)。切断後、オーディオクライアントCL2は切換指示に従って、サーバSV2に対して接続処理を実行する(S1000)。このとき、サーバSV2は接続応答処理を実行する(S1020)。オーディオクライアントCL2はサーバSV2と接続を確立後、リスト取得処理を実行する(S1010)。このとき、サーバSV2はリスト送信処理を実行する(S1030)。以上の動作により、サーバSV1が動作を終了しても、オーディオクライアントCL2は接続先をサーバSV2に切り替えることで、最新のグローバルリストGLをサーバSV2から取得できる。
【0184】
一方、ステップS403での判断の結果、クライアントインデックス=nのオーディオクライアントCLが曲データM11を再生中である場合(以降、このオーディオクライアントCLをCL1とする)、サーバSV1が動作を終了した後も、オーディオクライアントCL1は曲データM11の配信の続きを受ける必要がある。曲データM11の配信が途切れたら、オーディオクライアントCL1は曲データM11の再生を途中で終了させなければならなくなるからである。よって、サーバSV1は曲データM11の配信の続きを引継サーバSVに実行させるように対処した後、その動作を終了する。具体的には、サーバSV1はサーバSV2に対して曲データM11の曲データ引継処理を実行する(S404)。このときサーバSV2は曲データ引受処理を実行する(S414)。以下、曲データ引継処理及び曲データ引受処理について説明する。
【0185】
図22を参照して、サーバSV1はサーバSV2に対してオーディオクライアントCL1に配信中の曲データM11の登録を要求する(S4041)。サーバSV2はサーバSV1からの要求を受信し(S4111)、曲データM11を格納するためにHDD14内に新規曲IDを登録する(S4112)。サーバSV2は新規曲IDをサーバSV1に送信する(S4113)。サーバSV1は新規曲IDを受信し、受信した新規曲IDを付与した曲データM11をサーバSV2に送信する(ステップS4043)。サーバSV2は曲データM11を受信し、HDD14内の新規曲IDの領域に格納する(S4114)。以上の動作により、曲データM11はサーバSV1からサーバSV2に引き継がれる。
【0186】
図21に戻って、引継サーバSVであるサーバSV2がサーバSV1から曲データM11を引き継いだ後、オーディオクライアントCL1が曲データM11中のどの位置からデータ配信サーバSV2に要求すれば良いかを決定する必要がある。オーディオクライアントCL1はサーバSV1から曲データM11の途中まで配信を受けているため、サーバSV2から曲データM11を初めから配信してもらう必要はないからである。よって、サーバSV1はオーディオクライアントCL1がサーバSV2から配信してもらう曲データM11の取得開始アドレスを算出する(S405)。具体的には、サーバSV1はオーディオクライアントCL2に今まで配信した曲データM11のデータ長を曲データM11の先頭アドレスに加算した値を取得開始アドレスに決定する。取得開始アドレスを算出後、サーバSV1は再生コマンドをオーディオクライアントCL2に送信する(S406)。再生コマンドには、パラメータとしてサーバSV2のサーバ特定情報とステップS405で算出した取得開始アドレスが含まれる。
【0187】
再生コマンドを送信後、サーバSV1はカウント値nをカウントアップし(S407)、再びステップS402に戻って動作を繰り返す。これにより、サーバSV1に接続されている全てのオーディオクライアントCLに対して終了動作を実行できる。全てのオーディオクライアントCLに対して終了動作を実行後、すなわち、カウント値nがクライアント接続数を超えたとき、(S402)、サーバSV1は他のサーバSVに離脱通知を送信し(S335)、その動作を終了する。
【0188】
オーディオクライアントCL1はサーバSV1からの再生コマンドを受信後(S421)、サーバSV1との接続を切断する(S422)。切断後、サーバSV2に対してクライアント接続依頼処理(S120)を実行し、サーバSV2は接続動作(S110)を実行することで、オーディオクライアントCL1はサーバSV2に対して接続を確立する。その後、オーディオクライアントCL1は配信依頼処理(S240)を実行する。このとき、オーディオクライアントCL2はステップS421で受信した取得開始アドレスをパラメータに曲データ転送要求を行う。サーバSV2は曲データ転送要求内の取得開始アドレスに基づいて、配信動作を実行する(S200)。以上の動作によりオーディオクライアントCL2は曲データM11の続きをサーバSV2から取得でき、曲データM11の再生を継続できる。
【0189】
以上に示したように、サーバSVがその動作を終了する場合、そのサーバSVから曲データが配信されている(つまり再生中の)オーディオクライアントCLが存在しても、引継サーバSVにその曲データを引き継ぐ。そのため、オーディオクライアントCLは再生を継続できる。
【0190】
1.4.コントローラを含むグローバルサーバシステム
【0191】
1.4.1.概略
【0192】
グローバルサーバシステム10は、図23に示すようにコントローラCNを備えてもよい。コントローラCNはサーバSV1〜SV3と接続し、サーバSV1〜SV3を介してオーディオクライアントCL1〜CL3を制御する。たとえば、コントローラCNは所望のオーディオクライアントCLに所望の曲を再生させたり、再生中の曲を停止させたりする。図23ではコントローラCNを1つとしたが、複数あってもよい。
【0193】
図23に示すサーバSV1〜SV3、オーディオクライアントCL1〜CL3、及びコントローラCNの接続関係を図24に示す。図24に示すように、コントローラCNは全てのサーバSV1〜SV3に接続する。オーディオクライアントCL1〜CL3はサーバSV1〜SV3の何れかに接続する。図24では、オーディオクライアントCL1はサーバSV1に接続され、オーディオクライアントCL2及びCL3はサーバSV2に接続されている。つまり、オーディオクライアントCL1はサーバSV1からグローバルリストGLを取得し、オーディオクライアントCL2及びCL3はサーバSV2からグローバルリストGLを取得する。
【0194】
図23に戻って、コントローラCNがオーディオクライアントCL2に曲データM31に基づく曲を再生させる場合、コントローラCNはオーディオクライアントCL2に再生コマンドを送信する。具体的には、コントローラCNはオーディオクライアントCL2がサーバSV2と接続されているのを確認した後、サーバSV2を介して(図中(1))、オーディオクライアントCL2に再生コマンドを送信する(図中(2))。再生コマンドを受けたオーディオクライアントCL2の動作は図2中の(B)と同じである。
【0195】
1.4.2.構成
【0196】
コントローラCNは、サーバSV1〜SV3に対してクライアントとして機能する。図25を参照して、コントローラCNは、LANコントローラ38と、マイコン処理部28と、フラッシュメモリ30と、メモリ32と、CRTやLCDといった表示装置37と、キーボードやマウスといった入力装置39とを備える。コントローラCNがオーディオクライアントCLと異なる点は、オーディオクライアントCLは再生機能を有するのに対し、コントローラCNは再生機能を有さなくてもよく、主としてオーディオクライアントCLのモニタ機能及び制御機能を有する点である。
【0197】
コントローラCNのメモリ32には、表1と同じ構成のコントローラ用サーバリストが登録される。コントローラ用サーバリストに登録されるサーバ情報(コントローラ用サーバ情報)を表10に示す。
【0198】
【表10】
Figure 0003979432
【0199】
表10を参照して、コントローラ用サーバ情報は、表2と比較して、ローカルリストLLの代わりにクライアントリスト(「clientlist」)が登録される。クライアントリストには、サーバSV1〜SV3が持つ全てのクライアント情報が登録される。要するに、コントローラCNはサーバSV1〜SV3が持つ全てのクライアント情報を持つ。そのため、コントローラCNはグローバルサーバシステム10で稼働するオーディオクライアントCL1〜CL3の存在を把握し、かつ、各オーディオクライアントCLがどのサーバSVと接続しているかを把握する。
【0200】
さらに、メモリ32にはグローバルリストGLも登録される。
【0201】
1.4.3.システム動作
【0202】
1.4.3.1.ハンドル取得動作
【0203】
コントローラCNは、グローバルサーバシステム10の全てのサーバSVと接続し、各サーバSVに接続されたオーディオクライアントCL1〜CL3を監視及び制御するための監視ハンドル及び制御ハンドルを取得する。
【0204】
図26を参照して、ステップS1〜ステップS7の動作は図5と同じである。要するに、コントローラCNは、LAN50で稼働しているサーバSV1〜SV3を探索し、サーバSV1〜SV3のサーバ特定情報をサーバリストに登録する。
【0205】
ステップS7でサーバリストにサーバ特定情報が登録されていると判断した場合、サーバリストに登録されたサーバごとにハンドル取得処理を実行する(S71〜S74)。初めに、カウント値n=1とし(S71)、サーバリストに登録されたサーバ数がn以上か否かを判断する(S72)。サーバ数がn以上の場合、サーバSV1はサーバID=1のサーバSVに対して、ハンドル取得処理を実行する(S73)。ハンドル取得処理を実行後、カウント値nをカウントアップし(S74)、ステップS72に戻る。要するに、コントローラCNは、サーバリストに登録された全てのサーバに対してハンドル取得処理を実行する。一例として、サーバSV2に対するハンドル取得処理について説明する。
【0206】
図27を参照して、コントローラCNはサーバSV2に対して接続処理を実行する(S1000)。このとき、サーバSV2は接続応答処理を実行する(S1020)。接続処理及び接続応答処理により、コントローラCNはサーバSV2と接続を確立する。なお、接続処理において、コントローラCNは、自身のクライアント情報をサーバSV2に送信するが、このとき、コントローラCNは、クライアントタイプが「コントローラ」であることを通知する。
【0207】
接続を確立後、コントローラCNはサーバSV2に対してクライアントリスト要求コマンドを送信する(S7301)。サーバSV2はクライアントリスト要求コマンドを受け、HDD14内のクライアントリストをコントローラCNに送信する(S7302)。サーバSV2にはオーディオクライアントCL2及びCL3とコントローラCNとが接続されているため、ステップS7302で送信されるクライアントリストには、オーディオクライアントCL2及びCL3のクライアント情報と、コントローラCNのクライアント情報とが含まれる。コントローラCNは、クライアントリストを受信後、メモリ32内のコントローラ用サーバリストに登録する(S7303)。より具体的には、コントローラ用サーバリスト内のサーバSV2のコントローラ用サーバ情報の「clientlist」に、取得したクライアントリストを登録する。
【0208】
クライアントリストを登録後、コントローラCNは、クライアントリストに基づいて、サーバSV2に接続されているオーディオクライアントCL2及びCL3の監視ハンドル及び制御ハンドルをサーバSV2に要求して取得する(S7305〜S7311)。監視ハンドルは、サーバSVからコントローラCNに与えられるオーディオクライアントCLを監視する権限である。また、制御ハンドルは、サーバSVからコントローラCNに与えられるオーディオクライアントCLを制御する権限である。
【0209】
コントローラCNは、カウント値n=1とし(S7304)、クライアントリスト内のクライアント数がn以上か否かを判断する(S7305)。クライアント数がn以上の場合、コントローラCNはクライアントインデックス=1のクライアント情報が自身の情報か否かを判断する(S7306)。自身のクライアント情報でない場合、そのクライアントインデックス(=1)をサーバSV2に送信し、その監視ハンドル及び制御ハンドルを要求する(S7307)。
【0210】
サーバSV2は、コントローラから送信されたクライアントインデックス(=1)を、コントローラCNのクライアントインデックスと対応付けて記録し(S7308)、コントローラCNに対して監視ハンドル及び制御ハンドルを発行する(S7309)。その結果、コントローラCNはクライアントインデックス=1に対応したオーディオクライアントCLの監視ハンドル及び制御ハンドルを取得する(S7310)。
【0211】
続いて、コントローラCNはカウント値nをカウントアップし(S7311)、再びステップS7305の動作に戻る。要するに、コントローラCNはクライアントリスト内に登録された全てのオーディオクライアントCL(ここではCL2及びCL3)に対して監視ハンドル及び制御ハンドルを取得する。なお、ステップS7306での判断の結果、クライアントインデックス=nのクライアント情報が自身のクライアント情報である場合、ステップS7311に進む。コントローラは自分自身に対して監視ハンドル及び制御ハンドルを取得する必要がないためである。
【0212】
ハンドル取得処理は、全てのサーバSV1〜SV3に対して実行される。そのため、コントローラCNはグローバルサーバシステム10で稼働する全てのオーディオクライアントCL1〜CL3の監視ハンドル及び制御ハンドルを取得する。
【0213】
1.4.3.2.グローバルリスト取得動作及び更新動作
【0214】
コントローラCNがサーバSVからグローバルリストGLを取得する動作は図10のオーディオクライアントCL2の動作と同じである。コントローラCNは任意のサーバSVからグローバルリストGLを取得する。なお、ハンドル取得動作により既に全てのサーバSV1〜SV3と接続を確立している場合、コントローラCNは図5中の接続処理(S1000)を実行することなく任意のサーバSVに対してグローバルリストを要求する(図5中のステップS105)。任意のサーバSVとは、たとえばコントローラ用サーバリスト中のサーバID=1のサーバSVである。
【0215】
コントローラCNはオーディオクライアントCLと同様に、サーバSVからリスト更新通知を受け、グローバルリストGLを更新する。グローバルリストを更新する動作は図18と同じである。
【0216】
以上の動作により、コントローラCNも常に最新のグローバルリストを取得できる。
【0217】
1.4.3.3.監視動作
【0218】
コントローラCNは監視ハンドルを取得することにより、オーディオクライアントCLを監視できる。図28を参照して、オーディオクライアントCL2のボリューム値が変更された場合、オーディオクライアントCL2はボリューム値変更通知をサーバSV2に送信する(S7501)。ボリューム値変更通知は変更されたボリューム値の情報を含む。
【0219】
サーバSV2はボリューム値変更通知を受信後、オーディオクライアントCL2のクライアント情報を更新する(S7502)。具体的には、クライアント情報内の「volume」のデータを更新する。サーバSV2はさらに、オーディオクライアントCL2の監視ハンドルを取得しているコントローラCNに、更新されたクライアント情報を送信する(S7503)。
【0220】
コントローラCNは更新されたクライアント情報を受信し、コントローラ用サーバリスト内のオーディオクライアントCL2のクライアント情報を更新する(S7504)。更新されたクライアント情報は、表示装置37に表示される(S7505)。
【0221】
以上の処理は、コントローラCNが監視ハンドルを取得した全てのオーディオクライアントCL1〜CL3のうちいずれかのクライアント情報が更新されるたびに繰り返される。
【0222】
以上のように、サーバSVがオーディオクライアントCLからクライアント情報を受信した際に、コントローラCNにクライアント情報を送信することにより、コントローラCNはオーディオクライアントCLを常に監視できる。
【0223】
1.4.3.4.制御動作
【0224】
コントローラCNは制御ハンドルを取得することにより、オーディオクライアントCLを制御できる。制御動作の一例として、コントローラCNがオーディオクライアントCL2に対して曲データM31に基づく曲の再生を指示する処理について説明する。曲データはコントローラCNが持つグローバルリストGLに基づいて選択される。
【0225】
図29を参照して、コントローラCNはグローバルリストGLに基づいて曲データM31を選択する(S7601)。選択後、コントローラCNは、コントローラ用サーバリストに基づいて、オーディオクライアントCL2を接続しているサーバを特定する(S7602)。具体的には、コントローラCNはコントローラ用サーバリストを参照し、オーディオクライアントCL2のクライアント情報を持つサーバ情報がサーバSV2のサーバ情報であると判断する。換言すれば、コントローラCNは、オーディオクライアントCL2を接続しているサーバはサーバSV2であると判断する。そのため、コントローラCNはサーバSV2に再生コマンドを送信する(S7603)。再生コマンドは曲データM31を特定する情報(たとえば曲ID)を含む。
【0226】
サーバSV2はコントローラCNから送信された再生コマンドをオーディオクライアントCL2に送信する(S7604)。要するに、コントローラCNはサーバSV2を介してオーディオクライアントCL2に再生コマンドを送信する。
【0227】
再生コマンドを受けたオーディオクライアントCL2は曲データM31を取得して再生するために、配信依頼処理を実行する(S240)。なお、このときサーバSV3が配信動作を実行する(S200)。
【0228】
図29では曲の再生を指示する場合の動作を示したが、曲再生を停止する場合も同様である。コントローラCNが曲再生の停止コマンドをサーバSV2を介してオーディオクライアントCL2に送信することで、オーディオクライアントCL2は曲再生を停止する。ボリュームの調整等の制御についても同様である。
【0229】
以上の動作により、コントローラCNは制御ハンドルを取得したオーディオクライアントCLを制御できる。
【0230】
なお、グローバルサーバシステム10が複数のコントローラCNを備える場合、各オーディオクライアントCLの制御ハンドルは複数発行されない。換言すれば、各オーディオクライアントCLを制御できるのは1つのコントローラCNである。一方、各オーディオクライアントCLの監視ハンドルは重複して発行され、複数のコントローラCNが1つのオーディオクライアントCLを監視できる。
【0231】
2.センタサーバシステム
【0232】
2.1.概略
【0233】
図30はセンタサーバシステムの全体構成を示す図である。図30を参照して、センタサーバシステム70は、センタサーバCSVと複数のサブサーバSSV1,SSV2と、複数のオーディオクライアントCL1〜CL3とを備える。これらはLAN60で互いに接続される。センタサーバCSV及びサブサーバSSVの構成は図3と同じである。また、図30ではサブサーバSSVを2つ(SSV1,SSV2)としたが、サブサーバSSVは1以上あればよい。また、クライアントCLも1以上あればよい。
【0234】
グローバルリストサーバシステム10ではLAN50上の全てのサーバSV1〜SV3がグローバルリストGLを有するのに対し、センタサーバシステム70では、センタサーバCSVのみがグローバルリストGLを備える。センタサーバCSVはさらに曲データM31〜M3nとローカルリストLL3とを備える。一方、サブサーバSSV1は曲データM11〜M1nとローカルリストLL1とを備え、サブサーバSSV2は曲データM21〜M2nとローカルリストLL2とを備える。
【0235】
サブサーバSSV1,SSV2は自己が蓄積する曲データが更新されたとき、更新後のローカルリストLL1、LL2をセンタサーバCSVに送信する(図中(1))。センタサーバCSVはローカルリストLL1,LL2を受け、ローカルリストLL3と合わせてグローバルリストGLを更新する。なお、センタサーバCSVからサブサーバSSV1,SSV2にローカルリストLL3は送信されない。また、サブサーバSSV1とサブサーバSSV2との間でローカルリストLL1、LL2の送受信は行われない。
【0236】
図31(A)を参照して、複数のオーディオクライアントCL1〜CL3はグローバルリストGLの転送要求をセンタサーバCSVに送信する(図中(2))。センタサーバCSVはグローバルリストGLの要求を受け、各オーディオクライアントCL1〜CL3にグローバルリストGLを送信する(図中(3))。
【0237】
グローバルリストGLを受信後、オーディオクライアントCL2が曲データM21を再生する場合、図31(B)を参照して、オーディオクライアントCL2は曲データM21の曲データ転送要求をセンタサーバCSVに送信する(図中(4))。センタサーバCSVは曲データ転送要求を受け、曲データM21を蓄積するサブサーバSSV2に対し曲データM21をセンタサーバCSVに配信するよう要求する(図中(5))。図31(C)を参照して、サブサーバSSV2はセンタサーバCSVの要求を受け、曲データM21をセンタサーバCSVに配信する(図中(6))。センタサーバCSVはサブサーバSSV2から配信された曲データM21をオーディオクライアントCL2に配信する(図中(7))。
【0238】
以上に示すように、センタサーバシステム70では、グローバルリストGLの転送要求や曲データ転送要求等のオーディオクライアントCLからの要求は全てセンタサーバCSVに送信される。また、サブサーバSSVからオーディオクライアントCLへの曲データMの配信は、センタサーバCSVを介して行われる。センタサーバCSVはサブサーバSSVとオーディオクライアントCLとの中継を行うとともに、自身も曲データMを備え、オーディオクライアントCLに直接自身が蓄積した曲データMの配信を行う。オーディオクライアントCLはセンタサーバCSVに要求すれば、LAN60上のすべての曲データMを再生できる。
【0239】
なお、オーディオクライアントCLから曲データMを要求するときは、センタサーバCSVサーバを介さずに所望の曲データMを蓄積するサブサーバSSVに曲データの転送要求をおこなってもよい。
【0240】
2.2.システム動作
【0241】
2.2.1.サーバ起動処理
【0242】
センタサーバシステム70では、LAN60上に最初に起動したサーバSVがセンタサーバCSVとして動作し、2番目以降に起動したサーバSVはサブサーバSSVとして動作する。
【0243】
図32を参照して、起動時のサーバSV(以下、起動サーバSVと称する)のステップS1〜S6までの動作は図5中と同じである。起動サーバSVはマジックワードをブロードキャストしてLAN60上の他のサーバSVが既に稼働しているか否かを判断する。ブロードキャストして2秒経過した後、サーバリストにサーバ特定情報がない場合(S7)、LAN60上に他のサーバSVが存在していないため、起動サーバSVはセンタサーバCSVとして動作する(S50)。センタサーバCSVの動作については2.2.2.で説明する。
【0244】
一方、ステップS7でサーバリストにサーバ特定情報がある場合、センタサーバCSVは既に稼働しているため、起動サーバSVはサブサーバSSVとして稼働する。このとき、サブサーバSSVはセンタサーバCSVへの接続処理を実行する(S1000)。このときの接続処理は図6中のステップS1000の動作と同じである。またサブサーバSSVが接続処理(S1000)を実行したとき、センタサーバCSVは接続応答処理(図6中のS1020と同じ処理)を行う。
【0245】
センタサーバCSVへの接続処理(S1000)後、サブサーバSSVはセンタサーバCSVに対し、ローカルリスト送信処理を実行し(S11)、センタサーバCSVに自身のローカルリストLLを送信する。ローカルリスト送信処理の詳細は図7と同じである。なお、グローバルリストサーバシステム10でのサーバSVは他の全てのサーバSVに対して接続処理を実行した後に準備OKコマンドをブロードキャストするが、サブサーバSSVはセンタサーバCSVに対して接続処理を実行後に準備OKコマンドをブロードキャストする。
【0246】
以上の動作により、起動サーバSVがサブサーバSSVになる場合、センタサーバCSVに接続し、自身のローカルリストLLをセンタサーバCSVに送信した後、サブサーバSSVの動作を実行する(S65)。サブサーバSSVの動作については2.2.3.で説明する。
【0247】
2.2.2.起動処理後のセンタサーバ動作
【0248】
図33を参照して、センタサーバCSVは、接続動作(S100,S110)、配信動作(S500)、リスト更新動作(S600)を実行し、終了時(S15)、終了動作(S700)を実行する。接続動作(S100,S110)については、グローバルリストサーバシステム10におけるサーバの接続処理動作(1.3.2.1及び1.3.2.2)と同じである。以下、配信動作(S500)、リスト更新動作(S600)、終了動作(S700)について説明する。
【0249】
2.2.2.1.配信動作
【0250】
センタサーバCSVからグローバルリストGLを取得したオーディオクライアントCL2がそのグローバルリストGLからサブサーバSSV2の曲データM21を選択した場合、オーディオクライアントCL2はセンタサーバCSVに曲データ転送要求を送信し、サブサーバSSV2からセンタサーバCSVを経由して曲データM21の配信を受け、再生を行う。以下、詳細を説明する。
【0251】
図34を参照して、初めに、オーディオクライアントCL2はセンタサーバCSVに対して接続処理を実行する(S1000)。これに対しセンタサーバCSVは接続応答処理を実行する(S1020)。この接続処理により、曲データM21を配信するための接続がセンタサーバCSVとオーディオクライアントCL2との間で確立する。なお、このとき、センタサーバCSVは先の接続動作(S110)で確立したオーディオクライアントCL2との接続も維持する。よって、オーディオクライアントCL2はセンタサーバCSVとグローバルリスト受信用の接続と曲データ受信用の接続とを確立したことになる。このように、グローバルリスト受信用のコマンドポートと曲データ転送要求用のコマンドポートとを分けることで、トラフィックの混雑を緩和できる。
【0252】
接続処理後のオーディオクライアントCL2の動作は図11中のオーディオクライアントCL2の動作と同じである。
【0253】
ステップS221でオーディオクライアントCLがセンタサーバCSVに対して曲データM21の曲データ転送要求を送信したとき、センタサーバCSVは曲データ配信処理を実行する(S501)。以下、曲データ配信処理について説明する。
【0254】
図35を参照して、センタサーバCSVはオーディオクライアントCL2から曲データ転送要求を受け(S5011)、要求された曲データがセンタサーバCSV内の曲データか否かを判断する(S5012)。センタサーバCSV内の曲データである場合、センタサーバCSVはその曲データをオーディオクライアントCL2に配信する(S5015)。
【0255】
今、オーディオクライアントCL2は曲データM21を要求しているため(S5012)、センタサーバCSVは曲データM21を蓄積するサブサーバSSV2から曲データM21を取得し、オーディオクライアントCL2に配信する。初めにセンタサーバCSVはサブサーバSSV2に対して接続処理を実行する(S1000)。これに対し、サブサーバSSV2は接続応答処理を実行し(S1020)、サーバ間で曲データ転送要求用の接続を確立する。トラフィックの混雑の緩和のためにローカルリスト取得用の接続とともに曲データ転送用の接続を確立する。接続を確立後、センタサーバCSVは曲データ中継処理を実行する(S502)。具体的には、センタサーバCSVはサブサーバSSV2に対して曲データM21の曲データ転送要求を送信する(5013)。サブサーバSSV2は曲データ転送要求を受け、曲データ転送要求内の取得開始アドレス及びデータ長に基づいて曲データM21をセンタサーバCSVに配信する(S5014)。センタサーバCSVはサブサーバSSV2から配信された曲データM21をオーディオクライアントCL2に配信する(S5015)。
【0256】
以上の動作によりS501においてセンタサーバCSVはオーディオクライアントCL2に曲データM21を配信する。
【0257】
なお、オーディオクライアントCL2がステップS224で曲再生を開始した後、ステップS226の曲データ転送要求を受けたセンタサーバCSVは曲データ中継処理を実行し(S502)、曲データM21の配信を継続する。
【0258】
以上の動作により、センタサーバCSVがサブサーバSSV2とオーディオクライアントCL2との間を中継することで、オーディオクライアントCL2は曲データM21を再生できる。
【0259】
なお、クライアントCL2はグローバルリストGLから曲データM21はサブサーバSSV2に蓄積されていることを認識できるため、クライアントCL2が直接サブサーバSSV2に対して配信依頼処理を実行し(S240)、サブサーバSSV2が配信動作(S200)を実行してもよい。この場合の動作は図11と同じである。
【0260】
2.2.2.2.リスト更新処理
【0261】
センタサーバシステム70では、グローバルリストGLを作成するのはセンタサーバCSVのみである。そのため、センタサーバCSVが新たな曲データを登録した場合、センタサーバCSVはLAN60上の複数のサブサーバSSVにリスト更新通知を送信する必要はなく、オーディオクライアントCLに対してのみリスト更新通知を行う。また、サブサーバSSVからのリスト更新通知に対するセンタサーバCSVの動作は図19のサーバSV2の動作と同じである。また、サブサーバSSVの離脱時のセンタサーバCSVの動作は図20のサーバSV1の動作と同じである。以下、センタサーバCSVが新たな曲データM31を登録した場合のセンタサーバCSVのリスト更新動作について説明する。
【0262】
2.2.2.2.1.自己のサーバがリストを更新した場合
【0263】
図36を参照して、曲データM31が更新された場合、センタサーバCSVはローカルリストLL3を更新し(S601)、既存のプレゼンテーションコンテンツリストPLを削除する(S602)。その後、新たなプレゼンテーションコンテンツリストPLを作成し(S603)、リスト更新通知処理を実行する(S320)。リスト更新通知処理はLAN60上の複数のオーディオクライアントCLに対して行われる。
【0264】
2.2.2.3.終了動作
【0265】
[クライアントCLが再生中でない場合のセンタサーバの終了動作]
【0266】
図37を参照して、ステップS401からオーディオクライアントCLが再生中でない場合(図37におけるクライアントCL2の場合)のセンタサーバCSVの終了動作(S403、S405、S335、S431、S432、S1000,S1020)については図21と同じである。
【0267】
[サブサーバの曲データを配信中のセンタサーバの終了動作]
【0268】
オーディオクライアントCL1が曲データを再生中の場合(S403)、センタサーバCSVはオーディオクライアントCL1が再生中の曲データがセンタサーバCSV自身が蓄積する曲データであるか否かを判断する(S701)。判断の結果、センタサーバCSVが蓄積する曲データでない場合、たとえば、オーディオクライアントCL1が曲データM21を再生していた場合、センタサーバCSVは曲データM21の中継処理を行っていることになる。このとき、センタサーバCSVは取得開始アドレスを算出する(S405)。取得開始アドレスはセンタサーバCSVがサブサーバSSV2から既に取得した曲データ長に基づいて算出される。算出された取得開始アドレスは再生要求コマンド内に含まれ、オーディオクライアントCL1に送信される(S406)。なお、再生要求コマンド内には、センタサーバCSVの引継サーバSVのサーバ特定情報も含まれる。センタサーバCSVは自身が蓄積するサーバリスト内のサーバID=1のサブサーバSSVを引継サーバSVとする。サーバID=1がサブサーバSSV1の場合、サブサーバSSV1はセンタサーバCSVから離脱通知を受けたときに引継命令も受け、センタサーバCSVとして動作する。
【0269】
再生コマンドを送信後、センタサーバCSVはカウント値nをカウントアップしてステップS402に戻る。
【0270】
オーディオクライアントCL1はセンタサーバCSVから再生コマンドを受信後(S421)、センタサーバCSVとの接続を切断する(S422)。切断後、引継サーバSV(サブサーバSSV1)に対してクライアント接続依頼処理(S120)を実行し、引継サーバSVは接続動作(S100)を実行することで、オーディオクライアントCL1は引継サーバSVに対して接続を確立する。その後、オーディオクライアントCL1は配信依頼動作(S240)を実行する。このとき、オーディオクライアントCL1はステップS421で受信した取得開始アドレスをパラメータに曲データ転送要求を行う。引継サーバSVは曲データ転送要求内の取得開始アドレスに基づいて、配信動作を実行する(S500)。以上の動作によりオーディオクライアントCL1は曲データM21の続きを引継サーバSVから取得でき、曲データM21の再生を継続できる。
【0271】
[自己の曲データを配信中のセンタサーバの終了動作]
【0272】
ステップS701での判断の結果、オーディオクライアントCL1で曲データM31が再生されている場合、センタサーバCSVは自身が蓄積する曲データM31を引継サーバSVへ送信する必要がある。そのため、センタサーバCSVは曲データ引継処理を実行する(S404)。また、引継サーバSVは曲データ引受処理を実行する(S411)。曲データ引継処理後、センタサーバCSVはステップS405へ進む。
【0273】
ステップS406で再生コマンドを送信後、センタサーバCSVはカウント値nをカウントアップし(S407)、再びステップS402に戻って動作を繰り返す。これにより、センタサーバCSVに接続されている全てのオーディオクライアントCLに対して終了動作を実行できる。全てのオーディオクライアントCLに対して終了動作を実行後、すなわち、カウント値nがクライアント接続数を超えたとき、(S402)、センタサーバCSVは複数のサブサーバSSVに離脱通知を送信し(S335)、その動作を終了する。
なお、センタサーバCSVは離脱通知を他のサブサーバSSVに送信するとき、引継サーバに対しては引継命令も送信する。
【0274】
2.2.3.起動処理後のサブサーバ動作
【0275】
センタサーバシステム70ではオーディオクライアントCLへのグローバルリストGLの送信及び曲データMの送信はすべてセンタサーバCSVが行う。そのため、センタサーバCSVでは接続動作(S100)やリスト更新動作(S500)を行うことで、サブサーバSSVから更新されたローカルリストLLを取得し、オーディオクライアントCLに最新のグローバルリストGLを配信する。一方、サブサーバSSVも図38に示すように、接続動作(S650)とリスト更新動作(S550)を行う。サブサーバSSVはオーディオクライアントCLに対してグローバルリストGLを配信しないが、センタサーバCSVが動作終了(S700)を実行するとき、センタサーバCSVに一番初めに接続したサブサーバSSVがセンタサーバCSVから引継命令を受ける。つまり、サブサーバSSVはセンタサーバCSVに変わる場合がある。そのため、サブサーバSSVは自分が起動処理を行った後に起動したサブサーバSSVのローカルリストLLを取得しておき、センタサーバCSVから引継命令を受けたときセンタサーバとして機能できるように準備する。
【0276】
ステップS650の接続動作及びステップS550のリスト更新処理を実行後、サブサーバSSVはセンタサーバCSVから引継命令を受けたか否かを判断する(S21)。引継命令を受けた場合、サブサーバSSVはセンタサーバCSVとしてセンタサーバの動作を実行する(S50)。一方、引継命令を受けなくても、サブサーバSSV自身に対して接続されたサーバ(センタサーバCSV及び他のサブサーバSSV)が存在しない場合もそのサブサーバSSVはセンタサーバCSVとしてセンタサーバの動作を実行する。当該サブサーバSSV自身に対して接続されたサーバSVが存在するか否かはサーバリストに基づいて判断される。
【0277】
サブサーバSSVが動作を終了する場合であって(S23)、かつ、サブサーバSSVがセンタサーバCSVに曲データMを配信していないときは(S24)、離脱通知を送信した後(S335)、動作を終了する。一方、センタサーバCSVに曲データMを配信している場合、その曲データMの引き継ぎをセンタサーバCSVにした後(S750)、動作を終了する。
【0278】
以下、接続動作(S650)、リスト更新動作(S550)、終了動作(S750)について説明する。
【0279】
2.2.3.1.接続動作
【0280】
図39を参照して、稼働中のサブサーバSSV1がサーバ探索のマジックワードを受信したとき(S651)、サブサーバSSV1は応答しない、又は、自身がサブサーバSSVである旨の応答を行う(S652)。これによりオーディオクライアントCLはサブサーバSSVには接続できない。
【0281】
次に、マジックワードをブロードキャストしたのが起動サーバSVであるかクライアントCLであるか判断する(S653)。サブサーバSSVは起動サーバSV(他のサブサーバSSV)から探索用のマジックワードを受けるポートと、オーディオクライアントCLから探索用のマジックワードを受けるポートとを分けているため、ステップS653の判断ができる。なお、起動サーバSVとオーディオクライアントCLの探索用のマジックワードが異なっていることで、サブサーバSSVがS653の判断ができるようにしてもよい。
【0282】
ステップS653での判断の結果、ブロードキャストしたのがオーディオクライアントCLである場合、サブサーバSSV1は接続動作を終了する。一方、判断の結果、ブロードキャストしたのが起動サーバSV(サブサーバSSV2とする)である場合、サブサーバSSV2はサブサーバSSV1よりも後で起動したことになる。このとき、サブサーバSSV1は自分より後に起動したサブサーバSSV2のサーバ特定情報をサーバリストに登録する(S654)。サーバ特定情報はマジックワードとともにブロードキャストされる。
【0283】
続いて、サブサーバSSV1はローカルリストLL2を取得するため、サブサーバSSV2に対して接続処理(S1000)を実行する。起動サーバSVであるサブサーバSSV2がセンタサーバCSVとの接続処理を実施中(つまり、起動処理中)の場合、サブサーバSSV1がサブサーバSSV2に接続処理(S1000)を実行しても接続は失敗する。この場合、サブサーバSSV1はサブサーバSSV2から準備OKコマンドを受けた後(S656)、再び接続処理を実行する(S1000)。接続に成功した場合(S655)、サブサーバSSV1は接続したサブサーバSSV2からローカルリストLL2を取得し、HDD14に格納する(S1010)。
【0284】
以上の動作により、サブサーバSSVは自身が起動した後に起動したサブサーバSSVのローカルリストLLを全て取得し、HDD14内に蓄積する。引継指令を受けた等によりセンタサーバCSVとなったときに、取得したローカルリストLLからグローバルリストGLを作成し、複数のオーディオクライアントCLに送信する必要があるからである。なお、サブサーバSSVは自身が起動する前に既に起動していたサーバSV(センタサーバCSV又はサブサーバSSV)のローカルリストLLは取得しない。センタサーバシステム70ではセンタサーバCSVが引き継がれるとき、起動したサーバSV順に引き継がれる。よって、あるサブサーバSSVがセンタサーバCSVになるときは、そのサブサーバSSV以前に起動したサーバSVはすべてLAN60から離脱している。そのため、自身の起動前に既に起動しているサーバSVのローカルリストLLは取得しなくてよい。
【0285】
2.2.3.2.リスト更新動作
【0286】
2.2.3.2.1.自己のローカルリストが更新された場合
【0287】
サブサーバSSVは自己の曲データを更新したとき、リスト更新通知をセンタサーバCSVと自分よりも先に起動したサブサーバSSVに送信する。
【0288】
図40を参照して、サブサーバSSV1が自己の曲データを更新したとき、サブサーバSSV1はローカルリストLL1を更新する(S551)。次に、サブサーバSSV1は既存のプレゼンテーションコンテンツリストPLを削除する(S552)。サブサーバSSV1のプレゼンテーションコンテンツリストPLには、サブサーバSSV1自身のローカルリストLL1の格納場所及びサブサーバSSV1の起動後に起動した他のサブサーバSSVのローカルリストLLの格納場所が記録される。プレゼンテーションコンテンツリストPLを削除後、サブサーバSSV1は更新されたローカルリストLL1に基づいて、新たなプレゼンテーションコンテンツリストPLを作成する(S553)。プレゼンテーションコンテンツリストを作成するのは、自身がセンタサーバCSVとなったときに必要だからである。プレゼンテーションコンテンツリストPLを作成後、サブサーバSSV1はリスト更新通知を送信する(S554)。リスト更新通知は、サブサーバSSV1内のクライアントリストに登録された複数のサーバSVに対して送信される。サーバリストに登録されたサーバSVとは、サブサーバSSV1よりも先に起動したサーバSV(センタサーバCSV及びサブサーバSSV)である。
【0289】
2.2.3.2.2.他のサーバのローカルリストが更新された場合
【0290】
サブサーバSSV1は自分より後に起動したサブサーバSSVからリスト更新通知を受ける。図41を参照して、サブサーバSSV1、SSV2の順に起動したセンタサーバシステム70において、サブサーバSSV2が新たな曲データを登録したとき、サブサーバSSV2は自身より先に起動したセンタサーバCSV及びサブサーバSSV1に対してリスト更新通知を送信する(S555)。サブサーバSSV1はリスト更新通知を受信後(S556)、既存のプレゼンテーションコンテンツリストPLを削除する(S557)。続いて、サブサーバSSV1はサブサーバSSV2のローカルリストLL2を削除する(S558)。ローカルリストLL2を削除後、サブサーバSSV1はサブサーバSSV2に対して更新されたローカルリストLL2の転送要求コマンドを送信する(S559)。サブサーバSSV2は転送要求コマンドを受信後(S560)、更新されたローカルリストLL2をサブサーバSSV1に送信する(S561)。サブサーバSSV1は更新されたローカルリストLL2を受信後(S562)、プレゼンテーションコンテンツリストPLを作成する(S563)。
【0291】
以上の動作により、サブサーバSSV1はセンタサーバCSVから引継命令を受けて、自身がセンタサーバCSVとして動作することになっても、最新のグローバルリストGLをクライアントCLに送信できる。
【0292】
2.2.3.2.3.他のサーバが離脱した場合
【0293】
図42を参照して、サブサーバSSV1、SSV2の順に起動したセンタサーバシステム70において、サブサーバSSV2が動作を終了し、LAN60から離脱するとき、サブサーバSSV2は自身より先に起動したサーバSVに対して離脱通知を送信する(S564)。離脱通知は、サブサーバSSV2内のクライアントリストに登録された全てのサーバSVに対して送信される。サブサーバSSV1は離脱通知を受けた後(S565)、既存のプレゼンテーションコンテンツリストPLを削除する(S566)。その後、HDD14に登録したローカルリストLL2を削除する(S567)。ローカルリストLL2を削除後、サブサーバSSV1はプレゼンテーションコンテンツリストPLを作成する(S568)。
【0294】
2.2.3.3.終了動作
【0295】
図43を参照して、サブサーバSSV1が動作を終了するとき、サブサーバSSV1はセンタサーバCSVに対して自身が蓄積する曲データを配信中であるか否か判断する(S751)。曲データを配信していない場合、サブサーバSSV1はサブサーバSSV1より前に起動したサーバSVに対して離脱通知を送信後(S757)、動作を終了する。一方、曲データM11を配信中である場合、サブサーバSSV1は曲データM11の登録要求コマンドをセンタサーバCSVに送信する(S752)。センタサーバCSVは要求コマンドを受け、HDD14内に新規曲IDを登録する(S753)。登録後、センタサーバCSVは新規曲IDをサブサーバSSV1に送信する(S754)。サブサーバSSV1は新規曲IDを受け、曲データM11に新規曲IDを付与してセンタサーバCSVに送信する(S755)。送信後、サブサーバSSV1は離脱通知を送信して(S757)、動作を終了する。センタサーバCSVは曲データM11を受信し、HDD14内の新規曲IDが付与された曲データを格納する場所に曲データM11を登録する(S756)。
【0296】
以上の動作により、サブサーバSSV1が自身の曲データMを配信中の場合であっても、LAN60上から離脱できる。
【0297】
2.3.コントローラを含むセンタサーバシステム
【0298】
上記で説明したセンタサーバシステム70は、図44に示すようにコントローラCNを備えてもよい。コントローラCNはセンタサーバSVと接続し、サーバSVを介してオーディオクライアントCLを制御する。コントローラCNの構成は図25と同じである。コントローラCNはコントローラ用サーバリスト及びグローバルリストを持つ。なお、図44では1つのコントローラCNを示したが、複数あってもよい。
【0299】
コントローラCNがオーディオクライアントCL2に曲データM21に基づく曲を再生させる場合、コントローラCNはオーディオクライアントCL2に再生コマンドを送信する。具体的には、コントローラCNはセンタサーバCSVを介してオーディオクライアントCL2に再生コマンドを送信する(1)。再生コマンドを受けたオーディオクライアントCL2の動作は図31中の(B)及び(C)と同じである。
【0300】
2.3.1.システム動作
【0301】
コントローラCNは、センタサーバCSVと接続し、ハンドル取得処理を実行する。ハンドル取得処理は図27と同じである。図27におけるサーバSV2の動作をセンタサーバCSVが実行する。センタサーバシステム70の全てのオーディオクライアントCL1〜CL3はセンタサーバCSVと接続されている。そのため、コントローラCNはセンタサーバCSVに対してハンドル取得処理を実行すれば、オーディオクライアントCL1〜CL3の監視ハンドル及び制御ハンドルを取得できる。
【0302】
また、グローバルリストGLの取得動作及び更新動作は1.4.3.2.と同じである。ただし、グローバルリストGLを送信するサーバはセンタサーバCSVである。
【0303】
監視ハンドルを取得したコントローラCNは、オーディオクライアントCLを監視できる。コントローラCNの監視動作は図28と同じである。センタサーバシステム70では、図28中のサーバSV2の動作をセンタサーバCSVが実行する。
【0304】
また、制御ハンドルを取得したコントローラCNは、オーディオクライアントCLを制御できる。図45を参照して、コントローラCNは再生コマンドをセンタサーバCSVに送信する(S7603)。サーバSV2はコントローラCNから送信された再生コマンドをオーディオクライアントCL2に送信する(S7604)。
【0305】
再生コマンドを受けたオーディオクライアントCL2は曲データを取得して再生するために、配信依頼処理を実行する(S240)。このときセンタサーバCSVは配信動作を実行する(S500)。
【0306】
以上の動作により、コントローラCNは制御ハンドルを取得したオーディオクライアントCLに対して、再生や再生停止を指示できる。すなわち、オーディオクライアントを制御できる。
【0307】
3.他の実施の形態
【0308】
3.1.ファイル共有サーバシステム
【0309】
ファイル共有サーバシステムは、SMB(Server Message Block)やCIFS(Common Internet File System)といったファイル共有プロトコルを利用する。図46(A)を参照して、サーバSV2は自身が蓄積する曲データM21〜M2nのリストと、サーバSV1及びサーバSV3が蓄積する曲データM11〜M1n,M31〜M3nのリストとを有する。つまり、サーバSV2はサーバSV1及びサーバSV3が蓄積するファイルを共有できる。サーバSV2はクライアントCL2からのリスト要求に応じて、リストをクライアントCL2に提供する。クライアントCL2はリストに基づいて所望の曲データM31を要求する。図46(B)を参照して、サーバSV2は要求を受け、サーバSV3内の曲データM31を取得して、クライアントCL2に配信する。
【0310】
ファイル共有サーバシステムでは、サーバSV1及びサーバSV3は単なる曲データを蓄積する装置として機能する。そのため、たとえばサーバSV1に新たな曲データを登録しても、サーバSV1はサーバSV2に更新通知を送信しない。
【0311】
なお、サーバSV1及びSV3もサーバSV2と同様に当該他のサーバSVのファイルを共有できてもよい。
【0312】
3.2.ローカルリスト送信システム
【0313】
ローカルリスト送信システムは、オーディオクライアントCLが複数のサーバSVから複数のローカルリストLLを取得することで、LAN上に蓄積された全ての曲データMを選択できるシステムである。
【0314】
図47(A)を参照して、ローカルリスト送信システム30では、各サーバSVは自身が蓄積する曲データのローカルリストLLのみ保有する。オーディオクライアントCL2がローカルリストLLを要求すると(図中(1))、図47(B)に示すように、各サーバSV1〜SV3はオーディオクライアントCL2にローカルリストLL1〜LL3を送信する(図中(2))。オーディオクライアントCL2は全てのローカルリストLL1〜LL3を取得後、それらのリストに基づいて曲を選択する。選択した曲が曲データM31である場合、図47(C)に示すようにオーディオクライアントCL2はサーバSV3に対して曲データM31を要求し(図中(3))、サーバSV3は要求に応じて曲データM31を送信する(図中(4))。
【0315】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【0316】
例えば、センタサーバを引継ぐ際に、クライアントが再生中の曲だけでなく、クラインアントが再生予定である曲を引継サーバに送信してもよい。さらに、センタサーバシステムにおいて、クライアントがサブサーバに直接曲を要求してもよいが、その場合、クライアントはセンタサーバとプッシュポートで接続しておくことにより、センタサーバからリスト更新の通知を直ぐに受けることができる。さらに、センタサーバシステムにおいて、クライアントは起動時にセンタサーバと自動的に接続するようにしてもよい。さらに、センタサーバシステムにおいて、複数のサーバグループが存在し、その各グループにそれぞれセンタサーバが設けられていてもよい。さらに、クライアントがサーバを探索する際に、センタサーバシステムにおいては少なくともセンタサーバがクライアントに応答すればよい。しかし、クライアントがセンタサーバに対応していない場合には、マジックワードの属性(センタサーバに対応していない旨の属性)を判断することにより、サブサーバがクライアントに応答するようにしてもよい。さらに、サーバはクライアントの情報(接続情報、ステータス(再生中、停止中等)、クライアントのタイプ、ボリューム、プロダクトID、ファームウェアID、クライアント名、再生ファイル名および/またはリスト作成用のリスト構築キー)を有しており、グローバルリストサーバシステムにおいては、各サーバが他のサーバが有するクライアント情報を有し、センタサーバシステムにおいては、センタサーバが全サブサーバのクライアント情報を有することもできる。これにより、クライアントの状態を監視するためのコントローラを有するシステムにおいては、コントローラは、1つのサーバ(センタサーバシステムにおいてはセンタサーバ)に接続すれば、全てのクライアントの情報を監視することができる。なお、クライアント情報の共有、更新などの方法はコンテンツリストの共有、更新方法と同じ方法で実現することができる。さらに、コンテンツリストの中にクライアント情報が含まれていてもよい。

Claims (16)

  1. 機器である複数のサーバと、機器であるクライアントとを備え、前記サーバは当該他のサーバと互いに接続され、前記クライアントは前記サーバのいずれかに接続されるネットワークAVシステムであって、
    前記サーバの各々は、
    複数のコンテンツを蓄積するための蓄積手段と、
    自己が蓄積するコンテンツを列挙した自己のローカルリストと当該他のサーバの各々が蓄積するコンテンツを列挙した前記当該他のサーバごとのローカルリストとを記憶するローカルリスト記憶手段と、
    自身に接続された機器を特定するための機器識別子と、前記機器識別子の機器がサーバであるかクライアントであるかを示す機器情報とが対応付けて登録される機器リストと、
    当該他のサーバとの接続が確立されたとき、自身がサーバであることを示す機器情報を前記当該他のサーバに送信するサーバ機器情報送信手段と、
    他の機器との接続が確立されたとき、前記他の機器から送信された前記機器情報を前記機器リストに登録する登録手段と、
    自己が蓄積するコンテンツが更新されたとき自己のローカルリストを更新し、当該他のサーバの更新されたローカルリストを受信したとき、前記受信されたローカルリストに基づいて前記ローカルリスト記憶手段に記憶されている前記当該他のサーバのローカルリストを更新するローカルリスト更新手段と、
    前記自己のローカルリストを更新した場合、前記機器リストに列挙された全ての機器に更新通知を送信し、前記受信されたローカルリストに基づいて前記ローカルリスト記憶手段に記憶されている前記当該他のサーバのローカルリストを更新した場合、前記機器リストに列挙された機器のうち、対応する機器情報がサーバであることを示す機器識別子の機器へ更新通知送信せず、かつ、対応する機器情報がクライアントであることを示す機器識別子の機器に対して更新通知を送信する更新通知手段と、
    前記当該他のサーバから更新通知を受信したとき、前記当該他のサーバのローカルリストを要求して取得するローカルリスト取得手段と、
    前記当該他のサーバからローカルリストの要求を受けたとき、自身のローカルリストを当該他のサーバに送信するローカルリスト送信手段と、
    前記クライアントからグローバルリストの要求を受信したとき、前記ローカルリスト記憶手段に蓄積された複数のローカルリストをまとめたグローバルリストを送信するグローバルリスト送信手段とを備え、
    前記クライアントは、
    前記サーバとの接続が確立されたとき、自身がクライアントであることを示す機器情報を前記サーバに送信するクライアント機器情報送信手段と、
    前記サーバから更新通知を受けたとき、前記グローバルリストの要求を送信してグローバルリストを取得するグローバルリスト取得手段を備えることを特徴とするネットワークAVシステム。
  2. 請求項1に記載のネットワークAVシステムであって、
    前記クライアントは、
    前記送信されたグローバルリストの中から選択されたコンテンツを前記サーバに要求するコンテンツ要求手段を備え、
    前記サーバの各々はさらに、
    前記クライアントからの要求に応じて前記選択されたコンテンツを前記クライアントに返信するコンテンツ返信手段を備え、
    前記クライアントはさらに、
    前記返信されたコンテンツを再生する再生手段を備えることを特徴とするネットワークAVシステム。
  3. 請求項2に記載のネットワークAVシステムであって、
    前記グローバルリストは、前記複数のコンテンツに対応して前記複数のコンテンツが蓄積された複数のサーバのアドレスを含み、
    前記コンテンツ要求手段は、前記サーバのアドレスに基づいて、前記選択されたコンテンツを要求することを特徴とするネットワークAVシステム。
  4. 請求項1に記載のネットワークAVシステムであって、
    前記サーバの各々はさらに、
    自身が前記ネットワークAVシステムから離脱する前に、当該他のサーバに離脱通知を送信する離脱通知手段を備え、
    前記ローカルリスト更新手段は、前記離脱通知に応じて、前記ローカルリスト記憶手段に記憶された複数のローカルリストのうち前記離脱通知を送信したサーバのローカルリストを削除することを特徴とするネットワークAVシステム。
  5. 請求項2に記載のネットワークAVシステムであって、
    前記サーバの各々はさらに、
    前記コンテンツ返信手段で前記選択されたコンテンツを返信中にサーバ動作を終了する場合、前記選択されたコンテンツの返信の続きを引き継ぐ引継サーバに接続するよう前記クライアントに指令する引継通知手段を備えることを特徴とするネットワークAVシステム。
  6. 請求項2に記載のネットワークAVシステムであって、
    前記サーバの各々はさらに、
    前記コンテンツ返信手段で前記選択されたコンテンツを返信中にサーバ動作を終了する場合、前記選択されたコンテンツの返信の続きを引き継ぐ引継サーバを当該他のサーバから選択する引継サーバ選択手段と、
    前記引継サーバに前記選択されたコンテンツを送信する手段とを備え、
    前記選択されたコンテンツを再生中のクライアントのコンテンツ要求手段は、前記引継サーバに対して前記選択されたコンテンツの返信の続きを要求することを特徴とするネットワークAVシステム。
  7. 請求項5に記載のネットワークAVシステムであって、
    前記サーバの各々はさらに、
    前記クライアントに既に返信したコンテンツのデータ長を算出する算出手段と、
    前記算出されたデータ長に基づいて、前記クライアントが前記引継サーバから取得しようとする前記コンテンツが格納されているアドレスを示す取得開始アドレスを決定する手段とを備え、
    前記引継通知手段は、前記クライアントに前記取得開始アドレスを通知することを特徴とするネットワークAVシステム。
  8. 請求項6に記載のネットワークAVシステムであって、
    前記サーバの各々は、
    自己と接続している当該他のサーバの情報を含むサーバリストを記憶するためのサーバリスト記憶手段を備え、
    前記引継サーバ選択手段は、前記サーバリストに基づいて前記引継サーバを選択することを特徴とするネットワークAVシステム。
  9. 請求項8に記載のネットワークAVシステムであって、
    前記引継サーバ選択手段は、前記サーバリストに記憶されたサーバのうち最初に自己と接続したサーバを引継サーバに選択することを特徴とするネットワークAVシステム。
  10. 請求項1に記載のネットワークAVシステムであって、
    前記ネットワークAVシステムは、複数のクライアントを備え、
    前記複数のクライアントは、第1のクライアントと第2のクライアントとを含み、
    前記第1のクライアントは、前記送信されたグローバルリストの中から選択されたコンテンツの再生指示を前記サーバを介して前記第2のクライアントに送信する再生指示手段を備え、
    前記第2のクライアントは、前記再生指示に応じて前記選択されたコンテンツを前記サーバに要求するコンテンツ要求手段を備え、
    前記サーバの各々はさらに、
    前記第2のクライアントからの要求に応じて前記選択されたコンテンツを前記第2のクライアントに返信するコンテンツ返信手段を備え、
    前記第2のクライアントはさらに、
    前記サーバから返信されたコンテンツを再生する再生手段を備えることを特徴とするネットワークAVシステム。
  11. 請求項10に記載のネットワークAVシステムであって、
    前記第1のクライアントは、前記第2のクライアントと接続しているサーバの情報を含むサーバリストを記憶するためのサーバリスト記憶手段を備え、
    前記再生指示手段は前記サーバリストに基づいて、前記第2のクライアントが接続しているサーバを介して前記第2のクライアントに再生指示を送信することを特徴とするネットワークAVシステム。
  12. 各々が、複数のコンテンツを蓄積する蓄積手段、自己が蓄積するコンテンツを列挙した自己のローカルリストと当該他のサーバの各々が蓄積するコンテンツを列挙した前記当該他のサーバごとのローカルリストとを記憶したローカルリスト記憶手段、を有する複数のサーバと、クライアントとを備え、前記サーバは当該他のサーバと互いに接続され、前記クライアントは前記サーバのいずれかに接続されるネットワークAVシステムの動作方法であって、
    前記サーバが、当該他のサーバとの接続が確立されたとき、自身がサーバであることを示す機器情報を前記当該他のサーバに送信するステップと、
    前記サーバが、他の機器との接続が確立されたとき、前記他の機器から送信された機器情報を、自身に接続された前記他の機器を特定するための機器識別子と対応付けて機器リストに登録するステップと、
    前記サーバが、自己が蓄積するコンテンツを更新したとき自己のローカルリストを更新し、当該他のサーバの更新されたローカルリストを受信したとき、前記受信されたローカルリストに基づいて前記ローカルリスト記憶手段に記憶されている前記当該他のサーバのローカルリストを更新するステップと、
    前記サーバが、前記自己のローカルリストを更新した場合、前記機器リストに列挙された全ての機器に更新通知を送信し、前記受信されたローカルリストに基づいて前記ローカルリスト記憶手段に記憶されている前記当該他のサーバのローカルリストを更新した場合、前記機器リストに列挙された機器のうち、対応する機器情報がサーバであることを示す機器識別子の機器へ更新通知送信せず、対応する機器情報がクライアントであることを示す機器識別子の機器に更新通知を送信するステップと、
    前記サーバが、当該他のサーバから更新通知を受信したとき、前記当該他のサーバのローカルリストを要求して取得するステップと、
    前記サーバが、当該他のサーバからローカルリストの要求を受けたとき、自身のローカルリストを前記当該他のサーバに送信するステップと、
    前記サーバが、前記クライアントからグローバルリストの要求を受信したとき、前記ローカルリスト記憶手段に蓄積された複数のローカルリストをまとめたグローバルリストを送信するステップと、
    前記クライアントが、前記サーバとの接続が確立されたとき、自身がクライアントであることを示す機器情報を前記サーバに送信するステップと、
    前記クライアントが、前記サーバから更新通知を受けたとき、前記グローバルリストの要求を送信してグローバルリストを取得するステップとを備えることを特徴とするネットワークAVシステムの動作方法。
  13. 請求項1〜請求項11のいずれか1項に記載の手段をコンピュータに実現させるためのネットワークAVシステムの動作プログラム。
  14. 機器である複数のサーバと、機器であるクライアントとを備え、前記サーバは当該他のサーバと互いに接続され、前記クライアントは前記サーバのいずれかに接続され、前記クライアントは前記サーバのいずれかに接続されたとき、自身がクライアントであることを示す機器情報を前記接続されたサーバに送信するネットワークAVシステムにおける前記サーバであって、
    複数のコンテンツを蓄積するための蓄積手段と、
    自己が蓄積するコンテンツを列挙した自己のローカルリストと当該他のサーバの各々が蓄積するコンテンツを列挙した前記当該他のサーバごとのローカルリストとを記憶するローカルリスト記憶手段と、
    自身に接続された機器を特定するための機器識別子と、前記機器識別子の機器がサーバであるかクライアントであるかを示す前記機器情報とが対応付けて登録される機器リストと、
    当該他のサーバとの接続が確立されたとき、自身がサーバであることを示す機器情報を前記当該他のサーバに送信するサーバ機器情報送信手段と、
    他の機器との接続が確立されたとき、前記他の機器から送信された前記機器情報を前記機器リストに登録する登録手段と、
    自己が蓄積するコンテンツが更新されたとき自己のローカルリストを更新し、当該他のサーバの更新されたローカルリストを受信したとき、前記受信されたローカルリストに基づいて前記ローカルリスト記憶手段に記憶されている前記当該他のサーバのローカルリストを更新するローカルリスト更新手段と、
    前記自己のローカルリストを更新した場合、前記機器リストに列挙された全ての機器に更新通知を送信し、前記受信されたローカルリストに基づいて前記ローカルリスト記憶手段に記憶されている前記当該他のサーバのローカルリストを更新した場合、前記機器リストに列挙された機器のうち、対応する機器情報がサーバであることを示す機器識別子の機器へ更新通知送信せず、かつ、対応する機器情報がクライアントであることを示す機器識別子の機器に対して更新通知を送信する更新通知手段と、
    前記当該他のサーバから更新通知を受信したとき、前記当該他のサーバのローカルリストを要求して取得するローカルリスト取得手段と、
    前記当該他のサーバからローカルリストの要求を受けたとき、自身のローカルリストを当該他のサーバに送信するローカルリスト送信手段と、
    前記クライアントからグローバルリストの要求を受信したとき、前記ローカルリスト記憶手段に蓄積された複数のローカルリストをまとめたグローバルリストを送信するグローバルリスト送信手段とを備えることを特徴とするネットワークAVシステムにおけるサーバ。
  15. 請求項14に記載のネットワークAVシステムにおけるサーバであってさらに、
    前記グローバルリストの中から選択されたコンテンツの要求を前記クライアントから受信したとき、前記選択されたコンテンツを前記クライアントに返信するコンテンツ返信手段と、
    前記コンテンツ返信手段で前記選択されたコンテンツを返信中にサーバ動作を終了する場合、前記選択されたコンテンツの返信の続きを引き継ぐ引継サーバを当該他のサーバから選択する引継サーバ選択手段と、
    前記引継サーバに前記選択されたコンテンツを送信する手段と、
    前記引継サーバに接続するように前記クライアントに指令する引継通知手段とを備えることを特徴とするネットワークAVシステムにおけるサーバ。
  16. 請求項14又は請求項15に記載の手段をコンピュータに実現させるためのネットワークAVシステムにおけるサーバの動作プログラム。
JP2005512894A 2003-08-08 2004-05-11 ネットワークavシステム Expired - Fee Related JP3979432B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003290384 2003-08-08
JP2003290384 2003-08-08
PCT/JP2004/006260 WO2005015407A1 (ja) 2003-08-08 2004-05-11 ネットワークavシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006321694A Division JP4026668B2 (ja) 2003-08-08 2006-11-29 ネットワークavシステム

Publications (2)

Publication Number Publication Date
JP3979432B2 true JP3979432B2 (ja) 2007-09-19
JPWO2005015407A1 JPWO2005015407A1 (ja) 2007-11-01

Family

ID=34114125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005512894A Expired - Fee Related JP3979432B2 (ja) 2003-08-08 2004-05-11 ネットワークavシステム

Country Status (6)

Country Link
US (1) US8412801B2 (ja)
EP (1) EP1653361A4 (ja)
JP (1) JP3979432B2 (ja)
CN (1) CN100451990C (ja)
TW (1) TWI265693B (ja)
WO (1) WO2005015407A1 (ja)

Families Citing this family (138)

* 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
US9406068B2 (en) 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
WO2004097635A2 (en) 2003-04-25 2004-11-11 Apple Computer, Inc. Graphical user interface for browsing, searching and presenting media items
US20130097302A9 (en) * 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US7844548B2 (en) * 2003-10-15 2010-11-30 Apple Inc. Techniques and systems for electronic submission of media for network-based distribution
JP5184078B2 (ja) * 2005-03-18 2013-04-17 富士通株式会社 ファイル管理システム
JP2006343966A (ja) * 2005-06-08 2006-12-21 Onkyo Corp コンテンツ情報更新システム
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7962634B2 (en) 2006-05-15 2011-06-14 Apple Inc. Submission of metadata content and media content to a media distribution system
US7827162B2 (en) * 2006-05-15 2010-11-02 Apple Inc. Media package format for submission to a media distribution system
US8015237B2 (en) 2006-05-15 2011-09-06 Apple Inc. Processing of metadata content and media content received by a media distribution system
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20080089299A1 (en) * 2006-10-13 2008-04-17 Motorola, Inc. Method and system for distributing content in Ad-hoc networks using super peers
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US7756920B2 (en) * 2007-11-28 2010-07-13 Apple Inc. Resubmission of media for network-based distribution
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
US9342287B2 (en) 2008-05-05 2016-05-17 Apple Inc. Software program ratings
US20090276333A1 (en) * 2008-05-05 2009-11-05 Cortes Ricardo D Electronic submission and management of digital products for network-based distribution
US9076176B2 (en) 2008-05-05 2015-07-07 Apple Inc. Electronic submission of application programs for network-based distribution
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20090307683A1 (en) * 2008-06-08 2009-12-10 Sam Gharabally Network-Based Update of Application Programs
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
US9538142B2 (en) * 2009-02-04 2017-01-03 Google Inc. Server-side support for seamless rewind and playback of video streaming
US20100235889A1 (en) * 2009-03-16 2010-09-16 Michael Kuohao Chu Application products with in-application subsequent feature access using network-based distribution system
JP2010218146A (ja) 2009-03-16 2010-09-30 Canon Inc 情報処理装置およびその制御方法
US20100299219A1 (en) * 2009-05-25 2010-11-25 Cortes Ricardo D Configuration and Management of Add-ons to Digital Application Programs for Network-Based Distribution
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
GB2471483A (en) * 2009-06-30 2011-01-05 Nokia Corp Data type selection based on channel type
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9729609B2 (en) * 2009-08-07 2017-08-08 Apple Inc. Automatic transport discovery for media submission
US8935217B2 (en) * 2009-09-08 2015-01-13 Apple Inc. Digital asset validation prior to submission for network-based distribution
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
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
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
JP5184606B2 (ja) * 2010-11-01 2013-04-17 株式会社バッファロー コンテンツ送信方法、接続先ストレージ及びコンテンツ送信プログラム
JP2011096275A (ja) * 2010-12-17 2011-05-12 Fujitsu Ltd ファイル管理システム
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9087060B2 (en) * 2011-06-03 2015-07-21 Apple Inc. Partial sort on a host
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
JP5358633B2 (ja) * 2011-09-05 2013-12-04 日立コンシューマエレクトロニクス株式会社 コンテンツ送信装置
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
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
KR101421566B1 (ko) 2012-05-28 2014-07-22 후아웨이 디바이스 컴퍼니 리미티드 로컬 영역 네트워크에서 미디어 리소스 플레이리스트를 처리하기 위한 방법, 장치 및 시스템
US9203624B2 (en) 2012-06-04 2015-12-01 Apple Inc. Authentication and notification heuristics
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
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
US8990188B2 (en) 2012-11-30 2015-03-24 Apple Inc. Managed assessment of submitted digital content
US9087341B2 (en) 2013-01-11 2015-07-21 Apple Inc. Migration of feedback data to equivalent digital assets
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
KR101759009B1 (ko) 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
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
WO2014200728A1 (en) 2013-06-09 2014-12-18 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 苹果公司 用于由语音命令发起的紧急呼叫的系统和方法
RU2568282C2 (ru) * 2014-04-18 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
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
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
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
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
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
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
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
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
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
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
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
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
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
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
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US11522958B1 (en) 2021-12-12 2022-12-06 Intrado Life & Safety, Inc. Safety network of things

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644714A (en) * 1994-01-14 1997-07-01 Elonex Plc, Ltd. Video collection and distribution system with interested item notification and download on demand
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
JPH10177514A (ja) 1996-12-17 1998-06-30 Pfu Ltd マルチサーバシステムにおけるデータ処理方法
JPH10247911A (ja) 1997-03-05 1998-09-14 Mitsubishi Electric Corp マルチサーバ構成におけるシステム監視情報管理装置及びマルチサーバ構成におけるシステム監視情報管理方法
US6412004B1 (en) * 1997-03-27 2002-06-25 Microsoft Corporation Metaserver for a multimedia distribution network
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
WO1999025082A1 (fr) * 1997-11-11 1999-05-20 Sony Corporation Emetteur et procede d'emission, editeur d'informations et procede d'edition, recepteur et procede de reception, stockage d'informations et procede de stockage et systeme de diffusion
US6195351B1 (en) * 1998-01-28 2001-02-27 3Com Corporation Logical switch set
US7194757B1 (en) * 1998-03-06 2007-03-20 Starguide Digital Network, Inc. Method and apparatus for push and pull distribution of multimedia
US6195680B1 (en) 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
WO2000011871A1 (en) * 1998-08-23 2000-03-02 Open Entertainment, Inc. Transaction system for transporting media files from content provider sources to home entertainment devices
JP3551045B2 (ja) * 1998-11-02 2004-08-04 松下電器産業株式会社 データ送受信装置および方法
US6286031B1 (en) * 1999-01-21 2001-09-04 Jerry Richard Waese Scalable multimedia distribution method using client pull to retrieve objects in a client-specific multimedia list
US6564380B1 (en) * 1999-01-26 2003-05-13 Pixelworld Networks, Inc. System and method for sending live video on the internet
US7319536B1 (en) * 1999-04-12 2008-01-15 Eastman Kodak Company Techniques for synchronizing any of a plurality of associated multimedia assets in a distributed system
US6502194B1 (en) * 1999-04-16 2002-12-31 Synetix Technologies System for playback of network audio material on demand
KR100624865B1 (ko) * 1999-06-02 2006-09-18 엘지전자 주식회사 사용자 프로파일을 이용한 비디오 분할 시청 시스템
US20040193722A1 (en) * 1999-08-30 2004-09-30 Donovan Kevin Remington Joseph Bartholomew Universal instant messaging system for the internet
JP2001092749A (ja) * 1999-09-22 2001-04-06 Akihide Miyamura データ配信システム
US8145776B1 (en) * 1999-10-15 2012-03-27 Sony Corporation Service providing apparatus and method, and information processing apparatus and method as well as program storage medium
EP1258142A4 (en) * 1999-12-10 2005-08-10 Sedna Patent Services Llc METHOD AND DEVICE FOR CARRYING OUT A USER LIFE IN A POLLING VIDEO SERVICE ENVIRONMENT
JP2001184272A (ja) 1999-12-27 2001-07-06 Matsushita Electric Ind Co Ltd ファイル転送システム及びファイル転送方法
US6434747B1 (en) * 2000-01-19 2002-08-13 Individual Network, Inc. Method and system for providing a customized media list
US20020144268A1 (en) * 2000-01-19 2002-10-03 Denis Khoo Customized media interface
US7133924B1 (en) * 2000-03-08 2006-11-07 Music Choice Personalized audio system and method
JP2001318881A (ja) * 2000-05-11 2001-11-16 Sony Corp ネットワーク上の情報伝送方法および電子情報機器
JP4573948B2 (ja) * 2000-05-24 2010-11-04 正明 薄井 コンピュータネットワークを利用して複数の資産を一元管理する方法及びシステム
AR029932A1 (es) * 2000-06-01 2003-07-23 Aerocast Com Inc Metodo para actualizar un directorio puesto en red de objetos de contenido
US7318107B1 (en) * 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
AUPR015700A0 (en) * 2000-09-15 2000-10-12 Filecat Pty Ltd Distributed file-sharing network
JP2002099519A (ja) 2000-09-21 2002-04-05 Toshiba Corp 動的ファイルサーバシステムの構築方法及び動的ファイルサーバシステム
JP2002149166A (ja) * 2000-11-09 2002-05-24 Yamaha Corp 楽曲情報配信装置、方法、及び記録媒体
US20040133924A1 (en) * 2000-12-15 2004-07-08 Wilkins David C. Techniques for syncronizing any of a plurality of associated multimedia assets in a distributed system
JP2004146860A (ja) * 2000-12-29 2004-05-20 Ccp:Kk コンテンツのディレクトリサービス・システム
JP2002207632A (ja) * 2001-01-12 2002-07-26 Fujitsu Ltd 共有情報処理システムおよび記録媒体
KR101926065B1 (ko) * 2001-02-21 2018-12-06 로비 가이드스, 인크. 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법
JP4686870B2 (ja) * 2001-02-28 2011-05-25 ソニー株式会社 携帯型情報端末装置、情報処理方法、プログラム記録媒体及びプログラム
AU2002247257A1 (en) * 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US20020129693A1 (en) * 2001-03-16 2002-09-19 Brad Wilks Interactive audio distribution system
JP4712995B2 (ja) 2001-03-23 2011-06-29 株式会社Kddi研究所 分散サーバシステム
US7038690B2 (en) * 2001-03-23 2006-05-02 Microsoft Corporation Methods and systems for displaying animated graphics on a computing device
US20020188735A1 (en) * 2001-06-06 2002-12-12 Needham Bradford H. Partially replicated, locally searched peer to peer file sharing system
WO2003001413A1 (en) * 2001-06-22 2003-01-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
JP3994692B2 (ja) * 2001-07-04 2007-10-24 ヤマハ株式会社 音楽情報提供システム及び方法
JP2003032311A (ja) 2001-07-19 2003-01-31 Sony Corp 制御方法、伝送システム及び伝送装置
JP2003046512A (ja) * 2001-08-03 2003-02-14 Onkyo Corp 音響映像機器を用いた通信システム
JP4658412B2 (ja) 2001-09-20 2011-03-23 富士通株式会社 データ共有装置
JP4311897B2 (ja) * 2001-09-21 2009-08-12 ヤマハ株式会社 電子音楽装置システム
US20030078918A1 (en) * 2001-10-23 2003-04-24 Souvignier Todd J. Method, apparatus and system for file sharing between computers
US20030079016A1 (en) * 2001-10-23 2003-04-24 Sheng (Ted) Tai Tsao Using NAS appliance to build a non-conventional distributed video server
JP2003141007A (ja) * 2001-11-06 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信システムおよびコンテンツ情報通知方法と、プログラムおよび記録媒体
US7039784B1 (en) * 2001-12-20 2006-05-02 Info Value Computing Inc. Video distribution system using dynamic disk load balancing with variable sub-segmenting
KR20030056701A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 P2p 방식을 이용한 멀티미디어 스트리밍 장치 및 방법
CN1613114A (zh) * 2002-01-06 2005-05-04 皇家飞利浦电子股份有限公司 声频和/或视频装置的个人参数列表管理的方法
KR100465818B1 (ko) * 2002-01-21 2005-01-13 삼성전자주식회사 멀티미디어데이터 관리시스템 및 관리방법
JP2005516278A (ja) * 2002-01-23 2005-06-02 クルーズ、スカイ 情報を秘密保護して送信および分配し、中間情報記憶媒体において送信された情報の物理的な例示を行う方法およびシステム
US6715041B2 (en) * 2002-01-28 2004-03-30 M-Systems Flash Disk Pioneers Ltd. Non-volatile memory device with multiple ports
US20040128198A1 (en) * 2002-05-15 2004-07-01 Linwood Register System and method for computer network-based enterprise media distribution
WO2003102919A1 (en) 2002-05-31 2003-12-11 Onkyo Corporation Network type content reproduction system
US20040003101A1 (en) * 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
AU2003259828A1 (en) * 2002-08-12 2004-02-25 Digital Interactive Streams, Inc Data streaming system and method
JP2003204535A (ja) * 2002-09-17 2003-07-18 Netbreak Inc 音楽と同期する映像の配信装置及び音楽と同期する映像の配信方法
JP2004128597A (ja) * 2002-09-30 2004-04-22 Victor Co Of Japan Ltd コンテンツ再生システム
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
CN1195274C (zh) * 2003-01-25 2005-03-30 华中科技大学 基于集群视频服务器的节目源分片分布式存储方法
US7310729B2 (en) * 2003-03-12 2007-12-18 Limelight Networks, Inc. Digital rights management license delivery system and method
US7287180B1 (en) * 2003-03-20 2007-10-23 Info Value Computing, Inc. Hardware independent hierarchical cluster of heterogeneous media servers using a hierarchical command beat protocol to synchronize distributed parallel computing systems and employing a virtual dynamic network topology for distributed parallel computing system
US7305419B1 (en) * 2003-03-25 2007-12-04 Hyperion Solutions Corporation Hierarchical reference data management system and method

Also Published As

Publication number Publication date
EP1653361A1 (en) 2006-05-03
EP1653361A4 (en) 2006-12-13
US8412801B2 (en) 2013-04-02
TW200507530A (en) 2005-02-16
JPWO2005015407A1 (ja) 2007-11-01
WO2005015407A1 (ja) 2005-02-17
CN1833230A (zh) 2006-09-13
TWI265693B (en) 2006-11-01
US20050034164A1 (en) 2005-02-10
CN100451990C (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
JP3979432B2 (ja) ネットワークavシステム
JP3873405B2 (ja) データ配信システム及びデータ配信装置
KR101038447B1 (ko) 미디어 콘텐트를 저장하기 위한 휴대용 디바이스
EP1427170B1 (en) Peer-to-Peer content broadcast method
JP4305004B2 (ja) 情報処理装置、およびコンテンツ情報処理方法、並びにコンピュータ・プログラム
US20050055718A1 (en) Peer-to-peer architecture for sharing video on demand content
JP3888532B2 (ja) コンテンツ再生機器、サーバ接続方法、サーバ接続プログラムおよび記録媒体
JPH07200380A (ja) ビデオ・ファイル配布システムおよび方法
KR20060002962A (ko) 콘텐츠 제공 서버, 정보 처리 장치, 및 방법, 그리고컴퓨터 프로그램
CN102447693A (zh) 家庭网络中dlna终端的屏幕共享方法及系统
JP2007295586A (ja) UPnPベースのメディアコンテンツ再生システム及びその方法
CN102984041A (zh) 作为低功率遥控器的便携式媒体播放器及其方法
JP2009259111A (ja) ネットワーク装置、コンテンツ配信方法及びプログラム
Chen et al. What a juke! A collaborative music sharing system
KR101287774B1 (ko) 베이스 서버 장치, 통신 방법, 통신 제어 프로그램, 배포 시스템, 및 통신 시스템
JP2007166572A (ja) ネットワーク上に応用されるグループ再生方法およびコンピュータシステムおよびコンピュータ読取り可能媒体
JP4026668B2 (ja) ネットワークavシステム
JP5092179B2 (ja) サーバ及びサーバプログラム
JP4807361B2 (ja) カラオケネットワークシステム、カラオケ装置、コンテンツ取得方法、及びコンテンツ配信方法
JP2011124940A (ja) 配信システム、ノード装置、情報処理装置、ノードプログラム、及び広告コンテンツ再生方法
JP3799607B2 (ja) 情報配信システム、情報処理装置および方法、記録媒体、並びにプログラム
JP4894838B2 (ja) カラオケネットワークシステム及びカラオケ装置
WO2007026968A1 (ja) メディアサーバ装置、メディアサーバ制御方法及びプログラム
JP2008097625A (ja) 表示制御装置、表示方法、およびプログラム
US7167879B2 (en) Network AV system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070618

R150 Certificate of patent or registration of utility model

Ref document number: 3979432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130706

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees