Port logic for a communication bus system
First Claim
Patent Images
1. Method for attaining asynchronous, collision-free data signal communication on a local shared bus network interconnecting a plurality of transceiving ports, each port executing the steps of:
- (1) signalling an intention to transmit a message;
(2) delaying transmission for a period equal to the total bus latency plus the propagation delay of an intention to transmit signal;
(3) ascertaining that no signals indicating an intention to transmit, and no data signals, are being received at said each port; and
then(4) sending the message.
0 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and method for enabling asynchronous, collision-free communication between ports on a local shared bus network which is efficient in the use of bus bandwidth and which, in one embodiment, provides a bounded, guaranteed time to transmission for each port.
-
Citations
12 Claims
-
1. Method for attaining asynchronous, collision-free data signal communication on a local shared bus network interconnecting a plurality of transceiving ports, each port executing the steps of:
-
(1) signalling an intention to transmit a message; (2) delaying transmission for a period equal to the total bus latency plus the propagation delay of an intention to transmit signal; (3) ascertaining that no signals indicating an intention to transmit, and no data signals, are being received at said each port; and
then(4) sending the message.
-
-
2. Method for attaining bounded wait, asynchronous, collision-free data signal communication on a local shared bus network interconnecting a plurality of transceiving ports, each port executing the steps of:
-
(1) ascertaining that no data signals are being received at said each port throughout a period equal to twice the total bus latency; (2) signalling an intention to transmit a message; (3) delaying transmission for a period equal to the total bus latency plus the propagation delay of an intention to transmit signal; (4) ascertaining that no signals indicating an intention to transmit, and no data signals, are being received at said each port; and
then(5) sending the message.
-
-
3. Method for enabling asynchronous, collision-free communication of packets of data between ports on a local shared bus network including a data bus and a control line, wherein each port prior to sending a packet executes the steps of:
-
applying a control signal to said control line; delaying transmission for a time interval equal to the propagation delay along the control line from said each port to the last port plus the length of time required for an electrical signal to propagate from one end of said data bus to the other; ascertaining when said data bus is idle and said control line is free at said each port of signals from other ports; and
thentransmitting a packet of data on said data bus and removing said control signal from said control line.
-
-
4. Method for enabling asynchronous, bounded wait, collision-free communication of packets of data between ports on a local shared bus network including a data bus and a control line, wherein each port prior to sending a packet executes the steps of:
-
ascertaining that said data bus is unoccupied, as observed at the port, for a period equal to twice the signal propagation delay along the entire length of said data bus; applying a control signal to said control line; delaying transmission for a period equal to the propagation delay along said control line from said each port to the last port plus the propagation delay along the entire length of said data bus; ascertaining when said data bus is idle and said control line is free at said each port of signals from other ports; and
thentransmitting a packet of data on said data bus and removing said control signal from said control line.
-
-
5. A communications method for attaining collision-free transmission for each asynchronously operated transceiving port of an ensemble of N ports (1, 2, 3, . . . ,J, . . . N), each port coupling a common communications path of latency T, each port including means for detecting the signal occupancy of the path and further being adapted to send and receive any length messages;
- wherein each port J prior to sending a message executes the steps of;
(1) signalling the ports J+1, J+2, . . . ,N of an intention to transmit; (2) delaying sending the message for a period equal to the signal path latency from port J to port N plus the signal path latency T; (3) thereafter ascertaining that no signal indicating an intention to transmit is being received at port J from any of ports 1, 2, . . . ,J-1, and that said common communication path at port J is unoccupied; and
then(B
4) sending the message.
- wherein each port J prior to sending a message executes the steps of;
-
6. A communication method for attaining bounded wait collision-free transmission for each asynchronously operated transceiving port of an ensemble of N ports (1, 2, 3, . . . ,J, . . . N), each port coupling a common communications path of latency T, each port including means for detecting the signal occupancy of the path and further being adapted to send and receive messages;
- wherein each port J prior to sending a message executes the steps of;
(1) ascertaining the common communication path condition as being unoccupied for a period 2T;
then(2) signalling the ports J+1, J+2, . . . ,N of an intention to transmit; (3) delaying transmission for a period equal to the intention signal latency from port J to port N plus the communication path latency T; (4) ascertaining that no signal indicating an intention to transmit is being received at port J from any of ports 1,2, . . . ,J-1, and that said common communication path at port J is unoccupied; and
then(5) sending the message.
- wherein each port J prior to sending a message executes the steps of;
-
7. Method for attaining asynchronous, collision-free communication of data packets on a local shared bus network interconnecting a plurality of N ordered transceiving ports (1,2,3, . . . ,J, . . . N), the bus network including a data bus of latency T and a control wire having a propagation delay from port J to port N of R(J), each port J including means for ascertaining the presence of a data packet on said data bus at said port J, and further being adapted to send and receive on said data bus any length data packet;
- wherein each port J upon having a packet available for transmission executes the steps of;
(1) placing a signal S(J) on said control wire to communicate to ports J+1, J+2, . . . ,N an intention to transmit a packet; (2) delaying transmission for the time interval R(J)+T; (3) ascertaining that no signal indicating an intention to transmit is being received at port J from any of ports 1,2, . . . ,J-1, and that said common communication path at port J is unoccupied; and
then(4) transmitting the packet and terminating signal S(J).
- wherein each port J upon having a packet available for transmission executes the steps of;
-
8. Method for attaining asynchronous, bound wait, collision-free communication of data packets on a local shared bus network interconnecting a plurality of N ordered transceiving ports (1,2,3, . . . ,J, . . . N), the bus network including a data bus of latency T and a control wire having a propagation delay from port J to port N of R(J), each port J including means for ascertaining the presence of a data packet on said data bus at said port J, and further being adapted to send and receive on said data bus any length data packet;
- wherein each port J upon having a packet available for transmission executes the steps of;
(1) ascertaining that the data bus at said port J is unoccupied by a data packet throughout a period 2T; (2) placing a signal S(J) on said control wire to communicate to ports J+1, J+2, . . . ,N an intention to transmit a packet; (3) delaying transmission for the time interval R(J)+T; (4) ascertaining that no signal indicating an intention to transmit is being received at port J from any of ports 1,2, . . . ,J-1, and that said common communication path at port J is unoccupied; and
then(5) transmitting the packet and terminating signal S(J).
- wherein each port J upon having a packet available for transmission executes the steps of;
-
9. Local shared bus network for attaining asynchronous collision-free communication of data packets, comprising:
-
data bus means having a signal latency T; a plurality of N transceiving ports (1,2,3, . . . ,J, . . . N); control path means having a propagation delay from port J to port N of R(J); each port J comprising; send flip flop means S(J) for selectively signalling to ports J+1, J+2, . . . ,N, on said control path means an intention to transmit a data packet on said data bus means; receive means, B(J), for detecting the absence of a data packet on said data bus means at said port J; receive means, P(J), for detecting the absence at port J of a signal on said control path means from any of ports 1,2, . . . ,J-1; transmit control means for detecting the availability of a packet for transmitting by said port J on said data bus and providing availability signal a(J); means responsive to availability signal a(J) for setting flip flop means S(J); timing means for timing a period R(J)+T after the setting of flip flop means S(J); means responsive to said timing means, said receive means, B(J) and said receive means, P(J), for transmitting said packet on said data bus means and for resetting said flip flop means S(J) when said bus has been observed idle at B(J) and said receive means P(J) detects the absence of a signal on said control path means at a time after R(J)+T.
-
-
10. Local shared bus network for attaining asynchronous, bounded wait, collision-free communication of data packets, comprising:
-
data bus means having a signal latency T; a plurality of N transceiving ports (1,2,3, . . . , J, . . . N); control path means having a propagation delay from port J to port N of R(J); each port J comprising; send flip flop means S(J) for selectively signalling to ports J+1, J+2, . . . ,N, on said control path means an intention to transmit a data packet on said data bus means; receive means, B(J), for detecting the absence of a data packet on said data bus means at said port J; receive means, P(J), for detecting the absence at port J of a signal on said control path means from any of ports 1,2, . . . ,J-1; transmit control means for detecting the availability of a packet for transmitting by said port J on said data bus and providing availability signal a(J); first timing means responsive to availability signal a(J) for ascertaining that said data bus means is unoccupied at port J by a data packet throughout a period 2T; means responsive to said first timing means for setting flip flop means S(J); second timing means for timing a period R(J)+T after the setting of flip flop means S(J); means responsive to said timing means, said receive means, B(J), and said receive means, P(J), for transmitting said packet on said data bus means and for resetting said flip flop means S(J) when said bus has been observed idle at B(J) and said receive means P(J) detects the absence of a signal on said control path means at a time after R(J)+T.
-
-
11. Communication port control apparatus for controlling communication from a device over an asynchronous, shared bus network including a plurality of ports (1,2, . . . ,J, . . . ,N), the bus network including a data bus means having a data bus signal latency T and a control path means having a control signal latency from the Jth to the Nth port of R(J), the control apparatus for the Jth port comprising:
-
receive means, B(J), for ascertaining the absence of a data packet on said data bus means at said Jth port; receive means, P(J), for ascertaining the absence of a control signal on said control path means at the input to said Jth port; transmit control means for signalling the availability for transmission of a data packet; send means responsive to said transmit control means for signalling on said control path means a transmit intention signal; timing means for timing a period R(J)+T following the start of said transmit intention signal from said send means; and means responsive to said timing means, said receive means, B(J), and said receive means, P(J), for enabling transmission of a data packet on said data bus means; whereby asynchronous, collision-free communication of data packets by said Jth port is enabled with respect to a shared bus network.
-
-
12. Communication port control apparatus for controlling communication from a device over an asynchronous bus network including a plurality of ports (1,2, . . . ,J, . . . ,N), the bus network including a data bus means having a data bus signal latency T and a control path means having a control signal latency from the Jth to the Nth port of R(J), the control apparatus for the Jth port comprising:
-
receive means, B(J), for ascertaining the absence of a data packet on said data bus means at said Jth port; receive means, P(J), for ascertaining the absence of a control signal on said control path means at the input to said Jth port; transmit control means for signalling the availability for transmission of a data packet; first timing means responsive to said transmit control means and said receive means for timing a period 2T during which said data bus means is clear of data packets following availability of a data packet; send means responsive to said first timing means for signalling on said control path means a transmit intention signal; second timing means for timing a period R(J)+T following the start of said transmit intention signal from said send means; and means responsive to said timing means, said receive means, B(J), and said receive means, P(J), for enabling transmission of a data packet on said data bus means; whereby asynchronous, collision-free communication of data packets by said Jth port is enabled with respect to a shared bus network with a bounded, guaranteed time to transmission of said data packet.
-
Specification