This invention relates to medical diagnostic ultrasound systems and, in particular, to diagnostic ultrasound systems with onboard network monitoring and analysis capabilities.
Ultrasound systems are generally designed and built as highly portable instruments. Ultrasound systems may be configured as cart-borne instruments or as portable instruments the size of laptop or tablet computers which can be carried to a patient's bedside. While this portability means that ultrasound systems can be moved around a hospital or clinic, there is often a desire to connect an ultrasound system to a network so that its digital images can be transmitted to another location electronically, usually for storage or review. U.S. Pat. No. 5,715,823 (Wood et al.) illustrates an ultrasound system which can be connected to the Internet, whereby images acquired by the system can be accessed and sent worldwide. Since large image files such as live image loops utilize a large amount of digital storage it is frequently desirable in a large institutional setting such as a hospital or clinic to store these images on a separate device such as a picture archiving and communication system (PACS). In order to make this possible the ultrasound system needs to have connectivity capability so that it can interface successfully and easily to the network of the hospital or clinic.
At times, however, it can develop that the ultrasound system does not successfully communicate over the network of hospital or clinic. This may be due to hardware incompatibility, but more likely is due to and incompatibility of the protocols and exchanges on the network necessary to establish a valid connection with the network setups of the ultrasound system. These difficulties can arise when the ultrasound system is first connected to the network and the incompatibility manifests itself, or at a later time when changes are made to the network or other devices on the network. In such instances a serviceperson for the ultrasound system may be called in to remedy the difficulty. The first action that the serviceperson may request is to connect a network analysis device to the network to try to analyze the problem. But hospitals and clinics are generally reluctant to allow such connections. This is because these networks are usually complex and contain sensitive medical and personal patient data which the facility does not want to compromise. There is also a concern over viruses and other possibly deleterious effects from the access of unknown software to a network. Thus, bringing analysis instrumentation and devices to the hospital network can pose difficulties for both the network administrators trying to maintain the security of their network and data, as well as the serviceperson trying to resolve the ultrasound system network connection.
In accordance with the principles of the present invention, an ultrasonic diagnostic imaging system is provided which contains its own onboard network analysis capability. When a network connection problem arises, this capability can be used to monitor network traffic at the network level from the ultrasound system without the need to attach any other instruments to the network. Data traffic on the network can be monitored and selectively captured, then analyzed to locate the source of a network problem involving the ultrasound system. The system is particularly useful when the ultrasound system needs to transmit or receive DICOM format data over the network.
In the drawings:
Referring first to
The functioning of the processes of the image acquisition, processing and display path is controlled and coordinated by a system controller 30 which is coupled to the elements of the signal path. The system controller responds to commands from a user which can be input by a graphical user interface on a display or from a control panel 32 or voice recognition system. The system controller runs an operating system (OS) 31 which performs functions involving the user interface and/or the display 20. In accordance with the principles of the present invention the OS can also run a network monitor and analysis application 34 which is generally stored on a disk drive or other storage medium. The network monitor and analysis application can be one of a variety of available applications, the choice of which depends upon the OS being used and other operational considerations. Suitable applications include tcpdump for UNIX platforms, WinDump and WinPcap for Windows platforms, Ethereal, libpcap, and others, many of which are freely available downloads. The OS 31 is coupled to a network adapter 36 by which the ultrasound system communicates over a network 40. The network adapter comprises hardware and software by which the ultrasound system 10 can communicate over the network 40, formats for which include Ethernet, FDDI, PPP, token-ring, IEEE 802.11, I2C and others. Generally the network adapter will be in the form of a network interface card (NIC) or a modem card. When the ultrasound system is connected to the network 40 it can communicate with other devices on the network, examples of which include hospital information/radiology information systems (HIS/RIS) 42, picture archival and communication systems (PACS) 44, and workstation terminals 46.
When the ultrasound system 10 is first connected to the network 40 or while connected to the network 40, difficulty may arise with some or all of the communications between the ultrasound system and another device or devices on the network. For example, the ultrasound system image processor 24 may format images and other information in the DICOM format. DICOM is a well accepted format for diagnostic images and other medical information and ultrasound images are frequently encoded and stored in the DICOM format. In the arrangement of
An ultrasound system which is constructed to send and receive data over a TCP/IP network such as that shown in the above referenced Wood et al. patent operates on blocks of data called packets. Each packet of data on the network has headers which identify certain characteristics of the packet such as the device which was the source of the packet, the device which is the destination of the packet, the type of data, and others. Network monitor and analysis programs monitor the flow of packets on the network and record or capture them in their raw form. For instance, suppose that the Ethernet card of the ultrasound system picks up a packet from the network. The packet is passed to the OS and the OS must determine what type of packet has been received. The OS does this by stripping off the Ethernet header of the packet and looking at the next layer. Suppose the packet is found to be an IP packet. The OS then strips off the IP header to determine what type of IP packet it is. Suppose that the OS finds that this is a UDP (User Datagram Protocol) packet. The OS then strips off the UDP header and hands the packet over to the application for which the packet is intended. If the packet is now analyzed, little can be learned about its communication over the network because the headers have been removed. The purpose of a network monitor and analyzer of the present invention is to capture these packets with their headers intact so that their communication over the network and effects of other network devices can be studied. To do this the capture system needs to bypass the protocol stack of the ultrasound system and access the raw data traffic on the network, interacting directly with the network interface.
A network monitor and analysis package could capture all of the packet traffic that transits the network but preferably it exercises some selectivity about the data it acquires, a process known as packet filtering. A packet filter compares an incoming packet with criteria predefined by an operator and determines whether the packet should be accepted and copied to the listening application. In this way the listening application and its operator are not overwhelmed by a flood of data, but only see a subset of the network traffic that may be of interest. For example a filter could be set to capture only the ftp traffic generated by a particular host such as the PACS system 44. As other examples, the packet filter could be set to pick up all UDP packets, or all IP packets with a certain value in the protocol type field. By using a properly adjusted packet filter the operator can quickly zero in on a particular problem device or type of communication.
A second characteristic of the monitor and analysis package which is significant is the buffering of the captured packets. When a packet is acquired it is stored in a buffer together with other useful information such as a receipt timestamp and the size of the packet. A buffer allows packets on a high data rate network to be quickly stored and a larger buffer allows a significant number of packets to be acquired before being transferred to an application such as an analysis program. Buffers employed for this purpose are generally circular, meaning that data must be transferred out of the buffer before it is full, whereupon data will be overwritten and lost.
Two other characteristics of a monitor and analysis program may be useful in certain instances. One is packet injection, by which a user is able to write raw packets to the network. When this feature is present the user is able to send a customized packet with user-defined headers over the network, a feature useful to diagnose a specific network problem. Often this feature permits the same packet to be sent repeatedly at a high data rate to generate high speed traffic for testing purposes. In a purely listening run as described below, packet injection is not used.
The other characteristic which a monitor and analysis package may have is a network monitoring capability. This capability enables the program to calculate simple statistics on network traffic. A network monitor can classify network traffic using the same principles as the packet filter, then counts the number of packets of the measured classification. This information is passed to the user at selected regular intervals. A network monitor could be used to determine the number of DICOM packets that transit the network in a given interval, or the percentage of network traffic that is DICOM packets, for instance.
Thus, a typical monitor and analysis program of the present invention will be able to capture raw packets transiting the network, both those destined to and from the ultrasound system and others exchanged by other hosts on the network. It should be able to filter the packets according to user-specified rules before passing them on to the analysis application. It may optionally be able to transmit raw packets to the network and it may optionally be able to gather statistics about the network traffic.
After the captured network data has been transferred to the analysis application it must be displayed in a way that is useful to the network diagnostician. This is done by giving the application the ability to dissect and display information of a wide variety of communication protocols. The Ethereal analysis program can dissect 673 commonly used protocols, for example. A number of analysis applications are capable of reading capture file formats of many of the other more widely used “sniffer” programs in addition to their own. This provides the ability to read live network data as well as data previously acquired by other capture programs.
An example of a method of using a monitor an analysis program in a listening mode for the analysis of a DICOM network communication problem is illustrated by the flowchart of
Returning to
The bottom packet #21 in the upper window 102 is highlighted, causing the details of packet #21 to be displayed in the middle window 104. The identifier shows that packet #21 is a DICOM (DCM) packet and the packet detail shows the detail expected of a DICOM packet such as patient demographic information, imaging system modality, physician, date of study, and so forth.
The lower window 106 shows the packet data expressed in hexadecimal form. Each byte of the packet is expressed as two consecutive hexadecimal digits. The hexadecimal data illuminates the packet data in its most basic machine language form.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB06/51475 | 5/10/2006 | WO | 00 | 11/13/2007 |
Number | Date | Country | |
---|---|---|---|
60683435 | May 2005 | US |