【手続補正書】
【提出日】平成20年1月28日(2008.1.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のデータ構造を含む１つ又は複数のコンピュータ可読媒体であって、
前記複数のデータ構造は、
実行可能命令を有するコード単位と、
各リライタが前記コード単位を固有の方法で変更する１つ又は複数のリライタと、
少なくとも１つのリライタを識別するリライタリストであって、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストと、
１つ又は複数のリライタにアクセスし、前記コード単位に対して前記１つ又は複数のリライタを実行して書き換えられたコード単位を生成するように構成されている実行可能命令を有するリライトマネージャであって、前記リライタリストを調べることによって、適切なリライタを識別して順序付けるリライトマネージャと
を含むことを特徴とする１つ又は複数のコンピュータ可読媒体。
【請求項２】
キャッシュを更に含み、前記リライトマネージャは、前記書き換えられたコード単位を前記キャッシュに格納するように更に構成されていることを特徴とする請求項１記載の１つ又は複数のコンピュータ可読媒体。
【請求項３】
前記リライタリストは、
前記コード単位内の１つ又は複数のカスタム属性のリストと、
セキュリティポリシー内のリストと、
インストールツール内のリストと、
構成ファイル内のリストと、
ＸＭＬ（拡張可能なマーク付け言語）ファイル内のリストと
を含むグループから選択されることを特徴とする請求項１記載の１つ又は複数のコンピュータ可読媒体。
【請求項４】
前記リライトマネージャは、
スタンドアロンモジュールと、
オペレーティングシステムモジュールと、
実行環境モジュールと、
ＪＩＴコンパイラモジュールと、
ソースコードコンパイラモジュールと、
前記コード単位をインストールするように構成されているインストールツールと
を含むグループから選択されるモジュールであることを特徴とする請求項１記載の１つ又は複数のコンピュータ可読媒体。
【請求項５】
請求項１記載の１つ又は複数のコンピュータ可読媒体を備えるコンピュータであって、
前記コード単位を作成するように構成されている開発者コンピュータと、
前記コード単位を配置するように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とするコンピュータ。
【請求項６】
実行可能命令を含むコード単位を含む１つ又は複数のコンピュータ可読媒体であって、
前記実行可能命令は、
前記コード単位の変換を開始するステップと、
前記変換を実施するための１つ又は複数のリライタを識別するステップと
を含み、
各リライタは、前記コード単位の一意の変換を実施するように構成され、
前記１つ又は複数のリライタは、リライタリストにアクセスするように構成された実行命令を有するリライトマネージャによって識別されと共に順序付けられ、
前記リライタリストは、前記コード単位を書き換えるためにどのリライタを適用するかを識別し、前記リライタを前記コード単位に適用する順序を提供することを特徴とする１つ又は複数のコンピュータ可読媒体。
【請求項７】
前記開始するステップは、
前記変換を実施すべき環境を識別するステップと、
前記コード単位が前記識別された環境を経験した場合のみ前記変換を開始するステップと
を含むことを特徴とする請求項６記載の１つ又は複数のコンピュータ可読媒体。
【請求項８】
前記環境を識別するステップは、
ソースコードコンパイル環境を識別するステップと、
実行前コンパイル環境を識別するステップと、
インストール時コンパイル環境を識別するステップと、
実行環境を識別するステップと、
インストール環境を識別するステップと
を含むことを特徴とする請求項７記載の１つ又は複数のコンピュータ可読媒体。
【請求項９】
コンピュータ実行可能命令を含む１つ又は複数のコンピュータ可読媒体であって、
前記コンピュータ実行可能命令は、
実行可能命令を有するコード単位を受け取るステップと、
前記コード単位を書き換えることができる少なくとも１つのリライタを決定するステップであって、各リライタは前記コード単位を固有の方法で変更する、ステップと、
前記少なくとも１つのリライタを呼び出すステップであって、前記リライタは、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストにアクセスすることによって１つ又は複数のリライタにアクセスするように構成された実行可能命令を有するリライトマネージャによって呼び出される、ステップと、
前記少なくとも１つのリライタを前記コード単位に対して実行し、書き換えられたコード単位を生成するステップと
を含むことを特徴とする１つ又は複数のコンピュータ可読媒体。
【請求項１０】
前記実行の前に前記コード単位および前記少なくとも１つのリライタの信頼性を確認するように構成されているコンピュータ実行可能命令を更に含むことを特徴とする請求項９記載の１つ又は複数のコンピュータ可読媒体。
【請求項１１】
前記確認は、デジタル署名を認証するステップを含むことを特徴とする請求項１０記載の１つ又は複数のコンピュータ可読媒体。
【請求項１２】
前記書き換えられたコード単位をキャッシュに格納するよう構成されているコンピュータ実行可能命令を更に含むことを特徴とする請求項９記載の１つ又は複数のコンピュータ可読媒体。
【請求項１３】
前記コード単位を実行する命令を受け取るステップと、
前記コード単位が書き換えられたことを認識するステップと、
前記キャッシュから前記書き換えられたコード単位をロードするステップと、
前記書き換えられたコード単位を実行するステップと
を含むコンピュータ実行可能命令を更に含むことを特徴とする請求項１２記載の１つ又は複数のコンピュータ可読媒体。
【請求項１４】
前記書き換えられたコード単位のデジタル署名を生成するステップと、
前記デジタル署名を前記書き換えられたコード単位に関連付けるステップと
を含むコンピュータ実行可能命令を更に含むことを特徴とする請求項１２記載の１つ又は複数のコンピュータ可読媒体。
【請求項１５】
前記少なくとも１つのリライタは複数のリライタであって、前記１つ又は複数のコンピュータ可読媒体は、特定の書き換え順序で前記コード単位を書き換えるように前記複数のリライタを順序付けるように構成されているコンピュータ実行可能命令を更に含むことを特徴とする請求項９記載の１つ又は複数のコンピュータ可読媒体。
【請求項１６】
前記アクセスは、
前記コード単位と、
前記コード単位に関連付けられている別個のファイルと、
システムポリシーと
を含むグループから選択された前記リライタリストのある位置にアクセスすることを含むことを特徴とする請求項１５記載の１つ又は複数のコンピュータ可読媒体。
【請求項１７】
ソースコードコンパイラと、
インストールツールと、
マネージドの実行環境と、
スタンドアロンリライト管理ツールと、
ＪＩＴ（ジャストインタイム）コンパイラと
を含むグループから選択されるツールに組み込まれることを特徴とする請求項９記載の１つ又は複数のコンピュータ可読媒体。
【請求項１８】
請求項９記載の１つ又は複数のコンピュータ可読媒体を備えるコンピュータデバイスであって、
前記コード単位を開発するように構成されている開発者コンピュータと、
前記コード単位をインストールするように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とするコンピュータデバイス。
【請求項１９】
コンピューティングデバイスとメモリとを備えたコンピュータ装置であって、
コード単位と、
前記コード単位を一意のやり方で書き換えるようにそれぞれ構成されている構成可能な１組のリライタと、
前記構成可能な１組のリライタから１つ又は複数のリライタを識別すると共に前記識別された１つ又は複数のリライタを前記コード単位に対して実行するように構成されているリライトマネージャであって、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストにアクセスすることによって、前記識別と前記順序を決定するリトライマネージャと、
前記識別された１つ又は複数のリライタを前記コード単位に対して実行することによって生成される書き換えられたコード単位と
を含むことを特徴とするコンピュータ装置。
【請求項２０】
リライトキャッシュを更に含み、前記リライトマネージャは、前記書き換えられたコード単位を前記リライトキャッシュに格納するように更に構成されていることを特徴とする請求項１９記載のコンピュータ装置。
【請求項２１】
前記リライタリストは、
前記コード単位内のリライタのリストと、
スタンドアロンファイル内のリライタのリストと、
セキュリティポリシー内のリライタのリストと、
インストールツール内のリライタのリストと
を含むグループから選択された構成要素であることを特徴とする請求項２０記載のコンピュータ装置。
【請求項２２】
前記コード単位に関連付けられている第１のデジタル署名と、
各々が前記構成可能な１組のリライタからの固有のリライタに関連付けられている１組の第２のデジタル署名と
を更に含み、
前記リライトマネージャは、
前記第１のデジタル署名に基づいて前記コード単位が信頼されるかどうかを決定し、前記識別された１つ又は複数のリライタからの各リライタが前記１組の第２のデジタル署名からの対応する第２のデジタル署名に基づいて信頼されるかどうかを決定し、前記コード単位および前記識別された１つ又は複数のリライタからの各リライタが信頼される場合にのみ前記識別された１つ又は複数のリライタを前記コード単位に対して実行するように更に構成されていることを特徴とする請求項１９記載のコンピュータ装置。
【請求項２３】
前記リライトマネージャによって前記書き換えられたコード単位に関連付けられており、前記書き換えられたコード単位が信頼されることを確認するように構成されている第３のデジタル署名を更に含むことを特徴とする請求項２２記載のコンピュータ装置。
【請求項２４】
前記リライトマネージャは、
スタンドアロンリライトモジュールと、
オペレーティングシステムの一部として構成されているリライトモジュールと、
インストールツールの一部として構成されているリライトモジュールと、
セキュリティポリシーの一部として構成されているリライトモジュールと
を含むグループから選択された構成要素であることを特徴とする請求項１９記載のコンピュータ装置。
【請求項２５】
前記コード単位を開発するように構成されている開発コンピュータと、
前記コード単位をインストールするように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とする請求項１９記載のコンピュータ装置。
【請求項２６】
実行可能コード単位を受け取るステップと、
前記コード単位を書き換える必要があると決定するステップと、
前記コード単位を書き換えるための１つ又は複数のリライタを決定するステップであって、前記リライタは、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストにアクセスするリライトマネージャによって決定される、ステップと、
前記１つ又は複数のリライタを前記コード単位に対して稼働させ、書き換えられたコード単位を生成するステップと
を含むことを特徴とする方法。
【請求項２７】
前記稼働させる前に前記コード単位及び前記１つ又は複数のリライタの信頼性を確認するステップを更に含むことを特徴とする請求項２６記載の方法。
【請求項２８】
前記確認するステップは、デジタル署名を認証するステップを含むことを特徴とする請求項２７記載の方法。
【請求項２９】
前記書き換えられたコード単位をキャッシュに格納するステップを更に含むことを特徴とする請求項２６記載の方法。
【請求項３０】
前記コード単位を実行する命令を受け取るステップと、
前記書き換えられたコード単位を前記キャッシュに格納することを認識するステップと、
前記キャッシュから前記書き換えられたコード単位をロードするステップと、
前記書き換えられたコード単位を実行するステップと
を更に含むことを特徴とする請求項２９記載の方法。
【請求項３１】
前記書き換えられたコード単位のデジタル署名を生成するステップと、
前記デジタル署名を前記書き換えられたコード単位に関連付けるステップと
を更に含むことを特徴とする請求項２９記載の方法。
【請求項３２】
前記コード単位を特定の書き換え順序で書き換えるように前記１つ又は複数のリライタを順序付けるステップを更に含むことを特徴とする請求項２６記載の方法。
【請求項３３】
前記順序付けるステップは、
前記リライタリストにアクセスするステップと、
前記リライタリストに従って前記書き換え順序を設定するステップと
を含むことを特徴とする請求項３２記載の方法。
【請求項３４】
前記１つ又は複数のリライタを決定するステップは、前記リライタリストを読み取るステップを含むことを特徴とする請求項２６記載の方法。
【請求項３５】
前記読み取るステップは、
前記実行可能コード単位と、
前記実行可能コード単位に関連付けられている別個のファイルと
を含むグループから選択されるリライタリストのある位置を読み取るステップを含むことを特徴とする請求項３４記載の方法。
【請求項３６】
コード単位を受け取るステップと、
前記コード単位をリライタによって書き換えるべきであると決定するステップであって、前記リライタは、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストにアクセスするリライトマネージャによって決定される、ステップと、
前記コード単位および前記リライタが信頼されるかどうかを決定するステップと、
前記コード単位に対して前記リライタを稼働させ、前記コード単位および前記リライタが信頼される場合、書き換えられたコード単位を生成するステップと、
前記書き換えられたコード単位をキャッシュに格納するステップと
を含むことを特徴とする方法。
【請求項３７】
前記書き換えられたコード単位のデジタル署名を生成するステップと、
前記デジタル署名を前記書き換えられたコード単位に添付するステップと
を更に含むことを特徴とする請求項３６記載の方法。
【請求項３８】
前記コード単位を実行する呼び出しを受け取るステップと、
前記コード単位が書き換えられていることを認識するステップと、
前記キャッシュから前記書き換えられたコード単位をロードするステップと、
前記書き換えられたコード単位に添付された前記デジタル署名を確認するステップと、
前記確認するステップにおいて前記書き換えられたコード単位は安全であることが示された場合、前記書き換えられたコード単位を実行するステップと
を更に含むことを特徴とする請求項３７記載の方法。
【請求項３９】
前記リライタはアプリケーション互換リライタであり、前記コード単位を書き換えるべきであると決定するステップは、
前記コード単位をアプリケーションとして識別するステップと、
アプリケーション互換リライタデータベースを調べて、現在の実行環境との互換性のために前記アプリケーションの任意の部分を書き換える必要があるかどうかを決定するステップと
を含むことを特徴とする請求項３６記載の方法。