Method and system for transmitting data packets buffered in a distributed queue on a communication network
First Claim
1. A method of transmitting data packets in time slots on a communication network having first and second unidirectional buses which are oppositely directed and a plurality of access units coupled between the busses, said method including the steps of forming a distributed queue of data packets by queueing in each access unit the therein received data packets to be transmitted on the first unidirectional bus, transmitting a request flag on the second unidirectional bus by each access unit for each data packet in the queue in the respective access unit, keeping track in each access unit of all request flags passing said access unit on the second unidirectional bus, and transmitting a data packet from the queue in an access unit after a predetermined number of empty time slots has passed said access unit on the first bus;
- characterized in that at the time a further data packet arrives in an access unit and is added to the queue therein a request flag is transmitted on the second bus by said access unit, and said further data packet is transmitted by said access unit in the first empty time slot on the first bus after a preselected number of free slots on the first bus have passed said access unit, said preselected number of free slots being equal to the total number of data packets in the distributed queue at the time of arrival of the further data packet in said access unit;
whereby only data packets which were queued in the network before arrival of said further data packet are transmitted before said further data packet, in accordance with the first-in/first-out principle.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for a time division multiplex transmission of data packets from a plurality of access units in a communications network having a pair of oppositely directed unidirectional buses between which the access units are coupled, each access unit transmitting its data packets in empty time slots on a first of such buses. A queue is formed in each access unit of the data packets therein, and each time a further data packet is added to such queue a request flag is transmitted on the second bus. A count is kept of the number of request flags passing the access unit on the second bus, and such further data packet is assigned a priority value corresponding to the number of request flags existing at the time the further data packet is added to the queue. A distributed queue is thereby formed of all data packets in the network, a given data packet being transmitted in the first empty time slot on the first bus after a preselected number of free slots therein have passed its access unit, such preselected number being equal to the priority value of such data packet. Transmission is thereby achieved strictly in accordance with the first-in/first-out principle, so that the waiting period for a given data packet is not affected by the presence of subsequent data packets in other access units even though certain such subsequent data packets may already have reached the head of the queues in their access units.
-
Citations
7 Claims
-
1. A method of transmitting data packets in time slots on a communication network having first and second unidirectional buses which are oppositely directed and a plurality of access units coupled between the busses, said method including the steps of forming a distributed queue of data packets by queueing in each access unit the therein received data packets to be transmitted on the first unidirectional bus, transmitting a request flag on the second unidirectional bus by each access unit for each data packet in the queue in the respective access unit, keeping track in each access unit of all request flags passing said access unit on the second unidirectional bus, and transmitting a data packet from the queue in an access unit after a predetermined number of empty time slots has passed said access unit on the first bus;
- characterized in that at the time a further data packet arrives in an access unit and is added to the queue therein a request flag is transmitted on the second bus by said access unit, and said further data packet is transmitted by said access unit in the first empty time slot on the first bus after a preselected number of free slots on the first bus have passed said access unit, said preselected number of free slots being equal to the total number of data packets in the distributed queue at the time of arrival of the further data packet in said access unit;
whereby only data packets which were queued in the network before arrival of said further data packet are transmitted before said further data packet, in accordance with the first-in/first-out principle. - View Dependent Claims (2, 3, 4, 5, 6)
- characterized in that at the time a further data packet arrives in an access unit and is added to the queue therein a request flag is transmitted on the second bus by said access unit, and said further data packet is transmitted by said access unit in the first empty time slot on the first bus after a preselected number of free slots on the first bus have passed said access unit, said preselected number of free slots being equal to the total number of data packets in the distributed queue at the time of arrival of the further data packet in said access unit;
-
7. A system for transmitting data packets in time slots on a communication network having first and second unidirectional buses which are oppositely directed and a plurality of access units coupled between the buses, said system comprising in each access unit a request flag counter connected to become incremented by each request flag passing on the second bus, a countdown counter connected to become decremented from an initially loaded value to a predetermined end value by each empty time slot passing on the first bus, a queue buffer for queuing the data packets received in the access unit for transmission on the first bus, and a logic interface adapted to transmit request flags for each data packet in the queue buffer and to initiate transmission of the data packet at the head of the queue after the countdown counter reaches said predetermined end value, and to reload said countdown counter on the basis of the value accumulated in the request flag counter;
- characterized in that in each access unit the queue buffer is adapted to store, in combination with each data packet, priority value which is shifted therewith through said buffer; and
the logic interface is adapted to transmit a request flag on the second bus at the time a further data packet arrives in the access unit, to store said further data packet in the queue buffer in combination with the then accumulated value in the request counter, such accumulated value constituting said priority value of said further data packet to reset said request counter thereafter, and to reload the countdown counter with the priority value of a data packet in the queue buffer as soon as such data packet reaches the head of the queue buffer in said access unit.
- characterized in that in each access unit the queue buffer is adapted to store, in combination with each data packet, priority value which is shifted therewith through said buffer; and
Specification