(57)【特許請求の範囲】
【請求項１】
シーケンス化プロセスに亘って複数のデータトランザクション要求を処理するコンピュータシステムであって、当該シーケンス化プロセスが複数の個々のプロセスを含み、当該複数の個々のプロセスのそれぞれが複数のリソースのうちの異なるひとつを処理することに対応し、当該複数のリソースのそれぞれが対応する識別子を有し、前記複数のリソースが互いにリンクされており、前記コンピュータシステムは、
複数のデータトランザクション要求を保持するよう構成されたデータストレージシステムであって、前記複数のデータトランザクション要求が少なくとも第１タイプまたは第２タイプのデータトランザクション要求を含み、前記複数のデータトランザクション要求であって前記第１タイプのものがそれぞれ、ｉ）総量と、ｉｉ）前記シーケンス化プロセス中に前記総量が前記複数のリソースに対して処理されるのに適格である場合のその複数のリソースの適格リストと、を含む、データストレージシステムと、
少なくともひとつのハードウエアプロセッサを含む処理システムと、を備え、
前記処理システムが、
前記複数の個々のプロセスが前記シーケンス化プロセス中に行われるべき順番を決定することと、
前記決定された順番で前記複数の個々のプロセスのそれぞれを行うことによって前記シーケンス化プロセスを行うことと、を行うよう構成され、
前記行われるシーケンス化プロセスの一部として行われる前記複数の個々のプロセスのそれぞれについて、前記個々のプロセスを行うことが、
ａ）前記個々のプロセスによって行われることが適格なデータトランザクション要求を取得することであって、前記取得されたデータトランザクション要求が、前記第１タイプを伴うデータトランザクション要求と、前記個々のプロセスに対応する前記リソースを含む適格リストと、を含む、取得することと、
ｂ）前記取得されたデータトランザクション要求の処理に基づいて、第１データおよび第２データを計算することであって、前記第１データは、前記個々のプロセスによって処理される前記第１タイプおよび前記第２タイプのデータトランザクション要求がマッチング可能な計算されたマッチング値である、計算することと、
ｃ）前記計算された第１データおよび第２データを格納することと、を含むコンピュータシステム。
【請求項２】
前記処理システムはさらに、新規データトランザクション要求の受信に応じて前記シーケンス化プロセスを行うよう構成される請求項１に記載のコンピュータシステム。
【請求項３】
前記シーケンス化プロセスは、前記第２タイプの新規データトランザクション要求に応じて行われない請求項２に記載のコンピュータシステム。
【請求項４】
前記処理システムはさらに、
新規トランザクション要求が受け付けられる期間をクローズすることと、
その期間の後、前記決定された順番でクロージングシーケンス化プロセスを行うことと、
前記クロージングシーケンス化プロセスの一部として、前記第１タイプのデータトランザクション要求を前記第２タイプのデータトランザクション要求にマッチングすることと、を行うよう構成される請求項２に記載のコンピュータシステム。
【請求項５】
前記シーケンス化プロセスが新規トランザクション要求の受信に応じて行われるとき、データトランザクション要求はマッチングされない請求項４に記載のコンピュータシステム。
【請求項６】
前記個々のプロセスを行うことがさらに、
ｄ）前記計算された第１データに基づいて、前記現在のリソースのデータトランザクション要求をマッチングすることと、
ｅ）前記マッチングに基づいて、後の個々のトランザクションプロセスに利用可能な前記複数のデータトランザクション要求を更新することと、を含む請求項１に記載のコンピュータシステム。
【請求項７】
前記処理システムはさらに
第１データトランザクション要求がゼロか１か要求であると判定することと、
前記第１データトランザクション要求が完全にはマッチングされないことに基づいて、満たされていない前記第１データトランザクション要求に基づいて前記シーケンス化プロセスを再実行することであって、前記満たされていない第１データトランザクション要求が前記シーケンス化プロセスの後の繰り返しにおいて使用されない、再実行することと、を行うよう構成される請求項１に記載のコンピュータシステム。
【請求項８】
ゼロか１か要求およびそのような要求の完全マッチングの判定は、新規トランザクション要求の受信に応じて行われるトランザクション処理中は行われない請求項７に記載のコンピュータシステム。
【請求項９】
前記第１データおよび前記第２データの各計算に応じて、前記計算された第１データおよび第２データを表示するグラフィカルユーザインタフェースを出力するよう構成されたディスプレイデバイスをさらに備える請求項７に記載のコンピュータシステム。
【請求項１０】
シーケンス化プロセスに亘って複数のデータトランザクション要求を処理する方法であって、当該方法はコンピュータシステムで実行され、当該シーケンス化プロセスが複数の個々のプロセスを含み、当該複数の個々のプロセスのそれぞれが複数のリソースのうちの異なるひとつに対応し、当該複数のリソースのそれぞれが対応する識別子を有し、前記方法は、
複数のデータトランザクション要求を保持することであって、前記複数のデータトランザクション要求が少なくとも第１タイプまたは第２タイプのデータトランザクション要求を含み、前記複数のデータトランザクション要求であって前記第１タイプのものがそれぞれ、ｉ）総量と、ｉｉ）前記シーケンス化プロセス中に前記総量が前記複数のリソースに対して処理されるのに適格である場合のその複数のリソースの適格リストと、を含む、保持することと、
前記複数の個々のプロセスが前記シーケンス化プロセス中に行われるべき順番を決定することと、
前記決定された順番で前記複数の個々のプロセスのそれぞれを行うことによって前記シーケンス化プロセスを行うことと、を含み、
前記シーケンス化プロセスの一部として行われる前記個々のプロセスのそれぞれが、
ａ）前記個々のプロセスによって処理されることが適格なデータトランザクション要求を取得することであって、前記取得されたデータトランザクション要求が、前記第１タイプを伴うデータトランザクション要求と、前記個々のプロセスに対応する前記リソースを含む適格リストと、を含む、取得することと、
ｂ）前記取得されたデータトランザクション要求に基づいて、第１データおよび第２データを計算することであって、前記第１データは、前記個々のプロセスによって処理される前記第１タイプおよび前記第２タイプのデータトランザクション要求がマッチング可能な計算されたマッチング値である、計算することと、
ｃ）前記計算された第１データおよび第２データを格納することと、を含むトランザクション処理を含む方法。
【請求項１１】
新規データトランザクション要求の受信に応じて前記シーケンス化プロセスを行うことをさらに含む請求項１０に記載の方法。
【請求項１２】
前記シーケンス化プロセスは、前記第１タイプの新規データトランザクション要求に応じて行われない請求項１１に記載の方法。
【請求項１３】
新規トランザクション要求が受け付けられる期間をクローズすることと、
その期間の後、前記決定された順番でクロージングシーケンス化プロセスを行うことと、
前記クロージングシーケンス化プロセスの一部として、前記第１タイプのデータトランザクション要求を前記第２タイプのデータトランザクション要求にマッチングすることと、をさらに含む請求項１１に記載の方法。
【請求項１４】
前記シーケンス化プロセスが新規トランザクション要求の受信に応じて行われるとき、データトランザクション要求はマッチングされない請求項１３に記載の方法。
【請求項１５】
コンピュータシステムで使用されるコンピュータ実行可能インストラクションを保持する非一時的コンピュータ可読ストレージ媒体であって、当該コンピュータシステムがシーケンス化プロセスに亘って複数のデータトランザクション要求を処理し、当該シーケンス化プロセスが複数の個々のプロセスを含み、当該複数の個々のプロセスのそれぞれが複数のリソースのうちの異なるひとつに対応し、当該複数のリソースのそれぞれが対応する識別子を有し、前記保持されるコンピュータ実行可能インストラクションが前記コンピュータシステムに、
複数のデータトランザクション要求を前記コンピュータシステムのストレージシステムに保持することであって、前記複数のデータトランザクション要求が少なくとも第１タイプまたは第２タイプのデータトランザクション要求を含み、前記複数のデータトランザクション要求であって前記第１タイプのものがそれぞれ、ｉ）総量と、ｉｉ）前記シーケンス化プロセス中に前記総量が前記複数のリソースに対して処理されるのに適格である場合のその複数のリソースの適格リストと、を含む、保持することと、
前記複数の個々のプロセスが前記シーケンス化プロセス中に行われるべき順番を決定することであって、前記個々のプロセスが第１プロセスを含む、決定することと、
前記決定された順番に基づいて前記シーケンス化プロセスを行うことと、
前記シーケンス化プロセスの一部として、前記シーケンス化トランザクションの第１プロセスを行うことであって、
ａ）前記第１プロセスによって行われることが適格なデータトランザクション要求を取得することであって、前記取得されたデータトランザクション要求が、前記第１タイプを伴うデータトランザクション要求と、前記第１プロセスに対応する前記リソースを含む適格リストと、を含む、取得することと、
ｂ）前記取得されたデータトランザクション要求に基づいて、第１データおよび第２データを計算することであって、前記第１データは、前記第１プロセスによって処理される前記第１タイプおよび前記第２タイプのデータトランザクション要求がマッチング可能であろう計算されたマッチング値であり、マッチング可能として示されるデータトランザクション要求が前記行われるシーケンス化プロセスの一部である前記複数の個々のプロセスのうちの後続のものについて適格なデータトランザクション要求として削除される、計算することと、
ｃ）前記計算された第１データおよび第２データを格納することと、
前記行われるシーケンス化プロセスの一部として、前記シーケンス化プロセスに含まれる前記個々のプロセスの残りについて少なくともａ）−ｃ）を繰り返すことであって、前記残りが前記決定された順番で行われる、繰り返すことと、を行わせるインストラクションを含む非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願へのクロスリファレンス
本願は、米国特許出願第１５／８６４，９４２号（２０１８年１月８日出願）、米国特許仮出願第６２／４４４，２２９号（２０１７年１月９日出願）および第６２／４５９，９０５号（２０１７年２月１６日出願）の優先権の利益を享受する。それらの出願のそれぞれの全体は参照により本明細書に組み入れられる。
【０００２】
本明細書で説明する技術は、データトランザクション処理に関する。より具体的には、本明細書で説明される技術は、複数の異なるタイプのデータトランザクション要求を組み合わせるか、順序付けるか、またはそうでなければグループ化することにより、トランザクション要求者の観点からは単一に見えるトランザクションにすることに関する。
【背景技術】
【０００３】
トランザクション処理は、データベースシステムから、グラフィックス処理、複雑な分散システム、およびコンピュータ技術の他の分野に至るまで、計算機技術において重要な役割を果たす。データベースの例では、トランザクション要求は、新しいレコードをデータベースのテーブルに挿入することができる。要求を受信するデータベースは、データベースのテーブルに新しいレコードを追加する結果となるデータトランザクション処理を実行する。
【０００４】
より効率的または最適化されたトランザクション処理のための新しい技術が絶えず求められている。例えば、マッチングプロセスおよび個々のトランザクション要求をどのようにして一緒にリンクまたは順序付けすることができるかについての技術が求められている。
【発明の概要】
【０００５】
ある例示的な実施の形態では、複数の異なるデータトランザクションプロセスを一緒にシーケンス化することによって、単一の全体的なトランザクションとして複数の別個のデータトランザクションプロセスを実行するシーケンス化データトランザクションプロセスを形成する。クライアントコンピュータシステムは、リソースのグループに対してコミットしてもよい合計を指定するデータトランザクション要求を提出する。また、逆側データトランザクション要求を、グループ内のリソースについて、リソースごとベースで提出することができる。各リソースは、反対側のデータトランザクション要求とマッチングするために使用されるそれ自体のデータトランザクションプロセスを有する。クライアントコンピュータシステムがリソースのグループに対してデータトランザクション要求を提出するとき、個々のリソースのうちのどのリソースが要求の実行対象となる資格があるのかを示すものが提供されうる。次いで、シーケンス化データトランザクションプロセスは、そのシーケンスを構成する個々のデータトランザクションプロセスの各々について、別個ではあるがシーケンス化されたデータトランザクションプロセスの各々の間に、データトランザクション要求がどのようにマッチングされるかを決定する。したがって、クライアントシステムに、個々のデータトランザクションプロセスのそれぞれについて重複した（または同様の）トランザクション要求を提出させることなく、単一のデータトランザクション要求を複数の異なるトランザクションで使用することができる。
【０００６】
本概要は、以下の発明の詳細な説明でさらに説明される概念の選択を紹介するために提供される。本概要は、クレームに係る主題の主要な特徴または不可欠な特徴を識別することと、或いは、クレームに係る主題の範囲を限定するために用いられることとのいずれをも意図するものではなく、むしろ本概要は本書面で説明される主題の概観を提供することを意図するものである。したがって、上述した特徴は例示にすぎず、本明細書で説明される主題の他の特徴、態様、および利点は、後述する詳細な説明、図面、および請求項から明らかになるであろうということは理解されたい。
【図面の簡単な説明】
【０００７】
これらのおよび他の特徴ならびに利点は、図面を伴う例示的で非限定的で事例的な実施形態の以下の詳細な説明を参照することにより、よりよく完全に理解されるであろう。
【０００８】
【図１】注文を作成し提出するように構成されたクライアントシステムにネットワークを介して結合されたコンピュータ実施オークションシステムの非限定的な例示的機能ブロック図を示す。
【０００９】
【図２】オークションプロセスを個別に実行した複数の異なるアセットを有するファンドが、グループ化されたまたはシーケンス化されたオークションプロセスによってどのように処理されるかの例示的な図を示す。
【００１０】
【図３Ａ】図３Ａ、３Ｂ、および３Ｃは、図１に示される例示的なシステムを使用してシーケンス化オークションプロセスがどのように実行されるかを示す信号図である。
【図３Ｂ】図３Ａ、３Ｂ、および３Ｃは、図１に示される例示的なシステムを使用してシーケンス化オークションプロセスがどのように実行されるかを示す信号図である。
【図３Ｃ】図３Ａ、３Ｂ、および３Ｃは、図１に示される例示的なシステムを使用してシーケンス化オークションプロセスがどのように実行されるかを示す信号図である。
【００１１】
【図４】本明細書で説明される特徴を実装するためにいくつかの実施の形態で使用され得る例示的な計算デバイスを示す。
【発明を実施するための形態】
【００１２】
以下の記載では、説明を目的とし、限定を目的とせず、記載の技術の理解を提供するために、特定のノード、機能エンティティ、技術、プロトコル等の具体的な詳細が説明される。他の実施の形態を、以下の詳細説明から離れて実施できることは当業者には明らかであろう。他の例では、周知の方法、デバイス、技術等の詳細説明は、不必要な詳細説明で説明を曖昧にしないために省略されている。
【００１３】
各セクションの一般的な主題について読者を方向付けるためにのみ、この詳細な説明でセクションが使用される。以下で明らかになるように、多くの特徴の説明は複数のセクションにまたがっており、表題は任意のセクションに含まれる説明の意味に影響をあたえるものとして読まれるべきではない。
概要
【００１４】
ある例示的な実施の形態では、コンピュータシステム（例えば、オークションコンピュータシステム）は、アセットとも呼ばれ得る、関連するが個別に特定されるリソースについて、複数の別個のデータトランザクションプロセス（例えば、対向するデータトランザクション要求間のマッチングまたはトランザクションを決定するプロセス）を実行するように構成される。いくつかの例では、データトランザクションプロセスは、注文を提出するクライアントの観点からは、１つのオークションまたは１つのデータトランザクションプロセスとして実行されるコンピュータ実装オークションプロセスである。クライアントコンピュータシステムは、単一のインタフェースを介して、および単一の要求を介して、電子データトランザクション要求（例えば、本明細書では「注文（オーダ）」とも呼ばれる）を提出することができる。次いで、単一の注文は、オークションコンピュータシステムによって実行される複数の別個であるがリンクされたデータトランザクションプロセス（例えば、オークション）にわたって使用される。いくつかの例では、複数の別個のオークションにわたって実行することができる単一の注文は、マルチリソースまたはマルチアセット注文であってもよい。
【００１５】
ある例示的な実施の形態では、単一のデータトランザクション要求（例えば、買い注文）は、複数の別個であるが関連するオークションにわたって実行がどのように生じるかについての最大値（または売り注文の場合には最小値）に関するインストラクションを（例えば、１つまたは複数のパラメータとして）含む。各注文（例えば、売り注文および買い注文の両方）は、個々のオークションに参加するための価格を指定することができる（または指定しなければならない）。コンピュータシステムは異なるアセットに対する複数のオークションが行われるシーケンスを決定し、次いで、異なるアセットの各々に対するオークションを順次実行する。各オークションは取引価格、量、およびそのオークションの売買注文がどのようにマッチングされるかの決定（例えば、取引処理の一部として）を含む。特定の例では、１つのオークションプロセスの終了時に実行されないままである注文（例えば、買い注文）は次のオークションに参加することができる。特定の例では、コンピュータシステムは、オークションの「サイズ」または値（例えば、株式によって定量化される）、実行値、または名目値を最大にする所与のオークションの実行価格をプログラム的に決定する。
【００１６】
図１は、オークションシステムに注文を提出するように構成されたクライアントシステムにネットワークを介して結合されたコンピュータ実施オークションシステムの非限定的な例示的機能ブロック図を示す。図２は、個々にオークション処理を行った複数の異なるアセットグループを図１のシステムを用いてどのように構成するかを示す図である。図３Ａおよび３Ｂは、アセットグループ（図２に示されたものなど）に対する多段階オークションの一例を示す信号図である。図４は、いくつかの実施の形態において、図１から図３Ｂに示される特徴を実施するために使用される例示的なハードウエアアーキテクチャを示す。
【００１７】
この文書の多くの場所で、ソフトウエアモジュール（例えば、トランザクション要求ハンドラ１０３、スケジューリングエンジン１０４Ａ、演算エンジン１０４Ｂ、およびマッチングエンジン１０４Ｃ）およびそのようなソフトウエアモジュールによって実行される動作が説明される。これは、説明を容易にするために行われ、ソフトウエアモジュールが任意の動作を実行することが本明細書で説明されるときはいつでも、その動作は実際にはソフトウエアモジュールを構成するインストラクションに従って、基礎となるハードウエア要素（ハードウエアプロセッサ（例えば、ＣＰＵ）、メモリデバイスなど）によって実行されることを理解されたい。これに関するさらなる詳細は、他の場所の中でもとりわけ、図４の説明において以下に提供される。
図１の説明
【００１８】
図１は、コンピュータシステムの例示的な実施の形態のブロック図を示す。この例では、コンピュータシステムは、ネットワークインタフェース１０６Ａを介してオークションシステム１００にデータトランザクション要求（例えば、注文）を提出するように構成されたクライアントシステム１０８と通信するオークションコンピュータシステム１００（オークションシステム）とすることができる。
【００１９】
オークションシステム１００は、トランザクション要求ハンドラ１０３と、スケジューリングエンジン１０４Ａと、計算エンジン１０４Ｂと、マッチングエンジン１０４Ｃと、を実装するハードウエアプロセッサ１０２（たとえば、図４のプロセッサ４０２など）を含み、これらはそれぞれ、オークションシステム１００によって実行される別個のプログラムまたはルーチン（たとえば、ソフトウエアプログラム、ライブラリ、または他のプログラムされた機能）とすることができる。いくつかの例では、トランザクション要求ハンドラ１０３、スケジューリングエンジン１０４Ａ、計算エンジン１０４Ｂ、およびマッチングエンジン１０４Ｃのそれぞれによって実行される機能はこれらの異なる要素がネットワークを介して通信するような異なるコンピュータシステム（たとえば、分散コンピュータシステム）上で実行され得る。オークションシステム１００はまた、（例えば、提出された注文の、ソートされ得る二重リストを保持するための）オーダブックデータ構造として機能し得るか、またはそれを含み得るデータベース１１２を含む。オークションシステム１００はまた、外部システム１１０と、および／またはオークションシステム１００を構成するコンピューティングノード間（例えば、分散システムの場合）で通信するために使用されるネットワークインタフェース１０６Ｂを含む。
【００２０】
トランザクション要求ハンドラ１０３は、クライアントシステム１０８からの入来データトランザクション要求（例えば、電子データメッセージに含まれるデータトランザクション要求）を処理する。上述のように、データトランザクション要求の一例は注文（例えば、買い注文または売り注文）である。いくつかの例示的な実施の形態では、入来注文は、一緒にグループ化された１つまたは複数のアセットの量（例えば、＄１００，０００）および価格（例えば、アセットＣに対する＄１００，０００の入札、およびアセットＢに対する＄９０，０００の入札）を指定することができる（例えば、指定しなければならない）。
【００２１】
いくつかの例示的な実施の形態では、入来注文は、オークションされているアセットのＮＡＶ（純アセット価値）のパーセンテージを含むことができる。そのような場合、システム１００は、アセットのＮＡＶ、提供されたパーセンテージ、および注文で指定された量の機能として、注文の「価格」を自動的に決定することができる。例えば、入来注文が＄２００，０００の公称値を有し、シーケンシャルオークションプロセスにおけるアセットのうちの１つのＮＡＶが＄１００，０００である場合、入来注文は、注文「価格」として、そのアセットのＮＡＶの．５０（５０％）を含むことができる。新しい注文が受け取られると、システム１００はアセットの入札価格を＄５０，０００として計算し、５０，０００の値を使用して、最終的に、この新しい注文のそのアセットの入札の、１株当たりの価格（例えば、＄０．２５）を決定することができる。したがって、最低限望まれる全取引値（たとえば、＄５０，０００）を表す価格を提供する代わりに、オークション参加者は事前定義された値（たとえば、ＮＡＶ）のパーセンテージとして入札額を提供することができる。
【００２２】
いくつかの例では、クライアントは、一緒にグループ化されたすべてのアセットの部分集合の価格のみ（例えば、シーケンシャルオークションに入る３つのアセットのうちの２つの価格を含み、３番目のアセットの価格は含まない）を含むことができる。新しい注文が受信されると、それは、将来の処理のためにオーダブックおよび／またはデータベース１１２に追加されてもよい（例えば、シーケンシャルオークションプロセスが開始するときに使用される）。
【００２３】
トランザクション要求ハンドラ１０３を介して受信された新しい買い注文は、それらが、購入されるべき証券の全想定価値（または代替の実施形態ではクライアントが費やす意思のある全額）を、アセットのリストおよび対応する価格（または例えば、アセットのＮＡＶのパーセンテージ）とともに含むことを確実にするようにチェックすることによって検証されてもよい。リスト内のアセットの各々は、アセット識別子（例えば、他のアセットからそれを一意に識別する）と、クライアントがこのアセットの株を購入する準備ができている価格と、を有することができる。
【００２４】
新たに受け取られた売り注文はまた、その売り注文が、売られているアセットの識別子と、アセットの全想定価値と、および少なくともクライアントがアセットを売る準備ができている価格（全価格またはＮＡＶのパーセンテージとして表すことができる）と、を含むことを保証するために検証されてもよい。
【００２５】
スケジューリングエンジン１０４Ａは、複数の異なるアセットに対するオークションのシーケンスを決定または維持する責任を負う。
【００２６】
一般に、取引され得る各別個のアセットは、それ自体の対応するオークションプロセスを有する。例えば、図２を参照すると、アセットＡ、Ｂ、Ｃ、およびＤは対応するオークションＡ、Ｂ、Ｃ、およびＤ（例えば、それぞれが、全体のシーケンス化データトランザクションプロセスの一部である別個のデータトランザクションプロセスである）を有することになる。スケジューリングエンジン１０４は、そのようなアセットに対する様々なオークションが実行され得る順番を決定し得る。いくつかの例では、スケジューリングエンジン１０４は、個々のアセットにおける関心の量に基づいて、順番を動的に決定することができる。例えば、所与のアセットの価格を含むクライアントが多ければ多いほど、アセットの優先度を上げることができる。アセットＡ（５人のクライアントのみが価格を提供した）よりもアセットＤにより多くの関心がある場合（例えば、１００人のクライアントが価格を提供した）、スケジューリングエンジン１０４は、オークションＡの前にオークションＤをスケジュールすることができる。他の例では順番を逆にすることができる（例えば、より多くの関心がオークションシーケンス内の優先度を下げることができる）。特定の例では、個々のアセットそれぞれのオークションの順番は（例えば、オークション管理者が定義可能な構成に基づいて）事前設定されてもよい。いくつかの例では、スケジューリングエンジン１０４Ａは、アセットに関連付けられたプロパティに基づいて、アセット（したがって、対応するオークション）を動的にソートすることができる。例えば、各アセットは、そのアセットに添付された対応する手数料を有することができる。スケジューリングエンジン１０４は、その手数料に基づいてアセットをソートまたは選択することができる。特定の例では、各アセットは対応する手数料クラスを有し、最低手数料クラスを有するアセットはシーケンス化オークションプロセスにおいて最初であり、次に低い手数料クラスが続き、最高手数料クラスのオークションがシーケンス内で最後に実行されるまで、以下同様である。したがって、スケジューリングエンジン１０４は、所与のファンドまたはコレクションアセット内に含まれる複数のアセットに対するオークションのシーケンスを構成またはスケジューリングする。
【００２７】
各シーケンス化オークションについて、計算エンジン１０４Ｂは、オークション当たりの清算価格および清算量を決定する。言い換えれば、計算エンジン１０４Ｂは所与のアセットについての売り注文と買い注文との間で、株式、単位、サイズ、取引値、名目値、譲渡されたコミットメント、または他の数量（例えば、清算量）を最大にする単一の清算価格を選択しようと試みる。計算エンジン１０４Ｂからの出力は売り注文および買い注文のリストを含み、そのリストは、買い注文と売り注文との間の取引を構築するためにマッチングエンジン１０４Ｃによって使用される。
【００２８】
いくつかの例示的な実施の形態では、計算エンジン１０４Ｂを使用して、現在の売買注文、清算価格、清算量などのリアルタイムデータフィードを提供することができる。リアルタイムデータフィードの例では、新しい注文が受信されるたびに、計算エンジン１０４Ｂの機能を実行することができ、計算エンジン１０４Ｂからの出力結果を、リアルタイムデータフィードを介して報告することができる（例えば、ディスプレイに出力することができ、またはネットワークを介して他のコンピュータに電子的に送信することができる）。
【００２９】
マッチングエンジン１０４Ｃは、マッチングされるべき売り注文および買い注文のリストを取得し、これらの注文間の取引を決定または構築する。いくつかの例では、マッチングエンジン１０４Ｃは（例えば、部分的なマッチングを回避することによって、同様のサイズの注文をマッチングすることによって、などによって）コンポーネントトランザクションの数を最小化しようとする。
【００３０】
データベース１１２はシステム１００の電子ストレージ（例えば、図４の４０４）を含み、オーダブックを含んでもよく、またはオーダブックであってもよい。いくつかの例では、オーダブックは、クライアントコンピュータシステム１０８から受信された電子データメッセージ（例えば、またはその中の注文）を保存する。いくつかの実装形態では、識別子ごとに（たとえば、ティッカーシンボルごとに、ＣＵＳＩＰ番号ごとに、セキュリティ識別番号ごとに、または他のアセットまたはリソース識別子ごとに）２つの別々に順序付けられたリストが格納され、維持される。２つのリストは、ティッカーシンボルについてオーダブックの売買またはビッドおよびアスク「側」に対応することができる。メッセージ（またはそれらのメッセージに含まれる要求／注文）は、価格、サイズ、注文提出エンティティ、提出時刻、オーダブック内の時間などのうちの１つまたは複数に従ってソートされ得る。いくつかの例では、メッセージまたは注文の記述情報もオーダブックに含まれる。
【００３１】
いくつかの例では、データベース１１２は、各アセットについての売り注文のリスト（例えば、そのアセットのどれだけが利用可能であるかに対応する）と、買い注文のリストと、各買い注文に対して資格のあるアセットと、を含むことができる。この点で、「買い」注文はクライアントが所与のアセットを購入する意思があるが、そのような取引が発生しないかもしれないことを表すので、従来の買い注文（例えば、５０で１００購入する）とは異なっていてもよい。例えば、図２の注文２１０Ａは２００の買い注文およびＡおよびＣが資格のあるアセットであることを示している。これは、買い注文２１０Ａを提出したクライアントがＡおよび／またはＣを２００まで購入することを検討しており、クライアントがＡに対して支払う意思のある価格は９５であり、クライアントがＣに対して支払う意思のある価格は９０であることを意味する。この買い注文２１０Ａを成立させると決定される実際の取引は、Ａおよび／またはＣのオークションの結果に応じて変化しうる。例えば、一例では、２００のＡがクライアントの注文を成立させてもよく、０のＣがクライアントの注文を成立させてもよい。他の例では、２５のＡおよび１７５のＣが注文を成立させるために用いられてもよい。他の例では、５０のＡおよび５０のＣが決定されてもよい（例えば、ＡおよびＣのオークションはこの買い注文のすべてを満たすのに十分な売り注文を有していなかった）。
【００３２】
所定の例示的な実施の形態では、個々のオークション（例えば、オークションＡ  ２０６Ａ、オークションＢ  ２０６Ｂなど）ごとに実行されるオークション処理は標準的なオークションプロセスを使用する。特定の例では、オークションプロセスは図３Ａ〜３Ｃに示される処理に従って動作する。特定の例では、オークションプロセスは本明細書の表１および２に関連して説明される例に従って動作する。
【００３３】
クライアントシステム１０８は、パーソナルコンピュータ、ＰＤＡ、携帯電話、サーバコンピュータ、または電子データ通信ネットワーク（例えば、インターネットまたは他のコンピュータベースのネットワーク）を介してコンピュータ実装オークションシステム１００と（電子データメッセージを介して）電子的に通信するように構成された任意の他のシステム／デバイスを含むことができる。
【００３４】
クライアントシステム１０８は、電子データメッセージを使用することによってオークションシステム１００に注文を提出する個人および／またはビジネスエンティティ（例えば、小売ブローカまたは個人トレーダ）に関連付けられてもよい。
【００３５】
クライアントシステム１０８は、中央処理装置（ＣＰＵ）、メモリ、およびデータ伝送デバイスを含む。データ伝送デバイスは例えば、クライアントシステムを電子データ通信ネットワークに接続するネットワークインターフェースデバイスとすることができる。接続は、有線、光、あるいは無線であってもよく、また、例えば、ＷｉＦｉネットワーク、インターネット、またはセルラデータサービスを介して接続することができる。所定の例では、クライアントシステム１０８は、オークションシステム１００への専用接続を有することができる。データ伝送デバイスは、いくつかの実施の形態では、トランシーバ、ベースバンドプロセッサ、ネットワークインタフェースデバイス、および／または他のデータ通信回路であってもよいし、またはそれらを含んでもよく、データを送受信することができる。データはデータパッケージまたはパケット（例えば、電子データメッセージ）を介して受信および／または送信されてもよい。
【００３６】
クライアントシステム１０８は、オークションコンピュータシステム１００と対話するために使用される。例えば、所与のクライアントシステムを使用して、証券／アセットを売買するための注文の発注に関する電子データメッセージを作成し、そのような要求に関する電子データメッセージをオークションシステム１００に送信することができる。クライアントシステム１０８は、ある数の株式を売買するための注文の詳細をユーザから（例えば、キーボードまたは他の入力デバイスを介して提供される入力を介して）取得して、オークションシステム１００にその注文を送信することができる。
【００３７】
一般に、クライアントコンピュータシステム１０８は、注文を介してオークションから恩恵を受けるエンティティである「クライアント」または「参加者」によって制御される。これはまた、様々なクライアントに代わって（例えば、ファイナンシャルアドバイザまたはブローカ機関を介して）提出された注文を含む。
図２の説明
【００３８】
図２は、個々にオークション処理を行った複数の異なるアセットグループを図１のシステムを用いてどのように処理されるかを示す図である。この例では、アセットのグループはエンティティ（例えば、個人、企業、ブローカ、リミテッドパートナーシップインタレスト等）によって提供される「ファンド」に対応する。ここで、ファンドＸ  ２００は、アセットＡ  ２０２Ａ、アセットＢ  ２０２Ｂ、アセットＣ  ２０２Ｃ、およびアセットＤ  ２０２Ｄを含む。ファンドＸ  ２００およびそのファンド内の各アセットは、例えばデータベース１１２に格納され得る一意の識別子（例えば、ティッカーシンボル）を介してコンピュータシステム１００内で識別され得る。各アセットはまた、対応するオークション、オークションＡ  ２０６Ａ、オークションＢ  ２０６Ｂ、オークションＣ  ２０６Ｃ、およびオークションＤ  ２０６Ｄを有する。４つのオークションはオークショングループ２０４を形成する。オークショングループ２０４は、名目上、ファンドＸ  ２００に対応する。しかしながら、他のファンドからの他のアセット（又は個々のアセットでさえも）を単一のオークショングループに含めることができる。オークショングループ２０４およびその中のオークションはまた、一意の識別子を介してコンピュータシステム１００によって識別されてもよい。
【００３９】
特定の例では、様々なアセットは、例えば、同じまたは類似の基礎となる金融商品、証券、または同じティッカーシンボルに対応するが（例えば、基礎となる金融商品が交換可能または実質的に同じであり得るように）、それらに関連する異なる特徴または特性を有するアセットを含む。したがって、様々なアセットは（例えば、元のアセットまたは他の関連物によって）互いにリンクされていてもよいが、異なる手数料構造、法的構造、所有権、議決権、譲渡可能権などに基づいて区別することができる。様々なアセットの一例として−それぞれがシーケンス化オークションプロセスにおけるそれ用の個々のオークションを伴うが−、１つは０．５％の手数料を有し、別の１つは１％の手数料を有することができる。それ用の対応するオークションを有する各アセットは、システム１００によって（および様々なアセットに対して注文を行う参加者によって）識別され得る（例えば、一意的に）。本明細書で使用される場合、様々なアセットは、同じアセットの異なるクラスまたはタイプを含むことができる。本明細書で使用される場合、所与のアセットの株式は、そのアセット、そのアセットの単位、またはそのアセットの他の除数での持ち分を含む。
【００４０】
オークションプロセスが開始されると（または開始される前に）、アセットＡ、Ｂ、およびＣについての売り注文２０８Ａ、２０８Ｂ、２０８Ｃが受信されてもよい。これらの売り注文を使用して、所与のオークション（２０６Ａ、２０６Ｂ、２０６Ｃ、２０６Ｄ）で利用可能な各アセットの総量を決定する。
【００４１】
オークショングループ２０４のオークションプロセス中に、クライアントは、買い注文２１０Ａおよび２１０Ｂを提出することもできる。本明細書で説明する場合、買い注文は、クライアントが買いたいオークショングループの量、その量が適用されるグループの特定のアセット、およびグループの各アセットに対する対応する入札価格を含むことができる。
【００４２】
別の例示的な実施の形態では、買い注文は、（グループとは対照的に）特定のアセットに対して発行されてもよく、売り注文はアセットグループに対して発行される。
【００４３】
本明細書で説明される場合、ある例示的な実装では、新しい注文のそれぞれを受信すると、スケジュールされたオークションのそれぞれについてのオークション価格およびオークション量を決定する演算処理が実行される。この情報は、その後、様々なサービスに公開されうる。いくつかの例では、この情報は、監視または運用監督を提供するためにオークション管理者に提供されてもよく、または、この情報は、この情報への可視性を望む発行者にまたは他のサービスに提供されてもよい。
図３Ａ、３Ｂ、および３Ｃ：
【００４４】
図３Ａ、３Ｂ、および３Ｃは、図１に示される例示的なシステムを使用してシーケンス化オークションプロセスがどのように動作するかを示す信号図である。
【００４５】
３００において、データベース１１２は、どのアセットがどのグループに属するかを定義する、アセットおよび情報のリストで構成される（例えば、図２のアセット２０２Ａ、２０２Ｂ、２０２Ｃ、および２０２Ｄはすべて、ファンドＸ  ２００の下でグループ化され、ここで、それぞれは、対応する一意の識別子によって識別され得る）。この構成は手動プロセスであってもよく、または他のシステム（例えば、外部システム１１０）からインポートされてもよい。
【００４６】
３０１で、オークションコンピュータシステム１００はオークションプロセスを開始する。これは、オークションが開始したという通知をクライアントシステム１０８に送信することを含むことができる。特定の例では、オークションプロセスの開始のトリガは手動であり、他の例ではオークションが事前に構成された事前設定時刻に開始する。
【００４７】
３０２において、クライアントシステム１０８は、所与のアセットグループに対するオークションが開始したというオークション通知メッセージを受信する。特定の例では、この通知はオークションシステム１００から送信される。しかしながら、そのような通知は、他のコンピュータシステムから送信されてもよい。
【００４８】
オークションプロセス中、オークションコンピュータシステム１００は、新しい注文（買い注文および／または売り注文）を受け入れることができる期間を有する。これは、それぞれステップ３０４および３０６で表される。しかしながら、３０１と３２０との間の任意の時間に、クライアントシステム１０８はオークションコンピュータシステム１００に注文を提出することができる。提出された注文は、３０７でトランザクション要求ハンドラ１０３によってデータベース１０８に追加される。
【００４９】
３０８で、トランザクション要求ハンドラ１０３はスケジューリングエンジン１０４Ａと通信して、新しい買い注文または売り注文の受信に応答して、「部分的」シーケンス化オークションプロセス（例えば、複数のシーケンス化オークションが実行される場合）を実行する。いくつかの例では、新しい注文を受け取ると、進行中のオークションの現在の状態をリアルタイムで見ることができるようにするために、部分的シーケンス化オークションプロセスが実行される。これは、現在のオークション価格及びコミットメント量（例えば、オークションの現在の状態に従って取引されることになる株式の数）を計算することを含むことができる。いくつかの例では、３０８が買い注文のみ、売り注文のみ、または買い注文および売り注文のいずれかの受信に応答して実行される。
【００５０】
実行される（３０８で開始する）シーケンス化オークションプロセスは、「完全な」オークションプロセスの特定の特徴がオークションのこの段階で実行され得ないため、「部分的な」プロセスであり得る。特に、オークションがまだ進行中である間、オークションの現在の状態に関するリアルタイムデータを提供するために必要とされるオークションの要素のみが実行され得る。完全オークションプロセスの一部である（例えば、３２２〜３３８に関連して説明したような）他の態様、例えば、取引を形成するために個々の売買注文をマッチングすることは、所望のデータを提供しない場合、この「部分的」シーケンス化オークションプロセス中に実行されないことがある。しかしながら、特定の代替的な実装では、完全シーケンス化オークションプロセスは各注文の受信に応答して実行されてもよい。
【００５１】
シーケンス化オークションプロセスの部分的な実行の一部として、３０９において、スケジューリングエンジン１０４Ａは、３０４または３０６において入ってくる注文が関連付けられたファンドについてのオークションのシーケンスを決定する。言い換えれば、個々のオークションプロセスの順番が決定される。オークションのシーケンスの決定は動的（例えば、各種受信された注文の内容に基づく）、静的（例えば、アセットのプロパティに基づく）、または事前定義（例えば、ユーザが手動で特定の注文に設定）であってもよい。特定の例では、オークションの順番が（例えば、オークションの前に）設定され、次いで、静的状態でデータベース１１２に記憶されてもよい。
【００５２】
次に、図３Ｂでは、スケジューリングエンジン１０４Ａはシーケンス化オークションプロセスにおける所与のアセットについて、３１０で計算プロセスを開始する。これは、計算エンジン１０４Ｂによって実行される演算処理を呼び出すスケジューリングエンジン１０４Ａによって達成され得る。このプロセスは、（３１８と３１０との間のループによって表されるように）シーケンス化オークションプロセスにおけるアセットの各々について行われる。
【００５３】
３１２において、計算エンジン１０４Ｂは、価格が計算されているアセットについて、データベース１１２から適格な注文を取り出す。取り出された売り注文は、最も低い価格のものから最も高い価格のものへと、次いで、時刻（例えば、売り注文がシステムによって受信されたときのタイムスタンプ）によって最も昔のものから一番新しいものへとソートされてもよい。したがって、プロセスで使用される最初の売り注文は、最も昔のタイムスタンプを有する最も低い価格のものであってもよい。
【００５４】
買い注文は最高価格のものから最低価格のものへとソートされてもよく、現在のアセットに対する関心を示した買い注文は所与のアセットのオーダブックに買い注文として追加される。
【００５５】
計算プロセスは、以下の変数を使用することができる：１）現在の清算価格−現在の繰り返し中に計算された清算価格を保存する；２）現在の清算量−現在の繰り返し中に計算された清算量を保存する；３）前の清算価格−前の繰り返し中に計算された清算価格を保存する；４）前の清算量−前の繰り返し中に計算された清算量を保存する；５）現在の売り清算量−これまでに売りループによって処理された売り注文からのすべてのコミットメントの和を保存する；６）現在の買い清算量−これまでに買いループによって処理された買い注文からのすべてのコミットメントの和を保存する。これらの変数は全てゼロに初期化されてもよい。
【００５６】
３１４における価格および量の計算は、以下のように進行してもよい：
【００５７】
パート１）各売り注文に対して
【００５８】
１．１）現在の売り注文のコミットメント量を現在の清算量（例えば、利用可能な所与のアセットの総量）に加算することによって、現在の売り清算量を計算する。
【００５９】
１．２）各買い注文に対して、以下の３つの選択肢のうちの１つが実行される：
【００６０】
ａ）買い注文のさらなる処理を停止する：買い注文価格が現在の清算価格よりも小さいか、または現在の買い清算量が現在の売り清算量よりも大きい場合、処理を停止する。
【００６１】
ｂ）現在の買い注文をスキップし、次の買い注文を続行する：：買い注文価格が売り注文価格よりも小さい場合、次の買い注文を続行する。
【００６２】
ｃ）現在の買い清算量を更新し、次の買い注文を継続する：現在の買い注文のコミットメントを現在の買い清算量に追加し、次の買い注文を継続する。
【００６３】
１．３）１．２の買い注文からループした後、プロセスは、現在の清算価格および現在の清算量を計算する。特に、少なくとも１つの買い注文が買い注文ループによって処理された場合、現在の清算価格を、現在の売り注文価格および最後に処理された買い注文価格の平均値（例えば、中点）に設定する。あるいは、買い注文が買い注文ループによって処理されなかった場合、現在の清算価格および量をゼロに設定する。
【００６４】
１．４）最後に、現在の清算価格に現在の清算量を乗じたものが、以前の清算価格に以前の清算量を乗じたもの以下である場合、売りループは処理を停止し、以前の清算価格および以前の清算量を最終結果（例えば、シーケンス化オークションにおいてこのオークションのために使用または提供される価格および量）として使用する。しかしながら、現在の清算価格に現在の清算量を乗じたものが、以前の清算価格に以前の清算量を乗じたものよりも大きい場合、ループは次の注文に続く（例えば、上記の１に戻る）。
【００６５】
したがって、上記の例示的な技術を使用することによって、清算価格および清算量を、シーケンス化オークションの一部である所与のアセットについての売買注文リストに基づいて計算することができる。これらの２つの計算されたデータ（第１および第２のデータ）はその後のオークションプロセスのための処理（例えば、価格、量、および／またはどの注文がマッチングされるべきかを決定するオークションのためのトランザクション処理）において使用されてもよい。したがって、ある例では、最初のオークション（例えば、シーケンス化プロセスにおける最初のオークション）を処理した結果は次のオークションがどのように実行されるかに影響を及ぼし得る。
【００６６】
以下でより詳細に説明するように、ゼロか１か注文（ＡＯＮ）を解決またはチェックし、各注文の充足状態を更新することに関連して実行される、ステップ３１４の別の部分があってもよい。
【００６７】
いずれにしても、ステップ３１４で計算されたデータは、３１６でデータベース１１２に保存されてもよい。場合によっては、データは次に、シーケンス化オークションの各オークションの現在のオークション統計のリアルタイムビューを提供するために、ディスプレイまたは電子データフィードに出力されてもよい。
【００６８】
いくつかの例では、入ってくる売り注文に対してのみ、または入ってくる買い注文に対してのみ、３１０〜３１８のトリガが行われる。したがって、あるタイプの注文（例えば、売り注文などの第１のタイプ）の受信は処理３１０〜３１８をトリガすることができ、他方で、別のタイプの注文（例えば、売り注文などの第２のタイプ）の受信は、その同じ処理をトリガすることができない。
【００６９】
ステップ３１８において、プロセスは次のオークション（例えば、次に高い手数料を伴うアセットのオークションなど）について繰り返される。
【００７０】
３２０において、オークションコンピュータシステム１００は、オークションプロセスを新しい注文に対してクローズする。新しい注文は、オークションの開始（３０１）と終了（３２０）との間の任意の時刻に受信されてもよいことが理解されるのであろう。
【００７１】
オークションを終了した後、スケジューリングエンジン１０４Ａは、対応するオークションの計算エンジン１０４Ｂの計算プロセスを呼び出す。上述のように、オークションを順序付ける（シーケンス化する）ための様々な異なる技術があるが、ある例示的な実施の形態では、アセットは最低の手数料のものから最高の手数料のものへと並べられ、それらのアセットのオークションも同様に３２２でスケジュールされる。
【００７２】
様々なオークションの各々に対して、計算エンジン１０４Ｂは、３２４において、その特定のシーケンス化オークションの注文リストを検索し、３２６において、清算価格及び清算量を計算する。３２６のプロセスは３１４のプロセスと同様または同じであり、結果は３２８で保存される。いくつかの例では、ステップ３２６をスキップすることができ、３１４の最後のトリガ中に保存された価格および量を３３０の入力として使用することができる。特定の例では、３３０が（例えば、３３０で詳述されたプロセスが３１０と３１８との間のループに含まれていた場合）同様にスキップされてもよい。したがって、いくつかの例では、マッチングプロセス３３４はデータベースに以前に格納されたデータに基づいて実行され得る。
【００７３】
いずれにしても、計算された清算価格および清算量を用いて、計算エンジン１０４Ｂは３３０において、ＡＯＮ状態をチェックし、各注文の充足状態を決定する。ＡＯＮプロセスは、変数を使用して、残りの清算量を超えるデータを保存することができる。この変数は、前のラウンドによって処理されていない清算量を表すために使用されてもよい。特定の例では、３２６で決定された清算量はこの値を初期化するために使用される。３２６におけるプロセスは、以下の要素を含むことができる。
【００７４】
１）  ＡＯＮをチェックし、売り注文を充足する
【００７５】
１．１）リスト内の各売り注文に対して、２つの可能なオプションのうちの１つがある：
【００７６】
１．１．１）所与の売り注文のコミットメント量が残りの清算量よりも大きい場合、残りの清算量はゼロに設定される。特定の例では、残りの清算量は、以前のシーケンス化オークション（例えば、以前のラウンド）によって処理されなかった清算量である。残りの清算量の値は上記で計算された清算量に初期化されてもよい（例えば、３２８で保存されたもの）。注文ステータスが部分的にマッチングするように設定され、マッチングされた量が残りの清算量に設定される。注文がＡＯＮ注文である場合、それは注文リストから削除され、現在のオークションはこの所与のアセットについて再計算される。言い換えれば、ゼロか１か注文が部分的にマッチングされるというのは、その結果、プロセスがその注文を注文リストから除去し、演算プロセスを再実行する（例えば、再実行３２６および／または３３０）ことのみである。ゼロか１か注文が除去され、演算プロセスが再実行されると、残りの注文はマッチングなしに設定される。
【００７７】
１．１．２）売り注文のコミットメント量が残りの清算量以下である場合、残りの清算量から注文のコミットメント量を差し引いて、残りを新しい残りの清算量として設定する。次いで、売り注文は完全にマッチングされるように（例えば、完全にマッチングした量に）設定される。次に、次の売り注文が処理される。
【００７８】
２）売り注文を処理した後、買い注文が同様にチェックされる。売り注文と同様に、２つの可能なオプションがある（完全にマッチングされるものか、または全くマッチングされない注文を含む完全マッチングに達しないもの）。
【００７９】
２．１）買い注文のコミットメント量が残りの清算量より大きい場合、残りの清算量をゼロに設定する。買い注文の注文ステータスが部分的にマッチングするように設定され、マッチングされた量が残りの清算量に設定される。買い注文がＡＯＮ注文である場合、このオークションの買い注文のリストからそれを削除し、それなしで演算プロセスを再実行する。残りの買い注文は、再実行プロセスが行われる前にマッチングなしに設定されてもよい。ゼロか１か注文が除去されると、その除去が２つ以上のオークションに影響を及ぼし得ることが理解されるのであろう。例えば、３つの異なるアセットを示した、ゼロか１かにマークされた買い注文は、その買い注文が完全には充たされ得ないとプロセスが判定した場合に、それら３つのアセットに対するオークションの再計算を生じさせ得る。
【００８０】
２．２）買い注文のコミットメント量が残りの清算量以下である場合、買い注文のコミットメント量は残りの清算量から減算される。残りは、新たな残りの清算量として保存される。買い注文は完全にマッチングするように設定され（例えば、そのマッチングした量がそのコミットメント量に設定される）、次の買い注文が処理される。
【００８１】
２．３）買い注文が完全にマッチングする場合、それはオークションのシーケンスから完全に除去される。しかしながら、買い注文が充たされていないか、または部分的に充たされている場合、それは、シーケンス化オークションのうちの次のオークション（例えば、次のラウンド）に移される。
【００８２】
計算プロセスのＡＯＮおよび充足状態部分の終了時に、マッチングされるべき（例えば、充たされているか、または部分的に充たされている）買い注文および売り注文のリストを、次のラウンドで使用されるべき買い注文（およびそれらのコミット量）のリストと共にデータベース１１２に保存することができる。
【００８３】
ステップ３３４で、マッチングエンジン１０４Ｃが呼び出されて、３３０によって決定され３３２で保存された売買注文のリスト間のトランザクションが生成される。このプロセスは、以下の変数、すなわち現在の売り注文（処理されている現在の売り注文）、現在の買い注文（処理されている現在の買い注文）、現在の売り注文リスト（マッチング処理すべきすべての売り注文のリスト）、および現在の買い注文リスト（シーケンス化オークションプロセスのこのラウンドのこのマッチング部分で処理すべきすべての買い注文のリスト）を含むことができる。プロセスは、買い注文と売り注文との間のトランザクションのリストを生成することができる。マッチングプロセスは、ループで動作する以下のステップを含む：
【００８４】
１）現在の売り注文のリストから現在の売り注文を削除することによって、現在の売り注文を取得する（または処理を停止する）。それ以上の注文がない場合、プロセスは終了する。
【００８５】
２）現在の買い注文のリストから現在の買い注文を削除することによって、現在の買い注文を取得する（または処理を停止する）。
【００８６】
３）その２つの注文で、３つの可能なアクションのうちの１つが取られる：
【００８７】
３．１）現在の買い注文コミットメントが現在の売り注文コミットメントよりも大きい場合、売り手から買い手への、現在の売り注文の量での取引を追加する。現在の買い注文コミットメントは、現在の売り注文コミットメントだけ減少され、ステップ１および３が再実行される。場合によっては、買い注文の選択（ステップ２）は、買い注文が既に選択されているのでスキップされてもよい。
【００８８】
３．２）現在の買い注文のコミットメントと売り注文のコミットメントとが等しい場合、売り手から買い手への取引が追加され、ステップ１〜３が再実行される。
【００８９】
３．３）買い注文コミットメントが売り注文より小さい場合、売り手から買い手への、その買い注文の量での取引が追加される。売り注文コミットメントは、現在の買い注文コミットメントだけ減少され、ステップ２および３が繰り返される。
【００９０】
したがって、取引のリスト（例えば、清算価格での）は、以前に生成された買い注文および売り注文のリストに基づいて生成され、３３６でデータベース１１２に保存され得る。
【００９１】
清算価格、充足状態（ｆｉｌｌ  ｓｔａｔｕｓ）、およびマッチングを計算するプロセスは、３３８において、シーケンス化オークションプロセスの各オークションラウンドについて繰り返される。
【００９２】
シーケンス化オークションが終了すると、３４０で、オークションの結果をクライアントシステム１０８に報告することができる。
【００９３】
以下は、シーケンス化オークションプロセスがどのように実行され得るかについての実施の形態である。いくつかの例では、図１のシステム１００を使用して、および／または図３Ａ〜３Ｃに示すプロセスに従って、以下を実施することができる。表１は、例示的なシーケンス化オークションについて受信される複数の異なる売り注文を示し、表２は、シーケンス化オークションについての買い注文を示す。
【表１】
0006667054.tif 000002
【表２】
0006667054.tif 000003
【００９４】
表１および表２はそれぞれ、異なる参加者によって（例えば、クライアントシステム１０８を介して）システム１００に提出された売り注文および買い注文を示す。
【００９５】
いくつかの実装形態では、１つまたは複数の条件が満たされない場合、注文はオーダブックに暫定的に含まれ（たとえば、オーダブック１１２および／または上記の表に含まれ）、後の時点で削除され得る。このような場合には、仮の注文は「不完全」とみなすことができる注文は、外部のチェック又はプロセスの完了を条件とする場合には、暫定的な注文とすることができる。一例として、参加者はオーダブック（例えば、オーダブック１１２に格納された上記の表）に含まれる仮の注文を提出することができるが、注文はその注文のために執行された法的文書の承認または提出を条件とすることができる。必要な書類が提出されない場合は、オーダブックから暫定的な注文を削除することができる。必要な文書が提出された場合、注文は暫定的な注文から「完了」注文に変更（例えば、更新）され、オーダブック内の他の通常の注文と同様に処理されてもよい。いくつかの例では、注文はビットフィールドなどを介して暫定としてマークされ得る。
【００９６】
上記の表に示すように、シーケンス化オークションプロセスには２つの異なるアセット（ＡおよびＢ）がある。アセットＢの手数料構成は０．５％、アセットＡの手数料構成は１％である。この例では、最低手数料構造から最高手数料構造へのシーケンス化オークションでアセットが並べられ、したがって、アセットＢのオークションが最初に行われ、続いてアセットＡのオークションが行われる。
【００９７】
アセットＢのオークションについて、価格および量が最初に計算される。価格および量の計算プロセスは、アセットＢの最低売却価格および最高入札価格を選択することから始まる。これから、注文１２２６および９６８が選択される。これら２つの注文の中点は＄１０．５０であり、したがって、この価格で取引される総量は＄１，０００である。
【００９８】
プロセスは、オークションにコミットされる量を増加させる価格を求めて注文を調べ続ける。したがって、注文１２２７および９６９が選択される。これらの注文間の中間価格は＄９であり、この価格では、全コミットメント量は＄１，３００となる。本明細書で使用される全コミットメント量は代わりに、「想定元本」、数量、または他の数値であってもよいことが理解されるのであろう。
【００９９】
次に、プロセスは、注文１２２８および注文９６８を選択する。これらの注文の中点の価格は＄１３．５０であり、全コミットメント量は＄１，０００である。現在のコミットメント量が以前のコミットメント量よりも小さいので、全トランザクション値＄１，３００を伴う以前に計算された価格（＄９）が、買い注文および売り注文を充たすために使用される。
【０１００】
（＄１，０００の総コミットメントのうちの）＄１，０００のコミットメントに対する最高価格＄１５を伴う買い注文９６８は、合計＄９，０００（最終オークション価格＊コミットメント量）を伴う＄１，０００のコミットメントに対して完全に実行される。注文９６８に対するＡの残りの可能なポジションの残余コミットメント量はない。
【０１０１】
（＄７００の総コミットメントのうちの）＄７００のコミットメントに対する最高価格＄１１を伴う買い注文９６９は、＄３００のコミットメントに対して部分的に実行される（合計
＄２，７００＝オークション価格＊コミットメント量）。９６９の残余量は、アセットＡの＄４００（＄７００−＄３００）である。
【０１０２】
買い注文９７０および９７１は、（元の＄１，３００のうちの）利用可能なコミットメントが使い尽くされたため、実行されない。
【０１０３】
ここで、売り注文が充たされる。売り注文１２２６は＄１，０００のコミットメントと＄６の最低価格とを有し、＄１，０００のコミットメントに対して＄９のオークション価格で全額実行され、合計＄９，０００となる。
【０１０４】
売り注文１２２６は＄３００のコミットメントと＄７の最低価格とを有し、＄３００のコミットメントに対して＄９のオークション価格で全額実行され、合計＄２，７００となる。売り注文１２２８および１２２９は、利用可能なコミットメント量がないので実行されない。
【０１０５】
これで、Ｂのオークションの初期計算が完了し、Ａのオークションが開始される。この例では発生しないが、この計算は、Ｂのオークション中に部分的に実行され、Ａのオークション中に完全には実行されないゼロか１か注文（例えば、ＡｏＮ注文）の場合に、（たとえば、ステップ３３０に関連して説明したように）修正されうる。このため、オークションのすべての計算はすべてのシーケンス化オークションが完了するまで「初期」である。
【０１０６】
オークションＢと同様に、オークションＡについて価格および量が決定され、まず、１２３０までの売り注文および９７２までの買い注文を使用して＄５．５０の価格が計算される。これは、＄１，０００のコミットメント量をもたらす。次の計算のために、＄９．２５の価格が、１２３１までの売り注文および買い注文９６９から使用される。この結果、コミットメント量は＄４００となる。コミットメント量が減少したので、プロセスは、オークション価格が＄５．５０に決定され、コミットメント量が＄１，０００に決定された過去の計算を戻って参照する。
【０１０７】
オークションＢと同様に、買い注文が最初に充たされ、次に売り注文が充たされる。注文９６８は、その合計コミットメントがオークションＢのために既に実行されているので処理されない。買い注文９６９は（元の＄７００のコミットメントのうちの）＄４００のコミットメントおよび最高価格＄１０を有し、＄５．５０のオークション価格で＄４００のコミットメントに対して完全に実行され、合計＄２，２００である。残りや残りのポジションはない。
【０１０８】
買い注文９７０は、（合計＄５００のコミットメントのうちの）＄５００のコミットメントおよび最高価格＄７を有し、＄５．５０の最終オークション価格で＄５００のコミットメントに対して完全に実行され、＄２，７５０となる。残りや残りのポジションはない。
【０１０９】
買い注文９７２は、（合計＄６００のコミットメントのうちの）＄６００のコミットメントおよび最高価格＄６を有し、＄５．５０の最終オークション価格で＄１００のコミットメントに対して部分的に実行され、合計＄５５０となる。注文９７２には＄５００のコミットメント量が残っている。
【０１１０】
ここで、売り注文は充たされる。売り注文１２３０は、最低価格＄５および＄１，０００のコミットメントを有し、オークション価格＄５．５０で＄１，０００のコミットメントで全額実行され、合計＄５，５００となる。これは、オークションのために利用可能なコミットメント量を使い果たし、したがって、売り注文１２３１、１２３２、または１２３３のいずれも実行されない。これにより、シーケンス化オークションプロセスが終了し、上述したようにトランザクションが生成される。
図４の説明
【０１１１】
図４は、いくつかの実施の形態にしたがう、例示的な計算デバイス４００（例えば、「コンピューティングデバイス」、「コンピュータシステム」、または「コンピューティングシステム」とも呼ばれ得る）のブロック図である。いくつかの実施の形態では、計算デバイス４００は、１つまたは複数のプロセッサ４０２、１つまたは複数のメモリデバイス４０４、１つまたは複数のネットワークインタフェースデバイス４０６、１つまたは複数のディスプレイインタフェース４０８、および１つまたは複数のユーザ入力アダプタ４１０のうちの１つまたは複数を含む。さらに、いくつかの実施の形態では、計算デバイス４００はディスプレイデバイス４１２に接続されるか、またはディスプレイデバイス４１２を含む。以下で説明するように、これらの要素（例えば、プロセッサ４０２、メモリデバイス４０４、ネットワークインタフェースデバイス４０６、ディスプレイインタフェース４０８、ユーザ入力アダプタ４１０、ディスプレイデバイス４１２）は、計算デバイス４００の様々な異なる機能を実行するように構成されたハードウエアデバイス（例えば、電子回路または回路の組合せ）である。
【０１１２】
いくつかの実施の形態では、プロセッサ４０２の各々またはいずれかは、例えば、シングルコアまたはマルチコアプロセッサ、マイクロプロセッサ（例えば、中央処理装置またはＣＰＵと呼ばれ得る）、デジタル信号プロセッサ（ＤＳＰ）、ＤＳＰコアに関連するマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）回路、またはシステムオンチップ（ＳＯＣ）（例えば、ＣＰＵと、メモリ、ネットワーキングインタフェースなどの他のハードウエア構成要素とを含む集積回路）であるか、またはそれらを含む。および／または、いくつかの実施の形態では、プロセッサ４０２のそれぞれまたはいずれかは、ｘ８６またはＡＲＭ（Ａｄｖａｎｃｅｄ  ＲＩＳＣ  Ｍａｃｈｉｎｅ）などのインストラクションセットアーキテクチャを使用する。
【０１１３】
いくつかの実施の形態では、メモリデバイス４０４の各々またはいずれかは、ランダムアクセスメモリ（ＲＡＭ）（ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）など）、フラッシュメモリ（例えば、ＮＡＮＤまたはＮＯＲ技術に基づく）、ハードディスク、光磁気媒体、光媒体、キャッシュメモリ、レジスタ（例えば、インストラクションを保持する）、またはデータおよび／またはインストラクションの揮発性または不揮発性保持を実行する他のタイプのデバイス（例えば、プロセッサ４０２上でまたはプロセッサ４０２によって実行されるソフトウエア）であるか、またはそれらを含む。メモリデバイス４０４は、不揮発性コンピュータ可読保持媒体の例である。
【０１１４】
いくつかの実施の形態では、ネットワークインタフェースデバイス４０６のそれぞれまたはいずれかは、１つまたは複数の回路（ベースバンドプロセッサおよび／または有線または無線トランシーバなど）を含み、１つまたは複数の有線通信技術（イーサネット（ＩＥＥＥ  ８０２．３）など）および／または無線通信技術（ブルートゥース、ＷｉＦｉ（ＩＥＥＥ  ８０２．１１）、ＧＳＭ、ＣＤＭＡ２０００、ＵＭＴＳ、ＬＴＥ、ＬＴＥ−Ａｄｖａｎｃｅｄ（ＬＴＥ−Ａ）、および／または他の短距離、中距離、および／または長距離無線通信技術など）のためのレイヤ１、レイヤ２、および／またはより高次のレイヤを実装する。トランシーバは、送信機および受信機のための回路を備えることができる。送信機および受信機は共通の筐体を共有することができ、送信および受信を実行するために筐体内の回路のいくつかまたはすべてを共有することができる。いくつかの実施の形態では、トランシーバの送信機および受信機は、いかなる共通の回路も共有しなくてもよく、および／または同じまたは別個のハウジング内にあってもよい。
【０１１５】
いくつかの実施の形態では、ディスプレイインタフェース４０８の各々またはいずれかは、プロセッサ４０２からデータを受信し、受信したデータに基づいて対応する画像データを（例えば、ディスクリートＧＰＵ、組み込みＧＰＵ、グラフィック処理を実行するＣＰＵなどを介して）生成し、および／または生成された画像データを画像データを表示するディスプレイデバイス４１２に出力する（例えば、高精細度マルチメディアインターフェース（ＨＤＭＩ）、ディスプレイポートインタフェース、ビデオグラフィックスアレイ（ＶＧＡ）インタフェース、デジタルビデオインタフェース（ＤＶＩ）など）、１つまたは複数の回路であるか、またはそれらを含む。代替的にまたは追加的に、いくつかの実施の形態では、ディスプレイインタフェース４０８の各々またはいずれかは、例えば、ビデオカード、ビデオアダプタ、またはグラフィックス処理ユニット（ＧＰＵ）であるか、またはそれらを含む。
【０１１６】
いくつかの実施の形態では、ユーザ入力アダプタ４１０のそれぞれまたはいずれかは、計算デバイス４００に含まれ、それに取り付けられ、またはそれと通信する１つまたは複数のユーザ入力デバイス（図４には示されていない）からユーザ入力データを受信し、処理し、受信した入力データに基づいてプロセッサ４０２にデータを出力する１つまたは複数の回路であるか、またはそれを含む。代替的にまたは追加的に、いくつかの実施の形態では、ユーザ入力アダプタ４１０の各々またはいずれかは、例えば、ＰＳ／２インタフェース、ＵＳＢインタフェース、タッチスクリーンコントローラなどであるか、またはそれらを含み、および／またはユーザ入力アダプタ４１０は例えば、キーボード、マウス、トラックパッド、タッチスクリーンなどのユーザ入力デバイス（図４には図示せず）からの入力を容易にする。
【０１１７】
いくつかの実施の形態では、ディスプレイデバイス４１２は、液晶ディスプレイ（ＬＣＤ）ディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、または他のタイプのディスプレイデバイスとすることができる。ディスプレイデバイス４１２が計算デバイス４００の構成要素である（例えば、計算デバイスおよびディスプレイデバイスが統合ハウジングに含まれる）実施の形態では、ディスプレイデバイス４１２は、タッチスクリーンディスプレイまたは非タッチスクリーンディスプレイとすることができる。ディスプレイデバイス４１２が計算デバイス４００に接続される（例えば、計算デバイス４００の外部にあり、有線および／または無線通信技術を介して計算デバイス４００と通信する）実施の形態では、ディスプレイデバイス４１２は例えば、外部モニタ、プロジェクタ、テレビジョン、ディスプレイ画面である。
【０１１８】
様々な実施の形態では、計算デバイス４００は、上述の要素（例えば、プロセッサ４０２、メモリデバイス４０４、ネットワークインタフェースデバイス４０６、ディスプレイインタフェース４０８、およびユーザ入力アダプタ４１０）の各々またはいずれかの１つ、２つ、または３つ、４つ、またはそれ以上を含む。代替的にまたは追加的に、いくつかの実施の形態では、計算デバイス４００は、プロセッサ４０２を含む処理システム、メモリデバイス４０４を含むメモリまたはストレージシステム、およびネットワークインタフェースデバイス４０６を含むネットワークインタフェースシステムのうちの１つまたは複数を含む。
【０１１９】
計算デバイス４００は多様な実施形態において、多くの異なる方法で構成されうる。単なる一例として、計算デバイス４００は、プロセッサ４０２が：マルチ（または単一）コアプロセッサと、第１ネットワークインタフェースデバイス（これは例えばＷｉＦｉやブルートゥースやＮＦＣなどで実装される）と、１つ以上のセルラ通信技術（例えば３Ｇ、４Ｇ  ＬＴＥ、ＣＤＭＡなど）を実施する第２ネットワークインタフェースデバイスと、メモリまたはストレージデバイス（例えばＲＡＭ、フラッシュメモリ、またはハードディスク）と、を含むように構成されうる。プロセッサ、第一のネットワークインタフェースデバイス、第二のネットワークインタフェースデバイス、およびメモリデバイスは、同一のＳＯＣ（例えば１つの集積回路チップ）の一部として統合されうる。別の例として、コンピューティングデバイスは、プロセッサ４０２が２、３、４、５つ、またはそれより多いマルチコアプロセッサを含み、ネットワークインタフェースデバイス４０６がＥｔｈｅｒｎｅｔを実施する第一のネットワークインタフェースデバイスとＷｉＦｉおよび／またはＢｌｕｅｔｏｏｔｈを実施する第二のネットワークインタフェースデバイスとを含み、並びにメモリデバイス４０４がＲＡＭおよびフラッシュメモリもしくはハードディスクを含むよう構成されうる。
【０１２０】
既述の通り、ソフトウェアモジュール（例えば、「エンジン」）またはソフトウェアプロセスが任意の動作を実行すると本書で記載されている場合はいつでも、当該動作は実際は、当該ソフトウェアモジュールを備えるインストラクションに従い基礎となるハードウェアエレメントによって実行される。前述と一致して、種々の実施の形態では、オークションコンピュータシステム１００、クライアントシステム１０８、外部システム１１０、ネットワークインタフェース１０６および１０６Ｂ、ならびにハードウエアプロセッサ１０２のそれぞれは、この段落の残りの部分において明確性のために個々に「コンポーネント」と呼ばれるが、それらのコンポーネントのそれぞれまたは任意の組み合せは、図４の計算デバイス４００の例を使用して実装される。そのような実施形態では、各構成要素に対して以下が適用される：（ａ）図４に示す計算デバイス４００のエレメント（すなわち、１つ以上のプロセッサ４０２、１つ以上のメモリデバイス４０４、１つ以上のネットワークインタフェースデバイス４０６、１つ以上のディスプレイインタフェース４０８、および１つ以上のユーザ入力アダプタ４１０）または前述のものの適切な組み合わせもしくはサブセットは、コンポーネントによっておよび／またはコンポーネント内に含まれるとして本明細書で説明される任意のソフトウェアモジュールによって実行されるとして本明細書で説明される動作、行動、もしくは特徴のそれぞれもしくは任意の組み合わせを実施するように構成され、適応され、および／またはプログラムされる、（ｂ）代替的または付加的に、１つ以上のソフトウェアモジュールがコンポーネント内に存在し、いくつかの実施形態では、（ソフトウェアモジュールによって扱われおよび／または使用されるとして本明細書で説明された任意のデータとともに）そのようなソフトウェアモジュールはメモリデバイス４０４（例えば様々な実施形態では、ＲＡＭのような揮発性メモリデバイス、命令レジスタ、および／またはフラッシュメモリもしくはハードディスクのような不揮発メモリデバイス）に格納され、ソフトウェアモジュールによって行われるとして本明細書で説明される全ての動作は、計算デバイス４００（すなわちネットワークインタフェースデバイス４０６、ディスプレイインタフェース４０８、ユーザ入力アダプタ４１０、および／またはディスプレイデバイス４１２）の中および／またはそれに接続される、他のエレメントと適切に連動するプロセッサ４０２によって実行されることが本明細書である程度説明される、（ｃ）代替的または付加的に、コンポーネントはデータを処理し、および／またはさもなければ扱い、いくつかの実施形態では、そのようなデータは、メモリデバイス４０４（例えばいくつかの実施形態では、ＲＡＭのような揮発性メモリデバイスおよび／またはフラッシュメモリもしくはハードディスクのような不揮発メモリデバイス）に格納され、および／または他のエレメントと適切に連動し、および／または計算デバイス４００（すなわちネットワークインタフェースデバイス４０６、ディスプレイインタフェース４０８、ユーザ入力アダプタ４１０、および／またはディスプレイデバイス５１２）に接続されるプロセッサ４０２によって処理され／扱われることが本明細書である程度説明される、（ｄ）代替的または付加的に、いくつかの実施の形態では、プロセッサ４０２によって実行される場合に、コンポーネントによっておよび／またはコンポーネント内に含まれるとして、本明細書で説明された任意のソフトウエアモジュールによって実行されるとして、本明細書で説明された動作のそれぞれまたは任意の組み合わせを、プロセッサ４０２に、計算デバイス４００内のおよび／またはそれに接続された他のエレメント（すなわち、メモリデバイス４０４、ネットワークインタフェースデバイス４０６、ディスプレイインタフェース４０８、ユーザ入力アダプタ４１０および／またはディスプレイデバイス５１２）と適切な場合には連携して、行わせるインストラクションをメモリデバイス４０２が格納する。
【０１２１】
前の段落と一致して、一例として、計算デバイス４００のインスタンスがオークションシステム１００を実装するために使用される実施の形態では、メモリデバイス４０４は、トランザクション要求ハンドラ１０３、スケジューリングエンジン１０４Ａ、計算エンジン１０４ｂ、およびマッチングエンジン１０４Ｃに関連付けられたファイル（たとえば、実行可能プログラムまたはライブラリ）をロードし、および／またはオークションコンピュータシステム、クライアントコンピュータシステム１０８、および／または外部システム１１０によって処理され、および／または、そうでなければ取り扱われるように本明細書で説明されるデータ（たとえば、１０３〜１０４Ｃの実行のために結果として得られるデータ）を保存することができる。プロセッサ４０２はトランザクション要求ハンドラ１０３、スケジューリングエンジン１０４Ａ、計算エンジン１０４ｂ、およびマッチングエンジン１０４Ｃを動作させるために、および／またはそうでなければオークションコンピュータシステム１００によって処理されるように本明細書で説明されるデータを処理するために使用され得る。
【０１２２】
図４に示され、上記で説明されたハードウエア構成は例として提供され、本明細書で説明された主題は様々な異なるハードウエアアーキテクチャおよび要素と併せて利用され得る。例えば、本明細書の多くの図では、個々の機能／アクションブロックが示され；様々な実施の形態では、これらのブロックの機能は（ａ）個々のハードウエア回路を使用して、（ｂ）記載された機能／アクションを実行するように特に構成された特定用途向け集積回路（ＡＳＩＣ）を使用して、（ｃ）記載された機能／アクションを実行するように特に構成された１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）を使用して、（ｄ）図４を参照して上述したハードウエア構成を使用して、（ｅ）他のハードウエア構成、アーキテクチャ、および構成を介して、および／または（ａ）〜（ｅ）に記載された技術の組み合わせを介して、実装され得る。
説明された主題の技術的利点
【０１２３】
いくつかの例では、異なるリソースのための複数の別個のトランザクションプロセスは、トランザクション要求者（参加者）の観点からは１つのトランザクションプロセスとして扱われる。これにより、参加者はリソースグループに対してデータトランザクション要求（例えば、単一のデータトランザクション要求）を行うことができ、リソースの各々は、トランザクション処理のより大きな整理されたシーケンスの一部であるそれ自体の対応するトランザクションプロセスを有する。トランザクションプロセスは一緒にシーケンス化されるので、参加者からのデータトランザクション要求の実行は、より効率的かつ柔軟な態様で処理されうる。特に、このタイプの実装は、参加者が個々に実行されるトランザクションプロセスのために複数のデータトランザクション要求を提出することにより労力を重複させる必要がなくなるので、より効率的なトランザクション処理を可能にする。代わりに、参加者はグループに対してトランザクション要求を提出することができ、システムはデータトランザクション処理が順次実行される際に、データトランザクション要求を自動的に調整することができる。これにより、１つの初期データトランザクション要求を複数の異なるデータトランザクションプロセスに関与させることができる。そのような実装は、システムの全体的な処理効率を改善する。
【０１２４】
特定の例では、異なるリソース（例えば、アセット）は一緒に（例えば、単一のファンドに）グループ化される。このタイプの実装では、クライアントがファンド全体およびその中の複数の個々のリソースにわたるコミットメント量を制限する注文を入力することができる。注文の一部として、クライアントは、ファンド内の各アセットについて固有の価格を定義することができる。
【０１２５】
アセットは、ファンド内の異なるアセットに対する複数の個々のオークションが順番に保持される、ファンド用シーケンス化オークションプロセスの一部であってもよい。オークションが順番に保持されるので、所与のマルチアセット注文（例えば、ファンドの複数のアセットに対して実行することができる注文）の連続性は、マルチアセット注文の元のコミットメントの量と比較して、所与のオークションについてマッチングされた量を追跡し続けることによって維持されうる。したがって、シーケンス化オークションプロセスにおいて注文が異なるオークションを通って移動するにつれて、コミットメント量は徐々に減少され得る。いくつかの例では、マルチアセット注文がゼロか１か注文としてフラグを立てられているが、その注文が完全マッチングしない場合、それはオークションシーケンス全体から削除され、オークションシーケンス全体がファンド、または複数のオークションのうち少なくともマルチアセット注文が参加した複数のオークション、について再計算され得る。
【０１２６】
したがって、本明細書で説明する技術を用いて、より効率的で柔軟なデータトランザクション処理を実行することができる。
＜選択された用語＞
【０１２７】
本書面では、「いくつかの実施形態」、「様々な実施形態」、「特定の実施形態」、「特定の例示的な実施形態」、「いくつかの例示的な実施形態」、「例示的な実施形態」に所定のアイテムが示されることが説明されるときはいつでも、または任意の他の類似の言葉が用いられるときはいつでも、所与のアイテムは少なくとも１つの実施形態に示されてはいるが、全ての実施形態に示される必要はないことは理解されたい。上述と整合して、本書では、動作が実行され「てもよく」、「ることができ」、もしくは「うる」ことと、機能、エレメント、もしくは構成要素が所与のコンテキストに含まれ「てもよく」、「ることができ」、もしくは「うる」、または適用可能なことと、所与のアイテムが所与の特性を有し「てもよく」、「ることができ」、もしくは「うる」こととが説明されるときはいつでも、または「〜てもよい」、「〜できる」もしくは「〜しうる」という用語を含む任意の類似の語句が使用されるときはいつでも、所与の動作、特徴、エレメント、構成要素、特性、などが少なくとも１つの実施形態に示されているが、全ての実施形態に示される必要はないことが理解されたい。本書で使用される用語と語句、およびそれらの変形は、特に明記しない限り、限定的ではなく包含的に解釈されるべきである。先の例としては、「および／または」は、関連して挙げられたアイテムのうちの１つ以上の任意のまたは全ての組み合わせ（例えば、ａおよび／またはｂは、ａ、ｂ、またはａとｂを意味する）を含み、単数形「ａ」、「ａｎ」および「ｔｈｅ」は「少なくとも１の」、「１つ以上の」、または類似のものを意味するとして読まれるべきであり、「例」という用語は議論中の主題の例を提供するためにもちいられるがそれの網羅的なものでも限定的リストでもなく、「備える」と「含む」（および他の活用とそれらの他の変形）は関連する挙げられたアイテムの存在を特定するが、１つ以上の他のアイテムの存在または追加を排除するものではなく、アイテムが「随意に（ｏｐｔｉｏｎａｌ）」と説明される場合、そのような説明は他のアイテムが随意ではないことを示すものと理解されるべきではない。
【０１２８】
本明細書で使用されるように、「非一時的のコンピュータ可読ストレージ媒体」は、レジスタ、キャッシュメモリ、ＲＯＭ、（Ｄ−ＲＡＭ、Ｓ−ＲＡＭ、または他のＲＡＭのような）半導体メモリ装置、フラッシュメモリといった磁気記録媒体、ハードディスク、光磁気記録媒体、ＣＤ−ＲＯＭ、ＤＶＤ、もしくはＢｌｕ−Ｒａｙディスクといった光学記録媒体、または非一時的の電子データストレージのための他のタイプの装置、を含む。「非一時的のコンピュータ可読ストレージ媒体」は一時的な伝搬する電磁信号は含まない。
＜説明された主題の付加的な応用＞
【０１２９】
限定的でなく図３Ａから図３Ｃを参照して含まれるような処理ステップ、アルゴリズムあるいはその類が特定の順序で記載またはクレームされている場合があるが、このような処理は、異なる順序で動作するように構成設定することができる。換言すれば、本明細書で明示されるかクレームされるいかなるシーケンスあるいはステップの順序も、そのステップがその順序で実行される必要性を示すものでは必ずしもなく、本明細書で説明される処理ステップは任意の可能な順序で実行されてもよい。また、いくつかのステップは、非同時的に発生するように記載されているあるいは暗示されているが（例えば、あるステップは、他のステップの後に記載されているからである）、同時に（または並行して）実行されうる。さらに、図面における図示による処理の説明は、図示される処理が他の変形や変更について排他的であることを暗示しているのではなく、また、図示される処理あるいはその任意のステップが必要であることを暗示しているのではなく、また、図示される処理が好ましいことを暗示しているのでもない。
【０１３０】
様々な実施形態が詳細に示され、説明されたが、請求項は特定の実施形態または例の何れにも限定されない。上記の説明の何れもが、任意の特定のエレメント、ステップ、範囲、または機能が必要不可欠であることを暗示するとして読まれるべきではない。上述の実施の形態の要素に対する構造的および機能的等価物のうち当業者に既知のものは全て、明示的に本明細書に参照により組み入れられており、包含されることが意図されている。さらに、本発明に包含されるために、デバイスや方法が、本発明により解決されるべきおのおの全ての課題を指向する必要はない。本書の実施形態、特徴、構成要素、コンポーネント、またはステップは、公に供することを意図されていない。
【要約】
ある例示的な実施の形態では、単一のトランザクションとして複数の個々のトランザクションプロセスを扱うシーケンス化トランザクションプロセスが提供される。参加者は、クライアントコンピュータシステムを介して、コミットする意思のある総量を（例えば、ボリュームでまたは他の量で）指定する要求（例えば、注文）を提出することができる。参加者はまた、シーケンス化トランザクションプロセス中にマッチングされるリソースの特定の量を特定してもよい。シーケンス化トランザクションプロセスは、次いで、各リソースのどれほどが提出された要求のそれぞれに対してマッチングされるであろうかを決定する。
【選択図】図１【図１】
0006667054.tif 000004
【図２】
0006667054.tif 000005
【図３Ａ】
0006667054.tif 000006
【図３Ｂ】
0006667054.tif 000007
【図３Ｃ】
0006667054.tif 000008
【図４】
0006667054.tif 000009