コンピュータにより実行されるインデックス方法であって、クライアントから受信したサーチ用語を有するサーチ問合せに応答して、現在言語ロケールを決定する処理と、前記現在言語ロケールに基づいて前記サーチ用語の同じ意味を有する前記サーチ用語の変化を表わすために複数のノードを有するステートマシンを動的に構築する処理と、前記ステートマシンの各ノードに対応する反転型インデックスの1つ以上のポスティングリストを識別するように前記ステートマシンの各ノードを横断する処理と、前記1つ以上のポスティングリストから得た1つ以上のアイテム識別子を前記クライアントへ返送する処理であって、前記アイテム識別子は、前記ステートマシンにより表わされる前記サーチ用語の変化を含む1つ以上のファイルを識別するものである当該処理と、が実行される方法。複数の言語ロケールからの1つ以上のキャラクタを有する複数の用語に対して前記反転型インデックスを維持する処理を更に含み、各用語は、対応する用語を含む1つ以上のファイルを識別するアイテム識別子を有するポスティングリストに対応する、請求項1に記載の方法。前記ステートマシンの各々のノードは、前記決定された言語ロケールのもとで前記サーチ用語の対応するキャラクタの同じ意味を有するキャラクタを表わす、請求項1に記載の方法。前記ステートマシンの各ノードは、異なる言語ロケールにおいて同じ意味を有する異なるキャラクタの変化の照合コレーションを表わすコレーションキーcollationkeyに関連付けられる、請求項1に記載の方法。前記コレーションキーは、異なる言語ロケールにおける各々のキャラクタを表わすインターナショナルコンポーネントユニコードICUから導出される、請求項4に記載の方法。前記ステートマシンを横断する処理は、前記ステートマシンの各ノードの第1コレーションキーを前記サーチ用語の対応するキャラクタの第2コレーションキーに対してマッチングさせること、及び前記第2コレーションキーにマッチングしないコレーションキーを有するキャラクタ候補を前記ステートマシンから除去すること、を含む請求項4に記載の方法。前記反転型インデックスの用語は、トライアーキテクチャーに記憶され、前記ステートマシンの各ノードを横断して、前記トライアーキテクチャーの対応するノードを探索し、それに対応するポスティングリストを識別する、請求項1に記載の方法。コンピュータにインデックス方法を遂行するようにさせるインストラクションを記憶したコンピュータ読み取り可能な記憶媒体であって、前記コンピュータに、クライアントから受け取られたサーチ用語を有するサーチ問合せに応答して、現在言語ロケールを決定し、前記現在言語ロケールに基づいて前記サーチ用語の同じ意味を有する前記サーチ用語の変化を表わすために複数のノードを有するステートマシンを動的に構築し、前記ステートマシンの各ノードに対応する反転型インデックスの1つ以上のポスティングリストを識別するように前記ステートマシンの各ノードを横断し、前記1つ以上のポスティングリストから得た1つ以上のアイテム識別子を前記クライアントへ返送し、前記アイテム識別子は、前記ステートマシンにより表わされる前記サーチ用語の変化を含む1つ以上のファイルを識別する、ことを実行させるプログラムを記録したコンピュータ読み取り可能な記憶媒体。更に、複数の言語ロケールからの1つ以上のキャラクタを有する複数の用語に対して前記反転型インデックスを維持することを実行させるプログラムを含み、前記各用語は、対応する用語を含む1つ以上のファイルを識別するアイテム識別子を有するポスティングリストに対応するものである、請求項8に記載のコンピュータ読み取り可能な記憶媒体。前記ステートマシンの各々のノードは、前記決定された言語ロケールのもとで前記サーチ用語の対応するキャラクタの同じ意味を有するキャラクタを表わす、請求項8に記載のコンピュータ読み取り可能な記憶媒体。前記ステートマシンの各ノードは、異なる言語ロケールにおいて同じ意味を有する異なるキャラクタの変化の照合コレーションを表わすコレーションキーに関連付けられる、請求項8に記載のコンピュータ読み取り可能な記憶媒体。前記コレーションキーは、異なる言語ロケールにおける各々のキャラクタを表わすインターナショナルコンポーネントユニコードICUから導出される、請求項11に記載のコンピュータ読み取り可能な記憶媒体。前記ステートマシンを横断することは、前記ステートマシンの各ノードの第1コレーションキーを前記サーチ用語の対応するキャラクタの第2コレーションキーに対してマッチングさせること、及び前記第2コレーションキーにマッチングしないコレーションキーを有するキャラクタ候補を前記ステートマシンから除去すること、を含む請求項11に記載のコンピュータ読み取り可能な記憶媒体。前記反転型インデックスの用語は、トライアーキテクチャーに記憶され、前記ステートマシンの各ノードを横断して、前記トライアーキテクチャーの対応するノードを探索し、それに対応するポスティングリストを識別する、請求項8に記載のコンピュータ読み取り可能な記憶媒体。コンピュータにより実行されるインデックス方法であって、サーチ用語を有するサーチ問合せに応答して、そのサーチ用語のキャラクタごとにコレーションキーを決定する処理と、前記サーチ用語に基づき複数のノードを有するステートマシンを動的に構築する処理であって、各ノードは、前記サーチ用語におけるキャラクタの1つを表わすものである当該処理と、前記ステートマシンの各ノードに対応する反転型インデックスの1つ以上のポスティングリストを識別するように前記ステートマシンの各ノードを横断する処理であって、前記ステートマシンのノードごとに、現在言語ロケールに基づき同じ意味をもつ1つ以上の等価キャラクタを識別し、前記等価キャラクタのコレーションキーを、前記サーチ用語における対応するキャラクタのコレーションキーと比較し、前記サーチ用語における対応するキャラクタのコレーションキーとマッチングしないコレーションキーを有する等価キャラクタを除去し、残りのキャラクタを使用して、前記反転型インデックスにおける1つ以上のポスティングリストを識別する、ことを含む当該処理と、が実行される方法。前記1つ以上のポスティングリストから得た1つ以上のアイテム識別子をクライアントに提供する処理を更に含み、前記アイテム識別子は、前記ステートマシンにより表されるサーチ用語の変化を含む1つ以上のファイルを識別するものである、請求項15に記載の方法。前記コレーションキーは、異なる言語ロケールにおけるキャラクタを表わすインターナショナルコンポーネントユニコードICUから導出される、請求項15に記載の方法。コンピュータにより実行されるインデックス方法であって、インデックスされるべき1つ以上のキャラクタを有する第1の用語をデータ処理システムで受信する処理と、前記データ処理システムの現在言語ロケールを決定する処理と、前記現在言語ロケールのもとで前記第1の用語のキャラクタごとにコレーションキーを決定する処理と、前記第1の用語の実際のキャラクタに基づいてインデックスすることなく反転型インデックスにおける前記第1の用語のキャラクタごとに前記コレーションキーをインデックスする処理と、を含み、前記コレーションキーは、現在言語ロケールのもとで同じ意味をもつ1つ以上の等価キャラクタの群を表わし、更に、前記反転型インデックスは、コレーションキーに基づいてその後のサーチに使用される方法。1つ以上のキャラクタを有する第2の用語をもつサーチ問合せをクライアントから前記データ処理システムで受信する処理と、前記現在言語ロケールに基づいて各キャラクタを表わす1つ以上のコレーションキーのシーケンスを発生する処理と、前記コレーションキーのシーケンスに基づいて前記反転型インデックスをサーチして、前記コレーションキーに関連した1つ以上のポスティングリストを識別する処理と、前記ポスティングリストから得た1つ以上のアイテム識別子のリストをクライアントに返送する処理であって、そのアイテム識別子は、前記コレーションキーに対応するキャラクタを含む1つ以上のファイルを識別するものである当該処理と、を更に含む請求項18に記載の方法。前記コレーションキーは、異なる言語ロケールにおけるキャラクタを表わすインターナショナルコンポーネントユニコードICUから導出される、請求項18に記載の方法。本発明の1つの態様によれば、クライアントから受け取られたサーチ用語を有するサーチ問合せに応答して、現在言語ロケールが決定される。この現在言語ロケールに基づいてステートマシンが構築され、このステートマシンは、サーチ用語の同じ意味を有するサーチ用語の変化を表わすための1つ以上のノードを含む。ステートマシンの各ノードは、ステートマシンの各ノードに対応する反転型インデックスの1つ以上のポスティングリストを識別するように横断される。1つ以上のポスティングリストから得られた1つ以上のアイテム識別子は、クライアントへ返送され、そこで、アイテム識別子は、ステートマシンによって表わされるサーチ用語の変化を含む1つ以上のファイルの1つ以上のエントリー又はロケーションを識別する。本発明の別の態様によれば、サーチ用語を有するサーチ問合せに応答して、サーチ用語の部分ごとに照合のためのコレーションキーが決定される。1つ以上のノードを有するステートマシンがサーチ用語に基づいて構築され、各ノードは、サーチ用語におけるキャラクタの1つを表わす。ステートマシンにおけるノードの各々は、ステートマシンの各ノードに対応する反転型インデックスの1つ以上のポスティングリストを識別するように横断される。ステートマシンのノードごとに、同じ意味をもつ1つ以上の等価キャラクタが、現在言語ロケールに基づいて識別される。等価キャラクタのコレーションキーが、サーチ用語における対応キャラクタ1つ又は複数のキー1つ又は複数と比較される。サーチ用語における対応キャラクタのコレーションキーに一致しないコレーションキーを有する等価キャラクタが除去され、残りのキャラクタを使用して、反転型インデックスにおける1つ以上のポスティングリストを識別する。本発明の更に別の態様によれば、データ処理システムに第1の用語が受け取られ、この第1の用語は、インデックスされるべき1つ以上のキャラクタを含む。データ処理システムの現在言語ロケールが決定される。第1の用語の各キャラクタのコレーションキーは、現在言語ロケールのもとで決定される。第1の用語の各キャラクタのコレーションキーは、第1の用語の実際のキャラクタに基づいてインデックスされずに反転型インデックスにおいてインデックスされる。コレーションキーは、現在言語ロケールのもとで同じ意味をもつ1つ以上の等価キャラクタのファミリを表わし、コレーションキーに基づくその後のサーチには反転型インデックスが使用される。本発明の他の特徴は、添付図面及び以下の詳細な説明から明らかとなろう。本発明の実施形態は、同様の要素が同じ参照番号で示された添付図面に一例として示すが、これに限定されるものではない。本発明の種々の実施形態及び態様が以下に詳細に説明され、添付図面は種々の実施形態を示す。以下の説明及び添付図面は、本発明を例示するもので、本発明を限定するものではない。本発明の種々の実施形態を完全に理解するために多数の特定の細部について述べる。しかしながら、ある場合には、本発明の実施形態の説明を簡略にするため、良く知られた又は従来の細部は、述べない。本明細書において1つの実施形態又は一実施形態とは、実施形態に関連して述べる特定の特徴、構造又は特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所で1つの実施形態においてという句が現れたときには、必ずしも、全てが同じ実施形態を指していない。ある実施形態によれば、インデックス例えば、反転型インデックスは、使用される言語ロケールの種類に基づいて異なる仕方で構築される。1つの実施形態において、インデックス段階中にほとんど又は全ての言語ロケールのほとんど又は全てのキャラクタ特殊なキャラクタを含むを網羅するようにインデックスが構築される。その後に、サーチ問合せのサーチ用語を含むファイルをサーチするためにサーチ問合せが受け取られたときに、その時点の言語ロケールに基づいてステートマシンが動的に構築され、ここで、ステートマシンは、同じ又は同様の意味をもつ言語ロケールのもとでサーチ用語の全ての変化を表わす。これは、実際に、その時点の言語ロケールのもとで異なる意味をもつが、他の言語ロケールでは同じ意味をもつキャラクタをふるい落とす。別の実施形態によれば、移動装置のようなあるオペレーティング環境では、ローカライゼーションはスタティックのままである傾向がある例えば、言語ロケールは比較的長期間同じままであるので、インデックスは言語に特有の仕方で構築される。例えば、実際のキャラクタ又は用語をインデックスするのではなく、複数のキャラクタ又は問合せ用語が等価である場合には、キャラクタ又は用語に対応するコレーションキーがインデックスされる。その結果、インデックスは、比較的小さなサイズに維持することができ、ひいては、より高速のサーチとなる。図1は、本発明の1つの実施形態によるインデックス及びサーチシステムを示すブロック図である。図1を参照すれば、システム100は、これに限定されないが、インデックスソフトウェア101と、サーチソフトウェア102と、それらのインデックスソフトウェア101及びサーチソフトウェア102並びに他のソフトウェアプログラムに作動的に結合されたオペレーティングシステムOSのカーネルのような1つ以上のシステムコンポーネントと、を備えている。サーチソフトウェア102は、コンテンツでサーチするコンテンツで見出すとも称されるソフトウェア107、メタデータでサーチするメタデータで見出すとも称されるソフトウェア108のような、種々のサーチプログラムを含む。例えば、コンテンツでサーチするソフトウェア107及び/又はメタデータでサーチするソフトウェア108は、カリフォルニア州クパチーノのアップルR社から入手できるMacOSTMのFinderTMプログラムのような任意の種類のオペレーティングシステムのブラウジングプログラムの一部分として具現化される。1つの実施形態において、コンテンツで見出すソフトウェア107及び/又はメタデータで見出すソフトウェア108は、コンテンツファイル103又はメタデータ104に存在する用語を見出すのに使用される。例えば、ソフトウェア107/108は、マイクロソフトワード、等のワード処理プログラムにより生成されるワード処理又はテキスト処理ファイルからテキスト及び他の情報を見出すのに使用される。コンテンツで見出すソフトウェア107及びメタデータで見出すソフトウェア108は、1つ以上のインデックス105を含むデータベースに作動的に結合される。インデックス105は、ファイルデータ103及びメタデータ104を含めて、記憶装置におけるデータファイルのサブセットを少なくとも表わし、そしてコンピュータシステムのメインハードドライブのような特定の記憶装置又は複数の記憶装置における全てのデータファイルを含む。1つ以上のインデックス105は、テキストドキュメント、音楽、ビデオ、又は他の形式のファイルのような、ファイル103/104に記憶された各アイテムのコンテンツ及び/又はメタデータのインデックスされた表現を含む。コンテンツで見出すソフトウェア107は、1つ以上のインデックスファイル105を通してサーチすることによりそのコンテンツにおける用語をサーチして、インデックスされたデータファイル103に記憶されたアイテムに、例えば、特定のワードのような特定の用語が存在するかどうか決定する。コンテンツで見出すソフトウェアの機能は、メタデータで見出すソフトウェア108を通して利用することができ、これは、データファイル103に記憶されたアイテム内のコンテンツ103及びそのアイテムに対して発生されたメタデータ108に対してユーザがインデックス105をサーチできるという効果をユーザに与える。本発明の1つの実施形態において、インデックスソフトウェア101は、コンテンツ及びメタデータで見出すソフトウェアアプリケーション107/108に結合される1つ以上のインデックス105を生成し維持するのに使用される。他の機能の中で、インデックスソフトウェア101は、コンテンツファイル103及びメタデータ104をスキャンすることにより得られる情報を受け取り、そしてその情報を使用して、1つ以上のポスティングリスト106を発生し、このリストは、特定の用語を含むか又は特定の用語を含むメタデータを有するアイテム例えば、ファイルを識別するものである。従って、ポスティングリストは、サーチ用語のような用語を、そのリストで識別されるアイテムへとマップする一形式の反転型インデックスである。1つの実施形態において、スキャン中に得られる情報は、特定の用語を含むか又はその用語を含むメタデータを有するアイテムを独特に識別する独特の識別子を含んでいる。例えば、ワード処理又はテキスト処理ファイルのようなアイテムは、ITEMIDと称される独特の識別子を有する。ITEMIDは、ワードAppleのような特定の用語を含むアイテムを識別すためにポスティングリスト例えば、ポスティングファイル106を発生するときに使用される。画像ファイル又は音楽ファイルのような他の形式のファイルを識別するITEMIDも、1つ以上のポスティングリスト106に掲示され、このケースでは、ITEMIDは、典型的に、特定の用語を含むメタデータを有するアイテムを識別する。1つの実施形態において、インデックスソフトウェア101は、1つ以上の用語に対するポスティングリスト106を1つ以上の更新セット図示せずへと累積し、そして時々それら更新セットを1つ以上のインデックスファイル105へとフラッシュする。1つの実施形態において、サーチソフトウェア102は、更に、オペレーティングシステム又はシステム/ユーザ構成の一部分として構成された言語ロケール情報110に基づいてサーチ時にステートマシンを構築するように構成されたサーチステートマシンビルダー109を備えている。1つの実施形態において、サーチ用語を含むコンテンツファイル又はメタデータをサーチするためにサーチ問合せが受け取られると、ステートマシンビルダー109は、ロケール情報110から得られた現在言語ロケールに基づいてサーチ用語を表現するためにステートマシンを動的に構築するよう構成される。ステートマシンは、現在言語ロケールのもとでサーチ用語のキャラクタ又は等価キャラクタを各々表わす1つ以上のノードを含む。即ち、ステートマシンは、同じ又は同様の意味をもつ言語ロケールのもとでサーチ用語の全ての変化を表わす。これは、実際に、その時点の言語ロケールのもとで異なる意味をもつが、他の言語ロケールでは同じ意味をもつキャラクタをふるい落とす。図5は、本発明の1つの実施形態により言語ロケールに基づいてインデックス及びサーチを行う方法を示すフローチャートである。例えば、この方法は、図1のシステム100によって遂行される。図5を参照すれば、ブロック501において、全部又はほとんどの言語ロケールの用語及びキャラクタについて反転型インデックスが維持される。クライアントから受け取ったサーチ用語を有するサーチ問合せに応答して、その時点の現在言語ロケールが決定される。現在言語ロケールに基づき、ブロック503において、サーチ用語の各キャラクタ例えば、等価キャラクタの全ての変化を表わすようにステートマシンが動的に構築される。即ち、ステートマシンは、現在言語ロケールのもとでのサーチ用語の全ての種々の等価キャラクタの全ての組み合わせ又は変更を表わす。ブロック504において、インデックスのポスティングリストが、ステートマシンのノードにより表された用語に基づいてサーチされて、ステートマシンにより表された1つ以上の用語を含むアイテム例えば、ファイルのリストを識別し、サーチ結果を発生する。ブロック505において、サーチ結果がクライアントに返送される。図1に戻ると、ある実施形態によれば、インデックスファイル105及び/又はポスティングリストファイル106は、トライデータ構造又は平坦化構造のようなツリー構造で記憶される。トライは、ツリーの各ノードが、マッチングされるストリングの1つのキャラクタを解明するツリー構造である。各内部ノードは、キャラクタのリストより成る。各キャラクタには、別の内部ノード又はリーフノードへの出リンクが関連付けられる。各リーフノードは、そのリーフノードへ通じるプレフィックスに関連した結果データを保持する。トライをサーチするために、ルートノードでスタートし、そしてマッチングされるストリングの次のキャラクタに対応する各ノードにおいて出リンクをたどることによりツリーを横断する。マッチングする出リンクを見出せないときには、マッチングが見出されている。各キャラクタは、そのユニコード及び/又はそれに対応するコレーションキーにより表される。例えば、そのようなユニコード及びコレーションキーは、インターナショナルコンポーネントフォーユニコードICU統治団体により規定される。キャラクタは、単一ユニコードにより表されたコンポーズ型形態で記憶されるか、或いは複数のユニコードで表されるデコンポーズ型形態で記憶される。1つの実施形態において、キャラクタは、8ビットのユニコードトランスフォーメーションフォーマットUTF-8キャラクタのように、ユニコードに対する可変長さキャラクタエンコーディングとして記憶される。図10は、本発明の別の実施形態によるサーチ方法を示すフローチャートである。例えば、この方法1000は、図1のシステムにより遂行される。図10を参照すれば、ブロック1001において、サーチ用語に応答して、サーチ用語のキャラクタごとのコレーションキーが決定される。そのようなコレーションキーは、ICU統治団体により規定された1つ以上のルールに基づいて決定される。ブロック1002において、ステートマシンが動的に構築され、ここで、ステートマシンは、サーチ用語のキャラクタの1つに各々対応する1つ以上のノードを含む。ブロック1003において、ステートマシンの各ノードに対して、1つ以上の等価キャラクタが現在言語ロケールに基づいて識別される。ブロック1004において、等価キャラクタのコレーションキーが、サーチ用語に関連したコレーションキーとマッチングされる。ブロック1005において、コレーションキーがサーチ用語の対応する1つにマッチングしないキャラクタが除去される。移動装置のようなあるオペレーティング環境では、言語ロケールが安定する傾向となる。即ち、オペレーティング環境の言語ロケールは、頻繁に変化しない。むしろ、そのようなオペレーティング環境では、メモリ及び/又は記憶装置のような処理帯域巾が限定される傾向がある。本発明のある実施形態によれば、用語の実際のキャラクタをインデックスするのではなく、現在言語ロケールに対する用語のキャラクタのコレーションキーがインデックスされる。例えば、移動電話は、典型的に、インデックスされるドキュメントの小さなセットを有する。1つの実施形態では、コレーションキーは、現在言語ロケールに基づいてインデックスされる。言語ロケールが変化する場合には、新たな言語ロケールのもとにあるドキュメントのコレーションキーが再インデックスされる。図11は、本発明の1つの実施形態によるコレーションキーに基づくインデックス及びサーチ方法を示すフローチャートである。例えば、方法1100は、図1のシステムにより遂行される。図11を参照すれば、ブロック1101において、インデックスされるべき1つ以上のキャラクタを有する用語に応答して、現在言語ロケールが決定される。言語ロケールは、システムのオペレーティング環境のユーザ及び/又はシステム構成から得られる。ブロック1102において、用語のキャラクタの各々又は全部に対して現在言語ロケールに基づいてコレーションキーが発生される。ブロック1103において、用語を表わすコレーションキーが反転型インデックスにおいてインデックスされる。その後、ブロック1104において、サーチ用語に応答して、サーチ用語の各キャラクタに対するコレーションキーが現在言語ロケールに基づいて発生される。ブロック1105において、サーチ用語を表わすコレーションキーに基づいて反転型インデックスがサーチされ、コレーションキーに対応する用語を含む1つ以上のファイルを識別する。ブロック1101-1103及びブロック1104-1105に含まれたオペレーションは、例えば、異なるスレッドを通して、独立して遂行されてもよいことに注意されたい。図12は、本発明の一実施形態に使用できるデータ処理システムのブロック図である。例えば、このシステム1200は、図1のシステム100として使用されてもよい。図12は、コンピュータシステムの種々のコンポーネントを示すが、コンポーネントを相互接続する特定のアーキテクチャー又は方法を表わすものではないことに注意されたい。というのは、そのような細部は、本発明にとって関係がないからである。また、より少ないコンポーネント又はおそらくより多くのコンポーネントを有するネットワークコンピュータ、ハンドヘルドコンピュータ、セルラーホン及び他のデータ処理システムも、本発明に使用できることが明らかであろう。図12のコンピュータシステムは、例えば、アップルマッキントッシュRコンピュータ、又はMacBookR、或いはIBMR適合のPCでよい。図12に示したように、一形式のデータ処理システムであるコンピュータシステム1200は、バス又は相互接続部1202を備え、これは、1つ以上のマイクロプロセッサ1203、ROM1207、揮発性RAM1205、及び不揮発性メモリ1206に結合される。マイクロプロセッサ1203は、キャッシュメモリ1204に結合される。バス1202は、これら種々のコンポーネントを一緒に相互接続すると共に、これらコンポーネント1203、1207、1205及び1206を、ディスプレイコントローラディスプレイ装置1208、並びに入力/出力I/O装置1210に相互接続し、そのI/O装置は、マウス、キーボード、モデム、ネットワークインターフェイス、プリンタ、及びこの分野で良く知られた他の装置である。典型的に、入力/出力装置1210は、入力/出力コントローラ1209を通してシステムに結合される。揮発性RAM1205は、典型的に、メモリ内のデータをリフレッシュ又は維持するために常時電力を必要とするダイナミックRAMDRAMとして具現化される。不揮発性メモリ1206は、典型的に、システムから電力が取り去られた後もデータを維持する磁気ハードディスク、磁気光学ドライブ、光学ドライブ、又はDVDRAM、或いは他の形式のメモリシステムである。典型的に、不揮発性メモリは、ランダムアクセスメモリであるが、これは、必要なことではない。図12は、不揮発性メモリが、データ処理システム内の残りのコンポーネントに直結されたローカル装置であることを示しているが、本発明は、システムから遠隔にある不揮発性メモリ、例えば、モデム又はイーサネットインターフェイスのようなネットワークインターフェイスを通してデータ処理システムに結合されたネットワーク記憶装置を使用してもよい。バス1202は、この分野で良く知られたように、種々のブリッジ、コントローラ、及び/又はアダプタを通して互いに接続される1つ以上のバスを含む。1つの実施形態において、I/Oコントローラ1209は、USB周辺装置をコントロールするためのUSBユニバーサルシリアルバスアダプタを含む。或いは又、I/Oコントローラ1209は、FireWire装置をコントロールするためのFireWireアダプタとしても知られたIEEE-1394アダプタを含んでもよい。以上の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表示に関して表現されている。これらのアルゴリズム記述及び表示は、データ処理分野の当業者が、彼らの仕事の実質を他の当業者に最も効率的に伝えるために使用される方法である。アルゴリズムとは、ここでは、一般的に、望ましい結果を導く自己矛盾のないオペレーションシーケンスであると考えられる。オペレーションは、物理量の物理的操作を要求するものである。しかしながら、これら及び同様の用語は、すべて適当な物理量に関連付けられ、そしてそれらの量に適用される便宜的表示に過ぎないことに留意されたい。特に指示のない限り、以上の説明から明らかなように、この説明全体を通して、特許請求の範囲に示すような用語を使用する説明は、コンピュータシステムのレジスタ及びメモリ内で物理的電子的量として表されたデータを操作し、そしてコンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、伝達又は表示装置内で物理的量として同様に表される他のデータへと変換するコンピュータシステム又は同様の電子的コンピューティング装置のアクション及び処理を指すものであることが明らかである。また、本発明の実施形態は、ここに示すオペレーションを遂行するための装置にも係る。そのようなコンピュータプログラムは、不揮発性のコンピュータ読み取り可能な媒体に記憶される。マシン読み取り可能な媒体は、マシン例えば、コンピュータにより読み取りできる形態で情報を記憶するためのメカニズムを含む。例えば、マシン読み取り可能な例えば、コンピュータ読み取り可能な媒体は、マシン例えば、コンピュータ読み取り可能な記憶媒体例えば、リードオンリメモリROM、ランダムアクセスメモリRAM、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリ装置などを含む。添付図面に示すプロセス及び方法は、ハードウェア例えば、回路、専用ロジック、等、ソフトウェア例えば、非一時的なコンピュータ読み取り可能な媒体で実施される、又は両方の組み合わせを含む処理ロジックによって遂行される。プロセス又は方法は、順次のオペレーションに関して上述したが、上述したオペレーションの幾つかは、異なる順序で遂行されてもよいことが明らかであろう。更に、幾つかのオペレーションは、順次ではなく、並列に遂行されてもよい。本発明の実施形態は、特定のプログラミング言語を参照して説明しなかった。ここに述べた本発明の実施形態の教示を具現化するのに、種々のプログラミング言語を使用できることが明らかである。以上、特定の規範的な実施形態を参照して本発明の実施形態を説明した。特許請求の範囲に述べた本発明の広い精神及び範囲から逸脱せずに種々の変更がなされ得ることが明らかであろう。従って、以上の説明及び添付図面は、単なる例示に過ぎず、それに限定されるものではないと考えられる。