(57)【要約】  任意のサイズのデータセットを効率的に吸収し、アーカイブ化しそして配布するためのシステム及び方法が提供される。幾つかの実施形態は、リアルタイムストリーミング及び過去のデータの再生を通して大量データの柔軟なポリシーベースの配布を提供する。又、幾つかの実施形態は、進歩したバージョン特徴を通してベンダーシステムにわたって堅実で且つ明確な一貫性の基礎を提供する。この一貫性は、金融業界では特に貴重であるが、多数のデータ配布ポイントを管理するいかなる会社でも改善された信頼性あるデータ入手性について極めて有用である。【選択図】図２
2015519639.tif 000002
【特許請求の範囲】
【請求項１】
データプロデューサからストリーミングデータを受け取り、
前記ストリーミングデータから１組のバンドリングパラメータに従って一緒に束ねなければならないビジネス整合アーカイブシーケンスを決定し、
前記データを、標準フォーマットを有するデータのパッケージへと束ね、
マスタークロックにより発生される一連の連続する整数を使用して前記データのパッケージの各々を順序付け、
前記データのパッケージの入手性に関するメタデータをコントロールチャンネルにおいて公表し、及び
前記データプロデューサと契約したデータコンシューマへ前記データのパッケージを配信する、
ことを含む方法。
【請求項２】
前記バンドリングパラメータは、ビジネスにより特定される宣言的ルールを含む、請求項１に記載の方法。
【請求項３】
前記標準フォーマットは、前記ストリーミングデータの移動及び圧縮に対してバイアスされた標準中性フォーマットである、請求項１に記載の方法。
【請求項４】
データコンシューマから要求があった際に前記順序に基づいて前記データのパッケージを再生することを更に含む、請求項１に記載の方法。
【請求項５】
前記データのパッケージをプラットホーム独立的にアーカイブ化することを更に含む、請求項１に記載の方法。
【請求項６】
前記コントロールチャンネルにおいて公表されるメタデータは、インデックスを含む、請求項１に記載の方法。
【請求項７】
前記データを束ねることは、圧縮時にデータパッケージ内の各パッケージが望ましいサイズとなるようなデータを識別することを含む、請求項１に記載の方法。
【請求項８】
前記データを束ねることは、新たなメタデータを、束ねられたパッケージの各々に関連付けることを含み、前記新たなメタデータは、概要データ、品質データ、インデックスデータ、又はチェック和データの少なくとも１つを含む、請求項１に記載の方法。
【請求項９】
前記データのパッケージをコンシューマーへ配信することは、並列配信を含む、請求項１に記載の方法。
【請求項１０】
データを検証するために列チェック和を使用することを含む、請求項１に記載の方法。
【請求項１１】
前記列チェック和は、特定の公差でエラーを丸めることを許す、請求項１０に記載の方法。
【請求項１２】
データプロデューサからストリーミングローデータを受け取り、そのローデータを一連のデータパッケージへと束ね、そしてそのデータパッケージの各々に、前記データプロデューサからのアップロードに基づき単調に増加する順序を有する独特の識別子を関連付けるように構成されたバンドラーと、
前記関連付けられた独特の識別子を有するデータパッケージを受け取り、そしてデータ契約者に関連したレポートストアのためのロード可能なデータ構造体を発生するトランスフォーマーと、
前記ロード可能なデータ構造体を受け取り、そして前記単調に増加する順序に基づき前記データ契約者に関連したストレージ装置に記憶するローダーと、
を備えたシステム。
【請求項１３】
前記ストリーミングローデータは、複数のストリームを含む、請求項１２に記載のシステム。
【請求項１４】
前記複数のストリームの各々からのデータパッケージは、独特の識別子の異なるセットが指定される、請求項１３に記載のシステム。
【請求項１５】
前記ストリーミングローデータの複数のストリームの各々は、フロープライオリティが指定される、請求項１３に記載のシステム。
【請求項１６】
ストリームクロックから論理的な一連の整数を受け取り、そして論理的な順序を有する前記独特の識別子を発生する識別モジュールを更に備えた、請求項１２に記載のシステム。
【請求項１７】
前記論理的な一連の整数を発生するように構成されたストリームクロックを更に備え、単一の整数は、前記一連のデータパッケージ内の単一のデータパッケージに関連した独特の識別子である、請求項１６に記載のシステム。
【請求項１８】
データプロデューサからのデータを、前記バンドラーを通して前記データ契約者へ連続的にストリーミングできるようにするデータチャンネルと、
前記データプロデューサから前記データ契約者へ連続的にストリーミングされているデータの現在状態を与えるメッセージングチャンネルと、
前記データ契約者がデータの再生を要求できるようにする、前記データチャンネルとは個別のコントロールチャンネルと、
を更に備えた請求項１２に記載のシステム。
【請求項１９】
前記コントロールチャンネルは、前記データチャンネルより速いレートで実行される、請求項１８に記載のシステム。
【請求項２０】
前記コントロールチャンネルは、前記データパッケージに関するメタデータを繰り返し公表する、請求項１８に記載のシステム。
【請求項２１】
データパッケージをアーカイブ化するアーカイブサービスを更に備えた、請求項１２に記載のシステム。
【請求項２２】
アーカイブに記憶される前にデータパッケージに指定された論理的順序を有するデータパッケージへと束ねられたデータを再生する要求を受け取り、その要求は、再生されるべきデータにおける論理的境界を含み、そしてデータ契約者のフォーマットを識別するものであり、
前記論理的境界に一貫するデータを前記アーカイブから検索し、及び
前記データパッケージを、前記データを再生する要求において識別されたロード可能なフォーマットへ変換する、
ことを含む方法。
【請求項２３】
前記論理的境界後のデータパッケージは無視される、請求項２２に記載の方法。
【請求項２４】
アーカイブ化戦略の選択を受け取り、及び
前記アーカイブ化戦略に基づいてデータをアーカイブ化する、
ことを更に含む、請求項２２に記載の方法。
【請求項２５】
前記アーカイブ化戦略は、寸法に基づくアーカイブ化戦略である、請求項２４に記載の方法。
【請求項２６】
前記データパッケージは、列圧縮を使用して圧縮される、請求項２２に記載の方法。
【請求項２７】
前記データパッケージは、概要データ、品質データ、インデックスデータ、又はチェック和データを各々与えるメタデータを含む、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照：本願は、２０１２年４月１３日に出願された米国プロビジョナル特許出願第６１／６２３，８７７号の優先権を主張するもので、該特許出願は、あらゆる目的で参考としてここにそのまま援用される。
【０００２】
本発明の技術の種々の実施形態は、一般的に、データ配信に関する。より特定すれば、本発明の技術の幾つかの実施形態は、スケーラブルな構造化データ配布のためのシステム及び方法に関する。
【背景技術】
【０００３】
報告データの品質、一貫性及び入手性を改善するために種々の産業において規制や競争圧力が増大している。データを新たな組み合わせで一緒に結び付けるため、緻密さ、オンライン履歴、冗長性及び収集のような多数の次元に沿って記憶及び処理需要が増大している。更に、データが益々会社内の部門にわたりシェアされるのに伴い、異なるタイミングニーズで部門間の食い違いを管理するため日中バージョニングが必要になってきている。又、各部門は、バッチ処理から増分的リアルタイム及びストリームデータ管理へとそれらを導く道筋を探し始めている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
効率的で且つ一貫したデータ管理の需要が増大しているが、多数の大企業は、欠点のあるＡＣＩＤ（原子性、一貫性、独立性、及び恒久性）アーキテクチャーを、スケーラブルなＢＡＳＥアーキテクチャーに置き換えつつある。大きな又は膨大なデータセットを見て分析する解決策は、平凡になりつつある。というのは、それらの会社は、オープンソースに対して彼等のクラウドスケーリングシステムの観点を公開しているからである。ハイパースケール分析エンジンは、平凡になりつつあるが、データセットの動きを管理するツールは、ペースを保っていない。大企業は、増大する停電のおそれから自分自身を保護することで混乱している。というのは、大きなデータストリームの入手性を管理する手段に欠けるからである。
【０００５】
多数の他の会社も、増大するデータセットを同様に複写できないことに直面している。ＡＣＩＤアーキテクチャーは、コストがかかり、複雑である上に、データが一貫したもので且つスペース及び時間にわたって入手できること（例えば、部門のデータシェア及びフォレンジック）を保証するのに適切でない。これら増大するデータセットの入手性、一貫性及び統治性についてより高い障壁が一貫してセットされる。
【課題を解決するための手段】
【０００６】
スケーラブルな構造化データ配布のためのシステム及び方法について述べる。ある実施形態では、この方法は、データプロデューサからストリーミングローデータを受け取ることを含む。データは、アーカイブ戦略に基づきデータのパッケージ（即ち、バンドル）に束ねることができる。ある場合には、ストリーミングデータに関連したメタデータが、効率的なポリシー主導ルーティングのためにレバレッジされる。メタデータは、１つ以上のチャンネル（例えば、コントロールチャンネル）に、おそらく繰り返し公表される。データの各パッケージは、マスタークロックにより発生される一連の連続する整数を使用して順序付けされる。データのパッケージは、次いで、アーカイブ化され、そしてデータプロデューサと契約したコンシューマーに配信される（例えば、並列に）。データのパッケージは、データコンシューマから要求があったときに連続する整数により識別された順序に基づいて再生することができる。
【０００７】
又、本発明の技術の実施形態は、ここに述べる方法、方法の変形例及び他の動作を１つ以上のプロセッサに遂行させるためのインストラクションのセットを含むコンピュータ読み取り可能なストレージ媒体も備えている。
【０００８】
又、ある実施形態は、バンドラー、トランスフォーマー、ストリームクロック、及びアーカイブサービスを含むシステムを備えている。バンドラーは、データプロデューサからストリーミングローデータを受け取り、そしてそのデータを一連のデータパッケージへと束ねるように構成され、これは、各データパッケージを、単調に増加する順序をもつ独特の識別子に関連付けることで行われる。トランスフォーマーは、データパッケージを（例えば、アーカイブから）受け取り、そしてデータ契約者に関連したレポートストアのためのロード可能なデータ構造体を生成する。ローダーは、ロード可能なデータ構造体を受け取り、そして論理的順序に基づいてデータ契約者に関連したストレージ装置へそれを記憶する。
【０００９】
ある実施形態は、一連の論理的整数を発生するように構成されたマスタークロックを備え、各整数は、データパッケージのビジネス整合(aligned)、ポリシー主導（宣言的）シリーズにおける単一のデータパッケージに関連している。種々の実施形態において、このシステムは、データプロデューサからのデータをデータ契約者へ連続的にストリーミングさせることのできるデータチャンネルを備えている。更に、メッセージングチャンネルを使用して、データプロデューサからデータ配布システムを経てデータ契約者へ連続的にストリーミングされるデータの現在状態を与えることができる。又、ある実施形態では、データ契約者がデータの再生を要求できるようにするデータチャンネルとは個別のコントロールチャンネルを使用することもできる。
【００１０】
多数の実施形態が開示されるが、当業者であれば、本発明の技術の更に別の実施形態が以下の詳細な説明から明らかとなろう。又、本発明の技術の範囲から逸脱せずに、種々の観点で変更がなされ得ることが明らかであろう。従って、図面及び詳細な説明は、例示に過ぎず、それに限定されない。
【００１１】
本発明の技術の実施形態は、添付図面を使用して記述され説明される。
【図面の簡単な説明】
【００１２】
【図１】本発明の技術の幾つかの実施形態が利用される環境の一例を示す図である。
【図２】本発明の技術の１つ以上の実施形態によるデータ配布システムの動作の段階を示す図である。
【図３】本発明の技術の種々の実施形態によりデータを束ねる１組の動作を示すフローチャートである。
【図４】本発明の技術の幾つかの実施形態によりデータストリームを処理する１組の動作を示すフローチャートである。
【図５】本発明の技術の１つ以上の実施形態によるデータ配布システムの１組の要素を示す図である。
【図６】本発明の技術の種々の実施形態によりデータを配信するための１組の動作を示すフローチャートである。
【図７】本発明の技術の１つ以上の実施形態に使用できるデータ配布システムアーキテクチャーの概略図である。
【図８】本発明の技術の幾つかの実施形態が使用されるコンピュータシステムの一例を示す図である。
【発明を実施するための形態】
【００１３】
添付図面は、必ずしも正しい縮尺で描かれていない。例えば、ある要素及び／又は動作は、本発明技術の幾つかの実施形態を説明する目的で異なるブロックに分離されるか又は単一のブロックに結合される。更に、この技術は、種々の変更及び代替的形態へと修正できるが、添付図面には特定の実施形態を示して、以下に詳細に説明する。しかしながら、本発明の範囲は、ここに述べる特定の実施形態に限定されない。逆に、本発明は、請求の範囲により規定された技術の範囲内に含まれる変更、等効物及び代替物を全て網羅することが意図される。
【００１４】
本発明の技術の種々の実施形態は、一般的に、データの管理（例えば、ビッグデータの記憶及び移動）に関する。より詳細には、幾つかの実施形態は、スケーラブルな構造化データ配布のためのシステム及び方法に関する。又、幾つかの実施形態は、多量のデータを多数のクライアントに確実に配布するのに適したデータバスを提供する。更に、幾つかの実施形態は、任意のサイズのデータセットを効率的に吸収し、アーカイブ化しそして配布すると共に、リアルタイムストリーミング及び過去のデータの再生を通して大量データを柔軟にポリシーベースで配布するための一体化システムを含む。
【００１５】
データコンシューマは、データの一貫性、入手性及び区画化（ＣＡＰ）をしばしば希望する。これら全ての属性を瞬時に達成することは、しばしば、困難である。一貫性及び入手性が重要であるが、ある程度の時間的遅延が受け容れられる多くの状況では、遅延型一貫性が有利な妥協である。従って、ここに開示するデータ配布システムの幾つかの実施形態は、一貫性、入手性及び区画化の重要性を保持するが、一貫性のタイミングについてのみ根拠を与える。データにタグ付けするのに使用される独特のクロックスキームを通して、データ配布システムの種々の実施形態は、必要なＣＡＰを最終的に達成する。
【００１６】
規制及び競争圧力から生じるスケールアウト要件に対処するため、種々の実施形態は、ＢＡＳＥアーキテクチャーをレバレッジするデータフロー解決策を提供する。種々の実施形態は、任意のサイズのデータセットを効率的に吸収し、アーカイブ化しそして配布するための一体的システムを提供する。この一体的システムは、スケーラブルな配布（即ち、多数のコンシューマーへの効率的な同時のストリーミング）、一貫性（即ち、一貫したライブバックアップ、データシェア及びフォレンジックサポート）、機敏さ（即ち、ベンダーの独立性及び分析エンジンの迅速な採用）、統治性（即ち、配布に対するセキュアなポリシー主導管理）、及び／又はフォレンジック（即ち、データの過去のバージョンの、高速度での再生及び回復）を提供することができる。
【００１７】
更に、一体型データ配布システムの幾つかの実施形態は、開発者が簡単な用語でデータを識別し（スキーマ及び取引目的）そして大量のデータをバスに提出して、ポリシーで、ストレージ、変換、及び多数のターゲットへの同時のストリーミングを支配することができるようにする。バスを通して送られるデータの全てのバージョンが圧縮されて記憶され、次いで、数秒、数日、又は数年後に、保証された一貫性で、ターゲットへ再生される。幾つかの実施形態は、適用可能な要素ベースの、メッセージ主導のアーキテクチャー、ステートレス及び宣言的セットアップ、並びに特殊な圧縮及び最適化特徴を含めて、より広く適用できる特徴を含む。
【００１８】
幾つかの実施形態は、データフローを内部及び外部ドメインにわたってコスト節約のクラウド技術に橋渡しする。このため、この技術の幾つかの実施形態は、これに限定されないが、次のような種々の配布／非配布フロー組み合わせをサポートする特徴を含む。１）大量データ捕獲及び再生；２）ワイヤ及びディスクのセキュリティのためのポリシーベースの暗号化；３）高スループットの並列トランスポート；４）アンルート(en-route)並列処理又は変換；５）優れた構造化圧縮；６）データ処理を監視及び管理する能力、並びにビジネスレベルでのストレージコスト；及び／又は７）繰り返し可能なデータフローへの及びデータフローからの柔軟な適応。
【００１９】
多くの慣習的システムは、必須のデータフローを使用するが、本発明技術の種々の実施形態は、ルールベースのデータフロー又は「宣言的」データフローを使用する。その結果として、全てのデータの提供、契約、チャンネル化、アーカイブ化及び資格付与が、１組の良く理解されるルールを経て独占的な実施から切り離される。更に、データは、その基礎的なレポジトリーモデルから取り出される。捕獲されたデータは、順序付けされたロー(raw)形態で保持されるので、データは、過去の任意の点から新たなデータベース解決策へと再生され、新規技術を素早く採用するための優れたプラットホームを提供する。内蔵された一貫性メカニズムは、幾つかの実施形態において同時フローを管理する上で助けとなる。これは、異なるデータストアをポピュレートして並列に使用するのを許す。一貫したストアを並列に使用することにより、新規なハイブリッドレポートアーキテクチャーが可能となる。例えば、タンデムリレーショナル及びＮｏＳＱＬエンジンの組み合わせ効果は、大きなデータレポート挑戦のための新たな性能及びコストスケール原動力を与える仕方でアプリケーション層に利用できるようにされる。
【００２０】
以下の記述において、説明上、本発明の技術の実施形態を完全に理解するために多数の特定の細部が述べられている。しかしながら、当業者であれば、これら特定の細部の幾つかがなくても、本発明技術の実施形態を具現化できることが明らかであろう。
【００２１】
更に、ここに紹介される技術は、特殊目的ハードウェア（例えば、回路）として、又はソフトウェア及び／又はファームウェアで適切にプログラムされたプログラマブル回路として、又は特殊目的回路及びプログラマブル回路の組み合わせとして実施することもできる。従って、これらの実施形態は、コンピュータ（又は他の電子装置）をプログラムしてプロセスを遂行するのに使用される非一時的インストラクションが記憶された非一時的マシン読み取り可能な媒体を含む。マシン読み取り可能な媒体は、これに限定されないが、光学ディスク、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、磁気−光学ディスク、ＲＯＭ、ランダムアクセスメモリ（ＲＡＭ）、消去可能なプログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、特定用途向け集積回路（ＡＳＩＣ）、磁気又は光学カード、フラッシュメモリ、或いは電子的インストラクションを記憶するのに適した他の形式の媒体／マシン読み取り可能な媒体を含む。
【００２２】
用語
本明細書全体に使用される用語、略語及び句の簡単な定義は、次の通りである。
【００２３】
「接続(connected)」又は「結合(coupled)」及びそれに関連した用語は、動作上の観念で使用され、必ずしも、直接的な物理的接続又は結合に限定されない。従って、例えば、２つの装置は、直接結合されるか、或いは１つ以上の中間媒体又は装置を経て結合される。別の例として、装置は、それらの間に情報を通せるように結合されるが、互いに物理的な接続は共有しない。ここでの開示に基づき、当業者であれば、前記定義に従って種々の仕方で接続又は結合が存在することが明らかであろう。
【００２４】
「幾つかの実施形態では」「幾つかの実施形態によれば」「ここに示す実施形態では」「他の実施形態では」等の句は、一般的に、その句に続く特定の特徴、構造又は特性が、本発明技術の少なくとも１つの実施形態に含まれ、及び２つ以上の実施形態に含まれることを意味する。更に、そのような句は、必ずしも、同じ実施形態又は異なる実施形態を指すものではない。
【００２５】
ある要素又は特徴が含まれるか又はある特性を有しても「よい(may)」か、そのように「できる(can)」か、「できた(could)」か、又は「かもしれない(might)」と本明細書に記載される場合は、その特定の要素又は特徴が含まれ又はその特性を有する必要はない。
【００２６】
一般的な説明
図１は、本発明技術の幾つかの実施形態が利用される環境１００の一例を示す。図１に示すように、データプロデューサ１１０Ａ−１１０Ｎは、データを発生し、そのデータは、データ配布ネットワーク１２０を経てデータコンシューマ１３０Ａ−１３０Ｎへ配布される。種々の実施形態によれば、データ配布ネットワーク１２０は、特徴の組み合わせを通してスケーラブルなデータフローを達成する。データプロデューサ１１０Ａ−１１０Ｎにより発生されたデータは、構造化され、そして全てのフロー処理要素に、その構造の意識を与えることができる。この意識は、ランタイムに注入され、そしてより動的なリソースシェアでは、必要に応じて、ワークサイクルごとに注入することもできる。データプロデューサによって発生されたデータを系統的に構造化することにより、種々の実施形態は、次の特徴の１つ以上から効果を取り入れることができる。１）効率的なインプロセス及びオンディスク列圧縮；２）データ及びコントロールフローの分離；３）透明度、及び重要なビジネス構造をサーフェイシングすることによるフローの監視；４）契約、フィルタリング、フォーキング又は合流によりストリームを効率的に管理する能力；及び５）構造化データサービスを、ターゲットデータストアの上流の重要な発生サービスのようなフローへ植え込みする能力。
【００２７】
幾つかの実施形態において、データ配布ネットワーク１２０は、ワークサイクルごとに状態管理及び回復のために外部サービスへ全ての製品をプッシュするフロー処理要素を備えている。状態をセーブするサービスは、その目的のために特殊化される。このように、システムの全ての厳しい処理要素は、外部サービス状態を回復し、そしてサイクルからサイクルへ完全に動的なものとされる。処理のステートレスルールは、下流製品から、管理状態において特殊化する指定のステートフルサービス（処理なし）を通して進行を読み取ることである。同様に、フロー処理要素は、そこにプッシュされた入力を受け取るか、又は宣言された上流サービスからそれに要求するだけである。
【００２８】
設計の実施形態を可視化する１つの方法は、フロー処理要素をパイプのセグメントとして考えることであり、パイプの適合する上流及び下流セグメントに動的に取り付けることができる。パイプの接続は、以前の状態情報をアップロード又は回復する必要なくステートフル要素間でより多くの処理をスピンアップできるという点で非常に動的である。種々の実施形態では、他の全てのステートフルサービスを最終的に回復できるステートフルサービス要素は１つしかない。これは、ローデータアーカイブサービス１４０である。幾つかの実施形態では、全ての下流状態サービスのアーカイブ要件を緩和することができる。
【００２９】
図２は、この技術の１つ以上の実施形態によるデータ配布システム２００の動作段階を示す。図２に示すように、データ配布システム２００は、１つ以上のデータプロデューサ１１０Ａ−１１０Ｎからストリーミングデータを摂取することができる。以下に詳細に述べるように、データは、次いで、個別のデータパッケージへと束ねられ、これを圧縮することができる（例えば、列圧縮を使用して）。これらの個別のデータパッケージは、次いで、１つ以上のデータコンシューマへ配布される。実質的に同時に、個別のデータパッケージは、独特の識別子が与えられ、そしてアーカイブ化される（図２には示さず）。データコンシューマは、次いで、個別のデータパッケージからデータをアンパックし、そしてレポートを発生するか、さもなければ、データを使用する。
【００３０】
データ配布システム２００は、プラグ可能要素アーキテクチャーを有する。データ配布システムは、処理要素及びステートフルサービスを有する。幾つかの実施形態では、処理要素は、２チャンネルパイプセグメントを含み、一方のチャンネルは、データフロー用であり、そしてもう一方のチャンネルは、コントロールフロー用である。ステートフルサービスは、個別のデータ及びコントロールチャンネルも有するが、図２に示すように扇状に広がる多数の行先に対してデマルチプレクサとしても働く。要素は、言語及びプラットホーム独立である。要素間の契約は、メッセージング契約／公表を通して実施され、これは、記憶／フェッチ特性の狭配信ＡＰＩ及びスタートアップ／シャットダウンのプロセスコントロールＡＰＩを通る計装出力を含む。
【００３１】
外部要素は、動作の観点から非常に類似した振舞いをする。それら要素は、配布されたマスタークロックに整合された一貫した計装情報を公表し、システムを通して進行及び容量を理解できるようにする。計装は、データパッケージの独特の識別子（即ち、バンドルＩＤ）と整合させることができる。即ち、バンドルを消費し始めるとき又はバンドルの処理完了時に計装事象が生じる。計装のこの観点は、計装事象をマスタークロックでラインアップさせる。マスタークロック事象でのラインアップ計装は、ストリームクロック事象と整合された計装をコントロール事象として作用させることができる。
【００３２】
データ配布システム２００の要素は、基本的なトランスポートを越えて延び、データの配信終了に向けて任意のステップで使用される。幾つかの実施形態は、データを将来アクセスできるフォーマットへ整形するデータキュレーションプロセスを提供する。データを回復又は再生する必要がある場合には、アーカイブが、独特の識別子に基づいてデータの厳密な複写を探索して再送信する。例えば、一貫した計装で二重パイプステートレスプロセスモデルをたどる。このように、単一のツールセットでフローを通して常に容量及び監視を管理することができる。
【００３３】
データ配布システム２００は、事象を効率的に最大にすることができる。というのは、恒久性要件がアーカイブから本質的に下流ではないからである。恒久性メッセージは、パッケージング及びアーカイブ化のためにバンドルにすることが要求されるだけである。その点から、独特の識別子及びパッケージングに鑑み、全てのデータが繰り返し可能となる。非恒久性トピックを使用して全てのアクティビティをバンドラーからその下流へ公表し、インフラストラクチャーの負担が相当に減少される。
【００３４】
データ配布システム２００の要素構成を宣言的にすることにより、システムは、上述したように、フロー処理要素を動的にスピンアップすることができる。データ構造及びデータソースモジュールを宣言的にすることにより、システムは、それらソースにおける動作上の透過性、及びどんなデータがどこから入手できるかのパブリックカタログを構築する簡単な手段を提供する。宣言的契約は、データ配布システム２００を使用して部門間でシェアされるデータフローを正確に理解するのに使用される。全てのデータ及びコントロール信号がシステムを通してプッシュされ、従って、動的なセットアップ及びスケーリングと共にデータの公表者と契約者との間の宣言的契約及び切り離しを許す。
【００３５】
図３は、本発明技術の種々の実施形態によりデータを束ねるための１組の動作３００を示すフローチャートである。受信動作３１０は、１つ以上のデータプロデューサからストリーミングデータを受け取る。決定動作３２０は、バンドリングパラメータに基づいてストリーミングデータの異なる小さな断片を束ねるためにバンドリングパラメータ（例えば、バンドルのサイズ）を決定する。バンドリングパラメータは、どのようにデータを（例えば、コンテンツ、ソース、予想される使用、等に基づいて）データパッケージにグループ化し又は束ねるべきか（例えば、図５に示したバンドラーにより）ビジネスで決定できるようにするビジネスルールを含む。ある場合には、バンドラーは、変換が行われる前にローメッセージ又はデータをアグリゲートする。バンドルを順次に順序付けるため単純に増加するバンドルＩＤ又は他の独特の識別子がバンドルに指定される。この独特のＩＤは、バンドルストリームデータの保証された順序をレバレッジする必要のあるバージョンの報告、検証、及び他の問合せ活動においてレバレッジされるパブリックＩＤである。
【００３６】
記憶動作３３０は、束ねられたデータパッケージをアーカイブに記憶する。公表動作３４０は、コントロールチャンネルにバンドルに関連したメタデータを公表する。幾つかの実施形態において、メタデータは、バンドルＩＤを含む。メタデータをコントロールチャンネルに公表するのに加えて、公表動作３５０は、メタデータを個別のストリームに公表する。コントロール情報は、非恒久性トピックに関して送出することができるが、データそれ自体と共にコントロールデータの同一コピーが入手できる。パッケージと共にコントロールデータを含むことの幾つかの効果は、次のことを含む。１）パッケージが全ての事象及びデータを含むときにアーカイブからシステムの厳密な振舞いを読み取って再生することができ；及び２）バンドルそれ自体に位置するインデックス情報を含むコントロール概要情報がファイルの高速スキャン（インデックスのみ）を許し、多くの場合にファイル全体を通してスキャンする必要性を排除する。
【００３７】
図４は、本発明技術の幾つかの実施形態によりデータストリームを処理する１組の動作４００を示すフローチャートである。これら動作の１つ以上は、提出サービス又はバンドラーのような種々のシステム要素によって実行することができる。図４に示したように、受信動作４１０は、１つ以上のデータプロデューサからストリーミングデータを受け取る。バンドリング動作４２０は、図３に示すように、ストリーミングデータをデータパッケージへと束ね、それらパッケージは、順序付け動作４３０により独特の識別子が指定される。配信動作４４０は、データパッケージを、指定された独特の識別子と共に、１つ以上のデータコンシューマへ配信する。
【００３８】
バンドリング動作４２０は、データ配布システムに入る情報の異なる小さな断片を、データ、データパッケージ又はバンドルの、論理的にクロックされる大きなブロックへとアグリゲートすることができる。バンドリング動作４２０により行われる大きなデータ流のアグリゲーションは、システムがデータ及びコントロールの分離をレバレッジするのを許す。バンドルのサイズを調整しそしてバンドルのメタデータに含まれる情報をコントロールすることにより、システムは、バンドルのメタデータ（コントロールデータとしても知られている）によりデータを管理するための何倍もの効率を生じさせることができる。種々の実施形態は、コントロールデータのコンテンツを選択して大きなデータフローに対する判断を調整することができる。
【００３９】
バンドリング動作４２０によるデータのアグリゲーション又は「チャンキング」は、ＩＯ性能を改善するための直接的で且つ簡単な利益も有する。幾つかの実施形態において、バンドリングは、独特のＩＤでバンドルの順序をシリアル化及び識別することに厳密に関連し、これは、データの信頼できる配布を形成する上で有用である。データフローは、シリアル化及び識別により与えられる一貫した順序なしに多数の位置（例えば、一次及びバックアップ）で確実に再現することはできない。
【００４０】
図５は、本発明の技術の１つ以上の実施形態によるデータ配布システム５００の１組の要素を示す。図５に示すように、データ配布システム５００は、バンドラー５１０、アーカイブ５２０、トランスフォーマー５３０、レポジトリサービス５４０、ローダー５５０、レポートストア５６０、及びストレージ５７０を備えている。
【００４１】
データフローの関連から、バンドラー５１０は、提出サービスとアーカイブサービス５２０との間に位置する。提出サービスは、図示されていないが、１つ以上のデータプロデューサからローストリーミングデータを受け取り、そしてローデータをバンドラー５１０へ供給する。バンドラー５１０は、特定のデータストリームに対してシリアルに順序付けされたバンドルを生成し、即ちメッセージフローの形式ごとに特定の１組の整合されたバンドラープロセスがある。これらの整合されたプロセスは、アグリゲートされたデータ表現を生成し、そしてそれをアーカイブサービスに送る。
【００４２】
バンドルが発生されて、単純に増加する順序で流されるとすれば、データフローの異なる部分の動的な加速を容易にするために異なる「バンドルストリーム」が生成され、ここで、ある選択基準に基づいて、あるバンドルが他のバンドルより迅速に流れるようにされる。メタデータの選択は、一連のバンドルを識別しそして別々に列挙するのに使用される。
【００４３】
例えば、多数のバンドルを次の基準により構造化することができる。Business Date, Type: ={Greeks | CreditGreeks | UnderlierAttributes}、及びRegion: = {GL|AS|EU|AM}。これは、business date(取引日)ごとにデータ配布システムを通して流れる１２バンドルのストリームを生じ；即ち、各バンドルストリームの独特の識別子は、プライオリティ決め、並びに途切れのない順序付けされた単調に増加する独特のＩＤを許すために個別のものでなければならない。
【００４４】
幾つかの実施形態では、バンドルのコンテンツは、データと一緒にバンドルへとパッケージングされるコントロールデータを含む。コントロール情報は、非恒久性トピックにも基づいて送られるが、その同じコピーをデータ自体と共に利用することができる。幾つかの効果として次のものを含む。１）バンドルは全ての事象及びデータを含むので、システムの厳密な振舞いをアーカイブから読み取って再生することができ、そして２）バンドルそれ自体に位置するインデックス情報を含むコントロール概要情報は、ファイル（インデックスのみ）の高速スキャンを許し、それにより、全ファイルを通してスキャンする必要性を低減し又は排除する。
【００４５】
バンドルは、変換が行われる前のローメッセージのアグリゲートである。バンドルは、単調に増加するバンドルＩＤである独特の識別子を経てシリアル化される。この独特の識別子は、バンドルストリームデータの保証された順序をレバレッジする必要のあるバージョンの報告、検証、及び他の問合せ活動においてレバレッジされるパブリックＩＤである。バンドルメッセージは、次の５つの区分、即ち、１）概要区分、２）品質区分、３）インデックス区分、４）チェック和区分、及び／又は５）データ区分、のいずれかを含む。
【００４６】
バンドルの概要セグメントは、重要情報を伴うバンドルと、データの全ての形式、例えば、束ねられるデータストリーム、バンドルのシリーズ番号、表データの行カウント、及びデータセグメントサイズにわたって一般的に関心のあるバンドルのトップレベル属性も、独特に識別するのに使用される。幾つかの実施形態において、概要セグメントは、全ての他の区分とは独立して、高速コントロール信号として送られる。
【００４７】
品質区分は、ポピュレートすべきソーシングプロセスの裁量でバンドルメッセージに軽い重みで予約される任意のセグメントである。例えば、価格プロセスは、健全なチェック欠陥のような、それが発生するデータの性質に関する指示子を供給する。健全なチェック欠陥をデータとは独立して消費のための特殊なエリアに入れることにより、ソーシングが高速度情報を、この品質セグメントの契約者に供給する。インフラチームは、定刻前の不良データを、それがバンドラーにヒットする前に知るため、そのような信号に契約してもよい。又、ＭＲアナリストも、健全なチェック欠陥の早期警報を得るために、ある信号に契約する。これらメッセージセグメントのサイズは、物理的に制限され、そしてその有用性は、データが与えられるときにデータをどれほど充分に編成するかに依存する。
【００４８】
インデックスセグメントとは、追跡及び問題解決に有用な凝縮形態でバンドルのコンテンツを指示する任意のバンドルセグメントである。品質セグメントとは異なり、インデックスセグメントは、表データに適用されるビジネス整合ポリシーベースの重要なルールを使用してバンドラーにより構築される。インデックスセグメントは、データそれ自体のサイズの一部分であるが、概要及び品質セグメントより若干大きいことが予想される。
【００４９】
チェック和メッセージセグメントは、データセグメントを含むメッセージに含まれる。チェック和メッセージセグメントを含ませることにより、データ負荷は、全ての配布位置において独立して検証可能となる。ある実施形態では、チェック和メッセージセグメントは、データ区分における表データの全ての列のアグリゲーション／和／ハッシュを表わすチェック和を含む。
【００５０】
幾つかの実施形態において、バンドルのデータセグメントは、メッセージ又はデータの集合体の表再公式化である。データは、中性の形態で保持される。データのフォーマットは、到来するメッセージフォーマットとの一貫性を保つことと、多数の他のフォーマットへ変換するために最適化されること、との間でバランスをとることにより選択される。典型的に、データセグメントは、バンドルとして許される最大サイズまでの任意のサイズである。
【００５１】
幾つかの実施形態において、アーカイブサービス５２０は、全てのセグメントを含む完全なバンドルを記憶する。完全なバンドルを記憶することにより、再生を使用する新たなシステムのフォールトトレランス及びバックポピュレーションを与えることができる。更に、完全なバンドルを記憶することは、コントロールメッセージが恒久性である必要がないので、軽い重みのメッセージングに対して最適な有益さ及び影響も有し、即ち全てのメッセージセグメントが、利用可能なアーカイブストアに保持される場合には、より効率的な配布の利点を取り入れるためにアーカイブポーリングだけで非恒久性メッセージング戦略を支援することができる。
【００５２】
概要セグメントは、バンドルを独特に識別するための重要情報を与え、そして同じバンドルに関して異なるメッセージを関連付けできるようにする。概要区分の非重要要素は、監視ツールにおいてセグメントを見て視覚で識別するのに有用な幾つかの一般的特性を与える（例えば、データカウント、サイズ、データフロー、及びバンドル番号）。データセグメントを有するメッセージは、チェック和セグメントも含む。チェック和セグメントをデータセグメント共に含ませることにより、配布される独立した位置は、変換後にデータの品質を独立して検証し、そして他の位置を相互参照する必要なくアップロードする。この独立性は、大量のデータをロータッチで確実に配布する重要な実現要素である。
【００５３】
これらの制約を使用して、何が必要かに基づいて他のメッセージ組み合わせを生成することができる。簡単な戦略は、データ以外の全てのものをコントロールメッセージとして含む軽い重みのメッセージを生成することである。セグメントが一貫して軽い重みである場合には、この戦略で特定のデータストリームに対して２つのバンドル形式のみが生じ、それは、概要、品質、インデックス、及びチェック和情報を含むコントロールメッセージと、それらの全てにデータをプラスした完全データメッセージとである。バンドラーは、動的メッセージカーゴに対して構成されたルールによる２つのメッセージ形式を公表することができる。
【００５４】
例えば、概要区分は、次の構造を含む。各値の名前は、「：＝」の前に示され、そして値は、排他的アイテム、データの形式、又は別の構造を列挙したリストである。
2015519639.tif 000003
【００５５】
更に、メッセージパーシングに基づいて選択されるか又はその前に検査される必要のある値がメッセージプロパティ区分に含まれる（ストリング及び番号のみに制限される）。例えば、フィルタリングを許すために、バンドルストリームのストリンジファイされた(stringified)バージョンがストリングメッセージプロパティとして追加される。日付、タイムスタンプ、及び解釈のためにパースされねばならないデータは、メッセージのペイロードのみに含まれねばならない（ＪＳＯＮテキスト）。
【００５６】
データは、バンドラー５１０により束ねられて、独特な識別子でタグ付けされ、そしてアーカイブ５２０に入れられる。トランスフォーマー５３０は、アーカイブ５２０からデータを引き出して、コンシューマーに馴染み易い負荷データに変換する。ターゲットレポートストア５６０と整合されたローダー５５０は、データが契約に基づきロードされるように保証する（シリアル及び原子的バンドル）。
【００５７】
アーカイブ５２０及びレポジトリサービス５４０は、状態ストレージを管理する。アーカイブサービスは、システムを通る全てのフローをリピートする。配布データの一貫性を達成するには、データに影響する事象を順序付けるための解決策を要求する。データ配布システム５００は、事象をデータとして配布し、そして単調に増加する独特の識別子を経て全てのコンシューマーへの配信の順序及び完全性を達成することで、一貫性を達成する。データベース管理に馴染みのある用語でこれを入れるため、データ配布システム５００は、トランザクションログ要素を効率的で且つ一貫した仕方で全てのデータベース及び全ての形式のデータストアに配信するのを管理する。トランザクションログ要素ストリームは、フローである。これは、技術者がデータベースについて通常考える方法の逆である。トランザクションログは、通常、多数のデータベースの先頭ではなく、１つのデータベースのデータを支援すると考えられる。
【００５８】
悪い環境の下で一貫性を保証するために、トランザクションデータのこのストリームが持続されそして再生可能とされる。この持続される再生可能なストリームは、パイプライン状態の中心である。これは、回復可能性について入念に管理する必要のある唯一の状態である。このストリームの下流の全ての要素及び状態は、ストリームがどんな割合で流れても回復可能である。
【００５９】
システムにおいてトランザクションログ及びデータベースの位置を逆転すると、そのようなパラダイムに構築されるアプリケーションに複雑さを付加する。この形式の配信のトップに構築されるアプリケーションは、異なる物理的な位置間でデータを比較する必要がある場合にはバージョンメタデータを忘れないことが必要である。データ配布システムの１つの目標は、配布されるバージョニングスキームに対して考えられる最も簡単な基礎を確立することにより、このバージョニングパラダイムをできるだけ採用可能で且つ簡単にすることである。このバージョニングスキームの中心には、正確な配布を目的とする新規なクロッキング方法がある。
【００６０】
本発明の技術の種々の実施形態は、単調なコンシューマー整合クロック及びストリームを使用する。クロック及び順序付け装置の一例は、途切れなく増加する一連の整数である。データ配布システム５００は、各指定のデータストリームに対して、データを順序付ける一連の連続する整数チック（即ち、マスタークロック）が１つ及び１つしかないことを保証する。
【００６１】
マスタークロックの最も重要な観点は、コンシューマーに対する整合(alignment)である。クロックのチックがコンシューマーのアップロードと整合される。各チックは、データ又は「バンドル」のロード可能なセットを表わす。クライアントがシステムにおける一貫性の利益を得るために、クライアントは、トランザクションにおいてクロックにより与えられる順序で各バンドルをロードしなければならない。換言すれば、各バンドルは、原子的アップロードクライアントである。これは、必要なバンドルをフェッチするための決定論的ネーミングスキーム及び配信されるべきバンドルの決定論的シリーズ（単調に増加する順序）をもつことにより、クライアントにとって容易なものとされる。
【００６２】
データストリームは、独立したデータフローを確立するためにデータシリーズから構成される。これが技術的に意味するものは、ストリームがそれ自身の独立した一連のクロックチックを有することである。これは、ストリームが他のストリームとは異なるレートで実行されるのを許す。ストリームを宣言するためにデータセットにおける寸法のセットが呼び出される。典型的に、それらは、異なるフロープライオリティと整合される。例えば、クライアント価格評価より成るデータセットが、取引日付、及び選択取引日付の取引価格によりストリームに分割された場合には、取引をより高いプライオリティで他の取引へ流すことが許される。
【００６３】
本発明の技術の幾つかの実施形態は、データを消費しそして書き留めた直後に参照不変アーカイブを生成する契約を許すことで、ストリーミングデータを参照する能力を許す。配布のために生成されるバンドルは、ストリーミングパッケージ（バンドル）アイデンティティに依存する良好に定義された参照戦略を通して永久に識別可能である。この解決策は、ビジネス整合アーカイブルールとで、ストリーミング及びアーカイブデータがディスクに書き込まれるや否や、それらデータをほとんど橋絡する。データ又はデータに関連したレポートに関する各信号は、パッケージに対する永久的な参照をレバレッジすることができる。データの血統には、ストリーミング環境において非常に直近の（ほぼリアルタイムの）サポートが与えられる。
【００６４】
多数のターゲットへの配布配信は、悪夢のような和解要求を導入する。データ配布システム５００の種々の実施形態は、チェック和によりフローに和解を含ませる。チェック和は、各データバンドルと共にコントロールメッセージに含まれる。これらのチェック和は、データが、ターゲットストアへの配信後に、予想通りになることを保証するために使用される。
【００６５】
データ配布システム５００は、列チェック和戦略を使用することができる。この戦略は、行チェック和より３倍も有効である。第１に、列チェック和は、列圧縮最適化とインラインである。それらは、行チェック和と比較したときに非常に効率的である。第２に、列チェック和は、異なるデータストアにわたって機能し、そして異なるフロート表現をもつプラットホームにわたってエラーを丸めるための寛容度が与えられる。第３に、列チェック和は、クライアントがデータの列のサブセットにしか契約しない場合に列契約とのより有効な組み合わせとなる。
【００６６】
図６は、本発明技術の種々の実施形態によりデータを配信するための１組の動作６００を示すフローチャートである。図６に示すように、データ配布システム内に延びる２つのスレッドがある。一方のスレッドは、プロデューサから受け取られるデータパケットをアーカイブ化しそしてデータ契約者へ自動的にプッシュするのを許す。第２のスレッドは、データ契約者が若干のデータの再生を要求するのを許す。
【００６７】
受信動作６１０は、１つ以上のデータプロデューサからストリーミングデータを受け取る。バンドリング動作６２０は、データを、順序付けされた独特の識別子が指定されるデータパッケージへ束ねる。データパッケージは、次いで、アーカイブ動作６３０を使用してアーカイブ化される。変換動作６４０は、データパッケージを、契約者により要求されたロード可能なフォーマットに変換する。データパッケージは、次いで、配信動作６５０を使用して望ましいフォーマットでデータコンシューマに配信される。
【００６８】
再生動作６６０が、データパッケージの幾つかを再生する要求を受け取ると、検索動作６７０がアーカイブから望ましいデータパッケージを検索する。これらのデータパッケージは、次いで、変換動作６４０を使用して、ロード可能な要求フォーマットへ変換される。データパッケージは、次いで、配信動作６５０を使用して望ましいフォーマットで配信される。
【００６９】
図７は、本発明技術の１つ以上の実施形態に使用できるデータ配布システムアーキテクチャー７００の概略図である。図７は、メッセージ及びコントロールデータをアーカイブからＤＣ２アーカイブへどのようにして厳密に複写するか示す。アーカイブのフォールトトレランスには２つの基本的な選択肢がある。それは、保証されたローカル複写及び区画横断(across partition)（例えば、ＤＣ２アーカイブへの）である。ＭＲＴの場合には、データフローが再現可能であり、従って、区画への１５分複写を伴うローカル保証がそれらのニーズを満足する。トランザクションアクティビティの場合には、区画を横断するデータ複写の高度な保証が是認される。
【００７０】
アーカイブサービスは、最大スループットを得るために層型(tiered)ストレージを使用する。この層型ストレージは、アーカイブが大量デマルチプレクサ（一回書き込み、多数回読み取り）としてのその役割を果たせるようにする。データは、アーカイブサービスに書き込まれ、その後、ほとんど即座に多数のコンシューマーにより読み取られる。本発明の技術の種々の実施形態は、アーカイブからのバンドルのコンシューマーのためのＡＰＩを含む。ＡＰＩは、非常に簡単であるが、どんなバンドルが求められるか宣言するためのバンドルのコンシューマー（ＡＰＩの発呼者で、主としてトランスフォーマー）の責任を明確にし、これは、コンシューマーが消費すべきバンドルの状態を知るという原理を実施する。これは、一方向依存性及び欠陥回復の責任を明確にするのを許す。例えば、ＡＰは、次のような単一の機能である。
MsgArchive::Get Bundles (データストリーム、スタート番号、最大バンドル、最大データサイズ、最大待ち時間)
【００７１】
又、データコンシューマは、アーカイブ書き込みの後に始動される事象を通してアーカイブと間接的に対話することもできる。小さなバンドルにおいて全てのデータを公表することで、原子的取り扱い及びリアルタイムロードを要求する小さなメッセージの頻度が増加するときに、この技術の種々の実施形態を効率的に且つ柔軟に機能させることができる。
【００７２】
トランスフォーマーは、データを部分的に変換するだけである（即ち、それらは、それらがアーカイブサービスから消費する構造化データの基本的スキーマ、アグリゲーション及びピボットを維持するという責任がある）。「トランスフォーメーション」とは、アップロードに馴染みのあるフォーマットへの変換である。各トランスフォーマーは、特定のデータストリームに対して連続する一連のバンドルを消費し、そしてそれを、「トランスフォームレポジトリサービス」へアップロードするロード可能なフォームへと変換する。多くの場合、トランスフォーマーの生成物が多数のローダープロセスにより消費される。
【００７３】
トランスフォーマーは、ステートレスであり、データストリームに対してインクリメントな進行をする。その結果、トランスフォーマーは、それらの出力から（トランスフォームレポジトリから）状態をピックアップし、従って、レポジトリーの出力を単に削除するか又は移動することにより非常メンテナンスが可能となり、即ち、トランスフォーマーは、それが書き込むレポジトリーにおいて最後のバッチの終わりから動作を継続する。消費は、動的なメッセージカーゴ構成に基づいてメッセージのプッシュ及びプルを容易にする「心臓鼓動での契約(Subscription With Heartbeat)」パターンをたどる。トランスフォーマーは、バンドルストリームごとに動作し、各ストリームが分離して発生されて、あるバンドルストリームが別のバンドルストリームを妨げるのを防止できるようにする。種々の実施形態によれば、トランスフォーマーは、データのプロデューサ／プロバイダーにより所有され、そして外部コンシューマーがバンドルメッセージを直接消費しないよう保証するためのローデータバンドルの唯一のコンシューマーである。むしろ、トランスフォーマーは、宣言された契約に従うトランスフォーメーションの生成物を消費することができる。
【００７４】
このサービスは、バンドルのためのアーカイブサービスに非常に類似しているが、トランスフォーマーの変換生成物を記憶する。変換されたデータパッケージは、バンドルより著しく大きくアップロードパッケージにおいて多数のバンドルで構成される。
【００７５】
ローダーは、最適化されたパッケージをトランスフォームレポジトリサービスから指定のターゲットストアへアップロードする。ローダーの構成は、ランタイムに与えられ、そしてトランスフォームレポジトリサービス、ターゲットストア及びデータスキーマ情報を含む。トランスフォーマー／アーカイブサービス関係と非常に良く似たこととして、ローダーは、トランスフォームレポジトリコントロール信号と契約し、そしてトランスフォームレポジトリサービスから必要なものをピックアップする。又、トランスフォーマーと同様に、ローダーは、受け取ったバンドルがリピートされないよう保証するためにターゲットステートフルストアにおける状態をレバレッジする。この責任は、トランスフォーマーＡＰＩが、フェッチすべきバッチのスタートバンドルＩＤを与えるようにローダーに要求することにより、明確にされる。ターゲットストア内のロード状態及びどのように処理されたかの見識があるのはローダーだけであり、従って、ローダーがデータの要求を主導することは道理にかなっている。これは、ローダーが純粋にポーリングすることを意味しないことに注意されたい。トランスフォーマーと同様に、ローダーは、「心臓鼓動での契約」解決策をレバレッジし、最良のプッシュ効率を与えるデータを、付加的な心臓鼓動監視信頼性で与えるデータを収集する。
【００７６】
ローダーは、各データストリームに対してターゲットストアへ付加的なロードコントロールストリームを生成する。この第２のストリームは、ストア特有のロードテーブル履歴及びチェック和の和解結果である。これは、特定データターゲットのロードレコード及びチャック和結果を表わす。データストリームは、このロードレコードストリームとは独立であることに注意されたい。
【００７７】
この技術の実施形態により生成される種々のストリームは、種々のレポートストアへの大量ロードを容易にするように設計することができる。このため、及びその場での更新が多数の形式のストアのための選択肢ではないために、データストリームは、多くの場合、不変事象のテーブルとして最良に捕獲される。この解決策を取るとき、データのテーブルは、全てのそのようなレポートストアにわたって論理的に同一になる。これは、タイムスタンプのようなインスタンス特有の概念を含まない。インスタンス特有の全ての情報は、「ロードコントロールテーブル」に捕獲される。タイムスタンプを除去することの１つの効果は、ロードコントロールテーブルはインスタンス特有であるが、システムにわたって論理的に同一であるデータテーブルの綺麗な分離に生じる簡単さである。独特の識別子を準ユニバーサルクロックインクリメントとして使用することができ、従って、相対的なバージョンを理解するのにデータテーブルにタイムスタンプが必要でなくなる。ロードコントロールテーブルは、インスタンス特有の時間を特定のデータストアのストリーム時間へマップさせる。
【００７８】
ある実施形態は、任意の長さ又はサイズの配布トランザクションを、そのトランザクションに対して物理的ではなく論理的な解決策を通して、多数の異なるデータストリームにわたってサポートする。トランザクションの完成は、行き先において実施され、時間切れを構成することができる。トランザクションは、時間切れのための付加的なサービスを伴うある形式の論理的データセットである。配布型トランザクションは、１つ以上の実施形態において、特殊なトランザクション条件をデータから個別のチャンネルを経て流し、そして意図されたトランザクションの全てのデータにトランザクションＩＤを指定することにより達成される。トランザクション信号は、トランザクションＩＤタグ及び時間切れスレッシュホールドを含む。“ＲｏｗＣｏｕｎｔ”のようなルール及び“２５５５”のような尺度に一貫した完成基準は、この初期の信号が分かればそれと一緒に送られるか、又はそれが分からなければ、その後の時点で送られる。このアイデンティティと共に提出される全てのデータは、トランザクションの一部分と考えられる。論理的トランザクションの考え方は、全てのトランザクション情報を、それが保留中及び非コミットのトランザクションデータでも、各ターゲットデータストアへ流すことである。トランスポートプロセスのマシンは、ストリームとストリームとの間のトランザクションへ情報を完全に不可知論的にプッシュする。
【００７９】
トランザクションのデータエレメントには独特のトランザクションＩＤが指定される。バンドラー、トランスフォーマー及びローダーのような要素の場合、このＩＤは、特殊な目的をもたないデータの別の次元に過ぎない。トランザクションＩＤは、１つ以上のストリームにわたりデータエレメントに、制約なく、指定される。複雑な緻密なトランザクションの精巧なトランザクション取り扱いについては、トランザクションＩＤに指定されるエレメント間のギャップも許され、従って、データエレメントにわたるトランザクションを特定することができる。
【００８０】
トランザクションの完了基準は、個別のトランザクションストリームを経て全てのエンドデータストアへ配布される。完了基準は、トランザクションにより影響される各ストリーム（ランディングテーブル）において予想される行の数と同程度に簡単であるか、又はルール主導の構成で許されるものと同程度の複雑さである。完成基準は、ある実施形態では、時間切れインターバルを含む。バンドラー、アーカイブ、トランスフォーマー、及びローダーの観点から、トランザクションストリームは、データ配布システム内の他のものと同様のストリームである。他の高速軽量ストリーム（ユーザ編集ストリームのような）とは異なる特殊な取り扱いは必要ない。完了基準は、参照するデータの前又は後の時間に到着する。
【００８１】
その結果として、配布型トランザクションを優雅にサポートするために、完了基準のないトランザクションＩＤは、保留中のトランザクションと考えられ、そしてそれらに関連した全てのデータは、未完成と考えられる。ＩＯＷ、即ち非ゼロトランザクションＩＤの存在は、全て、データをトランザクションの一部分とマークする必要があるものであり、そしてサポートトランザクション情報の不存在は、完成基準をまだ満足しないトランザクションとして厳密に解釈される。
【００８２】
特殊な「トランザクション完了プロセス」（又はＴＣＰ）は、指定の権威あるレポートインスタンスに対して実行され、それが取り扱うトランザクションストリームに影響する全てのローダー事象に契約する。このプロセスは、到着したデータ及び完了基準に基づいてトランザクションが完了したかどうか決定するためのロジックを全てカプセル化する。この複雑なロジックを１つのプロセスに閉じ込める実施及び構成の効果と、この複雑さをレポート／問合せＡＰＩから締め出す効果とに注意されたい。ＴＣＰは、全ての保留トランザクションのトランザクションＩＤによりキーされる簡単なキャッシュを保持する。データが到着するにつれて、「エンドデータストア」におけるトランザクション完了状態を更新しそして完了したトランザクションをキャッシュから除去する。他の健全なシステム要素と同様に、ＴＣＰは、スタートアップ／回復のためにエンドデータストアの状態だけをレバレッジすることができる。完了状態は、トランザクションストリームへの公表により更新される。これは、配布される全てのストアに一貫したトランザクション状態を与える。
【００８３】
完了状態事象は、トランザクションＩＤと、トランザクション完了基準を満足するデータの最大バンドルＩＤとを含む。データストリーム当たり１つの行エントリーをもつ正規化テーブルがトランザクション状態に対して使用される場合には（一般的な、融通性のある、そしておそらく最良の解決策）、データが予想されるテーブルのみについて完了基準を特定することができ、そして完了状態バンドルＩＤは、トランザクションを完了したデータの最大バンドルＩＤとなる。ストリームを処理する他のパイプライン要素と同様に、ＴＣＰは、（監視、サポート及び拡張の一貫性のために）全てのトランザクションストリームバンドルに対する開始及び終了取り扱いを公表する。しかしながら、ＴＣＰは、他のデータストリームからの信号の受信を公表する必要はない。というのは、それらのストリームにおいて書き込み又はコミットを取り扱うのではないからである。ＴＣＰは、所与の時間限界を越えるトランザクションの状態を「時間切れ(Timed Out)」とマークすることにより（及び保留中トランザクションのキャッシュから時間切れしたトランザクションを除去することにもより）時間切れを取り扱う。
【００８４】
レポート問合せは、バンドルＩＤが「最低保留中ＴｒａｎバンドルＩＤ」より小さいときに、問合せデータに対して「トランザクションストリーム」の完了基準をレバレッジする。トランザクションの最も簡単な解釈は、「トランザクション状態」が「時間切れ」に等しくない保留中トランザクションの開始以上であるデータバンドルを無視し、それにより、時間切れしたトランザクションを無視することである。
【００８５】
より複雑なトランザクション取り扱いの場合に、ＴＣＰは、保留中及び進行中トランザクションのキャッシュを、特定の重要なスペースにおける重畳（次元の組み合わせ）についてチェックし、そして他の保留中トランザクションの重要なスペースと衝突するその後のトランザクションについてトランザクション失敗を公表し／書き込みするように改善される。
【００８６】
便利なことに、緻密なトランザクションのためにＴＣＰへつぎ込まれる複雑さの増加で問合せの複雑さを減少することができる。複雑な緻密なトランザクションの問合せは、最低の保留中ＴｒａｎバンドルＩＤからの選択を必要とせず、即ちそれらは、トランザクションが首尾良い完了状態を有するところだけを選択する。トランザクション完了取り扱いを単一のプロセスへと設計することにより、ＴＣＰを開始するときにストリームのセットに対する異なる処理戦略をコンフィギュレーションルールとして構成することが容易になる。トランザクション処理の精巧さは、他のコアシステム要素を複雑にすることなく成長する。
【００８７】
トランザクション指定は、ハンドルに対して直交し、そしてそれをデータにわたってどのように適用するかに関して完全に融通性があるので、トランザクション実施は、バンドル依存解決策の場合より精巧さをより成長させる。衝突を構成するもののビジネス特有の取り扱いは、ＴＣＰにカプセル化され、その結果、問合せロジックは、緻密さの低いブロックベースの選択の場合より非常に簡単になる。
【００８８】
システム内のプロセスは、その基本的トランスポート責任を純粋に維持するので、性能の異常及び問題が容易に分離されそして理解される。テーブルロックや、フローにおける他の形式の相互作用又は完了待機によって負荷バランス及び最適化が複雑になることはない。全てのトランザクション情報がエンドデータストアへ公表されるので、それがレポート可能となる。又、過剰な数の衝突トランザクション又は時間切れを試験することが簡単になる。
【００８９】
この技術の種々の実施形態は、主要な要素を、ビジネストランザクション要求とは独立したトランスポートインフラストラクチャーとして純粋に維持する。その結果、これらの実施形態は、保留中トランザクションアクティビティ又は他の状態を見張るためにシステムの根本を「覗き込む」ことが必要なプロセスの将来の見込みを減少することができる。むしろ、アプリケーションアクティビティは、プロセス及びツールをサポートするように良好に設計されたエンドデータストアをレバレッジすることができる。
【００９０】
論理的トランザクションは、楽観的ロック作用を経て通常の非トランザクションフローに関連して機能する。トランザクションは、フローではなく、トランザクションと衝突する任意のフローがトランザクションを失敗させるという点で、データフローに対して微弱（即ち、楽観的）である。トランザクション中に到着する全てのデータを無効化する、トランザクションの一部分でないロックトランザクションを使用して、論理的フロー欠陥を生成することにより、トランザクションを強力なものにする（即ちロックする）ことができる。しかしながら、保証された最終的に一貫した配布の精神に対し、データ配布システムにおいてフローをバックアップすることが（物理的ではなく、論理的無効化を通して）考えられる。そのような特徴は、いずれ必要となる場合には、非常に入念に使用しなければならない。
【００９１】
論理的トランザクションは、ストレージ容量が成長しそして何倍にも成長を続けるが、ＩＯ能力がその成長に遅れる場合にはハードウェアのトレンドの効果を取り入れる。ここに提案する全てのトランザクションを捕獲し及び記憶することは、安価であり、スペースの浪費は、そんなに問題にならない。上述したように、失敗したトランザクション情報を時々入手することは、システムを理解し調整する上で優れている。
【００９２】
フローを監視し又はデータを交換するためのスキーマと、静的データをレポートするためのスキーマとの間には著しい相違がある。幾つかの実施形態では、トランザクションに載せられた配布データを、履歴的問合せに良く適した綺麗な形態へ変換するためのキュレーションを使用することができる。
【００９３】
幾つかの実施形態は、動的メッセージカーゴを使用して、可変サイズのメッセージに対するメッセージフローを動的に最適化することができる。全てのメッセージバンドルは、コントロール、インデックス、品質及びデータセグメントを含む完全な形態で、アーカイブに依然記憶することができる。大きなメッセージ（バンドルにおいて「大きな」スレッシュホールドを構成できる）の場合には、データ区分を除く全部がＥＭＳバスに公表されて、バンドルの首尾良いアーカイブ化をシグナリングする。次いで、トランスフォーマーは、アーカイブからデータバンドルを要求するようにリーチバックする。しかしながら、小さなメッセージの大きなカウントの場合に、データ区分を含む全メッセージを公表し、コンシューマーが戻ってデータを要求する必要性を排除することができる。
【００９４】
動的なメッセージを消費するトランスフォーマーは、次いで、それらに送られるデータコンテンツをリスペクトするために契約する。純粋なコントロールメッセージに対して、それらは、リーチバックして、アーカイブから大きなデータを掴み取る。小さなメッセージの場合には、それらは、単に前進し、メッセージのデータを消費し、余計なトリップを見合わせる（そして小さなデータセットに対してアーカイブサーバーに要求がどっと押し寄せないようにする）。この動的な戦略は、異なるメッセージフローを、編集、ブレッシング及び可変メッセージコンテンツで強化するので、非常に重要となる。プッシュに適したフローがプッシュを行う。ファイル記憶及びフェッチに適した非常に大きなデータセットをもつフローは、種々のサーバープロセスに対して調整なしにそれを自動的に行う。システムは、バンドルサイズ、メッセージスレッシュホールド及び圧縮戦略に対する調整により高度に同調可能となる。
【００９５】
パケットサイズの同調は、インフラストラクチャーを管理する動作チームに残すことができる。インフラストラクチャーは、頻繁に変更することが予想され、環境ごとに異なるものとなる。層型ストレージの解決策は、進化し、そしてトランスポートのための最適なパッケージングは、ほぼハードウェアがアップグレードされるたびに変更される。このため、バンドルには、時間スレッシュホールドによるものと、サイズスレッシュホールドによるものと、論理的行カウントスレッシュホールドによるものとの、３スレッシュホールド構成が与えられる。
【００９６】
「心臓鼓動での契約」は、時々ポーリングする間に非恒久性メッセージに契約する複合解決策である。心臓鼓動（ポール）は、プロデューサに対する恒久性記憶及び転送責任を緩和し、そしてコントロールの恒久性公表と非恒久性公表との間を選択する能力をフロー設計者に与える。しかしながら、心臓鼓動が回復ロジックと結合されたときには心臓鼓動の利益が単純な監視チェックを越えたものとなり、その複合は、非常に簡単で且つ頑健な回復実施を与える。
【００９７】
一例として、トランスフォーマーがバンドルを次のように消費することを考える。トランスフォーマーは、処理がどの程度進んだか、換言すれば、どんなバンドルを次に処理してレポジトリーに記憶するか変換レポジトリーに尋ねることにより、開始する。次いで、次に処理すべきｎ個のバンドル（適度な数字と思えるものは何でも）についてアーカイブサービスにコールする。アーカイブサービスは、バンドルを返送する。バッチ処理後に、トランスフォーマーは、望ましい数のバンドルが次のバッチとして準備できたことを指示する信号がアーカイブサービスから到来するのを、ある時間、待機する。
【００９８】
バンドルの準備ができた場合には、トランスフォーマーは、次のステップを要求し、ステップ１を繰り返す。バンドルが準備されず、到来するアクティビティがない場合には、トランスフォーマーは、いずれにせよ前進してハンドルを要求するまで、構成された時間インターバル中、待機となる。信号は、恒久性でなく、従って、信号が到着しない僅かな機会があるが、トランスフォーマーは、前進して、確実であることを尋ねねばならないことを想起されたい。依然バンドルがない場合には、時間減衰が、次の心臓鼓動チェックの待機にある量を付加する。心臓鼓動は、減速を保つ。バンドルが最終的に再び入手できるときには、それらがフェッチされ、コントロールメッセージの不存在においてより頻繁なポーリングに対して心拍数が再び増加される。
【００９９】
データターゲットは、データ配布システムが一貫性を保証するのを許すためにある程度の責任を負う。それらは、データ配布システムが生成されるデータの一貫性を管理すべき場合にはデータ配布システムへ読み取り可能なデータを返送しなければならない。しかしながら、これは、通常、ターゲット間の和解のための低減されたニーズから得られるものに対して僅かなコストである。
【０１００】
異なるターゲットデータストアにわたって一貫したデータを得るためにデータバージョンが使用される。データ配布システムのクライアントに対して、バージョン戦略は、慣習的なＡＣＩＤ解決策から、データの各要求がデータだけではなくストリームクロック情報も返送する解決策へのシフトを要求する。異なる行先にわたって一貫したものにする必要のある問合せは、同じ結果を得るか、又はデータがまだ入手できない場合に失敗／警告を得るために、ストリームクロック時間（バンドルＩＤ）を与えることが必要になる。しかしながら、データ配布システムの契約は、データが最終的に一貫したものになることである。
【０１０１】
データの更新は、本質的に、同じデータの置き換えであり、「同じ」は、アイデンティティ戦略により決定される。アイデンティティ戦略は、基本的に、ランク付け／順序付け及び選択するための重要な属性の選択である。同じアイデンティティのストリームにおいて到着するその後のデータが先のデータに置き換わる。しかしながら、データは、常に、コントロールされ又は置き換えられ或いはアイデンティティにより無効化されるものではない。ある場合には、アイデンティティ以外の属性によりデータを管理することが有用である。以下に述べる論理的データセットは、アイデンティティによるのではなく、他の属性、例えば、誰が又はどんな目的でデータを提出したかによってデータの集合体を管理する別の方法である。
【０１０２】
アイデンティティサービスは、埋め込まれた宣言構造を有するデータフローが非構造化フローに勝る顕著な効果をどのように得るかの別の例である。アイデンティティサービスは、選択された列のサブセットに対してフローに短い整数アイデンティティキーを発生し、そしてそれらのキーを使用してデータセットをエンリッチ化することができる。そのようなキーは、ターゲットストアにおいてレポート動作のための性能ブーストとして働く。これは、本質的に、しばしば分散ソーシングのための慣例である広い非正規化ストリームをモデリングするときに特に効果的である。現在、毎日発生されるキーセットを使用することが計画されている。というのは、それは、ブーストが必要とされる毎日のフロー内のことに過ぎないからである。履歴キー発生は、フロー内で行う必要がない。
【０１０３】
ロードコントロールテーブルは、特定のシリーズのためのデータがチェック和に対して一貫したものであることを保証する方法である。チェックアウトされた和解データのみを選択するという絶対的保証を望むクライアントは、ロードコントロールテーブルを使用して、彼等が安全に選択できる最高の透かしを決定する必要がある。例えば、ＢｕｎｄｌｅＩＤ＜（Ｓｅｌｅｃｔ  ＭＩＮ（InvalidBundleStatus）ｆｒｏｍ  ＤａｔａｓｅｔＣｏｎｔｒｏｌ）であるデータセットからの選択・・・ここで、InvalidBundleStatusは、まだ首尾良く有効にされていない最低バンドルＩＤを見つけるか、又は最大バンドルＩＤ＋１を返送することにより決定される。そのようなアルゴリズムは、全ての保留中の有効性確認を実行まで無効として取り扱う。
【０１０４】
これは、バンドルチェック状態に関して注意を払うクライアントにある程度の複雑さのオーバーヘッドを付加するが、個々のデータアイテムに対するバンドルサイズから得られるレバレッジ（典型的に１０００対１）は、著しい性能上のオーバーヘッドを意味しない。そのようなシステムの１つの効果は、チェック和欠陥の臨界をクライアントの管理下に置くことである。非常に大きなデータフローでは、クライアントが、チェック和欠陥を知りながらも、依然、データへのアクセスを希望する場合が良くある。クライアントは、データの非実体性に基づき、不良データが修復される間に後続データを使用することを良く判断する。
【０１０５】
論理的なデータセットは、トランザクションを生成するのに使用されるアイデアの拡張である。バンドルは、フローを調整するためのインフラストラクチャー動作により完全に所有される物理的パケットドメインであるから、任意の形式のアプリケーションデータセットを管理するために個別の論理的契約を導入しなければならない。論理的データセット定義を独特のアイデンティティと共に送出し、そしてその後に提出される全てのデータにそのアイデンティティをタグ付けすることにより、論理的データセットが生成される。その論理的データセット定義は、それが参照するデータストリーム（１つ又は複数）からの個別の構造と共に個別のストリームにおいて公表される。次いで、クライアントは、論理的セットストリームのプロパティを選択し、そしてそれを適用するデータを選出する。
【０１０６】
論理的データセットは、完全さの機能を容易にする上で助けとなる。トランザクションと同様に、論理的データストリームにおいて供給されそして関連データに対してタグ付けされる完全さの基準は、論理的セット内の全てのデータが特定のレポートストアにおいて入手できるかどうか指示することができる。
【０１０７】
トランザクションは、時間切れチェックの追加ファクタを伴う完全さ論理的データセットの一形式である。論理的セットは、ストリームとして表わされるので、規則的データストリームと同じバンドル及びバージョン特徴をもっている。これは、論理的セット情報がデータストリームのデータのように進化することを意味する。従って、一連の論理的事象がストリームにおいてキューアップされ、そしてシステムにわたってそれら全ての論理的事象を整合するところの論理的クロックがある。良好な戦略は、論理的セット事象を、デフォールトの一般的消費に含まれるもの又はそこから除外されるものとして見せられるようにすることである。論理的事象ストリームは、このように、全てのコンシューマーに対してデータの共通の観点を形成し、一方、コンシューマーは、それら自身のプレビューにある要素を含ませるか無視するか選択し、次いで、状態更新を論理的セットストリームにプッシュして、望ましい観点を公開にする。次いで、データ及び事象の公式の共通ビューを、データセット及び論理的データセットの両方に対するストリーム／最大バンドルＩＤペアとして通信する。これは、おそらく、複雑なストリーム事象のそのような選択を表現するための最も簡潔で且つ直感的な方法である。
【０１０８】
ストリーム及びバンドルＩＤの１組の承認されたペアの公表は、「ブレッシング(Blessing)」として知られている。ブレッシングは、特定のポイントに関するデータストリームが消費に適していると決定したストリーム当局により公表される。並列配信ストリームのブレッシングは、大きなデータセットの並列の入手性、及びそれらデータセットの使用における整合／一貫性を与える。
【０１０９】
ある実施形態内での編集は、論理的データセットの別の形態である。変更されるデータは、そのデータの以前のバージョンを、編集における他の全てのデータにそれを結合するための独特の編集アイデンティティと置き換えるために、単にストリームに追加される。このように、編集を含ませるか又は無視することができる。削除は、変更の特殊な形態である。削除は、特定の論理的セットの無効化として実施される。例えば、不良のソーシング実行は、そのソーシング実行に関連した論理的セットを無視することにより「削除」できる。特定の論理的セットを無効化することとは独立した個々のアイテムの削除は、削除されるべきものと同じアイデンティティをもつデータアイテムと、データテーブルにおいて真にセットされた論理的削除状態とを提出することにより実行される。
【０１１０】
フォールトトレランスは、複写されたメッセージアーカイブから二重のフローを通して達成される。全てのデータをアーカイブから再生できるとすれば、考慮すべき唯一のポイントは、アーカイブそれ自体のフォールトトレランスをどのように生成するかである。
【０１１１】
規範的コンピュータシステムの概要
本発明の技術の実施形態は、上述した種々のステップ及び動作を含む。種々のこれらステップ及び動作は、ハードウェア要素により遂行されてもよいし、又はマシンで実行可能なインストラクションで実施されてもよく、そのインストラクションは、そのインストラクションでプログラムされた汎用プロセッサ又は特殊目的プロセッサがそれらステップを遂行するようにさせるのに使用される。或いは又、それらステップは、ハードウェア、ソフトウェア、及び／又はファームウェアの組み合わせにより遂行されてもよい。従って、図８は、本発明技術の実施形態が利用されるコンピュータシステム８００の一例である。この例によれば、コンピュータシステムは、バス８１０と、少なくとも１つのプロセッサ８２０と、少なくとも１つの通信ポート８３０と、メインメモリ８４０と、取り外し可能なストレージ媒体８５０と、リードオンリメモリ８６０と、大量ストレージ８７０とを備えている。
【０１１２】
プロセッサ８２０は、これに限定されないが、Ｉｎｔｅｌ（登録商標）プロセッサ；ＡＭＤ（登録商標）プロセッサ；ＡＲＭベースのプロセッサ；又はＭｏｔｏｒｏｌａ（登録商標）ラインのプロセッサのような既知のプロセッサである。通信ポート８３０は、モデムベースのダイヤルアップ接続に使用するためのＲＳ−２３２ポート；１０／１００イーサネット（登録商標）ポート；又は銅又はファイバを使用するギガビットポート；のいずれかである。又、通信ポート８３０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、又はコンピュータシステム８００が接続される任意のネットワークに基づいて選択される。
【０１１３】
メインメモリ８４０は、ランダムアクセスメモリ（ＲＡＭ）、又はこの技術で共通に知られた他のダイナミックストレージ装置である。リードオンリメモリ８６０は、プロセッサ８２０のインストラクションのようなスタティック情報を記憶するプログラマブルリードオンリメモリ（ＰＲＯＭ）チップのような任意のスタティックストレージ装置である。
【０１１４】
大量ストレージ８７０は、情報及びインストラクションを記憶するのに使用される。例えば、ＳＣＳＩドライブのＡｄａｐｔｅｃ（登録商標）ファミリーのようなハードディスク、光学的ディスク、ＲＡＩＤのようなディスクのアレイ、ＲＡＩＤドライブのＡｄａｐｔｅｃファミリー、又は他の大量記憶ストレージを使用することができる。
【０１１５】
バス８１０は、プロセッサ８２０を他のメモリ、ストレージ、及び通信ブロックに通信結合する。バス８１０は、使用するストレージ装置に基づいてＰＣＩ／ＰＣＩ−Ｘ又はＳＣＳＩベースのシステムバスである。
【０１１６】
取り外し可能なストレージ媒体８５０は、任意の種類の外部ハードドライブ、フロッピー（登録商標）ドライブ、ＩＯＭＥＧＡ（登録商標）Ｚｉｐドライブ、コンパクトディスク−リードオンリメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−再書き込み可能（ＣＤ−ＲＷ）、及び／又はデジタルビデオディスク−リードオンリメモリ（ＤＶＤ−ＲＯＭ）である。
【０１１７】
上述した要素は、幾つかの形式の可能性を例示するものである。以上に述べた実施形態は、例示に過ぎないので、本発明の範囲を何ら限定するものではない。
【０１１８】
結論として、本発明の技術は、構造化データ配布のための新規なシステム、方法及び構成体を提供する。その技術の１つ以上の実施形態を詳細に説明したが、当業者であれば、本発明の精神から逸脱せずに、種々の代替、変更及び等効物が明らかとなろう。例えば、上述した実施形態は、特定の特徴を参照したが、それら特徴の異なる組み合わせを有する実施形態及びここに述べる全ての特徴を含まない実施形態も本発明の範囲に包含される。
【符号の説明】
【０１１９】
１１０Ａ、Ｂ、Ｎ：データプロデューサ
１２０：データ配布ネットワーク
１３０Ａ、Ｂ、Ｎ：データコンシューマ
１４０：アーカイブサービス
２００：データ配布システム
５００：データ配布システム
５１０：バンドラー
５２０：アーカイブ
５３０：トランスフォーマー
５４０：レポジトリサービス
５５０：ローダー
５６０：レポートストア
５７０：ストレージ
８００：コンピュータシステム
８１０：バス
８２０：プロセッサ
８３０：通信ポート
８４０：メインメモリ
８５０：取り外し可能なストレージ媒体
８６０：リードオンリメモリ
８７０：大量ストレージ
【図１】
2015519639.tif 000004
【図２】
2015519639.tif 000005
【図３】
2015519639.tif 000006
【図４】
2015519639.tif 000007
【図５】
2015519639.tif 000008
【図６】
2015519639.tif 000009
【図７】
2015519639.tif 000010
【図８】
2015519639.tif 000011
【国際調査報告】
2015519639.tif 000012
2015519639.tif 000013
2015519639.tif 000014