(57)【要約】【課題】ネットワークに接続された複数の端末が共有データの管理を行う際に、共有データに変更が生じても少ない負荷で各端末に変更内容を反映させることのできる共有データ管理システム、方法およびプログラムを得ること。【解決手段】仮想コンピュータサーバ１２、……１２は、ネットワーク上に固有のアドレスを有してそれぞれ配置され複数の端末１１、……１１と１対１に対応して仮想的に共有データを保持する仮想コンピュータを任意数ずつソフトウェア的に構成している。共有データ配信手段１３の共有データの配信時間がしきい値を超えると、仮想コンピュータの少なくとも一部を仮想コンピュータサーバ１２のいずれかに集約することで、ネットワークの負荷を軽減する。【選択図】図１
2011022748.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザごとに用意され、同一のネットワークに接続されて同一の共有データをデータ処理に使用する複数の端末と、
前記ネットワーク上に固有のアドレスを有してそれぞれ配置され前記複数の端末と１対１に対応して仮想的に前記共有データを保持する仮想コンピュータを任意数ずつソフトウェア的に構成する所定数の仮想コンピュータサーバと、
前記複数の端末のいずれかの操作によって前記共有データに変更が生じるとき、この変更後の前記共有データを前記仮想コンピュータの全部に配信する共有データ配信手段と、
この共有データ配信手段によって前記共有データが配信されるたびに前記ネットワークを使用した配信に必要な総配信時間を計測するネットワーク配信時間計測手段と、
このネットワーク配信時間計測手段により計測した前記総配信時間が、予め定めたしきい値を超えるか否かを判別するしきい値超過判別手段と、
このしきい値超過判別手段が前記総配信時間について前記しきい値を超えると判別したとき、前記仮想コンピュータの少なくとも一部を前記仮想コンピュータサーバのいずれかに集約する集約手段
とを具備することを特徴とする共有データ管理システム。
【請求項２】
前記複数の端末は、シンクライアント端末であることを特徴とする請求項１記載の共有データ管理システム。
【請求項３】
前記集約手段によって集約されることで前記仮想コンピュータサーバの少なくとも１つに同一の前記共有データを保持する仮想コンピュータが複数存在することになるとき、前記共有データ配信手段は、これら複数の仮想コンピュータの１つずつに共有データを配信することを特徴とする請求項１記載の共有データ管理システム。
【請求項４】
前記共有データ配信手段は、前記複数の端末として新たに加えられた端末に対してその加えられた時点での共有データを配信することを特徴とする請求項１記載の共有データ管理システム。
【請求項５】
前記仮想コンピュータサーバは、前記集約手段によって前記仮想コンピュータが複数存在することになるとき、これらの仮想コンピュータを前記共有データの配信用に木構造に形成させる木構造形成手段を具備することを特徴とする請求項３記載の共有データ管理システム。
【請求項６】
互いに同一のネットワークに接続され同一の共有データをデータ処理に使用する複数の端末のいずれかの操作によって前記共有データに変更が生じたときこれを検知する共有データ変更検知ステップと、
この共有データ変更検知ステップによって前記共有データに変更が生じたことが検知されたとき、この変更後の前記共有データを、前記ネットワーク上にそれぞれ固有のアドレスを有する所定数の仮想コンピュータサーバで任意数ずつソフトウェア的に構成され、前記複数の端末と１対１に対応して仮想的に前記共有データを保持する仮想コンピュータの全部に対して配信する共有データ配信ステップと、
この共有データ配信ステップによって前記共有データが配信されるたびに前記ネットワークを使用した配信に必要な総配信時間を計測するネットワーク配信時間計測ステップと、
このネットワーク配信時間計測ステップにより計測した前記総配信時間が、予め定めたしきい値を超えるか否かを判別するしきい値超過判別ステップと、
このしきい値超過判別ステップで前記総配信時間が前記しきい値を超えると判別したとき、前記仮想コンピュータの少なくとも一部を前記仮想コンピュータサーバのいずれかに集約する集約ステップ
とを具備することを特徴とする共有データ管理方法。
【請求項７】
前記仮想コンピュータサーバの少なくとも１つに同一の前記共有データを保持する仮想コンピュータが複数存在することになるとき、これら複数の仮想コンピュータを共有データ配信のための木構造に配置する木構造配置ステップを具備することを特徴とする請求項６記載の共有データ管理方法。
【請求項８】
互いに同一のネットワークに接続された複数の端末と１対１に対応して仮想的に共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるときこれを検知する複数検知ステップと、
この複数検知ステップによって検知された複数の前記仮想コンピュータのうちの１つを前記共有データの受信点として残りの仮想コンピュータを前記共有データを順次下層側に伝達する木構造に形成する木構造形成ステップ
とを具備することを特徴とする共有データ管理方法。
【請求項９】
コンピュータに、
互いに同一のネットワークに接続され同一の共有データをデータ処理に使用する複数の端末のいずれかの操作によって前記共有データに変更が生じたときこれを検知する共有データ変更検知処理と、
この共有データ変更検知処理によって前記共有データに変更が生じたことが検知されたとき、この変更後の前記共有データを、前記ネットワーク上にそれぞれ固有のアドレスを有する所定数の仮想コンピュータサーバで任意数ずつソフトウェア的に構成され、前記複数の端末と１対１に対応して仮想的に前記共有データを保持する仮想コンピュータの全部に対して配信する共有データ配信処理と、
この共有データ配信処理によって前記共有データが配信されるたびに前記ネットワークを使用した配信に必要な総配信時間を計測するネットワーク配信時間計測処理と、
このネットワーク配信時間計測処理により計測した前記総配信時間が、予め定めたしきい値を超えるか否かを判別するしきい値超過判別処理と、
このしきい値超過判別処理で前記総配信時間が前記しきい値を超えると判別したとき、前記仮想コンピュータの少なくとも一部を前記仮想コンピュータサーバのいずれかに集約する集約処理
とを実行させることを特徴とする共有データ管理プログラム。
【請求項１０】
コンピュータに、
複数の端末と１対１に対応して仮想的に共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるときこれを検知する複数検知処理と、
この複数検知処理によって検知された複数の前記仮想コンピュータのうちの１つを前記共有データの受信点として残りの仮想コンピュータを前記共有データを順次下層側に伝達する木構造に形成する木構造形成処理
とを実行させることを特徴とする共有データ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザが共有データを管理するための共有データ管理システム、共有データ管理方法および共有データ管理プログラムに関する。本発明は特にネットワーク上の会議室で資料を扱う場合のように共有データを複数のユーザが利用する場合に好適な共有データ管理システム、共有データ管理方法および共有データ管理プログラムに関する。
【背景技術】
【０００２】
クライアント端末側に最小限の機能を持たせ、サーバ側が多くの処理を行うシンクライアント（Thin client）システムが、セキュリティや情報統制の観点から注目されている。シンクライアントシステムを実現する手法の１つとして、仮想ＰＣ（Personal Computer）方式が存在する。
【０００３】
この仮想ＰＣ方式では、仮想化ソフトウェアを実行した仮想ＰＣサーバ上で複数の仮想化したＰＣとしての仮想ＰＣを動作させる。この方式では、ユーザの使用するシンクライアント端末から仮想ＰＣを遠隔操作するようになっている。この方式を用いた仮想化ソフトウェアとしては、たとえばヴイエムウェア（VMware（登録商標））社の「ＶＭｗａｒｅ（登録商標）  ＥＳＸ  Ｓｅｒｖｅｒ」やシトリックス  システムズ（Citrix（登録商標） Systems）社の「Ｘｅｎ（登録商標）」あるいはマイクロソフト（Microsoft（登録商標））社の「Ｖｉｒｔｕａｌ  Ｓｅｒｖｅｒ」が知られている。
【０００４】
仮想化ソフトウェアは、本発明の第１の関連技術としてのライブマイグレーションという機能を搭載している（たとえば特許文献１参照）。このライブマイグレーションという機能を使用すると、稼働中の仮想ＰＣを別の仮想化ソフトウェアとしての仮想ＰＣサーバに無停止で移動させることができる。このような機能は、たとえば、ある仮想ＰＣサーバのＣＰＵ利用率が著しく高い場合、その上で動作している仮想ＰＣを別の仮想ソフトウェアに移動させることで、ＣＰＵ利用率を下げるといった用途に使用される。
【０００５】
一方、コンピュータを用いた資料管理システムとして、資料共有システムと呼ばれるものが提案されている。この資料共有システムでは、クライアント間でプレゼンテーション資料などの電子データを共有する。また、資料への書き込みやページめくり等の操作をクライアント間の資料で同期させる。このような資料共有システムは、クライアント・サーバ型システムであり、資料の共有やクライアントでの操作の同期を資料共有サーバによって管理している。
【０００６】
たとえば、あるユーザが資料を共有するために登録したとする。この場合には、登録した資料データがクライアントから共有を管理する資料共有サーバに送信され、資料共有サーバがそのデータを他のクライアントに配信する。また、クライアントでの資料操作についても同様に、操作データがクライアントから資料共有サーバに送信され、資料共有サーバが操作データを他のクライアントに中継して配信し、同期を実現する。資料の共有は会議室単位で行われ、会議室ごとに資料と参加クライアントの管理が資料共有サーバにより行われる。このような資料共有システムは、シンクライアントシステムの普及に伴って、シンクライアントシステムのユーザ間としての仮想ＰＣ間で利用されるケースが今後増加すると予想されている。
【０００７】
ところが、従来の資料共有システムでは、ページめくりのような資料の更新を要求する操作が行われるたびに、資料共有サーバがすべてのクライアントに資料を再度配信している。このため、このような操作が頻発すると資料共有サーバからネットワークに大量のデータが配信されることになって、ネットワーク帯域を圧迫するという問題が発生する。また、資料を共有するクライアントの数が多くなると配信が長時間化する。このため、資料を基にして会議を行う場合のクライアント側での資料の表示が遅延し、会議の進行がはかどらないという問題が発生する。
【０００８】
そこで、クライアントがページめくりの操作を行った場合であっても、クライアント用の端末側の表示に遅れが生じないようにすることが本発明の第２の関連技術として提案されている（たとえば特許文献２参照）。この第２の関連技術では、クライアント用の端末に表示の遅延が生じないように、データキャッシュ装置に資料を先読みして予めキャッシュさせることにしている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−２１７３０２号公報（第００５７段落、第００６７段落、第００７０段落〜第００７６段落、図８）
【特許文献２】特開２００６−２６８６２６号公報（第０１２０段落、図１７、図１８）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
この第２の関連技術を使用すれば、資料の特定のページに関するデータの先読みを行うことができるので、各クライアントがその表示を迅速に行うことができることは確かである。しかしながら、会議では検討の対象となっている文章の訂正や削除あるいは補充が行われるような場合が多い。このような場合に、資料の特定のページを先読みして配信しても、その内容に変更が生じる場合があり、再度の配信が必要となって、却ってネットワークの負担を増加する場合も多くなる。もちろん、このような問題は、第１の関連技術のように稼働中の仮想ＰＣを別の仮想化ソフトウェアとしての仮想ＰＣサーバに単純に移動させて解消するものでもない。
【００１１】
そこで本発明の目的は、ネットワークに接続された複数の端末が共有データの管理を行う際に、共有データに変更が生じても少ない負荷で各端末に変更内容を反映させることのできる共有データ管理システム、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明では、（イ）各ユーザごとに用意され、同一のネットワークに接続されて同一の共有データをデータ処理に使用する複数の端末と、（ロ）前記したネットワーク上に固有のアドレスを有してそれぞれ配置され前記した複数の端末と１対１に対応して仮想的に前記した共有データを保持する仮想コンピュータを任意数ずつソフトウェア的に構成する所定数の仮想コンピュータサーバと、（ハ）前記した複数の端末のいずれかの操作によって前記した共有データに変更が生じるとき、この変更後の前記した共有データを前記した仮想コンピュータの全部に配信する共有データ配信手段と、（ニ）この共有データ配信手段によって前記した共有データが配信されるたびに前記したネットワークを使用した配信に必要な総配信時間を計測するネットワーク配信時間計測手段と、（ホ）このネットワーク配信時間計測手段により計測した前記した総配信時間が、予め定めたしきい値を超えるか否かを判別するしきい値超過判別手段と、（へ）このしきい値超過判別手段が前記した総配信時間について前記したしきい値を超えると判別したとき、前記した仮想コンピュータの少なくとも一部を前記した仮想コンピュータサーバのいずれかに集約する集約手段とを共有データ管理システムが具備する。
【００１３】
また、本発明では、（イ）互いに同一のネットワークに接続され同一の共有データをデータ処理に使用する複数の端末のいずれかの操作によって前記した共有データに変更が生じたときこれを検知する共有データ変更検知ステップと、（ロ）この共有データ変更検知ステップによって前記した共有データに変更が生じたことが検知されたとき、この変更後の前記した共有データを、前記したネットワーク上にそれぞれ固有のアドレスを有する所定数の仮想コンピュータサーバで任意数ずつソフトウェア的に構成され、前記した複数の端末と１対１に対応して仮想的に前記した共有データを保持する仮想コンピュータの全部に対して配信する共有データ配信ステップと、（ハ）この共有データ配信ステップによって前記した共有データが配信されるたびに前記したネットワークを使用した配信に必要な総配信時間を計測するネットワーク配信時間計測ステップと、（ニ）このネットワーク配信時間計測ステップにより計測した前記した総配信時間が、予め定めたしきい値を超えるか否かを判別するしきい値超過判別ステップと、（ホ）このしきい値超過判別ステップで前記した総配信時間が前記したしきい値を超えると判別したとき、前記した仮想コンピュータの少なくとも一部を前記した仮想コンピュータサーバのいずれかに集約する集約ステップとを共有データ管理方法が具備する。
【００１４】
更に本発明では、（イ）互いに同一のネットワークに接続された複数の端末と１対１に対応して仮想的に共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるときこれを検知する複数検知ステップと、（ロ）この複数検知ステップによって検知された複数の前記した仮想コンピュータのうちの１つを前記した共有データの受信点として残りの仮想コンピュータを前記した共有データを順次下層側に伝達する木構造に形成する木構造形成ステップとを共有データ管理方法が具備する。
【００１５】
また、本発明では、コンピュータに、共有データ管理プログラムとして、（イ）互いに同一のネットワークに接続され同一の共有データをデータ処理に使用する複数の端末のいずれかの操作によって前記した共有データに変更が生じたときこれを検知する共有データ変更検知処理と、（ロ）この共有データ変更検知処理によって前記した共有データに変更が生じたことが検知されたとき、この変更後の前記した共有データを、前記したネットワーク上にそれぞれ固有のアドレスを有する所定数の仮想コンピュータサーバで任意数ずつソフトウェア的に構成され、前記した複数の端末と１対１に対応して仮想的に前記した共有データを保持する仮想コンピュータの全部に対して配信する共有データ配信処理と、（ハ）この共有データ配信処理によって前記した共有データが配信されるたびに前記したネットワークを使用した配信に必要な総配信時間を計測するネットワーク配信時間計測処理と、（ニ）このネットワーク配信時間計測処理により計測した前記した総配信時間が、予め定めたしきい値を超えるか否かを判別するしきい値超過判別処理と、（ホ）このしきい値超過判別処理で前記した総配信時間が前記したしきい値を超えると判別したとき、前記した仮想コンピュータの少なくとも一部を前記した仮想コンピュータサーバのいずれかに集約する集約処理とを実行させる。
【００１６】
更にまた、本発明では、コンピュータに、共有データ管理プログラムとして、（イ）複数の端末と１対１に対応して仮想的に共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるときこれを検知する複数検知処理と、（ロ）この複数検知処理によって検知された複数の前記した仮想コンピュータのうちの１つを前記した共有データの受信点として残りの仮想コンピュータを前記した共有データを順次下層側に伝達する木構造に形成する木構造形成処理とを実行させる。
【発明の効果】
【００１７】
以上説明したように本発明によれば、それぞれの端末に対応させて仮想的に共有データを保持する仮想コンピュータの少なくとも一部を、所定の条件の下で仮想コンピュータサーバのいずれかに集約することにした。これにより、共有データを配信する際の該当する仮想コンピュータサーバの数が減少することにより、ネットワークの負荷を軽減することができるだけでなく、全体的な共有データの処理の効率化を図ることが可能である。
【００１８】
また、本発明によれば、共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるとき、これら複数の仮想コンピュータを共有データ配信のための木構造に配置することにした。したがって、これら共有データを保持する仮想コンピュータの全体に対するデータの配信を短時間に済ませることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の共有データ管理システムのクレーム対応図である。
【図２】本発明の共有データ管理方法のクレーム対応図である。
【図３】本発明の共有データ管理方法のクレーム対応図である。
【図４】本発明の共有データ管理プログラムのクレーム対応図である。
【図５】本発明の共有データ管理プログラムのクレーム対応図である。
【図６】本発明の実施の形態によるシンクライアントシステムの構成を表わしたシステム構成図である。
【図７】本実施の形態における第１の仮想ＰＣサーバの構成の概要を表わしたブロック図である。
【図８】図６に示した管理サーバの構成を表わしたブロック図である。
【図９】本実施の形態における資料共有サーバの構成を表わしたブロック図である。
【図１０】本実施の形態における資料共有クライアントの構成の概要を表わしたブロック図である。
【図１１】本実施の形態で資料共有サーバ内のクライアント管理部による資料共有会議への資料共有クライアントの参加処理を表わした流れ図である。
【図１２】本実施の形態における資料共有サーバ内の資料管理部の処理を表わした流れ図である。
【図１３】本実施の形態における資料共有サーバにおける資料管理部の処理の様子を表わした流れ図である。
【図１４】本実施の形態における資料共有クライアントの資料管理部の処理の様子を表わした流れ図である。
【図１５】本実施の形態における資料共有クライアントの資料配信部の処理の様子を表わした流れ図である。
【図１６】本実施の形態における管理サーバの仮想ＰＣ集約判定部の処理の様子を表わした流れ図である。
【図１７】本実施の形態における管理サーバの仮想ＰＣ移行命令部の処理の様子を表わした流れ図である。
【図１８】本実施の形態における資料共有サーバのクライアント管理部による仮想ＰＣ部のグループ化とこれに伴う処理の様子を表わした流れ図である。
【図１９】本実施例のシンクライアントシステムの具体例を示したシステム構成図である。
【図２０】本実施例で第１〜第３の仮想ＰＣサーバのそれぞれに割り当てられた仮想ＰＣサーバ識別子を示した説明図である。
【図２１】本実施例で各仮想ＰＣ部に割り当てられた仮想ＰＣ識別子とＩＰアドレスの関係を表わした説明図である。
【図２２】本実施例で管理サーバの仮想ＰＣサーバ情報記憶部に格納されているテーブル情報の内容を表わした説明図である。
【図２３】本実施例の第３の前提としての３つの資料共有クライアントとクライアント識別子の関係を示した説明図である。
【図２４】本実施例の第４の前提としての資料共有サーバのクライアント管理部に格納されているテーブルの内容を表わした説明図である。
【図２５】本実施例で資料共有クライアント１２５3-2が会議室「００１」に参加した後の状態でのクライアント記憶部の記憶する情報の内容を表わした説明図である。
【図２６】図１８のステップＳ３４２で作成された木構造を表わした説明図である。
【図２７】図１８のステップＳ３４５によりクライアント記憶部に格納された情報を示した説明図である。
【発明を実施するための形態】
【００２０】
図１は、本発明の共有データ管理システムのクレーム対応図を示したものである。本発明の共有データ管理システム１０は、複数の端末１１、……１１と、所定数の仮想コンピュータサーバ１２、……１２と、共有データ配信手段１３と、ネットワーク配信時間計測手段１４と、しきい値超過判別手段１５と、集約手段１６を備えている。ここで、複数の端末１１、……１１は、各ユーザごとに用意され、同一のネットワークに接続されて同一の共有データをデータ処理に使用する。所定数の仮想コンピュータサーバ１２、……１２は、ネットワーク上に固有のアドレスを有してそれぞれ配置され複数の端末１１、……１１と１対１に対応して仮想的に前記した共有データを保持する仮想コンピュータを任意数ずつソフトウェア的に構成する。共有データ配信手段１３は、複数の端末１１、……１１のいずれかの操作によって前記した共有データに変更が生じるとき、この変更後の前記した共有データを前記した仮想コンピュータの全部に配信する。ネットワーク配信時間計測手段１４は、共有データ配信手段１３によって前記した共有データが配信されるたびに前記したネットワークを使用した配信に必要な総配信時間を計測する。しきい値超過判別手段１５は、ネットワーク配信時間計測手段１４により計測した前記した総配信時間が、予め定めたしきい値を超えるか否かを判別する。集約手段１６は、しきい値超過判別手段１５が前記した総配信時間について前記したしきい値を超えると判別したとき、前記した仮想コンピュータの少なくとも一部を前記仮想コンピュータサーバのいずれかに集約する。
【００２１】
図２は、本発明の共有データ管理方法のクレーム対応図を示したものである。本発明の共有データ管理方法２０は、共有データ変更検知ステップ２１と、共有データ配信ステップ２２と、ネットワーク配信時間計測ステップ２３と、しきい値超過判別ステップ２４と、集約ステップ２５を備えている。ここで、共有データ変更検知ステップ２１では、互いに同一のネットワークに接続され同一の共有データをデータ処理に使用する複数の端末のいずれかの操作によって前記した共有データに変更が生じたときこれを検知する。共有データ配信ステップ２２では、共有データ変更検知ステップ２１によって前記した共有データに変更が生じたことが検知されたとき、この変更後の前記した共有データを、配信する。配信の対象は、ネットワーク上にそれぞれ固有のアドレスを有する所定数の仮想コンピュータサーバで任意数ずつソフトウェア的に構成され、前記した複数の端末と１対１に対応して仮想的に前記した共有データを保持する仮想コンピュータの全部である。ネットワーク配信時間計測ステップ２３では、共有データ配信ステップ２２によって前記した共有データが配信されるたびに前記したネットワークを使用した配信に必要な総配信時間を計測する。しきい値超過判別ステップ２４では、ネットワーク配信時間計測ステップ２３により計測した前記した総配信時間が、予め定めたしきい値を超えるか否かを判別する。集約ステップ２５では、しきい値超過判別ステップ２４で前記した総配信時間が前記したしきい値を超えると判別したとき、前記した仮想コンピュータの少なくとも一部を前記した仮想コンピュータサーバのいずれかに集約する。
【００２２】
図３は、本発明の共有データ管理方法のクレーム対応図を示したものである。本発明の共有データ管理方法３０は、複数検知ステップ３１と、木構造形成ステップ３２を備えている。ここで、複数検知ステップ３１では、互いに同一のネットワークに接続された複数の端末と１対１に対応して仮想的に共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるときこれを検知する。木構造形成ステップ３２では、複数検知ステップ３１によって検知された複数の前記した仮想コンピュータのうちの１つを前記した共有データの受信点として残りの仮想コンピュータを前記した共有データを順次下層側に伝達する木構造に形成する。
【００２３】
図４は、本発明の共有データ管理プログラムのクレーム対応図を示したものである。本発明の共有データ管理プログラム４０は、コンピュータに、共有データ変更検知処理４１と、共有データ配信処理４２と、ネットワーク配信時間計測処理４３と、しきい値超過判別処理４４と、集約処理４５を実行させるようにしている。ここで、共有データ変更検知処理４１では、互いに同一のネットワークに接続され同一の共有データをデータ処理に使用する複数の端末のいずれかの操作によって前記した共有データに変更が生じたときこれを検知する。共有データ配信処理４２では、共有データ変更検知処理４１によって前記した共有データに変更が生じたことが検知されたとき、この変更後の前記した共有データを、配信する。配信の対象は、ネットワーク上にそれぞれ固有のアドレスを有する所定数の仮想コンピュータサーバで任意数ずつソフトウェア的に構成され、前記した複数の端末と１対１に対応して仮想的に前記した共有データを保持する仮想コンピュータの全部に対して配信する。ネットワーク配信時間計測処理４３では、共有データ配信処理４２によって前記した共有データが配信されるたびに前記したネットワークを使用した配信に必要な総配信時間を計測する。しきい値超過判別処理４４では、ネットワーク配信時間計測処理４３により計測した前記した総配信時間が、予め定めたしきい値を超えるか否かを判別する。集約処理４５では、しきい値超過判別処理４４で前記した総配信時間が前記したしきい値を超えると判別したとき、前記した仮想コンピュータの少なくとも一部を前記した仮想コンピュータサーバのいずれかに集約する。
【００２４】
図５は、本発明の共有データ管理プログラムのクレーム対応図を示したものである。本発明の共有データ管理プログラム５０は、コンピュータに複数検知処理５１と、木構造形成処理５２を実行させるようにしている。ここで、複数検知処理５１では、複数の端末と１対１に対応して仮想的に共有データを保持する仮想コンピュータが１つの仮想コンピュータサーバに集約されるときこれを検知する。木構造形成処理５２は、複数検知処理５１によって検知された複数の前記した仮想コンピュータのうちの１つを前記した共有データの受信点として残りの仮想コンピュータを前記した共有データを順次下層側に伝達する木構造に形成する。
【００２５】
＜発明の実施の形態＞
【００２６】
次に本発明の実施の形態を説明する。
【００２７】
図６は、本発明の実施の形態によるシンクライアントシステムの構成を表わしたものである。本実施の形態のシンクライアントシステム１００では、ユーザの操作端末としての第１〜第Ｍのシンクライアント端末１０１1〜１０１M（ただし、Ｍは整数）が、インターネット等のネットワーク１０２に接続されている。ネットワーク１０２には、更に、第１〜第Ｋの仮想ＰＣ（Personal Computer）サーバ１０３1〜１０３K（ただし、Ｋは１以上の整数）と、管理サーバ１０４および資料共有サーバ１０５が接続されている。
【００２８】
ここで第１〜第Ｍのシンクライアント端末１０１1〜１０１Mは、クライアント端末として、必要最小限の機能を有する物理的な端末となっている。第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kは、プログラムにより動作するコンピュータであり、仮想化ソフトウェアにより、後に説明する仮想パーソナルコンピュータを所望の台数動作させる。管理サーバ１０４は、これら第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kによって動作する仮想パーソナルコンピュータの管理を行う。資料共有サーバ１０５は、会議で共有する資料の管理を行う。
【００２９】
図７は、第１の仮想ＰＣサーバの構成の概要を表わしたものである。図６に示した第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kは、たとえば１台のパーソナルコンピュータを仮想化したものであり、ソフトウェアにより実現する機能的な構成が共に実質的に同一となっている。このため、第２〜第Ｋの仮想ＰＣサーバ１０３2〜１０３Kについての構成の図示および説明は省略する。図６と共に説明する。
【００３０】
第１の仮想ＰＣサーバ１０３1は、仮想ＰＣ部１１１1-1と仮想化ソフトウェア部１１２1および送受信部１１３1を備えている。このうち、送受信部１１３1は、ネットワーク１０２とデータの送受信を行う。仮想化ソフトウェア部１１２1は、仮想ＰＣ管理部１２１と、仮想ＰＣ移行部１２２を有している。この仮想化ソフトウェア部１１２1によって、第１の仮想ＰＣサーバ１０３1では１つの仮想ＰＣ部１１１1-1が動作している。ただし、仮想化ソフトウェア部１１２1に対して２つ以上の仮想ＰＣ部１１１1-1、１１１1-2、……が動作することも可能である。すなわち、第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kによる仮想ＰＣ部１１１の総数は、仮想ＰＣサーバ１０３の台数「Ｋ」と一致する必要はない。
【００３１】
仮想化ソフトウェア部１１２1は仮想ＰＣ部１１１1-1を動作させるソフトウェアであり、第１の仮想ＰＣサーバ１０３1の資源としての図示しないコンピュータのＣＰＵ（Central Processing Unit）やメモリを仮想ＰＣ部１１１1-1に割り当てる機能を持っている。
【００３２】
仮想化ソフトウェア部１１２1を構成する仮想ＰＣ管理部１２１は、仮想化ソフトウェア部１１２1の上で動作している仮想ＰＣ部１１１1-1を管理し、管理サーバ１０４からの要求に応じて、仮想ＰＣ部１１１1-1の情報を送信する。仮想ＰＣ管理部１２１が管理する情報としては、たとえば仮想ＰＣ部１１１1-1の識別子と、仮想ＰＣ部１１１1-1に割り当てられたＩＰアドレス、仮想ＰＣ部１１１1-1のＣＰＵ利用率、あるいは仮想ＰＣ部１１１1-1のメモリ利用量がある。
【００３３】
仮想ＰＣ移行部１２２は、仮想ＰＣ部１１１1-1を図示しない第２の仮想ＰＣサーバ１０３2等の他の仮想ＰＣ部１１１に移行させる機能を持つ。仮想ＰＣ移行部１２２は、管理サーバ１０４からの命令により仮想ＰＣ部１１１1-1の移行を行う。
【００３４】
仮想ＰＣ部１１１1-1は、仮想化ソフトウェア部１１２1の上で動作する仮想化されたＰＣであり、前記したコンピュータをエミュレーションしたものである。仮想ＰＣ部１１１1-1は、ＯＳ（Operating System）部１２４1-1と、資料共有クライアント１２５1-1および仮想送受信部１２６1-1によって構成されている。
【００３５】
ここでＯＳ部１２４1-1はＯＳによって構成されている。資料共有クライアント１２５1-1は、ＯＳ部１２４1-1の上で動作するアプリケーションソフトウェアとしてのクライアントである。資料共有クライアント１２５1-1は、資料共有サーバ１０５と通信することで、同一の会議に参加するユーザに対して資料共有機能を提供する。仮想ＰＣ部１１１1-1は、個別のＩＰアドレスが割り当てられた仮想送受信部１２６1-1を有している。仮想送受信部１２６1-1は、第１の仮想ＰＣサーバ１０３1の外部と送受信部１１３1を介して通信することができる。
【００３６】
図８は、図６に示した管理サーバの構成を表わしたものである。管理サーバ１０４は、図６に示した第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kの管理を行う。管理サーバ１０４は、必要に応じてこれら仮想ＰＣサーバ１０３1〜１０３Kに対して仮想ＰＣ部１１１1-1（図７）等の仮想ＰＣ部１１１の移行を指示するようになっている。図６および図７と共に説明する。
【００３７】
管理サーバ１０４は、送受信部１３１と、仮想ＰＣサーバ管理部１３２と、仮想ＰＣサーバ情報記憶部１３３と、仮想ＰＣ集約判定部１３４および仮想ＰＣ移行命令部１３５で構成されている。ここで送受信部１３１は、ネットワーク１０２とデータの送受信を行う。仮想ＰＣサーバ管理部１３２は、第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kの仮想ＰＣ管理部１２１から、これらの仮想ＰＣサーバ上で動作している仮想ＰＣ部１１１1-1等の仮想ＰＣ部１１１の情報を収集する。仮想ＰＣサーバ管理部１３２は、この収集結果を仮想ＰＣサーバ情報記憶部１３３に格納する。仮想ＰＣサーバ情報記憶部１３３に記憶される情報には、たとえば次のようなものがある。第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kの識別子、ＣＰＵ性能値、メモリ容量、これらの仮想ＰＣサーバ１０３で動作している仮想ＰＣ部１１１の識別子、仮想ＰＣ部１１１に割り当てられたＩＰアドレス、仮想ＰＣ部１１１のＣＰＵ使用率やメモリ使用量。
【００３８】
仮想ＰＣ集約判定部１３４は、資料共有サーバ１０５から送信されるデータ配信時間と資料共有クライアントのリストを基にして、仮想ＰＣ部１１１1-1等の仮想ＰＣ部１１１を仮想ＰＣサーバ１０３に集約するかを判断する。集約すると判断した場合、仮想ＰＣ集約判定部１３４は更に集約先の仮想ＰＣサーバ１０３を決定し、仮想ＰＣ移行命令部１３５に仮想ＰＣ部１１１1-1等の仮想ＰＣ部１１１の移行指示を出す。仮想ＰＣ集約判定部１３４は仮想ＰＣ移行命令部１３５から仮想ＰＣ部１１１1-1等の仮想ＰＣ部１１１の移行完了の通知を受けると、資料共有サーバ１０５に対して、該当する仮想ＰＣ部１１１を同一の仮想ＰＣサーバ１０３に移行したことを通知する。
【００３９】
仮想ＰＣ移行命令部１３５は、仮想ＰＣ集約判定部１３４からの指示に基づいて、仮想ＰＣ部１１１1-1等の仮想ＰＣ部１１１の移行を仮想ＰＣサーバ１０３の仮想ＰＣ移行部１２２に命令する。この命令により、該当するすべての仮想ＰＣ部１１１の移行が完了すると、仮想ＰＣ移行命令部１３５は、移行の完了を仮想ＰＣ集約判定部１３４に通知する。
【００４０】
図９は、資料共有サーバの構成を表わしたものである。資料共有サーバ１０５は、会議で共有する資料の管理を行うようになっている。図６〜図８と共に説明する。なお、以下の説明では、図７に示した仮想ＰＣ部１１１1-1を特に指定して説明する場合を除いて、「仮想ＰＣ部１１１」と一般的な表記で表示する。ＯＳ部１２４1-1、資料共有クライアント１２５1-1および仮想送受信部１２６1-1についても同様である。
【００４１】
資料共有サーバ１０５は、送受信部１４１と、資料管理部１４２と、資料記憶部１４３と、クライアント管理部１４４およびクライアント記憶部１４５で構成されている。ここで、送受信部１４１は、ネットワーク１０２とデータの送受信を行う。資料管理部１４２は、資料の登録や資料に対する操作の同期処理を行う。この処理の結果、ある資料共有クライアント１２５から資料の操作データが送信されると、資料管理部１４２は、同じ会議に参加している他の資料共有クライアント１２５に、操作データを配信する。
【００４２】
資料共有サーバ１０５は、この操作データ配信時に、グループ化されている資料共有クライアント１２５が存在するかを判別する。そして、このような資料共有クライアント１２５が存在する場合には、そのグループのルートになっている資料共有クライアント１２５だけに操作データとグループの資料共有クライアント１２５の木構造配置の情報を送信する。
【００４３】
資料記憶部１４３は、会議で使う共有の資料としての情報を会議ごとに記憶するようになっている。資料記憶部１４３が記憶する情報としては、たとえば登録されている資料、資料に追記された情報、現在表示している資料およびページがある。
【００４４】
クライアント管理部１４４は、資料を共有する会議へのクライアントの参加処理や脱退処理を行う。また、クライアント管理部１４４は資料共有クライアント１２５のそれぞれに対するデータ配信に要した時間を計測する。そして、同じ会議に参加している資料共有クライアント１２５のリストと共に管理サーバ１０４の仮想ＰＣ集約判定部１３４にその計測結果を通知する。この結果として、仮想ＰＣ集約判定部１３４から仮想ＰＣ部１１１の集約通知があった場合、クライアント管理部１４４は、移行した仮想ＰＣ部１１１をグループ化する。そして、クライアント管理部１４４は、グループ化された資料共有クライアント１２５を木構造に配置し、クライアント記憶部１４５にそれらの情報を格納する。
【００４５】
クライアント記憶部１４５は、会議ごとに参加している資料共有クライアント１２５の情報を記憶する。クライアント記憶部１４５が記憶する情報には、たとえば、資料を共有する会議の識別子、会議室に参加している資料共有クライアント１２５それぞれの識別子とＩＰアドレス、グループ識別子、および親となる資料共有クライアント１２５の識別子がある。
【００４６】
ここでグループ識別子とは、同一仮想ＰＣサーバ１０３の仮想ＰＣ部１１１上で動作している資料共有クライアント１２５に設定されるグループを識別する情報である。親となる資料共有クライアント１２５の識別子は、木構造において自分の親となる資料共有クライアント１２５の識別子である。
【００４７】
図６に示す第１〜第Ｍのシンクライアント端末１０１1〜１０１Mは、第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kの仮想ＰＣ部１１１と個別に対応付けられ、これら仮想ＰＣ部１１１を遠隔操作するための装置である。第１〜第Ｍのシンクライアント端末１０１1〜１０１Mは、図示しないキーボードやポインティングデバイスとしてのマウス等の入力手段と、モニタ等の出力手段を有している。そして、仮想ＰＣ部１１１の対応するものと、入出力情報を送受信する。このような第１〜第Ｍのシンクライアント端末１０１1〜１０１Mは、一般的な操作端末として構成されているので、それらの図示および説明を省略する。
【００４８】
図１０は、資料共有クライアントの構成の概要を表わしたものである。資料共有クライアント１２５は、図７に示した仮想ＰＣ部１１１で実行されるアプリケーションソフトウェアである。資料共有クライアント１２５は、送受信部１５１と、資料操作部１５２と、資料管理部１５３と、資料記憶部１５４と、資料配信部１５５および表示部１５６で構成される。図６および図７と共に説明する。
【００４９】
送受信部１５１は、仮想ＰＣサーバ１０３の送受信部１１３を介して、資料共有サーバ１０５や他の資料共有クライアント１２５とデータの送受信を行う。資料操作部１５２は、ユーザに資料を共有する会議（以下、資料共有会議という。）の資料を操作する手段を提供する。資料操作部１５２は、ユーザの操作によって、操作データを資料管理部１５３と、資料共有サーバ１０５の資料管理部１４２に送信する。
【００５０】
資料管理部１５３は、資料共有会議で使われる資料等の情報を管理し、資料操作部１５２および資料共有サーバ１０５から操作データを受信すると、資料記憶部１５４に記憶する。また、資料管理部１５３は、受信した操作データに資料共有クライアント１２５の木構造配置情報が含まれる場合には、資料配信部１５５に操作データを渡す。
【００５１】
資料配信部１５５は、資料管理部１５３から操作データを受け取ると、資料共有クライアント１２５の木構造における位置情報に基づいて、同一の資料共有会議に参加する他の資料共有クライアント１２５に操作データを配信する。表示部１５６は、資料記憶部１５４から定期的にデータを読み出して、その図示しないウィンドウに表示する。
【００５２】
以上のような構成の図６に示すシンクライアントシステム１００の各種の動作を次に説明する。一例として、図７に示す第１の仮想ＰＣサーバ１０３1内の資料共有クライアント１２５が、資料共有会議に参加するもとする。資料共有クライアント１２５が、資料共有会議に参加すれば、その時点から資料の配信の相手が追加されることになるので、そのための処理が行われることになる。
【００５３】
図１１は、資料共有サーバ内のクライアント管理部による資料共有会議への資料共有クライアントの参加処理を表わしたものである。図７および図９と共に説明する。
【００５４】
資料共有サーバ１０５内のクライアント管理部１４４は、いずれかの仮想ＰＣサーバ１０３内の資料共有クライアント１２５から資料共有の会議への参加要求が送られてくるのを送受信部１４１を介して待機している（ステップＳ２０１）。この例で、第１の仮想ＰＣサーバ１０３1内の資料共有クライアント１２５から参加要求が送られてくると（Ｙ）、クライアント管理部１４４はこの情報をクライアント記憶部１４５の該当する会議室のメモリ領域に追加記憶する（ステップＳ２０２）。
【００５５】
クライアント管理部１４４は、これに基づいて、資料管理部１４２に対して、この資料共有クライアント１２５への資料の配信を指示する（ステップＳ２０３）。このとき、該当する資料共有クライアント１２５を示す識別子が通知される。
【００５６】
次に、クライアント管理部１４４は、該当する会議に参加している資料共有クライアント１２５全員の情報を、送受信部１４１から図８に示す管理サーバ１０４の仮想ＰＣ集約判定部１３４に送信する（ステップＳ２０４）。これは、会議に参加する資料共有クライアント１２５の数を１つの要因として、それぞれの資料共有クライアント１２５が動作している仮想ＰＣ部１１１を同一の仮想ＰＣサーバ１０３に集約する可能性があるからである。以上の一連の処理で、クライアント管理部１４４による資料共有クライアント１２５の参加についての一連の処理が終了する（エンド）。
【００５７】
図１２は、資料共有サーバ内の資料管理部の処理を表わしたものである。図９と共に説明する。
【００５８】
資料共有サーバ１０５内の資料管理部１４２は、クライアント管理部１４４から資料配信の指示がくるのを待機している（ステップＳ２２１）。クライアント管理部１４４から資料配信の指示がくると（Ｙ）、資料記憶部１４３から資料共有会議の資料を取り出す（ステップＳ２２２）。そして、クライアント記憶部１４５から通知された資料共有クライアント識別子をもつ資料共有クライアントのＩＰ（Internet Protocol）アドレスを取得する（ステップＳ２２３）。次に、資料管理部１４２は、送受信部１４１を使用して、資料をこの取得したＩＰアドレスに送信して（ステップＳ２２４）、一連の処理を終了する（エンド）。
【００５９】
次に、資料共有会議に参加している資料共有クライアント１２５（図７、図１０）のいずれかで資料の操作が行われ、資料共有クライアント１２５の資料操作部１５２から操作データが資料共有サーバ１０５の資料管理部１４２（図９）に送信される場合を説明する。このような場合には、資料共有会議に参加している資料共有クライアント１２５の全員に、この操作データが配信される必要がある。配信を効率的に行うため、本実施の形態では木構造（ツリー構造）の情報伝達を行うようにしている。
【００６０】
図１３は、資料共有サーバにおける資料管理部の処理の様子を表わしたものである。図９および図１０と共に説明する。
【００６１】
資料共有サーバ１０５における資料管理部１４２は、資料共有クライアント１２５の資料操作部１５２から操作データを受信するのを待機している（ステップＳ２４１）。操作データを受信したら（Ｙ）、資料管理部１４２は、この操作データを資料記憶部１４３に記憶する（ステップＳ２４２）。そして、資料管理部１４２は、会議に参加している資料共有クライアント１２５についての情報をクライアント記憶部１４５から取得する（ステップＳ２４３）。次に、グループのルートに設定された資料共有クライアント１２５、およびグループに所属していない各資料共有クライアント１２５に操作データを配信する（ステップＳ２４４）。
【００６２】
ここで、「グループ」とは、図６に示す第１〜第Ｋの仮想ＰＣサーバ１０３1〜１０３Kにおける同一の仮想ＰＣサーバ１０３J（ただし、１≦Ｊ≦Ｋ）に集約された仮想ＰＣ部１１１の集合をいう。これは、同一の会議に参加するメンバとしての仮想ＰＣ部１１１の集合である。
【００６３】
このステップＳ２４４によるデータ配信に伴って、資料管理部１４２は、グループの資料共有クライアント１２５の木構造情報を配信する（ステップＳ２４５）。更に資料管理部１４２は、会議に参加している資料共有クライアントのリストと共にデータ配信時間を図８に示す仮想ＰＣ集約判定部１３４に送信して（ステップＳ２４６）、一連の処理を終了する（エンド）。ここで、ステップＳ２４４〜ステップＳ２４６の処理の順序は適宜変更可能である。
【００６４】
図１４は、図１３のステップＳ２４４で送られてきた操作データを受信する側の資料共有クライアントの資料管理部の処理の様子を表わしたものである。図１０と共に説明する。
【００６５】
資料管理部１５３は、資料共有サーバ１０５から操作データが送られてくるのを待機している（ステップＳ２６１）。送受信部１５１が操作データを受信すると（Ｙ）、資料管理部１５３はこの操作データとこれに付随して送られてくる情報を資料記憶部１５４に記憶する（ステップＳ２６２）。受信処理が終了すると、資料管理部１５３は、資料記憶部１５４に格納された情報として資料共有クライアントのリストおよび木構造情報が存在するか判別する（ステップＳ２６３）。これらの情報が受信されておらず、資料記憶部１５４に存在しない場合には（Ｎ）、処理をそのまま終了する（エンド）。
【００６６】
これに対して、資料共有クライアントのリストおよび木構造情報が存在する場合には（ステップＳ２６３：Ｙ）、これらを資料配信部１５５に送信して（ステップＳ２６４）、一連の処理を終了する（エンド）。
【００６７】
図１５は、資料共有クライアントの資料配信部の処理の様子を表わしたものである。図１０と共に説明する。
【００６８】
資料共有クライアント１２５の資料配信部１５５は、資料管理部１５３が受信した操作データ等の情報における木構造情報に含まれる資料共有クライアント１２５の数を調べる（ステップＳ２８１）。そして、資料共有クライアント１２５の数が「１」であるか判別する（ステップＳ２８２）。これは、資料共有クライアントについてのリストの長さが「１」であるかの判別と同じである。
【００６９】
資料共有クライアント１２５の数が「１」であった場合には（Ｙ）、資料共有クライアント１２５のリストに記載されている資料共有クライアントに操作データを送信して（ステップＳ２８３）、処理を終了する（エンド）。
【００７０】
この一方で、資料共有クライアント１２５のリストに記載されている資料共有クライアント１２５の数が２以上であった場合には（ステップＳ２８２：Ｎ）、木構造のルートから伸びる各部分木の木構造情報を作成する。このために、部分木の数がｒ個ある場合には、資料共有クライアント１２５のリストをｒ分割することになる（ステップＳ２８４）。そして、部分木を示すパラメータＲを「１」に初期化して（ステップＳ２８５）、第１の部分木（Ｒ＝１）についての資料共有クライアント１２５を選択し（ステップＳ２８６）、この選択した資料共有クライアント１２５を資料共有クライアント１２５のリストから削除する（ステップＳ２８７）。次に、ステップＳ２８６で選択した資料共有クライアント１２５に操作データと資料共有クライアント１２５のリストを送信する（ステップＳ２８８）。
【００７１】
この後、部分木を示すパラメータＲを「１」だけ加算して（Ｒ＝Ｒ＋１）（ステップＳ２８９）、その値Ｒがリストの分割数ｒを超過したかどうかをチェックする（ステップＳ２９０）。Ｒがリストの分割数ｒを超過していなければ（Ｎ）、第２の部分木（Ｒ＝２）についての資料共有クライアント１２５を選択する処理を行う（ステップＳ２８６）。以下同様にして、各部分木の木構造情報についての操作データと資料共有クライアント１２５のリストの送信が行われ、Ｒがリストの分割数ｒを超過した時点で（ステップＳ２９０：Ｙ）、処理を終了する（エンド）。以上のようにして、木構造の各ルートを構成する資料共有クライアント１２５に操作データと資料共有クライアント１２５のリストが送信されることになる。
【００７２】
図１６は、管理サーバの仮想ＰＣ集約判定部の処理の様子を表わしたものである。図６、図８および図９と共に説明する。
【００７３】
管理サーバ１０４の仮想ＰＣ集約判定部１３４は、図１３のステップＳ２４６で資料管理部１４２から送られてくるデータ配信時間と会議に参加している資料共有クライアント１２５のリストの受信を待機している（ステップＳ３０１）。データ配信時間と会議に参加している資料共有クライアント１２５のリストを受信すると（Ｙ）、資料共有クライアント１２５の状態が仮想ＰＣを同一の仮想ＰＣサーバ１０３に集約するための予め設定した条件を満たすかを判定する（ステップＳ３０２）。この結果、条件を満たさない場合には（Ｎ）、処理を終了する（エンド）。ここで予め設定した条件とは、たとえばデータ配信時間が予め設定したしきい値を超えるというような条件である。
【００７４】
仮想ＰＣ集約判定部１３４が、予め設定した条件を満たすと判定した場合には（ステップＳ３０２：Ｙ）、仮想ＰＣの集約が実行される。そこで、仮想ＰＣ集約判定部１３４は、仮想ＰＣサーバ管理部１３２を介して仮想ＰＣサーバ１０３についての情報を取得する（ステップＳ３０３）。そして、仮想ＰＣサーバ１０３の情報と仮想ＰＣ集約判定部１３４の受信した資料共有クライアント１２５のリストを基にして、資料共有の会議に参加している仮想ＰＣ部１１１がどの仮想ＰＣサーバ１０３で稼働しているかを把握する（ステップＳ３０４）。これを基にして、仮想ＰＣ集約判定部１３４は集約先（移行先）の仮想ＰＣサーバ１０３を決定し（ステップＳ３０５）、仮想ＰＣ移行命令部１３５に対して、所定の仮想ＰＣ部１１１を集約先とした特定の仮想ＰＣサーバ１０３に移行させるように指示する（ステップ３０６）。仮想ＰＣ移行命令部１３５から移行完了が通知されると、仮想ＰＣ集約判定部１３４はクライアント管理部１４４に対して、仮想ＰＣ部１１１を特定の仮想ＰＣサーバ１０３に集約したことを通知して（ステップＳ３０７）、処理を終了する（エンド）。
【００７５】
図１７は、管理サーバの仮想ＰＣ移行命令部の処理の様子を表わしたものである。図６、図７および図８と共に説明する。
【００７６】
管理サーバ１０４の仮想ＰＣ移行命令部１３５は、図１６のステップＳ３０６で仮想ＰＣ集約判定部１３４から仮想ＰＣ移行指示を受けるのを待機している（ステップＳ３２１）。仮想ＰＣ移行命令部１３５は、仮想ＰＣ移行指示を受けると（Ｙ）、該当する仮想ＰＣ部１１１が動作する仮想ＰＣサーバ１０３の仮想ＰＣ移行部１２２すべてに対して仮想ＰＣ部１１１の移行を指示する（ステップＳ３２２）。そして、これら指示した仮想ＰＣ移行部１２２から移行完了が通知されるのを待機する（ステップＳ３２３）。
【００７７】
指示した仮想ＰＣ移行部１２２のすべてから移行完了が通知されると（ステップＳ３２３：Ｙ）、仮想ＰＣ移行命令部１３５は、仮想ＰＣ集約判定部１３４に移行完了を通知して（ステップＳ３２４）、処理を終了する（エンド）。
【００７８】
図１８は、資料共有サーバのクライアント管理部による仮想ＰＣ部のグループ化とこれに伴う処理の様子を表わしたものである。図６、図８および図９と共に説明する。
【００７９】
資料共有サーバ１０５のクライアント管理部１４４は、仮想ＰＣ集約判定部１３４から会議に参加している資料共有クライアント１２５が動作している仮想ＰＣ部１１１を仮想ＰＣサーバ１０３に集約したことの通知を待機している（ステップＳ３４１）。この通知を受信すると（Ｙ）、クライアント管理部１４４は、同一の仮想ＰＣ部１１１として動作している資料共有クライアント１２５をグループ化する（ステップＳ３４２）。そして、クライアント管理部１４４は、これらグループ化した資料共有クライアント１２５を木構造に配置する（ステップＳ３４３）。次に、クライアント管理部１４４は、これら資料共有クライアント１２５についてグループ情報と木構造での親となる資料共有クライアント１２５を親となる資料共有クライアントとして指定する（ステップＳ３４４）。そして、ステップＳ３４２におけるグループ化情報と、親となる資料共有クライアント情報とをクライアント記憶部１４５に記憶して（ステップＳ３４５）、処理を終了する（エンド）。
【００８０】
ただし、ステップＳ３４５では、木構造のルートになっている資料共有クライアント１２５については、親となる資料共有クライアントの識別子を設定しない。
【実施例１】
【００８１】
以上、シンクライアントシステム１００の概要について各部の動作を説明した。次に、一例として仮想ＰＣサーバを具体的に挙げて、シンクライアントシステム１００の動作を実施例として具体的に説明する。
【００８２】
図１９は、シンクライアントシステムの具体例を示したものである。ここでは、説明を簡単にするために、非常に単純化された例を挙げる。シンクライアントシステム１００を構成するネットワーク１０２には、第１〜第４のシンクライアント端末１０１1〜１０１4と、第１〜第３の仮想ＰＣサーバ１０３1〜１０３3と、管理サーバ１０４および資料共有サーバ１０５が接続されている。第１の仮想ＰＣサーバ１０３1では、仮想化ソフトウェア部１１２1に対して仮想ＰＣ部１１１1-1が動作している。第２の仮想ＰＣサーバ１０３2では、仮想化ソフトウェア部１１２2に対して仮想ＰＣ部１１１2-1が動作している。第３の仮想ＰＣサーバ１０３3では、仮想化ソフトウェア部１１２3に対して仮想ＰＣ部１１１3-1と仮想ＰＣ部１１１3-2が動作している。
【００８３】
この図１９では、第１〜第３の仮想ＰＣサーバ１０３1〜１０３3を簡略化された構成で示している。第１の仮想ＰＣサーバ１０３1の具体的な構成は、図７で示した通りである。第２、第３の仮想ＰＣサーバ１０３2、１０３3についても、図７と実質的な構成は同一である。ただし、仮想ＰＣ部１１１1-1を構成する資料共有クライアント１２５1-1は、仮想ＰＣ部１１１2-1で資料共有クライアント１２５2-1と読み替え、ＯＳ部１２４1-1は、仮想ＰＣ部１１１2-1でＯＳ部１２４2-1と読み替える。仮想ＰＣ部１１１1-1を構成する仮想送受信部１２６1-1は、仮想ＰＣ部１１１2-1で仮想送受信部１２６2-1と読み替える。仮想ＰＣ部１１１3-1、１１１3-2についても、同様の読み替えを行うことにする。
【００８４】
図２０は、第１〜第３の仮想ＰＣサーバのそれぞれに割り当てられた仮想ＰＣサーバ識別子を示したものである。たとえば、第１の仮想ＰＣサーバ１０３1には、仮想ＰＣサーバ識別子Ｓ100が割り当てられている。
【００８５】
図２１は、各仮想ＰＣ部に割り当てられた仮想ＰＣ識別子とＩＰアドレスの関係を表わしたものである。たとえば図１９に示す第３の仮想ＰＣサーバ１０３3について見てみると、仮想ＰＣ部１１１3-1と仮想ＰＣ部１１１3-2が動作しているので、これらに仮想ＰＣ識別子とＩＰアドレスが割り当てられている。仮想ＰＣ部１１１3-1については、仮想ＰＣ識別子がＶＰＣ031であり、ＩＰアドレスは「１９２．１６８．３．１」となっている。もう１つの仮想ＰＣ部１１１3-2については、仮想ＰＣ識別子がＶＰＣ032であり、ＩＰアドレスは「１９２．１６８．４．１」となっている。
【００８６】
図２２は、管理サーバの仮想ＰＣサーバ情報記憶部に格納されているテーブル情報の内容を表わしたものである。図８に示す管理サーバ１０４の仮想ＰＣサーバ情報記憶部１３３には、図２０および図２１に示した内容に基づいて、図１９に示した第１〜第３の仮想ＰＣサーバ１０３1〜１０３3のテーブル情報４０１が格納されている。これは、各仮想ＰＣ部１１１1-1、１１１2-1、１１１3-1、１１１3-2における仮想ＰＣサーバ識別子、仮想ＰＣ識別子およびＩＰアドレスとなっている。
【００８７】
図１９に示したシンクライアントシステム１００では、更に次の前提が整っているものとする。まず、第１の前提として、各仮想ＰＣ部１１１1-1、１１１2-1、１１１3-1、１１１3-2で、それぞれ、資料共有クライアント１２５1-1、１２５2-1、１２５3-1、１２５3-2がアプリケーションとして動作している。
【００８８】
第２の前提として、資料共有クライアント１２５1-1、１２５3-1が会議室識別子「００１」の資料共有の会議に参加し、資料共有クライアント１２５2-1が会議室識別子「０２０」の資料共有の会議に参加している。
【００８９】
図２３は、第３の前提としての３つの資料共有クライアントとクライアント識別子の関係を示したものである。資料共有クライアント１２５1-1、１２５2-1、１２５3-1には、この図２３に示すようなクライアント識別子Ｃ001、Ｃ002、Ｃ003が割り当てられている。
【００９０】
図２４は、第４の前提としての資料共有サーバのクライアント管理部に格納されているテーブルの内容を表わしたものである。図９に示す資料共有サーバ１０５のクライアント管理部１４４には、情報４１１が記憶されている。この情報４１１は、「００１」等の会議室識別子と、「Ｃ001」等のクライアント識別子、「１９２．１６８．１．１」等のＩＰアドレスや、ルートおよびグループを対応付けたものである。
【００９１】
第５の前提として、図１９に示す第１〜第４のシンクライアント端末１０１1〜１０１4が、それぞれ仮想ＰＣ部１１１1-1、１１１2-1、１１１3-1、１１１3-2に１対１に対応付けて接続している。
【００９２】
以上の前提の下で、仮想ＰＣ部１１１3-2でクライアント識別子「Ｃ004」が設定された資料共有クライアント１２５3-2が起動され、ユーザが会議室識別子「００１」の会議に参加を要求したとする。資料共有クライアント１２５3-2は、図９に示す資料共有サーバ１０５のクライアント管理部１４４に対して、会議室識別子「００１」の会議への参加を要求する。
【００９３】
図９に示す資料共有サーバ１０５のクライアント管理部１４４は、資料共有クライアント１２５3-2から会議への参加要求を受けると、クライアント記憶部１４５に資料共有クライアント１２５3-2の情報を追加する（図１１ステップＳ２０２）。具体的には、会議室識別子「００１」、クライアント識別子「Ｃ004」、ＩＰアドレス「１９２.１６８.４．１」という情報が追加される。
【００９４】
次に、クライアント管理部１４４は、資料管理部１４２に資料共有クライアント１２５3-2の識別子「Ｃ004」を通知して、資料共有クライアント１２５3-2に会議室識別子「００１」の会議の資料を配信するように指示する（ステップＳ２０３）。
【００９５】
図２５は、この資料共有クライアント１２５3-2が会議室「００１」に参加した後の状態での、クライアント記憶部の記憶する情報の内容を表わしたものである。クライアント記憶部１４５には情報４１２として、図２４に示す情報４１１の他に、会議室識別子「００１」が追加され、ここにクライアント識別子「Ｃ004」、ＩＰアドレス「１９２.１６８.４．１」が記憶されている。
【００９６】
図９に示す資料共有サーバ１０５の資料管理部１４２は、クライアント管理部１４４から指示を受けると、資料記憶部１４３から会議室識別子「００１」の会議の資料を取り出す（図１２ステップＳ２２２）。そして、クライアント記憶部１４５から通知された資料共有クライアント識別子「Ｃ004」を持つ資料共有クライアント１２５3-2のＩＰアドレス「１９２.１６８.４．１」を取得する（ステップＳ２２３）。そして、資料管理部１４２は、送受信部１４１を使用して、この資料を資料共有クライアント１２５3-2に送信する（ステップＳ２２４）。資料共有クライアント１２５3-2は、図１０に示す資料管理部１５３がこの受信した資料を資料記憶部１５４に記憶し、表示部１５６に表示する。
【００９７】
このようにして資料共有クライアント１２５3-2が会議室識別子「００１」の会議に新たに参加して、資料を受け取った後に、資料共有クライアント１２５1-1が会議室識別子「００１」の会議の資料に操作を行ったとする。この場合、資料共有クライアント１２５1-1の資料操作部１５２は、図９に示す資料共有サーバ１０５の資料管理部１４２に操作データを送信する。
【００９８】
資料管理部１４２は、資料共有クライアント１２５1-1から受信したデータを資料記憶部１４３に記憶する（図１３ステップＳ２４２）。次に、資料管理部１４２は、会議室識別子「００１」の会議に参加している資料共有クライアント１２５についての情報を、図９に示した資料共有サーバ１０５のクライアント記憶部１４５から取得する（ステップＳ２４３）。この時点では、グループ化された資料共有クライアント１２５がまだ存在しない。
【００９９】
そこで、資料管理部１４２は、図２５に示す同一の会議室識別子「００１」の資料共有クライアント１２５1-1、１２５2-1、１２５3-2に操作データを個別に配信する（ステップＳ２４４）。更に資料管理部１４２は、配信時間と会議室識別子「００１」の会議に参加している資料共有クライアントのリストを、図８に示す管理サーバ１０４の仮想ＰＣ集約判定部１３４に送信する（ステップＳ２４６）。
【０１００】
資料共有クライアント１２５1-1、１２５2-1、１２５3-2では、図１０に示す資料管理部１５３が送受信部１５１を使用して資料共有サーバ１０５からデータをそれぞれ受信する（図１４ステップＳ２６１：Ｙ）。資料管理部１５３は、この受信したデータを資料記憶部１５４に格納する（ステップＳ２６２）。そして、資料共有クライアントの木構造情報が存在するか確認する（ステップＳ２６３）。この段階では、木構造情報が存在しない（Ｎ）。そこで、資料管理部１５３は、このまま処理を終了する（エンド）。
【０１０１】
一方、図８に示す管理サーバ１０４の仮想ＰＣ集約判定部１３４は、図１３のステップＳ２４６でクライアント管理部１４４から資料共有クライアントのリストとデータ配信時間を受信する（図１６ステップＳ３０１：Ｙ）。そこで、仮想ＰＣ集約判定部１３４は、この時点で仮想ＰＣを同一の仮想ＰＣサーバ１０３に集約するべきかの判定を行う（ステップＳ３０２）。
【０１０２】
本実施例では、データ配信時間が予め設定したしきい値を超えた場合に、仮想ＰＣ部１１１を同一の仮想ＰＣサーバ１０３に集約すると判定する。もちろん、判定は資料共有サーバ１０５がデータを配信するクライアント数や、資料共有サーバ１０５の性能や負荷状況、あるいはネットワーク１０２の回線速度や利用状況を考慮して行うようにしてもよい。
【０１０３】
図１６のステップＳ３０２で図８に示す管理サーバ１０４の仮想ＰＣ集約判定部１３４が仮想ＰＣ部１１１を集約させると判定したとする（Ｙ）。この場合、仮想ＰＣ集約判定部１３４は、仮想ＰＣサーバ管理部１３２を介して仮想ＰＣサーバ１０３の情報を取得する（ステップＳ３０３）。そして、仮想ＰＣサーバ１０３の情報と、クライアント記憶部１４５から取得した資料共有クライアントのリストを基にして、資料共有の会議に参加している資料共有クライアント１２５がどの仮想ＰＣサーバ１０３で稼働しているかを把握する（ステップＳ３０４）。これを基にして、仮想ＰＣ集約判定部１３４は、移行先（集約先）の仮想ＰＣサーバ１０３を決定する（ステップＳ３０５）。
【０１０４】
実施例では、集約先の仮想ＰＣサーバ１０３を次のように求める。
まず、次のように変数Ａ、Ｂ、Ｃ、Ｄを定義する。
Ａ……仮想ＰＣ部１１１が動作している仮想ＰＣサーバ１０３のＣＰＵ（Central Processing Unit）の性能値
Ｂ……仮想ＰＣ部１１１のＣＰＵ利用率
Ｃ……仮想ＰＣ部１１１が動作している仮想ＰＣサーバ１０３のメモリ容量
Ｄ……仮想ＰＣ部１１１のメモリ利用量
【０１０５】
次に、資料共有クライアント１２５が動作している各仮想ＰＣ部１１１について、次の（１）式で仮想ＰＣ部１１１のＣＰＵ利用値Ｅを算出する。
Ｅ＝Ａ×Ｂ  ……（１）
【０１０６】
次に、仮想ＰＣサーバ１０３ごとに、次の（２）式および（３）式で変数Ｆおよび変数Ｇを算出する。ここで、変数Ｆは仮想ＰＣ部１１１を集約した場合の仮想ＰＣサーバ１０３のＣＰＵ性能余裕値である。また、変数Ｇは仮想ＰＣ部１１１を集約した場合の仮想ＰＣサーバ１０３のメモリ残量である。
Ｆ＝Ａ−ΣＥ  ……（２）
Ｇ＝Ｃ−ΣＤ  ……（３）
【０１０７】
そして、図１９に示す第１〜第３の仮想ＰＣサーバ１０３1〜１０３3の中から、変数Ｆおよび変数Ｇがそれぞれのしきい値以上となった仮想ＰＣサーバ１０３を求めて、仮想ＰＣ部１１１の集約先とする。条件を満たす仮想ＰＣサーバが複数ある場合がある。この場合には、集約において移動させる仮想ＰＣ部１１１の台数が最少となる仮想ＰＣサーバ１０３を集約先に選定する。
【０１０８】
（２）式および（３）式を満たす仮想ＰＣサーバ１０３が存在しない場合がある。この場合には、仮想ＰＣ部１１１を集約しないとしてもよいし、集約先を複数台の仮想ＰＣサーバ１０３に分けてもよい。集約先を複数台の仮想ＰＣサーバ１０３に分ける場合には、全集約パターンの中から集約先となる全仮想ＰＣサーバ１０３1〜１０３3が（２）式あるいは（３）式を満たす移行パターンを求め、仮想ＰＣ部１１１の集約パターンとする。集約先を複数台の仮想ＰＣサーバ１０３に分けた場合には、図１８のステップＳ３４２において、同じ仮想ＰＣサーバ１０３に集約された仮想ＰＣ部１１１上で動作している資料共有クライアント１２５ごとにグループを設定することになる。
【０１０９】
本実施例では、仮想ＰＣ集約判定部１３４が集約先として第３の仮想ＰＣサーバ１０３3を選定したとする。この場合、図８に示す管理サーバ１０４の仮想ＰＣ集約判定部１３４は、仮想ＰＣ移行命令部１３５に仮想ＰＣ部１１１の移行指示を出す。具体的には、仮想ＰＣ集約判定部１３４は、仮想ＰＣ移行命令部１３５に、図１９に示す仮想ＰＣ部１１１1-1を第１の仮想ＰＣサーバ１０３1から第３の仮想ＰＣサーバ１０３3に移行させるように指示する（図１ステップＳ３０６）。同様に、仮想ＰＣ部１１１2-1を第２の仮想ＰＣサーバ１０３2から第３の仮想ＰＣサーバ１０３3に移行させる指示も行われる（ステップＳ３０６）。そして、仮想ＰＣ移行命令部１３５から仮想ＰＣ部１１１1-1および仮想ＰＣ部１１１2-1の移行完了が通知されると、クライアント管理部１４４に資料共有クライアント１２５1-1、１２５2-1、１２５3-2を第３の仮想ＰＣサーバ１０３3に集約したことを通知する（ステップＳ３０７）。
【０１１０】
仮想ＰＣ移行命令部１３５は、仮想ＰＣ集約判定部１３４の指示に基づき、該当する仮想ＰＣ部１１１が動作する仮想ＰＣサーバ１０３の仮想ＰＣ移行部１２２すべてに対して仮想ＰＣ部１１１の移行を指示する（図１７ステップＳ３２２）。この例の場合には、第１の仮想ＰＣサーバ１０３1の仮想ＰＣ移行部１２２に対して、仮想ＰＣ部１１１1-1を第３の仮想ＰＣサーバ１０３3に移行するように指示する。また、第２の仮想ＰＣサーバ１０３2の仮想ＰＣ移行部１２２に対しては、仮想ＰＣ部１１１2-1を第３の仮想ＰＣサーバ１０３3に移行するように指示する。
【０１１１】
指示を受けた第１の仮想ＰＣサーバ１０３1および第２の仮想ＰＣサーバ１０３2の仮想ＰＣ移行部１２２は、仮想ＰＣ部１１１1-1および仮想ＰＣ部１１１2-1をそれぞれ第３の仮想ＰＣサーバ１０３3に移行する。そして、移行が完了するとこれらを仮想ＰＣ集約判定部１３４に通知する（図１７ステップＳ３２４）。
【０１１２】
図９に示す資料共有サーバ１０５のクライアント管理部１４４は、仮想ＰＣ移行命令部１３５から仮想ＰＣ部１１１1-1および仮想ＰＣ部１１１2-1を第３の仮想ＰＣサーバ１０３3に集約したことを通知される（図１８ステップＳ３４１）。これを基に、クライアント管理部１４４は、資料共有クライアント１２５1-1、１２５2-1、１２５3-2をグループ「Ｇ００１」にグループ化する（ステップＳ３４２）。そして、グループ化した資料共有クライアント１２５1-1、１２５2-1、１２５3-2を木構造に配置する（ステップＳ３４３）。また、グループ化情報と木構造の情報をクライアント記憶部１４５に格納する（ステップＳ３４５）。
【０１１３】
図２６は、図１８のステップＳ３４２で作成された木構造を表わしたものである。クライアント識別子Ｃ001が木構造のルートに配置されており、ここからクライアント識別子Ｃ002とクライアント識別子Ｃ004が枝分かれしている。
【０１１４】
図２７は、図１８のステップＳ３４５によりクライアント記憶部に格納された情報を示したものである。クライアント記憶部１４５には、情報４１３として、情報４１２（図２５）と比べると、グループ識別子「Ｇ001」が各クライアント識別子Ｃ001、Ｃ002、Ｃ004に対して設定されている。これらは、資料共有の会議に参加している資料共有クライアント１２５1-1、資料共有クライアント１２５2-1および資料共有クライアント１２５3-2に対応している。また資料共有クライアント１２５2-1（クライアント識別子Ｃ002）と資料共有クライアント１２５3-2（クライアント識別子Ｃ004）の、親の資料共有クライアントとして資料共有クライアント１２５1-1（クライアント識別子Ｃ001）が設定されている。
【０１１５】
次に、資料共有クライアント１２５3-2で会議室識別子「００１」の会議の資料に操作が行われたとする。この場合、資料共有クライアント１２５3-2の資料操作部１５２（図１０）は、資料共有サーバ１０５の資料管理部１４２（図９）に対して操作データを送信する。
【０１１６】
資料管理部１４２は、資料共有クライアント１２５3-2から受信した操作データを資料記憶部１４３に記憶する（図１３ステップＳ２４２）。次に資料管理部１４２は、クライアント記憶部１４５から同じ会議室識別子「００１」の会議に参加している資料共有クライアント１２５についての木構造情報を取得する（ステップＳ２４３）。そして、資料管理部１４２は、木構造のルートである資料共有クライアント１２５1-1にデータとグループ「Ｇ001」の木構造の情報を配信する（ステップＳ２４４、ステップＳ２４５）。また、資料管理部１４２は、仮想ＰＣ集約判定部１３４（図８）にデータ配信時間と会議室識別子「００１」の会議に参加している資料共有クライアントリストを送信する（ステップＳ２４６）。木構造情報には、各資料共有クライアントのクライアント識別子およびＩＰアドレスも含まれる。
【０１１７】
図１０に示す資料共有クライアント１２５の資料管理部１５３は、資料共有サーバ１０５からデータを受信すると、このデータを資料記憶部１５４に格納する（図１４ステップＳ２６２）。ただし、ここでは、図１０の資料共有クライアント１２５を資料共有クライアント１２５1-1と読み替えるこのにする。データを資料記憶部１５４に格納した後、資料管理部１５３は、資料記憶部１５４に資料共有クライアントの木構造情報が存在するか判別する（ステップＳ２６３）。この例では、結果として資料共有クライアントの木構造情報が存在する（Ｙ）。そこで資料管理部１５３は、操作データと資料共有クライアント１２５の木構造情報を資料配信部１５５に渡す（ステップＳ２６４）。
【０１１８】
資料配信部１５５は、資料管理部１５３から操作データと資料共有クライアント１２５の木構造情報を受け取ると、その木構造情報の長さを調べる（Ｓ２８２）。資料共有クライアント１２５の木構造情報には、資料共有クライアント１２５1-1、１２５2-1、１２５3-2の情報があるので長さが「３」である。そこで、木構造のルート（資料共有クライアント１２５1-1）から伸びる各部分木の木構造情報を作成する（ステップＳ２８４）。作成した各木構造について、ルートの資料共有クライアント１２５1-1に対して操作データと木構造情報を送信する（ステップＳ２８８）。
【０１１９】
本実施例の場合、ステップＳ２８４で作成される部分木の木構造は、資料共有クライアント１２５2-1だけで構成される木構造と、資料共有クライアント１２５3-2だけで構成される木構造とがある。ステップＳ２８８では資料共有クライアント１２５2-1と資料共有クライアント１２５3-2に操作データと木構造が配信される。資料共有クライアント１２５2-1と資料共有クライアント１２５3-2に対しては、図１３のステップＳ２４１からステップＳ２４４の処理と、図１４のステップＳ２６１からステップＳ２６４の処理図１５のステップＳ２８１ならびにステップＳ２８２の処理を行う。ステップＳ２８２において、木構造情報の大きさが「１」であると分かるので、既に説明したステップＳ２８３に処理が進むことになる。
【０１２０】
以上説明した本実施例では、会議に参加している資料共有クライアント１２５の数が少ないため、本発明の効果が見えにくい。しかしながら、会議に参加している資料共有クライアント１２５の数が多くなった場合、グループの木構造のルートクライアントに操作データを配信すると、同じ仮想ＰＣサーバ１０３に集約された他の資料共有クライアント１２５にデータが順次配信される。このため、資料共有サーバ１０５が送信するデータを大きく削減することが可能である。
【０１２１】
これは、資料共有の会議に参加している資料共有クライアント１２５の数がある条件より多くなると、資料共有クライアント１２５が動作している仮想ＰＣが同一の仮想ＰＣサーバ１０３に集約されるからである。そして、この場合には、資料共有サーバ１０５が集約された資料クライアントの１つ（ルート）にデータを送信することで、集約された資料クライアント間でデータの配信が行われるからである。
【０１２２】
なお、以上説明した実施の形態および実施例では、集約された仮想ＰＣサーバ１０３内の複数の仮想ＰＣ部１１１における複数の資料共有クライアント１２５を、操作データの配信の順路として木構造に配置することにしたが、これに限るものではない。すなわち、１つの仮想ＰＣサーバ１０３内の仮想ＰＣ部１１１の数が２つの場合には、ネットワーク１０２を介してその一方の仮想ＰＣ部１１１に操作データを配信し、該当する仮想ＰＣサーバ１０３内で他方の仮想ＰＣ部１１１にこれを伝達させればよい。１つの仮想ＰＣサーバ１０３内の仮想ＰＣ部１１１の数が３つ以上の場合でも、時間効率を考えなければ、操作データをこのように直列的な伝達で行ってもよく、この場合でもネットワーク１０２に対する負荷は減少する。
【符号の説明】
【０１２３】
１０  共有データ管理システム
１１  端末
１２  仮想コンピュータサーバ
１３  共有データ配信手段
１４  ネットワーク配信時間計測手段
１５  しきい値超過判別手段
２０、３０  共有データ管理方法
２１  共有データ変更検知ステップ
２２  共有データ配信ステップ
２３  ネットワーク配信時間計測ステップ
２４  しきい値超過判別ステップ
２５  集約ステップ
３１  複数検知ステップ
３２  木構造形成ステップ
４０、５０  共有データ管理プログラム
４１  共有データ変更検知処理
４２  共有データ配信処理
４３  ネットワーク配信時間計測処理
４４  しきい値超過判別処理
４５  集約処理
５１  複数検知処理
５２  木構造形成処理
１００  シンクライアントシステム
１０１  シンクライアント端末
１０２  ネットワーク
１０３  仮想ＰＣサーバ（仮想コンピュータサーバ）
１０４  管理サーバ
１０５  資料共有サーバ
１１１  仮想ＰＣ部
１１２  仮想化ソフトウェア部
１２５  資料共有クライアント
１３２  仮想ＰＣサーバ管理部
１３３  仮想ＰＣサーバ情報記憶部
１３４  仮想ＰＣ集約判定部
１３５  仮想ＰＣ移行命令部
１４２、１５３  資料管理部
１４３、１５４  資料記憶部
１４４  クライアント管理部
１４５  クライアント記憶部
１５２  資料操作部
１５５  資料配信部
１５６  表示部
【図１】
2011022748.tif 000003
【図２】
2011022748.tif 000004
【図３】
2011022748.tif 000005
【図４】
2011022748.tif 000006
【図５】
2011022748.tif 000007
【図６】
2011022748.tif 000008
【図７】
2011022748.tif 000009
【図８】
2011022748.tif 000010
【図９】
2011022748.tif 000011
【図１０】
2011022748.tif 000012
【図１１】
2011022748.tif 000013
【図１２】
2011022748.tif 000014
【図１３】
2011022748.tif 000015
【図１４】
2011022748.tif 000016
【図１５】
2011022748.tif 000017
【図１６】
2011022748.tif 000018
【図１７】
2011022748.tif 000019
【図１８】
2011022748.tif 000020
【図１９】
2011022748.tif 000021
【図２０】
2011022748.tif 000022
【図２１】
2011022748.tif 000023
【図２２】
2011022748.tif 000024
【図２３】
2011022748.tif 000025
【図２４】
2011022748.tif 000026
【図２５】
2011022748.tif 000027
【図２６】
2011022748.tif 000028
【図２７】
2011022748.tif 000029