×

Method and computer program product for scheduling network communication packets originating from different flows having unique service requirements

  • US 6,247,061 B1
  • Filed: 06/09/1998
  • Issued: 06/12/2001
  • Est. Priority Date: 06/09/1998
  • Status: Expired due to Term
First Claim
Patent Images

1. In a network communication system having a plurality of computer systems logically interconnected to one another and wherein data packets are communicated across the network between one or more of the computer systems, which data packets require transmission through the network in the form of packet flows that are defined as including streaming data having certain network resource requirements, such as bandwidth, that are required to meet quality of service standards for properly communicating the data packets, a method for improving flexibility of scheduling delivery of the data packets through the network by allowing different scheduling algorithms to be supported by distinct software components configured as drivers, comprising the steps for:

  • receiving a data packet that is scheduled for delivery by the network to one of the computer systems, said data packet being initially received by a conformer component configured as a first driver and that generates and assigns a conformance time for the data packet that signifies the earliest time at which the data packet may be sent while still conforming to the resource requirements necessary to meet quality of service standards for communicating the data packet over the network;

    if necessary in order to meet a required conformance time, sending the data packet to a shaper component configured as a second driver which delays the data packet so that delivery of the data packet will occur at essentially the conformance time, thereby shaping network traffic as required by conformance time for each data packet;

    if not necessary in order to meet a required conformance time, sending the data packet directly through the second driver without delay to a sequencer component configured as a third driver which has a plurality of priority queue lists, each packet flow being assigned to a priority queue list for data packets that are conforming and being assigned to a priority queue list for data packets that are not conforming with respect to the current time so that the priority queue list of a data packet can be updated when its conformance time becomes less than the current time;

    assigning the data packet to the priority queue list associated with its packet flow based on whether the data packet is conforming or nonconforming with respect to the current time; and

    transmitting the data packet onto the communications network in order of priority of the one or more priority queue lists.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×