【手続補正書】
【提出日】平成27年5月25日(2015.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションからメモリ優先度情報を受信するアプリケーションホストにおいてメモリ管理を行うためにコンピュータが少なくとも１つのプロセッサにより実行する方法であって、
複数のメモリ割当リクエストを示す情報であって１つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す情報を、アプリケーションホストにおいて受信するステップと、
前記アプリケーションホストにおいてアプリケーションを効率的に実行させ続けるための処理の必要性を示す少なくとも１つのメモリ状態を検出するステップと、
処理する対象への割当を決定するために、受信した割当リクエストを列挙するステップと、
処理する対象への１つ以上の列挙された割当を選択するステップと、
検出した前記メモリ状態を改善するために、選択された前記割当による処理を実行するステップと
を有する方法。
【請求項２】
前記複数のメモリ割当リクエストを示す情報を受信するステップが、前記アプリケーションホストによりアプリケーションから受信された保存されている割当のリスト又は他のデータ構造にアクセスすることを含む、請求項１に記載の方法。
【請求項３】
前記複数のメモリ割当リクエストを示す情報を受信するステップが、何れの割当を解放できるか、何れの割当にページングできるか、或いは、利用可能なメモリを効率的に管理するために何れの割当が処理されるかを決定する前記アプリケーションホストを支援する優先度情報又は他の情報にアクセスすることを含む、請求項１に記載の方法。
【請求項４】
前記メモリ状態を確認するステップが、あるアプリケーションは実行に必要なメモリが不足しつつあること、及びアプリケーションに付与するためにメモリを動作している他のアプリケーションから取得することを確認することを含む、請求項１に記載の方法。
【請求項５】
前記メモリ状態を確認するステップが、対象のアプリケーションのメモリリクエストが充足されないことを確認し、前記アプリケーションホストが前記割当リクエストを受信する時までに前記アプリケーションのメモリリクエストを充足するように予め更なるメモリを利用可能にすることを含む、請求項１に記載の方法。
【請求項６】
前記受信した割当リクエストを列挙するステップが、解放される必要があった場合に容易に復元できる割当を判別するために割当のリスト又は他のデータ構造を検査することを含む、請求項１に記載の方法。
【請求項７】
前記受信した割当リクエストを列挙するステップが、アプリケーションが直ぐには使用されそうにないアプリケーションを判別するために割当のリスト又は他のデータ構造を検査することを含む、請求項１に記載の方法。
【請求項８】
前記割当を選択するステップが、割当を要求した前記アプリケーションにより該割当がどのように使用されるかを示す受信した情報に基づいて該割当を選択することを含む、請求項１に記載の方法。
【請求項９】
前記割当を選択するステップが、特定のトータルサイズのメモリについて複数の割当を選択し、該トータルサイズに至る又は超える割当を選択することを含む、請求項１に記載の方法。
【請求項１０】
前記処理を実行するステップが、以前に割り当てたメモリを解放する、或いはメモリ内容をディスク又は他のストレージと交換することを含む、請求項１に記載の方法。
【請求項１１】
前記処理を実行するステップが、前記アプリケーションが前記割当に依存する処理を修正できるように前記アプリケーションに前記処理を通知することを含む、請求項１に記載の方法。
【請求項１２】
ホストにおいて動作するアプリケーションから受信した割当メタデータを利用して前記ホストの中でメモリを効率的に管理する、以下の要素に組み込まれるソフトウェア命令を実行するように形成されたプロセッサ及びメモリを有するコンピュータシステムであって、
メモリ割当の利用の仕方を交渉するように１つ以上のアプリケーション及び前記ホストの間に通信インタフェースを提供するアプリケーションインタフェース要素と、
アプリケーションが動作する環境を含み、当該コンピュータシステムにより行われるメモリ管理にアクセスするホスト要素と、
メモリを割り当てるためのリクエストをアプリケーションから受信するリクエスト受信要素であって、前記リクエストの各々は、割り当てられたメモリを前記アプリケーションがどのように使用するかを示す情報を前記ホストに提供するメタデータを含む、リクエスト受信要素と、
メモリ管理の判断を行う際に使用するために、受信したリクエスト及び関連するメタデータ情報を保存するリクエスト保存要素と、
１つ以上の受信したアプリケーション割当リクエストを充足するように、メモリを割り当てる実際の処理を実行する割当要素と、
装置におけるメモリを管理する処理を実行し、以前に受信して保存したリクエスト情報にアクセスし、実行される処理の影響を受ける１つ上の適切なメモリ割当を決定するメモリ処理要素と
を有するコンピュータシステム。
【請求項１３】
前記アプリケーションインタフェース要素はアプリケーションプログラミングインタフェース（ＡＰＩ）を含み、前記ホストが前記アプリケーションを提供し、前記アプリケーションは前記割当を示す情報を該ＡＰＩを通じて提供し、前記ホストが前記アプリケーションの代わりにメモリを管理できるようにする、請求項１２に記載のコンピュータシステム。
【請求項１４】
前記アプリケーションインタフェース要素は、メモリの利用状況の情報を前記ホストに提供するためにアプリケーションバイナリモジュールを静的又は動的に分析する、請求項１２に記載のコンピュータシステム。
【請求項１５】
前記リクエスト受信要素、前記リクエスト保存要素、前記割当要素及び前記メモリ処理要素は、アプリケーションメモリを管理するために、前記ホストにアクセス可能なメモリマネジャの構成要素を形成する、請求項１２に記載のコンピュータシステム。
【請求項１６】
請求項１〜１１のうち何れか１項に記載の方法を前記少なくとも１つのプロセッサに実行させるコンピュータプログラム。
【請求項１７】
請求項１６に記載のコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
一実施形態において、メモリ管理システムはメモリの割当各々に関する電力状態(の情報)を受信する。例えば、電力レベルXの場合、システムは、メモリ割当はもはや必要ないと判断してもよい。これは、その電力レベルにおいて必要とされていない何らかのメモリをオフロード又は解放することで、バッテリに制約のある装置が低電力モードに切り替わるようにすることが可能である。例えば、移動電話機は、着信呼に応答する又は新規電子メールをユーザに通知する程度に十分なアプリケーションデータをメモリに維持するが、他の低優先度の機能又はアプリケーションを解放してもよい。一実施形態において、アプリケーションは、低電力状態ならばメモリを利用する前にポインタの有効性を確認する必要があるにすぎないが、より高い電力状態ならばメモリに対して通常のアクセスを行うかもしれない。これは、所与の何らかのプラットフォームに関し、アプリケーションとホストとの間の取り決めによる保証として実行されることが可能である。