Method and apparatus for implementing time-based data flow control and network implementation thereof
AssigneeUniversity of Maryland at College Park
InventorsAshok K. Agrawala, Christopher A. Landauer, Sung Lee
Life of this patent
Estimating the term…
Abstract
Nodes in a network transmit information among one another without the need for identifying headers. A calendar is maintained, indicating the times at which various data chunks are to be sent. When a request is made, the calendar is checked to see whether resources are free to accommodate the request. If so, the calendar is revised to reserve resources for the request.
Claims12
A device for synchronously transferring data in chunks pursuant to accepted transfer requests from among a plurality of nodes on a network, the device comprising
- incoming buffer means for storing the chunks received from the plurality of nodes;
- outgoing buffer means for storing the chunks to be sent to the plurality of nodes;
- controller means for determining an order and time in which the chunks are to be transferred among the plurality of nodes by:
- (i) maintaining an end-to-end coordinated schedule for synchronous operation indicating an order and time in which the chunks are to be transferred pursuant to transfer requests already accepted;
- (ii) accepting new transfer requests for data in chunks from the plurality of nodes;
- (iii) determining which of the new transfer requests can be satisfied in accordance with the schedule without affecting any of the already accepted transfer requests;
- and
- (iv) revising the schedule in accordance with those of the new transfer requests that can be satisfied;
- and
- switch means for switching each of the chunks from a portion of the incoming buffer means corresponding to one of the nodes to a portion of the outgoing buffer means corresponding to another one of the notes at times determined by the schedule as revised by the control means.
A method for synchronously transferring data in chunks pursuant to accepted transfer request from among a plurality of nodes on a network, the method comprising:
- (a) storing the chunks received from the plurality of nodes in an incoming buffer means;
- (b) storing the chunks to be sent to the plurality of nodes in an outgoing buffer means;
- (c) determining an order and time in which the chunks are to be transferred among the plurality of nodes by:
- (i) maintaining an end-to-end coordinated schedule for synchronous operation indicating an order and time at which the chunks are to be transferred;
- (ii) accepting new transfer requests for data in chunks from the plurality of nodes;
- (iii) determining which of the transfer requests can be satisfied in accordance with the schedule without affecting any of the already accepted transfer requests;
- and
- (iv) revising the schedule in accordance with the those of the transfer requests that can be satisfied;
- and
- (d) switching each of the chunks from a portion of the incoming buffer means corresponding to one of the nodes to a portion of the outgoing buffer means corresponding to another one of the nodes at times determined by the schedule as revised in step (c) (iv).
A data network for synchronously transmitting data in chunks pursuant to accepted transfer requests, the data network comprising:
- a plurality of hosts including a sending host for sending the data and a receiving host for receiving the data;
- a plurality of intermediate nodes interconnecting the plurality of hosts;
- wherein each of the plurality of intermediate nodes comprises;
- (i) incoming buffer means for storing the chunks when the chunks are received in said each of the plurality of intermediate nodes;
- (ii) outgoing buffer means for storing the chunks to be sent from said each of the plurality of intermediate nodes;
- (iii) controller means for determining an order and time in which the chunks are to be transferred by:
- (I) maintaining an end-to-end coordinated schedule for synchronous operation indicating an order and time at which the chunks are to be transferred
- (II) accepting new transfer requests for data in chunks from the sending host and from others of the plurality of intermediate nodes;
- (III) determining which of the transfer requests can be satisfied in accordance with the schedule without affecting any of the already accepted transfer requests;
- and
- (IV) revising the schedule in accordance with the those of the new transfer requests that can be satisfied;
- and
- (iv) switch means for switching each of the chunks from a portion of the incoming buffer means to a porting of the outgoing buffer means at times determined by the schedule as revised by the control means.
A method for synchronously transmitting data in chunks pursuant to accepted transfer requests from a sending host to a receiving host in a data network that comprises (i) a plurality of hosts including the sending host and the receiving host and (ii) a plurality of intermediate nodes interconnecting the plurality of hosts, each of the plurality of intermediate nodes comprising incoming buffer means for buffering incoming ones of the chunks and outgoing buffer means for buffering outgoing ones of the chunks, the method comprising:
- (a) sending a new request from the sending host to the receiving host;
- (b) determining a path through the plurality of intermediate nodes along which the data are to be sent from the sending host to the receiving host;
- and
- (c) at each intermediate node along the path:
- (i) maintaining an end-to end coordinated schedule for synchronous operation indicating an order and time at which the chunks are to be transferred;
- (ii) determining whether the new request can be satisfied in accordance with the schedule;
- (iii) revising the schedule in accordance with the new request if the request can be satisfied without affecting any of the already accepted requests;
- and
- (iv) switching each of the chunks from a portion of the incoming buffer means to a portion of the outgoing buffer means at times determined by the schedule as revised in step (c) (iii).
A device for synchronously transferring data in chunks among a plurality of nodes on a network on a space time basis comprising:
- incoming buffer means for storing the chunks received from the plurality of nodes;
- outgoing buffer means for storing the chunks to be sent to the plurality of nodes;
- controller means for determining an order and time in which each of the chunks is to be transferred among the plurality of nodes;
- and
- switch means for switching each of the chunks from a portion of the incoming buffer means corresponding to one of the nodes to a portion of the outgoing buffer means corresponding to another one of the nodes at times determined by the controller.
A method for synchronously transferring data in chunks pursuant to accepted transfer requests from among a plurality of nodes on a network on a space and time basis comprising the steps of:
- (a) storing the accepted chunks received from the plurality of nodes in an incoming buffer means;
- (b) storing the accepted chunks to be sent to the plurality of nodes in at least one of an outgoing buffer means or a pointer to a chunk in the incoming buffer;
- (c) determining an order and time for each step in end-to-end movement in which the chunks are to be transferred among the plurality of nodes;
- and
- (d) switching each of the chunks from a portion of the incoming buffer means corresponding to one of the nodes to a portion of the outgoing buffer means corresponding to another one of the nodes at the times determined by the determining step (c).
Dependencies are inferred from the claim text.