本発明は、マルチディスプレイの技術に関する。
ある特許文献には、ユーザ端末で生成した画像を分割し、分割された画像のデータを複数の表示装置に出力することによって、複数の表示装置を用いた大画面に画像を表示させるマルチディスプレイ技術が開示されている。
この例では、ユーザ端末における処理負荷が過大になり、処理性能が低いユーザ端末には適用しにくい面があった。
特開2006−284990号公報
特開2003−271985号公報
本発明の目的は、一側面では、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することである。
一態様に係る表示方法は、全体画面の一部である表示面を提供する表示装置の各々を有する複数の表示制御装置及び情報処理装置のうち、当該情報処理装置が、(A)上記全体画面の座標系におけるウインドウの位置及びサイズを、各表示面の配置に従って、当該表示面の座標系における上記ウインドウの位置及びサイズに変換する処理と、(B)各表示面の座標系における位置及びサイズを、当該表示面に係る表示制御装置に送信する送信処理とを含む。更に、上記複数の表示制御装置の各々が、(C)端末からコンテンツデータを受信する受信処理と、(D)受信したコンテンツデータに基づいて描画した画像を、上記情報処理装置から受信した位置及びサイズに従って表示する表示処理とを含む。
一側面としては、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することができる。
図1は、本実施の形態に係るマルチディスプレイシステムの概要を示す図である。
図2は、ネットワーク構成例を示す図である。
図3は、ネットワーク構成例を示す図である。
図4は、ウインドウ生成のシーケンス例を示す図である。
図5は、ウインドウ生成のシーケンス例を示す図である。
図6は、ウインドウ移動のシーケンス例を示す図である。
図7は、ウインドウ拡大/縮小のシーケンス例を示す図である。
図8は、ウインドウ回転のシーケンス例を示す図である。
図9は、ウインドウ削除のシーケンス例を示す図である。
図10は、クライアント端末のモジュール構成例を示す図である。
図11は、クライアント端末の処理フロー例を示す図である。
図12は、クライアント端末の処理フロー例を示す図である。
図13は、サーバ装置のモジュール構成例を示す図である。
図14は、装置データの例を示す図である。
図15は、全体座標系について説明するための図である。
図16は、認証データの例を示す図である。
図17は、枠テーブルの例を示す図である。
図18は、全体座標系におけるウインドウ枠の位置を示す図である。
図19は、第1表示制御装置の表示座標系におけるウインドウ枠の位置を示す図である。
図20は、第2表示制御装置の表示座標系におけるウインドウ枠の位置を示す図である。
図21は、サーバ装置の処理フロー例を示す図である。
図22は、サーバ装置の処理フロー例を示す図である。
図23は、サーバ装置の処理フロー例を示す図である。
図24は、サーバ装置の処理フロー例を示す図である。
図25は、第1表示制御装置のモジュール構成例を示す図である。
図26は、第1受信データの例を示す図である。
図27は、第2受信データの例を示す図である。
図28は、第1表示制御装置の処理フロー例を示す図である。
図29は、第1表示制御装置の処理フロー例を示す図である。
図30は、実施の形態2に係るウインドウ移動のシーケンス例を示す図である。
図31は、クライアント端末のハードウエア構成例を示す図である。
図32は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、本実施の形態に係るマルチディスプレイシステムの概要を示す。この例では、ユーザが保持するクライアント端末101から送られたコンテンツデータ103に基づいて、左側の表示面105と右側の表示面107とが並べられた全体画面にコンテンツ画像109を表示させる。この例では、表示面を横に並べる例を示すが、表示面を縦に並べるようにしてもよい。また、マトリクス状に表示面を並べるようにしてもよい。
図2に、ネットワーク構成例を示す。第1表示制御装置201は、図1に示した左側の表示面105を提供する表示装置を有する。第2表示制御装置203は、図1に示した右側の表示面107を提供する表示装置を有する。サーバ装置205は、クライアント端末101と、各表示制御装置(この例では、第1表示制御装置201及び第2表示制御装置203)とを仲介し、主に各表示制御装置におけるウインドウ枠に関するデータを管理する。
表示装置は、例えば液晶ディスプレイ、プラズマディスプレイあるいはプロジェクタである。液晶ディスプレイ及びプラズマディスプレイの場合には、装置の表示画面が表示面である。プロジェクタの場合には、画像が投影されるスクリーンが表示面である。
第1表示制御装置201及び第2表示制御装置203は、第1ネットワークを介してサーバ装置205と接続している。第1ネットワークは、例えばLAN(Local Area Network)である。第1表示制御装置201及び第2表示制御装置203は、有線によって、あるいは無線によって第1ネットワークに接続している。サーバ装置205も、有線によって、あるいは無線によって第1ネットワークに接続している。
クライアント端末101は、第2ネットワークを介して、第1ネットワークに接続する機能を備えている。この例において、第2ネットワークはインターネットであり、クライアント端末101は、移動体通信網を介してインターネットに接続する機能を備えている。
図3に、別のネットワーク構成例を示す。クライアント端末101は、直接第1ネットワークに接続するようにしてもよい。クライアント端末101は、有線によって第1ネットワークに接続してもよいし、無線によって第1ネットワークに接続するようにしてもよい。
以下、マルチディスプレイシステムにおけるシーケンスについて説明する。まず、左側の表示面105と右側の表示面107とが並べられた全体画面上にウインドウを生成する場合のシーケンスについて説明する。
図4に、ウインドウ生成のシーケンス例を示す。クライアント端末101は、例えば、クライアント端末101で動作するブラウザを介してコンテンツデータ103を取得する(S401)。既にコンテンツデータ103を保持している場合には、コンテンツデータ103を取得する処理を省くようにしてもよい。この例で、コンテンツデータ103は、HTML(HyperText Markup Language)ファイルとCSS(Cascading Style Sheets)ファイルとを含んでいる。
コンテンツデータ103を取得すると、クライアント端末101は、サーバ装置205へウインドウ生成の要求を送信する(S403)。サーバ装置205は、ウインドウIDを生成し(S405)、更に認証キーを生成する(S407)。ウインドウIDは、生成されるウインドウを識別する。認証キーは、クライアント端末101を認証するために用いられる。但し、クライアント端末101を認証しない場合には、認証キーを生成しないようにしてもよい。
サーバ装置205は、生成するウインドウ枠について、全体座標系における位置、サイズ及び表示角度を決定する(S409)。全体座標系における位置、サイズ及び表示角度を決定する方法は、任意である。例えば、所定の位置、所定のサイズ及び所定の表示角度に決定するようにしてもよい。あるいは、既存のウインドウ枠と重複しないように、新たなウインドウ枠の位置、サイズ及び表示角度を決定するようにしてもよい。
サーバ装置205は、全体座標系におけるウインドウ枠の位置及びサイズを、左側の表示面105の表示座標系におけるウインドウ枠の位置及びサイズへ変換する(S411)。但し、ウインドウ枠の表示角度は、変更されない。尚、以下では、左側の表示面105の表示座標系を第1表示制御装置201の表示座標系という。また、位置、サイズ及び表示角度を枠データということもある。
サーバ装置205は、S405において生成したウインドウID、S407において生成した認証キー及びS411において変換された表示座標系の枠データを第1表示制御装置201へ送信する(S413)。
第2表示制御装置203についても同様に、サーバ装置205は、全体座標系におけるウインドウ枠の位置及びサイズを、右側の表示面107の表示座標系におけるウインドウ枠の位置及びサイズへ変換する(S415)。以下では、右側の表示面107の表示座標系を第2表示制御装置203の表示座標系という。
また、サーバ装置205は、S405において生成したウインドウID、S407において生成した認証キー及びS415において変換された表示座標系の枠データを第2表示制御装置203へ送信する(S417)。
以降のシーケンスは、端子A乃至Dを介して図5へ移る。サーバ装置205は、クライアント端末101へ許可データを送信する(S501)。この例で、サーバ装置205は、S403においてウインドウ生成を要求したクライアント端末101以外へは、同じ許可データを送らない。許可データには、ウインドウID、認証キー、第1表示制御装置201のIPアドレス及び第2表示制御装置203のIPアドレスが含まれる。第1表示制御装置201のIPアドレスは、クライアント端末101から第1表示制御装置201へデータを送信する場合に用いられる。第2表示制御装置203のIPアドレスは、クライアント端末101から第2表示制御装置203へデータを送信する場合に用いられる。
クライアント端末101は、許可データを受信すると、許可データに含まれるウインドウID、許可データに含まれる認証キー及び図4のS401において取得したコンテンツデータ103を第1表示制御装置201へ送信する(S503)。更に、クライアント端末101は、同じくウインドウID、認証キー及びコンテンツデータ103を第2表示制御装置203へ送信する(S505)。
まず、第1表示制御装置201におけるシーケンスについて説明する。S503においてウインドウID、認証キー及びコンテンツデータ103を受信すると、第1表示制御装置201は、ウインドウIDを検査する(S507)。つまり、第1表示制御装置201は、S503において受信したウインドウIDと、図4のS413において受信したウインドウIDとが一致するか否かを判定する。一致する場合には、検査結果が正常であるので、次の処理に移行する。一致しない場合には、検査結果がエラーであるので、処理を中断する。
ウインドウIDの検査結果が正常であれば、第1表示制御装置201は、クライアント端末101を認証する(S509)。つまり、第1表示制御装置201は、S503において受信した認証キーと、図4のS413において受信した認証キーとが一致するか否かを判定する。一致する場合には、認証結果が正常であるので、次の処理に移行する。一致しない場合には、認証結果がエラーであるので、処理を中断する。尚、クライアント端末101の認証は、省略してもよい。
クライアント端末101の認証が成功すると、第1表示制御装置201は、図4のS413において受信した枠データと、S503において受信したコンテンツデータ103とに基づいて、コンテンツ画像109を描画する(S511)。そして、第1表示制御装置201は、描画したコンテンツ画像109を表示装置によって左側の表示面105に表示させる(S513)。
次に、第2表示制御装置203におけるシーケンスについて説明する。S505においてウインドウID、認証キー及びコンテンツデータ103を受信すると、第2表示制御装置203は、ウインドウIDを検査する(S515)。つまり、第2表示制御装置203は、S505において受信したウインドウIDと、図4のS417において受信したウインドウIDとが一致するか否かを判定する。一致する場合には、検査結果が正常であるので、次の処理に移行する。一致しない場合には、検査結果がエラーであるので、処理を中断する。
ウインドウIDの検査結果が正常であれば、第2表示制御装置203は、クライアント端末101を認証する(S517)。つまり、第2表示制御装置203は、S505において受信した認証キーと、図4のS417において受信した認証キーとが一致するか否かを判定する。一致する場合には、認証結果が正常であるので、次の処理に移行する。一致しない場合には、認証結果がエラーであるので、処理を中断する。尚、クライアント端末101の認証は、省略するようにしてもよい。
クライアント端末101の認証が成功すると、第2表示制御装置203は、図4のS417において受信した枠データと、S505において受信したコンテンツデータ103とに基づいて、コンテンツ画像109を描画する(S519)。そして、第2表示制御装置203は、描画したコンテンツ画像109を表示装置によって右側の表示面107に表示させる(S521)。
次に、ウインドウを移動させる場合のシーケンスについて説明する。図6に、ウインドウ移動のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ移動の指示を受け付けると(S601)、サーバ装置205へウインドウ移動の要求を送信する(S603)。ウインドウ移動の要求は、ウインドウID及び移動ベクトルを含んでいる。
サーバ装置205は、ウインドウ移動の要求を受信すると、ウインドウ移動の要求に含まれるウインドウIDを検査する(S605)。つまり、サーバ装置205は、ウインドウ移動の要求に含まれるウインドウIDが、図4のS405において生成したウインドウIDと一致する場合には、検査結果が正常であるので、次の処理に移行する。一方、ウインドウ移動の要求に含まれるウインドウIDが、図4のS405において生成したウインドウIDと一致しない場合には、検査結果がエラーであるので、処理を中断する。
サーバ装置205は、S603において受信したウインドウ移動の要求に含まれる移動ベクトルに従って、全体座標系におけるウインドウ枠の位置を変更する(S607)。但し、ウインドウ枠のサイズ及び表示角度は、変更されない。
サーバ装置205は、同じく移動ベクトルに従って、第1表示制御装置201の表示座標系におけるウインドウ枠の位置を変更する(S609)。前述の通りウインドウ枠のサイズ及び表示角度は、変更されない。サーバ装置205は、第1表示制御装置201へ、ウインドウIDと、S609において変更された表示座標系の枠データとを送信する(S611)。
サーバ装置205は、同じく移動ベクトルに従って、第2表示制御装置203の表示座標系におけるウインドウ枠の位置を変更する(S613)。前述の通りウインドウ枠のサイズ及び表示角度は、変更されない。サーバ装置205は、第2表示制御装置203へ、ウインドウIDと、S613において変更された表示座標系の枠データとを送信する(S615)。
第1表示制御装置201は、S611において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S617)。そして、第1表示制御装置201は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S619)。
第2表示制御装置203も、同様に、S615において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S621)。そして、第2表示制御装置203は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S623)。
次に、ウインドウを拡大又は縮小させる場合のシーケンスについて説明する。尚、以下では、ウインドウの拡大又は縮小を、ウインドウ拡大/縮小と記す。図7に、ウインドウ拡大/縮小のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ拡大/縮小の指示を受け付けると(S701)、サーバ装置205へウインドウ拡大/縮小の要求を送信する(S703)。ウインドウ拡大/縮小の要求は、ウインドウID及び拡大/縮小率を含んでいる。
サーバ装置205は、ウインドウ拡大/縮小の要求を受信すると、前述した通りウインドウ拡大/縮小の要求に含まれるウインドウIDを検査する(S705)。
サーバ装置205は、S703において受信したウインドウ拡大/縮小の要求に含まれる拡大/縮小率に従って、全体座標系におけるウインドウ枠の位置及びサイズを変更する(S707)。但し、ウインドウ枠の表示角度は、変更されない。
サーバ装置205は、同じく拡大/縮小率に従って、第1表示制御装置201の表示座標系におけるウインドウ枠の位置及びサイズを変更する(S709)。前述の通りウインドウ枠の表示角度は、変更されない。サーバ装置205は、第1表示制御装置201へウインドウIDと、S709において変更された表示座標系の枠データとを送信する(S711)。
サーバ装置205は、同じく拡大/縮小率に従って、第2表示制御装置203の表示座標系におけるウインドウ枠の位置及びサイズを変更する(S713)。前述の通りウインドウ枠の表示角度は、変更されない。サーバ装置205は、第2表示制御装置203へウインドウIDと、S713において変更された表示座標系の枠データとを送信する(S715)。
第1表示制御装置201は、S711において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置及びサイズを変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S717)。そして、第1表示制御装置201は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S719)。
第2表示制御装置203も、同様に、S715において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置及びサイズを変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S721)。そして、第2表示制御装置203は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S723)。
次に、ウインドウを回転させる場合のシーケンスについて説明する。図8に、ウインドウ回転のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ回転の指示を受け付けると(S801)、サーバ装置205へウインドウ回転の要求を送信する(S803)。ウインドウ回転の要求は、ウインドウID及び回転角度を含んでいる。
サーバ装置205は、ウインドウ回転の要求を受信すると、前述した通りウインドウ回転の要求に含まれるウインドウIDを検査する(S805)。
サーバ装置205は、S803において受信したウインドウ回転の要求に含まれる回転角度に従って、全体座標系におけるウインドウ枠の表示角度を変更する(S807)。但し、ウインドウ枠の位置及びサイズは、変更されない。
サーバ装置205は、同じく回転角度に従って、第1表示制御装置201の表示座標系におけるウインドウ枠の表示角度を変更する(S809)。前述の通りウインドウ枠の位置及びサイズは、変更されない。サーバ装置205は、第1表示制御装置201へウインドウIDと、S809において変更された表示座標系の枠データとを送信する(S811)。
サーバ装置205は、同じく回転角度に従って、第2表示制御装置203の表示座標系におけるウインドウ枠の表示角度を変更する(S813)。前述の通りウインドウ枠の位置及びサイズは、変更されない。サーバ装置205は、第2表示制御装置203へウインドウIDと、S813において変更された表示座標系の枠データとを送信する(S815)。
第1表示制御装置201は、S811において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の表示角度を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S817)。そして、第1表示制御装置201は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S819)。
第2表示制御装置203も、同様に、S815において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の表示角度を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S821)。そして、第2表示制御装置203は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S823)。
次に、ウインドウを削除する場合のシーケンスについて説明する。図9に、ウインドウ削除のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ削除の指示を受け付けると(S901)、サーバ装置205へウインドウ削除の要求を送信する(S903)。ウインドウ削除の要求は、ウインドウIDを含んでいる。クライアント端末101は、削除するウインドウに関するデータを削除する(S905)。削除するデータについては、後述する。
サーバ装置205は、ウインドウ削除の要求を受信すると、前述した通りウインドウ削除の要求に含まれるウインドウIDを検査する(S907)。サーバ装置205は、第1表示制御装置201へウインドウIDを含む削除指示を送信する(S909)。更に、サーバ装置205は、第2表示制御装置203へウインドウIDを含む削除指示を送信する(S911)。そして、サーバ装置205は、削除するウインドウに関するデータを削除する(S913)。削除するデータについては、後述する。
第1表示制御装置201は、ウインドウIDを含む削除指示を受信すると、当該ウインドウIDによって特定されるウインドウ枠内に描画されていたコンテンツ画像109を消去する(S914)。具体的には、第1表示制御装置201は、上位レイヤに相当するコンテンツ画像109を除く。そして、第1表示制御装置201は、当該ウインドウIDによって特定されるウインドウに関するデータを削除する(S915)。
第2表示制御装置203も、同様に、ウインドウIDを含む削除指示を受信すると、当該ウインドウIDによって特定されるウインドウ枠内に描画されていたコンテンツ画像109を消去する(S916)。そして、第2表示制御装置203も、同様に当該ウインドウIDによって特定されるウインドウに関するデータを削除する(S917)。以上で、シーケンスについての説明を終える。
次に、クライアント端末101の動作について説明する。図10に、クライアント端末101のモジュール構成例を示す。クライアント端末101は、ブラウザ1001、取得部1003、第1送信部1005、第1受信部1007、受付部1009、算出部1011、第1削除部1013、コンテンツデータ記憶部1015及び許可データ記憶部1017を有している。
ブラウザ1001は、コンテンツデータ103(この例では、HTMLファイルとCSSファイル)を受信し、コンテンツデータ103に基づくコンテンツ画像を表示する。取得部1003は、ブラウザ1001からコンテンツデータ103を取得する。第1送信部1005は、第1表示制御装置201、第2表示制御装置203及びサーバ装置205へ各種データを送信する。第1受信部1007は、サーバ装置205から許可データを受信する。受付部1009は、クライアント端末101のユーザインターフェースを用いてユーザの指示を受け付ける。算出部1011は、ウインドウ移動における移動ベクトル、ウインドウ拡大/縮小における拡大/縮小率及びウインドウ回転における回転角度を算出する。第1削除部1013は、不要になったデータを削除する。コンテンツデータ記憶部1015は、コンテンツデータ103を記憶する。許可データ記憶部1017は、許可データを記憶する。
上述したブラウザ1001、取得部1003、第1送信部1005、第1受信部1007、受付部1009、算出部1011及び第1削除部1013は、ハードウエア資源(例えば、図31)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したコンテンツデータ記憶部1015及び許可データ記憶部1017は、ハードウエア資源(例えば、図31)を用いて実現される。
クライアント端末101の処理について説明する。図11及び図12に、クライアント端末101の処理フロー例を示す。取得部1003は、ブラウザ1001からコンテンツデータ103を取得する(S1101)。あるいは、取得部1003は、コンテンツデータ記憶部1015に予め記憶しているコンテンツデータ103を取得するようにしてもよい。
第1送信部1005は、サーバ装置205へウインドウ生成の要求を送信する(S1103)。第1受信部1007は、サーバ装置205から許可データを受信する(S1105)。許可データには、上述したように、ウインドウID、認証キー、第1表示制御装置201のIPアドレス及び第2表示制御装置203のIPアドレスが含まれる。第1受信部1007は、受信した許可データを許可データ記憶部1017に記憶する。
第1送信部1005は、許可データに含まれるウインドウIDと、許可データに含まれる認証キー及びS1101で取得したコンテンツデータ103を各表示制御装置へ送信する(S1107)。この例では、第1送信部1005は、上述したデータを第1表示制御装置201のIPアドレス宛に送信すると共に、更に第2表示制御装置203のIPアドレス宛に送信する。
その後、受付部1009は、待機して、クライアント端末101のユーザインターフェースを用いてユーザの指示を受け付ける(S1109)。受付部1009は、受け付けた指示がウインドウ移動の指示であるか否かを判定する(S1111)。
受け付けた指示がウインドウ移動の指示であると判定した場合には、算出部1011は、移動ベクトルを算出する(S1113)。算出部1011は、例えば、タッチパネルにおけるタッチ位置のスライドの方向及び量に基づいて、移動ベクトルを求める。あるいは、算出部1011は、タッチされた移動ボタンの種類及びタッチ回数に基づいて、移動ベクトルを求める。
第1送信部1005は、サーバ装置205へウインドウ移動の要求を送信する(S1115)。ウインドウ移動の要求には、S1105において受信した許可データに含まれるウインドウIDと、S1113において算出された移動ベクトルとが含まれる。そして、S1109に示した処理に戻って、上述した処理を繰り返す。
一方、S1111において、S1109において受け付けた指示がウインドウ移動の指示ではないと判定した場合には、受付部1009は、S1109において受け付けた指示がウインドウ拡大/縮小の指示であるか否かを判定する(S1117)。
S1109において受け付けた指示がウインドウ拡大/縮小の指示であると判定した場合には、算出部1011は、拡大/縮小率を算出する(S1119)。算出部1011は、例えば、タッチパネルにおけるピンチの量に基づいて、拡大/縮小率を求める。あるいは、算出部1011は、タッチされた拡大ボタンあるいは縮小ボタンのタッチ回数に基づいて、拡大/縮小率を求める。
第1送信部1005は、サーバ装置205へウインドウ拡大/縮小の要求を送信する(S1121)。ウインドウ拡大/縮小の要求には、S1105において受信した許可データに含まれるウインドウIDと、S1119において算出された拡大/縮小率とが含まれる。そして、S1109に示した処理に戻って、上述した処理を繰り返す。
一方、S1117において、S1109において受け付けた指示がウインドウ拡大/縮小の指示ではないと判定した場合には、端子Eを介して図12に示したS1201の処理に移る。
図12の説明に移る。受付部1009は、図11のS1109において受け付けた指示がウインドウ回転の指示であるか否かを判定する(S1201)。図11のS1109において受け付けた指示がウインドウ回転の指示であると判定した場合には、算出部1011は、回転角度を算出する(S1203)。算出部1011は、例えば、タッチされた右回転ボタンあるいは左回転ボタンのタッチ回数に基づいて、回転角度を求める。
第1送信部1005は、サーバ装置205へウインドウ回転の要求を送信する(S1205)。ウインドウ回転の要求には、図11のS1105において受信した許可データに含まれるウインドウIDと、S1203において算出された回転角度とが含まれる。そして、端子Fを介して、図11のS1109に示した処理に戻って、上述した処理を繰り返す。
一方、S1201において、図11のS1109において受け付けた指示がウインドウ回転の指示ではないと判定した場合には、受付部1009は、図11のS1109において受け付けた指示がウインドウ削除の指示であるか否かを判定する(S1207)。
図11のS1109において受け付けた指示がウインドウ削除の指示であると判定した場合には、第1送信部1005は、サーバ装置205へウインドウ削除の要求を送信する(S1209)。ウインドウ削除の要求には、図11のS1105において受信した許可データに含まれるウインドウIDが含まれる。
そして、第1削除部1013は、許可データ記憶部1017に記憶している許可データを削除する(S1211)。このとき、第1削除部1013は、コンテンツデータ記憶部1015に記憶しているコンテンツデータ103を削除するようにしてもよい。そして、クライアント端末101の処理を終える。
一方、S1207において、図11のS1109において受け付けた指示がウインドウ削除の指示ではないと判定した場合には、無効な指示であると看做して、端子Fを介して、図11のS1109に示した処理に戻って、上述した処理を繰り返す。以上で、クライアント端末101の動作についての説明を終える。
次に、サーバ装置205の動作について説明する。図13に、サーバ装置205のモジュール構成例を示す。サーバ装置205は、第2受信部1301、生成部1303、決定部1305、変換部1307、第2送信部1309、第1検査部1311、変更部1313、第2削除部1315、装置データ記憶部1317、認証データ記憶部1319及び枠テーブル記憶部1321を有している。
第2受信部1301は、クライアント端末101から各種の要求を受信する。生成部1303は、ウインドウID及び認証キーを生成する。決定部1305は、全体座標系におけるウインドウ枠の位置、サイズ及び表示角度を決定する。変換部1307は、全体座標系におけるウインドウ枠の位置及びサイズを、各表示制御装置の表示座標系におけるウインドウ枠の位置及びサイズへ変換する。第2送信部1309は、クライアント端末101、第1表示制御装置201及び第2表示制御装置203へ各種データを送信する。第1検査部1311は、各種の要求に含まれるウインドウIDを検査する。変更部1313は、各種の要求に応じて、全体座標系の枠データ及び表示座標系の枠データを変更する。第2削除部1315は、不要になったデータを削除する。
装置データ記憶部1317は、第1表示制御装置201及び第2表示制御装置203に関するデータを記憶する。認証データ記憶部1319は、クライアント端末101を認証するためのデータを記憶する。枠テーブル記憶部1321は、ウインドウ枠に関するデータを記憶する。
上述した第2受信部1301、生成部1303、決定部1305、変換部1307、第2送信部1309、第1検査部1311、変更部1313及び第2削除部1315は、ハードウエア資源(例えば、図32)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した装置データ記憶部1317、認証データ記憶部1319及び枠テーブル記憶部1321は、ハードウエア資源(例えば、図32)を用いて実現される。
続いて、装置データ記憶部1317において記憶される装置データについて説明する。図14に、装置データの例を示す。この例における装置データは、テーブル形式である。但し装置データは、テーブル形式以外の形式であってもよい。
この例における装置データは、表示制御装置に対応するレコードを有している。装置データのレコードは、表示制御装置IDを設定するためのフィールドと、表示制御装置のIPアドレスを設定するためのフィールドと、原点の位置を設定するためのフィールドとを有している。原点の位置は、全体座標系において、当該表示制御装置の表示座標系の原点が該当する点を示している。つまり、原点の位置は、全体画面における当該表示制御装置の配置を特定するデータである。
この例における第1レコードは、第1表示制御装置201に対応する。第1レコードは、表示制御装置ID「D1」で特定される表示制御装置のIPアドレスは、「xxx.xxx.xxx.1」であることを示している。更に、第1レコードは、当該表示制御装置の表示座標系の原点は、全体座標系における位置(0,0)に該当することを示している。
この例における第2レコードは、第2表示制御装置203に対応する。第2レコードは、表示制御装置ID「D2」で特定される表示制御装置のIPアドレスは、「xxx.xxx.xxx.2」であることを示している。更に、第2レコードは、当該表示制御装置の表示座標系の原点は、全体座標系における位置(2000,0)に該当することを示している。
ここで、図15を用いて、全体座標系について説明する。全体座標系は、全体画面における座標系である。この例で、全体座標系の原点は、全体画面の左上端点である。下方向にY軸が設定され、右方向にX軸が設定される。この例で、全体画面の幅は4000(ドット)であり、高さは3000(ドット)である。従って、全体画面の右下端点の座標は、(4000,3000)である。
上述したように、この例における全体画面では、左側の表示面105と右側の表示面107とが並べられている。左側の表示面105の基準点、つまり左側の表示面105の表示座標系における原点は、全体座標系における原点(0,0)と一致する。また、右側の表示面107の基準点、つまり右側の表示面107の表示座標系における原点は、全体座標系における位置(2000,0)に相当する。
続いて、認証データ記憶部1319において記憶される認証データについて説明する。図16に、認証データの例を示す。この例における認証データは、テーブル形式である。但し認証データは、テーブル形式以外の形式であってもよい。
この例における認証データは、ウインドウに対応するレコードを有している。認証データのレコードは、ウインドウを識別するウインドウIDを設定するためのフィールドと、認証キーを設定するためのフィールドとを有している。認証キーは、当該ウインドウの生成を要求したクライアント端末101を認証するために用いられる。
この例における第1レコードは、ウインドウID「W1」で識別されるウインドウの生成を要求したクライアント端末101に対して、認証キー「xxxx」が付与されていることを示している。複数のウインドウが生成される場合には、複数のレコードが設けられる。
続いて、枠テーブル記憶部1321に記憶される枠テーブルについて説明する。枠テーブルには、各座標系における枠データが設定される。枠データは、テーブル形式以外の形式で保持されるようにしてもよい。
図17に、枠テーブルの例を示す。枠テーブル記憶部1321は、ウインドウIDに対応付けて枠テーブルを記憶する。この例では、枠テーブルのヘッダ部において、ウインドウIDを保持する。この例における枠テーブルは、各座標系に対応するレコードを有している。枠データのレコードは、ウインドウ枠の位置を設定するためのフィールドと、ウインドウ枠のサイズを設定するためのフィールドと、ウインドウ枠の表示角度を設定するためのフィールドとを有している。
ウインドウ枠の位置は、ウインドウ枠の基準点を指すX座標とY座標とによって特定される。この例では、ウインドウ枠の左上端点が基準点である。ウインドウ枠のサイズは、幅と高さによって特定される。通常の表示形態におけるウインドウ枠の表示角度は、0度である。尚、ウインドウ枠における他の点(例えば、重心)を、ウインドウ枠の基準点としてもよい。
この例において、枠テーブルの第1レコードには、全体座標系の枠データが設定される。同じく枠テーブルの第2レコードには、第1表示制御装置201の表示座標系の枠データが設定される。同じく枠テーブルの第3レコードには、第2表示制御装置203の表示座標系の枠データが設定される。
この例における枠テーブルの第1レコードは、ウインドウID「W1」によって識別されるウインドウの枠が、全体座標系における位置(1000,500)に、幅「2000」と高さ「2000」とのサイズ及び表示角度「0」で設定されることを示している。また、ウインドウID「W1」によって識別されるウインドウの枠が、第1表示制御装置201の表示座標系における位置(1000,500)に、幅「2000」と高さ「2000」とのサイズ及び表示角度「0」で設定されることを示している。更に、ウインドウID「W1」によって識別されるウインドウの枠が、第2表示制御装置203の表示座標系における位置(−1000,500)に、幅「2000」と高さ「2000」とのサイズ及び表示角度「0」で設定されることを示している。複数のウインドウが生成される場合には、複数の枠テーブルが設けられる。
図18を用いて、全体座標系におけるウインドウ枠の位置について説明する。この例におけるコンテンツ画像109を表示するウインドウ枠の幅は、2000(ドット)である。同じくウインドウ枠の高さも、2000(ドット)である。そして、左上端点は、全体座標系における位置(1000,500)に該当する。つまり、全体座標系における位置(1000,500)に、ウインドウ枠の基準点が設定されている。右下端点は、全体座標系における位置(3000,2500)に該当する。
図19を用いて、第1表示制御装置201の表示座標系におけるウインドウ枠の位置について説明する。上述したように、第1表示制御装置201の表示座標系は、図1に示した左側の表示面105の表示座標系を意味する。左側の表示面105の幅は、2000(ドット)であり、左側の表示面105の高さは、3000(ドット)である。そして、コンテンツ画像109を表示するウインドウ枠の基準点(この例では、ウインドウ枠の左上端点)は、第1表示制御装置201の表示座標系における位置(1000,500)に該当する。尚、コンテンツ画像109を表示するウインドウ枠の右下端点は、第1表示制御装置201の表示座標系における位置(3000,2500)に該当する。
図20を用いて、第2表示制御装置203の表示座標系におけるウインドウ枠の位置について説明する。上述したように、第2表示制御装置203の表示座標系は、図1に示した右側の表示面107の表示座標系を意味する。右側の表示面107の幅は、2000(ドット)であり、右側の表示面107の高さは、3000(ドット)である。そして、コンテンツ画像109を表示するウインドウ枠の基準点(この例では、ウインドウ枠の左上端点)は、第2表示制御装置203の表示座標系における位置(−1000,500)に該当する。尚、コンテンツ画像109を表示するウインドウ枠の右下端点は、第2表示制御装置203の表示座標系における位置(1000,2500)に該当する。
続いて、サーバ装置205における処理について説明する。図21乃至図24に、サーバ装置205の処理フロー例を示す。図21乃至図24に示す処理は、クライアント端末101からウインドウ生成の要求を受信した場合に、起動する。そして、生成したウインドウが削除された時点で、この処理は終了する。また、複数のウインドウが生成される場合には、それぞれのウインドウに対応する処理が並行して実行される。
第2受信部1301が、クライアント端末101からウインドウ生成の要求を受信すると(S2101)、生成部1303は、ウインドウIDを生成する(S2103)。生成されるウインドウIDは、既存のウインドウIDと異なる。つまり、ウインドウIDは、一意である。
次に、生成部1303は、ウインドウIDに対応する認証キーを生成する(S2105)。生成される認証キーは、既存の認証キーと異なる。つまり、認証キーは、一意である。生成部1303は、S2105において生成された認証キーを、S2103において生成されたウインドウIDに対応付けて認証データ記憶部1319に記憶する。具体的には、認証データの新たなレコードに、当該ウインドウIDと当該認証キーとが設定される。
尚、クライアント端末101の認証を省く場合には、認証キーを生成しなくてもよい。この場合には、生成部1303は、S2103において生成されたウインドウIDを認証データ記憶部1319に記憶する。
決定部1305は、全体座標系におけるウインドウ枠の位置、サイズ及び表示角度を決定する(S2107)。上述したように、全体座標系における位置、サイズ及び表示角度を決定する方法は、任意である。決定部1305は、例えば、所定の位置、所定のサイズ及び所定の表示角度を用いてもよい。また、決定部1305は、既存のウインドウ枠と重複しないように、新たなウインドウ枠の位置、サイズ及び表示角度を決定するようにしてもよい。全体座標系におけるウインドウ枠の位置、サイズ及び表示角度は、枠テーブルの第1レコードに設定される。
変換部1307は、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2109)。この例では、変換部1307は、第1表示制御装置201に対する処理と、第2表示制御装置203に対する処理とを行う。3つ以上の表示制御装置を用いる場合には、変換部1307は、3つ以上の表示制御装置の夫々に対して以下の処理を行う。
変換部1307は、全体座標系におけるウインドウ枠の位置及びサイズを、当該表示制御装置の表示座標系におけるウインドウ枠の位置、サイズへ変換する(S2111)。このとき、変換部1307は、アフィン変換によって、表示座標系におけるウインドウ枠の位置を求める。この例では、表示座標系におけるウインドウ枠のサイズは、全体座標系におけるウインドウ枠のサイズと等しい。但し、表示座標系における画素密度が、全体座標系における画素密度と異なる場合には、変換部1307は、全体座標系におけるウインドウ枠のサイズに画素密度の比率を乗じて、表示座標系におけるウインドウ枠のサイズを求めるようにしてもよい。変換部1307は、アフィン変換の結果に基づいてウインドウ枠のサイズを求めるようにしてもよい。
簡易的に、変換部1307は、全体座標系におけるウインドウ枠の位置のX座標から、上記原点の位置のX座標を引くことによって、表示座標系におけるウインドウ枠の位置のX座標を求めるようにしてもよい。同じく変換部1307は、全体座標系におけるウインドウ枠の位置のY座標から、上記原点の位置のY座標を引くことによって、表示座標系におけるウインドウ枠の位置のY座標を求めるようにしてもよい。
この例で、図14に示したように第1表示制御装置201に関する上記原点の位置は(0,0)であるので、図17に示したように第1表示制御装置201の表示座標系におけるウインドウ枠の位置は、全体座標系におけるウインドウ枠の位置と同じである。また、同じく第2表示制御装置203に関する上記原点の位置は(2000,0)であるので、第2表示制御装置203の表示座標系におけるウインドウ枠の位置のX座標は、全体座標系におけるウインドウ枠の位置のX座標から2000を引いた値となる。一方、第2表示制御装置203の表示座標系におけるウインドウ枠の位置のY座標は、全体座標系におけるウインドウ枠の位置のY座標と同じである。尚、アフィン変換による位置の算出及び画素密度の比率に基づくサイズの算出は、従来技術による。
尚、表示座標系におけるウインドウ枠の表示角度は、全体座標系におけるウインドウ枠の表示角度と同じである。S2109において特定した表示制御装置の表示座標系におけるウインドウ枠の位置、サイズ及び表示角度は、上述したように、枠テーブルの第2レコード又は第3レコードに設定される。
第2送信部1309は、S2103で生成したウインドウID及びS2111において求められた表示座標系の枠データを、S2109において特定した表示制御装置へ送信する(S2113)。このとき、あて先となる表示制御装置のIPアドレスは、装置データに基づいて特定される。
変換部1307は、未処理の表示制御装置があるか否かを判定する(S2115)。未処理の表示制御装置があると判定した場合には、S2109に戻って、上述した処理を繰り返す。
未処理の表示制御装置がないと判定した場合には、第2送信部1309は、クライアント端末101へ許可データを送信する(S2117)。許可データには、S2103において生成されたウインドウID、S2105において生成された認証キー、装置データのレコードに設定されている第1表示制御装置201のIPアドレス及び第2表示制御装置203のIPアドレスが含まれる。そして、端子Gを介して、図22に示したS2201の処理に移る。
図22の説明に移る。第2受信部1301は、待機して、クライアント端末101から各種の要求を受信する(S2201)。クライアント端末101から要求を受信すると、第1検査部1311は、要求に含まれるウインドウIDを検査する(S2203)。具体的には、第1検査部1311は、要求に含まれるウインドウIDが、認証データに含まれるウインドウIDのいずれかと一致するか否かを判定する。要求に含まれるウインドウIDが、認証データに含まれるウインドウIDのいずれかと一致すると判定した場合には、検査結果は正常となる。要求に含まれるウインドウIDが、認証データに含まれるウインドウIDのいずれとも一致しないと判定した場合には、検査結果はエラーとなる。検査結果がエラーとなった場合には、第2送信部1309は、検査結果がエラーとなった旨をクライアント端末101に送信して、S2201に示した処理に戻る。
検査結果が正常となった場合には、変更部1313は、S2201において受信した要求が、ウインドウ移動の要求であるか否かを判定する(S2205)。S2201において受信した要求が、ウインドウ移動の要求であると判定した場合には、変更部1313は、ウインドウ移動の要求に含まれる移動ベクトルに基づいて、全体座標系におけるウインドウ枠の位置を変更する(S2207)。具体的には、変更部1313は、枠テーブルの第1レコードに設定されている位置のX座標に、移動ベクトルのX成分を加え、更に当該位置のY座標に、移動ベクトルのY成分を加える。
次に、変更部1313は、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2209)。この例では、変更部1313は、第1表示制御装置201に対する処理と、第2表示制御装置203に対する処理とを行う。3つ以上の表示制御装置を用いる場合には、変更部1313は、3つ以上の表示制御装置の夫々に対して以下の処理を行う。
変更部1313は、S2207において変更した、全体座標系におけるウインドウ枠の位置に基づいて、S2209において特定した表示制御装置の表示座標系におけるウインドウ枠の位置を変更する(S2211)。当該表示制御装置の表示座標系におけるウインドウ枠の位置は、上述したように、全体座標系におけるウインドウ枠の位置をアフィン変換することによって求められる。尚、アフィン変換によれば、全体座標系における画素密度と表示座標系における画素密度が異なる場合にも、画素密度の違いに応じて当該表示制御装置の表示座標系におけるウインドウ枠の位置が求められる。
第2送信部1309は、ウインドウ移動の要求に含まれるウインドウID及びS2209において特定した表示制御装置の表示座標系の枠データを当該表示制御装置へ送信する(S2213)。このとき、あて先となる表示制御装置のIPアドレスは、装置データに基づいて特定される。
変更部1313は、未処理の表示制御装置があるか否かを判定する(S2215)。未処理の表示制御装置があると判定した場合には、S2209に戻って、上述した処理を繰り返す。未処理の表示制御装置がないと判定した場合には、S2201に戻って、上述した処理を繰り返す。
S2205における処理の説明に戻る。S2205において、S2201において受信した要求が、ウインドウ移動の要求ではないと判定した場合には、端子Hを介して、図23に示したS2301の処理に移る。
図23の説明に移る。変更部1313は、図22のS2201において受信した要求が、ウインドウ拡大/縮小の要求であるか否かを判定する(S2301)。図22のS2201において受信した要求が、ウインドウ拡大/縮小の要求であると判定した場合には、変更部1313は、ウインドウ拡大/縮小の要求に含まれる拡大/縮小率に基づいて、全体座標系におけるウインドウ枠の位置及びサイズを変更する(S2303)。
ウインドウ枠の左上端点を固定して拡大又は縮小する方式の場合には、ウインドウ枠の位置は変更されない。変更部1313は、ウインドウ枠のサイズの幅に、拡大/縮小率を乗じて新たな幅を求める。更に、変更部1313は、ウインドウ枠のサイズの高さに、拡大/縮小率を乗じて新たな高さを求める。
ウインドウ枠の重心を固定して拡大又は縮小する方式の場合には、変更部1313は、ウインドウ枠のサイズの幅に、拡大/縮小率を乗じて新たな幅を求める。更に、変更部1313は、ウインドウ枠のサイズの高さに、拡大/縮小率を乗じて新たな高さを求める。そして、変更部1313は、幅の変化量の半分を、ウインドウ枠の位置のX座標から減ずる。更に、変更部1313は、高さの変化量の半分を、ウインドウ枠の位置のY座標から減ずる。尚、他の方式によって、全体座標系におけるウインドウ枠の位置及びサイズを求めるようにしてもよい。
次に、変更部1313は、図22に示したS2209の場合と同様に、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2305)。
変更部1313は、S2303において変更した、全体座標系におけるウインドウ枠の位置及びサイズに基づいて、S2305において特定した表示制御装置の表示座標系におけるウインドウ枠の位置及びサイズを変更する(S2307)。当該表示制御装置の表示座標系におけるウインドウ枠の位置は、上述したように、全体座標系におけるウインドウ枠の位置をアフィン変換することによって求められる。尚、表示座標系におけるウインドウ枠のサイズは、全体座標系におけるウインドウ枠のサイズと同じである。また、表示座標系におけるウインドウ枠の表示角度は、変更されない。
第2送信部1309は、図22に示したS2213の処理と同様に、ウインドウ拡大/縮小の要求に含まれるウインドウID及び当該表示制御装置の表示座標系の枠データを当該表示制御装置へ送信する(S2309)。
変更部1313は、未処理の表示制御装置があるか否かを判定する(S2311)。未処理の表示制御装置があると判定した場合には、S2305に戻って、上述した処理を繰り返す。未処理の表示制御装置がないと判定した場合には、端子Gを介してS2201に戻って、上述した処理を繰り返す。
S2301における処理の説明に戻る。S2301において、図22のS2201において受信した要求が、ウインドウ拡大/縮小の要求ではないと判定した場合には、変更部1313は、図22のS2201において受信した要求が、ウインドウ回転の要求であるか否かを判定する(S2313)。
図22のS2201において受信した要求が、ウインドウ回転の要求であると判定した場合には、変更部1313は、ウインドウ回転の要求に含まれる回転角度に基づいて、全体座標系におけるウインドウ枠の表示角度を変更する(S2315)。具体的には、変更部1313は、全体座標系におけるウインドウ枠の表示角度に当該回転角度を加えて、新たな表示角度を求める。尚、全体座標系におけるウインドウ枠の位置及びサイズは、変更されない。
次に、変更部1313は、図22に示したS2209の場合と同様に、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2317)。
変更部1313は、S2315において変更した、全体座標系におけるウインドウ枠の表示角度に基づいて、S2317において特定した表示制御装置の表示座標系におけるウインドウ枠の表示角度を変更する(S2319)。当該表示制御装置の表示座標系におけるウインドウ枠の表示角度は、全体座標系におけるウインドウ枠の表示角度と同じである。尚、表示座標系におけるウインドウ枠の位置及びサイズは、変更されない。
第2送信部1309は、図22に示したS2213の処理と同様に、ウインドウ回転の要求に含まれるウインドウID及び当該表示制御装置の表示座標系の枠データを当該表示制御装置へ送信する(S2321)。
変更部1313は、未処理の表示制御装置があるか否かを判定する(S2323)。未処理の表示制御装置があると判定した場合には、S2317に戻って、上述した処理を繰り返す。未処理の表示制御装置がないと判定した場合には、端子Gを介してS2201に戻って、上述した処理を繰り返す。
S2313における処理の説明に戻る。S2313において、図22のS2201において受信した要求が、ウインドウ回転の要求ではないと判定した場合には、端子Iを介して図24に示したS2401の処理に移る。
図24の説明に移る。第2削除部1315は、図22のS2201において受信した要求が、ウインドウ削除の要求であるか否かを判定する(S2401)。図22のS2201において受信した要求が、ウインドウ削除の要求であると判定した場合には、第2削除部1315は、図22に示したS2209の場合と同様に、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2403)。
第2送信部1309は、ウインドウ削除の要求に含まれるウインドウIDを特定し、当該ウインドウIDを含む削除指示を、特定した表示制御装置へ送信する(S2405)。第2削除部1315は、未処理の表示制御装置があるか否かを判定する(S2407)。未処理の表示制御装置があると判定した場合には、S2403に戻って、上述した処理を繰り返す。
未処理の表示制御装置がないと判定した場合には、第2削除部1315は、ウインドウ削除の要求に含まれるウインドウIDに関連するデータを削除する(S2409)。具体的には、第2削除部1315は、認証データのレコードのうち、ウインドウ削除の要求に含まれるウインドウIDが設定されているレコードを削除する。更に、第2削除部1315は、同じくウインドウIDに対応する枠テーブルを削除する。そして、サーバ装置205の処理を終える。
S2401における処理の説明に戻る。S2401において、図22のS2201において受信した要求が、ウインドウ削除の要求ではないと判定した場合には、無効な要求であると看做して、端子Gを介して、図22のS2201に示した処理に戻る。以上で、サーバ装置205の動作についての説明を終える。
次に、表示制御装置の動作について説明する。以下では、第1表示制御装置201について説明するが、他の表示制御装置、例えば第2表示制御装置203についても同様である。
図25に、第1表示制御装置201のモジュール構成例を示す。第1表示制御装置201は、第3受信部2551、認証部2553、第2検査部2555、描画部2557、表示処理部2559、第3削除部2561、第1受信データ記憶部2563、第2受信データ記憶部2565、表示バッファ2567、描画バッファ2569及び表示装置2571を有している。
第3受信部2551は、クライアント端末101及びサーバ装置205から各種データを受信する。認証部2553は、クライアント端末101を認証する。第2検査部2555は、クライアント端末101から受信したウインドウIDを検査する。描画部2557は、コンテンツデータ103と枠データに基づいて、ウインドウ枠内のコンテンツ画像109を描画する。表示処理部2559は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置2571に表示させる。第3削除部2561は、不要になったデータを削除する。第1受信データ記憶部2563は、サーバ装置205から受信した第1受信データを記憶する。第2受信データ記憶部2565は、クライアント端末101から受信した第2受信データを記憶する。表示バッファ2567は、表示面に表示させる画像データを保持する。表示バッファ2567は、複数のレイヤを有してもよい。描画バッファ2569は、コンテンツ画像109を描画するために用いられる。表示装置2571は、例えば液晶ディスプレイ、プラズマディスプレイあるいはプロジェクタである。
上述した第3受信部2551、認証部2553、第2検査部2555、描画部2557、表示処理部2559及び第3削除部2561は、ハードウエア資源(例えば、図32)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した第1受信データ記憶部2563、第2受信データ記憶部2565、表示バッファ2567及び描画バッファ2569は、ハードウエア資源(例えば、図32)を用いて実現される。
続いて、第1受信データ記憶部2563において記憶される第1受信データについて説明する。図26に、第1受信データの例を示す。この例における第1受信データは、テーブル形式である。但し第1受信データは、テーブル形式以外の形式であってもよい。
この例における第1受信データは、ウインドウIDに対応するレコードを有している。第1受信データのレコードは、ウインドウIDを設定するためのフィールドと、認証キーを設定するためのフィールドと、表示座標系におけるウインドウ枠の位置を設定するためのフィールドと、同じくウインドウ枠のサイズを設定するためのフィールドと、同じくウインドウ枠の表示角度を設定するためのフィールドとを有している。ウインドウ枠の位置は、ウインドウ枠の基準点のX座標とY座標とによって特定される。この例では、ウインドウ枠の左上端点が基準点である。ウインドウ枠のサイズは、幅と高さとによって特定される。
この例における第1レコードは、ウインドウID「W1」について認証キー「xxxx」が対応することを示している。更に、この例における第1レコードは、ウインドウID「W1」で識別されるウインドウの枠の基準点が表示座標系の位置(1000,500)になるように、当該枠が設定されることを示している。更に、この例における第1レコードは、当該枠の幅は、「2000」であり、高さは「2000」であることを示している。また、この例における第1レコードは、表示角度が「0」になるように、当該枠が設定されることを示している。複数のウインドウが生成される場合には、複数のレコードが設けられる。
続いて、第2受信データ記憶部2565において記憶される第2受信データについて説明する。図27に、第2受信データの例を示す。この例における第2受信データは、テーブル形式である。但し第2受信データは、テーブル形式以外の形式であってもよい。
この例における第2受信データは、ウインドウIDに対応するレコードを有している。第2受信データのレコードは、ウインドウIDを設定するためのフィールドと、HTMLファイルを格納するためのフィールドと、CSSファイルを格納するためのフィールドとを有している。レコードにおいて、HTMLファイル及びCSSファイルの名前を設定し、HTMLファイル及びCSSファイルは、別の領域に格納されるようにしてもよい。
この例における第1レコードは、ウインドウID「W1」で識別されるウインドウに表示すべきコンテンツのデータが、HTMLファイル「a.html」とCSSファイル「a.css」とであることを示している。
続いて、第1表示制御装置201を例として、表示制御装置の処理について説明する。図28及び図29に、第1表示制御装置201の処理フロー例を示す。ここでは、第1表示制御装置201の処理について説明するが、他の表示制御装置、例えば第2表示制御装置203においても同様に処理する。図28及び図29に示す処理は、サーバ装置205からウインドウID、認証キー及び表示座標系の枠データを受信した場合に、起動する。そして、生成したウインドウが削除された時点で、この処理は終了する。また、複数のウインドウが生成される場合には、それぞれのウインドウに対応する処理が並行して実行される。
第3受信部2551は、サーバ装置205からウインドウID、認証キー及び表示座標系の枠データを受信すると(S2801)、受信したウインドウID、認証キー及び表示座標系の枠データを第1受信データ記憶部2563に記憶する。
次に、第3受信部2551は、クライアント端末101からウインドウID、認証キー及びコンテンツデータ103を受信すると(S2803)、受信したウインドウID及びコンテンツデータ103を第2受信データ記憶部2565に記憶する。尚、S2801においてサーバ装置205からデータを受信した時点から所定の期間内に、クライアント端末101からデータを受信しない場合には、第1表示制御装置201の処理を中断するようにしてもよい。
そして、第2検査部2555は、クライアント端末101から受信したウインドウIDを検査する(S2805)。具体的には、第2検査部2555は、クライアント端末101から受信したウインドウIDが、S2801においてサーバ装置205から受信したウインドウIDと一致するか否かを判定する。クライアント端末101から受信したウインドウIDが、サーバ装置205から受信したウインドウIDと一致すると判定した場合には、検査結果は正常となる。クライアント端末101から受信したウインドウIDが、サーバ装置205から受信したウインドウIDと一致しないと判定した場合には、検査結果はエラーとなる。検査結果がエラーとなった場合には、第1表示制御装置201は処理を中断する。このとき、第1表示制御装置201は、第1受信データ記憶部2563に記憶したデータと第2受信データ記憶部2565に記憶したデータとを削除する。
検査結果が正常となった場合には、認証部2553は、クライアント端末101を認証する(S2807)。具体的には、S2803においてクライアント端末101から受信した認証キーが、S2801においてサーバ装置205から受信した認証キーと一致するか否かを判定する。クライアント端末101から受信した認証キーが、サーバ装置205から受信した認証キーと一致する場合には、認証は成功する。クライアント端末101から受信した認証キーが、サーバ装置205から受信した認証キーと一致しない場合には、認証は失敗する。クライアント端末101の認証が失敗した場合には、第1表示制御装置201は処理を中断する。このとき、第1表示制御装置201は、第1受信データ記憶部2563に記憶したデータと第2受信データ記憶部2565に記憶したデータとを削除する。
尚、S2807におけるクライアント端末101の認証を省くようにしてもよい。その場合には、S2805における検査結果が正常であることによって、クライアント端末101の正当性が担保されていると看做す。つまり、ウインドウIDの検査が、クライアント端末101の認証も兼ねるものとする。
描画部2557は、第2受信データ記憶部2565に記憶したコンテンツデータ103と第1受信データ記憶部2563に記憶した枠データに基づいて、ウインドウ枠内のコンテンツ画像109を描画する(S2809)。具体的には、描画部2557は、コンテンツデータ103に含まれるHTMLファイルを解析し、コンテンツデータ103に含まれるCSSファイルに従ってコンテンツ画像109に含まれる各パーツを描画バッファ2569に描画する。描画部2557は、描画バッファ2569に描画されたコンテンツ画像109の全部または一部を枠データに従って、表示バッファ2567にコピーする。あるいは、描画部2557は、第2受信データ記憶部2565に記憶したコンテンツデータ103と第1受信データ記憶部2563に記憶した枠データに基づいて、コンテンツ画像109を直接表示バッファ2567に描画するようにしてもよい。
そして、表示処理部2559は、表示バッファ2567にコピーされたコンテンツ画像109を表示装置2571に表示させる(S2811)。このとき、表示処理部2559は、表示面の全体を再表示してもよいし、上位レイヤに相当するコンテンツ画像109を背景に重ねて表示するようにしてもよい。いずれの方式においても、表示面の外に位置するコンテンツ画像109は無視される。そして、端子Jを介して図29に示したS2901の処理に移る。尚、描画部2557及び表示処理部2559を、ブラウザとブラウザで動作するプログラム(例えば、スクリプト)とを用いて実現するようにしてもよい。
図29の説明に移る。第3受信部2551は、待機して、サーバ装置205からのデータを受信する(S2901)。第3受信部2551は、受信したデータが、ウインドウID及び表示座標系の枠データであるか否かを判定する(S2903)。
受信したデータが、ウインドウID及び表示座標系の枠データであると判定した場合には、描画部2557は、表示座標系の枠データを更新する(S2904)。具体的には、描画部2557は、第1受信データのレコードのうち、受信したウインドウIDが設定されているレコードを特定する。そして、描画部2557は、特定したレコードに設定されている表示座標系の枠データを、受信した表示座標系の枠データに書き換える。
描画部2557は、S2809の処理と同様に、ウインドウ枠内のコンテンツ画像109を描画する(S2905)。表示処理部2559は、S2811の処理と同様に、ウインドウ枠内に描画されたコンテンツ画像109を表示装置2571に表示させる(S2907)。このとき、表示処理部2559は、表示面の全体を再表示してもよいし、上位レイヤに相当するコンテンツ画像109を再表示するようにしてもよい。そして、上述したS2901の処理に戻って、上述した処理を繰り返す。
一方、S2901において受信したデータが、ウインドウID及び表示座標系の枠データではないと判定した場合には、第3削除部2561は、S2901において受信したデータが削除指示であるか否かを判定する(S2909)。
S2901において受信したデータが削除指示であると判定した場合には、表示処理部2559は、ウインドウIDによって特定されるウインドウ枠内のコンテンツ画像109を消去する(S2910)。具体的には、表示処理部2559は、上位レイヤに相当するコンテンツ画像109を除き、表示面の全体を再表示する。更に、第3削除部2561は、削除指示に含まれるウインドウIDに関連するデータを削除する(S2911)。具体的には、第3削除部2561は、第1受信データのレコードのうち、削除指示に含まれるウインドウIDが設定されているレコードを削除する。更に、第3削除部2561は、第2受信データのレコードのうち、削除指示に含まれるウインドウIDが設定されているレコードを削除する。S2909において、S2901において受信したデータが削除指示でなはいと判定した場合には、無効なデータであると看做して、S2901に示した処理に戻る。以上で、表示制御装置の動作についての説明を終える。
本実施の形態によれば、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することができる。この例では、表示制御装置において描画処理を行うので、クライアント端末101及びサーバ装置205における処理負荷が軽減する。
更に、HTMLファイル及びCSSファイルを含むコンテンツデータ103を伝送するので、画像データを伝送する場合に比べて、伝送データ量を抑制することができる。
更に、ウインドウIDを検査するので、不正な端末からのコンテンツ提供を判別できる。
更に、各表示面におけるウインドウの位置及び/又はサイズを連動させることができる。
更に、各表示面におけるウインドウの表示角度を連動させることができる。
[実施の形態2]
上述した実施の形態では、クライアント端末101においてウインドウに関するユーザ操作を受け付ける例について説明したが、本実施の形態では、表示制御装置においてウインドウに関するユーザ操作を受け付ける例について説明する。以下では、第1表示制御装置201について説明するが、他の表示制御装置、例えば第2表示制御装置203についても同様である。
図30に、実施の形態2に係るウインドウ移動のシーケンス例を示す。この例では、第1表示制御装置201は、ユーザの指示を受け付けるためのユーザインターフェース(例えば、表示面に設置されたタッチパッド)を有しているものとする。第1表示制御装置201は、表示制御装置のユーザインターフェースを用いて、ウインドウ移動の指示を受け付ける(S3001)。このとき、第1表示制御装置201は、例えば、ウインドウ枠とタッチ位置との関係に基づいて、移動対象のウインドウを特定する。そして、第1表示制御装置201は、例えば、タッチ位置がスライドした方向及び距離に基づいて移動ベクトルを算出する。そして、第1表示制御装置201は、移動対象のウインドウを特定するウインドウID及び移動ベクトルを含むウインドウ移動の要求をサーバ装置205へ送信する(S3003)。以降のS605乃至S623の処理は、図6の場合と同様である。
同様に、ウインドウ拡大/縮小の指示を第1表示制御装置201において受け付けるようにしてもよい。第1表示制御装置201において拡大/縮小率を算出するようにしてもよい。第1表示制御装置201は、前述の通り特定したウインドウID及び拡大/縮小率を含むウインドウ拡大/縮小の要求をサーバ装置205へ送信するようにしてもよい。
同様に、ウインドウ回転の指示を第1表示制御装置201において受け付けるようにしてもよい。第1表示制御装置201において回転角度を算出するようにしてもよい。第1表示制御装置201は、前述の通り特定したウインドウID及び回転角度を含むウインドウ回転の要求をサーバ装置205へ送信するようにしてもよい。
同様に、ウインドウ削除の指示を第1表示制御装置201において受け付けるようにしてもよい。第1表示制御装置201は、前述の通り特定したウインドウIDを含むウインドウ削除の要求をサーバ装置205へ送信するようにしてもよい。
本実施の形態によれば、ユーザは表示制御装置からウインドウを操作できる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
図31に、クライアント端末101のハードウエア構成例を示す。クライアント端末101は、プロセッサ3101、記憶部3103、アンテナ3111、無線制御部3113、オーディオ制御部3115、スピーカ3117、マイク3119、ディスプレイ3121、タッチパッド3123、カメラ3125及びGPS装置3127を有している。
プロセッサ3101は、モデムCPU(Central Processing Unit)とアプリケーションCPUからなることもある。記憶部3103は、例えば、ROM(Read Only Memory)3105とRAM(Random Access Memory)3107とフラッシュメモリ3109を有している。ROM3105は、例えば、予め設定されているデータやプログラムを格納している。RAM3107は、例えば、アプリケーションなどのプログラムやデータを展開する領域を含んでいる。フラッシュメモリ3109は、例えば、オペレーティングシステムやアプリケーションなどのプログラムを格納しており、更に随時データを格納する。
タッチパッド3123は、例えば、ディスプレイ3121の表示面上に配置されたパネル状のセンサであり、タッチ操作を受け付ける。ディスプレイ3121は、例えば、アプリケーションが表示させる各種画面を表示する。具体的には、ディスプレイ3121とタッチパッド3123とを一体としたタッチパネルとして用いられる。タッチパッド3123へのタッチ操作によって、タッチイベントが発生する。タッチパッド3123の他に、キーを設けるようにしてもよい。
アンテナ3111は、例えば、セルラー方式の無線データを受信する。無線制御部3113は、無線通信の制御を行う。無線通信の制御により、電話の音声通信やデータ通信が行われる。
オーディオ制御部3115は、音データに関するアナログ/デジタル変換とデジタル/アナログ変換を行う。スピーカ3117は、アナログデータを音として出力する。マイク3119は、音をアナログデータに変換する。
カメラ3125は、動画や写真画像の撮影に用いられる。GPS装置3127は、位置を計測する。
なお、上で述べた第1表示制御装置201、第2表示制御装置203及びサーバ装置205は、コンピュータ装置であって、図32に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る表示方法は、全体画面の一部である表示面を提供する表示装置の各々を有する複数の表示制御装置及び情報処理装置のうち、当該情報処理装置が、(A)上記全体画面の座標系におけるウインドウの位置及びサイズを、各表示面の配置に従って、当該表示面の座標系における上記ウインドウの位置及びサイズに変換する処理と、(B)各表示面の座標系における位置及びサイズを、当該表示面に係る表示制御装置に送信する送信処理とを含む。更に、上記複数の表示制御装置の各々が、(C)端末からコンテンツデータを受信する受信処理と、(D)受信したコンテンツデータに基づいて描画した画像を、上記情報処理装置から受信した位置及びサイズに従って表示する表示処理とを含む。
このようにすれば、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することができる。
上記受信処理において、コンテンツの構成を定義した第1データと、コンテンツのレイアウトを定義した第2データとを含むコンテンツデータを受信するようにしてもよい。更に、上記表示処理において、第1データと第2データとに基づいて画像を描画するようにしてもよい。
このようにすれば、受信するデータ量を抑制することができる。
上記送信処理において、ウインドウの識別子を表示制御装置へ送信するようにしてもよい。上記受信処理において、コンテンツデータによる画像を表示すべきウインドウを指定する識別子を上記端末から受信するようにしてもよい。更に、複数の表示制御装置の各々によって、上記情報処理装置から受信した上記識別子に基づいて、上記端末から受信した上記識別子を検査する処理を含むようにしてもよい。
このようにすれば、不正な端末からのコンテンツ提供を判別できる。
上記情報処理装置によって、各表示面の配置に従って、当該表示面の座標系におけるウインドウの位置及び/又はサイズを変更する処理を含むようにしてもよい。更に、上記情報処理装置によって、各表示面について変更された位置及び/又はサイズを、当該表示面に係る表示制御装置に送信する処理を含むようにしてもよい。
このようにすれば、各表示面におけるウインドウの位置及び/又はサイズを連動させることができる。
上記情報処理装置によって、ウインドウの表示角度を変更する処理を含むようにしてもよい。上記情報処理装置によって、変更された表示角度を、各表示面に係る表示制御装置に送信する処理を含むようにしてもよい。更に、上記表示処理において、上記情報処理装置から受信した表示角度に従って上記画像を表示するようにしてもよい。
このようにすれば、各表示面におけるウインドウの表示角度を連動させることができる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
本発明は、マルチディスプレイの技術に関する。
ある特許文献には、ユーザ端末で生成した画像を分割し、分割された画像のデータを複数の表示装置に出力することによって、複数の表示装置を用いた大画面に画像を表示させるマルチディスプレイ技術が開示されている。
この例では、ユーザ端末における処理負荷が過大になり、処理性能が低いユーザ端末には適用しにくい面があった。
特開2006−284990号公報
特開2003−271985号公報
本発明の目的は、一側面では、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することである。
一態様に係る表示方法は、全体画面の一部である表示面を提供する表示装置の各々を有する複数の表示制御装置及び情報処理装置のうち、当該情報処理装置が、(A)上記全体画面の座標系におけるウインドウの位置及びサイズを、各表示面の配置に従って、当該表示面の座標系における上記ウインドウの位置及びサイズに変換する処理と、(B)各表示面の座標系における位置及びサイズを、当該表示面に係る表示制御装置に送信する送信処理とを含む。更に、上記複数の表示制御装置の各々が、(C)端末からコンテンツデータを受信する受信処理と、(D)受信したコンテンツデータに基づいて描画した画像を、上記情報処理装置から受信した位置及びサイズに従って表示する表示処理とを含む。
一側面としては、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することができる。
図1は、本実施の形態に係るマルチディスプレイシステムの概要を示す図である。
図2は、ネットワーク構成例を示す図である。
図3は、ネットワーク構成例を示す図である。
図4は、ウインドウ生成のシーケンス例を示す図である。
図5は、ウインドウ生成のシーケンス例を示す図である。
図6は、ウインドウ移動のシーケンス例を示す図である。
図7は、ウインドウ拡大/縮小のシーケンス例を示す図である。
図8は、ウインドウ回転のシーケンス例を示す図である。
図9は、ウインドウ削除のシーケンス例を示す図である。
図10は、クライアント端末のモジュール構成例を示す図である。
図11は、クライアント端末の処理フロー例を示す図である。
図12は、クライアント端末の処理フロー例を示す図である。
図13は、サーバ装置のモジュール構成例を示す図である。
図14は、装置データの例を示す図である。
図15は、全体座標系について説明するための図である。
図16は、認証データの例を示す図である。
図17は、枠テーブルの例を示す図である。
図18は、全体座標系におけるウインドウ枠の位置を示す図である。
図19は、第1表示制御装置の表示座標系におけるウインドウ枠の位置を示す図である。
図20は、第2表示制御装置の表示座標系におけるウインドウ枠の位置を示す図である。
図21は、サーバ装置の処理フロー例を示す図である。
図22は、サーバ装置の処理フロー例を示す図である。
図23は、サーバ装置の処理フロー例を示す図である。
図24は、サーバ装置の処理フロー例を示す図である。
図25は、第1表示制御装置のモジュール構成例を示す図である。
図26は、第1受信データの例を示す図である。
図27は、第2受信データの例を示す図である。
図28は、第1表示制御装置の処理フロー例を示す図である。
図29は、第1表示制御装置の処理フロー例を示す図である。
図30は、実施の形態2に係るウインドウ移動のシーケンス例を示す図である。
図31は、クライアント端末のハードウエア構成例を示す図である。
図32は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、本実施の形態に係るマルチディスプレイシステムの概要を示す。この例では、ユーザが保持するクライアント端末101から送られたコンテンツデータ103に基づいて、左側の表示面105と右側の表示面107とが並べられた全体画面にコンテンツ画像109を表示させる。この例では、表示面を横に並べる例を示すが、表示面を縦に並べるようにしてもよい。また、マトリクス状に表示面を並べるようにしてもよい。
図2に、ネットワーク構成例を示す。第1表示制御装置201は、図1に示した左側の表示面105を提供する表示装置を有する。第2表示制御装置203は、図1に示した右側の表示面107を提供する表示装置を有する。サーバ装置205は、クライアント端末101と、各表示制御装置(この例では、第1表示制御装置201及び第2表示制御装置203)とを仲介し、主に各表示制御装置におけるウインドウ枠に関するデータを管理する。
表示装置は、例えば液晶ディスプレイ、プラズマディスプレイあるいはプロジェクタである。液晶ディスプレイ及びプラズマディスプレイの場合には、装置の表示画面が表示面である。プロジェクタの場合には、画像が投影されるスクリーンが表示面である。
第1表示制御装置201及び第2表示制御装置203は、第1ネットワークを介してサーバ装置205と接続している。第1ネットワークは、例えばLAN(Local Area Network)である。第1表示制御装置201及び第2表示制御装置203は、有線によって、あるいは無線によって第1ネットワークに接続している。サーバ装置205も、有線によって、あるいは無線によって第1ネットワークに接続している。
クライアント端末101は、第2ネットワークを介して、第1ネットワークに接続する機能を備えている。この例において、第2ネットワークはインターネットであり、クライアント端末101は、移動体通信網を介してインターネットに接続する機能を備えている。
図3に、別のネットワーク構成例を示す。クライアント端末101は、直接第1ネットワークに接続するようにしてもよい。クライアント端末101は、有線によって第1ネットワークに接続してもよいし、無線によって第1ネットワークに接続するようにしてもよい。
以下、マルチディスプレイシステムにおけるシーケンスについて説明する。まず、左側の表示面105と右側の表示面107とが並べられた全体画面上にウインドウを生成する場合のシーケンスについて説明する。
図4に、ウインドウ生成のシーケンス例を示す。クライアント端末101は、例えば、クライアント端末101で動作するブラウザを介してコンテンツデータ103を取得する(S401)。既にコンテンツデータ103を保持している場合には、コンテンツデータ103を取得する処理を省くようにしてもよい。この例で、コンテンツデータ103は、HTML(HyperText Markup Language)ファイルとCSS(Cascading Style Sheets)ファイルとを含んでいる。
コンテンツデータ103を取得すると、クライアント端末101は、サーバ装置205へウインドウ生成の要求を送信する(S403)。サーバ装置205は、ウインドウIDを生成し(S405)、更に認証キーを生成する(S407)。ウインドウIDは、生成されるウインドウを識別する。認証キーは、クライアント端末101を認証するために用いられる。但し、クライアント端末101を認証しない場合には、認証キーを生成しないようにしてもよい。
サーバ装置205は、生成するウインドウ枠について、全体座標系における位置、サイズ及び表示角度を決定する(S409)。全体座標系における位置、サイズ及び表示角度を決定する方法は、任意である。例えば、所定の位置、所定のサイズ及び所定の表示角度に決定するようにしてもよい。あるいは、既存のウインドウ枠と重複しないように、新たなウインドウ枠の位置、サイズ及び表示角度を決定するようにしてもよい。
サーバ装置205は、全体座標系におけるウインドウ枠の位置及びサイズを、左側の表示面105の表示座標系におけるウインドウ枠の位置及びサイズへ変換する(S411)。但し、ウインドウ枠の表示角度は、変更されない。尚、以下では、左側の表示面105の表示座標系を第1表示制御装置201の表示座標系という。また、位置、サイズ及び表示角度を枠データということもある。
サーバ装置205は、S405において生成したウインドウID、S407において生成した認証キー及びS411において変換された表示座標系の枠データを第1表示制御装置201へ送信する(S413)。
第2表示制御装置203についても同様に、サーバ装置205は、全体座標系におけるウインドウ枠の位置及びサイズを、右側の表示面107の表示座標系におけるウインドウ枠の位置及びサイズへ変換する(S415)。以下では、右側の表示面107の表示座標系を第2表示制御装置203の表示座標系という。
また、サーバ装置205は、S405において生成したウインドウID、S407において生成した認証キー及びS415において変換された表示座標系の枠データを第2表示制御装置203へ送信する(S417)。
以降のシーケンスは、端子A乃至Dを介して図5へ移る。サーバ装置205は、クライアント端末101へ許可データを送信する(S501)。この例で、サーバ装置205は、S403においてウインドウ生成を要求したクライアント端末101以外へは、同じ許可データを送らない。許可データには、ウインドウID、認証キー、第1表示制御装置201のIPアドレス及び第2表示制御装置203のIPアドレスが含まれる。第1表示制御装置201のIPアドレスは、クライアント端末101から第1表示制御装置201へデータを送信する場合に用いられる。第2表示制御装置203のIPアドレスは、クライアント端末101から第2表示制御装置203へデータを送信する場合に用いられる。
クライアント端末101は、許可データを受信すると、許可データに含まれるウインドウID、許可データに含まれる認証キー及び図4のS401において取得したコンテンツデータ103を第1表示制御装置201へ送信する(S503)。更に、クライアント端末101は、同じくウインドウID、認証キー及びコンテンツデータ103を第2表示制御装置203へ送信する(S505)。
まず、第1表示制御装置201におけるシーケンスについて説明する。S503においてウインドウID、認証キー及びコンテンツデータ103を受信すると、第1表示制御装置201は、ウインドウIDを検査する(S507)。つまり、第1表示制御装置201は、S503において受信したウインドウIDと、図4のS413において受信したウインドウIDとが一致するか否かを判定する。一致する場合には、検査結果が正常であるので、次の処理に移行する。一致しない場合には、検査結果がエラーであるので、処理を中断する。
ウインドウIDの検査結果が正常であれば、第1表示制御装置201は、クライアント端末101を認証する(S509)。つまり、第1表示制御装置201は、S503において受信した認証キーと、図4のS413において受信した認証キーとが一致するか否かを判定する。一致する場合には、認証結果が正常であるので、次の処理に移行する。一致しない場合には、認証結果がエラーであるので、処理を中断する。尚、クライアント端末101の認証は、省略してもよい。
クライアント端末101の認証が成功すると、第1表示制御装置201は、図4のS413において受信した枠データと、S503において受信したコンテンツデータ103とに基づいて、コンテンツ画像109を描画する(S511)。そして、第1表示制御装置201は、描画したコンテンツ画像109を表示装置によって左側の表示面105に表示させる(S513)。
次に、第2表示制御装置203におけるシーケンスについて説明する。S505においてウインドウID、認証キー及びコンテンツデータ103を受信すると、第2表示制御装置203は、ウインドウIDを検査する(S515)。つまり、第2表示制御装置203は、S505において受信したウインドウIDと、図4のS417において受信したウインドウIDとが一致するか否かを判定する。一致する場合には、検査結果が正常であるので、次の処理に移行する。一致しない場合には、検査結果がエラーであるので、処理を中断する。
ウインドウIDの検査結果が正常であれば、第2表示制御装置203は、クライアント端末101を認証する(S517)。つまり、第2表示制御装置203は、S505において受信した認証キーと、図4のS417において受信した認証キーとが一致するか否かを判定する。一致する場合には、認証結果が正常であるので、次の処理に移行する。一致しない場合には、認証結果がエラーであるので、処理を中断する。尚、クライアント端末101の認証は、省略するようにしてもよい。
クライアント端末101の認証が成功すると、第2表示制御装置203は、図4のS417において受信した枠データと、S505において受信したコンテンツデータ103とに基づいて、コンテンツ画像109を描画する(S519)。そして、第2表示制御装置203は、描画したコンテンツ画像109を表示装置によって右側の表示面107に表示させる(S521)。
次に、ウインドウを移動させる場合のシーケンスについて説明する。図6に、ウインドウ移動のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ移動の指示を受け付けると(S601)、サーバ装置205へウインドウ移動の要求を送信する(S603)。ウインドウ移動の要求は、ウインドウID及び移動ベクトルを含んでいる。
サーバ装置205は、ウインドウ移動の要求を受信すると、ウインドウ移動の要求に含まれるウインドウIDを検査する(S605)。つまり、サーバ装置205は、ウインドウ移動の要求に含まれるウインドウIDが、図4のS405において生成したウインドウIDと一致する場合には、検査結果が正常であるので、次の処理に移行する。一方、ウインドウ移動の要求に含まれるウインドウIDが、図4のS405において生成したウインドウIDと一致しない場合には、検査結果がエラーであるので、処理を中断する。
サーバ装置205は、S603において受信したウインドウ移動の要求に含まれる移動ベクトルに従って、全体座標系におけるウインドウ枠の位置を変更する(S607)。但し、ウインドウ枠のサイズ及び表示角度は、変更されない。
サーバ装置205は、同じく移動ベクトルに従って、第1表示制御装置201の表示座標系におけるウインドウ枠の位置を変更する(S609)。前述の通りウインドウ枠のサイズ及び表示角度は、変更されない。サーバ装置205は、第1表示制御装置201へ、ウインドウIDと、S609において変更された表示座標系の枠データとを送信する(S611)。
サーバ装置205は、同じく移動ベクトルに従って、第2表示制御装置203の表示座標系におけるウインドウ枠の位置を変更する(S613)。前述の通りウインドウ枠のサイズ及び表示角度は、変更されない。サーバ装置205は、第2表示制御装置203へ、ウインドウIDと、S613において変更された表示座標系の枠データとを送信する(S615)。
第1表示制御装置201は、S611において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S617)。そして、第1表示制御装置201は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S619)。
第2表示制御装置203も、同様に、S615において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S621)。そして、第2表示制御装置203は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S623)。
次に、ウインドウを拡大又は縮小させる場合のシーケンスについて説明する。尚、以下では、ウインドウの拡大又は縮小を、ウインドウ拡大/縮小と記す。図7に、ウインドウ拡大/縮小のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ拡大/縮小の指示を受け付けると(S701)、サーバ装置205へウインドウ拡大/縮小の要求を送信する(S703)。ウインドウ拡大/縮小の要求は、ウインドウID及び拡大/縮小率を含んでいる。
サーバ装置205は、ウインドウ拡大/縮小の要求を受信すると、前述した通りウインドウ拡大/縮小の要求に含まれるウインドウIDを検査する(S705)。
サーバ装置205は、S703において受信したウインドウ拡大/縮小の要求に含まれる拡大/縮小率に従って、全体座標系におけるウインドウ枠の位置及びサイズを変更する(S707)。但し、ウインドウ枠の表示角度は、変更されない。
サーバ装置205は、同じく拡大/縮小率に従って、第1表示制御装置201の表示座標系におけるウインドウ枠の位置及びサイズを変更する(S709)。前述の通りウインドウ枠の表示角度は、変更されない。サーバ装置205は、第1表示制御装置201へウインドウIDと、S709において変更された表示座標系の枠データとを送信する(S711)。
サーバ装置205は、同じく拡大/縮小率に従って、第2表示制御装置203の表示座標系におけるウインドウ枠の位置及びサイズを変更する(S713)。前述の通りウインドウ枠の表示角度は、変更されない。サーバ装置205は、第2表示制御装置203へウインドウIDと、S713において変更された表示座標系の枠データとを送信する(S715)。
第1表示制御装置201は、S711において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置及びサイズを変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S717)。そして、第1表示制御装置201は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S719)。
第2表示制御装置203も、同様に、S715において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の位置及びサイズを変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S721)。そして、第2表示制御装置203は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S723)。
次に、ウインドウを回転させる場合のシーケンスについて説明する。図8に、ウインドウ回転のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ回転の指示を受け付けると(S801)、サーバ装置205へウインドウ回転の要求を送信する(S803)。ウインドウ回転の要求は、ウインドウID及び回転角度を含んでいる。
サーバ装置205は、ウインドウ回転の要求を受信すると、前述した通りウインドウ回転の要求に含まれるウインドウIDを検査する(S805)。
サーバ装置205は、S803において受信したウインドウ回転の要求に含まれる回転角度に従って、全体座標系におけるウインドウ枠の表示角度を変更する(S807)。但し、ウインドウ枠の位置及びサイズは、変更されない。
サーバ装置205は、同じく回転角度に従って、第1表示制御装置201の表示座標系におけるウインドウ枠の表示角度を変更する(S809)。前述の通りウインドウ枠の位置及びサイズは、変更されない。サーバ装置205は、第1表示制御装置201へウインドウIDと、S809において変更された表示座標系の枠データとを送信する(S811)。
サーバ装置205は、同じく回転角度に従って、第2表示制御装置203の表示座標系におけるウインドウ枠の表示角度を変更する(S813)。前述の通りウインドウ枠の位置及びサイズは、変更されない。サーバ装置205は、第2表示制御装置203へウインドウIDと、S813において変更された表示座標系の枠データとを送信する(S815)。
第1表示制御装置201は、S811において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の表示角度を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S817)。そして、第1表示制御装置201は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S819)。
第2表示制御装置203も、同様に、S815において受信した枠データに従って、ウインドウIDによって特定されるウインドウ枠の表示角度を変更して、コンテンツデータ103に基づいてコンテンツ画像109を描画する(S821)。そして、第2表示制御装置203は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置に表示させる(S823)。
次に、ウインドウを削除する場合のシーケンスについて説明する。図9に、ウインドウ削除のシーケンス例を示す。クライアント端末101は、ユーザインターフェースによってウインドウ削除の指示を受け付けると(S901)、サーバ装置205へウインドウ削除の要求を送信する(S903)。ウインドウ削除の要求は、ウインドウIDを含んでいる。クライアント端末101は、削除するウインドウに関するデータを削除する(S905)。削除するデータについては、後述する。
サーバ装置205は、ウインドウ削除の要求を受信すると、前述した通りウインドウ削除の要求に含まれるウインドウIDを検査する(S907)。サーバ装置205は、第1表示制御装置201へウインドウIDを含む削除指示を送信する(S909)。更に、サーバ装置205は、第2表示制御装置203へウインドウIDを含む削除指示を送信する(S911)。そして、サーバ装置205は、削除するウインドウに関するデータを削除する(S913)。削除するデータについては、後述する。
第1表示制御装置201は、ウインドウIDを含む削除指示を受信すると、当該ウインドウIDによって特定されるウインドウ枠内に描画されていたコンテンツ画像109を消去する(S914)。具体的には、第1表示制御装置201は、上位レイヤに相当するコンテンツ画像109を除く。そして、第1表示制御装置201は、当該ウインドウIDによって特定されるウインドウに関するデータを削除する(S915)。
第2表示制御装置203も、同様に、ウインドウIDを含む削除指示を受信すると、当該ウインドウIDによって特定されるウインドウ枠内に描画されていたコンテンツ画像109を消去する(S916)。そして、第2表示制御装置203も、同様に当該ウインドウIDによって特定されるウインドウに関するデータを削除する(S917)。以上で、シーケンスについての説明を終える。
次に、クライアント端末101の動作について説明する。図10に、クライアント端末101のモジュール構成例を示す。クライアント端末101は、ブラウザ1001、取得部1003、第1送信部1005、第1受信部1007、受付部1009、算出部1011、第1削除部1013、コンテンツデータ記憶部1015及び許可データ記憶部1017を有している。
ブラウザ1001は、コンテンツデータ103(この例では、HTMLファイルとCSSファイル)を受信し、コンテンツデータ103に基づくコンテンツ画像を表示する。取得部1003は、ブラウザ1001からコンテンツデータ103を取得する。第1送信部1005は、第1表示制御装置201、第2表示制御装置203及びサーバ装置205へ各種データを送信する。第1受信部1007は、サーバ装置205から許可データを受信する。受付部1009は、クライアント端末101のユーザインターフェースを用いてユーザの指示を受け付ける。算出部1011は、ウインドウ移動における移動ベクトル、ウインドウ拡大/縮小における拡大/縮小率及びウインドウ回転における回転角度を算出する。第1削除部1013は、不要になったデータを削除する。コンテンツデータ記憶部1015は、コンテンツデータ103を記憶する。許可データ記憶部1017は、許可データを記憶する。
上述したブラウザ1001、取得部1003、第1送信部1005、第1受信部1007、受付部1009、算出部1011及び第1削除部1013は、ハードウエア資源(例えば、図31)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したコンテンツデータ記憶部1015及び許可データ記憶部1017は、ハードウエア資源(例えば、図31)を用いて実現される。
クライアント端末101の処理について説明する。図11及び図12に、クライアント端末101の処理フロー例を示す。取得部1003は、ブラウザ1001からコンテンツデータ103を取得する(S1101)。あるいは、取得部1003は、コンテンツデータ記憶部1015に予め記憶しているコンテンツデータ103を取得するようにしてもよい。
第1送信部1005は、サーバ装置205へウインドウ生成の要求を送信する(S1103)。第1受信部1007は、サーバ装置205から許可データを受信する(S1105)。許可データには、上述したように、ウインドウID、認証キー、第1表示制御装置201のIPアドレス及び第2表示制御装置203のIPアドレスが含まれる。第1受信部1007は、受信した許可データを許可データ記憶部1017に記憶する。
第1送信部1005は、許可データに含まれるウインドウIDと、許可データに含まれる認証キー及びS1101で取得したコンテンツデータ103を各表示制御装置へ送信する(S1107)。この例では、第1送信部1005は、上述したデータを第1表示制御装置201のIPアドレス宛に送信すると共に、更に第2表示制御装置203のIPアドレス宛に送信する。
その後、受付部1009は、待機して、クライアント端末101のユーザインターフェースを用いてユーザの指示を受け付ける(S1109)。受付部1009は、受け付けた指示がウインドウ移動の指示であるか否かを判定する(S1111)。
受け付けた指示がウインドウ移動の指示であると判定した場合には、算出部1011は、移動ベクトルを算出する(S1113)。算出部1011は、例えば、タッチパネルにおけるタッチ位置のスライドの方向及び量に基づいて、移動ベクトルを求める。あるいは、算出部1011は、タッチされた移動ボタンの種類及びタッチ回数に基づいて、移動ベクトルを求める。
第1送信部1005は、サーバ装置205へウインドウ移動の要求を送信する(S1115)。ウインドウ移動の要求には、S1105において受信した許可データに含まれるウインドウIDと、S1113において算出された移動ベクトルとが含まれる。そして、S1109に示した処理に戻って、上述した処理を繰り返す。
一方、S1111において、S1109において受け付けた指示がウインドウ移動の指示ではないと判定した場合には、受付部1009は、S1109において受け付けた指示がウインドウ拡大/縮小の指示であるか否かを判定する(S1117)。
S1109において受け付けた指示がウインドウ拡大/縮小の指示であると判定した場合には、算出部1011は、拡大/縮小率を算出する(S1119)。算出部1011は、例えば、タッチパネルにおけるピンチの量に基づいて、拡大/縮小率を求める。あるいは、算出部1011は、タッチされた拡大ボタンあるいは縮小ボタンのタッチ回数に基づいて、拡大/縮小率を求める。
第1送信部1005は、サーバ装置205へウインドウ拡大/縮小の要求を送信する(S1121)。ウインドウ拡大/縮小の要求には、S1105において受信した許可データに含まれるウインドウIDと、S1119において算出された拡大/縮小率とが含まれる。そして、S1109に示した処理に戻って、上述した処理を繰り返す。
一方、S1117において、S1109において受け付けた指示がウインドウ拡大/縮小の指示ではないと判定した場合には、端子Eを介して図12に示したS1201の処理に移る。
図12の説明に移る。受付部1009は、図11のS1109において受け付けた指示がウインドウ回転の指示であるか否かを判定する(S1201)。図11のS1109において受け付けた指示がウインドウ回転の指示であると判定した場合には、算出部1011は、回転角度を算出する(S1203)。算出部1011は、例えば、タッチされた右回転ボタンあるいは左回転ボタンのタッチ回数に基づいて、回転角度を求める。
第1送信部1005は、サーバ装置205へウインドウ回転の要求を送信する(S1205)。ウインドウ回転の要求には、図11のS1105において受信した許可データに含まれるウインドウIDと、S1203において算出された回転角度とが含まれる。そして、端子Fを介して、図11のS1109に示した処理に戻って、上述した処理を繰り返す。
一方、S1201において、図11のS1109において受け付けた指示がウインドウ回転の指示ではないと判定した場合には、受付部1009は、図11のS1109において受け付けた指示がウインドウ削除の指示であるか否かを判定する(S1207)。
図11のS1109において受け付けた指示がウインドウ削除の指示であると判定した場合には、第1送信部1005は、サーバ装置205へウインドウ削除の要求を送信する(S1209)。ウインドウ削除の要求には、図11のS1105において受信した許可データに含まれるウインドウIDが含まれる。
そして、第1削除部1013は、許可データ記憶部1017に記憶している許可データを削除する(S1211)。このとき、第1削除部1013は、コンテンツデータ記憶部1015に記憶しているコンテンツデータ103を削除するようにしてもよい。そして、クライアント端末101の処理を終える。
一方、S1207において、図11のS1109において受け付けた指示がウインドウ削除の指示ではないと判定した場合には、無効な指示であると看做して、端子Fを介して、図11のS1109に示した処理に戻って、上述した処理を繰り返す。以上で、クライアント端末101の動作についての説明を終える。
次に、サーバ装置205の動作について説明する。図13に、サーバ装置205のモジュール構成例を示す。サーバ装置205は、第2受信部1301、生成部1303、決定部1305、変換部1307、第2送信部1309、第1検査部1311、変更部1313、第2削除部1315、装置データ記憶部1317、認証データ記憶部1319及び枠テーブル記憶部1321を有している。
第2受信部1301は、クライアント端末101から各種の要求を受信する。生成部1303は、ウインドウID及び認証キーを生成する。決定部1305は、全体座標系におけるウインドウ枠の位置、サイズ及び表示角度を決定する。変換部1307は、全体座標系におけるウインドウ枠の位置及びサイズを、各表示制御装置の表示座標系におけるウインドウ枠の位置及びサイズへ変換する。第2送信部1309は、クライアント端末101、第1表示制御装置201及び第2表示制御装置203へ各種データを送信する。第1検査部1311は、各種の要求に含まれるウインドウIDを検査する。変更部1313は、各種の要求に応じて、全体座標系の枠データ及び表示座標系の枠データを変更する。第2削除部1315は、不要になったデータを削除する。
装置データ記憶部1317は、第1表示制御装置201及び第2表示制御装置203に関するデータを記憶する。認証データ記憶部1319は、クライアント端末101を認証するためのデータを記憶する。枠テーブル記憶部1321は、ウインドウ枠に関するデータを記憶する。
上述した第2受信部1301、生成部1303、決定部1305、変換部1307、第2送信部1309、第1検査部1311、変更部1313及び第2削除部1315は、ハードウエア資源(例えば、図32)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した装置データ記憶部1317、認証データ記憶部1319及び枠テーブル記憶部1321は、ハードウエア資源(例えば、図32)を用いて実現される。
続いて、装置データ記憶部1317において記憶される装置データについて説明する。図14に、装置データの例を示す。この例における装置データは、テーブル形式である。但し装置データは、テーブル形式以外の形式であってもよい。
この例における装置データは、表示制御装置に対応するレコードを有している。装置データのレコードは、表示制御装置IDを設定するためのフィールドと、表示制御装置のIPアドレスを設定するためのフィールドと、原点の位置を設定するためのフィールドとを有している。原点の位置は、全体座標系において、当該表示制御装置の表示座標系の原点が該当する点を示している。つまり、原点の位置は、全体画面における当該表示制御装置の配置を特定するデータである。
この例における第1レコードは、第1表示制御装置201に対応する。第1レコードは、表示制御装置ID「D1」で特定される表示制御装置のIPアドレスは、「xxx.xxx.xxx.1」であることを示している。更に、第1レコードは、当該表示制御装置の表示座標系の原点は、全体座標系における位置(0,0)に該当することを示している。
この例における第2レコードは、第2表示制御装置203に対応する。第2レコードは、表示制御装置ID「D2」で特定される表示制御装置のIPアドレスは、「xxx.xxx.xxx.2」であることを示している。更に、第2レコードは、当該表示制御装置の表示座標系の原点は、全体座標系における位置(2000,0)に該当することを示している。
ここで、図15を用いて、全体座標系について説明する。全体座標系は、全体画面における座標系である。この例で、全体座標系の原点は、全体画面の左上端点である。下方向にY軸が設定され、右方向にX軸が設定される。この例で、全体画面の幅は4000(ドット)であり、高さは3000(ドット)である。従って、全体画面の右下端点の座標は、(4000,3000)である。
上述したように、この例における全体画面では、左側の表示面105と右側の表示面107とが並べられている。左側の表示面105の基準点、つまり左側の表示面105の表示座標系における原点は、全体座標系における原点(0,0)と一致する。また、右側の表示面107の基準点、つまり右側の表示面107の表示座標系における原点は、全体座標系における位置(2000,0)に相当する。
続いて、認証データ記憶部1319において記憶される認証データについて説明する。図16に、認証データの例を示す。この例における認証データは、テーブル形式である。但し認証データは、テーブル形式以外の形式であってもよい。
この例における認証データは、ウインドウに対応するレコードを有している。認証データのレコードは、ウインドウを識別するウインドウIDを設定するためのフィールドと、認証キーを設定するためのフィールドとを有している。認証キーは、当該ウインドウの生成を要求したクライアント端末101を認証するために用いられる。
この例における第1レコードは、ウインドウID「W1」で識別されるウインドウの生成を要求したクライアント端末101に対して、認証キー「xxxx」が付与されていることを示している。複数のウインドウが生成される場合には、複数のレコードが設けられる。
続いて、枠テーブル記憶部1321に記憶される枠テーブルについて説明する。枠テーブルには、各座標系における枠データが設定される。枠データは、テーブル形式以外の形式で保持されるようにしてもよい。
図17に、枠テーブルの例を示す。枠テーブル記憶部1321は、ウインドウIDに対応付けて枠テーブルを記憶する。この例では、枠テーブルのヘッダ部において、ウインドウIDを保持する。この例における枠テーブルは、各座標系に対応するレコードを有している。枠データのレコードは、ウインドウ枠の位置を設定するためのフィールドと、ウインドウ枠のサイズを設定するためのフィールドと、ウインドウ枠の表示角度を設定するためのフィールドとを有している。
ウインドウ枠の位置は、ウインドウ枠の基準点を指すX座標とY座標とによって特定される。この例では、ウインドウ枠の左上端点が基準点である。ウインドウ枠のサイズは、幅と高さによって特定される。通常の表示形態におけるウインドウ枠の表示角度は、0度である。尚、ウインドウ枠における他の点(例えば、重心)を、ウインドウ枠の基準点としてもよい。
この例において、枠テーブルの第1レコードには、全体座標系の枠データが設定される。同じく枠テーブルの第2レコードには、第1表示制御装置201の表示座標系の枠データが設定される。同じく枠テーブルの第3レコードには、第2表示制御装置203の表示座標系の枠データが設定される。
この例における枠テーブルの第1レコードは、ウインドウID「W1」によって識別されるウインドウの枠が、全体座標系における位置(1000,500)に、幅「2000」と高さ「2000」とのサイズ及び表示角度「0」で設定されることを示している。また、ウインドウID「W1」によって識別されるウインドウの枠が、第1表示制御装置201の表示座標系における位置(1000,500)に、幅「2000」と高さ「2000」とのサイズ及び表示角度「0」で設定されることを示している。更に、ウインドウID「W1」によって識別されるウインドウの枠が、第2表示制御装置203の表示座標系における位置(−1000,500)に、幅「2000」と高さ「2000」とのサイズ及び表示角度「0」で設定されることを示している。複数のウインドウが生成される場合には、複数の枠テーブルが設けられる。
図18を用いて、全体座標系におけるウインドウ枠の位置について説明する。この例におけるコンテンツ画像109を表示するウインドウ枠の幅は、2000(ドット)である。同じくウインドウ枠の高さも、2000(ドット)である。そして、左上端点は、全体座標系における位置(1000,500)に該当する。つまり、全体座標系における位置(1000,500)に、ウインドウ枠の基準点が設定されている。右下端点は、全体座標系における位置(3000,2500)に該当する。
図19を用いて、第1表示制御装置201の表示座標系におけるウインドウ枠の位置について説明する。上述したように、第1表示制御装置201の表示座標系は、図1に示した左側の表示面105の表示座標系を意味する。左側の表示面105の幅は、2000(ドット)であり、左側の表示面105の高さは、3000(ドット)である。そして、コンテンツ画像109を表示するウインドウ枠の基準点(この例では、ウインドウ枠の左上端点)は、第1表示制御装置201の表示座標系における位置(1000,500)に該当する。尚、コンテンツ画像109を表示するウインドウ枠の右下端点は、第1表示制御装置201の表示座標系における位置(3000,2500)に該当する。
図20を用いて、第2表示制御装置203の表示座標系におけるウインドウ枠の位置について説明する。上述したように、第2表示制御装置203の表示座標系は、図1に示した右側の表示面107の表示座標系を意味する。右側の表示面107の幅は、2000(ドット)であり、右側の表示面107の高さは、3000(ドット)である。そして、コンテンツ画像109を表示するウインドウ枠の基準点(この例では、ウインドウ枠の左上端点)は、第2表示制御装置203の表示座標系における位置(−1000,500)に該当する。尚、コンテンツ画像109を表示するウインドウ枠の右下端点は、第2表示制御装置203の表示座標系における位置(1000,2500)に該当する。
続いて、サーバ装置205における処理について説明する。図21乃至図24に、サーバ装置205の処理フロー例を示す。図21乃至図24に示す処理は、クライアント端末101からウインドウ生成の要求を受信した場合に、起動する。そして、生成したウインドウが削除された時点で、この処理は終了する。また、複数のウインドウが生成される場合には、それぞれのウインドウに対応する処理が並行して実行される。
第2受信部1301が、クライアント端末101からウインドウ生成の要求を受信すると(S2101)、生成部1303は、ウインドウIDを生成する(S2103)。生成されるウインドウIDは、既存のウインドウIDと異なる。つまり、ウインドウIDは、一意である。
次に、生成部1303は、ウインドウIDに対応する認証キーを生成する(S2105)。生成される認証キーは、既存の認証キーと異なる。つまり、認証キーは、一意である。生成部1303は、S2105において生成された認証キーを、S2103において生成されたウインドウIDに対応付けて認証データ記憶部1319に記憶する。具体的には、認証データの新たなレコードに、当該ウインドウIDと当該認証キーとが設定される。
尚、クライアント端末101の認証を省く場合には、認証キーを生成しなくてもよい。この場合には、生成部1303は、S2103において生成されたウインドウIDを認証データ記憶部1319に記憶する。
決定部1305は、全体座標系におけるウインドウ枠の位置、サイズ及び表示角度を決定する(S2107)。上述したように、全体座標系における位置、サイズ及び表示角度を決定する方法は、任意である。決定部1305は、例えば、所定の位置、所定のサイズ及び所定の表示角度を用いてもよい。また、決定部1305は、既存のウインドウ枠と重複しないように、新たなウインドウ枠の位置、サイズ及び表示角度を決定するようにしてもよい。全体座標系におけるウインドウ枠の位置、サイズ及び表示角度は、枠テーブルの第1レコードに設定される。
変換部1307は、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2109)。この例では、変換部1307は、第1表示制御装置201に対する処理と、第2表示制御装置203に対する処理とを行う。3つ以上の表示制御装置を用いる場合には、変換部1307は、3つ以上の表示制御装置の夫々に対して以下の処理を行う。
変換部1307は、全体座標系におけるウインドウ枠の位置及びサイズを、当該表示制御装置の表示座標系におけるウインドウ枠の位置、サイズへ変換する(S2111)。このとき、変換部1307は、アフィン変換によって、表示座標系におけるウインドウ枠の位置を求める。この例では、表示座標系におけるウインドウ枠のサイズは、全体座標系におけるウインドウ枠のサイズと等しい。但し、表示座標系における画素密度が、全体座標系における画素密度と異なる場合には、変換部1307は、全体座標系におけるウインドウ枠のサイズに画素密度の比率を乗じて、表示座標系におけるウインドウ枠のサイズを求めるようにしてもよい。変換部1307は、アフィン変換の結果に基づいてウインドウ枠のサイズを求めるようにしてもよい。
簡易的に、変換部1307は、全体座標系におけるウインドウ枠の位置のX座標から、上記原点の位置のX座標を引くことによって、表示座標系におけるウインドウ枠の位置のX座標を求めるようにしてもよい。同じく変換部1307は、全体座標系におけるウインドウ枠の位置のY座標から、上記原点の位置のY座標を引くことによって、表示座標系におけるウインドウ枠の位置のY座標を求めるようにしてもよい。
この例で、図14に示したように第1表示制御装置201に関する上記原点の位置は(0,0)であるので、図17に示したように第1表示制御装置201の表示座標系におけるウインドウ枠の位置は、全体座標系におけるウインドウ枠の位置と同じである。また、同じく第2表示制御装置203に関する上記原点の位置は(2000,0)であるので、第2表示制御装置203の表示座標系におけるウインドウ枠の位置のX座標は、全体座標系におけるウインドウ枠の位置のX座標から2000を引いた値となる。一方、第2表示制御装置203の表示座標系におけるウインドウ枠の位置のY座標は、全体座標系におけるウインドウ枠の位置のY座標と同じである。尚、アフィン変換による位置の算出及び画素密度の比率に基づくサイズの算出は、従来技術による。
尚、表示座標系におけるウインドウ枠の表示角度は、全体座標系におけるウインドウ枠の表示角度と同じである。S2109において特定した表示制御装置の表示座標系におけるウインドウ枠の位置、サイズ及び表示角度は、上述したように、枠テーブルの第2レコード又は第3レコードに設定される。
第2送信部1309は、S2103で生成したウインドウID、S2105で生成した認証キー及びS2111において求められた表示座標系の枠データを、S2109において特定した表示制御装置へ送信する(S2113)。このとき、あて先となる表示制御装置のIPアドレスは、装置データに基づいて特定される。
変換部1307は、未処理の表示制御装置があるか否かを判定する(S2115)。未処理の表示制御装置があると判定した場合には、S2109に戻って、上述した処理を繰り返す。
未処理の表示制御装置がないと判定した場合には、第2送信部1309は、クライアント端末101へ許可データを送信する(S2117)。許可データには、S2103において生成されたウインドウID、S2105において生成された認証キー、装置データのレコードに設定されている第1表示制御装置201のIPアドレス及び第2表示制御装置203のIPアドレスが含まれる。そして、端子Gを介して、図22に示したS2201の処理に移る。
図22の説明に移る。第2受信部1301は、待機して、クライアント端末101から各種の要求を受信する(S2201)。クライアント端末101から要求を受信すると、第1検査部1311は、要求に含まれるウインドウIDを検査する(S2203)。具体的には、第1検査部1311は、要求に含まれるウインドウIDが、認証データに含まれるウインドウIDのいずれかと一致するか否かを判定する。要求に含まれるウインドウIDが、認証データに含まれるウインドウIDのいずれかと一致すると判定した場合には、検査結果は正常となる。要求に含まれるウインドウIDが、認証データに含まれるウインドウIDのいずれとも一致しないと判定した場合には、検査結果はエラーとなる。検査結果がエラーとなった場合には、第2送信部1309は、検査結果がエラーとなった旨をクライアント端末101に送信して、S2201に示した処理に戻る。
検査結果が正常となった場合には、変更部1313は、S2201において受信した要求が、ウインドウ移動の要求であるか否かを判定する(S2205)。S2201において受信した要求が、ウインドウ移動の要求であると判定した場合には、変更部1313は、ウインドウ移動の要求に含まれる移動ベクトルに基づいて、全体座標系におけるウインドウ枠の位置を変更する(S2207)。具体的には、変更部1313は、枠テーブルの第1レコードに設定されている位置のX座標に、移動ベクトルのX成分を加え、更に当該位置のY座標に、移動ベクトルのY成分を加える。
次に、変更部1313は、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2209)。この例では、変更部1313は、第1表示制御装置201に対する処理と、第2表示制御装置203に対する処理とを行う。3つ以上の表示制御装置を用いる場合には、変更部1313は、3つ以上の表示制御装置の夫々に対して以下の処理を行う。
変更部1313は、S2207において変更した、全体座標系におけるウインドウ枠の位置に基づいて、S2209において特定した表示制御装置の表示座標系におけるウインドウ枠の位置を変更する(S2211)。当該表示制御装置の表示座標系におけるウインドウ枠の位置は、上述したように、全体座標系におけるウインドウ枠の位置をアフィン変換することによって求められる。尚、アフィン変換によれば、全体座標系における画素密度と表示座標系における画素密度が異なる場合にも、画素密度の違いに応じて当該表示制御装置の表示座標系におけるウインドウ枠の位置が求められる。
第2送信部1309は、ウインドウ移動の要求に含まれるウインドウID及びS2209において特定した表示制御装置の表示座標系の枠データを当該表示制御装置へ送信する(S2213)。このとき、あて先となる表示制御装置のIPアドレスは、装置データに基づいて特定される。
変更部1313は、未処理の表示制御装置があるか否かを判定する(S2215)。未処理の表示制御装置があると判定した場合には、S2209に戻って、上述した処理を繰り返す。未処理の表示制御装置がないと判定した場合には、S2201に戻って、上述した処理を繰り返す。
S2205における処理の説明に戻る。S2205において、S2201において受信した要求が、ウインドウ移動の要求ではないと判定した場合には、端子Hを介して、図23に示したS2301の処理に移る。
図23の説明に移る。変更部1313は、図22のS2201において受信した要求が、ウインドウ拡大/縮小の要求であるか否かを判定する(S2301)。図22のS2201において受信した要求が、ウインドウ拡大/縮小の要求であると判定した場合には、変更部1313は、ウインドウ拡大/縮小の要求に含まれる拡大/縮小率に基づいて、全体座標系におけるウインドウ枠の位置及びサイズを変更する(S2303)。
ウインドウ枠の左上端点を固定して拡大又は縮小する方式の場合には、ウインドウ枠の位置は変更されない。変更部1313は、ウインドウ枠のサイズの幅に、拡大/縮小率を乗じて新たな幅を求める。更に、変更部1313は、ウインドウ枠のサイズの高さに、拡大/縮小率を乗じて新たな高さを求める。
ウインドウ枠の重心を固定して拡大又は縮小する方式の場合には、変更部1313は、ウインドウ枠のサイズの幅に、拡大/縮小率を乗じて新たな幅を求める。更に、変更部1313は、ウインドウ枠のサイズの高さに、拡大/縮小率を乗じて新たな高さを求める。そして、変更部1313は、幅の変化量の半分を、ウインドウ枠の位置のX座標から減ずる。更に、変更部1313は、高さの変化量の半分を、ウインドウ枠の位置のY座標から減ずる。尚、他の方式によって、全体座標系におけるウインドウ枠の位置及びサイズを求めるようにしてもよい。
次に、変更部1313は、図22に示したS2209の場合と同様に、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2305)。
変更部1313は、S2303において変更した、全体座標系におけるウインドウ枠の位置及びサイズに基づいて、S2305において特定した表示制御装置の表示座標系におけるウインドウ枠の位置及びサイズを変更する(S2307)。当該表示制御装置の表示座標系におけるウインドウ枠の位置は、上述したように、全体座標系におけるウインドウ枠の位置をアフィン変換することによって求められる。尚、表示座標系におけるウインドウ枠のサイズは、全体座標系におけるウインドウ枠のサイズと同じである。また、表示座標系におけるウインドウ枠の表示角度は、変更されない。
第2送信部1309は、図22に示したS2213の処理と同様に、ウインドウ拡大/縮小の要求に含まれるウインドウID及び当該表示制御装置の表示座標系の枠データを当該表示制御装置へ送信する(S2309)。
変更部1313は、未処理の表示制御装置があるか否かを判定する(S2311)。未処理の表示制御装置があると判定した場合には、S2305に戻って、上述した処理を繰り返す。未処理の表示制御装置がないと判定した場合には、端子Gを介してS2201に戻って、上述した処理を繰り返す。
S2301における処理の説明に戻る。S2301において、図22のS2201において受信した要求が、ウインドウ拡大/縮小の要求ではないと判定した場合には、変更部1313は、図22のS2201において受信した要求が、ウインドウ回転の要求であるか否かを判定する(S2313)。
図22のS2201において受信した要求が、ウインドウ回転の要求であると判定した場合には、変更部1313は、ウインドウ回転の要求に含まれる回転角度に基づいて、全体座標系におけるウインドウ枠の表示角度を変更する(S2315)。具体的には、変更部1313は、全体座標系におけるウインドウ枠の表示角度に当該回転角度を加えて、新たな表示角度を求める。尚、全体座標系におけるウインドウ枠の位置及びサイズは、変更されない。
次に、変更部1313は、図22に示したS2209の場合と同様に、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2317)。
変更部1313は、S2315において変更した、全体座標系におけるウインドウ枠の表示角度に基づいて、S2317において特定した表示制御装置の表示座標系におけるウインドウ枠の表示角度を変更する(S2319)。当該表示制御装置の表示座標系におけるウインドウ枠の表示角度は、全体座標系におけるウインドウ枠の表示角度と同じである。尚、表示座標系におけるウインドウ枠の位置及びサイズは、変更されない。
第2送信部1309は、図22に示したS2213の処理と同様に、ウインドウ回転の要求に含まれるウインドウID及び当該表示制御装置の表示座標系の枠データを当該表示制御装置へ送信する(S2321)。
変更部1313は、未処理の表示制御装置があるか否かを判定する(S2323)。未処理の表示制御装置があると判定した場合には、S2317に戻って、上述した処理を繰り返す。未処理の表示制御装置がないと判定した場合には、端子Gを介してS2201に戻って、上述した処理を繰り返す。
S2313における処理の説明に戻る。S2313において、図22のS2201において受信した要求が、ウインドウ回転の要求ではないと判定した場合には、端子Iを介して図24に示したS2401の処理に移る。
図24の説明に移る。第2削除部1315は、図22のS2201において受信した要求が、ウインドウ削除の要求であるか否かを判定する(S2401)。図22のS2201において受信した要求が、ウインドウ削除の要求であると判定した場合には、第2削除部1315は、図22に示したS2209の場合と同様に、装置データ(図14)に基づいて、表示制御装置を1つ特定する(S2403)。
第2送信部1309は、ウインドウ削除の要求に含まれるウインドウIDを特定し、当該ウインドウIDを含む削除指示を、特定した表示制御装置へ送信する(S2405)。第2削除部1315は、未処理の表示制御装置があるか否かを判定する(S2407)。未処理の表示制御装置があると判定した場合には、S2403に戻って、上述した処理を繰り返す。
未処理の表示制御装置がないと判定した場合には、第2削除部1315は、ウインドウ削除の要求に含まれるウインドウIDに関連するデータを削除する(S2409)。具体的には、第2削除部1315は、認証データのレコードのうち、ウインドウ削除の要求に含まれるウインドウIDが設定されているレコードを削除する。更に、第2削除部1315は、同じくウインドウIDに対応する枠テーブルを削除する。そして、サーバ装置205の処理を終える。
S2401における処理の説明に戻る。S2401において、図22のS2201において受信した要求が、ウインドウ削除の要求ではないと判定した場合には、無効な要求であると看做して、端子Gを介して、図22のS2201に示した処理に戻る。以上で、サーバ装置205の動作についての説明を終える。
次に、表示制御装置の動作について説明する。以下では、第1表示制御装置201について説明するが、他の表示制御装置、例えば第2表示制御装置203についても同様である。
図25に、第1表示制御装置201のモジュール構成例を示す。第1表示制御装置201は、第3受信部2551、認証部2553、第2検査部2555、描画部2557、表示処理部2559、第3削除部2561、第1受信データ記憶部2563、第2受信データ記憶部2565、表示バッファ2567、描画バッファ2569及び表示装置2571を有している。
第3受信部2551は、クライアント端末101及びサーバ装置205から各種データを受信する。認証部2553は、クライアント端末101を認証する。第2検査部2555は、クライアント端末101から受信したウインドウIDを検査する。描画部2557は、コンテンツデータ103と枠データに基づいて、ウインドウ枠内のコンテンツ画像109を描画する。表示処理部2559は、ウインドウ枠内に描画されたコンテンツ画像109を表示装置2571に表示させる。第3削除部2561は、不要になったデータを削除する。第1受信データ記憶部2563は、サーバ装置205から受信した第1受信データを記憶する。第2受信データ記憶部2565は、クライアント端末101から受信した第2受信データを記憶する。表示バッファ2567は、表示面に表示させる画像データを保持する。表示バッファ2567は、複数のレイヤを有してもよい。描画バッファ2569は、コンテンツ画像109を描画するために用いられる。表示装置2571は、例えば液晶ディスプレイ、プラズマディスプレイあるいはプロジェクタである。
上述した第3受信部2551、認証部2553、第2検査部2555、描画部2557、表示処理部2559及び第3削除部2561は、ハードウエア資源(例えば、図32)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した第1受信データ記憶部2563、第2受信データ記憶部2565、表示バッファ2567及び描画バッファ2569は、ハードウエア資源(例えば、図32)を用いて実現される。
続いて、第1受信データ記憶部2563において記憶される第1受信データについて説明する。図26に、第1受信データの例を示す。この例における第1受信データは、テーブル形式である。但し第1受信データは、テーブル形式以外の形式であってもよい。
この例における第1受信データは、ウインドウIDに対応するレコードを有している。第1受信データのレコードは、ウインドウIDを設定するためのフィールドと、認証キーを設定するためのフィールドと、表示座標系におけるウインドウ枠の位置を設定するためのフィールドと、同じくウインドウ枠のサイズを設定するためのフィールドと、同じくウインドウ枠の表示角度を設定するためのフィールドとを有している。ウインドウ枠の位置は、ウインドウ枠の基準点のX座標とY座標とによって特定される。この例では、ウインドウ枠の左上端点が基準点である。ウインドウ枠のサイズは、幅と高さとによって特定される。
この例における第1レコードは、ウインドウID「W1」について認証キー「xxxx」が対応することを示している。更に、この例における第1レコードは、ウインドウID「W1」で識別されるウインドウの枠の基準点が表示座標系の位置(1000,500)になるように、当該枠が設定されることを示している。更に、この例における第1レコードは、当該枠の幅は、「2000」であり、高さは「2000」であることを示している。また、この例における第1レコードは、表示角度が「0」になるように、当該枠が設定されることを示している。複数のウインドウが生成される場合には、複数のレコードが設けられる。
続いて、第2受信データ記憶部2565において記憶される第2受信データについて説明する。図27に、第2受信データの例を示す。この例における第2受信データは、テーブル形式である。但し第2受信データは、テーブル形式以外の形式であってもよい。
この例における第2受信データは、ウインドウIDに対応するレコードを有している。第2受信データのレコードは、ウインドウIDを設定するためのフィールドと、HTMLファイルを格納するためのフィールドと、CSSファイルを格納するためのフィールドとを有している。レコードにおいて、HTMLファイル及びCSSファイルの名前を設定し、HTMLファイル及びCSSファイルは、別の領域に格納されるようにしてもよい。
この例における第1レコードは、ウインドウID「W1」で識別されるウインドウに表示すべきコンテンツのデータが、HTMLファイル「a.html」とCSSファイル「a.css」とであることを示している。
続いて、第1表示制御装置201を例として、表示制御装置の処理について説明する。図28及び図29に、第1表示制御装置201の処理フロー例を示す。ここでは、第1表示制御装置201の処理について説明するが、他の表示制御装置、例えば第2表示制御装置203においても同様に処理する。図28及び図29に示す処理は、サーバ装置205からウインドウID、認証キー及び表示座標系の枠データを受信した場合に、起動する。そして、生成したウインドウが削除された時点で、この処理は終了する。また、複数のウインドウが生成される場合には、それぞれのウインドウに対応する処理が並行して実行される。
第3受信部2551は、サーバ装置205からウインドウID、認証キー及び表示座標系の枠データを受信すると(S2801)、受信したウインドウID、認証キー及び表示座標系の枠データを第1受信データ記憶部2563に記憶する。
次に、第3受信部2551は、クライアント端末101からウインドウID、認証キー及びコンテンツデータ103を受信すると(S2803)、受信したウインドウID及びコンテンツデータ103を第2受信データ記憶部2565に記憶する。尚、S2801においてサーバ装置205からデータを受信した時点から所定の期間内に、クライアント端末101からデータを受信しない場合には、第1表示制御装置201の処理を中断するようにしてもよい。
そして、第2検査部2555は、クライアント端末101から受信したウインドウIDを検査する(S2805)。具体的には、第2検査部2555は、クライアント端末101から受信したウインドウIDが、S2801においてサーバ装置205から受信したウインドウIDと一致するか否かを判定する。クライアント端末101から受信したウインドウIDが、サーバ装置205から受信したウインドウIDと一致すると判定した場合には、検査結果は正常となる。クライアント端末101から受信したウインドウIDが、サーバ装置205から受信したウインドウIDと一致しないと判定した場合には、検査結果はエラーとなる。検査結果がエラーとなった場合には、第1表示制御装置201は処理を中断する。このとき、第1表示制御装置201は、第1受信データ記憶部2563に記憶したデータと第2受信データ記憶部2565に記憶したデータとを削除する。
検査結果が正常となった場合には、認証部2553は、クライアント端末101を認証する(S2807)。具体的には、S2803においてクライアント端末101から受信した認証キーが、S2801においてサーバ装置205から受信した認証キーと一致するか否かを判定する。クライアント端末101から受信した認証キーが、サーバ装置205から受信した認証キーと一致する場合には、認証は成功する。クライアント端末101から受信した認証キーが、サーバ装置205から受信した認証キーと一致しない場合には、認証は失敗する。クライアント端末101の認証が失敗した場合には、第1表示制御装置201は処理を中断する。このとき、第1表示制御装置201は、第1受信データ記憶部2563に記憶したデータと第2受信データ記憶部2565に記憶したデータとを削除する。
尚、S2807におけるクライアント端末101の認証を省くようにしてもよい。その場合には、S2805における検査結果が正常であることによって、クライアント端末101の正当性が担保されていると看做す。つまり、ウインドウIDの検査が、クライアント端末101の認証も兼ねるものとする。
描画部2557は、第2受信データ記憶部2565に記憶したコンテンツデータ103と第1受信データ記憶部2563に記憶した枠データに基づいて、ウインドウ枠内のコンテンツ画像109を描画する(S2809)。具体的には、描画部2557は、コンテンツデータ103に含まれるHTMLファイルを解析し、コンテンツデータ103に含まれるCSSファイルに従ってコンテンツ画像109に含まれる各パーツを描画バッファ2569に描画する。描画部2557は、描画バッファ2569に描画されたコンテンツ画像109の全部または一部を枠データに従って、表示バッファ2567にコピーする。あるいは、描画部2557は、第2受信データ記憶部2565に記憶したコンテンツデータ103と第1受信データ記憶部2563に記憶した枠データに基づいて、コンテンツ画像109を直接表示バッファ2567に描画するようにしてもよい。
そして、表示処理部2559は、表示バッファ2567にコピーされたコンテンツ画像109を表示装置2571に表示させる(S2811)。このとき、表示処理部2559は、表示面の全体を再表示してもよいし、上位レイヤに相当するコンテンツ画像109を背景に重ねて表示するようにしてもよい。いずれの方式においても、表示面の外に位置するコンテンツ画像109は無視される。そして、端子Jを介して図29に示したS2901の処理に移る。尚、描画部2557及び表示処理部2559を、ブラウザとブラウザで動作するプログラム(例えば、スクリプト)とを用いて実現するようにしてもよい。
図29の説明に移る。第3受信部2551は、待機して、サーバ装置205からのデータを受信する(S2901)。第3受信部2551は、受信したデータが、ウインドウID及び表示座標系の枠データであるか否かを判定する(S2903)。
受信したデータが、ウインドウID及び表示座標系の枠データであると判定した場合には、描画部2557は、表示座標系の枠データを更新する(S2904)。具体的には、描画部2557は、第1受信データのレコードのうち、受信したウインドウIDが設定されているレコードを特定する。そして、描画部2557は、特定したレコードに設定されている表示座標系の枠データを、受信した表示座標系の枠データに書き換える。
描画部2557は、S2809の処理と同様に、ウインドウ枠内のコンテンツ画像109を描画する(S2905)。表示処理部2559は、S2811の処理と同様に、ウインドウ枠内に描画されたコンテンツ画像109を表示装置2571に表示させる(S2907)。このとき、表示処理部2559は、表示面の全体を再表示してもよいし、上位レイヤに相当するコンテンツ画像109を再表示するようにしてもよい。そして、上述したS2901の処理に戻って、上述した処理を繰り返す。
一方、S2901において受信したデータが、ウインドウID及び表示座標系の枠データではないと判定した場合には、第3削除部2561は、S2901において受信したデータが削除指示であるか否かを判定する(S2909)。
S2901において受信したデータが削除指示であると判定した場合には、表示処理部2559は、ウインドウIDによって特定されるウインドウ枠内のコンテンツ画像109を消去する(S2910)。具体的には、表示処理部2559は、上位レイヤに相当するコンテンツ画像109を除き、表示面の全体を再表示する。更に、第3削除部2561は、削除指示に含まれるウインドウIDに関連するデータを削除する(S2911)。具体的には、第3削除部2561は、第1受信データのレコードのうち、削除指示に含まれるウインドウIDが設定されているレコードを削除する。更に、第3削除部2561は、第2受信データのレコードのうち、削除指示に含まれるウインドウIDが設定されているレコードを削除する。S2909において、S2901において受信したデータが削除指示でなはいと判定した場合には、無効なデータであると看做して、S2901に示した処理に戻る。以上で、表示制御装置の動作についての説明を終える。
本実施の形態によれば、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することができる。この例では、表示制御装置において描画処理を行うので、クライアント端末101及びサーバ装置205における処理負荷が軽減する。
更に、HTMLファイル及びCSSファイルを含むコンテンツデータ103を伝送するので、画像データを伝送する場合に比べて、伝送データ量を抑制することができる。
更に、ウインドウIDを検査するので、不正な端末からのコンテンツ提供を判別できる。
更に、各表示面におけるウインドウの位置及び/又はサイズを連動させることができる。
更に、各表示面におけるウインドウの表示角度を連動させることができる。
[実施の形態2]
上述した実施の形態では、クライアント端末101においてウインドウに関するユーザ操作を受け付ける例について説明したが、本実施の形態では、表示制御装置においてウインドウに関するユーザ操作を受け付ける例について説明する。以下では、第1表示制御装置201について説明するが、他の表示制御装置、例えば第2表示制御装置203についても同様である。
図30に、実施の形態2に係るウインドウ移動のシーケンス例を示す。この例では、第1表示制御装置201は、ユーザの指示を受け付けるためのユーザインターフェース(例えば、表示面に設置されたタッチパッド)を有しているものとする。第1表示制御装置201は、表示制御装置のユーザインターフェースを用いて、ウインドウ移動の指示を受け付ける(S3001)。このとき、第1表示制御装置201は、例えば、ウインドウ枠とタッチ位置との関係に基づいて、移動対象のウインドウを特定する。そして、第1表示制御装置201は、例えば、タッチ位置がスライドした方向及び距離に基づいて移動ベクトルを算出する。そして、第1表示制御装置201は、移動対象のウインドウを特定するウインドウID及び移動ベクトルを含むウインドウ移動の要求をサーバ装置205へ送信する(S3003)。以降のS605乃至S623の処理は、図6の場合と同様である。
同様に、ウインドウ拡大/縮小の指示を第1表示制御装置201において受け付けるようにしてもよい。第1表示制御装置201において拡大/縮小率を算出するようにしてもよい。第1表示制御装置201は、前述の通り特定したウインドウID及び拡大/縮小率を含むウインドウ拡大/縮小の要求をサーバ装置205へ送信するようにしてもよい。
同様に、ウインドウ回転の指示を第1表示制御装置201において受け付けるようにしてもよい。第1表示制御装置201において回転角度を算出するようにしてもよい。第1表示制御装置201は、前述の通り特定したウインドウID及び回転角度を含むウインドウ回転の要求をサーバ装置205へ送信するようにしてもよい。
同様に、ウインドウ削除の指示を第1表示制御装置201において受け付けるようにしてもよい。第1表示制御装置201は、前述の通り特定したウインドウIDを含むウインドウ削除の要求をサーバ装置205へ送信するようにしてもよい。
本実施の形態によれば、ユーザは表示制御装置からウインドウを操作できる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
図31に、クライアント端末101のハードウエア構成例を示す。クライアント端末101は、プロセッサ3101、記憶部3103、アンテナ3111、無線制御部3113、オーディオ制御部3115、スピーカ3117、マイク3119、ディスプレイ3121、タッチパッド3123、カメラ3125及びGPS装置3127を有している。
プロセッサ3101は、モデムCPU(Central Processing Unit)とアプリケーションCPUからなることもある。記憶部3103は、例えば、ROM(Read Only Memory)3105とRAM(Random Access Memory)3107とフラッシュメモリ3109を有している。ROM3105は、例えば、予め設定されているデータやプログラムを格納している。RAM3107は、例えば、アプリケーションなどのプログラムやデータを展開する領域を含んでいる。フラッシュメモリ3109は、例えば、オペレーティングシステムやアプリケーションなどのプログラムを格納しており、更に随時データを格納する。
タッチパッド3123は、例えば、ディスプレイ3121の表示面上に配置されたパネル状のセンサであり、タッチ操作を受け付ける。ディスプレイ3121は、例えば、アプリケーションが表示させる各種画面を表示する。具体的には、ディスプレイ3121とタッチパッド3123とを一体としたタッチパネルとして用いられる。タッチパッド3123へのタッチ操作によって、タッチイベントが発生する。タッチパッド3123の他に、キーを設けるようにしてもよい。
アンテナ3111は、例えば、セルラー方式の無線データを受信する。無線制御部3113は、無線通信の制御を行う。無線通信の制御により、電話の音声通信やデータ通信が行われる。
オーディオ制御部3115は、音データに関するアナログ/デジタル変換とデジタル/アナログ変換を行う。スピーカ3117は、アナログデータを音として出力する。マイク3119は、音をアナログデータに変換する。
カメラ3125は、動画や写真画像の撮影に用いられる。GPS装置3127は、位置を計測する。
なお、上で述べた第1表示制御装置201、第2表示制御装置203及びサーバ装置205は、コンピュータ装置であって、図32に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る表示方法は、全体画面の一部である表示面を提供する表示装置の各々を有する複数の表示制御装置及び情報処理装置のうち、当該情報処理装置が、(A)上記全体画面の座標系におけるウインドウの位置及びサイズを、各表示面の配置に従って、当該表示面の座標系における上記ウインドウの位置及びサイズに変換する処理と、(B)各表示面の座標系における位置及びサイズを、当該表示面に係る表示制御装置に送信する送信処理とを含む。更に、上記複数の表示制御装置の各々が、(C)端末からコンテンツデータを受信する受信処理と、(D)受信したコンテンツデータに基づいて描画した画像を、上記情報処理装置から受信した位置及びサイズに従って表示する表示処理とを含む。
このようにすれば、マルチディスプレイシステムにおけるコンテンツ表示処理に係る負荷を分散することができる。
上記受信処理において、コンテンツの構成を定義した第1データと、コンテンツのレイアウトを定義した第2データとを含むコンテンツデータを受信するようにしてもよい。更に、上記表示処理において、第1データと第2データとに基づいて画像を描画するようにしてもよい。
このようにすれば、受信するデータ量を抑制することができる。
上記送信処理において、ウインドウの識別子を表示制御装置へ送信するようにしてもよい。上記受信処理において、コンテンツデータによる画像を表示すべきウインドウを指定する識別子を上記端末から受信するようにしてもよい。更に、複数の表示制御装置の各々によって、上記情報処理装置から受信した上記識別子に基づいて、上記端末から受信した上記識別子を検査する処理を含むようにしてもよい。
このようにすれば、不正な端末からのコンテンツ提供を判別できる。
上記情報処理装置によって、各表示面の配置に従って、当該表示面の座標系におけるウインドウの位置及び/又はサイズを変更する処理を含むようにしてもよい。更に、上記情報処理装置によって、各表示面について変更された位置及び/又はサイズを、当該表示面に係る表示制御装置に送信する処理を含むようにしてもよい。
このようにすれば、各表示面におけるウインドウの位置及び/又はサイズを連動させることができる。
上記情報処理装置によって、ウインドウの表示角度を変更する処理を含むようにしてもよい。上記情報処理装置によって、変更された表示角度を、各表示面に係る表示制御装置に送信する処理を含むようにしてもよい。更に、上記表示処理において、上記情報処理装置から受信した表示角度に従って上記画像を表示するようにしてもよい。
このようにすれば、各表示面におけるウインドウの表示角度を連動させることができる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。