210 likes | 333 Views
Distributed Architectures for Medical Systems. Andrew A. Kitchen Computer Integrated Surgery 8 March 2001. Plan of Attack. Brief outline of Polaris Tracking Device CORBA IDL project Why efficient usage of distributed architectures in a medical situation is beneficial
E N D
Distributed Architectures for Medical Systems Andrew A. Kitchen Computer Integrated Surgery 8 March 2001
Plan of Attack • Brief outline of Polaris Tracking Device CORBA IDL project • Why efficient usage of distributed architectures in a medical situation is beneficial • How such an architecture can be implemented • Conclusion
Introducing a Polaris Tracker to the World Creation of a CORBA IDL & Client/Server software to enable efficient networking of a Polaris Tracking Device
The Polaris Device • Efficient Optical Tracker • Communicates via an RS232 port • Already has C++ code written for it • It is available in the ERC and is vital for other ERC endeavors
The TINI Device • Communicates via an RS232 port & an Ethernet port • Dedicated board with sufficient RAM & speed • Runs JAVA • Cheap & Small
The IDL Negotiates Everything • It will allow the Polaris to talk to client through the TINI • It runs on a TINI in a JAVA environment • It is independent of client platform • Client/Server code handle all data acquisition
Plan of Attack • Brief outline of Polaris Tracking Device CORBA IDL project • Why efficient usage of distributed architectures in a medical situation is beneficial • How such an architecture can be implemented • Conclusion
The Big Picture • Multiple monitoring devices per patient • Multiple devices per procedure • Few doctors with limited capacity to integrate information
Where’s the Problem? • How to manage many devices, and do it within a limited space? • How to integrate multiple sets of data into a coherent representation of what is happening? • How to manipulate data in a fast & efficient manner? • How many devices can be handled at once? • Will each device be able to integrate with the other devices? Is there a standard? • How much will it cost?
A Sufficient Implementation of a Distributed Medical System Should…. • Manage multiple devices and do it without incorporating too much of a footprint • Provide quick & efficient data collection from all devices • Allow for centralization of control & data management • Scalability • Adhere to / set recognized standards • Be economical!
Plan of Attack • Brief outline of Polaris Tracking Device CORBA IDL project • Why efficient usage of distributed architectures in a medical situation is beneficial • How such an architecture can be implemented • Conclusion
A Sample Implementation • Katehakis, D.G., et al. “A Distributed, Agent-Based Architecture for Acquisition, Management, Archiving and Display of Real-Time Monitoring Data in the Intensive Care Unit”, FORTH-ICS/TR-261, October 1999.
Overall Structure of Architecture • The Acquisition Agents run on servers on the network • Acquisition Agents are continuously querying the device for current data • The Monitoring Agents run on clients on the network • Monitoring Agents occasionally query the Acquisition Agents for current data
CORBA Handles the Interaction of the Clients and the Servers
What does this gain us? • Frees client resources • Allows for significant expansion of network to include numerous servers & devices • Provides a common communication protocol (CORBA) • Makes possible integration of data from multiple devices on a single client • Functions well in real-time due to dedicated server querying
What about the holes in the armor? • Every device must have an associated acquisition agent, which must run on a computer (although it need not be dedicated to one device if it has enough I/O ports) • CORBA isn’t used by 100% of the developers, but it is used by a vast majority • Extra computers take up space • Extra computers cost a lot of money
Plan of Attack • Brief outline of Polaris Tracking Device CORBA IDL project • Why efficient usage of distributed architectures in a medical situation is beneficial • How such an architecture can be implemented • Conclusion
Smaller, Cheaper & More Universal • TINIs are very, very cheap ($57 - $67) • TINIs are, well, tiny • TINIs have Ethernet & RS232 ports • TINIs run JAVA, which is available for free • JacORB is a free CORBA ORB coded in JAVA • The development tools for the JAVA code is free
Polaris, TINI & CORBA • TINI is a dedicated server that runs JAVA • The JacORB runs on the TINI board • Creation of an IDL and client/server functions for the Polaris Tracker for use with the JacORB allows the TINI to communicate with the Polaris Tracker and with the clients on the network • TINI operates as a dedicated server running a single Acquisition Agent and controlling a single device
What’s the Big Deal? Creating an IDL and the associated client/server code for the Polaris Tracker would prove the viability of replacing dedicated workstations with smaller and cheaper TINI boards. Using a JAVA implementation of the CORBA ORB and client/server functions would provide a strong impetus for future development using the TINI, possibly leading to the acceptance of JAVA as an industry standard for networking medical devices in a distributed architecture