(57)【特許請求の範囲】
【請求項１】
上流アーク及び下流アークの両方または何れか一方の識別子と蓄積対象のアイテム情報からなるアイテムノードと、前記アイテム情報を含まず上流アーク及び下流アークの両方または何れか一方の識別子からなるリンクノードと、上流及び下流の前記アイテムノード又は前記リンクノードの識別子からなるアークとから構成されるデータ構造を記憶している記憶部と、
前記記憶部のデータ構造を用いて情報の蓄積を行う制御部を有してなるグラフモデルを用いた情報蓄積装置であって、
前記制御部は、
前記アイテムノードまたは前記リンクノードへのデータ操作要求を受け付け、前記アークの生成を伴うデータ変更要求であるか否かを識別する入出力手段と、
前記アークの生成を伴うデータ変更要求であれば、変更後の前記アークの上流側と下流側が共にアイテムノードであるか否か判定するノード接続可否判定手段と、
前記上流側及び下流側が共にアイテムノードであれば当該データ変更を禁止し、前記上流側と下流側の何れか又は前記上流側と下流側の両方がリンクノードであれば当該データ変更を実行する変更手段と、
を有することを特徴とした情報蓄積装置。
【請求項２】
前記データ構造における前記アークは、更に当該アークの属性を示すラベル情報を含み、
前記制御部は、前記入出力手段から前記アイテムノード又は前記リンクノードへの参照要求を受けると、当該アイテムノード又は当該リンクノードに接続されているアークのラベル情報を含む結果情報を出力する参照手段を更に有することを特徴とした請求項１に記載の情報蓄積装置。
【請求項３】
前記リンクノードは、更に当該リンクノード及び当該リンクノードの下流アークで接続するアイテムノードへのアクセス制御情報を含み、
前記制御部は、
更に、前記アクセス制御情報を用いて前記リンクノード及び前記アイテムノードへの操作権限を判定する権限判定手段を有し、
前記入出力手段から前記アイテムノード又は前記リンクノードへのデータ操作要求を受けると、当該アイテムノード又は当該リンクノードの前記アクセス制御情報についての操作権限の判定に従ってデータ操作の処理を実行することを特徴とする請求項１または請求項２に記載の情報蓄積装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、掲示板型、日記型、メール型、共有フォルダ型など複数の情報蓄積方式を、グラフモデルを用いることで一つのデータモデルにて蓄積できる情報蓄積装置に関する。
【背景技術】
【０００２】
電子メールやＷＥＢページ、ブログや掲示板などのサービスは、サービスごとにデータベースを構築している。このため、多数のサービスを提供しつつ連携させる場合、多数のデータベースを用意した上で、これらを連携させるための情報共有基盤を構築することが必要となり、システム開発のコスト等が大きくなってしまう。
【０００３】
これを解決するために従来、グラフモデルとルールテーブルから構成される単一のデータモデルを用いて様々な情報蓄積方式にて情報を蓄積・検索する情報検索装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２０９６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のグラフモデルでは、複数のノード同士の関係を追加する際に、追加する分だけノード同士を接続するエッジ（アーク）が増加する。このため、蓄積したノードの数が膨大になっていくと、エッジ（アーク）の数も膨大となり、それだけエッジ（アーク）の関係が複雑化する。したがって、従来の方式では、蓄積している情報を整理等するときに、複雑に絡み合ったエッジ（アーク）を紐解きながら整理する必要があるという課題があった。特に、従来のグラフモデルでは、利用者が自由にノードやエッジ（アーク）を設計できるので、かかる課題が生じてしまう。
【０００６】
本発明の目的は、有向グラフモデルを利用する１種類のデータ構造にて種々の機能を提供可能にしつつ、利用者数やデータ数の増加に伴って大規模化してもシステムが複雑化しない情報蓄積装置を提供することにある。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために、本発明は、上流アーク及び下流アークの両方または何れか一方の識別子と蓄積対象のアイテム情報からなるアイテムノードと、上流アーク及び下流アークの両方または何れか一方の識別子からなるリンクノードと、上流及び下流のアイテムノード又はリンクノードの識別子からなるアークとから構成されるデータ構造を記憶している記憶部と、記憶部のデータ構造を用いて情報の蓄積を行う制御部を有してなるグラフモデルを用いた情報蓄積装置であって、制御部は、アイテムノードまたはリンクノードへのデータ操作要求を受け付け、アークの生成を伴うデータ変更要求であるか否かを識別する入出力手段と、アークの生成を伴うデータ変更要求であれば、変更後のアークの上流側と下流側が共にアイテムノードであるか否か判定するノード接続可否判定手段と、上流側及び下流側が共にアイテムノードであれば当該データ変更を禁止し、上流側と下流側の何れか又は両方がアイテムノードでなければ当該データ変更を実行する変更手段と、を有することを特徴とする情報蓄積装置を提供する。これにより、アイテムノード同士の接続を禁止し、ノード間の接続関係が複雑化を防止することができる。
【０００８】
かかる情報蓄積装置において、データ構造におけるアークは、更に当該アークの属性を示すラベル情報を含み、制御部は、入出力手段からアイテムノード又はリンクノードへの参照要求を受けると、当該アイテムノード又は当該リンクノードに接続されているアークのラベル情報を含む結果情報を出力する参照手段を更に有することが好ましい。これにより、アークの上流側となるノードとアークの下流側となるノードとの関係をラベル情報に含めてアークを生成することで、参照時にノード間の関係を利用者に示すことができる。
【０００９】
また、かかる情報蓄積装置において、リンクノードは、更に当該リンクノード及び当該リンクノードの下流アークで接続するアイテムノードへのアクセス制御情報を含み、制御部は、更に、アクセス制御情報を用いてリンクノード及びアイテムノードへの操作権限を判定する権限判定手段を有し、入出力手段からアイテムノード又はリンクノードへのデータ操作要求を受けると、当該アイテムノード又は当該リンクノードのアクセス制御情報についての操作権限の判定に従ってデータ操作の処理を実行することが好ましい。これにより、すべてのアイテムノードおよびアークに関するアクセス制御情報をリンクノードが保持するので、あるリンクノードの下流に接続するアイテムノード群のアクセス制御の管理を容易に行なうことができる。
【発明の効果】
【００１０】
本発明によれば、掲示板、日記、メールなど複数のサービスに関する情報をアイテムノードに格納しつつ、リンクノードを介したアイテムノードの接続、グルーピング及び階層化によって、アイテムノードの制御を容易にして、アイテムノード間の接続関係が複雑化することを防止した情報蓄積装置を提供することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明による情報蓄積装置を用いた情報蓄積共有システムの構成図である。
【図２】データモデルを説明する図である。
【図３】データ構造を説明する図である。
【図４】リンクノードのアクセス制御範囲を説明する図である。
【図５】サーバ装置のデータ操作要求受信時の処理フローチャートである。
【図６】アーク接続変更処理のフローチャートである。
【図７】利用者間の情報蓄積共有の一例を説明する図である。
【図８】図７におけるノードデータ及びアークデータの例を説明する図である。
【図９】図７のノードが利用者端末装置２に表示される画面の例である。
【図１０】図７の利用者間でメールを送受信する例を説明する図である。
【図１１】図１０におけるノードデータ及びアークデータの例を説明する図である。
【図１２】図１０のノードが利用者端末装置２に表示される画面の例である。
【図１３】図７の利用者間で日記を共有する例を説明する図である。
【図１４】図１３におけるノードデータ及びアークデータの例を説明する図である。
【図１５】図１３のノードが利用者端末装置２に表示される画面の例である。
【図１６】図７の利用者間で掲示板を共有する例を説明する図である。
【図１７】図１６におけるノードデータ及びアークデータの例を説明する図である。
【図１８】図１６のノードが利用者端末装置２に表示される画面の例である。
【発明を実施するための形態】
【００１２】
以下、本発明による情報蓄積装置の実施の形態を、図面を参照して説明する。
【００１３】
図１は、本発明による情報蓄積装置を用いた情報蓄積共有システムの構成図である。図１に示す情報蓄積共有システムは、本発明による情報蓄積装置であるサーバ装置１と、ネットワーク３を介して、サーバ装置１に接続され、サーバ装置１に蓄積された情報を参照等するためにアクセスする利用者が操作する利用者端末装置２から構成されている。
【００１４】
サーバ装置１は、いわゆるコンピュータシステムであって、ネットワーク３を介して、利用者端末装置２へ蓄積対象の情報であるアイテムの追加、参照、変更、削除などのサービスを提供する。サーバ装置１は、ネットワーク３を通じて利用者端末装置２と通信を行なう通信インタフェース（Ｉ／Ｆ）部１３と、サーバ装置１の各種制御を行なう制御部１２と、記憶部１１から構成されている。
【００１５】
記憶部１１は、ＲＯＭ、ＲＡＭ、磁気ハードディスク等の記憶装置で構成され、制御部１２で用いられる各種プログラムや蓄積対象情報であるアイテム等を記憶する。図１の記憶部１１には、蓄積対象情報を記載しており、アイテムノードデータ１１１と、リンクノードデータ１１２と、アークデータ１１３からなるデータ構造にて記憶される。
【００１６】
ここで、図２を参照し、サーバ装置１の記憶部１１における蓄積対象情報のデータ構造を模式的に示したデータモデルを説明する。図２のデータモデルは、いわゆるラベル付き有向グラフモデルの一種である。
本データモデルは、アイテムノードＭ１と、リンクノードＭ２と、アークＭ３にて構成されている。アイテムノードＭ１は、蓄積対象の情報であるアイテムを持つノードであり、記憶部１１のアイテムノードデータ１１１として記憶される。リンクノードＭ２は、アイテムノードＭ１同士を中継して連結するノードであり、記憶部１１のリンクノードデータ１１２として記憶される。アークＭ３は、アイテムノードＭ１またはリンクノードＭ２の上流下流の順序である向き情報を伴ってアイテムノードＭ１またはリンクノードＭ２を連結させる有向枝であり、記憶部１１のアークデータ１１３に記憶される。なお、以下単に、ノードと表記している場合は、アイテムノードＭ１とリンクノードＭ２の両方を総称させている。
【００１７】
図２のアイテムノードＭ１を見ると、アイテムノードＭ１同士の直接連結がないことが分かる。つまり、アイテムノードＭ１同士を直接連結させるアークＭ３の生成は禁止している。これは、アークＭ３を生成する際に、アイテムノードＭ１同士を直接連結となるかを判定し、直接連結となる場合は生成を禁止している。このように、アイテムノードＭ１同士の連結を禁止するのは、蓄積対象であるアイテムが膨大になってきたときに、複雑なトポロジーとならないように規制するためである。トポロジーが複雑化すると、その後のメンテナンスやアイテムの整理が困難となるからである。特に、掲示板型、日記型、メール型などの複数の蓄積方式を一つのデータモデルで実現する際には、複雑化に拍車がかかる。
また、アークＭ３は、上流方向に接続されたノードと下流方向に接続されたノードとの関係を示すラベルが付与されている。かかるラベルを参照することにより、上流ノードと下流ノードとの関係を容易に把握できる。また、本情報蓄積共有システムでは、アークＭ３に付与しているラベルを用いてグループ化することにより、掲示板型、日記型、メール型などの種々のサービス種別や各サービス内でのきめ細かな検索条件の設定が容易になる。
【００１８】
次に、図３を参照して、かかるデータモデルを実現した記憶部１１に蓄積されている蓄積対象情報のデータ構造を説明する。
【００１９】
図３（ａ）は、アイテムノードＭ１のデータ構造であるアイテムノードデータ１１１を示している。アイテムノードデータ１１１は、アイテムノードＭ１が個々に持つデータであって、ノード識別子、所有者識別子、上流アーク、下流アーク、およびアイテムから構成されている。
【００２０】
ノード識別子は、本アイテムノードデータ１１１を識別するユニークなデータであり、アイテムノードＭ１を新規に生成する毎にコンピュータが自動的に付与する。所有者識別子は、例えばアイテムノードＭ１を作成した利用者を特定する利用者識別子が格納される。なお、所有者識別子は、複数の利用者に所有権限を付与することも可能であり、所有権限をもつ利用者の数だけの利用者識別子が格納される。所有者識別子は、アイテムノードＭ１を新規に生成する毎に作成者の利用者識別子をコンピュータが自動的に付与するようにしてもよいし、その都度、手入力により付与してもよい。
【００２１】
上流アークは、上流に接続されるアークＭ３を特定するアーク識別子が格納される。複数のアークＭ３が接続される場合は、複数のアーク識別子が格納される。下流アークは、下流に接続されるアークＭ３を特定するアーク識別子が格納される。複数のアークＭ３が接続される場合は、複数のアーク識別子が格納される。アイテムは、蓄積共有したい情報（コンテンツ）そのものであり、例えば、メールや日記や掲示板などのテキストや画像などの各種データが格納される。
【００２２】
図３（ｂ）は、リンクノードＭ２のデータ構造であるリンクノードデータ１１２を示している。リンクノードデータ１１２は、ノード識別子、所有者識別子、上流アーク、下流アークおよびアクセス制御情報から構成されている。
【００２３】
ノード識別子は、本リンクノードデータ１１２を識別するユニークなデータである。本リンクノードＭ２を新規に生成する毎にコンピュータが自動的に付与する。所有者識別子は、例えばリンクノードＭ２を作成した利用者を特定する利用者識別子が格納される。なお、所有者識別子は、複数の利用者に所有権限を付与することも可能であり、所有権限をもつ利用者分だけの利用者識別子が格納される。所有者識別子は、本リンクノードＭ２を新規に生成する毎に作成者の利用者識別子をコンピュータが自動的に付与するようにしてもよいし、その都度、手入力により付与してもよい。
【００２４】
上流アークは、上流に接続されるアークＭ３を特定するアーク識別子が格納される。複数のアークＭ３が接続される場合は、複数のアーク識別子が格納される。下流アークは、下流に接続されるアークＭ３を特定するアーク識別子が格納される。複数のアークＭ３が接続される場合は、複数のアーク識別子が格納される。
【００２５】
アクセス制御情報は、本リンクノードＭ２、下流アークＭ３、および当該下流アークに接続されたアイテムノードＭ１の内容を更新させる権限を示す情報である。ここで、アクセス制御情報を本リンクノードＭ２と下流アークＭ３及び当該下流アークＭ３に接続されたアイテムノードＭ１を権限範囲としたのは、有向グラフモデルが上流から下流に向けて情報を整理するモデルであり、上流に位置するノードが下流に位置するアークＭ３やノードを支配する関係になっているからである。また、本情報蓄積共有システムでは、アイテムノードＭ１同士を直接接続しないようにしているので、必ずアイテムノードＭ１とアイテムノードＭ１の間には、リンクノードＭ２を中継させるので、リンクノードＭ２にアクセス制御情報を設定することで、全てのアイテムノードＭ１やアークＭ３にアクセス制御情報を設定する必要がなくなるからである。
【００２６】
アクセス制御情報は、管理権限、参照権限、リンクノード変更権限、リンクノード共有権限、アイテムノード変更権限およびアイテムノード共有権限からなっている。各権限情報は、権限実行を許可する利用者の利用者識別子が格納される。複数の利用者に権限を許可する場合は、複数の利用者識別子が格納される。
【００２７】
管理権限は、本リンクノードＭ２、下流アークＭ３、および下流アークＭ３に接続されているアイテムノードＭ１に対して追加／削除／変更／参照すべての操作が可能な利用者に付与する権限である。すなわち、管理権限が付与された利用者は、後述する参照権限、リンクノード変更権限、リンクノード共有権限、アイテムノード変更権限およびアイテムノード共有権限のすべての権限情報に利用者識別子が格納されていることと同じである。また、管理権限が付与された利用者は、アクセス制御情報の各権限情報を変更することができる。なお、本リンクノードデータ１１２の所有者識別子を持つ利用者に、本管理権限を付与してもよい。
【００２８】
参照権限は、本リンクノードＭ２と下流アークＭ３を介して接続されたアイテムノードＭ１の情報を参照可能な利用者に付与する権限である。すなわち、参照権限により、本リンクノードＭ２及び下流アークＭ３の情報、下流アークＭ３を介して接続されたアイテムノードＭ１及び当該アイテムノードＭ１の下流アークＭ３の情報を参照できる。
【００２９】
リンクノード変更権限は、下流アークＭ３を追加／変更／削除の操作が可能な利用者に付与される権限である。なお、下流アークＭ３を追加／変更／削除の操作とは、具体的には、新たなノードを追加することに伴って下流アークＭ３を追加する操作、既存のノード同士を新たに接続することに伴って下流アークＭ３を追加する操作、下流アークＭ３のラベルなどのアークデータ１１３を変更する操作、既存のノードを削除することに伴って下流アークＭ３も削除する操作、既存のノード間の接続関係を解消することに伴って下流アークＭ３を削除する操作などである。また、下流アークＭ３は、当該下流アークで接続する下流ノード（リンクノードＭ２又はアイテムノードＭ１）にとっては上流アークであり、下流アークＭ３の追加・削除を行うためには、本リンクノード変更権限だけでなく、下流ノードに関するアクセス制御情報のリンクノード共有権限又はアイテムノード共有権限も同時に必要である。
【００３０】
リンクノード共有権限は、上流アークＭ３を追加／削除の操作が可能な利用者に付与される権限である。なお、上流アークＭ３を追加／削除の操作とは、具体的には、新たなノードとして追加されることに伴って上流アークＭ３を追加する操作、既存のノード同士を新たに接続することに伴って上流アークＭ３を追加する操作、ノードが削除されることに伴って上流アークＭ３も削除する操作、既存のノード間の接続関係を解消することに伴って上流アークＭ３を削除する操作などである。また、上流アークＭ３は、当該上流アークで接続する上流ノード（リンクノードＭ２又はアイテムノードＭ１）にとっては下流アークであり、上流アークＭ３の追加・削除を行うためには、本リンクノード共有権限だけでなく、上流ノードに関するアクセス制御情報のリンクノード変更権限又はアイテムノード変更権限も同時に必要である。
【００３１】
アイテムノード変更権限は、下流アークＭ３を介して接続されているアイテムノードＭ１における下流アークＭ３を追加／削除／変更の操作、及び、アイテムの変更の操作が可能な利用者に付与する権限である。アイテムノードＭ１における下流アークＭ３は、当該下流アークで接続する下流ノード（リンクノードＭ２）にとっては上流アークであり、下流アークＭ３の追加・削除を行うためには、本アイテムノード変更権限だけでなく、下流ノードに関するアクセス制御情報のリンクノード共有権限も同時に必要である。
アイテムノード共有権限は、下流アークＭ３を介して接続されているアイテムノードＭ１における上流アークＭ３を追加／削除の操作が可能な利用者に付与される権限である。アイテムノードＭ１における上流アークＭ３は、当該上流アークで接続する上流ノード（リンクノードＭ２）にとっては下流アークであり、上流アークＭ３の追加・削除を行うためには、本アイテムノード共有権限だけでなく、上流ノードに関するアクセス制御情報のリンクノード変更権限も同時に必要である。
【００３２】
ここで、図４を参照し、リンクノードＭ２のアクセス制御情報によるアクセス制御の範囲を説明する。リンクノードＭ２のアクセス制御の範囲は、当該リンクノードＭ２から下流に対して有効で、次のリンクノードの手前のアークまで適用される。図４では、リンクノードＭ２から下流のアイテムノードＭ１を含んで次のリンクノード（Ｍ２−２、Ｍ２−３）に接続されるアークまでの囲みＭ２−ａで示される範囲となる。
【００３３】
図３（ｃ）は、アークＭ３のデータ構造であるアークデータ１１３を示している。アークデータ１１３は、アーク識別子、上流ノード、下流ノード、およびラベルから構成されている。アーク識別子は、本アークデータ１１３を識別するユニークなデータである。本アークＭ３を新規に生成する毎にコンピュータが自動的に付与する。上流ノードは、本アークＭ３の上流側に接続されているノードを特定するものであって、上流側に接続されているノードのノード識別子が一つ格納される。下流ノードは、本アークＭ３の下流側に接続されているノードを特定するものであって、下流側に接続されているノードのノード識別子が一つ格納される。アークＭ３のラベルは、接続される上流アイテムノードと下流リンクノード間の接続関係の意味を表現した情報が格納される。例えば、メールや日記や掲示板などのカテゴリやタイトルを表現する文字列が格納される。
【００３４】
制御部１２は、CPU/MCU、各種メモリ、プロセッサ等から構成され、データ入出力手段１２１と、データ参照手段１２２と、データ変更手段１２３と、ノード接続可否判定手段１２４と、権限判定手段１２５を有する。
【００３５】
データ入出力手段１２１は、利用者端末装置２からデータ操作要求を通信Ｉ／Ｆ部２３を介して受信し、データ操作要求の種類を判別して後述のデータ参照手段１２２及びデータ変更手段１２３にデータ操作要求に対する処理を実行させ、その処理結果をデータ操作結果として利用者端末装置２へ通信Ｉ／Ｆ部２３を介して送信する。
【００３６】
データ参照手段１２２は、利用者が利用者端末装置２を操作して、所定のサービスを利用して、目的とするアイテムを参照するまでの一連の処理を制御する手段である。例えば、メールサービスを受ける際に、利用者自身に届いたメール内容を参照する際の処理を実行する。データ参照手段１２２は、データ入出力手段１２１が受信したデータ操作要求が、蓄積情報を参照するための操作であったときに動作を開始する。利用者が参照したいアイテムノードＭ１を参照するための処理を順次行なう。処理の詳細については、図５を参照して後述する。
【００３７】
データ変更手段１２３は、データ入出力手段１２１にて受信したデータ操作要求が、アイテムノードＭ１、リンクノードＭ２、アークＭ３に対して、追加、変更、削除の操作であったときに動作を開始する。利用者がアイテムノードＭ１等を追加、変更、削除するための処理を順次行なう。処理の詳細については、図５を参照して後述する。
【００３８】
ノード接続可否判定手段１２４は、データ変更手段１２３にてアイテムノードＭ１、リンクノードＭ２、アークＭ３に対する追加、変更をしようとする場合に、上流ノードと下流ノードの接続可否判定の処理を行う。処理の詳細については、図５、図６を参照して後述する。
【００３９】
権限判定手段１２５は、アイテムノードＭ１、リンクノードＭ２、アークＭ３に対して、追加、変更、削除の操作の権限を操作要求した利用者が持っているか否かを判定する。処理の詳細については、図５、図６を参照して後述する。
【００４０】
通信Ｉ／Ｆ部２３は、利用者端末装置２との通信を行なうインタフェースであり、接続するネットワークに対応している。
【００４１】
利用者端末装置２は、いわゆるパーソナルコンピュータであって、キーボードやテンキー、マウス等の入力部（不図示）や、液晶ディスプレイ（ＬＣＤ）などの表示部（不図示）を有し、ネットワーク３を介してサーバ装置１に接続する。
【００４２】
ネットワーク３は、サーバ装置１及び利用者端末装置２に接続され、インターネット等の広域通信網あるいは閉域通信網などのネットワークである。一般電話回線網であってもよい。
【００４３】
次に、図５を参照して、利用者が利用者端末装置２を操作し、ネットワーク３を介してサーバ装置１にデータ操作要求した際のサーバ装置１の処理フローを説明する。なお、以下に説明する処理フローは、制御部１２で実行されるプログラムによって制御される。
サーバ装置１は、利用者端末装置２からデータ操作要求を受信すると、データ操作処理を開始する（ステップＳ１）。データ操作要求には、アイテムを参照するためのデータ参照要求、アイテムやラベルといったノードやアークＭ３の接続関係に影響を及ぼさないデータ変更要求、およびノードやアークＭ３の接続関係に影響を及ぼすデータ変更要求がある。また、データ操作要求には、参照、変更、追加等の対象となるアイテムノードＭ１、リンクノードＭ２を特定する情報が少なくとも含まれている。これらのデータ操作要求に含まれる情報を用いて、データ入出力手段１２１が利用者端末装置２からのデータ操作要求の種別等を判定する。
【００４４】
データ入出力手段１２１は、先ずステップＳ２にてデータ操作要求がデータ参照要求か否かを判定する。データ参照要求であれば（ステップＳ２−Ｙｅｓ）、データ参照手段１２２が処理を開始する。先ず、データ参照要求に含まれる参照したいノードのノード識別子を取得する。例えば、最初にサービスへログインするような場合は、利用者にとってのホームとなるようなアイテムノードＭ１のノード識別子である。その他の場合は、適宜のノード識別子を取得することとなる。
【００４５】
次に、記憶部１１を参照して、取得したノード識別子を持つノードのアイテムノードデータ１１１又はリンクノードデータ１１２を取得する（ステップＳ２１）。そして、取得したアイテムノードデータ１１１又はリンクノードデータ１１２を参照し、データ参照要求をした利用者が参照権限を持つか否か判定する（ステップＳ２２）。
【００４６】
具体的には、アイテムノードＭ１へのデータ参照要求であれば、アイテムノードデータ１１１における上流アークにアーク識別子が記憶されているか確認する。上流アークが記憶されていなければ、このアイテムノードＭ１が最上位に位置するノードであると判断し、本アイテムノードＭ１に参照権限ありと判定する。但し、所有者識別子がデータ参照要求に含まれる利用者識別子と一致することを条件に参照権限ありと判定するようにしてもよい。
【００４７】
他方、アイテムノードＭ１が最上位でない場合は、アイテムノードデータ１１１における上流アークに格納されているアーク識別子を読み出し、当該アーク識別子を持つアークを介して接続されているリンクノードＭ２を特定する。そして、当該リンクノードＭ２のリンクノードデータ１１２におけるアクセス制御情報の参照権限、管理権限を参照し、データ参照要求に含まれる利用者識別子が含まれていれば参照権限ありと判定し、含まれていなければ参照権限なしと判定する。なお、上流アークに複数のアーク識別子がある場合、当該アイテムノードＭ１を参照しようとして中継してきたリンクノードＭ２のノード識別子もデータ参照要求から取得し、上流アークに格納されているアーク識別子を持つアークの中に当該ノード識別子を上流ノードに含むアークが含まれていれば、当該リンクノードＭ２の権限に従う。
【００４８】
また、リンクノードＭ２へのデータ参照要求であれば、データ参照要求に含まれる利用者識別子が、当該リンクノードデータ１１２におけるアクセス制御情報の管理権限又は参照権限に記憶されているか確認する。記憶されていれば、このリンクノードＭ２に参照権限ありと判定する。他方、記憶されていなければ、このリンクノードＭ２に参照権限なしと判定する。
【００４９】
参照権限があれば（ステップＳ２３−Ｙｅｓ）、データ参照手段１２２は、アイテムノードＭ１であればアイテムノードデータ１１１におけるアイテムをデータ操作結果として通信I／Ｆ部１３、ネットワーク３を介してデータ操作要求をしてきた利用者端末装置２に送信する（ステップＳ１０）。この際、アイテムノードデータ１１１におけるアイテムに、下流アークのアーク識別子や上流アークのアーク識別子を当該アークＭ３のラベルとともに組み込んで生成したデータをデータ操作結果としてもよい（ステップＳ２４）。
また、同様に、リンクノードＭ２であればリンクノードデータ１１２における上流アークと下流アークの両方またはどちらか一方のアーク識別子と当該アークＭ３のラベルを含めて生成したデータをデータ操作結果として通信I／Ｆ部１３、ネットワーク３を介してデータ操作要求をしてきた利用者端末装置２に送信する（ステップＳ１０）。なお、本実施の形態では、データ参照手段１２２にてデータ操作結果を利用者端末装置２にて視認できるように生成しているが、利用者端末装置２の専用の閲覧用ブラウザを用意して、当該ブラウザにて視認できるようにしてもよい。
【００５０】
他方、ステップＳ２３にて、参照権限がないと判定すると、その旨をデータ操作結果として、通信I／Ｆ部１３、ネットワーク３を介してデータ操作要求をしてきた利用者端末装置２に送信する（ステップＳ１０）。
【００５１】
ステップＳ２に戻って、データ入出力手段１２１が、データ操作要求がデータ参照要求でないと判定し（ステップＳ２−Ｎｏ）、ステップＳ３にてアイテムやラベル自体の変更のように、ノードやアークＭ３の接続関係に影響を及ぼさないデータ変更要求と判定した場合について説明する（ステップＳ３−Ｎｏ）。つまり、利用者端末装置２からのデータ操作要求が、単にアイテム等を参照するのではなく、アイテムノードデータ１１１におけるアイテムやアークデータ１１３におけるラベルの変更を利用者が行ないたいときである。他に、リンクノードデータ１１２におけるアクセス制御情報を変更する際の要求である。このデータ変更要求には、変更したいアイテムノードＭ１のノード識別子、リンクノードＭ２のノード識別子、アークＭ３のアーク識別子、更に変更したい変更データ等が含まれている。
【００５２】
データ入出力手段１２１がステップＳ３にてアーク接続変更を伴うデータ変更要求でないと判定すると、データ変更手段１２３が処理を開始する。先ず、データ変更手段１２３は、記憶部１１を参照して、データ変更要求に含まれる変更したいノードのノード識別子を持つアイテムノードデータ１１１又はリンクノードデータ１１２を取得する（ステップＳ１１）。そして、取得したアイテムノードデータ１１１又はリンクノードデータ１１２を参照し、権限判定手段１２５は、データ変更要求をした利用者が変更権限を持つか否か判定する（ステップＳ１２）。
【００５３】
具体的には、アイテムノードＭ１へのデータ変更要求（アイテムの変更）であれば、アイテムノードデータ１１１における上流アークにアーク識別子が格納されているか確認する。上流アークが格納されていなければ、このアイテムノードＭ１が最上位に位置するノードであると判断し、本アイテムノードＭ１に変更権限ありと判定する。但し、アイテムノードによって、所有者識別子がデータ変更要求に含まれる利用者識別子と一致していたことを条件に変更権限ありと判定するようにしてもよい。
他方、上流アークにアーク識別子が記憶されていれば、上流アークに格納されているアーク識別子を持つアークデータ１１３を参照し、更に当該アークデータ１１３における上流ノードに格納されているノード識別子を抽出する。そして、抽出したノード識別子を持つリンクノードデータ１１２におけるアクセス制御情報のアイテムノード変更権限又は管理権限に記憶されている利用者識別子に、本データ変更要求をした利用者の利用者識別子が含まれているか確認する。なお、本情報蓄積共有システムでは、アイテムノードＭ１同士を直接接続せず、アイテムノードＭ１にアークＭ３を介してリンクノードＭ２が接続されるので、アイテムノードＭ１の上位に存在するノードは、必ずリンクノードＭ２になる。また、所有者識別子がデータ変更要求に含まれる利用者識別子と一致していたことを条件に変更権限ありと判定するようにしてもよい。また、上流アークに複数のアーク識別子がある場合、当該アイテムノードＭ１を変更しようとして中継してきたリンクノードＭ２のノード識別子もデータ変更要求から取得し、上流アークに格納されているアーク識別子を持つアークデータ１１３を参照し、当該アークデータ１１３における上流ノードにリンクノードＭ２のノード識別子を含むアークが含まれていれば、当該リンクノードＭ２の権限に従う。
【００５４】
リンクノードＭ２へのデータ変更要求（アクセス制御情報の変更）であれば、データ変更要求に含まれる利用者識別子が、リンクノードデータ１１２におけるアクセス制御情報の管理権限に格納されているか確認する。格納されていれば、このリンクノードＭ２におけるアクセス制御情報を変更する権限ありと判定する。他方、記憶されていなければ、このリンクノードＭ２のアクセス制御情報に変更権限なしと判定する。
【００５５】
アークＭ３へのデータ変更要求（ラベルの変更）であれば、データ変更要求に含まれる変更したいアークＭ３のアーク識別子を持つアークデータ１１３を参照し、当該アークデータ１１３における上流ノードに格納されているノード識別子を抽出する。そして、かかるノード識別子を持つリンクノードデータ１１２又はアイテムノードデータ１１１を抽出する。そして、リンクノードデータ１１２を抽出した場合は、当該リンクノードデータ１１２におけるアクセス制御情報のリンクノード変更権限又は管理権限に本データ変更要求をした利用者の利用者識別子が含まれているか確認する。本データ変更要求をした利用者の利用者識別子が含まれていれば、当該アークＭ３のアークデータ１１３におけるラベルを変更する権限ありと判定する。また、アイテムノードデータ１１１を抽出した場合は、更に、アイテムノードＭ１へのデータ変更要求のときと同様に変更権限の有無を確認し、上流アークにアーク識別子が記憶されていれば、上流に存在するノードのリンクノードデータ１１２を抽出する。当該リンクノードデータ１１２におけるアクセス制御情報のアイテムノード変更権限又は管理権限に本データ変更要求をした利用者の利用者識別子が含まれているか確認する。本データ変更要求をした利用者の利用者識別子が含まれていれば、当該アークＭ３のアークデータ１１３におけるラベルを変更する権限ありと判定する。
【００５６】
変更権限があれば（ステップＳ１３−Ｙｅｓ）、データ変更手段１２３は、ステップＳ１４にてデータ変更要求に含まれる変更データにて該当のラベル、アイテムまたはアクセス制御情報の書き換え変更を行なう（ステップＳ１４）。他方、変更権限がなければそのままステップＳ１０に進む。ステップＳ１０では、変更完了したか否かの結果をデータ操作結果として通信I／Ｆ部１３、ネットワーク３を介してデータ操作要求をしてきた利用者端末装置２に送信する（ステップＳ１０）。
【００５７】
ステップＳ３に戻って、利用者端末装置２からのデータ操作要求が、単に共有情報を参照するデータ参照要求、アーク接続の変更を伴わないデータ変更要求でもない場合、つまり、アークＭ３の接続変更を伴うデータ変更である場合（ステップＳ３−Ｙｅｓ）について説明する。アークＭ３の接続変更を伴うデータ変更には、新たなノードを追加するのに伴ってアークＭ３を追加する場合、既存のノード同士を新たに接続するのに伴ってアークＭ３を追加する場合、既存のノードを削除することに伴ってアークＭ３も削除する場合、既存のノード間の接続関係を解消することに伴ってアークＭ３を削除する場合、がある。
【００５８】
かかるデータ変更要求には、追加・削除又は変更したいアイテムノードＭ１、リンクノードＭ２、アークＭ３、更に変更等に必要な種々のデータが含まれている。具体的には、追加・削除されるアークＭ３の上流ノードや下流ノードになるアイテムノードＭ１、リンクノードＭ２のノード識別子又はアークＭ３のアーク識別子、新たなノードを追加する場合に必要なデータ等が含まれる。
【００５９】
アークＭ３の接続変更を伴うデータ変更の処理（ステップＳ４）を、図６を用いて説明する。最初に、新たなノードを追加する場合について説明する。つまり、データ入出力手段１２１が、利用者からのデータ変更要求が新たなノードの追加に伴ってのアークＭ３の追加であると判定すれば（ステップＳ４０−Ｙｅｓ）、データ変更手段１２３は受信したデータ変更要求に含まれるデータに基いて仮ノードデータを生成する（ステップＳ４１）。具体的には、アイテムノードＭ１の追加であれば、アイテムノードデータ１１１に必要な所有者識別子、アイテムおよび接続先であるノードのノード識別子を取得し、仮のアイテムノードデータ１１１を生成する。生成されたときに、アイテムノードＭ１としてのノード識別子が自動的に付与される。
【００６０】
また、リンクノードＭ２の追加であれば、リンクノードデータ１１２に必要な所有者識別子、アクセス制御情報および接続先であるノードのノード識別子を取得し、仮のリンクノードデータ１１２を生成する。生成されたときに、リンクノードＭ２としてのノード識別子が自動的に付与される。
【００６１】
ステップＳ４２は、アイテムノードＭ１同士が直接接続されるのを禁止するためのノード接続可否判定手段１２４の処理である。すなわち、仮アイテムノードデータ１１１の追加であった場合、接続先であるノードがアイテムノードＭ１かリンクノードＭ２かを判定し、接続先のノードがアイテムノードＭ１であれば接続を禁止し（ステップＳ４３−不可）、それ以外であれば接続可能と判定する（ステップＳ４３−可能）。具体的には、受信した接続先であるノードのノード識別子がアイテムノードＭ１に付与されたものか否かによって、アイテムノードＭ１同士の直接接続となるのか判定している。なお、本実施の形態では、ノード識別子自体にアイテムノードＭ１かリンクノードＭ２かの判定ができるようにしているが、これに限ることなく、接続先であるノードのノード識別子を持つノードデータの中に、アイテムノードデータ１１１であるか、リンクノードデータ１１２であるかを識別できるようにしてもよい。
【００６２】
ステップＳ４３にて、アイテムノードＭ１同士が直接接続と判定すれば（ステップＳ４３−不可）、ステップＳ１０に進み、本ノード追加のデータ変更要求ができない旨をデータ操作結果として利用者端末装置２へ送信する。
【００６３】
他方、ステップＳ４３にて、アイテムノードＭ１同士が直接接続でないと判定すれば（ステップＳ４３−可能）、ステップＳ４４に進み、権限判定手段１２５は、データ変更要求してきた利用者が変更権限を持つか否かを判定する。
具体的には、接続先のノードに関するアクセス制御情報を持つリンクノードデータ１１２におけるアクセス制御情報のリンクノード変更権限、リンクノード共有権限、アイテムノード変更権限、アイテムノード共有権限、管理権限または当該接続先のノードの所有者識別子に、本データ変更要求をした利用者の利用者識別子が含まれているか確認する。なお、接続先がアイテムノードＭ１であれば、自己の上流アークのリンクノードＭ２のリンクノードデータ１１２の権限に従う。利用者が接続先のノードの所有者でなく、管理権限もないとき、仮ノードデータが下流ノードで接続先のノードが上流ノードになる場合は、接続先のノードのリンクノード変更権限又はアイテムノード変更権限が必要で、仮ノードデータが上流ノードで接続先ノードが下流ノードになる場合はリンクノード共有権限又はアイテムノード共有権限が必要となる。なお、悪意を持つものが新規ノードを作成し、この新規ノードの権限を用いて下流ノードに対して悪意のある変更を行うことを避けるため、仮ノードデータが上流ノードとなる新規ノード追加は、接続先ノードのリンクノード共有権限又はアイテムノード共有権限ではなく管理権限に利用者識別子が含まれる利用者だけに許可するようにしてもよい。
【００６４】
そして、利用者に変更権限があれば（ステップＳ４５−Ｙｅｓ）、データ変更手段１２３は、アークデータ１１３を新たに生成させる。すなわち、アーク識別子を自動生成するとともに、上流ノードのノード識別子、下流ノードのノード識別子、ラベルをデータ変更要求に従い記憶する（ステップＳ４６）。
ステップＳ４７では、仮ノードデータにステップＳ４６にて生成したアークデータ１１３のアーク識別子を上流アークまたは下流アークに追加し、正式なアイテムノードデータ１１１またはリンクノードデータ１１２として記憶し、ステップＳ１０に進む。
【００６５】
他方、利用者に変更権限がなければ（ステップＳ４５−Ｎｏ）、ステップＳ１０に進み、本ノード追加のデータ変更要求ができない旨をデータ操作結果として利用者端末装置２へ送信する。
【００６６】
次に、ステップＳ４０にてノード追加ではない、すなわち、既存ノードまたは既存のアークに対する追加削除または変更の処理について説明する。データ変更手段１２３は、記憶部１１を参照して、データ変更要求に含まれる変更したいノードのノード識別子を持つノードデータを取得する（ステップＳ４８）。そして、取得したアイテムノードデータ１１１又はリンクノードデータ１１２を参照し、権限判定手段１２５は、データ変更要求をした利用者が変更権限を持つか否か判定する（ステップＳ４９）。
【００６７】
具体的には、アイテムノードＭ１を含んだデータ変更要求であれば、当該アイテムノードデータ１１１における上流アークにアーク識別子が記憶されているか確認する。上流アークが記憶されていなければ、このアイテムノードＭ１が最上位に位置するノードであると判断し、本変更権限ありと判定する。但し、アイテムノードによって、所有者識別子がデータ変更要求に含まれる利用者識別子と一致していたことを条件に変更権限ありと判定するようにしてもよい。他方、上流アークが記憶されていれば、上流アークに格納されているアーク識別子を持つアークデータ１１３を参照し、更に当該アークデータ１１３における上流ノードに格納されているノード識別子を抽出する。そして、抽出したノード識別子を持つリンクノードＭ２であるリンクノードデータ１１２を抽出する。そして、当該リンクノードデータ１１２におけるアクセス制御情報を参照し、アイテムノード変更権限（上流ノード側にアイテムノードＭ１を含み、当該アイテムノードＭ１の下流アークが変更される場合）又はアイテムノード共有権限（下流ノード側にアイテムノードＭ１を含み、当該アイテムノードＭ１の上流アークが変更される場合）又は管理権限に記憶されている利用者識別子に、本データ変更要求をした利用者の利用者識別子が含まれているか確認し、含まれていれば変更権限ありと判定する。他方、含まれていなければ、変更権限なしと判定する。
【００６８】
リンクノードＭ２を含んだデータ変更要求であれば、当該リンクノードデータ１１２における管理権限又はリンクノード変更権限（上流ノード側にリンクノードＭ２を含み、当該リンクノードＭ２の下流アークが変更される場合）又はリンクノード共有権限（下流ノード側にリンクノードＭ２を含み、当該リンクノードＭ２の上流アークが変更される場合）にデータ変更要求に含まれる利用者識別子が含まれているか確認する。含まれていれば、このリンクノードＭ２の上流アーク又は下流アークを変更する権限ありと判定する。他方、含まれていなければ、このリンクノードＭ２に変更権限なしと判定する。
【００６９】
アークＭ３への削除要求であれば、データ変更要求に含まれる変更したいアークＭ３のアーク識別子を持つアークデータ１１３における上流ノードに格納されているノード識別子を抽出する。そして、抽出されたノード識別子を持つノードに関するアクセス制御情報を持つリンクノードデータ１１２を抽出し、当該リンクノードデータ１１２におけるリンクノード変更権限、アイテムノード変更権限又は管理権限に格納されている利用者識別子にデータ変更要求に含まれる利用者識別子が含まれていればアークデータ１１３を削除する権限ありと判定する。更に、アークＭ３のアーク識別子を持つアークデータ１１３における下流ノードのノード識別子を抽出し、下流ノードに関するアクセス制御情報を持つリンクノードデータ１１２を抽出し、当該リンクノードデータ１１２におけるリンクノード共有権限、アイテムノード共有権限又は管理権限に格納されている利用者識別子にデータ変更要求に含まれる利用者識別子が含まれていればアークデータ１１３を削除する権限ありと判定するようにしてもよい。
【００７０】
変更権限があれば（ステップＳ５０−Ｙｅｓ）、データ変更手段１２３は、ステップＳ５２に進む。他方、変更権限がなければ（ステップＳ５０−Ｎｏ）、そのままステップＳ１０に進む。ステップＳ１０では、変更完了したか否かの結果をデータ操作結果として通信I／Ｆ部１３、ネットワーク３を介してデータ操作要求をしてきた利用者端末装置２に送信する。この場合は、データ変更要求ができない旨をデータ操作結果として利用者端末装置２へ送信する。
【００７１】
ステップＳ５１では、データ変更要求に基づいて、変更の対象がノード接続関係を変更するものか否かを判定する。ノード接続関係を変更するものであればステップＳ５２に進み、ノード接続関係を変更するものでなければステップＳ５６に進む。
【００７２】
ステップＳ５２は、アイテムノードＭ１同士が直接接続されるのを禁止するためのノード接続可否判定手段１２４の処理である。すなわち、先ず、ステップＳ４８にて取得した接続関係を変更し新たな接続を確立させようとするノードデータを読み出す。そして、読み出したノードが、アイテムノードデータ１１１同士か否かを判定する。アイテムノードデータ１１１同士であれば接続を禁止し（ステップＳ５３−不可）、それ以外であれば接続可能と判定する（ステップＳ５３−可能）。具体的には、受信した接続先であるノードのノード識別子がアイテムノードＭ１に付与されたものか否かによって、アイテムノードＭ１同士の直接接続となるのか判定している。なお、本実施の形態では、ノード識別子自体にアイテムノードＭ１かリンクノードＭ２かの判定ができるようにしているが、これに限ることなく、接続先であるノード識別子を持つノードデータの中に、アイテムノードデータ１１１とリンクノードデータ１１２を識別できるデータを持たせてもよい。
【００７３】
ステップＳ５３にて、アイテムノードＭ１同士が直接接続と判定すれば、ステップＳ１０に進み、本ノード追加のデータ変更要求ができない旨をデータ操作結果として利用者端末装置２へ送信する。
【００７４】
次に、ステップＳ５４では、データ変更要求にしたがって、既存のアークデータ１１３の削除処理と、新規のアークデータ１１３の追加処理を行なう。すなわち、新たにアークデータ１１３を生成させるとき、データ変更手段１２３は、アーク識別子を自動生成するとともに、上流ノードのノード識別子、下流ノードのノード識別子、ラベルをデータ変更要求に従い記憶する。そして、ステップＳ５５にて、関連するアイテムノードデータ１１１またはリンクノードデータ１１２における上流アークまたは下流アークから当該アーク識別子を削除または追加し、ステップＳ１０に進む。
【００７５】
ステップＳ５１にて、変更の対象がノード接続関係を変更するものでないと判定した場合、ステップＳ５６に進んでデータ変更要求がノードの削除要求か否かを判定する。ノードの削除要求であれば、ノードの削除に伴って不要となるアークデータ１１３を削除し（ステップＳ５７）、削除対象のノードを削除するとともに削除に伴って影響を受けるノードの変更を行ない（ステップＳ５８）、ステップＳ１０に進む。
【００７６】
また、ステップＳ５６にて、ノードの削除が伴わない、つまりアークＭ３の削除と判定すると、データ変更要求に従ってアークデータ１１３を削除し（ステップＳ５９）、かかるアークデータ１１３の削除の影響を受けるノードデータにおける上流アークまたは下流アークから当該アーク識別子を削除し（ステップＳ６０）、ステップＳ１０に進む。
【００７７】
次に、図７〜図１８を参照し、メール・日記・掲示板のサービスが使えるシステムでの具体的な実施例を説明する。メール・日記・掲示板のサービスが使えるシステムを構築するように依頼されたシステム構築者は、本情報蓄積共有システムを用いて、システムの枠組みを作る。具体的には、提供するサービスのメールや日記や掲示板のデータをアイテムノードＭ１のアイテムノードデータ１１１のアイテムの中に保存するときのデータ構造を決め、そのデータ構造に応じて利用者端末装置２にアイテムを表示させる参照画面や提供するサービスのメールや日記や掲示板のデータを新規追加、内容変更する場合の入力画面、ログイン画面、ログイン後に表示する画面などを含む各種操作画面を作る。また、各種操作画面からどのデータ操作要求をサーバ装置１に送信すればよいか、画面と処理を対応付ける。
【００７８】
次に、構築されたシステムを運用し、利用者を新規登録するシステム管理者は、利用者を登録する毎に当該利用者にとってのホームとなるような画面のアイテムノードＭ１を用意する。図７は、システム構築者によってメール・日記・掲示板のサービスが使えるシステムが構築され、システム管理者によって利用者Ａ／利用者Ｂ／利用者Ｃ・・・が登録され、利用者がログインするとホームからメールだけ利用できるがメールアイテムはまだ存在しない状態を説明する図である。また、図８は、図７におけるアイテムノードデータ１１１、リンクノードデータ１１２及びアークデータ１１３の例を示す。図９は、図７に対応して各ノードが利用者端末装置２に表示される画面の例である。以降の説明では、ＩｎはアイテムノードＭ１のノード識別子であり、ＬｎはリンクノードＭ２のノード識別子、ＡｎはアークＭ３のアーク識別子である。
本システムの起点は、Ｉ１のアイテムノードである。利用者は利用者端末装置２からこのＩ１へアクセスしてくる。このＩ１がログイン画面と連動し、Ｉ１のアイテムである利用者共有ホーム画像が表示される（図９の（ａ）を参照）。なお、Ｉ１の所有者識別子はSuperUserであり、システム管理者の利用者識別子となっている。起点のため、上流アークはない（以降、アイテムノードデータ１１１、リンクノードデータ１１２及びアークデータ１１３での＄は何も記憶されていないことを表す）。
【００７９】
さて、利用者が、ログインのボタン押下をすると利用者認証が行われ、利用者認証の結果を受けて、Ｉ１の下流アークのＡ１で接続するＬ１を経由して利用者毎に振り分けられ、利用者にとってのホームが表示される。図９（ｂ）は利用者Ａ（利用者識別子U0001）のログイン直後の画面、すなわちＩ２を表示した例であり、同様に、図９（ｃ）は利用者Ｂ（利用者識別子U0002）のＩ３、図９（ｄ）は利用者Ｃ（利用者識別子U0003）のＩ４を表示した画面である。なお、利用者認証で用いる利用者ＩＤ・パスワード等の利用者情報を利用者共有ホーム画像と共にＩ１のアイテムに保管してもよい。また、Ｌ１を経由するときに、アークのラベルの一覧からなる画面を表示し、利用者に「利用者Ａ」「利用者Ｂ」「利用者Ｃ」・・・を選択させるようにしてもよい。図８のアイテムノードデータを参照すると、利用者にとってのホームであるＩ２、Ｉ３、Ｉ４にはそれぞれの利用者識別子が所有者識別子として格納されている。また、Ｉ２、Ｉ３、Ｉ４の上流アークには、Ｌ１が上流ノードであるアークのアーク識別子、Ａ２、Ａ３、Ａ４がそれぞれ格納されている。そして、下流アークにはまずはメールを使えるように、ラベルが「メール」であるアークのＡ５、Ａ６、Ａ７によってそれぞれ接続されたリンクノードのＬ２、Ｌ３、Ｌ４が用意された状態になっている。次に、リンクノードデータを参照すると、Ｌ２、Ｌ３、Ｌ４のアクセス制御情報の管理権限、参照権限及びアイテムノード共有権限には、所有者識別子と同じ各利用者の利用者識別子が格納され、リンクノード変更権限は個々の利用者識別子でなく本システムの利用者全員の利用者識別子が指定されているのと同じ「全員」が格納されている。Ｌ２を用いて説明すると、Ｌ２は利用者Ａしか参照することができないので、Ｌ２に接続されたアイテムノード（この場合はメールアイテム）は利用者Ａしか参照できない。しかし、Ｌ２にアイテムノードを追加することは全員ができるので、利用者は誰でも利用者Ａにメールを送信することができる。
【００８０】
ここで、図１０〜図１２を参照し、具体的に、利用者Ｂから利用者Ａへメールが送信される例を説明する。図１０は図７からメール送受信で追加されたノードおよびアークの接続状態の変化を、図１１は図８からの格納されるデータの変化を示したものである。図１２は、図１０に対応して各ノードが利用者端末装置２に表示される画面の例である。メールに関する操作画面としては、メールを作成・送信する「新規メール」の操作画面や、送受信したメールを参照する画面などが、データ操作要求と対応付けられてあらかじめ用意される。
利用者Ｂは、例えば、図９（ｃ）のＩ３の表示画面又はＩ３の「メール」ラベルから表示したＬ３の表示画面の「新規メール」をクリックし、あらかじめシステム構築者によって用意された「新規メール」の操作画面から宛先・件名・本文などから構成されるメールを作成し、メールアイテムのＩ１０を新規作成すると、Ｌ３からＩ１０へのアークのＡ１０が作成される。これは、Ｌ３を上流ノードに指定して新規ノードとしてＩ１０を作成し追加するデータ操作要求、すなわち、データ変更要求の新規ノード追加の操作である。利用者ＢはＬ３に対して管理権限及びリンクノード変更権限を持つため、新規ノードであるＩ１０及びＡ１０が作られる。Ａ１０のアークだけが作られた状態は、送信者となる利用者Ｂの手元にのみメールアイテムがあるため、メールの下書き保存の状態となる。ここで、利用者Ｂが利用者Ａへ「送信」を実際に行うと、Ｌ２からＩ１０へのアークのＡ１１が作られる。これは、宛先である利用者Ａがラベル「メール」で参照するリンクノードであるＬ２を上流ノードに指定し、Ｉ１０を下流ノードに指定した既存ノード同士を新たに接続するデータ操作要求、すなわち、データ変更要求のアーク追加の操作である。この一連の操作が、「新規メール」の操作画面に対応付けられている。利用者ＢはＬ２に対してリンクノード変更権限を持ち、Ｉ１０に対しては上流アークのＡ１０を介してＬ３のアクセス制御情報を参照して管理権限及びアイテムノード共有権限を持つため、Ｌ２からＩ１０へのアークＡ１１を作成し、Ｉ１０の上流アークにＡ１１を追加し、Ｌ２の下流アークにＡ１１を追加することができる。
【００８１】
さて、受信メールと送信メールを同じリンクノードから（例えば、Ｌ２やＬ３から）参照するのではなく、メール種別で振り分けを可能にする場合は、システム構築者が振り分け操作画面を用意しておき、利用者自身によって下流に新たなリンクノードを作り、振り分けるとよい。例えば、送信側の利用者Ｂが、送信メールのラベルをもつアークＡ１２で接続するリンクノードのＬ５を新規作成し、Ｌ５の下流ノードからＩ１０に接続するアークのＡ１３を作るデータ操作要求を行うと、メール送信後にＩ１０を送信メールに振り分けることになる。また、受信側の利用者Ａが、受信メールのラベルをもつアークＡ１４で接続するリンクノードのＬ６を新規作成し、Ｌ６の下流ノードからＩ１０に接続するアークのＡ１５を作るデータ操作要求を行うと、メール受信後にＩ１０を受信メールに振り分けることになる。また、利用者ＢがＩ１０を作成する前に、あらかじめＬ５とＬ６のリンクノードが用意されていれば、Ａ１０、Ａ１１の順でアークを作成してメール送受信した操作を、Ａ１３、Ａ１５の順でアークを作成して自動的に送信メールや受信メールに振り分けてメール送受信する操作に置き換えすることもできる。なお、Ｌ５のアクセス制御情報のリンクノード変更権限には利用者Ｂの利用者識別子U0002のみが格納されており、管理権限、参照権限及びアイテムノード共有権限も利用者Ｂの利用者識別子U0002のみのため、Ｌ５を参照できるのもＬ５の下流にノードを追加できるも利用者Ｂだけとなり、他の利用者が利用者Ｂの送信メールを見ることやメールを利用者Ｂの送信メールに振り分けることはできない。
【００８２】
図１２は、利用者Ｂから利用者Ａにメールを送り、振り分けも行った状態の画面例であり、図１２（ａ）は利用者ＡがＬ２を表示した画面の例で、Ａ１４の受信メールのラベルが表示されている。また、図１２（ｂ）は利用者ＢがＬ３を表示した画面の例で、Ａ１２の送信メールのラベルが表示されている。また、図中のメールアイテムをクリックすると、利用者Ａにとっては受信メールとして、また、利用者Ｂにとっては送信メールとして、Ｉ１０のアイテムがメール参照画面にて表示されてそれぞれメールの内容を読むことができる。
【００８３】
次に、図１３〜図１５を参照し、利用者Ａが日記を使えるように設定し、利用者Ａが作成した日記を利用者Ｂ及び利用者Ｃが購読する例を説明する。図１３は図７及び図１０から日記で追加されたノードおよびアークの接続状態の変化を、図１４は図８及び図１１からの格納されるデータの変化を示したものである。図１５は、図１３に対応して各ノードが利用者端末装置２に表示される画面の例である。
利用者Ａが日記を書くために、利用者ＡのホームのＩ２から「新規日記」をクリックし、「新規日記」の操作画面から、日記を使えるようにＬ２０（Ａ２０）をつくり、更に、「新規アイテム」でＩ２０（Ａ２１）に新しい日記の記事を作成する。すなわち、Ｉ２からＬ２０、Ｌ２０からＩ２０という２回の新規ノードの追加のデータ変更要求のデータ操作要求が実行され、それぞれＡ２０とＡ２１のアークが追加される。
他の利用者は自身のホームの「新規日記」から公開されている日記のリンク一覧を参照し、既存ノードの利用者ＡのＬ２０を下流ノードに指定することで、利用者ＢはＩ３からＡ２２を、利用者ＣはＩ４からＡ２３を作ることができる。すなわち、既存ノード同士の接続のデータ変更要求のデータ操作要求が実行される。このとき、利用者ＢはＡ２２のラベルに「Ａさんの日記」を、利用者ＣはＡ２３のラベルに「購読日記」を付与している。このように同じＬ２０へのアークであっても、リンクノードではなくアークにラベルをつけることによって、利用者が自由に次の参照先への意味を付加することができる。
ここで、図１４のＬ２０のアクセス制御情報を参照すると、参照権限は全員、リンクノード変更権限は利用者Ａ、リンクノード共有権限は全員であり、利用者Ａは日記を公開し、他の利用者のノードからＬ２０へのアークの追加を許可している。また、参照権限があるので、利用者Ｂ及び利用者Ｃは、Ｌ２０の下流アークのＡ２１で接続されたＩ２０を参照することができる。しかし、Ｌ２０のリンクノード変更権限は利用者Ａのみのため、新たな日記投稿は、利用者Ａのみが実行可能になる。そして、新たな日記投稿はＬ２０を上流ノードに指定した新規ノードの追加操作になる。Ｌ２０の下流アークで接続される投稿した日記を修正したい場合は、アイテムノードを指定したアーク接続を伴わないデータ変更要求が対応付けられた修正画面から利用者Ａのみが実行可能である。
【００８４】
図１５は、利用者Ａが作成した日記を利用者Ｂ、利用者Ｃが参照可能になった状態の画面例の例である。図１５（ａ）は、利用者Ａの画面遷移の例である。利用者ＡのホームであるＩ２の表示画面からＡ２０のラベルの「日記」をクリックすると、Ｌ２０が表示され、ここで、Ａ２１で接続された「記事１」のアイテムを選ぶと、Ｉ２０の表示画面で利用者Ａが作成した日記を読むことができる。図１５（ｂ）は利用者ＢがホームであるＩ３から、図１５（ｃ）は利用者ＣがホームであるＩ４から、Ｌ２０を表示させた場合の画面の例である。Ｌ２０という同じリンクノードであっても、どのノードから参照してきたかによって画面の表示内容は変わる。また、利用者Ｂ及び利用者Ｃは、Ｌ２０に対して参照権限しかないため、利用者ＡがＬ２０を表示している画面にはある「新規アイテム」という新規に日記を作成するための操作画面を選択するボタンは用意されていない。
【００８５】
次に、図１６〜図１７を参照し、利用者Ａが掲示板を使えるように設定し、利用者Ａが用意した掲示板を、利用者Ｂや利用者Ｃが利用し、コメントする例を説明する。図１６は図７、図１０及び図１３から掲示板で追加されたノードおよびアークの接続状態の変化を、図１７は図８、図１１及び図１４からの格納されるデータの変化を示したものである。図１８は、図１６に対応して各ノードが利用者端末装置２に表示される画面の例である。
利用者Ａは掲示版を開設するため、利用者ＡのホームのＩ２から「新規掲示板」をクリックし、「新規掲示板」の操作画面から、掲示板を作る（Ｌ３０，Ａ３０）。そして、「新規アイテム」をクリックし、「新規アイテム」の操作画面から、話題（話題１）を提供する（Ｉ３０，Ａ３１）。また、話題１へのコメントを受け付けられるようにする（Ｌ３１、Ａ３２）。すなわち、Ｉ２からＬ３０、Ｌ３０からＩ３０という３回の新規ノードの追加のデータ変更要求のデータ操作要求が実行され、それぞれＡ３０、Ａ３１及びＡ３２のアークが追加される。
利用者Ｂは、自身のホームノードであるＩ３の「新規掲示板」をクリックし、「新規掲示板」の操作画面から、公開されている利用者Ａが用意した掲示板を読めるようにする。すなわち、既存ノード同士の新たな接続関係を追加するデータ変更要求のデータ操作要求で、Ｉ３からＬ３０へ、ラベル「Ａさんの掲示板」のＡ３３を生成する。同様に、利用者Ｃも利用者Ａが用意した掲示板を読めるように、Ｉ４からＬ３０へ、ラベル「お気に入り掲示板」のＡ３４を生成する。
ここで、図１７のＬ３０のアクセス制御情報を参照すると、管理権限は利用者Ａ、参照権限・リンクノード変更権限・リンクノード共有権限は全員、アイテムノード共有権限は利用者Ａであり、利用者Ａは掲示板を公開し、他の利用者のノードからＬ３０へのアークの追加することや新たなノードの作成すること（ここでは、話題の提供）を許可している。また、参照権限があるので、他の利用者もＬ３０の下流アークのＡ３１で接続されたＩ３０の話題１を参照することができる。また、Ｌ３１のアクセス制御情報を参照すると、管理権限は利用者Ａ、参照権限・リンクノード変更権限は全員、リンクノード共有権限・アイテムノード共有権限は利用者Ａであり、利用者Ａは話題１に対してコメント受付の準備を行え（Ａ３２を生成）、他の利用者には新たなノードの作成すること（ここでは、コメントの投稿）を許可している。また、参照権限があるので、他の利用者もＬ３１の下流アークで接続されたコメントを参照することができる。
利用者Ｂが話題１に対してコメント１を投稿し（Ｌ３１からＩ３１、Ａ３５）。利用者Ｃも話題１に対してコメント２を投稿する（Ｌ３１からＩ３２、Ａ３６）。このように、利用者Ｂ及び利用者Ｃは、新たに話題を提供したり、コメントを投稿したり、自身が投稿した記事やコメントを変更したりすることができる。これらは、Ｌ３０又はＬ３１に対しての新規ノードの追加のデータ変更要求のデータ操作要求、自身が作成して所有権限をもつアイテムの変更のデータ変更要求のデータ操作要求が実行されることで実現される。なお、利用者Ａは、Ｌ３０及びＬ３１に管理権限を持つため、管理者として全ての投稿の変更ができる。
【００８６】
図１８は、利用者Ａが開設した掲示板を利用者Ｂ、利用者Ｃが利用する状態の画面例の例である。図１８（ａ）は、利用者Ａの画面遷移の例である。利用者ＡのホームであるＩ２の表示画面からＡ３０のラベルの「掲示版」をクリックすると、Ｌ３０の画面が表示され、ここで、Ａ３１で接続された「話題１」のアイテムを選ぶと、Ｉ３０の表示画面で利用者Ａが提供した話題である「話題１」を読むことができる。また、Ａ３２で接続された「コメント」を選ぶと、Ｌ３１の画面が表示され、投稿されたコメントの一覧を見ることができる。図１８（ｂ）は、利用者Ｂの画面遷移の例である。利用者ＢのホームであるＩ３の表示画面からＡ３３のラベルの「掲示版」をクリックすると、Ｌ３０の画面が表示され、ここで、Ａ３１で接続された「話題１」のアイテムを選ぶと、Ｉ３０の表示画面で利用者Ａが提供した話題である「話題１」を読むことができる。ここで、「新規コメント」をクリックして話題１に対してコメント１を投稿すると（Ｌ３１からＩ３１、Ａ３５）、生成されたＩ３１の表示画面で利用者Ｂが投稿したコメント１の内容を読むことができる。
【符号の説明】
【００８７】
１・・・サーバ装置
１１・・・記憶部
１１１・・・アイテムノードデータ
１１２・・・リンクノードデータ
１１３・・・アークデータ
１２・・・制御部
１２１・・・データ入出力手段
１２２・・・データ参照手段
１２３・・・データ変更手段
１２４・・・ノード接続可否判定手段
１２５・・・権限判定手段
１３・・・通信インタフェース（Ｉ／Ｆ）部
２・・・利用者端末装置
３・・・ネットワーク
【図８】
0005650018.tif 000002
【図１１】
0005650018.tif 000003
【図１４】
0005650018.tif 000004
【図１７】
0005650018.tif 000005
【図１】
0005650018.tif 000006
【図２】
0005650018.tif 000007
【図３】
0005650018.tif 000008
【図４】
0005650018.tif 000009
【図５】
0005650018.tif 000010
【図６】
0005650018.tif 000011
【図７】
0005650018.tif 000012
【図９】
0005650018.tif 000013
【図１０】
0005650018.tif 000014
【図１２】
0005650018.tif 000015
【図１３】
0005650018.tif 000016
【図１５】
0005650018.tif 000017
【図１６】
0005650018.tif 000018
【図１８】
0005650018.tif 000019