[] Distributed Architectures for Medical Systems

Download Report

Transcript [] 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, AgentBased Architecture for Acquisition, Management,
Archiving and Display of Real-Time Monitoring
Data in the Intensive Care Unit”, FORTH-ICS/TR261, 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