US-12627523-B2 - Selective forwarding, prioritization, and queueing by edge devices
Abstract
A method of selectively forwarding data transmissions to a wide area network includes receiving, from at least one local device and by a network device interposed between the at least one local device and the wide area network, first and second data transmissions intended for first and second destination addresses, respectively, accessible through the wide area network, detecting that a connection between the network device and the wide area network has been interrupted, storing the first data transmission and the second data transmission to a storage device electronically connected to the network device, and detecting that the connection has been restored. The method further includes generating a forwarding order by analyzing the first data transmission and the second data transmission using a forwarding rules engine, the forwarding order describing an order in which to transmit the first data transmission and the second data transmission.
Inventors
- Benjamin Kotvis
- Marc Brumfield
Assignees
- INSIGHT DIRECT USA, INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20230706
Claims (20)
- 1 . A method of selectively forwarding data transmissions to a wide area network, the method comprising: receiving, from at least one local device and by a network device interposed between the at least one local device and the wide area network, a first data transmission directed to a first destination address accessible through the wide area network; receiving, from the at least one local device and by the network device, a second data transmission directed to a second destination address accessible through the wide area network; detecting, by the network device, that a connection between the network device and the wide area network has been interrupted; storing, after detecting that the connection has been interrupted, the first data transmission and the second data transmission to a storage device electronically connected to the network device; detecting, by the network device and after storing the first data transmission and the second data transmission, that the connection has been restored; generating, by the network device and after detecting that the connection has been restored, a forwarding order by analyzing the first data transmission and the second data transmission using a forwarding rules engine, the forwarding order describing an order in which to transmit the first data transmission and the second data transmission; and transmitting, after generating the forwarding order, the first data transmission from the storage device to the first destination address and the second data transmission from the storage device to the second destination address according to the forwarding order.
- 2 . The method of claim 1 , wherein transmitting the first data transmission and the second data transmission comprises: transmitting a copy of the first data transmission from the storage device to the first destination address; deleting the first data transmission from the storage device after transmitting the copy of the first data transmission; transmitting a copy of the second data transmission from the storage device to the second destination address; and deleting the second data transmission from the storage device after transmitting the copy of the second data transmission.
- 3 . The method of claim 1 , wherein transmitting the first data transmission and the second data transmission comprises: retrieving, by the network device, the first data transmission from the storage device; transmitting, by the network device, the retrieved first data transmission to the first destination address; retrieving, by the network device, the second data transmission from the storage device; and transmitting, by the network device, the retrieved second data transmission to the second destination address.
- 4 . The method of claim 3 , wherein: retrieving the first data transmission from the storage device comprises requesting, by the network device, a copy of the first data transmission from the storage device; transmitting the retrieved first data transmission comprises transmitting the copy of the first data transmission to the first destination address; retrieving the second data transmission from the storage device comprises requesting, by the network device, a copy of the second data transmission from the storage device; and transmitting the retrieved second data transmission comprises transmitting the copy of the second data transmission to second destination address, and further comprising deleting the first data transmission from the storage device after requesting the copy of the first data transmission and deleting the second data transmission from the storage device after requesting the copy of the second data transmission.
- 5 . The method of claim 4 , and further comprising: receiving, by the network device and after transmitting the first data transmission, a first response from the first destination address; forwarding, by the network device, the first response to the at least one local device; receiving, by the network device and after transmitting the second data transmission, a second response from the second destination address; and forwarding, by the network device, the second response to the at least one local device.
- 6 . The method of claim 1 , wherein analyzing the data transmission using the forwarding rules engine comprises analyzing a first domain of the first destination address and analyzing a second domain of the second destination address.
- 7 . The method of claim 1 , wherein analyzing the first data transmission and the second data transmission using the forwarding rules engine comprises analyzing a network address of the at least one local device.
- 8 . The method of claim 1 , wherein analyzing the first data transmission and the second data transmission using the forwarding rules engine comprises: inspecting the first data transmission to identify a first data type; inspecting the second data transmission to identify a second data type; and analyzing the data type using the forwarding rules engine to generate a forwarding order.
- 9 . The method of claim 1 , wherein the at least one of the first data transmission and the second data transmission comprises a request for data.
- 10 . The method of claim 1 , wherein: at least one of the first destination address and the second destination address corresponds to a network-accessible database; and a corresponding at least one of the first data transmission and the second data transmission comprises an outbound data transfer to the network-accessible database.
- 11 . The method of claim 1 , wherein: at least one of the first destination address and the second destination address corresponds to a network-connected compute unit configured to perform one or more computational operations; and a corresponding at least one of the first data transmission and the second data transmission comprises a request to perform the one or more computational operations.
- 12 . The method of claim 1 , wherein at least one of the first data transmission and the second data transmission comprises data from at least one of an augmented reality device and a virtual reality device.
- 13 . The method of claim 1 , wherein analyzing the first data transmission and the second data transmission using the forwarding rules engine comprises analyzing the first data transmission and the second data transmission using a computer-implemented machine learning model trained to: accept, as inputs, data transmissions; and output the forwarding order.
- 14 . The method of claim 1 , wherein the first destination address and the second destination address are different.
- 15 . The method of claim 1 , wherein analyzing the first data transmission and the second data transmission comprises analyzing at least one of a file size of the at least one of the first data transmission and the second data transmission, a data type of the at least one of the first data transmission and the second data transmission, and a content of the at least one of the first data transmission and the second data transmission.
- 16 . The method of claim 11 , wherein generating the forwarding order comprises analyzing a property of the connection.
- 17 . A system comprising: a network device connected to at least one local device and to a wide area network, wherein the network device is interposed between the at least one local device and the wide area network, and the at least one local device is configured to transmit data to at least one destination address accessible through the wide area network, the network device configured to receive data transmissions from the at least one local device and to selectively forward data transmissions to destination addresses accessible through the wide area network, the network device comprising: a processor; and at least one memory encoded with instructions that, when executed cause the processor to: receive a first data transmission from the at least one local device, the first data transmission directed for a first destination address accessible through the wide area network; receive a second data transmission from the at least one local device, the second data transmission directed for a second destination address accessible through the wide area network; detect that a connection between the network device and the wide area network has been interrupted; store the first data transmission and the second data transmission to a storage device electronically connected to the network device in response to detecting that a connection between the network device and the wide area network has been interrupted; detect, after storing the first data transmission and the second data transmission, that the connection has been restored; analyze, in response to detecting that the connection has been restored, the first data transmission and the second data transmission using a forwarding rules engine to generate a forwarding order, the forwarding order describing an order in which to transmit the first data transmission and the second data; and transmit the first data transmission from the storage device to the first destination address and the second data from the storage device to the second destination address according to the forwarding order.
- 18 . The system of claim 17 , wherein the instructions, when executed, cause the processor to generate the forwarding order by analyzing, using the forwarding rules engine, at least one of a file size of the first data transmission, a data type of the first data transmission, a content of the first data transmission, a domain of the first destination address, a network address of the at least one local device, a file size of the second data transmission, a data type of the second data transmission, a content of the second data transmission, and a domain of the second destination address.
- 19 . The system of claim 17 , wherein instructions, when executed, cause the processor to wherein generate the forwarding order by analyzing a property of the connection.
- 20 . The system of claim 17 , wherein the first destination address and the second destination address are different.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S) The present application claims priority to U.S. provisional patent application Ser. No. 63/457,666 by Benjamin Kotvis, filed Apr. 6, 2023 and entitled “SELECTIVE FORWARDING, PRIORITIZATION, AND QUEUEING BY EDGE DEVICES.” FIELD OF THE INVENTION The present disclosure relates to network systems and, more particularly, systems and methods for selectively forwarding data transmissions from a local network to a wide area network (WAN). BACKGROUND Devices connected to a local network often access resources hosted by servers and other devices connected to another network, such as a WAN. Interruptions to the connection between the local network and the outside network can disrupt functions of devices connected to the local network that are dependent on resources hosted on the outside network. SUMMARY An example of a method of selectively forwarding data transmissions to a wide area network includes receiving, from at least one local device and by a network device interposed between the at least one local device and the wide area network, a first data transmission intended for a first destination address accessible through the wide area network and a second data transmission intended for a second destination address accessible through the wide area network, detecting that a connection between the network device and the wide area network has been interrupted, storing the first data transmission and the second data transmission to a storage device electronically connected to the network device, and detecting that the connection has been restored. The first data transmission and second data transmission are stored after detecting that the connection has been interrupted, and the network device detects that the connection has been restored after storing the first data transmission and the second data transmission. The method further includes generating, by the network device and after detecting that the connection has been restored, a forwarding order by analyzing the first data transmission and the second data transmission using a forwarding rules engine, the forwarding order describing an order in which to transmit the first data transmission and the second data transmission. After generating the forwarding order, the first data transmission is transmitted from the storage device to the first destination address and the second data transmission is transmitted from the storage device to the second destination address. The first data transmission and the second data transmission are transmitted according to the forwarding order. An example of a system includes a network device connected to a local device and to a wide area network. The local device is configured to transmit data to at least one destination address accessible through the wide area network. The network device is configured to receive data transmissions from the local device and to selectively forward data transmissions to destination addresses accessible through the wide area network, and includes a processor and memory. The memory is encoded with instructions that, when executed, cause the processor to receive, from the at least one local device, a first data transmission directed to a first destination address accessible through the wide area network and a second data transmission directed to a second destination address accessible through the wide area network. The instructions further cause the processor to detect that a connection between the network device and the wide area network has been interrupted, store the first data transmission and the second data transmission to a storage device electronically connected to the network device in response to detecting that a connection between the network device and the wide area network has been interrupted, detect, that the connection has been restored, after storing the first data transmission and the second data transmission, and analyze, in response to detecting that the connection has been restored, the first data transmission and the second data transmission using a forwarding rules engine to generate a forwarding order, the forwarding order describing an order in which to transmit the first data transmission and the second data. The instructions cause the processor to transmit, after generating the forwarding order, the first data transmission from the storage device to the first destination address and the second data from the storage device to the second destination address according to the forwarding order. The present summary is provided only by way of example, and not limitation. Other aspects of the present disclosure will be appreciated in view of the entirety of the present disclosure, including the entire text, claims, and accompanying figures. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic view of an example of a system for data transmission queueing and prioritization. FIG. 2 is a schematic view of a further example of a system for data tr