Monday, December 21, 2009

Smart Systems in Business

I'm moving this blog to the eZine, eBizQ:

A difference between (a) the posts in this blog that deal with sense and response and (b) the posts that deal with smart systems is this: The blog on smart systems also discusses how data is used to develop models that enable sense and respond systems to adapt their behavior.

Smart systems monitor the enterprise and its environment and they respond to events; they also adapt the processes by which they monitor and respond. This adaptation is represented in models that determine: what to monitor, how much value to place on data from different sources, how to fuse or correlate data from multiple sources across time, and how to evaluate probable future outcomes when different actions are taken. The new blog discusses model building and adaptation and how models are used in sense and respond applications.

The new blog is practical: it's primary aims are to (a) determine what smart systems mean for business, (b) where they should be used and where they are inappropriate, (c) examples of smart systems in business, (d) designs of smart systems and (e) best practices in implementing them. However, I'll also explore ideas from machine learning and statistical inference, decision theory, control theory, stochastic processes and game theory. My goal is to solicit your help to understand what smart systems are and how to best use them.

Sunday, October 4, 2009

Proactive Computing: Now and in the Future

What is proactive computing?
Proactive computing is carried out continuously on your behalf. By contrast, reactive computing reacts to your commands by executing the tasks that you specify. Servers in proactive computing continuously sense and respond on your behalf – they acquire data from multiple sources, analyze the data, and determine actions that you want taken on your behalf. The action may be to send you information that you want, carry out an operation – such as making a reservation – on your behalf, or to store results so that they can be given to you the instant you ask for them.

Proactive computations and sense and response applications
Proactive computations continuously carry out sense and response operations on your behalf used whether you interact with the server using request-driven or event-driven interactions. In request-driven interactions you request information from a server and the server replies to your request; in event-driven interactions the server sends you signals when it detects events – changes in the environment that are significant for you. In request-driven interactions, proactive computations respond to the identification of important information by storing the information so that it can be given to you when you ask. In event-driven interactions, proactive computations respond to the identification of important information by sending you the information or an alert signal.

Proactive strategies may waste more effort than reactive strategies.
Proactive computation obtains information and results of computations that you may (or may not) want. Results that nobody wants are discarded. In contrast to proactive computing, results of reactive computing are not wasted in the sense that the computation is carried out because a client asked for it. Proactive computing is like having the car you want to buy available immediately at a local dealer; by contrast reactive computing is like ordering a car that is built for you from scratch. Both proactive and reactive information computing have advantages. Reactive computing gives you exactly what you want when you ask for it. Proactive computing guesses what you want done for you and does it.

Why is proactive computing becoming more widespread now?
Before the nineties, information processing was primarily reactive. Proactive computation is becoming more common now. Why? There are four main reasons:
  1. More people are connected to the digital world for more time. Some services can estimate where you based on the location of your phone or GPS on your car; they know what you are searching for on the web; they may know the messages that you sent and conversations you had in chat rooms; and they may have access to your calendar. Servers can be proactive because they know more about you, and so they can make better guesses about what you are about to do.

  2. Advertising is effective when it gives you exactly the information you want when you want it. An advertisement for a restaurant in the vicinity is more useful to you if the ad server knows where you are, the time of day, your preferences in food, and possibly the people you are with. Proactive computing can help advertisements be more targeted to the individual. Advertising revenues will drive proactive computing.

  3. Users demand more information and more quickly. They want to know what their friends in social networks are doing, when prices of investments and products change, and when interesting posts to blogs become available.

  4. Computation is getting cheaper and the cost of proactive computation that is wasted is negligible. Proactive computation was prohibitively expensive before the nineties, but is no longer expensive now.
These trends will continue to drive proactive computation in the next decade.

Proactive effort on your behalf requires knowing what you want.
Services can learn about you by monitoring your activities. They can then carry out proactive computations for you based on what they’ve learned. Alternately, you can ask a service to carry out tasks continuously for you. Proactive computations can be successful if servers can learn about the kinds of work you want done, and if they can estimate what you are doing and are about to do. Proactive computations are a nuisance or worse if they send you spurious alarms or carry out inappropriate operations on your behalf.

Proactive computations and privacy
A person or a software agent can do better proactive work on your behalf the more it knows about you. The more the person or software agent knows about you the less privacy you have. Perhaps the only way to have proactive services work on your behalf is to trust that the services won’t use your private data maliciously.

Proactive computations today
When a search engine crawls the web and indexes information so that you can access it quickly, the search engine is doing proactive computation. Servers don’t wait for you to execute a search query to start crawling the web; they are being proactive because they expect the information to be useful to someone. Many online vendors continuously identify new items and price reductions that will interest their customers and then send alerts or coupons to their customers; they don’t wait for their customers to ask. Stock analysts proactively run predictive models of stock prices and alert their customers when they should take action. Proactive computation is quite widespread already, and I predict that it will become much more so in the next decade.

Programming notations for proactive computation
When you want to tell a server to carry out computations on your behalf, what notation do you use to specify the service? Consider a healthcare researcher studying a disease such as MS. Must she tell the service how to extract information from genomic databases relevant to MS? She will more likely use a shrink-wrapped application designed specifically for healthcare researchers that allows her to specify something simple: a disease, a gene, a protein, or a drug. Likewise, an employee of a power utility is unlikely to describe how to simulate the grid and is more likely to use a canned application designed for utilities. The emphasis on simplicity has made search engines ubiquitous; the same emphasis will make other proactive computations useful as well.

Presenting results of proactive computations
Results of web searches are presented as lists. Results of searches about directions to an address in a city are presented on maps. Likewise, results of proactive computations will be presented using displays and mechanisms appropriate for that computation. In some cases this may be done using lists but very often more sophisticated interfaces will be used. A healthcare researcher may prefer a relationship diagram in the form of a graph in which the nodes are nouns such as proteins and genes, while the edges are relationships such as the protein expressed by a gene; the researcher can explore the graph, following different links to detect useful patterns. Browsers now support powerful user interactions and you will see them used in proactive computational systems.

The Future
Many people have tailored the start pages of their Web browsers with information dealing with topics such as weather, traffic congestion, stock quotes, and news. In the future, you will be able to populate your start pages with information and results of proactive computations finely tuned to your specific needs. If you are a healthcare worker doing research on a disease, a portion of your start page may contain new information acquired from gene databases about genes associated with the disease and probable 3-D conformations of proteins associated with the gene. Investors will have start pages with data obtained from complex economic models. People working in the electric power industry will have predictions of power demand and potential problems such as windstorms. The start page on a cell phone, netbook or laptop is becoming the point where you begin interacting with the digital world, and results from proactive computations on your start page will make you more effective.

As I described in previous posts on this blog, sense and response applications are becoming widespread, and these applications are proactive. You will benefit from sense and respond applications that work continuously on your behalf at work and at play. Sense and response – and therefore proactive computation – will be at the core of applications dealing with the important things of life including water, food, energy, health and security.

Get ready for a world in which valuable proactive computation is done on your behalf.

Monday, August 10, 2009

Smarter Communities: Community-Based Sense and Respond Systems

A smart system is a system that senses what is going on in its environment and responds effectively. A community-based sense and response (CBSR) system is a system that enables the community as a whole to sense and respond smarter. CBSR systems depend on resources and time volunteered by ordinary people who provide sensors, responders and computational and communication resources.

There are several examples of CBSR systems and there will be many more in the next decade. Information aggregated from mobile phones equipped with global positioning system capability help monitor road traffic congestion in projects at the University of California at Berkeley, Microsoft Research, and Air Sage Inc. in Atlanta. A Purdue University project is fusing information from mobile phones provided with radiation-detection sensors to locate and identify harmful radiation sources. Inexpensive accelerometers connected to computers in people’s homes are being integrated to form earthquake warning systems in the Quake-Catcher Network at Stanford and a shakemap generation network at the California Institute of Technology. The Center for Embedded Network Sensing (CENS) at UCLA has several examples of applications of CBSR and is the pioneer in the area.

What’s New about Community-Based Sense and Response?
Community-based applications have been available on the Web for several years. The term “Web 2.0” is often associated with applications that depend on community volunteers. Wikipedia is a superb example of such an application. Peer-to-peer systems, such as BitTorrent, exploit computing provided by users. Community-based computational systems, such as folding@home and seti@home, have been used for several years; these systems carry out massive computational tasks by parceling small pieces to different participants. Community-based image-analysis systems, such as the Peekaboom system developed at Carnegie Mellon University, identify images by having groups of people participate in a game.

So, what is new about community-based sense and response?

Earlier applications enabled volunteers to improve computational resources and the quality of information available to the community. CBSR takes the next step: It enables communities to sense and respond to events collaboratively.

CBSR Systems in History and Nature
CBSR systems are common in nature. White-tailed deer raise their tails to signal danger and prairie dogs give warning barks to signal different predators. Fish in schools and whales in pods signal each other about threats and food sources. Many species, including homo sapiens, survive because groups sense and respond collectively.

In the Iliad, Homer writes about bonfires used to signal events such as the approach of ships, and the English lit bonfires to warn about the approach of Viking raiders and the Spanish Armada. People in the Great Plains of North America signaled their tribes when they located buffalo herds. Throughout history, individual members of communities have raised alerts when they detected threats or opportunities, and individuals responded by stopping routine activities to deal with the events. Now communities “see” further and respond faster. We are doing what our ancestors did, but better. Issues in designing digital CBSR systems today are much the same as they were centuries ago.

Combinations of Central Management and Individual Initiative
CBSR systems combine some degree of central management with individual initiative. Though individuals lit signal bonfires, the collective had to agree on what the bonfires meant and what to do when alerts were generated. Wikipedia and SourceForge channel individual initiative through centralized management structures; likewise, CBSR systems have centralized managements that specify types of sensors, responders, analysis engines, and data schemas. The challenge is to encourage participation.

Incentives and Disincentives for Participation in Community Systems

Members of a community can benefit from most CBSR applications without contributing to it. For example, an individual can get alerts from an earthquake-warning CBSR system without contributing accelerometers or computers. What’s the incentive to contribute when “free riders” get the same benefit as contributors? This question arises in all community-based systems including community-based computation, but there are a few issues particular to CBSR.

One approach to providing incentives to contributors is to give no benefits to free riders; however, society will not tolerate systems that conceal information about impending earthquakes, floods, and fires to those who cannot afford to buy sensors. The more critical the response, the greater the necessity for providing value to free riders.

What to do to Encourage Participation
One can argue that the rational choice is to be a free rider when contributions entail additional costs but no additional benefits. Empirical evidence shows, however, that many people do volunteer time and resources to the community. CBSR system designers can take steps used in other community-based systems to encourage volunteers:

1. A contributor of resources should be impacted only very slightly by the contribution. In an earthquake warning application, people buy and connect accelerometers to their computers, but the continuous operation of accelerometers and computers should have little discernable impact on the contributor’s operations. Most importantly, a CBSR system must not crash a participant’s computing system!

2. A contributor with minimal skill should be able to install a CBSR
application. For example, designers of earthquake warning systems should not expect contributors to fix their accelerometers so that they are totally flat and oriented precisely along true North-South and East-West directions.

3. Each volunteer should be able to see how his or her contribution matters. Knowing that one’s contribution makes a difference is a powerful incentive. For example, a participant in a road-congestion system should be able to see a dot indicating the participant’s location and should have a mechanism to relate the participant’s dot to the overall service provided by the application. A contributor’s visibility within the community is an additional incentive; so, CBSR systems should identify the contributors who contributed most to successful responses.

Participants in some CBSR applications are faced with disincentives. For example, global infectious disease surveillance and response is an important CBSR system, but there are powerful disincentives for reporting illness. Reports to public health authorities about individuals suffering from avian flu may result in destruction of their poultry. Regions that report outbreaks of infectious disease are likely to see reductions in tourism and business traffic. The aphorism, “Don’t kill the messenger,” is a warning about disincentives in CBSR.

The CBSR designer’s challenge is to provide incentives that overcome the disincentives. For example, an incentive in the infectious-disease surveillance application is free expert medical care coupled with compensation for destruction of poultry or swine and other losses. CBSR systems should guarantee privacy to the extent possible since loss of anonymity is a serious disincentive.

Designs of CBSR Systems

Designs of CBSR systems have many points in common with designs of other sense and respond systems. There are, however, a few points that are characteristic of CBSR; next, I’ll review some of these characteristics.

Sense and Response using Dynamic Infrastructure
Contributors to a CBSR system can start and stop participating at any time. They may accidentally turn off computers, unplug sensors or damage responders. The number of contributors, their locations, their devices, and the communication network may change from instant to instant. A challenge in CBSR systems is to sense and respond to events when the underlying information infrastructure is highly dynamic.

CBSR is harder than Parallel Computation
Design Constraints Imposed by Timeliness: Designers of CBSR have much to learn from community-based computation such as folding@home, but there’s more to CBSR design. The challenge of an uncertain and time-varying information infrastructure is more severe for CBSR systems than for computational systems for several reasons. When a contributor withdraws computational resources from a community-based computational system, the tasks assigned to that contributor are reassigned to others who complete the tasks later. Reassigning responsibilities from contributors who withdraw is not an option in an earthquake warning system because contributors are needed when the earthquake strikes, not at some later time.

Variety of Components: Community-based computational systems can assign tasks to any computer that has certain basic features. Many more features are required to describe sensors and responders in CBSR systems. Parameters for describing an accelerometer in an earthquake warning system include the location of the accelerometer and its make and model number because different model numbers have different calibrations. Many CBSR applications need to have sensors and responders in specified locations; for example, a traffic congestion application requires sensors on all the important roads. By contrast, location is immaterial for computational applications. The age of sensors and actuators, their physical environment (humidity and temperature ranges), and other factors are important for CSBSR systems but are unimportant for purely computational systems.

Pathological Failure Modes
Designers of CBSR systems must guard against failure modes common to devices used in a system. For example, an earthquake warning system for the LA Basin will be ineffective if most accelerometers or communication links fail when devastating earthquakes strike. Homogeneity of devices considerably simplifies designs of CBSR systems but may lead to correlations in system-wide component failures.

Problems of Scale
The scale of CBSR systems requires different designs than conventional centrally-deployed systems. Seismic sensor networks run by government geological services have hundreds of seismometers but community-based networks may have tens of thousands of accelerometers. The growth of a government seismic network can be managed by a geological service to ensure that there are no bottlenecks and that the network remains secure at every step. The growth of CBSR seismological networks cannot be managed in the same way; the system grows and shrinks as people decide to contribute and withdraw sensors. Similarly, government-run traffic congestion monitoring systems, with fixed sensors strategically placed on roads by transportation authorities, have different design considerations than systems based on GPS reports of tens of thousands of cars. The scale of CBSR systems requires massive distribution of computing resources and more adaptive networks connecting sensors, processors and actuators. CBSR systems will rely on cloud computing such as Google App Engine, distributed data storage such as Hadoop, and peer-to-peer networks such as Boinc, to deal with organic growth.

Models of the Environment
Models of the environment used in centrally deployed systems are different, and sometimes more sophisticated than, models used in CBSR systems. For example, a government traffic authority can use detailed models of traffic patterns between critical measurement points on roadways; it can use models tailored to the region – Los Angeles, London, or Stockholm – based on a great deal of local knowledge. Seismologists use detailed models for fault regions, such as the Los Angeles basin, based on measurements carried out over decades; they tune parameters associated with each sensor because the sensors are stationary and placed carefully in locations that can be analyzed over time. By contrast, organic growth of CBSR systems makes tuning of each sensor difficult; models cannot be based on careful locations of sensors; and rapid, organic growth of CBSR systems in different parts of the world may require that systems operate without the benefit of detailed, region-specific models. For example, scientists have developed detailed models of the Hudson River for decades whereas scientifically-verified models of water quality do not exist for rivers in some parts of the world.

CBSR systems obtain situation awareness by using orders of magnitude more sensors and often simpler models than centrally deployed systems. Simpler models of traffic congestion can be used when there are tens of thousands of cars, equipped with GPS, sending data about local congestion than when there are only hundreds of stationary sensors. Likewise, simpler models of ground shaking can be used in an earthquake warning system fed by tens of thousands of accelerometers than a hundred seismometers. Simpler models of water quality can be used when volunteers make hundreds of thousands of measurements. Since CBSR systems rely on simple models they can be deployed rapidly in parts of the world that have not been studied by scientists for decades.

CBSR systems are characterized by massive uncertainty; so CBSR applications have to be designed from the ground up to cope with this uncertainty. This requires
new kinds of models that are more data-driven and more adaptive than the fine-tuned models in place.

Noise and Calibration
Sensors and responders deployed by volunteers have poorer signal to noise ratios than those purchased and deployed by central agencies. For example, there are many varieties of accelerometers with different sensitivities. The performance of sensors may degrade over time; requiring volunteers to recalibrate their instruments periodically places an added burden. CBSR systems sense and respond to the environment based on data obtained from more noisy, and more poorly calibrated instruments than systems deployed by central agencies. Measurements of pollutants in the water made by scientists are likely to be more comprehensive and accurate than those made by volunteers. The challenge of CBSR systems is to use automatic calibration and large numbers of devices to overcome these problems.

CBSR systems are more vulnerable to attack than centrally-managed systems with secure dedicated devices and communication links. A seismic network implemented by a geological service can place seismometers in secure areas where they cannot be tampered with; however, anybody can attach an accelerometer to a CBSR system. Dedicated communication links can be used in centrally-managed systems whereas everybody has have access to a URL of a server in a CBSR system making the system more susceptible to denial-of-service attacks.

Attackers may attempt to trick contributors into running viruses by pretending to be the sites that coordinate volunteer efforts. Coalitions of attackers in local regions can generate cascades of false measurements. They can send erroneous messages indicating massive shaking of the earth when there is no shaking, or traffic congestion when there is none, or absence of pollutants in water systems when, in reality, the water is indeed polluted. Nevertheless, community-based systems do provide valuable sense and response capability even though they are attacked. For example, Wikipedia provides (almost always) accurate, valuable information though attackers attempt to pervert the service; CBSR systems should be designed using similar principles of self-monitoring and self-correction. The challenge for CBSR systems, unlike Wikipedia, is to neutralize attackers in real time.

Response Mechanisms
Community-based response mechanisms vary significantly from application to application. A response of an earthquake-warning system is to use a larger fraction of a contributor’s computer immediately after an apparent earthquake is detected to calculate the location and intensity of the quake. A response when pollutants are detected in the water may be to send alerts to members of the community and the local water-management board.

One of the most important responsibilities of CBSR systems is to monitor and coordinate responses by individuals in the community. For example, after an emergency in a building, occupants of the building are expected to go to safe evacuation points; CBSR systems using mobile-phone technology and other devices can be used to identify missing people. Photographs posted by individuals after a crisis, such as an earthquake or hurricane, help the community’s first responders go to where they are most needed. Continued monitoring by volunteers in the community, as responses to crises play out, help ensure effective collective response.

The Future

Next I’ll discuss the technology drivers and consumer demand for CBSR systems. Then, I’ll summarize the disadvantages of CBSR systems. Finally, I’ll describe how I think CBSR systems will evolve over the next decade.

Technology Drivers for CBSR Systems
Next, I’ll identify developments in some of the technologies that foster the development of CBSR systems:
• Mobile phones
• Video cameras
• Decreasing costs of sensors – GPS, stethoscopes, EKG devices, accelerometers, strain gauges, etc.
• Cloud computing
• Peer-to-peer systems
• Social Networks

Mobile phones and CBSR
People in every country, even in remote areas, use mobile phones. Many companies offer phones that accept sensor data through USB and Bluetooth in addition to microphones. This allows phones to acquire and transmit data from thermometers, electrocardiographs, stethoscopes, radiation measurement devices, accelerometers and other instruments. Phones have substantial computational capability and vendors are providing increasingly sophisticated application-development environments.

People can wear or deploy sensors that operate continuously and send data to phones. Phones detect significant events in incoming data and send the data to experts for further analysis. For example, medical sensor data generated while a patient is sleeping, eating, and exercising can be recorded and analyzed by the phone, and sent to doctors when an anomaly is detected. Organizations can train people in remote villages to use sensors to record and analyze vital medical signs of villages on a mobile phone; if a villager has anomalous vital signs or is ill, the villager’s medical measurements are sent to a doctor by the phone. The doctor can talk to the health worker and decide next steps.

People on boats in rivers and lakes can connect sensors immersed in water to mobile phones. The phones can periodically send summarized data to servers. Accelerometers in phones can detect shaking indicative of earthquakes. Photographs taken with mobile phones are used to distribute information about events ranging from landslides to political demonstrations.

Phones equipped with sensors are ideal sense and respond devices.

Video Cameras and CBSR
People in a community can collaborate to direct video cameras at parks, roads, landslides, fires, tornadoes, and bridges and analyze the images they see. The Los Angeles Times reported on June 21, 2009, that civilians in Lancaster, Pennsylvania can orient the city’s video cameras and report suspicious activity. Airports, train stations and shops have used video cameras for many years, but what’s relatively new is that individuals in the community – rather than governments or companies – are contributing and controlling them. (The issue of privacy will be discussed in a later note.) Many communities have had “neighborhood watch associations” for decades; now these associations can use increasingly sophisticated technology to make them more effective.

Images from cameras and video cameras coupled with community-based analysis of imagery, such as the Peekaboom system developed at Carnegie Mellon University, are powerful tools for CBSR systems.

Inexpensive Sensors
A cellphone medicine project at Caltech is carrying out useful analysis on data obtained from a $5 stethoscope. Inexpensive EKG devices that produce useful data have been constructed for under $10. Of course, these devices are not as powerful as devices used by medical professionals; however, they may be adequate to carry out initial filtering of normal from anomalous measurements. Prices of a variety of sensors from accelerometers and strain gauges are decreasing relative to the costs of experts. GPS devices and location-based sensing technologies enable people to collaborate based on where they are and where they are going. The continuing drop in prices allows more people to buy sensors, and enables more CBSR systems.

Cloud Computing
Google, Amazon, IBM, Microsoft and many other companies provide services that enable computations to be carried out on scalable compute engines. Sensors connected to the Internet can send messages to a cloud computing system. Anybody, anywhere in the world (with Internet access) can connect sensors and actuators to a CBSR system by merely linking the devices to a Web site that accepts input for a cloud computer. Water quality sensors in all the rivers of the world can be connected to a CBSR merely by linking the sensors to a Web site. An accelerometer in Lima, Peru can be connected to a CBSR as easily as an accelerometer in Tokyo or Los Angeles, because all those locations have Internet access and therefore access to a cloud computing system.

Cloud computing systems enable anybody anywhere in the world (provided they can pay for it) to get access to immensely powerful, scalable distributed computation and storage systems; they also enable rapid deployment of worldwide CBSR systems.

Peer to Peer Systems
Peer-to-peer systems such as BOINC enable CBSR systems to use hundreds of thousands of computers around the world. Peer to peer systems enable CBSRs to use computers provided by volunteers in addition to sensors and actuators contributed by individuals. Peer to peer systems have been used for several years for a variety of applications. People now understand that contributions of their computing resources have significant benefit for the community.

Social Networks
Social networks such as Facebook, MySpace, and LinkedIn allow individuals to keep track of what their “friends” are doing. This, in turn, enables communities of friends to detect events based on data provided by members and to respond as a group.

Demand for CBSR Systems
Now I’ll discuss some of the situations that benefit from CBSR systems:
• Citizen science projects
• Responding to crises
• Social interaction and community action

Citizen Science Projects: Community-Based Scientific Research
Communities around the world are more aware of environmental issues than they were in the past. Citizen-science projects are harnessing the intelligence, observational capacity, and science tools of ordinary people to carry out important and exciting scientific research. These include projects Citizens and Remote Sensing Observation Network, CARSON in which people measure environmental parameters such as ozone levels and nitrogen levels in streams, Earth by Aura in which participants measure ultra-violet radiation, the Christmas Bird Count in which people identify and count birds during the Christmas holiday season, the Great Sunflower Project in which people report on the activity of bees, and the American Association of Variable Star Observers (AAVSO). CBSR systems can provide the informational infrastructure that supports citizen science projects.

Responding to Crises using CBSR
CBSR systems are already used in responding to crises such as fires, floods, earthquakes, and chemical spills. The most widely used sensor devices are cameras on mobile phones that capture images of impacted areas. A common response is to pass information to, and get advice from, trusted sites. The adoption of mobile phones, computers and the Internet in developing countries is outpacing the rates at which governments can install sensors and actuators to help manage crises. CBSR systems will be set up by volunteer organizations and non-governmental organizations (NGOs) to address needs for community-based sense and response.

Many communities in different parts of the world are increasingly concerned about security of their families and homes. The story about citizens in Lancaster, Pennsylvania orienting video cameras on community property and reporting suspicious activity gives one example of people collaborating to improve security by using information technology. Communities collaborate in reducing fire hazards to their homes. More types of sensors and actuators (particularly mechanisms for automatic alerting of security personnel) will be used security in the future.

Social Networks and CBSR
The economic and social drivers for the use of CBSR systems in crisis management also apply to social networks. Members of a social network can sense what others are doing, or where others are located, and respond by carrying out joint actions. Applications provide simple responses such as: “17 of your friends have volunteered to help in responding to an oil spill at Walrus Beach on Sunday. Would you like to join them? Click here.”). In the future, sensor data, such as local temperature and rainfall, may be fed to personal pages on social networks. These developments enable groups of “friends” in social networks to sense and respond collectively.

Brief Review of Advantages and Disadvantages
CBSR systems enable communities to respond collectively to threats, opportunities and important events better and smarter. CBSR systems have advantages and disadvantages when compared with more traditional systems that are deployed and managed by centralized agencies. The advantages and disadvantages are not primarily the consequences of technology; rather they stem from the distribution of responsibilities for sensing, analyzing and responding to individual volunteers, and the manner in which systems grow organically. The benefits and failings are similar across all CBSR systems whether they use primitive technologies such as bonfires or sophisticated technologies such as accelerometers and cloud computing.

A major benefit is that CBSR systems harness the intelligence, time and resources of ordinary citizens. This not only leads to powerful systems but also helps to build community. Citizen science projects such as the Christmas Bird Count and the Great Sunflower Project are inspiring and they also produce valuable research results. Another important advantage is the ease with which CBSR systems can be started anywhere in the world without governmental approval and massive installed infrastructure. CBSR systems exploit the widespread deployment of the Internet, mobile phones and inexpensive computers to enable communities to respond to events.

A disadvantage is that organic growth is unpredictable. CBSR systems with too few contributors are unreliable; people are more likely to contribute time and resources to CBSR systems when they know that there already are, or soon will be, enough other contributors to make the system useful. CBSR systems can more quickly reach the tipping point where organic growth is sustained by seeding the system with a large-enough group of initial contributors to provide some value.

CBSR systems can reduce a citizen’s privacy because these systems use technology effectively. Neighborhood-watch associations in which people use technology, such as remotely-controlled video cameras, may make some individuals feel a greater loss of privacy than associations in which people report what they see with their naked eyes.

CBSR systems must sense and respond effectively even though some sensors and actuators are not installed or maintained carefully. Moreover, some participants may attack the system by providing false information or carrying out denial of service irruptions. CBSR systems exploit their size to overcome these difficulties and to provide value in situations in which conventional systems are not viable.

The Future Evolution of CBSR Systems

CBSR systems will be used for many more applications in the coming decade. Community-based computing systems such as folding@home and citizen science projects such as the Christmas Bird Count have demonstrated the benefits of contributions of intelligence, time and resources by ordinary people. The next step in evolution of community-based systems is to monitor and coordinate responses as well as obtain sensor data and carry out distributed computation. Sensing and analysis are important steps, but responses complete the loop. Understanding and measuring earthquakes are important activities, but responding to them is important too.

Many CBSR applications will extend existing or planned traditional, centralized schemes. Community-based applications for detecting and responding to water pollution will build upon existing systems where possible, and will start from scratch in other areas of the world. CBSR systems need a critical mass of participants to operate reliably; so extending existing systems is the quickest way to add value.

CBSR systems will increasingly use cloud computing or peer-to-peer systems because of the simplicity of connecting sensors to cloud computers to actuators anywhere in the world, using only the Internet, mobile phones or computers. Cloud computing and peer-to-peer systems help to deal with organic growth and very dynamic loads.

Many centralized applications deployed by companies will have the characteristics of CBSR systems. The smart grid will use sensors (smart meters) in people’s homes, but the sensors will be deployed over many years and will not all be identical. Individual responses to high load or high prices for power will vary widely. Issues of security and senor calibration arise in the smart grid just as they do in CBSR systems. So, design methodologies for CBSR systems and sense and respond applications deployed by companies will converge.

Friday, July 24, 2009

The Impact of Smart Systems on Attention - the World’s Scarcest Resource

Well-designed smart systems will allow humankind to manage the world’s scarce resources.

What is the World’s Scarcest Resource? Clean water, food, energy? Surely, a scarce– if not the scarcest – resource in the 21st century is attention. We don’t have uninterrupted time to give undivided attention to things that truly matter. Technology offers us opportunities for distraction. Mobile phones, instant messaging, email, Twitter, social networks, and alert engines give us excuses for getting sidetracked. Of course, we don’t have to give in, but too often we do. Well-designed smart systems amplify attention; poorly designed ones degrade it.

A Well-Designed Smart System is an Attention Amplifier
Habit 3 in “The Seven Habits of Highly Effective People,” by Stephen Covey [1] emphasizes the importance of prioritizing work aimed at long-term goals, at the expense of tasks that appear to be urgent, but are less important. A well-designed smart system is an attention amplifier. It helps you do important tasks first: it acquires data from varied sources, analyzes the data, identifies the information that deserves your attention at the current time based on what you are doing, aggregates information that helps you execute responses, and helps you focus.

A Poorly-Designed Smart System is an Attention Distracter
William James, the psychologist, writing in 1890 [2] said “[Attention] implies withdrawal from some things in order to deal effectively with others, and is a condition which has a real opposite in the confused, dazed, scatterbrained state which in French is called distraction, and Zerstreutheit in German.” A poorly designed smart system is an attention distracter – it doesn’t allow you to withdraw from some things to deal effectively with others because it continues to distract you with information that is irrelevant to your current task. Distracters are best turned off.

Attention in IT Systems
Attention is a characteristic of IT systems as well as human beings: the resources of an IT system – computers, sensors, communication channels and responders – can be optimized to deal with the problems that matter or the resources can be frittered away acquiring and analyzing torrents of irrelevant data. A critical part of designs of sense and respond systems is determining what data should be filtered out at the periphery of the system and what data should be aggregated and forwarded for further analysis. Sending all sensor data for further analysis is a waste of resources; it is akin to attention distraction due to a dissipation of analytic power. Sending too little sensor data for downstream analysis can result in critical events remaining undetected.

An earthquake warning system has hundreds (and possibly thousands of sensors) distributed over a region. Sensors acquire data several times per second. Sending each measurement from each accelerometer and seismometer to central sites for analysis and storage is expensive and adds little value. Such systems are designed so that sensors only send on data about unusual events identified by atypical patterns of measurements. The detection of important events – earthquakes, onset of recessions, power demand exceeding supply capability – often requires deep analysis; the determination of what measurements merit deep analysis is a key aspect of smart-system design.

Relevance depends on Context
Whether a piece of information is relevant to you depends on your context. While you are exploring options for financing or refinancing a home you will find phone calls about cruises to be distracting. While you are thinking about holiday travel plans, you will find phone calls about mortgage rates to be distracting. The same information is an attention distracter in one case, but not the other. (This issue of context applies to IT systems as well as human beings.)

Here’s the challenge: How is a smart system to know what you are doing? How can it know your context? How can it know whether interrupting you with information about a rare low mortgage rate is attention distraction or attention amplification for you at this time?

Online Services can estimate your Context
Search engines can estimate your context based on the items for which you are searching. Email and instant-messaging servers can estimate context based on the messages sent and received. Location-based systems guess context based on location and time of day. Calendar servers figure contexts based on appointments and tasks. When you work on a shared online document you are telling the service provider something about your current context. And the more the service provider knows about what you are doing now, the better it can help you husband that most valuable of your resources – your attention.

(Privacy is a different matter which is discussed in a later note.)

Proactive Computing
An alerts engine can interrupt you with an audible, visual or tactile signal; and an alerts engine can interrupt software processes. If, however, the engine cannot estimate your context accurately, it can save the data and ancillary information for you to look at later – the engine carries out proactive computation on your behalf, and has results and tools ready should you need it. When you are ready to be interrupted, you look at results of the proactive computations and discard them or use them. The advantage of this approach is that you aren’t interrupted; the disadvantage is that the data may be relevant to your context and you may have wanted to be interrupted. The same approach can be used for software processes and hardware.

The costs of executing proactive computations continue to drop as the costs of processors, storage and communication bandwidth fall; so, even if results of proactive computation are often discarded, having results ready when you need it is cost effective.

Peripheral and Tunnel Vision
There are times at which you (and IT processes) need tunnel vision, focusing your attention and resources on a few critical tasks. There are other times at which you need peripheral vision, sensing and integrating data from multiple sources that may not be directly connected to the task at hand. Well-designed smart systems give you peripheral vision by sensing data from multiple sources and analyzing the data – this proactive computing may be carried out all the time. Well-designed smart systems also let you (and IT processes) use tunnel vision during periods when more of your attention and resources need to be dedicated to a few tasks. Poorly designed systems have only one type of vision – they don’t allow organizations and processes to switch back and forth between tunnel and peripheral vision.

Husbanding your limited Scarce Resource
Good smart systems are attention amplifiers. Bad smart systems (no, it’s not an oxymoron) are attention distracters. Attention is a limited resource and it’s increasingly scarce. Smart systems can help you manage this resource – perhaps the most important resource of this century – when the systems are designed well and used wisely.

1. Stephen R. Covey(1990). The Seven Habits of Highly Effective People. Free Press.

2. James, W. (1890). The Principles of Psychology. New York: Henry Holt, Vol. 1

Saturday, July 18, 2009

Smart Systems are based on Models

Smart systems (for the purposes of these notes) are systems that sense what is going on in their environments and respond effectively. Animals and human organizations are smart systems since they sense and respond to their environments. These notes discuss information technologies that allow people and organizations to sense activity anywhere in the world and to respond anywhere.


Smart systems are based on models of their environments. Even a bacterium, as it swims towards its food, has an implicit model of its environment – its model says that a certain chemical gradient implies that food is probably available in that direction. The smart energy grid is based on a model of generation, transmission, distribution, and consumption of electricity.


Smart systems must use models because no human-designed system can have a complete representation of its environment; the model may be implicit or explicit, but every smart system is based on a model. Designers of smart systems must acknowledge that their models may misrepresent or ignore critical features of reality. Whether smart systems deal with options trading, baggage handling, medical alerts or earthquake response, smart system vendors and their customers should be aware of the premises upon which a smart system is based.


The model determines what sensors are used and where they are placed, how measured data is analyzed to determine appropriate responses, and the types and locations of responders. When an organization implements a smart system or acquires one from a vendor, the organization uses (possibly implicit) cost-benefit analyses based on models of the system and its environment. Models, implicit or explicit, have a deep impact because they influence whether a smart system is implemented or not. But, most people are not aware of the pervasive role of models in smart systems.


In many cases, models of the environment are probabilistic. Smart systems help organizations exploit opportunities and protect against threats; they are most useful when they help exploit unusually good opportunities and protect against unusually severe threats. But, unusual events are rare and generally don’t occur in a predetermined way. So, most models of smart systems and their environments are fundamentally probabilistic, and some models deal with probabilities of rare events. Decision-making under uncertainty, when the uncertainty is about rare events, is difficult; perforce, analyses and models of smart systems that respond to rare, but very critical events, are complex.


Designers may change models on which their systems are predicated, and so smart systems may be changed as well. Some systems may use machine learning to adapt to changes in their environments automatically; but even so, the process of machine learning is itself based on a model. As in all human endeavors based on models of reality, users of smart systems should check whether the assumptions upon which smart-system models are predicated are likely to remain valid in the future.


None of the ideas on this page are new – they have been propounded for decades by control theorists, and operations researchers studying decision making under uncertainty. What is new, however, is the variety of applications of smart systems ranging from smart roads to ensuring sustainable fish habitats. Smart systems amplify our human ability to sense and respond effectively and intelligently to our world. The use of models is necessary and good. The homo sapiens species is the modeling species – to be sapient is to build abstractions, i.e., models. Vendors and users of smart systems should remain aware of the differences between models and reality, and should continue to verify that their models retain fidelity.

Thursday, July 9, 2009

Smart Systems Sense and Respond

Organizations sense and respond to their environments

Living things thrive if they sense what is going on in their environments and respond effectively. A bacterium that doesn't sense the presence of food in its vicinity will perish. A zebra that runs away frequently from non-threats will die of exhaustion, and one that doesn't run away from a real threat will die too. Effective sense and response are characteristic of successful organisms and organizations. Smart systems, for the purposes of these notes, are systems integrated with information technologies that help us sense and respond better.

Collective sense and response

Organizations sense and respond collectively. Lions in a pride signal each other and respond collaboratively when they hunt. People in companies collaborate to deal with unexpected events such as sudden changes in revenue. Countries deal with crises such as hurricanes by harnessing capabilities of local governments, corporations, charities and individuals. Smart systems help groups to sense and respond cooperatively.

Roles of Sympathetic and Parasympathetic Nervous Systems in Sense and Response

Mammals, including humans, sense and respond by using the sympathetic and parasympathetic nervous systems. The sympathetic nervous system mediates the "fight or flight" response. When an animal senses prey or aggressors, its sympathetic nervous system triggers intense responses. By contrast, the parasympathetic nervous system helps manage ongoing functions such as digestion - for example, it senses food in the mouth and controls secretion of salivary glands. The sympathetic and parasympathetic nervous systems are complementary; animals need all their resources to fight or fly as the need arises, and they must also control routine activity. Smart systems improve an organization's sympathetic and parasympathetic nervous systems; they are used to sense and respond to both unusual situations and routine activities. For example, RFID (radio frequency ID) tags on bags helps routine transfer of bags to and from planes in airports, but baggage-handling systems also help isolate dangerous cargo.

Sense and respond anywhere, anytime, with anybody, in fractions of a second

When our ancestors hunted millennia ago their hunting parties sensed and responded to threats and opportunities. They saw as far as the eye can see. Today systems allow us to sense activity deep in the oceans and far out into space. Our ancestors threw spears as far as their muscles would let them. Today our responses reach across the globe: traders in London respond to conditions in Shanghai to buy stock on the New York stock exchange. Our ancestors hunted during the day while they could see. Today we work or play around the clock. We sense and respond to our environments just as our prehistoric ancestors did; however, information systems have amplified our sense and response capability many thousand fold - we sense and respond anywhere on the planet, at any time, with anybody, with greater accuracy, and in seconds.

The next two decades will see development of technologies that continue amplify our abilities to sense and respond dramatically.