(57)【特許請求の範囲】
【請求項１】
システムが複数メモリからアプリケーションを起動する方法であって、
前記システムが前記アプリケーションの第１部分及び第２部分を構築するステップと、
前記システムが、前記第１部分を第１メモリに記憶させ、前記第２部分を第２メモリに記憶させるステップと、
前記システムが前記第１メモリから前記アプリケーションの前記第１部分を直接実行すると同時に、前記アプリケーションの前記第１部分の直接実行が完了する時点までに、前記システムが前記アプリケーションの前記第２部分を前記第２メモリから第３メモリにロードするステップと、
前記システムが前記アプリケーションの前記第２部分を実行するステップと、
を備える、方法。
【請求項２】
請求項１記載の方法において、さらに、
前記システムが前記アプリケーションの前記第１部分を実行する前に、前記システムがハードウェア初期化コードを前記第１メモリから直接実行するステップを備える、方法。
【請求項３】
請求項１記載の方法において、前記第１メモリはＮＯＲ型メモリから構成し、前記第２メモリはＮＡＮＤ型メモリから構成し、また前記第３メモリはＲＡＭから構成する、方法。
【請求項４】
請求項１記載の方法において、前記第１メモリは低遅延不揮発性メモリから構成し、前記第２メモリは長遅延不揮発性メモリから構成する、方法。
【請求項５】
請求項１記載の方法において、前記システムが前記アプリケーションの前記第２部分を実行するステップは、さらに、
前記システムがデマンド・ページング又はシャドウモードのうち少なくとも一方を使用して前記アプリケーションの前記第２部分を実行するステップを有する、方法。
【請求項６】
システムであり、
第１メモリ、第２メモリ及び第３メモリと、
前記第１メモリ、前記第２メモリ及び前記第３メモリに接続した少なくとも１個のプロセッサであって、
アプリケーションの第１部分及び第２部分を構築し、
前記第１部分を前記第１メモリに記憶させ、前記第２部分を前記第２メモリに記憶させ、
前記第１メモリから前記アプリケーションの前記第１部分を直接実行すると同時に、前記アプリケーションの前記第１部分の直接実行が完了する時点までに、前記アプリケーションの前記第２部分を前記第２メモリから前記第３メモリにロードし、及び
前記アプリケーションの前記第２部分を実行する
ように構成された、該少なくとも１個のプロセッサと、
を備える、システム。
【請求項７】
請求項６記載のシステムにおいて、前記少なくとも１個のプロセッサは、さらに、
前記アプリケーションの前記第１部分を実行する前に前記第１メモリからハードウェア初期化コードを直接実行するよう構成する、システム。
【請求項８】
請求項６記載のシステムにおいて、前記第１メモリはＮＯＲ型メモリから構成し、前記第２メモリはＮＡＮＤ型メモリから構成し、また前記第３メモリはＲＡＭから構成する、システム。
【請求項９】
請求項６記載のシステムにおいて、前記第１メモリは低遅延不揮発性メモリから構成し、前記第２メモリは長遅延不揮発性メモリから構成する、システム。
【請求項１０】
請求項６記載のシステムにおいて、前記アプリケーションの前記第２部分を実行するために、前記少なくとも１個のプロセッサは、
デマンド・ページング又はシャドウモードのうち少なくとも一方を使用して前記アプリケーションの前記第２部分を実行するよう構成する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願の相互参照＞
本願は、２０１４年６月３０日に出願した米国特許出願第14/319,079号の国際出願である。当該米国特許出願の明細書の全内容を参照により本明細書に援用する。
【背景技術】
【０００２】
概して、アプリケーションを起動する手法は２つの一般的技術のうち１つを使用する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
第１技術は不揮発性低遅延メモリ、例えば、ＮＯＲ型メモリからアプリケーションを直接（インプレースで）実行する。この技術は幾つかの欠点がある。とくに、不揮発性低遅延メモリは極めて高価であり、簡単なアプリケーション用であってもアプリケーション全体を記憶するに必要なメモリ量はコストがかかる。メモリ内のおけるアプリケーションの占有量を減少しようとする試み、例えば圧縮は計算の複雑性を増すことになり、実行時間を増加させることによって性能に影響を及ぼす。
【０００４】
第２技術は高遅延性の不揮発性メモリからメモリにロードする。この技術には、それ自体に欠点を有する。すなわち、高遅延性であるがゆえに、アプリケーションを直接実行できないか、又は直接実行するのは望ましくないものである。したがって、アプリケーションは、他のメモリ、代表的には揮発性メモリ、例えば、ＲＡＭ内にロードし、このＲＡＭから実行する必要がある。このロード時間は、やはり実行時間を増加させることによって性能に影響を及ぼす。
【課題を解決するための手段】
【０００５】
本明細書において、複数のメモリからアプリケーションを起動（ブート）するシステム、装置、製品、方法及び／若しくはコンピュータプログラム製品の実施形態、並びに／又はそれらの組合せ及び副次的組合せを提供する。
【０００６】
本発明の実施形態としては、複数メモリからアプリケーションを起動する方法がある。この方法は、アプリケーションの第１部分を第１メモリから直接実行し、アプリケーションの第２部分を第２メモリからロードし、またアプリケーションの第２部分を実行することによりオペレーションをする。
【０００７】
他の実施形態としては、複数メモリからアプリケーションを起動するシステムがある。このシステムは、メモリと、メモリに接続した少なくとも１個のプロセッサとを備える。プロセッサは、第１メモリからアプリケーションの第１部分を直接実行し、アプリケーションの第２部分を第２メモリからロードし、またこのアプリケーションの第２部分を実行する。
【０００８】
別の実施形態としては、命令を記憶した有形コンピュータ可読デバイスがあり、命令は、少なくとも１つのコンピュータデバイスで実行されるとき、オペレーションを実施する。オペレーションは、第１メモリからアプリケーションの第１部分を直接実行するステップと、アプリケーションの第２部分を第２メモリからロードするステップと、アプリケーションの第２部分を実行するステップとを備える。
【図面の簡単な説明】
【０００９】
【図１】本発明の例示的実施形態による複数メモリからアプリケーションを起動するシステムのブロック図である。
【図２】本発明の例示的実施形態によるメモリアドレスマップのブロック図である。
【図３】本発明の例示的実施形態によるキャッシュをアドレス指定するプロセスを示すフローチャートである。
【図４】本発明の例示的実施形態による実行フローのブロック図である。
【図５】種々の実施形態を実装するのに有用な例示的コンピュータシステムである。
【発明を実施するための形態】
【００１０】
添付図面を、本明細書に組み入れ、また本明細書の一部とする。
【００１１】
図面において、同一参照符号は一般的に同一又は類似要素を示す。さらに、概して、参照符号の最左桁は参照符号が現れる図面の図番を示す。
【００１２】
図１は、例示的なシステム１００のブロック図であり、このシステム１００は、マイクロコントローラ（ＭＣＵ）１０２と、第１メモリ１０４と、第２メモリ１０６と、及び第３メモリ１０８とを有する。システム１００は１個のＭＣＵ及び３個のメモリを有するが、本発明の実施形態は、任意な数のＭＣＵ及び任意な数のメモリを有することができる。
【００１３】
実施形態において、ＭＣＵ１０２は、データを記憶する、又は、第１メモリ１０４、第２メモリ１０６、又は第３メモリ１０８からデータをロードする。例えば、ＭＣＵ１０２は、第１メモリ１０４及び第２メモリ１０６からアプリケーションを起動することができる。ＭＣＵ１０２は、集積回路、特定用途向け集積回路（ＡＳＩＣ：application-specific integrated circuit）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：field-programmable gate array）、処理コア、デジタル信号プロセッサ（ＤＳＰ：digital signal processor）、マイクロコントローラ（ＭＣＵ）、マイクロプロセッサ（ＭＰＵ）、又はこれらの任意な組合せを有することができる。
【００１４】
アプリケーションは２つ又はそれ以上の部分に分割することができる。一実施形態において、アプリケーションは少なくとも第１部分１１２及び第２部分１１４に分割され、この分割を、第２部分１１４が第２メモリ１０６からのロードを完了するときまでに、第１部分１１２を第１メモリ１０４から直接実行する。アプリケーションを多くの方法で分割することができる。例えば、プログラマー、ソフトウェアエンジニア若しくはアーキテクト、又は他の開発者が、コードを第１部分１１２及び第２部分１１４にセグメント化して、第２部分１１４が第２メモリ１０６からのロードを完了するときまでに、第１部分１１２を第１メモリ１０４から直接実行するプロパティを実現することができる。以下のことを実施する自動化システム及び／又はプロセッサを使用することもできる。他の実施例として、アプリケーションは、アプリケーション・プログラミング・インタフェース（ＡＰＩ）を使用して開発することができる。ＡＰＩは、開発者がアプリケーションのどの部分が第１部分１１２及び第２部分１１４に属するかを規定する機能性を提供する。代替的又は付加的に、ＡＰＩは、開発者がコードの優先順位を規定する機能性を提供し、この優先順位からコンパイラ、リンカー、他のツール又はそれらの任意な組合せが第１部分１１２及び第２部分１１４を構築して、第２部分１１４が第２メモリ１０６からのロードを完了するときまでに、第１部分１１２を第１メモリ１０４から直接実行するプロパティを実現することができる。他の実施形態において、コンパイラ、リンカー、他のツール又はそれらの任意な組合せが、ユーザーからの入力又は命令なしに、アプリケーションを第１部分１１２及び第２部分にセグメント化して、第２部分１１４が第２メモリ１０６からのロードを完了するときまでに、第１部分１１２を第１メモリ１０４から直接実行するプロパティを実現することができる。
【００１５】
実施形態において、アプリケーションの第１部分１１２は、アプリケーション初期化コード（ＡＩＣ：application initialization code）及びアプリケーション実行コード（ＡＥＣ：application executing code）を有する。ＡＩＣは、アプリケーションを初期化する命令を含む。ＡＥＣは、アプリケーションが初期化された後にアプリケーションを実行する命令を含む。
【００１６】
実施形態において、第１メモリ１０４は直接実行（ＸＩＰ：execution in place）をサポートする不揮発性低遅延メモリから構成する。ＸＩＰは、記憶域からプログラムを１つ又は複数の中間メモリ、例えばランダム・アクセス・メモリ（ＲＡＭ）にコピーすることなく、直接実行する方法に言及する。例えば、第１メモリ１０４を、任意の不揮発性メモリとすることができ、例えば、ＮＯＲ型メモリ、リード・オンリー・メモリ（ＲＯＭ）、消去可能プログラム可能・リード・オンリー・メモリ（ＥＰＲＯＭ）、マスクＲＯＭ（ＭＲＯＭ）、抵抗性ランダム・アクセス・メモリ（ＲＲＡＭ）、相変化メモリ（ＰＣＭ）、又はそれらの任意な組合せとすることができる。
【００１７】
実施形態において、第１メモリ１０４は、ハードウェア初期化コード（ＨＩＣ）１１０、アプリケーションの第１部分１１２、他のコード、又はそれらの任意な組合せを有する。ＭＣＵ１０２は、ＨＩＣ１１０、アプリケーションの第１部分１１２、他のコード、又はそれらの任意な組合せを直接実行するよう構成することができる。
【００１８】
実施形態において、第２メモリ１０６は、第１メモリ１０４よりも遅延性の高い不揮発性メモリから構成する。例えば、第２メモリ１０６は、ＮＡＮＤ型メモリ、磁気媒体（例えば、ハードドライブ）、光媒体（例えば、ＣＤ−ＲＯＭ又はＤＶＤ）、ＲＲＡＭ（登録商標）、低マルチレベルＮＯＲ、又はそれらの任意な組合せとすることができる。実施形態において、第２メモリ１０６は、ＸＩＰをサポートしない又はその遅延性に起因してＸＩＰのためには実用的に使用できない。
【００１９】
実施形態において、第２メモリ１０６は、アプリケーションの第２部分１１４を有する。第１部分１１２及び第２部分は、アプリケーション全体又はアプリケーションの一部のみを形成する。
【００２０】
実施形態において、第３メモリ１０８は揮発性低遅延メモリから構成する。例えば、第３メモリは、ＲＡＭ、ダイナミックＲＡＭ（ＤＲＡＭ）、同期型ダイナミックＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、疑似スタティックＲＡＭ（ｐＳＲＡＭ）、又はそれらの任意な組合せとすることができる。実施形態において、アプリケーションを、第１メモリ１０４、第２メモリ１０６、他のメモリ又はそれらの任意な組合せから第３メモリ１０８にコピーすることができる。
【００２１】
実施形態において、ＭＣＵ１０２は、アプリケーションの第２部分を第３メモリ１０８にロードし、第３メモリ１０８からアプリケーションの第２部分を実行するよう構成することができる。
【００２２】
図２は、本発明の例示的実施形態によるメモリアドレスマップ２００のブロック図である。メモリアドレスマップ２００は、メモリにおけるアドレス空間配置コードを反映する。実施形態において、ＭＣＵ１０２は、メモリアドレスマップ２００を使用して、アプリケーションのＨＩＣ１１０、第１部分１１２、アプリケーションの第２部分１１４、他のコード、又はそれらの任意な組合せを、配置又はアドレス指定する。
【００２３】
メモリアドレスマップ２００は、第１区域２０２及び第２区域２０４を有する。第１区域２０２は、アプリケーションのＨＩＣ１１０及び第１部分１１２のアドレスマッピングを有する。実施形態において、第１区域２０２は、第１メモリ１０４に対応し、また第１メモリ１０４にアドレスをマッピングする。例えば、第１区域２０２は、アプリケーションのＨＩＣ１１０及び第１部分１１２を記憶するＮＯＲ型メモリに対応することができる。
【００２４】
第２区域２０４は、アプリケーションの第２部分１１４のアドレスマッピングを有する。実施形態において、第２区域２０４は、第２メモリ１０６、第３メモリ１０８、又はそれらの任意な組合せに対応し、それらにアドレスをマッピングする。例えば、第２区域２０４はアプリケーションの第２部分を記憶するＮＡＮＤ型メモリ又はＲＡＭに対応することができる。
【００２５】
メモリアドレスマップ２００は、図示の特別な配置にした２つの区域を有するが、本発明の実施形態は任意の数の区域又はレイアウトを支持する。例えば、区域２０２及び２０４を、隣接しない、入り交じった、又はそれらの任意な組合せにすることができる。他の実施例として、第２メモリ１０６及び第３メモリ１０８は、それらメモリ自身の領域をメモリアドレスマップ２００に有することができる。
【００２６】
図３は、本発明の例示的実施形態によるアプリケーションを複数メモリから起動するプロセス３００を示すフローチャートである。プロセス３００は、ハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行される命令）、又はそれらの組合せとすることができる論理を処理することによって実施することができる。例えば、プロセス３００を、ＭＣＵ１０２によって実施することができる。
【００２７】
図４は、本発明の例示的実施形態による、プロセス３００からの結果として生ずる実行フロー４００のブロック図であり、図３に関連して詳述するが、プロセス３００は図４の実施例に限定されるものではないと理解すべきである。実行フロー４００において、水平軸は実行中の時間を示す。
【００２８】
ブロック３０２において、アプリケーションの第１部分１１２は第１メモリ１０４から直接実行される。例えば、第１部分１１２は、１つ又は複数の中間メモリ、例えば、第２メモリ１０６又は第３メモリ１０８にコピーすることなく第１メモリから直接実行することができる。実施形態において、ＭＣＵ１０２はアプリケーションの第１部分を直接実行する。
【００２９】
実施形態において、ＨＩＣ１１０を第１メモリ１０４から直接実行する。ＭＣＵ１０２は、アプリケーションの第１部分１１２を実行する前に、ＨＩＣ１１０を第１メモリ１０４から直接実行することができる。図４は、ブロック４０２におけるＨＩＣ１１０の実行、及びブロック４０４における第１部分１１２の実行を示す。実施形態において、アプリケーションの第１部分１１２の実行は、ブロック４０６におけるＡＩＣの実行、及びブロック４０８におけるＡＥＣの実行を含む。
【００３０】
図３に戻って説明すると、ブロック３０４においてアプリケーションの第２部分１０４が第２メモリ１０６からロードされる。実施形態において、ＭＣＵ１０２はアプリケーションの第２部分１１４を第２メモリ１０６からロードする。図４はブロック４１０における第２部分のロードを示す。
【００３１】
実施形態において、アプリケーションの第２部分１１４は第２部分１０６から第３メモリ１０８にロードされる。例えば、ＭＣＵ１０２はアプリケーションの第２部分１１４をＮＡＮＤ型メモリからＲＡＭメモリにロードすることができる。
【００３２】
実施形態において、アプリケーションの第１部分１１２の第１メモリからの直接実行の少なくとも幾らかの部分、及び第２部分１１４のロードの少なくとも幾らかの部分を並列的に行う。例えば、図４は、ブロック４０４における第１部分１１２及びブロック４１０における第２部分１１４のロードが同時に生じていることを示す。
【００３３】
実施形態において、第２部分１１４を、アプリケーションの第１部分１１２が直接実行を完了するときまでにロードする。例えば、図４は、第２部分１１４のロードが時点４１２で完了し、この時点までにはアプリケーションの第１部分１１２が直接実行を完了していることを示す。
【００３４】
実施形態において、第２部分１１４は、第１部分１１２が直接実行を完了する時点までに第３メモリ１０８にロードされる。例えば、第２部分１１４を、第１部分１１２がＮＯＲ型メモリ内で直接実行を完了する時点までに、ＮＡＮＤ型メモリからＲＡＭにロードすることができる。
【００３５】
図３に戻って説明すると、ブロック３０６においてアプリケーションの第２部分１１４を実行する。実施形態において、ＭＣＵ１０２はアプリケーションの第２部分１１４を実行する。例えば、図４は、アプリケーションの第１部分１１２の直接実行を完了した時点４１２の後に、第２部分１１４がブロック４１４で実行されていることを示す。
【００３６】
実施形態において、アプリケーションの第２部分１１４を第３メモリ１０８から実行する。例えば、第２部分１１４を揮発性メモリ、例えばＲＡＭから実行することができる。
【００３７】
実施形態において、アプリケーションの第２部分１１４は、デマンド・ページング又はシャドウモードのうち少なくとも一方を使用して実行する。例えば、シャドウモードにおいて、第２部分１１４を、第２メモリ１０６から第３メモリに全体的にロードすることができ、また次に第２部分１１４を第３メモリ１０８から全体的に実行する。デマンド・ページングを使用する他の実施形態において、第２部分１１４として表されるその時点で必要とされるコード部分をロードしかつ第３メモリ１０８から実行することができる。アプリケーションの１つ又は他の複数部分が必要であるとき、それらをロードしまた必要に応じて第３メモリ１０８から実行することができる。
【００３８】
＜コンピュータシステムの例＞
種々の実施形態を、例えば、１つ又は複数の周知のコンピュータシステム（図５に示すコンピュータシステム５００等）を使用して実施することができる。コンピュータシステム５００を、本明細書に記載の機能を実施することができる任意の周知のコンピュータ、例えば、ＩＢＭ（登録商標）、Ａｐｐｌｅ（登録商標）、Ｓｕｎ（登録商標）、ＨＰ（登録商標）、Ｄｅｌｌ（登録商標）、ソニー（登録商標）、東芝（登録商標）等から入手可能なコンピュータとすることができる。コンピュータシステム５００は、さらに、本明細書に記載の機能を実施することができる任意な埋め込みシステム、例えば、ルネサス（登録商標）、Ｆｒｅｅｓｃａｌｅ（登録商標）、Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ（登録商標）、Ｓｐａｎｓｉｏｎ（登録商標）等から入手可能な埋め込みシステムとすることができる。
【００３９】
コンピュータシステム５００は、プロセッサ５０４のような１個又は複数個のプロセッサ（中央処理ユニット又はＣＰＵｓとも称される）を有する。プロセッサ５０４を通信インフラ又はバス５０６に接続する。
【００４０】
１個又は複数個のプロセッサ５０４それぞれを、グラフィック処理ユニット（ＧＰＵ）とすることができる。実施形態において、ＧＰＵは、電子デバイスにおける数学的処理が集中するアプリケーションを高速処理するよう設計された専用電子回路のプロセッサである。ＧＰＵは、大きなデータブロック（コンピュータグラフィックアプリケーション、画像及びビデオに共通する数学的処理が集中するデータ等）を並列処理するのに効率的な高度並列構造を有することができる。
【００４１】
コンピュータシステム５００は、さらに、ユーザー入／出力インタフェース５０２経由で通信インフラ５０６と通信する、ユーザー入／出力デバイス５０３、例えば、モニタ、キーボード、ポインティングデバイス等を有する。
【００４２】
コンピュータシステム５００は、さらにランダム・アクセス・メモリ（ＲＡＭ）のようなメインメモリ又は主メモリ５０８を有する。メインメモリ５０８は、１つ又は複数のレベルのキャッシュを有することができる。メインメモリ５０８は、内部に制御論理（すなわち、コンピュータソフトウェア）及び／又はデータを記憶する。
【００４３】
コンピュータシステム５００は、さらに、１個又は複数個の二次記憶デバイス又はメモリ５１０を有することができる。二次メモリ５１０としては、例えば、ハードディスクドライブ５１２、及び／又はリムーバブル記憶デバイス若しくはドライブ５１４がある。リムーバブル記憶ドライブ５１４を、フロッピー（登録商標）ディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光記憶ドライブ、テープバックアップデバイス、及び／又は任意な他の記憶デバイス／ドライブとすることができる。
【００４４】
リムーバブル記憶ドライブ５１４は、リムーバブル記憶ユニット５１８と相互作用することができる。リムーバブル記憶ユニット５１８は、コンピュータソフトウェア（制御論理）及び／又はデータを記憶したコンピュータ可用又は可読の記憶デバイスを有する。リムーバブル記憶ユニット５１８を、フロッピーディスク、磁気テープ、コンパクトディスク、ＤＶＤ、光記憶ディスク、及び／又は任意の他のコンピュータデータ記憶デバイスとすることができる。リムーバブル記憶ドライブ５１４は、よく知られている方法でリムーバブル記憶ユニット５１８に対して読み出し／書き込みをする。
【００４５】
本発明の例示的実施形態によれば、二次メモリ５１０は、コンピュータプログラム並びに／又は他の命令及び／若しくはデータを、コンピュータシステム５００がアクセスできるようにする、他の手段、機器又は他の手法を有することができる。このような他の手段、機器又は他の手法としては、例えば、リムーバブル記憶ユニット５２２及びインタフェース５２０がある。リムーバブル記憶ユニット５２２及びインタフェース５２０の例には、プログラムカートリッジ及びカートリッジインタフェース（例えば、ビデオゲームデバイスに見られる）、リムーバブルメモリチップ（例えば、ＥＰＲＯＭ又はＰＲＯＭ）及び関連のソケット、メモリスティック及びＵＳＢポート、メモリカード及び関連のメモリカードスロット、並びに／又は任意の他のリムーバブル記憶ユニット及び関連のインタフェースを含むことができる。
【００４６】
コンピュータシステム５００は、さらに、通信又はネットワークのインタフェース５２４を有する。通信インタフェース５２４によれば、コンピュータシステム５００が遠隔デバイス、遠隔ネットワーク、遠隔エンティティ等の任意な組合せ（個別及び集合的に参照符号５２８で示す）と通信及び相互作用することができる。例えば、通信インタフェース５２４はコンピュータシステム５００が通信経路５２６により遠隔デバイス５２８と通信することを可能にし、この通信経路５２６は、有線及び／又は無線とすることができ、またＬＡＮ、ＷＡＮ、インターネット等の任意な組合せがある。制御論理及び／又はデータは通信経路５２６経由でコンピュータシステム５００に対して送受信することができる。
【００４７】
実施形態において、制御論理（ソフトウェア）を記憶した有形コンピュータ可用又は可読媒体を備える、有形の装置又は製品は、本明細書でコンピュータプログラム製品又はプログラム記憶装置とも称する。このような装置及び製品としては、限定しないが、コンピュータシステム５００、メインメモリ５０８、二次メモリ５１０、及びリムーバブル記憶ユニット５１８，５２２、並びに上述の任意な組合せを実現する有形製品がある。このような制御論理は、１つ又は複数のデータ処理装置（例えば、コンピュータシステム５００）によって実行されるとき、このようなデータ処理装置を動作させる。
【００４８】
本明細書に記載の教示に基づいて、図５に示した以外のデータ処理装置、コンピュータシステム及び／又はコンピュータアーキテクチャを使用して本発明をどのように形成及び使用するかは当業者には明らかであろう。とくに、実施形態は、上述した以外のソフトウェア、ハードウェア、及び／又はオペレーティング・システムの実装により運用することができる。
【００４９】
＜結論＞
当然のことながら、概要及び要約の章ではない詳細な説明の章は、特許請求の範囲を理解する上で使用することを意図する。概要及び要約の章は本発明がもくろむ本発明の例示的実施形態のうち、１つ又は全てではない複数のものを記載し、またしたがって、発明又は特許請求の範囲を限定することは一切意図しない。
【００５０】
例示的分野及び用途に対する例示的実施形態につき本発明を説明したが、本発明はこれらに限定するものではないことを理解されたい。他の実施形態及びそれらに対する変更例も可能であり、本発明の範囲及び精神内に包含される。例えば、またこの段落の一般性を制限することなく、実施形態は、ソフトウェア、ハードウェア、ファームウェア、並びに／又は図示及び／若しくは本明細書に記載のエンティティに限定されるものではない。さらに、実施形態（本明細書に明確に記載されたか否かに係わらず）は、本明細書に記載の実施例を越えた分野及び用途に対しても大きな有用性がある。
【００５１】
実施形態は、特定機能及びその関係性を実現するよう図示する機能的構成ブロックとともに説明した。これら機能的構成ブロックの境界は、説明の便宜上任意に規定した。特定機能及びその関係性が適正に実施される限り、他の境界に規定することができる。さらに、代替的実施形態は、上述したものとは異なる順序で機能的ブロック、ステップ、オペレーション、方法等を実施することができる。
【００５２】
本明細書中に使用される「一実施形態（one embodiment）」、「実施形態（an embodiment）」、「例示的実施形態（an example embodiment）」又は同様な語句は、記載の実施形態が特別な特徴、構造又は特性を有することを示すものであるが、すべての実施形態は、必ずしもその特別な特徴、構造又は特性を有する必要がないものであり得る。さらに、このような語句は、必ずしも同一実施形態に言及するものではない。さらに、特別な特徴、構造又は特性が実施形態に関連して説明されるとき、当業者であれば、このような特徴、構造又は特性が、本明細書に明確に記載されたか否かに係わらず他の実施形態に組み入れられることを認識するであろう。
【００５３】
本発明の域幅及び範囲を、上述したいかなる例示的実施形態によっても限定すべきでなく、特許請求の範囲及びその均等物に従ってのみ定義すべきである。
【図１】
0006605597.tif 000002
【図２】
0006605597.tif 000003
【図３】
0006605597.tif 000004
【図４】
0006605597.tif 000005
【図５】
0006605597.tif 000006