(57)【要約】【課題】各端末が共有文書に対して行う追記、編集などの作業工程中で他人に不要なあるいは他人に見られたくない部分を全ての端末で共有しない。【解決手段】クライアント３〜６の共有画面表示ウィンドウと個別画面表示ウィンドウには、同一文書の同一位置が表示されていて、例えば、クライアント３のユーザが個別ウィンドウに表示された文書のある位置に文字を入力する。文章終端記号が入力されるまでは、追加された文字はクライアント３の個別ウィンドウにのみ表示され、文章終端記号が入力されると、個別ウィンドウに表示された文書の内容が共有ウィンドウに表示された文書の内容に反映されて、両者の内容が同一となる。また他のクライアント４〜６の共有ウィンドウと個別ウィンドウ、および大型ディスプレイ装置２にも、更新された文書が表示される。【選択図】図２
2008047122.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作が行われると、該操作に対応した所定のタイミング毎に、前記編集操作と同じ編集操作が前記共有ウィンドウに表示された文書データに対して行われることを特徴とする端末間データ通信型の電子会議システム。
【請求項２】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対してテキストを入力し、文章終端記号を入力したとき、前記入力されたテキストおよび文章終端記号を、前記共有ウィンドウに表示された文書データに追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項１記載の端末間データ通信型の電子会議システム。
【請求項３】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対してテキストを入力し、１つまたは所定数の改行コードを入力したときに、前記入力されたテキストおよび改行コードを、前記共有ウィンドウに表示された文書データに追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項１記載の端末間データ通信型の電子会議システム。
【請求項４】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対して手書き入力していて、ストローク終了から次のストロークが開始されずに所定の時間が経過したときに、前記入力された手書きデータを、前記共有ウィンドウに表示された文書データに追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項１記載の端末間データ通信型の電子会議システム。
【請求項５】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対して電子ペンを用いて手書き入力していて、前記電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作であるときに、前記入力された手書きデータを、前記共有ウィンドウに表示された文書データに追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項１記載の端末間データ通信型の電子会議システム。
【請求項６】
ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作を行い、所定のボタンを選択すると、前記編集操作と同じ編集操作が前記共有ウィンドウに表示された文書データに対して行われることを特徴とする端末間データ通信型の電子会議システム。
【請求項７】
ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作が行われると、該操作に対応した所定のタイミング毎に、共有ウィンドウに表示された文書の所有端末である場合には、前記編集操作と同じ編集操作を共有ウィンドウに表示された文書データに対して行い、共有ウィンドウに表示された文書の所有端末でない場合には、前記編集操作のイベントデータを、共有ウィンドウに表示された文書の所有端末へ送信し、前記編集操作のイベントデータを受信した端末は前記イベントデータに従って、共有ウィンドウに表示された文書データに対して編集操作を行うことを特徴とする端末間データ通信型の電子会議システム。
【請求項８】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対してテキストを入力し、文章終端記号を入力したとき、共有ウィンドウに表示された文書の所有端末である場合には、前記入力されたテキストおよび文章終端記号を、共有ウィンドウに表示された文書データに追加し、共有ウィンドウに表示された文書の所有端末でない場合には、前記入力されたテキストおよび文章終端記号を、共有ウィンドウに表示された文書の所有端末へ送信し、受信した端末は、共有ウィンドウに表示された文書データに、前記入力されたテキストおよび文章終端記号を追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項７記載の端末間データ通信型の電子会議システム。
【請求項９】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対してテキストを入力し、１つまたは所定数の改行コードを入力したときに、共有ウィンドウに表示された文書の所有端末である場合には、前記入力されたテキストおよび改行コードを、共有ウィンドウに表示された文書データに追加し、共有ウィンドウに表示された文書の所有端末でない場合には、前記入力されたテキストおよび改行コードを、共有ウィンドウに表示された文書の所有端末へ送信し、受信した端末は、共有ウィンドウに表示された文書データに、前記入力されたテキストおよび改行コードを追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項７記載の端末間データ通信型の電子会議システム。
【請求項１０】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対して手書き入力していて、ストローク終了から次のストロークが開始されずに所定の時間が経過したときに、共有ウィンドウに表示された文書の所有端末である場合には、前記入力された手書きデータを、共有ウィンドウに表示された文書データに追加し、共有ウィンドウに表示された文書の所有端末でない場合には、前記入力された手書きデータを、共有ウィンドウに表示された文書の所有端末へ送信し、受信した端末は、共有ウィンドウに表示された文書データに、前記入力された手書きデータを追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項７記載の端末間データ通信型の電子会議システム。
【請求項１１】
前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、１つの端末において個別ウィンドウに表示された文書データに対して電子ペンを用いて手書き入力していて、前記電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作であるときに、共有ウィンドウに表示された文書の所有端末である場合には、前記入力された手書きデータを、共有ウィンドウに表示された文書データに追加し、共有ウィンドウに表示された文書の所有端末でない場合には、前記入力された手書きデータを、共有ウィンドウに表示された文書の所有端末へ送信し、受信した端末は、共有ウィンドウに表示された文書データに、前記入力された手書きデータを追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項７記載の端末間データ通信型の電子会議システム。
【請求項１２】
ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作を行い、所定のボタンを選択すると、共有ウィンドウに表示された文書の所有端末である場合には、前記編集操作と同じ編集操作を共有ウィンドウに表示された文書データに対して行い、共有ウィンドウに表示された文書の所有端末でない場合には、前記編集操作のイベントデータを共有ウィンドウに表示された文書の所有端末へ送信し、前記編集操作のイベントデータを受信した端末は前記イベントデータに従って、共有ウィンドウに表示された文書データに対して編集操作を行うことを特徴とする端末間データ通信型の電子会議システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクライアントが１つのサーバに接続され、各クライアントがサーバにある情報を閲覧あるいは編集可能なサーバ／クライアント型の電子会議システムに関し、他に例えば多数のクライアントがサーバにある情報を閲覧あるいは編集可能なサーバ／クライアント型の教育システムなどにも好適な技術である。
【背景技術】
【０００２】
従来、１つのクライアントが共有画面モードにあるサーバの画面バッファと個別画面モードにあるサーバの画面バッファの両方の画面データをマルチウィンドウで同時に表示することができるソフトウェアとして、ＡＴ＆ＴのＶＮＣ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ）がある。このソフトウェアでは、複数のアプリケーションプロセスが１つの文書ファイルに対して多重オープンできるようなファイルシステムを使用すると、１つの文書をクライアントの共有画面用ウィンドウと個別画面用ウィンドウに同時に表示させることができる。また、個々の画面（ウィンドウ）に対して別々の編集操作もできる。
【０００３】
他の従来技術として、ＭｉｃｒｏｓｏｆｔのＮｅｔＭｅｅｔｉｎｇがある。このＮｅｔＭｅｅｔｉｎｇには、１つの端末あるいはサーバで実行されているアプリケーションを他の複数の端末で共有する機能（アプリケーション共有機能）がある。各端末のＯＳがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓの場合、ＮｅｔＭｅｅｔｉｎｇのアプリケーション共有機能で表示させている文書と、フォルダの共有機能を使用して、他の端末の共有化されたフォルダにある文書を別々のウィンドウに同時に表示させることができる。
【０００４】
【非特許文献１】日経コンピュータ  １９９１．３．１１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記した従来の技術では、例えば２つのウィンドウ間でコピー処理を行う場合に、ユーザはコピー元の位置と領域およびコピー先の位置を指定する必要があり、操作が煩雑となる問題があった。また、前者では、個別画面用ウィンドウに表示された文書への編集内容を、共有画面用ウィンドウに表示された同一文書に自動的に反映させることができず、あるいは１ボタンの操作によっても反映できない。同様に、後者の技術でも、フォルダの共有機能を使用して表示された文書への編集内容を、ＮｅｔＭｅｅｔｉｎｇのアプリケーション共有機能を使用して表示された同一文書に自動的にあるいは１ボタンの操作によっても反映させることができない。
【０００６】
また、例えば、電子会議などにおいて、複数の端末が１つの文書（会議資料）を共有し、その文書を共同で作成、編集、閲覧する電子協調作業が従来から行われている。ところが、各端末での共有文書に対する追記、編集の作業工程の全てが共有されていることから、例えば、キーボードからテキスト入力しているときのタイプミスやその訂正作業が他の端末に表示されてしまう。そこで、追記、編集などを行う端末ユーザから、他人に見られたくない作業が共有されないことが求められていた。
【０００７】
本発明は上記した問題点に鑑みてなされたもので、
本発明の目的は、複数の端末が１つの文書を共有し、その文書を共同で作成、編集、閲覧しながら会議などの電子協調作業を行う際に、各端末が共有文書に対して行う追記、編集などの作業工程中で他人に不要なあるいは他人に見られたくない部分を全ての端末で共有しないようにした電子会議システムを提供することにある。
【０００８】
本発明の他の目的は、各端末で作成した文章等のデータの共有文書への追加を、コピー元の位置と領域およびコピー先の位置を指定することなく実行し、操作性を向上させた電子会議システムを提供することにある。
【課題を解決するための手段】
【０００９】
図１（ａ）、（ｂ）は、本発明の基本的な考え方を説明する図である。図において、ウィンドウタイプＡは、共有画面であり、画面データは大画面および全ての端末で同じである。そして、１つの端末で行った加筆、編集が、他の全ての端末の表示画面にもリアルタイムで反映される。ウィンドウタイプＢは、個別画面であり、共有画面と同じ画面データを表示して個別に加筆、編集ができるが、この画面データは共有されない。
【００１０】
端末１の個別画面Ｂ上で（図１（ａ））、「重要」などの手書き描画を追加して、所定のボタンを押すと、端末２と端末３の共有画面Ａに同じ手書き描画が追加表示される（図１（ｂ））。
【００１１】
本発明では、個々の端末での共有文書に対する追記、編集の作業工程の中で、他人に不要なあるいは他人に見られたくない部分を全ての端末で共有しないようにし、作業に応じた所定のタイミング毎に、それまでの作業結果を全ての端末で共有するようにする。
【００１２】
本発明では、個々の端末で、「。」（日本語の場合）、「．（ピリオド）」や「？」（英語の場合）等の文章終端記号が入力されるまでは作成中の文章を全ての端末で共有せず、文章終端記号が入力されたときに、それまで作成された、文章終端記号を含む文章を全ての端末で共有するようにする。
【００１３】
本発明では、個々の端末で、１行あるいは所定の複数行が入力されるまでは作成中の文章を全ての端末で共有せず、所定数の行が入力されたときに、それまで作成された文章を全ての端末で共有するようにする。
【００１４】
本発明では、個々の端末で、マウスあるいは電子ペンを使用して手書き入力を行っている場合に、ストローク終了（ペンアップ）から次のストロークが開始されずに（ペンダウンされない）所定の時間が経過するまでは、それまで入力された手書きデータを全ての端末で共有せず、ストローク終了から次のストロークが開始されずに所定の時間が経過したとき、それまで入力された手書きデータを全ての端末で共有するようにする。
【００１５】
本発明では、個々の端末で、電子ペンを使用して手書き入力を行っている場合に、電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作と判断するまでは、それまで入力された手書きデータを全ての端末で共有せず、電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作と判断したとき、それまで入力された手書きデータを全ての端末で共有するようにする。
【００１６】
本発明では、個々の端末で、ディスプレイに表示された所定のボタンあるいはキーボードの所定のファンクションキーが選択されるまでは、それまでの編集工程を全ての端末で共有せず、ディスプレイに表示された所定のボタンあるいはキーボードの所定のファンクションキーが選択されたとき、それまでの編集内容を全ての端末で共有するようにする。
【００１７】
共有画面モードにあるサーバの画面バッファと個別画面モードにあるサーバの画面バッファの両方に同じ文書データを記憶しているが、１つのクライアントに表示される各画面データは文書の同じ場所である必要は無い。例えば、クライアントの共有画面用ウィンドウに文書の２ページ目が表示されている状態で、同じクライアントの個別画面用ウィンドウに同じ文書の３ページ目を表示して、この３ページ目を編集すると、共有画面モードにあるサーバの画面バッファに記憶された文書の３ページ目も同様に編集される。すなわち、クライアントのユーザは、共有画面用ウィンドウの表示とは無関係に共有画面用ウィンドウに表示された文書の任意の場所を編集することができる。
【００１８】
ところで、クライアントの個別画面用ウィンドウに表示された文書の位置が共有画面用ウィンドウに表示された文書の位置と常に同じであると、便利な場合が多い。
【００１９】
そこで、本発明では、クライアントの共有画面用ウィンドウと個別画面用ウィンドウには同じ文書の同じ位置からのデータを表示し、１つのクライアントでの共有文書に対する追記、編集の作業工程の中で他人に不要なあるいは他人に見られたくない部分は全ての端末で共有しないようにするとともに、クライアントで作成した文章等のデータの共有文書への追加を、コピー元の位置と領域およびコピー先の位置を指定しなくても実行できるようにしてシステムの利便性を向上させる。
【００２０】
共有文書に対して追加された文章や手書きの描画が誰のものであるか判ると便利な場合がある。そこで、本発明では、共有文書に追加されたデータを、その追加操作が行われたクライアント毎に区別して表示させる。
【発明の効果】
【００２１】
以上、説明したように、本発明によれば、以下のような効果が得られる。
（１）個々の端末で、共有文書に対する追記、編集などを行う際に、他人に不要なあるいは他人に見られたくない部分は全ての端末で共有されないため、他人の目を気にせずに共有文書に対して追記、編集することができ、会議参加者などのユーザの利便性が向上する。
また、共有画面に表示された文書と同じ文書が自分だけ参照できる個別画面に表示され、共有画面に表示された文書に対して行う編集を共有画面の表示内容とは無関係にこの個別画面上で実施できるため、ユーザの利便性が向上する。
さらに、個々の端末で作成した文章等のデータの共有文書への追加を、コピー元の領域およびコピー先の位置を指定しなくても実行できるため、ユーザの負担が軽減される。
（２）文章終端記号が入力された場合に、それまで作成された文章が全ての端末で共有されるため、他人の目を気にせずに文章の入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
（３）１行あるいは所定数の行が入力された場合に、それまで作成された文章が全ての端末で共有されるため、他人の目を気にせずに文章の入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
（４）手書きのストローク終了から次のストロークが開始されずに所定の時間が経過した場合に、それまで入力された手書きデータが全ての端末で共有されるため、他人の目を気にせずに手書き入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
（５）電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作と判断した場合に、それまで入力された手書きデータが全ての端末で共有されるため、他人の目を気にせずに手書き入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
（６）ディスプレイに表示された所定のボタンあるいはキーボードの所定のファンクションキーが選択された場合に、それまでの編集内容が全ての端末で共有されるため、他人の目を気にせずに編集作業ができる。また、複数の編集作業に対して１回のボタン操作でその編集を共有文書へ反映できるため、ユーザの負担が軽減される。
（７）個別画面に表示される文書の表示位置が共有画面に表示された文書の表示位置と常に同じであるため、ユーザが文書の表示位置を合わせる操作が不要となり、ユーザの利便性が向上する。
（８）共有文書に追加、編集されたデータが、その追加、編集操作が行われた端末毎に区別して表示されるため、誰（あるいはどの端末）が追加、編集したデータであるかの識別が容易となり、システムの利便性が向上する。
【発明を実施するための最良の形態】
【００２２】
以下、発明の実施の形態について図面により詳細に説明する。
【００２３】
（サーバ／クライアント型の電子会議システム）
本発明の一実施例として、サーバに記憶された会議資料文書を複数のクライアントが閲覧、編集しながら会議を行うサーバ／クライアント型の電子会議システムを例にして説明する。
【００２４】
図２は、本発明に係るサーバ／クライアント型の電子会議システムの構成例を示す。本発明のシステムは、サーバ１とそれに接続された大型ディスプレイ装置２と、各会議参加者が使用するクライアント３〜６から構成されており、これらの機器は無線ＬＡＮ（例えばＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｂ）で接続されている。
【００２５】
サーバ１は例えばＰＣ−ＡＴ（Ｔｈｅ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  ｆｏｒ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｉｅｓ）アーキテクチャ（ＩＢＭ社）のコンピュータであり、そのＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｒｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスに接続されたＰＣＩアダプタボードを介して無線ＬＡＮ用ＰＣカード（ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）規格に準拠）が装着されている。また、サーバ１にはＯＳとしてＬｉｎｕｘ、ウィンドウシステムとしてＸウィンドウが実装されている。なお、図１中、サーバ１に接続されたキーボードの図示は省略している。
【００２６】
大型ディスプレイ装置２は、例えばＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）の表示面にタッチパネルが付着されており、ＶＧＡケーブルとＲＳ−２３２Ｃケーブルによってサーバ１と接続され、サーバ１の表示装置として機能するとともに、サーバ１のタッチ入力装置として機能する。なお、ＶＧＡケーブルはサーバ１からＰＤＰへ画面表示信号を出力し、ＲＳ−２３２Ｃケーブルはタッチパネルが検出したタッチ入力座標データをサーバ１へ入力する。また、サーバ１は入力されるタッチ入力座標データを、マウス入力データと同様に処理する。
【００２７】
クライアント３〜６は、ユーザにより入力されたテキストデータや手書きデータをサーバ１へ送信し、またサーバ１から受信した画面データの表示を行うという機能に特化された携帯型表示パッドであり、電子ペン７〜１０が付属されている。
【００２８】
クライアント３〜６である携帯型表示パッド２０のハードウェア構成を図３に示す。携帯型表示パッド２０は、ＣＰＵ２１、クロック２２、メインメモリ２３、ＲＯＭ２４、ＲＴＣ２５、無線ＬＡＮコントローラ２６、アンテナ２７、ＬＣＤ表示コントローラ２８、ＬＣＤ２９、タッチパネルコントローラ３０、タッチパネル３１、ＵＳＢコントローラ３２、ＵＳＢ  Ｉ／Ｆ３３、システムバス３４、バッテリ３５、ＤＣ−ＤＣコンバータ３６、充電回路３７、ＡＣアダプタ３８等から構成されている。ＣＰＵ２１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２４に記憶された制御処理プログラム、ＯＳや各種のアプリケーションプログラムを実行、処理する。クロック２２は、水晶発振子と分周回路から構成されており、ＣＰＵ２１やシステムバス３４の動作タイミングを制御するためのクロックを生成している。メインメモリ２３は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）より構成されており、ＣＰＵ２１のワークエリア等で使用される。ＲＯＭ２４は、システム全体の制御を行うためのプログラムが予め書き込まれている。ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）２５は、日付時計であり、専用バッテリ（図示を省略）によりバックアップされている。無線ＬＡＮコントローラ２６は、ＩＥＥＥ８０２．１１ｂ規格に準拠した無線通信を実行、制御する。ＬＣＤ表示コントローラ２８は、文字やグラフィックデータ、またサーバ１から受信した画面データをＤ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換するとともに、これらのデータをＬＣＤ２９に表示するための制御を行う。タッチパネルコントローラ３０は、タッチパネル３１上でタッチペン７のペン先が接触した部分を検出し、その位置情報を取り込む。タッチパネル３１はＬＣＤ２９と重ね合わせて密着している。ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ３２はＵＳＢ規格に準拠したデータ転送を実行、制御する。バッテリ３５は、充電が可能な例えばリチウムイオンバッテリ等である。ＤＣ−ＤＣコンバータ３６はＡＣアダプタ３８またはバッテリ３５から供給される電源を所定の電圧に変換して携帯型表示パッド２０内部に供給するとともに、ＡＣアダプタ３８からの電源供給が無い場合はバッテリ３５からの電源供給に切り換える。充電回路３７はＡＣアダプタ３８から電源が供給されている時にバッテリ３５を充電する。ＡＣアダプタ３８は着脱可能な電源ケーブルと一体化しており、内蔵されたＡＣ−ＤＣコンバータにより、交流電源を所定の電圧の直流に変換する。携帯型表示パッド２０にはＯＳとしてＬｉｎｕｘ、ウィンドウシステムとしてＸウィンドウが実装されている。
【００２９】
次に、サーバ１にある画面データがクライアント３〜６へ送信され、クライアント３〜６からサーバ１へはユーザの入力データが送信されるサーバ／クライアントソフトウェアの動作について説明する。このサーバ／クライアントソフトウェアとして、前述したＶＮＣを使用した場合について、以下説明する。
【００３０】
ＶＮＣサーバプロセス（以下、ＶＮＣサーバ）は、その起動時に、デスクトップの表示画面データあるいは文書の表示画面データを記憶するための１つの画面バッファを生成し、ＶＮＣクライアントプロセス（以下、ＶＮＣクライアント）はこの画面バッファにある画面データを自装置のディスプレイに表示する。ＶＮＣサーバからＶＮＣクライアントへ送信される画面データおよびＶＮＣクライアントからＶＮＣサーバへ送信されるユーザの入力データはＲＦＢ（Ｒｅｍｏｔｅ  Ｆｒａｍｅ  Ｂｕｆｆｅｒ）プロトコルを使用して転送される。ＲＦＢプロトコルは１画面のデータを小領域（矩形）に分割し、さらにこの小領域の画像データを圧縮して送信する機能を持っている。この小領域の最小ブロックはタイルと呼ばれ、１６×１６画素である。このように、ＶＮＣサーバは１画面のデータを分割して送信することができるため、１画面の中で変更のあった領域のみを選択して送信することができる。なお、サーバ１に存在するＶＮＣサーバプロセスとクライアント３〜６に存在するＶＮＣクライアントプロセスとはソケットにより通信できるようになっている。
【００３１】
ＶＮＣサーバはＶＮＣクライアントから受信したユーザの入力データをキーイベントまたはポインタイベントとして処理する。これらのイベントを受けると、ＶＮＣサーバはＸサーバとして動作し、Ｘクライアントに対してＸイベントを通知するため、ＶＮＣクライアントはサーバ１で動いているアプリケーション（Ｘクライアント）を操作できるようになっている。このＶＮＣプロトコル（ＲＦＢプロトコル）とＸプロトコルとの関係を図４に示す。
【００３２】
次に、クライアント３〜６がサーバ１に接続してサーバ１で動いているアプリケーション（Ｘウィンドウ）を操作して、文書を表示できるようになるまでの動作シーケンスについて説明する。サーバ１ではまず、必要とされる画面バッファの数だけ、ＶＮＣサーバプロセスを起動しておく。この画面バッファが複数のクライアントにより共有されないようにする、すなわち、１つのクライアントのみがアタッチするように設定する場合、ＶＮＣサーバの起動コマンドには画面番号のみを指定する。例えば、画面番号を２とした場合のＶＮＣサーバの起動コマンドは以下のようになる。
ｖｎｃｓｅｒｖｅｒ  ：２
【００３３】
サーバ１の画面バッファが複数のクライアントにより共有されるようにする場合には、ＶＮＣサーバの起動コマンドに画面番号に加えて共有を指示するオプションを指定する。例えば、画面番号１を共有とする場合のＶＮＣサーバの起動コマンドは以下のようになる。
ｖｎｃｓｅｒｖｅｒ  −ａｌｗａｙｓｓｈａｒｅｄ  ：１  
【００３４】
このようにして、サーバ１にて画面番号１を共有、画面番号２〜５を各クライアント３〜６が個別にアタッチするようにＶＮＣサーバプロセスを起動しておく。そして、各クライアント３〜６はサーバ１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスとアタッチする画面番号を指定してＶＮＣクライアントプロセスを起動する。アタッチする画面番号を３とした場合のＶＮＣクライアントの起動コマンド例を以下に示す。
ｖｎｃｖｉｅｗｅｒ  １９２．１６８．１．１：３
ここで、１９２．１６８．１．１は、ＩＰアドレスである。
【００３５】
図５は、サーバのメインメモリ上に確保された画面バッファの一例を示す。各クライアント３〜６は共有画面（画面番号１）用のＶＮＣクライアントと１つの個別画面（画面番号２〜５）用のＶＮＣクライアントをそれぞれ起動する。そして、各クライアント３〜６では、共有画面を表示させるウィンドウと個別画面を表示させるウィンドウをＬＣＤ２９に表示させる。サーバ１では、共有画面を大型ディスプレイ装置２に表示させるために、自装置のＩＰアドレスと画面番号１を指定してＶＮＣクライアントプロセスを起動する。このようにして、大型ディスプレイ装置２には共有画面のみが表示され、各クライアント３〜６には、共有画面と個別画面がそれぞれ表示される。
【００３６】
次に、クライアント３〜６の内、１つのクライアントが所定のアプリケーションを使用して、共有画面表示ウィンドウに任意の文書を表示させると、同じ文書が大型ディスプレイ装置２と他のクライアント３〜６の共有画面表示ウィンドウに表示される。続いて、クライアント３〜６の各クライアントは、共有画面表示ウィンドウに文書を表示させる際に使用したのと同じアプリケーションを使用して、共有画面表示ウィンドウに表示された文書と同じ文書を個別画面表示ウィンドウに表示させる。
【００３７】
以上の処理は、公知のＶＮＣサーバ／クライアントソフトウェアを使用することにより実現可能である。
【００３８】
以下に説明する処理が本発明に関わる処理動作である。
発明では、同じ文書が共有画面表示ウィンドウと個別画面表示ウィンドウに表示されていて、かつ、２つのウィンドウでの文書の表示位置が同じ場合、すなわち同一の文書データが共有画面表示ウィンドウと個別画面表示ウィンドウに表示されている場合において、個別画面表示ウィンドウに表示された文書を編集したとき、所定のタイミング後に、共有画面表示ウィンドウに表示された文書に対して、上記した編集と同一の編集が実行される。
【００３９】
個別画面を管理するＶＮＣサーバは、個別画面表示ウィンドウに表示された文書が編集されているときに、ＶＮＣクライアントから受信したキーイベントデータとポインタイベントデータを全て記憶しておく。そして、所定のタイミングでこれらの記憶されたイベントを順次共有画面を管理するＶＮＣサーバに通知する。共有画面を管理するＶＮＣサーバは、個別画面を管理するＶＮＣサーバから受信するキーイベントとポインタイベントに対してＶＮＣクライアントから受信する時と同様な処理を実行する。すなわち、個別画面を管理するＶＮＣサーバがＶＮＣクライアントから受信したキーイベントやポインタイベントに対してリアルタイムに実行した処理と同じ処理を、所定のタイミング期間後に共有画面を管理するＶＮＣサーバが実行する。上記２つのＶＮＣサーバ間でのキーイベントデータやポインタイベントデータの受け渡しは、ソケットを使用したプロセス間通信により行う。
【００４０】
なお、本発明では、上記した編集操作が複数のクライアント（または端末）で同時に実行されることを禁止する。つまり、本発明は、操作権の排他制御の基で処理が実行される。従って、例えば文章を追加する場合、追加直前にその追加位置付近の文章が他のクライアント（または端末）により削除され、意図しない位置に文章が追加されてしまうという不具合を防止できる。なお、操作権の排他制御としては、例えばＭＥＲＭＡＩＤ（非特許文献１を参照）またはＩＴＵ−Ｔ勧告Ｔ．１２４、ＩＴＵ−Ｔ勧告Ｔ．１２５などに記載されているような公知の技術を用いる。
【００４１】
（実施例１）
実施例１は、上記した所定のタイミングとして、文章終端記号の入力を用いる実施例である。
【００４２】
クライアント３〜６では、キーボードウィンドウをＬＣＤ２９に表示して、電子ペンを使用して文字（テキスト）を入力したり、ＵＳＢキーボードをＵＳＢ  Ｉ／Ｆ３３に接続してＵＳＢキーボードから文字を入力することができる。
【００４３】
（１）文書の表示位置が同じ場合；
まず、同一の文書が全てのクライアントの共有画面表示ウィンドウと個別画面表示ウィンドウに表示されていて、かつこれらの２つのウィンドウでの文書の表示位置が同じ場合、例えば共有画面表示ウィンドウと個別画面表示ウィンドウに同じ文書の１ページ目の先頭から表示されている場合について説明する。
【００４４】
例えば、クライアント３のユーザが個別画面表示ウィンドウに表示された文書のある位置に文章を追加するために、キーボードウィンドウ上で電子ペンを用いて文字（テキスト）を入力しているとする。このとき、文章終端記号である「。」（日本語）や「．」または「？」（英語）等が入力されるまでは、この追加された文章はクライアント３の個別画面表示ウィンドウにのみ表示されている。そして、文章終端記号が入力されると、それまで入力された文字列（テキスト）と文章終端記号を共有画面表示ウィンドウに表示された文書の同じ位置から追加する。すなわち、文字入力が開始されてから文章終端記号が入力されるまでは、クライアント３の共有画面表示ウィンドウに表示された文書の内容と個別画面表示ウィンドウに表示された文書の内容は異なっているが、文章終端記号が入力された時点で、個別画面表示ウィンドウに表示された文書の内容が共有画面表示ウィンドウに表示された文書の内容に反映されて、両者の文書の内容が同一となる。
【００４５】
また、クライアント３から文章終端記号が入力され、共有画面表示ウィンドウに表示された文書が更新されると、他のクライアント４〜６の共有画面表示ウィンドウと大型ディスプレイ装置２にも、更新された文書が表示される。さらに、他のクライアント４〜６の個別画面表示ウィンドウにも、更新された文書が表示される。
【００４６】
上記した動作を詳細に説明する。サーバ１の内部プロセスおよび各プロセスとクライアント３〜６との間のデータの流れを図６に示す。また、図８、図９は、各クライアントの画面表示（図７）において、クライアント３のユーザが個別画面表示ウィンドウ内で文字（テキスト）を入力したときのＶＮＣサーバ２の動作フローを示す。
【００４７】
以下、図６、図８、図９を参照して説明する。サーバ１では、共有画面（画面番号が１）を管理するＶＮＣサーバ１とクライアント３〜６の個別画面（画面番号が２〜５）を管理する各ＶＮＣサーバ（ＶＮＣサーバ２〜５）、クライアント３〜６のいずれかの共有画面を操作して起動された文書編集アプリケーション１、クライアント３〜６の各個別画面を操作して起動された文書編集アプリケーション２〜５、共有画面（画面番号が１）の画面データを大型ディスプレイ装置２に表示するＶＮＣクライアント１の各プロセスが起動されている。
【００４８】
また、クライアント３では、画面番号が１の共有画面を表示、操作するＶＮＣクライアント３−Ａのプロセスと、画面番号が２の個別画面を表示、操作するＶＮＣクライアント３−Ｂのプロセスが起動されている。クライアント４では、画面番号が１の共有画面を表示、操作するＶＮＣクライアント４−Ａのプロセスと、画面番号が３の個別画面を表示、操作するＶＮＣクライアント４−Ｂのプロセスが起動されている。クライアント５では、画面番号が１の共有画面を表示、操作するＶＮＣクライアント５−Ａのプロセスと、画面番号が４の個別画面を表示、操作するＶＮＣクライアント５−Ｂのプロセスが起動されている。クライアント６では、画面番号が１の共有画面を表示、操作するＶＮＣクライアント６−Ａのプロセスと、画面番号が５の個別画面を表示、操作するＶＮＣクライアント６−Ｂのプロセスが起動されている。
【００４９】
クライアント３の個別画面表示ウィンドウに表示された文書に対して文字（テキスト）入力する位置にカーソルを移動するために電子ペン７でポイントされると、クライアント３のＶＮＣクライアント３−Ｂは、ポイント位置データ（座標データ）をサーバ１のＶＮＣサーバ２へ送信する（図６の矢印４１）。ＶＮＣサーバ２は、座標データをポインタイベントとして受信し（ステップ１０１でＹＥＳ）、座標データを文書編集アプリケーション２へ渡すとともに（矢印４２、ステップ１０２）、イベントデータをキュー（キュー２）に入れる（ステップ１０３）。このキューはプログラム中に定義された配列である。
【００５０】
次いで、文書編集アプリケーション２は、受信した座標データの位置にカーソルを移動し、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。ＶＮＣサーバ２は描画リクエストを受信すると（ステップ１０４でＹＥＳ）、カーソルの表示位置を変えるとともに更新された画面データをクライアント３へ送信する（矢印４４、ステップ１０５）。
【００５１】
続いて、クライアント３の個別画面表示ウィンドウ内で文字（テキスト）が入力されると、ＶＮＣクライアント３−Ｂはこの文字コードをＶＮＣサーバ２へ送信する（矢印４１）。ＶＮＣサーバ２はこれらの文字コードをキーイベントとして受信し（ステップ１０６でＹＥＳ）、これらの文字コードを文書編集アプリケーション２へ渡す（矢印４２）とともに（ステップ１０７）、このイベントデータをキュー２に入れる（ステップ１０８）。
【００５２】
文書編集アプリケーション２はこれらの文字コードを受信すると、これらの文字コードを文書データに追加するとともに、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。ＶＮＣサーバ２は、描画リクエストを受信すると（ステップ１０９でＹＥＳ）、各文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント３へ送信する（矢印４４、ステップ１１０）。
【００５３】
上記したように、ユーザにより文字列が入力され、文章終端記号が入力されると、ＶＮＣサーバ２は文章終端記号を受信し（ステップ１１１でＹＥＳ）、文章終端記号（文字コード）を文書編集アプリケーション２へ（矢印４２）渡すとともに、このイベントデータ（文章終端記号）をキュー２に入れる（ステップ１１２）。
【００５４】
文書編集アプリケーション２は文章終端記号（文字コード）を受信すると、文章終端記号（文字コード）を文書データに追加するとともに、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。ＶＮＣサーバ２は、描画リクエストを受信すると（ステップ１１３でＹＥＳ）、文章終端記号（文字コード）に対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント３へ送信する（矢印４４、ステップ１１４）。
【００５５】
ＶＮＣサーバ２は、キュー２に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、ＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（ステップ１１５）。なお、キュー２に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ（イベント群開始データ）と終了であることを示すデータ（イベント群終了データ）を含めたイベントデータもＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（矢印４５〜４８）。
【００５６】
ＶＮＣサーバ１は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション１へ渡す（矢印４９）。文書編集アプリケーション１は、これらのイベントデータに対応した処理を行い（矢印５０）、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行う。ＶＮＣサーバ１は、イベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ（共有画面データ）をクライアント３〜６へ送信しない。そして、ＶＮＣサーバ１はイベント群終了データを受信すると、その時の画面データをクライアント３へ送信する（矢印５１）。これにより、クライアント３の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じになる。また、ＶＮＣサーバ１は、この更新された共有画面データをクライアント４〜６へ送信する（矢印５２〜５４）とともに、ＶＮＣクライアント１へ送信する（矢印５５）。クライアント４〜６は、これらの共有画面データをＬＣＤ２９に表示し、ＶＮＣクライアント１は大型ディスプレイ装置２に表示する。
【００５７】
ＶＮＣサーバ３〜５はＶＮＣサーバ１と同様な処理を行い、従って、クライアント４〜６の個別画面表示ウィンドウの表示画面が更新され（矢印５６〜６４）、クライアント３〜６の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同一の文書内容となる。
【００５８】
（２）文書の表示位置が異なる場合；
次に、同一文書が各クライアントの共有画面表示ウィンドウと個別画面表示ウィンドウに表示されているが、これらの２つのウィンドウでの文書の表示位置が異なる場合、すなわち共有画面表示ウィンドウと個別画面表示ウィンドウに表示された文書データが異なる場合について説明する。
【００５９】
例えば、クライアント３〜６の共有画面表示ウィンドウには１ページ目が、クライアント３とクライアント５の個別画面表示ウィンドウには２ページ目が、クライアント４の個別画面表示ウィンドウには３ページ目が、クライアント６の個別画面表示ウィンドウには４ページ目が表示されているとする。図７は、このときのクライアント３〜６の画面表示例を示す。
【００６０】
クライアント３のユーザが個別画面表示ウィンドウに表示された２ページ目の文書のある位置にカーソルを移動し、文章を追加するためにキーボードウィンドウ上で電子ペンを用いて文字（テキスト）を入力すると、クライアント３のＶＮＣクライアント３−Ｂはこれらのポイント位置データ（座標データ）と文字コードをサーバ１のＶＮＣサーバ２へ送信する（矢印４１）。
【００６１】
ＶＮＣサーバ２はこの座標データをポインタイベントとして受信し、文字コードをキーイベントとして受信し、座標データと文字コードを文書編集アプリケーション２へ渡す（矢印４２）とともに、これらのイベントデータをキュー２に入れる。文書編集アプリケーション２は座標データを受信すると２ページ目のその位置にカーソルを移動し、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。また、文書編集アプリケーション２は文字コードを受信すると（矢印４２）、これらの文字コードを文書データに追加するとともに、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。ＶＮＣサーバ２は、カーソルの表示位置を変えるとともに更新された画面データをクライアント３へ送信し（矢印４４）、また各文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント３へ送信する（矢印４４）。
【００６２】
上記したように、ユーザにより文字列が入力され、文章終端記号が入力されると、ＶＮＣサーバ２は文章終端記号を受信し、文章終端記号（文字コード）を文書編集アプリケーション２へ（矢印４２）渡すとともに、このイベントデータ（文章終端記号）をキュー２に入れる。
【００６３】
文書編集アプリケーション２は文章終端記号（文字コード）を受信すると、文章終端記号（文字コード）を文書データに追加するとともに、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。ＶＮＣサーバ２は、描画リクエストを受信すると、文章終端記号（文字コード）に対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント３へ送信する（矢印４４）。
【００６４】
ＶＮＣサーバ２は、キュー２に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、ＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する。なお、キュー２に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ（イベント群開始データ）と終了であることを示すデータ（イベント群終了データ）を含めたイベントデータもＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する。（矢印４５〜４８）。
【００６５】
ＶＮＣサーバ１は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション１へ渡す（矢印４９）。文書編集アプリケーション１は、これらのイベントデータに対応した処理を行い（矢印５０）、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行う。
【００６６】
ＶＮＣサーバ１は、イベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ（共有画面データ）をクライアント３〜６へ送信しない。そして、ＶＮＣサーバ１はイベント群終了データを受信すると、その時の画面データをクライアント３へ送信する（矢印５１）。従って、クライアント３の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じとなる。また、ＶＮＣサーバ１は、この更新された共有画面データをクライアント４〜６へ送信する（矢印５２〜５４）とともに、ＶＮＣクライアント１へ送信する（矢印５５）。クライアント４〜６はこれらの共有画面データをＬＣＤ２９に表示し、ＶＮＣクライアント１は大型ディスプレイ装置２に表示する。
【００６７】
ＶＮＣサーバ３は、ＶＮＣサーバ２から受信したイベントデータを文書編集アプリケーション３へ渡す（矢印５６）。文書編集アプリケーション３は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行うが、処理を行ったページ（２ページ目）はクライアント４に表示されていないため、ＶＮＣサーバ３へは描画リクエストを出さない。この場合、ＶＮＣサーバ３はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント４へは送信しない。したがって、クライアント４の個別画面表示ウィンドウの表示内容は変化しない。
【００６８】
ＶＮＣサーバ４はＶＮＣサーバ２から受信したイベントデータを文書編集アプリケーション４へ渡す（矢印５９）。文書編集アプリケーション４は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行い、ＶＮＣサーバ４へ指示された位置でのカーソルの描画リクエストと追加された文字の描画リクエストを出す（矢印６０）。ＶＮＣサーバ４は、カーソルの表示位置を変え、各文字コードに対応した文字フォントをカーソル位置に表示させる。そして、ＶＮＣサーバ４はイベント群終了データを受信すると、その時の画面データをクライアント５へ送信する（矢印６１）。従って、クライアント５の個別画面表示ウィンドウの表示内容が更新され、クライアント３の個別画面表示ウィンドウに表示された文書の内容と同じ内容になる。
【００６９】
ＶＮＣサーバ５は、ＶＮＣサーバ２から受信したイベントデータを文書編集アプリケーション５へ渡す（矢印６２）。文書編集アプリケーション５は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行うが、処理を行ったページ（２ページ目）はクライアント６に表示されていないため、ＶＮＣサーバ５へは描画リクエストを出さない。この場合、ＶＮＣサーバ５はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント６へは送信しない。したがって、クライアント６の個別画面表示ウィンドウの表示内容は変化しない。
【００７０】
なお、上記した実施例では、クライアント３の個別画面表示ウィンドウ内で文字（テキスト）が入力された場合の動作について説明したが、クライアント４〜６の任意の個別画面表示ウィンドウ内で文字（テキスト）が入力された場合も対応するＶＮＣサーバ（３〜５）がＶＮＣサーバ２と同様な動作を実行することで、各クライアントの画面表示内容を上記したのと同様に表示することができる。
【００７１】
（実施例２）
上記した実施例１は、ＶＮＣサーバ２がクライアント３から文章終端記号を受信したときに、それまで受信していたイベントデータ（文章終端記号も含む）をＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信し、文書編集アプリケーション１〜５が同じ編集処理を実行する実施例であるが、本実施例では、ＶＮＣサーバ２がクライアント３から改行コードを受信したときに、実施例１と同様な処理を実行する。実施例２の動作は、図８、９で説明した実施例１の文章終端記号を改行コードに置き換えたものとなる。
【００７２】
すなわち、ＶＮＣサーバ２がキュー２に貯めたイベントデータをＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信するタイミングがクライアント３から文章終端記号を受信したときではなく、改行コードを受信したときである。従って、実施例２では、ユーザが１行分の文字（テキスト）を入力して改行がなされるまでは共有画面表示ウィンドウと個別画面表示ウィンドウに表示された文書の内容が異なるが、改行がなされたときに、これらのウィンドウに表示される文書の内容が同じになる。
【００７３】
上記した実施例２は１行分の文字（テキスト）を入力する例であるが、本発明はこれに限定されず、ユーザが複数行分の文字（テキスト）を入力したとき、つまりＶＮＣサーバ２が複数個の改行コードを受信した場合についても、上記した実施例２と同様に実行できる。
【００７４】
（実施例３）
実施例３は、クライアントのユーザがテキスト入力ではなく、手書き入力する場合の実施例である。本実施例では、ユーザが筆記動作を行っているか否かを、電子ペンがアップされている状態の持続時間から判断する。
【００７５】
各クライアントの画面表示が図７であるとして、図６、図１０（ＶＮＣサーバ２の動作フローチャート）を参照して実施例３を説明する。
【００７６】
電子ペンがタッチパネル３１（図３）に接触したことを、クライアント３のタッチパネルコントローラ３０が検出すると、クライアント３は座標検出用の所定の時間間隔毎に、この接触座標をＶＮＣサーバ２へ送信する（矢印４１）。ＶＮＣサーバ２は座標データをポインタイベントとして受信し、座標データを文書編集アプリケーション２へ渡す（矢印４２）。
【００７７】
文書編集アプリケーション２は、座標データをカーソルの位置データとして使用し、あるいは自由線描画の描画位置データとして使用する。今、文書編集アプリケーション２は受信した座標データを自由線描画の描画位置データとして使用するモードにあり、１つのストローク（ペンダウンからペンアップまで）中は受信した座標間を線で描画する機能を実行している。この自由線描画機能の開始時に、文書編集アプリケーション２はＶＮＣサーバ２へ描画線の色や太さ等の設定情報を送信する。これは、ＸプロトコルにおけるＸクライアントからＸサーバへのリクエストである。
【００７８】
ＶＮＣサーバ２が描画線の設定情報を受信すると（ステップ２０１でＹＥＳ）、手書き入力モードとして動作する（ステップ２０２）。ＶＮＣサーバ２が手書き入力モードになると、クライアント３から受信するポインタイベント間の時間を計測する（ステップ２０３、２０４）。この計測時間が所定の時間以内である場合は、ＶＮＣサーバ２は座標データを文書編集アプリケーション２へ渡すとともに（矢印４２、ステップ２０５）、そのポインタイベントデータをキュー２に入れる（ステップ２０６）。このキューはプログラム中に定義された配列である。
【００７９】
文書編集アプリケーション２は座標データを受信すると、先に受信した座標との間を線で描画するリクエストをＶＮＣサーバ２へ出す（矢印４３）。ＶＮＣサーバ２は描画リクエストを受信すると（ステップ２０７でＹＥＳ）、座標間を線で描画するとともに更新された画面データをクライアント３へ送信する（矢印４４、ステップ２０８）。そして、ポインタイベント間の計測時間が所定の時間を超えた場合、すなわちポインタイベント受信時に開始したタイマーがタイムアウトした場合には（ステップ２０９でＹＥＳ）、ＶＮＣサーバ２はキュー２に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、ＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（ステップ２１０）。
【００８０】
なお、キュー２に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ（イベント群開始データ）と終了であることを示すデータ（イベント群終了データ）を含めたイベントデータもＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（矢印４５〜４８）。
【００８１】
ＶＮＣサーバ１は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション１へ渡す（矢印４９）。文書編集アプリケーション１は、これらのイベントデータに対応した処理を行い（矢印５０）、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行う。ＶＮＣサーバ１はイベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ（共有画面データ）をクライアント３〜６へ送信しない。そして、ＶＮＣサーバ１はイベント群終了データを受信すると、その時の画面データをクライアント３へ送信する（矢印５１）。
【００８２】
従って、クライアント３の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じになる。また、ＶＮＣサーバ１は、この更新された共有画面データをクライアント４〜６へ送信する（矢印５２〜５４）とともに、ＶＮＣクライアント１へ送信する（矢印５５）。クライアント４〜６はこれらの共有画面データをＬＣＤ２９に表示し、ＶＮＣクライアント１は大型ディスプレイ装置２に表示する。
【００８３】
ＶＮＣサーバ３はＶＮＣサーバ２から受信したイベントデータを文書編集アプリケーション３へ渡す（矢印５６）。文書編集アプリケーション３は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行うが、処理を行ったページ（２ページ目）はクライアント４に表示されていないため、ＶＮＣサーバ３へは描画リクエストを出さない。この場合、ＶＮＣサーバ３はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント４へは送信しない。したがって、クライアント４の個別画面表示ウィンドウの表示内容は変化しない。
【００８４】
ＶＮＣサーバ４はＶＮＣサーバ２から受信したイベントデータを文書編集アプリケーション４へ渡す（矢印５９）。文書編集アプリケーション４は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行い、ＶＮＣサーバ４へ座標間の線描画リクエストを出す（矢印６０）。ＶＮＣサーバ４は、このリクエストに従った線描画を行う。そして、ＶＮＣサーバ４はイベント群終了データを受信すると、その時の画面データをクライアント５へ送信する（矢印６１）。このようにして、クライアント５の個別画面表示ウィンドウの表示内容が更新され、クライアント３の個別画面表示ウィンドウに表示された文書の内容と同じ内容となる。
【００８５】
ＶＮＣサーバ５はＶＮＣサーバ２から受信したイベントデータを文書編集アプリケーション５へ渡す（矢印６２）。文書編集アプリケーション５は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行うが、処理を行ったページ（２ページ目）はクライアント６に表示されていないため、ＶＮＣサーバ５へは描画リクエストを出さない。この場合、ＶＮＣサーバ５はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント６へは送信しない。したがって、クライアント６の個別画面表示ウィンドウの表示内容は変化しない。
【００８６】
（実施例４）
実施例４は、クライアントの個別画面表示ウィンドウ内で、ユーザが電子ペンを用いて手書き入力を行い、タッチパネル３１上で所定のジェスチャー動作を行うことにより、それまで入力された手書き描画が共有画面にコピーされる場合の実施例である。
【００８７】
図１１、図１２は、実施例４に係るＶＮＣサーバ２の動作フローチャートである。以下、実施例４を説明すると、文書編集アプリケーション２は自由線描画機能の開始時に、ＶＮＣサーバ２へ描画線の色や太さ等の設定情報を送信する。これは、ＸプロトコルにおけるＸクライアントからＸサーバへのリクエストである。
【００８８】
ＶＮＣサーバ２が描画線の設定情報を受信すると（ステップ３０１でＹＥＳ）、手書き入力モードとして動作する（ステップ３０２）。ＶＮＣサーバ２が手書き入力モードになると、クライアント３から受信するポインタイベント毎に、現在の時刻をタイムスタンプとして得る（ステップ３０３、３０４）。ＶＮＣサーバ２は、座標データをタイムスタンプと共にメインメモリ２３上に存在する座標配列に巡回的に追加し（ステップ３０５）、座標配列中のデータから、画面間のコピーコマンド用の所定のパターンと一致するか否かの判断を行う（ステップ３０６）。なお、この時点では描画データであるかコピーコマンドであるかの判断が行われていないので、実施例３と同様にして画面データをクライアント３へ送信し、個別画面表示ウィンドウに一旦表示する。
【００８９】
図１３は、画面間コピーコマンド用のパターン例を示す。図１３において、点Ａがペンダウン位置、点Ｄがペンアップ位置であり、点Ａから点Ｂ、点Ｂから点Ｃ、点Ｃから点Ｄへとペン先が移動するパターンである。このパターンと比較するパラメータは、線分ＡＢ、線分ＢＣ、線分ＣＤのそれぞれの長さ、点Ａから点Ｄまでの時間（ストローク時間）、ベクトルＡＢ（Ａ→Ｂ）、ベクトルＢＣ（Ｂ→Ｃ）、ベクトルＣＤ（Ｃ→Ｄ）のそれぞれの方向（表示画面のＸ軸、Ｙ軸との成す角度）である。
【００９０】
図１３では、ベクトルＡＢとＹ軸との成す角度をα、ベクトルＢＣとＹ軸との成す角度をβ、ベクトルＣＤとＸ軸との成す角度をγとしている。ペン先の動きを画面間コピーコマンド用のパターンであると判断するために、参照用のパラメータの中でストローク時間以外の各パラメータ値は予め決められた所定の範囲が定義されている。ストローク時間とこれらのパラメータの上限値と下限値はＲＯＭ２４に予め記憶されている。そして、クライアント３から受信した座標列（座標配列に格納）からタイムスタンプに基づいてストロークの開始点（図１３の点Ａ）と終了点（図１３の点Ｄ）を判断し、点Ａから点Ｄまでの時間が所定の値以下の場合には、この１ストローク中の座標間のベクトルを求め、ベクトルの方向が大きく変わる点（図１３の点Ｂまたは点Ｃ）を検出し、線分ＡＢ、線分ＢＣ、線分ＣＤのそれぞれの長さを求め、また図１３に示す３つの角度α、β、γをそれぞれ求め、これらのパラメータ値をＲＯＭ２４に予め記憶された所定の値の範囲内であるかチェックし、全ての条件を満足した場合、画面間コピーコマンドであると判断する（ステップ３０７でＹＥＳ）。
【００９１】
画面間コピーコマンドを検出すると、キュー２に貯められたイベントデータの中で、最新から過去に遡った方向で上記の条件を満足した座標の個数分（つまり、コピーコマンドに相当する図１３の座標データ）だけ、描画の消去指示情報と共に文書編集アプリケーション２へ渡し、この渡したイベントデータをキュー２から削除する（ステップ３０８）。
【００９２】
文書編集アプリケーション２は指示された描画線を消すために、描画線の背景部分の再描画（描画線に対して上書き）のリクエストをＶＮＣサーバ２に送り、ＶＮＣサーバ２がそのリクエストを受信すると（ステップ３０９）、指定された線描画部分を背景データで上書きして線を消去し、更新された画面データをクライアント３へ送信する（ステップ３１０）。
【００９３】
上記したように、クライアント３の個別画面表示ウィンドウには、一旦、ジェスチャー用のペン先の動きを描画するが、ＶＮＣサーバ２がジェスチャー動作と認識するとこの描画をキャンセルする。そして、ＶＮＣサーバ２はキュー２に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、ＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（ステップ３１１）。これ以降の動作は前述した実施例３と同様である。また、ステップ３０７で条件を満足していないとき、実施例３と同様に動作する（ステップ３１２〜ステップ３１５）。
【００９４】
（実施例５）
実施例５は、クライアントの個別画面表示ウィンドウに表示された文書に対して、ユーザが電子ペンやＵＳＢキーボードを用いた編集操作を行い、ＬＣＤ２９に表示された所定のボタンが選択されることにより、それまでの編集処理が共有画面に表示された文書に対しても実行される場合の実施例である。
【００９５】
図１４は、実施例５に係るＶＮＣサーバ２の動作フローチャートである。以下、実施例５を説明すると、ＬＣＤ２９の表示画面上で、共有画面表示ウィンドウと個別画面表示ウィンドウ以外の領域に、ボタン（編集同期ボタン）を表示する。
【００９６】
編集同期ボタンは、個別画面表示ウィンドウに表示された文書に対して実行されたのと同じ編集処理を、共有画面表示ウィンドウに表示された文書に対して実行させるためのボタンである。
【００９７】
クライアント３の個別画面表示ウィンドウに表示された文書に対して文字（テキスト）入力、手書き入力、文章の削除、文章のコピー等の各種編集操作が行われると、クライアント３のＶＮＣクライアント３−Ｂはキーコード（文字・記号コードや改行コード等）やポイント位置データ（座標データ）をサーバ１のＶＮＣサーバ２へ送信する。ＶＮＣサーバ２は受信したこれらのイベントデータ（キーコード、座標データ）を文書編集アプリケーション２へ渡すとともに（ステップ４０１、４０２）、キュー２に入れる（ステップ４０３）。このキューはプログラム中に定義された配列である。
【００９８】
編集同期ボタンが選択されていなければ（ステップ４０４でＮＯ）、文書編集アプリケーション２は受信したイベントデータに従った処理を行い、画面の表示データに変更が必要な場合には、ＶＮＣサーバ２へ描画リクエストを出す。ＶＮＣサーバ２は描画リクエストを受信し（ステップ４０５でＹＥＳ）、指示された描画を行い、更新された画面データをクライアント３へ送信する（ステップ４０６）。
【００９９】
ユーザにより編集同期ボタンが選択されると、アプリケーション２はＶＮＣサーバ２へ編集同期を指示するリクエストを出し、ＶＮＣサーバ２が編集同期を指示するリクエストを受信すると（ステップ４０４でＹＥＳ）、キュー２に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、ＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（ステップ４０７）。なお、キュー２に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ（イベント群開始データ）と終了であることを示すデータ（イベント群終了データ）を含めたイベントデータもＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する。
【０１００】
ＶＮＣサーバ１はイベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション１へ渡し、文書編集アプリケーション１は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行う。ＶＮＣサーバ１はイベント群開始データを受信してからイベント群終了データを受信する前までの間は更新された画面データ（共有画面データ）をクライアント３〜６へ送信しない。そして、ＶＮＣサーバ１はイベント群終了データを受信すると、その時の画面データをクライアント３〜６およびＶＮＣクライアント１へ送信する。そして、クライアント３の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じとなる。ＶＮＣサーバ３〜５もサーバ２からイベントデータを受信すると、前述の実施例と同様な処理を実行し、また文書編集アプリケーション３〜５も先に実行された文書編集アプリケーション２と同じ処理を行い、クライアント３〜６の共有画面表示ウィンドウに表示された文書（大型ディスプレイ装置２に表示された文書も同じ）と個別画面表示ウィンドウに表示された文書の内容が同じ内容となる。
【０１０１】
（実施例６）
実施例６は、共有画面ミラーリングモードに係る実施例である。共有画面ミラーリングモードは、共有画面の表示データとクライアント３〜６の個別画面の表示データとを常に同じ内容にする動作モードである。このモードは、会議開始前に大型ディスプレイ装置２に表示された共有画面ミラーリングモード設定ボタン（図示は省略）がタッチされることにより設定され、あるいは会議中に共有画面を操作できる任意の端末（例えばクライアント３）から、共有画面に表示された共有画面ミラーリングモード設定ボタンを選択することにより設定される。
【０１０２】
共有画面ミラーリングモードでは、共有画面の表示データとクライアント３〜６の個別画面の表示データを常に同じ内容にするために、共有画面での操作をクライアント３〜６の個別画面に対しても同様に行うように動作させる。
【０１０３】
図１５を参照して共有画面ミラーリングモードの動作を説明する。サーバ１に存在するＶＮＣサーバ１は、ＶＮＣクライアント１およびクライアント３〜６に存在するＶＮＣクライアント３−Ａ〜６−Ａから受信するキーイベントやポインタイベントのイベントデータを、サーバ１に存在するＶＮＣサーバ２〜５に対しても送信する。
【０１０４】
クライアント３の共有画面で文字入力が行われると、ＶＮＣクライアント３−Ａは文字コードをサーバ１のＶＮＣサーバ１へ送信する（矢印７１）。ＶＮＣサーバ１はこの文字コードをキーイベントとして受信し、この文字コードを文書編集アプリケーション１へ渡し（矢印７２）、文書編集アプリケーション１はこの文字コードを受信すると、この文字コードを文書データに追加するとともに、ＶＮＣサーバ１へ描画リクエストを出す（矢印７３）。
【０１０５】
ＶＮＣサーバ１は、文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント３、ＶＮＣクライアント１、クライアント４〜６へ順次送信する（矢印７４〜７８）。そして、ＶＮＣサーバ１は先に受信したキーイベントデータをＶＮＣサーバ２〜５へ送信する（矢印７９〜８２）。
【０１０６】
ＶＮＣサーバ２がイベントデータを受信すると、文字コードを文書編集アプリケーション２へ渡し（矢印８３）、文書編集アプリケーション２は文字コードを受信すると、文字コードを文書データに追加するとともに、ＶＮＣサーバ２へ描画リクエストを出す（矢印８４）。ＶＮＣサーバ２は、その文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント３のＶＮＣクライアント３−Ｂへ送信する（矢印８５）。ＶＮＣサーバ３〜５もＶＮＣサーバ２と同様な動作を行い、クライアント４〜６の個別画面の表示が更新され（矢印８６〜９４）、クライアント３〜６の共有画面表示ウィンドウの表示データと個別画面表示ウィンドウの表示データが全て同じ内容となる。
【０１０７】
クライアント３の共有画面で、カーソル移動やメニュー選択のために電子ペン７でポイントされた場合も、上記した動作で文字コードをポイント位置データ（座標データ）に置き換え、またキーイベントをポインタイベントに置き換えて、上記したのと同様な動作が実行される。共有画面でのあらゆる操作が、全てのクライアントの個別画面に対しても自動的になされるため、共有画面での文書の表示位置と全てのクライアントの個別画面での文書の表示位置とが常に一致する。
【０１０８】
上記したように共有画面ミラーリングモードに設定されたクライアント３〜６の個別画面に表示された文書に対する操作の一例を説明する。ここでは、その動作例として、前述した実施例１を用いる。すなわち、クライアント３の個別画面表示ウィンドウに表示された文書に対してテキスト入力を行い、文章終端記号の入力毎にクライアント３〜６の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同じになる動作を説明する。
【０１０９】
以下、図６を参照して説明する。なお、ＶＮＣサーバ２の動作は、図８、９のフローチャートに示すように、実施例１と同様である。
【０１１０】
クライアント３の個別画面表示ウィンドウに表示された文書に対して、文字（テキスト）入力する位置にカーソルを移動するために、電子ペン７でポイントされると、クライアント３のＶＮＣクライアント３−Ｂはこのポイント位置データ（座標データ）をサーバ１のＶＮＣサーバ２へ送信する（矢印４１）。ＶＮＣサーバ２は座標データをポインタイベントとして受信し、座標データを文書編集アプリケーション２へ渡す（矢印４２）とともに、このイベントデータをキュー（キュー２）に入れる。このキューはプログラム中に定義された配列である。そして、文書編集アプリケーション２は受信した座標データの位置にカーソルを移動し、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。
【０１１１】
ＶＮＣサーバ２はカーソルの表示位置を変えるとともに、更新された画面データをクライアント３へ送信する（矢印４４）。続いて、クライアント３の個別画面表示ウィンドウ内で文字（テキスト）が入力されると、ＶＮＣクライアント３−Ｂはこの文字コードをＶＮＣサーバ２へ送信する（矢印４１）。ＶＮＣサーバ２はこれらの文字コードをキーイベントとして受信し、これらの文字コードを文書編集アプリケーション２へ渡す（矢印４２）とともに、イベントデータをキュー２に入れる。文書編集アプリケーション２はこれらの文字コードを受信すると、これらの文字コードを文書データに追加するとともに、ＶＮＣサーバ２へ描画リクエストを出す（矢印４３）。ＶＮＣサーバ２は、各文字コードに対応した文字フォントをカーソル位置に表示させるとともに、更新された画面データをクライアント３へ送信する（矢印４４）。
【０１１２】
このようにして、ユーザにより文字列が入力され、文章終端記号が入力されると、ＶＮＣサーバ２はキュー２に入っている、文章終端記号を含むイベントデータをファーストイン・ファーストアウトの順番で順次、ＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する。なお、キュー２に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ（イベント群開始データ）と終了であることを示すデータ（イベント群終了データ）を含めたイベントデータもＶＮＣサーバ１とＶＮＣサーバ３〜５へ送信する（矢印４５〜４８）。
【０１１３】
ＶＮＣサーバ１はイベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション１へ渡す（矢印４９）。文書編集アプリケーション１は、これらのイベントデータに対応した処理を行い（矢印５０）、すなわち、先に実行された文書編集アプリケーション２と同じ処理を行う。ＶＮＣサーバ１はイベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ（共有画面データ）をクライアント３〜６へ送信しない。
【０１１４】
ＶＮＣサーバ１はイベント群終了データを受信すると、その時の画面データをクライアント３へ送信する（矢印５１）。そして、クライアント３の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じになる。また、ＶＮＣサーバ１は、この更新された共有画面データをクライアント４〜６へ送信する（矢印５２〜５４）とともに、ＶＮＣクライアント１へ送信する（矢印５５）。クライアント４〜６はこれらの共有画面データをＬＣＤ２９に表示し、ＶＮＣクライアント１は大型ディスプレイ装置２に表示する。
【０１１５】
ＶＮＣサーバ３〜５もＶＮＣサーバ１と同様な処理を行い、クライアント４〜６の個別画面表示ウィンドウの表示画面が更新され（矢印５６〜６４）、クライアント３〜６の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同じ内容となる。
【０１１６】
なお、所定のタイミングとして、文章終端記号を用いた例を説明したが、本発明はこれに限定されず、前述した実施例２〜実施例５で示した、例えば、テキストが１行あるいは所定の複数行入力された場合、手書きのストローク終端（ペンアップ）から所定の時間が経過した場合、画面間コピーコマンド用のジェスチャー動作と判断した場合、所定のボタンが選択された場合なども適用可能である。
【０１１７】
（実施例７）
実施例７は、追加したデータの識別性を向上させた実施例である。すなわち、実施例１〜実施例６で示した所定のタイミング毎に、１つのクライアントの個別画面表示ウィンドウ内で追加されたテキストや手書き描画データ等を、共有画面表示ウィンドウに表示された文書に追加する際に、それらのテキストや手書き描画データの表示色等の属性を異ならせることにより、各クライアント毎に区別して表示し、識別する。
【０１１８】
以下、図６、図１６（ＶＮＣサーバ１の動作フローチャート）を参照して実施例７の動作を説明する。
【０１１９】
共有画面表示ウィンドウに表示された文書に、テキストや手書き描画データ等のデータを追加するのは、文書編集アプリケーション１である。そこで、ＶＮＣサーバ１は、ＶＮＣサーバ２〜５から受信するイベントデータを、各ＶＮＣサーバを識別する番号とともに文書編集アプリケーション１へ渡す（ステップ５０１、５０２）。ＶＮＣサーバを識別する番号としては、例えば、ＶＮＣサーバ２〜５に対してそれぞれ番号１〜４を付ける。
【０１２０】
文書編集アプリケーション１はイベントデータとして受け取った文字コードや手書きデータを文書データに追加するとともに、それらの追加したデータをＶＮＣサーバ識別番号に対応した色で描画するための描画リクエストを、ＶＮＣサーバ１へ出す。例えば、ＶＮＣサーバ識別番号１〜４に対して、それぞれ赤、青、緑、黄の各色を対応づける。
【０１２１】
描画リクエストを受信したＶＮＣサーバ１は、各文字コードに対応した文字フォントや手書きの描画線を指定された色で表示させるとともに、更新された画面データをクライアント３〜６およびＶＮＣクライアント１へ送信する（ステップ５０３、５０４、５０５）。すなわち、クライアント３の個別画面表示ウィンドウ内で追加されたテキストや手書き描画データは共有画面に赤で表示され、クライアント４の個別画面表示ウィンドウ内で追加されたテキストや手書き描画データは共有画面に青で表示される。
【０１２２】
なお、上記した各実施例では、クライアント３で編集操作される場合について説明したが、クライアント４〜６で編集操作される場合も同様である。
【０１２３】
また、上記した各実施例では、サーバ１とクライアント３〜６との間の通信手段として無線ＬＡＮを使用した例について説明したが、Ｂｌｕｅｔｏｏｔｈや有線ＬＡＮ（イーサネット）等の他の通信手段を使用してもよい。また、クライアント３〜６が携帯型表示パッドである例を用いて説明したが、本発明はこれに限定されず、ＶＮＣクライアントソフトウェアを実装し、サーバ１と通信できる端末、例えばノートＰＣやＰＤＡ等の端末を使用してもよい。
【０１２４】
（端末間データ通信型の電子会議システム）
以下の実施例は、端末同士がデータ通信システムを構成する場合の電子会議システムである。すなわち、本発明の電子会議システムでは、ディスプレイを持つ複数の端末がネットワークに接続され、全ての端末で共有化された文書と各端末毎に個別に所有する文書を閲覧、編集しながら会議を行う。
【０１２５】
図１７は、複数の端末からなるネットワーク構成例を示す。本ネットワークは各会議参加者が使用する端末１０００、１０１０、１０２０、１０３０、１０４０から構成されていて、これらの端末は無線ＬＡＮで接続されている。端末１０００〜１０４０はハードディスクを内蔵した携帯型表示パッドであり、電子ペン１０５０〜１０９０が付属されている。
【０１２６】
図１８は、端末１０００〜１０４０である、携帯型表示パッド２０ａのハードウェア構成を示す。図１８において、ＣＰＵ２１、クロック２２、メインメモリ２３、ＲＯＭ２４、ＲＴＣ２５、無線ＬＡＮコントローラ２６、アンテナ２７、ＬＣＤ表示コントローラ２８、ＬＣＤ２９、タッチパネルコントローラ３０、タッチパネル３１、ＵＳＢコントローラ３２、ＵＳＢ  Ｉ／Ｆ３３、システムバス３４、バッテリ３５、ＤＣ−ＤＣコンバータ３６、充電回路３７、ＡＣアダプタ３８は、図３で説明したものと同一の構成要素である。本実施例の携帯型表示パッド２０ａでは、さらにＨＤ（Ｈａｒｄ  Ｄｉｓｃ）コントローラ３９、ハードディスク４０が設けられている。また、携帯型表示パッド２０ａにはＯＳとしてＬｉｎｕｘ、ウィンドウシステムとしてＸウィンドウが実装されている。
【０１２７】
次に、端末１０００〜１０４０の間で、データの送受信を行いながら電子会議を実行する方法について説明する。この電子会議を実行するための通信プロトコルとして、例えばＩＴＵ−Ｔ勧告Ｔ．１２０シリーズを使用する。このプロトコル構成を図１９に示す。
【０１２８】
会議アプリケーション１２００は、アプリケーション共有機能、ホワイトボード機能、ファイル転送機能等を実行するための各アプリケーションの集合である。ＡＳＣＥ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｈａｒｉｎｇ  Ｃｏｎｆｅｒｅｎｃｅ  Ｅｎｔｉｔｙ）１２１０は会議に参加した全ての端末でアプリケーションを共有するためのエンティティであり、ＩＴＵ−Ｔ勧告Ｔ．１２８に準拠した動作を実行する。ＳＩＣＥ（Ｓｔｉｌｌ  Ｉｍａｇｅ  Ｃｏｎｆｅｒｅｎｃｉｎｇ  Ｅｎｔｉｔｙ）１２２０はビットマップデータや手書きの描画データ等を送受信するためのエンティティであり、ＩＴＵ−Ｔ勧告Ｔ．１２６に準拠した動作を実行する。なお、ＳＩＣＥ１２２０は主にホワイトボード機能で使用される。
【０１２９】
ＢＦＴＥ（Ｂｉｎａｒｙ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｅｎｔｉｔｙ）１２３０はファイル転送を行うためのエンティティであり、ＩＴＵ−Ｔ勧告Ｔ．１２７に準拠した動作を実行する。ノードコントローラ１２４０とＧＣＣ（Ｇｅｎｅｒｉｃ  Ｃｏｎｆｅｒｅｎｃｅ  Ｃｏｎｔｒｏｌ）１２５０はネットワークに接続した端末が議長の制御に従って会議を実行したり、各端末の能力や属性等の端末情報のリストを管理したりする会議制御アプリケーションであり、ＩＴＵ−Ｔ勧告Ｔ．１２４に準拠した動作を実行する。
【０１３０】
ＭＣＳ（Ｍｕｌｔｉｐｏｉｎｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ）１２６０は複数端末間のセッションレイヤプロトコルを実行し、ＩＴＵ−Ｔ勧告Ｔ．１２５に準拠した動作を実行する。ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）１２７０は再送制御やフロー制御等のトランスポートレイヤプロトコルを実行する。ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）１２８０はデータパケットの送受信を制御するネットワークレイヤプロトコルを実行する。無線ＬＡＮドライバ１２９０はＩＰ１２８０と無線ＬＡＮコントローラ２６との間のインターフェイスとして動作する。
【０１３１】
ＭＣＳ１２６０、ＧＣＣ１２５０、ノードコントローラ１２４０の通信動作について説明する。
【０１３２】
ＭＣＳ１２６０はＭＣＳプロバイダと呼ばれ、また、端末１０００〜１０４０から成る無線ネットワークをＭＣＳプロバイダ間のネットワークとして見たものはＭＣＳドメインと呼ばれる。図１７のネットワーク構成において、端末１０００を議長端末とした場合、ＭＣＳドメインは、図２０に示すような階層構造を持つ。議長である端末１０００のＭＣＳプロバイダはトップＭＣＳプロバイダであり、他の端末のＭＣＳプロバイダよりも上位に位置する。各端末はＭＣＳコネクションの確立後、ＭＣＳドメインにアタッチする。このアタッチにより、各端末はＭＣＳドメイン内での端末識別子であるＭＣＳユーザＩＤを取得する。
【０１３３】
次いで、各端末はＭＣＳチャネルに加入する。ＭＣＳチャネルはＭＣＳドメイン内のアドレスであり、同一チャネルに加入した全ての端末が、そのチャネルに送られるデータを受信する。ここで、端末１０１０が全ての端末が加入しているチャネルに対してデータを送信すると、このデータはトップＭＣＳプロバイダである端末１０００へ転送される。そして、端末１０００はこのデータを端末１０２０〜端末１０４０へ転送する。このように、全ての端末が同一チャネルに加入することにより、データを全ての端末へ送信することができる。なお、ＭＣＳドメイン内での端末識別子であるＭＣＳユーザＩＤはＭＣＳチャネル番号としても使用され、個別宛先へデータを送信する場合にＭＣＳチャネル番号として使用する。
【０１３４】
ＧＣＣ１２５０はＧＣＣプロバイダと呼ばれ、また、トップＭＣＳプロバイダである端末のＧＣＣプロバイダはトップＧＣＣプロバイダと呼ばれる。各ＧＣＣプロバイダは会議に参加すると、アプリケーション共有機能、ホワイトボード機能、ファイル転送機能等の会議用アプリケーションのリストやＭＣＳドメイン内での端末識別子であるＭＣＳユーザＩＤ等の端末情報（会議ノードリスト）を他の全てのＧＣＣプロバイダへ送信する。なお、この同報送信は全ての端末が加入しているＭＣＳチャネルに対してデータを送信することで実現される。
【０１３５】
これらの端末情報は各端末で受信され、ノードコントローラ１２４０で管理される。また、ＧＣＣは議長権の割り当て等の制御も行い、会議開始時にはトップＧＣＣプロバイダが議長権を持っている。ノードコントローラ１２４０はユーザからの要求に従ってＧＣＣ１２５０へ各種のプリミティブを発行したり、自端末および他の全ての端末のアプリケーションリストや会議ノードリスト等を管理する。
【０１３６】
次に、１つの端末が持っている文書を無線ネットワークに接続された全ての端末で共有化する方法について説明する。この文書の共有は、ＩＴＵ−Ｔ勧告Ｔ．１２８に従ったアプリケーション共有機能を使用して実現する。今、議長端末である端末１０００が共有文書を持っており、端末１０１０〜端末１０４０がこの文書を共有する場合について説明する。
【０１３７】
端末１０００が共有文書を表示させている共有ウィンドウ（ホストウィンドウ）の表示データはＡＳＣＥ１２１０間のプロトコルにより他の全ての端末（端末１０１０〜端末１０４０）へ送信し、端末１０１０〜端末１０４０はこのデータを自端末の共有ウィンドウ（シャドーウィンドウ）に表示させる。
【０１３８】
端末１０００は共有ウィンドウ（ホストウィンドウ）の表示データに変更があった場合に、その変更部分の表示データを他の全ての端末へ送信する。端末１０１０〜端末１０４０は共有ウィンドウ（シャドーウィンドウ）に対してテキスト入力や手書き入力が行われると、キーイベントやポインタイベントを端末１０００へ送信し、端末１０００はこれらのイベントを共有ウィンドウ（ホストウィンドウ）に対するイベントとして処理する。すなわち、端末１０１０〜端末１０４０の共有ウィンドウ（シャドーウィンドウ）に対してテキスト入力や手書き入力が行われると、それらの入力データは端末１０００へ送信され、端末１０００はこれらのデータを共有化された文書へ追加する。そして、端末１０００はこれらの文字や手書き描画線を共有ウィンドウ（ホストウィンドウ）に表示するとともに、この更新された表示データを端末１０１０〜端末１０４０へ送信する。端末１０１０〜端末１０４０はこの更新された表示データを共有ウィンドウ（シャドーウィンドウ）に表示する。
【０１３９】
このように、端末１０１０〜端末１０４０の共有ウィンドウ（シャドーウィンドウ）に対して入力されるキーデータ（キーボード入力データ）とポインタデータ（ペン入力座標データ）は全て端末１０００へ送信されるため、共有文書を持たない端末においても共有文書を編集することが可能となる。ここまでは、従来技術を使用した動作である。
【０１４０】
次に、各端末において共有ウィンドウと個別ウィンドウをそれぞれ管理するアプリケーションについて説明する。共有ウィンドウを管理するアプリケーション（以下、共有Ｗｉｎアプリ）と個別ウィンドウを管理するアプリケーション（以下、個別Ｗｉｎアプリ）はＸクライアントであり、これらは画面表示やキー入力、ポインタ入力を行うＸサーバとＸプロトコルによりデータの受け渡しを行う。共有Ｗｉｎアプリはアプリケーション共有機能を実行するアプリケーションである。すなわち、共有ＷｉｎアプリはＡＳＣＥ１２１０ともインターフェイスを持つ。個別Ｗｉｎアプリは共有ＷｉｎアプリとＢＦＴＥ１２３０ともインターフェイスを持ち、これらとイベントデータの授受を行う。個別Ｗｉｎアプリ、共有Ｗｉｎアプリ、Ｘサーバ、ＡＳＣＥ１２１０、ＢＦＴＥ１２３０の関係を図２１に示す。
【０１４１】
（実施例８）
議長端末である端末１０００は全ての端末間で共有される共有文書とこの文書をコピーして生成されたローカルな文書（データ内容は共有文書と同じ）を持っており、端末１０１０〜端末１０４０は端末１０００が所有の共有文書をファイル転送等により取得している。そして、端末１０００の共有ウィンドウには共有文書が表示され、個別ウィンドウには共有文書のコピーファイルが表示されており、端末１０１０〜端末１０４０の共有ウィンドウには端末１０００が所有の共有文書が表示され、個別ウィンドウにはファイル転送等により取得した共有文書と同じファイルが表示されている。
【０１４２】
今、全ての端末の各ウィンドウに表示するファイルがそれぞれオープンされ、端末１０００〜端末１０４０の共有ウィンドウと個別ウィンドウには共有文書およびそれと同じデータ内容のファイルの１ページ目の先頭から表示されているとする。ここで、端末１０１０の個別ウィンドウに入力されたテキストが共有文書に追加され、このテキストの追加表示が端末１０００〜端末１０４０の共有ウィンドウに対して行われる場合について説明する。
【０１４３】
図２２は、端末１０００と端末１０１０の個別Ｗｉｎアプリ、共有Ｗｉｎアプリ、Ｘサーバ、ＡＳＣＥ１２１０、ＢＦＴＥ１２３０の各プロセス間のデータの流れを示す。また、図２３は、端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。
【０１４４】
以下、図２２、２３を参照して実施例８を説明する。端末１０１０の個別ウィンドウに表示された文書に対して、文字（テキスト）入力する位置にカーソルを移動するために、電子ペン１０６０でポイントされると、端末１０１０のＸサーバはこのポイント位置データ（座標データ）を端末１０１０の個別Ｗｉｎアプリへ渡す（矢印ａ）。個別Ｗｉｎアプリはこの座標データをポインタイベントとして受信し（ステップ６０１）、この座標データの位置にカーソルを移動し、端末１０１０のＸサーバへ描画リクエストを出すとともに（矢印ｂ、ステップ６０２）、この受信したイベントデータをキュー（キュー１０１）に入れる（ステップ６０３）。このキューはプログラム中に定義された配列である。
【０１４５】
端末１０１０のＸサーバは、受信した描画リクエストに従って個別ウィンドウ内の描画を行い、カーソルが端末１０１０のＬＣＤ２９上のポイントされた位置に表示される。続いて、端末１０１０の個別ウィンドウ内で文字（テキスト）が入力されると、端末１０１０のＸサーバはこの文字コードを端末１０１０の個別Ｗｉｎアプリへ渡す（矢印ａ）。個別Ｗｉｎアプリはこれらの文字コードをキーイベントとして受信し（ステップ６０４でＹＥＳ）、これらの文字コードを文書データに追加して、端末１０１０のＸサーバへ描画リクエストを出すとともに（矢印ｂ、ステップ６０５）、この受信したイベントデータをキュー（キュー１０１）に入れる（ステップ６０６）。端末１０１０のＸサーバは、受信した描画リクエストに従って個別ウィンドウ内の描画を行い、入力された文字が端末１０１０のＬＣＤ２９に表示される。
【０１４６】
ここで、ユーザにより文章終端記号が入力されると、端末１０１０のＸサーバはこの記号コードを端末１０１０の個別Ｗｉｎアプリへ渡す（矢印ａ）。個別Ｗｉｎアプリはこの記号コードをキーイベントとして受信し、この記号コードを文書データに追加して、端末１０１０のＸサーバへ描画リクエストを出す（矢印ｂ）とともに、この受信したイベントデータをキュー（キュー１０１）に入れる（ステップ６０７、６０８）。そして、この記号コードが文章終端記号であると判断すると、個別Ｗｉｎアプリはキュー１０１に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Ｗｉｎアプリへ渡す（矢印ｃ）とともに、これらのイベントデータをＢＦＴＥ１２３０を介して端末１０００及び端末１０２０〜端末１０４０へ送信する（矢印ｄ、ｅ、ステップ６０９）。
【０１４７】
端末１０１０の共有Ｗｉｎアプリは、これらのイベントデータをＡＳＣＥ１２１０へ渡し（矢印ｆ）、ＡＳＣＥ１２１０はこれらのイベントデータを端末１０００のＡＳＣＥ１２１０へ送信する（矢印ｇ）。これらのイベントデータはＡＳＣＥ１２１０間でＩｎｐｕｔＰＤＵ（Ｉｎｐｕｔ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）に含めて送信する。なお、このＩｎｐｕｔＰＤＵは、ＭＣＳレイヤにおいて、端末１０００の端末識別子であるＭＣＳユーザＩＤをＭＣＳチャネル番号にセットしたＳＤｒｑ  ＭＣＳＰＤＵ（ＭＣＳ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）に含めて送信する。
【０１４８】
端末１０００のＡＳＣＥ１２１０は受信したイベントデータを共有Ｗｉｎアプリへ渡し（矢印ｈ）、共有Ｗｉｎアプリはこれらのイベントデータに従った処理を実行し、端末１０００のＸサーバへ描画リクエストを出す（矢印ｉ）とともに、ＡＳＣＥ１２１０へ端末１０１０〜端末１０４０の共有ウィンドウに対する描画の更新要求を出す（矢印ｊ）。端末１０００のＸサーバは描画リクエストで指示された描画処理を実行し、この時点で端末１０１０の個別ウィンドウに表示された文書データと端末１０００の共有ウィンドウに表示された文書データとが同じ内容となる。また、端末１０００のＡＳＣＥ１２１０は共有Ｗｉｎアプリから端末１０１０〜端末１０４０の共有ウィンドウに対する描画の更新要求を受けると、更新領域のビットマップデータを含んだＵｐｄａｔｅＰＤＵ（Ｕｐｄａｔｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）を端末１０１０〜端末１０４０へ送信する（矢印ｋ）。なお、このＵｐｄａｔｅＰＤＵは、ＭＣＳレイヤにおいて、各宛先端末の端末識別子であるＭＣＳユーザＩＤをＭＣＳチャネル番号にセットしたＳＤｒｑ  ＭＣＳＰＤＵに含めて送信する。端末１０１０のＡＳＣＥ１２１０は受信したビットマップデータを共有Ｗｉｎアプリへ渡し（矢印ｍ）、共有Ｗｉｎアプリは端末１０１０のＸサーバへこのビットマップデータの描画リクエストを出す（矢印ｎ）。そして、端末１０１０のＸサーバは共有ウィンドウの表示データを更新する。端末１０２０〜端末１０４０のＡＳＣＥ１２１０も同様に、受信したビットマップデータを共有Ｗｉｎアプリへ渡し、共有Ｗｉｎアプリは各端末のＸサーバへこのビットマップデータの描画リクエストを出し、各端末のＸサーバは共有ウィンドウの表示データを更新する。
【０１４９】
端末１０００及び端末１０２０〜端末１０４０のＢＦＴＥ１２３０は端末１０１０のＢＦＴＥ１２３０からイベントデータを受信すると、これらのイベントデータを個別Ｗｉｎアプリへ渡し（矢印ｐ）、個別Ｗｉｎアプリはイベントデータに従った処理を実行し、各端末のＸサーバへ描画リクエストを出す（矢印ｑ）。端末１０００及び端末１０２０〜端末１０４０のＸサーバは個別ウィンドウの表示データを更新する。
【０１５０】
従って、端末１０００〜端末１０４０の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる。
【０１５１】
このように、実施例８では、端末１０１０の個別ウィンドウにテキストが入力され、文章終端記号が入力されると、文章終端記号を含めてそれまで入力されたテキストが端末１０００〜端末１０４０の共有ウィンドウ、端末１０００の個別ウィンドウ、端末１０２０〜端末１０４０の個別ウィンドウにも表示される。
【０１５２】
（実施例９）
上記した実施例８では、端末１０１０の個別ＷｉｎアプリがＸサーバから文章終端記号を受信したときに、それまで受信していたイベントデータ（文章終端記号も含む）を共有Ｗｉｎアプリを介して端末１０００の共有Ｗｉｎアプリへ送信するとともに、ＢＦＴＥ１２３０を介して端末１０００と端末１０２０〜端末１０４０の個別Ｗｉｎアプリへ送信し、端末１０００〜端末１０４０の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる場合について説明したが、本実施例では、個別ＷｉｎアプリがＸサーバから改行コードを受信したときに、実施例８と同様な動作を実行する。実施例９は、図２２、２３で説明した実施例８の文章終端記号を改行コードに置き換えたものとなる。
【０１５３】
すなわち、端末１０１０の個別Ｗｉｎアプリがキュー１０１に貯めたイベントデータを端末１０００と端末１０２０〜端末１０４０へ送信するタイミングがＸサーバから文章終端記号を受信したときではなく、改行コードを受信したときである。従って、ユーザが１行分の文字（テキスト）を入力して改行がなされるまでは共有ウィンドウと個別ウィンドウに表示された文書の内容が異なるが、改行がなされた時に、これらのウィンドウに表示される文書の内容が同じとなる。
【０１５４】
なお、ユーザが複数行分の文字（テキスト）を入力した場合、すなわち端末１０１０の個別Ｗｉｎアプリが複数個の改行コードを受信した場合についても、上記した実施例８と同様にして動作を実行できる。
【０１５５】
（実施例１０）
実施例１０は、各端末のユーザがテキスト入力ではなく、手書き入力する場合の実施例である。本実施例では、ユーザが筆記動作を行っているか否かを、電子ペンがアップされている状態の持続時間から判断する。図２４は、手書き入力モードにおける端末１０１０の個別Ｗｉｎアプリの動作フローチャートを示す。
【０１５６】
図２２、２４を参照して、手書き入力する場合の実施例１０を説明する。端末１０１０のタッチパネルコントローラ３０が、電子ペンがタッチパネル３１に接触したことを検出すると、Ｘサーバは座標検出用の所定の時間間隔毎に、この接触座標を個別Ｗｉｎアプリへ渡す（矢印ａ）。個別Ｗｉｎアプリはこの座標データをポインタイベントとして受信し、この座標データをカーソルの位置データとして使用したり、自由線描画の描画位置データとして使用したりする（ステップ７０１でＹＥＳ）。
【０１５７】
今、個別Ｗｉｎアプリは受信した座標データを自由線描画の描画位置データとして使用するモード（手書き入力モード）にあり、１つのストローク（ペンダウンからペンアップまで）中は受信した座標間を線で描画する自由線描画機能を実行している。個別Ｗｉｎアプリはこの手書き入力モードになると、Ｘサーバから受信するポインタイベント間の時間を計測する（ステップ７０２）。この計測時間が所定の時間以内である場合は、個別Ｗｉｎアプリは今受信した座標と先に受信した座標との間を線で描画するリクエストをＸサーバへ出す（矢印ｂ）とともに（ステップ７０３）、そのポインタイベントデータをキュー１０１に入れる（ステップ７０４）。このキューはプログラム中に定義された配列である。
【０１５８】
そして、ポインタイベント間の計測時間が所定の時間を超えた場合、すなわちポインタイベント受信時に開始したタイマーがタイムアウトした場合には（ステップ７０５でＹＥＳ）、端末１０１０の個別Ｗｉｎアプリはキュー１０１に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Ｗｉｎアプリへ渡す（矢印ｃ）とともに、これらのイベントデータをＢＦＴＥ１２３０を介して端末１０００及び端末１０２０〜端末１０４０へ送信する（矢印ｄ、ｅ、ステップ７０６）。
【０１５９】
端末１０１０の共有Ｗｉｎアプリは、これらのイベントデータをＡＳＣＥ１２１０へ渡し（矢印ｆ）、ＡＳＣＥ１２１０はこれらのイベントデータを端末１０００のＡＳＣＥ１２１０へ送信する（矢印ｇ）。これらのイベントデータはＡＳＣＥ１２１０間でＩｎｐｕｔＰＤＵに含めて送信する。なお、このＩｎｐｕｔＰＤＵは、ＭＣＳレイヤにおいて、端末１０００の端末識別子であるＭＣＳユーザＩＤをＭＣＳチャネル番号にセットしたＳＤｒｑ  ＭＣＳＰＤＵに含めて送信する。
【０１６０】
端末１０００のＡＳＣＥ１２１０は受信したイベントデータを共有Ｗｉｎアプリへ渡し（矢印ｈ）、共有Ｗｉｎアプリはこれらのイベントデータ（座標データ）から座標間を線で描画するリクエストを端末１０００のＸサーバへ出す（矢印ｉ）とともに、ＡＳＣＥ１２１０へ端末１０１０〜端末１０４０の共有ウィンドウに対する描画の更新要求を出す（矢印ｊ）。
【０１６１】
端末１０００のＸサーバは描画リクエストで指示された線描画を実行し、この時点で端末１０１０の個別ウィンドウに表示された文書データと端末１０００の共有ウィンドウに表示された文書データとが同じ内容となる。
【０１６２】
また、端末１０００のＡＳＣＥ１２１０は共有Ｗｉｎアプリから端末１０１０〜端末１０４０の共有ウィンドウに対する描画の更新要求を受けると、更新領域のビットマップデータを含んだＵｐｄａｔｅＰＤＵを端末１０１０〜端末１０４０へ送信する（矢印ｋ）。なお、このＵｐｄａｔｅＰＤＵは、ＭＣＳレイヤにおいて、各宛先端末の端末識別子であるＭＣＳユーザＩＤをＭＣＳチャネル番号にセットしたＳＤｒｑ  ＭＣＳＰＤＵに含めて送信する。
【０１６３】
端末１０１０のＡＳＣＥ１２１０は受信したビットマップデータを共有Ｗｉｎアプリへ渡し（矢印ｍ）、共有Ｗｉｎアプリは端末１０１０のＸサーバへこのビットマップデータの描画リクエストを出す（矢印ｎ）。そして、端末１０１０のＸサーバは共有ウィンドウの表示データを更新する。端末１０２０〜端末１０４０のＡＳＣＥ１２１０も同様に、受信したビットマップデータを共有Ｗｉｎアプリへ渡し、共有Ｗｉｎアプリは各端末のＸサーバへこのビットマップデータの描画リクエストを出し、各端末のＸサーバは共有ウィンドウの表示データを更新する。
【０１６４】
端末１０００及び端末１０２０〜端末１０４０のＢＦＴＥ１２３０は端末１０１０のＢＦＴＥ１２３０からイベントデータを受信すると、これらのイベントデータを個別Ｗｉｎアプリへ渡し（矢印ｐ）、個別Ｗｉｎアプリはこれらのイベントデータ（座標データ）から座標間を線で描画するリクエストをＸサーバへ出す（矢印ｑ）。端末１０００及び端末１０２０〜端末１０４０のＸサーバは個別ウィンドウの表示データを更新する。
【０１６５】
上記したようにして、端末１０００〜端末１０４０の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる。
【０１６６】
このように、端末１０１０の個別ウィンドウにて手書き入力されている時に、ストローク終了（ペンアップ）から次のストロークが開始されずに（ペンダウンされない）所定の時間が経過すると、それまで入力された描画線が端末１０００〜端末１０４０の共有ウィンドウ、端末１０００の個別ウィンドウ、端末１０２０〜端末１０４０の個別ウィンドウにも表示される。
【０１６７】
（実施例１１）
実施例１１は、各端末の個別ウィンドウ内で、ユーザが電子ペンを用いて手書き入力を行い、タッチパネル３１上で所定のジェスチャー動作を行うことにより、それまで入力された手書き描画が共有ウィンドウにコピーされる場合の実施例である。
【０１６８】
図２５は、実施例１１に係る端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。端末１０１０の個別Ｗｉｎアプリが手書き入力モードとして動作しているとき、Ｘサーバから受信するポインタイベント毎に、現在の時刻をタイムスタンプとして得る。そして、座標データをタイムスタンプと共にメインメモリ２３上に存在する座標配列に巡回的に追加する（ステップ８０１〜８０３）。そして、この座標配列中のデータから、ウィンドウ間のコピーコマンド用の所定のパターンと一致するか否かの判断を行う（ステップ８０４）。この判断方法は、前述した実施例４の方法と同様である。
【０１６９】
この座標配列中のデータから、ウィンドウ間のコピーコマンドを検出すると（ステップ８０５でＹＥＳ）、キュー１０１に貯められたイベントデータの中で、最新から過去に遡った方向で上記の条件を満足した座標の個数分だけ削除する（ステップ８０６）。そして、個別Ｗｉｎアプリは、削除したイベントデータに対応した描画線を消すために、描画線の背景部分の再描画（描画線に対して上書き）のリクエストをＸサーバに送る（ステップ８０７）。そして、個別Ｗｉｎアプリが手書き入力データとして管理している座標データから、削除したイベントデータに対応したものを削除する（ステップ８０８）。
【０１７０】
Ｘサーバは、指定された線描画部分を背景データで上書きするため、その上書き部分の描画線が消去される。（一旦はジェスチャー用のペン先の動きを描画するが、ジェスチャー動作と認識するとこの描画をキャンセルする。）そして、端末１０１０の個別Ｗｉｎアプリはキュー１０１に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Ｗｉｎアプリへ渡すとともに、これらのイベントデータをＢＦＴＥ１２３０を介して端末１０００及び端末１０２０〜端末１０４０へ送信する（ステップ８０９）。これ以降の動作は実施例１０と同様であるので、その説明を省略する。
【０１７１】
（実施例１２）
実施例１２は、各端末の個別ウィンドウに表示された文書に対して、ユーザが電子ペンやＵＳＢキーボードを用いた編集操作を行い、ＬＣＤ２９に表示された所定のボタンが選択されることにより、それまでの編集処理が共有ウィンドウに表示された文書に対しても実行される場合の実施例である。
【０１７２】
図２６は、実施例１２に係る端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。以下、実施例１２を説明すると、ＬＣＤ２９の表示画面で、共有ウィンドウや個別ウィンドウなどのウィンドウ以外の領域に、編集同期ボタンを表示する。
【０１７３】
編集同期ボタンは、個別ウィンドウに表示された文書に対して実行されたのと同じ編集処理を、共有ウィンドウに表示された文書に対して実行させるためのボタンである。
【０１７４】
端末１０１０の個別ウィンドウに表示された文書に対して文字（テキスト）入力、手書き入力、文章の削除、文章のコピー等の各種編集操作が行われると、端末１０１０のＸサーバはキーコード（文字・記号コードや改行コード等）やポイント位置データ（座標データ）を個別Ｗｉｎアプリへ渡す。座標データを受信した個別Ｗｉｎアプリはこれらのイベントデータをキュー１０１に入れるとともに（ステップ９０１、９０２）、イベントデータに従った処理を行い（ステップ９０３）、画面の表示データに変更が必要な場合には（ステップ９０４でＹＥＳ）、Ｘサーバへ描画リクエストを出す（ステップ９０５）。Ｘサーバは指示された描画を行う。
【０１７５】
ここで、ユーザにより編集同期ボタンが選択されると、ウィンドウ以外の画面領域を管理するデスクトップアプリ（図示は省略）は個別Ｗｉｎアプリへ編集同期を指示するリクエストを出す。個別Ｗｉｎアプリはこのリクエストを受信すると（ステップ９０６でＹＥＳ）、キュー１０１に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Ｗｉｎアプリへ渡すとともに、これらのイベントデータをＢＦＴＥ１２３０を介して端末１０００及び端末１０２０〜端末１０４０へ送信する（ステップ９０７）。これ以降の動作は実施例１０と同様である。
【０１７６】
上記した実施例８から実施例１２では、端末１０１０で編集操作される場合について説明したが、端末１０２０〜端末１０４０で編集操作される場合も同様である。また、端末１０００で編集操作される場合も、共有Ｗｉｎアプリが他の端末からイベントデータを受信する代わりに、自端末の個別Ｗｉｎアプリからイベントデータを受信することを除いて、上記した動作と同様である。
【０１７７】
なお、上記した実施例８から実施例１２では、端末１０００〜端末１０４０との間の通信手段として無線ＬＡＮを使用した例について説明したが、Ｂｌｕｅｔｏｏｔｈや有線ＬＡＮ（イーサネット）等の他の通信手段を使用してもよい。また、端末１０００〜端末１０４０が携帯型表示パッドである例を用いて説明したが、本発明はこれに限定されず、上記した動作を実行できる端末、例えばノートＰＣなどを使用してもよい。
【図面の簡単な説明】
【０１７８】
【図１】本発明の基本的な考え方を説明する図である。
【図２】本発明に係るサーバ／クライアント型の電子会議システムの構成例を示す。
【図３】携帯型表示パッド２０のハードウェア構成を示す。
【図４】ＶＮＣプロトコル（ＲＦＢプロトコル）とＸプロトコルとの関係を示す。
【図５】サーバのメインメモリ上に確保された画面バッファの一例を示す。
【図６】サーバ１の内部プロセスおよび各プロセスとクライアント３〜６との間のデータの流れを示す。
【図７】各クライアントの画面表示例を示す。
【図８】実施例１に係るＶＮＣサーバ２の動作フローチャートである。
【図９】図８の続きのフローチャートである。
【図１０】実施例３に係るＶＮＣサーバ２の動作フローチャートである。
【図１１】実施例４に係るＶＮＣサーバ２の動作フローチャートである。
【図１２】図１１の続きのフローチャートである。
【図１３】画面間コピーコマンド用のパターン例を示す。
【図１４】実施例５に係るＶＮＣサーバ２の動作フローチャートである。
【図１５】共有画面ミラーリングモードの動作を説明する図である。
【図１６】実施例７に係るＶＮＣサーバ１の動作フローチャートである。
【図１７】複数の端末がネットワークを構成した、本発明の電子会議システムの構成を示す。
【図１８】ハードディスク内蔵型の携帯型表示パッドのハードウェア構成を示す。
【図１９】会議通信のプロトコル構成を示す。
【図２０】端末１０００を議長端末とした場合のＭＣＳドメインの階層構造を示す。
【図２１】個別Ｗｉｎアプリ、共有Ｗｉｎアプリ、Ｘサーバ、ＡＳＣＥ１２１０、ＢＦＴＥ１２３０の関係を示す。
【図２２】端末１０００と端末１０１０の個別Ｗｉｎアプリ、共有Ｗｉｎアプリ、Ｘサーバ、ＡＳＣＥ１２１０、ＢＦＴＥ１２３０の各プロセス間のデータの流れを示す。
【図２３】実施例８に係る、端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。
【図２４】実施例１０に係る、端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。
【図２５】実施例１１に係る、端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。
【図２６】実施例１２に係る、端末１０１０の個別Ｗｉｎアプリの動作フローチャートである。
【符号の説明】
【０１７９】
１  サーバ
２  大型ディスプレイ装置
３〜６  クライアント
７〜１０  電子ペン
【図１】
2008047122.tif 000003
【図２】
2008047122.tif 000004
【図３】
2008047122.tif 000005
【図４】
2008047122.tif 000006
【図５】
2008047122.tif 000007
【図６】
2008047122.tif 000008
【図７】
2008047122.tif 000009
【図８】
2008047122.tif 000010
【図９】
2008047122.tif 000011
【図１０】
2008047122.tif 000012
【図１１】
2008047122.tif 000013
【図１２】
2008047122.tif 000014
【図１３】
2008047122.tif 000015
【図１４】
2008047122.tif 000016
【図１５】
2008047122.tif 000017
【図１６】
2008047122.tif 000018
【図１７】
2008047122.tif 000019
【図１８】
2008047122.tif 000020
【図１９】
2008047122.tif 000021
【図２０】
2008047122.tif 000022
【図２１】
2008047122.tif 000023
【図２２】
2008047122.tif 000024
【図２３】
2008047122.tif 000025
【図２４】
2008047122.tif 000026
【図２５】
2008047122.tif 000027
【図２６】
2008047122.tif 000028