(57)【要約】【課題】描画装置から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにする。【解決手段】仮想空間に配置されるオブジェクトを表示部に表示する表示端末装置が識別情報生成部、送信部、受信部、保管部、及び表示制御部を備える。識別情報生成部は、ユーザ識別情報を含んでオブジェクト識別情報を生成する。送信部は、ユーザ入力されたオブジェクト及びそのオブジェクト識別情報を描画装置に送信する。受信部は、描画装置からオブジェクト及びそのオブジェクト識別情報を受信する。保管部は、送信部が送信したオブジェクトを受信部が受信するまでの間、描画装置から受信するオブジェクト及びオブジェクト識別情報を保管する。表示制御部は、受信部が受信したオブジェクトを表示するように、表示部の表示画面を更新する。【選択図】図３
2014102815.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間に配置されるオブジェクトデータを表示部に表示する表示端末装置であって、
当該表示端末装置のユーザにより入力されたオブジェクトデータを示すオブジェクト識別情報を、当該ユーザを示すユーザ識別情報を含んで生成する識別情報生成部と、
前記ユーザにより入力されたオブジェクトデータ、及び前記識別情報生成部により生成されたオブジェクト識別情報を描画装置に送信する送信部と、
前記描画装置からオブジェクトデータ、及び当該オブジェクトデータを示すオブジェクト識別情報を受信する受信部と、
前記送信部が送信したオブジェクトデータを前記受信部が受信するまでの間、前記描画装置から受信するオブジェクトデータ及びオブジェクト識別情報を保管する保管部と、
前記受信部が受信したオブジェクトデータを表示するように、前記表示部の表示画面を更新する表示制御部と、
を備えることを特徴とする表示端末装置。
【請求項２】
前記描画装置から受信したオブジェクト識別情報に含まれるユーザ識別情報が前記ユーザのユーザ識別情報と一致するか否かを判定する識別情報判定部をさらに備え、
前記識別情報判定部によりユーザ識別情報が一致しないと判定した場合に、前記表示制御部は、前記描画装置から受信したオブジェクトデータ、及びオブジェクト識別情報を前記保管部に保管し、
前記識別情報判定部によりユーザ識別情報が一致すると判定した場合に、前記表示制御部は、前記保管部に保管されているオブジェクトデータを表示するように、前記表示部の表示画面を更新することを特徴とする請求項１に記載の表示端末装置。
【請求項３】
前記保管部は、前記ユーザにより前記表示部に表示されているオブジェクトデータが編集されている間、前記描画装置から受信したオブジェクトデータ及びオブジェクト識別情報を保管することを特徴とする請求項１又は請求項２に記載の表示端末装置。
【請求項４】
前記表示画面を更新してから所定期間の間に前記受信部が前記描画装置から前記オブジェクトデータを受信する場合、前記表示制御部は、前記描画装置から受信する前記オブジェクトデータ及びオブジェクト識別情報を前記保管部に格納することを特徴とする請求項１〜請求項３のいずれかに記載の表示端末装置。
【請求項５】
前記描画装置として機能する描画ユニットをさらに備え、
前記描画ユニットは、
前記仮想空間に配置されるオブジェクトデータを登録する描画データベース、及び当該オブジェクトデータに実行するユーザ操作毎のレコードを蓄積する操作履歴データベースを格納する記憶部と、
ユーザ操作に対応するコマンドに基づいて、前記描画データベース及び前記操作履歴データベースを編集し、前記描画データベースに登録されたオブジェクトデータを表示部に表示させる制御部と、
を有し、
前記操作履歴データベースに蓄積されるレコードは、前記ユーザ操作を示すコマンドと、前記ユーザ操作後のオブジェクトデータと、前記ユーザ操作を取り消す反転操作を示す反転コマンドと、前記ユーザ操作前のオブジェクトデータと、を含んで構成され、
前記制御部は、前記ユーザ操作を取り消すコマンドが実行された場合、前記反転コマンドを実行させて前記ユーザ操作前のオブジェクトデータを前記表示部に表示させることを特徴とする請求項１〜請求項４のいずれかに記載の表示端末装置。
【請求項６】
前記制御部は、前記ユーザ操作をやり直すコマンドが実行された場合、前記ユーザ操作を示すコマンドを実行させて前記ユーザ操作後のオブジェクトデータを前記表示部に表示させることを特徴とする請求項５に記載の表示端末装置。
【請求項７】
前記操作履歴データベースに蓄積されるレコードは、さらに、前記オブジェクトデータに前記ユーザ操作を実行するユーザを示すユーザ識別情報を含んで構成され、
前記制御部は、前記ユーザ操作を取り消すコマンドが実行された場合、前記操作履歴データベースに蓄積されているレコードにおいて、当該ユーザ操作を取り消すコマンドを実行したユーザのユーザ識別情報を含むレコードのうち最新のレコードに基づいて前記反転コマンドを実行させて前記ユーザ操作前のオブジェクトデータを前記表示部に表示させることを特徴とする請求項５又は請求項６に記載の表示端末装置。
【請求項８】
前記制御部は、前記ユーザ操作をやり直すコマンドが実行された場合、前記操作履歴データベースに蓄積されているレコードにおいて、前記ユーザ操作をやり直すコマンドを実行したユーザのユーザ識別情報を含むレコードのうち最新のレコードに基づいて前記ユーザ操作を示すコマンドを実行させて前記ユーザ操作後のオブジェクトデータを前記表示部に表示させることを特徴とする請求項７に記載の表示端末装置。
【請求項９】
前記描画ユニットは、
前記表示部、及び、前記ユーザ操作を受け付ける入力部のうちの少なくとも一方を備える他の表示端末装置とデータを送受する通信部をさらに有し、
前記他の表示端末装置とネットワークを介して接続されることを特徴とする請求項５〜請求項８のいずれかに記載の表示端末装置。
【請求項１０】
請求項１〜請求項４のいずれかに記載の複数の表示端末装置と、
前記複数の表示端末装置と接続される描画装置と、
を備えることを特徴とする表示画面共有システム。
【請求項１１】
前記表示端末装置は、前記表示部、及び、前記ユーザ操作を受け付ける入力部のうちの少なくとも一方を有し、
前記描画装置は、前記表示端末装置とデータを送受する通信部をさらに有し、前記表示端末装置とネットワークを介して接続されることを特徴とする請求項１０に記載の表示画面共有システム。
【請求項１２】
仮想空間に配置されるオブジェクトデータを登録する描画データベースを有する描画装置と接続される複数の表示端末装置の表示画面共有方法であって、
前記表示端末装置が、ユーザにより入力されたオブジェクトデータを示すオブジェクト識別情報を、当該ユーザを示すユーザ識別情報を含んで生成するステップと、
前記表示端末装置が、前記ユーザにより入力されたオブジェクトデータ、及び、前記生成するステップにて生成されたオブジェクト識別情報を前記描画装置に送信するステップと、
前記表示端末装置が、前記描画装置からオブジェクトデータ、及び当該オブジェクトデータを示すオブジェクト識別情報を受信するステップと、
前記表示端末装置が、前記送信するステップにて送信したオブジェクトデータを受信するまでの間、前記描画装置から受信するオブジェクトデータ及びオブジェクト識別情報を保管するステップと、
前記表示端末装置が、前記受信するステップにて受信したオブジェクトデータを表示するように、表示部の表示画面を更新するステップと、
を備えることを特徴とする表示画面共有方法。
【請求項１３】
前記描画装置が、前記仮想空間に配置されるオブジェクトデータに実行するユーザ操作に対応するコマンドに基づいて前記描画データベースを編集するステップと、
前記描画装置が、前記ユーザ操作を示すコマンド、前記ユーザ操作後のオブジェクトデータ、前記ユーザ操作を取り消す反転操作を示す反転コマンド、及び、前記ユーザ操作前のオブジェクトデータを含んで構成されるレコードを前記ユーザ操作毎に蓄積する操作履歴データベースを前記ユーザ操作に対応するコマンドに基づいて編集するステップと、
前記描画装置が、前記描画データベースに登録されたオブジェクトデータを表示部に表示させるステップと、
をさらに備え、
前記表示させるステップは、前記描画装置が、前記ユーザ操作を取り消すコマンドが実行された場合、前記反転コマンドを実行させて前記ユーザ操作前のオブジェクトデータを前記表示部に表示させるステップを含むことを特徴とする請求項１２に記載の表示画面共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示端末装置、表示画面共有システム、及び表示画面共有方法に関し、特に、複数の表示端末装置間で表示画面を共有する方法及びそのシステムに関する。
【背景技術】
【０００２】
従来、描画装置が管理する描画スペースを、ネットワークを介して描画装置に接続する複数の表示端末装置が共有する描画システムが知られている。このような描画システムでは、一般に、エリア別に作業を担当するユーザが特定されており、同じエリアに対して複数のユーザが同時並列的に作業を行うことはない。すなわち、エリア毎に一人のユーザが作業を行っているため、時系列に操作履歴通りのオブジェクトが表示されても、ユーザが違和感を覚えることはない。
【０００３】
一方、たとえば特許文献１のように、複数の設計者がチーム形式で設計作業を行うＣＡＤシステムもある。このシステムでは、各設計者は、オブジェクトを自由に描画スペースに配置したり、配置されたオブジェクトの変更・削除などの操作をしたりすることができる。また、設計者が配置したオブジェクトは自身の表示端末装置に直ちに表示されるが、他の設計者が配置したオブジェクトは描画装置からネットワークを通じて自分の表示端末装置に送信される。そのため、設計者が配置したオブジェクトの表示と他の設計者が配置したオブジェクトの表示には時間差が生じる。
【０００４】
また、設計者が配置したオブジェクトは表示画面の最前面に表示されるが、配置したオブジェクトを描画装置に送信してから再び自分の表示端末装置で受信するまでの間に、他の設計者が配置したオブジェクトを受信する場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２９５１３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、受信した順にオブジェクトを表示すると、既に表示されているオブジェクトがオーバーライトで消えてしまうという表示状況が発生し、あたかもオブジェクトが消失したようにみえるという不都合が生じる。このような問題は、特許文献１では考慮されていない。
【０００７】
本発明は、このような状況を鑑みてなされたものであり、描画装置から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる表示端末装置、表示画面共有システム、及び表示画面共有方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の一の態様による表示端末装置は、仮想空間に配置されるオブジェクトデータを表示部に表示する表示端末装置であって、当該表示端末装置のユーザにより入力されたオブジェクトデータを示すオブジェクト識別情報を、当該ユーザを示すユーザ識別情報を含んで生成する識別情報生成部と、ユーザにより入力されたオブジェクトデータ、及び識別情報生成部により生成されたオブジェクト識別情報を描画装置に送信する送信部と、描画装置からオブジェクトデータ、及び当該オブジェクトデータを示すオブジェクト識別情報を受信する受信部と、送信部が送信したオブジェクトデータを受信部が受信するまでの間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報を保管する保管部と、受信部が受信したオブジェクトデータを表示するように、表示部の表示画面を更新する表示制御部と、を備えている。
【０００９】
上記構成によれば、送信部が送信したオブジェクトデータを受信部が受信するまでの間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報は、保管部に保管され、表示部の表示画面は更新されずに維持される。そして、送信したオブジェクトデータを受信部が受信すると、受信したオブジェクトデータを表示するように、表示部の表示画面が更新される。従って、表示制御部が表示部の表示画面を更新しても、表示端末装置のユーザによって入力されたオブジェクトデータを表示画面の最上位（最前面）位置に表示することができる。従って、描画装置から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。
【００１０】
また、表示画面の更新により、描画装置から受信したオブジェクトデータがまとめて表示されるので、オブジェクトデータの表示動作を一度に済ますことができる。従って、表示動作を複数回行う場合に比べて、表示画面のちらつき等を抑制し、ユーザに違和感を与えないようにすることができる。
【００１１】
また、上記構成において、描画装置から受信したオブジェクト識別情報に含まれるユーザ識別情報がユーザのユーザ識別情報と一致するか否かを判定する識別情報判定部をさらに備え、識別情報判定部によりユーザ識別情報が一致しないと判定した場合に、表示制御部は、描画装置から受信したオブジェクトデータ、及びオブジェクト識別情報を保管部に保管し、識別情報判定部によりユーザ識別情報が一致すると判定した場合に、表示制御部は、保管部に保管されているオブジェクトデータを表示するように、表示部の表示画面を更新してもよい。
【００１２】
この構成によれば、描画装置から受信したオブジェクト識別情報に含まれるユーザ識別情報が表示端末装置のユーザのユーザ識別情報と一致する場合には、描画装置から受信したオブジェクトデータとオブジェクト識別情報とが保管部に保管される。そして、表示部の表示画面は更新されずに維持される。また、両者が一致しない場合には、保管部に保管されているオブジェクトデータを表示するように、表示部の表示画面が更新される。従って、表示部の表示画面が更新されても、表示端末装置のユーザによって入力されたオブジェクトデータを表示画面の最上位（最前面）位置により確実に表示することができる。
【００１３】
また、上記構成において、保管部は、ユーザにより表示部に表示されているオブジェクトデータが編集されている間、描画装置から受信したオブジェクトデータ及びオブジェクト識別情報を保管してもよい。
【００１４】
この構成によれば、ユーザがオブジェクトデータを編集している間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報は、保管部に保管され、表示部の表示画面は更新されずに維持される。従って、より確実に、表示画面の更新により、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。また、表示画面の更新に起因するちらつきなどをより効果的に抑制することができる。
【００１５】
また、上記構成において、表示画面を更新してから所定期間の間に受信部が描画装置からオブジェクトデータを受信する場合、表示制御部は、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報を保管部に格納してもよい。
【００１６】
この構成によれば、表示画面を更新してから所定期間の間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報は、保管部に保管され、表示部の表示画面は更新されずに維持される。従って、さらに確実に、表示画面の更新により、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。また、表示画面の更新に起因するちらつきなどもより効果的に抑制することができる。
【００１７】
また、上記構成において、描画装置として機能する描画ユニットをさらに備え、描画ユニットは、仮想空間に配置されるオブジェクトデータを登録する描画データベース、及び当該オブジェクトデータに実行するユーザ操作毎のレコードを蓄積する操作履歴データベースを格納する記憶部と、ユーザ操作に対応するコマンドに基づいて、描画データベース及び操作履歴データベースを編集し、描画データベースに登録されたオブジェクトデータを表示部に表示させる制御部と、を有し、操作履歴データベースに蓄積されるレコードは、ユーザ操作を示すコマンドと、ユーザ操作後のオブジェクトデータと、ユーザ操作を取り消す反転操作を示す反転コマンドと、ユーザ操作前のオブジェクトデータと、を含んで構成され、制御部は、ユーザ操作を取り消すコマンドが実行された場合、反転コマンドを実行させてユーザ操作前のオブジェクトデータを表示部に表示させてもよい。
【００１８】
上記構成によれば、操作履歴データベースに蓄積されるレコードは、コマンドと、ユーザ操作後のオブジェクトデータと、反転コマンドと、ユーザ操作前のオブジェクトデータと、を含んで構成される。また、コマンドはオブジェクトデータに実行するユーザ操作を示し、反転コマンドはユーザ操作を取り消す反転操作を示す。そのため、ユーザ操作を取り消すコマンドが実行された場合、操作履歴データベースを全検索することなく、反転コマンドを実行させてユーザ操作前のオブジェクトデータを表示部に表示させることができる。従って、表示画面を高速に同期して、高速に描画することができる。
【００１９】
また、上記構成において、制御部は、ユーザ操作をやり直すコマンドが実行された場合、ユーザ操作を示すコマンドを実行させてユーザ操作後のオブジェクトデータを表示部に表示させてもよい。
【００２０】
この構成によれば、ユーザ操作をやり直すコマンドが実行された場合、操作履歴データベースを全検索することなく、ユーザ操作を示すコマンドを実行させてユーザ操作後のオブジェクトデータを表示部に表示させることができる。
【００２１】
また、上記構成において、操作履歴データベースに蓄積されるレコードは、さらに、オブジェクトデータにユーザ操作を実行するユーザを示すユーザ識別情報を含んで構成され、制御部は、ユーザ操作を取り消すコマンドが実行された場合、操作履歴データベースに蓄積されているレコードにおいて、当該ユーザ操作を取り消すコマンドを実行したユーザのユーザ識別情報を含むレコードのうち最新のレコードに基づいて反転コマンドを実行させてユーザ操作前のオブジェクトデータを表示部に表示させてもよい。
【００２２】
この構成によれば、ユーザは自らが実行した最新のユーザ操作を選択的に取り消すことができる。従って、オブジェクトデータの操作性を向上させることができる。
【００２３】
さらに、上記構成において、制御部は、ユーザ操作をやり直すコマンドが実行された場合、操作履歴データベースに蓄積されているレコードにおいて、ユーザ操作をやり直すコマンドを実行したユーザのユーザ識別情報を含むレコードのうち最新のレコードに基づいてユーザ操作を示すコマンドを実行させてユーザ操作後のオブジェクトデータを表示部に表示させてもよい。
【００２４】
この構成によれば、ユーザは自らが実行した最新のユーザ操作を選択的に取り消した後、そのユーザ操作を再びやり直すことができる。従って、オブジェクトデータの操作性をさらに向上させることができる。
【００２５】
また、上記構成において、描画ユニットは、表示部、及び、ユーザ操作を受け付ける入力部のうちの少なくとも一方を備える他の表示端末装置とデータを送受する通信部をさらに有し、他の表示端末装置とネットワークを介して接続されてもよい。
【００２６】
この構成によれば、ネットワークを介して接続される他の表示端末装置でのオブジェクトデータの外部表示、及び、当該他の表示端末装置からのユーザ操作の外部入力の受け付けのうちの少なくとも一方を行うことができる。
【００２７】
また、上記目的を達成するために、本発明の一の態様による表示画面共有システムは、上述のような複数の表示端末装置と、複数の表示端末装置と接続される描画装置と、を備える。
【００２８】
上記構成によれば、表示端末装置において、送信部が送信したオブジェクトデータを受信部が受信するまでの間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報は、保管部に保管され、表示部の表示画面は更新されずに維持される。そして、送信したオブジェクトデータを受信部が受信すると、受信したオブジェクトデータを表示するように、表示部の表示画面が更新される。従って、表示制御部が表示部の表示画面を更新しても、表示端末装置のユーザによって入力されたオブジェクトデータを表示画面の最上位（最前面）位置に表示することができる。従って、描画装置から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。
【００２９】
また、上記構成において、表示端末装置は、表示部、及び、ユーザ操作を受け付ける入力部のうちの少なくとも一方を有し、描画装置は、表示端末装置とデータを送受する通信部をさらに有し、表示端末装置とネットワークを介して接続されてもよい。
【００３０】
この構成によれば、ネットワークを介して接続される表示端末装置でのオブジェクトデータの外部表示、及び、当該表示端末装置からのユーザ操作の外部入力の受け付けのうちの少なくとも一方を行うことができる。
【００３１】
また、上記目的を達成するために、本発明の一の態様による表示画面共有方法は、仮想空間に配置されるオブジェクトデータを登録する描画データベースを有する描画装置と接続される複数の表示端末装置の表示画面共有方法であって、表示端末装置が、ユーザにより入力されたオブジェクトデータを示すオブジェクト識別情報を、当該ユーザを示すユーザ識別情報を含んで生成するステップと、表示端末装置が、ユーザにより入力されたオブジェクトデータ、及び、生成するステップにて生成されたオブジェクト識別情報を描画装置に送信するステップと、表示端末装置が、描画装置からオブジェクトデータ、及び当該オブジェクトデータを示すオブジェクト識別情報を受信するステップと、表示端末装置が、送信するステップにて送信したオブジェクトデータを受信するまでの間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報を保管するステップと、表示端末装置が、受信するステップにて受信したオブジェクトデータを表示するように、表示部の表示画面を更新するステップと、を備えている。
【００３２】
上記構成によれば、表示端末装置が描画装置に送信したオブジェクトデータを描画装置から受信するまでの間、描画装置から受信するオブジェクトデータ及びオブジェクト識別情報は保管され、表示部の表示画面は更新されずに維持される。そして、表示端末装置が送信したオブジェクトデータを受信すると、受信したオブジェクトデータを表示するように、表示部の表示画面が更新される。従って、表示制御部が表示部の表示画面を更新しても、表示端末装置のユーザによって入力されたオブジェクトデータを表示画面の最上位（最前面）位置に表示することができる。従って、描画装置から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。
【００３３】
また、上記構成において、描画装置が、仮想空間に配置されるオブジェクトデータに実行するユーザ操作に対応するコマンドに基づいて描画データベースを編集するステップと、描画装置が、ユーザ操作を示すコマンド、ユーザ操作後のオブジェクトデータ、ユーザ操作を取り消す反転操作を示す反転コマンド、及び、ユーザ操作前のオブジェクトデータを含んで構成されるレコードをユーザ操作毎に蓄積する操作履歴データベースをユーザ操作に対応するコマンドに基づいて編集するステップと、描画装置が、描画データベースに登録されたオブジェクトデータを表示部に表示させるステップと、をさらに備え、表示させるステップは、描画装置が、ユーザ操作を取り消すコマンドが実行された場合、反転コマンドを実行させてユーザ操作前のオブジェクトデータを表示部に表示させるステップを含んでいてもよい。
【００３４】
この構成によれば、操作履歴データベースに蓄積されるレコードは、コマンドと、ユーザ操作後のオブジェクトデータと、反転コマンドと、ユーザ操作前のオブジェクトデータと、を含んで構成される。また、コマンドはオブジェクトデータに実行するユーザ操作を示し、反転コマンドはユーザ操作を取り消す反転操作を示す。そのため、ユーザ操作を取り消すコマンドが実行された場合、操作履歴データベースを全検索することなく、反転コマンドを実行させてユーザ操作前のオブジェクトデータを表示部に表示させることができる。従って、表示画面を高速に同期して、高速に描画することができる。
【発明の効果】
【００３５】
本発明によれば、描画装置から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる表示端末装置、表示画面共有システム、及び表示画面共有方法を提供することができる。
【図面の簡単な説明】
【００３６】
【図１】本実施形態に係る分散型描画システムの概略構成図である。
【図２】描画サーバの概略構成図である。
【図３】クライアントの概略構成図である。
【図４】クライアントの表示画面の一例を示す図である。
【図５】線の色選択パレット及び線の太さ選択パレットの表示例を示す図である。
【図６】線の種類選択パレットの表示例を示す図である。
【図７】描画ツールパレットの表示例を示す図である。
【図８】アンドゥパレットの表示例を示す図である。
【図９】描画データ配列及び描画バックアップ配列の一例を示すデータ構造図である。
【図１０】全操作履歴配列の一例を示すデータ構造図である。
【図１１】アンドゥ履歴配列の一例を示すデータ構造図である。
【図１２】描画スペーストークン配列の一例を示すデータ構造図である。
【図１３】描画スペース接続配列の一例を示すデータ構造図である。
【図１４】描画スペースのユーザ操作の一例を示す表である。
【図１５Ａ】フリーハンド形式の図形オブジェクトが表現されたデータの一例を示す図である。
【図１５Ｂ】直線オブジェクトが表現されたデータの一例を示す図である。
【図１５Ｃ】円形オブジェクトが表現されたデータの一例を示す図である。
【図１５Ｄ】四角形オブジェクトが表現されたデータの一例を示す図である。
【図１５Ｅ】三角形オブジェクトが表現されたデータの一例を示す図である。
【図１５Ｆ】テキストオブジェクトが表現されたデータの一例を示す図である。
【図１６】ユーザのログイン認証のシーケンス図である。
【図１７】クライアントのログイン画面の一例を示す図である。
【図１８】クライアント入室のシーケンス図である。
【図１９】図形追加処理のシーケンス図である。
【図２０】図形追加処理における描画サーバの動作を示すフローチャートである。
【図２１】図形変更処理のシーケンス図である。
【図２２】描画サーバの図形変更処理のフローチャートである。
【図２３】図形削除処理のシーケンス図である。
【図２４】描画サーバの図形削除処理のフローチャートである。
【図２５】図形全削除処理のシーケンス図である。
【図２６】描画サーバの図形全削除処理のフローチャートである。
【図２７】アンドゥ用コマンド及びアンドゥ用オブジェクトデータの設定方法を示すフローチャートである。
【図２８】描画サーバのアンドゥ処理のフローチャートである。
【図２９】描画サーバのリドゥ処理のフローチャートである。
【図３０】第１実施形態における各クライアントでの表示画面の更新状態を説明するシーケンス図である。
【図３１】第２実施形態における各クライアントでの表示画面の更新状態を説明するシーケンス図である。
【発明を実施するための形態】
【００３７】
以下に、本発明の実施形態について、分散型描画システム１を例として図面を参照して説明する。
＜第１実施形態＞
（システムの構成）
【００３８】
図１は、本実施形態に係る分散型描画システムの概略構成図である。分散型描画システム１は、描画スペース（仮想空間）に配置されるオブジェクトデータを描画サーバ２に接続される複数のクライアント３に表示させる表示画面共有システムの一例である。描画サーバ２により管理される描画スペースには少なくとも１以上のユーザが参加できる。図１に示すように、描画サーバ２には、ネットワーク４を介して複数のクライアント３が接続されている。このネットワーク４は、たとえば、無線ＬＡＮ、有線ＬＡＮ、移動体通信網である。なお、描画サーバ２に接続されるクライアント３の数は、図１の例に限定されない。クライアント３は少なくとも１以上であればよい。
（描画サーバの構成）
【００３９】
次に、描画サーバ２の構成について説明する。描画サーバ２は、１以上の描画スペースを管理し、参加を許可したユーザにより使用されるクライアント３と描画スペースを共有するサーバ装置として機能する描画装置の一例である。図２は、描画サーバの概略構成図である。図２に示すように、描画サーバ２は、記憶部２１と、通信部２２と、ＣＰＵ２３と、を備える。
【００４０】
記憶部２１は、不揮発性の記憶媒体であり、描画サーバ２の各構成部にて用いられる様々なプログラム及び制御情報を格納している。また、記憶部２１は、描画サーバ２が管理する描画スペースのデータ、描画スペースに用いられる様々なデータ配列、及び、各描画スペースに参加可能なユーザに関するユーザデータなども格納している。データ配列は、たとえば、描画データ配列５１、全操作履歴配列５２、アンドゥ履歴配列５３、描画バックアップ配列５４、描画スペーストークン配列５５、描画スペース接続配列５６などである。描画データ配列５１は描画スペースに配置されるオブジェクトデータを登録している。また、全操作履歴配列５２はオブジェクトデータに実行するユーザ操作毎のレコードを蓄積している。なお、描画データ配列５１、全操作履歴配列５２、アンドゥ履歴配列５３、及び描画バックアップ配列５４は、各描画スペース毎に作成されている。これらのデータ配列については、後に詳述する。また、ユーザデータには、たとえば、参加を許可したユーザを識別するためのユーザＩＤ、及びそのユーザを認証するためのパスワードなどが登録されている。
【００４１】
通信部２２は、ネットワーク４を介してクライアント３とデータを送受する通信インターフェースである。
【００４２】
ＣＰＵ２３は、記憶部２１に格納されたプログラム及び制御情報を用いて、描画サーバ２の各構成部を制御する制御部である。また、ＣＰＵ２３は、記憶部２１に格納されたデータの編集なども行う。特に、ＣＰＵ２３は、通信部２２がクライアント３から受信する様々なユーザ操作に対応するコマンドに基づいて、描画データ配列５１、全操作履歴配列５２、及びアンドゥ履歴配列５３などを編集する。そして、ＣＰＵ２３は、描画データ配列５１に登録されたオブジェクトデータをクライアント３に表示させるように制御する。また、ＣＰＵ２３は、オブジェクトＩＤ及びユーザＩＤなどの様々な識別情報の判定などの処理も行う。
（クライアントの構成）
【００４３】
次に、クライアント３の構成について説明する。クライアント３は、描画サーバ２が管理する描画スペースへの参加が許可されたユーザにより使用されるクライアント装置（又は入出力装置）として機能する表示端末装置である。図３は、クライアントの概略構成図である。図３に示すように、クライアント３は、ＣＰＵ３１と、タッチパネル３２と、フラッシュＲＯＭ３３と、ＲＡＭ３４と、送受信部３５と、無線ＬＡＮアンテナ３６と、を備えている。このほか、クライアント３はさらに、たとえばキーボード、マウスなどの物理的な入力部を備えていてもよい。
【００４４】
ＣＰＵ３１は、フラッシュＲＯＭ３３に格納されるプログラム及び制御情報などを用いて、クライアント３の各構成部を制御する制御部である。また、ＣＰＵ３１は、ＩＤ生成部３１１と、ＩＤ判定部３１２と、表示制御部３１３とを有する。
【００４５】
ＩＤ生成部３１１は、オブジェクトデータを一意に示すオブジェクトＩＤを生成する識別情報生成部である。ＩＤ生成部３１１は、クライアント３のユーザによって入力されたオブジェクトデータを示すオブジェクトＩＤを、クライアント３のユーザを示すユーザＩＤを含んで生成する。なお、このオブジェクトＩＤは、クライアント３を使用するユーザを示す一意なユーザＩＤの文字列と、ユーザＩＤにおいて一意な固有値とを含んでいる。
【００４６】
ＩＤ判定部３１２は、オブジェクトＩＤ及びユーザＩＤなどの識別情報を判定する識別情報判定部である。ＩＤ判定部３１２は、送受信部３５が描画サーバ２からデータ（たとえば、コマンド、オブジェクトＩＤ、オブジェクトデータなど）を受信したとき、受信したオブジェクトＩＤからユーザＩＤを抽出する。そして、抽出したユーザＩＤがクライアント３のユーザのユーザＩＤと一致するか否かを判定する。
【００４７】
表示制御部３１３は液晶ディスプレイ３２１の表示制御を行ない、送受信部３５によって受信したオブジェクトデータを表示するように、液晶ディスプレイ３２１の表示画面７を更新する。表示制御部３１３は、ＩＤ判定部３１２が一致しないと判定する場合に、描画サーバ２から受信したオブジェクトデータを後述する保管部３３１に一時的に格納する。また、表示制御部３１３は、ＩＤ判定部３１２が一致すると判定する場合に、保管部３３１に一時的に格納されているオブジェクトデータを液晶ディスプレイ３２１に表示すべく、液晶ディスプレイ３２１の表示画面７を更新する。なお、このとき、表示制御部３１３は、既に表示画面７に表示されているオブジェクトのうち、描画サーバ２から受信したオブジェクトＩＤが示すオブジェクトを削除する。その後、表示制御部３１３は、保管部３３１に一時的に格納されている全てのオブジェクトデータと、送受信部３５が描画サーバ２から受信したオブジェクトデータとを表示画面７の後述するオブジェクト表示領域７１に表示する。なお、これらのオブジェクトデータは、送受信部３５が描画サーバ２から受信した順に表示される。
【００４８】
こうすれば、表示画面７を更新しても、描画サーバ２に送信されるオブジェクトデータを表示画面７の最上位（最前面）位置に表示することができる。従って、描画サーバ２から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。表示画面７の更新により、描画サーバ２から受信したオブジェクトデータ（すなわち保管部３３１に格納されたオブジェクトデータ）がまとめて表示されるので、オブジェクトデータの表示動作を一度に済ますことができる。従って、表示動作を複数回行う場合に比べて、表示画面７のちらつき等を抑制し、ユーザに違和感を与えないようにすることができる。
【００４９】
また、クライアント３が、描画サーバ２に送信すべき全てのオブジェクトデータの送信を送受信部３５が完了し、且つ、クライアント３から送信したオブジェクトデータを送受信部３５が描画サーバ２から全て受信し終えた状態にあるとする。この場合、表示制御部３１３は、描画サーバ２から受信したオブジェクトデータを液晶ディスプレイ３２１に表示する。なお、この動作は、オブジェクトデータのオブジェクトＩＤが示すユーザＩＤとは無関係に行われる。すなわち、この動作では、ＩＤ判定部３１２はユーザＩＤの判定を行わない。
【００５０】
こうすれば、描画サーバ２に送信すべき全てのオブジェクトデータの送信を送受信部３５が完了し、且つ、クライアント３から送信したオブジェクトデータを送受信部３５が描画サーバ２から全て受信し終えた状態にあるとき、クライアント３は、描画サーバ２から受信するオブジェクトデータを直ちに液晶ディスプレイ３２１に表示することができる。従って、このとき、クライアント３は表示画面７を高速に更新することができる。
【００５１】
また、表示制御部３１２は、表示画面７の更新をしてから所定期間（たとえば、０．５［ｓｅｃ］）の間に、送受信部３５が描画サーバ２からオブジェクトデータを受信すると、そのオブジェクトデータを保管部３３１に格納する。この動作は、描画サーバ２から受信するオブジェクトデータのオブジェクトＩＤが示すユーザＩＤとは無関係に行われる。すなわち、この動作では、ＩＤ判定部３１２はユーザＩＤの判定を行わない。
【００５２】
こうすれば、描画サーバ２に送信したオブジェクトデータを描画サーバ２から受信するまでの期間が所定期間（たとえば、０．５［ｓｅｃ］）よりも短い場合であっても、一時的に格納されているオブジェクトデータを表示するための表示画面７の更新をしないようにすることができる。従って、さらに確実に、表示画面７の更新により、表示画面７から既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。また、表示画面７の更新に起因するちらつきなどもより効果的に抑制することができる。
【００５３】
次に、タッチパネル３２は、ユーザのタッチ操作によりユーザ入力を受け付ける表示入力部の一例である。たとえば、ユーザの指又はタッチペンなどが表示画面７に触れると、タッチパネル３２は、そのタッチ操作が示すユーザ入力を受け付ける。このタッチパネル３２は、液晶ディスプレイ３２１と、タッチセンサ部３２２と、を含んで構成される。液晶ディスプレイ３２１は、クライアント３を使用するユーザが参加する描画スペースのオブジェクトデータを表示する表示部の一例である。タッチセンサ部３２２は、ユーザ操作を受け付ける入力部の一例である。なお、クライアント３は、タッチパネル３２に代えて、液晶ディスプレイ３２１などの表示部と、たとえばキーボード、マウスなどの入力部と、をそれぞれ独立して備えていてもよい。
【００５４】
フラッシュＲＯＭ３３は、不揮発性の記憶媒体であり、クライアント３の各構成部にて用いられる様々なプログラム及び制御情報、及び描画スペースを表示するためのデータなどを格納している。また、フラッシュＲＯＭ３３は、送受信部３５が描画サーバ２から受信したデータ（たとえば、コマンド、オブジェクトデータ、オブジェクトＩＤなど）を一時的に格納する保管部３３１を有している。なお、保管部３３１は、フラッシュＲＯＭ３３に代えて、ＲＡＭ３４が有していてもよい。
【００５５】
ＲＡＭ３４は揮発性の記憶媒体である。
【００５６】
送受信部３５は、無線ＬＡＮアンテナ３６を介してネットワーク４に接続される通信インターフェースであり、描画サーバ２と様々なデータを送受する。たとえば、送受信部３５は、オブジェクトデータに実行するユーザ操作を示すコマンドとユーザ操作後のオブジェクトデータ及びそのオブジェクトＩＤとを描画サーバ２に送信する送信部として機能する。また、送受信部３５は、コマンドとオブジェクトデータ及びそのオブジェクトＩＤとを描画サーバ２から受信する受信部としても機能する。なお、本実施形態では、送受信部３５が送信部及び受信部の機能を有しているが、送信部と受信部とを別々に備える構成であってもよい。
（クライアントの表示画面）
【００５７】
次に、各クライアント３のタッチパネル３２における描画スペースの表示画面７について説明する。図４は、クライアントの表示画面の一例を示す図である。図４に示すように、表示画面７は、オブジェクト表示領域７１と、メニュー表示領域７２とを含んで構成されている。
【００５８】
オブジェクト表示領域７１は、クライアント３のユーザが参加している描画スペースのオブジェクトデータを表示する領域である。この描画スペースには、たとえば図形オブジェクト、テキストオブジェクト、イメージ（画像）オブジェクトなどのオブジェクトを配置することが可能である（後述の図１５Ａ〜図１５Ｆ参照）。なお、図形オブジェクトには、所定の図形（円形、多角形、及びそれらの塗りつぶし図形、直線、矢印など）のほか、ユーザがタッチパネル３２にタッチ入力するフリーハンド（手描き）形式の図形も含まれる。また、以下では、オブジェクトデータを単に「オブジェクト」と呼び、図形オブジェクトを単に「図形」と呼ぶことがある。
【００５９】
メニュー表示領域７２は、描画スペースに配置されるオブジェクトを操作するために必要なアイコンが配列された描画メニューを表示する領域である。描画メニューは、線の色選択ボタン７２１、線の種類選択ボタン７２２、描画ツールボタン７２３、アンドゥボタン７２４、及びクリアボタン７２５を含んで構成されている。このほか、描画メニューは、テキストモードボタン、画像入力ボタン、選択モードボタン、キャンパス編集ボタン、スナップショットボタン、及び描画スペース情報表示ボタンをも含んで構成されている。なお、テキストモードボタンは、入力したテキストデータを配置するためアイコンである。また、画像入力ボタンは、所望のイメージデータを配置するためのアイコンである。
【００６０】
線の色選択ボタン７２１は、描画スペースの図形の線の色を選択するためのアイコンである。ユーザが線の色選択ボタン７２１が選択すると、その表示位置の近傍に、線の色選択パレット７２１１及び線の太さ選択パレット７２１２が表示される。図５は、線の色選択パレット及び線の太さ選択パレットの表示例を示す図である。図５に示すように、線の色選択パレット７２１１には複数の色サンプルが表示され、線の太さ選択パレット７２１２には複数の太さサンプルが表示される。ユーザは、描画スペースから所望の図形を選択した状態で、タッチ入力によって色サンプルのいずれかを選択することにより、選択した図形を構成する線の色を色サンプルと同じ色にすることができる。また、いずれかの太さサンプルを選択することにより、選択した図形の線を太さサンプルと同じ太さにすることができる。
【００６１】
線の種類選択ボタン７２２は、描画スペースの図形の線の種類（たとえば実線、破線、一点鎖線など）を選択するためのアイコンである。線の種類選択ボタン７２２が選択されると、その表示位置の近傍に、線の種類選択パレット７２２１が表示される。図６は、線の種類選択パレットの表示例を示す図である。図６に示すように、線の種類選択パレット７２２１には、複数の線サンプルが表示される。ユーザは、描画スペースから所望の図形を選択した状態で、タッチ入力によって線サンプルのいずれかを選択すると、選択した所望の図形の線を線サンプルと同じ種類の線にすることができる。
【００６２】
描画ツールボタン７２３は、描画スペースに図形を追加するためのアイコンである。描画ツールボタン７２３が選択されると、その表示位置の近傍に、描画パレット７２３１が表示される。図７は、描画パレットの表示例を示す図である。図７に示すように、描画パレット７２３１には、フリーハンド表示７２３１ａと、複数の図形サンプル（直線、矢印、円形、四角形、三角形など）とが表示される。ユーザは、たとえばフリーハンド表示７２３１ａをタッチ入力により選択した場合、タッチパネル３２の表面をなぞると、タッチ入力の軌跡に対応する図形を描画スペースに配置することができる。また、ユーザは、複数の図形サンプルのいずれかをタッチ入力により選択した場合、選択した図形サンプルと同じ図形を描画スペースに配置することができる。なお、このとき、ユーザは、配置する図形のサイズなども設定可能であるが、その設定方法は本発明の趣旨とは異なるため、その説明を省略する。
【００６３】
アンドゥボタン７２４は、ユーザが描画スペースに行ったユーザ操作を取り消す反転操作（アンドゥ）又はその復活操作（リドゥ）をするためのアイコンである。アンドゥボタン７２４が選択されると、その表示位置の近傍に、アンドゥパレット７２４１が表示される。図８は、アンドゥパレットの表示例を示す図である。図８に示すように、アンドゥパレット７２４１には、マイアンドゥボタン７２４１ａ、全体アンドゥボタン７２４１ｂ、及びリドゥボタン７２４１ｃが表示される。
【００６４】
マイアンドゥボタン７２４１ａは、個人アンドゥ処理を行うためのアイコンである。なお、個人アンドゥ処理は、たとえば、クライアント３Ａであれば、ユーザＡが描画スペースに実行したユーザ操作のうちの最も直前（最新）の操作を取り消すための処理である。この場合、個人アンドゥ処理によりユーザＡが実行したユーザ操作のみを取り消すことができる。
【００６５】
また、全体アンドゥボタン７２４１ｂは、全体アンドゥ処理を行うためのアイコンである。全体アンドゥ処理は、クライアント３の全ユーザのうちのいずれかが描画スペースに実行したユーザ操作のうちの最も直前（最新）の操作を取り消すための処理である。すなわち、全体アンドゥ処理は、たとえば、ユーザＡであれば、ユーザＡが入力した操作だけではなく、ユーザＡ以外に描画スペースに参加しているユーザが入力した操作も取り消すことができる。また、ユーザＡ以外のユーザも同様である。
【００６６】
また、リドゥボタン７２４１ｃは、個人アンドゥ処理又は全体アンドゥ処理を取り消すリドゥ処理を行うためのアイコンである。
【００６７】
これら、個人アンドゥ処理、全体アンドゥ処理、及びリドゥ処理については、後に詳述する。
【００６８】
クリアボタン７２５（図４参照）は、描画スペースに配置されたオブジェクトを全削除するためのアイコンである。
（データ配列の構造）
【００６９】
次に、描画スペースに用いられる各データ配列（描画データ配列５１、全操作履歴配列５２、アンドゥ履歴配列５３、描画バックアップ配列５４、描画スペーストークン配列５５、及び描画スペース接続配列５６）について説明する（図２参照）。図９は、描画データ配列及び描画バックアップ配列の一例を示すデータ構造図である。図１０は、全操作履歴配列の一例を示すデータ構造図である。図１１は、アンドゥ履歴配列の一例を示すデータ構造図である。図１２は、描画スペーストークン配列の一例を示すデータ構造図である。図１３は、描画スペース接続配列の一例を示すデータ構造図である。図１４は、描画スペースのユーザ操作の一例を示す表である。なお、図１４の操作内容は図９及び図１０のデータ構造と対応している。
【００７０】
図９に示す描画データ配列５１は、描画スペースに配置されるオブジェクトデータを保持するための描画データベースであり、描画スペース毎に存在している。描画データ配列５１は、オブジェクトＩＤと、オブジェクトデータと、ユーザＩＤと、Ｚオーダーとを含んで構成されている。オブジェクトＩＤは、描画スペースに配置される各オブジェクトデータを識別するための一意な文字列のデータであり、各オブジェクトデータに個別に付与されるオブジェクト識別情報である。オブジェクトデータは、描画スペースに配置されるオブジェクトの本体データである。後述するように、オブジェクトデータは、オブジェクトＩＤ及びオブジェクトの詳細な状態を示すベクトルデータ（たとえば形状を示す座標値、線の色、太さ、種類など）などを含んで構成されている。ユーザＩＤは、クライアント３を使用するユーザを識別するための一意なユーザ識別情報であり、描画データ配列５１ではオブジェクトを配置したユーザを示している。Ｚオーダーは、描画スペースにおける各オブジェクトの上下関係を表わすデータである。Ｚオーダーの数値が大きいほどオブジェクトは前面（上位）側に配置され、数値が小さいほどオブジェクトは背面（下位）側に配置される。たとえば、Ｚオーダーが「１」のオブジェクトは描画スペースの最背面（最下位）に配置される。
【００７１】
また、描画バックアップ配列５４は、描画スペースのオブジェクトデータが全削除される際に作成される描画データ配列５１の複製（バックアップ）データである。すなわち、描画バックアップ配列５４は、全削除操作された描画スペースを、後述するアンドゥ処理によりリストアするためのデータ配列である。そのため、描画バックアップ配列５４は、図９に示すように、描画データ配列５１と同様のデータ構造となっている。また、描画バックアップ配列５４は、図形の全削除処理が行われる度に作成されるため、その世代（何番目に作成されたか）が分るようになっている。たとえば、世代が描画バックアップ配列５４のファイル名で表現されていてもよいし、世代を示すメタデータが描画バックアップ配列５４に付与されていてもよい。
【００７２】
図１０に示す全操作履歴配列５２は、描画スペースのオブジェクトデータに実行するユーザ操作毎のレコードを蓄積する操作履歴データベースとして機能するデータ配列である。全操作履歴配列５２は、オブジェクトデータのユーザ操作をアンドゥする処理、及びリドゥする処理を実現するために用いられ、描画スペース毎に存在している。全操作履歴配列５２は、コマンド番号と、コマンドと、ユーザ操作後のオブジェクトデータと、アンドゥ用コマンドと、アンドゥ用オブジェクトデータと、世代付きの描画バックアップ配列５４と、オブジェクトＩＤと、ユーザのユーザＩＤと、個人アンドゥ済みデータと、実行前Ｚオーダーとを含んで構成される。なお、図１０に示す全操作履歴配列５２において、空欄は、データが登録されないこと、或いはヌルデータが格納されることを示している。
【００７３】
コマンド番号は、描画サーバ２がコマンドを受信した順番（コマンドが示すユーザ操作を実行した順番）を識別するためデータである。コマンドは、ユーザが使用するクライアント３から描画サーバ２が受信したユーザ操作を示す。アンドゥ用コマンドは、ユーザ操作を取り消すアンドゥ操作（反転操作）を示す反転コマンドである。アンドゥ用オブジェクトデータは、ユーザ操作前のオブジェクトデータを示す。描画バックアップ配列５４は、コマンドが描画スペースに配置されたオブジェクトの全削除を示す場合にそのコマンドを含むレコードに登録され、描画バックアップ配列５４の格納先と、その世代（♯ｎ：ｎは１以上の正の整数）とを示す。オブジェクトＩＤは、オブジェクトデータを識別するための一意なオブジェクト識別情報である。ユーザＩＤは、オブジェクトデータにユーザ操作を実行したユーザを示す一意なユーザ識別情報である。個人アンドゥ済みデータは、後述する個人アンドゥ処理が行われたか否かを示している。個人アンドゥ処理が行われていないレコードであれば”ＦＡＬＳＥ”が設定されるが、個人アンドゥ処理が行われたレコードであれば”ＴＲＵＥ”が設定される。実行前Ｚオーダーは、コマンドが示すユーザ操作が実行される前のレコードのＺオーダーを示す。
【００７４】
図１１に示すアンドゥ履歴配列５３は、ユーザ操作を取り消すコマンドにより実行されたアンドゥ操作毎のレコードを蓄積するアンドゥ履歴データベースとして機能するデータ配列であり、描画スペース毎に存在している。アンドゥ履歴配列５３は、アンドゥ番号と、アンドゥ種類と、アンドゥユーザＩＤとを含んで構成される。アンドゥ番号は、描画サーバ２がユーザ操作を取り消すコマンドを受信した順番（アンドゥ操作を実行した順番）を識別するためデータである。アンドゥ種類は、アンドゥ操作により個人アンドゥ処理及び全体アンドゥのうちのどちらが実行されたかを示す。アンドゥユーザＩＤは、個人アンドゥを実行したユーザのユーザＩＤを示す。なお、全体アンドゥが実行される場合には、データが登録されない、或いはヌルデータが格納される。
【００７５】
図１２に示す描画スペーストークン配列５５は、描画サーバ２が管理する描画スペースへの参加を予め登録しているユーザと、そのユーザが参加する描画スペースとを関連付けるためのデータ配列である。描画スペーストークン配列５５は、ユーザＩＤと、描画スペーストークンと、描画スペースＩＤと、を含んで構成されている。なお、描画スペースＩＤは、描画サーバ２が管理する描画スペースを識別するための一意なデータであり、描画スペーストークン配列５５では、ユーザＩＤにより識別されるユーザに参加を許可する描画スペースを示している。描画スペーストークンは、ユーザと描画スペースＩＤとを紐付けるためのデータであり、たとえばユーザが参加を要求する描画スペースを識別するための一時的なパスワードなどである。
【００７６】
図１３に示す描画スペース接続配列５６は、ユーザが使用するクライアント３の通信経路と、ユーザ及び該ユーザが参加する描画スペースとを関連付けるためのデータ配列である。描画スペース接続配列５６は、ネットワーク接続情報、ユーザＩＤ、描画スペースＩＤで構成される。なお、ネットワーク接続情報は、ユーザがたとえばＷｅｂｓｏｃｋｅｔ、ＳＰＤＹ、またはこれらに類似する他のプロトコルなどを用いて描画サーバ２に新規接続したときに得られる。ネットワーク接続情報は、たとえば送信元（ユーザが使用するクライアント３）のＩＰアドレス、ポート、描画サーバ２の内部情報（たとえばＯＳのパラメータ）などを含んでいる。また、ユーザＩＤは描画サーバ２に接続しているユーザを示し、描画スペースＩＤはユーザＩＤにより識別されるユーザが参加（すなわち、ユーザが使用するクライアント３が入室）する描画スペースを示している。
（オブジェクトデータ）
【００７７】
次に、描画スペースに配置されるオブジェクトデータについて詳しく説明しておく。前述したように、描画スペースには、図形オブジェクト、テキストオブジェクト、及びイメージ（画像）オブジェクトなどの配置が可能である。また、図形オブジェクトには、たとえば、フリーハンド形式（手描き）の図形、直線、矢印、円形、四角形、及び三角形などのオブジェクトがある。図１５Ａ〜１５Ｆは、各オブジェクトデータの表現例を示している。
【００７８】
図１５Ａは、フリーハンド形式の図形オブジェクトが表現されたデータの一例を示す図である。図１５Ａに示すように、フリーハンド形式の図形オブジェクトデータは、たとえば、オブジェクトＩＤと、タッチ入力の軌跡により閉じた領域の内側を塗りつぶす色と、線の太さと、線の色と、及びタッチ入力の軌跡が通過した点の座標配列とを含んで表現される。
【００７９】
図１５Ｂは、直線オブジェクトが表現されたデータの一例を示す図である。図１５Ｂに示すように、直線オブジェクトデータは、たとえば、オブジェクトＩＤと、タッチ入力を開始した位置のＸ座標及びＹ座標と、タッチ入力を終了した位置のＸ座標及びＹ座標と、線の太さと、線の色とを含んで表現される。
【００８０】
図１５Ｃは、円形オブジェクトが表現されたデータの一例を示す図である。図１５Ｃに示すように、円形オブジェクトデータは、たとえば、オブジェクトＩＤと、中心点のＸ座標及びＹ座標と、Ｘ軸方向の半径と、Ｙ軸方向の半径と、線の太さと、線の色と、線の種類（たとえば、実線、破線など）とを含んで表現される。
【００８１】
図１５Ｄは、四角形オブジェクトが表現されたデータの一例を示す図である。図１５Ｄに示すように、四角形オブジェクトデータは、たとえば、オブジェクトＩＤと、所定の頂点のＸ座標及びＹ座標と、図形の大きさ（幅及び高さ）、線の太さと、線の色と、線の種類とを含んで表現される。なお、所定の頂点としては、たとえばタッチパネル３２に表示されたときの左上の頂点を例示することができる。
【００８２】
図１５Ｅは、三角形オブジェクトが表現されたデータの一例を示す図である。図１５Ｅに示すように、三角形オブジェクトデータは、たとえば、オブジェクトＩＤと、三辺で囲まれた領域の内側を塗りつぶす色と、線の太さと、線の色と、３つの頂点の座標配列とを含んで表現される。
【００８３】
図１５Ｆは、テキストオブジェクトが表現されたデータの一例を示す図である。図１５Ｆに示すように、テキストオブジェクトデータは、たとえば、オブジェクトＩＤと、テキストデータを表示する領域の所定の位置のＸ座標及びＹ座標と、フォントサイズと、文字色と、テキストデータの内容を示す文字列とを含んで表現される。なお、テキストデータを表示する領域の所定の位置としては、たとえばタッチパネル３２に表示されたときの最も左上側の位置を例示することができる。
（描画スペースへの入室）
【００８４】
次に、ユーザＡが、描画スペースに参加し、描画スペースのオブジェクトを操作する方法について説明する。なお、以下では、ユーザＡが使用するクライアント３が描画スペースに入室する例を説明するが、クライアント３Ａ以外のクライアント３が入室する際も同様の処理が行われることは言うまでもない。また、以下では、ユーザＡが使用するクライアント３をクライアント３Ａと呼び、クライアント３Ａ以外のｍ個（ｍは０又は１以上の正の整数）のクライアント３をクライアント３Ｂと総称する。
（（ログイン認証処理））
【００８５】
まず、ユーザＡが、クライアント３Ａを使用して、描画サーバ２が管理する所定の描画スペースに参加する際のログイン認証手順について説明する。図１６は、ユーザのログイン認証のシーケンス図である。また、図１７は、クライアントのログイン画面の一例を示す図である。
【００８６】
ログイン認証を開始する際、クライアント３Ａのタッチパネル３２には図１７のようなログイン画面８が表示されている。このログイン画面８には、ユーザＩＤ入力部８１と、パスワード入力部８２と、ログインボタン８３と、ユーザ作成ボタン８４とが表示されている。ユーザＩＤ入力部８１はユーザＩＤを入力するための表示オブジェクトであり、パスワード入力部８２はパスワードを入力するための表示オブジェクトである。また、ログインボタン８３はログイン認証を開始させるための表示オブジェクトであり、ユーザ作成ボタン８４は描画サーバ２に新規ユーザとして登録を行うための表示オブジェクトである。
【００８７】
クライアント３ＡのユーザＡはログイン画面８を見て、ユーザＡに予め付与された一意のユーザＩＤをユーザＩＤ入力部８１に入力し、描画サーバ２に予め登録されているユーザＡのパスワードをパスワード入力部８２に入力する（ＳＱ１０１）。ユーザがログインボタン８３をタップすると、クライアント３Ａは、ＨＴＴＰ（又はＨＴＴＰＳ）のプロトコルを用いてユーザＩＤ及びパスワードを描画サーバ２に送信する（ＳＱ１０２）。
【００８８】
描画サーバ２は、クライアント３Ａから送られてきたユーザＩＤとパスワードの組み合わせが正しいか判断を行なう。ユーザＩＤとパスワードの組み合わせが正しければ、描画サーバ２は、クライアント３Ａに対して、一意的なユーザトークンを生成する。なお、ユーザトークンとは、ユーザと描画スペースとを紐付けるためのデータであり、たとえば参加を要求するユーザを識別するための一時的なパスワードなどである。描画サーバ２は、ログイン認証が成功した旨とともにユーザトークンをクライアント３Ａに送信する（ＳＱ１０３）。そして、次に説明する描画スペース入室処理が開始される。
【００８９】
なお、ユーザＩＤとパスワードの組み合わせが正しくなければ、ＳＱ１０３にて描画サーバ２は、クライアント３Ａに対して、ログイン認証に失敗したことを示すエラーコードをクライアント３Ａに送信する。そして、ログイン認証が終了する。或いは、ログイン認証を最初からやり直すようにしてもよい。
（（描画スペース入室処理））
【００９０】
次に、ログイン認証されたユーザＡにより使用されるクライアント３Ａが描画スペースに入室する手順について説明する。図１８は、クライアント入室のシーケンス図である。
【００９１】
ログイン認証に成功したクライアント３Ａは、ユーザトークンとともに、ユーザＡが参加できる描画スペースを示す描画スペースリスト（board list）を要求する旨を描画サーバ２に送信する（ＳＱ２０１）。
【００９２】
描画サーバ２は、受信したユーザトークンが正しいかチェックを行う。ユーザトークンが正しければ、描画サーバ２は、ユーザトークンからユーザＩＤを抽出する。描画サーバ２は、描画スペーストークン配列５５を参照してユーザＩＤからユーザＡを特定し、ユーザＡが参加する描画スペースリストを作成する。そして、描画サーバ２は、描画スペースリストの提供を許可する旨とともに、描画スペースリストをクライアント３Ａに送信する（ＳＱ２０２）。
【００９３】
一方、ユーザトークンが正しくなければ、ＳＱ２０２にて描画サーバ２は、描画スペースリストの提供を許可しない旨をクライアント３Ａに送信する。
【００９４】
描画スペースリストを受信したクライアント３Ａは、その描画スペースリスト（たとえば各描画スペース名の一覧）をタッチパネル３２に表示する（ＳＱ２０３）。描画スペースリストを見たユーザＡは、タップ入力により参加を所望する描画スペースを選択する（ＳＱ２０４）。クライアント３Ａは、選択された描画スペースの描画スペースＩＤとともに、入室許可を要求する旨及びユーザトークンを描画サーバ２に送信する（ＳＱ２０５）。
【００９５】
描画サーバ２は、受信したユーザトークンが正しいかチェックを行う。ユーザトークンが正しければ、描画サーバ２は、受信した描画スペースＩＤに対応する描画スペーストークンを作成する。このとき、描画サーバ２は、ユーザＩＤと、生成した描画スペーストークンと、受信した描画スペースＩＤとを描画スペーストークン配列５５に登録する。そして、描画サーバ２は、入室を許可する旨とともに、生成した描画スペーストークンをクライアント３Ａに送信する（ＳＱ２０６）。
【００９６】
一方、ユーザトークンが正しくなければ、ＳＱ２０６にて描画サーバ２は、入室を許可しない旨をクライアント３Ａに送信する。
【００９７】
入室が許可されたクライアント３Ａは、描画スペーストークンとともにたとえばＷｅｂＳｏｃｋｅｔで描画サーバ２と接続する（ＳＱ２０７）。
【００９８】
描画サーバ２は、ＷｅｂＳｏｃｋｅｔの新規接続を検出すると、描画スペーストークンが付加されているか否かを判定する。描画スペーストークンが付加されていれば、描画サーバ２は、描画スペーストークン配列５５を参照し、受信した描画スペーストークンが、ＳＱ２０６にてクライアント３Ａ（すなわちユーザＡ）に送信した描画スペーストークンと一致するか否かを判定する。
【００９９】
描画スペーストークンが正しければ、ＷｅｂＳｏｃｋｅｔの新規接続時に得られるネットワーク接続情報と、ユーザＩＤと、描画スペーストークンとを描画スペース接続配列５６に追加登録する。さらに、描画サーバ２は、クライアント３Ａが入室した描画スペースの描画データ配列５１を編集する。なお、この編集により、描画データ配列５１のレコードがＺオーダー順に並び替えられる。そして、描画サーバ２は、接続を許可する旨及び画面更新を示すコマンドとともに、編集した描画データ配列５１のうちのオブジェクトデータのみをクライアント３Ａに送信する（ＳＱ２０８）。クライアント３Ａは、受信したオブジェクトデータに基づいて描画スペースを液晶ディスプレイ３２１に表示する。こうして、ユーザＡは、所望する描画スペースに参加することができ、オブジェクトの操作が可能な状態となる。
【０１００】
一方、ＳＱ２０７にて描画スペーストークンが付加されていない場合、又は、その描画スペーストークンが正しくない場合、ＳＱ２０８にて描画サーバ２はクライアント３Ａとの接続を拒否する。
（オブジェクトの操作）
【０１０１】
次に、描画スペースに参加したユーザＡは、オブジェクトの追加、削除、変更、及び全削除などの操作を行うことができる。なお、以下では、これらの操作例として、図形オブジェクトに対する各操作を説明する。
（（オブジェクトの追加（配置）））
【０１０２】
まず、ユーザＡによる描画スペースへの図形追加処理について説明する。この処理では、描画スペースに図形オブジェクトを配置する。
（（（システムの動作）））
【０１０３】
図１９は、図形追加処理のシーケンス図である。ユーザＡはクライアント３Ａの表示画面７の描画パレット７２３１（図７参照）から所望の図形サンプルを選択し、描画スペースに追加する図形を入力する（ＳＱ３０１）。
【０１０４】
クライアント３Ａは、ユーザ入力に基づく図形オブジェクトデータと、そのオブジェクトＩＤとを同時に作成する。たとえば、描画パレット７２３１からフリーハンド表示７２３１ａが選択されると、ユーザＡがタッチパネル３２をなぞることにより、その軌跡に対応する手描きの図形が入力される。クライアント３Ａは、ユーザが手描きした図形の各座標を検出し、これらの座標を通る図形のオブジェクトデータ（図１５Ａ）と、この図形オブジェクトデータの一意なオブジェクトＩＤとを生成する。
【０１０５】
また、直線を示す図形サンプル表示が選択されると、クライアント３Ａは、直線のオブジェクトデータ（図１５Ｂ）と、この図形オブジェクトデータのオブジェクトＩＤとを生成する。この図形オブジェクトデータは、ユーザＡがタッチ入力を開始した位置を示す第１座標と、タッチ入力を終了した位置を示す第２座標とを結ぶ直線を示す。第１座標はたとえばタッチパネル３２に指又はタッチペンが初めて触れた位置であり、第２座標はたとえばタッチパネル３２から指又はタッチペンを離した位置である。
【０１０６】
また、円形を示す図形サンプル表示が選択されると、クライアント３Ａは、円形のオブジェクトデータ（図１５Ｃ）と、この図形オブジェクトデータのオブジェクトＩＤとを生成する。この図形オブジェクトデータは、ユーザＡがタッチ入力を開始した位置を示す第１座標と、タッチ入力を終了した位置を示す第２座標とを結ぶ直線が対角線になる矩形に内接し、その対角線の中点を中心とする円形を示す。
【０１０７】
また、四角形を示す図形サンプル表示が選択されると、クライアント３Ａは、四角形のオブジェクトデータ（図１５Ｄ）と、この図形オブジェクトデータのオブジェクトＩＤと、を生成する。この図形オブジェクトデータは、ユーザＡがタッチ入力を開始した位置を示す第１座標と、タッチ入力を終了した位置を示す第２座標とを結ぶ直線が対角線になる矩形に内接する四角形を示す。
【０１０８】
また、三角形を示す図形サンプル表示が選択されると、クライアント３Ａは、三角形の図形オブジェクトデータ（図１５Ｅ）と、この図形オブジェクトデータのオブジェクトＩＤと、を同時に生成する。この図形オブジェクトデータは、ユーザＡがタッチ入力を開始した位置を示す第１座標と、タッチ入力を終了した位置を示す第２座標とを結ぶ直線が対角線になる矩形に内接する三角形を示す。
【０１０９】
そして、クライアント３Ａは、図形追加を示すコマンドとともに、オブジェクトＩＤを内包したオブジェクトデータに描画サーバ２に送信する（ＳＱ３０２）。
【０１１０】
描画サーバ２は、図形追加を示すコマンドをクライアント３Ａから受信すると、図形追加処理（後述の図２０参照）を行なう。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形追加）と、オブジェクトＩＤを内包したオブジェクトデータと、を送信する（ＳＱ３０３）。
【０１１１】
クライアント３Ａ（及びクライアントＢ）は、コマンド（図形追加）とオブジェクトＩＤを内包したオブジェクトデータとを描画サーバ２から受信し、受信したオブジェクトデータを表示すべく、表示画面７を更新する。こうして、ユーザＡが入力した図形が描画スペースに配置される。
（（（描画サーバの動作）））
【０１１２】
ここで、図形追加処理における描画サーバ２の動作を詳しく説明する。図２０は、図形追加処理における描画サーバの動作を示すフローチャートである。
【０１１３】
描画サーバ２は、ＳＱ３０２にて図形追加を示すコマンドを受信したときに得られるネットワーク接続情報に基づいて、描画スペース接続配列５６からコマンドの発行元となるユーザＩＤを抽出する（Ｓ４０１）。さらに、描画サーバ２は、クライアント３Ａから受信したデータをオブジェクトＩＤ及びオブジェクトデータに分解する（Ｓ４０２）。また、描画サーバ２は、全操作履歴配列５２からＺオーダーの最大値を検出し、その最大値をインクリメント（１を加算）した値を用意する（Ｓ４０３）。なお、この値は、描画スペースの最前面を示す。
【０１１４】
描画サーバ２は、Ｓ４０２及びＳ４０３にて得たデータを用いて、クライアント３Ａが入室している描画スペースの描画データ配列５１を編集する（Ｓ４０４）。この編集により、描画データ配列５１では、オブジェクトＩＤ、オブジェクトデータ、ユーザＡを示すユーザＩＤ、及び、図形を最前面に配置するためのＺオーダーを含んで構成される新たなレコードが追加される。
【０１１５】
また、Ｓ４０４と同時に、描画サーバ２は、Ｓ４０２及びＳ４０３にて得たデータを用いて、クライアント３Ａが入室している描画スペースの全操作履歴配列５２を編集する（Ｓ４０５）。この編集により、全操作履歴配列５２には、新たなレコードが追加される。この新たなレコードは、最新のコマンド番号、コマンド（図形追加）、オブジェクトデータ、アンドゥ用コマンド（図形削除）、オブジェクトＩＤ、ユーザＩＤ、及び、個人アンドゥ済みデータを含んで構成されている。コマンド（図形追加）はクライアント３Ａから受信し、アンドゥ用コマンド（図形削除）は図形追加操作を取り消すために用いられる。また、ユーザＩＤはユーザＡを示し、個人アンドゥ済みデータは”ＦＡＬＳＥ”を示す。なお、クライアント３Ａから受信したコマンドが図形追加を示すため、アンドゥ用コマンドは図形削除を示している。また、新たなレコードには、アンドゥ用オブジェクトデータ、描画バックアップ配列、及び実行前Ｚオーダーは格納されないが、それぞれにヌル（オブジェクト）データが格納されていてもよい。
【０１１６】
そして、描画サーバ２は、前述のＳＱ３０３を行う（Ｓ４０６）。なお、このとき、ヌル（オブジェクト）データが格納されているデータを送信してもよいし、送信しなくてもよい。
【０１１７】
なお、上述の追加例では、図形オブジェクトを追加しているが、他のオブジェクト（たとえばテキストオブジェクト、イメージオブジェクトなど）を同様の手順により追加することも可能である。
（（オブジェクトの変更方法））
【０１１８】
次に、ユーザＡによる描画スペースの図形変更処理について説明する。ここでは、図形変更処理の例として、描画スペースに既に描画されている図形の線の色を変更する場合を説明する。
（（（システムの動作）））
【０１１９】
図２１は、図形変更処理のシーケンス図である。ユーザＡは、変更を行う図形を描画スペースから選択した後、クライアント３Ａの表示画面７の線の色選択パレット７２１１（図５参照）から所望の線の色サンプルを選択する（ＳＱ５０１）。
【０１２０】
クライアント３Ａは、変更後の図形オブジェクトデータの生成と、選択された図形のオブジェクトＩＤの選出とを行う。そして、クライアント３Ａは、図形変更を示すコマンドととともに、変更後のオブジェクトデータにそのオブジェクトＩＤを内包させて、描画サーバ２に送信する（ＳＱ５０２）。
【０１２１】
描画サーバ２は、図形変更を示すコマンドをクライアント３Ａから受信すると、図形変更処理（後述の図２２参照）を行なう。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形変更）と、オブジェクトＩＤを内包した変更後のオブジェクトデータとを送信する（ＳＱ５０３）。
【０１２２】
クライアント３Ａ（及びクライアントＢ）は、コマンド（図形変更）とオブジェクトＩＤを内包したオブジェクトデータとを描画サーバ２から受信し、受信したオブジェクトデータを表示すべく、表示画面７を更新する。こうして、ユーザＡが変更した図形は描画スペースに配置される。
（（（描画サーバの動作）））
【０１２３】
ここで、図形変更処理における描画サーバ２の動作を詳しく説明する。図２２は、図形変更処理における描画サーバの動作を示すフローチャートである。
【０１２４】
描画サーバ２は、ＳＱ５０２にて図形変更を示すコマンドを受信したときに得られるネットワーク接続情報に基づいて、描画スペース接続配列５６からコマンドの発行元となるユーザＩＤを抽出する（Ｓ６０１）。さらに、描画サーバ２は、クライアント３Ａから受信したデータをオブジェクトＩＤ及びオブジェクトデータに分解する（Ｓ６０２）。
【０１２５】
描画サーバ２は、Ｓ６０２にて得たデータを用いて、クライアント３Ａが入室している描画スペースの描画データ配列５１を編集する（Ｓ６０３）。この編集により、描画データ配列５１では、ＳＱ５０２にて受信したオブジェクトＩＤに対応するオブジェクトデータのみが、受信したオブジェクトデータに置き換えられる。
【０１２６】
またＳ６０３と同時に、描画サーバ２は、Ｓ６０２にて得たデータを用いて、クライアント３Ａが入室している描画スペースの全操作履歴配列５２を編集する（Ｓ６０４）。この編集により、全操作履歴配列５２には、新たなレコードが追加される。このレコードは、最新のコマンド番号、コマンド（図形変更）、オブジェクトデータ、アンドゥ用コマンド（図形変更）、アンドゥ用オブジェクトデータ、オブジェクトＩＤ、ユーザＩＤ、個人アンドゥデータ、及び、実行前Ｚオーダーを含んで構成される。コマンド（図形変更）はクライアント３Ａから送信され、アンドゥ用コマンド（図形変更）は図形変更操作を取り消すために用いられる。アンドゥ用オブジェクトデータは図形変更処理前のオブジェクトデータであり、ユーザＩＤはユーザＡを示す。また、個人アンドゥデータは”ＦＡＬＳＥ”を示し、実行前Ｚオーダーは図形変更処理前のＺオーダーを示す。なお、クライアント３Ａから受信したコマンドが図形変更を示すため、アンドゥ用コマンドも図形変更を示している。また、新たなレコードには、描画バックアップ配列は格納されないが、ヌルデータが格納されていてもよい。
【０１２７】
そして、描画サーバ２は前述のＳＱ５０３を行う（Ｓ６０５）。なお、このとき、ヌル（オブジェクト）データが格納されているデータを送信してもよいし、送信しなくてもよい。
【０１２８】
なお、上述では、図形の線の色を変更する例を説明しているが、他の設定（たとえば、線の太さ、塗りつぶしの有無など）も同様の手順により変更することが可能である。
（（オブジェクトの削除方法））
【０１２９】
次に、ユーザＡによる描画スペースの図形削除処理について説明する。この処理では、描画スペースに既に配置されている図形オブジェクトを選択的に削除する。
（（（システムの動作）））
【０１３０】
図２３は、図形削除処理のシーケンス図である。ユーザＡは、削除したい図形を描画スペースから選択した後、クライアント３Ａの表示画面７のクリアボタン７２５（図４参照）を選択する（ＳＱ７０１）。
【０１３１】
クライアント３Ａは、図形削除を示すコマンドとともに、選択された図形のオブジェクトＩＤを描画サーバ２に送信する（ＳＱ７０２）。
【０１３２】
描画サーバ２は、図形削除を示すコマンドをクライアント３Ａから受信すると、図形削除処理（後述の図２４参照）を行なう。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形削除）と、オブジェクトＩＤとを送信する（ＳＱ７０３）。
【０１３３】
クライアント３Ａ（及びクライアントＢ）は、コマンド（図形削除）とオブジェクトＩＤとを描画サーバ２から受信し、受信したオブジェクトＩＤの図形を描画スペースから抹消する。こうして、ユーザＡが削除した図形は描画スペースから抹消される。
（（（描画サーバの動作）））
【０１３４】
ここで、図形削除処理における描画サーバ２の動作を詳しく説明する。図２４は、図形削除処理における描画サーバの動作を示すフローチャートである。
【０１３５】
描画サーバ２は、ＳＱ７０２にて図形変更を示すコマンドを受信したときに得られるネットワーク接続情報に基づいて、描画スペース接続配列５６からコマンドの発行元となるユーザＩＤを抽出する（Ｓ８０１）。さらに、描画サーバ２は、クライアント３Ａから受信したデータをオブジェクトＩＤ及びオブジェクトデータに分解する（Ｓ８０２）。
【０１３６】
描画サーバ２は、Ｓ８０２にて得たデータを用いて、クライアント３Ａが入室している描画スペースの描画データ配列５１を編集する（Ｓ８０３）。これらの編集により、描画データ配列５１では、Ｓ８０２にて得たオブジェクトＩＤを含むレコード（オブジェクトＩＤ、オブジェクトデータ、ユーザＩＤ、及びＺオーダー）が削除される。
【０１３７】
また、Ｓ８０３と同時に、描画サーバ２は、Ｓ８０２にて得たデータを用いて、クライアント３Ａが入室している描画スペースの全操作履歴配列５２を編集する（Ｓ８０４）。この編集により、全操作履歴配列５２には、新たなレコードが追加される。このレコードは、最新のコマンド番号、コマンド（図形削除）、アンドゥ用コマンド（図形追加）、アンドゥ用オブジェクトデータ、オブジェクトＩＤ、ユーザＩＤ、個人アンドゥ済みデータ、及び、実行前Ｚオーダーを含んで構成される。コマンド（図形削除）はクライアント３Ａから受信し、アンドゥ用コマンド（図形追加）は図形削除操作を取り消すために用いられる。アンドゥ用オブジェクトデータは図形削除処理前のオブジェクトデータであり、ユーザＩＤはユーザＡを示す。また、個人アンドゥ済みデータは”ＦＡＬＳＥ”を示し、実行前Ｚオーダーは図形削除処理前のＺオーダーを示す。なお、クライアント３Ａから受信したコマンドが図形削除を示すため、アンドゥ用コマンドは図形追加を示している。また、新たなレコードには、オブジェクトデータ及び描画バックアップ配列は格納されないが、それぞれにヌル（オブジェクト）データが格納されていてもよい。
【０１３８】
そして、描画サーバ２は前述のＳＱ７０３を行う（Ｓ８０５）。なお、このとき、ヌル（オブジェクト）データが格納されているデータを送信してもよいし、送信しなくてもよい。
【０１３９】
なお、上述では、図形の削除例を説明しているが、他のオブジェクト（たとえばテキストオブジェクト、イメージオブジェクトなど）を同様の手順により削除することも可能である。
（（オブジェクトの全削除方法））
【０１４０】
次に、ユーザＡによる描画スペースの全削除処理について説明する。この処理では、描画スペースに既に配置されている全てのオブジェクトが削除される。
（（（システムの動作）））
【０１４１】
図２５は、全削除処理のシーケンス図である。ユーザＡは、描画スペースの図形を選択していない状態のときに、クライアント３Ａの表示画面７のクリアボタン７２５（図４参照）を選択する（ＳＱ９０１）。
【０１４２】
クライアント３Ａは、全削除を示すコマンドを描画サーバ２に送信する（ＳＱ９０２）。
【０１４３】
描画サーバ２は、全削除を示すコマンドをクライアント３Ａから受信すると、全削除処理（後述の図２６参照）を行なう。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（全削除）を送信する（ＳＱ９０３）。
【０１４４】
クライアント３Ａ（及びクライアントＢ）は、コマンド（全削除）を描画サーバ２から受信すると、液晶ディスプレイ３２１に表示されている全ての図形を抹消する。こうして、描画スペースに配置されたオブジェクトは全て削除される。
（（（描画サーバの動作）））
【０１４５】
ここで、全削除処理における描画サーバ２の動作を詳しく説明する。図２６は、全削除処理における描画サーバの動作を示すフローチャートである。
【０１４６】
描画サーバ２は、描画データ配列５１をバックアップ（複製）することにより、描画バックアップ配列５４を生成する（Ｓ１００１）。そして、描画サーバ２は、クライアント３Ａが入室している描画スペースの描画データ配列５１を編集する（Ｓ１００２）。この編集により、クライアント３Ａが入室している描画スペースの描画データ配列５１に登録されている全てのレコード（オブジェクトＩＤ、オブジェクトデータ、ユーザＩＤ、及びＺオーダー）が削除される。
【０１４７】
また、Ｓ１００２と同時に、描画サーバ２は、クライアント３Ａが入室している描画スペースの全操作履歴配列５２を編集する（Ｓ１００３）。この編集により、また、全操作履歴配列５２には、新たなレコードが追加される。このレコードは、最新のコマンド番号、コマンド（全削除）、アンドゥ用コマンド（リストア）、描画バックアップ配列５４及びその世代と、ユーザＩＤ、及び、個人アンドゥデータを含んで構成される。コマンド（全削除）はクライアント３Ａから送信され、アンドゥ用コマンド（リストア）は全削除操作を取り消すために用いられる。ユーザＩＤはユーザＡを示し、個人アンドゥデータは”ＦＡＬＳＥ”を示す。なお、クライアント３Ａから受信したコマンドが全削除を示すため、アンドゥ用コマンドはリストアを示している。また、新たなレコードには、オブジェクトデータ、アンドゥ用オブジェクトデータ、オブジェクトＩＤ、及び実行前Ｚオーダーは格納されないが、それぞれにヌル（オブジェクト）データが格納されていてもよい。
【０１４８】
そして、描画サーバ２は前述のＳＱ９０３を行う（Ｓ１００４）。なお、このとき、ヌル（オブジェクト）データが格納されているデータを送信してもよいし、送信しなくてもよい。
（アンドゥ用コマンド及びアンドゥ用オブジェクトデータの設定処理）
【０１４９】
次に、全操作履歴配列５２に追加されるレコードのアンドゥに関するデータの決定方法について説明する。図２７は、アンドゥ用コマンド及びアンドゥ用オブジェクトデータの設定方法を示すフローチャートである。なお、以下では、ユーザＡが使用するクライアント３Ａから図形オブジェクトに実行するユーザ操作に対応するコマンドを受信した場合を例にして説明する。
【０１５０】
描画サーバ２は、クライアント３Ａからコマンドを受信すると、そのコマンドが描画スペースに対する図形追加、図形変更、図形削除、及びオブジェクトの全削除のうちのいずれであるかを判定する。
【０１５１】
まず、受信したコマンドが図形追加を示すか否かを判定する（Ｓ１１０１）。図形追加を示すと判定した場合（Ｓ１１０１でＹｅｓ）には、図形追加操作を取り消すために、図形削除を示すアンドゥ用コマンドを作成する（Ｓ１１０２）。そして、処理を終了する。
【０１５２】
図形追加を示さないと判定した場合（Ｓ１１０１でＮｏ）には、受信したコマンドが図形変更を示すか否かを判定する（Ｓ１１０３）。図形変更を示すと判定した場合（Ｓ１１０３でＹｅｓ）には、図形変更操作を取り消すために、図形変更を示すアンドゥ用コマンドを作成する（Ｓ１１０４）。また、描画データ配列５１から、受信したオブジェクトＩＤを含むレコードを検索する（Ｓ１１０５）。そして、検索の結果に得られた描画データ配列５１のオブジェクトデータを、全操作履歴配列５２のアンドゥ用オブジェクトデータに設定する（Ｓ１１０６）。そして、処理を終了する。
【０１５３】
図形変更を示さないと判定した場合（Ｓ１１０３でＮｏ）には、受信したコマンドが図形削除を示すか否かを判定する（Ｓ１１０７）。図形削除を示すと判定した場合（Ｓ１１０７でＹｅｓ）には、図形削除操作を取り消すために、図形追加を示すアンドゥ用コマンドを作成する（Ｓ１１０８）。また、描画データ配列５１から、受信したオブジェクトＩＤを含むレコードを検索する（Ｓ１１０９）。そして、検索の結果に得られた描画データ配列５１のオブジェクトデータを、全操作履歴配列５２のアンドゥ用オブジェクトデータに設定する（Ｓ１１１０）。そして、処理を終了する。
【０１５４】
図形削除を示さないと判定した場合（Ｓ１１０７でＮｏ）には、受信したコマンドが全削除を示すか否かを判定する（Ｓ１１１１）。全削除を示すと判定した場合（Ｓ１１１１でＹｅｓ）には、全削除操作を取り消すために、リストアを示すアンドゥ用コマンドを作成する（Ｓ１１１２）。また、描画データ配列５１を複製して第ｎ世代（ｎは１以上の正の整数）の描画バックアップ配列５４とし、描画スペースと関連付けて記憶部２１に格納する（Ｓ１１１３）。なお、描画バックアップ配列５４に付与される世代は、関連付けられた描画スペースの何番目の描画バックアップ配列５４であるかを示す。そして、処理を終了する。
【０１５５】
なお、全削除を示さないと判定した場合（Ｓ１１１１でＮｏ）には、アンドゥ用コマンド及びアンドゥ用オブジェクトデータを設定せずに、処理を終了する。
（アンドゥ処理）
【０１５６】
各クライアント３のユーザは、描画スペースに行った上述のようなユーザ操作を取り消すアンドゥ操作を実行することができる。図２８は、描画サーバのアンドゥ処理のフローチャートである。以下に、図２８を参照して、アンドゥ処理について説明する。
【０１５７】
ユーザＡは、最も直前に行われた操作を取り消すために、クライアント３Ａの表示画面７のアンドゥボタン７２４を選択する。さらに、ユーザＡは、アンドゥパレット７２４１（図８参照）から個人アンドゥボタン７２４１ａ又は全体アンドゥボタン７２４１ｂを選択入力する。クライアント３Ａは、ユーザＡの選択に応じて個人アンドゥ処理又は全体アンドゥ処理を示すコマンドを描画サーバ２に送信する。
【０１５８】
描画サーバ２は、個人アンドゥ処理又は全体アンドゥ処理を示すコマンドを受信したときに得られるネットワーク接続情報に基づいて、描画スペース接続配列５６からコマンド（アンドゥ）の発行元となるユーザＩＤを抽出する（Ｓ１２０１）。
【０１５９】
さらに、描画サーバ２は、クライアント３Ａから受信したコマンド（アンドゥ）が個人アンドゥ処理及び全体アンドゥ処理のどちらであるかを判定する（Ｓ１２０２）。
【０１６０】
全体アンドゥ処理を示すコマンドであると判定された場合（Ｓ１２０２でＹｅｓ）、描画サーバ２は、全操作履歴配列５２から、最も直前のレコードを取り出す（Ｓ１２０３）。すなわち、全操作履歴配列５２において、コマンド番号が現在のコマンド番号未満であり、且つ、個人アンドゥ済みデータが”ＦＡＬＳＥ”であるレコードのうち、コマンド番号が最大となるレコードを取り出す。また、現在のコマンド番号から１を減算する（Ｓ１２０４）。たとえば、図１０の全操作履歴配列５２であれば、Ｓ１２０３の時点のコマンド番号が”７”であれば、コマンド番号が”６”のレコードが取り出され、Ｓ１２０４の時点のコマンド番号が”６”に設定される。
【０１６１】
そして、アンドゥ履歴配列５３に、新たなレコードを追加し、そのアンドゥ番号に現在のアンドゥ履歴番号を設定し、アンドゥ種類に全体アンドゥを設定する（Ｓ１２０５）。たとえば、図１１のアンドゥ履歴配列５３であれば、描画スペースにユーザ操作を取り消すコマンドの実行が所定の時点（たとえば、描画スペースの開設時、ユーザが設定した時点など）から１回目である場合、アンドゥ番号が”１”に設定される。また、そのコマンドが全体アンドゥを示す場合、アンドゥ種類が”全体アンドゥ”に設定され、アンドゥユーザＩＤには、データ登録されない、又はヌルデータが登録される。
【０１６２】
一方、個人アンドゥ処理を示すコマンドであると判定された場合（Ｓ１２０２でＮｏ）、描画サーバ２は、全操作履歴配列５２から、ユーザＩＤが一致するレコードのうち、最も直前のレコードを取り出す（Ｓ１２０６）。すなわち、コマンド番号が現在のコマンド番号未満であり、且つ、ユーザＩＤがＳ１２０１にて抽出したユーザＩＤと一致し、且つ、個人アンドゥ済みデータが”ＦＡＬＳＥ”であるレコードのうち、コマンド番号が最大となるレコードを取り出す。また、取り出したレコードの個人アンドゥ済みデータを”ＴＲＵＥ”に設定する（Ｓ１２０７）。たとえば、図１０の全操作履歴配列５２であれば、Ｓ１２０６の時点でコマンド番号が”７”であれば、コマンド番号が”６”のレコードが取り出され、Ｓ１２０７においてコマンド番号が”６”のレコードの個人アンドゥ済みデータが”ＴＲＵＥ”に設定される。なお、Ｓ１２０７の時点のコマンド番号は”７”のままである。
【０１６３】
そして、アンドゥ履歴配列５３に、新たなレコードを追加し、そのアンドゥ番号に現在のアンドゥ履歴番号を設定し、アンドゥ種類に全体アンドゥを設定する（Ｓ１２０８）。たとえば、図１１のアンドゥ履歴配列５３であれば、描画スペースにユーザ操作を取り消すコマンドの実行が２回目である場合、アンドゥ番号が”２”に設定される。また、そのコマンドが個人アンドゥを示す場合、アンドゥ種類が”個人アンドゥ”に設定され、アンドゥユーザＩＤにはユーザ操作を実行したユーザ（たとえばユーザＡ）のユーザＩＤが登録される。
【０１６４】
次に、描画サーバ２は、現在のアンドゥ履歴番号に１を加算する（Ｓ１２０９）。そして、描画サーバ２は、Ｓ１２０３又はＳ１２０６において取り出したレコードのアンドゥ用コマンドが示す図形操作（図形追加、図形変更、図形削除、リストア）を判定する。まず、描画サーバ２は、取り出したレコードのアンドゥ用コマンドが図形追加を示すか否かを判定する（Ｓ１２１０）。図形追加を示すと判定した場合（Ｓ１２１０でＹｅｓ）、後述するＳ１２２０に進み、アンドゥ処理により図形追加操作を行う。
【０１６５】
図形追加を示さないと判定した場合（Ｓ１２１０でＮｏ）、図形変更を示すか否かを判定する（Ｓ１２１１）。図形変更を示すと判定した場合（Ｓ１２１１でＹｅｓ）、後述するＳ１２３０に進み、アンドゥ処理により図形変更操作を行う。
【０１６６】
図形変更を示さないと判定した場合（Ｓ１２１１でＮｏ）、図形削除を示すか否かを判定する（Ｓ１２１２）。図形削除を示すと判定した場合（Ｓ１２１２でＹｅｓ）、後述するＳ１２４０に進み、アンドゥ処理により図形削除操作を行う。
【０１６７】
図形削除を示さないと判定した場合（Ｓ１２１２でＮｏ）、リストアを示すか否かを判定する（Ｓ１２１３）。リストアを示すと判定した場合（Ｓ１２１３でＹｅｓ）、後述するＳ１２５０に進み、アンドゥ処理によりリストア操作を行う。なお、リストアを示さないと判定した場合（Ｓ１２１３でＮｏ）には処理を終了する。
（（アンドゥ：図形追加））
【０１６８】
図形追加操作のアンドゥ処理では、描画サーバ２は、Ｓ１２０３又はＳ１２０６にて全操作履歴配列５２から取り出したレコードのオブジェクトＩＤと、アンドゥ用オブジェクトデータと、Ｚオーダーとを描画データ配列５１に追加する（Ｓ１２２０）。すなわち、これらのデータが描画データ配列５１に追加されたレコードのオブジェクトＩＤ、オブジェクトデータ、及びＺオーダーとしてそれぞれ登録される。なお、追加されたレコードのユーザＩＤには、Ｓ１２０１にて抽出したユーザＩＤが登録される。
【０１６９】
また、描画サーバ２は、コマンド（画面更新）と、Ｚオーダー順に並び替えた描画データ配列５１の全オブジェクトデータを全クライアント３に送信する（Ｓ１２２１）。各クライアント３は、受信したデータに基づいて画面を更新する。
（（アンドゥ：図形変更））
【０１７０】
図形変更操作のアンドゥ処理では、描画サーバ２は、Ｓ１２０３又はＳ１２０６にて全操作履歴配列５２から取り出したレコードのアンドゥ用オブジェクトデータで、取り出したレコードのオブジェクトＩＤが示す描画データ配列５１のオブジェクトデータを置き換える（Ｓ１２３０）。
【０１７１】
また、描画サーバ２は、描画スペースに入室している全てのクライアント３に、アンドゥ用コマンド（図形変更）と、Ｓ１２０３又はＳ１２０６にて取り出したレコードのオブジェクトＩＤ及びアンドゥ用オブジェクトデータとを送信する（Ｓ１２３１）。このとき、実行前Ｚオーダーも送信してもよい。各クライアント３は、アンドゥ用コマンド（図形変更）と、オブジェクトＩＤを内包するアンドゥ用オブジェクトデータとを描画サーバ２から受信する。そして、各クライアント３は、受信したアンドゥ用オブジェクトデータに基づいて表示画面７を更新する。
（（アンドゥ：図形削除））
【０１７２】
図形削除操作のアンドゥ処理では、描画サーバ２は、Ｓ１２０３又はＳ１２０６にて全操作履歴配列５２から取り出したレコードのオブジェクトＩＤと同じオブジェクトＩＤを含むレコードを、描画データ配列５１から削除する（Ｓ１２４０）。
【０１７３】
また、描画サーバ２は、描画スペースに入室している全てのクライアント３に、アンドゥ用コマンド（図形削除）と、Ｓ１２０３又はＳ１２０６にて取り出したレコードのオブジェクトＩＤとを送信する（Ｓ１２４１）。このとき、アンドゥ用オブジェクトデータは送信しないが、ヌルオブジェクトデータとして送信してもよい。各クライアント３は、アンドゥ用コマンド（図形削除）とオブジェクトＩＤとを描画サーバ２から受信し、受信したオブジェクトＩＤに対応する図形を表示画面７から抹消する。
（（アンドゥ：リストア））
【０１７４】
リストア操作のアンドゥ処理では、描画サーバ２は、描画データ配列５１から全てのレコードを削除する（Ｓ１２５０）。その後、描画サーバ２は、描画バックアップ配列５４の全てのレコードを描画データ配列５１に追加する（Ｓ１２５１）。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（画面更新）と、Ｚオーダー順で並べた描画データ配列５１のレコードのオブジェクトデータとを送信する（Ｓ１２５２）。
【０１７５】
各クライアント３は、アンドゥ用コマンド（画面更新）と、オブジェクトデータとを描画サーバ２から受信し、受信したトデータに基づいて画面を更新する。
（リドゥ処理）
【０１７６】
次に、各クライアント３のユーザは、アンドゥ処理により取り消したコマンドが示すユーザ操作をやり直すリドゥ操作を実行することもできる。図２９は、リドゥ処理における描画サーバの動作のフローチャートである。以下に、図２９を参照して、このリドゥ処理について説明する。
【０１７７】
ユーザは、直前のアンドゥ動作を取り消すために、クライアント３Ａの表示画面７のアンドゥボタン７２４を選択する。さらに、ユーザは、アンドゥパレット７２４１（図８参照）からリドゥボタン７２４１ｃを選択入力する。リドゥボタン７２４１ｃが選択入力されると、クライアント３Ａはユーザ操作をやり直すコマンド（リドゥ）を描画サーバ２に送信する。
【０１７８】
描画サーバ２は、コマンド（リドゥ）を受信したときに得られるネットワーク接続情報に基づいて、描画スペース接続配列５６からコマンド（リドゥ）の発行元となるユーザＩＤを抽出する（Ｓ１３０１）。
【０１７９】
次に、描画サーバ２は、現在のアンドゥ履歴番号から１を減算する（Ｓ１３０２）。また、描画サーバ２は、アンドゥ履歴配列５３からアンドゥ履歴番号と同じ値が設定されているアンドゥ番号を含むレコードを取り出す（Ｓ１３０３）。そして、描画サーバ２は、アンドゥ履歴配列５３から取り出したレコードのアンドゥ種類が全体アンドゥであるか否かを判定する（Ｓ１３０４）。
【０１８０】
全体アンドゥであると判定された場合（Ｓ１３０４でＹｅｓ）、描画サーバ２は、全操作履歴配列５２から、現在のコマンド番号のレコード（最も直前のレコード）を取り出す（Ｓ１３０５）。そして、現在のコマンド番号に１を加算する（Ｓ１３０６）。
【０１８１】
一方、個人アンドゥであると判定された場合（Ｓ１３０４でＮｏ）、描画サーバ２は、全操作履歴配列５２から、コマンド番号が最大となるレコード（最も直前のレコード）を取り出す（Ｓ１３０７）。なお、このレコードは、コマンド番号が現在のコマンド番号未満であり、且つ、ユーザＩＤがＳ１３０５にて抽出したユーザＩＤと一致し、且つ、個人アンドゥ済みデータが”ＴＲＵＥ”であるレコードから取り出される。そして、取り出したレコードの個人アンドゥ済みデータを”ＦＡＬＳＥ”に設定する（Ｓ１３０８）。
【０１８２】
次に、描画サーバ２は、Ｓ１３０５又はＳ１３０７において取り出したレコードのコマンドが示す図形操作（図形追加、図形変更、図形削除、全削除）を判定する。まず、描画サーバ２は、取り出したレコードのコマンドが図形追加を示すか否かを判定する（Ｓ１３０９）。図形追加を示すと判定した場合（Ｓ１３０９でＹｅｓ）、後述するＳ１３２０に進み、リドゥ処理により図形追加操作を行う。
【０１８３】
図形追加を示さないと判定した場合（Ｓ１３０９でＮｏ）、図形変更を示すか否かを判定する（Ｓ１３１０）。図形変更を示すと判定した場合（Ｓ１３１０でＹｅｓ）、後述するＳ１３３０に進み、リドゥ処理により図形変更操作を行う。
【０１８４】
図形変更を示さないと判定した場合（Ｓ１３１０でＮｏ）、図形削除を示すか否かを判定する（Ｓ１３１１）。図形削除を示すと判定した場合（Ｓ１３１１でＹｅｓ）、後述するＳ１３４０に進み、リドゥ処理により図形削除操作を行う。
【０１８５】
図形削除を示さないと判定した場合（Ｓ１３１１でＮｏ）、全削除を示すか否かを判定する（Ｓ１３１２）。全削除を示すと判定した場合（Ｓ１３１２でＹｅｓ）、後述するＳ１３５０に進み、リドゥ処理により全削除操作を行う。なお、全削除を示さないと判定した場合（Ｓ１３１２でＮｏ）には処理を終了する。
（（リドゥ：図形追加））
【０１８６】
図形追加操作のリドゥ処理では、描画サーバ２は、Ｓ１３０５又はＳ１３０７にて全操作履歴配列５２から取り出したレコードのオブジェクトＩＤと、オブジェクトデータと、実行前Ｚオーダーとを描画データ配列５１に追加する（Ｓ１３２０）。なお、追加されたレコードのユーザＩＤには、Ｓ１３０１にて抽出したユーザＩＤが登録される。
【０１８７】
また、描画サーバ２は、コマンド（画面更新）と、Ｚオーダー順に並べ替えた描画データ配列５１の全オブジェクトデータとを全クライアント３に送信する（Ｓ１３２１）。各クライアント３は、描画サーバ２から受信したデータに基づいて表示画面７を更新する。
（（リドゥ：図形変更））
【０１８８】
図形変更操作のリドゥ処理では、描画サーバ２は、Ｓ１３０５又はＳ１３０７にて取り出したレコードのオブジェクトデータで、取り出したレコードのオブジェクトＩＤが示す描画データ配列５１のオブジェクトデータを置き換える（Ｓ１３３０）。
【０１８９】
また、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形変更）と、Ｓ１３０５又はＳ１３０７にて取り出したレコードのオブジェクトＩＤ及びオブジェクトデータとを送信する（Ｓ１３３１）。このとき、実行前Ｚオーダーも送信してもよい。各クライアント３は、コマンド（図形変更）と、オブジェクトＩＤを内包するオブジェクトデータとを描画サーバ２から受信し、受信したオブジェクトデータに基づいて表示画面７を更新する。
（（リドゥ：図形削除））
【０１９０】
図形削除操作のリドゥ処理では、描画サーバ２は、Ｓ１３０５又はＳ１３０７にて全操作履歴配列５２から取り出したレコードのオブジェクトＩＤと同じオブジェクトＩＤを含むレコードを、描画データ配列５１から削除する（Ｓ１３４０）。
【０１９１】
また、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形削除）と、Ｓ１３０５又はＳ１３０７にて取り出したレコードのオブジェクトＩＤとを送信する（Ｓ１３４１）。このとき、オブジェクトデータは送信しないが、ヌルオブジェクトデータとして送信してもよい。各クライアント３は、コマンド（図形削除）とオブジェクトＩＤとを描画サーバ２から受信し、受信したオブジェクトＩＤに対応する図形を表示画面７から抹消する。
（（リドゥ：全削除））
【０１９２】
全削除操作のリドゥ処理では、描画サーバ２は、描画データ配列５１から全てのレコードを削除する（Ｓ１３５０）。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形全削除）を送信する（Ｓ１３５１）。
【０１９３】
各クライアント３は、コマンド（図形全削除）を描画サーバ２から受信すると、液晶ディスプレイ３２１に表示されている全ての図形を抹消する。
【０１９４】
以上、分散型描画システム１の描画サーバ２の動作及びその描画方法について説明した。この描画サーバ２は、記憶部２１と、ＣＰＵ２３と、を備えている。記憶部２１は、描画データ配列５１と、全操作履歴配列５２と、を格納する。描画データ配列５１は描画スペース（仮想空間）に配置されるオブジェクトデータを登録し、全操作履歴配列５２はオブジェクトデータに実行するユーザ操作毎のレコードを蓄積する。ＣＰＵ２３は、ユーザ操作に対応するコマンドに基づいて、描画データ配列５１及び全操作履歴配列５２を編集する。また、ＣＰＵ２３は、描画データ配列５１に登録されたオブジェクトデータを液晶ディスプレイ３２１に表示させるように制御する。また、全操作履歴配列５２に蓄積されるレコードは、コマンドと、（ユーザ操作後の）オブジェクトデータと、アンドゥ用コマンド（反転コマンド）と、アンドゥ用オブジェクトデータと、を含んで構成される。コマンドはユーザ操作を示しており、アンドゥ用コマンド（反転コマンド）はユーザ操作を取り消すアンドゥ操作（反転操作）を示している。ＣＰＵ２３は、ユーザ操作を取り消すコマンド（アンドゥ）が実行された場合、アンドゥ用コマンドを実行させてアンドゥ用オブジェクトデータを液晶ディスプレイ３２１に表示させる。
【０１９５】
また、上述の描画サーバ２における描画方法では、描画スペース（仮想空間）に配置されるオブジェクトデータが液晶ディスプレイ３２１に表示される。すなわち、オブジェクトデータを登録する描画データ配列５１が、オブジェクトデータに実行するユーザ操作に対応するコマンドに基づいて編集される。また、全操作履歴配列５２が、ユーザ操作に対応するコマンドに基づいて編集される。なお、この全操作履歴配列５２は、コマンドと、（ユーザ操作後の）オブジェクトデータと、アンドゥ用コマンドと、アンドゥ用オブジェクトデータとを含んで構成されるレコードをユーザ操作毎に蓄積している。また、描画データ配列５１に登録されたオブジェクトデータが液晶ディスプレイ３２１に表示される。また、液晶ディスプレイ３２１に表示される際に、ユーザ操作を取り消すコマンド（アンドゥ）が実行された場合、アンドゥ用コマンドが実行されて、アンドゥ用オブジェクトデータが液晶ディスプレイ３２１に表示される。
【０１９６】
これらの構成によれば、ユーザ操作を取り消すコマンド（アンドゥ）が実行された場合、全操作履歴配列５２を全検索することなく、アンドゥ用コマンドを実行させてユーザ操作前のオブジェクトデータを液晶ディスプレイ３２１に表示させることができる。従って、その表示画面を高速に同期して、高速に描画することができる。
【０１９７】
また、上述の描画サーバ２では、ＣＰＵ２３は、ユーザ操作をやり直すコマンド（リドゥ）が実行された場合、ユーザ操作を示すコマンドを実行させてユーザ操作後のオブジェクトデータを液晶ディスプレイ３２１に表示させる。こうすれば、ユーザ操作をやり直すコマンド（リドゥ）が実行された場合、全操作履歴配列５２を全検索することなく、ユーザ操作を示すコマンドを実行させてユーザ操作後のオブジェクトデータを液晶ディスプレイ３２１に表示させることができる。
【０１９８】
また、上述の描画サーバ２では、全操作履歴配列５２に蓄積されるレコードは、さらに、オブジェクトデータにユーザ操作を実行するユーザを示すユーザＩＤを含んで構成される。ＣＰＵ２３は、ユーザ操作を取り消すコマンド（アンドゥ）が実行された場合、アンドゥ用コマンドを実行させてアンドゥ用オブジェクトデータを液晶ディスプレイ３２１に表示させる。なお、この動作は、全操作履歴配列５２に蓄積されているレコードにおいて、当該ユーザ操作を取り消すコマンド（アンドゥ）を実行したユーザのユーザＩＤを含むレコードのうち最新のレコードに基づいて行われる。こうすれば、ユーザは自らが実行した最新のユーザ操作を選択的に取り消すことができる。従って、オブジェクトデータの操作性を向上させることができる。
【０１９９】
さらに、上述の描画サーバ２では、ＣＰＵ２３は、ユーザ操作をやり直すコマンド（リドゥ）が実行された場合、ユーザ操作を示すコマンドを実行させてユーザ操作後のオブジェクトデータを液晶ディスプレイ３２１に表示させる。なお、この動作は、全操作履歴配列５２に蓄積されているレコードにおいて、ユーザ操作をやり直すコマンド（リドゥ）を実行したユーザのユーザＩＤを含むレコードのうち最新のレコードに基づいて行われる。こうすれば、ユーザは自らが実行した最新のユーザ操作を選択的に取り消した（個人アンドゥした）後、そのユーザ操作を再びやり直す（リドゥする）ことができる。従って、オブジェクトデータの操作性をさらに向上させることができる。
【０２００】
また、上述の描画サーバ２は、クライアント３とデータを送受する通信部２２をさらに備える。また、クライアント３は、液晶ディスプレイ３２１、及び、ユーザ操作を受け付けるタッチセンサ部３２２などの入力部のうちの少なくとも一方を備える。描画サーバ２は、当該クライアント３とネットワーク４を介して接続される。こうすれば、ネットワーク４を介して接続されるクライアント３でのオブジェクトデータの外部表示、及び当該クライアント３からのユーザ操作の外部入力の受け付けのうちの少なくとも一方を行うことができる。
（表示画面共有方法）
【０２０１】
次に、描画サーバ２が管理する描画スペースに入室する複数のクライアント３間で表示画面７を共有する表示画面共有方法について説明する。なお、以下では、ユーザＢが使用するクライアント３をクライアント３Ｂと呼ぶ。また、以下では、２つのクライアント３Ａ及び３Ｂ間で表示画面７が共有される例を説明するが、クライアント３Ａ、３Ｂ以外のクライアント３においても同様の方法で表示画面７が共有されることは言うまでもない。
【０２０２】
図３０は、第１実施形態における各クライアントでの表示画面の更新状態を説明するシーケンス図である。なお、図３０の初期状態において、描画スペースには図形オブジェクト（三角形）が配置されており、各クライアント３Ａ、３Ｂの表示画面７にも図形オブジェクト（三角形）が表示されている。
【０２０３】
まず、クライアント３Ｂにおいて、ユーザＢは表示画面７の描画パレット７２３１（図７参照）から四角形の図形サンプルを選択し、描画スペースに追加する図形（四角形）を入力する（ＳＱ１４０１）。
【０２０４】
クライアント３Ｂは、ユーザＢのタッチ入力が終了した時点（たとえばユーザＢの指又はタッチペンがタッチパネル３２から離れた時点）で、ユーザＢのユーザＩＤとその一意な固有値とを利用して、入力された図形（四角形）のオブジェクトＩＤを生成する。また、クライアント３Ｂは、オブジェクトＩＤと、ユーザ入力から抽出したベクトルデータとを紐付けた四角形のオブジェクトデータ（図１５Ｄ参照）を生成して、生成した図形（四角形）を表示画面７に表示する。そして、クライアント３Ｂは、オブジェクトＩＤを内包する図形オブジェクト（四角形）をコマンド（図形追加）とともに描画サーバ２に送信する（ＳＱ１４０２）。
【０２０５】
一方、クライアント３Ａでは、ユーザＡは表示画面７の描画パレット７２３１（図７参照）から円形の図形サンプルを選択し、描画スペースに追加する図形（円形）を入力する（ＳＱ１４０３）。
【０２０６】
クライアント３Ａは、ユーザＡのタッチ入力が終了した時点で、ユーザＡのユーザＩＤとその一意な固有値とを利用して、入力された図形（円形）のオブジェクトＩＤを生成する。また、クライアント３Ａは、オブジェクトＩＤと、ユーザ入力から抽出したベクトルデータとを紐付けた円形のオブジェクトデータ（図１５Ｃ参照）を生成して、生成した図形（円形）を表示画面７に表示する。そして、クライアント３Ａは、オブジェクトＩＤを内包する図形オブジェクト（円形）をコマンド（図形追加）とともに描画サーバ２に送信する（ＳＱ１４０４）。なお、図３０では、ＳＱ１４０４はＳＱ１４０２の後に実行される。
【０２０７】
描画サーバ２は、描画スペースへのオブジェクトの配置と、全クライアント３へのオブジェクトの送信とを、時系列（オブジェクトを受信した順）に処理する。まず、描画サーバ２は、クライアント３Ｂから受信したコマンド（図形追加）に基づく図形追加処理を行ない、図形オブジェクト（四角形）を描画スペースに配置する（ＳＱ１４０５ｓ）。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形追加）と、オブジェクトＩＤを内包する図形オブジェクト（四角形）とを送信する（ＳＱ１４０５）。
【０２０８】
クライアント３Ａは、描画サーバ２から受信したオブジェクトＩＤからユーザＩＤを抽出し、抽出したユーザＩＤとユーザＡのユーザＩＤとが一致するか否か判定する。ここでは、両者は合致しないため、クライアント３Ａは、この図形オブジェクト（四角形）がクライアント３Ａの送信したオブジェクトでないと判定する。従って、クライアント３Ａは、受信した図形オブジェクト（四角形）を保管部３３１に一時的に格納し、表示画面７を更新しない。すなわち、クライアント３Ａは、図形オブジェクト（四角形）を液晶ディスプレイ３２１には表示しない（ＳＱ１４０５ａ）。
【０２０９】
一方、クライアント３Ｂは、描画サーバ２から受信したオブジェクトＩＤからユーザＩＤを抽出し、抽出したユーザＩＤとユーザＢのユーザＩＤとが一致するか否か判定する。ここでは、両者は合致するため、クライアント３Ｂは、この図形オブジェクト（四角形）がクライアント３Ｂの送信したオブジェクトであると判定する。そして、クライアント３Ｂは、受信したオブジェクトＩＤに基づいて既に表示画面７に表示されている図形オブジェクト（四角形）を消去した後、受信した図形オブジェクト（四角形）を表示画面７に改めて表示する（ＳＱ１４０５ｂ）。
【０２１０】
次に、描画サーバ２は、クライアント３Ａから受信したコマンド（図形追加）に基づく図形追加処理を行ない、図形オブジェクト（円形）を描画スペースに配置する（ＳＱ１４０６ｓ）。そして、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形追加）と、オブジェクトＩＤを内包する図形オブジェクト（円形）とを送信する（ＳＱ１４０６）。
【０２１１】
クライアント３Ａは、描画サーバ２から受信したオブジェクトＩＤからユーザＩＤを抽出し、抽出したユーザＩＤとユーザＡのユーザＩＤとが合致するか否か判定する。ここでは、両者は合致するため、クライアント３Ａは、この図形オブジェクト（円形）がクライアント３Ａにより送信されたオブジェクトであると判定する。そして、クライアント３Ａは、受信したオブジェクトＩＤに基づいて既に表示画面７に表示されている図形オブジェクト（円形）を一旦消去する。その後、クライアント３Ａは、保管部３３１に格納されている図形オブジェクト（四角形）、及び図形オブジェクト（円形）を表示すべく、表示画面７を更新する。すなわち、クライアント３Ａは、保管部３３１から取り出した図形オブジェクト（四角形）と、描画サーバ２から受信した図形オブジェクト（円形）とを時系列（描画サーバ２から受信した順）に表示する（ＳＱ１４０６ａ）。
【０２１２】
一方、クライアント３Ｂは、ＳＱ１４０５ｂの時点において、描画サーバ２に送信すべき図形オブジェクト（四角形）の送信を完了しており、且つ、クライアント３Ｂが描画サーバ２に送信した図形オブジェクト（四角形）も描画サーバ２から受信し終えている。そのため、クライアント３Ｂは、図形オブジェクト（円形）のユーザＩＤの確認を行うことなく、受信した図形オブジェクト（円形）を表示画面７に追加表示する（ＳＱ１４０６ｂ）。すなわち、クライアント３Ｂは、このときに受信したオブジェクトＩＤからユーザＩＤを抽出しないし、ユーザＢのユーザＩＤとの判定も行わない。
【０２１３】
以上の手順により、描画サーバ２に接続されている全てのクライアント３の表示画面７には、描画スペースに配置されたオブジェクトが全て表示される。すなわち、全てのクライアント３は、描画スペースと同期した表示画面７を共有することができる。
【０２１４】
なお、上述の表示画面共有方法では、各クライアント３Ａ，３Ｂが送信するオブジェクトが１つである場合について説明している。各クライアント３Ａ、３Ｂが送信するオブジェクトが複数である場合には、たとえばＳＱ１４０６ａと同様の処理が、送信したオブジェクトの一部を受信したときに行われてもよいし、送信したオブジェクトの全てを受信したときに行われてもよい。
【０２１５】
また、上述の表示画面共有方法では、たとえばＳＱ１４０６にて表示画面７を更新した直後に、クライアント３Ａ、３Ｂが描画サーバ２からオブジェクトを受信した場合、直ちに、受信したオブジェクトを表示すべく、表示画面７を更新することも可能である。望ましくは、その所定期間（たとえば、０．５［ｓｅｃ］）の後に表示画面７を更新する。すなわち、この所定期間の間に受信したオブジェクトは保管部３３１に一時的に格納しておき、所定期間の後に保管部３３１に格納したオブジェクトをまとめて時系列に表示すればよい。こうすれば、表示画面７からオブジェクトの表示が消失したかのような不安感をユーザに与えないようにすることがさらに確実にできるし、表示画面７のちらつきなどもより効果的に抑制することができる。
【０２１６】
以上、第１実施形態における分散型描画システム１のクライアント３での表示画面共有方法について説明した。上述のように分散型描画システム１は、描画サーバ２と、描画サーバ２と接続される複数のクライアント３と、を備えている。描画サーバ２は、描画スペース（仮想空間）に配置されるオブジェクトデータを登録する描画データ配列５１を有している。
【０２１７】
また、各クライアント３は、描画スペースに配置されるオブジェクトデータを液晶ディスプレイ３２１に表示する表示端末装置である。また、各クライアント３は、ＩＤ生成部３１１と、送受信部３５と、保管部３３１と、表示制御部３１３と、を備えている。ＩＤ生成部３１１は、当該クライアント３のユーザによって入力されたオブジェクトデータを示すオブジェクトＩＤを、当該クライアント３のユーザを示すユーザＩＤを含んで生成する。送受信部３５は、送信部として機能し、当該クライアント３のユーザによって入力されたオブジェクトデータと、ＩＤ生成部３１１によって生成されたオブジェクトＩＤとを描画サーバ２に送信する。また、送受信部３５は、受信部としても機能し、描画サーバ２からオブジェクトデータと、当該オブジェクトデータを示すオブジェクトＩＤとを受信する。保管部３３１は、送受信部３５が送信したオブジェクトデータを送受信部３５が受信するまでの間、描画サーバ２から受信するオブジェクトデータ及びオブジェクトＩＤを保管する。表示制御部３１３は、送受信部３５によって受信したオブジェクトデータを表示するように、液晶ディスプレイ３２１の表示画面７を更新する。
【０２１８】
また、上述のクライアント３における表示画面共有方法は、描画スペース（仮想空間）に配置されるオブジェクトデータを登録する描画データ配列５１を有する描画サーバ２と接続される複数のクライアント３の表示画面共有方法である。この表示画面共有方法では、クライアント３が、ユーザを示すユーザＩＤを用いて、オブジェクトデータを示すオブジェクトＩＤを生成する。また、クライアント３が、ユーザによって入力されたオブジェクトデータと、オブジェクトＩＤとを描画サーバ２に送信する。また、クライアント３が、描画サーバ２からオブジェクトデータと、当該オブジェクトデータを示すオブジェクトＩＤとを受信する。また、クライアント３が、描画サーバ２に送信したオブジェクトデータを描画サーバ２から受信するまでの間、描画サーバ２から受信するオブジェクトデータ及びオブジェクトＩＤを保管する。そして、クライアント３が、描画サーバ２から受信したオブジェクトデータを表示するように、液晶ディスプレイ３２１の表示画面７を更新する。
【０２１９】
これらの構成によれば、送受信部３５が送信したオブジェクトデータを送受信部３５が受信するまでの間、描画サーバ２から受信するオブジェクトデータ及びオブジェクトＩＤは、保管部３３１に保管される。また、液晶ディスプレイ３２１の表示画面７は更新されずに維持される。すなわち、送信したオブジェクトデータを送受信部３５が受信すると、受信したオブジェクトデータを表示するように、液晶ディスプレイ３２１の表示画面７が更新される。従って、表示制御部３１３が液晶ディスプレイ３２１の表示画面７を更新しても、クライアント３のユーザによって入力されたオブジェクトデータを表示画面７の最上位（最前面）位置に表示することができる。従って、描画サーバ２から受信したオブジェクトデータを表示しても、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。
【０２２０】
また、表示画面７の更新により、描画サーバ２から受信したオブジェクトデータがまとめて表示されるので、オブジェクトデータの表示動作を一度に済ますことができる。従って、表示動作を複数回行う場合に比べて、表示画面７のちらつき等を抑制し、ユーザに違和感を与えないようにすることができる。
【０２２１】
また、上述のクライアント３では、クライアント３はＩＤ判定部３１２をさらに備える。このＩＤ判定部３１２は、描画サーバ２から受信したオブジェクトＩＤに含まれるユーザＩＤがクライアント３のユーザのユーザＩＤと一致するか否かを判定する。また、ＩＤ判定部３１２によってユーザＩＤが一致しないと判定した場合に、表示制御部３１３は、保管部３３１に描画サーバ２から受信したオブジェクトデータとオブジェクトＩＤとを保管する。一方、ＩＤ判定部３１２によってユーザＩＤが一致すると判定した場合に、表示制御部３１３は、保管部３３１に保管されているオブジェクトデータを表示するように、液晶ディスプレイ３２１の表示画面７を更新する。
【０２２２】
こうすれば、描画サーバ２から受信したオブジェクトＩＤに含まれるユーザＩＤがクライアント３のユーザのユーザＩＤと一致する場合には、描画サーバ２から受信したオブジェクトデータとオブジェクトＩＤとが保管部３３１に保管される。そして、液晶ディスプレイ３２１の表示画面７は更新されずに維持される。また、両者が一致しない場合には、保管部３３１に保管されているオブジェクトデータを表示するように、液晶ディスプレイ３２１の表示画面７が更新される。従って、液晶ディスプレイ３２１の表示画面７が更新されても、クライアント３のユーザによって入力されたオブジェクトデータを表示画面７の最上位（最前面）位置により確実に表示することができる。
【０２２３】
また、上述のクライアント３では、表示画面７を更新してから所定期間の間に送受信部３５が描画サーバ２からオブジェクトデータを受信するとき、表示制御部３１３は、描画サーバ２から受信するオブジェクトデータ及びオブジェクトＩＤを保管部３３１に格納する。こうすれば、表示画面７を更新してから所定期間の間、描画サーバ２から受信するオブジェクトデータ及びオブジェクトＩＤは、保管部３３１に保管され、液晶ディスプレイ３２１の表示画面７は更新されずに維持される。従って、さらに確実に、表示画面７の更新により、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。また、表示画面７の更新に起因するちらつきなどもより効果的に抑制することができる。
＜第２実施形態＞
【０２２４】
次に、本実施形態の第２実施形態について説明する。まず、タッチパネル３２にオブジェクトの入力が開始されてから入力されたオブジェクトが描画サーバ２に送信されるまでの間に、送受信部３５が描画サーバ２からオブジェクトを受信したとする。第２実施形態では、このような場合、クライアント３の表示制御部３１３はさらに、受信したオブジェクトを保管部３３１に格納し、表示画面７を更新しない。この動作は、受信したオブジェクトのオブジェクトＩＤが示すユーザＩＤとは無関係に行われる。すなわち、この動作では、ＩＤ判定部３１２は受信したオブジェクトのユーザＩＤの判定を行わない。これら以外は、第１実施形態と同様である。なお、以下では、第２実施形態において、第１実施形態と同様の構成には同じ符号を付し、その省略を説明することがある。
（表示画面共有方法）
【０２２５】
図３１は、第２実施形態における各クライアントでの表示画面の更新状態を説明するシーケンス図である。なお、図３１の初期状態では、描画スペースには図形オブジェクト（三角形）が配置されており、各クライアント３Ａ、３Ｂの表示画面７にも図形オブジェクト（三角形）が表示されている。
【０２２６】
第２実施形態では、ＳＱ１４０５が行われる前に、クライアント３Ａにおいて、ユーザＡが、表示画面７の描画パレット７２３１（図７参照）から円形の図形サンプルを選択し、描画スペースに追加する図形（円形）の入力を開始する（ＳＱ１５０３ａ）。そして、ＳＱ１４０５が行われた後に、図形（円形）の入力が終了する（ＳＱ１５０３ｂ）。
【０２２７】
そのため、ＳＱ１４０５ａにおいて、クライアント３Ａは、描画サーバ２から受信した図形オブジェクト（四角形）を保管部３３１に格納し、表示画面７を更新しない。また、このとき、クライアント３Ａは、図形オブジェクト（四角形）のオブジェクトＩＤからユーザＩＤを抽出しないし、図形オブジェクト（四角形）のユーザＩＤがユーザＡのユーザＩＤと一致するかの判定もしない。
【０２２８】
そして、ＳＱ１５０３ｂにおいて、ユーザＡのタッチ入力が終了すると、クライアント３Ａは、ユーザＡのユーザＩＤとその一意な固有値とを利用して、入力された図形（円形）のオブジェクトＩＤを生成する。また、クライアント３Ａは、オブジェクトＩＤと、ユーザ入力から抽出したベクトルデータとを紐付けた円形のオブジェクトデータ（図１５Ｃ参照）を生成して、生成した図形（円形）を表示画面７に表示する。
【０２２９】
そして、クライアント３Ａは、オブジェクトＩＤを内包する図形オブジェクト（円形）をコマンド（図形追加）とともに描画サーバ２に送信する（ＳＱ１５０４）。
【０２３０】
次に、描画サーバ２は、クライアント３Ａから受信したコマンド（図形追加）に基づく図形追加処理を行ない、図形オブジェクト（円形）を描画スペースに配置する（ＳＱ１４０６ｓ）。また、描画サーバ２は、描画スペースに入室している全てのクライアント３に、コマンド（図形追加）と、オブジェクトＩＤを内包する図形オブジェクト（円形）とを送信する（ＳＱ１４０６）。そして、ＳＱ１４０６ａにおいて、クライアント３Ａは、受信したオブジェクトＩＤに基づいて既に表示画面７に表示されている図形オブジェクト（円形）を一旦消去する。その後、クライアント３Ａは、保管部３３１から取り出した図形オブジェクト（四角形）、及び図形オブジェクト（円形）を表示すべく、表示画面７を更新する。また、ＳＱ１４０６ｂにおいて、クライアント３Ｂは、図形オブジェクト（円形）のユーザＩＤの確認を行うことなく、受信した図形オブジェクト（円形）を表示画面７に追加表示する。
【０２３１】
以上、第２実施形態における分散型描画システム１のクライアント３の動作及びその表示画面共有方法について説明した。上述のように第２実施形態では、保管部３３１は、クライアント３のユーザが液晶ディスプレイ３２１に表示されているオブジェクトデータを編集している間、描画サーバ２から受信したオブジェクトデータ及びオブジェクトＩＤを保管している。こうすれば、ユーザがオブジェクトデータを編集している間、描画サーバ２から受信するオブジェクトデータ及びオブジェクトＩＤは、保管部３３１に保管され、液晶ディスプレイ３２１の表示画面７は更新されずに維持される。従って、より確実に、表示画面７の更新により、既に表示されているオブジェクトデータが消失したかのような不安感をユーザに与えないようにすることができる。また、表示画面７の更新に起因するちらつきなどをより効果的に抑制することができる。
【０２３２】
以上、本発明の実施形態について説明した。なお、上述の実施形態は例示であり、その各構成要素や各処理の組み合わせに色々な変形が可能であり、本発明の範囲にあることは当業者に理解されるところである。
【０２３３】
たとえば、上述の第１及び第２実施形態では、ＩＤ生成部３１１、ＩＤ判定部３１２、及び表示制御部３１３はＣＰＵ３１の機能部として実現されているが、本発明の適用範囲はこの例示に限定されない。これらの全て又は少なくとも一部は、電子回路などの物理的な構成部として実現されていてもよい。
【０２３４】
また、上述の第１及び第２実施形態では、ログインから描画スペース入室までの処理と描画スペースの管理とを同じ描画サーバ２で行なっているが、個別のサーバ装置で行ってもよい。この場合、クライアントの入室（図１８参照）の際にクライアントが得る参加描画スペースリストに描画スペース及び描画サーバ２へのＵＲＬが含まれる。或いは、描画スペース入室結果に描画スペース及び描画サーバ２へのＵＲＬが含まれるようにしてもよい。
【０２３５】
また、上述の第１及び第２実施形態では、描画スペースにおけるプロトコルとしてＷｅｂＳｏｃｋｅｔを用いたが、たとえばＳＰＤＹなどの類似する他のプロトコルを用いてもよい。
【０２３６】
また、上述の第１及び第２実施形態では、本発明を分散型描画システム１に適用した例について説明したが、表示端末装置（たとえばクライアント３）を内蔵する描画装置に適用することも可能である。言い換えると、本発明は、表示端末装置（たとえばクライアント３）として機能する表示端末ユニットを備える描画装置に適用されてもよいし、描画装置（たとえば描画サーバ２）として機能する描画ユニットを備える表示端末装置に適用されてもよい。
【０２３７】
また、上述の第１及び第２実施形態では、表示端末装置（たとえばクライアント３）に無線ＬＡＮアンテナ３６を備える例を示したが、有線ＬＡＮや移動体通信網アンテナと併用、または置き換えられてもよい。
【符号の説明】
【０２３８】
１          分散型描画システム（表示画面共有システム）
２            描画サーバ（描画装置）
２１            記憶部
２２            通信部
２３            ＣＰＵ
３            クライアント（表示端末装置）
３１            ＣＰＵ
３１１            ＩＤ生成部
３１２            ＩＤ判定部
３１３            表示制御部
３２            タッチパネル
３２１            液晶ディスプレイ
３２２            タッチセンサ部
３３            フラッシュＲＯＭ
３３１            保管部
３４            ＲＡＭ
３５            送受信部
３６            無線ＬＡＮアンテナ
４            ネットワーク
５１        描画データ配列
５２        全操作履歴配列
５３        アンドゥ履歴配列
５４        描画バックアップ配列
５５        描画スペーストークン配列
５６        描画スペース接続配列
７          表示画面
７１          オブジェクト表示領域
７２          メニュー表示領域
７２１          線の色選択ボタン
７２１１          線の色選択パレット
７２１２          線の太さ選択パレット
７２２          線の種類選択ボタン
７２２１          線の種類選択パレット
７２３          描画ツールボタン
７２３１          描画パレット
７２３１ａ          フリーハンド表示
７２４          アンドゥボタン
７２４１          アンドゥパレット
７２４１ａ          マイアンドゥボタン
７２４１ｂ          全体アンドゥボタン
７２４１ｃ          リドゥボタン
７２５          クリアボタン
８          ログイン画面
８１          ユーザＩＤ入力部
８２          パスワード入力部
８３          ログインボタン
８４          ユーザ作成ボタン
【図１】
2014102815.tif 000003
【図２】
2014102815.tif 000004
【図３】
2014102815.tif 000005
【図４】
2014102815.tif 000006
【図５】
2014102815.tif 000007
【図６】
2014102815.tif 000008
【図７】
2014102815.tif 000009
【図８】
2014102815.tif 000010
【図９】
2014102815.tif 000011
【図１０】
2014102815.tif 000012
【図１１】
2014102815.tif 000013
【図１２】
2014102815.tif 000014
【図１３】
2014102815.tif 000015
【図１４】
2014102815.tif 000016
【図１５Ａ】
2014102815.tif 000017
【図１５Ｂ】
2014102815.tif 000018
【図１５Ｃ】
2014102815.tif 000019
【図１５Ｄ】
2014102815.tif 000020
【図１５Ｅ】
2014102815.tif 000021
【図１５Ｆ】
2014102815.tif 000022
【図１６】
2014102815.tif 000023
【図１７】
2014102815.tif 000024
【図１８】
2014102815.tif 000025
【図１９】
2014102815.tif 000026
【図２０】
2014102815.tif 000027
【図２１】
2014102815.tif 000028
【図２２】
2014102815.tif 000029
【図２３】
2014102815.tif 000030
【図２４】
2014102815.tif 000031
【図２５】
2014102815.tif 000032
【図２６】
2014102815.tif 000033
【図２７】
2014102815.tif 000034
【図２８】
2014102815.tif 000035
【図２９】
2014102815.tif 000036
【図３０】
2014102815.tif 000037
【図３１】
2014102815.tif 000038