(57)【要約】【課題】複数のユーザによる同時アクセス可能な仮想空間において、何らかの操作を取り消そうと希望する場合には、当該取消対象となった操作を行なったユーザの承諾を得ることで、効率的な共同作業が可能な情報処理方法、情報処理装置およびプログラムを提供する。【解決手段】あるユーザがＵｎｄｏ処理の実行を指示するＵｎｄｏボタンを選択すると、オブジェクトＯＢＪ＿Ｃに対してＵｎｄｏ処理の実行状態になる。オブジェクトＯＢＪ＿Ｃは、Ｕｎｄｏ処理を指示したユーザとは別のユーザの操作により作成されたものであるので、オブジェクトＯＢＪ＿Ｃを作成したユーザに対して、承諾の可否を要求する確認通知を発行する。オブジェクトＯＢＪ＿Ｃを作成したユーザは、この確認通知に対して承諾／非承諾の情報を含む返答情報を応答する。【選択図】図５
2010044511.tif 000002
【特許請求の範囲】
【請求項１】
表示部を含む情報処理装置の複数と記憶部とを用いて、複数のユーザによる同時アクセス可能な仮想空間を提供する情報処理方法であって、
前記情報処理装置が、前記仮想空間のオブジェクトを前記表示部に描画するステップと、
前記情報処理装置が、前記仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を前記記憶部に記憶するステップとを備え、前記履歴情報は、オブジェクトに対する操作を行なったユーザの情報を含み、さらに
前記情報処理装置が、第１ユーザによる操作取消の指示を受けて、前記記憶部の前記履歴情報に基づいて操作取消対象の操作を特定するステップと、
前記情報処理装置が、前記操作取消対象の操作が前記第１ユーザとは別の第２ユーザによって行なわれたものである場合に、前記第２ユーザが承諾したことを条件に、当該操作取消候補についての操作取消を実行するステップとを備える、情報処理方法。
【請求項２】
前記情報処理装置が、前記操作取消対象の操作がいずれのユーザによって行なわれたものであるかを判断するステップと、
前記情報処理装置が、前記操作取消対象の操作が前記第２ユーザによって行なわれたものであると判断された場合に、前記操作取消についての承諾の可否を要求する確認通知を前記第２ユーザへ送信するステップとをさらに備える、請求項１に記載の情報処理方法。
【請求項３】
前記第２ユーザへ送信するステップは、
前記第２ユーザが使用中の情報処理装置を特定するステップと、
前記特定した情報処理装置へ前記確認通知を送信するステップとを含む、請求項２に記載の情報処理方法。
【請求項４】
前記第２ユーザへ送信するステップは、前記第２ユーザの電子メールアドレス宛てに前記確認通知を送信するステップを含む、請求項２に記載の情報処理方法。
【請求項５】
前記情報処理装置が、前記確認通知の送信後、第１ユーザによってなされたオブジェクトに対する操作の履歴情報を派生履歴情報として前記記憶部に記憶するステップと、
前記情報処理装置が、前記第２ユーザが前記操作取消について承諾すると、前記操作取消対象の操作に係るオブジェクトに代えて、前記派生履歴情報に基づくオブジェクトを有効化するステップとをさらに備える、請求項２〜４のいずれか１項に記載の情報処理方法。
【請求項６】
前記派生履歴情報は、前記操作取消対象の操作より１操作分前の履歴情報に関連付けて記憶される、請求項５に記載の情報処理方法。
【請求項７】
前記情報処理装置が、前記第２ユーザが前記操作取消を承諾しないと、当該操作取消候補についての操作取消をキャンセルするとともに、前記派生履歴情報に基づくオブジェクトを前記操作取消対象の操作に係るオブジェクトとは独立して残存させるステップとをさらに備える、請求項５または６に記載の情報処理方法。
【請求項８】
前記情報処理装置が、前記第２ユーザが前記操作取消を承諾しないと、当該操作取消候補についての操作取消をキャンセルするとともに、前記派生履歴情報を破棄するステップとをさらに備える、請求項５または６に記載の情報処理方法。
【請求項９】
前記情報処理装置が、前記派生履歴情報に係るオブジェクトを、他のオブジェクトとは別の表示態様で前記表示部に描画するステップをさらに備える、請求項５〜８のいずれか１項に記載の情報処理方法。
【請求項１０】
他の情報処理装置および記憶部とデータ通信可能に構成され、複数のユーザによる同時アクセス可能な仮想空間を提供する情報処理装置であって、
表示部と、
前記仮想空間のオブジェクトを前記表示部に描画する手段と、
前記仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を前記記憶部に記憶する手段とを備え、前記履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含み、さらに
第１ユーザによる操作取消の指示を受けて、前記記憶部の前記履歴情報に基づいて操作取消対象の操作を特定する手段と、
前記操作取消対象の操作が前記第１ユーザとは別の第２ユーザによって行なわれたものである場合に、前記第２ユーザが承諾したことを条件に、当該操作取消候補についての操作取消を実行する手段とを備える、情報処理装置。
【請求項１１】
表示部を含む情報処理装置の複数と記憶部とを用いて、複数のユーザによる同時アクセス可能な仮想空間を提供するためのプログラムであって、
前記プログラムは、前記情報処理装置に、
前記仮想空間のオブジェクトを前記表示部に描画するステップと、
前記仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を前記記憶部に記憶するステップとを実行させ、前記履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含み、さらに
第１ユーザによる操作取消の指示を受けて、前記記憶部の前記履歴情報に基づいて操作取消対象の操作を特定するステップと、
前記操作取消対象の操作が前記第１ユーザとは別の第２ユーザによって行なわれたものである場合に、前記第２ユーザが承諾したことを条件に、当該操作取消候補についての操作取消を実行するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のユーザが共同作業を行なうことが可能なワークスペースを提供する情報処理方法、情報処理装置およびそのプログラムに関する。
【背景技術】
【０００２】
複数のユーザによる共同作業を効率化するためにワークスペースと呼ばれるアプリケーションが提供されている。このワークスペースは、複数のユーザが同時にアクセス可能な仮想空間であり、ネットワーク接続などの互いにデータ通信可能に構成された複数の情報処理装置の間でデータが共有されることで実現される。一般的に、このようなワークスペースでは、テキスト、線、画像といったオブジェクトの単位でデータが共有される。
【０００３】
ところで、情報処理装置で実行される多くのアプリケーションでは、一旦行なった操作を元の状態に戻す（取り消す）機能、いわゆる「Ｕｎｄｏ機能」が実装されている。この機能によれば、試行錯誤しながら作業を進めていく上で、作業をより効率化できる。
【０００４】
上述のようなワークスペースにおいてもＵｎｄｏ機能が実装される。たとえば、特開平１１−２８８４２８号公報（特許文献１）には、複数の設計者がチーム形式で行なう設計作業において各設計者が行なう各操作の内容を履歴情報として共通の履歴情報記憶手段に順次記録するとともに履歴情報の履歴情報記憶手段への記録順に基づいて直前の操作を取り消すためのアンドゥ機能を提供するＣＡＤシステムが開示されている。このＣＡＤシステムでは、設計者がアンドゥ機能を実行したときに当該設計者が行った直前の操作を取り消すことができる。
【特許文献１】特開平１１−２８８４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ワークスペースでは、複数のユーザがリアルタイムに共同作業を行っているので、あるユーザが何らかのオブジェクトに対して行った変更などの操作を別のユーザが取り消したい場合も存在する。そのため、各操作を行ったユーザのみが、当該操作を取り消すことができるような構成では、効率的な作業を実現できない。
【０００６】
一方で、当該オブジェクトの操作を行ったユーザのあずかり知らないところで、別のユーザによって操作が取り消されると、当該操作を行ったユーザおよび取消操作を行なったユーザの間で意思疎通ができず、結果としてスムーズな共同作業を妨げるおそれもある。
【０００７】
また、上述の特開平１１−２８８４２８号公報（特許文献１）に開示されたＣＡＤシステムでは、単に設計者単位で操作取消ができる機能を提供するのみであり、上述のような相反する両課題を解決するものではなかった。
【０００８】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、複数のユーザによる同時アクセス可能な仮想空間において、何らかの操作を取り消そうと希望する場合には、当該取消対象となった操作を行なったユーザの承諾を得ることで、効率的な共同作業が可能な情報処理方法、情報処理装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００９】
この発明のある局面に従えば、表示部を含む情報処理装置の複数と記憶部とを用いて、複数のユーザによる同時アクセス可能な仮想空間を提供する情報処理方法を提供する。情報処理方法は、情報処理装置による、仮想空間のオブジェクトを表示部に描画するステップと、仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を記憶部に記憶するステップと、第１ユーザによる操作取消の指示を受けて、記憶部の履歴情報に基づいて操作取消対象の操作を特定するステップと、操作取消対象の操作が第１ユーザとは別の第２ユーザによって行なわれたものである場合に、第２ユーザが承諾したことを条件に、当該操作取消候補についての操作取消を実行するステップとを含む。ここで、履歴情報は、オブジェクトに対する操作を行なったユーザの情報を含む。
【００１０】
好ましくは、情報処理方法は、情報処理装置による、操作取消対象の操作がいずれのユーザによって行なわれたものであるかを判断するステップと、操作取消対象の操作が第２ユーザによって行なわれたものであると判断された場合に、操作取消についての承諾の可否を要求する確認通知を第２ユーザへ送信するステップとをさらに含む。
【００１１】
さらに好ましくは、第２ユーザへ送信するステップは、第２ユーザが使用中の情報処理装置を特定するステップと、特定した情報処理装置へ確認通知を送信するステップとを含む。
【００１２】
あるいは、さらに好ましくは、第２ユーザへ送信するステップは、第２ユーザの電子メールアドレス宛てに確認通知を送信するステップを含む。
【００１３】
好ましくは、情報処理方法は、情報処理装置による、確認通知の送信後、第１ユーザによってなされたオブジェクトに対する操作の履歴情報を派生履歴情報として記憶部に記憶するステップと、第２ユーザが操作取消について承諾すると、操作取消対象の操作に係るオブジェクトに代えて、派生履歴情報に基づくオブジェクトを有効化するステップとをさらに含む。
【００１４】
さらに好ましくは、派生履歴情報は、操作取消対象の操作より１操作分前の履歴情報に関連付けて記憶される。あるいは、派生履歴情報を操作取消対象の操作そのものに関連付けることも可能である。すなわち、派生履歴情報を時系列に並べることが可能であれば、どのような関連付けを行なってもよい。
【００１５】
さらに好ましくは、情報処理方法は、情報処理装置による、第２ユーザが操作取消を承諾しないと、当該操作取消候補についての操作取消をキャンセルするとともに、派生履歴情報に基づくオブジェクトを操作取消対象の操作に係るオブジェクトとは独立して残存させるステップとをさらに含む。
【００１６】
さらに好ましくは、情報処理方法は、情報処理装置による、第２ユーザが操作取消を承諾しないと、当該操作取消候補についての操作取消をキャンセルするとともに、派生履歴情報を破棄するステップとをさらに含む。
【００１７】
好ましくは、情報処理方法は、情報処理装置による、派生履歴情報に係るオブジェクトを、他のオブジェクトとは別の表示態様で表示部に描画するステップをさらに含む。
【００１８】
この発明の別の局面に従えば、他の情報処理装置および記憶部とデータ通信可能に構成され、複数のユーザによる同時アクセス可能な仮想空間を提供する情報処理装置を提供する。情報処理装置は、表示部と、仮想空間のオブジェクトを表示部に描画する手段と、仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を記憶部に記憶する手段と、第１ユーザによる操作取消の指示を受けて、記憶部の履歴情報に基づいて操作取消対象の操作を特定する手段と、操作取消対象の操作が第１ユーザとは別の第２ユーザによって行なわれたものである場合に、第２ユーザが承諾したことを条件に、当該操作取消候補についての操作取消を実行する手段とを含む。ここで、履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含む。
【００１９】
この発明のさらに別の局面に従えば、表示部を含む情報処理装置の複数と記憶部とを用いて、複数のユーザによる同時アクセス可能な仮想空間を提供するためのプログラムを提供する。プログラムは、情報処理装置に、仮想空間のオブジェクトを表示部に描画するステップと、仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を記憶部に記憶するステップと、第１ユーザによる操作取消の指示を受けて、記憶部の履歴情報に基づいて操作取消対象の操作を特定するステップと、操作取消対象の操作が第１ユーザとは別の第２ユーザによって行なわれたものである場合に、第２ユーザが承諾したことを条件に、当該操作取消候補についての操作取消を実行するステップとを実行させる。ここで、履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含む。
【発明の効果】
【００２０】
この発明によれば、複数のユーザによる同時アクセス可能な仮想空間において、何らかの操作を取り消そうと希望する場合には、当該取消対象となった操作を行なったユーザの承諾を得ることで、効率的な共同作業を実現する。
【発明を実施するための最良の形態】
【００２１】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２２】
［実施の形態１］
（ワークスペースの全体構成）
図１は、この発明の実施の形態１に従うワークスペースを提供するためのシステムの概略構成図である。
【００２３】
図１を参照して、本実施の形態に従うシステムは、ネットワークＮＷを介して互いにデータ通信可能に接続されたデバイスである複数の情報処理装置ＰＣ１〜ＰＣ３（以下、「情報処理装置ＰＣ」あるいは「ノード」とも総称する。）を含む。さらに、本実施の形態に従うシステムでは、後述するユーザ認証を行なうために、情報処理装置の別形態であるサーバ装置ＳＲＶが同一のネットワークＮＷにデータ通信可能に接続されている。なお、これらの機能がいずれかの情報処理装置ＰＣで提供される場合には、このサーバ装置ＳＲＶを省略することもできる。
【００２４】
これらの情報処理装置ＰＣ１〜ＰＣ３は、後述するワークスペースデータを共有することで、複数のユーザによる同時アクセス可能な仮想空間を提供する。すなわち、いずれかの情報処理装置ＰＣ上でユーザ操作によってワークスペースデータが更新されると、当該更新後のワークスペースデータが他の情報処理装置ＰＣにも送信される。このような同期処理が随時行われることで、すべての情報処理装置ＰＣ間で実質的に同一のワークスペースデータが共有されることになる。なお、複数の情報処理装置ＰＣがワークスペースデータを個々に保持する構成に代えて、特定の１台の情報処理装置ＰＣ（マスター）のみがワークスペースデータを保持し、他の情報処理装置ＰＣ（スレーブ）が当該マスターの情報処理装置ＰＣに対してデータアクセスをするような構成を採用することもできる。
【００２５】
なお、それぞれの情報処理装置ＰＣは、論理的に相互にデータ通信可能であれば、必ずしも同一階層のネットワークに接続されている必要はない。
【００２６】
（ハードウェア構成）
図２は、この発明の実施の形態１に従う情報処理装置ＰＣの代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
【００２７】
図２を参照して、本実施の形態１に従う情報処理装置ＰＣは、オペレーティングシステムを含む各種プログラムを実行するＣＰＵ２０１と、ＣＰＵ２０１でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ部２１３と、ＣＰＵ２０１で実行されるプログラムを不揮発的に記憶するハードディスク部（ＨＤＤ）２１１とを含む。このようなプログラムは、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）ドライブ２１５またはフレキシブルディスク（ＦＤ：Flexible Disk）ドライブ２１７によって、それぞれＣＤ−ＲＯＭ２１５ａまたはフレキシブルディスク２１７ａなどから読取られる。
【００２８】
ＣＰＵ２０１は、キーボードやマウスなどからなる入力装置２０９を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を表示部であるモニター２０５へ出力する。また、ＣＰＵ２０１は、ＬＡＮカードなどからなる通信インターフェイス２０７を介して、他の情報処理装置ＰＣやサーバ装置ＳＲＶとの間でデータ通信を行なう。なお、これらの部位は、内部バス２０３を介して互いに接続される。
【００２９】
また、サーバ装置ＳＲＶのハードウェア構成についても、図２と同様であるので、詳細な説明は繰返さない。
【００３０】
（ワークスペース）
本明細書において「ワークスペース」とは、複数のユーザによる同時アクセス可能な仮想空間を意味し、ワークスペースは、ワークスペースデータおよび当該ワークスペースデータに含まれる任意数のオブジェクトデータなどによって提供される。なお、本明細書中では、ワークスペースデータおよびオブジェクトデータなどをレンダリング（可視化）したものを「ワークスペース」という場合もある。
【００３１】
図３は、この発明の実施の形態１に従うワークスペースの一例を模式的に示した図である。
【００３２】
図３（ａ）には、可視化されたワークスペースＷＳの全体像を示す。このワークスペースＷＳには、一例として、３つのオブジェクトＯＢＪが含まれているとする。なお、オブジェクトＯＢＪは、ユーザによる各操作の対象となる対象物の単位であり、具体的には、文字を示すテキストオブジェクト、描画を示す線オブジェクト、イメージを示す画像オブジェクトといった任意の電子的に取扱可能な情報を用いることができる。
【００３３】
ワークスペースＷＳのサイズは自在に設定することができ、一般的に、各情報処理装置ＰＣのモニター２０５の表示サイズに比較して大きくなるように設定される。そのため、各情報処理装置ＰＣのモニター２０５には、図２（ａ）および図２（ｂ）に示すようにワークスペースＷＳの一部の領域だけがレンダリング（可視化）される。以下では、各情報処理装置ＰＣのモニター２０５に表示される領域をＶｉｅｗ範囲（視野範囲）ＶＡと称する。
【００３４】
図２（ｂ）を参照して、各情報処理装置ＰＣのモニター２０５には、ワークスペースＷＳのうち、ユーザにより指定されたＶｉｅｗ範囲内のオブジェクトを描画したＶｉｅｗ表示ウィンドウ３００が表示される。このＶｉｅｗ表示ウィンドウ３００上には、Ｖｉｅｗ範囲ＶＡをワークスペースＷＳのいずれの位置に配置するかを指定するためのＶｉｅｗ位置指定ウィンドウ３０２、およびワークスペースＷＳにおける各種操作を行なうためのツールボックス３０４が表示される。
【００３５】
すなわち、ユーザは、キーボードやマウスなどからなる入力装置２０９を用いて、Ｖｉｅｗ位置指定ウィンドウ３０２を選択および操作することで、Ｖｉｅｗ範囲ＶＡの位置を適宜指定する。また、ユーザは、キーボードやマウスなどからなる入力装置２０９を用いて、ツールボックス３０４に含まれる各種操作ボタンを選択したり、表示されるオブジェクトを選択してドラッグしたりすることで、各オブジェクトの新規作成・変更・削除といった操作が可能である。
【００３６】
図４は、この発明の実施の形態１に従うワークスペースを提供するためのデータ構造を示す模式図である。
【００３７】
図４を参照して、データ構造には、ワークスペース名、オブジェクトデータのファイル名などを記述したワークスペースデータ２６２ａが含まれる。なお、ワークスペースデータ２６２ａには、ワークスペースのサイズに関する情報を含めてもよい。このワークスペースデータ２６２ａに対応付けて、各オブジェクトを記述するオブジェクトデータ２６２ｂが設けられる。このオブジェクトデータ２６２ｂは、ユーザがワークスペース上で新たなオブジェクトを追加した場合に新規作成される。さらに、各オブジェクトデータ２６２ｂに対応付けて、履歴情報が設けられる。この履歴情報は、ユーザによってなされたオブジェクトに対する操作の内容を順次記憶したものである。そのため、履歴情報は、オブジェクトに対して何らかの操作がなされれば、新規作成もしくはその内容が更新される。なお、後述するように、本実施の形態に従う履歴情報は、「通常」タイプと「派生」タイプとに区別される。また、これらの各データの詳細な内容については、後述する。
【００３８】
（Ｕｎｄｏ機能の概要）
本実施の形態に従うＵｎｄｏ機能では、あるユーザの操作により作成されたオブジェクトに対して別のユーザがＵｎｄｏ処理を指示すると、当該オブジェクトを作成したユーザの確認（承諾）が得られた場合に限って、当該指示されたＵｎｄｏ処理を実行する。なお、上述したように、各オブジェクトについて、経歴情報として過去になされた操作が時系列的に記憶されているので、このＵｎｄｏ処理では、この過去になされた各操作が最新のものから順に元に戻される、すなわち取り消されることになる。以下の説明では、Ｕｎｄｏ処理対象の一操作（履歴情報の各々）を「Ｕｎｄｏ処理対象履歴」とも称し、またＵｎｄｏ処理対象に係るオブジェクト自体を「Ｕｎｄｏ処理対象オブジェクト」とも称す。
【００３９】
さらに、本実施の形態に従うＵｎｄｏ機能では、Ｕｎｄｏ処理対象を作成したユーザの確認（承諾）が得られるまでの間、Ｕｎｄｏ処理を指示したユーザが操作を継続できるように、Ｕｎｄｏ処理に引き続く操作を暫定的に実行可能にする。
【００４０】
図５は、この発明の実施の形態１に従うワークスペースで提供されるＵｎｄｏ機能を説明するための図である。
【００４１】
図５（ａ）を参照して、一例として、ワークスペースＷＳ上にオブジェクトＯＢＪ＿Ａ，ＯＢＪ＿Ｂ，ＯＢＪ＿Ｃが既に作成されているとする。オブジェクトＯＢＪ＿Ｃは、「赤色」の矢印であり、情報処理装置ＰＣ１のユーザとは別のユーザの操作により作成されたものとする。
【００４２】
ここで、情報処理装置ＰＣ１のユーザがオブジェクトＯＢＪ＿Ｃの矢印の向きおよび色を変更することを希望する場合について説明する。
【００４３】
まず、情報処理装置ＰＣ１のユーザは、図５（ｂ）に示すように、入力装置２０９を操作して、Ｖｉｅｗ範囲ＶＡ（図３）をオブジェクトＯＢＪ＿Ｃが表示される位置にセットした上で、ツールボックス３０４のＵｎｄｏ処理の実行を指示するボタン（以下、「Ｕｎｄｏボタン」とも称す。）を選択する。すると、オブジェクトＯＢＪ＿Ｃに対してＵｎｄｏ処理の実行状態になる。すなわち、オブジェクトＯＢＪ＿ＣがＵｎｄｏ処理対象オブジェクトとなる。このとき、オブジェクトＯＢＪ＿Ｃは、情報処理装置ＰＣ１のユーザとは別のユーザの操作により作成されたものであるので、オブジェクトＯＢＪ＿Ｃを作成したユーザに対して、承諾の可否を要求する通知（以下、「確認通知」とも称す。）を発行する。後述するように、オブジェクトＯＢＪ＿Ｃを作成したユーザは、この確認通知に対して承諾／非承諾の情報を含む返答情報を応答する。
【００４４】
しかしながら、オブジェクトＯＢＪ＿Ｃを作成したユーザが必ずしも同一のワークスペースＷＳ上で作業しているとは限らないので、返答情報を即座に応答できない場合もある。そこで、本実施の形態に従うＵｎｄｏ機能では、他のユーザからの承諾が得られるまでの間、Ｕｎｄｏ処理の実行を指示したユーザがＵｎｄｏ処理に引き続く操作を暫定的に実行可能にする。
【００４５】
具体的には、図５（ｃ）に示すように、Ｕｎｄｏ処理を指示したユーザは、オブジェクトＯＢＪ＿Ｃの代わりに配置することを希望する任意のオブジェクトＯＢＪ＿Ｄ（オブジェクトＯＢＪ＿Ｃと配置位置および矢印の向きが異なる）を新たに作成することが可能である。さらに、図５（ｄ）に示すように、情報処理装置ＰＣ１のユーザは、オブジェクトの色属性の変更を指示するボタンを選択して、オブジェクトＯＢＪ＿Ｄの色を変更することも可能である。
【００４６】
なお、Ｕｎｄｏ処理対象のオブジェクトＯＢＪ＿Ｃは、未確定のＵｎｄｏ処理対象であることを示すように、別の表示態様（たとえば、より薄い色）で表示される。
【００４７】
さらに、このオブジェクトＯＢＪ＿Ｄが暫定的に作成されたものであることを示す「派」のマークＩＤＣがオブジェクトＯＢＪ＿Ｄに近接して表示される。このマークＩＤＣは、このオブジェクトＯＢＪ＿Ｄが未確定のＵｎｄｏ処理対象オブジェクトから派生したものであることを示す。この派生の技術的意味については、後述する。
【００４８】
さらに、オブジェクトＯＢＪ＿Ｃを作成したユーザからＵｎｄｏ処理に対して「ＯＫ」（承諾）との返答情報が送信されると、図５（ｅ）に示すように、Ｕｎｄｏ処理対象のオブジェクトＯＢＪ＿Ｃの操作が取り消され（すなわち、Ｕｎｄｏ処理が実行され）、オブジェクトＯＢＪ＿ＣがワークスペースＷＳ上から破棄される。そして、オブジェクトＯＢＪ＿Ｃが暫定的に作成されたオブジェクトＯＢＪ＿Ｄに置換される。
【００４９】
一方、オブジェクトＯＢＪ＿Ｃを作成したユーザからＵｎｄｏ処理に対して「ＮＧ」（非承諾）との返答情報が送信されると、図５（ｆ）に示すように、Ｕｎｄｏ処理対象のオブジェクトＯＢＪ＿Ｃはそのまま存続するとともに、暫定的に作成されたオブジェクトＯＢＪ＿Ｄは、オブジェクトＯＢＪ＿Ｃとは独立したオブジェクトとしてワークスペースＷＳ上に存在する。あるいは、ユーザ選択によって、暫定的に作成されたオブジェクトＯＢＪ＿Ｄを破棄するようにしてもよい。
【００５０】
（情報処理装置の制御構造）
図６は、この発明の実施の形態１に従う各情報処理装置ＰＣの制御構造を示すブロック図である。
【００５１】
図６を参照して、各情報処理装置ＰＣは、その制御構造として、データ操作部２５２と、Ｖｉｅｗ作成部２５４と、描画部２５６と、Ｕｎｄｏ処理部２５８と、オブジェクト抽出部２６０と、データ格納部２６２と、同期処理部２６４と、送受信部２６６と、ユーザ認証部２７０とを含む。データ格納部２６２は、ハードディスク部２１１（図２）の任意の領域として提供され、送受信部２６６は、通信インターフェイス２０７（図２）および関連するドライバソフトの共同によって提供され、その他の各部は、代表的に、ＣＰＵ２０１（図２）がプログラムをメモリ部２１３（図２）に展開し、各コマンドを実行することで提供される。
【００５２】
また、データ格納部２６２は、互いに関連付けられた、ワークスペースデータ２６２ａと、オブジェクトデータ２６２ｂと、履歴情報２６２ｃとを含む。
【００５３】
データ操作部２５２は、ユーザによる入力装置２０９の操作に従って、対象のオブジェクトについてのオブジェクトデータ２６２ｂおよび履歴情報２６２ｃの新規作成・変更・削除を行なう。このとき、データ操作部２５２は、後述するユーザ認証部２７０からのユーザ情報に基づいて、各操作について、いずれのユーザによってなされた操作であるかを履歴情報２６２ｃに記述する。すなわち、履歴情報２６２ｃには、各オブジェクトに対する操作を行なったユーザの情報が記述される。また、データ操作部２５２は、後述するＵｎｄｏ処理部２５８からの指令に従って、対象のオブジェクトデータ２６２ｂの内容を更新する。これにより、対象のオブジェクトに対する操作が取り消される。
【００５４】
Ｖｉｅｗ作成部２５４は、データ格納部２６２に記憶されているワークスペースデータ２６２ａ、オブジェクトデータ２６２ｂ、履歴情報２６２ｃを参照して、ユーザにより指定されたＶｉｅｗ範囲に含まれるオブジェクトなどの情報を描画部２５６へ出力する。
【００５５】
描画部２５６は、Ｖｉｅｗ作成部２５４から出力されるＶｉｅｗ範囲に含まれるオブジェクトなどの情報に基づいて、描画処理（レンダリング処理）を行なう。すなわち、描画部２５６は、ワークスペースのうちＶｉｅｗ範囲内のオブジェクトを可視化したＶｉｅｗ表示ウィンドウ３００（図３（ｂ）参照）を生成する。より具体的には、描画部２５６は、オブジェクトなどの情報に基づいて、モニター２０５（図２）に表示すべき画像を示すデータを図示しないビデオメモリに周期的に出力する。このビデオメモリに格納されるデータに応じて、モニター２０５には画像が表示される。
【００５６】
Ｕｎｄｏ処理部２５８は、本実施の形態に従うＵｎｄｏ機能の主たる部分を提供する。具体的には、Ｕｎｄｏ処理部２５８は、後述するオブジェクト抽出部２６０により抽出された履歴情報のうち、自装置を使用中のユーザ自身の操作により生成されたものに対しては、無条件に操作を取り消すための指令をデータ操作部２５２へ与える。一方、自装置を使用中の（ログインしている）ユーザとは別のユーザが操作した履歴情報に対しては、当該ユーザからＵｎｄｏ処理についての承諾を得た上で、Ｕｎｄｏ処理対象オブジェクトに対する操作を取り消すための指令をデータ操作部２５２へ与える。Ｕｎｄｏ処理部２５８の詳細な制御構造については、後述する。
【００５７】
オブジェクト抽出部２６０は、ユーザ操作によってＵｎｄｏ処理が指示されると、Ｖｉｅｗ作成部２５４からの情報に基づいて、自装置におけるＶｉｅｗ範囲の位置を取得するとともに、データ格納部２６２内のオブジェクトデータ２６２ｂおよび履歴情報２６２ｃを参照してＵｎｄｏ処理対象履歴（または、Ｕｎｄｏ処理オブジェクト）を抽出する。このとき、当該Ｖｉｅｗ範囲に存在するオブジェクトに関する履歴情報２６２ｃがＵｎｄｏ処理対象履歴となる。
【００５８】
同期処理部２６４は、ワークスペースを提供するワークスペースデータ２６２ａ、オブジェクトデータ２６２ｂ、履歴情報２６２ｃを他の情報処理装置ＰＣとの間で同期する。すなわち、同期処理部２６４は、自装置においてワークスペースデータ２６２ａ、オブジェクトデータ２６２ｂ、履歴情報２６２ｃのいずれかが追加または更新されると、追加または更新後の各データの全部または差分を、ワークスペースデータを共有している他の情報処理装置ＰＣへそれぞれ送信する。また、同期処理部２６４は、他の情報処理装置ＰＣから追加または更新後のデータの全部または差分を受信すると、それに応じて、自装置のデータ格納部２６２に記憶されているデータを更新する。
【００５９】
送受信部２６６は、他の情報処理装置ＰＣおよびサーバ装置ＳＲＶとの間のデータ通信を制御する。具体的には、送受信部２６６は、Ｕｎｄｏ処理部２５８および同期処理部２６４からの要求に応じて必要なメッセージを送信したり、他の情報処理装置ＰＣまたはサーバ装置ＳＲＶから受信したデータをＵｎｄｏ処理部２５８または同期処理部２６４へ与えたりする。
【００６０】
ユーザ認証部２７０は、各情報処理装置ＰＣを使用するユーザに対するユーザ認証処理を実行する。具体的には、ユーザ認証部２７０は、いずれかのユーザが各情報処理装置ＰＣの使用開始時に、ＩＤおよびパスワードの入力を促す。そして、ユーザからＩＤおよびパスワードの入力があると、サーバ装置ＳＲＶ（図１）に問合せを行ってユーザ認証を行なう。ユーザ認証が成功すると、ユーザによる当該情報処理装置ＰＣの使用を許可するとともに、現在使用中（ログイン中）のユーザ名を保持する。なお、各情報処理装置ＰＣを使用するユーザを識別できればよいので、パスワードを必ずしも要求しなくてもよい。
【００６１】
（Ｕｎｄｏ処理部）
図７は、図６に示すＵｎｄｏ処理部２５８のより詳細な制御構造を示すブロック図である。
【００６２】
図７を参照して、Ｕｎｄｏ処理部２５８は、派生操作表示部２５８１と、確認通知処理部２５８２と、返答処理部２５８３とを含む。
【００６３】
派生操作表示部２５８１は、後述する派生操作に係るオブジェクトおよび派生操作を示すマークなどを表示するための表示データを生成する。
【００６４】
確認通知処理部２５８２は、Ｕｎｄｏ処理対象履歴が指示されたオブジェクトが自装置を使用中のユーザ自身によって生成されたものか否かを判断し、自装置を使用中のユーザとは別のユーザが操作して作成されたＵｎｄｏ処理対象履歴に対してＵｎｄｏ処理が指示された場合には、当該Ｕｎｄｏ処理対象履歴の操作を行ったユーザに対して、当該Ｕｎｄｏ処理に対する承諾を得るための確認通知を送信し、さらに当該別のユーザからの返答情報を受信する。さらに、この返答情報の内容に応じて、派生操作として暫定的に生成されたオブジェクトの状態を確定する。より具体的には、確認通知処理部２５８２は、派生履歴情報生成部２５８ａと、確認通知生成部２５８ｂと、確認通知送信部２５８ｃと、返答情報受信部２５８ｄと、Ｕｎｄｏ処理実行部２５８ｅとを含む。
【００６５】
派生履歴情報生成部２５８ａは、他のユーザに対する確認通知を送信した後、当該他のユーザからの返答情報が送信されるまでの間、Ｕｎｄｏ処理を指示したユーザが、当該指示したＵｎｄｏ処理に引き続いて操作を行なうと、その操作に係る履歴情報（派生履歴情報）を生成し、データ格納部２６２に記憶する。なお、派生履歴情報は、基本的には各オブジェクトの履歴情報と同様のデータ構造を有しており、内部データとして、「派生」タイプであることを示す情報（タグ）が付加されている点が異なっている。
【００６６】
確認通知生成部２５８ｂは、データ格納部２６２に記憶されているＵｎｄｏ処理対象履歴を参照して、その操作者を特定する。そして、この特定した操作者が使用する（ログインしている）情報処理装置ＰＣに対して、Ｕｎｄｏ処理の確認（承諾）をとるためのデータ（代表的に、ポップアップウィンドウを表示するための表示データ）を生成する。
【００６７】
確認通知送信部２５８ｃは、確認通知生成部２５８ｂが生成したデータを確認通知（たとえば、ＸＭＬ（Extensible Markup Language）などのマークアップ言語のフォーマット）として、Ｕｎｄｏ処理対象履歴の操作者が使用する情報処理装置ＰＣへ送信する。
【００６８】
さらに、確認通知送信部２５８ｃは、後述するように、Ｕｎｄｏ処理対象履歴の操作者からの要求に応じて、Ｕｎｄｏ処理前とＵｎｄｏ処理後のワークスペースＷＳ上におけるオブジェクトの状態を示す比較画面を生成し、Ｕｎｄｏ処理対象履歴の操作者が使用する情報処理装置ＰＣへ送信する。
【００６９】
返答情報受信部２５８ｄは、後述するように、確認通知を受信したＵｎｄｏ処理対象履歴の操作者が、確認通知の画面上で「ＯＫ」（承諾）または「ＮＧ」（非承諾）を選択することで送信される返答情報を受信し、その返答情報の内容をＵｎｄｏ処理実行部２５８ｅへ出力する。
【００７０】
Ｕｎｄｏ処理実行部２５８ｅは、返答情報受信部２５８ｄが「ＯＫ」（承諾）との返答情報を受信すると、Ｕｎｄｏ処理対象履歴を無効化し（操作自体を取り消し）、派生操作によって生成されたオブジェクトが存在すれば、この派生操作によって生成されたオブジェクトをＵｎｄｏ処理対象オブジェクトに代えて、ワークスペースＷＳ上で有効化する。一方、返答情報受信部２５８ｄが「ＮＧ」（非承諾）との返答情報を受信すると、Ｕｎｄｏ処理をキャンセルし、派生操作によって生成されたオブジェクトが存在すれば、この派生操作によって生成されたオブジェクトを独立したオブジェクトとしてワークスペースＷＳ上で有効化する、あるいは派生操作によって生成されたオブジェクトを破棄する。
【００７１】
また、Ｕｎｄｏ処理実行部２５８ｅは、Ｕｎｄｏ処理対象履歴が自装置を使用中のユーザ自身の操作により生成されたものであれば、無条件に、Ｕｎｄｏ処理対象履歴を無効化する（操作自体を取り消す）。
【００７２】
返答処理部２５８３は、他の情報処理装置ＰＣから確認通知を受信すると、自装置を使用中のユーザ（Ｕｎｄｏ処理対象履歴の操作者）に対して、当該確認通知を表示するとともに、当該確認通知に対して自装置を使用中のユーザが入力する「ＯＫ」（承諾）または「ＮＧ」（非承諾）を受付け、当該選択入力に応じた返答情報を確認通知の送信元の情報処理装置ＰＣへ送信する。より具体的には、返答処理部２５８３は、確認通知表示部２５８ｆと返答情報送信部２５８ｇとを含む。
【００７３】
確認通知表示部２５８ｆは、他の情報処理装置ＰＣから受信した確認通知に基づいて、特定のオブジェクトについての履歴情報がＵｎｄｏ処理対象であること、および当該Ｕｎｄｏ処理対象に対する「ＯＫ」（承諾）または「ＮＧ」（非承諾）の入力が促す画面を表示する。なお、このような画面は、情報処理装置ＰＣを使用中のユーザに対して一方的に情報表示することが可能なポップアップウィンドウなどを用いることが好ましい。また、確認通知表示部２５８ｆは、他の情報処理装置ＰＣから受信した比較画面を表示する。
【００７４】
返答情報送信部２５８ｇは、確認通知表示部２５８ｆが表示する画面上に対して、自装置を使用中のユーザ（Ｕｎｄｏ処理対象履歴の操作者）が入力する「ＯＫ」（承諾）または「ＮＧ」（非承諾）に応じて、対応する返答情報（たとえば、ＸＭＬフォーマット）を確認通知の送信元の情報処理装置ＰＣへ送信する。
【００７５】
（データ構造）
各情報処理装置ＰＣのデータ格納部２６２に記憶される各データの構造について、図８〜図１０を参照して説明する。各データは、代表的に、ＸＭＬなどのマークアップ言語で記述される。これは、タグ（＜＞と＜／＞とで囲まれる文字に与える属性）を自在に設定することでシステムの拡張性を高めるためである。
【００７６】
（１−１）ワークスペースデータ
図８は、この発明の実施の形態１に従うワークスペースデータ２６２ａの内容の一例を示す図である。図８を参照して、ワークスペースデータ２６２ａは、当該ワークスペースを特定するための識別番号（ＩＤ）４０１と、当該ワークスペースの名称であるワークスペース名４０２と、当該ワークスペースに含まれるオブジェクトを特定するためのオブジェクトデータ番号４０３とを含む。
【００７７】
オブジェクトデータ番号４０３は、ユーザ操作によってワークスペース上に追加されたオブジェクトに応じて順次追記される。なお、ワークスペースに一旦オブジェクトが追加されると、たとえその後、当該オブジェクトが削除されたとしても、特段の処理がなされない限り、オブジェクトデータ番号４０３の記述自体は残存する。これは、後述するように、Ｕｎｄｏ機能を提供するためには、各オブジェクトの履歴情報を残しておく必要があるからである。
【００７８】
（１−２）オブジェクトデータ
図９は、この発明の実施の形態１に従うオブジェクトデータ２６２ｂの内容の一例を示す図である。図９を参照して、オブジェクトデータ２６２ｂは、図８に示すワークスペースデータ２６２ａに記述されるオブジェクトデータ番号４０３に対応付けて生成される。すなわち、各オブジェクトデータ２６２ｂは、ワークスペースデータ２６２ａのオブジェクトデータ番号４０３（図８）と対応付けられた識別番号（ＩＤ）４０５を含む。さらに、各オブジェクトデータ２６２ｂは、当該オブジェクトの名称であるオブジェクト名４０６と、当該オブジェクトについての履歴情報を特定するための履歴情報番号４０７とを含む。この履歴情報番号４０７は、後述する履歴情報の識別番号と対応付けられた番号である。なお、履歴情報の識別番号は任意に設定することができるが、本実施の形態では、時系列に識別番号が増加、すなわち新しいものほど大きな識別番号であるとする。
【００７９】
（１−３）履歴情報
図１０は、この発明の実施の形態１に従う履歴情報２６２ｃの内容の一例を示す図である。図１０を参照して、履歴情報２６２ｃは、図９に示すオブジェクトデータ２６２ｂに記述された履歴情報番号４０７と対応付けて生成される。すなわち、オブジェクトデータ２６２ｂの履歴情報番号４０７（図９）と対応付けられた識別番号（ＩＤ）４０９を含む。さらに、各履歴情報２６２ｃは、当該履歴情報の名称である履歴名４１０と、通常の履歴情報であるか派生履歴情報であるかを示す履歴タイプ情報４１１と、当該履歴の操作された内容を示す動作タイプ情報４１２と、当該履歴の操作がなされた時刻を示す動作時刻情報４１３と、当該履歴の操作がなされた位置情報（各座標）を示す動作場所情報４１４と、当該履歴の操作を行ったユーザ（操作者）を示す動作操作者情報４１５と、派生履歴情報がいずれの（通常の）履歴情報に引き続くのかを示す派生履歴情報４１６と、対応のオブジェクトの詳細な情報を示すオブジェクト詳細情報４１７とを含む。
【００８０】
履歴タイプ情報４１１には、対応する履歴情報が「通常」タイプの履歴情報であれば「通常」の値が記述され、対応する履歴情報が「派生」タイプの履歴情報（派生履歴情報）であれば「派生」の値が記述される。このように、派生履歴情報は、通常の履歴情報と基本的なデータ構造は共通である。また、派生履歴情報が独立したオブジェクトとして有効化される場合には、この履歴タイプ情報４１１に記述された値が「派生」から「通常」に変更される。
【００８１】
動作タイプ情報４１２には、対応のオブジェクトについてなされた操作の内容、たとえば「（新規）作成」、「移動」、「サイズ変更」、「削除」などの値が記述される。
【００８２】
動作時刻情報４１３には、ユーザが各オブジェクトに対して操作を行った時刻が記述される。なお、履歴情報２６２ｃは、ユーザが各オブジェクトに対して１回の操作（たとえば、１回の移動動作）を行なう毎に新規作成される。
【００８３】
動作場所情報４１４には、ユーザが各オブジェクトに対して操作を行った位置情報（開始位置または終点位置）の値が記述される。
【００８４】
動作操作者情報４１５には、各オブジェクトに対して操作をおこなったユーザを特定するための値が記述される。このユーザを特定するための値としては、ユーザ認証部２７０（図６）が保持するユーザ認証されたユーザ名などが用いられる。
【００８５】
派生履歴情報４１６には、履歴情報がＵｎｄｏ処理対象とされた場合に、当該Ｕｎｄｏ処理対象の履歴情報に引き続く派生履歴情報との時系列上の関係を特定するための識別情報が記述される。
【００８６】
オブジェクト詳細情報４１７には、各オブジェクトを規定する情報が記述される。たとえば、対応のオブジェクトが線オブジェクト（オブジェクトタイプが「線」）であれば、そのアウトラインを示すベクトルデータ（始点、終点、アンカーポイント、曲率）などが記述される。また、対応のオブジェクトが画像オブジェクト（オブジェクトタイプが「・・・．ｊｐｇ」）であれば、その画像データを特定するためのファイル名などが記述される。
【００８７】
なお、上述の例では、各オブジェクトデータと対応する履歴情報とは、互いにリンク付けした別のファイル（データ）として取扱う構成について説明したが、各オブジェクトデータに履歴情報を含ませた同一のファイル（データ）としてもよい。
【００８８】
あるいは、各オブジェクトが履歴情報を有している必要はなく、履歴情報はリスト的に保持されており、オブジェクトはその履歴情報に対するリンク情報をもつようにしてもよい。
【００８９】
（Ｕｎｄｏ処理の処理手順）
図１１および図１２は、この発明の実施の形態１に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。なお、図１１は、Ｕｎｄｏ処理対象の履歴情報の操作者がＵｎｄｏ処理に対して「ＯＫ」（承諾）を選択する場合の処理を示し、図１２は、Ｕｎｄｏ処理対象の履歴情報の操作者がＵｎｄｏ処理に対して「ＮＧ」（非承諾）を選択する場合の処理を示す。なお、図１１と図１２との間では、ステップＳ２〜Ｓ４２の処理を共通とするので、以下では主として図１１を参照して説明する。
【００９０】
なお、ユーザＡが情報処理装置ＰＣ１を使用しており、ユーザＢが情報処理装置ＰＣ２を使用しているものとして説明を行なう。すなわち、ユーザＡおよびＢがそれぞれユーザ認証手続きを経て、情報処理装置ＰＣ１およびＰＣ２に正規にログインしているものとする。
【００９１】
また、図１１および図１２に示す各処理手順は、代表的に、情報処理装置ＰＣ１およびＰＣ２のＣＰＵ２０１（図２）の各々がプログラムを実行することで提供される。
【００９２】
さらに、情報処理装置ＰＣ１およびＰＣ２の各々では、ワークスペースのうち各ユーザにより指定されたＶｉｅｗ範囲内のオブジェクトがモニター２０５（図２）に逐次描画される。また、情報処理装置ＰＣ１およびＰＣ２の各々では、ワークスペースＷＳ上で各ユーザがいずれかのオブジェクトに対する操作を行なうと、それについての履歴情報２６２ｃが順次記憶される。
【００９３】
（１．ユーザによるＵｎｄｏボタンの押下）
まず、ワークスペースＷＳ上のいずれかのオブジェクトに対するＵｎｄｏ処理を希望するユーザＡは、使用中の情報処理装置ＰＣ１の入力装置２０９を操作して、Ｖｉｅｗ範囲ＶＡを対象とするオブジェクトが表示（描画）される位置にセットする（図３参照）。その上で、ユーザは、ツールボックス３０４（図３や図５参照）のＵｎｄｏボタンを押下する（ステップＳ２）。
【００９４】
（２．履歴情報の抽出・ソート）
Ｕｎｄｏボタンの押下に応答して、情報処理装置ＰＣ１は、データ格納部２６２に記憶されている履歴情報２６２ｃ（図６）を参照し、その動作場所情報４１４（図１０）の値が自装置のＶｉｅｗ範囲に含まれる履歴情報２６２ｃを抽出する。さらに、情報処理装置ＰＣ１は、抽出した履歴情報２６２ｃのそれぞれを対応する動作時刻情報４１３（図１０）に基づいて動作時刻順に並び替える（ソートする）（ステップＳ４）。すなわち、情報処理装置ＰＣ１は、Ｖｉｅｗ範囲内に存在する（あるいは、存在した）オブジェクトの履歴情報をＵｎｄｏ処理対象履歴の候補として抽出する。
【００９５】
図１３は、この発明の実施の形態１に従う履歴情報の一例を示す図である。図１４は、図１３に示す履歴情報から抽出・ソートされた結果の一例を示す図である。
【００９６】
一例として、ワークスペース上に、「オブジェクトＡ」（ＩＤ＝１）、「オブジェクトＢ」（ＩＤ＝２）、「オブジェクトＣ」（ＩＤ＝３）の３つのオブジェクトが配置されているものとする。そして、図１３は、これらのオブジェクトの履歴情報２６２ｃに記述された内容を簡潔に表形式で示したものである。なお、図１３において、各履歴情報についての左側の枠には、上から順に「動作タイプ情報４１２」、「動作時刻情報４１３」、「動作操作者情報４１５」の値が示されているものとする。また、各履歴情報についての右側の枠には、上から順に「動作場所情報４１４」の「Ｘ座標値」および「Ｙ座標値」が示されているものとする。
【００９７】
なお、図１３に示す表は説明の便宜上のものであり、図１３と同じデータ構造のデータを生成する必要はない。
【００９８】
このような各オブジェクトについての履歴情報に対して、情報処理装置ＰＣ１は、自装置のＶｉｅｗ範囲内にあるものを抽出する。たとえば、自装置におけるＶｉｅｗ位置情報の各頂点の座標が（４２１，３８５），（６１０，３８５），（４２１，５１８），（６１０，５１８）である場合には、動作場所情報４１４のＸ座標値が４２１〜６１０の範囲であり、かつＹ座標値が３８５〜５１８の範囲であるものが抽出される。
【００９９】
なお、図１３に示す例では、すべての履歴情報が自装置のＶｉｅｗ範囲内にあるものとして抽出される。
【０１００】
さらに、情報処理装置ＰＣ１は、抽出した履歴情報を、対応する動作時刻情報４１３の値に基づいて新しい順に並び替える。図１４には、上述のような抽出およびソート後の履歴情報の一例が示される。これらの履歴情報に係る各操作がＵｎｄｏ処理対象履歴の候補となる。
【０１０１】
図１５は、図１１および図１２に示すステップＳ４におけるより詳細な処理手順を示すフローチャートである。図１５に示す各処理手順は、代表的に、情報処理装置ＰＣ１およびＰＣ２のＣＰＵ２０１（図２）の各々がプログラムを実行することで提供される。
【０１０２】
図１５を参照して、情報処理装置ＰＣ１は、自装置において、ユーザがＵｎｄｏボタンを押下したか否かを判断する（ステップＳ４０１）。Ｕｎｄｏボタンが押下されていなければ（ステップＳ４０１においてＮＯ）、ステップＳ４０１の処理が繰返される。一方、Ｕｎｄｏボタンが押下された場合（ステップＳ４０１においてＹＥＳの場合）には、処理はステップＳ４０２に進む。
【０１０３】
ステップＳ４０２では、情報処理装置ＰＣ１は、自装置におけるＶｉｅｗ範囲の情報（各頂点の座標）を取得する。続いて、情報処理装置ＰＣ１は、データ格納部２６２に記憶されている履歴情報２６２ｃ（図６）を抽出し（ステップＳ４０３）、その動作場所情報４１４（図１０）の値が取得したＶｉｅｗ範囲内であるか否かを判断する（ステップＳ４０４）。その動作場所情報４１４（図１０）の値が取得したＶｉｅｗ範囲内でない場合（ステップＳ４０４においてＮＯの場合）には、処理はステップＳ４０６へ進む。
【０１０４】
その動作場所情報４１４（図１０）の値が取得したＶｉｅｗ範囲内である場合（ステップＳ４０４においてＹＥＳの場合）には、当該抽出した履歴情報２６２ｃをリストに追加する（ステップＳ４０５）。そして、処理はステップＳ４０６へ進む。
【０１０５】
ステップＳ４０６では、データ格納部２６２に記憶されているすべての履歴情報２６２ｃが抽出されたか否かを判断する。すべての履歴情報２６２ｃが抽出されていない場合（ステップＳ４０６においてＮＯの場合）には、データ格納部２６２に記憶されている次の履歴情報２６２ｃが抽出され（ステップＳ４０７）、ステップＳ４０４以下の処理が繰返される。
【０１０６】
すべての履歴情報２６２ｃが抽出された場合（ステップＳ４０６においてＹＥＳの場合）には、リストに挙げられた履歴情報２６２ｃのそれぞれについて、各動作時刻情報４１３の値に基づいて動作時刻順にソートする（ステップＳ４０８）。そして、処理は終了する。
【０１０７】
（３．Ｕｎｄｏ処理対象履歴の操作者についての判断）
再度、図１１を参照して、ソートされた履歴情報２６２ｃのうち最上位のもの（すなわち、その動作時刻情報の値が最新のもの）がＵｎｄｏ処理対象履歴に設定される。たとえば、図１４に示す例では、最も新しいオブジェクトＣ（３）に係る履歴情報が最初のＵｎｄｏ処理対象履歴に設定される。
【０１０８】
続いて、Ｕｎｄｏ処理対象履歴の動作操作者情報４１５（図１０）の値を参照して、Ｕｎｄｏ処理対象履歴情報の操作者が特定される。さらに、情報処理装置ＰＣ１は、この操作者が自装置を使用するユーザ（この場合には、ユーザＡ）と一致するか否かを判断する（ステップＳ６）。すなわち、情報処理装置ＰＣ１は、Ｕｎｄｏ処理対象履歴がＵｎｄｏ処理を指示したユーザの操作によって作成されたものであるか否かを判断する。
【０１０９】
そして、Ｕｎｄｏ処理対象履歴の操作者がユーザＡである場合（ステップＳ６においてＹＥＳの場合）には、当該Ｕｎｄｏ処理対象履歴に対するＵｎｄｏ処理（取消操作）が無条件に実行される（ステップＳ８）。さらに、ユーザによってＵｎｄｏボタンが再度押下されると（ステップＳ１０）、ステップＳ６以下の処理が繰返し実行される。
【０１１０】
これに対して、Ｕｎｄｏ処理対象履歴の操作者がユーザＡでない場合（ステップＳ６においてＮＯの場合）には、後述する確認通知処理（ステップＳ１２〜Ｓ３０）が実行される。
【０１１１】
たとえば、図１４に示す例では、最も新しいオブジェクトＣ（３）に係る履歴情報の操作者はユーザＡであるため、情報処理装置ＰＣ１のユーザＡがＵｎｄｏボタンを１回押下すると、この履歴情報に対するＵｎｄｏ処理は無条件に実行される。さらに、情報処理装置ＰＣ１のユーザＡがＵｎｄｏボタンを再度押下すると、２番目に新しいオブジェクトＣ（３）に係る履歴情報の操作者はユーザＢであるため、ユーザＢが使用している情報処理装置ＰＣ２へ確認通知が送信される。
【０１１２】
（４．派生操作処理）
Ｕｎｄｏ処理対象履歴の操作者がＵｎｄｏ処理を指示したユーザとは異なる場合には、当該Ｕｎｄｏ処理対象履歴の操作者の承諾が得られた後に、Ｕｎｄｏ処理が実行されるが、このＵｎｄｏ処理対象履歴の操作者の承諾が得られるまでの間に、Ｕｎｄｏ処理を指示したユーザは、当該Ｕｎｄｏ処理に引き続く編集などの派生操作を暫定的に実行可能である。
【０１１３】
後述するように確認通知がＵｎｄｏ処理対象履歴の操作者に送信されると、Ｕｎｄｏ処理対象履歴に係るオブジェクトは、Ｕｎｄｏ処理対象であることを示すように、異なった表示態様（たとえば、より薄い色）で表示される。本実施の形態に従うＵｎｄｏ機能では、この状態においてユーザＡによる操作（派生操作）が可能である。
【０１１４】
再度、図１１を参照して、確認通知送信（ステップＳ１４）の後、ユーザＡが派生操作を行なう（ステップＳ４０）と、派生履歴情報が生成される（ステップＳ４２）。ここでは、Ｕｎｄｏ処理対象履歴に対するＵｎｄｏ処理が実行されたものとみなして、その状態からの履歴情報が派生履歴情報として時系列に記憶される。すなわち、派生操作は、Ｕｎｄｏ処理対象履歴の１操作前の（１操作分だけ古い）状態と関連付けて記憶される。
【０１１５】
たとえば、図１４に示す例において、２番目に新しいオブジェクトＣ（３）がＵｎｄｏ処理対象履歴に設定されており、このＵｎｄｏ処理対象履歴に対するユーザＢの確認待ち状態であるとすると、この状態で、ユーザＡが何らかの操作（たとえば、新たなオブジェクトの作成など）を行なうと、３番目に新しいオブジェクトＢ（２）に係る履歴情報と関連付けて、この新たに作成されたオブジェクトに係る履歴情報が派生履歴情報として記憶される。
【０１１６】
図１６は、図１４に示す履歴情報においてユーザＡのＵｎｄｏ処理の指示に伴って生成される派生履歴情報の一例を示す模式図である。図１７は、図１６に示す履歴情報および派生履歴情報の内容の一例を示す図である。
【０１１７】
図１６（ａ）を参照して、最も新しいオブジェクトＣ（３）に係る履歴情報に対するＵｎｄｏ処理が実行済であり、かつ２番目に新しいオブジェクトＣ（３）がＵｎｄｏ処理の確認中であるとする。ここで、ユーザＡが新たなオブジェクトＤ（４）を作成し（たとえば、図５（ｄ）参照）、さらにこの作成したオブジェクトＤ（４）に対して変更を加える（たとえば、図５（ｅ）参照）操作を行った場合には、図１６（ｂ）に示すように、３番目に新しいオブジェクトＢ（２）に係る履歴情報と関連付けて、オブジェクトＤ（４）に係る派生履歴情報が時系列に生成される。
【０１１８】
より具体的には、図１７（ａ）に示すように、派生履歴情報２６２ｄとしては、履歴タイプ情報４１１の値として「派生」が記述された履歴情報が生成される。当然のことながら、動作操作者情報４１５の値としては、このオブジェクトＤの作成する操作を行った「ユーザＡ」が記述される。図１７（ｂ）に示すように、関連する履歴情報２６２ｃとしては、この派生履歴情報２６２ｄとの対応関係を規定するために、派生履歴情報４１６として、派生履歴情報２６２ｄの識別番号４０９の値である「１２５」が記述される。
【０１１９】
また、Ｕｎｄｏ処理を指示したユーザがＵｎｄｏ処理対象履歴の操作者の確認がとれるまでの間にさらに別の操作を行った場合には、それらの操作に応じた派生履歴情報が順次生成される。
【０１２０】
（５．確認通知処理）
（ｉ）確認通知生成・送信
再度、図１１を参照して、Ｕｎｄｏ処理対象履歴の操作者がユーザＡでない場合（ステップＳ６においてＮＯの場合）には、情報処理装置ＰＣ１は、ユーザＢによるＵｎｄｏ処理の実行に対する確認を求めるための確認通知を生成する（ステップＳ１２）。そして、情報処理装置ＰＣ１は、作成した確認通知を情報処理装置ＰＣ２へ送信する（ステップＳ１４）。なお、情報処理装置ＰＣ１は、Ｕｎｄｏ処理対象履歴の操作者がユーザＢであることを特定した上で、ユーザ認証を行なうサーバ装置ＳＲＶなどに問い合わせて、ユーザＢが使用している情報処理装置ＰＣ２を特定する。
【０１２１】
この確認通知を受信した情報処理装置ＰＣ２は、この確認通知に基づいて、ユーザＢが操作者である履歴情報がＵｎｄｏ処理対象であることを提示し、かつ当該Ｕｎｄｏ処理対象に対する「ＯＫ」（承諾）または「ＮＧ」（非承諾）の選択を促す画面（ポップアップウィンドウ）を表示する（ステップＳ１６）。
【０１２２】
図１８は、この発明の実施の形態１に従う承諾の可否の入力を促す画面の一例を示す図である。
【０１２３】
図１８を参照して、ポップアップウィンドウ５００には、いずれのユーザからＵｎｄｏ処理の確認要求が到着したかを示すメッセージ部５０２と、Ｕｎｄｏ処理の実行を承諾する「ＯＫ」ボタン５０４と、Ｕｎｄｏ処理の実行を承諾しない「ＮＧ」ボタン５０６とが配置される。
【０１２４】
さらに、ポップアップウィンドウ５００には、対象のＵｎｄｏ処理前とＵｎｄｏ処理後のワークスペースＷＳ上におけるオブジェクトの状態を示す比較画面を表示するための参照リンク情報５０８が配置される。
【０１２５】
図１９は、図１８に示すポップアップウィンドウ５００を表示するためのソースコードの一例を示す図である。
【０１２６】
図１９を参照して、ポップアップウィンドウ５００を表示するためのソースコード５１０は、当該ソースコードを特定するための識別番号（ＩＤ）５１１と、Ｕｎｄｏ処理確認の要求元のユーザ名を示すＦｒｏｍ情報５１２と、Ｕｎｄｏ処理確認の要求先のユーザ名を示すＴｏ情報５１３と、Ｕｎｄｏ処理の承諾の可否についての選択項目５１４と、参照リンク情報５０８を表示するための参照情報５１５とを含む。なお、参照情報５１５としては、確認処理の送信元の情報処理装置ＰＣ１についてのアドレスであってもよいし、サーバ装置ＳＲＶについてのアドレスであってもよい。
【０１２７】
（ｉｉ）確認通知表示・比較画面表示
再度、図１１を参照して、ユーザＢが情報処理装置ＰＣ２の入力装置２０９を操作して、ポップアップウィンドウ５００（図１８）の参照リンク情報５０８を押下すると（ステップＳ１８）、情報処理装置ＰＣ２から情報処理装置ＰＣ１へ参照リンク要求が送信される（ステップＳ２０）。この参照リンク要求を受けて、情報処理装置ＰＣ１は、Ｕｎｄｏ処理前とＵｎｄｏ処理後のワークスペースＷＳ上におけるオブジェクトの状態を示す比較画面を生成し（ステップＳ２２）、この生成した比較画面を表示するための比較画面データを情報処理装置ＰＣ２へ送信する（ステップＳ２４）。情報処理装置ＰＣ２は、この比較画面データに基づいて比較画面をユーザＢに表示する（ステップＳ２６）。
【０１２８】
図２０は、この発明の実施の形態１に従う比較画面の一例および比較画面の生成処理を説明するための図である。
【０１２９】
図２０（ａ）に示すように、比較画面５２０には、Ｕｎｄｏ処理の実行前におけるワークスペースＷＳの状態をレンダリングした処理前イメージ５２２とＵｎｄｏ処理の実行後におけるワークスペースＷＳの状態をレンダリングした処理後イメージ５２４とが表示される。また、Ｕｎｄｏ処理の実行を承諾する「ＯＫ」ボタン５０４と、Ｕｎｄｏ処理の実行を承諾しない「ＮＧ」ボタン５０６とが同一画面内に配置される。
【０１３０】
この処理前イメージ５２２は、図１４に示すような履歴情報（図２０（ｂ）参照）に基づいて生成され、処理後イメージ５２４は、図１４に示す履歴情報のＵｎｄｏ処理対象履歴が派生履歴情報に置換された後の履歴情報（図２０（ｃ）参照）に基づいて生成される。
【０１３１】
なお、このような比較画面５２０は、確認通知の送信元の情報処理装置によって必ずしも生成される必要はなく、確認通知の受信元の情報処理装置（この場合には、情報処理装置ＰＣ２）が生成してもよく、あるいはサーバ装置ＳＲＶが生成してもよい。なお、これらの場合には、参照リンク情報５０８（図１８）のリンク先がそれぞれ情報処理装置ＰＣ２およびサーバ装置ＳＲＶとなる。
【０１３２】
（ｉｉｉ）返答情報生成・送信
再度、図１１を参照して、情報処理装置ＰＣ２において表示されるポップアップウィンドウ５００または比較画面５２０上で、ユーザが「ＯＫ」ボタン５０４、または「ＮＧ」ボタン５０６を押下すると（ステップＳ２８）、確認通知に対する返答情報が情報処理装置ＰＣ２から確認通知の要求元である情報処理装置ＰＣ１へ送信される（ステップＳ３０）。
【０１３３】
この返答情報には、ユーザ選択によって入力された「ＯＫ」（承諾）または「ＮＧ」（非承諾）の情報が付加される。
【０１３４】
図２１は、「ＯＫ」が選択された場合に送信される返答情報の内容を示す図である。
図２１を参照して、返答情報５３０は、当該返答情報を特定するための識別番号（ＩＤ）５３１と、返答情報の送信元のユーザ名を示すＦｒｏｍ情報５３２と、返答情報の送信先のユーザ名を示すＴｏ情報５３３と、Ｕｎｄｏ処理に対するユーザ選択の内容を示すＵｎｄｏ処理確認情報５３４とを含む。このＵｎｄｏ処理確認情報５３４には、Ｕｎｄｏ処理対象履歴の操作者が選択した内容を示す値（「ＯＫ」または「ＮＧ」）が記述される。
【０１３５】
なお、上述の確認通知処理は、上述の派生履歴情報と並行かつ独立して実行される。
（６．Ｕｎｄｏ処理実行）
図１１および図１２を参照して、Ｕｎｄｏ処理対象履歴の操作者であるユーザから返答情報が送信されると（ステップＳ３０）、その返答情報の内容に応じて、Ｕｎｄｏ処理が実行される。より具体的には、Ｕｎｄｏ処理に対して「ＯＫ」（承諾）である旨の返答情報が送信されると、図１１に示すように、対象のＵｎｄｏ処理を実行するとともに、派生履歴操作に係るオブジェクトとして有効化される（ステップＳ４４）。すなわち、Ｕｎｄｏ処理対象履歴が取り消される（無効化される）とともに、派生操作がなされていれば、Ｕｎｄｏ処理対象履歴に係るオブジェクトに代えて、その派生操作のすべてを反映したオブジェクトが生成される。このとき、図２２（ａ）に示すように、Ｕｎｄｏ処理についての承諾が得られたのでＵｎｄｏ処理を実行する旨を、Ｕｎｄｏ処理を指示したユーザに通知してもよい。このポップアップウィンドウ５４０には、Ｕｎｄｏ処理についての確認がとれたことを示すメッセージ部５４２と、当該メッセージを確認したことを示す「ＯＫ」ボタン５４４とが配置される。なお、このユーザへの通知（ポップアップウィンドウ５４０の表示）は必ずしも必要ではない。
【０１３６】
一方、Ｕｎｄｏ処理に対して「ＮＧ」（非承諾）である旨の返答情報が送信されると、図１２に示すように、Ｕｎｄｏ処理が対象の操作者によって承諾されなかったことをＵｎｄｏ処理の指示をしたユーザに通知するとともに、派生操作をどのように取り扱うかを当該ユーザに問い合わせる（ステップＳ５０）。ここで、派生操作を新規操作として取り扱うことが選択されると、Ｕｎｄｏ処理自体がキャンセルされるとともに、その派生操作に対応する新規オブジェクトとして有効化される（ステップＳ５２）。一方、派生操作を破棄することが選択されると、Ｕｎｄｏ処理自体がキャンセルされるとともに、その派生操作も破棄される（ステップＳ５４）。
【０１３７】
図１２のステップＳ５０に示す派生操作の取り扱いについての問い合わせは、図２２（ｂ）に示すようなポップアップウィンドウ５５０により提供される。このポップアップウィンドウ５５０には、Ｕｎｄｏ処理が承諾されなかったことを示すメッセージ部５５２と、派生操作を新規操作として取り扱うことを選択するための「新規操作」ボタン５５４と、派生操作を破棄することを選択するための「破棄」ボタン５５６とが配置される。
【０１３８】
最後に、図１１のステップＳ４４、ならびに図１２のステップＳ５２およびＳ５４における履歴情報および派生履歴情報の取り扱いについて図２３〜図２５を参照して説明する。
【０１３９】
図２３は、Ｕｎｄｏ処理の実行が承諾された場合の処理内容を説明するための図である。図２４は、Ｕｎｄｏ処理の実行が承諾されず、かつ派生操作が新規操作として選択された場合の処理内容を説明するための図である。図２５は、Ｕｎｄｏ処理の実行が承諾されず、かつ派生操作の破棄が選択された場合の処理内容を説明するための図である。なお、図２３〜図２５は、図１４に示す履歴情報および図１６に示す派生履歴情報に基づく処理例を示す。
【０１４０】
図２３（ａ）を参照して、オブジェクトＯＢＪ＿ＣがＵｎｄｏ処理対象であり、このオブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理の確認中にオブジェクトＯＢＪ＿Ｄが派生操作により作成されたとする。その後、オブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理が承諾されると、オブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理が実行される。この結果、オブジェクトＯＢＪ＿Ｃに対する操作が取り消され、これに代えて、派生操作によって生成されたオブジェクトＯＢＪ＿Ｄが有効化される。また、Ｕｎｄｏ処理が実行されることで、「派」の表示も消える。図２３（ｂ）を参照して、図２３（ａ）のようなＵｎｄｏ処理の実行に伴って、オブジェクトＯＢＪ＿Ｃ（オブジェクトＣ（３））に関する履歴情報がオブジェクトＯＢＪ＿Ｄに関する派生履歴情報に置換される。
【０１４１】
図２４（ａ）を参照して、オブジェクトＯＢＪ＿ＣがＵｎｄｏ処理対象であり、このオブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理の確認中にオブジェクトＯＢＪ＿Ｄが作成されたとする。その後、オブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理が承諾されず、Ｕｎｄｏ処理を指示したユーザが派生操作を新規操作として取り扱うことを選択すると、オブジェクトＯＢＪ＿Ｃはそのまま存続するとともに、オブジェクトＯＢＪ＿Ｄが新規オブジェクトとして有効化される。また、Ｕｎｄｏ処理が実行されることで、「派」の表示も消える。図２４（ｂ）を参照して、図２４（ａ）のようなＵｎｄｏ処理の実行に伴って、オブジェクトＯＢＪ＿Ｃ（オブジェクトＣ（３））に関する履歴情報はそのまま存続するとともに、オブジェクトＯＢＪ＿Ｄに関する派生履歴情報が履歴情報として追加される。
【０１４２】
図２５（ａ）を参照して、オブジェクトＯＢＪ＿ＣがＵｎｄｏ処理対象であり、このオブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理の確認中にオブジェクトＯＢＪ＿Ｄが作成されたとする。その後、オブジェクトＯＢＪ＿Ｃに対するＵｎｄｏ処理が承諾されず、Ｕｎｄｏ処理を指示したユーザが派生操作を破棄することを選択すると、オブジェクトＯＢＪ＿Ｃはそのまま存続するとともに、オブジェクトＯＢＪ＿Ｄは破棄される。また、Ｕｎｄｏ処理が実行されることで、「派」の表示も消える。図２５（ｂ）を参照して、図２５（ａ）のようなＵｎｄｏ処理の実行に伴って、オブジェクトＯＢＪ＿Ｃ（オブジェクトＣ（３））に関する履歴情報はそのまま存続するとともに、オブジェクトＯＢＪ＿Ｄに関する派生履歴情報が破棄される。
【０１４３】
（本実施の形態における効果）
本実施の形態によれば、複数のユーザによる同時アクセス可能なワークスペースにおいて、いずれかのオブジェクトに対するＵｎｄｏ処理が指示された場合に、当該Ｕｎｄｏ処理対象の操作がＵｎｄｏ処理を指示したユーザとは別のユーザが実行したものである場合には、当該操作を行なったユーザの承諾したことを条件に、当該Ｕｎｄｏ処理が実行される。そのため、Ｕｎｄｏ処理対象となった操作を行なったユーザがあずかり知らないところで、Ｕｎｄｏ処理が実行されているといった事態を防止することができる。
【０１４４】
この結果、Ｕｎｄｏ処理対象の操作を行なった操作者に迷惑を掛けることなく、複数のユーザ間で効率的な共同作業を行なうができる。
【０１４５】
また、本実施の形態によれば、Ｕｎｄｏ処理の確認を行なっている間に、Ｕｎｄｏ処理を指示したユーザによる暫定的な操作（派生操作）を行なうことが可能であり、かつＵｎｄｏ処理に対する承諾／非承諾が選択されると、当該派生操作に係るオブジェクトが有効化される。そのため、共同作業する各ユーザの作業を止めることなく、スムーズな共同作業を行なうことができる。さらに、派生操作に係るオブジェクトについては、ワークスペース上で未確定（暫定的）であることを示すマークが表示されるため、ユーザが確定されたものと勘違いすることを防止できる。
【０１４６】
［実施の形態２］
上述した実施の形態１では、Ｕｎｄｏ処理対象履歴の操作者がいずれかの情報処理装置ＰＣにログインしていることを前提とする構成について例示したが、対象の操作者がいずれかの情報処理装置ＰＣにログインしているとは限らない。そこで、確認通知の送信手段として、たとえば、電子メールを用いてもよい。以下、本実施の形態では、電子メールを用いて確認通知を送信する形態について例示する。
【０１４７】
本実施の形態に従うシステムの概略構成および各情報処理装置ＰＣの概略構成については、それぞれ上述した図１および図２と同様であるので、詳細な説明は繰返さない。
【０１４８】
図２６は、この発明の実施の形態２に従うシステムにおいて送信される確認通知の内容の一例を示す図である。
【０１４９】
図２６を参照して、この確認通知（メール）には、Ｕｎｄｏ処理の実行を承諾する（「ＯＫ」）ためのスクリプトへのリンク情報、およびＵｎｄｏ処理の実行を承諾しない（「ＮＧ」）ためのスクリプトへのリンク情報が記述されている。これらのリンク情報が選択されると、図１８に示すポップアップウィンドウ５００上に表示される「ＯＫ」ボタン５０４、または「ＮＧ」ボタン５０６が選択された場合と同様の処理が実行される。
【０１５０】
また、この確認通知（メール）には、対象のＵｎｄｏ処理前とＵｎｄｏ処理後のワークスペースＷＳ上におけるオブジェクトの状態を示す比較画面を表示するためのリンク情報も記述される。このリンク情報が選択されると、図２０（ａ）に示すような比較画面５２０が表示される。なお、確認通知の送信元の情報処理装置ＰＣが比較画面を生成する場合には、この比較画面データをＨＴＴＰ（Hypertext Transfer Protocol）プロトコルなどに従って送信することで、Ｕｎｄｏ処理対象履歴の操作者がメールの閲覧に使用する端末装置にインストールされているブラウザアプリケーション上に比較画面を表示させることができる。あるいは、Ｕｎｄｏ処理対象履歴の操作者が使用する端末装置上で実行させるスクリプト（プログラム）を確認通知（メール）に添付して送付してもよい。
【０１５１】
なお、確認通知（メール）は、Ｕｎｄｏ処理対象履歴の操作者のメールアカウントが登録されているメールサーバ装置に送信される。
【０１５２】
さらに、メールによる確認通知の送信だけを実行する構成に代えて、上述の実施の形態１に示すようなポップアップウィンドウ５００として表示可能なデータ形式と同時送信してもよい。
【０１５３】
本実施の形態によれば、Ｕｎｄｏ処理の承諾を求めるユーザが情報処理装置などにログインしていない場合であっても、Ｕｎｄｏ処理に対する承諾の可否を応答することができる。そのため、共同作業を行なう一部のユーザが不在であっても、効率的な共同作業を行なうことができる。
【０１５４】
［実施の形態３］
上述した実施の形態１では、Ｕｎｄｏ処理対象履歴の操作者に対する確認通知の送信後、承諾が得られるまでの間、Ｕｎｄｏ処理を指示したユーザが派生操作を実行可能な構成について例示した。しかし、Ｕｎｄｏ処理を指示したユーザと、Ｕｎｄｏ処理対象履歴の操作者とが共通のワークスペースＷＳ上で作業を行っている場合には、確認に要する時間はごく短時間になると考えられる。このような場合には、派生操作を行なわないようにしてもよい。
【０１５５】
図２７は、この発明の実施の形態３に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。図２７に示す全体処理手順は、図１１および図１２に示す実施の形態１に従うＵｎｄｏ処理の全体処理手順において、ステップＳ４０およびＳ４２の処理に代えてステップＳ６０を実行するようにし、さらにステップＳ６２およびＳ６４の処理を実行するようにしたものである。なお、図２７のフローチャートに示すステップのうち、図１１および図１２のフローチャートに示すステップと同様の処理を行なうものについては、同一のステップ番号を付している。
【０１５６】
図２７を参照して、確認通知送信（ステップＳ１４）の後、ユーザＡによる操作は不可能な状態になる。具体的には、情報処理装置ＰＣ１には、Ｕｎｄｏ処理の確認中であることが表示され（ステップＳ６０）、情報処理装置ＰＣ１上での操作が不可能な状態となる。
【０１５７】
図２８は、この発明の実施の形態３に従うＵｎｄｏ処理の確認中を表示するポップアップウィンドウの一例を示す図である。
【０１５８】
図２８を参照して、このポップアップウィンドウ５６０には、Ｕｎｄｏ処理の確認中であることを示すメッセージ部５６１と、Ｕｎｄｏ処理をキャンセルするための「キャンセル」ボタン５６２とが配置される。この「キャンセル」ボタン５６２が押下されると、確認中のＵｎｄｏ処理がキャンセルされる。
【０１５９】
なお、Ｕｎｄｏ処理に確認を求めたユーザが一時的に離席しているような状態も考えられるので、確認通知送信の後、所定期間内に返答情報が送信されない場合には、対象のＵｎｄｏ処理をキャンセルしてもよい。この具体的な処理として、図２７に示すように、確認通知送信（ステップＳ１４）の後、所定期間が経過したか否か（ステップＳ６２）が判断され、所定期間が経過した場合（ステップＳ６２においてＹＥＳの場合）には、対象のＵｎｄｏ処理がキャンセルされる（ステップＳ６４）。一方、所定期間が経過する前（ステップＳ６２においてＮＯの場合）に、「ＯＫ」（承諾）または「ＮＧ」（非承諾）を示す返答情報が受信されると、その内容に応じて、図１１のステップＳ４４または図１２のＳ５０〜Ｓ５４と同様の処理が実行される。
【０１６０】
その他の処理については、図１１または図１２と同様であるので、詳細な説明は繰返さない。
【０１６１】
本実施の形態によれば、派生操作に係る処理を省略できるので、装置構成を簡素化できるとともに、派生操作による作業の混乱を回避できる。
【０１６２】
［実施の形態４］
上述の実施の形態２では、Ｕｎｄｏ処理対象履歴の操作者が他の情報処理装置ＰＣにログインしていないことを想定して確認通知を電子メールで送信する構成について例示し、上述の実施の形態３では、Ｕｎｄｏ処理対象履歴の操作者が共通のワークスペースＷＳ上で作業を行っていることを前提とした構成について例示した。本実施の形態では、Ｕｎｄｏ処理対象履歴の操作者が情報処理装置ＰＣにログインしているか否かに応じて、実施の形態２または実施の形態３に示す処理のいずれかを選択的に実行する構成について例示する。
【０１６３】
図２９は、この発明の実施の形態４に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。なお、図２９のフローチャートに示すステップのうち、図１１、図１２、図２７のフローチャートに示すステップと同様の処理を行なうものについては、同一のステップ番号を付している。
【０１６４】
図２９を参照して、ワークスペースＷＳ上の何らかのオブジェクトに対するＵｎｄｏ処理を希望するユーザＡがＵｎｄｏボタンを押下すると、図１１および図１２のステップＳ２〜Ｓ１２と同様の処理が実行される。そして、他のユーザＢにＵｎｄｏ処理の確認を要求する必要がある場合には、まず、Ｕｎｄｏ処理対象履歴の操作者がいずれかの情報処理装置ＰＣにログイン中であるか否かが判断される（ステップＳ７０）。なお、このログイン中であるか否かの判断は、ユーザ認証を行なうサーバ装置ＳＲＶなどに問い合わせることで実現される。
【０１６５】
Ｕｎｄｏ処理対象履歴の操作者がいずれの情報処理装置ＰＣにもログインしていない場合（ステップＳ７０においてＮＯの場合）には、確認通知が当該操作者（ユーザＢ）のメールアドレスに向けてメール送信される（ステップＳ１４Ａ）。この確認通知のメールによる送信（ステップＳ１４Ａ）の後、ユーザＡが派生操作を行なう（ステップＳ４０）と、派生履歴情報が生成される（ステップＳ４２）。そして、「ＯＫ」（承諾）または「ＮＧ」（非承諾）を示す返答情報が受信されると、その内容に応じて、図１１のステップＳ４４または図１２のＳ５０〜Ｓ５４と同様の処理が実行される。
【０１６６】
一方、Ｕｎｄｏ処理対象履歴の操作者がいずれかの情報処理装置ＰＣにログインしている場合（ステップＳ７０においてＹＥＳの場合）には、確認通知が当該操作者のログインしている情報処理装置ＰＣ２に送信される（ステップＳ１４）。この確認通知送信（ステップＳ１４）の後、情報処理装置ＰＣ１には、Ｕｎｄｏ処理の確認中であることが表示され（ステップＳ６０）、ユーザＡによる操作は不可能な状態になる。
【０１６７】
以下、上述した実施の形態３における処理と同様に、確認通知送信の後、所定期間が経過したか否か（ステップＳ６２）が判断され、所定期間が経過した場合（ステップＳ６２においてＹＥＳの場合）には、対象のＵｎｄｏ処理がキャンセルされる（ステップＳ６４）。一方、所定期間が経過する前（ステップＳ６２においてＮＯの場合）に、「ＯＫ」（承諾）または「ＮＧ」（非承諾）を示す返答情報が受信されると、その内容に応じて、図１１のステップＳ４４または図１２のＳ５０〜Ｓ５４と同様の処理が実行される。
【０１６８】
本実施の形態によれば、Ｕｎｄｏ処理の確認対象のユーザのログイン状態に応じて、適切な方法で確認通知を送信することができる。これにより、より効率的にＵｎｄｏ処理に対する承諾／非承諾を確認することができる。
【０１６９】
［実施の形態５］
上述の実施の形態１では、派生操作に係るオブジェクトに近接して派生操作を示すマークを付加表示する構成について例示したが、いずれのオブジェクトが派生操作に係るものであるかといった情報は、Ｕｎｄｏ処理を指示したユーザと、当該Ｕｎｄｏ処理についての確認を要求されるユーザと以外のユーザにとってみれば、ことさら重要でない場合も多い。
【０１７０】
そこで、Ｕｎｄｏ処理を指示したユーザおよび当該Ｕｎｄｏ処理についての確認を要求されたユーザ以外のユーザに対して、このような派生操作を示すマークを明示的に表示するか、あるいは非表示にするかを選択するための設定が可能に構成してもよい。
【０１７１】
本実施の形態によれば、指示されたＵｎｄｏ処理に関わるユーザ以外のユーザにとってみれば、必要のない情報が表示されないので、ことさらに混乱を生じることを回避できる。
【０１７２】
［実施の形態６］
上述の実施の形態１では、Ｕｎｄｏ処理が指示される毎に確認通知を送信する構成について例示した。一方、Ｕｎｄｏ操作は連続的に実行される場合も多い。このような場合には、Ｕｎｄｏ処理毎に確認を行なうことは、Ｕｎｄｏ処理を指示するユーザにとってみても、Ｕｎｄｏ処理の承諾または非承諾を入力するユーザにとってみても操作が煩雑となる可能性がある。そこで、本実施の形態では、同一のユーザに対する連続する確認通知をまとめて送信する構成について例示する。
【０１７３】
図３０は、この発明の実施の形態６に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。図３０に示す全体処理手順は、図１１および図１２に示す実施の形態１に従うＵｎｄｏ処理の全体処理手順において、ステップＳ１２に代えて、ステップＳ１２Ａ，Ｓ１３Ａ，Ｓ１３Ｂを実行するようにしたものである。なお、図３０のフローチャートに示すステップのうち、図１１および図１２のフローチャートに示すステップと同様の処理を行なうものについては、同一のステップ番号を付している。
【０１７４】
図３０を参照して、Ｕｎｄｏ処理対象履歴の操作者がユーザＡでない場合（ステップＳ６においてＮＯの場合）には、情報処理装置ＰＣ１は、ユーザＢによるＵｎｄｏ処理の実行に対する確認を求めるための確認通知を生成または追加する（ステップＳ１２Ａ）。そして、Ｕｎｄｏ処理の実行に対する確認を求めるユーザが、前回のＵｎｄｏ処理の実行に対する確認を要求したユーザと異なるか否かが判断される（ステップＳ１３Ａ）。なお、最初の確認通知が生成された直後は、前回のＵｎｄｏ処理が存在しないので、ユーザが異ならないとして、処理はステップＳ１３Ｂに進む。
【０１７５】
ステップＳ１３Ｂでは、引き続くＵｎｄｏ処理の指示があるか否かが判断される。この引き続くＵｎｄｏ処理の指示があるか否かの判断は、Ｕｎｄｏ処理が連続的に指示され得る状態であるか否かを判断するものであり、たとえば、（１）Ｕｎｄｏ処理を指示したユーザが別の操作を行なった場合、（２）連続して指示されたＵｎｄｏ処理の回数が規定の上限値に到達した場合、（３）ユーザが明示的にＵｎｄｏ処理の指示の終了を入力した場合には、引き続くＵｎｄｏ処理の指示がないと判断される。
【０１７６】
引き続くＵｎｄｏ処理の指示があると判断された場合（ステップＳ１３ＢにおいてＹＥＳの場合）には、さらに、ユーザによってＵｎｄｏボタンが再度押下されると（ステップＳ１０）、ステップＳ６以下の処理が繰返し実行される。この処理の繰返しによって、同一の操作者（ユーザ）に対して複数のＵｎｄｏ処理の実行について確認を求める場合には、当該確認の内容を１つの確認通知として送信することができる。
【０１７７】
一方、引き続くＵｎｄｏ処理の指示がないと判断された場合（ステップＳ１３ＢにおいてＮＯの場合）には、作成した確認通知が情報処理装置ＰＣ２へ送信される（ステップＳ１４）。
【０１７８】
その他の処理については、図１１または図１２と同様であるので、詳細な説明は繰返さない。
【０１７９】
また、本実施の形態では、Ｕｎｄｏ実行についての確認通知を表示する際には、確認対象のＵｎｄｏ処理の一覧が表示される。あるいは、プルダウンメニューなどを用いて、各Ｕｎｄｏ処理についての比較画面（図２０）を選択的に表示できるようにしてもよい。
【０１８０】
本実施の形態によれば、複数のＵｎｄｏ処理が指示された場合であっても、効率的に承諾／非承諾を選択することができる。
【０１８１】
［実施の形態７］
上述の実施の形態１では、「通常」タイプの履歴情報と「派生」タイプの履歴情報（派生履歴情報）とを専用の属性値（履歴タイプ情報４１１）を用いて識別するようにした。これは、派生履歴情報に係るオブジェクトをワークスペースＷＳ上にレンダリングする際に、派生操作に係るマークなどをより高速処理するためである。
【０１８２】
ところで、履歴情報が「派生」したものであるか、あるいは「通常」のものであるかの判断は、派生元の履歴情報に含まれる派生履歴情報４１６の値に基づいて判断することも可能である。しかしながら、派生履歴情報に含まれる情報自体だけでは、当該履歴情報が派生したものであるとの判断を行なうことはできない。したがって、各履歴情報の「派生」あるいは「通常」のいずれであるかを明示的に示す情報を含むことが好ましい。
【０１８３】
このような「派生」あるいは「通常」のいずれであるかを明示的に示す情報を各履歴情報に含ませる構成として、専用の属性値（履歴タイプ情報４１１）を用いなくとも、たとえば、各履歴情報の識別番号（ＩＤ）４０１の値を用いて識別するようにしてもよい。
【０１８４】
図３１は、この発明の実施の形態７に従う派生履歴情報２６２ｄ＃および履歴情報２６２ｃ＃の内容の一例を示す図である。
【０１８５】
図３１（ａ）を参照して、派生履歴情報２６２ｄ＃では、その識別番号（ＩＤ）４０９として、派生操作を行なったユーザ名を接頭文字として付加した３桁の数値（たとえば、「ユーザＡ＿」）が記述される。一方、図３１（ｂ）を参照して、履歴情報２６２ｃ＃では、その識別番号（ＩＤ）４０９として、接頭文字が付加されない３桁の数値が記述される。したがって、各履歴情報に含まれる識別番号（ＩＤ）４０９の値の形、すなわち接頭文字「ユーザＡ＿」が付加されているか否かに基づいて、対象の履歴情報が「派生」であるか「通常」であるかを判断できる。
【０１８６】
なお、両者を明確に識別できるものであれば、どのような形状の識別番号を用いてもよい。
【０１８７】
また、Ｕｎｄｏ処理が承諾されて、派生操作に係るオブジェクトが有効化される場合には、派生履歴情報の識別番号が変更されることで、通常の履歴情報として扱われるようになる。
【０１８８】
図３２は、この発明の実施の形態７に従う派生履歴情報が通常の履歴情報に変更される処理を説明するための図である。
【０１８９】
図３２（ａ）に示すように、派生履歴情報として扱われる場合には、その識別番号（ＩＤ）４０９として接頭文字が付加された「ユーザＡ＿００１」が記述される。この履歴情報に係るオブジェクトが有効化されると、図３２（ｂ）に示すように、通常の履歴情報と同様に、その識別番号（ＩＤ）４０９として３桁の「１２５」が記述される。
【０１９０】
なお、図３１および図３２に示すように、各派生履歴情報の識別番号に、対応する派生操作を行なったユーザ名を付加した値を用いることで、たとえば、他のユーザが行なった派生操作に係るオブジェクトをレンダリングしないという設定にした場合に、レンダリングすべき（すなわち、自身の行なった）派生履歴情報であるか、あるいはレンダリング不要の（すなわち、他ユーザの行なった）派生履歴情報であるかを即座に判断できる。
【０１９１】
本実施の形態によれば、より少ない情報量で「通常」タイプの履歴情報であるか、「派生」タイプの履歴情報であるかを識別することができる。
【０１９２】
［実施の形態８］
上述の実施の形態１〜７では、複数の情報処理装置ＰＣとサーバ装置ＳＲＶとで構成されるシステムについて例示したが、情報処理装置ＰＣ同士がいわゆるピア・トゥ・ピア接続により、同様のシステムを構成してもよい。
【０１９３】
このような構成を採用することで、より簡素化された構成によってワークスペースを実現することができる。
【０１９４】
［実施の形態１〜８の組み合わせ］
上述した実施の形態１〜８に従うそれぞれの構成を任意に組み合わせることも当然に実施可能である。
【０１９５】
［その他の実施の形態］
上述の実施の形態１〜８では、本発明を各種オブジェクトを任意に配置できるワークスペースに適用した場合の構成について例示したが、共同作業可能な表計算アプリケーションや文書作成アプリケーションであっても同様に適用可能である。すなわち、行列状にセルが配置された表計算アプリケーションでは、各セルを上述した１つのオブジェクトに相当するものと見なすことで、上記と同様の処理が可能である。また、文書作成アプリケーションでは、単語、文、段落、節などの各構成単位を上述した１つのオブジェクトに相当するものと見なすことで、上記と同様の処理が可能である。
【０１９６】
また、本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
【０１９７】
さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０１９８】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【０１９９】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０２００】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２０１】
【図１】この発明の実施の形態１に従うワークスペースを提供するためのシステムの概略構成図である。
【図２】この発明の実施の形態１に従う情報処理装置の代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
【図３】この発明の実施の形態１に従うワークスペースの一例を模式的に示した図である。
【図４】この発明の実施の形態１に従うワークスペースを提供するためのデータ構造を示す模式図である。
【図５】この発明の実施の形態１に従うワークスペースで提供されるＵｎｄｏ機能を説明するための図である。
【図６】この発明の実施の形態１に従う各情報処理装置の制御構造を示すブロック図である。
【図７】図６に示すＵｎｄｏ処理部のより詳細な制御構造を示すブロック図である。
【図８】この発明の実施の形態１に従うワークスペースデータの内容の一例を示す図である。
【図９】この発明の実施の形態１に従うオブジェクトデータの内容の一例を示す図である。
【図１０】この発明の実施の形態１に従う履歴情報の内容の一例を示す図である。
【図１１】Ｕｎｄｏ処理対象の履歴情報の操作者がＵｎｄｏ処理に対して「ＯＫ」（承諾）を選択する場合の処理を示す図である。
【図１２】Ｕｎｄｏ処理対象の履歴情報の操作者がＵｎｄｏ処理に対して「ＮＧ」（非承諾）を選択する場合の処理を示す図である。
【図１３】この発明の実施の形態１に従う履歴情報の一例を示す図である。
【図１４】図１３に示す履歴情報から抽出・ソートされた結果の一例を示す図である。
【図１５】図１１および図１２に示すステップＳ４におけるより詳細な処理手順を示すフローチャートである。
【図１６】図１４に示す履歴情報においてユーザＡのＵｎｄｏ処理の指示に伴って生成される派生履歴情報の一例を示す模式図である。
【図１７】図１６に示す履歴情報および派生履歴情報の内容の一例を示す図である。
【図１８】この発明の実施の形態１に従う承諾の可否の入力を促す画面の一例を示す図である。
【図１９】図１８に示すポップアップウィンドウを表示するためのソースコードの一例を示す図である。
【図２０】この発明の実施の形態１に従う比較画面の一例および比較画面の生成処理を説明するための図である。
【図２１】「ＯＫ」が選択された場合に送信される返答情報の内容を示す図である。
【図２２】Ｕｎｄｏ処理に対する返答情報の内容を示す画面の一例である。
【図２３】Ｕｎｄｏ処理の実行が承諾された場合の処理内容を説明するための図である。
【図２４】Ｕｎｄｏ処理の実行が承諾されず、かつ派生操作が新規操作として選択された場合の処理内容を説明するための図である。
【図２５】Ｕｎｄｏ処理の実行が承諾されず、かつ派生操作の破棄が選択された場合の処理内容を説明するための図である。
【図２６】この発明の実施の形態２に従うシステムにおいて送信される確認通知の内容の一例を示す図である。
【図２７】この発明の実施の形態３に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。
【図２８】この発明の実施の形態３に従うＵｎｄｏ処理の確認中を表示するポップアップウィンドウの一例を示す図である。
【図２９】この発明の実施の形態４に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。
【図３０】この発明の実施の形態６に従うＵｎｄｏ処理の全体処理手順を示すフローチャートである。
【図３１】この発明の実施の形態７に従う派生履歴情報および履歴情報の内容の一例を示す図である。
【図３２】この発明の実施の形態７に従う派生履歴情報が通常の履歴情報に変更される処理を説明するための図である。
【符号の説明】
【０２０２】
２０１  ＣＰＵ、２０３  内部バス、２０５  モニター、２０７  通信インターフェイス、２０９  入力装置、２１１  ハードディスク部、２１３  メモリ部、２１５  ＣＤ−ＲＯＭドライブ、２１７  フレキシブルディスク（ＦＤ）ドライブ、２１５ａ  ＣＤ−ＲＯＭ、２１７ａ  フレキシブルディスク、２５２  データ操作部、２５４  Ｖｉｅｗ作成部、２５６  描画部、２５８  Ｕｎｄｏ処理部、２５８ａ  派生履歴情報生成部、２５８ｂ  確認通知生成部、２５８ｃ  確認通知送信部、２５８ｄ  返答情報受信部、２５８ｅ  処理実行部、２５８ｆ  確認通知表示部、２５８ｇ  返答情報送信部、２６０  オブジェクト抽出部、２６２  データ格納部、２６２ａ  ワークスペースデータ、２６２ｂ  オブジェクトデータ、２６２ｃ  履歴情報、２６２ｄ  派生履歴情報、２６４  同期処理部、２６６  送受信部、２７０  ユーザ認証部、２５８１  派生操作表示部、２５８２  確認通知処理部、２５８３  返答処理部、ＮＷ  ネットワーク、ＰＣ，ＰＣ１〜ＰＣ３  情報処理装置、ＳＲＶ  サーバ装置。
【図１】
2010044511.tif 000003
【図２】
2010044511.tif 000004
【図３】
2010044511.tif 000005
【図４】
2010044511.tif 000006
【図５】
2010044511.tif 000007
【図６】
2010044511.tif 000008
【図７】
2010044511.tif 000009
【図８】
2010044511.tif 000010
【図９】
2010044511.tif 000011
【図１０】
2010044511.tif 000012
【図１１】
2010044511.tif 000013
【図１２】
2010044511.tif 000014
【図１３】
2010044511.tif 000015
【図１４】
2010044511.tif 000016
【図１５】
2010044511.tif 000017
【図１６】
2010044511.tif 000018
【図１７】
2010044511.tif 000019
【図１８】
2010044511.tif 000020
【図１９】
2010044511.tif 000021
【図２０】
2010044511.tif 000022
【図２１】
2010044511.tif 000023
【図２２】
2010044511.tif 000024
【図２３】
2010044511.tif 000025
【図２４】
2010044511.tif 000026
【図２５】
2010044511.tif 000027
【図２６】
2010044511.tif 000028
【図２７】
2010044511.tif 000029
【図２８】
2010044511.tif 000030
【図２９】
2010044511.tif 000031
【図３０】
2010044511.tif 000032
【図３１】
2010044511.tif 000033
【図３２】
2010044511.tif 000034