Smart Flow - Extendable Event-Based Middleware

Lead Research Organisation: University of Cambridge
Department Name: Computer Laboratory

Abstract

Healthcare providers world-wide are developing electronic solutions to improve patient care and reduce costs. This is a complex and challenging endeavour: such systems need to integrate many distributed and heterogeneous applications and coordinate widely distributed operations as events occur, without compromising patient safety and privacy. Middleware software is the plumbing that interconnects these various applications, however commercial off-the-shelf middleware is unable to adapt to the special requirements of the medical domain: e.g. a healthcare system must audit all access to a patient's records as they flow through the network and yet the audit data must not itself compromise confidentiality. This kind of confidential audit is not currently supported, yet would be best performed within middleware.Similarly, a haematology department would need to detect patterns of events: abnormal blood results sent to the electronic patient notes but with no timely confirmation of receipt would signal a network failure or other delay, and haematology would warn the ward. Middleware support for this does not exist, yet would be vital for an efficient solution. A major challenge in supporting such novel middleware functionality is that there is no single set of services that covers all application requirements. Instead, middleware functionality must evolve as new applications are added.The focus of this proposal is to address this challenge with research into an extendable, event-based middleware architecture, Smart Flow, which can integrate heterogeneous systems and provide a framework for dynamically managing middleware extensions. It will cover common requirements from medical domains, such as privacy, auditing and event pattern detection, without sacrificing efficiency.Applications coordinate all activity by sending and receiving messages using an event-driven approach. Messages are handled by Smart Flow nodes, as dictated by a set of extensions. Extensions may be responsible for intelligently routing messages between hospital departments, auditing message flow, applying access control checks to patient data and encrypting patient data to preserve confidentiality. By pushing this functionality into an intelligent middleware layer, all applications in a medical system can use these services, thus simplifying application design and deployment and improving performance. As new departments with new applications (and requirements) join the system, extensions can be added dynamically to Smart Flow nodes in a safe and consistent manner.Medical systems are loosely coupled, with a mixture of direct, synchronous interactions (e.g. looking up a patient's blood results), and indirect, asynchronous connections (e.g. a monthly batch of pathology reports, sent electronically to a cancer registry). To describe a middleware and its configurations, we will devise a formalism that can capture high-level middleware features, their decomposition into lower-level Smart Flow extensions, and the dependencies and exclusion relationships between extensions. This will let each application specify which extensions it needs. Dynamic reconfiguration will allow Smart Flow to support requirements that change over time.We will also extend the event-driven approach to the inner workings of the middleware itself. Each Smart Flow node will use an event-based kernel to drive the flow of information between extensions, in the form of explicit messages. The advantage of this approach is that existing middleware systems can be integrated with Smart Flow by treating them as particularly rich extensions. This means that Smart Flow can enhance existing middleware with extra features in a way that is straightforward, consistent and easily configured. Making information flow explicit will also enhance security, by identifying and regulating the use of internal messages.

Publications

10 25 50
 
Description Middleware comprising a small secure kernel with event-based extensions.

Support for Information Flow Control to monitor and control data flow throughout applications.
Exploitation Route The potential uses are diverse. A particularly important use is in cloud computing, especially in PaaS clouds. We have carried out case studies with applications in finance (stock-quote pairing) web services via the Ruby language for access to cancer records (SafeWeb) and have shown generic approaches to achieving IFC, e.g. via the Java runtime environment.
Sectors Digital/Communication/Information Technologies (including Software)

URL http://www.smartflow.org
 
Description The work on Information Flow Control led to a grant CloudSafetyNet. This grant is exploring the use of IFC in the cloud for flow control and demonstration of compliance with legislation.
First Year Of Impact 2012
Sector Digital/Communication/Information Technologies (including Software)
Impact Types Economic,Policy & public services