Distributed Architectures for Medical Systems
-
Upload
calista-osborne -
Category
Documents
-
view
23 -
download
0
description
Transcript of Distributed Architectures for Medical Systems
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.
Design of an ICU Distributed Architecture
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