Distributed Architectures for Medical Systems

21
Distributed Architectures for Medical Systems Andrew A. Kitchen Computer Integrated Surgery 8 March 2001

description

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 - PowerPoint PPT Presentation

Transcript of Distributed Architectures for Medical Systems

Page 1: Distributed Architectures for Medical Systems

Distributed Architectures for Medical Systems

Andrew A. Kitchen

Computer Integrated Surgery

8 March 2001

Page 2: Distributed Architectures for Medical Systems

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

Page 3: Distributed Architectures for Medical Systems

Introducing a Polaris Tracker to the World

Creation of a CORBA IDL & Client/Server software to enable efficient networking of a Polaris

Tracking Device

Page 4: Distributed Architectures for Medical Systems

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

Page 5: Distributed Architectures for Medical Systems

The TINI Device

• Communicates via an RS232 port & an Ethernet port

• Dedicated board with sufficient RAM & speed

• Runs JAVA• Cheap & Small

Page 6: Distributed Architectures for Medical Systems

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

Page 7: Distributed Architectures for Medical Systems

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

Page 8: Distributed Architectures for Medical Systems

The Big Picture

• Multiple monitoring devices per patient

• Multiple devices per procedure

• Few doctors with limited capacity to integrate information

Page 9: Distributed Architectures for Medical Systems

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?

Page 10: Distributed Architectures for Medical Systems

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!

Page 11: Distributed Architectures for Medical Systems

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

Page 12: Distributed Architectures for Medical Systems

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.

Page 13: Distributed Architectures for Medical Systems

Design of an ICU Distributed Architecture

Page 14: Distributed Architectures for Medical Systems

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

Page 15: Distributed Architectures for Medical Systems

CORBA Handles the Interaction of the Clients and the Servers

Page 16: Distributed Architectures for Medical Systems

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

Page 17: Distributed Architectures for Medical Systems

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

Page 18: Distributed Architectures for Medical Systems

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

Page 19: Distributed Architectures for Medical Systems

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

Page 20: Distributed Architectures for Medical Systems

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

Page 21: Distributed Architectures for Medical Systems

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