(57)【要約】      （修正有）【課題】通信ネットワーク構成要素を提供する。【解決手段】第１のネットワークのローカルネットワークアドレスとポートのペアを第２のリモートネットワーク上のサービスにマッピングし、ローカルネットワークアドレスとポートのペアに送信されるトラフィックを負荷分散し、及び、ローカルネットワークアドレスとポートのペアに送信されるトラフィックを、第２のソケットを使用する第２の送信先にルーティングする、ように構成された第１の処理コアと、第１の処理コアがパケット全体をルーティングする間、少なくとも１つのパケットヘッダとパケット全体をアナリティクスエンジンに送信することを促進する、ように構成された第２の処理コアと、を備える装置。【選択図】図１Ａ
2020018001.tif 000002
【特許請求の範囲】
【請求項１】
第２のリモートネットワークの第１の送信先に対して第１のソケットを開き、前記第２のリモートネットワークの第２の送信先に対して第２のソケットを開くことにより、第１のネットワークのローカルネットワークアドレスとポートのペアを第２のリモートネットワーク上のサービスにマッピングし、
前記第１のソケットを使用する前記第１の送信先と前記第２のソケットを使用する前記第２の送信先の間で、前記ローカルネットワークアドレスとポートのペアに送信されるトラフィックを負荷分散し、及び、
前記第１の送信先が働かなくなったと判定したことに応答して、前記ローカルネットワークアドレスとポートのペアに送信されるトラフィックを、前記第２のソケットを使用する前記第２の送信先にルーティングする、
ように構成された第１の処理コアと、
前記第１の処理コアと共有されているメモリ空間の一部分にアクセスし、前記メモリ空間の一部分から少なくとも１つのパケットヘッダとパケット全体をコピーし、前記第１の処理コアが前記パケット全体をルーティングする間、前記少なくとも１つのパケットヘッダとパケット全体をアナリティクスエンジンに送信することを促進する、
ように構成された第２の処理コアと、
を備える装置。
【請求項２】
第３のネットワークの第２のローカルネットワークアドレスとポートのペアを前記第２のリモートネットワーク上の前記サービスにマッピングする、
ように構成された第３の処理コア、
を備える請求項１に記載の装置。
【請求項３】
前記負荷分散は、ラウンドロビン方式及び最小接続方式のうちの少なくとも一方で行われる、請求項１に記載の装置。
【請求項４】
複数のマルチコアプロセッサを含む、請求項１に記載の装置。
【請求項５】
ギガビット速度でデータをルーティングするように構成されている、請求項１に記載の装置。
【請求項６】
前記第１のネットワークのアドレスとポートのペアをマッピングし、前記第２のリモートネットワークの第２のアドレスとポートのペアをマッピングするように構成された、ルーティング装置であって、第３の処理コアが前記送信先からの前記第１のネットワークのルーティングを実行するように構成され、第４の処理コアが前記送信先からの前記第２のネットワークのルーティングを実行するように構成されるように、構成された前記ルーティング装置、を備える請求項１に記載の装置。
【請求項７】
前記第１の処理コアは、前記送信先へルーティングされるデータブロックを辞書方式に従って圧縮するように構成されており、前記ルーティング装置は、前記送信先への送信の為に、前記辞書方式に従って前記データブロックを圧縮解除するように構成されている、請求項６に記載の装置。
【請求項８】
前記第１の処理コア及び前記第１のルーティング装置は、複数のリモートデータセンタにまたがるソフトウェア定義ネットワークを定義する、請求項６に記載の装置。
【請求項９】
マッピングを行うことにより、ソフトウェア定義ネットワークを介した前記第１のネットワーク及び前記第２のネットワークからの複数のサービスが有効化される、請求項１に記載の装置。
【請求項１０】
前記第１の処理コアは、前記第１のネットワーク上の複数の装置が、ソフトウェア定義ネットワークに提供される複数のサービスをサブスクライブすることを可能にする、請求項１に記載の装置。
【請求項１１】
前記サービスは、取引を行うカスタマを含み、前記第１のネットワークは、電子交換機が存在するネットワークを含む、請求項１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、２０１４年６月３０日に出願された米国特許仮出願第６２／０１９，３６６号の優先権を主張するものである。
【０００２】
幾つかの実施形態が通信ネットワーク構成要素に関する。
【背景技術】
【０００３】
通信ネットワークが、（例えば、コンピューティング装置間の）データ通信を促進する為に、１つ以上のネットワーク構成要素を含んでよい。
【図面の簡単な説明】
【０００４】
【図１Ａ】幾つかの実施形態によるシステム例を示す図である。
【図１Ｂ】図１Ａのシステムの構成例を示す図である。
【図２】幾つかの実施形態による別のシステム例を示す図である。
【図３】幾つかの実施形態によるネットワーク要素例を示す図である。
【図４】幾つかの実施形態によるＳＤＮ例を示す図である。
【図５】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図６】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図７】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図８】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図９】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１０】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１１】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１２】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１３】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１４】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１５】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１６】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１７】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【図１８】幾つかの実施形態によるＳＤＮ例の一態様を示す図である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、背景技術の課題を解決するためのものである。
【課題を解決するための手段】
【０００６】
以下は、特許請求の範囲ではなく実施形態であると理解されたい。
【０００７】
Ａ．第１のネットワークのローカルのアドレスとポートのペアを第２のネットワーク上の送信先にマッピングすることと、第３のネットワークのローカルのアドレスとポートのペアを第２のネットワーク上の送信先にマッピングすることと、を行うように構成された第１のルーティング装置であって、第１のプロセッサの第１のコアが、第１のネットワークへのルーティングを実施するように構成され、第１のプロセッサの第２のコアが、第２のネットワークへのルーティングを実施するように構成されるように、第１のルーティング装置が構成されている、第１のルーティング装置を含む装置であって、第１のネットワークのローカルのアドレスとポートのペアを送信先にマッピングすることを促進する為に、ルーティング装置は、送信先に対して第１のソケットを開き、第２の送信先に対して第２のソケットを開き、第１のソケットが働かなくなったという判定に対する応答として、ルーティングを第２のソケットにフェールオーバするように構成されており、ルーティング装置の第３のコアが、第１のコアと共有されているメモリ空間の一部分にアクセスするように構成されたプロセスを実行し、メモリ空間のその一部分から、パケットヘッダ及びパケット全体のうちの少なくとも一方をコピーし、パケットヘッダ及びパケット全体のうちのその少なくとも一方を、第１のルーティング装置と結合されたアナリティクスエンジンに送信することを促進するように構成されている、装置。
【０００８】
Ａ．１．第１のルーティング装置は、ローカルのアドレスとポートのペアに送信されるトラフィックが、第１のソケットを使用する送信先と、第２のソケットを使用する第２の送信先との間で分割されるように、トラフィックを負荷分散するように構成されている、請求項Ａに記載の装置。Ａ．１．１．負荷分散は、ラウンドロビン方式及び最小接続方式のうちの少なくとも一方で行われる、請求項Ａ．１に記載の装置。Ａ．２．ルーティング装置は複数のマルチコアプロセッサを含む、請求項Ａに記載の装置。Ａ．３．ルーティング装置は、ギガビット速度でデータをルーティングするように構成されている、請求項Ａに記載の装置。
【０００９】
Ａ．４．アドレスとポートのペアを第１のネットワークにマッピングすることと、第２のアドレスとポートのペアを第２のネットワークにマッピングすることと、を行うように構成された第２のルーティング装置であって、第２のプロセッサの第１のコアが、送信先から第１のネットワークへのルーティングを実施するように構成され、第２のプロセッサの第２のコアが、送信先から第２のネットワークへのルーティングを実施するように構成されるように、第２のルーティング装置が構成されている、第２のルーティング装置を含む、請求項Ａに記載の装置。Ａ．４．１．第１のルーティング装置は、送信先へルーティングされるデータブロックを辞書方式に従って圧縮するように構成されており、第２のルーティング装置は、送信先への送信の為に、辞書方式に従ってデータブロックを圧縮解除するように構成されている、請求項Ａ．４に記載の装置。Ａ．４．２．第１のルーティング装置を通して第１のネットワーク及び第２のネットワークからのマッピングを行うことにより、第１のネットワーク及び第２のネットワークからソフトウェア定義ネットワークへのサービスが有効化される、請求項Ａ．４に記載の装置。Ａ．４．３．第２のルーティング装置は、第１のネットワーク及び第２のネットワークからソフトウェア定義ネットワークに提供されるサービスを送信先がサブスクライブすることを可能にする、請求項Ａ．４に記載の装置。Ａ．４．４．第１のルーティング装置及び第２のルーティング装置は、複数のデータセンタにまたがるソフトウェア定義ネットワークを定義する、請求項Ａ．４に記載の装置。Ａ．４．５．送信先は、取引を行うカスタマを含み、第１のネットワークは、電子交換機が存在するネットワークを含む、請求項Ａ．４に記載の装置。
【発明を実施するための形態】
【００１０】
図１Ａを参照すると、システム例１００が示されている。システム１００は複数のエンティティを含んでよく、これらは、エンティティ１１０と、複数のエンティティ１３０ａ−ｎ（図１Ａにはこのうちの１つが詳細に示されている）とを含み、これらのうちの１つ以上がネットワーク１０３を介して相互接続されてよい。エンティティ１１０は、例えば、サービスを提供するサービスプロバイダであってよく、各エンティティ１３０は、例えば、サービスプロバイダ１１０から提供されるサービスのカスタマ／ユーザ（例えば、企業、銀行、投資ファンド、取引業者等）であってよい。本明細書では、説明の便宜上、エンティティ１１０をサービスプロバイダと称し、エンティティ１３０をユーザ／カスタマと称する。しかしながら、これらの用語は非限定的なものであって、他のエンティティ例も可能である。又、エンティティ１１０が、エンティティ１３０にサービスを提供するサービスプロバイダであることも一例であって、エンティティ１１０とエンティティ１３０は別の関係も可能である。
【００１１】
一例として、サービスプロバイダ１１０は、アイテム（例えば、金融商品、不動産、賭け対象／賭け金、有形商品、サービスなど）の取引／売買／マッチングの為の電子市場を１つ以上提供することが可能であり、従って、１つ以上の電子マッチング／取引エンジンを提供することが可能である。同様に、カスタマ１３０は、サービスプロバイダ１３０から提供される電子市場において１つ以上のアイテムの取引をしようとすることが可能である。この例によれば、カスタマ１３０のうちの１人以上が、データ／メッセージを、例えば、サービスプロバイダ１１０に電子的に伝達してよく、そのようなデータ／メッセージは、例えば、指定された価格及び／又は数量でのアイテムの買い注文及び／又は売り注文（例えば、ビッド、オファー、ヒット、テイク）を含む。同様に、サービスプロバイダ１１０は、電子的に、そのような注文を受けて実行し、データ／メッセージをカスタマ１３０に伝達してよく、そのようなデータ／メッセージは、例えば、未決注文及び成立した注文の価格及び数量を含む。当業者であれば理解されるように、これは一例に過ぎず、他及び／又は追加のサービスがサービスプロバイダ１１０から提供されてよく、追加及び／又は他のメッセージ／データがサービスプロバイダ１１０とカスタマ１３０との間で転送されてよい。例えば、カスタマ１３０のうちの１人以上が、データ／メッセージを、例えば、サービスプロバイダ１１０に電子的に伝達してよく、そのようなデータ／メッセージは、例えば、指定されたオッズ及び／又は賭け金でチーム又はイベント等に賭ける注文を含む。同様に、サービスプロバイダ１１０は、電子的に、そのような注文を受けて実行／マッチングし、データ／メッセージをカスタマ１３０に伝達してよく、そのようなデータ／メッセージは、例えば、未決注文及び／又は成立した注文の指定されたオッズ及び／又は賭け金を含む。
【００１２】
サービスプロバイダ１１０は、１つ以上のネットワーク構成要素１１２と、１つ以上のコンピューティングシステム１１４（これは１つ以上のデータベースシステムを含んでよく、或いは、１つ以上のデータベースシステムに接続されてよい）とを含んでよく、これらは、サービスを、例えば、カスタマ１３０に提供する。当業者であれば理解されるように、サービスプロバイダ１１０は、追加及び／又は他のコンピューティングシステム、及び／又はネットワーク構成要素を含んでよい。コンピューティングシステム１１４は、本明細書では、説明の便宜上、サーバと称される場合がある。しかしながら、当然のこととして、サーバという用語の使用は非限定的であり、他のタイプのコンピューティングシステムが使用されてもよい。サーバ１１４のうちの１つ以上が、１つ以上のプロセッサと１つ以上のメモリとを含んでよい。又、サーバ１１４のうちの１つ以上が、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポートを１つ以上含んでよく、これらのインタフェース／ポートは、サーバがネットワーク構成要素１１２と接続し、それによってネットワーク１０３と接続することを可能にする。そのようなインタフェースは、銅、光ファイバ、及び／又は無線など、１つ以上の様々なタイプの物理ネットワーク接続をサポートするように構成されてよく、イーサネット（登録商標）など、１つ以上の様々なタイプのプロトコルをサポートするように構成されてよく、Ｇｂレートなど、あらゆる速度で動作するように構成されてよい。当業者であれば理解されるように、サーバ１１４は、追加及び／又は他の構成を有してよい。サービスプロバイダ１１０は又、ソフトウェア及び／又はファームウェア及び／又はハードウェアベースのアプリケーションを１つ以上含んでよく、これらのアプリケーションは、１つ以上のデータベースシステム及び／又はサーバ１１４に記憶されてよく、サーバ１１４のうちの１つ以上で実行されるように構成されてよい。各サーバは、同じアプリケーション又は異なるアプリケーションを実行してよい。一例として、アプリケーションは、本明細書に記載のように１つ以上のアイテムの取引／マッチングを行う為の電子マッチング／取引エンジンを１つ以上提供するように構成されてよい。
【００１３】
ネットワーク構成要素１１２は、例えば、１つ以上のルータ及び／又はスイッチを含んでよく、これらは、例えば、コアルータ及び／又はエッジルータ、及び／又は、コアスイッチ及び／又はエッジスイッチを含む。ネットワーク構成要素１１２のそれぞれは、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポートを１つ以上含んでよく、これらのインタフェース／ポートは、ネットワーク構成要素が互いに接続し、サーバ１１４のうちの１つ以上と接続し、且つ／又は、ネットワーク１０３と接続することを可能にする。そのようなインタフェースは、銅、光ファイバ、及び／又は無線など、１つ以上の様々なタイプの物理ネットワーク接続をサポートするように構成されてよく、イーサネットなど、１つ以上の様々なタイプのプロトコルをサポートするように構成されてよく、Ｇｂレートなど、あらゆる速度で動作するように構成されてよい。当業者であれば理解されるように、ネットワーク構成要素１１２は、追加及び／又は他の構成を有してよい。ネットワーク構成要素１１２のうちの１つ以上が、他のネットワーク構成要素１１２、サーバ１１４、及び／又はネットワーク１０３との物理接続（有線／無線）を１つ以上含んでよい。ネットワーク構成要素１１２、並びにサーバ１１４のうちの１つ以上は更に、サーバ１１４のうちの１つ以上が、プライベートネットワークアドレスを有し、それによって、サービスプロバイダ１１０のプライベートネットワークに存在し、且つ／又は、パブリックアドレスを有し、それによって、パブリックネットワークに存在するように、構成されてよい。このようにして、サーバ１１４同士で通信することが可能であるか、且つ／又は、サーバ１１４が、ネットワーク１０３と通信し、それによって、（例えば、ネットワーク１０３に接続された）他の１つ以上のコンピューティングシステム、例えば、カスタマ１３０のコンピューティングシステム１３８と通信することが可能であるように、ネットワーク構成要素１１２が構成されてよい。これも当業者であれば理解されるように、ネットワーク構成要素１１２は、本明細書に記載のように追加及び／又は他の構成要素を含んでよく、本明細書に記載されている機能性に対して追加及び／又は他のタイプの機能性を提供してよい。
【００１４】
（カスタマ１３０ａとして図示されている）カスタマ１３０の一例が、１つ以上のネットワーク構成要素１３２、１３４、及び１３６と、１つ以上のコンピューティングシステム１３８（これは１つ以上のデータベースシステムを含んでよく、或いは、１つ以上のデータベースシステムに接続されてよい）とを含んでよい。当業者であれば理解されるように、カスタマ１３０が追加及び／又は他のコンピューティングシステム、及び／又はネットワーク構成要素を含んでよい。当業者であれば理解されるように、他のカスタマ１３０が、図１Ａに示されているカスタマ１３０ａの構成と同様及び／又は他の構成を含んでよい。コンピューティングシステム１３８は、本明細書では、説明の便宜上、サーバと称される場合がある。しかしながら、当然のこととして、サーバという用語の使用は非限定的であり、他のタイプのコンピューティングシステムが使用されてもよい。サーバ１３８のうちの１つ以上が、１つ以上のプロセッサと１つ以上のメモリとを含んでよい。又、サーバ１３８のうちの１つ以上が、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポートを１つ以上含んでよく、これらのインタフェース／ポートは、サーバがネットワーク構成要素１３２−１３６のうちの１つ以上と接続し、それによってネットワーク１０３と接続することを可能にする。そのようなインタフェースは、銅、光ファイバ、及び／又は無線など、１つ以上の様々なタイプの物理ネットワーク接続をサポートするように構成されてよく、イーサネットなど、１つ以上の様々なタイプのプロトコルをサポートするように構成されてよく、Ｇｂレートなど、あらゆる速度で動作するように構成されてよい。当業者であれば理解されるように、サーバ１３８は、追加及び／又は他の構成を有してよい。カスタマ１３０は又、ソフトウェア及び／又はファームウェア及び／又はハードウェアベースのアプリケーションを１つ以上含んでよく、これらのアプリケーションは、１つ以上のデータベースシステム及び／又はサーバ１３８に記憶されてよく、サーバ１３８のうちの１つ以上で実行されるように構成されてよい。一例として、アプリケーションは、サービスプロバイダ１１０のサーバ１１４から提供されるサービスを使用するように構成されてよく、特に、１つ以上のアイテムの取引を、１人以上の他のカスタマ１３０と、例えば、サービスプロバイダ１１０のサーバ１１４から提供される電子マッチング／取引エンジンを使用することにより、行うように構成されてよい。この例によれば、カスタマ１３０のサーバ１３８のうちの１つ以上が、ネットワーク１０３を介して、データ／メッセージを電子的に、例えば、サービスプロバイダ１１０のサーバ１１４に伝達してよく、そのようなデータ／メッセージは、例えば、指定された価格及び／又は数量でのアイテムの買い注文及び／又は売り注文（例えば、ビッド、オファー、ヒット、テイク）を含む。同様に、サービスプロバイダ１１０のサーバ１１４は、電子的に、そのような注文を受けて実行し、データ／メッセージをカスタマ１３０のサーバ１３８に伝達してよく、そのようなデータ／メッセージは、例えば、未決注文及び成立した注文の価格及び数量を含む。当業者であれば理解されるように、これは一例に過ぎず、本明細書に記載のように、他及び／又は追加のサービスがサービスプロバイダ１１０から提供されてよく、追加及び／又は他のメッセージ／データがサービスプロバイダ１１０とカスタマ１３０との間で転送されてよい。
【００１５】
カスタマ１３０のネットワーク構成要素１３２−１３６は、例えば、１つ以上のルータ及び／又はスイッチを含んでよく、これらは、例えば、コアルータ及び／又はエッジルータ、及び／又は、コアスイッチ及び／又はエッジスイッチを含む。ネットワーク構成要素のそれぞれは、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポートを１つ以上含んでよく、これらのインタフェース／ポートは、ネットワーク構成要素が互いに接続し、サーバ１３８のうちの１つ以上と接続し、且つ／又は、ネットワーク１０３と接続することを可能にする。そのようなインタフェースは、銅、光ファイバ、及び／又は無線など、１つ以上の様々なタイプの物理ネットワーク接続をサポートするように構成されてよく、イーサネットなど、１つ以上の様々なタイプのプロトコルをサポートするように構成されてよく、Ｇｂレートなど、あらゆる速度で動作するように構成されてよい。当業者であれば理解されるように、ネットワーク構成要素１３２−１３６は、追加及び／又は他の構成を有してよい。ネットワーク構成要素１３２−１３６のうちの１つ以上が、他のネットワーク構成要素１３２−１３６、サーバ１３８のうちの１つ以上、及び／又はネットワーク１０３との物理接続（有線／無線）を１つ以上含んでよい。ネットワーク構成要素１３２−１３６は更に、サーバ１３８のうちの１つ以上が、プライベートネットワークアドレスを有し、それによって、それぞれのカスタマ１３０のプライベートネットワークに存在し、且つ／又は、パブリックアドレスを有し、それによって、パブリックネットワークに存在するように、構成されてよい。このようにして、サーバ１１４同士で通信することが可能であるか、且つ／又は、サーバ１１４が、ネットワーク１０３と通信し、それによって、（例えば、ネットワーク１０３に接続された）他の１つ以上のコンピューティングシステム、例えば、サーバ１１４と通信することが可能であるように、ネットワーク構成要素１３２−１３６が構成されてよい。これも当業者であれば理解されるように、ネットワーク構成要素１３２−１３６は、本明細書に記載のように追加及び／又は他の構成要素を含んでよく、本明細書に記載されている機能性に対して追加及び／又は他のタイプの機能性を提供してよい。
【００１６】
ネットワーク１０３は、１つ以上のネットワーク構成要素を含んでよく、これらは、例えば、１つ以上のルータ及び／又はスイッチを含む。そのようなネットワーク構成要素は、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポートを１つ以上含んでよく、これらのインタフェース／ポートは、銅、光ファイバ、及び／又は無線など、１つ以上の様々なタイプの物理ネットワーク接続をサポートするように構成されてよく、イーサネットなど、１つ以上の様々なタイプのプロトコルをサポートするように構成されてよく、Ｇｂレートなど、あらゆる速度で動作するように構成されてよい。ネットワーク１０３の１つ以上の構成要素が、他の構成要素、並びにエンティティ１１０及びエンティティ１３０のそれぞれとの物理接続（有線／無線）を１つ以上含んでよい。このようにして、エンティティ１１０のコンピューティングシステム１１４と、エンティティ１３０のコンピューティングシステム１３８とが、少なくとも互いに通信可能であるように、ネットワーク１０３が構成されてよい。これも当業者であれば理解されるように、ネットワーク１０３は、本明細書に記載のように追加及び／又は他のネットワーク構成要素を含んでよく、本明細書に記載されている様式に対して追加及び／又は他のタイプの様式で構成されてよい。
【００１７】
本明細書に記載のように同様の参照符号が同様の構成要素を意味する図１Ｂを参照すると、図１Ａのシステム１００一構成例であってよいシステム２００が示されている。この例によれば、サービスプロバイダ１１０のネットワーク構成要素１１２は、サーバ１１４のそれぞれとの１つ以上の接続を含むスイッチ、例えば、コアスイッチを含んでよい。一例として、ネットワーク構成要素１１２はＡｒｉｓｔａ７１２４アプリケーションスイッチであってよいが、他及び／又は追加のネットワーク構成要素が使用されてもよい。ネットワーク構成要素１１２、並びにサーバ１１４のうちの１つ以上は更に、サーバ１１４のうちの１つ以上がネットワーク１０３上のネットワークアドレスを有するように、構成されてよく、これらのアドレスは「パブリック」アドレスと見なされてよい（ただし、これらのアドレスは実際にはパブリックでなくともよい）。システム例２００の一例示的態様によれば、ネットワーク１０３は、サービスプロバイダ１１０の（場合によっては所有又はリースされている）プライベートネットワークであってよい。この例によれば、ネットワーク構成要素１１２、並びにサーバ１１４のうちの１つ以上が、ネットワーク１０３の一部となる。言い換えると、サーバ１１４とインタフェースし、カスタマ１３０ともインタフェースする、ネットワーク構成要素１１２のネットワークインタフェースは、同じアドレス空間にあってよい。
【００１８】
この、図１Ｂの構成例の更なる態様によれば、（カスタマ１３０ａとして図示されている）カスタマ１３０の一例のネットワーク構成要素１３６は、コアスイッチなどのスイッチを含んでよく、ネットワーク構成要素１３４は、エッジスイッチなどのスイッチであってよく、ネットワーク構成要素１３２はルータであってよい。スイッチ１３６は、サーバ１３８のそれぞれとの１つ以上の接続、及びスイッチ１３４との１つ以上の接続を含んでよい。そして、スイッチ１３４は、ルータ１３６との１つ以上の接続を含んでよい。ネットワーク構成要素１３２−１３６、並びにサーバ１３８のうちの１つ以上は更に、サーバ１３８のうちの１つ以上がプライベートネットワークアドレス（即ち、ネットワーク１０３上のものではないアドレス）を有し、それによって、ネットワーク１０３とは切り離されたプライベートネットワークに存在するように、構成されてよい。他のカスタマ１３０ｎも同様の構成を有してよい。
【００１９】
この、図１Ｂの構成例の更なる態様によれば、各カスタマ１３０は、１つ（場合によっては、より多く）のアドレスをネットワーク１０３に有してよく、これらのアドレスは「パブリック」アドレスと見なされてよい（ただし、これらのアドレスは実際にはパブリックでなくともよい）。従って、各ルータ１３２は、ネットワークアドレス変換器、及び場合によってはポートアドレス変換器（ＮＡＴ／ＰＡＴ）として構成されてもよく、これは、例えば、カスタマ１３０のネットワーク上のサーバ１３８の１つ以上のプライベートアドレスと、ネットワーク１０３上でそれぞれのカスタマ１３０に割り当てられたパブリックアドレスとの間のマッピングを行う。従って、サーバ１３８がメッセージ／データ（これは、例えば、アドレス及び／又はポートを含むパケットの形式でカプセル化されてよい）をサーバ１１４に伝達している場合、ルータ１３６は、パケット内のサーバ１３８のプライベートアドレスを、ネットワーク１０３上でカスタマ１３０に割り当てられているパブリックアドレスに変換することが可能である。この場合も、そのような変換は、サーバ１３８上でアプリケーションが使用しているポート番号を別のポート番号に変換することも含んでよい。同様に、サーバ１１４がメッセージ／データ（これは、例えば、アドレス及び／又はポートを含むパケットの形式でカプセル化されてよい）をサーバ１３８に伝達している場合、ルータ１３６は、パケット内の、カスタマ１３０に割り当てられているパブリックアドレスを、サーバ１３８のプライベートアドレスに変換することが可能である。この場合も、ルータ１３６は、アドレス変換の一環としてポート変換を実施することも可能である。
【００２０】
この、図１Ｂの構成例の更なる態様によれば、ネットワーク１０３は、サービスプロバイダ１１０のスイッチ１１２と、（例えば、カスタマ１３０の）ルータ１３２のそれぞれとの間のポイントツーポイント接続１１３ａ−ｎ（ただし、この場合も非ポイントツーポイント接続が可能である）を含んでよい。例えば、サービスプロバイダ１１０のスイッチ１１２と、（例えば、カスタマ１３０の）ルータ１３２との間の各接続は、例えば、１Ｇｂ、１０Ｇｂ、１００Ｇｂ等で動作するシングルモードファイバ接続のようなファイバ接続であってよい（ただし、他のタイプの接続及びレートも使用されてよい）。この構成例のより更なる態様によれば、サービスプロバイダ１１０のサーバ１１４及びネットワーク構成要素１１２、並びに、それぞれのカスタマ１３０のネットワーク構成要素１３２−１３６及びサーバ１３８のうちの１つ以上が、同じ場所に配置されてよく、例えば、同じ部屋に配置されてよい。例えば、サーバ１１４及びネットワーク構成要素１１２のうちの１つ以上が、１つのラックに収容されてよい。同様に、第１のそれぞれのカスタマ１３０のネットワーク構成要素１３２−１３６及びサーバ１３８のうちの１つ以上が、別のそれぞれのラック等に収容されてよい。これも当業者であれば理解されるように、システム２００は、本明細書に記載のものに対して追加及び／又は他の構成要素を含んでよく、本明細書に記載のものに対して追加及び／又は他の構成を含んでよい。
【００２１】
図１Ａ及び図１Ｂに示されたようなシステム例１００及び２００に関して起こりうる問題の一例として、データがサーバ１１４とサーバ１３８との間で伝達される際に無視できない遅延が挿入されうる、という問題がある。具体例として、ルータ１３２は、（例えば、１００マイクロ秒を超える）遅延を挿入する可能性があり、これは、例えば、ネットワーク／ポート変換機能の結果である。同様に、異なるカスタマ１３０の異なるルータ１３２においては、異なる遅延が発生しうる。
【００２２】
本明細書に記載のように同様の参照符号が同様の構成要素を意味する図２を参照すると、図１Ｂのシステム例２００と同様のシステム例３００が示されている。この例によれば、システム３００は、ネットワーク構成要素２０２を含む。ネットワーク構成要素２０２は、サービスプロバイダ１１０の一部であってよく、従って、サービスプロバイダ１１０によって所有及び／又は操作されてよい。ネットワーク構成要素２０２は、サービスプロバイダ１１０のサーバ１１４、及び／又は、ネットワーク構成要素１１２を含む、サービスプロバイダ１１０の１つ以上のネットワーク構成要素と同じ場所に配置されてよく、これらの構成要素と同じラックに収容されてよい。当業者であれば理解されるように、ネットワーク構成要素２０２は、サービスプロバイダ１１０によって所有及び／又は操作されなくてもよく、サービスプロバイダ１１０のネットワーク構成要素及び／又はサーバと同じ場所に配置されなくてもよい。
【００２３】
ネットワーク構成要素２０２は、１つ以上の、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポート２０４ａ…２０４ｎを含んでよく、これらのインタフェース／ポートは、ネットワーク構成要素が、サーバ１１４との接続を、場合によっては、例えば、ネットワーク構成要素１１２を介して行うことを可能にする。ネットワーク構成要素２０２は又、１つ以上の、ネットワークハードウェア／ソフトウェア／ファームウェアベースのインタフェース／ポート２０６ａ…２０６ｎを含んでよく、これらのインタフェース／ポートは、ネットワーク構成要素が、（例えば、それぞれのカスタマ１３０ａ−ｎの）サーバ１３８と接続することを可能にする。ネットワーク構成要素２０２のネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎは、銅、光ファイバ、及び／又は無線など、１つ以上の様々なタイプの物理ネットワーク接続をサポートするように構成されてよく、イーサネットなど、１つ以上の様々なタイプのプロトコルをサポートするように構成されてよく、Ｇｂレートなど、あらゆる速度で動作するように構成されてよい。更に、異なるネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎは、異なる構成を有してよい。当業者であれば理解されるように、ネットワーク構成要素２０２は、追加及び／又は他の構成を有してよい。
【００２４】
図２に更に示されるように、ネットワーク構成要素２０２のネットワークインタフェース２０４ａ−ｎのうちの１つ以上が（例えば、接続２１０ａ−ｎによって）物理的に（有線／無線により）、スイッチであってよいネットワーク構成要素１１２に接続されてよい。別及び／又は追加の例によれば、ネットワーク構成要素２０２のネットワークインタフェース２０４ａ−ｎのうちの１つ以上のそれぞれが、１つ以上の接続２１０ａ−ｎにより、サービスプロバイダ１１０のそれぞれのサーバ１１４に直接物理的に接続されてよい。システム例３００の更なる態様によれば、各カスタマ１３０ａ−ｎは、ネットワーク構成要素２０２の１つ以上のそれぞれのネットワークインタフェース２０６ａ−ｎを割り当てられてよい。従って、ネットワーク構成要素２０２のそれぞれのネットワークインタフェース２０６ａ−ｎは、（例えば、接続２１２ａ−ｎによって）物理的に（有線／無線により）それぞれのカスタマ１３０ａ−ｎのそれぞれのサーバ１３８に、直接、且つ／又は、それぞれのカスタマの１つ以上のネットワーク構成要素（例えば、ネットワーク構成要素１３６、これは、例えば、スイッチであってよい）を介して、接続されてよい。例えば、各接続２１２ａ−ｎは、例えば、１Ｇｂ、１０Ｇｂ、１００Ｇｂ等で動作するシングルモードファイバ接続のようなファイバ接続であってよい（ただし、他のタイプの接続及びレートも使用されてよい）。当業者であれば理解されるように、ネットワーク構成要素２０２及びシステム３００の追加及び／又は他の構成も可能である。
【００２５】
システム例３００の更なる態様によれば、ネットワーク構成要素２０２のネットワークインタフェース２０４ａ−ｎ、接続２１０ａ−ｎ、ネットワーク構成要素１１２、及びサーバ１１４のうちの１つ以上は、ネットワーク２１４に存在してよく、ネットワーク２１４は、サービスプロバイダ１１０のプライベートネットワークであってよく、ネットワークアドレス空間を有してよい。従って、ネットワーク構成要素１１２、並びにサーバ１１４のうちの１つ以上は、サーバ１１４のうちの１つ以上がそのネットワークアドレス空間内でネットワーク２１４にネットワークアドレスを有するように、構成されてよい。この構成例の更なる態様によれば、例えば、ネットワークインタフェース２０６ａ、接続２１２ａ、それぞれのカスタマ１３０ａのネットワーク構成要素１３６、並びにそれぞれのカスタマ１３０ａのサーバ１３８のうちの１つ以上は、カスタマ１３０ａのネットワーク２１６ａに存在してよく、ネットワーク２１６ａは、カスタマ１３０ａのプライベートネットワークであってよく、ネットワークアドレス空間を有してよい。従って、カスタマ１３０ａのネットワーク構成要素１３６、並びにサーバ１３８のうちの１つ以上は、サーバ１３８のうちの１つ以上がそれぞれのネットワークアドレス空間内でネットワーク２１６ａにネットワークアドレスを有するように、構成されてよい。同様に、例えば、ネットワークインタフェース２０６ｎ、接続２１２ｎ、カスタマ１３０ｎのネットワーク構成要素１３６、並びにカスタマ１３０ｎのサーバ１３８のうちの１つ以上は、カスタマ１３０ｎのネットワーク２１６ｎに存在してよく、ネットワーク２１６ｎは、カスタマ１３０ｎのプライベートネットワークであってよく、それぞれのネットワークアドレス空間を有してよい。従って、カスタマ１３０ｎのネットワーク構成要素１３６、並びにサーバ１３８のうちの１つ以上は、カスタマ１３０ｎのサーバ１３８のうちの１つ以上がそれぞれのネットワークアドレス空間内でネットワーク２１６ｎにネットワークアドレスを有するように、構成されてよい。図２に示されていない他のカスタマ１３０も、同様の構成を有してよい。
【００２６】
このシステム例の更なる態様によれば、ネットワーク構成要素２０２は、例えば、双方向のネットワークアドレス変換器、及び場合によってはポートアドレス変換器（ＮＡＴ／ＰＡＴ）であってよい。より具体的には、この例によれば、各カスタマ１３０ａ−ｎは、１つ（場合によっては、より多く）のアドレスを、ネットワーク２１４のネットワークアドレス空間内のネットワーク２１４に有してよい。従って、各カスタマ１３０ａ−ｎに対して、ネットワーク構成要素２０２は、それぞれのカスタマネットワーク２１６ａ−ｎにある（即ち、それぞれのネットワークのネットワークアドレス空間内にある）サーバ１３８の１つ以上のアドレスと、（例えば、ネットワーク２１４のネットワークアドレス空間内の）ネットワーク２１４上でそれぞれのカスタマ１３０ａ−ｎに割り当てられているアドレスとの間のマッピングを行うＮＡＴ／ＰＡＴとして構成されてよい。従って、サーバ１３８がメッセージ／データ（これは、例えば、アドレス及び／又はポートを含むパケットの形式でカプセル化されてよい）をサーバ１１４に伝達している場合、ネットワーク構成要素２０２は、パケット内のサーバ１３８のネットワーク２１６ａ−ｎ上のアドレスを、ネットワーク２１４上でカスタマ１３０ａ−ｎに割り当てられているアドレスに変換することが可能である。この場合も、そのような変換は、サーバ１３８上でアプリケーションが使用しているパケット内のポート番号を別のポート番号に変換することも含んでよい。同様に、サーバ１１０がメッセージ／データ（これは、例えば、アドレス及び／又はポートを含むパケットの形式でカプセル化されてよい）をサーバ１３８に伝達している場合、ネットワーク構成要素２０２は、パケット内の、ネットワーク２１４上でカスタマ１３０ａ−ｎに割り当てられているアドレスを、ネットワーク２１６ａ−ｎ上の、サーバ１３８のアドレスに変換することが可能である。この場合も、ネットワーク構成要素２０２は、アドレス変換の一環としてポート変換を実施することも可能である。
【００２７】
本明細書に記載のように同様の参照符号が同様の構成要素を意味する図３を参照すると、ネットワーク構成要素２０２のアーキテクチャ例が示されている。ネットワーク構成要素２０２は、複数のコンピューティングプロセッサを含んでよく、これらは、プロセッサ３０１ａ…３０１ｎのうちの１つ以上と、プロセッサ３０２ａ、３０２ｂ、…、３０２ｎのうちの１つ以上と、を含む。プロセッサ３０１ａ−ｎは、本明細書ではスケジューリングプロセッサと称される場合があり、プロセッサ３０２ａ−ｎは、本明細書ではネットワークプロセッサと称される場合がある。「スケジューリング」及び「ネットワーク」という用語は、非限定的であるものとし、本明細書では、説明しやすさの為にのみ用いられる。プロセッサ３０１ａ−ｎ及び３０２ａ−ｎのそれぞれは、（例えば、メモリ、処理速度等に関して）同様に構成されてよく、同様に構成されなくてもよい。当業者であれば理解されるように、ネットワーク構成要素２０２に含まれるプロセッサの数は、これより多いか、且つ／又は少なくてもよい。ネットワーク構成要素例２０２の更なる態様によれば、スケジューリングプロセッサ３０１ａ−ｎ及びネットワークプロセッサ３０２ａ−ｎのうちの任意の１つ以上が、バスアーキテクチャなどの通信アーキテクチャを介して、互いに相互接続されてよく、この通信アーキテクチャは、例えば、共有メモリアーキテクチャを含んでよい。当業者であれば理解されるように、他及び／又は追加の通信アーキテクチャも可能である。通信アーキテクチャは、スケジューリングプロセッサ３０１ａ−ｎのいずれもが、ネットワークプロセッサ３０２ａ−ｎのいずれとも通信するように構成されてよいものであってよい。当業者であれば理解されるように、他の構成も可能である。
【００２８】
ネットワーク構成要素２０２は、本明細書で既述のように、１つ以上のネットワークインタフェース２０４ａ−ｎ及び１つ以上のネットワークインタフェース２０６ａ−ｎも含んでよく、１つ以上のネットワークインタフェース２０４ａ−ｎは、例えば、サーバ１１４と直接又は間接的にインタフェースするように構成されてよく、１つ以上のネットワークインタフェース２０６ａ−ｎは、例えば、それぞれのカスタマ１３０ａ−ｎとインタフェースするように構成されてよい。ネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎは、同じ構成を有してよく、且つ／又は、１つ以上の異なる構成を有してよい。例えば、インタフェース２０４ａ−ｎ及び２０６ａ−ｎは、例えば、１Ｇｂ、１０Ｇｂ、１００Ｇｂ等のレートで動作する、ロングレンジ又はショートレンジの、シングルモード又はマルチモードのファイバインタフェースの任意の組み合わせであってよい。ネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎのうちの１つ以上が、それ自身のネットワークインタフェースカード上に物理的に位置してよく、且つ／又は、ネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎのうちの幾つかが、１つ以上の共通ネットワークインタフェースカード上に物理的に位置してよい。当業者であれば理解されるように、他の構成も可能である。
【００２９】
本明細書で既述のように、各ネットワークインタフェース２０６ａ−ｎは、それぞれのカスタマ１３０ａ−ｎに割り当てられてよく、且つ、インタフェースしてよい。当業者であれば理解されるように、所与のカスタマに（例えば、負荷分散目的用、バックアップ用等として）複数のネットワークインタフェースが割り当てられてよい。ネットワーク構成要素例２０２の更なる態様によれば、各ネットワークインタフェース２０６ａ−ｎは、それぞれのネットワークインタフェースを経由して伝達される全てのデータがそれぞれのネットワークプロセッサによってのみ処理されるように、ネットワークプロセッサ３０２ａ−ｎのそれぞれに割り当てられてよい。しかしながら、当業者であれば理解されるように、追加及び／又は他の構成も可能であり、例えば、２つ以上のネットワークインタフェース２０６ａ−ｎを所与のネットワークプロセッサ３０２ａ−ｎに割り当てる構成、及び／又は、２つ以上のネットワークプロセッサ３０２ａ−ｎを所与のネットワークインタフェース２０６ａ−ｎに割り当てる構成も可能である。ネットワーク構成要素例２０２の更なる態様によれば、所与のネットワークインタフェース２０６ａ−ｎが、そのそれぞれのネットワークプロセッサ３０２ａ−ｎと、バスアーキテクチャ（例えば、ＰＣＩｅバスアーキテクチャ）などの通信アーキテクチャを介して相互接続されてよい。当業者であれば理解されるように、他及び／又は追加の通信アーキテクチャも可能である。この通信アーキテクチャは、任意のネットワークインタフェース２０６ａ−ｎが、ネットワークプロセッサ３０２ａ−ｎのうちの任意の１つ以上と通信するように構成されてよく、且つ、任意のネットワークプロセッサ３０２ａ−ｎが、ネットワークインタフェース２０６ａ−ｎのうちの任意の１つ以上と通信するように構成されてよいものであってよい。ネットワーク構成要素２０２の更なる態様によれば、各ネットワークプロセッサ３０２ａ−ｎは、例えば、それぞれに関連付けられたネットワークインタフェース２０６ａ−ｎからの割り込み以外のあらゆる割り込みから遮断されてよい。当業者であれば理解されるように、他の構成も可能である。
【００３０】
図３に更に示されるように、ネットワーク構成要素例２０２は、１つ以上のネットワークアプリケーション３０３ａ−ｎを含んでよい。アプリケーション３０３ａ−ｎはソフトウェアベースのアプリケーションであってよいが、ファームウェア及び／又はハードウェアベースのアプリケーションを含む、他及び／又は追加の構成も可能である。ネットワーク構成要素２０２は、１つ以上のメモリ装置を含んでもよく、これらのメモリ装置にアプリケーション３０３ａ−ｎが記憶されてよく、且つ／又は、これらのメモリ装置からこれらのアプリケーションが実行されてよい。そのようなメモリ装置は、プロセッサ３０１ａ−ｎ及び３０２ａ−ｎのうちの１つ以上と電子的に接続されてよい。ネットワーク構成要素２０２の一態様によれば、各ネットワークプロセッサは、アプリケーション３０３ａ−ｎを実行してよい。ネットワーク構成要素２０２の更なる態様によれば、各アプリケーション３０３ａ−ｎは、それぞれのプロセッサにおいてのみ実行されてよい。従って、アプリケーション３０３ａはプロセッサ３０２ａにおいてのみ実行されてよく、アプリケーション３０３ｂはプロセッサ３０２ｂにおいてのみ実行されてよく、他も同様である。このことは、プロセッサアフィニティと呼ばれる場合がある。しかしながら、当業者であれば理解されるように、追加及び／又は他の構成も可能であり、例えば、単一のプロセッサ３０２ａ−ｎにおいて複数のアプリケーション３０３ａ−ｎを実行する構成、及び／又は、複数のプロセッサにおいてアプリケーション３０３ａ−ｎのうちの１つ以上を実行する構成も可能である。例えば、実施形態によっては、ルーティング装置にｌ−フローレベルのコアアフィニティ又はプロセッサアフィニティが割り当てられてよい。
【００３１】
従って、ネットワーク構成要素２０２の一構成例によれば、所与のネットワークアプリケーション３０３ａ−ｎがそれぞれのネットワークプロセッサ３０２ａ−ｎに割り当てられてよく、且つ、それぞれのネットワークプロセッサ３０２ａ−ｎにおいて実行されてよく、それぞれのネットワークプロセッサ３０２ａ−ｎはそれぞれのネットワークインタフェース２０６ａ−ｎに割り当てられてよく、それぞれのネットワークインタフェース２０６ａ−ｎはそれぞれのカスタマ１３０ａ−ｎに割り当てられてよい。この構成例の更なる態様によれば、各ネットワークアプリケーション３０２ａ−ｎは、ＮＡＴ及び場合によってはＰＡＴとして構成されてよく、ネットワーク２１４とそれぞれのカスタマ１３０ａ−ｎのそれぞれのネットワーク２１６ａ−ｎとの間を通るメッセージ／データのネットワーク／ポート変換を実施してよい。従って、ネットワーク構成要素２０２は、所与のネットワークインタフェース２０６ａ−ｎを所与のネットワークプロセッサ３０２ａ−ｎに割り当てるように（例えば、ネットワーク管理者によって）構成されてよく、更に、各ネットワークプロセッサ上のネットワークアプリケーション３０３ａ−ｎが、割り当てられたインタフェースが接続されているカスタマ１３０ａ−ｎに基づいてＮＡＴ／ＰＡＴ機能を実施するように構成されてよい。ネットワークプロセッサ３０２ａ−ｎ及びネットワークインタフェース２０６ａ−ｎの物理的ハードウェア構成／レイアウト、及び／又は、それぞれのカスタマ１３０ａ−ｎによって生成され、且つ／又は、それぞれのカスタマに送信されるデータの量に従って、ネットワークプロセッサ３０２ａ−ｎに対するネットワークインタフェース２０６ａ−ｎの特定の割り当ては、ネットワーク構成要素２０２の総データスループットに関して、他の割り当てより有利であることが可能であり、例えば、管理者によって、そのように割り当てられることが可能である。例えば、所与のネットワークインタフェース２０６ａ−ｎを近くのネットワークプロセッサ３０２ａ−ｎに割り当てることが有利である場合がある。当業者であれば理解されるように、ネットワークアプリケーション３０２ａ−ｎは、ＮＡＴ／ＰＡＴとして構成されなくてもよく、１つのネットワークアプリケーションが、別のネットワークアプリケーション等と異なる機能を実施するように構成されてよい。
【００３２】
ネットワーク構成要素例２０２の更なる態様によれば、各ネットワークインタフェース２０４ａ−ｎは、それぞれのネットワークインタフェースを経由して伝達される全てのデータがそれぞれのスケジューリングプロセッサによってのみ処理されるように、スケジューリングプロセッサ３０１ａ−ｎのそれぞれに割り当てられてよい。しかしながら、当業者であれば理解されるように、追加及び／又は他の構成も可能である。例えば、全てのネットワークインタフェース２０４ａ−ｎが、スケジューリングプロセッサ３０１ａ−ｎのうちの１つに割り当てられてよく、且つ／又は、スケジューリングプロセッサのそれぞれが、ネットワークインタフェース２０４ａ−ｎのうちの任意の１つ以上と通信するように構成されてよい。ネットワーク構成要素例２０２の更なる態様によれば、所与のネットワークインタフェース２０４ａ−ｎが、それぞれのスケジューリングプロセッサ３０１ａ−ｎと、バスアーキテクチャ（例えば、ＰＣＩｅバスアーキテクチャ）などの通信アーキテクチャを介して相互接続されてよい。当業者であれば理解されるように、他及び／又は追加の通信アーキテクチャも可能である。この通信アーキテクチャは、任意のネットワークインタフェース２０４ａ−ｎが、スケジューリングプロセッサ３０１ａ−ｎのうちの任意の１つ以上と通信するように構成されてよく、且つ、任意のスケジューリングプロセッサ３０１ａ−ｎが、ネットワークインタフェース２０４ａ−ｎのうちの任意の１つ以上と通信するように構成されてよいものであってよい。ネットワーク構成要素２０２の更なる態様によれば、スケジューリングプロセッサ３０１ａ−ｎのうちの１つ以上が、例えば、ネットワークインタフェース２０４ａ−ｎのうちの１つ以上からの割り込み以外のあらゆる割り込みから遮断されてよい。当業者であれば理解されるように、他の構成も可能である。
【００３３】
図３に更に示されるように、ネットワーク構成要素２０２は、１つ以上のスケジューリングアプリケーション及び／又は１つ以上の管理アプリケーションを含んでもよく、これらは、図３では、アプリケーション３０４ａ−ｎとして集合的に示されている。アプリケーション３０４ａ−ｎはソフトウェアベースのアプリケーションであってよいが、ファームウェア及び／又はハードウェアベースのアプリケーションを含む、他の構成も可能である。既述のように、ネットワーク構成要素２０２は、１つ以上のメモリ装置を含んでもよく、これらのメモリ装置にアプリケーション３０４ａ−ｎが記憶されてよく、且つ／又は、これらのメモリ装置からこれらのアプリケーションが実行されてよい。ネットワーク構成要素２０２の一例によれば、各スケジューリングプロセッサ３０１ａ−ｎは、１つ以上のスケジューリングアプリケーション、１つ以上の管理アプリケーション、又はこれらの組み合わせを実行してよい。別の例として、スケジューリングアプリケーション及び／又は管理アプリケーションは、複数のプロセッサで実行されてよい。別の例として、あるスケジューリングアプリケーションが、１つのスケジューリングプロセッサ３０１ａ−ｎで実行されて、（本明細書で詳述するが）ネットワークプロセッサ３０２ａ−ｎのあるサブセットを担当する一方で、別のスケジューリングアプリケーションが、スケジューリングプロセッサ３０１ａ−ｎで実行されて、ネットワークプロセッサ３０２ａ−ｎの別のサブセットを担当するようであってよい。別の例として、あるスケジューリングアプリケーションが、１つのスケジューリングプロセッサ３０１ａ−ｎで実行されて、全てのネットワークプロセッサ３０２ａ−ｎを担当してよい。更なる例として、あるスケジューリングアプリケーションが、複数のスケジューリングプロセッサ３０１ａ−ｎで実行されて、全てのネットワークプロセッサ３０２ａ−ｎを担当してよい。当業者であれば理解されるように、他の変形形態も可能である。説明のしやすさの為に、ネットワーク構成要素２０２は、本明細書では、１つのスケジューリングアプリケーションと１つの管理アプリケーションとを有するものとして説明される。当業者であれば理解されるように、ネットワーク構成要素２０２は、本明細書で説明されるアプリケーションとは別のタイプのアプリケーションを含んでよい。
【００３４】
ネットワーク構成要素例２０２の更なる態様によれば、スケジューリングアプリケーション３０４は、ネットワークインタフェース２０６ａ−ｎとネットワークインタフェース２０４ａ−ｎとの間で、以下のようにメッセージ／データを通すように構成されてよい。
ａ．ネットワークインタフェース２０６ａ−ｎで受信されたメッセージ／データの場合は、それぞれのネットワークアプリケーション３０３ａ−ｎがそれぞれのパケットに対してＮＡＴ／ＰＡＴ変換を実施した後、例えば、スケジューリングアプリケーション３０４が、変換されたパケットを取り出し／取得し、その変換されたパケットをネットワークインタフェース２０４ａ−ｎのうちの１つに転送／伝達してよい。
ｂ．ネットワークインタフェース２０４ａ−ｎで受信されたメッセージ／データの場合は、スケジューリングアプリケーション３０４が、メッセージ／データを取得し、それぞれのパケットに対して、それぞれのネットワークアプリケーション３０３ａ−ｎのうちのどれがＮＡＴ／ＰＡＴ変換を実施するかを決定し、そのネットワークアプリケーションにパケットを転送／伝達してよく、そこでパケットが変換（ＮＡＴ／ＰＡＴ）され、それぞれのネットワークインタフェース２０６ａ−ｎに転送／伝達されてよい。
【００３５】
従って、ネットワーク構成要素２０２の一動作例によれば、所与のカスタマ１３０ａ−ｎの所与のサーバ１３８が、メッセージ／データ（これは、例えば、アドレス及び／又はポートを含むパケットの形式でカプセル化されてよい）をサービスプロバイダ１１０のサーバ１１４に送信してよい。そのメッセージ／データ／パケットは、ネットワーク構成要素２０２の所与のネットワークインタフェース２０６ａ−ｎで受信されてよい。その後、そのネットワークインタフェース２０６ａ−ｎに割り当てられているネットワークプロセッサ３０２ａ−ｎの所与のネットワークアプリケーション３０３ａ−ｎが、そのメッセージ／データ／パケット（又はその一部分）をネットワークインタフェース２０６から取得／受信するか、且つ／又は転送されて、そのそれぞれのパケットに対してＮＡＴ／ＰＡＴ変換を実施してよい。その後、ネットワークアプリケーション３０３ａ−ｎは、変換されたメッセージ／データ／パケットを、スケジューリングアプリケーション３０４に対して転送するか、且つ／又は利用可能にしてよく、その後、スケジューリングアプリケーション３０４は、変換されたメッセージ／データ／パケットを取得及び／又は受信してよく、その後、変換されたメッセージ／データ／パケットを、それぞれのネットワークインタフェース２０４ａ−ｎに対して転送するか、且つ／又は利用可能にしてよく、その後、メッセージ／データ／パケットがそこからサーバ１１４に伝達されてよい。同様に、サービスプロバイダ１１０の所与のサーバ１１４が、メッセージ／データ（これは、例えば、パケットの形式でカプセル化されてよい）をカスタマ１３０ａ−ｎのサーバ１３８に送信してよい。そのメッセージ／データ／パケットは、ネットワーク構成要素２０２の所与のネットワークインタフェース２０４ａ−ｎで受信されてよい。その後、スケジューリングアプリケーション３０４は、そのメッセージ／データ／パケット（又はその一部分）をネットワークインタフェース２０４ａ−ｎから取得／受信するか、且つ／又は転送されて、そのメッセージ／データ／パケットに対して、それぞれのネットワークアプリケーション３０３ａ−ｎ／ネットワークプロセッサ３０２ａ−ｎのうちのどれがＮＡＴ／ＰＡＴ変換を実施するかを決定し、そのネットワークアプリケーション３０３ａ−ｎに対して、そのメッセージ／データ／パケットを転送するか、且つ／又は利用可能にしてよい（一例として、又、他の実施態様も可能であるが、スケジューリングアプリケーションがメッセージ／データを適正なネットワークプロセッサ３０２ａ−ｎに転送する為に、スケジューリングアプリケーションは、カスタマ１３０に関連付けられたネットワークアドレスをそれぞれのネットワークプロセッサ３０２ａ−ｎにマッピングするテーブル（これは管理者によって構成されてよい）を保守してよい）。そして、ネットワークアプリケーション３０３ａ−ｎは、メッセージ／データ／パケットを取得及び／又は受信し、そのそれぞれのパケットに対してＮＡＴ／ＰＡＴ変換を実施し、ネットワークアプリケーション３０３ａ−ｎが実行されているネットワークプロセッサ３０２ａ−ｎに割り当てられているそれぞれのネットワークインタフェース２０６ａ−ｎに対して、変換されたメッセージ／データ／パケットを転送するか、且つ／又は利用可能にしてよい。その後、そのネットワークインタフェース２０６は、そのメッセージ／データ／パケットをカスタマ１３０ａ−ｎのサーバ１３８に伝達してよい。当業者であれば理解されるように、これは一例に過ぎず、ネットワーク構成要素２０２の他及び／又は追加の動作例も可能である。これも当業者であれば理解されるように、本明細書に記載のようにスケジューリングアプリケーション３０４によって実施される動作、及び、本明細書に記載のようにネットワークアプリケーション３０３ａ−ｎによって実施される動作は、全体として、又は部分的に、他のものによって実施されてよい。
【００３６】
スケジューリングアプリケーション３０４と任意の所与のネットワークアプリケーション３０３ａ−ｎとの間の通信については、一例として、これら２つのアプリケーションは、１つ以上の（例えば、２つの）共有メモリ循環キューを介して通信を行ってよい。例えば、ネットワークアプリケーション３０３が、変換されたメッセージをネットワークインタフェース２０６から第１のメモリキューに入れ、その新たなメッセージがキューに入ったことを反映する為に、キューの、例えば、インデックス／ポインタを更新してよい。同様に、スケジューリングアプリケーション３０４が、キューのインデックス／ポインタを監視し、キュー内に新しいメッセージがあることを認識し、そのメッセージを読み出し、例えば、そのメッセージが読み出されたことを反映する為に、インデックス／ポインタを更新してよい。同様に、スケジューリングアプリケーション３０４は、メッセージをネットワークインタフェース２０４から第２のメモリキューに入れ、その新たなメッセージが第２のキューに入ったことを反映する為に、そのキューの、例えば、インデックス／ポインタを更新してよい。同様に、ネットワークアプリケーション３０３が、第２のキューのインデックス／ポインタを監視し、キュー内に新しいメッセージがあることを認識し、そのメッセージを読み出し、例えば、そのメッセージが読み出されたことを反映する為に、インデックス／ポインタを更新してよい。他のネットワークアプリケーション３０３（これらはそれぞれ自身のキューセットを有してよい）がスケジューリングアプリケーション３０４と通信する場合も、同様のプロセスが用いられてよい。当業者であれば理解されるように、これは一例に過ぎず、他の通信手法／プロセスが用いられてもよい。
【００３７】
既述のように、ネットワーク構成要素２０２は、例えば、スケジューリングプロセッサ３０１ａ−ｎで実行されてよい管理アプリケーション３０４を含んでもよい。そのようなアプリケーションは、管理者が、ネットワーク構成要素２０２の状態を監視し、そのネットワーク構成要素を構成する為に使用してよい。例えば、ネットワーク構成要素２０２は、例えば、１つ以上の入出力装置を含んでよく、例えば、ディスプレイインタフェース、マウス、キーボード、タッチスクリーン、ネットワークインタフェース（リモートアクセス用）等を含んでよい。そのようなインタフェース及び管理アプリケーション３０４を使用することにより、例えば、管理者が、ネットワーク構成要素２０２の状態を監視し、そのネットワーク構成要素を構成してよい。例えば、管理者が、所与のネットワークプロセッサ３０２ａ−ｎに対して、所与のネットワークインタフェース２０６ａ−ｎの割り当て及び／又は再割り当てを行ってよい。管理者は更に、ネットワークアプリケーション３０３が代行してＮＡＴ／ＰＡＴ変換を実施しようとするカスタマ１３０ａ−ｎに従って、（例えば、ネットワークアプリケーション３０３がその間の変換を行おうとするアドレス及び／又はポートに関して）所与のネットワークプロセッサ３０２のネットワークアプリケーション３０３ａ−ｎを構成してよい。当業者であれば理解されるように、他の方式でネットワークアプリケーションが構成されてもよい。例えば、ネットワーク構成要素２０２のハードウェア／ソフトウェア構成の一利点は、管理者が、例えば、所与のカスタマ１３０ａ−ｎの再構成（例えば、ＮＡＴ／ＰＡＴ構成に関する再構成、そのカスタマにどのネットワークプロセッサ３０２ａ−ｎを割り当てるかに関する再構成、及び／又は、そのネットワークプロセッサ３０２ａ−ｎ及び／又はカスタマにどのネットワークインタフェース２０６ａ−ｎを割り当てるかに関する再構成）を、他のカスタマを一時的に切り離すことなく行うことが可能な点である。管理アプリケーション３０４は、例えば、管理者がネットワーク構成要素２０２の状態を監視できるように、ＩＰＭＩサブシステムを含んでもよい。そのようなサブシステムは、管理アプリケーション３０４とは別個であってもよい。当業者であれば理解されるように、これらは管理機能の例に過ぎず、他／追加の機能も可能である。
【００３８】
ネットワーク構成要素２０２の更なる態様によれば、ネットワーク構成要素は、１つ以上のメモリ装置、例えば、ソリッドステートドライブを含んでもよく、ネットワーク構成要素を通って動くデータの全て（又は一部）をキャプチャし、そのデータのログをドライブに記録する１つ以上のロギングアプリケーションを含んでよい。更なる態様によれば、ロギングアプリケーションは、データをフィルタリングし、データの一部のみを保存してよく、且つ／又は、データの分析（例えば、レイテンシの計算）を実行し、そのような分析結果を保存してよい。より更なる態様によれば、ロギングアプリケーションは、データのフィルタリング（例えば、市場データ価格、完了トランザクション等の探索）及び／又はデータの分析を行い、フィルタリングされたデータ及び／又は分析結果を別のネットワークインタフェース（例えば、ネットワークインタフェース２０４ａ−ｎ及び／又は２０６ａ−ｎとは異なるネットワークインタフェース）に転送してよい。ネットワーク構成要素２０２の外部にある他のシステム及び（カスタマ１３０のような）ユーザが、そのようなデータ及び／又は分析結果を受信してよく、例えば、価格に関するデータ及び／又は分析結果を受信してよい。当業者であれば理解されるように、これらはロギング機能の例に過ぎず、他／追加のロギング機能も可能である。
【００３９】
ネットワーク構成要素２０２の実施例によれば、プロセッサ３０１ａ−ｎ及び３０２ａ−ｎのうちの１つ以上を実現する為に、複数（例えば、８個）のコアを内蔵するインテル（Ｉｎｔｅｌ）製Ｓａｎｄｙ  Ｂｒｉｄｇｅプロセッサが使用されてよい。例えば、所与のＳａｎｄｙ  Ｂｒｉｄｇｅプロセッサにおいて、１つ以上のコアがスケジューリングプロセッサ３０２ａ−ｎとして割り当てられてよく、１つ以上のコアがネットワークプロセッサ３０３ａ−ｎとして割り当てられてよい。そのようなコアは、プロセッサ３０１ａ−ｎ及び３０２ａ−ｎに関して本明細書に記載のように構成されてよく、動作してよい。ネットワーク構成要素２０２は、複数のＳａｎｄｙ  Ｂｒｉｄｇｅプロセッサを含んでもよい。ここで、各Ｓａｎｄｙ  Ｂｒｉｄｇｅプロセッサについては、１つ以上のコアがネットワークプロセッサ３０２ａ−ｎとして割り当てられてよく、１つ以上のコアがスケジューリングプロセッサ３０１ａ−ｎとして割り当てられてよい（これらは、例えば、ネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎの間でメッセージを移動させる目的で、そのチップのネットワークプロセッサとともに動作するだけであってよい）。そのような構成では、ネットワークインタフェース２０６ａ−ｎのいずれが、Ｓａｎｄｙ  Ｂｒｉｄｇｅのネットワークプロセッサ（コア）のいずれに割り当てられてもよい。或いは、特定のネットワークインタフェース２０６ａ−ｎのみが１つのＳａｎｄｙ  Ｂｒｉｄｇｅプロセッサに割り当てられ、ネットワークインタフェース２０６ａ−ｎの別のセットが別のＳａｎｄｙ  Ｂｒｉｄｇｅプロセッサ等に割り当てられてもよい。同様に、ネットワークインタフェース２０４ａ−ｎのいずれが、Ｓａｎｄｙ  Ｂｒｉｄｇｅプロセッサのスケジューリングプロセッサ（コア）のいずれに割り当てられてもよい。或いは、特定のネットワークインタフェース２０４ａ−ｎのみが１つのＳａｎｄｙ  Ｂｒｉｄｇｅプロセッサに割り当てられ、ネットワークインタフェース２０６ａ−ｎの別のセットが別のＳａｎｄｙ  Ｂｒｉｄｇｅプロセッサ等に割り当てられてもよい。当業者であれば理解されるように、これらは例に過ぎず、他の構成及び他のチップセットも使用されてよい。
【００４０】
ネットワーク構成要素２０２の更なる実施例によれば、ネットワークインタフェース２０４ａ−ｎ及び２０６ａ−ｎは、ホットラバ（Ｈｏｔｌａｖａ）製の１つ以上のネットワークインタフェースカード、例えば、Ｔａｍｂｏｒａ  １２０Ｇ６、Ｔａｍｂｏｒａ  ６４Ｇ６、Ｔａｍｂｏｒａ  ８０Ｇ４、Ｔａｍｂｏｒａ  ６４Ｇ４、及びＢｏｓａｖｉ  １２Ｇ６のうちの任意の１つ以上を含むネットワークインタフェースカードによって実現されてよい。当業者であれば理解されるように、これらは例に過ぎず、他の供給元からのネットワークインタフェースカードを含む、他のネットワークインタフェースカードも使用されてよい。
【００４１】
ネットワーク構成要素２０２の更なる実施例によれば、例えば、Ｓａｎｄｙ  Ｂｒｉｄｇｅプロセッサ、及び、例えば、ホットラバ製ネットワークインタフェースカードは、１つのマザーボードに挿入されてよく、そのようなシステムは、Ｌｉｎｕｘ（登録商標）オペレーティングシステムを動作させてよい。この場合も、当業者であれば理解されるように、これらは例に過ぎず、他の構成も可能である。
【００４２】
当業者であれば理解されるように、ネットワーク構成要素２０２は、（例えば、図２及び図３において本明細書で既述のように構成されてもよいが）逆の方向で構成されてもよい。例えば、ネットワーク２１４にある所与のサーバ１１４が、１つ（場合によっては、より多く）のアドレスを別のネットワーク（例えば、ネットワーク２１６ａ）に有してよいが、他の幾つかのネットワークがネットワークインタフェース２０６とインタフェースすることも可能である。従って、所与のサーバ１１４に対して、ネットワーク構成要素２０２は、（本明細書で既述のように）ＮＡＴ／ＰＡＴとして構成されてよく、例えば、カスタマネットワーク２１４にあるサーバ１１４の１つ以上のアドレスと、ネットワーク２１６ａにあるサーバに割り当てられたアドレスとの間でマッピングを行うＮＡＴ／ＰＡＴとして構成されてよい。
【００４３】
本開示を、特定の実施形態及び一般的に関連付けられる方法に関して説明してきたが、当業者であれば、これらの実施形態及び方法に対する改変や置換が明らかであろう。従って、上述の例示的実施形態の説明は本開示を限定するものではない。本開示の趣旨及び範囲から逸脱しない限り、他の変更、置換、及び改変も可能である。ソフトウェア定義ネットワークを定義及び／又は有効化するルーティング装置が、様々な実施形態において、必要に応じて、データセンタ及び／又はカスタマ及び／又はサービスプロバイダに存在してよい。例えば、ＳＤＮのエッジルーティング装置がｌ−フロールーティングを提供してよく、カスタマ又はサービスプロバイダのスイッチ又はエッジルーティング装置がそのような機能性などを提供してよい。
【００４４】
実施形態によっては、ソフトウェア定義ネットワークが含まれてよい。そのようなネットワークは、本明細書に開示されているような高速ネットワーキング装置（例えば、装置２０２などの装置）を使用してよい。そのようなネットワークは、高度の柔軟性及び速度を有するクラウド及び／又は分散金融ネットワークを有効化することが可能である。実施形態によっては、ソフトウェア定義ネットワークは、キャリアグレードのネットワーク変換システムを含んでよい。
【００４５】
ＳＤＮのエンドポイントに対しては、ＳＤＮは、パケットのＮＡＴ（ヘッダ付き）を実施してよく、且つ／又は、必要に応じて、ポートレベルリダイレクト（ポートアドレス変換）をサポートしてよく、１つ以上の外部ネットワークと１つ以上の内部ＳＤＮ  ＩＰゾーンとの間のプロキシとして動作してよい。この設計は、ルーティングを減らすことを支援し、外部ネットワークが変更されても下流のルーティング変更が全く不要であるようにすることを支援することが可能である。実施形態によっては、データセンタごとに、ＳＤＮが及ぶ内部ＳＤＮ  ＩＰゾーンが１つあってよい。ｌ−フローは、ソースからのアクセスが可能なＩＰとポートのペアとして定義されてよい。ＳＤＮは、特定のｌ−フローで識別されるサービスプロバイダに、ルーティング、アナリティクス、負荷分散、フェールオーバなどのサービスを提供することが可能である。
【００４６】
ＳＤＮは、カスタマネットワークからは、静的経路との単純なサーバ接続のように見えるかもしれない。例えば、ＳＤＮとのカスタマ接続が、ネットワーク装置２０２を通しての接続に関して上述されたカスタマ接続とよく似ている場合がある。他のエンドポイント（例えば、ＦＩＸエンドポイント、市場データエンドポイント、及び／又は内部サービス）が有効化されている場合、ＳＤＮエンドポイントと対面するカスタマは、これらのサービスを、（例えば、ｌ−フローとして）カスタマネットワークによって定義された様々なポート又はＩＰに提示してよい。
【００４７】
フェールオーバ及び負荷分散は、アプリケーション層において処理されてよく、論理フロー（ｌ−フロー）と呼ばれるＩＰとポートのセットごとに定義可能である。これにより、ネットワークフェールオーバをアプリケーションレベルまで持ち上げて、アプリケーションレベルのフェールオーバ及び負荷分散をきめ細かく制御することが可能になる。
【００４８】
ＳＤＮは、グローバルネットワークにエネルギを供給する為に使用される独自の接続層として動作することが可能である。従来のネットワークシステムと異なり、そのようなＳＤＮは、ネットワークレベルとアプリケーションレベルの両方でシステムと対話することが可能である。エンドポイント同士の接続は、従来のサーバと同様の標準的なＩＰｖ４  ＴＣＰ／ＩＰ設定により行われてよい。ＳＤＮは、いったん接続されると、ｌ−フローと呼ばれるＩＰとポートのペアごとに転送、アナリティクス、負荷分散、及びフェールオーバの無数の選択肢を提供するように構成されてよい。
【００４９】
ＳＤＮは、実施形態によっては、エンドポイントごとに１Ｇｂｅ、１０Ｇｂｅのシングルモードファイバ（ＳＭＦ）接続を使用してよい。当然のことながら、上述のとおり、任意のタイプの接続が様々な実施形態において使用されてよく、これらの例は非限定的である。（ＳＤＮ側の）ＳＤＮエンドポイントは、外部ネットワークに適合する任意のアドレス空間にある１つ又は多数のＩＰアドレスにより構成されてよい。実施形態によっては、ＳＤＮエンドポイントは、各ＳＤＮエンドポイントには（少なくとも）１つの静的ＩＰｖ４アドレスを割り当てなければならず、各ＳＤＮエンドポイントには（少なくとも）１つのデフォルトゲートウェイを与えなければならないという要件を有してよい。ＩＰｖ４及びＴＣＰに関する例が与えられているが、当然のことながら、他の例が任意の所望の技術、例えば、ＩＰｖ６及びＵＤＰ等を使用してもよい。
【００５０】
ＳＤＮへの接続性及び／又はＳＤＮからの接続性は、ＳＤＮによる、ｌ−フローのＩＰとポートのペアのフルネットワークアドレス変換により、外部接続に割り当てられたＩＰアドレスで終わったり始まったりしてよい。
【００５１】
ＳＤＮエンドポイントは、接続されたユーザ／サービスプロバイダの外部プライマリ及び／又はセカンダリスイッチ又は他の構成要素に直接接続されてよい。この構成は、何らかの形態のレイテンシを減らすことを促進することが可能である。図５は、外部ＬＡＮの外部スイッチに対するＬＵＣＥＲＡ  ＳＤＮエンドポイント接続の一例を示す。実施形態によっては、アプリケーションサーバとＳＤＮとの間に追加のルーティング層がない。この構成では、各エンドポイントに、外部ＩＰプールにあるＩＰアドレスが割り当てられてよく、ＳＤＮエンドポイントは、従来のサーバネットワークインタフェースと同じように構成されてよい。
【００５２】
実施形態によっては、ＳＤＮエンドポイントは、外部のファイアウォール又はルータに接続されてよい。この構成は、上述の構成とよく似ており、異なるのは、ＩＰアドレスがトランジットネットワークから割り当てられる点である。図６は、そのような接続の一例を示す。このトポロジは、ＤＭＺの作成、又はＶＬＡＮ統合の考慮の為に展開されてよい。追加のソース経路が必要な場合（外部トランジットがフルＮＡＴを実施しない場合）は、それらもＳＤＮエンドポイントに追加されてよい。
【００５３】
ＳＤＮを複数のＶＬＡＮに接続する必要がある場合、実施形態によっては、上述の直接接続トポロジを採用し、各ＶＬＡＮにエンドポイントを追加してよい。図７は、３つの別々の８０２．１ＱタグＶＬＡＮに接続するように構成されたＳＤＮエンドポイントの一例を示す。実施形態によっては、このエンドポイントは、例えば、物理接続当たり最大１０２４個のＶＬＡＮエンドポイントをサポートすることが可能である。ＳＤＮエンドポイントは、この、外部ネットワークに適応する柔軟性を可能にしており、ネットワーク内で単一ゲートウェイ、又はゲートウェイの集合体のいずれかであるように見なされてよい。
【００５４】
実施形態によっては、ＳＤＮは、キャリアグレードのネットワークアドレス変換システムとして動作可能である。ＳＤＮ上の各物理エンドポイントは、物理ネットワークインタフェースにマッピングされてよく、各論理ＩＰアドレスは、そのインタフェースに付けられてよい。図８は、ＳＤＮノードと外部インタフェースと対応する内部ファブリック接続とを示す。実施形態によっては、図８の構成要素は、上述の構成要素２０２のようなネットワーク構成要素に相当してよい。
【００５５】
実施形態によっては、ＳＤＮエンドポイントは、コアファブリックに接続する為に、フル（ヘッダ書き換え）ネットワークアドレス変換を実施してよい。ｌ−フローごとに、ＮＡＴ及び／又はＰＡＴサービスを実施及び管理する為のプロセス（及び／又はコア及び／又はプロセッサ）が１つ割り当てられてよい。各外部接続は、１つのインタフェースに直接接続されてよく、ＮＡＴ層は、外部ネットワーク上でトラフィックが見えないようにしてよい。
【００５６】
実施形態によっては、デフォルトで、インタフェースは、ＰＩＮＧ（ＩＣＭＰエコー）から到達可能であってよく、他のポートからは到達可能でなくてよい。アプリケーションがＳＤＮから（ｌ−フローとして）利用可能にされている場合、外部インタフェースのポートは有効化されてよい。図９は、一シナリオ例を示しており、ここでは、カスタマのエンドポイントが、ＥｘｃｈａｎｇｅＣｏからの２つのサービス、即ち、ポート９９９９の市場データフィード、及びポート９９９８のＦＩＸセッションへのアクセスを有する。これら２つのサービスは、それぞれが、ＩＰとポートのペアで定義される別々のｌ−フローを有する。ＳＤＮは、ＥｘｃｈａｎｇｅＣＯネットワークのフルＮＡＴを実施し、ポート９９９９及び９９９８のローカルエンドポイントにそれらのサービスを提示する。これらのポートは、必要に応じて変更されてもよい。例えば、ＳＤＮは、必要に応じて、ＥｘｃｈａｎｇｅＣＯサービスを９０００及び９００１に提示してよい。内部では、ＳＤＮは、非ブロッキング輻輳がないファブリックを採用してよく、プライベートファブリックＩＰゾーンにおいて内部通信が行われてよい。実施形態によっては、（例えば、冗長大陸横断回線を含む）クロスデータセンタ接続が、エッジノードポイントとして動作し、内部ｌ−フローをサポートすることが可能である。
【００５７】
実施形態によっては、ＳＤＮエンドポイントは、任意の数のｌ−フローへのアクセスを可能にしてよい。（ＩＰ、ポート、及び／又はプロトコルのセットとして識別されてよい）所与のサービスに対して、ＳＤＮは、サービスのアクセス、フェールオーバ、及び／又は品質を管理する為のｌ−フローを定義する。ＳＤＮは、これらの動作要素を、そのｌ−フローにアクセスするユーザからは見えないように管理することが可能である。ｌ−フローは、進入又は退出であるとして定義されてよい。進入ｌ−フローは、ＳＤＮの外部にあって、ＳＤＮ内に提供されるサービスであってよい。退出ｌ−フローは、ＳＤＮの内部にあって、外部エンドポイントに提供されるサービスであってよい。
【００５８】
図１０は、進入ｉ−フローが有効化される一例を示す。この例では、ＥｘｃｈａｎｇｅＣｏのネットワークにあるＡ  ＦＩＸエンジンが、ＳＤＮカスタマらに対し、ＳＤＮカスタマらの市場へのアクセスを提供しようとする。ＥｘｃｈａｎｇｅＣＯは、このｌ−フローを、市場データは、ＩＰ：１９２．１６８．１．１、ポート：９９９９、プロトコルはＴＣＰであり、注文セッションは、ＩＰ：１９２．１６８．１．２、ポート：９９９８、プロトコルはＴＣＰであると定義する。
【００５９】
図１１は、ＥｘｃｈａｎｇｅＣｏサービスにアクセスする為の退出ｌ−フローを有するカスタマを示す。ＣｕｓｔｏｍｅｒＣｏがＥｘｃｈａｎｇｅＣＯサービスにアクセスしようとしていて、資格に関してＥｘｃｈａｎｇｅＣｏとネゴシエートし、アクセスをＥｘｃｈａｎｇｅＣｏから承認された場合、ＳＤＮは、そのカスタマに対するサービスの為のｌ−フローを有効化する。ＥｘｃｈａｎｇｅＣＯサービスは、ローカルＣｕｓｔｏｍｅｒＣＯ  ＬＡＮ（又はＶＬＡＮ）上に現れ（ソースＩＰ）、ＣｕｓｔｏｍｅｒＣＯは、実際のＥｘｃｈａｎｇｅＣＯエンドポイントの詳細を知る必要がない。この抽象化により、ＥｘｃｈａｎｇｅＣｏへのカスタマ接続への割り込みなどがない限り、ＥｘｃｈａｎｇｅＣＯが、下流ルーティング更新、フェールオーバ、及び負荷均衡の実施を強制することなくネットワーク設計を変更することが可能になってよい。
【００６０】
実施形態によっては、ｌ−フローは、ポートを変更してもよい（ポートアドレス変換）。実施形態によっては、ｌ−フローは、クロスデータセンタファブリックをトラバースしてよい。例えば、図１２の例では、ＣｕｓｔｏｍｅｒＣＯが、流動性資産受取者として２つのＦＸマッチングソースにアクセスしようとし（退出ｌ−フロー）、流動性資産提供者として２つのＦＸマッチングソースにアクセス使用とする（進入ｌ−フロー）。
【００６１】
更なる例として、図１３は、（特定のデータセンタを識別しうる）ＮＹ４の６人の流動性資産提供者と、ＳＤＮを通して接続することが必要であり、且つ、（地理的に異種であるデータセンタを識別しうる）ＬＤ４の５人の流動性資産提供者と接続することを必要とする流動性資産アグリゲータを示す。アグリゲータ側の接続性を簡略化する為に、１つのＩＰアドレス（ここでは１０．２．１．１として示されている）で全ての送信先に到達できるものとする。送信先ごとにアウトバウンドポートが連続的に定義されてよい為、１０個のエンドポイントの全てが１つのＩＰにおいて現れ、各ポートは論理エンドポイントにマッピングされる。
【００６２】
ＳＤＮは、リンクレベル及びＩＰレベルで障害を検出できるという点で、従来のネットワークアプライアンスのように動作可能である。例えば、図１４に示される、以下の進入ｌ−フローを定義する。
【表１】
2020018001.tif 000003
ｌ−フローは、リンク（物理）障害又はＩＰ障害に対するアクティブ／パッシブシナリオ及びフェールオーバにおいて動作可能である。これらのｌ−フローのそれぞれを確立する為に、ソケットが開かれてよい。ソケットが不通になると、いずれかのｌ−フローで障害状態が発生する可能性がある。プライマリソケットが不通になると、その代わりにセカンダリｌ−フローが使用されてよい。障害状態が発生する前にセカンダリソケットが開く為、障害が検出された後に新しい接続を確立する際に、遅延が発生しない。
【００６３】
このｌ−フローを退出として使用するカスタマは、カスタマからはネットワーキングの変更が全くないように見えながら、透過的にセカンダリパスにフェールオーバすることが可能である。このシナリオ例では、プライマリへのリンクに障害が発生すると、プライマリセッションが失敗し、ｌ−フローがセカンダリリンクへのルーティングを開始することになる（これがＦＩＸエンジンであれば、新たなセッションインスタンスが開始されてよい）。特に、障害検出ロジックは、退出ｌ−フローとともにある。下流（プライマリ）での障害発生時には、退出ｌ−フローは、ＩＰ層エラーを受信し、セッションを切断し、セカンダリを使用して接続（ステートフルなサービス）を再確立する。実施形態によっては、フェールオーバ方法は、ステートフルなエンドポイントを前提とし、障害時にはＴＣＰ再接続を登録する。
【００６４】
フェールオーバと負荷分散は、ＳＤＮによる取り扱いが同様であってよい。フェールオーバ及び／又は負荷分散は、進入及び／又は退出のｌ−フローにおいて適用されてよい。負荷分散されたサービスは、様々な方法で実施可能である。非限定的な例を２つ挙げると、ラウンドロビン（重み付き、又は重みなし）と最小接続（Ｌｅａｓｔ  Ｃｏｎｎｅｃｔｅｄ）がある。
【００６５】
ラウンドロビン分散が採用された場合、各サーバは、それぞれの重みに応じて、順番に使用されてよい。これは、最もシンプルであり、最もよく実施される負荷分散方法と言える。ラウンドロビン重みを適用することにより、コンピュータ的によりロバストなサーバにトラフィックを振り向けることが可能である。実施態様によっては、プール内のエンドポイントの数は、例えば、１０２４に制限されてよく、これは、ｌ−フローを端から端まで分散させる為の可能な「サーバ数」が最大１０２４であることを意味する。図１５は、重み付きラウンドロビンによる２サーバ負荷分散の一例を示す。ＳＤＮエンドポイントによって実施されるラウンドロビン重み付けアルゴリズムに従って、図示された退出ｌ−フローに入るパケットが、プライマリ又はセカンダリＦＩＸエンジンへの２つの進入ｌ−フローの間でルーティングされる。
【００６６】
最小接続負荷分散の一例では、現在接続されているセッションの数が最少であるサーバが選択される。この負荷分散方法は、計算負荷が一様でなく、接続長が可変であるサービス（例えば、データベースサービスやウェブサービス）に最適となる可能性がある。
【００６７】
実施形態によっては、進入及び／又は退出のｌ−フローに圧縮が適用されてよい。そのような圧縮は、任意の所望の形式であってよい。使用可能な圧縮の一例として、辞書型圧縮がある。そのような、使用可能な辞書型圧縮の一例として、デフレートアルゴリズムに関連する圧縮アルゴリズムがあり、例えば、ｚｌｉｂライブラリ圧縮アルゴリズムがある。当業者であれば理解されるように、他のタイプの圧縮アルゴリズムも様々な実施形態で使用されてよい。
【００６８】
圧縮は、状況によっては、パケットサイズを低減及び／又は最小化し、且つ／又は、余分なデータの送信をなくすことにより、レイテンシを減らし、且つ／又は、帯域幅を改善することに有用となりうる。これは、特に、大きなメッセージ更新及び／又はテキストベースのｌ−フロー（例えば、ＦＩＸメッセージングｌ−フロー）の場合に当てはまりうる。
【００６９】
実施形態によっては、圧縮及び／又は圧縮解除は、ＳＤＮレベルで行われてよい。辞書は、複数のプロセス／プロセッサ／コアの間で共有／確立されてよい。圧縮の様式や方法をプロセスに対して指示する為に、ｌ−フローの制御を確立するＡＰＩ又は他の方法が用いられてよい。例えば、新たなｌ−フローとＳＤＮエンドポイントとのＳＤＮ接続が確立されたら、所望の圧縮ルーチンに適合する圧縮用辞書が確立されてよい。辞書は、そのｌ−フローへのアクセスを有するＳＤＮエンドポイントと共有されてよい。そのｌ−フローの１つのエンドポイントに入るデータは、圧縮ルーチンに従って圧縮されてよい。そのｌ−フローから出るデータは、圧縮ルーチンに従って圧縮解除されてよい。エンドポイントにおけるプロセスは、（例えば、構成要素２０２内にあるようなプロセッサ／コアで命令を実行することにより）安定化されたルーチンに従って圧縮及び／又は圧縮解除を実施してよい。
【００７０】
図１６は、ｌ−フローの端から端までの圧縮のインスタンス例を示す。この例では、データのチャンク（例えば、２０４８バイト、又は他の幾らかのデータ量）ごとに、ｌ−フローの送信側エンドポイントと受信側エンドポイントの両方で辞書エントリが作成される。辞書の作成は、事前準備方式や事前共有方式ではなく同時進行方式で行われる。辞書エントリを確立する方法は、両エンドポイントが同じ辞書エントリを生成するように、エンドポイント全体にわたってあらかじめ規定されてよい。他の実施態様では、同時進行辞書ではなく事前準備辞書又は事前共有辞書を使用してよい。
【００７１】
特定のデータチャンクの最初の転送時に、そのチャンクに対応する辞書エントリが送信端で作成される。エントリの作成の為にパフォーマンスヒットが発生する可能性がある。これは、辞書エントリを作成せずに単純にデータを送信する場合に比べて、追加の処理が必要になる場合がある為である。この例では、受信エンドポイントにおいて、第１のチャンクはＡＢＣであってよい。作成された辞書エントリは、ＡＢＣを第１のエントリとして確立する。第２のデータチャンクはＤＥＦであってよい。作成された辞書エントリは、ＤＥＦを第２のエントリとして確立する。データは、ＡＢＣＤＥＦとして他方のエンドポイントに送信され、他方のエンドポイントでは辞書エントリのマッチングが行われる。
【００７２】
次の転送時に、その特定のデータチャンクが、より小さいサイズに圧縮されてよい。例えば、２０４８バイトのデータチャンクが、辞書エントリを識別する１０バイトの参照に圧縮されてよい。この例では、２つのチャンクＤＥＦ及びＨＩＪを含む新たなデータ列が受信されると、受信側ｌ−フローは、ＤＥＦチャンクを、第２の辞書エントリへの参照に変換し、ＨＩＪチャンクに対応する新たな辞書エントリを第３のエントリとして作成する。他方のｌ−フローエンドポイントに送信されたデータは、第２の辞書エントリ及びＨＩＪチャンクへの参照ポインタである。他方のエンドポイントでの受信が行われると、このエンドポイントは、第２の辞書エントリをルックアップして、ＤＥＦチャンクを再作成し、完全なＤＥＦＨＩＪ文字列を作成する。他方のエンドポイントは又、ＨＩＪチャンクに対応する新たな辞書エントリを作成する。
【００７３】
当然のことながら、データ例のサイズは非限定的な例として与えられており、必要に応じて任意のサイズの辞書参照及び／又はチャンクが使用されてよい。
【００７４】
実施形態によっては、進入及び／又は退出のｌ−フローに暗号化が適用されてよい。そのような暗号化は、任意の所望の形式であってよい。暗号化は、インラインで適用されてよい。例えば、暗号化は、ＳＳＬ暗号化を含んでよい。暗号化は、ＴＬＳ暗号化を含んでよい。プロセス／プロセッサ／コアは、ｌ−フローごとに同じ鍵又は異なる鍵（例えば、秘密鍵及び／又は公開鍵）を適用してよい。例えば、ｌ−フローの一方のエンドポイントに入るデータが、（例えば、公開鍵を使用して）暗号化されてよい。実施形態によっては、データは、暗号化された形態でｌ−フローから出てよく、送信先によって（例えば、秘密鍵を使用して）復号されてよい。実施形態によっては、データは、ｌ−フローの他方のエンドポイントから出る際に、そのエンドポイントによって（例えば、秘密鍵を使用して）復号されてよい。異なるｌ−フローが、異なる１つの鍵及び／又は複数の鍵を使用して、同様に暗号化及び復号されてよい。サポートされることが可能な暗号化アルゴリズム及び／又は鍵の幾つかの例として、ＡＥＳ１２８−ＳＨＡ、ＡＥＳ２５６−ＳＨＡ、ＲＣ４−ＭＤ５等がある。ＡＥＳベースの鍵の場合は、低レイテンシ且つ高スループットの伝送の為に、エンドポイントがインテルのＡＥＳ−ＮＩ命令セットを実装してよい。暗号化の負担をＳＤＮに委ねることにより、分析アプリケーション（例えば、パケットキャプチャ、アナリティクス等）がトラフィックに対して動作することが可能になってよい。他の実施形態は、暗号化の負担をＳＤＮに委ねる代わりに、送信元及び／又は送信先による暗号化を含んでよい。そのような実施形態では、データの内容がＳＤＮにとって未知である場合があり、これによって、分析アプリケーションによっては利用できない場合がある。又、分析アプリケーションによっては、暗号化されたデータに対して干渉することなく動作可能な場合があり、且つ／又は、動作を可能にする為に送達後報告システム（ｐｏｓｔ−ｄｅｌｉｖｅｒｙ  ｒｅｐｏｒｔｉｎｇ  ｓｙｓｔｅｍ）を使用する場合がある。
【００７５】
実施形態によっては、進入及び／又は退出のｌ−フローに対してアナリティクスアプリケーションが適用されてよい。実施形態によっては、ｌ−フローアナリティクスは、パケットヘッダに対してのみ動作してよい。そのようなアナリティクスは、暗号化及び／又は圧縮の負担をＳＤＮに委ねるかどうかにかかわらず、分析が実施されることを可能にしてよい。又、実施形態によっては、パケットキャプチャメカニズムのような、ペイロードのアナリティクスを含んでよい。処理はインラインで動作可能であり、従って、ＳＤＮをトラバースするデータパケットに干渉しないでよい。そのような処理は、パケットヘッダをアナリティクス用のプロセッサ、コア、又はプロセスのバッファ又はキューに入れることにより、実施されてよい。そのバッファは、ルーティング及び／又は送信の処理を実施するプロセス、プロセッサ、又はコアを有する共有メモリ空間であってよい。例えば、ヘッダ／データパケットがＳＤＮエンドポイント又はＳＤＮの他のノードを通って処理された後、パケットヘッダがリングバッファ又は他のキューイングメモリの一部分に置かれて、アナリティクスプロセスによる処理が行われてよい。アナリティクス処理は、ＳＤＮルーティングプロセス自体とは切り離されて行われてよい。この構造は、送信後分析がＳＤＮパケットのフローに干渉することなく行われることを保証しうる。
【００７６】
アナリティクス情報は保存されてよく、履歴照会が可能であってよい。そのような照会は、ＳＤＮに接続されている装置から、非ルーティングシステム、例えば、ＳＤＮを通るデータのルーティングに関与していないコンピューティングシステムによって運用されているプロセッサ又はデータベースに対して実施されてよい。様々な時間長の照会に対して、様々なレベルの細分性が維持されてよい。様々な時間長の照会に対して、様々なメトリクスが維持されてよい。ｌ−フローに関するアナリティクスとして提案されてよいメトリクスの例として、帯域幅、エラー、及び／又はレイテンシの情報があってよく、例えば、帯域幅（ビット）、スループット（パケット数）、ＴＣＰ再送信（総パケット数のうちのパーセンテージ）、ＴＣＰ再送信（パケット数のうちの数）、ＴＣＰの順序どおりでないパケット（総パケット数のうちのパーセンテージ）、ＴＣＰの順序どおりでないパケット（パケット数のうちの数）、ＴＣＰアクティブフロー、アプリケーションラウンドトリップ時間、ＴＣＰハンドシェイクレイテンシ等があってよい。アナリティクス情報は、ウェブソケット経由でストリーミングされてよく、且つ／又は、任意の所望の方法で送達されてよい。
【００７７】
実施形態によっては、ＳＤＮ及び／又はｌ−フローのパフォーマンスに関する更なるアナリティクスが利用可能であってよい。ＳＤＮを通って伝送されたデータに関するアナリティクスデータを算出する為に、ＳＤＮは、数百、数千、数万等の遠隔計測ポイントを設けてよい。例えば、ＳＤＮを通る任意の経路に沿う各ホップ又はノードが、遠隔計測ポイントとして動作可能である。そのような遠隔計測ポイントによって収集可能な任意の情報から、カスタムメトリクスがカスタマによって定義されてよい。更なるメトリクスの例として、ＳＮＭＰメトリクス、Ｓｔａｔｓｄメトリクス、Ｋｓｔａｔｓメトリクス等があってよい。
【００７８】
実施形態によっては、ヘッダだけを分析するよりもむしろ、データパケット全体が分析されてよい。ヘッダのキャプチャ及び／又は分析と、パケットのキャプチャ及び／又は分析の動作は同様であってよい。
【００７９】
図１７及び図１８は、実施形態によっては使用可能である、パケット及び／又はヘッダのキャプチャ及び／又は分析の構成の構造例を示す。そのような構成は、キャプチャされたパケット及び／又はパケットヘッダの分析を可能にしてよい。キャプチャメカニズムは、ｌ−フロー内の仮想タップとして編成される。仮想タップは、必要に応じてパケット情報を流すネットワークパケットブローカを実施する。
【００８０】
リングバッファなどのメモリ空間は、図１７に示されるように、２つのプロセス／プロセッサ／コアの間で共有されてよい。例えば、１つのプロセス／プロセッサ／コアが、ｌ−フローに関連するルーティングを操作してよい。別のプロセス／プロセッサ／コアが、ＳＤＮのパケットキャプチャ及び／又は他のアナリティクス又は機能を操作してよい。パケットはバッファに入れられて、両方のプロセス／プロセッサ／コアによって処理されてよい。実施形態によっては、両方のコアがバッファの任意の構成要素にアクセスして、バッファ内のパケットを処理してよい。実施形態によっては、ルーティング又はｌ−フロープロセス／プロセッサ／コアが空間の第１の集合にアクセスしてよく、パケットキャプチャプロセス／プロセッサ／コアが空間の別の集合にアクセスしてよい。空間の第１の集合は、空間の第２の集合より優先度が高くてよい。例えば、一実施形態では、リングバッファ内の最後の空間が、リングバッファ内で第１の空間になる新しいデータによって上書きされる前に、パケットキャプチャプロセス／プロセッサ／コアがその最後の空間にアクセスしてよい。そのような実施形態では、パケットキャプチャプロセス／プロセッサ／コアがパケットに作用することを許可される前に、ルーティング又はｌ−フロープロセス／プロセッサ／コアに、パケットを処理する為の第１の優先度が与えられてよい。実施形態によっては、パケットキャプチャプロセス／プロセッサ／コアが、バッファへのルーティング又はｌ−フローアクセスに割り込みをかけることに限定されてよいが、ルーティング又はｌ−フロープロセス／プロセッサ／コアは、パケットキャプチャプロセス／プロセッサ／コアに割り込みをかけることを許可されてよい。このようにして、ルーティングが常に最重要であるとされ、レイテンシ又はデータ転送が最小化される。
【００８１】
実施形態によっては、パケットキャプチャプロセス／プロセッサ／コアが、データを共有メモリからライタバッファ（例えば、別のリングバッファ）にコピーしてよい。そのようなバッファは任意のサイズであってよい。サイズの一例として、４ＭＢバッファであってよい。バッファは、ディスクに書き込まれるべくキューイングされるか、他の形式で分析ツールの作用を受けるデータを記憶してよい。実施形態によっては、パケットキャプチャプロセス／プロセッサ／コアが、キャプチャされたパケットをコレクタエージェント又はコレクタプロセスに送信するか、他の形式で、パケットを、低優先度の送信プロセスによる送信の為にキューイングしてよい。
【００８２】
実施形態によっては、ＳＤＮのコアルーティング構成要素から離れたところで、キャプチャされたパケットのキャプチャ後処理が行われてよい。例えば、データの送信及び／又はルーティングに関連する機能を全く有しないプロセッサによって行われてよい。例えば、コレクタエージェントが、そのような非ルーティングプロセッサ上で動作してよい。図１８は、ＳＤＮのルーティングから離れたところでのそのようなコレクタエージェントの動作及び後処理を示す。情報を１つの場所から別の場所にコピーすることを、信頼性の高い方法で行うことにより、データの保全性を維持することが可能である。例えば、信頼性の高い複製を保証するために、ＲＡＦＴコンセンサスアルゴリズムが使用されてよい。
【００８３】
アナリティクスがパケットに関する情報を適正に再作成又は分析できるように、パケットには、信頼される時刻ソースによるタイムスタンプが付けられてよい。このタイムスタンピングは、ヘッダの一部であってよい。タイムスタンピングには、ＧＰＳ又はＣＤＭＡのクロック源が使用されてよい。このタイムスタンピングは又、注文優先順位（例えば、ＳＤＮの交換サービスプロバイダにおける価格時間優先順位）の決定に使用されてもよい。
【００８４】
実施形態によっては、キャプチャされたパケットがメッセージキューにブロードキャストされてよく、メッセージキューは、そのキューをサブスクライブする全てのアプリケーションが、キャプチャされたパケットに作用することを可能にする。例えば、コレクタエージェントが、受信されたパケットをメッセージキューにプッシュしてよい。各ｌ−フローには、メモリキュー内のチャネルが割り当てられてよい。従って、（例えば、エンドポイント、ＳＤＮ内のノード等において）特定のｌ−フローからキャプチャされたパケットが、割り当てられたチャネルにおいてブロードキャストされてよい。アプリケーションが、特定のチャネルのデータをリスンし、必要に応じて、そのデータに作用してよい。
【００８５】
初期後処理タスクが、メッセージキューにおいてパブリッシュされたｌ−フローローファイル出力をサブスクライブしてよい。初期後処理タスクは、キューデータにパブリッシュバックしてよく、キューデータは、ローパケットキャプチャから所望のフォーマットに再フォーマットされる。フォーマットの一例として、ＰＣＡＰフォーマットがある。そのようなフォーマットされたデータは、必要に応じて、ＰＣＡＰ分析アプリケーション（例えば、Ｗｉｒｅｓｈａｒｋ、ＴＣＰＦｌｏｗ）によって消費されてよい。フォーマットの一例として、＜ｄａｔｅ＞＜ｌ−ｆｌｏｗ  ｕｕｉｄ＞＜ＧＭＴＳｅｃｏｎｄ＞＜ｄａｔａ＞があってよい。初期後処理タスクは、他のタスクの前に動作してよい。初期後処理タスクの動作は、（例えば、フォーマットされた再パブリッシュ済みデータにおいてｌ−フローｕｕｉｄタグを使用することにより）データをチャネルに割り当ててよい。
【００８６】
フォーマットされたデータがメッセージキューにおいてパブリッシュされたことに対する応答として、必要に応じて、後処理エンジンがデータに対して作用してよい。例えば、特定のｌ−フローからのパケットに対してアナリティクスを与える為に（例えば、ＡＰＩを通して）後処理エンジンが割り当てられてよい。そのｌ−フローのｕｕｉｄがタグ付けされたパケット、又は他の形式でメッセージキューのそのｌ−フローチャネルにあるパケットが現れたら、後処理エンジンは、そのパケットを分析するように動作してよい。
【００８７】
実施形態によっては、後処理エンジンは、ファイルを記憶するように動作してよい。そのような記憶装置は、必要に応じて、例えば、長期又は短期の記憶装置であってよい。データは、ｇｚｉｐ圧縮され、インデックスを付されて、任意の所望の記憶媒体に記憶されてよい。後処理エンジンは、ｌ−フロー再生アクティビティを提供するように動作してよい。パケットは、後処理において順序がずれて受信されても、パケットのタイムスタンプに基づいて再配列されることにより、正確な情報を提供することが可能である。後処理は、キャプチャされたパケット及び／又はヘッダに対して任意の所望のアナリティクス分析を実施する為に行われてよい。
【００８８】
可能なＳＤＮ機能性として多数の例があり、例えば、ｌ−フロー圧縮、暗号化、パケットキャプチャ、アナリティクスなどの機能性があり、これらは、実施形態によっては、様々に組み合わされて提供されてよい。当然のことながら、そのような機能性の例は非限定的である。
【００８９】
図４は、実施形態によっては実施可能なＳＤＮの別の例を示す。この例では、４つのＳＤＮエンドポイント４０１、４０３、４０５、及び４０７（これらは前の図のカスタマ１３０に対応してもしなくてもよい）が、２つのＳＤＮネットワーク装置２０２Ａ及び２０２Ｂを通してＳＤＮに接続されているように示されている。各ネットワーク装置は、ＳＤＮデータセンタ４１１及び４１３という別々のデータセンタにサービスを提供する。これらのデータセンタ同士はＳＤＮファブリックを通して接続されてよく、ＳＤＮファブリックは、内部ネットワーキング構成要素及び装置４１５として図示されている。各データセンタは、４１７及び４１９で示される内部ＳＤＮエンドポイント及び／又は他のサービスプロバイダを有するように図示されている（例えば、これらは、前の図の１１４のような構成要素に対応してもしなくてもよい）。当然のことながら、この例は、実施形態によっては何らかの可能性がある機能性及び／又は構成を示す非限定的な例として与えられている。実施形態によっては、別の構成、構成要素、機能性等を有してよい。
【００９０】
クラウドベース且つ／又は分散型の高速取引ネットワークでは、ＳＤＮを通しての取引を促進する為に、様々なエンドポイント及び／又は参加者が他のエンドポイント及び／又は参加者にサービスを提供してよい。例えば、非限定的なセットアップ例として、エンドポイント４０５及び４０７は、市場データサービスをＳＤＮ参加者に提供してよく、エンドポイント４０１は、交換データサービスをＳＤＮ参加者に提供してよく、エンドポイント４０３は、ＳＤＮの分散型サービスを利用する取引エンティティであってよい。
【００９１】
エンドポイント４０３のカスタマが、エンドポイント４０５及び４０７のそれぞれへの市場データｌ−フローにアクセスしてよく、これは、エンドポイント４０３向けのそれらのサービスに対してＳＤＮから割り当てられたＩＰアドレスとポートの組み合わせにアクセスすることによって行われる。エンドポイント４０５及び４０７のサービスがＳＤＮを通してエンドポイント４０３のカスタマに返信することにより、市場データ情報が提供されてよい。同様に、エンドポイント４０３は、ＳＤＮを通してエンドポイント４０１と通信することにより、取引コマンド（例えば、ビッド、オファー）を提供してよい。
【００９２】
エンドポイント４１７のような内部サービスは、外部エンドポイントと同様にサービスを提供してよい。例えば、内部サービスは交換機能性を提供してよい。その内部サービスは、外部サービスと同様に（例えば、ポートとＩＰのペアによって）アクセスされてよい。実施形態によっては、内部エンドポイントへのアクセスも外部エンドポイントへのアクセスも同一であってよい為に、（例えば、ポート及び／又はＩＰアドレス、及び／又はＡＰＩコマンドが異なっても）どちらがアクセスされているかをエンドポイントが認識しない場合がある。
【００９３】
これらのエンドポイントのいずれかでネットワーク変更があれば、それはＳＤＮによるものと考えられてよい。ＳＤＮに接続されている構成要素は、ＳＤＮに接続されている他の構成要素からは、１つのネットワーク空間のように見える場合がある。しかしながら、これらの構成要素は、実際には、異種として接続されてよく、物理的に別々であってよい。ＳＤＮは、これらの物理的差異を抽出することにより、エンドポイント同士が互いを、接続された装置として論理的に見ることを可能にしてよい。この構成により、これらのＳＤＮ接続されたサービスからＳＤＮ接続された取引エンティティへ市場データが高速且つ／又は低レイテンシで伝達されることが可能になってよい。
【００９４】
ＳＤＮの機能性を促進する為に、構成要素４１９のようなＳＤＮの一構成要素が、ＳＤＮの各構成要素に対する制御を行ってよい。例えば、制御装置４１９が、ＳＤＮによって回復されたパケットをどのようにルーティング及び／又は処理するかを、ＳＤＮの構成要素に指示してよい。例えば、コア３０２及び／又はアプリケーション３０３が、ＳＤＮの必要に応じて、データに応答する（例えば、ＳＤＮの構造に応じたルーティングを行う、適宜無視する、必要であれば暗号化又は圧縮する、必要であれば分析及び／又はキャプチャを行う）ように制御されてよい。
【００９５】
例えば、カスタマ４０３の場合、ＳＤＮは、エンドポイント４０１、４０５、及び４０７のそれぞれへの経路を有効化するように、ネットワーク装置２０２Ａ内のカスタマ４０３専用コアで動作するネットワークアプリケーションを制御してよい。他のエンドポイントへの経路は、ＳＤＮ制御装置により、そのカスタマに対しては無効化されてよい。それらの経路は後で開かれてよく、且つ／又は、開いている経路が後で閉じられてよい。例えば、新しい交換システムがＳＤＮに接続された場合、そのシステムへの新しい経路が、カスタマからアクセス可能になるＩＰとポートのペアにおいて確立されてよい。別の例として、カスタマが市場データの購読料を支払わない場合、市場データエンドポイントがアクセス不能になってよく、４０３のカスタマに対して経路が開かなくなってよい。制御構成要素４１９は、そのような経路変更に関する様々な入力を受信し、そのようなネットワーク変更に従ってパケットを処理するように、コア３０２Ａ上の３０３Ａのようなアプリケーションを制御してよい。
【００９６】
別の例として、カスタマは、サービスへのアクセスの為に、データ暗号化、データ圧縮、データアナリティクス、パケットキャプチャ等を要求してよい。そのような要求は、制御装置４１９を通して行われてよく、且つ／又は、ネットワークアプリケーション（例えば、３０３Ａ）によりアクセス可能なＡＰＩを通して直接行われてよい。このアプリケーションは、その後、その要求に従って、パケットを処理してよく、且つ／又は、処理するように制御されてよい。
【００９７】
暗号化、圧縮、負荷分散等のようなサービスの制御及び／又は適用は、様々な場所で、且つ／又は、様々なエンティティによって行われてよい。例えば、カスタマが、特定のｌ−フローにおける市場データ源との通信を圧縮するように、ＳＤＮのＡＰＩ（例えば、ＳＤＮ制御構成要素４１９及び／又は構成要素２２０のコア／アプリケーション）に指示してよい。ＳＤＮは、データがＳＤＮを通過する際に、要求された圧縮をデータに適用するように、（例えば、ＳＤＮ（例えば、ｌ−フローの各端部にあるコア／アプリケーション）のＡＰＩ間の通信により）ＳＤＮの構成要素を制御してよい。そのような圧縮は、実施形態によっては、ｌ−フローのエンドポイントからエンドポイントに適用されてよい。又、実施形態によっては、そのような圧縮は、（例えば、ＳＤＮファブリック内の）ｌ−フローのホップに適用されてよい。当然のことながら、暗号化の機能性は、ｌ−フローに対して使用される暗号化を識別するエンドポイントと、識別された暗号化を適用するように動作する、ＳＤＮの１つ以上の構成要素とで同様に動作してよい。
【００９８】
別の例として、ｌ−フローでの負荷分散が、サービスプロバイダからの指示によって制御されてよい。例えば、交換サービスを提供する退出ｌ−フローが、負荷分散がラウンドロビン方式で行われるべきであることを（例えば、ＳＤＮ制御装置又はＳＤＮの他の構成要素（例えば、構成要素２２０のような装置においてルーティングを制御するコア又はアプリケーション）に対するＳＤＮ  ＡＰＩを使用することにより）識別してよい。ＳＤＮの１つ以上の構成要素が、識別された負荷分散を促進するように制御されてよい。例えば、交換機に接続されたコアが、負荷分散の決まったやり方に従って、そのコアに到達する他のあらゆるパケットを別の送信先にルーティングするように制御されてよい。負荷分散の処理はＳＤＮが行うので、サービスのユーザ、更にはサービス自体が、ネットワークルーティングの実際の調整内容について認識していなくてよい。
【００９９】
別の例として、アナリティクス及び／又はパケットキャプチャが、ｌ−フローレベルで同様に適用及び／又は制御されてよい。エンドポイントは、特定のｌ−フローに所望の分析及び／又はキャプチャが適用されることを識別することが可能である。ＳＤＮは、所望のキャプチャ及び／又は分析をどのように、且つ／又は、どこに適用するかを決定してよい。例えば、サービスをＳＤＮに接続するコアが、パケットのキャプチャ、及び／又はパケットへの分析の適用を行うように動作してよい。別の例として、サービスを使用するエンドポイントのコアが、サービスのユーザのアナリティクパケット及び／又はキャプチャパケットをパケットに適用するように動作してよい。ＳＤＮは、（例えば、パケットがＳＤＮを通過する際に特定の特徴を有するパケットに対してアクションを実施するよう、コア／アプリケーションに指示することにより）どこでどのようにしてそのキャプチャ及び／又は分析を適用するかを決定し、エンドポイントからの要求に応じてそれを適用するようにコアを制御してよい。
【０１００】
この場合も、当然のことながら、これらの例、構造、及び機能性は、非限定的な例としてのみ与えられている。
【０１０１】
以下のセクションは、本出願を解釈することへのガイドを提供する。
Ｉ．用語
【０１０２】
用語「製品」は、明示的に別段の定めがない限り、任意の機械、製造品、および／または組成物を意味する。
【０１０３】
用語「プロセス」は、明示的に別段の定めがない限り、任意のプロセス、アルゴリズム、方法等を意味する。
【０１０４】
各プロセスは（方法、アルゴリズム、または他の方法で呼ばれようが）１つまたは複数のステップを固有に含み、したがってプロセスの「ステップ（ｓｔｅｐまたはｓｔｅｐｓ）」へのあらゆる言及は、用語「プロセス」または同様の用語の単なる記述において固有の先行詞を有する。したがって、プロセスの「ステップ（ｓｔｅｐまたはｓｔｅｐｓ）」への請求項の中でのいかなる言及も十分な先行詞を有する。
【０１０５】
用語「発明」等は、明示的に別段の定めがない限り、「本願の中で開示する１つまたは複数の発明」を意味する。
【０１０６】
用語「一実施形態」、「実施形態（ｅｍｂｏｄｉｍｅｎｔ、ｅｍｂｏｄｉｍｅｎｔｓ）」、「実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔ、ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「１つまたは複数の実施形態」、「一部の実施形態」、「特定の実施形態」、「ある実施形態」、「別の実施形態」等は、明示的に別段の定めがない限り、「発明の（全てではないが）１つまたは複数の実施形態」を意味する。
【０１０７】
発明の「改変形態」という用語は、明示的に別段の定めがない限り本発明の一実施形態を意味する。
【０１０８】
「表示」という用語は、極めて広い意味で使用される。物の「表示」は、当該物を特定するために使用可能な全てのものを含むと理解されたい。
【０１０９】
物の表示は、当該物を特定する（例えば、ウィジェットに付与されたシリアルナンバーによって当該ウィジェットを特定することや、ウィジェットの１つ以上の特徴によって当該ウィジェットを特定すること）ための電子メッセージを含み得る。物の表示は、物の計算や参照（例えば、ウィジェットがその一部である機械を特定する情報であって、当該ウィジェットを特定するために利用可能な情報）に利用可能な情報を含み得る。物の表示は、物に関係する他の物を特定し得る（例えば、物の特徴、物の名前、物に関係する物の名前）。物の表示は、物に関係する他の物を特定しない可能性もある（例えば、英語の冠詞「ａ」をウィジェットを特定するために解釈するように構成されたコンピュータシステムにおいて、冠詞「ａ」がコンピュータシステムの当該ウィジェットを特定するために使用され得る）。物の表示は、物のサイン、現象、及び又は象徴であってもよい。物の表示は、例えば、コード、参照、例示、リンク、信号、及び又は識別子を含み得る。物の表示は、物を示し、記述し、及び又は関連する情報を含み得る。
【０１１０】
物の表示を変換したものが、当該物の表示であってもよい（例えば、暗号化された物の表示は、当該物の表示となり得る）。物の表示は、当該物自体、当該物の複製物、及び又は当該物の一部を含み得る。物の表示は、当該表示を理解するために構成されていない物にとっては意味をなさないものであり得る（例えば、人間は、ウィジェットを表示する冠詞「ａ」を理解しないかもしれないが、その場合においても、コンピュータシステムは冠詞「ａ」から当該ウィジェットを特定することが可能であるため、それは当該ウィジェットの表示になり得る）。物の表示が当該物を特定するために使用され得るという事実は、当該物や他のものが特定されたことを意味するものではないことを理解されたい。物の表示は、特に断りがない限り、如何なる数字の表示をも含み得る。物の表示は、その他の物の表示を含み得る（例えば、多くの物を示す電子メッセージ）（表示は、請求項の語句として極めて広い語句として使用可能である。例えば、「金融商品の表示を受け取る」）。
【０１１１】
「示す」という語句は、（１）語句、シンボル、又はその他のもののように、明示する、特定する、表す、又は表示すること、（２）いくつかの語句、特徴、シンボル、その他のものにより、明示する又は特定すること、（３）絵と同様に、似たものを描写する、又は描く、又は示すこと、若しくは、（４）サイン又はシンボルとして機能すること、を意味する。
【０１１２】
ある実施形態を説明する際の「別の実施形態」への言及は、明示的に別段の定めがない限り、言及した実施形態が別の実施形態（例えば言及した実施形態の前に記載した実施形態）と相互排除的であることを示すものではない。同様に、２つ（又はそれ以上）の実施形態が参照されているという単なる事実は、これらの実施形態が相互に排他的であることを暗示するものではない。
【０１１３】
発明の１つの実施形態は、当該発明の１つ以上の他の実施形態を含み、包含し、あるいは内包し得る。例えば、要素ａ，ｂ，ｃを備える第１実施形態は、要素ａ，ｂ，ｃ、ｄを備える第２実施形態や、要素ａ，ｂ，ｃ、ｅを備える第３実施形態を含み得るものである。同様に、これら第１、第２、第３実施形態の各々は、要素ａ，ｂ，ｃ、ｄ、ｅを備える第４実施形態を含み得る。
【０１１４】
用語「含む」、「備える」、およびその変化形は、明示的に別段の定めがない限り「含むが、必ずしもこれだけに限定されない」ことを意味する。したがって、例えば「この機械は赤いウィジェットと青いウィジェットを含む」という文は、その機械が赤いウィジェットと青いウィジェットを含み得るが、１つ以上の他のアイテムを含んでもよいことを意味する。
【０１１５】
用語「からなる」、およびその変化形は、明示的に別段の定めがない限り「含むこと、及びまたそれに限定される」ことを意味する。したがって、例えば「この機械は赤いウィジェットと青いウィジェットからなる」という文は、その機械が赤いウィジェットと青いウィジェットを含むが、他に何も含まないことを意味する。
【０１１６】
用語「構成する」、およびその変化形は、明示的に別段の定めがない限り「構成部品、コンポーネント、または部材をなす」ことを意味する。したがって、例えば「赤いウィジェットと青いウィジェットが機械を構成する」という文は、その機械が赤いウィジェットと青いウィジェットを含むことを意味する。
【０１１７】
用語「排他的に構成する」、およびその変化形は、明示的に別段の定めがない限り「構成部品を排他的になし、唯一のコンポーネントであり、または唯一の部材である」ことを意味する。したがって、例えば「赤いウィジェットと青いウィジェットが機械を排他的に構成する」という文は、その機械が赤いウィジェットと青いウィジェットからなること（つまり、他に何も含まないこと）を意味する。
【０１１８】
用語「ある（ａ、ａｎ）」および「その（ｔｈｅ）」は、明示的に別段の定めがない限り「１つまたは複数の」を示すものである。従って、例えば、「ウィジェット」との語句は、明示的に別段の定めがない限り、１つ以上のウィジェットを意味する。同様に、「ウィジェット」との語句の後における「前記ウィジェット」との語句は、「１つ以上の前記ウィジェット」を意味する。このため、「前記」との語句は、先行詞を有する特定の語句を示すものであり得る。例えば、「特定の１つの特徴」との語句の後に「前記特徴」の語句がある場合、「前記特徴」との語句は、前述した「特定の１つの特徴」を示すものと理解されたい（「特定の１つの特徴（ａ ｓｐｅｃｉｆｉｃ ｓｉｎｇｌｅ ｆｅａｔｕｒｅｓ）」における冠詞「ａ」は、「１つ」の特定の１つの特徴を意味し、１つ以上の特定の１つの特徴を意味するものではない。
【０１１９】
用語「複数」は、明示的に別段の定めがない限り「２つ以上」を意味する。
【０１２０】
用語「本明細書では」は、明示的に別段の定めがない限り「参照により援用され得るあらゆるものを含む本願では」を意味する。
【０１２１】
複数のもの（列挙されたものの一覧など）を修飾する場合、語句「のうちの少なくとも１つ」は、明示的に別段の定めがない限り、それらのものの１つまたは複数の任意の組合せを意味する。例えば語句「ウィジェット、車、および車輪のうちの少なくとも１つ」は、（ｉ）ウィジェット、（ｉｉ）車、（ｉｉｉ）車輪、（ｉｖ）ウィジェットと車、（ｖ）ウィジェットと車輪、（ｖｉ）車と車輪、または（ｖｉｉ）ウィジェット、車、および車輪のいずれかを意味する。複数のものを修飾する場合、語句「のうちの少なくとも１つ」は、複数のもの「のそれぞれのうちの１つ」という意味ではない。例えば、「少なくとも１つのウィジェット、車、及び車輪」との語句は、「１つのウィジェット、１つの車、及び１つの車輪」を意味するものではない。
【０１２２】
何かの数量を示すための基数として用いる場合（例えば１つのウィジェット、２つのウィジェット）、「１つ」、「２つ」等の数的用語は、その数的用語が示す数量を意味し、その数的用語が示す数量以上を意味するものではない。例えば、語句「１つのウィジェット」は「少なくとも１つのウィジェット」という意味ではなく、したがって語句「１つのウィジェット」は例えば２つのウィジェットを範囲に含まない。
【０１２３】
語句「基づく」は、明示的に別段の定めがない限り「だけに基づく」という意味ではない。つまり、語句「基づく」は、「だけに基づく」および「少なくとも基づく」の両方を含む。語句「少なくとも基づく」は、語句「少なくとも部分的に基づく」と等価である。例えば、語句「要素Ａ」が要素Ｂ及び要素Ｃに基づいて算定されることは、要素ＡがＢのＣ倍（つまり、Ａ＝Ｂ×Ｃ）の製品として算定される実施形態、要素ＡがＢとＣの合計（つまり、Ａ＝Ｂ＋Ｃ）により算定される実施形態、要素ＡがＢのＣ倍のＤ倍により算定される実施形態、要素ＡがＢの平方根とＣとＤの合計により算定される実施形態等を含む。
【０１２４】
用語「相当する」および同様の用語は、明示的に別段の定めがない限り排他的でない。例えば用語「相当する」は、明示的に別段の定めがない限り「だけに相当する」という意味ではない。例えば、語句「このデータはクレジットカード番号に相当する」は、「このデータはクレジットカード番号だけに相当する」および「このデータはクレジットカード番号に相当し、何か他のものにも相当する」の両方を含む。
【０１２５】
本明細書では用語「それにより」は、当該用語「それにより」の前に明確に説明した何らかの事項の意図した結果、目的、または成行きだけを表す節または１組の他の語の前に置くために専ら用いる。したがって、用語「それにより」を請求項の中で用いる場合、用語「それにより」が修飾する節または他の語は、その請求項の特定のさらなる限定は設けず、または他の方法でその請求項の意味もしくは範囲を制限しない。
【０１２６】
用語「例えば（ｅ．ｇ．）」、「等（ｓｕｃｈ  ａｓ）」および同様の用語は、「例えば（ｆｏｒ  ｅｘａｍｐｌｅ）」を意味し、よってそれらが説明する用語または語句を限定することはない。例えば、「コンピュータは、インターネットを介してデータ（例えば命令、データ構造）を送る」という文の中で、「例えば」という用語は、「命令」が、コンピュータがインターネットを介して送ることができる「データ」の一例であることを説明し、「データ構造」が、コンピュータがインターネットを介して送ることができる「データ」の一例であることも説明する。ただし、「命令」も「データ構造」も単に「データ」の例に過ぎず、「命令」および「データ構造」以外の他のものも「データ」であり得る。
【０１２７】
用語「それぞれの」および同様の用語は、「個々に見る」ことを意味する。したがって、２つ以上のものが「それぞれの」特性を有する場合、それぞれのかかるものが独自の特性を有し、それらの特性は互いに異なることができるが同じでもよい。例えば、「２つのマシンの各々が、それぞれの機能を有する」という語句は、当該２つのマシンのうちの第１のマシンがある機能を有し、当該２つのマシンのうちの第２のマシンも同様にある機能を有することを意味する。第１のマシンの機能は、第２のマシンの機能と同じでも同じでなくてもよい。
【０１２８】
用語「すなわち」および同様の用語は「つまり」を意味し、よってそれが説明する用語または語句を限定する。例えば、「コンピュータは、インターネットを介してデータ（すなわち命令）を送る」という文の中で、「すなわち」という用語は、コンピュータがインターネットを介して送る「データ」が「命令」であることを説明する。
【０１２９】
数値範囲は、明示的に別段の定めがない限り、その範囲内の数の整数および非整数を含むものとする。例えば「１から１０」までの範囲は、１から１０の間の整数（例えば１、２、３、４、．．．９、１０）、および非整数（例えば、１．００３１４１５９２６、１．１、１．２、．．．１．９）を明確に含むように解釈すべきである。
【０１３０】
２つ以上の用語または語句が（例えばそれらの用語または語句が同義であるという明確な記述により）同義の場合、そのようなある用語又は語句の例は、別のそのような用語又は語句の例が異なる意味を有さなければならないことを意味するものではない。例えば、ある記述が「含む」の意味を「含むがこれだけに限定されない」と同義にする場合、単に「含むがこれだけに限定されない」という語句を用いることは、「含む」という用語が「含むがこれだけに限定されない」以外の何かを意味するわけではない。
【０１３１】
ＩＩ．決定
用語「決定する」およびその文法上の変化形（例えば価格を決定する、値を決定する、一定の基準を満たすオブジェクトを決定する）は、極めて広い意味で用いる。用語「決定する」は多岐にわたる行動を包含し、したがって「決定する」は、計算、演算、処理、導出、調査、探索（例えば表、データベース、または他のデータ構造の探索）、電子フォーマットやデジタル表示での表現、確認等を含むことができる。また、「決定する」は、受け取ること（例えば情報を受け取ること）、アクセス（例えばメモリ内のデータにアクセスすること）等を含むことができる。また、「決定する」は、解決、選択、選定、確立等を含むことができる。
【０１３２】
用語「決定する」は確実性または絶対的な精度を含意せず、したがって「決定する」は推定、推論、予測、推測、平均化等を含むことができる。
【０１３３】
用語「決定する」は、数学的処理を実行しなければならないことを意味せず、数値的方法を使用しなければならないことを意味せず、アルゴリズムが用いられることも意味しない。
【０１３４】
用語「決定する」は、ある特定のウィジェットを使用しなければならないことを意味しない。例えば、コンピュータが必ずしも決定を行う必要はない。
【０１３５】
用語「決定する」は、「算定する」を含み得る。用語「算定する」は、１以上の計算を実行することを含むと理解されたい。計算は、コンピュータ処理、演算処理、及び又は推論を含み得る。計算は、コンピュータ装置によって実行され得る。例えば、何かを計算することは、コンピュータプロセッサによってアルゴリズムをデータに適用することや、当該プロセッサの出力として何かを生成することを含み得る。
【０１３６】
用語「決定する」は、「参照する」を含み得る。用語「参照する」は、例えば何かに対する、１つ以上の参照、を行うことを含み得ると理解されたい。参照は、問い合わせ、アクセス、選択、選ぶこと、読み取ること、及び又は、探索することを含み得る。参照する行為は、コンピュータ装置によって実行され得る。例えば、何かを参照することは、当該何かが記録されたメモリ一をプロセッサによって読み取ることを含み得る。
【０１３７】
用語「決定する」は、「受け取る」ことを含み得る。例えば、何かを受け取ることは、何かを取り入れることを含み得る。いくつかの実施形態において、受け取ることは、何かを取り入れるために実行される行為、例えば、何かを取り入れるネットワークインターフェースを操作すること、を含み得るいくつかの実施形態において、受け取ることは、何かを取り入れるために実行される行為、例えば、直接的メモリ書き込みや配線回路に取り入れるために実行される行為、を行うことなく実行可能である。何かを受け取ることは、何かを計算可能な遠隔リソースから何かを受け取ることを含み得る。
【０１３８】
ＩＩＩ．文の形式
第１の請求項の限定が、特徴の１つならびに特徴の複数を範囲に含み（例えば「少なくとも１つのウィジェット」などの限定は、１つのウィジェットだけでなく複数のウィジェットを範囲に含む）、第１の請求項に従属する第２の請求項において、第２の請求項がその限定を指すために定冠詞「ｔｈｅ」を用いる場合（例えば「ｔｈｅ  ｗｉｄｇｅｔ」）、この単なる使用は第１の請求項が特徴の１つだけを範囲に含むことを意味せず、第２の請求項が特徴の１つだけを範囲に含むことも意味しない（例えば「ｔｈｅ  ｗｉｄｇｅｔ」は、１つのウィジェットおよび複数のウィジェットの両方を範囲に含むことができる）。
【０１３９】
序数（「第１の」、「第２の」、「第３の」等）を用語の前の形容詞として用いる場合、その序数は（明示的に別段の定めがない限り）、特定の特徴を同じ用語または同様の用語によって記載される別の特徴と区別するためなど、単に特定の特徴を示すために用いるが、序数はそれ以外の意味や限定効果を持つものではなく、単に便宜的な名前に過ぎない。例えば「第１のウィジェット」は、例えば「第２のウィジェット」と単に区別するためにそのように名付けることができる。したがって、「ウィジェット」という用語の前に序数「第１の」および「第２の」を単に用いることは、２つのウィジェット間の他の任意の関係を示すものではなく、同じく、一方または両方のウィジェットの他の任意の特性を示すものでもない。例えば「ウィジェット」という用語の前に序数「第１の」および「第２の」を単に用いることは、（１）順序または位置に関し、いずれかのウィジェットがその他のウィジェットの前にまたは後に来ることを意味せず、（２）時間に関し、いずれかのウィジェットがその他のウィジェットの前にまたは後に発生しもしくは動作することを意味せず、（３）重要度または品質に関し、いずれかのウィジェットがその他のウィジェットの上にまたは下にランクすることを意味しない。序数を単に用いることは、序数が識別する特徴について数的な限定を定めるものではない。例えば「ウィジェット」という用語の前に序数「第１の」および「第２の」を単に用いることは、正確に２つのウィジェットがあることを意味しない。
【０１４０】
本明細書に単一の装置、物、または他の製品を記載する場合、他の実施形態においては、記載された単一の装置又は物の代わりに、（一緒に動作しようがしまいが）２つ以上の装置又は物を代替的に用いることができる。したがって、ある装置が保持するものとして記載する機能は、他の実施形態においては（一緒に動作しようがしまいが）２つ以上の装置又は物が代替的に保持することができる。
【０１４１】
同様に、本明細書に（一緒に動作しようがしまいが）２つ以上の装置、物、または他の製品を記載する場合、他の実施形態においては、記載されている２つ以上の装置または物の代わりに、単一の装置又は物を代替的に用いることができる。例えば、複数のコンピュータベース装置を単一のコンピュータベース装置で置換することができる。他の実施形態においては、そのような複数のコンピュータベース装置を、グリッドコンピューティングシステムにおいて行われているように、１つのプロセスの１つのステップを共同で実行するようにしてもよい。他の実施形態においては、そのような複数のコンピュータベース装置を、クラウドコンピューティングシステムにおいて行われているように、１つのプロセスの１つのステップを複数で実行するように、付加的な機能を提供するようにしてもよい。（逆に、単一のコンピュータベース装置は、他と協働する複数のコンピュータベース装置に置換可能である。例えば、単一のコンピュータ装置は、インターネットを介して他と協働するサーバー及びワークステーションに置換可能である）。したがって、２つ以上の装置または物が保持するものとして記載する様々な機能は、単一の装置又は物が代替的に保持することができる。
【０１４２】
記載する単一の装置の機能および／または特徴は、他の実施形態において、記載しているがかかる機能／特徴を有するものとしては明示的に記載していない、１つまたは複数の他の装置によって代わりに実施することができる。したがって、他の実施形態は記載した装置自体を含む必要はなく、代わりに、かかる機能又は特徴をそれらの他の実施形態で有する１つまたは複数の他の装置を含むことができる。
【０１４３】
ＩＶ．開示した例および用語は非限定的である
タイトル（本願の最べきでなく、どの請求項の意味を解釈する際にも用いるべきでなく、どの請求項の範囲を初の頁の冒頭に記載）も要約（本願の末尾に記載）も、開示した発明の範囲として決して限定的に解釈す限定する際にも用いるべきでない。要約は、単に３７Ｃ．Ｆ．Ｒ．§１．７２（ｂ）の下で求められているので本願に含めている。
【０１４４】
本願の中で示す本願のタイトルおよび節の見出しは専ら便宜上のものであり、決して本開示を限定するものとして解釈すべきでない。
【０１４５】
本願の中で数多くの実施形態を記載し、専ら例示目的で示した。記載した実施形態は、いかなる意味においても限定的でなく、限定的であることも意図しない。本開示から容易に明らかなように、ここに開示した発明は数多くの実施形態に広く適用可能である。開示した発明は、構造上の修正、論理的な修正、ソフトウェアの修正、電気的な修正など、様々な修正および改変を加えて実施できることを当業者なら理解されよう。開示した発明の特定の特徴を１つまたは複数の特定の実施形態および／または図面に関して説明し得るが、明示的に別段の定めがない限り、かかる特徴は、かかる特徴をそれに関して記載した１つまたは複数の特定の実施形態または図面での使用に限定されないことを理解すべきである。
【０１４６】
いくつかの特徴を含むものとして実施形態を開示する場合もあるが、本発明の他の実施形態は全てのかかる特徴よりも少ない特徴を含んでもよい。したがって、例えばある請求項は、開示した実施形態の中の１組の全ての特徴未満を対象とすることができ、かかる請求項は、その請求項が明示的に記述する特徴を超える特徴を要求するものと解釈されない。
【０１４７】
本願に記載した方法ステップまたは製品要素のどの実施形態も、本明細書の中で明示的にそうであると述べられている場合、または（請求項及びその請求項によって定義されている発明に関して）請求項の中で明示的に記述されている場合を除き、本明細書で特許請求する発明を構成せず、または本明細書で特許請求する発明に必須ではなく、本明細書で特許請求する発明と同じ対象を指すわけではない。
【０１４８】
法定上の分類を除く他の事項に言及している特許請求の範囲の如何なる前文も、特許請求する発明の目的、利益、および可能な用途を記述しているものと解釈すべきであり、そのような前文が特許請求する発明を限定するものと解釈すべきではない。
【０１４９】
本開示は、本発明の全ての実施形態の逐語的な説明ではない。また、本開示は、全ての実施形態になければならない本発明の特徴を列挙したものでもない。
【０１５０】
開示した全ての実施形態が（たとえ全ての未決クレーム、補正クレーム、発行クレーム、およびキャンセルクレームを含めても）必ずしも特許請求の範囲によって保護されるとは限らない。さらに、ある実施形態がいくつかの請求項によって保護される場合がある（しかし必ずしもそうである必要はない）。したがって、（未決、補正、発行、またはキャンセルに関係なく）請求項が特定の実施形態を対象とする場合、それは他の請求項の範囲が同様にその実施形態を保護しないという証拠にはならない。
【０１５１】
互いに通信すると記載した装置は、明示的に別段の定めがない限り、互いに継続的に通信する必要はない。それどころか、かかる装置は必要に応じてまたは所望のときに互いに伝送すれば十分であり、実際にはデータ交換をほとんどの時間控えることができる。例えばインターネットを介して他のマシンと通信するマシンは、長い期間にわたり（例えば一度に数週間）他のマシンにデータを伝送しなくてもよい。さらに、互いに通信する装置は、１つまたは複数の媒介物を介して直接、または間接的に通信することができる。複数の装置は、それらが少なくとも一方向の通信可能である場合には、相互に通信する。例えば、第１の装置が第２の装置に情報を送信可能である場合には、第１の装置は第２の装置と通信する。同様に、第２の装置が第１の装置から情報を受信可能である場合には、第２の装置は第１の装置と通信する。
【０１５２】
いくつかのコンポーネントまたは特徴を有する実施形態についての記載は、かかるコンポーネント又は特徴の全てあるいはいずれかが必要であることを意味するものではない。それどころか、本発明の多岐にわたる可能な実施形態を例示するために、様々なオプションのコンポーネントを記載する。明示的に別段の定めがない限り、どのコンポーネント又は特徴も必須または必要ではない。
【０１５３】
プロセスステップ、アルゴリズム等を特定の順序で説明し、または特許請求の範囲に記載し得るが、かかるプロセスは異なる順序で機能するように構成することができる。つまり、明示的に説明しまたは特許請求の範囲に記載することができるステップのいずれの順番または順序も、ステップをその順序で行う要件を必ずしも示すわけではない。本明細書に記載したプロセスのステップは、可能な任意の順序で実行することができる。さらに、一部のステップは、（例えばあるステップを他のステップの後に記載するという理由で）非同時に生じるものとして記載しまたは暗示していても、同時に実行することができる。さらに、図面の描写によるプロセスの例示は、図示のプロセスがそのプロセスに対する他の改変および修正を除外することを意味せず、図示のプロセスまたはそのステップのいずれかが本発明に必要であることを意味せず、図示のプロセスが好ましいことも意味しない。
【０１５４】
複数のステップを含むものとしてプロセスを記載する場合もあるが、そのことはそれらのステップの全てまたはいずれかが好ましい、必須である、または必要であることを意味しない。記載した本発明の範囲内の他の様々な実施形態が、記載したステップの一部または全てを省いた他のプロセスを含む。明示的に別段の定めがない限り、どのステップも必須または必要ではない。
【０１５５】
プロセスを単独でまたは他の製品もしくは方法を参照することなしに記載する場合もあるが、一実施形態では、プロセスが他の製品または方法と相互作用することができる。例えばかかる相互作用には、あるビジネスモデルを別のビジネスモデルに結び付けることが含まれ得る。かかる相互作用は、プロセスの柔軟性または望ましさを高めるために提供することができる。
【０１５６】
製品は複数のコンポーネント、側面、品質、特性、および／または特徴を含むものとして記載する場合があるが、このことは、これら複数のうちのいずれかまたは全てが好ましい、必須である、もしくは必要であることを示すものではない。記載した本発明の範囲内にある他の様々な実施形態は、記載した複数の一部または全てを省いた他の製品を含む。
【０１５７】
明示的に別段の定めがない限り、列挙される（番号付けされていてもいなくてもよい）項目の一覧は、それらの項目のいずれかまたは全てが相互排除的であることを意味するものではない。同様に、明示的に別段の定めがない限り、列挙される（番号付けされていてもいなくてもよい）項目の一覧は、それらの項目のいずれかまたは全てが任意のカテゴリを網羅することを意味するものではない。例えば列挙する一覧、「コンピュータ、ラップトップ、及びＰＤＡ」は、その一覧の３つの項目のいずれかまたは全てが相互排除的であることを意味せず、その一覧の３つの項目のいずれかまたは全てが任意のカテゴリを網羅することも意味しない。
【０１５８】
列挙される（番号付けされていてもいなくてもよい）項目の一覧は、それらの項目のいずれかまたは全てが互いに等価であること、または互いに容易に置換されることを意味するものではない。
【０１５９】
全ての実施形態は例示的であり、本発明または任意の実施形態が場合に応じて作成され、もしくは実行されたことを意味するものではない。
【０１６０】
Ｖ．コンピューティング
本明細書に記載した様々なプロセスを、例えば適切にプログラムされた汎用コンピュータ、専用コンピュータ、およびコンピューティング装置によって実施できることが当業者には容易に明らかである。典型的には、プロセッサ（例えば１つまたは複数のマイクロプロセッサ、１つまたは複数のマイクロコントローラ、１つまたは複数のデジタル信号プロセッサ）が（例えばメモリなどの装置から）命令を受け取り、それらの命令を実行し、それによりそれらの命令が定める１つまたは複数のプロセスを実行する。命令は、例えば、１つ以上のコンピュータプログラムや、１つ以上のスクリプトとして、具現化され得る。
【０１６１】
用語「コンピュータ」は、ソフトウェアアルゴリズムに応じてプロセッサを使用することを決定する手段である。
【０１６２】
「プロセッサ」は、そのアーキテクチャ（例えばチップレベルマルチプロセッシング又はマルチコア、ＲＩＳＣ、ＣＩＳＣ、パイプラインステージがインターロックされないマイクロプロセッサ、パイプライン構成、同時マルチスレッディング、組み込みグラフィックプロセッシングユニットを伴うマイクロプロセッサ、ＧＰＧＰＵ）に関係なく、１つまたは複数のマイクロプロセッサ、中央処理装置（ＣＰＵ）、コンピューティング装置、マイクロコントローラ、デジタル信号プロセッサ、グラフィックプロセッシングユニット（ＧＰＵｓ）もしくはそのような装置、またはその任意の組合せを意味する。
【０１６３】
「コンピュータ装置」は、そのアーキテクチャ（例えばチップレベルマルチプロセッシング又はマルチコア、ＲＩＳＣ、ＣＩＳＣ、パイプラインステージがインターロックされないマイクロプロセッサ、パイプライン構成、同時マルチスレッディング）に関係なく、１つ以上のマイクロプロセッサ、中央演算ユニット（ＣＰＵｓ）、コンピュータ装置、マイクロコントローラ、デジタル信号プロセッサ、グラフィックカード、モバイルゲーム装置、もしくはそのような装置、またはその任意の組合せを意味する。
【０１６４】
したがってプロセスについての記述は、同様に、そのプロセスを実行するための装置についての記述である。プロセスを実行する装置には、例えばプロセッサや、プロセスを実行するのに適した入力装置および出力装置が含まれ得る。例えば、プロセッサと、プロセスについての記述は、プロセッサによって実行された際に方法を実行するように当該プロセッサに指示する命令を含むプログラムを記憶するメモリーとを備える装置を記述する。
【０１６５】
プロセスを実行する装置は、当該プロセスを協働して実行する複数のコンピュータ装置を含み得る。このようなコンピュータ装置のいくつかは、プロセスの各ステップを実行するために協働し、プロセスのステップにおいて個別に動作し、プロセスの実行を促進し得る他のコンピュータ装置の基礎になるサービスを提供し得る。このようなコンピュータ装置は、集約された権限の命令下で動作し得る。他の実施形態において、このようなコンピュータ装置は、集約された権限の命令なしに動作し得る。このような方法のいくつかあるいは全てにおいて動作し得る装置のいくつかの例は、グリッドコンピューティングシステム、クラウドコンピューターシステム、ピアトゥーピアコンピュータシステム、ソフトウェアをサービスとして提供可能なコンピューターシステム等を含み得る。例えば、装置は、多くの処理負荷を遠隔サーバ上で実行するが表示情報を出力し、及びＶＭウェアソフトウェアを実行するコンピュータシステムのような、ローカルユーザーコンピュータからのユーザ入力情報を受け取る、コンピュータシステムを含み得る。
【０１６６】
さらに、かかる方法を実施するプログラム（ならびに他の種類のデータ）は、多岐にわたる媒体（例えばコンピュータ可読媒体）を用いていくつもの方法で記憶し伝送することができる。一部の実施形態では、様々な実施形態のプロセスを実施可能なソフトウェア命令の一部または全ての代わりに、またはそれと組み合わせて、ハードワイヤード回路またはカスタムハードウェアを用いることができる。したがって、ソフトウェアだけではなく、ハードウェアとソフトウェアの様々な組合せを用いることができる。
【０１６７】
用語「コンピュータ可読媒体」は、コンピュータ、プロセッサ、または同様の装置が読み取ることができるデータ（例えば命令、データ構造）を提供することに関与する任意の非一過性の媒体、複数の媒体、または様々な媒体の組合せを指す。かかる媒体は、これだけに限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体が含まれる多くの形態を取ることができる。不揮発性媒体には、例えば光学ディスクまたは磁気ディスク、および他の永続メモリが含まれる。揮発性媒体には、典型的にはメインメモリを構成するダイナミックランダムアクセスメモリ（ＤＲＡＭ）が含まれる。伝送媒体には、プロセッサに結合されるシステムバスを構成する線を含め、同軸ケーブル、銅線、および光ファイバが含まれる。伝送媒体は、音波、光波、ならびに無線周波（ＲＦ）および赤外（ＩＲ）データ通信中に生じるものなど、電磁放射を含みまたは伝えることができる。コンピュータ可読媒体の一般的な形態には、例えばフロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、他の任意の光学媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＥＰＲＯＭ、他の任意のメモリチップまたはカートリッジ、以下に記載する搬送波、またはコンピュータが読取り可能な他の任意の媒体が含まれる。
【０１６８】
用語「有形のコンピュータ可読媒体」は、光又は磁気ディスクのようなハードウェア要素を含む「コンピュータ可読媒体」を示す。
【０１６９】
データ（例えば一連の命令）をプロセッサに運ぶ際、様々な形態のコンピュータ可読媒体を用いることができる。例えばデータは、（ｉ）ＲＡＭからプロセッサに送ることができ、（ｉｉ）無線伝送媒体を介して運ぶことができ、（ｉｉｉ）イーサネット（登録商標）（またはＩＥＥＥ８０２．３）、ＷｉＦｉアライアンスによって承認されているか否かを問わずＩＥＥＥ８０２．１１規格により規定された無線ローカルエリアネットワーク通信、ＳＡＰ、ＡＴＰ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＴＣＰ／ＩＰ、ＴＤＭＡ、ＣＤＭＡ、３Ｇなど、数多くの形式、規格、またはプロトコルに従ってフォーマットしかつ／または伝送することができ、かつ／または（ｉｖ）当技術分野でよく知られている様々な方法のいずれかで暗号化し、プライバシを保護しまたは不正を防止することができる。
【０１７０】
用語「データベース」は、読み取り可能なフォーマットで記録されたデータの電子的な記録の集合を示す。
【０１７１】
用語「データ構造」は、コンピュータのようなハードウェア機械のデータベースを示す。
【０１７２】
用語「ネットワーク」は、通信経路によって内部接続されたポイント又はノードのシリーズを示す。例えば、ネットワークは、１つ以上の有線及び又は無線の通信経路によって内部接続された複数のコンピュータ又は通信装置を含み得る。ネットワークは、他のネットワークと内部接続し得るものであり、サブネットワークを含み得る。
【０１７３】
用語「所定」とは、以前、すなわち現時点又は現アクションより前、に決定されたことを示す。例えば、「所定の値を表示する」との表現は、表示アクションより前に決定された値を表示することを意味する。
【０１７４】
用語「条件」は、（１）依存する合意が満たされることの前提、又は（２）他の何かが出現又は発生するために必須の何かを示す。
【０１７５】
用語「変換」は、（１）物、サービス、又はファンドの交換や移動、若しくは（２）相互に反復的に影響を及ぼす２つの当事者又は物を含む伝達行為又は行動を意味する。
【０１７６】
したがってプロセスについての記述は、同様に、そのプロセスを実行するためのプログラムを記憶するコンピュータ可読媒体についての記述である。コンピュータ可読媒体は、本方法を実行するのに適したそれらのプログラム要素を（任意の適切な形式で）記憶することができる。例えば、プロセスの記述は、プロセッサによって実行された際に方法を実行するように当該プロセッサに指示する命令を含むプログラムを記憶するコンピュータ読み取り可能なメモリーの記述である。
【０１７７】
プロセス内の様々なステップについての記述が、記載されている全てのステップが必要であることを示さないのと同様に、装置の実施形態は、記載したプロセスの（必ずしも全てではないが）一部を実行するように動作可能なコンピュータ又はコンピューティング装置を含む。
【０１７８】
同じく、プロセス内の様々なステップについての記述が、記載されている全てのステップが必要であることを示さないのと同様に、プログラムまたはデータ構造を記憶するコンピュータ可読媒体の実施形態は、実行時に、記載したプロセスの（必ずしも全てではないが）一部をプロセッサに実行させることができるプログラムを記憶するコンピュータ可読媒体を含む。
【０１７９】
データベースについて記載する場合、（ｉ）記載したデータベースに対する代替的データベース構造を容易に用いることができ、（ｉｉ）データベース以外の他のメモリ構造を容易に用いることができることを当業者なら理解されよう。本明細書に示す任意のサンプルデータベースについてのいずれの例示または説明も、記憶されている情報表現に関する例示的構成である。例えば図面に示す表や他の箇所で提案するもの以外に、任意の数の他の構成を用いることができる。同様に、例示する任意のデータベースのエントリは例示的な情報を表すに過ぎず、当業者はエントリの数および内容が本明細書に記載の数および内容と異なってもよいことを理解されよう。さらに、表としてのデータベースの任意の記述をよそに、本明細書に記載のデータの種類を記憶し操作するために、（リレーショナルデータベース、オブジェクトベースモデル、および／または分散データベースが含まれる）他の形式を用いることができる。同様に、本明細書に記載など、様々なプロセスを実施するために、オブジェクトメソッドまたはデータベースの動作を用いることができる。さらにデータベースは、局所的にまたはかかるデータベース内のデータにアクセスする装置から離して、知られている方法で保管することができる。
【０１８０】
様々な実施形態は、１つまたは複数の装置と（例えば通信ネットワークを介して）通信するコンピュータを含む、ネットワーク環境内で機能するように構成することができる。コンピュータはそれらの装置と直接、または任意の有線媒体もしくは無線媒体（例えばインターネット、ＬＡＮ、ＷＡＮまたはイーサネット、トークンリング、電話回線、ケーブル回線、無線チャネル、光通信回線、商用オンラインサービスプロバイダ、掲示板システム、衛星通信回線、上記のものの任意の組合せ）を介して間接的に通信することができる。装置のそれぞれは、それ自体がコンピュータ、またはコンピュータと通信するようになされるＩｎｔｅｌ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）、もしくはＣｅｎｔｒｉｎｏ（商標）、Ａｔｏｍ（商標）、又はＣｏｒｅ（商標）プロセッサに基づくものなど、他のコンピューティング装置を含むことができる。任意の数および種類の装置がコンピュータと通信することができる。
【０１８１】
一実施形態では、サーバコンピュータまたは集中的権限が必要でなく、または望ましくない場合がある。例えば本発明は、一実施形態では、集中的権限なしに１つまたは複数の装置上で実施することができる。そのような実施形態では、サーバコンピュータによって実行されるものとして本明細書に記載するいずれの機能も、サーバコンピュータ上に記憶されるものとして記載するいずれのデータも、代わりに１つまたは複数のかかる装置によって実行し、またはかかる装置上に記憶することができる。
【０１８２】
プロセスについて記述する場合、一実施形態では、プロセスが利用者による一切の介入なしに機能することができる。別の実施形態では、プロセスが何らかの人間による介入を含む（例えばあるステップが人間によって実行され、または人間の助けを借りて実行される）。
【０１８３】
ここにおいて、用語「暗号化」は、情報が特別な知識なしには直ちに理解できないように、情報を不明瞭化又は隠蔽するプロセスを示す。暗号化のプロセスは、平文と称される生情報を、暗号化情報に変換することを含み得る。暗号化情報は、暗号文と呼ばれ得るものであり、平文を暗号文に変換するアルゴリズムは、暗号化と呼ばれ得る。暗号化は、暗号文を平文に戻す動作を実行するために使用され得る。暗号化の例としては、代用暗号、転位暗号、ローター機械を用いて実行される暗号化がある。
【０１８４】
多様な暗号方法において、暗号化は、鍵と呼ばれる、情報補助部分を要求することがある。鍵は、例えば、ビット列によって構成され得る。鍵は、平文を暗号するための暗号化に使用され得る。鍵は、暗号文を復号するための暗号化に使用され得る。対称鍵アルゴリズム（つまり、秘密鍵暗号）と呼ばれる暗号化のカテゴリーにおいては、暗号と復号に同じ鍵が用いられる。このため、暗号化された情報の強度は、鍵を秘密にしておくことに依存している。対称鍵暗号の例としては、ＤＥＳやＡＥＳがある。非対称鍵アルゴリズム（つまり、公開鍵暗号）と呼ばれる暗号化のカテゴリーにおいては、暗号と復号に異なる鍵が用いられる。非対称鍵アルゴリズムにおいては、公衆の如何なるメンバーも、平文を暗号文に暗号化するために第１鍵（つまり、公開鍵）を使用可能である。しかし、第２鍵（つまり、秘密鍵）の保有者のみが、暗号文を平文に復号することが可能である。非対称鍵暗号の例としては、ＲＳＡがある。
【０１８５】
ＶＩ．継続出願
本開示は、いくつかの実施形態および／または発明の権限付与的記述を当業者に提供する。これらの実施形態および／または発明の一部は本願では特許請求しない場合があるが、本願の優先権の利益を主張する１つまたは複数の継続出願において特許請求することができる。
【０１８６】
出願人は、開示され使用可能にされているが、本願では特許請求しない内容の特許を追及するために、さらに出願を申請する予定である。
【０１８７】
ＶＩＩ．権利放棄
特定の実施形態への数多くの言及は、追加の、異なる実施形態の権利放棄または否定を意味するものではなく、同様に、特定の特徴を全て含む実施形態の説明への言及は、その特定の特徴を含まない実施形態の権利放棄または否定を意味するものではない。本願における明確な権利放棄または否定は、「含まない」または「実行することができない」という語句によって前置きするものとする。
【０１８８】
ＶＩＩＩ．審査経過
本願（特許請求の範囲を含む）を解釈する際、当業者は、本願に関係するとみなされる他の特許出願があるかどうかにかかわらず、および本願と優先権の主張を共有する他の特許出願があるかどうかにかかわらず、他の任意の特許または特許出願ではなく、本願の審査経過を参照する。
【０１８９】
〔付記１〕
第１のネットワークのローカルのアドレスとポートのペアを第２のネットワーク上の送信先にマッピングすることと、第３のネットワークのローカルのアドレスとポートのペアを前記第２のネットワーク上の前記送信先にマッピングすることと、を行うように構成された第１のルーティング装置であって、第１のプロセッサの第１のコアが、前記第１のネットワークへのルーティングを実施するように構成され、前記第１のプロセッサの第２のコアが、前記第２のネットワークへのルーティングを実施するように構成されるように、前記第１のルーティング装置が構成されている、前記第１のルーティング装置
を備える装置であって、
前記第１のネットワークの前記ローカルのアドレスとポートのペアを前記送信先にマッピングすることを促進する為に、前記ルーティング装置は、前記送信先に対して第１のソケットを開き、第２の送信先に対して第２のソケットを開き、前記第１のソケットが働かなくなったという判定に対する応答として、ルーティングを前記第２のソケットにフェールオーバするように構成されており、
前記ルーティング装置の第３のコアが、前記第１のコアと共有されているメモリ空間の一部分にアクセスするように構成されたプロセスを実行し、前記メモリ空間の前記一部分から、パケットヘッダ及びパケット全体のうちの少なくとも一方をコピーし、前記パケットヘッダ及び前記パケット全体のうちの前記少なくとも一方を、前記第１のルーティング装置と結合されたアナリティクスエンジンに送信することを促進するように構成されている、
装置。
〔付記２〕
前記第１のルーティング装置は、前記ローカルのアドレスとポートのペアに送信されるトラフィックが、前記第１のソケットを使用する前記送信先と、前記第２のソケットを使用する前記第２の送信先との間で分割されるように、前記トラフィックを負荷分散するように構成されている、付記１に記載の装置。
〔付記３〕
前記負荷分散は、ラウンドロビン方式及び最小接続方式のうちの少なくとも一方で行われる、付記２に記載の装置。
〔付記４〕
前記ルーティング装置は複数のマルチコアプロセッサを含む、付記１に記載の装置。
〔付記５〕
前記ルーティング装置は、ギガビット速度でデータをルーティングするように構成されている、付記１に記載の装置。
〔付記６〕
アドレスとポートのペアを前記第１のネットワークにマッピングすることと、第２のアドレスとポートのペアを前記第２のネットワークにマッピングすることと、を行うように構成された第２のルーティング装置であって、第２のプロセッサの第１のコアが、前記送信先から前記第１のネットワークへのルーティングを実施するように構成され、前記第２のプロセッサの第２のコアが、前記送信先から前記第２のネットワークへのルーティングを実施するように構成されるように、前記第２のルーティング装置が構成されている、前記第２のルーティング装置
を備える、付記１に記載の装置。
〔付記７〕
前記第１のルーティング装置は、前記送信先へルーティングされるデータブロックを辞書方式に従って圧縮するように構成されており、前記第２のルーティング装置は、前記送信先への送信の為に、前記辞書方式に従って前記データブロックを圧縮解除するように構成されている、付記６に記載の装置。
〔付記８〕
前記第１のルーティング装置を通して前記第１のネットワーク及び前記第２のネットワークからのマッピングを行うことにより、前記第１のネットワーク及び前記第２のネットワークからソフトウェア定義ネットワークへのサービスが有効化される、付記６に記載の装置。
〔付記９〕
前記第２のルーティング装置は、前記第１のネットワーク及び前記第２のネットワークからソフトウェア定義ネットワークに提供されるサービスを前記送信先がサブスクライブすることを可能にする、付記６に記載の装置。
〔付記１０〕
前記第１のルーティング装置及び前記第２のルーティング装置は、複数のデータセンタにまたがるソフトウェア定義ネットワークを定義する、付記６に記載の装置。
〔付記１１〕
前記送信先は、取引を行うカスタマを含み、前記第１のネットワークは、電子交換機が存在するネットワークを含む、付記６に記載の装置。
【図１Ａ】
2020018001.tif 000004
【図１Ｂ】
2020018001.tif 000005
【図２】
2020018001.tif 000006
【図３】
2020018001.tif 000007
【図４】
2020018001.tif 000008
【図５】
2020018001.tif 000009
【図６】
2020018001.tif 000010
【図７】
2020018001.tif 000011
【図８】
2020018001.tif 000012
【図９】
2020018001.tif 000013
【図１０】
2020018001.tif 000014
【図１１】
2020018001.tif 000015
【図１２】
2020018001.tif 000016
【図１３】
2020018001.tif 000017
【図１４】
2020018001.tif 000018
【図１５】
2020018001.tif 000019
【図１６】
2020018001.tif 000020
【図１７】
2020018001.tif 000021
【図１８】
2020018001.tif 000022