Network switch with packet scheduling
First Claim
1. A method for switching data packet flows with guaranteed delay and bandwidth, comprising:
- receiving expected packet arrival time information at a switch, wherein said expected packet arrival time information is associated with a packet flow, and wherein said expected packet arrival time information indicates an expected packet arrival time at which at least one packet associated with said packet flow is expected to be received by said switch;
storing, within said switch, schedule information defining at least one packet flow schedule, wherein said schedule information defines scheduled reception and transmission times for at least one packet associated with said at least one packet flow, wherein the scheduted reception time indicates an expected packet arrival time at which said at least one packet associated with said at least one packet flow is expected to be received by said switch;
receiving forwarding information associated with said packet flow, wherein said forwarding information indicates how said switch should forward a packet that arrives at said expected packet arrival time, and associating said forwarding information with said expected packet arrival time;
receiving a reference packet at a reference time;
determining a schedule interval start time in response to said reference time;
determining said expected packet arrival time based on said expected packet arrival time information and said schedule interval start time;
pre-establishing a path through said switch for a predetermined period of time that includes said expected packet arrival time;
receiving a packet at said expected packet arrival time;
subjecting said packet to a layer 2 processing or a higher layer processing, said layer 2 processing or a higher layer processing including at least one of switching said packet and routing said packet; and
forwarding, via said pre-established path through said switch, said packet based on said forwarding information associated with said expected packet arrival time.
14 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for switching data packet flows by assigning schedules to guaranteed delay and bandwidth traffic. Scheduled bandwidth is subtracted from the available bandwidth, and the remaining unscheduled bandwidth is available for standard “best-efforts” packet transmissions, or other guaranteed packet flows. Guaranteed bandwidth is assigned on a schedule basis, and packet flows are assigned schedules which are mutually acceptable to both transmitters and receivers. Flows transmit and expect to receive packets in accordance with their assigned schedules. Schedules are negotiated between packet transmitter applications and packet receiver applications. During scheduled periods, packets sent by the packet transmitter are directly and immediately forwarded to the assigned packet receiver. Other traffic destined for the receiver is placed in a delay queue, and other packets are not transmitted to the packet receiver during the assigned schedule, as long as the transmitter is still sending guaranteed packets.
-
Citations
39 Claims
-
1. A method for switching data packet flows with guaranteed delay and bandwidth, comprising:
-
receiving expected packet arrival time information at a switch, wherein said expected packet arrival time information is associated with a packet flow, and wherein said expected packet arrival time information indicates an expected packet arrival time at which at least one packet associated with said packet flow is expected to be received by said switch; storing, within said switch, schedule information defining at least one packet flow schedule, wherein said schedule information defines scheduled reception and transmission times for at least one packet associated with said at least one packet flow, wherein the scheduted reception time indicates an expected packet arrival time at which said at least one packet associated with said at least one packet flow is expected to be received by said switch; receiving forwarding information associated with said packet flow, wherein said forwarding information indicates how said switch should forward a packet that arrives at said expected packet arrival time, and associating said forwarding information with said expected packet arrival time; receiving a reference packet at a reference time; determining a schedule interval start time in response to said reference time; determining said expected packet arrival time based on said expected packet arrival time information and said schedule interval start time; pre-establishing a path through said switch for a predetermined period of time that includes said expected packet arrival time; receiving a packet at said expected packet arrival time; subjecting said packet to a layer 2 processing or a higher layer processing, said layer 2 processing or a higher layer processing including at least one of switching said packet and routing said packet; and forwarding, via said pre-established path through said switch, said packet based on said forwarding information associated with said expected packet arrival time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 26, 27, 28, 29, 30, 31)
-
-
10. An apparatus for switching data packet flows with guaranteed delay and bandwidth, comprising:
-
control logic for receiving expected packet arrival time information at a switch, wherein said expected packet arrival time information is associated with a packet flow, and wherein said expected packet arrival time information indicates an expected packet arrival time at which at least one packet associated with said packet flow is expected to be received by said switch; control logic for storing within said switch, schedule information defining at least one packet flow schedule, wherein said schedule information defines scheduled reception and transmission times for at least one packet associated with said at least one packet flow, wherein the scheduled reception time indicates an expected packet arrival time at which said at least one packet associated with said at least one packet flow is expected to be received by said switch; control logic for receiving forwarding information associated with said packet flow, wherein said forwarding information indicates how said switch should forward a packet that arrives at said expected packet arrival time, and associating said forwarding information with said expected packet arrival time; control logic for—
receiving a reference packet at a reference time;control logic for determining a schedule interval start time in response to said reference time; control logic for determining said expected packet arrival time based on said expected packet arrival time information and said schedule interval start time; control logic for pre-establishing a path through said switch for a predetermined period of a time that includes said expected packet arrival time; control logic for receiving a packet at said expected packet arrival time; control logic for subjecting said packet to a layer 2 processing or a higher layer processing, said layer 2 processing or a higher layer processing including at least one of switching said packet and routing said packet; and control logic for forwarding, via said pre-established path through said switch, said packet based on said forwarding information associated with said expected packet arrival time. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 32, 33)
-
-
21. A schedule-based packet switch, comprising:
-
a master clock system, said master clock system operative to determine a beginning of a schedule interval; schedule information defining at least one packet flow schedule, wherein said schedule information defines scheduled reception and transmission times for at least one packet associated with said at least one packet flow, wherein the scheduled reception time indicates an expected packet arrival time at which said at least one packet associated with said at least one packet flow is expected to be received by said switch; logic for subjecting said packet to a layer 2 processing or a higher layer processing, said layer 2 processing or a higher layer processing including at least one of switching said packet and routing said packet; and logic for receiving a reference packet at a reference time; logic for determining a schedule interval start time in response to said reference time; logic far determining said expected packet arrival time based on said expected packet arrival time information and said schedule interval start time; a plurality of interface ports, each of said interface ports having transmit control logic and receive control logic, wherein each of said transmit and receive logic is responsive to said schedule information and said master clock system, wherein said transmit control logic of at least one of said plurality of interface ports is operable to determine a transmit time of a received packet associated with said at least one packet flow in response to a transmit time offset into said schedule interval defined by said packet flow schedule. - View Dependent Claims (22, 23)
-
-
24. A method for schedule-based packet switching in a scheduled packet switch, comprising:
-
determining, by a master clock system in said scheduled packet switch, a beginning of a schedule interval; storing, within said scheduled packet switch, schedule information defining at least one packet flow schedule, wherein said schedule information defines scheduled reception and transmission times for at least one packet associated with said at least one packet flow, wherein the scheduled reception time indicates an expected packet arrival time at which said at least one packet associated with said at least one packet flow is expected to be received by said scheduled packet switch; determining, at a transmit control logic of an interface port of said scheduled packet switch, and responsive to said schedule information and said master clock system, a transmit time of a received packet associated with said at least one packet flow in response to a transmit time offset into said schedule interval defined by said packet flow schedule; receiving a reference packet at a reference time; determining a schedule interval start time in response to said reference time; determining said expected packet arrival time based on said expected packet arrival time information and said schedule interval start time; and subjecting said packet to a layer 2 processing or a higher layer processing, said layer 2 processing or a higher layer processing including at least one of switching said packet and routing said packet. - View Dependent Claims (25)
-
-
34. A method for switching data packet flows with guaranteed delay and bandwidth, comprising:
-
receiving expected packet arrival time information at a switch, wherein said expected packet arrival time information is associated with a packet flow, and wherein said expected packet arrival time information indicates an expected packet arrival time at which at least one packet associated with said packet flow is expected to be received by said switch; storing, within said switch, schedule information defining at least one packet flow schedule, wherein said schedule information defines scheduled reception and transmission times for at least one packet associated with said at least one packet flow, wherein the scheduled reception time indicates an expected packet arrival time at which said at least one packet associated with said at least one packet flow is expected to be received by said switch; receiving forwarding information associated with said packet flow, wherein said forwarding information indicates how said switch should forward a packet that arrives at said expected packet arrival time, and associating said forwarding information with said expected packet arrival time; receiving a reference packet at a reference time; determining a schedule interval start time in response to said reference time; determining said expected packet arrival time based on said expected packet arrival time information and said schedule interval start time; pre-establishing a path through said switch for a predetermined amount of time, based on said expected packet arrival time; receiving a packet during said predetermined amount of time; subjecting said packet to a layer 2 processing or a higher layer processing, said layer 2 processing or a higher layer processing including at least one of switching said packet and routing said packet; and forwarding, via said pre-established path through said switch, said packet based on said forwarding information associated with said expected packet arrival time. - View Dependent Claims (35, 36, 37, 38, 39)
-
Specification