H04L12/819

Battery efficient synchronization of communications using a token bucket

Systems and methods for email synchronization may include a computing device with a token bucket. The token bucket allows for temporary storage of tokens, each token authorizing a synchronization of at least one email application running on the computing device. The device may determine a frequency of received email communications associated with an email account managed by the at least one email application and hosted by an email server. The determining may be based on one or more characteristics associated with the token bucket. The determined frequency may be compared with a threshold value. When the determined frequency is equal to or lower than the threshold value, a push communication channel may be established with the email server, the push communication channel for receiving server-initiated email push communications. The at least one email application may be synchronized with the email account by receiving push communications using the push communication channel.

Time efficient counters and meters architecture

A meter module for use in a network device comprises conformance circuitry configured to: access a first memory device storing a conformance indicator that indicates whether a permitted rate of packet traffic has been exceeded, and classify packets received at the network device based at least in part on the conformance indicator. Sampling circuitry is configured to, responsively to the conformance circuitry classifying the packets: sample events associated with at least some of the received packets, and generate indicators of the sampled events. Update circuitry is configured to: access a second memory device, slower than the first memory, to update a number of tokens stored in the second memory device, and access the first memory device to update the conformance indicator when the updated number of tokens indicates that the permitted rate of packet traffic has been exceeded.

MULTICAST TO UNICAST CONVERSION TECHNIQUE
20190190735 · 2019-06-20 · ·

A technique allows stations to utilize an equal share of resources (e.g., airtime or throughput). This prevents slow stations from consuming too many resources (e.g., using up too much air time). Fairness is ensured by selective dropping after a multicast packet is converted to unicast. This prevents slow stations from using more than their share of buffer resources. Multicast conversion aware back-pressure into the network layer can be used to prevent unnecessary dropping of packets after multicast to unicast (1:n) conversion by considering duplicated transmit buffers. This technique helps achieve airtime/resource fairness among stations.

Dynamic Congestion Management
20190173792 · 2019-06-06 ·

Methods and systems for dynamic congestion management in communications networks that advantageously provides a satisfactory Quality of Experience (QoE) of real time communication for network users. Congestion management is achieved wherein an ingress interface is monitored by a data processing system and when utilization of that interface exceeds a first activation level a message is sent to a second data processing system wherein that second data processing system is a source for at least some of data packets traversing the ingress interface, wherein the first message indicates that traffic shaping is to occur in accordance with the first activation level and only if the utilization falls below a deactivation level, transmitting a second message to the second data processing system wherein the second message indicates that traffic shaping is to stop.

NETWORK DEVICE HAVING FLEXIBLE RATE LIMITER
20190173798 · 2019-06-06 ·

A network device for a communications network includes a port configured to transmit data to the network at a maximum transmit data rate. The device also includes a transmit buffer configured to buffer data units that are ready for transmission to the network, and a packet buffer configured to buffer data units before the data units are ready for transmission. The packet buffer is configured to output data units at a maximum packet buffer transmission rate faster than the maximum transmit data rate. The device includes a rate controller configured to control a transmission rate of data from the packet buffer to the transmit buffer so that averaged over a period, the transmission rate from the packet buffer to the transmit buffer is at most equal to the maximum transmit data rate, while allowing the transmission rate, at one or more time intervals, to exceed the maximum transmit data rate.

Multicore bus architecture with non-blocking high performance transaction credit system

This invention is a bus communication protocol. A master device stores bus credits. The master device may transmit a bus transaction only if it holds sufficient number and type of bus credits. Upon transmission, the master device decrements the number of stored bus credits. The bus credits correspond to resources on a slave device for receiving bus transactions. The slave device must receive the bus transaction if accompanied by the proper credits. The slave device services the transaction. The slave device then transmits a credit return. The master device adds the corresponding number and types of credits to the stored amount. The slave device is ready to accept another bus transaction and the master device is re-enabled to initiate the bus transaction. In many types of interactions a bus agent may act as both master and slave depending upon the state of the process.

LATENCY INCREASE ESTIMATED RATE LIMITER ADJUSTMENT
20190158371 · 2019-05-23 ·

The technology described herein is directed to configuring the rate limiters of network devices based on latency measurements. The rate limiters are configured based on latency measurements such that the network traffic is transmitted and/or received at a maximum possible rate while minimizing/preventing the loss of traffic prioritization. To this end, a latency increase, estimated rate decrease algorithm may be implemented whereby the percentage rate reduction of a rate limiter is based on the rate of increase in inbound latency or outbound latency measured over a predetermined period of time (e.g., over a predetermined number of latency measurements). Depending on the change of inbound latency or outbound latency of traffic on the network, a receive rate limiter or a transmit rate limiter of an edge device may be dynamically adjusted.

SHAPING OF POST-SCHEDULING NETWORK PIPELINE JITTER

Apparatuses and methods for managing jitter resulting from processing through a network interface pipeline are disclosed. In embodiments, a network traffic scheduler annotates packets to be transmitted over a bandwidth-limited network connection with time relationship information to ensure downstream bandwidth limitations are not violated. Following processing through a network interface pipeline, a jitter shaper inspects the annotated time relationship information and pipeline-imposed delays and, by imposing a variable delay, reestablishes bandwidth-complaint time relationships based upon the annotated time relationship information and configured tolerances.

Token bucket flow-rate limiter

A token bucket flow rate limiter is provided for a data transmission, comprising a token counter configured to be incremented at a rate determining the average flow rate of the transmission; a frequency divider connected to control incrementing of the token counter from a clock, the divider having an integer division factor; and a modulator configured to alternate the division factor between two different integers so as to make the resulting average flow rate tend to a programmed flow rate comprised between two boundary flow rates respectively corresponding to the two integers.

Rate limiters and methods for rate limiting access to a resource
10243868 · 2019-03-26 · ·

A network device and method of constraining a client's access to a packet memory of a network device are provided. A packet memory is configured to store packets, and a client is configured to access the packet memory based on the client receiving a credit. A rate limiter is configured to grant credits to the client according to a configurable threshold. The configurable threshold comprises a sum of an integer component and a fraction component, and the sum defines an average rate at which the credits are granted to the client by the rate limiter. A network port is configured to receive packets from the client.