This is the first in a series of articles about the Event Web (EW), a thin layer on top of the World Wide Web that is continuously active, monitoring information sources and responding appropriately as conditions change. A new type of application called Sense and Respond (S&R) applications, that continuously respond to critical conditions, can be built on top of the EW.
The series will discuss the following technologies and solutions:
- Service-oriented architectures (SOA) and event-driven architectures (EDA)
- Relationships that the components of these architectures have to technologies such as data stream management systems, business intelligence systems, and rule-based systems
- Ways of implementing event-driven applications using Java and .NET
- A variety of S&R applications, ranging from intrusion detection to trading
The EW is a project in the Infospheres Group at Caltech. We hope this series encourages developers to form a community to build tools that make the EW a reality. This initial article presents the motivation for developing S&R applications but does not present implementation details; the articles further in the series will.
Sense and Respond Applications
S&R applications amplify an enterprise’s capability to respond to threats and opportunities. The ability to respond appropriately to critical conditions is crucial to survival. In nature, for example, a zebra that doesn’t run away from a lion dies. Conversely, a zebra that continuously runs away from non-threats can die from wasted energy. S&R applications have actuators or responders that execute actions when the applications detect critical conditions, just as animals have muscles that help them respond.
An enterprise S&R system consists of a network of distributed S&R systems, each serving a specific role. S&R applications share many of the behaviors of groups that respond collectively to their environments. You can think of a pride of lions as an S&R system consisting of multiple lions, each of which, in turn, is an S&R system.
Living things form models for the ways in which components of their environments behave: A zebra has an innate model of a lion’s behavior; cattle that graze near a railroad track learn a model of a train’s behavior. Similarly, S&R systems have models of their environments, which may be either specified by users or learned by the system. Machine learning algorithms help the systems learn critical conditions.
Sensing the Environment Beyond the Enterprise
An enterprise’s threats and opportunities arise from events both inside and outside the organization. Competitors, governments, news organizations, and markets can generate opportunities and threats. That’s why S&R systems monitor events both outside and inside the enterprise. By contrast, traditional enterprise information systems focus on information only within the organization where the time, place, form, and accuracy of events are controlled.
The most challenging aspect of monitoring the environment outside the enterprise is that the data is not within the enterprise’s control: Competitors do not structure data in schemas that suit the enterprise, nor do they deliver data on schedules that the enterprise prescribes. As a consequence, errors are inevitable: data from the environment may be imprecise (as in natural-language text), incorrect, or delayed. A system may fail to detect a genuine threat or opportunity, and it may incorrectly perceive threats and opportunities that do not exist. S&R takes this reality into account and places greater emphasis on asynchrony and imprecision than traditional EAI does.
Connecting the Dots
Devices such as Pocket PCs, PDAs, and mobile phones, and technologies such as e-mail and instant messaging generate increasing amounts of data. Think of these data items as dots. To understand the changing big picture, you have to connect these dots as they arrive. Opportunities and threats are visible in the big picture, not in the individual dots. S&R systems collect dots, create the changing big picture, identify new opportunities and threats as the big picture changes, and respond by invoking applications and sending alerts to your devices. (See “The New Human Frontier of Software: Mobile Computing” for further discussion of this topic.)
The Event Web
A great deal has been written about information utilities that provide information services just as electric utilities provide electricity. A valuable service is one that responds or helps you respond to threats and opportunities. The Event Web (EW) is just such a utility. (Articles that appear later in this series will discuss the design and implementation of the EW.)
Examples of S&R applications that can be built on top of the EW include those that would help with the following activities:
- CEOs respond to possible violations of Sarbanes-Oxley compliance rules.
- Operations managers respond when service-level agreements are likely to be violated.
- Information assurance officers respond to inappropriate patterns of access to sensitive information and applications.
- Purchasing managers respond to purchasing and logistics opportunities.
- Public health officials respond to the potential onset of a pandemic.
- Investors take advantage of arbitrage opportunities.
- Teenagers get alerts when favorite bands tour nearby locations (at times that are open on their calendars and when ticket prices are within their budgets).
A Primer on SOA and EDA
Over the decades, software architectures developed as compositional structures based on request/response calls: synchronous requests to components (procedures, objects, servers, and services) that reply to each request with a response. The components are quiescent until they receive a request. SOA is the framework for systematic composition based on synchronous request/reply calls. By contrast, event-driven applications are active continuously; they are not quiescent awaiting requests. event-driven architectures deal with components and compositional structures that facilitate continuous monitoring and response. (The next article in this series examines service-oriented architecture and event-driven architecture.)
Many people in diverse areas and at various companies are contributing to the development of concepts discussed in this series. Later articles will provide links to their work. In this first article, we mention a couple of instances of prior or ongoing work. Stephan Haeckel made the phrase “sense and respond” popular in an excellent book called the Adaptive Enterprise published by the Harvard Business School Press. Roy Schulte of Gartner Research has written and spoken a great deal about event-driven architectures. The ideas in this article have been contributed, in part, by researchers at the Caltech Infospheres Group and iSpheres Corporation.
About the Authors
K. Mani Chandy is the Simon Ramo Professor of Computer Science at the California Institute of Technology, where he has been a professor since 1989, twice holding the office of Executive Officer of the Computer Science Department. Dr. Chandy does research in distributed computing. He has published three books and over a hundred papers on distributed computing, verification of concurrent programs, parallel programming languages, and performance models of computing and communication systems.
Jonathan Lurié Carmona is a newly minted doctoral student at the California Institute of Technology, prior to which he toiled as a “professional software professional” whilst acquiring a bad case of acronym certification measles: MCT, MCSD, MCSE, MCDBA, MCAD.NET, MCSD.NET, MSF, Java Certified Developer, and IBM XML Certified Developer. He currently researches an area of Computer Science known as Sense & Respond at the Infospheres Research Group.