(57)【特許請求の範囲】
【請求項１】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段と、コンテキスト抽出手段と、名前解決手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記名前解決手段は、前記コンテキスト保持手段内の前記名前変換手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に対して出力するとともに第１の資源実現表現を名前解決結果として出力するものであり、前記コンテキスト選択手段は、コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力するものであり、前記コンテキスト抽出手段は、前記コンテキスト選択手段が出力したコンテキスト検索式に基づいて前記コンテキスト検索手段が検索を行なった結果を入力とし検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力することを特徴とする資源管理装置。
【請求項２】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段と、名前解決手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、前記コンテキスト選択手段からの要求に応じコンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記名前解決手段は、前記コンテキスト保持手段内の前記名前変換手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に対して出力するとともに第１の資源実現表現を名前解決結果として出力するものであり、前記コンテキスト選択手段は、前記コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力して検索結果をもとに検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対して前記コンテキスト表現を要求し得られたコンテキスト表現の集合を出力することを特徴とする資源管理装置。
【請求項３】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段と、コンテキスト抽出手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記コンテキスト選択手段は、前記コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力するものであり、前記コンテキスト抽出手段は、前記コンテキスト選択手段が出力したコンテキスト検索式に基づいて前記コンテキスト検索手段が検索を行なった結果を入力とし検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力することを特徴とする資源管理装置。
【請求項４】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記コンテキスト選択手段からの要求に応じコンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記コンテキスト選択手段は、前記コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力して検索結果をもとに検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対してコンテキスト表現を要求し得られたコンテキスト表現の集合を出力することを特徴とする資源管理装置。
【請求項５】
前記計算機システム内に実在する実資源を指定するための資源データベースと、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索する資源データベース検索手段と、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を有することを特徴とする請求項１ないし４のいずれか１項に記載の資源管理装置。
【請求項６】
前記計算機システム内に実在する実資源を指定するための資源データベースと、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索する資源データベース検索手段を設け、前記コンテキスト保持手段は、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段をさらに有し、前記コンテキスト抽出手段は、前記資源実現手段の情報を含めたコンテキスト表現の集合を出力することを特徴とする請求項３または４に記載の資源管理装置。
【請求項７】
前記コンテキスト表現は、前記コンテキスト保持手段と等価なコンテキスト保持手段を生成するコンテキスト自己展開手段を有していることを特徴とする請求項１ないし６のいずれか１項に記載の資源管理装置。
【請求項８】
さらに、前記計算機システムから分離可能な媒体に前記コンテキスト抽出手段が出力した前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報を書き込む複製手段を有することを特徴とする請求項１ないし６のいずれか１項に記載の資源管理装置。
【請求項９】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、コンテキスト検索手段と、コンテキスト展開手段と、名前解決手段を少なくとも有し、前記コンテキスト展開手段は、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取り該集合中のコンテキスト表現から前記コンテキスト検索手段が検索可能なコンテキスト保持手段を合成するものであり、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を含み、前記コンテキスト検索手段は、コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、検索されたコンテキスト保持手段に解決すべき資源名を渡し、前記名前解決手段は、前記コンテキスト保持手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に対して出力するとともに第１の資源実現表現を名前解決結果として出力するものであることを特徴とする資源管理装置。
【請求項１０】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、コンテキスト検索手段と、コンテキスト展開手段を少なくとも有し、前記コンテキスト展開手段は、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取り該集合中のコンテキスト表現から前記コンテキスト検索手段が検索可能なコンテキスト保持手段を合成するものであり、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を含み、前記コンテキスト検索手段は、コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、検索されたコンテキスト保持手段に解決すべき資源名を渡すことを特徴とする資源管理装置。
【請求項１１】
前記計算機システム内に実在する実資源を指定するための資源データベースと、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索する資源データベース検索手段と、前記名前解決手段あるいは前記コンテキスト検索手段中の名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を有することを特徴とする請求項９または１０に記載の資源管理装置。
【請求項１２】
情報処理を行なう計算機システムにおいて用いられる資源管理装置において、前記計算機システム内に実在する実資源を指定するための資源データベースと、前記資源データベースより実資源を検索する資源データベース検索手段と、コンテキスト検索手段と、コンテキスト展開手段を少なくとも有し、前記コンテキスト展開手段は、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取り該集合中のコンテキスト表現から前記コンテキスト検索手段が検索可能なコンテキスト保持手段を合成するものであり、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を含み、前記資源データベース検索手段は、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索するものであり、前記コンテキスト検索手段は、コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、検索されたコンテキスト保持手段に解決すべき資源名を渡すことを特徴とする資源管理装置。
【請求項１３】
前記コンテキスト展開手段は、前記計算機システムに装填された前記計算機システムから分離可能な媒体よりコンテキスト保持手段を合成するために必要な情報を読み出し、コンテキスト保持手段を展開することを特徴とする請求項９ないし１２のいずれか１項に記載の資源管理装置。
【請求項１４】
前記コンテキスト表現は、前記コンテキスト保持手段と等価なコンテキスト保持手段を生成するコンテキスト自己展開手段を含んでおり、前記コンテキスト展開手段は、前記コンテキスト表現の集合を受け取り該集合中のコンテキスト表現が有する前記コンテキスト自己展開手段を起動することによって前記コンテキスト検索手段を検索可能に展開するものであることを特徴とする請求項９ないし１３のいずれか１項に記載の資源管理装置。
【請求項１５】
前記コンテキスト展開手段は、前記計算機システムに装填された前記計算機システムから分離可能な媒体より前記コンテキスト表現を読み出すことを特徴とする請求項１４に記載の資源管理装置。
【請求項１６】
前記コンテキスト展開手段は、展開するコンテキスト保持手段中の名前変換手段を書き換え可能であることを特徴とする請求項９ないし１５のいずれか１項に記載の資源管理装置。
【請求項１７】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現としてコンテキスト抽出手段で生成して出力することを特徴とする資源管理方法。
【請求項１８】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、当該コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対して前記コンテキスト表現を要求し、得られたコンテキスト表現の集合を出力することを特徴とする資源管理方法。
【請求項１９】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現としてコンテキスト抽出手段で生成して出力することを特徴とする資源管理方法。
【請求項２０】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記コンテキスト選択手段からの要求に応じコンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対して前記コンテキスト表現を要求し、得られたコンテキスト表現の集合を出力することを特徴とする資源管理方法。
【請求項２１】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取ると、該集合中のコンテキスト表現からコンテキスト検索手段が検索可能なコンテキスト保持手段をコンテキスト展開手段で合成し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を含んでなり、入力されたコンテキスト検索式に対応するコンテキスト保持手段を前記コンテキスト検索手段で検索し、検索されたコンテキスト保持手段に解決すべき資源名を渡して該コンテキスト保持手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り、第２の資源実現表現を受け取った場合には該第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に渡して第１の資源実現表現または第２の資源実現表現を受け取る処理を繰り返し、第１の資源実現表現を受け取った場合には該第１の資源実現表現を名前解決結果として出力することを特徴とする資源管理方法。
【請求項２２】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取ると、該集合中のコンテキスト表現からコンテキスト検索手段が検索可能なコンテキスト保持手段をコンテキスト展開手段で合成し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を含み、入力されたコンテキスト検索式に対応するコンテキスト保持手段を前記コンテキスト検索手段で検索し、検索されたコンテキスト保持手段に解決すべき資源名を渡して前記第１の資源実現表現を名前解決結果として得ることを特徴とする資源管理方法。
【請求項２３】
情報処理を行なう計算機システムにおいて用いられる資源管理方法において、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取ると、該集合中のコンテキスト表現からコンテキスト検索手段が検索可能なコンテキスト保持手段をコンテキスト展開手段で合成し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を含んでなり、入力されたコンテキスト検索式に対応するコンテキスト保持手段を前記コンテキスト検索手段で検索し、検索されたコンテキスト保持手段に解決すべき資源名を渡して前記第１の資源実現表現を得て、該第１の資源実現表現に含まれる資源検索式に対応する実資源を資源データベース検索手段により前記計算機システム内に実在する実資源を指定するための前記資源データベースから検索することを特徴とする資源管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理を行なう複数の計算機システムがネットワークで結ばれたネットワーク情報システムにおいて、前記計算機システムが取り扱う資源の管理装置および管理方法に関するものである。
【０００２】
【従来の技術】
一般に資源管理装置においては、所定の名前付けルールに沿った大域名を、資源の局所名やアドレスや識別子やなんらかの属性値に変換する。この変換処理を名前の解決と呼ぶ。名前の解決を行なうオブジェクトは、名前を解釈し、名前の指し示す実体を与える環境であるので、コンテキストと呼ばれる。コンテキストで、名前解決をした後、一般には、名前に対して定まる資源を扱うハンドルを得る。ハンドルは、例えば、資源がファイルである場合には、ファイルから読み書きするためのファイルハンドルであり、例えば、リモートプリンタであれば、所定のプリントサービスと接続しプリント要求を発行するためのプロセス間通信のポートである。
【０００３】
コンテキストは、資源の名前を入力すると、コンテキストで定められた名前解決の結果をもってして資源に対するハンドルを得ることができる。すなわちコンテキストオブジェクトは、名前解決の場を提供するので、この場を名前空間という。
【０００４】
例えば、サンマイクロ社のＮＩＳは、ネットワークコンピュータシステムの所定の資源の名前の解釈をし名前の解決を行なう。例えば、コンピュータのホスト名をを解決してＩＰアドレスに変換を行なう場合には、ホスト名ｔｏｋｋｙｏ．ｐａｔ．ｃｏ．ｊｐがＩＰアドレス１７２．１２．２３．３４などのように変換される。ＮＩＳではサーバとなるコンピュータではｙｐｓｅｒｖと呼ばれるデーモンプログラムが動作し、クライアントとなるコンピュータではｙｐｂｉｎｄと呼ばれるデーモンプログラムが動作する。クライアントとなるコンピュータではｙｐｂｉｎｄと呼ばれるデーモンプログラムが動作している。
【０００５】
ユーザのクライアント・プロセスはｙｐｂｉｎｄに名前解決のリクエストを出し、ｙｐｂｉｎｄはプロセス間通信によって、ｙｐｓｅｒｖに名前解決のリクエストを出し、ｙｐｓｅｒｖは変換のためのデータベースを引くことで名前解決を行なう。解決した結果は、リクエストがたどるのとは逆の経路でクライアントに与えられる。このように、ＮＩＳはＴＣＰ／ＩＰ通信によるネットワークを解して、それぞれが連動して動作する名前サービスである。実際にはｙｐｓｅｒｖで、名前の変換のためのデータベースを検索して、名前の解決が行なわれるのでｙｐｓｅｒｖも一つのコンテキストであるといってよい。
【０００６】
従来の資源管理方式の一つとして、例えば、上谷  晃弘著，「ローカルエリアネットワーク  イーサネット概説」，改訂２版，丸善株式会社には、米国ゼロックス社のクリアリングハウスサービスの資源管理方式について述べられている。このクリアリングハウスサービスは、分散システムにおける資源の名前に対して、任意個の属性を対応させて管理する資源管理方式による分散データベースである。
【０００７】
このクリアリングハウスサービスでは、属性として、資源の種類、パスワード、別名、ファイルサーバの名前、メールボックスの名前、プリンターの名前、グループ、配付先リスト等を扱うことができる。しかし、分散システムの資源に対して、大域的な名前の他に、ユーザ個々に用途やニーズに応じた複数の局所的な名前付けルールに基づく名前を付与して取り扱うことができる機能を提供していない。
【０００８】
また、別の資源管理方式として、例えば、清水  謙多郎，前川  守，芦原  評著，「分散オペレーティングシステム  ＵＮＩＸの次にくるもの」，共立出版，ｐｐ．２４３−２６４と、「コンピュータソフトウェア」，Ｖｏｌ．６、Ｎｏ．３（１９８９），ｐｐ．１９−３４等に示されているＧＡＬＡＸＹオペレーティングシステムの資源管理方式がある。これは、名前を解釈する環境であるコンテキストを複数設け、コンテキストを外部名と変換名と属性リストからなるディレクトリの集合として構成する方式である。
【０００９】
この資源管理方式は、ハッシュ表やＢ−ｔｒｅｅ等を用いた表により外部名から変換名への対応を保持管理する。そのため、分散システム中の資源に統一的な外部名を付与して取り扱うことが可能となり、操作性が高まる。さらに、同一の資源に対して、コンテキストごとに異なる外部名を付与することができるので、分散システムの資源に対して、用途やニーズに応じた複数の局所的な名前を付与して取り扱うことができる局所的な名前空間を提供することが可能である。しかし、名前付け規則や名前解釈の規則は、すべてのコンテキストで同じであるので、個々のユーザごとに、異なる名前付け規則を規定して、資源の用途やニーズに応じた柔軟な局所名を付与して分散システムの資源を取り扱うことはできない。
【００１０】
さらに別の資源管理方式として、Ｄｏｕｇｌａｓ  Ｅ．  Ｃｏｍｅｒ，Ｌａｒｒｙ  Ｌ．  Ｐｅｔｅｒｓｏｎ著，“Ａ  Ｍｏｄｅｌ  ｏｆ  Ｎａｍｅ  Ｒｅｓｏｌｕｔｉｏｎ  ｉｎ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  Ｔｈｅ  ６ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍｓ，（１９８６），ｐｐ．５２３−５３０で示される分散システムにおける名前解決機構がある。この名前解決機構は、所定の資源に対応する名前の解決をクライアント・プロセスが要求すると、クライアント・プロセスが動作している初期コンテキストからスタートして、別のコンテキストとそこで定まる名前に変換する名前変換を繰り返し行なう。この繰り返しによって、コンテキストを次々に移動しながら、最終的には、クライアント・プロセスで要求した名前に対応して定まる資源を実際に管理する最終的なコンテキストと、そのコンテキストで解釈可能な資源識別子に変換する。このモデルによれば、上述のＮＩＳのｙｐｂｉｎｄもコンテキストである。
【００１１】
この名前解決機構を用いると、資源と名前とその名前を解釈可能なコンテキストを管理することで、分散システムの資源について、コンテキストごとに局所的である局所名を付与して取り扱う資源管理方式を実現することができる。このとき、資源管理方式は名前をコンテキストに作用させて名前の解決を行ない、かつ、解決を再帰的に行なって、最終的なコンテキストと資源識別子に変換するための、システム全体で唯一の名前解決関数を有する。この名前解決関数の機構は、第一の名前を解析して第二の名前を取り出す名前解析と、第二の名前をキーにして表を引き、第二のコンテキストと第三の名前との組を取り出し、第二のコンテキストにプロセスを移動させる名前変換の機能を有するコンテキストによって実現される。
【００１２】
上述の資源管理方式では、コンテキストごとに固有の名前解析機能と名前変換機能を持つため、システムに複数の名前付け規則を導入することができる。したがって用途やニーズに応じた複数のコンテキストを用意して、コンテキストごとに局所的でかつ柔軟な名前空間を提供することが可能である。しかし、この資源管理方式の名前変換機能は、一つの名前を一つの名前または複数の名前の組に変換するにとどまるため、第三の名前と第二のコンテキストが表わす資源への操作に対してなされる動作をコンテキストごとに変える方法については言及されていない。このような資源への操作に対してなされる動作をコンテキストごとに変えるには、名前解決機構をコンテキストごとに変えればよいが、この資源管理方式の名前解決機構は、システム全体で共通の名前解決関数を用いているため、コンテキストごとに資源の動作を変えることはできない。
【００１３】
また、この文献では、名前解決機構が第１の名前を複数の識別子からなる集合に解決するように拡張することに言及している。この名前解決機構では、第１の名前が別のコンテキストの複数の名前のグループに対応し、例えば、放送型通信を用いて、同じ操作が複数の識別子に適用されるように働くよう説明されている。しかしながらこの名前解決機構では、第１の名前に対する操作が、名前解決機構で解決された複数の識別子に対する異なる操作の合成によって実現することができないし、このような機構を具現化する仕組みについて言及していない。
【００１４】
特開平５−２１６７９９号公報に開示される名前管理方式は、ある名前空間の名前を別の名前空間の名前に、名前の重複を避けつつ自動的に変換する名前の対応つけの管理方式である。この名前管理方式は、基本的には、上述のＤｏｕｇｌａｓ  Ｅ．  Ｃｏｍｅｒ，Ｌａｒｒｙ  Ｌ．  Ｐｅｔｅｒｓｏｎの名前解決機構と同じ機構に基づくもので、同様の問題点を有する。
【００１５】
特開平５−１８９３８９号公報に開示される階層構造をなす大規模分散計算機システムの接続方法は、階層構造をなす局所的な名前空間のオブジェクトの識別子から、他の局所的な名前空間における前記オブジェクトの識別子を構成するオブジェクトの識別子の管理方式について言及している。このオブジェクトの識別子の管理方式も、基本的には、上述のＤｏｕｇｌａｓ  Ｅ．  Ｃｏｍｅｒ，Ｌａｒｒｙ  Ｌ．  Ｐｅｔｅｒｓｏｎの名前解決機構と同じ機構に基づくもので、同じ問題点を有している。
【００１６】
特開平５−２７４２７４号公報に開示される数種の異種命名システムによる名前で構成された複合名を分解できる連合命名システムのための装置と方法は、複数の異種の命名システムが連合して名前を解決する装置と方法について言及している。この装置と方法は、基本的には、上述のＤｏｕｇｌａｓ  Ｅ．  Ｃｏｍｅｒ，Ｌａｒｒｙ  Ｌ．  Ｐｅｔｅｒｓｏｎの名前解決機構と同じ機構に基づき、単に、異種の命名システムが連合して名前を分割する方法とインタフェースについて説明しているに過ぎないので、同じ問題点を有している。
【００１７】
特開平５−３４２１３４号公報に開示される名前解決装置は、信頼性を規定するパラメータ設定手段と、パラメータによって指定された信頼性の程度に依存して、名前の解決した結果として定まるディレクトリの複製を自動的に作成または消去し、かつ、複製が存在するときには、複製されたディレクトリに名前を解決するように動作する名前解決装置について言及している。この装置と方法は、基本的にはＤｏｕｇｌａｓ  Ｅ．  Ｃｏｍｅｒ，Ｌａｒｒｙ  Ｌ．  Ｐｅｔｅｒｓｏｎの名前解決機構と同じ機構に基づき、単に、利用者が与えたパラメータによって自動的にディレクトリの複製を作成し、複製が存在するときには、他のコンテキストに解決を依頼せずに、自ノード内で名前解決を行なうように動作する名前解決装置を説明しているに過ぎないので、同じ問題点を有している。
【００１８】
また、上述のいずれの資源管理方式も、コンテキストについて、そのコンテキストが解決可能な名前の一部または全部がメンバであるグループを表わす資源として提供する機構について言及していない。この機構がないため、ユーザが意図するメンバを解決可能な名前とするコンテキストを定めることで、所望のメンバを有するグループ資源を局所的に実現することができない。
【００１９】
さらに、上述した名前サービスシステムや名前解決機構を用いた資源管理システムまたは資源管理方式は、いずれも、コンテキストごとに異なる名前付け規則にもとづくユーザの意図を反映させた資源の名前付けを行ない、加えて、コンテキストごとに資源の動作が異なる実現規則に基づく局所的な資源を提供することで、個々のユーザが所望する性質を有する資源や資源グループの実現を規定する局所的な名前を有する局所的な資源の実現を可能とする資源管理方式についてはなんら言及していない。
【００２０】
加えて、コンテキストごとに資源の動作が複数の資源の動作から定まる実現規則に基づく局所的な資源を提供することで、個々のユーザが所望する性質を有する資源や資源グループを高い自由度で定めることが可能な局所的な名前を有する局所的な資源の実現を可能とする資源管理方式についてはなんら言及していない。
【００２１】
加えて、コンテキストで解決可能な名前の一部または全部をメンバとする局所的な名前を有する局所的なグループ資源の実現を可能とする資源管理方式についてはなんら言及していない。
【００２２】
以上に説明した従来の資源管理方式または従来の資源管理方式を採用したシステムは、
（ａ）  資源の名前と資源の物理的な位置情報を資源管理表または資源管理データベースで管理し、入力された資源の名前から対応する資源の物理的な位置情報を出力する資源管理方式または資源管理方式を採用したシステム、
（ｂ）  資源の名前を解釈し、資源の変換名を出力する複数のコンテキストと、複数のコンテキストにまたがって、一回以上繰り返して名前を単一の変換名に変換することで、変換名を取り扱う単一のコンテキストに到達するための、唯一の名前解決機構を有する資源管理方式を採用したシステム、
（ｃ）  前記（ｂ）に加えて、資源の名前を解釈し、資源の変換名を出力する複数のコンテキストと、複数のコンテキストにまたがって一回以上繰り返して名前を複数の変換名に変換する唯一の名前解決機構を有する資源管理方式を採用したシステム
のいずれかに分類される。
【００２３】
上記（ａ）のシステムでは、第１の資源の名前である第１の名前に対して、第１の資源を実現するシステムでの識別子、または、第１の資源を実現するコンテキストでの識別子と考えられる第１の位置を対応づけて管理する。しかし、分散システム全体で唯一の名前付け規則または名前を解釈する文法と名前解析手段を有するのみである。したがって、第１の資源に対して大域的に定まる第１の名前の他に、第１の資源の利用の用途や利用者のニーズや利用時期に応じて、相異なる複数のコンテキストを用意して、それぞれのコンテキストごとに異なる名前付け規則に加えて、コンテキストごとに動作が異なる局所的な資源を提供する局所的な名前空間を提供することができない。そのため、さまざまな利用者の意図や利用局面に合致した柔軟な分散システムを提供するには、不都合である。
【００２４】
上記（ｂ）のシステムでは、各コンテキストごとに独立した名前解析手段を有するため、分散システムに第１の資源に付与する名前について複数の名前付け規則または複数の名前解釈の文法を導入することができるため、第１の資源に対して第１の名前だけでなく、それぞれの名前付け規則または名前解釈文法に従って、相異なるコンテキストごとに独立した第２、第３の名前を付与して取り扱うことができる。したがって、第１の資源の利用用途や利用者のニーズや利用時期に応じて、相異なる複数のコンテキストを用意して、それぞれのコンテキストで有効な複数の局所的な名前を提供することができる。
【００２５】
しかし、この資源管理方式では、名前を変換した結果である変換名を処理する名前解決機構は、分散システムに対して唯一であり、かつ、コンテキストごとに変換名の処理方法を変えて、第１の名前に対応する第１の資源に加えて所定の性質を有する局所的な第２の資源をコンテキストごとに実現する方法を提供しない。
【００２６】
例えば、第１のコンテキストでは、第１の名前に対して第１の変換名と第２のコンテキストが出力されるとする。次に、第１の変換名と第２のコンテキストで提供される第１の資源に対して、第１のコンテキストで定められる所定の処理を施して、第１の名前に対して、利用者が所望する性質を有する第１の資源から導出される第２の資源を局所的に実現するように、第１の名前を定めることが考えられる。しかし、この資源管理方式では、このような機能を提供することはできない。また、例えば、第３のコンテキストでは、第２の名前に対して第１の変換名と第２のコンテキストが出力されるとする。次に、第１の変換名と第２のコンテキストで提供される第１の資源に対して、第３のコンテキストで定められる第２の所定の処理を施して、第２の名前に対して、利用者が所望する第２の性質を有する第１の資源から導出される第３の資源を局所的に実現するように、第３の名前を定めることも考えられる。しかし、このような機能も提供されない。
【００２７】
すなわち  この（ｂ）のシステムでは、第１のコンテキストや第３のコンテキストを用意することによって、第１の資源に対して第１の名前や第３の名前としてコンテキストに局所的な名前を与えることはできるが、第１の資源から導かれ、かつ、個々のユーザが所望する性質を有する第２、第３の資源のような資源の局所的な実現を与える機能は提供していない。
【００２８】
（ｃ）のシステムでは、（ｂ）に加えて第１の資源に付与する名前について、名前解決の結果として、別の複数の資源に対応付けられるが、第１の資源に対する操作は、解決結果の複数の資源に対するマルチキャスト通信に代表される放送型通信によって、複数の同じ操作に対応づけることが可能である。したがって、第１の資源に対する操作は、解決結果である複数の資源に対して同じ操作が複製されて適用する機能を提供する。
【００２９】
しかし、この資源管理方式では、第１の名前に対応する資源が複数の資源であって、かつ、第１の名前が表現する資源に対して適用される処理が、名前解決の結果として、複数のコンテキストの複数の資源に対して、それぞれ異なった所定の処理を施し、その結果を集積して得られるような性質を有する局所的な資源を実現することができない。
【００３０】
例えば、（ｃ）のシステムでは、第１の名前は、複数のコンテキストと複数の変換名Ｘ，Ｙ，Ｚと、複数の資源に対してそれぞれ適用される所定の手続きｘ，ｙ，ｚによって展開される。第１の名前に対する操作は、手続きｘ，ｙ，ｚを用いて、変換名Ｘ，Ｙ，Ｚにそれぞれ対応する資源に対して操作を施し、その結果を集積して実現されるような名前解決機構と資源の実現機構の提供が望まれる。しかし、このような名前解決機構や資源の実現機構は提供されていない。したがって、第１の名前が表わす第４の資源が、複数の資源から実現され、かつ複数の資源に対して所定の処理を施すことで所望の性質を有するように、第４の局所的な名前を有する局所的な資源を個々のユーザが自由に実現することができない。
【００３１】
また、（ａ）、（ｂ）、（ｃ）いずれのシステムについても、コンテキスト自身が、コンテキストが解決可能な名前の集合の一部または全部をメンバに有するグループ資源として動作するような機構を提供しないので、ユーザが、コンテキストが解決可能な名前の集合を規定することで、ユーザの意図を反映したコンテキストを実現しても、集合の一部または全部をメンバに有するグループ資源は構成できない。
【００３２】
以上をまとめていえば、従来知られる資源管理方式では、局所的に管理される資源に対して、大域的な名前を付与して大域的に取り扱うことができ、また、所定の資源やグループに対して、コンテキストごとに定まる複数の名前を与え、コンテキストごとに局所的な名前として取り扱う機能を提供している。しかし、大域的な資源に対して、所定の処理を施すことでなされるような、コンテキストごとに異なる動作を有する資源を規定し、かつ、コンテキストごとに異なる名前付け規則に基づく局所名を付与する機能を提供することはできない。また、複数の資源にそれぞれ異なる処理を施して、その結果を集積することによって、あたかも、個々のユーザが所望する性質を有する単一の局所的な名前を持つ局所的な資源が実在するかのように取り扱う機能を提供することはできない。加えて、コンテキストが解決可能な名前の集合の一部または全部をメンバに有するグループ資源として動作するような機構を提供できない。その結果、個々のユーザのアクセス方法の嗜好や意図を反映したユーザごとに局所的な資源アクセスのための名前空間を提供する柔軟性の高い分散システムを具現化するには、不都合である。
【００３３】
上述のように、従来の資源管理装置における名前の解決は、コンテキストの動作を定める変換表または変換のためのデータベースを使って入力された名前から別の名前やアドレスに解決している。この種のシステムでは、コンテキストの移転は、変換表や変換のためのデータベースを複写することで行なわれる。複写した変換表をコンテキストが名前解決に使うように設定することで、移転元のコンテキストと動作を同じくするコンテキストを、移転先で容易に再現できる。
【００３４】
例えば、上述のＮＩＳの場合は、コンテキストの移転元を甲とし、移転先を乙とすると、甲と乙でｙｐｓｅｒｖを動作させ、名前解決を定める変換表や変換のためのデータベースを甲から乙へ複写することでなされる。ＮＩＳの場合は、甲はマスターサーバと呼び、乙はスレーブサーバと呼ぶ。甲と乙の間で、マップと呼ばれる変換表を所定の手順でネットワークを介して送受するツールが提供されている。入力された名前から変換表や変換のためのデータベースを用いて別の名前に解決する名前解決の方式を用いた資源管理装置において、変換表や変換のためのデータベースを複写することで、コンテキストを移転する方式では、コンテキストの移転先のユーザの事情で、コンテキストの名前解決の動作をカスタマイズしたり、解決された後に指し示す資源や資源の属性または資源の性質をカスタマイズする機能は提供していなかった。
【００３５】
たとえば、変換表や変換のためのデータベースは単にコピーされるに過ぎないので、移転された側の事情によって、解決の動作をカスタマイズするためには変換表やデータベースの形式や動作を知った上で、これらを改変する必要があるため、カスタマイズは簡単ではなかった。また、乙があらかじめ有していた変換表やデータベースと移転されたデータベースを併合する機能を有していない。
【００３６】
上述の特開平５−２１６７９９号公報に開示される名前管理方式では、乙があらかじめ有していた変換表やデータベースと移転されたデータベースを併合する際に、名前の重複を避けるように、変換表や変換のためのデータベースを矛盾なく保つようにするが、重複を避ける手段は乙が自由に選べるものではないので、乙の事情に則したカスタマイズの機能は提供していない。
【００３７】
また、いずれのシステムにおいても、解決したい名前に対応する資源が入出力するデータフォーマットや、資源が有する属性を移転された側の事情によってカスタマイズする機能を有しておらず、変換表やデータベースにも含まれていないので、この類いのカスタマイズは困難であった。
【００３８】
また、上述の特開平５−２７４２７４に開示される連合命名システムのための装置においても、任意の命名システムを移転することと、移転が行なわれた後に移転先において、移転された命名システムを低いコストで移転前から存在する命名システムと連合させるときに移転先の事情に合わせて命名システムの動作を改変する仕組みは明らかにしていない。
【００３９】
従来の技術では、ある名前空間の名前を別の名前空間の名前に、名前の重複を避けつつ自動的に変換する名前の対応づけを行なう管理方式である。この方式では、乙があらかじめ有していた変換表やデータベースと、移転されたデータベースを併合する際に、名前の重複を避けるように、変換表や変換のためのデータベースを矛盾なく保つようにするが、重複を避ける手段は乙が自由に選べるものではないので、乙の事情に則したカスタマイズの機能は提供していない。任意のコンテキストに属する名前解釈の方法と名前解決の方法を複写し、交換または移転し、複写先や移転先の名前システムにカスタマイズして組み込むためのコンテキストの移転方式を明らかにしていない。
【００４０】
このように、従来のコンテキストの移転の方式を採用したシステムは、移転元のユーザ甲から移転先のユーザ乙へコンテキストを移転する手段と移転した後で、乙があらかじめ有するコンテキストと甲から移転したコンテキストを乙の所望する形で併合する機能を提供しない。甲から、甲がすでに設計した名前空間を提供するコンテキストを乙が複写し入手して、乙の名前空間にマージすることを考える。この際に、乙の事情で乙が定めるやりかたで名前の重複を回避したり、名前が解決された後に示す資源を、同等な別の資源、例えばオリジナルとは所定の方式で内容が同一に維持されているレプリカを指し示すように、甲から複写した名前空間をカスタマイズして乙の名前空間に組み込むことは困難であった。そのため、複数のユーザ同士でコンテキストを共有したり、複写、交換をしてカスタマイズして使うなどのコンテキストの流布や再利用が困難であった。
【００４１】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、大域的な資源に対して所定の処理を施すことによって、個々のユーザがそれぞれ所望する性質を有する局所的な名前を持つ局所的な資源を取り扱う機能を提供し、加えて、複数の資源にそれぞれ異なる処理を施して、その結果を集積することで、あたかも、個々のユーザが所望する性質を有する単一の局所的な名前を持つ局所的な資源が実在するかのように取り扱う機能を提供することで、個々のユーザのアクセス方法の嗜好や意図を反映したユーザごとに局所的な資源アクセスのための名前空間を提供する柔軟性の高い分散システムを具現化することのできる資源管理装置および資源管理方法を提供することを目的とするものである。
【００４２】
また、所望の名前空間を有しない資源管理装置においても、他の資源管理装置で管理されている名前空間を転送することによってその名前空間を実現し、利用に供することのできる資源管理装置を提供し、よりコンパクトでより柔軟性の高い資源管理装置および資源管理方法を提供することを目的とするものである。
【００４３】
さらに、ユーザ個々のアクセスする資源をカスタマイズするコンテキストを、ユーザ間で複写、交換、移送することで、資源を使いやすくカスタマイズした仮想的な資源を構成する方法や、すでに具現化された資源のデータ処理を行なう手続きをコンテキストに組み込んで、仮想的な資源を構成する方法を、流布することができる資源管理装置および資源管理方法を提供することを目的とするものである。
【００４４】
【課題を解決するための手段】
請求項１に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段と、コンテキスト抽出手段と、名前解決手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記名前解決手段は、前記コンテキスト保持手段内の前記名前変換手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に対して出力するとともに第１の資源実現表現を名前解決結果として出力するものであり、前記コンテキスト選択手段は、コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力するものであり、前記コンテキスト抽出手段は、前記コンテキスト選択手段が出力したコンテキスト検索式に基づいて前記コンテキスト検索手段が検索を行なった結果を入力とし検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力することを特徴とするものである。
同様に請求項１７に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現としてコンテキスト抽出手段で生成して出力することを特徴とするものである。
【００４５】
請求項２に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段と、名前解決手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、前記コンテキスト選択手段からの要求に応じコンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記名前解決手段は、前記コンテキスト保持手段内の前記名前変換手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に対して出力するとともに第１の資源実現表現を名前解決結果として出力するものであり、前記コンテキスト選択手段は、前記コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力して検索結果をもとに検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対して前記コンテキスト表現を要求し得られたコンテキスト表現の集合を出力することを特徴とするものである。
同様に請求項１８に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、当該コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対して前記コンテキスト表現を要求し、得られたコンテキスト表現の集合を出力することを特徴とするものである。
【００４６】
請求項３に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段と、コンテキスト抽出手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記コンテキスト選択手段は、前記コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力するものであり、前記コンテキスト抽出手段は、前記コンテキスト選択手段が出力したコンテキスト検索式に基づいて前記コンテキスト検索手段が検索を行なった結果を入力とし検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力することを特徴とするものである。
同様に請求項１９に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索された前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現としてコンテキスト抽出手段で生成して出力することを特徴とするものである。
【００４７】
請求項４に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、属性と対応づけられた複数のコンテキスト保持手段と、コンテキスト検索手段と、コンテキスト選択手段を有し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記コンテキスト選択手段からの要求に応じコンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有し、前記コンテキスト検索手段は、前記コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、前記コンテキスト選択手段は、前記コンテキストの集合を表す式を入力とし前記コンテキスト検索式を前記コンテキスト検索手段に出力して検索結果をもとに検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対してコンテキスト表現を要求し得られたコンテキスト表現の集合を出力することを特徴とするものである。
同様に請求項２０に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、属性と対応づけられた複数のコンテキスト保持手段を有し、それぞれの前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記コンテキスト選択手段からの要求に応じコンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報をコンテキスト表現として出力するコンテキスト抽出手段を有してなり、コンテキストの集合を表す式を入力としてコンテキスト選択手段がコンテキスト検索式を出力し、前記コンテキスト検索式に対応するコンテキスト保持手段をコンテキスト検索手段で検索し、検索されたコンテキスト保持手段中の前記コンテキスト抽出手段に対して前記コンテキスト表現を要求し、得られたコンテキスト表現の集合を出力することを特徴とするものである。
【００４８】
請求項５に記載の発明は、請求項１ないし４のいずれか１項に記載の資源管理装置において、前記計算機システム内に実在する実資源を指定するための資源データベースと、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索する資源データベース検索手段と、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を有することを特徴とするものである。
【００４９】
請求項６に記載の発明は、請求項３または４に記載の資源管理装置において、前記計算機システム内に実在する実資源を指定するための資源データベースと、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索する資源データベース検索手段を設け、前記コンテキスト保持手段は、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段をさらに有し、前記コンテキスト抽出手段は、前記資源実現手段の情報を含めたコンテキスト表現の集合を出力することを特徴とするものである。
【００５０】
請求項７に記載の発明は、請求項１ないし６のいずれか１項に記載の資源管理装置において、前記コンテキスト表現は、前記コンテキスト保持手段と等価なコンテキスト保持手段を生成するコンテキスト自己展開手段を有していることを特徴とするものである。
【００５１】
請求項８に記載の発明は、請求項１ないし６のいずれか１項に記載の資源管理装置において、さらに、前記計算機システムから分離可能な媒体に前記コンテキスト抽出手段が出力した前記コンテキスト保持手段と等価なコンテキスト保持手段を合成するために必要な情報を書き込む複製手段を有することを特徴とするものである。
【００５２】
請求項９に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、コンテキスト検索手段と、コンテキスト展開手段と、名前解決手段を少なくとも有し、前記コンテキスト展開手段は、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取り該集合中のコンテキスト表現から前記コンテキスト検索手段が検索可能なコンテキスト保持手段を合成するものであり、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を含み、前記コンテキスト検索手段は、コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、検索されたコンテキスト保持手段に解決すべき資源名を渡し、前記名前解決手段は、前記コンテキスト保持手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に対して出力するとともに第１の資源実現表現を名前解決結果として出力するものであることを特徴とするものである。
同様に請求項２１に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取ると、該集合中のコンテキスト表現からコンテキスト検索手段が検索可能なコンテキスト保持手段をコンテキスト展開手段で合成し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段を含んでなり、入力されたコンテキスト検索式に対応するコンテキスト保持手段を前記コンテキスト検索手段で検索し、検索されたコンテキスト保持手段に解決すべき資源名を渡して該コンテキスト保持手段により変換された第１の資源実現表現または第２の資源実現表現を受け取り、第２の資源実現表現を受け取った場合には該第２の資源実現表現に含まれる第２の資源要素列の資源名を前記コンテキスト検索手段により検索された前記コンテキスト保持手段に渡して第１の資源実現表現または第２の資源実現表現を受け取る処理を繰り返し、第１の資源実現表現を受け取った場合には該第１の資源実現表現を名前解決結果として出力することを特徴とするものである。
【００５３】
請求項１０に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、コンテキスト検索手段と、コンテキスト展開手段を少なくとも有し、前記コンテキスト展開手段は、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取り該集合中のコンテキスト表現から前記コンテキスト検索手段が検索可能なコンテキスト保持手段を合成するものであり、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を含み、前記コンテキスト検索手段は、コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、検索されたコンテキスト保持手段に解決すべき資源名を渡すことを特徴とするものである。
同様に請求項２２に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取ると、該集合中のコンテキスト表現からコンテキスト検索手段が検索可能なコンテキスト保持手段をコンテキスト展開手段で合成し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段を含み、入力されたコンテキスト検索式に対応するコンテキスト保持手段を前記コンテキスト検索手段で検索し、検索されたコンテキスト保持手段に解決すべき資源名を渡して前記第１の資源実現表現を名前解決結果として得ることを特徴とするものである。
【００５４】
請求項１１に記載の発明は、請求項９または１０に記載の資源管理装置において、前記計算機システム内に実在する実資源を指定するための資源データベースと、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索する資源データベース検索手段と、前記名前解決手段あるいは前記コンテキスト検索手段中の名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を有することを特徴とするものである。
【００５５】
請求項１２に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理装置において、前記計算機システム内に実在する実資源を指定するための資源データベースと、前記資源データベースより実資源を検索する資源データベース検索手段と、コンテキスト検索手段と、コンテキスト展開手段を少なくとも有し、前記コンテキスト展開手段は、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取り該集合中のコンテキスト表現から前記コンテキスト検索手段が検索可能なコンテキスト保持手段を合成するものであり、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を含み、前記資源データベース検索手段は、前記名前解決手段より出力された第１の資源実現表現に含まれる資源検索式を入力して前記資源データベースより該資源検索式に対応する実資源を検索するものであり、前記コンテキスト検索手段は、コンテキスト検索式を入力して該コンテキスト検索式に対応するコンテキスト保持手段を検索するものであり、検索されたコンテキスト保持手段に解決すべき資源名を渡すことを特徴とするものである。
同様に請求項２３に記載の発明は、情報処理を行なう計算機システムにおいて用いられる資源管理方法において、コンテキスト保持手段を合成するために必要なコンテキスト表現の集合を受け取ると、該集合中のコンテキスト表現からコンテキスト検索手段が検索可能なコンテキスト保持手段をコンテキスト展開手段で合成し、前記コンテキスト保持手段は、コンテキストの属性を保持する属性保持手段と、資源に付けられた名前である資源名を入力とし該資源名の名前の解析を行なう名前解析手段と、該名前解析手段による解析結果を前記計算機システム内に実在する実資源を指定するための資源検索式を要素とする第１の資源要素列と該第１の資源要素列から求まる資源を処理するための手続き情報である第１の実現要素列との組からなる第１の資源実現表現またはコンテキスト検索式と資源名の組を要素とする第２の資源要素列と該第２の資源要素列から求まる資源を処理するための手続き情報である第２の実現要素列との組からなる第２の資源実現表現に変換する名前変換手段と、該名前変換手段から受け取る第１の資源実現表現を出力するとともに第２の資源実現表現を受け取ると該第２の資源実現表現に含まれる第２の資源要素列中のコンテキスト検索式を前記コンテキスト検索手段に渡し検索により特定されるコンテキスト保持手段に資源名を出力して第１の資源実現表現を受け取り出力する名前解決手段と、前記名前解決手段により出力された第１の資源実現表現に含まれる第１の実現要素列を解釈し解釈結果を前記資源データベース検索手段により検索された実資源に対して実行して資源を生成する資源実現手段を含んでなり、入力されたコンテキスト検索式に対応するコンテキスト保持手段を前記コンテキスト検索手段で検索し、検索されたコンテキスト保持手段に解決すべき資源名を渡して前記第１の資源実現表現を得て、該第１の資源実現表現に含まれる資源検索式に対応する実資源を資源データベース検索手段により前記計算機システム内に実在する実資源を指定するための前記資源データベースから検索することを特徴とするものである。
【００５６】
請求項１３に記載の発明は、請求項９ないし１２のいずれか１項に記載の資源管理装置において、前記コンテキスト展開手段は、前記計算機システムに装填された前記計算機システムから分離可能な媒体よりコンテキスト保持手段を合成するために必要な情報を読み出し、コンテキスト保持手段を展開することを特徴とするものである。
【００５７】
請求項１４に記載の発明は、請求項９ないし１３のいずれか１項に記載の資源管理装置において、前記コンテキスト表現は、前記コンテキスト保持手段と等価なコンテキスト保持手段を生成するコンテキスト自己展開手段を含んでおり、前記コンテキスト展開手段は、前記コンテキスト表現の集合を受け取り該集合中のコンテキスト表現が有する前記コンテキスト自己展開手段を起動することによって前記コンテキスト検索手段を検索可能に展開するものであることを特徴とするものである。
【００５８】
請求項１５に記載の発明は、請求項１４に記載の資源管理装置において、前記コンテキスト展開手段は、前記計算機システムに装填された前記計算機システムから分離可能な媒体より前記コンテキスト表現を読み出すことを特徴とするものである。
【００５９】
請求項１６に記載の発明は、請求項９ないし１５のいずれか１項に記載の資源管理装置において、前記コンテキスト展開手段は、展開するコンテキスト保持手段中の名前変換手段を書き換え可能であることを特徴とするものである。
【００６０】
【発明の実施の形態】
以下、説明する各実施の形態では、情報処理を行なう複数の計算機システムがネットワーク上に分散配置され、個々の計算機システムごとに局所的または大域的に管理する計算機システムで扱う資源に関して、個々のユーザが所望する性質を有する資源を、個々のユーザに局所的な資源として取り扱うことが可能な資源の管理方式について示している。各実施の形態は、資源としてファイルシステム、特に、ディレクトリに代表されるグループやファイルを、ユーザごとに局所化する場合の動作について解説するものを含む。資源としては、ファイルシステムのファイルやグループに限らない。例えば、資源はＳＧＭＬ（ＩＳＯ８８７９：Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を拡張したＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）としてよく知られる文法で表現されるハイパーテキスト文書であってもよい。
【００６１】
一般的には、この発明の資源の管理方式は、ホストやメモリやファイルやグループやポートやプロセスやユーザやデータベースなど、計算機システムにおいて、名前を付与して、その名前に対して、名前が示す資源への操作が適用できるハンドルが得られる資源を取り扱うように実現してもよい。例えば、ファイル資源に対する操作は、ファイル操作であるオープンやリードやライトやクローズが適用可能であるとするが、これに限定するものではない。これらの一部であってもよいし、シークが可能であってもよい。
【００６２】
グループ資源に対する操作はメンバ表示であるとするが、これに限定するものではない。メンバ追加やメンバ削除ができてよい。また、ＨＴＭＬに対する操作はＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）としてよく知られるプロトコルで規定されているいずれかの操作が可能であってよい。
【００６３】
ハンドルは、例えば、ファイル資源の場合にはファイルをオープンして得られるファイルＩＤであるとするが、オープンしたファイルの属性を格納したファイル構造体に対するポインタであってもよい。また、ファイルに対する操作が適用可能なソケットＩＤまたはソケット構造体に対するポインタであってもよい。一般的には、資源に対する操作を適用するための口であれば、何でもよい。
【００６４】
以下の実施の形態は、単一の計算機システムの単一プロセスとして実現する資源の管理方式について解説するものを含むが、単一プロセスとして実現することは必須ではない。一般的には、この発明の資源の管理方式は、単一または複数の計算機システム上で互いに通信を行なって動作する複数のプロセスとして実現してもよい。
【００６５】
また、以下の実施の形態は、手続き指向による資源の管理方式を含むが、手続き指向によって実現することは必須ではない。オブジェクト指向によって実現してもよい。一般的には、この発明の資源の管理方式は、手続き指向、オブジェクト指向を含むいかなる実現方式を用いてもよい。
【００６６】
さらに、以下の実施の形態では、通信はポートを用いたメッセージ通信として実現する資源の管理方式を含むが、ポートを用いたメッセージ通信として実現することは必須ではない。一般的には、この発明の資源の管理方式は、リモートプログラム、リモートプロシージャ、ソケット、シェアードメモリを含むいかなるプロセス間の通信を用いて実現してもよい。
【００６７】
図１、図２は、本発明の資源管理装置の第１の実施の形態を示すブロック図である。図中、１−ｉはコンテキスト保持部、２−ｉは属性保持部、３−ｉは名前解析部、４−ｉは名前変換部、５は名前解決部、６は資源実現部、７−ｉは資源保持部、８は資源管理部、９は通信部、１０，１４はコンテキストデータベース部、１１，１５はコンテキストデータベース検索部、１２はコンテキスト選択部、１３はコンテキスト抽出部、１６はコンテキスト展開部、２１，２２は資源管理装置である。まず、図１に示した資源管理装置２１から説明する。
【００６８】
コンテキスト保持部１−１〜１−Ｎには、属性保持部２−１〜２−Ｎ、名前解析部３−１〜３−Ｎ、名前変換部４−１〜４−Ｎがそれぞれ設けられている。属性保持部２−１〜２−Ｎには、それぞれコンテキスト保持部１−１〜１−Ｎに付けられた任意個の属性が、その属性名と属性値のペアのリストとして保持されている。
【００６９】
名前解析部３−１〜３−Ｎは、それぞれ、入力される資源の名前を解析する。一般に名前解析部は、形式言語理論における字句解析、構文解析を行なって解析結果を出力するものであってよい。例えば、形式言語理論における正規表現を字句解析に用い、字句解析の結果であるトークンを形式言語理論における文脈自由文法に基づき構文解析を行なうために、ＬＲパーサやＬＡＬＲパーサを用いてもよい。
【００７０】
名前変換部４−１〜４−Ｎは、それぞれ、名前解析部３−１〜３−Ｎで解析された結果を受け、解析結果を第１または第２の資源実現表現に変換する。第１の資源実現表現は、資源検索式を要素とする第１の資源要素列と、その第１の資源要素列を処理するための手続き情報である第１の実現要素列との組から構成される。ここで、資源検索式は、計算機システム内にあらかじめ実現されている実資源を指定するための検索式である。また、第２の資源実現表現は、コンテキスト検索式と資源名の組を要素とする第２の資源要素列と、その第２の資源要素列を処理するための手続き情報である第２の実現要素列との組から構成される。変換された第１または第２の資源実現表現は名前解決部４に出力される。
【００７１】
名前解決部５は、コンテキスト保持部１−１〜１−Ｎが出力した資源の名前に対応する第１または第２の資源実現表現を受け取る。このとき、第２の資源実現表現を受け取った場合には、第２の資源実現表現に含まれる第２の資源要素列の資源名を、コンテキストデータベース検索部１１によりコンテキスト検索式に基づいて検索されたコンテキスト保持部に対して出力する。資源名を出力したコンテキスト保持部からは、第１または第２の資源実現表現が返される。このようにして、連鎖的にコンテキスト保持部を適用することによって、第１の資源実現表現が得られる。得られた第１の資源実現表現のすべてあるいはいずれかに対応する名前解決結果が資源実現部６に対して出力される。
【００７２】
資源実現部６は、名前解決部５から出力された名前解決結果を入力し、その名前解決結果に対応する資源のハンドルを出力する。ユーザは、資源実現部６から出力されるハンドルを用いることによって、入力した局所的な資源名に対応する仮想的な資源に対してアクセス及び処理を行なうことが可能である。
【００７３】
資源保持部７−１〜７−Ｍは、それぞれ、あらかじめ実現されている資源を保持するとともに、資源識別子ｒｅｓ−１〜ｒｅｓ−Ｍが付与されている。
【００７４】
資源管理部８は、資源保持部７−１〜７−Ｍが保持している資源を、大域的に、または特定の計算機システムに局所的に管理しており、資源検索式に従ってあらかじめ実現されている資源を特定する。
【００７５】
通信部９は、名前解決部５、資源実現部６、資源管理部８、コンテキストデータベース部１０の間の通信を行なう。また、他の資源管理装置との通信を行ない、コンテキスト集合の抽出を行なうためのコンテキスト検索式を受け取ると、コンテキストデータベース部１０内のコンテキスト選択部１２に渡し、コンテキスト抽出部１３でコード化されたコンテキスト表現を転送する。
【００７６】
コンテキストデータベース部１０は、Ｎ個のコンテキスト保持部１−１〜１−Ｎをコンテキスト集合として管理している。コンテキストデータベース部１０は、一般には任意個の集合を管理し、集合に対して名前を付与しておき、集合の名前を用いて参照する。図１では、コンテキスト集合は集合“Ｃｏｎｔｅｘｔ−Ａ”としている。集合が１個のみである場合は名前を付与せずにこれを参照してもよい。
【００７７】
また、コンテキストデータベース部１０には、コンテキストデータベース検索部１１、コンテキスト選択部１２、コンテキスト抽出部１３が設けられている。コンテキストデータベース検索部１１は、属性を用いて記述されているコンテキスト検索式を受け取り、そのコンテキスト検索式を満足する属性を有しているコンテキスト保持部をコンテキスト集合から探し出す。検索結果は、例えばコンテキスト保持部に対するリファレンスの集合として出力することができる。
【００７８】
コンテキスト選択部１２は、通信部９にコンテキスト集合の抽出を行なうためのコンテキスト検索式が入力されたとき、このコンテキスト検索式をコンテキストデータベース検索部１１に渡して、コンテキスト検索式を満足するコンテキスト保持部の集合を得て、コンテキスト抽出部１３に出力する。
【００７９】
コンテキスト抽出部１３は、コンテキスト保持部に対するリファレンスの集合を入力とし、そのリファレンスによって示されるコンテキスト保持部と等価なコンテキスト保持部を合成するために必要な情報をコンテキスト表現として出力する。一般的にはコンテキスト表現の形式は、どのような言語を用いたものでもよい。例えば、コンテキスト保持手段が占めるメモリ等の記憶域をアドレスの小さい順に読み出したバイナリ・ダンプ形式、リスト形式の表現によく用いられるＳ式表現、正規表現、あるいは、特定のプログラム言語の文法に基づく形式であっても良い。以下の説明では、一例としてＳ式表現を用いた例を示している。
【００８０】
次に、図２に示した資源管理装置２２について説明する。ここでは、名前解決部５、資源実現部６、通信部９、コンテキストデータベース部１４を有している。名前解決部５、資源実現部６については、上述の資源管理装置２１と同様である。
【００８１】
通信部９は、名前解決部５、資源実現部６、コンテキストデータベース部１４の間の通信を行なう。また、他の資源管理装置との通信を行ない、特に、他の資源管理装置から受け取ったコンテキスト表現をコンテキスト展開部１６に渡す処理も行なう。
【００８２】
コンテキストデータベース部１４は、Ｌ個のコンテキスト保持部１−１〜１−Ｌをコンテキスト集合として管理している。コンテキストデータベース部１４は、一般には任意個のコンテキストの集合を管理し、集合に対して名前を付与し、参照する。図２では、コンテキスト集合は集合“Ｃｏｎｔｅｘｔ−Ｂ”としている。コンテキストの集合が１個のみである場合は名前を付与せずに参照するように構成することもできる。コンテキスト保持部１−１〜１−Ｌは、上述の資源管理装置２１と同様の構成である。
【００８３】
コンテキストデータベース部１４には、コンテキストデータベース検索部１５、コンテキスト展開部１６が設けられている。コンテキスト展開部１６は、通信部９で受け取ったコンテキスト表現に従い、コンテキスト保持部を合成してコンテキストデータベース検索部１５に渡す。コンテキストデータベース検索部１５は、属性を用いて記述されているコンテキスト検索式を受け取り、そのコンテキスト検索式を満足する属性を有しているコンテキスト保持部をコンテキスト集合から探し出す。検索結果は、例えばコンテキスト保持部に対するリファレンスの集合として出力することができる。また、コンテキスト展開部１６で構成されたコンテキスト保持部の登録処理も行なう。
【００８４】
次に、本発明の資源管理装置の第１の実施の形態における具体的な動作の一例を説明する。図３は、本発明の資源管理装置の第１の実施の形態における複数の資源管理装置の接続の一例の説明図である。以下の説明では、資源管理装置２１と資源管理装置２２とが論理的に接続されているものとする。一般には、資源管理装置２１と資源管理装置２２は、それぞれ、１つの計算機システムあるいは複数の計算機システム上に構築され、ネットワークや回線等によって接続される。あるいは、１つの計算機システム上に構築され、メッセージ機構等の通信手段によって接続される。各資源管理装置は複数の他の資源管理装置との間で通信が可能であるが、ここでは簡単のために図３に示したような１対１の論理的な接続がなされているものとする。
【００８５】
資源管理装置２１において、属性保持部２−１〜２−Ｎには、所有者を表わす属性“ｏｗｎｅｒ”、変更日時を表わす“ｍｄａｔｅ”、カテゴリを表わす“ｃａｔｅｇｏｒｙ”の３つの属性が、属性名と属性値のペアのリストとして保持されている。属性値は、それぞれ、ｐｒｏｐｅｒｔｙ．ｏｗｎｅｒ、ｐｒｏｐｅｒｔｙ．ｍｄａｔｅ、ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙとして参照することができる。属性保持部２−１のｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値は“Ｓｍｉｔｈ”、ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値は９５．３．１８、ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値は“ｐｉｃｔｕｒｅ”であり、属性保持部２−２のｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値は“Ｓｍｉｔｈ”、ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値は９５．１１．１４、ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値は“ｐｉｃｔｕｒｅ”であり、属性保持部２−３から属性保持部２−Ｎまでの全てのｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値は“Ｂｉｌｌ”、ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値は９５．３．３、ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値は“ｓｏｕｎｄ”であるとする。
【００８６】
また、名前解析部３−１は入力された全ての名前をそのまま出力する。この名前解析部３−１で行なわれる、名前をそのまま出力する手続きを手続き３−１とする。同様に、名前解析部３−２は、入力された名前を構成する文字を先頭から解析し、最初に現われる文字“．”よりも前の文字列“文字列１”と、最初に現われる“．”よりも後ろの文字列“文字列２”に分離し、文字列１と文字列２の２項組＜文字列１，文字列２＞を出力する。この名前解析部３−２で行なわれる名前の解析を行なう処理の手続きを手続き３−２とする。
【００８７】
名前変換部４−１は名前ｎａｍｅ１に対して資源実現表現＜｛｝，｛ｒｅｓ−１｝＞を出力する。この資源実現表現は、実現要素列が空で、資源要素列が資源識別子ｒｅｓ−１からなる資源検索式から構成されている。すなわち、資源識別子ｒｅｓ−１を有する資源をそのまま用いることを意味し、この資源実現表現は資源識別子ｒｅｓ−１のみと同等である。そのため、ここでは名前変換部４−１は名前ｎａｍｅ１に対して資源識別子ｒｅｓ−１が出力されるものとする。この名前変換部４−１で行なわれる名前ｎａｍｅ１から資源識別子ｒｅｓ−１への変換を行なう手続きを手続き４−１とする。名前変換部４−２で行なわれる名前の変換も同様に名前ｎａｍｅ２から資源識別子ｒｅｓ−２への変換であるものとし、名前変換部４−２で行なわれる名前の変換を行なう手続きを手続き４−２とする。
【００８８】
さらに、名前解決部５は、入力された資源検索式および資源実現表現中の資源検索式を全てそのまま出力するものとする。
【００８９】
いま、資源管理装置２１のコンテキストデータベース１０に登録されているコンテキストのうち、所有者を表わす属性値が“Ｓｍｉｔｈ”に等しく、かつ、変更日時を表わす属性値が９５年３月１６日よりも新しく、かつ、カテゴリを表わす属性値が“ｐｉｃｔｕｒｅ”であるようなコンテキストを検索し、資源管理装置２２に転送する場合を考える。
【００９０】
図４は、本発明の資源管理装置の第１の実施の形態においてコンテキストの抽出を行なう動作の一具体例におけるコンテキスト検索式の一例の説明図である。上述のようなコンテキスト保持部を検索し、コンテキスト表現を転送する場合、例えば、図４（Ａ）に示すようなコンテキスト検索式ＯＱＬ−１−１を通信部９に入力すればよい。このコンテキスト検索式ＯＱＬ−１−１は、Ｏｂｊｅｃｔ  Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ（ＯＤＭＧ）の提案するＣ＋＋  Ｏｂｊｅｃｔ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ：Ｃ＋＋  ＯＱＬに準拠して記述されている。このコンテキスト検索式ＯＱＬ−１−１の意味は、集合Ｃｏｎｔｅｘｔ−Ａの中から、所有者を表わす属性ｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値が“Ｓｍｉｔｈ”に等しく、かつ、変更日時を表わす属性ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値が９５．３．１６よりも大きく、かつ、カテゴリ属性ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値が“ｐｉｃｔｕｒｅ”に等しいコンテキスト保持部を検索し、該当するコンテキスト保持部に対するリファレンスの集合を変数ｓｕｂｃｏｎｔｅｘｔに返すように要求する式である。
【００９１】
また、説明のため、図４（Ａ）に示したコンテキスト検索式ＯＱＬ−１−１のうち、３〜６行目のダブルクォーテーション内の部分を、コンテキスト検索式ＯＱＬ−１−２とする。このコンテキスト検索式ＯＱＬ−１−２を図４（Ｂ）に示す。このコンテキスト検索式ＯＱＬ−１−２は、Ｏｂｊｅｃｔ  Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ（ＯＤＭＧ）の提案するＯｂｊｅｃｔ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ：ＯＱＬに準拠するものである。一般には、コンテキスト検索式としてどのようなオブジェクト検索式を用いてもよい。
【００９２】
資源管理装置２１の通信部９にコンテキスト検索式ＯＱＬ−１−１を指定したコンテキスト集合の抽出を行なう要求が到達すると、通信部９はこれを受け取り、コンテキスト選択部１２に対して各コンテキスト保持部１−１〜１−Ｎの中からコンテキスト検索式ＯＱＬ−１−１を満たすものを検索するように要求する。
【００９３】
コンテキスト選択部１２は、コンテキストデータベース検索部１１にコンテキスト検索式ＯＱＬ−１−２を渡し、コンテキスト検索式ＯＱＬ−１−２を満足する属性を属性保持部に有するコンテキスト保持部を検索する。この場合、コンテキスト保持部１およびコンテキスト属性保持部２のみがコンテキスト検索式ＯＱＬ−１−２の条件を満たすので、コンテキスト検索式ＯＱＬ−１−２の検索結果としてコンテキストデータベース検索部１１はコンテキスト保持部１−１のリファレンスと、コンテキスト保持部１−２のリファレンスからなる集合をコンテキスト選択部１２に返す。
【００９４】
コンテキスト保持部１−１のリファレンスと、コンテキスト保持部１−２のリファレンスからなる集合を受け取ったコンテキスト選択部１２は、受け取った集合をコンテキスト抽出部１３に入力し、リファレンスに該当するコンテキスト保持部を取り出すよう要求する。
【００９５】
コンテキスト抽出部１３は、コンテキスト選択部１２から受け取った集合の要素である個々のリファレンスに対応するコンテキスト保持部の内容をコード化し、コンテキスト表現を生成して通信部９に渡す。図５は、本発明の資源管理装置の第１の実施の形態においてコンテキスト集合の抽出を行なう動作の一具体例において生成されたコンテキスト表現の一例の説明図である。例えば、Ｓ式表現を用いてコード化する場合、コンテキスト保持部１−１は図５（Ａ）のように、また、コンテキスト保持部１−２は図５（Ｂ）のように、それぞれコード化される。これらをリストにまとめ、図５（Ｃ）に示すコンテキスト表現が、資源管理装置２１の通信部９から資源管理装置２２の通信部９に転送される。
【００９６】
資源管理装置２１の通信部９からコンテキスト表現を受け取った資源管理装置２２の通信部９は、コンテキスト展開部１６に対してコンテキスト表現を出力し、コンテキスト表現からコンテキスト保持部を合成するように要求する。
【００９７】
コンテキスト展開部１６は、入力されたコンテキスト表現に従い、コンテキスト保持部を合成する。この例では、資源管理装置２１において、コンテキスト保持部１−１とコンテキスト保持部１−２をコード化し、コンテキスト表現に変換しているので、コンテキスト展開部１６では、資源管理装置２１のコンテキスト保持部１−１、コンテキスト保持部１−２と等価なコンテキスト保持部１−Ｌ＋１、コンテキスト保持部１−Ｌ＋２を合成する。
【００９８】
合成されたコンテキスト保持部１−Ｌ＋１は、属性保持部２−Ｌ＋１、名前解析部３−Ｌ＋１、名前変換部４−Ｌ＋１から構成されている。属性保持部２−Ｌ＋１の属性ｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値は“Ｓｍｉｔｈ”、属性ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値は９５．３．１８、属性ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値は“ｐｉｃｔｕｒｅ”である。名前解析部３−Ｌ＋１は入力されたすべての名前をそのまま出力する。名前変換部４−Ｌ＋１は、名前ｎａｍｅ１に対してｒｅｓ−１を出力する。
【００９９】
また、コンテキスト保持部１−Ｌ＋２は、属性保持部２−Ｌ＋２、名前解析部３−Ｌ＋２、名前変換部４−Ｌ＋２から構成されている。属性保持部２−Ｌ＋２の属性ｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値は“Ｓｍｉｔｈ”、属性ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値は９５．１１．１４、属性ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値は“ｐｉｃｔｕｒｅ”である。名前解析部３−Ｌ＋２は入力された名前を構成する文字を先頭から解析し、最初に現われる文字“．”よりも前の文字列“文字列１”と、最初に現われる“．”よりも後ろの文字列“文字列２”に分離し、文字列１と文字列２の２項組＜文字列１，文字列２＞を出力する。名前変換部４−Ｌ＋２は、名前ｎａｍｅ２に対してｒｅｓ−２を出力する。コンテキスト展開部１６によって合成されたコンテキスト保持部１−Ｌ＋１、１−Ｌ＋２は、コンテキストデータベース検索部１５に渡される。
【０１００】
コンテキストデータベース検索部１５では、まず、コンテキスト展開部１６によって合成されたコンテキスト保持部と同一の属性リストを持つコンテキスト保持部を検索する。ここでは、コンテキストデータベース検索部１５は、同一の属性リストを持つコンテキスト保持部が存在する場合は、コンテキストデータベースのコンテキスト保持部を削除し、新たなコンテキスト保持部をコンテキストデータベースに追加する。一般には、コンテキストデータベース検索部１５は、同一の属性リストを持つコンテキスト保持部が既に存在する場合に、既存のコンテキスト保持部を削除して新たなコンテキスト保持部を登録してもよいし、既存のコンテキスト保持部を削除せずに新たなコンテキスト保持部を追加しなくてもよいし、既存のコンテキスト保持部を削除せずに新たなコンテキスト保持部を追加してもよい。あるいは、前述の動作のうちのどれを選択するかをユーザがあらかじめ指定してもよいし、前述の動作のうちどれを選択するかをユーザに問い合わせてもよい。
【０１０１】
次に、資源管理装置２２において、上述のようにしてコンテキスト表現が転送され、コンテキストデータベース部１４に登録された後、所有者を表わす属性値が“Ｓｍｉｔｈ”に等しく、かつ、変更日時を表わす属性値が９５年３月１８日に等しく、かつ、カテゴリを表わす属性値が“ｐｉｃｔｕｒｅ”であるようなコンテキストを指定し、名前ｎａｍｅ１に対する問い合わせを行なう場合を考える。
【０１０２】
図６は、本発明の資源管理装置の第１の実施の形態において名前の解決を行なう動作の一具体例におけるコンテキスト検索式の一例の説明図である。上述のような問い合わせを行なう場合、例えば、図６に示すようなコンテキスト検索式ＯＱＬ−１−３を入力すればよい。このコンテキスト検索式ＯＱＬ−１−３も、ＯＱＬに準拠して記述されている。このコンテキスト検索式ＯＱＬ−１−３の意味は、コンテキスト集合の中から、所有者を表わす属性ｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値が“Ｓｍｉｔｈ”に等しく、かつ、変更日時を表わす属性ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値が９５．３．１８に等しく、かつ、カテゴリを表わす属性ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値が“ｐｉｃｔｕｒｅ”に等しいコンテキスト保持部を検索するものである。検索の結果、該当するコンテキスト保持部が１個存在する場合は該当するコンテキスト保持部を返し、それ以外の場合はエラーを返す。
【０１０３】
資源管理装置２２の通信部９は、コンテキスト検索式ＯＱＬ−１−３を指定した名前ｎａｍｅ１の問い合わせ要求を受け取ると、コンテキストデータベース検索部１５に対してコンテキスト保持部１−１〜１−Ｌ，１−Ｌ＋１，１−Ｌ＋２の属性保持部２−１〜２−Ｌ，２−Ｌ＋１，２−Ｌ＋２の中からコンテキスト検索式ＯＱＬ−１−３を満たすものを検索するよう要求する。
【０１０４】
コンテキストデータベース検索部１５は、受け取ったコンテキスト検索式ＯＱＬ−１−３を満足する属性を属性保持部に有するコンテキスト保持部を検索する。ここでは、属性保持部２−Ｌ＋１のみがコンテキスト検索式ＯＱＬ−１−３の条件を満たすので、コンテキスト検索式ＯＱＬ−１−３の検索結果として、コンテキストデータベース検索部１５はコンテキスト保持部１−Ｌ＋１のリファレンスを返す。
【０１０５】
通信部９は、コンテキスト保持部１−Ｌ＋１に名前ｎａｍｅ１を入力し、名前解決処理を要求する。コンテキスト保持部１−Ｌ＋１は、名前解析部３−Ｌ＋１に対して名前ｎａｍｅ１を入力し、名前の解析を行なうように要求する。名前解析部３−Ｌ＋１に入力された名前ｎａｍｅ１は、そのまま名前ｎａｍｅ１として出力され、名前ｎａｍｅ１が名前変換部４−Ｌ＋１の入力となる。名前変換部４−Ｌ＋１は、入力された名前ｎａｍｅ１に対して資源識別子ｒｅｓ−１を出力する。
【０１０６】
資源管理装置２２の名前解決部５に入力された資源識別子ｒｅｓ−１はそのまま出力され、通信部９にコンテキスト検索式ＯＱＬ−１−３を指定した名前ｎａｍｅ１の解決の結果として、資源識別子ｒｅｓ−１が得られる。この資源実現表現から、資源実現部６によって資源識別子ｒｅｓ−１を有する資源管理装置２１の資源保持部７−１が保持する資源が、資源管理装置２２の通信部９および資源管理装置２２の通信部９を介して得られる。
【０１０７】
このようにして、名前ｎａｍｅ１を解決するコンテキスト保持部を有しなかった資源管理装置２２において、資源管理装置２１からコンテキスト保持部を生成するために必要なコンテキスト表現を受け取り、コンテキスト保持部を生成することによって、資源管理装置２２において名前ｎａｍｅ１の解決が可能となる。
【０１０８】
もちろん、資源管理装置２１の通信部９に名前ｎａｍｅ１の解決を依頼することによって、資源管理装置２１内で名前ｎａｍｅ１に対応する資源を得ることができる。このときの処理過程は、上述の資源管理装置２２における名前の解決の過程と同様であり、あるコンテキスト保持部の名前変換部から出力される第１の資源実現表現をもとに、名前解決部５、資源実現部６によって、資源管理部８が管理する資源保持部の資源を得ることができる。
【０１０９】
図７、図８は、本発明の資源管理装置の第２の実施の形態を示すブロック図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。１３−ｉはコンテキスト抽出部である。この第２の実施の形態では、コンテキスト抽出部を各コンテキスト保持部内に設けた例を示している。まず、図７に示した資源管理装置２１から説明する。
【０１１０】
コンテキスト保持部１−１〜１−Ｎには、属性保持部２−１〜２−Ｎ、名前解析部３−１〜３−Ｎ、名前変換部４−１〜４−Ｎとともに、コンテキスト抽出部１３−１〜１３−Ｎがそれぞれ設けられている。コンテキスト抽出部１３−１〜１３−Ｎは、コンテキスト選択部１２からの要求に応じて、各コンテキスト抽出部１３−１〜１３−Ｎが含まれるコンテキスト保持部と等価なコンテキスト保持部を合成するために必要な情報をコンテキスト表現として出力する。
【０１１１】
コンテキスト選択部１２は、通信部９にコンテキスト集合の抽出を行なうためのコンテキスト検索式が入力されたとき、このコンテキスト検索式をコンテキストデータベース検索部１１に渡して、コンテキスト検索式を満足するコンテキスト保持部の集合を得て、集合中の各コンテキスト保持部内のコンテキスト抽出部に当該コンテキスト保持部の内容を出力するように要求する。また、各コンテキスト抽出部から得られるコンテキスト保持部の内容をリストとして通信部９に渡す。
【０１１２】
次に、資源管理装置２２について説明する。この資源管理装置２２では、コンテキスト保持部２−１〜２−Ｌ内にコンテキスト抽出部１３−１〜１３−Ｌが含まれている他は、図２に示した第１の実施の形態の場合と同様である。
【０１１３】
次に、本発明の資源管理装置の第２の実施の形態における具体的な動作の一例を説明する。この例においても、上述の図３に示すように、資源管理装置２１と資源管理装置２２とが論理的に接続されているものとする。また、各部の前提条件は上述の第１の実施の形態における具体例と同様であるものとする。なお、資源管理装置２１内のコンテキスト抽出部１３−１で行なわれる手続きを手続き１３−１とし、コンテキスト抽出部１３−２で行なわれる手続きを手続き１３−２とする。
【０１１４】
いま、所有者を表わす属性値が“Ｓｍｉｔｈ”に等しく、かつ、変更日時を表わす属性値が９５年３月１６日よりも新しく、かつ、カテゴリを表わす属性値が“ｐｉｃｔｕｒｅ”であるようなコンテキスト保持部を集合Ｃｏｎｔｅｘｔ−Ａから検索し、対応するコンテキスト表現を資源管理装置２２へ転送する場合を考える。
【０１１５】
図９は、本発明の資源管理装置の第２の実施の形態においてコンテキスト集合の抽出を行なう動作の一具体例におけるコンテキスト検索式の一例の説明図である。上述のようなコンテキスト集合の抽出を行なう場合、例えば、図９（Ａ）に示すようなコンテキスト検索式ＯＱＬ−２−１を資源管理装置２１の通信部９に入力すればよい。このコンテキスト検索式ＯＱＬ−２−１は、Ｃ＋＋  ＯＱＬに準拠して記述されている。このコンテキスト検索式ＯＱＬ−２−１の意味は、集合Ｃｏｎｔｅｘｔ−Ａの中から、所有者を表わす属性ｐｒｏｐｅｒｔｙ．ｏｗｎｅｒの値が“Ｓｍｉｔｈ”に等しく、かつ、変更日時を表わす属性ｐｒｏｐｅｒｔｙ．ｍｄａｔｅの値が９５．３．１６よりも大きく、かつ、カテゴリ属性ｐｒｏｐｅｒｔｙ．ｃａｔｅｇｏｒｙの値が“ｐｉｃｔｕｒｅ”に等しいコンテキスト保持部を検索し、該当するコンテキスト保持部に対するリファレンスの集合を変数ｓｕｂｃｏｎｔｅｘｔに返し、変数ｓｕｂｃｏｎｔｅｘｔ内の集合の個々の要素に対してメッセージｅｘｔｒａｃｔを送り、その結果を順に連結した値を標準出力ストリームに出力すように要求する式である。
【０１１６】
また、説明のため、図９（Ａ）に示したコンテキスト検索式ＯＱＬ−２−１のうち、３〜６行目のダブルクォーテーション内の部分を、コンテキスト検索式ＯＱＬ−２−２とする。このコンテキスト検索式ＯＱＬ−２−２を図９（Ｂ）に示す。このコンテキスト検索式ＯＱＬ−２−２は、ＯＱＬに準拠するものである。
【０１１７】
資源管理装置２１の通信部９にコンテキスト検索式ＯＱＬ−２−１を指定したコンテキスト集合の抽出を行なう要求が到達すると、通信部９はこれを受け取り、コンテキスト選択部１２に対して各コンテキスト保持部１−１〜１−Ｎの中からコンテキスト検索式ＯＱＬ−２−１を満たすものを検索するように要求する。
【０１１８】
コンテキスト選択部１２は、コンテキストデータベース検索部１１にコンテキスト検索式ＯＱＬ−２−２を渡し、コンテキスト検索式ＯＱＬ−２−２を満足する属性を属性保持部に有するコンテキスト保持部を検索する。この場合、コンテキスト保持部１およびコンテキスト属性保持部２のみがコンテキスト検索式ＯＱＬ−２−２の条件を満たすので、コンテキスト検索式ＯＱＬ−２−２の検索結果としてコンテキストデータベース検索部１１はコンテキスト保持部１−１のリファレンスと、コンテキスト保持部１−２のリファレンスからなる集合をコンテキスト選択部１２に返す。
【０１１９】
コンテキスト保持部１−１のリファレンスと、コンテキスト保持部１−２のリファレンスからなる集合を受け取ったコンテキスト選択部１２は、集合の要素であるコンテキスト保持部１−１，１−２に対するリファレンスを用いて、コンテキスト保持部１−１，１−２のコンテキスト抽出部１３−１，１３−２に対し、それぞれコンテキスト保持部１−１，１−２の内容を取り出すよう要求する。
【０１２０】
図１０は、本発明の資源管理装置の第２の実施の形態においてコンテキスト集合の抽出を行なう動作の一具体例におけるコンテキスト表現の一例の説明図である。コンテキスト抽出部１３−１は、コンテキスト選択部１２からの指示に従い、コンテキスト保持部１−１の内容をコード化し、例えば、図１０（Ａ）に示すようなコンテキスト表現を出力する。同様に、コンテキスト抽出部１３−２は、コンテキスト選択部１２からの指示に従い、コンテキスト保持部１−２の内容をコード化し、例えば、図１０（Ｂ）に示すようなコンテキスト表現を出力する。なお、図１０に示した例では、コンテキスト表現の表現方法としてＳ式表現を用いた場合の例を示している。
【０１２１】
コンテキスト選択部１２は、これらの出力を図１０（Ｃ）に示すようなリストとして通信部９に出力する。このようにして、コンテキスト保持部１−１，１−２と等価なコンテキスト保持部を合成するために必要な情報が、コンテキスト表現として資源管理装置２１の通信部９から資源管理装置２２の通信部９に対して転送される。
【０１２２】
資源管理装置２１の通信部９からコンテキスト表現を受け取った資源管理装置２２の通信部９は、受け取ったコンテキスト表現をコンテキスト展開部１６に渡し、コンテキスト表現からコンテキスト保持部を合成するように要求する。
【０１２３】
コンテキスト展開部１６は、入力されたコンテキスト表現に従い、コンテキスト保持部１−Ｌ＋１，１−Ｌ＋２を合成する。このとき、合成されるコンテキスト保持部１−Ｌ＋１，１−Ｌ＋２は、属性保持部２−Ｌ＋１，２−Ｌ＋２、名前解析部３−Ｌ＋１，３−Ｌ＋２、名前変換部４−Ｌ＋１，４−Ｌ＋２とともに、コンテキスト抽出部１３−Ｌ＋１，１３−Ｌ＋２が設けられる。
【０１２４】
合成されたコンテキスト保持部１−Ｌ＋１，１−Ｌ＋２は、コンテキストデータベース検索部１５に渡され、上述の第１の実施の形態で説明した例と同様にして、コンテキストデータベース部１４に登録される。これにより、資源管理装置２２において、資源管理装置２１におけるコンテキスト保持部１−１，１−２を用いた場合と同様の名前の解決を行ない、所望の資源を得ることができるようになる。
【０１２５】
本発明は、上述の第１および第２の実施の形態に示した構成の他、種々の変形が可能である。例えば、上述の第１および第２の実施の形態において、名前解決部５をコンテキスト保持部に含ませることも可能である。この場合、名前を解決する過程において、各コンテキスト保持部の名前解決部は、第２の資源実現表現の解決を他のコンテキスト保持部に依頼し、名前の解決結果である第１の資源実現表現を受け取るように構成する必要がある。このとき、コンテキストデータベース検索部が、第２の資源実現表現中のコンテキスト検索式をもとに依頼先のコンテキスト保持部を検索して第２の資源実現表現を渡し、結果を受けて依頼元に返すように構成してもよい。さらに、名前解決部５とともに資源実現部６もコンテキスト保持部に含ませることも可能である。
【０１２６】
なお、コンテキスト保持部の構成要素は、コンテキスト表現を送る側と受ける側とで一致していることが望ましいが、受け取った資源管理装置において欠落している要素が発生しない限り、相違していてもかまわない。例えば、送り側ではコンテキスト保持部は属性保持部、名前解析部、名前変換部、名前解決部を有しており、受け側では、コンテキスト保持部は属性保持部、名前解析部、名前変換部を有し、共通の名前解決部を有している場合、受け側において送り側と同様の属性保持部、名前解析部、名前変換部、名前解決部を有するコンテキスト保持部を合成し、例えばコンテキスト保持部内の名前解決部を優先して使用するように構成することが可能である。
【０１２７】
また、上述の第１および第２の実施の形態においては、資源管理装置２２には資源管理部８および資源保持部７を設けていないが、もちろん、これらの要素を設けることができる。その場合には、資源管理装置２２のみで名前を解決し、所望の資源を得るように構成することができる。逆に、資源実現部６を設けず、実際に資源を管理している資源管理装置に対して名前解決部からの名前解決結果を送り、資源の実現を依頼するように構成してもよい。
【０１２８】
さらに、上述の第１および第２の実施の形態において、資源管理装置２１にもコンテキスト展開部を設け、また、資源管理装置２２にもコンテキスト選択部、コンテキスト抽出部を設け、それぞれの資源管理装置がコンテキスト表現の送受が行なえるように構成することも可能である。
【０１２９】
さらに、上述の第１および第２の実施の形態において、コンテキスト選択部で選択したコンテキスト保持部のみによってコンテキストデータベース部内に別の集合を作成し、新たな名前解決空間を設定することも可能である。
【０１３０】
図１１、図１２は、本発明の資源管理装置の第３の実施の形態を示すブロック図である。図中、図７、図８と同様の部分には同じ符号を付して説明を省略する。１７−１，・・・，１７−Ｎはコンテキスト展開部、１８は共通コンテキスト展開部、２３は資源管理装置である。上述の第１および第２の実施の形態では、コンテキスト保持部を受け取る側で転送されるコンテキスト保持部の構成がわかっている必要がある。この第３の実施の形態では、さらにコンテキスト展開部を各コンテキスト保持部内に設け、コンテキスト保持部内のコンテキスト展開部によってコンテキスト保持部を展開することによって、コンテキスト保持部を受け取る側ではコンテキスト保持部の内容がわかっていなくても展開することができる。まず、図７に示した資源管理装置２１から説明する。
【０１３１】
コンテキスト保持部１−１〜１−Ｎには、属性保持部２−１〜２−Ｎ、名前解析部３−１〜３−Ｎ、名前変換部４−１〜４−Ｎ、コンテキスト抽出部１３−１〜１３−Ｎとともに、コンテキスト展開部１７−１〜１７−Ｎがそれぞれ設けられている。コンテキスト展開部１７−１〜１７−Ｎは、それぞれが設けられているコンテキスト保持部１−１〜１−Ｎと同等のコンテキスト保持部を生成する。
【０１３２】
次に、資源管理装置２２について説明する。共通コンテキスト展開部１８は、他の資源管理装置から送られてくるコンテキスト表現中のコンテキスト展開部を起動する。これにより、コンテキスト保持部が自己解凍的に生成される。また、共通コンテキスト展開部１８は、生成されたコンテキスト保持部中の名前変換部が有する名前の変換のための規則を、この資源管理装置２２に合わせてカスタマイズする機能も有している。
【０１３３】
なお、資源管理装置２３は、図７における資源管理装置２１中の資源保持部７−１〜７−Ｍと資源管理部８を別の資源管理装置上に設けた例を示すものである。
【０１３４】
この第３の実施の形態によれば、情報処理を行なう複数の計算機システムがネットワーク上に分散配置され、前記個々の計算機システムごとに局所的または大域的にあらかじめ実現されている資源に対して、ユーザ個々が所望する性質を持つ局所的で仮想的な資源を具現化するコンテキストを複写したのち、コンピュータ甲からコンピュータ乙に移転し、移転先であらかじめ実現されている資源に対して、仮想的な資源そのものか、または、カスタマイズによって仮想的資源が有する性質を備える新たな局所的で仮想的な資源を構成することができる。
【０１３５】
上述の各実施の形態では、コンテキスト表現をネットワークなどを通じて転送する例を示した。しかし、コンテキスト表現を流布させるためには、ネットワークを用いず、例えば計算機システムから取り外し可能な記録媒体（以下、単に媒体という）を用いて流布させることも可能である。以下、この媒体を用いたコンテキストの転送を説明するとともに、上述の第３の実施の形態で示したコンテキストのカスタマイズについて、ファイルシステムを用いて具体的に説明する。しかし、ファイルシステムに限らず、他の資源についても同様であることは言うまでもない。
【０１３６】
図１３は、媒体を用いたコンテキストの移転を実現するためのシステム構成の一例を示すブロック図である。図中、３１，３２はコンテキスト管理装置、３３はコンテキストフリーザ、３４は媒体、３５はコンテキストローダである。コンテキスト管理装置３１，３２は、一つ以上のコンテキスト保持部（以下、単にコンテキストと呼ぶことがある）を有し、これらを管理する。この例では、コンテキスト管理装置３１はコンテキスト−１，コンテキスト−２を有し、コンテキスト管理装置３２はコンテキスト−１’，コンテキスト−２’，コンテキスト−３を有している。
【０１３７】
コンテキストフリーザ３３は、コンテキスト管理装置３１から指定されたコンテキストを取り出し、媒体３４に書き込める形に変換したコンテキストの複製、すなわちコンテキスト表現を作成し、媒体３４へ書き込む。
【０１３８】
コンテキストローダ３５は、媒体３４からコンテキストの複製を取り出して、指示によりカスタマイズを行ない、さらに動作可能なように復元してコンテキスト管理装置３２に格納する。
【０１３９】
また、ファイルシステム−１，ファイルシステム−２は実際の資源である。Ｉｎｄｅｘは、ファイルシステム−１から生成されたデータベースであり、ファイルシステム−１中のデータの検索に用いることができる。
【０１４０】
図１４、図１５は、媒体を用いた構成における具体例で取り扱う既存の資源の一例の説明図である。図１４にはファイルシステム−１の一例を示している。ファイルシステム−１は、ＵＮＩＸ（登録商標）やＭＳ−ＤＯＳ（登録商標）などで扱われる通常のファイルシステムである。ファイル−１，・・・，ファイル−１０はそれぞれ所定の第１のフォーマットで格納されたファイルである。グループ−１，グループ−２，グループ−３は空または１個以上のファイルの集合を表わすグループである。このようなグループは、ＵＮＩＸやＭＳ−ＤＯＳではディレクトリと呼ばれる。ファイルシステムとファイルとディレクトリは資源である。ファイルシステム−１の名前はＦＳ−１とする。グループ−１〜３の名前はそれぞれＧ−１，Ｇ−２，Ｇ−３とする。ファイル−１，・・・，ファイル−１０の名前はそれぞれＦ−１，・・・，Ｆ−１０とする。図１５にグループＧ−１とＧ−２とＧ−３とファイルＦ−１，・・・，Ｆ−１０のグループおよびメンバの関係を階層で示している。
【０１４１】
図１６、図１７は、媒体を用いた構成におけるコンテキストで具現化した仮想的な資源の一例の説明図、図１８は、コンテキスト−１の説明図である。図１６に示す仮想的な資源は、図１３に示したコンテキスト−１とコンテキスト−２で具現化されるものである。図１６は仮想ファイルシステムで提供される仮想グループと仮想ファイルを示している。仮想ファイルシステム−１はＵＮＩＸやＭＳ−ＤＯＳなどで扱われる通常のファイルシステムと同等に振る舞う。すなわちファイル名を指定してオープン処理をするとファイルハンドルが得られ、ファイルハンドルに対して入出力を行なうと、あたかもファイル名に対応するファイルが存在して、ファイルデータが読み書きされるように振舞う。このファイルシステムと、ファイルシステムにあるグループやファイルは、みなコンテキスト−１とコンテキスト−２で具現化された仮想的な資源である。
【０１４２】
仮想ファイル−１，・・・，仮想ファイル−１０はそれぞれファイルとして振る舞うような、コンテキスト−１とコンテキスト−２で具現化された仮想的な資源である。仮想グループ−１，仮想グループ−２，仮想グループ−３は空または１個以上のファイルの集合を表わすグループとして振る舞うような、コンテキスト−１とコンテキスト−２で具現化された仮想的な資源である。仮想ファイルシステム−１の名はｖｆｓ−１とする。仮想グループ−１〜４の名はそれぞれｇ−１，ｇ−２，ｇ−３，ｇ−４とする。仮想ファイル−１，・・・，仮想ファイル−１０の名はそれぞれｆ−１，・・・，ｆ−１０とする。
【０１４３】
図１７は仮想グループと仮想ファイルのグループおよびメンバの関係を階層で示している。また、図１８は仮想ファイルシステムを提供するためのコンテキストを示している。仮想ファイルシステム−１に対するハンドル−２は、コンテキスト−１によって提供される。
【０１４４】
図１９は、仮想資源を具現化するコンテキスト−１とコンテキスト−２の接続の説明図である。図１９には、コンテキストであるコンテキスト−１とコンテキスト−２と、実資源であるファイルシステム−１とデータベースＩｎｄｅｘの接続関係を示している。実資源のファイルシステムであるファイルシステム−１から生成したデータベースＩｎｄｅｘにアクセスするためのハンドルとしてハンドル−４があって、コンテキスト−２はハンドル−４を用いて、Ｋｅｙ−１，Ｋｅｙ−２，Ｋｅｙ−３，Ｋｅｙ−４，Ｋｅｙ−５，ＡＬＬという名前の仮想資源を具現する。
【０１４５】
コンテキスト−２で具現されたファイルＦ１，・・・，Ｆ１０はハンドル−３でアクセスされる。コンテキスト−１はハンドル−３とハンドル−１を用いて、ｇ−１，ｇ−２，ｇ−３，ｇ−４という名前の仮想グループを具現する。
【０１４６】
コンテキスト−１，２は、上述の各実施の形態で示したものと同等のものであり、入力された名前の変換処理も同様に行なわれる。ここでは名前変換部の動作は名前変換表が定めるものとする。図２０、図２１は、名前変換表の一例の説明図である。名前変換表は、仮想資源の名前をエントリーとし、表の行は、名前に対する空または一つ以上の資源と、データを処理する手続きを含む。名前変換部は、名前解析部で切り出された仮想的な資源の名前を、名前変換表から選びだして、対応する行の資源と手続きを読み出し、資源実現表現を構成する。
【０１４７】
図２０はコンテキスト−１の名前変換表Ｔａｂｌｅ−１を示しており、例えば仮想グループｇ−１はｍｅｍｂｅｒ（＜コンテキスト−２，’Ｋｅｙ−１’＞）に変換されることを示している。なお、仮想グループｇ−４が変換される手続きｏｔｈｅｒｓは、引数に与えられたキーワードの列を含まないファイルのグループを実現する手続きである。図２１はコンテキスト−２の名前変換表Ｔａｂｌｅ−２を示しており、例えば仮想資源Ｋｅｙ−１はｓｅａｒｃｈ（Ｋｅｙ−１）に変換される。
【０１４８】
次に、コンテキストを利用者甲から利用者乙へ移転し、移転先乙で行なった名前解決の結果として得られる名前解決木を乙の事情に合うように、コンテキストをカスタマイズして乙のコンピュータシステムに組み込む場合について説明する。ここで、名前解決木は資源実現表現に現われる手続き名をノードとして、前記手続きの引数を前記ノードの子とする木構造である。名前解決木は、特定の仮想的な資源が、実資源と、資源を処理する手続きの組み合わせで具現される様子を表わす。ここでいうカスタマイズとは、コンテキストが具現する特定の名前に対する名前解決木の一部または全部を変えた名前解決木を具現するように、コンテキストの動作を改めることである。
【０１４９】
まず始めに、利用者甲でのコンテキスト−１の動作を説明する。コンテキスト−１の名前変換部は、図２０に示した名前変換表Ｔａｂｌｅ−１によってグループ名ｇ−１を、資源実現表現ｍｅｍｂｅｒ（＜コンテキスト−２，’Ｋｅｙ−１’＞）に変換する。Ｋｅｙ−１は所定のキーワードである。ｍｅｍｂｅｒは、レコード型のデータを引数として１つだけ持つ手続きの名前であって、レコードの内容はファイル名のリストであるとする。
【０１５０】
名前解決部が名前ｇ−１を解決した結果として得られる名前解決木を資源実現部が解釈して得られるハンドルは、仮想資源であるグループに対する操作に応答し、グループが具現されているように振る舞う。例えば、ｍｅｍｂｅｒが示す手続きは、ディレクトリとして操作可能なハンドルを入出力ポートとして構成し、所定のオペレーションとして、ｏｐｅｎｄｉｒ（ディレクトリに対する操作の開始）やｌｉｓｔｍｅｍｂｅｒ（ディレクトリのメンバのリストを得る）を可能にするプログラムであるとする。
【０１５１】
資源実現部は、ｍｅｍｂｅｒが示す手続きをプロセスとして起動し、引数の入力は＜コンテキスト−２，Ｋｅｙ−１＞から構成されたハンドル−３に接続され、出力はハンドル−２に接続される。プロセスの入出力とハンドルの接続は、例えばＵＮＩＸのパイプラインやリダイレクションで実現することができる。ＵＮＩＸのパイプラインは、プロセスＡの出力ポートとプロセスＢの入力ポートを相互に接続する。リダイレクションは、プロセスＡの入力ポートをファイルＣのファイルハンドルに接続し、ファイルＣからデータが読み込まれるようにするし、出力ポートの場合は、ファイルＤのファイルハンドルを接続することで、ファイルＤにデータが書き込まれるようにする。
【０１５２】
甲では、引数として手続きｍｅｍｂｅｒに渡された＜コンテキスト−２，Ｋｅｙ−１＞の解決をコンテキスト−２に依頼し、その結果得られる名前解決木を解釈して得られるハンドルは、Ｋｅｙ−１という名前と等しいキーワードを含むファイル名のリストからなる仮想的なレコードを表わす。
【０１５３】
コンテキスト−２でＫｅｙ−１を解決すると、ファイルＦ−１〜Ｆ１０からＫｅｙ−１と等しい文字列をキーワードとして有するファイルのリストを抜き出すような、データベースへのコマンドｓｅｒａｃｈ（Ｋｅｙ−１）が得られる。データベースは、従来のレコード型のデータベースを構成してもよいし、一つのキーワードフィールドと、所定の個数または、可変の個数のファイル名からなる表を構成するようなリレーショナルデータベースによって実現してもよい。
【０１５４】
この実施例では、データベースＩｎｄｅｘは、
ｋｅｙｗｏｒｄ１：Ｆｘ，Ｆｘ＋１，．．．
Ｋｅｙｗｏｒｄ２：Ｆｙ，Ｆｙ＋１，．．．
．．．
といったレコードの集まりで実現されている。データベースＩｎｄｅｘからｋｅｙｗｏｒｄ１を含むレコードを検索するには、例えばレコードがＵＮＩＸファイルシステムに格納されたファイルＦ−１〜１０のそれぞれであって、ｇｒｅｐコマンドによって構成してもよい。ｇｒｅｐコマンドは、起動時の引数として所定の構文規則にのっとった一つのキーワードと、一つ以上のファイル名を列にして与えると、引数に示されたファイル名のすべてのファイルから、キーワードを含むファイル名やキーワードを含む行を出力するように動作させることができる。
【０１５５】
この実施例では、検索は次の処理で行なう。まず、対象とするレコードを有するすべてのファイルについて順に、Ｋｅｙｗｏｒｄ１を含むか否かを調べ、含んでいたらファイル名を出力する。含んでいなければファイル名を出力しない。対象ファイルをすべて調べ終えたら処理を終了する。例えばＵＮＩＸ系のＯＳであるＦｒｅｅＢＳＤでは、検索コマンドは、ｃｓｈスクリプトであって、
ｆｏｒｅａｃｈ  ｆ（｀ｇｒｅｐ−ｌ  Ｋｅｙｗｏｒｄ１  ＊／Ｆ．＊｀）
ｅｃｈｏ  −ｎ  ”＄ｆ”
ｅｎｄ
とすればよい。
【０１５６】
コンテキスト−２に名前Ｋｅｙ−１が入力されると、データベースＩｎｄｅｘに対してＫｅｙ−１がキーワードとして登録されているレコードの検索コマンド列に解決する。すなわち、コンテキスト−２の名前解析部が文字列Ｋｅｙ−１を切り出し、名前変換部が文字列Ｋｅｙ−１によって図２１に示した名前変換表のＫｅｙ−１のエントリを検索し、手続きｓｅａｒｃｈ（Ｋｅｙ−１）を得る。さらに名前解決部が資源実現表現ｓｅａｒｃｈ（Ｋｅｙ−１）を生成し、資源実現部が資源実現表現ｓｅａｒｃｈ（Ｋｅｙ−１）から、手続きｓｅａｒｃｈをプロセスｓｅａｒｃｈとして起動し、データベースＩｎｄｅｘを操作するハンドル−４とプロセスｓｅａｒｃｈの通信ポートを結合する。プロセスｓｅａｒｃｈはＫｅｙ−１をキーワードとして検索するような検索コマンドを、ハンドル−４を経由してデータベースＩｎｄｅｘに発行する。検索結果として例えばリスト“Ｆ−１，Ｆ−２，Ｆ−３”がデータベースＩｎｄｅｘから得られる。この検索結果をハンドル−３からのリードファイルコマンドに対する応答としてハンドル−３へ出力する。
【０１５７】
図２２は、データベースＩｎｄｅｘから得られる検索結果の一例の説明図である。上述のように、この例の場合、ファイルＦ−１，Ｆ−２，Ｆ−３が文字列Ｋｅｙ−１をキーワードとして含むものとすると、図２２の１行目に示すように“Ｆ−１，Ｆ−２，Ｆ−３”が出力される。検索しようとしたレコードがない場合は、空のリストが出力される。図２２では、図２１に示した名前変換表の仮想資源の各行の検索コマンドの実行結果として得られる列を図２１に示す表に対応付けて示している。
【０１５８】
次に、コンテキスト−１の仮想グループであるグループｇ−１がオープンされているハンドル−１に対して、ｌｉｓｔｍｅｍｂｅｒという操作を行なう場合を説明する。操作ｌｉｓｔｍｅｍｂｅｒは、グループのメンバのリストを出力するような操作である。ＵＮＩＸのファイルシステムではｌｓコマンドがよく知られている。
【０１５９】
コマンドとして“ｌｉｓｔｍｅｍｂｅｒ  ｇ−１”を実行すると、コンテキスト−１の名前解析部が文字列ｇ−１を切り出し、名前変換部が文字列ｇ−１によって名前変換表のｇ−１のエントリを検索し、手続きｍｅｍｂｅｒ（＜コンテキスト−２，’Ｋｅｙ−１’＞）を得る。さらに、コンテキスト−１の名前解決部が資源実現表現ｍｅｍｂｅｒ（＜コンテキスト−２，’Ｋｅｙ−１’＞）を生成し、資源実現部が資源実現表現ｍｅｍｂｅｒ（＜コンテキスト−２，’Ｋｅｙ−１’＞）から、手続きｍｅｍｂｅｒをプロセスｍｅｍｂｅｒとして起動し、コンテキスト−２のＫｅｙ−１というファイルをオープンして、ハンドル−３とプロセスｍｅｍｂｅｒの通信ポートを結合する。プロセスｍｅｍｂｅｒはＫｅｙ−１という名前のファイルをリードして、結果としてリスト“Ｆ−１，Ｆ−２，Ｆ−３”を得る。プロセスｍｅｍｂｅｒはリスト“Ｆ−１，Ｆ−２，Ｆ−３”を字句解析して、ハンドル−２から入力されたコマンドｌｉｓｔｍｅｍｂｅｒに対して、Ｆ１とＦ２とＦ３のそれぞれをメンバとする操作結果を所定のフォーマットで出力する。例えば１行に１メンバを含む行の集合として出力すると、
メンバ１：Ｆ−１
メンバ２：Ｆ−２
メンバ３：Ｆ−３
という操作結果が得られる。
【０１６０】
さて、ここで仮想ファイルシステムＶｆｓ−１では、ファイル名Ｆ−１，Ｆ−２，Ｆ−３の名前でアクセスすると、それぞれ仮想ファイルｆ−１，ｆ−２，ｆ−３がアクセスされるように設計されているものとする。ここでは、説明の上で混乱を避け、仮想ファイルと実ファイルを区別するために、別の記号を付与している。すなわち、‘＝’は文字列として同じの意味とするとき、Ｆ−１＝ｆ−１，Ｆ−２＝ｆ−２，Ｆ−３＝ｆ−３である。これは、同じファイル名でアクセスしても、仮想ファイルでは異なる特長を有するファイルがアクセスされることを意味する。この様子を次に説明する。
【０１６１】
上述のように、ｍｅｍｂｅｒ（＜コンテキスト−２，Ｋｅｙ−１＞）により定まる処理を行なって、その結果として、ファイル名Ｆ−１，Ｆ−２，Ｆ−３が出力されるとする。ファイル名Ｆ−１，Ｆ−２，Ｆ−３は仮想ファイルでの名前と解釈されるので、実際には仮想ファイル名ｆ−１，ｆ−２，ｆ−３でアクセスされる。すなわち、＜コンテキスト−１，’Ｆ−１’＞は＜コンテキスト−１，’ｆ−１’＞を示し、同様に＜コンテキスト−２，’Ｆ−２’＞，＜コンテキスト−３，’Ｆ−３’＞，．．．はそれぞれ＜コンテキスト−２，’ｆ−２’＞，＜コンテキスト−３，’ｆ−３’＞，．．．を示す。
【０１６２】
仮想ファイル名ｆ−１，ｆ−２，ｆ−３はそれぞれ仮想ファイル−１，仮想ファイル−２，仮想ファイル−３の名前である。仮想ファイル−１はファイル−１になんらかの処理を施すことで得られる仮想的なファイルである。たとえば、ファイル−１が画像ファイルであれば、解像度を変換する処理としてｒｅｓａｍｐｌｅという名前の手続きを施すことで得られるような、ファイル−１の画像と同じ内容で解像度の異なる画像を表わす仮想的な画像ファイルである。ファイル−１の解像度が１６００ピクセル／インチ（１インチは２５．４ｍｍ）であって、解像度を変換する処理Ｌは、１６００ピクセル／インチから４００ピクセル／インチに変換するものであれば、仮想ファイル−１の性質の１つは、解像度が４００ピクセル／インチである。同様に、ファイル−２に対して仮想ファイル−２，ファイル−３に対して仮想ファイル−３が対応付けられ、ファイル−２，ファイル−３はそれぞれ１６００ピクセル／インチの解像度の画像であって、ｆ−２は＜Ｌ，Ｆ−２＞、ｆ−３は＜Ｌ，Ｆ−３＞に解決されるようにコンテキストを構成すれば、ｆ−１，ｆ−２，ｆ−３はもとのＦ−１，Ｆ−２，Ｆ−３が有する性質、すなわち解像度が１６００ピクセル／インチに対して、４００ピクセル／インチであるような仮想的なファイルを具現化する。
【０１６３】
このような名前解決を行なうには、名前変換部が図２０に示すような名前変換表Ｔａｂｌｅ−１を有していればよい。ここで＜ファイルシステム−１，Ｆ−１＞は、ファイルシステム−１のＦ−１という名前のファイル、すなわち実ファイルＦ−１である。仮想ファイルｆ−１から、ｒｅｓａｍｐｌｅ（＜ファイルシステム−１，Ｆ−１＞）の解決や動作は、上述の仮想グループｇ−１の解決や動作と同等なので説明を省略する。
【０１６４】
解決に供される処理は、上述の解像度変換のほかにも、一般にはフォーマット変換やプロトコルの変換など任意の変換処理であってよい。また、説明した処理は１引数の処理であったが、任意の引数の任意の処理であってよい。例えば、２つの画像データの合成処理を行なう２引数の処理Ｍの場合は、所定の名前Ｎは＜Ｍ，Ｆ−２，Ｆ−３＞のように解決され、処理ＭはファイルＦ−２とファイルＦ−３の画像データをピクセルごとに加算し、結果として画像データを合成する処理を行ない、リードに対して単一の画像データを出力する。ライトに対しては、コンテキストの設計者が所望するような作用をファイルＦ−２，Ｆ−３に与える任意の処理に解決されるようにしてよい。この場合のＮに対する仮想資源は、ファイルＦ−２とＦ−３を合成して得られる単一の仮想的な画像ファイルとして具現化される。
【０１６５】
コンテキストには前記のような手続きの実体を含んでもよいが、含まなくても良い。手続きをコンテキストに含まない場合は、甲と乙とにおいて、コンテキストが解決した手続き名を起動し、コンテキストが解決した資源への入出力ができるようにハンドルを接続する機能が別に用意されているものとする。ここで、同じ手続き名の示す手続きの動作は、甲と乙と同じであると仮定しているが、必ずしも同じである必要はない。しかし、少なくとも手続きで指定される引数のハンドルを扱える必要がある。
【０１６６】
手続きの実体をコンテキストに含む場合には、その手続きは、甲と乙で動作可能である必要がある。甲と乙で動作するためには、従来の方法による。例えばソースプログラムや中間的なオブジェクトコードをインタプリティブに実行可能な手続き処理系を用いる方法や、動作の前にコンパイルを行ない、実行形式を生成してから動作する方法や、実行形式を直接解釈実行するエミュレーション方式がある。
【０１６７】
次に、このように構成されたコンテキストを複写し、取外し可能な媒体に記録し保持する処理を説明する。甲において複写するコンテキストを選択する。コンテキストを選択する方法は、上述の各実施の形態のようにコンテキスト検索式によりコンテキストを検索すればよい。コンテキスト検索式としては、データベースの検索コマンドによってコンテキストの集合または列を指定するしたり、コンテキストの名前を逐一指定することができる。また、ＵＮＩＸのファイルシステムに対するｆｉｎｄコマンドと同様に、ファイルを木構造と見立てて実際に名前の解決を逐次に行ない、木構造を所定の方式で探索して、所定の条件を満足するコンテキストを定める方法でもよい。これは、木構造を有するディレクトリに格納された一つ以上のファイルをシリアライズして一つのファイルにするのに使われる。ＵＮＩＸではｔａｒコマンドとして知られている。
【０１６８】
一般にコンテキストが解決を行なう際に利用されるコンテキストどうしの参照関係は、有向グラフになる。したがって、ループをなすサブグラフに探索した際に無限に処理が続くことを避けるためには、すでに探索したことをマークするフラッグをコンテキストに用意するか、あるいは別に探索したコンテキストの名前や識別子のリストを保持する。このようなグラフ探索のアルゴリズムはよく知られているので、ここでは詳しく説明しない。
【０１６９】
ここでは２つのコンテキストを指定し、複写して媒体３４に記録する。記録する媒体３４は、例えばＩＳＯ９６６０に規定されているＣＤ−ＲＯＭで、コンテキストはＣＤ−ＲＯＭ上のファイルとして永続化し、記録することができる。もちろん、フロッピーディスクやディスクパックなど、種々の媒体を用いることができる。
【０１７０】
ここでは、コンテキストの複写は、コンテキストの解決に用いられる名前変換表を複写することで行なうものとする。ただし、一般には複写の対象とするオブジェクトは媒体に複写されたコンテキストを移転先で復元するのに必要な情報である。例えば、名前解析に用いるシンタクス表であったり、資源を実現する手続きであったり、コンテキストの状態を定める状態変数の値であってもよい。
【０１７１】
図２３、図２４は、媒体に記録されたコンテキストの一例の説明図である。例えば、テーブルと手続きは、ＨＴＭＬ言語を用いて、図２３、図２４に示すように媒体３４に記録することができる。図２３は、コンテキスト−１の複写されたイメージであり、名前変換表として図２０に示す内容がＨＴＭＬ言語によって記録されている。このコンテキスト−１の複写されたイメージをＳｐｅｃ−１とする。また、図２４は、コンテキスト−２の複写されたイメージであり、名前変換表として図２１に示す内容が記録されている。このコンテキスト−２の複写されたイメージをＳｐｅｃ−２とする。
【０１７２】
ここでは、コンテキストはＨＴＭＬ言語によって記述される例を示したが、もちろんこのほかの言語によって記述されてもよい。また、コンテキストは所定の文法にもとづいたテキスト記述に複写されるほか、表形式のデータベースでもよいし、コンテキストをオブジェクト指向言語のクラスとインスタンスとして実現し、実現したコンテキストのクラスまたはインスタンスを、オブジェクト指向データベースに格納し、永続化してもよい。
【０１７３】
なお、上述のＩＳＯ９６６０は、ＵＮＩＸでは通常のファイルシステムに比べてファイル名などの制約が強いが、ここでは一例として用いただけであり、ファイル名の制約はこの発明の動作とは無関係である。
【０１７４】
次に、図２３、図２４に示したコンテキストのイメージＳｐｅｃ−１とＳｐｅｃ−２を記録したＣＤ−ＲＯＭを乙のコンピュータに接続し、２つのコンテキストを乙のコンピュータに組み込む際の処理について説明する。ここでは、乙にはあらかじめコンテキストがあって、コンテキストの名前変換表を交換することで、コンテキストの名前解決の動作を変更するものとする。または、ＣＤ−ＲＯＭ中にコンテキストがソースプログラムまたはオブジェクトプログラムの形で格納してあって、移転先のコンピュータで起動できるようにしてあってもよい。この例が上述の第３の実施の形態である。
【０１７５】
コンテキスト−１’とコンテキスト−２’を起動したあとで、あるいは起動時に、ＣＤ−ＲＯＭ中にファイルとして用意したＳｐｅｃ−１やＳｐｅｃ−２を読み込む。コンテキスト−１’とコンテキスト−２’は、コンテキスト−１，コンテキスト−２の動作を再現するためにコンテキスト−１の名前解析部と名前解決部と資源実現部を有する。
【０１７６】
次に、コンテキストをカスタマイズする処理について説明する。図２５は、カスタマイズにより仮想資源を具現化する各コンテキストの接続の説明図である。はじめに、解決の対象とする資源をカスタマイズする方法を説明する。ここでは、ファイルＦ−１，．．．，Ｆ−１０の代わりに、所定のタイミングで内容が互いに複写され、無矛盾性が保たれるように構成されたファイルＲ−１，．．．，Ｒ−１０が乙のシステムに存在するものとする。このような仕組みはすでに知られており、例えばＵＮＩＸのｒｄｉｓｔコマンドなどで実現されている。ｒｄｉｓｔコマンドはネットワーク上の異なるコンピュータシステムにおいて協調して動作し、それぞれのコンピュータシステムのファイルのタイムスタンプを調べて新旧を判定し、旧ファイルに代えて新しいファイルをコピーする。乙はファイルＦ−１〜Ｆ−１０にアクセスするよりファイルＲ−１〜Ｒ−１０にアクセスしたほうがアクセスコストが低くなるので、そのようにカスタマイズしたいとする。
【０１７７】
乙は、新たなコンテキスト−３を用意する。図２６は、コンテキスト−３の名前変換表の一例の説明図である。コンテキスト−３は、例えば図２６に示すように、名前ｆ−１が入力されるとファイル名Ｒ−１とファイル名Ｆ−１と手続きｃｈｅｃｋ＿ａｎｄ＿ｃｏｐｙに解決するように構成する。ｆ−１の名前解決の結果を評価して得られるハンドル−１とハンドル−６は、入出力の操作に対して、ファイルＦ−１に対する入出力と同様に行なわれる。このとき異なるのは、オープン処理の時にファイルＦ−１とファイルＲ−１の最終変更時間をチェックして、ファイルＲ−１が古ければ、ファイルＦ−１からファイルＲ−１へ所定の転送手続きを用いてコピーを行なう手続きｃｈｅｃｋ＿ａｎｄ＿ｃｏｐｙが実行されることである。ファイルＦ−１の方が古ければなにもしない。また、クローズ処理の時に、手続きｃｈｅｃｋ＿ａｎｄ＿ｃｏｐｙは、ファイルＦ−１とファイルＲ−１の最終変更時間をチェックして、ファイルＦ−１の方が古いときは、ファイルＦ−１の書き込みをロックして、ファイルＲ−１からファイルＦ−１へ所定の転送手続きを用いてコピーを行なう。ファイルＲ−１，．．．，Ｒ−１０はファイルシステム−２にあるものとする。
【０１７８】
コンテキスト−３でもコンテキスト−１同様にファイルＦ−１と仮想ファイルｆ−１，ファイルＦ−２と仮想ファイルｆ−２，ファイルＦ−３と仮想ファイルｆ−３は同じ名前とするが、説明の混乱を避けるために記号は区別している。
【０１７９】
コンテキスト−３は、その他のアプリケーションと共通して、仮想ファイルｆ−１をファイルＦ−１として扱うすべてのアプリケーションから利用ができる。したがってコンテキスト−３はあらかじめ用意され、実現されている。
【０１８０】
図２７は、コンテキスト−１’の名前変換表の一例の説明図である。コンテキスト−１の仮想ファイルｆ−１はファイルＦ−１と同じ画像であるが、解像度が異なって読み出される。一方、乙では、解像度はファイルＦ−１と同じであるが、ファイルＦ−１のレプリカを使うものとする。そこで、図２０に示したコンテキスト−１の名前変換表のｆ−１からｆ−１０のエントリに対して、ｎを１から１０までとするときｒｅｓａｍｐｌｅ（＜ファイルシステム−１，Ｆ−ｎ＞）を＜コンテキスト−３，ｆ−ｎ＞であるようにカスタマイズしたい。
【０１８１】
ここで、コンテキスト−１，コンテキスト−２を読み込む際に、コンテキストローダＬは、利用者乙の指示にしたがって、コンテキスト−１をカスタマイズする。すなわち、Ｓｐｅｃ−１のｒｅｓａｍｐｌｅ（＜コンテキスト−１，ｆ−ｎ＞）を＜コンテキスト−３，ｆ−ｎ＞に機械的に置き換える。これにより、図２７に示す名前変換表が得られる。
【０１８２】
置き換えは、Ｓｐｅｃ−１，Ｓｐｅｃ−２がテキストファイルならば、正規表現を利用した単純なテキスト置き換えエディタを使って可能である。置き換えのためのエディタコマンドは、コンテキスト−３の名前変換表から自動的に構成可能である。自動的に置き換えるための指示は、「コンテキスト−１のｆ−ｋ（解像度が変更されたＦ−ｋ）の代わりに、コンテキスト−３のｆ−ｋ（Ｆ−ｋのレプリカ）を使うようにカスタマイズする（ｋはコンテキスト−１で可能な整数）」
というものである。この指示に基づき、すべてのｆ−ｋ（ただしｋは整数）について、Ｓｐｅｃ−１を順に読み込み、名前変換表のすべての行についてエントリがｆ−ｋであればそのエントリを＜コンテキスト−３，ｆ−ｋ＞に置き換える。そして、すべての行について変更が済んだＳｐｅｃ−１’を使って新しいコンテキスト−１’を起動する。
【０１８３】
また、このような置換えコマンドを実行するエディタとしては、たとえばＵＮＩＸのｓｅｄやｅｘコマンドなどがある。何らかの表を扱うフォーマットであれば、専用のエディタや、表のフォーマットを解析して、解析された表の表現木を探索して、被置換名前と置換名前を置き換えたり、追加することは、従来知られた方法で可能である。
【０１８４】
このようにすれば、乙がコンテキスト−１’に仮想ファイル名ｆ−１の解決を依頼すると、コンテキスト−１’は図２７に示した名前変換表をもとに資源実現表現＜コンテキスト−３，ｆ−１＞を得る。この資源実現表現から仮想ファイル名ｆ−１の解決をコンテキスト−３に依頼する。コンテキスト−３は図２６に示した名前変換表をもとに仮想ファイル名ｆ−１を手続きｃｈｅｃｋ＿ａｎｄ＿ｃｏｐｙ（Ｒ−１，Ｆ−１）に解決し、通常のリードやライトはファイルＦ−１のレプリカであるファイルＲ−１に対して行ない、オープン、クローズ処理の時に必要に応じてファイルＦ−１との間のコピーを行なう。これにより、乙は同じ仮想ファイル名ｆ−１を用いていながら、ファイルＦ−１のレプリカであるファイルＲ−１をアクセスできるようになる。
【０１８５】
図２８は、名前解決木の一例の説明図である。図２８（Ａ）に甲のｆ−１の名前解決木を、図２８（Ｂ）に乙のｆ−１の名前解決木を示す。この実施の形態では名前変換表を改変して名前変換部の動作を変え、コンテキストの動作をカスタマイズする例を説明したが、カスタマイズのために改変するものはこれに限らない。例えば名前解析のためのシンタクス表を変えれば、名前解析部の動作を変えることができる。あるいはコンテキストの状態を定める状態変数を変えてもよい。
【０１８６】
このようにして、乙は甲が利用する仮想的なファイルシステムと同等の仮想ファイルシステムを容易に具現化できるだけでなく、乙の事情に合わせて、甲が設計し、具現化した名前空間の一部分が有する性質や副作用はそのままにカスタマイズして、乙のコンピュータに組み込む機能を提供することができる。カスタマイズは、コンテキストとコンテキストの接続の仕方や組み合わせを変えることと、コンテキストの名前変換部や名前解析部の動作やコンテキストの状態を変えることで行なわれる。カスタマイズの内容としては、仮想資源を具現化するのに必要な、すでに実現されている資源の置換えや付与、削除と、手続きの置き換えや付与、削除等が考えられる。
【０１８７】
また、このようにして、媒体３４によってコンテキストを１つのコンピュータから他のコンピュータへ転送し、コンテキストを配付することができる。なお、この例では媒体３４を介してコンテキストを転送、配付する場合について述べたが、これに限らず上述の各実施の形態のようにネットワークを介してコンテキストを転送、配付することができ、その場合であっても同様にカスタマイズを行なうことができる。また、カスタマイズされたコンテキストを転送し、さらにカスタマイズすることも可能である。また、固定できる部分（空間）はＣＤ−ＲＯＭやフロッピー等の媒体を用いて配布して、自分の空間にプラグインしてもらい、可変の部分はネットワークで配って、併せて利用するように構成することもできる。さらに、既存の空間と転送されてきた空間を融合させることができるように構成してもよい。
【０１８８】
なお、コンテキストの融かし方／ほどき方は、例えば上述の第３の実施の形態のようにコンテキスト展開部も転送されたコンテキストに含まれていれば、その送られてきたコンテキスト展開部によってコンテキストが生成できるので、一意に決めておく必要はない。
【０１８９】
また、以上の説明から理解されるように、コンテキストの転送によってそのコンテキストが提供する名前空間は転送されるが、情報自体は転送されるとは限らない。そのため、名前空間は、所定の性質をもつ情報が配置された空間から、情報自身と空間を切り放して流布や交換を行なうことができる。すなわち、所定の性質を情報に与える処理や、所定の性質を与える配置（＝分類）方法だけを情報自身と切り放して流布することができる。
【０１９０】
【発明の効果】
以上の説明から明らかなように、本発明によれば、大域的な資源に対して、所定の処理を施すことでなされる、個々のユーザがそれぞれ所望する性質を有する局所的な名前を持つ局所的な資源を取り扱う機能を提供することができる。加えて、複数の資源にそれぞれ異なる処理を施して、その結果を集積することで、あたかも、個々のユーザが所望する性質を有する単一の局所的な名前を持つ局所的な資源が実在するかのように取り扱う機能を提供することができる。これにより、個々のユーザのアクセス方法の嗜好や意図を反映したユーザごとに局所的な資源アクセスのための名前空間を提供する柔軟性の高い分散システムを具現化することができる。
【０１９１】
さらに、このようなユーザごとに局所的な資源アクセスのための名前空間が存在しない資源管理装置に対して、その名前空間を管理している資源管理装置から名前空間を転送することによってその名前空間を実現することができる。これにより、各資源管理装置はすべての名前空間を管理する必要はなく、適宜必要な名前空間を受け渡して、局所的な名前による資源の取り扱いを実現すればよく、よりコンパクトな資源管理装置を実現するとともに、より柔軟性の高い分散システムに対応することができる。名前空間の受け渡しは、ネットワークを介して行なうほか、媒体を介して行なうこともできる。
【０１９２】
この名前空間を提供するコンテキストは、転送の際に転送先の事情に合わせてカスタマイズすることができる。その結果、転送先のユーザにとって利用しやすい名前空間を提供することができ、コンテキストの再利用性を高めることができるなど、種々の効果がある。
【図面の簡単な説明】
【図１】  本発明の資源管理装置の第１の実施の形態における資源管理装置２１の一例を示すブロック図である。
【図２】  本発明の資源管理装置の第１の実施の形態における資源管理装置２２の一例を示すブロック図である。
【図３】  本発明の資源管理装置の第１の実施の形態における複数の資源管理装置の接続の一例の説明図である。
【図４】  本発明の資源管理装置の第１の実施の形態においてコンテキストの抽出を行なう動作の一具体例におけるコンテキスト検索式の一例の説明図である。
【図５】  本発明の資源管理装置の第１の実施の形態においてコンテキスト集合の抽出を行なう動作の一具体例において生成されたコンテキスト表現の一例の説明図である。
【図６】  本発明の資源管理装置の第１の実施の形態において名前の解決を行なう動作の一具体例におけるコンテキスト検索式の一例の説明図である。
【図７】  本発明の資源管理装置の第２の実施の形態における資源管理装置２１の一例を示すブロック図である。
【図８】  本発明の資源管理装置の第２の実施の形態における資源管理装置２２の一例を示すブロック図である。
【図９】  本発明の資源管理装置の第２の実施の形態においてコンテキスト集合の抽出を行なう動作の一具体例におけるコンテキスト検索式の一例の説明図である。
【図１０】  本発明の資源管理装置の第２の実施の形態においてコンテキスト集合の抽出を行なう動作の一具体例におけるコンテキスト表現の一例の説明図である。
【図１１】  本発明の資源管理装置の第３の実施の形態における資源管理装置２１，２３の一例を示すブロック図である。
【図１２】  本発明の資源管理装置の第３の実施の形態における資源管理装置２２の一例を示すブロック図である。
【図１３】  媒体を用いたコンテキストの移転を実現するためのシステム構成の一例を示すブロック図である。
【図１４】  媒体を用いた構成における具体例で取り扱う既存の資源の一例の説明図である。
【図１５】  媒体を用いた構成における具体例で取り扱う既存の資源の一例を示す樹形図である。
【図１６】  媒体を用いた構成におけるコンテキストで具現化した仮想的な資源の一例の説明図である。
【図１７】  媒体を用いた構成におけるコンテキストで具現化した仮想的な資源の一例を示す樹形図である。
【図１８】  コンテキスト−１の説明図である。
【図１９】  仮想資源を具現化するコンテキスト−１とコンテキスト−２の接続の説明図である。
【図２０】  コンテキスト−１の名前変換表の一例の説明図である。
【図２１】  コンテキスト−２の名前変換表の一例の説明図である。
【図２２】  データベースＩｎｄｅｘから得られる検索結果の一例の説明図である。
【図２３】  媒体に記録されたコンテキスト−１の一例の説明図である。
【図２４】  媒体に記録されたコンテキスト−２の一例の説明図である。
【図２５】  カスタマイズにより仮想資源を具現化する各コンテキストの接続の説明図である。
【図２６】  コンテキスト−３の名前変換表の一例の説明図である。
【図２７】  コンテキスト−１’の名前変換表の一例の説明図である。
【図２８】  名前解決木の一例の説明図である。
【符号の説明】
１−１〜１−Ｎ，１−１〜１−Ｌ…コンテキスト保持部、２−１〜２−Ｎ，２−１〜２−Ｌ…属性保持部、３−１〜３−Ｎ，３−１〜３−Ｌ…名前解析部、４−１〜４−Ｎ，４−１〜４−Ｌ…名前変換部、５…名前解決部、６…資源実現部、７−１〜７−Ｍ…資源保持部、８…資源管理部、９…通信部、１０，１４…コンテキストデータベース部、１１，１５…コンテキストデータベース検索部、１２…コンテキスト選択部、１３，１３−１〜１３−Ｎ，１３−１〜１３−Ｌ…コンテキスト抽出部、１６…コンテキスト展開部、１７−１，・・・，１７−Ｎ…コンテキスト展開部、１８…共通コンテキスト展開部、２１〜２３…資源管理装置、３１，３２…コンテキスト管理装置、３３…コンテキストフリーザ、３４…媒体、３５…コンテキストローダ。
【図１】
0003738787.tif 000002
【図２】
0003738787.tif 000003
【図３】
0003738787.tif 000004
【図４】
0003738787.tif 000005
【図５】
0003738787.tif 000006
【図６】
0003738787.tif 000007
【図７】
0003738787.tif 000008
【図８】
0003738787.tif 000009
【図９】
0003738787.tif 000010
【図１０】
0003738787.tif 000011
【図１１】
0003738787.tif 000012
【図１２】
0003738787.tif 000013
【図１３】
0003738787.tif 000014
【図１４】
0003738787.tif 000015
【図１５】
0003738787.tif 000016
【図１６】
0003738787.tif 000017
【図１７】
0003738787.tif 000018
【図１８】
0003738787.tif 000019
【図１９】
0003738787.tif 000020
【図２０】
0003738787.tif 000021
【図２１】
0003738787.tif 000022
【図２２】
0003738787.tif 000023
【図２３】
0003738787.tif 000024
【図２４】
0003738787.tif 000025
【図２５】
0003738787.tif 000026
【図２６】
0003738787.tif 000027
【図２７】
0003738787.tif 000028
【図２８】
0003738787.tif 000029