(57)【要約】【課題】複数のユーザによる同時作業が可能な仮想作業空間において、ゲストユーザに対する操作権限の制約を維持しつつ、ゲストユーザがより柔軟に正規ユーザとのコラボレーション作業を行なうことができる情報処理システム、情報処理方法および情報処理装置を提供する。【解決手段】管理ユーザがボタン３０２を選択すると、ゲストユーザが作成した対象のオブジェクトがワークスペースに反映、すなわち、その作業内容がワークスペースデータ１２２に恒久的に格納される。一方、管理ユーザがボタン３０４を選択すると、一時的に格納されている対応する作業内容がゲスト作業データ１２６から削除される。【選択図】図１１
2010224590.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理システムであって、
サーバ手段と、
各々が前記仮想作業空間を表示する複数の表示手段と、
前記複数の表示手段にそれぞれ関連付けられた複数の入力手段とを備え、
前記サーバ手段は、
前記仮想作業空間に参加するユーザ種別を判断する判断手段を含み、前記判断手段は、前記ユーザ種別として、前記仮想作業空間における作業可能範囲が制限されている第１ユーザと、前記第１ユーザがなした作業内容に対して承認を与えることができる第２ユーザとを区別し、さらに
前記第１ユーザが前記入力手段を操作して行なった作業内容と、前記第２ユーザが前記入力手段を操作して行なった作業内容とを識別可能に記録する記録手段と、
前記第２ユーザがなした作業内容については無条件に前記仮想作業空間に反映するとともに、前記第１ユーザがなした作業内容については、前記第２ユーザによる承認が与えられたことを条件に前記仮想作業空間に反映する反映手段とを含む、情報処理システム。
【請求項２】
前記反映手段は、前記第１ユーザがなした作業内容に対する前記第２ユーザによる否認に応答して、前記記録手段により記録されている前記第１ユーザについての作業内容を削除または無効化する、請求項１に記載の情報処理システム。
【請求項３】
前記記録手段は、前記第１ユーザがなした作業内容を記録するための第１ファイルと、前記第２ユーザがなした作業内容を記録するための第２ファイルとに関連付けられる、請求項１または２に記載の情報処理システム。
【請求項４】
前記情報処理システムは、前記仮想作業空間へのユーザの参加を管理する管理手段をさらに備え、
前記反映手段は、前記管理手段によって第１ユーザおよび第２ユーザの少なくとも一方が前記仮想作業空間から離脱したと判断されると、前記記録手段により記録されている前記第１ユーザについての作業内容を削除または無効化する、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記情報処理システムは、前記複数の表示手段にそれぞれ関連付けられて、前記仮想作業空間の所定範囲をそれぞれ描画するための複数の描画手段をさらに備え、
前記反映手段は、前記第１ユーザに向けて描画されている前記仮想作業空間の範囲と前記第２ユーザに向けて描画されている前記仮想作業空間の範囲との重複部分においてなされた、前記第１ユーザによる作業内容については、前記第２ユーザによる承認が与えられなくとも前記仮想作業空間に反映する、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記反映手段は、
前記第２ユーザによる承認が与えられる前であっても、前記第１ユーザによる作業内容に係るオブジェクトをアクセス可能に前記仮想作業空間上に表示させるとともに、
当該承認前の前記第１ユーザによる作業内容に係るオブジェクトに対して、前記第１ユーザおよび前記第２ユーザとは異なる第３ユーザによるアクセス経歴が所定条件を満足すると、当該第１ユーザによる作業内容については、前記第２ユーザによる承認が与えられなくとも前記仮想作業空間に反映する、請求項１〜５のいずれか１項に記載の情報処理システム。
【請求項７】
前記反映手段は、前記第１ユーザについての作業内容が前記記録手段により記録されてから所定期間経過後に、当該作業内容を削除または無効化する、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項８】
複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理方法であって、
サーバ装置が、前記仮想作業空間に参加するユーザ種別を判断するステップを備え、前記判断するステップは、前記ユーザ種別として、前記仮想作業空間における作業可能範囲が制限されている第１ユーザと、前記第１ユーザがなした作業内容に対して承認を与えることができる第２ユーザとを区別するステップを含み、さらに
前記サーバ装置が、前記サーバ装置との間でデータ通信可能な第１クライエント装置を前記第１ユーザが操作して行なった作業内容と、前記サーバ装置との間でデータ通信可能な第２クライエント装置を前記第２ユーザが操作して行なった作業内容とを識別可能に記録するステップと、
前記サーバ装置が、前記第２ユーザがなした作業内容について、無条件に前記仮想作業空間に反映するステップと、
前記サーバ装置が、前記第１ユーザがなした作業内容について、前記第２ユーザによる承認が与えられたことを条件に前記仮想作業空間に反映するステップとを備える、情報処理方法。
【請求項９】
データ通信可能に接続された複数の端末において、複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理装置であって、
前記仮想作業空間に参加するユーザ種別を判断する判断手段を備え、前記判断手段は、前記ユーザ種別として、前記仮想作業空間における作業可能範囲が制限されている第１ユーザと、前記第１ユーザがなした作業内容に対して承認を与えることができる第２ユーザとを区別し、さらに
前記第１ユーザが対応する前記端末を操作して行なった作業内容と、前記第２ユーザが対応する前記端末を操作して行なった作業内容とを識別可能に記録する記録手段と、
前記第２ユーザがなした作業内容については無条件に前記仮想作業空間に反映するとともに、前記第１ユーザがなした作業内容については、前記第２ユーザによる承認が与えられたことを条件に前記仮想作業空間に反映する反映手段とを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理システム、情報処理方法および情報処理装置に関する。
【背景技術】
【０００２】
近年、複数のユーザによる同時作業が可能な仮想作業空間（以下、「ワークスペース」とも称す。）が提案されている。このワークスペースは、典型的には、仮想的なホワイトボード類似の仮想空間であり、それぞれのユーザは、この空間上において、手書き文字、画像、写真などの題材（以下、「オブジェクト」とも称す。）をインタラクティブに入力したり操作したりすることができる。このようなワークスペースを用いることで、個人またはグループでの知的創造作業（考えを練ったり、他メンバーとコミュニケーションをとったりする）が促進される。
【０００３】
たとえば、特開２０００−６７００６号公報（特許文献１）には、リソースを処理可能に保持する複数のワークスペース（マルチワークスペース）をユーザに提供するワークスペース管理装置が開示されている。
【０００４】
ところで、このようなワークスペースにおける知的創造作業の作業形態の一例として、正規ユーザに加えてゲストユーザを招いて意見交換を行なうような形態が想定される。このようにオブザーバとしてゲストユーザの意見を取り入れることが、より柔軟でかつ高度な知的創造作業を行なうことができると考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−６７００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のようなゲストユーザは、オブザーバとして参加しているため、ワークスペース上における作業可能範囲を定める操作権限としては、正規ユーザと同様な操作権限を与える必要はない。すなわち、ゲストユーザについては、既成オブジェクトの読出し禁止やワークスペース上への新たなオブジェクトの書込み禁止といった何らかの制約を設けることが一般的である。
【０００７】
一方、正規ユーザとゲストユーザとのコラボレーション作業（共同作業）においては、任意のタイミングで、ゲストユーザの意見や提案を募集し、さらにそれらを集約する必要がある。このような作業を行なう場合には、ゲストユーザにある程度の操作を許容することが効率的である。
【０００８】
しかしながら、従来のワークスペースでは、上述のようなゲストユーザの操作権限を制限する一方、所望のタイミングで、これらのゲストユーザによるコラボレーション作業を効率的に行なうことはできなかった。たとえば、上述の特開２０００−６７００６号公報（特許文献１）に開示されるワークスペース管理装置においてこのような作業形態を実現しようとすると、共有ワークスペースを個人ワークスペースの組合せとして仮想的に構成しているため、ゲストユーザが使用する個人ワークスペースに対して、アクセスに関する設定を頻繁に変更する必要があり、現実的ではない。
【０００９】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、複数のユーザによる同時作業が可能な仮想作業空間において、ゲストユーザに対する操作権限の制約を維持しつつ、ゲストユーザがより柔軟に正規ユーザとのコラボレーション作業を行なうことができる情報処理システム、情報処理方法および情報処理装置を提供することである。
【課題を解決するための手段】
【００１０】
この発明のある局面に従えば、複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理システムを提供する。この情報処理システムは、サーバ手段と、各々が仮想作業空間を表示する複数の表示手段と、複数の表示手段にそれぞれ関連付けられた複数の入力手段とを有する。サーバ手段は、仮想作業空間に参加するユーザ種別を判断する判断手段を含む。判断手段は、ユーザ種別として、仮想作業空間における作業可能範囲が制限されている第１ユーザと、第１ユーザがなした作業内容に対して承認を与えることができる第２ユーザとを区別する。さらに、サーバ手段は、第１ユーザが入力手段を操作して行なった作業内容と、第２ユーザが入力手段を操作して行なった作業内容とを識別可能に記録する記録手段と、第２ユーザがなした作業内容については無条件に仮想作業空間に反映するとともに、第１ユーザがなした作業内容については、第２ユーザによる承認が与えられたことを条件に仮想作業空間に反映する反映手段とを含む。
【００１１】
好ましくは、反映手段は、第１ユーザがなした作業内容に対する第２ユーザによる否認に応答して、記録手段により記録されている第１ユーザについての作業内容を削除または無効化する。
【００１２】
好ましくは、記録手段は、第１ユーザがなした作業内容を記録するための第１ファイルと、第２ユーザがなした作業内容を記録するための第２ファイルとに関連付けられる。
【００１３】
好ましくは、情報処理システムは、仮想作業空間へのユーザの参加を管理する管理手段をさらに有する。反映手段は、管理手段によって第１ユーザおよび第２ユーザの少なくとも一方が仮想作業空間から離脱したと判断されると、記録手段により記録されている第１ユーザについての作業内容を削除または無効化する。
【００１４】
好ましくは、情報処理システムは、複数の表示手段にそれぞれ関連付けられて、仮想作業空間の所定範囲をそれぞれ描画するための複数の描画手段をさらに有する。反映手段は、第１ユーザに向けて描画されている仮想作業空間の範囲と第２ユーザに向けて描画されている仮想作業空間の範囲との重複部分においてなされた、第１ユーザによる作業内容については、第２ユーザによる承認が与えられなくとも仮想作業空間に反映する。
【００１５】
好ましくは、反映手段は、第２ユーザによる承認が与えられる前であっても、第１ユーザによる作業内容に係るオブジェクトをアクセス可能に仮想作業空間上に表示させるとともに、当該承認前の第１ユーザによる作業内容に係るオブジェクトに対して、第１ユーザおよび第２ユーザとは異なる第３ユーザによるアクセス経歴が所定条件を満足すると、当該第１ユーザによる作業内容については、第２ユーザによる承認が与えられなくとも仮想作業空間に反映する。
【００１６】
好ましくは、反映手段は、第１ユーザについての作業内容が記録手段により記録されてから所定期間経過後に、当該作業内容を削除または無効化する。
【００１７】
この発明の別の局面に従えば、複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理方法を提供する。この情報処理方法は、サーバ装置が、仮想作業空間に参加するユーザ種別を判断するステップを有する。この判断するステップは、ユーザ種別として、仮想作業空間における作業可能範囲が制限されている第１ユーザと、第１ユーザがなした作業内容に対して承認を与えることができる第２ユーザとを区別するステップを含む。さらに、この情報処理方法は、サーバ装置が、サーバ装置との間でデータ通信可能な第１クライエント装置を第１ユーザが操作して行なった作業内容と、サーバ装置との間でデータ通信可能な第２クライエント装置を第２ユーザが操作して行なった作業内容とを識別可能に記録するステップと、サーバ装置が、第２ユーザがなした作業内容について、無条件に仮想作業空間に反映するステップと、サーバ装置が、第１ユーザがなした作業内容について、第２ユーザによる承認が与えられたことを条件に仮想作業空間に反映するステップとを有する。
【００１８】
この発明のさらに別の局面に従えば、データ通信可能に接続された複数の端末において、複数のユーザによる同時作業が可能な仮想作業空間を提供する情報処理装置を提供する。この情報処理装置は、仮想作業空間に参加するユーザ種別を判断する判断手段を有する。判断手段は、ユーザ種別として、仮想作業空間における作業可能範囲が制限されている第１ユーザと、第１ユーザがなした作業内容に対して承認を与えることができる第２ユーザとを区別する。情報処理装置は、さらに、第１ユーザが対応する端末を操作して行なった作業内容と、第２ユーザが対応する端末を操作して行なった作業内容とを識別可能に記録する記録手段と、第２ユーザがなした作業内容については無条件に仮想作業空間に反映するとともに、第１ユーザがなした作業内容については、第２ユーザによる承認が与えられたことを条件に仮想作業空間に反映する反映手段とを有する。
【発明の効果】
【００１９】
この発明によれば、複数のユーザによる同時作業が可能な仮想作業空間において、ゲストユーザに対する操作権限の制約を維持しつつ、ゲストユーザがより柔軟に正規ユーザとのコラボレーション作業を行なうことができる。
【図面の簡単な説明】
【００２０】
【図１】この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【図２】この発明の実施の形態に従う情報処理装置の代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
【図３】この発明の実施の形態に従うサーバ装置の概略の制御構造を示すブロック図である。
【図４】この発明の実施の形態に従うクライエント装置の概略の制御構造を示すブロック図である。
【図５】この発明の実施の形態に従う情報処理システムにおいて正規ユーザがログインする場合の処理を示す模式図である。
【図６】この発明の実施の形態に従うワークスペースデータの一例を示す図である。
【図７】この発明の実施の形態に従うクライエント用データの一例を示す図である。
【図８】この発明の実施の形態に従う情報処理システムにおいて正規ユーザがワークスペース上で何らかの作業を行なった場合の処理を示す模式図である。
【図９】この発明の実施の形態に従う情報処理システムにおいてゲストユーザがログインする場合の処理を示す模式図である。
【図１０】この発明の実施の形態に従う情報処理システムにおいてゲストユーザがワークスペース上で何らかの作業を行なった場合の処理を示す模式図である。
【図１１】この発明の実施の形態に従う情報処理システムにおいて管理ユーザがログインしているクライエント装置において表示されるダイアログの一例を示す図である。
【図１２】この発明の実施の形態に従う情報処理システムにおいて管理ユーザがゲストユーザの作成したオブジェクトを承認した場合の処理を示す模式図である。
【図１３】この発明の実施の形態に従う情報処理システムにおいて管理ユーザがゲストユーザの作成したオブジェクトを否認した場合の処理を示す模式図である。
【図１４】この発明の実施の形態に従う情報処理システムにおいてゲストユーザがログアウトする場合の処理を示す模式図である。
【図１５】この発明の実施の形態１に従うサーバ装置における処理手順を示すフローチャートである。
【図１６】この発明の実施の形態の変形例１に従うワークスペースデータの一例を示す図である。
【図１７】この発明の実施の形態の変形例２に従う情報処理システムにおいて管理ユーザがログアウトする場合の処理を示す模式図である。
【図１８】この発明の実施の形態の変形例３に従う処理を示す模式図である。
【図１９】この発明の実施の形態の変形例７に従うゲスト作業データの一例を示す図である。
【図２０】この発明の実施の形態の変形例８に従うゲスト作業データの一例を示す図である。
【発明を実施するための形態】
【００２１】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２２】
［用語の定義］
本明細書において「ワークスペース」とは、情報処理装置上で提供され、視認可能なオブジェクトを追加したり編集したりすることができる、複数のユーザによる同時作業が可能な仮想作業空間を意味する。
【００２３】
本明細書において「オブジェクト」とは、ワークスペース上に生成もしくは追加され得るデータ全般を意味する。このオブジェクトの一例としては、図形、テキストドキュメント、ワークシートのセル、画像、音声、ログ、タグ、しおり、注釈、ユーザ情報などが挙げられる。
【００２４】
本明細書において「正規ユーザ」は、対象のワークスペースにログイン可能であり、かつ当該ワークスペース上において行なった作業の内容が恒久的に保存（反映）され得るユーザを意味する。
【００２５】
本明細書において「ゲストユーザ」は、対象のワークスペースにログイン可能であるが、当該ワークスペース上において行なった作業の内容が所定条件（典型的には、承認）が満たされた場合に限って、恒久的に保存（反映）され得るユーザを意味する。
【００２６】
本明細書において「管理ユーザ」は、上述の「ゲストユーザ」がワークスペース上で行なった作業内容を恒久的に保存（反映）するか否か、すなわち当該作業内容を承認するか否かの権限を有しているユーザを意味する。上述の「正規ユーザ」には、この「管理ユーザ」に加えて、ゲストユーザによる作業内容の承認を行なう権限を有さない「一般ユーザ」を含み得る。
【００２７】
［全体構成］
図１は、この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【００２８】
図１を参照して、本実施の形態に従う情報処理システムは、ネットワークＮＷ（典型的には、イーサネット（登録商標））を介して互いにデータ通信可能に接続された複数の情報処理装置である、複数のクライエント装置ＣＬ１〜ＣＬＮ（以下、「クライエント装置ＣＬ」とも総称する。）とサーバ装置ＳＲＶとを含む。すなわち、本実施の形態においては、いわゆるサーバ・クライエント構成によって、本実施の形態に従う情報処理システムを実現する構成について例示する。なお、いわゆるピア・トゥ・ピア構成によって、本実施の形態に従う情報処理システムを実現してもよい。ピア・トゥ・ピア構成を採用した場合には、少なくとも一方の端末側には、サーバ装置ＳＲＶによって提供される機能と実質的に等しい機能が搭載される。
【００２９】
また、図示しないが、ネットワークＮＷ上には、データ中継装置であるハブやルータなどが適宜配置される。さらに、ネットワークＮＷとしては、ＬＡＮ（Local Area Network）だけでなく、インターネットなどのＷＡＮ（Wide Area Network）などを含んで構成してもよい。
【００３０】
サーバ装置ＳＲＶは、ワークスペースを提供するための情報（後述する「ワークスペースデータ」）を保持しており、それをクライエント装置ＣＬ１〜ＣＬＮにそれぞれ提供する。また、それぞれのクライエント装置ＣＬ１〜ＣＬＮ上でユーザが何らかの操作をした内容は、サーバ装置ＳＲＶが保持するワークスペースデータに随時反映される。たとえば、いずれかのクライエント装置ＣＬ上でユーザがワークスペース上に何らかのオブジェクトを追加すると、当該追加されたオブジェクトを記述する情報が当該クライエント装置ＣＬからサーバ装置ＳＲＶへ送信され、サーバ装置ＳＲＶは、その情報に基づいて、自装置の保持するワークスペースデータを更新するとともに、更新後のワークスペースデータに基づいて、クライエント装置ＣＬ１〜ＣＬＮにワークスペースを表示させるための情報をそれぞれ送信する。このようにして、クライエント装置ＣＬ１〜ＣＬＮのいずれにおいても、実質的に等価なワークスペースが提供され、これによって、ユーザ間での情報の共有化が図られる。
【００３１】
［ハードウェア構成］
図２は、この発明の実施の形態に従う情報処理装置の代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
【００３２】
図２を参照して、本実施の形態に従う情報処理装置であるサーバ装置ＳＲＶは、オペレーティングシステムを含む各種プログラムを実行するＣＰＵ２と、ＣＰＵ２でのプログラムの実行に必要なデータを一時的に格納する記憶部としてのメモリ１４と、ＣＰＵ２で実行されるプログラムを不揮発的に格納するハードディスク（ＨＤＤ）１２とを含む。このようなプログラムは、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）ドライブ１６またはフレキシブルディスク（ＦＤ：Flexible Disk）ドライブ１８によって、それぞれＣＤ−ＲＯＭ１６ａまたはフレキシブルディスク１８ａなどから読取られる。
【００３３】
ＣＰＵ２は、キーボード、マウス、タブレットなどからなる入力装置１０を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を出力装置６へ出力する。
【００３４】
出力装置６は、ワークスペースの状態をユーザに表示するためのデバイスであり、典型的には、モニターやプロジェクターなどからなる。
【００３５】
また、ＣＰＵ２は、ＬＡＮカードなどからなる通信インターフェイス８を介して、クライエント装置ＣＬとの間でデータ通信を行なう。なお、これらの部位は、内部バス４を介して互いに接続される。
【００３６】
また、本実施の形態に従うクライエント装置ＣＬについても情報処理装置であり、そのハードウェア構成についても、図２に示すサーバ装置ＳＲＶのハードウェア構成と同様であるので、詳細な説明は繰返さない。
【００３７】
［処理概要］
本実施の形態に従う情報処理システムでは、少なくとも管理ユーザおよびゲストユーザのアカウントを作成可能である。なお、これらのユーザに加えて、一般ユーザのアカウントを作成可能にしてもよい。さらに、本実施の形態に従う情報処理システムでは、任意のタイミングで、正規ユーザとゲストユーザとのコラボレーション作業（共同作業）を実現可能になっている。
【００３８】
ところで、このような正規ユーザとゲストユーザとのコラボレーション作業を実現する形態として、以下のような形態も想定される。
【００３９】
第１の形態として、コラボレーション作業を行なうタイミングで、ゲストユーザが管理ユーザなどに対して自身の操作権限に対する制約解除を要求し、管理ユーザが当該ゲストユーザの操作権限を一時的に緩和する。しかしながら、このような形態を採用した場合には、管理ユーザは、ゲストユーザからの要求がある度に制約解除および制約再設定を行なわなければならなく、管理ユーザの作業量が増大するという問題が生じ得る。また、ゲストユーザと管理ユーザとの間の遣り取りの増大に伴って、作業効率が低下し得る。さらに、管理ユーザがゲストユーザに対する制約再設定を失念する場合もあり、この場合には、ゲストユーザが本来許可されないはずのオブジェクトなどを閲覧し、あるいは操作してしまうという問題が生じ得る。
【００４０】
また、第２の形態として、ワークスペース上でなされている共同作業のリーダに対して、ゲストユーザが意見や提案などを直接的に伝達する。しかしながら、このような形態を採用した場合には、当該リーダがゲストユーザからの何らかの意見や提案を取り入れようとした場合には、当該リーダ自身がワークスペース上にその内容を書込む必要があり、作業効率が低下し得る。また、ゲストユーザからリーダに対する意見や提案が電子メールやメッセンジャーなどのテキストベースのアプリケーションを用いて行なわれる場合には、ワークスペース上で図や表などのグラフィカルに表現して伝える場合に比較して、ゲストユーザの意図が伝達されにくく、リーダに誤って伝達されるおそれもある。
【００４１】
そこで、本実施の形態に従う情報処理システムでは、上述のような形態を採用した場合の課題を回避するために、以下のような方法を採用する。すなわち、本実施の形態に従う情報処理システムでは、正規ユーザによるワークスペース上での作業内容を反映するための共有作業領域（後述する「ワークスペースデータ」）と、ゲストユーザによるワークスペース上での作業内容を一時的に格納するためのゲスト作業領域（後述する「ゲスト作業データ」）とを区別して設ける。そして、このゲスト作業領域に保持される作業内容は、管理ユーザによって承認が与えられた場合にはじめて共有作業領域に反映される。
【００４２】
このような構成を採用することで、予め設定されているゲストユーザの操作権限に何らの変更を加えることなく、ワークスペース上でゲストユーザに比較的自由に作業を行なわせることができる。それにより、正規ユーザとゲストユーザとのコラボレーション作業を柔軟かつ効率的に行なうことができる。なお、以下の説明において、「ワークスペースに反映」することは、典型的には、ゲストユーザが行なった作業の内容を共有作業領域（ワークスペースデータ）に恒久的に記録することを意味する。
【００４３】
［制御構造］
次に、図３および図４を参照して、本実施の形態に従う情報処理システムを構成するサーバ装置ＳＲＶおよびクライエント装置ＣＬの制御構造について説明する。図３は、この発明の実施の形態に従うサーバ装置ＳＲＶの概略の制御構造を示すブロック図である。図４は、この発明の実施の形態に従うクライエント装置ＣＬの概略の制御構造を示すブロック図である。
【００４４】
図３を参照して、サーバ装置ＳＲＶは、制御構造として、ワークスペース管理部１１０と、クライエント管理部１１２と、データ送受信部１１４と、データ格納部１２０とを含む。典型的に、ワークスペース管理部１１０およびクライエント管理部１１２は、ＣＰＵ２（図２）がハードディスク１２（図２）などに予め格納されているプログラムをメモリ１４（図２）に展開した上で実行することで提供される。また、データ格納部１２０は、ＨＤＤ１２の一部として提供される。また、データ送受信部１１４は、通信インターフェイス８（図２）と関連するドライバアプリケーションとの協働によって提供される。
【００４５】
データ格納部１２０は、ワークスペースデータ１２２と、ゲスト作業データ１２６と、クライエント用データ１２４と、ユーザ管理データ１２８とを保持する。これらのデータは、典型的には、ファイルとして保持される。ワークスペースデータ１２２は、正規ユーザによるワークスペースにおける作業結果を記述する定義データである。ゲスト作業データ１２６は、ゲストユーザによるワークスペースにおける作業結果を一時的に格納する定義データである。クライエント用データ１２４は、クライエント装置ＣＬの出力装置６上（図２）にワークスペースを描画するための定義データである。ユーザ管理データ１２８は、ワークスペースにログイン可能なアカウントやパスワード、各アカウントに対応付けられた操作権限の制約設定などが記録される。
【００４６】
データ送受信部１１４は、ネットワークＮＷ上を流れるパケットにうち、自装置を宛先とするパケットを選択的に受信する。そして、データ送受信部１１４は、受信したパケットから必要なデータを抽出し、サーバ装置ＳＲＶに必要な情報であるかどうかをフィルタリングする。抽出したデータが、サーバ装置ＳＲＶに必要な情報であり、かつサーバ装置ＳＲＶに関するワークスペースに対する処理命令であれば、データ送受信部１１４は、その抽出したデータをワークスペース管理部１１０へ伝送する。一方、抽出したデータが、サーバ装置ＳＲＶに必要な情報であり、かつサーバ装置ＳＲＶに対するログインなどのユーザに関する処理命令であればクライエント管理部１１２へ伝送する。
【００４７】
なお、データ送受信部１１４は、クライエント装置ＣＬに関する情報（たとえば、ＩＰアドレスとった送信先を特定するためのユニークな宛先情報やログイン中のユーザ情報など）を保持している。そして、データ送受信部１１４は、ワークスペース管理部１１０またはクライエント管理部１１２から何らかのデータの送信要求を受けると、それらの保持している情報に基づいて、パケットを生成して対象のクライエント装置ＣＬに向けて送出する。
【００４８】
クライエント管理部１１２は、主として、ワークスペースに参加（ログイン）するクライエント（すなわち、ユーザ）を管理する。より具体的には、クライエント管理部１１２は、登録機能、削除機能、ログイン管理機能を有する。クライエント管理部１１２の登録機能および削除機能は、データ格納部１２０が保持するユーザ管理データ１２８に新規データの登録・既存データの削除・既存データの更新などを行なうためのものである。クライエント管理部１１２のログイン管理機能は、いずれかのクライエント装置ＣＬからのログインに関する処理命令に応答して、ユーザ管理データ１２８を参照して、ログインの可否判断・ログイン中のユーザに対する操作権限の制約設定・ログイン中のユーザの状態通知などを行なうためのものである。
【００４９】
ワークスペース管理部１１０は、クライエント装置ＣＬからのワークスペースに対する処理命令に応答して、データ格納部１２０が保持するワークスペースデータ１２２、クライエント用データ１２４、ゲスト作業データ１２６に対する更新などを行なう。また、ワークスペース管理部１１０は、クライエント装置ＣＬに対して、それぞれの出力装置６上（図２）にワークスペースを描画するためにクライエント用データ１２４を送信する。より具体的には、ワークスペース管理部１１０は、登録機能、出力機能、削除機能、読込機能、保存機能、データ作成機能、反映機能を有する。
【００５０】
ワークスペース管理部１１０の登録機能および削除機能は、正規ユーザがログインしているクライエント装置ＣＬからのワークスペースに対する操作を行なうための処理命令に応答して、データ格納部１２０が保持するワークスペースデータ１２２に新規データの登録・既存データの削除・既存データの更新などを行なうためのものである。ワークスペース管理部１１０の読込機能および保存機能は、データ格納部１２０に格納されるべき各種データを異なる記憶領域から読出し、あるいは当該記憶領域への書込みを行なうためのものである。ワークスペース管理部１１０の出力機能は、ワークスペースに参加しているそれぞれのクライエント装置ＣＬへ向けて送信するためのクライエント用データ１２４を、データ格納部１２０が保持するワークスペースデータ１２２およびゲスト作業データ１２６に基づいて生成するためのものである。ワークスペース管理部１１０のデータ作成機能は、新たなワークスペース（プロジェクト）の生成が指示された場合に、データ格納部１２０に新たなワークスペースデータ１２２などを作成するためのものである。ワークスペース管理部１１０の反映機能は、後で詳しく説明するように、管理ユーザが承認することで、ゲスト作業データ１２６の内容、すなわちゲストユーザがワークスペース上で行なった作業内容がワークスペースデータ１２２に反映される。このようにワークスペースデータ１２２に作業内容が反映されることで、ゲストユーザが行なった作業が正規ユーザにより行なわれた作業と同等に扱われることになる。
【００５１】
図４を参照して、クライエント装置ＣＬは、制御構造として、ワークスペース管理部１４０と、描画部１４２と、データ送受信部１４４と、データ格納部１５０とを含む。典型的に、ワークスペース管理部１４０および描画部１４２は、ＣＰＵ２（図２）がハードディスク１２（図２）などに予め格納されているプログラムをメモリ１４（図２）に展開した上で実行することで提供される。データ格納部１５０は、ＨＤＤ１２の一部として提供される。また、データ送受信部１４４は、通信インターフェイス８（図２）と関連するドライバアプリケーションとの協働によって提供される。
【００５２】
データ送受信部１４４は、ネットワークＮＷ上を流れるパケットにうち、自装置を宛先とするパケットを選択的に受信する。そして、データ送受信部１４４は、受信したパケットから必要なデータを抽出し、自装置に必要な情報であるかどうかをフィルタリングする。抽出したデータが、自装置に必要な情報であり、かつ自装置に関する処理命令であれば、データ送受信部１４４は、その抽出したデータをワークスペース管理部１４０へ伝送する。
【００５３】
なお、データ送受信部１４４は、サーバ装置ＳＲＶおよび他のクライエント装置ＣＬに関する情報（たとえば、ＩＰアドレスとった送信先を特定するためのユニークな宛先情報など）を保持する。そして、データ送受信部１４４は、ワークスペース管理部１４０から何らかのデータの送信要求を受けると、それらの保持している情報に基づいて、パケットを生成してサーバ装置ＳＲＶなどに向けて送出する。
【００５４】
ワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、それをデータ格納部１５０に一旦保存するとともに、この保存されたクライエント用データ１２４に基づいて、ワークスペースを表示するためのデータを描画部１４２へ伝送する。また、ワークスペース管理部１４０は、ログインしているユーザが入力装置１０を操作して、ワークスペースにおいて何らかの作業を行なうと、その作業内容を示すデータをサーバ装置ＳＲＶへ送信する。より具体的には、ワークスペース管理部１４０は、出力機能、削除機能、読込機能、入力機能、保存機能、ユーザインターフェイス機能
を有する。
【００５５】
ワークスペース管理部１４０の入力機能は、自装置にログインしているユーザ操作に応じて、ワークスペース上の作業を示す処理命令を生成するためのものである。ワークスペース管理部１４０の読込機能および保存機能は、サーバ装置ＳＲＶから受信したクライエント用データ１２４をデータ格納部１５０に保存し、あるいはデータ格納部１５０に保存されたクライエント用データ１２４を読出すためのものである。ワークスペース管理部１１０の出力機能は、データ格納部１５０に保存されたクライエント用データ１２４に基づいて、ワークスペースを表示するためのデータを出力するためのものである。ワークスペース管理部１１０の削除機能は、自装置にログインしていたユーザがログアウト（ワークスペーススペースからの離脱）した後に、データ格納部１５０に保存されているクライエント用データ１２４を削除するためのものである。ワークスペース管理部１４０のユーザインターフェイス機能は、出力装置６に各種ダイアログなどのユーザインターフェイス表示するためのものである。より具体的には、ワークスペース管理部１４０のユーザインターフェイス機能としては、後述するように、自装置にログインしているユーザの種別（管理ユーザ、一般ユーザ、ゲストユーザのいずれか）に応じて提供するダイアログの内容を異ならせる。
【００５６】
描画部１４２は、ワークスペース管理部１４０からのデータに基づいて、出力装置６にワークスペースを表示するためにレンダリング（描画処理）を行なう。このレンダリング結果は、図示しない表示用グラフィックメモリに保存される。この描画用グラフィックメモリに保存された内容が出力装置６に反映出力される。
【００５７】
ワークスペース管理部１４０は、ユーザが入力装置１０を操作した内容をデータ格納部１５０に一旦保存した上で、必要に応じて、描画部１４２へ制御指令の出力、および／または、サーバ装置ＳＲＶへのデータ送信を行なってもよい。たとえば、各クライエント装置ＣＬ上で実行されるオペレーティングシステムによって提供されるＧＵＩ（Graphical User Interface）上での操作などを示す情報は、サーバ装置ＳＲＶへ送信されることなく描画部１４２へ出力され、出力装置６上の画面表示が更新される。
【００５８】
上述のように、あるクライエント装置ＣＬ上であるユーザが行なったワークスペース上の作業内容は、データ送受信部１４４を通じてサーバ装置ＳＲＶへ送信される。サーバ装置ＳＲＶは、この作業内容を受信すると、自装置のデータ格納部１２０が保持するワークスペースデータ１２２を更新するとともに、クライエント用データ１２４についても更新する。さらに、サーバ装置ＳＲＶは、この更新後のクライエント用データ１２４をそれぞれクライエント装置ＣＬへ送信する。すると、各クライエント装置ＣＬでは、当該あるユーザが行った作業内容を反映したワークスペースが表示される。このような一連の処理によって、クライエント装置ＣＬの間で、同期したワークスペースが提供される。
【００５９】
［全体処理手順］
以下、本実施の形態に従う情報処理システムにおける処理手順について説明する。より理解を容易にするために、（１）正規ユーザがワークスペースにログインして、ワークスペース上で作業を行なう場合の処理、（２）ゲストユーザがワークスペースにログインして、ワークスペース上で作業を行なう場合の処理、（３）ゲストユーザがワークスペースからログアウト（ワークスペーススペースから離脱）する場合の処理、の３つの状況についてそれぞれ説明する。
【００６０】
＜１．正規ユーザがワークスペースにログインして、ワークスペース上で作業を行なう場合の処理＞
（ログイン処理）
図５は、この発明の実施の形態に従う情報処理システムにおいて正規ユーザがログインする場合の処理を示す模式図である。なお、図５に示す例では、ゲストユーザはワークスペースにログインしていないものとする。以下の説明では、正規ユーザを「管理ユーザ」とした場合について説明する。
【００６１】
まず、管理ユーザがクライエント装置ＣＬ１を用いてワークスペースにログインしようとする場合を考える。この場合には、管理ユーザは、クライエント装置ＣＬ１の入力装置１０を操作して、自身に割当てられたログイン名およびパスワードなどの識別情報を入力する（ステップＳＴ１１）。
【００６２】
すると、クライエント装置ＣＬ１のワークスペース管理部１４０（図４）は、データ送受信部１４４を通じて、これらの入力された管理ユーザの識別情報とともに、ワークスペースへのログイン要求をサーバ装置ＳＲＶへ送信する（ステップＳＴ１２）。
【００６３】
サーバ装置ＳＲＶのクライエント管理部１１２は、このクライエント装置ＣＬ１からのログイン要求に応答して、データ格納部１２０が保持するユーザ管理データ１２８を参照して、ログイン要求とともに送信された管理ユーザの識別情報に対する認証処理を実行する（ステップＳＴ１３）。より具体的には、サーバ装置ＳＲＶのクライエント管理部１１２は、管理ユーザが入力したログイン名に対応するユーザ管理データ１２８に登録されているパスワードと、管理ユーザが入力したパスワードとが一致するか否かを判断することで、ログインの許否を決定する。なお、認証が失敗した場合には、サーバ装置ＳＲＶのクライエント管理部１１２は、その旨をクライエント装置ＣＬ１へ送信する。
【００６４】
認証が成功すると、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０からワークスペースデータ１２２およびゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ１４）。なお、図５に示す例では、ワークスペースデータ１２２にオブジェクトＯＢＪ１のデータが作成済であるとする。また、図５に示す例では、ワークスペースにゲストユーザがログインしていないので、ゲスト作業データ１２６には何らのデータも記録されていない。そのため、生成されるクライエント用データ１２４は、ワークスペースデータ１２２と実質的に同一のものとなる。このクライエント用データ１２４の生成処理の詳細については後述する。
【００６５】
その後、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ１へ送信する（ステップＳＴ１５）。なお、クライエント装置ＣＬ１への送信後、クライエント用データ１２４を破棄してもよい。
【００６６】
クライエント装置ＣＬ１のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ１の描画部１４２が、出力装置６にワークスペースを表示する（ステップＳＴ１６）。
【００６７】
このような一連の処理によって、クライエント装置ＣＬ１にログインした管理ユーザにワークスペースが提供される。
【００６８】
（クライエント用データの生成処理）
次に、図６および図７を参照して、クライエント用データ１２４の生成処理について説明する。図６は、この発明の実施の形態に従うワークスペースデータ１２２の一例を示す図である。図７は、この発明の実施の形態に従うクライエント用データ１２４の一例を示す図である。
【００６９】
図６および図７に示すように、本実施の形態に従うワークスペースおよびワークスペース上のオブジェクトを定義するための記述形式として、典型的に、ＸＭＬなどのマークアップ言語が用いられる。このようなマークアップ言語を用いることで、タグ（＜＞と＜／＞とで囲まれる記述）を自在に設定することでシステムの拡張性を高めることができる。
【００７０】
図６を参照して、ワークスペースデータ１２２は、ワークスペースタグ２１１および２１２（＜ｗｏｒｋｓｐａｃｅ＞および＜／ｗｏｒｋｓｐａｃｅ＞）で囲まれた記述２２０でワークスペースを定義する。この記述２２０は、ワークスペース上に生成されている各オブジェクトを定義するオブジェクトタグ（＜ｏｂｊｅｃｔ＞および＜／ｏｂｊｅｃｔ＞）を含む。このオブジェクトタグは、属性（プロパティ）として、「ｉｄ」および「ａｕｔｈｏｒｉｄ」を有する。この「ｉｄ」属性は、対応のオブジェクトを特定する識別情報（情報処理システムにおいてユニークな値）である。また、「ａｕｔｈｏｒｉｄ」属性は、対応のオブジェクトの作成者を示す識別番号である。なお、図５に示す管理ユーザの識別番号は「１」であるとする。
【００７１】
また、オブジェクトタグは、さらに、名前タグ２２２（＜ｎａｍｅ＞および＜／ｎａｍｅ＞）、ならびに位置タグ２２３（＜ｐｏｓｉｔｉｏｎ＞および＜／ｐｏｓｉｔｉｏｎ＞）をさらに含む。名前タグは、対応するオブジェクトに付与された名前であり、位置タグは、対応するオブジェクトの表示位置（典型的には、定義されたワークスペース上のＸ，Ｙ座標値）である。なお、この位置タグ２２３は、クライエント装置ＣＬの描画部１４２（図４）がワークスペースを表示する際に、各オブジェクトを表示すべき位置を決定する情報として用いられる。
【００７２】
クライエント装置ＣＬのワークスペース管理部１１０は、図６に示すようなワークスペースデータ１２２をデータ格納部１２０から読出すとともに、ゲスト作業データ１２６についてもデータ格納部１２０から読出す。そして、クライエント装置ＣＬのワークスペース管理部１１０は、基本的には、読出したワークスペースデータ１２２に、ゲスト作業データ１２６の内容を組入れて（マージして）、図７に示すようなクライエント用データ１２４を生成する。
【００７３】
図７を参照して、クライエント用データ１２４は、図６に示すワークスペースデータ１２２に対して、さらに、ゲストタグ２３１および２３２（＜ｇｕｅｓｔ＞および＜／ｇｕｅｓｔ＞）で囲まれた部分に、ゲスト作業用データの挿入部２３３を追加したものに相当する。これは、正規ユーザの作業によって生成されたワークスペースの状態と、ゲストユーザが行なった作業内容とを区別するためである。
【００７４】
（正規ユーザによる作業内容の反映処理）
図８は、この発明の実施の形態に従う情報処理システムにおいて正規ユーザがワークスペース上で何らかの作業を行なった場合の処理を示す模式図である。図８には、クライエント装置ＣＬ１にログインしている管理ユーザがワークスペース上でオブジェクトＯＢＪ２を新規作成した場合について例示する。
【００７５】
図８を参照して、ワークスペース上でオブジェクトＯＢＪ２を新規作成しようとする管理ユーザは、クライエント装置ＣＬ１の入力装置１０を操作して、目的のオブジェクトＯＢＪ２を作成する（ステップＳＴ２１）。クライエント装置ＣＬ１のワークスペース管理部１４０は、管理ユーザによる作業内容を記述したデータをデータ格納部１５０に逐次格納する。さらに、クライエント装置ＣＬ１のワークスペース管理部１４０は、所定タイミング（典型的には、オブジェクトＯＢＪ２の作成完了タイミング、もしくはオブジェクトＯＢＪ２の作成開始から所定時間経過後）で、データ送受信部１１４を通じて、データ格納部１５０に格納している管理ユーザの作業内容をサーバ装置ＳＲＶへ送信する（ステップＳＴ２２）。
【００７６】
サーバ装置ＳＲＶのワークスペース管理部１１０は、このクライエント装置ＣＬ１から作業内容を受信すると、送信元のクライエント装置ＣＬ１にログインしているユーザの種別を判断する。図８に示す場合には、クライエント装置ＣＬ１には管理ユーザがログインしているので、サーバ装置ＳＲＶのワークスペース管理部１１０は、この受信された作業内容をワークスペースデータ１２２に反映する（ステップＳＴ２３）。すなわち、サーバ装置ＳＲＶのワークスペース管理部１１０は、受信した作業内容に基づいて、ワークスペースデータ１２２を更新する。
【００７７】
続いて、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０から更新後のワークスペースデータ１２２およびゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ２４）。なお、このクライエント用データ１２４の生成処理については、上述したので、詳細な説明は繰返さない。そして、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ１へ送信する（ステップＳＴ２５）。なお、クライエント装置ＣＬ１への送信後、クライエント用データ１２４を破棄してもよい。また、図示していないが、サーバ装置ＳＲＶに複数のクライエント装置ＣＬが接続されている場合には、原則として、すべてのクライエント装置ＣＬに対して、対応するクライエント用データ１２４が送信される。
【００７８】
クライエント装置ＣＬ１のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ１の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ２６）。
【００７９】
このような一連の処理によって、クライエント装置ＣＬ１にログインした管理ユーザによるワークスペースでの作業内容が反映される。
【００８０】
＜２．ゲストユーザがワークスペースにログインして、ワークスペース上で作業を行なう場合の処理＞
上述したように、本実施の形態に従うワークスペースでは、ゲストユーザによる勝手な作業を制限するために、管理ユーザが承認した場合に限って、その作業内容を反映する。以下、その手順について説明する。
【００８１】
（ログイン処理）
図９は、この発明の実施の形態に従う情報処理システムにおいてゲストユーザがログインする場合の処理を示す模式図である。図９に示す例では、ゲストユーザがクライエント装置ＣＬ２にログインする場合について説明する。
【００８２】
まず、ゲストユーザは、クライエント装置ＣＬ２の入力装置１０を操作して、自身に割当てられたログイン名およびパスワードなどの識別情報を入力する（ステップＳＴ３１）。
【００８３】
すると、クライエント装置ＣＬ２のワークスペース管理部１４０（図４）は、データ送受信部１４４を通じて、これらの入力されたゲストユーザの識別情報とともに、ワークスペースへのログイン要求をサーバ装置ＳＲＶへ送信する（ステップＳＴ３２）。
【００８４】
サーバ装置ＳＲＶのクライエント管理部１１２は、このクライエント装置ＣＬ２からのログイン要求に応答して、データ格納部１２０が保持するユーザ管理データ１２８を参照して、ログイン要求とともに送信されたゲストユーザの識別情報に対する認証処理を実行する（ステップＳＴ３３）。より具体的には、サーバ装置ＳＲＶのクライエント管理部１１２は、ゲストユーザが入力したログイン名に対応するユーザ管理データ１２８に登録されているパスワードと、ゲストユーザが入力したパスワードとが一致するか否かを判断することで、ログインの許否を決定する。なお、認証が失敗した場合には、サーバ装置ＳＲＶのクライエント管理部１１２は、その旨をクライエント装置ＣＬ２へ送信する。
【００８５】
認証が成功すると、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０からワークスペースデータ１２２およびゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ３４）。なお、このクライエント用データ１２４の生成処理については、上述したので、詳細な説明は繰返さない。
【００８６】
図９に示す例では、ワークスペースデータ１２２にオブジェクトＯＢＪ１のデータが作成済であるとする。また、図９に示す例では、ワークスペースにゲストユーザがログイン中の状態であるが、ゲスト作業データ１２６には何らのデータも記録されていない。そのため、生成されるクライエント用データ１２４は、ワークスペースデータ１２２と実質的に同一のものとなる。
【００８７】
その後、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ２へ送信する（ステップＳＴ３５）。なお、クライエント装置ＣＬ２への送信後、クライエント用データ１２４を破棄してもよい。
【００８８】
クライエント装置ＣＬ２のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ２の描画部１４２が、出力装置６にワークスペースを表示する（ステップＳＴ３６）。
【００８９】
このような一連の処理によって、クライエント装置ＣＬ２にログインしたゲストユーザにワークスペースが提供される。
【００９０】
（ゲストユーザによる作業内容の反映処理）
図１０は、この発明の実施の形態に従う情報処理システムにおいてゲストユーザがワークスペース上で何らかの作業を行なった場合の処理を示す模式図である。図１０には、管理ユーザがクライエント装置ＣＬ１にログインしている状態で、クライエント装置ＣＬ２にログインしているゲストユーザがワークスペース上でオブジェクトＯＢＪ３を新規作成した場合について例示する。
【００９１】
図１０を参照して、ワークスペース上でオブジェクトＯＢＪ３を新規作成しようとするゲストユーザは、クライエント装置ＣＬ２の入力装置１０を操作して、目的のオブジェクトＯＢＪ３を作成する（ステップＳＴ４１）。クライエント装置ＣＬ２のワークスペース管理部１４０は、ゲストユーザによる作業内容を記述したデータをデータ格納部１５０に逐次格納する。さらに、クライエント装置ＣＬ２のワークスペース管理部１４０は、所定タイミング（典型的には、オブジェクトＯＢＪ３の作成完了タイミング、もしくはオブジェクトＯＢＪ３の作成開始から所定時間経過後）で、データ送受信部１１４を通じて、データ格納部１５０に格納しているゲストユーザの作業内容をサーバ装置ＳＲＶへ送信する（ステップＳＴ４２）。
【００９２】
サーバ装置ＳＲＶのワークスペース管理部１１０は、このクライエント装置ＣＬ２から作業内容を受信すると、送信元のクライエント装置ＣＬ２にログインしているユーザの種別を判断する。図１０に示す場合には、クライエント装置ＣＬ２にはゲストユーザがログインしているので、サーバ装置ＳＲＶのワークスペース管理部１１０は、この受信された作業内容をゲスト作業データ１２６に反映する（ステップＳＴ４３）。すなわち、サーバ装置ＳＲＶのワークスペース管理部１１０は、受信した作業内容に基づいて、ゲスト作業データ１２６を更新する。
【００９３】
続いて、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０からワークスペースデータ１２２および更新後のゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ４４）。なお、このクライエント用データ１２４の生成処理については、上述したので、詳細な説明は繰返さない。
【００９４】
そして、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ１へ送信する（ステップＳＴ４５）。クライエント装置ＣＬ１のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ１の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ４６）。
【００９５】
また、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ２へも送信する（ステップＳＴ４７）。クライエント装置ＣＬ２のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ２の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ４８）。
【００９６】
このとき、クライエント装置ＣＬ１およびＣＬ２においては、サーバ装置ＳＲＶのデータ格納部１２０が保持しているゲスト作業データ１２６の内容を、ワークスペースデータ１２２が保持している内容と区別可能に表示する。より具体的には、クライエント装置ＣＬ１およびＣＬ２の各描画部１４２は、サーバ装置ＳＲＶから受信したクライエント用データ１２４のうち、ゲストタグ２３１および２３２（＜ｇｕｅｓｔ＞および＜／ｇｕｅｓｔ＞）で囲まれた部分２３３の記述に対して、通常のオブジェクトとは異なる表示属性を与えるものと解釈する。より具体的には、各描画部１４２は、ゲストユーザが作成したオブジェクトＯＢＪ３を点滅表示、色を他のオブジェクトとは異なる色に変更して表示、オブジェクトＯＢＪ３に近接してゲストユーザが作成したことを表わすアイコンなどを付加して表示、といった表示処理を行なう。
【００９７】
（管理ユーザがログイン中のクライエント装置ＣＬ上のユーザインターフェイス例）
上述したように、本実施の形態に従う情報処理システムでは、ゲストユーザによる作業内容は、管理ユーザの承認が得られた場合に、ワークスペースに反映される。このようなゲストユーザによる作業内容を管理ユーザが承認もしくは否認するためのユーザインターフェイスについて、以下説明する。
【００９８】
図１１は、この発明の実施の形態に従う情報処理システムにおいて管理ユーザがログインしているクライエント装置ＣＬにおいて表示されるダイアログの一例を示す図である。管理ユーザがログイン先のクライエント装置ＣＬの出力装置６上に表示されているワークスペース上において、ゲストユーザが作成したオブジェクト（この例では、オブジェクトＯＢＪ３）に対して所定の操作を行なうと、図１１に示すようなダイアログ３００が表示される。典型的には、表示されるオブジェクトＯＢＪ３上もしくはオブジェクトＯＢＪ３の近傍でマウスに対するクリック操作（たとえば、右クリック）を行なうことで、ダイアログ３００がポップアップ表示される。このようなダイアログ３００は、ワークスペース管理部１４０のユーザインターフェイス機能によって提供される。なお、このようなダイアログは、公知のオペレーティングシステムによって提供されるモジュールなどを利用して表示することができる。そのため、ダイアログ３００を表示するための構成および処理についての詳細な説明は行なわない。
【００９９】
このダイアログ３００には、ゲストユーザが作成した対象のオブジェクトについて、ワークスペースへの反映を「承認」するか、あるいは「否認」するかを選択するためのボタン３０２および３０４が配置される。管理ユーザがボタン３０２を選択すると、ゲストユーザが作成した対象のオブジェクトがワークスペースに反映、すなわち、その作業内容がワークスペースデータ１２２に恒久的に格納される。一方、管理ユーザがボタン３０４を選択すると、一時的に格納されている対応する作業内容がゲスト作業データ１２６から削除される。
【０１００】
以下、それぞれのボタンが選択された場合の処理について説明する。
（管理ユーザによるゲストユーザの作業内容の承認処理）
図１２は、この発明の実施の形態に従う情報処理システムにおいて管理ユーザがゲストユーザの作成したオブジェクトを承認した場合の処理を示す模式図である。図１２には、ゲストユーザが作成したオブジェクトＯＢＪ３に対して、管理ユーザがワークスペースへの反映を承認しようとする場合について例示する。この場合には、管理ユーザは、クライエント装置ＣＬ１の入力装置１０を操作して、目的のオブジェクトＯＢＪ３に関連付けて、図１１に示すようなダイアログ３００を表示させるとともに、このダイアログ３００上で「承認」を示すボタン３０２を選択する（ステップＳＴ５１Ａ）。すると、クライエント装置ＣＬ１のワークスペース管理部１４０（図４）は、データ送受信部１４４を通じて、関連付けられたオブジェクトの識別情報（典型的には、図６に示すオブジェクトタグ２２１内の「ｉｄ」属性の値）とともに、当該オブジェクトのワークスペースへの反映要求をサーバ装置ＳＲＶへ送信する（ステップＳＴ５２）。
【０１０１】
サーバ装置ＳＲＶのクライエント管理部１１２は、このクライエント装置ＣＬ１からの反映要求に応答して、データ格納部１２０が保持するゲスト作業データ１２６に記録されている対象のオブジェクトについての記述をワークスペースデータ１２２へ移動する（ステップＳＴ５３Ａ）。すなわち、クライエント管理部１１２は、ゲスト作業データ１２６に記録されている対象のオブジェクトについての記述を削除するとともに、当該削除した内容をワークスペースデータ１２２に追加する。
【０１０２】
続いて、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０から更新後のワークスペースデータ１２２および更新後のゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ５４）。この場合には、更新後のゲスト作業データ１２６には何らのデータも記録されていないことになるので、生成されるクライエント用データ１２４は、更新後のワークスペースデータ１２２と実質的に同一のものとなる。このクライエント用データ１２４の生成処理については、上述したので、詳細な説明は繰返さない。
【０１０３】
そして、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ１へ送信する（ステップＳＴ５５）。クライエント装置ＣＬ１のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ１の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ５６）。
【０１０４】
また、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ２へも送信する（ステップＳＴ５７）。クライエント装置ＣＬ２のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ２の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ５８）。
【０１０５】
クライエント装置ＣＬ１およびＣＬ２に送信される新たなクライエント用データ１２４では、ゲストユーザが作成したオブジェクトＯＢＪ３は、正規ユーザが作成したオブジェクトと同等に取扱われる。そのため、当該オブジェクトＯＢＪ３の表示属性は、他のオブジェクトＯＢＪ１およびＯＢＪ２と同等に変更される。
【０１０６】
（管理ユーザによるゲストユーザの作業内容の否認処理）
図１３は、この発明の実施の形態に従う情報処理システムにおいて管理ユーザがゲストユーザの作成したオブジェクトを否認した場合の処理を示す模式図である。図１３には、ゲストユーザが作成したオブジェクトＯＢＪ３に対して、管理ユーザがワークスペースへの反映を否認しようとする場合について例示する。この場合には、管理ユーザは、クライエント装置ＣＬ１の入力装置１０を操作して、目的のオブジェクトＯＢＪ３に関連付けて、図１１に示すようなダイアログ３００を表示させるとともに、このダイアログ３００上で「否認」を示すボタン３０４を選択する（ステップＳＴ５１Ｂ）。すると、クライエント装置ＣＬ１のワークスペース管理部１４０（図４）は、データ送受信部１４４を通じて、関連付けられたオブジェクトの識別情報（典型的には、図６に示すオブジェクトタグ２２１内の「ｉｄ」属性の値）とともに、当該オブジェクトのワークスペースへの反映却下要求をサーバ装置ＳＲＶへ送信する（ステップＳＴ５２）。
【０１０７】
サーバ装置ＳＲＶのクライエント管理部１１２は、このクライエント装置ＣＬ１からの反映却下要求に応答して、データ格納部１２０が保持するゲスト作業データ１２６に記録されている対象のオブジェクトについての記述を削除する（ステップＳＴ５３Ｂ）。すなわち、クライエント管理部１１２は、ゲスト作業データ１２６に記録されているゲストユーザの作業内容を消去する。以下、図１２に示すステップＳＴ５４〜ＳＴ５８と同様の処理が実行される。
【０１０８】
（オブジェクトに対する承認／否認を入力するためのダイアログ）
図１１に示すようなゲストユーザが作成したオブジェクトに対する承認または否認を入力するためのダイアログ３００は、本来的に、管理ユーザのみが必要とするものである。そのため、図１１に示すようなダイアログ３００は、管理ユーザがログインしているクライエント装置ＣＬでのみ表示され、ゲストユーザもしくは一般ユーザがログインしているクライエント装置ＣＬでは表示されないようにすることが好ましい。
【０１０９】
このようなダイアログ３００を選択的に表示する方法として、クライエント装置ＣＬのワークスペース管理部１４０（図４）が自装置にログインしているユーザの種別を、ログイン処理時に予め取得しておき、この取得した種別に応じて、ダイアログ３００の表示を有効にするか、あるいは無効にするかを決定してもよい。すなわち、クライエント装置ＣＬのワークスペース管理部１４０におけるユーザインターフェイス機能として、ダイアログ３００を表示する機能を備えておき、自装置に管理ユーザがログインしている場合に限って、ダイアログ３００を表示するようにしてもよい。なお、いずれの種別のユーザが自装置にログインしているかについては、ログイン時だけでなく、任意のタイミングで、クライエント装置ＣＬがサーバ装置ＳＲＶへ問い合わせを行なうようにしてもよい。
【０１１０】
別の方法として、サーバ装置ＳＲＶがクライエント用データ１２４を生成する際に、送信先のクライエント装置ＣＬにログイン中のユーザ種別に応じてそのデータ内容を適宜変更するようにしてもよい。たとえば、管理ユーザがログインしているクライエント装置ＣＬに対して送信されるクライエント用データ１２４には、ダイアログ３００を表示すべきことおよびその表示形態などを指示する記述を付加する。一方、ゲストユーザがログインしているクライエント装置ＣＬに対して送信されるクライエント用データ１２４には、上述のようなダイアログ３００の表示に係る記述を付加しない。このようにクライエント用データ１２４の異なるものとすることで、ダイアログ３００を、管理ユーザがログインしているクライエント装置ＣＬにおいてのみ表示させることができる。
【０１１１】
あるいは別の方法として、それぞれのクライエント装置ＣＬ上において、それにログインしているユーザの種別にかかわらず、ダイアログ３００を一律に表示可能にする。そして、サーバ装置ＳＲＶの側でダイアログ３００のボタンを選択した際に送信される要求（反映要求または反映却下要求）を、その要求の送信元のクライエント装置ＣＬにログインしているユーザの種別に応じて、有効なものであるか否かを判断するようにしてもよい。すなわち、管理ユーザがログインしているクライエント装置ＣＬであっても、ゲストユーザがログインしているクライエント装置ＣＬであっても、ダイアログ３００を表示可能にする一方、ゲストユーザがログインしているクライエント装置ＣＬ上でなされた操作に対しては、サーバ装置ＳＲＶが無効な操作として受付けない。
【０１１２】
＜３．ゲストユーザがワークスペースからログアウトする場合の処理＞
ワークスペースにログインしていたゲストユーザがログアウトした場合には、当該ゲストユーザが行なった作業内容は削除しておくことが好ましい。そのため、本実施の形態に従う情報処理システムにおいては、ゲストユーザのログアウトに伴って、ゲスト作業データ１２６に記録された当該ゲストユーザの作業内容が削除される。以下、このようなゲストユーザのログアウト時の処理について説明する。
【０１１３】
図１４は、この発明の実施の形態に従う情報処理システムにおいてゲストユーザがログアウトする場合の処理を示す模式図である。
【０１１４】
図１４を参照して、ワークスペースからログアウトしようとするゲストユーザは、クライエント装置ＣＬ２の入力装置１０を用いて、所定のログアウト操作を行なう（ステップＳＴ６１）。
【０１１５】
すると、クライエント装置ＣＬ２のワークスペース管理部１４０（図４）は、データ送受信部１４４を通じて、ゲストユーザの識別情報とともに、ワークスペースからのログアウト要求をサーバ装置ＳＲＶへ送信する（ステップＳＴ６２）。
【０１１６】
サーバ装置ＳＲＶのクライエント管理部１１２は、このクライエント装置ＣＬ２からのログアウト要求に応答して、送信されたゲストユーザの識別情報についてのログアウト処理を実行する。サーバ装置ＳＲＶのクライエント管理部１１２は、このログアウト処理において、ログアウトしたユーザがゲストユーザであれば、データ格納部１２０が保持するゲスト作業データ１２６に記録されている、当該ゲストユーザに関連する作業内容についての記述を削除する（ステップＳＴ６３）。
【０１１７】
続いて、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０からワークスペースデータ１２２および更新後のゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ６４）。このクライエント用データ１２４の生成処理については、上述したので、詳細な説明は繰返さない。
【０１１８】
そして、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ１へ送信する（ステップＳＴ６５）。クライエント装置ＣＬ１のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ１の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ６６）。
【０１１９】
［サーバ装置における処理手順］
次に、上述したシステム全体についての処理手順を実現するためのサーバ装置ＳＲＶにおける処理手順について説明する。
【０１２０】
図１５は、この発明の実施の形態１に従うサーバ装置ＳＲＶにおける処理手順を示すフローチャートである。図１５に示す各処理手順は、代表的に、サーバ装置ＳＲＶのＣＰＵ２（図２）がプログラムを実行することで提供される。
【０１２１】
図１５を参照して、サーバ装置ＳＲＶのＣＰＵ２は、いずれかのクライエント装置ＣＬからログイン要求を受信したか否かを判断する（ステップＳＴ１００）。いずれのクライエント装置ＣＬからもログイン要求を受信していない場合（ステップＳＴ１００においてＮＯの場合）には、処理はステップＳＴ１１４へ進む。
【０１２２】
一方、いずれかのクライエント装置ＣＬからログイン要求を受信した場合（ステップＳＴ１００においてＹＥＳの場合）には、ＣＰＵ２は、ユーザ管理データ１２８を参照して、ログイン要求とともに送信されたユーザの識別情報に対する認証処理を実行する（ステップＳＴ１０２）。続いて、ＣＰＵ２は、認証処理が成功したか否かを判断する（ステップＳＴ１０４）。
【０１２３】
認証処理が成功した場合（ステップＳＴ１０４においてＹＥＳの場合）には、ＣＰＵ２は、ログインしたユーザの種別を特定する（ステップＳＴ１０６）。続いて、ＣＰＵ２は、保存されているワークスペースデータ１２２およびゲスト作業データ１２６に基づいて、クライエント用データ１２４を生成し（ステップＳＴ１０８）、生成したクライエント用データ１２４をログイン要求の送信元のクライエント装置ＣＬへ送信する（ステップＳＴ１１０）。そして、処理はステップＳＴ１１４へ進む。
【０１２４】
認証処理が成功しなかった（失敗した）場合（ステップＳＴ１０４においてＮＯの場合）には、ＣＰＵ２は、認証が失敗したことをログイン要求の送信元のクライエント装置ＣＬへ通知する（ステップＳＴ１１２）。そして、処理はステップＳＴ１１４へ進む。
【０１２５】
ステップＳＴ１１４において、ＣＰＵ２は、いずれかのクライエント装置ＣＬからユーザの作業内容を記述したデータを受信したか否かを判断する。いずれのクライエント装置ＣＬからもユーザの作業内容を記述したデータを受信していない場合（ステップＳＴ１１４においてＮＯの場合）には、処理はステップＳＴ１２６へ進む。
【０１２６】
いずれかのクライエント装置ＣＬからユーザの作業内容を記述したデータを受信した場合（ステップＳＴ１１４においてＹＥＳの場合）には、ＣＰＵ２は、ステップＳＴ１０６における特定結果に基づいて、当該作業内容を記述したデータの送信元のクライエント装置ＣＬにログイン中のユーザ種別を判断する（ステップＳＴ１１６）。
【０１２７】
送信元のクライエント装置ＣＬにログイン中のユーザが正規ユーザ（管理ユーザまたは一般ユーザ）である場合（ステップＳＴ１１６において「正規」の場合）には、ＣＰＵ２は、受信したデータをワークスペースデータ１２２に追記する（ステップＳＴ１１８）。その後、処理はステップＳＴ１２２へ進む。
【０１２８】
一方、送信元のクライエント装置ＣＬにログイン中のユーザがゲストユーザである場合（ステップＳＴ１１６において「ゲスト」の場合）には、ＣＰＵ２は、受信したデータをゲスト作業データ１２６に追記する（ステップＳＴ１２０）。その後、処理はステップＳＴ１２２へ進む。
【０１２９】
ステップＳＴ１２２において、ＣＰＵ２は、保存されているワークスペースデータ１２２およびゲスト作業データ１２６に基づいて、クライエント用データ１２４を生成する。続いて、ＣＰＵ２は、現在ワークスペースにログイン中のすべてのクライエント装置ＣＬを特定し、生成したクライエント用データ１２４を特定したクライエント装置ＣＬにそれぞれ送信する（ステップＳＴ１２４）。そして、処理はリターンする。
【０１３０】
ステップＳＴ１２６において、ＣＰＵ２は、管理ユーザがログイン中のクライエント装置ＣＬから反映要求を受信したか否かを判断する。管理ユーザがログイン中のクライエント装置ＣＬから反映要求を受信していない場合（ステップＳＴ１２６においてＮＯの場合）には、処理はステップＳＴ１３０へ進む。
【０１３１】
一方、管理ユーザがログイン中のクライエント装置ＣＬから反映要求を受信した場合（ステップＳＴ１２６においてＹＥＳの場合）には、ＣＰＵ２は、ゲスト作業データ１２６に記述されている作業内容のうち、受信した反映要求に対応付けられているゲストユーザの作業内容をワークスペースデータ１２２へ移動する（ステップＳＴ１２８）。そして、処理はステップＳＴ１２２へ進む。
【０１３２】
ステップＳＴ１３０において、ＣＰＵ２は、管理ユーザがログイン中のクライエント装置ＣＬから反映却下要求を受信したか否かを判断する。管理ユーザがログイン中のクライエント装置ＣＬから反映却下要求を受信していない場合（ステップＳＴ１３０においてＮＯの場合）には、処理はステップＳＴ１３４へ進む。
【０１３３】
一方、管理ユーザがログイン中のクライエント装置ＣＬから反映却下要求を受信した場合（ステップＳＴ１３０においてＹＥＳの場合）には、ＣＰＵ２は、ゲスト作業データ１２６に記述されている作業内容のうち、受信した反映要求に対応付けられているゲストユーザの作業内容を削除する（ステップＳＴ１３２）。そして、処理はステップＳＴ１２２へ進む。
【０１３４】
ステップＳＴ１３４において、ＣＰＵ２は、いずれかのクライエント装置ＣＬからログアウト要求を受信したか否かを判断する。いずれかのクライエント装置ＣＬからもログアウト要求を受信していない場合（ステップＳＴ１３４においてＮＯの場合）には、処理はリターンする。
【０１３５】
一方、いずれかのクライエント装置ＣＬからログアウト要求を受信した場合（ステップＳＴ１３４においてＹＥＳの場合）には、ＣＰＵ２は、所定のログアウト処理を実行する（ステップＳＴ１３６）。続いて、ＣＰＵ２は、ステップＳＴ１０６における特定結果に基づいて、ログアウト要求の送信元のクライエント装置ＣＬにログイン中のユーザ種別を判断する（ステップＳＴ１３８）。送信元のクライエント装置ＣＬにログイン中のユーザが正規ユーザ（管理ユーザまたは一般ユーザ）である場合（ステップＳＴ１３８において「正規」の場合）には、処理はリターンする。
【０１３６】
一方、送信元のクライエント装置ＣＬにログイン中のユーザがゲストユーザである場合（ステップＳＴ１３８において「ゲスト」の場合）には、ＣＰＵ２は、ゲスト作業データ１２６に記述されている作業内容のうち、ログアウトしたゲストユーザに対応付けられている作業内容を削除する（ステップＳＴ１４０）。そして、処理はステップＳＴ１２２へ進む。
【０１３７】
［実施の形態による作用・効果］
この発明の実施の形態によれば、ゲストユーザがなした作業内容については、管理ユーザの承認が与えられてはじめてワークスペースに反映される。そのため、ゲストユーザは、操作権限を与えられた作業可能範囲内において自由に意見や提案を行なうことができ、かつ、管理ユーザは、これらのゲストユーザからの意見や提案のうち、採用すべきと考えるものに対してのみ承認を与えることができる。
【０１３８】
これにより、仮に悪意をもったゲストユーザがワークスペースに参加した場合であっても、そのようなゲストユーザによる、ワークスペース上の既存のオブジェクトに対する破壊や、悪意のあるオブジェクトなどの作成を防止できる。
【０１３９】
また、この発明の実施の形態によれば、ゲストユーザがワークスペースからログアウト（離脱）すると、未だ管理ユーザによる承認を与えられていない、未反映の作業内容（オブジェクト）が削除される。そのため、管理ユーザが承認を与える意思のない作業内容に対して、いちいち否認する必要がない。そのため、実際のコラボレーション作業（共同作業）を考慮してより作業効率を高めることができる。
【０１４０】
［変形例１］
上述の実施の形態においては、正規ユーザの作業内容をワークスペースデータとして格納し、ゲストユーザの作業内容をゲスト作業データとして格納することで、両者を区別する構成について例示したが、同一のファイル内に両者を区別するタグを付加して記録するようにしてもよい。
【０１４１】
図１６は、この発明の実施の形態の変形例１に従うワークスペースデータ１２２＃の一例を示す図である。なお、図１６に示す例は、図６に示す実施の形態に従うワークスペースデータ１２２に、ゲストユーザが作成したオブジェクトの記述２３０を追加したものに相当する。
【０１４２】
図１６に示すように、ワークスペースタグ２１１および２１２（＜ｗｏｒｋｓｐａｃｅ＞および＜／ｗｏｒｋｓｐａｃｅ＞）で囲まれた範囲に、正規ユーザが作成したオブジェクトの記述２２０に加えて、暫定タグ２６１（＜ｔｅｍｐ＞および＜／ｔｅｍｐ＞）で囲まれた記述２３０を含む。この暫定タグ２６１は、ゲストユーザによる作業内容が一時的に記録されていることを示すものである。なお、図１６に示すようなワークスペースデータ１２２＃を採用した場合には、ゲスト作業データ１２６は必要ないので、基本的にワークスペースデータ１２２＃自体がクライエント用データ１２４としてクライエント装置ＣＬへ送信される。すると、各クライエント装置ＣＬでは、暫定タグ２６１（＜ｔｅｍｐ＞および＜／ｔｅｍｐ＞）で囲まれた部分の記述を、暫定的なオブジェクトであるものとして解釈する。
【０１４３】
さらに、管理ユーザがこれらのゲストユーザによる作業内容を反映する場合には、サーバ装置ＳＲＶのワークスペース管理部１１０がこの暫定タグ２６１を削除等する。
【０１４４】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１４５】
このような構成を採用することで、ワークスペースに対して何らかの変更がなされる度にクライエント装置ＣＬに送信されるクライエント用データ１２４の生成処理を簡素化できる。そのため、処理速度を速くすることができ、その結果、ユーザに対する操作性をより高めることができる。
【０１４６】
［変形例２］
本実施の形態に従うワークスペースにおいては、管理ユーザの監視下において、ゲストユーザによる作業の自由度を高めることを目的としている。そのため、ゲストユーザを管理する管理ユーザがワークスペースからログアウトした後には、当該ゲストユーザによる作業を反映できなくなる。したがって、管理ユーザのログアウトとともに、監視下にあるゲストユーザの作業内容も消去することが好ましい場合も多い。そこで、以下、このような処理を行なう構成について例示する。
【０１４７】
図１７は、この発明の実施の形態の変形例２に従う情報処理システムにおいて管理ユーザがログアウトする場合の処理を示す模式図である。なお、ゲストユーザは、少なくとも１人の管理ユーザに関連付けられているものとする。すなわち、それぞれのゲストユーザには、その作業内容に対して承認を与える権限を付与されている管理ユーザが予め定められているものとする。このような関連付けは、ユーザ管理データ１２８に記録されているものとする。
【０１４８】
図１７を参照して、管理ユーザが、ワークスペースからログアウトしようとして、クライエント装置ＣＬ１の入力装置１０を用いて、所定のログアウト操作を行なったとする（ステップＳＴ７１）。すると、クライエント装置ＣＬ１のワークスペース管理部１４０（図４）は、データ送受信部１４４を通じて、管理ユーザの識別情報とともに、ワークスペースからのログアウト要求をサーバ装置ＳＲＶへ送信する（ステップＳＴ７２）。
【０１４９】
サーバ装置ＳＲＶのクライエント管理部１１２は、このクライエント装置ＣＬ１からのログアウト要求に応答して、送信された管理ユーザの識別情報についてのログアウト処理を実行する。サーバ装置ＳＲＶのクライエント管理部１１２は、ログアウトした管理ユーザに関連付けられているゲストユーザについての作業内容の記述をゲスト作業データ１２６から削除する（ステップＳＴ７３）。なお、管理ユーザが１人だけであるような場合には、ゲスト作業データ１２６のすべての内容が削除される。
【０１５０】
続いて、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ格納部１２０からワークスペースデータ１２２および更新後のゲスト作業データ１２６を読出し、これらの読出したデータに基づいて、クライエント用データ１２４を生成する（ステップＳＴ７４）。このクライエント用データ１２４の生成処理については、上述したので、詳細な説明は繰返さない。
【０１５１】
そして、サーバ装置ＳＲＶのワークスペース管理部１１０は、データ送受信部１１４を通じて、生成したクライエント用データ１２４をクライエント装置ＣＬ２へ送信する（ステップＳＴ７５）。クライエント装置ＣＬ２のワークスペース管理部１４０は、サーバ装置ＳＲＶからクライエント用データ１２４を受信すると、受信したクライエント用データ１２４をデータ格納部１５０に上書保存するとともに、クライエント用データ１２４を描画部１４２へ出力する。すると、クライエント装置ＣＬ２の描画部１４２が、出力装置６に表示されているワークスペースを最新のものに更新する（ステップＳＴ７６）。
【０１５２】
なお、上述のステップＳＴ７４〜ＳＴ７６の処理を必ずしも実行する必要はないが、ゲストユーザがワークスペースにログインしている限りにおいて、自身の行なった作業内容が削除されたことを通知する意味において、クライエント装置ＣＬ２の出力装置６における表示内容を更新することが好ましい。
【０１５３】
さらに、関連付けられた管理ユーザがワークスペースにログインしていない状態では、ゲストユーザの作業内容をゲスト作業データ１２６への記録を禁止することが好ましい。
【０１５４】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１５５】
このような構成を採用することで、管理ユーザの監視下においてのみ、ゲストユーザによる作業内容をワークスペースに反映するという運営ポリシーを遵守することができる。また、管理ユーザが一旦グアウトした後、再度ログインした場合に、過去にゲストユーザが行なった作業内容が残っているといった不具合の発生を防止することもできる。
【０１５６】
［変形例３］
上述の実施の形態においては、ゲストユーザの作成したオブジェクトは、管理ユーザが所定の操作を行なった場合にはじめてワークスペースに反映される構成について例示した。一方、実際のコラボレーション作業（共同作業）においては、それぞれのクライエント装置ＣＬ上でワークスペース上の所定範囲を共通に見ながら、議論などを行なう場合も多い。このような場合には、いちいち承認を与える操作を行なうことは、作業効率を低下させることも考えられる。そこで、ゲストユーザが行なった作業を管理ユーザが監視しているとみなされる場合には、当該ゲストユーザが行なった作業を自動的にワークスペースに反映させてもよい。
【０１５７】
図１８は、この発明の実施の形態の変形例３に従う処理を示す模式図である。図１８に示すように、ゲストユーザがログインしているクライエント装置ＣＬ２に表示されるワークスペースの範囲と、管理ユーザがログインしているクライエント装置ＣＬ１に表示されるワークスペースの範囲との間で重複している範囲があるものとする。このような重複範囲において、ゲストユーザが作成したオブジェクトは、自動的にワークスペースに反映される。もちろん、表示が重複しない範囲にゲストユーザが作成したオブジェクトについては、管理ユーザが明示的に承認を与えることで、ワークスペースに反映される。
【０１５８】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１５９】
このような構成を採用することで、管理ユーザの監視下においてのみ、ゲストユーザによる作業内容をワークスペースに反映するという運営ポリシーを遵守するできるとともに、実際のコラボレーション作業（共同作業）を考慮してより作業効率を高めることができる。
【０１６０】
［変形例４］
上述の実施の形態においては、ゲストユーザの作成したオブジェクトは、管理ユーザが所定の操作を行なった場合にはじめてワークスペースに反映される構成について例示した。一方、ゲストユーザが何らかのオブジェクトを作成すると、管理ユーザが未だ承認を与えていなくとも、他のユーザ（一般ユーザなど）は、当該ゲストユーザが作成したオブジェクトに対してアクセス（典型的には、表示や編集など）することが可能となる。すなわち、価値の高いオブジェクトに対しては、必然的にユーザアクセスが増加すると考えられるので、このように正規ユーザからのアクセス数が所定数を超えたオブジェクトについては、自動的にワークスペースに反映するようにしてもよい。
【０１６１】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１６２】
このような構成を採用することで、実際のコラボレーション作業（共同作業）を考慮して、他の正規ユーザの利便性などに配慮して、より作業効率を高めることができる。
【０１６３】
［変形例５］
上述の実施の形態においては、ゲストユーザの作業内容は、管理ユーザが否認するか、あるいは管理ユーザがログアウトしない限り、ゲスト作業データ１２６から削除されない構成について例示した。しかしながら、ゲストユーザの意見などが玉石混交の状態で多数提案されたような場合には、管理ユーザは、「よさそうな」ものだけを選択的に承認することが多いと考えられる。このような場合、管理ユーザが承認しなかったオブジェクトについての不要な記述は、ゲスト作業データ１２６に記録されたままとなるが、このような不要な記述が増大すると、リソースの無駄となる。一方、管理ユーザがこれらの不要なオブジェクトに対して、いちいち否認をすることも作業効率を低下させる原因となり得る。
【０１６４】
そこで、ゲストユーザが何らからのオブジェクトを作成した後、所定期間が経過すると、当該オブジェクトの記述をゲスト作業データ１２６から自動的に削除するようにしてもよい。なお、この所定期間の起算点は、対象のオブジェクトに対していずかのユーザがアクセス（典型的には、表示や編集など）した時点としてもよい。すなわち、いずれかのユーザが最後にアクセスしてから所定期間が経過すると、当該オブジェクトの記述がゲスト作業データ１２６から自動的に削除される。これにより、いずれかのユーザがアクセス中にオブジェクトが消去されるといった不具合を回避できる。
【０１６５】
なお、このような構成を実現するために、ゲスト作業データ１２６に定義されるオブジェクトに関連付けて、作成時間（たとえば、＜ＣｒｅａｔｅＴｉｍｅ＞といったタグもしくは属性）を示す情報を付加することが好ましい。
【０１６６】
また、ワークスペース上のオブジェクトが突然消えると、予想しない不具合が生じ得ることもあるので、削除される時間が近付くと、その表示を徐々に薄くしたり、ある時間周期でオブジェクトを震えさせる演出をしたり、視覚的に削除されることを通知するメッセージやアイコンなどを表示させることが好ましい。
【０１６７】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１６８】
このような構成を採用することで、実際のコラボレーション作業（共同作業）を考慮して、管理ユーザの作業効率を無駄に低下させてしまうことを抑制できる。
【０１６９】
［変形例６］
上述の実施の形態においては、管理ユーザがゲストユーザによって作成されたあるオブジェクトに対して、承認もしくは否認をすると、当該指示に従って即座に処理が実行させる構成について例示した。しかしながら、あるオブジェクトに対する管理ユーザの承認もしくは否認が適用されるタイミングを任意に設定できるようにしてもよい。さらに、あるオブジェクトに対して行なった内容を他のオブジェクトに適用できるようにしてもよい。
【０１７０】
このように各種操作の自由度を高めることによって、実際のコラボレーション作業（共同作業）に応じたフレキシブルなシステムを提供できる。
【０１７１】
［変形例７］
上述の実施の形態においては、管理ユーザがゲストユーザによって作成されたあるオブジェクトに対して、承認もしくは否認をすると、対応する記載をゲスト作業データ１２６から削除する構成について例示した。しかしながら、記載自体は保持しつつ、当該記載を無効化するようにしてもよい。以下、このような構成について例示する。
【０１７２】
図１９は、この発明の実施の形態の変形例７に従うゲスト作業データ１２６Ａの一例を示す図である。図１９には、ゲストユーザが作成したオブジェクトに対して、管理ユーザが承認もしくは否認をした場合における、対象のオブジェクトについての削除処理の内容を示す。
【０１７３】
図１９に示すように、ゲストユーザがオブジェクトを作成した直後においては、ワークスペースタグ２１１および２１２（＜ｗｏｒｋｓｐａｃｅ＞および＜／ｗｏｒｋｓｐａｃｅ＞）に囲まれて、当該オブジェクトに対応する記述２３０が存在する。これに対して、削除処理がなされると、記述２３０の前後にそれぞれ不可視タグ２７１および２７２（＜ｉｎｖｉｓｉｂｌｅ＞および＜／ｉｎｖｉｓｉｂｌｅ＞）が付加される。この不可視タグ２７１および２７２は、それらに囲まれた内容を表示しない、すなわち無効化するものとして解釈される。その結果、記述２３０は、ゲスト作業データ１２６Ａから実質的に削除されることになる。
【０１７４】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１７５】
このような構成を採用することで、ゲストユーザが作成したオブジェクトを削除した場合であっても、後日、改めて有効と思われるものを再度検討するような場合に有効である。さらに、ゲストユーザのログイン情報を関連付けることで、ゲストユーザが一旦ログオフして、再度ログインした場合に、前回のログオフ直前の状態から作業を再開することもできる。
【０１７６】
［変形例８］
上述の実施の形態においては、ゲストユーザの作業内容として、成果物、すなわち生成されたオブジェクトを定義する記述として記録される構成について例示したが、履歴情報として記録するようにしてもよい。すなわち、ゲストユーザが行なった操作を順次記録しておくことで、オブジェクトの単位で承認／否認を行なうだけでなく、より細かな操作単位で承認／否認を行なうことができる。以下、このような構成について例示する。
【０１７７】
図２０は、この発明の実施の形態の変形例８に従うゲスト作業データ１２６Ｂの一例を示す図である。
【０１７８】
図２０を参照して、ゲスト作業データ１２６Ｂは、ターゲットワークスペースタグ２８１および２８２（＜ｔａｒｇｅｔ＿ｗｏｒｋｓｐａｃｅ＞および＜／ｔａｒｇｅｔ＿ｗｏｒｋｓｐａｃｅ＞）で囲まれた記述２８０で対象とするワークスペースを定義する。この記述２８０は、プロセスタグ２８３および２８４（＜ｐｒｏｃｅｓｓ＞および＜／ｐｒｏｃｅｓｓ＞）を含んでおり、このプロセスタグ２８３および２８４には、属性（プロパティ）として、「ｉｄ」および「ａｕｔｈｏｒｉｄ」を有する。この「ｉｄ」属性は、対応のプロセスを特定する識別情報（情報処理システムにおいてユニークな値）である。また、「ａｕｔｈｏｒｉｄ」属性は、対応のプロセスの実行者を示す識別番号である。
【０１７９】
また、プロセスタグは、オブジェクト識別タグ２８５（＜ｏｂｊｅｃｔ＿ｉｄ＞）およびコマンド識別タグ２８６（＜ｃｏｍｍａｎｄ＿ｉｄ＞）を含む。このオブジェクト識別タグ２８５は、プロセスの実行対象のオブジェクトを特定する識別情報である。コマンド識別タグ２８６は、プロセスで実行したコマンドを特定する識別情報である。
【０１８０】
すなわち、図示していないが、各オブジェクトに対して実行された処理を示す情報がコマンド識別タグ２８６の値として順次追記されることになる。
【０１８１】
そのため、管理者がゲストユーザによって行なわれた特定のオブジェクトに対する操作に対して、このコマンド識別タグ２８６の単位で承認／否認をすることができる。
【０１８２】
その他の構成および処理などについては、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１８３】
このような構成を採用することで、ゲストユーザがワークスペース上の既存データを操作することができ、ゲストユーザの作業範囲を広げることができる。また、ゲストユーザが行なった操作は、管理ユーザにより承認されければ、元に戻されるので、ゲストユーザによる作業を他の他のユーザが見ている前で整理や削除を安全に行なうことができる。
【０１８４】
［変形例９］
上述の実施の形態においては、ユーザ（管理ユーザおよびゲストユーザ）が対象のワークスペースにログインすると、毎回クライエント用データ１２４を作成する構成（図１５のステップＳＴ１０８など）を例示した。しかしながら、いずれかのユーザが対象のワークスペースにログインした場合に、サーバ装置ＳＲＶに既にクライエント用データ１２４が生成されていれば、新たにクライエント用データ１２４を生成することなく、その生成済のクライエント用データ１２４をログインしたユーザに対応するクライエント装置ＣＬに送信するようにしてもよい。
【０１８５】
このような構成を採用することで、クライエント用データ１２４を不必要に生成することを避けることができるので、この結果、ログイン時の処理を高速化することができる。
【０１８６】
［変形例１０］
なお、上述の実施の形態および変形例１〜９を任意に組み合わせた情報処理システムを構成することが可能である。
【０１８７】
［その他の実施の形態］
本実施の形態に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０１８８】
また、本実施の形態に従うＣＰＵで実行されるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。したがって、このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
【０１８９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１９０】
２  ＣＰＵ、４  内部バス、６  出力装置、８  通信インターフェイス、１０  入力装置、１２  ハードディスク、１４  メモリ、１６  ドライブ、１６ａ  ＣＤ−ＲＯＭ、１８  ドライブ、１８ａ  フレキシブルディスク、１１０  ワークスペース管理部、１１２  クライエント管理部、１１４  データ送受信部、１２０  データ格納部、１２２  ワークスペースデータ、１２４  クライエント用データ、１２６  ゲスト作業データ、１２６Ａ  ゲスト作業データ、１２６Ｂ  ゲスト作業データ、１２８  ユーザ管理データ、１４０  ワークスペース管理部、１４２  描画部、１４４  データ送受信部、１５０  データ格納部、ＣＬ，ＣＬ１〜ＣＬＮ  クライエント装置、ＮＷ  ネットワーク、ＳＲＶ  サーバ装置。
【図１】
2010224590.tif 000003
【図２】
2010224590.tif 000004
【図３】
2010224590.tif 000005
【図４】
2010224590.tif 000006
【図５】
2010224590.tif 000007
【図６】
2010224590.tif 000008
【図７】
2010224590.tif 000009
【図８】
2010224590.tif 000010
【図９】
2010224590.tif 000011
【図１０】
2010224590.tif 000012
【図１１】
2010224590.tif 000013
【図１２】
2010224590.tif 000014
【図１３】
2010224590.tif 000015
【図１４】
2010224590.tif 000016
【図１５】
2010224590.tif 000017
【図１６】
2010224590.tif 000018
【図１７】
2010224590.tif 000019
【図１８】
2010224590.tif 000020
【図１９】
2010224590.tif 000021
【図２０】
2010224590.tif 000022