(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-18
(45)【発行日】2024-10-28
(54)【発明の名称】ネットワークデバイス、ネットワークデバイスの動作方法、ネットワークシステム及びコンピュータ可読記憶媒体
(51)【国際特許分類】
H04L 45/586 20220101AFI20241021BHJP
【FI】
H04L45/586
(21)【出願番号】P 2022555134
(86)(22)【出願日】2021-02-18
(86)【国際出願番号】 CN2021076704
(87)【国際公開番号】W WO2021196906
(87)【国際公開日】2021-10-07
【審査請求日】2023-02-20
(32)【優先日】2020-04-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】522362660
【氏名又は名称】プライムワン リミテッド
【氏名又は名称原語表記】PRIMEWAN LIMITED
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】リー, ミン
(72)【発明者】
【氏名】ジア, ユアン ヤン
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2006-253852(JP,A)
【文献】国際公開第2017/022235(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/586
(57)【特許請求の範囲】
【請求項1】
ネットワークデバイスであって、
予め定められた固定データレートでネットワークを介してデータを転送するための複数の物理送受信ポートと、
前記複数の物理送受信ポートに結合された仮想回路と、
を備え、前記仮想回路が、
第1の着信データストリームを第1の予め定められていないデータレートで送信する
、プロセッサ
上で実行中のアプリケーションからの第1の転送要求を受信し、
前記第1の着信データストリームを受信するための第1の仮想ポートを確立し、
前記第1の仮想ポートが、前記アプリケーションからの前記第1の転送要求に対応して割り当てられた第1のFIFОバッファを含み、
前記第1の転送要求に応答して前記複数の物理送受信ポートから1つ又は複数の物理送受信ポートを選択して1つ又は複数の選択された物理送受信ポートを形成し、ここで、前記1つ又は複数の選択された物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有し、
前記1つ又は複数の物理送受信ポートが選択された後、前記
第1の仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信し、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成し、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整され、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送する、
ネットワークデバイス。
【請求項2】
前記第1の着信データストリームの前記第1の予め定められていないデータレートが、物理送受信ポートの前記予め定められた固定データレートよりも低い場合、前記仮想回路が、前記複数の物理送受信ポートから物理送受信ポートを選択して、前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する選択された物理送受信ポートを形成する、
請求項1に記載のネットワークデバイス。
【請求項3】
前記仮想回路が前記予め定められた固定データレートで流れるように出力データストリームをさらに形成し、前記出力データストリームが前記着信データストリームからの前記データを組み込んでおり、前記出力データストリーム内に組み込まれた前記着信データストリームからの前記データが前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、
請求項2に記載のネットワークデバイス。
【請求項4】
仮想回路がさらに、
前記選択された物理送受信ポートの前記予め定められた固定データレートよりも低い第2の予め定められていないデータレートで第2の着信データストリームを送信する
、前記プロセッサ
上で実行中の前記アプリケーションからの第2の転送要求を受信し、
前記第2の着信データストリームを受信するための第2の仮想ポートを確立し、
前記第2の仮想ポートが、前記アプリケーションからの前記第2の転送要求に対応して割り当てられた第2のFIFОバッファを含み、
前記選択された物理送受信ポートが前記第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定する、
請求項3に記載のネットワークデバイス。
【請求項5】
前記仮想回路がさらに、
前記利用可能なデータレートを決定した後、前記プロセッサから前記第2の予め定められていないデータレートの前記第2の着信データストリームを受信し、
前記選択された物理送受信ポートの前記利用可能なデータレートが前記第2の予め定められていないデータレートよりも高い場合、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データを組み込むように修正された出力データストリームを生成し、ここで、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データが、選択された送信クロック信号に合わせてタイミング調整され、
前記選択された物理送受信ポートに前記修正された出力データストリームを転送する、
請求項4に記載のネットワークデバイス。
【請求項6】
前記予め定められた固定データレートがxビット/秒のデータレートを有し、前記仮想回路が、物理送受信ポートのxビット/秒の前記予め定められた固定データレートを小部分に細分し、前記物理送受信ポートの前記予め定められた固定データレートよりも低い予め定められていないデータレートを有する前記第1及び第2の入力データストリームに前記小部分を割り当て、結合されたデータストリームの合計のビット/秒が前記物理送受信ポートのxビット/秒の前記予め定められた固定データレート以下になるように前記小部分を結合する、
請求項5に記載のネットワークデバイス。
【請求項7】
前記選択された物理送受信ポートが前記第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定することが、前記第1の着信データストリームの前記予め定められた固定データレートから前記第1の予め定められていないデータレートを差し引いて前記利用可能なデータレートを取得することと、前記利用可能なデータレートを前記第2の予め定められていないデータレートと比較することと、を含む、
請求項5に記載のネットワークデバイス。
【請求項8】
前記着信データストリームの前記予め定められていないデータレートが物理送受信ポートの前記予め定められた固定データレートよりも高い場合、前記仮想回路が、
前記プロセッサから前記着信データストリームを受信するための仮想ポートを確立し、
前記複数の物理送受信ポートから2つ以上の物理送受信ポートを選択し、ここで、前記2つ以上の選択された物理送受信ポートが、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する、
請求項1に記載のネットワークデバイス。
【請求項9】
前記仮想回路がさらに、前記仮想ポートから受信された前記着信データストリームを、前記2つ以上の選択された物理送受信ポートに対応する2つ以上の分割されたデータストリームに分割し、前記2つ以上の分割されたデータストリームのそれぞれが、前記予め定められた固定データレートよりも低い予め定められていないデータレートを有する、
請求項8に記載のネットワークデバイス。
【請求項10】
前記仮想回路がさらに、前記予め定められた固定データレートで流れるように2つ以上の出力データストリームを形成し、前記2つ以上の出力データストリームが前記2つ以上の分割されたデータストリームからの前記データを組み込んでおり、前記2つ以上の出力データストリーム内に組み込まれた前記分割されたデータストリームからの前記データが、前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、
請求項9に記載のネットワークデバイス。
【請求項11】
ネットワークデバイスを動作させる方法であって、
第1の着信データストリームを第1の予め定められていないデータレートで送信する
、プロセッサ
上で実行中のアプリケーションからの第1の転送要求を受信するステップと、
前記第1の着信データストリームを受信するための
第1の仮想ポートを確立するステップ
であり、前記第1の仮想ポートが、前記アプリケーションからの前記第1の転送要求に対応して割り当てられた第1のFIFОバッファを含む、確立するステップと、
予め定められた固定データレートでネットワークを介してデータを送信する1つ又は複数の物理送受信ポートを複数の物理送受信ポートから選択して1つ又は複数の選択された物理送受信ポートを形成するステップであって、前記1つ又は複数の選択された物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する、
形成するステップと、
前記1つ又は複数の物理送受信ポートが選択された後、前記
第1の仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信するステップと、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成するステップであって、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成するステップと、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送するステップと、
を含む、方法。
【請求項12】
前記第1の着信データストリームの前記第1の予め定められていないデータレートが、物理送受信ポートの前記予め定められた固定データレートよりも低い場合、
前記複数の物理送受信ポートから物理送受信ポートを選択して選択された物理送受信ポートを形成するステップであって、前記選択された物理送受信ポートが前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する、
形成するステップと、
前記着信データストリームを受信するための仮想ポートを確立するステップと、
前記選択された物理送受信ポートに対応する前記予め定められた固定データレートで流れるように出力データストリームを形成するステップであって、前記出力データストリームが前記着信データストリームからの前記データを組み込んでおり、前記出力データストリーム内に組み込まれた前記着信データストリームからの前記データが、前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成するステップと、
をさらに含む、
請求項11に記載の方法。
【請求項13】
前記選択された物理送受信ポートの前記予め定められた固定データレートよりも低い第2の予め定められていないデータレートで第2の着信データストリームを送信するために前記プロセッサからの第2の要求を受信するステップと、
前記選択された物理送受信ポートが前記第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定するステップと、
前記利用可能なデータレートを決定した後、前記プロセッサから前記第2の着信データストリームを受信するステップと、
前記選択された物理送受信ポートの前記利用可能なデータレートが前記第2の予め定められていないデータレートよりも高い場合、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データを組み込むように再形成された出力データストリームを生成するステップであって、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データが、選択された送信クロック信号に合わせてタイミング調整される、生成するステップと、
前記選択された物理送受信ポートに前記再形成された出力データストリームを転送するステップと、
をさらに含む、
請求項12に記載の方法。
【請求項14】
前記第1の着信データストリームの前記第1の予め定められていないデータレートが物理送受信ポートの前記予め定められた固定データレートよりも高い場合、
前記複数の物理送受信ポートから2つ以上の物理送受信ポートを選択するステップであって、前記2つ以上の選択された物理送受信ポートが、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する、選択するステップと、
前記着信データストリームを受信するための仮想ポートを確立するステップと、
前記仮想ポートから受信された前記着信データストリームを、前記2つ以上の選択された物理送受信ポートに対応する2つ以上の分割されたデータストリームに分割するステップであって、前記2つ以上の分割されたデータストリームのそれぞれが、前記着信データストリームの前記予め定められていないデータレートよりも低い予め定められていないデータレートを有する、分割するステップと、
をさらに含む、
請求項11に記載の方法。
【請求項15】
前記予め定められた固定データレートで流れるように2つ以上の出力データストリームを形成するステップであって、前記2つ以上の出力データストリームが前記2つ以上の分割されたデータストリームからの前記データを組み込んでおり、前記2つ以上の出力データストリーム内に組み込まれた前記分割されたデータストリームからの前記データが、前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成するステップをさらに含む、
請求項14に記載の方法。
【請求項16】
ネットワークシステムであって、
ネットワークと、
前記ネットワークに結合された第1のネットワークデバイスであって、
予め定められた固定データレートで前記ネットワークを介してデータを転送するための複数の第1の物理送受信ポートと、
前記複数の第1の物理送受信ポートに結合された第1の仮想回路と、
を有し、前記第1の仮想回路が、
第1の着信データストリームを第1の予め定められていないデータレートで送信する
、プロセッサ
上で実行中のアプリケーションからの第1の転送要求を受信し、
前記第1の着信データストリームを受信するための第1の仮想ポートを確立し、
前記第1の仮想ポートが、前記アプリケーションからの前記第1の転送要求に対応して割り当てられた第1のFIFОバッファを含み、
前記複数の第1の物理送受信ポートから1つ又は複数の第1の物理送受信ポートを選択して1つ又は複数の選択された第1の物理送受信ポートを形成し、ここで、前記1つ又は複数の選択された第1の物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有し、
前記1つ又は複数の第1の物理送受信ポートが選択された後、前記第1の仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信し、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成し、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整され、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送する、
第1のネットワークデバイスと、
前記ネットワークに結合された第2のネットワークデバイスであって、
前記ネットワークを介してデータを転送するための複数の第2の物理送受信ポートと、
前記複数の第2の物理送受信ポートに結合された第2の仮想回路と、
を有し、前記第2の仮想回路が、
前記1つ又は複数の選択された物理送受信ポートから前記第1の予め定められていないデータレートの前記1つ又は複数の出力データストリームを受信する第1のネットワーク要求を前記第1の仮想回路から受信し、
前記第1の仮想回路からの前記
第1のネットワーク要求に応答して、前記複数の第2の物理送受信ポートから1つ又は複数の第2の物理送受信ポートを選択して、前記1つ又は複数の選択された第1の物理送受信ポートに対応する1つ又は複数の選択された第2の物理送受信ポートを形成し、ここで、前記1つ又は複数の選択された第2の物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた合計固定データレートを有し、
前記選択された1つ又は複数の第2の物理送受信ポートを用いて前記第1のネットワークデバイスから前記1つ又は複数の出力データストリームを受信する、
第2のネットワークデバイスと、
を備える、ネットワークシステム。
【請求項17】
前記第2の仮想回路が、
前記1つ又は複数の出力データストリームから前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データを抽出して、前記第1の予め定められていない固定データレートで流れる1つ又は複数の再構成されたデータストリームを形成し、前記1つ又は複数の再構成されたデータストリームが前記1つ又は複数の第1の着信データストリームと実質的に一致し、
第2のプロセッサに前記1つ又は複数の再構成されたデータストリームを転送する、
請求項16に記載のネットワークシステム。
【請求項18】
前記第1の着信データストリームの前記第1の予め定められていないデータレートが、物理送受信ポートの前記予め定められた固定データレートよりも低い場合、
前記第1の仮想回路が、前記複数の第1の物理送受信ポートから第1の物理送受信ポートを選択して選択された第1の物理送受信ポートを形成し、ここで、前記選択された第1の物理送受信ポートが、前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有し、
前記第2の仮想回路が、前記複数の第2の物理送受信ポートから第2の物理送受信ポートを選択して選択された第2の物理送受信ポートを形成し、ここで、前記選択された第2の物理送受信ポートは、対応する選択された第1の物理送受信ポートを有し、前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する、
請求項17に記載のネットワークシステム。
【請求項19】
前記第1の着信データストリームの前記第1の予め定められていないデータレートが物理送受信ポートの前記予め定められた固定データレートよりも高い場合、
前記第1の仮想回路が、前記複数の第1の物理送受信ポートから2つ以上の第1の物理送受信ポートを選択し、ここで、前記2つ以上の選択された第1の物理送受信ポートは、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有し、
前記第2の仮想回路が、前記選択された2つ以上の第1の物理送受信ポートに対応する2つ以上の第2の物理送受信ポートを前記複数の第2の物理送受信ポートから選択し、ここで、前記2つ以上の選択された第2の物理送受信ポートが、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する、
請求項17に記載のネットワークシステム。
【請求項20】
プログラム命令が埋め込まれた非一時的コンピュータ可読記憶媒体であって、前記プログラム命令が、プロセッサによって実行された場合に、ネットワークデバイスを動作させる方法を前記プロセッサに実行させ、前記方法が、
第1の着信データストリームを第1の予め定められていないデータレートで送信する
、プロセッサ
上で実行中のアプリケーションからの第1の転送要求を受信することと、
前記第1の着信データストリームを受信するための
第1の仮想ポートを確立すること
であり、前記アプリケーションからの前記第1の転送要求に対応して割り当てられた第1のFIFОバッファを含む、確立することと、
予め定められた固定データレートでネットワークを介してデータを送信する1つ又は複数の物理送受信ポートを複数の物理送受信ポートから選択して1つ又は複数の選択された物理送受信ポートを形成することであって、前記1つ又は複数の選択された物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する、形成することと、
前記1つ又は複数の物理送受信ポートが選択された後、前記
第1の仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信することと、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成することであって、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成することと、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送することと、
を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願はコンピュータネットワークの分野に関し、より詳細にはネットワークを仮想化するネットワークデバイス、方法、及びシステムに関する。
【背景技術】
【0002】
従来のコンピュータシステムは、コンピュータシステムをインターネット又は他のタイプのネットワークに接続する機能を有するネットワークインターフェースコントローラ/カード(NIC)を典型的には含む。従来のNICは、たとえば、10/100/1000Mbps(メガビット/秒)、10Gbps(ギガビット/秒)、40Gbps、及び100Gbpsの接続など、予め定められた固定データレートで動作する1つ又は複数のネットワークポートを含む。ネットワークを介したコンピュータシステム間の通信を可能にする一環として、従来のNICはネットワークポートの転送速度をネゴシエートし、そのプロセスの間、ネットワークポートの転送速度は固定である。
【0003】
従来のNICの欠点の1つは、ポートの予め定められた固定の転送レートが、予め定められていないデータレートでデータを転送することを望むアプリケーションのトラフィックに対処するには柔軟性に欠けているということである。たとえば、ビデオ会議アプリケーションのトラフィックはネットワークポートの物理的な制限を超えることがあり、その結果望ましくないパケット損失及び遅延が発生して、ビデオ会議アプリケーションのユーザのビデオ会議エクスペリエンスが低下する。結果として、予め定められていないデータレートでデータを転送することを望むアプリケーションのトラフィックに対処する手法に対するニーズが存在する。
【発明の概要】
【0004】
本発明は、予め定められていないデータレートでデータを転送することを望むアプリケーションのトラフィックに対処する手法を提供する。本発明は、複数の物理送受信ポートを含むネットワークデバイスを提供する。複数の物理送受信ポートは、予め定められた固定データレートでネットワークを介してデータを転送する。このネットワークデバイスはまた、複数の物理送受信ポートに結合された仮想回路を含む。仮想回路は、第1の着信データストリームを第1の予め定められていないデータレートで送信する第1の転送要求をプロセッサから受信し、第1の着信データストリームを受信するための第1の仮想ポートを確立する。仮想回路はまた、第1の転送要求に応答して複数の物理送受信ポートから1つ又は複数の物理送受信ポートを選択して1つ又は複数の選択された物理送受信ポートを形成し、ここで、1つ又は複数の選択された物理送受信ポートが、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する。仮想回路はさらに、1つ又は複数の物理送受信ポートが選択された後、仮想ポートを介してプロセッサから第1の着信データストリームを受信する。さらに、仮想回路は、予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成する。1つ又は複数の出力データストリームは第1の着信データストリームからのデータを組み込んでいる。1つ又は複数の出力データストリーム内に組み込まれた第1の着信データストリームからのデータは、予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される。さらに、仮想回路は、1つ又は複数の出力データストリームを1つ又は複数の選択された物理送受信ポートに転送する。
【0005】
本発明はまた、ネットワークデバイスを動作させる方法を含む。この方法は、第1の着信データストリームを第1の予め定められていないデータレートで送信する第1の転送要求をプロセッサから受信することと、第1の着信データストリームを受信するための仮想ポートを確立することと、を含む。この方法はまた、予め定められた固定データレートでネットワークを介してデータを送信する1つ又は複数の物理送受信ポートを複数の物理送受信ポートから選択して1つ又は複数の選択された物理送受信ポートを形成することであって、1つ又は複数の選択された物理送受信ポートが、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する、形成することを含む。さらに、この方法は、1つ又は複数の物理送受信ポートが選択された後、仮想ポートを介してプロセッサから第1の着信データストリームを受信することと、予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成することと、を含む。1つ又は複数の出力データストリームは第1の着信データストリームからのデータを組み込んでいる。1つ又は複数の出力データストリーム内に組み込まれた第1の着信データストリームからのデータは、予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される。さらに、この方法は、1つ又は複数の出力データストリームを1つ又は複数の選択された物理送受信ポートに転送することを含む。
【0006】
本発明はまた、ネットワークシステムを提供する。このネットワークシステムは、ネットワークと、ネットワークに結合された第1のネットワークデバイスと、ネットワークに結合された第2のネットワークデバイスと、を含む。第1のネットワークデバイスは、予め定められた固定データレートでネットワークを介してデータを転送するための複数の第1の物理送受信ポートと、複数の第1の物理送受信ポートに結合された第1の仮想回路と、を有する。第1の仮想回路は、第1の着信データストリームを第1の予め定められていないデータレートで送信する第1の転送要求をプロセッサから受信し、第1の着信データストリームを受信するための仮想ポートを確立する。第1の仮想回路はまた、複数の第1の物理送受信ポートから1つ又は複数の第1の物理送受信ポートを選択して1つ又は複数の選択された第1の物理送受信ポートを形成し、ここで、1つ又は複数の選択された第1の物理送受信ポートが、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する。さらに、第1の仮想回路は、1つ又は複数の第1の物理送受信ポートが選択された後、仮想ポートを介してプロセッサから第1の着信データストリームを受信する。第1の仮想回路はさらに、予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成する。1つ又は複数の出力データストリームは第1の着信データストリームからのデータを組み込んでいる。1つ又は複数の出力データストリーム内に組み込まれた第1の着信データストリームからのデータは、予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される。第1の仮想回路はさらに、1つ又は複数の出力データストリームを1つ又は複数の選択された物理送受信ポートに転送する。第2のネットワークデバイスは、ネットワークを介してデータを転送するための複数の第2の物理送受信ポートと、複数の第2の物理送受信ポートに結合された第2の仮想回路と、を有する。第2の仮想回路は、1つ又は複数の選択された物理送受信ポートから第1の予め定められていないデータレートの1つ又は複数の出力データストリームを受信する第1のネットワーク要求を第1の仮想回路から受信する。第2の仮想回路はまた、第1の仮想回路からの要求に応答して、複数の第2の物理送受信ポートから1つ又は複数の第2の物理送受信ポートを選択して、1つ又は複数の選択された第1の物理送受信ポートに対応する1つ又は複数の選択された第2の物理送受信ポートを形成し、ここで、1つ又は複数の選択された第2の物理送受信ポートは、第1の予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する。さらに、第2の仮想回路は、選択された1つ又は複数の第2の物理送受信ポートを用いて第1のネットワークデバイスから1つ又は複数の出力データストリームを受信する。
【0007】
本発明の原理が利用される一例示的な実施形態を示す以下の詳細な説明及び添付の図面を参照することによって、本発明の特徴及び利点のよりよい理解が得られるであろう。本明細書の内容に従って本出願を実施するために本出願の技術的手段のよりよい説明を提供し、本出願の上記及び他の目的、特徴、及び利点をより理解しやすくするために、本出願の特定の実施形態を以下に示す。
【図面の簡単な説明】
【0008】
以下のテキストの好ましい実施形態の詳細な説明を読むことによって、他の様々な利点及び利益が当業者に明らかになるであろう。図面は好ましい実施形態を説明するためのものにすぎず、本出願を限定するものと解釈されない。また、図面全体にわたって、同一の部分を示すために同一の参照符号を使用している。
【
図1】
図1は、本発明によるネットワークデバイス100の一例を示すブロック図である。
【
図2】
図2は、本発明による、着信データストリームからのデータを送信クロック信号内の選択されたパルスにクロック同期(clock、クロック)する一例を示すタイミング図である。
【
図3】
図3は、本発明によるネットワークデバイス300の一例を示すブロック図である。
【
図4】
図4は、本発明による、2つの着信データストリームからのデータが送信クロック信号内の選択されたパルスにクロックされる一例を示すタイミング図である。
【
図5】
図5は、本発明によるネットワークデバイス500の一例を示すブロック図である。
【
図6A】
図6Aは、本発明による、3つの着信データストリームからのデータが送信クロック信号内の選択されたパルスにクロックされる一例を示すタイミング図である。
【
図6B】
図6Bは、本発明によるトークンバケットタイミング図の一例を示すタイミング図である。
【
図7】
図7は、本発明によるネットワークデバイス700の一例を示すブロック図である。
【
図8】
図8は、本発明による、データストリーム内のデータを分割する一例を示すタイミング図である。
【
図9】
図9は、本発明による、仮想回路を動作させる方法900の一例を示すフローチャートである。
【
図10】
図10は、本発明によるネットワークシステム1000の一例を示すブロック図である。
【
図11】
図11は、本発明による通信ネットワーク1100の一例を示すブロック図である。
【
図12】
図12は、本発明による、通信ネットワークにおいて1つ又は複数の物理ネットワークポート(又はインターフェース)を仮想化するための方法1200の一例を示すフローチャートである。
【
図13】
図13は、本発明によるコンピューティングシステム1300の一例を示すブロック図である。
【発明を実施するための最良の形態】
【0009】
図面を参照して本開示の例示的な実施形態をより詳細に説明する。本開示の例示的な実施形態を図面に示しているが、本開示は様々な形態で実施することができ、本明細書に記載した実施形態によって限定されるべきではないということを理解されたい。代わりに、これらの実施形態は、本開示のより完全な理解を提供し、本開示の範囲を当業者に十分に伝えるために提供している。
【0010】
図1は、本発明によるネットワークデバイス100の一例を示すブロック図を示している。以下でより詳細に説明するように、ネットワークデバイス内の仮想回路は、予め定められていないデータレートの1つ又は複数の着信データストリームを予め定められた固定データレートの1つ又は複数の送出データストリームに再フォーマットすることによって、予め定められた固定データレートよりも低い予め定められていないデータレートを有する複数のデータストリームを結合して単一のネットワークポートから出力し、予め定められた固定データレートよりも高い予め定められていないデータレートを有する単一のデータストリームを分割して2つ以上のネットワークポートから出力することを可能にする。
【0011】
図1に示すように、ネットワークデバイス100は、着信データストリームを再フォーマットする仮想回路110と、仮想回路110に結合された、再フォーマットされたデータストリームを送信及び受信するための一連の物理送受信ポートPPと、を含む。現在の例では、3つの物理送受信ポートPP1~PP3を示しているが、他の数のポートを使用することができる。
【0012】
仮想回路110は、ソフトウェアモジュールを適宜含む、処理、スイッチング、バッファリング、及びタイミング回路を含む。物理送受信ポートPPは、たとえば、10/100/1000Mbps(メガビット/秒)、10Gbps(ギガビット/秒)、40Gbps、及び100Gbpsのうちの1つ又は複数を含むことができる予め定められた固定データレートでネットワーク112を介してデータを転送する。
【0013】
動作に際して、仮想回路110は、プロセッサ上で実行中のアプリケーションから、第1の着信データストリームをリモートデバイスにネットワーク112を介して第1の予め定められていないデータレートで送信する第1の転送要求を受信する。第1の予め定められていないデータレートは、16Mpbs又は128Mbpsなどの任意の非標準データレートとすることができる。
【0014】
第1の転送要求に応答して、仮想回路110はプロセッサから第1の着信データストリームを受信するための仮想ポートVP1を確立する。たとえば、仮想ポートを確立することは、第1の着信データストリーム用のFIFOバッファとして機能するための一定量のメモリを割り当てることを含むことができる。さらに、仮想回路110は、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する1つ又は複数の物理送受信ポートPPを選択する。
【0015】
図1に示すように、第1の着信データストリームの第1の予め定められていないデータレート(たとえば、16Mbps)が物理送受信ポートPPの予め定められた固定データレート(たとえば、100Mbps)よりも低い場合、仮想回路110は、第1の着信データストリームの第1の予め定められていないデータレート(たとえば、16Mbps)よりも高い予め定められた固定データレート(たとえば、100Mbps)を有する物理送受信ポートPP1などの物理送受信ポートPPを選択する。選択に続いて、仮想回路110は、仮想回路110の処理、バッファリング、及びタイミング回路によって仮想ポートVP1を物理送受信ポートPP1に結合するようにスイッチング回路を変更する。
【0016】
これに続いて、仮想回路110は、第1の転送要求の承認の確認応答をプロセッサに返し、続いて第1の予め定められていないデータレートの仮想ポートVP1を介して第1の着信データストリームを受信し、次いで第1の着信データストリームからのデータを組み込んだ予め定められた固定データレートの1つ又は複数の出力データストリームを形成する。
【0017】
1つ又は複数の出力データストリーム内に組み込まれた第1の着信データストリームからのデータは、予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される。完了すると、仮想回路110は、1つ又は複数の出力データストリームを1つ又は複数の選択された物理送受信ポートに転送する。
【0018】
図2は、本発明による、着信データストリームからのデータを送信クロック信号内の選択されたパルスにクロックする一例を示すタイミング図を示している。
図2の例では、10サイクル/秒の予め定められた固定レートで動作する送信クロック信号210を示している。
【0019】
仮想回路が2サイクル/秒の予め定められていないデータレートを有する仮想ポートからデータストリームを受信した場合、行212に示すように、データストリームの最初の2つのクロックサイクルからのデータを送信クロック信号210の10個の予め定められた固定サイクルのうちの最初の2つのクロックサイクルにクロックする。
【0020】
さらに、
図2の行214に示すように、データストリームの最初の2つのクロックサイクルからバッファリングされたデータは、1秒あたり10個の予め定められた固定サイクルのうちの任意のクロックサイクルにクロックすることができる。
図2の例は、タイミングを説明するための簡略化した一例である。実際には、仮想ポートは、たとえば、16Ghzのデータレートを有するデータストリームを受信することがあり、データストリームは
図2に示すようにバッファリング及びクロックされ、100Ghzの予め定められた固定データレートを有する物理送受信ポートに出力される。
【0021】
再び
図1を参照すると、その後の時点で、仮想回路110は、プロセッサ上で実行中のアプリケーションから、第2の着信データストリームをリモートデバイスにネットワーク112を介して第2の予め定められていないデータレートで送信する第2の転送要求を受信することができる。第2の予め定められていないデータレートは、第1の予め定められていないデータレートと同じ又は異なるものとすることができる。
【0022】
第2の転送要求に応答して、仮想回路110は、プロセッサから第2の着信データストリームを受信するための仮想ポートVP2を確立する。たとえば、仮想ポートを確立することは、第2の着信データストリーム用のFIFOバッファとして機能するための一定量のメモリを割り当てることを含むことができる。さらに、仮想回路110は、選択された物理送受信ポートPP1が、第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定する。
【0023】
たとえば、仮想回路110は、予め定められた固定データレート(たとえば、100Mbps)から第1の着信データストリームの第1の予め定められていないデータレート(たとえば、16Mbps)を差し引いて利用可能なデータレート(たとえば、84Mbps)を取得し、次いで利用可能なデータレート(たとえば、84Mbps)を第2の予め定められていないデータレート(たとえば、32Mbps)と比較して、利用可能なデータレート(たとえば、84Mbps)が第2の予め定められていないデータレート(たとえば、32Mbps)よりも高いか否かを判定することによって、選択された物理送受信ポートPP1が第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定することができる。
【0024】
選択された物理送受信ポートPP1の利用可能なデータレートが第2の予め定められていないデータレートよりも高い場合、仮想回路110は、仮想回路110の処理、バッファリング、及びタイミング回路によって仮想ポートVP1及び仮想ポートVP2の両方を物理送受信ポートPP1に結合するようにスイッチング回路を変更する。
【0025】
図3は、本発明によるネットワークデバイス300の一例を示すブロック図を示している。ネットワークデバイス300はネットワークデバイス100と類似しているので、両方のネットワークデバイスに共通の構造を示すために同じ参照番号を使用する。
図3に示すように、ネットワークデバイス300は、仮想回路110が第2の転送要求を受信し、第2の仮想ポートVP2を確立し、物理送受信ポートPP1が利用可能なデータレートを有すると判定し、仮想回路110の処理、スイッチング、バッファリング、及びタイミング回路を通じて第1及び第2両方の着信データストリームを物理送受信ポートPP1に接続しているという点でネットワークデバイス100と異なる。
【0026】
これに続いて、仮想回路110は、第2の転送要求の承認の確認応答をプロセッサに返し、続いて第2の予め定められていないデータレートの仮想ポートVP2を介して第2の着信データストリームを受信し、次いで第1の着信データストリーム及び第2の着信データストリームの両方からのデータを組み込んだ予め定められた固定データレートの修正された出力データストリームを生成する。前述のように、第1の着信データストリーム及び第2の着信データストリームは、選択された送信クロック信号にクロックされる。次いで、仮想回路110は、修正された出力データストリームを選択された物理送受信ポートに転送する。
【0027】
予め定められた固定データレートは、xビット/秒のデータレートを有する。1つの実施形態では、仮想回路110は、物理送受信ポートのxビット/秒の予め定められた固定データレートを小部分(fractional parts)に細分し、物理送受信ポートの予め定められた固定データレートよりも低い予め定められていないデータレートを有する第1及び第2の着信データストリームに小部分を割り当て、結合されたデータストリームの合計のビット/秒が物理送受信ポートのxビット/秒の予め定められた固定データレート以下になるように小部分を結合する。
【0028】
たとえば、第1の予め定められていないデータレートが16Mbpsであり、第2の予め定められていないデータレートが32Mbpsである場合、100Mbpsの小部分の16Mbpsが第1の予め定められていないデータレートにマッピングされ、一方、100Mbpsの小部分の32Mbpsが第2の予め定められていないデータレートにマッピングされる。
【0029】
図4は、本発明による、2つの着信データストリームからのデータが送信クロック信号内の選択されたパルスにクロックされる一例を示すタイミング図を示している。
図4の例では、10サイクル/秒の予め定められた固定レートで動作する送信クロック信号410を示している。
【0030】
仮想回路が2サイクル/秒の予め定められていないデータレートを有する第1の仮想ポートからデータストリームを受信し、3サイクル/秒の予め定められていないデータレートを有する第2の仮想ポートからデータストリームを受信した場合、行412に示すように、仮想回路は、第1のデータストリームの最初の2つのクロックサイクルからのデータを送信クロック信号410の10個の予め定められた固定サイクルのうちの最初の2つのクロックサイクルにクロックし、第2のデータストリームの最初の3つのクロックサイクルからのデータを送信クロック信号410の10個の予め定められた固定サイクルのうちの第3、第4、及び第5のクロックサイクルにクロックする。
【0031】
さらに、
図4の行414に示すように、第1のデータストリームの最初の2つのクロックサイクルからバッファリングされたデータ及び第2のデータストリームの最初の3つのクロックサイクルからバッファリングされたデータは、1秒あたり10個の予め定められた固定サイクルのうちの任意のクロックサイクルにクロックすることができる。
図4の例は、タイミングを説明するための簡略化した一例である。実際には、仮想ポートVP1及びVP2は、たとえば、それぞれ16Ghz及び32Ghzのデータレートを有するデータストリームを受信することがあり、データストリームは
図4に示すようにクロックされ、100Ghzの予め定められた固定データレートを有する物理送受信ポートに出力される。
【0032】
図5は、本発明によるネットワークデバイス500の一例を示すブロック図を示している。ネットワークデバイス500はネットワークデバイス300と類似しているので、両方のネットワークデバイスに共通の構造を示すために同じ参照番号を使用する。
図5に示すように、ネットワークデバイス500は、仮想回路110が第3の転送要求を受信し、第3の仮想ポートVP3を確立し、物理送受信ポートPP1が利用可能なデータレートを有すると判定し、仮想回路110の処理、スイッチング、バッファリング、及びタイミング回路を通じて第1、第2、及び第3の着信データストリームを物理送受信ポートPP1に接続しているという点でネットワークデバイス300とは異なる。
【0033】
図6Aは、本発明による、3つの着信データストリームからのデータが送信クロック信号内の選択されたパルスにクロックされる一例を示すタイミング図を示している。
図6Aの例では、10サイクル/秒の予め定められた固定レートで動作する送信クロック信号610を示している。
【0034】
仮想回路が、2サイクル/秒の予め定められていないデータレートを有する第1の仮想ポートからデータストリームを受信し、3サイクル/秒の予め定められていないデータレートを有する第2の仮想ポートからデータストリームを受信し、4サイクル/秒の予め定められていないデータレートを有する第3の仮想ポートからデータストリームを受信した場合、行412に示すように、仮想回路は、第1のデータストリームの最初の2つのクロックサイクルからのデータを1秒あたり10個の予め定められた固定サイクルのうちの最初の2つのクロックサイクルにクロックし、第2のデータストリームの最初の3つのクロックサイクルからのデータを1秒あたり10個の予め定められた固定サイクルのうちの第3、第4、及び第5のクロックサイクルにクロックし、第3のデータストリームの最初の4つのクロックサイクルからのデータを1秒あたり10個の予め定められた固定サイクルのうちの第6、第7、第8、及び第9のクロックサイクルにクロックする。この例の最後のサイクルは空である。理想的には、仮想ポートをグループ化して、予め定められた固定クロックサイクルの全てが利用されるようにする。
【0035】
さらに、
図6Aの行614に示すように、第1のデータストリームの最初の2つのクロックサイクルからのデータ、第2のデータストリームの最初の3つのクロックサイクルからのデータ、及び第3のデータストリームの最初の4つのクロックサイクルからのデータは、送信クロック信号610の10個の予め定められた固定サイクルのうちの任意のクロックサイクルにクロックすることができる。
【0036】
図6Aの例は、タイミングを示すための簡略化した一例である。実際には、仮想ポートVP1、VP2、VP3は、たとえば、それぞれ16Ghz、32Ghz、及び48Ghzのデータレートを有するデータストリームを受信することがあり、データストリームは
図6Aに示すようにクロックされ、100Ghzの予め定められた固定データレートを有する物理送受信ポートに出力される。
【0037】
再び
図5を参照すると、上記のように、仮想ポートは、予め定められていないデータレートの着信データストリーム用のFIFOバッファとして機能する一定量のメモリを含むことができる。着信データストリームを受信するFIFOバッファは、トークンバケットとして交互に動作することができ、トークンバケットは定期的にトークンで満たされ、満杯になると空にされる。トークンは、たとえばデータパケットで実装することができる。トークンバケットが満杯になると、仮想回路110は、バケットから全てのトークンを物理送受信ポートに物理送受信ポートの予め定められた固定データレートで転送する。
【0038】
図6Bは、本発明によるトークンバケットタイミング図の一例を示すタイミング図を示している。
図6Bの例では、各パルスはクロックサイクルのパケット数を表し、各トークンバケットは2つのトークン又はデータパケットを保持する。
図6Bに示すように、仮想回路110は、2つのVP1パケットデータストリームを送信クロック信号内の選択されたパルスにクロックし、クロックされたデータストリームを物理送受信ポートに物理送受信ポートの予め定められた固定データレートで出力することにより、VP1トークンバケットを空にし、引き続き同様にしてVP2及びVP3バケットを空にする。
【0039】
本発明の利点の1つは、1つの物理送受信ポート内で複数のデータストリームを分けて扱えることである。たとえば、100Mbpsのデータレートを有する物理送受信ポートを使用して、10Mbpsのビデオ会議トラフィック、ERP用の50Mbps、上司用の30Mbps、及び部下用の10Mbpsを送信することができる。さらに、全てのトラフィックに対して「A~Z」のサービス品質(QoS)を保証することができる。さらなる利点は、本発明が正確なトラフィック制御を提供することである。
【0040】
図7は、本発明の一実施形態によるネットワークデバイス700の一例を示すブロック図を示している。ネットワークデバイス700はネットワークデバイス500と類似しているので、両方のネットワークデバイスに共通の構造を示すために同じ参照番号を使用する。
【0041】
図7に示すように、仮想回路110は、プロセッサ上で実行中のアプリケーションから、第4の着信データストリームをリモートデバイスにネットワーク112を介して第4の予め定められていないデータレートで送信する第4の転送要求を受信する。第4の転送要求に応答して、仮想回路110はプロセッサから第4の着信データストリームを受信するための仮想ポートVP4を確立する。たとえば、仮想ポートを確立することは、第4の着信データストリーム用のFIFOバッファとして機能するための一定量のメモリを割り当てることを含むことができる。さらに、仮想回路110は、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する1つ又は複数の物理送受信ポートPPをいくつかの物理送受信ポートPPから選択する。
【0042】
図7に示すように、第4の着信データストリームの第4の予め定められていないデータレート(たとえば、128Mbps)が物理送受信ポートPPの予め定められた固定データレート(たとえば、100Mbps)よりも高い場合、仮想回路110は2つ以上の物理送受信ポート、たとえば、物理送受信ポートPP2及びPP3を選択し、ここで、2つ以上の選択された物理送受信ポートは、第4の着信データストリームの第4の予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する。
【0043】
これに続いて、仮想回路110は、第4の転送要求の承認の確認応答をプロセッサに返し、続いて第4の予め定められていないデータレートの仮想ポートVP4を介して第4の着信データストリームを受信し、次いで仮想ポートVP4から受信された第4の着信データストリームを2つ以上の選択された物理送受信ポートPP2及びPP3に対応する2つ以上の分割されたデータストリームに分割し、ここで、2つ以上の分割されたデータストリームのそれぞれは、予め定められた固定データレートよりも低いデータレートを有する。
【0044】
次に、仮想回路110は、予め定められた固定データレートで流れるように2つ以上の出力データストリームを形成し、ここで、2つ以上の出力データストリームは2つ以上の分割されたデータストリームからのデータを組み込んでいる。2つ以上の出力データストリーム内に組み込まれた分割されたデータストリームからのデータは、送信クロック信号内の選択されたパルスにクロックされる。完了すると、仮想回路110は、2つ以上の出力データストリームを2つ以上の選択された物理送受信ポートPP2及びPP3に転送する。
【0045】
図8は、本発明による、データストリーム内のデータを分割する一例を示すタイミング図を示している。
図8に示すように、仮想回路110は、上述のように出力データストリームに組み込まれた後に、たとえば、全ての奇数ビットを物理ポートPP2に転送し、全ての偶数ビットを物理ポートPP3に転送することによって、データストリーム内のデータを2つに分割することができる。分割により、より低いデータレートを有する2つのより小さいデータストリームが効果的に形成される。
【0046】
或いは、仮想回路110は、上述のように、物理ポートPP2の予め定められた固定データレート(たとえば、100Mbps)に一致するデータレート(たとえば、100Mbps)でデータを転送し、残りのデータをデータレート(たとえば、28Mbps)で物理ポートPP3に転送することによって、データストリーム内のデータを分割することができる。ほとんどの場合、物理送受信ポートPPの数は、第4の予め定められていないデータレートに対応するために必要な最小数である。
【0047】
図9は、本発明による、仮想回路を動作させる方法900の一例を示すフローチャートを示している。
図9に示すように、方法900は、第1の着信データストリームを第1の予め定められていないデータレートで送信する第1の転送要求をプロセッサから受信することによって910から開始する。第1の予め定められていないデータレートは、16Mpbs又は128Mbpsなどの任意の非標準データレートとすることができる。
【0048】
方法900は次に912に進んで、第1の着信データストリームを受信するための仮想ポートを確立する。この後、方法900は914に進んで、予め定められた固定データレートでネットワークを介してデータを送信する1つ又は複数の物理送受信ポートを複数の物理送受信ポートから選択して1つ又は複数の選択された物理送受信ポートを形成し、ここで、1つ又は複数の選択された物理送受信ポートは、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する。
【0049】
これに続いて、方法900は916に進んで、1つ又は複数の物理送受信ポートが選択された後にプロセッサから第1の着信データストリームを受信し、次いで920に進んで、予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成する。1つ又は複数の出力データストリームは、第1の着信データストリームからのデータを組み込んでいる。1つ又は複数の出力データストリーム内に組み込まれた第1の着信データストリームからのデータは、予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される。次いで、方法は922に進んで、1つ又は複数の出力データストリームを1つ又は複数の選択された物理送受信ポートに転送する。
【0050】
第1の着信データストリームの第1の予め定められていないデータレートが、物理送受信ポートの予め定められた固定データレートよりも低い場合、方法900は、複数の物理送受信ポートから物理送受信ポートを選択して選択された物理送受信ポートを形成し、ここで、選択された物理送受信ポートは、第1の着信データストリームの第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する。さらに、方法900は、選択された物理送受信ポートに対応する予め定められた固定データレートで流れるように出力データストリームを形成する。出力データストリームは、着信データストリームからのデータを組み込んでいる。出力データストリーム内に組み込まれた着信データストリームからのデータは、送信クロック信号内の選択されたパルスに合わせてタイミング調整される。
【0051】
第1の着信データストリームの第1の予め定められていないデータレートが物理送受信ポートの予め定められた固定データレートよりも高い場合、方法900は、複数の物理送受信ポートから2つ以上の物理送受信ポートを選択し、ここで、2つ以上の選択された物理送受信ポートは、着信データストリームの予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する。
【0052】
さらに、方法900は、仮想ポートから受信された着信データストリームを、2つ以上の選択された物理送受信ポートに対応する2つ以上の分割されたデータストリームに分割する。2つ以上の分割されたデータストリームのそれぞれは、着信データストリームの予め定められていないデータレートよりも低い予め定められていないデータレートを有する。さらに、方法900は、予め定められた固定データレートで流れるように2つ以上の出力データストリームを形成する。2つ以上の出力データストリームは、2つ以上の分割されたデータストリームからのデータを組み込んでいる。2つ以上の出力データストリーム内に組み込まれた分割されたデータストリームからのデータは、送信クロック信号内の選択されたパルスに合わせてタイミング調整される。
【0053】
再び
図9を参照すると、方法900は次に924に進んで、第2の着信データストリームを、選択された物理送受信ポートの予め定められた固定データレートよりも低い第2の予め定められていないデータレートで送信する第2の転送要求をプロセッサから受信する。この後、方法900は926に進んで、選択された物理送受信ポートが、第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定する。
【0054】
利用可能なデータレートを決定した後、方法900は930に進んで、プロセッサから第2の着信データストリームを受信する。選択された物理送受信ポートの利用可能なデータレートが第2の予め定められていないデータレートよりも高い場合、方法900は932に進んで、第1の着信データストリーム及び第2の着信データストリームからのデータを組み込むように再形成された出力データストリームを生成し、ここで、第1の着信データストリーム及び第2の着信データストリームからのデータは選択された送信クロック信号に合わせてタイミング調整される。これに続いて、方法900は934に進んで、再形成された出力データストリームを選択された物理送受信ポートに転送する。一実施形態では、方法900は、プロセッサによって実行された場合にプロセッサに方法900を実行させるプログラム命令が埋め込まれた非一時的コンピュータ可読記憶媒体に記憶することができる。
【0055】
図10は、本発明によるネットワークシステム1000の一例を示すブロック図を示している。ネットワークシステム1000は、第1のネットワークデバイスと、第2のネットワークデバイスと、第1及び第2のネットワークデバイス1010A及び1010Bを相互に結合するネットワークと、を含む。
【0056】
図10に示すように、第1のネットワークデバイスはネットワークデバイス700で実装することができ、これは700Aとして表され、110を110Aとして表し、PP1~PP3をPP1A~PP3Aとして表し、VP1~VP4をVP1A~VP4Aとして表す。同様に、第2のネットワークデバイスもネットワークデバイス700で実装することができ、これは700Bとして表され、110を110Bとして表し、PP1~PP3をPP1B~PP3Bとして表し、VP1~VP4をVP1B~VP4Bとして表す。
【0057】
動作に際して、仮想回路110Aは、プロセッサ上で実行中のアプリケーションから、第1の着信データストリームをリモートデバイスにネットワーク112を介して第1の予め定められていないデータレートで送信する第1の転送要求を受信する。第1の予め定められていないデータレートは、16Mpbs及び128Mbpsなどの任意の非標準データレートとすることができる。
【0058】
第1の転送要求に応答して、仮想回路110Aは、プロセッサから第1の着信データストリームを受信するための仮想ポートVP1を確立し、次いで第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する1つ又は複数の物理送受信ポートPPAをいくつかの物理送受信ポートPPAから選択する。
【0059】
これに続いて、仮想回路110Aは、第1の転送要求の承認の確認応答をプロセッサに返し、続いて第1の予め定められていないデータレートの仮想ポートVP1Aを介して第1の着信データストリームを受信し、次いで第1の着信データストリームからのデータを組み込んだ予め定められた固定データレートの出力データストリームを形成する。
【0060】
出力データストリーム内に組み込まれた第1の着信データストリームからのデータは、予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される。完了すると、仮想回路110Aは、1つ又は複数の出力データストリームを1つ又は複数の選択された物理送受信ポートに転送することによって、1つ又は複数の選択された物理送受信ポートはネットワーク112を介して1つ又は複数の出力データストリームを第2のネットワークデバイス700Bに送信する。
【0061】
ネットワーク112を介して出力データストリームを送信する前に、第1のネットワークデバイス700Aの選択された物理送受信デバイスPP1Aは、1つ又は複数の選択された物理送受信ポートから第1の予め定められていないデータレートで1つ又は複数の出力データストリームを受信するネットワーク要求を第2のネットワークデバイス700Bに送信する。
【0062】
第2のネットワークデバイス700Bの仮想回路110Bは第1のネットワーク要求を受信し、それに応答して、1つ又は複数の選択された第1の物理送受信ポートに対応する1つ又は複数の第2の物理送受信ポートを一連の第2の物理送受信ポートから選択し、ここで、1つ又は複数の選択された第2の物理送受信ポートは、第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する。
【0063】
これに続いて、仮想回路110Bは、第1のネットワーク要求の承認の確認応答を第1のネットワークデバイス700Aに返し、続いて物理送受信ポートPP1B~PP3Bを介して第1の予め定められていないデータレートの1つ又は複数の出力データストリームを受信する。
【0064】
次に、仮想回路110Bは、1つ又は複数の出力データストリームから1つ又は複数の出力データストリーム内に組み込まれた第1の着信データストリームからのデータを抽出して、第1の予め定められていない固定データレートで流れる1つ又は複数の再構成されたデータストリームを形成し、1つ又は複数の再構成されたデータストリームは1つ又は複数の第1の着信データストリームと実質的に一致する。次いで、仮想回路110Bは、1つ又は複数の再構成されたデータストリームを第2のプロセッサに転送する。
【0065】
第1の着信データストリームの第1の予め定められていないデータレートが、物理送受信ポートPPAの予め定められた固定データレートよりも低い場合、第1の仮想回路110Aは、一連の第1の物理送受信ポートから第1の物理送受信ポートPP1Aを選択して選択された第1の物理送受信ポートを形成し、ここで、選択された第1の物理送受信ポートは、第1の着信データストリームの第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する。さらに、第2の仮想回路110Bは、複数の第2の物理送受信ポートから第2の物理送受信ポートPP1Bを選択して選択された第2の物理送受信ポートを形成し、ここで、選択された第2の物理送受信ポートは、対応する選択された第1の物理送受信ポートPP1Aを有し、第1の着信データストリームの第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する。
【0066】
第1の着信データストリームの第1の予め定められていないデータレートが物理送受信ポートの予め定められた固定データレートよりも高い場合、第1の仮想回路110Aは、複数の第1の物理送受信ポートから2つ以上の第1の物理送受信ポート、たとえば、PP2A及びPP3Aを選択し、ここで、2つ以上の選択された第1の物理送受信ポートは、着信データストリームの予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する。さらに、第2の仮想回路110Bは、選択された2つ以上の第1の物理送受信ポートに対応する2つ以上の第2の物理送受信ポート、たとえば、PP2B及びPP3Bを複数の第2の物理送受信ポートから選択し、ここで、2つ以上の選択された第2の物理送受信ポートは、着信データストリームの予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する。
【0067】
図11は、本発明による通信ネットワーク1100の一例を示すブロック図を示している。通信ネットワーク1100は、本開示の様々な実施形態に従って、固定回線ネットワーク用であるが、これに限定されない、1つ又は複数の仮想化された融通の利く(elastic)物理ポートを構築又は生成することを含むことができる。
【0068】
通信ネットワーク1100は、ネットワーク機器又はシステム1106と通信可能に結合されたネットワーク機器又はシステム1102を含むことができるが、これに限定されない。様々な実施形態において、ネットワーク機器1102及び1106のそれぞれは、コンピュータシステム、ネットワークスイッチシステム、ネットワークルータシステム、ネットワーク通信デバイス、及びコンピューティングシステムとして実装することができるが、これらに限定されない。
【0069】
ネットワーク機器1102及び1106のそれぞれは、1つ又は複数の物理ネットワークポートを含むことができる少なくとも1つのネットワークカード(これは、限定はしないが、ネットワークインターフェースコントローラ(NIC)、ネットワークインターフェースカード(NIC)、ネットワークアダプタ、ローカルエリアネットワーク(LAN)アダプタ、又は物理ネットワークインターフェースと呼ばれることもある)を含むことができる。
【0070】
さらに、ネットワーク機器1102及び1106はそれぞれ、プロセッサ(たとえば、1104又は1152)上で動作するオペレーティングシステム、プロセッサ上で動作する1つ又は複数のアプリケーションなどを含むことができるがこれらに限定されない他の機能を含むことができる。様々な実施形態において、通信ネットワーク1100は、インターネットサービスプロバイダ(ISP)又はISPのサービスに加入する顧客エンティティであることがあるエンティティ又は組織によって管理されるネットワーク又はネットワークの集合を指す自律システム(AS:autonomous system)の一部とすることができる。
【0071】
具体的には、ネットワーク機器1102は、プロセッサ1104と、プロセッサ1104にそれぞれ結合することができるネットワークカードBの物理ネットワークポート1及び2と、プロセッサ1104並びにネットワークカードBの物理ネットワークポート1及び2に結合された(図示せず)メモリ1146と、を含むことができる。ネットワークカードBは、物理ネットワークポート1及び2と同様の1つ又は複数の物理ネットワークポートを用いて実装することができる。
【0072】
様々な実施形態において、物理ネットワークポート1及び2のそれぞれは、レイヤ2ネットワークポートとして実装することができるが、このようなものに限定されない。ネットワーク機器(又はシステム)1106は、ネットワーク機器1102を参照して上記で説明したものと同様に実装できることに留意されたい。しかしながら、一部の要素は
図11に示していない。
【0073】
様々な実施形態において、ネットワーク機器1106は、ネットワークカードAの物理ネットワークポート1’及び2’を含むことができる。しかしながら、ネットワークカードAは、物理ネットワークポート1’及び2’と同様の1つ又は複数の物理ネットワークポートを用いて実装することができる。さらに、様々な実施形態において、ネットワーク機器1106は、ネットワークカードA並びに物理ネットワークポート1’及び2’に結合することができるメモリ1148を含むことができる。また、ネットワーク機器1106は、メモリ1148と、ネットワークカードA並びに物理ネットワークポート1’及び2’とに結合されたプロセッサ1152を含むことができる。
【0074】
様々な実施形態において、ネットワーク機器1102のメモリ1146は、プロセッサ1104によって実行された場合に、ネットワーク機器1102の物理ネットワークポートのうちの1つ又は複数を仮想化する方法をプロセッサ1104に実行させる命令1150を記憶する。さらに、様々な実施形態において、ネットワーク機器106のメモリ1148は、プロセッサ1152によって実行された場合に、ネットワーク機器1106の物理ネットワークポートのうちの1つ又は複数を仮想化する方法をプロセッサ1152に実行させる命令1150を記憶する。
【0075】
様々な実施形態において、ネットワークポート1及び1’はピアリングポートであり、一方、ネットワークポート2及び2’もピアリングポートであるが、このようなものに限定されない。命令1150(たとえば、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組合せ)は、様々な実施形態において、通信ネットワーク1100内での仮想化の作成及び管理に使用することができる。さらに、様々な実施形態において、命令1150は、フィールドプログラマブルゲートアレイ(FPGA)ボード内の1つ又は複数のチップにインストールすることができ、物理レベルで動作することができるが、このようなものに限定されない。
【0076】
図11内で、ピアリング物理ポート1及び1’並びにピアリング物理ポート2及び2’のうちの1つ又は複数において、複数の仮想ポートが生成又は作成される。複数の仮想ポートの生成は、本開示の様々な実施形態による多種多様な方法で実施することができる。
【0077】
たとえば、様々な実施形態において、ピアリング物理ポート1及び1’並びにピアリング物理ポート2及び2’のうちの1つ又は複数において、ネットワークポートのデータ転送レートを除いて、電気電子技術者協会(IEEE)802.11規格に適合するがこれに限定されない複数の仮想ポートを作成する。
【0078】
各仮想ポートのデータ転送レートは、対応するピアリング物理ポート(たとえば、1及び1’)の最大データ転送レートよりも低いデータ転送レートとすることができる。たとえば、標準的な物理ポートのデータ転送レートは、10Mbps(メガビット/秒)、100Mbps、1Gbps(ギガビット/秒)、40Gbps、及び100Gbpsである。しかしながら、様々な実施形態において、仮想ポートのトラフィックレートは、2Mbps、33Mbps、560Mbps、24Gbps、及び86Gbpsとすることができるが、これらに限定されない。
【0079】
さらに、様々な実施形態において、仮想ポートのデータ速度/トラフィックレートは、IEEE802.11プロトコルと、ピアリング仮想ポートa及びa’、ポートb及びb’などの間のネゴシエーションとを通じて定義することができる。さらに、様々な実施形態において、複数の仮想ポート(たとえば、仮想ポートa、b、c、及びd)のそれぞれのデータ転送レートは、対応する物理ネットワークポート(たとえば、ネットワークカードBポート1)の最大データ転送レートの一部分とすることができる。
【0080】
たとえば、通信ネットワーク1100内で、仮想化ポート(たとえば、仮想ポートa)は、限定はしないが、IEEE802.11プロトコルに適合するように定義され、仮想ポートaの転送ビットレートは、ネゴシエートされたレート(たとえば、11ギガビット/秒(Gbps))に変更される。具体的には、様々な実施形態において、ネットワーク機器又はシステム1102の物理ポート(たとえば、ネットワークカードBポート1)は、それぞれがIEEE802.11プロトコルに適合するが、これに限定されない複数の仮想ポート(たとえば、仮想ポートa、b、c、及びd)に分割することができる。たとえば、ネットワークカードBの物理ポート1は、100メガビット/秒(Mbps)の転送ビットレートを有する場合、様々な実施形態によって、それぞれが1Mbpsの転送ビットレートを有する100個の仮想ポートに分割することができる(これは現在図示していない)。
【0081】
様々な実施形態において、これらの100個の仮想ポートが確立されると、様々な実施形態によって、これらの仮想ポートのうちの任意の数を相互に統合して、特定の接続又は顧客用の特定のネゴシエートされたデータ転送レート(たとえば、11Gbps)に対処することが可能な新しいより高いデータ転送レートの仮想ポートを作成することができる。
【0082】
さらに、様々な実施形態において、仮想ポートの相互統合は、ネットワーク通信デバイスの複数の物理ポートにわたって実現できることに留意されたい。また、様々な実施形態において、仮想ポートの相互統合は、異なる通信レイヤにわたって実現することもできる。これらのタイプの仮想化が実行された後、各物理ポートは複数の仮想化ポートに置き換えられている。
【0083】
様々な実施形態において、仮想化ポートは、全てのトラフィック管理、ポートベースのオーケストレーション、ソフトウェア定義ネットワーキング(SDN)、ソフトウェア定義ワイドエリアネットワーク(SD-WAN)、及びネットワーク仮想化で使用することができるが、これらに限定されない。さらに、様々な実施形態において、仮想ポートを利用して、サービス品質(QoS)を容易に制御し、ネットワーク効率を向上させるエンドツーエンドのトラフィックプロビジョニングを構築することができる。
【0084】
上記のように、複数の仮想ポートの生成は、本開示の様々な実施形態による多種多様な方法で実施することができる。たとえば、様々な実施形態において、物理ポートから仮想ポートへのデータパッケージ転送を制御するためのMAC(メディアアクセス制御)転送テーブル(たとえば、これはレイヤ2スイッチシステムに使用できる)を維持管理することによって、複数の仮想ポート(たとえば、仮想ポートe、f、及びg)をピアリング物理ポート(2及び2’)で生成(又は作成)することができる。
【0085】
さらに、タイムスロットを利用して物理ポートと仮想ポートとの間のデータ転送速度を制御することによって、ピアリング物理ポート(2及び2’)で複数の仮想ポート(たとえば、仮想ポートe、f、及びg)を生成(又は作成)することができる。様々な実施形態において、物理ポートは複数の仮想ポートに「分割」される。次いで、たとえば、ベースクロックサイクルに対して、5ミリ秒(ms)のように乗算することができ、これは1つの仮想ポートがピアリング物理ポートの最大データ速度の1/5であることを意味する。
【0086】
様々な実施形態において、時分割多元接続(TDMA)を利用して仮想化ポートを作成(又は生成)することができ、ピアリング物理ポートの最大データ速度の1/xのデータ速度を有する仮想ポートを実装することができる。さらに、仮想ポートのそれぞれは、物理ポートのように機能又は動作するよう作られる。TDMAを利用して物理ポート(たとえば、ネットワークカードBポート1)内に複数の仮想ポート(たとえば、仮想ポートa、b、c、及びd)を作成又は生成することができるので、複数の仮想ポートを管理し、結合して柔軟性のある仮想ポートを形成することができる。
【0087】
また、様々な実施形態において、複数の物理ポート(ネットワークカードBポート1及び2)にまたがる又はこれらを含む仮想ポート(たとえば、仮想ポートd及びe)にわたって柔軟性のある仮想ポートを作成することができる。様々な実施形態のこの機能に基づいて、仮想的なファイバ/回線を作成することができ、電気通信ネットワークを横断して仮想化を行うことができる。
【0088】
図11内で、様々な実施形態において、仮想ポートAがオペレーティングシステム(OS)及びアプリケーションレベルの仮想ネットワークポートであり、これはOSインターフェース1108を介して仮想ポートa、a’を直接使用できることを指摘している。さらに、様々な実施形態において、仮想ポートBもOS及びアプリケーションレベルの仮想ネットワークポートであり、これはOSインターフェース1108を介して統合(又は集約)された仮想ポートb、b’及びc、c’を直接使用することができる。
【0089】
OS1104が仮想ポートBを見る場合、仮想ポートb、b’及びc、c’の合計のデータ転送レートを有する単一のポートしか見ず、2つの仮想ポートb、b’及びc、c’は見ない。また、様々な実施形態において、仮想ポートCもOS及びアプリケーションレベルの仮想ネットワークポートであり、これはOSインターフェース1108を介して統合(又は集約)された仮想ポートd、d’及びe、e’及びf、f’を直接使用することができる。
【0090】
仮想ポートCは、2つの物理ポート(たとえば、ネットワークカードBポート1及び2)にわたって複数の仮想ポート(たとえば、d、d’及びe、e’及びf、f’)を統合(又は集約)することによって生成される。したがって、OS104が仮想ポートCを見る場合、仮想ポートd、d’及びe、e’及びf、f’の合計のデータ転送レートを有する単一のポートしか見ず、3つの仮想ポートb、b’及びc、c’は見ない。様々な実施形態において、仮想ポートB及びCのそれぞれが第1層の集約1110の結果であることに留意されたい。
【0091】
様々な実施形態において、仮想ポートDもOS及びアプリケーションレベルの仮想ネットワークポートであり、これはOSインターフェース1114を介して統合(又は集約)された仮想ポートb、b’及びc、c’及びd、d’及びe、e’及びf、f’を直接使用することができる。仮想ポートDは、2つの物理ポート(たとえば、ネットワークカードBポート1及び2)にわたって複数の仮想ポート(たとえば、b、b’及びc、c’及びd、d’及びe、e’及びf、f’)を統合(又は集約)することによって生成される。
【0092】
さらに、仮想ポートDは、仮想ポートB及びCの第2層の集約1112の結果である。したがって、OS1104が仮想ポートDを見る場合、仮想ポートb、b’及びc、c’及びd、d’及びe、e’及びf、f’の合計のデータ転送レートを有する単一のポートしか見ず、5つの仮想ポートb、b’及びc、c’及びd、d’及びe、e’及びf、f’は見ない。
【0093】
様々な実施形態において、通信ネットワーク1100内で実装できる集約層の量(たとえば、第3層、第4層など)に制限はない。さらに、様々な実施形態において、仮想ポート(たとえば、a、a’及びb、b’及びc、c’及びd、d’及びe、e’及びf、f’)の各データ転送レート(たとえば、これらは異なるデータ転送レートとすることができる)を任意の方法で組み合わせて、任意のデータ速度レートの仮想ポートを作成又は生成し、定義することができることに留意されたい。様々な実施形態において、仮想集約ポートは、物理ポートにまたがる、動的な仮想化されたものとすることができる。オペレーティングシステム1104は、命令1150から、利用可能な仮想ポートの数に関する情報を、それらに対応するデータ転送レートと共に取得することができる。
【0094】
様々な実施形態に従って本明細書で説明しているように、通信ネットワーク1100の機能に関連する利益がある。たとえば、仮想化されたネットワークポート(たとえば、これは物理ポートとして機能する)は、柔軟なネットワークオーケストレーションをもたらすことができる。さらに、各物理ネットワークポートは、物理ポートのように機能し、異なるアプリケーション及びトラフィックを異なる仮想ポートに分配することが可能な複数の仮想化ポートをサポートすることができる。さらに、サービス品質(QoS)を維持し、データトラフィックを制御するために、様々なデータ速度レートを定義又は設定することができる。また、様々な実施形態において、特別な管理のために、異なる仮想ポートにより多くの機能を追加することができる。
【0095】
図12は、本発明による、通信ネットワークにおいて1つ又は複数の物理ネットワークポート(又はインターフェース)を仮想化するための方法1200の一例を示すフローチャートを示している。
図12では特定の動作を開示しているが、このような動作は例である。方法1200は、
図12に示す動作の全てを含まなくてもよい。また、方法1200は、他の様々な動作及び/又は図示した動作の変形を含んでもよい。
【0096】
同様に、方法1200の動作の並びは変更することができる。方法1200の全ての動作が実行されなくてもよい。様々な実施形態において、方法1200の動作のうちの1つ又は複数は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組合せによって制御又は管理することができるが、このようなものに限定されない。
【0097】
方法1200は、コンピュータ又はコンピューティングデバイスが読取り可能で実行可能な命令又はコードの制御下でプロセッサ(複数可)及び電気部品によって制御又は管理することができる本開示の様々な実施形態の処理を含むことができる。コンピュータ又はコンピューティングデバイスが読取り可能で実行可能な命令(又はコード)は、たとえば、コンピュータ又はコンピューティングデバイスで使用可能な揮発性メモリ、コンピュータ又はコンピューティングデバイスで使用可能な不揮発性メモリ、並びに/或いはコンピュータ又はコンピューティングデバイスで使用可能な大容量データストレージなどのデータ記憶機能内に存在してもよい。しかしながら、コンピュータ又はコンピューティングデバイスが読取り可能で実行可能な命令(又はコード)は、任意のタイプのコンピュータ又はコンピューティングデバイスで読取り可能な媒体又はメモリ(たとえば、
図13のコンピューティングシステム1300内に見られるものなど)内に存在してもよい。
【0098】
1202において、複数のネットワーク物理ポートがピアリング物理ポートとなるように実装される。動作1202は、多種多様な方法で実施することができる。たとえば、様々な実施形態において、動作1202は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0099】
図12の1204において、複数のピアリング仮想ポートを複数のピアリング物理ポートのそれぞれにおいて生成することができ、各ピアリング物理ポートで実装してもよい。動作1204は、多種多様な方法で実施することができる。たとえば、様々な実施形態において、動作1204は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0100】
1206において、アプリケーションがピアリング物理ポートの使用を要求しているかに関する判定を行うことができる。そうである場合、方法1200は1208に進むことができる。しかしながら、アプリケーションがピアリング物理ポートの使用を要求していないと1206で判定された場合、方法1200は1206の始めに進むことができる。この判定は、多種多様な方法で実施することができる。たとえば、様々な実施形態において、この判定は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0101】
図12の1208において、ピアリング物理ポートのネゴシエーション中に、要求側アプリケーションが適切に動作するために希望しているデータ転送レートに関する決定が行われる。この決定は、多種多様な方法で実施することができる。たとえば、様々な実施形態において、この決定は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0102】
1210において、要求側アプリケーションの決定されたデータ転送レートに対処するために、複数の仮想ポートが集約されるべきかに関する判定が行われる。そうである場合、方法1200は1212に進むことができる。しかしながら、要求側アプリケーションの決定されたデータ転送レートに対処するために複数の仮想ポートが集約されるべきではない(たとえば、単一の仮想ポートが要求側アプリケーションの決定されたデータ転送レートに対処することができる)と1210で判定された場合、方法1200は動作1214に進むことができる。この判定は、多種多様な方法で実施することができる。たとえば、様々な実施形態において、この判定は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0103】
図12の1212において、要求側アプリケーションの決定されたデータ転送レートに対処するために、複数の仮想ポートが集約される。この集約は、多種多様な方法で実施することができる。たとえば、様々な実施形態において、この集約は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0104】
1214において、仮想ポート(たとえば、集約された又は単一のもの)を要求側アプリケーションに割り当てることができ、要求側アプリケーションに割り当てられた仮想ポートがオペレーティングシステムインターフェースに通知される。この割当ては、多種多様な方法で実施することができる。たとえば、様々な実施形態において、この割当ては、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0105】
図12の1216において、割り当てられた仮想ポートを使用してアプリケーションが完了したかに関する判定が行われる。そうである場合、方法1200は、動作1206の始めに進むことができる。しかしながら、割り当てられた仮想ポートを使用してアプリケーションが完了していないと1216で判定された場合、方法1200は動作1216の始めに進むことができる。この判定は多種多様な方法で実施できることに留意されたい。たとえば、様々な実施形態において、この判定は、本開示によって説明及び/又は図示したものと同様の任意の方法で実施することができるが、このようなものに限定されない。
【0106】
図13は、本発明によるコンピューティングシステム1300の一例を示すブロック図を示している。その最も基本的な構成では、システム1300は、方法900を実行するための少なくとも1つの処理ユニット(又はプロセッサ)1302と、メモリ1304と、を含むことができる。この最も基本的な構成は、
図13に破線1306で示している。システム1300は、本開示の様々な実施形態による多種多様な方法で実装されてもよい。たとえば、システム1300は、ネットワークスイッチシステム、ネットワークルータシステム、ネットワーク通信デバイス、ネットワーク機器、コンピュータシステム、ラップトップコンピュータシステム、スマートフォン、及びデスクトップコンピュータシステムなどとして実装することができるが、これらに限定されない。
【0107】
本開示の様々な実施形態を詳細に参照しており、その例を添付の図面に示している。様々な実施形態に関連して説明しているが、これらの様々な実施形態が本開示を限定することを意図していないということは理解されよう。それどころか、本開示は、特許請求の範囲に従って解釈される本開示の範囲内に含むことができる代替例、修正例、及び均等物をカバーすることを意図している。さらに、本開示の様々な実施形態の前述の詳細な説明では、本開示の完全な理解を提供するために、数多くの特定の詳細を記載している。しかしながら、本開示がこれらの特定の詳細がなくとも、又はその均等物を用いて実践できることは当業者には認識されよう。他の例では、本開示の様々な実施形態の態様を不必要に不明瞭にしないように、よく知られている方法、手順、コンポーネント、及び回路については詳細に説明していない。
【0108】
本明細書では明確にするために方法を番号付きの動作のシーケンスとして示すことがあるが、番号付けは必ずしも動作の順序を示すものではないということに留意されたい。動作の一部はスキップされてもよく、並行して実行されてもよく、シーケンスの厳密な順序を維持する必要なく実行されてもよいということを理解されたい。本開示による様々な実施形態を示す図面は半概略的で縮尺通りではなく、特に一部の寸法は明確に表すためのものであり、図面の図では誇張して示している。同様に、説明を容易にするために図面のビューは一般に同様の向きを示しているが、図中のこの描写はほとんどの場合任意である。一般に、本開示による様々な実施形態は任意の向きで動作させることができる。
【0109】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する演算の手順、論理ブロック、処理、及び他の記号表現に関して提示している。これらの説明及び表現は、データ処理技術の当業者が自身の取組みの内容を他の当業者に効果的に伝えるために使用される。本開示では、手順、論理ブロック、又は処理などは、所望の結果をもたらす首尾一貫した動作又は命令のシーケンスであると考えられる。これらの動作は、物理量の物理的操作を利用するものである。通常、必ずというわけではないが、これらの量は、コンピューティングシステムで記憶、転送、結合、比較、及び別の方法で操作することが可能な電気信号又は磁気信号の形態を取る。これらの信号をトランザクション、ビット、値、要素、記号、文字、サンプル、又はピクセルなどと呼ぶことは、主に一般的な使用上の理由から、場合により好都合であることが分かっている。
【0110】
しかしながら、これらの用語及び類似の用語は全て適切な物理量に関連付けられるべきであり、これらの量に適用される好都合なラベルにすぎないことに留意されたい。特に断りのない限り、以下の議論から明らかなように、本開示全体を通じて、たとえば、「生成する」、「決定する」、「割り当てる」、「集約する」、「利用する」、「仮想化する」、「処理する」、「アクセスする」、「実行する」、又は「記憶する」などの用語を使用する議論は、コンピュータシステム又は同様の電子コンピューティングデバイス若しくはプロセッサのアクション及び処理を指すことは理解される。コンピューティングシステム又は同様の電子コンピューティングデバイス若しくはプロセッサは、コンピュータシステムメモリ、レジスタ、他のこのような情報ストレージ、及び/又は他のコンピュータ可読媒体内の物理(電子)量として表されるデータを操作して、コンピュータシステムメモリ若しくはレジスタ、又は他のこのような情報ストレージ、伝送若しくは表示デバイス内の物理量として同様に表される他のデータに変換する。
【0111】
本出願の実施形態における技術的解決策は、本出願の実施形態の図面を参照して前述のセクションで明確且つ完全に説明している。本発明の説明及び特許請求の範囲並びに上記の図面における「第1」、及び「第2」などの用語は、同様の対象を区別するために使用しており、必ずしも特定の並び又は順序を説明するために使用しているわけではないということに留意されたい。これらの番号は、本明細書に記載した本発明の実施形態が本明細書に図示又は記載した以外の順序で実施できるように適宜交換されてもよいということを理解されたい。
【0112】
本実施形態の方法において説明した機能は、ソフトウェア機能ユニットの形態で実装され、スタンドアロン製品として販売又は使用される場合、コンピューティングデバイス可読記憶媒体に記憶することができる。このような理解に基づいて、従来技術に寄与する本出願の実施形態の一部分又は技術的解決策の一部分は、本出願の様々な実施形態に記載した方法のステップの全部又は一部をコンピューティングデバイス(これはパーソナルコンピュータ、サーバ、モバイルコンピューティングデバイス、又はネットワークデバイスなどでもよい)に実行させるための複数の命令を含む記憶媒体に記憶されたソフトウェア製品の形態で具現化されてもよい。上記の記憶媒体には、プログラムコードを記憶することができるUSBドライブ、ポータブルハードディスク、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク、及び光ディスクなどが含まれる。
【0113】
本出願の明細書における様々な実施形態は漸進的(progressive)に説明しており、各実施形態は他の実施形態との相違点に焦点を当てており、様々な実施形態の間の同一又は類似の部分は別のケースに委ねることがある。記載した実施形態は、本出願の実施形態の全てではなく、実施形態の一部にすぎない。本発明の技術から逸脱することなく本出願の実施形態に基づいて当業者によって得られる他の全ての実施形態は、本出願の範囲内にある。
【0114】
開示した実施形態の上記の説明により、当業者は本出願を作成又は使用することが可能になる。これらの実施形態に対する様々な変更は当業者には明らかであり、本明細書で定義した一般原則は、本出願の思想又は範囲から逸脱することなく他の実施形態で実施することができる。したがって、本出願は、本明細書に示した実施形態ではなく、本明細書に開示した原理及び新規の特徴と一致する最も広い範囲に限定される。
[発明の項目]
[項目1]
ネットワークデバイスであって、
予め定められた固定データレートでネットワークを介してデータを転送するための複数の物理送受信ポートと、
前記複数の物理送受信ポートに結合された仮想回路と、
を備え、前記仮想回路が、
第1の着信データストリームを第1の予め定められていないデータレートで送信するためにプロセッサからの第1の転送要求を受信し、
前記第1の着信データストリームを受信するための第1の仮想ポートを確立し、
前記第1の転送要求に応答して前記複数の物理送受信ポートから1つ又は複数の物理送受信ポートを選択して1つ又は複数の選択された物理送受信ポートを形成し、ここで、前記1つ又は複数の選択された物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有し、
前記1つ又は複数の物理送受信ポートが選択された後、前記仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信し、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成し、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整され、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送する、
ネットワークデバイス。
[項目2]
前記第1の着信データストリームの前記第1の予め定められていないデータレートが、物理送受信ポートの前記予め定められた固定データレートよりも低い場合、前記仮想回路が、前記複数の物理送受信ポートから物理送受信ポートを選択して、前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する選択された物理送受信ポートを形成する、
項目1に記載のネットワークデバイス。
[項目3]
前記仮想回路が前記予め定められた固定データレートで流れるように出力データストリームをさらに形成し、前記出力データストリームが前記着信データストリームからの前記データを組み込んでおり、前記出力データストリーム内に組み込まれた前記着信データストリームからの前記データが前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、
項目2に記載のネットワークデバイス。
[項目4]
仮想回路がさらに、
前記選択された物理送受信ポートの前記予め定められた固定データレートよりも低い第2の予め定められていないデータレートで第2の着信データストリームを送信するために前記プロセッサからの第2の転送要求を受信し、
前記第2の着信データストリームを受信するための第2の仮想ポートを確立し、
前記選択された物理送受信ポートが前記第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定する、
項目3に記載のネットワークデバイス。
[項目5]
前記仮想回路がさらに、
前記利用可能なデータレートを決定した後、前記プロセッサから前記第2の予め定められていないデータレートの前記第2の着信データストリームを受信し、
前記選択された物理送受信ポートの前記利用可能なデータレートが前記第2の予め定められていないデータレートよりも高い場合、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データを組み込むように修正された出力データストリームを生成し、ここで、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データが、選択された送信クロック信号に合わせてタイミング調整され、
前記選択された物理送受信ポートに前記修正された出力データストリームを転送する、
項目4に記載のネットワークデバイス。
[項目6]
前記予め定められた固定データレートがxビット/秒のデータレートを有し、前記仮想回路が、物理送受信ポートのxビット/秒の前記予め定められた固定データレートを小部分に細分し、前記物理送受信ポートの前記予め定められた固定データレートよりも低い予め定められていないデータレートを有する前記第1及び第2の入力データストリームに前記小部分を割り当て、結合されたデータストリームの合計のビット/秒が前記物理送受信ポートのxビット/秒の前記予め定められた固定データレート以下になるように前記小部分を結合する、
項目5に記載のネットワークデバイス。
[項目7]
前記選択された物理送受信ポートが前記第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定することが、前記第1の着信データストリームの前記予め定められた固定データレートから前記第1の予め定められていないデータレートを差し引いて前記利用可能なデータレートを取得することと、前記利用可能なデータレートを前記第2の予め定められていないデータレートと比較することと、を含む、
項目5に記載のネットワークデバイス。
[項目8]
前記着信データストリームの前記予め定められていないデータレートが物理送受信ポートの前記予め定められた固定データレートよりも高い場合、前記仮想回路が、
前記プロセッサから前記着信データストリームを受信するための仮想ポートを確立し、
前記複数の物理送受信ポートから2つ以上の物理送受信ポートを選択し、ここで、前記2つ以上の選択された物理送受信ポートが、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する、
項目1に記載のネットワークデバイス。
[項目9]
前記仮想回路がさらに、前記仮想ポートから受信された前記着信データストリームを、前記2つ以上の選択された物理送受信ポートに対応する2つ以上の分割されたデータストリームに分割し、前記2つ以上の分割されたデータストリームのそれぞれが、前記予め定められた固定データレートよりも低い予め定められていないデータレートを有する、
項目8に記載のネットワークデバイス。
[項目10]
前記仮想回路がさらに、前記予め定められた固定データレートで流れるように2つ以上の出力データストリームを形成し、前記2つ以上の出力データストリームが前記2つ以上の分割されたデータストリームからの前記データを組み込んでおり、前記2つ以上の出力データストリーム内に組み込まれた前記分割されたデータストリームからの前記データが、前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、
項目9に記載のネットワークデバイス。
[項目11]
ネットワークデバイスを動作させる方法であって、
第1の着信データストリームを第1の予め定められていないデータレートで送信するためにプロセッサからの第1の転送要求を受信するステップと、
前記第1の着信データストリームを受信するための仮想ポートを確立するステップと、
予め定められた固定データレートでネットワークを介してデータを送信する1つ又は複数の物理送受信ポートを複数の物理送受信ポートから選択して1つ又は複数の選択された物理送受信ポートを形成するステップであって、前記1つ又は複数の選択された物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する、選択するステップと、
前記1つ又は複数の物理送受信ポートが選択された後、前記仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信するステップと、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成するステップであって、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成するステップと、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送するステップと、
を含む、方法。
[項目12]
前記第1の着信データストリームの前記第1の予め定められていないデータレートが、物理送受信ポートの前記予め定められた固定データレートよりも低い場合、
前記複数の物理送受信ポートから物理送受信ポートを選択して選択された物理送受信ポートを形成するステップであって、前記選択された物理送受信ポートが前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する、選択するステップと、
前記着信データストリームを受信するための仮想ポートを確立するステップと、
前記選択された物理送受信ポートに対応する前記予め定められた固定データレートで流れるように出力データストリームを形成するステップであって、前記出力データストリームが前記着信データストリームからの前記データを組み込んでおり、前記出力データストリーム内に組み込まれた前記着信データストリームからの前記データが、前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成するステップと、
をさらに含む、
項目11に記載の方法。
[項目13]
前記選択された物理送受信ポートの前記予め定められた固定データレートよりも低い第2の予め定められていないデータレートで第2の着信データストリームを送信するために前記プロセッサからの第2の要求を受信するステップと、
前記選択された物理送受信ポートが前記第2の予め定められていないデータレートよりも高い利用可能なデータレートを有するか否かを判定するステップと、
前記利用可能なデータレートを決定した後、前記プロセッサから前記第2の着信データストリームを受信するステップと、
前記選択された物理送受信ポートの前記利用可能なデータレートが前記第2の予め定められていないデータレートよりも高い場合、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データを組み込むように再形成された出力データストリームを生成するステップであって、前記第1の着信データストリーム及び前記第2の着信データストリームからの前記データが、選択された送信クロック信号に合わせてタイミング調整される、生成するステップと、
前記選択された物理送受信ポートに前記再形成された出力データストリームを転送するステップと、
をさらに含む、
項目12に記載の方法。
[項目14]
前記第1の着信データストリームの前記第1の予め定められていないデータレートが物理送受信ポートの前記予め定められた固定データレートよりも高い場合、
前記複数の物理送受信ポートから2つ以上の物理送受信ポートを選択するステップであって、前記2つ以上の選択された物理送受信ポートが、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する、選択するステップと、
前記着信データストリームを受信するための仮想ポートを確立するステップと、
前記仮想ポートから受信された前記着信データストリームを、前記2つ以上の選択された物理送受信ポートに対応する2つ以上の分割されたデータストリームに分割するステップであって、前記2つ以上の分割されたデータストリームのそれぞれが、前記着信データストリームの前記予め定められていないデータレートよりも低い予め定められていないデータレートを有する、分割するステップと、
をさらに含む、
項目11に記載の方法。
[項目15]
前記予め定められた固定データレートで流れるように2つ以上の出力データストリームを形成するステップであって、前記2つ以上の出力データストリームが前記2つ以上の分割されたデータストリームからの前記データを組み込んでおり、前記2つ以上の出力データストリーム内に組み込まれた前記分割されたデータストリームからの前記データが、前記送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成するステップをさらに含む、
項目14に記載の方法。
[項目16]
ネットワークシステムであって、
ネットワークと、
前記ネットワークに結合された第1のネットワークデバイスであって、
予め定められた固定データレートで前記ネットワークを介してデータを転送するための複数の第1の物理送受信ポートと、
前記複数の第1の物理送受信ポートに結合された第1の仮想回路と、
を有し、前記第1の仮想回路が、
第1の着信データストリームを第1の予め定められていないデータレートで送信するためにプロセッサからの第1の転送要求を受信し、
前記第1の着信データストリームを受信するための第1の仮想ポートを確立し、
前記複数の第1の物理送受信ポートから1つ又は複数の第1の物理送受信ポートを選択して1つ又は複数の選択された第1の物理送受信ポートを形成し、ここで、前記1つ又は複数の選択された第1の物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有し、
前記1つ又は複数の第1の物理送受信ポートが選択された後、前記第1の仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信し、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成し、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整され、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送する、
第1のネットワークデバイスと、
前記ネットワークに結合された第2のネットワークデバイスであって、
前記ネットワークを介してデータを転送するための複数の第2の物理送受信ポートと、
前記複数の第2の物理送受信ポートに結合された第2の仮想回路と、
を有し、前記第2の仮想回路が、
前記1つ又は複数の選択された物理送受信ポートから前記第1の予め定められていないデータレートの前記1つ又は複数の出力データストリームを受信する第1のネットワーク要求を前記第1の仮想回路から受信し、
前記第1の仮想回路からの前記要求に応答して、前記複数の第2の物理送受信ポートから1つ又は複数の第2の物理送受信ポートを選択して、前記1つ又は複数の選択された第1の物理送受信ポートに対応する1つ又は複数の選択された第2の物理送受信ポートを形成し、ここで、前記1つ又は複数の選択された第2の物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた合計固定データレートを有し、
前記選択された1つ又は複数の第2の物理送受信ポートを用いて前記第1のネットワークデバイスから前記1つ又は複数の出力データストリームを受信する、
第2のネットワークデバイスと、
を備える、ネットワークシステム。
[項目17]
前記第2の仮想回路が、
前記1つ又は複数の出力データストリームから前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データを抽出して、前記第1の予め定められていない固定データレートで流れる1つ又は複数の再構成されたデータストリームを形成し、前記1つ又は複数の再構成されたデータストリームが前記1つ又は複数の第1の着信データストリームと実質的に一致し、
第2のプロセッサに前記1つ又は複数の再構成されたデータストリームを転送する、
項目16に記載のネットワークシステム。
[項目18]
前記第1の着信データストリームの前記第1の予め定められていないデータレートが、物理送受信ポートの前記予め定められた固定データレートよりも低い場合、
前記第1の仮想回路が、前記複数の第1の物理送受信ポートから第1の物理送受信ポートを選択して選択された第1の物理送受信ポートを形成し、ここで、前記選択された第1の物理送受信ポートが、前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有し、
前記第2の仮想回路が、前記複数の第2の物理送受信ポートから第2の物理送受信ポートを選択して選択された第2の物理送受信ポートを形成し、ここで、前記選択された第2の物理送受信ポートは、対応する選択された第1の物理送受信ポートを有し、前記第1の着信データストリームの前記第1の予め定められていないデータレートよりも高い予め定められた固定データレートを有する、
項目17に記載のネットワークシステム。
[項目19]
前記第1の着信データストリームの前記第1の予め定められていないデータレートが物理送受信ポートの前記予め定められた固定データレートよりも高い場合、前記第1の仮想回路が、前記複数の第1の物理送受信ポートから2つ以上の第1の物理送受信ポートを選択し、ここで、前記2つ以上の選択された第1の物理送受信ポートは、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有し、前記第2の仮想回路が、前記選択された2つ以上の第1の物理送受信ポートに対応する2つ以上の第2の物理送受信ポートを前記複数の第2の物理送受信ポートから選択し、ここで、前記2つ以上の選択された第2の物理送受信ポートが、前記着信データストリームの前記予め定められていないデータレートよりも高い予め定められた合計固定データレートを有する、
項目17に記載のネットワークシステム。
[項目20]
プログラム命令が埋め込まれた非一時的コンピュータ可読記憶媒体であって、前記プログラム命令が、プロセッサによって実行された場合に、ネットワークデバイスを動作させる方法を前記プロセッサに実行させ、前記方法が、
第1の着信データストリームを第1の予め定められていないデータレートで送信するためにプロセッサからの第1の転送要求を受信することと、
前記第1の着信データストリームを受信するための仮想ポートを確立することと、
予め定められた固定データレートでネットワークを介してデータを送信する1つ又は複数の物理送受信ポートを複数の物理送受信ポートから選択して1つ又は複数の選択された物理送受信ポートを形成することであって、前記1つ又は複数の選択された物理送受信ポートが、前記第1の予め定められていないデータレートよりも高い予め定められた総固定データレートを有する、形成することと、
前記1つ又は複数の物理送受信ポートが選択された後、前記仮想ポートを介して前記プロセッサから前記第1の着信データストリームを受信することと、
前記予め定められた固定データレートで流れるように1つ又は複数の出力データストリームを形成することであって、前記1つ又は複数の出力データストリームが前記第1の着信データストリームからの前記データを組み込んでおり、前記1つ又は複数の出力データストリーム内に組み込まれた前記第1の着信データストリームからの前記データが、前記予め定められた固定データレートで流れる送信クロック信号内の選択されたパルスに合わせてタイミング調整される、形成することと、
前記1つ又は複数の選択された物理送受信ポートに前記1つ又は複数の出力データストリームを転送することと、
を含む、非一時的コンピュータ可読記憶媒体。