Understanding Inheritance in WS-Calendar

Traditional service communications have assumed near real time response. Traditional schedule ahead markets have been similar to the informally communicated “allow two weeks for shipping”. Smart energy markets demand we do better, scheduling delivery of services, now and in the future, within 15 minute windows or even within 4 second intervals. Prices, and delivery and consumption will all swing every hour of every day. Real opportunities will arise for those who can help the consumer in the home or commercial property buy low, sell high, and buffer their internal needs in between.

This requires clear communication of time and schedule, whether we are talking price, or product, or service. WS-Calendar is a new specification that will be at the center of new market communications. WS-Calendar extends enterprise standards used for personal and business schedules to service communications and markets. WS-Calendar defines the Interval, and relationships between Intervals to create the Sequence. The power of WS-Calendar comes from remotely referencing Sequences and in influencing Sequences that are incomplete to define actionable services.

Sequences are composed of intervals for which a set of temporal relations have been defined. ICalendar has long defined relationships between calendar components, intervals are just another calendar component. In WS-Calendar, we reference a sequence by defining a “parent” relationship with any single interval in the sequence. We refer to the interval within a sequence that has this relationship as the Designated Interval.

Wherever there is “missing” information in the Designated Interval, it can be inherited is inherited from the referring component; we use the “parent” relationship to reference the designated interval. These references may be local or remote. Some, but not all, of the information can be inherited by the other intervals in the sequence. Adding additional references can further specify information in the sequence through inheritance; these additional references created by specifying an additional component that has a parent relation to the previous referring component. In this way, we can create a grand-parent and a great grand-parent.

Each parent bequeaths information to its child. A child inherits this information in accord with the inheritance rules. If the child is itself a parent, it bequeaths its information, the bound result of its internal information and its inheritance, to its child. Information to complete the specification of a sequence flows in this way from parent to child, from the outer reference to the inner sequence.

Inheritance by the designated interval is governed by slightly different inheritance rules than the other intervals in the sequence. In particular, only the designated interval can inherit the start date and time from its parent. The starting date and times if other intervals in a sequence are computed using the temporal relationships within the sequence. Other information can be inherited by all intervals in a sequence. Other specifications that incorporate WS-Calendar must define how inheritnace will work with their payloads.

The referring components are called Gluons. In physics, gluons are particles that affect the exchanges of force between quarks, but are not themselves quarks. By analogy, WS-Calendar Gluons affect the referencing and binding of intervals in a sequence, but are not themselves intervals or part of sequences. Because intervals can inherit almost any property from a Gluon, Gluons must contain most of the same information elements as Intervals. Because Intervals can contain information payloads for specifications that use WS-Calendar, and these payloads can inherit information from gluons in the same way intervals do, Gluons must be able to contain information payloads from those specifications as well.

Gluons are essentially pretty simple. They can be incorporated as part of a larger communication, whether e-commerce or building controls (oBIX). This gluon can invoke a sequence, or modify it, or both with a single call.