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

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

Info

Publication number
WO2005015407A1
WO2005015407A1 PCT/JP2004/006260 JP2004006260W WO2005015407A1 WO 2005015407 A1 WO2005015407 A1 WO 2005015407A1 JP 2004006260 W JP2004006260 W JP 2004006260W WO 2005015407 A1 WO2005015407 A1 WO 2005015407A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
list
client
network
content
Prior art date
Application number
PCT/JP2004/006260
Other languages
English (en)
French (fr)
Inventor
Toshinobu Sano
Takahiro Chiba
Hideyuki Sawada
Original Assignee
Onkyo Corporation
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 Corporation filed Critical Onkyo Corporation
Priority to EP04732179A priority Critical patent/EP1653361A4/en
Priority to JP2005512894A priority patent/JP3979432B2/ja
Publication of WO2005015407A1 publication Critical patent/WO2005015407A1/ja

Links

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

Definitions

  • the present invention relates to a network AV (Audio / Video) system capable of reproducing audio, Z, or video, and more particularly, to a network AV system including a plurality of servers and clients.
  • AV Audio / Video
  • the following prior application 1 discloses a network AV system including a server storing a large number of contents and an audio client connected via a LAN (Local Area Network).
  • the audio client requests the desired content from the server, and in response, the server delivers the requested content to the audio client.
  • the audio client plays the content delivered from the server.
  • One object of the present invention is to provide a network AV system that allows a client to easily find desired content even when a plurality of servers store a plurality of contents.
  • Another object of the present invention is to provide a network AV system in which a client can reproduce the content to the end even if a server that is delivering the content stops its operation.
  • Another object of the present invention is to provide a network AV system that does not require a client to reconnect to a server.
  • a network AV system is a network AV system including a plurality of servers and at least one client connectable to at least one of the plurality of servers.
  • Storage means for storing the contents.
  • At least one of the servers further includes a global list storage unit for storing a global list listing a plurality of contents stored by the plurality of servers, and a global list transmission unit.
  • the global list transmitting means transmits the global list to the client.
  • the server transmits a global list listing a plurality of contents stored by the plurality of servers to the client. Therefore, the client can easily find desired content based on a global list that does not need to request a list of contents for each server where the content is stored.
  • the client includes a content requesting unit.
  • the content request means requests the server for the content selected from the transmitted global list.
  • At least one of the servers further comprises a content return means.
  • the content return means returns the selected content to the client in response to the request from the client.
  • the client further comprises playback means.
  • the reproduction means reproduces the content returned from the server.
  • the client can easily select a desired content from a plurality of contents stored in a plurality of servers.
  • the selected content is transmitted from the server to the client, and the client can reproduce audio or video based on the content.
  • the plurality of clients include a first client and a second client.
  • the first client includes a reproduction instruction unit.
  • the playback instructing means sends a playback instruction of the content selected from the transmitted global knowledge list to the second client via the server.
  • Send to The second client has a content request means.
  • the content requesting unit requests the server for the content selected in response to the reproduction instruction.
  • At least one of the servers further has a content reply means.
  • the content reply means returns the selected content to the second client in response to a request from the second client.
  • the second client further comprises playback means.
  • the reproduction means reproduces the content returned from the server.
  • the first client can cause the second client to reproduce the content selected based on the global list.
  • the first client can control the second client.
  • a network AV system is a network AV system including a plurality of servers and one or a plurality of clients connectable to at least one of the plurality of servers.
  • the storage device includes a storage unit for storing contents, a global list storage unit for storing a global list listing a plurality of contents stored by a plurality of servers, and a global list transmission unit.
  • the global list sending means sends the global list to the client.
  • a client can select desired content from a global list listing contents stored in a plurality of servers.
  • a client can obtain a global list from any of multiple servers. Therefore, the client can easily obtain the global list, and easily find a desired content from a plurality of contents stored in a plurality of servers.
  • the client includes a content requesting unit.
  • the content requesting means requests the server for the selected content of the transmitted global list.
  • Each of the servers further comprises a content reply means.
  • the content reply means returns the selected content to the client in response to a request from the client.
  • the client further comprises playback means.
  • the reproducing means reproduces the returned content.
  • the client can easily select a desired content from a plurality of contents stored in a plurality of servers. Selected content is sent from server to client And the client can play back audio or video based on the content.
  • the global list includes addresses of a plurality of servers storing a plurality of contents corresponding to the plurality of contents, and the content requesting unit requests the selected content based on the address of the server. I do.
  • the client can specify the server storing the desired content from the global list. Therefore, the client can easily specify the server storing the desired content from the plurality of servers, and as a result, the content can be easily obtained.
  • each of the servers further includes a local list storage unit for storing a local list listing contents accumulated by itself, a local list transmission unit, and a global list update unit.
  • the local list transmitting means transmits the local list to the other server.
  • the global list updating means updates the global list based on its own local list and the local list transmitted from the other server.
  • the server can acquire the local list from the other server, and update the global list from its own local list and the local list of the other server.
  • the local list transmitting means transmits the updated local list to another server each time its own local list is updated, and the global list updating means transmits each time the own local list is updated.
  • the global list is updated every time an updated local list is received.
  • the server can acquire the latest local list from the other server and update the global list with the latest local list.
  • each of the servers further includes a leaving notification unit.
  • the leaving notification means transmits a leaving notification to the other server before the server leaves the network AV system.
  • the global list updating means updates the global list so as to delete the local list of the server which has transmitted the leave notification in response to the leave notification.
  • the local list of the server that has left is deleted from the global list when the server leaves.
  • the global list transmitting means transmits the updated global list to the client every time the global list updating means updates the global list.
  • the server updates the global list every time the global list is updated.
  • the client can select the desired content based on the latest global list.
  • each of the servers is configured to establish a connection with a command port for transmitting / receiving a command between itself and the other server, and to force a request from the other server to the server.
  • a command port is used to establish a connection between the servers. You can send and receive and get a local list. Also, when instructing the other server to obtain its own local list (ie, when the server is connected to the other server as a server), it is forcibly forced through the push port. The command can be transmitted to the other server.
  • the client establishes a connection at a first command port for obtaining a global list from the server, and establishes a connection at a second command port for obtaining selected content from the server. Establishing means.
  • traffic congestion is reduced by establishing a connection with two command ports, a first command port for acquiring a global list and a second command port for acquiring content. it can. That is, even if the content is acquired while the global list is being acquired, the global list and the content can be received quickly. Also, when the server for acquiring the global list is different from the server for acquiring the content, the server for acquiring the content after disconnecting the connection with the server for acquiring the global list. If the connection to the server for content acquisition fails when connecting to the client, the client will leave the network. If a connection is established between the first and second command ports, such a situation can be prevented.
  • each of the servers further includes a takeover notification unit. If the server terminates the server operation while returning the content selected by the content return means, the takeover notification means uses a client to connect to the takeover server that takes over the continuation of the reply of the selected content. Command.
  • the client receives the instruction from the takeover notification means and can quickly connect to the takeover server.
  • each of the servers further includes a takeover server selecting unit and a unit for transferring contents.
  • the takeover server selecting means selects a takeover server from the other servers.
  • the means for transmitting the content transmits the selected content to the takeover server.
  • the content requesting means of the client playing the selected content requests the takeover server to continue the reply of the selected content.
  • the server selects a takeover server from the other server and transmits the content being returned to the takeover server.
  • the client can continue playback of the content by requesting the takeover server to continue the return of the content.
  • each of the servers further stores a calculating means for calculating a data length of the content already returned to the client, and a content which the client intends to acquire from the takeover server based on the calculated data length. And a means for determining an acquisition start address indicating the acquired address, and the takeover notification means notifies the client of the acquisition start address.
  • the server calculates the data length of the content already returned to the client, and can specify the acquisition start position (address) of the content to be acquired by the client from the takeover server based on the calculated data length. .
  • the client can quickly obtain the continuation of the content from the transfer server.
  • each of the servers includes a server list storage unit for storing a server list including information of the other server connected to the server, and the takeover server selection unit includes: To select the takeover server.
  • the server can select a takeover server from the servers stored in the server list.
  • the takeover server selecting means selects, as a takeover server, a server connected to itself first among the servers stored in the server list.
  • the server can select the server connected first to itself as the takeover server
  • the plurality of clients include a first client and a second client.
  • the first client includes a reproduction instruction unit.
  • the reproduction instructing means transmits an instruction to reproduce the content selected from the transmitted global list to the second client via the server.
  • the second client has a content request means.
  • the content requesting unit requests the server for the content selected in response to the reproduction instruction.
  • Each of the servers further includes a content reply means.
  • the content selected in response to the request from the second client is returned to the second client.
  • the second client also has playback means.
  • the reproduction means reproduces the content returned from the server.
  • the first client can cause the second client to reproduce the content selected based on the global list.
  • the first client can control the second client.
  • the first client is provided with a storage list storage unit for storing a storage list including information of a server connected to the second client,
  • the reproduction instruction means transmits a reproduction instruction to the second client via the server to which the second client is connected, based on the server list.
  • the first client can grasp which server the second client is connected to from the list. Therefore, the server to which the second client is connected can be specified, and a reproduction instruction can be transmitted to the second client via the server.
  • a network AV system is a network AV system including a center server, a sub server, and one or more clients connectable to the center server and Z or the sub server.
  • each of the sub-servers includes storage means for storing a plurality of contents.
  • the center server further includes a global list storage unit for storing a global list listing a plurality of contents stored by the center server and the subserver, and a global list transmission unit.
  • the global list transmitting means transmits the global list to the client.
  • the center server includes the center server and the server. Sends a global list of multiple contents stored in the server to the client. Therefore, the client can easily find desired contents based on a global list that does not need to request a list of contents for each server (center server and subsano) where the contents are stored.
  • the client includes a content requesting unit.
  • the content requesting means requests the center server or sub server for the selected content of the transmitted global list.
  • At least one of the center server and the sub server further includes a content reply unit.
  • the content reply means returns the selected content to the client in response to the request from the client.
  • the client further includes a reproducing unit.
  • the reproduction means reproduces the content returned from the center server or the sub server.
  • the client can easily select a desired content from a plurality of contents stored in a plurality of servers (a center server and a sub server).
  • the selected content is sent from the server to the client, and the client can play audio or video based on the content.
  • the content requesting unit requests the selected content from the center server
  • the center server includes a content returning unit
  • the center server further includes a server specifying unit and a content obtaining unit.
  • the server specifying means specifies a server that stores the content selected based on the global list in response to a request from the client. If the specified server is a center server, the content obtaining means obtains the content selected from its own storage means, and if the specified server is a subserver, the content selected from the storage means of the subserver. To get.
  • the content reply means returns the content acquired by the content acquisition means to the client.
  • the client requests the center server for the selected content.
  • the center server specifies the server (center server and sub-server) that stores the content selected in response to the request from the client based on the global list, obtains the content from the specified server, and obtains the content obtained by the client. Reply. That is, the center server has a relay function between the client and the sub server.
  • the global list includes addresses of a plurality of servers in which a plurality of contents are stored corresponding to the plurality of contents
  • the server specifying unit includes a server that stores the contents requested by the contents requesting unit. Specify the address.
  • the center server can easily specify a server (center server and sub-server) that accumulates the content of the servers included in the global list and the like.
  • the global list includes addresses of a plurality of servers in which the contents are stored corresponding to the plurality of contents, and the content requesting means specifies the selected content based on the sub-server specified based on the global list. Request to.
  • the client can easily specify the server (center server and sub-sano) that stores the selected content from the Gronol list. As a result, the client can directly request the content from the server that stores the selected content.
  • each of the center server and the sub server further includes a local list storage unit for storing a local list that enumerates contents accumulated by itself.
  • the sub server further includes a local list transmitting unit.
  • the local list transmitting means transmits the local list to the center server.
  • the center server further comprises a global list updating means.
  • the global list transmitting means updates the global list based on its own local list and the local list transmitted from the sub server.
  • the center server acquires the local list from the sub server, and can update the global list from its own local list and the local list of the other server.
  • the local list transmitting means transmits the updated local list to the center server every time the local list is updated
  • the global list updating means transmits the local list every time the local list is updated. Or every time an updated local list is received, the global list is updated.
  • the center server acquires the latest local list from the sub server, and can update the global list together with its own local list to the latest one.
  • the sub server further includes a leaving notification unit.
  • the leaving notification means transmits a leaving notification to the center server before the sub server leaves the network AV system.
  • the global list updating means is configured to send the leave notification in Update the global list to delete the local list.
  • the local list of the sub server that has left is deleted from the global list when the server leaves.
  • the global list transmitting means transmits the updated global list to the client every time the global list updating means updates the global list.
  • the center server transmits the latest global list to the client every time the global list is updated.
  • the client can select the desired content based on the latest global list.
  • the center server is means for establishing a connection with a command port for transmitting / receiving a command between the center server and the sub server, and forcibly transmitting a request from the sub server to the center server.
  • the center server sends a command or notification to the sub server (that is, when the center server is connected to the sub server as a server), the command is forcibly sent to the sub server via the push port. And notifications are sent.
  • each of the center server and the sub server further includes a local list storage unit for storing a local list listing contents stored by itself.
  • the center server further comprises: means for establishing a connection on the first command port for obtaining a local list from the sub server; means for obtaining a local list of the sub server after establishing the connection on the first command port; A means for updating the global list based on the obtained local list and its own local list, and a connection with a second command port for obtaining the selected content from the sub server specified by the server specifying means. Means to perform.
  • the center server has a first command port for acquiring the sub-server power local list and a second command port for acquiring the content of the sub-server power. Establishing a connection between the two command ports can reduce traffic congestion. That is, even if the content is acquired while the local list is being acquired, the local list and the content can be promptly received.
  • the client establishes a connection with a first command port for acquiring a global list from the center server, and uses a second command port for acquiring selected content from the center server.
  • Means for establishing a connection are provided.
  • the client establishes a connection with two command ports, a first command port for acquiring a global list from the center server and a second command port for acquiring content from the center server.
  • This can reduce traffic congestion. That is, even if the content is acquired while the global list is being acquired, the global list and the content can be received quickly.
  • the center server further includes a takeover notification unit.
  • the takeover notification means instructs the client to connect to the takeover server that takes over the operation of the center server when the center server ends the operation.
  • the client receives the instruction from the takeover notification means and can quickly connect to the takeover server.
  • the center server further includes a takeover server selection unit and a center server takeover instruction means.
  • the takeover server selecting means selects a takeover server from the subservers.
  • the center server takeover instruction means instructs the subserver selected by the takeover server selection means to take over the operation of the center server.
  • the center server selects a takeover server that takes over the operation of the center server from the subservers, and instructs the takeover server to take over the operation of the center server.
  • a takeover server that takes over the operation of the center server from the subservers, and instructs the takeover server to take over the operation of the center server.
  • the center server further calculates a data length of the content returned to the client when ending the operation while returning the content obtained by the content obtaining means to the client; Indicates the address where the content that the client wants to acquire from the takeover server is stored, based on the data length Means for determining the acquisition start address, and the takeover notification means notifies the client of the acquisition start address.
  • the server calculates the data length of the content that has already been returned to the client, and based on the calculated data length, the client receives the data from the takeover server (or relays the takeover server to another subserver, )
  • the acquisition start position (address) of the content data to be acquired can be specified.
  • the client can quickly acquire the continuation of the content from the transfer server.
  • the center server further includes means for transmitting the content to the takeover server when the operation is terminated while the content stored by the center server is being returned to the client by the content return means.
  • the center server when the center server that is returning the content stored in the client to the client ends its operation, the center server transmits the returned content to the takeover server.
  • the client can continue playback of the content by requesting the takeover server to continue the return of the content.
  • the center server includes a server list storage unit for storing a server list including identification information of the sub server, and the takeover server selection unit selects a takeover server based on the server list.
  • the server can select a takeover server from the servers stored in the server list.
  • the plurality of clients include a first client and a second client.
  • the first client includes a reproduction instruction unit.
  • the reproduction instruction means transmits a reproduction instruction for the content selected from the transmitted global list to the second client via the center server.
  • the second client has a content request means.
  • the content requesting unit requests the content selected in response to the reproduction instruction from the center server or the sub server.
  • At least one of the center server and the sub server further includes a content return means.
  • the content reply means returns the selected content to the second client in response to a request from the second client.
  • the second client further has a playback means.
  • the reproducing means reproduces the content returned from the center server or the sub server.
  • the first client can cause the second client to reproduce the content selected based on the global list. In short, the first client can control the second client.
  • FIG. 1 is a functional block diagram showing the overall configuration of a global list server system.
  • FIG. 2 is a schematic diagram for explaining the global list server system of FIG. 1.
  • FIG. 3 is a functional block diagram showing a configuration of a server in FIG. 1.
  • FIG. 4 is a block diagram showing a configuration of an audio client in FIG. 1.
  • FIG. 5 is a flowchart showing an operation when a server starts in the multi-server system in FIG. 1.
  • FIG. 6 is a flowchart showing details of the operation of step S10 in FIG. 5.
  • FIG. 7 is a flowchart showing details of the operation of step S11 in FIG. 5.
  • FIG. 8 is a flowchart showing the operation of a server running in the multi-server system in FIG. 1
  • FIG. 9 is a flowchart showing details of the operation of a server that has received a connection request from another server, among the operations in step S100 in FIG.
  • FIG. 10 is a flowchart showing details of the operation of a server that has received a connection request from an audio client, among the operations in step S100 in FIG.
  • FIG. 11 is a flowchart showing details of the operation of step S200 in FIG. 8.
  • FIG. 12 is a diagram showing a configuration of a buffer memory for storing music data in step S222 in FIG. 11.
  • FIG. 13 is a diagram showing a state where song data for one buffer from the beginning of the song is stored in the buffer memory shown in FIG. 12.
  • FIG. 14 is a diagram showing a state in which music data for all buffers has been stored, following FIG. 13;
  • FIG. 15 is a diagram showing a state in which music data is output from the first buffer, following FIG. 14;
  • FIG. 16 is a diagram showing a state in which a space for one buffer has been created, following FIG. 15;
  • FIG. 17 is a flowchart showing an update operation when the music data of the server itself is updated among the operations in step S300 in FIG. 8.
  • FIG. 18 is a flowchart showing operations of the server and the audio client after step S306 in FIG.
  • FIG. 19 is a flowchart showing an update operation when music data of another server is updated, among the operations in step S300 in FIG. 8.
  • FIG. 20 is a flowchart showing an update operation when another server leaves the LAN among the operations in step S300 in FIG. 8.
  • FIG. 21 is a flowchart showing details of an end operation of step S400 in FIG. 8.
  • FIG. 22 is a flowchart showing details of the operations in steps S404 and S411 in FIG. 21.
  • FIG. 23 is a functional block diagram showing the overall configuration of a global server system including a controller.
  • FIG. 24 is a schematic diagram for explaining a connection relationship among a server, an audio client, and a controller in FIG. 23.
  • FIG. 25 is a functional block diagram showing a configuration of a controller in FIG. 23.
  • FIG. 26 is a flowchart showing the handle acquisition operation of the global server system shown in FIG. 23.
  • FIG. 27 is a flowchart showing details of the operation of step S73 in FIG. 26.
  • FIG. 28 is a flowchart showing a monitoring operation of the global server system shown in FIG. 23.
  • FIG. 29 is a flowchart showing a control operation of the global server system shown in FIG. 23.
  • FIG. 30 is a functional block diagram showing the overall configuration of the center server system.
  • FIG. 31 is a schematic diagram for explaining the center server system of FIG. 30.
  • FIG. 32 is a flowchart showing an operation when a server is started in the center server system shown in FIG. 30.
  • FIG. 33 is a flowchart showing the operation of the center server operating in the center server system shown in FIG. 30.
  • FIG. 34 is a flowchart showing details of the operation of step S500 in FIG. 33.
  • FIG. 35 is a flowchart showing details of the operation in step S501 in FIG. 34.
  • FIG. 36 is a flowchart showing details of an update operation when the center server updates its own local list, among update operations in step S600 in FIG. 35.
  • FIG. 37 is a flowchart showing details of the end operation in step S700 in FIG. 33.
  • FIG. 38 is a flowchart showing the operation of a sub server operating in the center server system shown in FIG. 30.
  • FIG. 39 is a flowchart showing details of the operation of step S650 in FIG. 38.
  • FIG. 40 is a flowchart showing details of the list update operation when the own local list is included in the list update operation in step S550 in FIG. 38.
  • FIG. 41 is a flowchart showing details of the list update operation when the local list of another subserver is updated among the list update operations in step S550 in FIG. 38.
  • FIG. 42 is a flowchart showing details of the list update operation when another subserver leaves the LAN among the list update operations in step S550 in FIG. 40.
  • FIG. 43 is a flowchart showing details of the end operation in step S750 in FIG. 38.
  • FIG. 44 is a functional block diagram showing the overall configuration of a center server system including a controller.
  • FIG. 45 is a flowchart showing a control operation of the center server system shown in FIG. 44.
  • FIG. 46 is a schematic diagram illustrating a file sharing server system.
  • FIG. 47 is a schematic diagram illustrating a local list transmission server system.
  • global list server system 10 includes a plurality of servers SV1—SV3 for accumulating a large number of music data, and a system for reproducing music based on music data from servers SV1—SV3. And a plurality of audio clients CL1 and CL3.
  • the servers SV1 to SV3 have the power of storing music data.
  • video data may be stored, or other various digital contents may be stored.
  • description will be given using music data as an example.
  • FIG. 1 it is only necessary that at least one audio client CL and at least one audio client CL are present, displaying audio clients CL1 and CL3.
  • LAN local area network
  • PC personal computer
  • the protocol that can use the UDP protocol is not particularly limited.
  • the server SV and the audio client CL are connected so that the main wiring of the LAN 50 branches off. For example, in the case of 10BASE-T or 100BASE-TX, the connection is made in a star shape around the hub. Continued.
  • the HDD (hard disk drive) 14 of the server SV1 stores a plurality of song data Mil—Mln ( n is a natural number).
  • the HDD 14 of the server SV2 includes a plurality of music data M21-M2n, and the HDD 14 of the server SV3 includes a plurality of music data M31-M3n.
  • a global list GL is stored in the HDD 14 of each of the servers SV1 to SV3.
  • the global list GL is a list of song names, artists, genres, etc. of each song data.
  • the global list GL includes a list of music data Ml—Mln, M21—M2n, M31—M3n stored by a plurality of servers SV1—SV3 belonging to the LAN 50. If the list of song data Ml—Mln is a local list LL1, the list of song data M21—M2n is a low-level list LL2, and the list of song data M31—M3n is a local list LL3, the servers SV1 and SV3 are stored in the HDD14 of the SV3.
  • the global list GL that is created includes the local lists LL1-LL3.
  • each server SV When each server SV updates the music data stored by itself, it transmits the updated local list L L1 to LL3 to the other server SV. Specifically, when new music data is registered in the server SV1, the server SV1 updates the local list LL1. At this time, the server SV1 sends the updated local list LL1 to the servers SV2 and SV3 ((1) in the figure). The servers SV2 and SV3 receive the updated local list LL1 and replace the local list LL1 before the update in the global list GL. Similarly, when new music data is registered in the server SV2, the server SV2 updates the local list LL2, and transmits the updated keyword list LL2 to the servers SV1 and SV3 ((2) in the figure).
  • the server SV3 When new music data is registered in the server SV3, the server SV3 sends the updated local list LL3 to the servers SV1 and SV2 ((3) in the figure).
  • the global list GL in each server SV always includes the latest local list LL1 to LL3.
  • FIG. 2A when music data M31 is reproduced by audio client CL2, audio client CL2 requests global list GL from any server SV.
  • the audio client CL2 requests the global list GL from the server SV2 ((4) in the figure), but it may request the server SV1 or the server SV3.
  • the server SV2 Based on the request from the audio client CL2, the server SV2 sends the global list GL ((5) in the figure).
  • Audio Client CL2 The user refers to the transmitted global list GL and selects the music M31 to be reproduced.
  • FIG. 2 (B) the audio client CL2 requests the music data M31 to the server SV3 ((6) in the figure).
  • the server SV3 receives the request from the audio client CL2, and delivers the corresponding music data M31 to the audio client CL2 ((7) in the figure).
  • the audio client CL acquires the global list GL from any one of the servers SV on the LAN 50, it can select any song stored in the plurality of servers SV. it can. Therefore, the audio client CL does not need to request the local list LL for each server SV in order to select the music data M stored in the plurality of servers SV on the LAN.
  • server SV1 includes a hard disk drive (HDD) 14 for storing compressed digital music data, a CPU processing unit 20 including a database management unit 16 and a network protocol processing unit 18, and a server SV1.
  • a LAN controller 22 for transmitting and receiving signals between the server SV1 and the LAN 50 is provided.
  • the HDD 14 stores the song data Ml—Mln.
  • Server SV2 and server SV3 have the same structure as server SV1. Servers SV1—SV3 are interconnected.
  • the HDD 14 stores the list shown in Table 1.
  • the server list includes a server ID and server information.
  • server information of server SV2 is shown as an example of server information.
  • the server information includes server identification information, a server name, and a local list LL2.
  • the server identification information includes a server address for identifying the location of the server SV2, a port number, and the like.
  • the server address is the IP (Internet Protocol) address or MAC address of the server SV.
  • Locale list LL2 is a list of music data M21-M2n stored in server SV2.
  • Table 3 shows the local list LL2.
  • locale list LL2 includes song information 121-I2n related to a plurality of song data M21-M2n stored in HDD 14 of server SV2.
  • Table 4 shows the details of the song information I2n.
  • the song information I2n includes a file name, a song name, an artist name, an album name, an genre name, a song length (time), a file format, a song ID, Server-specific information.
  • the file name the full path name of the HDD 14 in which the music data M is stored is recorded.
  • HDD 14 also has the following ten-
  • the client list includes information (client information) on the devices connected to the server SVlt.
  • Server SV1 Connected devices are audio client CL and server SV.
  • Table 6 shows the client information.
  • “flag” is set, and if there is no connection, “flag” is reset.
  • “Type” indicates the client type of the device connected to the server SV1. If the device connected to the server SV1 is an audio client CL, the client type is “audio client”. If the connected device is a server SV, the client type is "server”.
  • “status” is the current status (playback, stop, completion, pause, fast forward, rewind, etc.).
  • Volume indicates the current volume value (volume).
  • “ProductID” is a product ID (model information) assigned to each client type.
  • “Firm W areID” is a firmware ID indicating the version of the firmware that is installed in the audio client CL.
  • rhostnamej is the client name assigned to the client device.
  • “SongID” is a song ID for identifying the song being played.
  • “CurKey” is a list construction key required to create a song list during playback.
  • the list construction key includes a filter type and a keyword.
  • the types of filters include title names, genre names, artist names, album names, file names, and the like. For example, if the type of filter is an artist name, the name of the desired artist is recorded in the keyword.
  • a desired music list can be created by searching the global list GL using the list construction key. Details are disclosed in the above-mentioned prior application 1.
  • the HDD 14 of the server SV is further provided with the presenter shown in Table 7> Including.
  • the presentation content list PL has music information of a plurality of music data (Mil-Mln, M21-M2n, M31-M3n) in each local list LL1-LL3.
  • I2n, 131 Record the storage location of I3n, that is, where it is stored in HDD14.
  • global list GL includes song information 111-IIn, 121-I2n, 131-I3n of local list LL1-LL3.
  • audio client CL includes network protocol processing unit 24 and A microcomputer processing section 28 including a system operation section 26; a flash memory 30; a memory 32 for temporarily storing sequentially inputted compressed digital music data and the like; and sequentially outputting the compressed digital music data; Audio processing unit 34 that generates compressed digital song data, DZA converter (DAC) 36 that converts digital song data into analog song data, and LAN controller that sends and receives signals between the audio client CL and LAN 50 38. Unlike the server SV, the audio client CL does not have an HDD for storing song data M.
  • DAC DZA converter
  • server SV1 clears the server list in HDD 14 before searching for another server SV running on LAN 50 (Sl). Subsequently, the server SV1 searches for another server SV running on the LAN 50. Specifically, the server SV1 broadcasts a magic word predetermined on the command port to the LAN 50 by, for example, the UDP protocol (S2). In the LAN 50, since the server SV2 and the server SV3 are operating, the server SV2 and the server SV3 receive the magic word broadcasted in step S2 through the search port, and return the same magic word to the broadcasted server SV1. At this time, the servers SV2 and SV3 transmit the server specifying information (IP address) for specifying themselves to the server SV1.
  • IP address server specifying information
  • step S6 After registering the server specifying information, it is determined whether or not the timer has exceeded a predetermined time, for example, 2 seconds (S6), and if not, the process returns to step S4. That is, server SV1 waits for a response from another server SV for 2 seconds.
  • a predetermined time for example, 2 seconds
  • step S4 If no magic word is returned in step S4 (when no other server SV is found), the server SV1 determines whether or not it has exceeded 2 seconds since broadcasting the magic word. (S6) If not exceeded, return to step S4.
  • the server SV1 determines whether or not the server identification information is registered in the Sernolist (S7). If the server list is empty, that is, if no server identification information is recorded in the server list, the server SV1 ends the startup processing. On the other hand, if the server list is not empty, that is, if server identification information of at least one server SV is recorded in the server list, the server SV1 performs a connection process with the server SV recorded in the server list. (S8—S12).
  • the count value n is counted up (S12), and the process returns to step S9 to continue the local list obtaining process. That is, the local list acquisition processing is continued until the local list LL (LL2, LL3) of all servers SV (SV2, SV3) registered in the server list is acquired.
  • the local list acquisition processing in step S10 will be described.
  • connection processing: S1000 connection processing: S1000
  • server SV2 executes a connection response process (S1020). Specifically, server SV1 generates a socket based on the IP address and command port of server SV2 registered in the server list according to TCP (Transmission Control Protocol), and requests connection to server SV2 using this socket. (S100 1).
  • TCP Transmission Control Protocol
  • the command port is a port for receiving commands from server SV1 to server SV2 and transmitting a response from server SV2 to server SV1.
  • the server SV2 accepts the connection at the command port (S1021), whereby the server SV1 establishes a connection to the command port of the server SV2.
  • the server SV1 transmits a client index request command to the command port (S1002).
  • the server SV2 returns the client index from the command port to the server SV1 (S1022), and the server SV1 receives this (S1003).
  • the client index request command is a command by which the server SV1 requests a client index from the server SV2.
  • the server SV1 generates a socket using the TCP, the IP address of the server SV2, and the push port according to TCP, and requests connection to the server SV2 using this socket (S1004).
  • the push port is a port for sending requests from server SV2 to server SV1.
  • the server SV2 accepts the connection through the push port (S1023), whereby the server SV1 establishes a connection with the push port of the server SV2.
  • the server SV2 has not yet identified which server SV or audio client CL is connected to the push port. Therefore, server SV1 received in step S1003
  • the server is identified as SV1 (S1024). After establishing the connection of the push port, the server SV1 sends its client information to the server SV2 (S1006). Server SV2 receives the transmitted client information and registers it in the client list shown in Table 5.
  • the server SV1 executes the connection process (S1000) and the server SV2 executing the connection response process (S1020)
  • the server SV1 stores the local list LL2 of the server SV2.
  • Acquisition list acquisition processing: S101010
  • the server SV 2 transmits the local list LL2 (list transmission processing: S1030).
  • the server SVI transmits a request command for the local list LL2 to the server SV2 using the command port (S1011).
  • the server SV2 receives the request command from the server SV1, and sends the server SV2 password list LL2 to the server SV1 (S1031).
  • the server SV1 receives the local list LL2 from the server SV2, and registers the local list LL2 in the HDD 14 (S1012). At this time, all server information of server SV2 is registered in the server list in server SV1.
  • the server SV1 performs the same operation as the server SV3, and registers the server information of the server SV3 including the local list LL3 in the server list.
  • the server SV1 establishes a connection with all the servers SV2 and SV3 registered in the sano list, and acquires all the local lists LL2 and LL3.
  • server SV1 broadcasts a preparation OK command (S1101).
  • the servers SV2 and SV3 on the LAN 50 execute connection processing (S1000) to the server SV1.
  • the server SV1 executes a connection response process (S1020).
  • the servers SV2 and SV3 execute a list acquisition process (S1010).
  • the server SV1 executes a list transmission process (S1 030), and transmits the local list LL1 of the server SV1 to the servers SV2 and SV3.
  • the servers SV2 and SV3 can acquire the local list LL1 of the server SV1. Therefore, each server SV accumulates all the local lists L L of the plurality of servers SV on the LAN 50.
  • the server SV1 receives a command port connection request from another server SV or the audio client CL. However, in this case, the server SV1 does not accept the command port connection request. This is because the accurate global list GL cannot be transmitted to the audio client until all the local lists LL of the other server SVs have been obtained.
  • the server SV that has been started performs a connection operation (S100), a distribution operation (S200), and a list update operation (S300).
  • connection operation (S100) a connection is made with the newly activated server SV on the LAN 50 to exchange the local list LL, or with the audio client CL on the LAN 50 to transmit the global list GL.
  • distribution operation (S200) music data is distributed in response to a request from the audio client CL.
  • the list update operation (S300) when the local list LL of the own server or the local list LL of another server SV is updated, the exchange of the updated local list LL is executed.
  • the server SV determines whether or not an operation end for ending its own operation has been selected (S15). The selection of whether to end the operation is made, for example, by a user managing the server SV. If the operation end is not selected, the server SV returns to step S100 and repeats each operation (S100-S300). On the other hand, if the operation end is selected in step S15, the server SV executes an end operation (S400).
  • S15 an operation end for ending its own operation has been selected. The selection of whether to end the operation is made, for example, by a user managing the server SV. If the operation end is not selected, the server SV returns to step S100 and repeats each operation (S100-S300). On the other hand, if the operation end is selected in step S15, the server SV executes an end operation (S400).
  • S400 end operation
  • a new server SV (hereinafter referred to as a start server SV) is started on the LAN 50 while the server SV1 is operating, the start server SV broadcasts a magic word for server search.
  • server SV1 determines whether or not a magic word broadcast by activation server SV has been received (S101).
  • the server SV1 executes a connection response process (S1020) to the broadcasted start server SV, and establishes a connection with the start server SV.
  • the server SV1 registers the client information of the startup server SV in the client list.
  • the server SV1 executes a list transmission process to the activation server SV (S1 030), and transmits the local list LL1.
  • the server SV1 determines whether the device connected in step S1020 is the server SV client CL (S102). .
  • the server SV1 judges by referring to “type” (client type) in the client information registered in the client list.
  • the server SV1 acquires the local list LL from the activation server SV and registers the server information in the server list. This is to update the global list GL.
  • the server SV1 executes connection processing (S1000) to the start server SV. After executing the connection process, the server SV determines whether or not the connection has been successful (S103). Startup server SV is ready. Before broadcasting the K command (that is, after the startup server SV establishes a connection with the server SV1 and obtains the local list LL1, executes processing to obtain the local list LLn of another server SV. When the server SV1 executes the connection process (S1000) to the startup server SV, the connection fails. In this case, the server SV1 receives the preparation @K command from the startup server SV (S104), and executes the connection process again (S1000). If the connection is successful, the server SV1 executes a list acquisition process to acquire the local list LL from the activation server SV (S1010). After acquiring the local list LL of the activation server SV, the server SV terminates the connection operation.
  • S1000 connection processing
  • the server SV1 can also acquire the local list LL of the newly started server SV.
  • the audio client CL2 on the LAN 50 requests connection to the server SV1 that obtains the global list GL.
  • the server SV1 executes a connection operation (S110).
  • S110 connection request processing
  • server SV1 executes a connection response process (S1020).
  • the server SVI registers the client information of the audio client CL2 in the client list.
  • the audio client CL2 transmits a request command for the global list GL to the server SV1 using a command port (S105).
  • the server SV1 receives the global list request command from the audio client CL2, and creates a global list GL based on the presentation content list PL (S106).
  • the content registered in the presentation content list PL The song information I is obtained from the storage location of the song information I, and all the song information I is listed to create a global nolist GL.
  • the server SV1 sends the global list GL to the audio client CL2 (S107).
  • the audio client C L2 receives the global list GL and registers it in the memory 32 (S108).
  • the audio client CL2 can also obtain the gronor list GL from a server SV (SV2, SV3) other than the server SV1.
  • other audio clients CL can also obtain the global list GL.
  • the client CL can obtain the global list GL including all the music information I on the LAN 50 by connecting to any server SV on the LAN 50.
  • the user of the audio client CL2 refers to the global list GL acquired from the server SV1, and selects a desired song. If the user selects the song data M31 after referring to the global list GL, referring to FIG. 11, the audio client CL2 requests the server SV3 that stores the selected song data M31 to request the song data M31. The request process is executed (S240). The server SV3 storing the music data M31 requested by the audio client CL3 executes the distribution operation (S200).
  • audio client CL2 executes a connection process to server SV3 (S1000).
  • the global list GL records server identification information (IP address and port number) for identifying the server SV on which the music data is stored.
  • the audio client CL2 executes connection processing to the server SV3 based on the server identification information registered in the music information 131 of the selected music data M31.
  • the server SV3 executes a connection response process (S1020) to the audio client CL2.
  • S1020 connection response process
  • the server SV1 maintains the connection with the audio client CL2 established in the connection operation (S100).
  • the audio client CL2 has established a connection with the server SV1 and the server SV3. If the audio client CL2 disconnects from the server SV1 and tries to connect to the server SV3, but fails to connect, the audio client CL2 leaves the LAN50. In order to prevent such a situation, server SV1 Keep the connection with Dio client CL2.
  • the audio client CL2 After the connection between the server SV3 and the audio client CL2 is established, the audio client CL2 transmits a music data transfer request command shown in Table 9 via a command port (S221).
  • This song data transfer request command includes the acquisition start address and the acquired data length of the song data M31 to be transferred.
  • the server SV3 distributes the data of the music data M31 to the audio client CL2 from the start address specified by the acquisition start address by the acquired data length (S201).
  • the audio client CL2 stores the data of the distributed music data M31 in the memory 32.
  • Steps S221 and S223 are repeated, and when the buffer is completely filled with music data, the audio client CL2 starts reproduction (S224). Specifically, as shown in FIG. 15, the output of the music data from the first buffer to the audio processing unit 34 is started. When the song data is output and played, one buffer space will eventually be created as shown in Fig.16.
  • the audio client CL2 sends a music data transfer request to the server SV3 again (S226), and the server SV3 distributes the requested music data (S202).
  • the audio client CL2 stores the distributed music data in an empty buffer in the memory 32 (S227). After the storage, the audio client CL2 checks whether or not all the music data M31 has been received (S228).
  • the audio client CL2 When the audio client CL2 receives all the music data M31 from the server SV3 (S228), the audio client CL2 continues the reproduction operation until all the music data M31 is reproduced (S229).
  • the client CL can specify the server SV that stores the selected music data from the global list GL, and request the transfer of the music data. Also, since the music data is divided and intermittently distributed from the server SV to the audio client CL, the music can be properly reproduced even with a small buffer capacity.
  • the server SV (1) when its own local list LL is updated, (2) when the local list LL of another server SV is updated, (3) the other server stops operating, and the When leaving from, a list update operation is performed to update the global list GL.
  • a list update operation is performed to update the global list GL.
  • server SV1 updates local list LL1 (S301). Further, the server SV1 deletes the presentation content list PL before the roll list LL1 is updated (S302). Thereafter, a new presentation content list PL corresponding to the local list LL1 updated in step S301 is created (S303).
  • a connection to the server SV1 is established and list updating is performed for all server SVs and audio clients CL (S304-S307).
  • a list update notification can be transmitted to all the server SVs and audio clients CL that have established a connection to the server SV1. If n is larger than the number of clients in step S305, server SV1 has notified all server SVs and audio clients CL in the client list, and ends the operation.
  • audio client CL having received list update notification (S306) from server SV1, first deletes global list GL registered in S memory 32 (S351). ). Subsequently, the audio client CL sends a global list request command to the server SV1 (S352). The server SV1 receives the global list request command and sends the updated global list GL to the audio client CL2 (S308). The audio client CL registers the transmitted global list GL in the memory 32 (S353).
  • server SV2 when server SV2 receives the list update notification transmitted from server SV1 in step S306 (S311), server SV2 deletes the existing presentation content list PL (S312). . After the deletion, the server SV2 deletes the local list LL1 registered in the HDD 14 (S313). After deleting the local list LL1, the server SV2 requests the updated local list LL1 from the server SV1 (S314). The server SV1 receives the request from the server SV2 (S331), and transmits the updated local list LL1 (S332). The server SV2 receives the transmitted local list LL1 and registers it in the HDD 14 (S315 ). After registration, the server SV2 creates a presentation content list PL (S316). Thereby, the global list GL is updated.
  • type client type
  • step S323 the flow proceeds to step S325 without transmitting a list update notification. This is because the list update notification is transmitted from the server SV1 to the other server SVs, and the server SV2 needs to perform the list update notification only to the audio client CL.
  • a list update notification is transmitted to all audio clients CL connected to server SV2.
  • the operation of the audio client CL that has received the list update notification is the same as in FIG.
  • server SV 2 when server SV2 running on LAN 50 stops its operation and leaves LAN 50, server SV 2 notifies other servers SV (SV1, SV3) on LAN 50 of leaving. Is broadcast (S335).
  • the server SV1 receives the notice of withdrawal from the server SV2 (S311), and deletes the existing presentation content list PL (S312). Further, the server SV1 deletes the local list LL2 registered in the HDD 14 (S313). After deleting the local list LL2, the server SV1 creates a presentation content list PL (S316). As a result, based on the presentation content list PL The created global list GL does not include the local list LL2. After creating the presentation content list PL, the server SV1 executes a list update notification process (S320). The same operation is performed for server SV3 as for server SV1.
  • the audio client CL can always obtain the latest global list GL.
  • the server SV1 connected to the audio client CL finishes its operation and leaves the LAN 50, it is preferable to change the connection destination of the audio client CL to another server SV on the LAN 50. Also, if the server SV1 leaves during the distribution of music data to the audio client CL, it is better to take measures so that the client CL can continue to receive the distribution of the music data.
  • step S402 is made based on the client list. If the result of the determination is that the audio client CL number is less than or equal to, the audio client CL is not connected to the server SV1. Therefore, the server SV1 sends a leave notification to another server SV (S335). End the operation.
  • step S402 that is, if there is an audio client CL connected to server SV1
  • the server SV1 connects to the takeover server SV for the audio client CL2.
  • a server switching instruction is transmitted to switch (S404).
  • the takeover server SV is a server SV that takes over the connection with the audio client CL2.
  • server SV1 determines the takeover server SV to the server SV2.
  • the server SV1 counts up the count value n (S407), and returns to step S402 again.
  • the audio client CL2 After receiving the server switching instruction from the server SV1 (S431), the audio client CL2 disconnects from the server SV1 (S432). After the disconnection, the audio client CL2 executes connection processing to the server SV2 according to the switching instruction (S1000). At this time, the server SV2 executes a connection response process (S1020). After establishing a connection with the server SV2, the audio client CL2 executes list acquisition processing (S1010). At this time, the server SV2 executes a list transmission process (S1030). With the above operation, even when the server SV1 ends its operation, the audio client CL2 can obtain the latest global list GL from the server SV2 by switching the connection destination to the server SV2.
  • the music data takeover processing and the music data acceptance processing will be described.
  • server SV1 requests server SV2 to register music data Ml being distributed to audio client CL1 (S4041).
  • the server SV2 receives the request from the server SV1 (S4111), and registers a new music ID in the HDD 14 to store the music data M1 (S4112).
  • the server SV2 transmits the new music ID to the server SV1 (S4113).
  • the server SV1 receives the new music ID, and transmits the music data M1 with the received new music ID to the server SV2 (step S4043).
  • the server SV2 receives the music data Mi1 and stores it in the area of the new music ID in the HDD 14 (S4114). By the above operation, the song data Mil is taken over from server SV1 to server SV2.
  • server SV2 which is the takeover server SV
  • audio client CL1 requests data distribution server SV2 from any position in song data Ml. It is necessary to decide whether it is good or not. This is because the audio client CL1 receives the distribution of the song data from the server SV1 to the middle of the song data, so there is no need to have the server SV2 distribute the song data from the beginning. Therefore, the server SV1 calculates the acquisition start address of the music data M1 that the audio client CL1 distributes from the server SV2 (S405).
  • the server SV1 determines the acquisition start address to be a value obtained by adding the data length of the music data Ml delivered so far to the audio client CL2 to the start address of the music data Ml. After calculating the acquisition start address, the server SV1 sends a playback command to the audio client CL2 (S406).
  • the playback command includes, as parameters, the server identification information of the server SV2 and the acquisition start address calculated in step S405.
  • the server SV1 After transmitting the reproduction command, the server SV1 counts up the count value n (S407), and returns to step S402 again to repeat the operation. Thereby, the end operation can be executed for all the audio clients CL connected to the server SV1. After executing the end operation for all the audio client CLs, that is, when the count value n exceeds the number of client connections (S402), the server SV1 transmits a leave notification to the other server SVs (S335). , End the operation.
  • the audio client CL1 After receiving the playback command from the server SV1 (S421), the audio client CL1 disconnects the connection with the server SV1 (S422). After the disconnection, the client SV1 executes a client connection request process (S120), and the server SV2 executes a connection operation (SI10), whereby the audio client CL1 establishes a connection to the server SV2. After that, the audio client CL1 executes a distribution request process (S240). At this time, the audio client CL2 makes a music data transfer request using the acquisition start address received in step S421 as a parameter. The server SV2 executes a distribution operation based on the acquisition start address in the music data transfer request (S200).
  • the audio client CL2 can acquire the continuation of the music data Ml from the server SV2, and can continue the reproduction of the music data Ml.
  • the server SV finishes its operation even if there is an audio client CL to which music data is distributed (that is, being reproduced) from that server SV, the takeover server SV Inherit the song data. Therefore, the audio client CL can continue playing.
  • the global server system 10 may include a controller CN as shown in FIG.
  • the controller CN is connected to the servers SV1 and SV3 and controls the audio clients CL1 and CL3 via the servers SV1 and SV3.
  • the controller CN causes a desired audio client CL to play a desired song or stops a song being played.
  • FIG. 24 shows the connection relationship between the servers SV1 to SV3, the audio clients CL1 and CL3, and the controller CN shown in FIG.
  • the controller CN connects to all servers SV1-SV3.
  • the audio client CL1-CL3 connects to one of the servers SV1-SV3.
  • the audio client CL1 is connected to the server SV1, and the audio clients CL2 and CL3 are connected to the server SV2. That is, the audio client CL1 obtains the global list GL from the server SV1, and the audio clients CL2 and CL3 obtain the global list GL from the server SV2.
  • the controller CN when the controller CN causes the audio client CL2 to reproduce the music based on the music data M31, the controller CN sends a reproduction command to the audio client CL2. Specifically, after confirming that the audio client CL2 is connected to the server SV2, the controller CN transmits a playback command to the audio client CL2 via the server SV2 ((1) in the figure) ( ((2) in the figure). The operation of the audio client CL2 receiving the playback command is the same as (B) in FIG.
  • the controller CN functions as a client for the servers SV1 and SV3.
  • the controller CN includes a LAN controller 38, a microcomputer processing unit 28, a flash memory 30, a memory 32, a display device 37 such as a CRT or an LCD, a keyboard and a mouse. And an input device 39.
  • the difference between the controller CN and the audio client CL is that the audio client CL has a playback function, whereas the controller CN does not need to have a playback function and mainly has the monitoring function and control function of the audio client CL. It is.
  • controller server list having the same configuration as in Table 1 is registered.
  • Table 10 shows the server information (controller server information) registered in the controller server list.
  • a client list "clientlist” is registered instead of the local list LL as compared with Table 2.
  • the controller CN has all the client information of the servers SV1 to SV3. Therefore, the controller CN grasps the existence of one of the audio clients CL1 and CL3 operating in the global server system 10, and grasps which server SV each audio client CL is connected to.
  • the global list GL is also registered in the memory 32.
  • the controller CN connects to all the server SVs of the global server system 10, and acquires a monitoring handle and a control handle for monitoring and controlling the audio clients CL1 and CL3 connected to each server SV.
  • step S1—step S7 are the same as those in FIG.
  • the controller CN searches for the server SV1—SV3 running on the LAN 50, and registers the server identification information of the server SV1—SV3 in the server list.
  • controller CN executes a connection process to server SV2 (S1000). At this time, the server SV2 executes a connection response process (S1020). The controller CN establishes a connection with the server SV2 by the connection processing and the connection response processing. In the connection process, the controller CN transmits its client information to the server SV2. At this time, the controller CN notifies that the client type is “controller”.
  • the controller CN After establishing the connection, the controller CN transmits a client list request command to the server SV2 (S7301).
  • the server SV2 receives the client list request command and transmits the client list in the HDD 14 to the controller CN (S7302). Since the audio clients CL2 and CL3 and the controller CN are connected to the server SV2, the client list transmitted in step S7302 includes the client M green information of the audio clients CL2 and CL3 and the client CN of the controller CN. Information.
  • the controller CN After receiving the client list, the controller CN registers it in the controller list in the memory 32 (S7303). More specifically, the "c li en tlist" of the controller for the server information of the server SV2 in the controller server list, to register the client list obtained.
  • the controller CN After registering the client list, the controller CN requests the server SV2 to obtain the monitoring handle and control handle of the audio clients CL2 and CL3 connected to the server SV2 based on the client list. (S7305 S7311).
  • the monitoring handle has the authority to monitor the audio client CL given from the server SV to the controller CN.
  • the control handle is the authority given to the controller CN from the server SV to control the audio client CL.
  • the controller CN counts up the count value n (S7311), and returns to the operation of Step S7305 again.
  • the handle acquisition processing is executed for all servers SV1 to SV3. Therefore, the controller CN acquires monitoring handles and control handles of all the audio clients CL1 to CL3 operating in the global server system 10.
  • the operation in which the controller CN acquires the global list GL from the server SV is the same as the operation of the audio client CL2 in Fig. 10.
  • the controller CN acquires the global list GL from any server SV.
  • the controller CN does not execute the connection processing (S1000) in FIG. (Step S105 in FIG. 5).
  • An arbitrary server SV is, for example, a server SV with a server ID of 1 in the controller server list.
  • the controller CN receives the list update notification from the server SV and updates the global list GL. The operation of updating the global list is the same as in FIG.
  • the controller CN can always acquire the latest global list.
  • the controller CN can monitor the audio client CL by acquiring the monitoring handle. Referring to FIG. 28, when the volume value of audio client CL2 is changed, audio client CL2 sends a volume value change notification to server SV2 (S7501).
  • the volume value change notification includes information on the changed volume value.
  • the server SV2 After receiving the volume value change notification, the server SV2 updates the client information of the audio client CL2 (S7502). Specifically, the data of “volume” in the client information is updated. The server SV2 further transmits the updated client information to the controller CN which has acquired the monitoring handle of the audio client CL2 (S7503).
  • the controller CN receives the updated client information, and updates the client information of the audio client CL2 in the controller list (S7504).
  • the updated client information is displayed on the display device 37 (S7505).
  • the server SV when the server SV receives the client information from the audio client CL, by transmitting the client information to the controller CN, the controller CN can constantly monitor the audio client CL.
  • the controller CN can control the audio client CL by acquiring the control handle.
  • the control operation a process in which the controller CN instructs the audio client CL2 to reproduce a song based on the song data M31 will be described.
  • the music data is selected based on the global list GL of the controller CN.
  • the controller CN sets the song data M31 based on the global list GL. Is selected (S7601). After the selection, the controller CN specifies the server to which the audio client CL2 is connected, based on the controller list (S7602). Specifically, the controller CN refers to the controller server list and determines that the server information having the client information of the audio client CL2 is the server information of the server SV2. In other words, the controller CN determines that the server connected to the audio client CL2 is the server SV2. Therefore, the controller CN sends a playback command to the server SV2 (S7603).
  • the reproduction command includes information for specifying the music data M31 (for example, music ID).
  • Server SV2 controller CN power Playback command sent to audio client
  • the message is transmitted to CL2 (S7604).
  • the controller CN sends a playback command to the audio client CL2 via the server SV2.
  • the audio client CL2 that has received the playback command executes a distribution request process in order to acquire and play back the music data M31 (S240).
  • the server SV3 executes a distribution operation (S200).
  • Fig. 29 shows the operation in the case of instructing the reproduction of the music, but the same applies to the case where the reproduction of the music is stopped.
  • the controller CN sends a music reproduction stop command to the audio client CL2 via the server SV2, the audio client CL2 stops music reproduction. The same applies to control such as volume adjustment.
  • the controller CN can control the audio client CL that has acquired the control handle.
  • the global server system 10 includes a plurality of controllers CN, a plurality of control handles for each audio client CL are not issued. In other words, only one controller CN can control each audio client CL. On the other hand, the monitoring handle of each audio client CL is issued in duplicate, and a plurality of controllers CN can monitor one audio client CL.
  • FIG. 30 is a diagram showing the overall configuration of the center server system.
  • the server system 70 includes a center server CSV, a plurality of sub servers SSV1 and SSV2, and a plurality of audio clients CL1 and CL3. These are connected to each other by LAN60.
  • the configuration of the center server CSV and sub server SSV is the same as in Fig. 3.
  • the number of subserver SSVs is two (SSV1 and SSV2), but it is sufficient if there is at least one subserver SSV. Also, it is sufficient if there is at least one client CL.
  • the center server system 70 all servers SV1 and SV3 on the LAN 50 have the global list GL, whereas in the center server system 70, only the center server CSV has the global list GL.
  • the center server CSV further includes music data M31-M3n and a local list LL3.
  • the sub server SSV1 includes the music data Ml 1 Mln and the local list LL1
  • the sub server SSV2 includes the music data M21 M2n and the singular list LL2.
  • the sub servers SSV1 and SSV2 transmit the updated local lists LL1 and LL2 to the center server CSV ((1) in the figure).
  • the center server CSV receives the local lists LL1 and LL2 and updates the global list GL with the local list LL3.
  • the low power list LL3 is not transmitted from the center server CSV to the sub servers SSV1 and SSV2.
  • a plurality of audio clients CL1-CL3 transmit a transfer request for global list GL to center server CSV ((2) in the figure).
  • the center server CSV receives the request of the global list GL and transmits the global list GL to each audio client CL1 to CL3 ((3) in the figure).
  • the audio client CL2 plays the music data M21 after receiving the global list GL
  • the audio client CL2 sends a music data transfer request of the music data M21 to the center server CSV, as shown in FIG. 31 (B). ((4) in the figure).
  • the center server CSV receives the music data transfer request and requests the sub server SSV2 storing the music data M21 to deliver the music data M21 to the center server CSV ((5) in the figure).
  • sub server SSV2 receives the request of center server CSV, and distributes music data M21 to center server CSV ((6) in the figure).
  • Center server CSV is distributed from sub server SSV2
  • the music data M21 thus distributed is delivered to the audio client CL2 ((7) in the figure).
  • all requests from the audio client CL are transmitted to the center server CSV.
  • the distribution of music data M to the sub server SSV Riki and the audio client CL is performed via the center server CSV.
  • the center server CSV relays between the sub server SSV and the audio client CL, and also has its own music data M, and distributes the music data M stored by itself directly to the audio client CL.
  • the audio client CL can reproduce all music data M on the LAN 60 by requesting the center server CSV.
  • the transfer of the music data may be performed to the sub server SSV that stores the desired music data M without going through the center server C SV server. ,.
  • the server SV started first on the LAN 60 operates as the center server CSV, and the server SV started second and thereafter operates as the sub server SSV.
  • startup server SV the operations from step S1 to S6 of server SV at startup (hereinafter, referred to as startup server SV) are the same as those in FIG.
  • the starting server SV broadcasts a magic word to determine whether another server SV on the LAN 60 is already running. If two seconds have passed after the broadcast and there is no server identification information in the list (S7), the start server SV operates as the center server CSV because no other server SV exists on the LAN 60 ( S50).
  • the operation of the center server CSV is described in 2.2.2.2.
  • the start server SV operates as a sub server SSV because the center server CSV is already operating.
  • the sub server SSV executes connection processing to the center server CSV (S1000).
  • the connection process at this time is the same as the operation in step S1000 in FIG.
  • Sub server SSV When the server executes the connection processing (S1000), the center server CSV performs the connection response processing (the same processing as S1020 in FIG. 6).
  • the sub server SSV executes a local list transmission processing to the center server C SV (S11), and transmits its own list LL to the center server CSV. I do.
  • the details of the local list transmission process are the same as in FIG. Note that the server SV in the global list server system 10 performs connection processing for all other server SVs, and then prepares to broadcast the ⁇ command. Subserver S SV performs connection processing for the center server CSV. Prepare later ⁇ Broadcast command
  • the start server SV when the start server SV becomes the sub server SSV, it connects to the center server C SV, transmits its own local list LL to the center server CSV, and executes the operation of the sub server SSV ( S65).
  • the operation of the subserver SSV is explained in 2.2.
  • center server CSV executes connection operation (S100, S110), distribution operation (S500), list update operation (S600), and at the time of termination (S15), termination operation (S700). ).
  • the connection operation (S100, S110) is the same as the server connection processing operation (1.3.2.2.1 and 1.3.2.2.2) in the global list server system 10.
  • the distribution operation (S500), the list update operation (S600), and the end operation (S700) will be described.
  • Center server CSV capability When the audio client CL2 that has acquired the global list GL selects the song data M21 of the sub server SSV2 from the global list GL, the audio client CL2 sends a song data transfer request to the center server CSV. The song data M21 is received from the sub server SSV2 via the center server CSV and played back. Details will be described below.
  • audio client CL2 executes a connection process to center server CSV (S1000).
  • the center server CSV executes a connection response process (S1020).
  • the connection for distributing the music data M21 is set.
  • the center server CSV also maintains the connection with the audio client CL2 established in the previous connection operation (S110). Therefore, the audio client CL2 has established the connection for receiving the global nolist and the connection for receiving the music data with the center server CSV. In this way, by separating the command port for receiving the global list and the command port for requesting the transfer of music data, traffic congestion can be reduced.
  • the center server CSV executes music data distribution processing (S501).
  • S501 music data distribution processing
  • center server CSV receives a music data transfer request from audio client CL2 (S5011), and determines whether the requested music data is music data in center server CSV (S5012). ). If the music data is in the center server CSV, the center server CSV distributes the music data to the audio client CL2 (S5015).
  • the center server CSV acquires the music data M21 from the sub server SSV2 that stores the music data M21, and distributes it to the audio client CL2.
  • the center server CSV executes connection processing to the sub server SSV2 (S1000).
  • the sub server SSV2 executes a connection response process (S1020), and establishes a connection for music data transfer request between the servers.
  • S1020 connection response process
  • the center server CSV executes a music data relay process (S502).
  • the center server CSV transmits a music data transfer request of the music data M21 to the sub server SSV2 (5013).
  • the sub server SSV2 receives the music data transfer request, and distributes the music data M21 to the center server CSV based on the acquisition start address and the data length in the music data transfer request (S5014).
  • the center server CSV distributes the music data M21 distributed from the sub server SSV2 to the audio client CL2 (S5015). [0256]
  • the center server CSV distributes the music data M21 to the audio client CL2.
  • the center server CSV that has received the music data transfer request in S226 performs music data relay processing (S502), and continues distribution of the music data M21.
  • the center server CSV is converted to the sub server SSV2 and the audio client.
  • the audio client CL2 can reproduce the music data M21 by relaying between the CL2 and the CL2.
  • the client CL2 can recognize from the global list GL that the music data M21 is stored in the sub server SSV2, the client CL2 directly executes a distribution request process to the sub server SSV2 (S240).
  • the sub server SSV2 may execute the distribution operation (S200). The operation in this case is the same as in FIG.
  • the center server CSV creates the global list GL. Therefore, when the center server CSV registers new song data, the center server CSV sends a list update notification only to the audio client CL that does not need to send a list update notification to a plurality of subservers SSV on the LAN 60.
  • the operation of the center server CSV in response to the list update notification from the sub server SSV is the same as the operation of the server SV2 in FIG.
  • the operation of the center server CSV when the sub server SSV leaves is the same as the operation of the server SV1 in FIG.
  • the following is a description of the center server CSV list updating operation when the center server CSV registers new song data M31.
  • center server CSV updates local list LL3 (S601) and deletes existing presentation content list PL (S602). Thereafter, a new presentation content list PL is created (S603), and a list update notification process is executed (S320). The list update notification processing is performed for a plurality of audio clients CL on the LAN 60. [0264] 2. 2. 2. 3. End operation
  • step S401 when audio client CL is not playing (in the case of client CL2 in FIG. 37), end operation of center server CSV (S403, S405, S335, S431, S432, S1000) , S1020) is the same as FIG.
  • the center server CSV determines whether the music data being played by the audio client CL1 is music data stored in the center server CSV itself. (S701). As a result of the determination, if the center server CSV does not store the music data, for example, if the audio client CL1 is playing the music data M21, the center server CSV performs the relay processing of the music data M21 to perform the processing. . At this time, the center server CSV calculates the acquisition start address (S405). The acquisition start address is calculated based on the music data length already acquired by the center server CSV from the sub server SSV2. The calculated acquisition start address is included in the playback request command and transmitted to the audio client CL1 (S406).
  • the playback request command also includes the server identification information of the takeover server SV of the center server CSV.
  • the sub server SSV 1 also receives a takeover command when receiving the withdrawal notification from the center server CSV, and operates as the center server C SV.
  • the center server CSV After transmitting the playback command, the center server CSV counts up the count value n and returns to step S402.
  • the audio client CL1 After receiving the playback command from the center server CSV (S421), the audio client CL1 disconnects the connection with the center server CSV (S422). After the disconnection, the client connection request processing (S120) is executed for the takeover server SV (sub server SSV1), and the takeover server SV performs the connection operation (S100), so that the audio client CL1 performs the connection operation to the takeover server SV. To establish a connection. After that, the audio client CL1 executes a distribution request operation (S240). At this time, the audio client CL1 obtains the data received in step S421. A music data transfer request is made using the start address as a parameter.
  • the transfer server SV executes a distribution operation based on the acquisition start address in the music data transfer request (S500).
  • the audio client CL1 can acquire the continuation of the music data M21 from the takeover server SV, and can continue the reproduction of the music data M21.
  • step S701 if the music data M31 is reproduced by the audio client CL1, the center server CSV needs to transmit the music data M31 stored by itself to the takeover server SV. . Therefore, the center server CSV executes the music data takeover processing (S404). Further, the takeover server SV executes a music data acceptance process (S411). After the music data takeover processing, the center server CSV proceeds to step S405.
  • the center server CSV After transmitting the reproduction command in step S406, the center server CSV counts up the count value n (S407), and returns to step S402 again to repeat the operation. As a result, the end operation can be performed for all audio clients CL connected to the center server CSV. After executing the end operation for all the audio clients CL, that is, when the count value n exceeds the number of client connections (S402), the center server CSV transmits a leave notification to a plurality of sub servers SSVs (S335). , End the operation.
  • the center server CSV also sends a takeover command to the takeover server when sending a leave notification to another subserver SSV.
  • the transmission of the global list GL and the transmission of the music data M to the audio client CL are all performed by the center server CSV. Therefore, the center server CSV performs a connection operation (S100) and a list update operation (S500) to acquire the updated local list LL from the sub server SSV and distribute the latest global list GL to the audio client CL. .
  • the sub server SSV also performs the connection operation (S650) and the list update operation (S550) as shown in FIG.
  • the sub server SSV does not distribute the global list GL to the audio client CL. However, when the center server CSV executes the operation end (S700), the sub server SSV connected to the center server CSV first.
  • the sub server SSV is the center server It may change to CSV. For this reason, the sub server SSV acquires the local list LL of the sub server SSV started after performing its own startup processing, and prepares so that it can function as the center server when receiving the takeover instruction from the center server C SV .
  • the sub server SSV determines whether or not it has received a takeover command from the center server CSV (S21). When the takeover command is received, the sub server SSV executes the operation of the center server as the center server CSV (S50). On the other hand, even if the server (center server CSV and other subserver SSVs) connected to the subserver SSV itself does not exist even if the takeover command is not received, the subserver SSV is also used as the center server CSV as the center server. Perform server actions. Whether there is a server SV connected to the sub server SSV itself is determined based on the server list.
  • connection operation (S650), the list update operation (S550), and the termination operation (S750) will be described.
  • sub server SSV1 when active sub server SSV1 receives the magic word for server search (S651), sub server SSV1 does not respond or responds that it is subserver SSV. Is performed (S652). As a result, the audio client CL cannot connect to the sub server S SV.
  • the sub server SSV separates the port that receives the magic word for search from the startup server SV (other sub server SSV) from the port that receives the magic word for search from the audio client CL. it can.
  • the magic word for searching for the start server SV and audio client CL is The difference may allow the sub server SSV to make the determination in S653.
  • step S653 If it is determined in step S653 that the audio client CL broadcasts, the sub server SSV1 ends the connection operation. On the other hand, as a result of the judgment, if the broadcast is the activation server SV (sub-server SSV2), it means that the sub-server S SV2 has been activated after the sub-server SSV1. At this time, the sub server SSV1 registers the server identification information of the sub server SSV2 started after itself in the server list (S654). Server specific information is broadcast along with the magic word.
  • the broadcast is the activation server SV (sub-server SSV2)
  • the sub server SSV1 registers the server identification information of the sub server SSV2 started after itself in the server list (S654). Server specific information is broadcast along with the magic word.
  • the sub server SSV1 executes a connection process (S1000) to the sub server SSV 2 to obtain the local list LL2.
  • the sub server SSV2 which is the start server SV, is performing connection processing with the center server CSV (that is, during start processing)
  • the connection fails even if the sub server SSV1 executes the connection processing (S1000) to the sub server SSV2. I do.
  • the sub server SSV1 receives the preparation @K command from the sub server SSV2 (S656), and executes the connection process again (S1000). If the connection is successful (S655), the sub server SSV1 acquires the local list LL2 from the connected sub server SSV2 and stores it in the HDD 14 (S1010).
  • the sub server SSV acquires all the local list LL of the sub server S SV started after the sub server SSV starts, and accumulates in the HDD 14. This is because it is necessary to create the acquired local list LL force global list GL and send it to multiple audio clients CL when the center server becomes CSV due to receiving a takeover command. Note that the sub server SSV does not obtain the local list LL of the server SV (center server CSV or sub server SSV) that was already started before the server itself started. In the center server system 70, when the center server CSV is taken over, the server SV is taken over in the order of the started server SV.
  • sub server SSV1 updates local list LL1 (S551).
  • the sub server SSV1 deletes the existing presentation content list PL (S552).
  • the presentation content list PL of the sub server SSV1 In the presentation content list PL of the sub server SSV1, the storage location of the local server list LL1 of the sub server SSV1 itself and the storage location of the local list LL of another sub server SSV started after the activation of the sub server SSV1 are recorded. Is done.
  • the sub server SSV1 creates a new presentation content list PL based on the updated local list LL1 (S553). The reason why the presentation content list is created is that it is necessary when itself becomes the center server CSV.
  • the sub server SSV1 After creating the presentation content list PL, the sub server SSV1 sends a list update notification (S554).
  • the list update notification is sent to multiple server SVs registered in the client list in the sub server SSV1.
  • the server SVs registered in the Sanoku list are the server SVs (center server CSV and sub server SSV) that started before the sub server SSV1.
  • Subserver SSV1 receives a list update notification from subserver SSV started after itself.
  • the sub server SSV2 starts the center server CSV which is started before itself.
  • a list update notification is transmitted to the sub server SSV1 (S555).
  • the sub server SSV1 deletes the existing presentation content list PL (S557).
  • the sub server SSV1 deletes the local list LL2 of the sub server SSV2 (S558).
  • the sub server SSV1 After deleting the low profile list LL2, the sub server SSV1 transmits a transfer request command for the updated local list LL2 to the sub server SSV2 (S559). After receiving the transfer request command (S560), the sub server SSV2 transmits the updated local list LL2 to the sub server SSV1 (S561). Subserver SSV1 receives the updated local list LL2 (S5 62), a presentation content list PL is created (S563).
  • the sub server SSV1 receives the takeover instruction from the center server CSV
  • center server system 70 started in the order of sub-servers SSV1 and SSV2, when sub-server SSV2 terminates operation and leaves LAN60, sub-server SSV2 starts before itself.
  • a withdrawal notification is transmitted to the server SV that has performed (S564).
  • the leave notification is sent to all the server SVs registered in the client list in the sub server SSV2.
  • the sub server SSV1 deletes the existing presentation content list PL (S566).
  • the local list LL2 registered in the HDD 14 is deleted (S567).
  • the sub server SSV1 creates a presentation content list PL (S568).
  • the sub server SSV1 determines whether or not the music data stored therein is being distributed to the center server CSV (S751). If the music data has not been distributed, the sub server SSV1 ends the operation after transmitting the leaving notification to the server SV started before the sub server SSV1 (S757). On the other hand, when the music data Mi l is being distributed, the sub server SSV1 sends a registration request command of the music data Mi l to the center server CSV (S752). The center server CSV receives the request command and registers a new music ID in the HDD 14 (S753). After registration, the center server C SV transmits the new song ID to the sub server SSV1 (S754).
  • the sub server SSV1 receives the new song ID, assigns the new song ID to the song data MiI, and sends it to the center server CSV (S755). After the transmission, the sub server SSV1 transmits a leave notification (S757), and ends the operation.
  • the center server CSV receives the song data Mi l and registers the song data Mi l in a location in the HDD 14 where the song data with the new song ID is stored (S756).
  • the center server system 70 described above may include a controller CN as shown in FIG.
  • the controller CN connects to the center server SV and controls the audio client CL via the server SV.
  • the configuration of the controller CN is the same as in FIG.
  • the controller CN has a server list for controllers and a global list. In FIG. 44, one controller CN indicates the force.
  • the controller CN When the controller CN causes the audio client CL2 to reproduce the music based on the music data M21, the controller CN transmits a reproduction command to the audio client CL2. Specifically, the controller CN sends a playback command to the audio client CL 2 via the center server CSV (1).
  • the operation of the audio client CL2 that has received the playback command is the same as (B) and (C) in FIG.
  • the controller CN connects to the center server CSV and executes handle acquisition processing. No, the handle acquisition process is the same as in FIG.
  • the operation of server SV2 in Fig. 27 is executed by the center server CSV. All the audio clients CL1-CL3 of the center server system 70 are connected to the center server CSV. Therefore, the controller CN can acquire the monitoring handle and the control handle of the audio client CL1 to CL3 by executing the handle acquisition processing for the center server CSV.
  • the controller CN that has obtained the monitoring handle can monitor the audio client CL.
  • the monitoring operation of the controller CN is the same as in FIG.
  • the operation of the server SV2 in FIG. 28 is executed by the center server CSV.
  • controller CN that has obtained the control handle can control the audio client CL.
  • controller CN sends a playback command to center server CSV (S7603).
  • the server SV2 sends the playback command sent from the controller CN to the audio client CL2 (S7604).
  • the audio client CL2 Upon receiving the playback command, the audio client CL2 acquires the song data and plays it. For this purpose, a distribution request process is executed (S240). At this time, the center server CSV executes the distribution operation (S500).
  • the controller CN can instruct the audio client CL, which has acquired the control handle, to reproduce or stop the reproduction. That is, the audio client can be controlled.
  • the file sharing server system uses a file sharing protocol such as SMB (Server Message Block) or CIFS (Common Internet File System).
  • server SV2 has a list of music data M21-M2n stored by itself, and a list of music data Mil Mln, M31 M3n stored by server SV1 and server SV3. That is, server SV2 can share the files stored by server SV1 and server SV3.
  • the server SV2 provides the list to the client CL2 in response to the list request from the client CL2.
  • the client CL2 requests the desired music data M31 based on the list.
  • the server SV2 receives the request, acquires the music data M31 in the server SV3, and distributes it to the client CL2.
  • the server SV1 and the server SV3 simply function as devices for storing music data. Therefore, for example, even if new song data is registered on the server SV1, the server SV1 does not send an update notification to the server SV2.
  • servers SV1 and SV3 may be able to share the files of the other server SVs similarly to the server SV2.
  • the local list transmission system is a system in which the audio client CL obtains a plurality of local lists LL from a plurality of servers SV, and can select all music data M stored on the LAN.
  • each server SV holds only local list LL of music data stored by itself.
  • each server SV1—S V3 transmits the local list LL1 to LL3 to the audio client CL2 ((2) in the figure).
  • the audio client CL2 selects songs based on those lists. If the selected song is song data M31, the audio client CL2 requests the song data M31 from the server SV3 ((3) in the figure) as shown in Fig. 47 (C), and the server SV3 responds to the request. To transmit the music data M31 ((4) in the figure).
  • the client when taking over the center server, the client may send to the takeover server a song that is to be played back by the client instead of only the song being played back by the client. Furthermore, in the center server system, the client may directly request a song from the sub server, but in this case, the client connects to the center server via a push port, thereby notifying the center server of a list update notification. You can get it right away. Further, in the center server system, the client may automatically connect to the center server at the time of startup. Further, in the center server system, a plurality of server groups may exist, and each group may have a center server. Furthermore, when a client searches for a server, at least the center server should respond to the client in the center server system.
  • the sub server can respond to the client by determining the magic word attribute (the attribute indicating that the client does not support the center server).
  • the server can provide client information (connection information, status (playing, stopped, etc.), client type, volume, product ID, firmware ID, client name, playback file name, and / or list building for list creation). Key
  • client information connection information, status (playing, stopped, etc.), client type, volume, product ID, firmware ID, client name, playback file name, and / or list building for list creation).
  • each server has client information of other servers
  • the center server system has client information of all sub servers. You can also.
  • the controller is a single server (a center server in a center server system). , You can monitor all client information.
  • the method of sharing and updating client information can be realized in the same way as the method of sharing and updating the content list.
  • client information may be included in the content list.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Astronomy & Astrophysics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

 マルチリストサーバシステム10内のサーバSV1~SV3の各々は自己が蓄積する曲データのローカルリストLL1~LL3と、サーバSV1~SV3が蓄積する曲データを列挙したマルチリストMLとを備える。クライアントCLは任意のサーバSVに対してマルチリストMLを要求し、要求を受けたサーバSVはマルチリストMLをクライアントCLに送信する。クライアントCLはマルチリストMLを参照して、所望の曲データを蓄積するサーバSVに対して曲データの転送を要求する。曲データの転送要求を受けたサーバSVは曲データをクライアントに送信する。

Description

明 細 書
ネットワーク AVシステム
技術分野
[0001] 本発明は、音声及び Z又は映像の再生が可能なネットワーク AV(Audio/Video)シ ステムに関し、さらに詳しくは、複数のサーバとクライアントとを備えたネットワーク AV システムに関する。
^景技術
[0002] 最近、クライアントサーバシステムを利用したネットワーク AVシステムが提供されて いる。下記の先行出願 1は、多数のコンテンツを蓄積したサーバと、 LAN(Local Area Network)経由で接続されたオーディオクライアントとを備えたネットワーク AVシステ ムを開示する。オーディオクライアントは所望のコンテンツをサーバに要求し、これに 応じてサーバは要求されたコンテンツをオーディオクライアントに配信する。オーディ オクライアントはサーバから配信されたコンテンツを再生する。
[0003] ネットワーク AVシステムはサーバが複数あればそれだけ蓄積されるコンテンツを増 やすことができる。し力 ながら、サーバごとに蓄積されるコンテンツが異なれば、ォ 一ディオクライアントは所望のコンテンツがどのサーバに蓄積されているか探さなけれ ばならない。オーディオクライアントが所望のコンテンツを見つけるまで、ひとつひとつ のサーバに接続するのは煩雑である。
[0004] また、サーバがコンテンツをオーディオクライアントに配信中に動作を停止すれば、 オーディオクライアントの再生動作は中断してしまう。
[0005] また、オーディオクライアントがサーバからコンテンツの配信を受け、再生した後、別 のコンテンツの再生をしたい場合、再生をしたいコンテンツを蓄積する当該他のサー バに接続し直す必要がある。
発明の開示
[0006] 本発明の 1つの目的は、複数のサーバが複数のコンテンツを蓄積していても、クライ アントが所望のコンテンツを容易に見つけることができるネットワーク AVシステムを提 供することである。 [0007] 本発明のもう 1つの目的は、コンテンツを配信中のサーバがその動作を停止しても 、クライアントがそのコンテンツを最後まで再生できるネットワーク AVシステムを提供 することである。
[0008] 本発明のもう 1つの目的は、クライアントがサーバを接続し直す必要のないネットヮ ーク AVシステムを提供することである。
[0009] 本発明によるネットワーク AVシステムは、複数のサーバと、複数のサーバの少なく とも 1つに接続可能な 1又は複数のクライアントとを備えたネットワーク AVシステムで あって、サーバの各々は、複数のコンテンツを蓄積するための蓄積手段を備える。サ ーバのうち少なくとも 1つのサーバはさらに、複数のサーバが蓄積する複数のコンテ ンッを列挙したグローバルリストを記憶するためのグローバルリスト記憶手段と、グロ 一バルリスト送信手段とを備える。グローバルリスト送信手段はクライアントにグローバ ルリストを送信する。
[0010] 本発明によるネットワーク AVシステムでは、サーバはクライアントに複数のサーバが 蓄積する複数のコンテンツを列挙したグローバルリストを送信する。そのため、クライ アントはコンテンツが蓄積されたサーバごとにコンテンツのリストを要求する必要がな ぐグローバルリストに基づいて、所望のコンテンツを容易に見つけることができる。
[0011] 好ましくは、クライアントは、コンテンツ要求手段を備える。コンテンツ要求手段は送 信されたグローバルリストの中から選択されたコンテンツをサーバに要求する。サー バのうち少なくとも 1つのサーバはさらに、コンテンツ返信手段を備える。コンテンツ返 信手段はクライアントからの要求に応じて選択されたコンテンツをクライアントに返信 する。クライアントはさらに、再生手段を備える。再生手段はサーバから返信されたコ ンテンッを再生する。
[0012] この場合、クライアントは複数のサーバに蓄積された複数のコンテンツの中から所 望のコンテンツを容易に選択できる。選択されたコンテンツはサーバからクライアント に送信され、クライアントはそのコンテンツに基づレ、て音声又は映像を再生できる。
[0013] 好ましくは、複数のクライアントは、第 1のクライアントと第 2のクライアントとを含む。
第 1のクライアントは再生指示手段を備える。再生指示手段は、送信されたグローバ ノレリストの中から選択されたコンテンツの再生指示をサーバを介して第 2のクライアン トに送信する。第 2のクライアントはコンテンツ要求手段を備える。コンテンツ要求手段 は、再生指示に応じて選択されたコンテンツをサーバに要求する。サーバのうち少な くとも 1つのサーバはさらにコンテンツ返信手段を備える。コンテンツ返信手段は、第 2のクライアントからの要求に応じて選択されたコンテンツを第 2のクライアントに返信 する。第 2のクライアントはさらに、再生手段を備える。再生手段はサーバから返信さ れたコンテンツを再生する。
[0014] この場合、第 1のクライアントはグローバルリストに基づいて選択されたコンテンツを 第 2のクライアントに再生させることができる。要するに、第 1のクライアントは第 2のクラ イアントを制御できる。
[0015] 本発明によるネットワーク AVシステムは、複数のサーバと、複数のサーバの少なく とも 1つと接続可能な 1又は複数のクライアントとを備えたネットワーク AVシステムであ つて、サーバの各々は、複数のコンテンツを蓄積するための蓄積手段と、複数のサー バが蓄積する複数のコンテンツを列挙したグローバルリストを記憶するためのグロ一 バルリスト記憶手段と、グローノくルリスト送信手段とを備える。グローバルリスト送信手 段はクライアントにグローバルリストを送信する。
[0016] 本発明によるネットワーク AVシステムでは、クライアントは、複数のサーバに蓄積さ れたコンテンツを列挙したグローバルリストの中から所望のコンテンツを選択できる。 また、クライアントは複数のサーバのうちどのサーバに要求しても、グローバルリストを 取得できる。そのため、クライアントは容易にグローバルリストを取得でき、複数のサー バに蓄積された複数のコンテンツの中から所望のコンテンツを容易に見つけることが できる。
[0017] 好ましくは、クライアントはコンテンツ要求手段を備える。コンテンツ要求手段は送信 されたグローバルリストの中力 選択されたコンテンツをサーバに要求する。サーバの 各々はさらに、コンテンツ返信手段を備える。コンテンツ返信手段はクライアントから の要求に応じて選択されたコンテンツをクライアントに返信する。クライアントはさらに 、再生手段を備える。再生手段は返信されたコンテンツを再生する。
[0018] この場合、クライアントは複数のサーバに蓄積された複数のコンテンツの中から所 望のコンテンツを容易に選択できる。選択されたコンテンツはサーバからクライアント に送信され、クライアントはそのコンテンツに基づレ、て音声又は映像を再生できる。
[0019] 好ましくは、グローバルリストは複数のコンテンツに対応して複数のコンテンツが蓄 積された複数のサーバのアドレスを含み、コンテンツ要求手段は、サーバのアドレス に基づいて、選択されたコンテンツを要求する。
[0020] この場合、クライアントは所望のコンテンツを蓄積したサーバをグローバルリストから 特定できる。そのため、クライアントは複数のサーバの中から所望のコンテンツを蓄積 したサーバを容易に特定でき、その結果、そのコンテンツを容易に取得できる。
[0021] 好ましくは、サーバの各々はさらに、 自己が蓄積するコンテンツを列挙したローカル リストを記憶するためのローカルリスト記憶手段と、ローカルリスト送信手段と、グロ一 バルリスト更新手段とを備える。ローカルリスト送信手段はローカルリストを当該他のサ ーバに送信する。グローバルリスト更新手段は自己のローカルリストと当該他のサー バから送信されたローカルリストとに基づいてグローバルリストを更新する。
[0022] この場合、サーバは当該他のサーバからローカルリストを取得し、 自己のローカルリ スト及び当該他のサーバのローカルリストからグローバルリストを更新できる。
[0023] 好ましくは、ローカルリスト送信手段は、 自己のローカルリストが更新されるごとに他 のサーバに更新されたローカルリストを送信し、グローバルリスト更新手段は、 自己の ローカルリストが更新されるごとに、又は更新されたローカルリストを受信するごとにグ ローバルリストを更新する。
[0024] この場合、サーバは当該他のサーバから最新のローカルリストを取得し、 自己の最 新のローカルリストと合わせてグローバルリストを最新のものに更新できる。
[0025] 好ましくは、サーバの各々はさらに離脱通知手段を備える。離脱通知手段は、サー バがネットワーク AVシステムから離脱する前に、当該他のサーバに離脱通知を送信 する。グローバルリスト更新手段は、離脱通知に応じて、離脱通知を送信したサーバ のローカルリストを削除するようグローバルリストを更新する。
[0026] この場合、離脱したサーバのローカルリストは、そのサーバが離脱したときにグロ一 バルリストから削除される。
[0027] 好ましくは、グローバルリスト送信手段は、グローバルリスト更新手段がグローバルリ ストを更新するごとに更新されたグローバルリストをクライアントに送信する。 [0028] この場合、サーバはグローバルリストが更新されるたびに、最新のグローノ
をクライアントに送信する。その結果、クライアントは最新のグローバルリストに基づい て所望のコンテンツを選択できる。
[0029] 好ましくは、サーバの各々は、 自己と当該他のサーバとの間でコマンドを送受信す るためのコマンドポートで接続を確立する手段と、当該他のサーバからサーバに要求 を強制的に送信するためのプッシュポートで接続を確立する手段とを備える。
[0030] この場合、サーバが当該他のサーバのローカルリストを要求するとき(すなわち、サ ーバが当該他のサーバに対してクライアントとして接続している状態のとき)、コマンド ポートでサーバ間を送受信し、ローカルリストを取得できる。また、当該他のサーバに 自己のローカルリストを取得するよう等指令するとき(すなわち、サーバが当該他のサ ーバに対してサーバとして接続している状態のとき)、プッシュポートを通じて強制的 に当該他のサーバに指令を送信できる。
[0031] 好ましくは、クライアントはサーバからグローバルリストを取得するための第 1のコマ ンドポートで接続を確立する手段と、サーバから選択されたコンテンツを取得するた めの第 2のコマンドポートで接続を確立する手段とを備える。
[0032] この場合、グローバルリストを取得するための第 1のコマンドポートと、コンテンツを 取得するための第 2のコマンドポートとの 2つのコマンドポートで接続を確立すること で、トラフィックの混雑を緩和できる。すなわち、グローバルリストを取得している最中 にコンテンツを取得しても、グローバルリスト及びコンテンツを速やかに受信できる。ま た、グローバルリストを取得するためのサーバと、コンテンツを取得するためのサーバ とが異なる場合であって、グローバルリストを取得するためのサーバとの接続を切断し た後にコンテンツを取得するためサーバに接続したとき、コンテンツを取得するため のサーバとの接続に失敗すると、クライアントはネットワークから離脱することになる。 第 1及び第 2のコマンドポートで接続を確立しておけば、このような事態を防ぐことが できる。
[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のクライアントに再生指示を送信できる。
[0048] 本発明によるネットワーク AVシステムは、センタサーバと、サブサーバと、センタサ ーバ及び Z又はサブサーバに接続可能な 1又は複数のクライアントとを備えたネット ワーク AVシステムであって、センタサーバ及びサブサーバの各々は複数のコンテン ッを蓄積するための蓄積手段を備える。センタサーバはさらに、センタサーバ及びサ ブサーバが蓄積する複数のコンテンツを列挙したグローバルリストを記憶するための グローバルリスト記憶手段と、グローバルリスト送信手段とを備える。グローバルリスト 送信手段はグローバルリストをクライアントに送信する。
[0049] 本発明によるネットワーク AVシステムでは、センタサーバは、センタサーバ及びサ ブサーバが蓄積する複数のコンテンツを列挙したグローバルリストをクライアントに送 信する。そのため、クライアントはコンテンツが蓄積されたサーバ(センタサーバ及び サブサーノく)ごとにコンテンツのリストを要求する必要がなぐグローバルリストに基づ いて所望のコンテンツを容易に見つけることができる。
[0050] 好ましくは、クライアントは、コンテンツ要求手段を備える。コンテンツ要求手段は送 信されたグローバルリストの中力 選択されたコンテンツをセンタサーバ又はサブサ ーバに要求する。センタサーバ又はサブサーバの少なくとも 1つはさらに、コンテンツ 返信手段を備える。コンテンツ返信手段はクライアントからの要求に応じて選択され たコンテンツをクライアントに返信する。クライアントはさらに再生手段を備える。再生 手段はセンタサーバ又はサブサーバから返信されたコンテンツを再生する。
[0051] この場合、クライアントは、複数のサーバ(センタサーバ及びサブサーバ)に蓄積さ れた複数のコンテンツの中から所望のコンテンツを容易に選択できる。選択されたコ ンテンッはサーバからクライアントに送信され、クライアントはそのコンテンツに基づい て音声又は映像を再生できる。
[0052] 好ましくは、コンテンツ要求手段は、選択されたコンテンツをセンタサーバに要求し 、センタサーバは、コンテンツ返信手段を備え、センタサーバはさらに、サーバ特定 手段と、コンテンツ取得手段とを備える。サーバ特定手段はクライアントからの要求に 応じてグローバルリストに基づいて選択されたコンテンツを蓄積するサーバを特定す る。コンテンツ取得手段は、特定されたサーバがセンタサーバの場合、 自己の蓄積手 段から選択されたコンテンツを取得し、特定されたサーバがサブサーバの場合、その サブサーバの蓄積手段から選択されたコンテンツを取得する。コンテンツ返信手段は 、コンテンツ取得手段により取得されたコンテンツをクライアントに返信する。
[0053] この場合、クライアントはセンタサーバに選択されたコンテンツを要求する。センタサ ーバはクライアントからの要求に応じて選択されたコンテンツを蓄積するサーバ(セン タサーバ及びサブサーバ)をグローバルリストに基づいて特定し、特定したサーバか らコンテンツを取得し、クライアントに取得したコンテンツを返信する。すなわち、セン タサーバはクライアントとサブサーバとの間の中継機能を有する。この結果、クライア ントはセンタサーバと接続すれば、グローバルリストもコンテンツも取得できる。 [0054] 好ましくは、グローバルリストは複数のコンテンツに対応して複数のコンテンツが蓄 積された複数のサーバのアドレスを含み、サーバ特定手段は、コンテンツ要求手段 により要求されたコンテンツを蓄積したサーバのアドレスを特定する。
[0055] この場合、センタサーバはグローバルリストに含まれるサーバのアドレス力、らコンテン ッを蓄積するサーバ(センタサーバ及びサブサーバ)を容易に特定できる。
[0056] 好ましくは、グローバルリストは複数のコンテンツに対応してコンテンツが蓄積された 複数のサーバのアドレスを含み、コンテンツ要求手段は、選択されたコンテンツを、グ ローバルリストに基づいて特定したサブサーバに要求する。
[0057] この場合、クライアントは選択されたコンテンツを蓄積するサーバ(センタサーバ及 びサブサーノ )をグローノルリストから容易に特定できる。その結果、選択されたコン テンッを蓄積するサーバへクライアントが直接コンテンツを要求できる。
[0058] 好ましくは、センタサーバ及びサブサーバの各々はさらに、 自己が蓄積するコンテ ンッを列挙したローカルリストを記憶するためのローカルリスト記憶手段を備える。サ ブサーバはさらに、ローカルリスト送信手段を備える。ローカルリスト送信手段はロー カルリストをセンタサーバに送信する。センタサーバはさらに、グローバルリスト更新手 段を備える。グローバルリスト送信手段は自己のローカルリストとサブサーバから送信 されたローカルリストとに基づいて、グローバルリストを更新する。
[0059] この場合、センタサーバはサブサーバからローカルリストを取得し、 自己のローカル リスト及び当該他のサーバのローカルリストからグローバルリストを更新できる。
[0060] 好ましくは、ローカルリスト送信手段は、 自己のローカルリストが更新されるごとにセ ンタサーバに更新されたローカルリストを送信し、グローバルリスト更新手段は、 自己 のローカルリストが更新されるごとに、又は更新されたローカルリストを受信するごとに 、グローバルリストを更新する。
[0061] この場合、センタサーバはサブサーバから最新のローカルリストを取得し、自己の最 新のローカルリストと合わせてグローバルリストを最新のものに更新できる。
[0062] 好ましくは、サブサーバはさらに離脱通知手段を備える。離脱通知手段は、サブサ ーバがネットワーク AVシステムから離脱する前に、センタサーバに離脱通知を送信 する。グローバルリスト更新手段は、離脱通知に応じて離脱通知を送信したサーバの ローカルリストを削除するようグローバルリストを更新する。
[0063] この場合、離脱したサブサーバのローカルリストは、そのサーバが離脱したときにグ ローバルリストから削除される。
[0064] 好ましくは、グローバルリスト送信手段は、グローバルリスト更新手段がグローバルリ ストを更新するごとに更新されたグローバルリストをクライアントに送信する。
[0065] この場合、センタサーバはグローバルリストが更新されるたびに、最新のグローバル リストをクライアントに送信する。その結果、クライアントは最新のグローバルリストに基 づいて所望のコンテンツを選択できる。
[0066] 好ましくは、センタサーバは、センタサーバとサブサーバとの間でコマンドを送受信 するためのコマンドポートで接続を確立するための手段と、サブサーバからセンタサ ーバに要求を強制的に送信するためのプッシュポートで接続を確立するための手段 とを備える。
[0067] この場合、センタサーバがサブサーバのローカルリストやコンテンツを要求するとき( すなわち、センタサーバがサブサーバに対してクライアントとして接続している状態の とき)、コマンドポートでサーバ間を送受信し、ローカルリストやコンテンツを取得できる
。また、センタサーバがサブサーバに対して指令や通知を送信するとき(すなわち、セ ンタサーバがサブサーバに対してサーバとして接続している状態のとき)、プッシュポ ートを通じて強制的にサブサーバに指令や通知が送信される。
[0068] 好ましくは、センタサーバ及びサブサーバの各々はさらに、 自己が蓄積するコンテ ンッを列挙したローカルリストを記憶するためのローカルリスト記憶手段を備える。セ ンタサーバはさらに、サブサーバからローカルリストを取得するための第 1のコマンド ポートで接続を確立する手段と、第 1のコマンドポートで接続を確立後、サブサーバ のローカルリストを取得する手段と、取得したローカルリストと自己のローカルリストとに 基づいてグローバルリストを更新する手段と、サーバ特定手段により特定されたサブ サーバから選択されたコンテンツを取得するための第 2のコマンドポートで接続を確 立する手段とを備える。
[0069] この場合、センタサーバがサブサーバ力 ローカルリストを取得するための第 1のコ マンドポートと、サブサーバ力、らコンテンツを取得するための第 2のコマンドポートとの 2つのコマンドポートで接続を確立することで、トラフィックの混雑を緩和できる。すな わち、ローカルリストを取得している最中にコンテンツを取得していても、ローカルリス ト及びコンテンツを速やかに受信できる。
[0070] 好ましくは、クライアントは、センタサーバからグローバルリストを取得するための第 1 のコマンドポートで接続を確立する手段と、センタサーバから選択されたコンテンツを 取得するための第 2のコマンドポートで接続を確立する手段とを備える。
[0071] この場合、クライアントがセンタサーバからグローバルリストを取得するための第 1の コマンドポートと、センタサーバからコンテンツを取得するための第 2のコマンドポート との 2つのコマンドポートで接続を確立することで、トラフィックの混雑を緩和できる。 すなわち、グローバルリストを取得している最中にコンテンツを取得していても、グロ 一バルリスト及びコンテンツを速やかに受信できる。
[0072] 好ましくは、センタサーバはさらに引継通知手段を備える。引継通知手段は、センタ サーバがその動作を終了する場合、センタサーバの動作を引継ぐ引継サーバに接 続するようクライアントに指令する。
[0073] この場合、クライアントは引継通知手段による指令を受け、引継サーバに速やかに 接続できる。
[0074] 好ましくは、センタサーバはさらに引継サーバ選択手段とセンタサーバ引継命令手 段とを備える。引継サーバ選択手段は引継サーバをサブサーバから選択する。セン タサーバ引継命令手段は引継サーバ選択手段により選択されたサブサーバにセン タサーバの動作を引き継ぐように指令する。
[0075] この場合、センタサーバはサブサーバの中からセンタサーバの動作を引き継ぐ引継 サーバを選択し、引継サーバにセンタサーバの動作を引き継ぐように指令する。その 結果、センタサーバが動作を終了しても、他のサーバ(サブサーバ)がセンタサーバと して機能する。
[0076] 好ましくは、センタサーバはさらに、コンテンツ取得手段により取得されたコンテンツ をクライアントに返信中に動作を終了する場合、クライアントに返信したコンテンツの データ長を算出する算出手段と、算出手段により算出されたデータ長に基づいて、ク ライアントが引継サーバから取得しょうとするコンテンツが格納されているアドレスを示 す取得開始アドレスを決定する手段とを備え、引継通知手段は、クライアントに取得 開始アドレスを通知する。
[0077] この場合、サーバはクライアントに既に返信したコンテンツのデータ長を算出し、算 出されたデータ長に基づいて、クライアントが引継サーバから(又は引継サーバを中 継して他のサブサーバから)取得すべきコンテンツデータの取得開始位置(アドレス) を特定できる。その結果、クライアントは引継サーバからコンテンツの続きを速やかに 取得できる。
[0078] 好ましくは、センタサーバはさらに、コンテンツ返信手段により自己が蓄積するコン テンッをクライアントに返信中に動作を終了する場合、引継サーバにコンテンツを送 信する手段を備える。
[0079] この場合、クライアントに自己が蓄積するコンテンツを返信中のセンタサーバがその 動作を終了する場合、センタサーバは引継サーバに返信中のコンテンツを送信する
。クライアントは引継サーバに対してそのコンテンツの返信の続きを要求すれば、コン テンッの再生を継続できる。
[0080] 好ましくは、センタサーバは、サブサーバの識別情報を含むサーバリストを記憶する ためのサーバリスト記憶手段を備え、引継サーバ選択手段は、サーバリストに基づい て引継サーバを選択する。
[0081] この場合、サーバはサーバリストに記憶されたサーバから引継サーバを選択できる
[0082] 好ましくは、複数のクライアントは第 1のクライアントと第 2のクライアントとを含む。第 1のクライアントは再生指示手段を備える。再生指示手段は、送信されたグローバルリ ストの中から選択されたコンテンツの再生指示をセンタサーバを介して第 2のクライア ントに送信する。第 2のクライアントはコンテンツ要求手段を備える。コンテンツ要求手 段は、再生指示に応じて選択されたコンテンツをセンタサーバ又はサブサーバに要 求する。センタサーバ又はサブサーバの少なくとも 1つはさらにコンテンッ返信手段を 備える。コンテンツ返信手段は、第 2のクライアントからの要求に応じて選択されたコ ンテンッを第 2のクライアントに返信する。第 2のクライアントはさらに再生手段を備え る。再生手段はセンタサーバ又はサブサーバから返信されたコンテンツを再生する。 [0083] この場合、第 1のクライアントはグローバルリストに基づいて選択されたコンテンツを 第 2のクライアントに再生させることができる。要するに、第 1のクライアントは第 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を表示した力 S、オーディオクライアント CLは少なくとも 1つ存在すれば よい。
[0090] これらは、 LAN (ローカルエリアネットワーク) 50により相互に接続される力 これに 限定されることなぐ USB、 IEEE1394など、コンピュータネットワークを構築するのに 適切なものを採用すればよい。 LANを採用する場合、 PC (パーソナルコンピュータ) で標準的な TCP/IPプロトコルを採用するのが好ましいが、 UDPプロトコルなどを採 用してもよぐプロトコルは特に限定されなレ、。また、この図では LAN50の基幹配線 力 枝分かれするようにサーバ SVやオーディオクライアント CLが接続されてレ、るが、 たとえば 10BASE—Tや 100BASE—TXの場合にはハブを中心にしてスター状に接 続される。
[0091] サーバ SV1の HDD (ハードディスクドライブ) 14は、複数の曲データ Mi l— Mln ( nは自然数)を含む。サーバ SV2の HDD14は複数の曲データ M21— M2n、サー バ SV3の HDD14は複数の曲データ M31— M3nを含む。
[0092] さらに、各サーバ SV1— SV3の HDD14内にはグローバルリスト GLが蓄積される。
グローバルリスト GLとは、各曲データの曲名、アーティスト、ジャンル等をリストイ匕した ものである。グローバルリスト GLは LAN50に属する複数のサーバ SV1— SV3が蓄 積する曲データ Mi l— Mln, M21— M2n, M31— M3nのリストを備える。曲デー タ Mi l— Mlnのリストをローカルリスト LL1、曲データ M21— M2nのリストをロー力 ノレリスト LL2、曲データ M31— M3nのリストをローカルリスト LL3とすると、サーバ SV 1一 SV3の HDD14に蓄積されるグローバルリスト GLはローカルリスト LL1一 LL3を 含む。
[0093] 各サーバ SVは自己が蓄積する曲データを更新したとき、更新後のローカルリスト L L1一 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は曲データ Mi l— Mlnを保存する。サー バ SV2及びサーバ SV3もサーバ SV1と同じ構造である。サーバ SV1— SV3は相互 に接続される。
[0099] HDD14には表 1に示すサーノくリストが格納される。
[0100] [表 1] サーバリスト
Figure imgf000021_0001
[0101] 表 1を参照して、サーバリストはサーバ IDとサーバ情報とを含む。サーバ IDはサー バ SV1と接続した他のサーバ SV2又は SV3の識別子である。サーバ IDはサーバ S VIの接続要求に応答した順番に登録される。サーバ SV1の接続要求に初めに応答 したのがサーバ SV2であり、次に応答したのがサーバ SV3である場合、表 1に示すよ うに、サーバ ID = 1にはサーバ SV2のサーバ情報が登録され、サーバ ID = 2には、 サーバ SV3のサーバ情報が登録される。
[0102] 続いて、サーバ情報の一例としてサーバ SV2のサーバ情報を示す。
[0103] [表 2] サーバ情報
Figure imgf000022_0001
[0104] 表 2を参照して、サーバ情報はサーバ特定情報とサーバ名とローカルリスト LL2とを 含む。サーバ特定情報は、サーバ SV2の場所を特定するためのサーバアドレスゃポ ート番号等を含む。サーバアドレスとは、そのサーバ SVの IP (Internet Protocol)アド レスや MACアドレス等である。ローカノレリスト LL2は、サーバ SV2に格納されている 曲データ M21— M2nのリストである。表 3にローカルリスト LL2を示す。
[0105] [表 3]
口一カルリスト LL2 曲情報 122
曲情報 I2n
[0106] 表 3を参照して、ローカノレリスト LL2は、サーバ SV2がその HDD14内に蓄積する 複数の曲データ M21— M2nに関する曲情報 121— I2nを含む。表 4に曲情報 I2nの 詳細を示す。
[0107] [表 4] 曲情報 I2n
Figure imgf000023_0001
[0108] 表 4を参照して、曲情報 I2nはファイル名と、曲名と、アーティスト名と、アルバム名と 、ジャンル名と、曲の長さ(時間)と、ファイルフォーマットと、曲 IDと、サーバ特定情報 とを含む。ファイル名には、当該曲データ Mが格納されている HDD14のフルパス名 が記録される。
[0109] HDD14はさらに、表 5に 十々 ノアソ "
[0110] [表 5] クライアントリスト
Figure imgf000023_0002
[0111] クライアントリストは、サーバ SVl t 接続された機器に関する情報( クライアント情報)を含む。サーバ SV1【 接続される機器は、オーデ ィォクライアント CLやサーバ SVである。
対応して登録される 、サーバ SV1に接続された機器ごと に付与される識別子である。
クライアント情報を表 6に示す,
[0112] [表 6] クライアン卜情報
Figure imgf000024_0001
[0113] 表 6を参照して、クライアント情報中の「flag」はサーバ SV1との接続の有無を示す。
接続がある場合、「flag」はセットされ、接続がない場合「flag」はリセットされる。 「type 」はサーバ SV1に接続された機器のクライアントタイプを示す。サーバ SV1に接続さ れた機器がオーディオクライアント CLであれば、クライアントタイプは「オーディオクラ イアント」である。接続された機器がサーバ SVであれば、クライアントタイプは「サーバ 」である。
[0114] 「status」以降の情報は、クライアントタイプが「オーディオクライアント」である場合に 記録される。「status」は、再生、停止、完了、一時停止、早送り、巻き戻し等の現在の ステータス(状態)である。 「volume」は現在のボリューム値(音量)を示す。 「productID 」はクライアントタイプごとに付与されたプロダクト ID (機種情報)である。 「firmWareID」 はオーディオクライアント CLにインストールされているファームウェアのバージョンを 示すファームウェア IDである。 rhostnamejはクライアント機器に付与されたクライアン ト名である。 「songID」は、再生中の曲を識別するための曲 IDである。 「curKey」は、再 生中の曲リストを作成するために必要なリスト構築キーである。
[0115] リスト構築キーは、フィルタの種類と、キーワードとを含む。フィルタの種類には、タイ トル名、ジャンル名、アーティスト名、アルバム名、ファイル名等がある。たとえばフィ ルタの種類がアーティスト名の場合、キーワードには所望のアーティストの名称が記 録される。リスト構築キーでグローバルリスト GLを検索することにより所望の曲リストを 作成することができる。詳細は前述した先行出願 1に開示されている。
[0116] サーバ SVの HDD14はさらに、表 7に示すプレゼンテー > 含む。
[0117] [表 7] プレゼンテーションコンテンツリス卜 PL
曲情報の格納場所
曲情報 11 1の格納場所 曲情報 11 nの格納場所
曲情報 121の格納場所 曲情報 I2nの格納場所
曲情報 131の格納場所 曲情報 I3nの格納場所
[0118] 表 7を参照して、プレゼンテーションコンテンツリスト PLは各ローカルリスト LL1一 LL 3内の複数の曲データ(Mi l— Mln, M21— M2n, M31— M3n)の曲情報 111一 Iln, 121— I2n, 131— I3nの格納場所、すなわち、 HDD14内のどの場所に格納さ れているかを記録する。サーバ SV1がオーディオクライアント CLからグローバルリスト GLの要求を受けたとき、サーバ SV1はプレゼンテーションコンテンツリスト PLに基づ いて、表 8に示すグローバルリスト GLを更新 (作成)し、オーディオクライアント CLに 送信する。
[0119] [表 8]
グロ一バルリスト GL
ftit報 I
fflffl¾I1 1
曲情報 11 n
曲情報 121
曲情報 I2n
曲情報 131
曲情報 13 n
[0120] 表 8を参照して、グローバルリスト GLはローカルリスト LL1一 LL3の曲情報 111一 II n, 121— I2n, 131— I3nを含む。
[0121] 1. 2. 2.オーディオクライアントの構成
[0122] 図 4を参照して、オーディオクライアント CLは、ネットワークプロトコル処理部 24及び システム動作部 26を含むマイコン処理部 28と、フラッシュメモリ 30と、順次入力され た圧縮デジタル曲データ等を一時的に記憶して順次出力するメモリ 32と、圧縮デジ タル曲データをデコードして非圧縮デジタル曲データを生成する音声処理部 34と、 デジタル曲データをアナログ曲データに変換する DZA変換器 (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内のサーバリストをクリアする(Sl)。続いて、サーバ SV1は、 LAN 50で稼働している他のサーバ SVを探索する。具体的には、サーバ SV1はたとえば UDPプロトコルにより、コマンドポートで予め定められたマジックワードを LAN50にブ ロードキャストする(S2)。 LAN50ではサーバ SV2及びサーバ SV3が稼働している ので、サーバ SV2及びサーバ SV3はステップ S2でブロードキャストされたマジックヮ ードをサーチポートで受信し、ブロードキャストしたサーバ SV1に同じマジックワード を返信する。このとき、サーバ SV2及び SV3は自身を特定するためのサーバ特定情 報 (IPアドレス)をサーバ SV1に送信する。
[0127] 続いて、サーバ SV1は、マジックワード送信後の経過時間を計測するためのタイマ をリセットし(S3)、その後、マジックワードの返信を受けたか否かを判断する(S4)。マ ジックワードの返信を受けた場合 (他のサーバ SVを発見した場合)、サーバ SV1はそ のサーバ SVのサーバ特定情報をサーバリストに記録する(S5)。このとき、サーバ S VIはマジックワードを返信したサーバ 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— S 12)。
[0131] 初めに、カウント値 n= lとし(S8)、サーバリストに登録されたサーバ数力 ¾以上か 否力を判断する(S9)。判断の結果、サーバリストに登録されたサーバ数が n以上で ある場合、サーバ SV1はサーバ ID = 1のサーバ SVのローカルリスト LLを取得する( S10)。このローカルリスト取得処理については後述する。ローカルリスト取得処理を 実行後、カウント値 nをカウントアップし(S12)、ステップ S9に戻ってローカルリスト取 得処理を継続する。すなわち、サーバリストに登録された全てのサーバ SV (SV2, S V3)のローカルリスト LL (LL2, LL3)を取得するまでローカルリスト取得処理は継続 される。ここで、ステップ S10のローカルリスト取得処理について説明する。
[0132] サーバ SV1がサーバ SV2のローカルリスト LL2を取得する場合、図 6を参照して、 サーバ SV1は初めにサーバ SV2との接続を確立し(接続処理: S 1000)、その後口 一力ルリスト LL2を取得する(リスト取得処理: S1010)。 [0133] サーバ SV1が接続処理(S1000)を実行するとき、サーバ SV2は接続応答処理(S 1020)を実行する。具体的には、サーバ SV1は、 TCP(Transmission Control Protocol)に従い、サーバリストに登録されたサーバ SV2の IPアドレス及びコマンドポ ートに基づいてソケットを生成し、このソケットでサーバ SV2に接続を要求する(S100 1)。コマンドポートは、サーバ SV1からサーバ SV2へのコマンドを受信し、かつサー バ SV2からサーバ SV1への応答を送信するためのポートである。サーバ SV2はコマ ンドポートでの接続を受け付け(S1021)、これによりサーバ SV1はサーバ SV2のコ マンドポートに接続を確立する。
[0134] 続いて、サーバ SV1はコマンドポートにクライアントインデックス要求コマンドを送信 する(S1002)。サーバ SV2はクライアントインデックス要求コマンドに応答してコマン ドポートからクライアントインデックスをサーバ SV1に返信し(S1022)、サーバ SV1は これを受信する(S1003)。クライアントインデックス要求コマンドは、サーバ SV1がサ ーバ SV2にクライアントインデックスを要求するコマンドである。
[0135] 続いて、サーバ SV1は、 TCPに従レ、、サーバ SV2の IPアドレス及びプッシュポート でソケットを生成し、このソケットでサーバ SV2に接続を要求する(S 1004)。プッシュ ポートは、サーバ SV2からサーバ SV1への要求を送信するためのポートである。サ ーバ SV2はプッシュポートでの接続を受け付け(S1023)、これによりサーバ SV1は サーバ SV2のプッシュポートに接続を確立する。ただし、この時点ではまだ、サーバ SV2はプッシュポートに接続されたものがどのサーバ SVか又はどのオーディオクライ アント CLか特定できていない。そのため、サーバ SV1はステップ S1003で受信した
Figure imgf000028_0001
サーバ SV1であると特定する(S1024)。プッシュポートの接続を確立後、サーバ SV 1はサーバ SV2に対して自身のクライアント情報を送信する(S1006)。サーバ SV2 は送信されたクライアント情報を受信し、表 5に示すクライアントリストに登録する。
[0136] サーバ SV1が接続処理(S1000)を実行し、サーバ SV2が接続応答処理(S1020 )を実行した結果、サーバ SV1がサーバ SV2に接続されると、サーバ SV1はサーバ SV2のローカルリスト LL2を取得する(リスト取得処理: S1010)。このとき、サーバ SV 2はローカルリスト LL2を送信する(リスト送信処理: S1030)。具体的には、サーバ S VIはコマンドポートを用いてローカルリスト 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を送信する(ローカルリ スト送信処理: Sl l)。以下、ステップ S11のローカルリスト送信処理の詳細を説明す る。
[0139] 図 7を参照して、サーバ SV1はステップ S10にて全てのサーバ SVのローカルリスト LLを取得した後、準備 OKコマンドをブロードキャストする(S1101)。 LAN50上のサ ーバ SV2、 SV3はサーバ SV1からブロードキャストされた準備 OKコマンドを受けた 後、サーバ SV1に対し、接続処理(S1000)を実行する。このときサーバ SV1は接続 応答処理(S1020)を実行する。サーバ SV2、 SV3はサーバ SV1との接続を確立後 、リスト取得処理(S1010)を実行する。これに対しサーバ SV1はリスト送信処理(S1 030)を実行し、サーバ SV1が有するローカルリスト LL1をサーバ SV2、 SV3に送信 する。
[0140] 以上の動作によりサーバ SV2、 SV3はサーバ SV1のローカルリスト LL1を取得でき る。よって、各サーバ SVは、 LAN50上の複数のサーバ SVが有するローカルリスト L Lを全て蓄積する。
[0141] なお、図 7において、サーバ SV1は準備〇Kコマンドをブロードキャストする前であ つても、他のサーバ 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は自身の動作を終了する動作終了が選択されたか否か判断する(S 15) 。動作を終了するか否かの選択は、たとえばそのサーバ 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に対してリスト送信処理を実行し(S1 030)、ローカルリスト LL1を送信する。ローカルリスト LL1を送信後、サーバ SV1はス テツプ S1020で接続された装置がサーバ SVカ^ライアント CLかを判断する(S102) 。このときサーバ SV1はクライアントリストに登録したクライアント情報内の「type」(クラ イアントタイプ)を参照して判断する。判断の結果、接続された装置が起動サーバ SV であるため、サーバ SV1は起動サーバ SVからローカルリスト LLを取得し、サーバリス トにサーバ情報を登録する。グローバルリスト GLを更新するためである。よって、サー バ SV1は起動サーバ SVに対して接続処理(S 1000)を実行する。接続処理実行後 、サーバ SVは接続が成功したか否かを判断する(S103)。起動サーバ SVが準備〇 Kコマンドをブロードキャストする前(すなわち、起動サーバ SVがサーバ SV1との接 続を確立し、ローカルリスト LL1を取得後、他のサーバ SVのローカルリスト LLnの取 得処理を実行中であるとき)、サーバ SV1が起動サーバ SVに接続処理(S1000)を 実行しても接続は失敗する。この場合、サーバ SV1は起動サーバ SVから準備〇Kコ マンドを受けた後(S104)、再び接続処理を実行する(S1000)。接続に成功した場 合、サーバ SV1は起動サーバ SVからローカルリスト LLを取得すべくリスト取得処理 を実行する(S1010)。起動サーバ SVのローカルリスト LLを取得した後、サーバ SV は接続動作を終了する。
[0147] 以上の動作により、サーバ SV1は新たに起動したサーバ SVのローカルリスト LLも 取得できる。
[0148] 1. 3. 2. 2.オーディオクライアントとの接続動作
[0149] LAN50上のオーディオクライアント CL2がグローバルリスト GLを取得すベぐサー バ SV1に接続を要求する場合もある。このようなオーディオクライアント CLからの接 続依頼処理(S 120)に対して、サーバ SV1は接続動作(S 110)を実行する。図 10を 参照して、オーディオクライアント CL2がサーバ SV1に対して接続処理を実行したと き(S1000)、サーバ SV1は接続応答処理を実行する(S1020)。このとき、サーバ S VIはクライアントリストにオーディオクライアント CL2のクライアント情報を登録する。
[0150] サーバ SV1が接続応答処理を実行後(S1020)、オーディオクライアント CL2はグ ローバルリスト GLの要求コマンドをコマンドポートを用いてサーバ SV1に送信する(S 105)。サーバ SV1はオーディオクライアント CL2からのグローバルリスト要求コマンド を受け、プレゼンテーションコンテンツリスト PLに基づいてグローバルリスト GLを作成 する(S106)。具体的には、プレゼンテーションコンテンツリスト PLに登録された複数 の曲情報 Iの格納場所から曲情報 Iを取得し、全ての曲情報 Iをリスト化してグローバ ノレリスト GLを作成する。グローバルリスト GLを作成後、サーバ SV1はオーディオクラ イアント CL2にそのグローバルリスト GLを送信する(S107)。オーディオクライアント C L2はグローバルリスト 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から取得したグローバルリスト G Lを参照し、聴きたい曲を選択する。グローバルリスト GLを参照後、ユーザが曲デー タ M31を選択した場合、図 11を参照して、オーディオクライアント CL2は選択された 曲データ M31を蓄積するサーバ SV3に対して曲データ M31を要求する配信依頼 処理を実行する(S240)。オーディオクライアント CL3が要求する曲データ M31を蓄 積するサーバ SV3は配信動作(S200)を実行する。
[0155] 図 11を参照して、オーディオクライアント CL2はサーバ SV3に対して接続処理を実 行する(S1000)。グローバルリスト GLには、曲データが蓄積されるサーバ SVを特定 するためのサーバ特定情報(IPアドレス及びポート番号)が記録されている。オーディ オクライアント CL2は選択された曲データ M31の曲情報 131内に登録されたサーバ 特定情報に基づいて、サーバ SV3に対して接続処理を実行する。サーバ SV3はォ 一ディオクライアント CL2に対して接続応答処理(S 1020)を実行する。これにより、 曲データ M31を配信するための接続が確立する。なお、このとき、サーバ SV1は接 続動作(S 100)において確立したオーディオクライアント CL2との接続を維持する。 つまり、オーディオクライアント CL2はサーバ SV1とサーバ SV3とに接続を確立した ことになる。オーディオクライアント CL2がサーバ SV1との接続を切断した後にサー バ SV3との接続を試みた結果、接続に失敗した場合、オーディオクライアント CL2は LAN50から離脱してしまう。そのような事態を防止するために、サーバ SV1はォー ディオクライアント CL2との接続を維持しておく。
[0156] サーバ SV3とオーディオクライアント CL2との接続が確立した後、オーディオクライ アント CL2はコマンドポートを介して表 9に示す曲データ転送要求コマンドを送信す る(S221)。
[0157] [表 9]
Figure imgf000033_0001
[0158] この曲データ転送要求コマンドは、転送すべき曲データ M31の取得開始アドレス 及び取得データ長を含む。サーバ SV3は曲データ M31の転送要求コマンドに応答 して、取得開始アドレスにより指定された先頭アドレスからその取得データ長分だけ 曲データ M31のデータをオーディオクライアント CL2に配信する(S201)。オーディ オクライアント CL2は配信された曲データ M31のデータをメモリ 32に格納する。メモリ 32は図 12に示すように複数(図 12では 8つ)のバッファを含む。図 13に示すように、 オーディオクライアント CL2は曲データ転送要求コマンドで曲の先頭から 1バッファ分 (=取得データ長)の曲データを取得して格納する(S222)。格納後、オーディオクラ イアント CL2はメモリ 32のバッファが全て曲データで坦まったか判断し(S223)、図 1 4に示すようにバッファが全て埋まるまで曲データを取得して格納する。
[0159] ステップ S221 S223を繰り返し、バッファが曲データで全て坦まったら、オーディ オクライアント CL2は再生を開始する(S224)。具体的には、図 15に示すように、先 頭バッファから曲データを音声処理部 34に出力し始める。曲データを出力して再生 していると、やがて図 16に示すように 1バッファ分の空きが生じる。メモリ 32に空きが 生じると(S225)、オーディオクライアント CL2は再び曲データ転送要求をサーバ SV 3に送信し (S226)、サーバ SV3は要求分の曲データを配信する(S202)。オーディ オクライアント CL2は配信された曲データをメモリ 32の空いたバッファに格納する(S 227)。格納後、オーディオクライアント CL2は曲データ M31を全て受信したか否か 確認する(S228)。曲データ M31を全て受信していない場合、すなわち、サーバ SV 3が曲データ M31の全データを未だオーディオクライアント CL2に送信していない場 合、オーディオクライアント CL2及びサーバ SV3は再生によりメモリ 32に空きが生じ るたびにステップ S226、 S202、 S227を繰り返す。なお、上記では、バッファが曲デ ータで全て埋まってから再生を開始してレ、るが、全て埋まる前に再生し始めてもょレヽ
[0160] オーディオクライアント CL2がサーバ SV3から曲データ M31を全て受信した場合( S228)、オーディオクライアント CL2は曲データ M31を全て再生するまで再生動作 を継続する(S 229)。
[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を削除する(S3 02)。その後、ステップ S301で更新されたローカルリスト LL1に対応した新たなプレ ゼンテーシヨンコンテンツリスト PLを作成する(S303)。
[0166] 新たなプレゼンテーションコンテンツリスト PLを作成後、サーバ SV1に対して接続 を確立してレ、る全てのサーバ SV及びオーディオクライアント CLに対し、リスト更新通 矢口を行う(S304— S307)。具体白勺には、サーノ SV1はカウント値 n= lとし(S304)、 nがクライアントリストに登録されたクライアント数よりも多レ、か否か判断する(S305)。 判断の結果、クライアント数力 以上であった場合、サーバ SV1はクライアントインデ ックス =nのサーバ SV又はオーディオクライアント CLに対してリスト更新通知を送信 する(S306)。通知後、サーバ SV1は nをカウントアップし(S307)、ステップ S305に
[0167] 以上の動作を繰り返すことにより、サーバ SV1に対して接続を確立している全ての サーバ SV及びオーディオクライアント CLに対してリスト更新通知を送信できる。ステ ップ S305でクライアント数よりも nが大きい場合、サーバ SV1はクライアントリスト中の 全てのサーバ SV及びオーディオクライアント CLに対して通知したため、その動作を 終了する。
[0168] [サーバからリスト更新通知を受けたオーディオクライアントの動作]
[0169] 図 18を参照して、サーバ SV1からのリスト更新通知(S306)を受けたオーディオク ライアント CLは、初めに自身力 Sメモリ 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はサーバ S V2からの要求を受信し(S331)、更新されたローカルリスト LL1を送信する(S332) 。サーバ SV2は送信されたローカルリスト LL1を受信し HDD14に登録する(S315 )。登録後、サーバ SV2はプレゼンテーションコンテンツリスト PLを作成する(S316) 。これにより、グローバルリスト GLは更新される。
[0173] プレゼンテーションコンテンツリスト PLを作成後、サーバ SV2は更新されたグローバ ノレリスト GLをサーバ SV2と接続する複数のオーディオクライアント CLに送信するた めに、リスト更新通知処理(S320)を行う。具体的には、サーバ SV2はカウント値 n = 1とした後(S321)、クライアントリストに登録されたクライアント数力 ¾以上であるか否 か判断する(S322)。判断の結果、クライアント数力 ¾以上である場合、サーバ SV2 はクライアントインデックス =nの機器がオーディオクライアント CLであるか否か判断 する(S323)。判断はクライアントリストに登録されたクライアント情報内の「type」(クラ イアントタイプ)に基づいて行う。判断の結果、クライアントインデックス =nの「type」が 「オーディオクライアント」の場合、サーバ SV2はそのオーディオクライアント CLに対 してリスト更新通知を送信する(S324)。送信後、カウント値 nをカウントアップして(S 325)、 S325に戻る。一方、ステップ S323での判断の結果、クライアントインデックス =nの「type」が「サーバ」である場合はリスト更新通知を送信することなくステップ S32 5へ進む。他のサーバ 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を削除する(S31 2)。さらにサーバ SV1は、 HDD14に登録しているローカルリスト LL2を削除する(S 313)。ローカルリスト 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上の他のサーバ S Vに変更する方が好ましい。また、サーバ SV1がオーディオクライアント CLに対して 曲データを配信中に離脱する場合、クライアント CLがその曲データの配信を継続し て受けられるように対処する方が好ましレ、。
[0180] 図 21を参照して、サーバ SV1がその動作を終了する場合、初めにカウント値 n = 0 とし(S401)、サーバ SV1に接続してレ、るオーディオクライアント CL数力 より大きレヽ か否かを判断する(S402)。ステップ S402の判断は、クライアントリストに基づいて行 われる。判断の結果、オーディオクライアント CL数力 以下であった場合、サーバ SV 1にはオーディオクライアント 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に決定する。サーバ SV 1はサーバ切換指示を送信した後、カウント値 nをカウントアップし (S407)、再びステ ップ S402に戻る。
[0183] オーディオクライアント CL2はサーバ SV1からのサーバ切換指示を受けた後(S43 1)、サーバ SV1との接続を切断する(S432)。切断後、オーディオクライアント CL2 は切換指示に従って、サーバ SV2に対して接続処理を実行する(S1000)。このとき 、サーバ SV2は接続応答処理を実行する(S1020)。オーディオクライアント CL2は サーバ SV2と接続を確立後、リスト取得処理を実行する(S1010)。このとき、サーバ SV2はリスト送信処理を実行する(S1030)。以上の動作により、サーバ SV1が動作 を終了しても、オーディオクライアント CL2は接続先をサーバ SV2に切り替えることで 、最新のグローバルリスト GLをサーバ SV2から取得できる。
[0184] 一方、ステップ S403での判断の結果、クライアントインデックス =nのオーディオク ライアント CLが曲データ Mi lを再生中である場合(以降、このオーディオクライアント CLを CL1とする)、サーバ SV1が動作を終了した後も、オーディオクライアント CL1 は曲データ Mi lの配信の続きを受ける必要がある。曲データ Mi lの配信が途切れ たら、オーディオクライアント CL1は曲データ Mi lの再生を途中で終了させなければ ならなくなるからである。よって、サーバ SV1は曲データ Mi lの配信の続きを引継サ ーバ SVに実行させるように対処した後、その動作を終了する。具体的には、サーバ SV1はサーバ S V2に対して曲データ M 11の曲データ弓 [継処理を実行する(S404) 。このときサーバ SV2は曲データ引受処理を実行する(S414)。以下、曲データ引継 処理及び曲データ引受処理について説明する。
[0185] 図 22を参照して、サーバ SV1はサーバ SV2に対してオーディオクライアント CL1に 配信中の曲データ Mi lの登録を要求する(S4041)。サーバ SV2はサーバ SV1か らの要求を受信し(S4111)、曲データ Mi lを格納するために HDD14内に新規曲 I Dを登録する(S4112)。サーバ SV2は新規曲 IDをサーバ SV1に送信する(S4113 )。サーバ SV1は新規曲 IDを受信し、受信した新規曲 IDを付与した曲データ Mi lを サーバ SV2に送信する(ステップ S4043)。サーバ SV2は曲データ Mi lを受信し、 HDD14内の新規曲 IDの領域に格納する(S4114)。以上の動作により、曲データ Mi lはサーバ SV1からサーバ SV2に引き継がれる。
[0186] 図 21に戻って、引継サーバ SVであるサーバ SV2がサーバ SV1から曲データ Ml 1を引き継いだ後、オーディオクライアント CL1が曲データ Mi l中のどの位置からデ ータ配信サーバ SV2に要求すれば良レ、かを決定する必要がある。オーディオクライ アント CL1はサーバ SV1から曲データ Mi lの途中まで配信を受けているため、サー バ SV2から曲データ Mi lを初めから配信してもらう必要はないからである。よって、 サーバ SV1はオーディオクライアント CL1がサーバ SV2から配信してもらう曲データ Mi lの取得開始アドレスを算出する(S405)。具体的には、サーバ SV1はオーディ オクライアント CL2に今まで配信した曲データ Mi lのデータ長を曲データ Mi lの先 頭アドレスに加算した値を取得開始アドレスに決定する。取得開始アドレスを算出後 、サーバ SV1は再生コマンドをオーディオクライアント CL2に送信する(S406)。再 生コマンドには、パラメータとしてサーバ SV2のサーバ特定情報とステップ S405で算 出した取得開始アドレスが含まれる。
[0187] 再生コマンドを送信後、サーバ SV1はカウント値 nをカウントアップし(S407)、再び ステップ S402に戻って動作を繰り返す。これにより、サーバ SV1に接続されている全 てのオーディオクライアント CLに対して終了動作を実行できる。全てのオーディオク ライアント CLに対して終了動作を実行後、すなわち、カウント値 nがクライアント接続 数を超えたとき、 (S402)、サーバ SV1は他のサーバ SVに離脱通知を送信し(S33 5)、その動作を終了する。
[0188] オーディオクライアント CL1はサーバ SV1からの再生コマンドを受信後(S421)、サ ーバ SV1との接続を切断する(S422)。切断後、サーバ SV2に対してクライアント接 続依頼処理(S120)を実行し、サーバ SV2は接続動作(SI 10)を実行することで、 オーディオクライアント CL1はサーバ SV2に対して接続を確立する。その後、オーデ ィォクライアント CL1は配信依頼処理(S240)を実行する。このとき、オーディオクライ アント CL2はステップ S421で受信した取得開始アドレスをパラメータに曲データ転 送要求を行う。サーバ SV2は曲データ転送要求内の取得開始アドレスに基づいて、 配信動作を実行する(S200)。以上の動作によりオーディオクライアント CL2は曲デ ータ Mi lの続きをサーバ SV2から取得でき、曲データ Mi lの再生を継続できる。 [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— S V3の何れかに接続する。図 24では、オーディオクライアント CL1はサーバ SV1に接 続され、オーディオクライアント CL2及び CL3はサーバ SV2に接続されている。つま り、オーディオクライアント CL1はサーバ SV1からグローバルリスト GLを取得し、ォー ディオクライアント CL2及び CL3はサーバ SV2からグローバルリスト GLを取得する。
[0194] 図 23に戻って、コントローラ CNがオーディオクライアント CL2に曲データ M31に基 づく曲を再生させる場合、コントローラ CNはオーディオクライアント CL2に再生コマン ドを送信する。具体的には、コントローラ CNはオーディオクライアント CL2がサーバ S V2と接続されているのを確認した後、サーバ 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 imgf000041_0001
[0199] 表 10を参照して、コントローラ用サーバ情報は、表 2と比較して、ローカルリスト LL の代わりにクライアントリストひ clientlist」)が登録される。クライアントリストには、サーバ SV1— SV3が持つ全てのクライアント情報が登録される。要するに、コントローラ CN はサーバ SV1— SV3が持つ全てのクライアント情報を持つ。そのため、コントローラ C Nはグローバルサーバシステム 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を探索し、サーバ SV 1一 SV3のサーバ特定情報をサーバリストに登録する。
[0205] ステップ S7でサーバリストにサーバ特定情報が登録されていると判断した場合、サ 一バリストに登録されたサーバごとにハンドル取得処理を実行する(S71— S74)。初 めに、カウント値 n= lとし(S71)、サーバリストに登録されたサーバ数力 ¾以上か否か を判断する(S72)。サーバ数力 ¾以上の場合、サーバ SV1はサーバ ID = 1のサーバ SVに対して、ハンドル取得処理を実行する(S73)。ハンドル取得処理を実行後、力 ゥント値 nをカウントアップし(S74)、ステップ S72に戻る。要するに、コントローラ CN は、サーバリストに登録された全てのサーバに対してハンドル取得処理を実行する。 一例として、サーバ SV2に対するハンドル取得処理について説明する。
[0206] 図 27を参照して、コントローラ CNはサーバ SV2に対して接続処理を実行する(S1 000)。このとき、サーバ SV2は接続応答処理を実行する(S1020)。接続処理及び 接続応答処理により、コントローラ CNはサーバ SV2と接続を確立する。なお、接続 処理において、コントローラ CNは、 自身のクライアント情報をサーバ SV2に送信する が、このとき、コントローラ CNは、クライアントタイプが「コントローラ」であることを通知 する。
[0207] 接続を確立後、コントローラ CNはサーバ SV2に対してクライアントリスト要求コマン ドを送信する(S7301)。サーバ SV2はクライアントリスト要求コマンドを受け、 HDD1 4内のクライアントリストをコントローラ CNに送信する(S7302)。サーバ SV2にはォー ディオクライアント CL2及び CL3とコントローラ CNとが接続されているため、ステップ S7302で送信されるクライアントリストには、オーディオクライアント CL2及び CL3のク ライアン M青報と、コントローラ CNのクライアント情報とが含まれる。コントローラ CNは 、クライアントリストを受信後、メモリ 32内のコントローラ用サーノくリストに登録する(S7 303)。より具体的には、コントローラ用サーバリスト内のサーバ SV2のコントローラ用 サーバ情報の「clientlist」に、取得したクライアントリストを登録する。
[0208] クライアントリストを登録後、コントローラ CNは、クライアントリストに基づレ、て、サーバ SV2に接続されているオーディオクライアント CL2及び CL3の監視ハンドル及び制 御ハンドルをサーバ SV2に要求して取得する(S7305 S7311)。監視ハンドルは 、サーバ SVからコントローラ CNに与えられるオーディオクライアント CLを監視する権 限である。また、制御ハンドルは、サーバ SVからコントローラ CNに与えられるオーデ ィォクライアント CLを制御する権限である。 [0209] コントローラ CNは、カウント値 n= lとし(S7304)、クライアントリスト内のクライアント 数力 以上か否かを判断する(S7305)。クライアント数力 以上の場合、コントローラ CNはクライアントインデックス = 1のクライアント情報が自身の情報か否かを判断する (S7306)。 自身のクライアント情報でない場合、そのクライアントインデックス( = 1)を サーバ SV2に送信し、その監視ハンドル及び制御ハンドルを要求する(S7307)。
[0210] サーバ SV2は、コントローラから送信されたクライアントインデックス( = 1)を、コント ローラ CNのクライアントインデックスと対応付けて記録し(S7308)、コントローラ CN に対して監視ハンドル及び制御ハンドルを発行する(S7309)。その結果、コントロー ラ CNはクライアントインデックス = 1に対応したオーディオクライアント CLの監視ハン ドル及び制御ハンドルを取得する(S7310)。
[0211] 続いて、コントローラ CNはカウント値 nをカウントアップし(S7311)、再びステップ S 7305の動作に戻る。要するに、コントローラ CNはクライアントリスト内に登録された全 てのオーディオクライアント CL (ここでは CL2及び CL3)に対して監視ハンドル及び 制御ハンドルを取得する。なお、ステップ S7306での半 U断の結果、クライアントインデ ックス =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中の接続処理(S100 0)を実行することなく任意のサーバ 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に基づいて選択される。
[02251 図 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と同じである。また、図 3 0ではサブサーバ SSVを 2つ(SSV1 , SSV2)としたが、サブサーバ SSVは 1以上あ ればよレ、。また、クライアント CLも 1以上あればよい。
[0234] グローバルリストサーバシステム 10では LAN50上の全てのサーバ SV1 SV3が グローバルリスト GLを有するのに対し、センタサーバシステム 70では、センタサーバ CSVのみがグローバルリスト GLを備える。センタサーバ CSVはさらに曲データ M31 一 M3nとローカルリスト LL3とを備える。一方、サブサーバ SSV1は曲データ Ml 1 Mlnとローカルリスト 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を要求するときは、センタサーバ C SVサーバを介さずに所望の曲データ 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 が接続処理(S 1000)を実行したとき、センタサーバ CSVは接続応答処理(図 6中の S1020と同じ処理)を行う。
[0245] センタサーバ CSVへの接続処理(S1000)後、サブサーバ SSVはセンタサーバ C SVに対し、ローカルリスト送信処理を実行し(S11)、センタサーバ CSVに自身の口 一力ルリスト LLを送信する。ローカルリスト送信処理の詳細は図 7と同じである。なお 、グローバルリストサーバシステム 10でのサーバ SVは他の全てのサーバ SVに対し て接続処理を実行した後に準備〇κコマンドをブロードキャストする力 サブサーバ S SVはセンタサーバ CSVに対して接続処理を実行後に準備 ΟΚコマンドをブロードキ
[0246] 以上の動作により、起動サーバ SVがサブサーバ SSVになる場合、センタサーバ C SVに接続し、自身のローカルリスト LLをセンタサーバ CSVに送信した後、サブサー バ SSVの動作を実行する(S65)。サブサーバ SSVの動作については 2. 2. 3.で説 明する。
[0247] 2. 2. 2.起動処理後のセンタサーバ動作
[0248] 図 33を参照して、センタサーバ CSVは、接続動作(S100, S110)、配信動作(S5 00)、リスト更新動作(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に対し て接続処理を実行する(S 1000)。これに対しセンタサーバ 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に 配信する(S 5015)。 [0256] 以上の動作により S501においてセンタサーバ CSVはオーディオクライアント CL2 に曲データ M21を配信する。
[0257] なお、オーディオクライアント CL2がステップ S224で曲再生を開始した後、ステップ
S226の曲データ転送要求を受けたセンタサーバ CSVは曲データ中継処理を実行 し(S502)、曲データ M21の配信を継続する。
[0258] 以上の動作により、センタサーバ CSVがサブサーバ SSV2とオーディオクライアント
CL2との間を中継することで、オーディオクライアント CL2は曲データ M21を再生で きる。
[0259] なお、クライアント CL2はグローバルリスト GLから曲データ M21はサブサーバ SSV 2に蓄積されていることを認識できるため、クライアント CL2が直接サブサーバ SSV2 に対して配信依頼処理を実行し(S240)、サブサーバ SSV2が配信動作(S200)を 実行してもよレ、。この場合の動作は図 11と同じである。
[0260] 2. 2. 2. 2.リスト更新処理
[0261] センタサーバシステム 70では、グローバルリスト GLを作成するのはセンタサーバ C SVのみである。そのため、センタサーバ 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)、センタサーバ CS Vはオーディオクライアント CL1が再生中の曲データがセンタサーバ CSV自身が蓄 積する曲データであるか否かを判断する(S701)。判断の結果、センタサーバ CSV が蓄積する曲データでない場合、たとえば、オーディオクライアント CL1が曲データ M21を再生していた場合、センタサーバ CSVは曲データ M21の中継処理を行って レ、ることになる。このとき、センタサーバ CSVは取得開始アドレスを算出する(S405) 。取得開始アドレスはセンタサーバ CSVがサブサーバ SSV2から既に取得した曲デ ータ長に基づいて算出される。算出された取得開始アドレスは再生要求コマンド内に 含まれ、オーディオクライアント CL1に送信される(S406)。なお、再生要求コマンド 内には、センタサーバ CSVの引継サーバ SVのサーバ特定情報も含まれる。センタ サーバ CSVは自身が蓄積するサーバリスト内のサーバ ID = 1のサブサーバ SSVを 引継サーバ SVとする。サーバ ID= 1がサブサーバ SSV1の場合、サブサーバ SSV 1はセンタサーバ CSVから離脱通知を受けたときに引継命令も受け、センタサーバ C SVとして動作する。
[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を取得しておき、センタサーバ C SVから引継命令を受けたときセンタサーバとして機能できるように準備する。
[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はサブサーバ S SVには接続できない。
[0281] 次に、マジックワードをブロードキャストしたのが起動サーバ SVであるカ^ライアント CLであるか判断する(S653)。サブサーバ SSVは起動サーバ SV (他のサブサーバ SSV)から探索用のマジックワードを受けるポートと、オーディオクライアント CLから探 索用のマジックワードを受けるポートとを分けているため、ステップ S653の判断がで きる。なお、起動サーバ SVとオーディオクライアント CLの探索用のマジックワードが 異なっていることで、サブサーバ SSVが S653の判断ができるようにしてもよい。
[0282] ステップ S653での判断の結果、ブロードキャストしたのがオーディオクライアント CL である場合、サブサーバ SSV1は接続動作を終了する。一方、判断の結果、ブロード キャストしたのが起動サーバ SV (サブサーバ SSV2とする)である場合、サブサーバ S SV2はサブサーバ SSV1よりも後で起動したことになる。このとき、サブサーバ SSV1 は自分より後に起動したサブサーバ SSV2のサーバ特定情報をサーバリストに登録 する(S654)。サーバ特定情報はマジックワードとともにブロードキャストされる。
[0283] 続いて、サブサーバ SSV1はローカルリスト LL2を取得するため、サブサーバ SSV 2に対して接続処理(S1000)を実行する。起動サーバ SVであるサブサーバ SSV2 がセンタサーバ CSVとの接続処理を実施中(つまり、起動処理中)の場合、サブサー バ SSV1がサブサーバ SSV2に接続処理(S1000)を実行しても接続は失敗する。こ の場合、サブサーバ SSV1はサブサーバ SSV2から準備〇Kコマンドを受けた後(S6 56)、再び接続処理を実行する(S1000)。接続に成功した場合(S655)、サブサー バ SSV1は接続したサブサーバ SSV2からローカルリスト LL2を取得し、 HDD14に 格納する(S 1010)。
[0284] 以上の動作により、サブサーバ SSVは自身が起動した後に起動したサブサーバ S SVのローカルリスト 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が新たな曲データを登録したとき、サブサーバ S SV2は自身より先に起動したセンタサーバ CSV及びサブサーバ SSV1に対してリス ト更新通知を送信する(S555)。サブサーバ SSV1はリスト更新通知を受信後(S556 )、既存のプレゼンテーションコンテンツリスト PLを削除する(S557)。続いて、サブサ ーバ SSV1はサブサーバ SSV2のローカルリスト LL2を削除する(S558)。ロー力ノレ リスト LL2を削除後、サブサーバ SSV1はサブサーバ SSV2に対して更新されたロー カルリスト LL2の転送要求コマンドを送信する(S559)。サブサーバ SSV2は転送要 求コマンドを受信後(S560)、更新されたローカルリスト LL2をサブサーバ SSV1に 送信する(S561)。サブサーバ SSV1は更新されたローカルリスト LL2を受信後(S5 62)、プレゼンテーションコンテンツリスト PLを作成する(S563)。
[0291] 以上の動作により、サブサーバ SSV1はセンタサーバ CSVから引継命令を受けて
、自身がセンタサーバ CSVとして動作することになつても、最新のグローノくルリスト G
Lをクライアント 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)、動作を終了する。一 方、曲データ Mi lを配信中である場合、サブサーバ SSV1は曲データ Mi lの登録 要求コマンドをセンタサーバ CSVに送信する(S752)。センタサーバ CSVは要求コ マンドを受け、 HDD14内に新規曲 IDを登録する(S753)。登録後、センタサーバ C SVは新規曲 IDをサブサーバ SSV1に送信する(S754)。サブサーバ SSV1は新規 曲 IDを受け、曲データ Mi lに新規曲 IDを付与してセンタサーバ CSVに送信する(S 755)。送信後、サブサーバ SSV1は離脱通知を送信して(S757)、動作を終了する 。センタサーバ CSVは曲データ Mi lを受信し、 HDD14内の新規曲 IDが付与され た曲データを格納する場所に曲データ Mi lを登録する(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を介してオーディオクライアント CL 2に再生コマンドを送信する(1)。再生コマンドを受けたオーディオクライアント CL2の 動作は図 31中の(B)及び(C)と同じである。
[0300] 2. 3. 1.システム動作
[0301] コントローラ CNは、センタサーバ CSVと接続し、ハンドル取得処理を実行する。ノ、 ンドル取得処理は図 27と同じである。図 27におけるサーバ SV2の動作をセンタサー バ CSVが実行する。センタサーバシステム 70の全てのオーディオクライアント CL1一 CL3はセンタサーバ CSVと接続されている。そのため、コントローラ CNはセンタサー バ CSVに対してハンドル取得処理を実行すれば、オーディオクライアント CL1一 CL 3の監視ハンドル及び制御ハンドルを取得できる。
[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が蓄積する曲データ Mi l Mln, 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— S V3はオーディオクライアント CL2にローカルリスト LL1一 LL3を送信する(図中(2) ) 。オーディオクライアント CL2は全てのローカルリスト LL1一 LL3を取得後、それらの リストに基づいて曲を選択する。選択した曲が曲データ M31である場合、図 47 (C) に示すようにオーディオクライアント CL2はサーバ SV3に対して曲データ M31を要 求し(図中(3) )、サーバ SV3は要求に応じて曲データ M31を送信する(図中(4) )。
[0315] 以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施す るための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることな ぐその趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施するこ とが可能である。
[0316] 例えば、センタサーバを引継ぐ際に、クライアントが再生中の曲だけでなぐクライン アントが再生予定である曲を引継サーバに送信してもよい。さらに、センタサーバシス テムにおいて、クライアントがサブサーバに直接曲を要求してもよいが、その場合、ク ライアントはセンタサーバとプッシュポートで接続しておくことにより、センタサーバから リスト更新の通知を直ぐに受けることができる。さらに、センタサーバシステムにおいて 、クライアントは起動時にセンタサーバと自動的に接続するようにしてもよい。さらに、 センタサーバシステムにおいて、複数のサーバグループが存在し、その各グループ にそれぞれセンタサーバが設けられていてもよい。さらに、クライアントがサーバを探 索する際に、センタサーバシステムにおいては少なくともセンタサーバがクライアント に応答すればよい。しかし、クライアントがセンタサーバに対応していない場合には、 マジックワードの属性 (センタサーバに対応していない旨の属性)を判断することによ り、サブサーバがクライアントに応答するようにしてもよい。さらに、サーバはクライアン トの情報 (接続情報、ステータス(再生中、停止中等)、クライアントのタイプ、ボリユー ム、プロダクト ID、ファームウェア ID、クライアント名、再生ファイル名および/またはリ スト作成用のリスト構築キー)を有しており、グローバルリストサーバシステムにおいて は、各サーバが他のサーバが有するクライアント情報を有し、センタサーバシステム におレ、ては、センタサーバが全サブサーバのクライアント情報を有することもできる。 これにより、クライアントの状態を監視するためのコントローラを有するシステムにおい ては、コントローラは、 1つのサーバ(センタサーバシステムにおいてはセンタサーバ) に接続すれば、全てのクライアントの情報を監視することができる。なお、クライアント 情報の共有、更新などの方法はコンテンツリストの共有、更新方法と同じ方法で実現 すること力 Sできる。さらに、コンテンツリストの中にクライアント情報が含まれていてもよ レ、。

Claims

請求の範囲
[1] 複数のサーバと、前記複数のサーバの少なくとも 1つに接続可能な 1又は複数のク ライアントとを備えたネットワーク AVシステムであって、
前記サーバの各々は、
複数のコンテンツを蓄積するための蓄積手段を備え、
前記サーバのうち少なくとも 1つのサーバはさらに、
前記複数のサーバが蓄積する複数のコンテンツを列挙したグローバルリストを記憶 するためのグローバルリスト記憶手段と、
前記クライアントに前記グローノくルリストを送信するグローバルリスト送信手段とを備 えることを特徴とするネットワーク AVシステム。
[2] 請求項 1に記載のネットワーク AVシステムであって、
前記クライアントは、
前記送信されたグローバルリストの中から選択されたコンテンツを前記サーバに要 求するコンテンツ要求手段を備え、
前記サーバのうち少なくとも 1つのサーバはさらに、
前記クライアントからの要求に応じて前記選択されたコンテンツを前記クライアントに 返信するコンテンツ返信手段を備え、
前記クライアントはさらに、
前記サーバから返信されたコンテンツを再生する再生手段を備えることを特徴とす るネットワーク AVシステム。
[3] 請求項 1に記載のネットワーク AVシステムであって、
前記複数のクライアントは、第 1のクライアントと第 2のクライアントとを含み、 前記第 1のクライアントは、
前記送信されたグローバルリストの中から選択されたコンテンツの再生指示を前記 サーバを介して前記第 2のクライアントに送信する再生指示手段を備え、
前記第 2のクライアントは、
前記再生指示に応じて前記選択されたコンテンツを前記サーバに要求するコンテ ンッ要求手段を備え、 前記サーバのうち少なくとも 1つのサーバはさらに、
前記第 2のクライアントからの要求に応じて前記選択されたコンテンツを前記第 2の クライアントに返信するコンテンツ返信手段を備え、
前記第 2のクライアントはさらに、
前記サーバから返信されたコンテンツを再生する再生手段を備えることを特徴とす るネットワーク AVシステム。
[4] 複数のサーバと、前記複数のサーバの少なくとも 1つと接続可能な 1又は複数のク ライアントとを備えたネットワーク AVシステムであって、
前記サーバの各々は、
複数のコンテンツを蓄積するための蓄積手段と、
前記複数のサーバが蓄積する複数のコンテンツを列挙したグローバルリストを記憶 するためのグローバルリスト記憶手段と、
前記クライアントに前記グローノくルリストを送信するグローバルリスト送信手段とを備 えることを特徴とするネットワーク AVシステム。
[5] 請求項 4に記載のネットワーク AVシステムであって、
前記クライアントは、
前記送信されたグローバルリストの中から選択されたコンテンツを前記サーバに要 求するコンテンツ要求手段を備え、
前記サーバの各々はさらに、
前記クライアントからの要求に応じて前記選択されたコンテンツを前記クライアントに 返信するコンテンツ返信手段を備え、
前記クライアントはさらに、
前記返信されたコンテンツを再生する再生手段を備えることを特徴とするネットヮー ク AVシステム。
[6] 請求項 5に記載のネットワーク AVシステムであって、
前記グローバルリストは、前記複数のコンテンツに対応して前記複数のコンテンツが 蓄積された複数のサーバのアドレスを含み、
前記コンテンツ要求手段は、前記サーバのアドレスに基づいて、前記選択されたコ ンテンッを要求することを特徴とするネットワーク AVシステム。
[7] 請求項 4一請求項 6のいずれ力 1項に記載のネットワーク AVシステムであって、 前記サーバの各々はさらに、
自己が蓄積するコンテンツを列挙したローカルリストを記憶するためのローカルリス ト記憶手段と、
前記ローカルリストを当該他のサーバに送信するローカルリスト送信手段と、 前記自己のローカルリストと当該他のサーバから送信されたローカルリストとに基づ レ、て前記グローバルリストを更新するグロ一ノ^レリスト更新手段とを備えることを特徴 とするネットワーク AVシステム。
[8] 請求項 7に記載のネットワーク AVシステムであって、
前記ローカルリスト送信手段は、
自己のローカルリストが更新されるごとに前記他のサーバに前記更新されたロー力 ノレリストを送信し、
前記グローノくルリスト更新手段は、 自己のローカルリストが更新されるごとに、又は 前記更新されたローカルリストを受信するごとに前記グローバルリストを更新すること を特徴とするネットワーク AVシステム。
[9] 請求項 7又は請求項 8に記載のネットワーク AVシステムであって、
前記サーバの各々はさらに、
自身が前記ネットワーク AVシステムから離脱する前に、当該他のサーバに離脱通 知を送信する離脱通知手段を備え、
前記グロ一ノ^レリスト更新手段は、前記離脱通知に応じて、前記離脱通知を送信し たサーバのローカルリストを削除するよう前記グローバルリストを更新することを特徴と するネットワーク AVシステム。
[10] 請求項 7—請求項 9のいずれ力 4項に記載のネットワーク AVシステムであって、 前記グローバルリスト送信手段は、前記グローバルリスト更新手段が前記グローバ ノレリストを更新するごとに前記更新されたグローバルリストを前記クライアントに送信す ることを特徴とするネットワーク AVシステム。
[11] 請求項 4一請求項 10のいずれ力 4項に記載のネットワーク AVシステムであって、 前記サーバの各々は、
自己と当該他のサーバとの間でコマンドを送受信するためのコマンドポートで接続 を確立する手段と、
当該他のサーバから前記サーバに要求を強制的に送信するためのプッシュポート で接続を確立する手段とを備えることを特徴とするネットワーク AVシステム。
[12] 請求項 5 請求項 11のいずれ力 4項に記載のネットワーク AVシステムであって、 前記クライアントは、
前記サーバから前記グロ一ノ^レリストを取得するための第 1のコマンドポートで接続 を確立する手段と、
前記サーバから前記選択されたコンテンツを取得するための第 2のコマンドポート で接続を確立する手段とを備えることをネットワーク AVシステム。
[13] 請求項 5に記載のネットワーク AVシステムであって、
前記サーバの各々はさらに、
前記コンテンツ返信手段で前記選択されたコンテンツを返信中にサーバ動作を終 了する場合、前記選択されたコンテンツの返信の続きを引き継ぐ引継サーバに接続 するよう前記クライアントに指令する引継通知手段を備えることを特徴とするネットヮ ーク AVシステム。
[14] 請求項 5に記載のネットワーク AVシステムであって、
前記サーバの各々はさらに、
前記コンテンツ返信手段で前記選択されたコンテンツを返信中にサーバ動作を終 了する場合、前記選択されたコンテンツの返信の続きを引き継ぐ引継サーバを当該 他のサーバから選択する引継サーバ選択手段と、
前記引継サーバに前記選択されたコンテンツを送信する手段とを備え、 前記選択されたコンテンツを再生中のクライアントのコンテンツ要求手段は、前記引 継サーバに対して前記選択されたコンテンツの返信の続きを要求することを特徴とす るネットワーク AVシステム。
[15] 請求項 13に記載のネットワーク AVシステムであって、
前記サーバの各々はさらに、 前記クライアントに既に返信したコンテンツのデータ長を算出する算出手段と、 前記算出されたデータ長に基づいて、前記クライアントが前記引継サーバから取得 しょうとする前記コンテンツが格納されているアドレスを示す取得開始アドレスを決定 する手段とを備え、
前記引継通知手段は、前記クライアントに前記取得開始アドレスを通知することを 特徴とするネットワーク AVシステム。
[16] 請求項 14に記載のネットワーク AVシステムであって、
前記サーバの各々は、
自己と接続している当該他のサーバの情報を含むサーバリストを記憶するためのサ 一バリスト記憶手段を備え、
前記引継サーバ選択手段は、前記サーバリストに基づいて前記引継サーバを選択 することを特徴とするネットワーク AVシステム。
[17] 請求項 16に記載のネットワーク AVシステムであって、
前記引継サーバ選択手段は、前記サーノくリストに記憶されたサーバのうち最初に 自己と接続したサーバを引継サーバに選択することを特徴とするネットワーク AVシス テム。
[18] 請求項 4に記載のネットワーク AVシステムであって、
前記複数のクライアントは、第 1のクライアントと第 2のクライアントとを含み、 前記第 1のクライアントは、前記送信されたグローバルリストの中から選択されたコン テンッの再生指示を前記サーバを介して前記第 2のクライアントに送信する再生指示 手段を備え、
前記第 2のクライアントは、前記再生指示に応じて前記選択されたコンテンツを前記 サーバに要求するコンテンツ要求手段を備え、
前記サーバの各々はさらに、
前記第 2のクライアントからの要求に応じて前記選択されたコンテンツを前記第 2の クライアントに返信するコンテンツ返信手段を備え、
前記第 2のクライアントはさらに、
前記サーバから返信されたコンテンツを再生する再生手段を備えることを特徴とす るネットワーク AVシステム。
[19] 請求項 18に記載のネットワーク AVシステムであって、
前記第 1のクライアントは、前記第 2のクライアントと接続しているサーバの情報を含 むサーノ リストを記憶するためのサーノ リスト記憶手段を備え、
前記再生指示手段は前記サーバリストに基づいて、前記第 2のクライアントが接続 しているサーバを介して前記第 2のクライアントに再生指示を送信することを特徴とす るネットワーク AVシステム。
[20] センタサーバと、サブサーバと、前記センタサーバ及び Z又はサブサーバに接続 可能な 1又は複数のクライアントとを備えたネットワーク AVシステムであって、 前記センタサーバ及びサブサーバの各々は、
複数のコンテンツを蓄積するための蓄積手段を備え、
前記センタサーバはさらに、
前記センタサーバ及び前記サブサーバが蓄積する複数のコンテンツを列挙したグ ローバルリストを記憶するためのグローバルリスト記憶手段と、
前記グローノくルリストを前記クライアントに送信するグローバルリスト送信手段とを備 えることを特徴とするネットワーク AVシステム。
[21] 請求項 20に記載のネットワーク AVシステムであって、
前記クライアントは、
前記送信されたグローバルリストの中から選択されたコンテンツを前記センタサーバ 又は前記サブサーバに要求するコンテンツ要求手段を備え、
前記センタサーバ又は前記サブサーバの少なくとも 1つはさらに、
前記クライアントからの要求に応じて前記選択されたコンテンツを前記クライアントに 返信するコンテンツ返信手段を備え、
前記クライアントはさらに、
前記センタサーバ又は前記サブサーバから返信されたコンテンツを再生する再生 手段とを備えることを特徴とするネットワーク AVシステム。
[22] 請求項 21に記載のネットワーク AVシステムであって、
前記コンテンツ要求手段は、前記選択されたコンテンツを前記センタサーバに要求 し、
前記センタサーバは、前記コンテンツ返信手段を備え、
前記センタサーバはさらに、
前記クライアントからの要求に応じて前記グローバルリストに基づいて前記選択され たコンテンツを蓄積するサーバを特定するサーバ特定手段と、
前記特定されたサーバがセンタサーバの場合、自己の前記蓄積手段から前記選 択されたコンテンツを取得し、前記特定されたサーバがサブサーバの場合、そのサブ サーバの蓄積手段から前記選択されたコンテンツを取得するコンテンツ取得手段と を備え、
前記コンテンツ返信手段は、前記コンテンツ取得手段により取得されたコンテンツ を前記クライアントに返信することを特徴とするネットワーク AVシステム。
[23] 請求項 22に記載のネットワーク AVシステムであって、
前記グローノくルリストは前記複数のコンテンツに対応して前記複数のコンテンツが 蓄積された複数のサーバのアドレスを含み、
前記サーバ特定手段は、前記コンテンツ要求手段により要求されたコンテンツを蓄 積した前記サーバのアドレスを特定することを特徴とするネットワーク AVシステム。
[24] 請求項 21に記載のネットワーク AVシステムであって、
前記グローノくルリストは複数のコンテンツに対応して前記コンテンツが蓄積された 複数のサーバのアドレスを含み、
前記コンテンツ要求手段は、前記選択されたコンテンツを、前記グローバルリストに 基づいて特定したサブサーバに要求することを特徴とするネットワーク AVシステム。
[25] 請求項 20—請求項 24のいずれ力 4項に記載のネットワーク AVシステムであって、 前記センタサーバ及びサブサーバの各々はさらに、
自己が蓄積するコンテンツを列挙したローカルリストを記憶するためのローカルリス トリスト記憶手段を備え、
前記サブサーバはさらに、
前記ローカルリストを前記センタサーバに送信するローカルリスト送信手段を備え、 前記センタサーバはさらに、 前記自己のローカルリストと前記サブサーバから送信されたローカルリストとに基づ いて、前記グローバルリストを更新するグローバルリスト更新手段とを備えることを特 徴とするネットワーク AVシステム。
[26] 請求項 25に記載のネットワーク AVシステムであって、
前記ローカルリスト送信手段は、 自己のローカルリストが更新されるごとに前記セン タサーバに更新されたローカルリストを送信し、
前記グローノルリスト更新手段は、 自己のローカルリストが更新されるごとに、又は 前記更新されたローカルリストを受信するごとに、前記グローバルリストを更新すること を特徴とするネットワーク AVシステム。
[27] 請求項 25又は請求項 26に記載のネットワーク AVシステムであって、
前記サブサーバはさらに、
自身が前記ネットワーク AVシステムから離脱する前に、前記センタサーバに離脱 通知を送信する離脱通知手段を備え、
前記グロ一ノ^レリスト更新手段は、前記離脱通知に応じて、前記離脱通知を送信し たサーバのローカルリストを削除するよう前記グローバルリストを更新することを特徴と するネットワーク AVシステム。
[28] 請求項 25—請求項 27のいずれ力 1項に記載のネットヮー AVシステムであって、 前記グローバルリスト送信手段は、前記グローバルリスト更新手段が前記グローバ ノレリストを更新するごとに前記更新されたグローバルリストを前記クライアントに送信す ることを特徴とするネットワーク AVシステム。
[29] 請求項 20—請求項 28のいずれ力 1項に記載のネットワーク AVシステムであって、 前記センタサーバは、
前記センタサーバと前記サブサーバとの間でコマンドを送受信するためのコマンド ポートで接続を確立するための手段と、
前記サブサーバから前記センタサーバに要求を強制的に送信するためのプッシュ ポートで接続を確立するための手段とを備えることを特徴とするネットワーク AVシステ ム。
[30] 請求項 22に記載のネットワーク AVシステムであって、 前記センタサーバ及びサブサーバの各々はさらに、
自己が蓄積するコンテンツを列挙したローカルリストを記憶するためのローカルリス ト記憶手段を備え、
前記センタサーバは、
前記サブサーバから前記ローカルリストを取得するための第 1のコマンドポートで接 続を確立する手段と、
前記第 1のコマンドポートで接続を確立後、前記サブサーバのローカルリストを取得 する手段と、
前記取得したローカルリストと自己のローカルリストとに基づいて前記グローバルリス トを更新する手段と、
前記サーバ特定手段により特定されたサブサーバから前記選択されたコンテンツを 取得するための第 2のコマンドポートで接続を確立する手段とを備えることをネットヮ ーク AVシステム。
[31] 請求項 21—請求項 24のいずれ力 1項に記載のネットワーク AVシステムであって、 前記クライアントは、
前記センタサーバから前記グローバルリストを取得するための第 1のコマンドポート で接続を確立する手段と、
前記センタサーバから前記選択されたコンテンツを取得するための第 2のコマンド ポートで接続を確立する手段とを備えることを特徴とするネットワーク AVシステム。
[32] 請求項 22—請求項 24のいずれ力 1項に記載のネットワーク AVシステムであって、 前記センタサーバはさらに、
前記センタサーバの動作を終了する場合、前記センタサーバの動作を引継ぐ引継 サーバに接続するよう前記クライアントに指令する引継通知手段を備えることを特徴 とするネットワーク AVシステム。
[33] 請求項 22—請求項 24のいずれ力 4項に記載のネットワーク AVシステムであって、 前記センタサーバはさらに、前記引継サーバを前記サブサーバから選択する引継 サーバ選択手段と、
前記引継サーバ選択手段により選択されたサブサーバにセンタサーバの動作を引 き継ぐように指令するセンタサーバ引継命令手段とを備えることを特徴とするネットヮ ーク AVシステム。
[34] 請求項 32に記載のネットワーク AVシステムであって、
前記センタサーバはさらに、
前記コンテンツ取得手段により取得されたコンテンツを前記クライアントに返信中に 動作を終了する場合、前記クライアントに返信したコンテンツのデータ長を算出する 算出手段と、
前記算出手段により算出されたデータ長に基づいて、前記クライアントが前記引継 サーバから取得しょうとする前記コンテンツが格納されているアドレスを示す取得開 始アドレスを決定する手段とを備え、
前記引継通知手段は、前記クライアントに前記取得開始アドレスを通知することを 特徴とするネットワーク AVシステム。
[35] 請求項 32—請求項 34のいずれ力 1項に記載のネットワーク AVシステムであって、 前記センタサーバはさらに、
前記コンテンツ返信手段により自己が蓄積するコンテンツを前記クライアントに返信 中に動作を終了する場合、前記引継サーバに前記コンテンツを送信する手段を備え ることを特徴とするネットワーク AVシステム。
[36] 請求項 33に記載のネットワーク AVシステムであって、
前記センタサーバは、前記サブサーバの識別情報を含むサーバリストを記憶するた めのサーノくリスト記憶手段を備え、
前記引継サーバ選択手段は、前記サーノくリストに基づいて前記引継サーバを選択 することを特徴とするネットワーク AVシステム。
[37] 請求項 20に記載のネットワーク AVシステムであって、
前記複数のクライアントは、第 1のクライアントと第 2のクライアントとを含み、 前記第 1のクライアントは、前記送信されたグローバルリストの中から選択されたコン テンッの再生指示を前記センタサーバを介して前記第 2のクライアントに送信する再 生指示手段を備え、
前記第 2のクライアントは、前記再生指示に応じて前記選択されたコンテンツを前記 センタサーバ又は前記サブサーバに要求するコンテンツ要求手段を備え、 前記センタサーバ又は前記サブサーバの少なくとも 1つはさらに、
前記第 2のクライアントからの要求に応じて前記選択されたコンテンツを前記第 2の クライアントに返信するコンテンツ返信手段を備え、
前記第 2のクライアントはさらに、
前記センタサーバ又はサブサーバから返信されたコンテンツを再生する再生手段 を備えることを特徴とするネットワーク AVシステム。
[38] 請求項 1一請求項 37のいずれか 1項に記載のネットワーク AVシステムを動作させ るネットワーク AVシステムの動作方法。
[39] 請求項 1一請求項 37のいずれか 1項に記載の手段をコンピュータに実現させるた めのネットワーク AVシステムの動作プログラム。
[40] 請求項 1一請求項 37のいずれか 1項に記載のネットワーク AVシステムにおけるクラ イアント。
[41] 複数のサーバと、前記複数のサーバの少なくとも 1つに接続可能なクライアントとを 備えたネットワーク AVシステムにおける前記サーバであって、
複数のコンテンツを蓄積するための蓄積手段と、
前記複数のサーバが蓄積する複数のコンテンツを列挙したグローバルリストを記憶 するためのグローバルリスト記憶手段と、
前記クライアントに前記グローノくルリストを送信するグローバルリスト送信手段と、 前記クライアントが前記グローノくルリストの中から選択されたコンテンツを要求したと き前記選択されたコンテンツを前記クライアントに返信するコンテンツ返信手段とを備 えることを特徴とするネットワーク AVシステムにおけるサーバ。
[42] 請求項 41に記載のネットワーク AVシステムにおけるサーバであってさらに、
自己が蓄積したコンテンツを列挙したローカルリストを記憶するためのローカルリスト 記憶手段と、
自己のローカルリストを当該他のサーバに送信するローカルリスト送信手段と、 前記自己のローカルリストと当該他のサーバから送信されたローカルリストとに基づ レ、て前記グローバルリストを更新するグロ一ノ^レリスト更新手段とを備えることを特徴 とするネットワーク AVシステムにおけるサーバ。
[43] 請求項 41又は請求項 42に記載のネットワーク AVシステムにおけるサーバであつ てさらに、
前記コンテンツ返信手段で前記選択されたコンテンツを返信中にサーバ動作を終 了する場合、前記選択されたコンテンツの返信の続きを引き継ぐ引継サーバを当該 他のサーバから選択する引継サーバ選択手段と、
前記引継サーバに前記選択されたコンテンツを送信する手段と、
前記引継サーバに接続するように前記クライアントに指令する引継通知手段とを備 えることを特徴とするネットワーク AVシステムにおけるサーバ。
[44] 請求項 41一請求項 43のいずれ力 4項に記載の手段をコンピュータに実現させるた めのネットワーク AVシステムにおけるサーバの動作プログラム。
[45] センタサーバと、複数のコンテンツを蓄積するための蓄積手段を備えたサブサーバ と、前記センタサーバ及び/又はサブサーバに接続可能なクライアントとを備えたネ ットワーク AVシステムのセンタサーバであって、
複数のコンテンツを蓄積するための蓄積手段と、
前記センタサーバ及びサブサーバが蓄積する複数のコンテンツを列挙したグロ一 バルリストを記憶するためのグローバルリスト記憶手段と、
前記クライアントが前記グローノくルリストの中から選択されたコンテンツを要求したと き前記選択されたコンテンツを蓄積するサーバを前記グローバルリストに基づいて特 定するサーバ特定手段と、
前記特定されたサーバがセンタサーバの場合、自己の蓄積手段から前記選択され たコンテンツを取得し、前記特定されたサーバがサブサーバの場合、そのサブサー バの蓄積手段から前記選択されたコンテンツを取得するコンテンツ取得手段と、 前記コンテンツ取得手段により取得されたコンテンツを前記クライアントに返信する コンテンツ返信手段とを備えることを特徴とするネットワーク AVシステムにおけるサー バ。
[46] 請求項 45に記載のネットワーク AVシステムにおけるセンタサーバであって、
前記センタサーバ及びサブサーバの各々はさらに、 自己が蓄積するコンテンツを列挙したローカルリストを記憶するためのローカルリス ト記憶手段を備え、
前記センタサーバはさらに、
自己のローカルリストと前記サブサーバから送信されたローカルリストとに基づいて
、前記グローノ ルリストを更新するグローバルリスト更新手段とを備えたことを特徴と するネットワーク AVシステムにおけるセンタサーバ。
[47] 請求項 45又は請求項 46に記載のネットワーク AVシステムにおけるセンタサーバ であってさらに、
前記センタサーバの動作を終了する場合、前記センタサーバの動作を引き継ぐ引 継サーバを前記サブサーバから選択する引継サーバ選択手段と、
前記引継サーバ選択手段により選択されたサブサーバにセンタサーバの動作を引 き継ぐように指令するセンタサーバ引継命令手段とを備えることを特徴とするネットヮ ーク AVシステムにおけるセンタサーバ。
[48] 請求項 45—請求項 47のいずれか 1項に記載の手段をコンピュータに実現させるた めのネットワーク AVシステムにおけるセンタサーバの動作プログラム。
PCT/JP2004/006260 2003-08-08 2004-05-11 ネットワークavシステム WO2005015407A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04732179A EP1653361A4 (en) 2003-08-08 2004-05-11 NETWORK AV SYSTEM
JP2005512894A JP3979432B2 (ja) 2003-08-08 2004-05-11 ネットワークavシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003290384 2003-08-08
JP2003-290384 2003-08-08

Publications (1)

Publication Number Publication Date
WO2005015407A1 true WO2005015407A1 (ja) 2005-02-17

Family

ID=34114125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/006260 WO2005015407A1 (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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006343966A (ja) * 2005-06-08 2006-12-21 Onkyo Corp コンテンツ情報更新システム
JP2010218146A (ja) * 2009-03-16 2010-09-30 Canon Inc 情報処理装置およびその制御方法
JP2011096275A (ja) * 2010-12-17 2011-05-12 Fujitsu Ltd ファイル管理システム
JP2012010397A (ja) * 2011-09-05 2012-01-12 Hitachi Ltd コンテンツ送信装置
US9773001B2 (en) 2012-05-28 2017-09-26 Huawei Technologies Co., Ltd. Method, apparatus, and system for processing media resource playlist in local area network

Families Citing this family (133)

* 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
WO2006100723A1 (ja) * 2005-03-18 2006-09-28 Fujitsu Limited ファイル管理システム
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7827162B2 (en) * 2006-05-15 2010-11-02 Apple Inc. Media package format for submission to a media distribution system
US7962634B2 (en) * 2006-05-15 2011-06-14 Apple Inc. Submission of metadata content and media content 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
US20090276333A1 (en) * 2008-05-05 2009-11-05 Cortes Ricardo D Electronic submission and management of digital products for network-based distribution
US9342287B2 (en) 2008-05-05 2016-05-17 Apple Inc. Software program ratings
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
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
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
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
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
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. 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 株式会社バッファロー コンテンツ送信方法、接続先ストレージ及びコンテンツ送信プログラム
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
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
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
WO2014144949A2 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
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
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
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
KR101772152B1 (ko) 2013-06-09 2017-08-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
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
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
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
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
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
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
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
DK179560B1 (en) 2017-05-16 2019-02-18 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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987621A (en) 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
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
JP2001092749A (ja) * 1999-09-22 2001-04-06 Akihide Miyamura データ配信システム
JP2001318881A (ja) * 2000-05-11 2001-11-16 Sony Corp ネットワーク上の情報伝送方法および電子情報機器
JP2002262202A (ja) * 2001-02-28 2002-09-13 Sony Corp 情報処理システム、携帯型情報端末装置および情報処理方法、番組情報提供装置および番組情報提供方法、録画再生装置および録画再生方法、プログラム格納媒体、並びにプログラム

Family Cites Families (63)

* 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
KR100568890B1 (ko) * 1997-11-11 2006-04-10 소니 가부시끼 가이샤 송신 장치 및 방법, 정보 편집 장치 및 방법, 수신 장치 및 방법, 정보 축적 장치 및 방법, 및 방송 시스템
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
AU5781599A (en) * 1998-08-23 2000-03-14 Open Entertainment, Inc. Transaction system for transporting media files from content provider sources tohome 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
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
AU1955801A (en) * 1999-12-10 2001-06-18 Diva Systems Corporation Method and apparatus for performing user migration within a video on demand 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
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 共有情報処理システムおよび記録媒体
KR101775064B1 (ko) * 2001-02-21 2017-09-06 로비 가이드스, 인크. 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법
WO2002071191A2 (en) * 2001-03-02 2002-09-12 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
BR0210589A (pt) * 2001-06-22 2005-04-26 Nosa Omoigui Sistema e método para a recuperação, o gerenciamento, a entrega e a apresentação do conhecimento
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 방식을 이용한 멀티미디어 스트리밍 장치 및 방법
KR20040072703A (ko) * 2002-01-06 2004-08-18 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 및/또는 비디오 디바이스에 대한 개인 파라미터리스트 관리 방법
KR100465818B1 (ko) * 2002-01-21 2005-01-13 삼성전자주식회사 멀티미디어데이터 관리시스템 및 관리방법
WO2003062962A2 (en) * 2002-01-23 2003-07-31 Sky Kruse Method and system for securely transmitting and distributing information and for producing a physical instantiation of the transmitted information in an intermediate, information-storage medium
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
EP1508892B1 (en) 2002-05-31 2017-07-12 Onkyo Corporation Network type content reproduction system
US20040003101A1 (en) * 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US20040034870A1 (en) * 2002-08-12 2004-02-19 O'brien Royal J 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987621A (en) 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
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
JP2001092749A (ja) * 1999-09-22 2001-04-06 Akihide Miyamura データ配信システム
JP2001318881A (ja) * 2000-05-11 2001-11-16 Sony Corp ネットワーク上の情報伝送方法および電子情報機器
JP2002262202A (ja) * 2001-02-28 2002-09-13 Sony Corp 情報処理システム、携帯型情報端末装置および情報処理方法、番組情報提供装置および番組情報提供方法、録画再生装置および録画再生方法、プログラム格納媒体、並びにプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1653361A4

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006343966A (ja) * 2005-06-08 2006-12-21 Onkyo Corp コンテンツ情報更新システム
JP2010218146A (ja) * 2009-03-16 2010-09-30 Canon Inc 情報処理装置およびその制御方法
US8694583B2 (en) 2009-03-16 2014-04-08 Canon Kabushiki Kaisha Information processing apparatus and method for controlling the same
JP2011096275A (ja) * 2010-12-17 2011-05-12 Fujitsu Ltd ファイル管理システム
JP2012010397A (ja) * 2011-09-05 2012-01-12 Hitachi Ltd コンテンツ送信装置
US9773001B2 (en) 2012-05-28 2017-09-26 Huawei Technologies Co., Ltd. Method, apparatus, and system for processing media resource playlist in local area network

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2005015407A1 (ja) ネットワークavシステム
JP2021185489A (ja) 独立してクロックされる複数のデジタルデータプロセシングデバイスの間で動作を同期させるためのシステムおよび方法
CN101247332B (zh) 带宽请求系统、带宽请求装置、客户装置、带宽请求方法、内容播放方法
US8516042B2 (en) Network type content reproducing system
US20060195545A1 (en) Information processing apparatus and content information processing method
CN101346965A (zh) 作为低功率遥控器的便携式媒体播放器及其方法
JP2007506352A (ja) UPnPベースのメディアコンテンツ再生システム及びその方法
JPH07200380A (ja) ビデオ・ファイル配布システムおよび方法
US20040019685A1 (en) Content playback apparatus, server connection method, and recording medium
US20080291926A1 (en) Distributed content storage system, content storage method, node device, and node processing program
WO2008141577A1 (fr) Procédé et lecteur multimédia réseau pour lire des fichiers multimédia réseau de manière synchrone
WO2007111312A1 (ja) コンテンツ配信システム、サーバ装置、コンテンツ配信方法およびプログラム
JP2009259111A (ja) ネットワーク装置、コンテンツ配信方法及びプログラム
JP4220523B2 (ja) ネットワーク上に応用されるグループ再生方法およびコンピュータシステムおよびコンピュータ読取り可能媒体
JP2011119859A (ja) コンテンツ再生システム、コンテンツ再生方法、プログラム、および、記録媒体
JP2001333394A (ja) 番組配信装置、複製転送装置及び番組データの複製転送方法
JP4807361B2 (ja) カラオケネットワークシステム、カラオケ装置、コンテンツ取得方法、及びコンテンツ配信方法
JP4026668B2 (ja) ネットワークavシステム
US20080222236A1 (en) Method and system for processing data on a plurality of communication devices
JP2011124940A (ja) 配信システム、ノード装置、情報処理装置、ノードプログラム、及び広告コンテンツ再生方法
WO2003100679A1 (fr) Procede et dispositif de distribution de contenus
JP4811398B2 (ja) カラオケネットワークシステム、カラオケ装置、及びコンテンツ配信方法
CN113825015B (zh) 一种大规模并发视频推流加速和管理方法
US20050086284A1 (en) Network AV system
JPH10124069A (ja) 集中管理型カラオケ装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480022733.X

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005512894

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004732179

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004732179

Country of ref document: EP