【手続補正書】
【提出日】平成28年8月12日(2016.8.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションを検査してバイト・アドレス可能永続ランダム・アクセス・メモリー（ＢＰＲＡＭ）における事前レイアウトのためにコードおよびデーターを識別するコンピューター実装方法であって、
高速レイアウトを実行するターゲット・アプリケーションを識別し、前記ターゲット・アプリケーションの高速初期化イメージを作るステップであって、前記ターゲット・アプリケーションが、前記高速初期化イメージとはレイアウトが異なる１つ以上のモジュールを含む、格納済みフォーマットを有するステップと、
前記ターゲット・アプリケーションに対して静的分析を実行し、前記ターゲット・アプリケーションに関連する１つ以上の静的および動的リンク・モジュールを判定し、前記ターゲット・アプリケーションによって使用されるデーターの内、ＢＰＲＡＭにおける格納に適した変化が少ないものを識別するステップと、
前記ターゲット・アプリケーションを実行し前記ターゲット・アプリケーションの初期化を監視することによって動的分析を実行し、前記ターゲット・アプリケーションに関連する追加のモジュールおよびデーターを識別するステップと、
前記高速初期化イメージを格納するのに適したＢＰＲＡＭデバイスを識別するステップと、
前記ターゲット・アプリケーションの格納済みフォーマットとは異なる、静的および動的な分析の間に識別された前記ターゲット・アプリケーションのメモリー内レイアウトに基づいて前記高速初期化イメージを作るステップであって、前記高速初期化イメージが、実行する準備ができており、前記ターゲット・アプリケーションを実行する要求を受ける前に作られる、ステップと、
前記高速初期化イメージを前記ＢＰＲＡＭデバイスにコピーするステップと、
を含み、前記ステップが少なくとも１つのプロセッサーによって実行される、方法。
【請求項２】
請求項１記載の方法において、前記ターゲット・アプリケーションを識別するステップが、前記ターゲット・アプリケーションを識別し、前記ＢＰＲＡＭデバイス内における格納のために前記高速初期化イメージを作るプロセスを開始するために、情報技術（ＩＴ）者によって実行することができる管理ツールを設けるステップを含む、方法。
【請求項３】
請求項１記載の方法において、前記ターゲット・アプリケーションを識別するステップが、マニフェストを、前記ターゲット・アプリケーションに関連するインストール・パッケージと共に、提供するステップを含む、方法。
【請求項４】
請求項１記載の方法において、静的分析を実行するステップが、前記ターゲット・アプリケーションの機能を拡張する１つ以上のアドイン・モジュールを調べるステップを含む、方法。
【請求項５】
請求項１記載の方法において、静的および動的分析を実行するステップが、前記ターゲット・アプリケーションに関連するランタイムを調べ、前記ランタイムに関連するコードおよびデーターを前記ＢＰＲＡＭデバイスに入れるステップを含む、方法。
【請求項６】
請求項１記載の方法において、動的分析を実行するステップが、前記ターゲット・アプリケーションがどのように初期化するかについての情報を収集するステップを含み、前記情報が、前記高速初期化イメージを生成するために使用することができ、前記ターゲット・アプリケーションが、当該ターゲット・アプリケーションの典型的な初期化ステップの内少なくとも一部を飛ばして、前記高速初期化イメージから直接実行することができる、方法。
【請求項７】
請求項１記載の方法において、静的および動的分析を実行するステップが、静的および動的な分析の間に識別された前記モジュールの各々を識別するシグネチャー情報を捕らえるステップを含み、前記シグネチャー情報が、前記高速初期化イメージが前記モジュールに関して期限切れであるか否かを示す、方法。
【請求項８】
請求項１記載の方法において、静的および動的分析を実行するステップが、前記ターゲット・アプリケーションが前記高速初期化イメージから初期化されるときに前記初期化を実行することができるように、外部リソースに影響を及ぼす初期化を識別するステップを含む、方法。
【請求項９】
請求項１記載の方法において、前記ＢＰＲＡＭデバイスを識別するステップが、永続的かつバイト・アドレス可能であり、前記高速初期化イメージを格納する十分な空き空間を有するメモリー・デバイスを識別するステップを含む、方法。
【請求項１０】
請求項１記載の方法であって、更に、前記ＢＰＲＡＭデバイスに関する摩耗ステータス情報を判定するステップを含み、前記ＢＰＲＡＭデバイスを識別するステップが、前記判定した摩耗ステータス情報に基づいて、前記ＢＰＲＡＭ内において、前記高速初期化イメージを格納するための位置を選択するステップを含む、方法。
【請求項１１】
請求項１記載の方法において、前記高速初期化イメージを作るステップが、前記ＢＰＲＡＭデバイスに一緒に格納された１つ以上のモジュール・コード・セクションを有する統一レイアウト・イメージを作るステップを含む、方法。
【請求項１２】
請求項１記載の方法において、前記高速初期化イメージをコピーするステップが、前記ターゲット・アプリケーション内において、前記高速初期化イメージから開始するときには不要となる前記ターゲット・アプリケーションの典型的な初期化ステップを超えたポイントを表す実行位置を識別し、前記実行位置に基づいて、前記ターゲット・アプリケーションのエントリー・ポイントを変更するステップを含む、方法。
【請求項１３】
バイト・アドレス可能な永続ランダム・アクセス・メモリー（ＢＰＲＡＭ）を使用するソフトウェア・アプリケーションのレイアウトおよび実行のためのコンピューター・システムであって、
以下のコンポーネント内に具体化されたソフトウェア命令を実行するように構成されたプロセッサーおよびメモリーと、
アプリケーションを初期化するために前記アプリケーションによって使用されるアプリケーション・データーおよびソフトウェア命令を判定し、前記アプリケーションがＢＰＲＡＭから初期化することを可能にする前記アプリケーション・データーおよびソフトウェア命令のレイアウトを決定するアプリケーション・レイアウト・コンポーネントと、
前記アプリケーションに関連するソフトウェア・バイナリー、データー・モジュール、または他の格納されたソフトウェア・データーを含むソフトウェアを静的に分析し、前記ソフトウェアがどのように命令およびデーターにアクセスするか決定し、前記ＢＰＲＡＭにおける格納に適した命令およびデーターを識別する静的分析コンポーネントと、
実行中に前記アプリケーションを動的に分析し、前記アプリケーションの挙動に関する追加情報を収集する動的分析コンポーネントと、
前記アプリケーション・レイアウト・コンポーネントによって決定されたレイアウトに基づいて、前記アプリケーションを初期化するためのイメージを前記ＢＰＲＡＭ内に作り、前記作ったイメージを前記ＢＰＲＡＭに格納するレイアウト作成コンポーネントと、
前記レイアウト作成コンポーネントによって作られたＢＰＲＡＭにおける前記イメージを使用して、要求時に前記アプリケーションを初期化するアプリケーション初期化コンポーネントと、
を含む、システム。
【請求項１４】
請求項１３記載のシステムにおいて、前記アプリケーション・レイアウト・コンポーネントが前記アプリケーションをハイバネートし、再開イベント時に素早く前記アプリケーションを復元することを可能にする、システム。
【請求項１５】
請求項１３記載のシステムにおいて、前記アプリケーション・レイアウト・コンポーネントが、ＢＰＲＡＭに格納するために、前記アプリケーションの頻繁に変化しないデーターを識別する、システム。