JP2023523915A - virtual network device - Google Patents

virtual network device Download PDF

Info

Publication number
JP2023523915A
JP2023523915A JP2022563954A JP2022563954A JP2023523915A JP 2023523915 A JP2023523915 A JP 2023523915A JP 2022563954 A JP2022563954 A JP 2022563954A JP 2022563954 A JP2022563954 A JP 2022563954A JP 2023523915 A JP2023523915 A JP 2023523915A
Authority
JP
Japan
Prior art keywords
virtual
frame
encapsulated
frames
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022563954A
Other languages
Japanese (ja)
Inventor
ミン リー,
ユアン ヤン ジア,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Primewan Ltd
Original Assignee
Primewan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/868,345 external-priority patent/US11245645B2/en
Application filed by Primewan Ltd filed Critical Primewan Ltd
Publication of JP2023523915A publication Critical patent/JP2023523915A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless

Abstract

仮想ネットワークデバイス(100)が、送信ネットワーク物理ポート(216)の数をより大きな数へと変換するために、いくつかの送信仮想ポート(vPORTa)及び仮想スイッチ(214)を、そして受信ネットワーク物理ポート(610)の数をより大きな数へと変換するために、いくつかの受信仮想ポート(vPORTb)及び仮想スイッチ(612)を利用する。【選択図】 図2AIn order for the virtual network device (100) to convert the number of outgoing network physical ports (216) to a larger number, several outgoing virtual ports (vPORTa) and virtual switches (214) and incoming network physical ports To convert the number of (610) to a larger number, it utilizes several receiving virtual ports (vPORTb) and virtual switches (612). [Selection drawing] Fig. 2A

Description

本出願は、コンピュータネットワークの分野に関し、特に、仮想ネットワークデバイスに関する。 The present application relates to the field of computer networks, and more particularly to virtual network devices.

ワイドエリアネットワーク(WAN)は、ネットワークデバイスどうしの相互接続されているウェブであり、このウェブは典型的に、州全体にわたって、又は国全体にわたってなど、広い地理的エリアにわたってローカルエリアネットワーク又はメトロポリタンエリアネットワークを相互接続する。WANは、リモートに配置されているコンピュータどうしがネットワークデバイスを介して互いと通信することを可能にする。 A wide area network (WAN) is an interconnected web of network devices, typically local or metropolitan area networks that span large geographic areas, such as statewide or countrywide. interconnect. WANs allow remotely located computers to communicate with each other through network devices.

従来のネットワークデバイスは典型的に、たとえば、10/100/1000Mbps(メガビット/秒)、10Gbps(ギガビット/秒)、40Gbps、及び100Gbpsの接続など、予め定められている固定されたデータレートで動作する1つ又は複数の物理ネットワークポートを含む。ネットワークを介したコンピュータシステムどうしの間における通信を可能にすることの一環として、従来のネットワークデバイスは、ネットワークポートの転送スピードをネゴシエートし、そのプロセス中に、ネットワークポートの転送スピードは固定される。 Conventional network devices typically operate at predetermined fixed data rates, e.g., 10/100/1000 Mbps (megabits per second), 10 Gbps (gigabits per second), 40 Gbps, and 100 Gbps connections. Contains one or more physical network ports. As part of enabling communication between computer systems over a network, conventional network devices negotiate the transfer speed of a network port, during which process the transfer speed of the network port is fixed.

従来のネットワークデバイスの不利な点のうちの1つは、利用可能であるよりも多くの物理ポートに対する必要性がある場合が多いということであり、このことは、低減されたサービス又はコストのかさむアップグレードをもたらす。結果として、ポートに対する高まる必要性に対応するためのアプローチに対する必要性がある。 One of the disadvantages of conventional network devices is that there is often a need for more physical ports than are available, which can lead to reduced service or increased costs. bring upgrades. As a result, there is a need for an approach to meet the growing need for ports.

本発明は、利用可能な物理ポートの数を実質的に増やす仮想ポートを有する仮想ネットワークデバイスを提供する。この仮想ネットワークデバイスは、フレーミング回路を含み、フレーミング回路は、複数の入力フレームを受信し、それらの複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定し、そのフレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定する。フレーミング回路はまた、複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成する。それぞれの仮想出口デバイスは、受信仮想ポートを有する。複数の第1のカプセル化されたフレームは、複数のヘッダを有する。それらの複数のヘッダは、複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する。加えて、この仮想ネットワークデバイスは、フレーミング回路に結合されている複数の送信仮想ポートを含む。それらの複数の送信仮想ポートは、複数の第1のカプセル化されたフレームのヘッダにおける仮想出口デバイスに基づいて複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定する。複数の送信仮想ポートはさらに、複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成する。それぞれの第2のカプセル化されたフレームは、ヘッダを有する。第2のカプセル化されたフレームのヘッダは、第1のカプセル化されたフレームのネクストホップに基づいて第2のカプセル化されたフレームのネクストホップを、そして入力フレームの関連付けられている仮想出口デバイスの受信仮想ポートを識別する。送信仮想ポートは、メモリの第1の部分を含む。さらに、仮想ネットワークデバイスは、複数の送信仮想ポートに結合されている送信仮想スイッチを含む。その送信仮想スイッチは、送信仮想ポートをネットワーク物理ポートに選択的に結合する。 The present invention provides virtual network devices with virtual ports that substantially increase the number of available physical ports. The virtual network device includes a framing circuit that receives a plurality of input frames, examines the plurality of input frames to identify a frame type for each input frame, and based on the frame type: , to identify the virtual egress device associated with each input frame. The framing circuit also encapsulates a plurality of input frames to form a plurality of first encapsulated frames. Each virtual egress device has a receiving virtual port. The multiple first encapsulated frames have multiple headers. The multiple headers identify multiple virtual egress devices associated with multiple input frames. Additionally, the virtual network device includes a plurality of transmit virtual ports coupled to the framing circuit. The multiple transmit virtual ports identify multiple next hops in the virtual network for the multiple first encapsulated frames based on virtual egress devices in headers of the multiple first encapsulated frames. The multiple transmit virtual ports further encapsulate the multiple first encapsulated frames to form multiple second encapsulated frames. Each secondary encapsulated frame has a header. The header of the second encapsulated frame identifies the next hop of the second encapsulated frame based on the next hop of the first encapsulated frame and the associated virtual egress device of the input frame. Identifies the incoming virtual port of the The transmit virtual port includes a first portion of memory. Additionally, the virtual network device includes a transmit virtual switch coupled to the plurality of transmit virtual ports. The transmit virtual switch selectively couples transmit virtual ports to network physical ports.

本発明はまた、仮想ネットワークデバイスの動作方法を含む。この方法は、複数の入力フレームを受信するステップと、それらの複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、そのフレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップとを含む。それぞれの仮想出口デバイスは、受信仮想ポートを有する。この方法はまた、複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップを含む。複数の第1のカプセル化されたフレームは、複数のヘッダを有する。それらの複数のヘッダは、複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する。加えて、この方法は、複数の第1のカプセル化されたフレームのヘッダにおける仮想出口デバイスに基づいて複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップを含む。さらに、この方法は、複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップを含む。それぞれの第2のカプセル化されたフレームは、ヘッダを有する。第2のカプセル化されたフレームのヘッダは、第1のカプセル化されたフレームのネクストホップに基づいて第2のカプセル化されたフレームのネクストホップを、そして入力フレームの関連付けられている仮想出口デバイスの受信仮想ポートを識別する。送信仮想ポートは、共有メモリの第1の部分を含む。この方法は、送信仮想ポートをネットワーク物理ポートに選択的に結合するステップをさらに含む。 The invention also includes a method of operating a virtual network device. The method includes the steps of receiving a plurality of input frames, examining the plurality of input frames to identify a frame type for each input frame, and associating with each input frame based on the frame type. identifying a virtual egress device that is being accessed. Each virtual egress device has a receiving virtual port. The method also includes encapsulating a plurality of input frames to form a plurality of first encapsulated frames. The multiple first encapsulated frames have multiple headers. The multiple headers identify multiple virtual egress devices associated with multiple input frames. Additionally, the method includes identifying a plurality of next hops in the virtual network for the plurality of first encapsulated frames based on virtual egress devices in headers of the plurality of first encapsulated frames. . Additionally, the method includes encapsulating the plurality of first encapsulated frames at the plurality of transmit virtual ports to form a plurality of second encapsulated frames. Each secondary encapsulated frame has a header. The header of the second encapsulated frame identifies the next hop of the second encapsulated frame based on the next hop of the first encapsulated frame and the associated virtual egress device of the input frame. Identifies the receiving virtual port of the The transmit virtual port includes a first portion of shared memory. The method further includes selectively coupling the transmission virtual port to the network physical port.

本発明はまた、プログラム命令が埋め込まれている非一時的コンピュータ可読記憶媒体を提供し、そのプログラム命令は、プロセッサによって実行されたときに、仮想ネットワークデバイスの動作方法をプロセッサに実行させる。その方法は、複数の入力フレームを受信するステップと、それらの複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、そのフレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップとを含む。それぞれの仮想出口デバイスは、受信仮想ポートを有する。その方法はまた、複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップを含む。複数の第1のカプセル化されたフレームは、複数のヘッダを有する。それらの複数のヘッダは、複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する。加えて、その方法は、複数の第1のカプセル化されたフレームのヘッダにおける仮想出口デバイスに基づいて複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップを含む。さらに、その方法は、複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップを含む。それぞれの第2のカプセル化されたフレームは、ヘッダを有する。第2のカプセル化されたフレームのヘッダは、第1のカプセル化されたフレームのネクストホップに基づいて第2のカプセル化されたフレームのネクストホップを、そして入力フレームの関連付けられている仮想出口デバイスの受信仮想ポートを識別する。その方法は、送信仮想ポートをネットワーク物理ポートに選択的に結合するステップをさらに含む。 The present invention also provides a non-transitory computer-readable storage medium having program instructions embedded therein which, when executed by a processor, cause the processor to perform a method of operating a virtual network device. The method includes the steps of receiving a plurality of input frames, examining the plurality of input frames to identify a frame type for each input frame, and associating with each input frame based on the frame type. identifying a virtual egress device that is being accessed. Each virtual egress device has a receiving virtual port. The method also includes encapsulating a plurality of input frames to form a plurality of first encapsulated frames. The multiple first encapsulated frames have multiple headers. The multiple headers identify multiple virtual egress devices associated with multiple input frames. Additionally, the method includes identifying a plurality of next hops in a virtual network for the plurality of first encapsulated frames based on virtual egress devices in headers of the plurality of first encapsulated frames. . Further, the method includes encapsulating the plurality of first encapsulated frames at a plurality of transmit virtual ports to form a plurality of second encapsulated frames. Each secondary encapsulated frame has a header. The header of the second encapsulated frame identifies the next hop of the second encapsulated frame based on the next hop of the first encapsulated frame and the associated virtual egress device of the input frame. Identifies the receiving virtual port of the The method further includes selectively coupling the transmission virtual port to the network physical port.

本発明の原理が利用される例示的な実施形態を示す以降の詳細な説明及び添付の図面を参照することによって、本発明の特徴及び利点のよりよい理解が得られるであろう。 A better understanding of the features and advantages of the present invention may be obtained by reference to the following detailed description and accompanying drawings, which illustrate illustrative embodiments in which the principles of the invention are employed.

図1は、本発明による仮想ネットワーク100の一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of a virtual network 100 according to the invention. 図2Aは、本発明による送信回路200の一例を示すブロック図である。FIG. 2A is a block diagram illustrating an example of a transmitter circuit 200 according to the invention. 図2Bは、本発明による送信回路250の一例を示すブロック図である。FIG. 2B is a block diagram illustrating an example of a transmit circuit 250 in accordance with the present invention. 図3Aは、本発明による、送信回路200の動作方法300の一例を示すフローチャートである。FIG. 3A is a flowchart illustrating an example method 300 of operating the transmitter circuit 200 in accordance with the present invention. 図3Bは、本発明による、送信回路200の動作方法350の一例を示すフローチャートである。FIG. 3B is a flow chart illustrating an example method 350 of operating the transmitter circuit 200 in accordance with the present invention. 図4は、本発明の代替実施形態による送信回路400の一例を示すブロック図である。FIG. 4 is a block diagram illustrating an example of a transmit circuit 400 according to an alternative embodiment of the invention. 図5は、本発明の代替実施形態による送信回路500の一例を示すブロック図である。FIG. 5 is a block diagram illustrating an example of a transmit circuit 500 according to an alternative embodiment of the invention. 図6は、本発明による受信回路600の一例を示すブロック図である。FIG. 6 is a block diagram showing an example of a receiving circuit 600 according to the invention. 図7は、本発明による、受信回路600の動作方法700の一例を示すフローチャートである。FIG. 7 is a flowchart illustrating an example method 700 of operation of receiver circuit 600 in accordance with the present invention. 図8は、本発明の代替実施形態による受信回路800の一例を示すブロック図である。FIG. 8 is a block diagram illustrating an example of a receiver circuit 800 according to an alternative embodiment of the invention. 図9は、本発明の代替実施形態による受信回路900の一例を示すブロック図である。本発明の原理が利用される例示的な実施形態を示す以降の詳細な説明及び添付の図面を参照することによって、本発明の特徴及び利点のよりよい理解が得られるであろう。FIG. 9 is a block diagram illustrating an example of receiver circuitry 900 according to an alternative embodiment of the invention. A better understanding of the features and advantages of the present invention may be obtained by reference to the following detailed description and accompanying drawings, which illustrate illustrative embodiments in which the principles of the invention are employed.

発明を実施するための最良のモードBest mode for carrying out the invention

図1は、本発明による仮想ネットワークデバイス100の一例を示すブロック図を示している。以降でさらに詳細に記述されているように、仮想ネットワークデバイス100におけるローカル物理ポートの実質的な数が、それらのローカル物理ポートのうちの1つ又は複数を複数の仮想ローカル物理ポートへと変換することによって増やされ、ネットワーク物理ポートの実質的な数が、それらのネットワーク物理ポートのうちの1つ又は複数を複数の仮想ネットワーク物理ポートへと変換することによって増やされる。 FIG. 1 shows a block diagram illustrating an example of a virtual network device 100 according to the invention. As described in further detail below, a substantial number of local physical ports in the virtual network device 100 transform one or more of those local physical ports into multiple virtual local physical ports. , the effective number of network physical ports is increased by transforming one or more of those network physical ports into multiple virtual network physical ports.

仮想ネットワークデバイス100は、ローカルルータ/スイッチをリモートルータ/スイッチと相互接続する仮想ネットワークにおけるコンポーネントである。仮想ネットワークは、ローカルルータ/スイッチに結合されている、仮想ネットワークへの仮想入口デバイスとして機能する仮想ネットワークデバイス100と、リモートルータ/スイッチに結合されている、仮想ネットワークからの仮想出口デバイスとして機能する仮想ネットワークデバイス100とを含む。 A virtual network device 100 is a component in a virtual network that interconnects a local router/switch with remote routers/switches. A virtual network is a virtual network device 100, coupled to a local router/switch, acting as a virtual ingress device to the virtual network, and coupled to a remote router/switch, acting as a virtual egress device from the virtual network. and a virtual network device 100 .

図1において示されているように、仮想ネットワークデバイス100は、送信回路110を含み、送信回路110は、ルータ/スイッチなどのローカルネットワークデバイスから、データのセットトップボックス(STB)、パーソナルコンピュータ(PC)、及びビデオフレームなど、データのフレームをそれぞれが受信するいくつかのローカル物理ポート112と、データのフレームを仮想ネットワークへそれぞれが出力するいくつかのネットワーク物理ポート114とを有する。 As shown in FIG. 1, the virtual network device 100 includes a transmission circuit 110 that transmits data from a local network device such as a router/switch to a set-top box (STB), personal computer (PC), etc. ), and a number of local physical ports 112 each receiving frames of data, such as video frames, and a number of network physical ports 114 each outputting frames of data to a virtual network.

図1においてさらに示されているように、仮想ネットワークデバイス100はまた、受信回路120を含み、受信回路120は、ルータ/スイッチなどのローカルネットワークデバイスへデータのフレームをそれぞれが出力するいくつかのローカル物理ポート122と、仮想ネットワークからデータのフレームをそれぞれが受信するいくつかのネットワーク物理ポート124とを有する。一実施形態においては、ローカル物理ポート112及び122のうちの1つ又は複数は、送信回路110と受信回路120との間において共有されることが可能であり、ネットワーク物理ポート114及び124のうちの1つ又は複数は、送信回路110と受信回路120との間において共有されることが可能である。 As further shown in FIG. 1, the virtual network device 100 also includes receive circuitry 120, which is a number of local network devices that each output frames of data to local network devices such as routers/switches. It has a physical port 122 and a number of network physical ports 124 each receiving frames of data from the virtual network. In one embodiment, one or more of local physical ports 112 and 122 may be shared between transmit circuitry 110 and receive circuitry 120, and network physical ports 114 and 124 may be shared. One or more may be shared between transmit circuitry 110 and receive circuitry 120 .

加えて、仮想ネットワークデバイス100は、送信回路110及び受信回路120の両方に結合されている共有メモリ130を含む。共有メモリ130は、仮想ネットワークへ出力されることになるデータのフレームを一時的に格納する送信キューと、仮想ネットワークから受信されたデータのフレームを一時的に格納する受信キューとを含む。 In addition, virtual network device 100 includes shared memory 130 coupled to both transmit circuitry 110 and receive circuitry 120 . Shared memory 130 includes a transmit queue that temporarily stores frames of data to be output to the virtual network and a receive queue that temporarily stores frames of data received from the virtual network.

図2Aは、本発明による送信回路200の一例を示すブロック図を示している。図2Aにおいて示されているように、送信回路200は、ローカル物理ポート210と、ローカル物理ポート210に結合されているフレーミング回路212と、フレーミング回路212に結合されているいくつかの送信仮想ポートvPORTa1~vPORTanとを含む。 FIG. 2A shows a block diagram illustrating an example of a transmitter circuit 200 according to the invention. As shown in FIG. 2A, transmit circuitry 200 includes a local physical port 210, a framing circuit 212 coupled to local physical port 210, and a number of transmit virtual ports vPORTa1 coupled to framing circuitry 212. ~ vPORTan.

そしてそれぞれの送信仮想ポートvPORTaは、送信キュー及び送信フレームフォーマッティング回路を含む。加えて、送信回路200はまた、送信仮想ポートvPORTaのうちのそれぞれに結合されている送信仮想スイッチ214と、送信仮想スイッチ214に結合されているネットワーク物理ポート216とを含む。 Each transmit virtual port vPORTa then includes a transmit queue and transmit frame formatting circuitry. In addition, transmit circuitry 200 also includes a transmit virtual switch 214 coupled to each of transmit virtual ports vPORTa and a network physical port 216 coupled to transmit virtual switch 214 .

図3Aは、本発明による、送信回路200の動作方法300の一例を示すフローチャートを示している。図3Aにおいて示されているように、方法300は、310においてフレーミング回路212がローカル物理ポート210から一連の入力フレームを受信することから始まる。方法300は次に312へ移って、その一連の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプ(たとえば、STB、PC、ビデオ)を特定し、次いで314へ移って、そのフレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定する。そしてそれぞれの仮想出口デバイスは、いくつかの受信仮想ポートを有する。 FIG. 3A shows a flow chart illustrating an example method 300 of operating the transmitter circuit 200 in accordance with the present invention. As shown in FIG. 3A, method 300 begins at 310 with framing circuit 212 receiving a series of input frames from local physical port 210 . The method 300 then moves to 312 to examine the sequence of input frames to identify the frame type (e.g., STB, PC, video) for each input frame, and then moves to 314 to determine the frame type based on that frame type. to identify the virtual egress device associated with each input frame. And each virtual egress device has several receiving virtual ports.

これに続いて、方法300は316へ移り、316でフレーミング回路212は、一連の入力フレームをカプセル化して、いくつかの第1のカプセル化された(FE)フレームを形成する。FEフレームは、一連の入力フレームに関連付けられている仮想出口デバイスを識別するヘッダを有する。 Following this, method 300 moves to 316 where framing circuit 212 encapsulates a series of input frames to form a number of first encapsulated (FE) frames. An FE frame has a header that identifies the virtual egress device associated with the sequence of input frames.

この後に、方法300は318へ移り、318で送信仮想ポートvPORTa1~vPORTanは、FEフレームのヘッダにおける仮想出口デバイスに基づいてFEフレームに関する仮想ネットワークにおけるネクストホップを特定する。次に、方法300は320へ移り、320で送信仮想ポートvPORTa1~vPORTanは、FEフレームをカプセル化して、第2のカプセル化された(SE)フレームを形成する。それぞれのSEフレームは、FEフレームのネクストホップに基づいてSEフレームのネクストホップを識別するヘッダを有する。そのヘッダは、入力フレームの関連付けられている仮想出口デバイスの受信仮想ポートも識別する。加えて、送信仮想ポートは、共有メモリの第1の部分を占有する。 After this, the method 300 moves to 318 where the transmitting virtual ports vPORTa1-vPORTan identify the next hop in the virtual network for the FE frame based on the virtual egress device in the header of the FE frame. The method 300 then moves to 320 where the transmit virtual ports vPORTa1-vPORTan encapsulate the FE frame to form a second encapsulated (SE) frame. Each SE frame has a header that identifies the next hop of the SE frame based on the next hop of the FE frame. The header also identifies the receiving virtual port of the associated virtual egress device of the incoming frame. Additionally, the transmit virtual port occupies a first portion of the shared memory.

これに続いて、方法300は322へ移り、322で送信仮想スイッチ214は、送信仮想ポートvPORTa1~vPORTanを循環して、それぞれの送信仮想ポートvPORTaから、固定された繰り返し順序でSEフレームを順次転送して、SEフレームのシーケンスを出力する。たとえば、仮想スイッチ214は、SEフレームのシーケンスを出力することが可能であり、そのシーケンスでは、第1のSEフレームは、vPORT1からのものであり、第2のフレームは、vPORT2からのものであり、第3のフレームは、vPORT3からのものであり、そして第4のフレームは、再びvPORT1からのものである。 Following this, the method 300 moves to 322 where the transmit virtual switch 214 cycles through the transmit virtual ports vPORTa1-vPORTan to sequentially forward SE frames from each transmit virtual port vPORTa in a fixed repeating order. to output a sequence of SE frames. For example, virtual switch 214 may output a sequence of SE frames in which the first SE frame is from vPORT1 and the second frame is from vPORT2. , the third frame is from vPORT3 and the fourth frame is again from vPORT1.

送信仮想ポートvPORTaが空であるか又は部分的にいっぱいである場合には、フレームは生成されない。たとえば、送信仮想ポートvPORT2が空である場合には、ネットワーク物理ポート216は、フレーム1、フレームなし、フレーム3を含むフレームシーケンスを出力する。方法300は次に324へ移り、324でネットワーク物理ポート216は、SEフレームのシーケンスを仮想ネットワークへと送信する。 If the sending virtual port vPORTa is empty or partially full, no frame is generated. For example, if the transmit virtual port vPORT2 is empty, the network physical port 216 will output a frame sequence including frame 1, no frame, frame 3; The method 300 then moves to 324 where the network physical port 216 transmits the sequence of SE frames to the virtual network.

図3Bは、本発明の代替実施形態による、送信回路200の動作方法350の一例を示すフローチャートを示している。方法350は、方法300と同様であり、結果として、両方の方法に共通する要素を示すために同じ参照番号を利用する。 FIG. 3B shows a flowchart illustrating an example method 350 of operating the transmitter circuit 200, according to an alternative embodiment of the present invention. Method 350 is similar to method 300 and, as a result, utilizes the same reference numerals to denote elements common to both methods.

図3Bにおいて示されているように、方法350は、最初に352で方法300から分岐し、352で仮想スイッチ214は、送信仮想ポートvPORTaのうちのいずれかからフル信号が受信されたかどうかを特定する。フル信号は、送信仮想ポートvPORTaにおけるSEフレームが送信される準備ができているということを示す。仮想スイッチ214が送信仮想ポートvPORTaからフル信号を検知した場合には、方法350は354へ移り、354で仮想スイッチ214は、フル信号を出力する送信仮想ポートvPORTaからネットワーク物理ポート216へSEフレームを転送する。 As shown in FIG. 3B, method 350 first branches from method 300 at 352 where virtual switch 214 determines whether a full signal has been received from any of the outgoing virtual ports vPORTa. do. A full signal indicates that SE frames on the transmit virtual port vPORTa are ready to be transmitted. If the virtual switch 214 detects a full signal from the sending virtual port vPORTa, the method 350 moves to 354 where the virtual switch 214 transmits the SE frame to the network physical port 216 from the sending virtual port vPORTa outputting a full signal. Forward.

たとえば、仮想スイッチ214は、送信仮想ポートvPORTa1、送信仮想ポートvPORTa2、及び送信仮想ポートvPORTa3からフル信号を順次受信することが可能である。このケースにおいては、仮想スイッチ214は、SEフレームのシーケンスを出力し、そのシーケンスでは、第1のSEフレームは、送信仮想ポートvPORT1からのものであり、第2のフレームは、送信仮想ポートvPORT2からのものであり、第3のフレームは、送信仮想ポートvPORT3からのものである。 For example, virtual switch 214 may sequentially receive full signals from outgoing virtual port vPORTa1, outgoing virtual port vPORTa2, and outgoing virtual port vPORTa3. In this case, virtual switch 214 outputs a sequence of SE frames in which the first SE frame is from transmitting virtual port vPORT1 and the second frame is from transmitting virtual port vPORT2. and the third frame is from the sending virtual port vPORT3.

代替として、ソース(たとえば、STB、PC、ビデオソース)のうちの1つが、その他のソース(たとえば、STB、PC、ビデオソース)のデータレートよりもはるかに速いデータレートを有することがあり、そしてそのことによって、1つの送信仮想ポートvPORTaが、その他の送信仮想ポートvPORTaよりもはるかに頻繁にフル信号を出力する。 Alternatively, one of the sources (eg, STB, PC, video source) may have a much faster data rate than the other source (eg, STB, PC, video source), and Thereby, one transmitting virtual port vPORTa outputs a full signal much more often than the other transmitting virtual ports vPORTa.

たとえば、ネットワーク物理ポート216が、5フレーム/秒のフレームレートでフレームを送信する場合には、送信仮想ポートvPORTa2は、送信仮想ポートvPORTa1及びvPORTa3のフレームレートのうちのそれぞれよりも3倍速いレートでフレームを出力し、送信仮想ポートvPORTa2は、その他のポートの前に3回フルにシグナリングを行い、送信仮想ポートvPORTa1は、vPORTa3がシグナリングを行う前にシグナリングを行い、次いで仮想スイッチ214は、送信仮想ポートvPORT2からの第1のフレームと、送信仮想ポートvPORT2からの第2のフレームと、送信仮想ポートvPORT2からの第3のフレームと、送信仮想ポートvPORT1からの第4のフレームと、送信仮想ポートvPORT3からの第5のフレームとを含むフレームのシーケンスを転送する。 For example, if the network physical port 216 transmits frames at a frame rate of 5 frames per second, then the sending virtual port vPORTa2 will send frames at a rate three times faster than each of the sending virtual ports vPORTa1 and vPORTa3. frame, sending virtual port vPORTa2 signals full three times before the other ports, sending virtual port vPORTa1 signals before vPORTa3 signals, then virtual switch 214 signals the sending virtual The first frame from port vPORT2, the second frame from sending virtual port vPORT2, the third frame from sending virtual port vPORT2, the fourth frame from sending virtual port vPORT1, and the sending virtual port vPORT3. and the fifth frame from .

フル信号を受信する順序が、仮想スイッチ214によって送信仮想ポートvPORTaからSEフレームが出力される順序を特定する先入れ先出しアプローチに加えて、送信仮想ポートvPORTa~vPORTanは、代替として、送信仮想ポートvPORTaからネットワーク物理ポートへ任意の量及び任意の順序でフレームが転送されることを可能にする優先度スキームを含むことが可能である。 In addition to the first-in-first-out approach in which the order in which full signals are received determines the order in which SE frames are output by virtual switch 214 from transmit virtual port vPORTa, transmit virtual ports vPORTa-vPORTan can alternatively be routed from transmit virtual port vPORTa to the network. A priority scheme can be included that allows frames to be transferred to physical ports in any quantity and in any order.

図3Bを再び参照すると、仮想スイッチ214が、フル信号を出力する送信仮想ポートvPORTaからネットワーク物理ポート216へSEフレームを転送した後に、方法350は356へ移り、356でネットワーク物理ポート216は、SEフレームを送信する。方法300においては、出力されることになるフレームは予測可能であり、その一方で、方法350において出力されることになるフレームは予測可能ではないが、優先度スキームは、あるレベルの予測可能性を提供する。 Referring again to FIG. 3B, after virtual switch 214 forwards the SE frame from the outgoing virtual port vPORTa outputting a full signal to network physical port 216, method 350 moves to 356 where network physical port 216 transfers the SE frame to the network physical port 216. Send a frame. Although in method 300 the frames to be output are predictable, while in method 350 the frames to be output are not, the priority scheme provides some level of predictability. I will provide a.

図2Aの例を再び参照すると、フレーミング回路212は、仮想スイッチ220と、仮想スイッチ220に結合されているフレーマ222とを含む。仮想スイッチ220は、入力フレームのタイプ(たとえば、STB、PC、ビデオ)を検知し、フレームのそのタイプに対応する仮想ポートvPORTaへのフレームに関するルートを静的転送テーブルから特定し、そのフレームをその仮想ポートvPORTaへ向けて出力する。 Referring again to the example of FIG. 2A, framing circuit 212 includes virtual switch 220 and framer 222 coupled to virtual switch 220 . Virtual switch 220 senses the type of incoming frame (e.g., STB, PC, video), identifies a route for the frame to the virtual port vPORTa corresponding to that type of frame from its static forwarding table, and forwards the frame to its It outputs toward the virtual port vPORTa.

この例においては、仮想スイッチ220は、ローカルソースルータ/スイッチによって送信されたSTBフレームを受信し、その受信されたフレームがSTBフレームであることをそのSTBフレームにおけるソース及び/又は宛先MACアドレスから検知する。スイッチ220は次いで、STBフレームを受信するために事前に選択された仮想ポートvPORTa1へ向けてルーティングされている第1の仮想ポートラインP1上にSTBフレームを出力する。 In this example, virtual switch 220 receives a STB frame sent by a local source router/switch and detects from the source and/or destination MAC address in the STB frame that the received frame is a STB frame. do. The switch 220 then outputs the STB frame on the first virtual port line P1 which is routed towards the virtual port vPORTa1 preselected to receive the STB frame.

同様に、仮想スイッチ220は、ローカルソースルータ/スイッチによって送信されたPCフレームを受信し、その受信されたフレームがPCフレームであることをそのPCフレームにおけるソース及び/又は宛先MACアドレスから検知する。スイッチ220は次いで、PCフレームを受信するために事前に選択された仮想ポートvPORTa2へ向けてルーティングされている第2の仮想ポートラインP2上にPCフレームを出力する。 Similarly, virtual switch 220 receives a PC frame transmitted by a local source router/switch and detects from the source and/or destination MAC address in the PC frame that the received frame is a PC frame. Switch 220 then outputs the PC frame on second virtual port line P2 which is routed to virtual port vPORTa2 preselected to receive the PC frame.

仮想スイッチ220はまた、ローカルルータ/スイッチによって送信されたビデオフレームを受信し、その受信されたフレームがビデオフレームであることをそのビデオフレームにおけるソース及び/又は宛先MACアドレスから検知し、次いで、ビデオフレームを受信するために事前に選択された仮想ポートvPORTa3へ向けてルーティングされている第3の仮想ポートラインP3上にビデオフレームを出力する。 Virtual switch 220 also receives a video frame transmitted by a local router/switch, detects from the source and/or destination MAC address in the video frame that the received frame is a video frame, and then Output the video frames on the third virtual port line P3 which is routed to the virtual port vPORTa3 preselected to receive the frames.

フレーマ222は、仮想ポートラインP1上でSTBフレームを受信し、そのSTBフレームをカプセル化して、第1のカプセル化された(FE)STBフレームを形成し、次いでそのFE STBフレームを仮想ポートvPORTa1の送信キューへ転送する。同様に、フレーマ222は、仮想ポートラインP2上でPCフレームを受信し、そのPCフレームをカプセル化して、第1のカプセル化された(FE)PCフレームを形成し、次いでそのFE PCフレームを仮想ポートvPORTa2の送信キューへ転送する。フレーマ222はまた、仮想ポートラインP3上でビデオフレームを受信し、そのビデオフレームをカプセル化して、第1のカプセル化された(FE)ビデオフレームを形成し、次いでそのFEビデオフレームを仮想ポートvPORTa3の送信キューへ転送する。 Framer 222 receives an STB frame on virtual port line P1, encapsulates the STB frame to form a first encapsulated (FE) STB frame, and then sends the FE STB frame to virtual port vPORTa1. Transfer to send queue. Similarly, framer 222 receives a PC frame on virtual port line P2, encapsulates the PC frame to form a first encapsulated (FE) PC frame, and then converts the FE PC frame to a virtual Transfer to the transmit queue of port vPORTa2. Framer 222 also receives a video frame on virtual port line P3, encapsulates the video frame to form a first encapsulated (FE) video frame, and then sends the FE video frame to virtual port vPORTa3. to the transmission queue of

フレーマ222は、プロバイダバックボーンブリッジトラフィックエンジニアリング(PBB-TE)プロトコル又はトランスポートマルチプロトコルラベルスイッチング(T-MPLS)プロトコルなどの従来のプロトコルを利用して、カプセル化されたフレームを生成することが可能である。加えて、FE STBフレーム、FE PCフレーム、及びFEビデオフレームはそれぞれ、仮想出口デバイスのIDを含むいくつかのフィールドを有するヘッダを有する。 Framer 222 may utilize conventional protocols such as Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol or Transport Multiprotocol Label Switching (T-MPLS) protocol to generate encapsulated frames. be. In addition, FE STB frames, FE PC frames, and FE video frames each have a header with several fields containing the ID of the virtual egress device.

たとえば、FEフレームのヘッダは、仮想出口デバイスのMACアドレスに関する出口アドレスフィールド、I-Tagフィールド、又は同様のフィールドを含むことが可能である。ヘッダは、仮想入口デバイスのMACアドレスなど、その他のフィールドを含むことも可能である。この例においては、仮想出口デバイスのMACアドレスは、管理上、仮想入口デバイスに提供される。 For example, the FE frame header may include an egress address field, an I-Tag field, or similar field for the MAC address of the virtual egress device. The header may also contain other fields, such as the MAC address of the virtual ingress device. In this example, the MAC address of the virtual egress device is administratively provided to the virtual ingress device.

送信回路200の仮想ポートvPORTa1におけるフレームフォーマッティング回路は、FE STBフレームを受信し、FE STBフレームのヘッダにおける、仮想出口デバイスのMACアドレスなど、仮想出口デバイスのIDに基づいて静的転送テーブルからFE STBフレームに関する仮想ネットワークにおけるネクストホップを特定し、FE STBフレームをカプセル化して、第2のカプセル化された(SE)STBフレームを形成する。 The frame formatting circuit at virtual port vPORTa1 of transmit circuit 200 receives the FE STB frame and extracts the FE STB from the static forwarding table based on the virtual egress device's ID, such as the virtual egress device's MAC address, in the header of the FE STB frame. Identify the next hop in the virtual network for the frame and encapsulate the FE STB frame to form a second encapsulated (SE) STB frame.

同様に、送信回路200の仮想ポートvPORTa2におけるフレームフォーマッティング回路は、FE PCフレームを受信し、FE PCフレームのヘッダにおける、仮想出口デバイスのMACアドレスなど、仮想出口デバイスのIDに基づいて静的転送テーブルからFE PCフレームに関する仮想ネットワークにおけるネクストホップを特定し、FE PCフレームをカプセル化して、第2のカプセル化された(SE)PCフレームを形成する。 Similarly, the frame formatting circuit at virtual port vPORTa2 of transmit circuit 200 receives the FE PC frame and configures the static forwarding table based on the virtual egress device's ID, such as the virtual egress device's MAC address, in the header of the FE PC frame. from to identify the next hop in the virtual network for the FE PC frame and encapsulate the FE PC frame to form a second encapsulated (SE) PC frame.

加えて、送信回路200の仮想ポートvPORTa3におけるフレームフォーマッティング回路は、FEビデオフレームを受信し、FEビデオフレームのヘッダにおける、仮想出口デバイスのMACアドレスなど、仮想出口デバイスのIDに基づいて静的転送テーブルからFEビデオフレームに関する仮想ネットワークにおけるネクストホップを特定し、FEビデオフレームをカプセル化して、第2のカプセル化された(SE)ビデオフレームを形成する。 In addition, the frame formatting circuit at virtual port vPORTa3 of transmit circuit 200 receives the FE video frame and creates a static forwarding table based on the virtual egress device's ID, such as the virtual egress device's MAC address, in the header of the FE video frame. to identify the next hop in the virtual network for the FE video frame from and encapsulate the FE video frame to form a second encapsulated (SE) video frame.

SE STBフレーム、SE PCフレーム、及びSEビデオフレームはそれぞれ、仮想ネットワークにおけるネクストホップのMACアドレスを識別するネクストホップフィールドと、仮想入口デバイスの仮想ポート番号を識別するソースフィールドSrc_vIDと、仮想入口デバイスの仮想ポート番号に対応する仮想出口デバイスの仮想ポート番号を識別する宛先フィールドDst_vIDとを有するヘッダを含む。この例においては、SE STBフレームに関するソースフィールドSrc_vIDは、仮想ポートvPORTa1である。ラストホップフィールドなど、その他のフィールドが含まれることも可能である。 The SE STB frame, SE PC frame, and SE video frame each have a next hop field that identifies the MAC address of the next hop in the virtual network, a source field Src_vID that identifies the virtual port number of the virtual ingress device, and a virtual ingress device virtual port number. and a destination field Dst_vID identifying the virtual port number of the virtual egress device corresponding to the virtual port number. In this example, the source field Src_vID for the SE STB frame is the virtual port vPORTa1. Other fields may also be included, such as the last hop field.

さらに、仮想スイッチ214は、仮想ポートvPORTa1~vPORTanを循環し、それぞれの仮想ポートvPORTaから第2のカプセル化された(SE)フレームを順次転送して、一連のSEフレームを物理ポート216へ出力する。この例においては、スイッチ214は、仮想ポートvPORTa1から物理ポート216へSE STBフレームを転送し、続いて仮想ポートvPORTa2から物理ポート216へSE PCフレームを転送し、続いて仮想ポートvPORTa3から物理ポート216へSEビデオフレームを転送し、続いて仮想ポートvPORTa1から物理ポート216へSE STBフレームを転送し、そして引き続き同じ様式で、物理ポート216がそれらのフレームを出力する。図2は、送信回路200を、単一のローカルルータ/スイッチからの入力を受信してそれに伴って動作するものとして示しているが、送信回路200は、代替として、複数のルータ/スイッチからの入力を受信してそれに伴って動作することが可能である。 In addition, virtual switch 214 cycles through virtual ports vPORTa1-vPORTan, sequentially forwards a second encapsulated (SE) frame from each virtual port vPORTa, and outputs a series of SE frames to physical port 216. . In this example, switch 214 forwards a SE STB frame from virtual port vPORTa1 to physical port 216, followed by a SE PC frame from virtual port vPORTa2 to physical port 216, followed by a SE PC frame from virtual port vPORTa3 to physical port 216. , followed by SE STB frames from virtual port vPORTa1 to physical port 216, and subsequently physical port 216 outputs those frames in the same fashion. Although FIG. 2 depicts transmit circuit 200 as receiving and operating with input from a single local router/switch, transmit circuit 200 may alternatively receive input from multiple routers/switches. It is capable of receiving input and acting accordingly.

図2Bは、本発明による送信回路250の一例を示すブロック図を示している。送信回路250は、送信回路200と同様であり、結果として、送信回路200及び送信回路250の両方に共通する要素を示すために同じ参照番号を利用する。 FIG. 2B shows a block diagram illustrating an example of a transmit circuit 250 in accordance with the present invention. Transmitter circuit 250 is similar to transmitter circuit 200 and, as a result, uses the same reference numerals to denote elements that are common to both transmitter circuit 200 and transmitter circuit 250 .

図2Bにおいて示されているように、送信回路250は、送信回路250が第1のネットワーク物理ポート216A及び第2のネットワーク物理ポート216Bを含み、それらの両方が仮想スイッチ214に結合されているという点で送信回路200とは異なる。加えて、仮想スイッチ214は、送信仮想ポートvPORTa1とネットワーク物理ポート216Aとの間における連続接続を提供する。さらに、追加の送信仮想ポートvPORTa4が示されている。 As shown in FIG. 2B, transmission circuitry 250 is configured such that transmission circuitry 250 includes a first network physical port 216A and a second network physical port 216B, both of which are coupled to virtual switch 214. It is different from the transmission circuit 200 in this respect. In addition, virtual switch 214 provides a continuous connection between outgoing virtual port vPORTa1 and network physical port 216A. Additionally, an additional outgoing virtual port vPORTa4 is shown.

送信回路250は、送信回路200と実質的に同じに動作するが、ソース(たとえば、STB、PC、又はビデオソース)のうちの1つ又は複数が、ネットワーク物理ポート216A及び216Bの最大フレームレートよりも大きいフレームレートでデータのフレームを出力するという点が異なる。たとえば、ネットワーク物理ポート216A及び216Bのそれぞれは、5フレーム/秒の最大フレームレートを有することが可能である。 Transmit circuitry 250 operates substantially the same as transmit circuitry 200, except that one or more of the sources (e.g., STB, PC, or video sources) are faster than the maximum frame rate of network physical ports 216A and 216B. The difference is that it outputs frames of data at a higher frame rate. For example, each of network physical ports 216A and 216B may have a maximum frame rate of 5 frames/second.

図2Bの例においては、セットトップボックスは、毎秒7つのSTBフレームを出力し、パーソナルコンピュータは、毎秒2つのPCフレームを出力し、ビデオデバイスは、毎秒1つのビデオフレームを出力する。(挙げられている数は、例示の目的のためのものにすぎない。)図2Bにおいて示されているように、7つのSTBフレームのうちの5つが、ネットワーク物理ポート216Aから送信され、その一方で、残りの2つのSTBフレーム、2つのPCフレーム、及び1つのビデオフレームが、方法300及び350によって示されている様式でネットワーク物理ポート216Bから送信される。送信回路250の利点のうちの1つは、送信回路250が、ネットワーク物理ポートの最大フレームレートよりも大きい着信フレームレートを取り扱うことが可能であるということである。 In the example of FIG. 2B, the set top box outputs 7 STB frames per second, the personal computer outputs 2 PC frames per second, and the video device outputs 1 video frame per second. (The numbers given are for illustrative purposes only.) As shown in FIG. 2B, five of the seven STB frames are transmitted from network physical port 216A, while , the remaining two STB frames, two PC frames, and one video frame are transmitted from network physical port 216B in the manner illustrated by methods 300 and 350. FIG. One of the advantages of transmit circuit 250 is that transmit circuit 250 can handle incoming frame rates that are greater than the maximum frame rate of the network physical port.

図4は、本発明の代替実施形態による送信回路400の一例を示すブロック図を示している。送信回路400は、送信回路200と同様であり、結果として、両方の回路に共通する構造を示すために同じ参照番号を利用する。 FIG. 4 shows a block diagram illustrating an example of a transmit circuit 400 according to an alternative embodiment of the invention. Transmitter circuit 400 is similar to transmitter circuit 200 and, as a result, utilizes the same reference numerals to indicate structures common to both circuits.

図4において示されているように、送信回路400は、送信回路400のフレーミング回路212が、フレーマ222が後に続く仮想スイッチ220の代わりに、仮想ポートvPORTa1~vPORTanに結合されているシリアルツーパラレル仮想スイッチ412が後に続くシリアルツーシリアルフレーマ410を利用するという点で送信回路200とは異なる。 As shown in FIG. 4, transmit circuit 400 is a serial-to-parallel virtual port in which framing circuit 212 of transmit circuit 400 is coupled to virtual ports vPORTa1-vPORTan instead of virtual switch 220 followed by framer 222. It differs from transmit circuit 200 in that it utilizes a serial-to-serial framer 410 followed by a switch 412 .

さらなる代替実施形態においては、送信回路400のフレーマ410及び仮想スイッチ412は、物理的に分離されることが可能であり、それに伴ってフレーマ410は、ローカルルータ/スイッチへと組み込まれる。 In a further alternative embodiment, framer 410 and virtual switch 412 of transmit circuitry 400 can be physically separated, with framer 410 incorporated into a local router/switch.

図5は、本発明による送信回路500の一例を示すブロック図を示している。送信回路500は、送信回路400と同様であり、結果として、回路400及び回路500の両方に共通する構造を示すために同じ参照番号を利用する。図5において示されている例において示されているように、STB、PC、及びビデオフレームを受信及び出力するローカルルータ/スイッチの代わりに、ローカルフレーマルータ/スイッチ510が送信回路500と共に利用されている。 FIG. 5 shows a block diagram illustrating an example of a transmitter circuit 500 in accordance with the present invention. Transmitter circuit 500 is similar to transmitter circuit 400 and, as a result, uses the same reference numerals to denote structures common to both circuit 400 and circuit 500 . A local framer router/switch 510 is utilized with transmit circuitry 500 in place of the STB, PC, and local router/switch for receiving and outputting video frames as shown in the example shown in FIG. there is

図6は、本発明による受信回路600の一例を示すブロック図を示している。図6において示されているように、受信回路600は、ネットワーク物理ポート610と、ネットワーク物理ポート610に結合されている受信仮想スイッチ612とを含む。受信回路600はまた、スイッチ612に結合されているいくつかの受信仮想ポートvPORTb1~vPORTbnを含む。そしてそれぞれの受信仮想ポートvPORTbは、受信キュー及び受信フレームフォーマッティング回路を含む。受信回路600は、受信仮想ポートvPORTbのうちのそれぞれに結合されているデフレーミング回路614と、デフレーミング回路614に結合されているローカル物理ポート616とをさらに含む。 FIG. 6 shows a block diagram illustrating an example of a receiving circuit 600 according to the invention. As shown in FIG. 6, receive circuitry 600 includes a network physical port 610 and a receive virtual switch 612 coupled to network physical port 610 . Receive circuit 600 also includes a number of receive virtual ports vPORTb 1 -vPORTbn coupled to switch 612 . Each receive virtual port vPORTb then includes a receive queue and receive frame formatting circuitry. Receive circuitry 600 further includes deframing circuitry 614 coupled to each of receive virtual ports vPORTb and a local physical port 616 coupled to deframing circuitry 614 .

図7は、本発明による、受信回路600の動作方法700の一例を示すフローチャートを示している。図7において示されているように、方法700は、710においてネットワーク物理ポート610が仮想ネットワークから一連の第3のカプセル化された(TE)フレームを受信することから始まる。TEフレームは、ネクストホップアドレスと受信仮想ポート識別子とを含むヘッダを有する。 FIG. 7 shows a flow chart illustrating an example method 700 of operation of receiver circuit 600 in accordance with the present invention. As shown in FIG. 7, method 700 begins at 710 with network physical port 610 receiving a series of third encapsulated (TE) frames from a virtual network. A TE frame has a header containing the next hop address and the receiving virtual port identifier.

次に、方法700は712へ移り、712でネットワーク物理ポート610は、SEフレームを調べてネクストホップアドレスを特定し、そのネクストホップアドレスを、格納されているアドレスに比較する。この後に、方法700は714へ移り、714でネットワーク物理ポート610は、一致するネクストホップアドレスを有するTEフレームを、一致するカプセル化された(ME)フレームとして転送する。加えて、ポート610は、ネクストホップアドレスのアイデンティティが、格納されているアドレスと一致しない場合には、受信されたTEフレームをドロップする。 The method 700 then moves to 712 where the network physical port 610 examines the SE frame to identify the next hop address and compares the next hop address to the stored addresses. After this, the method 700 moves to 714 where the network physical port 610 forwards the TE frame with the matching next-hop address as a matching encapsulated (ME) frame. Additionally, port 610 drops a received TE frame if the identity of the next hop address does not match the stored address.

この後、方法700は716へ移り、716で受信仮想スイッチ612は、MEフレームのヘッダにおける受信仮想ポート識別子に基づいてMEフレームを切り替え可能に渡す。方法700は次いで718へ移り、718で受信仮想ポートvPORTb1~vPORTbnは、切り替え可能に渡されたMEフレームをアンパックして、切り替え可能に渡されたMEフレームから第1のカプセル化されたフレームを抽出し、それによって、それぞれの受信仮想ポートvPORTbは、MEフレームをアンパックして、第4のカプセル化されたフレームを抽出する。受信仮想ポートは、共有メモリの第2の部分を占有する。 The method 700 then moves to 716 where the receiving virtual switch 612 switchably passes the ME frame based on the receiving virtual port identifier in the header of the ME frame. The method 700 then moves to 718 where the receiving virtual ports vPORTb1-vPORTbn unpack the switchably passed ME frame to extract the first encapsulated frame from the switchably passed ME frame. and thereby each receiving virtual port vPORTb unpacks the ME frame to extract the fourth encapsulated frame. A receiving virtual port occupies a second portion of the shared memory.

これに続いて、方法700は720へ移り、720でデフレーミング回路614は、第4のカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームから当初のSTB、PC、及びビデオ入力フレームを抽出する。当初のSTB、PC、及びビデオ入力フレームは、リモートルータ/スイッチからのものであり、いくつかのフレームタイプを有する。さらに、それぞれの入力フレームは、宛先ルータ/スイッチを識別するヘッダを有する。方法700は次いで722へ移り、722でデフレーミング回路614は、STB、PC、及びビデオフレームをローカル物理ポート616へ転送し、ローカル物理ポート616は、当初のSTB、PC、及びビデオフレームを、ローカルルータ/スイッチへ出力する。 Following this, the method 700 moves to 720 where the deframing circuit 614 unpacks the fourth encapsulated frame and extracts the original STB, PC and video from the fourth encapsulated frame. Extract the input frame. The original STB, PC and video input frames are from remote routers/switches and have several frame types. Additionally, each incoming frame has a header that identifies the destination router/switch. The method 700 then moves to 722 where the deframing circuit 614 transfers the STB, PC and video frames to the local physical port 616 which transfers the original STB, PC and video frames to the local Output to router/switch.

この例においては、仮想スイッチ612は、ネットワーク物理ポート610からME STBフレームを受信し、ME STBフレームのヘッダにおける宛先仮想ポート番号Dst_vIDから、宛先仮想ポートが仮想ポートvPORTb1であると特定する。加えて、スイッチ612は、仮想ポートvPORTb1へのルートを静的転送テーブルから特定し、次いで仮想ポートvPORTb1へ向けてルーティングされている第1の仮想ポートライン上にME STBフレームを出力する。 In this example, the virtual switch 612 receives the ME STB frame from the network physical port 610 and identifies the destination virtual port as the virtual port vPORTb1 from the destination virtual port number Dst_vID in the header of the ME STB frame. In addition, switch 612 identifies a route to virtual port vPORTb1 from its static forwarding table and then outputs the ME STB frame on the first virtual port line that is routed towards virtual port vPORTb1.

同様に、仮想スイッチ612は、ネットワーク物理ポート610からME PCフレームを受信し、ME PCフレームのヘッダにおける宛先仮想ポート番号Dst_vIDから、宛先仮想ポートが仮想ポートvPORTb2であると特定する。さらに、スイッチ612は、仮想ポートvPORTb2へのルートを静的転送テーブルから特定し、次いで仮想ポートvPORTb2へ向けてルーティングされている第2の仮想ポートライン上にME PCフレームを出力する。 Similarly, virtual switch 612 receives the ME PC frame from network physical port 610 and identifies the destination virtual port as virtual port vPORTb2 from the destination virtual port number Dst_vID in the header of the ME PC frame. In addition, switch 612 identifies a route to virtual port vPORTb2 from its static forwarding table and then outputs the ME PC frame on the second virtual port line being routed towards virtual port vPORTb2.

加えて、仮想スイッチ612は、ネットワーク物理ポート610からMEビデオフレームを受信し、MEビデオフレームのヘッダにおける宛先仮想ポート番号Dst_vIDから、宛先仮想ポートが仮想ポートvPORTb3であると特定する。スイッチ612は、仮想ポートvPORTb3へのルートを静的転送テーブルから特定し、次いで仮想ポートvPORTb3へ向けてルーティングされている第3の仮想ポートライン上にMEビデオフレームを出力する。 In addition, virtual switch 612 receives the ME video frame from network physical port 610 and identifies the destination virtual port as virtual port vPORTb3 from the destination virtual port number Dst_vID in the header of the ME video frame. Switch 612 identifies a route to virtual port vPORTb3 from its static forwarding table and then outputs the ME video frame on the third virtual port line which is routed towards virtual port vPORTb3.

仮想ポートvPORTb1~vPORTbnは、MEフレームを受信し、MEフレームをアンパックして、MEフレームから、第4のカプセル化されたSTBフレーム、第4のカプセル化されたPCフレーム、及び第4のカプセル化されたビデオフレームなど、第4のカプセル化されたフレームを抽出する。図6の例においては、第1の仮想ポートvPORTb1の受信キューは、ME STBフレームを受信し、その一方で、仮想ポートvPORTb1のフレームフォーマッティング回路は、ME STBフレームをアンパックして、FE STBフレームを抽出し、第4のカプセル化されたSTBフレームは、仮想出口デバイスのアイデンティティを含むヘッダを有する。 The virtual ports vPORTb1-vPORTbn receive the ME frame, unpack the ME frame, and from the ME frame, the fourth encapsulated STB frame, the fourth encapsulated PC frame, and the fourth encapsulation Extract the fourth encapsulated frame, such as the encoded video frame. In the example of FIG. 6, the receive queue of the first virtual port vPORTb1 receives ME STB frames, while the frame formatting circuit of virtual port vPORTb1 unpacks the ME STB frames to generate FE STB frames. The extracted, fourth encapsulated STB frame has a header containing the identity of the virtual egress device.

同様に、第2の仮想ポートvPORTb2の受信キューは、ME PCフレームを受信し、その一方で、仮想ポートvPORTb2のフレームフォーマッティング回路は、ME PCフレームをアンパックして、第4のカプセル化されたPCフレームを抽出し、その第4のカプセル化されたPCフレームは、仮想出口デバイスのアイデンティティを含むヘッダを有する。加えて、第3の仮想ポートvPORTb3の受信キューは、MEビデオフレームを受信し、その一方で、仮想ポートvPORTb3のフレームフォーマッティング回路は、MEビデオフレームをアンパックして、第4のカプセル化されたビデオフレームを抽出し、その第4のカプセル化されたビデオフレームは、仮想出口デバイスのアイデンティティを含むヘッダを有する。 Similarly, the receive queue of the second virtual port vPORTb2 receives ME PC frames, while the frame formatting circuit of virtual port vPORTb2 unpacks the ME PC frames into a fourth encapsulated PC Extract the frame, the fourth encapsulated PC frame has a header containing the identity of the virtual egress device. In addition, the receive queue of the third virtual port vPORTb3 receives ME video frames while the frame formatting circuit of virtual port vPORTb3 unpacks the ME video frames to produce a fourth encapsulated video A frame is extracted, the fourth encapsulated video frame of which has a header containing the identity of the virtual egress device.

デフレーミング回路614は、複数の第4のカプセル化されたフレームを受信し、それらの第4のカプセル化されたフレームから当初のSTB、PC、及びビデオ入力フレームを抽出する。それらの入力フレームは、いくつかのフレームタイプ、たとえば、STB、PC、ビデオを有する。それぞれの入力フレームは、宛先ルータ/スイッチのアイデンティティを含むヘッダを有する。それぞれの受信された第4のカプセル化されたフレームに関して、デフレーミング回路614は、第4のカプセル化されたフレームをアンパックして入力フレームを抽出し、入力フレームのヘッダから宛先ルータ/スイッチのアイデンティティを特定し、入力フレームをローカル物理ポート616へ出力し、ローカル物理ポート616は、宛先ルータ/スイッチへ入力フレームを出力する。 A deframing circuit 614 receives the plurality of fourth encapsulated frames and extracts the original STB, PC, and video input frames from those fourth encapsulated frames. Those input frames have several frame types, eg STB, PC, video. Each input frame has a header containing the identity of the destination router/switch. For each received fourth encapsulated frame, deframing circuit 614 unpacks the fourth encapsulated frame, extracts the input frame, and extracts the destination router/switch identity from the input frame's header. and outputs the incoming frame to the local physical port 616, which outputs the incoming frame to the destination router/switch.

図6において示されているように、デフレーミング回路614は、デフレーマ620と、デフレーマ620に結合されている仮想スイッチ622とを含む。動作中に、デフレーマ620は、複数の受信仮想ポートvPORTb1~vPORTbnから第4のカプセル化されたフレームを受信し、第4のカプセル化されたフレームをアンパックして、当初の入力フレーム、たとえば、STBフレーム、PCフレーム、及びビデオフレームを抽出し、そのSTBフレーム、PCフレーム、及びビデオフレームを仮想スイッチ622へ転送する。 As shown in FIG. 6, deframing circuit 614 includes deframer 620 and virtual switch 622 coupled to deframer 620 . During operation, deframer 620 receives a fourth encapsulated frame from multiple receive virtual ports vPORTb1-vPORTbn and unpacks the fourth encapsulated frame into an original input frame, e.g., STB It extracts frames, PC frames, and video frames and forwards the STB frames, PC frames, and video frames to virtual switch 622 .

図6の例においては、デフレーマ620は、受信仮想ポートvPORTb1から第4のカプセル化されたSTBフレームを受信し、第4のカプセル化されたフレームをアンパックしてSTBフレームを抽出し、そのSTBフレームを仮想スイッチ622へ転送する。同様に、デフレーマ620は、受信仮想ポートvPORTb2から第4のカプセル化されたPCフレームを受信し、第4のカプセル化されたフレームをアンパックしてPCフレームを抽出し、そのPCフレームを仮想スイッチ622へ転送する。加えて、デフレーマ620は、受信仮想ポートvPORTb3から第4のカプセル化されたビデオフレームを受信し、第4のカプセル化されたフレームをアンパックしてビデオフレームを抽出し、そのビデオフレームを仮想スイッチ622へ転送する。デフレーマ620は、フレーマ222と同じ又は異なるプロトコルを利用することが可能である。 In the example of FIG. 6, deframer 620 receives the fourth encapsulated STB frame from receive virtual port vPORTb1, unpacks the fourth encapsulated frame to extract the STB frame, and to the virtual switch 622 . Similarly, deframer 620 receives a fourth encapsulated PC frame from receive virtual port vPORTb2, unpacks the fourth encapsulated frame to extract the PC frame, and sends the PC frame to virtual switch 622. transfer to In addition, deframer 620 receives a fourth encapsulated video frame from receive virtual port vPORTb3, unpacks the fourth encapsulated frame to extract the video frame, and sends the video frame to virtual switch 622. transfer to Deframer 620 may utilize the same or different protocol as framer 222 .

仮想スイッチ622は、デフレーマ620の出力を循環して、出力フレームを順次受信してローカル物理ポート616へ転送する。この例においては、仮想スイッチ622は、デフレーマ620からSTBフレームを受信し、宛先ルータ/スイッチのMACアドレスを検知し、STBフレームをローカル物理ポート616へ出力する。同様に、仮想スイッチ622は、デフレーマ620からPCフレームを受信し、宛先ルータ/スイッチのMACアドレスを検知し、PCフレームをローカル物理ポート616へ出力する。加えて、仮想スイッチ622は、デフレーマ620からビデオフレームを受信し、宛先ルータ/スイッチのMACアドレスを検知し、ビデオフレームをローカル物理ポート616へ出力する。そしてローカル物理ポート616は、それらのフレームをローカルルータ/スイッチへ出力する。 Virtual switch 622 cycles through the output of deframer 620 to sequentially receive and forward output frames to local physical port 616 . In this example, virtual switch 622 receives the STB frame from deframer 620 , detects the MAC address of the destination router/switch, and outputs the STB frame to local physical port 616 . Similarly, virtual switch 622 receives PC frames from deframer 620 , detects the MAC address of the destination router/switch, and outputs the PC frames to local physical port 616 . Additionally, virtual switch 622 receives video frames from deframer 620 , detects the MAC address of the destination router/switch, and outputs the video frames to local physical port 616 . The local physical port 616 then outputs those frames to the local router/switch.

図6の例は、パラレルツーパラレルデフレーマ620と、それに続くパラレルツーシリアル仮想スイッチ622とを有するデフレーミング回路614を示している。デフレーミング回路614は、代替として、その他の回路構成を用いて実現されることが可能である。たとえば、デフレーミング回路614は、仮想ポートvPORTb1~vPORTbnに結合されているシリアルツーパラレル仮想スイッチと、それに続くシリアルツーシリアルフレーマとを用いて実装されることが可能である。 The example of FIG. 6 shows a deframing circuit 614 with a parallel-to-parallel deframer 620 followed by a parallel-to-serial virtual switch 622 . Deframing circuit 614 may alternatively be implemented using other circuit configurations. For example, deframing circuit 614 may be implemented with a serial-to-parallel virtual switch coupled to virtual ports vPORTb1-vPORTbn followed by a serial-to-serial framer.

図8は、本発明の代替実施形態による受信回路800の一例を示すブロック図を示している。受信回路800は、受信回路600と同様であり、結果として、両方の回路に共通する構造を示すために同じ参照番号を利用する。 FIG. 8 shows a block diagram illustrating an example of a receiver circuit 800 according to an alternative embodiment of the invention. Receive circuit 800 is similar to receive circuit 600 and, as a result, uses the same reference numerals to denote structures common to both circuits.

図8において示されているように、受信回路800は、受信回路800のフレーミング回路614が、シリアルツーシリアルデフレーマ812が後に続く、仮想ポートvPORTb1~vPORTbnに結合されているパラレルツーシリアル仮想スイッチ810を含むという点で受信回路600とは異なる。フレーミング回路212及びデフレーミング回路614の実装は、入れ替えられることが可能である。たとえば、仮想ネットワークデバイス100は、仮想スイッチ220とフレーマ222とを用いて実装されているフレーミング回路212を利用することが可能であり、その一方でデフレーミング回路614は、仮想スイッチ810とデフレーマ812とを用いて実装されることが可能である。 As shown in FIG. 8, the receive circuit 800 is a parallel-to-serial virtual switch 810 in which the framing circuit 614 of the receive circuit 800 is coupled to virtual ports vPORTb1-vPORTbn followed by a serial-to-serial deframer 812. is different from the receiver circuit 600 in that it includes The implementation of framing circuit 212 and deframing circuit 614 can be interchanged. For example, virtual network device 100 may utilize framing circuit 212 implemented using virtual switch 220 and framer 222, while deframing circuit 614 is implemented using virtual switch 810 and deframer 812. can be implemented using

さらなる代替実施形態においては、仮想スイッチ810及びデフレーマ812は、物理的に分離されることが可能であり、それに伴ってデフレーマ812は、ローカルルータ/スイッチへと組み込まれる。 In a further alternative embodiment, virtual switch 810 and deframer 812 can be physically separated, with deframer 812 incorporated into a local router/switch.

図9は、本発明による受信回路900の一例を示すブロック図を示している。受信回路900は、受信回路800と同様であり、結果として、回路800及び回路900の両方に共通する構造を示すために同じ参照番号を利用する。図9において示されている例において示されているように、ローカルルータスイッチの代わりに、ローカルデフレーマルータ/スイッチ910が受信回路900において利用されている。 FIG. 9 shows a block diagram illustrating an example of a receiving circuit 900 according to the invention. Receive circuit 900 is similar to receive circuit 800 and, as a result, uses the same reference numerals to denote structures common to both circuit 800 and circuit 900 . Instead of a local router-switch, a local deframer router/switch 910 is utilized in the receiver circuit 900 as shown in the example shown in FIG.

本発明の利点のうちの1つは、本発明が、STB、PC、及びビデオフレームの複数のストリームを、いくつかの仮想ポートを介して単一の仮想フレームストリームへと組み合わせ、そしてこのことが、利用可能な物理ポートの数を実質的に増やすということである。 One of the advantages of the present invention is that it combines multiple streams of STB, PC, and video frames into a single virtual frame stream through several virtual ports, and this , which effectively increases the number of available physical ports.

ここでは、本開示のさまざまな実施形態に対して詳細に言及が行われてきたが、それらの実施形態の例が、添付の図面において示されている。さまざまな実施形態に関連して記述が行われているが、これらのさまざまな実施形態は、本開示を限定することを意図されているものではないということが理解されるであろう。それどころか、本開示は、特許請求の範囲に従って解釈された際に本開示の範囲内に含まれることが可能である代替物、修正物、及び均等物をカバーすることを意図されている。 Reference has now been made in detail to various embodiments of the disclosure, examples of which are illustrated in the accompanying drawings. Although described in connection with various embodiments, it will be understood that these various embodiments are not intended to limit the present disclosure. On the contrary, the disclosure is intended to cover alternatives, modifications, and equivalents that may fall within the scope of the disclosure when interpreted according to the claims.

さらに、本開示のさまざまな実施形態についての前述の詳細な説明においては、本開示の徹底的な理解を提供するために多くの具体的な詳細が示されている。しかしながら、本開示は、これらの具体的な詳細を伴わずに、又はそれらの均等物を伴って実施されることが可能であるということが当技術分野における普通のスキルを有する者によって認識されるであろう。その他の場合においては、本開示のさまざまな実施形態の態様を不必要にわかりにくくすることのないように、よく知られている方法、手順、コンポーネント、及び回路は、詳細に記述されていない。 Moreover, in the foregoing detailed descriptions of various embodiments of the disclosure, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. However, it will be recognized by those of ordinary skill in the art that the present disclosure may be practiced without these specific details, or with equivalents thereof. Will. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to unnecessarily obscure aspects of the various embodiments of the disclosure.

本明細書においては、明確さのために、番号付けされたオペレーションどうしのシーケンスとして方法が示されている場合があるが、その番号付けは、必ずしもオペレーションどうしの順序を示しているとは限らないということに留意されたい。オペレーションのうちのいくつかは、スキップされること、並列に実行されること、又はシーケンスの厳密な順序を保持する必要性を伴わずに実行されることが可能であるということを理解されたい。 Although methods may be presented herein as a sequence of numbered operations for clarity, the numbering does not necessarily indicate the order of the operations. Please note that. It should be appreciated that some of the operations can be skipped, performed in parallel, or performed without the need to preserve the strict order of the sequence.

本開示によるさまざまな実施形態を示している図面は、半図式的であり、縮尺どおりではなく、特に、寸法のうちのいくつかは、提示の明確さのためのものであり、描かれている図においては誇張されて示されている。同様に、図面における眺めは、説明の容易さのために一般に同様の向きを示しているが、図におけるこの描写は、ほとんどの部分に関して任意である。一般に、本開示によるさまざまな実施形態は、任意の向きで動作されることが可能である。 The drawings showing various embodiments according to the present disclosure are semi-schematic and not to scale, in particular some of the dimensions are for clarity of presentation and drawn It is exaggerated in the drawing. Similarly, views in the drawings generally show similar orientations for ease of illustration, but this depiction in the figures is for the most part arbitrary. In general, various embodiments according to the present disclosure can be operated in any orientation.

詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上でのオペレーションの手順、論理ブロック、処理、及びその他のシンボル表示という点から提示されている。これらの説明及び表示は、データ処理技術分野における技術者が自分の作業の実体を他の当業者たちに効果的に伝達するために使用されている。 Some portions of the detailed description are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to effectively convey the substance of their work to others skilled in the art.

本開示においては、手順、論理ブロック、プロセスなどは、所望の結果へつながるオペレーション又は命令の首尾一貫したシーケンスであると考えられる。それらのオペレーションは、物理量の物理的な操作を利用するオペレーションである。通常、必須ではないが、これらの量は、コンピューティングシステムにおいて、格納されること、転送されること、組み合わされること、比較されること、及びその他の形で操作されることが可能な電気信号又は磁気信号の形態を取る。トランザクション、ビット、値、要素、シンボル、文字、サンプル、ピクセルなどとしてこれらの信号を指すことが、主として共通の使用という理由から、時として好都合であることがわかっている。 In this disclosure, a procedure, logic block, process, etc., is conceived to be a coherent sequence of operations or instructions leading to a desired result. These operations are those that employ physical manipulations of physical quantities. Usually, though not necessarily, these quantities are electrical signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computing system. or take the form of a magnetic signal. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.

しかしながら、これら及び類似の用語のすべては、適切な物理量に関連付けられるものであり、それらの量に適用される便宜上のラベルにすぎないということに留意されたい。特に別段の記載がない限り、以降の論考から明らかなように、本開示の全体を通じて、「生成する」、「特定する」、「割り振る」、「集約する」、「利用する」、「仮想化する」、「処理する」、「アクセスする」、「実行する」、「格納する」等などの用語を利用している論考は、コンピュータシステム、又は類似の電子コンピューティングデバイス若しくはプロセッサのアクション及びプロセスを指すということが理解される。 Note, however, that all of these and similar terms are associated with appropriate physical quantities and are merely convenient labels applied to those quantities. Throughout this disclosure, unless otherwise stated, “generate,” “identify,” “allocate,” “aggregate,” “utilize,” “virtualize,” Discussion utilizing terms such as "do", "process", "access", "execute", "store" and the like refer to the actions and processes of a computer system or similar electronic computing device or processor. is understood to refer to

コンピューティングシステム、又は類似の電子コンピューティングデバイス若しくはプロセッサは、コンピュータシステムのメモリ、レジスタ、その他のそのような情報ストレージ、及び/又はその他のコンピュータ可読媒体内の物理的な(電子的な)量として表されているデータを操作して、同様にコンピュータシステムのメモリ、又はレジスタ、又はその他のそのような情報ストレージ、送信、若しくは表示デバイス内の物理的な量として表されるその他のデータへと変換する。 A computing system, or similar electronic computing device or processor, as a physical (electronic) quantity in the computer system's memory, registers, other such information storage, and/or other computer-readable medium manipulating represented data to transform it into other data similarly represented as physical quantities within the memory or registers of a computer system or other such information storage, transmission, or display device do.

前のセクションにおいては、本出願の実施形態の図面を参照しながら、本出願の実施形態における技術的な解決策が明確に且つ完全に記述されている。本発明の説明及び特許請求の範囲における、並びに上記の図面における「第1の」、「第2の」などの用語は、類似の対象どうしを区別するために使用されており、必ずしも特定のシーケンス又は順序を記述するために使用されているとは限らないということに留意されたい。これらの数は、適切な場合には、入れ替えられることが可能であり、それによって、本明細書において記述されている本発明の実施形態は、本明細書において示されている又は記述されている順序以外の順序で実施されることが可能であるということを理解されたい。 In the previous section, the technical solutions in the embodiments of the present application are clearly and completely described with reference to the drawings of the embodiments of the present application. Terms such as "first", "second", etc. in the description and claims of the present invention and in the above drawings are used to distinguish between similar objects and are not necessarily in a particular sequence. Note that they are not necessarily used to describe order. These numbers can be interchanged, where appropriate, so that the embodiments of the invention described herein are shown or described herein. It should be understood that the steps may be performed out of order.

この実施形態の方法において記述されている機能は、ソフトウェア機能ユニットの形態で実装されて、独立した製品として販売又は使用される場合には、コンピューティングデバイス可読記憶媒体に格納されることが可能である。そのような理解に基づいて、従来技術に寄与する本出願の実施形態のうちの一部分、又は技術的な解決策の一部分は、本出願のさまざまな実施形態において記述されている方法のステップのうちのすべて又は一部をコンピューティングデバイス(これは、パーソナルコンピュータ、サーバ、モバイルコンピューティングデバイス、又はネットワークデバイスなどであることが可能である)に実行させるための複数の命令を含む、記憶媒体に格納されているソフトウェア製品の形態で具体化されることが可能である。前述の記憶媒体は、USBドライブ、ポータブルハードディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク、光ディスクなどを含み、それらは、プログラムコードを格納することが可能である。 The functionality described in the method of this embodiment can be implemented in the form of software functional units and stored in a computing device readable storage medium when sold or used as an independent product. be. Based on such an understanding, some of the embodiments of the present application or some of the technical solutions that contribute to the prior art are the steps of the methods described in the various embodiments of the present application. stored on a storage medium containing a plurality of instructions for causing a computing device (which can be a personal computer, server, mobile computing device, network device, etc.) to execute all or part of It can be embodied in the form of a software product that is Such storage media include USB drives, portable hard disks, read only memory (ROM), random access memory (RAM), magnetic disks, optical disks, etc., which are capable of storing program code.

本出願の明細書におけるさまざまな実施形態は、進展する様式で記述されており、それぞれの実施形態は、その他の実施形態からの自らの相違に焦点を合わせており、さまざまな実施形態の間における同じ又は同様の部分どうしは、別のケースに参照されることが可能である。記述されている実施形態は、本出願の実施形態のうちのすべてというよりはむしろ、実施形態のうちの一部にすぎない。本発明のスキルから逸脱することなく、本出願の実施形態に基づいて、当技術分野における普通のスキルを有する者によって得られるその他のすべての実施形態は、本出願の範囲内にある。 Various embodiments in the specification of the present application are described in a progressive fashion, with each embodiment focusing on its own differences from other embodiments and the differences between the various embodiments. Same or similar parts can be referred to in different cases. The described embodiments are merely some, rather than all, of the embodiments of the present application. All other embodiments that can be obtained by persons of ordinary skill in the art based on the embodiments of this application without departing from the skill of the present invention are within the scope of this application.

開示されている実施形態についての上記の説明は、当業者が本出願を作成又は使用することを可能にする。これらの実施形態に対するさまざまな修正は、当業者にとって明らかであり、本明細書において定義されている一般的な原理は、本出願の趣旨又は範囲から逸脱することなく、その他の実施形態において実施されることが可能である。そのため、本出願は、本明細書において示されている実施形態に限定されず、本明細書において開示されている原理及び新規な特徴と整合する最も広い範囲である。 The above description of the disclosed embodiments will enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. It is possible to Therefore, the present application is not limited to the embodiments shown herein, but is the broadest scope consistent with the principles and novel features disclosed herein.

Claims (20)

複数の入力フレームを受信し、前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定し、前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定し、前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するためのフレーミング回路であって、それぞれの仮想出口デバイスが、受信仮想ポートを有し、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する、フレーミング回路と、
前記フレーミング回路に結合されている複数の送信仮想ポートであって、前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定し、前記複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するための複数の送信仮想ポートであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、複数の送信仮想ポートと、
前記複数の送信仮想ポートに結合されている送信仮想スイッチであって、前記送信仮想ポートをネットワーク物理ポートに選択的に結合するための送信仮想スイッチと、
を備える仮想ネットワークデバイス。
receiving a plurality of input frames; examining the plurality of input frames to identify a frame type for each input frame; and based on the frame type, identifying a virtual egress device associated with each input frame. , a framing circuit for encapsulating the plurality of input frames to form a plurality of first encapsulated frames, each virtual egress device having a receive virtual port; a framing circuit, wherein one encapsulated frame has a plurality of headers, the plurality of headers identifying a plurality of virtual egress devices associated with the plurality of input frames;
A plurality of transmit virtual ports coupled to the framing circuit for the plurality of first encapsulated frames based on the virtual egress devices in the headers of the plurality of first encapsulated frames. a plurality of transmit virtual ports for identifying a plurality of next hops in a virtual network for and encapsulating the plurality of first encapsulated frames to form a plurality of second encapsulated frames; , each second encapsulated frame has a header, and the header of the second encapsulated frame determines the size of the second encapsulated frame based on the next hop of the first encapsulated frame. a plurality of transmitting virtual ports that identify the next hop of the encoded frame and the receiving virtual port of the associated virtual egress device of the input frame;
a transmitting virtual switch coupled to the plurality of transmitting virtual ports for selectively coupling the transmitting virtual ports to network physical ports;
A virtual network device with
前記送信仮想スイッチが、前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力する、請求項1に記載の仮想ネットワークデバイス。 The transmit virtual switch cycles through the plurality of transmit virtual ports and sequentially forwards second encapsulated frames from each transmit virtual port in a fixed repetition order to form a series of second encapsulations. 2. The virtual network device of claim 1, outputting formatted frames. 前記送信仮想スイッチが、送信仮想ポートからフル信号を受信し、前記フル信号を出力する前記送信仮想ポートから前記ネットワーク物理ポートへフレームを転送する、請求項1に記載の仮想ネットワークデバイス。 2. The virtual network device of claim 1, wherein said sending virtual switch receives a full signal from a sending virtual port and forwards frames from said sending virtual port outputting said full signal to said network physical port. 前記フレーミング回路が、
前記フレームタイプに基づいて送信仮想ポートへのフレームに関するルートを特定し、前記フレームを前記送信仮想ポートへ向けて出力する仮想スイッチと、
前記仮想スイッチに結合されているフレーマであって、前記入力フレームをカプセル化するためのフレーマと、
を含む、請求項1に記載の仮想ネットワークデバイス。
The framing circuit
a virtual switch that identifies a route for a frame to a transmission virtual port based on the frame type and outputs the frame toward the transmission virtual port;
a framer coupled to the virtual switch for encapsulating the input frame;
2. The virtual network device of claim 1, comprising:
前記フレーマが、プロバイダバックボーンブリッジトラフィックエンジニアリング(PBB-TE)プロトコル及びトランスファーマルチプロトコルリスティングスイッチ(T-MPLS)プロトコルを含むプロトコルのグループからのプロトコルを実行する、請求項4に記載の仮想ネットワークデバイス。 5. The virtual network device of claim 4, wherein the framer implements a protocol from a group of protocols including Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and Transfer Multiprotocol Listing Switch (T-MPLS) protocol. 前記送信仮想ポートが、共有メモリの第1の部分を含む、請求項1に記載の仮想ネットワークデバイス。 2. The virtual network device of claim 1, wherein the transmit virtual port comprises a first portion of shared memory. 複数の第3のカプセル化されたフレームを受信し、前記複数の第3のカプセル化されたフレームを調べて複数のフレーム宛先を特定し、前記複数のフレーム宛先を、格納されている宛先に比較し、前記第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送する受信物理ポートであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、受信物理ポートと、
前記受信物理ポートに結合されている受信仮想スイッチであって、前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すための受信仮想スイッチと、
前記受信仮想スイッチに結合されている複数の受信仮想ポートであって、前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、複数の一致するカプセル化された前記フレームから複数の第4のカプセル化されたフレームを抽出するための複数の受信仮想ポートであり、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、複数の受信仮想ポートと、
前記複数の受信仮想ポートに結合されているデフレーミング回路であって、前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するためのデフレーミング回路であり、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、デフレーミング回路と、
をさらに備える、請求項6に記載の仮想ネットワークデバイス。
Receive a plurality of third encapsulated frames, examine the plurality of third encapsulated frames to identify a plurality of frame destinations, and compare the plurality of frame destinations to a stored destination. and forwarding the third encapsulated frame as a matching encapsulated frame with a matching destination, wherein the plurality of third encapsulated frames and the matching encapsulation a receiving physical port, wherein the encoded frame has a plurality of headers, the plurality of headers having a plurality of receiving virtual port identifiers;
A receiving virtual switch coupled to the receiving physical port for switchably passing the matching encapsulated frame based on the receiving virtual port identifier in the header of the matching encapsulated frame. a receiving virtual switch of
a plurality of receive virtual ports coupled to the receive virtual switch for unpacking the switchably-passed matching encapsulated frames to generate a plurality of the matching encapsulated frames from the plurality of the matching encapsulated frames; a plurality of receive virtual ports for extracting a fourth encapsulated frame, whereby each receive virtual port unpacks a matching encapsulated frame to form a fourth encapsulated frame; a plurality of receive virtual ports for extracting frames, the receive virtual ports including a second portion of the shared memory;
a deframing circuit coupled to the plurality of receive virtual ports for unpacking the plurality of fourth encapsulated frames to produce a plurality of output frames from the plurality of fourth encapsulated frames; wherein the plurality of output frames have a plurality of frame types, each output frame having a header identifying a destination router/switch;
7. The virtual network device of claim 6, further comprising:
前記デフレーミング回路が、デフレーマを含み、前記デフレーマが、前記複数の受信仮想ポートから前記第4のカプセル化されたフレームを受信し、前記第4のカプセル化されたフレームをアンパックして、前記入力フレームを抽出する、請求項7に記載の仮想ネットワークデバイス。 The deframing circuit includes a deframer, the deframer receiving the fourth encapsulated frame from the plurality of receive virtual ports, unpacking the fourth encapsulated frame to the input 8. The virtual network device of claim 7, extracting frames. 前記フレーミング回路が、前記入力フレームをローカルルータ/スイッチへ出力する、請求項8に記載の仮想ネットワークデバイス。 9. The virtual network device of claim 8, wherein said framing circuit outputs said input frame to a local router/switch. 仮想ネットワークデバイスの動作方法であって、
複数の入力フレームを受信するステップと、
前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、
前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップであり、それぞれの仮想出口デバイスが、受信仮想ポートを有する、ステップと、
前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップであり、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する、ステップと、
前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップと、
複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、ステップと、
前記送信仮想ポートをネットワーク物理ポートに選択的に結合するステップと、
を含む方法。
A method of operating a virtual network device, comprising:
receiving a plurality of input frames;
examining the plurality of input frames to identify a frame type for each input frame;
identifying a virtual egress device associated with each input frame based on the frame type, each virtual egress device having a receiving virtual port;
encapsulating the plurality of input frames to form a plurality of first encapsulated frames, the plurality of first encapsulated frames having a plurality of headers, the plurality of a header identifying a plurality of virtual egress devices associated with the plurality of input frames;
identifying a plurality of next hops in a virtual network for the plurality of first encapsulated frames based on the virtual egress devices in the headers of the plurality of first encapsulated frames;
encapsulating a plurality of first encapsulated frames at a plurality of transmit virtual ports to form a plurality of second encapsulated frames, each second encapsulated frame comprising: a header of a second encapsulated frame, the header of the second encapsulated frame identifying the next hop of the second encapsulated frame based on the next hop of the first encapsulated frame; identifying the receiving virtual port of the associated virtual egress device;
selectively coupling the transmission virtual port to a network physical port;
method including.
前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力するステップをさらに含む、請求項10に記載の方法。 Cycle through the plurality of transmit virtual ports to sequentially transfer second encapsulated frames from each transmit virtual port in a fixed repeating order to output a series of second encapsulated frames. 11. The method of claim 10, further comprising the step of: 送信仮想ポートからフル信号を受信し、前記フル信号を出力する前記送信仮想ポートから前記ネットワーク物理ポートへフレームを転送するステップをさらに含む、請求項10に記載の方法。 11. The method of claim 10, further comprising receiving a full signal from a transmit virtual port and forwarding frames from said transmit virtual port outputting said full signal to said network physical port. 前記フレームタイプに基づいて送信仮想ポートへのフレームに関するルートを特定し、前記フレームを前記送信仮想ポートへ向けて出力するステップをさらに含む、請求項10に記載の方法。 11. The method of claim 10, further comprising identifying a route for a frame to a transmit virtual port based on said frame type and outputting said frame towards said transmit virtual port. 前記複数の入力フレームが、プロバイダバックボーンブリッジトラフィックエンジニアリング(PBB-TE)プロトコル及びトランスファーマルチプロトコルリスティングスイッチ(T-MPLS)プロトコルを含むプロトコルのグループからのプロトコルを用いてカプセル化される、請求項10に記載の方法。 11. The method of claim 10, wherein the plurality of input frames are encapsulated using a protocol from a group of protocols including Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and Transfer Multiprotocol Listing Switch (T-MPLS) protocol. described method. 前記送信仮想ポートが、共有メモリの第1の部分を含む、請求項10に記載の方法。 11. The method of claim 10, wherein the transmit virtual port comprises a first portion of shared memory. 複数の第3のカプセル化されたフレームを受信するステップと、
前記複数の第3のカプセル化されたフレームを調べて、複数のフレーム宛先を特定するステップと、
前記複数のフレーム宛先を、格納されている宛先に比較するステップと、
前記第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送するステップであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、ステップと、
前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すステップと、
複数の受信仮想ポートにおいて前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、複数の一致するカプセル化された前記フレームから複数の第4のカプセル化されたフレームを抽出するステップであって、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、ステップと、
前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するステップであって、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、ステップと、
をさらに含む、請求項15に記載の方法。
receiving a plurality of third encapsulated frames;
examining the plurality of third encapsulated frames to identify a plurality of frame destinations;
comparing the plurality of frame destinations to stored destinations;
forwarding the third encapsulated frame as a matching encapsulated frame with a matching destination, wherein the plurality of third encapsulated frames and the matching encapsulated frame; has a plurality of headers, said plurality of headers having a plurality of receiving virtual port identifiers;
switchably passing the matching encapsulated frame based on the received virtual port identifier in the header of the matching encapsulated frame;
unpacking the switchably passed matching encapsulated frames at a plurality of receive virtual ports to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames; whereby each receiving virtual port unpacks a matching encapsulated frame to extract a fourth encapsulated frame, and said receiving virtual port stores a second encapsulated frame in said shared memory; a step comprising a portion of
unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, wherein the plurality of output frames is a plurality of frames each outgoing frame having a header identifying a destination router/switch;
16. The method of claim 15, further comprising:
プログラム命令が埋め込まれている非一時的コンピュータ可読記憶媒体であって、前記プログラム命令が、プロセッサによって実行されたときに、仮想ネットワークデバイスの動作方法を前記プロセッサに実行させ、前記動作方法が、
複数の入力フレームを受信するステップと、
前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、
前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップであり、それぞれの仮想出口デバイスが、受信仮想ポートを有する、ステップと、
前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップであり、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する、ステップと、
前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップと、
複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、ステップと、
前記送信仮想ポートをネットワーク物理ポートに選択的に結合するステップと、
を含む、媒体。
A non-transitory computer-readable storage medium having program instructions embedded therein which, when executed by a processor, cause the processor to perform a method of operating a virtual network device, the method of operating comprising:
receiving a plurality of input frames;
examining the plurality of input frames to identify a frame type for each input frame;
identifying a virtual egress device associated with each input frame based on the frame type, each virtual egress device having a receiving virtual port;
encapsulating the plurality of input frames to form a plurality of first encapsulated frames, the plurality of first encapsulated frames having a plurality of headers, the plurality of a header identifying a plurality of virtual egress devices associated with the plurality of input frames;
identifying a plurality of next hops in a virtual network for the plurality of first encapsulated frames based on the virtual egress devices in the headers of the plurality of first encapsulated frames;
encapsulating a plurality of first encapsulated frames at a plurality of transmit virtual ports to form a plurality of second encapsulated frames, each second encapsulated frame comprising: a header of a second encapsulated frame, the header of the second encapsulated frame identifying the next hop of the second encapsulated frame based on the next hop of the first encapsulated frame; identifying the receiving virtual port of the associated virtual egress device;
selectively coupling the transmission virtual port to a network physical port;
medium, including
前記動作方法が、前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力するステップをさらに含む、請求項17に記載の媒体。 The method of operation cycles through the plurality of transmit virtual ports and sequentially forwards second encapsulated frames from each of the transmit virtual ports in a fixed repeating order to form a series of second encapsulations. 18. The medium of claim 17, further comprising outputting the rendered frames. 前記動作方法が、送信仮想ポートからフル信号を受信し、前記フル信号を出力する前記送信仮想ポートから前記ネットワーク物理ポートへフレームを転送するステップをさらに含む、請求項17に記載の媒体。 18. The medium of claim 17, wherein the method of operation further comprises receiving a full signal from a transmit virtual port and forwarding frames from the transmit virtual port outputting the full signal to the network physical port. 前記動作方法が、
複数の第3のカプセル化されたフレームを受信するステップと、
前記複数の第3のカプセル化されたフレームを調べて、複数のフレーム宛先を特定するステップと、
前記複数のフレーム宛先を、格納されている宛先に比較するステップと、
それぞれの第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送して、複数の一致するカプセル化されたフレームを転送するステップであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、ステップと、
前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すステップと、
複数の受信仮想ポートにおいて前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、前記複数の一致するカプセル化されたフレームから複数の第4のカプセル化されたフレームを抽出するステップであって、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、ステップと、
前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するステップであって、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、ステップと、
をさらに含む、請求項19に記載の媒体。
The method of operation comprises:
receiving a plurality of third encapsulated frames;
examining the plurality of third encapsulated frames to identify a plurality of frame destinations;
comparing the plurality of frame destinations to stored destinations;
forwarding each third encapsulated frame as a matching encapsulated frame with a matching destination to forward a plurality of matching encapsulated frames; the three encapsulated frames and the matching encapsulated frame having a plurality of headers, the plurality of headers having a plurality of receiving virtual port identifiers;
switchably passing the matching encapsulated frame based on the received virtual port identifier in the header of the matching encapsulated frame;
unpacking the switchably passed matching encapsulated frames at a plurality of receive virtual ports to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames; whereby each receiving virtual port unpacks a matching encapsulated frame to extract a fourth encapsulated frame, and said receiving virtual port stores a second encapsulated frame in said shared memory; a step comprising a portion of
unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, wherein the plurality of output frames is a plurality of frames each outgoing frame having a header identifying a destination router/switch;
20. The medium of claim 19, further comprising:
JP2022563954A 2020-05-06 2021-03-10 virtual network device Pending JP2023523915A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/868,345 US11245645B2 (en) 2020-04-02 2020-05-06 Virtual network device
US16/868,345 2020-05-06
PCT/CN2021/079987 WO2021223510A1 (en) 2020-05-06 2021-03-10 Virtual network device

Publications (1)

Publication Number Publication Date
JP2023523915A true JP2023523915A (en) 2023-06-08

Family

ID=78468629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022563954A Pending JP2023523915A (en) 2020-05-06 2021-03-10 virtual network device

Country Status (8)

Country Link
EP (1) EP4147395A4 (en)
JP (1) JP2023523915A (en)
KR (1) KR20230006486A (en)
CN (1) CN115552819A (en)
AU (2) AU2021268768B2 (en)
BR (1) BR112022021767A2 (en)
CO (1) CO2022015545A2 (en)
WO (1) WO2021223510A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8089964B2 (en) * 2005-04-05 2012-01-03 Cisco Technology, Inc. Transporting multicast over MPLS backbone using virtual interfaces to perform reverse-path forwarding checks
US8238340B2 (en) * 2009-03-06 2012-08-07 Futurewei Technologies, Inc. Transport multiplexer—mechanisms to force ethernet traffic from one domain to be switched in a different (external) domain
US8644194B2 (en) * 2010-10-15 2014-02-04 International Business Machines Corporation Virtual switching ports on high-bandwidth links
CN102238091B (en) * 2011-07-22 2017-03-15 中兴通讯股份有限公司 A kind of file transmitting method and access controller
US10003495B1 (en) * 2014-09-20 2018-06-19 Cisco Technology, Inc. Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch

Also Published As

Publication number Publication date
WO2021223510A1 (en) 2021-11-11
EP4147395A1 (en) 2023-03-15
EP4147395A4 (en) 2024-05-01
BR112022021767A2 (en) 2022-12-13
KR20230006486A (en) 2023-01-10
AU2024201137A1 (en) 2024-03-14
AU2021268768A1 (en) 2022-11-17
CO2022015545A2 (en) 2022-11-08
AU2021268768B2 (en) 2023-11-23
CN115552819A (en) 2022-12-30

Similar Documents

Publication Publication Date Title
US11496401B2 (en) Congestion notification packet indicating specific packet flow experiencing congestion to facilitate individual packet flow based transmission rate control
CN109194660B (en) Network access method and device of mobile terminal
US6571291B1 (en) Apparatus and method for validating and updating an IP checksum in a network switching system
US9736085B2 (en) End-to end lossless Ethernet in Ethernet fabric
CN105791214B (en) Method and equipment for converting RapidIO message and Ethernet message
US8949578B2 (en) Sharing of internal pipeline resources of a network processor with external devices
US10205660B2 (en) Apparatus and method for packet header compression
CN110855568A (en) Message forwarding method and system
US8824468B2 (en) System and method for parsing frames
US8340090B1 (en) Interconnecting forwarding contexts using u-turn ports
US20220158954A1 (en) Virtual network device
US20220303157A1 (en) Virtual network
JP2023523915A (en) virtual network device
JP2023525966A (en) virtual network
US11894948B2 (en) Method of forming a virtual network
JP2023530269A (en) How to form a virtual network
JP5289340B2 (en) Frame transfer apparatus, frame transfer system, and frame transfer method
WO2023168133A2 (en) Packet wash of rtp aggregation packets in a video stream
CN117614894A (en) UPF implementation method, system and device based on programmable switching chip
KR20000058551A (en) High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240319