図1Aを参照すると、システム100の例が示されている。システム100は、複数の事業体を含んでいてよく、当該複数の事業体は、事業体110及び複数の事業体130a−n(これらの1つが図1Aに詳細に示されている)であって、これらの1つ以上がネットワーク103を介して相互接続されてよい。事業体110は、例えば、サービスを提供するサービスプロバイダであってよく、そして、事業体130各々は、例えば、サービスプロバイダ110によって提供されるサービスの顧客/ユーザ(例えば、銀行、投資ファンド、貿易会社など、のような会社など)であってよい。記載の都合上のみにおいて、事業体110は、これ以降はサービスプロバイダとして称され、事業体130は、これ以降はユーザ/顧客として称される。しかしながら、これらの用語は、非限定なものとして意図されており、他の例示的な事業体であってもよい。また、事業体130にサービスを提供するサービスプロバイダである事業体110もまた一例であり、事業体110と事業体130との間の他の関係であってもよい。
1例として、サービスプロバイダ110は、アイテム(例えば、金融商品、不動産、賭け/賭け金、有形財、サービス等など)の取引/売り買い/照合の為の1つ以上の電子市場を提供してよく、従って、1つ以上の電子照合/取引エンジンを提供してよい。同様に、顧客130は、サービスプロバイダ130によって提供される電子市場で、1つ以上のアイテムを取引しようと努めてよい。この例によると、1つ以上の顧客130は、例えばサービスプロバイダ110と、データ/メッセージの電気的な通信を行い、これは、例えば、特定の価格及び/又は量での買い/売りの注文(例えば、ビッド、オファー、ヒット、テイク)を含んでいる。同様に、サービスプロバイダ110は、そのような注文を電気的に受け取って実行し、顧客130とデータ/メッセージの電気的な通信を行い、これは、例えば、継続中及び実行された注文の価格及び量を含んでいる。これが単に例にすぎず、他の及び/又は追加的なサービスがサービスプロバイダ110によって提供されてよいこと、及び、追加的な及び/又は他のメッセージ/データがサービスプロバイダ110及び顧客130の間で伝達されてよいこと、について当業者は理解するであろう。例えば、1つ以上の顧客130は、例えば、サービスプロバイダ110とデータ/メッセージの電気的な通信を行い、これは、例えば、特定のオッズ及び/又は賭け金にて、チーム又はイベント等にのる(back)又は賭ける(lay)注文を含んでいる。同様に、サービスプロバイダ110は、そのような注文を電気的に受け取って実行/照合し、顧客130とデータ/メッセージの電気的な通信を行い、これは、例えば、継続中及び実行された注文の特定のオッズ及び/又は賭け金を含んでいる。
サービスプロバイダ110は、1つ以上のネットワークエレメント112、(1つ以上のデータベースシステムを含んだり/又は接続されたりしてよい)1つ以上のコンピューティングシステム114を含んでよく、これは、例えば、顧客130にサービスを提供する。サービスプロバイダ110が、追加的な及び/別のコンピューティングシステム、及び/又はネットワークエレメントを含んでもよいこと、について当業者は理解するであろう。コンピューティングシステム114は、記載の目的の為のサーバとして、ここでは参照されてよい。しかしながら、サーバという用語の使用が非限定的であること、及びコンピューティングシステムの他の種類が使用可能であることについて、理解されたい。1つ以上のサーバ114は、1つ以上のプロセッサ及び1つ以上のメモリを含んでよい。1つ以上のサーバ114は、1つ以上の、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポートを含んでもよく、これは、サーバがネットワークエレメント112に接続され、そしてそれによってネットワーク103に接続されるのを可能にする。そのようなインターフェースは、銅、光ファイバー、及び/又は無線のような、1つ以上の異なる種類の物理ネットワーク接続をサポートする為に構成されてよく、イーサネット(登録商標)のような、1つ以上の異なる種類のプロトコルをサポートする為に構成されてよく、及び、ギガビットレートのような、いくつかのスピードで動作する為に構成されてよい。サーバ114が追加的な及び/又は他の構成要素を有し得ることについて、当業者は理解するであろう。サービスプロバイダ110は、1つ以上の、ソフトウェア及び/又はファームウェア及び/又はハードウェアベースの、アプリケーションを含んでよく、これは、1つ以上のデータベースシステム及び/又はサーバ114に格納されてよく、及び、1つ以上のサーバ114において実行される為に構成されてよい。各サーバは、同じ又は異なるアプリケーションを実行してよい。1例として、アプリケーションは、本明細書に記載されているように、1つ以上のアイテムの取引/照合の為の1つ以上の電子照合/取引エンジンを提供する為に構成されてよい。
ネットワークエレメント112は、例えば、1つ以上のルータ及び/又はスイッチを含んでもよく、これは、例えば、コア及び/又はエッジルータ及び/又はスイッチを含んでいる。各ネットワークエレメント112は、1つ以上の、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポートを含んでもよく、これは、ネットワークエレメントが互いに接続され、1つ以上のサーバ114に接続され、及び/又はネットワーク103に接続されるのを可能にする。そのようなインターフェースは、銅、光ファイバー、及び/又は無線のような、1つ以上の異なる種類の物理ネットワーク接続をサポートする為に構成されてよく、イーサネット(登録商標)のような、1つ以上の異なる種類のプロトコルをサポートする為に構成されてよく、及び、ギガビットレートのような、いくつかのスピードで動作する為に構成されてよい。ネットワークエレメント112が追加的な及び/又は他の構成要素を有し得ることについて、当業者は理解するであろう。1つ以上のネットワークエレメント112は、互いへの、サーバ114への、及び/又はネットワーク103への、(有線/無線の)1つ以上の物理的な接続を含んでよい。ネットワークエレメント112及び1つ以上のサーバ114は、1つ以上のサーバ114が、プライベートネットワークアドレスを有し、そして、これによってサービスプロバイダ110のプライベートネットワークに属し、及び/又は、パブリックアドレスを有し、そして、これによってパブリックネットワークに属するように、更に構成されてよい。この方式では、ネットワークエレメント112は、サーバ114が、互いに通信したり、及び/又はネットワーク103と通信したり、そして、これによって、顧客130のコンピューティングシステム138のような、例えば、ネットワーク103に接続された1つ以上の他のコンピューティングシステムと通信できるように、構成されてよい。ネットワークエレメント112が、本明細書に記載されているような追加的な及び/又は別なエレメントを含んでよいこと、及び、本明細書に記載されているのと違った追加的な及び/又は別な種類の機能を提供し得ること、について当業者は理解するであろう。
一例としての顧客130(顧客130aとして示す)は、1つ以上のネットワークエレメント132、134、及び136と、(1つ以上のデータベースシステムを含んだり/又は接続されたりしてよい)1つ以上のコンピューティングシステム138とを含んでよい。顧客130が、追加的な及び/別のコンピューティングシステム、及び/又はネットワークエレメントを含んでもよいこと、について当業者は理解するであろう。別の顧客130が、図1Aに示される顧客130aの構成要素とは、同様な及び/別の構成要素を含んでよいことについて、当業者は理解するであろう。コンピューティングシステム138は、記載の便宜上、ここでは、サーバと称することができる。しかしながら、サーバという用語の使用が非限定的であること、及びコンピューティングシステムの他の種類が使用可能であることについて、理解されたい。1つ以上のサーバ138は、1つ以上のプロセッサ及び1つ以上のメモリを含んでよい。1つ以上のサーバ138は、1つ以上の、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポートを含んでもよく、これは、サーバがネットワークエレメント132乃至136の1つ以上に接続され、そしてそれによってネットワーク103に接続されるのを可能にする。そのようなインターフェースは、銅、光ファイバー、及び/又は無線のような、1つ以上の異なる種類の物理ネットワーク接続をサポートする為に構成されてよく、イーサネット(登録商標)のような、1つ以上の異なる種類のプロトコルをサポートする為に構成されてよく、及び、ギガビットレートのような、いくつかのスピードで動作する為に構成されてよい。サーバ138が追加的な及び/又は他の構成要素を有し得ることについて、当業者は理解するであろう。顧客130は、1つ以上の、ソフトウェア及び/又はファームウェア及び/又はハードウェアベースの、アプリケーションを含んでよく、これは、1つ以上のデータベースシステム及び/又はサーバ138に格納されてよく、及び、1つ以上のサーバ138において実行される為に構成されてよい。各サーバは、同じ又は異なるアプリケーションを実行してよい。1例として、アプリケーションは、サービスプロバイダ110のサーバ114によって提供されるサービスを使う為に構成されてよく、そして特に、例えば、サービスプロバイダ110のサーバ114によって提供される電子照合/取引エンジンの使用を通して、1つ以上の他の顧客130と1つ以上のアイテムを取引する為に構成されてよい。この例によると、顧客130の1つ以上のサーバ138は、例えば、サービスプロバイダ110のサーバ114とデータ/メッセージの電気的な通信をネットワーク103を介して行い、これは、例えば、特定の価格及び/又は量での買い及び/又は売りの注文を含んでいる(例えば、ビッド、オファー、ヒット、テイク)。同様に、サービスプロバイダ110のサーバ114は、そのような注文を電気的に受け取って実行し、顧客130のサーバ138とデータ/メッセージの電気的な通信を行い、これは、例えば、継続中及び実行された注文の価格及び量を含んでいる。本明細書に記載されているように、これが単に例にすぎず、他の及び/又は追加的なサービスがサービスプロバイダ110によって提供されてよいこと、及び、追加的な及び/又は他のメッセージ/データがサービスプロバイダ110及び顧客130の間で伝達されてよいこと、について当業者は理解するであろう。
顧客130のネットワークエレメント132乃至136は、例えば、1つ以上のルータ及び/又はスイッチを含んでもよく、これは、例えば、コア及び/又はエッジルータ及び/又はスイッチを含んでいる。各ネットワークエレメントは、1つ以上の、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポートを含んでもよく、これは、ネットワークエレメントが互いに接続され、1つ以上のサーバ138に接続され、及び/又はネットワーク103に接続されるのを可能にする。そのようなインターフェースは、銅、光ファイバー、及び/又は無線のような、1つ以上の異なる種類の物理ネットワーク接続をサポートする為に構成されてよく、イーサネット(登録商標)のような、1つ以上の異なる種類のプロトコルをサポートする為に構成されてよく、及び、ギガビットレートのような、いくつかのスピードで動作する為に構成されてよい。ネットワークエレメント132乃至136が追加的な及び/又は他の構成要素を有し得ることについて、当業者は理解するであろう。1つ以上のネットワークエレメント132乃至136は、互いへの、1つ以上のサーバ138への、及び/又はネットワーク103への、(有線/無線の)1つ以上の物理的な接続を含んでよい。ネットワークエレメント132乃至136は、1つ以上のサーバ138が、プライベートネットワークアドレスを有し、そして、これによって各顧客130のプライベートネットワークに属し、及び/又は、パブリックアドレスを有し、そして、これによってパブリックネットワークに属するように、更に構成されてよい。この方式では、ネットワークエレメント132乃至136は、サーバ114が、互いに通信したり、及び/又はネットワーク103と通信したり、そして、これによって、サーバ114のような、例えば、ネットワーク103に接続された1つ以上の他のコンピューティングシステムと通信できるように、構成されてよい。ネットワークエレメント132乃至136が、本明細書に記載されているような追加的な及び/又は別なエレメントを含み得ること、及び、本明細書に記載されているのと違った追加的な及び/又は別な種類の機能を提供し得ること、について当業者は理解するであろう。
ネットワーク103は、1つ以上のネットワークエレメントを含んでよく、これは、例えば、1つ以上のルータ及び/又はスイッチを含んでいる。そのようなネットワークエレメントは、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポートを含んでもよく、これは、銅、光ファイバー、及び/又は無線のような、1つ以上の異なる種類の物理ネットワーク接続をサポートする為に構成されてよく、イーサネット(登録商標)のような、1つ以上の異なる種類のプロトコルをサポートする為に構成されてよく、及び、ギガビットレートのような、いくつかのスピードで動作する為に構成されてよい。ネットワーク103の1つ以上のエレメントは、互いへの、及び事業体110への及び事業体130の各々への、(有線/無線の)1つ以上の物理的な接続を含んでよい。できるように構成されてよい。ネットワーク103は、パブリック及び/又はプライベートネットワークとして構成されてよい。ネットワーク103が、本明細書に記載されているような追加的な及び/又は別なネットワークエレメントを含んでよいこと、及び、追加的な及び/又は本明細書に記載されているのと違った方式において構成されてよいこと、について当業者は理解するであろう。
本明細書に記載されている同様な構成要素を同様な参照番号が参照している図1Bにおいて、図1Aのシステム100の構成の1例となり得るシステム200が示されている。この例によると、サービスプロバイダ110のネットワークエレメント112は、コアスイッチのような、スイッチを含んでよく、これは、各サーバ114への1つ以上の接続を含む。1例として、ネットワークエレメント112は、他の及び/又は追加的なネットワークエレメントが使用されてよいが、アリスタ(Arista)7124アプリケーションスイッチでもよい。ネットワークエレメント112及び1つ以上のサーバ114は、ネットワーク103のネットワークアドレスを有する1つ以上のサーバ114として構成されてよく、この場合、そのアドレスは、(当該アドレスは実際にはパブリックではないが)「パブリック」アドレスとして参照されてよい。例示のシステム200の例示の態様によると、ネットワーク103は、サービスプロバイダ110の(ことによると所有又はリースされる)プライベートネットワークであってよい。この例によると、ネットワークエレメント112及び1つ以上のサーバ114は、ネットワーク103の一部であろう。即ち、サーバ114とインターフェースし、又、顧客130とインターフェースするネットワークエレメント112の各ネットワークインターフェースは、同じアドレス領域上にあってよい。
図1Bのこの例示の構成の更なる態様によると、(顧客130aによって示されている)例示の顧客130のネットワークエレメント136は、例えばコアスイッチのようなスイッチを含んでよく、ネットワークエレメント134は、例えばエッジスイッチのようなスイッチであってよく、及びネットワークエレメント132はルータであってよい。スイッチ136は、各サーバ138への1つ以上の接続、及びスイッチ134への1つ以上の接続を含んでよい。次に、スイッチ134は、ルータ136への1つ以上の接続を含んでよい。ネットワークエレメント132乃至136及び1つ以上のサーバ136は、1つ以上のサーバ138が、プライベートネットワークアドレス(例えば、ネットワーク103上のではないアドレス)を有し、そして、これによって、ネットワーク103から分離しているプライベートネットワークに属するように、更に構成されてよい。別の顧客130nは、同様な構成を有してよい。
図1Bのこの例示の構成の更なる態様によると、各顧客130は、ネットワーク103上の1つの(ことによるとより多くの)アドレスを有してよく、このアドレスは、好ましくは、(当該アドレスは実際にはパブリックではないが)「パブリック」アドレスとして参照されてよい。従って、各ルータ132は、ネットワークアドレストランスレータ及びポートアドレストランスレータ(NAT/PAT)として構成されてよく、これは、例えば、顧客130のネットワークのサーバ138の1つ以上のプライベートアドレスと、ネットワーク103上の各顧客130に割り当てられるパブリックアドレスの間で対応付けを行う。従って、サーバ138がメッセージ/データ(これは、例えばアドレス及び/又はポートを含むパケットに埋め込まれてよい)をサーバ114に通信している時、ルータ136は、パケット中のサーバ138のプライベートアドレスを、ネットワーク103上の顧客130に割り当てられたパブリックアドレスに変換してよい。また、そのような変換は、サーバ138のアプリケーションによって使用されているポート番号を別のポート番号に変換することを含んでよい。同様に、サーバ110がメッセージ/データ(これは、例えばアドレス及び/又はポートを含むパケットに埋め込まれてよい)をサーバ138に通信している時、ルータ136は、パケット中の顧客130に割り当てられているパブリックアドレスを、サーバ138のプライベートアドレスに変換してよい。また、ルータ136は、アドレス変換の一部としてポート変換を行ってよい。
図1Bのこの例示の構成の更なる態様によると、ネットワーク103は、サービプロバイダ110のスイッチ112と例えば顧客130の各ルータ132との間の(また、非2地点間接続(non−point to point connections)が可能であるが)2地点間接続(point to point connections)113a−nを含んでよい。例えば、サービスプロバイダ110のスイッチ112と例えば顧客130のルータ132との間の各接続は、例えば、1Gbで動作するシングルモードファイバー接続のようなファイバー接続であってよい(他の種類の接続及びレートも使用できる)。この例示の構成の更なる態様によると、サービスプロバイダ110の、1つ以上のサーバ114及びネットワークエレメント112、及び各顧客130の1つ以上のネットワークエレメント132乃至136及びサーバ138は、同じ部屋内のように、共同設置でよい。例えば、1つ以上のサーバ114及びネットワークエレメント112は、1つのラック内に存在してよい。同様に、第1の各顧客130の1つ以上のネットワークエレメント132乃至136及びサーバ138は、別の各ラック内等に存在してよい。システム200が、追加的な及び/又は本明細書に記載されているのとは違った別のエレメントを含んでよいこと、及び、追加的な及び/又は本明細書に記載されているのとは違った別の構成を含んでよいこと、について当業者は理解するであろう。
図1A及び図1Bに示されたれ例示のシステム100及びシステム200の問題の1例は、サーバ114及びサーバ138の間でデータが通信される時に、かなりの遅延が引き起こされる可能性があることである。具体例として、ルータ132は、例えばネットワーク/ポート変換機能の結果としての遅延(例えば、100usを超える)を引き起こす可能性がある。同様に、異なる顧客130での異なるルータ132は、他の遅延を経験する可能性がある。
本明細書に記載されている同様な構成要素を同様な参照番号が参照している図2において、図1Bの例示のシステム200と同様な1例としてのシステム300が示されている。この例によると、システム200は、ネットワークエレメント202を含む。ネットワークエレメント202は、サービスプロバイダ110の一部であってよく、そして例えば、サービスプロバイダによって所有及び/又は運用されてよい。ネットワークエレメントは、サービスプロバイダ110のサーバ114、及び/又は、サービスプロバイダ110のネットワークエレメント112を含む、1つ以上のネットワークエレメントと一緒に共同設置されてよく、エレメントとして同じラック内に存在してよい。ネットワークエレメント202がサービスプロバイダ110によって所有及び/又は運用される必要がなく、ネットワークエレメント及び/又はサービスプロバイダ110のサーバと一緒に共同設置される必要がないことについて、当業者は理解するであろう。
ネットワークエレメント202は、1つ以上の、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポート204a...204nを含んでよく、これは、例えば、ネットワークエレメントが、ことによるとネットワークエレメント112を介して、サーバ114に接続するのを可能にする。ネットワークエレメント202は、1つ以上の、ネットワークハードウェア/ソフトウェア/ファームウェアベースの、インターフェース/ポート206a...206nを含んでよく、これは、例えば、ネットワークエレメントが、各顧客130a−nのサーバ138に接続するのを可能にする。ネットワークエレメント202のネットワークインターフェース204a−n及び206a−nは、銅、光ファイバー、及び/又は無線のような、1つ以上の異なる種類の物理ネットワーク接続をサポートする為に構成されてよく、イーサネット(登録商標)のような、1つ以上の異なる種類のプロトコルをサポートする為に構成されてよく、及び、ギガビットレートのような、いくつかのスピードで動作する為に構成されてよい。また、異なるネットワークインターフェース204a−n及び206a−nは、異なる構成を有してよい。ネットワークエレメント202が追加的な及び/又は他の構成要素を有し得ることについて、当業者は理解するであろう。
図2に更に示されるように、ネットワークエレメント202の1つ以上のネットワークインターフェース204a−nは、例えば、接続210a−nによって、スイッチであってよいネットワークエレメント112に(有線にて/無線にて)物理的に接続されてよい。別の及び/又は追加的な例によると、ネットワークエレメント202の1つ以上のネットワークインターフェース204a−nは各々、1つ以上の接続210a−nによって、サービスプロバイダ110の各サーバ114に物理的に直接接続されてよい。例示のシステム300の更なる態様によると、各顧客130a−nは、ネットワークエレメント202の1つ以上の各ネットワークインターフェース206a−nに、割り当てられてよい。従って、ネットワークエレメント202の各ネットワークインターフェース206a−nは各々、例えば、接続212a−nによって、各顧客130a−nの各サーバ138に、直接及び/又は各顧客の1つ以上のネットワークエレメント(例えば、ネットワークエレメント136、これは、例えばスイッチであってよい)を介するかの一方で、物理的に(有線にて/無線にて)接続されてよい。例えば、各接続212a−nは、(他の種類の接続及びレートも使用できるが)例えば、1Gbで動作するシングルモードファイバー接続のようなファイバー接続であってよい。ネットワークエレメント202及びシステム300の追加的な及び/又は別な構成が可能であることについて、当業者は容易に理解するであろう。
例示のシステム300の更なる態様によると、ネットワークエレメント202のネットワークインターフェース204a−n、接続210a−n、ネットワークエレメント112、及び1つ以上のサーバ114は、ネットワーク214上に存在し、これは、サービスプロバイダ110のプライベートネットワークであってよく、ネットワークアドレスの領域を有してよい。従って、ネットワークエレメント112及び1つ以上のサーバ114は、1つ以上のサーバ114が、ネットワークアドレス領域内でネットワーク214上のネットワークアドレスを有するように、構成されてよい。この例示の構成の更なる態様によると、ネットワークインターフェース206a、接続212a、各顧客130aのネットワークエレメント136、及び、例えば、各顧客130aの1つ以上のサーバ138は、顧客130aのネットワーク216a上に存在してよく、これは、顧客130aのプライベートネットワークであってよく、ネットワークアドレス領域を有してよい。従って、顧客130aのネットワークエレメント136及び1つ以上のサーバ138は、1つ以上のサーバ138が、各ネットワークアドレス領域内でネットワーク216a上のネットワークアドレスを有するように、構成されてよい。同様に、ネットワークインターフェース206n、接続212n、顧客130nのネットワークエレメント136、及び、例えば、顧客130nの1つ以上のサーバ138は、顧客130nのネットワーク216n上に存在してよく、これは、顧客130nのプライベートネットワークであってよく、各ネットワークアドレス領域を有してよい。従って、顧客130nのネットワークエレメント136及び1つ以上のサーバ138は、顧客130nの1つ以上のサーバ138が、各ネットワークアドレス領域内でネットワーク216n上のネットワークアドレスを有するように、構成されてよい。図2に示されている別の顧客130は、同様な構成を有してよい。
この例示のシステムの更なる態様によると、ネットワークエレメント202は、例えば、相方向性の、ネットワークアドレストランスレータ及びことによればポートアドレストランスレータ(NAT/PAT)であってよい。 より具体的には、この例によると、各顧客130a−nは、ネットワーク214のネットワークアドレス領域内のネットワーク214上の1つ(ことによるとより多くの)のアドレスを有してよい。従って、各顧客130a−nの為に、ネットワークエレメント202は、NAT/PATとして構成されてよく、これは、例えば、ネットワーク214のネットワークアドレス領域内で、(例えば、各ネットワークのネットワークアドレス領域内で)各顧客のネットワーク216a−nのサーバ138の1つ以上のアドレスと、ネットワーク214の各顧客130a−nに割り当てられるアドレスの間で対応付けを行う。従って、サーバ138がメッセージ/データ(これは、例えばアドレス及び/又はポートを含むパケットに埋め込まれてよい)をサーバ114に通信している時、ネットワークエレメント202は、パケット中のサーバ138のネットワーク216a−nのアドレスを、ネットワーク214上の顧客130a−nに割り当てられたアドレスに変換してよい。また、そのような変換は、サーバ138のアプリケーションによって使用されているパケットにおけるポート番号を別のポート番号に変換することを含んでよい。同様に、サーバ110がメッセージ/データ(これは、例えばアドレス及び/又はポートを含むパケットに埋め込まれてよい)をサーバ138に通信している時、ネットワークエレメント202は、パケット中におけるネットワーク214上の顧客130a−nに割り当てられるアドレスを、ネットワーク216a−n上のサーバ138のアドレスに変換してよい。また、ネットワークエレメント202は、アドレス変換の一部としてポート変換を行ってよい。
本明細書に記載されている同様な構成要素を同様な参照番号が参照する図3に移って、ネットワークエレメント202の示されている例示のアーキテクチャがある。ネットワークエレメント202は、複数のコンピューティングプロセッサを含んでよく、これは、1つ以上のプロセッサ301a...301n、及び1つ以上のプロセッサ302a、302b....302nを含んでいる。プロセッサ301a−nは、スケジューリングプロセッサとして本明細書では参照されてよく、プロセッサ302a−nは、ネットワークプロセッサとして本明細書では参照されてよい。用語「スケジューリング」及び「ネットワーク」は、非限定であることが意図されており、説明の便宜上のみの為に本明細書では使用されている。各プロセッサ301a−n及び302a−nは、例えば、メモリ、処理スピード等に関して、同様であってもよく、又は、同様でなくてもよい。ネットワークエレメント202が、追加の及び又はより少ないプロセッサを含んでよいことについて、当業者は理解するであろう。例示のネットワークエレメント202の更なる態様によると、1つ以上のスケジューリングプロセッサ301a−n及びネットワークプロセッサ302a−nのいくつかは、例えば、シェアードメモリアーキテクチャを含んでよい、バスアーキテクチャなどの、通信アーキテクチャを介して、互いに相互接続されてよい。別の及び/又は追加の通信アーキテクチャが可能であることについて、当業者は理解するであろう。通信アーキテクチャは、スケジューリングプロセッサ301a−nのいくつかが、1つ以上のネットワークプロセッサ302a−nのいくつかと通信可能に構成されるように、構成されてもよい。別の構成が可能であることについて、当業者は容易に理解するであろう。
ネットワークエレメント202は、本明細書に記載のように、例えば、サーバ114と直接又は間接的にインターフェースする為に構成されてよい1つ以上のネットワークインターフェース214a−nと、例えば、各顧客130a−nとインターフェースする為に構成されてよい1つ以上のネットワークインターフェース206a−nとを、含んでよい。ネットワークインターフェース204a−n及び206a−nは、同様な構成及び/又は1つ以上の異なる構成を有してよい。例えば、インターフェース204a−n及び206a−nは、ロングレンジ又はショートレンジ、1Gb又は10Gbレートで動作する、シングルモード又はマルチモードファイバーインターフェースの組合せのいくつかであってよい。1つ以上のネットワークインターフェース204a−n及び206a−nは、自身のネットワークインターフェースカードに物理的に設けられてよい、及び/又は、ネットワークインターフェース204a−n及び206a−nのいくつかは、共通のネットワークインターフェースの1つのカード又は複数のカードに物理的に設けられてよい。別の構成が可能であることについて、当業者は容易に理解するであろう。
本明細書に記載のように、各ネットワークインターフェース206a−nは、各顧客130a−nに分配され及びインターフェースしてよい。当該顧客は、多数のネットワークインターフェース(例えば、負荷バランスの目的の為に、バックアップ等)が分配されることについて、当業者は容易に理解するであろう。例示のネットワークエレメント202の更なる態様によると、各ネットワークインターフェース206a−nは、各ネットワークインターフェースを介して通信される全てのデータが、各ネットワークプロセッサによってただ扱われるように、1つ以上のネットワークプロセッサ302a−n各々に割り当て/分配されてよい。しかしながら、2つ以上のネットワークインターフェース206a−nを当該ネットワークプロセッサ302a−nに割り当てること、及び/又は、2つ以上のネットワークプロセッサ302a−nを当該ネットワークインターフェース206a−nに割り当てることを含んでいる、追加的な及び/又は別の構成が可能であることについて、当業者は容易に理解するであろう。例示のネットワークエレメント202の更なる態様によると、当該ネットワークインターフェース206a−nは、例えば、ピーシーアイエクスプレス(PCIe)バスアーキテクチャなどの、バスアーキテクチャなどの、通信アーキテクチャを介して、その各ネットワークプロセッサ302a−nに相互接続されてよい。別の及び/又は追加的な通信アーキテクチャが可能であることについて、当業者は容易に理解するであろう。通信アーキテクチャは、ネットワークインターフェース206a−nのいくつかが、1つ以上のネットワークプロセッサ302a−nのいくつかと通信する(そして、逆も同じである)為に構成されてよいように、なっていてよい。ネットワークエレメント202の更なる態様によると、各ネットワークプロセッサ302a−nは、例えば、関連するネットワークインターフェース206a−nからの割り込み以外の全ての割り込みからシールドされてよい。別の構成が可能であることについて、当業者は容易に理解するであろう。
図3に更に示されているように、例示のネットワークエレメント202は、1つ以上のネットワークアプリケーション303a−nを含んでよい。ファームウェア及び/又はハードウェアベースのアプリケーションを含む、他の及び/又は追加的な構成が可能であるが、アプリケーション303a−nは、ソフトウェアベースのアプリケーションであってよい。ネットワークエレメント202は、1つ以上のメモリ装置を含んでよく、メモリ装置には、アプリケーション303a−nが格納されてよく、及び/又は、メモリ装置からアプリケーションが実行されてよい。そのようなメモリ装置は、1つ以上のプロセッサ301a−n及び302a−nに電気的に接続されてよい。ネットワークエレメント202の態様によると、各ネットワークプロセッサが、アプリケーション303a−nを実行してよい。ネットワークエレメント202の更なる態様によると、各アプリケーション303a−nは、各プロセッサにおいてただ実行してよい。よって、アプリケーション303aは、プロセッサ302aにおいてただ実行してよく、アプリケーション303bは、プロセッサ302bにおいてただ実行してよい等。これは、プロセッサの相性として参照されてよい。しかしながら、単独のプロセッサ302a−nにおいて実行する多数のアプリケーション303a−nを有すること、及び/又は、多数のプロセッサにおいて実行する1つ以上のアプリケーション303a−nを有することを含んでいる、追加の及び/又は他の構成について、当業者は容易に理解するであろう。
従って、例示のネットワークエレメント202の構成によると、当該ネットワークアプリケーション303a−nは、各ネットワークプロセッサ302a−nにおいてそして実行する為に、割り当て/分配されてよく、これは、各ネットワークインターフェース206a−nに割り当て/分配されてよく、各顧客130a−nに割り当て/分配されてよい。この例示の構成の更なる態様によると、各ネットワークアプリケーション302a−nは、NAT及びことによるとPATとして構成されてよく、ネットワーク214と各顧客130a−nの各ネットワーク216a−nとの間を通過するメッセージ/データの為のネットワーク/ポート変換を行う。従って、ネットワークエレメント202は、(ネットワーク管理者によって)当該ネットワークインターフェース206a−nを当該ネットワークアプリケーション302a−nに割り当て/分配する為に構成されてよく、及び、各ネットワークプロセッサ上のネットワークアプリケーション303a−nが、割り当てられるインターフェースが接続される顧客130a−nに基づいて、NAT/PAT機能を行うように更に構成されてよい。ネットワークプロセッサ302a−n及びネットワークインターフェース206a−nの物理的なハードウェアの構成/レイアウト、及び/又は、各顧客130a−nによって生成されて及び/又は各顧客に送られるデータの量によると、ネットワークプロセッサ302a−nへのネットワークインターフェース206a−nの特定の割り当て/分配は、ネットワークエレメント202の全データのスループットに関して、他のものよりも有利になることができ、例えば管理者によって、適宜割り当てられることができる。例えば、ネットワークプロセッサ302a−nの近くに当該ネットワークインターフェース206a−nを分配することは、有利になることができる。ネットワークアプリケーション302a−nがNAT/PATとして構成される必要がないこと、及び、1つのネットワークアプリケーションが、別のネットワークアプリケーション等と違う別の機能を発揮する為に構成されてよいことについて、当業者は容易に理解するであろう。
例示のネットワークエレメント202の更なる態様によると、各ネットワークインターフェース204a−nは、各ネットワークインターフェースを介して通信される全てのデータが、各スケジューリングプロセッサによってただ扱われるように、スケジューリングプロセッサ301a−nの1つ各々に割り当て/分配されてよい。しかしながら、追加的な及び/又は別な構成が可能であることについて、当業者は容易に理解するであろう。例えば、全てのネットワークインターフェース204a−nが、スケジューリングプロセッサ301a−nの1つに割り当て/分配されてよく、及び/又は、各スケジューリングプロセッサは、1つ以上のネットワークインターフェース204a−nのいくつかと通信する為に構成されてよい。例示のネットワークエレメント202の更なる態様によると、当該ネットワークインターフェース204a−nは、ピーシーアイエクスプレス(PCIe)バスアーキテクチャなどの、バスアーキテクチャなどの、通信アーキテクチャを介して、各スケジューリングプロセッサ301a−nに相互接続されてよい。別の及び/又は追加的な通信アーキテクチャが可能であることについて、当業者は容易に理解するであろう。通信アーキテクチャは、ネットワークインターフェース204a−nのいくつかが、1つ以上のスケジューリングプロセッサ301a−nのいくつかと通信可能に(あるいはその逆に)構成されるように、構成され得る。ネットワークエレメント202の更なる態様によると、1つ以上のスケジューリングプロセッサ301a−nは、例えば、ネットワークインターフェース204a−nからの割り込み以外の全ての割り込みからシールドされてよい。別の構成が可能であることについて、当業者は容易に理解するであろう。
図3に更に示されているように、ネットワークエレメント202は、1つ以上のスケジューリングアプリケーション及び/又は1つ以上の管理アプリケーションを含んでよく、これらは、アプリケーション304a−nとして図3に一括して示される。ファームウェア及び/又はハードウェアベースのアプリケーションを含む、他の構成が可能であるが、アプリケーション304a−nは、ソフトウェアベースのアプリケーションであってよい。記載のように、ネットワークエレメント202は、1つ以上のメモリ装置を含んでよく、このメモリ装置には、アプリケーション304a−nが格納されてよく、及び/又は、このメモリ装置からアプリケーションが実行されてよい。ネットワークエレメント202の1例によると、各スケジューリングプロセッサ301a−nは、1つ以上のスケジューリングアプリケーション、1つ以上の管理アプリケーション、又は両方の組合せを実行してよい。別な例として、スケジューリングアプリケーション及び/又は管理アプリケーションは、多数のプロセッサ上で実行してよい。別な例として、スケジューリングアプリケーションは、1つのスケジューリングプロセッサ301a−n上で実行してよく、そして、(本明細書で詳述のように)ネットワークプロセッサ302a−nのサブセットを担ってよく、一方、他のスケジューリングアプリケーションは、他のスケジューリングプロセッサ301a−n上で実行してよく、そして、ネットワークプロセッサ302a−nの異なるサブセットを担ってよい。別な例として、スケジューリングアプリケーションは、1つのスケジューリングプロセッサ301a−n上で実行してよく、そして、全てのネットワークプロセッサ302a−nを担ってよい。更なる例として、スケジューリングアプリケーションは、多数のスケジューリングプロセッサ301a−n上で実行してよく、そして、全てのネットワークプロセッサ302a−nを担ってよい。他のバリエーションが可能であることについて、当業者は容易に理解するであろう。説明の便宜の為に、ネットワークエレメント202については、1つのスケジューリングアプリケーションと1つの管理アプリケーションを有しているように、本明細書では記載されるであろう。ネットワークエレメント202は、本明細書に記載されているのとは違う別の種類のアプリケーションを含んでよいことについて、当業者は容易に理解するであろう。
例示のネットワークエレメント202の更なる態様によると、スケジューリングアプリケーション304は、ネットワークインターフェース206a−n及びネットワークインターフェース204a−nの間で以下のように、メッセージ/データをやりとりする為に構成されてよく、つまり:
a.ネットワークインターフェース206a−n上で受け取られるメッセージ/データの為に、各ネットワークアプリケーション303a−nが各パケットにおいてNAT/PATの変換を行い次第すぐに、例えば、スケジューリングアプリケーション304は、変換されたパケットを回収/入手してよく、変換されたパケットを、ネットワークインターフェース204a−nの1つの上で/に対して、転送/通信してよく、
b.ネットワークインターフェース204a−n上で受け取られるメッセージ/データの為に、スケジューリングアプリケーション304は、メッセージ/データを入手してよく、各ネットワークアプリケーション303a−nの何れが各パケットの為のNAT/PATの変換を行っているかを特定してよく、及び、パケットをそのネットワークアプリケーションに転送/通信してよく、当該パケットは、変換(NAT/PAT)されてよく、そして、各ネットワークインターフェース206a−n上で/に対して、転送/通信されてよい。
従って、ネットワークエレメント202の例示の動作によると、当該顧客130a−nの当該サーバ138は、メッセージ/データ(これは、例えばアドレス及び/又はポートを含むパケットに埋め込まれてよい)をサービスプロバイダ110のサーバ114に送信してよい。そのメッセージ/データ/パケットは、ネットワークエレメント202の当該ネットワークインターフェース206a−nにおいて受け取られてよい。そのネットワークインターフェース206a−nに割り当てられているネットワークプロセッサ302a−nの当該ネットワークアプリケーション303a−nは、それから、ネットワークインターフェース206からメッセージ/データ/パケット(又はそれらの一部)について入手/受け取り、及び/又は、転送されてよく、そして、各パケットについてNAT/PATの変換を行ってよい。ネットワークアプリケーション303a−nはそれから、変換されたメッセージ/データ/パケットをスケジューリングアプリケーション304に転送及び/又は有効にしてよく、また、スケジューリングアプリケーション304は、それから、変換されたメッセージ/データ/パケットを入手及び/又は受け取り、そしてそれから、変換されたメッセージ/データ/パケットを各ネットワークインターフェース204a−nに転送及び/又は有効にしてよく、当該メッセージ/データ/パケットはそれから、サーバ114に通信されてよい。同様に、サービスプロバイダ110の当該サーバ114は、メッセージ/データ(これは、例えばパケットに埋め込まれてよい)を顧客130a−nのサーバ138に送信してよい。そのメッセージ/データ/パケットは、ネットワークエレメント202の当該ネットワークインターフェース204a−nにおいて受け取られてよい。スケジューリングアプリケーション304は、それから、ネットワークインターフェース204a−nからメッセージ/データ/パケット(又はそれらの一部)について入手/受け取り、及び/又は、転送されてよく、各ネットワークアプリケーション303a−n/ネットワークプロセッサ302a−nの何れがそのメッセージ/データ/パケットの為のNAT/PATの変換を行っているかを特定してよく、メッセージ/データ/パケットをそのネットワークアプリケーション303a−nに転送及び/又は有効にしてよい(1例として、及び他の実装が可能であり、スケジューリングアプリケーションが、メッセージ/データを適正なネットワークプロセッサ302a−nに転送するために、スケジューリングアプリケーションは、テーブルを維持してよく、このテーブルは、管理者によって構成されてよく、このテーブルは、顧客130に関連するネットワークアドレスを各ネットワークプロセッサ302a−nに対応付けている)。また、ネットワークアプリケーション303a−nは、メッセージ/データ/パケットを入手及び/又は受け取ってよく、各パケットのNAT/PATの変換を行ってよく、ネットワークアプリケーション303a−nが実行しているネットワークプロセッサ302a−nに割り当てられる各ネットワークインターフェース206a−nに、変換されたメッセージ/データ/パケットを転送及び/又は有効にしてよい。そのネットワークインターフェース206はそれから、メッセージ/データ/パケットを顧客130a−nのサーバ138に通信してよい。これがただ1例であり、ネットワークエレメント202の別な及び/又は追加的な動作例が可能であることについて、当業者は容易に理解するであろう。本明細書に記載されているような、スケジューリングアプリケーション304によって行われる動作、及び、本明細書に記載されているような、ネットワークアプリケーション303a−nによって行われる動作について、全体が又は一部が他によって行われてよいことについても、当業者は容易に理解するであろう。
スケジューリングアプリケーション304及び当該ネットワークアプリケーション303a−nのいくつかとの間の通信に関して、1例として当該2つのアプリケーションは、1つ以上(例えば、2つ)のシェアードメモリの巡回待ち行列(shared memory circular queues)を介して通信してよい。例えば、ネットワークアプリケーション303は、ネットワークインターフェース206からの変換されたメッセージを第1メモリ行列内に設けてよく、そして、例えば、他のメッセージが行列内にあることを反映する為に、その行列へのインデックス/ポインタを更新してよい。同様に、スケジューリングアプリケーション304は、行列へのインデックス/ポインタを監視してよく、行列に新たなメッセージがあることを認識してよく、メッセージを読みだしてよく、例えば、メッセージが読み出されたことを反映する為に、インデックス/ポインタを更新してよい。同様に、スケジューリングアプリケーション304は、ネットワークインターフェース204からのメッセージを第2メモリ行列内に設けてよく、そして、例えば、他のメッセージが第2行列内にあることを反映する為に、その行列へのインデックス/ポインタを更新してよい。同様に、ネットワークアプリケーション303は、第2行列へのインデックス/ポインタを監視してよく、行列に新たなメッセージがあることを認識してよく、メッセージを読みだしてよく、例えば、メッセージが読み出されたことを反映する為に、インデックス/ポインタを更新してよい。同様なプロセスは、スケジューリングアプリケーション304と通信を行う為に、別のネットワークアプリケーション303(これは、これ自身の行列のセットを有してよい)の為に使用されてよい。これがただ1例であり、他の通信の技術/プロセスが使用可能であることについて、当業者は容易に理解するであろう。
記載のように、例えば、ネットワークエレメント202は、管理アプリケーション304を含んでよく、これは、スケジューリングプロセッサ301a−n上で実行してよい。そのようなアプリケーションは、ネットワークエレメント202のステータスを監視し、ネットワークエレメントを構成する為に、管理者によって使用されてよい。例えば、ネットワークエレメント202は、例えば、ディスプレイインターフェース、マウス、キーボード、タッチスクリーン、(リモートアクセスの為の)ネットワークインターフェースなどの、1つ以上の入力/出力装置を含んでよい。そのようなインターフェース及び管理アプリケーション304の使用を通して、例えば、管理者は、ネットワークエレメント202のステータスを監視し、ネットワークエレメントを構成してよい。例えば、管理者は、当該ネットワークインターフェース206a−nを当該ネットワークプロセッサ302a−nに対して、割り当て/分配、及び/又は再割り当て/再分配を行ってよい。管理者は、顧客130a−nに従って、(例えば、アドレス及び/又はポートに関して、ネットワークアプリケーションが間において変換を行っている)当該ネットワークプロセッサ302のネットワークアプリケーション303a−nを更に構成してよく、ネットワークアプリケーション303は、前述の顧客130a−nのためにNAT/PATの変換を行っている。ネットワークアプリケーションは、別の方式において構成されてよいことについて、当業者は容易に理解するであろう。ネットワークエレメント202のハードウェア/ソフトウェア構成の1つの利点は、例えば、管理者が、他の顧客を中断することなく、(例えば、NAT/PATの構成に関して、どのネットワークプロセッサ302a−nが顧客に割り当てられるかについて、及び/又はどのネットワークインターフェース206a−nがネットワークプロセッサ302a−n及び/又は顧客に割り当てられるかに関して)当該顧客130a−nを再構成できることある。管理アプリケーション304は、管理者が、ネットワークエレメント202の状態を監視できるように、例えばIPMIサブシステムを含んでよい。そのようなサブシステムは、管理アプリケーション304から分離していてよい。これらがただ例示の管理機能であり、別の/追加的な機能が可能であることについて、当業者は容易に理解するであろう。
ネットワークエレメント202の更なる態様によると、ネットワークエレメントは、ソリッドステートドライブのような、1つ以上のメモリ装置を含んでよく、ネットワークエレメント介して移動するデータの全て(又は一部)をキャプチャし、ドライブにデータの記録を出す1つ以上のロギングアプリケーションを含んでよい。更なる態様によると、ロギングアプリケーションは、データをフィルタしてデータの一部のみを格納してよく、及び/又は、データを解析(例えば、レイテンシー演算(latency calculations))してそのような解析結果を格納してよい。また更なる態様によると、ロギングアプリケーションは、データをフィルタして(例えば、市場データ価格、終了した取引等を探すこと等)、及び/又は、データの解析を行ってよく、及び、フィルタされたデータ及び/又は解析結果を(例えば、ネットワークインターフェース204a−n及び206a−nとは異なる)他のネットワークインターフェース上に転送してよい。別のシステム及び(顧客130のような)ユーザは、ネットワークエレメント202の外部で、そのようなデータ及び/又は解析結果を受け取ってよく、これは、価格のためのデータ及び/又は解析結果を受け取ること含んでいる。これらがただ例示のロギング機能であり、別の/追加的な機能が可能であることについて、当業者は容易に理解するであろう。
ネットワークエレメント202の例示の実装によると、複数(例えば、8個)のコアを含んでいるインテルサンディブリッジ(Intel Sandy Bridge)プロセッサが、1つ以上のプロセッサ301a−n及び302a−nを提供するために使用されてよい。例えば、当該サンディブリッジプロセッサの為に、1つ以上のコアがスケジューリングプロセッサ302a−nとして分配されてよく、そして、1つ以上のコアがネットワークプロセッサ303a−nとして分配されてよい。そのようなコアは、プロセッサ301a−n及び302a−nの為に、本明細書に記載されているように、構成されて動作してよい。ネットワークエレメント202は、多数のサンディブリッジプロセッサを含んでよい。ここで、各サンディブリッジプロセッサの為に、1つ以上のコアがネットワークプロセッサ302a−nとして配置されてよく、そして、1つ以上のコアがスケジューリングプロセッサ301a−n(これは、例えば、ネットワークインターフェース204a−n及206a−nの間を移動するメッセージの目的の為のチップのネットワークプロセッサと一緒に動作するのみでよい)として配置されてよい。そのような構成では、いくつかのネットワークインターフェース206a−nは、サンディブリッジのいくつかのネットワークプロセッサ(コア)に配置されてよい。代替的に、特定のネットワークインターフェース206a−nのみが、1つのサンディブリッジプロセッサに配置されてよく、一方、ネットワークインターフェース206a−nの別のセットは、他のサンディブリッジプロセッサ等に配置されてよい。同様に、いくつかのネットワークインターフェース204a−nは、いくつかのサンディブリッジプロセッサのスケジューリングプロセッサ(コア)に配置されてよい。代替的に、特定のネットワークインターフェース204a−nのみが1つのサンディブリッジプロセッサに配置されてよく、一方、ネットワークインターフェース206a−nの別のセットは、他のサンディブリッジプロセッサ等に配置されてよい。これらが単に例にすぎないこと、別の構成及び別のチップセットが使用可能であることについて、当業者は容易に理解するであろう。
ネットワークエレメント202の更なる例示の実装によると、ネットワークインターフェース204a−n及び/又は206a−nは、例えば、1つ以上のトンボラ(Tambora)120G6、トンボラ64G6、トンボラ80G4、トンボラ64G4、及びボサビ(Bosavi)12G6のいくつかを含んでいる、ホットラバ(Hotlava)からの1つ以上のネットワークインターフェースカードを介して提供されてよい。これらが単に例にすぎないこと、他の供給者からのものを含む、別のネットワークインターフェースカードが使用可能であることについて、当業者は容易に理解するであろう。
ネットワークエレメント202の更なる例示の実装によると、例えば、サンディブリッジプロセッサ、及びホットラバからのネットワークインターフェースは、例えば、1つのマザーボードに差し込まれてよく、そのようなシステムは、リナックス(登録商標)オペレーションシステムを動作してよい。また、これらが単に例にすぎないこと、他の構成が可能であることについて、当業者は容易に理解するであろう。
ネットワークエレメント202が又、(例えば、図2及び図3において、本明細書に記載のように構成されてもいるが)逆の方向に構成されてよいことについて、当業者は容易に理解するであろう。例えば、ネットワークインターフェース206にインターフェースされた別のいくつかのネットワークが可能であるが、ネットワーク214の当該サーバ114は、例えばネットワーク216aのような、別のネットワーク上の1つの(ことによればより多くの)アドレスを有してよい。従って、当該サーバ114の為に、例えば、ネットワークエレメント202は、(本明細書に記載の)NAT/PATとして構成されてよく、このNAT/PATは、顧客ネットワーク214上のサーバ114の1つ以上のアドレスと、ネットワーク216a上のサーバに割り当てられたアドレスとの対応付けを行う。
この開示は、特定の実施形態及び一般的に関連する方法に関して記載されたたが、実施形態及び方法の変更及び置換は、当業者に明らかであろう。従って、上述の例示の実施形態は、この開示に束縛されない。他の変更、代用、及び交換は、本明細書の企図及び範囲から逸脱しない限り可能である。
以下のセクションは、本出願を解釈するガイドを提供する。
I.用語
用語「製品」は、他で明示的に規定されていなければ、任意の機械、製造物および/または組成物を意味する。
用語「プロセス」は、他で明示的に規定されていなければ、任意のプロセス、アルゴリズム、方法または同様のものを意味する。
各プロセス(方法、アルゴリズムまたはその他と呼ばれるか否かに関わらず)は、1つまたは複数の工程を本質的に含み、したがって、プロセスの「工程(step)」または「複数の工程(steps)」へのすべての言及は、プロセスの単なる説明において、または、用語「プロセス」もしくは同様の用語の単なる記載において、内在的な先行詞を有する。従って、請求項におけるプロセスの「工程」または「複数の工程」へのあらゆる言及は、十分な先行詞を有する。
用語「発明」および同様の用語は、他で明示的に規定されていなければ、「本出願において開示されている1つまたは複数の発明」を意味する。
用語「実施形態(an embodiment)」、「実施形態(embodiment)」、「複数の実施形態(embodiments)」、「実施形態(the embodiment)」、「複数の実施形態(the embodiments)」、「1つまたは複数の実施形態(one or more embodiments)」、「いくつかの実施形態(some embodiments)」、「ある実施形態(certain embodiments)」、「一実施形態(one embodiment)」、「別の実施形態(another embodiment)」、および同様の用語は、他で明示的に規定されていなければ、「発明の1つまたは複数の(ただし、すべてではない)実施形態」を意味する。
発明の用語「変形形態」は、他で明示的に規定されていなければ、本発明の実施形態を意味する。
用語「表示」は非常に広い意味で使用される。物の「表示」は、物の決定に使用され得るいかなるものも含むことを理解されたい。
物の表示は、その物を識別する電子メッセージ(例えば、ウィジェットに添着されたシリアル番号によるウィジェットの識別、ウィジェットの1つまたは複数の特性によるウィジェットの識別)を含み得る。物の表示は、物の計算および/または検索に使用され得る情報(例えば、ウィジェットの決定に使用され得るウィジェットがその一部である機械を識別する情報)を含み得る。物の表示により、その物に関連する物を指定できる場合がある(例えば、その物の特性、その物の名前、その物に関連する物の名前)。物の表示により、その物に関連する物を指定できない場合がある(例えば、文字「a」は、文字「a」を解釈してウィジェットを識別するよう構成されたコンピュータシステムのウィジェットの表示である場合がある)。物の表示は、その物の標識、兆候および/またはトークンを含み得る。表示は、例えば、コード、リファレンス、例、リンク、信号および/または識別子を含み得る。物の表示は、その物を表す、その物を説明するおよび/または他の方法でその物に関連する情報を含み得る。
物の表示の変換形は、その物の表示であり得る(例えば、物の符号化表示は、その物の表示であり得る)。物の表示は、そのもの自体、その物のコピーおよび/またはその物の一部を含み得る。物の表示は、表示を理解するよう構成されていない物にとっては無意味なものであり得る(例えば、ある人物が文字「a」がウィジェットを示すことを理解できなくとも、コンピュータシステムが文字「a」からウィジェットを決定できる場合があるため、ウィジェットの表示であり得る)。物の表示をその物の決定に使用できるといえども、その物または他の物が決定されることを意味するわけではないことを理解されたい。物の表示は、他で規定されていなければ、任意の数の物の表示を含み得る。物の表示は、他の物の表示を含み得る(例えば、多くの物を示す電子メッセージ)。(表示は、特許請求の範囲内の言語において非常に広義の用語として使用することができる。例えば、金融商品の表示を受信する。)
用語「表す(represent)」は、(1)語、シンボルもしくは同様のものが示すように表現する、指定する、表す(stand for)もしくは示すように機能すること、(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の実施形態を包含し得る。
用語「を含む(including)」「を備える(comprising)」およびそれらの変形語は、他で明示的に規定されていなければ、「を含むが、これ(ら)には必ずしも限定されない」を意味する。したがって、例えば、文章「機械は赤いウィジェットおよび青いウィジェットを含む」は、機械は赤いウィジェットおよび青いウィジェットを含むが、1つまたは複数の他のアイテムも含む可能性があり得る。
用語「からなる(consisting of)」およびその変形語は、他で明示的に規定されていなければ、「を含み、また、これ(ら)に限定される」を意味する。したがって、例えば、文章「機械は赤いウィジェットおよび青いウィジェットからなる」は、機械は赤いウィジェットおよび青いウィジェットを含むが、他の物は含まないことを意味する。
用語「を構成する(compose)」およびその変形語は、他で明示的に規定されていなければ、「の構成部品を構成する、のコンポーネントを構成する、または、のメンバーを構成する」を意味する。したがって、例えば、文章「赤いウィジェットおよび青いウィジェットは機械を構成する」は、機械が赤いウィジェットおよび青いウィジェットを含むことを意味する。
用語「を排他的に構成する」およびその変形語は、他で明示的に規定されていなければ、「の構成部品を排他的に構成する、の唯一のコンポーネントである、または、の唯一のメンバーである」を意味する。したがって、例えば、文章「赤いウィジェットおよび青いウィジェットは機械を排他的に構成する」は、機械が赤いウィジェットおよび青いウィジェットからなる(すなわち、他の物は含まない)ことを意味する。
用語単数形「a」、「an」、および「the」は、他で明示的に規定されていなければ、「1つまたは複数の」を言及する。したがって、例えば、句「ウィジェット」は、他で明示的に規定されていなければ、1つまたは複数のウィジェットを意味する。同様に、句「ウィジェット」を記述した後、後続の句「そのウィジェット」は、「1つまたは複数のウィジェット」を意味する。従って、定冠詞「the(前記)」は、先行詞を有する特定の用語を言及し得ることも理解されたい。例えば、パラグラフが「特定の単一の特徴」について述べてから「特徴」を言及する場合、句「特徴」は、前に述べられた「特定の単一の特徴」を言及していることを理解されたい。(「特定の単一の特徴」内の用語「a」は、「1つの(one)」特定の単一の特徴を言及し、「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の和として算出される実施形態などを包含する。
用語「表す」および同様の用語は、他で明示的に規定されていなければ、排他的ではない。例えば、用語「表す」は、他で明示的に規定されていなければ、「のみを表す」を意味しない。例えば、句「データはクレジットカード番号を表す」は、「データはクレジットカード番号のみを表す」と「データはクレジットカード番号を表し、データは他の物も表す」の両方を包含する。
用語「それにより」は、本明細書では、用語「それにより」の前に明示的に記述されたものの意図された結果、目的または帰結のみを表現する節もしくは他の語のセットに先行するようにのみ使用される。したがって、用語「それにより」が請求項で使用される場合、用語「それにより」が修飾する節または他の語は、請求項の特定のさらなる限定を設けることはなく、請求項の意味または範囲を他の方法で制限することもない。
用語「例えば(e.g.)」、「など(such as)」および同様の用語は、「例えば(for example)」を意味し、したがって、それが説明する用語または句を限定しない。例えば、文章「コンピュータはインターネット上でデータ(例えば、命令、データ構造)を送信する」において、用語「例えば」は、「命令」が、コンピュータがインターネット上で送信することができる「データ(」の例であることを説明し、さらに、「データ構造」が、コンピュータがインターネット上で送信することができる「データ」の例であることを説明する。しかし、「命令」と「データ構造」の両方とも、単に「データ」の例にすぎず、「命令」および「データ構造」に加えて、他の物が、「データ」であり得る。
用語「それぞれの」および同様の用語は、「個別に取り上げられる」を意味する。したがって、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つおよび特徴の複数を包含する場合(例えば、「少なくとも1つのウィジェット」などの限定が、1つのウィジェットおよび複数のウィジェットを包含する場合)、ならびに、第1の請求項に従属する第2の請求項において、その限定に言及するために、第2の請求項で定冠詞「the(前記)」を使用する場合(例えば、「前記ウィジェット」)、この単なる使用は第1の請求項が特徴の1つのみを包含することを含意せず、これは第2の請求項が特徴の1つのみを包含することを含意しない(例えば、「前記ウィジェット」は、1つのウィジェットと複数のウィジェットの両方を包含し得る)。
序数(「第1の」、「第2の」、「第3の」など)が、用語の前の形容詞として使用される場合、その序数は、特定の特徴を単に示すために、例えば、その特定の特徴を、同じ用語によってまたは類似した用語によって説明される別の特徴から区別するために使用される(他で明示的に規定されていなければ)が、その序数は、他の任意の意味も制限効果も有さず、単なる便宜上の名前である。例えば、「第1のウィジェット」は、例えば、「第2のウィジェット」から単に区別するために、そのように呼ばれ得る。したがって、用語「ウィジェット」の前の序数「第1の」および「第2の」の単なる使用は、2つのウィジェット間のいかなる他の関係も示さず、同様に、いずれかまたは両方のウィジェットのいかなる他の特性も示さない。例えば、用語「ウィジェット」の前の序数「第1の」および「第2の」の単なる使用は、(1)いずれか一方のウィジェットが、順序または位置において、他方よりも前または後に来ることを示さず、(2)いずれか一方のウィジェットが、時間において、他方よりも前または後に発生もしくは動作することを示さず、(3)いずれか一方のウィジェットが、重要度または質などにおいて、他方よりも上または下にランク付けされることを示さない。序数の単なる使用は、序数を用いて識別される特徴への数値的限定を規定しない。例えば、用語「ウィジェット」の前の序数「第1の」および「第2の」の単なる使用は、ちょうど2つのウィジェットが存在するということを示さない。
別の実施形態では、単一のデバイス、物品または他の製品が本明細書で説明されている場合、説明されている単一のデバイスまたは物品の代わりに、複数のデバイスまたは物品(それらが協働するかしないかに関わらず)を代替案として使用することができる。従って、別の実施形態では、1つのデバイスが有するものとして説明されている機能は、代替案として、複数のデバイスまたは物品が有することができる(それらが協働するかしないかに関わらず)。
同様に、別の実施形態では、複数のデバイス、物品または他の製品が本明細書で説明されている場合(それらが協働するかしないかに関わらず)、説明されている複数のデバイスまたは物品の代わりに、単一のデバイスまたは物品を代替案として使用することができる。例えば、複数のコンピュータベースのデバイスは、単一のコンピュータベースのデバイスと置き換えることができる。いくつかの実施形態では、そのような複数のコンピュータベースのデバイスは、ともに動作して、グリッドコンピューティングシステムにおいて一般的であるようなプロセスの一工程を実行することができる。いくつかの実施形態では、そのような複数のコンピュータベースのデバイスは、互いに追加機能を提供するよう動作することができ、その結果、複数のコンピュータベースのデバイスは、クラウドコンピューティングシステムにおいて一般的であるようなプロセスの一工程を実行するよう動作することができる。(逆に、単一のコンピュータベースのデバイスは、互いに協働して動作する複数のコンピュータベースのデバイスと置き換えることができる。例えば、単一のコンピューティングデバイスは、インターネット上で互いに通信状態であるサーバおよびワークステーションと置き換えることができる。)従って、複数のデバイスまたは物品が有するものとして説明されているさまざまな機能は、代替案として、単一のデバイスまたは物品が有することができる。
説明されている単一のデバイスの機能および/または特徴は、別の実施形態では、説明されてはいるが明示的にそのような機能または特徴を有するとは説明されてはいない1つまたは複数の他のデバイスによって代替案として具体化することができる。したがって、他の実施形態は、説明されているデバイス自体を含む必要はないが、むしろ、それらの他の実施形態においてそのような機能または特徴を有するであろう1つまたは複数の他のデバイスを含むことができる。
IV.開示されている例および用語は限定的ではない
発明の名称(本出願の最初の頁の冒頭に記載されている)も要約(本出願の最後に記載されている)も決して、開示されている発明の範囲を限定するものとして解釈されるべきではなく、任意の請求項の意味を解釈する際に使用されるべきではなく、任意の請求項の範囲を限定する際に使用されるべきではない。要約が本出願に含まれているが、その理由は単に、米国特許法施行規則第1.72条第(b)項の下で要約が要求されているためである。
本出願において提供されている項目の見出しは、便宜のみのためであり、決して、開示を限定するものとして解釈されるべきではない。
多くの実施形態が、本出願において説明されており、例示目的のためのみに提示されている。説明されている実施形態は、いかなる意味においても、限定的ではなく、限定的であることは意図されていない。開示されている発明は、本開示から容易に明らかであるように、多くの実施形態に広く適用可能である。当業者であれば、開示されている発明は、構造的な、論理的な、ソフトウェアのおよび電気的な変更形態などのさまざまな変更形態ならびに改変形態を用いて実践され得ることが認識されよう。開示されている発明の特定の特徴は、1つまたは複数の特定の実施形態および/もしくは図面に関連して説明されている場合があるが、他で明示的に規定されていなければ、そのような特徴は、それに関連してそれらの特徴が説明されている1つまたは複数の特定の実施形態もしくは図面における使用に限定されないということが理解されるべきである。
実施形態はいくつかの特徴を含むものとして開示され得るが、本発明の他の実施形態は、そのようなすべての特徴よりも少ない特徴を含むことができる。したがって、例えば、請求項は、開示されている実施形態における特徴セット全体よりも少ない特徴に対して記載され得、そのような請求項は、請求項で明示的に記述されているそれらの特徴を超える特徴を要求するものとして解釈されない。
本出願において説明されている方法の工程または製品要素のどの実施形態も、本出願で請求される本発明を構成せず、本出願で請求される本発明にとって不可欠でもなく、本出願で請求される本発明と同一の位置を占めるものでもない。ただし、本明細書で明示的にそのように述べられているか、または、(請求項および請求項によって定義された本発明に関して)請求項において明示的に記述されている場合を除く。
法定分類以外のあらゆるものを記述する請求項の前文は、請求される発明の目的、利益および可能性のある用途のみを記述するものと解釈し、そのような前文は、請求される発明を限定するものではない。
本開示は、本発明のすべての実施形態を一語一句説明したものではない。さらに、本開示は、すべての実施形態に存在しなければならない本発明の特徴のリストでもない。
開示されている実施形態すべてが必ずしも請求項(すべての係属中の、補正された、特許が取得されたおよび取り消された請求項さえも含む)によって包含されているわけではない。さらに、開示されている実施形態は、いくつかの請求項によって包含され得る(必ずしもそうである必要はない)。従って、請求項(係属中、補正された、特許が取得されたおよび取り消されたかどうかに関わらず)が特定の実施形態に対して記載されている場合、それは、他の請求項の範囲がその実施形態を包含しないという証拠にはならない。
互いに通信状態であると説明されているデバイスは、他で明示的に規定されていなければ、継続的に互いに通信状態である必要はない。それどころか、そのようなデバイスは、必要に応じてまたは望ましい場合に、互いに送信し合うことのみ必要であり、実際には、ほとんどの時間はデータの交換を控えることができる。例えば、インターネットを介して別の機械と通信状態である機械は、長期間(例えば、一度に数週間)にわたって、他の機械にデータを送信しなくてもよい。さらに、互いに通信状態であるデバイスは、直接的に、または、1つもしくは複数の仲介体を経由して間接的に通信することができる。デバイスは、互いに少なくとも片方向通信が可能な場合は、互いに通信状態である。例えば、第1のデバイスが第2のデバイスに情報を送信することが可能な場合は、第1のデバイスは第2のデバイスと通信状態である。同様に、第2のデバイスが第1のデバイスから情報を受信することが可能な場合は、第2のデバイスは第1のデバイスと通信状態である。
いくつかの構成要素または特徴を用いた実施形態の説明は、そのような構成要素または特徴のすべてが必要であることは含意せず、さらには、そのような構成要素または特徴のいずれかが必要であることも含意しない。それどころか、本発明の多種多様な可能な実施形態を解説するために、さまざまな任意選択の構成要素が説明される。他で明示的に規定されていなければ、どの構成要素または特徴も、不可欠または必須ではない。
プロセスの工程、アルゴリズムまたは同様のものは、特定の順序で説明または請求される場合があるが、そのようなプロセスは、異なる順序で動作するよう構成され得る。言い換えると、明示的に説明または請求される場合がある工程の任意の順番または順序は、その順序で工程が実行されなければならないという要求を必ずしも示さない。本明細書で説明されるプロセスの工程は、可能な任意の順序で実行することができる。さらに、いくつかの工程は、非同時に発生するものとして説明または含意されている(例えば、ある工程が他の工程の後で説明されているという理由により)にも関わらず、同時に実行することができる。さらに、図面での描写によるプロセスの解説は、解説されているプロセスがそのプロセスの他の変形形態および変更形態を除外するということを含意せず、解説されているプロセスまたはその工程のいずれかが本発明に必要であることを含意せず、解説されているプロセスが好ましいということを含意しない。
プロセスは、複数の工程を含むものとして説明される場合があるが、それは、工程のすべてまたはいずれかが好ましいこと、不可欠であることまたは必須であることを含意しない。説明されている発明の範囲内のさまざまな他の実施形態は、説明されている工程のいくつかまたはすべてを省略した他のプロセスを含む。他で明示的に規定されていなければ、どの工程も、不可欠または必須ではない。
プロセスは、単独でまたは他の製品もしくは方法に関係なく説明される場合があるが、実施形態において、プロセスは、他の製品または方法と相互作用し得る。例えば、そのような相互作用は、あるビジネスモデルを別のビジネスモデルに連結することを含み得る。そのような相互作用は、プロセスの柔軟性または望ましさを向上させるために提供され得る。
製品は、複数の構成要素、側面、質、特性および/または特徴を含むものとして説明される場合があるが、それらの複数のいずれかまたはすべてが、好ましいこと、不可欠であることまたは必須であることを示さない。説明されている発明の範囲内のさまざまな他の実施形態は、説明されている複数のいくつかまたはすべてを省略した他の製品を含む。
アイテムが列挙されたリスト(番号付けされていても、番号付けされていなくてもよい)は、他で明示的に規定されていなければ、アイテムのいずれかまたはすべてが相互排他的であることを含意しない。同様に、アイテムが列挙されたリスト(番号付けされていても、番号付けされていなくてもよい)は、他で明示的に規定されていなければ、アイテムのいずれかまたはすべてが、いずれかのカテゴリを網羅していることを含意しない。例えば、列挙されたリスト「コンピュータ、ラップトップ、PDA」は、そのリストの3つのアイテムのいずれかまたはすべてが相互排他的であることを含意せず、そのリストの3つのアイテムのいずれかまたはすべてが、いずれかのカテゴリを網羅していることを含意しない。
アイテムが列挙されたリスト(番号付けされていても、番号付けされていなくてもよい)は、アイテムのいずれかまたはすべてが、互いに同等であることも、互いに容易に置き換えられることも含意しない。
すべての実施形態は例示的なものであり、場合によっては、本発明または任意の実施形態が作成または実行されたことを含意しない。
V.コンピューティング
当業者であれば、本明細書で説明されているさまざまなプロセスは、例えば、適切にプログラムされた汎用コンピュータ、専用コンピュータおよびコンピューティングデバイスによって実装することができることは明らかであろう。通常、プロセッサ(例えば、1つまたは複数のマイクロプロセッサ、1つまたは複数のマイクロコントローラ、1つまたは複数のデジタル信号プロセッサ)は、命令を受信し(例えば、メモリまたは同様のデバイスから)、それらの命令を実行し、それにより、それらの命令によって規定される1つまたは複数のプロセスを実行する。命令は、例えば、1つまたは複数のコンピュータプログラム、すなわち1つまたは複数のスクリプトにおいて具体化することができる。
用語「計算する(compute)」は、ソフトウェアアルゴリズムに従って、プロセッサを使用して決定することを意味するものとする。
「プロセッサ」は、アーキテクチャ(例えば、チップレベルのマルチプロセッシングまたはマルチコア、RISC、CISC、パイプラインステージがインターロックされないマイクロプロセッサ、パイプライン処理構成、同時マルチスレッディング、統合画像処理装置を備えたマイクロプロセッサ、GPGPU)に関わらず、1つまたは複数のマイクロプロセッサ、中央処理装置(CPU)、コンピューティングデバイス、マイクロコントローラ、デジタル信号プロセッサ、画像処理装置(GPU)もしくは同様のデバイスまたはそれらの任意の組合せを意味する。
「コンピューティングデバイス」は、アーキテクチャ(例えば、チップレベルのマルチプロセッシングまたはマルチコア、RISC、CISC、パイプラインステージがインターロックされないマイクロプロセッサ、パイプライン処理構成、同時マルチスレッディング)に関わらず、1つまたは複数のマイクロプロセッサ、中央処理装置(CPU)、コンピューティングデバイス、マイクロコントローラ、デジタル信号プロセッサ、グラフィックスカード、携帯ゲーム機もしくは同様のデバイスまたはそれらの任意の組合せを意味する。
したがって、プロセスの説明は、同様に、プロセスを実行するための装置の説明である。プロセスを実行する装置は、例えば、プロセッサと、プロセスを実行するために適切な入力デバイスおよび出力デバイスとを含み得る。例えば、プロセスの説明は、プロセッサと、プロセッサによって実行される際に方法を実行するよう、プロセッサに指示する命令を含むプログラムを格納するメモリとを備える装置の説明である。
プロセスを実行する装置は、協働してプロセスを実行する複数のコンピューティングデバイスを含み得る。一部のコンピューティングデバイスは、協働してプロセスの各工程を実行することも、プロセスの別々の工程に取り組むことも、他のコンピューティングデバイスがプロセスを容易に実行できる基本サービスを提供することもできる。そのようなコンピューティングデバイスは、中央集権化の命令の下で動作することができる。別の実施形態では、そのようなコンピューティングデバイスは、中央集権化の命令なしで動作することができる。これらの方法のいくつかまたはすべてで動作できる装置のいくつかの例は、グリッドコンピュータシステム、クラウドコンピュータシステム、ピアツーピアコンピュータシステム、サービスとしてソフトウェアを提供するよう構成されたコンピュータシステムなどを含み得る。例えば、装置は、リモートサーバ上でその処理負荷の大半を実行するが、ローカルのユーザコンピュータへ表示情報を出力し、ローカルのユーザコンピュータからユーザ入力情報を受信するコンピュータシステム、例えば、VMwareソフトウェアを実行するコンピュータシステムを含み得る。
さらに、そのような方法(および他のタイプのデータ)を実装するプログラムは、さまざまな媒体(例えば、コンピュー可読媒体)を使用して、さまざまな様式で格納および送信することができる。いくつかの実施形態では、さまざまな実施形態のプロセスを実装することができるソフトウェア命令の一部もしくはすべての代わりに、または、それらと組み合わせて、配線で接続された回路もしくはカスタムハードウェアを使用することができる。したがって、ソフトウェアのみの代わりに、ハードウェアとソフトウェアとのさまざまな組合せを使用することができる。
用語「コンピュータ可読媒体」は、コンピュータ、プロセッサ、または同様のデバイスによって読み取ることができるデータ(例えば、命令、データ構造)を提供することに関与する、任意の媒体、複数の任意の媒体またはさまざまな媒体の組合せを意味する。そのような媒体は、これらに限定されないが、不揮発性媒体、揮発性媒体および伝送媒体を含む多くの形態を取ることができる。不揮発性媒体は、例えば、光または磁気ディスクおよび他の永続性を備えたメモリを含む。揮発性媒体は、通常メインメモリを構成するダイナミックランダムアクセスメモリ(DRAM)を含む。伝送媒体は、同軸ケーブル、導線および光ファイバを含み、プロセッサに結合されるシステムバスを備えるワイヤを含む。伝送媒体は、無線周波数(RF)および赤外線(IR)データ通信の間に生成されるものなどの音波、光波ならびに電磁放射を含むかまたは伝達することができる。コンピュータ可読媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、DVD、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH−EEPROM、任意の他のメモリチップもしくはカートリッジ、以下で説明する搬送波またはコンピュータが読み取ることが可能な任意の他の媒体を含む。
用語「有形のコンピュータ可読媒体」は、光または磁気ディスクなどのハードウェアコンポーネントを含む「コンピュータ可読媒体」を言及する。
コンピュータ可読媒体のさまざまな形態は、プロセッサにデータ(例えば、命令のシーケンス)を送ることを含み得る。例えば、データは、(i)RAMからプロセッサに伝達することができ、(ii)無線伝送媒体上で送ることができ、(iii)イーサネット(登録商標)(またはIEEE 802.3)、WiFi Allianceの承認を得ているか得ていないかに関わらずIEEE 802.11規格によって定義されるワイヤレスローカルエリアネットワーク通信、SAP、ATP、Bluetooth(登録商標)およびTCP/IP、TDMA、CDMAおよび3Gなどの多くのフォーマット、標準またはプロトコルに従って、フォーマットおよび/もしくは送信することができ、ならびに/または、(iv)プライバシーを保証するため、もしくは、当技術分野において周知のさまざまな方法のいずれかによる不正を防止するために暗号化することができる。
用語「データベース」は、回収可能な形式で格納されたデータの任意の電子的に格納された収集体を言及する。
用語「データ構造」は、コンピュータなどのハードウェア機械のデータベースを言及する。
用語「ネットワーク」は、通信経路によって相互接続された一連のポイントまたはノードを意味する。例えば、ネットワークは、1つまたは複数の有線および/または無線通信経路によって相互接続された複数のコンピュータまたは通信デバイスを含むことができる。ネットワークは、他のネットワークと相互接続することができ、サブネットワークを含むことができる。
用語「既定の」は、事前に、例えば、現時点または現動作の前に決定されることを意味する。例えば、句「既定の値を表示すること」は、表示行為の前に決定された値を表示することを意味する。
用語「条件」は、(1)合意の遂行が依存する前提、または、(2)他のものの外観もしくは発生に何か不可欠なものを意味する。
用語「トランザクション」は、(1)商品、サービスもしくは資金の交換もしくは授受、または、(2)相互に作用するもしくは互いに影響を与える両者もしくは両方の物に関与する通信動作もしくは活動を意味する。
したがって、プロセスの説明は、同様に、プロセスを実行するためのプログラムを格納するコンピュータ可読媒体の説明である。コンピュータ可読媒体は、方法を実行するために適切なプログラム要素を格納する(任意の適切なフォーマットで)ことができる。例えば、プロセスの説明は、プロセッサによって実行される際に方法を実行するよう、プロセッサに指示する命令を含むプログラムを格納するコンピュータ可読記憶媒体の説明である。
プロセスにおけるさまざまな工程の説明が、すべての説明された工程が必須であることを示さないのと同じように、装置の実施形態は、説明されたプロセスの一部(しかし、必ずしもすべてではない)を実行するよう動作可能なコンピュータまたはコンピューティングデバイスを含む。
同様に、プロセスにおけるさまざまな工程の説明が、すべての説明された工程が必須であることを示さないのと同じように、プログラムまたはデータ構造を格納するコンピュータ可読媒体の実施形態は、実行される際に、プロセッサに、説明されたプロセスの一部(しかし、必ずしもすべてではない)を実行させることが可能なプログラムを格納するコンピュータ可読媒体を含む。
データベースについて説明される場合、(i)説明されたデータベース構造の代替のデータベース構造を容易に使用することができること、および(ii)データベース以外の他のメモリ構造を容易に使用することができることが、当業者であれば理解されよう。本明細書で提示される任意のサンプルデータベースの任意の解説または説明は、格納される情報表現のための例示的な構成である。図面または他で解説される、例えば表によって提案される構成以外の任意の数の他の構成を使用することができる。同様に、データベースの任意の解説されるエントリは、例示的な情報のみを表す。当業者であれば、エントリの数および内容が、本明細書で説明されるものと異なり得るということが理解されよう。さらに、表としてのデータベースの描写に関わらず、他のフォーマット(関係データベース、オブジェクトベースモデルおよび/または分散データベースを含む)を使用して、本明細書で説明されるデータタイプを格納および操作することができる。同様に、データベースのオブジェクトメソッドまたは挙動を使用して、本明細書で説明されるようなさまざまなプロセスを実装することができる。さらに、データベースは、公知の様式で、局所的に、または、そのようなデータベース内のデータにアクセスするデバイスから遠く離れたところに格納することができる。
さまざまな実施形態は、1つまたは複数のデバイスと(例えば、通信ネットワークを介して)通信状態であるコンピュータを含むネットワーク環境において動作するよう構成され得る。コンピュータは、デバイスと直接的に、または、任意の有線もしくは無線媒体(例えば、インターネット、LAN、WANまたはイーサネット(登録商標)、トークンリング、電話線、ケーブル回線、無線チャネル、光通信線、商用オンラインサービスプロバイダ、電子掲示板システム、衛星通信リンク、上記の任意の組合せ)を介して間接的に通信することができる。デバイスのそれぞれは、それら自体が、コンピュータと通信するよう適合されたIntel(登録商標)、Pentium(登録商標)、または、Centrino(商標)、Atom(商標)またはCore(商標)プロセッサに基づくものなどのコンピュータまたは他のコンピューティングデバイスを備えることができる。任意の数およびタイプのデバイスは、コンピュータと通信状態であり得る。
一実施形態では、サーバコンピュータまたは中央集権化は、必要とされないまたは望ましくない場合がある。例えば、本発明は、一実施形態において、中央集権化することなく、1つまたは複数のデバイス上で実践することができる。そのような実施形態では、サーバコンピュータによって実行されるものとして本明細書で説明されている任意の機能、または、サーバコンピュータ上に格納されるものとして説明されているデータは、代わりに、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)その機能を実行するための異なるアルゴリズムを用いてプログラムされているかどうかに関係なく、その機能を実行するプログラムされた製品を含む。
方法である機能を実行するための手段が記述されている場合、この方法を実行するための1つの構造は、その機能を実行するようプログラムされた、および/または、その機能を実行するよう適切なハードウェアを用いて構成されたコンピューティングデバイス(例えば、汎用コンピュータ)を含む。
さらに、当業者によって理解されるであろう、他のアルゴリズムを介してその機能を実行するようプログラムされた、および/または、他のアルゴリズムを介してその機能を実行するよう適切なハードウェアを用いて構成されたコンピューティングデバイス(例えば、汎用コンピュータ)も含む。
VIII.放棄
特定の実施形態への多くの言及は、追加の異なる実施形態の放棄または否認を示すものではなく、同様に、すべてが特定の特徴を含む複数の実施形態の説明への言及は、その特定の特徴を含まない実施形態の放棄または否認を示すものではない。本出願における明確な放棄または否認は、句「含まない」または句「実行できない」を発端とするものとする。
IX.参照による組み込み
本明細書で参照される任意の特許、特許出願または他の文献は、本開示の一部として参照により本特許出願に組み込まれるが、それは、米国特許法第112条の第1段落に従った明細書記載および実施可能性の目的のためのみであり、そのような参照による組み込みなしでは当業者が通常使用する意味を解明することができなくなる場合を除いて、本出願の任意の用語を限定、定義または他の方法で解釈するために決して使用されてはならない。したがって、そのような当業者は、その参照において提供されるいかなる実施形態によっても決して限定されている必要はない。逆に、本出願で提供される定義は、参照により本明細書に組み込まれる任意の文書の任意の用語を限定、定義または他の方法で解釈するために使用されてはならない。本出願で明示的に記載された定義はそれでも、定義と矛盾し得る特定の実施形態の説明を規制している。
本特許出願において明示的に別段の指定がない限り、いかなる参照による組み込みも、それ自体で、組み込まれた任意の特許、特許出願または他の文献に含まれるいかなる言明、見解、議論または特徴付けのいかなる支持、承認または黙認も含意しない。
X.出願経過
本出願(請求項を含む)の解釈において、当業者は、本出願の出願経過を参照するが、本出願に関連すると見なされる他の特許出願があるかどうかに関わらず、および、優先権の主張を本出願と共有する他の特許出願があるかどうかに関わらず、他のいかなる特許または特許出願の出願経過を参照することはない。
(付記)
付記1の装置は、少なくとも第1ネットワークインターフェース、及び第2ネットワークインターフェースを含んでいる複数のネットワークインターフェースであって、前記第1ネットワークインターフェースは、第1ネットワークに接続されており、前記第2ネットワークインターフェースは、第2ネットワークに接続されている、前記複数のネットワークインターフェースと、少なくとも第1プロセッサ、及び第2プロセッサを含んでいる複数のプロセッサであって、前記第1プロセッサは、前記第1ネットワークインターフェースを介して前記第1ネットワークから受け取られたデータを取得し、前記データが前記第2ネットワーク上のアドレスを有するように、前記データにおいてネットワークアドレスの変換を行い、前記第2ネットワークインターフェースを介して前記第2ネットワークから受け取られたデータを取得し、前記データが前記第1ネットワーク上のアドレスを有するように、前記データにおいてネットワークアドレスの変換を行い、前記第1ネットワークインターフェースを介して前記第1ネットワークに前記データを通信する、ように構成可能であり、前記第2プロセッサは、前記第1プロセッサが前記第1ネットワークから前記第2ネットワークに変換した前記データを前記第1プロセッサから取得し、前記第2ネットワークインターフェースを介して前記第2ネットワークに前記データを通信し、前記第2ネットワークインターフェースを介して前記第2ネットワークから受け取られたデータを取得し、前記データが前記第1ネットワーク上のアドレスを有するように、ネットワークワークアドレスの変換を行うべく、前記第1プロセッサの為に、前記データを前記第1プロセッサに通信する、ように構成可能である、前記複数のプロセッサと、を備える。
付記2の装置は、付記1に記載の装置において、第3ネットワークに接続されている少なくとも第3ネットワーク、及び少なくとも第3プロセッサを更に備え、前記第3プロセッサは、前記第3ネットワークインターフェースを介して前記第3ネットワークから受け取られたデータを取得し、前記データが前記第2ネットワーク上のアドレスを有するように、前記データにおいてネットワークアドレスの変換を行い、前記第2ネットワークインターフェースを介して前記第2ネットワークから受け取られたデータを取得し、前記データが前記第3ネットワーク上のアドレスを有するように、前記データにおいてネットワークアドレスの変換を行い、前記第3ネットワークインターフェースを介して前記第3ネットワークに前記データを通信する、ように構成可能であり前記第2プロセッサは、前記第3プロセッサが前記第3ネットワークから前記第2ネットワークに変換した前記データを前記第3プロセッサから取得し、前記第2ネットワークインターフェースを介して前記第2ネットワークに前記データを通信し、前記第2ネットワークインターフェースを介して前記第2ネットワークから受け取られたデータを取得し、前記データが前記第3ネットワーク上のアドレスを有するように、ネットワークワークアドレスの変換を行うべく、前記第3プロセッサの為に、前記データを前記第3プロセッサに通信する、ように更に構成可能である。
付記3の装置は、付記2に記載の装置において、前記第1ネットワークから前記第1ネットワークインターフェースによって受け取られた全てのデータは、前記第1ネットワークインターフェースから前記第1プロセッサのみに通信され、前記第3ネットワークから前記第3ネットワークインターフェースによって受け取られた全てのデータは、前記第3ネットワークインターフェースから前記第3プロセッサのみに通信される、ように構成可能である。
付記4の装置は、付記3に記載の装置において、前記第1ネットワークから前記第1ネットワークインターフェースによって受け取られた全てのデータは、前記第1ネットワークインターフェースから前記第3プロセッサのみに通信され、前記第3ネットワークから前記第3ネットワークインターフェースによって受け取られた全てのデータは、前記第3ネットワークインターフェースから前記第1プロセッサのみに通信される、ように構成可能である。
付記5の装置は、付記1に記載の装置において、前記第1プロセッサは、データにおいてポート変換を行うように更に構成されている。