TL;DR: A model of self-similar traffic suitable for queuing system analysis of an asynchronous transfer mode (ATM) queue is given, and a lower bound to the overflow probability of a finite ATM buffer is obtained.
Abstract: Recent traffic measurements in corporate local-area networks (LANs), variable-bit-rate video sources, ISDN control-channels, and other communication systems, have indicated traffic behaviour of self-similar nature. This paper first discusses some definitions and properties of (second-order) self-similarity and gives simpler criteria for it. It then gives a model of self-similar traffic suitable for queuing system analysis of an asynchronous transfer mode (ATM) queue. A lower bound to the overflow probability of a finite ATM buffer is obtained, as also a lower bound to the cell loss probability. Finally, the stationary distribution of the cell delay in an infinite ATM buffer is obtained.
TL;DR: In this paper, an advanced message queuing system is integrated into a database system, in which messages are requests for processing by an application and messages comprise user data and control information such as a queue name.
Abstract: An advanced message queuing system is integrated into a database system. A queue is an ordered list of messages. Messages are requests for processing by an application. Messages are database objects and can represent events or data. Messages comprise user data and control information such as a queue name. Each queue is part of a table in a relational database. A queue table holds a set of queues. Dictionary tables store configuration information describing queues and queue tables. Messages are entered into a queue by instructing the database system using an enqueuing command attached to a message and control information. The control information describes how to order, schedule, and execute the message, and can include a result queue name into which a result message is written after execution. The system responds to a dequeuing command by delivering a copy of a message from the queue. A user can define message order within a queue, message delay factors, and exception processing. Messages may be retained in their queues after delivery and can be preserved, queried, documented, correlated, reviewed and tracked, alone or in a set comprising a transaction, regardless of message state or execution state. The system can be used to develop large-scale, message-oriented distributed applications. Existing development tools for database applications can also be used to develop queuing applications. Administrative functions to create, delete, and specify access control for queues are provided. The system provides transactional integrity; a single transaction applies to both the database and the queue. A single transaction log is maintained.
TL;DR: In this article, a QoS management system for a data packet transmission network, where routers offer priority services of the type required for isochronous handling of data representing real-time voice, includes a Quality of Service (QoS) management system to ensure that guarantees associated with such priority service can be met with a high degree of certainty.
Abstract: A packet router for a data packet transmission network, wherein routers offer priority services of the type required for isochronous handling of data representing real-time voice, includes a Quality of Service (QoS) management system for ensuring that guarantees associated with such priority service can be met with a high degree of certainty. This management system provides prioritized queues including a highest priority queue supporting reservations for the priority service suited to isochronous handling. The highest priority queue and other queues are closely monitored by a QoS manager element for states of near congestion and critical congestion. While neither state exists, filler packet flows are promoted from lower priority queues to the highest priority queue, in order to keep the latter queue optimally utilized. If all lower priority queues are empty at such times, dummy packets are inserted as filler flows. Dummy packets have a form causing routers and other stations receiving them to immediately discard them. The volume of dummy traffic allowed for each queue of the system is a predetermined fraction of the queue's estimated peak traffic load, and that volume is displaceable to allow forwarding of additional traffic through the queue when conditions require it. While a state of near congestion exists, the QoS manager demotes filler flow units from the highest priority queues to lower priority queues, in order to lessen the potential forwarding delays presented to real traffic occupying the highest priority queue. When a state of critical congestion exists in the highest priority queue, admission of new incoming traffic flows to that queue is suspended and forwarding of filler flows from that queue out to the network is also suspended.
TL;DR: A priority call queuing system allows the called site to exercise control over the position in a phone queue of an incoming call, based upon an economic value assigned to the incoming call as discussed by the authors.
Abstract: A priority call queuing system allows the called site to exercise control over the position in a phone queue of an incoming call, based upon an economic value assigned to the incoming call. When the incoming call is received, an interactive voice response unit interrogates the caller and determines information such as, identity of the caller, quantity of items to be ordered, item numbers, catalog numbers and other data from which an economic value of the call can be determined. Thereafter, the call information is used, in conjunction with pricing and other economic data, present in a database at the called site, to assign an economic value to the call. The call's position in the queue is then adjusted in manner that is hidden from the caller, in accordance with the determined economic value. The rank positions of other calls within the queue are adjusted, accordingly.
TL;DR: In this paper, a new algorithm for queue management and coordination of traffic signals along oversaturated arterials is presented, where the main idea is to manage queue formation and dissipation on system links so that traffic flow is maximized by efficiently using all green time, preventing formation of de facto red, accounting for the non-steady state conditions, and providing time-dependent control measures.
Abstract: The formulation and solution of a new algorithm for queue management and coordination of traffic signals along oversaturated arterials are presented. Existing traffic-control and signal-coordination algorithms deal only with undersaturated steady-state traffic flow conditions. No practical algorithms are readily available for oversaturated flow conditions. The main idea of the procedure is to manage queue formation and dissipation on system links so that traffic flow is maximized by efficiently using all green time, preventing formation of de facto red, accounting for the non-steady-state conditions, and providing time-dependent control measures. The problem is formulated as a throughput maximization problem subject to state and control variables. The solution is then obtained using genetic algorithms. The results show that the control procedure can produce dynamic and responsive control so that traffic progression is attained and all undesirable conditions such as queue spill-back and de facto red are avoided.
TL;DR: In this article, a system for servicing multiple queues identifies a queue service time associated with each of the multiple queues, and the system continuously services the queues while at least one of the queues contains data.
Abstract: A system for servicing multiple queues identifies a queue service time associated with each of the multiple queues. The queue servicing system selects a particular queue service time having the minimal value of all identified queue service times. The system services the queue associated with the selected queue service time. A new queue service time is determined for the queue associated with the selected queue service time. The queue servicing system continuously services the queues while at least one of the queues contains data. The queue service time associated with a particular queue is calculated in response to the size of the packet at the head of the particular queue and a bandwidth allocated to the particular queue.
TL;DR: In this paper, a system and method for detecting, collecting information about, and analyzing a queue is presented, where a video camera is positioned to view the queue, and a sequence of video images from the camera may be processed in order to perform the functionality of the present invention.
Abstract: A system and method are provided for detecting, collecting information about, and analyzing a queue. A video camera is positioned to view the queue, and a sequence of video images from the camera may be processed in order to perform the functionality of the present invention. The present invention may be implemented at checkout lanes in a retail establishment, in a bank, at customer service desks, at self-service kiosks, at banks, or any other location where a queue (line) of people or other objects may form. After detecting the queue, the present invention, may collect multi-dimensional information regarding the queue, including the number of people, etc., in the queue, the average service time for each person in the queue, as well as various other types of information regarding the queue. The present invention may thereafter analyze the collected information in various ways, based upon various criteria. For example, a retailer may use the analyzed information to minimize service time for people in a checkout line, in a way which makes economic sense.
TL;DR: In this paper, the authors propose a balanced queue communication system for the exchange of messages between an originating node and a receiving node in a distributed computing environment, where the message is queued by the originated node in the queue associated there with background processing.
Abstract: Methods and associated structure providing a balanced queue communication system for the exchange of messages between an originating node and a receiving node in a distributed computing environment A balanced queue comprises a pair of wraparound (circular) queues, one each associated with the originating node and the receiving node A message is queued by the originated node in the queue associated therewith Background processing within the originated node retrieves message queued therein and transmits the messages to the intended receiving node The position in the originating node's circular queue is pre-pended to the message and transmitted therewith The receiving node places the received message in its circular queue in the position specified by the pre-pended location with each message Background daemon and application processing within the receiving node then retrieves the queued messages for application specific processing The queue control structures of the balanced queue are integrated with the transaction processing recovery management tables on each of the respective nodes to assure synchronization of the messaging queues of the balanced queue with the application specific processing These methods and structures of the balanced queue assure robust exchange of messages, synchronized with the application's database, while improving the message processing performance as compared to prior solutions Messages are delivered 'exactly once' while reducing overhead (thereby improving performance) as compared to prior techniques
TL;DR: The queue-length distribution as well as the waiting time distribution of a single-server queue which is subject to service interruptions is characterized and the Markovian Arrival Process and the server is not available for service at certain times is considered.
Abstract: In this paper we characterize the queue-length distribution as well as the waiting time distribution of a single-server queue which is subject to service interruptions. Such queues arise naturally in computer and communication problems in which customers belong to different classes and share a common server under some complicated service discipline. In such queues, the viewpoint of a given class of customers is that the server is not available for providing service some of the time, because it is busy serving customers from a different class. A natural special case of these queues is the class of preemptive priority queues. In this paper, we consider arrivals according the Markovian Arrival Process (MAP) and the server is not available for service at certain times. The service times are assumed to have a general distribution. We provide numerical examples to show that our methods are computationally feasible.
TL;DR: In this paper, a packet scheduling scheme which is capable of improving the fairness characteristic in a short time scale by suppressing the burstiness of traffic compared with the conventional weight fair queueing algorithm such as DRR is proposed.
Abstract: A packet scheduling scheme which is capable of improving the fairness characteristic in a short time scale by suppressing the burstiness of traffic compared with the conventional weight fair queueing algorithm such as DRR. Packets are held in a plurality of packet queues by inputting arrived packets into the packet queues. Then, an output packet queue is sequentially selected from the packet queues, according to a prescribed criterion based on an amount of packets currently transmittable by each packet queue, such that the output packet queue is selected to be different from a previously selected output packet queue when there are more than one packet queues that satisfy the prescribed criterion. Then, a top packet is outputted from the sequentially selected output packet queue.
TL;DR: This work obtains upper and lower bounds on the capacity of queues with an arbitrary service distribution within this model, and shows that the bounds coincide in the case of the queue that serves a geometrically distributed number of packets in each slot.
Abstract: The information-theoretic capacity of continuous-time queues was analyzed recently by Anantharam and Verdu (see ibid. vol.42, p.4-18, 1996). Along similar lines, we analyze the information-theoretic capacity of two models of discrete-time queues. The first model has single packet arrivals and departures in a time slot and independent packet service times, and is the discrete-time analog of the continuous-time model analyzed by Anantharam and Verdu. We show that in this model, the geometric service time distribution plays a role analogous to that of the exponential distribution in continuous-time queues, in that, among all queues in this model with a given mean service time, the queue with geometric service time distribution has the least capacity. The second model allows multiple arrivals in each slot, and the queue is modeled as serving an independent random number of packets in each slot. We obtain upper and lower bounds on the capacity of queues with an arbitrary service distribution within this model, and show that the bounds coincide in the case of the queue that serves a geometrically distributed number of packets in each slot. We also discuss the extremal nature of the geometric service distribution within this model.
TL;DR: In this paper, a message service device for a switching network is provided, which includes a storage device for storing a number of predetermined priority levels pertaining to the received messages, one of the priority levels being assigned to each of the network connections.
Abstract: There is provided a message service device for a switching network. The device provides an input port for receiving messages from a number of network connections. The device includes a storage device for storing a number of predetermined priority levels pertaining to the received messages, one of the priority levels being assigned to each of the network connections. A number of first-in first-out message queues are provided for storing the received messages. The queues respectively correspond to each of the predetermined priority levels. Each queue is associated with at least one of a number of predetermined congestion thresholds whereby a congestion severity status may be determined for each queue. The congestion severity status corresponds proportionally to the number of the congestion thresholds which have been exceeded by the queue. The message service device further provides a processor for determining the network connection associated with each of the received messages. The processor allocates each of the messages to the tail of a corresponding one of the queues based upon the priority level assigned to the determined network connection and supplied to the processor from the storage device. A server for the arbitration of message frames from the queues is also provided. The server determines the congestion severity status for each of the queues prior to selecting a message from the queues. The server selects the message from the head of the queue which has the highest congestion severity status where only one queue has such status and from the queue corresponding to the highest priority level where more than one queue has such status. The message service device provides an output port for dispatching messages selected from the queues by the server.
TL;DR: In this article, a novel networking architecture and technique for reducing system latency caused, at least in part, by access contention for usage of common bus and memory facilities, wherein a separate data processing and queue management forwarding engine and queue manager are provided for each I/O module to process packet/cell control information and deliver queuing along a separate path that eliminates contention with other resources and is separate from the transfer of packet/cells data into and from the memory.
Abstract: A novel networking architecture and technique for reducing system latency caused, at least in part, by access contention for usage of common bus and memory facilities, wherein a separate data processing and queue management forwarding engine and queue manager are provided for each I/O module to process packet/cell control information and delivers queuing along a separate path that eliminates contention with other resources and is separate from the transfer of packet/cell data into and from the memory.
TL;DR: In this article, a method and apparatus for queuing commands is described, which utilizes one or more token queues and a storage block to avoid maintaining multiple separate queues and/or to facilitate reordering of queued elements.
Abstract: A method and apparatus for queuing commands. An apparatus of the present invention utilizes one or more token queues and a storage block to avoid maintaining multiple separate queues and/or to facilitate reordering of queued elements. The apparatus includes at least one token queue and a token assignment circuit which queues a selected token in a token queue. A storage block stores an element in a slot corresponding to the selected token. One system employing the present invention includes a processor, a bus agent, a memory controller, and a main memory. The memory controller queues tokens representing received commands into appropriate command queues.
TL;DR: In this article, rate shaping in per-flow queued routing mechanisms for available bit rate service is provided in packet switched communications system serially emits packets of time multiplexed flows in substantial compliance with individual network traffic contracts for the respective flows.
Abstract: Rate shaping is provided in per-flow queued routing mechanisms for available bit rate service. A traffic shaper in a packet switched communications system serially emits packets of time multiplexed flows in substantial compliance with individual network traffic contracts for the respective flows. The individual network traffic contracts include contracts which specify respective peak packet emission rates and associated peak rate tolerances for certain of the flows and which cause each of the flows to fall into mutually exclusive categories. The traffic shaper includes a queuing mechanism and a scheduling mechanism. The queuing mechanism organizes pending packets of active flows, including the certain flows, in respective queues in accordance with an oldest pending packet at head of queue order. The scheduling mechanism is coupled to the queuing mechanism for scheduling the packets of the active flows for emission. The scheduling mechanism includes a relatively high priority non-work conserving calendar queue, at least one relatively low priority work conserving queue, and another non-working conserving calendar queue of indeterministic priority relative to the high and low priority queues. The scheduling mechanism can also include a control mechanism for monitoring emissions from the high and low priority queues and for selectively descheduling packets scheduled on the high and low priority queues.
TL;DR: This paper first compares four existing hardware priority queue architectures, and identifies scalability limitations on implementing these existing architectures for large N and P, and proposes two new priority queues that are both fast and scalable.
Abstract: In packet-switched networks, queueing of packets at the switches can result when multiple connections share the same physical link. To accommodate a large number of connections, a switch can employ link-scheduling algorithms to prioritize the transmission of the queued packets. Due to the high-speed links and small packet sizes, a hardware solution is needed for the priority queue in order to make the link schedulers effective. But for good performance, the switch should also support a large number of priority levels (P) and be able to buffer a large number of packets (N). So a hardware priority queue design must be both fast and scalable (with respect to N and P) in order to be implemented effectively. In this paper we first compare four existing hardware priority queue architectures, and identify scalability limitations on implementing these existing architectures for large N and P. Based on our findings, we propose two new priority queue architectures, and evaluate them using simulation results from Verilog HDL and Epoch implementations.
TL;DR: In this article, the authors proposed a new service called General Packet Radio Service GPRS (GPRS), which is designed for digital mobile systems and is based on the principle of quality of service (QoS).
Abstract: General Packet Radio Service GPRS is a new service designed for digital mobile systems. Because of bottlenecks, such as an air interface (Um), queues may be formed in routers (SGSN, GGSN, 13, BTS, BSC). Long transmissions of data may slow the operation of interactive applications so that it is no longer sensible to use the applications. In the routers (SGSN, GGSN, 13, BTS, BSC) of the invention, separate queues are formed for each service, quality of service, connection, subscriber and/or application/application class. The quality of service can be indicated by providing each packet with an identity indicating the quality, or a change in the quality can be signalled as separate messages. In a preferred embodiment of the invention, the amount of data sent from a queue at one go is controlled primarily on the basis of the quality of service of the subscriber. When packets are sent from a queue, it is monitored whether only a small number of packets remains in the queue, and if so, these packets are sent as well.
TL;DR: This work considers two different single-server cyclic polling models and relates the steady-state queue length distribution at a queue to the queue length distributions at server visit beginning and visit completion instants at that queue, enabling a very efficient numerical computation of the waiting-time moments under different switchover time scenarios.
Abstract: We consider two different single-server cyclic polling models: (i) a model with zero switchover times, and (ii) a model with nonzero switchover times, in which the server keeps cycling when the system is empty. For both models we relate the steady-state queue length distribution at a queue to the queue length distributions at server visit beginning and visit completion instants at that queue; as a by-product we obtain a short proof of the Fuhrmann-Cooper decomposition. For the large class of polling systems that allow a multitype branching process interpretation, we expose a strong relation between the queue length, as well as waiting-time, distributions in the two models. The results enable a very efficient numerical computation of the waiting-time moments under different switchover time scenarios.
TL;DR: In this article, a system for synchronization of data processing in a data processing system including multiple command queues is disclosed, where data processing is synchronized by queue commands that allow a processing engine to queue commands on the command queue of any processing engine in the system, including its own.
Abstract: A system for synchronization of data processing in a data processing system including multiple command queues is disclosed. The disclosed data processing system includes one or more processing engines associated with one or more command queues. The use of multiple command queues supports multiple priority levels, such that commands in higher priority queues may preempt commands in lower priority queues. Data processing is synchronized by queue commands that allow a processing engine to queue commands on the command queue of any processing engine in the data processing system, including its own. Multiple data dependencies are resolved by conditional queue commands and event counters that queue a command only when all of the conditions precedent to execution of a particular data processing command are satisfied. The hardware queuing of the disclosed invention advantageously synchronizes data processing with minimal software supervision and with minimal latency.
TL;DR: The use of separate event and delta queues facilitates optimization of the queuing. as discussed by the authors describes a simulator for a digital system consisting of a simulation model, an event queue for scheduling changes to the state of the simulation model at specified times, and a separate delta queue, which is used to schedule changes that are to take place instantaneously.
Abstract: A simulator for a digital system comprises a simulation model, an event queue for scheduling changes to the state of the simulation model at specified times, and a separate delta queue, for scheduling changes to the state of the simulation model that are to take place instantaneously. The use of separate event and delta queues facilitates optimization of the queuing. The simulation model comprises a number of replaceable parts, each of which contains and is responsible for managing its own state information. The event and delta queues contain references to the parts of the model for which changes of state are scheduled, without containing the actual values of those changes of state.
TL;DR: In this paper, a shared memory queue mechanism for interprocess communication between concurrently executing, cooperating sequential processes in a digital computer system uses a shared-memory queue as a mechanism for message passing and process synchronization.
Abstract: A system and method for interprocess communication between concurrently executing, cooperating sequential processes in a digital computer system uses a shared memory queue as a mechanism for message passing and process synchronization. Data to be transferred from a sending process to a receiving process is stored in a queue entry which is visible in the virtual address space of the first process. The queue entry is added to a queue by the sending process directing the processor to execute an enqueue instruction. The receiving process removes the queue entry from the queue by directing the processor to execute a dequeue instruction. The receiving process then has direct access and visibility to the contents of the queue entry without having to copy the data into its virtual address space. Instead of sending data in a queue entry, a sending process may send an event indicator and no data. The receiving process may then wait on an empty queue until an event notification is received in a queue entry enqueued to the queue. Protection is provided by the system to prevent unauthorized access to the queue by other processes active in the system.
TL;DR: In this paper, a communication system that provides information to customers holding in a queue is described, where the queue identifies the customer and further identifies information related to the customer's motivation for entering the queue from the customer identity.
Abstract: A communication system that provides information to customers holding in a queue. Upon arrival to the queue, the queue identifies the customer and further identifies information that is related to the customer's motivation for entering the queue from the customer's identity. The queue selects individual messages from the relevant information for presentation to the customer. Certain messages may be prioritized over others based on the queue experience with other customers or based on external events that raise the likelihood that the message is relevant. The communication system may operate in a telecommunication network or a computer network.
TL;DR: A command queuing system is an integral component of an autonomous hardware accelerated command interpreter type data processing engine that executes a programmable set of data processing commands in response to a stimulus from a host processor as mentioned in this paper.
Abstract: A hardware implemented command queuing system in a hardware accelerated command interpreter engine. The command queuing system is an integral component of an autonomous hardware accelerated command interpreter type data processing engine that executes a programmable set of data processing commands in response to a stimulus from a host processor. The command queuing system is a configuration of registers and logic blocks that interact with a local host processor and other components within the command interpreter engine itself. The local host processor generates the commands to execute and the command queuing system queues the commands for seriatim execution by components within the command interpreter system. The command queue is a set of registers and command queue pointers that point to the next register available for writing a new command to the command queue, the next register that contains a command that is ready for executing, and the next register that contains the address of a completed command awaiting acknowledgment. The command queue pointers are managed by command queue interface control logic in the command queuing system. In the event of an error in executing any one command from the command queue, the command queuing system interacts with the local host processor to update the command queue pointers as needed to recover from the error and restart normal command queuing. The command queuing system also includes a set of control registers that contains internal command interpreter system operational status and local host processor accessible queuing and error status. The set of control registers are also managed by the command queue interface control logic in the command queuing system.
TL;DR: In this article, a method of delivering messages between application programs is provided, which ensures that no messages are lost and none are delivered more than once, using asynchronous message queuing, which avoids the additional message flow that is a feature of two-phase commit flows by allowing batching of a number of messages.
Abstract: A method of delivering messages between application programs is provided which ensures that no messages are lost and none are delivered more than once The method uses asynchronous message queuing One or more queue manager programs ( 100 ) is located at each computer of a network for controlling the transmission of messages to and from that computer Messages to be transmitted to a different queue manager are put onto special transmission queues ( 120 ) Transmission to an adjacent queue manager comprises a sending process ( 130 ) on the local queue manager ( 100 ) getting messages from a transmission queue and sending them as a batch of messages within a syncpoint-manager-controlled unit of work A receiving process ( 150 ) on the receiving queue manager receives the messages and puts them within a second syncpoint-manager-controlled unit of work to queues ( 180 ) that are under the control of the receiving queue manager Commitment of the batch is coordinated by the sender transmitting a request for commitment and for confirmation of commitment with the last message of the batch, commit at the sender then being triggered by the confirmation that is sent by the receiver in response to the request The invention avoids the additional message flow that is a feature of two-phase commit procedures, avoiding the need for resource managers to synchronise with each other It further reduces the commit flows by permitting batching of a number of messages
TL;DR: In this article, the fair rate for a cell switched network service controller is computed for a plurality of connection queues within the network according to a fair rate which may be weighted for each of the connection queues.
Abstract: A service controller for a cell switched network services a plurality of connection queues within the network according to a fair rate which may be weighted for each of the connection queues. Connection queues may be serviced by moving cells from one or more of the connection queues to a class of service queue and the fair rate may be computed according to the length of the class of service queue and cell arrival and departure rates to and from the class of service queue. For example, the fair rate may be computed by computing a target rate for servicing the connection queues, computing an observed arrival rate for cells arriving at the class of service queue, and computing the fair rate according to a ratio of the target rate to the observed arrival rate. The target rate may be approximated according to an amount of available bandwidth for the class of service queue and the number of cells serviced from the class of service queue in a period of time. Further, the fair rate may be periodically recomputed and doubled at each periodic recomputation. The fair rate computed for servicing cells may also be used for explicit rate control within the network.
TL;DR: In this paper, a Line Resources Manager (LRM) provides queue threshold and time-out references and keeps monitoring the node global buffering memory available, if required, the LRM may also report to Network Management facilities for possible rerouting of the traffic.
Abstract: Method and system for tracking transient errors and controlling data traffic in a high speed packet switching network node. The traffic exits each node through a transmit queue per connection between end users. The queue is monitored at both queue level through a threshold based mechanism ( 53 ) and a control of time activity mechanism ( 55 ). If trouble is detected by any one of these mechanisms, the queue packet admission is momentarily barred. To that end, a Line Resources Manager (LRM) provides queue threshold and time-out references and keeps monitoring the node global buffering memory available. If required, the LRM may also report to Network Management facilities for possible rerouting of the traffic.
TL;DR: In this paper, a system is provided for distributing television program guide data from a main facility to set-top boxes or similar receivers via local television systems, which is based on queue configuration data that may be supplied by the operator of the main facility.
Abstract: A system is provided for distributing television program guide data from a main facility to set-top boxes or similar receivers via local television systems. Program guide data is placed in a number of selectively configurable queues. The configuration of the queues is determined by queue configuration data that may be supplied by the operator of the main facility. The operator can readily reconfigure the queues by altering the queue configuration data. Program guide data from the queues may be distributed to the receivers using multiple feed generators, each of which distributes program guide data to receivers with different addresses. The feed generators determine which receivers are busy processing recently transmitted data, so that data may be directed toward receivers that are not currently busy.
TL;DR: In this article, the uniform cells are stored in a dual-balanced bank memory system, which provides for utilizing an available bank of memory when the other bank is in use, and otherwise balancing the use of the banks of memory, thereby maintaining equal free lists.
Abstract: An input processor recognizes and accepts a wide variety of protocols and formats. Queue management stores the uniform cells in a dual balanced bank memory system, which provides for utilizing an available bank of memory when the other bank of memory is in use, and otherwise balancing the use of the banks of memory, thereby maintaining equal free lists. Queue management apparatus and logic also ascertains and appends routing data to the stored data and transmits the data according to its priority.
TL;DR: In this article, a queuing system for manipulating items sent between a plurality of application servers comprising a queue implemented in a table stored in a relational database system is provided, each server monitoring the queue in order to determine when an item is ready to be dequeued.
Abstract: A queuing system for manipulating items sent between a plurality of application servers comprising a queue implemented in a table stored in a relational database system. Storing the table in a database allows recovery of the queue at any moment in time in case of a system malfunction. A queue handling system which manipulates queue items is provided. Also, a plurality of database queue handler servers are provided, each server monitoring the queue in order to determine when an item is ready to be dequeued. If a ripe item is found, the database queue handler server calls the queue handling system which in turn calls precompiled logic to dequeue the ripe items. Each database queue handler server subsequently forwards the dequeued items to the correct application server for processing. Logical partitions may be provided to prevent more than one database queue handler server from simultaneously accessing items in the queue. In addition, a system is provided which handles an application server's failure to process a queue item in which, after a predetermined number of failures, the item is moved to a special error table rather then returned to the original queue.
TL;DR: In this paper, queue integrity is maintained by associating a semaphore with each queue entry to indicate ownership of that queue entry, and items may be posted to the queue and cleared from the queue by a processor independent of the state of the other processor.
Abstract: In a multiprocessor data processing system including at least one main processor and one sub-processor utilizing a shared queue, queue integrity is maintained by associating a semaphore with each queue entry to indicate ownership of that queue entry. Ownership of a queue entry is checked by a processor attempting to post to the queue entry. Upon determining that the queue entry is available to the processor, the queue entry is loaded by an atomic write operation, ownership of the queue entry transferred to another processor, and the other processor may be alerted of the post to the queue. The other processor maintains ownership of the queue entry until the other processor has read and saved the data from the queue entry. Items may thus be posted to the queue and cleared from the queue by a processor independent of the state of the other processor. No locking mechanism or atomic read-modify-write capability is required to enforce mutual exclusion between the main processor and the sub-processor to maintain queue integrity.