説明

サーバ装置、端末装置、通信制御方法および通信制御プログラム

【課題】複数の入出力デバイスを用いて、ネットワーク上のサーバ装置が提供するアプリ
ケーションを利用する場合の入力デバイスのグルーピングにともなうユーザビリティの劣
化を防ぐ。
【解決手段】通信ユニット101を介して接続される複数の入出力デバイスをグループ化
してセッション情報記憶ユニット103に記憶しておき、アプリケーション処理ユニット
106による処理の結果、転送判定ユニット107によって、ほかのサーバ装置への接続
が必要となった場合に、セッション情報記憶ユニット103に記憶されたグループの情報
を読み出し、入出力デバイスへの転送指示の際に、グループ情報もあわせて送信する。グ
ループ情報を受信した入出力デバイスが、新たな接続先のサーバ装置に対して、そのグル
ープ情報を送信することで、新たな接続先のサーバ装置において、容易に入出力デバイス
のグループ化処理を実現することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ装置、端末装置、通信制御方法および通信制御プログラムに係わり、
特にサーバ装置が提供するアプリケーション機能を複数の入出力デバイスを用いて利用す
るためのサーバ装置、端末装置、通信制御方法および通信制御プログラムに関する。
【背景技術】
【0002】
ユーザビリティの向上を目的として、必要最小限の入出力インタフェースのみを備える
端末装置をユーザ側に配し、複雑な演算処理は、ネットワークを介して遠隔地に位置する
サーバ装置上で実行するコンピューティングシステムがある。例えば、特許文献1では、
本体装置(パーソナルコンピュータ、サーバ装置など)でアプリケーションを動作させて
生成した画面情報を、ネットワークを介してユーザの手元にあるディスプレイ端末に送信
して表示させるコンピューティングシステムが開示されている。
【0003】
特許文献1で開示されているコンピューティングシステムでは、ユーザの手元にあるデ
ィスプレイ端末およびタッチパネルは、ネットワークを介して直接サーバ装置と接続し通
信を行う。一方、マウスやキーボード、スピーカといった、ディスプレイ端末やタッチパ
ネル以外の入出力デバイスがサーバ装置の機能を利用する場合は、すべてディスプレイ端
末を介して通信を行う。そのため、このようなコンピューティングシステムを実現する場
合、ディスプレイ端末は、様々な入出力デバイスと接続するためのインタフェース機能を
備える必要があり、端末の装置構成が複雑になるという問題があった。
【0004】
これに対して、ディスプレイ端末だけでなく、マウスやキーボード、スピーカといった
入出力デバイスも直接サーバ装置に接続して通信を行うコンピューティングシステムも提
案されている(例えば、特許文献2)。
【0005】
このような複数の入出力デバイスがサーバ装置と個別に接続して通信を行うコンピュー
ティングシステムでは、ひとつのサーバ装置を複数のユーザが利用する場合には、ユーザ
ごとに入出力デバイス群をグループ化して管理する必要がある。これを実現するために、
特許文献2では、ネットワーク機能を有する入出力デバイス群を、ユーザごとにグループ
化するための技術が開示されている。
【0006】
特許文献2において開示された技術では、まず、ディスプレイ端末がサーバ装置に対し
て接続を試みる。サーバ装置がディスプレイ端末を信頼すべきデバイスとして認証すると
、次に、マウスやキーボードといった入力デバイスが接続を試みる。サーバ装置は、この
ような入力デバイスからの接続の試みがあると、すでに接続されたディスプレイ端末に、
接続を試みている入力デバイスへのインタラクティブな操作を行うよう促す画面を表示さ
せる。これに対応してユーザが入力デバイスへの操作を行うと、サーバ装置は、その入力
情報が、期待される応答と合致するか否かを判断し、合致する場合には、その入力デバイ
スを、ディスプレイ端末のユーザと同じユーザのグループに属する機器としてグルーピン
グする。このようにして、ユーザごとに入出力デバイス群のグループ化を行う。
【0007】
しかしながら、複数のアプリケーションを利用するために複数のサーバ装置に接続を行
う必要がある場合などには、新たなサーバ装置と接続を行うたびに上記のグルーピング手
順を実施することを求めると、ユーザビリティの劣化という問題が生じうる。
【特許文献1】米国特許第6784855号明細書(Fig.1)
【特許文献2】特開2007−4656公報(6頁、図1、10頁、図10)
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述したように、ユーザ側に配置された入出力デバイスを用いてネットワークを介して
接続された複数のサーバ装置の機能を利用するコンピューティングシステムでは、接続す
るサーバ装置の切り替えを行う必要がある場合に、サーバ装置とユーザとの間のインタラ
クティブなやり取りを通じて入出力デバイスのグルーピングを行う方法では、ユーザビリ
ティの劣化などの問題が生じうる。
【0009】
本発明は、上記従来技術の問題点を解決するためになされたものであって、複数のアプ
リケーションを利用するために複数のサーバ装置への接続切り替えを行う場合に、ユーザ
側に配置された入出力デバイスのグルーピングを、ユーザビリティを劣化させることなく
、容易に行うことを可能にするサーバ装置、端末装置、通信制御方法および通信制御プロ
グラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明のサーバ装置は、複数の入出力デバイスとネットワ
ークを介して通信可能なサーバ装置であって、複数の入出力デバイスそれぞれとの通信セ
ッションを確立して管理する管理手段と、前記複数の入出力デバイスを、それらの入出力
デバイスが属するグループと関連づけて記憶する記憶手段と、アプリケーションプログラ
ムを動作させる手段と、前記複数の入出力デバイスから、前記アプリケーションプログラ
ムへの動作指示を受信し、前記動作指示に対するアプリケーションプログラムの処理結果
を前記複数の入出力デバイスへ送信する手段と、前記アプリケーションプログラムの処理
結果が、前記複数の入出力デバイスを他のサーバ装置に接続させることを必要とするもの
か否かを判定する判定手段と、前記判定手段により、前記アプリケーションプログラムの
処理結果が、前記複数の入出力デバイスを他のサーバ装置に接続させることを必要するも
のあると判定された場合に、前記複数の入出力デバイスに対して、前記記憶手段に記憶さ
れたグループの情報を含み、前記他のサーバ装置への接続を指示するメッセージを生成し
て送信するメッセージ送信手段とを備えることを特徴とする。
【0011】
また、本発明の端末装置は、アプリケーションプログラムを動作させるサーバ装置とネ
ットワークを介して通信可能な端末装置であって、サーバ装置との通信セッションを管理
する手段と、前記サーバ装置で動作するアプリケーションプログラムへの動作指示を送信
する手段と、前記サーバ装置から、自装置が属するグループの情報を含み、他のサーバ装
置への接続を指示するメッセージを受信する手段と、前記指示された他のサーバ装置への
接続を行って通信セッションを確立する手段とを備え、前記他のサーバ装置への接続を行
って通信セッションを確立する際に、前記受信したメッセージに含まれるグループの情報
を、前記他のサーバ装置にあわせて通知することを特徴とする。
【0012】
また、本発明の通信制御方法は、複数の入出力デバイスとネットワークを介して通信し
、アプリケーションプログラムを動作させることが可能なサーバ装置の通信制御方法であ
って、複数の入出力デバイスそれぞれとの通信セッションを確立して管理し、前記複数の
入出力デバイスを、それらの入出力デバイスが属するグループと関連づけて記憶し、前記
複数の入出力デバイスから、アプリケーションプログラムへの動作指示を受信し、前記動
作指示に対するアプリケーションプログラムの処理結果を前記複数の入出力デバイスへ送
信し、前記アプリケーションプログラムの処理結果が、前記複数の入出力デバイスを他の
サーバ装置に接続させることを必要とするものか否かを判定し、前記アプリケーションプ
ログラムの処理結果が、前記複数の入出力デバイスを他のサーバ装置に接続させることを
必要するものあると判定された場合に、前記複数の入出力デバイスに対して、前記記憶さ
れたグループの情報を含み、前記他のサーバ装置への接続を指示するメッセージを生成し
て送信することを特徴とする。
【0013】
また、本発明の通信制御プログラムは、複数の入出力デバイスとネットワークを介して
通信し、アプリケーションプログラムを動作させることが可能なサーバ装置のための通信
制御プログラムであって、複数の入出力デバイスそれぞれとの通信セッションを確立して
管理させる機能と、前記複数の入出力デバイスを、それらの入出力デバイスが属するグル
ープと関連づけて記憶手段に記憶させる機能と、前記複数の入出力デバイスから、アプリ
ケーションプログラムへの動作指示を受信し、前記動作指示に対するアプリケーションプ
ログラムの処理結果を前記複数の入出力デバイスへ送信させる機能と、前記アプリケーシ
ョンプログラムの処理結果が、前記複数の入出力デバイスを他のサーバ装置に接続させる
ことを必要とするものか否かを判定させる機能と、前記アプリケーションプログラムの処
理結果が、前記複数の入出力デバイスを他のサーバ装置に接続させることを必要するもの
あると判定された場合に、前記複数の入出力デバイスに対して、前記記憶手段に記憶され
たグループの情報を含み、前記他のサーバ装置への接続を指示するメッセージを生成して
送信させる機能とを実現させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、複数のアプリケーションを利用するために複数のサーバ装置への接続
切り替えを行う場合に、ユーザ側に配置された入出力デバイスのグルーピングを、ユーザ
ビリティを劣化させることなく、容易に行うことが可能となる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態について説明する。
【0016】
(第1の実施形態)
図2は、本願発明に係わるサーバ装置100、サーバ装置600、および、入出力デバ
イスである端末装置(ディスプレイ200、キーボード300、マウス400)を含むコ
ンピューティングシステムの構成例を示す図である。
【0017】
ディスプレイ200やキーボード300、マウス400は、それぞれ入出力デバイスと
しての基本的な機能(ディスプレイであれば、表示機能、キーボードであれば、キーの入
力処理機能、マウスであれば、ポインタを移動させるなどの入力処理機能)に加えて、他
の通信装置と通信を行うための通信機能を有している。
【0018】
図2では、これらの入出力デバイスは、無線LANによる通信機能を有し、無線アクセ
ス装置500を介して、ネットワーク上のサーバ装置100と接続する。ただし、本発明
に係わるコンピューティングシステムでは、入出力デバイスとサーバ装置間の通信手段は
、必ずしも無線を介して行うものに限定されるものではなく、有線による通信を行うもの
であってもよい。
【0019】
サーバ装置100は、これらの入出力デバイス群をグループ化して管理することで、入
力デバイスからの入力に対して、処理結果を出力すべき出力デバイスを適切に判別可能と
なる。
【0020】
入出力デバイス群の初期のグループ化は、例えば、入出力デバイスが高性能な処理能力
を有している場合には、サーバ装置100と入出力デバイス間、および、個々の入出力デ
バイス間で自律的にユーザ情報や機器の識別情報などのやり取りを行い、それぞれのデバ
イスで自分が所属するグループを把握するようにすることで実現することが可能である。
【0021】
しかしながら、このような処理を行う場合、入出力デバイスの装置構成が複雑になり、
また、処理負荷が大きくなることにより、消費電力が増加するなどの問題が生じるおそれ
がある。特に、図2に示すように、入出力デバイスをモバイル端末として用いる場合には
、通信負荷の増大にともなう消費電力の増加は、モバイル端末の駆動時間の劣化につなが
るため望ましくない。
【0022】
これに対して、例えば、特開2007−4656号公報にて記述されているように、サ
ーバ装置100とユーザ(入出力デバイス)との間のインタラクティブな操作を用いて入
出力デバイスのグループ化を行うことも可能である。このような方法では、サーバ装置1
00が各入出力デバイスとの間で通信を行い、サーバ装置100が主体となって入出力デ
バイスをグループ化して管理するため、入出力デバイスの装置構成を簡易にすることが可
能となる。また、入出力デバイスは、サーバ装置100との間でのみ通信を行えばよいた
め、通信負荷が軽減され、すぐれた低消費電力性を実現することが可能となる。
【0023】
次に、図2におけるコンピューティングシステムの動作について簡単に説明する。
【0024】
図2において、ユーザは、ユーザ側に配置された入出力デバイス(ディスプレイ200
、キーボード300、マウス400)を用いて、サーバ装置100上のアプリケーション
機能を利用する。
【0025】
すなわち、ユーザがキーボード300やマウス400に対して入力処理(キー入力、マ
ウスの移動、クリックなど)を実行すると、入力を受けたキーボード300やマウス40
0は、その入力情報をサーバ装置100に対して送信する。サーバ装置100は、これら
の入力デバイスから送信された入力情報を受信し、入力に応じたアプリケーション処理を
実行する。
【0026】
図2は、サーバ装置100が文章作成アプリケーション機能を有している場合の例を示
している。ディスプレイ200には、サーバ装置100から送信されたアプリケーション
画面が表示されている。
【0027】
ユーザがキーボード300への入力を行うと、キー入力情報がサーバ装置100に送信
される。サーバ装置100は、受信したキー入力情報に基づいて、アプリケーションの処
理を実行し、処理結果を反映したアプリケーション画面を生成してディスプレイ200に
送信する。そして、ディスプレイ200は、新たにサーバ装置100から受信したアプリ
ケーション画面を表示する。
【0028】
ここで、サーバ装置100からディスプレイ200に対するアプリケーション画面の伝
送は、VNC(Virtual Network Computing)のような伝送方
式を用いて行えばよい。VNCでは、サーバ装置100で生成されるアプリケーション画
面の更新が発生した際、更新前のアプリケーション画面の画素情報の値と、更新後のアプ
リケーション画面の画素情報の値を比較し、更新前後で変化した画面領域を抽出し、その
画面領域の差分情報のみを伝送する。したがって、例えば、ウィンドウの移動など、アプ
リケーション画面の変更が大きい入力があった場合には、送信すべき差分情報は多くなる
が、マウスポインタの移動など、アプリケーション画面の変更が小さい入力に対しては、
送信すべき差分情報は少ないため、通信帯域の効率的な利用が可能となる。
【0029】
なお、上述したように、サーバ装置100と入出力デバイスとの間のインタラクティブ
な操作により、サーバ装置100においてユーザごとに入出力デバイスのグループ化を行
うようにすると、サーバ装置100は、複数のユーザと接続を行ってサービスを提供する
場合にも、各ユーザに属する入出力デバイスを区別して、サービスを提供することが可能
となる。
【0030】
次に、図3および図4を用いて、あるサーバA(サーバ装置100)に接続中の入出力
デバイス群が、他のサーバB(サーバ装置600)に接続を切り替える場合の動作につい
て説明する。
【0031】
図3において、サーバ装置100は「文章作成(ワープロ)」機能を有し、サーバ装置
600は「表計算」機能を有しているものとする。また、サーバ装置100は、サーバ装
置600の存在、および、サーバ装置600が提供可能なサービスを、あらかじめ把握し
ているものとする。他のサーバ装置が提供可能なサービスの把握には、例えば、UPnP
(Universal Plug and Play)などの技術仕様を用いることがで
きる。
【0032】
まず、ディスプレイ200、キーボード300、および、マウス400は、サーバ装置
100にて同一のグループとして管理され、サーバ装置100は、ユーザに対して文章作
成サービスを提供しているものとする。
【0033】
ユーザが「表計算」や「プレゼンテーション」などの他のアプリケーション機能を利用
したい場合、サーバ装置100は、図4に示すように、自身が提供可能な機能情報のほか
、自身が認識する他のサーバ装置600の機能情報をディスプレイ200に表示させ、ユ
ーザに選択を促す。
【0034】
ここで、サーバ装置600が提供する「表計算」機能が選択されると、サーバ装置10
0は、同一のグループとして管理しているディスプレイ200、キーボード300、およ
び、マウス400に対して、接続先をサーバ装置600へと変更させるための転送指示を
行う。
【0035】
ここで、転送指示を実現する手段としては、SIP(Session Initiat
ion Protocol)のREFERメソッドのように、転送先のアドレス情報を通
知する方式を用いることができる。
【0036】
しかしながら、このような方式では、個々の入出力デバイスが、それぞれ個別に新たな
サーバ装置600に接続を行うことになるため、サーバ装置100で管理されていた入出
力デバイスのグループ情報が失われ、例えば、上述した特開2007−4656号公報に
て記述されているような方式を用いて、ユーザとサーバ装置600との間のインタラクテ
ィブな操作を経て、再度グループ化処理を実施する必要が生じる。したがって、ユーザに
とっては、アプリケーション機能を提供するサーバ装置を切り替えるたびに、入出力デバ
イスのグルーピングのためのインタラクティブな操作を繰り返し実行することが必要とな
り、ユーザビリティが著しく劣化することになる。本願発明に係わるサーバ装置は、この
ような問題を解決するためになされたものである。
【0037】
図1は、本発明の第1の実施形態に係わるサーバ装置100の構成を示すブロック図で
ある。なお、以下では、サーバ装置100の構成について説明するが、サーバ装置600
も同様の構成を有し、図1において、各部に付された括弧書きの符号は、サーバ装置60
0の各部の符号である。
【0038】
サーバ装置100は、通信ユニット101、セッションマネージャ102、セッション
情報記憶ユニット103、送受信処理ユニット104、入出力処理ユニット105、アプ
リケーション処理ユニット106、転送判定ユニット107、転送指示生成ユニット10
8を有する。
【0039】
通信ユニット101は、入出力デバイスとの間で、IEEE802.3やFDDI(F
iber Distributed Data Interface)などの有線通信の
規格、あるいは、IEEE802.11やBluetooth(登録商標)などの無線通
信の規格にしたがった通信を行う。
【0040】
セッションマネージャ102は、入出力デバイスとの間で接続を確立してから切断する
までの一連の通信の状態やアプリケーションの状態を通信セッション情報として管理する
。通信セッション情報は、セッション情報記憶ユニット103に記憶される。
【0041】
図5は、サーバ装置100のセッション情報記憶ユニット103に記憶された通信セッ
ション情報テーブルの一例を示している。
【0042】
図5における「自IPアドレス」は、サーバ装置100のIPアドレスを示す。「自ポ
ート番号」は、通信パケットのサーバ装置内での最終的な配送先を指定するために用いる

【0043】
「デバイス端末IPアドレス」および「デバイス端末ポート番号」は、接続中の相手入
出力デバイスを識別し、通信するために用いられる。
【0044】
「種別」は、接続中の入出力デバイスの種類を表す。サーバ装置100は、この種別を
参照して、入出力デバイスがどのような機能を有するデバイスであるかを判別する。
【0045】
「固有情報」は、入出力デバイスに固有の設定情報であり、入出力デバイスが有する通
信ユニットの通信速度(接続速度)のほか、例えば、キーボードであれば、キー操作を受
け付けてから表示するまでの時間間隔(表示間隔)、マウスであれば、カーソルの移動速
度(カーソル速度)などが固有情報として記憶される。
【0046】
また、ディスプレイであれば、表示可能な色数などの画質の情報や、表示可能な最大の
解像度、画面サイズなどが固有情報として記憶される。なお、画面サイズは、必ずしもデ
ィスプレイ全体の画面サイズである必要はなく、例えば、サーバ装置100が利用できる
(アプリケーション画面を表示できる)表示領域が、ディスプレイの一部の領域である場
合には、その領域の位置情報が記憶されるものとする。位置情報は、例えば、ディスプレ
イの画面サイズが1024×768(水平(横)方向の画素数が1024画素、垂直(縦
)方向の画素数が768画素)の大きさを有する場合には、表示領域が矩形領域であると
して、矩形領域の始点の座標(0,0)、および、終点の座標(1023,767)など
を固有情報として記憶することにより、特定することができる。
【0047】
「セッション識別子」は、サーバ装置100で入出力デバイス群のグループ化処理を実
施したのちに、入出力デバイスを識別する情報と関連づけて記憶されるグループの識別情
報である。本発明に係わるコンピューティングシステムでは、入出力デバイスの処理負荷
軽減のため、グループ化とセッション識別子の生成、管理はサーバ装置100にて行う。
なお、セッション識別子は、他のグループのセッション識別子との衝突を回避するために
、乱数値と時刻情報をハッシュ関数による演算を用いて生成することが望ましい。
【0048】
このように、入出力デバイスと、それらの入出力デバイスが属するグループの識別情報
であるセッション識別子とを関連づけて記憶しておくことにより、セッションマネージャ
102は、セッション情報記憶ユニット103を参照して、ある入力デバイス(例えば、
キーボード)からの入力結果を、どの出力デバイス(例えば、ディスプレイ)に送信すれ
ばよいかを把握することができ、ひとつのサーバ装置が提供するアプリケーション機能を
、複数のユーザおよび複数の入出力デバイスから同時に利用することが可能となる。
【0049】
送受信処理ユニット104は、通信ユニット101で受信した入出力デバイスからのパ
ケットに対し、通信制御情報の除去や誤り訂正などの処理を行ったのち、処理後のデータ
を入出力処理ユニット105に送る。また、送受信処理ユニット104は、入出力処理ユ
ニット105から送信用のデータを受けた場合には、セッションマネージャ102から取
得した宛先デバイスに向けてデータ送信するためのパケットの生成を行い、生成されたパ
ケットを、通信ユニット101を介して宛先デバイスに送信する。
【0050】
入出力処理ユニット105は、アプリケーション処理ユニット106との間でデータを
入出力するための、データの形式変換などの処理を行う。例えば、キーボード300から
のキー入力データをアプリケーション処理ユニット106に入力したり、アプリケーショ
ン処理ユニット106から取得したアプリケーション画面データを、ディスプレイ200
に送信するために適切な形式に変換したりする。
【0051】
なお、アプリケーション画面データとは、アプリケーション処理ユニット106でアプ
リケーションプログラムを動作させた結果生成される、アプリケーションの処理結果をユ
ーザに提示するための画面データをいうものとする。また、アプリケーション画面データ
は、無圧縮のビットマップ画像として取り扱ってもよく、JPEG(Joint Pho
tographic Experts Group)のような圧縮静止画方式で圧縮され
ていてもよく、MPEG(Moving Picture Experts Group
)のような圧縮動画方式で圧縮されていてもよい。
【0052】
より具体的には、入出力処理ユニット105は、アプリケーション処理ユニット106
で生成されたアプリケーション画面データのうち、すでに送信済みのアプリケーション画
面データに対して更新された部分の画面データだけを送信する。入出力処理ユニット10
5は、更新部分のアプリケーション画面データをアプリケーション処理ユニット106か
ら受信し、更新部分の位置を示す座標情報を付加して送信データを生成する。そして、伝
送路の状況に応じて、生成した送信データを圧縮するなどの信号処理を施し、処理後のデ
ータを、送受信処理ユニット104、通信ユニット106を介して、ディスプレイ200
に送信する。
【0053】
アプリケーション処理ユニット106は、OS(Operating System)
やOS上で動作するアプリケーションプログラム(アプリケーションソフトウェア)の動
作処理を実施する。例えば、ネットワークを介して接続された入力デバイスから動作指示
を受信した場合、その動作指示に対応するようにアプリケーション処理を実行する。
【0054】
このとき、アプリケーションプログラムの処理の結果、アプリケーション画面データに
変更が発生した場合には、アプリケーション処理ユニット106は、アプリケーション画
面データの更新部分の情報を入出力処理ユニット105に送る。入出力処理ユニット10
5は、上述したように、伝送路の状況に応じた信号処理を施して、送受信処理ユニット1
04、通信ユニット106を介して、処理後のデータをディスプレイ200に送信する。
【0055】
また、アプリケーション処理ユニット106は、キーボード300やマウス400など
を通じて、ユーザから、アプリケーションの切り替えなどの動作指示を受け取った場合に
は、アプリケーションの切り替えにともない、他のサーバ装置への接続が必要か否かを判
断するために、転送判定ユニット107に通知する。
【0056】
転送判定ユニット107は、切り替えるべきアプリケーションがどのサーバ装置よって
提供されているかを判断し、別のサーバ装置(ここではサーバ装置600)への接続(転
送)の要否を判定する。さらに、転送判定ユニット107は、転送が必要となる入出力デ
バイスを、セッションマネージャ102を参照して決定する。
【0057】
転送指示生成ユニット108は、転送判定ユニット107によって、接続すべきサーバ
装置600と、サーバ装置600への転送を指示すべき入出力デバイスが決定されると、
それらの入出力デバイスに対して、新たなサーバ装置600への接続を行うように指示す
るメッセージ(転送指示メッセージ)を生成し、生成したメッセージを、通信ユニット1
06を介して入出力デバイスに送信する。
【0058】
このとき、転送指示生成ユニット108は、セッション情報記憶ユニット103に記憶
されている入出力デバイスが属するグループの情報(セッション識別子)も転送指示メッ
セージに含めて送信する。
【0059】
図6は、サーバ装置100が入出力デバイスに対して送信する転送指示メッセージの構
成例を示す図である。
【0060】
転送指示メッセージは、「IPヘッダ」に加え、「UDP(User Datagra
m Protocol)/TCP(Transmission Datagram Pr
otocol)ヘッダ」を含む。これらのヘッダを含むことにより、転送指示メッセージ
が、ネットワークを介して入出力デバイスまで配送されることになる。
【0061】
「メッセージ種別」は、通信パケットが転送指示メッセージであることを示す識別情報
である。
【0062】
「転送先IPアドレス」および「転送先ポート番号」は、転送先のサーバ装置600の
IPアドレス、ポート番号である。メッセージを受信した入出力デバイスは、これらのI
Pアドレスとポート番号により、転送先のサーバ装置600に接続することが可能になる

【0063】
「セッション識別子」は、転送指示メッセージの宛先である入出力デバイスが属するグ
ループを識別するための識別情報である。上述したように、セッション識別子は、入出力
デバイスのグループ化処理の際に、入出力デバイスの識別情報と関連づけてセッション情
報記憶ユニット103に記憶されたものである。転送指示生成ユニット108は、入出力
デバイスへの転送指示メッセージを生成する際に、宛先である入出力デバイスのセッショ
ン識別子をセッション情報記憶ユニット103から読み出し、転送指示メッセージに含め
る。
【0064】
「固有情報」は、セッション情報記憶ユニット103が記憶しているデバイスの固有情
報であり、上述したように、マウスのカーソル速度など、入出力デバイスに固有の設定情
報である。例えば、ユーザが、他のサーバ装置への接続以前にマウスのカーソル速度を変
更した場合には、変更後の最新情報をセッション情報記憶ユニット103に記憶しておき
、接続指示の際に、その固有情報を転送指示メッセージに含めることで、新しい接続先の
サーバ装置においても、ユーザ固有の設定を反映することが可能になり、ユーザの利便性
を向上させることができる。
【0065】
以上が、本発明に係わるサーバ装置100の構成である。
【0066】
次に、サーバ装置100により送信される転送指示メッセージを受信し、別のサーバ装
置600に接続を行う入出力デバイスの構成について説明する。
【0067】
図7および図8は、本発明に係わる端末装置であるキーボードやマウスなど、ユーザか
らのデータ入力を受けつける入力デバイス、および、ディスプレイなど、ユーザへのデー
タの出力を行う出力デバイスの構成を示す図である。なお、図7はキーボード300の構
成として示しているが、入力部301、入力インタフェース302、および、入力データ
送信ユニット303の動作が異なるのみで、マウス400も同様の構成で実現可能である

【0068】
図7に示すようにキーボード300は、入力部301、入力インタフェース302、入
力データ送信ユニット303、セッションマネージャ304、セッション情報記憶ユニッ
ト305、転送指示処理ユニット306、通信ユニット307を有する。
【0069】
入力部301は、ユーザからのキー操作を受け付ける。入力部301へのキー操作は、
入力インタフェース302で電気信号に変換され、入力データとして入力データ送信ユニ
ット303へ送られる。
【0070】
入力データ送信ユニット303は、入力インタフェース302から送られた入力データ
に、符号化処理などを行ったのち、通信制御情報などを付加して、セッションマネージャ
304が管理する接続中のサーバ装置に対して入力データの送信を行う。
【0071】
セッションマネージャ304は、サーバ装置との間で接続を確立してから切断するまで
の一連の通信の状態およびアプリケーションの状態を通信セッション情報として管理する
。通信セッション情報は、通信セッション情報記憶ユニット305に記憶される。
【0072】
図9(a)は、キーボード300のセッション情報記憶ユニット305に記憶された通
信セッション情報テーブルの一例を示している。図9(a)のテーブルの各項目の内容は
、図5におけるサーバ装置100の通信セッション情報テーブルの各項目と同様であるが
、サーバ装置100の通信セッション情報テーブルとは異なり、キーボード300の通信
セッション情報テーブルには、キーボード300が属するグループを識別するための「セ
ッション識別子」の項目がない。これは上述したとおり、本発明に係わるコンピューティ
ングシステムでは、入出力デバイスの処理負荷軽減のため、グループ化とセッション識別
子の生成、管理はサーバ装置100にて行うことにしていることによるものである。
【0073】
なお、図9(b)、(c)のテーブルは、それぞれ、入力デバイスであるマウス400
、および、後述するディスプレイ200のセッション情報記憶ユニットに記憶されている
通信セッション情報テーブルの一例を示している。
【0074】
転送指示処理ユニット306は、サーバ装置100から送信される転送指示メッセージ
を受信した場合に、セッションマネージャ304に対して、サーバ装置100との接続を
切断させ、新たなサーバ装置600に接続し、通信を確立するよう指示する。このとき、
転送指示処理ユニット306は、転送指示メッセージに含まれるセッション識別子をセッ
ションマネージャ304に通知する。
【0075】
セッションマネージャ304は、転送指示処理ユニット306から新しいサーバ装置6
00との通信を確立する際に、サーバ装置600に送信する通信確立のためのメッセージ
に、転送指示処理ユニット306から通知されたセッション識別子を含める。
【0076】
このようにすることで、キーボード300は、サーバ装置100で管理されているグル
ープの情報を、新しい接続先となるサーバ装置600に伝えることが可能となる。
【0077】
なお、ネットワークを介したデータの送受信は、サーバ装置100と同様に、通信ユニ
ット307を介して行う。通信ユニット307は、上述したように、IEEE802.3
やFDDI(Fiber Distributed Data Interface)な
どの有線通信の規格、あるいは、IEEE802.11やBluetooth(登録商標
)などの無線通信の規格にしたがった通信を行う。
【0078】
図8は、出力デバイスであるディスプレイ200の構成を示す図である。
【0079】
図8に示すようにディスプレイ200は、表示部201、出力インタフェース202、
出力データ受信ユニット203、表示画面生成ユニット204、セッションマネージャ2
05、セッション情報記憶ユニット206、転送指示処理ユニット207、通信ユニット
208を有する。
【0080】
出力データ受信ユニット203は、通信ユニット208を介して、サーバ装置100か
らのアプリケーション画面データを受信する。出力データ受信ユニット203は、受信し
たデータに対して通信制御情報の除去や誤り訂正などの処理行い、処理後のデータを表示
画面生成ユニット204に送る。
【0081】
画面生成ユニット204は、出力データ受信ユニット203から送られたデータが圧縮
されていれば復号処理を実施し、出力インタフェース202を介して、アプリケーション
画面データを表示部201に表示する。
【0082】
なお、上述したように、サーバ装置100から送信されるアプリケーション画面データ
が、すでに受信済みのアプリケーション画面データに対する更新部分のデータのみである
場合には、表示画面生成ユニット204は、その更新部分のデータと、更新部分の位置を
示す座標情報を受信したデータから取得し、すでに受信済みのアプリケーション画面デー
タの該当部分を、受信したデータで更新して表示画面を生成する。
【0083】
また、ディスプレイ200における転送指示処理ユニット207の動作は、上述したキ
ーボード300の転送指示処理ユニット306の動作と同様である。
【0084】
次に、図10および図11を用いて、本発明に係わるコンピューティングシステムにお
ける各装置の動作について説明する。
【0085】
上述したように、サーバ装置100とサーバ装置600は、UPnPなどの技術仕様に
したがい、お互いに提供可能なアプリケーション機能と、そのアプリケーション機能を利
用するための接続情報(IPアドレス、ポート番号など)をあらかじめ認識しているもの
とする。他のサーバ装置が提供するアプリケーション機能は、そのサーバ装置の接続情報
とあわせてセッション情報記憶ユニット103に記憶され、セッションマネージャ102
で管理されているものとする。また、ユーザ側に配置されたディスプレイ200、キーボ
ード300、および、マウス400には、電源投入後に接続する初期接続先として、サー
バ装置100が設定されているものとする。
【0086】
電源が投入(ステップS101)された入出力デバイスは、それぞれ、初期接続先とし
て設定されているサーバ装置100に接続し、通信セッションの確立を行う(ステップS
102)。このときサーバ装置100のセッションマネージャ102は、通信セッション
が確立された入出力デバイスの情報を、セッション情報記憶ユニット103に記憶する。
ただし、この段階では入出力デバイスのグループ化は完了していないため、サーバ装置1
00のセッション情報記憶ユニット103に記憶された通信セッション情報テーブルには
、セッション識別子が記憶されていない状態(あるいは、デフォルトの値が記入された状
態)である。
【0087】
次に、上述したような、サーバ装置100とユーザとの間の入出力デバイスを介したイ
ンタラクティブな操作を通じて、入出力デバイス群のグループ化処理がサーバ装置100
で実施される。
【0088】
まず、サーバ装置100のセッションマネージャ102は、セッション情報記憶ユニッ
ト103を参照して、出力デバイスであるディスプレイ200を選択し、ディスプレイ2
00に対して、キーボードに所定の入力を行うよう指示する画面を生成して送信する(ス
テップS103、ステップS104)。
【0089】
ユーザは、ディスプレイ200の表示を見て、手元にあるキーボード300に対して、
指示にしたがった操作を行う(ステップS105)。キーボード300は、入力されたデ
ータを通信セッションが確立しているサーバ装置100に送信する(ステップS106)

【0090】
サーバ装置100のセッションマネージャ102は、ディスプレイ200に対して送信
したキーボードへの入力指示に対して、キーボード300からの応答があったことにより
、ディスプレイ200とキーボード300とが同じユーザによって利用されていることを
認識することができる。そして、セッションマネージャ102は、グループを一意に識別
するためのセッション識別子を生成し、セッション情報記憶ユニット103に記憶された
セッション情報記憶テーブルのディスプレイ200とキーボード300のセッション識別
子の項目に、生成したセッション識別子の値を記憶する(ステップS107)。
【0091】
このような処理により、ディスプレイ200とキーボード300のグルーピングが実現
される。
【0092】
セッションマネージャ102は、さらに、マウスについても同様の処理を行い、マウス
400のグルーピング処理を行う(ステップS108〜ステップS111)。
【0093】
入出力デバイスのグルーピング処理が完了した後は、サーバ装置100は、アプリケー
ション処理ユニット106で生成されるアプリケーション画面データをディスプレイ20
0に送信し(ステップS112)、グループ化されたキーボード300やマウス400か
らの入力を送受信処理ユニット104、入出力処理ユニット105で処理することで、ユ
ーザに対してアプリケーション機能を提供する。
【0094】
図11は、ユーザが、サーバ装置100に接続中に、サーバ装置600が提供するアプ
リケーション機能を選択し、サーバ装置100からサーバ装置600への再接続が必要と
なった場合の各装置の動作を示す。サーバ装置600が提供するアプリケーション機能の
選択は、サーバ装置100からディスプレイ200に送信される、図4のような画面で、
サーバ装置600が提供するアプリケーション機能(ここでは「表計算」)を、マウス4
00で選択することにより行われる(ステップS201、ステップS202)。
【0095】
サーバ装置100の転送判定ユニット107は、マウス400から入力を受信すると、
アプリケーション処理ユニット106からの通知を受け、他のサーバ装置への接続が必要
かどうかを判定する。そして、セッションマネージャ102を参照して、転送先となるサ
ーバ装置(図11の例では、サーバ装置600)を決定する。そして、セッション情報記
憶ユニット103に記憶されているセッション識別子を参照し、サーバ装置600へ転送
すべき入出力デバイスを決定する(ステップS203)。
【0096】
具体的には、図5に示すように、セッション情報記憶ユニット103に記憶されている
通信セッション情報テーブルでは、同じグループに属する(すなわち、同じセッション識
別子を有する)入出力デバイスとして、ディスプレイ200、キーボード300、および
、マウス400が記憶されているので、転送判定ユニット107は、これらの入出力デバ
イスを、転送すべき入出力デバイスとして決定する。
【0097】
次に、サーバ装置100の転送指示生成ユニット108は、これらの入出力デバイスに
対して、サーバ装置600への接続を指示する転送指示メッセージを生成して送信する(
ステップS203、ステップS204)。上述したように転送指示メッセージは、これら
の入出力デバイスが属するグループのセッション識別子を含む。
【0098】
転送指示メッセージを受信したディスプレイ200の転送指示処理ユニット207は、
セッションマネージャに対して、サーバ装置100との間の通信を切断するよう指示する
(ステップS205)。なお、以下では、簡単のため、ディスプレイ200における各部
の動作について説明するが、キーボード300およびマウス400についても同様の動作
が行われる。
【0099】
次に、ディスプレイ200の転送指示処理ユニット207は、セッションマネージャ2
05に、サーバ装置600との接続を行うように指示する。セッションマネージャ207
は、サーバ装置600との間の通信セッションを確立する(ステップS206)。
【0100】
このとき、転送指示処理ユニット207は、転送指示メッセージに含まれるセッション
識別子をセッションマネージャ205に通知する。セッションマネージャ205は、サー
バ装置600との通信セッションを確立する際に、サーバ装置600に送信する通信確立
のためのメッセージに、転送指示処理ユニット207から通知されたセッション識別子を
含める。
【0101】
このようにすることで、ディスプレイ200は、サーバ装置100で管理されているグ
ループの情報を、新しい接続先となるサーバ装置600に伝えることが可能となる。
【0102】
ディスプレイ200、キーボード300、および、マウス400との間で通信セッショ
ンを確立したサーバ装置600のセッションマネージャ602は、通信セッションが確立
された入出力デバイスの情報を、セッション情報記憶ユニット603に記憶する。
【0103】
このとき、各入出力デバイスからは、それらの入出力デバイスが属するグループを識別
するセッション識別子が通知されているため、セッションマネージャ602は、そのセッ
ション識別子もセッション情報記憶ユニット603に記憶する。このように、サーバ装置
600は、入出力デバイスから通知されるセッション識別子を用いることにより、新たに
入出力デバイスとの間でインタラクティブな操作を経ることなく、入出力デバイスのグル
ープ化を実現することが可能になる(ステップS207)。
【0104】
そしてサーバ装置600は、このようにしてセッション情報記憶ユニット603に記憶
されたセッション識別子を用いて、入出力デバイスのグループを判断し、ディスプレイ2
00、キーボード300、および、マウス400を通じて、アプリケーション機能の提供
を行うことが可能となる。(ステップS208)
このように、本発明の第1の実施形態に係わるコンピューティングシステムでは、ネッ
トワークを介してサーバ装置100と接続する入出力デバイス(ディスプレイ200、キ
ーボード300、および、マウス400)のグループ化をサーバ装置100にて行い、各
入出力デバイスを、それらの入出力デバイスが属するグループの識別情報(セッション識
別子)と関連づけて記憶しておく。そして、他のアプリケーション機能の利用にともなっ
て他のサーバ装置(サーバ装置600)に接続が必要となった場合に、サーバ装置100
から各入出力デバイスに接続(転送)指示を送信する。ことのき、サーバ装置100に記
憶されている入出力デバイスが属するグループの識別情報もあわせて送信する。入出力デ
バイスが、そのグループの識別情報を、接続先のサーバ装置600に通知することにより
、サーバ装置600は、入出力デバイスのグループ化処理を容易に行うことが可能になる
。そのため、ユーザにとって、ユーザビリティの劣化なく、アプリケーションの切り替え
を実現することができる。
【0105】
なお、上述した実施形態では、アプリケーション機能の切り替えにともなって、グルー
プ化されたすべての入出力デバイスを新たなサーバ装置600に接続するようにしていた
が、グループのうちの一部の入出力デバイスのみを新たなサーバ装置600に接続するよ
うにしてもよい。
【0106】
例えば、サーバ装置100が提供する「文章作成(ワープロ)」機能を利用しながら、
ユーザ側に配置され、サーバ装置100とネットワークを介して接続されたスピーカで、
サーバ装置100で再生される音楽を聴いている場合を考える。このとき、アプリケーシ
ョンは、サーバ装置600が提供する「表計算」に切り替えるが、音楽は聴き続けたい場
合には、スピーカ以外の入出力デバイスはサーバ装置600に接続し、スピーカは、サー
バ装置100に接続したままであることが望ましい。
【0107】
このようなことを実現するために、例えば、音楽が再生されている場合には、アプリケ
ーション機能の切り替え時に、図12に示すような切り替え対象となる入出力デバイスを
選択させる画面をディスプレイ200に表示させ、選択された入出力デバイスのみを接続
するようにすることも可能である。
【0108】
サーバ装置100の転送指示生成ユニット108は、ユーザによって選択された入出力
デバイスに対してのみ、転送指示メッセージを生成して送信し、セッションマネージャ1
02は、選択されなかった入出力デバイス(ここではスピーカ)の通信セッションを維持
する。これにより、必要に応じて、一部の入出力デバイスのみを新たなサーバ装置600
に接続させることが可能になる。
【0109】
なお、上述したサーバ装置は、例えば、汎用のコンピュータ装置を基本ハードウェアと
して用いることでも実現することが可能である。すなわち、これらの装置を構成する各ユ
ニットは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させるこ
とにより実現することができる。このとき、サーバ装置は、上記のプログラムをコンピュ
ータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記
憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプ
ログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、セッ
ション情報記憶ユニットのような記憶手段は、上記のコンピュータ装置に内蔵あるいは外
付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、D
VD−Rなどの記憶媒体などを適宜利用して実現することができる。
【0110】
(第2の実施形態)
本発明の第2の実施形態では、第1の実施形態に係わるディスプレイ200において、
サーバ装置100が提供するアプリケーション機能と、サーバ装置600が提供するアプ
リケーション機能とを同時に利用する場合のコンピューティングシステムの実施の形態に
ついて説明する。
【0111】
すなわち、上述した第1の実施形態では、ユーザが、サーバ装置100が提供する「文
章作成(ワープロ)」機能を利用中に、サーバ装置600が提供する「表計算」機能を利
用するために、接続するサーバ装置を切り替える実施の形態について説明したが、第2の
実施形態では、ディスプレイ200の表示領域を分割し、サーバ装置100への接続を維
持して、ディスプレイ200の一部の表示領域にサーバ装置100が提供する「文章作成
(ワープロ)」機能のアプリケーション画面を表示したまま、サーバ装置600への接続
を追加し、「表計算」機能も利用する場合の実施の形態について説明する。
【0112】
第2の実施形態に係わるサーバ装置100およびサーバ装置600の構成は、図1に示
した第1の実施形態に係わるサーバ装置100およびサーバ装置600の構成と同じであ
るが、第2の実施形態に係わる動作を実現するために、各ユニットが第1の実施形態にお
いて説明した動作に加えて新たな動作行う。
【0113】
図13は、第2の実施形態に係わるサーバ装置の追加前後のディスプレイ200に表示
されるアプリケーション画面の様子を示す図である。図13(a)は、サーバ装置100
と接続し、「文章作成(ワープロ)」機能のみを利用している場合の表示例であり、図1
3(b)は、さらにサーバ装置600とも接続し、「文章作成(ワープロ)」機能と「表
計算」機能を同時に利用している場合の表示例である。図13(a)において、「文章作
成(ワープロ)」機能と「表計算」機能とを選択するための画面は、サーバ装置100が
生成している。図13(b)において、「文章作成(ワープロ)」の画面は、サーバ装置
100が生成し、ディスプレイ200に送信されたアプリケーション画面であり、「表計
算」の画面は、サーバ装置600が生成し、ディスプレイ200に送信されたアプリケー
ション画面である。
【0114】
また、図13(b)に示すように、ディスプレイ200の表示領域を分割し、複数のサ
ーバ装置から送信されるアプリケーション画面を表示する場合に、アクティブなアプリケ
ーションの指定は、マウスポインタをひとつのアプリケーション画面上に移動させること
よって行うものとする。図13(b)に示す例では、マウスポインタは、「文章作成(ワ
ープロ)」画面上に存在するので、「文章作成(ワープロ)」機能がアクティブなアプリ
ケーションである。
【0115】
図14を用いて、ディスプレイ200の表示領域について説明する。図14に示す例で
は、ディスプレイ200は、最大で水平(横)方向に1024画素、垂直(縦)方向に7
68画素の画面サイズを有する出力デバイスである。そして、サーバ装置100が生成し
たアプリケーション画面は、座標位置(0,0)から(511,767)の矩形領域の範
囲に表示され、サーバ装置600が生成したアプリケーション画面は、座標位置(512
,0)から(1023,767)の矩形領域の範囲に表示される。ここで、座標位置とは
、水平(横)方向と垂直(縦)方向の画素位置を示すものである。
【0116】
また、図14では、サーバ装置100の表示領域をユーザから見て左手側に表示し、サ
ーバ装置600の表示領域を右手側に表示するようにしているが、表示領域の設定は、こ
のような例に限られず、その逆であってもよいし、上下に表示領域を分割してもよい。
【0117】
図15(a)は、ディスプレイ200の表示領域を複数に分割している場合における、
ディスプレイ200のセッション情報記憶ユニット206の通信セッション情報テーブル
の例を示す。図15(a)に示すように、表示領域を複数に分割している場合には、ディ
スプレイ200は、サーバ装置100およびサーバ装置600と接続しているため、それ
ぞれのサーバ装置との間の通信セッション情報が記憶されている。なお、図15(a)で
は、「固有情報」として、それぞれのサーバ装置が利用可能な表示領域が、サーバ装置の
IPアドレス等と関連づけられて記憶されている。すなわち、サーバ装置100(IPア
ドレス:10.0.0.1)の表示領域は、座標位置(0,0)から(511,767)
の矩形領域の範囲であり、(0,0,511,767)として記憶されている。一方、サ
ーバ装置600(IPアドレス:10.0.0.2)の表示領域は、座標位置(512,
0)から(1023,767)の矩形領域の範囲であり、(512,0,1023,76
7)として記憶されている。
【0118】
これらのディスプレイ200の固有情報は、それぞれサーバ装置100およびサーバ装
置600でも、図5に示すような通信セッション情報テーブルにより、同様に管理される
。なお、サーバ装置100とサーバ装置600は、それぞれお互いのサーバ装置が利用可
能な表示領域についても情報を通知しあい、通信セッション情報テーブルに記憶しておく
ことも可能であるが、入出力デバイスの転送先となったサーバ装置において、さらに転送
処理が発生していくような状況では、サーバ装置の数が増えてシステムの規模が大きくな
ると、表示領域に関する情報通知のための処理が複雑になり、負荷が増えていくことが考
えられる。そこで、以下では、各サーバ装置は、自身が利用可能な表示領域のみを記憶し
、他のサーバ装置が利用可能な表示領域については記憶しないものとして説明する。
【0119】
図15(b)は、ディスプレイ200の表示領域を複数に分割している場合におけるマ
ウス400の通信セッション情報テーブルを示す。上述したように、本実施形態では、ア
クティブなアプリケーションは、マウスポインタが表示されている表示領域のアプリケー
ションであり、マウス400は、そのアクティブなアプリケーションを提供するサーバ装
置とだけ通信すればよいため、マウス400の通信セッション情報テーブルに記憶される
サーバ装置は、ひとつだけ(ここではサーバ装置100)である。
【0120】
次に、図16を用いて、本発明の第2の実施形態に係わるコンピューティングシステム
の動作について説明する。図16は、ユーザが、サーバ装置100が提供する「文章作成
(ワープロ)」機能を利用している途中に、サーバ装置600が提供する「表計算」機能
を利用するために、サーバ装置600と接続(追加)を行う場合の例である。
【0121】
図16において、ディスプレイ200、キーボード300、および、マウス400と、
サーバ装置100との間の通信セッションは確立され、各入出力デバイスおよびサーバ装
置のセッションマネージャによって通信セッションは管理されているものとする。また、
サーバ装置100では、入出力デバイスのグルーピング処理は完了しており、図5および
図9に示すような通信セッション情報テーブルが、サーバ装置100、ディスプレイ20
0、キーボード300、および、マウス400のセッション情報記憶ユニットに記憶され
ているものとする。
【0122】
サーバ装置600が提供する「表計算」機能の利用の開始は、例えば、図13(a)に
示すように、利用可能なアプリケーションをユーザに提示するアプリケーション画面をサ
ーバ装置100からディスプレイ200に送信して表示させ、ユーザに選択を促すことで
実現可能である(ステップS301)。
【0123】
ユーザは、マウス400を用いて、ディスプレイ200に表示されたアプリケーション
画面上の「表計算」のボタン(アイコン)をクリックすることで、「表計算」機能の利用
開始をサーバ装置100に通知する(ステップS302、ステップS303)。
【0124】
サーバ装置100では、アプリケーション処理ユニット106によって、マウス400
からの入力が処理される。転送判定ユニット107は、処理結果から、他のサーバ装置の
追加接続が必要であるか否かを判定する(ステップS304)。図13(a)では、「表
計算」機能を選択するためのボタン領域への入力を受け取ると、サーバ装置100がアプ
リケーション処理ユニット106を介して入力処理を実行した後、転送判定ユニット10
7が、ディスプレイ200にとってサーバ装置600の追加が必要と判定する。
【0125】
転送判定ユニット107により、他のサーバ装置(ここではサーバ装置600)への接
続が必要であると判定された場合には、転送指示生成ユニット108が、サーバ装置60
0への接続を指示するメッセージ(追加指示メッセージ)を生成して、ディスプレイ20
0に送信する(ステップS305)。上述したとおり、本実施形態では、アクティブなア
プリケーションは、マウスポインタが存在する表示領域上のアプリケーションであり、マ
ウスポインタが、新たに接続するサーバ装置600に割り当てられた表示領域上に移動し
ない限り、ディスプレイ200以外の入出力デバイスは、サーバ装置600と接続する必
要はない。そのため、追加指示メッセージが送信されるのは、表示領域に関する情報を更
新するディスプレイ200に対してのみである。
【0126】
図17は、サーバ装置100から、ディスプレイ200に送信される追加指示メッセー
ジの構成例を示す図である。図17に示すように、追加指示メッセージは、セッション情
報記憶ユニット103に記憶されているディスプレイ200が属するグループの情報(セ
ッション識別子)も含む。メッセージに含まれる各項目は、図6に示す転送指示メッセー
ジとほぼ同じであるが、メッセージ種別は「追加指示」である。
【0127】
ディスプレイ200の転送指示処理ユニット207は、サーバ装置100から送信され
る追加指示メッセージを受信すると、セッションマネージャ205に、サーバ装置600
との接続を行うように指示する。セッションマネージャ207は、サーバ装置600との
間の通信セッションを確立する(ステップS306)。なお、追加指示メッセージを受信
した場合には、転送指示メッセージを受信した場合と異なり、サーバ装置100との接続
の切断処理は行わない。
【0128】
このとき、転送指示処理ユニット207は、追加指示メッセージに含まれるセッション
識別子をセッションマネージャ205に通知する。セッションマネージャ205は、サー
バ装置600との通信セッションを確立する際に、サーバ装置600に送信する通信確立
のためのメッセージに、転送指示処理ユニット207から通知されたセッション識別子を
含める。このようにすることで、ディスプレイ200は、サーバ装置100で管理されて
いるグループの情報を、新しい接続先となるサーバ装置600に伝えることが可能となる

【0129】
また、このときセッションマネージャ205は、新たに追加接続されるサーバ装置60
0のアプリケーション画面を表示する表示領域を確保するために、自身が有する表示領域
を分割し、サーバ装置600が利用可能な表示領域を固有情報として、サーバ装置600
に送信する。例えば、図14に示すように表示領域が分割された場合には、(512,0
,1023,767)で示される矩形領域を示すデータが、サーバ装置600が利用可能
な表示領域を示すための固有情報として送信される。あるいは、サーバ装置100の利用
可能な表示領域(0,0,511,767)を固有情報として通知し、サーバ装置600
側で利用可能な表示領域を決定してもよい。
【0130】
追加接続するサーバ装置600と、サーバ装置600が利用可能な表示領域の情報は、
図15に示すように、セッション情報記憶ユニット206の通信セッション情報テーブル
に記憶される。
【0131】
一方、サーバ装置600のセッションマネージャ602は、ディスプレイ200との通
信セッションを確立し、ディスプレイ200のセッション識別子を、ディスプレイ200
の識別情報と関連づけてセッション情報記憶ユニット603の通信セッション情報テーブ
ルに記憶する(ステップS307)。
【0132】
ディスプレイ200のセッションマネージャ205は、サーバ装置600との間の通信
セッションを確立すると、サーバ装置100に対して追加完了メッセージを生成して送信
する(ステップS308)。
【0133】
図18は、ディスプレイ200からサーバ装置100に対して送信される追加完了メッ
セージの構成例である。
【0134】
図18に示す追加完了メッセージの固有情報には、サーバ装置100が利用可能な表示
領域が含まれる。例えば、図14に示すように表示領域が分割された場合には、サーバ装
置100が利用可能な表示領域として、(0,0,511,767)で示される矩形領域
を示すデータが、固有情報として送信される。
【0135】
サーバ装置100のセッションマネージャ102は、追加完了メッセージを受信すると
、セッション情報記憶ユニット103に記憶されている通信セッション情報テーブルを更
新する(ステップS309)。そして、以後、サーバ装置100からディスプレイ200
に送信されるアプリケーション画面は、通信セッション情報テーブルに記憶された、サー
バ装置100が利用可能な表示領域に対して送信されることになる。
【0136】
以上が、ディスプレイ200がサーバ装置600と新たに通信セッションを確立する場
合の動作である。
【0137】
なお、ディスプレイ200とサーバ装置600との通信セッションの確立後、ディスプ
レイ200にはサーバ装置600からアプリケーション画面が送信されるが(ステップS
310)、アクティブなアプリケーションが、サーバ装置100が提供するアプリケーシ
ョンである限り、キーボード300やマウス400はサーバ装置100との接続を維持す
る(ステップS311からステップS314)。
【0138】
次に、ディスプレイ200の表示領域が分割され、それぞれの領域に、サーバ装置10
0からのアプリケーション画面と、サーバ装置600からのアプリケーション画面が表示
されている場合に、アクティブなアプリケーションが切り替えられた場合の動作について
説明する。以下では、アクティブなアプリケーションの切り替えを、マウス400の操作
によって、マウスポインタをアクティブにしたいアプリケーション画面上に移動させるこ
とによって実現する場合の動作について説明する。
【0139】
図19は、サーバ装置100が提供するアプリケーションから、サーバ装置600が提
供するアプリケーションへの切り替えを行った場合の各装置の動作を示す。
【0140】
図20に示すように、ユーザのマウス400の操作によって、マウスポインタが、サー
バ装置100が利用可能な表示領域から、サーバ装置600が利用可能な表示領域に移動
する(ステップS401)。
【0141】
マウス400は、ユーザからの入力を受けて、入力指示(入力データ)をサーバ装置1
00に送信する(ステップS402)。入力データには、移動後のマウスポインタの位置
を示す情報が含まれている。入力データは、具体的には、(水平位置,垂直位置)のよう
な座標位置情報で表される。
【0142】
サーバ装置100の転送判定ユニット107は、マウス400からの入力データを受信
すると、セッション情報記憶ユニット103の通信セッション情報テーブルを参照して、
受信した移動後のマウスポインタの位置が、ディスプレイ200の表示領域のうち自装置
が利用可能な表示領域の範囲内にあるか、範囲外にあるかを判定する(ステップS403
)。
【0143】
転送判定ユニット107により、移動後のマウスポインタの位置が、ディスプレイ20
0の表示領域のうち自装置が利用可能な表示領域の範囲外にあると判定されると、セッシ
ョンマネージャ102は、アクティブなアプリケーションが別のサーバ装置によって提供
されているアプリケーションに切り替わったと判断し、そのアプリケーションを提供して
いるサーバ装置の情報を、ディスプレイ200に問い合わせる。なお、入出力処理ユニッ
ト104は、自装置の利用可能な表示領域の範囲外の入力情報を受信した場合は、アプリ
ケーション処理ユニット106への入力処理を行わずに、マウス表示を消すための処理を
アプリケーション処理ユニット106に対して通知することが望ましい。
【0144】
具体的には、セッションマネージャ102は、図21(a)に示すようなメッセージ(
サーバ情報取得メッセージ)を生成して、ディスプレイ200に送信する。サーバ情報取
得メッセージは、移動後のマウスポインタの位置を「座標位置情報」として含み、その座
標位置を利用しているサーバ装置を問い合わせるメッセージである。
【0145】
ディスプレイ200のセッションマネージャ205は、サーバ情報取得メッセージを受
信すると、セッション情報記憶ユニット206に記憶された通信セッション情報テーブル
を参照して、メッセージに含まれる座標位置を利用しているサーバ装置を読み出す。そし
て、図21(b)に示すような、読み出したサーバ装置のIPアドレスとポート番号とを
含むメッセージ(サーバ情報回答メッセージ)を生成して、サーバ装置100に送信する
(ステップS405)。
【0146】
サーバ装置100は、ディスプレイ200からのサーバ情報回答メッセージを受信する
ことにより、新たにアクティブになるアプリケーションを提供しているサーバ装置(ここ
ではサーバ装置600)を認識する。
【0147】
サーバ装置100の転送指示生成ユニット108は、新たに入出力デバイスが接続すべ
きサーバ装置600への転送指示メッセージを生成し、マウス400に送信する。また、
このとき、マウス400と同じグループに属する(同じセッション識別子を有する)キー
ボード300にも、転送指示メッセージを送信する(ステップS406)。なお、ディス
プレイ200は、すでにサーバ装置600との通信セッションを確立しているため、転送
指示メッセージを送信する必要はない。
【0148】
また、転送指示は、マウス400と同じグループに属しているすべての入出力デバイス
に対して行う必要はなく、第1の実施形態において説明したように、サーバ装置100か
ら送信されている音楽を出力しているスピーカのような出力デバイスがある場合には、ス
ピーカとサーバ装置100の接続は維持したままにしてもよい。
【0149】
サーバ装置100からキーボード300およびマウス400に送信される転送指示メッ
セージには、キーボード300およびマウス400が属するグループのセッション識別子
が含められる。
【0150】
さらに、サーバ装置100からマウス400に送信される転送指示メッセージに、マウ
スポインタがサーバ装置100の表示領域を出てから、サーバ装置600の表示領域上で
どのような動きをしたか、を固有情報として含めてもよい。マウスポインタの動きは、マ
ウスポインタの位置座標の時系列データで表すことができる。このように、マウス400
とサーバ装置600とが接続する以前にマウス400からサーバ装置100に送られたマ
ウスポインタの動きの情報を、サーバ装置600に送信し、マウス400とサーバ装置6
00とが通信セッションを確立したのちに、その動きをサーバ装置600のアプリケーシ
ョン画面に反映するようにすることで、あたかも、表示領域上をマウスポインタが滑らか
に移動しているかのような表示を実現することが可能になる。
【0151】
キーボード300およびマウス400の転送指示処理ユニット207は、サーバ装置1
00から送信される転送指示メッセージに基づいて、サーバ装置100との間の通信セッ
ションを切断し(ステップS407)、サーバ装置600との間の通信セッションを確立
する(ステップS408)。
【0152】
このとき、キーボード300およびマウス400のセッションマネージャは、サーバ装
置100から送信された転送指示メッセージに含まれるセッション識別子もあわせてサー
バ装置600に通知する。
【0153】
サーバ装置600は、キーボード300およびマウス400から送信されたセッション
識別子をキーボード300およびマウス400の情報とともに、セッション情報記憶ユニ
ット603に記憶する。このようにすることで、サーバ装置600は、セッション識別子
を用いて、各入出力デバイスが属するグループを判別することができる(ステップS40
9)。そのため、サーバ装置600は、新たに入出力デバイスとの間でインタラクティブ
な操作を経ることなく、入出力デバイスのグループ化を実現することができ、ユーザビリ
ティの劣化も防止することが可能となる。
【0154】
サーバ装置600と各入出力デバイスの通信セッションが確立すると、例えば、ユーザ
からのマウス400への入力操作(ステップS410)は、マウス400からサーバ装置
600に送信され(ステップS411)、サーバ装置600でアプリケーション画面の生
成が行われたのちに(ステップS412)、ディスプレイ200に送信される(ステップ
S413)。
【0155】
このように、本発明の第2の実施形態に係わるコンピューティングシステムでは、サー
バ装置100が提供するアプリケーション機能と、サーバ装置600が提供するアプリケ
ーション機能とを同時に利用する場合にも、サーバ装置の切り替えによって生じるグルー
プ化処理を速やかに行うことが可能になり、ユーザビリティの劣化を防ぐことができる。
【0156】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要
旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示され
ている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実
施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実
施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0157】
【図1】本発明の第1の実施形態に係わるサーバ装置の構成を示すブロック図。
【図2】本発明の第1の実施形態に係わるコンピューティングシステムの構成図。
【図3】本発明の第1の実施形態に係わるコンピューティングシステムの構成図。
【図4】本発明の第1の実施形態に係わるディスプレイの表示例を示す図。
【図5】本発明の第1の実施形態の通信セッション情報テーブルの例を示す図。
【図6】本発明の第1の実施形態の転送指示メッセージの構成例を示す図。
【図7】本発明の第1の実施形態に係わるキーボードの構成を示すブロック図。
【図8】本発明の第1の実施形態に係わるディスプレイの構成を示すブロック図。
【図9】本発明の第1の実施形態の通信セッション情報テーブルの例を示す図。
【図10】本発明の第1の実施形態のコンピューティングシステムの動作を示すシーケンス図。
【図11】本発明の第1の実施形態のコンピューティングシステムの動作を示すシーケンス図。
【図12】本発明の第1の実施形態に係わるディスプレイの表示例を示す図。
【図13】本発明の第2の実施形態に係わるディスプレイの表示例を示す図。
【図14】本発明の第2の実施形態に係わるディスプレイの表示例を示す図。
【図15】本発明の第2の実施形態の通信セッション情報テーブルの例を示す図。
【図16】本発明の第2の実施形態のコンピューティングシステムの動作を示すシーケンス図。
【図17】本発明の第2の実施形態の追加指示メッセージの構成例を示す図。
【図18】本発明の第2の実施形態の追加完了メッセージの構成例を示す図。
【図19】本発明の第2の実施形態のコンピューティングシステムの動作を示すシーケンス図。
【図20】本発明の第2の実施形態に係わるディスプレイの表示例を示す図。
【図21】本発明の第2の実施形態のサーバ情報取得メッセージおよびサーバ情報回答メッセージの構成例を示す図。
【符号の説明】
【0158】
101、208、601・・・通信ユニット
102、205、304、602・・・セッションマネージャ
103、206、305、603・・・セッション情報記憶ユニット
104、604・・・送受信処理ユニット
105、605・・・入出力処理ユニット
106、606・・・アプリケーション処理ユニット
107、607・・・転送判定ユニット
108、608・・・転送指示生成ユニット
201・・・表示部
202・・・出力インタフェース
203・・・出力データ受信ユニット
204・・・表示画面生成ユニット
207、306・・・転送指示処理ユニット
301・・・入力部
302・・・入力インタフェース
303・・・入力データ送信ユニット

【特許請求の範囲】
【請求項1】
複数の入出力デバイスとネットワークを介して通信可能なサーバ装置であって、
複数の入出力デバイスそれぞれとの通信セッションを確立して管理する管理手段と、
前記複数の入出力デバイスを、それらの入出力デバイスが属するグループと関連づけて
記憶する記憶手段と、
アプリケーションプログラムを動作させる手段と、
前記複数の入出力デバイスから、前記アプリケーションプログラムへの動作指示を受信
し、前記動作指示に対するアプリケーションプログラムの処理結果を前記複数の入出力デ
バイスへ送信する手段と、
前記アプリケーションプログラムの処理結果が、前記複数の入出力デバイスを他のサー
バ装置に接続させることを必要とするものか否かを判定する判定手段と、
前記判定手段により、前記アプリケーションプログラムの処理結果が、前記複数の入出
力デバイスを他のサーバ装置に接続させることを必要するものあると判定された場合に、
前記複数の入出力デバイスに対して、前記記憶手段に記憶されたグループの情報を含み、
前記他のサーバ装置への接続を指示するメッセージを生成して送信するメッセージ送信手
段と
を備えることを特徴とするサーバ装置。
【請求項2】
アプリケーションプログラムを動作させるサーバ装置とネットワークを介して通信可能
な端末装置であって、
サーバ装置との通信セッションを管理する手段と、
前記サーバ装置で動作するアプリケーションプログラムへの動作指示を送信する手段と

前記サーバ装置から、自装置が属するグループの情報を含み、他のサーバ装置への接続
を指示するメッセージを受信する手段と、
前記指示された他のサーバ装置への接続を行って通信セッションを確立する手段とを備
え、
前記他のサーバ装置への接続を行って通信セッションを確立する際に、前記受信したメ
ッセージに含まれるグループの情報を、前記他のサーバ装置にあわせて通知する
ことを特徴とする端末装置。
【請求項3】
前記管理手段は、前記複数の入出力デバイスとの通信セッションの確立の際に、前記複
数の入出力デバイスから、それらの入出力デバイスが属するグループの情報を受信した場
合には、それらの入出力デバイスをそのグループと関連づけて前記記憶手段に記憶する
ことを特徴とする請求項1に記載のサーバ装置。
【請求項4】
前記記憶手段は、前記複数の入出力デバイスに画像を表示する表示デバイスが含まれる
場合には、その表示デバイスが有する画像表示領域のうち、自装置が利用可能な表示領域
を示す情報を、その表示デバイスと関連づけて記憶する
ことを特徴とする請求項1に記載のサーバ装置。
【請求項5】
前記判定手段は、前記複数の入出力デバイスに含まれる入力デバイスから送信される入
力指示が、前記表示デバイスが有する画像表示領域のうち、前記記憶手段に記憶されてい
る自装置が利用可能な表示領域外の領域へのデータの入力を指示するものであるか否かを
判定し、
前記メッセージ送信手段は、前記判定手段により、前記入力デバイスからの入力指示が
、自装置が利用可能な表示領域外の領域へのデータの入力を指示するものであると判定さ
れた場合に、前記複数の入出力デバイスに対して、前記記憶手段に記憶されたグループの
情報を含み、前記表示領域外の領域を利用するサーバ装置への接続を指示するメッセージ
を生成して送信する
ことを特徴とする請求項4に記載のサーバ装置。
【請求項6】
複数の入出力デバイスとネットワークを介して通信し、アプリケーションプログラムを
動作させることが可能なサーバ装置の通信制御方法であって、
複数の入出力デバイスそれぞれとの通信セッションを確立して管理し、
前記複数の入出力デバイスを、それらの入出力デバイスが属するグループと関連づけて
記憶し、
前記複数の入出力デバイスから、アプリケーションプログラムへの動作指示を受信し、
前記動作指示に対するアプリケーションプログラムの処理結果を前記複数の入出力デバ
イスへ送信し、
前記アプリケーションプログラムの処理結果が、前記複数の入出力デバイスを他のサー
バ装置に接続させることを必要とするものか否かを判定し、
前記アプリケーションプログラムの処理結果が、前記複数の入出力デバイスを他のサー
バ装置に接続させることを必要するものあると判定された場合に、前記複数の入出力デバ
イスに対して、前記記憶されたグループの情報を含み、前記他のサーバ装置への接続を指
示するメッセージを生成して送信する
ことを特徴とする通信制御方法。
【請求項7】
複数の入出力デバイスとネットワークを介して通信し、アプリケーションプログラムを
動作させることが可能なサーバ装置のための通信制御プログラムであって、
複数の入出力デバイスそれぞれとの通信セッションを確立して管理させる機能と、
前記複数の入出力デバイスを、それらの入出力デバイスが属するグループと関連づけて
記憶手段に記憶させる機能と、
前記複数の入出力デバイスから、アプリケーションプログラムへの動作指示を受信し、
前記動作指示に対するアプリケーションプログラムの処理結果を前記複数の入出力デバイ
スへ送信させる機能と、
前記アプリケーションプログラムの処理結果が、前記複数の入出力デバイスを他のサー
バ装置に接続させることを必要とするものか否かを判定させる機能と、
前記アプリケーションプログラムの処理結果が、前記複数の入出力デバイスを他のサー
バ装置に接続させることを必要するものあると判定された場合に、前記複数の入出力デバ
イスに対して、前記記憶手段に記憶されたグループの情報を含み、前記他のサーバ装置へ
の接続を指示するメッセージを生成して送信させる機能と
を実現させることを特徴とする通信制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate