JP2010108261A - 情報処理方法、情報処理装置およびプログラム - Google Patents
情報処理方法、情報処理装置およびプログラム Download PDFInfo
- Publication number
- JP2010108261A JP2010108261A JP2008279854A JP2008279854A JP2010108261A JP 2010108261 A JP2010108261 A JP 2010108261A JP 2008279854 A JP2008279854 A JP 2008279854A JP 2008279854 A JP2008279854 A JP 2008279854A JP 2010108261 A JP2010108261 A JP 2010108261A
- Authority
- JP
- Japan
- Prior art keywords
- file
- information processing
- virtual space
- user
- workspace
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】複数のユーザの各々が単独で行なった作業結果を確実に反映しつつ、効率的な共同作業を実現するための情報処理方法、情報処理装置およびプログラムを提供する。
【解決手段】個人作業モードのワークスペース上でユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。共同作業モードのワークスペースWS1上では、この「個人オブジェクト」に対するユーザ操作がなされると、当該オブジェクトに対する改変を保護するための処理が実行される。この改変を保護するための処理は、典型的に「読み取り専用」として取扱われる。
【選択図】図5
【解決手段】個人作業モードのワークスペース上でユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。共同作業モードのワークスペースWS1上では、この「個人オブジェクト」に対するユーザ操作がなされると、当該オブジェクトに対する改変を保護するための処理が実行される。この改変を保護するための処理は、典型的に「読み取り専用」として取扱われる。
【選択図】図5
Description
この発明は、特定のユーザもしくは複数のユーザが共同作業を行なうことが可能なワークスペースを提供する情報処理方法、情報処理装置およびそのプログラムに関する。
複数のユーザによる共同作業を効率化するために共同作業空間(以下、「ワークスペース」とも称す。)を提供するアプリケーションが提案されている。このようなワークスペースは、複数のユーザが同時にアクセス可能な仮想空間であり、ネットワーク接続などの互いにデータ通信可能に構成された複数の情報処理装置(以下、「node(ノード)」とも称す。)の間でデータが共有されることで実現される。このようなワークスペースによって、遠隔地にいるユーザ同士でも共同作業(コラボレーション)が可能となる。
このようなワークスペースの使用形態としては、少なくとも、当該ワークスペースに参加している各ユーザが単独で作業を行なうような場合と、複数のユーザが議論をしながら共通の作業を進めていく場合とが想定される。たとえば、特開平06−075735号公報(特許文献1)には、他のユーザと共通の情報を表示する共有モードと、個人的に表示したい情報を表示する個人モードとを選択可能な共有画面制御装置が開示されている。
このような使用形態のうち、後者に属する形態で作成されたデータ(もしくは、オブジェクトなど)については、ユーザ間の共通の認識に基づくものであり、操作に伴う不整合や消滅といった事態が生じる可能性は低い。
これに対して、前者に属する形態で各ユーザが行なった作業の結果は、互いに類似の内容のものが複数存在することも考えられ、このような場合には、これらの結果の間で整合性をとることが難しい。このような課題に対する一つのアプローチとして、特開平11−327980号公報(特許文献2)には、バージョン間を派生関係で管理するバージョン管理装置が開示されている。
特開平06−075735号公報
特開平11−327980号公報
しかしながら、特開平11−327980号公報(特許文献2)に開示されるバージョン管理装置では、最後に変更を行なったユーザの結果が最新のものとして取扱われるため、共同作業の結果ではなく、あるユーザが行なった作業の結果が当該ワークスペース上で最新のものとして取扱われるという課題があった。
すなわち、特開平11−327980号公報(特許文献2)に開示されるバージョン管理装置では、各ユーザが行なった作業の結果をすべて反映して1つのデータとして纏めるような処理は想定されておらず、そのため、複数のユーザの間で効率的な共同作業を行なうことはできなかった。
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、複数のユーザの各々が単独で行なった作業結果を確実に反映しつつ、効率的な共同作業を実現するための情報処理方法、情報処理装置およびプログラムを提供することである。
この発明のある局面に従えば、複数の情報処理装置を用いて仮想空間を提供する情報処理方法を提供する。本情報処理方法は、複数の情報処理装置のうち少なくとも1つの情報処理装置が、複数のユーザによる同時アクセス可能な第1の仮想空間および第1の仮想空間に含まれるオブジェクトを定義する第1のファイルを保持するステップと、複数の情報処理装置のうち1つの情報処理装置が、複数のユーザのうち一部のユーザのみがアクセス可能な第2の仮想空間および第2の仮想空間に含まれるオブジェクトを定義する第2のファイルを保持するステップと、第2ファイルを保持する情報処理装置が、第2のファイルに定義されたオブジェクトの少なくとも一部を第1のファイルに反映するステップと、第1のファイルを保持する情報処理装置が、第1の仮想空間において、第2のファイルから反映されたオブジェクトに対するユーザ操作に応答して、当該オブジェクトに対する改変を保護するための処理を実行するステップとを含む。
好ましくは、情報処理方法は、第2ファイルを保持する情報処理装置が、ユーザ操作に応じて、第2のファイルに新たなオブジェクトの定義を追加するステップをさらに含む。第1のファイルに反映するステップは、第2のファイルに追加されたオブジェクトの定義を第1のファイルに追加するステップを含む。
好ましくは、情報処理方法は、第1のファイルに反映するステップは、第1のファイルに追加されたオブジェクトの定義に所定の属性を付加するステップをさらに含み、改変を保護するための処理を実行するステップは、所定の属性の有無に基づいて、ユーザ操作の対象となったオブジェクトが改変を保護すべき対象であるか否かを判断するステップを含む。
さらに好ましくは、情報処理方法は、第1のファイルを保持する情報処理装置が、ユーザ操作に応じて、指定されたオブジェクトに付加されている所定の属性を削除するステップをさらに含む。
好ましくは、改変を保護するための処理は、(a)対象のオブジェクトに対するユーザ操作を禁止する処理、(b)操作元のユーザに対して、読み取り専用であることの警告を表示する処理、(c)対象のオブジェクトについて権限を有するユーザに対して改変の許否の判断を促す処理、のうちいずれか1つの処理を含む。
好ましくは、情報処理方法は、第1ファイルを保持する情報処理装置が、第1のファイルに基づいて提供する仮想空間において、第2のファイルから第1のファイルに反映されたオブジェクトを、第2のファイルから反映されたことを示す態様で表示するステップをさらに含む。
好ましくは、情報処理方法は、第2ファイルを保持する情報処理装置が、第1の仮想空間から第2の仮想空間への切替要求に応答して、第1のファイルをコピーすることで第2のファイルを生成するステップをさらに含む。
この発明の別の局面に従えば、他の情報処理装置とデータ通信可能に構成され、仮想空間を提供する情報処理装置を提供する。情報処理装置は、仮想空間が表示される表示部と、複数のユーザによる同時アクセス可能な第1の仮想空間および第1の仮想空間に含まれるオブジェクトを定義する第1のファイルを他の情報処理装置との間で同期して保持する手段と、自装置を使用するユーザのみがアクセス可能な第2の仮想空間および第2の仮想空間に含まれるオブジェクトを定義する第2のファイルを保持する手段と、第2のファイルに定義されたオブジェクトの少なくとも一部を第1のファイルに反映する手段と、第1の仮想空間において、第2のファイルから反映されたオブジェクトに対するユーザ操作に応答して、当該オブジェクトに対する改変を保護するための処理を実行する手段とを含む。
この発明のさらに別の局面に従えば、他の情報処理装置と連係して仮想空間を提供するためのプログラムを提供する。プログラムは、情報処理装置に、仮想空間を表示するステップと、複数のユーザによる同時アクセス可能な第1の仮想空間および第1の仮想空間に含まれるオブジェクトを定義する第1のファイルを他の情報処理装置との間で同期して保持するステップと、自装置を使用するユーザのみがアクセス可能な第2の仮想空間および第2の仮想空間に含まれるオブジェクトを定義する第2のファイルを保持するステップと、第2のファイルに定義されたオブジェクトの少なくとも一部を第1のファイルに反映するステップと、第1の仮想空間において、第2のファイルから反映されたオブジェクトに対するユーザ操作に応答して、当該オブジェクトに対する改変を保護するための処理を実行するステップとを実行させる。
この発明によれば、複数のユーザの各々が単独で行なった作業結果を確実に反映しつつ、効率的な共同作業を実現することができる。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[実施の形態1]
<ワークスペースの全体構成>
図1は、この発明の実施の形態1に従うワークスペースを提供するためのシステムの概略構成図である。
<ワークスペースの全体構成>
図1は、この発明の実施の形態1に従うワークスペースを提供するためのシステムの概略構成図である。
図1を参照して、本実施の形態に従うシステムは、ネットワークNWを介して互いにデータ通信可能に接続されたデバイスである、複数の情報処理装置PC1〜PC3(以下、「情報処理装置PC」とも総称する。)とサーバ装置SRVとを含む。すなわち、本実施の形態に従うシステムは、いわゆるサーバクライエント構成に相当する。
実施の形態1に係る説明では、情報処理装置PCおよびサーバ装置SRVを「node」とも称す。本明細書において、「node」は、ネットワーク接続されたデバイス一般を示し、特に、ネットワーク上を伝送される情報(データ)を受信して、当該情報を自身で処理可能な任意のデバイスを示す。なお、実施の形態1においては、処理の内容を明確化するために、情報処理装置PCを「クライエントnode」と称し、サーバ装置SRVを「サーバnode」とも称して、両者を区別する場合もある。
本実施の形態に従うシステムは、特定のユーザもしくは複数のユーザが共同作業を行なうことが可能なワークスペースである仮想空間を提供する。特に、本実施の形態に従うシステムでは、それぞれの情報処理装置PCを使用するユーザが同時アクセス可能な第1の仮想空間である「共同作業モードのワークスペース(共同作業空間)」と、特定の情報処理装置PCを使用するユーザのみがアクセス可能な第2の仮想空間である「個人作業モードのワークスペース(共同作業空間)」とが選択的に提供される。
より具体的には、サーバ装置SRVがワークスペースを定義するファイル(以下、「ワークスペース定義ファイル」とも称す。)を一括して保持・管理することで、共同作業モードのワークスペースを提供する。すなわち、いずれかの情報処理装置PC上でユーザ操作に応じて、ワークスペース定義ファイルを変更するためのワークスペース変更指令がサーバ装置SRVへ送信される。サーバ装置SRVは、このワークスペース変更指令に応答して、自身の保持するワークスペース定義ファイルを更新する。続いて、サーバ装置SRVは、更新後のワークスペース定義ファイルに基づいて、送信元の情報処理装置PCに対して、変更後のワークスペースの状態を表示するためのワークスペース表示情報を送信する。このような一連の処理によって、それぞれの情報処理装置PCを操作するユーザは、ワークスペースに対して任意の操作(オブジェクトの新規作成・削除・変更など)を行なうことができる。
なお、ネットワークNW上のトラフィックを低減するなどの目的で、各情報処理装置PCがキャッシュなどの形でワークスペース定義ファイルの一部もしくは全部を保持するような構成を採用してもよい。
一方、各情報処理装置PCがワークスペース定義ファイルを個別に保持・管理することにより、個人作業モードのワークスペースを提供する。この個人作業モードは、当該ワークスペースを提供する情報処理装置PCを使用(ログイン)するユーザのみがアクセス可能である。すなわち、当該情報処理装置PCを操作するユーザのみが、ワークスペースに対して任意の操作(オブジェクトの新規作成・削除・変更など)を行なうことができる。
<ハードウェア構成>
図2は、この発明の実施の形態1に従う情報処理装置PCの代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
図2は、この発明の実施の形態1に従う情報処理装置PCの代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
図2を参照して、本実施の形態に従う情報処理装置PCは、オペレーティングシステムを含む各種プログラムを実行するCPU201と、CPU201でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ部213と、CPU201で実行されるプログラムを不揮発的に記憶するハードディスク部(HDD)211とを含む。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ215またはフレキシブルディスク(FD:Flexible Disk)ドライブ217によって、それぞれCD−ROM215aまたはフレキシブルディスク217aなどから読み取られる。
CPU201は、キーボードやマウスなどからなる入力装置209を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を表示部であるモニター205へ出力する。また、CPU201は、LANカードなどからなる通信インターフェイス207を介して、他の情報処理装置PCやサーバ装置SRVとの間でデータ通信を行なう。なお、これらの部位は、内部バス203を介して互いに接続される。
なお、本明細書における「node(ノード)」として機能するデバイスであれば、どのようなデバイスを用いてもよく、たとえば通信機能を備えた携帯電話などを用いることもできる。
また、本実施の形態に従うサーバ装置SRVについても、情報処理装置の一種であり、のハードウェア構成についても、図2に示す情報処理装置PCのハードウェア構成と同様であるので、詳細な説明は繰り返さない。
<ワークスペース>
本明細書において「ワークスペース」とは、特定のユーザもしくは複数のユーザが共同作業を行なうことが可能な仮想空間を意味し、ワークスペース定義ファイルおよび当該ワークスペース定義ファイルに含まれる任意数のオブジェクトデータなどによってワークスペースは提供される。なお、本明細書中では、ワークスペース定義ファイルおよびオブジェクトデータなどをレンダリング(可視化)したものを「ワークスペース」という場合もある。
本明細書において「ワークスペース」とは、特定のユーザもしくは複数のユーザが共同作業を行なうことが可能な仮想空間を意味し、ワークスペース定義ファイルおよび当該ワークスペース定義ファイルに含まれる任意数のオブジェクトデータなどによってワークスペースは提供される。なお、本明細書中では、ワークスペース定義ファイルおよびオブジェクトデータなどをレンダリング(可視化)したものを「ワークスペース」という場合もある。
図3は、この発明の実施の形態1に従うワークスペースWSの一例を模式的に示す図である。
図3(a)には、可視化されたワークスペースWSの全体構造の一例を示す。このワークスペースWSには、一例として、オブジェクトOBJ1〜OBJ5が既に作成されているとする。なお、本明細書において「オブジェクト」とは、ユーザによる各操作の対象となる対象物の単位であり、具体的には、文書ファイルや表計算ファイルといったファイルオブジェクト(file)、JPEG形式やGIF形式などの画像オブジェクト(image)、文字を示すテキストオブジェクト(text)、描画を示す線オブジェクト(line)といった任意の電子的に取扱可能な情報を用いることができる。なお、ファイルオブジェクトや画像オブジェクトについては、ワークスペース定義ファイルとは別の実体ファイルが用意されており、ワークスペース定義ファイル中に当該実体ファイルへのリンク情報(リンクアドレス)が記述される。このようなファイルオブジェクトや画像オブジェクトについては、ワークスペースWS上で、その内容を参照したり表示したりすることが可能である。言い換えれば、線オブジェクトや文字オブジェクトだけがワークスペース上に存在するような場合には、実体ファイルを用いる必要はない。
また、本明細書において「オブジェクト」には、ワークスペース定義ファイル中に定義されたファイルオブジェクトや画像オブジェクトのリンク先である実体ファイル自体を含む。
図3(a)に示す例では、オブジェクトOBJ1,OBJ2として「画像オブジェクト」を例示し、オブジェクトOBJ3として「線オブジェクト」を例示し、オブジェクトOBJ4として「テキストオブジェクト」を例示する。
ワークスペースWSのサイズは自在に設定することができ、一般的に、各情報処理装置PCのモニター205の表示サイズに比較して大きくなるように設定される。そのため、各情報処理装置PCのモニター205には、図3(b)に示すようにワークスペースWSの一部の領域だけがレンダリング(可視化)される場合が多い。
ユーザは、キーボードやマウスなどからなる入力装置209(図2)を用いて、ワークスペースWSのうちモニター205にレンダリングする領域を選択し、また各種操作ボタンを選択したり、表示されるオブジェクトを選択してドラッグしたりすることで、各オブジェクトの新規作成、変更、削除といった操作が可能である。また、ワークスペースWSのうち各情報処理装置PCのモニター205に表示される領域を表示エリアVAとも称する。
<全体処理概要>
本実施の形態に従うシステムでは、各クライエントnodeにおいて、「共同作業モード」のワークスペースと「個人作業モード」のワークスペースとの切替機能が提供される。
本実施の形態に従うシステムでは、各クライエントnodeにおいて、「共同作業モード」のワークスペースと「個人作業モード」のワークスペースとの切替機能が提供される。
「共同作業モード」では、サーバnodeは、共同作業モードのワークスペース(以下、符号「WS1」を付して区別する)に参加しているクライエントnodeからワークスペース変更指令に従って、自身の保持するワークスペース定義ファイルを随時更新する。すなわち、いずれかのクライエントnodeのユーザが何らかの操作を行なうと、当該操作はサーバnodeで保持されるワークスペース定義ファイルに反映される。そして、当該操作を指示したクライエントnodeを含むワークスペースWS1に参加しているすべてのクライエントnodeに対して、この反映後のワークスペース定義ファイルに基づく表示がなされる。そのため、すべてのnodeで実質的に同一のワークスペースWS1が提供される。
一方、「個人作業モード」では、クライエントnodeは、共同作業モードのワークスペースから独立した個人作業モードのワークスペース(以下、符号「WS2」を付して区別する)を提供する。より具体的には、「共同作業モード」から「個人作業モード」へ移行する際に、各クライエントnodeは、サーバnodeで保持されているワークスペース定義ファイルを自身にコピーする。そして、各クライエントnodeのユーザは、コピーしたワークスペース定義ファイルおよびリンク付けされているファイルなどに対して、単独の操作(作業)が可能である。すなわち、「個人作業モード」では、各クライエントnodeにおいて、ユーザがオブジェクトを任意に新規作成・変更・削除が可能である。
特に、本実施の形態に従うシステムでは、個人作業モードから共同作業モードに移行した後、個人作業モードにおいて各ユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。共同作業モードにおいて、この「個人オブジェクト」に対するユーザ操作がなされると、当該オブジェクトに対する改変を保護するための処理が実行される。この改変を保護するための処理は、典型的に、「読み取り専用」(いわゆる、ReadOnly)として取扱われる。言い換えれば、「個人オブジェクト」の属性が付加されたオブジェクトは、読み取り専用の属性が付加される。
そのため、共同作業モードにおいて、この読み取り専用に設定された個人オブジェクトに対しては、変更や削除などの操作が禁止される。なお、この「個人オブジェクト」に相対するオブジェクトとして、共同作業モードにおいて、原則的にすべてのユーザが操作を行なうことが許可されるオブジェクトを「共有オブジェクト」とも称す。すなわち、共有作業モードにおいて、いずれかのユーザが新規作成したオブジェクトは「共有オブジェクト」となる。
以下の説明では、個人オブジェクトを新規作成したユーザ、もしくは何らかの共有オブジェクトに対して変更を行なって個人オブジェクトを生成したユーザを「オーナー」とも称す。なお、共有作業モードにおいて、個人オブジェクトに対する変更操作をそのオーナーに対して許可するようにしてもよい。すなわち、個人オブジェクトは、そのオーナー以外のユーザに対して、「読み取り専用」として取扱われるようにしてもよい。
以下、図4および図5を参照して、本実施の形態に従う全体処理の概要について説明する。図4は、図3(a)に示す共同作業モードのワークスペースWSの状態からクライエントnode1が個人作業モードに移行した後、クライエントnode1のユーザAによる作業中の状態の一例を示す図である。図5は、図4に示す個人作業モードから共同作業モードへ復帰した後の状態の一例を示す図である。
図4を参照して、たとえば、クライエントnode1を使用する(ログインしている)ユーザAが、共同作業モードから個人作業モードへのモード切替を行なった後、文書ファイルであるオブジェクトOBJ6が新規作成された場合について例示する。
個人作業モードのクライエントnodeは、共同作業モードのワークスペースWS1から独立した個人作業モードのワークスペースWS2を提供する。そのため、各クライエントnodeは、共同作業モードから個人作業モードに移行する際、サーバnodeが保持・管理するワークスペース定義ファイルおよび実体ファイルを取得する。すなわち、各クライエントnodeは、サーバnodeが保持するワークスペース定義ファイルおよび実体ファイルを自装置の記憶領域へコピー(複写)し、このコピーしたワークスペース定義ファイルおよび実体ファイルなどに基づいて、個人作業モードにおけるワークスペースWS2を提供する。
その後、クライエントnode1において、個人作業モードから共同作業モードへのモード切替(復帰操作)が行なわれると、後述するように、サーバnodeの間で変更反映処理が実行され、クライエントnode1が提供するワークスペースWS2上で新規作成もしくは変更されたオブジェクトの結果が、ワークスペースWS1に対応するワークスペース定義ファイルに反映される。その結果、各nodeのモニター205には、図5に示すようなワークスペースWS1が表示される。
図5に示すように、クライエントnode1のユーザAが個人作業モードにおいて新規作成した文書ファイルであるオブジェクトOBJ6の存在が視覚的に表現される。さらに、オブジェクトOBJ6は、ワークスペースWS2からワークスペースWS1に反映されたことを示す態様で表示されることは好ましい。具体的には、オブジェクトOBJ6に対して、読み取り専用であることを示す文字もしくはマークなどの表示が付加されてもよい。この場合には、当該オブジェクト(個人オブジェクト)のオーナー情報も併せて表示するとより好ましい。
このように、本実施の形態に従うシステムでは、個人作業モードにおける作業結果と共同作業モードにおける作業結果とを互いに関連付けつつ、各ユーザが単独で行なった作業結果を共同作業モードのワークスペースWS1に確実に反映することができ、これにより効率的な共同作業を実現することができる。
<データ構造>
次に、本実施の形態に従うワークスペースを構成するためのワークスペース定義ファイル100のデータ構造について説明する。各データは、代表的に、XMLなどのマークアップ言語で記述される。これは、タグ(<>と</>とで囲まれる文字に与える属性)を自在に設定することでシステムの拡張性を高めるためである。
次に、本実施の形態に従うワークスペースを構成するためのワークスペース定義ファイル100のデータ構造について説明する。各データは、代表的に、XMLなどのマークアップ言語で記述される。これは、タグ(<>と</>とで囲まれる文字に与える属性)を自在に設定することでシステムの拡張性を高めるためである。
図6は、この発明の実施の形態1に従うワークスペース定義ファイル100の内容の一例を示す図である。なお、図6に示す内容は、図3に示すワークスペースWSに対応している。
図6を参照して、ワークスペース定義ファイル100は、当該ワークスペースを特定するためのワークスペースタグ110と、オブジェクトOBJ1〜OBJ5をそれぞれ定義する記述121〜125とを含む。
ワークスペースタグ110は、ワークスペースの識別番号(space id)や文字エンコーディング属性(encoding)などを含む。図6に示す例では、識別番号=「AB12」である。なお、共同作業モードと個人作業モードとを識別するために、ワークスペースタグ110に、個人作業モードであることを示す属性(mode="local")を付加してもよい。
各オブジェクトは、<object>タグで始まり、</object>タグで終了する記述によって定義される。これらの記述121〜125の各々には、各オブジェクトの識別番号(object id)、各オブジェクトの種類(type)、配置される座標位置(point)、実体ファイルのリンクアドレス(src)、各オブジェクトのオーナー(user)などが含まれる。
より具体的には、<object id>タグには、各オブジェクトを一意に特定する識別番号が定義され、<type>タグには、各オブジェクトの種類(file:ファイルオブジェクト、image:画像オブジェクト、text:テキストオブジェクト、line:線オブジェクト)が定義される。また、<point>タグには、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置が定義される。<src>タグには、関連付けされた実体ファイルのリンクアドレスが定義される。<user>タグには、各オブジェクトのオーナーが定義される。この各オブジェクトのオーナーとしては、各オブジェクトの作成や変更を行なったユーザが記述される。あるいは、ワークスペースに参加するユーザが任意に設定してもよい。本実施の形態では、各オブジェクトを作成もしくは変更したユーザがオーナーとして記述される。
たとえば、オブジェクトOBJ1に対応する記述121には、<object id>タグにおいて、識別番号が「TU58」であることが定義され、<type>タグにおいて、イメージオブジェクトであることを示す「image」が定義される。さらに、<point>タグにおいて、x='120' y='250'の位置に配置されることが定義され、<src>タグにおいて、実体のファイルを特定する「sunflower.jpg」が定義され、<user>タグにおいて、オブジェクトOBJ1のオーナーが「ユーザA」であることが定義される。
なお、図6では、1つのワークスペース定義ファイル100を用いて、ワークスペースを構成する例について例示したが、複数のファイルを用いて同等の情報を定義してもよい。たとえば、各オブジェクトが定義されたファイルを、リレーショナルデータベースなどを用いて互いに関連付けた構成などを採用することができる。
また、サーバnodeが任意の数のワークスペースWSを共有することも可能である。この場合には、上述のワークスペースの識別番号(space id)の値に基づいて、対象のワークスペースWSが特定される。
<制御構造>
図7は、この発明の実施の形態に従う各情報処理装置PCの制御構造を示すブロック図である。
図7は、この発明の実施の形態に従う各情報処理装置PCの制御構造を示すブロック図である。
図7を参照して、サーバ装置SRV(サーバnode)は、その制御構造として、データ更新部350と、属性変更部352と、ユーザ認証部354と、データ送受信部360と、データ格納部362とを含む。データ格納部362は、ハードディスク部211(図2)の任意の領域として提供され、データ送受信部360は、通信インターフェイス207(図2)および関連するドライバソフトの協同によって提供され、その他の各部は、代表的に、CPU201(図2)がプログラムをメモリ部213(図2)に展開し、各コマンドを実行することで提供される。なお、これらの機能の全部または一部をハードウェアによって実現してもよい。
サーバnodeのデータ格納部362は、ワークスペースを構成するためのワークスペース定義ファイル100と、ワークスペース定義ファイル100内でリンクされた実体ファイル120と、ネットワークNW(図1)を介して接続可能な他のnode(情報処理装置PC)を特定するための情報(たとえば、IPアドレスなどの各nodeを一意に特定できるユニークな宛て先情報)をリスト形式で記述した接続テーブル160とを含む。
サーバnodeのデータ更新部350は、各クライエントnodeからのワークスペース変更指令(図1)に従って、データ格納部362のワークスペース定義ファイル100を更新するとともに、必要に応じて実体ファイル120を新規作成もしくは変更する。
属性変更部352は、個人作業モードにおいて、いずれかのクライエントnodeで新規作成された、もしくは変更された結果生じた個人オブジェクトの属性を、ユーザ操作に応じて変更する。より具体的には、属性変更部352は、各個人オブジェクトのオーナーもしくは当該オーナーから所定の権限を与えられているユーザが、当該個人オブジェクトを共有オブジェクトに変更するための指令を与えると、対象のオブジェクトの属性を変更する。さらに、属性変更部352は、共有オブジェクトとして存在するオブジェクトを個人オブジェクトに変更することもできる。後述するように、本実施の形態に従うワークスペースでは、オブジェクトを定義する記述に、個人オブジェクトを示す属性である<localObject/>タグを付加することで、個人オブジェクトとして取扱われる。そのため、属性変更部352は、このワークスペース定義ファイル100の記述に対して、この<localObject/>タグを削除し、もしくは、この<localObject/>タグを付加することで、属性の変更を実現する。
ユーザ認証部354は、各情報処理装置PCを使用するユーザに対するユーザ認証処理を実行する。具体的には、各クライエントnodeは、ユーザによる使用開始前に、当該ユーザのIDおよびパスワードの入力を促す。いずれかのクライエントnodeの入力されたユーザのIDおよびパスワードは、サーバnodeへ伝送される。続いて、サーバnodeのユーザ認証部354が図示しないユーザ管理ファイルなどを参照して、要求元のユーザによる各クライエントnodeの使用の許否を判断する。ユーザ認証が成功すると、ユーザ認証部354は、送信元のクライエントnodeに対して、要求されたユーザの使用を許可する旨の通知を行なうとともに、現在使用中(ログイン中)のユーザ名を保持する。なお、本実施の形態に従う情報処理装置PCでは、各装置を使用するユーザを識別できればよいので、必ずしも、ユーザ認証にパスワードを要求しなくてもよい。
データ送受信部360は、クライエントnode(情報処理装置PC)との間のデータ通信を制御する。具体的には、データ送受信部360は、クライエントnodeから何らかの指令(要求)を受信すると、その指令(要求)を対応する部位へ出力する。また、データ送受信部360は、各部位からのデータを宛て先のクライエントnodeへ送信する。
また、各情報処理装置PC(クライエントnode)は、その制御構造として、作業モード制御部250と、データ操作部252と、描画部256と、データ送受信部260と、データ格納部262とを含む。データ格納部262は、ハードディスク部211(図2)の任意の領域として提供され、データ送受信部360は、通信インターフェイス207(図2)および関連するドライバソフトの協同によって提供され、その他の各部は、代表的に、CPU201(図2)がプログラムをメモリ部213(図2)に展開し、各コマンドを実行することで提供される。なお、これらの機能の全部または一部をハードウェアによって実現してもよい。
クライエントnodeの作業モード制御部250は、ユーザが入力装置209(図2)を介して入力する操作に従って、共同作業モードと個人作業モードとを切替える。そして、クライエントnodeは、現在のモードをデータ操作部252へ通知する。
データ操作部252は、作業モード制御部250によって共同作業モードから個人作業モードへ切替えられると、サーバnodeからワークスペース定義ファイル100および(必要に応じて)実体ファイル120を取得し、それぞれワークスペース定義ファイル100Aおよび実体ファイル120Aとして、自装置のデータ格納部262へ格納する。すなわち、この各クライエントnodeのデータ格納部262に格納されるワークスペース定義ファイル100Aおよび実体ファイル120Aに基づいて、個人作業モードにおけるワークスペースWS2が提供される。すなわち、共同作業モードから個人作業モードへの切替直後では、ワークスペース定義ファイル100および実体ファイル120とワークスペース定義ファイル100Aおよび実体ファイル120Aは、それぞれ同一のものとなる。
さらに、データ操作部252は、作業モード制御部250によって個人作業モードから共同作業モードへ切替えられると、サーバnodeとの間でワークスペース定義ファイル100Aおよび実体ファイル120Aの変更反映処理を実行する。具体的には、データ操作部252は、個人作業モードにおいて新規作成もしくは変更されたオブジェクト(個人オブジェクト)を定義する記述および実体ファイルをサーバnodeが保持・管理するワークスペース定義ファイルおよび実体ファイルに反映する。
描画部256は、ワークスペース定義ファイル100もしくはワークスペース定義ファイル100Aの情報のうち、ユーザにより指定される所定範囲に含まれる情報に基づいて、描画処理(レンダリング処理)を行なう。より具体的には、共同作業モードでは、描画部256は、ユーザが入力装置209(図2)を介して入力する操作に従って、サーバnodeが保持・管理するワークスペース定義ファイルのうち必要な情報を取得し、この取得した情報に基づいて、モニター205(図2)に表示すべき画像を示すデータを図示しないビデオメモリに周期的に出力する。一方、描画部256は、個人作業モードでは、自装置のデータ格納部262に格納されるワークスペース定義ファイル100Aを参照して、モニター205(図2)に表示すべき画像を示すデータを図示しないビデオメモリに周期的に出力する。このビデオメモリに格納されるデータに応じて、モニター205には画像が表示される。
データ送受信部260は、主として、サーバnodeとの間のデータ通信を制御する。具体的には、データ送受信部260は、サーバnodeから何らかのデータ(情報)を受信すると、そのデータ(情報)を対応する部位へ出力する。また、データ送受信部260は、各部位からのデータをサーバnodeへ送信する。
<個人オブジェクト>
次に、図8および図9を参照して、図4に示すような個人オブジェクトであるオブジェクトOBJ5が新規作成される場合の処理について説明する。
次に、図8および図9を参照して、図4に示すような個人オブジェクトであるオブジェクトOBJ5が新規作成される場合の処理について説明する。
図8は、図4に示す個人オブジェクトであるオブジェクトOBJ5を定義する記述の一例を示す図である。図9は、図4に示すワークスペースWS2を提供するためのワークスペース定義ファイルの一例を示す図である。
クライエントnode1のユーザが、個人作業モードにおいて、文書ファイルであるオブジェクトOBJ6を新規作成すると、データ更新部350(図7)がデータ格納部362(図7)に格納されているワークスペース定義ファイル100Aに、図8に示す記述126を追加する。この記述126のデータ構造は、<localObject/>タグ126aが付加されている点を除いて、上述の共有オブジェクトについての記述121〜125(図6)と同様である。すなわち、記述126では、識別番号が「CX11」として、リンク先の実体ファイルが「newplan.doc」であり、かつオーナーが「ユーザA」として定義されている。そして、これらの定義に加えて、個人オブジェクトであることを示す<localObject/>タグ126aが記述されている。
その結果、クライエントnode1のデータ格納部262に格納されるワークスペース定義ファイル100Aは、図6に示す内容(ワークスペース定義ファイル100と同じもの)から、図9に示すような内容に更新される。
<モード切替処理>
いずれかのクライエントnodeにおいて、個人作業モードから共同作業モードへのモード切替が実行されると、個人作業モードにおいて新規作成された個人オブジェクトがサーバnodeによって保持・管理されるワークスペース定義ファイルに反映される。すなわち、各nodeで保持・管理されるワークスペース定義ファイル100Aおよび実体ファイル120Aと、サーバ装置nodeが保持・管理するワークスペース定義ファイル100および実体ファイル120との間で変更反映処理が実行される。
いずれかのクライエントnodeにおいて、個人作業モードから共同作業モードへのモード切替が実行されると、個人作業モードにおいて新規作成された個人オブジェクトがサーバnodeによって保持・管理されるワークスペース定義ファイルに反映される。すなわち、各nodeで保持・管理されるワークスペース定義ファイル100Aおよび実体ファイル120Aと、サーバ装置nodeが保持・管理するワークスペース定義ファイル100および実体ファイル120との間で変更反映処理が実行される。
本実施の形態では、典型的には、各nodeで作成された個人オブジェクトの記述およびそれに関連付けられた実体ファイルが、サーバnodeに転送され、サーバnodeが保持・管理するワークスペース定義ファイル100および実体ファイル120に追加(追記)される。なお、このような変更反映処理を採用する場合には、各クライエントnodeで保持・管理される共有オブジェクトの記述などは転送する必要がない。
<共同作業モードにおける個人オブジェクトの取り扱い>
サーバnodeが提供するワークスペースWSにおいて、個人オブジェクトの属性が付加されているオブジェクト(すなわち、その記述に<localObject/>タグを含むオブジェクト)については、「読み取り専用」として取扱われる。より具体的には、クライエントnodeのデータ操作部252(図7)がワークスペース定義ファイルに含まれるオブジェクトの記述のうち、<localObject/>タグを含むものに対しては、変更操作を禁止するように処理を行なうことで実現される。
サーバnodeが提供するワークスペースWSにおいて、個人オブジェクトの属性が付加されているオブジェクト(すなわち、その記述に<localObject/>タグを含むオブジェクト)については、「読み取り専用」として取扱われる。より具体的には、クライエントnodeのデータ操作部252(図7)がワークスペース定義ファイルに含まれるオブジェクトの記述のうち、<localObject/>タグを含むものに対しては、変更操作を禁止するように処理を行なうことで実現される。
なお、「改変を保護するための処理」の典型例としては、ユーザによる変更操作が全く禁止される「読み取り専用」として取扱われる。このような典型的な「読み取り専用」としての処理に加えて、もしくはそれに代えて以下のような処理を採用してもよい。たとえば、ファイルを開くタイミングで「読み取り専用」である旨の警告を表示する一方で、ファイル自体に対する変更操作(編集や削除)については許可するようにしてもよい。あるいは、オーナー以外のユーザが「読み取り専用」の個人オブジェクトに対して何らかの変更操作を行なおうとすると、当該オブジェクトについて権限を有するユーザ(典型的には、当該オブジェクトのオーナーとなっているユーザ)に対して、その旨の通知や「読み取り専用」の属性の変更の許可を確認するための通知を行なってもよい。あるいは、オーナー以外のユーザが「読み取り専用」の個人オブジェクトに対して何らかの変更操作を行なうと、当該変更は当該オーナーが許可するまで個人オブジェクトに反映されないようにしてもよい。
また、個人オブジェクトのオーナーもしくは当該オーナーから所定の権限を与えられているユーザが、当該個人オブジェクトを共有オブジェクトに変更するための指示を与えると、対象のオブジェクトの属性を変更できるようにしてもよい。具体的には、サーバnodeの属性変更部352がワークスペース定義ファイル100の記述のうち、指定された個人オブジェクトの記述に含まれる<localObject/>タグを削除する。これにより、当該個人オブジェクトは、共有オブジェクトとして取扱われる。そのため、原則的にワークスペースWSに参加しているすべてのユーザによる変更操作が可能となる。
あるいは、上述のような明示的な指示に代えて、所定の条件が成立した場合に、個人オブジェクトを自動的に共有オブジェクトに変更、すなわち<localObject/>タグを削除するようにしてもよい。このような個人オブジェクトを共有オブジェクトに変更するための条件の一例としては、(a)予め個人オブジェクトのオーナーが設定したタイミング、(b)個人作業モードから共有作業モードに移行した後、予め定められた期間の経過後、(c)予め定められたユーザ(たとえば、あるプロジェクトのメンバーなど)のすべてが対象の個人オブジェクトにアクセスしたタイミング、などが挙げられる。
上述の例では、ワークスペース定義ファイルにおける対応する記述に<localObject/>タグが含まれているか否かに基づいて、個人オブジェクトであるか否か、すなわち「読み取り専用」であるか否かが判断される構成について例示したが、これ以外の方法を採用してもよい。たとえば、あるクライエントnodeが個人作業モードから共同作業モードに移行するタイミングで、当該クライエントnodeにおいて作成された個人オブジェクトについて、サーバnodeが保持・管理するワークスペース定義ファイル100とは別の定義ファイルに記述するようにしてもよい。そして、この別の定義ファイルに定義されたオブジェクトについては、「読み取り専用」として取り扱うようにする。あるいは、<localObject/>タグとは異なる「読み取り専用」を示すタグなどを<localObject/>タグに代えて、あるいはさらに付加するようにしてもよい。
<個人作業モードから共同作業モードへの切替タイミング>
上述の実施の形態においては、ユーザが明示的な指示を与えることで、個人作業モードと共同作業モードとが切替えられる構成について例示したが、以下のような条件が成立した場合に、個人作業モードから共同作業モードへの移行を行なうようにしてもよい。なお、この個人作業モードから共同作業モードへの移行によって、クライエントnodeで提供されるワークスペースWS2上で作成されたオブジェクトは、個人オブジェクトとして共同作業モードのワークスペースWS1へ反映される。
上述の実施の形態においては、ユーザが明示的な指示を与えることで、個人作業モードと共同作業モードとが切替えられる構成について例示したが、以下のような条件が成立した場合に、個人作業モードから共同作業モードへの移行を行なうようにしてもよい。なお、この個人作業モードから共同作業モードへの移行によって、クライエントnodeで提供されるワークスペースWS2上で作成されたオブジェクトは、個人オブジェクトとして共同作業モードのワークスペースWS1へ反映される。
このような個人作業モードから共同作業モードへの移行するための条件の一例としては、(a)ユーザの使用状況、(b)時間および/または時刻、(c)ユーザ操作、などが挙げられる。
このうち、(a)ユーザの使用状況としては、ユーザの周囲の状況、ユーザの存在場所、ユーザが他のユーザと一緒にいる場合、ユーザ型デバイスによるアクセスがあった場合、ワークスペースへのユーザの参加状況、ユーザがクライエントnodeを一定期間操作していない場合(スクリーンセイバーが実行された場合)、情報処理装置PCのリソース(ハードディスクの残容量・メモリ使用量・ネットワーク帯域)などが含まれる。
また、(b)時間および/または時刻としては、何らかのオブジェクトを作成してから一定期間経過した場合、一日のうち予め定められたタイミング(昼休み・定時・定時外など)、予め定められた日付(月初め、月末、毎週末、水曜日など)、ユーザが長期不在の場合、ユーザが予め定められた期間に亘ってクライエントnodeを使用しなかった場合などが含まれる。
また、(c)ユーザ操作としては、ペンデバイスによる操作、選択中のオブジェクトの変更操作、ユーザが予め定められたツール(アプリケーション)を使用している場合、ワークスペースWSの予め定められた範囲を指定した場合(範囲を指定しなかった場合)、予め定められた階層のレイヤーに表示がなされた場合、オブジェクトの色を変更した場合などが含まれる。
<処理手順>
以上説明した内容を実現するための処理手順について説明する。
以上説明した内容を実現するための処理手順について説明する。
図10は、この発明の実施の形態1に従う全体処理手順を示すフローチャートである。図10に示す各処理手順は、代表的に、情報処理装置PCのCPU201(図2)がプログラムを実行することで提供される。なお、図10に示す処理は、定周期(たとえば、数10〜数100msec)で繰り返し実行される。
図10を参照して、ユーザによる入力装置209の操作によって、共同作業モードと個人作業モードとの間の切替指示が与えられたか否かを判断する(ステップS1)。共同作業モードと個人作業モードとの間の切替指示が与えられていない場合(ステップS1においてNOの場合)には、処理はステップS3へ進む。
一方、共同作業モードと個人作業モードとの間の切替指示が与えられた場合(ステップS1においてYESの場合)には、図11に示すモード切替処理が実行される(ステップS2)。このモード切替処理の後、処理はステップS3へ進む。
ステップS3では、図14などに示すワークスペース処理が実行される。
図11は、図10のステップS2に示すモード切替処理の処理手順を示すフローチャートである。なお、図11に示す処理手順は、典型的には、サブルーチンとして提供される。
図11は、図10のステップS2に示すモード切替処理の処理手順を示すフローチャートである。なお、図11に示す処理手順は、典型的には、サブルーチンとして提供される。
図11を参照して、まず、自装置における「モード状態」の値を取得する(ステップS21)。なお、この「モード状態」の値は、メモリ部213もしくはハードディスク部(HDD)211(図2)に保持されている。続いて、取得した「モード状態」が「共同作業モード」であるか否かを判断する(ステップS22)。
取得した「モード状態」が「共同作業モード」である場合(ステップS22においてYESの場合)には、図13に示す個人作業モードへの切替処理を実行する(ステップS24)。この共同作業モードへの切替処理の実行後、処理はリターンする。
一方、取得した「モード状態」が「共同作業モード」でない場合(ステップS22においてNOの場合)には、図14に示す共同作業モードへの切替処理を実行する(ステップS24)。この共同作業モードへの切替処理の実行後、処理はリターンする。
図12は、図11のステップS23に示す個人作業モードへの切替処理の処理手順を示すフローチャートである。なお、図12に示す処理手順は、典型的には、サブルーチンとして提供される。
図12を参照して、まず、通信ポートを受信可能状態にする(ステップS231)。続いて、サーバ装置SRVから現在のワークスペース定義ファイル100および(必要に応じて)実体ファイル120を取得し、それぞれワークスペース定義ファイル100Aおよび実体ファイル120Aとして格納する(ステップS232)。
その後、メモリ部213もしくはハードディスク部(HDD)211(図2)に保持されている「モード状態」の値を「個人作業モード」に変更する(ステップS233)。そして、処理はリターンする。
図13は、図12のステップS24に示す共同作業モードへの切替処理の処理手順を示すフローチャートである。なお、図13に示す処理手順は、典型的には、サブルーチンとして提供される。
図13を参照して、まず、通信ポートを受信可能状態にする(ステップS241)。続いて、サーバ装置SRVに対して、ワークスペースの識別番号(space id)を用いた同期通知を送信する(ステップS242)。さらに、サーバ装置SRVからの応答を受信したか否かを判断する(ステップS243)。サーバ装置SRVからの応答を受信しなかった場合(ステップS243においてNOの場合)には、応答を受信するまで待つ。
これに対して、サーバ装置SRVからの応答を受信すると(ステップS243においてYESの場合)には、自装置に格納されているワークスペース定義ファイル100Aおよび実体ファイル120Aのうち、個人オブジェクトであるものを、サーバ装置SRVへ送信する(ステップS244)。この情報処理装置PCから送信された個人オブジェクトについてのデータは、サーバ装置SRVが保持・管理するワークスペース定義ファイル100および実体ファイル120に反映される。
その後、メモリ部213もしくはハードディスク部(HDD)211(図2)に保持されている「モード状態」の値を「共同作業モード」に変更する(ステップS245)。そして、処理はリターンする。
図14は、図10のステップS3に示すワークスペース処理の処理手順を示すフローチャートである。なお、図14に示す処理手順は、典型的には、サブルーチンとして提供される。
図14を参照して、まず、自装置における「モード状態」の値を取得する(ステップS31)。続いて、取得した「モード状態」が「共同作業モード」であるか否かを判断する(ステップS32)。
取得した「モード状態」が「共同作業モード」である場合(ステップS32においてYESの場合)には、図15に示す共同作業モード処理が実行される(ステップS33)。そして、処理はリターンする。
一方、取得した「モード状態」が「共同作業モード」でない場合(ステップS32においてNOの場合)には、図16に示す個人作業モード処理が実行される(ステップS34)。そして、処理はリターンする。
図15は、図14のステップS33に示す共同作業モード処理の処理手順を示すフローチャートである。なお、図15に示す処理手順は、典型的には、サブルーチンとして提供される。
図15を参照して、情報処理装置PCは、サーバ装置SRVに対して、サーバ装置SRVのハードディスク部(HDD)211(図2)に保持されているワークスペース定義ファイル100および実体ファイル120に基づくワークスペースWSを表示するための要求を送信する(ステップS331)。続いて、情報処理装置PCは、この要求に応答して、サーバ装置SRVから送信されるワークスペース表示情報を受信し(ステップS332)、ワークスペースの画面を表示する(ステップS333)。このとき、サーバ装置SRVは、そのハードディスク部(HDD)211(図2)に保持されているワークスペース定義ファイル100を読出して、必要なデータを要求元の情報処理装置PCへ応答する。
続いて、ユーザ操作に応じて、図17に示すオブジェクト操作を実行する(ステップS334)。さらに、情報処理装置PCは、このオブジェクト操作に従って生成されたワークスペース変更指令がサーバ装置SRVへ送信する(ステップS335)。このワークスペース変更指令に応じて、サーバ装置SRVは、そのハードディスク部(HDD)211に格納されているワークスペース定義ファイル100および実体ファイル120を更新する。そして、処理はリターンする。
図16は、図14のステップS34に示す個人作業モード処理の処理手順を示すフローチャートである。なお、図16に示す処理手順は、典型的には、サブルーチンとして提供される。
図16を参照して、ハードディスク部(HDD)211(図2)に保持されているワークスペース定義ファイル100Aを読出す(ステップS341)。続いて、ユーザ操作に応じて、図18に示すオブジェクト操作を実行する(ステップS342)。
さらに、このオブジェクト操作によって得られたワークスペース定義ファイル100Aの内容をハードディスク部(HDD)211に書込む(ステップS343)とともに、当該ワークスペース定義ファイル100Aの情報のうち、ユーザにより指定される所定範囲に含まれる情報に基づいて、描画処理(レンダリング処理)を行なう(ステップS344)。なお、オブジェクト操作によって新規作成もしくは変更されたオブジェクトは、個人オブジェクトとして作成され、ワークスペース定義ファイル100Aに追加される。その後、処理はリターンする。
図17は、図15のステップS334および/または図16のS342に示すオブジェクト操作の処理手順を示すフローチャートである。なお、図17に示す処理手順は、典型的には、サブルーチンとして提供される。
図17を参照して、ユーザによる入力装置209の操作によって、操作指示が与えられたか否かを判断する(ステップS350)。操作指示が与えられていない場合(ステップS350においてNOの場合)には、処理はリターンする。
一方、操作指示が与えられた場合(ステップS350においてYESの場合)には、当該操作指示がオブジェクトの作成指示であるか否かを判断する(ステップS351)。当該操作指示がオブジェクトの作成指示である場合(ステップS351においてYESの場合)には、当該作成指示に従って、オブジェクトを作成する(ステップS352)。その後、処理はリターンする。
これに対して、当該操作指示がオブジェクトの作成指示でない場合(ステップS351においてNOの場合)には、当該操作指示がオブジェクトの閲覧指示であるか否かを判断する(ステップS353)。当該操作指示がオブジェクトの閲覧指示である場合(ステップS353においてYESの場合)には、当該作成指示に従って、オブジェクトに関連付けられた実体ファイルのコンテンツもしくはオブジェクトの属性情報などを表示する(ステップS354)。その後、処理はリターンする。
これに対して、当該操作指示がオブジェクトの閲覧指示でない場合(ステップS353においてNOの場合)には、自装置における「モード状態」の値を取得する(ステップS355)。続いて、取得した「モード状態」が「共同作業モード」であるか否かを判断する(ステップS356)。
取得した「モード状態」が「共同作業モード」でない場合(ステップS356においてNOの場合)には、そして、処理はステップS359へ進む。
一方、取得した「モード状態」が「共同作業モード」である場合(ステップS356においてYESの場合)には、対象のオブジェクトが個人オブジェクトであるか否かを判断する(ステップS357)。対象のオブジェクトが個人オブジェクトでない場合(ステップS357においてNOの場合)には、処理はステップS359へ進む。
これに対して、対象のオブジェクトが個人オブジェクトである場合(ステップS357においてYESの場合)には、読み取り専用の処理を実行する(ステップS358)。具体的な一例として、操作を行なおうとしたユーザに対して、「読み取り専用」である旨の警告を行なう。そして、処理はリターンする。あるいは、操作対象のオブジェクトのオーナーに対して、変更操作に対する許可を求めるメッセージを通知してもよい。この場合には、オーナーから変更操作の許可が得られたことを条件として、処理をステップS359に進めてもよい。
ステップS359では、ユーザからの操作指示に従って、対象のオブジェクトに対する変更操作(オブジェクトの移動・変更・削除・属性変更)を実行する。その後、処理はリターンする。
<本実施の形態による作用・効果>
この発明の実施の形態によれば、個人作業モードのワークスペースWS2上でユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。この「個人オブジェクト」は、ユーザが共同作業モードへ切替えた場合に、共同作業モードのワークスペースWS1に反映される。共同作業モードのワークスペースWS1上では、この個人オブジェクトに対して変更や削除などが指示されると、当該個人オブジェクトに対する改変を保護するための処理が実行される。典型的には、当該個人オブジェクトが読み取り専用として取扱われる。
この発明の実施の形態によれば、個人作業モードのワークスペースWS2上でユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。この「個人オブジェクト」は、ユーザが共同作業モードへ切替えた場合に、共同作業モードのワークスペースWS1に反映される。共同作業モードのワークスペースWS1上では、この個人オブジェクトに対して変更や削除などが指示されると、当該個人オブジェクトに対する改変を保護するための処理が実行される。典型的には、当該個人オブジェクトが読み取り専用として取扱われる。
これにより、個人作業モードのワークスペースWS2上でいずれかのユーザが作成したオブジェクトが、共同作業モードのワークスペースWS1上で他のユーザのミスなどによって変更や削除されるような事態を回避することができる。また、複数の個人オブジェクトをマージ(結合)して、1つのオブジェクト(成果物)などにまとめるような場合にも、ミスを低減して、効率的に作業を行なうことができる。さらに、共同作業モードのワークスペースWS1上において、個人オブジェクトであることを示す表示がなされることで、当該共同作業モードのワークスペースWS1に参加しているそれぞれのユーザは、いずれのオブジェクトに対して変更操作を行なうことができるのかを、一見して把握することができる。
[実施の形態2]
上述の実施の形態1では、サーバ−クライエント構成のシステムについて例示した。一方、以下に例示する実施の形態2では、それぞれのnodeが互いに連係してワークスペースWSを提供するためのワークスペース定義ファイルなどを共有する構成について例示する。
上述の実施の形態1では、サーバ−クライエント構成のシステムについて例示した。一方、以下に例示する実施の形態2では、それぞれのnodeが互いに連係してワークスペースWSを提供するためのワークスペース定義ファイルなどを共有する構成について例示する。
<ワークスペースの全体構成>
図18は、この発明の実施の形態2に従うワークスペースを提供するためのシステムの概略構成図である。
図18は、この発明の実施の形態2に従うワークスペースを提供するためのシステムの概略構成図である。
図18を参照して、本実施の形態に従うシステムは、ネットワークNWを介して互いにデータ通信可能に接続されたデバイスである、複数の情報処理装置PC1〜PC3で構成される。
これらの情報処理装置PC1〜PC3の各々は、ワークスペース定義ファイル100および実体ファイル120を共通に保持・管理することで、複数のユーザによる同時アクセス可能な仮想空間(共同作業空間)を提供する。すなわち、いずれかの情報処理装置PC上でユーザ操作によってワークスペース定義ファイルが変更されると、当該変更後のワークスペース定義ファイルを変更するための情報(変更に係るワークスペース定義ファイルの全部または一部)が他の情報処理装置PCにも送信される。このような同期処理が随時行われることで、すべての情報処理装置PCにおいて、実質的に同一のワークスペースが提供されることになる。
なお、それぞれの情報処理装置PCは、論理的に相互にデータ通信可能であれば、必ずしも同一階層のネットワークに接続されている必要はない。
このように、本実施の形態に従うシステムにおける情報処理装置PCは、上述の実施の形態1におけるサーバnodeおよびクライエントnodeの機能を統合させたものとみることもできる。従って、実施の形態2に係る説明では、情報処理装置PCを単に「node」とも称す。
<ハードウェア構成>
情報処理装置PC(node)のハードウェア構成は、図2と同様であるので、詳細な説明は繰り返さない。
情報処理装置PC(node)のハードウェア構成は、図2と同様であるので、詳細な説明は繰り返さない。
<全体処理概要>
本実施の形態に従うワークスペースにおいても、上述の実施の形態1と同様に、各nodeにおいて、「共同作業モード」と「個人作業モード」との切替機能が提供される。
本実施の形態に従うワークスペースにおいても、上述の実施の形態1と同様に、各nodeにおいて、「共同作業モード」と「個人作業モード」との切替機能が提供される。
特に、本実施の形態に従うシステムにおいても、個人作業モードから共同作業モードに移行した後、個人作業モードにおいて各ユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。この「個人オブジェクト」は、共同作業モードにおいて、改変を保護するための処理(典型的には、「読み取り専用」)の処理が実行される。言い換えれば、「個人オブジェクト」の属性が付加されたオブジェクトは、読み取り専用の属性が付加される。そのため、共同作業モードにおいて、この読み取り専用に設定された個人オブジェクトに対しては、変更や削除などの操作が禁止される。
なお、本実施の形態では、それぞれのnodeがワークスペース定義ファイル100および実体ファイル120を管理・保持するので、node間の同期処理が上述の実施の形態1とは異なっている。この同期処理については、後述する。その他の処理については、その概略において、上述の実施の形態1と同様であるので、詳細な説明は繰り返さない。
<データ構造>
本実施の形態に従うワークスペース定義ファイル100などのデータ構造は、上述の図6などと同様であるので、詳細な説明は繰り返さない。
本実施の形態に従うワークスペース定義ファイル100などのデータ構造は、上述の図6などと同様であるので、詳細な説明は繰り返さない。
<制御構造>
図19は、この発明の実施の形態2に従う各情報処理装置PCの制御構造を示すブロック図である。情報処理装置PC(node)の各々は、その制御構造として、作業モード制御部250と、データ操作部252と、同期制御部254と、描画部256と、ユーザ認証部258と、データ送受信部260と、属性変更部264とを含む。データ格納部262は、ハードディスク部211(図2)の任意の領域として提供され、データ送受信部260は、通信インターフェイス207(図2)および関連するドライバソフトの協同によって提供され、その他の各部は、代表的に、CPU201(図2)がプログラムをメモリ部213(図2)に展開し、各コマンドを実行することで提供される。なお、これらの機能の全部または一部をハードウェアによって実現してもよい。
図19は、この発明の実施の形態2に従う各情報処理装置PCの制御構造を示すブロック図である。情報処理装置PC(node)の各々は、その制御構造として、作業モード制御部250と、データ操作部252と、同期制御部254と、描画部256と、ユーザ認証部258と、データ送受信部260と、属性変更部264とを含む。データ格納部262は、ハードディスク部211(図2)の任意の領域として提供され、データ送受信部260は、通信インターフェイス207(図2)および関連するドライバソフトの協同によって提供され、その他の各部は、代表的に、CPU201(図2)がプログラムをメモリ部213(図2)に展開し、各コマンドを実行することで提供される。なお、これらの機能の全部または一部をハードウェアによって実現してもよい。
データ格納部262は、ワークスペースを構成するためのワークスペース定義ファイル100と、ワークスペース定義ファイル100内でリンクされた実体ファイル120と、ネットワークNW(図1)を介して接続可能な他のnode(情報処理装置PC)を特定するための情報(たとえば、IPアドレスなどの各nodeを一意に特定できるユニークな宛て先情報)をリスト形式で記述した接続テーブル160とを含む。
さらに、データ格納部262には、ワークスペース定義ファイル100Aおよび実体ファイル120Aを保持するための領域が予め設定されている。
作業モード制御部250は、ユーザが入力装置209(図2)を介して入力する操作に従って、共同作業モードと個人作業モードとを切替える。そして、クライエントnodeは、現在のモードをデータ操作部252へ通知する。
データ操作部252は、作業モード制御部250によって共同作業モードから個人作業モードへ切替えられると、自装置のデータ格納部262に格納されているワークスペース定義ファイル100および(必要に応じて)実体ファイル120が、それぞれワークスペース定義ファイル100Aおよび実体ファイル120Aとしてコピーされる。そして、これらのワークスペース定義ファイル100Aおよび実体ファイル120Aに基づいて、個人作業モードにおけるワークスペースWS2が提供される。すなわち、共同作業モードから個人作業モードへの切替直後では、ワークスペース定義ファイル100および実体ファイル120とワークスペース定義ファイル100Aおよび実体ファイル120Aは、それぞれ同一のものとなる。
さらに、データ操作部252は、作業モード制御部250によって個人作業モードから共同作業モードへ切替えられると、ワークスペース定義ファイル100Aおよび実体ファイル120Aでの変更内容をそれぞれワークスペース定義ファイル100および実体ファイル120へ反映する。
同期制御部254は、ワークスペース定義ファイル100および(必要に応じて)実体ファイル120を他のnode(情報処理装置PC)との間で同期する。すなわち、同期制御部254は、自nodeにおいてワークスペース定義ファイル100および/または実体ファイル120に何らかの変更がなされると、変更後のワークスペース定義ファイル100および/または実体ファイル120の全部または一部(差分)を、当該ワークスペースWS1を形成する他のnodeへそれぞれ送信する。また、同期制御部254は、変更後のワークスペース定義ファイル100および/または実体ファイル120の全部または一部(差分)を他のnodeから受信すると、それに応じて、自装置のデータ格納部262に記憶されているワークスペース定義ファイル100および/または実体ファイル120を更新する。
なお、上述したように、各情報処理装置PCにおいて何らかの操作がなされることをイベントとしてこのような同期処理が実行されるようにしてもよいし、これに加えて、あるいはこれに代えて、所定周期毎に、ワークスペースWS1に参加するすべてのnode(情報処理装置PC)の間で、データの一致/不一致をつきあわせ、この結果に応じて、ワークスペース定義ファイル100および/または実体ファイル120の内容を変更するようにしてもよい。
描画部256は、ワークスペース定義ファイル100もしくは100Aの情報のうち、ユーザにより指定される所定範囲に含まれる情報に基づいて、描画処理(レンダリング処理)を行なう。すなわち、共同作業モードであれば、描画部256は、ワークスペース定義ファイル100に基づいて、ユーザが指定した領域を可視化する。一方、個人作業モードであれば、描画部256は、ワークスペース定義ファイル100Aに基づいて、ユーザが指定した領域を可視化する。
ユーザ認証部258は、各情報処理装置PCを使用するユーザに対するユーザ認証処理を実行する。具体的には、ユーザ認証部258は、いずれかのユーザが各情報処理装置PCの使用開始時に、IDおよびパスワードの入力を促す。そして、ユーザからIDおよびパスワードの入力があると、予め格納されたユーザテーブル(図示しない)、あるいはユーザ認証サーバ(図示しない)に問合せを行ってユーザ認証処理を行なう。ユーザ認証が成功すると、ユーザによる当該情報処理装置PCの使用を許可するとともに、現在使用中(ログイン中)のユーザ名を保持する。なお、本実施の形態に従う情報処理装置PCでは、各装置を使用するユーザを識別できればよいので、パスワードを必ずしも要求しなくてもよい。
データ送受信部260は、他のnode(情報処理装置PC)との間のデータ通信を制御する。具体的には、データ送受信部260は、同期制御部254からの要求に応じて、データ格納部262に格納されているワークスペース定義ファイル100および/または実体ファイル120の全部または一部を読み出して他のnodeへ送信し、あるいは、他のnodeから受信したワークスペース定義ファイル100および/または実体ファイル120の全部または一部を同期制御部254へ渡す。なお、データ送受信部260は、データ格納部262に格納されている接続テーブル160を参照して、データの送受信を行なう相手を特定する。
属性変更部352は、個人作業モードにおいて、いずれかのクライエントnodeで新規作成された、もしくは変更された結果生じた個人オブジェクトの属性を、ユーザ操作に応じて変更する。より具体的には、属性変更部352は、各個人オブジェクトのオーナーもしくは当該オーナーから所定の権限を与えられているユーザが、当該個人オブジェクトを共有オブジェクトに変更するための指令を与えると、対象のオブジェクトの属性を変更する。さらに、属性変更部352は、共有オブジェクトとして存在するオブジェクトを個人オブジェクトに変更することもできる。具体的には、属性変更部352は、ワークスペース定義ファイル100の記述に対して、この<localObject/>タグを削除し、もしくは、この<localObject/>タグを付加することで、属性の変更を実現する。
<同期処理>
上述したように、本実施の形態に従うシステムでは、各nodeがワークスペース定義ファイル100を共有することで、共同作業モードにおけるワークスペースWS1を各nodeのユーザに提供する。このようなワークスペースWS1を提供するため、共同作業モードでは、node間でワークスペース定義ファイル100の同期処理が継続的に実行される。
上述したように、本実施の形態に従うシステムでは、各nodeがワークスペース定義ファイル100を共有することで、共同作業モードにおけるワークスペースWS1を各nodeのユーザに提供する。このようなワークスペースWS1を提供するため、共同作業モードでは、node間でワークスペース定義ファイル100の同期処理が継続的に実行される。
まず、図20〜図23を参照して、本実施の形態に従うワークスペースの共同作業モードにおける同期処理について説明する。なお、図20〜図23に示す例は、図3に示すワークスペース定義ファイルに対応している。
図20は、この発明の実施の形態2に従うワークスペースのある状態を示す図である。図21は、図20に示す状態において、node1でユーザ操作が行なわれた直後の状態を示す図である。図22は、図21の後に同期処理中の状態を示す図である。図23は、図22に示すユーザ操作に係る同期処理が完了した状態を示す図である。
図20を参照して、共同作業モードにおいて同期処理が完了している状態では、node1〜node3の各々は、同一の内容が記述されたワークスペース定義ファイル100を保持している。
次に、図20に示す状態において、node1のユーザが何らかの操作を行なった場合について説明する。一例として、node1のユーザがマウスなどの入力装置209を操作して、ワークスペース上のオブジェクトOBJ1(図3参照)をドラッグし、オブジェクトOBJ1の位置を変更したとする。このnode1のユーザ操作に伴って、node1のデータ操作部252(図19)は、オブジェクトOBJ1の変更後の位置情報を取得し、自装置のデータ格納部262(図19)に格納されているワークスペース定義ファイル100中の対応するタグの値を変更する。
具体的には、図21に示すように、node1の保持するワークスペース定義ファイル100のオブジェクトOBJ1を記述する<point>タグ108の値が「x='120' y='250'」から「x='200' y='300'」に書き換えられる。
このワークスペース定義ファイル100の変更に伴って、node1の同期制御部254(図19)は、他のnodeに対して、この変更が反映されるように同期処理を実行する。具体的には、図22に示すように、node1の同期制御部254は、自装置におけるワークスペース定義ファイル100の変更後と変更前との差分を示す変更情報データ102を、ワークスペースに参加している他のnodeの各々へ送信(たとえば、マルチキャスト送信)する。なお、このワークスペースに参加しているnodeは、接続テーブル160を参照することで特定される。
図22に示す変更情報データ102の内容の一例としては、行頭に「−」の記号を付した削除行指示104と、行頭に「+」の記号を付した追加行指示106とを含む。この削除行指示104は、現在のワークスペース定義ファイル100から削除すべき内容を示し、追加行指示106は、現在のワークスペース定義ファイル100に追加すべき内容を示す。
なお、この変更情報データ102には、当該変更情報データ102の送信元および送信先と特定するための情報(図示しない)も併せて付加される。
この変更情報データ102を受信したnode2およびnode3は、この変更情報データ102に基づいて、各自のデータ格納部262に格納されたワークスペース定義ファイル100の内容を変更する。この結果、図23に示すように、ワークスペースに参加しているすべてのnodeで変更後のワークスペース定義ファイル100が共通に保持されるようになる。
以下、いずれのnodeにおいてユーザがなされたとしても、上述と同様の同期処理が実行される。
<モード切替処理>
それぞれのnodeにおいて、個人作業モードから共同作業モードへのモード切替が実行されると、個人作業モードにおいて新規作成された個人オブジェクトが、他のnodeとの間で共有されるワークスペース定義ファイルに反映される。すなわち、自装置で保持・管理されるワークスペース定義ファイル100Aおよび実体ファイル120Aと、自装置で保持・管理するワークスペース定義ファイル100および実体ファイル120との間で変更反映処理が実行される。この変更反映処理の実行後、他のnodeとの間で同期処理が実行されることで、すべてのnodeで変更反映後のワークスペース定義ファイル100および実体ファイル120が共有されることになる。
それぞれのnodeにおいて、個人作業モードから共同作業モードへのモード切替が実行されると、個人作業モードにおいて新規作成された個人オブジェクトが、他のnodeとの間で共有されるワークスペース定義ファイルに反映される。すなわち、自装置で保持・管理されるワークスペース定義ファイル100Aおよび実体ファイル120Aと、自装置で保持・管理するワークスペース定義ファイル100および実体ファイル120との間で変更反映処理が実行される。この変更反映処理の実行後、他のnodeとの間で同期処理が実行されることで、すべてのnodeで変更反映後のワークスペース定義ファイル100および実体ファイル120が共有されることになる。
その他の処理については、上述の実施の形態1と同様であるので、詳細な説明は繰り返さない。
<共同作業モードにおける個人オブジェクトの取り扱い>
共同作業モードにおける個人オブジェクトの取り扱いについても、上述の実施の形態1と同様であるので、詳細な説明は繰り返さない。
共同作業モードにおける個人オブジェクトの取り扱いについても、上述の実施の形態1と同様であるので、詳細な説明は繰り返さない。
<処理手順>
以上説明した内容を実現するための処理手順について説明する。概略の処理手順については、上述の実施の形態1と同様であるので、異なる処理手順についてのみ、以下説明する。
以上説明した内容を実現するための処理手順について説明する。概略の処理手順については、上述の実施の形態1と同様であるので、異なる処理手順についてのみ、以下説明する。
まず、この発明の実施の形態2に従う全体処理手順については、図11と同様であるので、詳細な説明は繰り返さない。また、図10のステップS2に示すモード切替処理の処理手順についても、図11と同様であるので、詳細な説明は繰り返さない。
図24は、この発明の実施の形態2に従う、図11のステップS23に示す個人作業モードへの切替処理の処理手順を示すフローチャートである。なお、図24に示す処理手順は、典型的には、サブルーチンとして提供される。
図24を参照して、自装置で保持している現在のワークスペース定義ファイル100および(必要に応じて)実体ファイル120をコピーして、それぞれワークスペース定義ファイル100Aおよび実体ファイル120Aとして生成する(ステップS231A)。
その後、メモリ部213もしくはハードディスク部(HDD)211(図2)に保持されている「モード状態」の値を「個人作業モード」に変更する(ステップS232A)。そして、処理はリターンする。
図25は、この発明の実施の形態2に従う、図11のステップS24に示す共同作業モードへの切替処理の処理手順を示すフローチャートである。なお、図25に示す処理手順は、典型的には、サブルーチンとして提供される。
図25を参照して、自装置に保持・管理されているワークスペース定義ファイル100Aおよび実体ファイル120Aのうち、個人オブジェクトの記述およびそれに関連付けられた実体ファイルを抽出する(ステップS241A)。続いて、抽出した個人オブジェクトの記述およびそれに関連付けられた実体ファイルで、自装置が保持・管理するワークスペース定義ファイル100および実体ファイル120を更新する(ステップS242A)。さらに、他のnodeとの間で、更新後のワークスペース定義ファイル100および実体ファイル120の同期処理を実行する(ステップS243A)。
その後、メモリ部213もしくはハードディスク部(HDD)211(図2)に保持されている「モード状態」の値を「共同作業モード」に変更する(ステップS244A)。そして、処理はリターンする。
図10のステップS3に示すワークスペース処理の処理手順についても、図14と同様であるので、詳細な説明は繰り返さない。
図26は、この発明の実施の形態2に従う、図15のステップS33に示す共同作業モード処理の処理手順を示すフローチャートである。なお、図26に示す処理手順は、典型的には、サブルーチンとして提供される。
図26を参照して、自装置に保持・管理されているワークスペース定義ファイル100を読出す(ステップS341A)。続いて、ユーザ操作に応じて、図17に示すオブジェクト操作を実行する(ステップS342A)。
そして、このオブジェクト操作に従ってワークスペース定義ファイル100および/または実体ファイル120の内容を更新する(ステップS343A)とともに、当該更新後のワークスペース定義ファイル100の情報のうち、ユーザにより指定される所定範囲に含まれる情報に基づいて、描画処理(レンダリング処理)を行なう(ステップS344A)。さらに、他のnodeとの間で、更新後のワークスペース定義ファイル100および実体ファイル120の同期処理を実行する(ステップS345A)。そして、処理はリターンする。
図14のステップS34に示す個人作業モード処理の処理手順についても、図17と同様であるので、詳細な説明は繰り返さない。さらに、図26のステップS334および/または図16のS342に示すオブジェクト操作の処理手順についても、図17と同様であるので、詳細な説明は繰り返さない。
<本実施の形態による作用・効果>
この発明の実施の形態によれば、個人作業モードのワークスペースWS2上でユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。この「個人オブジェクト」は、ユーザが共同作業モードへ切替えた場合に、共同作業モードのワークスペースWS1に反映される。共同作業モードのワークスペースWS1上では、この個人オブジェクトに対して変更や削除などが指示されると、当該個人オブジェクトに対する改変を保護するための処理が実行される。典型的には、当該個人オブジェクトが読み取り専用として取扱われる。
この発明の実施の形態によれば、個人作業モードのワークスペースWS2上でユーザが新規作成した、もしくは変更を行なったオブジェクトについては、「個人オブジェクト」として取扱われる。この「個人オブジェクト」は、ユーザが共同作業モードへ切替えた場合に、共同作業モードのワークスペースWS1に反映される。共同作業モードのワークスペースWS1上では、この個人オブジェクトに対して変更や削除などが指示されると、当該個人オブジェクトに対する改変を保護するための処理が実行される。典型的には、当該個人オブジェクトが読み取り専用として取扱われる。
これにより、個人作業モードのワークスペースWS2上でいずれかのユーザが作成したオブジェクトが、共同作業モードのワークスペースWS1上で他のユーザのミスなどによって変更や削除されるような事態を回避することができる。また、複数の個人オブジェクトをマージ(結合)して、1つのオブジェクト(成果物)などにまとめるような場合にも、ミスを低減して、効率的に作業を行なうことができる。さらに、共同作業モードのワークスペースWS1上において、個人オブジェクトであることを示す表示がなされることで、当該共同作業モードのワークスペースWS1に参加しているそれぞれのユーザは、いずれのオブジェクトに対して変更操作を行なうことができるのかを、一見して把握することができる。
[第1変形例]
上述の実施の形態1および2では、個人作業モードから共同作業モードへ移行した際に、それ以前の個人作業モードにおいて作成された個人オブジェクトがすべて反映される構成について例示したが、作業の進行状況によっては、他のユーザに閲覧されることを希望しないものも存在する。
上述の実施の形態1および2では、個人作業モードから共同作業モードへ移行した際に、それ以前の個人作業モードにおいて作成された個人オブジェクトがすべて反映される構成について例示したが、作業の進行状況によっては、他のユーザに閲覧されることを希望しないものも存在する。
そこで、個人作業モードにおいて作成された個人オブジェクトのうち、オーナーのユーザが指定したものだけを共同作業モードにおいて閲覧可能な状態にすることが、状況によっては好ましい。以下、本変形例に従う処理について、図27を参照して説明する。
図27は、この発明の実施の形態の第1変形例に従う特徴的な処理を説明するための図である。
図27(a)を参照して、node1のユーザAが、個人作業モードにおいて複数のオブジェクトOBJ6,OBJ11,OBJ12を作成したとする。このとき、オブジェクトOBJ11およびOBJ12については、他のユーザとの間で協議できるほどの完成度に達していない場合には、ユーザAは、これらのオブジェクトの公開を望まない場合もある。すなわち、他のユーザによる閲覧を希望しない場合もある。
このような場合には、個人作業モードから共同作業モードへの移行前に、予め共同作業モードに対して反映すべき範囲SLA(もしくは、具体的オブジェクト)を指定しておき、この範囲SLAに含まれるオブジェクトについてのみ、共同作業モードに対して反映するようにしてもよい。より具体的には、この範囲SLAに含まれるオブジェクトの記述のみが、ワークスペース定義ファイル100および/または実体ファイル120に反映される。
[第2変形例]
上述の実施の形態では、本発明を個人作業モードと共同作業モードとの2つのモード間でのワークスペースの切替え処理に適用した構成について例示した。しかしながら、本発明は、これらの形態に限られず、2つの独立したワークスペースを相互に切替えるような使用形態に適用可能である。
上述の実施の形態では、本発明を個人作業モードと共同作業モードとの2つのモード間でのワークスペースの切替え処理に適用した構成について例示した。しかしながら、本発明は、これらの形態に限られず、2つの独立したワークスペースを相互に切替えるような使用形態に適用可能である。
一例として、あるプロジェクトを進める際に、当該プロジェクトを司る部署が設けられ、さらにこの部署には、当該プロジェクトに必要な複数のコンポーネントに対応させて、複数のチームが設けられる場合がある。このような業務分担を考えると、当該部署のメンバーが共同作業するワークスペースと、各チームのメンバーが共同作業モードするワークスペースとがそれぞれ独立に設けられる。一方で、多くのメンバーは、当該部署に所属するとともに、いずれかのチームにも所属することとなるので、少なくとも2つのワークスペースに参加する必要がある。
より具体的には、各チームのメンバー(すなわち、部署の一部のメンバー)が共同作業可能なワークスペース(以下、「チーム内共同作業用ワークスペース」とも称す。)と、部署のすべてのメンバーが共同作業可能なワークスペース(以下、「部署内共同作業用ワークスペース」とも称す。)とが設けられており、典型的には、各チーム内共同作業用ワークスペースにおいて作成されたオブジェクトが、部署内共同作業用ワークスペース上で、他のチームのメンバーや当該部署の責任者によって、精査される。
このような使用形態においては、チーム内共同作業用ワークスペース上で作成されたオブジェクトを、何らの制限なく、部署内共同作業用ワークスペースへコピー(転送)することは、部署内共同作業用ワークスペースの内容を不用意に変更等してしまうおそれがある。そもそも、部署内共同作業用ワークスペースとチーム内共同作業用ワークスペースとは、その用途および目的が異なるので、それぞれで作成されたオブジェクトが混同すると、不都合が生じる可能性がある。
そこで、チーム内共同作業用ワークスペースで作成されたオブジェクトを部署内共同作業用ワークスペースにコピーする場合などには、チーム内共同作業用ワークスペースで作成されたオブジェクトに上述と同様の<localObject/>タグを付加することで、それぞれのワークスペース上で作成されたオブジェクト同士が混同することを回避できる。また、このような<localObject/>タグが付加されたオブジェクトについては、部署内共同作業用ワークスペースにおいて、読み取り専用として取り扱われる。
あるいは、<localObject/>タグに代えて、別のタグを用いてもよい。たとえば、オブジェクトの生成されたワークスペースに特有のタグ、たとえば<teamObject/>といったタグを付加することで、複数のチームからそれぞれコピーされた複数のオブジェクトの各々に対して、異なる取り扱いを行なうこともできるようになる。すなわち、チームAに対して設けられたチーム内共同作業用ワークスペースと、チームBに対して設けられたチーム内共同作業用ワークスペースとの間で、取り扱いを変更することもできる。
[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
201 CPU、203 内部バス、205 モニター、207 通信インターフェイス、209 入力装置、211 ハードディスク部、213 メモリ部、215 CD−ROMドライブ、217 フレキシブルディスク(FD)ドライブ、215a CD−ROM、217a フレキシブルディスク、250 作業モード制御部、252 データ操作部、254 同期制御部、256 描画部、258 ユーザ認証部、260,360 データ送受信部、262,362 データ格納部、264,352 属性変更部、350 データ更新部、354 ユーザ認証部、NW ネットワーク、PC,PC1〜PC3 情報処理装置、SRV サーバ装置。
Claims (9)
- 複数の情報処理装置を用いて仮想空間を提供する情報処理方法であって、
前記複数の情報処理装置のうち少なくとも1つの情報処理装置が、複数のユーザによる同時アクセス可能な第1の仮想空間および前記第1の仮想空間に含まれるオブジェクトを定義する第1のファイルを保持するステップと、
前記複数の情報処理装置のうち1つの情報処理装置が、前記複数のユーザのうち一部のユーザのみがアクセス可能な第2の仮想空間および前記第2の仮想空間に含まれるオブジェクトを定義する第2のファイルを保持するステップと、
前記第2ファイルを保持する情報処理装置が、前記第2のファイルに定義されたオブジェクトの少なくとも一部を前記第1のファイルに反映するステップと、
前記第1のファイルを保持する情報処理装置が、前記第1の仮想空間において、前記第2のファイルから反映されたオブジェクトに対するユーザ操作に応答して、当該オブジェクトに対する改変を保護するための処理を実行するステップとを含む、情報処理方法。 - 前記第2ファイルを保持する情報処理装置が、ユーザ操作に応じて、前記第2のファイルに新たなオブジェクトの定義を追加するステップをさらに含み、
前記第1のファイルに反映するステップは、
前記第2のファイルに追加されたオブジェクトの定義を前記第1のファイルに追加するステップを含む、請求項1に記載の情報処理方法。 - 前記第1のファイルに反映するステップは、
前記第1のファイルに追加されたオブジェクトの定義に所定の属性を付加するステップをさらに含み、
前記改変を保護するための処理を実行するステップは、
前記所定の属性の有無に基づいて、ユーザ操作の対象となったオブジェクトが改変を保護すべき対象であるか否かを判断するステップを含む、請求項2に記載の情報処理方法。 - 前記第1のファイルを保持する情報処理装置が、ユーザ操作に応じて、指定されたオブジェクトに付加されている前記所定の属性を削除するステップをさらに含む、請求項3に記載の情報処理方法。
- 前記改変を保護するための処理は、
対象のオブジェクトに対するユーザ操作を禁止する処理、
操作元のユーザに対して、読み取り専用であることの警告を表示する処理、
対象のオブジェクトについて権限を有するユーザに対して改変の許否の判断を促す処理、
のうちいずれか1つの処理を含む、請求項1〜4のいずれか1項に記載の情報処理方法。 - 前記第1ファイルを保持する情報処理装置が、前記第1のファイルに基づいて提供する仮想空間において、前記第2のファイルから前記第1のファイルに反映されたオブジェクトを、前記第2のファイルから反映されたことを示す態様で表示するステップをさらに含む、請求項1〜5のいずれか1項に記載の情報処理方法。
- 前記第2ファイルを保持する情報処理装置が、前記第1の仮想空間から前記第2の仮想空間への切替要求に応答して、前記第1のファイルをコピーすることで前記第2のファイルを生成するステップをさらに含む、請求項1〜6のいずれか1項に記載の情報処理方法。
- 他の情報処理装置とデータ通信可能に構成され、仮想空間を提供する情報処理装置であって、
前記仮想空間が表示される表示部と、
複数のユーザによる同時アクセス可能な第1の仮想空間および前記第1の仮想空間に含まれるオブジェクトを定義する第1のファイルを他の情報処理装置との間で同期して保持する手段と、
自装置を使用するユーザのみがアクセス可能な第2の仮想空間および前記第2の仮想空間に含まれるオブジェクトを定義する第2のファイルを保持する手段と、
前記第2のファイルに定義されたオブジェクトの少なくとも一部を前記第1のファイルに反映する手段と、
前記第1の仮想空間において、前記第2のファイルから反映されたオブジェクトに対するユーザ操作に応答して、当該オブジェクトに対する改変を保護するための処理を実行する手段とを備える、情報処理装置。 - 他の情報処理装置と連係して仮想空間を提供するためのプログラムであって、
前記プログラムは、前記情報処理装置に、
前記仮想空間を表示するステップと、
複数のユーザによる同時アクセス可能な第1の仮想空間および前記第1の仮想空間に含まれるオブジェクトを定義する第1のファイルを他の情報処理装置との間で同期して保持するステップと、
自装置を使用するユーザのみがアクセス可能な第2の仮想空間および前記第2の仮想空間に含まれるオブジェクトを定義する第2のファイルを保持するステップと、
前記第2のファイルに定義されたオブジェクトの少なくとも一部を前記第1のファイルに反映するステップと、
前記第1の仮想空間において、前記第2のファイルから反映されたオブジェクトに対するユーザ操作に応答して、当該オブジェクトに対する改変を保護するための処理を実行するステップとを実行させる、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008279854A JP2010108261A (ja) | 2008-10-30 | 2008-10-30 | 情報処理方法、情報処理装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008279854A JP2010108261A (ja) | 2008-10-30 | 2008-10-30 | 情報処理方法、情報処理装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010108261A true JP2010108261A (ja) | 2010-05-13 |
Family
ID=42297649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008279854A Withdrawn JP2010108261A (ja) | 2008-10-30 | 2008-10-30 | 情報処理方法、情報処理装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010108261A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014056546A (ja) * | 2012-09-14 | 2014-03-27 | Konica Minolta Inc | 情報共有システム及び共有端末並びに共有制御プログラム |
JP2016081349A (ja) * | 2014-10-17 | 2016-05-16 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理システム |
JP2022082379A (ja) * | 2020-11-20 | 2022-06-01 | 株式会社インタラクティブソリューションズ | ミーティング支援システム |
-
2008
- 2008-10-30 JP JP2008279854A patent/JP2010108261A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014056546A (ja) * | 2012-09-14 | 2014-03-27 | Konica Minolta Inc | 情報共有システム及び共有端末並びに共有制御プログラム |
US9386051B2 (en) | 2012-09-14 | 2016-07-05 | Konica Minolta, Inc. | Information sharing system, common terminal and non-transitory computer-readable storage medium |
JP2016081349A (ja) * | 2014-10-17 | 2016-05-16 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理システム |
JP2022082379A (ja) * | 2020-11-20 | 2022-06-01 | 株式会社インタラクティブソリューションズ | ミーティング支援システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4416035B2 (ja) | 中継サーバ及び中継通信システム | |
JP4627491B2 (ja) | クラスタコンピュータミドルウェアプログラム、クラスタコンピュータシミュレータプログラム、クラスタコンピュータ用アプリケーションプログラム、およびアプリケーションプログラム開発支援方法 | |
JP4251645B2 (ja) | 情報処理方法及び装置 | |
JP5681939B2 (ja) | 帳票提供装置、帳票提供方法、及びプログラム | |
JP2005259113A (ja) | プロセス編集装置、プロセス管理装置、プロセス編集プログラム、プロセス管理プログラム、記録媒体、プロセス編集方法及びプロセス管理方法 | |
JP2008305094A (ja) | 文書管理方法及びその装置 | |
JP2009075850A (ja) | 情報処理装置、情報処理方法、ならびにそのプログラムおよび記憶媒体 | |
JP2010108261A (ja) | 情報処理方法、情報処理装置およびプログラム | |
GB2380830A (en) | Automatic file sharing in a peer to peer network by use of constraints between file system domains | |
JP4622300B2 (ja) | 情報共有システムおよび情報共有用プログラム | |
JP2013250762A (ja) | 文書管理サーバ、コンピュータプログラム、文書管理方法 | |
JP4304540B2 (ja) | 中継サーバ及び中継通信システム | |
WO2009154045A1 (ja) | 情報処理方法および情報処理装置 | |
Weyns et al. | The macodo middleware for context-driven dynamic agent organzations | |
JP2010061290A (ja) | 情報処理方法、情報処理装置およびプログラム | |
JP5843514B2 (ja) | 情報処理装置および制御方法およびプログラム | |
JP6292892B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5607374B2 (ja) | 文書管理システム | |
JP4909432B2 (ja) | コンテンツマネジメントシステム | |
JP2009048442A (ja) | 構成管理システム | |
JP4225354B2 (ja) | 分散データベースのデータアクセス方法及び装置 | |
WO2010016382A1 (ja) | 情報処理方法、情報処理装置およびプログラムを格納した記憶媒体 | |
JP7189104B2 (ja) | 情報処理システム、及び情報処理システムの制御方法 | |
JP6144100B2 (ja) | 文書管理システムおよび文書管理方法 | |
JP2007213288A (ja) | ネットワークシステム、データサーバー、その操作方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120110 |