【手続補正書】
【提出日】平成18年12月5日(2006.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションプログラムと、集中キャッシュと、前記アプリケーションプログラムと区別されるキャッシュサービスルーチンとを有するコンピューティング環境において、前記キャッシュサービスルーチンが、注目されるデータの前記集中キャッシュへの追加を試みる方法であって、
前記注目されるデータを前記集中キャッシュに追加することを依頼する要求を前記アプリケーションプログラムから受け取るステップと、
前記注目されるデータを前記集中キャッシュに追加するか否かを判定するステップと、
前記注目されるデータを追加するとの判定に従って、前記注目されるデータを前記集中キャッシュに追加するステップと、
を含んでおり、前記注目されるデータを前記集中キャッシュに追加するステップは、
第１に、前記注目されるデータを前記集中キャッシュに記憶するステップと、
第２に、前記注目されるデータへの前記集中キャッシュ内の参照を追加するステップと、
を含んでおり、前記注目されるデータへの前記集中キャッシュ内の参照を追加するステップは、原始的処理であることを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記アプリケーションプログラムは第１のコンピューティングデバイス上で動作し、前記キャッシュサービスルーチンは第２のコンピューティングデバイス上で動作し、前記第１及び第２のコンピューティングデバイスは互いに異なることを特徴とする方法。
【請求項３】
請求項２記載の方法において、前記アプリケーションプログラムから要求を受け取るステップは、シリアル通信ライン、パラレル通信ライン、ローカルエリアネットワーク、イントラネット、モデムリンク及びインターネットからなるグループから選択された通信媒体を介して受け取るステップを含むことを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記注目されるデータは、フォントグリフを含むことを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記注目されるデータを前記集中キャッシュに追加するか否かを判定するステップは、少なくとも部分的には、前記注目されるデータが前記集中キャッシュに合うか否かを判定する動作と、前記注目されるデータが前記集中キャッシュ内ですでに見つかっているか否かを判定する動作と、前記アプリケーションプログラムから又は他のアプリケーションプログラムから受け取った前記要求について及び他の要求について統計を収集する動作と、前記アプリケーションプログラムから統計を受け取る動作とから構成されるグループから選択された動作に、基づくことを特徴とする方法。
【請求項６】
請求項５記載の方法において、前記統計を収集する動作は、前記注目されるデータに対する要求の数と、前記注目されるデータに対する要求の時間的頻度と、前記注目されるデータのサイズと、前記注目されるデータに対する要求の送信元とから構成されるグループから選択された統計を収集する動作を含むことを特徴とする方法。
【請求項７】
請求項１記載の方法において、前記注目されるデータを前記集中キャッシュに追加するステップは、
前記集中キャッシュ内の参照のテーブル内のエントリを選択するステップを含み、前記選択は、少なくとも部分的には、前記注目されるデータのハッシュに基づいてなされることを特徴とする方法。
【請求項８】
請求項７記載の方法において、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していないことが明らかになる場合には、
前記集中キャッシュ内の新しいデータ要素に、前記注目されるデータを配置するステップと、
前記参照のテーブル内における前記選択されたエントリにおける前記注目されるデータへの参照を追加するステップと、
を更に含むことを特徴とする方法。
【請求項９】
請求項８記載の方法において、前記注目されるデータへの参照を追加するステップは、前記新しいデータ要素に対する整数オフセットを計算するステップを含むことを特徴とする方法。
【請求項１０】
請求項７記載の方法において、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していることが明らかになる場合には、
前記データ要素を調べることにより、前記データ要素が他のデータ要素を指していることが明らかになる場合には、別のデータ要素を指していないデータ要素に達するまで、前記データ要素を調べるステップを反復し、
別のデータ要素を指していないデータ要素に達したら、前記注目されるデータを前記集中キャッシュ内の新しいデータ要素に配置し、前記データ要素内の前記注目されるデータへの参照を追加するステップを更に含むことを特徴とする方法。
【請求項１１】
請求項１０記載の方法において、前記注目されるデータへの参照を追加するステップは、前記新しいデータ要素に対する整数オフセットを計算するステップを含むことを特徴とする方法。
【請求項１２】
請求項１記載の方法において、
新しい集中キャッシュを生成するか否かを判定するステップと、
新しい集中キャッシュを生成するとの判定に従って、新しい集中キャッシュを生成するステップと、
を更に含むことを特徴とする方法。
【請求項１３】
請求項１２記載の方法において、前記新しい集中キャッシュを生成するか否かを判定するステップは、少なくとも部分的には、前記注目されるデータが前記集中キャッシュ内に合うか否かを判定する動作と、前記集中キャッシュ内の参照のテーブルが満杯か否かを判定する動作と、前記集中キャッシュ内のデータがどのくらい最近使用されたかを判定する動作とから構成されるグループから選択された動作に、基づくことを特徴とする方法。
【請求項１４】
請求項１２記載の方法において、前記新しい集中キャッシュを生成するステップは、
新しい集中キャッシュを生成するステップと、
前記集中キャッシュに前記新しい集中キャッシュへの参照を追加するステップと、
前記集中キャッシュを廃止とマークするステップと
を含むことを特徴とする方法。
【請求項１５】
請求項１４記載の方法において、
前記廃止された集中キャッシュから選択されたデータ要素を前記新しい集中キャッシュに配置するステップを更に含み、前記選択は、少なくとも部分的には、前記廃止された集中キャッシュ内のデータ要素の使用に関して収集された統計に適用されたヒューリスティックに基づいてなされることを特徴とする方法。
【請求項１６】
請求項１５記載の方法において、前記ヒューリスティックは、最も最近使用されたものと、最も頻繁に使用されたものと、ラウンドロビンとから構成されるグループから選択されることを特徴とする方法。
【請求項１７】
請求項１４記載の方法において、
いずれのアプリケーションプログラムも前記廃止された集中キャッシュを参照しないときは、前記廃止された集中キャッシュが自動的に削除されるように、前記廃止された集中キャッシュをマークするステップを更に含むことを特徴とする方法。
【請求項１８】
アプリケーションプログラムと、集中キャッシュと、前記アプリケーションプログラムと区別されるキャッシュサービスルーチンとを有するコンピューティング環境において、前記アプリケーションプログラムが、注目されるデータへのアクセスを試みる方法であって、
前記集中キャッシュ内で前記注目されるデータを探索するステップと、
前記注目されるデータが前記集中キャッシュ内で見つかったか否かを判定するステップと、
前記注目されるデータが前記集中キャッシュ内で見つかった場合には、前記集中キャッシュ内の前記注目されるデータにアクセスし、
前記注目されるデータが前記集中キャッシュ内で見つからない場合には、前記集中キャッシュ以外の位置で前記注目されるデータへのアクセスを試み、前記キャッシュサービスルーチンに要求を発行して、前記注目されるデータを前記集中キャッシュに追加することを依頼するステップと、
を含んでおり、前記集中キャッシュ以外の位置で前記注目されるデータへのアクセスを試みるステップは、
前記アプリケーションプログラムに対してローカルなキャッシュ内で前記注目されるデータを探索するステップと、
前記注目されるデータが前記ローカルキャッシュ内で見つかった場合には、前記ローカルキャッシュ内の前記注目されるデータにアクセスし、
前記注目されるデータが前記ローカルキャッシュ内で見つからない場合には、前記注目されるデータを生成するルーチンを呼び出すステップと
を含むことを特徴とする方法。
【請求項１９】
請求項１８記載の方法において、前記アプリケーションプログラムは第１のコンピューティングデバイス上で動作し、前記キャッシュサービスルーチンは第２のコンピューティングデバイス上で動作し、前記第１及び第２のコンピューティングデバイスは互いに異なることを特徴とする方法。
【請求項２０】
請求項１９記載の方法において、前記キャッシュサービスルーチンへの要求の発行は、シリアル通信ラインと、パラレル通信ラインと、ローカルエリアネットワークと、イントラネットと、モデムリンクと、インターネットとから構成されるグループから選択される通信媒体を介して発行することを含むことを特徴とする方法。
【請求項２１】
請求項１８記載の方法において、前記注目されるデータはフォントグリフを含むことを特徴とする方法。
【請求項２２】
請求項１８記載の方法において、前記集中キャッシュ内で前記注目されるデータを探索するステップは、
前記集中キャッシュの参照のテーブル内のエントリを選択するステップを含み、前記選択は、少なくとも部分的に、前記注目されるデータのハッシュに基づいてなされることを特徴とする方法。
【請求項２３】
請求項２２記載の方法において、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していないことが明らかになった場合には、前記注目されるデータが前記集中キャッシュにないと決定するステップを更に含むことを特徴とする方法。
【請求項２４】
請求項２２記載の方法において、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していること明らかになり、更に、前記データ要素を調べることにより、前記データ要素が前記注目されるデータを含むことが明らかになった場合には、前記注目されるデータが前記集中キャッシュにあると決定するステップを更に含むことを特徴とする方法。
【請求項２５】
請求項２４記載の方法において、前記選択されたエントリは、前記集中キャッシュ内の整数オフセットによってデータ要素を指すことを特徴とする方法。
【請求項２６】
請求項２２記載の方法において、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していることが明らかになり、前記データ要素を調べることにより、前記データ要素が前記注目されるデータを含まないことが明らかになった場合には、
前記データ要素が他のデータ要素を指していない場合には、前記注目されるデータが前記集中キャッシュの中にないと判断し、
前記データ要素が他のデータ要素を指している場合には、前記データ要素を調べるステップを繰り返して、前記注目されるデータを含むデータ要素に達するまで、または別のデータ要素を指していないデータ要素に達するまで、前記他のデータ要素を調べるステップを更に含むことを特徴とする方法。
【請求項２７】
請求項１８記載の方法において、
前記注目されるデータが前記ローカルキャッシュ内で見つからない場合、前記生成された注目されるデータを前記ローカルキャッシュに追加するステップを更に含むことを特徴とする方法。
【請求項２８】
請求項１８記載の方法において、
前記注目されるデータが前記ローカルキャッシュ内で見つからない場合、前記キャッシュサービスルーチンに要求を発行し、前記生成された注目されるデータを前記集中キャッシュに追加することを依頼するステップを更に含むことを特徴とする方法。
【請求項２９】
請求項１８記載の方法において、前記キャッシュサービスルーチンに要求を発行するステップは、
前記要求を記憶するステップと、
１又は複数の他の要求を記憶するステップと、
前記記憶された要求を前記キャッシュサービスルーチンに発行するステップと
を含むことを特徴とする方法。
【請求項３０】
請求項１８記載の方法において、
前記集中キャッシュを検査して、前記集中キャッシュが廃止とマークされているか否かを確かめるステップと、
前記集中キャッシュが廃止とマークされている場合、前記廃止された集中キャッシュ内の参照を使用して別の集中キャッシュの位置を定めるステップと
を更に含むことを特徴とする方法。
【請求項３１】
請求項１８記載の方法において、
前記アプリケーションプログラムが前記集中キャッシュを使用することに関する統計を収集するステップと、
前記収集された統計を前記キャッシュサービスルーチンに発行するステップと
を更に含むことを特徴とする方法。
【請求項３２】
アプリケーションプログラムと、集中キャッシュと、前記アプリケーションプログラムと区別されるキャッシュサービスルーチンとを有するコンピューティング環境において、前記キャッシュサービスルーチンが、注目されるデータの前記集中キャッシュへの追加を試みる方法であって、
前記注目されるデータを前記集中キャッシュに追加することを依頼する要求を前記アプリケーションプログラムから受け取るステップと、
前記注目されるデータを前記集中キャッシュに追加するか否かを判定するステップと、
前記注目されるデータを追加するとの判定に従って、前記注目されるデータを前記集中キャッシュに追加するステップと、
を含んでおり、前記注目されるデータを前記集中キャッシュに追加するステップは、
前記集中キャッシュの参照のテーブルにおいてエントリを選択するステップであって、前記選択は、少なくとも部分的には、前記注目されるデータのハッシュに基づいてなされる、ステップと、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していないことが明らかになる場合には、
前記集中キャッシュ内の新しいデータ要素に、前記注目されるデータを配置するステップと、
前記参照のテーブル内における前記選択されたエントリにおける前記注目されるデータへの参照を追加するステップであって、前記新たなデータ要素への整数オフセットを計算すること含むステップと、
を含むことを特徴とする方法。
【請求項３３】
アプリケーションプログラムと、集中キャッシュと、前記アプリケーションプログラムと区別されるキャッシュサービスルーチンとを有するコンピューティング環境において、前記キャッシュサービスルーチンが、注目されるデータの前記集中キャッシュへの追加を試みる方法であって、
前記注目されるデータを前記集中キャッシュに追加することを依頼する要求を前記アプリケーションプログラムから受け取るステップと、
前記注目されるデータを前記集中キャッシュに追加するか否かを判定するステップと、
前記注目されるデータを追加するとの判定に従って、前記注目されるデータを前記集中キャッシュに追加するステップと、
を含んでおり、前記注目されるデータを前記集中キャッシュに追加するステップは、
前記集中キャッシュの参照のテーブルにおいてエントリを選択するステップであって、前記選択は、少なくとも部分的には、前記注目されるデータのハッシュに基づいてなされる、ステップと、
前記選択されたエントリを調べることにより、前記選択されたエントリが前記集中キャッシュ内のデータ要素を指していることが明らかになる場合には、
前記データ要素を調べることにより、前記データ要素が他のデータ要素を指していることが明らかになる場合には、別のデータ要素を指していないデータ要素に達するまで、前記データ要素を調べるステップを反復し、
別のデータ要素を指していないデータ要素に達したら、前記注目されるデータを前記集中キャッシュ内の新しいデータ要素に配置し、前記データ要素内の前記注目されるデータへの参照を追加するステップを更に含むことを特徴とする方法。
【請求項３４】
請求項３３記載の方法において、前記注目されるデータへの参照を追加するステップは、前記新しいデータ要素に対する整数オフセットを計算するステップを含むことを特徴とする方法。
【請求項３５】
アプリケーションプログラムと、集中キャッシュと、前記アプリケーションプログラムと区別されるキャッシュサービスルーチンとを有するコンピューティング環境において、前記アプリケーションプログラムが、注目されるデータへのアクセスを試みる方法であって、
前記集中キャッシュ内で前記注目されるデータを探索するステップと、
前記注目されるデータが前記集中キャッシュ内で見つかったか否かを判定するステップと、
前記注目されるデータが前記集中キャッシュ内で見つかった場合には、前記集中キャッシュ内の前記注目されるデータにアクセスし、
前記注目されるデータが前記集中キャッシュ内で見つからない場合には、
前記集中キャッシュ以外の位置で前記注目されるデータへのアクセスを試み、
前記キャッシュサービスルーチンに要求を発行して、前記注目されるデータを前記集中キャッシュに追加することを依頼し、
前記集中キャッシュを検査して、前記集中キャッシュが廃止とマークされているか否かを確かめ、
前記集中キャッシュが廃止とマークされている場合には、前記廃止された集中キャッシュ内の参照を使用して別の集中キャッシュの位置を定めるステップと、
を更に含むことを特徴とする方法。