【手続補正書】
【提出日】平成19年12月27日(2007.12.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
実行時中にアプリケーションプログラムが用いることができるアセンブリの完全性を助長するための方法であって、
アセンブリに、該アセンブリを構成する複数のモジュールのリストを含むアセンブリ・マニフェストを提供するステップと、
前記アセンブリ・マニフェストに、前記複数のモジュールのリストのうちの少なくとも1つのモジュールの内容のハッシュを提供するステップと、
前記アセンブリ・マニフェストに、前記アセンブリが依存する少なくとも１つの他のアセンブリのマニフェストのハッシュを提供するステップと、
前記アセンブリ・マニフェスト内に保持された前記ハッシュを、実行時に得られた前記少なくとも１つのモジュールのハッシュと比較して、前記少なくとも１つのモジュールの実行時バージョンが前記アセンブリの構築時に利用されたバージョンと実質上類似しているかどうか識別し、該識別を利用して前記アセンブリの完全性を評価するステップと
を含む方法。
【請求項２】
前記アセンブリ・マニフェストに前記複数のモジュールのリストのうちの少なくとも1つのモジュールの内容のハッシュを提供するステップは、前記アセンブリ・マニフェストに、前記アセンブリを構成する前記複数のモジュールのリストのうちの各モジュールのハッシュを提供するステップを含む、請求項1に記載の方法。
【請求項３】
前記アセンブリ・マニフェスト内に識別情報を提供するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記識別情報が、発行元情報およびバージョン情報を含む、請求項3に記載の方法。
【請求項５】
前記アセンブリの終りに前記アセンブリの内容のハッシュを提供するステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記複数のモジュールのリストのうちの前記少なくとも1つのモジュールの内容の実際のハッシュを決定し、前記実際のハッシュを、前記アセンブリ・マニフェスト中に常駐する前記複数のモジュールのリストのうちの前記少なくとも1つのモジュールの内容の前記ハッシュと比較することにより、前記アセンブリの内容が変更されているかどうかを判定するステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記アセンブリが変更されている場合、前記アセンブリの発行元が信頼できるかどうかを判定するステップをさらに含む、請求項6に記載の方法。
【請求項８】
前記アセンブリが変更されている場合前記アセンブリの発行元が信頼できるかどうかを判定するステップが、前記アセンブリ・マニフェスト中に常駐するバージョン情報および発行元名情報をチェックするステップを含む、請求項7に記載の方法。
【請求項９】
実行時中にアプリケーションプログラムが用いることができるアセンブリの完全性を助長するための方法であって、
アセンブリに、該アセンブリが依存する複数の参照されるアセンブリのリストを含むアセンブリ・マニフェストを提供するステップと、
該アセンブリ・マニフェストに、前記複数の参照されるアセンブリのリスト中の少なくとも１つの参照されるアセンブリのマニフェストのハッシュを提供するステップと、
前記アセンブリ・マニフェストに提供された前記ハッシュと、実行時に計算された前記少なくとも１つの参照されるアセンブリの前記マニフェストの第２のハッシュとを分析して、前記少なくとも１つの参照されるアセンブリに対し実行時と前記アセンブリの構築時との間において変更がなされたかどうかを判定し、該判定を利用して前記アセンブリの完全性を評価するステップと
を含む方法。
【請求項１０】
前記アセンブリ・マニフェストに前記複数の参照されるアセンブリのリストの少なくとも１つの参照されるアセンブリの前記マニフェストのハッシュを提供するステップは、前記アセンブリ・マニフェストに、前記複数の参照されるアセンブリのリスト中の各々の参照されるアセンブリのハッシュを提供するステップを含む、請求項９に記載の方法。
【請求項１１】
前記アセンブリ・マニフェスト内に識別情報を提供するステップをさらに含む、請求項９に記載の方法。
【請求項１２】
前記識別情報が、発行元情報およびバージョン情報を含む、請求項１１に記載の方法。
【請求項１３】
前記アセンブリの終りに前記アセンブリの内容のハッシュを提供するステップをさらに含む、請求項９に記載の方法。
【請求項１４】
前記複数の参照されるアセンブリのリスト中の前記少なくとも1つの参照されるアセンブリの内容の実際のハッシュを決定し、該実際のハッシュを、前記アセンブリ・マニフェスト中に常駐する前記複数の参照されるアセンブリのリスト中の前記少なくとも1つの参照されるアセンブリの内容のハッシュと比較することにより、前記少なくとも1つの参照されるアセンブリの内容が変更されているかどうかを判定するステップをさらに含む、請求項９に記載の方法。
【請求項１５】
前記少なくとも1つの参照されるアセンブリが変更されている場合、前記少なくとも1つの参照されるアセンブリの発行元が信頼できるかどうかを判定するステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記少なくとも1つの参照されるアセンブリが変更されている場合前記少なくとも1つの参照されるアセンブリの発行元が信頼できるかどうかを判定する前記ステップが、前記少なくとも1つの参照されるアセンブリの前記マニフェスト中に常駐するバージョン情報および発行元名情報をチェックするステップを含む、請求項１５に記載の方法。
【請求項１７】
実行時にアプリケーションプログラムが用いることができる少なくとも1つのコンピュータ実行可能コンポーネントを有するコンピュータ可読媒体であって、
アセンブリ・マニフェストを含むアセンブリであって、前記アセンブリ・マニフェストは、該アセンブリが参照する少なくとも１つの参照されるアセンブリのリストと、前記少なくとも１つの参照されるアセンブリのマニフェストの第１のハッシュと、前記アセンブリを構成する複数のモジュールのリストと、および前記複数のモジュールのリストのうちの少なくとも１つのモジュールの内容のハッシュとを含み、前記少なくとも１つのモジュールの内容の前記ハッシュを利用して、前記モジュールのどのバージョンを、実行時に前記アセンブリと伴に用いるかを制御する、アセンブリと、、
前記第１ハッシュを、実行時に生成される第２のハッシュと比較し、この判定を、前記少なくとも１つの参照されるアセンブリが前記アセンブリの構築時に利用された前記少なくとも１つの参照されるアセンブリと同じバージョンであるかどうかに関して利用して、前記アセンブリの完全性を評価するコンポーネントと
を含む、コンピュータ可読媒体。
【請求項１８】
前記アセンブリ・マニフェストが、識別情報およびバージョン情報を含む、請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記アセンブリが、ダイナミックリンクライブラリである、請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
実行時にアプリケーションプログラムが用いることができる少なくとも1つのコンピュータ実行可能コンポーネントを有するコンピュータ可読媒体であって、
アセンブリ・マニフェストを含むアセンブリであって、前記アセンブリ・マニフェストは、該アセンブリが参照する少なくとも１つの参照されるアセンブリのリストと、および前記少なくとも1つの参照されるアセンブリのマニフェストのハッシュとを含む、アセンブリと、
前記ハッシュを、実行時に生成される第２のハッシュと比較し、その判定を、前記少なくとも１つの参照されるアセンブリが、前記アセンブリの構築時に利用された前記少なくとも１つの参照されるアセンブリと同じバージョンであるかどうかに関し利用して、前記アセンブリの完全性を評価するコンポーネントと
を含むコンピュータ可読媒体。
【請求項２１】
実行時にアプリケーションプログラムが用いることができるアセンブリの完全性を助長するための、コンピュータにより実現するシステムであって、
アセンブリのためのアセンブリ・マニフェストを提供する第１のコンポーネントであって、前記アセンブリ・マニフェストが、前記アセンブリを構成する複数のモジュールのリストと、、前記アセンブリが参照する少なくとも１つの参照されるアセンブリのリストとを有する、第1のコンポーネントと、
前記アセンブリ・マニフェストに、前記複数のモジュールのリストのうちの少なくとも1つのモジュールのハッシュと、前記少なくとも１つの参照されるアセンブリのマニフェストのハッシュとを提供する第2のコンポーネントと、
前記少なくとも１つのモジュールの前記ハッシュを、実行時に生成される前記少なくとも１つのモジュールのハッシュと比較して、前記少なくとも１つのモジュールの内容の変化を識別し、該識別を利用して前記アセンブリの完全性を評価する第３のコンポーネントと
を含むシステム。
【請求項２２】
前記少なくとも1つのモジュールの前記ハッシュを前記少なくとも1つのモジュールの実際のハッシュ値と比較するように構成された第3のコンポーネントをさらに含む、請求項２１に記載のシステム。
【請求項２３】
前記アセンブリ・マニフェストが、識別情報およびバージョン情報を含み、前記第３コンポーネントは、前記アセンブリ・マニフェスト中の前記少なくとも1つのモジュールの前記ハッシュと前記少なくとも1つのモジュールの前記実際のハッシュ値が異なる場合に、オリジネータ情報およびバージョン情報の検討に基づき、前記アセンブリが実行されるべきかどうかを判定するように構成された、請求項２２に記載のシステム。
【請求項２４】
同一の名前を有する別のアセンブリが前記システム上に常駐する場合、アプリケーションプログラムが実行するアセンブリのバージョンを決定するための結合ポリシー情報を提供するように構成された結合コンポーネントをさらに含む、請求項２１に記載のシステム。
【請求項２５】
実行時にアプリケーションプログラムが用いることができるアセンブリの完全性を助長するための、コンピュータにより実現されるシステムであって、
アセンブリのためのアセンブリ・マニフェストを提供する第１のコンポーネントであって、前記アセンブリ・マニフェストは少なくとも1つの参照されるアセンブリを有し、前記少なくとも１つの参照されるアセンブリはマニフェストを含む、第1のコンポーネントと、
前記アセンブリ・マニフェストに、前記少なくとも1つの参照されるアセンブリの前記マニフェストのハッシュを提供する第2のコンポーネントと、
前記アセンブリ・マニフェスト中の前記少なくとも１つの参照されるアセンブリの前記ハッシュを、前記少なくとも１つの参照されるアセンブリの実際のハッシュ値と比較して、バージョン変化を識別し、該識別を利用して前記アセンブリの完全性を評価する第３のコンポーネントと
を含むシステム。
【請求項２６】
前記第3のコンポーネントに結合ポリシー情報を提供するように構成された結合コンポーネントをさらに含む、請求項２５に記載のシステム。
【請求項２７】
実行時にアプリケーションプログラムが用いることができるアセンブリの完全性を助長するための、コンピュータにより実現されるシステムであって、
少なくとも1つの関連するアセンブリのリストを有するアセンブリ・マニフェストを、アセンブリに関連させるための手段であって、前記少なくとも１つの関連するアセンブリはマニフェストを含む、手段と、
前記アセンブリ・マニフェストに、前記少なくとも1つの関連するアセンブリの前記マニフェストのハッシュを提供するための手段と、
前記ハッシュ値を、実行時に計算される第２の関連するアセンブリのハッシュ値と比較することにより、前記アセンブリの完全性を評価するための手段と
を含むシステム。
【請求項２８】
前記少なくとも1つの関連するアセンブリがモジュールである、請求項２７に記載のシステム。
【請求項２９】
前記少なくとも1つの関連するアセンブリが、参照されるアセンブリである、請求項２７に記載のシステム。
【請求項３０】
前記アセンブリ・マニフェスト中の前記少なくとも1つの関連するアセンブリのハッシュ値を、前記少なくとも1つの関連するアセンブリの実際のハッシュ値と比較するための手段をさらに含む、請求項２７に記載のシステム。
【請求項３１】
結合ポリシーを確立するための手段をさらに含む、請求項２７に記載のシステム。
【請求項３２】
前記アセンブリおよび前記少なくとも1つの関連するアセンブリのうちの少なくとも１つが、ダイナミックリンクライブラリである、請求項２７に記載のシステム。