WO2003102919A1 - Network type content reproduction system - Google Patents

Network type content reproduction system Download PDF

Info

Publication number
WO2003102919A1
WO2003102919A1 PCT/JP2003/006552 JP0306552W WO03102919A1 WO 2003102919 A1 WO2003102919 A1 WO 2003102919A1 JP 0306552 W JP0306552 W JP 0306552W WO 03102919 A1 WO03102919 A1 WO 03102919A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
server
content
network
list
Prior art date
Application number
PCT/JP2003/006552
Other languages
English (en)
French (fr)
Inventor
Fumiaki Kawamura
Youichi Kudoh
Susumu Takemura
Yasushi Ikeda
Toshinobu Sano
Hiroko Yoshizaki
Takahiro Chiba
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
Priority to EP03733064.4A priority Critical patent/EP1508892B1/en
Priority to JP2004509922A priority patent/JP4013949B2/ja
Priority to US10/498,181 priority patent/US7634532B2/en
Priority to AU2003241772A priority patent/AU2003241772B2/en
Priority to KR1020047016490A priority patent/KR100903258B1/ko
Priority to CA2486671A priority patent/CA2486671C/en
Application filed by Onkyo Corporation filed Critical Onkyo Corporation
Publication of WO2003102919A1 publication Critical patent/WO2003102919A1/ja
Priority to US12/605,492 priority patent/US7908370B2/en
Priority to US13/019,631 priority patent/US8005928B2/en
Priority to US13/107,101 priority patent/US8037177B2/en
Priority to US13/226,621 priority patent/US8291074B2/en
Priority to US13/354,040 priority patent/US8516042B2/en

Links

Classifications

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

Definitions

  • the present invention relates to a network-type content reproduction system, and more particularly, to a network-type content reproduction system including a server, a client connected to the server, and a controller connected to the server.
  • Still another object of the present invention is to provide a network-type content reproduction system that enables continuous reproduction of contents by a client in a client-server environment.
  • Still another object of the present invention is to provide a network-type content playback system which eliminates contention for continuous playback commands to clients.
  • Still another object of the present invention is to provide a client with an automatic connection recovery function that can quickly recover the connection even if the connection with the server is disconnected.
  • a network-type content reproduction system includes a server and at least one first client connected to the server.
  • the server includes storage means for storing a plurality of contents (music contents, video contents, etc.).
  • the first client includes content requesting means for requesting the server for content selected from the plurality of contents.
  • the server further includes content return means for returning the selected content to the first client in response to a request from the first client.
  • the first client further includes playback means for playing back the content returned from the server.
  • desired content is selected from a large number of contents stored in a server in response to a client request.
  • the selected content is sent from the server to the client, and the content is played. Therefore, the client can freely select and play multiple contents stored in the server.
  • the content is music content
  • a desired song is selected from a large number of songs stored in the server in response to a request from the first client.
  • the data of the selected song is transmitted from the server to the first client, and the selected song is reproduced based on the data. Therefore, the first client can freely select and play a plurality of songs stored in the server.
  • the first client is mounted on a wall-mounted outlet box.
  • the user can listen to music and watch videos in the room without installing the first client inside the room.
  • the first client further includes content list requesting means for requesting a content list listing a plurality of contents from the server.
  • the server further includes a content list returning means for returning a content list in response to a request from the first client.
  • the first client further includes content list receiving means for receiving the content list returned from the server.
  • the content requesting means selects the content to be requested from the content list.
  • the first client can acquire a content list from the server, select a desired content from the content list, and reproduce the selected content.
  • the content list requesting unit requests the server for a specified amount of the content list, preferably a part of the content list.
  • the content list reply means returns a specified amount of the content list, preferably a part of the content list, in response to a request from the first client.
  • the content list requesting means includes: an acquisition start index indicating the first content that the first client attempts to acquire from the server; and an acquisition number indicating the number of contents that the first client intends to acquire from the server.
  • the content list returning means returns a content list including the acquired number of contents from the first content indicated by the acquisition start index.
  • the content list reply means further returns the number of contents included in the content list to be returned and the number of remaining contents after the content list.
  • the first client keeps the content list that has not yet been acquired. Since the number of remaining contents can be recognized, the remaining contents list can be requested from the server.
  • the first client further includes category list requesting means for requesting the server a category list listing a plurality of categories.
  • the server further includes means for returning a category list in response to a request from the first client.
  • the first client further includes means for receiving the category list returned from the server.
  • the content list requesting means selects a category to which the content of the content list to be requested belongs from the received category list.
  • the first client first obtains a category list from the server, and selects a desired category from the list.
  • the first client obtains a content list from the server and selects a desired content from the content list.
  • desired contents can be narrowed down and selected from a large number of contents.
  • the content list requesting means transmits a list construction key necessary for creating the content list to the server.
  • the content list reply means creates a content list based on the list construction key.
  • the first client can acquire the content list by transmitting the list construction key to the server when the content list is needed, and thus does not need to store the acquired content list.
  • the content requesting unit requests the server for a predetermined amount of content.
  • the content reply means returns a predetermined amount of content in response to a request from the first client.
  • the content requesting unit repeats the content request until all of the content is acquired.
  • the content requesting means calculates an acquisition start address indicating a first address of a predetermined amount of content and transmits the calculated start address to the server.
  • the content reply means is determined in advance from the acquisition start address transmitted from the first client. Reply the amount of content that was provided.
  • the content requesting means transmits a content transfer request command including an acquisition start address and an acquisition data length indicating a length of the content to be acquired by the first client from the server.
  • the content reply means returns the content corresponding to the acquired data length from the acquisition start address.
  • the client can perform trick play even for content that has not been received.
  • the content requesting means calculates the next acquisition start address by adding the acquired data length to the previous acquisition start address.
  • the first client further comprises: means for setting first and second addresses in response to a user operation; and when the calculated acquisition start address exceeds the second address, the acquisition start address Means for setting the first address to the first address.
  • the first client can repeatedly acquire and play back the content from the first address to the second address.
  • the first client further includes means for setting a desired address in accordance with a user operation, and means for setting an acquisition start address to a desired address.
  • the first client can acquire the content from the desired address and play it back halfway.
  • the first client further includes means for setting a predetermined skip amount according to a user operation, and means for shifting the acquisition start address by the set skip amount.
  • the first client can acquire the content from the server discontinuously, and thereby perform fast forward playback and fast reverse playback.
  • the first client further includes means for transmitting identification information of the selected content to the server.
  • the server further includes an offset of the selected content in response to the identification sent by the first client.
  • the first client further includes means for detecting the beginning of the selected content based on the offset returned from the server. In this case, since the first client detects the start of the content based on the offset of the content transmitted from the server, the first client can immediately reproduce the content.
  • the first client further includes means for transmitting identification information of the selected content to the server.
  • the server further includes means for returning the size of the selected content to the first client in response to the identification information transmitted from the first client.
  • the first client further includes means for detecting the end of the selected content based on the size returned from the server.
  • the first client detects the end of the content based on the size of the content transmitted from the server, so that the reproduction of the content can be immediately terminated.
  • the content requesting unit requests the server for a specified amount of content.
  • the content reply means returns a specified amount of content in response to a request from the first client.
  • the content requesting means changes the designated amount of the content requested from the server.
  • the first client decreases the specified amount of content when the server load is heavy, and increases the specified amount of content when the server load is light.
  • the amount can be adjusted appropriately.
  • the server since the server returns only the “part of song data” specified by the client, the client can arbitrarily change the “part of song data” specified by the Can also perform special playback (eg, fast forward, rewind, play from the middle, etc.). Furthermore, since the server transmits only a "part of the song data", if the client fails to receive, etc., only the failed part needs to be received from the server again, and the processing at the time of reception failure is accelerated. be able to.
  • special playback eg, fast forward, rewind, play from the middle, etc.
  • the format of the song requested by the client is compressed data (MP3, etc.) If this is the case, the server load can be reduced by reducing the specified amount of data. This is because the data amount of the compressed data is increased by being decoded at the time of reproduction.
  • the first client further includes means for transmitting the client information to the server each time the client information regarding the first client changes.
  • the client information is not always sent from the first client to the server, but only when it changes. Therefore, the server can manage the latest client information of the first client without increasing network traffic.
  • the network-type content reproduction system further includes a second client connected to the server via the network and monitoring the first client.
  • the user can know the operation state of the first client by a second client different from the first client.
  • the first client further includes means for transmitting client information about itself to the server.
  • the server includes means for receiving the client information transmitted from the first client, and means for transmitting the received client information to the second client.
  • the second client includes means for receiving client information from the server.
  • the user can know information about the first client at a second client different from the first client, for example, connection status with the server, client type, current operation status, current volume, and the like. .
  • the server sends the client information to the second client via a push port for forcing the request to be sent to the second client.
  • the server can send the client information to the second client without a request from the second client.
  • the second client further includes means for displaying the received client information, and means for changing the display of the client information when the received client information has been changed.
  • the second client further includes content list requesting means for requesting the server for a content list listing a plurality of contents.
  • the server further includes a content list returning means for returning a content list in response to a request from the second client.
  • the second client further includes a content list receiving means for receiving the content list returned from the server.
  • the client information includes a list construction key required to create a content list.
  • the content list requesting means transmits the list construction key to the server.
  • the content list reply means creates a content list based on the list construction key transmitted from the second client.
  • the second client when connected to the server, receives the client information sent from the server.
  • the second client since the second client is connected to the server when the power is turned on, the second client can obtain client information on the first client from the server.
  • the client information includes a list construction key required to create a content list.
  • the content list requesting means transmits a list construction key included in the received client information to the server.
  • the content list reply means creates a content list based on the list construction key transmitted from the second client.
  • the second client obtains the list construction key when the power is turned on again. . Therefore, the second client can send the obtained list construction key to the server again to obtain the content list lost from the server.
  • the client information includes a name of a data format of the content that can be reproduced by the first client.
  • the second client includes means for displaying the name of the data format of the content playable by the first client based on the received client information.
  • the user can know the data format that can be played back by the first client on a second client different from the first client.
  • the second client further obtains a content list listing a plurality of contents from the server, and displays, from the contents included in the obtained content list, contents that can be reproduced by the first client. Means for not displaying the content that cannot be reproduced by the first client or displaying the content in a manner different from the content that can be reproduced.
  • the second client includes means for determining whether the client to be monitored is the first client.
  • the second client includes means for obtaining a monitoring handle necessary for monitoring the first client, and means for monitoring the first client when obtaining the monitoring handle.
  • the network-type content reproduction system further includes a second client connected to the server via the network and controlling the first client.
  • the second client includes server request means for requesting the server to control the first client.
  • the server further includes means for controlling the first client in response to a request from the second client.
  • the user can control the first client through the server from a second client different from the first client.
  • the server requesting means transmits to the server information for specifying the first client and information for specifying the selected content.
  • the user can make the first client play the desired content. Can be.
  • the second client includes means for determining whether the client to be controlled is the first client.
  • the second client comprises: means for determining whether or not the data format of the selected content matches the data format of the content playable by the first client; Means for instructing the first client to play the content based on the data of the selected content.
  • the second client since the second client instructs the reproduction of the content only for the content that can be reproduced by the first client, malfunction can be prevented.
  • the second client includes a means for obtaining a control handle necessary for controlling the first client, and means for controlling the first client when the control handle is obtained.
  • the second client that has not obtained the control handle does not control the first client, so that network traffic can be reduced.
  • the first client further sends a completion status to the server when it has finished playing the content commanded by the second client, and has finished playing the content selected by itself, or When playback is completed in the middle of the content in response to an operation, a means for transmitting a stop status different from the completion status to the server is included.
  • the server can determine whether the first client has finished playing the content commanded by the second client or play the content selected by the server by distinguishing between the completed status and the stopped status. It is possible to determine whether the reproduction has been completed or the reproduction has been completed in the middle of the content according to the operation of the user.
  • the server includes means for receiving the completion status transmitted from the first client and transmitting the completion status to the second client. In response to the completion status sent from the server, the second client responds to the completion status by playing the next content. Means for instructing the first client to play the content.
  • the first client that has finished playing the content sends a completion status to the second client that ordered the playback of the content, so that the second client sends the content to the first client according to the content list. Can be played continuously.
  • the network-type content reproduction system further includes a plurality of second clients connected to the server via the network and controlling the first clients.
  • Each of the second clients includes playback instruction means for instructing the first client to play the content.
  • the content reproducing means of the first client reproduces the content according to an instruction from the second client.
  • the first client further includes means for transmitting a completion status to the server when the content has been played.
  • the server receives the completion status transmitted from the first client, transmits the completion status to a second client instructing the first client among the plurality of second clients, and transmits the completion status to the other second client. Means to send a stop status to all clients.
  • the reproduction instruction means of the second client instructs the first client to reproduce the next content of the completed content.
  • the first client that has finished playing the content sends a completion status through the server to the second client that ordered the playback of the content, so that the second client correctly sends the first client a message to the first client. Order continuous playback.
  • the server sends the stop status to the other second client, the other second client recognizes that the first client is in the operation stop state and erroneously instructs the first client to perform continuous playback. I will not do it.
  • the first client further includes broadcasting means for broadcasting the predetermined information.
  • the server includes means for responding to the predetermined information broadcast from the first client and returning server identification information for identifying itself to the first client.
  • the first client includes means for receiving the server identification information returned from the server and registering it in the server list.
  • the client Broadcast to the network and, if there is a server connected to the network, the server notifies the client of server identification information (IP address, port number, etc.). Therefore, the client can find a server on the network.
  • server identification information IP address, port number, etc.
  • the first client further includes means for determining whether or not the server identification information is registered in the server list. If the server identification information is not registered in the server list as a result of the determination, the broadcasting means broadcasts the predetermined information again.
  • the first client starts searching for a server again if no server identification information is registered in the server list, and keeps searching until at least one server is found.
  • the first client further includes means for accessing a server on the Internet when the number of broadcasts by the broadcast means has reached a predetermined number or when the time of broadcast by the broadcast means has reached a predetermined time. .
  • the first client does not keep searching for a server if there are no servers on the local network, in which case it can find a server on the Internet.
  • the first client has means for establishing a connection on a command port for sending and receiving commands between the server and the first client, and forcing a request from the server to the first client.
  • commands and status are transmitted and received between the server and client via the command port. Also, commands from the server are forcibly sent to the client via the push port.
  • the first client further includes means for transmitting a client index request command requesting a client index necessary for identifying itself to the server through a command port.
  • the server further responds to the client index request command sent from the first client by the client.
  • the first client further includes means for transmitting the client index returned from the server to the server via the push port.
  • the server includes a connection limiter that limits the number of clients that can connect.
  • connection restricting means disconnects the connection with the already connected client according to a predetermined priority when an unconnected client attempts to connect.
  • Still another network-type content playback system includes a server, a first client connected to the server via the network, an AV device connected to the first client, and a server connected to the server via the network. And a second client for controlling the AV device.
  • the second client includes means for transmitting a control command for controlling the AV device to the server.
  • the server includes means for transmitting a control command transmitted from the second client to the first client.
  • the first client includes means for transmitting a control command transmitted from the server to the AV device.
  • the AV device is further controlled in response to a control command transmitted from the first client.
  • control command is sent from the second client to the first client through the server.
  • the AV device is controlled according to the control command.
  • the second client can control the AV device.
  • Still another network-type content playback system includes a server, a first client connected to a server, an AV device connected to the first client, and an AV device connected to the server via a network. And a second client for monitoring the device.
  • the AV device includes means for transmitting information about itself to the first client.
  • the first client includes AV device information transmitting means for transmitting information transmitted from the AV device to the server.
  • the server includes means for transmitting information transmitted from the first client to the second client.
  • the second client can monitor the AV device based on this information.
  • the AV device information transmitting means of the first client transmits frequently changing information at predetermined time intervals.
  • the server further includes firmware updating means for updating the firmware of the first client.
  • the firmware of the first client is automatically updated by the server.
  • the server further transmits means for registering information of a plurality of firmware suitable for the first client, and a firmware list listing information of the plurality of registered firmware to the first client.
  • the first client further includes means for receiving the firmware list transmitted from the server, and firmware requesting means for requesting the server to transmit the firmware selected from the received firmware list.
  • the firmware updating means returns the selected firmware to the first client in response to a request from the first client.
  • the firmware of the first client is not necessarily updated to the latest version, but is updated to an appropriately selected version.
  • the first client further includes means for transmitting client information about itself to the server.
  • the server further includes means for creating a firmware list based on the client information sent from the first client. In this case, a firmware list that enumerates information on firmware corresponding to the first client can be created.
  • the first client requests a specified amount of firmware, preferably part of the firmware, from the server.
  • the firmware updating means returns a specified amount of firmware, preferably a part of the firmware, in response to a request from the first client.
  • the server sends only the specified amount of firmware, so if the client fails to receive, etc., only the failed part needs to be received from the playback server, which speeds up processing when reception fails. be able to.
  • firmware Since only a part of the list is transmitted from the server to the first client, the memory capacity required for storing the firmware list in the first client can be reduced.
  • Another network type content reproduction system includes a server, a first client connected to the server, and a plurality of second clients connected to the server.
  • the server includes content storage means for storing a plurality of contents.
  • Each of the second clients has means for designating content from a plurality of contents and instructing the first client to reproduce the designated content.
  • the first client includes means for reproducing the content specified in response to an instruction from the second client, and means for transmitting a completion status to the server when the reproduction of the content is completed.
  • the server further includes a status transmitting means for selecting one of the plurality of second clients when receiving the completion status from the first client, and transmitting the completion status to the selected second client.
  • Each of the second clients further specifies, after receiving the completion status from the server, the next content after the content that the first client has completed playing, and instructs the first client to play the specified content. Means.
  • the server further comprises means for managing the priority of a second client capable of controlling the first client.
  • the status transmitting means selects the second client having the highest priority as the second client to which the completion status is to be transmitted.
  • the server further comprises means for storing identification information of the second client who instructed the reproduction. The status transmitting means selects the second client which has instructed the reproduction based on the identification information of the second client stored as the second client to which the completion status is to be transmitted.
  • the server when the server receives the completion status from the first client that has completed playing the content, it selects one second client and sends the completion status to the second client. Thus, the only second client will instruct the first client to play continuously. As a result, the present system eliminates the contention of the continuous playback instruction to the first client and removes the first client. Content can be continuously reproduced by the client.
  • the status transmission means transmits the stop status to a second client other than the second client having the highest priority.
  • the stopped status is sent to the second client other than the second client with the highest priority, instead of the completion status, so that the other second client does not cause any active action.
  • Another network type content reproduction system includes a server, a first client connected to the server, and a plurality of second clients connected to the server.
  • the server includes content storage means for storing a plurality of contents.
  • Each of the second clients obtains a control handle for obtaining a control handle necessary for controlling the first client, and after obtaining the control handle, specifies the content from among a plurality of contents, and specifies the content.
  • the first client has means for reproducing the designated content in response to a command from the second client, and means for transmitting a completion status to the server when the reproduction of the content is completed.
  • the server further comprises means for transferring the completion status sent from the first client to each of the second clients.
  • Each of the second clients further specifies the next content of the content that the first client has completed playing upon receiving a completion status from the first client obtaining the control handle, and the specification Means for instructing the first client to play back the selected content.
  • the second client obtains the control handle necessary to control the client, and then instructs the first client to play the content.
  • the first client sends a completion status when it has finished playing the content.
  • the second client receives the completion status from the first client that has obtained the control handle, it instructs the first client to play continuously.
  • the present system can eliminate the contention of the continuous reproduction command to the first client, and enable the first client to continuously reproduce the content.
  • the control handle obtaining means prohibits the other second client from obtaining the control handle when the control handle is obtained.
  • the first client further includes means for transmitting a stop status to the server when the reproduction of the content is stopped halfway.
  • the server further comprises means for transferring the stop status sent from the first client to each of the second clients.
  • Each of the second clients further includes means for canceling the prohibition of acquiring the control handle when receiving the stop status from the first client acquiring the control handle.
  • the first client that has stopped playing the content in the middle transmits the stop status to all the second clients, and receives the stop status from the first client that has obtained the control handle. Of clients release the control handle. Therefore, any second client will be able to obtain the control handle of this first client.
  • Yet another network-type content reproduction system includes a server, a first client connected to the server, and a second client connected to the server.
  • the server includes content storage means for storing a plurality of contents.
  • the second client has means for designating a content from a plurality of contents and instructing the first client to reproduce the designated content.
  • the first client includes means for reproducing the content specified in response to a command from the second client, and means for transmitting a completion status to the server when the reproduction of the content is completed.
  • the server receives the completion status from the first client, the server further specifies the next content after the content that the first client has completed playing, and instructs the first client to play the specified content.
  • a continuous reproduction instruction means for performing the operation is
  • the server when the first client that has completed content playback sends a completion status to the server, the server itself instructs the first client to perform continuous playback. Command.
  • the present system can eliminate the contention of the continuous playback instruction to the first client and enable the first client to continuously play back the content.
  • the server further comprises: a means for storing a list construction key required to create a content list listing the content to be played by the first client; and a content list based on the list construction key. And means for creating a list.
  • the continuous reproduction instruction means instructs the first client to reproduce the content according to the content list.
  • the server stores the list construction key and creates a content list based on the list construction key, so that the content to be reproduced next can be specified.
  • Still another network-based content reproduction system includes a server, a first client connected to the server, and a second client connected to the server.
  • the server includes a content storage unit that stores a plurality of contents, the second client specifies a content from the plurality of contents, and instructs the first client to reproduce the specified content, Means for transmitting, to the first client, a list construction key required to create a content list to be played by the first client.
  • the first client includes means for reproducing the designated content in response to an instruction from the second client, and means for transmitting the list construction key transmitted from the second client to the server.
  • the server further includes means for creating a content list based on the list construction key transmitted from the first client and transmitting the content list to the first client.
  • the first client further comprises means for playing the next content of the content that the first client has completed playing according to the content list sent from the server.
  • the server sends the content list created based on the list construction key to the first client.
  • the first client performs continuous playback by itself according to this content list.
  • the system eliminates the contention of the continuous playback command to the first client, Playback can be enabled.
  • the client in the network-type content reproduction system includes: content requesting means for requesting digital content selected from a plurality of digital contents stored in the server to the server; and digital content returned from the server in response to the request. Playback means for playing back the content.
  • the client further includes connection means and determination means.
  • the connection means connects to one of the servers.
  • the determining means determines whether or not the connection with the server by the connecting means is maintained at predetermined intervals. When the determining means determines that the connection with the server has been disconnected, the connecting means executes a reconnection with the server.
  • the client checks the connection status with the server every predetermined period. If the connection to the server is lost, the client will reconnect to the server. Therefore, even if the connection is disconnected due to an error in the server, the client can quickly recover the connection by itself.
  • connection means executes connection with another server when reconnection with the server is not possible.
  • connection means transmits the client status before disconnection to the reconnected server.
  • the client sends the client status before disconnection to the reconnected server, so that the client can recover the connection status with the server as before.
  • the user can use the client without being aware that the client has reconnected to the server.
  • FIG. 1 is a functional block diagram showing an overall configuration of a network audio system according to an embodiment of the present invention.
  • FIG. 2 is a functional block diagram showing the configuration of each server in FIG.
  • FIG. 3 is a functional block diagram showing the configuration of each audio client in FIG.
  • FIG. 4 is a functional block diagram showing the configuration of each controller in FIG.
  • FIG. 5 is a flowchart showing the operation of the server and audio client shown in FIGS. 1 to 3 in the initial connection phase.
  • FIG. 6 is a flowchart showing a server search operation by the audio client in FIG.
  • FIG. 7 is a flowchart showing a connection operation by the client and the server in FIG.
  • FIG. 8 is a diagram illustrating a push operation by the server that has completed the connection operation illustrated in FIG.
  • FIG. 9 is a diagram showing a server request operation from the controller to the server for the audio client, following FIG. ⁇
  • FIG. 10 is a diagram showing the operation of notifying the controller of the status from the audio client via the server, following FIG.
  • FIG. 11 is a flowchart showing a client information transmission operation by the audio client in FIG.
  • FIG. 12 is a flowchart showing an initial setting operation and a main operation by the server shown in FIGS. 1 and 2.
  • FIG. 13 is a diagram showing a client information database stored in the server shown in FIG.
  • FIG. 14 is a diagram showing a content information database stored in the server shown in FIG.
  • FIG. 15 is a diagram showing a firmware information database stored in the server shown in FIG.
  • FIG. 16 is a flowchart showing a subroutine of a response to the server search in FIG.
  • FIG. 17 is a flowchart showing a subroutine of the command port connection accepting process in FIG.
  • FIG. 18 is a flowchart showing a subroutine of the push port connection acceptance processing (part 1) in FIG.
  • FIG. 19 is a flowchart showing a subroutine of the push port connection acceptance processing (part 2) in FIG.
  • FIG. 20 is a flowchart showing the subroutine of the command processing in FIG.
  • FIG. 21 is a professional diagram showing a subroutine of the status notification command processing in FIG.
  • FIG. 22 is a flowchart showing a subroutine of the server request issue command processing in FIG.
  • FIG. 23 is a flowchart showing a music list acquisition and reproduction operation by the server and the audio client shown in FIGS.
  • FIG. 24 is a flowchart showing a music list acquisition operation by the audio client in FIG.
  • FIG. 25 is a flowchart showing the genre list and music list acquisition operation in FIG. 24.
  • FIG. 26 is a diagram showing an area in which the genre list acquired in FIG. 25 is stored.
  • FIG. 27 is a diagram showing a record structure of the content information database shown in FIG.
  • FIG. 28 is a flowchart showing a genre list creation operation by the server in FIG. 25.
  • FIG. 29 is a diagram showing an area in which the music list acquired in FIG. 25 is stored.
  • FIG. 30 is a flowchart showing a music list creation operation by the server in FIG.
  • FIG. 31 is a diagram showing the format of the list request command in FIG.
  • FIG. 32 is a diagram showing the format of the search data in FIG.
  • FIG. 33 is a diagram showing a transition state of the buffer memory in the music list obtaining operation in FIG. 25.
  • FIG. 34 is a flowchart showing an album list obtaining operation in addition to the genre list and music list obtaining operation shown in FIG.
  • FIG. 4 is a flowchart showing the operation of music distribution preparation and distribution by the server.
  • FIG. 36 is a flowchart following FIG.
  • FIG. 37 is a diagram showing the song information request command in FIG.
  • FIG. 38 is a diagram showing the song information in FIG.
  • FIG. 39 is a diagram showing the music playback preparation command in FIG.
  • FIG. 40 is a diagram showing the error codes in FIG.
  • FIG. 41 is a diagram showing the music data transfer request command in FIG.
  • FIG. 42 is a diagram showing the music data in FIG.
  • FIG. 43 is a diagram showing a configuration of a buffer memory for storing the music data shown in FIG.
  • FIG. 44 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.
  • FIG. 45 is a diagram showing a state in which music data for all buffers is stored, following FIG.
  • FIG. 46 is a diagram showing a state in which music data is output from the head buffer, following FIG.
  • FIG. 47 is a diagram showing a state in which a space for one buffer has been created following FIG.
  • FIG. 48 is a diagram showing a state where the buffer space is full, following FIG. 47.
  • FIG. 49 is a flowchart showing the fast-forward playback operation by the client and server shown in FIGS.
  • FIG. 50 is a flowchart showing the temporary stop operation by the client and server shown in FIGS.
  • FIG. 51 is a flowchart showing the connection operation with the server by the controller in FIG.
  • FIG. 52 is a front view showing the monitoring handle and control handle acquisition operation in FIG. 51.
  • FIG. 53 is a diagram showing a status notification from a plurality of audio clients to a plurality of controllers by a server.
  • Fig. 54 shows the switch in Fig. 54 when the controller obtains the monitoring handle. It is a figure showing a status notice.
  • FIG. 55 is a flowchart showing the monitoring operation of the audio client by the controller in FIG.
  • FIG. 56 is a flowchart showing details of the monitor operation shown in FIG.
  • FIG. 57 is a flowchart showing the control operation of the audio client by the controller in FIG.
  • FIG. 58 is a flowchart showing a subroutine of a control command processing operation by the audio client in FIG. 57.
  • FIG. 59 is a diagram showing a subroutine of the reproduction control operation in FIG.
  • FIG. 60 is a diagram showing details of the client types included in the client information database shown in FIG.
  • FIG. 61 is a flowchart showing a music list display processing operation in the reproduction control shown in FIG.
  • FIG. 62 is a diagram showing a song list display screen for an audio client capable of playing both MP3 and WAV in the song list display of FIG.
  • FIG. 63 is a diagram showing a display screen of a music list relating to an audio client that can play MP3 but cannot play MP3 in the music list display in FIG. 61.
  • FIG. 64 is a flowchart showing an operation of processing a reproduction command from a user in the reproduction control shown in FIG.
  • FIG. 65 is a diagram showing transmission of a playback command in continuous playback control by the controller in FIG.
  • FIG. 66 is a diagram showing transmission of the completion and stop status following FIG. 65.
  • FIG. 67 is a flowchart showing the transmission operation of the completion and stop status shown in FIG.
  • FIG. 68 is a diagram showing transmission of the playback command following FIG.
  • FIG. 69 is a diagram showing the structure of a list construction key used in the continuous playback control shown in FIGS. 65 to 68.
  • Fig. 70 shows the types of filters included in the list construction key shown in Fig. 69. It is.
  • FIG. 71 is a sequence diagram showing a continuous playback control operation using the list construction key shown in FIG.
  • FIG. 72 is a flowchart showing the completion processing operation by the controller shown in FIGS. 56 and 71.
  • FIG. 73 is a flowchart showing the operation of the continuous playback process with priorities.
  • FIG. 74 is a functional block diagram showing the continuous reproduction processing shown in FIG.
  • FIG. 75 is a functional block diagram showing a continuous reproduction process when the controller having the highest priority is disconnected in the continuous reproduction process shown in FIG.
  • FIG. 76 is a flowchart showing the operation of the continuous reproduction process using the control handle.
  • FIG. 77 is a functional block diagram showing the continuous reproduction processing shown in FIG.
  • FIG. 78 is a functional block diagram showing continuous playback processing by the content server.
  • FIG. 79 is a flowchart showing the operation of the continuous reproduction process shown in FIG.
  • FIG. 80 is a functional block diagram showing continuous playback processing when there are a plurality of audio clients in the continuous playback processing shown in FIG.
  • FIG. 81 is a functional block diagram showing the continuous playback processing when there are a plurality of content servers in the continuous playback processing shown in FIG.
  • FIG. 82 is a functional block diagram showing continuous playback processing when the content server is switched in the continuous playback processing shown in FIG.
  • FIG. 83 is a functional block diagram showing the continuous reproduction processing when there are a plurality of controllers in the continuous reproduction processing shown in FIG. 81.
  • FIG. 84 is a flowchart showing the operation of continuous playback processing by the audio client itself.
  • FIG. 85 is a flowchart showing the operation of the continuous reproduction process using the reproduction instruction management table.
  • FIG. 86 is a functional block diagram showing the continuous reproduction processing shown in FIG. 85.
  • FIG. 87 is a flowchart showing details of the reproduction instruction management process in FIG.
  • FIG. 88 is a functional block diagram showing the continuous playback processing when the content server is switched in the continuous playback processing shown in FIG. 85.
  • FIG. 89 is a flowchart showing details of the server switching process in FIG.
  • FIG. 90 is a functional block diagram showing a configuration of a network audio system including a server, a controller, an AVR client, and an AV receiver.
  • FIG. 91 is a functional block diagram showing the status and command flow in the network audio system shown in FIG.
  • FIG. 92 is a flowchart showing the control operation of the AV receiver by the controller in the network-type audio system shown in FIGS. 90 and 91.
  • FIG. 93 is a functional block diagram showing transmission paths of control commands and status in the network audio system shown in FIG.
  • FIG. 94 is a flowchart showing the transmission operation of the command and the status shown in FIG.
  • FIG. 95 is a diagram showing control commands at each stage shown in FIG.
  • FIG. 96 is a diagram showing the status at each stage shown in FIG.
  • FIG. 97 is a flowchart showing an operation in which the controller raises the volume of the AV receiver AVR through the AVR client in the networked audio system shown in FIGS. 90 to 96.
  • FIG. 98 is a flowchart showing the operation of the AVR client when the status of the AV receiver is transferred to the server in the networked audio system shown in FIGS. 90 to 96.
  • FIG. 99 is a diagram showing the operation of the AVR client when the control command from the server is transferred to the AV receiver in the network audio system shown in FIGS. 90 to 96.
  • FIG. 100 is a flowchart showing an improved example of the operation shown in FIG.
  • FIG. 101 is a flowchart showing a firmware update operation by the client and the server in FIG.
  • FIG. 1 ⁇ 2 is a flowchart showing details of the firmware update operation shown in FIG.
  • FIG. 103 is a flowchart showing the firmware list creation operation in FIG. 102.
  • FIG. 104 is a flowchart showing the operation of transmitting the firmware list in FIG. 102.
  • FIG. 105 is a front view showing an external configuration of an audio client according to another embodiment of the present invention.
  • FIG. 106 is a side view of the audio client shown in FIG.
  • FIG. 107 is a functional block diagram showing the overall configuration of a network audio system and the Internet according to another embodiment of the present invention.
  • FIG. 108 is a flowchart showing a server search operation in the networked audio system shown in FIG. 107.
  • FIG. 109 is a flowchart showing a music data transfer operation according to another embodiment of the present invention.
  • FIG. 110 is a diagram showing a comparison table referred to by S16621 and S16661 in FIG.
  • FIG. 11 is a flowchart showing a skip reproduction operation of an audio client according to another embodiment of the present invention.
  • FIG. 112 is a diagram showing a song list stored in the memory of the audio client in the skip reproduction operation shown in FIG.
  • FIG. 13 is a flowchart showing a replay playback operation of an audio client according to another embodiment of the present invention.
  • FIG. 114 is a flowchart showing the midway playback operation of the audio client according to another embodiment of the present invention.
  • FIG. 115 is a flowchart showing audio client monitoring processing and connection recovery processing according to another embodiment of the present invention.
  • network-type audio system 10 includes a plurality of content servers S 1 to S i for storing music data of a large number of songs, and content servers SI to S i.
  • a plurality of audio clients C1 to Cj for playing music based on music data from the PC; a plurality of controllers A1 to Ak for controlling and monitoring the audio clients C1 to Cj; Equipment (for example, an AV receiver including a switcher amplifier) AVR, and an AVR client AC for controlling the AV receiver AVR.
  • the content server S i is used to name one of the content servers
  • the audio client C j is used to name one of the audio clients
  • the controller A k is used to name one of the controllers.
  • music data is stored in the content server Si here, video data may be stored instead or together with the music data.
  • various digital contents for example, still images such as photographs, etc.
  • music data will be described as an example.
  • the audio client C j may obtain music data from any of the content servers S 1 to S i, and a specific one content server S i.
  • the music data may be obtained from only the music data.
  • a plurality of AV receivers AVR and AVR clients AC may exist, but may not exist at all.
  • LAN local area network
  • PC personal computer
  • UDP User Datagram Protocol
  • the content server and audio client are connected so as to branch off from the backbone wiring of the LAN.
  • BASE—T 100 B AS E—TX they are connected in a star shape around the hub.
  • each content server Si 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; A LAN controller 22 for transmitting and receiving signals between the content server Si and the LAN 12 is provided.
  • HDD hard disk drive
  • CPU processing unit 20 including a database management unit 16 and a network protocol processing unit 18
  • a LAN controller 22 for transmitting and receiving signals between the content server Si and the LAN 12 is provided.
  • each audio client Cj temporarily stores a microcomputer processing unit 28 including a network protocol processing unit 24 and a system operation unit 26, a flash memory 30, and compressed digital music data and the like that are sequentially input.
  • Memory 32 for decoding and sequentially outputting compressed digital music data
  • an audio processing unit 34 for generating uncompressed digital music data
  • a D / A converter for converting digital music data into analog music data (DAC) 36 and a LAN controller 38 for transmitting and receiving signals between the audio client C j and the LAN 12.
  • the audio client C j does not need to include an HDD for storing compressed digital music data.
  • each controller Ak is configured according to an input device 301 such as a keyboard, a mouse, a tablet, and a touch panel, a display device 302 such as a liquid crystal display and a CRT (Cathode Ray Tube), and an installed computer program. It includes a CPU 303 for executing predetermined processing, and a LAN controller 304 for transmitting and receiving signals between the controller Ak and the LAN 12.
  • the controllers A1 to Ak function as clients for the content servers S1 to Si in the same manner as the audio clients C1 to Cj.
  • the difference between the controller A k and the audio client C j is that the audio client C j has a playback function, whereas the controller A k does not have a playback function and mainly has a function of monitoring and controlling the audio client. Is a point.
  • the audio client Cj mainly has a reproduction function, but may have a monitor and control function. In this case, the audio client also functions as a controller.
  • AV receiver AVR is not particularly limited.
  • EIA-232 EIA-232
  • the AVR client AC mainly has a function of communicating with the AV receiver AVR, but may also have a reproduction function similarly to the audio client C j.
  • the audio client issues a connection request to the content server to enable data transmission and reception with the content server (S12).
  • the content server establishes a connection with the audio client in response to the connection request (S22).
  • the audio client sends various client information about itself to the content server (S13), and the content server receives it (S23).
  • the audio client first clears a server list for recording the IP address and port number of the found content server (S1101).
  • audio clients include, but are not limited to, for example, UDP
  • a magic code predetermined in the command port is broadcast on the LAN 12 by means of the protocol (S1102). If there is an active content server among a plurality of content servers S i connected to LAN 12, the content server receives the broadcasted magic code through a search port, and the audio client that broadcasts the magic code. The same magic word is returned to the server, and at the same time, server identification information (specifically, IP address and port number) for identifying itself is transmitted.
  • server identification information specifically, IP address and port number
  • the audio client resets a timer for measuring the elapsed time of reception of the server identification information (S1103), and thereafter determines whether or not the server identification information has been received (S111). 0 4).
  • the audio client When the server identification information is received (when the content server is found), the audio client records the server identification information in the server list (S115). Then, the audio client determines whether or not the surperist is full (S1106). If it is full, the search is completed. If not, step S1103 is completed. Return to
  • the audio client determines whether or not the elapsed reception time of the server identification information exceeds a predetermined time, for example, 2 seconds (S110). 7) If not, return to step S1104. That is, the audio client waits 2 seconds for a response from the content server.
  • the audio client determines whether or not the server list is still empty (S111). If the server list is empty, that is, if no server specific information is recorded in the server list, the auto-dialant returns to step S111 and recasts the magic card. On the other hand, if the server list is not empty, that is, if the server list contains the server identification information of at least one content server, the audio client completes the search. That is, the audio client continues searching until it finds at least one content server.
  • IP address and port number corresponding to the server are assigned.
  • the audio client selects one content server from the server list according to the user's operation (S1201), and obtains the IP address and port number of the selected content server (S1201). S 1202).
  • the audio client generates a TCP (Transmission Control Protocol) socket (1) with the obtained IP address and command port (S1203), and connects to the content server using this TCP socket (1) (S1). 1 20 4).
  • the command port is a port for sending and receiving commands between the content server and the audio client.
  • the content server accepts the connection at the command port (S2201). If the connection is successful, the process proceeds to step S1206, but if not, the connection fails (S1205). As a result, the audio client establishes a connection for sending and receiving commands to and from the content server.
  • the audio client sends a client index request command to the content server via TCP socket (1) (S1206).
  • the content server returns the client index from the TCP socket (1) to the audio client (S2202), and the audio client receives this (S1207).
  • the client index is an identification number assigned to each audio client by the content server.
  • the client index request command is a command by which an audio client requests the content server for a client index.
  • the audio client generates a TCP socket (2) using the IP address and the push port of the content server (S1208), and connects to the content server using the TCP socket (2) (S1209).
  • a push port is a port that is in a standby state where it can always receive spontaneous requests from the content server or requests from the content server in response to requests from the controller (hereinafter referred to as “server requests”).
  • server requests The content server receives a connection on the push port
  • the process proceeds to step S1211, otherwise, the connection fails (S1210). This allows the audio client to establish a connection to receive server requests.
  • the content server does not yet know which audio client is connected to the push port. Therefore, the audio client transmits the client index acquired in step S127 to the content server by using a TCP socket (2) (S121).
  • the content server specifies the audio client connected to the push port based on the client index (S2204). Thereafter, the content server uses this push port when sending server requests to audio clients.
  • a content server returns a response (HTML document, etc.) to a request from a client (page request, etc.).
  • a request from a client (page request, etc.).
  • the content server cannot voluntarily work on the client.
  • the content server performs a voluntary action, such as notifying the client of any request to the client, for example, when the content server is down, it is not possible to notify the client if there is no request from the client. Can not.
  • a client In order for a client to receive a server request, it issues a command to the content server at regular intervals to check for a server request.
  • the content server sends a server request to the client in response to a command issued by the client, and the client receives the server request.
  • the other is a connection formed on a push port that is used by the content server S i to send server requests to the audio client C j. This allows the content server S i to notify the audio client C j of a server request without using polling from the audio client C j.
  • the content server S i when shutting down, notifies all the audio clients C j via the push port that the content server S i has done so, so that the audio client C j performs some operation (such as turning off the power). Let it.
  • the controller A k when controlling the audio client C j (for example, playing or stopping), the controller A k issues a command requesting the content server Si to issue a server request including the control content. Through port To the content server Si.
  • the content server S i sends a server request to the audio client C j via the push port.
  • the controller Ak can control the audio client Cj.
  • the audio client C ⁇ ⁇ transmits the change in the operation state to the contensor server Si through the command port.
  • the content server S i transmits the change in the operation state to the controller Ak that monitors the operation state of the audio client C j via the push port. Therefore, the audio client Cj can notify the controller Ak of the change in the operation state in real time.
  • the load on the network traffic and the content server and the audio client in the network audio system can be minimized, and the performance of the entire system can be increased.
  • the audio client transmits its own attribute information to the content server (S1301 to S1303), and further transmits its own initial status (S1304 to S1305).
  • the audio client transmits the audio client type using TCP socket (1) (S1301).
  • the audio client type includes the types of music formats that can be played, whether or not operation with a remote controller (remote controller) is possible, and the presence or absence of an EIA-232 port.
  • the audio client transmits the product ID using TCP socket (1) (S1302).
  • the product ID is model information assigned to each audio client type. Therefore, the same product ID is given to the same type of audio client.
  • the audio client transmits the firmware ID using the TCP socket (1) (S1303).
  • the firmware ID is version information of the firmware installed on the audio client.
  • the audio client starts the volume on TCP socket (1).
  • the term value is transmitted (S1304).
  • the initial value of the volume is the initial value of the volume played by the audio client.
  • the audio client sends the initial status of the audio client on TCP socket (1) (S1305).
  • the initial status of the audio client includes the stop status.
  • the content server receives the client information sent from the client and stores it in the client information database (Fig. 13).
  • the client information is transmitted not only from the audio client Cj but also from the controllers Ak and AVR clients AC to the content server Si.
  • the content server Si manages all clients based on this client information.
  • the content server secures a storage area for the client information database as shown in FIG. 13 for the maximum number of clients and clears it (S201).
  • Each client information includes a flag indicating connection / non-connection, a client type, a current status, a current volume value, a product ID, a firmware ID, a client name, a playback file name, and a list construction key. Including.
  • the client type records the type of client, such as an audio client, a controller, or an AVR client, and the playable data format (MP3, WAV, etc.).
  • the client type also records whether remote control can be performed.
  • an audio client that can be controlled by a remote controller records information that the remote controller can be controlled.
  • statuses such as "play", "stop”, “pause”, "complete”, and "updating firmware” are recorded.
  • the playback file name the full path name of the HDD 14 in which the data of the song currently being played is stored is recorded.
  • the playback file name does not need to be a file name itself such as a full path name, but may be any information as long as the information can identify the file.
  • a contensor A table in which predetermined identification numbers and file names are associated with each other may be stored in the printer, and the content server may convert the identification numbers into file names by referring to this table.
  • the list construction key is used by the content server to create a list, which will be described in detail later.
  • the content server creates a socket for receiving a connection request to the command port, a socket for receiving a connection request for the push port, and a socket for receiving a server search request for the search port (S202). ).
  • the search port is used when searching for a content server, and the content server monitors whether a magic word has been input to this search port.
  • the content server constructs a content information database as shown in FIG. 14 and a firmware information database as shown in FIG. 15 (S203).
  • the content information database includes content information for the number of songs.
  • the content information for each song includes the file name, song name, artist name, album name, genre name, song length (time), data format, number of plays, and last access time.
  • the full path name of the HDD 14 in which the data of the song is stored is recorded.
  • the firmware information database has arm information for the number of firmware files.
  • the firmware information includes a product ID, a firmware ID, a file size, a data format, and a file name. In this file name, the full path name indicating the site on the Internet where the firmware is stored is recorded.
  • the content server When a content is written to the search port (S204), the content server performs a response process to a content server search described later (S205). If there is a write in the command port (S206), the content server performs a command port connection accepting process described later (S207). When there is a write in the push point (S208), the content server performs a push port connection accepting process (part 1) described later (S209). If there is a write in the unprocessed push port (S210), the content server also performs a push port connection accepting process (described later). 2) is performed (S21 1).
  • the content server acquires the written content (S2051) and determines whether or not the content is a correct magic code (S2052). . If the magic code is correct, the content server returns the same magic word to the transmission source client (S2053), and also returns its own IP address and port number.
  • the content server determines whether the number of currently connected clients has reached the maximum number of clients (S2071). ). If the maximum number of clients has been reached, the content server searches for a low-priority client and forcibly disconnects it (S2072). The priority of the client is lower for audio clients that are not currently playing back and audio clients that have not been communicating for a certain period of time. Then, the content server clears the client information of the forcibly disconnected client (S2073).
  • the content server may not connect any more clients.
  • the content server starts accepting a connection request from the client (S2074). .
  • content service ICHIBA is, find a free area of the client information database (S 2076). Specifically, the client information whose flag is FALS E is searched. The content server allocates the searched area to a new client information storage area (S2077), and clears the previous client information (S2078).
  • the content server sets the flag to TRUE (S2078), and stores the socket information obtained as a result of the reception in the socket information of the client information storage area. (S2079).
  • the content server when there is a connection request from the client to the push port, the content server starts accepting the request (S2091). If the reception is successful (S2092), the socket information obtained as a result of the reception is stored in the queue of the unprocessed push port (S2093). At this point, the content server has not yet identified the client connected to the push port. Such a push port is referred to as an unprocessed push port.
  • the content server acquires the command written to the push port (S2111). If the size of the command is greater than 0 (S2112) and if the command is a client index notification command (S2113), the content server sends the client indicated by the client index to the command port already. It is determined whether or not the connection is established (S2114). If the connection has not been completed, the content server sets the error code to -1 (failure) (S2115), and proceeds to step S2119. On the other hand, if the connection has already been completed, the content server registers this push port as a push port for the client (S2116).
  • the content server further deletes this push port from the queue of the unprocessed push port (S2117), and sets the error code to 0 (success) (S2118). Then, the content server returns the set error code to the client (S2119).
  • the content server accepts a command from the client. That is, the content server repeats steps S213 to S217 for the maximum number of clients (S212, S218, S219).
  • n is from 0 assigned to clients (maximum number of clients Specifically, the content server refers to the flag of the client information database and determines whether or not the n-th client is already connected to the command port (S213). If it is already connected, the content server determines whether or not writing has been made to the command port for the n-th client (S214). If there is a write, the content server determines whether the size of the written data is 0 or 1 (S215). If the value is 0 or 1, the content server clears the nth client information because the client has been disconnected or a socket error has occurred (S216). Otherwise, the content server performs the following command processing (S217).
  • the content server branches the process according to the command stored in the first 4 bytes (S2171). That is, if the status notification command is to notify the content server of the status change from the audio client (S2172), the status notified from the audio client is notified to the controller (S2173). Details will be described later. If the command is a content server request issue command from the controller to the audio client (S217)
  • the content server performs predetermined processing in response to the command.
  • the content server When a command from a certain audio client (hereinafter referred to as “the relevant audio client”) is a status notification command, referring to FIG. 21, the content server firstly obtains the status, volume, etc. stored in the parameters in the command. Is stored in the client information database (S21731). Therefore, the content server always keeps the latest client information.
  • the content server searches for a controller among all the clients, and transmits the status of the audio client to the searched controller. Know. Therefore, the content server repeats the following steps S 21 733 to S 21 736 for the maximum number of clients (S 21732, S 21737, S 21 738).
  • the content server refers to the client type of the client information and determines whether the n-th client is a controller (S21733). Therefore, it is possible to prevent the status of the audio client from being notified to the other audio client other than the controller. If it is a controller, the content server determines whether or not the controller has acquired a monitoring handle for the audio client (S21734). If the monitoring handle has been obtained, the content server determines whether or not the controller has completed the connection to the push port (S21735). If the connection to the push port has been completed, the content server writes the client information of the audio client to the push port of the controller, thereby notifying the controller of the status of the audio client (S21736). .
  • the content server first obtains the issuer controller, destination audio client, request content, and the like included in the command (S2175) 1) 0
  • the content server determines whether or not the publisher controller has obtained the control handle (described later) of the destination audio client (S21752), and if not, sets the error code to -1. Set (S21753). Therefore, it is possible to prevent a controller that has not acquired the control handle from controlling the audio client.
  • the content server refers to the flag in the client information to determine whether or not a connection has been established at the command port of the destination audio client (S 21 754). If not, set the error code to —2 (S21755). Therefore, uncontrollable audio clients A command can be prevented from being transmitted to the ant.
  • the content server determines whether or not a connection has been established at the push port of the destination audio client (S21756).
  • the error code is set to 1 (S21757).
  • the content server sends the request content from the controller to the push port of the destination audio client (S21758), and sets the error code to 0 (no error) (S2759).
  • the request from the controller may be sent to the destination audio client when the destination audio client makes an inquiry by polling. Good.
  • the user does not immediately designate a desired song, but first designates a desired song list, and selects a desired song from the song list. The details are described below.
  • the audio client transmits a music list request command to the content server in response to a user operation (S14).
  • the song list request command is a command for the audio client to request a desired song list from the content server.
  • the song list lists multiple song names and artist names.
  • the content server transmits the music list to the requesting audio client in response to the music list request command (S24), and the audio client receives the music list (S14).
  • the audio client designates a song included in the song list in accordance with the operation of the user (S15), and the content server prepares the distribution of the designated song according to the designation (S25). Next, the content server delivers the specified song to the audio client.
  • the audio client plays the distributed music (S16). Then, the audio client stops the reproduction of the music after the reproduction is completed or in response to a user operation (S17).
  • the audio client determines whether to request a play name list from the content server (S1401).
  • the playlist name is a list of playlist titles.
  • the playlist is a song list listing a plurality of songs selected by the user.
  • the content server stores a plurality of playlists created by the user in advance.
  • the user When a user wants to select one of a plurality of playlists stored on the content server, the user first checks the playlists on the content server to determine what playlists are registered. Request. The audio client requests the play name list from the content server in response to the user's operation, and receives the play name list from the content server (S1402). Next, the audio client determines whether to request the specified playlist (S1403). If the user specifies a desired playlist from the playlist, and the audio client requests the specified playlist in response to this operation, the process proceeds to step S1413; otherwise, the process proceeds to step S1413.
  • the audio client determines whether to request the artist list from the content server (S1405). Multiple artist names are listed in the artist list.
  • the artist list is not prepared in the content server in advance, but is created each time from the content information database shown in Fig. 14 in response to a request from the audio client.
  • the audio client When the user requests the artist list, the audio client requests the desired artist list from the content server according to the user's operation, and To receive the artist list from Tenssaba (S 1 4 0 6).
  • the audio client determines whether or not to request a song list of the specified artist (S1407). If the user specifies a desired artist from the artist list and the audio client requests a song list of the specified artist in response to this operation, the process proceeds to step S1413. If not, the process proceeds to step S1. It returns to 1401 or S1407 (S1408).
  • This song list contains the song names of the designated artist, but this song list is not prepared in advance on the content server as in the artist list above, but is in response to a request from the audio client. It is created each time from the content information database shown in Fig. 14.
  • the audio client determines whether or not to request the genre list from the content server (S1409). Multiple genre names are listed in the genre list.
  • the genre list is not prepared in advance in the content server like the above-mentioned taste list, but is created each time from the content information database shown in FIG. 14 in response to a request from the audio client.
  • the audio client When the user requests the genre list, the audio client requests the desired genre list from the content server in accordance with the operation of the user, and receives the genre list from the content server (S144).
  • the audio client determines whether or not to request a music list of the specified genre (S1411). If the user specifies a desired genre from the genre list, and the audio client requests a song list of the specified genre in response to this operation, the process proceeds to step S 1 4 13. Return to step S1401 or S1411 (S1412).
  • the song list lists the song names of the specified genre, but this song list is not prepared in advance on the content server like the song list of the above artist, and is not available from the audio client. It is created each time from the content information database shown in Fig. 14 upon request.
  • the audio client When requesting a song list, the audio client The music list is requested from the server, and the music list is received from the content server (S1413). Thus, the acquisition of the music list ends.
  • the audio client sends a list request command to request a genre list from the content server (S1421).
  • the content server responds with a genre list (S2401).
  • the audio client receives the genre list from the content server, and stores it in the memory 32 as shown in FIG. 26 (S144).
  • the genre list may be created in advance and stored on the content server, but this is not the case, and each time an audio client requests it, the content server will create a genre list based on the content information database shown in Fig. 14. Create a genre list.
  • a method of creating a genre list will be described.
  • the content information database has n records. Each record records the song name, genre, artist name, album name, and so on.
  • the content server When creating a genre list using such a content information database, referring to FIG. 28, first, the content server initializes an index indicating a record number to 0 (S2401) 1).
  • the content server determines whether or not the genre of the record indicated by the index already exists in the genre list (S2402). If not, the content server adds the genre of the record to the genre list (S2401 13), and then increments the index (S2404). On the other hand, if it exists, the content server skips step S24013 and immediately increments the index (S24014).
  • the content server determines whether or not the number of the record indicated by the index is smaller than the total number of records n (S24015), and if it is smaller, returns to step S24012. On the other hand, if it is not small, the creation of the genre list is completed.
  • the content server picks up the genres of all the songs stored in the content information database without duplication, and creates a genre list. In this way, the genre list is not created in the database in advance, but is created temporarily for each request from the audio client, so there is no need for a memory area to always store the genre list. .
  • the created genre list is transmitted from the content server to the audio client (S2401, S1422).
  • the user selects a desired genre (pops in this example) from the genre list.
  • the audio client requests the content server for a music list of the genre selected according to the operation of the user (S144).
  • the content server returns a music list of the genre selected in response to a request from the audio client to the content server (S2402).
  • the audio client receives the music list from the content server and stores it in the memory 32 as shown in FIG. 29 (S144).
  • the song list is not prepared in the content server in advance, but is created based on the content information database shown in FIG. That is, the content server creates a song list based on the content information database each time a song list is requested from the audio client.
  • a method of creating a music list will be described with reference to FIG.
  • the content server initializes the index indicating the record number in the content information database shown in FIG. 27 to 0 (S24021). Subsequently, the content server compares the genre of the record indicated by the index with the selected genre (pops in this example), and determines whether or not they match (S2402). If there is a match, the content server adds the song name, artist name, album name, etc. of the record to the song list (S24023), and then increments the index (S242424) . On the other hand, if they do not match, the content server skips step S2402 and immediately increments the index (S2404).
  • the content server determines that the number of the record indicated by the index is It is determined whether or not the number is smaller than the number n (S 2 4 0 2 5). If it is smaller, the process returns to step S 2 4 0 2 2. If not smaller, the creation of the music list is completed.
  • the content server picks up only the songs of the selected genre from the content information database and creates a song list.
  • the song list is not stored in the database in advance, but is created temporarily upon each request from the audio client. Therefore, a memory area for constantly storing the song list is unnecessary.
  • the created song list may be cached. In this case, a memory area for storing the song list is required, but the content server can immediately return the song list in response to a request from the audio client.
  • the song list is not sent all at once, but is sent little by little. That is, a request for the song list (S144, S142), a reply to the song list (S240, S240), and a reception of the song list (S144) , S 14 26) are repeated.
  • the audio client transmits a list request command as shown in FIG. 31 to the content server (S1442).
  • the V strike request command is a command by which the audio client requests a list from the content server.
  • the V client includes an acquisition start index, an acquisition number, and a list construction key.
  • the acquisition start index is an index indicating the first song that the audio client wants to acquire among the songs included in the selected genre list.
  • Acquisition number is the number of songs that the audio client wants to acquire.
  • the list construction key is composed of a filter type indicating a category of interest when extracting music from the content information database, and a specific keyword classified into the category.
  • the acquisition start index is set to 0
  • the number of acquisitions is set to 50
  • the content server In response to the list request command, the content server returns search data as shown in FIG. 32 to the audio client (S2402).
  • the search data includes the effective number and the remaining number in addition to a part of the music list.
  • the effective number is the number of songs that the content server has actually returned to the audio client.
  • the remaining number is the number of songs remaining after the song list returned by the content server to the audio client.
  • the audio client sends a list request command to the content server again because there are still 60 songs left in the content server (S1425).
  • the acquisition start index is set to 51 and the number of acquisitions is set to 50.
  • the content server returns search data to the audio client again (S2403).
  • the content server returns a reproduction music list to the audio client for 50 music pieces (S2403).
  • the audio client receives this music list and stores it in the memory 32 (S1426).
  • the acquisition start index is 0
  • songs are returned from the beginning of the song list, but if the acquisition start index is 10, for example, songs are returned from the 11th song in the song list Will be.
  • the total number of songs in the song list is -110
  • the audio client can store the entire song list at once. However, since the capacity of the memory 32 is much smaller than that of the content server, the audio client can usually store only a part of the song list in the memory 32. According to the above-described embodiment, since the audio client downloads the music list by dividing it from the content server, if an area for at least 50 music is prepared in the memory 32 of the audio client, 110 music can be obtained. All song lists can be downloaded. Therefore, the capacity of the memory 32 can be reduced.
  • Fig. 33A after the audio client stores a list of 50 songs in the memory 32, if the user wants to obtain the 51st song or later, as shown in Fig. 33B.
  • the audio client moves the latter song list to the first half of the memory 32.
  • FIG. 33C the audio client stores a list of 25 songs from the 51st song in the latter half of the memory 32.
  • the audio client repeats the above operation to receive the entire music list or to receive as many songs as can be stored in the memory 32.
  • a song is immediately selected from that genre.
  • a genre is selected, and then an album is selected from that genre.
  • songs may be selected from the album.
  • the audio client requests the content server for an album list of the genre selected according to the operation of the user (S14427).
  • the content server returns an album list of the genre selected in response to a request from the audio client to the content server (S2404).
  • the audio client receives the album list from the content server and stores it in the memory 32 (S14428).
  • the audio client requests the content server for a song list of the album selected in accordance with the user's operation (S14429).
  • Content server Returns the song list of the album selected in response to the request from the audio client to the content server (S2405).
  • the audio client requests information of the specified music from the content server (S1501), and the content server responds to the request to obtain information of the specified music. Is returned to the audio client (S2501), and the audio client receives it (S1502).
  • the audio client transmits a music information request command as shown in FIG. 37 (S1501).
  • This song information request command includes the file name of the designated song.
  • the content server returns music information as shown in FIG. 38 (S2501).
  • This music information includes the data offset and the data size of the specified music.
  • Music data such as MP3 generally has header information before content information. The data offset skips this header information and specifies the start address of the song. Since the content server analyzes the offset, the audio client does not need to analyze the offset. Generally, the content server has higher processing power than the audio client, so the processing speed of the entire system can be increased.
  • the data size is for confirming the end time of the song.
  • the audio client requests the content server to prepare for playback of the specified song (S1503), and the content server opens the file of the specified song in response to the request, and outputs the result to the audio system.
  • a reply is sent to the client (S2502), and the audio client receives it (S1504).
  • the audio client transmits a music reproduction preparation command as shown in FIG. 39 (S1503).
  • This song playback preparation command includes the file name of the designated song and a list construction key described later.
  • the content server opens the file in response to the music reproduction preparation command, and returns an error code as shown in FIG. 40 (S2502). This error code indicates that there is an error when the file transfer cannot be prepared, such as when the file does not exist. Otherwise, there is no error.
  • the client checks the sent error code and checks for errors. If so, predetermined error processing is performed (S1504).
  • the audio client requests the content server to transfer a specified range of music data of the specified music data to the content server (S1601).
  • a reply is sent to the client (S2601), and the audio client receives this and stores it in the memory 32 (S1602).
  • the audio client transmits a music data transfer request command as shown in FIG. 41 (S1601).
  • This music data transfer request command includes the acquisition start address and the acquired data length of the music data to be transferred.
  • the content server returns the music data from the start address specified by the acquisition start address for the acquired data length (S2601).
  • the size of the data transmitted at one time is not particularly limited, but is preferably 1K to 32K bytes, and more preferably 4K to 16K bytes.
  • the content server can reduce the load as the amount of data returned at a time is smaller, and the client can process faster as the amount of data received at a time is larger. This is the optimal value for both the content server and the client.
  • the size of such data is set in advance on the audio client side.
  • the audio client can acquire the specified range of music data from the content server, so that the music can be played from the middle as described later, and the user can perform fast forward playback, fast reverse playback, slow playback, etc. Music can be played freely according to the operation of.
  • the memory 32 includes a plurality of buffers (eight in the example shown in FIG. 43). As shown in Figure 44, the audio client sends the song data transfer request command to the beginning of the song. Get one buffer of music data from and store it. As shown in FIG. 45, the audio client similarly acquires and stores music data until the buffer is completely filled.
  • the audio client starts to output music data from the first buffer to the audio processing unit 34 as shown in FIG.
  • the audio client When the audio client outputs the music data and starts reproducing the music as described above, the audio client transmits the reproduction status to the content server (S1603).
  • the content server receives this and returns an error code to the audio client (S2602).
  • the audio client checks this error code, and if there is an error, performs predetermined error processing (S1604).
  • the music data is output after the buffer is completely filled with the music data.
  • the output may be started before the buffer is completely filled.
  • the audio client determines whether or not all the music data of the specified music has been received, based on the data size acquired in step S1502 (S1617). If all are received, the audio client determines whether or not the specified music has been reproduced based on the received music data (S16171), and if the reproduction has been completed, the stop or completion status is indicated. Send to server (S16 18). When the user operates the audio client and the audio client plays the specified song and finishes playing the song, or when the user operates the audio client and the audio client plays the song accordingly. Audio client sends stop status if stopped halfway I do. On the other hand, if the user operates the controller and the audio client plays the song specified by the controller and finishes playing the song, the audio client sends a completion status. The reason for distinguishing the stop status from the completion status in this way will be described later.
  • the content server receives this status and returns an error code to the audio client (S2608).
  • the audio client confirms this error code, and if there is an error, performs predetermined error processing (S1619).
  • music data is divided and transferred intermittently from the content server to the audio client, so that music can be played properly even with a small buffer capacity.
  • music data is transferred in units of bits, but when transferring music data of MP3, it is preferable to transfer in units of frames. This is because there are many advantages in special playback (described later) such as time display, fast forward or fast reverse playback. Therefore, in the case of MP3 music data, the audio client requests the music data in frame units. In response to this request, the content server searches for the MP3 frame header from the specified file and transfers it from the beginning of the frame. Since this header contains a parameter for calculating the data length, it is not difficult to find the head of the frame once the header is found.
  • the audio client performs the following processing before a series of processing such as requesting, returning, and acquiring music data. .
  • the audio client monitors the key input (S1620) and sets the skip amount to a value greater than 0 when the fast forward playback key is pressed. (S1662), otherwise, the skip amount is set to 0 (S1662).
  • step S1662 If the fast-forward playback key is not pressed in step S1662, the skip amount is set to 0 in step S1662.
  • the acquisition start address increases by the acquired data length. In this case, since the audio client continuously acquires music data, normal playback is performed.
  • the skip amount is set to a value larger than 0 in step S1661, so the audio client skips the music data by the skip amount. Get in. As a result, the audio client performs fast forward playback.
  • the skip amount is set to be the same as the acquired data length, double-speed fast-forward playback is performed. Also, for example, by setting the skip amount to twice the acquired data length, it is possible to reproduce at triple speed.
  • the audio client determines whether the fast-reverse playback key has been pressed instead of step S1662 above, and sets the skip amount to less than 0 instead of step S1661 above. , And the absolute value is set to a value larger than the previously acquired data length. If the absolute value of the skip amount is smaller than the previously obtained data length, the music data acquisition ranges overlap. If the acquired data length is constant each time, if the absolute value is set to twice the acquired data length, it is possible to perform reverse playback at the same speed as normal playback.
  • the audio client determines whether or not the acquisition start address calculated in step S1664 is within the range where music data exists (S1665). If so, the audio client proceeds to the next step S1610, but if not, the audio client stops playing. In the case of normal playback, the end of music data is detected, so there is no need to enter such an end condition.However, in the case of fast reverse playback, it is necessary to detect the beginning of music data, so that End condition is included. However, without entering such an end condition, the file of the next song may be opened for fast forward playback, or the file of the previous song may be opened for fast reverse playback. . In the case of MP3 music data, as described above, the position of the next frame header can be almost determined by reading the frame header. Therefore, fast-forward playback can be realized by repeating the operation of skipping a certain number of frames, playing back data of several frames thereafter, and skipping frames again.
  • the audio client monitors the key input (S1626, S1628), and if the pause key is pressed, sets the operation status to pause (S1627). If the play key is pressed, the operation status is set to play (S1629).
  • the audio client determines whether the operation status is paused (S1631). If paused, the audio client returns to step S1626 and does not start transferring the next music data. On the other hand, if it is not a pause, that is, if the play key is pressed to release the pause and the operation status changes to playback, the audio client proceeds to step S1610 and starts transferring the next music data.
  • the audio client stops reading the buffer. This is because previously transferred music data remains in the buffer.
  • the controller A k first establishes a connection with the content server S i.
  • controller Ak when power is supplied to controller Ak, controller Ak connects to the command port of content server Si (S3001).
  • the controller Ak issues a client index request command through this command port (S3002).
  • the content server Si returns the client index to the controller Ak in response to this command, and the controller Ak stores the obtained client index (S3003).
  • the controller Ak connects to the push port of the content server Si (S3004).
  • the controller Ak issues a client index notification command through this push port, and sends the client index stored in step S3003 to the content server (S3005).
  • the push port is opened (S3006).
  • the controller Ak notifies the content server S i of the client type through the command port (S 3007).
  • the controller Ak notifies that it is a controller as a client type.
  • the content server S i can distinguish between the audio client C j and the controller Ak based on the client type.
  • the controller Ak acquires the client information of the audio client Cj from the content server Si (S3008), and displays the status and the like included in the information on the monitor.
  • the controller Ak requests and acquires the monitoring handle and control handle of the audio client Cj connected to the content server S i from the content server S i. Yes (S3009).
  • the difference between the above connection procedure and the audio client C j is that the controller A k is a point that notifies the content server Si of a client type indicating that it is a controller. Another difference is that the controller Ak acquires a monitoring handle and / or a control handle. The details are described below.
  • controller Ak displays a list of all audio clients Cj connected to content server Si (S30091).
  • the controller Ak selects the audio client Cj to be monitored from the list according to the operation of the user (S30092).
  • the audio client C j to be monitored is selected only when the network audio system is started up for the first time in accordance with the user's operation. From the second time on, the audio client C j selected first is registered. Preferably, the registered audio client is automatically selected. .
  • the controller A k sends the client index of the selected audio client C j to the content server S i and requests its monitoring handle (S 30093).
  • the content server S i is the client of the source controller A 0001), and issues a monitoring handle to the source controller Ak (S20002).
  • the controller Ak acquires the monitoring handle of the selected audio client Cj (S30094).
  • the controller Ak selects the audio client Cj to be controlled from the list according to the operation of the user (S30095). Then, the controller Ak sends the client index of the selected audio client Cj to the content server Si, and requests the control handle (S30096).
  • the content server S i stores the client index of the transmission source controller Ak in association with the received client index of the audio client C j (S 20003), and issues a control handle to the transmission source controller Ak. (S20004).
  • the controller Ak Obtains the control handle of the selected audio client C j (S 3 0 9 7) o
  • the monitoring handle has a right to monitor the audio client C j given from the content server S i to the controller A k.
  • the content server S i transmits the client information of the client and the client C j via the push port to the controller A k at any time, and the controller A k updates the client information of the audio client C j accordingly.
  • the load on LAN 12 increases as the number of audio clients C j increases.
  • transmission of the status of the command audio client C j of the controller A k affects traffic on the LAN 12.
  • the content server Si transmits the client information of the audio clients C1 to C3 to all controllers. Although it is possible to transmit to A1 to A3, this increases network traffic and the load on the content server.
  • the controller A 1 acquires the monitoring handle of only the audio client C 1
  • the controller A 2 acquires the monitoring handle of only the audio client C 2
  • the content server S i The client information of client C1 is sent only to controller A1, and the client information of audio client C2 is sent only to controller A2.
  • the content server S i sends client information only to the controller A k that has acquired the monitoring handle of the audio client C j, network traffic and the load on the content server are reduced.
  • the controller C3 acquires the monitoring handles of all the audio clients C1 to C3, and the content server Si transmits the client information to all the controllers A1 to A3. You can do it.
  • control handle is a right to control the audio client Cj given from the content server Si to the controller Ak.
  • the audio client C j when there are a plurality of controllers A k, if any of the controllers A k can control the audio client C j, the audio client C j can play the music according to a command from a certain controller A k. During playback, another controller Ak may instruct the audio client Cj to stop playback or to play another song.
  • controllers from which a content server can obtain a control handle you can set a combination of audio clients and controllers that can control them.
  • the controller issues a control handle release command to the content server so that the control handle can be abandoned.
  • the controller A k can monitor the audio client C j by acquiring the monitoring handle as described above.
  • controller A k requests client information from content server S i (S 31), and content server S i returns client information in response (S 27).
  • a k acquires and stores this (S31).
  • the content server S i receives the client information from the audio client C j
  • the content server S i transmits the client information to the controller A k via the push port, and the controller A k acquires and stores this.
  • the controller A k displays the acquired client information (S32).
  • the monitoring function of the controller will be described in detail.
  • content server Si transmits client information in response to a request from controller Ak or reception of client information from an audio client (S2701).
  • the controller Ak Upon receiving this client information, the controller Ak checks whether there is any change in each information. That is, the client index is checked first (S3101), and the client information of which audio client Cj is stored. Then, the stored product ID and firmware ID of the audio client are confirmed (S3102, S3103).
  • the type of audio client is determined by the product ID, and the firmware version is determined by the firmware ID. If the firmware version applied to the audio client is out of date, the controller Ak accesses the customer service on the Internet, distributes the firmware to the audio client Cj, and automatically updates the firmware. Details of the firmware update will be described later.
  • the controller Ak checks the client type by analyzing the received client information, branches to the processing for the audio client Cj, and ignores the processing otherwise.
  • the controller Ak checks whether there is any change in the connection information (S3104), and if there is a change, changes the display of the connection state of the audio client Cj (S3105).
  • the power can be turned on to the plurality of audio clients Cj, and the controller Ak can always monitor whether or not the power is connected to the content server Si.
  • the controller Ak checks whether there is any change in the value of the volume (S3106), and if there is a change, changes the display of the volume value (S3107).
  • the controller Ak checks whether there is any change in the list construction key (described later) (S3108). If there is a change, the controller Ak uses the list construction key to request a music list from the content server Si (S3108). S 3109). The content server S i returns a song list in response to this request (S 2702), and the controller Ak sends this song list. Is received (S3110).
  • the controller Ak stores the received music list as a music list being played by the audio client C j, checks the number of the music currently being played in the music list, and stores the number (S3111) ).
  • controller A k checks whether there is any change in the song being played (S 3
  • the controller Ak checks whether there is any change in the status (S3116), and if there is a change, changes the display of the status (S3117). Even when the audio client C j is controlled by the remote controller, the controller Ak monitors and displays the status. If the status of the audio client Cj is the completion status (S3118), the controller Ak instructs the audio client Cj to continuously play the next song (S3119). Details of continuous playback will be described later.
  • the controller A k monitors the client type of each audio client C j. Also, the controller A k monitors the reproducible data format and displays only the reproducible song names.
  • the controller A k when the content server receives the client information from the client, the controller A k always monitors the audio client C j by forcibly sending the client information to the controller via the push port. Also, only the minimum necessary information is transmitted from the content server Si to the controller CL. Therefore, the processing load on the controller Ak is reduced. Even if there are a plurality of audio clients C], the controller A k can distinguish the audio client C j by the client index and update each client information in real time.
  • the controller Ak can control the audio client Cj by acquiring the control handle as described above.
  • controller Ak transmits a control command to content server S i (S 33), and content server S i transmits the control command to specified audio client C j (S 28).
  • the audio client Cj operates according to the control command, changes its status (S18), and sends the changed status to the content server Si (S19).
  • the content server Si sends this status to the controller Ak (S29), and the controller Ak changes the status of the stored client information accordingly (S34).
  • the audio client Cj receives and analyzes the data (S3002).
  • the audio client Cj acquires the specified file name from the content server Si (S3044).
  • the audio client C j specifies the song name, album, genre, etc. from the acquired Huai Nole name.
  • the audio client Cj designates the music and instructs the content server Si to transfer the music data of the music (S3005).
  • the audio client Cj plays back based on the transferred music data.
  • the audio client Cj stops the music data transfer by stopping the issuance of the song data transfer request command (S3007), and sets the stop status to the content.
  • the message is transmitted to the server Si (S3008).
  • the audio client Cj performs a predetermined process in response to a volume value set command, a pause command, an AV receiver control command, a firmware update command, and the like (S3009 to S3010). 1. 2. 3. 3. 2. Playback control
  • controller Ak checks the connection of audio client Cj (S3011), and if there is a connection, checks the firmware ID and product ID of audio client Cj (S3012, S3012). 3013).
  • the controller Ak determines the audio class based on the client type (S3014).
  • the controller Ak determines whether or not the music list of the desired artist has already been acquired (S3015). If not, the controller Ak acquires a music list of the desired artist from the content server Si (S3016). The controller Ak displays this music list on the display device.
  • the controller Ak selects that song in accordance with the user's input operation, and sends a playback command to the content server Si. (S3018).
  • This playback command includes the name of the file storing the data of the selected song and the client index of the audio client that is to play the song.
  • the controller Ak acquires the next song list of the desired artist again (S3016).
  • the content server Si specifies the audio client Cj based on the client index transmitted from the controller Ak, and transmits the file name of the selected music to the audio client Cj (S28).
  • the audio client Cj reproduces the desired music in response to the reproduction command transmitted from the controller Ak via the content server Si, and changes the status to the reproduction status (S18).
  • the audio client Cj sends the playback status to the content server Si (S19), and the content server Si sends the playback status to the controller Ak (S29).
  • Controller A k responds by changing the status of audio client C j to the playback status. Change (S34).
  • the song list includes songs in all formats, regardless of whether the audio client C j can play the format. Therefore, if the user selects a desired song and the controller Ak displays the song list acquired from the content server Si as it is to the user, the following problem occurs. In other words, even if the user selects a song whose format cannot be played by the audio client C j, the controller A k instructs the audio client C j to play the song selected by the user. There is no playback sound in the playback state.
  • the client type is composed of information on the client hardware configuration and information on the format that the audio client can play.
  • Information on hardware configuration includes: “Audio client (intelligent type)” is an audio client that can play music and receive remote control signals.
  • An “audio client (non-intelligent type)” is an audio client that can play music but cannot receive remote control signals.
  • a “controller” is a client that can monitor and control audio clients via a content server.
  • An “AVR client” is a client that has an EIA-232 port and can communicate with an AV receiver.
  • An “AVR controller” is a client that can control and monitor an AVR client via a content server.
  • Information on reproducible formats includes MP3, WAV, and WMA.
  • the client type of one client may include information on multiple hardware configurations, and may also include information on multiple playable formats.
  • the controller Ak determines whether or not the audio client Cj to play back a music piece is connected to the content server Si (S3501). If not connected, the audio client C j cannot play the song, so all songs in the song list are displayed as unplayable songs, or all songs are not displayed (S3502). Therefore, it is possible to prevent the user from selecting a music that cannot be reproduced by the audio client Cj.
  • the controller Ak determines whether or not the format of the n-th song in the song list is a format that can be reproduced by the audio client Cj (S3505). If the format is reproducible, the controller Ak displays the song as a reproducible song (S3506). If the format is not reproducible, the controller Ak displays it as a non-reproducible song or does not display it ( S 3507).
  • the controller Ak displays all the songs in the song list (playlist in this example) as shown in FIG. If the audio client C2 can play MP3 but not WAV, the MP3 song in the song list will be displayed as usual, but the WAV song will be light, as shown in Figure 63. indicate. Also, the music may not be displayed at all, instead of being displayed lightly. Therefore, it is possible to prevent the user from selecting a WAV tune that cannot be reproduced by the audio client C2.
  • the controller Ak redisplays the music list and displays the current audio client information in real time.
  • controller Ak determines whether or not the format of the selected song is a format force that audio client Cj can play (S3511). Specifically, the controller Ak Compare the format of the selected song with the playable format in the client type.
  • the controller Ak instructs the audio client Cj to play the selected music (S3152). On the other hand, if the format is not playable, the audio client Cj informs the user that the selected tune cannot be played (S351).
  • the controller A k displays the music that can be played by the audio client C j so that the user can recognize the music, thereby preventing the user from requesting the playback of the music that cannot be played by the audio client C j. Can be.
  • the audio client C j When the user operates the audio client C j and plays a song on the audio client C j, the audio client C j has acquired the song list, so the songs in the song list are played continuously. It is possible to However, if the audio client C j is playing the song specified by the controller A k, the audio client C j itself has not acquired the song list, so the audio client C j will not be able to retrieve the song in the song list. For continuous playback, the controller A k needs to instruct the audio client C j on the next song.
  • the audio client Cj reproduces a song according to a command from the controller Ak, and transmits a completion status when the reproduction is completed.
  • the audio client C j plays the song in response to the user's operation, and ends the playback, or the audio client C j plays the song in response to the user's operation.
  • a stop status different from the completion status is transmitted.
  • the controller receives the completion status, it determines that continuous playback should be performed, selects the next song after the previously selected song from the song list, and instructs the audio client to play the next song. I do. Also, if the controller receives the stop status, it does not instruct the audio client to play the next song.
  • the audio client transmits the completed status and the stop status separately according to the situation, and the controller should instruct the audio client to play the next song based on the received status. Can be determined.
  • the stop status is sent to the content server.
  • the transmission prevents the controller from inadvertently instructing the audio client to play the next song.
  • the content server receiving the completion status from the audio client transmits the completion status and the stop status to each controller separately. That is, referring to FIG. 65, when controller A 1 instructs audio client C 1 to play, controller A 1 first sends a play command for audio client C 1 to content server Si. .
  • the content server Si receives the playback command from the controller A1 and sends it to the audio client C1.
  • the audio client C1 receives the play command from the content server Si and starts playing the music.
  • the content server Si determines whether or not the nth client is a controller that has acquired the monitoring handle of the audio client C1 based on the client index n (S2903).
  • the content server S i determines whether or not the n-th client (controller) is the controller A 1 that has instructed the audio client C 1 to play (S 290 4) .
  • the content server Si sends the completion status received from the audio client C1 to the controller A1 (S2955), and the controller A1 sends the completion status to the controller A1. Is received (S3401).
  • the content server Si changes the stop status to the controller A2 instead of the completion status received from the audio client C1. (S2906), and the controller A2 receives this (S3402).
  • the controller A 1 selects the next song after the previously selected song from the song list and plays the playback command for causing the audio client C 1 to play the selected song. Is transmitted to the content server Si (S3403).
  • the content server Si receives this and sends it to the audio client C1.
  • the audio client C1 reproduces the next music according to the reproduction command transmitted from the content server Si.
  • the controller A2 that has received the stop status determines that the audio client C1 is in the stop state, and does not perform the continuous playback processing as in the controller A1.
  • the audio client C j sends the playback status to the content server S i when the status becomes playback, and sends the post status to the content server S i when the status is paused, and when the playback of the song specified by itself ends,
  • the stop status is transmitted to the content server S i.
  • the completion status is transmitted to the content server S i.
  • the controller A k can perform the playback by itself. It is possible to determine whether or not the commanded audio client C j has finished playing the music. As a result, the controller A k can determine whether it is necessary to instruct the audio client C j to perform continuous playback or only to display the stop status of the audio client C j.
  • the audio client Cj When the audio client Cj finishes playing the song, it plays the song according to the command from the dedicated remote controller, and when the audio client Cj plays the song according to the command from the controller Ak that acquires both the monitoring handle and the control handle.
  • the status to be notified to the content server Si may be distinguished between when and. This is because a dedicated remote control that has obtained only the control handle cannot receive the status from the content server Si and cannot perform continuous playback processing.
  • the controller A k acquires various music lists from the content server S i, selects a music from the music list, and causes the audio client C j to play the music. Then, the controller A k monitors the status of the audio client C j, and when the audio client C j finishes playing the selected song, selects the next song from the acquired song list, and To the audio client C j. In this way, the controller A k causes the audio client C j to continuously play music, but it is necessary to memorize a music list in order to instruct reproduction of the next music. Therefore, the power of the controller A k that instructs the playback of the song cannot be turned off during the playback of the song.
  • the controller A k can instruct the audio client C j to perform continuous playback even if the power of the controller A k that instructs the audio client C j to play is cut off halfway. .
  • a list construction key is defined so that a song list can be uniquely created from the content information database. Then, the list construction key is added to the client information as information for specifying the music list being reproduced by the audio client Cj.
  • the list construction key is composed of “filter type” and “keyword”.
  • the following describes the procedure in which the controller performs continuous playback processing on an audio client for which playback of a song specified by the controller has been completed.
  • controller Ak when audio client Cj instructed to play from controller Ak finishes playing music, it sends a completion status to content server Si. Since the status of the audio client Cj has changed, the content server Si transmits client information including the completion status, the file name of the song being played back, and the list construction key to the controller Ak. Upon receiving the client information, the controller Ak starts the client information display processing shown in FIG. Since this processing has already been described, here, the part relating to the continuous reproduction control using the list construction key will be mainly described.
  • the controller Ak checks whether there is any change in the list construction key (S 310 8), and if there is any change, uses the list construction key to acquire the music list being reproduced by the audio client C j from the content server S i. (S3110). Specifically, the received list construction key is transmitted to the content server, and the content server creates a list based on the list construction key and transmits the list to the controller. Even if the power is turned off and the controller A k does not store the list of songs being played by the audio client C j, the list of songs being played using the list construction key obtained after connecting to the content server From the content server Si.
  • the controller Ak since the status has changed to the completion status, the controller Ak performs a completion process (S3119). That is, the controller Ak selects the next song from the song list after the song that the audio client C j has finished playing, and instructs the audio client C j to play back the selected song.
  • the controller A k increments the reproduction music number n stored in step S 3111 in FIG. 56 (S 31191), and specifies the next music to be reproduced. Subsequently, the controller Ak determines whether or not the reproduction music number n is equal to or less than the number of music pieces in the music list (S31192). If the playback song number n exceeds the number of songs in the song list, the controller Ak determines that the audio client C j has played to the end of the song list and sets the playback song number n to 1 (S3 1193). Return the next song to be played back to the first song in the song list.
  • the controller A k checks whether the n-th song is in a format that can be played back by the audio client C j (S31194), and If so, the audio client Cj is instructed to play the n-th song in the song list (S31195). If the format cannot be reproduced, this completion processing is performed recursively to reproduce the next music. In short, the controller Ak asks the audio client C j to skip the non-playable format song and play the next song. Command client C j.
  • the controller A k As described above, if the controller A k is turned off after instructing the audio client C j to play a song, the controller A k loses the song list when the controller A k is instructed to play. Then, when the power is turned on again and the connection with the content server is completed, the controller A k sends the client information of the audio client C j from the content server S i as described in S3008 in FIG. To get. Since the client information includes the list construction key, the controller A k can acquire the music list being reproduced by the client CL again based on the list construction key.
  • controller A k instructs audio client C j to play the song and then powers down, audio client C j will finish playing the song and send a completion status, When this completion status is received by the controller A k, the audio client C j can be instructed to play the next song in accordance with the reacquired song list.
  • the controller Ak may send a stop command to the audio client Cj via the content server S #. In this case, the stop status is returned from the audio client Cj to the controller Ak via the content server Si.
  • the controller A k may send a pause command to the audio client C j via the content server Si. In this case, the pause status is returned from the audio client Cj to the controller Ak via the content server Si.
  • controller management table is stored in the HDD 14 of the content server S1.
  • Table 1 shows an example of the controller management table.
  • the priority order for controlling the audio client C1 and the controller indices assigned to the controllers A1 to Ak are recorded in association with each other.
  • the controller A1 requests a connection from the content server S1, and if the content server S1 accepts the request, a connection is established between the controller A1 and the content server S1 (S3300). 1).
  • controller A2 requests a connection from content server S1, and if content server S1 accepts the request, a connection is established between controller A2 and content server S1 (S 3 0 4 0 1).
  • the content server S 1 records the controller index of the controller A 1 in the controller management table in association with the priority “first”, and further associates the controller with the priority “second” in the controller management table.
  • the controller index of A2 is recorded (S2101).
  • the controller management table shown in Table 1 above is obtained.
  • the controller A1 has the highest priority and has the authority of the continuous reproduction process, and then the controller A2 has the right of the continuous reproduction process.
  • the controller A1 requests the content server S1 for a music list to be continuously played back (S03032). Specifically, the resources required to create a song list The key is transmitted to the content server S1.
  • the list construction key is a search key for extracting such a music list from the content server S1 and uniquely creating the same.
  • the list construction key is composed of two parameters: the type of filter and the keyword. --The type of filter specifies the category of the song to be included in the song list, and is specifically as shown in FIG.
  • the controller A1 instructs the audio client C1 via the content server S1 to play a song specified from the acquired song list according to a user operation (S30303).
  • the audio client C1 requests the content server S1 for the music content of the specified music piece in response to the reproduction command from the controller A1 (S10201).
  • the content server S1 distributes the music content requested by the audio client C1 to the audio client C1 (S20103).
  • the audio client C1 starts playing music based on the music content transmitted from the content server S1 (S10202).
  • the audio client C1 finishes playing the specified music to the end, the audio client C1 sends a completion status indicating that to the content server S1 (S10203).
  • the content server S1 When receiving the completion status from the audio client C1, the content server S1 refers to the controller management table 104 as shown in FIG. 74, and transfers the completion status to the highest-ranked controller A1 without any change. Also sends a stop status different from the completion status to the lower-level controller A2 (S201).
  • the controller A1 instructs the audio client C1 via the content server S1 to continuously play the next song according to the song list (S03034).
  • the audio client C1 reproduces the next music in response to the continuous reproduction command from the controller A1. Thereafter, the audio client C1 repeats the operation from the above step S201.
  • the controller A 2 receives the stop status from the content server S 1, the controller A 2 does not cause any active action and simply monitors the status of the audio client C 1.
  • the content server S1 updates the controller management table 104. Specifically, the controller index of the controller disconnected from the content server S1 is deleted, and the priority of the lower controller index is sequentially increased. For example, as shown in Figure 75, when the controller A 1 with the highest priority is disconnected from the content server S 1, the controller A 2 with the next priority goes up and plays continuously on behalf of the controller A 1. Acquire processing authority. Also, in the above example, the controller A1 instructs playback first and the same controller A1 instructs continuous playback, but even if the controller A2 instructs playback first. As long as the priority of controller A1 is the highest, controller A1 commands continuous playback.
  • the controller A 1 since the controller A 1 does not have a song list even when receiving the completion status from the content server S 1, the controller A 1 uses the list construction key of the audio client C 1 registered in the content server S 1.
  • the song list is obtained from the content server S 1 and the next song is designated according to the song list.
  • not all the songs included in the song list are stored in one content server S1, but may be distributed and stored in a plurality of content servers S1, Si.
  • the audio client C1 needs to play the music of the content server S1 and then play the music of another content server Si. Therefore, the audio client C1 that has finished playing the music on the content server S1 disconnects the connection with the content server S1 and performs server switching processing of reconnecting to the content server Si.
  • the audio client C1 which has reconnected to the content server Si, requests the music content of the specified music to the content server Si in response to the playback command from the controller A1, and the content server Si is requested.
  • the distributed music content is distributed to the audio client C1.
  • the audio client C1 When the audio client C1 finishes playing the song, it sends a completion status to the content server Si.
  • the content server Si refers to the internal controller management table, transfers the completion status to the highest-ranked controller, and transmits the stop status to the lower-level controller.
  • the controller management table in the content server S i may be the same as or different from the controller management table in the content server S 1.
  • one content server may determine the priority of the controller management table and transfer the controller management table to another content server.
  • each content server may determine the priority of the controller management table independently.
  • the content server S1 when the content server S1 receives the completion status from the audio client C1, the content server S1 refers to the controller management table and transmits the completion status only to the highest priority controller A1. However, since the stop status is transmitted to the other controller A2, only the controller A1 having the highest priority instructs continuous playback, and the other controller A2 does not instruct continuous playback. No. Therefore, it is possible to eliminate the conflict of the continuous reproduction command and to execute the continuous reproduction process normally.
  • the priority order is determined based on the order of connection with the content server S1, but is not limited to this, and may be determined, for example, in the order of issuing an instruction to the audio client C1. Also, there is no need to have multiple content servers, but at least one. You don't have to have multiple audio clients, just at least one.
  • computer programs for executing the steps shown in FIG. 76 are installed in the content servers S1 to Si, the audio clients C1 to Cj, and the controllers Al to Ak, respectively.
  • This embodiment is also applicable to a network-type audio system including a plurality of controllers A1 to Ak, as in the above embodiment, and it is sufficient that at least one content server or audio client is provided.
  • a control handle management table is stored in the controllers Al to Ak.
  • An example of the control handle management table is shown in Table 2 below.
  • the client indexes of the audio clients C1 to Cj and the controller indexes of the controllers Al to Ak that have acquired the control handles of the audio clients C1 to Cj are recorded in association with each other. Is done.
  • the control handle indicates the authority to control the audio client.
  • the control handle of the audio client C1 is acquired by the controller A1, but the control handles of the audio clients C2 and Cj are not acquired by any controller.
  • the content server Sl the audio client C1, and the controller
  • the controller A1 acquires a control handle necessary for controlling the audio client C1 before connecting to the content server S1 or instructing the audio client C1 to play. Specifically, the controller A1 refers to the control handle management table, and determines whether or not the control handle of the audio client C1 is locked (S3031).
  • control handle management table shown in Table 4 corresponds to the client index of the audio client C1.
  • the controller index of the controller is recorded.
  • the state in which the control handle has already been acquired in this way is referred to as "the control handle is locked".
  • the control handle of audio client C 1 is still the other controller
  • control handle is not locked (unlocked)”.
  • the control Undore is not locked.
  • controller A1 If the control handle of audio client C1 is locked, controller A1 will fail to obtain the control handle. On the other hand, if not, the controller A1 requests the content server S1 to obtain a control handle (S30312). In response to this request, the content server S1 permits the controller A1 to acquire the control handle (S201 11). As a result, the controller A1 acquires the control handle, and further locks the control handle so as not to be acquired by the other controllers A2 to Ak (S30313). Specifically, the controller A1 updates the control handle management table, and thereby records the controller index of the controller A1 in association with the client index of the audio client C1. The content server S1 updates the control handle management tables of the other controllers A2 to Ak so as to synchronize with them.
  • the controller A1 which has obtained the control handle, instructs the audio client C1 to play back the music specified by the user operation from the music list via the content server S1 (S30314).
  • the content server S1 transfers this playback command to the audio client C1 (S20112).
  • the audio client C1 starts reproducing the specified music in response to the reproduction command (S1021 1).
  • the audio client C1 When the audio client C1 finishes playing the song to the end, as shown in FIG. 77, it sends a completion status to the content server S1 (S10212). The content server S1 transfers this completion status to all the controllers Al to Ak (S20113).
  • the controller A1 determines whether or not the status is the completion status from the audio client C1 which has obtained the control handle (S30315), and if so, executes the continuous playback processing (S30316). Otherwise, ignore the completion status and simply monitor the status of audio client C1. In this example, since the controller A1 has obtained the control handle of the audio client C1, it executes continuous playback processing (S30316), and instructs reproduction of the next music according to the music list (S30314). . On the other hand, if the audio client C1 does not play the song to the end and stops playing in the middle of the song, it sends a stop status to the content server S1 (S10213). The content server S1 transfers this stop status to all the controllers Al to Ak (S20114).
  • the controller A1 determines whether or not the status is the stop status from the audio client C1 which has acquired the control handle (S30317), and if so, releases the control handle of the audio client C1 (unlocks). (S30318), otherwise, ignore the stop status.
  • the controller A1 receives the stop status from the audio client C1 which has obtained the control handle as described above, and also obtains the control handle when the controller A1 is disconnected from the content server S1. Cancel. When the control handle of the audio client C1 is released, any of the controllers A1 to Ak can acquire the control handle.
  • the audio client C 1 is configured as shown in FIG.
  • the connection is switched from the content server S1 to another content server S i.
  • the content server Si receives the completion status from the audio client C1
  • the continuous playback process is executed only when the completion status is received from the acquired audio client. In this example, since the controller A1 has obtained the control handle of the audio client C1, only the controller A1 executes the continuous playback processing.
  • each of the controllers Al to Ak since each of the controllers Al to Ak has a control handle management table, all of the completion statuses transmitted from the audio client C1 are notified by the content server S1. Each of the controllers Al to Ak receives the control handle even if the Continuous playback processing is executed only when the completion status is received from the Dio client. Therefore, it is possible to eliminate the conflict of the continuous reproduction command and to execute the continuous reproduction process normally.
  • control handle management table is stored in the controllers A 1 to A k, but may be stored in the content servers S 1 to S i. Also, instead of locking the control handle, the last commanded controller may obtain the control handle. That is, if one controller A1 obtains the control handle of one client C1 and another controller A2 instructs the client C1 to play, the controller A2 obtains the control handle. However, the controller A1 may lose the control handle.
  • the controller A1 instructs the audio client C1 to reproduce the music via the content server S1.
  • the audio client C1 requests the music content of the music from the content server S1 in response to the instruction, and the content server S1 distributes the music content to the audio client C1 in response to the request.
  • the audio client C1 starts playing the music based on the music content received from the rooster.
  • the audio client C1 sends a completion status to the content server S1.
  • the content server S1 instructs the audio client C1 to continuously play back the next music piece, and transmits a stop status to the controller A1, unlike the above embodiment.
  • a computer program for executing the steps shown in FIG. 79 is installed in each of the content server S1, the audio client C1, and the controller A1.
  • the steps in FIG. 79 are different from the embodiment shown in FIG. 73 in steps S 2 0 3 2 3, S 1 0 2 2 1, S 2 0 1 2 3 to S 2 1 1 2 5.
  • the controller A1 instructs the audio client C1 to play the music as in the above embodiment, but differs from the above embodiment, and furthermore, the list used to obtain the music list in step S302.
  • the construction key is transmitted to the audio client C1 (S03032).
  • the audio client C 1 requests the music content of the specified music to the content server S 1 as in the first embodiment, and transfers the list construction key transmitted from the controller A 1 to the content server S 1 (S1022 1).
  • the content server S1 distributes the music content of the designated song to the audio client C1 in the same manner as in the above-described embodiment.
  • the list construction key transferred from the audio client C1 is different from the content server S1.
  • a song list is created based on the song (S201).
  • the list construction key and the song list are recorded as client information in association with the client index of the audio client C1.
  • the content server S1 knows the music list that the audio client C1 is playing according to the command from the controller A1.
  • the content server S1 After the end of the music reproduction, the content server S1, which has received the completion status from the audio client C1, transmits a stop status to the controller A1, unlike the above-described embodiment (S21024). Then, the content server S1 instructs the audio client C1 to reproduce the next song according to the song list created in step S123 (S20125).
  • the continuous playback command from the controller does not conflict, and the continuous playback process can be executed normally.
  • the example above has only one audio client, but there can be more than one.
  • audio clients C1 and C2 are connected to content server S1.
  • the content server S1 stores the list construction key and the music list being reproduced by the audio clients C1 and C2, respectively.
  • the completion status is transmitted from the audio client C1 to the content server S1
  • the content server S1 stores the completion status.
  • the audio client C1 instructs the audio client C1 to perform continuous reproduction in accordance with the music list of the audio client C1, and transmits a stop status to the controller A1.
  • the content server S1 instructs the audio client C2 to perform continuous playback according to the stored music client C2 music list, and the controller A1. Send stop status to.
  • the content server S1 instructs continuous playback while distinguishing the audio clients C1 and C2, there is no conflict between continuous playback instructions.
  • audio clients C1 and C2 are connected to content server S1, and audio client C3 is connected to content server S2.
  • the audio client since only one content server is connected to each client, the audio client sends a completion status only to the connected content server.
  • the content server S1 instructs the audio client C1 to continuously play when receiving the completion status from the audio client C1, and continuously plays the audio client C2 when receiving the completion status from the audio client C2.
  • the content server S2 instructs the audio client C3 to perform continuous reproduction. Therefore, even in this case, since the only content server that instructs the audio client to perform continuous playback is the only one on the network, continuous playback commands do not conflict.
  • the audio client C2 disconnects the connection with the content server S1 and reconnects to the content server S2.
  • the content server S2 creates a music list based on the list construction key transmitted from the audio client C2, and stores the list construction key and the music list as client information of the audio client C2. Audio
  • the client C2 finishes playing the music distributed from the content server S2, it sends a completion status to the content server S2.
  • the content server S2 instructs the audio client C2 to perform continuous playback and transmits a stop status to the controller A1. Therefore, also in this case, the content server that instructs the audio client to perform continuous playback is the only content server on the network, so that continuous playback commands do not conflict.
  • controllers A1 and A2 there may be not only audio clients and content servers, but also two or more controllers.
  • the content server S1 transmits a stop status not only to the controller A1 but also to the controller A2.
  • the content server S2 also receives the completion status from the audio client C3, it sends a stop status not only to the controller A1 but also to the controller A2.
  • the controllers A1 and A2 do not have the function of instructing continuous playback, but merely have the function of monitoring the status of the audio clients C1 to C3. Absent.
  • the computer programs for executing the steps shown in FIG. 84 are the content servers S1 to Si and the audio client C1. ⁇ C j and controllers A l ⁇ A k respectively. Steps S1023 to S10235 in FIG. 84 are different from those of the embodiment shown in FIG. 79, and therefore, the following description will focus on them.
  • the controller A1 instructs the audio client C1 to play the specified song, and sends a list construction key to the audio client C1 (S303). 2 3), the audio client C 1 requests the specified music from the content server S 1, and starts playing the music distributed from the content server S 1 in response to the request (S 102 0 2) . At this time, the audio client C1 stores the list construction key transmitted from the controller A1. Subsequently, the audio client C1 sends the stored list construction key to the content server S1, and requests the content server S1 to provide the same song list as the song list used for the song selection by the controller A1 (S10233). The content server S1 creates a music list based on the received list construction key, and sends it to the audio client C1 (S20133). The audio client C1 stores the received music list and specifies the music currently being played from the music list (S10234).
  • the audio client C1 performs the server switching process in the same manner as described above. As described above, according to the present embodiment, since audio client C1 itself holds the list construction key and acquires the music list by using it, it is necessary to execute the continuous playback processing by itself. Can be. Therefore, the audio client C1 does not receive the continuous playback command from the controller A1 or the content server S1, and the continuous playback command does not conflict.
  • the audio client C1 acquires the music list using the list construction key while the music is being reproduced, but may be after the reproduction of the music is completed. Also, the audio client C1 stores the acquired song list, but may not acquire the song list and use the list construction key to execute the continuous playback process to acquire the song list.
  • the computer programs for executing the steps shown in FIG. 85 are the content servers S1 to Si and the audio client.
  • C1 to Cj and ⁇ are installed in the controllers Al to Ak, respectively.
  • Steps S30341 to S30345 and S20141 in FIG. 85 are different from those in the embodiment shown in FIG. 76, and therefore, the description will be focused on these.
  • the content server S1 in the present embodiment stores a playback instruction management table in which a client index and a controller index are associated with each other. I have.
  • An example of this table ⁇ / is shown in Table 3 below.
  • the playback instruction management table shown in Table 3 records the controller index of the latest controller A 1 that has issued an instruction to the audio client C 1 to play back. Also an audio client
  • the controller index of the latest controller A2 that instructed C2 to play is recorded.
  • Table 3 Playback instruction management table
  • a controller instructs an audio client to play a song stored in a content server (S30341).
  • controller A1 instructs the audio client C1 to play the music stored in the content server S1 via the content server S1.
  • audio clients C1 and C2 and controllers A1 to A3 are connected to a content server S1.
  • the controller A1 determines whether the audio client C1 is connected to the content server S1 (S30342). In this example, since the audio client C1 is connected to the content server S1, the process proceeds to step S314.
  • the controller A1 instructs the audio client C1 to play the song specified in the song list via the content server S1 (S30314).
  • the content server S1 executes a predetermined reproduction command management process according to the reproduction command (S20141).
  • content server S1 records the controller index of controller A1 in association with the client index of audio client C1 in the playback instruction management table (S201441). As a result, the content server S1 makes the controller A1 This means that it is the controller that last commanded playback to client C1. The content server S1 transfers the playback command from the controller A1 to the audio client C1 (S201412).
  • the audio client C1 starts the reproduction of the music in response to the reproduction command from the controller A1 (S10211), and when the reproduction is completed, transmits a completion status to the content server S1 (S10212).
  • the content server S1 When the content server S1 receives the completion status from the audio client C1, the content server S1 refers to the reproduction instruction management table, identifies the controller A1 which last instructed the audio client C1 to perform the reproduction, and gives the controller A1 the completion status. And the stop status is transmitted to the other controllers A2 and A3 (S201413). The controller A1 having received the completion status executes a continuous reproduction process on the audio client C1 (S30316). On the other hand, the controllers A2 and A3 that have received the stop status do not take any active action, but simply monitor the status of the audio client C1.
  • the audio client C1 will Stops playing the current song and starts playing a new song according to the command from controller A2.
  • the content server S1 updates the playback instruction management table, and rewrites the controller index of the controller A1 to the controller index of the controller A2 as shown in Table 4 below.
  • Table 4 Playback instruction management table
  • the controller A3 instructs the audio client C1 to play the music stored in another content server S2 via the content server S1.
  • the controller A3 determines whether or not the audio client C1 is connected to the content server S2 (S30342). In this example, since the audio client C1 is not connected to the content server S2, the controller A3 executes a predetermined server switching process (S30343).
  • controller A3 instructs audio client C1 to switch from content server S1 to content server S2 via content server S1 (S303431).
  • the content server S1 transfers this switching instruction to the audio client C1 (S201401).
  • the audio client C1 disconnects the currently connected content server S1 (S102401), and requests the new content server S2 to connect in response to the switching instruction (S102402).
  • the content server S2 establishes a connection with the audio client C1 in response to the request (S201402).
  • the controller A3 checks the connection with the content server S2 (S30344).
  • the controller A3 instructs the audio client C1 to play back the music via the content server S2 (S30314).
  • the content server S2 records the controller index of the controller A3 in association with the client index of the audio client C1 in the playback command management table as shown in Table 5 below. (S 201441).
  • Table 5 Playback instruction management table
  • the content server S2 transfers the playback command from the controller A3 to the audio client C1 (S201412).
  • the audio client C1 starts the reproduction of the music in response to the reproduction command from the controller A3 (S1021 1), and when the reproduction is completed, sends a completion status to the content server S2 (S1021 2).
  • the content server S2 receives the completion status from the controller A3, the content server S2 refers to the playback instruction management table to execute the completion.
  • the controller A3 that has instructed the last playback command to the audio client C1 is specified, the completion status is transmitted to the controller A3, and the stop status is transmitted to the other controllers A1 and A2 (S1413).
  • the controller A3 that has received the completion status executes the continuous reproduction process on the audio client C1 (S30316).
  • the controllers A1 and A2 that have received the stop status do not take any active action, but simply monitor the status of the audio client C1.
  • the content server manages the controller that last instructed the audio client to play back, and transfers the completion status from the audio client only to that controller, Only the controller instructs the audio client to play continuously. Therefore, continuous playback instructions do not conflict, and continuous playback processing can be executed normally.
  • AVR clients AC1 and AC2 are connected to LAN12.
  • the AV receiver AVR1 is connected to the AVR client AC1 by EIA-232.
  • AV receiver AVR2 is connected to AVR client AC1 by USB.
  • the AV receiver AVR3 is connected to the AVR client AC2 by a manufacturer-specific serial interface.
  • each of the AVR clients AC1 and AC2 may notify the content server Si of information on an interface such as EIA-232 or USB.
  • the AVR client AC 1 can acquire the model information such as the vendor ID and the product ID of the AV receiver AVR 2, so that the content server S i Notify.
  • the vendor ID and product ID of the connected AV receiver AVR1 are sent to the AVR client AC1. It is registered in advance, and the AVR client AC1 notifies the content server Si thereof.
  • AVR client if there is more than one AV receiver that could be connected The communication protocol with the AVR client should be determined so that the AVR client obtains the model information of the AV receiver.
  • an AVR client sends a packet that inquires for model information at fixed communication conditions (bit rate, bit length, parity, etc.) at fixed time intervals (for example, every 1 second), and the AV receiver responds by sending the model information. What is necessary is just to send back the packet containing it.
  • This allows the AVR client to specify the connected AV receiver.
  • the AVR client may acquire the model information of the AV receiver after the connection with the content server is established. Is notified to the content server Si.
  • the content server Si can acquire the model information of all the AV receivers AVR1 to AVR3 connected to or scheduled to be connected to the AVR clients AC1 and AC2. Since the model information is also notified from the content server Si to the controller Ak, the controller Ak also acquires the model information.
  • the AV receiver AVR has various controlled elements such as a volume, an input switching switch, and a sound field control DSP.
  • the controller Ak issues a control command specifying such a controlled element. Therefore, the controller has model information on what controlled element the AV receiver AVR has.
  • the controller Ak may request the model information from the content server Si using the vendor ID and the product ID of the AV receiver AVR as keys.
  • the control command is output from the controller Ak and transmitted to the AV receiver AVR via the content server Si and the AVR client AC.
  • the status is output from the AV receiver AVR and transmitted to the controller Ak via the AVR client AC and the content server Si.
  • the AVR client AC After confirming that the control command is for the AV receiver AVR, the AVR client AC outputs the control command to the AV receiver AVR. If the control command controls the volume value, the control issued by the controller Ak The command is sent to the AV receiver ACR via the content server Si and the AVR client AC, thereby controlling the volume.
  • the controller Ak sends a control command to the content server S i (S 35), and the content server S i sends this to the specified AVR client AC (S 28). Transmits this to the AV receiver AVR (S101).
  • the AVR client AC receives the status from the AV receiver AVR and sends it to the controller Ak (S102), the content server sends the SV to the controller Ak (S29), and the controller Ak responds accordingly to the AV receiver
  • the status of the AVR is updated (S36).
  • the controller Ak determines the AV receiver AVR to be controlled and the control content (S3501), and generates a command body based on the control content (S3502). Subsequently, as shown in FIG. 95A, the controller Ak sends a control command in which destination information is added to the command body to the content server Si (S3503).
  • the destination information here includes an AV receiver designation unit that designates an AV receiver AVR to be controlled, and an AVR client designation unit that designates an AVR client AC connected to the AV receiver AVR.
  • the content server Si receives this control command, and extracts the AVR client designation part from the received control command as shown in FIG. 95B (S2801).
  • the content server Si determines the designated AVR client AC based on the AVR client designation section. Subsequently, the content server Si transmits a control command from which the AVR client designation section has been removed to the designated AVR client AC (S2802).
  • the AVR client AC receives this control command, and extracts the AV receiver designation part from the received control command as shown in FIG. 95C (S1011).
  • the AVR client AC receives the AV receiver specified based on the AV receiver Judge the server.
  • the AVR client AC sends a control command consisting of only the command body to the specified AV receiver (S2802).
  • Network traffic can be reduced by transferring control commands by sequentially removing unnecessary designations.
  • the control command may be transferred as it is without removing the specified part.
  • the character strings in the command body do not need to be exactly the same, as long as they have the same meaning. That is, it is sufficient that the control command finally transmitted from the AVR client AC to the AV receiver AVR has a format that can be understood by the AV receiver AVR.
  • the AV receiver AVR that has received the control command in this way controls the controlled element according to the control command.
  • the AV receiver AVR sends the status to the AVR client AC.
  • This status consists only of the status itself, as shown in Figure 96A.
  • the AVR client AC receives and stores the status of the AV receiver AVR (S1021), adds transmission source information to the received status, and transmits it to the content server Si, as shown in FIG. 96B. Yes (S 1022).
  • the source information here includes an A / V receiver specifying unit that specifies the A / V receiver AVR that transmitted the status.
  • the content server Si receives the status from the AVR client AC, further adds the AVR client designation section to the received status, and sends it to the controller Ak, as shown in FIG. 96C (S2901). .
  • the controller Ak receives the status from the content server Si, extracts the AVR client designation section and the AV receiver designation section from the received status, and updates the status of the AV receiver AVR (S3601).
  • the status can include not only the status of the controlled element but also the status of elements that cannot be controlled by the controller Ak (for example, audio signal level information). Such status is also transmitted to the controller Ak via the AVR client AC and the content server Si.
  • the status is not only when the controlled element of the AV receiver AVR is controlled by the control command, but also It is also sent when the status changes. That is, even when the connection between the AVR client AC and the AV receiver AVR is confirmed, the AVR client AC acquires the status of the AV receiver AVR and transmits it to the content server S.
  • the controller A k that finally receives the status in this way can grasp the status of each AV receiver AVR. As a result, the controller confirms the control and displays the status.
  • the AV receiver AVR or the AVR client AC may appropriately reduce the status transmission frequency. This is because frequently changing statuses are difficult to recognize even if they are displayed as they are, and if sent frequently, unnecessary traffic will be generated on the network and the load on the content server will increase.
  • a controlled element with a complex # component may have multiple controlled parts.
  • the DSP for sound field control in FIG. 91 requires setting of many coefficient data, and the setting is performed by a microcontroller that controls the DSP.
  • the user When changing this setting, in a stand-alone system, the user operates the keys while displaying the status status on the AV receiver body or the display device connected to it. It is the firmware of the microcontroller that performs this operation, and if it is possible to perform complex settings and easy-to-use operations, an increase in program capacity or a high-performance display device will be required, Development costs may be affected.
  • the controller Ak checks the connection of the client (S3014) (S3014), and if the AVR client AC, sends a control command indicating volume up to the content server Si (S30). 35) The content server Si sends this to the AVR client AC (S28), and the AVR client AC sends this to the AV receiver AVR (S101). Is received from the AV receiver AVR and transmitted to the content server Si (S102), the content server Si transmits this to the controller Ak (S29), and the controller Ak responds to this. Then, the status of the AV receiver AVR is updated, and the monitor shown in FIG. 34 is restarted (S36).
  • the AVR client AC When the AVR client AC receives the bucket data from the AV receiver AVR (S1021), it determines whether or not it is volume information (S1022). If the data from the AV receiver AVR is EIA-232, the bucket is received by a serial receive interrupt and the data is queued. The queue is read out periodically, and the subsequent processing is performed.
  • the AVR client AC stores the volume value (S1023).
  • the determination as to whether or not the data is the volume information (S1022) and storage of the volume information (S1023) are performed before the data is queued.
  • the AVR client AC adds an AV receiver designating section indicating the status from the AV receiver AVR to the received packet data, and the content server S i. (S1024).
  • the volume information After storing the volume value, it is determined whether or not the volume information has been received for the first time (S1025). If it is the first time, proceed to step S1028; if not, the AVR client AC sends the polyume value to the content server and then It is determined whether or not 20 milliseconds or more have elapsed (S1026). If 20 milliseconds or more have elapsed, the AVR client AC compares the previously transmitted volume value with the stored volume value (S1027), and if different, indicates that the status is from the AV receiver A VR. The receiver designation section is added to the volume information and transmitted to the content server Si (S1028).
  • the status of the volume value may arrive at a shorter interval than other statuses, it may burden the content server S i and the controller Ak, or may cause unnecessary traffic increase in the network. Since the volume information is only used for display on the controller A k, there is no problem if it is sent at intervals that do not hinder display. Therefore, when the volume information is received, only the value is stored, and only when there is a change, is transmitted to the content server Si at an appropriate interval (here, 20 milliseconds).
  • the AVR client AC determines whether or not the control command is a command for inquiring about the value of the polymer (S1033). In the case of a volume value inquiry command, the AVR client AC generates volume information from the stored volume value (appropriate initial value if not received) (S1034), and uses the status from the AV receiver AVR. An AV receiver designating section indicating that there is is added to the volume information and transmitted to the content server Si (S1035).
  • the control command for the AV receiver AVR is transmitted to the AV receiver AVR (S1036).
  • the interface between the AVR client AC and the AV receiver AVR is EIA-232
  • transmission from the AVR client AC to the AV receiver AVR is performed by an interrupt in byte units.
  • Control commands from the content server Si are stored in the queue.
  • the queue is read out by a periodic interrupt or a buffer interrupt of serial transmission, and is sent out in bytes.
  • the transmission of the volume information to the content server Si is performed only when there is a change except for the first time.
  • the AVR client AC sends the volume value to the content server S i. Do not return.
  • the AVR client AC responds to the volume value inquiry command from the content server Si without passing through the AV receiver AVR. This mode is based on the premise that the AV receiver AVR always transmits the initial value of the volume as a status to the AVR client AC whenever the power of the AV receiver AVR is turned on. However, depending on the power-on timing, the AVR client AC may not be able to receive this initial value.
  • the AVR client AC responds via the AV receiver AVR only for the first time. That is, when the control command from the content server S i is a volume value matching command, the AVR client AC determines whether or not the volume value has not been received yet (S1034). If it has not been received yet, the process proceeds to step S1036, and if it has already been received, the process proceeds to step S1034.
  • the controller A k may issue a dedicated control command according to the type of the AV receiver.
  • a general-purpose control command may be issued regardless of the type of AV receiver, and the content server may convert this general-purpose control command into a dedicated control command.
  • the content server can update the firmware installed on the client as described later.
  • the client requests the content server to update
  • cases where the content server makes an update after inquiring the client and cases where the content server forcibly updates.
  • the client requests the firmware information from the content server (S103), and the content server responds by returning the firmware information to the client (S201). Receive (S103). Subsequently, the client specifies the firmware (S104), and the content server prepares the transfer of the specified firmware accordingly (S202). Next, the client requests the firmware from the content server (S105), and the content server responds to the request by transferring the firmware to the client (S203), and the client receives the firmware (S105). Subsequently, the client updates the firmware (S106), and after finishing the update, sends an end status to the content server (S107), and the content server receives this (S204).
  • step S201-2 When the update is started from the content server, the process starts from step S103.
  • the content server reads the firmware information file, and creates the firmware information database shown in FIG. 15 (S2011). For example, the content server reads the files required for updating for each client and creates an update information file. Therefore, based on this information file, it is possible to determine whether the firmware of the client is new or old.
  • the client sends the product ID and the firmware ID to the content server at startup (S1031).
  • the content server When updating from the content server, for example, when the content server determines that the firmware is out of date based on the client's product ID and firmware ID, or when the content server obtains new firmware from a site on the Internet In some cases, for example, the content server issues a firmware update request command to request the client to update the firmware, and, if necessary, presents information on the new firmware recommended for update to the client (S201) 2) The user If the recommended firmware update is not desired, the client rejects the update request from the content server, and the process ends immediately (S1032). This process is also immediately terminated when the user suspends the recommended firmware update (S1032). However, in this case, the client instructs the content server to request the update again after a predetermined time has elapsed.
  • the client continues the processing as it is (S1032).
  • the client proceeds to step S1035, and immediately starts updating the firmware.
  • the client proceeds to step S1033 and acquires a firmware list.
  • the firmware update request command may be issued by the controller as a surrender quest.
  • the controller acquires a firmware list related to the client to be controlled and monitored from the content server in the same manner as S1033 to S1043 described later, and the user selects the desired firmware.
  • the firmware selected by the controller is presented to the client as firmware information recommending an update.
  • the client When accepting the update request or starting the update from the client, the client requests the firmware list from the content server (S1033).
  • the firmware list enumerates the firmware applicable to a specific client.
  • the content server does not always have a firmware list, but creates it each time in response to a request from a client.
  • the method of creating the firmware list is basically the same as the method of creating the song list described above.
  • the content server uses the firmware information database shown in Fig. 15. In this database, firmware information for the number of firmware is stored.
  • firmware information database shown in Fig. 15. In this database, firmware information for the number of firmware is stored.
  • the content server executes the firmware information database.
  • the index indicating the number of the firmware information stored in the source is initialized to 0 (S21013).
  • the content server determines whether or not the product ID of the firmware information indicated by the index matches the product ID of the client (S20132). If there is a match, the content server adds the firmware information to the firmware list (S2033), and then increments the index (S21034). On the other hand, if they do not match, the content server skips step S21013, and immediately increments the index (S21034).
  • the content server determines whether or not the firmware information number indicated by the index is smaller than the number n of all pieces of firmware information (S201), and if it is smaller, proceeds to step S21032. Return, on the other hand, if it is not smaller, complete the creation of the farm air list.
  • the content server picks up firmware information that matches the product ID from the firmware information database, and creates a firmware list.
  • the firmware list is not created in advance as a database, but is created temporarily for each request from the client, so there is no need for a memory area to always store the firmware list. It is.
  • the content server returns the created firmware list to the requesting client (S213).
  • This firmware list is also divided from the content server and sent to the client in the same manner as the music list.
  • the client obtains its own product ID, an acquisition start index indicating the first firmware information to be obtained, and an acquisition indicating the number of firmware information to be obtained.
  • a firmware list request command including the number is transmitted to the content server (S1033).
  • the content server extracts firmware information having the same product ID as the client's product ID, and retrieves firmware from the firmware information indicated by the acquisition start index by the number indicated by the number of acquisitions.
  • the firmware information is returned to the client (S2031).
  • the content server transmits the effective number indicating the number of firmware information to be transmitted and the remaining number indicating the number of firmware remaining after the firmware list returned to the client by the content server.
  • the client receives a part of the firmware list and stores it in the memory (S10331). The above process is repeated until the entire firmware list is sent from the content server to the client.
  • the client continues the process if there is any firmware (such as a new purge file) that the user wants to download in the returned firmware list, and otherwise cancels the process (S1034).
  • firmware such as a new purge file
  • the content server sends all versions of firmware information, both new and old, so clients can change to older firmware due to problems or other reasons.
  • the client When performing an update, the client notifies the content server of a status indicating that the content has shifted to the update section (S1034). In response to this status, the content server returns an error code indicating whether or not there is an error (S2014).
  • the client specifies the firmware file to be downloaded (S1036). Specifically, specify the full path name stored in the list of acquired firmware information.
  • the content server reads the specified file and stores it in the buffer (S2015).
  • the client specifies the acquisition start address and the data size (the number of bytes) and acquires the firmware data (S1037).
  • the content server reads the specified number of bytes of data from the specified acquisition start address and sends the data to the client (S2016).
  • the client determines whether the firmware data has been acquired to the end (S1038), and if not acquired, returns to step S1037 to repeat the acquisition of data.
  • the client rewrites the firmware (S1039) and ends the update (S1040).
  • the content server closes the open firmware file and releases the buffer (S 201 7).
  • the client when the client has completed the firmware rewrite, it sends an unknown status to the content server.
  • the client interrupts the connection with the content server, resets (ie, starts the updated firmware), and notifies the content server of the client information. If the client fails to acquire firmware data, a failure status may be sent. The failure status can be used for firmware data retransmission.
  • the content server always presents the firmware information to the client when an update request is made (S2102).
  • the firmware recommended by the content server proceed to S1035, and instead of updating the firmware recommended by the content server, the user selects a desired firmware from the firmware list. In this case, it is possible to proceed to S103.
  • the firmware of the client can be updated in a short time, and the firmware of multiple clients can be updated simultaneously. Can also. Also, since the product ID is used, the firmware suitable for the client can be automatically selected and updated. Also, since the firmware ID is used, the latest version of the firmware can be automatically selected and updated.
  • the audio client may be stored in the outlet box 50 as shown in FIGS.
  • the outlet box 50 generally includes a front panel 54 attached to a wall 52 and a housing 56 attached to the back of the front panel 54.
  • the LAN cable is connected to the circuit for this audio client.
  • the front panel 54 has a power outlet.
  • Audio output terminal 62 for outputting audio signals from an audio client, in addition to a TV 58, power switch 60, modular jack (not shown), terminal for TV antenna (not shown), etc. Can be These audio output terminals 62 are respectively connected to left and right speaker devices.
  • the audio client usually has a display for displaying a song list and switches for selecting a desired song from the displayed song list. Display switches are needed to monitor and control the audio client, but remove the display and switches from the audio client by using a controller connected to the same LAN 12 as the audio client be able to. Instead of using a controller, a portable remote controller wirelessly connected to the same LAN 12 as the audio client may be used.
  • the audio client can be built in the outlet box 50 of a general household.
  • the simplified audio client with a built-in outlet has only the function of extracting and playing music and video from the network, and has no display function or control function.
  • the audio client does not require any mechanical device such as a mechanism for inserting media and a rotary drive device. Therefore, miniaturization of the equipment is achieved, and products with high reliability and long life are enabled.
  • the audio client searches for the content server by broadcasting at the time of power-on. However, if all the content servers on LAN 12 are powered off, there will be no response from the content server, and the audio client will continue to search for the content server forever. To prevent this, the audio client may perform processing such as a time-out error, but in the case of a time-out error, the audio client cannot perform any operation such as playing music.
  • the audio client cannot find the content server after repeating the broadcast a predetermined number of times, access the WWW server on the Internet and connect to this server. do it.
  • the LAN 12 is connected to the Internet 52 through the gateway 50 as shown in FIG. World Wide Web on the Internet 52 In the Web) server 54, a list of songs placed on the music distribution site 56 is registered in advance. This list records song information such as song titles and artist names, as well as URLs (Un: iform Resource Locator) where music data is located.
  • URLs Uniform Resource Locator
  • the audio client determines whether the number of retries has reached a predetermined number, for example, three. Is determined (S1109).
  • the audio client increments the number of retries (S1110), and then returns to step S1102 to retry the broadcast.
  • the audio client connects to the WWW server 54 on the Internet 52 by HTTP (S1111). If the audio client connects successfully, the search is completed (S1112), but if the connection does not succeed and a time-out occurs, an error occurs (S1113).
  • the audio client accesses the WWW server 52, it receives and analyzes music information and a URL therefrom, and receives music data from the music rooster site 56 of the URL.
  • the audio client automatically accesses the site 56 on the Internet 52 to acquire music data. There is no permanent search for content servers on LAN12.
  • the audio client when the number of retries reaches a predetermined number, the audio client connects to the WWW server 54 on the Internet 52, but instead, the audio client broadcasts a magic code and broadcasts. If there is no response from any of the content servers on the LAN 12 even though the predetermined time has elapsed, the connection to the WWW server 54 on the Internet 52 may be made.
  • the audio client C j when the audio client C j requests the content server S i to transfer music data, the audio client C j always requests a fixed amount of music data. But There is no problem when the number of audio clients C j requesting the content server S i to transfer music data is small. However, when this number increases, the load on the content server S i increases, and the audio client C j increases. However, there is a problem that the time from when the music server requests the content server Si to transfer the music data to when the music data is actually transferred becomes long. Therefore, the amount of music data requested by the audio client Cj at one time may be changed each time so that the load on the content server Si becomes equal.
  • the audio client C j requests the music data at one time.
  • An example of changing the amount will be described.
  • the audio client Cj sends a music data transfer command requesting the transfer of music data to the content server S i (S1601), and at the same time, operates the timer and The counting of the response time until the music data is transferred from the server Si is started (S16011).
  • the audio client Cj issues the song data transfer command for the first time, the appropriate amount of song data to be requested at one time is unknown, so the acquired data length is predetermined.
  • the audio client Cj starts receiving the music data (S1612), it stops the timer and obtains the response time of the music data by the content server Si (S1613). .
  • the audio client Cj refers to the comparison table shown in FIG. 110 and determines the acquired data length corresponding to the acquired response time (S 1621).
  • a predetermined response time and a predetermined acquisition data length are associated.
  • the acquired data length is set to decrease as the response time increases. For example, when the audio client Cj acquires a response time of 20 msec, the acquired data length is determined to be 8 kbytes.
  • the audio client Cj requests the content server Si to transfer the music piece data, but here, transmits the acquired data length determined above (S165). Thereafter, the same operation as described above is repeated (S16651 to S16661).
  • the music server C j since the audio client C j shortens the acquired data length of the music data requested from the content server S i as the response time becomes longer, the music server C j sends the music data to the content server S i. Even if the number of audio clients C] 'requesting data transfer increases, the amount of music data transferred by the content server Si to the audio client Cj at one time decreases. As a result, the load on the content server S i for each audio client C j is averaged, and the content server S i can smoothly transfer music data to the plurality of audio clients C j.
  • the acquired data length is determined according to the response time of the content server.
  • the acquired data length may be determined according to the data format of the song to be acquired. . That is, in FIG. 35, before the music data transfer request (S1601), the audio format of the music is acquired based on the search data shown in FIG. Then, the acquired data length is set based on the audio format of the song.
  • data in the MP3 format is compressed and thus has a small size, whereas data in the WAV format is large. Therefore, if the data format of the song to be acquired is MP3, for example, data of 4K bytes is acquired at one time, and if it is WAV, data of 16K bytes is acquired at one time, for example. You may do it.
  • the audio client Cj requests the content server Si to transfer the music data in the order of the music list.
  • the user may want to listen to the currently playing song from the beginning. Also, the user may want to skip the currently playing song and listen to another song.
  • the audio client Cj may be able to make a music data transfer request in response to such a user request.
  • audio client C j when audio client C j is playing music 3 in the music list shown in FIG. 112, audio client C j performs the specified range of music data of music 3 Requesting the transfer of music data from the content server Si (S In response to this request, the content server Si returns the specified range of music data to the audio client Cj (S2604), and the audio client Cj receives the music data and stores it in the memory 3 2 (S 168). Song 3 is reproduced by repeating this operation.
  • the user requests the audio client Cj to skip to song 4. I do.
  • the audio client Cj Upon receiving the skip request from the user (S1640), the audio client Cj checks the contents of the music list stored in the memory 32, and obtains the file name of the music4 (S1641). If there is no skip request from the user, the flow returns to step S1667 to request data transfer of music 3.
  • the audio client Cj can skip to music 4 while music 3 is being played.
  • While the audio client C j is playing song 3, if the user wants to listen to song 3 from the beginning (case 1 in Fig. 11), if the user wants to listen to song 5 (Fig.
  • the audio client Cj can also perform skip playback by the same operation when the user wants to listen to music 2 (case 3 in 1 1 2) (case 2 in Fig. 1 1 2).
  • the audio client Cj can perform skip playback from the currently played song to another song by using the song list stored in the memory.
  • A-B repeat reproduction in which data is repeatedly reproduced between a first address and a second address specified by a user.
  • the user performs the first A-B repeat operation, and specifies the first address indicating the start of repetition. That is, referring to FIG. 113, the audio client requests the transfer of the music data (and obtains the music data) (S1601) and receives an operation from the user (S164). 2) If the user operation is a repeat request between A and B (S 1643), since this is the first request (SI 644), the address specified by the user is stored as the first address (addrl). Then, the acquisition start address (addr) is calculated by adding the acquisition data length (size) to the previous acquisition start address (addr) (S1646), and the process returns to SI601.
  • the user performs the second AB repeat operation, specifies the second address indicating the end of the repetition, and starts the repeat operation. That is, in S1644, since the repeat request between A and B from the user is the second request (not the first request), the address specified by the user is set as the second address (addr 2). (S1647).
  • the acquisition start address is changed to the first address (S1649), and a music data transfer request (and music data acquisition) is performed (S1601).
  • the user can cancel the repeat state by performing the repeat cancel operation (S1643, S1653, and S1654).
  • the music can be reproduced from the specified address. That is, referring to FIG. 114, for example, when a music data transfer request (and music data acquisition) is made (S 1601), an operation is performed by a user (S 1656), and an address is specified. (S1657), the audio client obtains the specified address from the user (S1658). For example, the total playing time of the song and user input The address is calculated from the set start time. Then, the acquisition start address is changed to the address designated by the user (S1659), and a music data transfer request (and music data acquisition) is performed (S1601). Therefore, music can be reproduced from the address specified by the user. Further, the user can specify the address not only when the audio client is in the playback state, but also when the audio client is in the stop state or the pause state.
  • the audio client is connected to the content server and plays music distributed from the content server, but during distribution, the audio client is disconnected from the content server due to an error in the content server. Audio client will not be able to play music without reconnecting to the content server.
  • operating the input device may cause the audio client to execute the connection process with the content server again as shown in FIG.
  • the above-mentioned audio client with a built-in outlet does not have an input device, so once disconnected from the content server, it is left as it is. Therefore, audio clients should have the following automatic connection recovery function.
  • audio client Cj determines whether or not a predetermined period has elapsed since connection with content server Si (S110). After a lapse of a predetermined period, the audio client Cj determines whether or not the connection with the content server Si is maintained (Sil, S112). Specifically, the audio client Cj sends a connection confirmation command to the content server Si (S111). If there is a response from the content server Si to the audio client Cj in response to the connection confirmation command (S111), it is determined that the connection is maintained. On the other hand, if there is no response or a transmission error occurs (S112), it is determined that the connection has been disconnected. As a response method, for example, there is a method in which the content server Si returns the same command as the transmitted connection confirmation command.
  • step SI 1 2 the audio client C j returns to S Returning to 110, it is determined whether or not the connection is maintained after a predetermined period has elapsed (S110 to S112). Thus, the audio client C j checks the connection state with the content server S i at predetermined intervals. If the connection has been disconnected, the audio client Cj attempts to reconnect to the same content server Si (S12).
  • connection to the content server s i succeeded as a result of the reconnection attempt (si 1
  • the audio client Cj transmits the client status immediately before disconnection to the content server Si (S13).
  • the client status includes, for example, a playback state such as “play”, “stop”, and “pause”, volume information, a list construction key, and the like. Therefore, the audio client C j can recover the connection state with the content server S i as before. As a result, the user can use the audio client Cj without being aware that the audio client Cj has reconnected to the content server Si.
  • the audio client C j gives up restoring the connection with the same content server S i, and the other content server S i Execute connection processing with i (S11 to S13). Specifically, the audio client Cj searches for a connectable content server Si by broadcasting (S11), and connects to the searched content server Si (S12). After the connection, the audio client C or the client status immediately before disconnection is transmitted to the content server Si (S13).
  • the audio client Cj has the automatic connection recovery function described above by installing the connection recovery program shown in FIG.
  • the connection state is confirmed from the audio client Cj every predetermined period, and if disconnected, the audio client Cj itself reconnects. Therefore, even if the connection is disconnected due to an abnormality in the content server Si, the audio client Cj is not left disconnected from the content server si. Also, even if the connected content server S i cannot be reconnected due to an abnormality of the connected content server S i, the audio client C j is not connected to another content server S i. Connect to content server S i. As a result, the user can always control the audio client Cj using the controller Ak.
  • the audio client C j since the audio client C j transmits the client status immediately before disconnection to the content server S i to be connected, the audio client C j remains in the same state as immediately before disconnection even when connected to another content server S i. it can. As a result, the user can use the audio client C j without being aware that the audio client C j has been disconnected from the content server S i.
  • the audio client C j has the automatic connection recovery function, but the controller A k may have the automatic connection recovery function. It is also preferable that a passive client having only the music playback function has the automatic connection recovery function, rather than an active client having both the music playback function and the control function. Since the passive audio client C j having no control function does not send a command to the content server S i by itself, it is left as it is when the connection with the content server S i is disconnected. This is because the connection with the content server Si cannot be restored unless the user restarts the audio client Cj.
  • Each step in all the above-described embodiments forms an operation program to be executed by a computer. Therefore, by installing this operation program on the content server Si, the audio client, the controller, and the AVR client, a network audio system can be constructed. Further, the operation program may be distributed as it is via a telecommunication line such as the Internet, or may be stored in a computer-readable storage medium such as a CD_ROM or a DVD-ROM and distributed. .

Description

ネットワーク型コンテンツ再生システム 技術分野
本発明は、 ネットワーク型コンテンツ再生システムに関し、 さらに詳しくは、 サーバとサーバに接続されたクライアントとサーバに接続されたコントローラと を備えたネットワーク型コンテンツ再生システムに関する。 背景技術
従来の典型的なオーディオシステムは、 媒体から音楽データを読み出し、 その 音楽データに基づいて音楽を再生するものである。 このようなオーディオシステ ムは基本的に各部屋に 1つずつ設置しなければならないため、 全体として高価に なる。 これに対し、 1箇所に全ての音楽データを蓄積しておき、 各部屋で選択さ れた音楽を再生することの可能な集中型オーディオシステムも提供されている。 し力 し、 上記集中型オーディオシステムでは、 音楽信号用の配線や制御信号用 の配線等、 多数の配線を各部屋に敷かなければならない。 また、 1つの曲を各部 屋で同時に再生することは可能であるが、 ある曲をある部屋で再生している最中 に、 同じ曲を別の部屋で最初から再生することはできない。
また、 汎用のパソコンに音楽再生用のアプリケーションプログラムをインスト ールすれば、 インターネット上のサイトから音楽データを取得し、 音楽を再生す ることは可能であるが、 受信済みのデータについてしか、 音楽 C Dのように、 曲 を途中から再生したり、 早送りしたり、 早戻ししたりすることはできない。 すな わち、 未だ受信していなデータについては、 特殊再生をすることができない。 発明の開示
本発明の 1つの目的は、 サーバに蓄積された音声や映像などのコンテンツをク ライアントが自由に選択して再生することの可能なネットワーク型コンテンツ再 生システムを提供することである。 本発明のもう 1つの目的は、 クライアントが未だ受信していないデータについ ても、 途中から再生するなど、 ユーザが自在に再生することの可能なネットヮー ク型コンテンツ再生システムを提供することである。
本発明のさらにもう 1つの目的は、 クライアントサーバ環境下においてクライ アントによるコンテンツの連続再生を可能にしたネットワーク型コンテンツ再生 システムを提供することである。
本発明のさらにもう 1つの目的は、 クライアントへの連続再生命令の競合を排 除したネットワーク型コンテンッ再生システムを提供することである。
本発明のさらにもう 1つの目的は、 サーバとの接続が切断されても迅速に接続 を回復することができる自動接続回復機能付きクライアントを提供することであ る。
本発明によるネットワーク型コンテンツ再生システムは、 サーバと、 サーバに 接続された少なくとも 1つの第 1のクライアントとを備える。 サーバは、 複数の コンテンツ (音楽コンテンツ、 映像コンテンツなど) を蓄積する蓄積手段を含む。 第 1のクライアントは、 複数のコンテンツの中から選択されたコンテンツをサー バに要求するコンテンツ要求手段を含む。 サーバはさらに、 第 1のクライアント からの要求に応じて選択されたコンテンツを第 1のクライアントに返信するコン テンッ返信手段を含む。 第 1のクライアントはさらに、 サーバから返信されたコ ンテンッを再生する再生手段を含む。
本ネットワーク型コンテンツ再生システムでは、 サーバに蓄積された多数のコ ンテンッの中から所望のコンテンツがクライアントの要求に応じて選択される。 選択されたコンテンツはサーバからクライアントに送信され、 そのコンテンツが 再生される。 そのため、 サーバに蓄積された複数のコンテンツをクライアントが 自由に選択して再生することができる。
上記コンテンツが音楽コンテンツの場合、 サーバに蓄積された多数の曲の中か ら所望の曲が第 1のクライアントの要求に応じて選択される。 選択された曲のデ ータはサーバから第 1のクライアントに送信され、 そのデータに基づいて選択さ れた曲が再生される。 そのため、 サーバに蓄積された複数の曲を第 1のクライア ントが自由に選択して再生することができる。 好ましくは、 第 1のクライアントは、 壁に埋設されるコンセントボックスに取 り付けられる。
この場合、 ユーザは部屋の内部に第 1のクライアントを設置しなくても、 その 部屋で音楽を聴いたり、 映像を見たりすることができる。
好ましくは、 第 1のクライアントはさらに、 複数のコンテンツを列挙したコン テンッリストをサーバに要求するコンテンツリスト要求手段を含む。 サーバはさ らに、 第 1のクライアントからの要求に応じてコンテンツリストを返信するコン テンッリスト返信手段を含む。 第 1のクライアントはさらに、 サーバから返信さ れたコンテンツリストを受信するコンテンツリスト受信手段を含む。 コンテンツ 要求手段は、 要求すべきコンテンツをコンテンツリストの中から選択する。
この場合、 第 1のクライアントは、 サーバからコンテンツリストを取得し、 そ の中から所望のコンテンツを選択して再生することができる。
さらに好ましくは、 コンテンツリスト要求手段は、 指定量のコンテンツリスト、 好ましくはコンテンツリストの一部をサーバに要求する。 コンテンツリスト返信 手段は、 第 1のクライアントからの要求に応じて、 指定量のコンテンツリスト、 好ましくはコンテンツリストの一部を返信する。
この場合、 コンテンツリストの一部しかサーバから第 1のクライアントに送信 されないので、 第 1のクライアントにおいてコンテンツリストを記憶しておくた めに必要なメモリ容量を小さくすることができる。
さらに好ましくは、 コンテンツリスト要求手段は、 第 1のクライアントがサー バから取得しょうとする最初のコンテンツを示す取得開始インデックスと、 第 1 のクライアントがサーバから取得しようとするコンテンツの数を示す取得個数と を含むリスト要求コマンドを送信する。 コンテンツリスト返信手段は、 リスト要 求コマンドに応答して、 取得開始ィンデックスが示す最初のコンテンツから取得 個数分のコンテンツを含むコンテンツリストを返信する。
さらに好ましくは、 コンテンツリスト返信手段はさらに、 返信するコンテンツ リストに含まれるコンテンツ数と、 コンテンツリスト以降の残りのコンテンツ数 とを返信する。
この場合、 第 1のクライアントは、 未だ取得していないコンテンツリストの残 りのコンテンツ数を認識することができるので、 残りのコンテンツリストをサ一 パに要求することができる。
好ましくは、 第 1のクライアントはさらに、 複数のカテゴリを列挙したカテゴ リリストをサーバに要求するカテゴリリスト要求手段を含む。 サーバはさらに、 第 1のクライアントからの要求に応じてカテゴリリストを返信する手段を含む。 第 1のクライアントはさらに、 サーバから返信されたカテゴリリストを受信する 手段を含む。 コンテンツリスト要求手段は、 要求しょうとするコンテンツリスト のコンテンツが属するカテゴリを受信されたカテゴリリストの中から選択する。 この場合、 第 1のクライアントは、 サーバから最初にカテゴリリストを取得し、 その中から所望のカテゴリを選択する。 引き続き、 第 1のクライアントは、 サー バからコンテンツリストを取得し、 その中から所望のコンテンツを選択する。 よ つて、 多数のコンテンツの中から所望のコンテンツを徐々に絞り込んで選択する ことができる。
好ましくは、 コンテンツリスト要求手段は、 コンテンツリストを作成するため に必要なリスト構築キーをサーバに送信する。 コンテンツリスト返信手段は、 リ スト構築キーに基づいてコンテンツリストを作成する。
この場合、 第 1のクライアントは、 コンテンツリストが必要なときにリスト構 築キーをサーバに送信すればコンテンツリストを取得することができるので、 取 得したコンテンツリストを記憶しておく必要はない。
好ましくは、 コンテンツ要求手段は、 予め定められた量のコンテンツをサーバ に要求する。 コンテンツ返信手段は、 第 1のクライアントからの要求に応じて、 予め定められた量のコンテンツを返信する。 コンテンツ要求手段は、 コンテンツ の全部を取得するまでコンテンツの要求を繰り返す。
この場合、 コンテンツの一部しかサーバから第 1のクライアントに送信されな いので、 第 1のクライアントにおいてコンテンツを記憶しておくために必要なメ モリ容量を小さくすることができる。
さらに好ましくは、 コンテンツ要求手段は、 予め定められた量のコンテンツの 最初のァドレスを示す取得開始ァドレスを算出してサーバに送信する。 コンテン ッ返信手段は、 第 1のクライアントから送信された取得開始ァドレスから予め定 められた量のコンテンツを返信する。
さらに好ましくは、 コンテンツ要求手段は、 取得開始アドレスと、 第 1のクラ イアントがサーバから取得しょうとするコンテンツの長さを示す取得データ長と を含むコンテンツ転送要求コマンドを送信する。 コンテンツ返信手段は、 コンテ ンッ転送要求コマンドに応答して、 取得開始アドレスから取得データ長分のコン テンッを返信する。
この場合、 取得開始アドレスを任意に設定することによって、 クライアントが 未受信のコンテンツについても特殊再生をすることができる。
さらに好ましくは、 コンテンツ要求手段は、 取得データ長を前の取得開始アド レスに加算して次の取得開始アドレスを算出する。
さらに好ましくは、 第 1のクライアントはさらに、 ユーザの操作に応じて第 1 及び第 2のアドレスを設定する手段と、 算出された取得開始ァドレスが第 2のァ ドレスを超えたとき、 取得開始アドレスを第 1のアドレスに設定する手段とを含 む。
この場合、 第 1のクライアントは第 1のアドレスから第 2のアドレスまでのコ ンテンッを繰り返し取得して再生することができる。
あるいは、 第 1のクライアントはさらに、 ユーザの操作に応じて所望のァドレ スを設定する手段と、 取得開始ァドレスを所望のァドレスに設定する手段とを含 む。
この場合、 第 1のクライアントは所望のアドレスからコンテンツを取得して途 中から再生することができる。
好ましくは、 第 1のクライアントはさらに、 ユーザの操作に応じて所定のスキ ップ量を設定する手段と、 取得開始ァドレスを設定されたスキップ量だけシフト する手段とを含む。
この場合、 第 1のクライアントは、 サーバからコンテンツを非連続的に取得し、 これにより早送り再生や早戻し再生を行うことができる。
好ましくは、 第 1のクライアントはさらに、 選択されたコンテンツの識別情報 をサーバに送信する手段を含む。 サーバはさらに、 第 1のクライアントから送信 された識別情報に応答して選択されたコンテンツのオフセットを第 1のクライア ントに返信する手段を含む。 第 1のクライアントはさらに、 サーバから返信され たオフセットに基づいて選択されたコンテンツの始まりを検知する手段を含む。 この場合、 第 1のクライアントは、 サーバから送信されたコンテンツのオフセ ットに基づいてコンテンツの始まりを検知するので、 コンテンツを直ちに再生す ることができる。
好ましくは、 第 1のクライアントはさらに、 選択されたコンテンツの識別情報 をサーバに送信する手段を含む。 サーバはさらに、 第 1のクライアントから送信 された識別情報に応答して選択されたコンテンツのサイズを第 1のクライアント に返信する手段を含む。 第 1のクライアントはさらに、 サーバから返信されたサ ィズに基づいて選択されたコンテンツの終わりを検知する手段を含む。
この場合、 第 1のクライアントは、 サーバから送信されたコンテンツのサイズ に基づいてコンテンツの終わりを検知するので、 コンテンツの再生を直ちに終了 することができる。
好ましくは、 コンテンツ要求手段は、 指定量のコンテンツをサーバに要求する。 コンテンツ返信手段は、 第 1のクライアントからの要求に応じて指定量のコンテ ンッを返信する。 コンテンツ要求手段は、 サーバに要求するコンテンツの指定量 を変化させる。
この場合、 第 1のクライアントは、 サーバの負荷が大きいときはコンテンツの 指定量を少なくし、 サーバの負荷が小さいときはコンテンツの指定量を多くする など、 サーバの負荷に応じて取得するコンテンツの量を適切に調整することがで さる。
さらに、 サーバはクライアントが指定した 「曲データの一部」 のみを返信する ので、 クライアントは、 指定する 「曲データの一部」 を任意に変更することによ り、 クライアントが未受信のデータについても、 特殊再生 (例えば、 早送り、 早 戻し、 途中からの再生等) をすることができる。 さらに、 サーバは 「曲データの 一部」 しか送信しないので、 クライアントが受信を失敗した場合等には、 その失 敗した部分のみを再びサーバから受信すればよく、 受信失敗時の処理を早くする ことができる。
さらに、 クライアントが要求する曲のフォーマットが圧縮データ (MP 3等) であれば、 データの指定量を小さくすることにより、 サーバの負荷を軽減するこ とができる。 圧縮データは、 再生時にデコードされることによって、 データ量が 大きくなるからである。
好ましくは、 第 1のクライアントはさらに、 自身に関するクライアント情報が 変化するたびにそのクライアント情報をサーバに送信する手段を含む。
この場合、 クライアント情報は第 1のクライアントからサーバに常に送信され るのではなく、 変化があつたときだけ送信される。 そのため、 サーバは、 ネット ワークトラフィックを増大させることなく、 第 1のクライアントの最新のクライ アント情報を管理することができる。
好ましくは、 ネットワーク型コンテンツ再生システムはさらに、 サーバとネッ トワークを通じて接続され、 第 1のクライアントを監視する第 2のクライアント を備える。
この場合、 ユーザは、 第 1のクライアントと異なる第 2のクライアントで第 1 のクライアントの動作状態などを知ることができる。
さらに好ましくは、 第 1のクライアントはさらに、 自 に関するクライアント 情報をサーバに送信する手段を含む。 サーバは、 第 1のクライアントから送信さ れたクライアント情報を受信する手段と、 受信したクライアント情報を第 2のク ライアントに送信する手段とを含む。 第 2のクライアントは、 サーバからのクラ イアント情報を受信する手段を含む。
この場合、 ユーザは、 第 1のクライアントと異なる第 2のクライアントで第 1 のクライアントに関する情報、 たとえば、 サーバとの接続状態、 クライアントタ イブ、 現在の動作状態、 現在の音量などを知ることができる。
好ましくは、 サーバは、 第 2のクライアントに要求を強制的に送信するための プッシュポートを通じて、 クライアント情報を第 2のクライアントに送信する。 この場合、 サーバは、 第 2のクライアントから要求がなくても、 クライアント 情報を第 2のクライアントに送信することができる。
好ましくは、 第 2のクライアントはさらに、 受信したクライアント情報を表示 する手段と、 受信したクライアント情報が変更されているとき、 そのクライアン ト情報の表示を変更する手段とを含む。 好ましくは、 第 2のクライアントはさらに、 複数のコンテンツを列挙したコン テンッリストをサーバに要求するコンテンツリスト要求手段を含む。 サーバはさ らに、 第 2のクライアントからの要求に応じてコンテンツリストを返信するコン テンッリスト返信手段を含む。 第 2のクライアントはさらに、 サーバから返信さ れたコンテンツリストを受信するコンテンツリスト受信手段を含む。
好ましくは、 クライアント情報はコンテンツリストを作成するために必要なリ スト構築キーを含む。 コンテンツリスト要求手段は、 受信されたクライアント情 報に含まれるリスト構築キーが変更されているとき、 そのリスト構築キーをサー バに送信する。 コンテンツリスト返信手段は、 第 2のクライアントから送信され たリスト構築キーに基づいてコンテンツリストを作成する。
好ましくは、 第 2のクライアントは、 サーバに接続されたとき、 サーバから送 信されたクライアント情報を受信する。
この場合、 第 2のクライアントは、 電源が投入されると、 サーバに接続される ので、 サーバから第 1のクライアントに関するクライアント情報を取得すること ができる。
さらに好ましくは、 クライアント情報はコンテンツリストを作成するために必 要なリスト構築キーを含む。 コンテンツリスト要求手段は、 受信されたクライア ント情報に含まれるリスト構築キーをサーバに送信する。 コンテンツリスト返信 手段は、 第 2のクライアントから送信されたリスト構築キーに基づいてコンテン ッリストを作成する。
この場合、 第 2のクライアントは、 仮に第 1のクライアントにコンテンツの再 生を命令した後に電源が切られ、 再生中のコンテンツリストを消失したとしても、 電源の再投入時にリスト構築キーを取得する。 したがって、 第 2のクライアント はこの取得したリスト構築キーをサーバに送信すれば、 サーバから失ったコンテ ンッリストを再び取得することができる。
好ましくは、 クライアント情報は、 第 1のクライアントにより再生可能なコン テンッのデータフォーマットの名称を含む。 第 2のクライアントは、 受信された クライアント情報に基づいて第 1のクライアントにより再生可能なコンテンツの データフォーマツトの名称を表示する手段を含む。 この場合、 ユーザは、 第 1のクライアントと異なる第 2のクライアントで、 第 1のクライアントで再生可能なデータフォーマットを知ることができる。
さらに好ましくは、 第 2のクライアントはさらに、 複数のコンテンツを列挙し たコンテンツリストをサーバから取得する手段と、 取得したコンテンツリストに 含まれるコンテンツのうち、 第 1のクライアントにより再生可能なコンテンツを 表示し、 第 1のクライアントにより再生不可能なコンテンッを表示しないか又は 再生可能なコンテンツと異なる態様で表示する手段とを含む。
この場合、 第 1のクライアントで再生不可能なコンテンツは表示されないので、 ユーザがそのコンテンツを選択するのを防止することができる。
好ましくは、 第 2のクライアントは、 監視しょうとするクライアントが第 1の クライアントかを判別する手段を含む。
この場合、 第 2のクライアントが監視しょうとするクライアントが第 1のクラ イアントでなければ監視しようとしないので、 誤動作を防止することができる。 好ましくは、 第 2のクライアントは、 第 1のクライアントを監視するために必 要な監視ハンドルを取得する手段と、 監視ハンドルを取得したとき第 1のクライ アントを監視する手段とを含む。
この場合、 監視ハンドルを取得していない第 2のクライアントは第 1のクライ アントを監視しないので、 ネットワークトラフィックを低減することができる。 好ましくは、 ネットワーク型コンテンツ再生システムはさらに、 サーバとネッ トワークを通じて接続され、 第 1のクライアントを制御する第 2のクライアント を備える。
さらに好ましくは、 第 2のクライアントは、 第 1のクライアントを制御するよ うにサーバに要求するサーバリクエスト手段を含む。 サーバはさらに、 第 2のク ライアントからの要求に応じて第 1のクライアントを制御する手段を含む。
この場合、 ユーザは、 第 1のクライアントと異なる第 2のクライアントからサ ーバを通じて第 1のクライアントを制御することができる。
好ましくは、 サーバリクエスト手段は、 第 1のクライアントを特定するための 情報と、 選択されたコンテンツを特定するための情報とをサーバに送信する。 この場合、 ユーザは、 所望のコンテンツを第 1のクライアントに再生させるこ とができる。
好ましくは、 第 2のクライアントは、 制御しょうとするクライアントが第 1の クライアントかを判別する手段を含む。
この場合、 第 2のクライアントが制御しょうとするクライアントが第 1のクラ イアントでなければ制御しようとしないので、 誤動作を防止することができる。 好ましくは、 第 2のクライアントは、 選択されたコンテンツのデータフォーマ ットが第 1のクライアントにより再生可能なコンテンツのデータフォーマツトに 一致するか否かを判別する手段と、 データフォーマットが一致する場合、 選択さ れたコンテンツのデータに基づいてコンテンツを再生するように第 1のクライア ントに命令する手段とを含む。
この場合、 第 2のクライアントは、 第 1のクライアントで再生可能なコンテン ッに限り、 コンテンツの再生を命令するので、 誤動作を防止することができる。 好ましくは、 第 2のクライアントは、 第 1のクライアントを制御するために必 要な制御ハンドルを取得する手段と、 制御ハンドルを取得したとき第 1のクライ アントを制御する手段とを含む。
この場合、 制御ハンドルを取得していない第 2のクライアントは第 1のクライ アントを制御しないので、 ネットワークトラフィックを低減することができる。 好ましくは、 第 1のクライアントはさらに、 第 2のクライアントにより命令さ れたコンテンツを再生し終えた場合、 完了ステータスをサーバに送信し、 自らが 選択したコンテンツを再生し終えた場合、 又はユーザの操作に応じてコンテンツ の途中で再生を終えた場合、 完了ステータスと異なる停止ステータスをサーバに 送信する手段を含む。
この場合、 サーバは、 完了ステータスと停止ステータスとを区別することによ り、 第 1のクライアントが第 2のクライアントにより命令されたコンテンツを再 生し終えたのか、 それとも自らが選択したコンテンツを再生し終えたか又はユー ザの操作に応じてコンテンッの途中で再生を終えたのかを判別することができる。 好ましくは、 サーバは、 第 1のクライアントから送信された完了ステータスを 受信し、 第 2のクライアントに送信する手段を含む。 第 2のクライアントは、 サ ーバから送信された完了ステータスに応答して、 再生し終えたコンテンツの次の コンテンツを再生するように第 1のクライアントに命令する手段を含む。
この場合、 コンテンツの再生を終えた第 1のクライアントは、 そのコンテンツ の再生を命令した第 2のクライアントに完了ステータスを送信するので、 第 2の クライアントはコンテンツリストに従って第 1のクライアントにコンテンツを連 続的に再生させることができる。
好ましくは、 ネットワーク型コンテンツ再生システムはさらに、 サーバとネッ トワークを通じて接続され、 第 1のクライアントを制御する複数の第 2のクライ アントを備える。 第 2のクライアントの各々は、 コンテンツを再生するように第 1のクライアントに命令する再生命令手段を含む。 第 1のクライアントのコンテ ンッ再生手段は、 第 2のクライアントからの命令に従ってコンテンツを再生する。 第 1のクライアントはさらに、 コンテンツを再生し終えたとき完了ステータスを サーバに送信する手段を含む。 サーバは、 第 1のクライアントから送信された完 了ステータスを受信し、 複数の第 2のクライアントのうち、 第 1のクライアント に命令した第 2のクライアントに完了ステータスを送信し、 当該他の第 2のクラ イアントに停止ステータスを送信する手段を含む。 第 2のクライアントの再生命 令手段は、 サーバから送信された完了ステータスに応答して、 再生し終えたコン テンッの次のコンテンツを再生するように第 1のクライアントに命令する。
この場合、 コンテンツの再生を終えた第 1のクライアントは、 そのコンテンツ の再生を命令した当該第 2のクライアントにサーバを通じて完了ステータスを送 信するので、 当該第 2のクライアントは正しく第 1のクライアントに連続再生を 命令する。 一方、 サーバは当該他の第 2のクライアントに停止ステータスを送信 するので、 当該他の第 2のクライアントは第 1のクライアントは動作停止状態と 認識し、 誤って第 1のクライアントに連続再生を命令することはない。
好ましくは、 第 1のクライアントはさらに、 所定情報をブロードキャストする ブロードキャスト手段を含む。 サーバは、 第 1のクライアントからブロードキヤ ストされた所定情報に応答して、 自身を特定するためのサーバ特定情報を第 1の クライアントに返信する手段を含む。 第 1のクライアントは、 サーバから返信さ れたサーバ特定情報を受信してサーバリストに登録する手段とを含む。
本ネットワーク型コンテンツ再生システムでは、 クライアントが所定情報をネ ットワークにブロードキャストし、 ネットワークに接続されているサーバが存在 すれば、 そのサーバがサーバ特定情報 (I Pアドレス、 ポート番号など) をその クライアントに知らせる。 そのため、 クライアントはネットワーク上に存在する サーバを探し出すことができる。
好ましくは、 第 1のクライアントはさらに、 サーバリストにサーバ特定情報が 登録されている力否かを判別する手段を含む。 判別の結果、 サーバリストにサー バ特定情報が登録されていない場合、 ブロードキャスト手段は所定情報を再びブ ロードキャストする。
この場合、 第 1のクライアントは、 サーバリストに 1つもサーバ特定情報が登 録されていなければ再びサーバを探し始めるので、 少なくとも 1つサーバを見つ けるまで探し続ける。
好ましくは、 第 1のクライアントはさらに、 ブロードキャスト手段によるプロ ードキャストの回数が所定回数に達したとき、 又はブロードキャスト手段による ブロードキャストの時間が所定時間に達したとき、 インターネット上のサーバに アクセスする手段を含む。
この場合、 第 1のクライアントは、 ローカルのネットワーク上にサーバが全く 存在しない場合にサーバを探し続けることはなく、 その場合はインターネット上 のサーバを探し出すことができる。
好ましくは、 第 1のクライアントは、 サーバと第 1のクライアントとの間でコ マンドを送受信するためのコマンドポートで接続を確立する手段と、 サーバから 第 1のクライアントに要求を強制的に送信するためのプッシュポートで接続を確 立する手段とを含む。
本ネットワーク型コンテンツ再生システムでは、 コマンドやステータスはコマ ンドポートでサーバ及ぴクライアントの間で送受信される。 また、 サーバからの コマンドはプッシュポートを通じて強制的にクライアントに送信される。
好ましくは、 第 1のクライアントはさらに、 自身を識別するために必要なクラ イアントインデックスを要求するクライアントインデックス要求コマンドをコマ ンドポートを通じてサーバに送信する手段を含む。 サーバはさらに、 第 1のクラ イアントから送信されたクライアントインデックス要求コマンドに応答してクラ イアントインデックスをクライアントに返信する手段を含む。 第 1のクライアン トはさらに、 サーバから返信されたクライアントインデックスをプッシュポート を通じてサーバに送信する手段を含む。
好ましくは、 第 1のクライアントは複数ある。 サーバは、 接続可能なクライア ントの数を制限する接続制限手段を含む。
好ましくは、 接続制限手段は、 未接続のクライアントが接続を試みてきたとき、 所定の優先順位に従って既接続のクライアントとの接続を断つ。
本発明によるさらにもう 1つのネットワーク型コンテンツ再生システムは、 サ ーバと、 サーバにネットワークを通じて接続された第 1のクライアントと、 第 1 のクライアントに接続された A V機器と、 サーバにネットワークを通じて接続さ れ、 AV機器を制御する第 2のクライアントとを備える。 第 2のクライアントは、 AV機器を制御するための制御コマンドをサーバに送信する手段を含む。 サーバ は、 第 2のクライアントから送信された制御コマンドを第 1のクライアントに送 信する手段を含む。 第 1のクライアントは、 サーバから送信された制御コマンド を AV機器に送信する手段を含む。 AV機器はさらに、 第 1のクライアントから 送信された制御コマンドに応答して制御される。
この場合、 制御コマンドは第 2のクライアントからサーバを通じて第 1のクラ イアントに送信される。 AV機器はこの制御コマンドに応じて制御される。 よつ て、 第 2のクライアントは A V機器を制御することができる。
本発明によるさらにもう 1つのネットワーク型コンテンツ再生システムは、 サ ーパと、 サーバに接続された第 1のクライアントと、 第 1のクライアントに接続 された AV機器と、 サーバにネットワークを通じて接続され、 AV機器を監視す る第 2のクライアントとを備える。 AV機器は、 自身に関する情報を第 1のクラ イアントに送信する手段を含む。 第 1のクライアントは、 AV機器から送信され た情報をサーバに送信する AV機器情報送信手段を含む。 サーバは、 第 1のクラ イアントから送信された情報を第 2のクライアントに送信する手段を含む。
この場合、 AV機器に関する情報は第 1のクライアント及ぴサーバを通じて第 2のクライアントに送信される。 よって、 第 2のクライアントはこの情報に基づ いて A V機器を監視することができる。 好ましくは、 第 1のクライアントの AV機器情報送信手段は、 頻繁に変化する 情報を所定の時間間隔で送信する。
この場合、 ネットワークトラフィックを低減することができる。
好ましくは、 サーバはさらに、 第 1のクライアントのファームウェアを更新す るファームウェア更新手段を含む。
この場合、 第 1のクライアントのファームウェアはサーバにより自動的に更新 される。
好ましくは、 サーバはさらに、 第 1のクライアントに適した複数のファームゥ ェ了の情報を登録する手段と、 登録された複数のフアームウェアの情報を列挙し たファームウェアリストを第 1のクライアントに送信するファームウェアリスト 送信手段とを含む。 第 1のクライアントはさらに、 サーバから送信されたファー ムウェアリストを受信する手段と、 受信されたファームウェアリストの中から選 択されたファームウェアの送信をサーバに要求するファームゥヱァ要求手段とを 含む。 ファームウェア更新手段は、 第 1のクライアントからの要求に応じて選択 されたファームウェアを第 1のクライアントに返信する。
この場合、 第 1のクライアントのファームウェアは必ずしも最新バージョンに 更新されるのではなく、 適宜選択されたバージョンに更新される。
好ましくは、 第 1のクライアントはさらに、 自身に関するクライアント情報を サーバに送信する手段を含む。 サーバはさらに、 第 1のクライアントから送信さ れたクライアント情報に基づいてファームゥヱァリストを作成する手段を含む。 この場合、 第 1のクライアントに対応したファームウェアの情報を列挙したフ アームウェアリストを作成できる。
好ましくは、 第 1のクライアントは、 指定量のファームウェア、 好ましくはフ アームウェアの一部をサーバに要求する。 ファームウェア更新手段は、 第 1のク ライアントからの要求に応じて指定量のファームウェア、 好ましくはファームゥ エアの一部を返信する。
この場合、 サーバは指定量のファームウェアしか送信しないので、 クライアン 卜が受信を失敗した場合等には、 その失敗した部分のみを再ぴサーバから受信す ればよく、 受信失敗時の処理を早くすることができる。 また、 ファームウェアリ ストの一部しかサーバから第 1のクライアントに送信されないので、 第 1のクラ イアントにおいてファームウェアリストを記憶しておくために必要なメモリ容量 を小さくすることができる。
本発明によるもう 1つのネットワーク型コンテンツ再生システムは、 サーバと、 サーバに接続された第 1のクライアントと、 サーバに接続された複数の第 2のク ライアントとを備える。 サーバは、 複数のコンテンツを蓄積するコンテンツ蓄積 手段を備える。 第 2のクライアントの各々は、 複数のコンテンツの中からコンテ ンッを指定し、 その指定したコンテンツの再生を第 1のクライアントに命令する 手段を備える。 第 1のクライアントは、 第 2のクライアント力 らの命令に応じて 指定されたコンテンツを再生する手段と、 コンテンツの再生を完了したとき完了 ステータスをサーバに送信する手段とを備える。 サーバはさらに、 第 1のクライ アントから完了ステータスを受信したとき、 複数の第 2のクライアントのうち 1 つを選択し、 その選択した第 2のクライアントに完了ステータスを送信するステ 一タス送信手段を備える。 第 2のクライアントの各々はさらに、 サーバから完了 ステータスを受信したとき、 第 1のクライアントが再生を完了したコンテンツの 次のコンテンツを指定し、 その指定したコンテンツの再生を第 1のクライアント に命令する手段を備える。
好ましくは、 サーバはさらに、 第 1のクライアントを制御可能な第 2のクライ アントの優先順位を管理する手段を備える。 ステータス送信手段は、 完了ステー タスを送信すべき第 2のクライアントとして優先順位が最高の第 2のクライアン トを選択する。 あるいは、 サーバはさらに、 再生を命令した第 2のクライアント の識別情報を記憶する手段を備える。 ステータス送信手段は、 完了ステータスを 送信すべき第 2のクライアントとして記憶した第 2のクライアントの識別情報に 基づいて再生を命令した第 2のクライアントを選択する。
本システムでは、 サーバがコンテンツの再生を完了した第 1のクライアントか ら完了ステータスを受信すると、 第 2のクライアントを 1つ選択し、 その第 2の クライアントに完了ステータスを送信する。 したがって、 唯一の第 2のクライア ントが連続再生を第 1のクライアントに命令することになる。 その結果、 本シス テムは、 第 1のクライアントへの連続再生命令の競合を排除し、 第 1のクライア ントによるコンテンッの連続再生を可能にすることができる。
好ましくは、 ステータス送信手段は、 優先順位が最高の第 2のクライアント以 外の第 2のクライアントに停止ステータスを送信する。
この場合、 優先順位が最高の第 2のクライアント以外の第 2のクライアントに は完了ステータスではなく停止ステータスが送信されるので、 当該他の第 2のク ライアントは何ら能動的なァクシヨンを起こすことなく、 単に第 1のクライアン トの状態を監視することができる。
本発明によるもう 1つのネットワーク型コンテンツ再生システムは、 サーバと、 サーバに接続された第 1のクライアントと、 サーバに接続された複数の第 2のク ライアントとを備える。 サーバは、 複数のコンテンツを蓄積するコンテンツ蓄積 手段を備える。 第 2のクライアントの各々は、 第 1のクライアントを制御するた めに必要な制御ハンドルを取得する制御ハンドル取得手段と、 制御ハンドルの取 得後、 複数のコンテンツの中からコンテンツを指定し、 その指定したコンテンツ の再生を第 1のクライアントに命令する手段とを備える。 第 1のクライアントは、 第 2のクライアントからの命令に応じて指定されたコンテンツを再生する手段と、 コンテンッの再生を完了したとき完了ステータスをサーバに送信する手段とを備 える。 サーバはさらに、 第 1のクライアントから送信された完了ステータスを第 2のクライアントの各々に転送する手段を備える。 第 2のクライアントの各々は さらに、 制御ハンドルを取得している第 1のクライアントからの完了ステータス を受信したとき、 第 1のクライアントが再生を完了したコンテンツの次のコンテ ンッを指定し、 その指定したコンテンツの再生を第 1のクライアントに命令する 手段を備える。
本システムでは、 第 2のクライアントはクライアントを制御するために必要な 制御ハンドルを取得したうえでコンテンツの再生を第 1のクライアントに命令す る。 第 1のクライアントはコンテンツの再生を完了すると完了ステータスを送信 する。 第 2のクライアントは制御ハンドルを取得している第 1のクライアントか ら完了ステータスを受信したとき、 連続再生を第 1のクライアントに命令する。 その結果、 本システムは、 第 1のクライアントへの連続再生命令の競合を排除し、 第 1のクライアントによるコンテンッの連続再生を可能にすることができる。 好ましくは、 制御ハンドル取得手段は、 制御ハンドルを取得したとき当該他の 第 2のクライアントによる制御ハンドルの取得を禁止する。
この場合、 複数の第 2のクライアントが同時に 1つの第 1のクライアントの制 御ハンドルを取得することはできないので、 第 1のクライアントへの再生命令の 競合を完全に排除することができる。
さらに好ましくは、 第 1のクライアントはさらに、 コンテンツの再生を途中で 停止したとき停止ステータスをサーバに送信する手段を備える。 サーバはさらに、 第 1のクライアントから送信された停止ステータスを第 2のクライアントの各々 に転送する手段を備える。 第 2のクライアントの各々はさらに、 制御ハンドルを 取得している第 1のクライアントからの停止ステータスを受信したとき、 制御ハ ンドルの取得禁止を解除する手段を備える。
この場合、 コンテンツの再生を途中で停止した第 1のクライアントは停止ステ 一タスを全ての第 2のクライアントに送信し、 制御ハンドルを取得している第 1 のクライアントから停止ステータスを受信した第 2のクライアントは制御ハンド ルを解放する。 したがって、 いずれの第 2のクライアントもこの第 1のクライア ントの制御ハンドルを取得することができることになる。
本発明によるさらにもう 1つのネットワーク型コンテンツ再生システムは、 サ ーパと、 サーバに接続された第 1のクライアントと、 サーバに接続された第 2の クライアントとを備える。 サーバは、 複数のコンテンツを蓄積するコンテンツ蓄 積手段を備える。 第 2のクライアントは、 複数のコンテンツの中からコンテンツ を指定し、 その指定したコンテンツの再生を第 1のクライアントに命令する手段 を備える。 第 1のクライアントは、 第 2のクライアントからの命令に応じて指定 されたコンテンツを再生する手段と、 コンテンツの再生を完了したとき完了ステ 一タスをサーバに送信する手段とを備える。 サーバはさらに、 第 1のクライアン トから完了ステータスを受信したとき、 第 1のクライアントが再生を完了したコ ンテンッの次のコンテンツを指定し、 その指定したコンテンツの再生を第 1のク ライアントに命令する連続再生命令手段を備える。
本システムでは、 コンテンツの再生を完了した第 1のクライアントが完了ステ 一タスをサーバに送信すると、 サーバ自らが連続再生を第 1のクライアントに命 令する。 その結果、 本システムは、 第 1のクライアントへの連続再生命令の競合 を排除し、 第 1のクライアントによるコンテンッの連続再生を可能にすることが できる。
好ましくは、 サーバはさらに、 第 1のクライアントにより再生されるべきコン テンッを列挙したコンテンツリス トを作成するために必要なリス ト構築キーを記 憶する手段と、 リスト構築キーに基づいてコンテンツリス トを作成する手段とを 備える。 連続再生命令手段は、 コンテンツリストに従ってコンテンツの再生を第 1のクライアントに命令する。
この場合、 サーバはリス ト構築キーを記憶しておき、 そのリス ト構築キーに基 づいてコンテンツリストを作成するので、 次に再生すべきコンテンツを特定する ことができる。
本発明によるさらにもう 1つのネットワーク型コンテンツ再生システムは、 サ ーパと、 サーバに接続された第 1のクライアントと、 サーバに接続された第 2の クライアントとを備える。 サーバは、 複数のコンテンツを蓄積するコンテンツ蓄 積手段を備え、 第 2のクライアントは、 複数のコンテンツの中からコンテンツを 指定し、 その指定したコンテンツの再生を第 1のクライアントに命令する手段と、 第 1のクライアントにより再生されるべきコンテンツリストを作成するために必 要なリスト構築キーを第 1のクライアントに送信する手段とを備える。 第 1のク ライアントは、 第 2のクライアントからの命令に応じて指定されたコンテンツを 再生する手段と、 第 2のクライアントから送信されたリスト構築キーをサーバに 送信する手段とを備える。 サーバはさらに、 第 1のクライアントから送信された リス ト構築キーに基づいてコンテンツリストを作成し、 第 1のクライアントに送 信する手段を備える。 第 1のクライアントはさらに、 サーバから送信されたコン テンッリストに従って第 1のクライアントが再生を完了したコンテンツの次のコ ンテンッを再生する手段を備える。
本システムでは、 サーバがリスト構築キーに基づいて作成したコンテンツリス トを第 1のクライアントに送信する。 第 1のクライアントはこのコンテンツリス トに従って自ら連続再生を行う。 その結果、 本システムは、 第 1のクライアント への連続再生命令の競合を排除し、 第 1のクライアントによるコンテンツの連続 再生を可能にすることができる。
本発明によるネットワーク型コンテンツ再生システムにおけるクライアントは、 サーバに蓄積された複数のデジタルコンテンツの中から選択されたデジタルコン テンッをサーバに要求するコンテンッ要求手段と、 要求に応じてサーバから返信 されたデジタルコンテンツを再生する再生手段とを含む。 サーバは複数ある。 ク ライアントはさらに、 接続手段と判断手段とを備える。 接続手段は複数のサーバ のいずれかと接続を行う。 判断手段は接続手段によるサーバとの接続が維持され ているか否かを所定期間ごとに判断する。 判断手段がサーバとの接続が切断され たと判断した場合に、 接続手段はサーバとの再接続を実行する。
本クライアントは所定期間ごとにサーバとの接続状態をチェックする。 サーバ との接続が切断された場合、 クライアントはサーバとの再接続を実行する。 その ため、 サーバに異常が発生するなどして接続が切断された場合でも、 クライアン トは自ら迅速に接続を回復できる。
好ましくは、 接続手段は、 サーバとの再接続ができない場合に、 他のサーバと の接続を実行する。
この場合、 接続していたサーバとの再接続ができなくても、 クライアントは他 のサーバと迅速に接続を実行する。 その結果、 クライアントはサーバとの接続が 切断されたまま放置されることはない。
好ましくは、 接続手段は接続が切断される前のクライアントステータスを再接 続したサーバに送信する。
この場合、 クライアントは切断前のクライアントステータスを再接続したサー バに送信するため、 クライアントはサーバとの接続状態をもとどおりに回復でき る。 その結果、 ユーザはクライアントがサーバと再接続したことを意識すること なくクライアントを利用できる。 図面の簡単な説明
図 1は、 本発明の実施の形態によるネットワーク型オーディオシステムの全体 構成を示す機能プロック図である。
図 2は、 図 1中の各サーバの構成を示す機能ブロック図である。 図 3は、 図 1中の各オーディオクライアントの構成を示す機能プロック図であ る。
図 4は、 図 1中の各コントローラの構成を示す機能プロック図である。
図 5は、 図 1〜図 3に示したサーバ及びオーディオクライアントの初期接続フ エーズにおける動作を示すフロー図である。
図 6は、 図 5中のオーディオクライアントによるサーバ探索動作を示すフロー 図である。
図 7は、 図 5中のクライアント及ぴサーバによる接続動作を示すフロー図であ る。
図 8は、 図 7に示した接続動作を終えたサーバによるプッシュ動作を示す図で ある。
図 9は、 図 8に続いて、 コントローラからサーバへのオーディオクライアント に対するサーバリクエスト動作を示す図である。 ―
図 1 0は、 図 9に続いて、 オーディオクライアントからサーバを通じてコント ローラにステータスを通知する動作を示す図である。
図 1 1は、 図 5中のオーディオクライアントによるクライアント情報送信動作 を示すフロー図である。
図 1 2は、 図 1及び図 2に示したサーバによる初期設定動作及びメイン動作を 示すフロー図である。
図 1 3は、 図 2に示したサーバに保存されるクライアント情報データベースを 示す図である。
図 1 4は、 図 2に示したサーバに保存されるコンテンツ情報データベースを示 す図である。
図 1 5は、 図 2に示したサーバに保存されるファームウェア情報データベース を示す図である。
図 1 6は、 図 1 2中のサーバ探索に対する応答のサブルーチンを示すフロー図 である。
図 1 7は、 図 1 2中のコマンドポート接続受付処理のサブルーチンを示すフロ 一図である。 図 1 8は、 図 1 2中のプッシュポート接続受付処理 (その 1 ) のサブルーチン を示すフロー図である。
図 1 9は、 図 1 2中のプッシュポート接続受付処理 (その 2 ) のサブルーチン を示すフロー図である。
図 2 0は、 図 1 5中のコマンド処理のサフ レーチンを示すフロー図である。 図 2 1は、 図 2 0中のステータス通知コマンド処理のサブルーチンを示すプロ 一図である。
図 2 2は、 図 2 0中のサーバリクエスト発行コマンド処理のサブルーチンを示 すフロー図である。
図 2 3は、 図 1〜図 3に示したサーバ及ぴオーディオクライアントによる曲リ スト取得及び再生動作を示すフロー図である。
図 2 4は、 図 2 3中のオーディオクライアントによる曲リスト取得動作を示す フロー図である。
図 2 5は、 図 2 4中のジャンルリスト及び曲リスト取得動作を示すフロー図で ある。
図 2 6は、 図 2 5で取得したジャンルリストを格納した領域を示す図である。 図 2 7は、 図 1 4に示したコンテンツ情報データベースのレコード構造を示す 図である。
図 2 8は、 図 2 5中のサーバによるジャンルリスト作成動作を示すフロー図で ある。
図 2 9は、 図 2 5で取得した曲リストを格納した領域を示す図である。
図 3 0は、 図 2 5中のサーバによる曲リスト作成動作を示すフロー図である。 図 3 1は、 図 2 5中のリスト要求コマンドのフォーマツトを示す図である。 図 3 2は、 図 2 5中の検索データのフォーマツトを示す図である。
図 3 3は、 図 2 5中の曲リスト取得動作におけるバッファメモリの遷移状態を 示す図である。
図 3 4は、 図 2 5に示したジャンルリスト及ぴ曲リスト取得動作に加え、 アル バムリスト取得動作を示すフロー図である。
図 3 5は、 図 2 3中のオーディオクライアントによる曲指定、 再生及び停止、 並びにサーバによる曲配信準備及ぴ配信の動作を示すフロー図である。
図 3 6は、 図 3 5に続くフロー図である。
図 3 7は、 図 3 5中の曲情報要求コマンドを示す図である。
図 3 8は、 図 3 5中の曲情報を示す図である。
図 3 9は、 図 3 5中の曲再生準備コマンドを示す図である。
図 4 0は、 図 3 5中のエラーコードを示す図である。
図 4 1は、 図 3 5中の曲データ転送要求コマンドを示す図である。
図 4 2は、 図 3 5中の曲データを示す図である。
図 4 3は、 図 4 2に示した曲データを格納するためのバッファメモリの構成を 示す図である。
図 4 4は、 図 4 3に示したバッファメモリにおいて、 曲の先頭から 1バッファ 分の曲データを格納した状態を示す図である。
図 4 5は、 図 4 4に続き、 全バッファ分の曲データを格納した状態を示す図で あ 。
図 4 6は、 図 4 5に続き、 先頭バッファから曲データを出力する状態を示す図 である。
図 4 7は、 図 4 6に続き、 1バッファ分の空きが生じた状態を示す図である。 図 4 8は、 図 4 7に続き、 バッファの空きが埋まった状態を示す図である。 図 4 9は、 図 1〜図 3に示したクライアント及びサーバによる早送り再生動作 を示すフロー図である。
図 5 0は、 図 1〜図 3に示したクライアント及ぴサーバによる一時停止動作を 示すフロー図である。
図 5 1は、 図 1中のコントローラによるサーバとの接続動作を示すフロー図で あ 。
図 5 2は、 図 5 1中の監視ハンドル及び制御ハンドル取得動作を示すフ口一図 である。
図 5 3は、 サーバによる複数のオーディオクライアントから複数のコントロー ラへのステータス通知を示す図である。
図 5 4は、 図 5 4において、 コントローラが監視ハンドルを取得した場合のス テータス通知を示す図である。
図 5 5は、 図 1中のコントローラによるオーディオクライアントのモニタ動作 を示すフロー図である。
図 5 6は、 図 5 5に示したモニタ動作の詳細を示すフロー図である。
図 5 7は、 図 1中のコントローラによるオーディオクライアントの制御動作を 示すフロー図である。
図 5 8は、 図 5 7中のオーディオクライアントによる制御コマンド処理動作の サブルーチンを示すフロー図である。
図 5 9は、 図 5 8中の再生制御動作のサブルーチンを示す図である。
図 6 0は、 図 1 3に示したクライアント情報データベースに含まれるクライア ントタイプの詳細を示す図である。
図 6 1は、 図 5 9に示した再生制御における曲リスト表示処理動作を示すフロ 一図である。
図 6 2は、 図 6 1中の曲リスト表示において、 MP 3及び WAVの両方を再生 可能なオーディオクライアントに関する曲リストの表示画面を示す図である。 図 6 3は、 図 6 1中の曲リスト表示において、 MP 3は再生可能であるが、 W A Vは再生不可能なオーディオクライアントに関する曲リストの表示画面を示す 図である。
図 6 4は、 図 5 9に示した再生制御においてユーザからの再生命令処理動作を 示すフロー図である。
図 6 5は、 図 1中のコントローラによる連続再生制御において、 再生コマンド の送信を示す図である。
図 6 6は、 図 6 5に続き、 完了及び停止ステータスの送信を示す図である。 図 6 7は、 図 6 6に示した完了及び停止ステータスの送信動作を示すフロー図 である。
図 6 8は、 図 6 6に続き、 再生コマンドの送信を示す図である。
図 6 9は、 図 6 5〜図 6 8に示した連続再生制御で用いられるリスト構築キー の構成を示す図である。
図 7 0は、 図 6 9に示したリスト構築キーに含まれるフィルタの種類を示す図 である。
図 7 1は、 図 6 9に示したリスト構築キーを用いた連続再生制御動作を示すシ 一ケンス図である。
図 7 2は、 図 5 6及ぴ図 7 1に示したコントローラによる完了処理動作を示す フロー図である。
図 7 3は、 優先順位を付けた連続再生処理の動作を示すフロー図である。
図 7 4は、 図 7 3に示した連続再生処理を示す機能プロック図である。
図 7 5は、 図 7 3に示した連続再生処理において、 優先順位が最高のコント口 ーラが切断された場合の連続再生処理を示す機能ブロック図である。
図 7 6は、 制御ハンドルを利用した連続再生処理の動作を示すフロー図である。 図 7 7は、 図 7 6に示した連続再生処理を示す機能プロック図である。
図 7 8は、 コンテンツサーバによる連続再生処理を示す機能プロック図である。 図 7 9は、 図 7 8に示した連続再生処理の動作を示すフロー図である。
図 8 0は、 図 7 8に示した連続再生処理において、 オーディオクライアントが 複数ある場合の連続再生処理を示す機能プロック図である。
図 8 1は、 図 8 0に示した連続再生処理において、 コンテンツサーバも複数あ る場合の連続再生処理を示す機能プロック図である。
図 8 2は、 図 8 1に示した連続再生処理において、 コンテンツサーバが切り換 えられた場合の連続再生処理を示す機能ブロック図である。
図 8 3は、 図 8 1に示した連続再生処理において、 コントローラも複数ある場 合の連続再生処理を示す機能プロック図である。
図 8 4は、 オーディオクライアント自身による連続再生処理の動作を示すフロ 一図である。
図 8 5は、 再生命令管理テーブルを利用した連続再生処理の動作を示すフロー 図である。
図 8 6は、 図 8 5に示した連続再生処理を示す機能ブロック図である。
図 8 7は、 図 8 5中の再生命令管理処理の詳細を示すフロー図である。
図 8 8は、 図 8 5に示した連続再生処理において、 コンテンツサーバが切り換 えられた場合の連続再生処理を示す機能プロック図である。 図 8 9は、 図 8 5中のサーバ切換処理の詳細を示すフロー図である。
図 9 0は、 サーバ、 コントローラ、 AV Rクライアント、 及び A Vレシーバを 含むネットワーク型オーディォシステムの構成を示す機能プロック図である。 図 9 1は、 図 9 0に示したネットワーク型オーディオシステムにおいて、 ステ 一タス及びコマンドの流れを示す機能ブロック図である。
図 9 2は、 図 9 0及び図 9 1に示したネットワーク型オーディオシステムにお いて、 コントローラによる AVレシーバの制御動作を示すフロー図である。 図 9 3は、 図 9 0に示したネットワーク型オーディオシステムにおいて、 制御 コマンド及びステータスの伝達経路を示す機能プロック図である。
図 9 4は、 図 9 3に示したコマンド及ぴステータスの伝達動作を示すフロー図 である。
図 9 5は、 図 9 4に示した各段階における制御コマンドを示す図である。 図 9 6は、 図 9 4に示した各段階におけるステータスを示す図である。
図 9 7は、 図 9 0〜図 9 6に示したネットワーク型オーディオシステムにおい て、 コントローラが AVRクライアントを通じて AVレシーバ AV Rのボリユー ムを上げる動作を示すフロー図である。
図 9 8は、 図 9 0〜図 9 6に示したネットワーク型オーディオシステムにおい て、 AVレシーバのステータスをサーバに転送する場合における AV Rクライア ントの動作を示すフロー図である。
図 9 9は、 図 9 0〜図 9 6に示したネットワーク型オーディオシステムにおい て、 サーバからの制御コマンドを AVレシーバに転送する場合における AV Rク ライアントの動作を示すフ口一図である。
図 1 0 0は、 図 9 9に示した動作の改良例を示すフロー図である。
図 1 0 1は、 図 1中のクライアント及びサーバによるファームウェアアップデ ート動作を示すフロー図である。
図 1◦ 2は、 図 1 0 1に示したファームウェアアップデート動作の詳細を示す フロー図である。
図 1 0 3は、 図 1 0 2中のファームウェアリスト作成動作を示すフロー図であ る。 図 1 0 4は、 図 1 0 2中のファームウェアリス卜の送信動作を示すフロー図で める。
図 1 0 5は、 本発明の他の実施の形態によるオーディオクライアントの外観構 成を示す正面図である。
図 1 0 6は、 図 1 0 5に示したオーディオクライアントの側面図である。 図 1 0 7は、 本発明の他の実施の形態によるネットワーク型オーディオシステ ム及びィンターネットの全体構成を示す機能プロック図である。
図 1 0 8は、 図 1 0 7に示したネットワーク型オーディオシステムにおけるサ ーパ探索動作を示すフロー図である。
図 1 0 9は、 本発明の他の実施の形態による曲データの転送動作を示すフロー 図である。
図 1 1 0は、 図 1 0 9中の S 1 6 0 2 1 , S 1 6 0 6 1で参照される対比テー ブルを示す図である。
図 1 1 1は、 本発明の他の実施の形態によるオーディオクライアントのスキッ プ再生動作を示すフロー図である。
図 1 1 2は、 図 1 1 1に示したスキップ再生動作において、 オーディオクライ アントのメモリに格納された曲リストを示す図である。
図 1 1 3は、 本発明の他の実施の形態によるオーディオクライアントのリビー ト再生動作を示すフロー図である。
図 1 1 4は、 本発明の他の実施の形態によるオーディオクライアントの途中再 生動作を示すフロー図である。
図 1 1 5は、 本発明の他の実施の形態によるオーディオクライアントの監視処 理及び接続回復処理を示すフロー図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面を参照して詳しく説明する。 図中同一又は相 当部分には同一符号を付してその説明を援用する。
[目次]
1 . 好ましい実施の形態 構成
1. 1. 全体
1. 1. 2. コンテンツサーバ
1. 1. 3. オーディオクライアント
1. 1. 4. コントローラ
1. 1. 5. A Vレシーバ
1. 2. 動作
1. 2. 1. コンテンツサーバ及びオーディオクライアントの初期設定
1. 2. 1. 1. オーディオクライアントの初期設定
1. 2. 1. 1. 1. コンテンツサーバ探索
1. 2. 1. 1. 2. コンテンツサーバとの接続
1. 2. 1. 1. 3. クライアント情報の送信
1. 2. 1. 2. コンテンツサーバの初期設定
1. 2. 1. 2. 1. コンテンツサーバ探索に対する応答
1. 2. 1. 2. 2. コマンドポート接続受付
1. 2. 1. 2. 3. プッシュポート接続受付 (その 1)
1. 2. 1. 2. 4. プッシュポート接続受付 (その 2)
1. 2. 2. コンテンツサーバ及ぴオーディオクライアントのメイン動作
1. 2. 2. 1. コマンド受付
1. 2. 2. 1. 1. コマンド振分処理
1. 2. 2. 1. 2. ステータス通知コマンド処理
1. 2. 2. 1. 3. サーバリクエスト発行コマンド処理
1. 2. 2. 2. 通常再生
1. 2. 2. 2. 1. 曲リスト取得
1. 2. 2. 2. 2. 曲の指定
1. 2. 2. 2. 3. 曲の再生
1. 2. 2. 3. 特殊再生
1. 2. 2. 3. 1. 早送り再生
1. 2. 2. 3. 2. 早戻し再生 2. 2. 3. 3. —時停止
2 2. 3. 4. スロー再生
2 3. コントローラの動作
2 3 ーパとの接続
2 3 1. 1. 監視ハンドル及び制御ハンドルの取得
2 3 2. モニタ (監視) 機能
2, 3 3. 制御機能
2, 3 3. 1. 制御コマンド処理
2, 3 3. 2. 再生制御
2. 3 3. 3. 再生可能なフォーマットかを識別して再生 2, 3 3. 4. 連続再生制御
2. 3, 3. 5. リスト構築キーを用いた連続再生制御
2. 3 3. 6. 優先順位を付げた連続再生制御
2. 3, 3. 7. 制御ハンドルを利用した連続再生制御
2. 3, 3. 8. コンテンツサーバによる連続再生制御
2. 3. 3. 9. オーディオクライアント自身による連続再生制御 2. 3, 3. 10. 再生命令管理テーブルを利用した連続再生制御 2. 4. A Vレシーバの制御
2. 5. ファームウェアアップデート
の実施の形態
1. コンセント内蔵型オーディオクライアント
2. インターネット上の音楽データを取得
3. 取得データ長変更機能付き再生
4. スキップ再生
5. リピート再生
6. 途中再生
7. 自動接続回復機能付き
ましい実施の形態
1. 構成 1. 1. 1. 全体
図 1を参照して、 本発明の実施の形態によるネットワーク型オーディオシステ ム 10は、 多数の曲の音楽データを蓄積するための複数のコンテンツサーバ S 1 〜S iと、 コンテンツサーバ S I〜S iからの音楽データに基づいて音楽を再生 するための複数のオーディオクライアント C 1〜C j と、 オーディオクライアン ト C 1〜C jを制御しかつモニタするための複数のコントローラ A 1〜Akと、 AV機器 (例えば、 スィッチャゃアンプなどを含む AVレシーバ) AVRと、 A Vレシーバ AVRを制御するための AVRクライアント ACとを備える。 以下、 コンテンツサーバのうち 1つを挙げる場合はコンテンツサーバ S i、 オーディオ クライアントのうち 1つを挙げる場合はオーディオクライアント C j、 コント口 ーラのうち 1つを挙げる場合はコントローラ A kを用いる。
ここではコンテンツサーバ S iには音楽データを蓄積しているが、 これに代え て又はこれと共に映像データを蓄積していてもよく、 その他、 さまざまなデジタ ルコンテンツ(例えば、 写真などの静止画等)を蓄積していてもよい。 以下では、 音楽データを例に説明する。 また、 コンテンツサーバ S i、 オーディオクライア ント C j、 コントローラ Akは、 それぞれ複数存在するが、 コンテンツサーバや オーディオクライアントは少な'くとも 1つ存在すればよい。 複数のコンテンツサ ーバ S 1〜S iが存在する場合、 オーディオクライアント C jはいずれのコンテ ンッサーバ S 1〜S iから音楽データを取得してもよく、 また、 特定の 1つのコ ンテンッサーバ S iのみから音楽データを取得してもよい。 また、 コントローラ Akは全くなくてもよい。 また、 AVレシーバ AVRや AVRクライアント AC は複数存在してもよいが、 全くなくてもよい。
これらは、 LAN (ローカルエリアネットワーク) 12により相互に接続され るが、 これに限定されることなく、 USB、 I EEE 1394など、 コンビユー タネットワークを構築するのに適切なものを採用すればよい。 LANを採用する 場合、 PC (パーソナルコンピュータ) で標準的な TCPZl Pプロ トコルを採 用するのが好ましいが、 UDPプロトコルなどを採用してもよく、 プロ トコルは 特に限定されない。 また、 この図では LANの基幹配線から枝分かれするように コンテンツサーバやオーディオクライアントが接続されているが、 たとえば 10 BASE— T 100 B AS E— TXの場合にはハブを中心にしてスター状に接 続される。
1. 1. 2. コンテンツサーバ
図 2を参照して、 各コンテンツサーバ S iは、 圧縮デジタル音楽データを蓄積 するための HDD (ハードディスクドライブ) 14と、 データベース管理部 16 及ぴネットワークプロトコル処理部 18を含む CPU処理部 20と、 本コンテン ッサーバ S iと LAN12との間で信号を送受信する LANコントローラ 22と を備える。
1. 1. 3. オーディオクライアント
図 3を参照して、 各オーディオクライアント C jは、 ネットワークプロ トコル 処理部 24及びシステム動作部 26を含むマイコン処理部 28と、 フラッシュメ モリ 30と、 順次入力された圧縮デジタル音楽データ等を一時的に記憶して順次 出力するメモリ 32と、 圧縮デジタル音楽データをデコードして非圧縮デジタル 音楽データを生成する音声処理部 34と、 デジタル音楽データをアナログ音楽デ ータに変換する D/A変換器 (DAC) 36と、 本オーディオクライアント C j と LAN12との間で信号を送受信する LANコントローラ 38とを備える。 ォ 一ディオクライアント C jは、 コンテンツサーバ S iと異なり、 圧縮デジタル音 楽データを蓄積するための HDDを備えていなくてもよい。
1. 1. 4. コントローラ
図 4を参照して、 各コントローラ Akは、 キーボード、 マウス、 タブレット、 タツチパネル等の入力装置 301と、 液晶ディスプレイ、 CRT (Cathode Ray Tube)等の表示装置 302と、 インストールされたコンピュータプログラムに従 つて所定の処理を実行する CPU303と、 本コントローラ Akと LAN12と の間で信号を送受信する LANコントローラ 304とを備える。 コントローラ A l〜Akはオーディオクライアント C 1〜C j と同様にコンテンツサーバ S 1〜 S iに対してクライアントとして機能する。 コントローラ A kがオーディオクラ イアント C j と異なる点は、 オーディオクライアント C jは再生機能を有するの に対し、 コントローラ A kは再生機能を有さず、 主としてオーディオクライアン トのモニタ及ぴ制御機能を有する点である。 上記オーディオクライアント C jは主として再生機能を有するが、 モニタ及び 制御機能を有していてもよい。 この場合、 オーディオクライアントはコントロー ラとしても機能する。
1. 1. 5. AVレシーバ
AVレシーバ AVRは、 特に限定されないが、 たとえば E I A— 232により
AVRクライアント ACに接続される。 AVRクライアント ACは、 主として A Vレシーバ AVRと通信できる機能を有するが、 オーディオクライアント C j と 同様に再生機能を併せて有していてもよい。
1. 2. 動作
1. 2. 1. コンテンツサーバ及びオーディオクライアントの初期設定動作 図 5を参照して、 あるオーディオクライアントに電源が投入されると、 そのォ 一ディオクライアントはまずコンテンツサーバを探索する (S 11)。 LAN 1 2に接続されている複数のコンテンツサーバ S iのうち稼働中のコンテンツサー バは、 これに応答する (S 21)。
続いて、 オーディオクライアントは、 コンテンツサーバとデータの送受信を可 能にするために、 コンテンツサーバに対して接続要求を発行する (S 12) 。 コ ンテンッサーバは、 この接続要求に応じてオーディオクライアントとの接続を確 立する (S 22) 。
最後に、 オーディオクライアントは自身に関するさまざまなクライアント情報 をコンテンツサーバに送信し (S 13) 、 コンテンツサーバはこれを受信する (S 23) 。
上記初期設定動作が終了すると次の曲リスト取得動作に移るが、 その説明の前 に、 オーディオクライアントの初期設定動作の詳細を説明する。
1. 2. 1. 1. オーディオクライアントの初期設定動作
1. 2. 1. 1. 1. コンテンツサーバ探索
図 6を参照して、 オーディオクライアントは、 まず、 発見したコンテンツサー パの I Pアドレス及ぴポート番号を記録するためのサーバリストをクリァする (S 1101) 。
続いて、 オーディオクライアントは、 特に限定されないが、 たとえば UDPプ 口トコルにより、 コマンドポートで予め定められたマジックヮードを L AN 1 2 上にブロードキャストする (S 1 1 0 2 ) 。 L AN 1 2に接続されている複数の コンテンツサーバ S iの中に稼働中のコンテンツサーバが存在すれば、 そのコン テンッサーバはブロードキャストされたマジックヮードをサーチポートで受信し、 そのマジックヮードをブロードキャストしたオーディオクライアントに同じマジ ックワードを返信し、 併せて自身を特定するためのサーバ特定情報 (具体的には I Pアドレス及びポート番号) を送信する。
続いて、 オーディオクライアントは、 サーバ特定情報の受信経過時間を計測す るためのタイマをリセットし (S 1 1 0 3 ) 、 その後、 サーバ特定情報を受信し たか否かを判別する (S 1 1 0 4 )。
サーバ特定情報を受信した場合 (コンテンツサーバを発見した場合) 、 オーデ ィォクライアントは、 そのサーバ特定情報をサーバリストに記録する (S 1 1 0 5 ) 。 そして、 オーディオクライアントは、 サーパリストが満杯になったか否か を判別し (S 1 1 0 6 ) 、 満杯になった場合は探索を完了し、 未だ満杯になって いない場合はステップ S 1 1 0 3に戻る。
一方、 サーバ特定情報を受信しない場合 (コンテンツサーバを発見しない場 合) 、 オーディオクライアントは、 サーバ特定情報の受信経過時間が所定時間、 たとえば 2秒を超えたか否かを判別し (S 1 1 0 7 ) 、 未だ超えていない場合は ステップ S 1 1 0 4に戻る。 すなわち、 オーディオクライアントは 2秒間だけコ ンテンッサーバからの応答を待つ。
サーバ特定情報の受信経過時間が 2秒を超えた場合、 オーディオクライアント は、 サーバリストが未だ空か否かを判別する (S 1 1 0 8 ) 。 サーバリストが空 の場合、 つまりサーバリストにサーバ特定情報が全く記録されていない場合、 ォ —ディオタライアントはステップ S 1 1 0 2に戻ってマジックヮードを再ぴブロ ードキャストする。 一方、 サーバリストが空でない場合、 つまりサーバリストに 少なくとも 1つのコンテンツサーバのサーバ特定情報が記録されている場合、 ォ 一ディオクライアントは探索を完了する。 すなわち、 オーディオクライアントは 少なくとも 1つのコンテンツサーバを発見するまで探索を続ける。
上記コンテンツサーバ探索の結果、 サーバリストには 1又は 2以上のコンテン ッサーバに対応する I pアドレス及ぴポート番号が付与される。
1. 2. 1. 1. 2. コンテンッサーバとの接続
図 7を参照して、 オーディオクライアントは、 ユーザの操作に応じてサーバリ ストの中から 1つのコンテンツサーバを選択し (S 1201) 、 その選択したコ ンテンッサーバの I Pアドレス及ぴポート番号を取得する (S 1202) 。 続いて、 オーディオクライアントは、 取得した I Pアドレス及びコマンドポー トで T C P (Transmission Control Protocol)ソケット (1) を生成し (S 1 2 03) 、 この TCPソケット (1) でコンテンツサーバと接続する (S 1 20 4) 。 コマンドポートは、 コンテンツサーバとオーディオクライアントとの間で コマンドを送受信するためのポートである。 コンテンツサーバがコマンドポート での接続を受け付け (S 2201) 、 接続が成功した場合はステップ S 1206 に進むが、 そうでない場合は接続は失敗となる (S 1205) 。 これによりォー ディオクライアントは、 コンテンツサーバとの間でコマンドを送受信するための 接続を確立する。
続いて、 オーディオクライアントは TCPソケット (1) でクライアントイン デッタス要求コマンドをコンテンツサーバに送信する (S 1206) 。 コンテン ッサーバは、 このクライアントインデックス要求コマンドに応答して TCPソケ ット (1) からクライアントインデックスをオーディオクライアントに返信し (S 2202) 、 オーディオクライアントはこれを受信する (S 1207) 。 ク ライアントインデックスは、 コンテンツサーバにより各オーディオクライアント に割り当てられる識別番号である。 クライアントインデックス要求コマンドは、 オーディォクライアントがコンテンツサーバにクライアントインデックスを要求 するコマンドである。
続いて、 オーディオクライアントは、 コンテンツサーバの I Pアドレス及ぴプ ッシュポートで TCPソケット (2) を生成し (S 1208) 、 この TCPソケ ット (2) でコンテンツサーバと接続する (S 1209) 。 プッシュポートは、 コンテンツサーバからの自発的な要求又はコントローラからの要求に応じたコン テンッサーバからの要求 (以下 「サーバリクエスト」 という) を常に受信可能な 待機状態にあるポートである。 コンテンツサーバがプッシュポートでの接続を受 け付け (S 2 0 9 ) 、 接続が成功した場合はステップ S 1 2 1 1に進むが、 そう でない場合は接続は失敗となる (S 1 2 1 0 ) 。 これによりオーディオクライァ ントは、 サーバリクエストを受信するための接続を確立する。
この時点では、 コンテンツサーバは未だ、 プッシュポートに接続されているの はどのオーディオクライアントなのかわかっていない。 そこで、 オーディオクラ イアントはステップ S 1 2 0 7で取得したクライアントインデックスを T C Pソ ケット ( 2 ) でコンテンツサーバに送信する ( S 1 2 1 1 ) 。 コンテンツサーバ は、 このクライアントインデックスに基づいてプッシュポートに接続されている オーディオクライアントを特定する (S 2 2 0 4 ) 。 以降、 コンテンツサーバは、 サーバリクエストをオーディオクライアントに送信するとき、 このプッシュポー トを使用する。
以上の結果、 コマンドポート及びプッシュポートで 2つの接続が確立する。 こ れら 2つの接続は、 オーディオクライアント C j及ぴコンテンツサーバ S iの間 だけでなく、 後述するコントローラ A k及びコンテンツサーバ S iの間、 さらに AV Rクライアント A C及びコンテンツサーバ S iの間でも確立する。
一般に、 サーバクライアントシステムでは、 HT T Pプロトコルに見られるよ うに、 クライアントからの要求 (ページ要求など) に対し、 コンテンツサーバが レスポンス (HTML文書など) を返すというものである。 これは、 アクション のトリガはクライアントのみが有し、 コンテンツサーバが自発的にクライアント に対して働きかけることができないということを意味している。 このため、 コン テンッサーバがクライアントに対して何らかの要求、 たとえばコンテンッサーバ シャツトダウン時にクライアントにその旨を通知するなど、 自発的なァクション をする場合でも、 クライアントからの要求がなければ通知を行うことはできない。 クライアントがサーバリクエストを受信するためには、 一定時間ごとにコンテ ンッサーバに対してサーバリクエストがないかを確認するコマンドを発行する。 コンテンツサーバはクライアントにより発行されたコマンドに応答してサーバリ クエストをクライアントに送信し、 クライアントはこれを受信する。
上記 HT T Pプロトコルの場合も、 動的に更新されるページに関しては一定時 間ごとにページのリロードを行わなければならないということが知られている。 この手法はクライアントからのポーリングによるサーバリクエストの取得と呼ぶ ことができるが、 以下のような問題点がある。
( 1 ) ポーリング間隔をある程度短くして、 こまめにサーバリクエストがある か否かを尋ねないと、 コンテンッサーバが要求を生じた時間と実際にその要求を オーディオクライアントが受け取るまでの時間に差が生じる。
( 2 ) 上記のようにポーリング間隔を短くすると、 ネットワークトラフィック 及びサーバクライアントの負荷が増大してしまう。
( 3 ) コンテンツサーバがサーバリクエストをクライアントに送信しなければ ならない頻度は通常のコマンドを送受信する頻度に比べて低いので、 大概のポー リングは無駄になる。 サーバリクエストがあるか否かを尋ねても、 通常は何も要 求はないと返答されるからである。
上記問題を解決するためには、 クライアントからのポーリングではなく、 コン テンッサーバからのインタラプトでサーバリクエストをクライアントに送信すれ ばよい。 これにより、 上記 (1 ) で問題となっているリアルタイム性の欠如、 並 ぴに上記 (2 ) 及び (3 ) のような無駄な負荷を排除することができる。
これを実現するために、 上述したように 2つの接続を確立している。 1つは、 オーディオクライアント C jがコマンドを発行し、 コンテンツサーバ S iがそれ に応答するのに用いられるコマンドポートに形成される接続である。 もう 1つは、 コンテンツサーバ S iがサーバリクエストをオーディオクライアント C jに送り つけるのに用いられるプッシュポートに形成される接続である。 これによりォー ディオクライアント C jからのポーリングを用いずに、 コンテンツサーバ S iが サーバリクエストをオーディオクライアント C jに通知することができる。
以下、 これら 2つの接続を用いた動作の概要を説明する。
図 8に示すように、 コンテンツサーバ S iは、 シャットダウン時に、 プッシュ ポートを通じて全てのオーディオクライアント C jにその旨を通知し、 これによ りオーディオクライアント C jに何らかの動作 (電源を落とすなど) をさせる。 また、 図 9に示すように、 コントローラ A kは、 オーディオクライアント C j を制御するとき (たとえば再生や停止など) 、 その制御内容を含むサーバリクェ ストの発行をコンテンツサーバ S iに要求するコマンドをコマンドポートを通じ てコンテンツサーバ S iに送信する。 コンテンツサーバ S iはこのコマンドに応 答してサーバリクエストをプッシュポートを通じてオーディオクライアント C j に送信する。 その結果、 コントローラ Akはオーディオクライアント C jを制御 することができる。
さらに、 図 10に示すように、 オーディオクライアント C〗は、 その動作状態 が変化したときに、 その動作状態の変化をコマンドポートを通じてコンテンッサ ーバ S iに送信する。 コンテンツサーバ S iは、 その動作状態の変化をプッシュ ポートを通じてオーディオクライアント C jの動作状態を監視しているコント口 ーラ Akに送信する。 したがって、 オーディオクライアント C jはその動作状態 の変化をリアルタイムにコントローラ Akに通知することができる。
以上により、 本ネットワーク型オーディオシステムにおけるネットワークトラ フィック並びにコンテンツサーバ及びオーディオクライアントの負荷を最小に抑 えることができ、 システム全体のパフォーマンスを増大させることができる。
1. 2. 1. 1. 3. クライアント情報の送信
図 11を参照して、 オーディオクライアントは、 自身の属性情報をコンテンツ サーバに送信し (S 1301〜S 1303) 、 さらに自身の初期ステータスを送 信する (S 1304〜S 1305) 。
具体的には、 オーディオクライアントは、 TCPソケット (1) でオーディオ クライアントタイプを送信する (S 1301) 。 オーディオクライアントタイプ には、 再生可能な音楽フォーマットの種類、 リモートコントローラ (リモコン) による操作の可否、 E I A— 232ポートの有無等がある。
続いて、 オーディオクライアントは、 TCPソケット (1) でプロダクト ID を送信する (S 1302) 。 プロダクト I Dは、 オーディオクライアントのタイ プごとに付与される機種情報である。 したがって、 同じタイプのオーディオクラ イアントには同じプロダクト I Dが付与される。
続いて、 オーディオクライアントは、 TCPソケット (1) でファームウェア IDを送信する (S 1303) 。 ファームウェア I Dは、 オーディオクライアン トにインストールされているファームウェアのバージョン情報である。
続いて、 オーディオクライアントは、 TCPソケット (1) でポリュームの初 期値を送信する (S 1 304) 。 ボリュームの初期値は、 オーディオクライアン トで再生される音量の初期値である。
最後に、 オーディオクライアントは、 TCPソケット (1) でオーディオクラ イアントの初期ステータスを送信する (S 1 30 5) 。 オーディオクライアント の初期ステータスには、 停止ステータス等がある。
コンテンツサーバは、 クライアントから送信されたクライアント情報を受信し、 クライアント情報データベース (図 1 3) に格納する。 クライアント情報は、 ォ 一ディオクライアント C jだけでなく、 コントローラ A k及ぴ A VRクライアン ト ACからもコンテンツサーバ S iに送信される。 コンテンツサーバ S iは、 こ のクライアント情報に基づいて全てのクライアントを管理する。
1. 2. 1. 2. コンテンツサーバの初期設定動作
次に、 上記オーディオクライアントの初期設定動作に対応するコンテンッサー パの初期設定動作を説明する。
図 1 2を参照して、 コンテンツサーバは、 図 1 3に示すようなクライアント情 報データベースのための格納領域を最大クライアント数分確保し、 クリァする (S 20 1) 。 各クライアント情報は、 接続の有無を示すフラグと、 クライアン トタイプと、 現在のステータスと、 現在のボリューム値と、 プロダクト I Dと、 ファームウェア I Dと、 クライアント名と、 再生ファイル名と、 リスト構築キー とを含む。
クライアントタイプには、 オーディオクライアント、 コントローラ、 AVRク ライアントといったクライアントのタイプと、 再生可能なデータフォーマツト (MP 3、 WAVなど) とが記録される。 クライアントタイプにはさらに、 リモ コン制御の可否も記録される。 たとえばリモコンにより制御可能なオーディォク ライアン卜には、 リモコン制御可能という情報が記録される。 ステータスには、 「再生」 、 「停止」 、 「ポーズ」 、 「完了」 、 「ファームウェアアップデート 中」 などのステータスが記録される。 再生フアイノレ名には、 現在再生中の曲のデ ータが格納されている HDD 14のフルパス名が記録される。 また、 再生フアイ ル名はフルパス名のようなファイル名そのものである必要はなく、 そのファイル を特定可能な情報であればいかなる情報であつてもよい。 たとえばコンテンッサ ーパに所定の識別番号とファイル名とを対応つけたテーブルを記憶しておき、 コ ンテンッサーバがこのテーブルを参照して識別番号をファイル名に変換するよう にしてもよい。 この場合、 長いファイル名を送受信する必要がなくなる。 また、 ファイル名から直ちに曲のデータが格納されているファイルを特定することがで きないので、 セキュリティが向上する。 さらに、 リスト構築キーは、 コンテンツ サーバがリストを作成するためのものであるが、 詳細は後述する。
続いて、 コンテンツサーバは、 コマンドポートへの接続要求を受け付けるソケ ットと、 プッシュポートへの接続要求を受け付けるソケットと、 サーチポートへ のサーバ探索要求を受け付けるソケットとを作成する (S 2 0 2 ) 。 サーチポー トは、 コンテンツサーバ探索時に使うポートであり、 このサーチポートにマジッ クワードが入力されたかどうかをコンテンツサーバは監視する。
続いて、 コンテンツサーバは、 図 1 4に示すようなコンテンツ情報データべ一 スと、 図 1 5に示すようなファームウェア情報データベースとを構築する (S 2 0 3 ) 。 コンテンツ情報データベースは、 コンテンツ情報を曲数分備える。 各曲 のコンテンツ情報は、 ファイル名と、 曲名と、 アーティスト名と、 アルバム名と、 ジャンル名と、 曲の長さ (時間) と、 データフォーマットと、 再生回数と、 最終 アクセス時間とを含む。 このファイル名には、 当該曲のデータが格納されている HD D 1 4のフルパス名が記録される。 ファームウェア情報データベースは、 フ アーム情報をファームウェアのファイル数分備える。 ファームウェア情報は、 プ 口ダクト I Dと、 ファームウェア I Dと、 ファイルサイズと、 データフォーマツ トと、 ファイル名とを含む。 このファイル名には、 当該ファームウェアが格納さ れているインターネット上のサイトを示すフルパス名が記録される。
コンテンツサーバは、 サーチポートに書込があった場合 ( S 2 0 4 ) 、 後述す るコンテンツサーバ探索に対する応答処理を行う ( S 2 0 5 ) 。 コンテンツサー パはまた、 コマンドポートに書込があった場合 (S 2 0 6 ) 、 後述するコマンド ポート接続受付処理を行う (S 2 0 7 ) 。 コンテンツサーバはまた、 プッシュポ 一トに書込があった場合 (S 2 0 8 ) 、 後述するプッシュポート接続受付処理 (その 1 ) を行う (S 2 0 9 ) 。 コンテンツサーバはまた、 未処理プッシュポー トに書込があった場合 (S 2 1 0 ) 、 後述するプッシュポート接続受付処理 (そ の 2) を行う (S 21 1) 。
1. 2. 1. 2. 1. コンテンッサーバ探索に対する応答
図 16を参照して、 サーチポートに書込があった場合、 コンテンツサーバは、 その書き込まれた内容を取得し (S 2051) 、 その内容が正しいマジックヮー ドか否かを判別する (S 2052) 。 正しいマジックヮードであれば、 コンテン ッサーバは同じマジックワードを送信元クライアントに返信し (S 2053) 、 併せて自身の I Pアドレス及びポート番号を返信する。
1. 2. 1. 2. 2. コマンドポート接続受付
図 1 7を参照して、 コマンドポートにクライアントから接続の要求があった場 合、 コンテンツサーバは、 現在接続されているクライアント数が最大クライアン ト数に達しているか否かを判別する (S 2071) 。 最大クライアント数に達し ている場合、 コンテンツサーバは、 優先度の低いクライアントを探し、 強制的に 切断する (S 2072) 。 クライアントの優先度は、 現在再生を行っていないォ 一ディオクライアント、 一定時間通信を行っていないオーディオクライアント等 ほど、 低くなる。 そして、 コンテンツサーバは、 強制的に切断したクライアント のクライアント情報をクリアする (S 2073)。
なお、 現在接続されているクライアント数が最大クライアント数に達している 場合、 上記に代えて、 コンテンツサーバはこれ以上クライアントと接続しないよ うにしてもよい。
クライアントの接続可能なソケットに余裕がある場合、 又は優先度の低いクラ イアントを切断して接続可能なソケットを確保した場合、 コンテンツサーバは、 クライアントからの接続要求の受付を開始する (S 2074)。
受付が成功した場合 (S 2075) 、 コンテンツサ一バは、 クライアント情報 データベースの空き領域を探す (S 2076) 。 具体的には、 フラグが FALS Eになっているクライアント情報を探す。 コンテンツサーバは、 その探した領域 を新しいクライアント情報格納領域に割り当て (S 2077) 、 前のクライアン ト情報をクリアする (S 2078) 。
続いて、 コンテンツサーバはフラグを TRUEに設定し (S 2078) 、 受付 の結果として得られたソケット情報をクライアント情報格納領域のソケットフィ ールドに格納する (S 2079) 。
1. 2. 1. 2. 3. プッシュポートへの接続受付処理 (その 1)
図 18を参照して、 プッシュポートにクライアントから接続の要求があった場 合、 コンテンツサーバは、 その受付を開始する (S 2091) 。 受付が成功した 場合 (S 2092) 、 受付の結果として得られたソケット情報を未処理プッシュ ポートのキューに格納する (S 2093) 。 この時点では未だ、 コンテンツサー バはプッシュポートに接続されたクライアントを特定できていない。 このような プッシュポートを未処理プッシュポートとレ、う。
1. 2. 1. 2. 4. プッシュポート接続受付処理 (その 2)
図 1 9を参照して、 未処理プッシュポートにクライアントから接続の要求があ つた場合、 コンテンツサーバは、 そのプッシュポートに書き込まれたコマンドを 取得する (S 21 1 1) 。 そのコマンドのサイズが 0よりも大きく (S 2 1 1 2) 、 かつそのコマンドがクライアントインデックス通知コマンドであれば (S 21 13) 、 コンテンツサーバは、 そのクライアントインデックスが示すクライ アントは既にコマンドポートに接続されているか否かを判別する (S 21 14) 。 未だ接続が完了していない場合、 コンテンツサーバはエラーコードをー 1 (失 敗) に設定し (S 21 15) 、 ステップ S 2119に進む。 一方、 既に接続が完 了している場合、 コンテンツサーバは、 このプッシュポートをそのクライアント 用のプッシュポートとして登録する (S 21 16) 。 コンテンツサーバはさらに、 このプッシュポートを未処理プッシュポートのキューから削除し (S 21 1 7) 、 エラーコードを 0 (成功) に設定する (S 21 18) 。 そして、 コンテンツサー バは、 設定されたエラーコードをクライアントに返信する (S 21 1 9) 。
1. 2. 2. コンテンッサーバ及ぴオーディオクライアントのメイン動作 1. 2. 2. 1. コマンド受付
再ぴ図 12を参照して、 コンテンツサーバは、 初期設定を完了した後、 クライ アントからのコマンドを受け付ける。 すなわち、 コンテンツサーバは、 ステップ S 213〜S 217を最大クライアント数分繰り返す (S 212、 S 218、 S 219) 。 nは、 クライアントに割り当てられる 0から (最大クライアント数一 具体的には、 コンテンツサーバは、 クライアント情報データベースのフラグを 参照し、 n番目のクライアントが既にコマンドポートに接続されているか否かを 判別する (S 213) 。 既に接続されている場合、 コンテンツサーバは n番目の クライアント用のコマンドポートに書込があつたか否かを判別する (S 214) 。 書込があった場合、 コンテンツサーバはその書き込まれたデータのサイズが 0又 は一 1であるか否かを判別する (S 215) 。 0又は一 1の場合、 クライアント が切り離されたか、 又はソケットエラーが発生したかであるから、 コンテンツサ ーパは n番目のクライアント情報をクリアする (S 216) 。 一方、 そうでない 場合、 コンテンツサーバは次のコマンド処理を行う (S 217) 。
1. 2. 2. 1. 1. コマンド振分処理
図 20を参照して、 クライアントからコマンドポートへの書込があった場合、 コンテンツサーバは、 先頭 4バイトに格納されたコマンドに応じて処理を分岐す る (S 2171) 。 すなわち、 オーディオクライアントからコンテンツサーバに ステータスの変動を通知するといつたステータス通知コマンドであれば (S 21 72) 、 オーディオクライアントから通知されたステータスをコントローラに通 知する (S 2173) 。 詳細は後述する。 また、 コントローラからオーディオク ライアントへのコンテンツサーバリクエスト発行コマンドであれば (S 21 7
4) 、 コントローラからの要求をオーディオクライアントに通知する (S 21 7
5) 。 詳細は後述する。 その他、 コンテンツサーバはコマンドに応答して所定の 処理を行う。
1. 2. 2. 1. 2. ステータス通知コマンド処理
あるオーディオクライアント (以下 Γ当該オーディオクライアント」 とい う。 ) からのコマンドがステータス通知コマンドの場合、 図 21を参照して、 コ ンテンッサーバは、 まず、 そのコマンド中のパラメータに格納されたステータス ゃポリューム等のクライアント情報をクライアント情報データベースに格納する (S 21 731) 。 したがって、 コンテンツサーバは常に最新のクライアント情 報を保持している。
次に、 コンテンツサーバは、 全てのクライアントの中からコントローラを探し 出し、 探し出したコントローラに当該オーディオクライアントのステータスを通 知する。 そのため、 コンテンツサーバは、 以下のステップ S 21 733〜S 21 736を最大クライアント数分繰り返す (S 21732、 S 21737, S 21 738) 。
具体的には、 コンテンツサーバは、 クライアント情報のクライアントタイプを 参照して、 n番目のクライアントがコントローラか否かを判別する (S 2173 3) 。 したがって、 当該オーディオクライアントのステータスをコントローラで はない当該他のオーディオクライアントに通知することを防ぐことができる。 コ ントローラであれば、 コンテンツサーバは、 そのコントローラが当該オーディオ クライアントに対する監視ハンドルを取得しているか否かを判別する (S 217 34) 。 監視ハンドルを取得していれば、 コンテンツサーバは、 そのコントロー ラがプッシュポートへの接続を完了しているか否かを判別する (S 21 735) 。 プッシュポートへの接続を完了していれば、 コンテンツサーバは、 そのコント ローラのプッシュポートに当該オーディオクライアントのクライアント情報を書 き込み、 これにより当該オーディオクライアントのステータスをコントローラに 通知する (S 21736) 。
1. 2. 2. 1. 3. サーバリクエスト発行コマンド処理
コントローラからのコマンドがサーバリクエスト発行コマンドの場合、 図 22 を参照して、 コンテンツサーバは、 まず、 そのコマンドに含まれる発行元コント ローラ、 送信先オーディオクライアント、 要求内容等を取得する (S 21 75 1) 0
コンテンツサーバは、 発行元コントローラが送信先オーディオクライアン卜の 制御ハンドル (後述) を取得しているか否かを判別し (S 21 752) 、 制御ハ ンドルを取得していなければエラーコードをー 1に設定する (S 21753) 。 したがって、 制御ハンドルを取得していないコントローラがオーディオクライァ ントを制御するのを防止することができる。
制御ハンドルを取得していれば、 コンテンツサーバは、 クライアント情報中の フラグを参照して送信先オーディオクライアントのコマンドポートで接続が確立 しているか否かを判別し (S 21 754) 、 確立していなければエラーコードを —2に設定する (S 21755) 。 したがって、 制御不可能なオーディオクライ アントにコマンドを送信するのを防止することができる。
送信先オーディオクライアントのコマンドポートで接続が確立していれば、 コ ンテンッサーバは、 送信先オーディオクライアントのプッシュポートで接続が確 立しているか否かを判別し (S 21756) 、 確立していなければエラ コード を 1に設定する (S 21757) 。 一方、 確立していれば、 コンテンツサーバは、 送信先オーディオクライアントのプッシュポートにコントローラからの要求内容 を送信し (S 21758) 、 エラーコードを 0 (エラーなし) に設定する (S 2 1759) 。
最後に、 コンテンツサーバは、 発行元コントローラにエラーコードを返信する (S 21760) 。
なお、 送信先オーディオクライアントがプッシュポートに接続されていない場 合は、 送信先オーディオクライアントがポーリングで問い合わせをしてきたとき に、 コントローラからの要求内容を送信先オーディオクライアントに送信するよ うにしてもよい。
1. 2. 2. 2. 通常再生
次に、 ユーザがオーディオクライアント C jに所望の曲を再生させる場合の動 作を説明する。 ここでは、 ユーザは所望の曲を直ちに指定するのではなく、 まず 所望の曲リストを指定し、 その曲リストの中から所望の曲を選択する。 以下、 詳 述する。
図 23を参照して、 オーディオクライアントは、 ユーザの操作に応じて曲リス . ト要求コマンドをコンテンツサーバに送信する (S 14) 。 曲リスト要求コマン ドは、 オーディオクライアントがコンテンツサーバに対して所望の曲リストを要 求するためのコマンドである。 曲リストには、 複数の曲名やアーティスト名など が列挙されている。 コンテンツサーバはこの曲リスト要求コマンドに応じて曲リ ストを要求元のオーディオクライアントに送信し (S 24) 、 オーディオクライ アントはこれを受信する (S 14) 。
オーディオクライアントはユーザの操作に応じて曲リストに含まれる曲を指定 し (S 15) 、 コンテンツサーバはこれに応じて指定された曲の配信を準備する (S 25) 。 続いて、 コンテンツサーバは指定された曲をオーディオクライアントに配信し
(S 26) 、 オーディオクライアントは配信された曲を再生する (S 16) 。 そ して、 オーディオクライアントは、 再生終了後又はユーザの操作に応じて曲の再 生を停止する (S 17) 。
以下、 ステップ S 14〜S 16の各々の詳細を説明する。
1. 2. 2. 2. 1. 曲リスト取得
図 24を参照して、 オーディオクライアントは、 コンテンツサーバにプレイ名 リストを要求するか否かを判別する (S 1401) 。 プレイ名リストは、 プレイ リストのタイ トルを列挙したものである。 プレイリストは、 ユーザにより選択さ れた複数の曲を列挙した曲リストである。 コンテンツサーバには、 ユーザにより 作成された複数のプレイリストが予め格納されている。
ユーザは、 コンテンツサーバに格納されている複数のプレイリストの中から 1 つを選択しょうとする場合、 まずどのようなプレイリストが登録されているのか を確認するために、 コンテンツサーバにプレイ名リストを要求する。 オーディオ クライアントはこのユーザの操作に応じてコンテンツサーバにプレイ名リストを 要求し、 コンテンツサーバからプレイ名リストを受信する (S 1402) 。 続いて、 オーディオクライアントは、 指定されたプレイリストを要求するか否 かを判別する (S 1403) 。 ユーザがプレイ名リストの中から所望のプレイリ ストを指定し、 この操作に応じてオーディオクライアントが指定されたプレイリ ストを要求する場合はステップ S 1413に進み、 要求しない場合はステップ S
1401又 S 1403に戻る (S 1404) 。
プレイ名リストを要求しない場合、 オーディオクライアントは、 コンテンツサ ーパにアーティストリストを要求するか否かを判別する (S 1405) 。 ァーテ イストリストには、 複数のアーティスト名が列挙されている。 アーティストリス トはコンテンツサーバに予め用意されているのではなく、 オーディオクライアン トからの要求に応じて図 14に示したコンテンッ情報データベースからその都度 作成される。
ユーザがアーティストリストを要求する場合、 オーディオクライアントはユー ザの操作に応じて所望のアーティストリストをコンテンツサーバに要求し、 コン テンッサーバからアーティストリストを受信する (S 1 4 0 6 ) 。
続いて、 オーディオクライアントは、 指定されたアーティストの曲リストを要 求するか否かを判別する (S 1 4 0 7 ) 。 ユーザがアーティストリストの中から 所望のアーティストを指定し、 この操作に応じてオーディオクライアントが指定 されたアーティストの曲リストを要求する場合はステップ S 1 4 1 3に進み、 要 求しない場合はステップ S 1 4 0 1又 S 1 4 0 7に戻る (S 1 4 0 8 ) 。 この曲 リスト ίこは指定されたアーティストの曲名などが列挙されているが、 この曲リス トも上記アーティストリストと同様にコンテンツサーバに予め用意されているの ではなく、 オーディオクライアントからの要求に応じて図 1 4に示したコンテン ッ情報データベースからその都度作成される。
アーティストリストを要求しない場合、 オーディオクライアントは、 コンテン ッサーバにジャンルリストを要求するか否かを判別する (S 1 4 0 9 ) 。 ジヤン ルリストには、 複数のジャンル名が列挙されている。 ジャンルリストも上記ァー テイストリストと同様にコンテンツサーバに予め用意されているのではなく、 ォ 一ディオクライアントからの要求に応じて図 1 4に示したコンテンツ情報データ ベースからその都度作成される。
ユーザがジャンルリストを要求する場合、 オーディオクライアントはユーザの 操作に応じて所望のジャンルリストをコンテンツサーバに要求し、 コンテンツサ ーバからジャンルリストを受信する (S 1 4 1 0 ) 。
続いて、 オーディオクライアントは、 指定されたジャンルの曲リストを要求す るか否かを判別する (S 1 4 1 1 ) 。 ユーザがジャンルリストの中から所望のジ ャンルを指定し、 この操作に応じてオーディオクライアントが指定されたジャン ルの曲リストを要求する場合はステップ S 1 4 1 3に進み、 要求しない場合はス テツプ S 1 4 0 1又 S 1 4 1 1に戻る (S 1 4 1 2 ) 。 この曲リストには指定さ れたジャンルの曲名などが列挙されているが、 この曲リストも上記アーティスト の曲リストと同様にコンテンツサーバに予め用意されているのではなく、 オーデ ィォクライアントからの要求に応じて図 1 4に示したコンテンツ情報データべ一 スからその都度作成される。
上記の結果、 曲リストを要求する場合、 オーディオクライアントはコンテンツ サーバに曲リス トを要求し、 コンテンツサーバから曲リス トを受信する (S 1 4 1 3 ) 。 これにより曲リストの取得は終了する。
次に、 図 2 5を参照して、 ジャンルリス トを取得し、 その中から所望のジヤン ルとしてポップスを選択してポップスの曲リストを取得する場合の動作を説明す る。
この場合、 オーディオクライアントは、 コンテンツサーバにジャンルリストを 要求するためのリスト要求コマンドを送信する (S 1 4 2 1 ) 。 コンテンツサー パは、 これに応答してジャンルリストを返信する ( S 2 4 0 1 ) 。 オーディオク ライアントは、 コンテンツサーバからジャンルリストを受信し、 図 2 6に示すよ うにメモリ 3 2に格納する (S 1 4 2 2 ) 。
ジャンルリストは、 予め作成してコンテンツサーバに保存しておいてもよいが、 ここではそうではなく、 オーディオクライアントから要求されるたびに、 コンテ ンッサーバが図 1 4に示したコンテンツ情報データベースに基づいてジャンルリ ストを作成する。 以下、 ジャンルリストの作成方法を説明する。
図 2 7に示すように、 コンテンツ情報データベースは、 n曲を保存している場 合、 n個のレコードを有する。 各レコードには、 曲名、 ジャンル、 アーティスト 名、 アルバム名などが記録されている。
このようなコンテンツ情報データベースを用いてジャンルリストを作成する場 合、 図 2 8を参照して、 まず、 コンテンツサーバは、 レコードの番号を示すイン デッタスを 0に初期化する (S 2 4 0 1 1 ) 。
続いて、 コンテンツサーバは、 インデックスが示すレコードのジャンルが既に ジャンルリストに存在する力否かを判別する (S 2 4 0 1 2 ) 。 存在しない場合、 コンテンツサーバはそのレコードのジャンルをジャンルリストに追加し ( S 2 4 0 1 3 ) 、 その後、 インデックスをインクリメントする ( S 2 4 0 1 4 ) 。 一方、 存在する場合、 コンテンツサーバは、 ステップ S 2 4 0 1 3をスキップし、 直ち にインデックスをインクリメントする (S 2 4 0 1 4 ) 。
続いて、 コンテンツサーバは、 インデックスが示すレコードの番号が全レコー ド数 nよりも小さいか否かを判別し (S 2 4 0 1 5 ) 、 小さい場合はステップ S 2 4 0 1 2に戻り、 一方、 小さくない場合はジャンルリストの作成を完了する。 上記の処理により、 コンテンツサーバは、 コンテンツ情報データベースに蓄積 されている全ての曲のジャンルを重複することなくピックアップし、 ジャンルリ ストを作成する。 このように、 ジャンルリストは予めデータベース化されている のではなく、 オーディオクライアントからの要求のたびに一時的に作成されるの で、 ジャンルリストを常に格納しておくためのメモリ領域は不要である。
再び図 2 5を参照して、 作成されたジャンルリストはコンテンツサーバからォ 一ディオクライアントに送信される ( S 2 4 0 1 , S 1 4 2 2 ) 。 ユーザは、 こ のジャンルリストの中から所望のジャンル (この例ではポップス) を選択する。 オーディォクライアントは、 ユーザの操作に応じて選択されたジャンルの曲リス トをコンテンツサーバに要求する (S 1 4 2 3 ) 。 コンテンツサーバは、 オーデ ィオクライアントからの要求に応じて選択されたジャンルの曲リストをコンテン ッサーバに返信する ( S 2 4 0 2 ) 。 オーディオクライアントは、 コンテンツサ ーバから曲リストを受信し、 図 2 9に示すようにメモリ 3 2に格納する (S 1 4 2 4 ) 。
上記ジャンルリストと同様に、 曲リストもコンテンツサーバに予め用意されて いるのではなく、 図 2 7に示したコンテンツ情報データベースに基づいて作成さ れる。 すなわち、 コンテンツサーバは、 オーディオクライアントから曲リストを 要求されるたびに、 コンテンツ情報データベースに基づいて曲リストを作成する。 以下、 曲リストの作成方法を図 3 0を参照して説明する。
まず、 コンテンツサーバは、 図 2 7に示したコンテンツ情報データベースにお けるレコードの番号を示すインデックスを 0に初期化する (S 2 4 0 2 1 ) 。 続いて、 コンテンツサーバは、 インデックスが示すレコードのジャンルを選択 されたジャンル (この例ではポップス) と比較し、 それらが一致するか否かを判 別する (S 2 4 0 2 2 ) 。 一致する場合、 コンテンツサーバはそのレコードの曲 名、 アーティスト名、 アルバム名などを曲リストに追加し (S 2 4 0 2 3 ) 、 そ の後、 インデックスをインクリメントする ( S 2 4 0 2 4 ) 。 一方、 一致しない 場合、 コンテンツサーバは、 ステップ S 2 4 0 2 3をスキップし、 直ちにインデ ックスをインクリメントする ( S 2 4 0 2 4 ) 。
続いて、 コンテンツサーバは、 インデックスが示すレコードの番号が全レコー ド数 nよりも小さいか否かを判別し (S 2 4 0 2 5 ) 、 小さい場合はステップ S 2 4 0 2 2に戻り、 一方、 小さくない場合は曲リストの作成を完了する。
上記の処理により、 コンテンツサーバは、 選択されたジャンルの曲だけをコン テンッ情報データベースからピックアップし、 曲リストを作成する。 このように、 曲リストは予めデータベース化されているのではなく、 オーディオクライアント からの要求のたびに一時的に作成されるので、 曲リストを常に格納しておくため のメモリ領域は不要である。
なお、 曲リストを作成する場合には、 該当する全ての曲をピックアップするの ではなく、 再生不可能なデータフォーマツトの曲についてはピックアップしない ようにしてもよい。 また、 オーディオクライアントからの要求のたびに曲リスト を作成するのではなく、 一且作成した曲リストはキヤッシュしておくようにして もよレ、。 この場合、 曲リストを格納しておくためのメモリ領域が必要になるが、 コンテンツサーバはオーディオクライアントからの要求に応じて直ちに曲リスト を返信することができる。
上記ジャンルリストと同様に、 曲リストも全部が一度に送信されるのではなく、 少しずつ順に送信される。 すなわち、 曲リス トの要求 (S 1 4 2 3 , S 1 4 2 5 ) 、 曲リストの返信 ( S 2 4 0 2 , S 2 4 0 3 ) 及ぴ曲リストの受信 ( S 1 4 2 4, S 1 4 2 6 ) の動作は繰り返し行われる。 以下、 この詳細を説明する。 オーディオクライアントは、 図 3 1に示すようなリスト要求コマンドをコンテ ンッサーバに送信する ( S 1 4 2 3 ) 。 Vスト要求コマンドは、 オーディオクラ イアントがコンテンツサーバにリストを要求するコマンドであり、 この例では、 取得開始ィンデッタス、 取得個数及ぴリスト構築キーを含む。 取得開始ィンデッ クスは、 選択されたジャンルリストに収録されている曲のうち、 オーディオクラ イアントが取得しょうとする先頭の曲を示すインデックスである。 取得個数は、 オーディオクライアントが取得しょうとする曲の数である。 リスト構築キーは、 詳細は後述するが、 コンテンツ情報データベースから曲を抽出するときに注目す るカテゴリを示すフィルタの種類と、 そのカテゴリに分類される具体的なキーヮ ードとから構成される。 特に限定されないが、 この例では、 取得開始インデック ス = 0、 取得個数 = 5 0に設定され、 さらにリスト構築キーは 「ジャンル (フィ ルタの種類) =ポップス (キーワード) 」 に設定されている。
コンテンツサーバは、 このリスト要求コマンドに応答して、 図 32に示すよう な検索データをオーディオクライアントに返信する (S 2402) 。 検索データ は、 曲リストの一部のほか、 有効個数及び残り個数を含む。 有効個数は、 コンテ ンッサーバがオーディオクライアントに実際に返信した曲の数である。 残り個数 は、 コンテンツサーバがオーディオクライアントに返信した曲リストよりも後に 残っている曲の数である。 ここでは、 取得開始インデックス =0、 取得個数 =5 0のリスト要求コマンドに応答するのであるから、 コンテンツサーバは、 作成し た曲リストのうち最初の曲から 50曲目までをオーディオクライアントに返信す る (S 1432) 。 曲リストの全曲数 =1 10とすると、 有効個数 =50、 残り 個数 =60 (=110— 50) に設定される。
続いて、 オーディオクライアントは、 コンテンツサーバに未だ 60曲が残って いるから、 再びリス ト要求コマンドをコンテンツサーバに送信する (S 142 5) 。 ここでは、 取得開始インデックス =51、 取得個数 =50に設定される。 コンテンツサーバは、 このリスト要求コマンドに応答して、 再び検索データを オーディオクライアントに返信する (S 2403) 。 ここでは、 有効個数 =50、 残り個数 =10 (=1 10- (5ひ +50) ) に設定される。 すなわち、 コンテ ンッサーバは、 再ぴ曲リストを 50曲分だけオーディオクライアントに返信する (S 2403) 。 オーディオクライアントは、 この曲リストを受信し、 メモリ 3 2に格納する (S 1426) 。
なお、 上記の例では、 曲リストの全曲数 =110、 取得個数 =50であるから、 曲リストの一部である 50曲が返信されているが、 曲リストの全曲数が取得個数 よりも少ない場合、 たとえば曲リストの全曲数 = 40、 取得個数 = 50であれば、 曲リストの全部である 40曲が返信されることになる。
また、 上記の例では、 取得開始インデックス =0であるから、 曲リストの最初 から曲が返信されているが、 たとえば取得開始インデックス = 10とすれば、 曲 リストの 11曲目から曲が返信されることになる。 また、 この場合、 曲リストの 全曲数- 110であり、 最初のリスト要求コマンドが取得開始ィンデッタス = 1 0、 取得個数 =50であれば、 コンテンツサーバは、 有効個数 =50、 残り個数 = 5 0 (= 1 1 0— 1 0— 5 0 ) の検索データを返信することになる。
メモリ 3 2に格納可能な曲数が曲リストの全曲数よりも多ければ、 オーディオ クライアントは曲リス トの全部を一度に格納することができる。 し力 し、 メモリ 3 2の容量はコンテンツサーバに比べると非常に小さいため、 通常、 オーディオ クライアントは曲リストの一部しかメモリ 3 2に格納することができない。 上記実施の形態によれば、 オーディォクライアントはコンテンツサーバから曲 リストを分割してダウンロードしているため、 オーディオクライアントのメモリ 3 2に少なくとも 5 0曲分の領域を用意すれば、 1 1 0曲全ての曲リストをダウ ンロードすることができる。 そのため、 メモリ 3 2の容量を小さく抑えることが できる。
たとえば図 3 3 Aに示すように、 オーディオクライアントがメモリ 3 2に 5 0 曲分の曲リストを格納した後、 ユーザが 5 1曲目以降の取得を希望した場合、 図 3 3 Bに示すように、 オーディオクライアントは後半の曲リストをメモリ 3 2の 前半に移動させる。 そして、 図 3 3 Cに示すように、 オーディオクライアントは メモリ 3 2の後半に 5 1曲目から 2 5曲分の曲リストを格納する。
オーディオクライアントは、 上記動作を繰り返して曲リストの全部を受信する 力 又はメモリ 3 2に格納可能な曲数だけ受信する。
図 2 5に示した例では、 ジャンルを選択した後、 直ちにそのジャンルから曲を 選択するようにしているが、 図 3 4に示したように、 ジャンルを選択し、 引き続 きそのジャンルからアルバムを選択した後、 そのアルバムから曲を選択するよう にしてもよい。
この場合、 オーディオクライアントは、 ユーザの操作に応じて選択されたジャ ンルのアルバムリストをコンテンツサーバに要求する ( S 1 4 2 7 ) 。 コンテン ッサーバは、 オーディオクライアントからの要求に応じて選択されたジャンルの アルバムリストをコンテンツサーバに返信する (S 2 4 0 4 ) 。 オーディオクラ イアントは、 コンテンツサーバからアルバムリストを受信し、 メモリ 3 2に格納 する (S 1 4 2 8 ) 。
続いて、 オーディオクライアントは、 ユーザの操作に応じて選択されたァルバ ムの曲リストをコンテンツサーバに要求する (S 1 4 2 9 ) 。 コンテンツサーバ は、 オーディオクライアントからの要求に応じて選択されたアルバムの曲リスト をコンテンツサーバに返信する (S 2 4 0 5 ) 。
1 . 2 . 2 . 2 . 2 . 曲の指定
図 3 5及び図 3 6を参照して、 オーディオクライアントは指定された曲の情報 をコンテンツサーバに要求し (S 1 5 0 1 ) 、 コンテンツサーバはこの要求に応 じて指定された曲の情報をオーディオクライアントに返信し (S 2 5 0 1 ) 、 ォ 一ディオクライアントはこれを受信する (S 1 5 0 2 ) 。
具体的には、 オーディオクライアントは、 図 3 7に示すような曲情報要求コマ ンドを送信する (S 1 5 0 1 ) 。 この曲情報要求コマンドは、 指定された曲のフ アイル名を含む。 コンテンツサーバは、 この曲情報要求コマンドに応答して、 図 3 8に示すような曲情報を返信する (S 2 5 0 1 ) 。 この曲情報は、 指定された 曲のデータオフセット及ぴデータサイズを含む。 M P 3等の音楽データは一般に、 コンテンツ情報の前にヘッダ情報を有する。 データオフセットは、 このヘッダ情 報をスキップし、 曲の先頭アドレスを指定するためのものである。 オフセットを コンテンツサーバが解析することにより、 オーディオクライアントはオフセット を解析する必要がなくなる。 一般的に、 コンテンツサーバはオーディオクライァ ントよりも処理能力が高いので、 システム全体として処理を高速化することがで きる。 データサイズは、 曲の終了時期を確認するためのものである。
続いて、 オーディオクライアントは指定された曲の再生準備をコンテンツサー バに要求し (S 1 5 0 3 ) 、 コンテンツサーバはこの要求に応じて指定された曲 のファイルをオープンし、 その結果をオーディオクライアントに返信し ( S 2 5 0 2 ) 、 オーディオクライアントはこれを受信する (S 1 5 0 4 ) 。
具体的には、 オーディオクライアントは、 図 3 9に示すような曲再生準備コマ ンドを送信する (S 1 5 0 3 ) 。 この曲再生準備コマンドは、 指定された曲のフ アイル名及び後述するリスト構築キーを含む。 コンテンツサーバは、 この曲再生 準備コマンドに応答してファイルをオープンし、 図 4 0に示すようなエラーコー ドを返信する (S 2 5 0 2 ) 。 このエラーコードは、 ファイルが存在しないなど、 ファイル転送の準備ができない場合はエラーありとなり、 準備ができる場合はェ ラーなしとなる。 クライアントは送信されたエラーコードを確認し、 エラーがあ れば所定のエラー処理を行う (S 1504) 。
1. 2. 2. 2. 3. 曲の再生
続いて、 オーディオクライアントは指定された曲の音楽データのうち指定範囲 の音楽データの転送をコンテンツサーバに要求し (S 1601) 、 コンテンツサ ーバはこの要求に応じて指定範囲の音楽データをオーディオクライアントに返信 し (S 2601) 、 オーディオクライアントはこれを受信し、 メモリ 32に格納 する (S 1602) 。
具体的には、 オーディオクライアントは、 図 41に示すような曲データ転送要 求コマンドを送信する (S 1601) 。 この曲データ転送要求コマンドは、 転送 すべき音楽データの取得開始アドレス及ぴ取得データ長を含む。 コンテンツサー パは、 図 42に示すように、 取得開始アドレスにより指定された先頭アドレスか らその取得データ長分だけ音楽データを返信する (S 2601) 。 1回に送信さ れるデータのサイズは、 特に限定されないが、 好ましくは 1 K〜32Kバイトで あり、 さらに好ましくは 4Κ〜16Κバイトである。 コンテンツサーバは一度に 返信するデータ量が小さいほど負荷を小さくすることができ、 クライアントは一 度に受信するデータ量が大きいほど処理を早くすることができるが、 1Κ〜32 Κバイト (特に、 4Κ〜 16 Κパイト) がコンテンツサーバとクライアントとの 両方にとって、 最適な値となるからである。 このようなデータのサイズはオーデ ィォクライアント側で予め設定される。
上記取得開始ァドレスを転送した取得データ長分だけ順次加算していき、 上記 動作を繰り返すことにより (S 1605、 S 2603、 S 1606、 S 1607、 S 2604、 S 1608) 、 音楽データを指定範囲ごとに順次転送することがで きる。
このように、 オーディオクライアントは指定した範囲の音楽データをコンテン ッサーバから取得することができるので、 後述するように、 曲を途中から再生で きるほか、 早送り再生、 早戻し再生、 スロー再生など、 ユーザの操作に応じて音 楽を自在に再生することができる。
メモリ 32は、 複数 (図 43に示した例では 8つ) のバッファを含む。 図 44 に示すように、 オーディオクライアントは曲データ転送要求コマンドで曲の先頭 から 1バッファ分の音楽データを取得して格納する。 図 45に示すように、 ォー ディオクライアントは同様にしてバッファが全て埋まるまで音楽データを取得し て格納する。
ステップ S 1601〜S 1608の間で上記のようにバッファが全て埋まった ら、 オーディオクライアントは、 図 46に示すように先頭バッファから音楽デー タを音声処理部 34に出力し始める。
オーディオクライアントは、 上記のように音楽データを出力して音楽の再生を 開始したら、 再生ステータスをコンテンツサーバに送信する (S 1603) 。 コ ンテンッサーバはこれを受信し、 エラーコードをオーディォクライアントに返信 する (S 2602) 。 オーディオクライアントはこのエラーコードを確認し、 ェ ラーがあれば所定のエラー処理を行う (S 1604) 。
上記のように音楽データを転送しながら音楽を再生していると、 やがて図 47 に示すように 1バッファ分の空きが生じる。 バッファに空きが生じると (S 16 09) 、 オーディオクライアント及びコンテンツサーバは再び上記転送動作を行 う (S 1610、 S 2605、 S 1611) 。 その結果、 図 48に示すようにバ ッファの空きが埋まる。 オーディオクライアント及ぴコンテンツサーバは、 バッ ファに空きが生じるたびに上記転送動作を繰り返し行う (S 1612〜S 161 6、 S 2606, S 2607) 。
なお、 上記では、 バッファが音楽データで全て埋まってから音楽データを出力 し始めているが、 全て埋まる前に出力し始めるようにしてもよい。
続いて、 オーディオクライアントは、 ステップ S 1502で取得したデータサ ィズに基づいて、 指定された曲の音楽データを全て受信したか否かを判別する (S 161 7) 。 全て受信した場合、 オーディオクライアントは、 受信した音楽 データに基づいて指定された曲を再生し終えた力否かを判別し (S 16 1 71) 、 再生し終えた場合は停止又は完了ステータスをコンテンツサーバに送信する (S 16 18) 。 ユーザがオーディオクライアントを操作し、 それに応じてオーディ オクライアントが指定された曲を再生しその曲を再生し終えた場合、 又はユーザ がオーディオクライアントを操作し、 それに応じてオーディオクライアントが曲 の再生を途中で停止した場合、 オーディオクライアントは停止ステータスを送信 する。 一方、 ユーザがコントローラを操作し、 それに応じてオーディオクライア ントがコントローラから指定された曲を再生しその曲を再生し終えた場合、 ォー ディオクライアントは完了ステータスを送信する。 このように停止ステータスと 完了ステータスとを区別する理由は後述する。
コンテンツサーバはこのステータスを受信し、 エラーコードをオーディオクラ イアントに返信する (S 2 6 0 8 ) 。 オーディオクライアントはこのエラーコー ドを確認し、 エラーがあれば所定のエラー処理を行う (S 1 6 1 9 ) 。
以上のように、 音楽データを分割し、 コンテンツサーバからオーディオクライ アントに断続的に転送しているため、 バッファ容量が少なくても適切に音楽を再 生することができる。
上記では音楽データをパイト単位で転送しているが、 MP 3の音楽データを転 送する場合はフレーム単位で転送するのが好ましい。 時間表示、 早送り又は早戻 し再生などの特殊再生 (後述) で有利な点が多いからである。 したがって、 MP 3の音楽データの場合、 オーディオクライアントはフレーム単位で音楽データを 要求するものとする。 この要求に応答して、 コンテンツサーバは指定されたファ ィルの中から MP 3のフレームヘッダを検索し、 フレームの先頭から転送を行う。 このヘッダの中にはデータ長を算出することができるパラメータが含まれている ので、 一度ヘッダを発見すれば、 以降、 フレームの先頭を発見するのは困難では ない。
1 . 2 . 2 . 3 . 特殊再生
また、 早送り、 早戻し、 一時停止、 スローなど、 特殊再生を可能とするために、 音楽データの転送要求、 返信及び取得という一連の処理の前に、 オーディオクラ イアントは以下のような処理を行う。
1 . 2 . 2 . 3 . 1 . 早送り再生
早送り再生の場合、 図 4 9を参照して、 オーディオクライアントは、 キー入力 を監視し (S 1 6 2 0 ) 、 早送り再生キーが押された場合はスキップ量を 0より も大きい値に設定し (S 1 6 2 1 ) 、 そうでない場合はスキップ量を 0に設定す る (S 1 6 2 2 ) 。
バッファに空きが生じると (S 1 6 0 9 ) 、 オーディオクライアントは、 音楽 データの取得開始アドレスを次式により計算する (S 1 6 2 4 ) 。
取得開始ァドレス =前回の取得開始ァドレス +取得データ長 +スキップ量 ステップ S 1 6 2 0で早送り再生キーが押されなかった場合、 ステップ S 1 6 2 2でスキップ量は 0に設定されるので、 取得開始アドレスは取得データ長ずつ 増加する。 この場合、 オーディオクライアントは音楽データを連続的に取得する ので、 通常の再生を行う。 一方、 ステップ S 1 6 2 0で早送り再生キーが押され た場合、 ステップ S 1 6 2 1でスキップ量は 0よりも大きい値に設定されるので、 オーディオクライアントは音楽データをそのスキップ量だけ飛んで取得する。 そ の結果、 オーディオクライアントは早送り再生を行う。 この例では、 スキップ量 が取得データ長と同じに設定されているから、 2倍速の早送り再生を行う。 また、 たとえばスキップ量を取得データ長の 2倍とすることにより、 3倍速の再生を行 うことができる。
1 . 2 . 2 . 3 . 2 . 早戻し再生
早戻し再生の場合、 オーディオクライアントは、 上記ステップ S 1 6 2 0に代 えて早戻し再生キーが押されているかを判別し、 上記ステップ S 1 6 2 1に代え てスキップ量を 0よりも小さく、 かつ絶対値が前回の取得データ長よりも大きい 値に設定する。 スキップ量の絶対値が前回の取得データ長よりも小さいと、 音楽 データの取得範囲が重複するからである。 毎回の取得データ長が一定であれば、 絶対値を取得データ長の 2倍にすれば、 通常再生と同じ速度で戻し再生を行うこ とができる。
また、 オーディオクライアントは、 ステップ S 1 6 2 4で計算した取得開始ァ ドレスが音楽データの存在する範囲内か否かを判別する (S 1 6 2 5 ) 。 範囲内 の場合、 オーディオクライアントは次のステップ S 1 6 1 0に進むが、 範囲外の 場合、 オーディオクライアントは再生を停止する。 通常再生の場合は音楽データ の終わりを検知しているので、 このような終了条件を入れる必要はないが、 特に 早戻し再生の場合は音楽データの始まりを検知する必要があるので、 このような 終了条件を入れている。 ただし、 このような終了条件を入れずに、 次の曲のファ ィルをオープンして早送り再生を行ったり、 前の曲のファイルをオープンして早 戻し再生を行うようにしてもよレ、。 なお、 MP 3の音楽データの場合は、 前述したように、 フレームヘッダを読み 取れば次のフレームヘッダの位置をほぼ確定することができる。 したがって、 あ る一定分のフレームをスキップし、 その後の数フレームのデータを再生し、 再び フレームをスキップする、 という動作を繰り返すことにより早送り再生を実現す ることができる。
1. 2. 2. 3. 3. —時停止
一時停止の場合、 図 50を参照して、 オーディオクライアントはキー入力を監 視し (S 1626, S 1628) 、 一時停止キーが押された場合は動作ステータ スを一時停止に設定し (S 1627) 、 再生キーが押された場合は動作ステータ スを再生に設定する (S 1629) 。
バッファに空きが生じると (S 1609) 、 オーディオクライアントは動作ス テータスが一時停止か否かを判定する (S 1631) 。 一時停止の場合、 オーデ ィォクライアントはステップ S 1626に戻って次の音楽データの転送を開始し ない。 一方、 一時停止でない場合、 すなわち再生キーが押されて一時停止が解除 され、 動作ステータスが再生に変化した場合、 オーディオクライアントはステツ プ S 1610に進んで次の音楽データの転送を開始する。
また、 動作ステータスが一時停止になった場合、 オーディオクライアントはパ ッファの読出動作を停止する。 バッファには、 以前に転送された音楽データが残 つているからである。
1. 2. 2. 3. 4. スロー再生
音楽ではなく、 動画の場合はスロー再生を行う必要がある。 通常、 動画フアイ ルは MP EG— 2のように圧縮形式であるから、 オーディオクライアントはこれ を再生するためにデコーダを備える。 スロー再生の場合、 デコーダにスロー再生 を指示するコマンドが与えられると、 バッファに蓄積されている映像データの減 少速度が遅くなる。 仮に通常再生の 30%の速度でスロー再生を行うのであれば、 デコーダがパッファから読み出す映像データの単位時間当たりの量は 30 %にな る。 そのため、 上記ステップ S 1609でオーディオクライアントがバッファに 空きが生じるのを待つ時間が長くなり、 これによりスロー再生を実現することが できる。 1. 2. 3. コントローラの動作
1. 2. 3. 1. コンテンツサーバとの接続
コントローラ A kもオーディオクライアント C j とほぼ同様に、 まずコンテン ッサーバ S iとの接続を確立する。
図 51を参照して、 コントローラ Akに電源が投入されると、 コントローラ A kは、 コンテンツサーバ S iのコマンドポートに接続する (S 3001) 。 コン トローラ Akは、 このコマンドポートを通じてクライアントインデックス要求コ マンドを発行する (S 3002) 。 コンテンツサーバ S iはこのコマンドに応答 してクライアントインデックスをコントローラ A kに返信し、 コントローラ Ak はその取得したクライアントインデックスを保存する (S 3003)。
続いて、 コントローラ Akは、 コンテンツサーバ S iのプッシュポートに接続 する (S 3004) 。 コントローラ Akは、 このプッシュポートを通じてクライ アントインデックス通知コマンドを発行し、 ステップ S 3003で保存したクラ イアントインデックスをコンテンツサーバに送信する (S 3005) 。 これによ り、 プッシュポートが開通する (S 3006) 。
続いて、 コントローラ Akは、 クライアントタイプをコマンドポートを通じて コンテンツサーバ S iに通知する (S 3007) 。 ここでは、 上記オーディオク ライアント C j と異なり、 コントローラ Akはクライアントタイプとして自身が コントローラであることを通知する。 コンテンツサーバ S iは、 このクライアン トタイプによりオーディオクライアント C j とコントローラ Akとを区別するこ とができる。
続いて、 コントローラ Akは、 オーディオクライアント C jのクライアント情 報をコンテンツサーバ S iから取得し (S 3008) 、 その情報に含まれるステ 一タスなどをモニタ上に表示する。
そして、 コントローラ Akは、 クライアントタイプ及ぴ取得したクライアント インデックスに基づいて、 コンテンツサーバ S iに接続されているオーディオク ライアント C jの監視ハンドル及ぴ制御ハンドルをコンテンッサーバ S iに要求 して取得する (S 3009)。
上記接続手順がオーディオクライアント C j と相違する点は、 コントローラ A kは、 自身がコントローラであることを示すクライアントタイプをコンテンツサ ーパ S iに通知する点である。 また、 もう 1つの相違点は、 コントローラ Akが 監視ハンドル及ぴ制御ハンドルの両方又は一方を取得する点である。 以下、 詳述 する。
1. 2. 3. 1. 1. 監視ハンドル及び制御ハンドルの取得
図 52を参照して、 コントローラ Akは、 コンテンツサーバ S iに接続されて いる全オーディオクライアント C jのリストを表示する (S 30091) 。 コン トローラ A kは、 ユーザの操作に応じてリストの中から監視しようとするオーデ ィォクライアント C j を選択する (S 30092) 。 ユーザの操作に応じて監視 しょうとするオーディオクライアント C j を選択するのは本ネットワークオーデ ィォシステムを最初に起動したときだけとし、 2回目以降は、 最初に選択したォ 一ディオクライアント C jを登録しておき、 その登録されたオーディオクライア ントを自動的に選択するようにするのが好ましい。 .
続いて、 コントローラ A kは、 その選択されたオーディオクライアント C jの クライアントインデックスをコンテンツサーバ S iに送信し、 その監視ハンドル を要求する (S 30093) 。 コンテンツサーバ S iは、 送信元コントローラ A ィオクライアント C jのクラ 0001 ) 、 送信元コント口 ーラ Akに対して監視ハンドルを発行する (S 20002) 。 その結果、 コント ローラ Akは、 選択されたオーディオクライアント C jの監視ハンドルを取得す る (S 30094) 。
続いて、 コントローラ Akは、 ユーザの操作に応じてリストの中から制御しよ うとするオーディオクライアント C jを選択する (S 30095) 。 そして、 コ ントローラ Akは、 その選択されたオーディオクライアント C jのクライアント インデックスをコンテンツサーバ S iに送信し、 その制御ハンドルを要求する (S 30096) 。 コンテンツサーバ S iは、 送信元コントローラ Akのクライ アントインデックスと、 受信したオーディオクライアント C jのクライアントイ ンデッタスとを対応づけて記憶し (S 20003) 、 送信元コントローラ Akに 対して制御ハンドルを発行する (S 20004) 。 その結果、 コントローラ Ak は、 選択されたオーディオクライアント C jの制御ハンドルを取得する (S 3 0 0 9 7 ) o
監視ハンドルは、 コンテンツサーバ S iからコントローラ A kに与えられるォ 一ディオクライアント C j を監視する権限である。 これにより、 オーディオクラ イアン 〗のステータスが変化すると、 変化後の新しいステータスがコンテン ッサーバ S iに通知される。 コンテンツサーバ S iはプッシュポートを通じてォ ーデ、ィォクライアント C jのクライアント情報をコントローラ A kに随時送信し、 これに応じてコントローラ A kはオーディオクライアント C jのクライアント情 報を更新する。
本ネットワーク型オーディオシステムでは、 オーディオクライアント C jの数 が多いほど L AN 1 2に負荷がかかる。 また、 コントローラ A kのコマンドゃォ 一ディオクライアント C jのステータスなどの伝送は L AN 1 2上のトラフィッ クに影響を及ぼす。
図 5 3に示すように、 複数のコントローラ A 1〜A 3が同じ L AN 1 2上に存 在する場合に、 コンテンツサーバ S iはオーディオクライアント C 1〜C 3のク ライアント情報を全てのコントローラ A 1〜A 3に送信するようにすることも可 能であるが、 このようにすると、 ネットワークトラフィック及びコンテンツサー バの負荷が増大する。
そこで図 5 4に示すように、 コントローラ A 1がオーディオクライアント C 1 のみの監視ハンドルを取得し、 コントローラ A 2がオーディオクライアント C 2 のみの監視ハンドルを取得するようにし、 コンテンツサーバ S iは、 オーディオ クライアント C 1のクライアント情報をコントローラ A 1のみに送信し、 オーデ ィォクライアント C 2のクライアント情報をコントローラ A 2のみに送信するよ うにする。
コンテンツサーバ S iは、 オーディオクライアント C jの監視ハンドルを取得 しているコントローラ A kだけにクライアント情報を送信するので、 ネットヮー クトラフィック及ぴコンテンツサーバの負荷が軽減される。 ただし、 コントロー ラ C 3が全てのオーディオクライアント C 1〜C 3の監視ハンドルを取得し、 コ ンテンッサーバ S iが全てのコントローラ A 1〜A 3にクライアント情報を送信 するようにしてもよレ、。
一方、 制御ハンドルは、 コンテンツサーバ S iからコントローラ A kに与えら れるオーディオクライアント C jを制御する権限である。
本ネットワーク型オーディオシステムにおいて、 コントローラ A kが複数存在 する場合、 いずれのコントローラ A kもオーディオクライアント C jを制御でき るようにすると、 あるコントローラ A kからの命令に従ってオーディオクライア ント C jが曲を再生している最中に、 他のコントローラ A kがそのオーディオク ライアント C jに再生の停止を命令したり、 別の曲の再生を命令するおそれがあ る。
そこで、 本システムでは、 オーディオクライアント C jの制御ハンドルを取得 しているコントローラ A kのみがそのオーディオクライアント C jを制御するこ とができ、 オーディオクライアント C jの制御ハンドルを取得していないコント ローラ A kはそのオーディオクライアント C jを制御することができないように する。
コンテンッサーバが制御ハンドルを取得できるコントローラを制限すれば、 ォ 一ディオクライアントとそれを制御できるコントローラの組み合わせを設定する ことができる。 また、 コントローラが制御ハンドル開放コマンドをコンテンツサ ーバに発行することにより、 制御ハンドルを放棄できるようにする。
1 . 2 . 3 . 2 . モニタ (監視) 機能
コントローラ A kは、 上述したように監視ハンドルを取得することにより、 ォ 一ディオクライアント C jを監視できるようになる。
図 5 5を参照して、 コントローラ A kはコンテンツサーバ S iにクライアント 情報を要求し (S 3 1 ) 、 コンテンツサーバ S iはこれに応じてクライアント情 報を返信し (S 2 7 ) 、 コントローラ A kはこれを取得して記憶する (S 3 1 )。 又は、 コンテンツサーバ S iがオーディオクライアント C jからクライアント情 報を受信した場合、 コンテンツサーバ S iはコントローラ A kにプッシュポート にてクライアント情報を送信し、 コントローラ A kはこれを取得して記憶する。 そして、 コントローラ A kは取得したクライアント情報を表示する (S 3 2 ) 。 以下、 このコントローラによるモニタ機能を詳細に説明する。 図 56を参照して、 コンテンツサーバ S iはコントローラ A kからの要求又は オーディオクライアントからのクライアント情報の受信に応じてクライアント情 報を送信する (S 2701) 。 コントローラ Akはこのクライアント情報を受信 すると、 各情報に変更がないかを調べる。 すなわち、 最初にクライアントインデ ックスを確認し (S 3101) 、 どのオーディオクライアント C jのクライアン ト情報かを記憶しておく。 そして、 記憶したオーディオクライアントのプロダク ト I D及ぴファームウェア I Dを確認する (S 3102、 S 3103) 。
具体的には、 プロダクト I Dによってオーディオクライアントの種類を判別し、 ファームウェア I Dによってファームウェアのバージョンを判別する。 もしその オーディオクライアントに適用されているファームウェアのバージョンが古けれ ば、 コントローラ Akはィンターネット上のカスタマ一サービスにアクセスし、 オーディオクライアント C jにファームウェアを配信して自動的に更新する。 フ アームウェア更新の詳細は後述する。
なお、 コントローラ Akは、 受信したクライアント情報を解析してクライアン トタイプを確認し、 オーディオクライアント C jならそれ用の処理に分岐し、 そ れ以外なら無視するようにする。
続いて、 コントローラ Akは、 接続情報に変更がないかをチェックし (S 31 04) 、 変更があればオーディオクライアント C jの接続状態の表示を変更する (S 3105) 。
したがって、 複数のオーディオクライアント C jに電源が入り、 それらがコン テンッサーバ S iに接続されている力否かをコントローラ Akで常に監視するこ とができる。
オーディオクライアント C jが接続されていたら、 コントローラ Akは、 ポリ ユーム値に変更がないかをチェックし (S 3106) 、 変更があればボリューム 値の表示を変更する (S 3107) 。
続いて、 コントローラ Akは、 リスト構築キー (後述する) に変更がないかを チェックし (S 3108) 、 変更があればリスト構築キーを用いてコンテンツサ ーバ S iに曲リストを要求する (S 3109) 。 コンテンツサーバ S iはこの要 求に応じて曲リストを返信し (S 2702) 、 コントローラ Akはこの曲リスト を受信する (S 3 1 1 0) 。
コントローラ Akは、 受信した曲リストをオーディオクライアント C jが再生 中の曲リストとして記憶するとともに、 現在再生中の曲が曲リストの何曲目かを 調べてその番号を記憶する (S 3 1 1 1) 。
続いて、 コントローラ A kは、 再生中の曲に変更がないかをチェックし (S 3
1 1 2) 、 変更があれば曲のデータフォーマツトを確認し (S 3 1 1 3) 、 再生 中の曲名やアーティスト名の表示を変更し (S 31 14) 、 現在再生中の曲が曲 リストの何曲目かを調べてその番号を記憶する (S 3 1 1 5) 。
最後に、 コントローラ A kは、 ステータスに変更がないかをチェックし (S 3 1 1 6) 、 変更があればステータスの表示を変更する (S 3 1 1 7) 。 オーディ オクライアント C jがリモコンにより制御される場合も、 コントローラ Akはそ のステータスを監視して表示する。 オーディオクライアント C jのステータスが 完了ステータスであれば (S 3 1 1 8) 、 コントローラ A kはオーディオクライ アント C jにその次の曲を続けて再生するよう命令する (S 3 1 1 9) 。 連続再 生の詳細は後述する。
以上の処理は、 コントローラが監視ハンドルを取得した全てのオーディオクラ イアントのうちレ、ずれかのクライアント情報が変化するたびに繰り返される。 また、 図示されていないが、 コントローラ A kは、 各オーディオクライアント C jのクライアントタイプを監視する。 また、 コントローラ A kは、 再生可能な データフォーマットを監視し、 再生可能な曲名のみを表示する。
以上のように、 コンテンッサーバがクライアントからクライアント情報を受信 した際に、 プッシュポートにて強制的にコントローラにクライアント情報を送信 することにより、 コントローラ A kはオーディオクライアント C jを常に監視す ることができ、 また、 コンテンツサーバ S iからコントローラ CLには必要最低 限の情報しか送信されない。 そのため、 コントローラ Akにかかる処理の負担が 軽減される。 また、 オーディオクライアント C ]·が複数あっても、 コントローラ A kはクライアントインデックスによりオーディオクライアント C jを区別し、 各クライアント情報をリアルタィムで更新することができる。
1. 2. 3. 3. 制御機能 コントローラ Akは、 上述したように制御ハンドルを取得することにより、 オーディオクライアント C jを制御できるようになる。
図 57を参照して、 コントローラ Akは制御コマンドをコンテンツサーバ S i に送信し (S 33) 、 コンテンツサーバ S iはこれを指定されたオーディオクラ イアント C jに送信する (S 28) 。 オーディオクライアント C jはこの制御コ マンドに従って動作し、 そのステータスを変更し (S 18) 、 その変更したステ 一タスをコンテンツサーバ S iに送信する (S 19) 。 コンテンツサーバ S iは このステータスをコントローラ Akに送信し (S 29) 、 コントローラ Akはこ れに応じて記憶しているクライアント情報のステータスを変更する (S 34) 。
1. 2. 3. 3. 1. 制御コマンド処理
次に、 図 58を参照して、 オーディオクライアント C jがコントローラ A k力、 らコンテンツサーバ S iを通じて受けた制御コマンドに従って行う処理を説明す る。
オーディオクライアント C jは、 プッシュポートに何らかのデータが書き込ま れた場合 (S 3001) 、 そのデータを受信して解析する (S 3002) 。
受信したデータが再生コマンドであれば (S 3003) 、 オーディオクライァ ント C jは指定されたファイル名をコンテンツサーバ S iから取得する (S 30 04) 。 オーディオクライアント C jは、 取得したフアイノレ名から、 曲名、 アル バム、 ジャンルなどを特定する。 そして、 オーディオクライアント C jは曲を指 定しかつその曲の音楽データを転送するようコンテンツサーバ S iに指令する (S 3005) 。 オーディオクライアント C jは転送された音楽データに基づい て再生を行う。
受信したデータが再生停止コマンドであれば (S 3006) 、 オーディオクラ イアント C jは曲データ転送要求コマンドの発行を停止することにより音楽デー タの転送を停止し (S 3007) 、 停止ステータスをコンテンツサーバ S iに送 信する (S 3008) 。 オーディオクライアント C jは、 その他、 ボリューム値 セットコマンド、 ポーズコマンド、 A Vレシーバ制御コマンド、 ファームウェア アップデートコマンドなどに応答して、 所定の処理を行う (S 3009〜S 30 10) 。 1. 2. 3. 3. 2. 再生制御
ここで、 コントローラ A kが再生コマンドに従ってオーディオクライアント C jに所望のアーティストの所望の曲を再生させる動作を説明する。
図 59を参照して、 コントローラ A kはオーディオクライアント C jの接続を 確認し (S 301 1) 、 接続があればオーディオクライアント C jのファームゥ エア I D及ぴプロダクト I Dを確認する (S 3012、 S 3013) 。
続いて、 コントローラ Akは、 クライアントタイプに基づいてオーディオクラ 判別する (S 3014) 。 ここではオーディオクライアント C jであるから、 コ ントローラ A kは所望のアーティストの曲リストを既に取得しているか否かを判 別する (S 301 5) 。 未だ取得していなければ、 コントローラ Akはコンテン ッサーバ S iから所望のアーティストの曲リストを取得する (S 3016) 。 コ ントローラ Akは、 この曲リストを表示装置に表示する。
取得された曲リストの中にユーザが再生を希望する曲があれば (S 3017) 、 コントローラ Akは、 ユーザの入力操作に応じてその曲を選択し、 再生コマンド をコンテンツサーバ S iに送信する (S 3018) 。 この再生コマンドは、 選択 された曲のデータを格納しているファイル名と、 曲を再生させようとするオーデ ィォクライアントのクライアントインデックスとを含む。 一方、 希望する曲がな ければ、 コントローラ Akは再び所望のアーティストの次の曲リストを取得する (S 3016) 。
コンテンツサーバ S iは、 コントローラ A kから送信されたクライアントイン デックスに基づいてオーディオクライアント C jを特定し、 そのオーディオクラ イアント C jに選択された曲のファイル名を送信する (S 28) 。
オーディオクライアント C jは、 コントローラ Akからコンテンツサーバ S i を通じて送信されてきた再生コマンドに応答して所望の曲を再生し、 ステータス を再生ステータスに変更する (S 18) 。 オーディオクライアント C jは再生ス テータスをコンテンツサーバ S iに送信し (S 1 9) 、 コンテンツサーバ S iは その再生ステータスをコントローラ Akに送信する (S 29) 。 コントローラ A kはこれに応じてオーディオクライアント C jのステータスを再生ステータスに 変更する (S 3 4 ) 。
1 . 2 . 3 . 3 . 3 . 再生可能なフォーマットかを識別して再生
曲リストには、 オーディオクライアント C jが再生可能なフォーマツトか否か に関係なく、 全てのフォーマットの曲が含まれる。 そのため、 ユーザが所望の曲 を選択したときにコントローラ A kがコンテンツサーバ S iから取得した曲リス トをそのままユーザに対して表示したとすると、 次のような問題が生じる。 すなわち、 ユーザがオーディオクライアント C jが再生できないフォーマツト の曲を選択した場合でも、 コントローラ A kはユーザが選択した曲の再生をォー ディオクライアント C jに命令するので、 オーディオクライアント C jでは表示 は再生状態になっているのに再生音は出ない。
そこで図 6 0に示すように、 クライアント情報のクライアントタイプに再生可 能なフォーマットに関する情報を追加する。 よって、 クライアントタイプは、 ク ライアントのハードゥエァ構成に関する情報と、 オーディオクライアントが再生 可能なフォーマツトに関する情報とから構成される。
ハードウェア構成に関する情報には、 次のようなものがある。 「オーディオク ライアント(インテリジェントタイプ)」 は、 音楽を再生しかつリモコン信号を受 信できるオーディオクライアントである。 「オーディオクライアント(ノンイン テリジェントタイ.プ)」 は、 音楽を再生できるが、 リモコン信号を受信できない オーディオクライアントである。 「コントローラ」 は、 コンテンツサーバを介し てオーディオクライアントを監視しかつ制御できるクライアントである。 「AV Rクライアント」 は、 E I A— 2 3 2ポートを持ち、 AVレシーバと通信できる クライアントである。 「AV Rコントローラ」 は、 コンテンツサーバを介して A V Rクライアントを制御しかつ監視できるクライアントである。 再生可能なフォ 一マットに関する情報には、 MP 3、 WAV, WMAなどがある。
1つのクライアントのクライアントタイプに、 複数のハードウェア構成に関す る情報が含まれている場合もあり、 また、 複数の再生可能なフォーマットに関す る情報が含まれている場合もある。
次に、 コントローラ A kがユーザに対して曲リストを表示するときの処理手 J頃 を図 6 1を参照して説明する。 まずコントローラ Akは、 曲を再生させようとするオーディオクライアント C jがコンテンツサーバ S iに接続されているか否かを判別する (S 3501) 。 未接続の場合、 オーディオクライアント C jは曲を再生できないので、 曲リスト の全ての曲を再生不可能な曲として表示するか、 又は全ての曲を表示しない (S 3502) 。 したがって、 オーディオクライアント C jが再生不可能な曲をユー ザが選択するのを防止することができる。
一方、 既接続の場合、 以下のステップ S 3505〜S 3507を曲リストの曲 数分繰り返す (S 3503, S 3504, S 3508) 。
すなわち、 コントローラ Akは、 曲リスト中の n番目の曲のフォーマットがォ 一ディオクライアント C jが再生可能なフォーマツトか否かを判別する (S 35 05) 。 再生可能なフォーマットであれば、 コントローラ Akはその曲を再生可 能な曲として表示し (S 3506) 、 再生不可能なフォーマットであれば、 再生 不可能な曲として表示するか、 又は表示しない (S 3507) 。
たとえばオーディオクライアント C 1が MP 3も WAVも再生できる場合、 コ ントローラ Akは、 図 62に示すように、 曲リスト (この例ではプレイリスト) 中の全ての曲を表示する。 し力し、 オーディオクライアント C 2が MP 3は再生 できるが、 WAVは再生できない場合は、 図 63に示すように、 曲リスト中の M P 3の曲は通常通り表示するが、 WAVの曲は淡く表示する。 また、 曲を淡く表 示するのではなく、 全く表示しないようにしてもよい。 したがって、 オーディオ クライアント C 2が再生不可能な WAVの曲をユーザが選択するのを防止するこ とができる。
なお、 オーディオクライアント C jの接続状態やクライアントタイプに変更が あった場合、 コントローラ A kは曲リストを表示し直し、 現在のオーディオクラ イアントのクライアント情報をリアルタイムで表示する。
次に、 ユーザがコントローラ Akを操作してオーディオクライアント C jに曲 を再生させる場合のコントローラの動作を説明する。
図 64を参照して、 ユーザが再生したい曲を選択すると、 コントローラ Akは その選択された曲のフォーマツトがオーディオクライアント C jが再生可能なフ ォーマット力否かを判別する (S 351 1) 。 具体的には、 コントローラ Akは、 その選択された曲のフォーマツトをクライアントタイプ中の再生可能なフォーマ ットと比較する。
再生可能なフォーマットであれば、 コントローラ A kは、 その選択された曲を 再生するようオーディオクライアント C jに命令する (S 3 5 1 2 ) 。 一方、 再 生不可能なフォーマツトであれば、 オーディオクライアント C jはその選択され た曲を再生できない旨をユーザに知らせる (S 3 5 1 3 ) 。
以上のように、 コントローラ A kは、 オーディオクライアント C jが再生でき る曲がユーザにわかるように表示し、 これにより、 オーディオクライアント C j が再生できない曲の再生をユーザが要求しないようにすることができる。
1 . 2 . 3 . 3 . 4 . 連続再生制御
ユーザがオーディオクライアント C jを操作してそのオーディオクライアント C jで曲を再生している場合は、 オーディオクライアント C jは曲リストを取得 しているから、 その曲リスト中の曲を連続して再生することが可能である。 しか し、 オーディオクライアント C jがコントローラ A kにより指示された曲を再生 している場合は、 オーディオクライアント C j 自身は曲リストを取得していない から、 オーディオクライアント C jが曲リスト中の曲を連続して再生するために は、 コントローラ A kがオーディオクライアント C jに次の曲を指示する必要が ある。
また、 ネットワーク上にコントローラが 1つしか存在しない場合は問題となら ないが、 複数存在する場合は、 オーディオクライアントが正常に連続再生を行う ことができないという問題が生じる。 たとえばオーディオクライアントから再生 の完了を通知されたコンテンッサーバが全てのコントローラに再生の完了を通知 したとすると、 オーディオクライアントは複数のコントローラから連続再生の命 令を受けてしまうからである。 この問題はネットワーク上にコンテンツサーバが 複数存在する場合はさらに複雑になる。 したがって、 ネットワーク型オーディオ システムにおいてコントローラによる連続再生を可能にするためには、 どのコン トローラがクライアントに連続再生を命令するのかを管理する必要がある。 本実施の形態では、 オーディオクライアント C jは、 コントローラ A kからの 命令に従って曲を再生し、 その再生を終了したときは完了ステータスを送信する 力 s、 それ以外のとき、 たとえばユーザの操作に応じてオーディオクライアント C jが自ら曲を再生し、 その再生を終了したとき、 又はユーザの操作に応じてォー ディオクライアント C jが曲の再生を途中で停止したときなどは、 完了ステータ スとは異なる停止ステータスを送信する。 コントローラは、 完了ステータスを受 信した場合に、 連続再生処理すべきと判断し、 曲リストの中から前に選択した曲 の次の曲を選択し、 オーディオクライアントに次の曲を再生するよう命令する。 また、 コントローラは、 停止ステータスを受信した場合には、 オーディオクライ アントに次の曲を再生するよう命令しない。 以上のように、 オーディオクライン トが状況に応じて完了ステータスと停止ステータスとを区別して送信することに より、 コントローラは受信したステータスに基づいて、 オーディオクライアント に次の曲の再生を命令すベきか否かを判断することができる。
したがって、 オーディオクライアント C jがユーザの操作に応じて曲の再生を 途中で停止した場合又はオーディオクライアント C jが自ら曲を選択し、 その再 生を終了した場合には、 停止ステータスをコンテンツサーバに送信するので、 コ ントローラが誤ってオーディオクライアントに次の曲を再生するよう命令するこ とを防止できる。
さらにコントローラが複数ある場合には、 オーディオクライアントから完了ス テータスを受信したコンテンツサーバは、 各コントローラに対して、 完了ステー タスと停止ステータスとを区別して送信する。 すなわち、 図 6 5を参照して、 コ ントローラ A 1がオーディオクライアント C 1に再生を命令する場合、 コント口 ーラ A 1はまずコンテンツサーバ S iにオーディオクライアント C 1に対する再 生コマンドを送信する。 コンテンツサーバ S iはコントローラ A 1から再生コマ ンドを受信し、 これをオーディオクライアント C 1に送信する。 オーディオクラ イアント C 1はコンテンツサーバ S iから再生コマンドを受信し、 曲の再生を開 始する。
図 6 6及び図 6 7を参照して、 オーディオクライアント C 1が曲の再生を終了 すると、 完了ステータスをコンテンツサーバに送信し ( S 1 9 0 1 ) 、 コンテン ッサーバ S iはこれを受信する (S 1 9 0 2 ) 。 続いて、 コンテンツサーバ S i は、 以下のステップ S 2 9 0 3〜S 2 9 0 6をクライアント数だけ繰り返す (S 2 9 0 2 , S 2 9 0 7 ) 。
コンテンツサーバ S iは、 クライアントインデックス nに基づいて n番目のク ライアントがオーディオクライアント C 1の監視ハンドルを取得しているコント ローラか否かを判別する (S 2 9 0 3 ) 。
監視ハンドルを取得しているコントローラの場合、 コンテンツサーバ S iは、 n番目のクライアント (コントローラ) がオーディオクライアント C 1に再生を 命令したコントローラ A 1か否かを判別する (S 2 9 0 4 ) 。
オーディオクライアント C 1に再生を命令したコントローラ A 1の場合、 コン テンッサーバ S iは、 オーディオクライアント C 1から受信した完了ステータス をコントローラ A 1に送信し (S 2 9 0 5 ) 、 コントローラ A 1はこれを受信す る (S 3 4 0 1 ) 。 一方、 オーディオクライアント C 1に再生を命令したコント ローラ A 1以外のコントローラ A 2の場合、 コンテンツサーバ S iは、 オーディ オクライアント C 1から受信した完了ステータスに代えて、 停止ステータスをコ ントローラ A 2に送信し (S 2 9 0 6 ) 、 コントローラ A 2はこれを受信する ( S 3 4 0 2 ) 。
図 6 8を参照して、 完了ステータスを受信したコントローラ A 1は、 曲リスト の中から前に選択した曲の次の曲を選択し、 その曲をオーディオクライアント C 1に再生させるための再生コマンドをコンテンツサーバ S iに送信する (S 3 4 0 3 ) 。 コンテンツサーバ S iはこれを受信し、 オーディオクライアント C 1に 送信する。 オーディオクライアント C 1は、 コンテンツサーバ S iから送信され た再生コマンドに従って次の曲を再生する。
一方、 停止ステータスを受信したコントローラ A 2は、 オーディオクライアン ト C 1は停止状態にあると判断し、 コントローラ A 1のような連続再生処理を行 わない。
オーディオクライアント C jは、 ステータスが再生になると再生ステータスを コンテンツサーバ S iに送信し、 ステータスが一時停止になるとポ ズステータ スをコンテンツサーバ S iに送信し、 自らが指定した曲の再生が終了すると停止 ステータスをコンテンツサーバ S iに送信するが、 上述したように、 コントロー ラ A kが指定した曲の再生が終了すると完了ステータスをコンテンッサーバ S ί に送信する。
以上のように、 オーディオクライアント C jが曲の再生を終了したときにコン テンッサーバ S iがコントローラ A kに送信するステータスを停止ステータスと 完了ステータスとに区別することにより、 コントローラ A kは自ら再生を命令し たオーディオクライアント C jが曲の再生を終了したのか否かを判断することが できる。 その結果、 コントローラ A kはオーディオクライアント C jに連続再生 を命令する必要があるのか、 オーディオクライアント C jの停止ステータスを表 示するだけでいいのかを判断することができる。
なお、 オーディオクライアント C jが曲の再生を終了したとき、 専用リモコン からの命令に従って曲を再生していた場合と、 監視ハンドル及び制御ハンドルの 両方を取得しているコントローラ A kからの命令に従って曲を再生していた場合 とで、 コンテンツサーバ S iに通知するステータスを区別するようにしてもよい。 制御ハンドルしか取得していない専用リモコンはコンテンツサーバ S iからステ 一タスを受信することができないから、 連続再生処理を行うことができないから である。
1 . 2 . 3. 3 . 5 . リスト構築キーを用いた連続再生制御
コントローラ A kは、 コンテンツサーバ S iからさまざまな曲リストを取得し てその中から曲を選択し、 その曲をオーディオクライアント C jに再生させる。 そして、 コントローラ A kは、 オーディオクライアント C jのステータスを監視 し、 オーディオクライアント C jが選択された曲の再生を終了すると、 取得して いる曲リストの中から次の曲を選択し、 その曲をオーディオクライアント C jに 再生させる。 コントローラ A kはこのようにしてオーディオクライアント C jに 連続的に曲を再生させているが、 次の曲の再生を命令するためには曲リストを記 憶しておく必要がある。 そのため、 曲の再生を命令しているコントローラ A kの 電源は曲の再生中に切ることができない。
そこで、 オーディオクライアント C jに再生を命令したコントローラ A kの電 源を途中で切っても、 コントローラ A kがオーディオクライアント C jに連続再 生を命令できるように、 以下のような方法を採用する。
ユーザがコンテンツ情報データベースの中から再生したい曲を選択するときに は、 あるアーティストの曲リストから選択したり、 あるジャンルの曲リストから 選択するなど、 さまざまな曲リストを利用する。 そこで、 コンテンツ情報データ ベースから一意に曲リストを作成することができるように、 リスト構築キーを定 義する。 そして、 このリスト構築キーを、 オーディオクライアント C jが再生中 の曲リストを特定するための情報としてクライアント情報に付加する。
図 69を参照して、 リスト構築キーは 「フィルタの種類」 と 「キーワード」 と から構成される。 フィルタの種類は、 コンテンツ情報データベース中のどのカテ ゴリに注目して曲リストを作成するかを指定するもので、 図 70に示すようなも のがある。 フィルタの種類が " T I TLE二" 、 "GENRE-" 、 "ART I ST=" 、 "ALBUM=" 、 又は "F I LENAME-" であれば、 コンテン ッ情報データベースの中から、 曲名、 ジャンル名、 アーティスト名、 アルバム名、 又はフアイノレ名がキーワードと一致する曲を探し出して曲リストを作成する。 フ ィルタの種類が "PLAYL I ST-" であれば、 プレイリストのファイル名が キーヮードと一致するプレイリストに登録されている曲をコンテンツ情報データ ベースから探し出して曲リストを作成する。
たとえば、 アーティスト名 "X X X X" の曲リストの場合、 フィルタの種類は "ART I ST = " 、 キーワードは " X X X X" となるから、 リスト構築キーは "A T I S T - X X X X " となる。 また、 キーワードとして "氺" (ァスタリ スク)を指定すると、 そのフィルタの種類に対して使用できるキーヮードのリス トが作成される。 たとえばリスト構築キー "ART I ST=*,, から作成される リストは、 コンテンツ情報データベースに登録されている曲のアーティスト名の リストが作成される。
以下にコントローラが指定した曲の再生が終了したオーディオクライアントに 対して、 コントローラが連続再生処理を行う手順について説明する。
図 71を参照して、 コントローラ Akから再生するよう命令されたオーディオ クライアント C jが曲の再生を終了すると、 完了ステータスをコンテンツサーバ S iに送信する。 コンテンツサーバ S iは、 オーディオクライアント C jのステ 一タスが変化したので、 完了ステータス、 再生していた曲のファイル名、 リスト 構築キーなどを含むクライアント情報をコントローラ Akに送信する。 コントローラ Akはクライアント情報を受信すると、 図 56に示したクライア ント情報表示処理を開始する。 この処理は既に説明したので、 ここでは主として リスト構築キーを用いた連続再生制御に関する部分を説明する。
コントローラ Akは、 リスト構築キーに変更がないかチェックし (S 310 8) 、 変更があった場合はリスト構築キーを用いてオーディオクライアント C j が再生中の曲リストをコンテンツサーバ S iから取得する (S 31 10) 。 詳細 には、 受信したリスト構築キーをコンテンツサーバに送信し、 コンテンツサーバ はこのリスト構築キーに基づいてリストを作成し、 コントローラに送信する。 電 源が切られ、 コントローラ A kがオーディオクライアント C jが再生中の曲リス トを記憶していない場合も、 コンテンツサ パと接続した後に取得するリスト構 築キーを用いて再生中の曲リストをコンテンツサーバ S iから取得する。
ここでは、 ステータスが完了ステータスに変化しているから、 コントローラ A kは完了処理を行う (S 31 19) 。 すなわち、 コントローラ Akは、 オーディ オクライアント C jが再生を終了した曲の次の曲を曲リストから選択し、 その選 択した曲を再生するようオーディオクライアント C jに命令する。
図 72を参照して、 完了処理の詳細を説明する。 コントローラ A kは、 図 56 中のステップ S 3111で記憶した再生曲番号 nをインクリメントし (S 311 91) 、 次に再生すべき曲を指定する。 続いて、 コントローラ Akは、 再生曲番 号 nが曲リストの曲数以下力否かを判別する (S 31192) 。 再生曲番号 nが 曲リストの曲数を超えていれば、 コントローラ Akは、 オーディオクライアント C jが曲リストの最後まで再生したと判断して再生曲番号 nを 1に設定し (S 3 1193) 、 次に再生すべき曲を曲リストの最初の曲に戻す。
再生曲番号 nが曲リストの曲数以下であれば、 コントローラ A kは、 n番目の 曲がオーディオクライアント C jで再生可能なフォーマツトか否かをチェックし (S 31194) 、 再生可能なフォーマットであれば、 曲リストの n番目の曲を 再生するようオーディオクライアント C jに命令する (S 31 195) 。 再生不 可能なフォーマツトであれば、 さらに次の曲を再生するために再帰的にこの完了 処理を行う。 要するに、 コントローラ Akは、 オーディオクライアント C jが再 生不可能なフォーマツトの曲を飛ばし、 その次の曲を再生するようオーディオク ライアント C jに命令する。
以上のように、 オーディオクライアント C jに曲を再生するよう命令した後に コントローラ A kの電源を切ると、 コントローラ A kはオーディオクライアント C jに再生を命令したときの曲リストを消失してしまう。 し力 し、 電源を再投入 し、 コンテンツサーバとの接続が完了すると、 図 5 1の S 3 0 0 8にて説明した 通り、 コントローラ A kはコンテンツサーバ S iからオーディオクライアント C jのクライアント情報を取得する。 このクライアント情報にはリスト構築キーが 含まれているから、 コントローラ A kはこのリスト構築キーに基づいてクライア ント C Lが再生中の曲リストを再び取得することができる。 したがって、 コント ローラ A kがオーディオクライアント C jに曲を再生するよう命令した後にその 電源が切られた場合であっても、 オーディオクライアント C jが曲の再生を終了 し、 完了ステータスを送信し、 この完了ステータスをコントローラ A kが受信し たときには、 取得し直した曲リストに従ってその次の曲を再生するようオーディ 才クライアント C jに命じることができる。
なお、 オーディオクライアント C〗の再生動作を停止させるためには、 コント ローラ A kは停止コマンドをコンテンツサーバ S ίを通じてオーディオクライァ ント C jに送信すればよい。 この場合、 停止ステータスがオーディオクライアン ト C jからコンテンツサーバ S iを通じてコントローラ A kに返信される。 また、 オーディオクライアント C j の再生動作を一時停止させるためには、 コントロー ラ A kは一時停止コマンドをコンテンツサーバ S iを通じてオーディオクライァ ント C jに送信すればよい。 この場合、 ポーズステータスがオーディオクライア ント C jからコンテンツサーバ S iを通じてコントローラ A kに返信される。
1 . 2 . 3 . 3 . 6 . 優先順位を付けた連続再生制御
本実施の形態をコンテンツサーバ S 1及びオーディオクライアント C 1に着目 して説明する。 本実施の形態では、 コンテンツサーバ S 1の HD D 1 4にコント ローラ管理テーブルが格納されている。 コントローラ管理テーブルの一例を次の. 表 1に示す。 コントローラ管理テーブルには、 オーディオクライアント C 1を制 御する優先順位と、 コントローラ A 1〜A kに付与されたコントローラインデッ タスとが対応づけて記録される。 表 1 : コントローラ管理テーブル
本実施の形態では、 コンテンツサーバ S 1〜S i、 オーディオクライアント C 1〜C j及ぴコントローラ A l〜A kには、 図 7 3に示したステップを実行する ためのコンピュータプログラムがそれぞれィンストールされている。 以下、 本実 施の形態によるネットワーク型オーディオシステム 1 0の動作を図 7 3に示した フロー図を参照して説明する。
最初に、 コントローラ A 1がコンテンツサーバ S 1に接続を要求し、 コンテン ッサーバ S 1がこの要求を受け入れると、 コントローラ A 1とコンテンツサーバ S 1との間で接続が確立する (S 3 0 3 0 1 ) 。
コントローラ A 1に続いて、 コントローラ A 2がコンテンツサーバ S 1に接続 を要求し、 コンテンツサーバ S 1がこの要求を受け入れると、 コントローラ A 2 とコンテンツサーバ S 1との間で接続が確立する (S 3 0 4 0 1 ) 。
これに対し、 コンテンツサーバ S 1は、 コントローラ管理テーブルに、 優先順 位 「第 1位」 に対応づけてコントローラ A 1のコントローラインデックスを記録 し、 さらに優先順位 「第 2位」 に対応づけてコントローラ A 2のコントローライ ンデッタスを記録する (S 2 0 1 0 1 ) 。 その結果、 上記表 1に示したコント口 ーラ管理テーブルが得られる。 このコントローラ管理テーブルによれば、 コント ローラ A 1が最優先で連続再生処理の権限を有し、 その次にコントローラ A 2が 連続再生処理の権限を有する。
以下、 コントローラ A 1がコンテンツサーバ S 1経由でオーディオクライアン ト C 1に複数曲の連続再生を命令する場合の動作を説明する。
コントローラ A 1は、 連続再生の対象となる曲リストをコンテンッサーバ S 1 に要求する (S 3 0 3 0 2 ) 。 具体的には、 曲リストを作成するために必要なリ スト構築キーをコンテンツサーバ S 1に送信する。
ユーザは、 コンテンツサーバ S 1の中から再生したい曲を選択するとき、 ある アーティストの曲リストから選択したり、 あるジャンルの曲リストから選択した りするなど、 さまざまな曲リストを利用する。 リスト構築キーは、 このような曲 リストをコンテンツサーバ S 1の中から抽出して一意に作成するための検索キー でる。 リスト構築キーは図 69に示したように、 フィルタの種類及ぴキーワード という 2つのパラメータから構成される。 - - フィルタの種類は、 曲リストに入れるべき曲のカテゴリを指定するもので、 具 体的には図 70に示したとおりである。
コンテンツサーバ S 1は、 コントローラ A 1から送信されたリスト構築キーに 基づいて曲リストを作成し、 コントローラ A1に送信する (S 20102) 。 具 体的には、 フィルタの種類が " T I TLE=,, 、 "GENRE ,, 、 "ART I ST=" 、 "ALBUM-" 、 又は "F I LENAME=" であれば、 曲名、 ジ ヤンル名、 アーティスト名、 アルバム名、 又はファイル名がキーワードと一致す る 1又は 2以上の曲を探し出し、 その曲を列挙した曲リストを作成する。 フィル タの種類が "PLAYL I ST-" であれば、 プレイリストのファイル名がキー ワードと一致するプレイリストに登録されている曲を探し出し、 その曲を列挙し た曲リスト (プレイリスト) を作成する。 また、 コンテンツサーバ S 1は、 ォー ディオクライアント C 1のクライアント情報の 1つとして、 リスト構築キーをク ライアントインデックス (オーディオクライアント C 1の識別情報) に対応づけ て登録する。
コントローラ A 1は、 取得した曲リストの中からユーザの操作に応じて指定さ れた曲の再生をコンテンツサーバ S 1経由でオーディオクライアント C 1に命令 する (S 30303) 。 オーディオクライアント C 1は、 コントローラ A1から の再生命令に応じて、 指定された曲の音楽コンテンツをコンテンツサーバ S 1に 要求する (S 10201) 。 コンテンツサーバ S 1は、 オーディオクライアント C 1から要求された音楽コンテンツをオーディオクライアント C 1に配信する (S 20103) 。 オーディオクライアント C 1は、 コンテンツサーバ S 1から 送信された音楽コンテンツに基づいて曲の再生を開始する (S 10202) 。 オーディオクライアント C 1は指定された曲を最後まで再生し終えると、 その 旨を示す完了ステータスをコンテンツサーバ S 1に送信する (S 1 0 2 0 3 ) 。 コンテンツサーバ S 1はオーディオクライアント C 1から完了ステータスを受信 すると、 図 7 4に示すように、 コントローラ管理テーブル 1 0 4を参照し、 最高 順位のコントローラ A 1に完了ステータスをそのまま転送し、 それよりも下位の コントローラ A 2に完了ステータスと異なる停止ステータスを送信する (S 2 0 1 0 4 ) 。
コントローラ A 1は、 図 7 4に示すように、 曲リストに従って次の曲を連続し て再生するようにコンテンツサーバ S 1経由でオーディオクライアント C 1に命 令する (S 3 0 3 0 4 ) 。 オーディオクライアント C 1は、 コントローラ A 1か らの連続再生命令に応じてその次の曲を再生する。 以後、 オーディオクライアン ト C 1は上記ステップ S 2 0 1以降の動作を繰り返す。 他方、 コントローラ A 2 は、 コンテンツサーバ S 1から停止ステータスを受信しても特に能動的なァクシ ョンを起こさず、 単にオーディオクライアント C 1の状態を監視する。
なお、 コントローラ A l〜A kがコンテンツサーバ S 1から切断されると、 コ ンテンッサーバ S 1はコントローラ管理テープル 1 0 4を更新する。 具体的には、 コンテンツサーバ S 1から切断されたコントローラのコントローラインデックス を削除し、 それよりも下位のコントローラインデックスの優先順位を順次繰り上 げる。 たとえば図 7 5に示すように、 優先順位が最高のコントローラ A 1がコン テンッサーバ S 1から切断されたときは、 その次の優先順位のコントローラ A 2 が繰り上がり、 コントローラ A 1に代わって連続再生処理の権限を獲得する。 また、 上述した例ではコントローラ A 1が最初に再生を命令し、 再ぴ同じコン トローラ A 1が連続再生を命令しているが、 コントローラ A 2が最初に再生を命 令した場合であってもコントローラ A 1の優先順位が最高である限りコントロー ラ A 1が連続再生を命令する。 この場合、 コントローラ A 1はコンテンツサーバ S 1から完了ステータスを受信しても曲リストを有していないので、 コンテンツ サーバ S 1に登録されているオーディオクライアント C 1のリスト構築キーを利 用してコンテンツサーバ S 1力 ら曲リストを取得し、 これに従って次の曲を指定 する。 また、 曲リストに含まれる全ての曲が 1つのコンテンツサーバ S 1に蓄積され ているとは限らず、 複数のコンテンツサーバ S 1, S iに分散して蓄積されてい る場合もある。 この場合、 オーディオクライアント C 1はコンテンツサーバ S 1 の曲を再生した後、 引き続き別のコンテンツサーバ S iの曲を再生する必要があ る。 そのため、 コンテンツサーバ S 1の曲を再生し終えたオーディオクライアン ト C 1はコンテンツサーバ S 1との接続をー且解除し、 コンテンツサーバ S iに 接続し直すというサーバ切換処理を行う。
コンテンツサーバ S iに接続し直したオーディオクライアント C 1は、 コント ローラ A 1からの再生命令に応じて、 指定された曲の音楽コンテンツをコンテン ッサーバ S iに要求し、 コンテンツサーバ S iは要求された音楽コンテンツをォ 一ディオクライアント C 1に配信する。
オーディオクライアント C 1はその曲を再生し終えると、 完了ステータスをコ ンテンッサーバ S iに送信する。 コンテンツサーバ S iは完了ステータスを受信 すると、 その内部にあるコントローラ管理テーブルを参照し、 最高順位のコント ローラに完了ステータスを転送し、 それよりも下位のコントローラに停止ステー タスを送信する。
ここで、 コンテンツサーバ S iにあるコントローラ管理テーブルはコンテンツ サーバ S 1にあるコントローラ管理テーブルと同じであっても異なっていてもよ い。 複数のコンテンツサーバが同じコントローラ管理テーブルを使用するために は、 たとえばあるコンテンツサーバがコントローラ管理テーブルの優先順位を決 定し、 そのコントローラ管理テーブルを他のコンテンツサーバに転送するように すればよい。 一方、 複数のコンテンツサーバが異なるコントローラ管理テーブル を使用するためには、 たとえば各コンテンツサーバが独自にコントローラ管理テ 一ブルの優先順位を決定するようにすればよい。
以上のように本実施の形態によれば、 コンテンツサーバ S 1がオーディオクラ イアント C 1から完了ステータスを受信したとき、 コントローラ管理テーブルを 参照し、 最優先のコントローラ A 1にのみ完了ステータスを送信し、 他のコント ローラ A 2には停止ステータスを送信しているため、 最優先のコントローラ A 1 のみが連続再生を命令し、 他のコントローラ A 2が連続再生を命令することはな い。 したがって、 連続再生命令の競合を排除し、 正常に連続再生処理を実行する ことができる。
上記実施の形態では優先順位はコンテンツサーバ S 1との接続順で決定されて いるが、 これに限定されることなく、 たとえばオーディオクライアント C 1に命 令を出した順で決定されてもよい。 また、 コンテンツサーバは複数ある必要はな く、 少なくとも 1つあればよい。 オーディオクライアントも複数ある必要はなく、 少なくとも 1つあればよい。
1 . 2 . 3 . 3 . 7 . 制御ハンドルを利用した連続再生制御
本実施の形態では、 図 7 6に示したステップを実行するためのコンピュータプ ログラムがコンテンツサーバ S 1〜S i、 オーディオクライアント C 1〜C j及 びコントローラ A l〜A kにそれぞれインストールされている。 本実施の形態も 上記実施の形態と同様に、 複数のコントローラ A l〜A kを備えたネットワーク 型オーディォシステムに適用可能で、 コンテンッサーバ又はオーディオクライア ントは少なくとも 1つあればよい。
上記実施の形態と異なり本実施の形態では、 コントローラ A l〜A kに制御ハ ンドル管理テーブルが格納されている。 制御ハンドル管理テーブルの一例を次の 表 2に示す。 制御ハンドル管理テーブルには、 オーディオクライアント C 1〜C jのクライアントインデックスと、 オーディオクライアント C 1〜C jの制御ハ ンドルを取得しているコントローラ A l〜A kのコントローラインデックスとが 対応づけて記録される。 制御ハンドルは、 オーディオクライアントを制御する権 限を示すものである。 表 2の例では、 オーディオクライアント C 1の制御ハンド ルはコントローラ A 1により取得されているが、 オーディオクライアント C 2及 ぴ C jの制御ハンドルはいずれのコントローラにも取得されていない。
(以下余白) 表 2 :制御ハンドル管理テーブル
以下、 コンテンツサーバ S l、 オーディオクライアント C 1及びコントローラ
A 1に着目し、 図 7 6に示したフロー図を参照して本実施の形態の動作を説明す る。 なお、 図 7 6では上記第 1の実施の形態で詳述した曲リストの取得ステップ
(図 7 3中の S 3 0 2, S 2 0 1 0 2 ) は割愛されている。
コントローラ A 1は、 コンテンツサーバ S 1との接続又はオーディオクライア ント C 1に再生を命令する前に、 オーディオクライアント C 1を制御するために 必要な制御ハンドルを取得する。 具体的には、 コントローラ A 1は制御ハンドル 管理テーブルを参照し、 オーディオクライアント C 1の制御ハンドルがロックさ れているか否かを判断する (S 3 0 3 1 1 ) 。
オーディオクライアント C 1の制御ハンドルが既に他のコントローラ A 2〜A kのいずれかに取得されている場合、 表 4に示した制御ハンドル管理テーブルに おいて、 オーディオクライアント C 1のクライアントインデックスに対応して当 該コントローラのコントローラインデックスが記録されている。 このように制御 ハンドルが既に取得されている状態を 「制御ハンドルがロックされている」 とい う。 他方、 オーディオクライアント C 1の制御ハンドルが未だ他のコントローラ
A 2 ~A kのいずれにも取得されていない場合、 オーディオクライアント C 1の クライアントインデックスに対応していずれのコントローラインデックスも記録 されていない。 このように制御ハンドルが未だ取得されていない状態を 「制御ハ ンドルがロックされていない (アンロックされている) 」 という。 たとえば表 4 に示した制御ハンドル管理テーブルでは、 オーディオクライアント C 2の制御ハ ンドノレはロックされていない。
オーディオクライアント C 1の制御ハンドルがロックされている場合、 コント ローラ A 1は制御ハンドルの取得に失敗する。 他方、 口ックされていない場合、 コントローラ A 1はコンテンツサーバ S 1に制御ハンドルの取得を要求する (S 30312) 。 この要求に応じて、 コンテンツサーバ S 1はコントローラ A 1に 制御ハンドルの取得を許可する (S 201 1 1) 。 これにより、 コントローラ A 1は制御ハンドルを取得し、 さらにこの制御ハンドルを他のコントローラ A2〜 A kに取得されないようにロックする (S 30313) 。 具体的には、 コント口 ーラ A 1は制御ハンドル管理テーブルを更新し、 これによりオーディオクライァ ント C 1のクライアントインデックスに対応づけてコントローラ A 1のコント口 ーラインデックスを記録する。 コンテンツサーバ S 1は他のコントローラ A2〜 A kの制御ハンドル管理テーブルもこれに同期するよう更新する。
制御ハンドルを取得したコントローラ A1は、 曲リストの中からユーザの操作 に応じて指定された曲の再生をコンテンツサーバ S 1経由でオーディオクライァ ント C1に命令する (S 30314) 。 コンテンツサーバ S 1はこの再生命令を オーディオクライアント C 1に転送する (S 201 12) 。 オーディオクライァ ント C 1はこの再生命令に応じて指定された曲の再生を開始する (S 1021 1) 。
オーディクライアント C1はその曲を最後まで再生し終えると、 図 77に示す ように、 完了ステータスをコンテンツサーバ S 1に送信する (S 10212) 。 コンテンツサーバ S 1はこの完了ステータスを全てのコントローラ Al〜Akに 転送する (S 201 13) 。
コントローラ A 1は、 自身が制御ハンドルを取得しているオーディオクライア ント C 1からの完了ステータスか否かを判断し (S 30315) 、 そうであれば 連続再生処理を実行し (S 30316) 、 そうでなければ完了ステータスを無視 し、 単にオーディオクライアント C 1の状態を監視する。 本例では、 コントロー ラ A 1はオーディオクライアント C 1の制御ハンドルを取得しているから連続再 生処理を実行し (S 30316) 、 曲リス トに従って次の曲の再生を命令する (S 30314) 。 一方、 オーディオクライアント C 1は、 曲を最後まで再生することなく、 曲の 途中で再生を停止した場合、 停止ステータスをコンテンツサーバ S 1に送信する (S 10213) 。 コンテンツサーバ S 1はこの停止ステータスを全てのコント ローラ Al〜Akに転送する (S 20114) 。
コントローラ A1は、 自身が制御ハンドルを取得しているオーディオクライァ ント C 1からの停止ステータスか否かを判断し (S 30317) 、 そうであれば オーディオクライアント C 1の制御ハンドルを解除 (アンロック) し (S 303 18) 、 そうでなければ停止ステータスを無視する。
コントローラ A1は上記のように自身が制御ハンドルを取得しているオーディ オクライアント C 1から停止ステータスを受信した場合のほか、 コンテンツサー バ S 1から切断された場合にもその取得している制御ハンドルを解除する。 ォー ディオクライアント C 1の制御ハンドルが解除されると、 コントローラ A1〜A kのいずれもこの制御ハンドルの取得が可能となる。
なお、 曲リストに含まれる曲が複数のコンテンツサーバ S 1, S iに分散して 蓄積されている場合、 上記第 1の実施の形態と同様に、 オーディオクライアント C 1は図 77に示すようにコンテンツサーバ S 1から別のコンテンツサーバ S i に接続を切り換えることになる。 コンテンツサーバ S iはオーディオクライアン ト C 1から完了ステータスを受信しても、 オーディオクライアント C 1がどのコ ントローラ A l〜Akから命令された曲を再生し終えたのか不明である。 したが つて、 この場合もコンテンツサーバ S iは全てのコントローラ A l〜Akに完了 ステータスを転送するが、 コントローラ Al〜Akは制御ハンドル管理テ一ブル を有しているため、 自身が制御ハンドルを取得しているオーディオクライアント からの完了ステータスを受信したときのみ連続再生処理を実行する。 本例では、 コントローラ A1がオーディオクライアント C 1の制御ハンドルを取得している から、 このコントローラ A 1のみが連続再生処理を実行する。
以上のように本実施の形態によれば、 コントローラ A l〜Akの各々が制御ハ ンドル管理テーブルを有しているため、 オーディオクライアント C 1から送信さ れた完了ステータスをコンテンツサーバ S 1が全てのコントローラ Al〜Akに 転送しても、 コントローラ Al〜Akの各々は制御ハンドルを取得しているォー ディオクライアントからの完了ステータスを受信したときのみ連続再生処理を実 行する。 したがって、 連続再生命令の競合を排除し、 正常に連続再生処理を実行 することができる。
なお、 本実施の形態では制御ハンドル管理テーブルはコントローラ A l〜A k に格納されているが、 コンテンツサーバ S 1〜S iに格納されていてもよい。 また、 制御ハンドルをロックするのではなく、 最後に命令したコントローラが 制御ハンドルを取得できるようにしても構わない。 すなわち、 あるコントローラ A 1があるクライアント C 1の制御ハンドルを取得している際に、 別のコント口 ーラ A 2がクライアント C 1に再生を命令した場合、 コントローラ A 2が制御ハ ンドルを取得し、 コントローラ A 1は制御ハンドルを失うようにしてもよい。
1 . 2 . 3 . 3 . 8 . コンテンツサーバによる連続再生制御
最初に、 コンテンツサーバ、 オーディオクライアント及びコントローラをそれ ぞれ 1つずつ備えた単純な例を図 7 8を参照して説明する。
上記実施の形態と同様に、 コントローラ A 1は曲の再生をコンテンツサーバ S 1経由でオーディオクライアント C 1に命令する。 オーディオクライアント C 1 はこの命令に応じてその曲の音楽コンテンツをコンテンツサーバ S 1に要求し、 コンテンツサーバ S 1はこの要求に応じてその音楽コンテンツをオーディオクラ イアント C 1に配信する。 オーディオクライアント C 1は酉 3信された音楽コンテ ンッに基づいて曲の再生を開始し、 その曲を最後まで再生し終えると完了ステー タスをコンテンツサーバ S 1に送信する。 コンテンツサーバ S 1はこの完了ステ 一タスを受信すると、 上記実施の形態と異なり、 次の曲の連続再生をオーディオ クライアント C 1に自ら命令するとともに、 停止ステータスをコントローラ A 1 に送信する。
以下、 この詳細を図 7 9に示したフロー図を参照して説明する。 本実施の形態 では図 7 9に示したステップを実行するためのコンピュータプログラムがコンテ ンッサーバ S 1、 オーディオクライアント C 1及びコントローラ A 1にそれぞれ インストールされている。 図 7 9中のステップ S 2 0 3 2 3, S 1 0 2 2 1 , S 2 0 1 2 3〜S 2 1 1 2 5が図 7 3に示した実施の形態と異なるので、 ここでは これらを中心に説明する。 コントローラ A 1は上記実施の形態と同様に曲の再生をオーディオクライアン ト C 1に命令するが、 上記実施の形態と異なり、 さらにステップ S 3 0 2で曲リ ストを取得するために用いたリスト構築キーをオーディオクライアント C 1に送 信する (S 3 0 3 2 3 ) 。
オーディオクライアント C 1は上記第 1の実施の形態と同様に指定された曲の 音楽コンテンツをコンテンツサーバ S 1に要求し、 コントローラ A 1から送信さ れたリスト構築キーをコンテンツサーバ S 1に転送する (S 1 0 2 2 1 ) 。
コンテンツサーバ S 1は上記実施の形態と同様に指定された曲の音楽コンテン ッをオーディオクライアント C 1に配信するが、 上記実施の形態と異なり、 ォー ディオクライアント C 1から転送されたリスト構築キーに基づいて曲リストを作 成する (S 2 0 1 2 3 ) 。 リスト構築キー及び曲リストは、 クライアント情報と して、 オーディオクライアント C 1のクライアントインデックスに対応づけて記 録される。 これによりコンテンツサーバ S 1は、 オーディオクライアント C 1が コントローラ A 1からの命令に応じて再生している曲リストを把握していること になる。
音楽の再生終了後、 オーディオクライアント C 1から完了ステータスを受信し たコンテンツサーバ S 1は、 上記実施の形態と異なり、 停止ステータスをコント ローラ A 1に送信する (S 2 0 1 2 4 ) 。 そして、 コンテンツサーバ S 1はステ ップ S 1 2 3で作成した曲リストに従って次の曲の再生をォ ディオクライアン ト C 1に命令する ( S 2 0 1 2 5 ) 。
以上のように本実施の形態によれば、 コンテンツサーバ S 1自らが連続再生を 命令するため、 コントローラからの連続再生命令が競合することはなく、 正常に 連続再生処理を実行することができる。
上記の例はオーディオクライアントが 1つしかないが、 2つ以上あってもよい。 たとえば図 8 0に示した例では、 オーディオクライアント C 1及ぴ C 2がコンテ ンッサーバ S 1に接続されている。 上記ステップ S 1 2 3と同様に、 コンテンツ サーバ S 1は、 オーディオクライアント C 1及ぴ C 2が再生中のリスト構築キー 及び曲リストをそれぞれ記憶している。 完了ステータスがオーディオクライアン ト C 1からコンテンツサーバ S 1に送信されると、 コンテンツサーバ S 1は記憶 したオーディオクライアント C 1の曲リストに従ってオーディオクライアント C 1に連続再生を命令し、 コントローラ A 1に停止ステータスを送信する。 また、 完了ステータスがオーディオクライアント C 2からコンテンツサーバ S 1に送信 されると、 コンテンツサーバ S 1は記憶したオーディオクライアント C 2の曲リ ストに従ってオーディオクライアント C 2に連続再生を命令し、 コントローラ A 1に停止ステータスを送信する。 このようにコンテンツサーバ S 1はオーディオ クライアント C 1及び C 2を区別して連続再生を命令しているから、 連続再生命 令が競合することはない。
また、 オーディオクライアントだけでなく、 コンテンツサーバも 2つ以上あつ てもよい。 たとえば図 8 1に示した例では、 オーディオクライアント C 1及ぴ C 2がコンテンツサーバ S 1に接続され、 オーディオクライアント C 3がコンテン ッサーバ S 2に接続されている。 この場合も、 各クライアントに接続されている コンテンツサーバは 1つであるから、 オーディオクライアントは接続されている コンテンツサーバにのみ完了ステータスを送信する。 上記と同様に、 コンテンツ サーバ S 1はオーディオクライアント C 1から完了ステータスを受信するとォー ディオクライアント C 1に連続再生を命令し、 オーディオクライアント C 2から 完了ステータスを受信するとオーディオクライアント C 2に連続再生を命令する。 さらにこの場合、 コンテンツサーバ S 2はオーディオクライアント C 3から完了 ステータスを受信するとオーディオクライアント C 3に連続再生を命令する。 し たがってこの場合も、 オーディオクライアントに連続再生を命令するコンテンツ サーバはネットワーク上で唯一でとなるから、 連続再生命令が競合することはな レ、。
また、 図 8 1に示した場合において、 コントローラ A 1がコンテンツサーバ S 2に蓄積されている曲の再生をコンテンツサーバ S 1経由でオーディオクライァ ント C 2に命令したとき、 図 8 2に示すようにオーディオクライアント C 2はコ ンテンッサーバ S 1との接続をー且解除し、 コンテンツサーバ S 2に接続し直す。 このとき、 コンテンツサーバ S 2は、 オーディオクライアント C 2から送信され たリスト構築キーに基づいて曲リストを作成し、 オーディオクライアント C 2の クライアント情報としてこのリスト構築キー及び曲リストを記憶する。 オーディ オクライアント C 2はコンテンツサーバ S 2から配信された曲の再生を終えると、 コンテンツサーバ S 2に完了ステータスを送信する。 コンテンツサーバ S 2はこ の完了ステータスに応じてオーディオクライアント C 2に連続再生を命令すると ともに、 停止ステータスをコントローラ A 1に送信する。 したがってこの場合も、 オーディオクライアントに連続再生を命令するコンテンツサーバはネットワーク 上で唯一でとなるから、 連続再生命令が競合することはない。
また、 オーディオクライアント及びコンテンツサーバだけでなく、 コントロー ラも 2つ以上あってもよい。 たとえば図 8 3に示した例ではコントローラ A 1及 ぴ A 2がある。 コンテンツサーバ S 1はオーディオクライアント C 1又は C 2か ら完了ステータスを受信したとき、 コントローラ A 1だけでなくコントローラ A 2にも停止ステータスを送信する。 コンテンツサーバ S 2もまたオーディオクラ イアント C 3から完了ステータスを受信したとき、 コントローラ A 1だけでなく コントローラ A 2にも停止ステータスを送信する。 このようにコントローラ A 1 及び A 2は連続再生を命令する機能を有さず、 単にオーディオクライアント C 1 〜C 3の状態を監視する機能を有するだけであるから、 何ら連続再生処理に影響 を与えない。
1 . 2 . 3 . 3 . 9 . オーディオクライアント自身による連続再生制御 本実施の形態では、 図 8 4に示したステップを実行するためのコンピュータプ ログラムがコンテンツサーバ S 1〜S i、 オーディオクライアント C 1〜C j及 びコントローラ A l〜A kにそれぞれインストールされている。 図 8 4中のステ ップ S 1 0 2 3 3〜S 1 0 2 3 5が図 7 9に示した実施の形態と異なるので、 こ こではこれらを中心に説明する。
図 7 9に示した実施の形態と同様に、 コントローラ A 1は指定された曲の再生 をオーディオクライアント C 1に命令するとともに、 リスト構築キーをオーディ オクライアント C 1に送信し ( S 3 0 3 2 3 ) 、 オーディオクライアント C 1は 指定された曲をコンテンツサーバ S 1に要求し、 さらにこの要求に応じてコンテ ンッサーバ S 1から配信された曲の再生を開始する (S 1 0 2 0 2 ) 。 このとき、 オーディオクライアント C 1はコントローラ A 1から送信されたリスト構築キー を記憶しておく。 続いて、 オーディオクライアント C 1は記憶したリスト構築キーをコンテンツ サーバ S 1に送信し、 コントローラ A 1で選曲に使用した曲リストと同じ曲リス トをコンテンツサーバ S 1に要求する (S 10233) 。 コンテンツサーバ S 1 は受信したリス ト構築キーに基づいて曲リス トを作成し、 オーディオクライアン ト C 1に送信する (S 20133) 。 オーディオクライアント C1は受信した曲 リストを記憶するとともに、 その曲リストの中から現在再生中の曲を特定する (S 10234) 。
オーディオクライアント C 1はその曲を最後まで再生し終えると、 記憶した曲 リストに従って次の曲を再生する (S 10235) 。
なお、 曲リストに含まれる曲が複数のコンテンツサーバに分散して蓄積されて いる場合、 オーディオクライアント C1は上記と同様にサーバ切換処理を行う。 以上のように本実施の形態によれば、 オーディオクライアント C 1自身がリス ト構築キーを保持し、 それを利用して曲リス トを取得しているため、 自ら連続再 生処理を実行することができる。 したがって、 オーディオクライアント C 1がコ ントローラ A 1やコンテンツサーバ S 1から連続再生命令を受けることはなく、 連続再生命令が競合することはない。
本実施の形態でオーディオクライアント C 1がリス ト構築キーを利用して曲リ ストを取得しているのは曲の再生中であるが、 曲の再生終了後であってもよい。 また、 オーディオクライアント C1は取得した曲リストを記憶しているが、 記憶 しないで、 連続再生処理を実行するたぴにリスト構築キーを利用して曲リストを 取得してもよい。
1. 2. 3. 3. 10. 再生命令管理テーブルを利用した連続再生制御 本実施の形態では、 図 85に示したステップを実行するためのコンピュータプ ログラムがコンテンツサーバ S 1〜S i、 オーディオクライアント C 1〜C j及 ぴコントローラ A l〜Akにそれぞれインストールされている。 図 85中のステ ップ S 30341〜S 30345, S 20141が図 76に示した実施の形態と 異なるので、 ここではこれらを中心に説明する。
本実施の形態におけるコンテンツサーバ S 1には、 クライアントインデックス とコントローラインデックスとを対応づけた再生命令管理テーブルが記憶されて いる。 このテーブ^/の一例を次の表 3に示す 表 3に示した再生命令管理テープ ルには、 オーディオクライアント C 1に再生を命令した最新のコントローラ A 1 のコントローラインデックスが記録されている。 また、 オーディオクライアント
C 2に再生を命令した最新のコントローラ A 2のコントローラインデックスが記 録されている。
表 3 :再生命令管理テーブル
次に、 図 85に示したフロー図を参照し、 本実施の形態の動作を説明する。 あるコントローラは、 あるコンテンツサーバに蓄積されている曲の再生をある オーディオクライアントに命令する (S 30341) 。
まず図 86に示すように、 コントローラ A 1がコンテンツサーバ S 1に蓄積さ れている曲の再生をコンテンツサーバ S 1経由でオーディオクライアント C 1に 命令する場合を説明する。 この例では、 オーディオクライアント C 1及び C 2並 びにコントローラ A 1〜A 3がコンテンツサーバ S 1に接続されている。
コントローラ A 1は、 コンテンツサーバ S 1にオーディオクライアント C 1が 接続されているか否かを判断する (S 30342) 。 この例ではオーディオクラ イアント C 1はコンテンツサーバ S 1に接続されているので、 ステップ S 314 に進む。
コントローラ A1は、 曲リストの中から指定された曲の再生をコンテンツサー バ S 1経由でオーディオクライアント C 1に命令する (S 30314) 。 コンテ ンッサーバ S 1は、 この再生命令に応じて予め定められた再生命令管理処理を実 行する (S 20141) 。
具体的には図 87を参照して、 コンテンツサーバ S 1は、 再生命令管理テープ ルにおけるオーディオクライアント C 1のクライアントインデックスに対応づけ て、 コントローラ A1のコントローラインデックスを記録する (S 20144 1) 。 これによりコンテンツサーバ S 1は、 コントローラ A1がオーディオクラ イアント C 1に最後に再生を命令したコントローラであることを記憶しているこ とになる。 コンテンツサーバ S 1は、 コントローラ A 1からの再生命令をオーデ ィォクライアント C 1に転送する (S 201412) 。
オーディオクライアント C 1はコントローラ A 1からの再生命令に応じて曲の 再生を開始し (S 10211) 、 その再生を終えると、 完了ステータスをコンテ ンッサーバ S 1に送信する (S 10212) 。
コンテンツサーバ S 1はオーディオクライアント C 1から完了ステータスを受 信すると、 再生命令管理テーブルを参照してオーディオクライアント C 1に最後 に再生を命令したコントローラ A1を特定し、 そのコントローラ A1に完了ステ 一タスを送信するとともに、 他のコントローラ A 2及び A 3に停止ステータスを 送信する (S 201413) 。 完了ステータスを受信したコントローラ A 1はォ 一ディオクライアント C1に連続再生処理を実行する (S 30316) 。 他方、 停止ステータスを受信したコントローラ A2及び A3は何ら能動的なァクション を起こさず、 単にオーディオクライアント C 1の状態を監視する。
また、 オーディオクライアント C 1がコントローラ A 1からの命令に従って曲 を再生している場合において、 別のコントローラ A2が同じオーディオクライァ ント C 1に別の曲の再生を命令すると、 オーディオクライアント C1は現在の曲 の再生を中止し、 コントローラ A2からの命令に従って新たな曲の再生を開始す る。 このとき、 コンテンツサーバ S 1は再生命令管理テーブルを更新し、 次の表 4に示すようにコントローラ A 1のコントローラインデックスをコントローラ A 2のコントローラインデックスに書き換える。
表 4 :再生命令管理テーブル
次に図 88に示すように、 コントローラ A3がコンテンツサーバ S 1経由で別 のコンテンツサーバ S 2に蓄積されている曲の再生をオーディオクライアント C 1に命令する場合を説明する。 コントローラ A3は、 コンテンツサーバ S 2にオーディオクライアント C 1が 接続されている力否かを判断する (S 30342) 。 この例ではオーディオクラ イアント C 1はコンテンツサーバ S 2に接続されていないので、 コントローラ A 3は予め定められたサーバ切換処理を実行する (S 30343) 。
具体的には図 89を参照して、 コントローラ A 3はコンテンツサーバ S 1経由 でオーディオクライアント C 1にコンテンツサーバ S 1からコンテンツサーバ S 2への切換を命令する (S 303431) 。 コンテンツサーバ S 1はこの切換命 令をオーディオクライアント C 1に転送する (S 201401) 。 オーディオク ライアント C 1は現在接続中のコンテンツサーバ S 1を切断し (S 10240 1) 、 切換命令に応じて新しいコンテンツサーバ S 2に接続を要求する (S 10 2402) 。 コンテンツサーバ S 2はこの要求に応じてオーディオクライアント C1との接続を確立する (S 201402) 。 コントローラ A3はコンテンツサ ーバ S 2との接続を確認する (S 30344) 。
続いて、 コントローラ A3はコンテンツサーバ S 2経由で曲の再生をオーディ オクライアント C 1に命令する (S 30314) 。 コンテンツサーバ S 2はこの 再生命令に応じて、 次の表 5に示すように、 再生命令管理テーブルにおけるォー ディオクライアント C 1のクライアントインデックスに対応づけて、 コントロー ラ A 3のコントローラインデックスを記録する (S 201441) 。
表 5 :再生命令管理テーブル
コンテンツサーバ S 2は、 コントローラ A 3からの再生命令をオーディオクラ イアント C 1に転送する ( S 20141 2 ) 。
オーディオクライアント C 1はコントローラ A 3からの再生命令に応じて曲の 再生を開始し (S 1021 1) 、 その再生を終えると、 完了ステータスをコンテ ンッサーバ S 2に送信する (S 1021 2) 。 コンテンツサーバ S 2はコント口 ーラ A 3から完了ステータスを受信すると、 再生命令管理テーブルを参照してォ 一ディオクライアント C 1に最後に再生を命令したコントローラ A3を特定し、 そのコントローラ A 3に完了ステータスを送信するとともに、 他のコントローラ A 1及び A 2に停止ステータスを送信する (S 1413) 。 完了ステータスを受 信したコントローラ A3はオーディオクライアント C1に連続再生処理を実行す る (S 30316) 。 他方、 停止ステータスを受信したコントローラ A1及び A 2は何ら能動的なアクションを起こさず、 単にオーディオクライアント C 1の状 態を監視する。
以上のように本実施の形態によれば、 コンテンツサーバがオーディオクライァ ントに最後に再生を命令したコントローラを管理し、 オーディオクライアントか らの完了ステータスをそのコントローラにのみ転送しているため、 そのコント口 ーラのみが連続再生をオーディオクライアントに命令する。 したがって、 連続再 生命令が競合することはなく、 正常に連続再生処理を実行することができる。
1. 2. 4. A Vレシーバの制御
図 90に示すように、 LAN12には AVRクライアント AC 1及び AC2が 接続される。 AVレシーバ AVR1は、 E I A— 232により AVRクライアン ト AC 1に接続される。 AVレシーバ AVR2は、 U S Bにより AVRクライア ント AC 1に接続される。 AVレシーバ AVR3は、 メーカ特有のシリアルイン ターフェースにより A VRクライアント AC 2に接続される。
AVRクライアント AC 1及び AC 2の各々は、 コンテンツサーバとの接続が 完了したとき、 E IA—232、 US Bなどのインタフェイスに関する情報をコ ンテンッサーバ S iに通知してもよい。
US Bの場合、 AVRクライアント AC 1は、 AVレシーバ AVR 2が接続さ れたとき、 AVレシーバ AVR 2のベンダ I Dやプロダクト IDなどの機種情報 を取得することができるので、 それをコンテンツサーバ S iに通知する。 E IA — 232の場合、 AVRクライアント AC1が AVレシーバ AVR1の機種情報 を取得するのは通常は困難であるから、 接続される A Vレシーバ A VR 1のベン ダ I D及びプロダクト I Dを AVRクライアント AC 1に予め登録しておき、 A VRクライアント AC 1がそれをコンテンツサーバ S iに通知するようにする。 接続される可能性がある A Vレシーバが複数ある場合は、 AVRクライアント との通信プロトコルを定めておき、 AVRクライアントが AVレシーバの機種情 報を取得するようにすればよい。 たとえば、 AVRクライアントは一定の通信条 件 (ビットレート、 ビット長、 パリティなど) で一定時間 (たとえば 1秒) ごと に機種情報を問い合わせるパケットを送信し、 AVレシーバはそれに応答して機 種情報を含むパケットを返信するようにすればよい。 これにより、 AVRクライ アントは接続されている AVレシーバを特定することができる。 USBの場合も 含めてこのような場合、 AVRクライアントはコンテンツサーバとの接続が確立 した後に AVレシーバの機種情報を取得する可能性もあるので、 AVレシーバの 機種情報を取得した時点でその機種情報の変更をコンテンツサーバ S iに通知す る。
その結果、 コンテンツサーバ S iは、 AVRクライアント AC 1, AC2に接 続された又は接続される予定の全 AVレシーバ AVR 1〜AVR 3の機種情報を 取得することができる。 機種情報はコンテンツサーバ S iからコントローラ Ak にも通知されるため、 コントローラ Akも機種情報を取得することになる。
AVレシーバ AVRは、 図 91に示すように、 ボリューム、 入力切換スィッチ、 音場制御用 DSPなど、 さまざまな被制御素子を有している。 コントローラ Ak はこのような被制御素子を指定して制御コマンドを発行する。 そのため、 コント ローラは、 A Vレシーバ A V Rがどのような被制御素子を有しているかという機 種情報を持っている。
なお、 機種情報はコンテンツサーバ S iが持っているから、 コントローラ Ak が AVレシーバ AVRのベンダ I D及びプロダク ト I Dをキーとしてコンテンツ サーバ S iに機種情報を要求してもよい。
制御コマンドは、 コントローラ Akから出力され、 コンテンツサーバ S i及び AVRクライアント ACを経て AVレシーバ AVRに伝えられる。 ステータスは 逆に、 AVレシーバ AVRから出力され、 AVRクライアント AC及びコンテン ッサーバ S iを経てコントローラ A kに伝えられる。
AVRクライアント ACは、 制御コマンドが A Vレシーバ A V R用であること を確認すると、 AVレシーバ AVRにその制御コマンドを出力する。 制御コマン ドがポリュームの値を制御するものであれば、 コントローラ Akが発行した制御 コマンドは、 コンテンツサーバ S i及び AVRクライアント ACを経て AVレシ ーバ AC Rに送られ、 これによりボリュームが制御される。
図 92を参照して、 コントローラ Akは制御コマンドをコンテンツサーバ S i に送信し (S 35) 、 コンテンツサーバ S iはこれを指定された AVRクライア ント ACに送信し (S 28) 、 さらに AVRクライアントはこれを AVレシ一バ AVRに送信する (S 101) 。 AVRクライアント ACは AVレシーバ AVR からそのステータスを受信してコントローラ Akに送信し (S 102) 、 コンテ ンッサーバは SVこれをコントローラ Akに送信し (S 29) 、 コントローラ A kはこれに応じて AVレシーバ AVRのステータスを更新する (S36) 。
図 93に示すように、 コンテンツサーバ S i、 AVRクライアント AC 1〜A
C3、 及ぴ A Vレシ一バ AVR 11, AVR 12, AVR 21, AVR31, A VR 32は、 コンテンツサーバ S iを根とした木のような形状をした経路で制御 コマンドを伝達する。
図 94を参照して、 コントローラ Akは、 制御対象たる A Vレシーバ A VR及 び制御内容を決定し (S 3501) 、 その制御内容に基づいてコマンド本体を生 成する (S 3502) 。 続いて、 コントローラ Akは、 図 95Aに示すように、 コマンド本体に宛先情報を付加した制御コマンドをコンテンッサーバ S iに送信 する (S 3503) 。 ここでの宛先情報は、 制御対象たる AVレシーバ AVRを 指定する A Vレシーバ指定部と、 その A Vレシーバ A V Rに接続された A V Rク ライアント ACを指定する AVRクライアント指定部とを含む。
コンテンツサーバ S iはこの制御コマンドを受信し、 図 95 Bに示すように、 受信した制御コマンドから AVRクライアント指定部を取り出す (S 2801) 。 コンテンツサーバ S iは、 この AVRクライアント指定部に基づいて指定された AVRクライアント ACを判断する。 続いて、 コンテンツサーバ S iは、 AVR クライアント指定部を取り除いた制御コマンドを指定された AVRクライアント ACに送信する (S 2802) 。
AVRクライアント ACはこの制御コマンドを受信し、 図 95 Cに示すように、 受信した制御コマンドから A Vレシーバ指定部を取り出す (S 1011) 。 AV Rクライアント ACは、 この AVレシーバ指定部に基づいて指定された AVレシ ーバを判断する。 続いて、 AVRクライアント ACは、 コマンド本体のみからな る制御コマンドを指定された AVレシーバに送信する (S 2802) 。
このように不要な指定部を順次取り除いて制御コマンドを転送すれば、 ネット ワークトラフィックを軽減することができる。 ただし、 指定部を取り除くことな く、 制御コマンドをそのまま転送するようにしてもよい。
各段階で、 コマンド本体の文字列は全く同じである必要はなく、 その意味が同 じであればよい。 すなわち、 最終的に AVRクライアント ACから AVレシーバ AVRに送信される制御コマンドが A Vレシーバ A V Rに理解可能な形式であれ ばよい。
このようにして制御コマンドを受信した A Vレシーバ A VRは、 制御コマンド に従って被制御素子を制御する。 その結果、 被制御素子のステータスが変化すれ ば、 AVレシーバ AVRはそのステータスを AVRクライアント ACに送信する。 このステータスは、 図 96Aに示すように、 ステータス本体のみからなる。
AVRクライアント ACは、 AVレシーバ AVRのステータスを受信して記憶 するとともに (S 1021) 、 図 96 Bに示すように、 受信したステータスに発 信元情報を追加し、 それをコンテンツサーバ S iに送信する (S 1022) 。 こ こでの発信元情報は、 ステータスを発信した A Vレシーバ A VRを指定する A V レシーバ指定部を含む。
コンテンツサーバ S iは AVRクライアント ACからのステータスを受信し、 図 96 Cに示すように、 受信したステータスに AVRクライアント指定部をさら に追カ卩し、 それをコントローラ Akに送信する (S 2901) 。
コントローラ Akはコンテンツサーバ S iからのステータスを受信し、 受信し たステータスから AVRクライアント指定部及ぴ AVレシーバ指定部を取り出し、 AVレシーバ AVRのステータスを更新する (S 3601) 。
なお、 ステータスは、 被制御素子のステータスだけでなく、 コントローラ Ak では制御不可能な要素のステータス (たとえば音声信号のレベル情報など) も存 在し得る。 このようなステータスも AVRクライアント AC及びコンテンツサー バ S iを経由してコントローラ Akに伝えられる。 また、 ステータスは、 AVレ シーバ AVRの被制御素子が制御コマンドにより制御されたときだけでなく、 そ のステータスが変化したときにも送信される。 すなわち、 AV Rクライアント A Cと A Vレシーバ A V Rとの接続が確認されたときにも、 AV Rクライアント A Cは AVレシーバ AV Rのステータスを取得し、 これをコンテンツサーバ S に 送信する。
このようにして最終的にステータスを受信したコントローラ A kは、 各 AVレ シーパ AV Rのステータスを把握することができる。 これにより、 コントローラ は制御の確認及びステータスの表示を行う。
なお、 表示目的のステータスであって頻繁に変化する可能性のあるステータス は、 AVレシーバ AV R又は AV Rクライアント A Cがステータスの送出頻度を 適宜低くしてもよい。 頻繁に変化するステータスをそのまま表示しても認識しに くいし、 送出頻度が高いとネットワークに無用なトラフィックが発生し、 コンテ ンッサーバの負荷も増大するからである。
複雑な #成を有する被制御素子は、 複数の被制御部を持つ場合がある。 たとえ ば図 9 1中の音場制御用 D S Pは多くの係数データの設定を必要とするが、 その 設定は D S Pを制御するマイクロコントローラにより行われる。 この設定を変更 する場合、 スタンドアロンのシステムでは、 A Vレシーバ本体又はそれに接続さ れた表示装置でステータス状態を表示しながら、 ユーザのキー操作により行うこ とになる。 この動作を行うのはマイクロコントローラのファームウェアであり、 複雑な設定が可能で、 かつ使い易い操作を実現しょうとすると、 プログラム容量 の増大や高性能な表示装置が必要になったりと、 製品単価や開発費用に影響が出 る可能性がある。
このシステムでは、 係数データの設定パターンをいくつもコンテンッサーバ S iに持たせ、 コントローラ A kに表示された階層メニューからそのうち 1つを選 択し、 A VRクライアント A C経由で係数データを設定することも可能である。 また、 同時に複数の AVレシーバ AV Rをコントローラ A kの支配下に置ける ことから、 A Vレシーバ A V Rの時刻合わせなどの設定を同時に行うことができ る。 さらに、 これら AVレシーバ AV Rのステータスをモニタすることにより、 リレー録画などの連携動作も可能になる。
次に、 AV Rクライアント A Cに接続されている AVレシーバ AV Rのボリュ ームを上げる場合を説明する。
図 97を参照して、 コントローラ Akはクライアントの接続を確認し (S 30 別し (S 3014) 、 AVRクライアント ACであれば、 ボリュームアップを示 す制御コマンドをコンテンツサーバ S iに送信する (S 35) 。 コンテンツサー ノ S iはこれを AVRクライアント ACに送信し (S 28) 、 さらに AVRクラ イアント ACはこれを AVレシーバ AVRに送信する (S 101) 。 AVRクラ イアント ACはポリユームアップしたことを示すステータスを AVレシーバ AV Rから受信し、 これをコンテンツサーバ S iに送信する (S 102) 。 コンテン ッサーバ S iはこれをコントローラ Akに送信し (S 29) 、 コントローラ Ak はこれに応じて A Vレシーバ AVRのステータスを更新し、 図 34に示したモニ タを再開する (S 36) 。
次に、 AVRクライアント ACが AVレシーバ A VRのステータスをコンテン ッサーバに転送する動作を図 98を参照して説明する。
AVRクライアント ACは AVレシーバ AVRからバケツトデータを受信する と (S 1021) 、 それがボリューム情報か否かを判別する (S 1022) 。 A Vレシーバ AVRからデータが E I A— 232の場合は、 バケツト受信はシリア ル受信割り込みで行われ、 データはキューに入れられる。 キューは定時的に読み 出され、 以降の処理が行われる。
続いて、 受信したデータがボリューム情報であれば、 AVRクライアント AC はそのボリューム値を記憶する (S 1023) 。 上記ボリューム情報か否かの判 別 (S 1022) 及びボリューム情報の記憶 (S 1023) は、 データがキュー に入れられる前に行われる。 一方、 受信したデータがボリューム情報でなければ、 AVRクライアント ACは、 AVレシーバ A VRからのステータスであることを 示す AVレシーバ指定部を、 受信したパケットデータに追カ卩してコンテンツサー パ S iに送信する (S 1024) 。
ボリューム値を記憶した後、 ボリューム情報の受信が初めてか否かを判別する (S 1025) 。 初めての場合はステップ S 1028に進むが、 初めてでない場 合は AVRクライアント ACはポリユーム値をコンテンツサーバに送信してから 20ミリ秒以上経過しているか否かを判別する (S 1026) 。 20ミリ秒以上 経過している場合、 AVRクライアント ACは前回送信したボリューム値を記憶 したボリューム値と比較し (S 1027) 、 異なっている場合は AVレシーバ A VRからのステータスであることを示す A Vレシーバ指定部をポリューム情報に 追加してコンテンツサーバ S iに送信する (S 1028) 。
ボリユーム値のステータスは他のステータスと比較して短い間隔でやって来る 場合があるので、 コンテンツサーバ S iやコントローラ Akの負担になったり、 ネットワークに無用なトラフィックの増大をもたらす可能性がある。 ボリューム 情報はコントローラ A kでの表示に用いるだけなので、 表示に支障のない間隔で 送れば問題ない。 そのため、 ボリューム情報を受信すると、 その値だけを記憶し、 変化があつたときだけ適当な間隔 (ここでは 20ミリ秒) をおいてコンテンツサ ーパ S iに送信するようにしている。
次に、 A VRクライアント ACがコンテンツサーバ S iからのコマンドを AV レシーバ A VRに転送する動作を図 99を参照して説明する。
AVRクライアント ACは AVレシーバ A VR用の制御バケツトを受信すると
(S 1031) 、 そのバケツトから A Vレシーバ A VR用の制御コマンドを取り 出す (S 1032) 。 AVRクライアント ACは、 その制御コマンドがポリユー ム値問い合わせコマンドか否かを判別する (S 1033) 。 ボリューム値問い合 わせコマンドの場合、 AVRクライアント ACは記憶しておいたボリユーム値 (未受信の場合は適当な初期値) からボリューム情報を生成し (S 1034) 、 A Vレシーバ A VRからのステータスであることを示す A Vレシーバ指定部をポ リユーム情報に追加してコンテンツサーバ S iに送信する (S 1035) 。
一方、 ポリューム値問い合わせコマンドでない場合、 その AVレシーバ AVR 用の制御コマンドを AVレシーバ AVRに送信する (S 1036) 。 AVRクラ イアント ACと AVレシーバ AVRとのインタフェイスが E I A— 232の場合 には、 AVRクライアント ACから AVレシーバ AVRへの送出はバイト単位で 割り込みによって行われる。 コンテンツサーバ S iからの制御コマンドはー且キ ユーに格納される。 キユーは定時的な割り込み又はシリアル送信のバッファェン プティの割り込みで読み出され、 パイト単位で送出される。 上記の形態では、 コンテンツサーバ S iへのボリューム情報の送出は、 初回を 除いて変化があつたときしか行われない。 そのため、 AVレシーバ AV Rがコン テンッサーバ S iからのボリューム値問い合わせコマンドに応答してボリューム 値を返したとしても、 そのボリューム値に変化がなければ A V Rクライアント A Cはそのボリューム値をコンテンツサーバ S iに返さない。 この対策として、 コ ンテンッサーバ S iからのボリューム値問い合わせコマンドに対しては、 AV R クライアント A Cは AVレシーバ AVRを介さずに応答するようにしている。 こ の形態は、 AVレシーバ AV Rに電源が投入されたときは必ず A Vレシーバ AV Rはボリュームの初期値をステータスとして AV Rクライアント A Cに送信する ことが前提となっている。 し力 し、 電源投入のタイミングによっては、 AV Rク ライアント A Cがこの初期値を受信できない可能性もある。
そこで、 図 1 0 0に示すように、 AV Rクライアント A Cは初回に限り AVレ シーバ AV R経由で応答を行うのが好ましい。 すなわち、 コンテンツサーバ S i からの制御コマンドがポリューム値間い合わせコマンドの場合、 A V Rクライア ント A Cはボリューム値を未だ受信していないか否かを判別する (S 1 0 3 4 ) 。 未だ受信していない場合はステップ S 1 0 3 6に進み、 既に受信している場合は ステップ S 1 0 3 4に進む。
なお、 複数種類の A Vレシーバが存在する場合において、 コントローラ A kが これらの AVレシーバを制御するときは、 コントローラ A kは AVレシーバの種 類に応じて専用の制御コマンドを発行してもよいが、 AVレシーバの種類に関係 なく汎用の制御コマンドを発行し、 コンテンッサーバがこの汎用の制御コマンド を専用の制御コマンドに変換するようにしてもよい。
1 . 2 . 5 . ファームウェアアップデート
コンテンツサーバは、 後述するように、 クライアントにインストールされてい るファームウェアをアップデートすることができる。 ここでは、 クライアントが コンテンツサーバにアップデートを要求する場合と、 コンテンツサーバがクライ アントに問い合わせをした上でァップデ トする場合と、 コンテンッサーバが強 制的にアップデートする場合とがある。
まず、 クライアントがコンテンツサーバにアップデートを要求する場合の概要 を説明する。 図 1 0 1を参照して、 クライアントはファームウェア情報をコンテ ンッサーバに要求し (S 1 03) 、 コンテンツサーバはこれに応じてファームゥ エア情報をクライアントに返信し (S 20 1) 、 クライアントはこれを受信する (S 1 0 3) 。 続いて、 クライアントはファームウェアを指定し (S 1 04) 、 コンテンツサーバはこれに応じて指定されたファームウェアの転送を準備する (S 202) 。 続いて、 クライアントはファームウェアをコンテンツサーバに要 求し (S 1 05) 、 コンテンツサーバはこれに応じてファームウェアをクライア ントに転送し (S 203) 、 クライアントはこれを受信する (S 1 05) 。 続い て、 クライアントはファームウェアをアップデートし (S 1 06) 、 アップデー トを終えると終了ステータスをコンテンツサーバに送信し (S 1 07) 、 コンテ ンッサーバはこれを受信する (S 204) 。
次に、 ファームウェアアップデートの詳細を図 1 02を参照して説明する。 コ ンテンッサーバからアップデートを開始する場合は、 ステップ S 20 1 2から処 理を開始する。 クライアントからアップデートを開始する場合は、 ステップ S 1 033から処理を開始する。
コンテンツサーバは、 まず、 ファームゥヱァ情報ファイルを読み込み、 図 1 5 に示したファームウェア情報データベースを作成しておく (S 201 1) 。 たと えば、 コンテンツサーバがクライアントごとにアツプデートに必要なファイルを 読み込み、 アップデート情報ファイルを作成する。 したがって、 この情報フアイ ノレに基づき、 クライアントのファームウェアの新旧を判断できる。 クライアント は、 起動時にプロダク ト I D及びファームウェア I Dをコンテンツサーバに送信 する (S 1 03 1) 。
コンテンツサーバからアップデートを開始する場合、 たとえばコンテンツサー バがクライアントのプロダクト I D及びファームウェア I Dに基づいてそのファ ームウェアが古いと判断した場合や、 コンテンツサーバがインターネット上のサ ィトから新しいファームウェアを取得した場合などには、 コンテンツサーバは、 クライアントにファームウェアのアップデートを要求するためのファームウェア アップデート要求コマンドを発行し、 必要に応じて、 アップデートを推奨する新 しいファームウェアの情報をクライアントに提示する (S 20 1 2) 。 ユーザが 推奨されたファームウェアのアップデートを望まない場合、 クライアントはコン テンッサーバからのアップデート要求を拒否し、 この処理は直ちに終了する (S 1 0 3 2 ) 。 また、 ユーザが推奨されたファームウェアのアップデートを保留す る場合も、 この処理は直ちに終了する (S 1 0 3 2 ) 。 ただし、 この場合、 クラ イアントはコンテンッサーバに所定時間経過後に再びァップデ一ト要求をするよ うに命令する。 また、 ユーザが推奨されたファームウェアのアップデートを受け 入れる場合、 クライアントはそのまま処理を継続する (S 1 0 3 2 ) 。 この場合 において、 コンテンツサーバがクライアントに具体的なファームウェアを提示し ているときは、 クライアントはステップ S 1 0 3 5に進み、 直ちにファームゥェ ァのアップデートを開始する。 また、 コンテンツサーバがクライアントに具体的 なファームウェアを提示することなく、 単にアップデートを要求しているときは、 クライアントはステップ S 1 0 3 3に進み、 ファームウェアリストを取得する。 なお、 ファームウェアアップデート要求コマンドは、 コントローラがサーパリ タエストとして発行してもよい。 この場合は、 コントローラは後述する S 1 0 3 3〜S 1 0 3 4と同様にして、 制御及ぴ監視するクライアントに関するファーム ウェアリストをコンテンツサーバから取得し、 ユーザが所望のファームウェアを 選択する。 コントローラにて選択されたファームウェアがアップデートを推奨す るファームウェア情報としてクライアントに提示される。
ァップデート要求を受け入れる場合、 又はクライアントからアツプデートを開 始する場合、 クライアントはファームウェアリストをコンテンツサーバに要求す る (S 1 0 3 3 ) 。 ファームウェアリストは、 特定クライアントに適用可能なフ アームウェアを列挙したものである。 コンテンツサーバは、 ファームウェアリス トを常時持っているのではなぐ、 クライアントからの要求に応じてその都度作成 する。 ファームウェアリストの作成方法は、 上述した曲リストの作成方法と基本 的に同じである。 ただし、 ファームウェアリストを作成するときには、 コンテン ッサーバは、 図 1 5に示したファームウェア情報データベースを用いる。 このデ ータベースには、 ファームウェア情報がファームウェア数分だけ格納されている。 以下、 ファームウェアリストの作成方法を詳述する。
図 1 0 3を参照して、 まずコンテンツサーバは、 ファームゥヱァ情報データべ ースに格納されているファームウェア情報の番号を示すィンデックスを 0に初期 化する (S 2 0 1 3 1 ) 。
続いて、 コンテンツサーバは、 インデックスが示すファームウェア情報のプロ ダクト I Dがクライアントのプロダクト I Dと一致するか否かを判別する (S 2 0 1 3 2 ) 。 一致する場合、 コンテンツサーバはそのファームウェア情報をファ ームウェアリストに追加し (S 2 0 1 3 3 ) 、 その後、 インデックスをインクリ メントする (S 2 0 1 3 4 ) 。 一方、 一致しない場合、 コンテンツサーバは、 ス テツプ S 2 0 1 3 3をスキップし、 直ちにインデックスをインクリメントする ( S 2 0 1 3 4 ) 。
続いて、 コンテンツサーバは、 インデックスが示すファームゥヱァ情報の番号 が全ファームウェア情報の数 nよりも小さいか否かを判別し (S 2 0 1 3 5 ) 、 小さい場合はステップ S 2 0 1 3 2に戻り、 一方、 小さくない場合はファームゥ エアリストの作成を完了する。
上記の処理により、 コンテンツサーバは、 ファームウェア情報データベースの 中からプロダクト I Dがー致するファームウェア情報をピックアップし、 ファー ムウェアリストを作成する。 このように、 ファームウエアリストは予めデータべ ース化されているのではなく、 クライアントからの要求のたびに一時的に作成さ れるので、 ファームウェアリストを常に格納しておくためのメモリ領域は不要で ある。
続いて、 コンテンツサーバは、 この作成したファームウェアリストを要求元ク ライアントに返信する (S 2 0 1 3 ) 。 このファームウェアリストも上記曲リス トと同様に、 コンテンツサーバからクライアントに分割されて送られる。
具体的には、 図 1 0 4を参照して、 クライアントは、 自身のプロダクト I Dと、 取得しょうとする最初のファームゥェァ情報を示す取得開始ィンデッタスと、 取 得しようとするファームウェア情報の数を示す取得個数とを含むファームウェア リスト要求コマンドをコンテンツサーバに送信する (S 1 0 3 3 ) 。 コンテンツ サーバは、 このファームウェアリスト要求コマンドに応答して、 クライアントの プロダクト I Dと同じプロダクト I Dを有するファームウェア情報を抽出し、 取 得開始ィンデックスが示すフアームゥヱァ情報から取得個数が示す数だけファー ムウェア情報をクライアントに返信する (S 2031) 。 このとき、 コンテンツ サーバは、 送信するファームウェア情報の数を示す有効個数と、 コンテンツサー バがクライアントに返信したファームウェアリストよりも後に残っているファー ムウェアの数を示す残り個数とを併せて送信する。 クライアントは、 このような ファームウェアリストの一部を受信してメモリに格納する (S 10331) 。 上 記処理は、 全ファームウェアリストがコンテンツサーバからクライアントに送ら れるまで繰り返される。
続いて、 クライアントは、 返信されたファームウェアリストの中にユーザがダ ゥンロードしたいファームウェア (新しいパージヨンなど) があれば処理を継続 し、 なければ処理を中止する (S 1034) 。
コンテンツサーバは、 新旧を問わず、 全てのバージョンのファームウェア情報 を送信するので、 不具合などにより、 クライアントは、 古いファームウェアに変 更することもできる。
ァップデ一トを行う場合、 クライアントはアツプデートセクションに移行した ことを示すステータスをコンテンッサーバに通知する (S 1034) 。 コンテン ッサーバは、 このステータスに応答してエラーの有無を示すエラーコードを返信 する (S 2014) 。 クライアントは、 ダウンロードしょうとするファームゥェ ァのファイルを指定する (S 1036) 。 具体的には、 取得したファームウェア 情報のリストに格納されているフルパス名を指定する。 コンテンツサーバは、 指 定されたファイルを読み出し、 ノ ッファに格納しておく (S 2015) 。
続いて、 クライアントは、 取得開始アドレス及ぴデータサイズ (バイト数) を 指定し、 ファームウェアのデータを取得する (S 1037) 。 コンテンツサーバ は、 指定された取得開始アドレスから指定されたバイト数分だけデータをバッフ ァから読み出し、 クライアントに送信する (S 2016) 。
クライアントは、 ファームウェアのデータを最後まで取得したか否かを判別し (S 1038) 、 取得していない場合はステップ S 1037に戻ってデータの取 得を繰り返す。 取得し終えた場合、 クライアントはファームウエアを書き換え (S 1039) 、 アップデートを終了する (S 1040) 。 コンテンツサーバは、 開いていたファームウェアのファイルを閉じ、 バッファを解放する (S 201 7 ) 。
さらに、 クライアントがファームウェアの書き換えを完了したときは、 不明ス テータスをコンテンツサーバに送信する。 クライアントは、 コンテンツサーバと の接続を中断して、 リセット (すなわち、 更新されたファームゥヱァを起動) し、 クライアント情報をコンテンツサーバに通知する。 また、 クライアントがファー ムウェアデータを取得失敗したときは、 失敗ステータスを送信してもよい。 失敗 ステータスは、 ファームウェアデータ再送信などに用いることができる。
なお、 コンテンツサーバからアップデート要求を行う場合において、 次の様に 処理することもできる。 すなわち、 図 1 0 2において、 コンテンツサーバはアツ プデート要求の際に、 必ずファームウェアの情報をクライアントに提示する (S 2 0 1 2 ) 。 コンテンツサーバが推奨するファームウェアをアップデートする場 合には S 1 0 3 5に進み、 コンテンツサーバが推奨するファームウェアをアップ デートするのではなく、 ユーザがファームゥヱァリストから所望のファームゥェ ァを選択する場合には S 1 0 3 3に進むようにすることもできる。
以上のように、 ファームウェアのデータがコンテンッサーバから L AN経由で オーディオクライアントに送信されるので、 クライアントのファームゥヱァを短 時間でアップデートすることができ、 しかも複数のクライアントのファームゥェ ァを同時にアップデートすることもできる。 また、 プロダクト I Dを用いている ため、 クライアントに適したファームウェアを自動的に選択してアップデートす ることがきる。 また、 ファームゥヱァ I Dを用いているため、 最新バージョンの ファームウェアを自動的に選択してアップデートすることがきる。
2 . 他の実施の形態
2 . 1 . コンセント内蔵型オーディオクライアント
オーディオクライアントは、 図 1 0 5及ぴ図 1 0 6に示すように、 コンセント ボックス 5 0に內蔵されてもよい。 コンセントボックス 5 0は一般に、 壁 5 2に 取り付けられる前面パネル 5 4と、 前面パネル 5 4の裏面に取り付けられた筐体 5 6とを備える。 この発明の実施の形態では、 筐体 5 6の中に、 図 3に示したォ 一ディオクライアント用の回路が設けられる。 L ANケーブルは、 このオーディ オクライアント用の回路に接続される。 また、 前面パネル 5 4には、 電源コンセ ント 5 8、 電源スィッチ 6 0、 モジュラージャック (図示せず) 、 テレビアンテ ナ用端子 (図示せず) などに加えて、 オーディオクライアントからのオーディオ 信号を出力するためのオーディオ出力端子 6 2が設けられる。 これらオーディオ 出力端子 6 2はそれぞれ左右のスピーカ装置に接続される。
オーディオクライアントは、 通常、 曲リストを表示するためのディスプレイと、 その表示された曲リストから所望の曲を選択するためのスィツチ類とを備えてい る。 ディスプレイゃスィツチ類はオーディオクライアントをモニタしかつ制御す るために必要であるが、 オーディオクライアントと同じ L AN 1 2に接続された コントローラを使用することにより、 オーディオクライアントからディスプレイ やスィッチ類を除去することができる。 また、 コントローラを使用する代わりに、 オーディオクライアントと同じ L AN 1 2に無線で接続された携帯型リモートコ ントローラを使用してもよい。
このようにオーディォクライアントを簡素化することにより、 一般家庭のコン セントボックス 5 0に内蔵することができる。 簡素化されたコンセント内蔵型ォ 一ディオクライアントは、 ネットワークから音楽や映像を抽出して再生する機能 のみを有し、 表示機能や制御機能を有していない。
インターネットの普及、 特にブロードパンド (高速'大容量) のインフラが整 備されるに従い、 一家に複数台のパソコンからインターネットに接続する要求が 增ぇると予想されている。 宅内で複数台のパソコンをインターネットに接続する 最も一般的な方法は、 宅内に L ANを構築することであり、 こうした宅内 L AN を備えた世帯が増加することは時間の問題となっている。 この L ANを利用すれ ば、 上述の音楽や映像を宅内の各所に配信することがケーブル 1本で可能になる。 また、 1本のケーブルには音楽ノ映像信号の他にコントロール信号も併せて伝送 することができるから、 本システムの設置にはオーディオ Zビデオに関する専門 的な知識が不要である。 さらに、 コスト面でも極めて有利であるため、 業務用の みならず、 家庭用としても普及しうる。
—般家庭において、 新築時又はリフォーム時にインターネット接続の利便性を 考慮して宅内 L ANを敷設するケースが増大しているが、 このときコンセントポ ックス 5 0に L ANコネクタを設けるのが極めて一般的である。 したがって、 L ANの敷設工事と同時に複数のオーディオクライアントを容易に設置することが できる。 すなわち、 スピーカ (パワードを含む) を接続するだけでオーディオク ライアントを構築することができ、 また、 テレビなどの映像モニタを接続するだ けでビデオクライアントを構築することができる。 そのため、 インテリア上も見 栄えのよいオーディオクライアントをセットすることができる。 さらに、 商品開 発の観点からも商品自体の華美なデザィン設計が不要となり、 機能を重視した極 めてシンプルな設計手法により商品開発コストの低減につながる。 また、 その構 造がシンプル故にリサイクルのし易さの点でも有益である。
宅内 L ANによる配信では、 従来のオーディオ/ビデオ機器と異なり、 C Dや テープといったコンテンツのメディアを必要としない。 すなわち、 コンテンツは
—度コンテンッサーバに格納してしまえば、 そのメディァの管理は不要となる。 こうした宅內ネットワークによるサーバクライアントの構成によれば、 オーディ オクライアントにはメディアを揷入する機構や回転駆動装置など、 機械系の装置 を全く必要としない。 したがって、 装置の小型化を達成し、 さらに高い信頼性と ともに長寿命な商品を可能にする。
2 . 2 . インターネット上の音楽データを取得
上記実施の形態では、 オーディオクライアントは電 投入時にブロードキャス トによりコンテンツサーバを探索している。 しかし、 L AN 1 2上の全コンテン ッサーバの電源が落ちていた場合、 コンテンツサーバからの応答がないため、 ォ 一ディオクライアントは永久にコンテンツサーバを探索し続けることになる。 こ れを防止するためには、 オーディオクライアントはタイムァゥトエラーなどの処 理を行えばよいが、 タイムアウトエラーの場合、 オーディオクライアントは音楽 を再生するなどの動作を全く行うことができない。
これらの問題を解決するためには、 オーディオクライアントがブロードキャス トを所定回数繰り返してもコンテンッサーバを発見することができない場合は、 インターネット上の WWWサーバにアクセスし、 このサーバと接続するようにす ればよい。
この場合、 L AN 1 2は、 図 1 0 7に示すように、 ゲートウェイ 5 0を通じて インターネット 5 2に接続される。 インターネット 5 2上の WWW (World Wide Web)サーバ 54には、 音楽配信サイト 56に置かれている曲のリストが予め登録 されている。 このリストには、 曲名やアーティスト名など、 曲情報の他、 音楽デ ータが置かれている URL (Un:iform Resource Locator)などが記録されている。 図 108に示すように、 サーバリストが空の場合、 オーディオクライアントは、 ステップ S 1102に戻ってブロードキャストをリ トライする前に、 そのリ トラ ィ回数が所定の回数、 たとえば 3回に達したか否かを判別する (S 1109) 。 リ トライ回数が 3回に達していない場合、 オーディオクライアントはリ トライ回 数をインクリメントし (S 1110) 、 その後、 ステップ S 1102に戻ってプ ロードキャストをリ トライする。 一方、 リ トライ回数が 3回に達している場合、 オーディオクライアントはインターネット 52上の WWWサーバ 54に HTTP で接続する (S 1111) 。 オーディオクライアントが接続に成功した場合は探 索を完了するが (S 1112) 、 接続に成功せず、 タイムァゥトになった場合は エラーとなる (S 1113) 。
オーディオクライアントは WWWサーバ 52にアクセスすると、 そこから曲情 報や URLを受信して解析し、 その URLの音楽酉己信サイト 56から音楽データ を受信する。
以上のように、 コンテンツサーバが LAN 12上に存在しない場合又は存在し ても稼動していない場合は、 オーディオクライアントはインターネット 52上の サイト 56に自動的にアクセスして音楽データを取得するので、 LAN12上の コンテンツサーバを永久に探索し続けることはない。
上記の例では、 リ トライ回数が所定回数に達したとき、 オーディオクライアン トはインターネット 52上の WWWサーバ 54に接続するようにしているが、 こ れに代えて、 オーディオクライアントがマジックヮードをブロードキャストして 所定時間が経過したにもかかわらず、 LAN12上のいずれのコンテンツサーバ からも応答がない場合にインターネット 52上の WWWサーバ 54に接続するよ うにしてもよい。
2. 3. 取得データ長変更機能付き再生
上記実施の形態では、 オーディオクライアント C jがコンテンツサーバ S iに 曲データの転送を要求するとき、 常に一定量の曲データを要求している。 したが つて、 コンテンツサーバ S iに曲データの転送を要求するオーディオクライアン ト C jの数が少ない場合は問題ないが、 この数が多くなると、 コンテンツサーバ S iにかかる負荷が大きくなり、 オーディオクライアント C jがコンテンツサー パ S iに曲データの転送を要求してから実際に曲データが転送されるまでの時間 が長くなるという問題が生じる。 そこで、 このコンテンツサーバ S iにかかる負 荷が均等になるように、 オーディオクライアント C jが 1回に要求する曲データ の量をその都度変更するようにしてもよい。
以下、 オーディオクライアント C jがコンテンツサーバ S iに曲データの転送 を要求してから実際に曲データが転送されるまでの時間に応じて、 オーディオク ライアント C jが 1回に要求する曲データの量を変更する例を説明する。
H1 1 0 9を参照して、 オーディオクライアント C jは、 コンテンツサーバ S i に曲データの転送を要求する曲データ転送コマンドを送信する (S 1 6 0 1 ) と 同時に、 タイマを動作させ、 コンテンツサーバ S iから曲データが転送されるま での応答時間のカウントを開始する (S 1 6 0 1 1 ) 。 なお、 最初にオーディオ クライアント C jが曲データ転送コマンドを発行するときには、 1回に要求すベ き適切な曲データの量は不明であるから、 取得データ長は予め定められたものに なる。
続いて、 オーディオクライアント C jは曲データを受信し始めると (S 1 6 0 1 2 ) 、 タイマを停止し、 コンテンツサーバ S iによる曲データの応答時間を取 得する (S 1 6 0 1 3 ) 。
オーディ才クライアント C jは、 図 1 1 0に示した対比テーブルを参照し、 取 得した応答時間に対応する取得データ長を決定する (S 1 6 0 2 1 ) 。 この対比 テーブルには、 所定の応答時間と所定の取得データ長とが対応つけられている。 ここでは、 応答時間が長いほどコンテンツサーバ S iにかかる負荷は大きいから、 応答時間が長いほど取得データ長が短くなるように設定されている。 たとえばォ 一ディオクライアント C jが 2 0 m s e cの応答時間を取得した場合は、 取得デ 一タ長を 8 kバイトと決定する。
オーディオクライアント C jは再ぴ曲データの転送をコンテンツサーバ S iに 要求するが、 ここでは上記で決定した取得データ長を送信する (S 1 6 0 5 )。 以降、 上記と同様の動作を繰り返す (S 1 6 0 5 1〜S 1 6 0 6 1 )。
以上のようにこの実施の形態によれば、 オーディオクライアント C jがコンテ ンッサーバ S iに要求する曲データの取得データ長を応答時間が長くなるにつれ て短くしているため、 コンテンツサーバ S iに曲データの転送を要求するオーデ ィォクライアント C ] 'の数が増えても、 コンテンツサーバ S iがオーディオクラ イアント C jに 1回に転送する曲データの量は少なくなる。 その結果、 各オーデ ィォクライアント C jに対するコンテンツサーバ S iの負荷は平均化され、 コン テンッサーバ S iは複数のオーディオクライアント C jに円滑に曲データを転送 することができる。
上記の例では、 コンテンツサーバの応答時間に応じて取得データ長を決定して いるが、 これに代えて、 取得しょうとする曲のデータフォーマットに応じて取得 データ長を決定するようにしてもよい。 すなわち、 図 3 5において、 曲データ転 送要求 (S 1 6 0 1 ) 前に、 図 3 2に示す検索データに基づいて、 曲の音声フォ 一マットを取得する。 そして、 曲の音声フォーマットに基づいて、 取得データ長 を設定する。 一般に M P 3形式のデータは圧縮されているためにサイズが小さい のに対し、 WA V形式のデータはサイズが大きい。 そこで、 取得しょうとする曲 のデータフォーマットが M P 3の場合には、 1回にたとえば 4 Kパイトのデータ を取得し、 WA Vの場合には、 1回にたとえば 1 6 Kバイトのデータを取得する ようにしてもよい。
2 . 4 . スキップ再生
上記実施の形態では、 オーディオクライアント C jは曲リストの順序にしたが つてコンテンツサーバ S iに曲データの転送を要求している。 しかしながら、 ュ 一ザが現在再生中の曲をはじめから聴きなおしたい場合がある。 また、 ユーザが 現在再生中の曲をスキップして、 他の曲を聴きたい場合もある。 そこで、 オーデ ィォクライアント C jがこのようなユーザの要求に対応して曲データ転送の要求 をできるようにしてもよい。
図 1 1 1を参照して、 オーディオクライアント C jが図 1 1 2に示した曲リス ト中の曲 3の再生を行っている場合、 オーディオクライアント C jは曲 3の音楽 データのうち指定範囲の音楽データの転送をコンテンツサーバ S iに要求し (S 1 6 0 7 ) 、 コンテンツサーバ S iはこの要求に応じて指定範囲の音楽データを オーディオクライアント C jに返信し (S 2 6 0 4 ) 、 オーディオクライアント C jはこれを受信し、 メモリ 3 2に格納する (S 1 6 0 8 ) 。 この動作の繰り返 しにより曲 3は再生される。
曲 3の再生中に、 ユーザが曲 3の再生を終了して、 曲 4を聴こうとした場合 (図 1 1 2における①のケース) 、 ユーザはオーディオクライアント C jに曲 4 へのスキップ要求を行う。 オーディオクライアント C jはユーザからのスキップ 要求を受け (S 1 6 4 0 ) 、 メモリ 3 2に格納された曲リスト内容を確認し、 曲 4のファイル名を敢得する (S 1 6 4 1 ) 。 ユーザからのスキップ要求がない場 合は、 ステップ S 1 6 0 7に戻って曲 3のデータ転送の要求を行う。
以降のオーディオクライアント C jおよびコンテンツサーバ S iの動作につい ては図 3 5での動作と同じであるため、 その説明は繰り返さない。
以上の動作により、 オーディオクライアント C jは曲 3の再生中に曲 4ヘスキ ップ再生できる。
なお、 オーディオクライアント C jが曲 3を再生中において、 ユーザが曲 3を 初めから再ぴ聴こうとする場合 (図 1 1 2における②ケース) 、 ユーザが曲 5を 聴こうとする場合 (図 1 1 2における③ケース) 、 ユーザが曲 2を聴こうとする 場合 (図 1 1 2における④ケース) 等についても同様の動作により、 オーディオ クライアント C jはスキップ再生できる。
以上のようにこの実施の形態によれば、 オーディオクライアント C jはメモリ 内に格納された曲リストを用いることで、 現在再生中の曲から他の曲へスキップ 再生できる。
2 . 5 . リピート再生
また、 ユーザが指定する第 1アドレスと第 2アドレスとの間で、 データを繰り 返して再生する A— B間リピート再生を行うことができる。 まず、 ユーザは 1回 目の A— B 間リピート操作を行い、 繰り返しの始まりを示す第 1アドレスを指定 する。 すなわち、 図 1 1 3を参照して、 オーディオクライアントは、 曲データの 転送要求 (および曲データの取得) の際に (S 1 6 0 1 ) 、 ユーザからの操作が あって (S 1 6 4 2 ) 、 ユーザからの操作が A— B間リピート要求であって (S 1643) 、 1回目の要求であるので (SI 644) 、 ユーザが指定したァドレ スを第 1アドレス (a d d r l) として記憶する。 そして、 前回の取得開始アド レス (a d d r) に取得データ長 (s i ze) を加算して取得開始アドレス (a d d r) を算出し (S 1646) 、 SI 601へと戻る。
次に、 ユーザは 2回目の A— B 閬リピート操作を行い、 繰り返しの終わりを示 す第 2アドレスを指定し、 リピート動作を開始させる。 すなわち、 S1 644に おいて、 ユーザからの A— B 間リピート要求が 2回目の要求である (1回目の要 求ではない) ので、 ユーザが指定したアドレスを第 2アドレス (a d d r 2) と して記憶する (S 1647) 。
そして、 オ^"ディオクライアントは、 A— B間リピートモードに入る (S164
8) 。 すなわち、 取得開始アドレスを第 1アドレスに変更し (S1649) 、 曲デ ータ転送要求 (および曲データ取得) を行う (S1 601) 。 ここで、 オーディ 才クライアントは、 A— B 間リピート状態であると判断し (S1650) 、 取得開 始アドレス (=前回の取得開始アドレス +取得データ長) が第 2アドレスより大 きくなるか否かを判別する (S 1 651 ) 。 取得開始ァドレスが未だ第 2ァドレ ス以下であれば、 曲データ転送要求を続ける (S1646および S1601) 。 そして、 S1 651において、 取得開始アドレスが第 2アドレスより大きくなる 場合には、 取得開始アドレスを再び第 1アドレスに変更し (S 1652) 、 曲デ ータ転送要求を行う (S 1601) 。 従って、 第 1アドレスと第 2アドレスとの 間でリピート再生を行うことができる。 また、 ユーザはリピート解除操作を行う ことにより、 リピート状態を解除することができる (S 1643、 S 1653お ょぴ S 1 654) 。
2. 6. 途中再生
また、 取得開始アドレスをユーザが指定する (例えば、 開始時間を入力する) ことにより、 指定アドレスからの曲の再生を行うことができる。 すなわち、 図 1 14を参照して、 例えば曲データの転送要求 (および曲データの取得) の際に (S 1601) 、 ユーザからの操作があって (S 1656) 、 アドレスの指定で ある場合には (S 1657) 、 オーディオクライアントはユーザから指定のあつ たアドレスを取得する (S 1658) 。 例えば、 曲の総再生時間とユーザが入力 した開始時間からアドレスを算出する。 そして、 取得開始アドレスをユーザから 指定のあったアドレスに変更して (S 1 6 5 9 ) 、 曲データ転送要求 (および曲 データ取得) を行う (S 1 6 0 1 ) 。 従って、 ユーザが指定するアドレスからの 曲の再生行うことができる。 さらに、 ユーザがアドレスを指定することができる のは、 オーディオクライアントが再生状態のときに限らず、 例えば、 停止状態や 一時停止状態のときであってもよい。
2 . 7 . 自動接続回復機能付きクライアント
ネットワークオーディオシステムでは、 上述したように、 オーディオクライア ントがコンテンツサーバに接続され、 コンテンツサーバから配信された音楽を再 生しているが、 配信中にコンテンツサーバの異常によりオーディオクライアント がコンテンツサーバから切り離された場合、 オーディオクライアントはコンテン ッサーバに再び接続されなければ音楽を再生することができない。 入力装置を有 する通常のオーディオクライアントの場合、 その入力装置を操作することにより そのオーディオクライアントに図 5に示したようにコンテンツサーバとの接続処 理を再び実行させればよい。 しかし、 上述したコンセント内蔵型オーディオクラ イアントの場合、 入力装置を備えていないため、 一旦コンテンツサーバから切り 離されるとそのまま放置されてしまう。 したがって、 オーディオクライアントは 以下のような自動接続回復機能を備えているのが望ましい。
図 1 1 5を参照して、 オーディオクライアント C jはコンテンツサーバ S iと 接続してから所定期間が経過したか否かを判断する (S 1 1 0 ) 。 所定期間経過 後、 オーディオクライアント C jはコンテンツサーバ S iとの接続が維持されて いるか否かを判断する (S i l l , S 1 1 2 ) 。 具体的には、 オーディオクライ アント C jは接続確認コマンドをコンテンツサーバ S iに送信する (S 1 1 1 ) 。 コンテンツサーバ S iからオーディオクライアント C jに接続確認コマンドに対 する返答がある場合 ( S 1 1 2 ) 、 接続は維持されていると判断される。 一方、 返答がない場合や送信エラーが起きる場合 ( S 1 1 2 ) 、 接続は切断されている と判断される。 返答方法としては、 たとえばコンテンツサーバ S iが送信された 接続確認コマンドと同じコマンドを返信する方法がある。
ステップ S I 1 2で返答があった場合、 オーディオクライアント C jは再び S 1 10に戻って所定期間経過後に接続が維持されているか否かを判断する (S 1 10〜S 112) 。 これにより、 オーディオクライアント C jは所定期間ごとに コンテンツサーバ S iとの接続状態をチヱックする。 接続が切断されている場合、 オーディオクライアント C jは同じコンテンツサーバ S iに対して再接続を試み る (S 12) 。
再接続を試みた結果、 コンテンツサーバ s iとの接続に成功した場合 (si 1
3) 、 オーディオクライアント C jは切断直前のクライアントステータスをコン テンッサーバ S iに送信する (S 13) 。 クライアントステータスは例えば、 「再生」 、 「停止」、 「ポーズ」 等の再生状態や、 音量情報、 リスト構築キーなど を含む。 よって、 オーディオクライアント C jはコンテンツサーバ S iとの接続 状態をもとどおりに回復できる。 その結果、 ユーザはオーディオクライアント C jがコンテンツサーバ S iと接続し直したことを意識せずにオーディオクライァ ント C jを利用できる。
一方、 再接続を試みた結果、 コンテンツサーバ S i との接続に失敗した場合 (S 1 13) 、 オーディオクライアント C jは同じコンテンツサーバ S iとの接 続回復を断念し、 他のコンテンツサーバ S iとの接続処理を実行する (S 11〜 S 13) 。 具体的には、 オーディオクライアント C jはブロードキャストにより 接続可能なコンテンツサーバ S iを探索し (S 1 1) 、 探索したコンテンツサー バ S iに対して接続を行う (S 12) 。 接続後、 オーディオクライアント C ま 切断直前のクライアントステータスをコンテンツサーバ S iに送信する (S 1 3) 。
オーディオクライアント C jは、 図 1 15に示した接続回復プログラムをイン ストールすることにより、 上述した自動接続回復機能を備える。
以上の動作により、 オーディオクライアント C jから所定期間ごとに接続状態 を確認し、 切断されていればオーディオクライアント C j 自身が再接続を実行す る。 そのため、 コンテンツサーバ S iの異常により接続が切断されても、 オーデ ィォクライアント C jがコンテンツサーバ s iから切断されたまま放置されるこ とはない。 また、 接続していたコンテンツサーバ S iの異常によりそのコンテン ッサーバ S iと再接続ができない場合でも、 オーディオクライアント C jは他の コンテンツサーバ S i と接続する。 その結果、 ユーザは常にコントローラ A kを 用いてオーディオクライアント C jを制御することができる。
また、 オーディオクライアント C jは接続先のコンテンツサーバ S iに切断直 前のクライアントステータスを送信しているため、 オーディオクライアント C j は他のコンテンツサーバ S iに接続されても切断直前と同じ状態にできる。 その 結果、 ユーザはオーディオクライアント C jがコンテンツサーバ S iと切断され たことを意識することなく、 オーディオクライアント C jを利用できる。
本実施の形態では、 オーディオクライアント C jが自動接続回復機能を備えて いるが、 コントローラ A kが自動接続回復機能を備えていてもよレ、。 また、 音楽 再生機能及び制御機能を併有する能動的なクライアントよりはむしろ、 音楽再生 機能だけを有する受動的なクライアントが自動接続回復機能を備えているのが好 ましい。 制御機能を有さない受動的なオーディオクライアント C jは自らコンテ ンッサーバ S iにコマンドを送信することがないため、 ー且コンテンツサーバ S iとの接続が切断されるとそのまま放置されてしまレ、、 ユーザがそのオーディオ クライアント C jを再起動しない限りコンテンツサーバ S iとの接続を回復でき ないからである。
上述した全ての実施の形態における各ステップは、 コンピュータに実行させる ための動作プログラムを形成する。 よって、 この動作プログラムを、 コンテンツ サーバ S i、 オーディオクライアント、 コントローラ、 及ぴ AV Rクライアント にインストールすることにより、 ネットワーク型オーディオシステムを構築する ことができる。 また、 この動作プログラムは、 そのままインターネットなどの電 気通信回線を通じて配信されてもよいが、 C D _ R OM、 D VD— R OMなどの コンピュータ読み取り可能な記憶媒体に格納されて配布されてもよい。
以上、 本発明の実施の形態を説明したが、 上述した実施の形態は本発明を実施 するための例示に過ぎない。 よって、 本発明は上述した実施の形態に限定される ことなく、 その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実 施することが可能である。

Claims

請求の範囲
1 . サーバと、 前記サーバに接続された少なくとも 1つの第 1のクライアントと を備えたネットワーク型コンテンツ再生システムであって、
前記サーバは、
複数のコンテンツを蓄積する蓄積手段を含み、
前記第 1のクライアントは、
前記複数のコンテンツの中から選択されたコンテンツを前記サーバに要求する コンテンッ要求手段を含み、
前記サーバはさらに、
前記第 1のクライアントからの要求に応じて前記選択されたコンテンツを前記 第 1のクライアントに返信するコンテンッ返信手段を含み、
前記第 1のクライアントはさらに、
前記サーバから返信されたコンテンツを再生する再生手段を含むことを特徴と するネットワーク型コンテンツ再生システム。
2 . 請求項 1に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
複数のコンテンツを列挙したコンテンツリストを前記サーバに要求するコンテ ンッリスト要求手段を含み、
前記サーバはさらに、
前記第 1のクライアントからの要求に応じて前記コンテンツリストを返信する コンテンツリスト返信手段を含み、
前記第 1のクライアントはさらに、
前記サーバから返信されたコンテンツリストを受信するコンテンツリスト受信 手段を含み、
前記コンテンツ要求手段は、 前記要求すべきコンテンッを前記コンテンッリス トの中から選択することを特徴とするネットワーク型コンテンツ再生システム。
3 . 請求項 2に記載のネットワーク型コンテンツ再生システムであって、 前記コンテンツリスト要求手段は、 指定量のコンテンツリストを前記サーバに 要求し、
前記コンテンツリスト返信手段は、 前記第 1のクライアントからの要求に応じ て前記指定量のコンテンツリストを返信することを特徴とするネットワーク型コ ンテンッ再生システム。
4 . 請求項 3に記載のネットワーク型コンテンツ再生システムであって、 前記コンテンツリスト要求手段は、 前記第 1のクライアントが前記サーバから 取得しょうとする最初のコンテンツを示す取得開始ィンデッタスと、 前記第 1の クライアントが前記サーバから取得しようとするコンテンツの数を示す取得個数 とを含むリスト要求コマンドを送信し、
前記コンテンツリスト返信手段は、 前記リスト要求コマンドに応答して、 前記 取得開始ィンデックスが示す最初のコンテンッから前記取得個数分のコンテンツ を含むコンテンツリストを返信することを特徴とするネットワーク型コンテンツ 再生システム。
5 . 請求項 4に記載のネットワーク型コンテンツ再生システムであって、 前記コンテンツリスト返信手段はさらに、 前記返信するコンテンツリストに含 まれるコンテンツ数と、 前記返信するコンテンツリスト以降の残りのコンテンツ 数とを返信することを特徴とするネットワーク型コンテンツ再生システム。
6 . 請求項 2〜請求項 5のいずれか 1項に記載のネットワーク型コンテンツ再生 システムであって、
前記第 1のクライアントはさらに、
複数のカテゴリを列挙したカテゴリリストを前記サーバに要求するカテゴリリ スト要求手段を含み、
前記サーバはさらに、
前記第 1のクライアントからの要求に応じて前記カテゴリリストを返信する手 段を含み、
前記第 1のクライアントはさらに、
前記サーバから返信されたカテゴリ リストを受信する手段を含み、
前記コンテンツリスト要求手段は、 要求しようとするコンテンツリストのコン テンッが属するカテゴリを前記受信されたカテゴリリストの中から選択すること を特徴とするネッ トワーク型コンテンツ再生システム。
7 . 請求項 2〜請求項 6のいずれか 1項に記載のネットワーク型コンテンツ再生 システムであって、
前記コンテンツリスト要求手段は、 前記コンテンツリストを作成するために必 要なリスト構築キーを前記サーバに送信し、
前記コンテンツリスト返信手段は、 前記第 1のクライアントから送信されたリ スト構築キーに基づいて前記コンテンツリストを作成することを特徴とするネッ トワーク型コンテンツ再生システム。
8 . 請求項 1〜請求項 7のいずれか 1項に記載のネットワーク型コンテンツ再生 システムであって、
前記コンテンツ要求手段は、 予め定められた量のコンテンッを前記サーバに要 求し、
前記コンテンツ返信手段は、 前記第 1のクライアントからの要求に応じて前記 予め定められた量のコンテンツを返信し、
前記コンテンツ要求手段は、 前記コンテンツの全部を取得するまで前記コンテ ンッの要求を繰り返すことを特徴とするネットワーク型コンテンツ再生システム。
9 . 請求項 8に記載のネットワーク型コンテンツ再生システムであって、
前記第 1のクライアントはさらに、
前記サーバから返信されたコンテンツを蓄積するバッファメモリを備え、 前記コンテンツ要求手段は、 前記バッファメモリに所定量の空きが生じたとき 前記予め定められた量のコンテンツを前記サーバに要求することを特徴とするネ ットワーク型コンテンツ再生システム。
1 0 . 請求項 8又は請求項 9に記載のネットワーク型コンテンツ再生システムで あって、
前記コンテンツ要求手段は、 前記予め定められた量のコンテンツの最初のアド レスを示す取得開始アドレスを算出し、 当該取得開始アドレスと、 前記第 1のク ライアントが前記サーバから取得しょうとするコンテンツの長さを示す取得デー タ長とを含むコンテンツ転送要求コマンドを送信し、
前記コンテンツ返信手段は、 前記コンテンツ転送要求コマンドに応答して、 前 記取得開始ァドレスから前記取得データ長分のコンテンッを返信することを特徴 とするネットワーク型コンテンツ再生システム。
1 1 . 請求項 1 0に記載のネットワーク型コンテンツ再生システムであって、 前記コンテンツ要求手段は、 前記取得データ長を前の取得開始ァドレスに加算 して次の取得開始ァドレスを算出することを特徴とするネットワーク型コンテン ッ再生システム。 ,
1 2 . 請求項 1 1に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
ユーザの操作に応じて第 1及ぴ第 2のアドレスを設定する手段と、
前記算出された取得開始アドレスが前記第 2のアドレスを超えたとき、 前記取 得開始ァドレスを前記第 1のアドレスに設定する手段とを含むことを特徴とする ネットワーク型コンテンツ再生システム。
1 3 . 請求項 1 1に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
ユーザの操作に応じて所望のァドレスを設定する手段と、
前記取得開始ァドレスを前記所望のァドレスに設定する手段とを含むことを特 徴とするネットワーク型コンテンツ再生システム。
1 4 . 請求項 1 0又は請求項 1 1に記載のネットワーク型コンテンツ再生システ ムであって、
前記第 1のクライアントはさらに、
ユーザの操作に応じて所定のスキップ量を設定する手段と、
前記取得開始ァドレスを前記設定されたスキップ量だけシフトする手段とを含 むことを特徴とするネットワーク型コンテンツ再生システム。
1 5 . 請求項 8〜請求項 1 4のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記第 1のクライアントはさらに、
前記選択されたコンテンツの識別情報を前記サーバに送信する手段を含み、 前記サーバはさらに、
前記第 1のクライアントから送信された識別情報に応答して前記選択されたコ ンテンッのオフセットを前記第 1のクライアントに返信する手段を含み、 前記第 1のクライアントはさらに、
前記サーバから返信されたオフセッ トに基づいて前記選択されたコンテンツの 始まりを検知する手段を含むことを特徴とするネットワーク型コンテンツ再生シ ステム。
1 6 . 請求項 8〜請求項 1 5のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記第 1のクライアントはさらに、
前記選択されたコンテンツの識別情報を前記サーバに送信する手段を含み、 前記サーバはさらに、
前記第 1のクライアントから送信された識別情報に応答して前記選択されたコ ンテンッのサイズを前記第 1のクライアントに返信する手段を含み、
前記第 1のクライアントはさらに、
前記サーバから返信されたサイズに基づいて前記選択されたコンテンツの終わ りを検知する手段を含むことを特徴とするネットワーク型コンテンツ再生システ ム。
1 7 . 請求項 1〜請求項 7のいずれか 1項に記載のネットワーク型コンテンツ再 生システムであって、
前記コンテンツ要求手段は、 要求するコンテンツの最初のァドレスを示す取得 開始アドレスを算出して前記サーバに送信し、
前記コンテンッ返信手段は、 前記第 1のクライアントから送信された取得開始 ァドレスからコンテンッを返信することを特徴とするネットワーク型コンテンツ 再生システム。
1 8 . 請求項 1〜請求項 7のいずれか 1項に記載のネットワーク型コンテンツ再 生システムであって、
前記コンテンッ要求手段は、 指定量のコンテンッを前記サーバに要求し、 前曾己コンテンツ返信手段は、 前記第 1のクライアントからの要求に応じて前記 指定量のコンテンツを返信し、
前記コンテンツ要求手段は、 前記サーバに要求するコンテンッの指定量を変化 させることを特徴とするネットワーク型コンテンツ再生システム。
1 9 . 請求項 1 8に記載のネットワーク型コンテンツ再生システムであって、 前記コンテンツ要求手段は、 前記サーバにコンテンツを要求してから前記サー パから前記要求したコンテンッが転送されるまでの時間に応じて、 前記サーバに 要求するコンテンツの指定量を変化させることを特徴とするネットワーク型コン テンッ再生システム。
2 0 . 請求項 1 8に記載のネットワーク型コンテンツ再生システムであって、 前記コンテンツ要求手段は、 前記サーバに要求するコンテンツのデータフォー マツトに応じて、 前記サーバに要求するコンテンツの指定量を変化させることを 特徴とするネットワーク型コンテンツ再生システム。
2 1 . 請求項 1〜請求項 2 0のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記第 1のクライアントはさらに、
自身に関するクライアント情報が変化するたびにそのクライアント情報を前記 サーバに送信する手段を含むことを特徴とするネットワーク型コンテンツ再生シ ステム。
2 2 . 請求項 1〜請求項 2 1に記載のネットワーク型コンテンツ再生システムで あってさらに、
前記サーバに接続され、 前記第 1のクライアントを監視する第 2のクライアン トを備えることを特徵とするネットワーク型コンテンツ再生システム。
2 3 . 請求項 2 2に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
自身に関するクライアント情報を前記サーバに送信する手段を含み、 前記サーバは、
前記第 1のクライアントから送信されたクライアント情報を受信する手段と、 前記受信したクライアント情報を前記第 2のクライアントに送信する手段とを 含み、
前記第 2のクライアントは、
前記サーバから送信されたクライアント情報を受信する手段を含むことを特徴 とするネットワーク型コンテンツ再生システム。
2 4 . 請求項 2 3に記載のネットワーク型コンテンツ再生システムであって、 前記サーバは、 前記第 2のクライアントに要求を強制的に送信するためのプッ シュポートを通じて、 前記クライアント情報を前記第 2のクライアントに送信す ることを特徴とするネットワーク型コンテンツ再生システム。
2 5 . 請求項 2 3又は請求項 2 4に記載のネットワーク型コンテンツ再生システ ムであって、
前記第 2のクライアントはさらに、
前記受信したクライアント情報を表示する手段と、
前記受信したクライアント情報が変更されているとき、 そのクライアント情報 の表示を変更する手段とを含むことを特徴とするネットワーク型コンテンツ再生 システム。
2 6 . 請求項 2 3〜請求項 2 5のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントはさらに、
複数のコンテンツを列挙したコンテンツリストを前記サーバに要求するコンテ ンッリスト要求手段を含み、
前記サーバはさらに、
前記第 2のクライアントからの要求に応じて前記コンテンツリストを返信する コンテンツリスト返信手段を含み、
前記第 2のクライアントはさらに、
前記サーバから返信されたコンテンツリス トを受信するコンテンツリスト受信 手段を含むことを特徴とするネットワーク型コンテンツ再生システム。
2 7 . 請求項 2 6に記載のネットワーク型コンテンツ再生システムであって、 前記クライアント情報は前記コンテンツリストを作成するために必要なリスト 構築キーを含み、
前記コンテンツリスト要求手段は、 前記受信されたクライアント情報に含まれ るリスト構築キーが変更されているとき、 そのリスト構築キーを前記サーバに送 信し、 前記コンテンツリスト返信手段は、 前記第 2のクライアントから送信されたリ スト構築キーに基づ 、て前記コンテンッリストを作成することを特徴とするネッ トワーク型コンテンツ再生システム。
2 8 . 請求項 2 3〜請求項 2 7のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントは、 前記サーバに接続されたとき、 前記サーバから送 信されたクライアント情報を受信することを特徴とするネットワーク型コンテン ッ再生システム。
2 9 . 請求項 2 8に記載のネットワーク型コンテンツ再生システムであって、 前記クライアント情報は前記コンテンツリストを作成するために必要なリスト 構築キーを含み、
前記コンテンツリスト要求手段は、 前記受信されたクライアント情報に含まれ るリスト構築キーを前記サーバに送信し、
前記コンテンツリスト返信手段は、 前記第 2のクライアントから送信されたリ スト構築キーに基づいて前記コンテンツリストを作成することを特徴とするネッ トワーク型コンテンツ再生システム。
3 0 . 請求項 2 3〜請求項 2 9のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記クライアント情報は、 前記第 1のクライアントにより再生可能なコンテン ッのデータフォーマツトの名称を含み、
前記第 2のクライアントは、
前記受信されたクライアント情報に基づいて前記データフォーマツトの名称を 表示する手段を含むことを特徴とするネットワーク型コンテンツ再生システム。 3 1 . 請求項 3 0に記載のネットワーク型コンテンツ再生システムであって、 前記第 2のクライアントはさらに、
複数のコンテンツを列挙したコンテンツリストを前記サーバから取得する手段 と、
前記取得したコンテンツリストに含まれるコンテンツのうち、 前記第 1のクラ イアントにより再生可能なコンテンッを表示し、 前記第 1のクライアントにより 再生不可能なコンテンツを表示しないか又は前記再生可能なコンテンツと異なる 態様で表示する手段とを含むことを特徴とするネットワーク型コンテンツ再生シ ステム。
3 2 . 請求項 2 2〜請求項 3 1のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントは、
監視しょうとするクライアントが前記第 1のクライアントかを判別する手段を 含むことを特徴とするネットワーク型コンテンッ再生システム。
3 3 . 請求項 2 2〜請求項 3 2のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントは、
前記第 1のクライアントを監視するために必要な監視ハンドルを取得する手段 と、
前記監視ハンドルを取得したとき前記第 1のクライアントを監視する手段とを 含むことを特徴とするネットワーク型コンテンツ再生システム。
3 4 . 請求項 3 3に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
自身に関するクライアント情報を前記サーバに送信する手段を含み、 前記サーバは、
前記第 1のクライアントから送信されたクライアント情報を受信する手段と、 前記第 2のクライアントが前記監視ハンドルを取得しているか否かを判別する 手段と、
前記判別の結果、 前記第 2のクライアントが前記監視ハンドルを取得している とき、 前記受信したクライアント情報を前記第 2のクライアントに送信する手段 とを含み、
前記第 2のクライアントは、
前記サーバから送信されたクライアント情報を受信する手段を含むことを特徴 とするネットワーク型コンテンツ再生システム。
3 5 . 請求項 2 2〜請求項 3 4のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントはさらに、 前記第 1のクライアントを制御することを 特徴とするネットワーク型コンテンツ再生システム。
3 6 . 請求項 1〜請求項 2 1のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであってさらに、
前記サーバに接続され、 前記第 1のクライアントを制御する第 2のクライアン トを備えることを特徴とするネットワーク型コンテンツ再生システム。
3 7 . 請求項 3 6に記載のネットワーク型コンテンツ再生システムであって、 前記第 2のクライアントは、
前記第 1のクライアントを制御するように前記サーバに要求するサーバリクェ スト手段を含み、
前記サーバはさらに、
前記第 2のクライアントからの要求に応じて前記第 1のクライアントを制御す る手段を含むことを特徴とするネットワーク型コンテンッ再生システム。
3 8 . 請求項 3 6又は請求項 3 7に記載のネットワーク型コンテンツ再生システ ムであって、
前記サーバは、 前記第 1のクライアントに要求を強制的に送信するためのプッ シュポートを通じて前記第 1のクライアントを制御することを特徴とするネット ワーク型コンテンツ再生システム。
3 9 . 請求項 3 7に記載のネットワーク型コンテンツ再生システムであって、 前記サーバリクエスト手段は、 前記第 1のクライアントを特定するための情報 と、 前記選択されたコンテンツを特定するための情報とを前記サーバに送信する ことを特徴とするネットワーク型コンテンツ再生システム。
4 0 . 請求項 3 6〜請求項 3 9のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントは、
制御しょうとするクライアントが前記第 1のクライアントかを判別する手段を 含むことを特徴とするネットワーク型コンテンツ再生システム。
4 1 . 請求項 3 6〜請求項 4 0のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントは、
前記選択されたコンテンツのデータフォーマツトが前記第 1のクライアントに より再生可能なコンテンツのデータフォーマットに一致するか否かを判別する手 段と、
前記データフォーマツトが一致する場合、 前記選択されたコンテンツに基づい て前記コンテンツを再生するように前記第 1のクライアントに命令する手段とを 含むことを特徴とするネットワーク型コンテンツ再生システム。
4 2 . 請求項 3 6〜請求項 4 1のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントは、
前記第 1のクライアントを制御するために必要な制御ハンドルを取得する手段 と、
前記制御ハンドルを取得したとき前記第 1のクライアントを制御する手段とを 含むことを特徴とするネットワーク型コンテンツ再生システム。
4 3 . 請求項 4 2に記載のネットワーク型コンテンツ再生システムであって、 前記第 2のクライアントはさらに、
前記第 1のクライアントに対してサーバリクエストを発行するよう前記サーバ に要求する手段を含み、
前記サーバは、
前記第 2のクライアントが前記サーバリクエストを発行するよう要求したとき、 前記第 2のクライアントが前記制御ハンドルを取得しているか否かを判別する手 段と、
前記判別の結果、 前記第 2のクライアントが前記制御ハンドルを取得している とき、 前記サーバリクエストを前記第 1のクライアントに送信する手段とを含む ことを特徴とするネットワーク型コンテンツ再生システム。
4 4 . 請求項 3 6〜請求項 4 3のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 1のクライアントはさらに、 前記第 2のクライアントにより命令されたコンテンツを再生し終えた場合、 完 了ステータスを前記サーバに送信し、 自らが選択したコンテンツを再生し終えた 場合、 又はユーザの操作に応じてコンテンツの途中で再生を終えた場合、 前記完 了ステータスと異なる停止ステータスを前記サーバに送信する手段を含むことを 特徴とするネットワーク型コンテンツ再生システム。
4 5 . 請求項 3 6〜請求項 4 4のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記サーバは、
前記第 1のクライアントから送信された完了ステータスを受信し、 前記第 2の クライアントに送信する手段を含み、
前記第 2のクライアントは、
前記サーバから送信された完了ステータスに応答して、 前記再生し終えたコン テンッの次のコンテンツを再生するように前記第 1のクライアントに命令する手 段を含むことを特徴とするネットワーク型コンテンツ再生システム。
4 6 . 請求項 3 6〜請求項 4 5のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 2のクライアントはさらに、 前記第 1のクライアントを監視することを 特徴とするネットワーク型コンテンツ再生システム。
4 7 . 請求項 1〜請求項 4 6のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記第 1のクライアントはさらに、
所定情報をブロードキャストするブロードキャスト手段を含み、
前記サーバは、
前記第 1のクライアントからブロードキャストされた所定情報に応答して、 自 身を特定するためのサーバ特定情報を前記第 1のクライアントに返信する手段を 含み、
前記第 1のクライアントは、
前記サーバから返信されたサーバ特定情報を受信してサーバリストに登録する 手段とを含むことを特徴とするネットワーク型コンテンツ再生システム。
4 8 . 請求項 4 7に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
前記サーバリストに前記サーバ特定情報が登録されているか否かを判別する手 段を含み、
前記判別の結果、 前記サーバリストに前記サーバ特定情報が登録されていない 場合、 前記ブロードキャスト手段は前記所定情報を再ぴプロードキャストするこ とを特徴とするネットワーク型コンテンツ再生システム。
4 9 . 請求項 4 8に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
前記ブロードキャスト手段によるブロードキャストの回数が所定回数に達した とき、 又は前記ブロードキャスト手段によるブロードキャストの時間が所定時間 に達したとき、 インターネット上のサーバにアクセスする手段を含むことを特徴 とするネットワーク型コンテンツ再生システム。
5 0 . 請求項 1〜請求項 4 9のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記第 1のクライアントはさらに、
前記サーバと前記第 1のクライアントとの間でコマンドを送受信するためのコ マンドポートで接続を確立する手段と、
前記サーバから前記第 1のクライアントに要求を強制的に送信するためのプッ シュポートで接続を確立する手段とを含むことを特徴とするネットワーク型コン テンッ再生システム。
5 1 . 請求項 5 0に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアン卜はさらに、
自身を識別するために必要なクライアントインデックスを要求するクライアン トインデックス要求コマンドを前記コマンドポートを通じて前記サーバに送信す る手段を含み、
前記サーバはさらに、
前記第 1のクライアントから送信されたクライアントインデックス要求コマン ドに応答して前記クライアントインデックスを前記クライアントに返信する手段 を含み、
前記第 1のクライアントはさらに、
前記サーバから返信されたクライアントインデックスを前記プッシュポートを 通じて前記サーバに送信する手段を含むことを特徴とするネットワーク型コンテ ンッ再生システム。
5 2 . 請求項 5 0又は請求項 5 1に記載のネットワーク型コンテンツ再生システ ムであって、
前記第 1のクライアントは複数あり、
前記サーバは、
接続可能なクライアントの数を制限する接続制限手段を含むことを特徴とする ネットワーク型コンテンツ再生システム。
5 3 . 請求項 5 2に記載のネットワーク型コンテンツ再生システムであって、 前記接続制限手段は、 未接続の第 1のクライアントが接続を試みてきたとき、 所定の優先順位に従って既接続の第 1のクライアントとの接続を断つことを特徴 とするネットワーク型コンテンツ再生システム。
5 4. サーバと、
前記サーバに接続された第 1のクライアントと、
前記第 1のクライアントに接続された A V機器と、
前記サーバに接続され、 前記 AV機器を制御する第 2のクライアントとを備え、 前記第 2のクライアントは、
前記 A V機器を制御するための制御コマンドを前記サーバに送信する手段を含 み、
前記サーバは、
前記第 2のクライアントから送信された制御コマンドを前記第 1のクライアン トに送信する手段を含み、
前記第 1のクライアントは
前記サーバから送信された制御コマンドを前記 A V機器に送信する手段を含み、 前記 A V機器は、 前記第 1のクライアントから送信された制御コマンドに応答 して制御されることを特徴とするネットワーク型コンテンツ再生システム。
5 5 . 請求項 5 4に記載のネットワーク型コンテンツ再生システムであって、 前記 AV機器は、
制御可能な素子と、
前記第 1のクライアントから送信された制御コマンドに応答して前記素子を制 御する手段とを含むことを特徴とするネットワーク型コンテンツ再生システム。 5 6 . 請求項 1〜請求項 5 3のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであってさらに、
前記第 1のクライアントに接続された AV機器を備え、
前記コンテンッ再生手段は、 前記サーバから返信されたコンテンツデータを前 記 A V機器に送信し、
前記 A V機器は、 前記第 1のクライアントから送信されたコンテンツデータに 基づいて前記コンテンツを再生することを特徴とするネットワーク型コンテンツ 再生システム。
5 7 . サーバと、
前記サーバに接続された第 1のクライアントと、
前記第 1のクライアントに接続きれた AV機器と、
前記サーバに接続され、 前記 A V機器を監視する第 2のクライアントとを備え、 前記 A V機器は、
自身に関する情報を前記第 1のクライアントに送信する手段を含み、
前記第 1のクライアントは、
前記 A V機器から送信された情報を前記サーバに送信する A V機器情報送信手 ΰみヽ ·
前記サーバは、
前記第 1のクライアントから送信された情報を前記第 2のクライアントに送信 する手段を含むことを特徴とするネットワーク型コンテンツ再生システム。
5 8 . 請求項 5 7に記載のネットワーク型コンテンツ再生システムであって、 前記情報は頻繁に変化する情報であり、
前記第 1のクライアントの AV機器情報送信手段は、 前記情報を所定の時間間 隔で送信することを特徴とするネットワーク型コンテンッ再生システム。
5 9 . 請求項 1〜請求項 5 8のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記サーバはさらに、
前記第 1のクライアントのファームゥヱァを更新するファームウェア更新手段 を含むことを特徴とするネットワーク型コンテンツ再生システム。
6 0 . 請求項 5 9に記載のネットワーク型コンテンツ再生システムであって、 前記サーバはさらに、
前記第 1のクライアントに適した複数のファームゥェァの情報を登録する手段 と、
前記登録された複数のファームウェアの情報を列挙したファームゥヱアリスト を前記第 1のクライアントに送信するファームウェアリスト送信手段とを含み、 前記第 1のクライアントはさらに、
前記サーバから送信されたファームウェアリストを受信する手段と、 前記受信されたファームウェアリストの中から選択されたファームウェアの送 信を前記サーバに要求するファームゥェァ要求手段とを含み、
前記ファームゥヱァ更新手段は、 前記第 1のクライアントからの要求に応じて 前記選択されたファームウェアを前記第 1のクライアントに返信することを特徴 とするネットワーク型コンテンツ再生システム。
6 1 . 請求項 6 0に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
自身に関するクライアント情報を前記サーバに送信する手段を含み、 前記サーバはさらに、
前記第 1のクライアントから送信されたクライアント情報に基づいて前記ファ ームウェアリストを作成する手段を含むことを特徴とするネットワーク型コンテ ンッ再生システム。
6 2 . 請求項 5 9〜請求項 6 1のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記第 1のクライアントは、 指定量のファームウェアを前記サーバに要求し、 前記ファームゥエア更新手段は、 前記第 1のクライアントからの要求に応じて 前記指定量のファームウェアを返信することを特徴とするネットワーク型コンテ ンッ再生システム。
6 3 . 請求項 6 2に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントは、 前記第 1のクライアントが前記サーバから取得し ようとするファームゥ-ァが格納されている最初のアドレスを示す取得開始アド レスと、 前記第 1のクライアントが前記サーバから取得しようとするファームゥ エアの長さを示す取得データ長とを送信し、
前記ファームウェア更新手段は、 前記第 1のクライアントからの要求に応じて、 前記取得開始ァドレスから前記取得データ長分のファームウェアを返信すること を特徴とするネットワーク型コンテンツ再生システム。
6 4 . 請求項 5 9〜請求項 6 3のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、
前記サーバはさらに、
前記第 1のクライアントにファームウェアを更新するように要求し、 そのファ ームウェアに関する情報を前記第 1のクライアントに送信する手段を含むことを 特徴とするネットワーク型コンテンツ再生システム。
6 5 . 請求項 6 0〜請求項 6 4のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであって、 '
前記第 1のクライアントはさらに、
指定量のファームゥヱアリストを前記サーバに要求するファームウェアリスト 要求手段を含み、
前記ファームウェアリスト送信手段は、 前記第 1のクライアントからの要求に 応じて前記指定量のファームウェアリストを前記第 1のクライアントに送信する ことを特徴とするネットワーク型コンテンツ再生システム。
6 6 . 請求項 6 5に記載のネットワーク型コンテンツ再生システムであって、 前記ファームウェアリスト要求手段は、 前記第 1のクライアントが前記サーバ から取得しようとする最初のファームウェアの情報を示す取得開始ィンデックス と、 前記第 1のクライアントが前記サーバから取得しょうとするファームウェア の情報の数を示す取得個数とを含むファームウェアリスト要求コマンドを送信し、 前記ファームゥヱァリス ト送信手段は、 前記ファームゥヱアリスト要求コ' ドに応答して、 前記取得開始ィンデックスが示す最初のファームゥ ァの情報か ら前記取得個数分のファームゥェァの情報を含むファームウェアリス卜を送信す ることを特^ [とするネットワーク型コンテンツ再生システム。
6 7 . 請求項 5 9〜請求項 6 6のいずれか 1項に記載のネットワーク型コンテン ッ再生システムであってさらに、
前記サーバに接続され、 前記第 1のクライアントを制御する第 2のクライアン トを備え、
前記第 2のクライアントは、
前記第 1のクライアントのファームウェアを更新するよう前記サーバに要求す る手段を含むことを特徴とするネットワーク型コンテンツ再生システム。
6 8 . サーバと、 前記サーバに接続された第 1のクライアントと、 前記サーバに 接続された複数の第 2のクライアントとを備えたネットワーク型コンテンッ再生 システムであって、
前記サーバは、
複数のコンテンツを蓄積するコンテンツ蓄積手段を備え、
前記第 2のクライアントの各々は、
前記複数のコンテンツの中からコンテンツを指定し、 その指定したコンテンツ の再生を前記第 1のクライアントに命令する手段を備え、
前記第 1のクライアントは、
前記第 2のクライアントからの命令に応じて前記指定されたコンテンツを再生 する手段と、
前記コンテンツの再生を完了したとき完了ステータスを前記サーバに送信する 手段とを備え、
前記サーバはさらに、
前記第 1のクライアントから完了ステータスを受信したとき、 前記複数の第 2 のクライアントのうち 1つを選択し、 その選択した第 2のクライアントに完了ス テータスを送信するステータス送信手段を備え、
前記第 2のクライアントの各々はさらに、 前記サーバから完了ステータスを受信したとき、 前記第 1のクライアントが再 生を完了したコンテンツの次のコンテンツを指定し、 その指定したコンテンッの 再生を前記第 1のクライアントに命令する手段を備えたことを特徴とするネット ワーク型コンテンツ再生システム。
6 9 . 請求項 6 8に記載のネットワーク型コンテンツ再生システムであって、 前記サーバはさらに、
前記第 1のクライアントを制御可能な第 2のクライアントの優先順位を管理す る手段を備え、
前記ステータス送信手段は、 前記完了ステータスを送信すべき第 2のクライア ントとして前記優先順位が最高の第 2のクライアントを選択することを特徴とす るネットワーク型コンテンツ再生システム。
7 0 . 請求項 6 9に記載のネットワーク型コンテンツ再生システムであって、 前記ステータス送信手段は、 前記優先順位が最高の第 2のクライアント以外の 第 2のクライアントに停止ステータスを送信することを特徴とするネットワーク 型コンテンツ再生システム。
7 1 . 請求項 6 8に記載のネットワーク型コンテンツ再生システムであって、 前記サーバはさらに、
前記再生を命令した第 2のクライアントの識別情報を記憶する手段を備え、 前記ステータス送信手段は、 前記完了ステータスを送信すべき第 2のクライア ントとして前記記憶した第 2のクライアントの識別情報に基づいて前記再生を命 令した第 2のクライアントを選択することを特徴とするネットワーク型コンテン ッ再生システム。
7 2 . 請求項 7 1に記載のネットワーク型コンテンツ再生システムであって、 前記ステータス送信手段は、 前記選択した第 2のクライアント以外の第 2のク ライアントに停止ステータスを送信することを特徴とするネットワーク型コンテ ンッ再生システム。
7 3 . サーバと、 前記サーバに接続された第 1のクライアントと、 前記サーバに 接続された複数の第 2のクライアントとを備えたネットワーク型コンテンツ再生 システムであって、 前記サーバは、
複数のコンテンッを蓄積するコンテンッ蓄積手段を備え、
前記第 2のクライアントの各々は、
前記第 1のクライアントを制御するために必要な制御ハンドルを取得する制御 ハンドル取得手段と、
前記制御ハンドルの取得後、 前記複数のコンテンツの中からコンテンツを指定 し、 その指定したコンテンツの再生を前記第 1のクライアントに命令する手段と を備え、
前記第 1のクライアントは、
前記第 2のクライアントからの命令に応じて前記指定されたコンテンツを再生 する手段と、
前記コンテンツの再生を完了したとき完了ステータスを前記サーバに送信する 手段とを備え、
前記サーバはさらに、
前記第 1のクライアントから送信された完了ステータスを前記第 2のクライア ントの各々に転送する手段を備え、
前記第 2のクライアントの各々はさらに、
前記制御ハンドルを取得している第 1のクライアントからの完了ステータスを 受信したとき、 前記第 1のクライアントが再生を完了したコンテンツの次のコン テンッを指定し、 その指定したコンテンツの再生を前記第 1のクライアントに命 令する手段を備えることを特徴とするネットワーク型コンテンッ再生システム。 7 4 . 請求項 7 3に記載のネットワーク型コンテンツ再生システムであって、 前記制御ハンドル取得手段は、 前記制御ハンドルを取得したとき当該他の第 2 のクライアントによる前記制御ハンドルの取得を禁止することを特徴とするネッ トワーク型コンテンツ再生システム。
7 5 . 請求項 7 4に記載のネットワーク型コンテンツ再生システムであって、 前記第 1のクライアントはさらに、
前記コンテンツの再生を途中で停止したとき停止ステータスを前記サーバに送 信する手段を備え、 前記サーバはさらに、
前記第 1のクライアントから送信された停止ステータスを前記第 2のクライア ントの各々に転送する手段を備え、
前記第 2のクライアントの各々はさらに、
前記制御ハンドルを取得している第 1のクライアントからの停止ステータスを 受信したとき、 前記制御ハンドルの取得禁止を解除する手段を備えたことを特徴 とするネットワーク型コンテンツ再生システム。
7 6 . サーバと、 前記サーバに接続された第 1のクライアントと、 前記サーバに 接続された第 2のクライアントとを備えたネットワーク型コンテンツ再生システ ムであって、
前記サーバは、
複数のコンテンツを蓄積するコンテンツ蓄積手段を備え、
前記第 2のクライアントは、
前記複数のコンテンツの中からコンテンツを指定し、 その指定したコンテンツ の再生を前記第 1のクライアントに命令する手段を備え、 ,
前記第 1のクライアントは、
前記第 2のクライアントからの命令に応じて前記指定されたコンテンツを再生 する手段と、
前記コンテンツの再生を完了したとき完了ステータスを前記サーバに送信する 手段とを備え、
前記サーバはさらに、
前記第 1のクライアントから完了ステータスを受信したとき、 前記第 1のクラ イアントが再生を完了したコンテンッの次のコンテンッを指定し、 その指定した コンテンツの再生を前記第 1のクライアントに命令する連続再生命令手段を備え たことを特^ ¾とするネットワーク型コンテンツ再生システム。
7 7. 請求項 7 6に記載のネットワーク型コンテンツ再生システムであって、 前記サーバはさらに、
前記第 1のクライアントにより再生されるべきコンテンツを列挙したコンテン ッリストを作成するために必要なリスト構築キーを記憶する手段と、 前記リスト構築キーに基づいて前記コンテンツリストを作成する手段とを備え、 前記連続再生命令手段は、 前記コンテンツリストに従って前記コンテンツの再 生を前記第 1のクライアントに命令することを特徴とするネットワーク型コンテ ンッ再生システム。
7 8 . サーバと、 前記サーバに接続された第 1のクライアントと、 前記サーバに 接続された第 2のクライアントとを備えたネットワーク型コンテンツ再生システ ムであって、
前記サーバは、
複数のコンテンツを蓄積するコンテンッ蓄積手段を備え、
前記第 2のクライアントは、
前記複数のコンテンツの中からコンテンツを指定し、 その指定したコンテンツ の再生を前記第 1のクライアントに命令する手段と、
前記第 1のクライアントにより再生されるべきコンテンツリストを作成するた めに必要なリスト構築キーを前記第 1のクライアントに送信する手段とを備え、 前記第 1のクライアントは、
前記第 2のクライアントからの命令に応じて前記指定されたコンテンツを再生 する手段と、
前記第 2のクライアントから送信されたリスト構築キーを前記サーバに送信す る手段とを備え、
前記サーバはさらに、
前記第 2のクライアントから送信されたリスト構築キーに基づいて前記コンテ ンッリストを作成し、 前記第 1のクライアントに送信する手段を備え、
前記第 1のクライアントはさらに、
前記サーバから送信されたコンテンツリストに従つて前記第 1のクライアント が再生を完了したコンテンツの次のコンテンツを再生する手段を備えたことを特 徴とするネットワーク型コンテンツ再生システム。
7 9 . 請求項 1〜請求項 7 8のいずれか 1項に記載のネットワーク型コンテンツ 再生システムであって、
前記コンテンッが音声及び/又は映像のデータであることを特徴とするネット ワーク型コンテンツ再生システム。
8 0 . 請求項 1〜請求項 7 9のいずれか 1項に記載のネットワーク型コンテンツ 再生システムを動作させるネットワーク型コンテンツ再生システム動作方法。 8 1 . 請求項 1〜請求項 7 9のいずれか 1項に記載の手段をコンピュータに実現 させるためのネットワーク型コンテンツ再生システム動作プログラム。
8 2 . 請求項 8 1に記載のネットワーク型コンテンツ再生システム動作プログラ ムを記憶したコンピュータ読み取り可能な記憶媒体。
8 3 . サーバと、 前記サーバに接続された少なくとも 1つの第 1のクライアント とを備えたネッ トワーク型コンテンッ再生システムにおける前記サーバであって、 複数のコンテンツを蓄積する蓄積手段と、
前記第 1のクライアントからの要求に応じて前記複数のコンテンツの中から選 択されたコンテンツを前記第 1のクライアントに返信するコンテンッ返信手段と を含むことを特徴とするネットワーク型コンテンツ再生システムにおけるサーバ。
8 4. 請求項 8 3に記載のサーバであってさらに、
前記第 1のクライアントからの要求に応じて複数のコンテンツを列挙したコン テンッリストを返信するコンテンツリスト返信手段を含むことを特徴とするネッ トワーク型コンテンッ再生システムにおけるサーバ。
8 5 . 請求項 8 4に記載のサーバであって、
前記コンテンツリスト返信手段は、 前記第 1のクライアントからの要求に応じ て指定量のコンテンツリストを返信することを特徴とするネットワーク型コンテ ンッ再生システムにおけるサーバ。
8 6 . 請求項 8 5に記載のサーバであって、
前記コンテンツリスト返信手段は、 前記第 1のクライアントが前記サーバから 取得しようとする最初のコンテンツを示す取得開始ィンデッタスと、 前記第 1の クライアントが前記サーバから取得しようとするコンテンツの数を示す取得個数 とを含む、 前記第 1のクライアントからのリスト要求コマンドに応答して、 前記 取得開始ィンデックスが示す最初のコンテンッから前記取得個数分のコンテンツ を含むコンテンツリストを返信することを特徴とするネットワーク型コンテンツ 再生システムにおけるサーバ。
8 7 . 請求項 8 6に記載のサーバであって、
前記コンテンツリスト返信手段はさらに、 前記返信するコンテンツリストに含 まれるコンテンツ数と、 前記返信するコンテンツリスト以降の残りのコンテンツ 数とを返信することを特徴とするネットワーク型コンテンッ再生システムにおけ るサーバ。
8 8 . 請求項 8 4〜請求項 8 7のいずれか 1項に記載のサーバであってさらに、 前記第 1のクライアントからの要求に応じて複数のカテゴリを列挙したカテゴ リリストを返信する手段を含むことを特徴とするネットワーク型コンテンツ再生 システムにおけるサーバ。
8 9 . 請求項 8 4〜請求項 8 8のいずれか 1項に記載のサーバであって、 前記コンテンツリスト返信手段は、 前記第 1のクライアントから送信されたリ スト構築キーに基づいて前記コンテンツリストを作成することを特徴とするネッ トワーク型コンテンツ再生システムにおけるサーバ。
9 0 . 請求項 8 3〜請求項 8 9のいずれか 1項に記載のサーバであって、 前記コンテンツ返信手段は、 前記第 1のクライアントからの要求に応じて予め 定められた量のコンテンツを繰り返し返信することにより前記コンテンツの全部 を返信することを特徴とするネットワーク型コンテンツ再生システムにおけるサ 一
9 1 . 請求項 9 0に記載のサーバであって、
前記コンテンツ返信手段は、 前記第 1のクライアントから送信された、 前記第 1のクライアントが前記サーバから取得しようとするコンテンツが格納されてい る最初のァドレスを示す取得開始ァドレスと、 前記第 1のクライアントが前記サ ーバから取得しようとするコンテンツの長さを示す取得データ長とを含むコンテ ンッ転送要求コマンドに応答して、 前記取得開始ァドレスから前記取得データ長 分のコンテンツを返信することを特徴とするネットワーク型コンテンツ再生シス テムにおけるサーバ。
9 2 . 請求項 9 0又は請求項 9 1に記載のサーバであってさらに、
前記第 1のクライアントから送信された、 前記選択されたコンテンツの識別情 報に応答して前記選択されたコンテンツのオフセットを前記第 1のクライアント に返信する手段を含むことを特徴とするネットワーク型コンテンツ再生システム におけるサーバ。
9 3 . 請求項 9 0〜請求項 9 2のいずれか 1項に記載のサーバであってさらに、 前記第 1のクライアントから送信された、 前記選択されたコンテンツの識別情 報に応答して前記選択されたコンテンツのサイズを前記第 1のクライアントに返 信する手段を含むことを特徴とするネットワーク型コンテンッ再生システムにお けるサーバ。
9 4 . 請求項 8 3〜請求項 9 3のいずれか 1項に記載のサーバであって、 前記ネ ットワーク型コンテンツ再生システムはさらに、 前記サーバに接続され、 前記第 1のクライアントを制御する第 2のクライアントを備え、
前記サーバはさらに、
前記第 2のクライアントからの要求に応じて前記第 1のクライアントを制御す る手段を含むことを特徴とするネットワーク型コンテンツ再生システムにおける サーバ。
9 5 . 請求項 8 3〜請求項 9 4のいずれか 1項に記載のサーバはさらに、
前記第 1のクライアントのファームウェアを更新するファームウェア更新手段 を含むことを特徴とするネットワーク型コンテンツ再生システムにおけるサーバ。 9 6 . 請求項 9 5に記載のサーバはさらに、
前記第 1のクライアントに適した複数のファームウェアの情報を登録する手段 と、
前記登録された複数のファームウェアの情報を列挙したファームゥヱァリスト を前記第 1のクライアントに送信するファームウェアリスト送信手段とを含み、 前記フアームウェア更新手段は、 前記第 1のクライアントからの要求に応じて 前記ファームゥヱアリストの中から選択されたファームウェアを前記第 1のクラ イアントに返信することを特徴とするネットワーク型コンテンツ再生システムに おけるサーバ。
9 7 . 請求項 9 5又は請求項 9 6に記載のサーバであって、
前記ファームゥェァ更新手段は、 前記第 1のクライアントにより要求された指 定量のファームウェアを前記第 1のクライアントに送信することを特徴とするネ ットワーク型コンテンツ再生システムにおけるサーバ。
9 8 . 請求項 9 7に記載のサーバであって、
前記ファームウェア更新手段は、 前記第 1のクライアントが取得しょうとする ファームウェアが格納されている最初のァドレスを示す取得開始ァドレス力 ら前 記第 1のクライアントが取得しょうとするファームゥヱァの長さを示す取得デー タ長分のファームウェアを返信することを特徴とするネットワーク型コンテンツ 再生システムにおけるサーバ。
9 9 . 請求項 9 6〜請求項 9 8のいずれか 1項に記載のサーバであって、
前記ファームウェアリスト送信手段は、 前記第 1のクライアントにより要求さ れた指定量のファームウェアリストを前記第 1のクライアントに送信することを 特徴とするネットワーク型コンテンツ再生システムにおけるサーバ。
1 0 0 . 請求項 9 9に記載のサーバであって、
前記ファームウェアリスト送信手段は、 前記第 1のクライアントが前記サーバ 力 ら取得しょうとする最初のフアームゥエア情報を示す取得開始ィンデッタスと、 前記第 1のクライアントが前記サーバから取得しようとするファームウェアの情 報の数を示す取得個数とを含む、 前記第 1のクライアントからのファームウェア リスト要求コマンドに応答して、 前記取得開始インデックスが示す最初のファー ムゥェァ情報から前記取得個数分のファームゥェァ情報を含むフアームウェアリ ストを前記第 1のクライアントに送信することを特徴とするネットワーク型コン テンッ再生システムにおけるサーバ。
1 0 1 . 請求項 8 3〜請求項 1 0 0のいずれか 1項に記載のネットワーク型コン テンッ再生システムにおけるサーバを動作させるサーバ動作方法。
1 0 2 . 請求項 8 3〜1 0 0のいずれか 1項に記載の手段をコンピュータに実現 させるためのサーバ動作プログラム。
1 0 3 . 請求項 1 0 2に記載のサーバ動作プログラムを記憶したコンピュータ読 み取り可能な記憶媒体。
1 0 4 . サーバと、 前記サーバに接続されたクライアントとを備えたネットヮー ク型コンテンツ再生システムにおける前記クライアントであって、
前記サーバに蓄積された複数のコンテンツの中から選択されたコンテンツを前 記サーバに要求するコンテンッ要求手段と、
前記要求に応じて前記サーバから返信されたコンテンッを再生する再生手段と を含むことを特徴とするネットワーク型コンテンッ再生システムにおけるクライ アント。
1 0 5 . 請求項 1 0 4に記載のクライアントであって、
壁に埋設されるコンセントボックスに取り付けられていることを特徴とするネ ットワーク型コンテンツ再生システムにおけるクライアント。
1 0 6 . 請求項 1 0 4又は請求項 1 0 5に記載のクライアントであってさらに、 複数のコンテンツを列挙したコンテンツリストを前記サーバに要求するコンテ ンッリスト要求手段と、
前記要求に応じて前記サーバから返信されたコンテンツリストを受信するコン テンッリスト受信手段とを含み、
前記コンテンツ要求手段は、 前記要求すべきコンテンツを前記コンテンツリス トの中から選択することを特徴とするネットワーク型コンテンツ再生システムに おけるクライアント。
1 0 7. 請求項 1 0 6に記載のクライアントであって、
前記コンテンツリスト要求手段は、 指定量のコンテンツリストを前記サーバに 要求することを特徴とするネットワーク型コンテンツ再生システムにおけるクラ
1 0 8 . 請求項 1 0 7に記載のクライアントであって、
前記コンテンツリスト要求手段は、 前記クライアントが前記サーバから取得し ようとする最初のコンテンツを示す取得開始ィンデッタスと、 前記クライアント が前記サーバから取得しようとするコンテンツの数を示す取得個数とを含むリス ト要求コマンドを送信し、
前記コンテンツリスト受信手段は、 前記リスト要求コマンドに応答して前記サ ーバから返信された、 前記取得開始ィンデックスが示す最初のコンテンツから前 記取得個数分のコンテンツを含むコンテンツリストを受信することを特徴とする ネットワーク型コンテンツ再生システムにおけるクライアント。
1 0 9 . 請求項 1 0 6〜請求項 1 0 8のいずれか 1項に記載のクライアントであ つてさらに、
複数のカテゴリを列挙したカテゴリリストを前記サーバに要求するカテゴリリ スト要求手段と、
前記要求に応じて前記サーバから返信されたカテゴリリストを受信する手段と を含み、
前記コンテンッリスト要求手段は、 要求しょうとするコンテンツリストのコン テンッが属するカテゴリを前記受信されたカテゴリリストの中から選択すること を特徴とするネットワーク型コンテンツ再生システムにおけるクライアント。
1 1 0 . 請求項 1 0 6〜請求項 1 0 9のいずれか 1項に記載のクライアントであ つてさらに、
前記コンテンツリスト要求手段は、 前記コンテンツリストを作成するために必 要なリスト構築キーを前記サーバに送信することを特徴とするネットワーク型コ ンテンッ再生システムにおけるクライアント。
1 1 1 . 請求項 1 0 4〜請求項 1 1 0のいずれか 1項に記載のクライアントであ つてさらに、
前記コンテンツ要求手段は、 予め定められた量のコンテンツを前記サーバに要 求し、 前記コンテンツの全部を取得するまで前記コンテンツの要求を繰り返すこ とを特徴とするネットワーク型コンテンツ再生システムにおけるクライアント。
1 1 2 . 請求項 1 1 1に記載のクライアントであってさらに、
前記サーバから返信されたコンテンッを蓄積するバッファメモリを備え、 前記コンテンツ要求手段は、 前記バッファメモリに所定量の空きが生じたとき 前記予め定められた量のコンテンツを前記サーバに要求することを特徴とするネ ットワーク型コンテンツ再生システムにおけるクライアント。
1 1 3 . 請求項 1 1 1又は請求項 1 1 2に記載のクライアントであって、 前記コンテンツ要求手段は、 前記予め定められた量のコンテンツの最初のアド レスを示す取得開始アドレスを算出し、 当該取得開始アドレスと、 前記クライァ ントが前記サーバから取得しょうとするコンテンツの長さを示す取得データ長と を含むコンテンッ転送要求コマンドを送信することを特徴とするネットワーク型 コンテンツ再生システムにおけるクライアント。
1 1 4 . 請求項 1 1 3に記載のクライアントであって、
前記コンテンツ要求手段は、 前記取得データ長を前の取得開始ァドレスに加算 して次の取得開始ァドレスを算出することを特徴とするネットワーク型コンテン ッ再生システムにおけるクライアント。
1 1 5 . 請求項 1 1 4に記載のクライアントであってさらに、
ユーザの操作に応じて第 1及び第 2のアドレスを設定する手段と、
前記算出された取得開始ァドレスが前記第 2のァドレスを超えたとき、 前記取 得開始ァドレスを前記第 1のアドレスに設定する手段とを含むことを特徴とする ネットワーク型コンテンツ再生システムにおけるクライアント。
1 1 6 . 請求項 1 1 4に記載のクライアントであってさらに、
ユーザの操作に応じて所望のァドレスを設定する手段と、
前記取得開始ァドレスを前記所望のァドレスに設定する手段とを含むことを特 徴とするネットワーク型コンテンツ再生システムにおけるクライアント。
1 1 7 . 請求項 1 1 3又は請求項 1 1 4に記載のクライアントであってさらに、 ユーザの操作に応じて所定のスキップ量を設定する手段と、
前記取得開始ァドレスを前記設定されたスキップ量だけシフトする手段とを含 むことを特徴とするネットワーク型コンテンツ再生システムにおけるクライアン
1 1 8 . 請求項 1 1 1〜請求項 1 1 7のいずれか 1項に記載のクライアントであ つてさらに、
前記選択されたコンテンツの識別情報を前記サーバに送信する手段と、 前記識別情報に応答して前記サーバから返信された、 前記選択されたコンテン ッのオフセットに基づいて前記選択されたコンテンツの始まりを検知する手段と を含むことを特徴とするネットワーク型コンテンツ再生システムにおけるクライ アント。
1 1 9 . 請求項 1 1 1〜請求項 1 1 8のいずれか 1項に記載のクライアントであ つてさらに、
前記選択されたコンテンツの識別情報を前記サーバに送信する手段と、 前記識別情報に応答して前記サーバから返信された、 前記選択されたコンテン ッのサイズに基づいて前記選択されたコンテンッの終わりを検知する手段とを含 むことを特徴とするネットワーク型コンテンツ再生システムにおけるクライアン h o
1 2 0 . 請求項 1 0 4〜請求項 1 1 0のいずれか 1項に記載のクライアントであ つて、
前記コンテンツ要求手段は、 要求するコンテンツの最初のァドレスを示す取得 開始ァドレスを算出して前記サーバに送信することを特徴とするネットワーク型 コンテンツ再生システムにおけるクライアント。
1 2 1 . 請求項 1 0 4〜請求項 1 1 0のいずれか 1項に記載のクライアントであ つて、
前記コンテンツ要求手段は、 指定量のコンテンツを前記サーバに要求し、 前記 指定量を変化させることを特徴とするネットワーク型コンテンツ再生システムに おけるクライアント。 1 2 2 . 請求項 1 0 4〜請求項 1 2 1のいずれか 1項に記 載のクライアントであってさらに、
自身に関するクライアント情報が変化するたびにそのクライアント情報を前記 サーバに送信する手段を含むことを特徴とするネットワーク型コンテンツ再生シ ステムにおけるクライアント。
1 2 3 . 請求項 1 0 4〜請求項 1 2 2に記載のいずれか 1項に記載のクライアン トであってさらに、
ファームゥエアの送信を前記サーバに要求するファームゥェァ要求手段とを含 むことを特徴とするネットワーク型コンテンツ再生システムにおけるクライアン
- o
1 2 4 . 請求項 1 2 3に記載のクライアントであってさらに、
前記サーバから送信されたファームウェアリストを受信する手段を含み、 前記ファームウェア要求手段は、 送信するファームウェアを前記受信されたフ アームゥヱアリストの中から選択することを特徴とするネットワーク型コンテン ッ再生システムにおけるクライアント。
1 2 5 . 請求項 1 2 3に記載のクライアントであって、
前記ファームウェア要求手段は、 指定量のファームウェアを前記サーバに要求 することを特徴とするネットワーク型コンテンツ再生システムにおけるクライア ント。
1 2 6 . 請求項 1 2 5に記載のクライアントであって、
前記ファームウェア要求手段は、 前記サーバから取得しょうとするファームゥ エアが格納されている最初のァドレスを示す取得開始ァドレスと、 前記サーバか ら取得しょうとするファームウェアの長さを示す取得データ長とを送信すること を特徴とするネットワーク型コンテンツ再生システムにおけるクライアント。 1 2 7 . 請求項 1 2 3〜請求項 1 2 6のいずれか 1項に記載のクライアントはさ らに、
指定量のファームウェアリストを前記サーバに要求するファームウェアリスト 要求手段を含むことを特徴とするネットワーク型コンテンツ再生システムにおけ
1 2 8 . 請求項 1 2 7に記載のクライアントであって、
前記ファームウェアリスト要求手段は、 前記サーバから取得しようとする最初 のファームゥエアの情報を示す取得開始ィンデッタスと、 前記サーバから取得し ようとするファームウェアの情報の数を示す取得個数とを含むファームウェアリ スト要求コマンドを送信することを特徴とするネットワーク型コンテンツ再生シ ステムにおけるクライアント。
1 2 9 . 請求項 1 0 4に記載のクライアントであって、 前記サーバは複数あり、 前記クライアントはさらに、
前記複数のサーバのいずれかと接続を行う接続手段と、
前記接続手段によるサーバとの接続が維持されているか否かを所定期間ごとに 判断する判断手段とを含み、
前記判断手段が前記サーバとの接続が切断されたと判断した場合に、 前記接続 手段は前記サーバとの再接続を実行することを特徴とするネットワーク型コンテ ンッ再生システムにおけるクライアント。
1 3 0 . 請求項 1 2 9に記載のクライアントであって、
前記接続手段は、 前記サーバとの再接続ができない場合に、 他のサーバとの接 続を実行することを特徴とするネットワーク型コンテンツ再生システムにおける
1 3 1 . 請求項 1 2 9又は請求項 1 3 0に記載のクライアントであって、 前記接続手段は接続が切断される前のクライアントステータスを接続したサー パに送信することを特徴とするネットワーク型コンテンツ再生システムにおける
1 3 2 . 請求項 1 0 4〜請求項 1 3 1のいずれか 1項に記載のネットワーク型コ ンテンッ再生システムにおけるクライアントを動作させるクライアント動作方法。 1 3 3 . 請求項 1 0 4〜請求項 1 3 1のいずれか 1項に記載の手段をコンビユー タに実現させるためのクライアント動作プログラム。
1 3 4 . 請求項 1 3 3に記載のクライアント動作プログラムを記憶したコンビュ ータ読み取り可能な記憶媒体。
1 3 5 . サーバと、 前記サーバに接続され、 前記サーバから取得したコンテンツ に基づいて前記コンテンツを再生する再生クライアントと、 前記サーバに接続さ れ、 前記再生クライアントを監視する監視クライアントとを備えたネットワーク 型コンテンツ再生システムにおける前記監視クライアントであって、
前記サーバから送信された前記再生クライアントのクライアント情報を受信す る手段と、
前記受信されたクライアント情報を表示する手段とを含むことを特徴とするネ ットワーク型コンテンツ再生システムにおける監視クライアント。
1 3 6 . 請求項 1 3 5に記載の監視クライアントであってさらに、
前記受信したクライアント情報が変更されているとき、 そのクライアント情報 の表示を変更する手段を含むことを特徴とするネットワーク型コンテンツ再生シ ステムにおける監視クライアント。
1 3 7 . 請求項 1 3 5又は請求項 1 3 6に記載の監視クライアントであって、 前記クライアント情報は、 前記再生クライアントにより再生可能なコンテンツ のデータフォーマツトの名称を含み、
前記監視クライアントはさらに、
前記受信されたクライアント情報に基づレ、て前記データフォーマットの名称を 表示する手段を含むことを特徴とするネットワーク型コンテンツ再生システムに おける監視クライアント。
1 3 8 . 請求項 1 3 7に記載の監視クライアントであってさらに、
複数のコンテンツを列挙したコンテンツリストを前記サーバから取得する手段 と、
前記取得したコンテンツリストに含まれるコンテンツのうち、 前記再生クライ アントにより再生可能なコンテンッを表示し、 前記再生クライアントにより再生 不可能なコンテンツを表示しないか又は前記再生可能なコンテンツと異なる態様 で表示する手段とを含むことを特徴とするネットワーク型コンテンツ再生システ ムにおける監視クライアント。
1 3 9 . 請求項 1 3 5〜請求項 1 3 8のいずれか 1項に記載の監視クライアント であってさらに、
監視しょうとするクライアントが前記再生クライアントかを判別する手段を含 むことを特徴とするネットワーク型コンテンツ再生システムにおける監視クライ アント。
1 4 0 . 請求項 1 3 5に記載の監視クライアントであってさらに、
前記再生クライアントを監視するために必要な監視ハンドルを取得する手段と、 前記監視ハンドルを取得したとき前記再生クライアントを監視する手段とを含 むことを特徴とするネットワーク型コンテンツ再生システムにおける監視クライ アント。
1 4 1 . 請求項 1 3 5〜請求項 1 4 0のいずれか 1項に記載のネットワーク型コ ンテンッ再生システムにおける監視クライアントを動作させる監視クライアント 動作方法。
1 4 2 . 請求項 1 3 5〜請求項 1 4 0のいずれか 1項に記載の手段をコンビユー タに実現させるための監視クライアント動作プログラム。
1 4 3 . 請求項 1 4 2に記載の監視クライアント動作プログラムを記憶したコン ピュータ読み取り可能な記憶媒体。
PCT/JP2003/006552 2002-05-31 2003-05-26 Network type content reproduction system WO2003102919A1 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP2004509922A JP4013949B2 (ja) 2002-05-31 2003-05-26 ネットワーク型コンテンツ再生システム
US10/498,181 US7634532B2 (en) 2002-05-31 2003-05-26 Network type content reproduction system
AU2003241772A AU2003241772B2 (en) 2002-05-31 2003-05-26 Network type content reproduction system
KR1020047016490A KR100903258B1 (ko) 2002-05-31 2003-05-26 네트워크형 콘텐츠 재생 시스템
CA2486671A CA2486671C (en) 2002-05-31 2003-05-26 Network type content reproducing system
EP03733064.4A EP1508892B1 (en) 2002-05-31 2003-05-26 Network type content reproduction system
US12/605,492 US7908370B2 (en) 2002-05-31 2009-10-26 Network type content reproducing system
US13/019,631 US8005928B2 (en) 2002-05-31 2011-02-02 Network type content reproducing system
US13/107,101 US8037177B2 (en) 2002-05-31 2011-05-13 Network type content reproducing system
US13/226,621 US8291074B2 (en) 2002-05-31 2011-09-07 Network type content reproducing system
US13/354,040 US8516042B2 (en) 2002-05-31 2012-01-19 Network type content reproducing system

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2002-158753 2002-05-31
JP2002158753 2002-05-31
JP2002232749 2002-08-09
JP2002-232749 2002-08-09
JP2003017931 2003-01-27
JP2003-17931 2003-01-27
JP2003045432 2003-02-24
JP2003-45432 2003-02-24

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US10498181 A-371-Of-International 2003-05-26
US10/498,181 A-371-Of-International US7634532B2 (en) 2002-05-31 2003-05-26 Network type content reproduction system
US12/605,492 Continuation US7908370B2 (en) 2002-05-31 2009-10-26 Network type content reproducing system

Publications (1)

Publication Number Publication Date
WO2003102919A1 true WO2003102919A1 (en) 2003-12-11

Family

ID=29716231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/006552 WO2003102919A1 (en) 2002-05-31 2003-05-26 Network type content reproduction system

Country Status (8)

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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1534013A1 (en) * 2003-11-19 2005-05-25 Onkyo Corporation Network AV system
US7167879B2 (en) 2003-10-15 2007-01-23 Onkyo Corporation Network AV system
JP2007048017A (ja) * 2005-08-10 2007-02-22 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2007164478A (ja) * 2005-12-14 2007-06-28 Onkyo Corp コンテンツリスト配信方法、クライアント装置およびクライアントプログラム
JP2007240973A (ja) * 2006-03-09 2007-09-20 Sony Corp データ選択システム、データ選択装置、データ選択方法及びデータ選択プログラム
WO2008114389A1 (ja) * 2007-03-19 2008-09-25 Pioneer Corporation コンテンツ再生システム及びその制御方法
JP2008249779A (ja) * 2007-03-29 2008-10-16 Yamaha Corp 電子音楽装置及びプログラム
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US8412801B2 (en) 2003-08-08 2013-04-02 Onkyo Corporation Network AV system
US8935356B2 (en) 2003-07-08 2015-01-13 Onkyo Corporation Network AV system using personal computer
EP3073710A1 (en) 2015-03-23 2016-09-28 Buffalo Inc. Information processing device and information processing method
JP6544817B1 (ja) * 2018-07-31 2019-07-17 Quadrac株式会社 サーバ装置及びシステム

Families Citing this family (161)

* 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
AU2003282146A1 (en) * 2003-11-18 2005-06-08 Nokia Corporation Method, subject terminal device, target terminal device, data content server, system and computer programs for maintaining and updating data contents
JP2005303975A (ja) * 2004-03-19 2005-10-27 Onkyo Corp ネットワークavシステム、コントローラ及びその動作プログラム
WO2006009208A1 (ja) * 2004-07-21 2006-01-26 Sony Corporation 通信システム,通信方法,コンテンツ処理装置,およびコンピュータプログラム
EP1703409A1 (en) * 2004-07-21 2006-09-20 Sony Corporation Content processing device, content processing method, and computer program
US7362999B2 (en) * 2004-08-23 2008-04-22 General Motors Corporation Method and system for customized music delivery
JP4929726B2 (ja) * 2005-03-07 2012-05-09 富士ゼロックス株式会社 画像処理システム
JP4650677B2 (ja) * 2005-03-14 2011-03-16 ソニー株式会社 関連情報連続出力方法、関連情報連続提供方法、関連情報連続出力装置、関連情報連続提供装置、関連情報連続出力プログラム及び関連情報連続提供プログラム
JP2006285607A (ja) * 2005-03-31 2006-10-19 Sony Corp コンテンツ情報提供システム,コンテンツ情報提供サーバ,コンテンツ再生装置,コンテンツ情報提供方法,コンテンツ再生方法,およびコンピュータプログラム
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20070220587A1 (en) * 2006-03-15 2007-09-20 Loyer Douglas E Systems, Methods, and Apparatus for Most Advantageous Media Delivery for Rich Media Applications
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
KR100812258B1 (ko) * 2006-09-28 2008-03-10 주식회사 드리머 연속적 컨텐츠 제공을 위한 데이터 방송 시스템 및 연속적컨텐츠 제공 방법
US7634562B2 (en) * 2006-10-27 2009-12-15 Cyscape, Inc. Method and apparatus for determining application responsiveness over a network
US20080222273A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9627081B2 (en) * 2007-10-05 2017-04-18 Kinglite Holdings Inc. Manufacturing mode for secure firmware using lock byte
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8898568B2 (en) * 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8843977B2 (en) * 2009-06-04 2014-09-23 Verizon Patent And Licensing Inc. Media content delivery systems and methods
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
KR101584304B1 (ko) * 2009-07-20 2016-01-11 삼성전자주식회사 콘텐츠 요청 장치 및 방법
US9450804B2 (en) * 2009-09-03 2016-09-20 At&T Intellectual Property I, L.P. Anycast aware transport for content distribution networks
WO2011066645A1 (en) * 2009-12-02 2011-06-09 Chalk Media Service Corporation Reliable delivery of content to a push-state aware client device
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
JP4797215B2 (ja) * 2010-02-26 2011-10-19 オンキヨー株式会社 音量調整システム
JP5573337B2 (ja) * 2010-04-30 2014-08-20 ソニー株式会社 情報提供装置、情報提供方法、プログラム、情報処理装置、サービス提供装置および情報処理システム
US9721035B2 (en) * 2010-06-30 2017-08-01 Leaf Group Ltd. Systems and methods for recommended content platform
JP5716302B2 (ja) * 2010-06-30 2015-05-13 ソニー株式会社 情報処理装置、コンテンツ提供方法及びプログラム
US20120079547A1 (en) * 2010-09-24 2012-03-29 Seong-Hwan Kim Multimedia Network Interface Device with Table-Based Connection Management
JP5184606B2 (ja) * 2010-11-01 2013-04-17 株式会社バッファロー コンテンツ送信方法、接続先ストレージ及びコンテンツ送信プログラム
JP5305493B2 (ja) * 2010-11-12 2013-10-02 パナソニック株式会社 サーバ、通信端末、およびそれらを備えた機器連携システム
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
CN102638812A (zh) * 2011-02-12 2012-08-15 苏州达联信息科技有限公司 一种铁路轨道监测传感网络的业务注册方法及装置
CN102638788A (zh) * 2011-02-12 2012-08-15 苏州达联信息科技有限公司 一种铁路轨道监测传感网络业务修改方法及装置
US9781091B2 (en) 2011-03-14 2017-10-03 Verisign, Inc. Provisioning for smart navigation services
US9811599B2 (en) 2011-03-14 2017-11-07 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US9646100B2 (en) 2011-03-14 2017-05-09 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US10185741B2 (en) * 2011-03-14 2019-01-22 Verisign, Inc. Smart navigation services
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US20120310642A1 (en) 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10509831B2 (en) 2011-07-29 2019-12-17 Leaf Group Ltd. Systems and methods for time and space algorithm usage
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
JP5440625B2 (ja) * 2012-02-06 2014-03-12 オンキヨー株式会社 コントローラ及びそのプログラム
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US8260880B1 (en) * 2012-04-27 2012-09-04 Wirespring Technologies, Inc. Content management system for integrated display substrates
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
EP2954514B1 (en) 2013-02-07 2021-03-31 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
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
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
US10057207B2 (en) 2013-04-07 2018-08-21 Verisign, Inc. Smart navigation for shortened URLs
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9389754B2 (en) 2013-05-14 2016-07-12 Demand Media, Inc. Generating a playlist based on content meta data and user parameters
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2014200728A1 (en) 2013-06-09 2014-12-18 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
KR101499068B1 (ko) * 2013-06-19 2015-03-09 김용진 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
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
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
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
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
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
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
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US9843474B2 (en) * 2015-12-23 2017-12-12 Intel Corporation Telemetry adaptation
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
WO2017170010A1 (ja) * 2016-03-30 2017-10-05 日本電気株式会社 情報共有方式
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
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
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
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
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

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166824A (ja) * 1997-08-15 1999-03-09 Sony Corp オーディオサーバシステム
JPH11234208A (ja) * 1998-02-12 1999-08-27 Denso Corp 情報通信システム
JP2000031998A (ja) * 1998-07-15 2000-01-28 Nec Corp ネットワーク装置、ネットワークの管理方式および管理方法
JP2001257707A (ja) * 2000-03-09 2001-09-21 Sony Corp マルチ再生システム、サーバ装置、端末装置
JP2001285284A (ja) * 2000-03-30 2001-10-12 Toshiba Corp 送信装置およびその送信方法
JP2001313741A (ja) * 2000-04-28 2001-11-09 Sony Corp 情報再生システム、測位システムおよび移動可能機器
JP2002084202A (ja) * 2000-09-06 2002-03-22 Misawa Homes Co Ltd マルチメディア情報盤、ケーブルの接続構造およびケーブルの接続方法
JP2002152319A (ja) * 2000-11-15 2002-05-24 Sanyo Electric Co Ltd 配信システムおよび携帯電話機
JP2002152682A (ja) * 2000-11-14 2002-05-24 Matsushita Electric Ind Co Ltd 画像伝送装置
JP2002236490A (ja) * 2001-02-09 2002-08-23 Seiko Epson Corp データ転送システム、転送元端末及び中間処理端末
JP2003018668A (ja) * 2001-07-02 2003-01-17 Toshiba Corp ネットワーク機器制御装置および方法
JP2003022225A (ja) * 2001-07-09 2003-01-24 Sony Corp 機器制御装置および方法
JP2003110561A (ja) * 2001-09-26 2003-04-11 Matsushita Electric Ind Co Ltd ホームネットワーク上のストリーム管理装置

Family Cites Families (112)

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

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166824A (ja) * 1997-08-15 1999-03-09 Sony Corp オーディオサーバシステム
JPH11234208A (ja) * 1998-02-12 1999-08-27 Denso Corp 情報通信システム
JP2000031998A (ja) * 1998-07-15 2000-01-28 Nec Corp ネットワーク装置、ネットワークの管理方式および管理方法
JP2001257707A (ja) * 2000-03-09 2001-09-21 Sony Corp マルチ再生システム、サーバ装置、端末装置
JP2001285284A (ja) * 2000-03-30 2001-10-12 Toshiba Corp 送信装置およびその送信方法
JP2001313741A (ja) * 2000-04-28 2001-11-09 Sony Corp 情報再生システム、測位システムおよび移動可能機器
JP2002084202A (ja) * 2000-09-06 2002-03-22 Misawa Homes Co Ltd マルチメディア情報盤、ケーブルの接続構造およびケーブルの接続方法
JP2002152682A (ja) * 2000-11-14 2002-05-24 Matsushita Electric Ind Co Ltd 画像伝送装置
JP2002152319A (ja) * 2000-11-15 2002-05-24 Sanyo Electric Co Ltd 配信システムおよび携帯電話機
JP2002236490A (ja) * 2001-02-09 2002-08-23 Seiko Epson Corp データ転送システム、転送元端末及び中間処理端末
JP2003018668A (ja) * 2001-07-02 2003-01-17 Toshiba Corp ネットワーク機器制御装置および方法
JP2003022225A (ja) * 2001-07-09 2003-01-24 Sony Corp 機器制御装置および方法
JP2003110561A (ja) * 2001-09-26 2003-04-11 Matsushita Electric Ind Co Ltd ホームネットワーク上のストリーム管理装置

Non-Patent Citations (1)

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

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US7908370B2 (en) 2002-05-31 2011-03-15 Onkyo Corporation Network type content reproducing system
US8935356B2 (en) 2003-07-08 2015-01-13 Onkyo Corporation Network AV system using personal computer
US8412801B2 (en) 2003-08-08 2013-04-02 Onkyo Corporation Network AV system
US7167879B2 (en) 2003-10-15 2007-01-23 Onkyo Corporation Network AV system
US7739716B2 (en) 2003-11-19 2010-06-15 Onkyo Corporation Network AV system
EP1534013A1 (en) * 2003-11-19 2005-05-25 Onkyo Corporation Network AV system
JP2007048017A (ja) * 2005-08-10 2007-02-22 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2007164478A (ja) * 2005-12-14 2007-06-28 Onkyo Corp コンテンツリスト配信方法、クライアント装置およびクライアントプログラム
JP2007240973A (ja) * 2006-03-09 2007-09-20 Sony Corp データ選択システム、データ選択装置、データ選択方法及びデータ選択プログラム
WO2008114389A1 (ja) * 2007-03-19 2008-09-25 Pioneer Corporation コンテンツ再生システム及びその制御方法
JPWO2008114389A1 (ja) * 2007-03-19 2010-07-01 パイオニア株式会社 コンテンツ再生システム及びその制御方法
JP2008249779A (ja) * 2007-03-29 2008-10-16 Yamaha Corp 電子音楽装置及びプログラム
EP3073710A1 (en) 2015-03-23 2016-09-28 Buffalo Inc. Information processing device and information processing method
JP2016181749A (ja) * 2015-03-23 2016-10-13 株式会社バッファロー 情報処理装置、及び情報処理方法
JP6544817B1 (ja) * 2018-07-31 2019-07-17 Quadrac株式会社 サーバ装置及びシステム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5673588B2 (ja) ネットワーク型コンテンツ再生システム
JP4889749B2 (ja) マルチメディア情報制御装置及び方法
JP3847764B2 (ja) ネットワーク型コンテンツ再生システム
US20080313192A1 (en) Method of Managing a Distributed Storage System
JP4812604B2 (ja) ネットワーク型コンテンツ再生システム
JP4155260B2 (ja) ネットワーク型コンテンツ再生システム
JP2005189827A6 (ja) ネットワーク型コンテンツ再生システム
JP4013942B2 (ja) ネットワーク型コンテンツ再生システム
JP2005182762A (ja) ネットワーク型コンテンツ再生システム
JP2005182763A6 (ja) ネットワーク型コンテンツ再生システム
JP4281792B2 (ja) ネットワーク型コンテンツ再生システム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE 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 NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL 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): GH GM KE LS MW MZ 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 PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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

Ref document number: 10498181

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020047016490

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004509922

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2486671

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2003733064

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003241772

Country of ref document: AU

Ref document number: 2003733064

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20038126133

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020047016490

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003733064

Country of ref document: EP