Service Oriented Scheduling (Part 1)
Some interesting new interaction patterns, and new business models, can be found by combining WS-Calendar and EMIX Terms. WS-Calendar is a specification for constructing web-services that incorporate iCalendar, the long-established basis for personal scheduling. EMIX is an information model built to support the exchange of market related information between suppliers and buyers of energy.
Service orientation names a pattern for systems interaction in which ...
Some interesting new interaction patterns, and new business models, can be found by combining WS-Calendar and EMIX Terms. WS-Calendar is a specification for constructing web-services that incorporate iCalendar, the long-established basis for personal scheduling. EMIX is an information model built to support the exchange of market related information between suppliers and buyers of energy.
Service orientation names a pattern for systems interaction in which system exchange minimal information about each other. Service interactions do not specify underlying mechanisms and processes. A system that offers a service does not care which system invokes it; a service can be used by many systems. Service integration pulls system together in a manner analogous to how we build the web; we link pages and applications together without worrying what software operates each server. Service integration maximizes code re-use while enabling rapid evolution of systems.
WS-Calendar addresses the implicit assumption that all services are “instant”. Everyone knows they are not. A merchant might select a credit card processor because of a faster approval service. Still, the request is always “Approve this now!” WS-Calendar defines the messages to request “Do it tomorrow, at 9:00, and keep on doing it for one hour.” As we begin interacting with the internet of things, this capability will grow in importance.
The iCalendar family of standards is broader than the simple meeting request most of us are familiar with. iCalendar describes a family of message types: events, tasks, to-dos, et al. in the core specification, recently updated in RFC 5545. iCalendar also defines a pattern of building messages so that new types can be defined. Two new message types that are drawing interest are Availability and Polling.
vAvailability (all iCalendar message types begin with a “v”) describes how to indicate recurring patterns of time during which one is available (or unavailable). Depending upon application, other information could be included. For example, a plumber could publish a schedule (availability) with a labor rate for business hours, another schedule with rate for early evening and Saturday service, and still a third for overnight service. Availability can be stacked; that plumber can lay a short-term unavailability atop the other schedules, interrupting the standing availabilities with a vacation. vAvailability optionally includes an indication of granularity of schedule perhaps the plumber indicates a one hour minimum. Using WS-Calendar, we have a machine-readable way to advertise when a service is available for invocation.
vPoll addresses the process of “voting” for a schedule. An event organizer can send out a range of times (indicated with vAvailability) for a meeting. Recipients can rank the options, including pricing the various options. After polling, the decision of which time to select is still left to the organizer.
WS-Calendar gives us the semantic tools for machine-to-machines scheduling and optimization of resources.
In a later note, I will describe how EMIX Terms add critical additional information for service oriented interactions in the Internet of Things.
The Taxonomies of oBIX
OBIX does 1.1 not require or support Haystack. OBIX 1.1 will not even mention haystack, except, perhaps, as an example. OBIX 1.1 will be able to provide metadata for any point. That metadata may be drawn from any formal or informal taxonomy. oBIX 1.1 does not define how taxonomies are applied to an oBIX server. Haystack is useful taxonomy of growing popularity that can be used to provide metadata about any oBIX point.
Note: Niels Bohr famously observed that prediction is very difficult, especially about the future. Getting down into the technical weeds of a specification that is not yet complete is also difficult. I received numerous requests to explain how Haystack fits into future versions of oBIX. OBIX is a specification whose development is in mid-flight. OBIX 1.1 comes out for its first public review in July. The enterprise wrapper for oBIX, aka oBIX 2.0 is months away. Perhaps some readers here will join and help us get to the final form faster.
OBIX does 1.1 not require or support Haystack. OBIX 1.1 will not even mention haystack, except, perhaps, as an example. OBIX 1.1 will be able to provide metadata for any point. That metadata may be drawn from any formal or informal taxonomy. oBIX 1.1 does not define how taxonomies are applied to an oBIX server. Haystack is useful taxonomy of growing popularity that can be used to provide metadata about any oBIX point.
Haystack is a taxonomy that describes a lightweight building information model (Slim BIM) for BAS systems. Haystack tags are unique in that they were developed as a folksonomy, i.e., through an informal consensus among users. Haystack advocates may point out that all the formal taxonomies once created to classify internet searches were beaten by the automatically generated folksonomy at the heart of the Google search engines. Traditional large BIM models provide taxonomies developed through formal processes and often mandated by national agencies; metadata in oBIX can be the entry point into Big BIM. OBIX is taxonomy agnostic, and can support both, or either.
Interactions with an oBIX server begin by entering the “lobby” and asking for information about the system. One of the new inquiries in 1.1 will be “Which meta-information standards do you support?” A valid answer is “None”. For backward compatibility, an error message, from an oBIX 1.0 server that does not understand the question must be interpreted as answering “None”. If the oBIX server supports one or more meta-information standards, it will name them. We have not spent much time on the Lobby inquiries yet, but I think this answer should include a local tag, a URI for each taxonomy, and an optional URL for queries based on that taxonomy. Those queries are a subject for oBIX 2.x.
Under oBIX 1.1, a client can query a point for its metadata. The oBIX server returns a collection, with each element including a tag identifying the element’s taxonomy, and the metadata information. If some of that metadata is based on Haystack, then the returned metadata information may include one or more Haystack Tags. The same set may include elements drawn from other taxonomies. It is not hard to imagine a single BAS gateway that supports a Haystack, EMIX (Energy Market Information Exchange), Tenant Information, and situation awareness / security.
There are many taxonomies for building systems already in wide use. Walmart and Target, two companies that have unusually complete construction and commissioning specifications, have long mandated the use of specific tagging standards. The Intelligent Kitchen standard, promulgated by McDonald’s could specify a meta-information specification. Many use oBIX to interact with control systems that have nothing to do with BAS. Groups such as OPC, used widely in industrial scenarios, have their own taxonomies. SensorML, a standard developed by the Open Geospatial Consortium (OGC) is widely used for scientific observations and for situation awareness; SensorML provides a taxonomy that can easily be applied to oBIX points.
Every taxonomy is the outward manifestation of an information model. Haystack assigns responsibility for assembling a building’s specific model to the client. The client must assemble the sum of all the tags, and follow all the references, to create a coherent model of the systems exposed. There will be many incomplete models generated from BAS gateways that are badly integrated or commissioned. To enable a client to query the model directly, the server itself must have a model. Model-based queries are part of oBIX 2.x and have no place in oBIX 1.x.
Not all BAS systems need to or will incorporate model service or even meta-information. It is easy to imagine an information appliance that acts as the model holder for an underlying metadata-free [BACnet] system. Such a system would provide direct access to the points in the underlying system, and offer up the meta-information provided by the taxonomy. There might be advantages to setting these up as audit-servers unable to interfere with the underlying control operations. A standards-based BIM server, serving up BIMSie, may be an example that brings such systems into conformance with DOD and EU expectations without requiring re-development of the underlying control protocols.
We should resist the impulse to develop the one, true, absolute application model for all time, and baking the taxonomy that represents that model into every low level protocol everywhere. What we should do, is develop standard lamina, layered information models that live outside the work of an individual integrator, but provide higher level access that increases the value of the initial integration.
Consider a microgrid consisting of a green building, and an oBIX serving using Haystack to describe its underlying systems. Alongside could be an oBIX server managing solar generation, and another managing private wind farm. The oBIX gateway to these distributed energy resources could support SensorML-derived tags, useful to describe the weather and environmental data gathering that best predict energy generation. All three systems could also support the EMIX taxonomy to describe the energy supplied as well as the energy used in the green building.
oBIX works with collections of points named Contracts. Within the simpler taxonomies, one can imagine building a contract to include all points with a given tag. A more interesting query might leverage the model in the taxonomy; for Haystack, this might include all temperature sensors on Air Handlers with a relation to a given chilled water loop. Some queries will not be answerable from a single interface. An external BIM server might be the appropriate way to build a query against a more complex taxonomy. Such queries are out of scope for oBIX 1.x; we intend to define a model for such queries within oBIX 2.0.
The most interesting contracts will be built from querying two or more taxonomies at the same time. Look to a generic query language for both intra- and cross-taxonomy contracts in oBIX 2.x. We have some ideas on how to do this already, but that is much, much deeper in the weeds then I want to go at this time.
Thinking about Snowden and Smart Grids
Privacy activists have long warned about the massive data collection enabled by smart grids. Utility representatives have long defended the smart grid by asserting that they have no interest in analyzing the lives of their customers. The recent revelations of government activity in the US make that defense irrelevant, as company after company confesses to have shared operational data with the government agencies. The lesson of current headlines is that it does not matter who collects big data, or what their motives are. Big data is a honeypot that will attract surveillance by someone.
One of the oldest stories of smart grids is of early researchers attempting...
Privacy activists have long warned about the massive data collection enabled by smart grids. Utility representatives have long defended the smart grid by asserting that they have no interest in analyzing the lives of their customers. The recent revelations of government activity in the US make that defense irrelevant, as company after company confesses to have shared operational data with the government agencies. The lesson of current headlines is that it does not matter who collects big data, or what their motives are. Big data is a honeypot that will attract surveillance by someone.
One of the oldest stories of smart grids is of early researchers attempting to analyze the activity in a house from the meter. Early going was slow, as this was before modern tools were available. Still, after a couple weeks, analysts had figured out most of the electrical activity in the house: the big load of the air conditioning, the periodic spikes of the refrigerator, etc. Still, one activity seemed to fit no pattern.
Each week day, between fifteen and forty-five minutes after everyone left the house, there was a change in electrical activity. The researchers were stumped for some time. Eventually, they realized that when the family dog decided that “they” were finally gone for the day and not coming back, it would get up onto the nice warm waterbed. This changed the heating pattern for the bed.
After the researchers tracked this pattern for longer, they realized they could tell whether the dog was sleeping peacefully on the water bed and when the dog was restless.
In recent news, we have seen the US government asserting that there is no privacy right to transactional metadata. Times, durations, and phone numbers of all calls are shared freely. Businesses are subject to prosecution if they do not cooperate freely, or even if they reveal that they have been asked for information. Sniffers in data centers capture even secure information after decryption, so that even the internet service provider cannot see what is being tracked and recorded.
Some communications providers, such as Verizon, have bad records of privacy protection; they respond to all requests without push-back. Others occasionally push back on over-reaching calls. Based on their stated goals and communications documents, the utilities plan to share freely.
In the US, the utilities develop communication standards within the UCAIUG association. The UCAIUG develops communication processes and business process common to all the US Utilities. The standard for communication of meter data to third parties developed in the UCAIUG is OpenADE (Automated Data Exchange). It is notable that in their own OpenADE development documents, exchange of information with law enforcement is given a higher priority than exchange of information with customers.
The stated priorities of OpenADE have always been troubling. In the last few weeks, even the skeptical have come to see that big data is irresistible to government agencies. Protests by power utilities that they do not want to use the data are meaningless. FISA court data requests typically are known only to small numbers of a company’s employees. Discussing the requests openly, either within or beyond the company can violate federal law. A couple years ago, if worried publicly about this, one could be accused of being a conspiracy theorist. Today, doing so is evidence merely that one reads the paper.
We have it in each of our hands to preserve our own privacy. Consumer technologies exist to smooth power curves and permanently shift load. Energy storage technologies able to accept and provide trickle charges within a business or home can be used to hide the details of our activities and our lives. These technologies don’t let energy data out while they accomplish the goals of smart energy. You can adopt them, or you can allow further monitoring of every activity in your life.
Whatever one feels about Snowden’s revelations about current behavior of the NSA, they are part of making public how government agencies will make use of any sufficiently large trove of data gathered by others. Other news demonstrates a willingness to use information gleaned by one agency to coordinate public and political pressure by other agencies against those who dissent, and to do so without regard for regulation or fourth amendment. This should give anyone pause before contributing reating with the government.
We have it in each of our hands to preserve our own privacy. Consumer technologies exist to smooth power curves and permanently shift load. Energy storage technologies able to accept and provide trickle charges within a business or home can be used to hide the details of our activities and our lives. We can use minimalist economic signals to accomplish everything hoped for of the smart grid. These technologies don’t let energy data out while they accomplish the goals of smart energy. You can adopt them, or you can allow further monitoring of every activity in your life.
Work Plan for oBIX 2.0
Some of you know that the oBIX Committee (open Building Information Exchange) is meeting again. The work is moving ahead on multiple fronts. We have separated encodings (XML and COAP) from the core specification. We are working on separate transport specifications for SOAP and REST (including JSON). We are doing a refresh of the core specification for consistency and conformance. I am most excited, however about the oBIX 2.0, the enterprise services.
The core specification (1.x) requires each oBIX server to provide a lobby. Clients can ask the server what is in the lobby, and thereby discover how to interact with the system behind that server. Contracts are special purpose agreements...
Some of you know that the oBIX Committee (open Building Information Exchange) is meeting again. The work is moving ahead on multiple fronts. We have separated encodings (XML and COAP) from the core specification. We are working on separate transport specifications for SOAP and REST (including JSON). We are doing a refresh of the core specification for consistency and conformance. I am most excited, however about the oBIX 2.0, the enterprise services.
The core specification (1.x) requires each oBIX server to provide a lobby. Clients can ask the server what is in the lobby, and thereby discover how to interact with the system behind that server. Contracts are special purpose agreements that are added to the lobby. Clients can invoke contracts by accessing the elements listed in the lobby. Vendors and integrators can add functionality to an oBIX server by creating contracts to add to the lobby.
Our current plan is to define enterprise services by specifying new types of contracts to place in the lobby. oBIX servers will then state which types of contracts they support, which encodings, and which transports. As of March 2013, we anticipate the following sections:
Energy
oBIX Servers are likely to participate in collaborative energy ecosystems including those managed by Energy Interoperation (OpenADR 2.0) or as described by ASHRAE SPC 201. We plan to incorporate information models and semantics developed to support the US national Smart Grid efforts, including Green Button. Potential contracts include not only energy usage reporting, but projections and commitments as well. We anticipate leveraging the existing OASIS Energy Market Information Exchange (EMIX) Specific information exchange requirements as defined in NAESB REQ 21
Advanced Reporting and Aggregation (Historian)
The historian does not scale well in its current form. A request for, say, a one year history on several sensors is larger and more unwieldy than it need be. It may be necessary to support variations such as projections. We do not want to break compatibility.
Alarm Logic.
This topic extends alarm contracts to include logic for alarms. If A happens followed within three minutes by B. If the cycle between occurrences of A is less than 5 minutes. This is in effect defining diagnostics with interactions between functions. If I am talking to 100 oBIX servers, I may want to apply that diagnostic to every AHU attached to each of them.
Building Information Models (BIM)
In buildings, control systems operate building systems. Building systems support the various spaces in a building, whether securing them, monitoring, them, or conditioning them. The relation between a building system and spaces in a building is described in a Building Information Model (BIM). oBIX BIM contracts will describe how an oBIX server will make BIM accessible, and how to apply BIM as a semantic framework for the control points.
Enterprise Scheduling
Enterprise Scheduling applies the semantics of WS-Calendar to schedule interactions with building systems. This includes a notion of service oriented schedules instead of the control oriented schedules as today. (Example: Request room at temperature by 8:30 rather than Request room to begin heating at 8:10). This is likely to use the same semantic frameworks as security, i.e., to specify a room rather than a thermostat. Enterprise scheduling is made possible in part by the BIM framework as described above.
Security Composition
oBIX 1.0 defines a monolithic model, all or nothing, for access to points and settings. This access should be limitable by role and by organization. Advanced security contracts will define a means to define policy frameworks for secure access to oBIX servers. This is likely to be an intersection of roles, i.e., integrator, operator, tenant, guest as applied to business function. In buildings, business functions are defined by the spaces they are in. The relation between building systems and space can be found through reference to the BIM.
We will not define a mandatory set of roles, or a mandatory framework, but instead define a means to apply notions of space (say a particular tenant) and of role to access to an oBIX server. We anticipate a means to discover the roles available on a server, to map those roles into a discoverable space, i.e. BIM. This topic includes addressing federated security, and may include how to apply SAML, XACML, and similar specifications to oBIX servers.
Please contact me if you would like to join in this work.
New Daedalus
Daedalus designed buildings, automated statues, and built wings for human flight. Daedalus worked by eye and hand, his designs scratched with a stylus on wax tablets. Until recently, we merely perfected his means of work, using better pens, and paper, and finally drawing on computers.
It is only recently that we have begun to leave the methods of Daedalus behind.
Simulations and digital twins guide each decision. Intelligence, or at least behaviors, imbue each system and device. Cyberphysical systems replace household servants and chauffeurs, operate factories, and manage energy logistics. The most pressing concerns are how intelligent systems and buildings will respond to us, and to each other.