IP Library Granted Patent US 7,535,835
Granted Patent B2
US 7,535,835 · App. 10/407,814 · Granted May 19, 2009

Prioritizing data with flow control

Assignee: U4EA Technologies Limited
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,535,835
App. No.
10/407,814
Granted
May 19, 2009
Kind
B2
Abstract

There is disclosed a method and controller for controlling an information flow in an acyclic data transmission system including receiving a plurality of data packets, and allocating a priority level for each data packet including a class of loss for the data packet and a class of urgency of service for the data packet. The method and controller also include servicing the data packets in accordance with the priority levels and outputting the data packets at a configured rate.

Claims (32)

1. A method of controlling an information flow in an acyclic data transmission system, comprising:

receiving a plurality of data packets from a plurality of data streams;

allocating a unique packet identifier to each of the received plurality of data packets;

allocating a priority level for each data packet including a class of loss for the data packet and a class of urgency of service for the data packet;

servicing the packet identifiers in at least one of a plurality of policer/shapers in accordance with the priority level of the data packet, the plurality of policer/shapers being allocated to respective data streams; and

outputting the data packets at a configured rate in accordance with the serviced packet identifiers, whereby appropriate gaps are maintained between transmitted packets to ensure that in the long term the configured rate does not exceed a maximum rate at which the data packets may be output.

2. The method as recited in claim 1 further comprising at least one of selectively discarding the data packets and selectively time-shifting the data packets.

3. The method as recited in claim 1 further comprising allocating a further priority level to each data packet, and servicing the packet identifiers in accordance therewith.

4. The method as recited in claim 1 further comprising storing each data packet in sequence.

5. The method as recited in claim 4 wherein the act of outputting the data packets comprises retrieving the data packets.

6. The method as recited in claim 1 wherein the priority level indicates a class of loss and a class of urgency of service for the data packet.

7. The method as recited in claim 1 wherein the packet identifiers are selectively admitted to a queue.

8. The method as recited in claim 7 wherein a level of service is associated with each packet identifier in the queue.

9. The method as recited in claim 1 wherein the priority level is allocated to a data packet based on a function of a state of a queue.

10. The method as recited in claim 1 wherein each packet identifier is selectively admitted to at least one of a plurality of queues, the method further comprising multiplexing outputs of the queues.

11. A controller for controlling an information flow in an acyclic data transmission system, comprising:

input means for receiving a plurality of data packets from a plurality of data streams;

means for allocating a unique packet identifier to each of the received plurality of data packets;

means for allocating a priority level to each data packet including a class of loss for the data packet and a class of urgency of service for the data packet;

service means for servicing the packet identifiers in at least one of a plurality of policer/shapers in accordance with the priority level of the data packet, the plurality of policer/shapers being allocated to respective data streams; and

output means for outputting the data packets at a configured rate in accordance with the serviced packet identifiers, whereby appropriate gaps are maintained between transmitted packets to ensure that in the long term the configured rate does not exceed a maximum rate at which the data packets may be output.

12. The controller as recited in claim 11 further comprising at least one of means for selectively discarding the data packets and means for selectively time-shifting the data packets.

13. The controller as recited in claim 11 , further comprising storage means for storing each data packet.

14. The controller as recited in claim 11 wherein each packet identifier is selectively admitted to at least one of a plurality of queues, the controller further comprising means for multiplexing outputs of the queues.

15. A controller for controlling an information flow in an acyclic data transmission system, comprising:

an input interface configured to receive a plurality of data packets from a plurality of data streams;

a queue memory manager configured to allocate a unique packet identifier to each data packet;

a plurality of policer/shapers configured to allocate a priority level to each data packet including a class of loss for the data packet and a class of urgency of service for the data packet, the plurality of policer/shapers further configured to service the packet identifiers in at least one of the plurality of policer/shapers in accordance with the priority level of the data packet, wherein the plurality of policer/shapers are allocated to respective data streams; and

an output interface configured to output the data packets at a configured rate in accordance with the serviced packet identifiers, whereby appropriate gaps are maintained between transmitted packets to ensure that in the long term the configured rate does not exceed a maximum rate at which the data packets may be output.

16. The controller as recited in claim 15 further comprising at least one of means for selectively discarding the data packets and means for selectively time-shifting the data packets.

17. The controller as recited in claim 15 further comprising a queue memory configured to store each data packet in accordance with the plurality of policer/shapers.

18. The controller as recited in claim 15 wherein each packet identifier is configured to be selectively admitted to at least one of a plurality of queues, the controller further comprising a cherish/urgency multiplexor configured to multiplex outputs of the queues.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2014
From: GOS NETWORKS LIMITED
To: GOS HOLDINGS LIMITED
Reel/Frame 033141/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2010
From: U4EA TECHNOLOGIES LIMITED
To: GOS NETWORKS LIMITED
Reel/Frame 024233/0723 →
SECURITY AGREEMENT Recorded Apr 17, 2009
From: U4EA TECHNOLOGIES LIMITED
To: IIU NOMINEES LIMITED
Reel/Frame 022552/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2005
From: DAVIES, NEIL JAMES; HOLYER, JUDITH YVONNE; LAFAVE, LAURA ANNE; THOMPSON, PETER WILLIAM; VOWDEN, CHRISTOPHER JAMES; WILLMOTT, GRAHAM
To: U4RA TECHNOLOGIES LIMITED
Reel/Frame 016065/0424 →
Continuity (2)
Continuation PCTGB000379000 · Oct 3, 2000
Related Publication 20040196855A1 · Oct 7, 2004