(57)【要約】【課題】データのアクセス権などの属性を、より短い処理時間で処理することのできるアクセス権管理装置を提供する。【手段】各文書１１１α、１１１β・・・には、閲覧権限ビット列を記録する。この閲覧権限ビット列の、それぞれのビットは、各ユーザの当該文書に対する閲覧権限の有無を示している。「１」は権限有り、「０」は権限無しである。各ビットが、どのユーザに対応するかは、当該文書を含むフォルダ１１１、１１２・・・に記録された意味情報に示されている。【選択図】  図１１
2005018336.tif 000002
【特許請求の範囲】
【請求項１】
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録するとともに、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録したデータ記録部と、
所望のデータの所望の属性の取得要求を受けると、当該データを含むディレクトリに関連付けて記録されている意味情報を取得して、所望の属性が、属性ビット列中のいずれのビット位置によって示されるかを特定するビット位置特定手段と、
ビット位置特定手段によって特定されたビット位置に基づいて、所望のデータに関連づけて記録されている属性ビット列中から、所望のデータの所望の属性を取得する属性取得手段と、
を備えたデータ属性管理装置。
【請求項２】
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録するとともに、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録したデータ記録部にアクセス可能なコンピュータに下記の処理を行わせるためのデータ属性管理プログラムであって、
所望のデータの所望の属性の取得要求を受けると、データ記録部にアクセスして、当該データを含むディレクトリに関連付けて記録されている意味情報を取得して、所望の属性が、属性ビット列中のいずれのビット位置によって示されるかを特定するとともに、
前記特定されたビット位置に基づいて、所望のデータに関連づけて記録されている属性ビット列中から、所望のデータの所望の属性を取得する処理を行わせるためのデータ属性管理プログラム。
【請求項３】
請求項１の装置または請求項２のプログラムにおいて、
前記データの属性は、各ユーザの当該データに対する閲覧権限または書換権限であり、
前記属性ビット列の各ビットは、それぞれのユーザの閲覧権限または書換権限を示すことを特徴とするもの。
【請求項４】
請求項１〜３のいずれかの装置またはプログラムにおいて、
前記意味情報は、各データを含む直上のディレクトリに記録されていることを特徴とするもの。
【請求項５】
請求項１〜４のいずれかの装置またはプログラムにおいて、
各データを含む第１のディレクトリに第１の部分意味情報が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分意味情報が記録されており、
前記第１の部分意味情報と前記第２の部分意味情報とを統合して、前記意味情報を生成することを特徴とするもの。
【請求項６】
請求項１〜５のいずれかの装置またはプログラムにおいて、
前記属性ビット列は、各データに記録されていることを特徴とするもの。
【請求項７】
請求項１〜６のいずれかの装置またはプログラムにおいて、
前記属性ビット列は、各データを含むディレクトリに記録されていることを特徴とするもの。
【請求項８】
請求項１〜７のいずれかの装置またはプログラムにおいて、
各データまたは各データを含む第１のディレクトリに第１の部分属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分属性ビット列が記録されており、
前記第１の部分属性ビット列と前記第２の部分属性ビット列とを統合して、前記属性ビット列を生成することを特徴とするもの。
【請求項９】
請求項１〜７のいずれかの装置またはプログラムにおいて、
各データまたは各データを含む第１のディレクトリに個別的属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに総括的属性ビット列が記録されており、
前記個別的属性ビット列が記録されていないデータまたは第１のディレクトリについては総括的属性ビット列を用い、
前記個別的属性ビット列が記録されているデータまたは第１のディレクトリについては個別的属性ビット列を用いることを特徴とするもの。
【請求項１０】
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録する属性ビット列記録領域と、
前記管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録した意味情報記録領域と、
を備えたことを特徴とする属性管理データ。
【請求項１１】
請求項１０の属性管理データにおいて、
前記データの属性は、当該データの閲覧権限または書換権限であり、
前記属性ビット列の各ビットは、それぞれのユーザの閲覧権限または書換権限を示すことを特徴とするもの。
【請求項１２】
請求項１０または１１の属性管理データにおいて、
前記意味情報は、各データを含む直上のディレクトリに記録されていることを特徴とするもの。
【請求項１３】
請求項１０〜１２のいずれかの属性管理データにおいて、
各データを含む第１のディレクトリに第１の部分意味情報が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分意味情報が記録されていることを特徴とするもの。
【請求項１４】
請求項１０〜１３のいずれかの属性管理データにおいて、
前記属性ビット列は、各データに記録されていることを特徴とするもの。
【請求項１５】
請求項１０〜１４のいずれかの属性管理データにおいて、
前記属性ビット列は、各データを含むディレクトリに記録されていることを特徴とするもの。
【請求項１６】
請求項１０〜１５のいずれかの属性管理データにおいて、
各データまたは各データを含む第１のディレクトリに第１の部分属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分属性ビット列が記録されていることを特徴とするもの。
【請求項１７】
請求項１０〜１５のいずれかの属性管理データにおいて、
各データまたは各データを含む第１のディレクトリに個別的属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに総括的属性ビット列が記録されていることを特徴とするもの。
【請求項１８】
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録するとともに、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録しておき、
所望のデータの所望の属性を取得する際には、
当該データを含むディレクトリに関連付けて記録されている意味情報を取得して、所望の属性が、属性ビット列中のいずれのビット位置によって示されるかを特定し、
前記特定されたビット位置に基づいて、所望のデータに関連づけて記録されている属性ビット列中から、所望のデータの所望の属性を取得することを特徴とするデータ属性管理方法。
【請求項１９】
管理対象となるデータの属性を受けて、当該属性を記録するデータ属性記録装置であって、
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録する属性ビット列記録手段と、
管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録する意味情報記録手段と、
を備えたデータ属性記録装置。
【請求項２０】
管理対象となるデータの属性を受けて、当該属性を記録する処理をコンピュータに行わせるためのデータ属性記録プログラムであって、
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録し、
管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録する処理を行わせるためのデータ属性記録プログラム。
【請求項２１】
請求項１９の装置または請求項２０のプログラムにおいて、
前記データの属性は、各ユーザの当該データに対する閲覧権限または書換権限であり、
前記属性ビット列の各ビットは、それぞれのユーザの閲覧権限または書換権限を示すことを特徴とするもの。
【請求項２２】
請求項２１の装置またはプログラムにおいて、
管理対象となるデータに対する各ユーザの閲覧権限または書換権限を受けて、
それぞれのユーザを１つのビット位置に対応づけて意味情報を生成して、当該データを含むディレクトリに記録し、
各ユーザのビット位置に対応するように、各ユーザの閲覧権限または書換権限を示すビット列を生成して、管理対象データに記録することを特徴とするもの。
【請求項２３】
請求項２１の装置またはプログラムにおいて、
管理対象データ追加の際に、
管理対象となるデータに対する各ユーザの閲覧権限または書換権限を受けて、当該管理対象データを含むディレクトリの意味情報を取得して、権限有とされているユーザの全てが、既にある意味情報に含まれているか否かを判断し、
含まれていなければ、既にある意味情報に当該含まれていないユーザを追加して新たな意味情報を生成して、意味情報を更新することを特徴とするもの。
【請求項２４】
管理対象となるデータの属性を受けて、当該属性を記録するデータ属性記録方法であって、
管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録し、
管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録することを特徴とするデータ属性記録方法。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
この発明は、データの属性を管理する技術に関するものである。
【０００２】
【背景技術および課題】
リレーショナルデータベースなどにおいて、各文書に対するアクセス管理は次のようにして行われていた。図１に示すように、文書の情報を管理するための文書情報テーブル２と、各ユーザが各文書に対してアクセス権を有するか否かを示すアクセス管理情報テーブル４を備えている。ユーザＡの指定した検索条件に基づいて文書情報テーブル２から所望の文書のみを絞り込む。
【０００３】
このようにして絞り込んだ文書情報テーブル２と、アクセス管理情報テーブル４に基づいて、当該ユーザＡの各文書に対するアクセス権の有無を示す結合テーブル６を生成する。
【０００４】
ユーザＡが、検索結果中の文書の参照を要求した場合、結合テーブル６において「参照可」となっていれば（たとえば、企画書Ａ）、当該文書を表示する。「参照不可」となっていれば（たとえば、企画書Ｂ）、当該文書の表示を行わない。上記のようにして、各文書のアクセス権管理を行うことができる。
【０００５】
しかしながら、上記の従来技術では、結合テーブルの作成に時間がかかり、迅速なレスポンスを得られないという問題があった。特に、各テーブルのレコード数が大きくなればなるほど、顕著な処理時間の増加がみられた。
【０００６】
また、特許文献１においても、ユーザごとに各文書に対するアクセス権限を定めたユーザ権限データベースを用意し、これに基づいて、アクセスの可否を判断している。
【特許文献１】特開２０００−１４８６８８
【０００７】
この発明では、データのアクセス権などの属性を、より短い処理時間で処理することのできるアクセス権管理装置を提供することを目的とする。
【０００８】
【発明の概要】
（１）（２）この発明に係るデータ属性管理装置は、管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録するとともに、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録したデータ記録部と、所望のデータの所望の属性の取得要求を受けると、当該データを含むディレクトリに関連付けて記録されている意味情報を取得して、所望の属性が、属性ビット列中のいずれのビット位置によって示されるかを特定するビット位置特定手段と、ビット位置特定手段によって特定されたビット位置に基づいて、所望のデータに関連づけて記録されている属性ビット列中から、所望のデータの所望の属性を取得する属性取得手段とを備えている。
【０００９】
属性ビット列によって属性を記録しているので、属性記録の為の容量が少なくて済み、属性取得のための処理時間も短縮できる。また、ディレクトリに当該属性ビットの意味情報を記録しているので、意味情報記録のための容量を少なくすることができる。
【００１０】
（３）この発明に係るデータ属性管理装置は、データの属性が、各ユーザの当該データに対する閲覧権限または書換権限であり、属性ビット列の各ビットが、それぞれのユーザの閲覧権限または書換権限を示すことを特徴としている。
【００１１】
したがって、各データに対する各ユーザの権限を効率的に管理することができる。
【００１２】
（４）この発明に係るデータ属性管理装置は、意味情報が各データを含む直上のディレクトリに記録されていることを特徴としている。
【００１３】
（５）この発明に係るデータ管理装置は、各データを含む第１のディレクトリに第１の部分意味情報が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分意味情報が記録されており、前記第１の部分意味情報と前記第２の部分意味情報とを統合して、前記意味情報を生成することを特徴としている。
【００１４】
したがって、意味情報を記録するための容量が節減でき、さらに、意味情報取得の際に、上位ディレクトリから部分意味情報を見ることによって、意味情報取得のための平均的な処理時間を短縮することができる。
【００１５】
（６）この発明に係るデータ管理装置は、属性ビット列が、各データに記録されていることを特徴としている。
【００１６】
（７）この発明に係るデータ管理装置は、属性ビット列が、各データを含むディレクトリに記録されていることを特徴としている。
【００１７】
したがって、各データのそれぞれに属性ビット列を記録した場合に比べ、属性ビット列を記録するための容量を少なくすることができる。
【００１８】
（８）この発明に係るデータ管理装置は、各データまたは各データを含む第１のディレクトリに第１の部分属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分属性ビット列が記録されており、前記第１の部分属性ビット列と前記第２の部分属性ビット列とを統合して、前記属性ビット列を生成することを特徴としている。
【００１９】
したがって、属性ビット列を記録するための容量が節減でき、さらに、属性ビット列取得の際に、上位ディレクトリから部分属性ビット列を見ることによって、属性ビット列取得のための平均的な処理時間を短縮することができる。
【００２０】
（９）この発明に係るデータ管理装置は、各データまたは各データを含む第１のディレクトリに個別的属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに総括的属性ビット列が記録されており、前記個別的属性ビット列が記録されていないデータまたは第１のディレクトリについては総括的属性ビット列を用い、前記個別的属性ビット列が記録されているデータまたは第１のディレクトリについては総括的属性ビット列を用いることを特徴としている。
【００２１】
したがって、属性ビット列を記録するための容量を節減しつつ、個別的な属性も表現することができる。
【００２２】
（１０）この発明に係る属性管理データは、管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録する属性ビット列記録領域と、前記管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録した意味情報記録領域とを備えている。
【００２３】
属性ビット列によって属性を記録しているので、属性記録の為の容量が少なくて済み、属性取得のための処理時間も短縮できる。また、ディレクトリに当該属性ビットの意味情報を記録しているので、意味情報記録のための容量を少なくすることができる。
【００２４】
（１１）この発明に係る属性管理データは、当該データの属性が、当該データの閲覧権限または書換権限であり、前記属性ビット列の各ビットが、それぞれのユーザの閲覧権限または書換権限を示すことを特徴としている。
【００２５】
したがって、各データに対する各ユーザの権限を効率的に管理することができる。
【００２６】
（１２）この発明に係る属性管理データは、意味情報が、各データを含む直上のディレクトリに記録されていることを特徴としている。
【００２７】
（１３）この発明に係る属性管理データは、各データを含む第１のディレクトリに第１の部分意味情報が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分意味情報が記録されていることを特徴としている。
【００２８】
したがって、意味情報を記録するための容量が節減でき、さらに、意味情報取得の際に、上位ディレクトリから部分意味情報を見ることによって、意味情報取得のための平均的な処理時間を短縮することができる。
【００２９】
（１４）この発明に係る属性管理データは、属性ビット列が、各データに記録されていることを特徴としている。
【００３０】
（１５）この発明に係る属性管理データは、属性ビット列が、各データを含むディレクトリに記録されていることを特徴としている。
【００３１】
したがって、各データのそれぞれに属性ビット列を記録した場合に比べ、属性ビット列を記録するための容量を少なくすることができる。
【００３２】
（１６）この発明に係る属性管理データは、各データまたは各データを含む第１のディレクトリに第１の部分属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに第２の部分属性ビット列が記録されていることを特徴としている。
【００３３】
したがって、属性ビット列を記録するための容量が節減でき、さらに、属性ビット列取得の際に、上位ディレクトリから部分属性ビット列を見ることによって、属性ビット列取得のための平均的な処理時間を短縮することができる。
【００３４】
（１７）この発明に係る属性管理データは、各データまたは各データを含む第１のディレクトリに個別的属性ビット列が記録され、前記第１のディレクトリを含む第２のディレクトリに総括的属性ビット列が記録されていることを特徴としている。
【００３５】
したがって、属性ビット列を記録するための容量を節減しつつ、個別的な属性も表現することができる。
【００３６】
（１８）この発明に係るデータ属性管理方法は、管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録するとともに、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録しておき、所望のデータの所望の属性を取得する際には、当該データを含むディレクトリに関連付けて記録されている意味情報を取得して、所望の属性が、属性ビット列中のいずれのビット位置によって示されるかを特定し、前記特定されたビット位置に基づいて、所望のデータに関連づけて記録されている属性ビット列中から、所望のデータの所望の属性を取得することを特徴としている。
【００３７】
属性ビット列によって属性を記録しているので、属性記録の為の容量が少なくて済み、属性取得のための処理時間も短縮できる。また、ディレクトリに当該属性ビットの意味情報を記録しているので、意味情報記録のための容量を少なくすることができる。
【００３８】
（１９）（２０）この発明に係るデータ属性記録装置は、管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録する属性ビット列記録手段と、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録する意味情報記録手段とを備えたことを特徴としている。
【００３９】
したがって、データ属性の管理を効率的に行うことができるように、データ属性を記録することができる。
【００４０】
（２１）この発明に係るデータ属性記録装置において、データの属性が、各ユーザの当該データに対する閲覧権限または書換権限であり、前記属性ビット列の各ビットは、それぞれのユーザの閲覧権限または書換権限を示すことを特徴としている。
【００４１】
したがって、各データに対する各ユーザの権限を効率的に管理することができる。
【００４２】
（２２）この発明に係るデータ属性記録装置は、管理対象となるデータに対する各ユーザの閲覧権限または書換権限を受けて、それぞれのユーザを１つのビット位置に対応づけて意味情報を生成して、当該データを含むディレクトリに記録し、各ユーザのビット位置に対応するように、各ユーザの閲覧権限または書換権限を示すビット列を生成して、管理対象データに記録することを特徴としている。
【００４３】
したがって、管理対象データに対し、その属性データを付加することができる。
【００４４】
（２３）この発明に係るデータ属性記録装置は、管理対象データ追加の際に、管理対象となるデータに対する各ユーザの閲覧権限または書換権限を受けて、当該管理対象データを含むディレクトリの意味情報を取得して、権限有とされているユーザの全てが、既にある意味情報に含まれているか否かを判断し、含まれていなければ、既にある意味情報に当該含まれていないユーザを追加して新たな意味情報を生成して、意味情報を更新することを特徴としている。
【００４５】
したがって、新たな管理対象データが記録された場合であっても、適切に属性データを記録することができる。
【００４６】
（２４）この発明に係るデータ属性記録方法は、管理対象となるデータの属性を受けて、当該属性を記録するデータ属性記録方法であって、管理対象となるデータごとに、複数ビットからなる属性ビット列を関連付けて記録し、管理対象となるデータを含むディレクトリに関連付けて前記属性ビット列の各ビットの意味を示す意味情報を記録することを特徴としている。
【００４７】
したがって、データ属性の管理を効率的に行うことができるように、データ属性を記録することができる。
【００４８】
この発明において、「データを含むディレクトリ」とは、当該データを直接的に含むディレクトリだけでなく、当該データを直接的に含むディレクトリを含むディレクトリも対象とする概念である。
【００４９】
「意味情報」とは、少なくとも、属性ビット列の各ビットが示す属性を他のビットと区別するための情報である。
【００５０】
「データの属性」とは、データがユーザに対して示す属性（閲覧の可否、書換の許否、実行の可否など）だけでなく、データが装置に対して示す属性、データが時間に対して示す属性など、様々な対象に対して示す属性を含む概念である。
【００５１】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【００５２】
【発明の実施の形態】
１．システムの構成
図２に、この発明に係るデータ属性管理を適用したデータベースのシステム構成を示す。サーバ１２には、文書などのデータが記録されている。サーバ１２は、ネットワーク１８を介して、クライエントコンピュータ１４・・・１６と通信可能である。各ユーザは、クライエントコンピュータ１４・・・１６を用いてサーバ１２にアクセスし、他データの検索・閲覧などを行うことができる。
【００５３】
図３に、サーバ１２のハードウエア構成を示す。ＣＰＵ３０には、メモリ２２、ディスプレイ２４、キーボード／マウス２６、通信回路２８、ハードディスク３２、ＣＤ−ＲＯＭドライブ３４が接続されている。メモリ２２は、ＣＰＵ３０の処理作業のためのワーク領域などを提供する。通信回路２８は、ネットワーク１８を介してクライエント１４・・・との通信を行う。
【００５４】
ハードディスク３２には、ＷＩＮＤＯＷＳ（商標）などのオペレーティングシステム３８、データベース管理プログラム４０、文書などのデータ４２が記録されている。データベース管理プログラム４０は、オペレーティングシステム３８と協働してその機能を達成する。なお、他の実施形態では、データベース管理プログラム４０が単独でその機能を発揮するようにしてもよい。
【００５５】
また、データベース管理プログラム４０は、ＣＤ−ＲＯＭ３６に記録されていたものを、ＣＤ−ＲＯＭドライブ３４を介して、ハードディスク３２にインストールしたものである。
【００５６】
なお、この実施形態では、サーバ１２にデータ４２が蓄積されているが、他のコンピュータにデータ４２を蓄積するようにしてもよい。
【００５７】
２．データ構造
ハードディスク３２に記録されているデータ４２の論理的構造を図４に示す。文書（ファイル）１１１α、文書１１１β・・・文書１１１φは、ディレクトリであるフォルダ１１１の下位に記録されている。同様に、文書１１２α・・・文書１１２εは、フォルダ１１２の下位に記録されている。
【００５８】
さらに、フォルダ１１１、１１２・・・は、フォルダ１１の下位に記録されている。また、フォルダ１１・・・は、キャビネット１の下位に記録されている。図では１つのキャビネットのみを示しているが、その他多くのキャビネットが記録されている。
【００５９】
図５に、キャビネット１が持つ構造情報を示す。キャビネット１は、どのフォルダまたは文書を有しているか（直下に有するか）を記録している。図では、キャビネット１が、フォルダ１１、１２・・・１９を有していることが示されている。他のキャビネットも同じ様な構造情報を有している。
【００６０】
図６に、フォルダ１１が持つ構造情報を示す。フォルダ１１は、どのフォルダまたは文書を有しているか（直下に有するか）を記録している。図では、フォルダ１１が、フォルダ１１１、１１２・・・１１７を有していることが示されている。他のフォルダ１２・・・１９も同じ様な構造情報を有している。
【００６１】
図７に、フォルダ１１１が持つ構造情報を示す。フォルダ１１１は、どのフォルダまたは文書を有しているか（直下に有するか）を記録している。図では、フォルダ１１１が、文書１１１α、１１１β・・・１１１φを有していることが示されている。他のフォルダ１１２・・・１１７も同じ様な構造情報を有している。
【００６２】
上記のようにして、図４に示すようにツリー構造にて管理された文書が記録されている。
【００６３】
この実施形態では、文書の直上のフォルダ１１１、１１２・・・に、意味情報が記録されている。図８に、フォルダ１１１が持つ意味情報を示す。この意味情報は、当該フォルダ１１１に記録されている各文書に記録されている閲覧権限ビット列の意味を示すものである。つまり、閲覧権限ビット列の各ビットが、どのユーザに対応するかを示すものである。
【００６４】
図８に示す意味情報では、上位第１ビットがユーザＡ、第２ビットがユーザＣ、第３ビットがユーザＤ・・・第１０ビットがユーザＷに対応することが示されている。
【００６５】
この実施形態では、各文書には、タイトル、キーワードに加えて、閲覧権限ビット列が記録されている。図９に文書１１１αに記録されている情報を示し、図１０に文書１１１βに記録されている情報を示す。閲覧権限ビット列は、複数のビットから構成されている。閲覧権限ビット列の各ビットは、意味情報によって決定されるユーザについて、当該文書の閲覧権限の有無を示している。「１」が権限有り、「０」が権限なしである。
【００６６】
意味情報と閲覧権限ビット列に注目して、フォルダと文書との構造的関係を示したのが図１１である。たとえば、文書１１１αの閲覧権限ビット列は「０１０１１１０１０１」であり、文書１１１αが含まれるフォルダ１１１の意味情報は「ＡＣＤＥＧＪＫＱＳＷ」である。したがって、ユーザＣ、Ｅ、Ｇ、Ｊ、Ｑ、Ｗには閲覧権限があり、ユーザＡ、Ｄ、Ｋ、Ｓには閲覧権限がないことが示されている。
【００６７】
３．データベース管理プログラム４０の処理
（１）閲覧権限の管理
図１２に、ユーザＥがクライエントコンピュータ１４を用いて、サーバ１２にアクセスし、文書の検索を行って閲覧する場合の処理を示す。左側はクライエントコンピュータ１４のブラウザプログラムの処理を示し、右側はサーバ１２のデータベース管理プログラム４０（閲覧権限管理部分）の処理を示す。
【００６８】
まず、クライエントコンピュータ１４は、ユーザＥの識別符号（ＩＤ）を伴ってサーバ１２にアクセスし、検索画面を要求する（ステップＳ１）。サーバ１２のＣＰＵ３０は、これを受けて、ユーザＥからのアクセスであることを認識した上、検索画面を返送する（ステップＳ１１）。クライエントコンピュータ１４は、この画面を表示する。
【００６９】
図１３に、検索画面を示す。検索条件入力のための入力ボックス５０と、検索実行ボタン５２が表示されている。ユーザＥは、入力ボックス５０に検索のためのキーワードを入力し、検索実行ボタン５２を押下する。これにより、クライエントコンピュータ１４は、入力された検索条件をサーバ１２に送信する（ステップＳ２）。
【００７０】
サーバ１２のＣＰＵ３０は、この検索条件を受信し、検索を実行する（ステップＳ１２）。たとえば、ユーザＥが「京都」というキーワードを入力した場合、各文書の「タイトル」もしくは「キーワード」の欄を検索して、これに「京都」という文字が含まれる文書を抽出する。たとえば、ここでは、文書１１１β、１１１δ、１１１ε、１１１π、１１１φ、１１２α、１１２δ、１１２ε、１１３β、１１３φ・・・が抽出されたものとする。
【００７１】
次に、サーバ１２のＣＰＵ３０は、閲覧権限リストを生成する（ステップＳ１３）。図１４に、閲覧権限リスト生成の詳細なフローチャートを示す。
【００７２】
まず、ＣＰＵ３０は、上記にて抽出した複数の文書のうち、最初の文書１１１βを対象文書とする（ステップＳ２１）。次に、ステップＳ２２において、ＣＰＵ３０は、対象文書１１１βが含まれるフォルダ１１１の意味情報を取得する（図１１参照）。ＣＰＵ３０は、取得した意味情報に、当該ユーザＥが含まれているかどうかを判断する（ステップＳ２３）。
【００７３】
ここでは、取得した意味情報にユーザＥが含まれているので、ステップＳ２４に進む。ステップＳ２４では、ＣＰＵ３０は、意味情報における当該ユーザＥのビット位置を特定する。ここでは意味情報が「ＡＣＤＥＧＪＫＱＳＷ」であるから、４ビット目であると特定することになる。
【００７４】
次に、ＣＰＵ３０は、対象文書１１１βの閲覧権限ビット列を取得する（ステップＳ２５）。そして、閲覧権限ビット列の４ビット目を参照して、閲覧権限があるかどうか（「１」かどうか）を判断する（ステップＳ２６）。この判断結果に基づいて、抽出した各文書についてのユーザＥの閲覧権限を示す閲覧権限リストに記録を行う（図１５参照）。
【００７５】
ここでは、対象文書１１１βの閲覧権限ビット列の４ビット目は「０」であるから、ＣＰＵ３０は、閲覧権限リストの文書１１１βに対して、権限「無」を記録する（ステップＳ２８）。
【００７６】
次に、ＣＰＵ３０は、抽出した全ての文書について上記の処理を行ったかどうかを判断する（ステップＳ３０）。未処理の文書が残っていれば、次の文書１１１δを対象文書とする（ステップＳ３１）。
【００７７】
続いて、ＣＰＵ３０は、次の文書１１１δが、先の文書１１１βと同じフォルダ内にあるかどうかを判断する（ステップＳ３１）。同じフォルダであれば、同一の意味情報を用いることができるからである。ここでは、対象文書１１１δは、先の文書１１１βと同じフォルダ１１１内にあるから、ステップＳ２５に進む。つまり、対象文書１１１δの閲覧権限ビット列を取得し（ステップＳ２５）、４ビット目が「１」か「０」かを判断し（ステップＳ２６）、閲覧権限リストへの書き込みを行う（ステップＳ２７またはＳ２８）。
【００７８】
上記の処理をくり返し、抽出文書１１１β〜１１１φについての閲覧権限の有無を、閲覧権限リストに記録する。
【００７９】
次に、文書１１２αを対象文書とする（ステップＳ３１）。ここで、文書１１２αは、先の文書１１１φとは異なるフォルダに記録されている。したがって、文書１１１φと同じ意味情報を用いることはできない。つまり、ステップＳ３２において、ステップＳ２２に進み、まず、文書１１２αが記録されているフォルダ１１２の意味情報の取得を行う。以下同様にして、文書１１２α、１１２δ、１１２εについての閲覧権限の有無を、閲覧権限リストに記録する。
【００８０】
また、文書１１３βを対象文書とした時には、そのフォルダ１１３の意味情報中に、ユーザＥが含まれていない。これにより、ユーザＥは、フォルダ１１３内のいずれの文書に対しても閲覧権限を有していないことが判明する。したがって、ＣＰＵ３０は、ステップＳ２９において、当該フォルダ１１３に含まれる抽出文書の全てに対して、権限無しの旨を閲覧権限リストに記録する（図１５参照）。
【００８１】
以上の各処理を、抽出した全ての文書について行うことにより、閲覧権限リストが完成する。ＣＰＵ３０は、この閲覧権限リストに基づいて検索結果画面をクライエントコンピュータ１４に送信する（図１２、ステップＳ１４）。ＣＰＵ３０は、閲覧権限有りとなっている文書についてはリンクを生成し、閲覧権限なしとなっている文書についてはリンクを生成しない。
【００８２】
クライエントコンピュータ１４は、送信されてきた検索結果画面を表示する（ステップＳ３）。図１６に、検索結果画面を示す。各文書のタイトルが表示されている。文書１１１β（タイトル「京都本社人員配置計画」）は、ユーザＥに閲覧権限がないので、リンクが生成されていない。文書１１１ε（タイトル「東京研究開発計画」）は、ユーザＥに閲覧権限があるので、リンクが生成されている。ユーザＥが、このリンクをクリックすると、サーバ１２は、当該文書１１１εの内容を送信してくる。これにより、ユーザＥは、文書１１１εの内容を閲覧することができる。
【００８３】
（２）閲覧権限の記録
なお、上記に示すような処理を実現するためには、各文書およびフォルダに意味情報と閲覧権限ビット列を記録しておかなければならない。
【００８４】
図１７に、サーバ１２に記録されている文書に閲覧権限を記録する処理（データベース管理プログラムの一部）を示す。ここでは、図４に示すようなディレクトリ構造にて記録されている文書に、閲覧権限を記録する場合を例として説明する。また、各ユーザの文書に対する閲覧権限の情報として、図１８に示すようなテーブルがデータとして与えられたものとする。図１８では、各行が文書を示しており、各列がユーザを示している。また、「０」が閲覧権限無し、「１」が閲覧権限有りを示している。なお、このテーブルにおいては、同じフォルダ内の文書が連続して記録されているものとする。
【００８５】
ＣＰＵ３０は、まず、最初の文書の属するフォルダを対象フォルダとする（ステップＳ５１）。ここでは、文書１１１αの属するフォルダ１１１が対象フォルダとなる。また、ＣＰＵ３０は、このフォルダ１１１に、文書１１１α〜文書１１１φが含まれていることを認識する。
【００８６】
次に、ＣＰＵ３０は、対象フォルダ内の少なくとも一つの文書に閲覧権限を有するユーザを選択する（ステップＳ５２）。このようにして選択したユーザに基づいて、意味情報を生成する（ステップＳ５３）。つまり、選択したユーザを順に並べて、意味情報を生成する。ここでは、ＡＣＤＥＧＪＫＱＳＷが生成される。生成した意味情報を、対象フォルダに記録する。
【００８７】
次に、ＣＰＵ３０は、上記において選択されたユーザの各文書に対する権限の有無を、図１８のテーブルから抽出し、各文書ごとに閲覧権限ビット列を生成する。生成した閲覧権限ビット列を、それぞれの文書に記録する（ステップＳ５４、図９、図１０参照）。
【００８８】
上記のようにして、一つのフォルダに対する処理が終わると、未処理のフォルダがあるかどうかを判断する（ステップＳ５５）。あれば、次のフォルダを対象フォルダとして、上記の各処理をくり返す（ステップＳ５６）。この処理を全てのフォルダについて行うことにより、閲覧権限を記録することができる。
【００８９】
（３）文書の追加
次に、文書が追加された場合の閲覧権限の記録処理について説明する。図１９は、この記録処理（データベース管理プログラムの一部）を示すフローチャートである。ここでは、追加文書１１３ωとともに、当該追加文書１１３ωをフォルダ１１３（図１１参照）に記録すべきこと、および図２０Ａに示すようにこの文書１１３ωに対して閲覧権限のあるユーザの情報がデータとして与えられたものとする。
【００９０】
まず、ＣＰＵ３０は、追加文書１１３ωが置かれるフォルダ１１３の意味情報を取得する。ここでは、意味情報として「ＡＪＫＺ」が得られる（図１１参照）。次に、ＣＰＵ３０は、追加文書に対して閲覧権限のあるユーザの全てが、この意味情報に含まれているかどうかを判断する（ステップＳ６２）。ここでは、追加文書１１３ωに対して閲覧権限があると示されたユーザＡおよびＪは、ともに意味情報「ＡＪＫＺ」に含まれている。したがって、ステップＳ６３に進む。
【００９１】
ステップＳ６３において、ＣＰＵ３０は、図２０Ａの情報に基づいて、閲覧権限ビット列を生成する。ここでは、ユーザＡとＫが権限を有しているので「１１００」が生成される。ＣＰＵ３０は、生成した閲覧権限ビット列を、当該文書１１３ωに記録する。
【００９２】
また、図２０Ｂに示すような閲覧権限を有する文書１１３πをフォルダ１１３に追加する場合には、次のように処理が行われる。ＣＰＵ３０は、まず、ステップＳ６１において、フォルダ１１３の意味情報「ＡＪＫＺ」を取得する。
【００９３】
次に、ＣＰＵ３０は、追加文書に対して閲覧権限のあるユーザの全てが、この意味情報に含まれているかどうかを判断する（ステップＳ６２）。ここでは、追加文書１１３πに対して閲覧権限があると示されたユーザＡ、Ｂ、Ｋ、Ｚのうち、Ｂが「ＡＪＫＺ」に含まれていない。したがって、ステップＳ６４に進む。
【００９４】
ステップＳ６４では、上記のユーザＢを含めた新たな意味情報を生成する。つまり、新しい意味情報「ＡＢＪＫＺ」が生成される。ＣＰＵ３０は、フォルダ１１３の意味情報を、この新しい意味情報で書き換える。つまり、意味情報の更新を行う。
【００９５】
続いて、ＣＰＵ３０は、追加文書１１３πについての閲覧権限ビット列を生成する（ステップＳ６５）。ここでは、「１１０１１」が生成される。さらに、当該意味情報を更新したフォルダに含まれる他の全ての文書についても、閲覧権限ビットを生成して記録する（ステップＳ６５）。追加文書だけでなく、他の文書についても閲覧権限ビットを生成するのは、意味情報が更新されたからである。
【００９６】
なお、上記では、文書を追加する場合の閲覧権限の記録について説明したが、閲覧権限を変更する場合と同様にして記録することができる。
【００９７】
４．その他の実施形態
なお、上記実施形態では、閲覧権限についての管理を例として示したが、文書の書換権限、閲覧および書換権限などの管理についても同様に行うことができる。また、２以上の権限を管理する場合には、それぞれの権限について意味情報および権限ビット列を用意してもよいし、２つの権限について共通の意味情報を用いるようにしてもよい。図２１に、意味情報を共通とし、閲覧権限ビット列と書換権限ビット列を文書に記録する場合の例を示す。
【００９８】
また、上記各実施形態では、文書を管理対象データとしているが、数値テーブルやプログラムなどを管理対象データとしてもよい。
【００９９】
また、上記実施形態では、文書に対する権限を管理対象として説明したが、文書のその他の属性（複製許可の有無、圧縮データか否か、プログラムを実行する権限があるかどうか等）をビット列によって示すようにしてもよい。
【０１００】
また、ビット列の各ビットはユーザに対応づけているが、端末装置、時間などに対応づけるようにしてもよい。たとえば、端末装置ごとにアクセス権限を定めたり、アクセス時間に応じてアクセスの可否がかわるような管理を行うなどの場合にも用いることができる。各ビットの意味を意味情報において示しておくことで、これらを実現できる。
【０１０１】
さらに、上記実施形態では、図１１に示すように、管理対象となる文書のすぐ上位のフォルダ（ディレクトリ）に意味情報を記録している。しかし、さらに上位のフォルダに意味情報を記録するようにしてもよい。
【０１０２】
また、図２２に示すように、上位のフォルダ２２２と、より上位のフォルダ２２の双方に分離して、意味情報を記録するようにしてもよい。この場合、フォルダ２２に記録されている部分意味情報は上位のビットの意味を示し、フォルダ２２２に記録されている部分意味情報は下位のビットを意味している。ＣＰＵ３０は、これら部分意味情報を結合して、意味情報を生成する。図２２の例では、文書２２２αに対しては、「ＡＣＪＭＢＫ」という意味情報が得られる。
【０１０３】
このように、意味情報を分離して記録することにより、意味情報を記録するための容量を少なくすることができる。
【０１０４】
なお、上記の例では、意味情報を２つのフォルダに分離して記録しているが、３以上のフォルダに分離して記録するようにしてもよい。この場合、より上位のフォルダほど、より上位のビット（またはより下位のビット）に対応するようにすることが好ましい。
【０１０５】
さらに、図２３に示すように、権限ビット列を分離して記録してもよい。文書には下位ビットである部分権限ビット列を記録し、その上位のフォルダには上位ビットである部分権限ビット列を記録する。ＣＰＵ３０は、これら部分権限ビット列を結合して、権限ビット列を生成する。図２３の例では、文書２２２αに対しては、「１１０１１１」という権限ビット列が得られる。
【０１０６】
このように、権限ビット列を分離して記録することにより、権限ビット列を記録するための容量を少なくすることができる。
【０１０７】
なお、上記の例では、権限ビット列を文書とフォルダの２つに分離して記録しているが、３以上に分離して記録するようにしてもよい。この場合、より上位のフォルダほど、より上位のビット（またはより下位のビット）に対応するようにすることが好ましい。
【０１０８】
さらに、図２４に示すように、権限ビット列を記録するようにしてもよい。この例では、フォルダ２２２に意味情報「ＡＢＤＥＦ」が記録されている。さらに、フォルダ２２２に、権限ビット列「１１０１１」が記録されている。文書２２２αには、権限ビット列が記録されていない。したがって、文書２２２αが含まれるフォルダ２２２の権限ビット列「１１０１１」をそのまま用いる。
【０１０９】
一方、文書２２２βには、権限ビット列「１１１０１」が記録されている。したがって、文書２２２βについては、権限ビット列「１１１０１」を用いる。
【０１１０】
このようにすれば、フォルダに権限ビット列を記録して記録容量を減らしつつ、特定の文書に対する特別な権限の取り扱いを示すことができる。
【０１１１】
なお、上記各実施形態では、サーバとクライエントを備えたシステムとして示したが、スタンドアローンのコンピュータにも適用することができる。
【図面の簡単な説明】
【図１】従来の権限管理テーブルの作成処理を示す図である。
【図２】この発明の一実施形態によるデータ属性管理を提供したデータベースシステムの全体構成を示す図である。
【図３】サーバ１２のハードウエア構成を示す図である。
【図４】データ４２のデータ構造を示す図である。
【図５】キャビネット１が持つ構造情報を示す図である。
【図６】フォルダ１１が持つ構造情報を示す図である。
【図７】フォルダ１１１が持つ構造情報を示す図である。
【図８】フォルダ１１１が持つ意味情報を示す図である。
【図９】文書１１１αに記録されている情報を示す図である。
【図１０】文書１１１βに記録されている情報を示す図である。
【図１１】フォルダに記録された意味情報と文書に記録された閲覧権限ビット列とを示す図である。
【図１２】検索処理を示すフローチャートである。
【図１３】検索画面を示す図である。
【図１４】閲覧権限リスト生成のフローチャートである。
【図１５】閲覧権限リストを示す図である。
【図１６】検索結果画面を示す図である。
【図１７】意味情報と閲覧権限ビット列の記録処理を示すフローチャートである。
【図１８】各文書に対する各ユーザの閲覧権限を示すテーブルである。
【図１９】文書追加時における意味情報と閲覧権限ビット列の記録処理を示すフローチャートである。
【図２０】文書に対する各ユーザの閲覧権限を示すデータである。
【図２１】文書１１１αに記録されている情報を示す図である。
【図２２】他の実施形態による意味情報の記録を示す図である。
【図２３】他の実施形態による権限ビット列の記録を示す図である。
【図２４】他の実施形態による権限ビット列の記録を示す図である。
【符号の説明】
１２・・・サーバ
１４・・・クライエントコンピュータ
１６・・・クライエントコンピュータ
４０・・・データベース管理プログラム
４２・・・データ
【図１】
2005018336.tif 000003
【図２】
2005018336.tif 000004
【図３】
2005018336.tif 000005
【図４】
2005018336.tif 000006
【図５】
2005018336.tif 000007
【図６】
2005018336.tif 000008
【図７】
2005018336.tif 000009
【図８】
2005018336.tif 000010
【図９】
2005018336.tif 000011
【図１０】
2005018336.tif 000012
【図１１】
2005018336.tif 000013
【図１２】
2005018336.tif 000014
【図１３】
2005018336.tif 000015
【図１４】
2005018336.tif 000016
【図１５】
2005018336.tif 000017
【図１６】
2005018336.tif 000018
【図１７】
2005018336.tif 000019
【図１８】
2005018336.tif 000020
【図１９】
2005018336.tif 000021
【図２０】
2005018336.tif 000022
【図２１】
2005018336.tif 000023
【図２２】
2005018336.tif 000024
【図２３】
2005018336.tif 000025
【図２４】
2005018336.tif 000026