Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7565376B2 - Virtual network device, method of operating a virtual network device and non-transitory computer-readable storage medium - Google Patents
[go: Go Back, main page]

JP7565376B2 - Virtual network device, method of operating a virtual network device and non-transitory computer-readable storage medium - Google Patents

Virtual network device, method of operating a virtual network device and non-transitory computer-readable storage medium Download PDF

Info

Publication number
JP7565376B2
JP7565376B2 JP2022563954A JP2022563954A JP7565376B2 JP 7565376 B2 JP7565376 B2 JP 7565376B2 JP 2022563954 A JP2022563954 A JP 2022563954A JP 2022563954 A JP2022563954 A JP 2022563954A JP 7565376 B2 JP7565376 B2 JP 7565376B2
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.)
Active
Application number
JP2022563954A
Other languages
Japanese (ja)
Other versions
JP2023523915A (en
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
Application granted granted Critical
Publication of JP7565376B2 publication Critical patent/JP7565376B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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
    • H04L49/252Store and forward routing
    • 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 stream to a specific local network, e.g. a 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Description

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

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

従来のネットワークデバイスは典型的に、たとえば、10/100/1000Mbps(メガビット/秒)、10Gbps(ギガビット/秒)、40Gbps、及び100Gbpsの接続など、予め定められている固定されたデータレートで動作する1つ又は複数の物理ネットワークポートを含む。ネットワークを介したコンピュータシステムどうしの間における通信を可能にすることの一環として、従来のネットワークデバイスは、ネットワークポートの転送スピードをネゴシエートし、そのプロセス中に、ネットワークポートの転送スピードは固定される。 Traditional network devices typically include one or more physical network ports that operate at a predetermined, fixed data rate, such as, for example, 10/100/1000 Mbps (megabits per second), 10 Gbps (gigabits per second), 40 Gbps, and 100 Gbps connections. As part of enabling communication between computer systems over a network, traditional network devices negotiate the transfer speed of the network port, and during that 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 results in reduced service or costly upgrades. As a result, there is a need for an approach to accommodate the increasing need for ports.

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

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

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

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

発明を実施するための最良のモードBEST MODE FOR CARRYING OUT THEINVENTION

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

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

図1において示されているように、仮想ネットワークデバイス100は、送信回路110を含み、送信回路110は、ルータ/スイッチなどのローカルネットワークデバイスから、データのセットトップボックス(STB)、パーソナルコンピュータ(PC)、及びビデオフレームなど、データのフレームをそれぞれが受信するいくつかのローカル物理ポート112と、データのフレームを仮想ネットワークへそれぞれが出力するいくつかのネットワーク物理ポート114とを有する。 As shown in FIG. 1, the virtual network device 100 includes a transmit circuit 110 having a number of local physical ports 112 each of which receives frames of data, such as set-top boxes (STBs), personal computers (PCs), and video frames of data, from a local network device, such as a router/switch, and a number of network physical ports 114 each of which outputs frames of data to the 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 a receiver circuit 120 having a number of local physical ports 122, each of which outputs frames of data to a local network device, such as a router/switch, and a number of network physical ports 124, each of which receives frames of data from the virtual network. In one embodiment, one or more of the local physical ports 112 and 122 may be shared between the transmitter circuit 110 and the receiver circuit 120, and one or more of the network physical ports 114 and 124 may be shared between the transmitter circuit 110 and the receiver circuit 120.

加えて、仮想ネットワークデバイス100は、送信回路110及び受信回路120の両方に結合されている共有メモリ130を含む。共有メモリ130は、仮想ネットワークへ出力されることになるデータのフレームを一時的に格納する送信キューと、仮想ネットワークから受信されたデータのフレームを一時的に格納する受信キューとを含む。 In addition, the virtual network device 100 includes a shared memory 130 coupled to both the transmit circuitry 110 and the receive circuitry 120. The 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 transmit circuit 200 according to the present invention. As shown in FIG. 2A, the transmit circuit 200 includes a local physical port 210, a framing circuit 212 coupled to the local physical port 210, and several transmit virtual ports vPORTa1-vPORTan coupled to the framing circuit 212.

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

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

これに続いて、方法300は316へ移り、316でフレーミング回路212は、一連の入力フレームをカプセル化して、いくつかの第1のカプセル化された(FE)フレームを形成する。FEフレームは、一連の入力フレームに関連付けられている仮想出口デバイスを識別するヘッダを有する。 Following this, the method 300 moves to 316 where the framing circuit 212 encapsulates the series of input frames to form a number of first encapsulated (FE) frames. The FE frames have a header that identifies the virtual egress devices associated with the series 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 sending virtual ports vPORTa1-vPORTan identify a 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 sending 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 input frame. In addition, the sending virtual ports occupy 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, method 300 moves to 322 where the transmit virtual switch 214 cycles through transmit virtual ports vPORTa1-vPORTan, sequentially forwarding 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 where a first SE frame is from vPORT1, a second frame is from vPORT2, a third frame is from vPORT3, and a fourth frame is again from vPORT1.

送信仮想ポートvPORTaが空であるか又は部分的にいっぱいである場合には、フレームは生成されない。たとえば、送信仮想ポートvPORT2が空である場合には、ネットワーク物理ポート216は、フレーム1、フレームなし、フレーム3を含むフレームシーケンスを出力する。方法300は次に324へ移り、324でネットワーク物理ポート216は、SEフレームのシーケンスを仮想ネットワークへと送信する。 If the outgoing virtual port vPORTa is empty or partially full, no frames are generated. For example, if the outgoing virtual port vPORT2 is empty, the network physical port 216 outputs a frame sequence that includes frame 1, no frame, and 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 flow chart illustrating an example method 350 of operation of the transmit circuit 200 in accordance with an alternative embodiment of the present invention. Method 350 is similar to method 300, and as a result, the same reference numbers are utilized to indicate 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. The full signal indicates that the SE frame at the outgoing virtual port vPORTa is ready to be transmitted. If virtual switch 214 detects a full signal from the outgoing virtual port vPORTa, method 350 moves to 354, where virtual switch 214 forwards the SE frame from the outgoing virtual port vPORTa that outputs the full signal to network physical port 216.

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

代替として、ソース(たとえば、STB、PC、ビデオソース)のうちの1つが、その他のソース(たとえば、STB、PC、ビデオソース)のデータレートよりもはるかに速いデータレートを有することがあり、そしてそのことによって、1つの送信仮想ポートvPORTaが、その他の送信仮想ポートvPORTaよりもはるかに頻繁にフル信号を出力する。 Alternatively, one of the sources (e.g., STB, PC, video source) may have a much faster data rate than the other sources (e.g., STB, PC, video source), and this causes one transmitting virtual port vPORTa to output a full signal much more frequently than the other transmitting virtual port 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 network physical port 216 transmits frames at a frame rate of 5 frames/second, transmitting virtual port vPORTa2 outputs frames at a rate three times faster than each of transmitting virtual ports vPORTa1 and vPORTa3, transmitting virtual port vPORTa2 signals three full times before the other ports, transmitting virtual port vPORTa1 signals before vPORTa3 signals, and then virtual switch 214 forwards a sequence of frames including a first frame from transmitting virtual port vPORT2, a second frame from transmitting virtual port vPORT2, a third frame from transmitting virtual port vPORT2, a fourth frame from transmitting virtual port vPORT1, and a fifth frame from transmitting virtual port vPORT3.

フル信号を受信する順序が、仮想スイッチ214によって送信仮想ポートvPORTaからSEフレームが出力される順序を特定する先入れ先出しアプローチに加えて、送信仮想ポートvPORTa~vPORTanは、代替として、送信仮想ポートvPORTaからネットワーク物理ポートへ任意の量及び任意の順序でフレームが転送されることを可能にする優先度スキームを含むことが可能である。 In addition to the first-in, first-out approach in which the order of receiving full signals determines the order in which SE frames are output from the transmit virtual port vPORTa by the virtual switch 214, the transmit virtual ports vPORTa-vPORTan can alternatively include a priority scheme that allows frames to be forwarded from the transmit virtual port vPORTa to the network 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 the virtual switch 214 forwards the SE frame from the transmitting virtual port vPORTa that outputs the full signal to the network physical port 216, the method 350 moves to 356 where the network physical port 216 transmits the SE frame. In the method 300, the frames that are to be output are predictable, whereas in the method 350, the frames that are to be output are not predictable, although the priority scheme provides a level of predictability.

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

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

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

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

フレーマ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 STB frames on virtual port line P1, encapsulates the STB frames to form a first encapsulated (FE) STB frame, and then forwards the FE STB frame to the transmit queue of virtual port vPORTa1. Similarly, framer 222 receives PC frames on virtual port line P2, encapsulates the PC frames to form a first encapsulated (FE) PC frame, and then forwards the FE PC frame to the transmit queue of virtual port vPORTa2. Framer 222 also receives video frames on virtual port line P3, encapsulates the video frames to form a first encapsulated (FE) video frame, and then forwards the FE video frame to the transmit queue of virtual port vPORTa3.

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

たとえば、FEフレームのヘッダは、仮想出口デバイスのMACアドレスに関する出口アドレスフィールド、I-Tagフィールド、又は同様のフィールドを含むことが可能である。ヘッダは、仮想入口デバイスのMACアドレスなど、その他のフィールドを含むことも可能である。この例においては、仮想出口デバイスのMACアドレスは、管理上、仮想入口デバイスに提供される。 For example, the header of the FE frame may include an egress address field for the MAC address of the virtual egress device, an I-Tag field, or a similar field. The header may also include other fields, such as the MAC address of the virtual egress 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 in the virtual port vPORTa1 of the transmitting circuit 200 receives the FE STB frame, identifies a next hop in the virtual network for the FE STB frame from a static forwarding table based on the ID of the virtual egress device, such as the MAC address of the virtual egress device, in the header of the FE STB frame, and encapsulates 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 in virtual port vPORTa2 of the transmitting circuit 200 receives the FE PC frame, identifies a next hop in the virtual network for the FE PC frame from the static forwarding table based on the ID of the virtual egress device, such as the MAC address of the virtual egress device, in the header of the FE PC frame, and encapsulates 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 in virtual port vPORTa3 of the transmitting circuit 200 receives the FE video frame, identifies a next hop in the virtual network for the FE video frame from the static forwarding table based on an ID of the virtual egress device, such as a MAC address of the virtual egress device, in the header of the FE video frame, and encapsulates 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 include a header with 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 destination field Dst_vID that identifies the virtual port number of the virtual egress device that corresponds to the virtual port number of the virtual ingress device. In this example, the source field Src_vID for the SE STB frame is virtual port vPORTa1. Other fields, such as a last hop field, may also be included.

さらに、仮想スイッチ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は、代替として、複数のルータ/スイッチからの入力を受信してそれに伴って動作することが可能である。 Further, the virtual switch 214 cycles through the virtual ports vPORTa1-vPORTan, sequentially forwarding the second encapsulated (SE) frame from each virtual port vPORTa to output a series of SE frames to the physical port 216. In this example, the switch 214 forwards an SE STB frame from the virtual port vPORTa1 to the physical port 216, then forwards an SE PC frame from the virtual port vPORTa2 to the physical port 216, then forwards an SE video frame from the virtual port vPORTa3 to the physical port 216, then forwards an SE STB frame from the virtual port vPORTa1 to the physical port 216, and continues in the same manner until the physical port 216 outputs the frames. Although FIG. 2 illustrates the transmit circuit 200 as receiving and operating with input from a single local router/switch, the transmit circuit 200 can alternatively receive and operate with input from multiple routers/switches.

図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. Transmit circuit 250 is similar to transmit circuit 200, and as a result, the same reference numbers are used to indicate elements common to both transmit circuit 200 and transmit circuit 250.

図2Bにおいて示されているように、送信回路250は、送信回路250が第1のネットワーク物理ポート216A及び第2のネットワーク物理ポート216Bを含み、それらの両方が仮想スイッチ214に結合されているという点で送信回路200とは異なる。加えて、仮想スイッチ214は、送信仮想ポートvPORTa1とネットワーク物理ポート216Aとの間における連続接続を提供する。さらに、追加の送信仮想ポートvPORTa4が示されている。 As shown in FIG. 2B, the transmit circuit 250 differs from the transmit circuit 200 in that the transmit circuit 250 includes a first network physical port 216A and a second network physical port 216B, both of which are coupled to the virtual switch 214. In addition, the virtual switch 214 provides a continuous connection between the transmit virtual port vPORTa1 and the network physical port 216A. Additionally, an additional transmit 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 source) output frames of data at a frame rate that is greater than the maximum frame rate of network physical ports 216A and 216B. 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 seven STB frames per second, the personal computer outputs two PC frames per second, and the video device outputs one video frame per second. (The numbers listed 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 shown by methods 300 and 350. One of the advantages of the transmit circuit 250 is that it is capable of handling an incoming frame rate that is greater than the maximum frame rate of the network physical port.

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

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

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

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

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

図7は、本発明による、受信回路600の動作方法700の一例を示すフローチャートを示している。図7において示されているように、方法700は、710においてネットワーク物理ポート610が仮想ネットワークから一連の第3のカプセル化された(TE)フレームを受信することから始まる。TEフレームは、ネクストホップアドレスと受信仮想ポート識別子とを含むヘッダを有する。 Figure 7 illustrates a flow chart of an example method 700 of operation of the receiving circuit 600 in accordance with the present invention. As shown in Figure 7, the method 700 begins at 710 with the network physical port 610 receiving a sequence of third encapsulated (TE) frames from a virtual network. The TE frames have a header that includes a next hop address and a 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 determine the next hop address and compares the next hop address to the stored address. After this, the method 700 moves to 714, where the network physical port 610 forwards the TE frame with a matching next hop address as a matching encapsulated (ME) frame. Additionally, the port 610 drops the 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, whereby each receiving virtual port vPORTb unpacks the ME frame to extract the fourth encapsulated frame. The receiving virtual ports occupy 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 to extract the original STB, PC, and video input frames from the fourth encapsulated frame. The original STB, PC, and video input frames are from a remote router/switch and have several frame types. Additionally, each input frame has a header that identifies the destination router/switch. The method 700 then moves to 722 where the deframing circuit 614 forwards the STB, PC, and video frames to the local physical port 616, which outputs the original STB, PC, and video frames to the local 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 virtual port vPORTb1 from the destination virtual port number Dst_vID in the header of the ME STB frame. In addition, the switch 612 identifies a route to virtual port vPORTb1 from the static forwarding table, and then outputs the ME STB frame on the first virtual port line that is routed toward virtual port vPORTb1.

同様に、仮想スイッチ612は、ネットワーク物理ポート610からME PCフレームを受信し、ME PCフレームのヘッダにおける宛先仮想ポート番号Dst_vIDから、宛先仮想ポートが仮想ポートvPORTb2であると特定する。さらに、スイッチ612は、仮想ポートvPORTb2へのルートを静的転送テーブルから特定し、次いで仮想ポートvPORTb2へ向けてルーティングされている第2の仮想ポートライン上にME PCフレームを出力する。 Similarly, the virtual switch 612 receives the ME PC frame from the 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. Furthermore, the switch 612 identifies a route to virtual port vPORTb2 from the static forwarding table, and then outputs the ME PC frame on a second virtual port line that is routed toward virtual port vPORTb2.

加えて、仮想スイッチ612は、ネットワーク物理ポート610からMEビデオフレームを受信し、MEビデオフレームのヘッダにおける宛先仮想ポート番号Dst_vIDから、宛先仮想ポートが仮想ポートvPORTb3であると特定する。スイッチ612は、仮想ポートvPORTb3へのルートを静的転送テーブルから特定し、次いで仮想ポートvPORTb3へ向けてルーティングされている第3の仮想ポートライン上にMEビデオフレームを出力する。 In addition, the virtual switch 612 receives the ME video frame from the 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. The switch 612 identifies a route to virtual port vPORTb3 from the static forwarding table, and then outputs the ME video frame on a third virtual port line that is routed toward 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 to vPORTbn receive the ME frame, unpack the ME frame, and extract a fourth encapsulated frame, such as a fourth encapsulated STB frame, a fourth encapsulated PC frame, and a fourth encapsulated video frame, from the ME frame. In the example of FIG. 6, the receive queue of the first virtual port vPORTb1 receives the ME STB frame, while the frame formatting circuit of the virtual port vPORTb1 unpacks the ME STB frame and extracts the FE STB frame, and the fourth encapsulated STB frame has a header that includes 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 the ME PC frame, while the frame formatting circuit of the virtual port vPORTb2 unpacks the ME PC frame to extract a fourth encapsulated PC frame, the fourth encapsulated PC frame having a header that includes the identity of the virtual egress device. In addition, the receive queue of the third virtual port vPORTb3 receives the ME video frame, while the frame formatting circuit of the virtual port vPORTb3 unpacks the ME video frame to extract a fourth encapsulated video frame, the fourth encapsulated video frame having a header that includes the identity of the virtual egress device.

デフレーミング回路614は、複数の第4のカプセル化されたフレームを受信し、それらの第4のカプセル化されたフレームから当初のSTB、PC、及びビデオ入力フレームを抽出する。それらの入力フレームは、いくつかのフレームタイプ、たとえば、STB、PC、ビデオを有する。それぞれの入力フレームは、宛先ルータ/スイッチのアイデンティティを含むヘッダを有する。それぞれの受信された第4のカプセル化されたフレームに関して、デフレーミング回路614は、第4のカプセル化されたフレームをアンパックして入力フレームを抽出し、入力フレームのヘッダから宛先ルータ/スイッチのアイデンティティを特定し、入力フレームをローカル物理ポート616へ出力し、ローカル物理ポート616は、宛先ルータ/スイッチへ入力フレームを出力する。 The deframing circuit 614 receives a number of fourth encapsulated frames and extracts the original STB, PC, and video input frames from the fourth encapsulated frames. The input frames have several frame types, e.g., STB, PC, video. Each input frame has a header that includes the identity of the destination router/switch. For each received fourth encapsulated frame, the deframing circuit 614 unpacks the fourth encapsulated frame to extract the input frame, identifies the identity of the destination router/switch from the input frame's header, and outputs the input frame to the local physical port 616, which outputs the input 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, the deframing circuit 614 includes a deframer 620 and a virtual switch 622 coupled to the deframer 620. During operation, the deframer 620 receives a fourth encapsulated frame from a plurality of receiving virtual ports vPORTb1-vPORTbn, unpacks the fourth encapsulated frame to extract the original input frames, e.g., STB frames, PC frames, and video frames, and forwards the STB frames, PC frames, and video frames to the 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, the deframer 620 receives a fourth encapsulated STB frame from the receiving virtual port vPORTb1, unpacks the fourth encapsulated frame to extract the STB frame, and forwards the STB frame to the virtual switch 622. Similarly, the deframer 620 receives a fourth encapsulated PC frame from the receiving virtual port vPORTb2, unpacks the fourth encapsulated frame to extract the PC frame, and forwards the PC frame to the virtual switch 622. In addition, the deframer 620 receives a fourth encapsulated video frame from the receiving virtual port vPORTb3, unpacks the fourth encapsulated frame to extract the video frame, and forwards the video frame to the virtual switch 622. The deframer 620 can use the same or a different protocol as the framer 222.

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

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

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

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

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

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

本発明の利点のうちの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 via several virtual ports, which effectively increases the number of available physical ports.

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

さらに、本開示のさまざまな実施形態についての前述の詳細な説明においては、本開示の徹底的な理解を提供するために多くの具体的な詳細が示されている。しかしながら、本開示は、これらの具体的な詳細を伴わずに、又はそれらの均等物を伴って実施されることが可能であるということが当技術分野における普通のスキルを有する者によって認識されるであろう。その他の場合においては、本開示のさまざまな実施形態の態様を不必要にわかりにくくすることのないように、よく知られている方法、手順、コンポーネント、及び回路は、詳細に記述されていない。 Furthermore, in the foregoing detailed description of the various embodiments of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present 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 their equivalents. 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 present disclosure.

本明細書においては、明確さのために、番号付けされたオペレーションどうしのシーケンスとして方法が示されている場合があるが、その番号付けは、必ずしもオペレーションどうしの順序を示しているとは限らないということに留意されたい。オペレーションのうちのいくつかは、スキップされること、並列に実行されること、又はシーケンスの厳密な順序を保持する必要性を伴わずに実行されることが可能であるということを理解されたい。 Note that although methods may be depicted herein as a sequence of numbered operations for clarity, the numbering does not necessarily indicate an order for the operations. It should be understood that some of the operations may be skipped, performed in parallel, or performed without the requirement of maintaining a strict order of 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 shown exaggerated in the depicted figures for clarity of presentation. Similarly, the views in the drawings generally show similar orientations for ease of illustration, although 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 descriptions 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 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 self-consistent sequence of operations or instructions leading to a desired result. These operations employ physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computing system. 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.

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

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

前のセクションにおいては、本出願の実施形態の図面を参照しながら、本出願の実施形態における技術的な解決策が明確に且つ完全に記述されている。本発明の説明及び特許請求の範囲における、並びに上記の図面における「第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. Please note that the terms "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 used to describe a specific sequence or order. It should be understood that these numbers can be interchanged where appropriate, whereby the embodiments of the present invention described herein can be implemented in an order other than that shown or described herein.

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

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

開示されている実施形態についての上記の説明は、当業者が本出願を作成又は使用することを可能にする。これらの実施形態に対するさまざまな修正は、当業者にとって明らかであり、本明細書において定義されている一般的な原理は、本出願の趣旨又は範囲から逸脱することなく、その他の実施形態において実施されることが可能である。そのため、本出願は、本明細書において示されている実施形態に限定されず、本明細書において開示されている原理及び新規な特徴と整合する最も広い範囲である。
[発明の項目]
[項目1]
複数の入力フレームを受信し、前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定し、前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定し、前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するためのフレーミング回路であって、それぞれの仮想出口デバイスが、受信仮想ポートを有し、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する、フレーミング回路と、
前記フレーミング回路に結合されている複数の送信仮想ポートであって、前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定し、前記複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するための複数の送信仮想ポートであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、複数の送信仮想ポートと、
前記複数の送信仮想ポートに結合されている送信仮想スイッチであって、前記送信仮想ポートをネットワーク物理ポートに選択的に結合するための送信仮想スイッチと、
を備える仮想ネットワークデバイス。
[項目2]
前記送信仮想スイッチが、前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力する、項目1に記載の仮想ネットワークデバイス。
[項目3]
前記送信仮想スイッチが、送信仮想ポートからフル信号を受信し、前記フル信号を出力する前記送信仮想ポートから前記ネットワーク物理ポートへフレームを転送する、項目1に記載の仮想ネットワークデバイス。
[項目4]
前記フレーミング回路が、
前記フレームタイプに基づいて送信仮想ポートへのフレームに関するルートを特定し、前記フレームを前記送信仮想ポートへ向けて出力する仮想スイッチと、
前記仮想スイッチに結合されているフレーマであって、前記入力フレームをカプセル化するためのフレーマと、
を含む、項目1に記載の仮想ネットワークデバイス。
[項目5]
前記フレーマが、プロバイダバックボーンブリッジトラフィックエンジニアリング(PBB-TE)プロトコル及びトランスファーマルチプロトコルリスティングスイッチ(T-MPLS)プロトコルを含むプロトコルのグループからのプロトコルを実行する、項目4に記載の仮想ネットワークデバイス。
[項目6]
前記送信仮想ポートが、共有メモリの第1の部分を含む、項目1に記載の仮想ネットワークデバイス。
[項目7]
複数の第3のカプセル化されたフレームを受信し、前記複数の第3のカプセル化されたフレームを調べて複数のフレーム宛先を特定し、前記複数のフレーム宛先を、格納されている宛先に比較し、前記第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送する受信物理ポートであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、受信物理ポートと、
前記受信物理ポートに結合されている受信仮想スイッチであって、前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すための受信仮想スイッチと、
前記受信仮想スイッチに結合されている複数の受信仮想ポートであって、前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、複数の一致するカプセル化された前記フレームから複数の第4のカプセル化されたフレームを抽出するための複数の受信仮想ポートであり、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、複数の受信仮想ポートと、
前記複数の受信仮想ポートに結合されているデフレーミング回路であって、前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するためのデフレーミング回路であり、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、デフレーミング回路と、
をさらに備える、項目6に記載の仮想ネットワークデバイス。
[項目8]
前記デフレーミング回路が、デフレーマを含み、前記デフレーマが、前記複数の受信仮想ポートから前記第4のカプセル化されたフレームを受信し、前記第4のカプセル化されたフレームをアンパックして、前記入力フレームを抽出する、項目7に記載の仮想ネットワークデバイス。
[項目9]
前記フレーミング回路が、前記入力フレームをローカルルータ/スイッチへ出力する、項目8に記載の仮想ネットワークデバイス。
[項目10]
仮想ネットワークデバイスの動作方法であって、
複数の入力フレームを受信するステップと、
前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、
前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップであり、それぞれの仮想出口デバイスが、受信仮想ポートを有する、ステップと、
前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップであり、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する、ステップと、
前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップと、
複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、ステップと、
前記送信仮想ポートをネットワーク物理ポートに選択的に結合するステップと、
を含む方法。
[項目11]
前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力するステップをさらに含む、項目10に記載の方法。
[項目12]
送信仮想ポートからフル信号を受信し、前記フル信号を出力する前記送信仮想ポートから前記ネットワーク物理ポートへフレームを転送するステップをさらに含む、項目10に記載の方法。
[項目13]
前記フレームタイプに基づいて送信仮想ポートへのフレームに関するルートを特定し、前記フレームを前記送信仮想ポートへ向けて出力するステップをさらに含む、項目10に記載の方法。
[項目14]
前記複数の入力フレームが、プロバイダバックボーンブリッジトラフィックエンジニアリング(PBB-TE)プロトコル及びトランスファーマルチプロトコルリスティングスイッチ(T-MPLS)プロトコルを含むプロトコルのグループからのプロトコルを用いてカプセル化される、項目10に記載の方法。
[項目15]
前記送信仮想ポートが、共有メモリの第1の部分を含む、項目10に記載の方法。
[項目16]
複数の第3のカプセル化されたフレームを受信するステップと、
前記複数の第3のカプセル化されたフレームを調べて、複数のフレーム宛先を特定するステップと、
前記複数のフレーム宛先を、格納されている宛先に比較するステップと、
前記第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送するステップであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、ステップと、
前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すステップと、
複数の受信仮想ポートにおいて前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、複数の一致するカプセル化された前記フレームから複数の第4のカプセル化されたフレームを抽出するステップであって、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、ステップと、
前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するステップであって、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、ステップと、
をさらに含む、項目15に記載の方法。
[項目17]
プログラム命令が埋め込まれている非一時的コンピュータ可読記憶媒体であって、前記プログラム命令が、プロセッサによって実行されたときに、仮想ネットワークデバイスの動作方法を前記プロセッサに実行させ、前記動作方法が、
複数の入力フレームを受信するステップと、
前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、
前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップであり、それぞれの仮想出口デバイスが、受信仮想ポートを有する、ステップと、
前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップであり、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームに関連付けられている複数の仮想出口デバイスを識別する、ステップと、
前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップと、
複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、ステップと、
前記送信仮想ポートをネットワーク物理ポートに選択的に結合するステップと、
を含む、媒体。
[項目18]
前記動作方法が、前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力するステップをさらに含む、項目17に記載の媒体。
[項目19]
前記動作方法が、送信仮想ポートからフル信号を受信し、前記フル信号を出力する前記送信仮想ポートから前記ネットワーク物理ポートへフレームを転送するステップをさらに含む、項目17に記載の媒体。
[項目20]
前記動作方法が、
複数の第3のカプセル化されたフレームを受信するステップと、
前記複数の第3のカプセル化されたフレームを調べて、複数のフレーム宛先を特定するステップと、
前記複数のフレーム宛先を、格納されている宛先に比較するステップと、
それぞれの第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送して、複数の一致するカプセル化されたフレームを転送するステップであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、ステップと、
前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すステップと、
複数の受信仮想ポートにおいて前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、前記複数の一致するカプセル化されたフレームから複数の第4のカプセル化されたフレームを抽出するステップであって、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、ステップと、
前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するステップであって、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、ステップと、
をさらに含む、項目19に記載の媒体。
The above description of the disclosed embodiments enables 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 can be implemented in other embodiments without departing from the spirit or scope of the present application. Thus, the present application is not limited to the embodiments shown herein, but is accorded the widest scope consistent with the principles and novel features disclosed herein.
[Items of the invention]
[Item 1]
a framing circuit for receiving a plurality of input frames, examining the plurality of input frames to identify a frame type for each input frame, identifying a virtual exit device associated with each input frame based on the frame type, and encapsulating the plurality of input frames to form a plurality of first encapsulated frames, each virtual exit device having a receive virtual port, the plurality of first encapsulated frames having a plurality of headers, the plurality of headers identifying a plurality of virtual exit devices associated with the plurality of input frames;
a plurality of transmit virtual ports coupled to the framing circuit for identifying a plurality of next hops in a virtual network for the plurality of first encapsulated frames based on the virtual exit device in the headers of the plurality of first encapsulated frames and for encapsulating the plurality of first encapsulated frames to form a plurality of second encapsulated frames, each second encapsulated frame having a header, the header of the second encapsulated frame identifying a next hop for the second encapsulated frame based on the next hop of the first encapsulated frame and the receiving virtual port of the associated virtual exit device of an input frame;
an outgoing virtual switch coupled to the plurality of outgoing virtual ports for selectively coupling the outgoing virtual ports to network physical ports;
1. A virtual network device comprising:
[Item 2]
2. The virtual network device of claim 1, wherein the transmitting virtual switch cycles through the plurality of transmitting virtual ports and sequentially forwards the second encapsulated frames from each transmitting virtual port in a fixed repeating order to output a sequence of second encapsulated frames.
[Item 3]
2. The virtual network device of claim 1, wherein the transmitting virtual switch receives a full signal from a transmitting virtual port and forwards frames from the transmitting virtual port that outputs the full signal to the network physical port.
[Item 4]
The framing circuit,
a virtual switch that identifies a route for the frame to a sending virtual port based on the frame type and outputs the frame toward the sending virtual port;
a framer coupled to the virtual switch for encapsulating the input frame;
2. The virtual network device of item 1, comprising:
[Item 5]
5. The virtual network device of claim 4, wherein the framer implements a protocol from a group of protocols including a Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and a Transfer Multi-Protocol Listing Switch (T-MPLS) protocol.
[Item 6]
2. The virtual network device of claim 1, wherein the outgoing virtual port includes a first portion of a shared memory.
[Item 7]
a receiving physical port that receives a plurality of third encapsulated frames, examines the plurality of third encapsulated frames to identify a plurality of frame destinations, compares the plurality of frame destinations to stored destinations, and forwards the third encapsulated frames with the matching destinations as matching encapsulated frames, wherein the plurality of third encapsulated frames and the matching encapsulated frames have a plurality of headers, the plurality of headers having a plurality of receiving virtual port identifiers;
a receive virtual switch coupled to the receive physical port for switchably passing the matching encapsulated frame based on the receive virtual port identifier in the header of the matching encapsulated frame;
a plurality of receive virtual ports coupled to the receive virtual switch for unpacking the switchably passed matching encapsulated frames to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames, whereby each receive virtual port unpacks the matching encapsulated frames to extract a fourth encapsulated frame, the receive virtual port including a second portion of the shared memory;
a deframing circuit coupled to the plurality of receiving virtual ports for unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, the plurality of output frames having a plurality of frame types, each output frame having a header that identifies a destination router/switch;
7. The virtual network device of claim 6, further comprising:
[Item 8]
8. The virtual network device of claim 7, wherein the deframing circuitry includes a deframer that receives the fourth encapsulated frame from the plurality of receiving virtual ports and unpacks the fourth encapsulated frame to extract the input frame.
[Item 9]
9. The virtual network device of claim 8, wherein the framing circuit outputs the input frame to a local router/switch.
[Item 10]
1. 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 headers identifying a plurality of virtual egress devices associated with the plurality of input frames;
determining 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 having a header, the header of the second encapsulated frame identifying a next hop of the second encapsulated frame based on a next hop of the first encapsulated frame and the receiving virtual port of the associated virtual egress device of an input frame;
selectively binding the transmit virtual port to a network physical port;
The method includes:
[Item 11]
11. The method of claim 10, further comprising the step of cycling through the plurality of transmit virtual ports and sequentially forwarding the second encapsulated frames from each transmit virtual port in a fixed repeating order to output a sequence of second encapsulated frames.
[Item 12]
11. The method of claim 10, further comprising the steps of receiving a full signal from a sending virtual port and forwarding frames from the sending virtual port that outputs the full signal to the network physical port.
[Item 13]
11. The method of claim 10, further comprising identifying a route for the frame to an egress virtual port based on the frame type, and outputting the frame toward the egress virtual port.
[Item 14]
Item 11. The method of item 10, wherein the plurality of input frames are encapsulated using a protocol from a group of protocols including a Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and a Transfer Multi-Protocol Listing Switch (T-MPLS) protocol.
[Item 15]
11. The method of claim 10, wherein the sending virtual port includes a first portion of a shared memory.
[Item 16]
receiving a plurality of third encapsulated frames;
examining the plurality of third encapsulated frames to identify a plurality of frame destinations;
comparing said plurality of frame destinations to stored destinations;
forwarding the third encapsulated frame as a matching encapsulated frame with a matching destination, the third encapsulated frames and the matching encapsulated frames 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 receiving virtual port identifier in the header of the matching encapsulated frame;
unpacking the switchably passed matching encapsulated frames at a plurality of receiving virtual ports to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames, whereby each receiving virtual port unpacks the matching encapsulated frame to extract a fourth encapsulated frame, the receiving virtual port including a second portion of the shared memory;
unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, the plurality of output frames having a plurality of frame types, each output frame having a header identifying a destination router/switch;
16. The method of claim 15, further comprising:
[Item 17]
A non-transitory computer-readable storage medium having program instructions embedded therein, the program instructions, when executed by a processor, causing the processor to perform a method of operating a virtual network device, the method 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 headers identifying a plurality of virtual egress devices associated with the plurality of input frames;
determining 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 having a header, the header of the second encapsulated frame identifying a next hop of the second encapsulated frame based on a next hop of the first encapsulated frame and the receiving virtual port of the associated virtual egress device of an input frame;
selectively binding the transmit virtual port to a network physical port;
Including, media.
[Item 18]
20. The medium of claim 17, wherein the operating method further comprises cycling through the plurality of transmit virtual ports and sequentially forwarding the second encapsulated frames from each transmit virtual port in a fixed repeating order to output a sequence of second encapsulated frames.
[Item 19]
20. The medium of claim 17, wherein the operating method further comprises the steps of receiving a full signal from a transmitting virtual port and forwarding frames from the transmitting virtual port that outputs the full signal to the network physical port.
[Item 20]
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 said 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 plurality of third encapsulated frames and the matching encapsulated frames 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 receiving virtual port identifier in the header of the matching encapsulated frame;
unpacking the switchably passed matching encapsulated frames at a plurality of receiving virtual ports to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames, whereby each receiving virtual port unpacks the matching encapsulated frame to extract a fourth encapsulated frame, the receiving virtual port including a second portion of the shared memory;
unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, the plurality of output frames having a plurality of frame types, each output frame having a header identifying a destination router/switch;
20. The medium according to item 19, further comprising:

Claims (21)

複数の入力フレームを受信し、前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定し、前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定し、前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するためのフレーミング回路であって、それぞれの仮想出口デバイスが、受信仮想ポートを有し、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームにそれぞれ関連付けられている複数の仮想出口デバイスを識別する、フレーミング回路と、
前記フレーミング回路に結合されている複数の送信仮想ポートであって、前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定し、前記複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するための複数の送信仮想ポートであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、複数の送信仮想ポートと、
前記複数の送信仮想ポートに結合されている送信仮想スイッチであって、前記送信仮想ポートを複数のネットワーク物理ポートのいずれかに選択的に結合するための送信仮想スイッチと、
を備える仮想ネットワークデバイス。
a framing circuit for receiving a plurality of input frames, examining the plurality of input frames to identify a frame type for each input frame, identifying a virtual exit device associated with each input frame based on the frame type, and encapsulating the plurality of input frames to form a plurality of first encapsulated frames, each virtual exit device having a receive virtual port, the plurality of first encapsulated frames having a plurality of headers, the plurality of headers identifying a plurality of virtual exit devices respectively associated with the plurality of input frames;
a plurality of transmit virtual ports coupled to the framing circuit for identifying a plurality of next hops in a virtual network for the plurality of first encapsulated frames based on the virtual exit device in the headers of the plurality of first encapsulated frames and for encapsulating the plurality of first encapsulated frames to form a plurality of second encapsulated frames, each second encapsulated frame having a header, the header of the second encapsulated frame identifying a next hop for the second encapsulated frame based on the next hop of the first encapsulated frame and the receiving virtual port of the associated virtual exit device of an input frame;
an outgoing virtual switch coupled to the plurality of outgoing virtual ports for selectively coupling the outgoing virtual ports to any of a plurality of network physical ports;
1. A virtual network device comprising:
前記送信仮想スイッチが、前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力する、請求項1に記載の仮想ネットワークデバイス。 The virtual network device of claim 1, wherein the egress virtual switch cycles through the plurality of egress virtual ports, sequentially forwarding the second encapsulated frames from each egress virtual port in a fixed repeating order to output a sequence of second encapsulated frames. 前記送信仮想スイッチが、前記複数の送信仮想ポートのうちのいずれかの送信仮想ポートからフル信号を受信し、該フル信号は前記いずれかの送信仮想ポートにおける前記第2のカプセル化されたフレームが送信される準備ができていることを示しており、前記フル信号を出力する前記いずれかの送信仮想ポートから前記ネットワーク物理ポートへフレームを転送する、請求項1に記載の仮想ネットワークデバイス。 2. The virtual network device of claim 1, wherein the transmitting virtual switch receives a full signal from any one of the plurality of transmitting virtual ports , the full signal indicating that the second encapsulated frame at the any one of the transmitting virtual ports is ready to be transmitted, and forwards the frame from the any one of the transmitting virtual ports that outputs the full signal to the network physical port. 前記フレーミング回路が、
前記フレームタイプに基づいて送信仮想ポートへのフレームに関するルートを特定し、前記フレームを前記送信仮想ポートへ向けて出力する仮想スイッチと、
前記仮想スイッチに結合されているフレーマであって、前記入力フレームをカプセル化するためのフレーマと、
を含む、請求項1に記載の仮想ネットワークデバイス。
The framing circuit,
a virtual switch that identifies a route for the frame to a sending virtual port based on the frame type and outputs the frame toward the sending virtual port;
a framer coupled to the virtual switch for encapsulating the input frame;
The virtual network device of claim 1 .
前記フレーマが、プロバイダバックボーンブリッジトラフィックエンジニアリング(PBB-TE)プロトコル及びトランスポートマルチプロトコルラベルスイッチング(T-MPLS)プロトコルを含むプロトコルのグループからのプロトコルを実行する、請求項4に記載の仮想ネットワークデバイス。 5. The virtual network device of claim 4, wherein the framer executes a protocol from a group of protocols including a Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and a Transport Multiprotocol Label Switching (T-MPLS) protocol. 前記送信仮想ポートが、共有メモリの第1の部分を含む、請求項1に記載の仮想ネットワークデバイス。 The virtual network device of claim 1, wherein the outgoing virtual port includes a first portion of the shared memory. 複数の第3のカプセル化されたフレームを受信し、前記複数の第3のカプセル化されたフレームを調べて複数のフレーム宛先を特定し、前記複数のフレーム宛先を、格納されている宛先に比較し、前記第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送する受信物理ポートであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、受信物理ポートと、
前記受信物理ポートに結合されている受信仮想スイッチであって、前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すための受信仮想スイッチと、
前記受信仮想スイッチに結合されている複数の受信仮想ポートであって、前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、複数の一致するカプセル化された前記フレームから複数の第4のカプセル化されたフレームを抽出するための複数の受信仮想ポートであり、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、複数の受信仮想ポートと、
前記複数の受信仮想ポートに結合されているデフレーミング回路であって、前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するためのデフレーミング回路であり、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、デフレーミング回路と、
をさらに備える、請求項6に記載の仮想ネットワークデバイス。
a receiving physical port that receives a plurality of third encapsulated frames, examines the plurality of third encapsulated frames to identify a plurality of frame destinations, compares the plurality of frame destinations to stored destinations, and forwards the third encapsulated frames with the matching destinations as matching encapsulated frames, wherein the plurality of third encapsulated frames and the matching encapsulated frames have a plurality of headers, the plurality of headers having a plurality of receiving virtual port identifiers;
a receive virtual switch coupled to the receive physical port for switchably passing the matching encapsulated frame based on the receive virtual port identifier in the header of the matching encapsulated frame;
a plurality of receive virtual ports coupled to the receive virtual switch for unpacking the switchably passed matching encapsulated frames to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames, whereby each receive virtual port unpacks the matching encapsulated frames to extract a fourth encapsulated frame, the receive virtual port including a second portion of the shared memory;
a deframing circuit coupled to the plurality of receiving virtual ports for unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, the plurality of output frames having a plurality of frame types, each output frame having a header that identifies a destination router/switch;
The virtual network device of claim 6 , further comprising:
前記デフレーミング回路が、デフレーマを含み、前記デフレーマが、前記複数の受信仮想ポートから前記第4のカプセル化されたフレームを受信し、前記第4のカプセル化されたフレームをアンパックして、前記入力フレームを抽出する、請求項7に記載の仮想ネットワークデバイス。 The virtual network device of claim 7, wherein the deframing circuit includes a deframer that receives the fourth encapsulated frame from the plurality of receiving virtual ports and unpacks the fourth encapsulated frame to extract the input frame. 前記フレーミング回路が、前記入力フレームをローカルルータ/スイッチへ出力する、請求項8に記載の仮想ネットワークデバイス。 The virtual network device of claim 8, wherein the framing circuit outputs the input frame to a local router/switch. 仮想ネットワークデバイスの動作方法であって、
複数の入力フレームを受信するステップと、
前記複数の入力フレームを調べて、それぞれの入力フレームに関するフレームタイプを特定するステップと、
前記フレームタイプに基づいて、それぞれの入力フレームに関連付けられている仮想出口デバイスを特定するステップであり、それぞれの仮想出口デバイスが、受信仮想ポートを有する、ステップと、
前記複数の入力フレームをカプセル化して、複数の第1のカプセル化されたフレームを形成するステップであり、前記複数の第1のカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、前記複数の入力フレームにそれぞれ関連付けられている複数の仮想出口デバイスを識別する、ステップと、
前記複数の第1のカプセル化されたフレームの前記ヘッダにおける前記仮想出口デバイスに基づいて前記複数の第1のカプセル化されたフレームに関する仮想ネットワークにおける複数のネクストホップを特定するステップと、
複数の送信仮想ポートにおいて複数の第1のカプセル化されたフレームをカプセル化して、複数の第2のカプセル化されたフレームを形成するステップであり、それぞれの第2のカプセル化されたフレームが、ヘッダを有し、第2のカプセル化されたフレームの前記ヘッダが、第1のカプセル化されたフレームのネクストホップに基づいて前記第2のカプセル化されたフレームのネクストホップを、そして入力フレームの前記関連付けられている仮想出口デバイスの前記受信仮想ポートを識別する、ステップと、
前記送信仮想ポートを複数のネットワーク物理ポートのいずれかに選択的に結合するステップと、
を含む方法。
1. 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 headers identifying a plurality of virtual egress devices respectively associated with the plurality of input frames;
determining 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 having a header, the header of the second encapsulated frame identifying a next hop of the second encapsulated frame based on a next hop of the first encapsulated frame and the receiving virtual port of the associated virtual egress device of an input frame;
selectively binding the transmit virtual port to one of a plurality of network physical ports;
The method includes:
前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力するステップをさらに含む、請求項10に記載の方法。 The method of claim 10, further comprising: cycling through the plurality of transmit virtual ports and sequentially forwarding the second encapsulated frames from each transmit virtual port in a fixed repeating order to output a sequence of second encapsulated frames. 前記複数の送信仮想ポートのうちのいずれかの送信仮想ポートからフル信号を受信し、該フル信号は前記いずれかの送信仮想ポートにおける前記第2のカプセル化されたフレームが送信される準備ができていることを示しており、前記フル信号を出力する前記いずれかの送信仮想ポートから前記ネットワーク物理ポートへフレームを転送するステップをさらに含む、請求項10に記載の方法。 11. The method of claim 10, further comprising: receiving a full signal from any one of the plurality of transmitting virtual ports , the full signal indicating that the second encapsulated frame at the any one of the transmitting virtual ports is ready to be transmitted; and forwarding the frame from the any one of the transmitting virtual ports outputting the full signal to the network physical port. 前記フレームタイプに基づいて送信仮想ポートへのフレームに関するルートを特定し、前記フレームを前記送信仮想ポートへ向けて出力するステップをさらに含む、請求項10に記載の方法。 The method of claim 10, further comprising: determining a route for the frame to an egress virtual port based on the frame type; and outputting the frame toward the egress 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 a Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and a Transport Multiprotocol Label Switching (T-MPLS) protocol. 前記送信仮想ポートが、共有メモリの第1の部分を含む、請求項10に記載の方法。 The method of claim 10, wherein the sending virtual port includes a first portion of a 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 said plurality of frame destinations to stored destinations;
forwarding the third encapsulated frame as a matching encapsulated frame with a matching destination, the third encapsulated frames and the matching encapsulated frames 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 receiving virtual port identifier in the header of the matching encapsulated frame;
unpacking the switchably passed matching encapsulated frames at a plurality of receiving virtual ports to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames, whereby each receiving virtual port unpacks the matching encapsulated frame to extract a fourth encapsulated frame, the receiving virtual port including a second portion of the shared memory;
unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, the plurality of output frames having a plurality of frame types, each output frame having a header identifying a destination router/switch;
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, the program instructions, when executed by a processor, causing the processor to perform a method of operating a virtual network device, the method 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 headers identifying a plurality of virtual egress devices respectively associated with the plurality of input frames;
determining 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 having a header, the header of the second encapsulated frame identifying a next hop of the second encapsulated frame based on a next hop of the first encapsulated frame and the receiving virtual port of the associated virtual egress device of an input frame;
selectively binding the transmit virtual port to one of a plurality of network physical ports;
Including, media.
前記動作方法が、前記複数の送信仮想ポートを循環して、それぞれの送信仮想ポートから、固定された繰り返し順序で第2のカプセル化されたフレームを順次転送して、一連の第2のカプセル化されたフレームを出力するステップをさらに含む、請求項17に記載の媒体。 The medium of claim 17, wherein the method further comprises cycling through the plurality of transmit virtual ports and sequentially forwarding the second encapsulated frames from each transmit virtual port in a fixed repeating order to output a sequence of second encapsulated frames. 前記動作方法が、前記複数の送信仮想ポートのうちのいずれかの送信仮想ポートからフル信号を受信し、該フル信号は前記いずれかの送信仮想ポートにおける前記第2のカプセル化されたフレームが送信される準備ができていることを示しており、前記フル信号を出力する前記いずれかの送信仮想ポートから前記ネットワーク物理ポートへフレームを転送するステップをさらに含む、請求項17に記載の媒体。 20. The medium of claim 17, wherein the operating method further comprises receiving a full signal from any one of the plurality of transmitting virtual ports , the full signal indicating that the second encapsulated frame at the any one of the transmitting virtual ports is ready to be transmitted, and forwarding the frame from the any one of the transmitting virtual ports outputting the full signal to the network physical port. 前記送信仮想ポートが、共有メモリの第1の部分を含む、請求項17に記載の媒体。20. The medium of claim 17, wherein the sending virtual port comprises a first portion of a shared memory. 前記動作方法が、
複数の第3のカプセル化されたフレームを受信するステップと、
前記複数の第3のカプセル化されたフレームを調べて、複数のフレーム宛先を特定するステップと、
前記複数のフレーム宛先を、格納されている宛先に比較するステップと、
それぞれの第3のカプセル化されたフレームを、一致する宛先とともに、一致するカプセル化されたフレームとして転送して、複数の一致するカプセル化されたフレームを転送するステップであって、前記複数の第3のカプセル化されたフレーム及び一致するカプセル化されたフレームが、複数のヘッダを有し、前記複数のヘッダが、複数の受信仮想ポート識別子を有する、ステップと、
前記一致するカプセル化されたフレームの前記ヘッダにおける前記受信仮想ポート識別子に基づいて前記一致するカプセル化されたフレームを切り替え可能に渡すステップと、
複数の受信仮想ポートにおいて前記切り替え可能に渡された一致するカプセル化されたフレームをアンパックして、前記複数の一致するカプセル化されたフレームから複数の第4のカプセル化されたフレームを抽出するステップであって、それによって、それぞれの受信仮想ポートが、一致するカプセル化されたフレームをアンパックして、第4のカプセル化されたフレームを抽出し、前記受信仮想ポートが、前記共有メモリの第2の部分を含む、ステップと、
前記複数の第4のカプセル化されたフレームをアンパックして、前記複数の第4のカプセル化されたフレームから複数の出力フレームを抽出するステップであって、前記複数の出力フレームが、複数のフレームタイプを有し、それぞれの出力フレームが、宛先ルータ/スイッチを識別するヘッダを有する、ステップと、
をさらに含む、請求項20に記載の媒体。
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 said 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 plurality of third encapsulated frames and the matching encapsulated frames 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 receiving virtual port identifier in the header of the matching encapsulated frame;
unpacking the switchably passed matching encapsulated frames at a plurality of receiving virtual ports to extract a plurality of fourth encapsulated frames from the plurality of matching encapsulated frames, whereby each receiving virtual port unpacks the matching encapsulated frame to extract a fourth encapsulated frame, the receiving virtual port including a second portion of the shared memory;
unpacking the plurality of fourth encapsulated frames to extract a plurality of output frames from the plurality of fourth encapsulated frames, the plurality of output frames having a plurality of frame types, each output frame having a header identifying a destination router/switch;
The medium of claim 20 further comprising:
JP2022563954A 2020-05-06 2021-03-10 Virtual network device, method of operating a virtual network device and non-transitory computer-readable storage medium Active JP7565376B2 (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 (2)

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

Family

ID=78468629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022563954A Active JP7565376B2 (en) 2020-05-06 2021-03-10 Virtual network device, method of operating a virtual network device and non-transitory computer-readable storage medium

Country Status (8)

Country Link
EP (1) EP4147395A4 (en)
JP (1) JP7565376B2 (en)
KR (2) KR102691825B1 (en)
CN (2) CN118764388A (en)
AU (3) AU2021268768B2 (en)
BR (1) BR112022021767A2 (en)
CO (1) CO2022015545A2 (en)
WO (1) WO2021223510A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000286853A (en) 1999-03-16 2000-10-13 Nortel Networks Ltd Method and apparatus for routing packets
US20120093034A1 (en) 2010-10-15 2012-04-19 International Business Machines Corporation Virtual switching ports on high-bandwidth links
JP2015039166A (en) 2013-07-25 2015-02-26 カビウム・インコーポレーテッド Network interface card with virtual switch and traffic flow policy enforcement
JP2017508395A (en) 2014-03-12 2017-03-23 オラクル・インターナショナル・コーポレイション Virtual port mapping for non-blocking operation between physical ports

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5959990A (en) * 1996-03-12 1999-09-28 Bay Networks, Inc. VLAN frame format
US20080008202A1 (en) * 2002-10-31 2008-01-10 Terrell William C Router with routing processors and methods for virtualization
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
CA3081255C (en) 2009-04-01 2023-08-22 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
CN102238091B (en) * 2011-07-22 2017-03-15 中兴通讯股份有限公司 A kind of file transmitting method and access controller
US9590820B1 (en) * 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
CN103326940B (en) * 2012-03-22 2017-04-26 华为技术有限公司 Method for forwarding message in network and edge device of operator
CN103428061B (en) * 2012-05-14 2016-12-28 上海贝尔股份有限公司 Access chassis node and the method utilizing access chassis node to carry out data forwarding
CN104871495B (en) * 2012-09-26 2018-07-13 华为技术有限公司 Virtual superposition gateway for stacking network
CN104518935B (en) * 2013-09-27 2018-05-25 华为技术有限公司 Realize the methods, devices and systems of virtual network communication
US9432487B2 (en) * 2014-08-04 2016-08-30 Futurewei Technologies, Inc. System and method for network protocol offloading in virtual networks
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
US20180213462A1 (en) * 2015-08-03 2018-07-26 Nec Corporation Transmission device, transmission control method, and recording medium
US10187263B2 (en) * 2016-11-14 2019-01-22 Futurewei Technologies, Inc. Integrating physical and virtual network functions in a service-chained network environment
US11233778B2 (en) * 2018-08-15 2022-01-25 Juniper Networks, Inc. Secure forwarding of tenant workloads in virtual networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000286853A (en) 1999-03-16 2000-10-13 Nortel Networks Ltd Method and apparatus for routing packets
US20120093034A1 (en) 2010-10-15 2012-04-19 International Business Machines Corporation Virtual switching ports on high-bandwidth links
JP2015039166A (en) 2013-07-25 2015-02-26 カビウム・インコーポレーテッド Network interface card with virtual switch and traffic flow policy enforcement
JP2017508395A (en) 2014-03-12 2017-03-23 オラクル・インターナショナル・コーポレイション Virtual port mapping for non-blocking operation between physical ports

Also Published As

Publication number Publication date
AU2024201137B2 (en) 2025-02-27
AU2021268768A1 (en) 2022-11-17
BR112022021767A2 (en) 2022-12-13
KR20230006486A (en) 2023-01-10
CN115552819B (en) 2024-07-02
AU2025203836A1 (en) 2025-06-12
AU2021268768B2 (en) 2023-11-23
AU2024201137A1 (en) 2024-03-14
EP4147395A4 (en) 2024-05-01
JP2023523915A (en) 2023-06-08
EP4147395A1 (en) 2023-03-15
KR20240121352A (en) 2024-08-08
CN118764388A (en) 2024-10-11
CN115552819A (en) 2022-12-30
WO2021223510A1 (en) 2021-11-11
CO2022015545A2 (en) 2022-11-08
KR102691825B1 (en) 2024-08-06

Similar Documents

Publication Publication Date Title
US12452195B2 (en) Virtual network device
US12323271B2 (en) Virtual network
JP7565376B2 (en) Virtual network device, method of operating a virtual network device and non-transitory computer-readable storage medium
JP7734253B2 (en) Virtual Exit Device, Method of Operating a Virtual Exit Device, and Non-Transitory Computer-Readable Storage Medium
JP7764540B2 (en) Virtual forwarding device, method of operation thereof and computer-readable storage medium
HK40084444A (en) Virtual network device
HK40084444B (en) Virtual network device
HK40085813B (en) Virtual network
HK40085813A (en) Virtual network
HK40085481A (en) Method of forming a virtual network
HK40085481B (en) Method of forming a virtual network

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240930

R150 Certificate of patent or registration of utility model

Ref document number: 7565376

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150