Packet switching with common time reference over links with dynamically varying delays
First Claim
1. A system for transferring data packets from at least one source to at least one destination, wherein the transfer of the data packets is provided during respective ones of a plurality of time intervals, wherein each of the time intervals is comprised of a plurality of time frames, the system comprising:
- a virtual pipe comprising at least two switches interconnected by communication links in a path, the virtual pipe having a defined maximum delay between any two of the switches, each of the switches having a plurality of input ports and a plurality of output ports each with a unique address, wherein the input ports provide for receiving the packets from the source and for recording the time of arrival (TOA) for each said separate packet;
a common time reference signal coupled to each of the switches;
a scheduling controller for determining for each switch a first scheduled time within a first predefined time frame within which a respective one of the packets is scheduled to be transferred out of the respective switch, and a second scheduled time within a second predefined time frame within which the respective data packet is alternately scheduled to be transferred out of the respective switch, and a third predefined scheduled time within a third predefined time frame for alternately scheduling the transfer of the respective packet from the respective output port of the switch;
wherein the first, second, and third predefined time frames are determined responsive to the common time reference;
a delay analysis controller for determining the difference between each of the first, second, and third predefined time frames and the time of arrival for a respective one of the packets, wherein the difference is compared to the maximum defined delay to select the respective predefined time frame having a difference closest to and less than the defined delay;
wherein the scheduling controller is responsive to the delay analysis controller, for scheduling the respective data packet to be associated with the selected respective predefined time frame.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention describes a method for transmitting and forwarding packets over a packet switching network wherein the delay between two switches increases, decreases, or changes arbitrarily over time. Packets are being forwarded over each link inside the network in predefined periodic time intervals. The switches of the network maintain a common time reference, which is obtained either from an external source (such as GPS--Global Positioning System) or is generated and distributed internally. The time intervals are arranged with simple periodicity and complex periodicity (like seconds and minutes of a clock). When the delay increases at some point of time, a packet may be late for its predefined forwarding time interval. In such case, the packet is delayed until the next time interval of its virtual pipe. When the link delay decreases, packets are buffered until the first time interval of its virtual pipe.
194 Citations
35 Claims
-
1. A system for transferring data packets from at least one source to at least one destination, wherein the transfer of the data packets is provided during respective ones of a plurality of time intervals, wherein each of the time intervals is comprised of a plurality of time frames, the system comprising:
-
a virtual pipe comprising at least two switches interconnected by communication links in a path, the virtual pipe having a defined maximum delay between any two of the switches, each of the switches having a plurality of input ports and a plurality of output ports each with a unique address, wherein the input ports provide for receiving the packets from the source and for recording the time of arrival (TOA) for each said separate packet; a common time reference signal coupled to each of the switches; a scheduling controller for determining for each switch a first scheduled time within a first predefined time frame within which a respective one of the packets is scheduled to be transferred out of the respective switch, and a second scheduled time within a second predefined time frame within which the respective data packet is alternately scheduled to be transferred out of the respective switch, and a third predefined scheduled time within a third predefined time frame for alternately scheduling the transfer of the respective packet from the respective output port of the switch; wherein the first, second, and third predefined time frames are determined responsive to the common time reference; a delay analysis controller for determining the difference between each of the first, second, and third predefined time frames and the time of arrival for a respective one of the packets, wherein the difference is compared to the maximum defined delay to select the respective predefined time frame having a difference closest to and less than the defined delay; wherein the scheduling controller is responsive to the delay analysis controller, for scheduling the respective data packet to be associated with the selected respective predefined time frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for transferring data packets from at least one source to at least one destination, wherein the transfer of the data packet is provided during respective ones of a plurality of time intervals, wherein each of the time intervals is comprised of a plurality of time frames, said system comprising:
-
a virtual pipe comprising at least two switches interconnect by links in a path; wherein each of the switches has a plurality of input ports and a plurality of output ports each with a unique address; a delay analysis and scheduling controller at each of the output ports of said switch; and a common time reference signal coupled to each of the switches; wherein for each switch there is a predefined time frame within which a respective packet is transferred into the respective switch, and a separate predefined time frame within which the respective packet is transferred out of the respective switch; wherein each switch has an associated predefined set of time frames wherein during one time frame of the predefined set of time frames, the switch outputs a data packet from said virtual pipe; wherein when each of the packets arrives, it is assigned a time of arrival (TOA) responsive to an instant value of the common time reference, where the packet is scheduled to be output during a not fully occupied subsequently available time frame of the respective predefined set of time frames; and wherein the subsequently available time frame is determined responsive to determining that the time elapsed since the time of arrival is greater than a predefined threshold. - View Dependent Claims (17, 18, 34, 35)
-
-
19. A system for switching data packets comprising a data packet header, having a PID field, from at least one source of incoming data packets to at least one destination, wherein the transfer of the data packets is provided during respective ones of a plurality of predefined time intervals, wherein each of the predefined time intervals is comprised of a plurality of predefined time frames, said system comprising:
-
a plurality of switches with plurality of uniquely addressable input and output ports; a common time reference signal coupled to each of the switches; wherein the common time reference is partitioned into time frames; wherein a predefined number of contiguous time frames are grouped into a time cycle; wherein a predefined number of contiguous time cycles are grouped into a super cycle; a routing controller at the input port for determining which of the plurality of output ports said data packet will be forwarded to, and for attaching a time of arrival (TOA) to incoming data packets; a delay analysis and scheduling controller for assigning a first feasible time frame, from a selected plurality of predefined time frames associated with a predefined one of the switches, for transfer data packets out from each of the respective switches, responsive to the time of arrival and the unique address of the input port associated with the incoming data packet, and to the PID field in the data packet header. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A system for scheduling the transfer of data packets comprising a data packet header having a PID field, on a switch comprised of a plurality of uniquely addressable input ports and a plurality of uniquely addressable output ports, wherein the transfer of the data packets is provided during respective ones of a plurality of predefined time intervals, wherein each of the predefined time intervals is comprised of a plurality of predefined time frames, wherein the data packets coupled into the switch are incoming data packets, said system comprising:
-
a common time reference signal coupled to each of the switches; wherein the common time reference is partitioned into time frames; wherein a predefined number of contiguous k time frames are grouped into a time cycle;
wherein k is at least 1;wherein a predefined number of contiguous l time cycles are grouped into a super cycle;
wherein l is at least 1;a routing controller with a routing table for selecting at least one output port that said data packets will be forwarded to; wherein the routing controller attaches a time of arrival (TOA) to the incoming data packets; wherein the time of arrival is derived from the common time reference and is represented as a time frame number within a time cycle and as a time cycle number within a super cycle; a switching fabric for coupling the incoming data packets between selected ones of the input ports and the output ports; apparatus for determining availability of transmission capacity for each of the time frames; a delay analysis and scheduling controller for assigning a first feasible time frame, from a selected plurality of predefined time frames, for transfer of the respective data packet out from each of the respective switches responsive to the time of arrival, the unique address of the respective input port, and the PID field in the data packet header for the respective data packet, and the availability of transmission capacity in said time frame; a random access memory partitioned into plurality of buffers for storing the respective data packets in associated ones of the buffers associated with the respective time frames; and a select buffer controller for selecting one of the plurality of buffers for output. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A system for switching data packets, each comprising a data packet header having a PID field and a time stamp, from at least one source to at least one destination, wherein the transfer of the data packets is provided during respective ones of a plurality of predefined time intervals, wherein each of the predefined time intervals is comprised of a plurality of predefined time frames, said system comprising:
-
a plurality of switches with plurality of uniquely addressable input and output ports; a common time reference signal coupled to each of the switches; wherein the common time reference partitioned into time frames; wherein a predefined number of contiguous time frames are grouped into a time cycle; wherein a predefined number of contiguous time cycles are grouped into a super cycle; a routing controller for determining uniquely which one of the output ports is scheduled to receive the respective data packet from a respective one of the input ports responsive to the PID field in the data packet header; apparatus for determining the availability of transmission capacity for each of the respective time frames; a delay analysis and scheduling controller for assigning a first feasible time frame, from a plurality of predefined time frames, for scheduling transfer of the respective data packet out from the respective switch responsive to the respective time stamp, the unique address of the input port, the PID field in the data packet header, and the availability of transmission capacity in said respective time frame; a random access memory partitioned into plurality of buffers, each of the buffers associated with a unique one of the time frames; and a select buffer controller for selecting one of the buffers for output. - View Dependent Claims (32, 33)
-
Specification