EP0429201A2

High efficiency image data transfer networks and methods.

Abstract

A network (A) carries large image blocks among medical diagnostic equipment (20, 22, 24), archive computer (26), and data handling and display stations (28, 30). Four kilobyte packets of 4 megabyte image blocks are moved from transmit buffers (38) to queuing buffers (42). The order in which packets from the queuing buffers are transmitted on the network medium (10) is determined by a combination of an assigned priority, duration in the buffer, and a statistical availability of the addressed receiving node. A data link (52) at the receiving node includes an elasticity buffer (122) which stores a small plurality of bits, e.g. 5, to accommodate for variances in the clock speed of the transmitting and receiving nodes. A buffer table (60) monitors memory addresses at which preceding data packets corresponding to t he same image are stored and provides address information to send each subsequently received packet. Before transmitting the image data packet, the transmitting node data link first sends a query to the receiving node to check availability to avoid the transmission of relatively large data packets to unavailable nodes. Each transmitting node normally passes a token after it has transmitted one packet of data. When the transmitting node holds the token for several sequential data packet transmissions, it passes a restricted token which allows the other nodes to transmit high priority small messages that are much smaller than the image data packets.

EP0429201A2, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 31 October 2010, 15.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

25 claims: 13 independent, 12 dependent

  1. 1
    A data transfer network comprising:a network media (A, 10) extending between each of a plurality of nodes (B);means (20, 22, 24) for generating image representations connected with one of said nodes, each image representation including a relatively large block of image data;means for processing image data connected to another of said nodes;a first of said nodes including: buffer means (38) for storing each of a plurality of image data packets, which taken together comprise an image data block, first data link means (52) for transmitting each data packet on said network media;a second of the nodes including: second data link means (52′) for receiving the data packet from the network media (A,10);receiver memory means (62) for storing at least one image data block, characterised in that: said first node includes a transmit data management means (46) for controlling the transfer of data between said buffer means (38) and said data link means (52) and said second node includes receive data management means (56) for transferring image data packets from said second data link means to said receiver memory means (62), and, receiver memory address control means (60) for monitoring addresses of said receiver memory means (62) at which previously received image data packets are stored and providing receiver memory addresses for each received image data packet.
  2. 2
    A network according to Claim 1 further including:receiver memory control means (74) which is responsive to operator input to request a selected image representation, the receiver memory control means (74) issuing an electronic request for the requested image representation;and the first node further including transmit control means (78) for controlling image representations to be transmitted, said transmit data management means (46) controlling the transfer of data packets of the selected image representation and said receiver control means (76) and said transmit control means (78) being operatlvely connected for the transfer of the electronic requests therebetween.
  3. 3
    A network according to Claim 1 or 2 wherein the first node includes a plurality of queuing buffers (42), which hold image packets selected by different network nodes, a transfer of one of said data packets having a higher priority than the other, transmit throttling means (48) for controlling which of said data packets in said queuing buffers (42) is passed to said data link means (52) to be transmitted on said network media (A,10) first, said transmit throttling means (48) assessing the assigned priority of the data packets, the duration that each data packet has been in said queuing buffers (42), and a statistical probability that a designated receiving node is available to receive said data packet.
  4. 4
    A network according to Claim 1, 2 or 3 wherein each data link includes an elasticity buffer (122) into which data is clocked at a clocking rate of data received from said network media (A,10) and out of which data is clocked at a clocking rate of the receiving data link (52′), the elasticity buffer (1-22) having sufficient storage to accommodate variable numbers of bits of data attributable to differences in the clocking -rates of said transmitted data and said receiver data link (52′).
  5. 5
    A network according to Claim 4 further including packing means (102) for packing data received from said elasticity buffer (122) in an n-bit format into an m-bit format, where m is greater than n, the packing means (102) including a plurality of n-bit buffers (110a, 110b, 110c, 110d), clocking means (124) for clocking incoming data serially through said n-bit buffers (110a, 110b, 110c, 110d) until the n-bit buffers are filled, said clocking means (124) concurrently clocking said n-bit buffers (110a, 110b, 110c, 110d) into an m-bit buffer (112) and clocking m-bit data from said m-bit buffer (112).
  6. 6
    A network according to Claim 5 wherein said buffer means (122) stores data in m-bit format and further including an unpacking means (102) for converting the m-bit data to n-bit data, said unpacking means (102) including:an m-bit buffer (104) for receiving m-bit words;n multiplexor means (106) connected with said m-bit buffer (104);clocking means (108) for clocking said n multiplexor means (106) and said m-bit buffer (104), said clocking means (108) clocking the multiplexor (106) means about m/n times as fast as the m-bit buffer (104) such that each clocking of the n multiplexor (106) means generates an n-bit word for transmission on said network media (A,10).
  7. 7
    A network according to any one of the preceding claims wherein each node includes management means for generating a receive query to a designated receiving node, when it is ready to transmit an image data packet, to determine whether said receive node is available to receive data packets and for transmitting the data packet with appropriate address headers when a reply to the query is received.
  8. 8
    A network according to Claim 7 wherein a token permits the node possessing said token to transmit and the management means of the node with the token includes means for selectively generating a restricted token which is passed to other nodes to enable only small packets of data to be transmitted on the network media, the small packets of data being much smaller than the image data packets.
  9. 9
    A network according to any one of the preceding claims further including packing means (102) for packing data received at the second data link means (52′) in an n-bit format into an m-bit format, where a is an integer greater than n, said packing means (102) including m/n n-bit buffers (110a, 110b, 110c, 110d), clocking means for clocking incoming data serially through the n-bit buffers until the n-bit buffers are filled, said clocking means concurrently clocking the n-bit buffers into an m-bit buffer and clocking m-bit format data from the m-bit buffer.
  10. 10
    A network according to any one of the preceding claims wherein the buffer means stores data in an m-bit format and data is transmitted on the network media (A, 10) in an n-bit format, where n is an integer and m is an integer that is an even multiple of n, and further including unpacking means (102) for converting the m-bit format to n-bit format data, the unpacking means including:an m-bit buffer (104) for receiving words of m-bit format;n multiplexor means (106) connected with the m-bit buffer;clocking means (108) for clocking said multiplexor means (106) and said m-bit buffer (104), said clocking means (108) clocking said multiplexor means (106) about m/n times as fast as said m-bit buffer (104) such that each clocking of said n multiplexor means (106) generates an n-bit format word for transmission on the network media (A, 10).
  11. 11
    A data transfer network comprising:a network media (A,10) extending between each of a plurality of nodes (B);means (20, 22, 24, 26, 28) for generating and processing large blocks of data connected with a plurality of said nodes;a first of said nodes including: data link means (52′) for receiving a plurality of data packets which taken together comprise one of the large blocks of data from the network media;and memory means (62) for storing the large block of data;characterised in that said node further includes receive data management means (56) for transferring each of the received data packets from said data link means (52′) to the memory means (62);and, memory address control means (60) for monitoring addresses of the memory means (62) where previously received data packets are stored and for providing memory addresses for each subsequently received data packet.
  12. 12
    A network according to Claim 11 wherein data link means (52′) includes an elasticity buffer (122) into which said data packets are clocked in at a clocking rate of an upstream transmitting node and out of which data is clocked to said memory means (62) at a clocking rate of said first node.
  13. 13
    A network according to Claim 11 or 12 wherein said memory means (62) stores data in an m-bit format and data is transmitted on the network media (A, 10) in an n-bit format and further including packing means (102) for packing n-bit format data received by said data link means (52′) into m-bit format data for storage in said memory means (62).
  14. 14
    A data transfer network comprising:a network media (A,10) extending between a plurality of nodes (B);means (32, 34, 36, 40, 44, 52, 52′, 54, 66, 64, 70) for processing large blocks of data connected with at least some of the nodes;a first of the nodes transmitting data to a second of the nodes characterised in that said second node includes: an elasticity buffer (122) into which data from the first node is clocked at a clocking rate of the first node and out of which the data is clocked at a clocking rate of the second node, said elasticity buffer (122) having a sufficient storage capacity to accommodate variable numbers of bits of data attributable to differences in the clocking rates of the first and second nodes.
  15. 15
    A network according to Claim 14 wherein data from the elasticity buffer (122) is in an n-bit format and which further includes packing means (102) for packing the n-bit format data into m-bit format data, where n is an integer and m is an integer which is an even multiple of n, said packing means (102) including:m/n serially connected n-bit buffers (110a, 110b, 110c, 110d) clocking means for clocking incoming data serially through said n-bit buffers (110a, 110b, 110c, 110d) until each is filled, the clocking means further concurrently clocking all m/n n-bit buffers (110a, 110b, 110c, 110d) to clock out an m-bit format word.
  16. 16
    A data transfer network comprising:a network media (A,10) on which data is passed in n-bit format, where n is an integer, the network media extending between a plurality of nodes (B);means (32, 34, 36, 40, 44, 52, 52′, 54, 64, 66, 70) connected with said nodes for processing and handling blocks of m-bit format data, where m is an integer that is an even multiple of n;at least one of said nodes including: data link means (52′) for receiving n-bit data from said network media (A,10), m/n serially connected n-bit buffers (110a, 110b, 110c, 110d), until said buffers are filled and, when said buffers are filled, concurrently clocking said buffers (110a, 110b, 110c, 110d) to pass an m-bit format word to the associated one of the data processing and handling means.
  17. 17
    A network according to Claim 16 wherein a second of the nodes includes:an m-bit buffer means (104) for storing a plurality of packets of m-bit data to be transferred on the network media, each stored packet awaiting transmission to a designated other receiving node, each of the packets having a relative priority and each of the designated receiving nodes having a statistical probability of availability to receive packets;unpacking means (102) for converting data packets stored in m-bit buffer means (104) to n-bit format data for transmission on the network media (A,10);a second data link (52) for transmitting the n-bit data on the network media (A,10);and, means for selecting an order in which the data packets are passed from the m-bit buffer means (104) to said unpacking means (102) and said data link means (52) in accordance with a combination of the relative priority of each packet and the statistical availability of the designated receiving node for each packet.
  18. 18
    A data transfer network comprising:a network (A,10) media extending between each of a plurality of nodes (B);means for processing and handling data connected with the nodes (B);means for processing and handling data connected with the nodes (B);characterised in that a first of the nodes (B) includes: means (38) for storing a plurality of data packets, each packet being designated for transmission to one of the other receiving nodes and being assigned a relative transmission priority, each designated receiving node having a statistical probability of availability to receive a transmitted data packet;data link means (52) operatively connected with said storing means (38) and said network media (A,10) for transmitting data packets serially on said network media (A,10);data packet order determining means for determining an order in which said data link means (52) transmits the stored data packets on said network media (A,10) in accordance with a weighted combination of the assigned priority of each packet and the statistical availability probability of the corresponding designated receiving node.
  19. 19
    A method of transferring data among a plurality of nodes (B) interconnected by a network media (A,10), the method comprising the steps of:at a first of the nodes, storing at least one large block of image data, serially transmitting smaller data packets of the large data block on the network media (A,10) to a second node and at a second node, serially receiving said data packets from the network media and storing each received packet in a memory (62);characterised in that said method includes the step of at said second node, keeping track of where packets, corresponding to each data block being received packet by packet, are stored and directing each subsequently received packet to appropriate addresses in the memory (62).
  20. 20
    A method of transferring data among a plurality of nodes which are interconnected by a plurality of nodes, the nodes being clocked at clocking rates which are close to each other but not exactly the same, characterised in that said method comprises the steps of transmitting data from a first of the nodes at a first clocking rate;at a second of the nodes, clocking the data into a buffer at the first clocking rate and clocking the data out of the buffer at a second clocking rate at which the second node is clocked.
  21. 21
    A method of transferring data between a plurality of devices that process data in m-bit format on a network media that transmits data in an n-bit format, characterised in that the method comprises the steps of:clocking n-bit data serially through a plurality of n-bit buffers (110a, 110b, 110c, 110d);when said n-bit buffers (110a, 110b, 110c, 110d) are filled, clocking said n-bit buffers (110a, 110b, 110c, 110d) concurrently to clock out an m-bit format word.
  22. 22
    A method of transferring packets of data among a plurality of nodes (B) that are interconnected by a network media, the method comprising the steps of:at one of the nodes, storing a plurality of packets of data, each of which is waiting for transmission on the media (A,10), to a designated one of said plurality of nodes, each packet having a designated priority and each designated node having a statistical probability of availability to receive a packet;and characterised in that said method comprises the step of serially transmitting the awaiting packets on the network media (A,10) in an order established by a combination of both the relative priority of each packet and the statistical availability of the corresponding designated node.
  23. 23
    A method according to Claim 22 further including before each packet is transmitted the step of transmitting a query to the designated receiving node to inquire whether it is available to receive a data packet.
  24. 24
    A method of transferring large packets of data and small data transmissions among a plurality of nodes (B) that are interconnected in a ring by a network media (A,10) characterised in that only a node which has a token is permitted on the network media and characterised in that said method comprises the steps of:a first node, which has the token intermittently transmitting new packets of data on the network media (A,10);between transmission of the data packets, said first node with the token passing a restricted token around the ring, said restricted token permitting a node possessing said restricted token to transmit smaller data transmissions over the network media (A,10) but not the large data packets;as the restricted token is passed around the ring, a second node seizing the restricted token and transmitting a smaller data transmission to a third node.
  25. 25
    A method according to Claim 24 wherein each data packet transmitted on the network media (A,10) between an originating node and a destination node is received and retransmitted by each intervening node, the packet being clocked into each intervening node at a clock rate of an immediately upstream node and being clocked out of the intervening node at a clock rate of the intervening node.
Independent claims25