(57)【特許請求の範囲】
【請求項１】
ネットワーク上に分散管理された電子文書に対してアクセスコントロールを行う分散電子文書のアクセスコントロールシステムにおいて、
電子文書を操作しようとする個人の正当な個人識別子を特定する個人認証手段と、
前記個人識別子の集合である関与者情報と、電子文書ポインタの集合である電子文書情報と、他のコミュニケーション情報レコードへのポインタの集合であるコミュニケーションリンク情報とを含むコミュニケーション情報レコードを格納するコミュニケーション情報レコード格納手段と、
前記電子文書情報に含まれる前記電子文書ポインタが指し示す電子文書に対する読み出しおよび書き出しおよび更新の操作を、当該操作を行おうとした者の個人識別子が当該コミュニケーション情報レコード自身の関与者情報に含まれるかまたは当該レコードと前記コミュニケーションリンク情報によってリンク関係にある別のコミュニケーション情報レコードの関与者情報に含まれるかの判定に基づいて許可するアクセスコントロール手段と、
を分散環境にそれぞれ複数備えていることを特徴とする分散電子文書のアクセスコントロールシステム。
【請求項２】
前記アクセスコントロール手段は、実際に操作者がその個人認証地点から操作しようとする電子文書に到達するまでに辿った経路情報を参照し、前記経路情報に含まれるリンクの関係を解釈して前記操作の許可の判定を行うことを特徴とする請求項１記載の分散電子文書のアクセスコントロールシステム。
【請求項３】
前記アクセスコントロール手段は、電子文書の読み出しおよび書き出しおよび更新の操作の許可の範囲が前記コミュニケーション情報レコードの操作そのものにまで及ぶことを特徴とする請求項１記載の分散電子文書のアクセスコントロールシステム。
【請求項４】
前記コミュニケーションリンク情報の各リンクは、リンク属性を有し、前記操作の許可の判定をするときに採用するリンクを、前記リンク属性の値によって制限することを特徴とする請求項１ないし３のいずれか１に記載の分散電子文書のアクセスコントロールシステム。
【請求項５】
リンクを辿るときの最大数である距離をあらかじめ設定して、前記操作の許可の判定をするときに辿ることができるリンクを前記距離で制限するようにしたことを特徴とする請求項１ないし３のいずれか１に記載の分散電子文書のアクセスコントロールシステム。
【請求項６】
前記コミュニケーション情報レコードの読み出し操作に対し、該レコードの内容のリンクについて、実際のポインタの指し示す位置を、その構造のみを返す中継点へのポインタに置き換えることにより、操作に対して前記ポインタの指し示す具体的な位置を隠蔽するようにしたリンク抽象化手段を備えていることを特徴とする請求項１記載の分散電子文書のアクセスコントロールシステム。
【請求項７】
ネットワーク上に分散管理された電子文書に対してアクセスコントロールを行う分散電子文書のアクセスコントロール方法において、
複数の個人認証手段によって、電子文書を操作しようとする個人の正当な個人識別子を特定し、
複数のコミュニケーション情報レコード格納手段によって、前記個人識別子の集合である関与者情報と、電子文書ポインタの集合である電子文書情報と、他のコミュニケーション情報レコードへのポインタの集合であるコミュニケーションリンク情報とを含むコミュニケーション情報レコードを格納し、
複数のアクセスコントロール手段によって、前記電子文書情報に含まれる前記電子文書ポインタが指し示す電子文書に対する読み出しおよび書き出しおよび更新の操作を、当該操作を行おうとした者の個人識別子が当該コミュニケーション情報レコード自身の関与者情報に含まれるかまたは当該レコードと前記コミュニケーションリンク情報によってリンク関係にある別のコミュニケーション情報レコードの関与者情報に含まれるかの判定に基づいて許可することを、
分散環境毎に行うことを特徴とする分散電子文書のアクセスコントロール方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は分散電子文書のアクセスコントロールシステム及び分散電子文書のアクセスコントロール方法に関し、特にネットワーク上に分散管理された電子文書またはデータベースレコードに対するアクセスをコントロールする分散電子文書のアクセスコントロールシステム及び分散電子文書のアクセスコントロール方法に関する。
【０００２】
【従来の技術】
一般に、電子文書またはデータベースは、一つの環境（装置）におけるファイルシステムまたはデータベースシステムごとに管理されており、それらへのアクセスコントロールもファイルシステムまたはデータベースシステムごとに行われている。電子文書またはデータベースにアクセスする際に必要な個人の認証は、ネットワークを介して他の環境で行われることもあるが、通常はローカルネットワークの中で集中管理されることになる。そして、電子文書またはデータベースへのアクセス許可は、特定の個人または既存のグループに対して与えられることになる。
【０００３】
すなわち、認証が済んだ個人識別子（ＩＤ）を持つ者が電子文書の読み出しおよび書き出しおよび更新の操作を行おうとした場合、当該電子文書の属性が示す個人ＩＤと一致するか否か、または属性が示す特定のグループのメンバリストに含まれているか否かに基づいて操作に対する許可が判定される。
【０００４】
たとえばある電子文書が特定のユーザの所有であれば、そのユーザは自分の電子文書に対する読み出しおよび書き出しおよび更新の操作を行うことができるが、それ以外のユーザに対してはその電子文書に対する操作は許可しないようにアクセスコントロールすることが行われている。また、ある電子文書に関与して操作するユーザが複数人いる場合には、グループを定義して、そのグループに許可を与えるようにする。これにより、そのグループに属しているユーザはだれでも共有の電子文書に対して操作許可が与えられるが、グループに属していないユーザに対してはその電子文書への操作許可は与えないようにアクセスコントロールすることが行われている。
【０００５】
ここで、ある企業のワークフローを考えると、ワークフローは複数のタスクから構成され、各タスクはタスクの流れに沿ってリンク関係にある。また、各タスクはそれぞれのタスクを遂行するために幾つかのサブタスクによって構成されることがあり、この場合、このタスクとサブタスクとの間のリンクは親子関係にある。ワークフローを構成するそれぞれのタスクは、一つの部門の中ですべて遂行される場合もあるが、一般には、幾つかの部門にまたがって遂行される。したがって、あるタスクで作られる電子文書またはデータベースレコードは、一つの部門の中の特定の個人またはグループに属する者はもちろん、複数の部門でこのワークフローのタスクに関与する者によって参照または更新できるように共有にする必要がある。そのためには、ワークフローに関連する全員の名簿が作られ、それぞれの電子文書またはデータベースレコードにはアクセスを許可する者およびグループの定義がなされる必要がある。このようにすれば、理論上は電子文書またはデータベースレコードのアクセスの際に、それぞれに定義された情報をもとに許可の可否を判断することができる。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来のアクセスコントロールでは、柔軟な運用が困難であるという問題点がある。それは、ある電子文書またはデータベースレコードに関与する人達と企業などにおける一つの組織のメンバは、一致しないことも多いからである。たとえば、あるワークフローの中で、一つの電子文書は他部門の人と共有する以外に、エクストラネットまたはインターネットを介して他企業の人とでさえ共有する必要があるが、この他企業の関連する人も含めて電子文書またはデータベースレコードのアクセスのための定義を行うことは現実に行うことはできない。しかも、他企業が関与している場合、中には、関与を秘密にしておきたい企業も存在するであろう。また、企業の一つの組織でも物理的にローカルな環境に集中していると前提することは相応しくなくなってきている。つまり、ローカルな環境（装置）で集中管理できるようなグループでは対応しきれなくなってきているのである。
【０００７】
本発明はこのような点に鑑みてなされたものであり、ローカルなグループではおさまりきらない関与者集団に対しても電子文書へのアクセスコントロールを柔軟に行うことができる分散電子文書のアクセスコントロールシステム及び分散電子文書のアクセスコントロール方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明では上記問題を解決するために、ネットワーク上に分散管理された電子文書に対してアクセスコントロールを行う分散電子文書のアクセスコントロールシステムにおいて、電子文書を操作しようとする個人の正当な個人識別子を特定する個人認証手段と、個人識別子の集合である関与者情報と、電子文書ポインタの集合である電子文書情報と、他のコミュニケーション情報レコードへのポインタの集合であるコミュニケーションリンク情報とを含むコミュニケーション情報レコードを格納するコミュニケーション情報レコード格納手段と、前記電子文書情報に含まれる電子文書ポインタが指し示す電子文書に対する読み出しおよび書き出しおよび更新の操作を、当該操作を行おうとした者の個人識別子が当該コミュニケーション情報レコード自身の関与者情報に含まれるかまたは当該レコードと前記コミュニケーションリンク情報によってリンク関係にある別のコミュニケーション情報レコードの関与者情報に含まれるかの判定に基づいて許可するアクセスコントロール手段と、を分散環境にそれぞれ複数備えていることを特徴とする分散電子文書のアクセスコントロールシステムが提供される。
【０００９】
このような分散電子文書のアクセスコントロールシステムによれば、アクセスコントロール手段は、電子文書の操作命令を受けると、その操作者がその電子文書に直接関与する者であるかどうかを、その電子文書へのポインタを電子文書情報に含むコミュニケーション情報レコードの関与者情報を検索し、その中に操作者が含まれていれば、個人認証装置にて操作者の認証が行われ、確認されることで電子文書に対する操作の許可が与えられる。もし、この関与者情報に含まれていなければ、リンク関係にある別のコミュニケーション情報レコードの関与者情報を検索し、そこに含まれていれば、たとえば別の個人認証装置にてやはり操作者の認証が行われ、確認されることで電子文書に対する操作の許可が与えられる。これにより、リンクによって関係付けられていれば、直接の関与者でなくても、そして操作者の認証がなされる環境とは別の環境の電子文書やレコードであっても、操作することができる。また、リンク関係にない操作者の要求を拒否することができる。
【００１０】
また、本発明では、実際に操作者がその個人認証地点から操作しようとする電子文書に到達するまでに辿った経路情報を参照し、その経路情報に含まれるリンクの関係を解釈することで操作の許可の判定を行うことができる。
【００１１】
また、本発明では、電子文書の読み出しおよび書き出しおよび更新の操作の許可の範囲がコミュニケーション情報レコードの操作そのものにまで及ぶようにした。これにより、リンク関係にない者がリンクそのものを読み出すことも含めて操作することを防ぐことができる。これにより、たとえばワークフローのリンクのチェーンがある場合などに、そのワークフローの上流のリンク（上流属性を持つリンク）関係にあるものに対しては操作を許すが、下流のリンク関係にあるものは操作を許さないといったアクセスの制限のかけ方ができる。
【００１２】
また、本発明では、リンクを辿るときの最大数である距離をあらかじめ設定して、操作の許可の判定をするときに辿ることができるリンクを距離で制限するようにした。これにより、たとえばワークフローのリンクの長いチェーンがある場合などに、ある地点の管理者が把握できている範囲に操作可能な者を限定することができる。
【００１３】
さらに、本発明では、コミュニケーション情報レコードの読み出し操作に対し、該レコードの内容のリンクについて、実際のポインタの指し示す位置を、その構造のみを返す中継点へのポインタに置き換えることにより、操作に対してポインタの指し示す具体的な位置を隠蔽するようにしたリンク抽象化手段を備えるようにした。これにより、リンク先またはそのさらに先が具体的に何処であるのかを隠蔽することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は本発明の原理的な構成を示す図である。図１において、本発明による分散電子文書のアクセスコントロールシステムは、ネットワーク１上に分散配置された複数のローカル文書管理装置２ａ，２ｂ，・・・，２ｎおよび個人認証装置３ａ，・・・，３ｍがある分散環境において、各ローカル文書管理装置２ａ，２ｂ，・・・，２ｎには、アクセスコントロール手段４と、コミュニケーション情報レコード格納手段５と、リンク抽象化手段６とをそれぞれ有することによって構成される。コミュニケーション情報レコード格納手段５は、関与者情報７と、電子文書情報８と、コミュニケーションリンク情報９とからなるコミュニケーション情報レコードを格納している。
【００１５】
ここで、個人認証装置３ａ，・・・，３ｍは、操作を行う者の個人識別子を特定して、操作に対する許可を与える判断に使用される。コミュニケーション情報レコード格納手段５において、関与者情報７は個人識別子の集合であり、電子文書情報８は電子文書ポインタの集合であり、コミュニケーションリンク情報９は他のコミュニケーション情報レコードへのポインタである。アクセスコントロール手段４は、電子文書情報８に含まれる電子文書ポインタが指し示す電子文書に対する読み出しおよび書き出しおよび更新の操作に対して、当該操作を行おうとした者の個人識別子が当該電子文書を含むコミュニケーション情報レコード自身の関与者情報７に含まれるものであるか、または当該レコードとコミュニケーションリンク情報９によってリンク関係にある別のコミュニケーション情報レコードの関与者情報に含まれるものであるかの判定に基づいて許可を与えるかどうかのアクセスコントロールを行う。
【００１６】
つまり、電子文書の操作命令を受けると、アクセスコントロール手段４は、その電子文書を含むコミュニケーション情報レコードの関与者に操作者が含まれるかどうかを検索し、含まれるとすれば、個人認証装置３ａ，・・・，３ｍにて操作者の認証が行われ、確認されることで電子文書に対する操作の許可が与えられる。もし、直接の関与者に含まれていなければ、リンク関係にある別のコミュニケーション情報レコードの関与者情報を検索し、含まれていれば、個人認証装置３ａ，・・・，３ｍにて操作者の認証が行われ、そこで確認されることにより電子文書に対する操作の許可が与えられる。これにより、操作しようとする電子文書がコミュニケーション情報によるリンクによって関係付けられていれば、操作者は直接の関与者でなくても、また、たとえば認証がなされる環境とは別の環境の電子文書であっても、操作することができ、リンク関係にない操作者の要求を拒否することが可能になる。
【００１７】
また、アクセスコントロール手段４は、実際に操作者がその個人認証地点から操作しようとする電子文書に到達するまでに辿った経路情報を参照し、その経路情報に含まれるリンクの関係を解釈して操作の許可の判定を行うこともできる。これにより、逆方向のリンクによって関係付けられたコミュニケーション情報レコードに属する個人に対しても、操作の許可を出すことができる。
【００１８】
また、コミュニケーションリンク情報の各リンクは、リンク属性を有し、操作の許可の判定をするときに採用するリンクを、リンク属性の値によって制限することができる。これにより、たとえばワークフローのリンクのチェーンがある場合などに、そのワークフローの上流のリンク（上流属性を持つリンク）関係にあるものに対しては操作を許すが、下流のリンク関係にあるものは操作を許さないといった制限のかけ方をすることができる。
【００１９】
また、アクセスコントロール手段４は、電子文書の読み出しおよび書き出しおよび更新の操作の許可の範囲がコミュニケーション情報レコードの操作そのものにまで及ぶようにすることができる。これにより、リンク関係にない者がリンクそのものを読み出すことも含めて操作することを防ぐことができる。
【００２０】
また、リンクを辿る際に、無限に辿るのではなく、辿ることができるリンクの最大数である距離をあらかじめ設定し、その距離の範囲内だけを辿るようにすることもできる。したがって、たとえばワークフローのリンクの長いチェーンがある場合などに、ある地点の管理者が把握できている範囲に操作可能な者を限定することができる。
【００２１】
リンク抽象化手段６は、コミュニケーション情報レコードの読み出し操作に対し、該レコードの内容のリンクについて、実際のポインタの指し示す位置を、その構造のみを返す中継点へのポインタに置き換えることにより、操作に対してポインタの指し示す具体的な位置を隠蔽することができるようにした。これにより、リンク先やそのさらに先が具体的に何処であるのかを隠蔽することができる。たとえばローカル文書管理装置２ａ，２ｂ，２ｎが別々の企業の管理下にあって、ローカル文書管理装置２ａの企業はローカル文書管理装置２ｂの企業とリンク関係にあり、このローカル文書管理装置２ｂの企業はローカル文書管理装置２ｎの企業とリンク関係にありかつ取り引きがあるとすると、ローカル文書管理装置２ｂの企業とリンク関係にあるローカル文書管理装置２ａの企業に対して、ローカル文書管理装置２ｂはローカル文書管理装置２ｎの企業への中継ポイントのみを返すことにより、ローカル文書管理装置２ｎの存在を通知することはできるが、取り引きのある企業がローカル文書管理装置２ｎの企業であることは隠蔽することができる。
【００２２】
次に、本発明の実施の形態を分散文書管理システムに適用した場合を例にして説明する。
図２は分散文書管理システムの一例を示す構成図である。図２において、電子文書およびデータベースレコードは、図示を簡単にするために、二つのドメインＡ，Ｂの分散環境にあるものとする。各ドメインＡ，Ｂには、アクセス処理部１１、個人認証処理部１２、データベース１３があり、アクセス処理部１１は、アクセスコントロール部１４と抽象化処理部１５とから構成されている。データベース１３には、個人情報１６と、電子文書１７と、コミュニケーション情報レコード１８と、リンク中継情報１９とを格納している。コミュニケーション情報レコード１８は、関与者情報と、電子文書情報と、コミュニケーションリンク情報とから構成されている。
【００２３】
ここで、たとえばドメインＡにおいて、個人認証処理部１２は、個人ＩＤを特定するもので、一般に用いられている方法で十分である。すなわち、個人ＩＤとパスワードとの対を保持しておき、ユーザが端末装置からユーザＩＤおよびパスワードを入力する。個人認証処理部１２は、この入力と保持している個人ＩＤおよびパスワードとを突き合わせて一致するかどうかを判定する。一致すれば個人認証は達成され、ログイン状態となり、以降ログアウトするまでの一連の操作はこの個人ＩＤを持つ者によるとする。また、その間になされるいかなる操作要求についてもこの者が要求していることをアクセス処理部１１が認識できるように操作命令とともにその操作者の個人ＩＤが伴って送られる。もちろん、直接個人ＩＤではなくても一意に個人ＩＤを特定できるＩＤであればそれに置き換えられても構わない。たとえばプログラムのプロセスＩＤ等に置き換えられる場合もあるかもしれないが、より重要なのは暗号化する場合である。直接個人ＩＤがネットを流れる形式ではその個人に成りすまし悪用する者がいるかもしれない。しかし、ここでは説明を本質的で簡単にするために、このようにして置き換えられたＩＤも含めて個人ＩＤと呼ぶことにする。他のＩＤについても同様である。
【００２４】
また、一般にアクセスコントロールにおいては、操作許可のある者と操作対象となる電子文書１７またはデータベースレコードとの対応付けは必須であるが、これをやや柔軟なものにするために、１対１の対応だけではなく多対多の関係を実現する方法が従来からも用意されてきた。関与者の集合に関しては、前述したように、個人ＩＤのグループを定義することができ、電子文書の集合に関してはその要素を一つのディレクトリ配下に置き、そのディレクトリと先のグループとを対応付けるという方法である。本発明において、これに対応するものが個人ＩＤの集合である関与者情報と、電子文書ポインタの集合である電子文書情報である。
【００２５】
さて、本発明においては、この関与者の集合と電子文書の集合の両方を含むコミュニケーション情報レコード１８とその格納手段（図１のコミュニケーション情報レコード格納手段５）が存在する。このコミュニケーション情報レコード１８には、さらにコミュニケーションリンク情報が含まれる。このコミュニケーションリンク情報は、他のコミュニケーション情報レコードへのポインタ集合である。
【００２６】
これまで述べた個人認証処理部１２および格納手段であるデータベース１３を持つ環境は単一であるのか、複数であるのかということには無関係であったが、特に本発明においてはこのような環境が複数散在する場合が重要である。また、複数の環境における情報は同一内容の複製ではないということも重要な特徴である。
【００２７】
次に、さらなる具体例として、三つの会社、すなわちＡ社、Ｂ社およびＣ社が存在する環境の場合を例として説明する。
図３は三つの分散環境下でのつながりの例を説明する図である。図３において、個人Ｘ．ＡおよびＹ．ＡはＡ社に所属し、個人Ｘ．ＢおよびＹ．ＢはＢ社に所属し、個人Ｘ．ＣおよびＹ．ＣはＣ社に所属するものとする。また、電子文書ＡＰおよびデータベースレコードＡＱはＡ社の環境に存在し、電子文書ＢＰおよびデータベースレコードＢＱはＢ社の環境に存在し、電子文書ＣＰおよびデータベースレコードＣＱはＣ社の環境に存在するものとする。
【００２８】
ここで、たとえば特開平１０−６３７４７号公報に記載のようなワークフローシステム、すなわち、ワークフローを構成する一連のタスクがあり、各タスクには、関与者と電子文書とが関連されており、タスク同士はリンクによって接続することによって全体の流れを管理するものであり、他のタスクにアクセスするときには、リンクを辿っていくが、そのときに辿ったタスクの履歴を順次保持しながら辿っていくようなワークフローシステムを例にとる。ワークフローの各タスクは本発明のコミュニケーション情報レコードに対応し、タスク間の関係はコミュニケーションリンクに対応する。
【００２９】
いま、Ａ社のタスクＡＴに関与する者が個人Ｘ．Ａであり、関連する電子文書が電子文書ＡＰであり、Ｂ社のタスクＢＴ１に関与する者が個人Ｘ．Ｂであり、関連する電子文書が電子文書ＢＰであり、同じくＢ社のタスクＢＴ２に関与する者が個人Ｙ．Ｂであり、関連するデータベースレコードがデータベースレコードＢＱであり、そしてＣ社のタスクＣＴに関与する者が個人Ｘ．ＣおよびＹ．Ｃであり、関連する電子文書およびデータベースレコードが電子文書ＣＰおよびデータベースレコードＣＱであったとする。そして、タスクＡＴおよびタスクＢＴ１、そしてタスクＢＴ２およびタスクＣＴはそれぞれワークフローによる同じプロセスの関係にあるとする。
【００３０】
このとき、各社の環境における個人情報およびコミュニケーション情報レコード（関与者情報、電子文書情報、コミュニケーションリンク情報）は、たとえばリレーショナル型データベースでで管理されており、以下に示すように格納される。なお、これらのレコードは、ここでの説明に最低限必要な情報に簡略化してある。
【００３１】
図４はＡ社のデータベースのレコード格納例を示す図、図５はＢ社のデータベースのレコード格納例を示す図、図６はＣ社のデータベースのレコード格納例を示す図である。
【００３２】
Ａ社のデータベースでは、個人ＩＤおよびパスワードを対で保持する個人情報テーブル３１、コミュニケーションＩＤおよび個人ＩＤを対で保持する関与者情報テーブル３２、コミュニケーションＩＤおよび文書ＩＤを対で保持する電子文書情報テーブル３３、およびリンク関係にあるタスクのコミュニケーションＩＤを対で保持するコミュニケーションリンク情報テーブル３４を格納している。
【００３３】
Ｂ社およびＣ社のデータベースも同様に、個人情報テーブル４１，５１、関与者情報テーブル４２，５２、電子文書情報テーブル４３，５３、およびコミュニケーションリンク情報テーブル４４，５４を格納している。
【００３４】
ここで、Ｃ社の場合を例にして説明すると、コミュニケーションリンク情報テーブル５４に出現するコミュニケーションＩＤであるコミュニケーション情報レコードＣＴが持つ関与者情報は、関与者情報テーブル５２のコミュニケーションＩＤがＣＴである二つのレコードの個人ＩＤであり、電子文書情報は同じく、電子文書情報テーブル５３のコミュニケーションＩＤがＣＴである二つのレコードの文書ＩＤであり、コミュニケーションリンク情報は同じく、コミュニケーションリンク情報テーブル５４のコミュニケーションＩＤがＣＴであるレコードのもう一方のコミュニケーションＩＤである。
【００３５】
本実施の形態においては、個人ＩＤおよびコミュニケーションＩＤは、広域ネットワーク上でユニークなＩＤである。たとえばこれは、ネットワーク上に分散している各データベースサーバをユニークに特定するＩＤであるアドレス（以降ドメインと呼ぶことにする）と当該ローカルなデータベース内でユニークなＩＤとの両方が含まれていれば、広域でユニークなＩＤを実現することができる。
【００３６】
すなわち、たとえばＢＴ２．Ｂは、ドメインＢ（Ｂ社のデータベース環境）におけるＢＴ２である。また、自身のドメイン（データベース環境）を表わす場合は、これを省略できるものとする。つまり、ＣＴがドメインＣ（Ｃ社のデータベース）に存在するならば正式にはＣＴ．Ｃである。
【００３７】
さて、ユーザの操作命令がどのように処理されるかを以下に説明する。先に、アクセス処理部１１のアクセスコントロール部１４の構成について説明する。
図７はアクセスコントロール部の構成を示す図である。アクセスコントロール部１４は、コマンドシンタックスチェック部６１と、コミュニケーション情報レコード探索処理部６２と、探索距離記憶部６３と、関与者検索処理部６４と、個人認証確認依頼処理部６５とから構成されている。コマンドシンタックスチェック部６１は、受けた操作命令を解析して、その命令が妥当な命令であるかどうかをチェックする。コミュニケーション情報レコード探索処理部６２は、操作命令が妥当な形式である場合に、その命令に指定された操作対象についてデータベース１３のコミュニケーション情報レコードを探索する処理を行う。探索距離記憶部６３は、コミュニケーション情報レコードを探索する際に、現在辿っているリンクの数を一時的に記憶しておく領域である。関与者検索処理部６４は、コミュニケーションＩＤをもとに関与者情報を探索する処理を行う。個人認証確認依頼処理部６５は、コミュニケーション情報レコードの探索結果に操作者が存在する場合に、その操作者の認証を個人認証処理部１２へ問い合わせる処理を行う。
【００３８】
まず、操作命令の受付場所は、アクセスコントロール部１４を含むアクセス処理部１１であり、ここ以外に命令を受け付ける場所はない。
アクセス処理部１１のアクセスコントロール部１４は、操作の種別、すなわち、読み出し、書き出し、または更新を指定する命令と、操作者の個人ＩＤと、操作対象とを同時に指定された場合以外は受け付けない。また、操作対象は、文書ＩＤのみが特定された場合は受け付けず、コミュニケーションＩＤおよび文書ＩＤの双方が特定されなければならない。
【００３９】
ここで、Ａ社の個人Ｘ．ＡがＢ社の電子文書ＢＰを参照（読み出し）する場合について考える。
この場合、参照操作のためには、これらの要素を含む次のような命令をＢ社のアクセス処理部１１に対して送信しなければならない。
操作＝読み出し，個人ＩＤ＝Ｘ．Ａ，コミュニケーションＩＤ＝ＢＴ１，電子文書ＩＤ＝ＢＰ
この操作命令を受け取ったアクセス処理部１１は、アクセスコントロール部１４に命令を実行してよいかどうかを問い合わせ、許可が出た場合、かつそのときに限って命令を実行する。
【００４０】
アクセスコントロール部１４は以下のように操作の可否を判定する。
まず、コマンドシンタックスチェック部６１において、操作命令が上述した例のような形式で項目がそろっていることを確認する。そしてコミュニケーションＩＤ＝ＢＴ１の電子文書ＩＤ＝ＢＰのファイルの属性を調べ、操作が可能であることを確認する。一般のファイルシステムには読み書きの許可を示す属性が付与されているので、その属性により操作が可能かどうかを確認する。ここで、もし、操作が不可能であることが分かれば、命令全体を不許可として、この参照操作に対する処理は終了する。
【００４１】
次に、コミュニケーション情報レコード探索処理部６２において、コミュニケーションＩＤ＝ＢＴ１を持つ関与者情報のレコードを検索し、その中に個人ＩＤ＝Ｘ．Ａが存在するかどうかを確認する。この場合、ドメインＡのデータベースには、そのような関与者情報レコードは存在しないので、この段階では許可は出ない。
【００４２】
次に、このコミュニケーション情報レコードとリンク関係にある（コミュニケーションＩＤ＝ＢＴ１を持つコミュニケーション情報レコードに出現するコミュニケーションＩＤ）すべてについて、それぞれのドメインでそのコミュニケーションＩＤを持つ関与者情報のレコードを検索し、その中に個人ＩＤ＝Ｘ．Ａが存在するかどうかを確認する。今の例では、リンク先はＡＴ．Ａだけであるから、関与者検索処理部６４がコミュニケーションＩＤ＝ＡＴ．Ａを持つ関与者情報のレコードをドメインＡにおいて検索し、その中に個人ＩＤ＝Ｘ．Ａが存在するかどうかを確認する。存在が確認された場合は、操作許可を出してもよいと一応判定されることになる。
【００４３】
最後に、個人認証確認依頼処理部６５を通じて、操作者の確認が操作者の個人ＩＤ＝Ｘ．ＡのドメインＡの個人認証処理部１２に個人ＩＤの確認を取り、間違いなければ最終的な許可を出す。上述したように、個人ＩＤは実際にはあらかじめ認証が済んだ形式で暗号化されていることもある。
【００４４】
ここで、たとえばＣ社の人が同じ操作をしようとすれば、コミュニケーションＩＤ＝ＢＴ１にはリンクが存在しないので許可されない。また、Ａ社の個人ＩＤ＝Ｙ．Ａの人が同じ操作をしようとしても、コミュニケーションＩＤ＝ＢＴ１とリンク関係にあるコミュニケーションＩＤ＝ＡＴの関与者ではないのでやはり許可されない。
【００４５】
さて、直接のリンク先で関与者としての確認が取れなかった場合には、さらにそれぞれのリンク先からのリンク先を順次辿ることができる。この場合、すべてのリンク先を調べ尽くすことになる。ただし、リンク先が遠い場合は、関連性が薄いことが多いので、辿るリンクの数をある程度の数に制限することもできる。この場合、リンクの長さ（距離）が設定されている値を越えたら、そこで検索を終了し、不許可と判定されることになる。
【００４６】
この距離による制限の他、たとえばコミュニケーションリンク情報テーブルの右側だけに存在するリンクのみを検索するとか、左側だけを検索するとかの制限を設けることができる。
【００４７】
さらに、コミュニケーションリンク情報テーブルに特定のリンクのみ辿ることを許可するような情報を付加することができ、その例を以下に示す。
図８は拡張したコミュニケーションリンク情報テーブルの例を示す図である。図８の例によれば、Ｂ社のデータベースのコミュニケーションリンク情報テーブル４４ａを示しており、リンク関係にあるコミュニケーションＩＤの対に対してそれぞれ属性を設けることができるようにしている。これにより、リンクを辿るときに、その属性がある値を持つレコードのみを検索するようにすることができ、属性で辿るリンクを制限することができる。
【００４８】
ところで、操作許可の判定に必要なのは以下の情報、すなわち、「操作，個人ＩＤ，コミュニケーションＩＤ，電子文書ＩＤ」であった。しかし、ここまで説明してきたことから分かるように、電子文書ＩＤが指定されなければ操作対象となるファイルが特定できないという点を除けば、操作の可否の判定については前の三つの情報で可能である。それゆえ、前から三つの情報を含む命令によってコミュニケーション情報レコードそのものを操作しようとした場合においても、まったく同様にその可否の判定が行えることが分かる。
【００４９】
さて、操作者は一般に遠方にリンクされている特定の操作対象をいきなり見つけ出すことはない。自身の関与するコミュニケーション情報レコードから順次リンクを辿ることによって操作すべきものの存在するレコードに到達する。
【００５０】
そこで辿ったリンクの履歴を記録しておき、操作命令に必要な先の４項目に加えてこの履歴情報をも付け加え、これを操作可否の判断に使用することができる。リンクを辿ったときに、その都度付加された履歴情報を含む操作命令の例を以下に示す。
操作＝読み出し，個人ＩＤ＝Ｘ．Ａ，コミュニケーションＩＤ＝ＢＴ１，電子文書ＩＤ＝ＢＰ，履歴＝[ＡＴ．Ａ，ＢＴ１．Ｂ]
この操作命令の例によれば、ＡＴ．Ａから辿ってＢＴ１．Ｂに到達したときの例を示している。
【００５１】
ここで、上述の例では、Ａ社およびＢ社の双方のコミュニケーションリンク情報テーブルにＡＴ．ＡとＢＴ１．Ｂとの間のリンクが存在したが、このリンクに関するレコードがドメインＢに存在しなかったと仮定してみる。そうすると、先のようにはＡＴ．Ａを見つけ出すことができない。しかし、今度は命令の中に履歴＝[ＡＴ．Ａ，ＢＴ１．Ｂ]という情報があるので、この要素それぞれについて、逆にＢＴ１．Ｂに向かっているリンクのチェーンが存在するかどうかを調べることで代用することができる。その他は全く同様の手続きによって操作の可否の判定を行うことができる。
【００５２】
以上に述べたアクセスコントロール部１４における処理の流れをまとめると、以下のフローチャートによって表される。
図９および図１０はアクセスコントロール部の処理の流れを示すフローチャートである。まず、アクセスコントロール部１４では、操作命令として、「操作，個人ＩＤ，コミュニケーションＩＤ，電子文書ＩＤ」の形式の命令を受けているので、その命令を解析して、その操作命令は正しい形式で、情報はそろっているかどうかを判断し、操作命令の有効性を調べる（ステップＳ１）。次に、ファイルシステムなどによる操作対象の電子文書ファイル属性は命令を実行可能かどうかが判断される（ステップＳ２）。
【００５３】
操作命令が有効で命令が実行可能であれば、ここでリンク距離を「０」に設定し（ステップＳ３）、調査対象リンク集合を空に初期化する（ステップＳ４）。ここで、指定されたコミュニケーションＩＤとリンク距離との対を調査対象リンク集合に追加する（ステップＳ５）。次に、調査対象リンク集合は空かどうかが判断される（ステップＳ６）。調査対象リンク集合が空でなければ、調査対象リンク集合からコミュニケーションＩＤとリンクの距離との対を一つ取り出す（その対を調査対象リンク集合から削除する）（ステップＳ７）。
【００５４】
次に、取り出された対のコミュニケーションＩＤで関与者情報レコードを検索する（ステップＳ８）。ここで、検索結果の中に操作者の個人ＩＤが存在するかどうかが判断される（ステップＳ９）。検索結果の中に操作者の個人ＩＤが存在すると、個人ＩＤを個人認証処理部にて確認処理が行われる（ステップＳ１０）。次に、個人認証処理部で確認が取れたかどうかが判断され（ステップＳ１１）、確認が取れると、対象のファイルの操作は許可するとの判断が下され（ステップＳ１２）、確認が取れなければ、判断は不許可とされ、この処理は終了する（ステップＳ１３）。
【００５５】
ステップＳ９の判断で、検索結果の中に操作者の個人ＩＤが存在しなければ、もう一つ先のリンクを辿って調べなければいけないので、リンク距離を、取り出された対のリンク距離＋１に設定する（ステップＳ１４）。ここで、新たに設定されたリンク距離があらかじめ設定された設定値を越えたかどうかが判断される（ステップＳ１５）。ここで、リンク距離が設定値を越えた場合は、これ以上リンクを辿るのはあきらめて、ステップＳ６に戻り、調査対象リンク集合から次の調査対象となるタスクの関与者を調べることになる。ステップＳ１５の判断にて、リンク距離が設定値以下と判断されたならば、先に取り出したコミュニケーションＩＤと設定されている属性とでコミュニケーションリンク情報テーブルを検索することによりコミュニケーション情報レコードを検索する（ステップＳ１６）。なお、属性が指定されていない場合はすべてのレコードが検索対象となる。次に、検索結果のすべてのコミュニケーションＩＤとリンク距離との対を調査対象リンク集合に追加する（ステップＳ１７）。その後は、ステップＳ６に戻る。
【００５６】
また、ステップＳ１およびＳ２の判断で、操作命令が有効でないかまたは有効であっても操作対象のファイル属性が命令を実行できなければ、判定は不許可とされ、その時点で、この処理は終了する。ステップＳ６において、調査対象の集合がなくなった場合にも、その時点で判定は不許可とされ、処理は終了する。
【００５７】
次に、図３に示したように、Ａ社が開始したタスクＡＴがＢ社の二つのタスクＢＴ１，ＢＴ２を経てＣ社のタスクＣＴにも流れていくようなワークフローの場合について説明する。このときのＢ社のコミュニケーションリンク情報テーブルは図１１のようになる。
【００５８】
図１１はコミュニケーションリンク情報テーブルの別の例を示す図である。図１１に示したＢ社のコミュニケーション情報テーブル４４ｂによれば、Ａ社のタスクＡＴとＢ社のタスクＢＴ１とがリンク関係にあり、Ｂ社のタスクＢＴ１，ＢＴ２がリンク関係にあり、そしてＢ社のタスクＢＴ２とＣ社のタスクＣＴとがリンク関係にあって、すべてのコミュニケーション情報レコードがリンクされていることになる。
【００５９】
いま、Ａ社にはＢ社に依頼した仕事の進行状況を知りたいという要求があるとする。このためにはコミュニケーションリンクを辿りながら順次コミュニケーション情報レコードを参照していけばよい。しかし、Ｂ社はその仕事の一部をＣ社に依頼していることを知られたくないという場合がある。すなわち、Ａ社はリンクをある程度辿って状況を把握したいが、Ｂ社はリンク先が何処であるかを知られたくないという相矛盾する要求が発生する。ここで、Ｂ社がリンクがあるにもかかわらず、そのコミュニケーション情報レコードの参照命令に許可を与えないことにしてしまってはＡ社の要求は満たされない。
【００６０】
この双方の要求に応えるために、アクセス処理部１１の抽象化処理部１５は次のような処理を行う。
図１２は抽象化処理部の処理の流れを示すフローチャートである。まず、Ｂ社から送信しようとしている情報はドメインまたは組織を表わす情報かどうかが判断される（ステップＳ２１）。ここで、送信しようとしている情報がドメインまたは組織を表わす情報でなければ、この情報をそのまま送信する（ステップＳ２２）。もし、送信しようとしている情報がドメインまたは組織を表わす情報であれば、次に、その情報はすでにリンク中継変換テーブルに登録されているかどうかが判断される（ステップＳ２３）。すでに、その情報がリンク中継変換テーブルに登録されていれば、その情報をリンク中継変換テーブルの抽象値に置き換えて送信する（ステップＳ２４）。まだ、その情報がリンク中継変換テーブルに登録されていなければ、新たな抽象値を一つ生成し、この情報との対をリンク中継変換テーブルに登録する（ステップＳ２５）。そして、この情報を、今生成した抽象値に置き換えて送信する（ステップＳ２６）。
【００６１】
たとえば、Ａ社からコミュニケーションＩＤ＝ＢＴ２のレコードの読み出し命令を受け取ると、その通常の返答の中には他のドメインのタスクの情報「ＣＴ．Ｃ」が含まれることになるが、ここで抽象化処理部１５は、「ＣＴ．Ｃ」の部分を抽象値に置き換えて送信する。この抽象値として、中継点のポインタを利用するとすると、その抽象値は、リンク中継情報１９としてリンク中継変換テーブルに記憶され、そこからタスクの情報に対応する中継点のポインタが参照されて送信される。
【００６２】
図１３はリンク中継変換テーブルの一例を示す図である。図１３において、リンク中継変換テーブル１９ａは、オリジナルＩＤと抽象ＩＤとのフィールドから構成されている。ここで、抽象ＩＤにおいて、ＩＴで始まるポインタは中継点を表わし、「１０１」はこれまでのＩＤと衝突することのないように新しく作り出されたＩＤである。したがって、このようなリンク中継変換テーブル１９ａがある場合、抽象化処理部１５は、「ＣＴ．Ｃ」の部分を、抽象値として中継点のポインタの「ＩＴ１０１．Ｂ」を返すことになる。
【００６３】
以上のように、抽象化処理部１５の処理により、ドメインＡからはこのリンク中継テーブルの内容を参照する方法はないので、Ｂ社はＡ社に対してＣ社の存在を隠蔽することができる。一方、Ａ社からはＣ社であることは分からないが、何らかのタスクＩＴ１０１．Ｂがあることは分かる。
【００６４】
さて、ここでＡ社からコミュニケーションＩＤ＝ＩＴ１０１．Ｂであるコミュニケーション情報レコードを参照する命令が出されたならばどうなるかを説明する。
【００６５】
本来は、ＣＴ．Ｃを参照するべきであるが、ＩＴ１０１．Ｂに置き換えられているので、その命令は置き換えられたＩＤが示すドメインＢに送られることになる。ドメインＢは、その要求されたコミュニケーションＩＤ＝ＩＴ１０１が抽象ＩＤであることを知っている。リンク中継変換テーブル１９ａを検索し、本当のＩＤがＣＴ．Ｃであることを得る。そしてＡから要求された命令のコミュニケーションＩＤの部分を再びＣＴ．Ｃに戻し、ＩＤが示すドメインＣに送られることになる。
【００６６】
ドメインＣは要求された操作の結果をドメインＢに返す。なぜなら、要求はドメインＢから来たからである。ドメインＢの抽象化処理部はＣから返された内容のすべてのポインタを次のように置き換え、リンクを抽象化してＡに返す。
【００６７】
すなわち、リンク中継テーブルを検索し、すでにここに登録されているものについてはその抽象ＩＤに置き換える。一方、検索の結果、見つからなければ、これまでのＩＤと衝突することのないＩＤを新しく作り出して置き換える。置き換えたＩＤについてはその対応関係をリンク中継変換テーブルに格納する。
【００６８】
以上の中継処理によって、一度中継したレコードからの更なるリンクについてもすべて中継が行われるが、そのときにリンク先の名前についてはこれを抽象化するようになる。これにより、Ａ社がすべてのタスクを把握したいこととＡ社とリンク関係にあるＢ社がＣ社を隠蔽したいこととの相矛盾する要求を同時に応えることを可能としている。
【００６９】
【発明の効果】
以上説明したように本発明では、電子文書またはデータベースレコードを操作したい操作者が直接の関与者の中に含まれるかどうかを調べ、含まれる場合は操作を許可し、含まれない場合は、コミュニケーション情報レコードのリンクを辿ってリンク先で同様に調べるように構成した。これにより、別の環境の電子文書またはデータベースレコードであっても、リンクによって関連付けられた電子文書またはデータベースレコードであれば、間接的な関与者として操作が可能になり、たとえば複数の環境にまたがってタスク間の関係を持つ一つのワークフローに共有したい電子文書があるような場合に、個々の環境ではおさまりきらない関与者集団に対する柔軟なアクセスコントロールが可能になる。
【００７０】
また、企業などの組織を越境するようなワークフローで共有される電子文書やデータベースレコードに対するアクセスコントロールに対応することができ、さらに、取引先を他の取引先に知られたくないという場合にもその要求を満たすことが可能となる。
【図面の簡単な説明】
【図１】  本発明の原理的な構成を示す図である。
【図２】  分散文書管理システムの一例を示す構成図である。
【図３】  三つの分散環境下でのつながりの例を説明する図である。
【図４】  Ａ社のデータベースのレコード格納例を示す図である。
【図５】  Ｂ社のデータベースのレコード格納例を示す図である。
【図６】  Ｃ社のデータベースのレコード格納例を示す図である。
【図７】  アクセスコントロール部の構成を示す図である。
【図８】  拡張したコミュニケーションリンク情報テーブルの例を示す図である。
【図９】  アクセスコントロール部の処理の流れを示すフローチャート（その１）である。
【図１０】  アクセスコントロール部の処理の流れを示すフローチャート（その２）である。
【図１１】  コミュニケーションリンク情報テーブルの別の例を示す図である。
【図１２】  抽象化処理部の処理の流れを示すフローチャートである。
【図１３】  リンク中継変換テーブルの一例を示す図である。
【符号の説明】
１  ネットワーク
２ａ，２ｂ，・・・，２ｎ  ローカル文書管理装置
３ａ・・・，３ｍ  個人認証装置
４  アクセスコントロール手段
５  コミュニケーション情報レコード格納手段
６  リンク抽象化手段
７  関与者情報
８  電子文書情報
９  コミュニケーションリンク情報
１１  アクセス処理部
１２  個人認証処理部
１３  データベース
１４  アクセスコントロール部
１５  抽象化処理部
１６  個人情報
１７  電子文書情報
１８  コミュニケーション情報レコード
１９  リンク中継情報
１９ａ  リンク中継変換テーブル
３１  個人情報テーブル
３２  関与者情報テーブル
３３  電子文書情報テーブル
３４  コミュニケーションリンク情報テーブル
４１，５１  個人情報テーブル
４２，５２  関与者情報テーブル
４３，５３  電子文書情報テーブル
４４，５４  コミュニケーションリンク情報テーブル
４４ａ  コミュニケーションリンク情報テーブル
４４ｂ  コミュニケーション情報テーブル
５２  関与者情報テーブル
５３  電子文書情報テーブル
５４  コミュニケーションリンク情報テーブル
６１  コマンドシンタックスチェック部
６２  コミュニケーション情報レコード探索処理部
６３  探索距離記憶部
６４  関与者検索処理部
６５  個人認証確認依頼処理部
【図１】
0003695180.tif 000002
【図２】
0003695180.tif 000003
【図３】
0003695180.tif 000004
【図４】
0003695180.tif 000005
【図５】
0003695180.tif 000006
【図６】
0003695180.tif 000007
【図７】
0003695180.tif 000008
【図８】
0003695180.tif 000009
【図９】
0003695180.tif 000010
【図１０】
0003695180.tif 000011
【図１１】
0003695180.tif 000012
【図１２】
0003695180.tif 000013
【図１３】
0003695180.tif 000014