Virtual entry device, its operating method, and computer-readable storage medium

The virtual network system addresses the issue of insufficient physical ports in conventional devices by dynamically routing frames across multiple optical fibers, enhancing service quality and reducing upgrade costs through flexible frame rates and alternate paths.

JP2026053315APending Publication Date: 2026-03-25PRIMEWAN LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-10-23
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Conventional network devices often require more physical ports than available, leading to degraded service or expensive upgrades due to fixed data rates of network ports.

Method used

A virtual network system that allows data frames to be passed through multiple optical fibers at varying data rates and uses virtual forwarding devices to dynamically route frames based on available physical ports, enabling flexible frame rates and alternate paths.

Benefits of technology

The system efficiently handles varying frame rates without the need for additional physical ports, improving service quality and reducing upgrade costs by optimizing port utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026053315000001_ABST
    Figure 2026053315000001_ABST
Patent Text Reader

Abstract

This provides a method for forming a virtual network. [Solution] A virtual entry device (VED, 270) comprising: a local physical port (210) for receiving multiple input frames from multiple sources (STB, PC, VID) at multiple undetermined data rates; a framing circuit (272) coupled to the local physical port; and a network physical port (216) coupled to the framing circuit via a transmission virtual port (vPORTa1) for transmitting frames at a predetermined fixed data rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer networks, and more particularly, to a method for forming a virtual network.

Background Art

[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 geographical area, such as spanning a state or a country. A WAN enables computers located far apart to communicate with each other via 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 shortcoming of conventional network devices is that they often require more physical ports than available physical ports, which results in degraded service or expensive upgrades. As a result, there is a need for an approach to accommodate the ever-increasing need for ports.

Summary of the Invention

[0005] The present invention provides a virtual network that offers flexibility in data and frame rates. The present invention includes a method for forming a virtual network, which involves passing frames of data at a certain frame rate across one or more optical fiber cables, each having two or more physical fibers. When the frame rate of a frame of data is greater than the maximum frame rate of a first physical fiber in the optical fiber cable, passing includes passing a first number of frames of data through the first physical fiber at a first data rate less than or equal to the maximum data rate of the first physical fiber, and passing a second number of frames of data through the second physical fiber at a second data rate less than or equal to the maximum data rate of the second physical fiber. When the frame rate of a frame of data is less than or equal to the frame rate of the first physical fiber in the optical fiber cable, passing includes passing pairs of frames of data sequentially through the first physical fiber such that each pair of frames contains data from multiple sources.

[0006] The present invention further includes a virtual forwarding device that forwards frames to a virtual exit device via an alternate path when the primary path forwards frames at a rate lower than the rate at which the frames can be received. The virtual forwarding device of the present invention includes a receiving physical port that receives a second encapsulated frame, a transmitting physical port that will be connected to the next hop device, an alternate physical port that will be connected to an alternate hop device, and virtual ports connected to the receiving physical port, the transmitting physical port, and the alternate physical port. The virtual port is for receiving the second encapsulated frame from the receiving physical port, decompressing the second encapsulated frame to extract the first encapsulated frame, and extracting the identifier of the virtual exit device from the first encapsulated frame. The virtual port is further for determining the next hop device and the alternate hop device from the identifier, and for determining whether the transmitting physical port can accept the forwarding frame. When the transmitting physical port can accept the forwarding frame, it encapsulates the first encapsulated frame to form a third encapsulated frame and forwards the third encapsulated frame to the transmitting physical port. The third encapsulated frame has a header that identifies the next hop device. If the transmission physical port is unable to accept the forwarding frame, it is determined whether an alternative physical port can accept the forwarding frame.

[0007] The present invention further includes a method for operating a virtual forwarding device. The method includes receiving a second encapsulated frame, decompressing the second encapsulated frame to extract a first encapsulated frame, and extracting an identifier for a virtual exit device from the first encapsulated frame. The method further includes determining the next hop device and an alternate hop device from the identifier, and determining whether a transmission physical port connected to the next hop device can accept a forwarding frame. The method further includes, if the transmission physical port connected to the next hop device can accept a forwarding frame, encapsulating the first encapsulated frame to form a third encapsulated frame, and forwarding the third encapsulated frame to the transmission physical port connected to the next hop device. The third encapsulated frame has a header that identifies the next hop device. The method further includes, if the transmission physical port connected to the next hop device cannot accept a forwarding frame, determining whether a transmission physical port connected to an alternate hop device can accept a forwarding frame.

[0008] The present invention further provides a non-temporary computer-readable storage medium embedded with program instructions, which, when executed by a processor, cause the processor to perform an operation of a virtual transfer device. The method includes receiving a second encapsulated frame, decompressing the second encapsulated frame to extract a first encapsulated frame, and extracting an identifier for a virtual exit device from the first encapsulated frame. The method further includes determining the next hop device and an alternate hop device from the identifier, and determining whether a transmission physical port connected to the next hop device can accept a transfer frame. The method further includes, if the transmission physical port connected to the next hop device can accept a transfer frame, encapsulating the first encapsulated frame to form a third encapsulated frame, and transferring the third encapsulated frame to the transmission physical port connected to the next hop device. The third encapsulated frame has a header that identifies the next hop device. The method further includes determining whether a transmission physical port connected to an alternative hop device can accept a transmission frame if the transmission physical port connected to the next hop device is unable to accept a transmission frame.

[0009] A better understanding of the features and advantages of the present invention will be obtained by referring to the following detailed description and accompanying drawings illustrating exemplary embodiments in which the important aspects of the present invention are utilized. [Brief explanation of the drawing]

[0010] [Figure 1A] Figure 1A is a block diagram showing an example of a virtual network 100 according to the present invention. [Figure 1B1] Figure 1B1 is a flowchart showing the operation method 150 of the virtual network 100 according to the present invention. [Figure 1B2] Figure 1B2 is a flowchart showing the operation method 150 of the virtual network 100 according to the present invention. [Figure 1C]Figure 1C shows an example of a frame according to the present invention. [Figure 2A] Figure 2A is a block diagram showing an example of the transmission circuit 200 according to the present invention. [Figure 2B] Figure 2B is a block diagram showing an example of the transmission circuit 250 according to the present invention. [Figure 2C] Figure 2C is a block diagram showing an example of the transmission circuit 270 according to the present invention. [Figure 2D] Figure 2D is a timing diagram showing an example of the operation of the coupler 274 according to the present invention. [Figure 3A] Figure 3A is a flowchart showing an example of the operation method 300 of the transmission circuit 200 according to the present invention. [Figure 3B] Figure 3B is a flowchart showing an example of the operation method 350 of the transmission circuit 200 according to the present invention. [Figure 4] Figure 4 is a block diagram showing an example of a transmission circuit 400 according to an alternative embodiment of the present invention. [Figure 5] Figure 5 is a block diagram showing an example of a transmission circuit 500 according to an alternative embodiment of the present invention. [Figure 6] Figure 6 is a block diagram showing an example of a receiving circuit 600 for a virtual exit device according to the present invention. [Figure 7] Figure 7 is a flowchart showing an example of the operation method 700 of the receiving circuit 600 according to the present invention. [Figure 8] Figure 8 is a block diagram showing an example of a receiving circuit 800 according to an alternative embodiment of the present invention. [Figure 9] Figure 9 is a block diagram showing an example of a receiving circuit 900 according to an alternative embodiment of the present invention. [Figure 10A] Figure 10A is a block diagram showing an example of a virtual transfer device 1000 according to the present invention. [Figure 10B] Figure 10B is a flowchart showing an example of the operation method 1050 of the virtual transfer device 1000 according to the present invention. [Figure 11] Figure 11 is a block diagram showing an example of a virtual transfer device 1100 according to the present invention. [Figure 12] Figure 12 is a flowchart showing an example of a method 1200 for forming a virtual network according to the present invention.

[0011] A better understanding of the features and advantages of the present invention will be obtained by referring to the following detailed description and accompanying drawings illustrating exemplary embodiments in which the important aspects of the present invention are utilized. Best Mode for Carrying Out the Invention

[0012] Figure 1A shows a block diagram illustrating an example of a virtual network 100 according to the present invention. As shown in Figure 1A, the virtual network 100 includes a number of virtual inlet devices VED1 to VEDr, a number of virtual forwarding devices VFD1 to VFDs connected to the virtual inlet devices VED1 to VEDr via fiber optic cables, and a number of virtual exit devices VXD1 to VXDt connected to the virtual forwarding devices VFD1 to VFDs via fiber optic cables to form a web of interconnected devices.

[0013] Virtual network 100 interconnects a number of local devices, such as local routers / switches LRS1 to LRSx, with a number of remote devices, such as remote routers / switches RRS1 to RRSy. In this example, local routers / switches LRS are connected to a number of user devices, such as set-top boxes (STBs), personal computers (PCs), and video devices (VIDs), while remote routers / switches RRS are similarly connected to a number of user devices.

[0014] Figures 1B1 to 1B2 show a flowchart illustrating an operation method 150 of a virtual network 100 according to the present invention. As shown in Figure 1B1, the method 150 starts at 152, where a virtual ingress device VED receives a stream of input frames from a local router / switch, such as an STB, a PC, and video frames. Each input frame has a header that identifies a remote device, such as a remote router / switch RRS, in order. For example, the virtual ingress device VED1 can receive a stream of input frames from the local router / switch LRS1, where each input frame has a header that identifies the remote router / switch RRS1.

[0015] Figure 1C shows a diagram illustrating an example of a frame according to the present invention. As shown in Figure 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 the local router / switch LRS1, and a Dist MAC B field that identifies the MAC address of a remote router / switch, such as the remote router / switch RRS1. The input frame further includes other fields, such as a type field, a data field, and an error correction (CRC) field.

[0016] Referring back to Figure 1B1, the method 150 then moves to 154, where the virtual ingress device VED determines the remote router / switch from the header of the input frame. After that, the method 150 moves to 156 to determine the virtual egress device VXD connected to the remote router / switch RRS from the identity of the remote router / switch RRS. For example, the MAC address RRS1 of the remote router / switch is taken from the Dist MAC B field and can be used to identify the MAC address of the virtual egress device VXD1 via a lookup table, and the virtual egress device VXD1 is connected to the remote router / switch RRS1.

[0017] After determining the virtual exit device VXD, method 150 proceeds to 158, where the virtual inlet device VED encapsulates the input frame to form a first encapsulated (FE) frame. The FE frame, in turn, has a field identifying the virtual exit device, which in this example is the virtual exit device VXD1, and a field containing the input frame. Encapsulation can be performed using conventional protocols such as the Provider Backbone Bridge-Traffic Engineering (PBB-TE) protocol or the Transport Multiprotocol Label Switching (T-MPLS) protocol.

[0018] As shown in Figure 1C, the FE frame has a Dst MAC X field that identifies the MAC address of a virtual exit device VXD, such as virtual exit device VXD1, and a Src MAC N field that identifies the MAC address of a virtual inlet device VED, such as virtual inlet device VED1. The FE frame further includes other fields, such as an I tag field, a payload field containing the input frame, and a CRC field.

[0019] Referring again to Figure 1B1, method 150 then moves to 160, where the virtual inlet device determines the first hop device for the FE frame from the identification information of the virtual exit device. The first hop device can be either the virtual exit device VXD or the virtual forwarding device VFD. For example, the virtual inlet device VED1 may enter the MAC address of the virtual exit device VXD1 into its lookup table to determine the MAC address of the first hop device in the virtual network 100. After this, method 150 moves to 162, where the virtual inlet device encapsulates the FE frame to form a second encapsulated (SE) frame. Each SE frame has, in turn, a field identifying the first hop device and a field containing the FE frame.

[0020] As shown in Figure 1C, the SE frame has a Src MAC C field that identifies the MAC address of the current device, which in this example is the virtual inlet device VED1, and a Dist MAC H field that identifies the MAC address of the first hop in the virtual network 100, which in this example is the virtual forwarding device VFD1. The SE frame further includes a Dst vID field that identifies the virtual port of the virtual inlet device, and a Src vID field that identifies the corresponding virtual port of the virtual exit device.

[0021] Referring again to Figure 1B1, method 150 then moves to 164, where the virtual inlet device VED transmits the SE frame to the first hop device, which in this example is the virtual forwarding device VFD. For example, the virtual inlet device VED1 can transmit the SE frame to the virtual forwarding device VFD1.

[0022] Method 150 then moves to 166, where the first hop device receives an SE frame and determines from the SE frame whether the first hop device is a virtual exit device. If the first hop device is not a virtual exit device, Method 150 moves to 168 to determine the next hop device and alternative hop devices. For example, virtual forwarding device VFD1 receives an SE frame and it can be determined that virtual forwarding device VFD1 is not a virtual exit device.

[0023] Next, method 150 moves to 170 to determine whether the physical port connected to the next hop device is able to accept a transmission frame. If the physical port connected to the next hop device is able to accept a transmission frame, method 150 moves to 172 to output an SE frame to the physical port connected to the next hop device, and then moves to 174 to transmit the SE frame to the next hop device.

[0024] If, at step 170, the physical port connected to the next hop device is unable to accept a transmission frame, method 150 moves to step 176 to determine whether the physical port connected to the alternative hop device is able to accept a transmission frame. If the physical port connected to the alternative hop device is able to accept a transmission frame, method 150 moves to step 178 to output an SE frame to the physical port connected to the alternative hop device, and then moves to step 174 to transmit the SE frame to the alternative hop device. After this, method 150 returns to step 166.

[0025] In this example, the alternative hop device is the virtual transfer device VFD2, and therefore, elements 166-178 in Figure 1B1 are performed to transfer the second encapsulated frame to the virtual exit device VXD1 or to another virtual transfer device VFD.

[0026] As shown in Figure 1B2, when the first hop device is a virtual exit device at 166, method 150 moves to 182 to decompress the SE frame to extract the FE frame, and then moves to 184 to decompress the FE frame to extract the input frame. Method 150 then moves to 186 to determine the remote router / switch from the input frame, and then moves to 188 to transmit the input frame to the remote router / switch.

[0027] One of the advantages of the present invention is that frames can be forwarded across the entire virtual network 100 without referencing the MAC address of the remote router / switch.

[0028] Referring again to Figure 1A, the virtual inlet device VED, virtual forwarding device VFD, and virtual exit device VXD have static forwarding tables assigned by the administrator. For example, each inlet frame, such as STB, PC, and video, contains the MAC address of the remote router / switch RRS. The identification information of the virtual exit device VXD, which is linked to the remote router / switch RRS, can be assigned and provided by the administrator to the virtual inlet device VED and the virtual exit device so that the hops that frames take through the virtual network 100 are pre-assigned.

[0029] Figure 2A shows a block diagram illustrating an example of a transmission circuit 200 for a virtual entry device according to the present invention. As shown in Figure 2A, the transmission circuit 200 includes a local physical port 210, a framing circuit 212 connected to the local physical port 210, and a number of transmission virtual ports vPORTa1 to vPORTan connected to the framing circuit 212.

[0030] Each transmission virtual port vPORTa includes, in order, a transmission queue and a transmission frame formatting circuit. In addition, the transmission circuit 200 further includes a transmission virtual switch 214 connected to each of the transmission virtual ports vPORTa, and a network physical port 216 connected to the transmission virtual switch 214 and the optical fiber cable.

[0031] Figure 3A shows a flowchart illustrating an example of a method 300 for operating the transmission circuit 200 according to the present invention. As shown in Figure 3A, method 300 begins at 310, where the framing circuit 212 receives a series of input frames from the local physical port 210. Method 300 then moves to 312 to examine the series of input frames and determine the frame type (e.g., STB, PC, video) of each input frame, and then moves to 314 to determine the virtual exit device associated with each input frame based on the frame type. Each virtual exit device, in turn, has a certain number of receiving virtual ports.

[0032] Next, method 300 moves to 316, where the framing circuit 212 encapsulates a series of input frames to form a number of first encapsulation (FE) frames. Each FE frame has a header that identifies a virtual exit device associated with the series of input frames.

[0033] Next, method 300 moves to 318, where the transmission virtual ports vPORTa1~vPORTan determine the first hop in the virtual network for the FE frame based on the virtual exit device in the header of the FE frame. Then, method 300 moves to 320, where the transmission virtual ports vPORTa1~vPORTan encapsulate the FE frame to form a second encapsulation (SE) frame. Each SE frame has a header that identifies the first hop of the SE frame. The header further identifies the receiving virtual port of the associated virtual exit device of the input frame. In addition, the transmission virtual port occupies a first portion of shared memory.

[0034] Method 300 then moves to 322, where the transmission virtual switch 214 cycles through the transmission virtual ports vPORTa1 to vPORTan, sequentially transferring SE frames from each transmission virtual port vPORTa in a fixed repeating order in order to output a sequence of SE frames. For example, the virtual switch 214 may output a sequence of SE frames, where the first SE frame is from vPORT1, the second frame is from vPORT2, the third frame is from vPORT3, and the fourth frame is again from vPORT1.

[0035] If the transmission virtual port vPORTa is empty or partially full, no frame is generated. For example, if the transmission virtual port vPORT2 is empty, network physical port 216 outputs a frame sequence containing frame 1, no frame, and frame 3. Method 300 then moves to 324, where network physical port 216 transmits SE frames over the virtual network.

[0036] Figure 3B shows a flowchart illustrating an example of a method 350 for operating the transmission circuit 200 according to an alternative embodiment of the present invention. Method 350 is similar to Method 300, and as a result, the same reference numerals are used to designate elements common to both methods.

[0037] As shown in Figure 3B, method 350 first branches off from method 300 at 352, where the virtual switch 214 determines whether a complete signal has been received from any of the transmission virtual ports vPORTa. A complete signal indicates that the SE frame is ready to be transmitted at the transmission virtual port vPORTa. Once the virtual switch 214 detects a complete signal from the transmission virtual port vPORTa, method 350 moves to 354, where the virtual switch 214 forwards the SE frame from the transmission virtual port vPORTa that outputs a complete signal to the network physical port 216.

[0038] For example, virtual switch 214 can sequentially receive complete signals from transmission virtual ports vPORTa1, vPORTa2, and vPORTa3. In this case, virtual switch 214 outputs a sequence of SE frames, where the first SE frame is from transmission virtual port vPORT1, the second frame is from transmission virtual port vPORT2, and the third frame is from transmission virtual port vPORT3.

[0039] Alternatively, one of the sources (e.g., STB, PC, video source) may have a much faster data rate than the other source (e.g., STB, PC, video source), allowing one transmission virtual port vPORTa to output a complete signal much more frequently than the other transmission virtual port vPORTa.

[0040] For example, if network physical port 216 transmits frames at a frame rate of 5 frames per second, transmission virtual port vPORTa2 outputs frames at a rate three times faster than the frame rates of transmission virtual ports vPORTa1 and vPORTa3, transmission virtual port vPORTa2 fully signals three times before the other ports, and transmission virtual port vPORTa1 signals before vPORTa3, then virtual switch 214 forwards a sequence of frames including the first frame from transmission virtual port vPORT2, the second frame from transmission virtual port vPORT2, the third frame from transmission virtual port vPORT2, the fourth frame from transmission virtual port vPORT1, and the fifth frame from transmission virtual port vPORT3.

[0041] In addition to the first-in, first-out approach, in which the order in which complete signals are received determines the order in which SE frames are output from transmission virtual port vPORTa by virtual switch 214, transmission virtual ports vPORTa~vPORTan may, alternatively, include a priority scheme that allows frames to be forwarded from transmission virtual port vPORTa to network physical ports in any quantity and in any order.

[0042] Referring again to Figure 3B, after the virtual switch 214 forwards the SE frame from the transmission virtual port vPORTa, which outputs a complete signal to the network physical port 216, method 350 moves to 356, where the 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 preferred method provides some degree of predictability.

[0043] Referring again to the example in Figure 2A, the framing circuit 212 includes a virtual switch 220 and a framer 222 connected to the virtual switch 220. The virtual switch 220 detects the type of input frame (e.g., STB, PC, video), determines the route of the frame from a static transfer table to a transmission virtual port vPORTa that matches the frame type, and outputs the frame to the transmission virtual port vPORTa.

[0044] In this example, virtual switch 220 receives an STB frame transmitted by a local source router / switch such as router / switch 120, and after receiving the frame, it knows that the frame is an STB frame from the source and / or destination MAC addresses in the STB frame. Switch 220 then outputs the STB frame to a first virtual port line P1 which has a predetermined path to the transmission virtual port vPORTa1, which is pre-selected to receive the STB frame.

[0045] Similarly, virtual switch 220 receives PC frames transmitted by the local source router / switch and, from the source and / or destination MAC addresses in the PC frame, determines that the received frame is a PC frame. Switch 220 then outputs the PC frame to a second virtual port line P2, which has a predetermined path toward the transmission virtual port vPORTa2, which is pre-selected to receive PC frames.

[0046] The virtual switch 220 further receives video frames transmitted by the local router / switch, determines that the received frame is a video frame from the source and / or destination MAC addresses in the video frame, and then outputs the video frame to a third virtual port line P3 which has a predetermined path toward the transmission virtual port vPORTa3, which is pre-selected to receive the video frame.

[0047] Framer 222 receives an STB frame on virtual port line P1, encapsulates the STB frame to form a first encapsulated (FE) STB frame, and then forwards the FE STB frame to the transmission queue of transmission virtual port vPORTa1. Similarly, Framer 222 receives a PC frame on virtual port line P2, encapsulates the PC frame to form a first encapsulated (FE) PC frame, and then forwards the FE PC frame to the transmission queue of transmission virtual port vPORTa2. Framer 222 further receives a video frame on virtual port line P3, encapsulates the video frame to form a first encapsulated (FE) video frame, and then forwards the FE video frame to the transmission queue of transmission virtual port vPORTa3.

[0048] 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, FE STB frames, FE PC frames, and FE video frames each have a header with a certain number of fields, including the identification of the virtual exit device.

[0049] For example, the FE frame header may include an exit address field, an I-tag field, or a similar field for the MAC address of the virtual exit device. The header may also include other fields, such as the MAC address of the virtual inlet device. In this example, the MAC address of the virtual exit device is provided to the virtual inlet device by the administrator.

[0050] For the transmission virtual port vPORTa, the frame formatting circuit of the transmission virtual port vPORTa1 of the transmission circuit 200 receives the FE STB frame and, based on the identification of the virtual exit device, such as the MAC address of the virtual exit device in the header of the FE STB frame, determines the first hop in the virtual network for the FE STB frame from the static forwarding table, encapsulates the FE STB frame to form a second encapsulated (SE) STB frame.

[0051] Similarly, the frame formatting circuit of the transmission virtual port vPORTa2 of the transmission circuit 200 receives the FE PC frame and, based on the identification of the virtual exit device, such as the MAC address of the virtual exit device in the header of the FE PC frame, determines the first hop in the virtual network for the FE PC frame from a static forwarding table, encapsulates the FE PC frame to form a second encapsulated (SE) PC frame.

[0052] Additionally, the frame formatting circuit of the transmission virtual port vPORTa3 of the transmission circuit 200 receives the FE video frame and, based on the identification of the virtual exit device, such as the MAC address of the virtual exit device in the header of the FE video frame, determines the first hop in the virtual network for the FE video frame from a static forwarding table, encapsulates the FE video frame to form a second encapsulated (SE) video frame.

[0053] SE STB frames, SE PC frames, and SE video frames each include a header having a first hop field that identifies the MAC address of the first hop device in the virtual network, a source field Src_vID that identifies the virtual port number of the virtual inlet device, and a destination field Dst_vID that identifies the virtual port number of the virtual exit device that matches the virtual port number of the virtual inlet device. In this example, the source field Src_vID for the SE STB frame is the transmission virtual port vPORTa1. Other fields may be included.

[0054] Furthermore, the virtual switch 214 sequentially cycles through the transmission virtual ports vPORTa1 to vPORTan, forwarding a second encapsulation (SE) frame from each virtual port vPORTa to output a series of SE frames to the physical port 216. In this example, switch 214 forwards the SE STB frame from transmission virtual port vPORTa1 to physical port 216, then the SE PC frame from transmission virtual port vPORTa2 to physical port 216, then the SE video frame from transmission virtual port vPORTa3 to physical port 216, then the SE STB frame from virtual port vPORTa1 to physical port 216, and so on, with physical port 216 outputting frames in the same manner. Figure 2 shows the transmission circuit 200 as receiving and operating on input from a single local router / switch, but the transmission circuit 200 can alternatively receive and operate on input from multiple routers / switches.

[0055] Figure 2B shows a block diagram illustrating an example of a transmission circuit 250 according to the present invention. The transmission circuit 250 is similar to the transmission circuit 200, and as a result, the same reference numerals are used to designate elements common to both the transmission circuit 200 and the transmission circuit 250.

[0056] As shown in Figure 2B, transmission circuit 250 differs from transmission circuit 200 in that it includes a first network physical port 216A and a second network physical port 216B, both of which are connected to a virtual switch 214. Additionally, the virtual switch 214 provides a continuous connection between the transmission virtual port vPORTa1 and the network physical port 216A. Furthermore, an additional transmission virtual port vPORTa4 is shown.

[0057] The transmission circuit 250 operates substantially the same as the transmission circuit 200, except that one or more of the sources (e.g., STB, PC, or video source) output frames of data at a frame rate greater than the maximum frame rates of the network physical ports 216A and 216B. For example, each of the network physical ports 216A and 216B may have a maximum frame rate of 5 frames per second.

[0058] In the example in Figure 2B, the set-top box outputs 7 STB frames per second, while the personal computer outputs 2 PC frames per second, and the video device outputs 1 video frame per second. (The numbers cited are for illustrative purposes only.) As shown in Figure 2B, five of the 7 STB frames are transmitted from network physical port 216A, while the remaining 2 STB frames, 2 PC frames, and 1 video frame are transmitted from network physical port 216B as shown by methods 300 and 350. One advantage of transmission circuit 250 is that it can handle incoming frame rates greater than the maximum frame rate of the network physical port.

[0059] Figure 2C shows a block diagram illustrating an example of a transmission circuit 270 according to the present invention. The transmission circuit 270 is similar to the transmission circuit 200, and as a result, the same reference numerals are used to designate structures common to both the transmission circuit 200 and the transmission circuit 270.

[0060] As shown in Figure 2C, the transmission circuit 270 differs from the transmission circuit 200 in that it utilizes the framing circuit 272 instead of the framing circuit 212. The framing circuit 272 is the same as the framing circuit 212, except that it includes a coupler 274 that combines data from STB frames, PC frames, and video frames into a single combined frame.

[0061] The coupler 274 includes a coupling engine CE that combines a number of framing virtual ports, such as VP1 to VP3, which match the number of frame types, and data from different framing virtual ports VP1 to VP3 to generate a combined frame output to the framer 222. The coupling engine CE can be implemented in logic or software.

[0062] During operation, the coupler 274 receives a number of incoming frames of data from a number of non-standard data rates, such as STB frames from a first source at 20 Mbps, PC frames from a second source at 32 Mbps, and video frames from a third source at 48 Mbps, and stores the incoming frames in framing virtual ports VP1 to VP3 that match the source of the frames, such as STB, PC, and video.

[0063] The coupler 274 combines data from STB, PC, and video frames stored in framing virtual ports VP1 to VP3 and outputs a combined frame at a data rate less than or equal to a predetermined fixed data rate (e.g., 100 Mbps) of the network physical port 216. For example, data from a 20 Mbps STB frame, data from a 32 Mbps PC frame, and data from a 48 Mbps video frame are combined to produce a combined frame of 100 Mbps, which is equal to the predetermined fixed data rate of 100 Mbps in this example.

[0064] Figure 2D shows a timing diagram illustrating an example of the operation of the coupler 274 according to the present invention. In the example in Figure 2D, the transmission clock signal 280 is shown operating at a predetermined fixed rate of 10 cycles per second, along with data from three framing virtual ports VP1, VP2, and VP3, which are clock-controlled to pulses selected within the transmission clock signal 280.

[0065] When the coupler 274 receives a first data stream of STB frames from a first source having an undefined data rate of 2 cycles per second, a second data stream of PC frames from a second source having an undefined data rate of 3 cycles per second, and a third data stream of video frames from a third source having an undefined data rate of 4 cycles per second, the coupler 274 clocks the data from the first data stream to the first two clock cycles of a predetermined fixed cycle of 10 cycles per second, clocks the data from the second data stream to the third, fourth, and fifth clock cycles of a predetermined fixed cycle of 10 cycles per second, and clocks the data from the third data stream to the sixth, seventh, eighth, and ninth clock cycles of a predetermined fixed cycle of 10 cycles per second, as shown by line 282. The last cycle in this example is empty. Ideally, incoming frames should be grouped so that all predetermined fixed clock cycles are utilized.

[0066] Additionally, as shown by line 284 in Figure 2D, data from the first data stream, data from the second data stream, and data from the third data stream can be clock-controlled to any of the 10 predetermined fixed clock cycles of the transmission clock signal 610. For example, any type of data, such as headers and payloads, and any amount of data, such as bits, bytes, words, or types, can be clock-controlled to each pulse of the transmission clock signal 280. The example in Figure 2D is a simplified example to illustrate timing.

[0067] Referring again to Figure 2C, Framer 222 identifies a remote device, such as a remote router / switch, from the header of the combined frame, and identifies a virtual exit device from the remote device's identification information. The combined frame is encapsulated by Framer 222 to generate an FE combined frame that has a header identifying the virtual exit device.

[0068] The FE combined frame is forwarded to the transmission virtual port vPORTa1 to determine the first hop in the virtual network for the FE frame, based on the virtual exit device in the header of the FE frame. The transmission virtual port vPORTa1 further encapsulates the FE combined frame to form a second encapsulated (SE) frame having a header that identifies the first hop of the SE frame. The transmission virtual port vPORTa1 forwards the SE frame to the physical port 216, which outputs the SE combined frame.

[0069] Figure 4 shows a block diagram illustrating an example of a transmission circuit 400 according to an alternative embodiment of the present invention. The transmission circuit 400 is similar to the transmission circuit 200, and as a result, the same reference numerals are used to designate common structures in both circuits.

[0070] As shown in Figure 4, the transmission circuit 400 differs from the transmission circuit 200 in that the framing circuit 212 of the transmission circuit 400 utilizes a serial-to-serial framer 410, which is followed by a serial-to-parallel virtual switch 412 connected to virtual ports vPORTa1 to vPORTan, instead of a virtual switch 220 followed by a framer 222. In a further alternative embodiment, the framer 410 and virtual switch 412 of the transmission circuit 400 can be physically separated, and the framer 410 is incorporated into a local router / switch.

[0071] Figure 5 shows a block diagram illustrating an example of a transmission circuit 500 according to the present invention. The transmission circuit 500 is similar to the transmission circuit 400, and as a result, the same reference number is used to designate structures common to both circuits 400 and 500. As shown in the example in Figure 5, a local framer router / switch 510 is used with the transmission circuit 500 instead of an STB, PC, and local router / switch that receives and outputs video frames.

[0072] Figure 6 shows a block diagram illustrating an example of a receiving circuit 600 for a virtual exit device according to the present invention. (A virtual inlet device further includes a receiving circuit, while a virtual exit device further includes a transmission circuit.) As shown in Figure 6, the receiving circuit 600 includes a network physical port 610 and a receiving virtual switch 612 connected to the network physical port 610. The receiving circuit 600 further includes a number of receiving virtual ports vPORTb1 to vPORTbn connected to the switch 612. Each receiving virtual port vPORTb includes, in order, a receiving queue and a receiving frame formatting circuit. The receiving circuit 600 further includes a deframing circuit 614 connected to each of the receiving virtual ports vPORTb, and a local physical port 616 connected to the deframing circuit 614.

[0073] Figure 7 shows a flowchart illustrating an example of the operation method 700 of the receiving circuit 600 according to the present invention. As shown in Figure 7, the method 700 begins at 710, where the network physical port 610 receives a double-encapsulated (DE) frame, such as an SE frame, which has headers containing the first / next hop address and the receiving virtual port identifier, respectively.

[0074] Next, method 700 moves to 712, where network physical port 610 examines the DE frame to determine the first / next hop address and compares the first / next hop address with a stored address. After this, method 700 moves to 714, where network physical port 610 forwards DE frames with a matching first / next hop address and discards DE frames with a first / next hop address that does not match a stored address.

[0075] Method 700 then moves to 716, where the receiving virtual switch 612 passes the forwarded DE frame in a switchable state based on the receiving virtual port identifier in the DE frame header. Method 700 then moves to 718, where receiving virtual ports vPORTb1 to vPORTbn decompress the DE frame and extract single encapsulated (1E) frames from the DE frame, such as FE frames, so that each receiving virtual port vPORTb decompresses the DE frame and extracts 1E frames.

[0076] Next, method 700 moves to 720, where the deframing circuit 614 defrosts the 1E frame and extracts the original STB, PC, and video input frames from the 1E frame. The original STB, PC, and video input frames have a number of frame types. Furthermore, each input frame has a header that identifies the destination router / switch. 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 then outputs the original STB, PC, and video frames to the remote router / switch, such as the remote router / switch 122.

[0077] In this example, virtual switch 612 receives a DE STB frame from network physical port 610 and determines that the destination virtual port is virtual port vPORTb1 from the destination virtual port number Dst_vID in the DE STB frame header. Additionally, switch 612 determines a route to virtual port vPORTb1 from its static forwarding table and then outputs the DE STB frame to the first virtual port line that has a defined path to virtual port vPORTb1.

[0078] Similarly, virtual switch 612 receives a DE PC frame from network physical port 610 and determines that the destination virtual port is virtual port vPORTb2 from the destination virtual port number Dst_vID in the header of the ME PC frame. Furthermore, switch 612 determines the route to virtual port vPORTb2 from its static forwarding table and then outputs the DE PC frame to a second virtual port line that has a predetermined path toward virtual port vPORTb2.

[0079] Additionally, virtual switch 612 receives a DE video frame from network physical port 610 and determines that the destination virtual port is virtual port vPORTb3 from the destination virtual port number Dst_vID in the ME video frame header. Switch 612 then determines a route to virtual port vPORTb3 from its static forwarding table and outputs the DE video frame to a third virtual port line whose path to virtual port vPORTb3 has been determined.

[0080] Virtual ports vPORTb1 to vPORTbn receive DE frames, decompress them, and extract 1E frames from the DE frames, such as FE STB frames, FE PC frames, and FE video frames. In the example in Figure 6, the receive queue of the first virtual port vPORTb1 receives a DE STB frame, while the frame formatting circuit of virtual port vPORTb1 decompresses the DE STB frame and extracts a 1E STB frame that has a header containing the identification information of the virtual exit device.

[0081] Similarly, the receive queue of the second virtual port vPORTb2 receives DE PC frames, while the frame formatting circuit of virtual port vPORTb2 decompresses the DE PC frames and extracts 1E PC frames that have a header containing the identification information of the virtual exit device. Additionally, the receive queue of the third virtual port vPORTb3 receives DE video frames, while the frame formatting circuit of virtual port vPORTb3 decompresses the DE video frames and extracts 1E video frames that have a header containing the identification information of the virtual exit device.

[0082] The deframing circuit 614 receives multiple 1E frames, such as FE frames, and extracts the original STB, PC, and video input frames from the 1E frames. The input frames have a number of frame types, such as STB, PC, and video. Each input frame has a header containing the identification information of the remote router / switch. For each received FE frame, the deframing circuit 614 decompresses the 1E frame to extract the input frame, determines the identification information of the remote router / switch from the header of the input frame, outputs the input frame to the local physical port 616, and the local physical port 616 outputs the input frame to the remote router / switch, such as the remote router / switch 122.

[0083] As shown in Figure 6, the deframing circuit 614 includes a deframer 620 and a virtual switch 622 connected to the deframer 620. During operation, the deframer 620 receives 1E frames from multiple receiving virtual ports vPORTb1 to vPORTbn, decompresses the 1E frames to extract the original input frames, such as STB frames, PC frames, and video frames, and forwards the STB frames, PC frames, and video frames to the virtual switch 622.

[0084] In the example in Figure 6, deframer 620 receives a 1E STB frame from the receiving virtual port vPORTb1, decompresses the 1E frame to extract the STB frame, and forwards the STB frame to virtual switch 622. Similarly, deframer 620 receives a 1E PC frame from the receiving virtual port vPORTb2, decompresses the 1E frame to extract the PC frame, and forwards the PC frame to virtual switch 622. Additionally, deframer 620 receives a 1E video frame from the receiving virtual port vPORTb3, decompresses the 1E frame to extract the video frame, and forwards the video frame to virtual switch 622. Deframer 620 can utilize the same or different protocols as deframer 222.

[0085] Virtual switch 622 sequentially cycles through the output of deframer 620, receiving output frames and forwarding them to local physical port 616. In this example, virtual switch 622 receives an STB frame from deframer 620, detects the MAC address of the remote router / switch, and outputs the STB frame to local physical port 616. Similarly, virtual switch 622 receives a PC frame from deframer 620, detects the MAC address of the remote router / switch, and outputs the PC frame to local physical port 616. Additionally, virtual switch 622 receives a video frame from deframer 620, detects the MAC address of the remote router / switch, and outputs the video frame to local physical port 616. Local physical port 616 then sequentially outputs the frames to the remote router / switch.

[0086] The example in Figure 6 shows a deframing circuit 614 having a parallel-to-serial virtual switch 622 followed by a parallel-to-parallel deframer 620. The deframing circuit 614 can be implemented in other circuit configurations as an alternative. For example, the deframing circuit 614 can be implemented with a serial-to-parallel virtual switch connected to virtual ports vPORTb1 to vPORTbn, followed by a serial-to-serial deframer.

[0087] Figure 8 shows a block diagram illustrating an example of a receiving circuit 800 according to an alternative embodiment of the present invention. The receiving circuit 800 is similar to the receiving circuit 600, and as a result, the same reference number is used to designate a common structure for both devices.

[0088] As shown in Figure 8, the receiver circuit 800 differs from the receiver circuit 800 in that its framing circuit 614 includes a parallel-to-serial virtual switch 810 connected to virtual ports vPORTb1 to vPORTbn, followed by a serial-to-serial deframer 812. The implementations of the framing circuit 212 and the deframing circuit 614 are interchangeable. For example, the virtual inlet device VED can utilize the framing circuit 212 implemented together with the virtual switch 220 and framer 222, while the virtual exit device VED can utilize the deframing circuit 614, virtual switch 810, and deframer 812.

[0089] In a further alternative embodiment, the virtual switch 810 and the deframer 812 can be physically separated, and the deframer 812 is integrated into the local router / switch.

[0090] Figure 9 shows a block diagram illustrating an example of a receiving circuit 900 according to the present invention. The receiving circuit 900 is similar to the receiving circuit 800, and as a result, the same reference number is used to designate structures common to both circuits 800 and 900. As shown in the example in Figure 9, a local deframer router / switch 910 is used in the receiving circuit 900 in place of a local router switch.

[0091] In addition to transferring data frames across the entire virtual network, each hop across the virtual network can be tested by generating a test SE frame. During testing, the transmission virtual port vPORTa determines the next hop in the virtual network to the virtual exit device that will be the end of the link. Subsequently, the transmission virtual port vPORTa generates a test SE frame, which has a header that identifies the frame as the test frame and the virtual exit device that will be the end of the link to be tested.

[0092] Virtual switch 214 passes the test SE frame to the network physical port as described above, and the network physical port transmits the test SE frame. The test SE frame arrives at the virtual exit device as described above, where the receiving virtual port vPORTb decompresses the test SE frame and extracts the test information as described above. 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 the quality of service (QoS) criteria.

[0093] Figure 10A shows a block diagram illustrating an example of a virtual transfer device 1000 according to the present invention. As shown in Figure 10A, the virtual transfer device 1000 includes a number of receiving physical ports RP1 to RPm, and a number of transfer virtual ports vPORTc1 to vPORTcn connected to the receiving physical ports RP1 to RPm. Each transfer virtual port vPORTc includes, in order, a transfer frame formatting circuit for compressing and decompressing frames, and a transfer queue for holding frame data during compression and decompression. The virtual transfer device 1000 further includes a virtual switch 1010 connected to each of the transfer virtual ports vPORTc, and a number of transmission physical ports TP1 to TPz connected to the virtual switch 1010.

[0094] Figure 10B shows a flowchart illustrating an example of an operation method 1050 of the virtual forwarding device 1000 according to the present invention. As shown in Figure 10B, method 1050 begins in 1052 with the reception of a second encapsulation (SE) frame. For example, the forwarding virtual port vPORTc1 may receive an SE frame from the virtual ingress device VED1 via the receiving physical port RP1.

[0095] Next, method 1050 moves to 1054 to decompress the SE frame and extract the first encapsulated frame (FE), and then moves to 1056 to extract the identifier from the FE frame. For example, the forwarding virtual port vPORTc1 can extract the FE frame from the decompressed SE frame and then extract the identifier as the MAC address of the virtual exit device.

[0096] Following this, method 1050 proceeds to 1058 to determine the next hop device and alternate hop devices from the identifier. For example, the forwarding virtual port vPORTc1 can enter the MAC address (identifier) ​​of the virtual exit device VXD1 into the lookup table. Once the virtual exit device VXD1 is entered into the table, as shown in the lookup table, it is possible to determine the MAC address of the next hop device and the MAC address of the alternate hop device. (The lookup table may include the MAC addresses of a number of additional alternate hop devices as alternatives.) [Table 1]

[0097] Method 1050 then proceeds to 1060 to determine whether the transmission physical port connected to the next hop device can accept forwarding frames. If the rate at which frames are forwarded to the transmission physical port is greater than the rate at which the transmission physical port can physically output frames to the next hop device, the transmission physical port asserts a hold signal to prevent the transmission physical port from receiving additional frames. For example, a forwarding virtual port vPORTc1 can determine whether the transmission physical port TP1 connected to the next hop (virtual exit) device VXD1 can accept forwarding frames.

[0098] When a transmission physical port is able to accept a transmission frame, method 1050 proceeds to 1062, where the virtual transfer vPORTc compresses or encapsulates the FE frame to form a double-encapsulated (DE) frame having the next-hop MAC address replacing the first-hop MAC address. The DE frame has, in order, a field identifying the next hop and a field containing the FE frame. For example, when the transfer virtual port vPORTc1 determines that the transmission physical port TP1 is able to accept a transmission frame, the transfer virtual port vPORTc1 compresses or encapsulates the FE frame to form a DE frame having a field identifying the virtual exit device VXD1.

[0099] Following this, method 1050 moves to 1064, where the virtual switch 272 forwards the DE frame with the next hop MAC address to the transmission physical port connected to the next hop device, and then moves to 1066, where the transmission physical port outputs the DE frame. For example, the virtual switch 272 can forward the DE frame from the forwarding virtual port vPORTc to the transmission physical port TP1, and the transmission physical port TP1 then forwards the DE frame to the virtual exit device VXD1.

[0100] On the other hand, if a transmission physical port is unable to accept a transfer frame, method 1050 proceeds to 1070 to determine whether a transmission physical port connected to an alternative hop device can accept a transfer frame. For example, a transfer virtual port vPORTc1 can determine whether a transmission physical port TP2 connected to a virtual transfer device VFD2 can accept a transfer frame.

[0101] When a transmission physical port is able to accept a transmission frame, method 1050 proceeds to 1072, where the transmission virtual port vPORTc compresses or encapsulates the FE frame to form a DE frame having an alternate hop MAC address that replaces the first hop MAC address. The DE frame has, in turn, a field that identifies the alternate hop and a field that contains the FE frame. For example, when the transmission virtual port vPORTc1 determines that the transmission physical port TP1 is able to accept a transmission frame, the transmission virtual port vPORTc1 compresses or encapsulates the FE frame to form a DE frame having a field that identifies the virtual transmission device VFD1.

[0102] A DE frame has, in order, a field that identifies an alternative hop and a field that contains the FE frame. For example, when the forwarding virtual port vPORTc1 determines that the transmission physical port TP2 can accept a transmission frame, the forwarding virtual port vPORTc1 compresses or encapsulates the FE frame to form a DE frame that has a field that identifies the virtual forwarding device VFD2 as the next hop.

[0103] Next, method 1050 proceeds to 1074, where virtual switch 272 forwards the DE frame with the alternate MAC address to the transmission physical port connected to the alternate hop device, and then proceeds to 1076, where the transmission physical port outputs the DE frame to the alternate hop device. For example, virtual switch 272 may forward the DE frame from the transmission virtual port vPORTc to the transmission physical port TP2, and the transmission physical port TP2 then forwards the DE frame to the virtual transmission device VFD2. If the transmission physical port is unable to accept the frame for forwarding, method 1050 proceeds to 1078, where the transmission virtual port vPORTc discards the frame. (If the lookup table specifies additional alternate devices, method 360 evaluates the other devices before discarding the frame).

[0104] The virtual forwarding device VFD2 functions in the same way as the virtual forwarding device VFD1. The virtual forwarding device VFD2 receives the SE frame, decompresses the frame, identifies the next hop device and alternative hop devices, and determines whether the transmission physical port associated with the next hop device can accept the transmission frame.

[0105] If the transmission physical port associated with the next hop is able to accept a transmission frame, the virtual forwarding device VFD2 compresses the FE frame to form a DE frame, and the virtual switch forwards the DE frame to the transmission physical port of the virtual forwarding device VFD2. If the physical port associated with the next hop is not able to accept a transmission frame, the virtual forwarding device VFD2 determines whether the transmission physical port associated with the device identified by the alternate MAC address is able to accept a transmission frame.

[0106] When the transmission physical port associated with the device identified by the alternate MAC address is able to accept a transmission frame, the virtual forwarding device VFD2 compresses the FE frame to form a DE frame, and the virtual switch forwards the DE frame to the transmission physical port. For example, when the transmission physical port TP2 connected to the virtual forwarding device VFD is able to accept a transmission frame, the virtual forwarding device VFD2 compresses the FE frame to form a DE frame, and the virtual switch forwards the DE frame to the transmission physical port TP2.

[0107] When the transmission physical port associated with a device identified by an alternate MAC address is unable to accept a transmission frame, the method may, according to the lookup table, either discard the frame or continue checking for second, third, or other alternate MAC addresses until a transmission physical port that accepts the transmission frame is found or the frame is dropped.

[0108] Figure 11 shows a block diagram illustrating an example of a virtual transfer device 1100 according to the present invention. The virtual transfer device 1100 is similar to the virtual transfer device 1000, and as a result, the same reference number is used to designate a common structure for both devices.

[0109] As shown in Figure 11, the virtual forwarding device 1100 differs from the virtual forwarding device 1000 in that the forwarding frame formatting circuit of the forwarding virtual port vPORTcn can, when necessary, forward decompressed FE frames to a third-party network-to-network (NNI) device via the forwarding physical port TPz for transmission across third-party networks. The forwarding virtual port vPORTcn provides decompressed FE frames having a conventional format, such as the PBB-TE format.

[0110] In addition to transferring data frames across the entire virtual network, each hop across the virtual network can be tested by generating a test SE frame. During testing, the transmission virtual port vPORTa determines the first hop in the virtual network to the virtual exit device that will be the end of the link. Subsequently, the transmission virtual port vPORTa generates a test SE frame, which has a header that identifies the frame as the test frame and the virtual exit device that will be the end of the link to be tested.

[0111] The test SE frame is passed to the network physical port as described above, and the network physical port transmits the test SE frame. The test SE frame arrives at the virtual exit device as described above, where the receiving virtual port vPORTb decompresses the test SE frame and extracts the test information as described above. 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 the Quality of Service (QoS) criteria.

[0112] Figure 12 is a flowchart showing an example of a method 1200 for forming a virtual network according to the present invention. As shown in the example in Figure 12, the method 1200 begins by passing frames of data at a certain frame rate across one or more optical fiber cables, each having two or more physical fibers.

[0113] When the frame rate of a data frame is greater than the maximum frame rate of a first physical fiber in an optical fiber cable, passing includes passing a first number of frames of data through the first physical fiber at a first data rate less than or equal to the maximum data rate of the first physical fiber. Passing also includes passing a second number of frames of data through the second physical fiber at a second data rate less than or equal to the maximum data rate of the second physical fiber.

[0114] When the frame rate of a data frame is less than or equal to the frame rate of the first physical fiber in the optical fiber cable, passing involves passing a pair of data frames sequentially through the first physical fiber such that the pair of frames contains data from multiple sources.

[0115] Method 1200 then moves to 1212 to generate a frame of data that will be passed across the optical fiber network. In the first embodiment, the frame of data is generated by receiving a frame of data from a source device at a frame rate greater than the maximum frame rate to form a post-receive frame of data, which is then divided into a first number of post-receive frames of data having a first data rate less than or equal to the maximum data rate of the first physical fiber, and a second number of post-receive frames of data having a second data rate less than or equal to the maximum data rate of the second physical fiber.

[0116] For example, if two physical fibers each have a maximum data rate of 100 Gbps and customer data flows at 200 Gbps, the optical fiber cable can be configured to separate the 200 Gbps customer data and data rate, which is greater than the maximum data rate of 100 Gbps for both the first and second physical fibers, by passing 100 Gbps through both the first and second physical fibers.

[0117] Subsequently, the data frame is generated by determining the remote device from the post-received data frame, determining the virtual exit device from the remote device, and performing a first encapsulation of the post-received data frame to form a first encapsulated frame having a header that identifies the virtual exit device.

[0118] Next, a data frame is generated by determining a virtual exit device from the first encapsulated frame, determining a first hop device from the virtual exit device, and performing a second encapsulation of the first encapsulated frame to form a second encapsulated frame having a header that identifies the first hop device.

[0119] In the second embodiment, a data frame is generated by receiving a first frame of data from a first source at a first frame rate and a second frame of data from a second source at a second frame rate. Subsequently, a data frame is generated by combining the data from the first frame from the first source with the data from the second frame from the second source to form a combined data frame.

[0120] Subsequently, the data frame is generated by determining a remote device from a first frame from a first source, determining a virtual exit device from the remote device, and performing a first encapsulation of the combined data frame to form a first encapsulated frame having a header that identifies the virtual exit device.

[0121] Next, a data frame is generated by determining a virtual exit device from the first encapsulated frame, determining a first hop device from the virtual exit device, and performing a second encapsulation of the first encapsulated frame to form a second encapsulated frame having a header that identifies the first hop device.

[0122] In the third embodiment, a data frame is generated by receiving a first frame of data from a first source at a first frame rate and a second frame of data from a second source at a second frame rate, determining a remote device from the first frame of data from the first source, and determining a virtual exit device from the remote device.

[0123] Subsequently, the data frame is generated by encapsulating a first frame of data from a first source to form a first encapsulated frame having a header that identifies a virtual exit device, and by encapsulating a second frame of data from a second source to form a second encapsulated frame having a header that identifies a virtual exit device.

[0124] Next, a data frame is generated by determining a virtual exit device from a first encapsulated frame, determining a first hop device from the virtual exit device, encapsulating the first encapsulated frame to form a third encapsulated frame having a header that identifies the first hop device, and encapsulating the second encapsulated frame to form a fourth encapsulated frame having a header that identifies the first hop device.

[0125] Subsequently, the data frame is generated by outputting a certain number of third encapsulated frames and a certain number of fourth encapsulated frames such that the combined frame rate of the third and fourth encapsulated frames is less than or equal to the maximum frame rate of the first fiber.

[0126] Referring again to Figure 12, method 1200 then moves to 1214 to receive a frame of data passed over the optical fiber cable. In the first embodiment, the frame of data is received by decompressing the second encapsulated frame to extract the first encapsulated frame and the identification information of the virtual exit device, and by determining whether the first hop device is a virtual exit device. Subsequently, the frame is received by decompressing the first encapsulated frame to extract the post-reception frame of data if the first hop device is a virtual exit device, and by determining the next hop device from the identification information of the virtual exit device if the first hop device is not a virtual exit device.

[0127] When the next hop device is a virtual forwarding device, the first encapsulated frame is encapsulated to form a third encapsulated frame having a header that identifies the virtual forwarding hop device. When the next hop device is a network-to-network interface device, the first encapsulated frame is forwarded to the network-to-network interface device.

[0128] References to various embodiments of this disclosure have now been made in detail, examples of which are shown in the accompanying drawings. Although various embodiments have been described, it will be understood that these various embodiments are not intended to limit this disclosure. On the contrary, this disclosure is intended to include alternative forms, modifications, and equivalents, which may be included within the scope of this disclosure as construed in accordance with the claims.

[0129] Furthermore, the aforementioned detailed descriptions of the various embodiments of this disclosure provide a great deal of specific details to give a complete understanding of the disclosure. Nevertheless, it will be recognized by those skilled in the art that the disclosure can be practiced without these specific details or using equivalents. In other examples, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the aspects of the various embodiments of this disclosure unnecessarily.

[0130] While the methods may be described herein as a numbered sequence of actions for clarity, it should be noted that the numbering does not necessarily indicate the order of the actions. It should be understood that some of the actions may be skipped, performed simultaneously, or performed without requiring strict adherence to the sequence.

[0131] The drawings illustrating the various embodiments of this disclosure are semi-illustrative and not intended for scaling, and some of the dimensions, in particular, are exaggerated in the drawings for clarity of presentation. Similarly, the views in the drawings generally show similar orientations for ease of explanation, but this depiction in the drawings is largely arbitrary. In general, the various embodiments of this disclosure can be operated in any orientation.

[0132] Several sections with detailed descriptions are presented in terms of procedures, logical blocks, processes, and other symbolic representations of operations on data bits in computer memory. These descriptions and representations are used by those skilled in the data processing technology to effectively communicate the substance of the work to others skilled in the art.

[0133] In this disclosure, a procedure, logical block, process, or similar is considered to be a coherent sequence of actions or instructions that lead to a desired result. Actions utilize the physical manipulation of physical quantities. These quantities are usually, but not always, in the form of electrical or magnetic signals that are stored, transferred, combined, compared, and otherwise manipulated in a computing system. It has sometimes been convenient, primarily for common use, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or similar.

[0134] Nevertheless, it should be kept in mind that all of these and similar terms will be associated with appropriate physical quantities and are merely convenient labels applied to those quantities. Unless otherwise specifically stated as evident from the following discussion, any discussion throughout this disclosure using terms such as “generating,” “determining,” “allocating,” “aggregating,” “utilizing,” “virtualizing,” “processing,” “accessing,” “executing,” “storing,” or similar is understood to refer to the actions and processes of a computer system or similar electronic computing device or processor.

[0135] A computing system, or a similar electronic computing device or processor, manipulates data represented as physical (electronic) quantities in computer system memory, registers, other such information storage, and / or other computer-readable media, and converts it into other data similarly represented as physical quantities in computer system memory or registers, or other such information storage, transmission, or display devices.

[0136] The technical solutions in the embodiments of this application have been clearly and fully described in the previous sections with reference to the drawings of the embodiments of this application. It should be noted that the terms “first,” “second,” and similar terms in the description and claims of the invention and in the drawings above are used to distinguish similar objects and are not necessarily used to describe a specific sequence or order. It should be understood that these numbers may be replaced where appropriate so that the embodiments of the invention described herein may be carried out in an order other than that illustrated or described herein.

[0137] The functions described in the method of this embodiment may be implemented in the form of a software function unit and, when sold or used as a standalone product, may be stored in a computing device-readable storage medium. Based on this understanding, parts of embodiments or technical solutions of this application that contribute to the prior art may be embodied in the form of a software product stored in a storage medium, which includes a set of instructions for causing a computing device (which may be a personal computer, server, mobile computing device, or network device, etc.) to perform all or part of the steps of the method of various embodiments of this application. The aforementioned storage mediums include USB drives, portable hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and the like, which are capable of storing program code.

[0138] The various embodiments described in the specification of this application are described step by step, with each embodiment emphasizing the differences from other embodiments, and any identical or similar parts between the various embodiments may be referenced to other cases. The embodiments described are not all of the embodiments of this application, but only a selection of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without departing from the skill of the invention are within the scope of this application.

[0139] The above description of the embodiments disclosed will enable those skilled in the art to draft or use this application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Thus, this application is not limited to the embodiments shown herein, and the broadest scope corresponds to the principles and novel features disclosed herein. [Item of the invention] [Item 1] Steps to pass frames of data at a certain frame rate across one or more optical fiber cables, each having two or more physical fibers. Includes, When the frame rate of the frame of data is greater than the maximum frame rate of the first physical fiber in the optical fiber cable, the step of passing is, Passing a first number of frames of data through the first physical fiber at a first data rate less than or equal to the maximum data rate of the first physical fiber, and Passing a second number of frames of data through the second physical fiber at a second data rate less than or equal to the maximum data rate of the second physical fiber. Includes, When the frame rate of the frame of data is less than or equal to the frame rate of the first physical fiber in the optical fiber cable, the step of passing is: Passing the pairs of data frames sequentially through the first physical fiber such that each pair of frames contains data from multiple sources. A method for forming a virtual network, including [the specified element]. [Item 2] A method for forming a virtual network as described in item 1, further comprising the step of generating the frames of data that will be passed across the optical fiber cable. [Item 3] The step of generating the aforementioned frame of data is Receiving data frames from the source device at a frame rate greater than the maximum frame rate, and forming post-reception frames, The received frames and frame rates of data exceeding the maximum frame rate are divided into a first number of received frames having a first data rate less than or equal to the maximum data rate of the first physical fiber, and a second number of received frames having a second data rate less than or equal to the maximum data rate of the second physical fiber. A method for forming the virtual network described in item 2, including the method described in item 2. [Item 4] The step of generating the aforementioned frame of data is Determining the remote device from the frame after receiving the data, Determining a virtual exit device from the aforementioned remote device, The data is first encapsulated in the post-receive frame to form a first encapsulated frame having a header that identifies the virtual exit device. A method for forming the virtual network described in item 3, further including the method described in item 3. [Item 5] The step of generating the aforementioned frame of data is Determining the virtual exit device from the first encapsulation frame, Determining the first hop device from the aforementioned virtual exit device, The first encapsulation frame is subjected to a second encapsulation to form a second encapsulation frame having a header that identifies the first hop device. A method for forming the virtual network described in item 4, further including the method described in item 4. [Item 6] The steps include receiving the frame of data that has been passed across the optical fiber cable, The steps include decompressing the second encapsulated frame and extracting the first encapsulated frame and the identification information of the virtual exit device, The steps include determining whether the first hop device is the virtual exit device, When the first hop device is the virtual exit device, the steps include decompressing the first encapsulated frame and extracting the post-received frame of the data, When the first hop device is not the virtual exit device, the next hop device is determined from the identification information of the virtual exit device. A method for forming the virtual network described in item 5, further including the method described in item 5. [Item 7] When the next hop device is a virtual transfer device, the steps include encapsulating the first encapsulation frame to form a third encapsulation frame having a header that identifies the virtual transfer hop device, When the next hop device is a network-to-network interface device, the steps include: transferring the first encapsulated frame to the network-to-network interface device; A method for forming the virtual network described in item 6, further including the following: [Item 8] The step of generating the aforementioned frame of data is Receiving a first frame of data from a first source at a first frame rate, and a second frame of data from a second source at a second frame rate, The data from the first frame from the first source is combined with the data from the second frame from the second source to form a combined data frame. A method for forming the virtual network described in item 2, including the method described in item 2. [Item 9] The step of generating the aforementioned frame of data is Determining a remote device from the first frame from the first source, Determining a virtual exit device from the aforementioned remote device, The data is first encapsulated in the combined frame to form a first encapsulated frame having a header that identifies the virtual exit device. A method for forming the virtual network described in item 8, further including the method described in item 8. [Item 10] The step of generating the aforementioned frame of data is Determining the virtual exit device from the first encapsulation frame, Determining the first hop device from the aforementioned virtual exit device, The first encapsulation frame is subjected to a second encapsulation to form a second encapsulation frame having a header that identifies the first hop device. A method for forming the virtual network described in item 9, further including the method described in item 9. [Item 11] The steps include receiving the frame of data that has been passed across the optical fiber cable, The steps include decompressing the second encapsulated frame and extracting the first encapsulated frame and the identification information of the virtual exit device, The steps include determining whether the first hop device is the virtual exit device, When the first hop device is the virtual exit device, the steps include decompressing the first encapsulated frame and extracting the combined frame of data, When the first hop device is not the virtual exit device, the next hop device is determined from the identification information of the virtual exit device. A method for forming the virtual network described in item 10, further including the method described in item 10. [Item 12] When the next hop device is a virtual transfer device, the steps include encapsulating the first encapsulation frame to form a third encapsulation frame having a header that identifies the virtual transfer hop device, When the next hop device is a network-to-network interface device, the steps include: transferring the first encapsulated frame to the network-to-network interface device; A method for forming the virtual network described in item 11, further including the method described in item 11. [Item 13] The step of generating the aforementioned frame of data is Receiving a first frame of data from a first source at a first frame rate, and a second frame of data from a second source at a second frame rate, Determining the remote device from the first frame of data from the aforementioned first source, Determining a virtual exit device from the aforementioned remote device, Encapsulating a first frame of data from the first source to form a first encapsulated frame having a header that identifies the virtual exit device, Encapsulating a second frame of data from the second source to form a second encapsulated frame having a header that identifies the virtual exit device, A method for forming the virtual network described in item 2, including the method described in item 2. [Item 14] The step of generating the aforementioned frame of data is Determining the virtual exit device from the first encapsulation frame, Determining the first hop device from the aforementioned virtual exit device, The first encapsulation frame is encapsulated to form a third encapsulation frame having a header that identifies the first hop device, The second encapsulation frame is encapsulated to form a fourth encapsulation frame having a header that identifies the first hop device. A method for forming the virtual network described in item 13, further including the method described in item 13. [Item 15] A method for forming a virtual network according to item 14, wherein the step of generating the frames of data further comprises outputting a number of the third encapsulated frames and a number of the fourth encapsulated frames such that the combined frame rate of the third encapsulated frame and the fourth encapsulated frame is less than or equal to the maximum frame rate of the first fiber. [Item 16] The steps include receiving the frame of data that has been passed across the optical fiber cable, The steps include decompressing the third encapsulated frame and extracting the first encapsulated frame and the identification information of the virtual exit device, The steps include determining whether the first hop device is the virtual exit device, When the first hop device is the virtual exit device, the steps include decompressing the first encapsulated frame and extracting the first frame of data from the first source, When the first hop device is not the virtual exit device, the next hop device is determined from the identification information of the virtual exit device. When the next hop device is a virtual transfer device, the steps include encapsulating the first encapsulation frame to form a fifth encapsulation frame having a header that identifies the virtual transfer hop device, When the next hop device is a network-to-network interface device, the steps include: transferring the first encapsulated frame to the network-to-network interface device; A method for forming the virtual network described in item 15, further including the method described in item 15. [Item 17] During the test, the steps include generating a test frame having a header that identifies a virtual exit device, and transmitting the test frame to the virtual exit device during the test, and The steps of receiving the test frame, decompressing the test frame, and determining one or more status criteria from the decompressed test frame. A method for forming the virtual network described in item 2, further including the method described in item 2. [Item 18] A receiving physical port that receives the second encapsulated frame, The transmission physical port that will be connected to the next hop device, The alternative physical port that will be connected to the alternative hop device, A virtual port connected to the receiving physical port, the transmitting physical port, and the alternative physical port, Receiving the second encapsulated frame from the receiving physical port, To determine whether the current device is the last hop device, If the current device is not the last hop device, decompress the second encapsulation frame and extract the first encapsulation frame. Extracting the identifier of the virtual exit device from the first encapsulated frame, To determine the next hop device and alternative hop device from the aforementioned identifier, Determining whether the transmission physical port can accept transfer frames, When the aforementioned transmission physical port is capable of receiving transfer frames, The first encapsulation frame is encapsulated to form a third encapsulation frame, wherein the third encapsulation frame has a header that identifies the next hop device. Transferring the third encapsulated frame to the aforementioned transmission physical port, and When the aforementioned transmission physical port is unable to accept a transfer frame, it is determined whether the alternative physical port can accept a transfer frame. To do this, a virtual port and A virtual transfer device equipped with the necessary components. [Item 19] The steps include receiving a second encapsulation frame, The steps include: decompressing the second encapsulation frame and extracting the first encapsulation frame; The steps include extracting the identifier of a virtual exit device from the first encapsulated frame, The steps include determining the next hop device and alternative hop devices from the identifier, The steps include determining whether the transmission physical port connected to the next hop device is capable of accepting a transfer frame, When the transmission physical port connected to the next hop device is capable of receiving a transfer frame, A step of encapsulating the first encapsulation frame to form a third encapsulation frame, wherein the third encapsulation frame has a header that identifies the next hop device. The steps include transferring the third encapsulated frame to the transmission physical port connected to the next hop device, When the transmission physical port connected to the next hop device is unable to accept a transfer frame, the step of determining whether the transmission physical port connected to the alternative hop device is able to accept a transfer frame. The operation method of a virtual transfer device, including [the following]. [Item 20] A non-temporary computer-readable storage medium in which program instructions are embedded, wherein when the program instructions are executed by a processor, the processor causes the processor to execute a method for operating a virtual transfer device, and the method for operating the device Receiving a second encapsulation frame, The process involves decompressing the second encapsulated frame and extracting the first encapsulated frame, Extracting the identifier of the virtual exit device from the first encapsulated frame, The next hop device and alternative hop device are determined from the aforementioned identifier, Determining whether the transmission physical port connected to the next hop device can accept a transfer frame, When the transmission physical port connected to the next hop device is capable of receiving a transfer frame, The first encapsulation frame is encapsulated to form a third encapsulation frame, wherein the third encapsulation frame has a header that identifies the next hop device. Transferring the third encapsulated frame to the transmission physical port connected to the next hop device, When the transmission physical port connected to the next hop device is unable to accept a transfer frame, it is determined whether the transmission physical port connected to the alternative hop device is able to accept a transfer frame. Non-temporary computer-readable storage media, including [specific type of storage medium].

Claims

[Claim 1] A virtual entry device (VED, 270), A local physical port (210) for receiving multiple input frames from multiple sources (STB, PC, VID) at multiple undefined data rates, A framing circuit (272) coupled to the local physical port, A network physical port (216) connected to the framing circuit via a transmission virtual port (vPORTa1) for transmitting frames at a predetermined fixed data rate, Equipped with, The framing circuit includes a coupler (274) configured to combine data from the plurality of input frames received from the plurality of sources to form a combined frame (paragraphs [0060], [0063]), The coupler is configured to output the coupled frame at a data rate less than or equal to the predetermined fixed data rate of the network physical port (paragraph [0063]), The framing circuit described above is The combined frame is further configured to encapsulate the combined frame to form a first encapsulated frame having a header that identifies a virtual exit device (VXD) (paragraph [0067]), The aforementioned transmission virtual port, The first encapsulation frame is further encapsulated to form a second encapsulation frame having a header that identifies the first hop device (paragraph [0068]), The second encapsulated frame is forwarded to the network physical port for transmission (paragraph [0068]). A virtual entry device configured in this way.