next up previous
Next: Setting the Fixed Trajectories: Up: Run-time Policies: The Media Previous: Run-time Policies: The Media

Policy Resolution

  The policy scripts are compiled together to create a single executable policy. The policy can act on the multimedia object with which it is associated through the various interfaces discussed earlier: transformation, reduction, scaling and compression.

When the policy is activated (asked to transform its media), it goes through a number of parsing and resolution phases. These phases determine which rules are relevant to the associated multimedia object, which rules can be removed or overridden by others and they establish a definitive precedence order between rules from different policy sources.

Initially any rule which applies to media other than that of the attached multimedia object are removed. Then rules which clash are resolved according to the following criteria:

  1. user rules have precedence over authorial and default rules, except when 3. or 4. is in place,
  2. authorial rule have precedence over default rules, except when 3. is in place.
  3. user and authorial rules can specify that they submit to default rules.
  4. user rules can specify that they submit to authorial rules.

Four phases of multi-pass rule activation then take place:

Transformation
involves firing rules that transform the multimedia object from one type in the media hierarchy (figure 2). Rules that utilise the transformation interface are key to the writing of policies that cope with difficult display attributes and location dependant data.
Reduction
involves firing rules that utilise the reduce interface; thus reducing the quality of the attached multimedia object and so improving down load time. The reduction phase is a multi-pass operation. Each pass of the rules further reduces the multimedia object. Passes are repeated until no rule is fired, that is, all of the media's size and quality requirements are met. Of course this may never happen! So, the multi-pass mechanism is constrained by a set of heuristics which can identify looping, the exhaustive limits of compression and rules which reduce the multimedia object to the edge of our perception.
Scaling
is the process of altering the dimension of the Media. Images are scaled in the X,Y dimension as are Video (although they also have the frames per second dimension). For some media types scaling is not meaningful or takes on a different meaning. For example it is not meaning to scale ASCII and it only meaning to scale audio in terms of amplitude or tone - qualities that can be adjusted to suit the user, but do not effect the download time.
compression
is a simple one-pass treatment of using non-lossy compression where possible. Media that benefit from this are those which, unlike JPEG and MPEG, do not support their own compression technique. Anything under the mime type mime:text/* can benefit from the use of non-destructive compressiongif.

This multi-phase multi-pass process of resolution is at the heart of what makes the policy work. It combines the disparate needs of user, author and the system designers.


next up previous
Next: Setting the Fixed Trajectories: Up: Run-time Policies: The Media Previous: Run-time Policies: The Media

Malcolm McIlhagga
Thursday June 11 16:17:19 BST 1998