SYSTEMS AND METHODS FOR ADAPTIVE LOAD BALANCED COMMUNICATIONS, ROUTING, FILTERING, AND ACCESS CONTROL IN DISTRIBUTED NETWORKS
First Claim
1. A digital network communication system, the system comprising:
- a communication layer component that is configured to manage transmission of data packets among a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing devices, the communication layer component comprising a physical computing device configured to;
receive, from a computing node, one or more data packets to be transmitted via one or more network data links;
estimate a latency value for at least one of the one or more network data links;
estimate a bandwidth value for at least one of the one or more network data links;
determine an order of transmitting the data packets;
identify at least one of the one or more network data links for transmitting the data packets based at least partly on the estimated latency value or the estimated bandwidth value; and
send the data packets over the identified at least one of the network data links based at least partly on the determined order.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosure provides examples of systems and methods for adaptive load balancing, prioritization, bandwidth reservation, and/or routing in a network communication system. In various embodiments, the disclosed methods can provide reliable multi-path load-balancing, overflow, and/or failover services for routing over a variety of network types. In some embodiments, disconnected routes can be rebuilt by selecting feasible connections. The disclosure also provides examples of methods for filtering information in peer-to-peer network connections and assigning permission levels to nodes in peer-to-peer network connections. Certain embodiments described herein may be applicable to mobile, low-powered, and/or complex sensor systems.
152 Citations
28 Claims
-
1. A digital network communication system, the system comprising:
a communication layer component that is configured to manage transmission of data packets among a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing devices, the communication layer component comprising a physical computing device configured to; receive, from a computing node, one or more data packets to be transmitted via one or more network data links; estimate a latency value for at least one of the one or more network data links; estimate a bandwidth value for at least one of the one or more network data links; determine an order of transmitting the data packets; identify at least one of the one or more network data links for transmitting the data packets based at least partly on the estimated latency value or the estimated bandwidth value; and send the data packets over the identified at least one of the network data links based at least partly on the determined order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A digital network communication system, the system comprising:
a communication layer component that is configured to manage transmission of data packets among a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing devices, the communication layer component comprising a physical computing device configured to; assign a priority value to each of the data packets; calculate an estimated amount of time a data packet will stay in a queue for a network data link by accumulating a wait time associated with each data packet in the queue with a priority value higher than or equal to the priority value of the data packet that will stay in the queue; and calculate an estimated wait time for the priority value, wherein the estimated wait time is based at least partly on an amount of queued data packets of the priority value and an effective bandwidth for the priority value, wherein the effective bandwidth for the priority value is based at least partly on a current bandwidth estimate for the network data link and a rate with which data packets associated with a priority value that is higher than the priority value are being inserted to the queue. - View Dependent Claims (17, 18, 19, 20)
-
21. A digital network communication system, the system comprising:
a communication layer component that is configured to manage transmission of data packets among a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing devices, the communication layer component comprising a physical computing device configured to; create a queue for each of a plurality of reserved bandwidth streams; add data packets that cannot be transmitted immediately and are assigned to a reserved bandwidth stream to the queue for the stream; create a ready-to-send priority queue for ready-to-send queues; create a waiting-for-bandwidth priority queue for waiting-for-bandwidth queues; move all queues in the waiting for bandwidth priority queue with a ready-time less than a current time into the ready to send priority queue; select a queue with higher priority than all other queues in the ready to send priority queue; and remove and transmit a first data packet in the queue with higher priority than all other queues in the ready to send priority queue. - View Dependent Claims (22)
-
23. A method for managing a queue of data items for processing, the method comprising:
under control of a physical computing device having a communication layer that provides communication control for a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing devices; determining whether the queue of data items is empty; adding a new data item to the queue of data items; removing a data item from the queue for processing; and removing a data item from the queue without processing the data item, wherein removing the data item from the queue without processing further comprises selecting the data item based at least partly on a probability function of time. - View Dependent Claims (24, 25, 26, 27, 28)
Specification