Patent classifications
H04L47/622
MULTIPLE-SPEED MESSAGE CHANNEL OF MESSAGING SYSTEM
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving from a plurality of publishers messages of a first channel of a plurality of distinct channels wherein each channel comprises an ordered plurality of messages, storing messages of the first channel in one or more first buffers according to the order, each first buffer having a respective time-to-live, for one or more connections, determining a respective sampling rate based on a data type of the first channel and a determined latency of the connection, receiving from a subscriber through a first connection a request for messages of the first channel, selecting messages in the first buffers according to the order and the sampling rate, and sending the selected messages using the first connection to the subscriber according to the order.
SERVER DELAY CONTROL SYSTEM, SERVER DELAY CONTROL DEVICE, SERVER DELAY CONTROL METHOD, AND, PROGRAM
Provided is a server delay control system for performing, on a server including a Host OS, packet transfer between a physical NIC connected to the Host OS and an application deployed in a user space. A server delay control device configured to perform polling for packet transfer on behalf of the application is deployed in the user space. The server delay control device creates, between the application and the physical NIC, a communication path for communication via socket communication. The communication path includes a first queue and a second queue. The server delay control device includes: a packet dequeuer configured to poll whether a packet has been enqueued into the first queue and to dequeue the enqueued packet from the first queue; and a packet enqueuer configured to enqueue the dequeued packet into the second queue in the same context as the polling and dequeuing without causing a context switch.
MESSAGE ORDERING BUFFER
The disclosed embodiments, collectively referred to as the “Message Ordering Buffer” or “MOB”, relate to an improved messaging platform, or processing system, which may also be referred to as a message processing architecture or platform, which routes messages from a publisher to a subscriber ensuring related messages, e.g., ordered messages, are conveyed to a single recipient, e.g., processing thread, without unnecessarily committing resources of the architecture to that recipient or otherwise preventing message transmission to other recipients. The disclosed embodiments further include additional features which improve efficient and facilitate deployment in different application environments. The disclosed embodiments may be deployed as a message oriented middleware component directly installed, or accessed as a service, and accessed by publishers and subscribers, as described herein, so as to electronically exchange messages therebetween.
Messaging system failover
A device receives a notification indicating a failure of a first server device responsible for a primary message queue that includes messages at a time of the failure. A second server device is responsible for a standby message queue to which the messages are replicated, where a position in the standby message queue and a message time are assigned to each of the replicated messages. The device obtains a record time that identifies the message time of one of the messages that was last obtained from the primary message queue prior to the failure, compares an adjusted record time and the message time of one or more of the messages of the standby message queue to determine a starting position in the standby message queue, and processes messages obtained from the standby message queue beginning at one of the messages assigned to the position that matches the starting position.
TRAFFIC-SHAPING HTTP PROXY FOR DENIAL-OF-SERVICE PROTECTION
In accordance with some aspects of the present disclosure, an apparatus is disclosed. In some embodiments, the apparatus includes a processor and a memory. In some embodiments, the memory includes programmed instructions that, when executed by the processor, cause the apparatus to receive a request from a client; determine family of metrics; schedule the request based on the family of metrics; and in response to satisfying one or more scheduling criteria, send the request to a backend server.
Packet control method, flow table update method, and node device
A packet control method, a flow table update method, and a node device including a first queue and a second queue, where the method includes: obtaining, by the node device, a first packet; determining, by the node device, that a data flow to which the first packet belongs is marked as an isolated flow; and if the first queue and/or the second queue meet and/or meets a first preset condition, controlling, by the node device, the first packet to enter the first queue and wait to be scheduled; or if the first queue and/or the second queue meet and/or meets a second preset condition, controlling, by the node device, the first packet to enter the second queue and wait to be scheduled.
Methods and apparatuses for packet scheduling for software-defined networking in edge computing environment
Provided are methods and apparatuses for packet scheduling for software-defined networking in an edge computing environment. A packet scheduling method according to an exemplary embodiment of the present disclosure comprises: receiving packets arriving at a queue connected to a switch in a software-defined network in an edge computing environment; moving the packets in the queue forward one position based on the order of arrival each time a packet is served by the switch; and if a new packet enters the switch while the buffer in the queue is full, pushing out the packet at the front and putting the new packet at the end of the queue.
Dynamic resource allocation aided by reinforcement learning
A communication system in which DRA control is aided by RL. An example embodiment may control one or more buffer queues populated by downstream and/or upstream data streams. The egress rates of the buffer queues can be dynamically controlled using an RL technique, according to which a learning agent can adaptively change the state-to-action mapping function of the DRA controller while circumventing the RL exploration phase and relying on extrapolation of the already taken actions instead. This feature may result in at least two benefits: (i) cancellation of a performance penalty typically associated with RL exploration; and (ii) faster learning of the environment, as the learning agent can determine the performance metrics of many actions per state in a single occurrence of the state. In an example embodiment, the communication system may be a DSL system, a PON system, or a wireless communication system.
SYSTEM AND METHOD FOR FACILITATING DYNAMIC TRIGGERED OPERATION MANAGEMENT IN A NETWORK INTERFACE CONTROLLER (NIC)
A system for facilitating efficient command management in a network interface controller (NIC) is provided. During operation, the system can determine, at the NIC, a trigger condition and a location in a command queue for a set of commands corresponding to the trigger condition. The command queue can be external to the NIC. The location can correspond to an end of the set of commands in the command queue. The system can then determine, at the NIC, whether the trigger condition has been satisfied. If the trigger condition is satisfied, the system can fetch a respective command of the set of commands from the command queue and issuing the command from the NIC until the location is reached, thereby bypassing locally storing the set of commands prior to the trigger condition being satisfied.
System and method for facilitating dynamic triggered operation management in a network interface controller (NIC)
A system for facilitating efficient command management in a network interface controller (NIC) is provided. During operation, the system can determine, at the NIC, a trigger condition and a location in a command queue for a set of commands corresponding to the trigger condition. The command queue can be external to the NIC. The location can correspond to an end of the set of commands in the command queue. The system can then determine, at the NIC, whether the trigger condition has been satisfied. If the trigger condition is satisfied, the system can fetch a respective command of the set of commands from the command queue and issuing the command from the NIC until the location is reached, thereby bypassing locally storing the set of commands prior to the trigger condition being satisfied.