しかし、特許文献1に記載されたシステムでは、システム内で管理するデータオブジェクト以外の、例えば別システムで管理する文書ファイルや、Webページなどを扱うことができない。作業に社外のWebサイトやメールなど、他システムで扱うリソースが関係することは、当然発生する。つまり、作業に関係するあらゆるリソースをまとめて扱うことが不可能という問題がある。また、データオブジェクトが情報単位集合ごとに管理されているため、1つのデータオブジェクトが複数の共同作業に関係していることを管理し、活用することができない。更に、あるユーザが作った情報単位集合を他のユーザが活用することができない。
また、特許文献2に記載された方式では、全てのデータが対等に扱われることなどが原因で、いくつかの問題がある。まず、活動に関する情報を全て取り扱うとデータ数が巨大になり、その中から自分に関係する情報を探し出すことが困難である。更に、システムで管理する情報を複数ユーザで共有することが考慮されていないために、一部のユーザにアクセスを制限したい情報を扱うことができない。
また、情報が更新されたという関係を表現した場合や、メールの返信関係などを表現した場合、更新前の情報も更新後の情報も、個々のメールも、他の情報と対等に扱われる。そのため、情報の数が多くなりすぎてしまい、情報の探索がしにくくなるという問題があった。
第1の問題点は、リソースを整理するためのリソース間の関係情報を、複数のユーザで共同構築して、ユーザが互いに活用することが困難なことである。その理由は、特許文献2に記載された方式では、リソースとコミュニティ(集団)の関係が管理されていないので、同じコミュニティに参加しているメンバが登録したリソース間の関係情報を探し出すことが困難であるためである。
第2の問題点は、システム外で管理されているリソースや、非公開又はグループ外に非公開のリソースを扱う対象にできないことである。その理由は、システムがリソースそのものを管理しなくてはいけないためである。また、別の理由は、メタ情報空間にアクセス制御機能が存在しないためでもある。
第3の問題点は、扱う対象を非公開又はグループ外に非公開のリソースとし、アクセス権限が無いユーザにはリソース及びリソース関係情報を提供しないとする場合に、アクセス権限がないリソースへの関係情報が全く活用されなくなってしまうことである。
第4の問題点は、連続して変化するリソースを管理対象とする場合に、それぞれのリソースが単独で扱われてしまい、リソースの意味的なまとまりを把握しにくいことである。その理由は、連続して変化するリソースを1つの集合として扱う機能がないためである。
本発明の目的は、複数のユーザが共同で蓄積したリソース間の関係情報を、ユーザが互いに活用することで、各ユーザが自分に必要なリソースを辿って探すことができるリソース関係情報共有システム、リソース関係情報共有方法およびリソース関係情報共有プログラムを提供することにある。
本発明の他の目的は、ユーザの活動に関わる全てのリソースについて、リソース間の関係情報の蓄積を可能にすることで、各ユーザの必要なリソースは全て配置でき、ユーザが安心してリソースを探すことができるリソース関係情報共有システム、リソース関係情報共有方法およびリソース関係情報共有プログラムを提供することにある。
本発明の更に他の目的は、リソースやコミュニティへのアクセス権限の無いユーザに対しては、その存在を隠しながらも可能な限り関係するコミュニティを辿ることが可能になるリソース関係情報共有システム、リソース関係情報共有方法およびリソース関係情報共有プログラムを提供することにある。
本発明の更に他の目的は、連続して変化するリソース群を1つの集合として扱うことで、リソースの探索をしやすいリソース関係情報共有システム、リソース関係情報共有方法およびリソース関係情報共有プログラムを提供することにある。
本発明によるリソース関係情報共有システムは、コミュニティに参加するユーザを示す情報を記憶するコミュニティメンバ情報記憶手段と、コミュニティに関係するリソースを特定可能な情報を記憶するコミュニティリソース関係情報記憶手段(例えば、リソース関係情報204を記憶する記憶手段100で実現される。)と、リソースに関係する他のリソースを特定可能な情報を記憶するリソース関係情報記憶手段(例えば、リソース関係情報204を記憶する記憶手段100で実現される。)と、コミュニティメンバ情報記憶手段から、ユーザが参加するコミュニティを特定するコミュニティ情報検索手段と、コミュニティ情報検索手段が特定したコミュニティに基づいてコミュニティリソース関係情報記憶手段から関係するリソースを選択し、選択したリソースに基づいてリソース関係情報記憶手段から関係するリソースを選択する関係リソース取得手段と、関係リソース取得手段によって選択されたリソースを取得するためのリソースポインタ情報をユーザに提示するリソースポインタ情報出力手段(例えば、探索UI120で実現される。)とを備えたことを特徴とする。
リソースポインタ情報としてのリソースへのアクセス経路を示す情報を記憶するリソースポインタ情報記憶手段を備え、リソースポインタ情報出力手段は、選択されたリソースへのアクセス経路を示すリソースポインタ情報をリソースポインタ情報記憶手段から得ることが望ましい。そのような構成によれば、リソースへのアクセス経路を表現できるあらゆるリソースを管理することができる。
リソースおよびコミュニティに対するユーザのアクセス権限の有無を示す情報を記憶するアクセス権記憶手段(例えば、アクセス権判定手段106に設けられている記憶部で実現される。)と、関係リソース取得手段が選択したリソースが、ユーザがアクセス可能なリソースか否かをアクセス権記憶手段が記憶する情報に基づいて判断し、アクセス不可能と判断した場合に、選択したリソースに関係するコミュニティをコミュニティリソース関係情報記憶手段から選択してユーザに提示するアクセス権判定手段とを備えることが望ましい。そのような構成によれば、アクセス不可能なリソースに関係するコミュニティを抽出することができる。
コミュニティの階層関係を示す情報を記憶するコミュニティ情報記憶手段を備え、アクセス権判定手段は、選択したコミュニティが、ユーザがアクセス可能なコミュニティか否かをアクセス権記憶手段が記憶する情報に基づいて判断し、アクセス不可能と判断した場合に、コミュニティ情報記憶手段が記憶する情報に基づいて当該コミュニティの上位のコミュニティを階層的に辿り、ユーザがアクセス可能なコミュニティを選択することが望ましい。そのような構成によれば、アクセス不可能なコミュニティに関係するコミュニティを抽出することができる。
リソース関係情報記憶手段は、リソースと他のリソースとの関係の種別を示す情報を含むリソース関係情報を記憶し、リソース関係情報を参照して、関係リソース取得手段が選択したリソースとの関係の種別が特定の種別であるリソースを再帰的に取得し、取得したリソースのうちユーザがアクセス可能なリソースをリソース集合にまとめるリソース集合生成手段を備え、リソースポインタ情報出力手段は、リソース集合に含まれるリソースを取得するためのリソースポインタ情報をユーザに提示するように構成されていてもよい。そのような構成によれば、所定の関係種別にあるリソースをリソース集合として抽出することができるため、リソースの探索が容易になる。
本発明による他の態様のリソース関係情報共有システムは、コミュニティの階層関係を示す情報を記憶するコミュニティ情報記憶手段と、コミュニティに関係するリソースを特定可能な情報を記憶するコミュニティリソース関係情報記憶手段と、リソースに関係する他のリソースを特定可能な情報を記憶するリソース関係情報記憶手段と、リソースを取得するためのリソースポインタ情報を記憶するリソースポインタ情報記憶手段と、リソースおよびコミュニティに対するユーザのアクセス権限の有無を示す情報を記憶するアクセス権記憶手段と、検索条件を満たすコミュニティ特定情報を出力するコミュニティ情報検索手段と、コミュニティ情報検索手段が出力したコミュニティ特定情報に基づいてコミュニティリソース関係情報記憶手段から関係するリソースを選択し、選択したリソースに基づいてリソース関係情報記憶手段から関係するリソースを選択する関係リソース取得手段と、関係リソース取得手段が選択したリソースが、ユーザがアクセス可能なリソースか否かをアクセス権記憶手段が記憶する情報に基づいて判断し、アクセス不可能と判断した場合に、そのリソースに関係するコミュニティの上位のコミュニティを階層的に辿り、ユーザがアクセス可能なコミュニティを選択するアクセス権判定手段とを備えたことを特徴とする。
リソース関係情報記憶手段は、リソースと他のリソースとの関係の種別を示す情報を含むリソース関係情報を記憶し、リソース関係情報を参照して、関係リソース取得手段が選択したリソースとの関係の種別が特定の種別であるリソースを再帰的に取得し、取得したリソースのうちユーザがアクセス可能なリソースをリソース集合にまとめるリソース集合生成手段と、リソース集合に含まれるリソースを取得するためのリソースポインタ情報をユーザに提示するリソースポインタ情報出力手段とを備えていてもよい。
本発明によるリソース関係情報共有方法は、コミュニティに参加するユーザを示す情報を記憶するコミュニティメンバ情報記憶手段と、コミュニティに関係するリソースを特定可能な情報を記憶するコミュニティリソース関係情報記憶手段と、リソースに関係する他のリソースを特定可能な情報を記憶するリソース関係情報記憶手段とを備えたリソース関係情報共有システムで実行されるリソース関係情報共有方法であって、コミュニティ情報検索手段が、コミュニティメンバ情報記憶手段から、ユーザが参加するコミュニティを特定し、関係リソース取得手段が、特定したコミュニティに基づいてコミュニティリソース関係情報記憶手段から関係するリソースを選択し、選択したリソースに基づいてリソース関係情報記憶手段から関係するリソースを選択し、リソースポインタ情報出力手段が、選択したリソースを取得するためのリソースポインタ情報をユーザに提示することを特徴とする。
本発明によるリソース関係情報共有プログラムは、コンピュータに、コミュニティメンバ情報記憶手段から、ユーザが参加するコミュニティを特定する処理と、特定したコミュニティに基づいてコミュニティリソース関係情報記憶手段から関係するリソースを選択し、選択したリソースに基づいてリソース関係情報記憶手段から関係するリソースを選択する処理と、選択したリソースを取得するためのリソースポインタ情報をユーザに提示する処理とを実行させることを特徴とする。
本発明による活動に基づくリソース関係情報共有システムの好ましい一態様は、例えば、コミュニティ制御手段101と、リソース情報制御手段102と、コミュニティ情報検索手段103と、リソース情報検索手段104と、関係リソース取得手段105と、アクセス権判定手段106と、コミュニティ情報、コミュニティごとの参加ユーザを表すコミュニティメンバ情報、リソースへのアクセス経路情報を表すリソースポインタ情報、リソース間の関係を表すリソース関係情報を管理する記憶装置100と、ユーザにリソース探索機能を提供する探索UI(User Interface)120とを備え、リソースポインタ情報をコミュニティと関連付けて管理し、更にコミュニティ情報はコミュニティ情報同士が階層構造を持てるように管理し、ユーザの要求に応じて、指定されたリソースに関係するリソースのリソースポインタ情報を提示し、ユーザが参加しているコミュニティ情報及び、そのコミュニティ情報に関係するリソースのリソースポインタ情報を提示し、更に、提示するべきリソースポインタ情報に対してユーザがアクセス権を保持していない場合は、リソースポインタ情報の代わりに関連付けられたコミュニティ情報を提示し、そのコミュニティ情報にユーザがアクセス権を保持していなかった場合は、上位の階層のコミュニティ情報をアクセス権があるところまで辿って提示するよう動作する。このような構成を採用し、ユーザが自分の参加コミュニティをスタートに関係するリソースを辿って探す手段を提供することにより、本発明の目的を達成することができる。
また、本発明による活動に基づくリソース関係情報共有システムの別の構成の好ましい他の一態様は、例えば、コミュニティ制御手段101と、リソース情報制御手段102と、コミュニティ情報検索手段103と、リソース情報検索手段104と、関係リソース取得手段105と、アクセス権判定手段106と、リソース集合作成手段107と、コミュニティ情報、コミュニティメンバ情報、リソースポインタ情報、リソース関係情報を管理する記憶装置100とユーザにリソース探索機能を提供する探索UI120とを備え、リソース関係情報には種類が定義できるように管理し、連続して変化することを示す関係種別で関係付けられているリソース群をリソースクラスタと呼ぶ単位にまとめる機能を有することで、提示するべきリソースポインタ情報がリソースクラスタに所属する場合には、リソースクラスタ情報を提示するよう動作する。このような構成を採用し、ユーザが関係するリソースを辿る際に連続して変化するリソース群を集合として扱えるようにすることにより、本発明の目的を達成することができる。
第1の効果は、リソースポインタ情報及びリソース関係情報を、複数のユーザによって共同構築でき、ユーザが互いに活用できることである。その理由は、リソースとコミュニティの関係情報を管理し、ユーザの参加コミュニティ情報を取得できるようにすることで、他のコミュニティ参加メンバが登録したリソース間の関係情報を簡単に探し出すことができるためである。
第2の効果は、リソースへのアクセス経路情報を表現できるリソースであれば、どんなリソースでも扱う対象になることである。その理由は、システムがリソースそのものを管理するのではなく、リソースポインタ情報を管理することで、リソースへのアクセス経路情報を表現できるあらゆるリソースを、管理対象とできることにある。また、別の理由は、アクセス制御機能があるために、ユーザ以外やコミュニティメンバ以外に公開できないリソースも、管理対象とできることにある。
第3の効果は、リソースやコミュニティへのアクセス権限の無いユーザに対しては、その存在を隠しながらも可能な限り関係するコミュニティを辿ることが可能になることである。その理由は、要求ユーザにアクセス権限がないリソースやコミュニティへの関係が定義されていた場合は、そのリソースやコミュニティに関係するコミュニティ又はその上位のコミュニティのうち、要求ユーザがアクセス権限を持つものを、関係するコミュニティとして提供するためである。
第4の効果は、連続して変化するリソース群が1つの集合として扱われ、リソースの探索がしやすいUIを実現できることである。その理由は、連続して変化することを示す関係種別で関係付けられているリソース群をリソースクラスタと呼ぶ単位にまとめる機能が提供されることにある。
実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明によるリソース関係情報共有システムの第1の実施の形態を示すブロック図である。図1を参照すると、本発明の第1の実施の形態は、記憶装置100と、コミュニティ制御手段101と、リソース情報制御手段102と、コミュニティ情報検索手段103と、リソース情報検索手段104と、関係リソース取得手段105と、アクセス権判定手段106と、ユーザにリソース探索機能を提供する探索UI120とを備える。
本発明によるリソース関係情報共有システムは、例えば、ユーザによって指定されたリソース(例えば、共有ファイル等)に関係するリソースやコミュニティ等を示す情報を出力することができる。
記憶装置100は、コミュニティ情報201と、コミュニティごとの参加ユーザを表すコミュニティメンバ情報202と、リソースへのアクセス経路情報を表すリソースポインタ情報203と、リソース間の関係を表すリソース関係情報204とを記憶する。
図2は、記憶装置100が記憶する情報の例を示す説明図である。コミュニティ情報201は、コミュニティを識別するコミュニティIDと、コミュニティ名とを含む情報である(図2(a)参照。)。コミュニティとは、例えば、ユーザが属する集団や参加する組織等であって、コミュニティIDは、コミュニティを一意に識別可能な情報である。図2(a)に示すように、コミュニティの階層関係を表すために、上位コミュニティIDが含まれる場合もある。他に、コミュニティの種別(プロジェクト、グループなど)や、状態(活動中、活動完了など)を示す情報を含んでもよい。
コミュニティメンバ情報202は、コミュニティIDと、ユーザを識別するユーザIDとの組み合わせを最低限含む情報であって(図2(b)参照。)、コミュニティに所属しているユーザを示す情報である。他に、参加状態(参加中、招待中など)やロール(管理者、アドバイザなど)を含んでもよい。
リソースポインタ情報203は、リソースを識別するリソースID、リソース名、リソースへのアクセス経路情報およびリソース識別情報を含む情報であって(図2(c)参照。)、例えば、リソースの所在を示す情報である。リソース識別情報は、リソースを一意に識別できる情報であって、例えば、WebサイトのURLや、ファイルのパス情報などが設定される。アクセス経路情報とリソース識別情報とに同じ情報が登録されることもある。これらの情報の他に、作成ユーザ、更新ユーザ、作成日時、更新日時などを含んでもよい。
リソース関係情報204は、関係するリソースを表す2つのリソースIDと、関係の内容を示す関係種別とを含む情報である(図2(d)参照。)。リソースIDには、コミュニティIDを設定することもできる。つまり、リソースとコミュニティの関係もリソース関係情報204で管理される。
図3は、管理する情報の関係の一例を示す説明図である。図3には、コミュニティA〜E(301〜305)が階層構造をなしており、リソースポインタa〜d(321〜324)はそれぞれコミュニティに関連づいている(この関係はリソース関係情報204に登録されている)場合を例に示す。すなわち、図3には、リソースポインタa(321)がコミュニティB(302)に関連付けられ、リソースポインタb(322)がコミュニティD(304)に関連付けられ、リソースポインタc(323)がコミュニティD(304)およびコミュニティE(305)に関連付けられ、リソースポインタd(324)がコミュニティE(305)に関連付けられている場合を示す。また、図3に示すように、コミュニティに関連づかないリソースポインタ327,325,326も存在する。
図3に示すように、リソースポインタe(327),リソースポインタa(321)は、それぞれ、実体のリソース331,332のアクセス経路情報を示す情報である(リソースポインタa,e以外の対応リソースは記載を省略する。)。各リソースポインタは、それぞれ他のリソースポインタとの関係を定義され得る。例えば、リソースポインタaとリソースポインタeとの関係が、リソース関係情報204において定義される。
各手段はそれぞれ次のように動作する。コミュニティ制御手段101は、コミュニティの新規作成、コミュニティの変更、コミュニティの削除、コミュニティメンバ追加、コミュニティメンバ削除、などのコミュニティを制御する機能をユーザ又は他のシステムに提供する。コミュニティ制御手段101は、これらの機能呼び出しを受けて、記憶装置100のコミュニティ情報201及びコミュニティメンバ情報202を変更する。例えば、コミュニティ制御手段101は、グループウェアやプロジェクト管理システムなどのコミュニティベースの共同作業支援機能を有するシステムからの要求により、コミュニティ情報201およびコミュニティメンバ情報202を更新する。
リソース情報制御手段102は、リソースポインタ情報203の登録、変更、削除、リソース関係情報204の登録、変更、削除などのリソースポインタ情報203及びリソース関係情報204を制御する機能をユーザ又は他のシステムに提供する。リソース情報制御手段102は、これらの機能呼び出しを受けて、記憶装置100のリソースポインタ情報203及びリソース関係情報204を変更する。例えば、リソース情報制御手段102は、既述の共同作業支援機能を有するシステムからの要求により、リソースポインタ情報203およびリソース関係情報204を更新する。
コミュニティ情報検索手段103は、検索条件にあったコミュニティ情報201のコミュニティIDリストを返す機能をユーザ又は他のシステムに提供する。コミュニティ情報検索手段103は、記憶装置100のコミュニティメンバ情報202を参照して、検索条件に合致するコミュニティIDの有無を判定する。例えば、「指定したユーザの参加するコミュニティ」という検索条件などがある。すなわち、コミュニティ情報検索手段103は、例えば、探索UI120が出力する検索条件に基づいてコミュニティ情報201およびコミュニティメンバ情報202を検索し、コミュニティIDを抽出して探索UI120に出力する。
リソース情報検索手段104は、検索条件にあったリソースポインタ情報203のリソースIDリストを返す機能をユーザ又は他のシステムに提供する。リソース情報検索手段104は、記憶装置100のリソースポインタ情報203を参照して、検索条件に合致するリソースIDの有無を判定する。例えば、「アクセス経路情報に"http://www.abc.com/" が含まれるリソース」、「リソース識別情報が”file://tmp/documents/file01.txt” であるリソース」という検索条件などがある。すなわち、リソース情報検索手段104は、例えば、探索UI120が出力する検索条件に基づいてリソースポインタ情報203を検索し、リソースIDを抽出して探索UI120に出力する。
関係リソース取得手段105は、指定されたリソースもしくはコミュニティに関係するリソース(関係リソース)のリソースID(関係リソースIDと呼ぶ。)または指定されたリソースもしくはコミュニティに関係するコミュニティ(関係コミュニティ)のコミュニティID(関係コミュニティIDと呼ぶ。)のリストを返す機能をユーザ又は他のシステムに提供する。関係リソース取得手段105は、呼び出し時に関係種別が指定された場合は、指定された関係種別に合致する関係リソースID又は関係コミュニティIDのリストを返す。すなわち、関係リソース取得手段105は、例えば、探索UI120が出力するコミュニティIDおよびリソースIDに基づいてリソース関係情報204を検索し、関係リソースIDまたは関係コミュニティIDを抽出して探索UI120に出力する。
また、関係リソース取得手段105は、記憶装置100のリソース関係情報204から関係リソースIDのリストを取得する際に、要求ユーザ又は他のシステムが、抽出された関係リソースIDのアクセス権を持っているかをアクセス権判定手段106に問い合わせ、アクセス権判定手段106の返答する関係リソースID又は関係コミュニティIDを探索UI120に返答する。すなわち、関係リソース取得手段105は、探索UI120からユーザIDを入力してアクセス権判定手段106に出力し、アクセス権判定手段106から関係リソースID又は関係コミュニティIDを入力して探索UI120に出力する。
アクセス権判定手段106は、関係リソース取得手段105から、要求ユーザのユーザID又は要求システムのシステムID(システムを識別する情報)、及びアクセス権を判定するリソースのリソースIDを受け取る。そして、要求ユーザ又はシステムが対象リソースへのアクセス権限を持っているか判定して、持っている場合は対象リソースのリソースIDをそのまま返答し、持っていない場合は関係コミュニティID、関係コミュニティIDの上位コミュニティIDと辿り、アクセス権限を持っているコミュニティに到達した時に、コミュニティIDを返答する。アクセス権を判定するための情報は、アクセス権判定手段106に設けられている記憶部に保持してもよく、記憶装置100で管理する各情報内に記載してもよい(記載省略)。例えば、リソースポインタ情報203やコミュニティ情報201に「関係コミュニティの参加メンバ以外参照不可」というフラグ情報を設定しておくこともできるし、コミュニティIDやリソースIDごとにアクセス許可されているユーザIDやシステムIDを管理しておくこともできる。
探索UI120は、要求ユーザのユーザIDを受け取り、ユーザの参加コミュニティをコミュニティ情報検索手段103から取得して提示する。又、コミュニティIDやリソースIDを受け取り、関係リソース取得手段105に渡して、関係リソースID又は関係コミュニティIDを取得してユーザに提示する。
次に、図4、図5、図6を参照して第1の実施の形態の動作について説明する。図4は、探索UI120を使ってユーザが必要とするリソースを発見する処理手順を示すフローチャートである。
探索UI120は、まず、探索UI120の起動時の引数などに、リソース識別情報が指定されているか否かを判定する(ステップS1)。ここで、リソース識別情報とは、共有ファイルのパスやWebサイトのURLなど、リソースをユニークに識別する情報である。指定されている場合(あり)、探索UI120は、リソース識別情報をリソース情報検索手段104に渡して、対応するリソースIDを取得し(ステップS2)、ステップS5に進む。
リソース識別情報が指定されていない場合(なし)、探索UI120は、要求ユーザのユーザIDを取得し、コミュニティ情報検索手段103に渡して、ユーザの参加コミュニティコミュニティ情報201を取得し、ユーザに提示する(ステップS3)。例えば、探索UI120は、コミュニティ情報検索手段103から、ユーザが参加するコミュニティのコミュニティ情報201を入力し、コミュニティ名を表示部(図示せず。)に出力する。
ユーザが、提示されたコミュニティ情報201の中から、リソース探索をしたいコミュニティを選択すると(ステップS4)、探索UI120は、選択されたコミュニティのコミュニティIDを関係リソース取得手段105に渡して、関係リソース一覧を取得する(ステップS5)。ここで、関係リソースの中にはコミュニティが含まれることもある。ステップS5における関係リソース一覧の取得処理については後述する。
次に、探索UI120は、取得したリソースID又はコミュニティIDをリソース情報検索手段104又はコミュニティ情報検索手段103に渡して、リソースポインタ情報203又はコミュニティ情報201を取得し、ユーザに提示する(ステップS6)。例えば、探索UI120は、ユーザが選択したコミュニティの、関係コミュニティのコミュニティ名や関係リソースのリソース名を表示部に出力する。従って、他のユーザが登録したリソースであっても、関係リソースとして参照することができる。
探索UI120は、ステップS7において、提示された中から、ユーザが必要なリソース又はコミュニティを発見することができたか否かを判断する(ステップS7)。できなかった場合、ステップS4に移行し、ユーザは再び探索したいコミュニティ又はリソースを選択して、探索を続ける。ユーザが必要なリソースを発見した場合、リソースポインタ情報203からアクセス経路情報を取得し、それを使ってリソースの実体にアクセスして(ステップS8)、必要なリソースを手に入れることができる。すなわち、探索UI120は、例えば、ステップS8においてユーザがアクセスしたリソースのアクセス経路情報に基づいて、リソースの実体にアクセスする。
次に、ユーザの要求に応じて、指定されたリソースに関係するリソースID又はコミュニティIDのリストを返答する関係リソース取得手段105の処理手順について説明する。図5は、ステップS5における関係リソース取得手段105の処理を示すフローチャートである。
関係リソース取得手段105は、まず、探索UI120から、要求ユーザのユーザIDと、処理対象リソースのリソースID(指定リソースIDと呼ぶ)を入力する(ステップS11)。次に、関係リソース取得手段105は、記憶装置100のリソース関係情報204から、処理対象リソースに関係するリソースIDのリストを取得する(ステップS12)。ここで、リソース関係情報204に含まれる2つのリソースIDのどちらかが、指定リソースIDと一致するデータについて、指定リソースIDと一致しないリソースIDが関係するリソースIDと判定される。
次に、関係リソース取得手段105は、アクセス権判定手段106に、要求ユーザのユーザIDと、ステップS12で取得した関係リソースIDとを渡し、アクセス権を判定させ、アクセス権のある関係リソースID又はコミュニティIDを取得する(ステップS13)。ステップS13におけるアクセス権判定手段106の処理については後述する。アクセス権判定手段106は、ステップS12で取得した関係リソースID全てについて判定を行う。関係リソース取得手段105は、ステップS13の返答で得られた関係リソースID又はコミュニティIDに重なりがある場合は排除し(ステップS14)、探索UI120に結果を返答する。
次に、ステップS13におけるアクセス権判定手段106の処理について説明する。図6は、アクセス権判定手段106の処理手順を示すフローチャートである。
アクセス権判定手段106は、まず、関係リソース取得手段105から通知された関係リソースIDの示すリソースに対して、要求ユーザがアクセス権限を持っているか判定する(ステップS21)。アクセス権限がある場合は、そのままリソースIDを返答して処理を終了する。アクセス権限が無い場合は、記憶装置100のリソース関係情報204を参照し、関係コミュニティIDを取得する(ステップS22)。
アクセス権判定手段106は、リソース関係情報204に、入力した関係リソースIDの関係コミュニティIDが設定されているか否かを判断する(ステップS23)。関係コミュニティIDが設定されていない場合(なし)、関係リソースなしとして処理を終了する。関係コミュニティIDがあった場合(あり)、そのコミュニティに対して、要求ユーザ又はシステムがアクセス権限を持っているか判定する(ステップS24)。
ステップS24において、アクセス権限がある場合(あり)、アクセス権判定手段106は、関係コミュニティIDを返答して処理を終了する。アクセス権限が無い場合は(なし)、アクセス権判定手段106は、記憶装置100のコミュニティ情報201を参照し、上位コミュニティIDを取得する(ステップS25)。
上位コミュニティIDが設定されていなかった場合は(なし)、関係リソースなしとして処理を終了する(ステップS26)。上位コミュニティIDがある場合は(あり)、ステップS24へ戻る。
以上の手順で、アクセス権を持つリソースID又はコミュニティIDが返答されるか、アクセス権限が無いために関係リソースなしと返答される。
次に、第1の実施の形態の効果について説明する。本実施の形態では、リソースとコミュニティの関係情報を管理し、更にユーザの参加コミュニティ情報を取得できるようにすることで、コミュニティ参加メンバのそれぞれが、他のコミュニティ参加メンバが登録したリソース間の関係情報を簡単に探し出すことができるように構成されているため、リソースポインタ情報203及びリソース関係情報204を、複数のユーザによって共同で構築でき、ユーザが互いに活用できる。
また、第1の実施の形態では、更に、システムがリソースそのものを管理するのではなく、リソースポインタ情報203を管理するように構成されており、アクセス制御機能があるために、ユーザ以外やコミュニティメンバ以外に公開できないリソースも、管理対象とできるように構成されているため、リソースへのアクセス経路情報を表現できるあらゆるリソースを管理対象とできる。
また、第1の実施の形態では、要求ユーザにアクセス権限がないリソースやコミュニティへの関係が定義されていた場合は、そのリソースやコミュニティに関係するコミュニティ又はその上位のコミュニティのうち、要求ユーザがアクセス権限を持つものを、関係するコミュニティとして提供するように構成されているため、リソースやコミュニティへのアクセス権限の無いユーザに対しては、その存在を隠しながらも可能な限り関係するコミュニティを辿ることが可能になる。
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図7は、本発明によるリソース関係情報共有システムの第2の実施の形態を示すブロック図である。図7を参照すると、本発明の第2の実施の形態は、記憶装置100と、コミュニティ制御手段101と、リソース情報制御手段102と、コミュニティ情報検索手段103と、リソース情報検索手段104と、関係リソース取得手段105と、アクセス権判定手段106と、リソース集合作成手段107と、探索UI120とを備える。
リソース集合作成手段107は次のように動作する。関係リソース取得手段105から、リソースIDを通知されると、通知されたリソースIDと特定の関係種別にある関係リソースを再帰的に取得し、取得した関係リソースのうち、アクセス権限の無いものを除外して、残ったリソース関係情報204をリソース集合としてまとめて返答する。なお、リソース関係情報共有システムのその他の構成は、第1の実施の形態における構成(図1参照。)と同様であるため、説明を省略する。
次に、図8及び図9のフローチャートを参照して、第2の実施の形態の動作について説明する。
図8は、関係リソース取得手段105の処理手順を示すフローチャートである。なお、図8におけるステップS11からステップS14の処理は、実施の形態1における処理と同様なため説明を省略する。第2の実施の形態は、第1の実施の形態と異なり、ステップS14のあとに、得られた関係リソースIDのそれぞれについて、リソース集合を作成する(ステップS51)。返答する結果には、関係リソースIDだけでなく、関係リソースIDから作成されたリソース集合が含まれる。
図9は、ステップS51におけるリソース集合作成手段107の処理手順を示すフローチャートである。リソース集合作成手段107は、記憶装置100のリソース関係情報204を参照して、関係リソース取得手段105から通知されたリソースIDに関する、特定の関係種別が設定されたリソース関係情報204を取得する(ステップS31)。特定の関係種別とは、例えば「文書の更新」関係や、「メッセージの返答」関係などが考えられる。
リソース集合作成手段107は、リソース関係情報204を取得できたか否かを判定する(ステップS32)。リソース集合作成手段107は、取得できた場合は(あり)、ステップS31に移行し、リソース関係情報204に記載されるリソースID又は関係リソースIDについて、特定の関係種別が設定されたリソース関係情報204を取得する。リソース関係情報204を取得できない場合(なし)、ステップS33に移行する。このように、特定の関係種別が設定されたリソース関係情報204が存在しなくなるまで、再帰的にリソース関係情報204を取得する。
再帰的な取得が完了すると、取得したリソース関係情報204のうち、リソースIDや関係リソースIDについて要求ユーザ又はシステムがアクセス権限がないものがあればそれを除外する(ステップS33)。除外して残ったリソース関係情報204をリソース集合として返答する(ステップS34)。
以上のように動作することで、特定の関係にあるリソースをまとめて扱うことが可能になる。なお、第2の実施の形態の全体的な動作は、図4に示された第1の実施の形態の動作と同様であるから、探索UI120は、取得されたリソースID又はコミュニティIDをリソース情報検索手段104又はコミュニティ情報検索手段103に渡して、リソースポインタ情報203又はコミュニティ情報201を取得し、ユーザに提示する(ステップS6)。
次に、第2の実施の形態の効果について説明する。第2の実施の形態では、特定の関係にあるリソースをまとめて扱うことが可能になるよう構成されているため、意味的にまとめられるリソースがまとまり、リソースの探索がしやすいUIを実現できる。
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。第1の実施例では、リソースポインタ情報203には、ファイル共有システムで管理されている共有ファイルの情報と、Webページの情報が記載されていると仮定する。リソースが共有ファイルの場合は、リソースポインタ情報203のリソース名にはファイル名が入り、アクセス経路情報にはファイルにアクセスするためのURLが記載される。リソースがWebサイトの場合には、リソース名にはWebページのタイトルが入り、アクセス経路情報にはWebページのURLが記載される。
コミュニティ情報201、コミュニティメンバ情報202、リソースポインタ情報203、リソース関係情報204の収集手段については、本発明の範囲外であるが、例えば、コミュニティ情報201やコミュニティメンバ情報202は、グループウェアやプロジェクト管理システムなどのコミュニティベースの共同作業支援機能を持ったシステムと連携して収集することができる。また、リソースポインタ情報203やリソース関係情報204は、手動で登録するアプリケーションをコミュニティメンバに提供することで収集することもできるし、既述の共同作業支援機能を持ったシステムを拡張して、収集機能を盛り込むこともできる。収集機能の例としては、ユーザが登録した文書の内容を解析して、本文にURLが記載されていた場合に、文書とURLの指すWebサイトの関係をリソース関係情報204として登録したり、共同作業を行うユーザ操作をシステムが監視して文書作成時に参照していた別の文書を判定し、文書間の関係をリソース関係情報204として登録したり、といったことが挙げられる。
図10は、管理する情報の関係の一例を示す説明図である。本発明によるリソース関係情報共有システムの記憶装置100で管理される情報において、コミュニティ、ユーザ、リソースポインタ、リソースが図10に示すように構成されている場合を例にして説明する。アクセス制御情報は、コミュニティ情報201とリソースポインタ情報203にそれぞれ「公開」と「非公開」を設定する形で管理される。非公開の場合、コミュニティ情報201はコミュニティ参加メンバ以外は参照できず、リソースポインタ情報203は、関連するコミュニティの参加メンバ以外は参照できないようにアクセス制御される。
ここで、ユーザβ(412)が、リソース432にあたる共有ファイルを参照し、関係するリソースを参照する手順と作業画面を説明する。
ユーザβ(412)は、まず、リソース432にあたる共有ファイルを指定して、探索UI120を呼び出す。呼び出し方の例を図11、図12に示す。図11は、共有ファイルを選択し、表示されるメニューから探索UI120を起動する例を示す説明図である。図12は、ブラウザのBookmarklet 機能を利用して、現在表示しているWebサイトから探索UI120を起動する例を示す説明図である。
探索UI120は、例えば、PC上のアプリケーションや、Webアプリケーションとして実装される。探索UI120は、起動時の引数として通知された共有ファイルのアクセスURLをリソース識別情報として、図4に示す処理を実行する。
まず、リソース識別情報に対応するリソースポインタ情報203(図10に示すリソースポインタa(421))を取得し、次に関係リソースIDを取得する。ここで、図10に破線で示すように、リソースポインタa(421)の関係を辿ると、リソースポインタa(421)の関係リソースは、リソースポインタe(427)と、リソースポインタc(423)である。リソースポインタc(423)は「非公開」であり、関係コミュニティD(404),E(405)にユーザβは参加していないため、アクセスできない。この場合、アクセス権判定機能106は、更に上位のコミュニティC(403)を返す。従って、リソース432に関係するリソースは、リソースポインタe(427)の示すリソース431と、コミュニティC(403)になる。
図13は、探索UI120が結果を提示する関係ビュー500の例を示す説明図である。関係ビュー500の左半分501には、ユーザの参加コミュニティ511と、コミュニティに関連するリソース512を提示している。図13には、リソース512の「提案書.ppt」が選択された場合の画面例を示している。「提案書.ppt」は、図10に示すリソース432にあたる。
画面右半分502には、「提案書.ppt」の関係リソースが提示されている。関連Webページ513には、図10に示すリソース431にあたる、関係するWebページが提示されている。リンクをクリックするとブラウザが起動してWebページにアクセスできるように関係ビューを実装することもできる。
関連コミュニティ514には、図10に示すコミュニティC(403)にあたる、コミュニティ「Y社提案Pj」の情報へのリンクが記載されている。図14は、関連コミュニティ514へのリンクにアクセスしたときの関連ビュー500の画面例を示す説明図である。関連ビュー500の右半分502は、コミュニティ「Y社提案Pj」に関係する情報が提示されており、参加ユーザ523を見ると、ユーザα(411)が参加していることが分かる。
ユーザβは、この情報を活用して、Webページ(リソース)431を提案書作成の参考にしたり、ユーザαに頼んで、関係するリソース(リソースポインタc(423)にあたるリソース)を取得したり、関係する活動の存在を発見したことで、ユーザαとの作業協力を検討したりすることができる。このように、本発明は様々な形で活動を支援できる。
第2の実施例では、リソースポインタ情報203に、ファイル共有システムで管理されている共有ファイルの情報と、Webページの情報と、メーリングリストでやりとりされたメールが記載されていると仮定する。リソースがメールの場合、例えば、リソースポインタ情報203のリソース名にはメールのSubject が入り、アクセス経路情報には、メーリングリストサーバが管理するメールにアクセスするためのURLが記載される。
図15は、管理する情報の関係の一例を示す説明図である。コミュニティ、ユーザ、リソースポインタ、リソースが、図15に示すように構成されている場合を例にして説明する。図10との差分は、リソースポインタc(423)に対応するリソースが共有ファイル436であることと、リソースポインタd(424),d'(425),d''(426)の対応するリソースがメール433,434,435であることと、リソースポインタd(424)とリソースポインタd'(425)の関係、リソースポインタd'(425)とリソースポインタd''(426)の関係が「返信」と設定されていることである。また、リソース集合作成手段107は、関係種別「返信」にある関係リソースをリソース集合として生成するように動作する。
ここで、ユーザα(411)が、リソース436にあたる共有ファイルを参照し、関係するリソースを参照する手順と作業画面を説明する。ユーザα(411)はまず、リソース436にあたる共有ファイルを指定して、関係ビューを呼び出す。例えば、関係ビューは、探索UI120により起動される。
関係ビューは、通知されたアクセスURL(リソース識別情報)をキーに、リソース情報検索手段104を呼び出し、対応するリソースポインタ情報203(図15に示すリソースポインタc(423))を取得する。
リソースポインタ情報203が存在していた場合、関係リソース取得手段105を呼び出し、図8、図9に示す手順で、関係リソースIDとリソース集合を取得する。ここで、リソースポインタc(423)の関係を辿ると、リソースポインタc(423)の関係リソースは、リソースポインタa(421)と、リソースポインタd'(425)であり、いずれについてもユーザαはアクセス権を持っている。
リソースポインタa(421)の関係するリソースには、関係種別が「返信」のものは含まれていないが、リソースポインタd'(425)には、関係種別が「返信」である関係リソースがあるため、リソース集合作成手段106は、リソースポインタd(424),d'(425),d''(426)がリソース集合と判定し、リソースポインタd(424)とリソースポインタd'(425)のリソース関係情報204と、リソースポインタd'(425)とリソースポインタd''(426)のリソース関係情報204とを返答する。
図16は、リソース436に関係するリソースの参照結果を提示する関係ビューの例を示す説明図である。関係ビュー600の左半分601には、ユーザの参加コミュニティ611と、コミュニティに関連するリソース612を提示している。図16には、リソース612の「たたき台.ppt」が選択された場合の画面例を示している。「たたき台.ppt」は、図15に示すリソース436にあたる。
画面右半分602には、「たたき台.ppt」の関係リソースが提示されている。関連文書613には、図15に示すリソース432にあたる、関係する文書ファイルへのリンクが提示されている。リンクをクリックするとブラウザが起動して文書ファイルにアクセスできるように関係ビューを実装することもできる。
関連メール614には、図15に示すリソース433,434,435にあたる、「たたき台.ppt」に関係する一連のメールへのリンクが関連ビューとして記載されている。関連ビューは、リソース集合として取得したリソース関係情報204を基に、関連メール614に示すようにスレッド表示などにして提示される。
このように、「たたき台.ppt」に単純に関係のあるリソース434だけでなくまとまったリリース集合が得られることで、関連するメールのやりとりといった、リソースに関する作業経緯をユーザが用意に把握することができるUIが実現できる。