Virtual Exit Device, Method of Operating a Virtual Exit Device, and Non-Transitory Computer-Readable Storage Medium
The virtual network system addresses the port limitations of conventional devices by using virtual ingress and egress devices to combine frames, enhancing port capacity without requiring additional hardware.
Patent Information
- Application Number
- JP2024140641
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-05-11
- Filing Date
- 2024-08-22
- Publication Date
- 2025-09-04
- Estimated Expiration
- 2041-04-30
AI Technical Summary
Conventional network devices often lack sufficient physical ports, leading to reduced service or costly upgrades due to the fixed data rate of network ports, which cannot accommodate the increasing need for connections.
A virtual network system with virtual ingress and egress devices that utilize encapsulation and forwarding techniques to increase the effective number of physical ports by combining frames from multiple sources, allowing them to be transmitted through a single physical port.
This approach effectively increases the number of available physical ports, enabling efficient communication without the need for additional hardware upgrades by utilizing virtual ports to handle varying frame rates from different sources.
Smart Images

Figure 0007734253000001 
Figure 0007734253000002 
Figure 0007734253000003
Abstract
Description
[Technical Field]
[0001] This application relates to the field of computer networks, and in particular to virtual networks. [Background technology]
[0002] A wide area network (WAN) is an interconnected web of network devices that typically interconnects local area networks 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.
[0003] Conventional 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, conventional network devices negotiate the transfer speed of the network port, and during that process, the transfer speed of the network port is fixed.
[0004] 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. Summary of the Invention
[0005] The present invention includes a virtual network with virtual ports that substantially increase the number of available physical ports. The virtual network of the present invention includes a virtual ingress device, a virtual egress device to be coupled to a remote router / switch, and a communication channel coupled to the virtual ingress device and the virtual egress device. The virtual ingress device receives an input frame having a header identifying the remote router / switch. The input frame originates from one of a plurality of sources. The virtual ingress device also identifies the virtual egress device from the identity of the remote router / switch and encapsulates the input frame to form a first encapsulated frame. The first encapsulated frame has a field identifying the virtual egress device and a field containing the input frame. Additionally, the virtual ingress device identifies a next hop for the first encapsulated frame from the identity of the virtual egress device and encapsulates the first encapsulated frame to form a second encapsulated frame. The second encapsulated frame has a field identifying the next hop and a field containing the first encapsulated frame. Furthermore, the virtual ingress device combines the second encapsulated frames with second encapsulated frames from other sources to form a stream of second encapsulated frames and transmits the stream of second encapsulated frames.
[0006] The present invention also includes a method for operating a virtual network. The method includes receiving an input frame having a header identifying a remote router / switch. The input frame originates from one of a plurality of sources. The method also includes identifying a virtual exit device from the identity of the remote router / switch and encapsulating the input frame to form a first encapsulated frame. The first encapsulated frame has a field identifying the virtual exit device and a field containing the input frame. In addition, the method includes identifying a next hop for the first encapsulated frame from the identity of the virtual exit device and encapsulating the first encapsulated frame to form a second encapsulated frame. The second encapsulated frame has a field identifying the next hop and a field containing the first encapsulated frame. The method further includes combining the second encapsulated frame with other second encapsulated frames from a plurality of sources to form a sequence of second encapsulated frames and transmitting the sequence of second encapsulated frames.
[0007] The present invention also provides a non-transitory computer-readable storage medium having embedded program instructions that, when executed by a processor, cause the processor to perform a method for operating a virtual network. The method includes receiving an input frame having a header identifying a remote router / switch. The input frame originates from one of a plurality of sources. The method also includes identifying a virtual egress device from the identity of the remote router / switch and encapsulating the input frame to form a first encapsulated frame. The first encapsulated frame has a field identifying the virtual egress device and a field containing the input frame. Additionally, the method includes identifying a next hop for the first encapsulated frame from the identity of the virtual egress device and encapsulating the first encapsulated frame to form a second encapsulated frame. The second encapsulated frame has a field identifying the next hop and a field containing the first encapsulated frame. The method further includes combining the second encapsulated frame with other second encapsulated frames from a plurality of sources to form a sequence of second encapsulated frames and transmitting the sequence of second encapsulated frames.
[0008] 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: [Brief explanation of the drawings]
[0009] [Figure 1A] FIG. 1A is a block diagram illustrating an example of a virtual network 100 in accordance with the present invention. [Figure 1B] FIG. 1B is a flow chart illustrating a method 150 of operating a virtual network 100 in accordance with the present invention. [Figure 1C] FIG. 1C is a diagram illustrating an example of a frame according to the present invention. [Figure 2A] FIG. 2A is a block diagram illustrating an example of a transmitter circuit 200 in accordance with the present invention. [Figure 2B] FIG. 2B is a block diagram illustrating an example of a transmitter circuit 250 in accordance with the present invention. [Figure 3A] FIG. 3A is a flow chart illustrating an example method 300 of operating the transmitter circuit 200 in accordance with the present invention. [Figure 3B] FIG. 3B is a flow chart illustrating an example method 350 of operating the transmitter circuit 200 in accordance with the present invention. [Figure 4] FIG. 4 is a block diagram illustrating an example of a transmitter circuit 400 in accordance with an alternative embodiment of the present invention. [Figure 5] FIG. 5 is a block diagram illustrating an example of a transmitter circuit 500 in accordance with an alternative embodiment of the present invention. [Figure 6] FIG. 6 is a block diagram illustrating an example of a virtual exit device 600 in accordance with the present invention. [Figure 7] FIG. 7 is a flow chart illustrating an example method 700 of operating a virtual exit device 600 in accordance with the present invention. [Figure 8] FIG. 8 is a block diagram illustrating an example of a receiver circuit 800 in accordance with an alternative embodiment of the present invention. [Figure 9] 9 is a block diagram illustrating an example of a receiver 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 THE INVENTION
[0010] 1A shows a block diagram illustrating an example of a virtual network 100 in accordance with the present invention. As shown in FIG. 1A, the virtual network 100 includes a virtual ingress device 110, a virtual egress device 112, and a communication channel 114 coupling the virtual ingress device 110 to the virtual egress device 112.
[0011] Virtual network 100 interconnects a local router / switch 120 with a remote router / switch 122. In this example, local router / switch 120 is coupled to several local devices, such as set-top boxes (STBs), personal computers (PCs), and video devices (VIDs), while remote router / switch 122 is coupled to a corresponding number of remote devices.
[0012] In operation, the virtual ingress device 110 receives streams of data frames and video data frames from a local router / switch 120, such as a set-top box (STB), personal computer (PC), etc., combines the streams of data frames into a single stream of virtual data frames, and transmits the single stream of virtual data frames onto the channel 114.
[0013] 1B shows a flowchart illustrating a method 150 of operating virtual network 100 in accordance with the present invention. As shown in FIG. 1B, method 150 begins at 152 where virtual ingress device 110 receives an incoming frame from local router / switch 120. The incoming frame, such as an STB, PC, or VID frame originating from a local device, such as an STB, PC, or VID, has a header that identifies a remote router / switch (which in this example is remote router / switch 122).
[0014] 1C shows a diagram illustrating an example of a frame in accordance with the present invention. As shown in FIG. 1C, an input frame has a header that includes a Src MAC A field that identifies the MAC address of a local router / switch, such as local router / switch 120, and a Dist MAC B field that identifies the MAC address of a remote router / switch, such as remote router / switch 122. The input frame also includes other fields, such as a type field, a data field, and an error correction (CRC) field.
[0015] 1B, the method 150 then moves to 154, where the virtual ingress device 110 determines the virtual egress device coupled to the remote router / switch from the identity of the remote router / switch. For example, the MAC address of the remote router / switch 122, taken from the Dist MAC B field, can be used to identify, via a lookup table, the MAC address of the virtual egress device 112 coupled to the remote router / switch 122.
[0016] After identifying the virtual egress device, method 150 moves to 156, where virtual egress device 110 encapsulates the ingress frame to form a first encapsulated (FE) frame. The FE frame then has a field that identifies the virtual egress device (which in this example is virtual egress device 112) and a field that contains the ingress frame. The encapsulation can be performed using a conventional protocol, such as the Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol or the Transport Multiprotocol Label Switching (T-MPLS) protocol.
[0017] 1C, the FE frame has a Dst MAC X field that identifies the MAC address of a virtual egress device, such as virtual egress device 112, and a Src MAC N field that identifies the MAC address of a virtual ingress device, such as virtual ingress device 110. The FE frame also includes other fields, such as an I-tag field, a payload field containing the input frame, and a CRC field.
[0018] 1B , method 150 then moves to 158, where virtual ingress device 110 determines a next hop for the FE frame from the identity of the virtual egress device. For example, virtual ingress device 110 may enter the MAC address of the virtual egress device into a lookup table to determine the MAC address of the next hop in virtual network 100. After this, method 150 moves to 160, where virtual ingress device 110 encapsulates the FE frame to form second encapsulated (SE) frames, each having a field identifying the next hop and a field containing the FE frame.
[0019] 1C, the SE frame has a Src MAC C field that identifies the MAC address of the current device (which in this example is virtual ingress device 110) and a Dist MAC H field that identifies the MAC address of the next hop in virtual network 100 (which in this example is virtual egress device 112). The SE frame also includes a Dst vID field that identifies a virtual port of the virtual ingress device and a Src vID field that identifies the corresponding virtual port at the virtual egress device.
[0020] 1B , method 150 then moves to 162, where virtual ingress device 110 combines the SE frames with second encapsulated frames from other sources to form a single stream of SE frames. For example, the single stream of SE frames may include SE STB frames, SE PC frames, and SE video frames in any order, sequential or random. Following this, method 150 moves to 164, where virtual ingress device 110 transmits the second stream of encapsulated frames to communication channel 114. If implemented using fiber optic cable, channel 114 delivers the single stream of SE frames at a single wavelength to virtual egress device 112.
[0021] One advantage of the present invention is that frames can be forwarded through virtual network 100 without reference to the MAC address of the remote router / switch. Another advantage of the present invention is that combining second encapsulated frames from multiple sources allows sources with lower frame rates to be output from the same physical port, thereby effectively increasing the number of physical ports.
[0022] Method 150 then moves to 166, where the virtual egress device 112 receives the second sequence of encapsulated frames and switchably separates the second encapsulated frames from the second sequence of encapsulated frames. After this, method 150 moves to 168, where the virtual egress device 112 unpacks the second encapsulated frames to extract the first encapsulated frames, and then method 150 moves to 170, where the virtual egress device 112 unpacks the first encapsulated frames to extract the original input frames. Following this, method 150 moves to 172, where the virtual egress device 112 transmits the original input frames to the remote router / switch identified in the header of the original input frames (which in this example is remote router / switch 122).
[0023] 1A, virtual ingress device 110 and virtual egress device 112 have administratively allocated static forwarding tables. For example, each frame (e.g., STB, PC, video) includes the MAC address of a remote router / switch. The identity of virtual egress device 112 coupled to the remote router / switch can be administratively allocated and provided to virtual ingress device 110, thereby pre-allocating the hops to be taken by the frame through virtual network 100.
[0024] 2A shows a block diagram illustrating an example of a virtual ingress device 200 according to the present invention. As shown in FIG. 2A, the virtual ingress device 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.
[0025] Each of the transmit virtual ports vPORTa includes a transmit queue and a transmit frame formatting circuit. In addition, the virtual ingress device 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.
[0026] 3A shows a flowchart illustrating an example method 300 of operating a virtual ingress device 200 in accordance with the present invention. As shown in FIG. 3A, method 300 begins at 310 with framing circuit 212 receiving a series of input frames from local physical port 210. Method 300 then moves to 312, where it examines the series of input frames to identify a frame type (e.g., STB, PC, video) for each input frame, and then moves to 314, where it identifies a virtual egress device associated with each input frame based on the frame type. Each virtual egress device, in turn, has a number of receiving virtual ports.
[0027] 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.
[0028] After this, method 300 moves to 318, where the sending virtual port vPORTa1-vPORTan identifies a next hop in the virtual network for the FE frame based on the virtual egress device in the header of the FE frame. Next, method 300 moves to 320, where the sending virtual port vPORTa1-vPORTan encapsulates 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 port occupies a first portion of the shared memory.
[0029] Following this, method 300 moves to 322, where the transmitting virtual switch 214 cycles through the transmitting virtual ports vPORTa1-vPORTan, sequentially forwarding SE frames from each transmitting virtual port vPORTa in a fixed, repeating order to output a sequence of SE frames. For example, the virtual switch 214 may output a sequence of SE frames in which 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.
[0030] If transmitting virtual port vPORTa is empty or partially full, no frame is generated. For example, if transmitting virtual port vPORT2 is empty, network physical port 216 outputs a frame sequence including Frame 1, No Frame, and Frame 3. Method 300 then moves to 324, where network physical port 216 transmits the SE frame to the virtual network.
[0031] 3B shows a flowchart illustrating an example method 350 of operating 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 used to indicate elements common to both methods.
[0032] 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 transmitting virtual ports vPORTa. The full signal indicates that an SE frame at transmitting virtual port vPORTa is ready to be transmitted. If virtual switch 214 detects a full signal from transmitting virtual port vPORTa, method 350 proceeds to 354, where virtual switch 214 forwards the SE frame from transmitting virtual port vPORTa that outputs the full signal to network physical port 216.
[0033] For example, virtual switch 214 may sequentially receive full signals from transmitting virtual port vPORTa1, transmitting virtual port vPORTa2, and transmitting virtual port vPORTa3. In this case, virtual switch 214 outputs a sequence of SE frames, where the first SE frame is from transmitting virtual port vPORT1, the second frame is from transmitting virtual port vPORT2, and the third frame is from transmitting virtual port vPORT3.
[0034] 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), causing one transmitting virtual port vPORTa to output a full signal much more frequently than the other transmitting virtual ports vPORTa.
[0035] For example, if network physical port 216 transmits frames at a frame rate of 5 frames per second, transmitting virtual port vPORTa2 outputs frames at a rate three times faster than each of the frame rates 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.
[0036] In addition to the first-in, first-out approach in which the order in which full signals are received determines the order in which SE frames are output from the transmitting virtual port vPORTa by the virtual switch 214, the transmitting virtual ports vPORTa to vPORTan can alternatively include a priority scheme that allows frames to be forwarded from the transmitting virtual port vPORTa to the network physical port in any quantity and in any order.
[0037] 3B, after virtual switch 214 forwards the SE frame from outgoing virtual port vPORTa, which outputs the full signal, to network physical port 216, method 350 moves to 356, where network physical port 216 transmits the SE frame. In method 300, the frames that will be output are predictable, while in method 350, the frames that will be output are not predictable, although the priority scheme provides a level of predictability.
[0038] 2A , framing circuit 212 includes a virtual switch 220 and a framer 222 coupled to virtual switch 220. Virtual switch 220 detects the type of an input frame (e.g., STB, PC, video), identifies a route for the frame from a static forwarding table to a virtual port vPORTa corresponding to that type of frame, and outputs the frame toward that virtual port vPORTa.
[0039] In this example, virtual switch 220 receives an STB frame transmitted by a local source router / switch, such as router / switch 120, and detects that the received frame is an STB frame from the source and / or destination MAC addresses in the STB frame. Switch 220 then outputs the STB frame onto a first virtual port line P1, which is routed toward a virtual port vPORTa1 preselected to receive the STB frame.
[0040] Similarly, virtual switch 220 receives a PC frame sent by a local source router / switch, detects that the received frame is a PC frame from the source and / or destination MAC addresses in the PC frame, and then outputs the PC frame onto a second virtual port line P2, which is routed toward the virtual port vPORTa2 preselected to receive the PC frame.
[0041] 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 virtual port vPORTa3 preselected to receive the video frame.
[0042] Framer 222 receives STB frames on virtual port line P1, encapsulates the STB frames to form first encapsulated (FE) STB frames, and then forwards the FE STB frames 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 first encapsulated (FE) PC frames, and then forwards the FE PC frames 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 first encapsulated (FE) video frames, and then forwards the FE video frames to the transmit queue of virtual port vPORTa3.
[0043] 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. Additionally, 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.
[0044] For example, the header of the FE frame may include an egress address field, an I-Tag field, or a similar field for the MAC address of the virtual egress device. 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.
[0045] The frame formatting circuit in 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.
[0046] Similarly, the frame formatting circuit in virtual port vPORTa2 of the transmit circuit 200 receives the FE PC frame, identifies a next hop in the virtual network for the FE PC 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 PC frame, and encapsulates the FE PC frame to form a second encapsulated (SE) PC frame.
[0047] In addition, the frame formatting circuit in virtual port vPORTa3 of the transmitting circuit 200 receives the FE video frame, identifies the next hop in the virtual network for the FE video 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 video frame, and encapsulates the FE video frame to form a second encapsulated (SE) video frame.
[0048] 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.
[0049] Additionally, virtual switch 214 cycles through virtual ports vPORTa1-vPORTan, sequentially forwarding second encapsulated (SE) frames from each virtual port vPORTa to output a series of SE frames to physical port 216. In this example, switch 214 forwards SE STB frames from virtual port vPORTa1 to physical port 216, then forwards SE PC frames from virtual port vPORTa2 to physical port 216, then forwards SE video frames from virtual port vPORTa3 to physical port 216, then forwards SE STB frames from virtual port vPORTa1 to physical port 216, and continues in the same manner, with physical port 216 outputting the frames. Although FIG. 2 illustrates transmit circuit 200 as receiving and operating with input from a single local router / switch, transmit circuit 200 could alternatively receive and operate with input from multiple routers / switches.
[0050] 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.
[0051] 2B, transmit circuit 250 differs from transmit circuit 200 in that transmit circuit 250 includes a first network physical port 216A and a second network physical port 216B, both of which are coupled to virtual switch 214. In addition, virtual switch 214 provides a continuous connection between transmit virtual port vPORTa1 and network physical port 216A. Additionally, an additional transmit virtual port vPORTa4 is shown.
[0052] Transmit circuitry 250 operates substantially the same as transmit circuitry 200, except that one or more of the sources (e.g., an STB, a PC, or a 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 per second.
[0053] In the example of Figure 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 Figure 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 transmit circuit 250 is that it can handle incoming frame rates that are greater than the maximum frame rate of the network physical port.
[0054] 4 shows a block diagram illustrating an example of a transmit circuit 400 according to an alternative embodiment of the present invention. Transmit circuit 400 is similar to transmit circuit 200, and as a result, the same reference numerals are used to indicate structure common to both circuits.
[0055] As shown in FIG. 4, transmit circuit 400 differs from transmit circuit 200 in that framing circuit 212 of transmit circuit 400 utilizes a serial-to-serial framer 410 followed by a serial-to-parallel virtual switch 412 coupled to virtual ports vPORTa1-vPORTan instead of a virtual switch 220 followed by a framer 222.
[0056] In a further alternative embodiment, the framer 410 and the virtual switch 412 of the transmit circuit 400 may be physically separated, with the framer 410 being incorporated into a local router / switch.
[0057] Figure 5 shows a block diagram illustrating an example of a transmit circuit 500 in accordance with the present invention. Transmit circuit 500 is similar to transmit circuit 400, and as a result, the same reference numerals are used to indicate structure common to both circuit 400 and circuit 500. As shown in the example shown in Figure 5, a local framer router / switch 510 is utilized with transmit circuit 500 instead of a STB, PC, and local router / switch receiving and outputting video frames.
[0058] 6 shows a block diagram of an example virtual egress device 600 in accordance with the present invention. As shown in FIG. 6, the virtual egress device 600 includes a network physical port 610 and a receiving virtual switch 612 coupled to the network physical port 610. The virtual egress device 600 also includes several receiving virtual ports vPORTb1-vPORTbn coupled to the switch 612. Each receiving virtual port vPORTb includes a receive queue and a receive frame formatting circuit. The virtual egress device 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.
[0059] 7 shows a flowchart illustrating an example method 700 of operation of the virtual egress device 600 in accordance with the present invention. As shown in FIG. 7, the method 700 begins with the network physical port 610 receiving a second encapsulated (SE) frame from the virtual network at 710. The SE frame has a header that includes a next hop address and a receiving virtual port identifier.
[0060] Next, method 700 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, method 700 moves to 714, where the network physical port 610 forwards the SE frame with a matching next hop address as a matching encapsulated (ME) frame. Additionally, port 610 drops the received SE frame if the identity of the next hop address does not match the stored address.
[0061] Thereafter, method 700 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. 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 first encapsulated frame.
[0062] Following this, method 700 moves to 720, where deframing circuit 614 unpacks the first encapsulated frame to extract the original STB, PC, and video input frames from the first encapsulated frame. The original STB, PC, and video input frames have several frame types. Additionally, each input frame has a header that identifies the destination router / switch. Method 700 then moves to 722, where deframing circuit 614 forwards the STB, PC, and video frames to local physical port 616, which outputs the original STB, PC, and video frames to a remote router / switch, such as remote router / switch 122.
[0063] 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 routed toward virtual port vPORTb1.
[0064] 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 onto a second virtual port line routed toward virtual port vPORTb2.
[0065] Additionally, virtual switch 612 receives the ME video frame from network physical port 610 and identifies the destination virtual port as virtual port vPORTb3 from the destination virtual port number Dst_vID in the header of the ME video frame. Switch 612 identifies a route to virtual port vPORTb3 from the static forwarding table and then outputs the ME video frame onto a third virtual port line that is routed toward virtual port vPORTb3.
[0066] The virtual ports vPORTb1-vPORTbn receive ME frames and unpack the ME frames to extract FE frames, such as FE STB frames, FE PC frames, and FE video frames, from the ME frames. In the example of Figure 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 to extract the FE STB frame, which has a header including the identity of the virtual egress device.
[0067] 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 including the identity of the virtual egress device. Additionally, 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 including the identity of the virtual egress device.
[0068] The de-framing circuit 614 receives multiple FE frames and extracts the original STB, PC, and video input frames from the FE frames. The input frames have several frame types, e.g., STB, PC, and video. Each input frame has a header that includes the identity of the remote router / switch. For each received FE frame, the de-framing circuit 614 unpacks the FE frame to extract the input frame, identifies the identity of the remote 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 a remote router / switch, such as remote router / switch 122.
[0069] 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 FE frames from a plurality of receiving virtual ports vPORTb1-vPORTbn, unpacks the FE frames 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.
[0070] 6, deframer 620 receives FE STB frames from receiving virtual port vPORTb1, unpacks the FE frames to extract the STB frames, and forwards the STB frames to virtual switch 622. Similarly, deframer 620 receives FE PC frames from receiving virtual port vPORTb2, unpacks the FE frames to extract the PC frames, and forwards the PC frames to virtual switch 622. In addition, deframer 620 receives FE video frames from receiving virtual port vPORTb3, unpacks the FE frames to extract the video frames, and forwards the video frames to virtual switch 622. Deframer 620 can use the same or a different protocol as framer 222.
[0071] Virtual switch 622 cycles through the output of deframer 620, receiving output frames in sequence and forwarding them to local physical port 616. In this example, virtual switch 622 receives STB frames from deframer 620, detects the MAC address of the remote router / switch, and outputs the STB frames to local physical port 616. Similarly, virtual switch 622 receives PC frames from deframer 620, detects the MAC address of the remote router / switch, and outputs the PC frames to local physical port 616. In addition, virtual switch 622 receives video frames from deframer 620, detects the MAC address of the remote router / switch, and outputs the video frames to local physical port 616. Local physical port 616 then outputs the frames to the remote router / switch.
[0072] 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.
[0073] 8 shows a block diagram illustrating an example of a virtual exit device 800 according to an alternative embodiment of the present invention. The virtual exit device 800 is similar to the virtual exit device 600, and as a result, the same reference numbers are used to indicate structure common to both devices.
[0074] 8, virtual egress device 800 differs from virtual egress device 600 in that framing circuit 614 of virtual egress device 800 includes a parallel-to-serial virtual switch 810 coupled to virtual ports vPORTb1-vPORTbn, followed by a serial-to-serial deframer 812. The implementations of framing circuit 212 and deframing circuit 614 may be interchanged. For example, virtual ingress device 110 may utilize framing circuit 212 implemented with virtual switch 220 and framer 222, while virtual egress device 110 may utilize deframing circuit 614, virtual switch 810, and deframer 812.
[0075] In a further alternative embodiment, the virtual switch 810 and the deframer 812 may be physically separated, with the deframer 812 being incorporated into a local router / switch.
[0076] Figure 9 shows a block diagram illustrating an example of a receive circuit 900 in accordance with the present invention. Receive circuit 900 is similar to receive circuit 800, and as a result, the same reference numerals are used to indicate structure common to both circuit 800 and circuit 900. As shown in the example shown in Figure 9, a local deframer router / switch 910 is utilized in receive circuit 900 instead of a local router switch.
[0077] In addition to forwarding frames of data through the virtual network, hops through the virtual network can be tested by generating test SE frames. The sending virtual port vPORTa identifies the next hop in the virtual network to the virtual egress device that terminates the link under test. The sending virtual port vPORTa then generates a test SE frame with a header that identifies the frame as a test frame and the virtual egress device that terminates the link to be tested.
[0078] The virtual switch 214 passes the test SE frame to the network physical port in the manner described above, and the network physical port transmits the test SE frame. The test SE frame arrives at the virtual egress device in the manner described above, where the receiving virtual port vPORTb unpacks the test SE frame in the manner described above to extract the test information. The receiving virtual port vPORTb can then determine the frame latency, frame loss rate, and live / shutdown status from the test SE frame, which can be used to determine quality of service (QoS) measurements.
[0079] Reference has now been made in detail to various embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. While the description has been made in connection with 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, which may be included within the scope of the present disclosure when interpreted according to the claims.
[0080] Furthermore, in the foregoing detailed description of 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 equivalents thereof. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the various embodiments of the present disclosure.
[0081] It should be noted that, although methods may be depicted herein as a sequence of numbered operations for clarity, the numbering does not necessarily dictate the order of 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.
[0082] The drawings illustrating 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, while the views in the drawings generally show similar orientations for ease of illustration, 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.
[0083] 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.
[0084] 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 involve 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.
[0085] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise indicated, and as will be apparent from the discussion that follows, throughout this disclosure, discussion using terms such as "generate," "identify," "allocate," "aggregate," "utilize," "virtualize," "process," "access," "execute," "store," etc. will be understood to refer to the actions and processes of a computer system or similar electronic computing device or processor.
[0086] 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 medium, 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.
[0087] In the previous section, the technical solutions in the embodiments of the present application have been clearly and completely described with reference to the drawings of the embodiments of the present application. It should be noted 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. These numbers can be interchanged where appropriate, and it should be understood that the embodiments of the present invention described herein can be implemented in an order other than that shown or described herein.
[0088] The functions described in the methods 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 this understanding, a part of the embodiments of the present application that contribute to the prior art or a part of the technical solutions can be embodied in the form of a software product stored in a storage medium, the software product 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 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.
[0089] The various embodiments in the specification of the present 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 separate cases. The described embodiments are only some of the embodiments, rather than all of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without departing from the skill of the present invention are within the scope of the present application.
[0090] The above description of the disclosed embodiments will enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of 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. [Item of invention] [Item 1] A virtual network, a virtual ingress device; a virtual egress device to be coupled to a remote router / switch; a communication channel coupled to the virtual ingress device and the virtual egress device; It is equipped with The virtual ingress device: receiving an incoming frame having a header identifying the remote router / switch, the incoming frame originating from one of a plurality of sources; Identifying the virtual egress device from the identity of the remote router / switch; encapsulating the input frame to form a first encapsulated frame, the first encapsulated frame having a field identifying the virtual egress device and a field containing the input frame; determining a next hop for the first encapsulated frame from the identity of the virtual egress device; encapsulating the first encapsulated frame to form a second encapsulated frame, the second encapsulated frame having a field identifying a next hop and a field containing the first encapsulated frame; combining the second encapsulated frame with second encapsulated frames from other sources to form a sequence of second encapsulated frames; transmitting said sequence of second encapsulated frames; A virtual network is a network that is used to perform the following tasks: [Item 2] The virtual exit device: receiving the sequence of second encapsulated frames; Separating the second encapsulated frame from the sequence of second encapsulated frames; Item 1. The virtual network according to item 1, [Item 3] The virtual exit device further comprises: unpacking the second encapsulated frame to extract the first encapsulated frame; unpacking the first encapsulated frame to extract the input frame; transmitting the incoming frame to the remote router / switch; Item 3. The virtual network according to item 2, for performing the above. [Item 4] the virtual ingress device generating a test frame having a header identifying the virtual egress device under test and transmitting the test frame to the virtual egress device under test; the virtual egress device receiving the test frame, unpacking the test frame, and determining one or more measurements of status from the unpacked test frame. Item 3. The virtual network described in item 3. [Item 5] 4. The virtual network of claim 3, wherein the communication channel includes a fiber optic cable that passes the plurality of packed data frames as a single stream of data on a single wavelength. [Item 6] Item 4. The virtual network of item 3, wherein the virtual ingress device encapsulates the ingress frame 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 7] 1. A method of operating a virtual network, comprising: receiving an incoming frame having a header identifying a remote router / switch, the incoming frame originating from one of a plurality of sources; identifying a virtual egress device from the identity of the remote router / switch; encapsulating the input frame to form a first encapsulated frame, the first encapsulated frame having a field identifying the virtual egress device and a field containing the input frame; determining a next hop for the first encapsulated frame from the identity of the virtual exit device; encapsulating the first encapsulated frame to form a second encapsulated frame, the second encapsulated frame having a field identifying a next hop and a field containing the first encapsulated frame; combining the second encapsulated frame with other second encapsulated frames from the plurality of sources to form a sequence of second encapsulated frames; transmitting the sequence of second encapsulated frames; A method comprising: [Item 8] receiving the sequence of second encapsulated frames; separating the second encapsulated frame from the sequence of second encapsulated frames; 8. The method of claim 7, further comprising: [Item 9] unpacking the second encapsulated frame to extract the first encapsulated frame; unpacking the first encapsulated frame to extract the input frame; transmitting the incoming frame to the remote router / switch identified in the header of the incoming frame; Item 9. The method of item 8, further comprising: [Item 10] generating a test frame having a header identifying a virtual egress device under test and transmitting the test frame to the virtual egress device under test; receiving the test frame, unpacking the test frame, and determining one or more measurements of status from the unpacked test frame; Item 9. The method of item 8, further comprising: [Item 11] Item 9. The method of item 8, further comprising passing the sequence of second encapsulated frames from the virtual ingress device to the virtual egress device, wherein the sequence of second encapsulated frames is passed in a fiber optic cable as a single stream of data at a single wavelength. [Item 12] Item 9. The method of item 8, wherein the sequence of second encapsulated frames includes a first frame including input frames originating from a first source, a second frame including input frames originating from a second source, and a third frame including input frames originating from a third source. [Item 13] Item 9. The method of item 8, wherein the input frame is 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 14] 1. A non-transitory computer-readable storage medium having embedded thereon program instructions that, when executed by a processor, cause the processor to perform a method for operating a virtual network, the method comprising: receiving an incoming frame having a header identifying a remote router / switch, the incoming frame originating from one of a plurality of sources; identifying a virtual egress device from the identity of the remote router / switch; encapsulating the input frame to form a first encapsulated frame, the first encapsulated frame having a field identifying the virtual egress device and a field containing the input frame; determining a next hop for the first encapsulated frame from the identity of the virtual exit device; encapsulating the first encapsulated frame to form a second encapsulated frame, the second encapsulated frame having a field identifying a next hop and a field containing the first encapsulated frame; combining the second encapsulated frame with other second encapsulated frames from the plurality of sources to form a sequence of second encapsulated frames; transmitting the sequence of second encapsulated frames; Including, media. [Item 15] receiving the sequence of second encapsulated frames; separating the second encapsulated frame from the sequence of second encapsulated frames; Item 15. The medium according to item 14, further comprising: [Item 16] unpacking the second encapsulated frame to extract the first encapsulated frame; unpacking the first encapsulated frame to extract the input frame; transmitting the incoming frame to the remote router / switch identified in the header of the incoming frame; Item 16. The medium according to item 15, further comprising: [Item 17] generating a test frame having a header identifying a virtual egress device under test and transmitting the test frame to the virtual egress device under test; receiving the test frame, unpacking the test frame, and determining one or more measurements of status from the unpacked test frame; Item 17. The medium according to item 16, further comprising: [Item 18] Item 15. The medium of item 14, wherein the method further includes passing the sequence of second encapsulated frames from the virtual ingress device to the virtual egress device, wherein the sequence of second encapsulated frames is passed in a fiber optic cable as a single stream of data at a single wavelength. [Item 19] Item 15. The medium of item 14, wherein the sequence of second encapsulated frames includes a first frame including input frames originating from a first source, a second frame including input frames originating from a second source, and a third frame including input frames originating from a third source. [Item 20] Item 15. The medium of item 14, wherein the input frame is 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. [Invention clause] [Article 1] A virtual network, a virtual ingress device; a virtual egress device to be coupled to a remote router / switch; a communication channel coupled to the virtual ingress device and the virtual egress device; It is equipped with The virtual ingress device: receiving an incoming frame having a header identifying the remote router / switch, the incoming frame originating from one of a plurality of sources; Identifying the virtual egress device from the identity of the remote router / switch; encapsulating the input frame to form a first encapsulated frame, the first encapsulated frame having a field identifying the virtual egress device and a field containing the input frame; determining a next hop for the first encapsulated frame from the identity of the virtual egress device; encapsulating the first encapsulated frame to form a second encapsulated frame, the second encapsulated frame having a field identifying a next hop and a field containing the first encapsulated frame; combining the second encapsulated frame with second encapsulated frames from other sources to form a sequence of second encapsulated frames; transmitting said sequence of second encapsulated frames; A virtual network is a network that is used to perform the following tasks: [Clause 2] The virtual exit device: receiving the sequence of second encapsulated frames; Separating the second encapsulated frame from the sequence of second encapsulated frames; 2. The virtual network according to clause 1, [Article 3] The virtual exit device further comprises: unpacking the second encapsulated frame to extract the first encapsulated frame; unpacking the first encapsulated frame to extract the input frame; transmitting the incoming frame to the remote router / switch; 2. A virtual network as defined in clause 2. [Article 4] the virtual ingress device generating a test frame having a header identifying the virtual egress device under test and transmitting the test frame to the virtual egress device under test; the virtual egress device receiving the test frame, unpacking the test frame, and determining one or more measurements of status from the unpacked test frame. Virtual networks as described in clause 3. [Article 5] 4. The virtual network of clause 3, wherein the communication channel includes a fiber optic cable that passes the sequence of second encapsulated frames as a single stream of data on a single wavelength. [Article 6] The virtual network of clause 3, wherein the virtual ingress device encapsulates the ingress frame using a protocol from a group of protocols including the Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and the Transport Multi-Protocol Listing Switch (T-MPLS) protocol. [Article 7] 1. A method of operating a virtual network, the virtual network comprising a virtual ingress device, a virtual egress device to be coupled to a remote router / switch, and a communication channel coupled to the virtual ingress device and the virtual egress device, the method comprising: receiving (152) an ingress frame by the virtual ingress device having a header identifying the remote router / switch, the ingress frame originating from one of a plurality of sources; the virtual ingress device identifying the virtual egress device from the identity of the remote router / switch (154); a step (156) of the virtual ingress device encapsulating the input frame to form a first encapsulated frame, the first encapsulated frame having a field identifying the virtual egress device and a field containing the input frame; the virtual ingress device determining (158) a next hop for the first encapsulated frame from the identity of the virtual egress device; a step (160) of the virtual ingress device encapsulating the first encapsulated frame to form a second encapsulated frame, the second encapsulated frame having a field identifying a next hop and a field containing the first encapsulated frame; the virtual ingress device combining (162) the second encapsulated frame with other second encapsulated frames from the plurality of sources to form a sequence of second encapsulated frames; the virtual ingress device transmitting (164) the sequence of second encapsulated frames; A method comprising: [Article 8] After the step (164) of transmitting the sequence of second encapsulated frames, receiving (166) the transmitted sequence of second encapsulated frames by the virtual egress device; the virtual egress device separating (166) the second encapsulated frame from the received sequence of second encapsulated frames; 8. The method of clause 7, further comprising: [Article 9] After the step (166) of separating the second encapsulated frame from the received sequence of second encapsulated frames, the virtual egress device unpacking (168) the separated second encapsulated frame to extract the first encapsulated frame; The virtual egress device unpacks the extracted first encapsulated frame to extract the input frame (170); the virtual egress device transmitting (172) the extracted ingress frame to the remote router / switch identified in the header of the ingress frame; 9. The method of clause 8, further comprising: [Article 10] the virtual ingress device generating a test frame having a header identifying the virtual egress device under test and transmitting the test frame to the virtual egress device under test; receiving the test frame, unpacking the test frame, and determining one or more measurements of status from the unpacked test frame, the virtual egress device; 9. The method of clause 8, further comprising: [Article 11] After the step (164) of transmitting the sequence of second encapsulated frames, The method of clause 8, wherein the communication channel further includes a step of passing the transmitted sequence of second encapsulated frames from the virtual ingress device to the virtual egress device, wherein the transmitted sequence of second encapsulated frames is passed in an optical fiber cable as a single stream of data at a single wavelength. [Article 12] 9. The method of claim 8, wherein in the step (162) of combining the second encapsulated frame with other second encapsulated frames from the multiple sources to form a sequence of second encapsulated frames, the sequence of second encapsulated frames includes a first frame including an input frame originating from a first source, a second frame including an input frame originating from a second source, and a third frame including an input frame originating from a third source. [Article 13] 9. The method of claim 8, wherein in the step (156) of encapsulating the input frame to form a first encapsulated frame, the input frame is 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. [Article 14] 1. A non-transitory computer-readable storage medium having embedded thereon program instructions that, when executed by a processor, cause the processor to perform a method of operating a virtual network, the virtual network comprising a virtual ingress device, a virtual egress device to be coupled to a remote router / switch, and a communication channel coupled to the virtual ingress device and the virtual egress device, the method comprising: receiving (152) an incoming frame having a header identifying the remote router / switch, the incoming frame originating from one of a plurality of sources; Identifying (154) the virtual egress device from the identity of the remote router / switch; encapsulating the input frame to form a first encapsulated frame (156), the first encapsulated frame having a field identifying the virtual egress device and a field containing the input frame; determining (158) a next hop for the first encapsulated frame from the identity of the virtual egress device; encapsulating (160) the first encapsulated frame to form a second encapsulated frame, the second encapsulated frame having a field identifying a next hop and a field containing the first encapsulated frame; combining (162) the second encapsulated frame with other second encapsulated frames from the plurality of sources to form a sequence of second encapsulated frames; transmitting (164) said sequence of second encapsulated frames; Including, media. [Article 15] The method further comprises, after the step (164) of transmitting the sequence of second encapsulated frames: receiving (166) the transmitted sequence of second encapsulated frames; separating (166) the second encapsulated frame from the received sequence of second encapsulated frames; 15. The medium of clause 14, further comprising: [Article 16] The method may further comprise, after the step (166) of separating the second encapsulated frame from the received sequence of second encapsulated frames, unpacking (168) the separated second encapsulated frame to extract the first encapsulated frame; unpacking (170) the extracted first encapsulated frame to extract the input frame; sending (172) the extracted incoming frame to the remote router / switch identified in the header of the incoming frame; 16. The medium of clause 15, further comprising: [Article 17] The operating method comprises: generating a test frame having a header identifying the virtual egress device under test and transmitting the test frame to the virtual egress device under test; receiving the test frame, unpacking the test frame, and determining one or more measurements of status from the unpacked test frame; 17. The medium of clause 16, further comprising: [Article 18] The method further comprises, after the step (164) of transmitting the sequence of second encapsulated frames: The medium of clause 14, further comprising a step of passing the transmitted sequence of second encapsulated frames from the virtual ingress device to the virtual egress device, wherein the transmitted sequence of second encapsulated frames is passed in a fiber optic cable as a single stream of data at a single wavelength. [Article 19] The medium described in clause 14, wherein in the step (162) of combining the second encapsulated frame with other second encapsulated frames from the multiple sources to form a sequence of second encapsulated frames, the sequence of second encapsulated frames includes a first frame including an input frame originating from a first source, a second frame including an input frame originating from a second source, and a third frame including an input frame originating from a third source. [Article 20] 15. The medium of clause 14, wherein in the step (156) of encapsulating the input frame to form a first encapsulated frame, the input frame is encapsulated using a protocol from a group of protocols including a Provider Backbone Bridge Traffic Engineering (PBB-TE) protocol and a Transport Multi-Protocol Listing Switch (T-MPLS) protocol.
Claims
1. A virtual exit device (600), a network physical port (610); a receiving virtual switch (612) coupled to the network physical port (610); a plurality of receiving virtual ports (vPORTb1-vPORTbn) coupled to the receiving virtual switch (612); a deframing circuit (614) coupled to each of the receiving virtual ports (vPORTb1-vPORTbn); a local physical port (616) coupled to said deframing circuit (614); It contains The network physical port (610) receiving (710) a plurality of second encapsulated (SE) frames from the virtual network (100); comparing (712) the next hop address determined from the SE frame with a stored address; forwarding (714) the plurality of SE frames having next hop addresses matching the stored addresses as a plurality of matching encapsulated (ME) frames to the receiving virtual switch (612); is configured to run The receiving virtual switch (612) switchably passing the ME frame to the receiving virtual port (vPORTb1-vPORTbn) based on a receiving virtual port identifier in the header of the ME frame (716); is configured to run The receiving virtual ports (vPORTb1 to vPORTbn) are: extracting (718) a plurality of first encapsulated (FE) frames from the passed ME frame; is configured to run The deframing circuit (614) extracting (720) set-top box (STB) frames, personal computer (PC) frames, and video frames from the extracted FE frames; is configured to run The local physical port (616) outputting (722) the extracted STB frames, PC frames, and video frames to a remote router / switch (122); A virtual exit device that is configured to run
2. A virtual exit device as described in claim 1, wherein the SE frame received in the receiving step (710) has a header including the next hop address and the receiving virtual port identifier.
3. The network physical port (610) after the comparing step (712) Dropping the received SE frame if the next hop address does not match the stored address (714).
2. The virtual exit device of claim 1, configured to execute:
4. In the switchably passing step (716), the receiving virtual switch (612) receiving a first ME frame from the network physical port (610), the first ME frame being one of an ME STB frame, an ME PC frame, and an ME video frame; Identifying a first virtual port (vPORTb1) as a destination virtual port from a destination virtual port number (Dst_vID) in the header of the first ME frame; identifying a route to the first virtual port (vPORTb1) from a static forwarding table; outputting the first ME frame onto a first virtual port line routed toward the first virtual port (vPORTb1); 2. The virtual exit device of claim 1, configured to execute:
5. In the step (718) of extracting the first encapsulated frame, the receiving virtual port (vPORTb1 to vPORTbn) unpacking the ME frame that is passed to it; 2. The virtual exit device of claim 1, configured to execute:
6. The deframing circuit (614) in the step of extracting the STB frames, PC frames, and video frames (720) comprises: unpacking the extracted FE frame; 2. The virtual exit device of claim 1, configured to execute:
7. A virtual exit device as described in claim 1, wherein each frame extracted in the step (720) of extracting STB frames, PC frames, and video frames has a header that identifies the destination router / switch.
8. A method of operating a virtual egress device (600) including a network physical port (610), a receiving virtual switch (612), a plurality of receiving virtual ports (vPORTb1-vPORTbn), a deframing circuit (614), and a local physical port (616), comprising: receiving (710) a plurality of second encapsulated (SE) frames from a virtual network (100) by the network physical port (610); The network physical port (610) compares (712) the next hop address identified from the SE frame with a stored address; the network physical port (610) forwarding (714) the plurality of SE frames having next hop addresses matching the stored addresses as a plurality of matching encapsulated (ME) frames to the receiving virtual switch (612); a step (716) in which the receiving virtual switch (612) switchably passes the plurality of ME frames to the receiving virtual ports (vPORTb1 to vPORTbn) based on receiving virtual port identifiers in the headers of the plurality of ME frames; The receiving virtual port (vPORTb1-vPORTbn) extracts (718) a plurality of first encapsulated (FE) frames from the passed ME frame; The deframing circuit (614) extracts (720) set-top box (STB) frames, personal computer (PC) frames, and video frames from the extracted FE frames; The local physical port (616) outputs (722) the extracted STB frames, PC frames, and video frames to a remote router / switch (122); , including a method of operation.
9. The method of claim 8, wherein the SE frame received in the receiving step (710) has a header including the next hop address and the receiving virtual port identifier.
10. The operating method further comprises, after the comparing step (712), Dropping the received SE frame if the next hop address does not match the stored address (714). The method of claim 8, comprising:
11. The operating method, in the switchably passing step (716), receiving a first ME frame from the network physical port (610), the first ME frame being one of an ME STB frame, an ME PC frame, and an ME video frame; Identifying a first virtual port (vPORTb1) as a destination virtual port from a destination virtual port number (Dst_vID) in the header of the first ME frame; identifying a route to the first virtual port (vPORTb1) from a static forwarding table; outputting the first ME frame onto a first virtual port line routed toward the first virtual port (vPORTb1); The method of claim 8, comprising:
12. The method of claim 1, wherein in the step of extracting the first encapsulated frame (718), unpacking the ME frame that is passed to it; The method of claim 8, comprising:
13. The method of claim 12, wherein in the step of extracting the STB frame, the PC frame, and the video frame (720), unpacking the extracted FE frame; The method of claim 8, comprising:
14. The method of claim 8, wherein each frame extracted in the step (720) of extracting the STB frames, PC frames, and video frames has a header that identifies the destination router / switch.
15. A non-transitory computer-readable storage medium having stored thereon program instructions that, when executed by a processor, cause the processor to perform a method of operating a virtual exit device (600); The virtual egress device (600) includes a network physical port (610), a receiving virtual switch (612), receiving virtual ports (vPORTb1-vPORTbn), a deframing circuit (614), and a local physical port (616); The operating method comprises: receiving (710) a plurality of second encapsulated (SE) frames from a virtual network (100) by the network physical port (610); The network physical port (610) compares (712) the next hop address identified from the SE frame with a stored address; the network physical port (610) forwarding (714) the plurality of SE frames having next hop addresses matching the stored addresses as a plurality of matching encapsulated (ME) frames to the receiving virtual switch (612); a step (716) in which the receiving virtual switch (612) switchably passes the plurality of ME frames to the receiving virtual ports (vPORTb1 to vPORTbn) based on receiving virtual port identifiers in the headers of the plurality of ME frames; The receiving virtual port (vPORTb1-vPORTbn) extracts (718) a plurality of first encapsulated (FE) frames from the passed ME frame; The deframing circuit (614) extracts (720) set-top box (STB) frames, personal computer (PC) frames, and video frames from the extracted FE frames; The local physical port (616) outputs (722) the extracted STB frames, PC frames, and video frames to a remote router / switch (122); 1. A non-transitory computer-readable storage medium comprising:
16. A non-transitory computer-readable storage medium as described in claim 15, wherein the SE frame received in the receiving step (710) has a header including the next hop address and the receiving virtual port identifier.
17. The method of claim 16, further comprising the steps of: Dropping the received SE frame if the next hop address does not match the stored address (714).
16. The non-transitory computer-readable storage medium of claim 15, comprising:
18. The operating method, in the switchably passing step (716), receiving a first ME frame from the network physical port (610), the first ME frame being one of an ME STB frame, an ME PC frame, and an ME video frame; Identifying a first virtual port (vPORTb1) as a destination virtual port from a destination virtual port number (Dst_vID) in the header of the first ME frame; identifying a route to the first virtual port (vPORTb1) from a static forwarding table; outputting the first ME frame onto a first virtual port line routed toward the first virtual port (vPORTb1); 16. The non-transitory computer-readable storage medium of claim 15, comprising:
19. The method of claim 18, wherein the step of extracting the first encapsulated frame (718) comprises: unpacking the ME frame that is passed to it; 16. The non-transitory computer-readable storage medium of claim 15, comprising:
20. The method of claim 20, wherein in the step of extracting the STB frame, the PC frame, and the video frame (720), unpacking the extracted FE frame; 16. The non-transitory computer-readable storage medium of claim 15, comprising:
21. A non-transitory computer-readable storage medium as described in claim 15, wherein each frame extracted in step (720) of extracting STB frames, PC frames, and video frames has a header identifying a destination router / switch.
Citation Information
Patent Citations
Priority control system, priority control device, priority control method, and priority control program
JP2012070458A
Communication device, communication system, and communication method
JP2016010138A
Communication device and communication method
JP2016165091A
Address conversion device, transfer control system and address conversion program
JP2018037831A
Communication apparatus and communication method
US20150381496A1