特許文献1の例では、コンテンツを提供するサーバと、コンテンツを閲覧・再生するクライアントとが、それぞれ別々の機器であり、互いにコンテンツの送受信を行うようになっているので、一方の動作を制御すれば他方の動作も間接的に制御される。そのため、システムの負荷の増大を防ぐために、クライアントが、サーバの使用状況を把握してクライアントを制御するだけでよかった。
一方、前述したようにサーバとしての機能とクライアントとしての機能との両方を備える情報処理装置も存在する。サーバの機能とクライアントの機能とは互いに全く異なる機能を提供するものであるため、両方の機能を備える情報処理装置では、通常、それぞれの機能が独立に動作する。
しかしながら、サーバ機能とクライアント機能が機能的に完全に独立していても、このように同一の情報処理装置内に存在する場合は、それぞれの機能の動作が負荷の増大を招き、相手の機能の動作に影響を与える可能性がある。
例えば、上りおよび下りの合計の帯域幅に限界がある通信回線をサーバ機能部(サーバ機能を実現する部分)とクライアント機能部(クライアント機能を実現する部分)とで共用する情報処理装置においては、サーバ機能部がネットワークで接続された外部のクライアント機器に対してビットレートの高いビデオデータ(動画コンテンツのデータ)を配信しているときに、サーバ機能部の配信動作による高いトラフィックが通信回路に生じ、同じ情報処理装置のクライアント機能部が通信回線のトラフィック増大の影響を受ける。そのため、クライアント機能部が単位時間あたりに受信(再生)できるデータ量が制限される。このような事態は、サーバ機能とクライアント機能とで共用する通信回線に、無線通信や、半二重の有線のネットワークを使用した場合に起こりえる。このような場合、下り回線に広帯域のデータが流れていると、その分上りの帯域は制限され、逆に、上り回線に広帯域のデータが流れていると、その分下りの帯域は制限される。
また、通信回路をサーバ機能部とクライアント機能部とで共用する情報処理装置においては、情報処理装置のサーバ機能部がネットワークで接続された外部のクライアント機器に対してビットレートの高いビデオデータを配信しているときに、サーバ機能部の配信動作による通信回路の使用リソースが増大し、同じ情報処理装置のクライアント機能部が通信回路の使用リソース増大の影響を受ける。そのため、クライアント機能部が単位時間あたりに受信(再生)できるデータ量が制限される。
ここで、クライアント機能部がサーバ機能部の配信動作による通信回路の使用リソース増大の影響を受けるのは、以下の理由からである。すなわち、クライアント機能部は、通常、コンテンツを受信中にも、制御データを送信したり、新たなリクエストを送信したりする。そして、情報処理装置は、通常、これらのデータやリクエストを正常に送受信できなければならない。特に、クライアント機能部がコンテンツのストリーミング再生を行う場合には、クライアント機能部が制御データなどを適切なタイミングで送信できないと、ストリーミング再生するコンテンツの受信が中断して再生が中断したり、再生のタイミングが遅れたりするという事態が起こりえる。また、クライアント機能部がコンテンツを受信するときに、通信回路の性能不足や通信回線のトラフィック増大などが原因で、受信バッファのオーバーフローやデータパケット(コンテンツのデータ)の受信エラーが生じる場合があり、そのような場合に、クライアント機能部が、コンテンツの送信元に対して再送を要求するために通信回路の送信回路部分を使用することもある。そのとき、送信回路が、サーバ機能部によって占有されていると、オーバーフローや受信エラーが生じた時に再送要求をすぐに送信できず、クライアント機能部の受信動作に影響を与えてしまうことが起こりえる。
また、デコーダ回路をサーバ機能部とクライアント機能部とで共用する情報処理装置においては、情報処理装置のサーバ機能部が、ある符号化形式のビデオデータをデコーダ回路でデコードし、デコードしたビデオデータを外部のクライアント機器に対して配信しているときに、同じ機器のクライアント機能部がデコーダ回路を使用できない。そのため、クライアント機能部が、上記ビデオデータと同一の符号化形式のビデオデータを受信しても、受信したビデオデータをデコードすることができず、再生が行えない。
ここで、デコーダ回路をサーバ機能部とクライアント機能部とで共用するのは、次のような理由による。すなわち、情報処理装置がパーソナルコンピュータである場合などには、サーバ機能部およびクライアント機能部のそれぞれにデコーダ部を設けても、十分に実用化できる。しかし、特に、情報処理装置が、サーバ機能を持つHDDビデオレコーダとクライアント機能を持つテレビとが一体になった民生機器などである場合には、CPUなどの能力面、コスト面、商品のサイズ(部品を搭載できる領域の制約)などのような、商品化に係る条件から、サーバ機能部およびクライアント機能部のそれぞれにデコーダ部を設けることができない場合がある。このため、デコーダ回路をサーバ機能部とクライアント機能部とで共用する場合がある。一つのデコーダ部が搭載された既存の機器に対して、後からサーバ機能部とクライアント機能部とを追加して、サーバ機能とクライアント機能とを備える情報処理装置を作成する場合もある。このようにして作成した場合、一つのデコーダ部をサーバ機能部とクライアント機能部とで共用することになる。
また、CPUやメモリなどの他の構成要素をサーバ機能部とクライアント機能部とで共用する情報処理装置においても、情報処理装置のサーバ機能部がネットワークで接続された外部のクライアント機器に対してビットレートの高いビデオデータを配信しているときに、高いビットレートのビデオデータの処理に、高いCPU負荷や大容量のメモリを必要とする場合がある。そのため、クライアント機能部が、サーバ機能部の処理によるCPU負荷の増大や必要メモリ容量の増大などの影響を受けて、単位時間あたりに受信できるデータ量が制限される。
以上のように、共用される通信回線のトラフィック増大や、共用される回路(通信回路、デコーダ回路、CPU、メモリなど)の使用リソース増大などの影響をクライアント機能部が受ける結果として、クライアント機能部が単位時間あたりに受信できるデータ量が制限される場合や、クライアント機能部の受信が遅延または中断する場合、クライアント機能部の再生が妨げられる場合などがある。これらの場合に、クライアント機能部が他のサーバ機器からビットレートの高いビデオデータを受信して再生しようとすると、ビデオデータを正常に再生できない可能性がある。すなわち、クライアント機能部が正常に再生できないコンテンツを再生してしまう可能性がある。そればかりか、クライアント機能部が、正常に再生できないビデオデータの再生を無理に試みると、その再生による影響によってサーバ機能部によるコンテンツの配信にも支障をきたす可能性がある。
逆に、情報処理装置のクライアント機能部が外部のサーバ機器からビットレートの高いビデオデータを受信して再生しているときには、クライアント機能部がビットレートの高いビデオデータを受信して再生することによる、共用される通信回線のトラフィック増大や、共用される回路(通信回路、デコーダ回路、CPU、メモリなど)の使用リソース増大などの影響をサーバ機能部が受ける。
例えば、通信回路をサーバ機能とクライアント機能とで共用する情報処理装置においては、サーバ機能部は、通常、コンテンツを送信中にも、外部のクライアントから制御データを受信したり、新たなリクエストを受信したりする必要がある。そのため、通信回路がクライアント機能部によって占有されているためにサーバ機能部が制御データなどを適切なタイミングで送信できず、コンテンツの配信が中断したり、配信のタイミングが遅れたりするという事態が起こりえる。
また、例えば、CPUやメモリなどの他の構成要素をサーバ機能部とクライアント機能部とで共用する情報処理装置においては、情報処理装置のクライアント機能部が外部のサーバ機器から高いビットレートのビデオデータを受信しているときに、高いビットレートのビデオデータの処理に、高いCPU負荷や大容量のメモリを必要とする場合がある。そのため、サーバ機能部が、クライアント機能部の処理によるCPU負荷の増大や必要メモリ容量の増大などの影響を受けて、単位時間あたりに配信できるデータ量が制限される。
これらの結果として、サーバ機能部が外部のクライアント機器へビットレートの高いビデオデータを配信しようとすると、正常に配信ができない可能性がある。すなわち、サーバ機能部が、正常に配信できないコンテンツを配信してしまう可能性がある。そればかりか、サーバ機能部が正常に配信できないコンテンツの配信を無理に試みると、その配信による影響によって、クライアント機能部によるデータの再生にも支障をきたす可能性がある。
以上のように、クライアント機能部が再生を試みて再生を正常に行えない場合、およびサーバ機能部が配信を試みて配信を正常に行えない場合が起こりえるので、特許文献1のようにクライアントがサーバの使用状況を把握してクライアントを制御するだけでは、共用部分の負荷の増大による悪影響が生じることを回避できない。
本発明は、上記従来の問題点に鑑みなされたものであり、その目的は、同一機器内にサーバ機能部とクライアント機能部とを備える情報処理装置において、それぞれの機能部の動作による共用部分の負荷の増大が、他の機能部に悪影響を与えることを防止できる情報処理装置と、それに用いるプログラムおよび記録媒体とを提供することにある。
本発明に係る情報処理装置は、上記の課題を解決するために、情報の通信および/または処理を行う部分を互いに共用するサーバ部およびクライアント部を備える情報処理装置であって、前記サーバ部は、外部のクライアントに対してネットワーク経由で情報を配信するサーバ本体部と、前記クライアント部の動作状態を監視するクライアント監視部と、クライアント監視部によって監視されたクライアント部の動作状態に基づいて、共用部分に負荷を発生させるような、前記サーバ本体部の動作を制御するサーバ動作制御部とを備え、前記クライアント部は、外部のサーバから配信された情報をネットワーク経由で受信するクライアント本体部と、前記サーバ部の動作状態を監視するサーバ監視部と、サーバ監視部によって監視されたサーバ部の動作状態に基づいて、共用部分に負荷を発生させるような、クライアント本体部の動作を制御するクライアント動作制御部とを備えることを特徴としている。
[背景技術]の項で述べたように、情報の通信および/または処理を行う部分、例えば通信回線、通信回路、デコーダ回路などを互いに共用するサーバ部およびクライアント部を備える情報処理装置においては、サーバ部およびクライアント部の動作が共用部分の負荷の増大(通信回線のトラフィック増大や、通信回路の使用リソース増大、デコーダ回路の使用リソース増大など)を招く。そのため、従来の情報処理装置においては、サーバ部の動作が、共用部分の負荷を過度に増大させることによってサーバ部およびクライアント部の動作に悪影響を与えたり、クライアント部の動作が、共用部分の負荷を過度に増大させることによってサーバ部およびクライアント部の動作に悪影響を与えたりすることがある。
具体的には、例えば、サーバ部がコンテンツの配信を行い、クライアント部がユーザの指示に応じてコンテンツの受信および再生を行う構成の従来の情報処理装置では、ユーザがコンテンツを再生しようとしてコンテンツの再生を指示したが、共用部分の負荷が高すぎるために、クライアント部が、コンテンツの再生を正常に行えず、映像にコマ落ちが生じたり、音声が途切れたりすることがある。すなわち、クライアント部が正常に再生できないコンテンツを再生してしまうことがある。これは、サーバ部によるコンテンツの配信にも悪影響を及ぼす。
また、上記構成の従来の情報処理装置では、共用部分の負荷が高すぎるために、サーバ部がコンテンツの配信を正常に行えない(例えば、配信先のクライアントが要求される速度でコンテンツを送信できない)ことがある。すなわち、サーバ部が正常に配信できないコンテンツを配信してしまうことがある。これは、クライアント部によるコンテンツの再生にも悪影響を及ぼす。
これに対し、上記構成の情報処理装置では、サーバ部およびクライアント部に共有される情報の通信および/または処理を行う部分(共有部)の負荷のうち、サーバ本体部の動作によって生じる負荷がクライアント部の動作状態に基づいてサーバ動作制御部によって調整され、クライアント本体部の動作によって生じる負荷がサーバ部の動作状態に基づいてクライアント動作制御部によって調整される。それゆえ、サーバ部の動作が、共用部分の負荷を過度に増大させることによってクライアント部の動作に悪影響を与えたり、クライアント部の動作が、共用部分の負荷を過度に増大させることによってサーバ部の動作に悪影響を与えたりすることを防止できる。
具体的には、例えば、サーバ部がコンテンツの配信を行い、クライアント部がユーザの指示に応じてコンテンツの受信および再生を行う構成であるとすれば、サーバ部が、クライアント部によるコンテンツの正常な再生を不可能にするような高い負荷を共用部分に与える動作状態である場合に、そのコンテンツをユーザが再生しようとしてもクライアント部が再生しないようにすることができる。これによって、ユーザがコンテンツを再生しようとしたときに、正常でない再生が行われてしまうという事態の発生を防止できると共に、コンテンツの配信が正常に行われるようにすることができる。
また、上記構成の情報処理装置では、例えば、クライアント部が、サーバ部によるコンテンツの正常な配信を不可能にするような高い負荷を共用部分に与える動作状態である場合には、そのコンテンツをサーバ部が配信しないようにすることができる。これによって、コンテンツを正常に配信できないという事態の発生を防止できると共に、コンテンツの再生が正常に行われるようにすることができる。
なお、本願明細書において、コンテンツとは、画像や音声などとして人間に提供される情報、例えば、動画、音声、静止画、文字列、ウェブページなどを指すものとする。また、コンテンツの再生(playing)とは、コンテンツのデータを、人間が知覚可能な形態、例えば画像や音声などとして出力することを指すものとする。
本発明に係る情報処理装置は、上記構成の情報処理装置において、コンテンツを蓄積するコンテンツ蓄積部と、前記外部のクライアントに配信可能なコンテンツのリストを作成するリスト作成部とをさらに備え、前記サーバ本体部は、コンテンツ蓄積部に蓄積されているコンテンツを前記外部のクライアントに配信し、また、リスト作成部で作成された配信可能なコンテンツのリストを前記外部のクライアントに配信するものであり、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記リスト作成部によって作成されるコンテンツのリストを変更する構成であることが好ましい。
上記構成によれば、前記外部のクライアントに配信可能なコンテンツのリストを作成するリスト作成部をさらに備え、前記サーバ本体部は、リスト作成部で作成された配信可能なコンテンツのリストを前記外部のクライアントに配信するようになっている。それゆえ、外部のクライアントは、情報処理装置から配信を受けることが可能なコンテンツを知ることができる。したがって、外部のクライアントが、情報処理装置から配信を受けるコンテンツを選択することができる。
そして、上記構成によれば、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記リスト作成部によって作成されるコンテンツのリストを変更することにより、サーバ部から外部のクライアントに配信するコンテンツを制御することができる。したがって、例えば、クライアント監視部によって監視されたクライアント部の動作状態が共用部分に高い負荷を与えるような動作状態であるときには、サーバ本体部の動作によって生じる共用部分の負荷が低くなるようなコンテンツのみを含むリストをサーバ部から外部のクライアントに配信し、そのようなコンテンツのみをサーバ部から外部のクライアントに配信させることができる。その結果、サーバ部が正常でないコンテンツ配信処理を行ってしまうという事態の発生を防止できると共に、コンテンツの再生が正常に行われるようにすることができる。
また、上記構成によれば、前記サーバ本体部の動作は、制限も停止もされないので、外部のクライアントから配信するように指示されたコンテンツを確実に外部のクライアントへ配信することができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、コンテンツを蓄積するコンテンツ蓄積部をさらに備え、前記サーバ本体部は、コンテンツ蓄積部に蓄積されているコンテンツを前記外部のクライアントに配信するものであり、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記サーバ本体部による外部のクライアントへのコンテンツの配信を制限する構成であってもよい。
上記構成によれば、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記サーバ本体部による外部のクライアントへのコンテンツの配信を制限するようになっている。したがって、クライアント監視部によって監視されたクライアント部の動作状態が共用部分に高い負荷を与えるような動作状態であるときに、サーバ本体部から外部のクライアントへの配信を制限して、サーバ本体部の動作によって生じる共用部分の負荷を低くすることができる。その結果、サーバ部が正常でないコンテンツ配信処理を行ってしまうという事態の発生を防止できると共に、クライアント部によるコンテンツの再生が正常に行われるようにすることができる。
また、上記構成によれば、前記サーバ本体部の動作を完全に停止しないので、前記サーバ本体部が、共用部分にあまり負荷をかけない処理、例えば、ビットレートの低いコンテンツの配信や、コンテンツのリストの配信などを実行することができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記サーバ本体部の全ての動作を停止させる構成であってもよい。
上記構成によれば、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記サーバ本体部の全ての動作を停止させる。したがって、クライアント監視部によって監視されたクライアント部の動作状態が共用部分に高い負荷を与えるような動作状態であるときに、前記サーバ本体部の全ての動作を停止させて、サーバ本体部の動作によって生じる共用部分の負荷をなくすことができる。その結果、サーバ部が正常でないコンテンツ配信処理を行ってしまうという事態の発生を確実に防止できると共に、クライアント部によるコンテンツの再生が正常に行われるようにすることができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント監視部は、前記動作状態として、クライアント部がコンテンツを再生中であるか否かを監視するものであり、前記サーバ動作制御部は、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行う構成であることが好ましい。
上記構成によれば、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行うことができる。クライアント本体部の動作によって共用部分に生じる負荷は、クライアント部で再生されているコンテンツに応じて変化する。そのため、上記構成によれば、クライアント部の動作によって共用部分に生じる負荷に応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行うことができる。その結果、サーバ部が正常でないコンテンツ配信処理を行ってしまうという事態の発生をより確実に防止できると共に、クライアント部によるコンテンツの再生が正常に行われることをより確実に実現できる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント監視部は、さらに、クライアント部がコンテンツを再生中であるときに、再生されているコンテンツのビットレートを監視するものであり、前記サーバ動作制御部は、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、クライアント監視部によって監視されたコンテンツのビットレートに応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行う構成であることが好ましい。
上記構成によれば、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、再生されているコンテンツのビットレートに応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行うことができる。クライアント本体部の動作によって共用部分に生じる負荷は、クライアント部で再生されているコンテンツのビットレートに応じて変化する。そのため、上記構成によれば、クライアント本体部の動作によって共用部分に生じる負荷に応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行うことができる。その結果、サーバ部が正常でないコンテンツ配信処理を行ってしまうという事態の発生をより確実に防止できると共に、クライアント部によるコンテンツの再生が正常に行われることをより確実に実現できる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記共用部分は、符号化されたコンテンツを復号する復号部を含み、前記クライアント監視部は、さらに、クライアント部が符号化されたコンテンツを復号部で復号して再生しているときに、再生されているコンテンツの符号化形式を監視するものであり、前記サーバ本体部は、符号化されたコンテンツを復号部で復号して外部のクライアントへ配信するものであり、前記サーバ動作制御部は、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、クライアント監視部によって監視されたコンテンツの符号化形式に応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行う構成であってもよい。
上記構成では、例えば、復号部が同一の符号化形式のコンテンツを複数同時に復号できない場合、ある符号化方式のコンテンツを再生中であるときに、その符号化方式のコンテンツをコンテンツのリストから削除することで、その符号化方式のコンテンツを配信する指示を外部のクライアントが情報処理装置に送ることを禁止できる。したがって、外部のクライアントがコンテンツの配信指示を情報処理装置に送ったにもかかわらず、コンテンツの配信が行えないという事態を回避できる。
また、上記構成では、例えば、復号部が同一の符号化形式のコンテンツを複数同時に復号できない場合、ある符号化方式のコンテンツを再生中であるときに、その符号化方式のコンテンツの配信を行わないように、コンテンツの配信の制限、またはサーバ本体部の全ての動作の停止を行うことで、サーバ部が正常でないコンテンツ配信処理を行ってしまうという事態の発生をより確実に防止できると共に、クライアント部によるコンテンツの再生が正常に行われることをより確実に実現できる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント本体部は、前記外部のサーバから配信されるコンテンツを受信し、また、前記外部のサーバから配信可能なコンテンツのリストを取得するものであり、前記クライアント部は、前記クライアント本体部で受信されたコンテンツを再生する再生部をさらに備え、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、外部のサーバから受信したコンテンツのリストを変更する構成であることが好ましい。
上記構成によれば、クライアント本体部は、外部のサーバから配信可能なコンテンツのリストを取得するものである。それゆえ、情報処理装置が、外部のサーバから配信を受けることが可能なコンテンツを知ることができる。したがって、情報処理装置あるいはそのユーザが、外部のサーバから配信を受けるコンテンツを選択することができる。
そして、上記構成によれば、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、外部のサーバから受信したコンテンツのリストを変更することにより、クライアント部が外部のサーバから受信するコンテンツを制御することができる。したがって、例えば、サーバ監視部によって監視されたサーバ部の動作状態が共用部分に高い負荷を与えるような動作状態であるときには、外部のサーバから受信したコンテンツのリストからクライアント本体部の動作によって生じる共用部分の負荷が高くなるようなコンテンツを削除し、そのようなコンテンツの受信および配信を禁止することができる。その結果、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生を防止できる。
また、上記構成によれば、前記コンテンツ本体部の動作は、制限も停止もされないので、外部のサーバから受信したコンテンツを確実に再生することができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント本体部は、前記外部のサーバから配信されるコンテンツを受信するものであり、前記クライアント部は、前記クライアント本体部で受信されたコンテンツを再生する再生部をさらに備え、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、前記クライアント本体部による外部のサーバからのコンテンツの受信および再生を制限する構成であってもよい。
上記構成によれば、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、前記クライアント本体部による外部のサーバからのコンテンツの受信および再生を制限するようになっている。したがって、サーバ監視部によって監視されたサーバ部の動作状態が共用部分に高い負荷を与えるような動作状態であるときに、クライアント本体部による外部のサーバからのコンテンツの受信および再生を制限して、クライアント本体部の動作によって生じる共用部分の負荷を低くすることができる。その結果、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生を防止できると共に、サーバ部によるコンテンツの配信が正常に行われるようにすることができる。
また、上記構成によれば、前記クライアント本体部の動作を完全に停止しないので、前記クライアント本体部が、共用部分にあまり負荷をかけない処理、例えば、ビットレートの低いコンテンツの再生や、コンテンツのリストの受信などを実行することができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、前記クライアント本体部の全ての動作を停止させる構成であってもよい。
上記構成によれば、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、前記クライアント本体部の全ての動作を停止させる。したがって、サーバ監視部によって監視されたサーバ部の動作状態が共用部分に高い負荷を与えるような動作状態であるときに、前記クライアント本体部の全ての動作を停止させて、クライアント本体部の動作によって生じる共用部分の負荷をなくすことができる。その結果、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生を確実に防止できると共に、サーバ部によるコンテンツの配信が正常に行われるようにすることができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ監視部は、前記動作状態として、サーバ部がコンテンツを配信中であるか否かを監視するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行う構成であることが好ましい。
上記構成によれば、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、配信されているコンテンツに応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことができる。サーバ本体部の動作によって共用部分に生じる負荷は、サーバ部から配信されているコンテンツに応じて変化する。そのため、上記構成によれば、サーバ本体部の動作によって共用部分に生じる負荷に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことができる。その結果、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生をより確実に防止できると共に、サーバ部によるコンテンツの配信が正常に行われることをより確実に実現できる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ監視部は、さらに、サーバ部がコンテンツを配信中であるときに、配信されているコンテンツのビットレートを監視するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、サーバ監視部によって監視されたコンテンツのビットレートに応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行う構成であってもよい。
上記構成によれば、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、配信されているコンテンツのビットレートに応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことができる。サーバ本体部の動作によって共用部分に生じる負荷は、サーバ部から配信されているコンテンツのビットレートに応じて変化する。そのため、上記構成によれば、サーバ本体部の動作によって共用部分に生じる負荷に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことができる。その結果、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生をより確実に防止できると共に、サーバ部によるコンテンツの配信が正常に行われることをより確実に実現できる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記共用部分は、符号化されたコンテンツを復号する復号部を含み、前記サーバ監視部は、さらに、サーバ部が符号化されたコンテンツを復号部で復号して外部のクライアントへ配信しているときに、復号されているコンテンツの符号化形式を監視するものであり、前記クライアント本体部は、符号化されたコンテンツを復号部で復号して再生するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、サーバ監視部によって監視されたコンテンツの符号化形式に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行う構成であってもよい。
上記構成では、例えば、復号部が同一の符号化形式のコンテンツを複数同時に復号できない場合、ある符号化方式のコンテンツを配信中であるときに、その符号化方式のコンテンツをコンテンツのリストから削除することで、その符号化方式のコンテンツを再生する指示が情報処理装置に入力されることを回避できる。したがって、コンテンツを再生する指示が情報処理装置に入力されたにもかかわらず、コンテンツの再生が行えないという事態を回避できる。
また、上記構成では、例えば、復号部が同一の符号化形式のコンテンツを複数同時に復号できない場合、ある符号化方式のコンテンツを配信中であるときに、その符号化方式のコンテンツの再生を行わないように、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことで、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生をより確実に防止できると共に、サーバ部によるコンテンツの配信が正常に行われることをより確実に実現できる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ監視部は、さらに、サーバ部がコンテンツを配信中であるときに、配信されているコンテンツの数を監視するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、サーバ監視部によって監視されたコンテンツの数に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行う構成であってもよい。
上記構成によれば、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、配信されているコンテンツの数に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことができる。サーバ本体部の動作によって共用部分に生じる負荷は、サーバ部で再生されているコンテンツの数に応じて変化する。そのため、上記構成によれば、サーバ本体部の動作によって共用部分に生じる負荷に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント本体部の全ての動作の停止を行うことができる。その結果、クライアント部が正常でないコンテンツ再生処理を行ってしまうという事態の発生をより確実に防止できると共に、サーバ部によるコンテンツの配信が正常に行われることをより確実に実現できる。
なお、上記各構成の情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記サーバ部および/またはクライアント部として動作させることにより上記情報処理装置の少なくとも一部をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明に係る情報処理装置は、上記の課題を解決するために、外部のクライアントに対してネットワーク経由で情報を配信するサーバ部と、外部のサーバから配信された情報をネットワーク経由で受信するクライアント部とを備え、サーバ部およびクライアント部が、情報の通信および/または処理を行う部分を互いに共用する情報処理装置であって、サーバ部およびクライアント部の動作を制御する管理部をさらに備え、前記管理部は、前記クライアント部の動作状態を監視するクライアント監視部と、クライアント監視部によって監視されたクライアント部の動作状態に基づいて、共用部分に負荷を発生させるような、前記サーバ部の動作を制御するサーバ動作制御部とを備え、前記サーバ部の動作状態を監視するサーバ監視部と、サーバ監視部によって監視されたサーバ部の動作状態に基づいて、共用部分に負荷を発生させるような、前記クライアント部の動作を制御するクライアント動作制御部とを備えることを特徴としている。
上記構成によれば、サーバ部およびクライアント部に共有される情報の通信および/または処理を行う部分(共有部)の負荷のうち、サーバ部の動作によって生じる負荷がクライアント部の動作状態に基づいて管理部のサーバ動作制御部によって調整され、クライアント部の動作によって生じる負荷がサーバ部の動作状態に基づいて管理部のクライアント動作制御部によって調整される。それゆえ、サーバ部の動作が、共用部分の負荷を過度に増大させることによってクライアント部の動作に悪影響を与えたり、クライアント部の動作が、共用部分の負荷を過度に増大させることによってサーバ部の動作に悪影響を与えたりすることを防止できる。
具体的には、例えば、サーバ部がコンテンツの配信を行い、クライアント部がユーザの指示に応じてコンテンツの受信および再生を行う構成であるとすれば、サーバ部が、クライアント部によるコンテンツの正常な再生を不可能にするような高い負荷を共用部分に与える動作状態である場合に、そのコンテンツをユーザが再生しようとしてもクライアント部が再生しないようにすることができる。これによって、ユーザがコンテンツを再生しようとしたときに、正常でない再生が行われてしまうという事態の発生を防止できると共に、コンテンツの配信が正常に行われるようにすることができる。
また、上記構成の情報処理装置では、例えば、クライアント部が、サーバ部によるコンテンツの正常な配信を不可能にするような高い負荷を共用部分に与える動作状態である場合には、そのコンテンツをサーバ部が配信しないようにすることができる。これによって、コンテンツを正常に配信できないという事態の発生を防止できると共に、コンテンツの再生が正常に行われるようにすることができる。
本発明に係る情報処理装置は、上記構成の情報処理装置において、コンテンツを蓄積するコンテンツ蓄積部と、前記外部のクライアントに配信可能なコンテンツのリストを作成するリスト作成部とをさらに備え、前記サーバ部は、コンテンツ蓄積部に蓄積されているコンテンツを前記外部のクライアントに配信し、また、リスト作成部で作成された配信可能なコンテンツのリストを前記外部のクライアントに配信するものであり、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記リスト作成部によって作成されるコンテンツのリストを変更する構成であることが好ましい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、コンテンツを蓄積するコンテンツ蓄積部をさらに備え、前記サーバ部は、コンテンツ蓄積部に蓄積されているコンテンツを前記外部のクライアントに配信するものであり、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記サーバ部による外部のクライアントへのコンテンツの配信を制限する構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ動作制御部は、クライアント監視部によって監視されたクライアント部の動作状態に基づき、前記サーバ部の全ての動作を停止させる構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント監視部は、前記動作状態として、クライアント部がコンテンツを再生中であるか否かを監視するものであり、前記サーバ動作制御部は、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ部の全ての動作の停止を行う構成であることが好ましい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント監視部は、さらに、クライアント部がコンテンツを再生中であるときに、再生されているコンテンツのビットレートを監視するものであり、前記サーバ動作制御部は、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、クライアント監視部によって監視されたコンテンツのビットレートに応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ部の全ての動作の停止を行う構成であることが好ましい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記共用部分は、符号化されたコンテンツを復号する復号部を含み、前記クライアント監視部は、さらに、クライアント部が符号化されたコンテンツを復号部で復号して再生しているときに、再生されているコンテンツの符号化形式を監視するものであり、前記サーバ部は、符号化されたコンテンツを復号部で復号して外部のクライアントへ配信するものであり、前記サーバ動作制御部は、クライアント監視部によって監視された動作状態がコンテンツを再生中であるときに、クライアント監視部によって監視されたコンテンツの符号化形式に応じて、コンテンツのリストの変更、コンテンツの配信の制限、またはサーバ部の全ての動作の停止を行う構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント部は、前記外部のサーバから配信されるコンテンツを受信し、また、前記外部のサーバから配信可能なコンテンツのリストを取得するものであり、前記クライアント部は、前記クライアント部で受信されたコンテンツを再生する再生部をさらに備え、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、外部のサーバから受信したコンテンツのリストを変更する構成であることが好ましい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント部は、前記外部のサーバから配信されるコンテンツを受信するものであり、前記クライアント部は、前記クライアント部で受信されたコンテンツを再生する再生部をさらに備え、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、前記クライアント部による外部のサーバからのコンテンツの受信および再生を制限する構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記クライアント動作制御部は、サーバ監視部によって監視されたサーバ部の動作状態に基づき、前記クライアント部の全ての動作を停止させる構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ監視部は、前記動作状態として、サーバ部がコンテンツを配信中であるか否かを監視するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント部の全ての動作の停止を行う構成であることが好ましい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ監視部は、さらに、サーバ部がコンテンツを配信中であるときに、配信されているコンテンツのビットレートを監視するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、サーバ監視部によって監視されたコンテンツのビットレートに応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント部の全ての動作の停止を行う構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記共用部分は、符号化されたコンテンツを復号する復号部を含み、前記サーバ監視部は、さらに、サーバ部が符号化されたコンテンツを復号部で復号して外部のクライアントへ配信しているときに、復号されているコンテンツの符号化形式を監視するものであり、前記クライアント部は、符号化されたコンテンツを復号部で復号して再生するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、サーバ監視部によって監視されたコンテンツの符号化形式に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント部の全ての動作の停止を行う構成であってもよい。
本発明に係る情報処理装置は、上記構成の情報処理装置において、前記サーバ監視部は、さらに、サーバ部がコンテンツを配信中であるときに、配信されているコンテンツの数を監視するものであり、前記クライアント動作制御部は、サーバ監視部によって監視された動作状態がコンテンツを配信中であるときに、サーバ監視部によって監視されたコンテンツの数に応じて、コンテンツのリストの変更、コンテンツの再生の制限、またはクライアント部の全ての動作の停止を行う構成であってもよい。
なお、上記各構成の情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを、上記サーバ部、クライアント部、および管理部からなる群より選ばれる少なくとも1つとして動作させることにより上記情報処理装置の少なくとも一部をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は、以上のように、サーバ機能部とクライアント機能部とを備える情報処理装置において、それぞれの機能部の動作による共用部分の負荷の増大が、他の機能部に悪影響を与えることを防止できる情報処理装置と、それに用いるプログラムおよび記録媒体とを提供することができるという効果を奏する。
本発明に係る情報処理装置は、コンテンツ等の情報を提供するサーバ部と再生しようとするコンテンツなどの情報を受信するクライアント部とを同一機器内に備え、サーバ部とクライアント部とが情報の通信および/または処理を行う部分(共用部分)を互いに共用する情報処理装置において、サーバ機能部およびクライアント機能部が、他方の動作状況に応じて自らの機能の動作を制御するものである。
本発明によれば、以上のような動作の制御によって、サーバ部およびクライアント部の一方の動作が、共用部分の負荷の過度な増大(通信回線のトラフィックの増大や、機器の使用リソースの増大など)を招き、他方の動作に、受信や配信などが正常に行えないという問題を引き起こすことを防止できる。その結果、サーバ部およびクライアント部の動作を確実に行わせることができる。
例えば、クライアント部が正常に再生できないコンテンツをユーザが再生指示できないように、クライアント部の動作を制御することによって、ユーザがコンテンツを再生しようとしたが、うまく再生ができないという状況を無くすことができる。また、無理な再生が試みられることが回避されるので、共用部分に過剰な負荷が生じることが防止できる。その結果、サーバ部がコンテンツの配信を正常に行うことができる。
また、その逆も同様で、サーバ部が正常に配信できないコンテンツを配信しようとしないように、サーバ部の動作を制御することによって、サーバ部がコンテンツを配信しようとしたが、うまく配信ができないという状況を無くすことができる。また,無理な配信が試みられることが回避されるので、共用部分に過剰な負荷が生じることが防止できる。その結果、クライアント部がコンテンツの再生を正常に行うことができる。
本発明に係るコンテンツのサーバ機能部及びクライアント機能部を備えた情報処理装置の実施の形態として2種類の実施の形態を、図面を参照しながら以下に説明する。
以下の説明では、サーバ機能部が情報としてコンテンツを配信し、クライアント機能部が情報としてコンテンツを受信しながら受信したコンテンツを再生(ストリーミング再生)する場合について説明する。しかしながら、本発明は、このような場合に限定されるものではなく、本発明は、サーバ機能部が配信する情報や、クライアント部が受信する情報が、コンテンツ以外の情報、例えば、プログラム、フォント、認証情報などである場合にも適用可能である。
また、以下の説明では、クライアント機能部が、動画および静止画のコンテンツの再生を行うことによって動画および静止画を表示装置に表示させることができ、かつ、音声のコンテンツの再生を行うことによって音声を音声出力装置から出力させることができる場合について説明する。しかしながら、情報処理装置の出力形態は、特に限定されるものではなく、例えば音声出力専用や画像(動画および/または静止画)出力専用であってもよい。さらに、クライアント機能部は、コンテンツを受信しながら受信したコンテンツを再生(ストリーミング再生)する構成、コンテンツの受信を完了した後でコンテンツの再生を行う構成、およびコンテンツの再生を行わない構成の何れであってもよい。
また、以下の説明では、サーバ機能部が配信可能なコンテンツのリスト(以下、「コンテンツリストと称する)を外部のクライアントに配信し、クライアント機能部が外部のクライアントからコンテンツリストを受信し表示装置に表示させる場合について説明する。しかしながら、本発明に係る情報処理装置は、コンテンツリストの配信および受信を行わない構成であってもよい。ただし、サーバ機能部がコンテンツリストを外部のクライアントに配信するようになっている方が、外部のクライアントが、情報処理装置から配信を受けることが可能なコンテンツを知り、情報処理装置から配信を受けるコンテンツを選択することができるので好ましい。また、クライアント機能部がコンテンツリストを外部のサーバから受信するようになっている方が、情報処理装置が、外部のサーバから配信を受けることが可能なコンテンツを知り、外部のサーバから配信を受けるコンテンツを選択することができるので好ましい。
図1は、ホームネットワークにおける、実施の形態1・2に係るコンテンツのサーバ機能及びクライアント機能を備えた情報処理装置を含むシステム(機器構成)の一例を示した図である。
ローカルエリアネットワーク(LAN)11上には、ローカルエリアネットワーク11通信ネットワークを介した情報の通信が可能な通信手段を持つ複数の機器が接続されている。
これら機器同士で情報を伝送することができるように、これら機器の通信手段同士を接続し、通信ネットワークを構成する媒体(伝送媒体)としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線、光ファイバ回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
また、ここでは、ネットワークがローカルエリアネットワーク11である場合について説明するが、ネットワークの種類は、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等であってもよい。
ローカルエリアネットワーク11上に接続された複数の機器は、コンテンツサーバ機器(外部のサーバ)12、コンテンツクライアント機器(外部のクライアント)13、および、本実施形態に係るコンテンツのサーバ機能及びクライアント機能を備えた情報処理装置としてのサーバ・クライアント機器14または14Aを含んでいる。
コンテンツサーバ機器12は、動画、静止画、音楽などのコンテンツを蓄積しており、それをネットワークで接続された他のクライアントに提供する機器である。
コンテンツクライアント機器13は、ネットワークで接続された他のサーバから動画、静止画、音楽などのコンテンツを受信(閲覧)し、受信したコンテンツを再生する機器である。
サーバ・クライアント機器14または14Aは、実施の形態1・2で説明する、サーバおよびクライアントの両方の機能を備える情報処理装置である。
このシステムにおいては、コンテンツがサーバ(コンテンツサーバ機器12またはサーバ・クライアント機器14または14Aのサーバ機能部)からクライアント(コンテンツクライアント機器13またはサーバ・クライアント機器14または14Aのクライアント機能部)へ配信される前に、コンテンツリストがサーバからクライアントへ配信されるようになっている。コンテンツリストとは、サーバがクライアントに対して配信できる(提供できる)コンテンツを示す情報であり、例えば、配信可能なコンテンツの名称を並べて示すリスト形式で提供される。
図17は、本実施形態における、サーバからクライアントに対して送信されるコンテンツリストの例を示した図である。この例は、コンテンツリストが動画のコンテンツのみを含む例である。
この図のコンテンツリストには、4つの動画のコンテンツに関する情報が含まれている。各コンテンツに関して、コンテンツのタイトル171、コンテンツのデータサイズ172、コンテンツの作成日付173、コンテンツの提供元を示すアドレス(URL)174、コンテンツのビットレート175、コンテンツの解像度(サイズ)176、コンテンツの再生時間177、およびMPEG2やMPEG4などのコンテンツのタイプ(符号化形式)178の属性情報がコンテンツリストに含まれている。タイプ178は、符号化形式に関する情報に加えて、サーバ機能部23が配信しているコンテンツのメディアタイプ(音楽、静止画、動画などのタイプ)に関する情報を含んでいてもよい。
なお、コンテンツリストは、ユーザがコンテンツ同士を区別できるような情報を含むものであれば、図示した例に限定されるものではなく、例えば、各コンテンツのタイトル171のみであってもよい。また、コンテンツリストには、図示した以外の情報、例えばジャンルを示すアイコンやプレビュー画像などが含まれていてもよい。
ここで、本実施形態について説明する前に、クライアントでコンテンツを再生するまでの、サーバとクライアントとの間の処理の一般的な流れを図18のシーケンス図を参照しながら説明する。ここでは、コンテンツが動画である場合について説明する。
クライアント(コンテンツクライアント機器13またはサーバ・クライアント機器14または14Aのクライアント機能部)は、まずクライアントを利用している使用者からの入力操作を入力部で受け付け入力解析部で解析する。そして、解析の結果、その入力操作がコンテンツリストの取得を要求する操作であれば(S181)、それに対応する要求メッセージを送信メッセージ生成部で生成してサーバに送信する(S182)。
サーバ(コンテンツサーバ機器12またはサーバ・クライアント機器14または14Aのサーバ機能部)は、クライアントからコンテンツリストを要求するリクエストを受信メッセージ解析部で受信すると、それに対応するコンテンツリストをコンテンツリスト生成部で生成してクライアントに送信する(S183)。
クライアントは、サーバから送信されたコンテンツリストを受信すると、それを表示装置の表示画面に表示させる。使用者は、その表示されたリストの中から再生したいコンテンツを選択する選択操作を行った後、再生の開始操作をする(S184)。クライアントは、その選択操作および再生の開始操作を入力部で受け付け入力解析部で解析する。そして、クライアントは、解析結果に基づき、使用者によって選択されたコンテンツの取得を要求するリクエストを送信メッセージ生成部で生成してサーバに送信する(S185)。
サーバは、クライアントからコンテンツを要求するリクエストを受信すると、対応するコンテンツのデータを記憶部から読み出してクライアントに送信する(S186)。
クライアントは、サーバから送信されたコンテンツのデータを受信しながら、そのコンテンツを表示装置の表示画面に表示させる(S187)。すなわち、クライアントは、コンテンツをストリーミング再生する。
以上が一般的な、コンテンツ再生までの、サーバとクライアントとの間における処理の流れである。
〔実施の形態1〕
本発明に係るコンテンツのサーバ機能とクライアント機能の両方を備えた情報処理装置の実施の形態について、クライアント機能、サーバ機能それぞれの動作についての実施の一形態を図2〜図8及び図19に基づいて説明する。
図2は、本実施形態に係るサーバ・クライアント機器の内部構造を示した図である。
図2に示すように、本実施形態に係るサーバ・クライアント機器14は、記憶部(コンテンツ蓄積部)21、クライアント機能部(クライアント部)22、サーバ機能部(サーバ部)23、出力部24、通信部25、エンコーダ部26、デコーダ部(復号部)27、入力部28、および制御部29を備えている。
記憶部21は、コンテンツのデータを蓄積すると共に、操作画面のデータなどを記憶するためのものである。記憶部21は、コンテンツのデータと共に、コンテンツの一覧であるコンテンツリストのデータを予め蓄積するようになっていてもよく、コンテンツリストのデータを予め蓄積するようになっていなくてもよい。
クライアント機能部22は、他のサーバ機器(外部のサーバ)から送信(配信)されたコンテンツおよびコンテンツリストのデータをローカルエリアネットワーク経由で受信するものである。また、クライアント機能部22は、受信した動画や静止画などのコンテンツおよびコンテンツリストのデータを表示装置(図示しない)に画像として表示させるために、受信したコンテンツおよびコンテンツリストのデータを表示装置(図示しない)へ出力する。表示装置は、サーバ・クライアント機器に内蔵されていてもよく、サーバ・クライアント機器の外部に配置されサーバ・クライアント機器に接続されていてもよい。また、クライアント機能部22は、受信した音声付き動画のコンテンツや音声のコンテンツなどをスピーカ(図示しない)から音声として出力させるために、受信したコンテンツのデータをスピーカ(図示しない)へ出力する。
サーバ機能部23は、コンテンツおよびコンテンツリストのデータをローカルエリアネットワーク経由で外部のクライアント機器へ提供(配信)するものである。また、サーバ機能部23は、必要に応じて、コンテンツを、トランスコード(符号化形式やビットレートを変換)してから、外部のクライアント機器へ提供(配信)する。
出力部24は、クライアント機能部22から出力されたコンテンツおよびコンテンツリストのデータや、操作画面のデータなどを、内蔵あるいは外部の表示装置に対して出力するものである。
通信部25は、クライアント機能部22およびサーバ機能部23によるローカルエリアネットワークを介したデータの送受信を行うものである。すなわち、通信部25は、クライアント機能部22およびサーバ機能部23から送られたデータをローカルエリアネットワーク経由で外部の機器(サーバ機器やクライアント機器)へ送信すると共に、ローカルエリアネットワーク経由で外部の機器(サーバ機器やクライアント機器)からデータを受信しクライアント機能部22およびサーバ機能部23へ送る。したがって、本実施形態では、クライアント機能部22およびサーバ機能部23は、符号化されたコンテンツのデータをデコード(復号)するデコーダ部27を共用するようになっている。
エンコーダ部26は、サーバ機能部23またはデコーダ部27から送られたコンテンツのデータをエンコードし、通信部25へ送るようになっている。
デコーダ部27は、クライアント機能部22から送られた符号化されたコンテンツのデータをデコード(復号)し、出力部24へ送るようになっている。また、デコーダ部27は、記憶部21から読み出されたコンテンツをトランスコードする場合には、コンテンツをデコード(復号)してエンコーダ部26へ送るようになっている。したがって、本実施形態では、クライアント機能部22およびサーバ機能部23は、情報の通信を行う通信部25および通信回線(ローカルエリアネットワーク)を共用するようになっている。
入力部28は、使用者からの操作入力を受け付け、使用者からの操作入力を示す入力情報を出力するようになっている。
制御部29は、記憶部21、クライアント機能部(クライアント部)22、サーバ機能部(サーバ部)23、出力部24、通信部25、エンコーダ部26、デコーダ部(復号部)27、および入力部28を制御するものである。
図3は、サーバ・クライアント機器14のクライアント機能部22の内部構造を示した図である。
クライアント機能部22は、図3に示すように、データ送受信部(クライアント本体部)31、送信メッセージ生成部(クライアント本体部)32、受信メッセージ解析部(クライアント本体部)33、表示データ生成部(クライアント本体部、再生部)35、入力解析部(クライアント本体部)36、サーバ情報管理部(サーバ監視部)37、コンテンツリスト加工部(クライアント動作制御部)38、および制御部34を備えている。
データ送受信部31は、サーバ・クライアント機器14の各部(クライアント機能部22以外の部分)との間でデータを送受信する。
送信メッセージ生成部32は、ローカルエリアネットワークで接続された外部のサーバ機器(図1のコンテンツサーバ機器12)に送信するメッセージを作成し、データ送受信部31および通信部25を介して外部のサーバ機器(図1のコンテンツサーバ機器12)へ送信する。また、送信メッセージ生成部32は、クライアント機能部22の動作状態を示す情報(後述する)をデータ送受信部31を介してサーバ機能部23へ送る。
受信メッセージ解析部33は、外部のサーバ機器(図1のコンテンツサーバ機器12)から通信部25およびデータ送受信部31を介して受信したメッセージを解析する。
表示データ生成部35は、出力部24を通じて表示装置に画像を表示させるための表示データを生成する。生成された表示データは、データ送受信部31から出力部24を通じて表示装置に出力され、表示装置に画像として表示される。
入力解析部36は、入力部28から出力された入力情報を解析し処理する。
サーバ情報管理部37は、サーバ機能部23の動作状態を監視するものであり、サーバ機能部23の動作状態を示す情報をサーバ機能部23の送信メッセージ生成部42からデータ送受信部41・31を介して取得し管理(保持)する。サーバ情報管理部37は、例えば、サーバ機能部23の動作状態を示す情報として、図19(a)に示すように、サーバ機能部23がコンテンツのデータを配信中であるかどうかを表す配信状況情報191、サーバ機能部23が配信しているコンテンツのビットレート(動画や音声などのコンテンツをストリーミング再生するために必要な転送レート;再生時間あたりのビット数に相当する)を表すビットレート情報192、および、サーバ機能部23が配信しているコンテンツの元のタイプ(記憶部21から読み出されるコンテンツの符号化形式)を表すタイプ情報193を取得し管理(保持)する。さらに、サーバ情報管理部37は、サーバ機能部23の動作状態を示す情報として、サーバ機能部23が配信しているコンテンツの数(サーバ・クライアント機器14から外部へ送出しているコンテンツのデータストリームの本数)を取得し管理する。サーバ情報管理部37は、サーバ機能部23の動作状態を示す情報として、サーバ機能部23がコンテンツのデータをトランスコードしているかどうかを表すトランスコード情報を取得し管理する。
なお、サーバ機能部23の動作状態を示す情報は、サーバ機能部23の負荷に関係する情報であれば、上述した4種類の情報に限定されるものではない。また、ここでは、サーバ機能部23は、上述した4種類の情報を全て取得するようになっていたが、サーバ機能部23は、上述した4種類の情報の一部を取得するものであってもよい。
コンテンツリスト加工部38は、クライアント情報管理部46に管理されている、クライアント機能部22の動作状態を示す情報に基づいて、コンテンツリストを変更し、そのことによって、共用部分(通信回線、通信部25、およびデコーダ部27)に負荷を発生させるような、クライアント機能部22の動作(通信回線および通信部に負荷を発生させる受信動作や、デコーダ部27に負荷を発生させる再生動作など)を間接的に制御する。
制御部34は、データ送受信部31、送信メッセージ生成部32、受信メッセージ解析部33、表示データ生成部35、入力解析部36、サーバ情報管理部37、およびコンテンツリスト加工部38を制御するものである。
クライアント機能部22は、使用者の入力操作に応じて、ネットワークで接続された他のサーバ機器からコンテンツリストを取得して表示装置に表示させたり、取得したコンテンツリストの中から使用者が選択したコンテンツを再生したりする機能を提供する。
図4は、サーバ・クライアント機器14のサーバ機能部23の内部構造を示した図である。
サーバ機能部23は、図4に示すように、データ送受信部(サーバ本体部)41、送信メッセージ生成部(サーバ本体部)42、受信メッセージ解析部(サーバ本体部)43、コンテンツリスト生成部(リスト作成部、サーバ動作制御部)45、クライアント情報管理部(クライアント監視部)46、および制御部44を備えている。
データ送受信部41は、サーバ・クライアント機器14の各部(サーバ機能部23以外の部分)との間でデータを送受信する。
送信メッセージ生成部42は、ネットワークで接続された外部のクライアント機器(図1のコンテンツクライアント機器13)に送信するメッセージを生成し、データ送受信部41および通信部25を介して外部のクライアント機器(図1のコンテンツクライアント機器13)へ送信する。また、送信メッセージ生成部42は、サーバ機能部23の動作状態を示す情報(配信状況情報191、ビットレート情報192、タイプ情報193、サーバ機能部23が配信しているコンテンツの数など)をデータ送受信部41を介してクライアント機能部22へ送る。
受信メッセージ解析部43は、外部のクライアント機器(図1のコンテンツクライアント機器13)から通信部25およびデータ送受信部41を介して受信したメッセージを解析する。
コンテンツリスト生成部45は、サーバ機能部23が外部のクライアント機器へ配信可能なコンテンツのリストを生成し、データ送受信部41および通信部25を介して外部のクライアント機器へ送信する。コンテンツリスト生成部45は、記憶部21にコンテンツのデータと共に、コンテンツの一覧であるコンテンツリストのデータが予め蓄積されている場合には、記憶部21に予め蓄積されているコンテンツリストのデータを元に、外部のクライアント機器へ送信するコンテンツのリストを生成することができる。一方、記憶部21にコンテンツのデータと共に、コンテンツの一覧であるコンテンツリストのデータが予め蓄積されていない場合には、、記憶部21に蓄積されているコンテンツを参照あるいは検索して動的にコンテンツリスト生成することができる。
さらに、コンテンツリスト生成部45は、クライアント情報管理部46に管理されている、クライアント機能部22の動作状態を示す情報に基づいて、コンテンツリストを変更し、そのことによって、共用部分(通信回線、通信部25、およびデコーダ部27)に負荷を発生させるような、サーバ機能部23の動作(通信回線および通信部に負荷を発生させる配信動作や、デコーダ部27に負荷を発生させるトランスコード動作など)を間接的に制御する。
クライアント情報管理部46は、クライアント機能部22の動作状態を監視するものであり、クライアント機能部22の動作状態を示す情報をクライアント機能部22の送信メッセージ生成部32からデータ送受信部31・41を介して取得し管理(保持)する。クライアント情報管理部46は、クライアント機能部22の動作状態を示す情報として、図19(b)に示すように、クライアント機能部22がコンテンツを再生中であるかどうかの再生状況情報194、クライアント機能部22が再生中のコンテンツのビットレートを表すビットレート情報195、クライアント機能部22が再生中のコンテンツのタイプ(符号化形式)を表すタイプ情報196などの情報(データ)を取得し管理する。なお、クライアント機能部22の動作状態を示す情報は、クライアント機能部22の負荷に関係する情報であれば、上述した3種類の情報に限定されるものではない。また、ここでは、クライアント機能部22は、上述した3種類の情報を全て取得するようになっていたが、サーバ機能部23は、上述した3種類の情報の一部を取得するものであってもよい。
制御部44は、データ送受信部41、送信メッセージ生成部42、受信メッセージ解析部43、コンテンツリスト生成部45、およびクライアント情報管理部46を制御するものである。
次に、クライアント機能部22の動作の流れに関連する、サーバ・クライアント機器14の動作の流れについて、図5に基づいて説明する。
サーバ・クライアント機器14の通信部25は、ネットワークで接続されたコンテンツサーバ機器12からデータを受信すると(S51)、受信したデータがサーバ機能部23宛てのデータかクライアント機能部22宛てのデータかを判定する(S52)。通信部25は、受信したデータがクライアント機能部22宛てであれば、受信したデータをクライアント機能部22へ送り、そのデータをクライアント機能部22で処理させる(S53)。
次に、使用者から入力操作を受け付けたときのクライアント機能部22の動作の流れを図7に基づいて説明する。
入力解析部36が、サーバ・クライアント機器14の入力部28に入力された使用者の入力操作を受け付けると(S71)、コンテンツリストに対する入力操作かコンテンツに対する入力操作かを判定する(S72)。
コンテンツリストに対する入力操作としては、コンテンツサーバ機器12からのコンテンツリストの取得や検索、コンテンツサーバ機器12から取得したコンテンツリスト中でのソート(コンテンツの並び順のソート)や詳細情報(コンテンツリスト中のコンテンツに関する情報であって、コンテンツリスト中に含まれる情報よりも詳細な情報)の表示などが挙げられる。コンテンツに対する入力操作としては、コンテンツサーバ機器12から配信されるコンテンツのデータの再生、停止、早送り、巻き戻しなどが挙げられる。
S72の判定において、使用者の入力操作がコンテンツに対する入力操作であると入力解析部36で判定された場合、その入力操作に対応するメッセージを送信メッセージ生成部32にて生成する(S73)。送信メッセージ生成部32にて生成されたメッセージは、データ送受信部31および通信部25によってコンテンツサーバ機器12へ送信される(S74)。また、送信メッセージ生成部32は、使用者によって指示されたクライアント機能部22の再生動作を示す情報(再生対象のコンテンツの情報を含む)をクライアント機能部22の動作状態を示す情報としてサーバ機能部23へ送信する。コンテンツサーバ機器12は、S74の処理で送信されたメッセージを受信すると、そのメッセージに対応するコンテンツデータをサーバ・クライアント機器14へ送信する。
次いで、クライアント機能部22は、S74の処理で送信したメッセージに対応するコンテンツデータをコンテンツサーバ機器12から受信し、その後、図6のフローチャートに示す動作を行う。
S72の判定において、使用者の入力操作がコンテンツリストに対する入力操作であると入力解析部36で判定された場合、その入力操作に対応するメッセージを送信メッセージ生成部32が生成する(S76)。そして、送信メッセージ生成部32が、生成したメッセージを、データ送受信部31および通信部25を通じてコンテンツサーバ機器12に送信する(S77)。コンテンツサーバ機器12は、S77の処理で送信されたメッセージを受信すると、そのメッセージに対応するコンテンツリストをサーバ・クライアント機器14へ送信する。
次いで、クライアント機能部22は、S77で送信したメッセージに対応するコンテンツリストをコンテンツサーバ機器12から受信し、その後は、図6のフローチャートに示す動作を行う。
クライアント機能部22は、クライアント機能部22が送信したメッセージに対する、コンテンツサーバ機器12からの応答メッセージを受信すると(S61)、受信メッセージ解析部33にてそれがコンテンツであるかコンテンツリストであるかを判定する(S62)。
S62の判定において、受信したメッセージがコンテンツデータであると受信メッセージ解析部33にて判定された場合、クライアント機能部22は、受信メッセージ、すなわちコンテンツデータをデコーダ部27に送り、コンテンツデータをデコーダ部27でデコードさせる(S63)。次いで、サーバ・クライアント機器14は、デコードされたコンテンツデータを出力部24から表示装置に出力し、表示装置にコンテンツを表示(再生)させる(S64)。さらに、表示データ生成部35にて操作状況に応じた操作画面を生成し、出力部24から表示装置に出力し、表示装置に操作画面を表示させる。
さらに、コンテンツの再生中、停止中などの再生状況や、再生しているコンテンツのビットレートなどの情報をサーバ機能部23に送信する(S65)。
S62の判定において、受信メッセージがコンテンツリストであった場合、表示データ生成部35が、コンテンツリストを使用者に対して表示するためにコンテンツリストの表示画面のデータを生成する。このとき、コンテンツリスト加工部38が、サーバ情報管理部37が管理しているサーバ機能部23の動作状態を示す情報に基づいて、受信したコンテンツリストに対して内容の変更を加えて表示データ生成部35に送る。(S66)。これにより、コンテンツリスト加工部38は、変更したコンテンツリストを使用者に示す表示画面のデータを表示データ生成部35で生成させる。
コンテンツリスト加工部38は、例えば、サーバ機能部23がコンテンツクライアント機器13に対してコンテンツを配信しているときに、サーバ情報管理部37が管理しているサーバ機能部23の動作状態を示す情報に基づき、クライアント機能部22の動作によって生じる共用部分(通信回線、通信部25、およびデコーダ部27)の負荷が抑制されるように、コンテンツリストを加工する。具体的には、コンテンツリスト加工部38は、そのコンテンツをクライアント機能部22が処理(受信および再生)した場合に、その処理を正常に完了できないという問題や、その処理がサーバ機能部23の動作に悪影響を及ぼすという問題を引き起こす可能性のあるコンテンツ、すなわち、そのコンテンツをクライアント機能部22が処理したときに共用部分に高い負荷がかかるようなコンテンツを、コンテンツリストから削除する。
コンテンツリスト加工部38が、コンテンツリスト中に含まれるコンテンツが、クライアント機能部22で再生するとサーバ機能部23の動作にも影響を及ぼす可能性のあるコンテンツであるかを判定する方法としては、(1)判定対象コンテンツのビットレートと、サーバ機能部23が配信中のコンテンツのビットレートとの合計に基づいて判定する方法、(2)判定対象コンテンツの符号化形式と、サーバ機能部23がデコーダ部27を用いてデコードしているコンテンツの有無および符号化形式とに基づいて判定する方法、(3)判定対象コンテンツのメディアタイプ(音楽,静止画,動画などのタイプ)およびサーバ機能部23の配信状態(例えば、配信中のコンテンツの数やビットレート)に基づいて判定する方法、(4)判定対象コンテンツのビットレートおよびサーバ機能部23が配信中のコンテンツの数に基づいて判定する方法、などが挙げられる。
まず、(1)の方法では、例えば、まず、コンテンツリスト加工部38が、サーバ機能部23が配信しているコンテンツのビットレート情報192(図19参照)をサーバ情報管理部37から取得する(参照する)。次いで、コンテンツリスト加工部38が、ビットレート情報192とコンテンツリストに含まれるビットレート175(図17参照)とに基づいて、コンテンツリスト中に含まれる各コンテンツ(判定対象コンテンツ)について、判定対象コンテンツのビットレートとサーバ機能部23が配信中のコンテンツのビットレートの合計が、通信回線および通信部25の最高転送速度(最大帯域;上りおよび下りの合計ビットレート)を越えているか否かを判定する。そして、コンテンツリスト加工部38は、判定対象コンテンツのビットレートとサーバ機能部23が配信中のコンテンツのビットレートの合計が、通信回線および通信部25の最高転送速度を越えている場合には、その判定対象コンテンツを、悪影響を与える可能性のあるビットレートを持つコンテンツとしてコンテンツリストから削除する。
より具体的には、例えば通信回線および通信部25が10Mbpsのネットワーク帯域しか利用できない状況において、サーバ機能部23が6Mbpsのビットレートのコンテンツをコンテンツクライアント機器13に対して配信しているときには、クライアント機能部22が4Mbpsを越えるビットレートのコンテンツを再生してしまうとサーバ機能部23の動作に悪影響を与えてしまうので、コンテンツリスト加工部38は、コンテンツリストから4Mbpsを越えるビットレートのコンテンツを削除する。
このように、(1)の方法では、コンテンツリスト加工部38が、サーバ機能部23が配信しているコンテンツのビットレート情報192に応じて、コンテンツリストを加工してクライアント機能部22の動作を間接的に制御することにより、クライアント機能部22の動作によって生じる通信回線および通信部25の負荷の増大を抑制できる。その結果、通信回線および通信部25の負荷の過剰な増大により、配信や再生が正常に行えないという問題が生じることを防止できる。
次に、(2)の方法では、例えば、コンテンツリスト加工部38が、サーバ機能部23がコンテンツのデータをトランスコードしているかどうかを表すトランスコード情報、およびサーバ機能部23が配信しているコンテンツの元のタイプ(符号化形式)を表すタイプ情報193(図19参照)をサーバ情報管理部37から取得する(参照する)。次いで、コンテンツリスト加工部38が、トランスコード情報に基づいてサーバ機能部23がコンテンツのデータをトランスコードしているかどうかを判定する。そして、コンテンツリスト加工部38は、サーバ機能部23がコンテンツのデータをトランスコードしている場合には、タイプ情報193、およびコンテンツリスト中に含まれるタイプ178(図17参照)に基づいて、コンテンツリスト中に含まれる各コンテンツ(判定対象コンテンツ)について、判定対象コンテンツの符号化形式と、サーバ機能部23がトランスコードしているコンテンツの符号化形式とが一致しているか否かを判定する。そして、これら符号化形式が一致している場合には、その判定対象コンテンツを、悪影響を与える可能性のあるビットレートを持つコンテンツとしてコンテンツリストから削除する。
サーバ機能部23がトランスコードしているコンテンツと同一の符号化形式を持つコンテンツをコンテンツリストから削除するのは、本実施形態のデコーダ部27が、ある一つの符号化形式のコンテンツのデコード処理を一度に一回しか実行できないからである。すなわち、サーバ機能部23がコンテンツクライアント機器13に対してデコーダ部27やエンコーダ部26を使用してコンテンツをトランスコードしながら配信している場合には、デコーダ部27でデコードしているコンテンツと同一の符号化形式を持つコンテンツは、これ以上デコーダ部27でデコードできないので、クライアント機能部22が再生することができない。
そこで、(2)の方法では、サーバ機能部23がトランスコードしているコンテンツと同一の符号化形式を持つコンテンツを再生できないようにするために、サーバ機能部23がトランスコードしているコンテンツと同一の符号化形式を持つコンテンツをコンテンツリストから削除する。例えば、サーバ機能部23がデコーダ部27を使用してMPEG2のコンテンツをデコードしているときには、コンテンツリスト加工部38が、コンテンツリストからMPEG2のコンテンツを削除する。
以上のように、(2)の方法では、コンテンツリスト加工部38が、サーバ機能部23が配信しているコンテンツのタイプ情報193に応じて、再生不可能な符号化コンテンツを含まないようにコンテンツリストを加工する。これにより、クライアント機能部22が使用者などからコンテンツの再生指示を受けたにもかかわらずコンテンツを再生できない、という事態が発生することを回避できる。
次に、(3)の方法では、例えば、まず、コンテンツリスト加工部38が、サーバ情報管理部37に管理されている配信状況情報191(図19参照)を参照することによってサーバ機能部23が配信しているコンテンツの数を取得する。あるいは、コンテンツリスト加工部38が、サーバ機能部23が配信しているコンテンツの数をサーバ情報管理部37から取得する。次いで、コンテンツリスト加工部38が、サーバ機能部23が配信しているコンテンツの数が所定数(閾値)以上であるかを判定する。そして、コンテンツリスト加工部38は、サーバ機能部23が配信しているコンテンツの数が所定数以上である場合には、タイプ178(図17参照)に含まれるメディアタイプ(音楽,静止画,動画などのタイプ)の情報に基づいて、コンテンツリスト中に含まれる各コンテンツ(判定対象コンテンツ)について、判定対象コンテンツのメディアタイプが、機器リソースを多く使用するメディアタイプであるかを判定する。そして、機器のリソースを多く使用するメディアタイプである場合には、その判定対象コンテンツを、悪影響を与える可能性のあるビットレートを持つコンテンツとしてコンテンツリストから削除する。例えば、静止画コンテンツよりも音声コンテンツ(音楽コンテンツなど)、音声コンテンツよりも動画(映像)コンテンツの方が、使用するリソースは多いため、そのような使用リソースの多いものを優先して削除する。
コンテンツを配信している数がある所定数以上になっている場合には、クライアント機能部22が再生すると、共用部分に過度の負荷がかかる可能性がある。そこで、(3)の方法では、以上のように、コンテンツリスト加工部38が、サーバ機能部23が配信しているコンテンツの数を確認し、それに応じて、サーバ機能部23がコンテンツクライアント機器13に対して配信しているコンテンツの数がある所定数以上になっている場合に、機器リソースを多く使用するコンテンツを含まないようにコンテンツリストを変更する。これにより、共用部分に過度の負荷がかかることによって配信や再生が正常に行えなくなることを防止できる。
以上のようにして変更されたコンテンツリストを示す表示画面のデータを表示データ生成部35が生成し、出力部24から表示装置に出力させて表示装置に表示させる(S67)。
以上が、クライアント機能部22に関する動作である。
次に、本実施形態におけるサーバ機能部23の動作を図5および図8に基づいて説明する。
サーバ機能部23は、サーバ・クライアント機器14とネットワークで接続されたコンテンツクライアント機器13からの要求に応じて、コンテンツクライアント機器13に対して配信可能なコンテンツのリストをコンテンツクライアント機器13へ提供したり、コンテンツをコンテンツクライアント機器13へ配信したりする。また、サーバ機能部23は、コンテンツの符号化形式の変換を実施しながら配信する機能、例えば、MPEG2のデータをMPEG4のデータにトランスコードしながら配信する機能などを有する。サーバ機能部23は、その他にも、コンテンツのビットレートの変換を実施しながら配信する機能、例えば、6Mbpsのビットレートのコンテンツを2Mbpsのビットレートにトランスコーディングしながら配信する機能などを有する。
サーバ機能部23の動作の流れに関連する、サーバ・クライアント機器14の動作の流れについて図5に基づいて説明する。
前述した通り、サーバ・クライアント機器14の通信部25は、ネットワークで接続されたコンテンツサーバ機器12からデータを受信すると(S51)、受信したデータがサーバ機能部23宛てのデータかクライアント機能部22宛てのデータかを判定する(S52)。通信部25は、受信したデータがサーバ機能部23宛てであれば、受信したデータをサーバ機能部23へ送り、そのデータをサーバ機能部23で処理させる(S53)。
次に、データを受信したときのサーバ機能部23の動作の流れを図8に基づいて説明する。
サーバ機能部23は、コンテンツクライアント機器13からデータを受信すると(S81)、受信したデータがコンテンツリストに対する送信要求(リクエスト)であるか、コンテンツに関する送信要求(リクエスト)であるかを受信メッセージ解析部43にて判定する(S82)。
受信したデータがコンテンツに関するリクエストであった場合、サーバ機能部23は、記憶部21から対応するコンテンツのデータを読み出し(S83)、通信部25を通じてそのデータをコンテンツクライアント機器13に送信する(S84)。
そして、送信メッセージ生成部42が、配信しているコンテンツデータのビットレート(ビットレート情報192)や、配信しているコンテンツのタイプ(タイプ情報193)などのような、サーバ機能部23の動作状態を示す情報をクライアント機能部22に送信する(S85)。
一方、S82の判定において、受信したデータ(リクエスト)がコンテンツリストに対するリクエストであった場合、コンテンツリスト生成部45が、記憶部21を参照し、配信可能なコンテンツ(記憶部21に蓄積されているコンテンツ)の一覧であるコンテンツリストを記憶部21から取得する(S86)。
次に、コンテンツリスト生成部45が、クライアント情報管理部46が管理するクライアント機能部22に関する情報に基づいて、記憶部21から取得したコンテンツリストを、現在の状況で配信可能なコンテンツリストへと変更する(S87)。
コンテンツリスト生成部45は、例えば、クライアント機能部22がコンテンツサーバ機器12からコンテンツを受信し再生しているときに、クライアント情報管理部46が管理しているクライアント機能部22の動作状態を示す情報に基づき、サーバ機能部23の動作によって生じる共用部分(通信回線、通信部25、およびデコーダ部27)の負荷が抑制されるように、コンテンツリストを変更する。具体的には、コンテンツリスト生成部45は、そのコンテンツをサーバ機能部23が配信した場合に、配信を正常に完了できないという問題や、配信処理がクライアント機能部22の動作に悪影響を及ぼすという問題を引き起こす可能性のあるコンテンツ、すなわち、そのコンテンツをサーバ機能部23が配信したときに共用部分に高い負荷がかかるようなコンテンツを、コンテンツリストから削除する。
コンテンツリスト生成部45が、コンテンツリスト中に含まれるコンテンツが、サーバ機能部23で配信するとクライアント機能部22の動作にも影響を及ぼす可能性のあるコンテンツであるかを判定する方法としては、(a)判定対象コンテンツのビットレートと、クライアント機能部22が受信中のコンテンツのビットレートとの合計に基づいて判定する方法、(b)判定対象コンテンツの符号化形式と、クライアント機能部22がデコーダ部27を用いてデコードしているコンテンツの符号化形式とに基づいて判定する方法、(c)判定対象コンテンツのメディアタイプ(音楽,静止画,動画などのタイプ)およびクライアント機能部22の動作状態(例えば、受信しているコンテンツのビットレート)に基づいて判定する方法などが挙げられる。
まず、(a)の方法では、例えば、まず、コンテンツリスト生成部45が、クライアント機能部22が受信・再生しているコンテンツのビットレート情報195(図19参照)をクライアント情報管理部46から取得する(参照する)。次いで、コンテンツリスト生成部45が、ビットレート情報195とコンテンツリストに含まれるビットレート175(図17参照)とに基づいて、コンテンツリスト中に含まれる各コンテンツ(判定対象コンテンツ)について、判定対象コンテンツのビットレートとクライアント機能部22が受信・再生しているコンテンツのビットレートの合計が、通信回線および通信部25の最高転送速度(最大帯域;上りおよび下りの合計ビットレート)を越えているか否かを判定する。そして、コンテンツリスト生成部45は、判定対象コンテンツのビットレートとクライアント機能部22が受信・再生しているコンテンツのビットレートの合計が、通信回線および通信部25の最高転送速度を越えている場合には、その判定対象コンテンツを、悪影響を与える可能性のあるビットレートを持つコンテンツとしてコンテンツリストから削除する。
より具体的には、例えば通信回線および通信部25が10Mbpsのネットワーク帯域しか利用できない状況において、クライアント機能部22が6Mbpsのビットレートのコンテンツをコンテンツサーバ機器12から受信して再生しているときには、サーバ機能部23が4Mbpsを越えるビットレートのコンテンツを配信してしまうとクライアント機能部22の動作に悪影響を与えてしまうので、コンテンツリスト生成部45は、コンテンツリストから4Mbpsを越えるビットレートのコンテンツを削除する。
このように、(a)の方法では、コンテンツリスト生成部45が、クライアント機能部22が受信・再生しているコンテンツのビットレート情報195に応じて、コンテンツリストを変更してサーバ機能部23の動作を間接的に制御することにより、サーバ機能部23の動作によって生じる通信回線および通信部25の負荷の増大を抑制できる。その結果、通信回線および通信部25の負荷の過剰な増大により、配信や再生が正常に行えないという問題が生じることを防止できる。
次に、(b)の方法では、例えば、コンテンツリスト生成部45が、クライアント機能部22が再生しているコンテンツのタイプ(符号化形式)を表すタイプ情報196(図19参照)を、クライアント情報管理部46から取得する(参照する)。また、コンテンツリスト生成部45は、コンテンツリストに関するリクエストを受信メッセージ解析部33で解析した結果を受信メッセージ解析部33から取得し、取得した情報に基づいて、コンテンツリストに含まれる各コンテンツを要求先に配信するためにトランスコードすることが必要であるか否かを判定する。次いで、コンテンツリスト生成部45が、タイプ情報196および、コンテンツリスト中に含まれるタイプ178(図17参照)、およびトランスコードが必要かを表す情報に基づいて、コンテンツリスト中に含まれる各コンテンツ(判定対象コンテンツ)について、判定対象コンテンツの符号化形式が、クライアント機能部22が再生しているコンテンツの符号化形式と一致しており、かつ、トランスコードが必要であるか否かを判定する。そして、これら符号化形式が一致しており、かつ、トランスコードが必要である場合には、その判定対象コンテンツを、悪影響を与える可能性のあるビットレートを持つコンテンツとしてコンテンツリストから削除する。
クライアント機能部22が再生しているコンテンツと同一の符号化形式を持つコンテンツをコンテンツリストから削除するのは、本実施形態のデコーダ部27が、ある一つの符号化形式のコンテンツのデコード処理を一度に一回しか実行できないからである。すなわち、クライアント機能部22がデコーダ部27を使用してコンテンツを再生している場合には、デコーダ部27でデコードしているコンテンツと同一の符号化形式を持つコンテンツは、これ以上デコーダ部27でデコードできない。そのため、サーバ機能部23が、デコーダ部27でデコードしているコンテンツと同一の符号化形式を持つコンテンツをトランスコードしながら配信することができない。
そこで、(2)の方法では、クライアント機能部22が再生しているコンテンツと同一の符号化形式を持つコンテンツをトランスコードできないようにするために、クライアント機能部22が再生しているコンテンツと同一の符号化形式を持ち、かつ、トランスコーディングをしながら配信しなければならないようなコンテンツをコンテンツリストから削除する。例えば、クライアント機能部22がデコーダ部27を使用してMPEG2のコンテンツを再生しているときには、コンテンツリスト生成部45が、MPEG2をデコードして、メディアタイプのトランスコードやビットレートのトランスコーディングをしながら配信しなければならないようなコンテンツをリストから削除する。
以上のように、(2)の方法では、コンテンツリスト生成部45が、クライアント機能部22が再生しているコンテンツのタイプ情報196に応じて、配信不可能な符号化コンテンツを含まないようにコンテンツリストを加工する。これにより、サーバ機能部23が外部のクライアント機器からコンテンツの配信指示を受けたにもかかわらずコンテンツを配信できない、という事態が発生することを回避できる。
コンテンツリスト生成部45は、以上のようにして変更したコンテンツリストを、通信部25を通じてコンテンツクライアント機器13に送信する(S88)。
以上が、本発明に係るコンテンツのサーバ機能とクライアント機能とを備えた情報処理装置の実施の一形態である。
以上のように、本実施形態では、サーバ機能部およびクライアント機能部が互いに他方の動作状況を検出し、その検出結果に基づいて制御を行っている。サーバ機能部およびクライアント機能部が互いに他方の動作状況を検出することは、容易であり、汎用性がある。すなわち、サーバ機能部およびクライアント機能部は、同一のプロトコルを使用する場合、生成・処理するデータを互いに解析可能であるので、そのデータに基づいて動作状況を容易に認識することができる。また、この検出方法は、システムやハードウェアが異なっても使用できる汎用性のある方法である。
〔実施の形態2〕
次に、本発明に係るコンテンツのサーバ機能部とクライアント機能部との両方を備えた情報処理装置の実施の形態として、実施の形態1においては、サーバ機能部およびクライアント機能部それぞれが分散して、互いの機能部の情報を管理する実施の形態を示した。以下では、サーバ機能部およびクライアント機能部とは別個の独立した管理部が、サーバ機能部およびクライアント機能部の情報を集中的に管理する実施の形態について、図9〜図16および図20に基づいて説明する。
図9は、本実施形態における、コンテンツのサーバ機能とクライアント機能との両方を備えたサーバ・クライアント機器14Aの内部構造を示した図である。
コンテンツなどを記憶する記憶部(コンテンツ蓄積部)91、クライアント機能部(クライアント部)92、サーバ機能部(サーバ部)93、内蔵あるいは外部の表示装置にコンテンツやコンテンツリスト及び操作画面などを出力する出力部94、ネットワークでのデータの送受信を処理する通信部95、コンテンツデータをエンコードするエンコーダ部96、コンテンツデータをデコードするデコーダ部(復号部)97、使用者からの操作入力を受け付ける入力部98、クライアント機能部92及びサーバ機能部93の情報を管理する管理部9A、およびそれらを制御する制御部99を備えている。記憶部91、出力部94、通信部95、エンコーダ部96、デコーダ部97、入力部98、および制御部99は、実施の形態1における記憶部21、出力部24、通信部25、エンコーダ部26、デコーダ部27、入力部28、および制御部29のそれぞれと同一の機能を持つものである。
クライアント機能部92およびサーバ機能部93が、外部の機器や他の構成要素と送受信するデータは、必ず管理部9Aを通じて送受信される。したがって、管理部9Aは、クライアント機能部92及びサーバ機能部93の動作状況を常に監視することができる。
図20は、本実施形態における、サーバ・クライアント機器14Aの管理部9Aの内部構造を示した図である。
管理部9Aは、図20に示すように、クライアント機能部92の動作状態を表す情報を管理するクライアント動作監視部(クライアント監視部)201、サーバ機能部93の動作状態を表す情報を管理するサーバ動作監視部(サーバ監視部)202、クライアント動作監視部201で監視されたクライアント機能部92の動作状況に応じて、サーバ機能部93から送信されるコンテンツリストを加工する送信コンテンツリスト加工部(リスト作成部、サーバ動作制御部)203、および、サーバ動作監視部202で監視されたサーバ機能部93の動作状況に応じて、クライアント機能部92で受信されたコンテンツリストを加工する受信コンテンツリスト加工部(クライアント動作制御部)204を備えている。
クライアント動作監視部201は、クライアント機能部22の送受信データを解析することで、クライアント機能部92の動作状態を示す情報(配信状況情報191、ビットレート情報192、タイプ情報193など)を取得し、管理すると共に、その情報を送信コンテンツリスト加工部203に送るものである。サーバ動作監視部202は、サーバ機能部93の送受信データを解析することで、サーバ機能部93の動作状態を示す情報(配信状況情報191、ビットレート情報192、タイプ情報193、サーバ機能部93が配信しているコンテンツの数など)を取得し、管理すると共に、その情報を受信コンテンツリスト加工部204に送るものである。
送信コンテンツリスト加工部203は、実施の形態1におけるコンテンツリスト生成部45と類似の機能を持つものであり、コンテンツリスト生成部45が生成するのと同様のコンテンツリストを出力する。ただし、実施の形態1におけるコンテンツリスト生成部45が記憶部21から取得した情報に基づいてコンテンツリストを生成するのに対し、送信コンテンツリスト加工部203は、サーバ機能部93からコンテンツリストを受け取り、受け取ったコンテンツリストを加工して出力する点で異なる。また、受信コンテンツリスト加工部204は、実施の形態1におけるコンテンツリスト加工部38と同一の機能を持つものである。
図10は、本実施形態における、サーバ・クライアント機器14のクライアント機能部92の内部構造を示した図である。
クライアント機能部92は、図10に示すように、サーバ・クライアント機器14の各部とデータを送受信するデータ送受信部101、ネットワークで接続された他のサーバ機器に送信するメッセージを作成する送信メッセージ生成部102、他のサーバ機器から受信したメッセージを解析する受信メッセージ解析部103、出力部94を通じて表示するためのデータを生成する表示データ生成部(再生部)105、入力部98からの入力情報を解析し処理する入力解析部106、およびそれらを制御する制御部104を備えている。データ送受信部101、受信メッセージ解析部103、および制御部104は、実施の形態1におけるデータ送受信部31、受信メッセージ解析部33、および制御部34のそれぞれと同一の機能を持つものである。送信メッセージ生成部102は、クライアント機能部92の動作状態を示す情報を生成する機能を備えていない点以外は、実施の形態1における送信メッセージ生成部32と同一の機能を備えている。
図11は、サーバ・クライアント機器14のサーバ機能部93の内部構造を示した図である。
サーバ機能部93は、図11に示すように、サーバ・クライアント機器14Aの各部とデータを送受信するデータ送受信部111、サーバ・クライアント機器14Aとネットワークで接続された外部のクライアント機器に送信するメッセージを生成する送信メッセージ生成部112、外部のクライアント機器から受信したメッセージを解析する受信メッセージ解析部113、サーバ・クライアント機器14Aが提供するコンテンツのリストを生成するコンテンツリスト生成部(リスト作成部)115、およびそれらを制御する制御部114を備えている。データ送受信部111、受信メッセージ解析部113、および制御部114は、実施の形態1におけるデータ送受信部41、受信メッセージ解析部43、および制御部44のそれぞれと同一の機能を持つものである。送信メッセージ生成部112は、サーバ機能部93の動作状態を示す情報を生成する機能を備えていない点以外は、実施の形態1における送信メッセージ生成部42と同一の機能を備えている。コンテンツリスト生成部115は、記憶部91を参照して、記憶部91に記憶された全てのコンテンツの一覧を示すコンテンツリストを生成し、管理部9Aに送る。
次に、クライアント機能部92の動作について図10、図12〜図14に基づいて説明する。
サーバ・クライアント機器14がコンテンツサーバ機器12からクライアント機能部92宛てのデータを受信すると(S121)、まず、管理部9Aにおいて受信データがコンテンツであるかコンテンツリストであるかを判定する(S122)。
受信データがコンテンツである場合は、管理部9Aは、受信したコンテンツをそのままクライアント機能部92にそのまま転送する(S124)。
受信データがコンテンツリストである場合は、管理部9Aの受信コンテンツリスト加工部204が、サーバ機能部93の動作状況に応じて受信したコンテンツリストを変更する(S123)。変更する手段は、実施の形態1と同じである。
そして、管理部9Aの受信コンテンツリスト加工部204が、変更したコンテンツリストをクライアント機能部92に送信する(S124)。
クライアント機能部92は、管理部9Aからデータを受信すると(S131)、受信データがコンテンツであるか、コンテンツリストであるかを受信メッセージ解析部103にて判定する(S132)。
受信データがコンテンツであった場合は、クライアント機能部92は、受信データ、すなわちコンテンツをデコーダ部97に送り、デコーダ部97でコンテンツをデコードさせる(S133)。その後、サーバ・クライアント機器14Aは、デコードされたコンテンツを出力部94を通じて表示装置に出力し、表示装置に表示させる(S134)。
受信データがコンテンツリストであった場合は、クライアント機能部92は、受信データ、すなわちコンテンツリスト及びそれに対応する操作画面を表示データ生成部105にて生成し、出力部94を通じて表示装置に出力し、表示装置に表示させる(S135)。
また、クライアント機能部92は、入力部98より使用者による入力操作を受け付けると(S141)、その入力操作がコンテンツに対する入力操作であるか、コンテンツリストに対する入力操作であるかを入力解析部106にて判定する(S142)。
入力操作がコンテンツに対する入力操作であった場合、クライアント機能部92は、送信メッセージ生成部102にてコンテンツサーバ機器12からコンテンツを取得するためのリクエストを作成し(S143)、管理部9Aを通じてコンテンツサーバ機器12に送信する(S145)。
S142の判定において、コンテンツリストに対する操作であった場合、クライアント機能部92は、送信メッセージ生成部102にてコンテンツサーバ機器12からコンテンツリストを取得するためのリクエストを作成し(S144)、管理部9Aを通じてコンテンツサーバ機器12に送信する(S145)。
次に、サーバ機能部93の動作について図15および図16に基づいて説明する。
サーバ・クライアント機器14がコンテンツクライアント機器13からサーバ機能部93宛てのデータを受信した場合、管理部9Aは、受信したデータをそのままサーバ機能部93に転送する。
サーバ機能部93は、データを受信すると(S161)、受信メッセージ解析部113にてその受信したデータがコンテンツに対するリクエストであるか、コンテンツリストに対するリクエストであるかを判定する(S162)。
受信したデータがコンテンツに対するリクエストであった場合、サーバ機能部93は、該当するコンテンツのデータを記憶部91から読み出し(S163)、そのデータを含んだ送信メッセージを送信メッセージ生成部112にて生成した後、管理部9Aを通じてコンテンツクライアント機器13に送信する(S164)。
S162の判定において、受信したデータがコンテンツリストに対するリクエストであった場合、コンテンツリスト生成部115が、記憶部91を参照して提供可能なコンテンツのリストを取得し(S165)、そのコンテンツリストを含む送信メッセージを送信メッセージ生成部112にて生成する(S166)。そして、生成した送信メッセージをコンテンツクライアント機器13に送信する(S167)。
管理部9Aは、サーバ機能部93がコンテンツクライアント機器13に向けて送信したデータを受け取ると(S151)、送信データがコンテンツであるか、コンテンツリストであるかを判定する(S152)。
送信データがコンテンツであった場合、送信データをそのまま通信部95を介してコンテンツクライアント機器13に送信する(S154)。
このとき、管理部9Aは、サーバ機能部93がコンテンツクライアント機器13に対してコンテンツを提供中であることを把握する。
一方、S152の判定において、送信データがコンテンツリストであった場合、管理部9Aの送信コンテンツリスト加工部203が、管理部9Aのクライアント動作監視部201が認識しているクライアント機能部92の動作状況に応じて、コンテンツリストを変更する(S153)。変更する内容は実施の形態1と変わらない。そして、送信コンテンツリスト加工部203は、変更したコンテンツリストを通信部95を介してコンテンツクライアント機器13に送信する(S154)。
以上が、本発明の第2の実施の形態である。
なお、実施の形態2は、サーバ機能部およびクライアント機能部として、従来の情報処理装置のサーバ機能部およびクライアント機能部をそのまま使用することができる点で実施の形態1より優れている。ただし、実施の形態2では、両方のデータの送受信及び内容の解析・変更を行う専用の管理部を用意しなければならない。そのため、実施の形態1は、専用の管理部を必要としない点では実施の形態2より優れている。
また、以上に説明した実施の形態1および2においては、サーバ機能部及びクライアント機能部の動作状況に応じて、コンテンツリストを変更する例を示した。すなわち、上述した実施の形態では、コンテンツリスト加工部38または受信コンテンツリスト加工部204が、サーバ情報管理部37またはサーバ動作監視部202に管理されている、サーバ機能部23または93の動作状態を示す情報に基づいて、クライアント機能部22または92で受信したコンテンツリストを変更し、そのことによって間接的に、共用部分(通信回線、通信部25または95、およびデコーダ部27または97)に負荷を生じさせるような、クライアント機能部22または92の動作を制御していた。また、上述した実施の形態では、コンテンツリスト生成部45または送信コンテンツ加工部203が、クライアント情報管理部46またはクライアント動作監視部201に管理されている、クライアント機能部22または92の動作状態を示す情報に基づいて、サーバ機能部23または93から送信するコンテンツリストを変更し、そのことによって、共用部分(通信回線、通信部25または95、およびデコーダ部27または97)に負荷を生じさせるような、サーバ機能部23または93の動作を制御していた。
しかしながら、本発明はこれに限られるものではない。例えば、コンテンツリストは変更せずそのまま使用するが、クライアント機能部の再生動作やサーバ機能部の配信動作のみを制御(禁止など)してもよい。
すなわち、制御部34または管理部9Aが、サーバ情報管理部37またはサーバ動作監視部202に管理されている、サーバ機能部23または93の動作状態を示す情報に基づいて、共用部分(通信回線、通信部25または95、およびデコーダ部27または97)に負荷を発生させるような、クライアント本体部(データ送受信部31、送信メッセージ生成部32、受信メッセージ解析部33、表示データ生成部35、および入力解析部36)またはクライアント機能部92の動作を制御してもよい。クライアント本体部またはクライアント機能部92の動作を制御する方法は、前記クライアント本体部による外部のサーバからのコンテンツの受信および再生を制限する方法であってもよく、前記クライアント本体部の全ての動作を停止させる方法であってもよい。前記クライアント本体部の全ての動作を停止させる方法を用いる場合、例えば、サーバ機能部が動作中であるときには、クライアント機能部の全動作を停止させてもよい。
また、制御部44または管理部9Aが、クライアント情報管理部46またはクライアント動作監視部201に管理されている、クライアント機能部22または92の動作状態を示す情報に基づいて、共用部分(通信回線、通信部25または95、およびデコーダ部27または97)に負荷を発生させるような、サーバ本体部(データ送受信部41、送信メッセージ生成部42、および受信メッセージ解析部43)またはサーバ機能部93の動作を制御してもよい。サーバ本体部またはサーバ機能部93の動作を制御する方法は、前記サーバ本体部による外部のクライアントへのコンテンツの配信を制限する方法であってもよく、前記サーバ本体部の全ての動作を停止させる方法であってもよい。前記サーバ本体部の全ての動作を停止させる方法を用いる場合、例えば、クライアント機能部が動作中であるときには、サーバ機能部の全動作を停止させてもよい。
また、本実施の形態においては、機器同士がLANで接続された場合について述べたが、機器同士がネットワークで接続され、通信が可能であるならば、そのネットワークおよび通信の形態は問わない。
さらに、本実施の形態においては、サーバ機器、クライアント機器、及びサーバ・クライアント機器がそれぞれ1台の例を示したが、これら機器の一部あるいは全部が2台以上存在しても構わない。また、サーバ機器および/またはクライアント機器に代えてサーバ・クライアント機器を用いてもよい。
最後に、サーバ・クライアント機器14・14Aの各ブロック、特にクライアント機能部22、サーバ機能部23、および管理部9Aは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。クライアント機能部22およびサーバ機能部23をCPUを用いてソフトウェアによって実現する場合、コンピュータをクライアント機能部22として機能させるプログラム、およびコンピュータをサーバ機能部23として機能させるプログラムをそれぞれコンピュータのメモリにロードして、これらプログラムをコンピュータのCPUに実行させてもよいし、コンピュータをクライアント機能部22およびサーバ機能部23の両方として機能させるプログラムをコンピュータのメモリにロードして、このプログラムをコンピュータのCPUに実行させてもよい。
すなわち、サーバ・クライアント機器14・14Aは、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるサーバ・クライアント機器14・14Aの制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記サーバ・クライアント機器14・14Aに供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、サーバ・クライアント機器14・14Aを通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。