JP2019071093A - 分散型マッチングエンジン - Google Patents

分散型マッチングエンジン Download PDF

Info

Publication number
JP2019071093A
JP2019071093A JP2018240899A JP2018240899A JP2019071093A JP 2019071093 A JP2019071093 A JP 2019071093A JP 2018240899 A JP2018240899 A JP 2018240899A JP 2018240899 A JP2018240899 A JP 2018240899A JP 2019071093 A JP2019071093 A JP 2019071093A
Authority
JP
Japan
Prior art keywords
order
server
receiving
item
book
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018240899A
Other languages
English (en)
Inventor
ラブレス,ジェイコブ
Loveless Jacob
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CFPH LLC
Original Assignee
CFPH LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CFPH LLC filed Critical CFPH LLC
Publication of JP2019071093A publication Critical patent/JP2019071093A/ja
Priority to JP2021063844A priority Critical patent/JP2021108168A/ja
Priority to JP2023076446A priority patent/JP2023087085A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】分散型マッチングエンジンを提供すること。【解決手段】各取引アプリケーション122a〜fは、それぞれ、マッチングエンジン120a〜fと相互通信するように構成され、それによって、システム100のユーザA〜Fがアイテムを取引できるようにする。各取引アプリケーション122a〜fは、取引戦略を実行する自動化取引アルゴリズムであり、それによって、それぞれのユーザA〜Fの代わりに、取引注文を生成する。所与のサーバでの各取引アプリケーション(複数可)は、1つ以上のアイテムを取引するように構成され得る。各取引アプリケーション122a〜fは、各それぞれのサーバ101〜106/コンピューティングシステム130上で実行されるソフトウェアおよび/またはファームウェアおよび/またはハードウェアベースのアプリケーションである。【選択図】図1

Description

関連出願の相互参照
本出願は、Jacob Lovelessに対する2012年12月14日出願の米国仮出願第61/737,553号、および2013年3月15日出願の同第13/832,472号の利益を主張するものであり、これらのいずれも、それらの全体の参照により本明細書に組み込まれる。
いくつかの実施形態は、アイテムをマッチングおよび/または取引することに関する。
システムは、ユーザ間のアイテムの電子マッチングおよび/または取引のために使用され得る。
いくつかの実施形態に従う、例示的な分散型マッチングエンジンを示す。
図1を参照すると、例示的な実施形態に従う例示的システム100が、示される。システム100は、1つ以上のコンピューティングシステム(例えば、サーバ)101〜106を含んでもよい。コンピューティングシステム101〜106は、説明の目的のためサーバとして本明細書に参照され得る。しかしながら、サーバという用語の使用は、非限定的であり、他の種類のコンピューティングシステムが使用され得ることを理解されたい。
各サーバ101〜106は、1つ以上のプロセッサと1つ以上のメモリとを含み得、それらは、1つ以上のデータベースを含み得る。各サーバは、サーバがネットワーク110に接続してネットワーク110を通じて通信できるようにする1つ以上のネットワークハードウェア/ソフトウェア/ファームウェアベースのインターフェースを含み得る。ネットワーク110は、公開および/または秘密ネットワーク(複数可)を含んでもよく、任意の種類の技術に基づいて有線および/または無線ネットワークであってもよい。ネットワーク110は、バスおよび/またはバックプレーン型のアーキテクチャもまた含んでもよい。ネットワーク110は、ルータ、スイッチ等を含む1つ以上の要素を含んでもよい。ネットワーク110は、サーバ101〜106のうちの少なくとも各々が、他のものと通信することを可能にするように構成され得る。ネットワーク110はまた、サーバ101〜106がネットワーク110上にあり得るか、または図1に示されないがネットワーク110を介してアクセス可能な他のネットワーク上にあり得る他のコンピューティングシステム(例えば、コンピューティングシステム150)と通信することを可能にするように構成され得る。一実施例として、ネットワーク110は、1つ以上のルータ/スイッチ/等を介して、例えば、1つ以上の他の秘密および/または公開ネットワークとインターフェースする秘密ネットワークであってもよく、それによって、例えば、サーバ101〜106のうちのいずれか1つが、このようなネットワーク上で他のコンピューティングシステムと通信することを可能にする。サーバ101〜106のうちの1つ以上およびネットワーク110は、ユニキャスト、ブロードキャスト、および/またはマルチキャスト通信をサポートするように構成され得る。マルチキャスト通信は、他の種類のマルチキャスティングが使用されてもよいが、IPマルチキャスティングを含み得る。マルチキャスティングは、信頼できるかまたは信頼できないマルチキャスティングであり得る。当業者ならば、サーバ101〜106およびネットワーク110の上の説明が、単に例示的なものであり、更なるおよび/または他のサーバ/ネットワーク構成および機能性が使用され得ることを理解するであろう。例えば、ネットワーク110に加えて、サーバ101〜106のうちの1つ以上はまた、サーバが、図1に示されていない1つ以上の他の公開および/または秘密ネットワークに接続またはそれらを通じて通信できるようにする1つ以上の更なるネットワークハードウェア/ソフトウェア/ファームウェアベースのインターフェースも含み得る。
システム100内のサーバ101〜106のうちの1つ以上は、ハードウェア(例えば、プロセッサ構成、プロセッサの数、プロセッサ速度、メモリサイズ、メモリ速度等)および/またはシステムソフトウェア(例えば、オペーレーティングシステム)および/またはネットワークインターフェース(複数可)速度に関して同様に構成されるおよび/または実質的に同様に構成され得る。同様に、ネットワーク110を介して任意の他のサーバと通信するサーバ101〜106のうちの1つ以上の能力は、同じであり得る。サーバ101〜106のうちの1つ以上は、同じラック、室、建物等内に同一場所に配置され得る。加えて、ネットワーク110を構築するネットワーク要素はまた、サーバ101〜106と一緒に同一場所に配置され得る。再度述べるが、更なるおよび/または他の構成が可能である。例えば、各サーバは、異なる実行性能を有し得る。
システム100は、クラウドコンピューティングシステムとして称され得る。システム100は、ユーザA〜F等の1つ以上の他のユーザ/顧客にシステム100のリソースをリースするかまたは賃貸する1つ以上のエンティティによって所有および/または部分的に所有および/または維持/動作され得る。ユーザA〜Fは、銀行、投資ファンド、商社等の個人および/または企業であってもよい。あるいはおよび/または加えて、ユーザA〜Fのうちの1つ以上は、システム100のリソースを所有し得る。一実施例としては、サーバ101は、ユーザAにリースされ得るかまたはユーザAによって所有され得、サーバ102は、ユーザBにリースされ得るかまたはユーザBによって所有され得、サーバ103は、ユーザCにリースされ得るかまたはユーザCによって所有され得、サーバ104は、ユーザDにリースされ得るかまたはユーザDによって所有され得、サーバ105は、ユーザEにリースされ得るかまたはユーザEによって所有され得、および/またはサーバ106は、ユーザFにリースされ得るかまたはユーザFによって所有され得る。一般的に、各サーバ101〜106は、そのサーバのリソースにアクセスを有する特定のユーザに割り当てられ得る。所与のユーザは、システム100内の複数のサーバと関連付けられ得る/複数のサーバをリースし得る/所有し得る。一実施例に従うと、システム100は、更なるサーバがシステムに追加され得ることで拡張可能であり得、そのサーバは、ユーザA〜Fおよび/または新規ユーザによってリースされ得るかまたは所有され得る。システム100は、1つ以上のサーバの追加および/または削除が他のユーザに影響し得ないように、構成され得る。別の実施例としては、所与のサーバは、互いに関連付けを有しない複数の異なるユーザにリースされ得る/賃貸され得る。サーバは、ユーザのうちの1つによるサーバの使用が、他のユーザに影響せず、およびその逆もまた同様であるように、構成であり得る。
一実施例に従うと、システム100は、ユーザA〜F等のユーザが1つ以上のアイテムを互いに取引および/または売買できるようにする、取引またはマッチングシステム、および特に分散型取引/マッチングシステムとして、動作し得るおよび/または構成され得る。システム100上で取引されるアイテム(複数可)は、システムのユーザA〜Fのうちの1つ以上によって所有され得る。あるいはおよび/または加えて、ユーザA〜Fのうちの1つ以上は、長および/またはブローカーおよび/またはエージェントであってもよく、例えば、アイテム(複数可)を所有し得るエンティティ(複数可)の代わりに作用し得る。取引されるアイテムは、有形および/または無形アイテムを含んでもよい。一実施例に従うと、システム100は、例えば、確定利付証券、株式、外国為替等を含む1つ以上の金融商品を取引するように構成され得る。
したがって、各ユーザA〜Fは、システムの1つ以上の他のユーザと1つ以上の金融商品を取引するようにシステム100を使用し得る。当業者ならば、他の種類のアイテムが、例えば、不動産(例えば、土地、家屋、および/または建物)、消費生活用製品(例えば、自動車、電子機器)、チケット(例えば、航空機、コンサート)等のシステム100を介して取引され得るおよび/または買/売され得ることを理解するであろう。当業者ならば、取引またはマッチングシステムに加えておよび/またはそれに対する代替として、システム100が、他の種類の(複数可)システムとして動作し得る/それとして構成され得ることを理解するであろう。
サーバ101〜106のうちの1つ以上は、そこで実行される1つ以上のアプリケーション120a〜fも含み得る(例えば、メモリ内に記憶した)。一実施例としては、他のおよび/または更なる種類のアプリケーションが可能であるが、アプリケーション120a〜fは、マッチングエンジンとして本明細書に参照され得る。マッチングエンジン120a〜fは、ユーザA〜Fが互いの間でアイテムを買/売取引することができるようにし得る。マッチングエンジン120a〜fは、サーバ101〜106上で実行されるソフトウェアおよび/またはファームウェアおよび/またはハードウェアベースのアプリケーションであり得る。各サーバは、1つおよび/または複数のマッチングエンジンを含み得る。各サーバは、更なるおよび/または他のアプリケーションを含み得る。各サーバ101〜106のマッチングエンジン(複数可)は、同じおよび/または実質的に同じアプリケーションであり得るか、または異なるアプリケーションであり得る。例えば、各マッチングエンジンは、類似のマッチングアルゴリズムを実行してもよい。別の実施例としては、異なるマッチングエンジンは、異なるマッチングアルゴリズムを実行してもよい。マッチングエンジン120a〜fは、システム100を所有/動作するエンティティ(複数可)によって開発/維持され得る。このようなエンティティは、各サーバで実行される他のおよび/または更なるアプリケーションもまた開発/維持し得る。
各サーバは、ユーザA〜E等のユーザに関連付けられるそこで実行される1つ以上のアプリケーション122a〜eも含み得る(例えば、メモリ内に記憶した)。一実施例としては、他のおよび/または更なる種類のアプリケーションが可能であるが、アプリケーション122a〜eは、取引アプリケーションとして本明細書に参照され得る。別の実施例に従うと、1つ以上の取引アプリケーション(複数可)(アプリケーション122f等)が、サーバ101〜105上で実行されない場合がある。むしろ、アプリケーションは、コンピューティングシステム130等の、例えばサーバ106等のサーバに接続されるコンピューティングシステム上で実行され得る。コンピューティングシステム130は、サーバ106および/またはシステム100の他の要素と一緒に同一場所に配置され得るかまたは同一場所に配置されない場合がある。コンピューティングシステム130およびサーバ106は、1つ以上の秘密および/または公開ネットワーク131を通じて通信し得る。別の実施例としては、コンピューティングシステム130およびサーバ106は、ネットワーク110を通じて通信し得る。一実施例に従うと、コンピューティングシステム130は、システム100を所有し動作するエンティティによって所有および動作され得る。別の実施例に従うと、コンピューティングシステム130は、コンピューティングシステムが接続するサーバと関連付けられるユーザ(ここではユーザF)によって所有および動作され得る。当業者ならば、これらの構成が単に実施例であり、他のおよび/または更なる構成が可能であることを理解するであろう。例えば、各サーバ101〜105/コンピューティングシステム130は、1つおよび/または複数の取引アプリケーションを含んでもよい。各サーバ101〜105/コンピューティングシステム130は、ユーザA〜F等のユーザと関連付けられる更なるおよび/または他のアプリケーションもまた含んでもよい。
一実施例に従うと、各取引アプリケーション122a〜fは、それぞれ、マッチングエンジン120a〜fと相互通信するように構成され得、それによって、システム100のユーザA〜Fがアイテムを取引できるようにする。各取引アプリケーション122a〜fは、取引戦略を実行する自動化取引アルゴリズムであり得、それによって、例えば、それぞれのユーザA〜Fの代わりに、取引注文(例えば、入札、落札、該当、売上高)を生成する。所与のサーバでの各取引アプリケーション(複数可)は、1つ以上のアイテムを取引するように構成され得る。各取引アプリケーション122a〜fは、各それぞれのサーバ101〜105/コンピューティングシステム130上で実行されるソフトウェアおよび/またはファームウェアおよび/またはハードウェアベースのアプリケーションであり得る。各取引アプリケーションは、他の取引アプリケーションとは異なってもよく、それぞれのサーバが割り当てられるユーザによって開発されてもよい。例えば、ユーザAは、取引アプリケーション122aを開発し、そのアプリケーションをアプリケーションが実行されるサーバ101上に(例えば、管理アプリケーションを通じて)ロードし得る/ロードされた状態にし得る。同様に、ユーザBは、取引アプリケーション122bを開発し、そのアプリケーションをアプリケーションが実行されるサーバ102上に(例えば、管理アプリケーションを通じて)ロードし得る/ロードされた状態にし得る。加えておよび/または別の実施例としては、取引アプリケーション122a〜fは、システム100を所有/動作するエンティティ(複数可)によって提供される一般的なアプリケーション(API等)であってもよい。各インスタンスでは、各それぞれのユーザA〜Fは、そのそれぞれのアプリケーションを(例えば、ユーザが、それぞれのサーバ等に、それぞれのサーバからリモートのコンピューティングシステムを通じて、管理アプリケーションを通じてのいずれか、および/またはユーザインターフェースデバイス(キーボード/マウス/等)を通じて、インターフェースするAPIを通じて接続される)それぞれのニーズに見合うようにカスタマイズしてもよい。当業者ならば、これらの構成が単に実施例であり、他のおよび/または更なる構成が可能であることを理解するであろう。例えば、取引戦略を実行する自動化取引アルゴリズムである取引アプリケーション122a〜fよりもむしろ、取引アプリケーション122a〜fのうちの1つ以上は、それぞれのユーザ(複数可)がシステム100とインターフェースし注文を生成することを、可能にし得る。例えば、(リモートコンピューティングシステムを通じておよび/またはユーザインターフェースデバイス(キーボード/マウス/等)を通じてそれぞれのサーバ等に接続された)それぞれのユーザは、サーバのそれぞれのマッチングエンジンに手動で注文を提出できる場合がある。
考察されるように、各サーバでそれぞれの取引アプリケーション122a〜fと一緒にマッチングエンジン120a〜fは、ユーザA〜Fが相互間でアイテムを取引できるようにし得る。一実施例として、マッチングエンジンの単一のインスタンスは、1つの特定のアイテム(例えば、10年の記録)を取引するように構成され得る。したがって、所与のユーザA〜Fが、複数の異なるアイテム(例えば、5年および10年の記録)を取引することを望んだ場合、それぞれのサーバは、マッチングエンジン120実行の複数のインスタンスを有し得、各々がそれぞれの取引アプリケーション122の1つ以上のインスタンスと通信し得る。別の実施例としては、マッチングエンジンの単一のインスタンスは、複数のアイテムを取引するように構成され得、マッチングエンジンは、それぞれの取引アプリケーションの1つ以上のインスタンスと通信し得る。当業者ならば、これらが単に実施例であり、他のおよび/または更なる構成が可能であることを理解するであろう。例えば、所与のサーバが、複数の異なるユーザによって使用されている場合、サーバは、同じアイテムだが異なるユーザに対して取引するように構成されるマッチングエンジンの複数のインスタンスを有し得る。考察目的のためのみであるが、マッチングエンジン120は、1つのアイテムの取引を可能にするものとして説明されるであろう。
一実施例に従うと、所与のアイテムを取引することを望む所与のユーザA〜Fに関しては、それぞれのサーバのマッチングエンジン120a〜fは、そのアイテムのための注文帳124a〜fをサーバ上に維持し得る/維持するように構成され得る。一実施例としては、それぞれの注文帳は、それぞれのサーバのメモリ内に維持され得る。例えば、ユーザA〜Eの各々が、所与のアイテムを取引することを望む場合、各サーバ101〜105は、そのアイテムのための注文帳124a〜eを有してもよい。ユーザFがそのアイテムを取引することを望まなかった場合、サーバ106は、そのアイテムのための注文帳を有しない場合がある。このようにして、所与のアイテムのための注文帳は、複数のサーバにわたって分散化または非集中化され得る。同様に、ユーザA〜Eの各々が第2のアイテムもまた取引することを望む場合、それぞれのサーバ101〜105のマッチングエンジン(複数可)120a〜eはまた、第2のアイテムの第2の注文帳をサーバ上に維持し得る。当業者ならば、更なるおよび/または他の注文帳構成が可能であることを理解するであろう。
更なる実施例に従うと、システム100を通じて取引され得る各アイテムに関しては、そのアイテムは、ネットワーク100上のポート(例えば、インターネットプロトコル(IP)ポート)またはチャネルを割り当てられ得る。例えば、第1のアイテムは、割り当てられるポート「x」であり得、第2のアイテムは、割り当てられるポート「y」であり得る、等である。本明細書に更に考察されるように、第1のアイテムに関するネットワーク110を通じてのサーバ101〜106間の部分的なまたは全ての通信は、ポート「x」を介して起こり得、また同様に、第2のアイテムに関するネットワーク110を通じてのサーバ101〜106間の部分的なまたは全ての通信は、ポート「y」を介して起こり得る。更なる実施例に従うと、所与のユーザ(ここではAとする)が、第1のアイテムおよび第2のアイテムを取引することを望む場合、サーバ101/マッチングエンジン(複数可)120aは、ポート「x」および「y」上のメッセージ/コマンド/情報/データを送信および/または受信(および/または聴取する、監視する等)ように構成され得る。このようにして、ユーザAは、(例えば、取引アプリケーション122aを通じて)2つのアイテムに関する情報/データを送信/受信し得る。同様に、例えば、ユーザAが、第1のアイテムは取引するが第2のアイテムは取引しないことを望む場合、サーバ101/マッチングエンジン(複数可)120aは、ポート「x」上ではあるが「y」上ではないメッセージ/コマンド/情報/データを送信および/または受信(および/または聴取する、監視する等)ように構成され得る。このようにして、例えば、サーバ101/ユーザAは、それが関係を有しない第2のアイテム上のメッセージ/コマンド/情報/データを受信しないことを選択できる。同様に、ユーザAが(例えば、取引アプリケーション122aを通じて)第2のアイテム上の情報を受信する要望を後に有した場合、サーバ101/マッチングエンジン(複数可)120aは、ポート「y」上のメッセージを送信および/または受信(および/または聴取する、監視する等)ように構成され得る。一実施例に従うと、取引アプリケーション122a〜fは、(可能性としてはユーザ制御を通じて)どのアイテムが取引されるかおよび/または取引されないかを決定し得、この様式で、例えば、どのポート(複数可)が監視され、どのアイテムのために注文帳が維持されるかに関してそれぞれのサーバ/マッチングエンジン(複数可)の構成を制御し得る。別の実施例としては、ユーザが(例えば、ユーザが、それぞれのサーバ等に接続される、それぞれのサーバからリモートのコンピューティングシステムを通じて、管理アプリケーションを通じてのいずれか、および/またはユーザインターフェースデバイス(キーボード/マウス/等)を通じて、インターフェースするAPIを通じて)、例えば、どのポート(複数可)が監視され、どのアイテムのために注文帳が維持されるかに関してそれぞれのサーバ/マッチングエンジン(複数可)の構成を制御し得る。
システム100の例示的な動作に従うと、ユーザA/取引アプリケーション122a等のユーザ/取引アプリケーションが、所与のアイテム(ここではアイテム「w」とする)を取引することに興味があった場合、ユーザA/取引アプリケーション122aは、アイテム「w」のための入札注文または落札注文(その注文が価格および/または規模を含む)を生成し得る。取引アプリケーション122aは、マッチングエンジン120aへの注文を転送してもよく、それは、注文帳124a(すなわち、アイテム「w」のためのサーバ101での注文帳)に注文を発注してもよい。この注文は、注文帳124aに注文140として図1に示される。システム100の例示的な動作に従うと、ユーザAが、注文140を生成したため、マッチングエンジン120aは、注文140に対して注文の実行を制御することに関与し得る(例えば、注文140に対する逆注文をマッチングする)。システム100の更に例示的な動作に従うと、マッチングエンジン120aはまた、アイテム「w」に割り当てられるポートを介してネットワーク110を介して注文140をマルチキャストし得る。マルチキャストされた注文は、それがユーザA/取引アプリケーション122a/マッチングエンジン120aおよび/またはサーバ101から由来するいくつかの標示を含み得る。アイテム「w」に興味があり得、よってそのアイテムのためのポート上で受信するように構成されているシステム100上の各他のユーザ/サーバに関しては、それぞれのマッチングエンジンは、注文140を受信し得、アイテムのためのそのそれぞれの注文帳に注文を発注し得る。
例えば、ユーザB/取引アプリケーション122bおよびユーザC/取引アプリケーション122cは、アイテム「w」に興味を持っている可能性があり、したがって、マッチングエンジン120bおよび120cは、注文140を受信し、それぞれの注文帳124bおよび124c内に注文を発注するように構成されてもよい(140’および140”によって図1に示されるように)。同様に、マッチングエンジン120bおよび120cは、注文がユーザA/取引アプリケーション122a/マッチングエンジン120a/および/またはサーバ101から由来するいくつかの標示を記録できる。マッチングエンジン120bおよび120cはそれぞれ、取引アプリケーション122bおよび122cおよび/またはユーザBおよびCのそれぞれに、注文140の情報もまた転送し得る。注文140は、ユーザB〜C/取引アプリケーション120b〜cに知られるようになされ得るが、注文の由来(すなわち、ユーザAのID)は、システム100が匿名のマッチングシステムであるかどうかに応じて、知られるようになされ得るかまたはなされ得ない場合がある。
同様に、ユーザB/取引アプリケーション122bがアイテム「w」のための注文を生成した場合、取引アプリケーション122bは、マッチングエンジン120bへの注文を転送してもよく、それは、注文帳124b(すなわち、アイテム「w」のためのサーバ102での注文帳)に注文を発注してもよい。この注文は、注文帳124bに注文142として図1に示される。ユーザBが、注文142を生成したため、マッチングエンジン120bは、注文142に対して注文の実行を制御することに関与し得る(例えば、注文140に対する逆注文をマッチングする)。マッチングエンジン120bはまた、アイテム「w」に割り当てられるポートを介してネットワーク110を介して注文142をマルチキャストし得る。マルチキャストされた注文は、それがユーザB/取引アプリケーション122b/マッチングエンジン120b/および/またはサーバ102から由来するいくつかの標示を含み得る。アイテム「w」に興味があり得、よってそのアイテムのためのポート上で受信するように構成されているシステム100上の各他のユーザ/サーバに関しては、それぞれのマッチングエンジンは、注文142を受信し得、アイテムのためのそのそれぞれの注文帳に注文を発注し得る。例えば、考察されるように、ユーザA/取引アプリケーション122aおよびユーザC/取引アプリケーション122cは、アイテム「w」に興味を持っているため、マッチングエンジン120aおよび120cは、注文142を受信し得、それぞれの注文帳124aおよび124c内に注文を発注し得る(142’および142”によって図1に示されるように)。同様に、マッチングエンジン120aおよび120cは、注文がユーザB/取引アプリケーション122b/マッチングエンジン120bおよび/またはサーバ102から由来するいくつかの標示を記録できる。マッチングエンジン120aおよび120cはそれぞれ、取引アプリケーション122aおよび122cおよび/またはユーザAおよびCのそれぞれに、注文142の情報もまた転送し得る。
システム100の更に例示的な動作に従うと、ユーザA/取引アプリケーション122aが注文140の全てまたは一部を後に取り消した場合、それは、注文のための取り消しコマンドを生成し得、そのコマンドは、マッチングエンジン120aに転送され得る。マッチングエンジン120aは、次に、その注文帳124aから注文を取り消すことができ、また、アイテム「w」に割り当てられるポートを介してネットワーク110を介して取り消しコマンドをマルチキャストできる。他のサーバが、取り消しコマンドがどの注文を指すかを知ることができるように、取り消しコマンドは、それがユーザA/取引アプリケーション122a/マッチングエンジン120aおよび/またはサーバ101から由来するいくつかの標示を含み得る。アイテム「w」に興味があり得、よってそのアイテムのためのポート上で受信するように構成されている各他のユーザ/サーバに関しては、それぞれのマッチングエンジンは、取り消しコマンド受信し得、そのそれぞれの注文帳からそれぞれの注文を取り消し得る。例えば、マッチングエンジン120b〜cは、取り消しコマンド受信し、注文帳124b〜cから注文140を取り消してもよい。マッチングエンジン120b〜cはまた、取引アプリケーション122b〜cおよび/またはユーザBおよびCに、注文140が入手不可であることを通知し得る。
Aからの入札/落札注文140が取り消されていないと仮定すると、ユーザB/取引アプリケーション122bは、例えば、(該当/売上高コマンドが価格および規模を含み得る)注文に対する該当/売上高等の取引コマンド/逆注文/反対注文を生成し得る(別の実施例としては、取引コマンドは、特定の価格等で注文140と交差/マッチする入札または落札であり得る)。取引アプリケーション122bは、取引コマンドをマッチングエンジン120bに転送し得、それは、その注文帳124bをマッチング注文のために検索し得、それは、コマンドが少なくともユーザAからの注文140に対してマッチすることを認識/決定し得る(注文142がユーザBから由来することを認識するマッチングエンジン120bは、注文142に対して取引コマンドをマッチさせるように試みなくてもよい)。応答して、マッチングエンジン120bは、アイテム「w」に割り当てられるポートを介してネットワーク110を介して取引コマンドをマルチキャストし得る。この取引コマンドが、例えば、ユーザB/取引アプリケーション122b/マッチングエンジン120b/および/またはサーバ102から由来するといういくつかの標示を追加することに加えて、記述したように、マッチングエンジン120aが、ユーザA/サーバ101から由来する注文に対して実行することに関与し得るため、取引コマンドは、具体的に、ユーザA/取引アプリケーション122a/サーバ101/および/またはマッチングエンジン120aに対してタグ付され得る/指定され得る/向けられ得る。当業者ならば、他の媒体を使用して、取引コマンドが、マッチングエンジン120aがそれに対して実行することに関与し得る注文に対するとういうことをマッチングエンジン120aに通知し得ることを理解するであろう。システム100の1つの例示的な動作に従うと、他のサーバ/マッチングエンジンは、マルチキャストされた取引コマンドを受信し得(例えば、アイテム「w」に割り当てられるポート上で聴取しているもの)、コマンドがユーザA/取引アプリケーション122a/サーバ101/および/またはマッチングエンジン120aに対して指定されたと認識するコマンドを無視し得る。システム100の別の例示的な動作に従うと、このようなサーバ/マッチングエンジンは、マルチキャストされた取引コマンドを受信し得、可能性のある取引の通知をそれらのそれぞれの取引アプリケーションおよび/またはユーザに提供し得る。一実施例に従うと、実際の取引コマンドは、暗号化され得る。
更なる実施例に従うと、更なる注文がユーザBのではない注文帳124bに存在し、ユーザB/取引アプリケーション122bからの取引コマンドが、注文140を超える規模であり、および/またはそれによって、これらの他の注文(複数可)に対する場合、マッチングエンジン120bはまた、アイテム「w」に割り当てられるポートを介してネットワーク110を介して(更なる注文(複数可)に関与するサーバ等に対してタグ付けされた)更なる取引コマンド(複数可)をマルチキャストし得る。別の代替としては、マッチングエンジン120bは、ユーザA/取引アプリケーション122a/サーバ101/および/またはマッチングエンジン120aに対してタグ付けされた同じ取引コマンドをユーザし得、それを更なる注文(複数可)に関与するサーバ等に対してタグ付けもし得る。当業者ならば、他の変形が可能であることを理解するであろう。
取引コマンドの受信時に、サーバ101/マッチングエンジン120aは、それに対してコマンドがタグ付けされることを認識し得る。マッチングエンジン120aは、次に、注文140がまだ入手可能かを決定し得る(例えば、取り消されていないおよび/または他のユーザによってその注文に対して実行されていない、注文帳124aにまだ存在するか、等)。まだ入手可能である場合、マッチングエンジン120aは、その注文帳124aから注文140を削除すること(またはそのうちの全てに対して実行されていない場合、注文帳内の注文140の入手可能な数量を減少させること)によって注文140に対して取引コマンドを実行してもよい。マッチングエンジン120aはまた、取引アプリケーション122aおよび/またはユーザAと通信し得、注文140に対して実行されたことを示し得る。更には、マッチングエンジン120aは、アイテム「w」に割り当てられるポートを介してネットワーク110を介して取引確認メッセージをマルチキャストし得る。構造メッセージは、実際に対して実行された注文140の量についての指標を含み得る。確認メッセージは、ユーザB/取引アプリケーション122b/マッチングエンジン120b/および/またはサーバ102に対して具体的にタグ付けされ得る。確認メッセージの受信時に、マッチングエンジン124bは、その注文帳124bから注文140(またはその一部)を削除することでき、マッチした注文をユーザBおよび/または取引アプリケーション122bに通知することもできる。ユーザBに加えて、アイテム「w」に興味がある全ての他のユーザ/サーバ/マッチングエンジンは、確認メッセージを受信し得、それぞれのマッチングエンジンに、それらの注文帳から注文140(またはその一部)を削除させ得る。このようなマッチングエンジンは、それらのそれぞれのユーザおよび/または取引アプリケーションにマッチした注文を通知することもできる。つまり、マッチングエンジン120cは、その注文帳124cから注文140を削除することでき、取引アプリケーション122cおよび/またはユーザCに通知することもできる。別のおよび/または更なる実施例に従うと、確認メッセージをマルチキャスティングするマッチングエンジン120aに加えて、それは、他のマッチングエンジン(エンジン120c等)にその注文帳から注文140を削除させるいくつかの他のコマンド(取り消しコマンドのような)をマルチキャストすることができる。当業者ならば、他のおよび/または更なるコマンドシーケンスが使用され得ることを理解するであろう。
別の実施例としては、上に考察されるようにユーザBからの取引コマンドの受信時に、マッチングエンジン120aが、注文140がまだ入手可能でないかを決定する場合(例えば、取り消されたおよび/または他のユーザによってすでにその注文に対して実行された等)、それは、注文140に関する取り消しメッセージおよび/または取引の未確認および/または取引が失敗したおよび/または取引が成立しなかった等を具体的に指定するメッセージ(それはユーザB/取引アプリケーション122b/マッチングエンジン120b/および/またはサーバ102対して具体的にタグ付され得る)をマルチキャストし得る。それとは関係なく、メッセージ(複数可)の効果は、全ての適用可能なマッチングエンジンが、それらのそれぞれの注文帳から注文140を削除するためのものであり得る。再度述べるが、それぞれの取引アプリケーションおよび/またはユーザは、それらのそれぞれのマッチングエンジンによってコマンド140が入手不可であることを通知され得る。取引アプリケーション122bおよび/またはユーザBは、取引が失敗したことを具体的に通知され得る。
別の実施例に従うと、上に考察されるようにマッチングエンジン120aが、注文140がまだ入手可能であると決定できた後に、マッチングエンジン120aは、最初に取引アプリケーション122aおよび/またはユーザAと通信して注文140に対して実行する要望がまだ存在するかどうかを決定し得る。そうであった場合、マッチングエンジン120aは、確認メッセージ等を生成することに関して上に考察されるように進行してもよい。そうでなかった場合、マッチングエンジン120aは、その注文帳124aから注文140を削除してもよく、次いで、取り消しおよび/または未確認メッセージを生成することに関して上に考察されるように進行してもよく、他の注文帳から削除される注文140をもたらし得る。再度述べるが、他のサーバでのそれぞれの取引アプリケーション/ユーザは、それらのそれぞれのマッチングエンジンによってコマンド140が入手不可であることを通知され得る。
それらはまた、注文140が保留中であるが、注文のそれぞれの発信者(すなわち、ユーザA)が、注文に対して実行することをこれ以上望まないことも通知され得る。当業者ならば、注文140に対する実行または注文140に対する非実行に関係なく、他のおよび/または更なるメッセージの流れが可能であることを理解するであろう。
上に考察される例示的な動作の更なる態様に従うと、例えば、ユーザC/取引アプリケーション122cが、本明細書に考察されるようにユーザB/取引アプリケーション122bと実質的に類似時に注文140に対する取引コマンドを生成した場合、マッチングエンジン120cは、マッチングエンジン120bと類似の様式でネットワーク110を介して取引コマンドをマルチキャストし得る。このような事象では、マッチングエンジン120aは、注文140に対する2つの取引コマンド(ユーザBから1つおよびユーザCから1つ)を受信し得、サーバ101にどれが最初に達するという発生に応じて、各々が、一方が他方の前に必然的に待ち行列を作り得る。再度述べるが、マッチングエンジン120aは、ユーザA/サーバ101から由来する注文(ここでは、例えば注文140)に対する実行を制御することに関与し得るため、マッチングエンジン120aは、サーバ101にどれが最初に達するかに応じて、ユーザBおよびユーザCのうちの1つのみに対して注文140を実行し得る(両ユーザが完全規模の注文140を実行するように試みたと仮定して)。マッチングエンジン120aは、例えば、他の取引コマンドに対する未確認を送信し得る。別の実施例としては、ユーザBおよびユーザCのうちの1つの取引コマンドは、完全に実施され得、注文140が両方を満たすのに十分な規模でない場合、他方は、部分的にのみ実行され得る。当業者ならば、他の変形が可能であることを理解するであろう。
当業者ならば、システム100の上に説明される例示的な動作が実施例であり、他のおよび/または更なる例示的な動作が可能であることを理解するであろう。
更なる例示的な特徴に従うと、システム100は、ドロップによるコピー(drop copies)を作成する必要性を削除することができる。例えば、本明細書に説明されるように取引確認メッセージを生成するマッチングエンジン120aでは、例えば、可能性としてこのメッセージを受信しそれぞれの注文帳124b〜fを更新する他のマッチングエンジン120b〜fに加えて、ネットワーク110に接続される他のコンピューティングシステム(複数可)(コンピューティングシステム150によって表される)は、これらのメッセージを受信することができる。これらの他のコンピューティングシステムは、取引アイテムのためにシステム100を使用することを求めているユーザ/顧客と関連付けられてもよいかまたは関連付けられなくてもよい。例えば、コンピューティングシステム150は、本明細書に考察されるユーザAとBとの間の例示的なトランザクション等のトランザクションを消去し得るクリアリングハウスと関連付けられてもよい。
システム100の更なる例示的な特徴に従うと、例えば、取引アプリケーション(アプリケーション122e等)が、例えば、市場外である価格でアイテムの入札および/または落札を提出し始め、取引アプリケーション122eを停止し、可能性としてこれらの入札および落札を市場から削除する必要性が存在する場合、サーバ105は、オフラインと見なされ得る。サーバ105をオフラインと見なすことは、例えば、(管理者からのコマンドによって等)サーバ全体をオフラインと見なすこと、マッチングエンジン120eをシャットダウン/停止/中断すること、マッチングエンジン120e/サーバ105にアイテムに、これ以上関連付けられるポートを聴取/ポート上で受信/ポートを介して伝送させないこと、を含み得る。とりわけ、各動作が、取引アプリケーション122eにこれ以上注文を提出できなくさせることができる。同様に、マッチングエンジン120eが、取引アプリケーション122eによって提出される注文に対する取引コマンドの実行を制御することに関与し得るため、上述の各動作は、マッチングエンジン120eにこれ以上そのようなことをさせないであろう。例えば、マッチングエンジン120e/サーバ105にこれ以上アイテムと関連付けられたポートを聴取/ポート上で受信させないことで、マッチングエンジン120eは、取引コマンドを受信しないであろう。当業者ならば、これらが単に実施例であり、他のおよび/またはシステム100の更なる例示的な特徴が可能であることを理解するであろう。
本開示は、所定の実施形態に関して記載されるが、概して、実施形態及び方法の関連する方法、代替、および再配列が当業者には明らかであろう。したがって、例示的実施形態の上記の記載は、本開示を制約しない。他の変更、置換、および代替もまた、本開示の精神および範囲を逸脱することなく可能である。
以下の項は、本明細書を解釈する上での指針を提供する。
I.用語
「製品」という用語は、その他特に明示的に記載のない限り、マシン、製造、および/または物の組成を意味する。
「プロセス」という用語は、その他特に明示的に記載のない限り、プロセス、アルゴリズム、方法等を意味する。
各プロセス(方法、アルゴリズム、または他で呼ばれるかに関わらず)は本質的に、1つ以上のステップを含み、したがって、プロセスの「ステップ」(単数または複数)へのあらゆる参照は、プロセスの単なる説明、または「プロセス」等の用語の単なる記述において本質的な先行根拠を有する。したがって、請求項におけるプロセスの「ステップ」(単数または複数)への参照は、十分な先行根拠を有する。
「発明」等の用語は、その他特に明示的に記載のない限り、「本明細書において開示される1つ以上の発明」を意味する。
「ある実施形態」、「実施形態」、「実施形態(複数)」、「該実施形態」、「該実施形態(複数)」、「1つ以上の実施形態」、「いくつかの実施形態」、「所定の実施形態」、「一実施形態」、「別の実施形態」等の用語は、その他特に明示的に記載のない限り、「発明の1つ以上の(しかし全てではない)実施形態」を意味する。
本発明の「変形」という用語は、その他特に明示的に記載のない限り、本発明の実施形態を意味する。
「指標」という用語は、極めて広い意味で使用される。事柄の「指標」は、事柄を決定するために使用され得る任意のものを含むことを理解されたい。
事柄の指標は、事柄を特定する電子メッセージを含んでもよい(例えば、ウィジェットに取り付けられたシリアル番号によるウィジェットの特定、ウィジェットの1つ以上の特性によるウィジェットの特定)。事柄の指標は、事柄を計算および/または参照するために使用され得る情報を含み得る(例えば、ウィジェットが、ウィジェットを決定するために使用され得る一部であるマシンを特定する情報)。事柄の指標は、事柄に関連する事柄を指定し得る(例えば、事柄の特性、事柄の名称、事柄に関連する事柄の名称)。事柄の指標は、事柄に関連する事柄を指定しない場合がある(例えば、「ある(a)」という文字は、文字「ある(a)」を解釈してウィジェットを特定するように構成されるコンピュータシステムのウィジェットの指標であり得る)。事柄の指標は、事柄のサイン、兆し、および/またはトークンを含み得る。指標は、例えば、コード、参照、実施例、リンク、信号、および/または識別子を含み得る。事柄の指標は、事柄を表し、説明し、および/またはその他特に事柄に関連付けられた情報を含み得る。
事柄の指標の変換は、事柄の指標であり得る(例えば、事柄の暗号化された指標は、事柄の指標であり得る)。事柄の指標は、事柄それ自体、事柄のコピー、および/または事柄の一部を含み得る。事柄の指標は、指標を理解するように構成されない事柄に対して無意味なものである場合がある(例えば、ある人は、文字「ある(a)」がウィジェットを示すが、コンピュータシステムが文字「ある(a)」からウィジェットと判定し得るため、それがそれでもなおウィジェットの指標であり得ることを理解しない場合がある)。事柄の指標は、事柄が、事柄または任意のものが決定されることを意味しないと決定するように使用され得る事実を理解されたい。事柄の指標は、その他特に指定されない限り、事柄の任意の数の指標を含み得る。事柄の指標は、他の事柄の指標(例えば、多くの事柄を示す電子メッセージ)を含んでもよい。
(指標は、特許請求の範囲の言語において非常に広い用語として使用され得る。例えば、金融商品の指標を受信すること。)
「表す」という用語は、(1)単語、記号、同様のものが行うように、表現する、指定する、表象する、または示すように機能すること、(2)いくつかの用語、文字、記号、同様のものによって表現するまたは指定すること、(3)写真が行うように、そのものを描く、または描写、または提示すること、または(4)サインまたは記号そのものとして機能すること、を意味する。
実施形態を説明する際の「別の実施形態」への参照は、その他特に明示的に記載のない限り、参照された実施形態が別の実施形態(例えば、参照された実施形態の前に記載された実施形態)と相互に排他的であることを暗示しない。同様に、2つ(以上)の実施形態が参照されるという単なる事実は、これらの実施形態が相互に排他的であることを暗示しない。
本発明の一実施形態は、本発明の2つ以上の他の実施形態を含み得るかまたは網羅し得るかまたは包括し得る。例えば、要素a、b、およびcを含む第1の実施形態は、要素a、b、c、およびdを含む第2の実施形態、ならびに要素a、b、c、およびeを網羅する第3の実施形態を網羅し得る。同様に、第1、第2、および第3の実施形態の各々は、要素a、b、c、d、およびeを含む第4の実施形態を網羅し得る。
「含む」、「備える」という用語およびそれらの変形は、その他特に明示的に記載のない限り、「含むが、必ずしも限定されない」ことを意味する。このため、例えば、「マシンは、赤いウィジェットおよび青いウィジェットを含む」という文は、マシンが赤いウィジェットおよび青いウィジェットを含むが、可能性として1つ以上の他のアイテムも同様に含み得ることを意味する。
「〜からなる」という用語およびその変形は、その他特に明示的に記載のない限り、「〜を含み、かつまた〜に限定される」ことを意味する。このため、例えば、「マシンは、赤いウィジェットおよび青いウィジェットからなる」という文は、マシンが赤いウィジェットおよび青いウィジェットを含むが、その他には何も含まないことを意味する。
「構成する」という用語およびその変形は、その他特に明示的に記載のない限り、「その成分、その構成部分、またはその要素を作り上げる」ことを意味する。このため、例えば、「赤いウィジェットおよび青いウィジェットはマシンを構成する」という文は、マシンが、赤いウィジェットおよび青いウィジェットを含むことを意味する。
「排他的に構成する」という用語およびその変形は、その他特に明示的に記載のない限り、「その成分を排他的に作り上げる、その構成部分のみである、またはその要素のみである」ことを意味する。このため、例えば、「赤いウィジェットおよび青いウィジェットはマシンを排他的に構成する」という文は、マシンが、赤いウィジェットおよび青いウィジェットだけ(すなわち、他には何もない)からなることを意味する。
「ある」、「一」、「1つ」および「その」(「a」、「an」および「the」)という用語は、その他特に明示的に記載のない限り、「1つ以上」を指す。このため、例えば、「ウィジェット」という語句は、その他特に明示的に記載のない限り、「1つ以上のウィジェット」を意味する。同様に、「ウィジェット」という語句を記した後、「ウィジェット」という語句の連続の記述は、「1つ以上のウィジェット」を意味する。したがって、「前記・その(the)」という単語は、先行根拠を有する特定の用語も指し得ることを理解されたい。例えば、段落に、「ある特定の単一の特徴」と記され、次いで、「前記特徴」を指す場合、そのとき「前記特徴」という語句は、先に記された「特定の単一の特徴」を指すことを理解されたい(「ある特定の単一の特徴」中の「ある」という用語は、「1つ」の特定の単一の特徴を指し、「1つ以上の」特定の単一の特徴ではないことを理解されたい)。
「複数」という用語は、その他特に明示的に記載のない限り、「2つ以上」を意味する。
「本明細書において」という用語は、その他特に明示的に記載のない限り、「参照によって組み込まれてもよい任意の事柄を含む、本明細書において」を意味する。
「のうちの少なくとも1つ」という語句は、このような語句が複数の事柄(事柄の列挙リスト)を修飾する場合、その他特に明示的に記載のない限り、それらの事柄の1つ以上の任意の組み合わせを意味する。例えば、「ウィジェット、車、ハンドルのうちの少なくとも1つ」という語句は、(i)ウィジェット、(ii)車、(iii)ハンドル、(iv)ウィジェットおよび車、(v)ウィジェットおよびハンドル、(vi)車およびハンドル、または(vii)ウィジェット、車、およびハンドルのいずれかを意味する。「のうちの少なくとも1つ」という語句は、このような語句が複数の事柄を修飾する場合、複数の事柄「の各々の1つ」を意味しない。例えば、「ウィジェット、車、ハンドルのうちの少なくとも1つ」という語句は、「1つのウィジェット、1つの車、および1つのハンドル」を意味しない。
「1つ」、「2つ」等の数値用語は、何らかの数量を示すために基数として使用される場合(例えば、1つのウィジェット、2つのウィジェット)、その数値用語によって示される数量を意味するが、少なくともその数値用語によって示される数量、を意味しない。例えば、「1つのウィジェット」という語句は、「少なくとも1つのウィジェット」を意味せず、したがって、「1つのウィジェット」という語句は、例えば、2つのウィジェットを網羅しない。
「基づく」という語句は、その他特に明示的に記載のない限り、「のみに基づく」ことを意味しない。すなわち、「基づく」という語句は、「のみに基づく」および「少なくとも基づく」の両方を網羅する。「少なくとも基づく」という語句は、「少なくとも部分的に基づく」という語句と同等である。例えば、「要素Aは、要素Bおよび要素Cに基づいて算出される」という語句は、要素AがB掛けるCの積として算出される(すなわち、A=B×C)実施形態、Aが、B足すCの和として算出される(すなわち、A=B+C)実施形態、Aが、B掛けるC掛けるDの積として算出される実施形態、Aが、B足すC足すD掛けるEの平方根の和として算出される実施形態等を網羅する。
「表す」等の用語は、その他特に明示的に記載のない限り、排他的ではない。例えば、「表す」という用語は、その他特に明示的に記載のない限り、「のみを表す」ことを意味しない。例えば、「データがクレジットカード番号を表す」という語句は、「データがクレジット番号だけを表す」および「データがクレジットカード番号を表し、データは他の何らかも表す」の両方を網羅する。
「それにより」という用語は、本明細書において、「それにより」という用語の前に明示的に記された何かの意図された結果、目的、または帰結のみを表現する節または他の単語セットに先行するようにのみ使用される。したがって、「それにより」という用語が特許請求の範囲内で使用される場合、「それにより」という用語が修飾する節または他の単語は、特許請求の範囲の特定の更なる制限を確立せず、または特許請求の範囲もしくは意味を制限しない。
「例えば」、「等」という用語および同様の用語は、「例を挙げれば」を意味し、したがって、それらが説明する用語または語句を制限しない。例えば、「コンピュータはインターネットを介してデータ(例えば、命令、データ構造)を送信する」という文では、「例えば」という用語は、「命令」が、コンピュータがインターネットを介して送信することができる「データ」の一例であることを説明すると共に、「データ構造」が、コンピュータがインターネットを介して送信することができる「データ」の一例であることも説明する。しかし、「命令」および「データ構造」は両方とも、「データ」の単なる例にすぎず、「命令」および「データ構造」以外の他の物事も「データ」であり得る。
「それぞれ」という用語および同様の用語は、「個々に」を意味する。したがって、2つ以上の物事が特性を「それぞれ」有する場合、このような各物事はそれ自体の特性を有し、これらの特性は互いに異なってよいが、互いに異なる必要はない。例えば、「2つのマシンの各々がそれぞれの機能を有する」という語句は、2つのマシンのうちの第1のものが機能を有し、2つのマシンのうちの第2のものも同様に機能を有することを意味する。第1のマシンの機能は、第2のマシンの機能と同じであってもよく、または同じでなくてもよい。
「すなわち」という用語および同様の用語は、「つまり」を意味し、したがって、それが説明する用語または語句を制限する。例えば、「コンピュータはインターネットを介してデータ(すなわち命令)を送信する」という文では、「すなわち」という用語は、「命令」が、コンピュータがインターネットを介して送信する「データ」であることを説明する。
数値範囲は、その他特に明示的に記載のない限り、その範囲における整数および非整数を含む。例えば、範囲「1〜10」は、1〜10の整数(例えば、1、2、3、4、...9、10)および非整数(例えば、1.0031415926、1.1、1.2、...、1.9)を含む。
2つ以上の用語または語句が同義語である場合(例えば、用語または語句が同義語であるという明示的な記載のため)、1つのこのような用語または語句の事例は、別のこのような用語または語句が異なる意味を有さなければならないことを意味しない。例えば、ある文が、「含む」という意味が「含むが、限定されない」と同義であると示す場合、「含むが、限定されない」という語句の単なる使用は、用語「含む」が「含むが、限定されない」以外を意味することを意味しない。
II.決定する
「決定する(determining)」という用語およびその文法的変形(例えば、価格の決定、値の決定、ある特定の基準を満たすオブジェクトの決定)は、極めて広い意味で使用される。「決定する」という用語は、広範囲の動作を包含するため、「決定する」は、算出する、計算する、処理する、導出する、検査する、参照する(例えば、テーブル、データベース、または別のデータ構造を参照する)電子フォーマットまたはデジタル表現にレンダリングする、特定する等を含むことができる。「決定する」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリ内のデータにアクセスすること)等も含むことができる。また、「決定する」は、解決すること、選択すること、選ぶこと、確立すること等も含むことができる。
「決定する」という用語は、確実性または絶対的な正確さを含意せず、したがって、「決定する」は、推定すること、推断すること、予測すること、推測すること、平均化すること等を含むことができる。
「決定する」という用語は、数学的処理を実施しなければならないことを含意せず、数値的方法を使用しなければならないことを含意せず、かつアルゴリズムが使用されることを含意しない。
「決定する」という用語は、特定の任意のデバイスを使用しなければならないことを含意しない。例えば、コンピュータが決定することを実施する必要は必ずしもない。
「決定する」という用語は、「算出する」ことを含んでもよい。「算出する」という用語は、1つ以上の算出を実施することを含むと理解されるべきである。算出することは、計算すること、処理すること、および/または導出することを含んでもよい。算出することは、コンピューティングデバイスによって実施され得る。例えば、事柄を算出することは、コンピュータプロセッサによってアルゴリズムをデータに適用すること、およびプロセッサの出力として事柄を生成することを含み得る。
「決定する」という用語は、「参照する」ことを含んでもよい。「参照する」という用語は、1つ以上の参照を、例えば、事柄に対してなすことを含むと理解されるべきである。参照することは、問い合わせること、アクセスすること、選択すること、選ぶこと、読み出すこと、および/または検索することを含み得る。参照する作動は、コンピューティングデバイスによって実施され得る。例えば、事柄を参照することは、事柄がプロセッサによって記憶されるメモリ場所を読み出すことを含んでもよい。
「決定する」という用語は、「受信する」ことを含んでもよい。例えば、事柄を受信することは、事柄を取り込むことを含んでもよい。いくつかの実施形態では、受信することは、事柄が通って取り込まれるネットワークインターフェースを動作すること等の事柄を取り込むように実施された作動を含んでもよい。いくつかの実施形態では、受信することは、ダイレクトメモリ書き込みまたはハードワイヤード回路等において事柄を取り込むように実施された作動なしに実施されてもよい。事柄を受信することは、事柄を算出した可能性があるリモート情報源から事柄を受信することを含んでもよい。
III.文章の形態
第1の請求項の制限が、特徴の1つならびに特徴のうちの2つ以上を包含し(例えば、「少なくとも1つのウィジェット」等の制限は、1つのウィジェットならびに2つ以上のウィジェットを包含する)、第1の請求項に従属する第2の請求項において、第2の請求項が、その制限を指すために定冠詞「前記(the)」を使用する場合(例えば、「前記ウィジェット(the widget)」)、この単なる使用は、第1の請求項が特徴のうちの1つのみを包含することを含意せず、第2の請求項が特徴のうちの1つのみを包含することを含意しない(例えば、「前記ウィジェット」は、1つのウィジェットおよび2つ以上のウィジェットの両方を包含することができる)。
序数(「第1の」、「第2の」、「第3の」等)が用語の前に形容詞として使用される場合、その序数は(その他特に明示的に記載のない限り)、単に、特定の特徴を同じ用語または同様の用語で説明される別の特徴と区別するため等の特定の特徴を示すために使用されるが、その序数は、任意の他の意味または限定効果を有しない、単に便宜上の名称である。例えば、「第1のウィジェット」は、単に、例えば「第2のウィジェット」から区別するためにそのような名称を有し得る。したがって、「ウィジェット」という用語の前に単に序数「第1の」および「第2の」を使用することは、2つのウィジェットの他のいかなる関係も示さず、同様に、いずれかまたは両方のウィジェットの他のいかなる特性も示さない。例えば、「ウィジェット」という用語の前に単に序数「第1の」および「第2の」を使用することは、(1)いずれかのウィジェットの順序または場所が他の任意のウィジェットの前または後にくることを示さず、(2)いずれかのウィジェットが、他の任意のウィジェットの時間的に前または後に発生するか、または作動することを示さず、かつ(3)いずれかのウィジェットが、重要性または品質において他の任意のウィジェットよりも上または下にランクされることを示さない。単なる序数の使用は、序数を使用して識別される特徴に対する数値的制限を定義しない。例えば、「ウィジェット」という用語の前の序数「第1の」および「第2の」の単なる使用は、ウィジェットが厳密に2個存在することを示さない。
単一のデバイス、物品、または他の製品が本明細書において述べられる場合、別の実施形態では、代替として、説明される単一のデバイスまたは物品に代えて2つ以上のデバイスまたは物品を(連携するか否かに関わりなく)使用してもよい。したがって、別の実施形態では、デバイスによって処理されると説明される機能は、代替として、2つ以上のデバイスまたは物品によって所有されてもよい(連携するか否かに関わりなく)。
同様に、2つ以上のデバイス、物品、または他の製品が本明細書において述べられる場合(連携するか否かに関わりなく)、別の実施形態では、代替として、述べられている2つ以上のデバイスまたは物品に代えて、単一のデバイスまたは物品を使用してもよい。例えば、複数のコンピュータベースのデバイスを単一のコンピュータベースのデバイスで置き換えてもよい。いくつかの実施形態では、このような複数のコンピュータベースのデバイスは、グリッドコンピューティングシステムにおいて一般的であるようなプロセスの1つのステップを実施するように一緒に動作し得る。いくつかの実施形態では、複数のものが、クラウドコンピューティングシステムにおいて一般的であるようなプロセスの1つのステップを実施するように動作し得るように、このような複数のコンピュータベースのデバイスは、互いに追加された機能性を動作し得る提供し得る。(逆に、単一のコンピュータベースのデバイスは、互いに連携して動作する複数のコンピュータベースのデバイスで置き換えてもよい。例えば、単一のコンピューティングデバイスは、インターネットを介して互いに通信しているサーバおよびワークステーションで置き換えてもよい。)したがって、2つ以上のデバイスまたは物品によって処理されると述べられる様々な機能は、代替として、単一のデバイスまたは物品によって所有されてもよい。
述べられる単一のデバイスの機能および/または特徴は、別の実施形態では、代替として、述べられているが、このような機能または特徴を有するものとして明示的に述べられていない1つ以上の他のデバイスで実施してもよい。したがって、他の実施形態は、述べられたデバイス自体を含む必要はなく、むしろ、これら他の実施形態において、このような機能または特徴を有する1つ以上の他のデバイスを含んでもよい。
IV.開示される例および用語は非制限的である
名称(本明細書の第1のページの先頭に記載)も要約(本明細書の最後に記載)も決して、開示される発明の範囲を限定すると解釈されてはならず、任意の請求項の意味を解釈する際に使用されてはならず、任意の請求項の範囲を限定する際に使用されてはならない。要約は、37.C.F.R.の1.72(b)下で必要であることを理由としてのみ、要約は本明細書に含まれる。
本願に提供される項の見出しは便宜を図るためのみであり、本開示を制限するものとして決して解釈されるべきではない。
多くの実施形態が本願において説明され、例示のみを目的として提示される。説明される実施形態は、決して制限せず、決して制限を目的としない。開示される発明は、本開示から容易に明らかなように、多くの実施形態に対して広く適用可能である。当業者ならば、構造的、論理的、ソフトウェアの、および電気的な修正等の様々な修正および変更を加えて、開示される発明を実施してもよいことを理解するであろう。開示される発明の特定の特徴を、1つ以上の特定の実施形態および/または図面を参照して説明することがあるが、このような特徴が、その他特に明示的に記載のない限り、参照して説明される1つ以上の特定の実施形態または図面内の使用法に制限されないことを理解されたい。
一実施形態は、いくつかの特徴を含むとして開示されてもよいが、本発明の他の実施形態は、全てのこのような特徴よりも少ない特徴を含んでもよい。このため、例えば、一請求項は、開示される実施形態において、全体の組の特徴よりも少ない特徴に関してもよく、このような請求項は、請求項が明示的に記載するそれらの特徴以外の特徴を必要とするとして解釈されることはない。
本願において説明される方法ステップまたは製品要素の実施形態は、本明細書においてそのように明示的に記述されるか、または(特許請求の範囲およびその特許請求の範囲によって定義される本発明に関して)その特許請求の範囲内で明示的に記載される場合を除き、本明細書において請求される本発明を構成せず、本明細書において請求される本発明にとって必須ではなく、または本明細書において請求される本発明と同一の広がりを持たない。
法定分類以外の任意のものを記す特許請求の範囲の任意のプリアンブルは、請求される本発明の目的、利点、および可能な使用法を記すと解釈されるものとし、このようなプリアンブルは、請求される本発明を制限するように解釈されるものとしない。
本開示は、本発明の全ての実施形態の文字通りに正確な説明ではない。また、本開示は、全ての実施形態に存在することが必要である、本発明の特徴の列挙ではない。
全ての開示される実施形態は必ずしも請求項によって網羅されない(全ての保留、変更、公開、および取り消された請求項を含む場合であっても)。加えて、開示される実施形態は、いくつかの請求項によって網羅されてもよい(しかし、必ずしも網羅される必要はない)。したがって、一請求項(保留、変更、公開、または取り消しに関わりなく)が特定の実施形態に関する場合、これは、他の請求項の範囲もその実施形態に関係するということはないという証拠ではない。
互いに通信するものとして説明されるデバイスは、その他特に明示的に記載のない限り、互いに連続して通信する必要はない。逆に、このようなデバイスは、必要または所望に応じて互いに伝送する必要があるだけであり、実際には、大半の時間においてデータを交換しなくてもよい。例えば、インターネットを介して別のマシンと通信するマシンは、長期間(例えば、1度に数週間)にわたって他のマシンにデータを伝送しなくてもよい。これに加えて、互いに通信するデバイスは、直接通信してもよく、または1つ以上の媒介物を通して間接的に通信してもよい。デバイスは、それらが互いに少なくとも一方向の通信ができている場合、互いに通信している。例えば、第1のデバイスは、第1のデバイスが第2のデバイスに情報を伝送できている場合、第2のデバイスと通信している。同様に、第2のデバイスは、第2のデバイスが第1のデバイスから情報を受信できている場合、第1のデバイスと通信している。
いくつかの構成要素または特徴を有する一実施形態の説明は、このような構成要素または特徴の全てまたは任意のものが要求されることを含意しない。逆に、本発明の広範囲の可能な実施形態を示すために、様々な任意選択的な構成要素が説明される。別段の明示的な定めがない限り、構成要素または特徴は必須ではなく、または要求されない。
プロセスステップ、アルゴリズム等は、特定の逐次順で説明または請求されることがあるが、このようなプロセスは異なる順序で働くように構成することが可能である。
換言すれば、明示的に説明または請求され得るステップのいかなる順序または順番も、ステップをその順番で実施するという要件を必ずしも示すものではない。本明細書において説明されるプロセスのステップは、可能な任意の順番で実施することができる。更に、(例えば、あるステップが他のステップの後に説明されるため)同時に行われるものとして説明または含意されていないにもかかわらず、いくつかのステップを同時に実施してもよい。更に、図面内の説明によるプロセスの例示は、例示されたプロセスが他の変形および変更を除外することを含意せず、例示されたプロセスまたはそのステップの任意のものが本発明にとって必要であることを含意せず、かつ例示されたプロセスが好ましいことを含意しない。
プロセスを複数のステップを含むものとして説明することがあるが、これは、ステップのうちの全てまたは任意のものが好ましい、必須である、または要求されることを含意しない。本発明の範囲内の多様な他の実施形態は、記載のステップのうちのいくつか、または全てを省略する他のプロセスを含む。その他特に明示的に記載のない限り、どのステップも必須または必要ではない。
プロセスを単独で、すなわち他の製品または方法を参照せずに説明し得るが、一実施形態では、プロセスは他の製品または方法と相互作用してもよい。例えば、このような相互作用は、あるビジネスモデルを別のビジネスモデルにリンクすることを含み得る。このような相互作用は、プロセスの柔軟性または望ましさを向上させるために提供することができる。
製品は、複数の構成要素、態様、数量、特性、および/または特徴を含むものとして説明され得るが、これは、これら複数のうちのいくつかまたは全てが好ましい、必須である、または要求されることを示さない。記載される本発明の範囲内の他の様々な実施形態は、説明される複数のうちのいくつかまたは全てを省いた他の製品を含む。
アイテム(付番されているものもあれば、ないものもある)の列挙リストは、その他特に明示的に記載のない限り、アイテムのうちの任意のものまたは全てが相互に排他的であることを含意しない。同様に、アイテム(付番されているものもあれば、ないものもある)の列挙リストは、その他特に明示的に記載のない限り、アイテムのうちの任意のものまたは全てが任意のカテゴリを包括するものであることを含意しない。例えば、列挙リスト「コンピュータ、ラップトップ、およびPDA」は、そのリストの3つのアイテムのうちの任意のもの又は全てが相互に排他的であることを含意せず、そのリストの3つのアイテムのうちの任意のものまたは全てが任意のカテゴリを包括することを含意しない。
アイテム(付番されているものもあれば、ないものもある)の列挙リストは、アイテムのうちの任意のものまたは全てが、互いに等価である、または互いに容易に置換されることを含意しない。
全ての実施形態は例示的であり、場合によっては、本発明またはあらゆる実施形態が作成または実施されたことを含意しない。
V.コンピューティング
本明細書において説明する様々なプロセスは、例えば、適宜プログラムされた汎用コンピュータ、専用コンピュータ、およびコンピューティングデバイスによって実施してもよいことを当業者ならば容易に理解するであろう。通常、プロセッサ(例えば、1つ以上のマイクロプロセッサ、1つ以上のマイクロコントローラ、1つ以上のデジタル信号プロセッサ)は、命令を受け取り(例えば、メモリまたは同様のデバイスから)、それら命令を実施し、それにより、命令によって定義される1つ以上のプロセスを実行する。命令は、例えば、1つ以上のコンピュータプログラム、1つ以上のスクリプトで実施することができる。
「計算」という用語は、ソフトウェアアルゴリズムに関してプロセッサを使用することを決定することを意味するものとする。
「プロセッサ」は、アーキテクチャ(例えば、チップレベルマルチプロセッシングまたはマルチコア、RISC、CISC、インターロックパイプラインステージを有さないマイクロプロセッサ、パイプライン構成、同時マルチスレッド、統合型グラフィックス処理装置付きマイクロプロセッサ(microprocessor with integrated graphics processing unit)、GPGPU)に関わりなく、1つ以上のマイクロプロセッサ、中央演算処理装置(CPU)、コンピューティングデバイス、マイクロコントローラ、デジタル信号プロセッサ、グラフィックス処理装置(GPU)、同様のデバイス、またはこれらの任意の組み合わせを意味する。
「コンピューティングデバイス」は、アーキテクチャ(例えば、チップレベルマルチプロセッシングまたはマルチコア、RISC、CISC、インターロックパイプラインステージを有さないマイクロプロセッサ、パイプライン構成、同時マルチスレッド)に関わりなく、1つ以上のマイクロプロセッサ、中央演算処理装置(CPU)、コンピューティングデバイス、マイクロコントローラ、デジタル信号プロセッサ、グラフィックスカード、モバイルゲームデバイス、同様のデバイス、またはこれらの任意の組み合わせを意味する。
したがって、プロセスの説明は同様に、プロセスを実施するための装置の説明でもある。プロセスを実施する装置は、例えば、プロセッサおよびプロセスの実施に適した入出力デバイスを含むことができる。例えば、プロセスの説明は、プロセッサと、プロセッサによって実行されたとき、プロセッサに方法を実施するように指示する命令を含むプログラムを記憶するメモリと、を備える装置の説明である。
プロセスを実施する装置は、例えば、プロセスを実施するために一緒に稼働する複数のコンピューティングデバイスを含むことができる。コンピューティングデバイスのうちのいくつかは、プロセスの各ステップを実施するために一緒に稼働し得、プロセスの別個のステップについて稼働し得、プロセスの実施を容易にし得るその他のコンピューティングデバイスに基礎となるサービスを提供し得る。このようなコンピューティングデバイスは、中央権限の命令下で作動し得る。別の実施形態では、このようなコンピューティングデバイスは、中央権限の命令なしで作動し得る。このような方法のうちのいくつかまたは全てにおいて動作し得る装置のうちのいくつかの実施例は、グリッドコンピュータシステム、クラウドコンピュータシステム、ピアツーピアコンピュータシステム、サービスとしてソフトウェアを提供するように構成されるコンピュータシステム等を含み得る。例えば、装置は、VMwareソフトウェアを実行するコンピュータシステム等の、その処理ロードのバルクをリモートサーバ上で実行するが、ローカルユーザコンピュータに表示情報を出力し、ローカルユーザコンピュータからユーザ入力情報を受信するコンピュータシステムを含み得る。
更に、このような方法を実施するプログラム(ならびに他の種類のデータ)は、様々な媒体(例えば、コンピュータ可読媒体)を使用していくつかの様式で記憶し伝送することができる。いくつかの実施形態では、様々な実施形態のプロセスを実施することができるソフトウェア命令のうちのいくつかまたは全てに代えて、またはそれと組み合わせて、ハードワイヤード回路またはカスタムハードウェアを使用してもよい。したがって、ソフトウェアのみに代えて、ハードウェアおよびソフトウェアの様々な組み合わせを使用してもよい。
「コンピュータ可読媒体」という用語は、コンピュータ、プロセッサ、または同様のデバイスにより読み取り可能な、データ(例えば、命令、データ構造)の提供に関与する任意の非一時的媒体、複数の同じ媒体、または異なる媒体の組み合わせを指す。このような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに制限されない多くの形態をとり得る。不揮発性媒体は、例えば、光ディスク、磁気ディスク、および他の永久メモリを含む。揮発性媒体は、通常、メインメモリを構成するダイナミックランダムアクセスメモリ(DRAM)を含む。伝送媒体は、プロセッサに結合されるシステムバスを構成する線を含め、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体は、音波、光波、および無線周波(RF)および赤外線(IR)データ通信中に生成されるような電磁波(electromagnetic emission)を含むか、または伝達することができる。コンピュータ可読媒体の一般的な形態としては、例えば、フロッピーディスク(登録商標)、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、DVD、他の任意の光学媒体、パンチカード、紙テープ、パターンになった穴を有する他の任意の物理媒体、RAM、PROM、EPROM、フラッシュEEPROM、他の任意のメモリチップまたはカートリッジ、後述する搬送波、またはコンピュータが読み取り可能な他の任意の媒体が挙げられる。
「有形のコンピュータ可読媒体」という用語は、光学または磁気ディスク等のハードウェア構成要素を備える「コンピュータ可読媒体」を指す。
様々な形態のコンピュータ可読媒体が、データ(例えば、命令シーケンス)のプロセッサへの搬送に関与し得る。例えば、データは、(i)RAMからプロセッサに送出され、(ii)無線伝送媒体を介して搬送され、(iii)イーサネット(登録商標)(またはIEEE802.3)、それらがWiFi Allianceによって承認されたかどうかのIEEE802.11仕様書によって定義される無線ローカルエリアネットワーク通信、SAP、ATP、Bluetooth(商標)、およびTCP/IP、TDMA、CDMA、および3G等の多くの形式、規格、またはプロトコルに従ってフォーマットされおよび/または伝送され、および/または(iv)当分野において周知の様々な方法のうちの任意の方法で暗号化されて、プライバシーを確保し、不正を阻止することができるものであることとしてもよい。
「データベース」という用語は、検索可能な形式で記憶されるデータの任意の電子記憶されるコレクションを指す。
「データ構造」という用語は、コンピュータ等のハードウェアマシン内のデータベースを指す。
「ネットワーク」という用語は、通信経路によって相互接続される一連のポイントまたはノードを意味する。例えば、ネットワークは、1つ以上の有線および/または無線通信経路によって相互接続される複数のコンピュータまたは通信デバイスを含み得る。ネットワークは、他のネットワークと相互接続し得、サブネットワークを含み得る。
「所定の」という用語は、例えば、現在時刻または現在の動作前に、予め決定されていることを意味する。例えば、「所定の値を表示する」という語句は、表示の作動前に決定された値を表示することを意味する。
「条件」という用語は、(1)合意の履行に基づく前提、または(2)何らかの出現または発生に必要不可欠な何か、を意味する。
「トランザクション」という用語は、(1)商品、サービス、または基金の交換または転送、または(2)相互に影響をおよぼすかまたは互いに影響しあう2つの組織または事柄を含む通信動作または活動を意味する。
したがって、プロセスの説明は同様に、プロセスを実施するためのプログラムを記憶するコンピュータ可読媒体の説明でもある。コンピュータ可読媒体は、方法の実施に適したプログラム要素を(任意の適切な形式で)記憶することができる。例えば、プロセスの説明は、プロセッサによって実行されたとき、プロセッサに方法を実施するように指示する命令を含むプログラムを記憶するコンピュータ可読媒体の説明である。
プロセスの様々なステップの説明が、説明される全てのステップが要求されることを示さないのと同様に、装置の実施形態は、説明されたプロセスのうちのいくつか(であるが、必ずしも全てである必要はない)を実行するように動作可能なコンピュータまたはコンピューティングデバイスを含む。
同様に、プロセスの様々なステップの説明が、説明される全てのステップが要求されることを示さないのと同様に、プログラムまたはデータ構造を記憶するコンピュータ可読媒体の実施形態は、実行されると、説明されたプロセスのうちのいくつか(であるが、必ずしも全てである必要はない)をプロセッサに実施させることができるプログラムを記憶するコンピュータ可読媒体を含む。
データベースが説明される場合、(i)説明された構造に対する代替のデータベース構造を容易に利用することができ、かつ(ii)データベース以外の他のメモリ構造も容易に利用することができることを当業者ならば理解するであろう。本明細書において提示される任意のデータベースサンプルのいかなる例示または説明も、記憶された情報表現の例示的な構成である。例えば、図面または他の場所で示されるテーブルによって示唆されるもの以外の任意の数の他の構成を利用してもよい。同様に、データベースの例示されるいかなるエントリも、例示的な情報を表すにすぎず、エントリの数および内容は、本明細書において説明されるものと異なってよいことを当業者ならば理解するであろう。更に、テーブルとしてのデータベースの任意の説明にもかかわらず、本明細書において説明されるデータ型を記憶し操作するために、他の形式(関係データベース、オブジェクトベースモデル、および/または分散データベースを含む)を使用してもよい。同様に、データベースのオブジェクトの方法または挙動を使用して、本明細書において説明されるような様々なプロセスを実施することができる。これに加えて、データベースは、またはこのようなデータベース内のデータにアクセスするデバイスにローカルまたはリモートに既知の様式で記憶することができる。
様々な実施形態は、1つ以上のデバイスと(例えば、通信ネットワークを介して)通信するコンピュータを含むネットワーク環境で動作するように構成することができる。コンピュータは、有線または無線媒体(例えば、インターネット、LAN、WAN、またはイーサネット(登録商標)、トークンリング、電話回線、ケーブル回線、無線チャネル、光通信回線、商業オンラインサービスプロバイダ、電子掲示板システム、衛星通信リンク、上記の任意の組み合わせ)を介して直接または間接的にデバイスと通信することができる。各デバイスは、それ自体、コンピュータと通信するように構成された、インテル(Intel)(登録商標)、ペンティアム(Pentium)(登録商標)、またはセントリノ(Centrino)(商標)、アトム(Atom)(商標)、またはコア(Core)(商標)プロセッサに基づくようなコンピュータまたは他のコンピューティングデバイスを含むことができる。任意の数および種類のデバイスがコンピュータと通信状態であってもよい。
一実施形態では、サーバコンピュータまたは中央権限は必要なくてもよいか、または望ましくない場合がある。例えば、本発明は、一実施形態では、中央権限なしで1つ以上のデバイス上で実施してもよい。このような一実施形態では、サーバコンピュータによって実施されるものとして本明細書において説明されるいかなる機能またはサーバコンピュータに記憶するものとして説明されるデータは、サーバコンピュータに代えて、このような1つ以上のデバイス上で実施してもよいか、または記憶してもよい。
プロセスが説明される場合、一実施形態では、プロセスは一切のユーザ介入なしで動作することが可能である。別の実施形態では、プロセスは、何らかの人的介入を含む(例えば、ステップが、人間により、または人間の支援により実施される)。
本明細書に使用されるとき、「暗号化」という用語は、情報が特別な知識なしに容易に理解可能とならないように、情報を隠蔽または隠匿するためのプロセスを指す。暗号化のプロセスは、プレーンテキストと呼ばれる未加工の情報を暗号化された情報に変換できる。暗号化された情報は、暗号文と呼ばれてもよく、プレーンテキストを暗号文に変換するためのアルゴリズムは、暗号化法として称され得る。暗号化法は、暗号文をプレーンテキストに戻して変換する逆の動作を実施するためにも使用され得る。暗号化法の例としては、換字式暗号化法、転置式暗号化法、およびロータマシンを使用して実装される暗号化法が挙げられる。
種々の暗号化の方法では、暗号化法は、キーと呼ばれる情報の追加片を必要とし得る。キーは、例えば、ビットのストリングからなり得る。キーは、プレーンテキストを暗号化するための暗号化法と合わせて使用され得る。キーはまた、暗号文を解読するための暗号化法と合わせて使用され得る。対称キーアルゴリズムと呼ばれる暗号化法の分類では(例えば、秘密キー暗号法)、同じキーが、暗号化と解読化のいずれにも使用される。暗号化される情報の不可侵性は、したがって、秘密が明らかにされないキーに応じて様々であり得る。対称キーアルゴリズムの例は、DESおよびAESである。非対称キーアルゴリズムと呼ばれる暗号化法の分類では(例えば、公開キー暗号法)、異なるキーが、暗号化および解読化に使用される。非対称キーアルゴリズムでは、公衆の任意のメンバが、プレーンテキストを暗号文に暗号化するために第1のキー(例えば、公開キー)を使用し得る。しかしながら、第2のキー(例えば、秘密キー)の保持者のみが、暗号文をプレーンテキストに戻して解読することができるであろう。非対称キーアルゴリズムの例は、RSAアルゴリズムである。
VI.継続出願
本開示は、いくつかの実施形態および/または発明の実施可能要件の説明を当業者に提供する。これら実施形態および/または発明のうちのいくつかは、本願において請求されないかもしれないが、それでもやはり、本願の優先権の恩恵を主張する1つ以上の継続出願において請求され得る。
出願は、本願において開示され、実施可能要件が提示されたが請求されなかった趣旨について特許を請求するために、追加の出願を提出することを意図する。
VII.米国特許法112条、第6段落
請求項において、「のための手段」という語句または「のためのステップ」という語句を含む請求項の制限は、米国特許法112条、第6段落が、その制限に適用されることを意味する。
請求項において、「のための手段」という語句または「のためのステップ」という語句を含まない請求項の制限は、その制限が、その機能を実施するための構造、材料、または作動の記載を含めずに、機能を記載しているかどうかに関わらず、米国特許法112条、第6段落が、その制限に適用されないことを意味する。例えば、請求項において、その請求項または別の請求項の1つ以上のステップを参照する際の「のステップ(複数可)」という語句の単なる使用は、米国特許法112条、第6段落がそのステップ(複数可)に適用されることを意味しない。
米国特許法112条、第6段落に従って特定の機能を実施するための手段またはステップに関して、本仕様書、およびその同等物に記載される対応する構造、材料、または作動は、追加の機能、ならびに指定された機能を実施することができる。
コンピュータ、プロセッサ、コンピューティングデバイス、および同様な製品は、広範囲の機能を実施することができる構造物である。このような製品は、その製品のメモリデバイスまたはその製品がアクセスするメモリデバイスに記憶されたプログラム等、1つ以上のプログラムを実行することによって、指定された機能を実施するように操作可能であり得る。その他特に明示的に記載のない限り、そのようなプログラムは、本明細書に開示されるかもしれない、任意の特定のアルゴリズム等、任意の特定のプログラムに基づく必要はない。当業者には、指定された機能は、異なるアルゴリズムを介して実装されてもよいこと、いくつかの異なるアルゴリズムのうちのいずれかは、指定された機能を実行するための単なる設計選択肢であることが周知である。
したがって、米国特許法112条、第6段落に従って特定の機能を実施するための手段またはステップに関して、指定された機能に対応する構造物は、指定された機能を実施するようにプログラムされた任意の製品を含む。このような構造物は、このような製品が、(i)機能を実施するための開示されたアルゴリズム、(ii)開示されたアルゴリズムに類似のアルゴリズム、または(iii)機能を実施するための異なるアルゴリズムを用いてプログラムされているかに関わらず、機能を実施する、プログラムされた製品を含む。
方法である機能を実施するための手段が記載されている場合、この方法を実施するための構造物は、その機能を実施するために、適切なハードウェアを用いてプログラムおよび/または構成されるコンピューティングデバイス(例えば、汎用コンピュータ)を含む。
また、当業者によって理解されるであろう他のアルゴリズムを介してその機能を実施するように、適切なハードウェアを用いてプログラムおよび/または構成されるコンピューティングデバイス(例えば汎用コンピュータ)も含まれる。
VIII.放棄
特定の実施形態への多くの参照は、追加の異なる実施形態の放棄または否認を示さず、同様に、全て特定の特徴を含む実施形態の説明への参照も、その特定の特徴を含まない実施形態の放棄または否認を示さない。本願における明確な放棄または否認は、「含まない」という語句または「実施できない」という語句によって前置きされるであろう。
IX.参照による援用
本明細書において参照されるあらゆる特許、特許出願、または他の文献は、本開示の一部として本特許出願に参照により援用されるが、米国特許法第112条第1項による書面での説明および米国特許法第112条第1項による実施可能要件のためにのみであり、このような参照による援用がなければ通常の意味を当業者が確認できなかったという場合ではない限り、本願のいかなる用語の制限、定義、または解釈にも決して使用されるべきではない。したがって、当業者は、参照により提供されるいかなる実施形態によっても決して制限される必要はない。逆に、本明細書に提供される定義は、参照により本明細書に組み込まれるいずれの文書のいずれの用語も限定、定義、または別段に解釈されるように使用されるべきではない。本明細書に明示的に記載される定義は、定義(複数可)と矛盾し得る特定の実施形態の説明にかかわらず統制している。
参照による援用はいずれもそれ自体は、本特許出願において別段の明示的な定めがない限り、援用されるいかなる特許、特許出願、または他の文献に含まれるいかなる記述、意見、議論、または特徴のいかなる裏書き、承認、または黙認も含意しない。
X.審査経過
(特許請求の範囲を含む)本願を解釈するに際して、当業者は、本願に関連すると考えられる他の特許出願があるか否かに関わりなく、また本願と優先権の主張を共有する他の特許出願があるか否かに関わりなく、任意の他の特許または特許出願の経過履歴ではなく、本願の審査経過を参照する。
〔付記1〕
少なくとも第1のサーバおよび第2のサーバを含む複数のサーバを備えるシステムであって、前記複数のサーバが、少なくとも1つのネットワークによって相互接続され、
前記第1のサーバが、
取引されるアイテムの第1の注文帳を維持することと、
前記アイテムの第1の注文であって、数量を含む、第1の注文を受信することと、
前記第1の注文帳に前記第1の注文を発注することであって、前記第1のサーバが、前記第1の注文に対して逆注文の実行を制御することに関与する、発注することと、
前記ネットワーク上で前記第1の注文を通信することと、を行うように構成され、
前記第2のサーバが、
前記アイテムの第2の注文帳を維持することと、
前記第1のサーバによって通信された前記第1の注文を受信することと、
前記第2の注文帳に前記第1の注文を発注することと、
前記アイテムの第2の注文を受信することと、
前記第2の注文が、前記第1の注文に対する逆注文であるかを決定することであって、前記第2の注文が、前記第1の注文に対する逆注文であると決定することに応答して、前記第2の注文を前記第1のサーバに通信する、決定することと、を行うように構成され、
前記第1のサーバが、
前記第2のサーバから前記第2の注文を受信することと、
前記第1の注文が入手可能かを決定することと、
入手可能な場合、前記第1の注文と第2の注文との間の取引を実行することと、
前記第2の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第1の注文帳から前記第1の注文を削除することと、
前記第1の注文が不利益に取引されることを示す確認メッセージを前記ネットワーク上で通信することと、を行うように更に構成され、
前記第2のサーバが、
前記確認メッセージを受信することと、
前記確認メッセージを受信することに応答して、前記第2の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第2の注文帳から前記第1の注文を削除することと、を行うように更に構成される、システム。
〔付記2〕
前記第1のアイテムが、前記ネットワーク上のポートと関連付けられ、
前記ネットワーク上で前記第1の注文を通信することが、前記ポートを介して前記第1の注文を通信することを含む、請求項1に記載のシステム。
〔付記3〕
前記ポートを介して前記第1の注文を通信することが、前記ポートを介して前記第1の注文をマルチキャストすることを含む、請求項2に記載のシステム。
〔付記4〕
前記第2のサーバが、前記ポートを介して通信される前記ネットワークからデータを受信するように更に構成され、
前記第1のサーバによって通信される前記第1の注文を受信することが、前記ポートを介して前記第1の注文を受信することを含む、請求項2に記載のシステム。
〔付記5〕
前記第1のサーバが、取引される第2のアイテムの注文帳を維持するように更に構成され、
前記第2のアイテムが、前記ネットワーク上の第2のポートと関連付けられ、
前記第1のサーバが、前記第2のポートを用いて前記ネットワークを介して前記第2の注文と関連付けられた情報を通信する、請求項4に記載のシステム。
〔付記6〕
前記第2のサーバが、前記第2のアイテムの注文帳を維持するように構成されておらず、
前記第2のアイテムの注文帳を維持するように構成されていない結果として、前記第2のサーバが、前記第2のポート上で情報を受信するように構成されていない、請求項5に記載のシステム。
〔付記7〕
前記第1のアイテムが、前記ネットワーク上のポートと関連付けられ、
前記第1のサーバが、前記ポートを介して前記第1のアイテムと関連付けられた前記ネットワークを介して情報を送受信するように構成され、
前記第2のサーバが、前記ポートを介して前記第1のアイテムと関連付けられた前記ネットワークを介して情報を送受信するように構成され、
前記第1のサーバが、オフラインと見なされるように更に構成され、前記第1のサーバをオフラインと見なすことが、前記ポート上で情報を受信しないように前記サーバを構成することを含み、前記第2のサーバが前記第2の注文を通信する前に、前記第1のサーバがオフラインと見なされる場合、取引が、前記第1の注文と第2の注文との間で実行されない、請求項1に記載のシステム。
〔付記8〕
トランザクションを消去することと関連付けられた第3のサーバを更に備え、前記第3のサーバが、前記第1の注文と第2の注文との間の前記取引を実行することによって作成されたトランザクションを消去するために前記確認メッセージを受信するように構成される、請求項1に記載のシステム。
〔付記9〕
第1のエンティティが、前記システムを所有および/または動作し、
前記第1のサーバのリソースが、第2のエンティティにリースされ、
前記第2のサーバのリソースが、第3のエンティティにリースされる、請求項1に記載のシステム。
〔付記10〕
前記第1のサーバが、前記アイテムを取引するためのアプリケーションを実行するように更に構成され、前記アプリケーションが、前記第2のエンティティによって構成され、
前記第2のサーバが、前記アイテムを取引するためのアプリケーションを実行するように更に構成され、
前記アプリケーションが、前記第3のエンティティによって構成される、請求項9に記載のシステム。
〔付記11〕
前記第2の注文が、前記第1の注文の全ての入手可能な数量未満である場合、前記第1のサーバが、前記第1の注文帳の前記第1の注文の入手可能な数量を減少させるように更に構成され、
前記第2の注文が、前記第1の注文の全ての入手可能な数量未満である場合、前記第2のサーバが、前記第2の注文帳の前記第1の注文の入手可能な数量を減少させるように更に構成される、請求項1に記載のシステム。
〔付記12〕
前記第2のサーバが、
前記アイテムの第3の注文であって、数量を含む、第3の注文を受信することと、
前記第2の注文帳に前記第3の注文を発注することであって、前記第2のサーバが、前記第3の注文に対して逆注文の実行を制御することに関与する、発注することと、
前記ネットワーク上で前記第3の注文を通信することと、を行うように更に構成され、
前記第1のサーバが、
前記第2のサーバによって通信された前記第3の注文を受信することと、
前記第1の注文帳に前記第3の注文を発注することと、
前記アイテムのための第4の注文を受信することと、
前記第4の注文が、前記第3の注文に対する逆注文であるかを決定することと、
前記第4の注文が、前記第3の注文に対する逆注文であると決定することに応答して、前記第4の注文を前記第2のサーバに通信することと、を行うように構成され、
前記第2のサーバが、
前記第1のサーバから前記第4の注文を受信することと、
前記第3の注文が入手可能かを決定することと、
入手可能な場合、前記第3の注文と前記第4の注文との間の取引を実行することと、
前記第4の注文が、全ての入手可能な数量の前記第3の注文に対してである場合、前記第2の注文帳から前記第3の注文を削除することと、
前記第3の注文が不利益に取引されることを示す確認メッセージを前記ネットワーク上で通信することと、を行うように更に構成され、
前記第1のサーバが、
前記第2のサーバから前記確認メッセージを受信することと、
前記確認メッセージを受信することに応答して、前記第4の注文が、全ての入手可能な数量の前記第3の注文に対してである場合、前記第1の注文帳から前記第3の注文を削除することと、を行うように更に構成される、請求項1に記載のシステム。
〔付記13〕
トランザクションを消去することと関連付けられた第3のサーバを更に備え、前記第3のサーバが、
前記第1の注文と第2の注文との間の前記取引を実行することによって作成されたトランザクションを消去するために前記第1のサーバから前記確認メッセージを受信するように構成され、
前記第3の注文と第4の注文との間の前記取引を実行することによって作成されたトランザクションを消去するために前記第2のサーバから前記確認メッセージを受信するように構成される、請求項12に記載のシステム。
〔付記14〕
前記アイテムの第3の注文帳を維持することと、
前記第1のサーバによって通信された前記第1の注文を受信することと、
前記第3の注文帳に前記第1の注文を発注することと、を行うように構成される第3のサーバを更に含む、請求項1に記載のシステム。
〔付記15〕
前記第3のサーバが、
前記確認メッセージを受信することと、
前記確認メッセージを受信することに応答して、前記第2の注文が、前記第1の注文の全ての数量である場合、前記第3の注文帳から前記第1の注文を削除することと、を行うように更に構成される、請求項14に記載のシステム。
〔付記16〕
前記第2のサーバが、前記ネットワーク上で前記第2の注文を通信する場合、前記第2のサーバが、前記第1のサーバのためのものとして前記通信された第2の注文にタグ付けするように構成され、
前記第3のサーバが、
前記第2のサーバから前記第2の注文を受信することと、
前記第2の注文を、それが前記第1のサーバのためにタグ付けされるため、無視することと、を行うように更に構成される、請求項14に記載のシステム。
〔付記17〕
前記第3のサーバが、
前記アイテムの第3の注文を受信することと、
前記第3の注文が、前記第1の注文に対する逆注文であるかを決定することであって、前記第3の注文が、前記第1の注文に対する逆注文であると決定することに応答して、前記第3の注文を前記第1のサーバに通信する、決定することと、を行うように更に構成される、請求項14に記載のシステム。
〔付記18〕
前記第1のサーバが、前記第1の注文と第2の注文との間の前記取引を実行する結果として、前記第1の注文帳から前記第1の注文を削除し、
前記第1のサーバが、
前記第2の注文を受信した後、前記第3の注文を受信することと、
前記第1の注文が入手可能でないと決定することと、
前記第1の注文が入手可能でないと決定することに応答して、前記第1の注文と第3の注文との間の取引が確認されていないというメッセージを前記ネットワーク上で通信することと、を行うように更に構成される、請求項17に記載のシステム。
〔付記19〕
前記第1のサーバが、前記第1の注文と第2の注文との間の前記取引を実行する結果として、前記第1の注文帳の前記第1の注文の入手可能な数量を減少させ、
前記第1のサーバが、
前記第2の注文を受信した後、前記第3の注文を受信することと、
前記第1の注文が入手可能であると決定することと、
入手可能である前記第1の注文に部分的に基づいて、前記第1の注文と第3の注文との間の取引を実行することと、
前記第3の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第1の注文帳から前記第1の注文を削除することと、
前記第1の注文が不利益に取引されることを示す別の確認メッセージを前記ネットワーク上で通信することと、を行うように更に構成され、
前記第2のサーバが、
前記別の確認メッセージを受信することと、
前記別の確認メッセージを受信することに応答して、前記第3の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第2の注文帳から前記第1の注文を削除することと、を行うように更に構成され、
前記第3のサーバが、
前記確認メッセージを受信することと、
前記確認メッセージを受信することに応答して、前記第3の注文帳の前記第1の注文の入手可能な数量を減少させることと、
前記別の確認メッセージを受信し、前記別の確認メッセージを受信することに応答して、前記第3の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第3の注文帳から前記第1の注文を削除することと、を行うように更に構成される、請求項17に記載のシステム。
〔付記20〕
前記第1のサーバが、前記アイテムを取引するためのアプリケーションを実行するように更に構成され、前記第1の注文が、前記アプリケーションから受信され、
前記第1のサーバが、
前記第1の注文と第2の注文との間の前記取引を実行する前に、前記第1の注文がなおも不利益に取引されるべきかを決定するように前記アプリケーションと通信することと、
前記アプリケーションが、なおも不利益に取引されるべきであると示す場合、前記第1の注文と第2の注文との間の前記取引を実行することと、を行うように更に構成される、請求項1に記載のシステム。
〔付記21〕
前記第1のサーバが、
前記アプリケーションが前記第1の注文が不利益に取引されるべきではないことを示す場合、前記第1の注文帳から前記第1の注文を削除することと、
前記第1の注文と第2の注文との間の取引が確認されていないというメッセージを前記ネットワーク上で通信することと、を行うように更に構成される、請求項20に記載のシステム。

Claims (20)

  1. 少なくとも第1のサーバおよび第2のサーバを含む複数のサーバを備えるシステムであって、前記複数のサーバが、少なくとも1つのネットワークによって相互接続され、
    前記第1のサーバが、
    取引される第1のアイテムの第1の注文帳を維持するステップと、
    前記第1のアイテムの第1の注文であって、数量を含む前記第1の注文を第1のユーザから受信するステップと、
    前記第1の注文帳に前記第1の注文を発注するステップであって、前記第1のサーバが、前記第1の注文に対して反対注文の実行を制御することに関与する、ステップと、
    前記ネットワーク上で前記第1の注文を通信するステップと、
    を行うように構成され、
    前記第2のサーバが、
    前記第1のアイテムの第2の注文帳を維持するステップと、
    前記第1のサーバによって通信された前記第1の注文を受信するステップと、
    前記第2の注文帳に前記第1の注文を発注するステップと、
    前記第1のアイテムの第2の注文を第2のユーザから受信するステップと、
    前記第2の注文が、前記第1の注文に対する反対注文であるかを決定するステップであって、前記第2の注文が、前記第1の注文に対する反対注文であると決定することに応答して、前記第2の注文を前記第1のサーバに通信する、ステップと、
    を行うように構成され、
    前記第1のサーバが、
    前記第2のサーバから前記第2の注文を受信するステップと、
    前記第1の注文が入手可能かを決定するステップと、
    前記第1の注文が入手可能な場合、前記第1の注文と第2の注文との間の取引を実行するステップであって、前記第2の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第1の注文帳から前記第1の注文を削除する、ステップと、
    前記第1の注文が取引されたことを示す確認メッセージを前記ネットワーク上で通信するステップと、
    を行うように更に構成され、
    前記第2のサーバが、
    前記確認メッセージを受信するステップと、
    前記確認メッセージを受信することに応答して、前記第2の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第2の注文帳から前記第1の注文を削除するステップと、
    を行うように更に構成され、
    前記第2のサーバが、
    前記第1のアイテムの第3の注文であって、数量を含む前記第3の注文を前記第2のユーザから受信するステップと、
    前記第2の注文帳に前記第3の注文を発注するステップであって、前記第2のサーバが、前記第2の注文と前記第3の注文の間に取引が実行されないように、前記第3の注文に対して反対注文の実行を制御することに関与する、ステップと、
    前記ネットワーク上で前記第3の注文を通信するステップと、
    を行うように更に構成され、
    前記第1のサーバが、
    前記第2のサーバによって通信された前記第3の注文を受信するステップと、
    前記第1の注文帳に前記第3の注文を発注するステップと、
    前記第1のアイテムの第4の注文を前記第1のユーザから受信するステップと、
    前記第4の注文が、前記第3の注文に対する反対注文であるかを決定するステップであって、前記第4の注文が、前記第3の注文に対する反対注文であると決定することに応答して、前記第4の注文を前記第2のサーバに通信する、ステップと、
    を行うように更に構成され、
    前記第2のサーバが、
    前記第1のサーバから前記第4の注文を受信するステップと、
    前記第3の注文が入手可能かを決定するステップと、
    前記第3の注文が入手可能な場合、前記第3の注文と第4の注文との間の取引を実行するステップであって、前記第4の注文が、全ての入手可能な数量の前記第3の注文に対してである場合、前記第2の注文帳から前記第3の注文を削除する、ステップと、
    前記第3の注文が取引されたことを示す確認メッセージを前記ネットワーク上で通信するステップと、
    を行うように更に構成され、
    前記第1のサーバが、
    前記確認メッセージを受信するステップと、
    前記確認メッセージを受信することに応答して、前記第4の注文が、全ての入手可能な数量の前記第3の注文に対してである場合、前記第1の注文帳から前記第3の注文を削除するステップと、
    を行うように更に構成されている、
    システム。
  2. 前記第1のアイテムが、前記ネットワーク上のポートと関連付けられ、
    前記ネットワーク上で前記第1の注文を通信することが、前記ポートを介して前記第1の注文を通信することを含む、請求項1に記載のシステム。
  3. 前記ポートを介して前記第1の注文を通信することが、前記ポートを介して前記第1の注文をマルチキャストすることを含む、請求項2に記載のシステム。
  4. 前記第2のサーバが、前記ポートを介して通信される前記ネットワークからデータを受信するように更に構成され、
    前記第1のサーバによって通信される前記第1の注文を受信することが、前記ポートを介して前記第1の注文を受信することを含む、請求項2に記載のシステム。
  5. 前記第1のサーバが、取引される第2のアイテムの注文帳を維持するように更に構成され、前記第2のアイテムは、前記第1のアイテムとは異なるものであり、
    前記第2のアイテムが、前記ネットワーク上の第2のポートと関連付けられ、前記第2のポートは、前記第1のポートとは異なるものであり、
    前記第1のサーバが、前記第2のポートを用いて前記ネットワークを介して前記第2の注文と関連付けられた情報を通信する、請求項4に記載のシステム。
  6. 前記第2のサーバが、前記第2のアイテムの注文帳を維持するように構成されておらず、
    前記第2のアイテムの注文帳を維持するように構成されていない結果として、前記第2のサーバが、前記第2のポート上で情報を受信するように構成されていない、請求項5に記載のシステム。
  7. 前記第1のアイテムが、前記ネットワーク上のポートと関連付けられ、
    前記第1のサーバが、前記ポートを介して前記第1のアイテムと関連付けられた前記ネットワークを介して情報を送受信するように構成され、
    前記第2のサーバが、前記ポートを介して前記第1のアイテムと関連付けられた前記ネットワークを介して情報を送受信するように構成され、
    前記第1のサーバが、オフラインと見なされるように更に構成され、前記第1のサーバをオフラインと見なすことが、前記ポート上で情報を受信しないように前記サーバを構成することを含み、前記第2のサーバが前記第2の注文を通信する前に、前記第1のサーバがオフラインと見なされる場合、取引が、前記第1の注文と第2の注文との間で実行されない、請求項1に記載のシステム。
  8. トランザクションを消去することと関連付けられた第3のサーバを更に備え、前記第3のサーバが、前記第1の注文と第2の注文との間の前記取引を実行することによって作成されたトランザクションを消去するために前記確認メッセージを受信するように構成される、請求項1に記載のシステム。
  9. 第1のエンティティが、前記システムを所有および/または動作し、
    前記第1のサーバのリソースが、第2のエンティティにリースされ、
    前記第2のサーバのリソースが、第3のエンティティにリースされる、請求項1に記載のシステム。
  10. 前記第1のサーバが、前記第1のアイテムを取引するためのアプリケーションを実行するように更に構成され、前記アプリケーションが、前記第2のエンティティによって構成され、
    前記第2のサーバが、前記第1のアイテムを取引するためのアプリケーションを実行するように更に構成され、
    前記アプリケーションが、前記第3のエンティティによって構成される、請求項9に記載のシステム。
  11. 前記第2の注文が、前記第1の注文の全ての入手可能な数量未満である場合、前記第1のサーバが、前記第1の注文帳の前記第1の注文の入手可能な数量を減少させるように更に構成され、
    前記第2の注文が、前記第1の注文の全ての入手可能な数量未満である場合、前記第2のサーバが、前記第2の注文帳の前記第1の注文の入手可能な数量を減少させるように更に構成される、請求項1に記載のシステム。
  12. トランザクションを消去することと関連付けられた第3のサーバを更に備え、
    前記第3のサーバが、
    前記第1の注文と第2の注文との間の前記取引を実行することによって作成されたトランザクションを消去するために前記第1のサーバから前記確認メッセージを受信するように構成され、
    前記第3の注文と第4の注文との間の前記取引を実行することによって作成されたトランザクションを消去するために前記第2のサーバから前記確認メッセージを受信するように構成される、請求項1に記載のシステム。
  13. 前記第1のアイテムの第5の注文帳を維持することと、
    前記第1のサーバによって通信された前記第1の注文を受信することと、
    前記第3の注文帳に前記第1の注文を発注することと、を行うように構成される第3のサーバを更に含む、請求項1に記載のシステム。
  14. 前記第3のサーバが、
    前記確認メッセージを受信することと、
    前記確認メッセージを受信することに応答して、前記第2の注文が、前記第1の注文の全ての数量である場合、前記第3の注文帳から前記第1の注文を削除することと、を行うように更に構成される、請求項13に記載のシステム。
  15. 前記第2のサーバが、前記ネットワーク上で前記第2の注文を通信する場合、前記第2のサーバが、前記第1のサーバのためのものとして前記通信された第2の注文にタグ付けするように構成され、
    前記第3のサーバが、
    前記第2のサーバから前記第2の注文を受信することと、
    前記第2の注文を、それが前記第1のサーバのためにタグ付けされているため、無視することと、を行うように更に構成される、請求項13に記載のシステム。
  16. 前記第3のサーバが、
    前記第1のアイテムの第5の注文を受信することと、
    前記第5の注文が、前記第1の注文に対する反対注文であるかを決定することと、
    前記第5の注文が、前記第1の注文に対する反対注文であると決定することに応答して、前記第5の注文を前記第1のサーバに通信することと、を行うように更に構成される、請求項13に記載のシステム。
  17. 前記第1のサーバが、前記第1の注文と第2の注文との間の前記取引を実行する結果として、前記第1の注文帳から前記第1の注文を削除し、
    前記第1のサーバが、
    前記第2の注文を受信した後、前記第5の注文を受信することと、
    前記第1の注文が入手可能でないと決定することと、
    前記第1の注文が入手可能でないと決定することに応答して、前記第1の注文と第5の注文との間の取引が確認されていないというメッセージを前記ネットワーク上で通信することと、を行うように更に構成される、請求項16に記載のシステム。
  18. 前記第1のサーバが、前記第1の注文と第2の注文との間の前記取引を実行する結果として、前記第1の注文帳の前記第1の注文の入手可能な数量を減少させ、
    前記第1のサーバが、
    前記第2の注文を受信した後、前記第5の注文を受信することと、
    前記第1の注文が入手可能であると決定することと、
    入手可能である前記第1の注文に部分的に基づいて、前記第1の注文と第5の注文との間の取引を実行することと、
    前記第5の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第1の注文帳から前記第1の注文を削除することと、
    前記第1の注文が取引されたことを示す別の確認メッセージを前記ネットワーク上で通信することと、を行うように更に構成され、
    前記第2のサーバが、
    前記別の確認メッセージを受信することと、
    前記別の確認メッセージを受信することに応答して、前記第5の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第2の注文帳から前記第1の注文を削除することと、を行うように更に構成され、
    前記第3のサーバが、
    前記確認メッセージを受信することと、
    前記確認メッセージを受信することに応答して、前記第3の注文帳の前記第1の注文の入手可能な数量を減少させることと、
    前記別の確認メッセージを受信することと、
    前記別の確認メッセージを受信することに応答して、前記第5の注文が、全ての入手可能な数量の前記第1の注文に対してである場合、前記第3の注文帳から前記第1の注文を削除することと、を行うように更に構成される、請求項16に記載のシステム。
  19. 前記第1のサーバが、前記第1のアイテムを取引するためのアプリケーションを実行するように更に構成され、前記第1の注文が、前記アプリケーションから受信され、
    前記第1のサーバが、
    前記第1の注文と第2の注文との間の前記取引を実行する前に、前記第1の注文がなおも取引されるべきかを決定するように前記アプリケーションと通信することと、
    前記アプリケーションが、なおも取引されるべきであると示す場合、前記第1の注文と第2の注文との間の前記取引を実行することと、を行うように更に構成される、請求項1に記載のシステム。
  20. 前記第1のサーバが、
    前記アプリケーションが前記第1の注文が取引されるべきではないことを示す場合、前記第1の注文帳から前記第1の注文を削除することと、
    前記第1の注文と第2の注文との間の取引が確認されていないというメッセージを前記ネットワーク上で通信することと、を行うように更に構成される、請求項19に記載のシステム。
JP2018240899A 2012-12-14 2018-12-25 分散型マッチングエンジン Pending JP2019071093A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021063844A JP2021108168A (ja) 2012-12-14 2021-04-05 分散型マッチングエンジン
JP2023076446A JP2023087085A (ja) 2012-12-14 2023-05-08 分散型マッチングエンジン

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261737553P 2012-12-14 2012-12-14
US61/737,553 2012-12-14
US13/832,472 2013-03-15
US13/832,472 US10424004B2 (en) 2012-12-14 2013-03-15 Distributed matching engine

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015548000A Division JP2016504681A (ja) 2012-12-14 2013-12-13 分散型マッチングエンジン

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021063844A Division JP2021108168A (ja) 2012-12-14 2021-04-05 分散型マッチングエンジン

Publications (1)

Publication Number Publication Date
JP2019071093A true JP2019071093A (ja) 2019-05-09

Family

ID=50932077

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2015548000A Pending JP2016504681A (ja) 2012-12-14 2013-12-13 分散型マッチングエンジン
JP2018240899A Pending JP2019071093A (ja) 2012-12-14 2018-12-25 分散型マッチングエンジン
JP2021063844A Pending JP2021108168A (ja) 2012-12-14 2021-04-05 分散型マッチングエンジン
JP2023076446A Pending JP2023087085A (ja) 2012-12-14 2023-05-08 分散型マッチングエンジン

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015548000A Pending JP2016504681A (ja) 2012-12-14 2013-12-13 分散型マッチングエンジン

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2021063844A Pending JP2021108168A (ja) 2012-12-14 2021-04-05 分散型マッチングエンジン
JP2023076446A Pending JP2023087085A (ja) 2012-12-14 2023-05-08 分散型マッチングエンジン

Country Status (7)

Country Link
US (3) US10424004B2 (ja)
EP (1) EP2932455A4 (ja)
JP (4) JP2016504681A (ja)
AU (4) AU2013359005A1 (ja)
CA (1) CA2895119A1 (ja)
SG (2) SG11201504655TA (ja)
WO (1) WO2014093859A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660936B1 (en) * 2012-09-21 2014-02-25 Chicago Mercantile Exchange Inc. Detection and mitigation of effects of high velocity price changes
US10424004B2 (en) * 2012-12-14 2019-09-24 Cfph, Llc Distributed matching engine
CA3164417A1 (en) * 2020-01-31 2021-08-05 Aleksey SOLODOVNIK System and method for managing and processing sequenced events in a distributed network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04186471A (ja) * 1990-11-21 1992-07-03 Toshiba Corp 相場報道装置
JP2000148837A (ja) * 1998-11-11 2000-05-30 Hitachi Ltd 電子株券利用による株取引の処理方法
JP2002245251A (ja) * 2001-02-16 2002-08-30 Matsushita Electric Ind Co Ltd オンライン証券取引サーバ、口座管理サーバ、オンライン証券取引システム、買い注文決済方法、買い注文決済プログラム、および記録媒体
JP2004287819A (ja) * 2003-03-20 2004-10-14 Toshiba Solutions Corp 有価証券売買システム
JP2008533588A (ja) * 2005-03-11 2008-08-21 シカゴ マーカンタイル エクスチェンジ インコーポレイテッド 電子取引マッチエンジンにおいて分散された注文控帳を利用するシステムおよび方法
JP2011503750A (ja) * 2007-11-15 2011-01-27 シーエフピーエイチ, エル.エル.シー. 電子取引システム及び方法
JP2012531640A (ja) * 2009-06-29 2012-12-10 オーエムエックス テクノロジー エービー 24時間グローバル低遅延コンピュータ制御交換システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565313B2 (en) * 2001-12-05 2009-07-21 Pipeline Financial Group, Inc. Method and system for managing distributed trading data
US7523062B2 (en) 2002-06-05 2009-04-21 The Nasdaq Omx Group, Inc. Securities processor and a method of processing attributable interest messages
US7769668B2 (en) * 2002-12-09 2010-08-03 Sam Balabon System and method for facilitating trading of financial instruments
JP2008535124A (ja) 2005-04-05 2008-08-28 ブロードウェイ テクノロジー エルエルシー 内部注文マッチングを伴う取引システム
US20070019645A1 (en) * 2005-07-05 2007-01-25 Deepthy Menon Method and system for multicasting data in a communication network
US7774263B1 (en) * 2005-09-07 2010-08-10 International Securities Exchange, Llc Linked displayed market and midpoint matching system
US8321323B2 (en) * 2008-10-24 2012-11-27 Cfph, Llc Interprogram communication using messages related to order cancellation
US8626639B2 (en) 2011-02-02 2014-01-07 Chicago Mercantile Exchange Inc. Trade matching platform with variable pricing based on clearing relationships
US10424004B2 (en) 2012-12-14 2019-09-24 Cfph, Llc Distributed matching engine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04186471A (ja) * 1990-11-21 1992-07-03 Toshiba Corp 相場報道装置
JP2000148837A (ja) * 1998-11-11 2000-05-30 Hitachi Ltd 電子株券利用による株取引の処理方法
JP2002245251A (ja) * 2001-02-16 2002-08-30 Matsushita Electric Ind Co Ltd オンライン証券取引サーバ、口座管理サーバ、オンライン証券取引システム、買い注文決済方法、買い注文決済プログラム、および記録媒体
JP2004287819A (ja) * 2003-03-20 2004-10-14 Toshiba Solutions Corp 有価証券売買システム
JP2008533588A (ja) * 2005-03-11 2008-08-21 シカゴ マーカンタイル エクスチェンジ インコーポレイテッド 電子取引マッチエンジンにおいて分散された注文控帳を利用するシステムおよび方法
JP2011503750A (ja) * 2007-11-15 2011-01-27 シーエフピーエイチ, エル.エル.シー. 電子取引システム及び方法
JP2012531640A (ja) * 2009-06-29 2012-12-10 オーエムエックス テクノロジー エービー 24時間グローバル低遅延コンピュータ制御交換システム

Also Published As

Publication number Publication date
EP2932455A4 (en) 2016-08-24
WO2014093859A1 (en) 2014-06-19
CA2895119A1 (en) 2014-06-19
JP2016504681A (ja) 2016-02-12
AU2021254628A1 (en) 2021-11-18
US20190385217A1 (en) 2019-12-19
SG11201504655TA (en) 2015-07-30
SG10201706883YA (en) 2017-10-30
AU2019253801A1 (en) 2019-11-14
EP2932455A1 (en) 2015-10-21
AU2023283513A1 (en) 2024-01-18
JP2023087085A (ja) 2023-06-22
US11151635B2 (en) 2021-10-19
US10424004B2 (en) 2019-09-24
US20140172644A1 (en) 2014-06-19
US11880878B2 (en) 2024-01-23
AU2013359005A1 (en) 2015-07-02
JP2021108168A (ja) 2021-07-29
US20220036434A1 (en) 2022-02-03

Similar Documents

Publication Publication Date Title
JP6764916B2 (ja) 注文取引方法及びそのシステム
JP6924792B2 (ja) 充足率に基づく取引
JP2021108168A (ja) 分散型マッチングエンジン
JP2019109930A (ja) 注文のファーストルックマッチング方法、装置、及びシステム
JP2024011032A (ja) 推定システム、推定方法及びプログラム
AU2014347282A1 (en) Foreign exchange trading

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201208