(57)【特許請求の範囲】
【請求項１】
被管理装置に格納され、木構造で管理される管理対象の情報（管理オブジェクトインスタンス。以下、ＭＯＩと呼ぶ。）に、ネットワークを介してアクセスする際、そのアクセスの可否を制御するアクセス制御方法において、
前記被管理装置はアクセス制御機能を備え、
前記アクセス制御機能は、
記号”ｎ”を名前木を構成するＭＯＩの個数、記号”［ｘ］”を数値ｘの少数部分を切り上げた整数および記号”XOR”を排他論理和とし、”１”または”０”からなるＭＯＩの識別名のビット列を、Ｎ＝［log2ｎ］で与えられるＮビット毎のｍ個のブロックＢi（１≦ｉ≦ｍ）に分割する識別名分割ステップと、ｍ番目のブロックＢmにビット不足が生じる場合、値”０”を充当するステップと、各ブロックＢiの第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj＝b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する排他論理和計算ステップと、排他論理和の計算結果ＣjをＣ1からＣNまで順に並べ、識別名のインデックスinとして、Ｎビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成するビット列作成ステップとにより、名前木上のＭＯＩの識別名をインデックスに変換する識別名変換処理と、
管理操作対象となるＭＯＩの範囲を名前木上で指定するスコープについて、該スコープが網羅するＭＯＩを表す、大きさｎの配列”scope[] ”を、
scope［in］＝１ （ＭＯＩinがこのスコープに網羅される場合）
scope［in］＝０ （上記以外の場合）
として求めるスコープ列挙処理とを実行して、
scope［in］＝１であるＭＯＩinのみに、ＭＯＩをアクセス制御の単位として、アクセスを許可することを特徴とするアクセス制御方法。
【請求項２】
被管理装置に格納され、木構造で管理される管理対象の情報（管理オブジェクトインスタンス。以下、ＭＯＩと呼ぶ。）に、ネットワークを介してアクセスする際、そのアクセスの可否を制御するアクセス制御方法において、
前記被管理装置はアクセス制御機能を備え、
前記アクセス制御機能は、
記号”ｎ”を名前木を構成するＭＯＩの個数、記号”［ｘ］”を数値ｘの少数部分を切り上げた整数および記号”XOR”を排他論理和とし、”１”または”０”からなるＭＯＩの識別名のビット列を、Ｎ＝［log2ｎ］で与えられるＮビット毎のｍ個のブロックＢi（１≦ｉ≦ｍ）に分割する識別名分割ステップと、ｍ番目のブロックＢmにビット不足が生じる場合、値”０”を充当するステップと、各ブロックＢiの第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj＝b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する排他論理和計算ステップと、排他論理和の計算結果ＣjをＣ1からＣNまで順に並べ、識別名のインデックスinとして、Ｎビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成するビット列作成ステップとにより、名前木上のＭＯＩの識別名をインデックスに変換する識別名変換処理と、
ある権限に対して開放対象となるＭＯＩの範囲を名前木上で指定するターゲットについて、該ターゲットが網羅するＭＯＩを表す、大きさｎの配列”targets[] ”を、
targets［in］＝１ （ＭＯＩinが開放される場合）
targets［in］＝０ （上記以外の場合）
として求めるターゲット列挙処理とを実行して、
targets［in］＝１であるＭＯＩinのみに、ＭＯＩをアクセス制御の単位として、アクセスを許可することを特徴とするアクセス制御方法。
【請求項３】
被管理装置に格納され、木構造で管理される管理対象の情報（管理オブジェクトインスタンス。以下、ＭＯＩと呼ぶ。）に、ネットワークを介してアクセスする際、そのアクセスの可否を制御するアクセス制御方法において、
前記被管理装置はアクセス制御機能を備え、
前記アクセス制御機能は、
記号”ｎ”を名前木を構成するＭＯＩの個数、記号”［ｘ］”を数値ｘの少数部分を切り上げた整数および記号”XOR”を排他論理和とし、”１”または”０”からなるＭＯＩの識別名のビット列を、Ｎ＝［log2ｎ］で与えられるＮビット毎のｍ個のブロックＢi（１≦ｉ≦ｍ）に分割する識別名分割ステップと、ｍ番目のブロックＢmにビット不足が生じる場合、値”０”を充当するステップと、各ブロックＢiの第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj＝b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する排他論理和計算ステップと、排他論理和の計算結果ＣjをＣ1からＣNまで順に並べ、識別名のインデックスinとして、Ｎビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成するビット列作成ステップとにより、名前木上のＭＯＩの識別名をインデックスに変換する識別名変換処理と、
管理操作対象となるＭＯＩの範囲を名前木上で指定するスコープについて、該スコープが網羅するＭＯＩを表す、大きさｎの配列”scope[] ”を、
scope［in］＝１ （ＭＯＩinがこのスコープに網羅される場合）
scope［in］＝０ （上記以外の場合）
として求めるスコープ列挙処理と、
ある権限に対して保護対象となるＭＯＩの範囲を名前木上で指定するターゲットについて、該ターゲットが網羅するＭＯＩを表す、大きさｎの配列”targets[] ”を、
targets［in］＝１ （ＭＯＩinが保護される場合）
targets［in］＝０ （上記以外の場合）
として求めるターゲット列挙処理と、
前記”scope[] ”と、前記”targets[] ”の下記数１で表される否定とのビット毎の論理積を計算して、管理操作対象と保護対象との交わりを求める交わり検出処理とを実行して、
前記論理積の結果が“１”であるＭＯＩinのみに、ＭＯＩをアクセス制御の単位として、アクセスを許可することを特徴とするアクセス制御方法。
【数１】
0003691624.tif 000018
【請求項４】
被管理装置に格納され、木構造で管理される管理対象の情報（管理オブジェクトインスタンス。以下、ＭＯＩと呼ぶ。）に、ネットワークを介してアクセスする際、そのアクセスの可否を制御するアクセス制御方法において、
前記被管理装置はアクセス制御機能を備え、
前記アクセス制御機能は、
記号”ｎ”を名前木を構成するＭＯＩの個数、記号”［ｘ］”を数値ｘの少数部分を切り上げた整数および記号”XOR”を排他論理和とし、”１”または”０”からなるＭＯＩの識別名のビット列を、Ｎ＝［log2ｎ］で与えられるＮビット毎のｍ個のブロックＢi（１≦ｉ≦ｍ）に分割する識別名分割ステップと、ｍ番目のブロックＢmにビット不足が生じる場合、値”０”を充当するステップと、各ブロックＢiの第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj＝b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する排他論理和計算ステップと、排他論理和の計算結果ＣjをＣ1からＣNまで順に並べ、識別名のインデックスinとして、Ｎビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成するビット列作成ステップとにより、名前木上のＭＯＩの識別名をインデックスに変換する識別名変換処理と、
管理操作対象となるＭＯＩの範囲を名前木上で指定するスコープについて、該スコープが網羅するＭＯＩを表す、大きさｎの配列”scope[] ”を、
scope［in］＝１ （ＭＯＩinがこのスコープに網羅される場合）
scope［in］＝０ （上記以外の場合）
として求めるスコープ列挙処理と、
ある権限に対して開放対象となるＭＯＩの範囲を名前木上で指定するターゲットについて、該ターゲットが網羅するＭＯＩを表す、大きさｎの配列”targets[] ”を、
targets［in］＝１ （ＭＯＩinが開放される場合）
targets［in］＝０ （上記以外の場合）
として求めるターゲット列挙処理と、
前記”scope[] ”と、前記”targets[] ”とのビット毎の論理積を計算して、管理操作対象と開放対象との交わりを求める交わり検出処理とを実行して、
前記論理積の結果が“１”であるＭＯＩinのみに、ＭＯＩをアクセス制御の単位として、アクセスを許可することを特徴とするアクセス制御方法。
【請求項５】
被管理装置に格納され、木構造で管理される管理対象の情報（管理オブジェクトインスタンス。以下、ＭＯＩと呼ぶ。）に、ネットワークを介してアクセスする際、そのアクセスの可否を制御するアクセス制御方法において、
前記被管理装置はアクセス制御機能を備え、
前記アクセス制御機能は、
記号”ｎ”を名前木を構成するＭＯＩの個数、記号”［ｘ］”を数値ｘの少数部分を切り上げた整数および記号”XOR”を排他論理和とし、”１”または”０”からなるＭＯＩの識別名のビット列を、Ｎ＝［log2ｎ］で与えられるＮビット毎のｍ個のブロックＢi（１≦ｉ≦ｍ）に分割する識別名分割ステップと、ｍ番目のブロックＢmにビット不足が生じる場合、値”０”を充当するステップと、各ブロックＢiの第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj＝b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する排他論理和計算ステップと、排他論理和の計算結果ＣjをＣ1からＣNまで順に並べ、識別名のインデックスinとして、Ｎビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成するビット列作成ステップとにより、名前木上のＭＯＩの識別名をインデックスに変換する識別名変換処理と、
管理操作対象となるＭＯＩの範囲を名前木上で指定するスコープについて、該スコープが網羅するＭＯＩを表す、大きさｎの配列”scope[] ”を、
scope［in］＝１ （ＭＯＩinがこのスコープに網羅される場合）
scope［in］＝０ （上記以外の場合）
として求めるスコープ列挙処理と、
ある権限に対して保護対象となるＭＯＩ又は開放対象となるＭＯＩの範囲を名前木上で指定するターゲットについて、該ターゲットが網羅するＭＯＩを表す、大きさｎの配列”targets[] ”を、
targets［in］＝１ （ＭＯＩinが保護または開放される場合）
targets［in］＝０ （上記以外の場合）
として求めるターゲット列挙処理と、
前記”scope[] ”と、前記”targets[] ”の下記数２で表される否定とのビット毎の論理積を計算し、管理操作対象と保護対象との交わりを求めると共に、
前記”scope[] ”と、前記”targets[] ”とのビット毎の論理積を計算して、管理操作対象と開放対象との交わりを求めてる交わり検出処理とを実行して、
前記論理積の結果が“１”であるＭＯＩinのみに、ＭＯＩをアクセス制御の単位として、アクセスを許可することを特徴とするアクセス制御方法。
【数２】
0003691624.tif 000019
【請求項６】
請求項３乃至請求項５のいずれかに記載のアクセス制御方法において、
前記スコープ列挙処理は、
管理操作対象となるＭＯＩの範囲を名前木上で指定する全てのスコープ毎に、該スコープが網羅するＭＯＩを表す、大きさｎの配列”scope[] ”を、
scope［in］＝１ （ＭＯＩinがこのスコープに網羅される場合）
scope［in］＝０ （上記以外の場合）
として求め、
スコープとそのスコープが網羅するＭＯＩの対応表を作成すると共に、該対応表から所望の配列”scope[] ”を選択することを特徴とするアクセス制御方法。
【請求項７】
請求項６に記載のアクセス制御方法において、
名前木に新たにＭＯＩmaが追加される場合、
前記スコープ列挙処理は、
追加するＭＯＩmaの上位ＭＯＩm1から根ＭＯＩmpまでの経路上のＭＯＩを、ＭＯＩm1から順に、ＭＯＩm1、ＭＯＩm2、・・・、ＭＯＩmpとし、
前回作成されたスコープとそのスコープが網羅するＭＯＩの対応表に対して、
それぞれのＭＯＩmi（１≦ｉ≦ｐ）をベースオブジェクトインスタンス（以下、ＢＯＩと呼ぶ）とする BaseTojthLevel スコープ（ｉ≦ｊ）、 WholeSubtree スコープおよび ithLevelOnly スコープに、それぞれＭＯＩmaを追加して、
スコープとそのスコープが網羅するＭＯＩの対応表を更新することを特徴とするアクセス制御方法。
【請求項８】
請求項６に記載のアクセス制御方法において、
名前木から既存の或るＭＯＩmdが削除される場合、
前記スコープ列挙処理は、
削除されるＭＯＩmdの上位ＭＯＩm1から根ＭＯＩmp までの経路上のＭＯＩを、ＭＯＩm1から順に、ＭＯＩm1、ＭＯＩm2、・・・、ＭＯＩｍpとし、
前回作成されたスコープとそのスコープが網羅するＭＯＩの対応表に対して、
それぞれのＭＯＩmi（１≦ｉ≦ｐ）をＢＯＩとする BaseTojthLevel スコープ（ｉ≦ｊ）、 WholeSubtree スコープおよび ithLevelOnly スコープから、ＭＯＩmdを削除して、
スコープとそのスコープが網羅するＭＯＩの対応表を更新することを特徴とするアクセス制御方法。
【請求項９】
請求項６乃至請求項８のいずれかに記載のアクセス制御方法において、
前記ターゲット列挙処理は、
前記対応表から所望の配列”targets[] ”となる配列を選択することを特徴とするアクセス制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＯＳＩ管理における管理情報ベースのアクセス制御方法に関し、特に、アクセス制御の単位（粒度）を管理オブジェクトインスタンスとするアクセス制御方法に関する。また、本発明はＭＯＩの識別名変換方法、スコープ列挙方法、ターゲット列挙方法および交わり検出方法にも関する。
【０００２】
【従来の技術】
先ず、発明の背景として、木に関する用語、ＯＳＩ管理に基づくネットワーク管理、管理オブジェクトインスタンスと名前木、スコープとフィルタおよびアクセス制御方式に関するITU-T勧告 X.741の概要を、それぞれ説明する。
【０００３】
［木に関する用語］
木に関する”親”等の用語を、以下にまとめて説明する。
【０００４】
頂点を１つ以上持つ集合Ｔは、下記条件▲１▼と▲２▼を満たす時、木 (tree) と呼ぶ。
条件▲１▼：集合Ｔは根 (root) と呼ばれる１つの特別な頂点を持つ。
条件▲２▼：集合Ｔの根以外の頂点の集合は空集合か、あるいは互いに共通集合を持たない１つ以上の木Ｔ1 、・・・、Ｔm に分割される。これらを木Ｔの直接の部分木と呼ぶ。
【０００５】
直接の部分木を１つも持たない木の根を葉 (leaf) と呼び、根でも葉でもない頂点を内点と呼ぶ。図１９に９個の白丸０〜８を頂点とする木Ｔの例を示す。
【０００６】
図１９では、頂点０が根である。木Ｔの直接の部分木は２つあり、１つは頂点１だけからなる部分木Ｔ1 であり、もう１つは頂点２、３、４、５、６、７および８からなる部分木Ｔ2 である。部分木Ｔ1 は直接の部分木を持たないので、部分木Ｔ1 の根、つまり頂点１は木Ｔの葉である。
【０００７】
また、ある頂点ｖを根とする木Ｔの直接の部分木に含まれる頂点をｖの子孫 (descendant) と呼ぶ。この時、直接の部分木の根を頂点ｖの子 (child)と呼ぶ。子から見て頂点ｖを親 (parent) と呼ぶ。図１９では、頂点２の子孫は頂点３、４、５、６、７および８であり、頂点２の子は頂点３、４および５である。頂点３、４および５の親は頂点２である。
【０００８】
さらに、木Ｔの根からＴの各頂点へ至る経路の長さをその頂点のレベル (level)といい、これらの経路の最大の長さをＴの深さ (depth)という。図１９では、根である頂点０から葉である頂点６、７または８に至る経路の長さが最大であり、深さは３となる。
【０００９】
表１に、図１９の木Ｔの各頂点の種類 (根、内点または葉のいずれか）、親、子、子孫およびレベルをそれぞれ示す。
【００１０】
【表１】
0003691624.tif 000002
【００１１】
［ＯＳＩ管理に基づくネットワーク管理］
ＯＳＩ（Open System Interconnection : 開放型システム間相互接続）管理に基づくネットワーク管理システムにおいては、実際の管理対象を抽象的に表現したものを管理オブジェクト（Managed Object：以下、ＭＯと略す）として定義し、マネージャシステムとエージェントシステム間で、ＣＭＩＳ（Common Management Information Service : 共通管理情報サービス) を用いてＭＯの情報を交換する。文献１「ITU-T. Rec. X.711, Common Management Information Protocol Specification for ITU-T Applications, Mar. 1991.」、および、文献２「大鐘久生，TCP/IPとOSIネットワーク管理〜SNMPとCMIP〜，ソフト・リサーチ・センター，1993．」参照。以下の説明では、マネージャシステムを単にマネージャと略し、エージェントシステムを単にエージェントと略す。
【００１２】
図１に、ＯＳＩ管理に基づくネットワーク管理の概略を示す。図１において、ネットワーク管理は、ネットワーク管理システムと被管理装置で行われる。ネットワーク管理システムは管理コンソール１１と、マネージャ１２から構成され、被管理装置はエージェント１３とＭＩＢ（Management Information Base : 管理情報ベース）１４から構成される。ＭＩＢ１４には、転送パケット総数、受信パケット総数、誤りを含む受信パケット総数等のＭＯ群が格納されている。そして、マネージャ１２とエージェント１３間で、ネットワーク管理プロトコル（ＣＭＩＰ：共通管理情報プロトコル）により、ネットワーク１５を通してＭＯに関する管理情報を交換することで、ネットワーク管理を実現する。
【００１３】
例えば、マネージャ１２が「今までに受信したパケット総数の取得」という管理操作１６を発行すると、エージェント１３はＭＩＢ１４の内容から「８８個」という応答１７を返す。
【００１４】
［管理オブジェクトインスタンスと名前木］
ＭＯに関して、同じ性質を持つＭＯの種類を管理オブジェクトクラス (Managed Object Class：以下、ＭＯＣと略す）と呼び、あるＭＯＣに属する実体１つ 1つを管理オブジェクトインスタンス（Managed Object Instance : 以下、ＭＯＩと略す）と呼ぶ。図２（Ａ）にＭＯＣの一例として、プリンタＭＯＣ１８を示し、また同図（Ｂ）にＭＯＩの一例として、プリンタＭＯＣ１８に属するプリンタＭＯＩ１９を示す。
【００１５】
名前木に関して、図３に示すように、複数のＭＯＩ２０（白丸）は互いの関係に従って、論理的な名前木 (Naming Tree)を構成する。ＭＯＩ群は木構造で管理され、ＭＩＢ１４に格納される。名前木の具体例として、ＸＸＸという通信キャリア２１の名前木２２を示す。
【００１６】
［スコープとフィルタ］
ＣＭＩＳでは、マネージャとエージェントの通信回数を削減するために、1 回の管理操作で複数のＭＯＩを操作可能とするスコープパラメータとフィルタパラメータ（以下、単にスコープおよびフィルタと呼ぶ) がある。一般には、オペレータやアプリケーションプログラムがスコープやフィルタの設定を行う。
【００１７】
スコープとは管理操作の対象となるＭＯＩの範囲を名前木上で指定するパラメータであり、スコープを使う時には範囲指定の基点となるベースオブジェクトインスタンス（Base Object Instance :  以下、ＢＯＩと略す) を指定する。表２にＣＭＩＳで規定される４種類のスコープ（ BaseObject スコープ、 BaseToNthLevel スコープ（N は非負整数）、 NthLevelOnly スコープ（N は非負整数）および WholeSubtree スコープ）の定義を示し、図４に各スコープの具体例を示す。図４では黒丸のＭＯＩ２３がＢＯＩである。
【００１８】
【表２】
0003691624.tif 000003
【００１９】
即ち、
▲１▼ BaseObject スコープは、図４（Ａ）に示すように、ＢＯＩ（ベースオブジェクトインスタンス）２３のみを管理操作対象とする。
▲２▼ BaseToNthLevel スコープは、図４（Ｂ）に示すように、ＭＯＩ２３を含み、かつ、同ＢＯＩ２３から第N(図4(B)では N=2)レベル下位にあるＭＯＩ群を管理操作対象とする。
▲３▼ NthLevelOnly スコープは、図４（Ｃ）に示すように、ＢＯＩ２３から丁度第N(図4(C)では N=3) レベル下位にあるＭＯＩ群のみを管理操作対象とする。
▲４▼ WholeSubtree スコープは、図４（Ｄ）に示すように、ＢＯＩ２３を含み、かつ、同ＢＯＩ２３の下位レベルにあるＭＯＩ群全てを管理操作対象とする。
【００２０】
フィルタとはスコープで指定された範囲内にあるＭＯＩ群から管理操作対象をさらに特定するパラメータであり、ＭＯＩの属性値の大小や一致、または、ＭＯＩの属性自体の存在等を論理式で表したものである。この論理式を満足するＭＯＩが最終的な管理操作対象になる。図２のプリンタＭＯＩ１９の属性を使ったフィルタの例を示すと、（接続インタフェース＝ＲＳ２３２Ｃ）ａｎｄ（過去１時間のプリントページ数＞５０）などがある。ここで、ａｎｄは論理積を表す。
【００２１】
［ITU-T勧告 X.741によるアクセス制御の概要］
通信キャリア間の相互接続等のため、ＯＳＩ管理に基づくネットワーク管理システムは公開される方向にあり、アクセス制御を始めとするセキュリティ機能の重要性が高まっている。ITU-T勧告 X.741では、管理情報ベース（以下、ＭＩＢと呼ぶ）へのアクセス制御のためのＭＯＣとして、”initiators”ＭＯＣ、”targets ”ＭＯＣ、”rule”ＭＯＣが規定され、さらにこれらを用いてアクセスの拒否と許可を決定する手順が示されている。文献３「ITU-T. Rec. X.741, System Management : Object and attributes for access control, Dec. 1995. 」参照。
【００２２】
即ち、
▲１▼”initiators”ＭＯＣとは、管理操作の発行元（イニシエータと称される）を表すＭＯＣである。
▲２▼”targets ”ＭＯＣとは、ある権限に対して保護すべきＭＩＢ、または、ある権限に対して開放すべきＭＩＢを表すＭＯＣである。保護対象や開放対象はターゲットと称され、共にスコープとフィルタで指定する。
▲３▼”rule”ＭＯＣとは、”initiators”ＭＯＣと”targets ”ＭＯＣから、アクセスの拒否および許可の決定をするための５種類の規則（ルール）を表すＭＯＣである。
▲４▼”rule”ＭＯＣの５種類の規則には、図５に示すように、管理操作の全ての対象へのアクセスを拒否するグローバル拒否規則、管理操作のある対象へのアクセスを拒否するアイテム拒否規則、管理操作の全ての対象へのアクセスを許可するグローバル許可規則、管理操作のある対象へのアクセスを許可するアイテム許可規則、およびこれら４種類のいずれの規則でも拒否または許可の決定ができない時に適用するデフォルト規則がある。
▲５▼アクセスの拒否と許可の決定は、図５におけるステップＳ１〜Ｓ５の手順により行う。最初はステップＳ１で、適用可能なグローバル拒否規則の存否を判断し、同規則が存在すればアクセスを全て拒否し、存在しなければ次のステップＳ２に進む。ステップＳ２では、適用可能なアイテム拒否規則の存否を判断し、同規則が存在すればアクセス制御の単位（粒度）に応じたアクセス拒否を行い、ステップＳ３に進む。存在しなければ次のステップＳ３に進む（粒度については、次項の説明を参照）。ステップＳ３では、適用可能なグローバル許可規則の存否を判断し、同規則が存在すればアクセスを全て許可し、存在しなければ次のステップＳ４に進む。ステップＳ４では、適用可能なアイテム許可規則の存否を判断し、同規則が存在すればアクセス制御の単位（粒度）に応じたアクセス許可を行い、ステップＳ５に進む。存在しなければ最後のステップＳ５に進む。ステップＳ５では、デフォルト規則に応じて、アクセス許可またはアクセス拒否を行う。デフォルト規則は通常、アクセスを拒否するように設定される。
【００２３】
アイテム拒否規則およびアイテム許可規則によるアクセス制御の単位 (粒度）は、管理操作（粒度粗）、管理操作で対象となるＭＯＩ（粒度中）、および管理操作で対象となるＭＯＩの属性（粒度細）のいずれかである。どの粒度の場合も、アクセスの拒否と許可の決定には管理操作対象と保護対象との交わりを決定したり、開放対象に含まれる管理操作対象を決定するアルゴリズムが必要となる。
【００２４】
しかし、このアルゴリズムはITU-T勧告X.741では全く規定していない。
【００２５】
次に、従来の技術を説明する。
【００２６】
［従来技術：粒度を管理操作とするアクセス制御方式］
文献４「大野, 依田, 藤井, 通信網オペレーションシステムにおけるアクセス制御適用法, 信学技報, CS94(39):19-24, Jun. 1994.」により、既に、粒度を管理操作とするアクセス制御方式が報告されている。
【００２７】
この従来のアクセス制御方式を、図６および表３を例にして説明する。ただし、図６は名前木Ｔの一例を示し、ＡからＮまでのＭＯＩで構成される。この名前木Ｔに対して、表３に示すように、”initiators”ＭＯＩ、”targets ”ＭＯＩ、および”rule”ＭＯＩが定義されているものとする。図６の名前木Ｔ上の各ＭＯＩを個別に指す時はＭＯＩA 、ＭＯＩB 、ＭＯＩC 、・・・、およびＭＯＩN と呼ぶ。
【００２８】
【表３】
0003691624.tif 000004
【００２９】
表３の例では、”initiators”ＭＯＣに属するＭＯＩとして、 initiators Ｘと initiators Ｙを定義している。 initiators Ｘは管理操作の発行元Ｘを表すＭＯＩであり、 initiators Ｙは発行元Ｙを表すＭＯＩである。また、”targets ”ＭＯＣに属するＭＯＩとして、 targets１と targets２を定義している。 targets１は図６の名前木Ｔ上のＭＯＩC 、ＭＯＩF 、ＭＯＩG およびＭＯＩJ を保護対象または開放対象とするＭＯＩであり、 targets2 はＭＯＩD 、ＭＯＩF およびＭＯＩG を保護対象または開放対象とするＭＯＩである。さらに、”rule”ＭＯＣに属するＭＯＩとして、 rule １、 rule ２および rule ３を定義している。 rule １は targets１に対する発行元Ｘの管理操作を拒否するというアイテム拒否規則、 rule ２は targets２に対する発行元Ｙの管理操作を許可するというアイテム許可規則、ならびに rule ３は全ての発行元からの管理操作を拒否するというデフォルト規則である。
【００３０】
［図６および表３の例でのアクセス拒否の決定（アイテム拒否規則の処理）］
例えば、initiator Ｘ（発行元Ｘ）からＭＯＩJ をＢＯＩとする” WholeSubtree スコープ”を持つ管理操作が発行されると、表３により、アイテム拒否規則 rule １が適用される。この時、図７に示すように、管理操作対象２４中のＭＯＩJ が保護対象２５に含まれるため、この管理操作は拒否される。
【００３１】
この例のように、管理操作を粒度とするアクセス制御では、管理操作対象の一部と保護対象が交わりを持つと、この管理操作は拒否される。
【００３２】
［図６および表３の例でのアクセス許可の決定（アイテム許可規則の処理）］
例えば、表３より、initiator Ｙ（発行元Ｙ）からＭＯＩA をＢＯＩとする” 2ndLevelOnly スコープ”を持つ管理操作が発行されると、表３により、アイテム許可規則 rule 2 が適用される。この時、図８に示すように、管理操作対象２６中のＭＯＩE が開放対象２７に含まれないため、この管理操作は許可されない。
【００３３】
この例のように、管理操作を粒度とするアクセス制御では、管理操作対象の全てが開放対象に含まれなければ、この管理操作は許可されない。
【００３４】
【発明が解決しようとする課題】
上述したように、粒度を管理操作とする従来のアクセス制御では、管理操作対象と保護対象が交わりを持つと、アクセスが拒否されていないにも関わらずアクセスが拒否されてしまうＭＯＩが生じる問題がある。
【００３５】
また、粒度を管理操作とする従来のアクセス制御では、管理操作対象と保護対象が交わりを持つと、アクセスが許可されているにも関わらず実際にはアクセスが許可されないＭＯＩが生じる問題がある。
【００３６】
上記の問題点は、粒度をＭＯＩとするアクセス制御では生じない。そこで、本発明の課題は、粒度をＭＯＩとする新たなアクセス制御方法を提供すること、さらには、ＭＯＩの識別名変換方法、スコープ列挙方法、ターゲット列挙方法および交わり検出方法を提供することにある。
【００３７】
【課題を解決するための手段】
この出願の発明は、アクセスの拒否および許可の決定時間を従来技術よりも削減するため、前処理を設ける。この前処理では、スコープとそのスコープが網羅するＭＯＩの集合の対象表を作成する。そして、管理操作が発行される度にこの対象表を参照し、管理操作対象と保護対象との交わりを決定したり、開放対象に含まれる管理操作対象を求め、アクセスの拒否および許可を高速に行う。
【００３８】
即ち、本発明では、名前木上のＭＯＩの識別名をインデックスに変換する。記号”ｎ”を名前木を構成するＭＯＩの個数、記号”［ｘ］”を数値ｘの少数部分を切り上げた整数および記号”XOR”を排他論理和とする時、”１”または”０”からなる識別名のビット列を、Ｎ＝［log2ｎ］で与えられるＮビット毎のｍ個のブロックＢi （１≦ｉ≦ｍ）に分割する識別名分割ステップ、各ブロックＢi の第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj ＝ b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する排他論理和計算ステップ、および排他論理和の計算結果Ｃj をＣ1 からＣN まで順に並べ、識別名のインデックスとして、Ｎビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成するビット列作成ステップにより、識別名をインデックスに変換する。ただし、ｍ番目のブロックＢm にビット不足が生じる場合は値”０”を充当する。
【００３９】
また、管理操作に指定され得るすべてのスコープ毎に、スコープが網羅するＭＯＩを表す大きさｎの配列”scope[] ”を、
scope[i]＝１    （ＭＯＩi がこのスコープに網羅される場合）
scope[i]＝０    （上記以外の場合）
として求める。
名前木に新たにＭＯＩｍa が追加される場合は、追加するＭＯＩｍa の上位ＭＯＩｍ1 から根ＭＯＩｍp までの経路上のＭＯＩを、ＭＯＩｍ1 から順に、ＭＯＩｍ1 、ＭＯＩｍ2 、・・・、ＭＯＩｍp とし、それぞれのＭＯＩｍi （１≦ｉ≦ｐ）をベースオブジェクトインスタンス（以下、ＢＯＩと呼ぶ）とする BaseTojthLevel スコープ（ｉ≦ｊ）、 WholeSubtree スコープおよび ithLevelOnly スコープに、それぞれＭＯＩｍa を追加する。
名前木から既存の或るＭＯＩｍd が削除される場合は、削除されるＭＯＩｍd の上位ＭＯＩｍ1 から根ＭＯＩｍp までの経路上のＭＯＩを、ＭＯＩｍ1 から順に、ＭＯＩｍ1 、ＭＯＩｍ2 、・・・、ＭＯＩｍp とし、それぞれのＭＯＩｍi （１≦ｉ≦ｐ）をＢＯＩとする BaseTojthLevel スコープ（ｉ≦ｊ）、 WholeSubtree スコープおよび ithLevelOnly スコープから、ＭＯＩｍd を削除する。
【００４０】
また、targetesＭＯＩ毎に、保護または開放するＭＯＩを表す大きさｎの配列”targets[] ”を、
targets[i]＝１  （ＭＯＩi が保護または開放される場合）
targets[i]＝０  （上記以外の場合）
として求める。
【００４１】
さらに、管理操作に指定され得るすべてのスコープ毎に、スコープとそのスコープが網羅するＭＯＩの対応表を作成する。
【００４２】
そして、上記方法で求めた”scope[] ”と上記方法で求めた保護対象を表す各”targets[] ”の否定とのビット毎の論理積を計算して、管理対象と保護対象との交わりを求める。
また、上記方法で求めた”scope[] ”と上記方法で求めた開放対象を表す各”targets[] ”とのビット毎の論理積を計算して、管理対象と開放対象との交わりを求める。
【００４３】
［アクセスの拒否および許可の決定］
さらには、アイテム拒否規則の各”targets[] ”を上記方法で求め、この各”targets[] ”の否定と上記方法で求めた”scope[] ”とのビット毎の論理積を計算するステップと、計算の結果、scope[i]＝１であるＭＯＩのみにアクセスを許可するステップから、ＭＯＩを単位としてアクセス制御を行う。
また、アイテム許可規則の各”targets[] ”を上記方法で求め、この各”targets[] ”に対して上記方法で求めた”scope[] ”とのビット毎の論理積を計算するステップと、計算の結果、scope[i]＝１であるＭＯＩのみにアクセスを許可するステップから、ＭＯＩを単位とするアクセス制御を行う。
このようなアクセス制御方法では、M-CREATEやM-GET 等の管理操作による名前木の動的な変化にも対応することができる。つまり、M-CREATEやM-GET 等の管理操作によって名前木にＭＯＩが新たに生成追加されたり、既存のＭＯＩが名前木から削除されることがある。これにより、対応表を更新しなければならない。本出願では、対応表全体を再構成するのではなく、変更すべき部分だけを容易に修正する方法も提案している。
【００４４】
【発明の実施の形態】
以下、本発明の実施の形態例を、図面を参照して説明する。図９に本出願が提供するアクセス制御方法の全体的フローチャート、図１０に前処理のフローチャート、図１１に前処理における識別名変換ステップのフローチャート、図１２に前処理における列挙ステップのフローチャート、図１３に列挙ステップの例示ための名前木、図１４に本出願が提供するアクセス制御方法のアクセス拒否および許可決定手続きのフローチャート、図１５にＭＯＩ追加時の対応表更新手続きのフローチャート、図１６にＭＯＩ追加時の対応表更新手続きの具体例、図１７にＭＯＩ削除時の対応表更新手続きのフローチャート、および図１８にＭＯＩ削除時の対応表更新手続きの具体例をそれぞれ示す。
【００４５】
［粒度をＭＯＩとするアクセス制御方法の概要］
、図９により、アクセス制御方法全体を概略的に説明する。ステップＳ０により、高速なアクセス拒否および許可を実現するために、アクセス制御の対象となる名前木に前処理を行う。前処理では、管理操作に指定され得るすべてのスコープ毎に、スコープが網羅するＭＯＩを求める。この前処理は１回行なえば十分である。
【００４６】
前処理の後、ステップＳ１で管理操作が発行されると、次のステップＳ２に移る。ステップＳ２では、前処理の対応表作成ステップ作成した対応表を用いて、アクセスの拒否および許可の決定を行なう。
【００４７】
M-CREATEやM-GET 等の管理操作により、名前木のＭＯＩが生成または削除され、名前木の構成が変更されることがある。そのため、次のステップＳ３にてＭＯＩの生成又は削除が生じるか否かの判定を行い、名前木の構成が変更される時には、次回の管理操作のアクセスの拒否または許可を決定する前に、ステップＳ４にて対応表の更新処理を行う。
【００４８】
［前処理の概要］
前処理では、図１０に示すように、始めにステップＳ１（識別名変換ステップ）にてＭＯＩの識別名の変換を行ない、その後ステップＳ２（列挙ステップ）にて、管理操作で指定され得るすべてのスコープ毎にスコープが網羅するＭＯＩを求め、その後ステップＳ３（対応表作成ステップ）にて、スコープとそのスコープが網羅するＭＯＩの集合との対応表を作成する。
【００４９】
［前処理の詳細その１：識別名変換ステップ］
ＭＯＩの識別名はＡＳＮ．１（Abstract Syntax Ntation.１：抽象構文表記法１）のＢＥＲ（Basic Encoding Rules：基本符号化規則）等に従って符号化される。文献５「ITU-T. Rec. X.690, ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER), 1994．」参照。
【００５０】
そこで、符号化されたＭＯＩの識別名に、図１１に示す手順でインデックスを割り当てることにより、識別名変換をおこなう。アクセスの拒否および許可は、このインデックスを使って決定する。
【００５１】
図１１中の記号で、”ｒ”は入力されたＭＯＩの”１”と”０”からなる識別名を表し、”｜ｒ｜”は識別名”ｒ”の長さ（ビット数）を表す。また、”ｎ”は名前木上のＭＯＩの個数、”Ｎ”は識別名”ｒ”に付与するインデックスのビット数、および”［ｘ］”は数値ｘの小数部分を切り上げた整数をそれぞれ表すものとする。さらに、排他論理和（演算子をXORで表す) を、次の数３のように定義する。
【００５２】
【数３】
0003691624.tif 000005
【００５３】
図１１に示す識別名変換ステップにおいては、
（１）識別名ｒを持つＭＯＩの入力により変換を開始する。
（２）ステップＳ１で、名前木上のＭＯＩの個数ｎに対してＮ＝［log2ｎ］なる演算処理を行い、Ｎを求める。即ち、ＭＯＩの個数ｎに対して対数演算と少数部分切り上げを行った数Ｎのビット列（インデックス）で、ｎ個全てのＭＯＩを表すことができる。
（３）次に、ステップＳ２で、識別名ｒを、Ｎビット毎のｍ個のブロックＢi（１≦ｉ≦ｍ）に分割する。ｍ番目のブロックＢm にはビット不足が生じることがあるが、その時は、不足分に値”０”を充当する。
（４）ステップＳ３で、各ブロックＢiの第ｊビットｂij（１≦ｊ≦Ｎ）の排他論理和Ｃj ＝ b1j XOR b2j XOR b3j XOR・・・ XOR bmjを計算する。
（５）上記排他論理和Ｃjの計算結果から、識別名ｒをＮビットのインデックス”Ｃ1Ｃ2Ｃ3 ・・・ＣN ”に変換して出力する。即ち、排他論理和の計算結果ＣjをＣ1からＣNまで順に並べてＮビットのビット列Ｃ1Ｃ2Ｃ3・・・ＣNを作成し、これを識別名ｒのインデックスとして出力する。
（６）このインデックスは、名前木上のｎ個のＭＯＩに対して、十進法で０からｎ−１までの番号を割り当てることになる。また、排他論理和の演算により、識別名間で番号が重複することがない。さらに、識別名ｒの長さは名前木上の各ＭＯＩで異なるためが、インデックスＣ1Ｃ2Ｃ3・・・ＣNに変換することにより、長さを一定にすることができる。また、変換によって識別名の長さはこれよりも短いインデックスに変換されるため、ＭＯＩへのアクセスが高速化する。
【００５４】
ここで、識別名変換の具体例を、入力識別名がｒ＝10001000 00001110 10110001 00010000 11000100 00011000 、名前木上のＭＯＩの個数がｎ＝100である場合について示す。
（１）ステップＳ１で、インデックスのビット数はＮ＝[log2 100]＝[6.6438...]＝７となる。
（２）ステップＳ２では、識別名の長さ｜ｒ｜＝４８であるから、ｍの値は４８をＮ＝７で割った商６に１を加えた整数７となり、識別名ｒをＮ＝７ビット毎の７個のブロックＢｉ（１≦ｉ≦７）に分割する。また、Ｎ×ｍ−｜ｒ｜＝４９−４８＝１であるから、最終ブロックＢ7の第７ビット目に値”０”を充当する。結果は下記の通りである。
Ｂ1 ＝1000100 、Ｂ2 ＝0000011 、Ｂ3 ＝1010110 、
Ｂ4 ＝0010001 、Ｂ5 ＝0000110 、Ｂ6 ＝0010000 、
Ｂ7 ＝0110000
（３）各ブロックＢｉ（１≦ｉ≦７）の第１ビットｂi1を例に挙げると、ｂ11＝１、ｂ21＝０、ｂ31＝１、ｂ41＝０、ｂ51＝０、ｂ61＝０およびｂ71＝０であることにより、ステップＳ３の排他論理和の結果、インデックスの第１ビットの値Ｃ1 が、
0003691624.tif 000006
となる。
（４）同様に、各ブロックＢｉ（１≦ｉ≦７）の第２、第３、・・・、および第７ビット毎に排他論理和を取ることにより、インデックスの第２〜７ビットは、Ｃ2＝１、Ｃ3＝０、Ｃ4＝０、Ｃ5＝１、Ｃ6＝１およびＣ7＝０となる。
（５）従って、ビット列Ｃ1Ｃ2Ｃ3Ｃ4Ｃ5Ｃ6Ｃ7＝0100110 より、識別名ｒは”0100110 ”に変換される。
【００５５】
［前処理の詳細その２：列挙ステップ］
列挙ステップでは、図１２に示す手順により、管理操作で指定され得るすべてのスコープに対してスコープが網羅するＭＯＩの集合を求める。そのため、大きさｎ×ｎの行列Ａ、および大きさｎ×ｎの行列Ｃを下記数４〜７のように定義する。行列Ａは名前木を表す接続行列である。図１２のステップＳ１２において、 BaseTo(i-1)thLevel スコープはｉ＝１の時に BaseTo0thLevel スコープとなるが、これは BaseObject スコープと見なす。
【００５６】
【数４】
（ａij）＝１  （名前木Ｔで、インデックスｉなるＭＯＩi がインデックスｊなるＭＯＩj の親の時）
（ａij）＝０  （上記以外の時）
但し、（ａij）はｎ×ｎ行列Ａの第ｉ行、第ｊ列の要素である。
【数５】
Ａ0 ＝Ｅ（単位行列）
【数６】
Ａi ＝Ａ＊Ａ(i-1)     （ｉ≧１）
【数７】
Ｃi ＝Ａ0 ＋Ａ1 ＋Ａ2 ＋・・・＋Ａi 
【００５７】
図１２において、
（１）ステップＳ１では、行列ＡD+1 ＝０となるまで、Ａx とＣx （１≦ｘ≦Ｄ）を計算する。但し、Ｄは名前木Ｔの深さである。
（２）ステップＳ２では、ｉ＝１即ちＡi ＝Ａ＊Ａ(i-1) ＝Ａと初期化する。
（３）ステップＳ３では、インデックスがｊのＭＯＩをＭＯＩj とするとき、ｊ＝０と初期化する。
（４）ステップＳ４では、あるｉで即ち或る行列Ａi でＭＯＩj が次のステップＳ５の条件を満足したか否かを判定し、満足しなければステップＳ５へ、満足すればステップＳ８へ進む。
（５）ステップＳ５では、ある行列Ａi のＭＯＩj を行とする要素、即ちＡi のj 行の要素を（ａi jk）と表すとき、全てのｋについて（ａi jk）＝０であるか否かを判定し、満足しなければステップＳ６へ、満足すればステップＳ１２へ進む。
（６）ステップＳ６では、ＭＯＩj をＢＯＩとするithLevelOnlyスコープは（ａi jk）＝１のＭＯＩk を網羅すると判定し、ステップＳ７へ進む。
（７）ステップＳ７では、行列Ｃi のＭＯＩj を行とする要素、即ちＣi のj 行の要素を（ｃi jk）と表すとき、ＭＯＩj をＢＯＩとするBaseToithLevelスコープは（ｃi jk）＝１のＭＯＩk を網羅すると判定し、ステップＳ８へ進む。
（８）ステップＳ１２では、ＭＯＩj をＢＯＩとするWholeSubtreeスコープをBaseTo(i-1)thLevelスコープとし、ステップＳ８へ進む。
（９）ステップＳ８では、ｊを１だけ増加し、ステップＳ９へ進む。
（１０）ステップＳ９では、ｊがｎ未満か否かを判定し、判断が真であればステップＳ４へ戻り、偽であればステップＳ１０へ進む。
（１１）ステップＳ１０では、ｉを１だけ増加、即ち行列Ａi をＡi+1 に、行列Ｃi をＣi+1 にし、ステップＳ１１へ進む。
（１２）ステップＳ１１では、ｉがＤ＋１未満か否かを判定し、判断が真であればステップＳ３へ戻り、偽であれば処理を終了する。
【００５８】
［列挙ステップの具体例］
ここで、図１３に示す名前木Ｔについて、列挙ステップの具体例を説明する。
図１３に示す名前木Ｔの接続行列Ａは、下記数８で与えられるものとする。なお、行列は第０行、第０列から始まるものとする。
【００５９】
【数８】
0003691624.tif 000007
【００６０】
（１）図１２のステップＳ１にて、数６及び数７により、Ａ2,Ａ3,Ａ4 並びにＣ2,Ｃ3 が下記数９〜数１３のように求まる。
【００６１】
【数９】
0003691624.tif 000008
【数１０】
0003691624.tif 000009
【数１１】
0003691624.tif 000010
【数１２】
0003691624.tif 000011
【数１３】
0003691624.tif 000012
【００６２】
（２）ステップＳ２でｉ＝１、ステップＳ３でｊ＝０とする。
（３）ステップＳ４では、ＭＯＩj (=ＭＯＩ0) がステップＳ５の条件を満足しないので、ステップＳ４の判断は偽となり、ステップＳ５へ進む。
（４）ステップＳ５では、すべての k について（ａ10k ）は”０”ではない。つまり、行列Ａの第０行の要素はすべて”０”ではないので、ステップＳ５の判断は偽となり、ステップＳ６へ進む.
（５）ステップＳ６では、ＭＯＩj （＝ＭＯＩ0 ）をＢＯＩとする ith (= 1st)LevelOnly スコープは（ａ101 ）＝１と（ａ102 ）＝１より、ＭＯＩ1 とＭＯＩ2 を網羅する。
（６）ステップＳ７では、ＭＯＩj （＝ＭＯＩ0 ）をＢＯＩとする BaseToith (= BaseTo1stLevel) スコープは（ｃ100 ）＝１，（ｃ101 ）＝１，および（ｃ102 ）＝１よりＭＯＩ0 ，ＭＯＩ1 ，ＭＯＩ2 を網羅する。
（８）ステップＳ８でｊ＝ｊ＋１＝０＋１＝１となり、ｊ＝１＜ｎ＝８よりステップＳ９での判断は真となり、ステップＳ４へ進む。
（９）ステップＳ４では、ＭＯＩj （＝ＭＯＩ1 ）がステップＳ５の判断を満足しないので、ステップＳ４の判断は偽となり、ステップＳ５へ進む。
（１０）ステップＳ５では、すべてのｋについて（ａ11k ）は”０”である。つまり、行列Ａの第１行の要素はすべて”０”なので、ステップＳ５の判断は真となり、ステップＳ１２へ進む。
（１１）ステップＳ１２では、ＭＯＩj （＝ＭＯＩ1 ）をＢＯＩとする WholeSubtree スコープを BaseTo(i-1)th (= BaseTo0thLevel つまりBaseObject) とする。
（１２）以下同様に処理を繰り返し、スコープ毎に、スコープが網羅するＭＯＩの集合を求める。
【００６３】
［対応表作成ステップ］
上記の結果より、スコープとそのスコープが網羅するＭＯＩとの対応表を作成する。表４に図１３の名前木Ｔの対応表の一部を示す。即ち、管理操作に指定され得る全てのスコープをスコープの種類とＢＯＩとの組み合わせで表し、このようにして得られたすべてのスコープ毎にスコープが網羅するＭＯＩを表す大きさｎの配列scope[] を、
scope[i]＝１    （ＭＯＩi がこのスコープに網羅される場合）
scope[i]＝０    （上記以外の場合）
として求めることにより対応表を作成している。
【００６４】
【表４】
0003691624.tif 000013
【００６５】
次に、表３並びに図７と図８を例として、アクセス拒否および許可の決定手続きを説明する。図１４に、ＭＯＩを単位とするアクセス拒否および許可決定手続きのフローチャートを示す。
【００６６】
［アクセス拒否の決定例］
図７の例では、名前木上のＡ〜ＮのＭＯＩのうち管理操作の対象がＪ，Ｌ，Ｍ及びＮである。従って、ＭＯＩi がスコープに網羅される場合をscope[i]＝１、これ以外の場合をscope[i]＝０として大きさｎ（Ａ〜Ｎ）の配列”scope[] ”を表すと、下記のようになる。また、表３ではアイテム拒否規則rule１で、イニシエータＸのtargets １（ＭＯＩC ，ＭＯＩF ，ＭＯＩG ，ＭＯＩj ）へのアクセスを拒否する。従って、ＭＯＩi が保護される場合をtargets[i]＝１、これ以外の場合をtargets[i]＝０として大きさｎの配列”targets[] ”を表すと、下記のようになる。
0003691624.tif 000014
となる。ただし、図７に示す名前木の対応表を上述の対応表作成ステップで予め作成しておくことにより、図７の管理操作対象はＭＯＩj をＢＯＩとする WholeSubtree スコープで指定され得るから、このスコープが網羅するＭＯＩを表す大きさｎ（＝１４）の配列”scope[] ”が 0 0 0 0 0 0 0 0 0 1 0 1 1 1であると迅速且つ簡単に求まる。
【００６７】
図１４のステップＳ３により，”targets[] ”の要素のビット毎の論理否定（１１０１１００１１０１１１１）をとり、これと”scope[] ”とのビット毎の論理積をとる。これにより、”scope[] ”は、
0003691624.tif 000015
となる。
【００６８】
つまり、ＭＯＩJ だけがアクセス拒否され、ＭＯＩL ，ＭＯＩM 及びＭＯＩN へのアクセスは拒否されない。
【００６９】
［アクセス許可の決定例］
図８の例では、名前木上のＡ〜ＮのＭＯＩのうち管理操作の対象がＤ，Ｅ，Ｆ及びＧである。従って、ＭＯＩi がスコープに網羅される場合をscope[i]＝１、これ以外の場合をscope[i]＝０として大きさｎ（Ａ〜Ｎ）の配列”scope[] ”を表すと、下記のようになる。また、表３ではアイテム許可規則rule２で、イニシエータＹのtargets ２（ＭＯＩD ，ＭＯＩF ，ＭＯＩG ）へのアクセスを許可する。従って、ＭＯＩi が開放される場合をtargets[i]＝１、これ以外の場合をtargets[i]＝０として大きさｎの配列”targets[] ”を表すと、下記のようになる。
0003691624.tif 000016
となる。この場合も、図８に示す名前木の対応表を上述の対応表作成ステップで予め作成しておくことにより、図８の管理操作対象はＭＯＩA をＢＯＩとする 2ndLevelOnly スコープで指定され得るから、このスコープが網羅するＭＯＩを表す大きさｎ（＝１４）の配列”scope[] ”が 0 0 0 1 1 1 1 0 0 0 0 0 0 0であると迅速且つ簡単に求まる。
【００７０】
図１４のステップＳ４により、”targets[] ”と” scope[]”とのビット毎の論理積をとる。これにより、”scope[] ”は、
0003691624.tif 000017
となる。
【００７１】
つまり、ＭＯＩD ，ＭＯＩF 及びＭＯＩG へのアクセス許可が決定される。
【００７２】
［対応表の更新］
次に、対応表の更新手続きを説明する。
【００７３】
M-CRETATE や M-DELETE 等の管理操作でＭＯＩが生成追加あるいは削除されることにより、名前木の構成が変更されることがある。これにより、表４に示す対応表の更新が必要になる。
【００７４】
［ＭＯＩの生成］
名前木に新たにＭＯＩｍa が追加された時の対応表更新ステップを図１５に示す。
（１）ステップＳ１で、追加するＭＯＩｍa の上位ＭＯＩｍ1 から根ＭＯＩｍp までの経路上のＭＯＩを、ＭＯＩｍ1 から順に、ＭＯＩｍ1 、ＭＯＩｍ2 、・・・、およびＭＯＩｍp とする。
（２）ステップＳ２で、対応表において、それぞれのＭＯＩｍi （１≦ｉ≦ｐ）をＢＯＩとする BaseTojthLevel スコープ（ｉ≦ｊ）、 WholeSubtree スコープ、および ithLevelOnly スコープに、それぞれＭＯＩｍa を追加する。
【００７５】
［ＭＯＩ生成の具体例］
図１６に示す名前木ＴのＭＯＩ5 （＝ｍ1 ）の子としてＭＯＩ8 （＝ｍa ）が追加される時の更新手続き例を説明する
▲１▼ステップＳ１：接続行列Ａの第 5（＝ｍ1 ）列の値が”１”である第 2（＝ｍ2 ）行がＭＯＩ5 （＝ｍ1 ）の親である。同様に、第 2（＝ｍ2 ）列の値が  ”１”である第 0（＝ｍ3 ）行がＭＯＩ2 （＝ｍ2 ）の親である。ＭＯＩ0 は根であるので、ＭＯＩｍ1 ＝ＭＯＩ5 ，ＭＯＩｍ2 ＝ＭＯＩ2 ，ならびにＭＯＩｍ3 ＝ＭＯＩ0 （根）となる。
▲２▼ステップＳ２：ＭＯＩｍ1 をＢＯＩとする BaseTojthLevel （１≦ｊ）、 WholeSubtree および  1stLevelOnlyスコープにＭＯＩ8 （＝ｍa ）を追加する。ＭＯＩｍ2 をＢＯＩとする BaseTojthLevel （２≦ｊ）、 WholeSubtree 、および  2ndLevelOnlyスコープにＭＯＩ8 （＝ｍa ）を追加する。ＭＯＩｍ3 をＢＯＩとする BaseTojthLevel （３≦ｊ）、 WholeSubtree 、および 3rdLevelOnly スコープにＭＯＩ8 （＝ｍa ）を追加する。つまり、これらの該当するスコープにおいて sucope[8]＝１を追加し、それ以外のスコープにおいては sucope[8]＝０を追加する。
【００７６】
［ＭＯＩの削除］
名前木から既存のＭＯＩｍd が削除された時の対応表更新ステップを図１７に示す。
（１）ステップＳ１で、削除するＭＯＩｍd の上位ＭＯＩｍ1 から根ＭＯＩｍp までの経路上のＭＯＩを、ＭＯＩｍ1 から順に、ＭＯＩｍ1 、ＭＯＩｍ2 、・・・、およびＭＯＩｍp とする。
（２）ステップＳ２で、対応表において、それぞれのＭＯＩｍi （１≦ｉ≦ｐ）をＢＯＩとする BaseTojthLevel スコープ（ｉ≦ｊ）、 WholeSubtree スコープ、および ithLevelOnly スコープから、それぞれＭＯＩｍd を削除する。
【００７７】
［ＭＯＩ削除の具体例］
図１８に示す名前木ＴのＭＯＩ3 の子であるＭＯＩ7 が削除される時の更新手続き例を説明する。
▲１▼ステップＳ１：接続行列Ａの第 7（＝ｍd ）列の値が”１”である第 3（＝ｍ1 ）行がＭＯＩ7 （＝ｍd ）の親である。同様に、第 3（＝ｍ1 ）列の値が  ”１”である第 2（＝ｍ2 ）行がＭＯＩ3 （＝ｍ1 ）の親であり、第２（＝ｍ2 ）列の値が  ”１”である第 0（＝ｍ3 ）行がＭＯＩ2 （＝ｍ2 ）の親である。ＭＯＩ0 は根であるので、ＭＯＩｍ1 ＝ＭＯＩ3 、ＭＯＩｍ2 ＝ＭＯＩ2 ならびにＭＯＩｍ3 ＝ＭＯＩ0 (根) となる。
▲２▼ステップＳ２：ＭＯＩｍ1 をＢＯＩとする BaseTojthLevel （１≦ｊ）、 WholeSubtree および 1stLevelOnly スコープからＭＯＩ7 （＝ｍd ）を削除する。ＭＯＩｍ2 をＢＯＩとする BaseTojthLevel （２≦ｊ）、 WholeSubtree および 2ndLevelOnly スコープからＭＯＩ7 （＝ｍd ）を削除する。ＭＯＩｍ3 をＢＯＩとする BaseTojthLevel （３≦ｊ）、 WholeSubtreeおよび 3rdLevelOnly スコープからＭＯＩ7 （＝ｍd ）を削除する。つまり、これらの該当するスコープにおいて sucope[7]＝１を削除し、それ以外のスコープにおいては sucope[7]＝０を削除する。
【００７８】
上述した各種処理は通常コンピュータにより実行される。つまり、上記各種処理の手順をプログラミングし、コンピュータが読み取り可能なデータにして記録媒体に記録しておき、このデータをコンピュータが読み取って処理を実行する。従って、コンピュータは上記各処理を実行する機能を有する装置となる。
【００７９】
【発明の効果】
本発明アクセス制御方法は、従来技術に比較して、下記（１）（２）の効果がある。
（１）従来技術の管理操作単位でのアクセス制御方法より、計算量が小さい。
（２）よりきめ細かい、管理オブジェクトインスタンス単位でのアクセス制御を可能にする。
【００８０】
また、ＭＯＩの識別名をインデックスに変換することにより、識別名のビット長さを統一することができ、また、ＭＯＩへアクセスが高速化する。列挙処理により、管理操作に指定され得るすべてのスコープがそれぞれ網羅するＭＯＩを簡潔且つ明瞭に表すことができ、また、保護対象または開放対象も簡潔且つ明瞭に表すことができる。対応表の更新により、名前木におけるＭＯＩの追加または削除に対して生じる各スコープが網羅するＭＯＩの変更に、簡単且つ容易に対応することができる。さらに、”targets[] ”と” scope[]”とのビット毎の論理演算により、スコープと保護対象あるいは開放対象との交わりを簡単且つ容易に求めることができる。
【図面の簡単な説明】
【図１】ＯＳＩ管理に基づくネットワーク管理の概要を示す図。
【図２】管理オブジェクトクラス（ＭＯＣ）と管理オブジェクトインスタンス（ＭＯＩ）の例を示す図。
【図３】名前木の例を示す図。
【図４】４種類のスコープの例を示す図。
【図５】  ITU-T 勧告X.741 によるアクセス拒否および許可の決定手順を示す図。
【図６】名前木の例を示す図。
【図７】従来技術におけるアイテム拒否規則の適用例を示す図。
【図８】従来技術におけるアイテム許可規則の適用例を示す図。
【図９】本発明の実施の形態に係るアクセス制御方法全体のフローチャートを示す図。
【図１０】前処理のフローチャートを示す図。
【図１１】識別名変換変換ステップのフローチャートを示す図。
【図１２】列挙ステップのフローチャートを示す図。
【図１３】列挙ステップの例示のための名前木を示す図。
【図１４】本発明の実施の形態に係るアクセス制御方法のアクセス拒否および許可決定手続きのフローチャートを示す図。
【図１５】ＭＯＩ追加時の対応表更新手続きのフローチャートを示す図。
【図１６】ＭＯＩ追加時の対応表更新手続きの具体例を示す図。
【図１７】ＭＯＩ削除時の対応表更新手続きのフローチャートを示す図。
【図１８】ＭＯＩ削除時の対応表更新手続きの具体例を示す図。
【図１９】用語説明のための木を示す図。
【符号の説明】
１１  管理コンソール
１２  マネージャ
１３  エージェント
１４  ＭＩＢ（管理情報ベース）
１５  ネットワーク
１６  管理操作要求
１７  管理操作応答
１８  管理オブジェクトクラス
１９  管理オブジェクトインスタンス
２０  管理オブジェクトインスタンス
２１  通信キャリア
２２、Ｔ  名前木
２３  ＢＯＩ（ベースオブジェクトインスタンス）
２４、２６  管理操作対象
２５  保護対象
２７  開放対象
【図１】
0003691624.tif 000020
【図２】
0003691624.tif 000021
【図３】
0003691624.tif 000022
【図４】
0003691624.tif 000023
【図５】
0003691624.tif 000024
【図６】
0003691624.tif 000025
【図７】
0003691624.tif 000026
【図８】
0003691624.tif 000027
【図９】
0003691624.tif 000028
【図１０】
0003691624.tif 000029
【図１１】
0003691624.tif 000030
【図１２】
0003691624.tif 000031
【図１３】
0003691624.tif 000032
【図１４】
0003691624.tif 000033
【図１５】
0003691624.tif 000034
【図１６】
0003691624.tif 000035
【図１７】
0003691624.tif 000036
【図１８】
0003691624.tif 000037
【図１９】
0003691624.tif 000038