(57)【要約】  機能が劣る旧世代のクライアント装置（１０３）に自らと同等の機能を実現させるサーバ装置（１０２）は、クライアント装置（１０３）にない機能による処理の要求を受け付ける要求受付部（２０１）と、状態情報テーブル（２０５ａ，２０５ｂ）の示すサーバ装置（１０２）の状態に応じて要求処理ができるか否かを判定し、要求処理ができると判定された場合に、サーバ装置（１０２）が有する機能のうちのその要求処理の機能に対応する代替処理を機能情報テーブル（２０６ａ）を参照することにより特定する機器状態判定部（２０４）と、特定された代替処理を実行する代替処理提供部（２０７）と、代替処理の実行によって生成された送信データをクライアント装置（１０３）に送信する送信部（２０３）とを備える。
2009153967.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置に接続されるサーバ装置であって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、
前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、
前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、
前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部と
を備えるサーバ装置。
【請求項２】
前記サーバ装置は、さらに、
前記サーバ装置が有する少なくとも１つの機能を示す操作画面を表示する表示ステップと、前記少なくとも１つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのＧＵＩ（Graphical User Interface）プログラムを保持するＧＵＩプログラム保持部を備え、
前記送信部は、さらに、前記ＧＵＩプログラムを前記クライアント装置に送信し、
前記要求受付部は、前記クライアント装置による前記ＧＵＩプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付ける、
請求項１記載のサーバ装置。
【請求項３】
前記ＧＵＩプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する、
請求項２記載のサーバ装置。
【請求項４】
前記ＧＵＩプログラムは、前記サーバ装置が有する少なくとも１つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させる、
請求項２または３記載のサーバ装置。
【請求項５】
前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、
前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定する、
請求項１〜４の何れか１項に記載のサーバ装置。
【請求項６】
前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、
前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定する、
請求項１〜５の何れか１項に記載のサーバ装置。
【請求項７】
前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、
前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定する、
請求項１〜６の何れか１項に記載のサーバ装置。
【請求項８】
前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、
前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、
前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行する、
請求項１〜７の何れか１項に記載のサーバ装置。
【請求項９】
前記要求受付部は、前記要求処理ができることが前記判定結果に示されている場合に前記クライアント装置から生じる代替処理要求を、前記アクセス要求として受け付け、
前記代替処理提供部は、前記状態判定部によって前記要求処理ができると判定され、且つ、前記要求受付部によって前記代替処理要求が受け付けられた場合に、前記代替処理を実行する、
請求項８記載のサーバ装置。
【請求項１０】
前記送信部は、前記状態判定部によって前記要求処理ができると判定された場合には、前記判定結果とともに、前記代替処理を実行する代替処理用プログラムの場所を示す第１の記述子を前記クライアント装置に通知し、
前記要求受付部は、前記第１の記述子の示す場所へのアクセスの要求を、前記代替処理要求として受け付け、
前記代替処理提供部は、前記第１の記述子の示す場所にある前記代替処理用プログラムを実行することにより、前記代替処理を実行する、
請求項９記載のサーバ装置。
【請求項１１】
前記要求受付部は、前記要求処理ができないことが前記判定結果に示されている場合に前記クライアント装置から生じるエラー処理要求を、前記アクセス要求として受け付け、
前記代替処理提供部は、前記要求受付部によって前記エラー処理要求が受け付けられた場合には、前記代替処理の実行を禁止し、
前記サーバ装置は、さらに、
前記要求受付部によって前記エラー処理要求が受け付けられた場合に、エラーが生じたことを通知するためのエラーメッセージを前記クライアント装置に送信するエラーメッセージ生成部を備える、
請求項８記載のサーバ装置。
【請求項１２】
前記送信部は、前記状態判定部によって前記要求処理ができないと判定された場合には、前記判定結果とともに、前記エラー処理を実行するエラー処理用プログラムの場所を示す第２の記述子を前記クライアント装置に通知し、
前記要求受付部は、前記第２の記述子の示す場所へのアクセスの要求を、前記エラー処理要求として受け付け、
前記エラーメッセージ生成部は、前記第２の記述子の示す場所にある前記エラー処理用プログラムを実行することにより、前記エラーメッセージを前記クライアント装置に送信する、
請求項１１記載のサーバ装置。
【請求項１３】
前記状態判定部は、前記要求受信部によって前記アクセス要求が受け付けられた場合には、さらに、前記クライアント装置から通知される前記判定結果をチェックし、
前記代替処理提供部は、前記クライアント装置から通知される前記判定結果に、前記要求処理ができることが示されている場合に、前記代替処理を実行する、
請求項８記載のサーバ装置。
【請求項１４】
前記サーバ装置は、動画または静止画のデータであるコンテンツの再生に関する複数の機能を有し、
前記送信部は、前記複数の機能を示す前記操作画面の表示を前記クライアント装置に実行させるための前記ＧＵＩプログラムを前記クライアント装置に送信する、
請求項２記載のサーバ装置。
【請求項１５】
前記複数の機能には、再生、停止、早送り、巻き戻し、回転、拡大、および縮小のうちの少なくとも２つの機能が含まれる、
請求項１４記載のサーバ装置。
【請求項１６】
前記代替処理提供部は、前記早送りによる処理の要求が前記要求受付部で受け付けられた場合に、前記早送りに対応する代替処理を実行するときには、動画の前記データであるコンテンツからフレームを間引くことによって、前記コンテンツと異なる早送り用のコンテンツを生成する、
請求項１５記載のサーバ装置。
【請求項１７】
クライアント装置に接続されるサーバ装置が処理する方法であって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付け、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部を用い、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定し、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部を用い、
前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定し、
特定された代替処理を実行し、
前記代替処理の実行によって生成されたデータを前記クライアント装置に送信する
サーバ処理方法。
【請求項１８】
クライアント装置に接続されるサーバ装置で実行されるプログラムであって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付け、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部を用い、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定し、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部を用い、
前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定し、
特定された代替処理を実行し、
前記代替処理の実行によって生成されたデータを前記クライアント装置に送信する
ことを前記サーバ装置に実行させるプログラム。
【請求項１９】
クライアント装置に接続される集積回路であって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、
前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、
前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートから接続されたクライアント装置に対して、クライアント装置が要求する処理を提供するサーバ装置に関するものである。
【背景技術】
【０００２】
近年、ブロードバンドインターネット接続やワイヤレスネットワークの普及、およびＤＬＮＡ（Digital Living Network Alliance）等のデジタル家電機器の接続互換性の技術の向上により、宅内でもパーソナルコンピュータ以外のデジタル家電機器がネットワークを通じて接続および通信するようになり、ＴＶとＤＶＤ（Digital Versatile Disk）レコーダ、または携帯電話とＤＶＤレコーダのように家電機器同士が連携し、リモートからの番組予約や、番組視聴などの様々な新サービスが登場してきている。例えば、リモートにあるクライアント装置が、サーバ装置を操作するＧＵＩ（グラフィックスユーザーインターフェイス）を取得し、サーバ装置の動画や写真コンテンツを再生および視聴したり、ダウンロードしたりするサービスが登場している。しかし、デジタル家電機器同士が接続するようになると、新しい機器と古い機器が接続されるケースも十分に考えられ、その場合、古い機器上で新しい機器の機能を利用できない場合がある。例えば、上述した例で言えば、サーバ装置ではある特殊効果のある写真を描画できるが、クライアント装置ではできない場合や、動画に対して、通常再生はできるが倍速再生はできないというような場合が考えられる。【０００３】
これに対する従来技術としては、例えば特許文献１に記載されたものが知られている。この特許文献１のサーバ装置は、ブラウザを立ち上げたクライアント装置からのＨＴＴＰ通信によるＧＵＩ取得要求に際し、クライアント装置の表示能力を取得し、その能力に応じたコンテンツを提供する。このサーバ装置がクライアント装置の表示能力を取得するときには、サーバ装置のクライアントスマートエージェントがクライアント装置からのＨＴＴＰ要求のヘッダ情報を解析することにより、クライアント装置の表示能力に関する情報を取得する。一方、クライアントスマートエージェントがヘッダ情報の解析に失敗した場合には、サーバ装置は、クライアントスマートエージェントをクライアント装置に送信することにより、オペレーティングシステムやＢＩＯＳに記録されたクライアント装置の表示能力に関する情報を取得する。サーバ装置は、取得したクライアント装置の表示能力に応じてＧＵＩコンテンツをカスタマイズして提供する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１９４９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のサーバ装置においては、クライアント装置の表示能力に合わせてＧＵＩコンテンツをカスタマイズして提供してしまうため、接続しているクライアント装置とサーバ装置との間に表示の能力の差異がある場合、クライアント装置上ではサーバ装置と異なったＧＵＩコンテンツが表示されてしまうという課題を有する。クライアント装置がサーバ装置と接続し、サーバ装置とクライアント装置の双方で同時に同じＧＵＩコンテンツを表示したい場合や、クライアント装置がサーバ装置を操作するＧＵＩプログラムを取得し、サーバ装置の動画や写真コンテンツの再生および視聴等をする場合には、通常、サーバ装置上とクライアント装置上とで同一の表示がされている事が望ましい。【０００６】
そこで、本発明は、上記従来の課題を解決するものであり、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置に自らと同等の機能を実現させるサーバ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係るサーバ装置は、クライアント装置に接続されるサーバ装置であって、前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部とを備える。【０００８】
例えば、サーバ装置は、動画コンテンツの再生、停止、早送りおよび巻き戻しの機能を有する。一方、クライアント装置は、サーバ装置と比べて旧世代のクライアント装置であって再生および停止の機能だけを有する。この場合、本発明では、クライアント装置にない例えば早送りの処理の要求を受け付けて、その早送りに対応する代替処理が実行され、その実行によって生成されたデータがクライアント装置に送信される。つまり、サーバ装置の早送りによる処理結果と同一の結果が、早送りの機能を持たないクライアント装置で得られるための代替処理が実行されて、その結果、生成されたデータがクライアント装置に送信される。例えば、代替処理として、動画コンテンツからフレームが間引かれ、早送り用の動画コンテンツが生成される。そして、この早送り用の動画コンテンツがクライアント装置に送信される。したがって、クライアント装置では、早送りの機能がなくても、通常の再生の機能を用いて早送り用の動画コンテンツを再生すれば早送りの映像を映し出すことができる。つまり、本発明では、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置にサーバ装置と同等の機能を実現させることができる。さらに、本発明では、クライアント装置にサーバ装置と同等の機能を実現させることができるため、例えば、クライアント装置にＧＵＩプログラムを送信してＧＵＩコンテンツである操作画面をそのクライアント装置に表示させる場合でも、サーバ装置の操作画面と同一の操作画面を表示させることができる。【０００９】
また、前記サーバ装置は、さらに、前記サーバ装置が有する少なくとも１つの機能を示す操作画面を表示する表示ステップと、前記少なくとも１つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのＧＵＩ（Graphical User Interface）プログラムを保持するＧＵＩプログラム保持部を備え、前記送信部は、さらに、前記ＧＵＩプログラムを前記クライアント装置に送信し、前記要求受付部は、前記クライアント装置による前記ＧＵＩプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付けてもよい。【００１０】
例えば、前記ＧＵＩプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する。【００１１】
これにより、クライアント装置のユーザに対して、クライアント装置にない機能であってもサーバ装置にある機能をユーザに選択させることができ、その機能による処理の要求を受け付けて代替処理を実行することができる。【００１２】
また、前記ＧＵＩプログラムは、前記サーバ装置が有する少なくとも１つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させてもよい。【００１３】
これにより、操作画面とサーバ操作画面とが同一となるため、ユーザはクライアント装置を違和感なく操作することができる。【００１４】
また、前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定してもよい。【００１５】
これにより、要求処理の機能が機能情報テーブルに示されているか否かが判定されるため、その要求処理の機能が機能情報テーブルに示されていないことに起因する誤動作の発生などを抑えることができる。【００１６】
また、前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定してもよい。【００１７】
これにより、サーバ装置の設定が正しく行われていない場合には、要求処理ができないと判定され、代替処理が行われないため、設定が不適切な状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。【００１８】
また、前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定してもよい。【００１９】
これにより、競合が発生する場合には、要求処理ができないと判定され、代替処理が行われないため、競合が発生してしまう状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。【００２０】
また、前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行してもよい。【００２１】
これにより、クライアント装置は、サーバ装置に要求処理を要求しても、代替処理が実行される前に、その要求に対する判定結果の通知を受けるため、その判定結果に応じて、アクセス要求をサーバ装置に通知するか否かを判断することができ、サーバ装置への負担を抑えることができる。【００２２】
なお、本発明では、このようなサーバ装置として実現することができるだけなく、集積回路、そのサーバ装置における処理動作の方法、その方法の処理動作をサーバ装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。【００２３】
また、本発明に係るクライアント装置は、機能が相違するサーバ装置から、前記サーバ装置が保持するＧＵＩデータを取得するクライアント装置であって、取得した前記ＧＵＩデータからＧＵＩプログラムを生成するＧＵＩデータ解析部と、前記サーバ装置が保持するコンテンツの一覧を取得し、さらに、前記クライアント装置の機能を保持しているクライアント機能部と、前記クライアント機能部で保持している機能に関する情報を記憶している能力記憶部と、前記クライアント機能部で取得されたコンテンツの一覧を表示し、さらに、前記コンテンツの一覧の中から所定のコンテンツが選択された場合に、前記能力記憶部に記憶されている情報を用いて、前記クライアント機能部に存在しており前記サーバ装置に存在しない差分機能を抽出するＧＵＩプログラムと、抽出した前記差分機能をＧＵＩコンテンツに表示する表示部とを備える。【００２４】
例えば、家電機器同士が連携する場合、サーバ装置となる家電機器に存在するＧＵＩデータをクライアント装置となる家電機器が取得することにより、クライアント装置からサーバ装置を制御することが可能となる。しかし、それぞれのクライアント装置は、表示能力が異なるため、必ずしもサーバ装置が提供するＧＵＩデータを利用できると言う訳ではない。上記特許文献１では、ブラウザを立ち上げたクライアント装置からのＧＵＩデータの取得要求に対して、サーバ装置がクライアント装置の表示能力を取得し、その表示能力に応じてＧＵＩデータをサーバ装置側でカスタマイズして提供するという技術が提案されている。【００２５】
しかし、上記特許文献１の技術では、サーバ装置がインターネット上に存在する場合であれば、随時サーバ装置の機能を更新することによって、機能が進化したクライアント装置に対応できるが、家庭内に存在する家電機器がサーバ装置となる場合は、サーバ装置自体の機能を更新することが困難であるため、機能が進化したクライアント装置の機能を十分引き出すことができないという課題を有する。例えば、サーバ装置からＧＵＩデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合を考える。この場合、クライアント装置が受信したＧＵＩデータは、機能が劣っているサーバ装置に合わせたものになっていることが多いため、ユーザがこのＧＵＩデータをクライアント装置で使用する場合には、クライアント装置に存在する機能であってもその機能がサーバ装置に存在しない機能であれば、その機能をユーザに提供することができない等の課題が生じる。【００２６】
本発明のクライアント装置では、上述の構成を有することにより、サーバ装置からＧＵＩデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合であっても、優れた機能を有するクライアント装置の機能を使用することができる。【００２７】
また、前記クライアント機能部は、前記ＧＵＩプログラムで前記差分機能を用いる旨の指示が受け付けられた場合、前記サーバ装置から取得したコンテンツを前記差分機能に応じたデータに変換し、前記表示部は、前記変換された動画データを前記ＧＵＩコンテンツに表示してもよい。【００２８】
また、前記クライアント装置は、呼び出した機能を記憶する命令記憶部と、前記差分機能を呼び出すために必要な引数値を推測する引数値推測部と、を更に備え、前記引数値推測部は、前記能力記憶部に記憶されている情報と、前記命令記憶部に記憶されている情報とから、前記差分機能を呼び出すために必要な引数値を推測し、前記引数値推測部が推測した結果を元に、前記差分機能を呼び出してもよい。【００２９】
なお、本発明では、このようなクライアント装置として実現することができるだけなく、集積回路、そのクライアント装置における処理動作の方法、その方法の処理動作をクライアント装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
【発明の効果】
【００３０】
本発明のサーバ装置は、新世代のそのサーバ装置が持つ新しい機能を旧世代のクライアント装置に提供することが可能になるという効果が得られる。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の実施の形態１におけるサーバ装置を含む家庭内ネットワークの構成図である。
【図２】図２は、本発明の実施の形態１におけるクライアント装置とサーバ装置に表示される画面を示す図である。
【図３】図３は、本発明の実施の形態１におけるクライアント装置とサーバ装置の構成図である。
【図４】図４は、本発明の実施の形態１におけるサーバ装置の設定情報テーブルを示す図である。
【図５】図５は、本発明の実施の形態１におけるサーバ装置の競合情報テーブルを示す図である。
【図６】図６は、本発明の実施の形態１におけるサーバ装置の機能情報テーブルを示す図である。
【図７】図７は、本発明の実施の形態１におけるサーバ装置およびクライアント装置の全体的な動作を示すフローチャートである。
【図８Ａ】図８Ａは、本発明の実施の形態１における図７のステップＳ６１１〜Ｓ６１４の詳細な動作を示すフローチャートである。
【図８Ｂ】図８Ｂは、本発明の実施の形態１における図７のステップＳ６１１〜Ｓ６１４の詳細な動作を示すフローチャートである。
【図９】図９は、本発明の実施の形態１におけるサーバ装置がクライアント装置に送信するファイルの一例を示す図である。
【図１０】図１０は、本発明の実施の形態１におけるサーバ装置がクライアント装置に送信するファイルの他の例を示す図である。
【図１１】図１１は、本発明の実施の形態１の変形例１におけるサーバ装置とクライアント装置の構成図である。
【図１２】図１２は、本発明の実施の形態１の変形例１における代替処理および静止画コンテンツの表示処理を示すフローチャートである。
【図１３】図１３は、本発明の実施の形態１の変形例２におけるクライアント装置の動作を示すフローチャートである。
【図１４】図１４は、本発明の実施の形態１の変形例２におけるクライアント装置の他の動作を示すフローチャートである。
【図１５】図１５は、本発明の実施の形態２におけるクライアント装置を含む家庭内ネットワークの構成図である。
【図１６】図１６は、本発明の実施の形態２におけるクライアント装置の構成図である。
【図１７】図１７は、本発明の実施の形態２における表示部に表示される動画コンテンツの一覧の画面の一例を示す図である。
【図１８】図１８は、本発明の実施の形態２における表示部に表示される再生操作画面の一例を示す図である。
【図１９】図１９は、本発明の実施の形態２における表示部に表示される再生操作画面の他の例を示す図である。
【図２０】図２０は、本発明の実施の形態２におけるクライアント装置が動画コンテンツの一覧の画面を表示する処理を示すシーケンス図である。
【図２１】図２１は、本発明の実施の形態２における再生対象の動画コンテンツが選択されたときのクライアント装置の処理を示すシーケンス図である。
【図２２】図２２は、本発明の実施の形態２におけるクライアント装置が動画コンテンツを通常再生する処理を示すシーケンス図である。
【図２３】図２３は、本発明の実施の形態２におけるクライアント装置が動画コンテンツを早送りする処理を示すシーケンス図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態におけるサーバ装置およびクライアント装置について、図面を参照しながら説明する。
【００３３】
（実施の形態１）
本実施の形態におけるサーバ装置は、例えば旧世代のクライアント装置に接続し、そのクライアント装置よりも多くの機能を有する。
【００３４】
図１は、本実施の形態におけるサーバ装置を含む家庭内ネットワークの構成図である。
【００３５】
家庭内ネットワーク１００は、有線ネットワークまたはＢＬＵＥＴＯＯＴＨ等を含む無線ネットワークで実現され、本発明に係るサーバ装置１０２と、そのサーバ装置１０２に接続するクライアント装置であるリモート機器１０３〜１０５とを備える。リモート機器１０３〜１０５は、ＴＶ、ＤＶＤレコーダ、ＢｌｕＲａｙレコーダ、携帯電話、またはデジタルカメラ等の機器である。外部ネットワーク機器１０１は家庭内ネットワーク１００の外部にあるネットワーク機能を有する機器であって、サーバ装置１０２に接続する。なお、リモート機器１０３〜１０５は、家庭内ネットワーク１００に含まれ、直接、サーバ装置１０２に接続されているが、外部ネットワーク機器１０１を通して接続されてもよいし、リモート機器１０３〜１０５が外部ネットワークにあってもよい。したがって、本発明では、装置同士が互いに通信できる場所であれば、サーバ装置１０２およびリモート機器１０３〜１０５はどのような場所にあってもよい。
【００３６】
本実施の形態では、家庭内ネットワーク１００内に存在する本発明のサーバ装置１０２がリモート機器１０３〜１０５と接続してそのリモート機器１０３〜１０５にはない機能による処理を提供することで、リモート機器１０３〜１０５上でサーバ装置１０２と同等の機能が実現されることを可能にする。なお、本発明における機能とは、目的とする処理が実行されるようにハードウェアおよびソフトウェアの少なくとも一方から構成されたものである。
【００３７】
なお、リモート機器１０３〜１０５はそれぞれ、同等の機能を有し、サーバ装置１０２に対して同等の処理を行う。したがって、以下、リモート機器１０３〜１０５のうち、リモート機器１０３をクライアント装置１０３として扱い、クライアント装置１０３とサーバ装置１０２との構成および処理動作について説明する。
【００３８】
ここで、本実施の形態におけるサーバ装置１０２の特徴について図２を用いて簡単に説明する。
【００３９】
図２は、本実施の形態におけるクライアント装置１０３とサーバ装置１０２に表示される画面を示す図である。
【００４０】
クライアント装置１０３がサーバ装置１０２に接続を要求すると、サーバ装置１０２は、サーバ装置１０２が有する動画コンテンツを操作するためのＧＵＩプログラムをクライアント装置１０３に送信する。クライアント装置１０３は、このＧＵＩプログラムを実行すると、サーバ装置１０２が有する全ての機能と同一の機能の選択を受け付けるためのＧＵＩコンテンツである再生操作画面Ｐ１を生成して表示する。また、サーバ装置１０２でも、サーバ装置１０２が有する全ての機能の選択を受け付けるためのＧＵＩコンテンツである再生操作画面Ｐ２を生成して表示する。したがって、本実施の形態では、サーバ装置１０２は、クライアント装置１０３に表示されるＧＵＩコンテンツを、サーバ装置１０２に表示されるＧＵＩコンテンツと同一にしている。
【００４１】
ここで、クライアント装置１０３は、例えば、サーバ装置１０２と比べて旧世代の機器であるために、サーバ装置１０２が有する機能（動画コンテンツに対する機能）よりも少ない機能を有している。具体的には、サーバ装置１０２は、動画コンテンツに対する機能として、再生、停止、早送り、および巻き戻しを有するが、クライアント装置１０３は、再生および停止しか保持していない。
【００４２】
このような場合でも、本実施の形態では、クライアント装置１０３は、ＧＵＩプログラムに従って、クライアント装置１０３が有する機能である再生および停止を示すボタンＢｔ１，Ｂｔ２だけでなく、クライアント装置１０３が保持していない機能である早送りおよび巻き戻しを示すボタンＢｔ３，Ｂｔ４も含む再生操作画面Ｐ１を生成して表示する。
【００４３】
また、本実施の形態のＧＵＩプログラムは、再生操作画面Ｐ１に表示された機能の中からユーザによって選択された機能がクライアント装置にあるか否かを判別するステップと、その選択された機能がクライアント装置１０３にあると判別された場合に、その選択された機能による処理をクライアント装置１０３に実行させるステップと、その選択された機能がクライアント装置１０３にないと判別された場合に、その選択された機能による処理をサーバ装置１０２に要求するステップとを、クライアント装置１０３に実行させる。
【００４４】
したがって、クライアント装置１０３は、ユーザによるＧＵＩ操作によって、早送りまたは巻き戻しを示すボタンＢｔ３，Ｂｔ４が選択されたときには、その早送りまたは巻き戻しの機能による処理をサーバ装置１０２に要求する。サーバ装置１０２は、早送りまたは巻き戻しの機能による処理の要求を受け付けると、その処理の代替となる処理（以下、代替処理という）をクライアント装置１０３に提供する。つまり、サーバ装置１０２は、代替処理を実行し、例えば動画コンテンツのフレームが間引きされた送信データ（例えば、後述の早送り用データ）を、早送りに対する代替処理結果として生成し、その送信データをクライアント装置１０３に送信する。
【００４５】
これにより、本実施の形態におけるサーバ装置１０２は、クライアント装置１０３との間で機能に差があっても、その差を吸収し、サーバ装置１０２に表示されるＧＵＩコンテンツと同一のＧＵＩコンテンツをクライアント装置１０３に表示させることができ、クライアント装置１０３でサーバ装置１０２と同等の機能を仮想的に実現することができる。また、サーバ装置１０２よりも古い各世代のクライアント装置１０３に対して同一のＧＵＩプログラムを送信することができ、従来のような、ＧＵＩプログラム（ＧＵＩコンテンツ）のカスタマイズの手間を省くことができる。
【００４６】
図３は、本実施の形態におけるクライアント装置１０３とサーバ装置１０２の構成図である。
【００４７】
クライアント装置１０３は、ＧＵＩプログラム実行部１１１、要求送信部１０８、受信部１０９、動画用デコーダ１０７、ＧＵＩプログラム保存部１１０、および表示部１１２を備える。
【００４８】
要求送信部１０８は、サーバ装置１０２への接続要求を送信する。受信部１０９は、サーバ装置１０２の処理結果およびＧＵＩプログラムを受信する。ＧＵＩプログラム保存部１１０はサーバ装置１０２から取得したＧＵＩプログラムを保存する。動画用デコーダ１０７はサーバ装置１０２から受信した動画コンテンツ（例えば、早送り用データ）をデコードする。表示部１１２は動画用デコーダ１０７でデコードされた動画コンテンツの映像を表示する。ＧＵＩプログラム実行部１１１は、クライアント装置１０３がサーバ装置１０２から取得してＧＵＩプログラム保存部１１０に保存されたＧＵＩプログラムを実行する。また、このＧＵＩプログラム実行部１１１は、再生操作画面などのＧＵＩコンテンツを生成して表示部１１２に表示させるＧＵＩ表示処理部１１３と、ＧＵＩプログラム保存部１１０に保存されている、旧機器（クライアント装置１０３）の機能の一覧を表す旧機器機能情報１１５を参照し、ＧＵＩ操作によって生じた命令を制御する制御部１１４と、サーバ装置１０２から受信部１０９で受信されたファイルを解析する解析部１１６とを有する。
【００４９】
サーバ装置１０２は、要求受付部２０１、ＧＵＩプログラム保存部２０２、状態情報記憶部２０５、機器状態判定部２０４、機能情報記憶部２０６、送信部２０３、代替処理提供部２０７、エラーメッセージ生成部２０８、およびコンテンツ保存部２１３を備える。
【００５０】
要求受付部２０１は、クライアント装置１０３の要求送信部１０８からの接続要求を受け付けると、ＧＵＩプログラム保存部２０２から、ＧＵＩを実現するためのＧＵＩプログラムを取得して、そのＧＵＩプログラムを送信部２０３からクライアント装置１０３に送信する。さらに、要求受付部２０１は、クライアント装置１０３からＧＵＩを通じてサーバ装置１０２へ出力された代替処理要求を受け付ける。ＧＵＩプログラム保存部２０２は、上述のＧＵＩを実現するためのＧＵＩプログラムを保持している。ＧＵＩプログラムは、サーバ装置１０２で保持している動画コンテンツの一覧を表示するための情報、ＧＵＩ操作によって生じる命令を制御する制御機構、ＸＭＬを解析する機能、および旧機器機能情報１１５を含んでいる。送信部２０３は、ＧＵＩプログラムと、サーバ装置１０２の処理結果をクライアント装置１０３に送信する。
【００５１】
機器状態判定部２０４は、サーバ装置１０２内に存在する設定情報テーブル２０５ａと競合情報テーブル２０５ｂと機能情報テーブル２０６ａを取得する。さらに、機器状態判定部２０４は、それらのテーブル２０５ａ，２０５ｂ，２０６ａを参照して、サーバ装置１０２内でクライアント装置１０３から要求された処理（代替処理）が実行可能かどうかを判定する。機器状態判定部２０４は、実行可能であると判定すると、代替処理を代替処理提供部２０７に要求して実行させる。なお、本実施の形態では、この機器状態判定部２０４が、設定情報テーブル２０５ａと競合情報テーブル２０５ｂの示すサーバ装置１０２の状態に応じて、クライアント装置１０３から要求された処理ができるか否かを判定する状態判定部として構成されているとともに、機能情報テーブル２０６ａを参照することにより代替処理を特定する代替処理特定部としても構成されている。つまり、機器状態判定部２０４は、状態判定部と代替処理特定部とを備えている。
【００５２】
状態情報記憶部２０５は、サーバ装置１０２の設定が十分に行われているかを示す上述の設定情報テーブル２０５ａと、サーバ装置１０２が持つ機能の競合に関する情報を示す上述の競合情報テーブル２０５ｂとを保持している。なお、この設定情報テーブル２０５ａと競合情報テーブル２０５ｂとを総称して状態情報テーブルという。機能情報記憶部２０６は、サーバ装置１０２の機能ごとに、その機能と、その機能を代替する機能とを対応付けた上述の機能情報テーブル２０６ａを保持している。
【００５３】
代替処理提供部２０７は、旧世代のクライアント装置１０３の機能と新世代のサーバ装置１０２の機能との間に差異がある場合、つまり、機器状態判定部２０４で代替処理が実行可能であると判定された場合に、旧世代のクライアント装置１０３からの要求に対してその代替処理を提供する。
【００５４】
このような代替処理提供部２０７は、データ送信制御部２０９、送信データ生成部２１０、フレーム抽出部２１１、および動画用エンコーダ２１２を備える。データ送信制御部２０９は、機器状態判定部２０４からの代替処理要求を受け付けて、代替処理の結果である送信データの生成を送信データ生成部２１０に命令する。さらに、データ送信制御部２０９は、代替処理結果である送信データを送信部２０３からクライアント装置１０３に送信する。
【００５５】
送信データ生成部２１０は、データ送信制御部２０９から送信データの生成命令を受け付けると、コンテンツ保存部２１３から動画コンテンツを取り出す。そして、送信データ生成部２１０は、その動画コンテンツに対するエンコーディング命令およびフレーム抽出命令などの各命令をフレーム抽出部２１１または動画用エンコーダ２１２に発する。このフレーム抽出命令は、代替処理に必要とされるフレームを抽出させる命令である。コンテンツ保存部２１３は、サーバ装置１０２で利用可能な動画コンテンツを保存しており、例えばハードディスクによって構成される。フレーム抽出部２１１は、送信データ生成部２１０を介してコンテンツ保存部２１３から動画コンテンツを取得し、送信データ生成部２１０から発せられたフレーム抽出命令に応じて、その動画コンテンツから必要なフレームを抽出する。動画用エンコーダ２１２は、送信データ生成部２１０から発せられたエンコーディング命令に応じて、フレーム抽出部２１１が抽出したフレーム群のエンコーディングを行う。このようなエンコーディングが行われることによって、上述の代替処理結果である送信データが生成される。また、このように生成された送信データが上述の早送り用データである。
【００５６】
エラーメッセージ生成部２０８は、サーバ装置１０２内で発生しているエラーを示す情報であって、機器状態判定部２０４によって判定された結果であるエラー判定情報を機器状態判定部２０４から受け取る。また、エラーメッセージ生成部２０８は、そのエラー判定情報を用いて、クライアント装置１０３に提供するエラーメッセージを生成する。エラーメッセージを提供するときには、エラーメッセージ生成部２０８は、例えば、エラーメッセージを直接テキストメッセージとして送信部２０３を介してクライアント装置１０３に通知したり、エラーメッセージを表示するプログラムの置き場所を、送信部２０３を介してクライアント装置１０３に通知する。
【００５７】
図４は、サーバ装置１０２の設定情報テーブル２０５ａを示す図である。
【００５８】
この設定情報テーブル２０５ａは、行ｇ１〜ｇ３に示すように、接続設定や通信設定などの設定内容（設定項目）について、現在、これらの設定が正しく行われているか否かを設定状態として示している。例えば、設定情報テーブル２０５ａの行ｇ１は、サーバ装置１０２に接続される機器の登録の設定（接続機器の登録設定）が正しくなされていること（ＯＫ）を示し、行ｇ２は、サーバ装置１０２に接続される機器の制限台数の設定（接続台数制限設定）がなされていないこと（ＮＧ）を示し、行ｇ３は、サーバ装置１０２の通信速度の設定（通信速度設定）が正しくなされていること（ＯＫ）を示す。なお、図４の設定情報テーブル２０５ａは、例として３つの設定内容についての設定状態を示しているが、設定内容は機器によって異なるのでこれだけに限らない。また、この設定情報テーブル２０５ａは、サーバ装置１０２の設定状態が変更されるごとに、その変更された設定状態が反映されるように更新される。
【００５９】
図５は、サーバ装置１０２の競合情報テーブル２０５ｂを示す図である。
【００６０】
競合情報テーブル２０５ｂは、行ｇ１１〜ｇ１９に示すように、サーバ装置１０２の機能ごとに、その機能の名称（機能名）と、他の機能との競合関係に基づいて、現在、その機能が利用可能か否かを示している。例えば、競合情報テーブル２０５ｂの行ｇ１１は、機能名「ｆａｓｔｆｏｒｗａｒｄ」の機能（早送り）が現在他の機能と競合せずに利用可能であること（ＯＫ）を示し、行ｇ１３は、機能名「ｒｅｃｏｒｄ」の機能（録画）が現在他の機能と競合するために利用できないこと（ＮＧ）を表している。また、この競合情報テーブル２０５ｂは、サーバ装置１０２で利用される機能が変更されるごとに、その変更された結果が反映されるように更新される。
【００６１】
図６は、サーバ装置１０２の機能情報テーブル２０６ａを示す図である。
【００６２】
機能情報テーブル２０６ａは、行ｇ２１〜ｇ２８に示すように、サーバ装置１０２の機能ごとに、その機能の機能名と、その機能による処理の代替となる処理（代替処理）の名称である代替処理名と、その代替処理を実行するためのプログラムのアクセス先である代替処理用のＵＲＬとを示す。例えば、機能情報テーブル２０６ａの行ｇ２２は、サーバ装置１０２の早送りの機能名「ｆａｓｔＦｏｒｗａｒｄ」と、その早送りの代替処理名「ａｌｔＦａｓｔＦｏｒｗａｒｄ」と、この代替処理名の代替処理を実行するためのプログラムのアクセス先である代替処理用ＵＲＬ「ｈｔｔｐ：／／Ａ／ＢＢＢ．ｃｇｉ？／ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」とを示している。また、この機能情報テーブル２０６ａは、早送り、巻き戻し、回転、ズームイン、ズームアウト、２倍速再生および３倍速再生の機能に対する代替処理に関する情報を示す。なお、機能情報テーブル２０６ａは、図６に示す機能名、代替処理名および代替処理用ＵＲＬだけでなく、他の機能名、代替処理名および代替処理用ＵＲＬを示していてもよい。
【００６３】
図７は、本実施の形態のサーバ装置１０２およびクライアント装置１０３の全体的な動作を示すフローチャートである。
【００６４】
まず、クライアント装置１０３の要求送信部１０８は、サーバ装置１０２に対し、サーバ装置１０２を操作するＧＵＩを実現するためのＧＵＩプログラムを要求する（ステップＳ６０１）。サーバ装置１０２の要求受付部２０１は、その要求（ＧＵＩプログラムの取得要求）を受け付け（ステップＳ６０２）、その要求に応じて、ＧＵＩプログラム保存部２０２からＧＵＩプログラムを取得する（ステップＳ６０３）。サーバ装置１０２の要求受付部２０１は、取得されたＧＵＩプログラムを送信部２０３からクライアント装置１０３に送信する（ステップＳ６０４）。クライアント装置１０３の受信部１０９は、ＧＵＩプログラムを取得すると、このＧＵＩプログラムをＧＵＩプログラム保存部１１０に格納する（ステップＳ６０５）。さらに、クライアント装置１０３のＧＵＩプログラム実行部１１１は、そのＧＵＩプログラムを実行することにより、ＧＵＩ（再生操作画面Ｐ１）を通じて、ユーザにより選択された機能（例えば、早送り）を受け付ける（ステップＳ６０６）。
【００６５】
その際、まず、クライアント装置１０３の制御部１１４は、旧機器機能情報１１５を参照し（ステップＳ６０７）、参照結果に基づいて、その選択された機能（例えば、再生または早送り）がクライアント装置１０３に存在するか否かを判定する（ステップＳ６０７ａ）。制御部１１４は、クライアント装置１０３にその機能が存在すると判定すると（ステップＳ６０７のＹＥＳ）、その機能に応じた処理を実行する（ステップＳ６０８）。例えば、選択された機能が再生であって、その再生が旧機器機能情報１１５に示されていれば、制御部１１４は、サーバ装置１０２に動画コンテンツを要求し、その動画コンテンツのデコードを動画用デコーダ１０７に実行させ、表示部１１２にその動画コンテンツの映像を表示させる。
【００６６】
一方、機能が存在しないと判定すると（ステップＳ６０７のＮＯ）、クライアント装置１０３の制御部１１４は、要求送信部１０８に対し、存在しない機能による処理、つまりその処理の代替となる処理をサーバ装置１０２に対して要求するよう命令する（ステップＳ６０９）。サーバ装置１０２の要求受付部２０１がこの要求（代替処理要求）を受けると（ステップＳ６１０）、機器状態判定部２０４は、設定情報テーブル２０５ａおよび競合情報テーブル２０５ｂからなる状態情報テーブルと、機能情報テーブル２０６ａを参照する（ステップＳ６１１）。そして、機器状態判定部２０４は、その参照結果に基づいて、代替処理の提供が行えるかどうかを判定する（ステップＳ６１１ａ）。
【００６７】
機器状態判定部２０４は、代替処理を提供できると判定した場合には（ステップＳ６１１ａのＹＥＳ）、代替処理提供部２０７に代替処理を実行させる（ステップＳ６１２）。代替処理を実行した代替処理提供部２０７は、代替処理の処理結果を送信部２０３からクライアント装置１０３に送信する（ステップＳ６１４）。一方、機器状態判定部２０４は、代替処理が提供できないと判定した場合には（ステップＳ６１１ａのＮＯ）、エラーメッセージ生成部２０８にエラーメッセージを生成させる（ステップＳ６１３）。エラーメッセージを生成したエラーメッセージ生成部２０８は、そのエラーメッセージを送信部２０３からクライアント装置１０３に送信する（ステップＳ６１４）。
【００６８】
図８Ａおよび図８Ｂは、図７のステップＳ６１１〜Ｓ６１４の詳細な動作を示すフローチャートである。
【００６９】
なお、この図８Ａおよび図８Ｂに示す動作では、クライアント装置１０３上には前述のＧＵＩを実現するためのＧＵＩプログラムがあらかじめダウンロードおよび保存されており、クライアント装置１０３上で動画コンテンツが再生されているものとする。また、このＧＵＩでは、個々の動画コンテンツごとに、動画コンテンツとコンテンツ名が紐づけされている。例えば、ユーザが特定の動画コンテンツを選択した時に、このＧＵＩでは、どの動画コンテンツが選択されたのかという情報（コンテンツ名）を内部的に取得することができる。また、再生要求は、“再生”の機能をあらわすｐｌａｙ関数を用いて、“ｐｌａｙ（ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｐｒｏｇｒａｍ．ｃｇｉ？ｃｏｎｔｅｎｔｎａｍｅ＝ａａａ．ｍｐｇ）”の様に実現されている。また、図８Ａおよび図８Ｂに示す動作は、クライアント装置１０３が再生している動画コンテンツの早送りの代替処理をサーバ装置１０２に対して要求する場合の動作である。なお、図８Ａおよび図８Ｂでは、早送りに対応する代替処理が行われる処理動作を例に挙げて説明しているが、巻き戻しやその他の機能に対応する代替処理が行われてもよく、代替処理される機能は早送りだけに限らない。
【００７０】
サーバ装置１０２の要求受付部２０１は、クライアント装置１０３に存在しない機能（機能名）を示す代替処理要求を受信すると（ステップＳ６１０）、その代替処理要求を解析し、要求された機能を機器状態判定部２０４に通知する（ステップＳ７０７）。機器状態判定部２０４は、状態情報記憶部２０５に保存されている設定情報テーブル２０５ａの全ての行を参照し、全ての設定内容において設定が十分に行われているか調べる（ステップＳ７０８）。つまり、機器状態判定部２０４は、全ての設定内容に対応する設定状態が「ＯＫ」を示しているか否かを判定する。全ての設定内容についての設定に問題が無いと判定すると（ステップＳ７０８のＹＥＳ）、次に、機器状態判定部２０４は、代替処理があるかどうかを、機能情報テーブル２０６ａを参照して判断する（ステップＳ７０９）。例えば、代替処理要求が早送りの機能名「ｆａｓｔＦｏｒｗａｒｄ」を示している場合、図６に示す機能情報テーブル２０６ａの行ｇ２２の２列目に、代替処理名「ａｌｔＦａｓｔＦｏｒｗａｒｄ」と代替処理用ＵＲＬ「ｈｔｔｐ：／／Ａ／ＢＢＢ．ｃｇｉ？／ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」とが示されているため、機器状態判定部２０４は、早送りに対応する代替処理があると判定する。このとき、機器状態判定部２０４は、さらに、機能情報テーブル２０６ａの行ｇ２２の３列目から代替処理用ＵＲＬを取得する。
【００７１】
次に、機器状態判定部２０４は、代替処理があると判定すると（ステップＳ７０９のＹＥＳ）、状態情報記憶部２０５内にある競合情報テーブル２０５ｂを参照し、代替処理要求に示される機能が現在利用可能であるか否かを判定する（ステップＳ７１０）。つまり、機器状態判定部２０４は、代替処理要求に示される機能を利用することによって他の機能との間で競合が発生し、その代替処理要求に示される機能が利用不可能となるか否かを判定する。ここで、機器状態判定部２０４は、競合が発生せずにその機能が利用可能であると判定すると（ステップＳ７１０のＮＯ）、ステップＳ７０８〜ステップＳ７１０の判定結果および代替処理用ＵＲＬをファイル（ＸＭＬ）に記載し（ステップＳ７１１）、要求受付部２０１および送信部２０３を通じて、そのファイルをクライアント装置１０３の受信部１０９に送信する（ステップＳ７１３）。
【００７２】
また、機器状態判定部２０４は、ステップＳ７０８で何れかの設定が正しく行われていないと判定したとき（ステップＳ７０８のＮＯ）、ステップＳ７０９で代替処理がないと判定したとき（ステップＳ７０９のＮＯ）、または、ステップＳ７１０で、競合が発生してその機能が利用不可能であると判定したとき（ステップＳ７１０のＹＥＳ）には、それらの判定結果であるエラー判定情報（ステップＳ７１２）を取得する。そして、機器状態判定部２０４は、そのエラー判定情報とエラー処理用ＵＲＬをファイル（ＸＭＬ）に記載する（ステップＳ７１１）。機器状態判定部２０４は、要求受付部２０１および送信部２０３を通じて、そのファイルをクライアント装置１０３の受信部１０９に送信する（ステップＳ７１３）。
【００７３】
図９は、サーバ装置１０２がクライアント装置１０３に送信するファイルの一例を示す図である。
【００７４】
このファイルｆ１は、ステップＳ７１０で、競合が発生せずに機能が利用可能であると判定された場合（ステップＳ７１０のＮＯ）に生成された、ＸＭＬ（Extensible Markup Language）で記載されたファイルである。このファイルｆ１中には＜ｒｅｓｕｌｔ＞タグがある。この＜ｒｅｓｕｌｔ＞タグの中には、ステップＳ７０８の判定結果、つまり設定の状態を示す＜ｓｅｔｔｉｎｇ＞タグと、ステップＳ７０９の判定結果、つまり代替処理が存在するかどうかを示す＜ａｌｔｅｎａｔｉｖｅ＞タグと、ステップＳ７１０の判定結果、つまり競合が発生するか否かを示す＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグと、ステップＳ７０９で取得された代替処理用ＵＲＬを含む情報であって、早送りの代替処理のプログラム（代替処理用プログラム）にアクセスするためのｕｒｌ情報を示す＜ｕｒｌ＞タグとが記載されている。
【００７５】
ここで、ステップＳ７０８〜Ｓ７１０において、サーバ装置１０２は設定情報テーブル２０５ａを始めに参照し、その後、機能情報テーブル２０６ａ、競合情報テーブル２０５ｂと順に参照していることによって、余分な参照プロセスを避けている。例えば、設定情報テーブル２０５ａに、設定が十分に行われていないと示されているにも関わらず、先に、機能情報テーブル２０６ａおよび競合情報テーブル２０５ｂを参照し、代替処理を実行できると判断しても、最終的に設定が不十分であれば、機能情報テーブル２０６ａを参照した意味が無くなるためである。
【００７６】
なお、本実施の形態では、機器状態判定部２０４が状態情報記憶部２０５と機能情報記憶部２０６に基づいて取得した代替処理用ＵＲＬおよび判定結果をＸＭＬの形式で、クライアント装置１０３に通知しているが、クライアント装置１０３に通知する方法はどのような方法であってもよい。例えば、テキストやプログラム、バイナリ等で通知してもよい。また、クライアント装置１０３が自分に機能があるかどうかを調べる機能がない場合でも、要求受付部２０１がクライアント装置１０３から受け付けた要求のＨＴＴＰヘッダを解析してＵｓｅｒ−Ａｇｅｎｔを取得し、クライアントの能力を調べ、それに応じた代替処理用ＵＲＬを機能情報テーブル２０６ａから取得する事によって、その代替処理用ＵＲＬおよび判定結果の通知を実現することが可能である。
【００７７】
図８Ｂに示すように、クライアント装置１０３の受信部１０９がファイルをサーバ装置１０２から受信すると（ステップＳ７１４）、クライアント装置１０３の解析部１１６は、そのファイルの＜ｒｅｓｕｌｔ＞タグを解析する（ステップＳ７１５）。ここでは、解析部１１６が図９に示すファイルｆ１の＜ｒｅｓｕｌｔ＞タグを解析する場合の処理動作について説明する。
【００７８】
解析部１１６は、＜ｒｅｓｕｌｔ＞タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルｆ１にエラーが示されているか否かを判定する（ステップＳ７１６）。例えば、解析部１１６は、ファイルｆ１の＜ｓｅｔｔｉｎｇ＞タグに、全ての設定が正しく行われていることを示す「ＯＫ」が記載されており、＜ａｌｔｅｎａｔｉｖｅ＞タグに、代替処理が存在すること示す「ＹＥＳ」が記載されており、＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグに、競合が発生しないために機能が利用可能であることを示す「ＮＯ」が記載されているため、全てのタグに問題が記載されていないと判定する。
【００７９】
解析部１１６は、問題が記載されていないと判定すると（ステップＳ７１６のＮＯ）、要求送信部１０８に対して、＜ｕｒｌ＞タグに記載されているｕｒｌ情報「ｈｔｔｐ：／／ｈｏｓｔＮａｍｅ／ＢＢＢ．ｃｇｉ？ｓｔａｔｕｓ＝ｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」にアクセスさせる（ステップＳ７１７）。例えば、要求送信部１０８は、ｐｌａｙ（ｕｒｌ情報）からなるアクセス要求「ｐｌａｙ（ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ＢＢＢ．ｃｇｉ？ｓｔａｔｕｓ＝ｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ）」を送信する。
【００８０】
サーバ装置１０２の要求受付部２０１は、このアクセス要求を受けると（ステップＳ７１９）、このアクセス要求のｕｒｌ情報から、実行する代替処理用プログラムの名称「ＢＢＢ．ｃｇｉ、ｓｔａｔｕｓ」、ステータス情報「ｓｔａｔｕｓ＝ｎｏｒｍａｌ」及びファンクション情報「ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」を文字列操作によって取り出し、機器状態判定部２０４に通知する。機器状態判定部２０４は、ステータス情報をチェックし（ステップＳ７２０）、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する（ステップＳ７２１）。この場合、ステータス情報は「ｓｔａｔｕｓ＝ｎｏｒｍａｌ」であるため、機器状態判定部２０４は、ノーマルを示す、つまりサーバ装置１０２内で問題は無いと判断し（ステップＳ７２１のＮＯ）、プログラム名「ＢＢＢ．ｃｇｉ」の代替処理用プログラムの実行を代替処理提供部２０７のデータ送信制御部２０９に要求すると共に、そのデータ送信制御部２０９にファンクション情報を通知する。
【００８１】
この要求および通知を受けたデータ送信制御部２０９は、プログラム名「ＢＢＢ．ｃｇｉ」の代替処理用プログラムを起動し、送信データ生成部２１０に対して送信データの生成を要求する。送信データ生成部２１０は、コンテンツ保存部２１３から動画コンテンツを取り出し（ステップＳ７２２）、フレーム抽出部７０５に対して、クライアント装置１０３へ送信するフレームをその動画コンテンツの中から抽出させることにより（ステップＳ７２３）、送信データである早送り用データを生成する。
【００８２】
この場合、フレーム抽出部７０５は、早送り用データを生成するために、動画コンテンツをデコードして、デコードされた動画コンテンツのＩフレームおよびＰフレームのみを抽出する。なお、ファンクション情報が「ｆｕｎｃｔｉｏｎ＝ａｌｔＲｅｗｉｎｄ」、つまり巻き戻しの代替処理を示す場合には、フレーム抽出部７０５は、早送りの場合の逆の処理を行い、巻き戻しの代替処理要求を受信した時点から以前のＩフレームおよびＰフレームを抽出する。また、ファンクション情報がその他の機能（例えば２倍速再生等）の代替処理を示す場合にも、フレーム抽出部７０５は、代替処理要求を受信した時点から同様に適切なフレームを抽出する。その後、動画用エンコーダ２１２は、抽出したフレームを再エンコードして早送り用データを生成し（ステップＳ７２４）、送信データ生成部２１０、データ送信制御部２０９および送信部２０３を通じてクライアント装置１０３の受信部１０９にその早送り用データを順次送り出す（ステップＳ７２７）。
【００８３】
クライアント装置１０３の受信部１０９は、サーバ装置１０２の処理結果を受信し（ステップＳ７２８）、その処理結果がエラーを示すか否かを判定する（ステップＳ７２８ａ）。上述の例の場合、受信部１０９は、動画コンテンツに対する処理結果である早送り用データを受信するため、その処理結果がエラーを示さないと判定する。受信部１０９は、エラーを示さないと判定すると（ステップＳ７２８ａのＮＯ）、この早送り用データを動画用デコーダ１０７に出力してデコードさせる（ステップＳ７２９）。そして、動画用デコーダ１０７は、デコードされた早送り用データを表示部１１２に順次表示させる（ステップＳ７３１）。その結果、早送り用データが再生される。
【００８４】
再生される早送り用データの映像は、動画コンテンツが早送りされている映像と見かけ上同等になる。したがって、クライアント装置１０３は、早送り用データを単純に通常再生すれば、動画コンテンツの早送り再生と同等の機能を実現できる。なお、早送りデータなどのデータをサーバ装置１０２からクライアント装置１０３に送信する方法や、そのデータをエンコードする方法、クライアント装置１０３の動画用デコーダ１０７がそのデータをデコードする方法等に関しては、さまざまなプロトコルや方法があり、本発明では、何れのプロトコルや方法を用いてもよい。
【００８５】
次に、代替処理を提供できない場合を説明する。
【００８６】
図１０は、サーバ装置１０２がクライアント装置１０３に送信するファイルの他の例を示す図である。
【００８７】
このファイルｆ２は、図８ＡのステップＳ７１０で、競合が発生することにより機能が利用不可能であると判定された場合（ステップＳ７１０のＹＥＳ）に生成された、ＸＭＬで記載されたファイルである。ファイルｆ１と同様、このファイルｆ２中には、＜ｒｅｓｕｌｔ＞タグがある。この＜ｒｅｓｕｌｔ＞タグの中には、ステップＳ７０８の判定結果、つまり設定の状態を示す＜ｓｅｔｔｉｎｇ＞タグと、ステップＳ７０９の判定結果、つまり代替処理が存在するかどうかを示す＜ａｌｔｅｎａｔｉｖｅ＞タグと、ステップＳ７１０の判定結果、つまり競合が発生するか否かを示す＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグと、エラー処理用ＵＲＬを含む情報であって、エラー処理のプログラム（エラー処理用プログラム）にアクセスするためのｕｒｌ情報を示す＜ｕｒｌ＞タグとが記載されている。
【００８８】
図８Ｂに示すように、クライアント装置１０３の受信部１０９は、ファイルｆ２をサーバ装置１０２から受信し（ステップＳ７１４）、解析部１１６はそのファイルｆ２の＜ｒｅｓｕｌｔ＞タグを解析する（ステップＳ７１５）。その結果、解析部１１６は、ファイルｆ２の＜ｒｅｓｕｌｔ＞タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルｆ２にエラーが示されているか否かを判定する（ステップＳ７１６）。例えば、解析部１１６は、このファイルｆ２の＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグに、競合が発生するために機能が利用不可能であることを示す「ＹＥＳ」が記述されているため、タグに問題が記載されていると判定する。
【００８９】
解析部１１６は、問題が記載されていると判定すると（ステップＳ７１６のＹＥＳ）、要求送信部１０８に対して、＜ｕｒｌ＞タグに記載されているｕｒｌ情報「ｈｔｔｐ：／／ｈｏｓｔＮａｍｅ／ｅｒｒｏｒ．ｃｇｉ？ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」にアクセスさせる（ステップＳ７１８）。例えば、要求送信部１０８は、ｐｌａｙ（ｕｒｌ情報）からなるアクセス要求「ｐｌａｙ（ｈｔｔｐ：／／ｈｏｓｔＮａｍｅ／ｅｒｒｏｒ．ｃｇｉ？ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ＆ｃｏｍｐｅｔｉｔｉｏｎ＝ｙｅｓ）」を送信する。
【００９０】
サーバ装置１０２の要求受付部２０１は、このアクセス要求を受けると（ステップＳ７１９）、このアクセス要求のｕｒｌ情報から、実行するエラー処理用プログラムの名称「ｅｒｒｏｒ．ｃｇｉ」、ステータス情報「ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ」、ファンクション情報「ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」、およびエラー情報「ｃｏｍｐｅｔｉｔｉｏｎ＝ｙｅｓ」を文字列操作によって取り出し、機器状態判定部２０４に通知する。機器状態判定部２０４は、ステータス情報をチェックし（ステップＳ７２０）、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する（ステップＳ７２１）。この場合、ステータス情報は「ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ」であるため、機器状態判定部２０４は、ノーマルを示さない、つまりエラーを示すと判断し（ステップＳ７２１のＹＥＳ）、エラーメッセージ生成部２０８に対して、エラー情報「ｃｏｍｐｅｔｉｔｉｏｎ＝ｙｅｓ」を通知する（ステップＳ７２５）。言い換えれば、機器状態判定部２０４は、エラー情報が競合の発生を示しているので、その競合の発生を通知する。エラー情報の通知を受けたエラーメッセージ生成部２０８は、プログラム名「ｅｒｒｏｒ．ｃｇｉ」のエラー処理用プログラムを起動し、クライアント装置１０３にエラーメッセージを表示させるためのエラー表示用プログラムを生成し（ステップＳ７２６）、送信部２０３からクライアント装置１０３に送信する（ステップＳ７２７）。
【００９１】
クライアント装置１０３の受信部１０９は、サーバ装置１０２の処理結果を受信し（ステップＳ７２８）、その処理結果がエラーを示すか否かを判定する（ステップＳ７２８ａ）。上述の例の場合、受信部１０９は、エラー情報に対する処理結果であるエラー表示用プログラムを受信するため、その処理結果がエラーを示すと判定する。受信部１０９は、エラーを示す判定すると（ステップＳ７２８ａのＹＥＳ）、受信したエラー表示用プログラムを実行し（ステップＳ７３０）、エラーメッセージを表示部１１２に表示させる（ステップＳ７３１）。これにより、クライアント装置１０３のユーザは、サーバ装置１０２内で発生したエラーを把握する事が可能になる。
【００９２】
この方法を用いれば、サーバ装置１０２は、ＧＵＩによるエラー処理と各世代の機器に応じたエラーＧＵＩとを変更する必要がなくなり、旧世代のクライアント装置１０３に接続したとしても上記仕組みの流用が可能になる利点もある。
【００９３】
なお、本実施の形態では、エラーメッセージを通知する手段として、エラーメッセージを表示するエラー表示用プログラムを生成して送信し、ＧＵＩの形でユーザに通知する方式を取っている。しかし、クライアント装置１０３にメッセージを通知する手段としては、メッセージだけを文字列として通知してもよいし、クライアント装置１０３上でｗｉｎｄｏｗ表示をしてもよく、ユーザにメッセージを通知することができれば、どのような手段であってもよい。
【００９４】
また、本実施の形態では、代替処理用プログラムまたはエラー処理用プログラムへアクセスする際、まず、ＸＭＬを用いてアクセス先をクライアント装置１０３に通知し、クライアント装置１０３からそのプログラムへのアクセスの要求があったときに、そのプログラムにアクセスしている。つまり、サーバ装置１０２からクライアント装置１０３へ処理工程を１度折り返す仕組みを用いている。しかし、このような仕組みを用いなくても、本発明の効果を得ることができる。具体的には、通知を受けた機器状態判定部２０４が要求された機能の機能名「ｆａｓｔＦｏｒｗａｒｄ」を用いて、機能情報テーブル２０６ａから代替処理用のＵＲＬを取得し、代替処理用プログラムに直接アクセスする。
【００９５】
しかしながら、ＸＭＬ等を用いてクライアント装置１０３に処理を預けるにはメリットがある。サーバ装置１０２は、ＰＣ（パーソナルコンピュータ）のように高性能ＣＰＵ（Central Processing Unit）や大容量のメモリを備えていない状況であっても、複数のクライアント装置１０３からの要求を確実に処理する必要がある。そのため、サーバ装置１０２に高負荷が掛かっている状況下では、代替処理やエラーメッセージの提供を遅延させた方がよい。したがって、本実施の形態では、サーバ装置１０２がクライアント装置１０３に処理を預ける手段として、ＸＭＬ等を用いてクライアント装置１０３に一時的に処理を預けているのである。つまり、サーバ装置１０２は自装置の都合に合わせてクライアント装置１０３を制御する主導権を握れるというメリットである。また、サーバ装置１０２は、ＸＭＬのファイルをクライアント装置１０３に送信するときに、自装置の都合に合わせて、所定時間経過後に、または、所定の条件が満たされたときに代替処理用ＵＲＬにアクセスさせるような情報をクライアント装置１０３に通知してもよい。
【００９６】
このように、本実施の形態によれば、サーバ装置１０２がクライアント装置１０３に、クライアント装置１０３にない機能による処理を代替処理として提供できるので、クライアント装置１０３に送信するＧＵＩプログラム（ＧＵＩコンテンツ）を、サーバ装置１０２内でクライアント装置１０３の能力で実行可能な範囲内にカスタマイズせずに、クライアント装置１０３上でサーバ装置１０２と同等の表示ができ、クライアント装置１０３が能力の劣る旧世代の機器であっても新世代のサーバ装置１０２と同等の機能を実現可能となるという効果が得られる。
【００９７】
また、本実施の形態では、状態情報テーブルなどを用いた判定が行われるため、サーバ装置１０２と他の機器との接続や切断などの設定状態、および、サーバ装置１０２内にある機能同士の競合など、サーバ装置１０２の状態が様々に変化しても、処理の大幅な遅延や停止、致命的なエラーを回避し、クライアント装置１０３に対して確実に応答を返すことができる。このような判定は、ＰＣのサーバと比べてメモリ容量やＣＰＵの処理能力などが劣るサーバ装置１０２に対して、複数の機器から同時に同一機能の利用が要求される場合や設定が頻繁に変更される場合に特に有効である。
【００９８】
（変形例１）
以下、本実施の形態における第１の変形例に係るサーバ装置について、図面を参照しながら説明する。本変形例に係るサーバ装置は、上記実施の形態１のように動画コンテンツに対する機能（早送りなど）の代替処理ではなく、静止画コンテンツに対する機能（回転など）の代替処理をクライアント装置に提供する。つまり、本変形例におけるサーバ装置は、ユーザがクライアント装置でサーバ装置の静止画コンテンツを閲覧する場合に、クライアント装置に対して、静止画コンテンツにおける、回転、拡大、縮小、またはイフェクト等の機能の代替処理を与える。
【００９９】
図１１は、本変形例におけるサーバ装置とクライアント装置の構成図である。
【０１００】
本変形例におけるクライアント装置１０３Ａは、ＧＵＩプログラム実行部１１１、要求送信部１０８、受信部１０９、静止画用デコーダ１１７、ＧＵＩプログラム保存部１１０、および表示部１１２を備える。また、本変形例におけるサーバ装置１０２Ａは、要求受付部２０１、ＧＵＩプログラム保存部２０２、状態情報記憶部２０５、機器状態判定部２０４、機能情報記憶部２０６、送信部２０３、代替処理提供部２０７Ａ、エラーメッセージ生成部２０８、およびコンテンツ保存部２１３を備える。また、代替処理提供部２０７Ａは、データ送信制御部２０９、送信データ生成部２１０、静止画用エンコーダ２１５、および変換部２１４を備える。なお、図１１に示す構成要素のうち、上記実施の形態１の図３に示す構成要素と同一の機能および構成を有する構成要素に対しては、実施の形態１と同一の符号を付して示し、その詳細な説明は省略する。また、コンテンツ保存部２１３は静止画コンテンツを保存している。
【０１０１】
代替処理提供部２０７の変換部２１４は、クライアント装置１０３からの、静止画コンテンツに対する代替処理要求である編集要求に応じて、その静止画コンテンツを変換する。静止画用エンコーダ２１５は、その変換された静止画コンテンツをエンコードする。クライアント装置１０３Ａの静止画用デコーダ１１７は、サーバ装置１０２Ａの処理結果である変換されてエンコードされた静止画コンテンツをデコードして表示部１１２に表示させる。
【０１０２】
本変形例と上記実施の形態１との相違点は、サーバ装置１０２の変換部２１４を使用し、回転、拡大、縮小、特殊効果等が付加された静止画像を生成し、クライアント装置１０３で表示可能にする点である。
【０１０３】
図１２は、本変形例における代替処理および静止画コンテンツの表示処理を示すフローチャートである。ここでは、上記実施の形態１と同様に、クライアント装置１０３Ａ上には、ＧＵＩを実現するためのＧＵＩプログラムがあらかじめダウンロードされ、ユーザがクライアント装置１０３Ａ上で静止画コンテンツを閲覧しているものとする。このとき、サーバ装置１０２Ａおよびクライアント装置１０３Ａは、上記実施の形態１の図７、図８Ａおよび図８Ｂに示す動作と同様の動作を行うが、図８Ｂに示すステップＳ７２１〜Ｓ７３１の処理の代わりに、静止画コンテンツの編集を代替処理として実行し、編集された静止画データ（送信データ）の静止画を表示する。
【０１０４】
つまり、機器状態判定部２０４は、クライアント装置１０３Ａから受けたアクセス要求に示されるステータス情報をチェックし、エラーを示すか否かを判定する（ステップＳ１１２１）。ここで、機器状態判定部２０４がエラーを示さないと判定すると（ステップＳ１１２１のＮＯ）、送信データ生成部２１０は、コンテンツ保存部２１３より静止画コンテンツを取得し（ステップＳ１１２２）、変換部２１４へ取得した静止画コンテンツを受け渡し、その静止画コンテンツを変換させる（ステップＳ１１２３）。このとき、変換部２１４は、エンコードされている静止画コンテンツをデコードして変換する。静止画用エンコーダ２１５は、変換された静止画コンテンツを再びエンコードし（ステップＳ１１２４）、変換およびエンコードされた静止画データを送信データとして、送信部２０３からクライアント装置１０３Ａに送信する（ステップＳ１１２７）。
【０１０５】
クライアント装置１０３Ａの受信部１０９は、サーバ装置１０２Ａの処理結果を受信し（ステップＳ１１２８）、その処理結果がエラーを示すか否かを判定する（ステップＳ１１２８ａ）。上述の例の場合、受信部１０９は、静止画コンテンツに対する処理結果である静止画データを受信するため、その処理結果がエラーを示さないと判定する。受信部１０９は、エラーを示さないと判定すると（ステップＳ１１２８ａのＮＯ）、静止画データを静止画用デコーダ１１７に出力してデコードさせる（ステップＳ１１２９）。そして、静止画用デコーダ１１７は、デコードされた静止画データの画像を表示部１１２に表示させる（ステップＳ１１３１）。
【０１０６】
また、図１２に示すステップＳ１１２５，Ｓ１１２６，Ｓ１１３０の処理は、上記実施の形態１の図８Ｂに示すステップＳ７２５，Ｓ７２６，Ｓ７３０の処理と同様である。
【０１０７】
なお、上記実施の形態１および変形例１では、動画または静止画に関する代替処理を行っているが、代替処理は、どのような処理でもよく、音声に関する代替処理であってもよい。例えば、録音した音声コンテンツに様々な効果を与える機能（効果付与機能）を有する新世代のサーバ装置とその効果付与機能が無い旧世代のクライアント装置が接続されている場合に、そのサーバ装置は、旧世代のクライアント装置にその効果付与機能による処理を提供する。
【０１０８】
（変形例２）
ここで、上記実施の形態１における第２の変形例について説明する。
【０１０９】
本変形例に係るサーバ装置１０２は、上記実施の形態１のＧＵＩプログラムとは異なるＧＵＩプログラムをクライアント装置１０３に送信する点に特徴がある。つまり、本変形例に係るＧＵＩプログラムを実行するクライアント装置１０３は、クライアント装置１０３が有する機能（例えば、動画コンテンツの録画）であっても、所定の条件が満たされた場合には、その機能に応じた処理をサーバ装置１０２に要求する。なお、以下の説明では、その機能を録画として説明するが、他の機能であってもよい。また、その機能が録画の場合には、クライアント装置１０３およびサーバ装置１０２はそれぞれ、その機能によって、配信される動画コンテンツを受信して記録媒体にその動画コンテンツを記録することができる。
【０１１０】
図１３は、本変形例に係るクライアント装置１０３の動作を示すフローチャートである。
【０１１１】
まず、クライアント装置１０３の受信部１０９は、サーバ装置１０２からＧＵＩプログラムをダウンロードしてＧＵＩプログラム保存部１１０に格納する（ステップＳ２００２）。ＧＵＩ表示処理部１１３は、そのＧＵＩプログラムを実行して、ＧＵＩコンテンツである再生操作画面を表示部１１２に表示させる。クライアント装置１０３の制御部１１４は、ユーザによるＧＵＩ操作に応じて、その再生操作画面に表示されている機能のうち「録画」を選択する（ステップＳ２００４）。その結果、制御部１１４は、クライアント装置１０３が備えている記録媒体の残容量を特定する（ステップＳ２００６）。そして、制御部１１４は、その残容量がしきい値よりも多いか否かを判定する（ステップＳ２００８）。つまり、制御部１１４は、録画対象の動画コンテンツの全てを記録媒体に格納することができるか否かを判定する。このしきい値は、録画対象の動画コンテンツのデータ量であってもよく、予め定められた値であってもよい。
【０１１２】
制御部１１４は、ステップＳ２００８で残容量が多いと判定すると（ステップＳ２００８のＹＥＳ）、その録画対象の動画コンテンツの録画を、クライアント装置１０３の録画の機能を有する処理部に実行させる（ステップＳ２０１０）。一方、制御部１１４は、残容量がしきい値以下であると判定すると（ステップＳ２００８のＮＯ）、その録画対象の動画コンテンツの録画をサーバ装置１０２に要求する（ステップＳ２０１２）。
【０１１３】
図１４は、本変形例に係るクライアント装置１０３の他の動作を示すフローチャートである。なお、ここでは、録画は、いわゆる予約録画であって、その機能が選択されたときには実行されず、その機能が選択されてから録画対象の動画コンテンツの配信が開始されるまでの期間（録画開始時間）だけ待機し、その配信が開始される時点で実行される。
【０１１４】
クライアント装置１０３は、上述のステップＳ２００２〜Ｓ２００６と同様の処理を行い、制御部１１４は、残容量がしきい値よりも多いか否かを判定する（ステップＳ２００８）。ここで、制御部１１４は、ステップＳ２００８で残容量が多いと判定すると（ステップＳ２００８のＹＥＳ）、録画開始時間経過後に、その録画対象の動画コンテンツの録画を、クライアント装置１０３の録画の機能を有する処理部に実行させる（ステップＳ２０１０）。一方、制御部１１４は、残容量がしきい値以下であると判定すると（ステップＳ２００８のＮＯ）、まず、クライアント装置１０３に備えられた記録媒体に格納されているコンテンツの消去を促すメッセージを表示部１１２に表示させ、ユーザにその消去を要求する（ステップＳ２１１２）。制御部１１４は、ユーザによるＧＵＩ操作に応じて、消去が選択されたか否かを判定する（ステップＳ２１１４）。
【０１１５】
ここで、制御部１１４は、消去が選択されたと判定すると（ステップＳ２１１４のＹＥＳ）、コンテンツの消去によって残容量が上記しきい値以上になるまでに要する消去時間を特定して、その消去時間をプログレスバーで表示部１１２に表示させる（ステップＳ２１１６）。制御部１１４は、さらに、録画開始時間がステップＳ２１１６で特定された消去時間よりも長いか否かを判定する（ステップＳ２１１８）。ここで、制御部１１４は、録画開始時間が長いと判定すると（ステップＳ２１１８のＹＥＳ）、録画開始時間経過後に、その録画対象の動画コンテンツの録画を上述の処理部に実行させる（ステップＳ２１２０）。
【０１１６】
一方、制御部１１４は、ステップＳ２１１４で消去が選択されなかったと判定したとき（ステップＳ２１１４のＮＯ）、または、ステップＳ２１１８で録画開始時間が長くないと判定すると（ステップＳ２１１８のＮＯ）、その録画対象の動画コンテンツの予約録画をサーバ装置１０２に要求する（ステップＳ２１２２）。
【０１１７】
このように本変形例に係るサーバ装置１０２がクライアント装置１０３に送信するＧＵＩプログラムは、ユーザによって選択された機能がクライアント装置１０３にある場合であっても、その機能がクライアント装置１０３で利用できるか否かを判定するステップと、利用できないと判定された場合に、その機能による処理をサーバ装置１０２に要求するステップとを、クライアント装置１０３に実行させる。これにより、例えば、録画機能を有するクライアント装置１０３は、記録媒体の残容量が少ないときにその録画機能がユーザによって選択されたために、録画対象の動画コンテンツの全てを録画することができなくなってしまうことを防ぐことができる。
【０１１８】
なお、本変形例では、クライアント装置１０３がＧＵＩプログラムをダウンロードして実行することにより、上述のような判定やサーバ装置１０２への要求を行ったが、ＧＵＩプログラムをダウンロードして実行することなく、クライアント装置１０３が自主的に上記判定および要求を行ってもよい。
【０１１９】
また、本発明に係るサーバ装置１０２について、実施の形態１およびその変形例１，２を用いて説明したが、本発明はこれらに限定されるものではない。
【０１２０】
例えば、実施の形態１およびその変形例１，２では、動画コンテンツの早送り、静止画コンテンツの編集、および、動画コンテンツの録画を中心に、それらの機能に対する代替処理を説明したが、本発明に係るサーバ装置は、これらの機能だけでなく、他の機能に対する代替処理を行ってもよいことは言うまでもない。また、実施の形態１およびその変形例１，２の構成および処理動作を、矛盾のない範囲でどのように組み合わせてもよい。
【０１２１】
（実施の形態２）
本実施の形態におけるクライアント装置は、例えば旧世代のサーバ装置に接続し、そのサーバ装置よりも多くの機能を有し、サーバ装置から指示されたＧＵＩの再生操作画面において、サーバ装置に存在しない機能を表示させ、その機能による処理を実行する点に特徴がある。
【０１２２】
図１５は、本実施の形態におけるクライアント装置を含む家庭内ネットワークの構成図である。
【０１２３】
家庭内ネットワークＮ１は、クライアント装置４００を有するネットワークであり、無線ネットワークや有線ネットワークで実現される。クライアント装置４００は、実施の形態１と同様、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。サーバ装置５００も、クライアント装置４００と同様、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、カーナビ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。
【０１２４】
家庭内ネットワークＮ１は、外部ネットワークＮ２経由で、サーバ装置５００と繋がっている。そして、クライアント装置４００とサーバ装置５００とが連携して、クライアント装置４００のＧＵＩを更新する。また、サーバ装置５００は、家庭内ネットワークＮ１に存在する機器でもよい。この場合は、クライアント装置４００と家庭内ネットワークＮ１に存在するサーバ装置５００とが連携して、クライアント装置４００上にサーバ装置５００のＧＵＩコンテンツを表示することとなる。
【０１２５】
図１６は、本実施の形態におけるクライアント装置４００の構成図である。
【０１２６】
ＧＵＩデータ取得部４０１は、サーバ装置５００上のＧＵＩデータ管理部５０１からＧＵＩデータを取得する。ＧＵＩデータは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＪａｖａＳｃｒｉｐｔ、Ｊａｖａ等のプログラミング言語で表現される。ＧＵＩデータ解析部４０２は、ＧＵＩデータ取得部４０１で取得されたＧＵＩデータを解析し、ＧＵＩプログラムを生成する。ＧＵＩプログラム実行部４０３は、ＧＵＩデータ解析部４０２によって生成されたＧＵＩプログラムを実行し、表示部４０４に対して、表示要求を行うことによりＧＵＩを実現する。つまり、ＧＵＩプログラム実行部４０３は、ＧＵＩプログラムを実行することにより、ユーザの操作用の画像であるＧＵＩコンテンツを生成して表示部４０４に表示させる。
【０１２７】
機能ディスパッチ部４０５は、機能を意味する識別子を用いて、後述するクライアント機能部４０６または代替機能部４０７を呼び出す。そして、機能ディスパッチ部４０５は、ＧＵＩプログラム実行部４０３がクライアント装置４００またはサーバ装置５００上の機能を呼び出す際に呼び出される。つまり、ＧＵＩプログラム実行部４０３は、クライアント装置４００やサーバ装置５００上の機能を直接呼び出すのではなく、機能ディスパッチ部４０５に上述の識別子を利用させ、クライアント装置４００やサーバ装置５００上の機能を間接的に呼び出す。
【０１２８】
クライアント機能部４０６は、画像に対する機能と、サーバ装置５００上の機能を呼び出すための機能を有する。なお、クライアント機能部４０６やサーバ機能部５０２が扱う画像に対する機能は、例えば、写真または動画などのコンテンツを扱う機能であって、具体的には、動画再生、動画録画、動画録画予約、または写真スライドショーなどのアプリケーション機能等である。
【０１２９】
命令記憶部４０９は、機能ディスパッチ部４０５が呼び出したクライアント機能部４０６への要求を記憶する。命令記憶部４０９が記憶する情報は、機能を呼び出す際に機能を特定するための識別子とその引数、呼び出した時刻などである。
【０１３０】
能力記憶部４０８は、クライアント機能部４０６が保持する機能を特定する情報を記憶している。クライアント機能部４０６が保持する機能を特定する情報とは、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際に機能を特定するための識別子とその引数などである。ＧＵＩプログラム実行部４０３は、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際にその機能を特定するための識別子とその引数などを用いて、能力記憶部４０８に対してどのような機能が存在するか問い合わせる。そして、ＧＵＩプログラム実行部４０３は、その結果から、サーバ装置５００には存在せず、クライアント装置４００に存在する機能（以下、差分機能という）を検出し、ＧＵＩデータから生成されるＧＵＩコンテンツに差分機能に関する情報を反映させる。
【０１３１】
代替機能部４０７は、ＧＵＩコンテンツとして表示された差分機能のうちの何れか１つがＧＵＩプログラム実行部４０３から代替機能として呼び出された場合に、ＧＵＩプログラム実行部４０３から機能ディスパッチ部４０５を経由して呼び出される。そして、代替機能部４０７は、クライアント機能部４０６を呼び出すために後述する引数値推測部４１０から必要な情報を集め、クライアント機能部４０６を呼び出し、クライアント機能部４０６に代替機能による処理を実行させる。
【０１３２】
引数値推測部４１０は、命令記憶部４０９に記憶された情報と、能力記憶部４０８に記憶された情報から、代替機能部４０７がクライアント機能部４０６を呼び出すために必要な引数値を推測する。
【０１３３】
操作部４１１は、クライアント装置４００のユーザによる操作を受け付け、その操作結果をＧＵＩプログラム実行部４０３へ通知する。例えば、操作部４１１は、キーボード、リモコン、マウス、ポインティングデバイス、タッチパネル、音声認識機器、またはジェスチャー認識機器などで構成される。また、表示部４０４は、ＧＵＩプログラム実行部４０３からの要求に応じて、例えば動画コンテンツの一覧を示すＧＵＩコンテンツ、動画コンテンツに対する機能の一覧を示すＧＵＩコンテンツ、および動画コンテンツを表示する。
【０１３４】
サーバ装置５００は、ＧＵＩデータ管理部５０１とサーバ機能部５０２とを備える。ＧＵＩデータ管理部５０１は、上述のＧＵＩデータを保持し、クライアント装置４００のＧＵＩデータ取得部４０１にそのＧＵＩデータを送信する。このＧＵＩデータから生成されるＧＵＩコンテンツは、例えば、サーバ装置５００が有する動画コンテンツの一覧と、サーバ装置５００が有する機能の一覧とを、図形、文字、および記号などを用いて示す。サーバ機能部５０２は、１つまたは複数の動画コンテンツと、その動画コンテンツの一覧とを有する。また、サーバ機能部５０２は、その動画コンテンツに対する例えば再生および停止などの機能を有する。
【０１３５】
ここで、図１７〜図２３を用いて、クライアント装置４００が、ＧＵＩデータ管理部５０１が管理しているＧＵＩデータを取得して表示した画面とそのクライアント装置４００の動作について説明する。ここで、サーバ機能部５０２は動画に関する機能を提供するものであるとする。また、ここでは、サーバ装置５００はクライアント装置４００に対して、動画コンテンツの特殊再生機能（例えば、動画早送りまたは動画巻き戻しなど）による処理を提供することはできず、クライアント装置４００は、クライアント装置４００自身で、動画コンテンツの特殊再生機能を実現することが可能であるという前提とする。つまり、サーバ装置５００から送信されるＧＵＩデータには、動画コンテンツに対する機能のうち、通常再生機能に関するデータしか含まれておらず、クライアント機能部４０６が有する特殊再生機能に関するデータは含まれていない。
【０１３６】
なお、本実施の形態では、機能について、動画コンテンツの特殊再生を例に挙げて説明するが、その機能は、前述の通り、動画コンテンツに関する機能でなく、他の機能であってもよい。
【０１３７】
図１７は、表示部４０４に表示される動画コンテンツの一覧の画面の一例を示す図である。
【０１３８】
クライアント装置４００は、サーバ装置５００のＧＵＩデータ管理部５０１が管理しているＧＵＩデータを取得し、さらに、サーバ装置５００のサーバ機能部５０２から動画コンテンツの一覧を取得する。そして、クライアント装置４００は、そのＧＵＩデータおよび動画コンテンツの一覧に基づいて、その一覧を示した画面（動画コンテンツ一覧画面）４０４ａをＧＵＩコンテンツとして生成して表示部４０４に表示する。ユーザは、クライアント装置４００の操作部４１１を操作し、その一覧の中から再生対象の動画コンテンツを選択する。
【０１３９】
図１８は、表示部４０４に表示される再生操作画面の一例を示す図である。
【０１４０】
クライアント装置４００は、再生対象の動画コンテンツが選択されると、その動画コンテンツが再生されて表示される動画再生領域ｂ１と、その動画コンテンツの再生を操作するための動画制御領域ｂ２とを含む再生操作画面４０４ｂをＧＵＩコンテンツとし生成して表示部４０４に表示させる。クライアント装置４００は、再生対象の動画コンテンツをサーバ装置５００のサーバ機能部５０２から取得してデコードし、その動画コンテンツの映像を動画再生領域ｂ１に表示する。
【０１４１】
動画制御領域ｂ２には、サーバ機能部５０２に対して動画コンテンツの再生を要求するためのボタンｂ３と、サーバ機能部５０２に対して動画コンテンツの停止を要求するためのボタンｂ４とがある。ここで、クライアント装置４００は、ＧＵＩデータから生成されたＧＵＩプログラムを実行することにより、ＧＵＩデータに示されている機能を用いてこのような再生操作画面４０４ｂを生成して表示部４０４に表示している。つまり、クライアント装置４００は、ＧＵＩデータに示されている機能が再生と停止であるために、ボタンｂ３とボタンｂ４とを表示している。なお、このような動画制御領域ｂ２は、クライアント装置４００のクライアント機能部４０６の機能であって、ＧＵＩデータに示されていない機能である差分機能がない場合に表示される。
【０１４２】
図１９は、表示部４０４に表示される再生操作画面の他の例を示す図である。
【０１４３】
クライアント装置４００は、再生対象の動画コンテンツが選択されたときに、上述の差分機能があると、動画再生領域ｂ１と、差分機能を表す動画制御領域ｃ１とを含む再生操作画面４０４ｃをＧＵＩコンテンツとして生成して表示部４０４に表示させる。クライアント装置４００は、再生対象の動画コンテンツをサーバ装置５００のサーバ機能部５０２から取得してデコードし、その動画コンテンツの映像を動画再生領域ｂ１に表示する。
【０１４４】
動画制御領域ｃ１には、ボタンｂ３およびボタンｂ４だけでなく、差分機能である動画コンテンツの早送りを要求するためのボタンｃ２と、差分機能である動画コンテンツの巻き戻しを要求するためのボタンｃ３とがある。ここで、クライアント装置４００は、ＧＵＩデータから生成されたＧＵＩプログラムを実行することにより、ＧＵＩデータに示されている機能を用いてこのような再生操作画面４０４ｃを生成して表示部４０４に表示している。つまり、クライアント装置４００は、ＧＵＩデータに示されている機能が再生と停止であるために、ボタンｂ３とボタンｂ４と表示している。さらに、本実施の形態におけるクライアント装置４００は、上述の差分機能が早送りと巻き戻しであるために、その差分機能を動画制御領域ｃ１に割り当てて、ボタンｃ２とボタンｃ３とを表示している。
【０１４５】
ここで、本実施の形態におけるクライアント装置４００およびサーバ装置５００の具体的な処理の流れを、図２０〜図２３を用いて説明する。
【０１４６】
図２０は、クライアント装置４００が動画コンテンツ一覧画面４０４ａを表示する処理を示すシーケンス図である。
【０１４７】
まず、サーバ装置５００のＧＵＩデータ管理部５０１は、ＧＵＩデータをクライアント装置４００に送信し（ステップＳ１００）、ＧＵＩデータ取得部４０１は、ＧＵＩデータ管理部５０１が管理しているそのＧＵＩデータを取得する（ステップＳ１０２）。そして、ＧＵＩデータ取得部４０１は、ＧＵＩデータ管理部５０１から取得したＧＵＩデータをＧＵＩデータ解析部４０２に出力する（ステップＳ１０４）。ＧＵＩデータ解析部４０２は、そのＧＵＩデータを取得して解析し、その解析結果からＧＵＩプログラムを生成する（ステップＳ１０６）。さらに、ＧＵＩデータ解析部４０２は、生成したＧＵＩプログラムをＧＵＩプログラム実行部４０３に出力する（ステップＳ１０８）。
【０１４８】
ＧＵＩプログラム実行部４０３は、ＧＵＩプログラムを取得して実行する（ステップＳ１１０）。その結果、ＧＵＩプログラム実行部４０３は、再生可能な動画コンテンツの一覧を示す動画コンテンツ一覧画面４０４ａを作成するために、機能ディスパッチ部４０５へ、動画コンテンツ一覧を取得するための機能（ｆｕｎｃｔｉｏｎ＝動画コンテンツ一覧）を呼び出す（ステップＳ１１２）。動画コンテンツの一覧には、動画コンテンツを一意に識別するためのコンテンツＩＤが含まれる。
【０１４９】
機能ディスパッチ部４０５は、ＧＵＩプログラム実行部４０３から呼び出されると、上述の機能（ｆｕｎｃｔｉｏｎ＝動画コンテンツ一覧）を持つクライアント機能部４０６を呼び出す（ステップＳ１１４）。クライアント機能部４０６は、サーバ装置５００のサーバ機能部５０２にアクセスし（ステップＳ１１６）、サーバ機能部５０２から動画コンテンツの一覧を送信させ（ステップＳ１１８）、その動画コンテンツの一覧を取得する（ステップＳ１２０）。クライアント機能部４０６は、取得した動画コンテンツの一覧を、機能ディスパッチ部４０５を介してＧＵＩプログラム実行部４０３に出力する（ステップＳ１２２）。その結果、ＧＵＩプログラム実行部４０３は、動画コンテンツの一覧を取得し、その一覧を示す動画コンテンツ一覧画面４０４ａを生成する（ステップＳ１２４）。
【０１５０】
機能ディスパッチ部４０５は、動画コンテンツ一覧を取得したこと、つまりステップＳ１１４で呼び出した機能（ｆｕｎｃｔｉｏｎ＝動画コンテンツ一覧）を一覧取得命令として命令記憶部４０９に格納する（ステップＳ１２６）。ＧＵＩプログラム実行部４０３は、取得した動画コンテンツの一覧を用いて生成された動画コンテンツ一覧画面４０４ａを表示部４０４に送信する（ステップＳ１２８）。その結果、図１７に示すように、表示部４０４は動画コンテンツ一覧画面４０４ａを表示する（ステップＳ１３０）。
【０１５１】
図２１は、再生対象の動画コンテンツが選択されたときのクライアント装置４００の処理を示すシーケンス図である。
【０１５２】
ユーザは、表示部４０４に表示された動画コンテンツ一覧画面４０４ａを見て、操作部４１１を操作することにより、その動画コンテンツの一覧から、再生対象の動画コンテンツを選択する。これにより、操作部４１１は、コンテンツＩＤ＝１００の動画コンテンツが再生対象として選択されたことをＧＵＩプログラム実行部４０３に通知する（ステップＳ１４０）。
【０１５３】
ＧＵＩプログラム実行部４０３は、機能ディスパッチ部４０５へ、コンテンツＩＤ＝１００の動画コンテンツの再生の要求（ｆｕｎｃｔｉｏｎ＝動画再生）を通知する（ステップＳ１４２）。機能ディスパッチ部４０５は、動画再生機能を持つクライアント機能部４０６へ、コンテンツＩＤ＝１００の動画コンテンツの再生の要求（ｆｕｎｃｔｉｏｎ＝動画再生）を通知する（ステップＳ１４４）。さらに、機能ディスパッチ部４０５は、命令記憶部４０９に、ステップＳ１４４で通知した動画コンテンツのコンテンツＩＤが１００であること（コンテンツＩＤ＝１００）を格納する（ステップＳ１４６）。また、ＧＵＩプログラム実行部４０３は、ステップＳ１４２で通知した動画コンテンツの機能が再生であることを示す機能情報（ｆｕｎｃｔｉｏｎ＝動画再生）を能力記憶部４０８に格納する（ステップＳ１４８）。
【０１５４】
次に、ＧＵＩプログラム実行部４０３は、能力記憶部４０８にアクセスし（ステップＳ１５０）、能力記憶部４０８から、動画コンテンツの機能に関してどのような機能が存在するのかを示す機能一覧を取得する（ステップＳ１５２）。例えば、ＧＵＩプログラム実行部４０３は、動画コンテンツに対する再生、停止、早送り、および巻き戻しを示す機能一覧を取得する。
【０１５５】
ＧＵＩプログラム実行部４０３は、能力記憶部４０８から取得した機能一覧が示す機能とＧＵＩデータが示す機能との差分である差分機能を抽出する（ステップＳ１５４）。例えば、ＧＵＩデータが示す機能には、動画コンテンツに対する早送りと巻き戻しがなく、クライアント装置４００の機能一覧が示す機能には、動画コンテンツに対する早送りと巻き戻しとがある。この場合、ＧＵＩプログラム実行部４０３は、動画コンテンツに対する早送りと巻き戻しの２つの機能（特殊再生機能）を差分機能として抽出する。なお、抽出される差分機能は特殊再生機能でなくてもかまわない。
【０１５６】
ＧＵＩプログラム実行部４０３は、表示する画面に、動画コンテンツに対する差分機能である早送りと巻き戻しを選択するための選択機能を割り当てる（ステップＳ１５６）。なお、割り当て方法は、表示する画面に動的にその選択機能の情報を追加してもよいし、既存のキーに割り当ててもよい。さらに、ＧＵＩプログラム実行部４０３は、ステップＳ１５６の選択機能が割り当てられた画面を用いて再生操作画面４０４ｃを生成し（ステップＳ１５８）、表示部４０４にその再生操作画面４０４ｃを表示させる（ステップＳ１６０）。このように、差分機能がある場合には、表示部４０４は図１９に示す再生操作画面４０４ｃを表示する。つまり、再生操作画面４０４ｃの動画制御領域ｃ１にボタンｃ２が追加され、このボタンｃ２に対して、差分機能である早送りを選択するための選択機能が割り当てられる。さらに、動画制御領域ｃ１にボタンｃ３が追加され、このボタンｃ３に対して、差分機能である巻き戻しを選択するための選択機能が割り当てられる。一方、差分機能がない場合には、表示部４０４は図１８に示す再生操作画面４０４ｂを表示する。
【０１５７】
図２２は、クライアント装置４００が動画コンテンツを通常再生する処理を示すシーケンス図である。
【０１５８】
クライアント機能部４０６は、図２１に示すステップＳ１４４で、コンテンツＩＤ＝１００の動画コンテンツの再生（ｆｕｎｃｔｉｏｎ＝動画再生）の要求が通知されると、サーバ装置５００のサーバ機能部５０２に対して、コンテンツＩＤ＝１００の動画コンテンツのストリームを要求する（ステップＳ１７０）。その結果、サーバ機能部５０２はその動画コンテンツのストリームを送信し（ステップＳ１７２）、クライアント機能部４０６はその送信された動画コンテンツのストリームを取得する（ステップＳ１７４）。クライアント機能部４０６は、取得した動画コンテンツのストリームをデコードし、表示部４０４が表示できる動画データに変換する（ステップＳ１７６）。クライアント機能部４０６は、表示部４０４へ、変換した動画データを出力して、図１９に示す再生操作画面４０４ｃの動画再生領域ｂ１に動画コンテンツの映像を表示させる（ステップＳ１７８）。
【０１５９】
図２３は、クライアント装置４００が動画コンテンツを早送りする処理を示すシーケンス図である。
【０１６０】
ユーザは、動画コンテンツを早送りするために、操作部４１１を操作することにより、図１９に示す再生操作画面４０４ｃのボタンｃ２を選択する。上述のように、ボタンｃ２には、差分機能である早送りを選択するための選択機能が割り当てられている。この場合、サーバ装置５００に存在しないがクライアント装置４００には存在する早送りという機能の利用がクライアント装置４００に要求される。
【０１６１】
その結果、操作部４１１は、差分機能である早送りの要求をＧＵＩプログラム実行部４０３に通知する（ステップＳ１９０）。ＧＵＩプログラム実行部４０３は、図２１のステップＳ１５４で抽出された差分機能のうち早送りを代替機能（代替動画早送り）として扱い、機能ディスパッチ部４０５に代替動画早送り（ｓｕｂＦｕｎｃｔｉｏｎ＝動画早送り）の要求を通知する（ステップＳ１９２）。機能ディスパッチ部４０５は、代替機能部４０７に代替動画早送り（ｓｕｂＦｕｎｃｔｉｏｎ＝動画早送り）の要求を通知する（ステップＳ１９４）。
【０１６２】
代替機能部４０７は、代替動画早送りの処理をクライアント機能部４０６に実行させるために必要な引数値を引数値推測部４１０に対して要求する（ステップＳ１９６）。引数値推測部４１０は、能力記憶部４０８に対して、代替動画早送りに関連する機能情報を問い合わせ（ステップＳ１９８）、その機能情報を取得する（ステップＳ２００）。ここでは、引数値推測部４１０は、図２１のステップＳ１４８で最近に格納された機能情報である再生（ｆｕｎｃｔｉｏｎ＝動画再生）を引数値として取得する。引数値推測部４１０は、その取得した引数値である再生（ｆｕｎｃｔｉｏｎ＝動画再生）を代替機能部４０７に出力し、代替機能部４０７はその再生（ｆｕｎｃｔｉｏｎ＝動画再生）を取得する（ステップＳ２０２）。
【０１６３】
さらに、引数値推測部４１０は、命令記憶部４０９に対して、その再生（ｆｕｎｃｔｉｏｎ＝動画再生）に対して最近に適用されたコンテンツＩＤを引数値として問い合わせ（ステップＳ２０４）、その結果、図２１のステップＳ１４６で最近に格納されたコンテンツＩＤ＝１００を得る（ステップＳ２０６）。引数値推測部４１０は、その取得した引数値であるコンテンツＩＤ＝１００を代替機能部４０７に出力し、代替機能部４０７はそのコンテンツＩＤ＝１００を取得する（ステップＳ２０８）。
【０１６４】
代替機能部４０７は、引数値推測部４１０から取得した引数値を結合し（ステップＳ２１０）、クライアント機能部４０６へ、コンテンツＩＤ＝１００の再生中の動画コンテンツに対する代替動画早送りの処理を要求する（ステップＳ２１２）。クライアント機能部４０６は、サーバ機能部５０２に対して、コンテンツＩＤ＝１００の動画コンテンツのストリームを要求し（ステップＳ２１４）、その動画コンテンツのストリームを取得する（ステップＳ２１６）。ここで取得した動画コンテンツのストリームは、早送り用の動画コンテンツのストリームではく、通常再生用の動画コンテンツのストリームである。
【０１６５】
クライアント機能部４０６は、取得した動画コンテンツのストリームを早送り用の動画データに変換する（ステップＳ２１８）。さらに、クライアント機能部４０６は、表示部４０４へ、早送り用の動画データを出力し（ステップＳ２２０）、図１９に示す再生操作画面４０４ｃの動画再生領域ｂ１に、早送り用の動画データの映像を表示させる（ステップＳ２２２）。
【０１６６】
このように、本実施の形態によれば、早送り機能がないサーバ装置５００から取得したＧＵＩデータによるＧＵＩ操作であっても、クライアント装置４００が早送り機能を代替することにより、早送り機能を実現することが可能となる。つまり、本実施の形態のクライアント装置４００は、サーバ装置５００から取得したＧＵＩデータに示されるサーバ装置５００の機能と、クライアント装置４００が有する機能とを比較し、クライアント装置４００にあってサーバ装置５００にない機能を差分機能として再生操作画面４０４ｃに表示し、その差分機能の選択を受け付ける。そして、クライアント装置４００は、その差分機能が選択されたときには、サーバ装置５００による差分機能の処理に代わって、クライアント装置４００自体がその差分機能に応じた処理を実行する。これにより、クライアント装置４００は、旧世代の機能の劣るサーバ装置５００から送信されるＧＵＩデータに関わらず、自らの全ての機能を利用することができる。
【０１６７】
なお、本発明に係るクライアント装置４００について、実施の形態２を用いて説明したが、本発明はこれらに限定されるものではない。
【０１６８】
例えば、本実施の形態では、動画コンテンツの早送りを例として示したが、クライアント装置４００は早送りだけに限らず、巻き戻し、２倍速再生、３倍速再生、ズームイン、ズームアウト、回転などの機能による処理を実行してもよい。例えば、クライアント装置４００は、巻き戻しが差分機能として選択されたときには、動画コンテンツにおける選択された位置のフレームから表示順で前方（過去）のフレームに向かって、各フレームの送信をサーバ装置５００に順次要求する。このとき、サーバ装置５００は、サーバ装置５００の通常の再生機能を用いて、動画コンテンツに含まれるフレームのうちクライアント装置４００から要求されたフレームだけを順次送信する。なお、クライアント装置４００の巻き戻しの処理は、上述のような処理に限らず、他の処理であってもよい。
【０１６９】
また、実施の形態２では、クライアント装置４００は動画コンテンツに対する機能の処理を実行したが、本発明に係るクライアント装置４００は、動画コンテンツの機能だけでなく、静止画コンテンツ、音楽および音声などに対する機能の処理を行ってもよいことは言うまでもない。また、実施の形態２の構成および処理動作と、実施の形態１およびその変形例１，２の構成および処理動作とを、矛盾のない範囲でどのように組み合わせてもよい。
【０１７０】
また、実施の形態１およびその変形例１の図３および図１１に示すサーバ装置１０２，１０２Ａ、または、実施の形態２の図１６に示すクライアント装置４００に含まれる全ての構成要素または一部の構成要素のみを、集積回路であるＬＳＩ（Large Scale Integrated circuit）として実現してもよい。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。例えばメモリ以外の機能ブロックが１チップ化されていてもよい。例えば、図３に示すサーバ装置１０２では、ＧＵＩプログラム保存部２０２および送信部２０３を除く他の構成要素をＬＳＩとして構成してもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１７１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサ を利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１７２】
また、実施の形態１およびその変形例１，２と実施の形態２の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１７３】
なお、本発明は、サーバ装置およびクライアント装置だけでなく、サーバ装置およびクライアント装置のそれぞれの処理方法、サーバ装置およびクライアント装置のそれぞれのプログラム、それぞれのプログラムを記録した記録媒体としても実現される。
【産業上の利用可能性】
【０１７４】
本発明にかかるサーバ装置は、接続されたクライアント装置との間で機能に差異がある場合でも、その差異を吸収することが可能になるため、サーバ装置としてクライアント装置に接続する、例えば、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、冷蔵庫、電子レンジ、および洗濯機などの組み込み機器に有用である。また、本発明に係るクライアント装置は、サーバ装置から取得したＧＵＩコンテンツから、サーバ装置が未対応である機能を利用することができるという効果を有し、クライアント装置としてサーバ装置に接続する、例えば、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、冷蔵庫、電子レンジ、洗濯機などの組み込み機器に有用である。
【符号の説明】
【０１７５】
１００    家庭内ネットワーク
１０１    外部ネットワーク機器
１０２，１０２Ａ    サーバ装置
１０３，１０３Ａ    クライアント装置
１０７    動画用デコーダ
１０８    要求送信部
１０９    受信部
１１０    ＧＵＩプログラム保存部
１１１    ＧＵＩプログラム実行部
１１２    表示部
１１３    ＧＵＩ表示処理部
１１４    制御部
１１５    旧機器機能情報
１１６    解析部
１１７    静止画用デコーダ
２０１    要求受付部
２０２    ＧＵＩプログラム保存部
２０３    送信部
２０４    機器状態判定部
２０５    状態情報記憶部
２０６    機能情報記憶部
２０７，２０７Ａ    代替処理提供部
２０８    エラーメッセージ生成部
２０９    データ送信制御部
２１０    送信データ生成部
２１１    フレーム抽出部
２１２    動画用エンコーダ
２１３    コンテンツ保存部
２１４    変換部
２１５    静止画用エンコーダ
４００    クライアント装置
４０１    ＧＵＩデータ取得部
４０２    ＧＵＩデータ解析部
４０３    ＧＵＩプログラム実行部
４０４    表示部
４０５    機能ディスパッチ部
４０６    クライアント機能部
４０７    代替機能部
４０８    能力記憶部
４０９    命令記憶部
４１０    引数値推測部
５００    サーバ装置
５０１    ＧＵＩデータ管理部
５０２    サーバ機能部
【図１】
2009153967.tif 000003
【図２】
2009153967.tif 000004
【図３】
2009153967.tif 000005
【図４】
2009153967.tif 000006
【図５】
2009153967.tif 000007
【図６】
2009153967.tif 000008
【図７】
2009153967.tif 000009
【図８Ａ】
2009153967.tif 000010
【図８Ｂ】
2009153967.tif 000011
【図９】
2009153967.tif 000012
【図１０】
2009153967.tif 000013
【図１１】
2009153967.tif 000014
【図１２】
2009153967.tif 000015
【図１３】
2009153967.tif 000016
【図１４】
2009153967.tif 000017
【図１５】
2009153967.tif 000018
【図１６】
2009153967.tif 000019
【図１７】
2009153967.tif 000020
【図１８】
2009153967.tif 000021
【図１９】
2009153967.tif 000022
【図２０】
2009153967.tif 000023
【図２１】
2009153967.tif 000024
【図２２】
2009153967.tif 000025
【図２３】
2009153967.tif 000026
【手続補正書】
【提出日】平成22年2月8日(2010.2.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートから接続されたクライアント装置に対して、クライアント装置が要求する処理を提供するサーバ装置に関するものである。
【背景技術】
【０００２】
近年、ブロードバンドインターネット接続やワイヤレスネットワークの普及、およびＤＬＮＡ（Digital Living Network Alliance）等のデジタル家電機器の接続互換性の技術の向上により、宅内でもパーソナルコンピュータ以外のデジタル家電機器がネットワークを通じて接続および通信するようになり、ＴＶとＤＶＤ（Digital Versatile Disk）レコーダ、または携帯電話とＤＶＤレコーダのように家電機器同士が連携し、リモートからの番組予約や、番組視聴などの様々な新サービスが登場してきている。例えば、リモートにあるクライアント装置が、サーバ装置を操作するＧＵＩ（グラフィックスユーザーインターフェイス）を取得し、サーバ装置の動画や写真コンテンツを再生および視聴したり、ダウンロードしたりするサービスが登場している。しかし、デジタル家電機器同士が接続するようになると、新しい機器と古い機器が接続されるケースも十分に考えられ、その場合、古い機器上で新しい機器の機能を利用できない場合がある。例えば、上述した例で言えば、サーバ装置ではある特殊効果のある写真を描画できるが、クライアント装置ではできない場合や、動画に対して、通常再生はできるが倍速再生はできないというような場合が考えられる。
【０００３】
これに対する従来技術としては、例えば特許文献１に記載されたものが知られている。この特許文献１のサーバ装置は、ブラウザを立ち上げたクライアント装置からのＨＴＴＰ通信によるＧＵＩ取得要求に際し、クライアント装置の表示能力を取得し、その能力に応じたコンテンツを提供する。このサーバ装置がクライアント装置の表示能力を取得するときには、サーバ装置のクライアントスマートエージェントがクライアント装置からのＨＴＴＰ要求のヘッダ情報を解析することにより、クライアント装置の表示能力に関する情報を取得する。一方、クライアントスマートエージェントがヘッダ情報の解析に失敗した場合には、サーバ装置は、クライアントスマートエージェントをクライアント装置に送信することにより、オペレーティングシステムやＢＩＯＳに記録されたクライアント装置の表示能力に関する情報を取得する。サーバ装置は、取得したクライアント装置の表示能力に応じてＧＵＩコンテンツをカスタマイズして提供する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１９４９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のサーバ装置においては、クライアント装置の表示能力に合わせてＧＵＩコンテンツをカスタマイズして提供してしまうため、接続しているクライアント装置とサーバ装置との間に表示の能力の差異がある場合、クライアント装置上ではサーバ装置と異なったＧＵＩコンテンツが表示されてしまうという課題を有する。クライアント装置がサーバ装置と接続し、サーバ装置とクライアント装置の双方で同時に同じＧＵＩコンテンツを表示したい場合や、クライアント装置がサーバ装置を操作するＧＵＩプログラムを取得し、サーバ装置の動画や写真コンテンツの再生および視聴等をする場合には、通常、サーバ装置上とクライアント装置上とで同一の表示がされている事が望ましい。
【０００６】
そこで、本発明は、上記従来の課題を解決するものであり、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置に自らと同等の機能を実現させるサーバ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係るサーバ装置は、クライアント装置に接続されるサーバ装置であって、前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部とを備える。
【０００８】
例えば、サーバ装置は、動画コンテンツの再生、停止、早送りおよび巻き戻しの機能を有する。一方、クライアント装置は、サーバ装置と比べて旧世代のクライアント装置であって再生および停止の機能だけを有する。この場合、本発明では、クライアント装置にない例えば早送りの処理の要求を受け付けて、その早送りに対応する代替処理が実行され、その実行によって生成されたデータがクライアント装置に送信される。つまり、サーバ装置の早送りによる処理結果と同一の結果が、早送りの機能を持たないクライアント装置で得られるための代替処理が実行されて、その結果、生成されたデータがクライアント装置に送信される。例えば、代替処理として、動画コンテンツからフレームが間引かれ、早送り用の動画コンテンツが生成される。そして、この早送り用の動画コンテンツがクライアント装置に送信される。したがって、クライアント装置では、早送りの機能がなくても、通常の再生の機能を用いて早送り用の動画コンテンツを再生すれば早送りの映像を映し出すことができる。つまり、本発明では、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置にサーバ装置と同等の機能を実現させることができる。さらに、本発明では、クライアント装置にサーバ装置と同等の機能を実現させることができるため、例えば、クライアント装置にＧＵＩプログラムを送信してＧＵＩコンテンツである操作画面をそのクライアント装置に表示させる場合でも、サーバ装置の操作画面と同一の操作画面を表示させることができる。
【０００９】
また、前記サーバ装置は、さらに、前記サーバ装置が有する少なくとも１つの機能を示す操作画面を表示する表示ステップと、前記少なくとも１つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのＧＵＩ（Graphical User Interface）プログラムを保持するＧＵＩプログラム保持部を備え、前記送信部は、さらに、前記ＧＵＩプログラムを前記クライアント装置に送信し、前記要求受付部は、前記クライアント装置による前記ＧＵＩプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付けてもよい。
【００１０】
例えば、前記ＧＵＩプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する。
【００１１】
これにより、クライアント装置のユーザに対して、クライアント装置にない機能であってもサーバ装置にある機能をユーザに選択させることができ、その機能による処理の要求を受け付けて代替処理を実行することができる。
【００１２】
また、前記ＧＵＩプログラムは、前記サーバ装置が有する少なくとも１つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させてもよい。
【００１３】
これにより、操作画面とサーバ操作画面とが同一となるため、ユーザはクライアント装置を違和感なく操作することができる。
【００１４】
また、前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定してもよい。
【００１５】
これにより、要求処理の機能が機能情報テーブルに示されているか否かが判定されるため、その要求処理の機能が機能情報テーブルに示されていないことに起因する誤動作の発生などを抑えることができる。
【００１６】
また、前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定してもよい。
【００１７】
これにより、サーバ装置の設定が正しく行われていない場合には、要求処理ができないと判定され、代替処理が行われないため、設定が不適切な状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。
【００１８】
また、前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定してもよい。
【００１９】
これにより、競合が発生する場合には、要求処理ができないと判定され、代替処理が行われないため、競合が発生してしまう状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。
【００２０】
また、前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行してもよい。
【００２１】
これにより、クライアント装置は、サーバ装置に要求処理を要求しても、代替処理が実行される前に、その要求に対する判定結果の通知を受けるため、その判定結果に応じて、アクセス要求をサーバ装置に通知するか否かを判断することができ、サーバ装置への負担を抑えることができる。
【００２２】
なお、本発明では、このようなサーバ装置として実現することができるだけなく、集積回路、そのサーバ装置における処理動作の方法、その方法の処理動作をサーバ装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
【００２３】
また、本発明に係るクライアント装置は、機能が相違するサーバ装置から、前記サーバ装置が保持するＧＵＩデータを取得するクライアント装置であって、取得した前記ＧＵＩデータからＧＵＩプログラムを生成するＧＵＩデータ解析部と、前記サーバ装置が保持するコンテンツの一覧を取得し、さらに、前記クライアント装置の機能を保持しているクライアント機能部と、前記クライアント機能部で保持している機能に関する情報を記憶している能力記憶部と、前記クライアント機能部で取得されたコンテンツの一覧を表示し、さらに、前記コンテンツの一覧の中から所定のコンテンツが選択された場合に、前記能力記憶部に記憶されている情報を用いて、前記クライアント機能部に存在しており前記サーバ装置に存在しない差分機能を抽出するＧＵＩプログラムと、抽出した前記差分機能をＧＵＩコンテンツに表示する表示部とを備える。
【００２４】
例えば、家電機器同士が連携する場合、サーバ装置となる家電機器に存在するＧＵＩデータをクライアント装置となる家電機器が取得することにより、クライアント装置からサーバ装置を制御することが可能となる。しかし、それぞれのクライアント装置は、表示能力が異なるため、必ずしもサーバ装置が提供するＧＵＩデータを利用できると言う訳ではない。上記特許文献１では、ブラウザを立ち上げたクライアント装置からのＧＵＩデータの取得要求に対して、サーバ装置がクライアント装置の表示能力を取得し、その表示能力に応じてＧＵＩデータをサーバ装置側でカスタマイズして提供するという技術が提案されている。
【００２５】
しかし、上記特許文献１の技術では、サーバ装置がインターネット上に存在する場合であれば、随時サーバ装置の機能を更新することによって、機能が進化したクライアント装置に対応できるが、家庭内に存在する家電機器がサーバ装置となる場合は、サーバ装置自体の機能を更新することが困難であるため、機能が進化したクライアント装置の機能を十分引き出すことができないという課題を有する。例えば、サーバ装置からＧＵＩデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合を考える。この場合、クライアント装置が受信したＧＵＩデータは、機能が劣っているサーバ装置に合わせたものになっていることが多いため、ユーザがこのＧＵＩデータをクライアント装置で使用する場合には、クライアント装置に存在する機能であってもその機能がサーバ装置に存在しない機能であれば、その機能をユーザに提供することができない等の課題が生じる。
【００２６】
本発明のクライアント装置では、上述の構成を有することにより、サーバ装置からＧＵＩデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合であっても、優れた機能を有するクライアント装置の機能を使用することができる。
【００２７】
また、前記クライアント機能部は、前記ＧＵＩプログラムで前記差分機能を用いる旨の指示が受け付けられた場合、前記サーバ装置から取得したコンテンツを前記差分機能に応じたデータに変換し、前記表示部は、前記変換された動画データを前記ＧＵＩコンテンツに表示してもよい。
【００２８】
また、前記クライアント装置は、呼び出した機能を記憶する命令記憶部と、前記差分機能を呼び出すために必要な引数値を推測する引数値推測部と、を更に備え、前記引数値推測部は、前記能力記憶部に記憶されている情報と、前記命令記憶部に記憶されている情報とから、前記差分機能を呼び出すために必要な引数値を推測し、前記引数値推測部が推測した結果を元に、前記差分機能を呼び出してもよい。
【００２９】
なお、本発明では、このようなクライアント装置として実現することができるだけなく、集積回路、そのクライアント装置における処理動作の方法、その方法の処理動作をクライアント装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
【発明の効果】
【００３０】
本発明のサーバ装置は、新世代のそのサーバ装置が持つ新しい機能を旧世代のクライアント装置に提供することが可能になるという効果が得られる。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の実施の形態１におけるサーバ装置を含む家庭内ネットワークの構成図である。
【図２】図２は、本発明の実施の形態１におけるクライアント装置とサーバ装置に表示される画面を示す図である。
【図３】図３は、本発明の実施の形態１におけるクライアント装置とサーバ装置の構成図である。
【図４】図４は、本発明の実施の形態１におけるサーバ装置の設定情報テーブルを示す図である。
【図５】図５は、本発明の実施の形態１におけるサーバ装置の競合情報テーブルを示す図である。
【図６】図６は、本発明の実施の形態１におけるサーバ装置の機能情報テーブルを示す図である。
【図７】図７は、本発明の実施の形態１におけるサーバ装置およびクライアント装置の全体的な動作を示すフローチャートである。
【図８Ａ】図８Ａは、本発明の実施の形態１における図７のステップＳ６１１〜Ｓ６１４の詳細な動作を示すフローチャートである。
【図８Ｂ】図８Ｂは、本発明の実施の形態１における図７のステップＳ６１１〜Ｓ６１４の詳細な動作を示すフローチャートである。
【図９】図９は、本発明の実施の形態１におけるサーバ装置がクライアント装置に送信するファイルの一例を示す図である。
【図１０】図１０は、本発明の実施の形態１におけるサーバ装置がクライアント装置に送信するファイルの他の例を示す図である。
【図１１】図１１は、本発明の実施の形態１の変形例１におけるサーバ装置とクライアント装置の構成図である。
【図１２】図１２は、本発明の実施の形態１の変形例１における代替処理および静止画コンテンツの表示処理を示すフローチャートである。
【図１３】図１３は、本発明の実施の形態１の変形例２におけるクライアント装置の動作を示すフローチャートである。
【図１４】図１４は、本発明の実施の形態１の変形例２におけるクライアント装置の他の動作を示すフローチャートである。
【図１５】図１５は、本発明の実施の形態２におけるクライアント装置を含む家庭内ネットワークの構成図である。
【図１６】図１６は、本発明の実施の形態２におけるクライアント装置の構成図である。
【図１７】図１７は、本発明の実施の形態２における表示部に表示される動画コンテンツの一覧の画面の一例を示す図である。
【図１８】図１８は、本発明の実施の形態２における表示部に表示される再生操作画面の一例を示す図である。
【図１９】図１９は、本発明の実施の形態２における表示部に表示される再生操作画面の他の例を示す図である。
【図２０】図２０は、本発明の実施の形態２におけるクライアント装置が動画コンテンツの一覧の画面を表示する処理を示すシーケンス図である。
【図２１】図２１は、本発明の実施の形態２における再生対象の動画コンテンツが選択されたときのクライアント装置の処理を示すシーケンス図である。
【図２２】図２２は、本発明の実施の形態２におけるクライアント装置が動画コンテンツを通常再生する処理を示すシーケンス図である。
【図２３】図２３は、本発明の実施の形態２におけるクライアント装置が動画コンテンツを早送りする処理を示すシーケンス図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態におけるサーバ装置およびクライアント装置について、図面を参照しながら説明する。
【００３３】
（実施の形態１）
本実施の形態におけるサーバ装置は、例えば旧世代のクライアント装置に接続し、そのクライアント装置よりも多くの機能を有する。
【００３４】
図１は、本実施の形態におけるサーバ装置を含む家庭内ネットワークの構成図である。
【００３５】
家庭内ネットワーク１００は、有線ネットワークまたはＢＬＵＥＴＯＯＴＨ等を含む無線ネットワークで実現され、本発明に係るサーバ装置１０２と、そのサーバ装置１０２に接続するクライアント装置であるリモート機器１０３〜１０５とを備える。リモート機器１０３〜１０５は、ＴＶ、ＤＶＤレコーダ、ＢｌｕＲａｙレコーダ、携帯電話、またはデジタルカメラ等の機器である。外部ネットワーク機器１０１は家庭内ネットワーク１００の外部にあるネットワーク機能を有する機器であって、サーバ装置１０２に接続する。なお、リモート機器１０３〜１０５は、家庭内ネットワーク１００に含まれ、直接、サーバ装置１０２に接続されているが、外部ネットワーク機器１０１を通して接続されてもよいし、リモート機器１０３〜１０５が外部ネットワークにあってもよい。したがって、本発明では、装置同士が互いに通信できる場所であれば、サーバ装置１０２およびリモート機器１０３〜１０５はどのような場所にあってもよい。
【００３６】
本実施の形態では、家庭内ネットワーク１００内に存在する本発明のサーバ装置１０２がリモート機器１０３〜１０５と接続してそのリモート機器１０３〜１０５にはない機能による処理を提供することで、リモート機器１０３〜１０５上でサーバ装置１０２と同等の機能が実現されることを可能にする。なお、本発明における機能とは、目的とする処理が実行されるようにハードウェアおよびソフトウェアの少なくとも一方から構成されたものである。
【００３７】
なお、リモート機器１０３〜１０５はそれぞれ、同等の機能を有し、サーバ装置１０２に対して同等の処理を行う。したがって、以下、リモート機器１０３〜１０５のうち、リモート機器１０３をクライアント装置１０３として扱い、クライアント装置１０３とサーバ装置１０２との構成および処理動作について説明する。
【００３８】
ここで、本実施の形態におけるサーバ装置１０２の特徴について図２を用いて簡単に説明する。
【００３９】
図２は、本実施の形態におけるクライアント装置１０３とサーバ装置１０２に表示される画面を示す図である。
【００４０】
クライアント装置１０３がサーバ装置１０２に接続を要求すると、サーバ装置１０２は、サーバ装置１０２が有する動画コンテンツを操作するためのＧＵＩプログラムをクライアント装置１０３に送信する。クライアント装置１０３は、このＧＵＩプログラムを実行すると、サーバ装置１０２が有する全ての機能と同一の機能の選択を受け付けるためのＧＵＩコンテンツである再生操作画面Ｐ１を生成して表示する。また、サーバ装置１０２でも、サーバ装置１０２が有する全ての機能の選択を受け付けるためのＧＵＩコンテンツである再生操作画面Ｐ２を生成して表示する。したがって、本実施の形態では、サーバ装置１０２は、クライアント装置１０３に表示されるＧＵＩコンテンツを、サーバ装置１０２に表示されるＧＵＩコンテンツと同一にしている。
【００４１】
ここで、クライアント装置１０３は、例えば、サーバ装置１０２と比べて旧世代の機器であるために、サーバ装置１０２が有する機能（動画コンテンツに対する機能）よりも少ない機能を有している。具体的には、サーバ装置１０２は、動画コンテンツに対する機能として、再生、停止、早送り、および巻き戻しを有するが、クライアント装置１０３は、再生および停止しか保持していない。
【００４２】
このような場合でも、本実施の形態では、クライアント装置１０３は、ＧＵＩプログラムに従って、クライアント装置１０３が有する機能である再生および停止を示すボタンＢｔ１，Ｂｔ２だけでなく、クライアント装置１０３が保持していない機能である早送りおよび巻き戻しを示すボタンＢｔ３，Ｂｔ４も含む再生操作画面Ｐ１を生成して表示する。
【００４３】
また、本実施の形態のＧＵＩプログラムは、再生操作画面Ｐ１に表示された機能の中からユーザによって選択された機能がクライアント装置にあるか否かを判別するステップと、その選択された機能がクライアント装置１０３にあると判別された場合に、その選択された機能による処理をクライアント装置１０３に実行させるステップと、その選択された機能がクライアント装置１０３にないと判別された場合に、その選択された機能による処理をサーバ装置１０２に要求するステップとを、クライアント装置１０３に実行させる。
【００４４】
したがって、クライアント装置１０３は、ユーザによるＧＵＩ操作によって、早送りまたは巻き戻しを示すボタンＢｔ３，Ｂｔ４が選択されたときには、その早送りまたは巻き戻しの機能による処理をサーバ装置１０２に要求する。サーバ装置１０２は、早送りまたは巻き戻しの機能による処理の要求を受け付けると、その処理の代替となる処理（以下、代替処理という）をクライアント装置１０３に提供する。つまり、サーバ装置１０２は、代替処理を実行し、例えば動画コンテンツのフレームが間引きされた送信データ（例えば、後述の早送り用データ）を、早送りに対する代替処理結果として生成し、その送信データをクライアント装置１０３に送信する。
【００４５】
これにより、本実施の形態におけるサーバ装置１０２は、クライアント装置１０３との間で機能に差があっても、その差を吸収し、サーバ装置１０２に表示されるＧＵＩコンテンツと同一のＧＵＩコンテンツをクライアント装置１０３に表示させることができ、クライアント装置１０３でサーバ装置１０２と同等の機能を仮想的に実現することができる。また、サーバ装置１０２よりも古い各世代のクライアント装置１０３に対して同一のＧＵＩプログラムを送信することができ、従来のような、ＧＵＩプログラム（ＧＵＩコンテンツ）のカスタマイズの手間を省くことができる。
【００４６】
図３は、本実施の形態におけるクライアント装置１０３とサーバ装置１０２の構成図である。
【００４７】
クライアント装置１０３は、ＧＵＩプログラム実行部１１１、要求送信部１０８、受信部１０９、動画用デコーダ１０７、ＧＵＩプログラム保存部１１０、および表示部１１２を備える。
【００４８】
要求送信部１０８は、サーバ装置１０２への接続要求を送信する。受信部１０９は、サーバ装置１０２の処理結果およびＧＵＩプログラムを受信する。ＧＵＩプログラム保存部１１０はサーバ装置１０２から取得したＧＵＩプログラムを保存する。動画用デコーダ１０７はサーバ装置１０２から受信した動画コンテンツ（例えば、早送り用データ）をデコードする。表示部１１２は動画用デコーダ１０７でデコードされた動画コンテンツの映像を表示する。ＧＵＩプログラム実行部１１１は、クライアント装置１０３がサーバ装置１０２から取得してＧＵＩプログラム保存部１１０に保存されたＧＵＩプログラムを実行する。また、このＧＵＩプログラム実行部１１１は、再生操作画面などのＧＵＩコンテンツを生成して表示部１１２に表示させるＧＵＩ表示処理部１１３と、ＧＵＩプログラム保存部１１０に保存されている、旧機器（クライアント装置１０３）の機能の一覧を表す旧機器機能情報１１５を参照し、ＧＵＩ操作によって生じた命令を制御する制御部１１４と、サーバ装置１０２から受信部１０９で受信されたファイルを解析する解析部１１６とを有する。
【００４９】
サーバ装置１０２は、要求受付部２０１、ＧＵＩプログラム保存部２０２、状態情報記憶部２０５、機器状態判定部２０４、機能情報記憶部２０６、送信部２０３、代替処理提供部２０７、エラーメッセージ生成部２０８、およびコンテンツ保存部２１３を備える。
【００５０】
要求受付部２０１は、クライアント装置１０３の要求送信部１０８からの接続要求を受け付けると、ＧＵＩプログラム保存部２０２から、ＧＵＩを実現するためのＧＵＩプログラムを取得して、そのＧＵＩプログラムを送信部２０３からクライアント装置１０３に送信する。さらに、要求受付部２０１は、クライアント装置１０３からＧＵＩを通じてサーバ装置１０２へ出力された代替処理要求を受け付ける。ＧＵＩプログラム保存部２０２は、上述のＧＵＩを実現するためのＧＵＩプログラムを保持している。ＧＵＩプログラムは、サーバ装置１０２で保持している動画コンテンツの一覧を表示するための情報、ＧＵＩ操作によって生じる命令を制御する制御機構、ＸＭＬを解析する機能、および旧機器機能情報１１５を含んでいる。送信部２０３は、ＧＵＩプログラムと、サーバ装置１０２の処理結果をクライアント装置１０３に送信する。
【００５１】
機器状態判定部２０４は、サーバ装置１０２内に存在する設定情報テーブル２０５ａと競合情報テーブル２０５ｂと機能情報テーブル２０６ａを取得する。さらに、機器状態判定部２０４は、それらのテーブル２０５ａ，２０５ｂ，２０６ａを参照して、サーバ装置１０２内でクライアント装置１０３から要求された処理（代替処理）が実行可能かどうかを判定する。機器状態判定部２０４は、実行可能であると判定すると、代替処理を代替処理提供部２０７に要求して実行させる。なお、本実施の形態では、この機器状態判定部２０４が、設定情報テーブル２０５ａと競合情報テーブル２０５ｂの示すサーバ装置１０２の状態に応じて、クライアント装置１０３から要求された処理ができるか否かを判定する状態判定部として構成されているとともに、機能情報テーブル２０６ａを参照することにより代替処理を特定する代替処理特定部としても構成されている。つまり、機器状態判定部２０４は、状態判定部と代替処理特定部とを備えている。
【００５２】
状態情報記憶部２０５は、サーバ装置１０２の設定が十分に行われているかを示す上述の設定情報テーブル２０５ａと、サーバ装置１０２が持つ機能の競合に関する情報を示す上述の競合情報テーブル２０５ｂとを保持している。なお、この設定情報テーブル２０５ａと競合情報テーブル２０５ｂとを総称して状態情報テーブルという。機能情報記憶部２０６は、サーバ装置１０２の機能ごとに、その機能と、その機能を代替する機能とを対応付けた上述の機能情報テーブル２０６ａを保持している。
【００５３】
代替処理提供部２０７は、旧世代のクライアント装置１０３の機能と新世代のサーバ装置１０２の機能との間に差異がある場合、つまり、機器状態判定部２０４で代替処理が実行可能であると判定された場合に、旧世代のクライアント装置１０３からの要求に対してその代替処理を提供する。
【００５４】
このような代替処理提供部２０７は、データ送信制御部２０９、送信データ生成部２１０、フレーム抽出部２１１、および動画用エンコーダ２１２を備える。データ送信制御部２０９は、機器状態判定部２０４からの代替処理要求を受け付けて、代替処理の結果である送信データの生成を送信データ生成部２１０に命令する。さらに、データ送信制御部２０９は、代替処理結果である送信データを送信部２０３からクライアント装置１０３に送信する。
【００５５】
送信データ生成部２１０は、データ送信制御部２０９から送信データの生成命令を受け付けると、コンテンツ保存部２１３から動画コンテンツを取り出す。そして、送信データ生成部２１０は、その動画コンテンツに対するエンコーディング命令およびフレーム抽出命令などの各命令をフレーム抽出部２１１または動画用エンコーダ２１２に発する。このフレーム抽出命令は、代替処理に必要とされるフレームを抽出させる命令である。コンテンツ保存部２１３は、サーバ装置１０２で利用可能な動画コンテンツを保存しており、例えばハードディスクによって構成される。フレーム抽出部２１１は、送信データ生成部２１０を介してコンテンツ保存部２１３から動画コンテンツを取得し、送信データ生成部２１０から発せられたフレーム抽出命令に応じて、その動画コンテンツから必要なフレームを抽出する。動画用エンコーダ２１２は、送信データ生成部２１０から発せられたエンコーディング命令に応じて、フレーム抽出部２１１が抽出したフレーム群のエンコーディングを行う。このようなエンコーディングが行われることによって、上述の代替処理結果である送信データが生成される。また、このように生成された送信データが上述の早送り用データである。
【００５６】
エラーメッセージ生成部２０８は、サーバ装置１０２内で発生しているエラーを示す情報であって、機器状態判定部２０４によって判定された結果であるエラー判定情報を機器状態判定部２０４から受け取る。また、エラーメッセージ生成部２０８は、そのエラー判定情報を用いて、クライアント装置１０３に提供するエラーメッセージを生成する。エラーメッセージを提供するときには、エラーメッセージ生成部２０８は、例えば、エラーメッセージを直接テキストメッセージとして送信部２０３を介してクライアント装置１０３に通知したり、エラーメッセージを表示するプログラムの置き場所を、送信部２０３を介してクライアント装置１０３に通知する。
【００５７】
図４は、サーバ装置１０２の設定情報テーブル２０５ａを示す図である。
【００５８】
この設定情報テーブル２０５ａは、行ｇ１〜ｇ３に示すように、接続設定や通信設定などの設定内容（設定項目）について、現在、これらの設定が正しく行われているか否かを設定状態として示している。例えば、設定情報テーブル２０５ａの行ｇ１は、サーバ装置１０２に接続される機器の登録の設定（接続機器の登録設定）が正しくなされていること（ＯＫ）を示し、行ｇ２は、サーバ装置１０２に接続される機器の制限台数の設定（接続台数制限設定）がなされていないこと（ＮＧ）を示し、行ｇ３は、サーバ装置１０２の通信速度の設定（通信速度設定）が正しくなされていること（ＯＫ）を示す。なお、図４の設定情報テーブル２０５ａは、例として３つの設定内容についての設定状態を示しているが、設定内容は機器によって異なるのでこれだけに限らない。また、この設定情報テーブル２０５ａは、サーバ装置１０２の設定状態が変更されるごとに、その変更された設定状態が反映されるように更新される。
【００５９】
図５は、サーバ装置１０２の競合情報テーブル２０５ｂを示す図である。
【００６０】
競合情報テーブル２０５ｂは、行ｇ１１〜ｇ１９に示すように、サーバ装置１０２の機能ごとに、その機能の名称（機能名）と、他の機能との競合関係に基づいて、現在、その機能が利用可能か否かを示している。例えば、競合情報テーブル２０５ｂの行ｇ１１は、機能名「ｆａｓｔｆｏｒｗａｒｄ」の機能（早送り）が現在他の機能と競合せずに利用可能であること（ＯＫ）を示し、行ｇ１３は、機能名「ｒｅｃｏｒｄ」の機能（録画）が現在他の機能と競合するために利用できないこと（ＮＧ）を表している。また、この競合情報テーブル２０５ｂは、サーバ装置１０２で利用される機能が変更されるごとに、その変更された結果が反映されるように更新される。
【００６１】
図６は、サーバ装置１０２の機能情報テーブル２０６ａを示す図である。
【００６２】
機能情報テーブル２０６ａは、行ｇ２１〜ｇ２８に示すように、サーバ装置１０２の機能ごとに、その機能の機能名と、その機能による処理の代替となる処理（代替処理）の名称である代替処理名と、その代替処理を実行するためのプログラムのアクセス先である代替処理用のＵＲＬとを示す。例えば、機能情報テーブル２０６ａの行ｇ２２は、サーバ装置１０２の早送りの機能名「ｆａｓｔＦｏｒｗａｒｄ」と、その早送りの代替処理名「ａｌｔＦａｓｔＦｏｒｗａｒｄ」と、この代替処理名の代替処理を実行するためのプログラムのアクセス先である代替処理用ＵＲＬ「ｈｔｔｐ：／／Ａ／ＢＢＢ．ｃｇｉ？／ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」とを示している。また、この機能情報テーブル２０６ａは、早送り、巻き戻し、回転、ズームイン、ズームアウト、２倍速再生および３倍速再生の機能に対する代替処理に関する情報を示す。なお、機能情報テーブル２０６ａは、図６に示す機能名、代替処理名および代替処理用ＵＲＬだけでなく、他の機能名、代替処理名および代替処理用ＵＲＬを示していてもよい。
【００６３】
図７は、本実施の形態のサーバ装置１０２およびクライアント装置１０３の全体的な動作を示すフローチャートである。
【００６４】
まず、クライアント装置１０３の要求送信部１０８は、サーバ装置１０２に対し、サーバ装置１０２を操作するＧＵＩを実現するためのＧＵＩプログラムを要求する（ステップＳ６０１）。サーバ装置１０２の要求受付部２０１は、その要求（ＧＵＩプログラムの取得要求）を受け付け（ステップＳ６０２）、その要求に応じて、ＧＵＩプログラム保存部２０２からＧＵＩプログラムを取得する（ステップＳ６０３）。サーバ装置１０２の要求受付部２０１は、取得されたＧＵＩプログラムを送信部２０３からクライアント装置１０３に送信する（ステップＳ６０４）。クライアント装置１０３の受信部１０９は、ＧＵＩプログラムを取得すると、このＧＵＩプログラムをＧＵＩプログラム保存部１１０に格納する（ステップＳ６０５）。さらに、クライアント装置１０３のＧＵＩプログラム実行部１１１は、そのＧＵＩプログラムを実行することにより、ＧＵＩ（再生操作画面Ｐ１）を通じて、ユーザにより選択された機能（例えば、早送り）を受け付ける（ステップＳ６０６）。
【００６５】
その際、まず、クライアント装置１０３の制御部１１４は、旧機器機能情報１１５を参照し（ステップＳ６０７）、参照結果に基づいて、その選択された機能（例えば、再生または早送り）がクライアント装置１０３に存在するか否かを判定する（ステップＳ６０７ａ）。制御部１１４は、クライアント装置１０３にその機能が存在すると判定すると（ステップＳ６０７のＹＥＳ）、その機能に応じた処理を実行する（ステップＳ６０８）。例えば、選択された機能が再生であって、その再生が旧機器機能情報１１５に示されていれば、制御部１１４は、サーバ装置１０２に動画コンテンツを要求し、その動画コンテンツのデコードを動画用デコーダ１０７に実行させ、表示部１１２にその動画コンテンツの映像を表示させる。
【００６６】
一方、機能が存在しないと判定すると（ステップＳ６０７のＮＯ）、クライアント装置１０３の制御部１１４は、要求送信部１０８に対し、存在しない機能による処理、つまりその処理の代替となる処理をサーバ装置１０２に対して要求するよう命令する（ステップＳ６０９）。サーバ装置１０２の要求受付部２０１がこの要求（代替処理要求）を受けると（ステップＳ６１０）、機器状態判定部２０４は、設定情報テーブル２０５ａおよび競合情報テーブル２０５ｂからなる状態情報テーブルと、機能情報テーブル２０６ａを参照する（ステップＳ６１１）。そして、機器状態判定部２０４は、その参照結果に基づいて、代替処理の提供が行えるかどうかを判定する（ステップＳ６１１ａ）。
【００６７】
機器状態判定部２０４は、代替処理を提供できると判定した場合には（ステップＳ６１１ａのＹＥＳ）、代替処理提供部２０７に代替処理を実行させる（ステップＳ６１２）。代替処理を実行した代替処理提供部２０７は、代替処理の処理結果を送信部２０３からクライアント装置１０３に送信する（ステップＳ６１４）。一方、機器状態判定部２０４は、代替処理が提供できないと判定した場合には（ステップＳ６１１ａのＮＯ）、エラーメッセージ生成部２０８にエラーメッセージを生成させる（ステップＳ６１３）。エラーメッセージを生成したエラーメッセージ生成部２０８は、そのエラーメッセージを送信部２０３からクライアント装置１０３に送信する（ステップＳ６１４）。
【００６８】
図８Ａおよび図８Ｂは、図７のステップＳ６１１〜Ｓ６１４の詳細な動作を示すフローチャートである。
【００６９】
なお、この図８Ａおよび図８Ｂに示す動作では、クライアント装置１０３上には前述のＧＵＩを実現するためのＧＵＩプログラムがあらかじめダウンロードおよび保存されており、クライアント装置１０３上で動画コンテンツが再生されているものとする。また、このＧＵＩでは、個々の動画コンテンツごとに、動画コンテンツとコンテンツ名が紐づけされている。例えば、ユーザが特定の動画コンテンツを選択した時に、このＧＵＩでは、どの動画コンテンツが選択されたのかという情報（コンテンツ名）を内部的に取得することができる。また、再生要求は、“再生”の機能をあらわすｐｌａｙ関数を用いて、“ｐｌａｙ（ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｐｒｏｇｒａｍ．ｃｇｉ？ｃｏｎｔｅｎｔｎａｍｅ＝ａａａ．ｍｐｇ）”の様に実現されている。また、図８Ａおよび図８Ｂに示す動作は、クライアント装置１０３が再生している動画コンテンツの早送りの代替処理をサーバ装置１０２に対して要求する場合の動作である。なお、図８Ａおよび図８Ｂでは、早送りに対応する代替処理が行われる処理動作を例に挙げて説明しているが、巻き戻しやその他の機能に対応する代替処理が行われてもよく、代替処理される機能は早送りだけに限らない。
【００７０】
サーバ装置１０２の要求受付部２０１は、クライアント装置１０３に存在しない機能（機能名）を示す代替処理要求を受信すると（ステップＳ６１０）、その代替処理要求を解析し、要求された機能を機器状態判定部２０４に通知する（ステップＳ７０７）。機器状態判定部２０４は、状態情報記憶部２０５に保存されている設定情報テーブル２０５ａの全ての行を参照し、全ての設定内容において設定が十分に行われているか調べる（ステップＳ７０８）。つまり、機器状態判定部２０４は、全ての設定内容に対応する設定状態が「ＯＫ」を示しているか否かを判定する。全ての設定内容についての設定に問題が無いと判定すると（ステップＳ７０８のＹＥＳ）、次に、機器状態判定部２０４は、代替処理があるかどうかを、機能情報テーブル２０６ａを参照して判断する（ステップＳ７０９）。例えば、代替処理要求が早送りの機能名「ｆａｓｔＦｏｒｗａｒｄ」を示している場合、図６に示す機能情報テーブル２０６ａの行ｇ２２の２列目に、代替処理名「ａｌｔＦａｓｔＦｏｒｗａｒｄ」と代替処理用ＵＲＬ「ｈｔｔｐ：／／Ａ／ＢＢＢ．ｃｇｉ？／ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」とが示されているため、機器状態判定部２０４は、早送りに対応する代替処理があると判定する。このとき、機器状態判定部２０４は、さらに、機能情報テーブル２０６ａの行ｇ２２の３列目から代替処理用ＵＲＬを取得する。
【００７１】
次に、機器状態判定部２０４は、代替処理があると判定すると（ステップＳ７０９のＹＥＳ）、状態情報記憶部２０５内にある競合情報テーブル２０５ｂを参照し、代替処理要求に示される機能が現在利用可能であるか否かを判定する（ステップＳ７１０）。つまり、機器状態判定部２０４は、代替処理要求に示される機能を利用することによって他の機能との間で競合が発生し、その代替処理要求に示される機能が利用不可能となるか否かを判定する。ここで、機器状態判定部２０４は、競合が発生せずにその機能が利用可能であると判定すると（ステップＳ７１０のＮＯ）、ステップＳ７０８〜ステップＳ７１０の判定結果および代替処理用ＵＲＬをファイル（ＸＭＬ）に記載し（ステップＳ７１１）、要求受付部２０１および送信部２０３を通じて、そのファイルをクライアント装置１０３の受信部１０９に送信する（ステップＳ７１３）。
【００７２】
また、機器状態判定部２０４は、ステップＳ７０８で何れかの設定が正しく行われていないと判定したとき（ステップＳ７０８のＮＯ）、ステップＳ７０９で代替処理がないと判定したとき（ステップＳ７０９のＮＯ）、または、ステップＳ７１０で、競合が発生してその機能が利用不可能であると判定したとき（ステップＳ７１０のＹＥＳ）には、それらの判定結果であるエラー判定情報（ステップＳ７１２）を取得する。そして、機器状態判定部２０４は、そのエラー判定情報とエラー処理用ＵＲＬをファイル（ＸＭＬ）に記載する（ステップＳ７１１）。機器状態判定部２０４は、要求受付部２０１および送信部２０３を通じて、そのファイルをクライアント装置１０３の受信部１０９に送信する（ステップＳ７１３）。
【００７３】
図９は、サーバ装置１０２がクライアント装置１０３に送信するファイルの一例を示す図である。
【００７４】
このファイルｆ１は、ステップＳ７１０で、競合が発生せずに機能が利用可能であると判定された場合（ステップＳ７１０のＮＯ）に生成された、ＸＭＬ（Extensible Markup Language）で記載されたファイルである。このファイルｆ１中には＜ｒｅｓｕｌｔ＞タグがある。この＜ｒｅｓｕｌｔ＞タグの中には、ステップＳ７０８の判定結果、つまり設定の状態を示す＜ｓｅｔｔｉｎｇ＞タグと、ステップＳ７０９の判定結果、つまり代替処理が存在するかどうかを示す＜ａｌｔｅｎａｔｉｖｅ＞タグと、ステップＳ７１０の判定結果、つまり競合が発生するか否かを示す＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグと、ステップＳ７０９で取得された代替処理用ＵＲＬを含む情報であって、早送りの代替処理のプログラム（代替処理用プログラム）にアクセスするためのｕｒｌ情報を示す＜ｕｒｌ＞タグとが記載されている。
【００７５】
ここで、ステップＳ７０８〜Ｓ７１０において、サーバ装置１０２は設定情報テーブル２０５ａを始めに参照し、その後、機能情報テーブル２０６ａ、競合情報テーブル２０５ｂと順に参照していることによって、余分な参照プロセスを避けている。例えば、設定情報テーブル２０５ａに、設定が十分に行われていないと示されているにも関わらず、先に、機能情報テーブル２０６ａおよび競合情報テーブル２０５ｂを参照し、代替処理を実行できると判断しても、最終的に設定が不十分であれば、機能情報テーブル２０６ａを参照した意味が無くなるためである。
【００７６】
なお、本実施の形態では、機器状態判定部２０４が状態情報記憶部２０５と機能情報記憶部２０６に基づいて取得した代替処理用ＵＲＬおよび判定結果をＸＭＬの形式で、クライアント装置１０３に通知しているが、クライアント装置１０３に通知する方法はどのような方法であってもよい。例えば、テキストやプログラム、バイナリ等で通知してもよい。また、クライアント装置１０３が自分に機能があるかどうかを調べる機能がない場合でも、要求受付部２０１がクライアント装置１０３から受け付けた要求のＨＴＴＰヘッダを解析してＵｓｅｒ−Ａｇｅｎｔを取得し、クライアントの能力を調べ、それに応じた代替処理用ＵＲＬを機能情報テーブル２０６ａから取得する事によって、その代替処理用ＵＲＬおよび判定結果の通知を実現することが可能である。
【００７７】
図８Ｂに示すように、クライアント装置１０３の受信部１０９がファイルをサーバ装置１０２から受信すると（ステップＳ７１４）、クライアント装置１０３の解析部１１６は、そのファイルの＜ｒｅｓｕｌｔ＞タグを解析する（ステップＳ７１５）。ここでは、解析部１１６が図９に示すファイルｆ１の＜ｒｅｓｕｌｔ＞タグを解析する場合の処理動作について説明する。
【００７８】
解析部１１６は、＜ｒｅｓｕｌｔ＞タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルｆ１にエラーが示されているか否かを判定する（ステップＳ７１６）。例えば、解析部１１６は、ファイルｆ１の＜ｓｅｔｔｉｎｇ＞タグに、全ての設定が正しく行われていることを示す「ＯＫ」が記載されており、＜ａｌｔｅｎａｔｉｖｅ＞タグに、代替処理が存在すること示す「ＹＥＳ」が記載されており、＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグに、競合が発生しないために機能が利用可能であることを示す「ＮＯ」が記載されているため、全てのタグに問題が記載されていないと判定する。
【００７９】
解析部１１６は、問題が記載されていないと判定すると（ステップＳ７１６のＮＯ）、要求送信部１０８に対して、＜ｕｒｌ＞タグに記載されているｕｒｌ情報「ｈｔｔｐ：／／ｈｏｓｔＮａｍｅ／ＢＢＢ．ｃｇｉ？ｓｔａｔｕｓ＝ｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」にアクセスさせる（ステップＳ７１７）。例えば、要求送信部１０８は、ｐｌａｙ（ｕｒｌ情報）からなるアクセス要求「ｐｌａｙ（ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ＢＢＢ．ｃｇｉ？ｓｔａｔｕｓ＝ｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ）」を送信する。
【００８０】
サーバ装置１０２の要求受付部２０１は、このアクセス要求を受けると（ステップＳ７１９）、このアクセス要求のｕｒｌ情報から、実行する代替処理用プログラムの名称「ＢＢＢ．ｃｇｉ、ｓｔａｔｕｓ」、ステータス情報「ｓｔａｔｕｓ＝ｎｏｒｍａｌ」及びファンクション情報「ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」を文字列操作によって取り出し、機器状態判定部２０４に通知する。機器状態判定部２０４は、ステータス情報をチェックし（ステップＳ７２０）、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する（ステップＳ７２１）。この場合、ステータス情報は「ｓｔａｔｕｓ＝ｎｏｒｍａｌ」であるため、機器状態判定部２０４は、ノーマルを示す、つまりサーバ装置１０２内で問題は無いと判断し（ステップＳ７２１のＮＯ）、プログラム名「ＢＢＢ．ｃｇｉ」の代替処理用プログラムの実行を代替処理提供部２０７のデータ送信制御部２０９に要求すると共に、そのデータ送信制御部２０９にファンクション情報を通知する。
【００８１】
この要求および通知を受けたデータ送信制御部２０９は、プログラム名「ＢＢＢ．ｃｇｉ」の代替処理用プログラムを起動し、送信データ生成部２１０に対して送信データの生成を要求する。送信データ生成部２１０は、コンテンツ保存部２１３から動画コンテンツを取り出し（ステップＳ７２２）、フレーム抽出部７０５に対して、クライアント装置１０３へ送信するフレームをその動画コンテンツの中から抽出させることにより（ステップＳ７２３）、送信データである早送り用データを生成する。
【００８２】
この場合、フレーム抽出部７０５は、早送り用データを生成するために、動画コンテンツをデコードして、デコードされた動画コンテンツのＩフレームおよびＰフレームのみを抽出する。なお、ファンクション情報が「ｆｕｎｃｔｉｏｎ＝ａｌｔＲｅｗｉｎｄ」、つまり巻き戻しの代替処理を示す場合には、フレーム抽出部７０５は、早送りの場合の逆の処理を行い、巻き戻しの代替処理要求を受信した時点から以前のＩフレームおよびＰフレームを抽出する。また、ファンクション情報がその他の機能（例えば２倍速再生等）の代替処理を示す場合にも、フレーム抽出部７０５は、代替処理要求を受信した時点から同様に適切なフレームを抽出する。その後、動画用エンコーダ２１２は、抽出したフレームを再エンコードして早送り用データを生成し（ステップＳ７２４）、送信データ生成部２１０、データ送信制御部２０９および送信部２０３を通じてクライアント装置１０３の受信部１０９にその早送り用データを順次送り出す（ステップＳ７２７）。
【００８３】
クライアント装置１０３の受信部１０９は、サーバ装置１０２の処理結果を受信し（ステップＳ７２８）、その処理結果がエラーを示すか否かを判定する（ステップＳ７２８ａ）。上述の例の場合、受信部１０９は、動画コンテンツに対する処理結果である早送り用データを受信するため、その処理結果がエラーを示さないと判定する。受信部１０９は、エラーを示さないと判定すると（ステップＳ７２８ａのＮＯ）、この早送り用データを動画用デコーダ１０７に出力してデコードさせる（ステップＳ７２９）。そして、動画用デコーダ１０７は、デコードされた早送り用データを表示部１１２に順次表示させる（ステップＳ７３１）。その結果、早送り用データが再生される。
【００８４】
再生される早送り用データの映像は、動画コンテンツが早送りされている映像と見かけ上同等になる。したがって、クライアント装置１０３は、早送り用データを単純に通常再生すれば、動画コンテンツの早送り再生と同等の機能を実現できる。なお、早送りデータなどのデータをサーバ装置１０２からクライアント装置１０３に送信する方法や、そのデータをエンコードする方法、クライアント装置１０３の動画用デコーダ１０７がそのデータをデコードする方法等に関しては、さまざまなプロトコルや方法があり、本発明では、何れのプロトコルや方法を用いてもよい。
【００８５】
次に、代替処理を提供できない場合を説明する。
【００８６】
図１０は、サーバ装置１０２がクライアント装置１０３に送信するファイルの他の例を示す図である。
【００８７】
このファイルｆ２は、図８ＡのステップＳ７１０で、競合が発生することにより機能が利用不可能であると判定された場合（ステップＳ７１０のＹＥＳ）に生成された、ＸＭＬで記載されたファイルである。ファイルｆ１と同様、このファイルｆ２中には、＜ｒｅｓｕｌｔ＞タグがある。この＜ｒｅｓｕｌｔ＞タグの中には、ステップＳ７０８の判定結果、つまり設定の状態を示す＜ｓｅｔｔｉｎｇ＞タグと、ステップＳ７０９の判定結果、つまり代替処理が存在するかどうかを示す＜ａｌｔｅｎａｔｉｖｅ＞タグと、ステップＳ７１０の判定結果、つまり競合が発生するか否かを示す＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグと、エラー処理用ＵＲＬを含む情報であって、エラー処理のプログラム（エラー処理用プログラム）にアクセスするためのｕｒｌ情報を示す＜ｕｒｌ＞タグとが記載されている。
【００８８】
図８Ｂに示すように、クライアント装置１０３の受信部１０９は、ファイルｆ２をサーバ装置１０２から受信し（ステップＳ７１４）、解析部１１６はそのファイルｆ２の＜ｒｅｓｕｌｔ＞タグを解析する（ステップＳ７１５）。その結果、解析部１１６は、ファイルｆ２の＜ｒｅｓｕｌｔ＞タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルｆ２にエラーが示されているか否かを判定する（ステップＳ７１６）。例えば、解析部１１６は、このファイルｆ２の＜ｃｏｍｐｅｔｉｔｉｏｎ＞タグに、競合が発生するために機能が利用不可能であることを示す「ＹＥＳ」が記述されているため、タグに問題が記載されていると判定する。
【００８９】
解析部１１６は、問題が記載されていると判定すると（ステップＳ７１６のＹＥＳ）、要求送信部１０８に対して、＜ｕｒｌ＞タグに記載されているｕｒｌ情報「ｈｔｔｐ：／／ｈｏｓｔＮａｍｅ／ｅｒｒｏｒ．ｃｇｉ？ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」にアクセスさせる（ステップＳ７１８）。例えば、要求送信部１０８は、ｐｌａｙ（ｕｒｌ情報）からなるアクセス要求「ｐｌａｙ（ｈｔｔｐ：／／ｈｏｓｔＮａｍｅ／ｅｒｒｏｒ．ｃｇｉ？ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ＆ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ＆ｃｏｍｐｅｔｉｔｉｏｎ＝ｙｅｓ）」を送信する。
【００９０】
サーバ装置１０２の要求受付部２０１は、このアクセス要求を受けると（ステップＳ７１９）、このアクセス要求のｕｒｌ情報から、実行するエラー処理用プログラムの名称「ｅｒｒｏｒ．ｃｇｉ」、ステータス情報「ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ」、ファンクション情報「ｆｕｎｃｔｉｏｎ＝ａｌｔＦａｓｔＦｏｒｗａｒｄ」、およびエラー情報「ｃｏｍｐｅｔｉｔｉｏｎ＝ｙｅｓ」を文字列操作によって取り出し、機器状態判定部２０４に通知する。機器状態判定部２０４は、ステータス情報をチェックし（ステップＳ７２０）、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する（ステップＳ７２１）。この場合、ステータス情報は「ｓｔａｔｕｓ＝ａｂｎｏｒｍａｌ」であるため、機器状態判定部２０４は、ノーマルを示さない、つまりエラーを示すと判断し（ステップＳ７２１のＹＥＳ）、エラーメッセージ生成部２０８に対して、エラー情報「ｃｏｍｐｅｔｉｔｉｏｎ＝ｙｅｓ」を通知する（ステップＳ７２５）。言い換えれば、機器状態判定部２０４は、エラー情報が競合の発生を示しているので、その競合の発生を通知する。エラー情報の通知を受けたエラーメッセージ生成部２０８は、プログラム名「ｅｒｒｏｒ．ｃｇｉ」のエラー処理用プログラムを起動し、クライアント装置１０３にエラーメッセージを表示させるためのエラー表示用プログラムを生成し（ステップＳ７２６）、送信部２０３からクライアント装置１０３に送信する（ステップＳ７２７）。
【００９１】
クライアント装置１０３の受信部１０９は、サーバ装置１０２の処理結果を受信し（ステップＳ７２８）、その処理結果がエラーを示すか否かを判定する（ステップＳ７２８ａ）。上述の例の場合、受信部１０９は、エラー情報に対する処理結果であるエラー表示用プログラムを受信するため、その処理結果がエラーを示すと判定する。受信部１０９は、エラーを示す判定すると（ステップＳ７２８ａのＹＥＳ）、受信したエラー表示用プログラムを実行し（ステップＳ７３０）、エラーメッセージを表示部１１２に表示させる（ステップＳ７３１）。これにより、クライアント装置１０３のユーザは、サーバ装置１０２内で発生したエラーを把握する事が可能になる。
【００９２】
この方法を用いれば、サーバ装置１０２は、ＧＵＩによるエラー処理と各世代の機器に応じたエラーＧＵＩとを変更する必要がなくなり、旧世代のクライアント装置１０３に接続したとしても上記仕組みの流用が可能になる利点もある。
【００９３】
なお、本実施の形態では、エラーメッセージを通知する手段として、エラーメッセージを表示するエラー表示用プログラムを生成して送信し、ＧＵＩの形でユーザに通知する方式を取っている。しかし、クライアント装置１０３にメッセージを通知する手段としては、メッセージだけを文字列として通知してもよいし、クライアント装置１０３上でｗｉｎｄｏｗ表示をしてもよく、ユーザにメッセージを通知することができれば、どのような手段であってもよい。
【００９４】
また、本実施の形態では、代替処理用プログラムまたはエラー処理用プログラムへアクセスする際、まず、ＸＭＬを用いてアクセス先をクライアント装置１０３に通知し、クライアント装置１０３からそのプログラムへのアクセスの要求があったときに、そのプログラムにアクセスしている。つまり、サーバ装置１０２からクライアント装置１０３へ処理工程を１度折り返す仕組みを用いている。しかし、このような仕組みを用いなくても、本発明の効果を得ることができる。具体的には、通知を受けた機器状態判定部２０４が要求された機能の機能名「ｆａｓｔＦｏｒｗａｒｄ」を用いて、機能情報テーブル２０６ａから代替処理用のＵＲＬを取得し、代替処理用プログラムに直接アクセスする。
【００９５】
しかしながら、ＸＭＬ等を用いてクライアント装置１０３に処理を預けるにはメリットがある。サーバ装置１０２は、ＰＣ（パーソナルコンピュータ）のように高性能ＣＰＵ（Central Processing Unit）や大容量のメモリを備えていない状況であっても、複数のクライアント装置１０３からの要求を確実に処理する必要がある。そのため、サーバ装置１０２に高負荷が掛かっている状況下では、代替処理やエラーメッセージの提供を遅延させた方がよい。したがって、本実施の形態では、サーバ装置１０２がクライアント装置１０３に処理を預ける手段として、ＸＭＬ等を用いてクライアント装置１０３に一時的に処理を預けているのである。つまり、サーバ装置１０２は自装置の都合に合わせてクライアント装置１０３を制御する主導権を握れるというメリットである。また、サーバ装置１０２は、ＸＭＬのファイルをクライアント装置１０３に送信するときに、自装置の都合に合わせて、所定時間経過後に、または、所定の条件が満たされたときに代替処理用ＵＲＬにアクセスさせるような情報をクライアント装置１０３に通知してもよい。
【００９６】
このように、本実施の形態によれば、サーバ装置１０２がクライアント装置１０３に、クライアント装置１０３にない機能による処理を代替処理として提供できるので、クライアント装置１０３に送信するＧＵＩプログラム（ＧＵＩコンテンツ）を、サーバ装置１０２内でクライアント装置１０３の能力で実行可能な範囲内にカスタマイズせずに、クライアント装置１０３上でサーバ装置１０２と同等の表示ができ、クライアント装置１０３が能力の劣る旧世代の機器であっても新世代のサーバ装置１０２と同等の機能を実現可能となるという効果が得られる。
【００９７】
また、本実施の形態では、状態情報テーブルなどを用いた判定が行われるため、サーバ装置１０２と他の機器との接続や切断などの設定状態、および、サーバ装置１０２内にある機能同士の競合など、サーバ装置１０２の状態が様々に変化しても、処理の大幅な遅延や停止、致命的なエラーを回避し、クライアント装置１０３に対して確実に応答を返すことができる。このような判定は、ＰＣのサーバと比べてメモリ容量やＣＰＵの処理能力などが劣るサーバ装置１０２に対して、複数の機器から同時に同一機能の利用が要求される場合や設定が頻繁に変更される場合に特に有効である。
【００９８】
（変形例１）
以下、本実施の形態における第１の変形例に係るサーバ装置について、図面を参照しながら説明する。本変形例に係るサーバ装置は、上記実施の形態１のように動画コンテンツに対する機能（早送りなど）の代替処理ではなく、静止画コンテンツに対する機能（回転など）の代替処理をクライアント装置に提供する。つまり、本変形例におけるサーバ装置は、ユーザがクライアント装置でサーバ装置の静止画コンテンツを閲覧する場合に、クライアント装置に対して、静止画コンテンツにおける、回転、拡大、縮小、またはイフェクト等の機能の代替処理を与える。
【００９９】
図１１は、本変形例におけるサーバ装置とクライアント装置の構成図である。
【０１００】
本変形例におけるクライアント装置１０３Ａは、ＧＵＩプログラム実行部１１１、要求送信部１０８、受信部１０９、静止画用デコーダ１１７、ＧＵＩプログラム保存部１１０、および表示部１１２を備える。また、本変形例におけるサーバ装置１０２Ａは、要求受付部２０１、ＧＵＩプログラム保存部２０２、状態情報記憶部２０５、機器状態判定部２０４、機能情報記憶部２０６、送信部２０３、代替処理提供部２０７Ａ、エラーメッセージ生成部２０８、およびコンテンツ保存部２１３を備える。また、代替処理提供部２０７Ａは、データ送信制御部２０９、送信データ生成部２１０、静止画用エンコーダ２１５、および変換部２１４を備える。なお、図１１に示す構成要素のうち、上記実施の形態１の図３に示す構成要素と同一の機能および構成を有する構成要素に対しては、実施の形態１と同一の符号を付して示し、その詳細な説明は省略する。また、コンテンツ保存部２１３は静止画コンテンツを保存している。
【０１０１】
代替処理提供部２０７の変換部２１４は、クライアント装置１０３からの、静止画コンテンツに対する代替処理要求である編集要求に応じて、その静止画コンテンツを変換する。静止画用エンコーダ２１５は、その変換された静止画コンテンツをエンコードする。クライアント装置１０３Ａの静止画用デコーダ１１７は、サーバ装置１０２Ａの処理結果である変換されてエンコードされた静止画コンテンツをデコードして表示部１１２に表示させる。
【０１０２】
本変形例と上記実施の形態１との相違点は、サーバ装置１０２の変換部２１４を使用し、回転、拡大、縮小、特殊効果等が付加された静止画像を生成し、クライアント装置１０３で表示可能にする点である。
【０１０３】
図１２は、本変形例における代替処理および静止画コンテンツの表示処理を示すフローチャートである。ここでは、上記実施の形態１と同様に、クライアント装置１０３Ａ上には、ＧＵＩを実現するためのＧＵＩプログラムがあらかじめダウンロードされ、ユーザがクライアント装置１０３Ａ上で静止画コンテンツを閲覧しているものとする。このとき、サーバ装置１０２Ａおよびクライアント装置１０３Ａは、上記実施の形態１の図７、図８Ａおよび図８Ｂに示す動作と同様の動作を行うが、図８Ｂに示すステップＳ７２１〜Ｓ７３１の処理の代わりに、静止画コンテンツの編集を代替処理として実行し、編集された静止画データ（送信データ）の静止画を表示する。
【０１０４】
つまり、機器状態判定部２０４は、クライアント装置１０３Ａから受けたアクセス要求に示されるステータス情報をチェックし、エラーを示すか否かを判定する（ステップＳ１１２１）。ここで、機器状態判定部２０４がエラーを示さないと判定すると（ステップＳ１１２１のＮＯ）、送信データ生成部２１０は、コンテンツ保存部２１３より静止画コンテンツを取得し（ステップＳ１１２２）、変換部２１４へ取得した静止画コンテンツを受け渡し、その静止画コンテンツを変換させる（ステップＳ１１２３）。このとき、変換部２１４は、エンコードされている静止画コンテンツをデコードして変換する。静止画用エンコーダ２１５は、変換された静止画コンテンツを再びエンコードし（ステップＳ１１２４）、変換およびエンコードされた静止画データを送信データとして、送信部２０３からクライアント装置１０３Ａに送信する（ステップＳ１１２７）。
【０１０５】
クライアント装置１０３Ａの受信部１０９は、サーバ装置１０２Ａの処理結果を受信し（ステップＳ１１２８）、その処理結果がエラーを示すか否かを判定する（ステップＳ１１２８ａ）。上述の例の場合、受信部１０９は、静止画コンテンツに対する処理結果である静止画データを受信するため、その処理結果がエラーを示さないと判定する。受信部１０９は、エラーを示さないと判定すると（ステップＳ１１２８ａのＮＯ）、静止画データを静止画用デコーダ１１７に出力してデコードさせる（ステップＳ１１２９）。そして、静止画用デコーダ１１７は、デコードされた静止画データの画像を表示部１１２に表示させる（ステップＳ１１３１）。
【０１０６】
また、図１２に示すステップＳ１１２５，Ｓ１１２６，Ｓ１１３０の処理は、上記実施の形態１の図８Ｂに示すステップＳ７２５，Ｓ７２６，Ｓ７３０の処理と同様である。
【０１０７】
なお、上記実施の形態１および変形例１では、動画または静止画に関する代替処理を行っているが、代替処理は、どのような処理でもよく、音声に関する代替処理であってもよい。例えば、録音した音声コンテンツに様々な効果を与える機能（効果付与機能）を有する新世代のサーバ装置とその効果付与機能が無い旧世代のクライアント装置が接続されている場合に、そのサーバ装置は、旧世代のクライアント装置にその効果付与機能による処理を提供する。
【０１０８】
（変形例２）
ここで、上記実施の形態１における第２の変形例について説明する。
【０１０９】
本変形例に係るサーバ装置１０２は、上記実施の形態１のＧＵＩプログラムとは異なるＧＵＩプログラムをクライアント装置１０３に送信する点に特徴がある。つまり、本変形例に係るＧＵＩプログラムを実行するクライアント装置１０３は、クライアント装置１０３が有する機能（例えば、動画コンテンツの録画）であっても、所定の条件が満たされた場合には、その機能に応じた処理をサーバ装置１０２に要求する。なお、以下の説明では、その機能を録画として説明するが、他の機能であってもよい。また、その機能が録画の場合には、クライアント装置１０３およびサーバ装置１０２はそれぞれ、その機能によって、配信される動画コンテンツを受信して記録媒体にその動画コンテンツを記録することができる。
【０１１０】
図１３は、本変形例に係るクライアント装置１０３の動作を示すフローチャートである。
【０１１１】
まず、クライアント装置１０３の受信部１０９は、サーバ装置１０２からＧＵＩプログラムをダウンロードしてＧＵＩプログラム保存部１１０に格納する（ステップＳ２００２）。ＧＵＩ表示処理部１１３は、そのＧＵＩプログラムを実行して、ＧＵＩコンテンツである再生操作画面を表示部１１２に表示させる。クライアント装置１０３の制御部１１４は、ユーザによるＧＵＩ操作に応じて、その再生操作画面に表示されている機能のうち「録画」を選択する（ステップＳ２００４）。その結果、制御部１１４は、クライアント装置１０３が備えている記録媒体の残容量を特定する（ステップＳ２００６）。そして、制御部１１４は、その残容量がしきい値よりも多いか否かを判定する（ステップＳ２００８）。つまり、制御部１１４は、録画対象の動画コンテンツの全てを記録媒体に格納することができるか否かを判定する。このしきい値は、録画対象の動画コンテンツのデータ量であってもよく、予め定められた値であってもよい。
【０１１２】
制御部１１４は、ステップＳ２００８で残容量が多いと判定すると（ステップＳ２００８のＹＥＳ）、その録画対象の動画コンテンツの録画を、クライアント装置１０３の録画の機能を有する処理部に実行させる（ステップＳ２０１０）。一方、制御部１１４は、残容量がしきい値以下であると判定すると（ステップＳ２００８のＮＯ）、その録画対象の動画コンテンツの録画をサーバ装置１０２に要求する（ステップＳ２０１２）。
【０１１３】
図１４は、本変形例に係るクライアント装置１０３の他の動作を示すフローチャートである。なお、ここでは、録画は、いわゆる予約録画であって、その機能が選択されたときには実行されず、その機能が選択されてから録画対象の動画コンテンツの配信が開始されるまでの期間（録画開始時間）だけ待機し、その配信が開始される時点で実行される。
【０１１４】
クライアント装置１０３は、上述のステップＳ２００２〜Ｓ２００６と同様の処理を行い、制御部１１４は、残容量がしきい値よりも多いか否かを判定する（ステップＳ２００８）。ここで、制御部１１４は、ステップＳ２００８で残容量が多いと判定すると（ステップＳ２００８のＹＥＳ）、録画開始時間経過後に、その録画対象の動画コンテンツの録画を、クライアント装置１０３の録画の機能を有する処理部に実行させる（ステップＳ２０１０）。一方、制御部１１４は、残容量がしきい値以下であると判定すると（ステップＳ２００８のＮＯ）、まず、クライアント装置１０３に備えられた記録媒体に格納されているコンテンツの消去を促すメッセージを表示部１１２に表示させ、ユーザにその消去を要求する（ステップＳ２１１２）。制御部１１４は、ユーザによるＧＵＩ操作に応じて、消去が選択されたか否かを判定する（ステップＳ２１１４）。
【０１１５】
ここで、制御部１１４は、消去が選択されたと判定すると（ステップＳ２１１４のＹＥＳ）、コンテンツの消去によって残容量が上記しきい値以上になるまでに要する消去時間を特定して、その消去時間をプログレスバーで表示部１１２に表示させる（ステップＳ２１１６）。制御部１１４は、さらに、録画開始時間がステップＳ２１１６で特定された消去時間よりも長いか否かを判定する（ステップＳ２１１８）。ここで、制御部１１４は、録画開始時間が長いと判定すると（ステップＳ２１１８のＹＥＳ）、録画開始時間経過後に、その録画対象の動画コンテンツの録画を上述の処理部に実行させる（ステップＳ２１２０）。
【０１１６】
一方、制御部１１４は、ステップＳ２１１４で消去が選択されなかったと判定したとき（ステップＳ２１１４のＮＯ）、または、ステップＳ２１１８で録画開始時間が長くないと判定すると（ステップＳ２１１８のＮＯ）、その録画対象の動画コンテンツの予約録画をサーバ装置１０２に要求する（ステップＳ２１２２）。
【０１１７】
このように本変形例に係るサーバ装置１０２がクライアント装置１０３に送信するＧＵＩプログラムは、ユーザによって選択された機能がクライアント装置１０３にある場合であっても、その機能がクライアント装置１０３で利用できるか否かを判定するステップと、利用できないと判定された場合に、その機能による処理をサーバ装置１０２に要求するステップとを、クライアント装置１０３に実行させる。これにより、例えば、録画機能を有するクライアント装置１０３は、記録媒体の残容量が少ないときにその録画機能がユーザによって選択されたために、録画対象の動画コンテンツの全てを録画することができなくなってしまうことを防ぐことができる。
【０１１８】
なお、本変形例では、クライアント装置１０３がＧＵＩプログラムをダウンロードして実行することにより、上述のような判定やサーバ装置１０２への要求を行ったが、ＧＵＩプログラムをダウンロードして実行することなく、クライアント装置１０３が自主的に上記判定および要求を行ってもよい。
【０１１９】
また、本発明に係るサーバ装置１０２について、実施の形態１およびその変形例１，２を用いて説明したが、本発明はこれらに限定されるものではない。
【０１２０】
例えば、実施の形態１およびその変形例１，２では、動画コンテンツの早送り、静止画コンテンツの編集、および、動画コンテンツの録画を中心に、それらの機能に対する代替処理を説明したが、本発明に係るサーバ装置は、これらの機能だけでなく、他の機能に対する代替処理を行ってもよいことは言うまでもない。また、実施の形態１およびその変形例１，２の構成および処理動作を、矛盾のない範囲でどのように組み合わせてもよい。
【０１２１】
（実施の形態２）
本実施の形態におけるクライアント装置は、例えば旧世代のサーバ装置に接続し、そのサーバ装置よりも多くの機能を有し、サーバ装置から指示されたＧＵＩの再生操作画面において、サーバ装置に存在しない機能を表示させ、その機能による処理を実行する点に特徴がある。
【０１２２】
図１５は、本実施の形態におけるクライアント装置を含む家庭内ネットワークの構成図である。
【０１２３】
家庭内ネットワークＮ１は、クライアント装置４００を有するネットワークであり、無線ネットワークや有線ネットワークで実現される。クライアント装置４００は、実施の形態１と同様、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。サーバ装置５００も、クライアント装置４００と同様、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、カーナビ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。
【０１２４】
家庭内ネットワークＮ１は、外部ネットワークＮ２経由で、サーバ装置５００と繋がっている。そして、クライアント装置４００とサーバ装置５００とが連携して、クライアント装置４００のＧＵＩを更新する。また、サーバ装置５００は、家庭内ネットワークＮ１に存在する機器でもよい。この場合は、クライアント装置４００と家庭内ネットワークＮ１に存在するサーバ装置５００とが連携して、クライアント装置４００上にサーバ装置５００のＧＵＩコンテンツを表示することとなる。
【０１２５】
図１６は、本実施の形態におけるクライアント装置４００の構成図である。
【０１２６】
ＧＵＩデータ取得部４０１は、サーバ装置５００上のＧＵＩデータ管理部５０１からＧＵＩデータを取得する。ＧＵＩデータは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＪａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｊａｖａ（登録商標）等のプログラミング言語で表現される。ＧＵＩデータ解析部４０２は、ＧＵＩデータ取得部４０１で取得されたＧＵＩデータを解析し、ＧＵＩプログラムを生成する。ＧＵＩプログラム実行部４０３は、ＧＵＩデータ解析部４０２によって生成されたＧＵＩプログラムを実行し、表示部４０４に対して、表示要求を行うことによりＧＵＩを実現する。つまり、ＧＵＩプログラム実行部４０３は、ＧＵＩプログラムを実行することにより、ユーザの操作用の画像であるＧＵＩコンテンツを生成して表示部４０４に表示させる。
【０１２７】
機能ディスパッチ部４０５は、機能を意味する識別子を用いて、後述するクライアント機能部４０６または代替機能部４０７を呼び出す。そして、機能ディスパッチ部４０５は、ＧＵＩプログラム実行部４０３がクライアント装置４００またはサーバ装置５００上の機能を呼び出す際に呼び出される。つまり、ＧＵＩプログラム実行部４０３は、クライアント装置４００やサーバ装置５００上の機能を直接呼び出すのではなく、機能ディスパッチ部４０５に上述の識別子を利用させ、クライアント装置４００やサーバ装置５００上の機能を間接的に呼び出す。
【０１２８】
クライアント機能部４０６は、画像に対する機能と、サーバ装置５００上の機能を呼び出すための機能を有する。なお、クライアント機能部４０６やサーバ機能部５０２が扱う画像に対する機能は、例えば、写真または動画などのコンテンツを扱う機能であって、具体的には、動画再生、動画録画、動画録画予約、または写真スライドショーなどのアプリケーション機能等である。
【０１２９】
命令記憶部４０９は、機能ディスパッチ部４０５が呼び出したクライアント機能部４０６への要求を記憶する。命令記憶部４０９が記憶する情報は、機能を呼び出す際に機能を特定するための識別子とその引数、呼び出した時刻などである。
【０１３０】
能力記憶部４０８は、クライアント機能部４０６が保持する機能を特定する情報を記憶している。クライアント機能部４０６が保持する機能を特定する情報とは、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際に機能を特定するための識別子とその引数などである。ＧＵＩプログラム実行部４０３は、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際にその機能を特定するための識別子とその引数などを用いて、能力記憶部４０８に対してどのような機能が存在するか問い合わせる。そして、ＧＵＩプログラム実行部４０３は、その結果から、サーバ装置５００には存在せず、クライアント装置４００に存在する機能（以下、差分機能という）を検出し、ＧＵＩデータから生成されるＧＵＩコンテンツに差分機能に関する情報を反映させる。
【０１３１】
代替機能部４０７は、ＧＵＩコンテンツとして表示された差分機能のうちの何れか１つがＧＵＩプログラム実行部４０３から代替機能として呼び出された場合に、ＧＵＩプログラム実行部４０３から機能ディスパッチ部４０５を経由して呼び出される。そして、代替機能部４０７は、クライアント機能部４０６を呼び出すために後述する引数値推測部４１０から必要な情報を集め、クライアント機能部４０６を呼び出し、クライアント機能部４０６に代替機能による処理を実行させる。
【０１３２】
引数値推測部４１０は、命令記憶部４０９に記憶された情報と、能力記憶部４０８に記憶された情報から、代替機能部４０７がクライアント機能部４０６を呼び出すために必要な引数値を推測する。
【０１３３】
操作部４１１は、クライアント装置４００のユーザによる操作を受け付け、その操作結果をＧＵＩプログラム実行部４０３へ通知する。例えば、操作部４１１は、キーボード、リモコン、マウス、ポインティングデバイス、タッチパネル、音声認識機器、またはジェスチャー認識機器などで構成される。また、表示部４０４は、ＧＵＩプログラム実行部４０３からの要求に応じて、例えば動画コンテンツの一覧を示すＧＵＩコンテンツ、動画コンテンツに対する機能の一覧を示すＧＵＩコンテンツ、および動画コンテンツを表示する。
【０１３４】
サーバ装置５００は、ＧＵＩデータ管理部５０１とサーバ機能部５０２とを備える。ＧＵＩデータ管理部５０１は、上述のＧＵＩデータを保持し、クライアント装置４００のＧＵＩデータ取得部４０１にそのＧＵＩデータを送信する。このＧＵＩデータから生成されるＧＵＩコンテンツは、例えば、サーバ装置５００が有する動画コンテンツの一覧と、サーバ装置５００が有する機能の一覧とを、図形、文字、および記号などを用いて示す。サーバ機能部５０２は、１つまたは複数の動画コンテンツと、その動画コンテンツの一覧とを有する。また、サーバ機能部５０２は、その動画コンテンツに対する例えば再生および停止などの機能を有する。
【０１３５】
ここで、図１７〜図２３を用いて、クライアント装置４００が、ＧＵＩデータ管理部５０１が管理しているＧＵＩデータを取得して表示した画面とそのクライアント装置４００の動作について説明する。ここで、サーバ機能部５０２は動画に関する機能を提供するものであるとする。また、ここでは、サーバ装置５００はクライアント装置４００に対して、動画コンテンツの特殊再生機能（例えば、動画早送りまたは動画巻き戻しなど）による処理を提供することはできず、クライアント装置４００は、クライアント装置４００自身で、動画コンテンツの特殊再生機能を実現することが可能であるという前提とする。つまり、サーバ装置５００から送信されるＧＵＩデータには、動画コンテンツに対する機能のうち、通常再生機能に関するデータしか含まれておらず、クライアント機能部４０６が有する特殊再生機能に関するデータは含まれていない。
【０１３６】
なお、本実施の形態では、機能について、動画コンテンツの特殊再生を例に挙げて説明するが、その機能は、前述の通り、動画コンテンツに関する機能でなく、他の機能であってもよい。
【０１３７】
図１７は、表示部４０４に表示される動画コンテンツの一覧の画面の一例を示す図である。
【０１３８】
クライアント装置４００は、サーバ装置５００のＧＵＩデータ管理部５０１が管理しているＧＵＩデータを取得し、さらに、サーバ装置５００のサーバ機能部５０２から動画コンテンツの一覧を取得する。そして、クライアント装置４００は、そのＧＵＩデータおよび動画コンテンツの一覧に基づいて、その一覧を示した画面（動画コンテンツ一覧画面）４０４ａをＧＵＩコンテンツとして生成して表示部４０４に表示する。ユーザは、クライアント装置４００の操作部４１１を操作し、その一覧の中から再生対象の動画コンテンツを選択する。
【０１３９】
図１８は、表示部４０４に表示される再生操作画面の一例を示す図である。
【０１４０】
クライアント装置４００は、再生対象の動画コンテンツが選択されると、その動画コンテンツが再生されて表示される動画再生領域ｂ１と、その動画コンテンツの再生を操作するための動画制御領域ｂ２とを含む再生操作画面４０４ｂをＧＵＩコンテンツとし生成して表示部４０４に表示させる。クライアント装置４００は、再生対象の動画コンテンツをサーバ装置５００のサーバ機能部５０２から取得してデコードし、その動画コンテンツの映像を動画再生領域ｂ１に表示する。
【０１４１】
動画制御領域ｂ２には、サーバ機能部５０２に対して動画コンテンツの再生を要求するためのボタンｂ３と、サーバ機能部５０２に対して動画コンテンツの停止を要求するためのボタンｂ４とがある。ここで、クライアント装置４００は、ＧＵＩデータから生成されたＧＵＩプログラムを実行することにより、ＧＵＩデータに示されている機能を用いてこのような再生操作画面４０４ｂを生成して表示部４０４に表示している。つまり、クライアント装置４００は、ＧＵＩデータに示されている機能が再生と停止であるために、ボタンｂ３とボタンｂ４とを表示している。なお、このような動画制御領域ｂ２は、クライアント装置４００のクライアント機能部４０６の機能であって、ＧＵＩデータに示されていない機能である差分機能がない場合に表示される。
【０１４２】
図１９は、表示部４０４に表示される再生操作画面の他の例を示す図である。
【０１４３】
クライアント装置４００は、再生対象の動画コンテンツが選択されたときに、上述の差分機能があると、動画再生領域ｂ１と、差分機能を表す動画制御領域ｃ１とを含む再生操作画面４０４ｃをＧＵＩコンテンツとして生成して表示部４０４に表示させる。クライアント装置４００は、再生対象の動画コンテンツをサーバ装置５００のサーバ機能部５０２から取得してデコードし、その動画コンテンツの映像を動画再生領域ｂ１に表示する。
【０１４４】
動画制御領域ｃ１には、ボタンｂ３およびボタンｂ４だけでなく、差分機能である動画コンテンツの早送りを要求するためのボタンｃ２と、差分機能である動画コンテンツの巻き戻しを要求するためのボタンｃ３とがある。ここで、クライアント装置４００は、ＧＵＩデータから生成されたＧＵＩプログラムを実行することにより、ＧＵＩデータに示されている機能を用いてこのような再生操作画面４０４ｃを生成して表示部４０４に表示している。つまり、クライアント装置４００は、ＧＵＩデータに示されている機能が再生と停止であるために、ボタンｂ３とボタンｂ４と表示している。さらに、本実施の形態におけるクライアント装置４００は、上述の差分機能が早送りと巻き戻しであるために、その差分機能を動画制御領域ｃ１に割り当てて、ボタンｃ２とボタンｃ３とを表示している。
【０１４５】
ここで、本実施の形態におけるクライアント装置４００およびサーバ装置５００の具体的な処理の流れを、図２０〜図２３を用いて説明する。
【０１４６】
図２０は、クライアント装置４００が動画コンテンツ一覧画面４０４ａを表示する処理を示すシーケンス図である。
【０１４７】
まず、サーバ装置５００のＧＵＩデータ管理部５０１は、ＧＵＩデータをクライアント装置４００に送信し（ステップＳ１００）、ＧＵＩデータ取得部４０１は、ＧＵＩデータ管理部５０１が管理しているそのＧＵＩデータを取得する（ステップＳ１０２）。そして、ＧＵＩデータ取得部４０１は、ＧＵＩデータ管理部５０１から取得したＧＵＩデータをＧＵＩデータ解析部４０２に出力する（ステップＳ１０４）。ＧＵＩデータ解析部４０２は、そのＧＵＩデータを取得して解析し、その解析結果からＧＵＩプログラムを生成する（ステップＳ１０６）。さらに、ＧＵＩデータ解析部４０２は、生成したＧＵＩプログラムをＧＵＩプログラム実行部４０３に出力する（ステップＳ１０８）。
【０１４８】
ＧＵＩプログラム実行部４０３は、ＧＵＩプログラムを取得して実行する（ステップＳ１１０）。その結果、ＧＵＩプログラム実行部４０３は、再生可能な動画コンテンツの一覧を示す動画コンテンツ一覧画面４０４ａを作成するために、機能ディスパッチ部４０５へ、動画コンテンツ一覧を取得するための機能（ｆｕｎｃｔｉｏｎ＝動画コンテンツ一覧）を呼び出す（ステップＳ１１２）。動画コンテンツの一覧には、動画コンテンツを一意に識別するためのコンテンツＩＤが含まれる。
【０１４９】
機能ディスパッチ部４０５は、ＧＵＩプログラム実行部４０３から呼び出されると、上述の機能（ｆｕｎｃｔｉｏｎ＝動画コンテンツ一覧）を持つクライアント機能部４０６を呼び出す（ステップＳ１１４）。クライアント機能部４０６は、サーバ装置５００のサーバ機能部５０２にアクセスし（ステップＳ１１６）、サーバ機能部５０２から動画コンテンツの一覧を送信させ（ステップＳ１１８）、その動画コンテンツの一覧を取得する（ステップＳ１２０）。クライアント機能部４０６は、取得した動画コンテンツの一覧を、機能ディスパッチ部４０５を介してＧＵＩプログラム実行部４０３に出力する（ステップＳ１２２）。その結果、ＧＵＩプログラム実行部４０３は、動画コンテンツの一覧を取得し、その一覧を示す動画コンテンツ一覧画面４０４ａを生成する（ステップＳ１２４）。
【０１５０】
機能ディスパッチ部４０５は、動画コンテンツ一覧を取得したこと、つまりステップＳ１１４で呼び出した機能（ｆｕｎｃｔｉｏｎ＝動画コンテンツ一覧）を一覧取得命令として命令記憶部４０９に格納する（ステップＳ１２６）。ＧＵＩプログラム実行部４０３は、取得した動画コンテンツの一覧を用いて生成された動画コンテンツ一覧画面４０４ａを表示部４０４に送信する（ステップＳ１２８）。その結果、図１７に示すように、表示部４０４は動画コンテンツ一覧画面４０４ａを表示する（ステップＳ１３０）。
【０１５１】
図２１は、再生対象の動画コンテンツが選択されたときのクライアント装置４００の処理を示すシーケンス図である。
【０１５２】
ユーザは、表示部４０４に表示された動画コンテンツ一覧画面４０４ａを見て、操作部４１１を操作することにより、その動画コンテンツの一覧から、再生対象の動画コンテンツを選択する。これにより、操作部４１１は、コンテンツＩＤ＝１００の動画コンテンツが再生対象として選択されたことをＧＵＩプログラム実行部４０３に通知する（ステップＳ１４０）。
【０１５３】
ＧＵＩプログラム実行部４０３は、機能ディスパッチ部４０５へ、コンテンツＩＤ＝１００の動画コンテンツの再生の要求（ｆｕｎｃｔｉｏｎ＝動画再生）を通知する（ステップＳ１４２）。機能ディスパッチ部４０５は、動画再生機能を持つクライアント機能部４０６へ、コンテンツＩＤ＝１００の動画コンテンツの再生の要求（ｆｕｎｃｔｉｏｎ＝動画再生）を通知する（ステップＳ１４４）。さらに、機能ディスパッチ部４０５は、命令記憶部４０９に、ステップＳ１４４で通知した動画コンテンツのコンテンツＩＤが１００であること（コンテンツＩＤ＝１００）を格納する（ステップＳ１４６）。また、ＧＵＩプログラム実行部４０３は、ステップＳ１４２で通知した動画コンテンツの機能が再生であることを示す機能情報（ｆｕｎｃｔｉｏｎ＝動画再生）を能力記憶部４０８に格納する（ステップＳ１４８）。
【０１５４】
次に、ＧＵＩプログラム実行部４０３は、能力記憶部４０８にアクセスし（ステップＳ１５０）、能力記憶部４０８から、動画コンテンツの機能に関してどのような機能が存在するのかを示す機能一覧を取得する（ステップＳ１５２）。例えば、ＧＵＩプログラム実行部４０３は、動画コンテンツに対する再生、停止、早送り、および巻き戻しを示す機能一覧を取得する。
【０１５５】
ＧＵＩプログラム実行部４０３は、能力記憶部４０８から取得した機能一覧が示す機能とＧＵＩデータが示す機能との差分である差分機能を抽出する（ステップＳ１５４）。例えば、ＧＵＩデータが示す機能には、動画コンテンツに対する早送りと巻き戻しがなく、クライアント装置４００の機能一覧が示す機能には、動画コンテンツに対する早送りと巻き戻しとがある。この場合、ＧＵＩプログラム実行部４０３は、動画コンテンツに対する早送りと巻き戻しの２つの機能（特殊再生機能）を差分機能として抽出する。なお、抽出される差分機能は特殊再生機能でなくてもかまわない。
【０１５６】
ＧＵＩプログラム実行部４０３は、表示する画面に、動画コンテンツに対する差分機能である早送りと巻き戻しを選択するための選択機能を割り当てる（ステップＳ１５６）。なお、割り当て方法は、表示する画面に動的にその選択機能の情報を追加してもよいし、既存のキーに割り当ててもよい。さらに、ＧＵＩプログラム実行部４０３は、ステップＳ１５６の選択機能が割り当てられた画面を用いて再生操作画面４０４ｃを生成し（ステップＳ１５８）、表示部４０４にその再生操作画面４０４ｃを表示させる（ステップＳ１６０）。このように、差分機能がある場合には、表示部４０４は図１９に示す再生操作画面４０４ｃを表示する。つまり、再生操作画面４０４ｃの動画制御領域ｃ１にボタンｃ２が追加され、このボタンｃ２に対して、差分機能である早送りを選択するための選択機能が割り当てられる。さらに、動画制御領域ｃ１にボタンｃ３が追加され、このボタンｃ３に対して、差分機能である巻き戻しを選択するための選択機能が割り当てられる。一方、差分機能がない場合には、表示部４０４は図１８に示す再生操作画面４０４ｂを表示する。
【０１５７】
図２２は、クライアント装置４００が動画コンテンツを通常再生する処理を示すシーケンス図である。
【０１５８】
クライアント機能部４０６は、図２１に示すステップＳ１４４で、コンテンツＩＤ＝１００の動画コンテンツの再生（ｆｕｎｃｔｉｏｎ＝動画再生）の要求が通知されると、サーバ装置５００のサーバ機能部５０２に対して、コンテンツＩＤ＝１００の動画コンテンツのストリームを要求する（ステップＳ１７０）。その結果、サーバ機能部５０２はその動画コンテンツのストリームを送信し（ステップＳ１７２）、クライアント機能部４０６はその送信された動画コンテンツのストリームを取得する（ステップＳ１７４）。クライアント機能部４０６は、取得した動画コンテンツのストリームをデコードし、表示部４０４が表示できる動画データに変換する（ステップＳ１７６）。クライアント機能部４０６は、表示部４０４へ、変換した動画データを出力して、図１９に示す再生操作画面４０４ｃの動画再生領域ｂ１に動画コンテンツの映像を表示させる（ステップＳ１７８）。
【０１５９】
図２３は、クライアント装置４００が動画コンテンツを早送りする処理を示すシーケンス図である。
【０１６０】
ユーザは、動画コンテンツを早送りするために、操作部４１１を操作することにより、図１９に示す再生操作画面４０４ｃのボタンｃ２を選択する。上述のように、ボタンｃ２には、差分機能である早送りを選択するための選択機能が割り当てられている。この場合、サーバ装置５００に存在しないがクライアント装置４００には存在する早送りという機能の利用がクライアント装置４００に要求される。
【０１６１】
その結果、操作部４１１は、差分機能である早送りの要求をＧＵＩプログラム実行部４０３に通知する（ステップＳ１９０）。ＧＵＩプログラム実行部４０３は、図２１のステップＳ１５４で抽出された差分機能のうち早送りを代替機能（代替動画早送り）として扱い、機能ディスパッチ部４０５に代替動画早送り（ｓｕｂＦｕｎｃｔｉｏｎ＝動画早送り）の要求を通知する（ステップＳ１９２）。機能ディスパッチ部４０５は、代替機能部４０７に代替動画早送り（ｓｕｂＦｕｎｃｔｉｏｎ＝動画早送り）の要求を通知する（ステップＳ１９４）。
【０１６２】
代替機能部４０７は、代替動画早送りの処理をクライアント機能部４０６に実行させるために必要な引数値を引数値推測部４１０に対して要求する（ステップＳ１９６）。引数値推測部４１０は、能力記憶部４０８に対して、代替動画早送りに関連する機能情報を問い合わせ（ステップＳ１９８）、その機能情報を取得する（ステップＳ２００）。ここでは、引数値推測部４１０は、図２１のステップＳ１４８で最近に格納された機能情報である再生（ｆｕｎｃｔｉｏｎ＝動画再生）を引数値として取得する。引数値推測部４１０は、その取得した引数値である再生（ｆｕｎｃｔｉｏｎ＝動画再生）を代替機能部４０７に出力し、代替機能部４０７はその再生（ｆｕｎｃｔｉｏｎ＝動画再生）を取得する（ステップＳ２０２）。
【０１６３】
さらに、引数値推測部４１０は、命令記憶部４０９に対して、その再生（ｆｕｎｃｔｉｏｎ＝動画再生）に対して最近に適用されたコンテンツＩＤを引数値として問い合わせ（ステップＳ２０４）、その結果、図２１のステップＳ１４６で最近に格納されたコンテンツＩＤ＝１００を得る（ステップＳ２０６）。引数値推測部４１０は、その取得した引数値であるコンテンツＩＤ＝１００を代替機能部４０７に出力し、代替機能部４０７はそのコンテンツＩＤ＝１００を取得する（ステップＳ２０８）。
【０１６４】
代替機能部４０７は、引数値推測部４１０から取得した引数値を結合し（ステップＳ２１０）、クライアント機能部４０６へ、コンテンツＩＤ＝１００の再生中の動画コンテンツに対する代替動画早送りの処理を要求する（ステップＳ２１２）。クライアント機能部４０６は、サーバ機能部５０２に対して、コンテンツＩＤ＝１００の動画コンテンツのストリームを要求し（ステップＳ２１４）、その動画コンテンツのストリームを取得する（ステップＳ２１６）。ここで取得した動画コンテンツのストリームは、早送り用の動画コンテンツのストリームではく、通常再生用の動画コンテンツのストリームである。
【０１６５】
クライアント機能部４０６は、取得した動画コンテンツのストリームを早送り用の動画データに変換する（ステップＳ２１８）。さらに、クライアント機能部４０６は、表示部４０４へ、早送り用の動画データを出力し（ステップＳ２２０）、図１９に示す再生操作画面４０４ｃの動画再生領域ｂ１に、早送り用の動画データの映像を表示させる（ステップＳ２２２）。
【０１６６】
このように、本実施の形態によれば、早送り機能がないサーバ装置５００から取得したＧＵＩデータによるＧＵＩ操作であっても、クライアント装置４００が早送り機能を代替することにより、早送り機能を実現することが可能となる。つまり、本実施の形態のクライアント装置４００は、サーバ装置５００から取得したＧＵＩデータに示されるサーバ装置５００の機能と、クライアント装置４００が有する機能とを比較し、クライアント装置４００にあってサーバ装置５００にない機能を差分機能として再生操作画面４０４ｃに表示し、その差分機能の選択を受け付ける。そして、クライアント装置４００は、その差分機能が選択されたときには、サーバ装置５００による差分機能の処理に代わって、クライアント装置４００自体がその差分機能に応じた処理を実行する。これにより、クライアント装置４００は、旧世代の機能の劣るサーバ装置５００から送信されるＧＵＩデータに関わらず、自らの全ての機能を利用することができる。
【０１６７】
なお、本発明に係るクライアント装置４００について、実施の形態２を用いて説明したが、本発明はこれらに限定されるものではない。
【０１６８】
例えば、本実施の形態では、動画コンテンツの早送りを例として示したが、クライアント装置４００は早送りだけに限らず、巻き戻し、２倍速再生、３倍速再生、ズームイン、ズームアウト、回転などの機能による処理を実行してもよい。例えば、クライアント装置４００は、巻き戻しが差分機能として選択されたときには、動画コンテンツにおける選択された位置のフレームから表示順で前方（過去）のフレームに向かって、各フレームの送信をサーバ装置５００に順次要求する。このとき、サーバ装置５００は、サーバ装置５００の通常の再生機能を用いて、動画コンテンツに含まれるフレームのうちクライアント装置４００から要求されたフレームだけを順次送信する。なお、クライアント装置４００の巻き戻しの処理は、上述のような処理に限らず、他の処理であってもよい。
【０１６９】
また、実施の形態２では、クライアント装置４００は動画コンテンツに対する機能の処理を実行したが、本発明に係るクライアント装置４００は、動画コンテンツの機能だけでなく、静止画コンテンツ、音楽および音声などに対する機能の処理を行ってもよいことは言うまでもない。また、実施の形態２の構成および処理動作と、実施の形態１およびその変形例１，２の構成および処理動作とを、矛盾のない範囲でどのように組み合わせてもよい。
【０１７０】
また、実施の形態１およびその変形例１の図３および図１１に示すサーバ装置１０２，１０２Ａ、または、実施の形態２の図１６に示すクライアント装置４００に含まれる全ての構成要素または一部の構成要素のみを、集積回路であるＬＳＩ（Large Scale Integrated circuit）として実現してもよい。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。例えばメモリ以外の機能ブロックが１チップ化されていてもよい。例えば、図３に示すサーバ装置１０２では、ＧＵＩプログラム保存部２０２および送信部２０３を除く他の構成要素をＬＳＩとして構成してもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１７１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサ を利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１７２】
また、実施の形態１およびその変形例１，２と実施の形態２の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１７３】
なお、本発明は、サーバ装置およびクライアント装置だけでなく、サーバ装置およびクライアント装置のそれぞれの処理方法、サーバ装置およびクライアント装置のそれぞれのプログラム、それぞれのプログラムを記録した記録媒体としても実現される。
【産業上の利用可能性】
【０１７４】
本発明にかかるサーバ装置は、接続されたクライアント装置との間で機能に差異がある場合でも、その差異を吸収することが可能になるため、サーバ装置としてクライアント装置に接続する、例えば、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、冷蔵庫、電子レンジ、および洗濯機などの組み込み機器に有用である。また、本発明に係るクライアント装置は、サーバ装置から取得したＧＵＩコンテンツから、サーバ装置が未対応である機能を利用することができるという効果を有し、クライアント装置としてサーバ装置に接続する、例えば、ＴＶ、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、ＦＡＸ、ＰＤＡ、ＰＣ、デジタルカメラ、冷蔵庫、電子レンジ、洗濯機などの組み込み機器に有用である。
【符号の説明】
【０１７５】
１００    家庭内ネットワーク
１０１    外部ネットワーク機器
１０２，１０２Ａ    サーバ装置
１０３，１０３Ａ    クライアント装置
１０７    動画用デコーダ
１０８    要求送信部
１０９    受信部
１１０    ＧＵＩプログラム保存部
１１１    ＧＵＩプログラム実行部
１１２    表示部
１１３    ＧＵＩ表示処理部
１１４    制御部
１１５    旧機器機能情報
１１６    解析部
１１７    静止画用デコーダ
２０１    要求受付部
２０２    ＧＵＩプログラム保存部
２０３    送信部
２０４    機器状態判定部
２０５    状態情報記憶部
２０６    機能情報記憶部
２０７，２０７Ａ    代替処理提供部
２０８    エラーメッセージ生成部
２０９    データ送信制御部
２１０    送信データ生成部
２１１    フレーム抽出部
２１２    動画用エンコーダ
２１３    コンテンツ保存部
２１４    変換部
２１５    静止画用エンコーダ
４００    クライアント装置
４０１    ＧＵＩデータ取得部
４０２    ＧＵＩデータ解析部
４０３    ＧＵＩプログラム実行部
４０４    表示部
４０５    機能ディスパッチ部
４０６    クライアント機能部
４０７    代替機能部
４０８    能力記憶部
４０９    命令記憶部
４１０    引数値推測部
５００    サーバ装置
５０１    ＧＵＩデータ管理部
５０２    サーバ機能部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアント装置に接続されるサーバ装置であって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、
前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、
前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、
前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部と
を備えるサーバ装置。
【請求項２】
前記サーバ装置は、さらに、
前記サーバ装置が有する少なくとも１つの機能を示す操作画面を表示する表示ステップと、前記少なくとも１つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのＧＵＩ（Graphical User Interface）プログラムを保持するＧＵＩプログラム保持部を備え、
前記送信部は、さらに、前記ＧＵＩプログラムを前記クライアント装置に送信し、
前記要求受付部は、前記クライアント装置による前記ＧＵＩプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付ける、
請求項１記載のサーバ装置。
【請求項３】
前記ＧＵＩプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する、
請求項２記載のサーバ装置。
【請求項４】
前記ＧＵＩプログラムは、前記サーバ装置が有する少なくとも１つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させる、
請求項２または３記載のサーバ装置。
【請求項５】
前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、
前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定する、
請求項１〜４の何れか１項に記載のサーバ装置。
【請求項６】
前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、
前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定する、
請求項１〜５の何れか１項に記載のサーバ装置。
【請求項７】
前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、
前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定する、
請求項１〜６の何れか１項に記載のサーバ装置。
【請求項８】
前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、
前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、
前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行する、
請求項１〜７の何れか１項に記載のサーバ装置。
【請求項９】
前記要求受付部は、前記要求処理ができることが前記判定結果に示されている場合に前記クライアント装置から生じる代替処理要求を、前記アクセス要求として受け付け、
前記代替処理提供部は、前記状態判定部によって前記要求処理ができると判定され、且つ、前記要求受付部によって前記代替処理要求が受け付けられた場合に、前記代替処理を実行する、
請求項８記載のサーバ装置。
【請求項１０】
前記送信部は、前記状態判定部によって前記要求処理ができると判定された場合には、前記判定結果とともに、前記代替処理を実行する代替処理用プログラムの場所を示す第１の記述子を前記クライアント装置に通知し、
前記要求受付部は、前記第１の記述子の示す場所へのアクセスの要求を、前記代替処理要求として受け付け、
前記代替処理提供部は、前記第１の記述子の示す場所にある前記代替処理用プログラムを実行することにより、前記代替処理を実行する、
請求項９記載のサーバ装置。
【請求項１１】
前記要求受付部は、前記要求処理ができないことが前記判定結果に示されている場合に前記クライアント装置から生じるエラー処理要求を、前記アクセス要求として受け付け、
前記代替処理提供部は、前記要求受付部によって前記エラー処理要求が受け付けられた場合には、前記代替処理の実行を禁止し、
前記サーバ装置は、さらに、
前記要求受付部によって前記エラー処理要求が受け付けられた場合に、エラーが生じたことを通知するためのエラーメッセージを前記クライアント装置に送信するエラーメッセージ生成部を備える、
請求項８記載のサーバ装置。
【請求項１２】
前記送信部は、前記状態判定部によって前記要求処理ができないと判定された場合には、前記判定結果とともに、前記エラー処理を実行するエラー処理用プログラムの場所を示す第２の記述子を前記クライアント装置に通知し、
前記要求受付部は、前記第２の記述子の示す場所へのアクセスの要求を、前記エラー処理要求として受け付け、
前記エラーメッセージ生成部は、前記第２の記述子の示す場所にある前記エラー処理用プログラムを実行することにより、前記エラーメッセージを前記クライアント装置に送信する、
請求項１１記載のサーバ装置。
【請求項１３】
前記状態判定部は、前記要求受信部によって前記アクセス要求が受け付けられた場合には、さらに、前記クライアント装置から通知される前記判定結果をチェックし、
前記代替処理提供部は、前記クライアント装置から通知される前記判定結果に、前記要求処理ができることが示されている場合に、前記代替処理を実行する、
請求項８記載のサーバ装置。
【請求項１４】
前記サーバ装置は、動画または静止画のデータであるコンテンツの再生に関する複数の機能を有し、
前記送信部は、前記複数の機能を示す前記操作画面の表示を前記クライアント装置に実行させるための前記ＧＵＩプログラムを前記クライアント装置に送信する、
請求項２記載のサーバ装置。
【請求項１５】
前記複数の機能には、再生、停止、早送り、巻き戻し、回転、拡大、および縮小のうちの少なくとも２つの機能が含まれる、
請求項１４記載のサーバ装置。
【請求項１６】
前記代替処理提供部は、前記早送りによる処理の要求が前記要求受付部で受け付けられた場合に、前記早送りに対応する代替処理を実行するときには、動画の前記データであるコンテンツからフレームを間引くことによって、前記コンテンツと異なる早送り用のコンテンツを生成する、
請求項１５記載のサーバ装置。
【請求項１７】
クライアント装置に接続されるサーバ装置が処理する方法であって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付け、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部を用い、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定し、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部を用い、
前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定し、
特定された代替処理を実行し、
前記代替処理の実行によって生成されたデータを前記クライアント装置に送信する
サーバ処理方法。
【請求項１８】
クライアント装置に接続されるサーバ装置で実行されるプログラムであって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付け、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部を用い、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定し、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部を用い、
前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定し、
特定された代替処理を実行し、
前記代替処理の実行によって生成されたデータを前記クライアント装置に送信する
ことを前記サーバ装置に実行させるプログラム。
【請求項１９】
クライアント装置に接続される集積回路であって、
前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、
前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、
前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、
前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、
前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、
前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と
を備える集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009153967.tif 000027
【図２】
2009153967.tif 000028
【図３】
2009153967.tif 000029
【図４】
2009153967.tif 000030
【図５】
2009153967.tif 000031
【図６】
2009153967.tif 000032
【図７】
2009153967.tif 000033
【図８Ａ】
2009153967.tif 000034
【図８Ｂ】
2009153967.tif 000035
【図９】
2009153967.tif 000036
【図１０】
2009153967.tif 000037
【図１１】
2009153967.tif 000038
【図１２】
2009153967.tif 000039
【図１３】
2009153967.tif 000040
【図１４】
2009153967.tif 000041
【図１５】
2009153967.tif 000042
【図１６】
2009153967.tif 000043
【図１７】
2009153967.tif 000044
【図１８】
2009153967.tif 000045
【図１９】
2009153967.tif 000046
【図２０】
2009153967.tif 000047
【図２１】
2009153967.tif 000048
【図２２】
2009153967.tif 000049
【図２３】
2009153967.tif 000050
【国際調査報告】
2009153967.tif 000051
2009153967.tif 000052
2009153967.tif 000053