(57)【要約】  電子データ交換（ＥＤＩ）スキーマに対応するファイルを作成すること。ＥＤＩスキーマが、宛先デバイスに伝送するために選択される。選択されたＥＤＩスキーマ内の複数の構文構造が識別される。複数の構文構造は、ＥＤＩスキーマと関連するトランザクションのタイプを定義する。複数のＥＤＩデータ値は、識別された複数の構文構造から、定義されたタイプに従って抽出される。生成されるファイルからＥＤＩスキーマを再作成できるように、タイプに対応し、かつ生成されるファイル内に抽出されたデータ値を含むファイルが、生成される。
2009527853.tif 000002
【特許請求の範囲】
【請求項１】
ＥＤＩスキーマに対応するファイルを作成する方法であって、
宛先デバイスへの伝送のための前記ＥＤＩスキーマを選択することと、
選択された前記ＥＤＩスキーマ内の複数の構文構造を識別することであって、前記複数の構文構造が、前記ＥＤＩスキーマと関連するトランザクションのタイプを定義することと、
複数のＥＤＩデータ値を、識別された前記複数の構文構造から、定義された前記タイプに従って抽出することと、
生成されるファイルから前記ＥＤＩスキーマを再作成することができるように、前記タイプに対応し、かつ抽出された前記データ値を生成されるファイル内に含むファイルを、生成することと
を含むことを特徴とする方法。
【請求項２】
前記複数の構文構造を識別することは、ＸＭＬタグの複数の構文構造を識別することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
ＸＭＬタグの前記複数の構文構造を識別することは、ＸＭＬタグの特性である、名前、オカレンスの最小数、およびオカレンスの最大数の１つまたは複数を識別することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
抽出することは、データタイプ名、最小レングス、および最大レングスの１つまたは複数の特性を有するデータ要素を識別することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ファイルを生成することは、前記ＥＤＩスキーマのデータサイズより大幅に小さいファイルサイズのテキストファイルを生成することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記テキストファイル内の抽出された前記データ値は、エンコード規則に従って編成されることを特徴とする請求項５に記載の方法。
【請求項７】
１つまたは複数のコンピュータ読み取り可能な媒体は、請求項１に記載の方法を実施するためのコンピュータ実行可能な命令を有することを特徴とする請求項１に記載の方法。
【請求項８】
ＥＤＩスキーマに基づいてファイルを生成するシステムであって、
前記ＥＤＩスキーマを格納するメモリ領域と、
格納された前記ＥＤＩスキーマ内の複数の構文構造を識別することであって、前記複数の構文構造が、前記ＥＤＩスキーマと関連するトランザクションのタイプを定義することと、
複数のＥＤＩデータ値を、識別された前記複数の構文構造から、定義された前記タイプに従って抽出することと、
生成されるファイルから前記ＥＤＩスキーマを再作成することができるように、前記タイプに対応し、かつ抽出された前記データ値を生成されるファイル内に含むファイルを、生成することと
のためのコンピュータ実行可能な命令を実行するプロセッサと
を備えることを特徴とするシステム。
【請求項９】
前記プロセッサは、ＸＭＬタグの前記複数の構文構造を識別するように構成されることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記プロセッサは、ＸＭＬタグの特性である、名前、オカレンスの最小数、およびオカレンスの最大数の１つまたは複数を識別するように構成されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記プロセッサは、前記複数のＥＤＩデータ値を、データタイプ名、最小レングス、および最大レングスの１つまたは複数の特性を有するデータ要素を識別することによって抽出することを特徴とする請求項８に記載のシステム。
【請求項１２】
前記プロセッサは、前記ＥＤＩスキーマのデータサイズより大幅に小さいファイルサイズのテキストファイルを生成することを特徴とする請求項８に記載の方法。
【請求項１３】
前記テキストファイル内の抽出された前記データ値は、エンコード規則に従って編成されることを特徴とする請求項１２に記載のシステム。
【請求項１４】
ＥＤＩスキーマに従ってファイルを作成するコンピュータ実行可能なコンポーネントであって、
ハブからスポークへの伝送のための前記ＥＤＩスキーマを選択する、選択コンポーネントと、
選択された前記ＥＤＩスキーマ内の、複数の構文構造を識別するデータコンポーネントであって、前記複数の構文構造が、前記ＥＤＩスキーマと関連するトランザクションのタイプを定義する、データコンポーネントと、
複数のＥＤＩデータ値を、識別された前記複数の構文構造から、定義された前記タイプに従って抽出する、抽出コンポーネントと、
生成されるファイルから前記ＥＤＩスキーマを再作成することができるように、前記タイプと対応し、かつ抽出された前記データ値を生成されるファイル内に含むファイルを生成する、ファイルコンポーネントと
を備えるコンピュータ実行可能なコンポーネントを有することを特徴とする、１つまたは複数のコンピュータ読み取り可能な媒体。
【請求項１５】
前記データコンポーネントは、ＸＭＬタグの複数の構文構造を識別することを特徴とする請求降雨１４に記載のコンピュータ読み取り可能な媒体。
【請求項１６】
前記データコンポーネントは、ＸＭＬタグの特性である、名前、オカレンスの最小数、およびオカレンスの最大数の１つまたは複数を識別することを特徴とする請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１７】
前記抽出コンポーネントは、データタイプ名、最小レングス、および最大レングスの１つまたは複数の特性を有するデータ要素を識別することによって、前記複数のＥＤＩデータ値を抽出することを特徴とする請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１８】
前記ファイルコンポーネントは、前記ＥＤＩスキーマのデータサイズより大幅に小さいファイルサイズのテキストファイルを生成することを特徴とする請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１９】
前記テキストファイル内の抽出された前記データ値は、エンコード規則に従って編成されることを特徴とする請求項１８に記載のコンピュータ読み取り可能な媒体。
【請求項２０】
生成された前記ファイルをハブからスポークに伝送する、伝送コンポーネントをさらに備えることを特徴とする請求項１４に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＤＩスキーマを共有するためのスケーラブルなアルゴリズムに関する。
【背景技術】
【０００２】
電子データ交換（ＥＤＩ：electric data interchange）は、合意されたフォーマット規格およびスキーマに基づいてコンピュータ間でビジネス情報（business information）を交換するための商用（businesses use）の方法の１つである。例えば、世界中の何百万もの会社が、ＥＤＩを使用して、商取引（business transaction）と関連するデータ（例えば、注文書、船荷／航空貨物の証券、請求書など）を伝送して、取引を行う。
【０００３】
典型的なＥＤＩトランザクションモデルでは、大企業体（large business entity）またはＥＤＩ統合ブローカ（EDI integration broker）は、多数のパートナーと取引し、様々なＥＤＩフォーマットおよびスキーマの多数のＥＤＩトランザクションデータを処理する技術力を有する。「ハブ（hub）」としても知られるこれらのエンティティは、「スポーク（spoke）」としても知られる１つまたは複数のサプライヤー（supplier）と取引をする。各スポークは典型的に、１つのハブに対処することしかできない比較的小さい企業体（relatively small business entity）である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
スポークが、ハブを有するＥＤＩを介してトランザクションを開始しようとする前に、ハブは典型的に、様々なＥＤＩスキーマをスポークに伝送し、その結果、スポークは、該ＥＤＩスキーマに従ってＥＤＩトランザクションを適切にフォーマットすることができる。現在、ＥＤＩスキーマは、サイズが大きく、各ＥＤＩのファイルサイズは典型的に、１ＭＢから３ＭＢに及ぶ。さらに、ハブまたは大きな取引のパートナーは、通例、スポークのハードウェア容量の欠如を考慮せずに、大量のスキーマをスポークに伝送する。したがって、伝送中に帯域幅の数ギガバイトを占める可能性のある何千ものそのようなスキーマが、ハブからスポークに伝送される。このやり方（practice）は、データ接続の帯域幅が制限されると、スキーマを効果的に処理するスポークの能力に、過度に負担を与える。
【課題を解決するための手段】
【０００５】
本発明の実施形態は、スキーマを処理することによる既存のシステムおよびやり方の欠陥を克服し、取引のパートナーが、スポークに伝送負担を与えることなく、スキーマをまとめて交換することを可能にする。本発明の実施形態は、重複し繰り返される情報を除去する間に、スキーマに関する情報またはデータを具現化する、簡単なテキストファイルを生成する。
【０００６】
本要約は、以下の「発明を実施するための最良の形態」においてさらに詳細に説明される概念の選択を、簡略化した形式で紹介するために提供される。本要約は、特許請求の対象の主要な特徴および本質的な特徴を特性することは意図されておらず、特許請求の対象の範囲を定める助けとして用いられることも意図されていない。
【０００７】
他の特徴は、本明細書で後に明らかになる部分および指摘される部分に存在するであろう。
【０００８】
対応する参照文字は、図面を通じて対応する部分を示す。
【発明を実施するための最良の形態】
【０００９】
最初に図１を参照すると、ブロック図により、本発明の一実施形態にかかる、電子データ交換（ＥＤＩ）スキーマに対応するファイルを作成するシステム１００が図示されている。システム１００には、１つまたは複数のスポーク１０４とリンクされ、かつ通信する、ハブ１０２が含まれる。一実施形態では、ハブ１０２には、サーバコンピュータ、あるいは、スポーク１０４を提供するためのコンピュータ実行可能な命令を実行する、１つまたは複数のプロセッサ（例えば、プロセッサ１０６）または処理ユニットを提供するコンピューティングデバイスが含まれる。一実施形態では、スポーク１０４には、図６に示されるようなコンピュータ１３０に包含または結合される１つまたは複数のコンポーネントを有する、コンピューティングデバイスが含まれる。
【００１０】
一例では、ハブ１０２は、ＥＤＩスキーマ１１０などの１つまたは複数のＥＤＩスキーマを格納する、メモリ領域１０８も含む、最初に、ハブ１０２およびスポーク１０４は、ハブ１０２とスポーク１０４の間でトランザクションデータを伝送するのに使用される、ＥＤＩのフォーマットまたは規格に関する合意（agreements）を確立する。関係者（party）が、特定のＥＤＩのフォーマットまたは規格を定めると、ハブ１０２は、スポーク１０４に伝送されるべき適切なＥＤＩスキーマを選択する。別の例では、ハブ１０２は、スポーク１０４に対する、注文書、運送証券、請求書、給与支払簿などの、全タイプのトランザクション用の全ＥＤＩスキーマを選択することを選ぶことができる。ハブ１０２とスポーク１０４との間の通信は、プライベートまたはパブリック通信ネットワーク、有線または無線の通信ネットワークとすることができるが、スポーク１０４は典型的に、ハブ１０２から送られる大量のＥＤＩスキーマを処理するハードウェア資源を欠いている。さらに、スポーク１０４のコンピューティングネットワーク通信のタイプおよび帯域幅は、数ギガバイトのデータサイズで到着し得る何千ものＥＤＩスキーマによって課される、そのような要求（demand）を処理する態勢が整っていない。例えば、スポークを、制限されたデータ伝送帯域幅を有する、ダイヤルアップ、ＤＳＬ（digital subscriber line）、またはケーブル接続を介して、インターネットなどのパブリック通信ネットワークに接続することができる。
【００１１】
したがって、ハブ１０２のプロセッサ１０６は、ＥＤＩスキーマ１１０をファイルから再作成することができるように、スポークのファイル（例えば、ファイル１１２、１１４，１１６、または１１８）を作成し、ファイル１１２のファイルサイズは、ＥＤＩスキーマ１１０より大幅に小さい。
【００１２】
ここで、図２を参照すると、ブロック図により、本発明の一実施形態にかかる、図１のシステム１００によって処理されるべき例示的なＥＤＩスキーマ２０２が図示されている。この例では、ＥＤＩスキーマ２０２は、ＸＭＬ（eXtensible Markup Language）のフォーマットで書かれており、自己記述型であるが、冗長的であり、処理のためのディスクスペースまたはメモリに関してより多くのリソース要件を要求する１つまたは複数のＸＭＬタグを含む。
【００１３】
例えば、タグのステートメント２０４は、３つのデータ要素（data element）、すなわち、最小オカレンス（ｍｉｎｉｍｕｍ  ｏｃｃｕｒｅｎｃｅ）、最大オカレンス（ｍａｘｉｍｕｍ  ｏｃｃｕｒｅｎｃｅ）、および名前（ｎａｍｅ）が存在することを示す。図２に示されるように、各データ要素は、それぞれ、「０」、「１」、「ＳＡＣ０４」などのデータ値を含む。
【００１４】
ファイル１１２の作成または生成において、本発明の実施形態は、ＥＤＩスキーマ２０２内の複数の構文構造（syntax structure）を識別する。例えば、ハブ１０２のプロセッサ１０６は、＜ＸＳ：ｅｌｅｍｅｎｔ＞、＜ＸＳ：ｒｅｓｔｒｉｃｔｉｏｎ  ｂａｓｅ＞、＜ＸＳ:ｍｉｎｌｅｎｇｔｈ＞などの複数の構文構造、またはＥＤＩスキーマ２０２と関連するトランザクションのタイプを定義する他のＸＭＬタグ、を識別するためのコンピュータ実行可能な命令を実行する。一例では、ＸＭＬタグが、注文書のトランザクションスキーマを定義することができる一方、他のＸＭＬタグが、他のトランザクションタイプ（例えば、請求書、給与支払簿など）のＥＤＩスキーマを適切に識別することができる。
【００１５】
さらに図２を参照すると、複数の構文構造が識別されると、複数のＥＤＩデータ値は、識別された複数の構文構造から、定義されたタイプに従って抽出される。該複数のＥＤＩデータ値が抽出されると、本発明の実施形態は、該タイプに対応するファイルを生成して、生成された該ファイルからＥＤＩスキーマを再作成することができるように、抽出されたデータ値を生成された該ファイル内に含む。例えば、ハブ１０２のプロセッサ１０６は、構文構造「＜ＸＳ：Ｒｅｓｔｒｉｃｔｉｏｎ  ｂａｓｅ＞」を識別した後、データ値「ＡＮ」をＸＭＬタグステートメント２０６から抽出する。同様に、ＸＭＬタグステートメント２０８は、「１」が抽出されるべきデータ値であることを示す。同じように、ハブ１０２のプロセッサ１０６は、構文構造「＜ＸＳ：Ｍａｘｌｅｎｇｔｈ＞」を識別した後、データ値「１０」をＸＭＬタグステートメント２１０から抽出することもできる。
【００１６】
本発明の実施形態は、言語の構文構造の識別において本発明の範囲を逸脱することなく、ＨＴＭＬまたはＸＳＬＴなど、ＸＭＬ以外の、ＥＤＩのスクリプト記述言語またはプログラミング言語を適切に識別することができることは、理解されよう。
【００１７】
ここで図３Ａを参照すると、ブロック図により、本発明の一実施形態にかかる、図２のＥＤＩスキーマから作成される第１の例示的なファイル３０２が図示されている。この例では、ファイル３０２は、ＥＤＩスキーマ２０２を表す、抽出されたデータ値「ＳＡＣ０４  ０  １  ｛ＡＮ  １  １０｝」を含む。一実施形態では、ファイル３０２内の抽出されたデータ値は、エンコード規則（encoding rule）に従って編成される。一例では、エンコード規則は、以下の順序でデータ値を配置することによって、抽出されたデータ値を定義または設定することができる。すなわち、「ｎａｍｅ（名前）」「ｍｉｎｉｍｕｍ  ｏｃｃｕｒｅｎｃｅ（最小オカレンス）」、「ｍａｘｉｍｕｍ  ｏｃｃｕｒｅｎｃｅ（最大オカレンス）」、「ｒｅｓｔｒｉｃｔｉｏｎ  ｂａｓｅ」、「ｍｉｎｌｅｎｇｔｈ」、「ｍａｘｌｅｎｇｔｈ」の順序である。抽出されたデータ値またはフォーマットのスタイル（例えば、区切り文字（delimiter characters）、インデント、キャリッジリターン記号など）の他の順序付けの順を、本発明の範囲から逸脱することなく利用することができることは、理解されよう。
【００１８】
図２および図３Ａに示されるように、ＥＤＩスキーマ２０３のコンテンツは、２７３文字（スペースは除く）を含む一方、作成または生成されたファイル３０２は、スペースを含め、わずか１９文字のみを含む。ＥＤＩスキーマ２０２および作成されたファイル３０２の両方は、スポークについてトランザクションタイプのフォーマットを定義または記述する、必要不可欠な情報（essential information）を表す。容易性とデータサイズのそのような減少により、本発明の実施形態は、スポークに対する負担を軽減して、大量のＥＤＩスキーマの伝送を処理する。図３Ｂは、ＳＡＣＬｏｏｐを有するＥＤＩスキーマを表す第２の例示的なファイル３０４の別の例を図示する。
【００１９】
図３Ｂに図示される例では、例示的なファイル３０４は、圧縮されたＳＡＣＬｏｏｐを含む。ＳＡＣＬｏｏｐは、ループ構造であり、他の子構造を含む。この例では、ＳＡＣＬｏｏｐは、２つの子、すなわち、ＳＡＣ３０６とＣＵＲ３０８を含む。一実施形態では、ファイル３０４において、子を表している各ラインは、読みやすさのために字下げされている。したがって、子のＳＡＣ３０６とＣＵＲ３０８、およびＳＡＣ３０６とＣＵＲ３０８のそれぞれの子（例えば、ＳＡＣ０１からＳＡＣ１６、およびＣＵＲ０１からＣＵＲ２１）の両方が、上述の方法により圧縮される。
【００２０】
別の実施形態では、作成または生成されたファイル３０２のサイズを、任意の汎用データ圧縮アルゴリズム（generic data compression algorithm）、または公知の圧縮技術（例えば、ｚｉｐ、ｔａｒ、ｒａｒなど）を使用することによって、さらに減少させて、ファイル３０２のサイズをさらに圧縮することができる。
【００２１】
図４は、本発明の一実施形態にかかる、ＥＤＩスキーマに従ってファイルを作成する例示的な方法を図示するフロー図である。一例では、図５のコンピュータ読み取り可能な媒体５０２などの、１つまたは複数のコンピュータ読み取り可能な媒体は、図４に図示される方法を実装するコンピュータ実行可能なコンポーネントを含む。
【００２２】
例えば、選択コンポーネント５０４は、４０２において、スポーク１０４−１などの宛先デバイスへの伝送のためのＥＤＩスキーマを選択する。データコンポーネント５０６は、４０４で、選択されたＥＤＩスキーマ内の複数の構文構造を識別する。４０６では、抽出コンポーネント５０６は、複数のＥＤＩデータ値を、識別された複数の構文構造から、定義されたタイプに従って抽出する。ファイルコンポーネント５０８は、生成されるファイルからＥＤＩスキーマを再作成することができるように、上記タイプに対応し、かつファイル内に抽出されたデータ値を含む、ファイル３０２などのファイルを生成する。別の実施形態では、伝送コンポーネント５１０は、生成または作成されたファイルを、ソース（例えば、ハブ１０２）から宛先デバイス（例えば、スポーク１０４）に伝送する。
【００２３】
操作において、本発明の実施形態を、以下の手法で実装することができる。何千ものＥＤＩドキュメントまたはトランザクションの処理が可能な多くのコンピューティング装置を操作する、大企業体などのハブは、１つまたは複数のＥＤＩスキーマを、スポークなどの宛先デバイスへの伝送のために選択する。スキーマを元のフォーマットで伝送する代わりに、ハブは、選択されたＥＤＩスキーマ内の複数の構文構造を識別する。複数の構文構造は、ＥＤＩスキーマと関連するトランザクションのタイプを定義する。例えば、ハブは、注文書のタイプ（purchase order type）のスキーマを選択することができる。
【００２４】
ハブは次に、複数のＥＤＩデータ値を、識別された複数の構文構造から、定義されたタイプに従って抽出することができる。例えば、注文書のタイプのＥＤＩトランザクションについて、１つまたは複数の特定のデータ値を、注文書のタイプに従って抽出することができる。抽出の際、ハブは、そのタイプに対応するファイルを生成し、ＥＤＩスキーマを生成されたファイルから再作成できるように、生成されたファイル内に抽出されたデータ値を含む。
【００２５】
図６は、汎用のコンピューティングデバイスの一例をコンピュータ１３０の形式で示している。本発明の一実施形態では、コンピュータ１３０などのコンピュータは、本明細書で図示され説明される他の図における使用に適している。コンピュータ１３０は、１つまたは複数のプロセッサもしくは処理ユニット１３２、およびシステムメモリ１４を有する。図示されている実施形態では、システムバス１３６は、プロセッサ１３２に対するシステムメモリ１３４を含め、様々なシステムコンポーネントを結合している。バス１３６は、メモリバスもしくはメモリコントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート（accelerated graphics port）、および様々なバスアーキテクチャのいずれかを使用するプロセッサもしくはローカルバスを含む、いくつかのタイプのバス構造のいずれかの１つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャには、ＩＳＡバス、ＭＣＡバス、ＥＩＳＡバス、ＶＥＳＡローカルバス、およびメザニンバスとしても知られるＰＣＩバスが含まれる。
【００２６】
コンピュータ１３０は典型的に、少なくとも何らかの形式のコンピュータ読み取り可能な媒体を有する。揮発性および不揮発性の媒体、取り外し可能および取り外し不可能の媒体の両方を含むコンピュータ読み取り可能な媒体は、コンピュータ１３０がアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく例として、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体および通信媒体を備えることができる。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶に関する任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。例えば、コンピュータ記録媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光ディスク記憶デバイス、または所望の情報を格納するのに使用可能でありコンピュータ１３０がアクセス可能な任意の他の媒体が含まれる。通信媒体は典型的に、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波などの変調データ信号または他の移送機構で具現化し、任意の情報伝達媒体を含む。当業者は、その特性の１つまたは複数が、信号内の情報をエンコードするような手法で設定または変更された、変調データ信号に精通している。有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体は、通信媒体の例示である。上記のものの任意の組み合わせも、コンピュータ読み取り可能な媒体の範囲に含まれる。
【００２７】
システムメモリ１３４は、取り外し可能および／または取り外し不可能、揮発性および／または不揮発性のメモリの形式のコンピュータ記憶媒体を含む。図示されている実施形態では、システムメモリ１３４は、ＲＯＭ１３８およびＲＡＭ１４０を含む。起動時などにコンピュータ１３０内の要素間で情報を転送するのを助ける標準ルーチンを含むＢＩＯＳ１４２は、典型的に、ＲＯＭ１３８に格納される。ＲＡＭ１４０は典型的に、処理ユニット１３２によりすぐにアクセス可能および／または現在操作されている、データおよび／またはプログラムモジュールを含む。限定ではなく例として、図６では、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０を図示している。
【００２８】
コンピュータ１３０は、他の取り外し可能／取り外し不可能、揮発性／不揮発性のコンピュータ記憶媒体も含む。例えば、図６では、取り外し不可能で不揮発性の磁気媒体と読み書きをするハードディスクドライブ１５４を図示している。図６では、取り外し可能で不揮発性の磁気ディスク１５８と読み書きをする磁気ディスクドライブ１５６、および、ＣＤ−ＲＯＭもしくは他の光媒体などの、取り外し可能で不揮発性の光ディスク１６２と読み書きをする光ディスクドライブ１６０も示している。例示的なオペレーティング環境で使用することができる他の取り外し可能／取り外し不可能、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどが含まれるが、これらには限定されない。ハードディスクドライブ１５４、磁気ディスクドライブ１５６、および光ディスク１６０は典型的に、インタフェース１６６などの不揮発性メモリインタフェースによって、システムバス１３６に接続される。
【００２９】
ドライブ、または他の大容量記憶装置、および上述され図６で図示されるコンピュータ記憶媒体と関連するドライブもしくは他の大容量記憶装置は、コンピュータ１３０のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。図６では、例えば、ハードドライブディスク１５４は、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６を格納するように図示されている。これらのコンポーネントは、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０と同じとすることも、または異なるものとすることもできることに留意されたい。オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６は、少なくとも異なるコピーであることを示すため、異なる番号を与えられている。
【００３０】
コンピュータ１３０は、ネットワーク化された環境において、リモートコンピュータ１９４などの１つまたは複数のリモートコンピュータに対する論理接続を使用して、動作することができる。リモートコンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、典型的に、コンピュータ１３０に関連して上述した要素の多くまたは全てを含む。図６に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）１９６、ワイドエリアネットワーク（ＷＡＮ）１９８を含むが、他のネットワークを含むこともできる。ＬＡＮ１３６および／またはＷＡＮ１３８は、有線ネットワーク、無線ネットワーク、およびこれらの組み合わせとすることができる。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、グローバルなコンピュータネットワーク（例えば、インターネット）においては、一般的である。
【００３１】
ローカルエリアネットワーキング環境で使用されるとき、コンピュータ１３０は、ネットワークインタフェースまたはアダプタ１８６を通して、ＬＡＮ１９６に接続される。ワイドエリアネットワーキング環境で使用されるとき、コンピュータ１３０は典型的に、モデム１７８、または、例えばインターネットなど、ＷＡＮ１９８で通信を確立する他の手段を含む。内部または外部とすることができるモデム１７８は、ユーザ入力インタフェース１８４または他の適切な機構を介して、システムバス１３６に接続される。ネットワーク化された環境では、コンピュータ１３０に関連して示されるプログラムモジュール、またはその一部を、リモートメモリ記憶装置（図示せず）に格納することができる。限定ではなく例として、図６は、メモリデバイスに存在するリモートアプリケーションプログラム１９２を図示する。示されているネットワーク接続は、例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用することができる。
【００３２】
一般的に、コンピュータ１３０のデータプロセッサは、異なる時間にコンピュータの様々なコンピュータ読み取り可能な記憶媒体に格納される命令の手段で、プログラムされる。プログラムおよびオペレーティングシステムは典型的に、例えば、フロッピー（登録商標）ディスクまたはＣＤ−ＲＯＭに分散される。プログラムおよびオペレーティングシステムは、そこから、コンピュータの２次メモリ（secondary memory）にインストールまたはロードされる。実行の際、プログラムおよびオペレーティングシステムは、少なくとも部分的に、コンピュータの１次電子メモリ（primary electronic memory）にロードされる。これらおよび様々なタイプのコンピュータ読み取り可能な記憶媒体が、マイクロプロセッサまたは他のデータプロセッサに関連して説明されるステップを実装する命令またはプログラムを含む場合、本明細書で説明される本発明の態様は、このような媒体を含む。さらに、本発明の態様は、本明細書で説明される方法および技術によってプログラムされる場合、コンピュータ自身を含む。
【００３３】
説明の目的で、オペレーティングシステムなどの、プログラムおよび他の実行可能なプログラムコンポーネントは、ここでは別々のブロックとして図示されている。しかし、そのようなプログラムおよびコンポーネントは、様々な時間に、コンピュータの異なる記憶コンポーネントに存在し、コンピュータのデータプロセッサによって実行されることを理解されたい。
【００３４】
コンピュータ１３０を含む例示的なコンピューティングシステム環境に関連して説明されているが、本発明の実施形態は、多数の他の汎用または専用のコンピューティングシステム環境または構成で動作可能である。コンピューティングシステム環境は、本発明の任意の態様の使用もしくは機能性の範囲に関して、いかなる限定を提言するようにも意図されていない。さらに、コンピューティングシステム環境は、例示的なコンピューティング環境おいて図示されるコンポーネントのいずれか１つ、またはその組み合わせに関して、いかなる依存性または要件を有するものとして解釈されてはならない。本発明の態様での使用に適切である可能性がある、周知のコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、ミニプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、携帯電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、および上記のシステムもしくはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらには限定されない。
【００３５】
本発明の実施形態を、１つまたは複数のコンピュータもしくは他のデバイスによって実行可能な、プログラムモジュールなどのコンピュータ実行可能な命令の一般的な背景で説明することができる。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、および、特定のタスクを実行もしくは特定の抽象データタイプを実装するデータ構造が含まれるが、これらには限定されない。本発明の態様を、タスクが、通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される、分散コンピューティング環境において実施することもできる。分散コンピューティング環境では、プログラムモジュールを、メモリ記憶装置を含む、ローカルおよびリモートの両方のコンピュータ記憶媒体に配置することができる。
【００３６】
ソフトウェアアーキテクチャの背景におけるインタフェースには、ソフトウェアモジュール、コンポーネント、コード部分、またはコンピュータ実行可能な命令の他のシーケンスが含まれる。インタフェースには、例えば、第１のモジュールとしてコンピューティングタスクを実行する第２のモジュールにアクセスする、第１のモジュールが含まれる。第１および第２のモジュールには、一例として、オペレーティングシステムによって提供されるようなＡＰＩ、ＣＯＭ（component object model）インタフェース（例えば、ピアツーピアアプリケーション通信用）、およびＸＭＩ（extensible markup language metadata interchange format）インタフェース（例えば、ウェブサービス間の通信用）が含まれる。
【００３７】
インタフェースは、例えば、Ｊ２ＥＥ、ＣＯＭ、またはＤＣＯＭなどにおける、密結合、同期実装とすることができる。代替または追加として、インタフェースは、（例えば、簡単なオブジェクトアクセスプロトコルを使用する）ウェブサービスなどにおける、疎結合、非同期実装とすることができる。一般に、インタフェースは、以下の特性の任意の組み合わせを含むことができる。すなわち、密結合、疎結合、同期、非同期の任意の組み合わせを含むことができる。さらに、インタフェースは、標準プロトコル、独自プロトコル、または標準および独自プロトコルの任意の組み合わせのいずれかに準拠することができる。
【００３８】
本明細書で説明される複数のインタフェースを、全て単一のインタフェースの一部分とすることができ、または、別個のインタフェースとして、もしくはその中の任意の組み合わせとして実装することができる。インタフェースは、ローカルまたはリモートで実行して、その機能性を提供することができる。さらに、インタフェースは、本明細書で図示され説明される機能性より多くの、または少ない機能性を含むことがある。
【００３９】
操作において、コンピュータ１３０は、図４などの図に図示されるようなコンピュータ実行可能な命令を実行して、本発明の態様を実装する。
【００４０】
本明細書で図示され説明される本発明の態様における、操作の実行または実施の順序は、別段指定されない限り重要ではない。すなわち、別段指定されない限り、操作を任意の順序で実施することができ、本発明の実施形態は、本明細書で開示される操作と比べ、さらなるまたは少ない操作を含むことができる。例えば、特定の操作を、別の操作の前、同時、もしくは後に実行または実施することは、本発明の態様の範囲内であると考えられる。
【００４１】
本発明の実施形態を、コンピュータ実行可能な命令で実装することができる。コンピュータ実行可能な命令を、１つまたは複数のコンピュータ実行可能なコンポーネントまたはモジュールで編成することができる。本発明の態様を、そのようなコンポーネントまたはモジュールの任意の数および編成で実装することができる。例えば、本発明の態様は、図面で図示されかつ本明細書で説明される、特定のコンピュータ実行可能な命令、または特定のコンポーネントもしくはモジュールに限定されない。本発明の他の実施形態は、本明細書で図示され説明される機能性より多く、もしくは少ない機能性を有する、異なるコンピュータ実行可能な命令またはコンポーネントを含むことができる。
【００４２】
本明細書の態様の要素またはその実施形態を紹介するとき、「ａ」、「ａｎ」、「ｔｈｅ」、「ｓａｉｄ」という冠詞は、１つまたは複数の要素が存在することを意味するように意図されていない。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｖｉｎｇ）」という用語は、列挙した要素と比べ、さらなる要素が存在し得ることを包含し、意味するように意図される。
【００４３】
上記の構成、生成物、および方法に、本発明の態様の範囲から逸脱することなく様々な変更を行うことができるように、上記の説明に包含され添付の図面に示される全ての事項は、例示として解釈されるべきであり、狭義の意味で解釈されるべきではない。
【図面の簡単な説明】
【００４４】
【図１】本発明の一態様にかかる、ＥＤＩスキーマに対応するファイルを作成するシステムを示すブロック図である。
【図２】本発明の一態様にかかる、図１のシステムによって圧縮されるべきＥＤＩスキーマを示すブロック図である。
【図３Ａ】本発明の一態様にかかる、図２のＥＤＩスキーマから作成される第１の例示的なファイルを示すブロック図である。
【図３Ｂ】本発明の一態様にかかる、ＥＤＩスキーマから作成される第２の例示的なファイルを示すブロック図である。
【図４】本発明の一態様にかかる、ＥＤＩスキーマに従ってファイルを作成する例示的な方法を示すフロー図である。
【図５】本発明の態様を格納することができる例示的なコンピュータ読み取り可能な媒体を示すブロック図である。
【図６】本発明を実装することができる適切なコンピューティングシステム環境の一例を示すブロック図である。
【図１】
2009527853.tif 000003
【図２】
2009527853.tif 000004
【図３Ａ】
2009527853.tif 000005
【図３Ｂ】
2009527853.tif 000006
【図４】
2009527853.tif 000007
【図５】
2009527853.tif 000008
【図６】
2009527853.tif 000009
【国際調査報告】
2009527853.tif 000010
2009527853.tif 000011