コンピュータにより、ランタイム時に、拡張可能なマーク付け言語XMLを用いて、電子データ交換EDI文書をモデル化するための方法であって、コンピュータが、少なくともひとつのトランザクションを表す、前記EDI文書中の複数の構造要素を識別するステップと、コンピュータが、前記EDI文書中の前記識別された複数の構造要素から、複数の対応するデータ値を決定するステップと、コンピュータが、前記複数の対応するデータ値と関連する、前記EDI文書中の1つまたは複数のEDIスキーマに関連する規則を識別するステップと、コンピュータが、XMLスキーマに対する前記決定されたデータ値どうしの関係を定義するために、前記1つまたは複数の識別された規則に基づいてXML注釈を生成するステップと、コンピュータが、前記決定されたデータ値および前記生成されたXML注釈を、前記EDI文書に対応する前記XMLスキーマへと変換するステップと、コンピュータが、ランタイム時に、前記生成されたXML注釈において表された前記複数の規則を前記決定された値に適用するように、前記XMLスキーマをランタイム時に処理するステップと、を含むことを特徴とする方法。前記EDI文書中の複数の構造要素を識別するステップは、コンピュータが、前記複数の構造要素中に含まれる1つまたは複数のループ、および1つまたは複数のセグメントを識別するステップを含むことを特徴とする請求項1に記載の方法。コンピュータが、前記EDI文書中の複数の構造要素を識別するステップで識別されたセグメントの前記1つまたは複数に関連する1つまたは複数のサブセグメントを識別するステップをさらに含むことを特徴とする請求項2に記載の方法。コンピュータが、前記決定されたデータ値の構造を定義するために、複数のスキーマ規則に従って、前記XMLスキーマを構成するステップをさらに含むことを特徴とする請求項1に記載の方法。前記注釈を生成するステップは、コンピュータが、前記複数の規則に対する1つまたは複数の属性を含む前記注釈を生成するステップを含むことを特徴とする請求項1に記載の方法。ランタイム時に、拡張可能なマーク付け言語XMLを用いて、電子データ交換EDI文書をモデル化するためのシステムであって、前記システムは、1つまたは複数のスポークと、前記スポークと通信を行うハブを備え、前記ハブは、前記スポークと通信を行うためのインターフェイスと、コンピュータ実行可能命令を実行する1つまたは複数のプロセッサを備え、前記プロセッサは、少なくともひとつのトランザクションを表す、前記スポークから受信した前記EDI文書中の複数の構造要素を識別し、前記EDI文書中の前記識別された複数の構造要素から、複数の対応するデータ値を決定し、前記複数の対応するデータ値と関連する、前記EDI文書中の1つまたは複数のEDIスキーマに関連する規則を識別し、前記1つまたは複数の識別された規則に基づいてXML注釈を生成し、前記決定されたデータ値および前記生成されたXML注釈を、前記EDI文書に対応するXMLスキーマへと変更し、ランタイム時に、前記生成されたXML注釈において表された前記複数の規則を前記決定された値に適用するように、前記XMLスキーマをランタイム時に処理する、ように構成されていることを特徴とするシステム。前記識別された構造要素中の前記複数のデータ値の構文解析をするためのパーサをさらに備えることを特徴とする請求項6に記載のシステム。前記プロセッサは、前記複数の構造要素中に含まれる1つまたは複数のループ、および1つまたは複数のセグメントを識別するように構成されることを特徴とする請求項6に記載のシステム。前記プロセッサはさらに、前記識別されたセグメントの前記1つまたは複数に関連する1つまたは複数のサブセグメントを識別するように構成されることを特徴とする請求項8に記載のシステム。前記プロセッサはさらに、前記決定されたデータ値の構造を定義するために、複数のスキーマ規則に従って、前記XMLスキーマを定義するように構成されることを特徴とする請求項6に記載のシステム。前記プロセッサは、前記複数の規則に対する1つまたは複数の属性を含む前記注釈を生成するように構成されることを特徴とする請求項6に記載のシステム。ランタイム時に、拡張可能なマーク付け言語XMLを用いて、電子データ交換EDI文書をモデル化するためのコンピュータ実行可能コンポーネントを有する1つまたは複数のコンピュータ可読媒体であって、前記コンピュータ実行可能コンポーネントは、前記EDI文書中の複数の構造要素を識別する手順をコンピュータに実行させるための要素コンポーネントと、コンピュータに、前記EDI文書中の前記識別された複数の構造要素から、複数の対応するデータ値を決定する手順を実行させるためのデータコンポーネントと、前記複数の対応するデータ値と関連する、前記EDI文書中の1つまたは複数のEDIスキーマに関連する規則を識別する手順と、前記1つまたは複数の識別された規則に基づいてXML注釈を生成する手順と、をコンピュータに実行させるための注釈コンポーネントと、コンピュータに、前記決定されたデータ値および前記生成されたXML注釈を、前記EDI文書に対応する前記XMLスキーマへと変換する手順を実行させるための変換コンポーネントと、コンピュータに、ランタイム時に、前記生成されたXML注釈において表された前記複数の規則を前記決定された値に適用するように、前記XMLスキーマをランタイム時に処理する手順を実行させるためのペイロードコンポーネントと、を含むことを特徴とするコンピュータ可読媒体。前記要素コンポーネントは、コンピュータに、前記複数の構造要素中に含まれる1つまたは複数のループ、および1つまたは複数のセグメントを識別する手順を実行させることを特徴とする請求項12に記載のコンピュータ可読媒体。前記要素コンポーネントはさらに、コンピュータに、前記識別されたセグメントの前記1つまたは複数に関連する1つまたは複数のサブセグメントを識別する手順を実行させることを特徴とする請求項13に記載のコンピュータ可読媒体。前記変換コンポーネントはさらに、コンピュータに、前記決定されたデータ値の構造を定義するために、複数のスキーマ規則に従って、前記XMLスキーマを定義する手順を実行させることを特徴とする請求項12に記載のコンピュータ可読媒体。前記注釈コンポーネントは、コンピュータに、前記複数の規則に対する1つまたは複数の属性を含む前記注釈を生成する手順を実行させることを特徴とする請求項12に記載のコンピュータ可読媒体。スポークの伝送帯域幅を消費する大量のスキーマを送信することに加えて、関係するシステムまたは技法は、EDIスキーマを表すためにリニアまたはフラットファイルベースのものを用いてEDIスキーマを定義する。これらの表現タイプまたはモデルは、簡単な構成を有するが、EDIスキーマに関連する追加の情報を表すための、また時々ある重要な情報を有するための十分な能力を有していない。したがって、スポークおよびハブも同様に、EDIトランザクションの利便性の十分な利益を最大化することができない。本発明の諸実施形態は、XML拡張可能なマーク付け言語コンフィギュレーションを用いて、構造化EDI文書を記述することにより、EDIスキーマを表現する従来の手法および慣行を向上させる。EDIペイロードを、ランタイム中にXMLペイロードとしてモデル化することにより、本発明の諸実施形態は、スキーマおよび変換マップを開発する時間を低減する。さらに、代替の実施形態は、EDIデータ中に存在する複数の妥当性検証規則に関連する情報を含むXMLEDIスキーマ中に注釈を生成する。この要約は、以下の詳細な説明でさらに述べる概念の選択を簡単化された形で導入するために提供される。この要約は、特許請求される主題の重要な特徴、または本質的な特徴を特定することを意図しておらず、あるいは特許請求される主題の範囲の決定を支援するものとして使用されることも意図していない。他の特徴は、以下において一部が明らかとなり、また一部が示されることになろう。図面を通して、対応する参照記号は対応する部分を示す。まず図1を参照すると、ブロック図は、本発明の実施形態に従ってEDI電子データ交換トランザクションを行うためのシステム100を示している。システム100は、1つまたは複数のスポーク104にリンクされ、かつスポーク104と通信するハブ102を含む。一実施形態では、ハブ102は、スポーク104に対して働くコンピュータ実行可能命令を実行するための、1つまたは複数のプロセッサ例えば、プロセッサ106または処理装置を提供するサーバコンピュータまたはコンピューティングデバイスを含む。一例では、スポーク104は、図6に示すように、コンピュータ130中に含まれる、またはコンピュータ130と結合される1つまたは複数のコンポーネントを有するコンピューティングデバイスを含む。一例では、ハブ102はまた、EDIスキーマ110など、1つまたは複数のEDIスキーマを記憶するためのメモリ領域108を含む。最初に、ハブ102およびスポーク104は、それらの間でトランザクションデータを送信するために使用されるEDIフォーマットまたは規格に関して合意を確立する。その当事者が使用する特定のEDIフォーマットまたは規格を決定した後、ハブ102は、スポーク104に送信すべき適切なEDIスキーマを選択する。他の例では、ハブ102は、購入注文、船荷証券、インボイス、ペイロールなど、スポーク104に対するすべてのタイプのトランザクション用のEDIスキーマをすべて選択するように選ぶことができる。ハブ102とスポーク104の間の通信は、専用もしくは公衆通信ネットワーク、有線もしくは無線ネットワークとすることができるが、スポーク104は、通常、ハブ102から送られる大量のEDIスキーマを処理するためのハードウェア資源を欠いている。さらに、スポーク104のためのコンピューティングネットワーク通信のタイプおよび帯域幅は、データサイズで数ギガバイトに達する可能性のある数千のEDIスキーマにより課せられるこのような要求を処理する能力を有してはいない。次に図2を参照すると、ブロック図は、本発明の実施形態によるXMLを用いた構造化EDIスキーマを示している。上記で述べたように、関連する慣行では、簡単化されたリニアまたはフラットコンフィギュレーションを用いて、EDIスキーマを表す。表1は、左の列で、本発明の諸態様を実施する構造化EDIスキーマで3つのEDIトランザクションを示し、またそれに対応する従来のEDI表現における3つのトランザクションを示す。図示のように、フラットEDIスキーマは、左の列の構造化EDIスキーマよりも、多くの記号を使用し、したがって、より多くのデータサイズを占有する。一実施形態では、EDIスキーマの構造は、ランタイム中に高速の処理を可能にし、また知られたXML編集ツールを用いて、ユーザが容易に構成し、編集し、かつ変更することを可能にするXMLを用いて表される。一例では、EDIスキーマは名前空間とルートノード名の組合せを含むことのできるDocTypeにより識別される。一例では、DocTypeは、TargetNamespace‘’RootNodeNameと定義される。X12規格が使用される例では、X12スキーマは、以下のフォーマットを使用する。それは、以下のことを示す。1すべてのX12スキーマは、X12で始まるルートノード名を有すること、2Versionは、文書のバージョン情報を表しており、それは、コンフィギュレーションまたはインスタンス駆動型である動的な情報であること、および3TsIdは、処理される文書のトランザクションIDを表し、常に、入力インスタンスから読み取られること。他の例として、他のよく知られた規格であるEDIFACTは、EDIFACTスキーマを表すための以下のフォーマットを含む。それは、以下のことを示す。1すべてのEDIFACTスキーマは、Efactで始まるルートノード名を有すること、2Versionは、文書のバージョン情報を表しており、それは、コンフィギュレーションまたはインスタンス駆動型である動的な情報であること、および3TsIdは、処理される文書のトランザクションIDを表し、常に、入力インスタンスから読み取られること。図2に示すように、構造的な概観におけるEDIスキーマ202は、1つまた複数のルートノード204を含むことができる。各ルートノード204は、一連のループ206およびセグメント208を子として含む。ループ206は、1つまたは複数のネストされたサブループ210またはサブセグメント212を含むことができる。同様に、セグメント208は、1つまたは複数のコンポーネントデータ要素214、およびデータ要素216を含むことができる。一実施形態では、EDIスキーマを表すXMLペイロードスキーマは、以下の構造を保有することができる。一実施形態では、XMLを用いたEDIスキーマのモデル化において、複数のスキーマ規則が、XMLスキーマを構成するために適用される。例えば、複数の規則は、以下のものを含むことができる。1.1つまたは複数の要素例えば、ループ、セグメントなどは、各レベルで属性を有しない。2.すべての複雑型はsequenceコンポジタを使用することになる。一例では、複雑型は、階層化データエンティティをモデル化するための構成体である。各複雑型は、その子をグループ化するために、sequence、choice、またはanyコンポジタを使用することができ、各コンポジタは、以下に従って使用することができる。asequence-子はXMLインスタンス内で特定の順番で生ずるべきである。bchoice-1つのXMLインスタンス中に、子のうちの1つだけ出現することができる。cany-子はXMLインスタンス中で任意の順番で出現することができる。一実施形態では、EDIスキーマは、sequenceコンポジタだけを使用する。代替の実施形態では、choiceおよびanyコンポジタは使用されない。複雑型は、子として要素に含まれるだけであり得る。3.文書のルートノードから開始して、サブストリングLoopを含む任意の要素は、ループ要素と見なされることになる。そうでない場合、セグメントと見なされる以下のさらなる議論を参照のこと。4.セグメントが識別された後、セグメントのサブストリングは識別されない。5.セグメントは、構造化XMLスキーマ中で、子および孫を有することができる。例えば、セグメントノードからの距離が1と2の子孫だけが、構造の一部として許容されることになる。6.EDIスキーマにおける規則を表すために、1つまたは複数の注釈が生成される。例えば、注釈は、1つまたは複数の以下のものを表すために使用され得る。aクロスフィールド妥当性検証crossfieldvalidation規則bトリガフィールドtriggerfield情報、HIPAAHealthInsurancePortabilityandAccountabilityAct:医療保険の相互運用性と説明責任に関する法律とのコンプライアンスに関連するスキーマで使用される。c参照指定子dスプリットポイント情報規則。例えば、スプリットポイント情報は、EDIスキーマの要件を満たすEDIスキーマまたはEDIトランザクションが複数のサブ文書に分割された場合の情報を示す。一実施形態では、XMLスキーマは、1つまたは複数の2または3個の記号タグを用いて構造化される。図3は、本発明の諸態様を実施するXMLスキーマを示す図である。例えば、パネル302は、1つまたは複数の2または3個の記号タグを示す。例えば、タグは、ST、BEG、CURを含む。一実施形態では、セグメント要素の名前に基づいて、最初の3つの記号が、tagIDと見なされ得る。代替の実施形態では、3つの記号のタグの3番目の記号が_記号である場合、セグメントIDは、第1の2つの記号だけになる。さらに、2つの記号のうちの一方が、-記号を含む場合、コンパイルエラーが生ずる。例えば、aBEG_BeginTransactionは、セグメントIDがBEGであることを意味する、bN1_850Segmentは、セグメントIDがN1であることを意味する、cN_abcは、無効なセグメントを意味する、dN1_Loopは、これはループであり、セグメントではないことを意味する、eN_Loopは、これは無効なセグメントではないが、ループであることを意味する。他の実施形態では、1つまたは複数の特別の規則を1組のセグメントタグに適用することができる。例えば、ISA、IEAなどのタグは、特別の意味を有しており、それらは制御セグメントと呼ばれる。同様に、STおよびSEなどのタグは、制御およびデータセグメントの両方である。以下のリストは、1組の例示的な制御セグメントタグを提供する。ISAGSSTSEGEIEAUNOAUNBUNGUNHUNTUNEUNZ他の例では、本発明の諸実施形態は、注釈を用いて、1つまたは複数の規則を説明することによりEDIスキーマの機能を高める。例えば、1つまたは複数のクロスフィールド妥当性検証規則の処理において、規則は、セグメントレベルのノードで注釈として表現される。すべてのセグメントは、RuleSetとしても知られる任意選択の規則リストを含む。例えば、パネル304は、構造化XMLスキーマにおける1つまたは複数の注釈タグを示す。例として、1組の例示的な規則を以下の段落で述べる。Paired/Multiple-all、absent-すべてのサブジェクト名が存在する、または存在しない。例えば、Required-grouped、absent-サブジェクトのうちの少なくとも1つが必要である。Exclusion-any、absent-1つのサブジェクトだけが存在できる。Conditional-all、value-修飾子qualifierが存在する場合、すべてのサブジェクトが必要である。List-any、value-修飾子が存在する場合、少なくとも1つのサブジェクトが必要である。EDIスキーマの従来の表現またはモデルとは異なり、本発明の実施形態は、XMLを用いてEDIスキーマに関連する規則を記述するための1組の豊富な情報を提供する。上記で示したように、各規則はサブジェクトsubject属性、任意選択の修飾子qualifier属性、およびサブジェクト要素のリストを有する。例えば、各規則は、サブジェクト、修飾子ペアの値に基づいて定義される。一実施形態では、規則のオペランドは、セグメント内で見出されるデータ要素である。この実施形態では、規則の評価中、オペランドの特定の値は必要としない。そうではなくて、必要とされるものは、データ要素に値が付けられているかどうかの情報である。例として、図1のシステム100を用いてパーサ/シリアライザ112による構文解析または直列化serialization中に、セグメントが認識されると、パーサ/シリアライザ112は、空ではない値を有するデータ要素を常に追跡することができる。セグメント処理が終了した後、パーサ/シリアライザ112は、すべての規則オペランドを評価することができ、したがって、RuleSetを実行することができる。規則オペランドの処理中にエラーが生じた状況では、1つまたは複数のエラーコードが発行される。例として、特定の規則違反に対応する1組の例示的な適切なエラーコードを以下で述べる。エラーコード2-条件的な必要データ要素の紛失-これは、条件規則が違反されたときに報告されることになる。報告されるフィールド番号は、規則で定義された順番で存在しない最初のものになる。エラーコード10-Exclusion条件違反-これは、Exclusion規則が違反されたとき報告される。報告されるフィールド番号は、規則で定義された順番で少なくとも2フィールドに値を付けた最初のものになる。エラーコード14-BTS-EDI特有のもの-クロスフィールド妥当性検証規則違反-このエラーは、他の種類の規則すべてに対して生成され、また以下の状況下で生成される。aPaired規則-報告されるフィールド番号は、存在しない最初のものになる。bRequired規則-これは、すべてのサブジェクトが存在しない場合にのみ違反され得る。このタイプのシナリオでは、規則で述べられた最初のフィールドが、違反を生じているとして報告されることになる。cList規則-これは、修飾子が存在し、すべてのサブジェクトが存在しない場合に違反され得る。このような場合、規則で述べられた最初のフィールドが、違反を生じているとして報告されることになる。EDIスキーマのモデル化において、本発明の諸実施形態は、EDIスキーマに含まれる様々なデータ型を適切に考慮する。例として、X12フォーマットにおける1つまたは複数のデータ型を以下に述べる。A.X12データ型:X12は、いくつかのデータ型を定義する。このような型は、パーサ/シリアライザにより認識される。それらは、このような型を検証する能力を有しており、任意の必要な変換を実施する。しかし、文書スキーマは、それに関連する任意の種類の単純型を有することができる。それがEdiデータ型ではない場合、それはスキーマの妥当性検証フラグが立てられているかどうかに応じて、XmlValidatingReaderなどの、妥当性が検証されたコード、ルーティング、コンピュータ実行可能命令である。1.N-これは、任意選択の長さ制約を有する整数integerデータ型である。このタイプの単純要素は、ローカル名Nを有する型に対する制約である単純型を有するべきである。またNは、本質的にxs:stringである。2.Nn-これは、n>0により指定される暗黙に定義された小数点を有する整数integer型である。したがって、型がN2である場合、パーサは1234を12.34に変換する。同様に、12.34は、シリアライザにより1234に変換される。小数点が認識されず、または長さ制約に従っていない場合、適切なEdiエラーコードが生成されることになる。このタイプの単純要素は、例えば、ローカル名N2を有する型に対する制約である単純型を有するべきである。またN2は、本質的にxs:stringである。3.ID-これは、任意選択の長さ制約を有する列挙enumerationデータ型である。このタイプの単純要素は、ローカル名IDを有する型に対する制約である単純型を有するべきである。またIDは、本質的にxs:stringである。列挙のリストが空である場合、任意のデータ値が許容されることになる。4.AN-これは、長さ制約を有する英数字alphanumericデータ型である。このタイプの単純要素は、ローカル名ANを有する型に対する制約である単純型を有するべきである。またANは、本質的にxs:stringである。5.R-これは実数である。このタイプの単純要素は、ローカル名Rを有する単純型を有するべきである。またRは、フォーマット[正負符号]整数部桁数integral-digit[.[小数部桁数fractional-digits]]を有する。ただし、正負符号は、-だけであり、は許容されないことになる。6.Date-これは日付dateデータ型である。このタイプの単純要素は、ローカル名dateを有する単純型を有するべきである。そのフォーマットはCCYYMMDDである。7.Time-このタイプの単純要素は、ローカル名timeを有する単純型を有するべきである。そのフォーマットは、HHMM[[SS][d[d]]]である。B.EDIFACTデータ型:同様に、EDIFACTフォーマットでスキーマを記述することにおいて、EDIFACTスキーマは、以下のうちの1つなど、いくつかのデータ型を定義する。1.a-これは、長さ制約を有するアルファベットalphabeticデータ型である。このタイプの単純要素は、ローカル名aを有する型に対する制約である単純型を有するべきである。またaは、本質的にxs:stringである。2.n-これは、長さ制約を有する数値numericデータ型である。このタイプの単純要素は、例えば、ローカル名nを有する型に対する制約である単純型を有するべきである。またnは、本質的にxs:stringである。3.ID-これは、任意選択の長さ制約を有する列挙enumerationデータ型である。このタイプの単純要素は、ローカル名IDを有する型に対する制約である単純型を有するべきである。またIDは、本質的にxs:stringである。列挙リストが空である場合、任意のデータ値が許容されることになる。コードページ949によるEDIFACTデータに対しては、スキーマ中のEnum列挙値は、そのユニコードと等価になる。4.AN-これは、長さ制約を有する英数字alphanumericデータ型である。このタイプの単純要素は、ローカル名ANを有する型に対する制約である単純型を有するべきである。またANは、本質的にxs:stringである。前に論じたように、本発明の諸態様を実施するXMLスキーマにより注釈が付される規則の1つは、参照指定子である。この参照指定子は、フィールドレベルに存在し、またエラーのデバッグ中に使用され得るメタデータ辞書metadata-dictionary中の数を指す。エンジンは、AK502レベルで構文解析中に、この情報を報告する。例えば、それは、スキーマ中に存在する場合、その指定子値を報告することになる。以下の注釈は、フィールドレベルで使用される。AK502は任意選択のフィールドであり、注釈が存在しない場合、値が付けられない。以下の例示的なXMLステートメントは、参照指定子の例を示す。同様に、規則の1つ、トリガフィールド情報は、本発明の実施形態により注釈が付けられる。この注釈は、ループ、またはセグメントレベルで存在することができて、トリガフィールドとして働くセグメントの内側のフィールドを識別する。トリガ遷移triggertransitionとなるべき値も同様である。この情報は、HIPAAスキーマで使用されて、よりユーザの使いやすいXmlを生成する。その注釈は、以下のように示される。この例では、TS270A1_2100A_Loopがトリガループである。トリガセグメントは、NM1_InformationSourceName_TS270A1_2100AとXMLで書くことができ、またトリガフィールドは、NM101_EntityIdentifierCodeである。トリガ値は、2B;36;GP;P5;またはPRのうちの任意のものとすることができる。以下では、例示的なXMLステートメントまたはコードを示す。図4は、本発明の諸態様が記憶され得る例示的なコンピュータ可読媒体502を示すブロック図である。例えば、コンピュータ可読媒体402は、図5に示すオペレーションを実施するための1つまたは複数のコンピュータ実行可能コンポーネントを含んでおり、その図5は、本発明の実施形態に従って、ランタイム時に、XML拡張可能なマーク付け言語を用いて、EDI電子データ交換をモデル化するオペレーションを記述するフローチャートである。例えば、要素コンポーネント404は、502で、EDI文書中の複数の構造要素を識別する。504で、データコンポーネント406は、EDI文書中の識別された複数の構造要素から複数の対応するデータ値を決定する。506で、注釈コンポーネント408は、EDI文書中に含まれる複数の規則に対する注釈を生成する。複数の規則は、複数の対応するデータ値に関連するオペレーションを定義する。変換コンポーネント410は、508で、決定されたデータ値および生成された注釈を、EDI文書に対応するXMLスキーマへと変更または変換する。510で、ペイロードコンポーネント512は、ランタイム時にXMLスキーマを処理する。図6は、コンピュータ130の形式の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ130などのコンピュータは、本明細書で示され、かつ述べられた他の図における使用に適している。コンピュータ130は、1つまたは複数のプロセッサまたは処理装置132、およびシステムメモリ134を有する。図示された実施形態では、システムバス136が、システムメモリ134を含む様々なシステムコンポーネントをプロセッサ132に結合する。バス136は、メモリバスもしくはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポートacceleratedgraphicsport、および様々なバスアーキテクチャのうちの任意のものを使用するプロセッサもしくはローカルバスを含む、いくつかのタイプのバス構造のいずれか1つまたは複数のものを表す。例として、それだけに限らないが、このようなアーキテクチャは、ISAIndustryStandardArchitectureバス、MCAMicroChannelArchitectureバス、EISAEnhancedISAバス、VESAVideoElectronicsStandardsAssociationローカルバス、およびMezzanineメザニンバスとしても知られているPCIPeripheralComponentInterconnect:周辺コンポーネント相互接続バスを含む。コンピュータ130は、通常、コンピュータ可読媒体の少なくともいくつかの形態を有する。揮発性および不揮発性媒体と、取外し可能および固定媒体を共に含むコンピュータ可読媒体は、コンピュータ130によりアクセス可能な任意の利用可能な媒体とすることができる。例のためであり、それだけに限らないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性と、取外し可能および固定媒体を含む。例えば、コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD-ROM、DVDdigitalversatiledisks、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶デバイス、あるいは所望の情報を記憶するのに使用することができ、コンピュータ130によってアクセスできる任意の他の媒体を含む。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調されたデータ信号中で実施するものであり、また任意の情報送達媒体を含む。当業者であれば、情報を信号中に符号化するような方法で設定または変更された1つまたは複数のその特性を有する変調されたデータ信号についてよく知っている。有線ネットワークまたは直接有線接続などの有線媒体、および音響、高周波、赤外線、他の無線媒体などの無線媒体は、通信媒体の例である。上記のいずれかの組合せもまた、コンピュータ可読媒体の範囲に含まれる。システムメモリ134は、取外し可能および/または固定、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。例示の実施形態では、システムメモリ134は、ROM読取り専用メモリ138、およびRAMランダムアクセスメモリ140を含む。起動中などに、コンピュータ130内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS基本入出力システム142が、通常、ROM138に記憶される。RAM140は、通常、処理装置132により即座にアクセス可能な、かつ/または現在動作されているデータおよび/またはプログラムモジュールを含む。例のために、またそれだけに限らないが、図6は、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150を示す。コンピュータ130はまた、他の取外し可能/固定、揮発性/不揮発性のコンピュータ記憶媒体を含むことができる。例えば、図6は、固定の、不揮発性磁気媒体から読み取り、または書き込むハードディスクドライブ154を示す。図6はまた、取外し可能な、不揮発性磁気ディスク158から読み取り、または書き込む磁気ディスクドライブ156、およびCD-ROMまたは他の光学的媒体などの取外し可能な、不揮発性光ディスク162から読み取り、または書き込む光ディスクドライブ160を示す。例示的な動作環境で使用され得る他の取外し可能/固定、揮発性/不揮発性のコンピュータ記憶媒体は、それだけに限らないが、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、固体RAM、固体ROMなどを含む。ハードディスクドライブ154、および磁気ディスクドライブ156、および光ディスクドライブ160は、通常インターフェース166など、不揮発性メモリインターフェースによりシステムバス136に接続される。上記で論じたまた図6で示された、ドライブまたは他の大容量記憶デバイス、およびその関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ130に対する他のデータの記憶を提供する。図6では、例えば、ハードディスクドライブ154が、オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150と同様であることも、あるいは異なることもあり得ることに留意されたい。オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176は、少なくとも、それらが異なる複製であることを示すために、ここでは、異なる数字が与えられている。ユーザは、キーボード180およびポインティングデバイス182例えば、マウス、トラックボール、ペン、またはタッチパッドなどの入力デバイスまたはユーザインターフェース選択デバイスを介して、コマンドおよび情報をコンピュータ130に入力することができる。他の入力デバイス図示せずは、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことができる。これらのおよび他の入力デバイスは、システムバス136に結合されるユーザ入力インターフェース184を介して、処理装置132に接続されるが、パラレルポート、ゲームポート、またはUSBUniversalSerialBusなどの他のインターフェースおよびバス構造によっても接続され得る。モニタ188または他のタイプのディスプレイデバイスがまた、ビデオインターフェース190などのインターフェースを介してシステムバス136に接続される。モニタ188に加えて、コンピュータは、しばしば、出力周辺インターフェース図示せずを介して接続され得るプリンタおよびスピーカなどの他の周辺出力デバイス図示せずを含む。コンピュータ130は、遠隔コンピュータ194など、1つまたは複数の遠隔コンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。遠隔コンピュータ194は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、同位peerデバイス、または他の共通のネットワークノードとすることができ、通常、コンピュータ130に関して上記で述べた多くの、またはすべての要素を含む。図6に示す論理接続は、LANローカルエリアネットワーク196、およびWAN広域ネットワーク198を含むが、他のネットワークもまた含むことができる。LAN136および/またはWAN138は、有線ネットワーク、無線ネットワーク、それらの組合せなどとすることができる。このようなネットワーク化環境は、オフィスや、企業規模のコンピュータネットワーク、イントラネット、および大域コンピュータネットワーク例えば、インターネットにおいて普通のものである。ローカルエリアネットワーク化環境で使用される場合、コンピュータ130は、ネットワークインターフェースまたはアダプタ186を介して、LAN196に接続される。広域ネットワーク化環境で使用される場合、コンピュータ130は、通常、インターネットなどのWAN198を介して通信を確立するためのモデム178または他の手段を含む。内部または外部のものとすることのできるモデム178は、ユーザ入力インターフェース184または他の適切な機構を介して、システムバス136に接続される。ネットワーク化環境では、コンピュータ130に対して、またはその部分に対して示されたプログラムモジュールが、遠隔のメモリ記憶デバイス図示せずに記憶され得る。例のためであり、それだけに限らないが、図6は、遠隔アプリケーションプログラム192をメモリデバイス上に常駐するものとして示している。図示されたネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することもできる。概して、コンピュータ130のデータプロセッサは、コンピュータの様々なコンピュータ可読記憶媒体中に、様々な時間に記憶された命令によりプログラムされる。プログラムおよびオペレーティングシステムは、通常、例えば、フロッピー登録商標ディスクまたはCD-ROM上で配布される。そこから、それらはコンピュータの第2のメモリにインストールまたはロードされる。実行時には、それらはコンピュータの主電子メモリ中に、少なくとも部分的にロードされる。本明細書で述べる本発明の諸態様は、このような媒体が、マイクロプロセッサまたは他のデータプロセッサと共に以下で述べる諸ステップを実施するための命令またはプログラムを含む場合、これらのまた他の様々なタイプのコンピュータ可読記憶媒体を含む。さらに、本発明の諸態様は、本明細書で述べられる方法および技法に従ってプログラムされる場合、コンピュータそれ自体も含む。例示のために、オペレーティングシステムなどのプログラムおよび他の実行可能なプログラムコンポーネントが、個別のブロックとしてここで示されている。しかし、このようなプログラムおよびコンポーネントは、コンピュータの異なる記憶コンポーネント中に様々な時間に常駐し、コンピュータのデータプロセッサにより実行されることを理解されたい。コンピュータ130を含む例示的なコンピューティングシステム環境に関して述べられているが、本発明の諸実施形態は、数多くの他の汎用、または専用のコンピューティングシステム環境またはコンフィギュレーションと共に動作可能である。そのコンピューティングシステム環境は、本発明の任意の態様の使用、または機能の範囲に関して、何らかの限定を示唆するように意図されていない。さらに、コンピューティングシステム環境は、例示的な動作環境で示されたコンポーネントの任意の1つ、または組合せに関する何らかの依存性または要件を有するものとして解釈されるべきではない。本発明の諸態様で使用するのに適切であり得るよく知られたコンピューティングシステム、環境および/またはコンフィギュレーションの諸例は、それだけに限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、移動電話、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムもしくはデバイスのいずれかを含む分散コンピューティング環境などを含む。本発明の諸実施形態は、1つまたは複数のコンピュータ、または他のデバイスにより実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的なコンテキストで記述され得る。概して、プログラムモジュールは、それだけに限らないが、特定のタスクを行う、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造を含む。本発明の諸態様はまた、通信ネットワークを介してリンクされた遠隔処理デバイスにより、タスクが実施される分散コンピューティング環境中で実行され得る。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルと遠隔両方のコンピュータ記憶媒体中に位置することができる。ソフトウェアアーキテクチャに即したインターフェースは、ソフトウェアモジュール、コンポーネント、コード部分、またはコンピュータ実行可能命令の他のシーケンスを含む。インターフェースは、例えば、第1のモジュールのために計算タスクを実施するように第2のモジュールにアクセスする第1のモジュールを含む。第1および第2のモジュールは、一例として、オペレーティングシステムにより提供されるなどのAPIapplicationprogramminginterfaces、COMcomponentobjectmodelインターフェース例えば、ピアツーピアのアプリケーション通信用、およびXMIXMLメタデータ交換形式インターフェース例えば、ウェブサービス間の通信用を含む。インターフェースは、J2EEJava登録商標2PlatformEnterpriseEdition、COM、またはDCOMdistributedCOMの例など、密結合された、同期的な実装形態とすることができる。代替的に、またはさらに、インターフェースは、ウェブサービスにおけるなど例えば、シンプルオブジェクトアクセスプロトコルを用いて、疎結合された、非同期的な実装形態とすることができる。概して、インターフェースは、以下の特性、すなわち、密結合、疎結合、同期的、かつ非同期的のうちの任意の組合せを含む。さらに、インターフェースは、標準のプロトコル、メーカ独自のプロトコル、または標準とメーカ独自のプロトコルの任意の組合せに準拠することができる。本明細書に述べられたインターフェースはすべて、単一のインターフェースの一部とすることができ、または別々のインターフェースとして、あるいはそれらの任意の組合せとして実装することができる。インターフェースは、ローカルに、または遠隔に実行されて、機能を提供することができる。さらに、インターフェースは、本明細書に例示された、または述べられたものにさらに追加した、またはより少ない機能を含むことができる。オペレーションにおいては、コンピュータ130は、本発明の諸態様を実施するために、図5などの図で示されたものなど、コンピュータ実行可能命令を実行する。本明細書に例示され、述べられた本発明の諸実施形態におけるオペレーションの実行または実施の順序は、他に指定されない限り、本質的なものではない。すなわち、他に指定されない限り、オペレーションは、任意の順番で実施することができ、また本発明の諸実施形態は、本明細書で開示されたものにさらに追加した、またはより少ないオペレーションを含むことができる。例えば、他のオペレーションの前に、同時に、または後に特定のオペレーションを実行または実施することを、本発明の諸態様の範囲に含むことが企図される。本発明の諸態様は、コンピュータ実行可能命令を用いて実施することができる。コンピュータ実行可能命令は、1つまたは複数のコンピュータ実行可能コンポーネントまたはモジュールへと編成され得る。本発明の諸態様は、このようなコンポーネントまたはモジュールの任意の数および編成を用いて実施することができる。例えば、本発明の諸態様は、図面で示された、または本明細書中で述べられた特定のコンピュータ実行可能命令または特定のコンポーネントもしくはモジュールに限定されない。本発明の他の実施形態は、本明細書で例示され、かつ述べられたものよりも、多くの機能または少ない機能を有する異なるコンピュータ実行可能命令またはコンポーネントを含むことができる。本発明の諸態様の要素、またはその諸実施形態を導入する場合、冠詞1つのa/an、そのthe、および前記saidは、要素が1つまたは複数あることを意味することが意図される。用語備える/含むcomprising、含むincluding、および有するhavingは、包括的であることが意図されており、また一覧表示された要素以外のさらなる要素があり得ることを意味する。本発明の諸態様の範囲から逸脱することなく、上記の構成、製品、および方法に、様々な変更を加えることが可能であるので、上記の説明に含まれた、また添付の図面に示されたすべてのものは、例示的なものとして解釈され、限定的な意味で解釈されるべきではないことが意図される。