One document matched: draft-thomson-simple-cont-presence-val-req-02.txt

Differences from draft-thomson-simple-cont-presence-val-req-01.txt




SIMPLE                                                        M. Thomson
Internet-Draft                                                    Andrew
Intended status: Informational                              July 2, 2009
Expires: January 3, 2010


Requirements for the Support of Continuously Varying Values in Presence
             draft-thomson-simple-cont-presence-val-req-02

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 3, 2010.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.









Thomson                  Expires January 3, 2010                [Page 1]

Internet-Draft          Continuous Presence Reqs.              July 2009


Abstract

   The attributes of continuous-valued data are examined in respect to
   presence systems.  The limitations of the existing presence system
   with respect to continuous-valued data is examined.  Requirements are
   formulated that would enable the use of the presence system for this
   data, with an emphasis on providing the watcher with a means of
   control over the measurement process.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Conventions used in this document  . . . . . . . . . . . .  4
   2.  Continous-Valued Data  . . . . . . . . . . . . . . . . . . . .  5
     2.1.  Continuous and Discrete Values in Presence . . . . . . . .  5
     2.2.  Measurement  . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Logical Model: Presence Sources  . . . . . . . . . . . . . . .  7
     3.1.  The Presence Agent is a Cache  . . . . . . . . . . . . . .  8
     3.2.  The Role of the Presentity . . . . . . . . . . . . . . . .  8
   4.  Problem Statement  . . . . . . . . . . . . . . . . . . . . . . 10
     4.1.  Unguided Measurement . . . . . . . . . . . . . . . . . . . 10
     4.2.  Presence Filters . . . . . . . . . . . . . . . . . . . . . 10
     4.3.  Quality  . . . . . . . . . . . . . . . . . . . . . . . . . 11
     4.4.  Watcher Feedback . . . . . . . . . . . . . . . . . . . . . 13
     4.5.  Active and Passive Sources . . . . . . . . . . . . . . . . 13
     4.6.  Triggering Measurement . . . . . . . . . . . . . . . . . . 14
       4.6.1.  Immediate Triggering of Measurement  . . . . . . . . . 14
       4.6.2.  Periodic Triggering of Measurement . . . . . . . . . . 15
       4.6.3.  Value-based Triggering of Measurement  . . . . . . . . 16
   5.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 18
     5.1.  Quality Requirements . . . . . . . . . . . . . . . . . . . 18
     5.2.  Immediate Triggering Requirements  . . . . . . . . . . . . 19
     5.3.  Periodic Triggering Requirements . . . . . . . . . . . . . 19
     5.4.  Value-Seeking Requirements . . . . . . . . . . . . . . . . 20
     5.5.  Timeliness Requirements  . . . . . . . . . . . . . . . . . 20
     5.6.  Privacy Requirements . . . . . . . . . . . . . . . . . . . 21
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 23
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 24
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 25
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 25
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 25
   Appendix A.  Presence Agent and Source Interactions  . . . . . . . 28
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 29







Thomson                  Expires January 3, 2010                [Page 2]

Internet-Draft          Continuous Presence Reqs.              July 2009


1.  Introduction

   The provision of continuously varying parameters using presence
   requires specific support by the presence infrastructure [RFC2778].
   Existing methods assume that perfect information is always available
   to the Presence Agent (PA).  These methods rely on filtering, which
   limit the data provided to a watcher, but do not provide the watcher
   any control over the quality of the actual data.  The current
   presence system is ill-equipped to handle imperfect data.

   Perfect information is available with no delay; perfect information
   is absolutely accurate.  The absence of perfectly accurate
   information, can be inversely characterized as the existence of
   uncertainty.  The measurement of any physical property is subject to
   some degree of uncertainty.  The impact of this depends on the
   purpose that the information is intended for.  If a low standard of
   quality is demanded of the data, the existence of uncertainty might
   be ignored without negative consequences; near-perfect information is
   often perfectly adequate.  However, in some cases uncertainty can be
   significant to the intended use of the information.

   Timely availability of information also affects the service provided
   by the PA.  For a continuously varying value, the amount of time
   required to acquire a value increases as the required accuracy
   increases.  The relationship between time and accuracy is likely to
   be non-linear; gains in accuracy progressive require increasing
   amounts of time to acquire.  Futhermore, as a value changes over
   time, the value provided to a watcher could be invalidated by the
   time the watcher receives the information.

   Dealing with imperfect information using presence requires additional
   protocol support.  To properly support continuous-valued data the
   presence system needs to provide a way for a watcher to indicate
   their preferences for data quality and timeliness.  This document
   outlines requirements for presence that enable the use of
   continuously varying parameters.

   Location information is used throughout this document as an exemplary
   example of a continuous-valued datum.  The requirements in this
   document are intended to provide a basis for the definition of
   presence features that support location while giving due
   consideration to support of other continuous variables.

      This document specifies requirements that might already be covered
      by existing publications.  To ensure the integrity of the overall
      concept - and guarantee is completeness - those requirements are
      retained.  References are provided to relevant documents.




Thomson                  Expires January 3, 2010                [Page 3]

Internet-Draft          Continuous Presence Reqs.              July 2009


1.1.  Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].














































Thomson                  Expires January 3, 2010                [Page 4]

Internet-Draft          Continuous Presence Reqs.              July 2009


2.  Continous-Valued Data

   Continuous-valued data are defined by this document as having a
   continuous value space.  Therefore, the set of possible values for
   any Continuous-valued datum is infinite.  In contrast, many existing
   presence elements are discrete-valued.  Discrete-valued elements have
   a limited number of possible values.  Continuous-valued data is most
   regularly numerical, or is composed of numerical data.

   Physical properties are the prototypical example of the use of
   continuous-valued data.  Any value expressed in the SI units (metres,
   kilograms, seconds, ampere, kelvin, mole or candela) and units
   derived from these are the focus of this document.

   Examples of continuous-valued presence elements could include
   descriptions of the physical characteristics of a presentity or its
   immediate environment.  This could include position in space; weather
   related values such as ambient temperature and wind speed; light or
   noise intensity; remaining battery life of a device; weight and size.

2.1.  Continuous and Discrete Values in Presence

   The many elements defined in RFC 4480 [RFC4480] are all discrete-
   valued.  Some of these discrete-valued presence elements are a
   product of an underlying continuous value, others are created
   subjectively.  For instance, the "sphere" element could be derived
   from the location of the presentity.

   Discrete-valued data is easy to manipulate and use.  However, the
   process by which discrete-valued data is determined varies.  When
   discrete-valued data is derived from continuous variables, the
   process might require heuristics that could be incompatible with the
   needs of all watchers.  Alternatively, where the process is
   subjective, active user input is required.

   Derivation of discrete-valued data from continuous primitives places
   assumptions and restrictions on the resulting value.  Access to
   uninterpreted continuous values avoids any limitations that these
   might impose and can enable a wider range of applications.

2.2.  Measurement

   The act of determining a continuous value is an act of measurement.
   The value that is represented in a presence document is the product
   of a measurement process.  All measurement processes are subject to
   measurement uncertainty, a well-documented phenomenom [ISO.GUM].

   This document applies to the inclusion of continuous-valued data in



Thomson                  Expires January 3, 2010                [Page 5]

Internet-Draft          Continuous Presence Reqs.              July 2009


   presence, with any of the following constraints:

   1.  The process of measurement has non-zero - or at least non-
       negligible - cost.  Cost can be defined in any number of ways,
       but could include time, processing resources, network
       utilisation, labour or financial.

   2.  The measurement process has limited accuracy, resulting in
       uncertainty that is - or could be - significant.

   Cost and accuracy are often related.  Improvements in one result in
   degradation of the other.  For continuous-valued information that is
   not subject to these constraints, some requirements from this
   document could still apply.

   From the above constraints, one aim of any system that handles such
   continuous-valued data is to minimise both cost and uncertainty using
   different trade-offs.  A common factor amoungst systems that handle
   continuous-valued data is the desire to be able to ignore the effects
   of these constraints.  Where ignorance is not viable, systems exhibit
   a range of traits: iterative measurement collection, caching of
   results, fuzzy logic, maximum likelihood estimation and other forms
   of statistical analysis.

   A significant example of a continuously varying parameter is the
   position of an entity in space, or its location.  Location
   information as an element of presence was established in [RFC4079]
   and a format specified in [RFC4119].  Uncertainty in location
   information, described in more detail in
   [I-D.thomson-geopriv-uncertainty], is a product of the method of
   location generation used and can vary greatly; likewise, the amount
   of time required to ascertain location within specific quality
   constraints is highly variable.


















Thomson                  Expires January 3, 2010                [Page 6]

Internet-Draft          Continuous Presence Reqs.              July 2009


3.  Logical Model: Presence Sources

   The entity that measures continuous-valued data - and the process of
   measurement - are crucial in determining the resulting information.
   RFC 3856 [RFC3856] notes that presence data can be sourced by a
   variety of means, but does not attach any significance to the source
   of presence data.  This document adopts a model that distinguishes
   between the PA and the presence source.

      +----------+             +----------+              +---------+
      | Presence |_____________| Presence |______________| Watcher |
      |  Source  |  (Various)  |  Agent   |  (Presence)  |         |
      +----------+             +----------+              +---------+

                          Figure 1: Logical Model

   Specifics of the interaction between presence source and PA are out
   of scope for this document.  There might be formalised protocols, or
   the PA might use unspecified or informal methods to acquire data.
   Formalised exchanges include SIP PUBLISH [RFC3903]; informal
   interactions include those that are briefly described in Section 7 of
   [RFC3856].

   For location information, the GEOPRIV architecture [RFC3693] defines
   the Location Generator.  The Location Generator is the presence
   source of this model; the entity that generates, or measures, the
   continuous value.  In the GEOPRIV architecture the Location Server is
   the analogue of the PA and the Location Recipient corresponds to the
   watcher.  Other forms of continuous-valued data might have similarly
   formal architectures and nomenclature.

   In an end-to-end system, the model can be applied iteratively.  An
   entity that acts as a presence source to a PA could equally acquire
   its information from a separate source; from a different perspective,
   the PA becomes a watcher and the presence source becomes a PA.

                      +----------+    +----------+    +---------+
                      | Presence |    | Presence |____| Watcher |
                      |  Source  |    |  Agent   |    |         |
      +----------+    |  - or -  +----+  - or -  |    +---------+
      | Presence |____| Presence |    |  Watcher |
      |  Source  |    |  Agent   |    |          |
      +----------+    +----------+    +----------+

           Figure 2: Iterative Application of the Logical Model






Thomson                  Expires January 3, 2010                [Page 7]

Internet-Draft          Continuous Presence Reqs.              July 2009


3.1.  The Presence Agent is a Cache

   Caching is a tool that is widely used in protecting resources where
   multiple watchers require access to the same information.  After a
   presence datum is acquired from a source, requests within a set
   period are served from a cache to reduce the time required to serve
   the request and to avoid the costs in gathering the data.

   For discrete-valued data, it is often feasible to provide data that
   is correct at the time that a watcher receives a notification.  The
   caching behavior of the PA is effectively hidden.

   Continuous-valued data differs in that the information provided can
   never be absolutely correct.  As the number of watchers increases,
   the extent to which a PA relies on caching necessarily increases.
   The PA provides a value from some time in the past, with a certain
   accuracy.

      In presence, caching is also used by the watcher user agent, which
      maintains a cached presence document for each presentity.  This
      cache is updated when the PA notifies the watcher of changes.

   How useful cached information is depends on how the information is
   applied.  This caching behavior can become apparent to watchers when
   the information that they receive is inadequate for their needs.

   Many caching management mechanisms, such as that defined in HTTP
   [I-D.ietf-httpbis-p6-cache], rely solely on age.  As a metric with a
   single axis, time can be precisely controlled.  There is no need to
   trade off multiple conflicting constraints, the data is either
   current enough, or not.  Acquisition of continuous-valued data often
   involves quality and timeliness constraints in addition to age
   constraints.

3.2.  The Role of the Presentity

   As the subject of presence information, there are two main aspects to
   the presentities involvement in this model.  The presentity can, in
   some circumstances, act as a presence source, even though the model
   does not require any direct involvement.  More significantly, in all
   cases the presentity has the most significant stake in ensuring that
   it retains some measure of control over the process.

   The presentity exercises control over the dissemination of presence
   information through use of policy.  Enforcement of policy is
   performed by the PA.  Policy is used to restrict what presence
   information is made available to watchers.  This document describes
   requirements for policy that also limit what controls the watcher is



Thomson                  Expires January 3, 2010                [Page 8]

Internet-Draft          Continuous Presence Reqs.              July 2009


   given over the measurement of continuous-valued presence information.

   Note:  The GEOPRIV model assigns the label of "Rule Maker" to the
      role assumed by the presentity when setting policy.  The Rule
      Maker role is further extended to include other stakeholders.  The
      requirements in this document do not preclude this abstraction.

   In some cases, a presentity also acts as a presence source.  A
   presentity could exploit this confluence by restricting the
   information that it provides as a presence source, thereby obviating
   the need for certain aspects of policy.  This can be an advantageous
   circumstance, particularly where the PA limits the complexity and
   size of the policy it accepts.






































Thomson                  Expires January 3, 2010                [Page 9]

Internet-Draft          Continuous Presence Reqs.              July 2009


4.  Problem Statement

   Continuous-valued data cannot always be treated in the same fashion
   as discrete-valued data.  This section outlines a number of
   considerations that distinguish continuous-valued data.  These
   considerations affect how the presence system uses continuous-valued
   data.

4.1.  Unguided Measurement

   A presence source is responsible for the measurement of presence
   data.  Unless the watcher is able to communicate preferences to the
   presence source, the process of measurement is unguided.

   In the event that a PA and watcher operate independently of the
   presence data source, there is a risk that continuous-valued data is
   measured inappropriately.  Values might be measured too frequently or
   with unneeded degree of accuracy; that is, accuracy is favored too
   highly over cost.  Conversely, if cost is optimised, measurements
   might be insufficient in frequency or accuracy.

   Communicating watcher preferences to the presence source addresses
   this problem by making watcher preferences known to the presence
   source.  With this information the measurement process is no longer
   unguided.

   Communicating watcher preferences to the presence source is
   especially critical if the watcher also incurs costs relating to the
   measuring of the continuous value.  The most direct cost is in time:
   the watcher might be forced to wait for measuring of information to
   an accuracy more stringent than needed.  However, it need not be
   limited to time.

4.2.  Presence Filters

   It is possible to resolve the problem of unguided measurement without
   resorting to explicit protocol mechanisms.  Presence filters
   ([RFC4660], [RFC4661]) are a vessel for conveying a watcher's
   preferences to the PA.  If the PA has a means of communicating with a
   presence source, it is able to request measurement of continuous-
   valued data according to the preferences it is aware of.  By
   communicating the watcher's preferences in this manner, the presence
   source is able to measure accordingly.  Additional changes to
   presence subscriptions ([I-D.ietf-sipcore-event-rate-control]) and
   filter extensions ([I-D.ietf-geopriv-loc-filters]) make more
   information available to the PA; this information could be passed on.

   Figure 3 shows a simplified model of the existing system of filtering



Thomson                  Expires January 3, 2010               [Page 10]

Internet-Draft          Continuous Presence Reqs.              July 2009


   for presence data.  The system assumes that presence information is
   perfect.  If this is not the case, the only option for a PA is to
   project the illusion that this is the case.  The only information
   available to the PA is the filter and throttling data made available
   to it in the subscription.  This information is then used to advise
   presence sources and to shape the notifications the PA provides.

      +--------------------------------------------------------+
      |    Presence Agent (PA)                                 |
      |                                                        |
      |         ,----------------+<-------+<-------+<-------------
      |        / (Presentity    /        /        /  SUBSCRIBE |
      |       |  Identifier)   /        /        /             |
      |       V               |        |        |              |
      |  ,----------.         |        |        |              |
      |  |          |         V        |        V              |
      |  | Presence |    \---------\   :   \----------\        |
      |  |   Data   |---->) Filter  )------>) Throttle )---------->
      |  |   Cache  |    /---------/   :   /----------/ NOTIFY |
      |  |          |         |        |       /               |
      |  `----------'         |       /       /                |
      |    ^  ^  ^            |,-----+-------'                 |
      |    |  |  |            /                                |
      |  .-+--+--+-.         /                                 |
      | /  Trigger  \ <-----'             +----------+         |
      | ^--+--+--+--^                     | Internal |         |
      |    |   \  `-----------------------| Presence |         |
      |    |    `.                        | Source   |         |
      |    |      `-.                     +----------+         |
      |    |         `.                                        |
      +----+-----------+---------------------------------------+
           |            \
           |             `.
      +----------+    +----------+
      | Presence |    | Presence |
      |  Source  |    |  Source  |
      +----------+    +----------+

                      Figure 3: Presence Agent Model

4.3.  Quality

   Ensuring that a watcher is able to access information that meets
   their needs is an important goal of presence filters.  When it comes
   to information quality, there are two separate goals that need to be
   distinguished:





Thomson                  Expires January 3, 2010               [Page 11]

Internet-Draft          Continuous Presence Reqs.              July 2009


   o  A filter is used to determine when (and if) the PA notifies the
      watcher of changed presence information.  This filter is usually
      strictly boolean, or "hard": unless the condition is met, no
      notification is generated.

   o  A target quality is used to inform the presence source (the
      measurement process) of the desired quality of the result.  This
      target is "soft": if the stated quality cannot be provided, a
      notification might still be generated.  In this way, this
      information acts as a goal for the presence source, rather than a
      condition on the notification process.

   The difference between the soft target and hard filter could
   alternatively be characterised as "want" and "need".  The concept of
   a soft target is not necessary for discrete-valued presence data.

      Suppose a watcher, Bob, is watching the location of a presentity,
      Alice.  Bob specifies a hard filter that specifies a maximum
      uncertainty of 50m.  If this is used to advise the presence
      source, the source attempts to determine a location within that
      uncertainty.  If the source is unable to meet the requirement, the
      filter ensures that no notification is sent to Bob.

      However, Bob could handle uncertainty of up to 1000m; it's not
      ideal, but some information is better than none.  If he specified
      a larger constraint using the hard filter, the source might use
      cheaper methods that never produce a result with the accuracy Bob
      really wants.  Therefore, Bob provides two values: a soft target
      of 50m, and a hard cutoff at 1000m uncertainty.

   From this example, it can be seen that soft quality preferences are
   useful where continuous-valued data is the subject.  In comparison,
   the hard filter is not tolerant of variations in quality.  The soft
   preferences are used to guide the measurement process, but aren't
   restrictive and don't unnecessary filter out poor quality results.

      Location-specific standards such as the Mobile Location Protocol
      (MLP) [OMA.MLS] provide a means to specify either hard or soft
      quality constraints.  A service class of "assured" implies that
      constraints are hard, whereas "best effort" service class
      indicates the use of a soft constraint.

   Quality constraints can be used to bypass caching of data.  For
   instance, a constraint might be placed on the timestamp that forces
   the measurement of new data.  This is discussed in more detail in
   Section 4.6.1.





Thomson                  Expires January 3, 2010               [Page 12]

Internet-Draft          Continuous Presence Reqs.              July 2009


4.4.  Watcher Feedback

   A watcher requires adequate feedback from the PA about how its
   preferences are being acted upon.  To a watcher, a PA that fully
   communicates watcher preferences to a presence source, remains
   indistinguishable from a PA that is either less able to acquire data
   (because it relies on PUBLISH [RFC3903]), or simply chooses not to
   perform this communication.

   In some cases, a watcher is able to compensate for any limitations
   imposed by the PA.  As shown in Section 4.6.3 adaptive polling can be
   used to seek a particular value.  However, if a watcher uses polling
   for value-seeking, this potentially duplicates similar efforts from
   the PA or presence source.

   In other circumstances, shortcomings cannot be addressed by the
   watcher.  For instance, perhaps the presence source is capable of
   providing information to a certain high degree of accuracy, but
   unless requested it does not do so (the cost is too high).  If the PA
   never requests highly accurate information, that information is never
   available to the watcher.

   Providing the watcher feedback on what efforts the PA and presence
   source make to acquire information ensures that the watcher is able
   to avoid replicating behaviour.  It also ensures that the watcher is
   able to make requests with some assurance that the PA is attempting
   to address them.

4.5.  Active and Passive Sources

   For a particular presence datum, the means by which the PA is able to
   acquire updated information varies.  For some forms of discrete-
   valued data - such as basic status - the PA might be considered
   absolutely authoritative, in that the information is absolutely
   correct by definition.  Data can be made available to the PA either
   passively or actively:

   Passive Acquisition:  The PA is a passive recipient of updated
      information with no means to trigger measurement.  SIP PUBLISH
      [RFC3903] is an example of how the PA could passively acquire
      data.

   Active Acquisition:  The PA is able to seek updated information, and
      does so based on one or more triggers.

   Providing the watcher information on the nature of a particular
   presence source is an important part of the feedback provided by the
   PA.  If the PA only passively acquires data, much of the



Thomson                  Expires January 3, 2010               [Page 13]

Internet-Draft          Continuous Presence Reqs.              July 2009


   considerations presented in this document become moot.  More
   significantly, if the watcher is not able to influence how the PA
   interacts with the presence source, the watcher is not able to
   specify constraints on the data it receives.  Thus, only when the PA
   conveys watcher preferences, does active acquisition becomes truly
   effective in improving the usefulness of presence data.

      Back to Bob and Alice: This time, Bob wants to know when Alice
      passes by the library where Bob works.  Bob sets a filter,
      requesting that he only be notified when Alice passes within 100m
      of the library.  If the PA passively receives updates about
      Alice's location from a presence source and does not inform the
      source of Bob's desired result, it could be that it never receives
      information when Alice passes by.  The presence source might not
      publish the necessary information at the moment that Alice passes
      by and Bob is not informed even though the event he was interested
      in actually occurs.

4.6.  Triggering Measurement

   Stimulating the generation of a value for the continuous variable can
   be done through several methods:

   o  immediate or on-demand triggers

   o  time-based or periodic triggers (polling)

   o  value-based triggers

4.6.1.  Immediate Triggering of Measurement

   An immediate request for measurement provides the simplest means of
   directly providing the presence source with necessary information.  A
   watcher makes a request to the PA, including its preferences.  The PA
   then acquires information from the presence source, passing watcher
   preferences directly to the source.

   An immediate request for updated information is particularly useful
   for suppressing caching behavior at the PA or other entities.

   PA caching can interfere with certain use cases, particularly those
   where currency of information is valued over efficiency.  For
   instance, if a watcher wants to know what the ocean temperature off
   the coast of Madagascar is _now_; if cached data is too old to
   useful, a caching mechanism could interfere with that goal.  Measures
   to suppress and control caching are necessary.

   The simplest mechanism for avoiding cached data is to specify a



Thomson                  Expires January 3, 2010               [Page 14]

Internet-Draft          Continuous Presence Reqs.              July 2009


   quality constraint that limits the age of information.  Setting this
   age value to zero indicates to any caching entity that old
   information is no good.  As long as the caching policy allows it, the
   cache is avoided.  Values larger than zero indicate how old the
   cached information can be to be used.  This ensures that the benefits
   of caching are achieved without negative affecting the watcher.

      The HTTP "Cache-Control" header [I-D.ietf-httpbis-p6-cache]
      provides this function.  A reqeuester is given explicit control
      over whether a cache is used.  "Cache-Control" directives relate
      to the age of the information; a header set with "no-cache"
      prevents the use of data from cache.

4.6.1.1.  Immediate SIP SUBSCRIBE

   For SIP presence, the means of triggering immediate measurement is
   the SUBSCRIBE request.  This presents a challenge for the SIP
   presence framework if the presence source is not able to provide the
   requested information immediately.  RFC 3265 [RFC3265] states:

      When a SUBSCRIBE request is answered with a 200-class response,
      the notifier MUST immediately construct and send a NOTIFY request
      to the subscriber.

   If the PA is unable to provide an immediate notification due to lack
   of information, it must indicate this to the watcher.  A presence
   document might be a composit of continuous- and discrete-valued data.
   Any solution for continuous-valued data cannot affect the conveyance
   of discrete-valued data.  Compatibility with existing the existing
   presence framework is also desirable.  Therefore, an immediate
   notification is still necessary.

   Some time after the initial request, when the continuous-valued data
   becomes available, a second notification can be sent.  However,
   another conflict arises with event rate throttling
   [I-D.ietf-sipcore-event-rate-control].  When information becomes
   available, the notification might be suppressed due to a short
   elapsed time since the initial notification.

   Any means of triggering immediate measurement needs to consider these
   problems.

4.6.2.  Periodic Triggering of Measurement

   Periodic notifications of the value of presence data are not assumed
   to be necessary by the existing work.  Values are assumed to change
   infrequently, or if frequent changes are necessary, solutions have
   concentrated on means of throttling notifications.  RFC 3265



Thomson                  Expires January 3, 2010               [Page 15]

Internet-Draft          Continuous Presence Reqs.              July 2009


   [RFC3265] recommends that event packages specify a minimum interval
   between notifications; and [I-D.ietf-sipcore-event-rate-control]
   provides a direct means of controlling this interval.

   If the watcher has an interest in the value of a particular datum
   over time, it is useful to be able to have the PA provide
   notifications at regular intervals.

   A similar time-based problem exists for periodic notification as did
   for the immediate request.  The PA cannot request presence
   information at the time that a notification is required - the
   presence source is unlikely to be able to produce a result so
   quickly.  The PA needs to allow the presence source sufficient time
   to make a measurement.  This time can be allocated before the
   notification is required so that all the necessary data is available
   for the notification.

   Deciding how much time to allow the presence source for measurement
   presents another problem.  Relying upon a value specified by the
   watcher ensures that the measurement process is guided appropriately.

4.6.3.  Value-based Triggering of Measurement

   A watcher might only be interested in a value if that value enters a
   particular range.  For instance, for location, the watcher might be
   interested when the presentity is in the vicinity of a particular
   landmark, or even the when two presentities approach each other.  A
   watcher that monitors the temperature of a presentity might be
   interested if the temperature exceeds a certain threshold.

   Value-seeking can be performed in different ways.  Given certain
   assumptions or knowledge about the rate of change of a value and the
   desired responsiveness, an adaptive polling method can be used.  The
   rate of polling can increase in frequency in proportion to the
   proximity of the current value to the target range.  In addition,
   time and quality constraints can be relaxed or made more stringent as
   appropriate.  The advantage of polling is that it can be performed
   based on the value only.  The additional knowledge available to a
   presence source is not necessary; a PA or watcher is able to use
   polling for value-seeking.

   A presence source can potentially use alternative information to
   assist in value-seeking.  For data that is derived from other
   measurements, the value of the unprocessed measurements might provide
   an adequate indication of the value to obviate any need to continue
   measurement.  For instance, the set of wireless transmitters that can
   be observed by a wireless device can be used as a rough indication of
   location.



Thomson                  Expires January 3, 2010               [Page 16]

Internet-Draft          Continuous Presence Reqs.              July 2009


   Value-seeking can be of great benefit to applications, particularly
   for simplifying the application logic.  Without this feature, an
   application needs accept and interpret notifications and check values
   against a target range.  As demonstrated in
   [I-D.thomson-geopriv-uncertainty], this can be non-trivial.  If a
   trigger can be set based on a certain value, the notification
   provided by the PA indicates that the condition has been met.

      Lee is a surfer.  He uses a presence service to inform him of when
      the waves are good at his favourite beaches.  During the week,
      when Lee is usually at work, Lee sets a trigger that notifies him
      when the waves reach a certain size at any one of these beaches.
      If the waves reach the size that means that surfing becomes a
      higher priority than working, Lee is sent a text message.  Upon
      receiving the text message, he drops what he is doing to catch the
      big surf.

      This case can also be used to demonstrate one reason for using
      continuous-valued data instead of discrete-valued data.  Harriette
      might also be an equally keen surfer, but less flexible
      employment.  She has to set a more stringent set of criteria
      before she is willing to renege on her responsibilities.  Giving
      both surfers access to the raw data lets them set their own
      definition for what is worth skipping out on work.  Any discrete
      value that is assigned reflects a certain set of values that
      cannot be universally accurate.

























Thomson                  Expires January 3, 2010               [Page 17]

Internet-Draft          Continuous Presence Reqs.              July 2009


5.  Requirements

   The requirements documented in this section relate to subscriptions
   for continuous-valued data.  These requirements do not make any
   assumptions about the nature of the relationship between PA and
   presence source.  A presence source is assumed to be present only to
   the extent that the measurement of a particular presence element
   affects the results observed by the watcher.

   A solution that addresses these requirements MAY address them based
   on a specific type of data.  A generic solution might not be feasible
   in all cases.

5.1.  Quality Requirements

   Q1.  The system MUST provide a watcher the ability to express non-
        binding requirements on information quality for continuous-
        valued presence data.

        Motivation: Having a means to express preferences in non-binding
        fashion can have the desired effect in influencing the
        measurement process at the presence source without other side-
        effects.

   Q2.  The system MUST provide a means to indicate how information
        quality preferences are used or propagated.

        Motivation: Providing adequate feedback to a watcher assists the
        watcher in making decisions about its behaviour.  From the
        perspective of a PA, this requirement can only be fulfilled
        based on the knowledge it has available.  A PA can know whether
        or not it is the presence source, but it cannot assume that the
        entity it requests information from is the ultimate source of
        the information; a PA needs to - in turn - rely on the
        information provided by its source.  This ensures that a watcher
        is able to learn how its preferences are getting to the ultimate
        source.

        For instance, the PA or presence source might limit the extent
        to which quality parameters are able to bypass caches.  This
        information can be integrated with any inherent limitations
        indicated by the source, or the mechanism used to acquire the
        presence data.








Thomson                  Expires January 3, 2010               [Page 18]

Internet-Draft          Continuous Presence Reqs.              July 2009


5.2.  Immediate Triggering Requirements

   IT1.  The system MUST provide a means for a watcher to explicitly and
         immediately request measurement of a specified continuous-
         valued datum, bypassing any cached data.

         Motivation: A direct request for data ensures that the presence
         source is properly advised of the constraints of a request.  It
         also ensures that a watcher has access to updated information.

   IT2.  The system MUST provide a means for the watcher to communicate
         time constraints on measurement processes.

         Motivation: Specifying time constraints ensures that the
         information is available to the watcher when required.  It also
         ensures that the presence source applies appropriate methods in
         measuring.

   IT3.  The system MUST provide a means for a PA to limit support for
         immediate requests.

         Motivation: Making a direct request to the presence source
         increases the load on the presence source and PA.  A PA
         implementation might want to constrain access to immediate
         requests to prevent denial of service.

   IT4.  The system MUST provide a means for a PA to indicate support
         for immediate requests, including any limits or constraints on
         that support.

         Motivation: Providing adequate feedback to the watcher ensures
         that the watcher is able to modify its behaviour accordingly.

5.3.  Periodic Triggering Requirements

   References: [I-D.ietf-sipcore-event-rate-control]

   PT1.  The system MUST provide a means to request periodic measurement
         of a continuous-valued datum at a specified interval.

         Motivation: Periodic measurement is the most basic means of
         enabling tracking of a value over time.  More sophisticated
         methods might be used, but this sets a minimum level of
         capability that can be exploited for any type of continuous-
         valued data.






Thomson                  Expires January 3, 2010               [Page 19]

Internet-Draft          Continuous Presence Reqs.              July 2009


   PT2.  The system MUST provide a means for a PA to limit support for
         periodic requests.

         Motivation: Excessive polling rates might result in denial of
         service through excessive requests.

   PT3.  The system MUST provide a means for a PA to indicate support
         for periodic measurement, including any limits or constraints.

   PT4.  The system MUST provide a means for a watcher to explicitly
         limit the rate of notifications.

         Motivation: Even without perfect information, the defining
         characteristic of continuous variables is the potential for
         continuous change.  This manifests in presence as a continuous
         stream of data from the PA to the watcher.  For a range of
         reasons - protection of network utilization not-withstanding -
         this is not desirable.

5.4.  Value-Seeking Requirements

   VT1.  The system MAY provide a means for a watcher to indicate a
         particular range of values to seek.

         Motivation: If a watcher is only interested in a certain range
         of values, limiting measurement and notification protects
         resources on both the presence source and watcher.

   VT2.  The system MUST provide a means for a PA to indicate support
         for value-seeking requests, including any limits or constraints
         on that support.

         Motivation: Providing adequate feedback to the watcher ensures
         that the watcher is able to modify its behaviour accordingly.

5.5.  Timeliness Requirements

   T1.  Continuous-valued data MUST always have a timestamp that
        indicates when the value was measured.

        Motivation: A continuously varying datum is, by its nature,
        inevitably out of date at the time that the watcher receives it.
        In practice, this is only a problem if the time between
        measurement and receipt of the data is large.  Since this is a
        matter of degree, providing a timestamp ensures that a watcher
        is able to make a judgment about validity.

        If time information is not included, the recipient of



Thomson                  Expires January 3, 2010               [Page 20]

Internet-Draft          Continuous Presence Reqs.              July 2009


        continuous-valued information has no means of judging how
        current the information is.  PIDF [RFC3863] specifies an
        optional "timestamp" element, which is described as being
        necessary if available.  This requirement makes the value
        mandatory.

        The corollary to this that an item of continuous-valued data is
        automatically invalid if it is not timestamped.

   T2.  The system MUST provide a watcher the ability to limit the age
        of data that it is provided.

        Motivation: This ensures that caching of data is only used to
        the extent that it is acceptable to the watcher.

        References: [I-D.thomson-geopriv-location-quality], Requirement
        IT1.

   T3.  The system SHOULD provide a means for a watcher to indicate how
        long measurement of continuous-valued data is allowed to take.

        Motivation: This indication assists the PA and presence source
        in making decisions about how much time to allocate to
        measurement; for periodic measurement, it provides a hint on
        when to start measurement.  This guidance is often better served
        by other quality constraints in situations where the delay is
        not evident to the watcher.  However, a time-based value serves
        in a wide range of scenarios and guides behaviour where a PA
        might not understand the quality constraints specific to a data
        type.

5.6.  Privacy Requirements

   P1.  The system MUST provide a means for a presentity (rule maker) to
        control how watchers are able to request continuous-valued data.

        Motivation: A presence agent acts for the presentity in
        disseminating presence information.  Policy is the primary means
        of privacy control available a presentity.

        Many of the requirements in this document describe more flexible
        means of acquiring presence information.  Policy provides a
        means for a presentity to limit a watcher's access to these
        features and thereby restrict access to private data.

        References: [RFC4745]

   Each of the individual aspects of watcher-agent-source interaction



Thomson                  Expires January 3, 2010               [Page 21]

Internet-Draft          Continuous Presence Reqs.              July 2009


   are appropriate subjects for policy:

   Quality:  A presentity might want to limit the quality of the
      information provided.  Quality can be purposefully degraded post-
      measurement.  If this restriction is known before measurement, the
      presence source might be able to avoid some costs in generation.

   Immediate Triggers:  A presentity might want to restrict access to
      immediate requests, or force the use of cached data.

   Periodic Triggers:  A presentity might want to prevent periodic
      requesting, or place a limit on the rate that can be requested by
      watchers.

   Each of the mechanisms that allow for greater control at the watcher
   MUST also consider policy controls to limit or block use of that
   mechanism.  This guarantees that a presentity (or rule maker) is able
   to communicate appropriate rules to the PA.

































Thomson                  Expires January 3, 2010               [Page 22]

Internet-Draft          Continuous Presence Reqs.              July 2009


6.  Security Considerations

   A number of requirements involve a PA making information about its
   operation available to a watcher.  This information might be consider
   sensitive by the operators of a PA.  Any solution that addresses
   these requirements MUST provide an option to suppress this
   information and MAY include guidance on when this might be
   appropriate.

   Many of the requirements in this document potentially result in PA
   and presence source behaviour being controlled to some extent by a
   watcher.  A malicious watcher could attempt a denial of service
   attack by exploiting the fact that some of this behaviour requires
   greater expenditure resources from the PA and presence source than is
   incurred in making the request.  In particular, periodic requests or
   requests that includes value-seeking require significant processing
   in response to a relatively simple request.  Any solution that
   addresses these requirements MUST consider the implications of denial
   of service on the PA and SHOULD also consider the presence source.

   Caching of results can limit the load imposed by multiple requests
   for the same information.  To protect against denial of service, a PA
   MAY choose to suppress any options for bypassing cached data.

   Privacy is a major consideration in any architecture that defines
   more flexible means of access to private data.  Section 5.6 describes
   requirements that are aimed at providing a presentity (or other rule
   maker) greater control over the access watchers have to private data.
   These focus on the application of policies that direct the actions of
   the PA.





















Thomson                  Expires January 3, 2010               [Page 23]

Internet-Draft          Continuous Presence Reqs.              July 2009


7.  Acknowledgements

   This document is a clumsy attempt to formalize the output of
   discussions on the nature of presence and its applicability to
   location information.  Adam Roach has been helpful in destroying
   misconceptions about presence.  Jonathan Rosenberg pointed out a
   major omission in ignoring the role of the presentity an earlier
   version of this document.  Thanks also to Richard Barnes, Jon
   Peterson, Robert Sparks, James Winterbottom.










































Thomson                  Expires January 3, 2010               [Page 24]

Internet-Draft          Continuous Presence Reqs.              July 2009


8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

8.2.  Informative References

   [RFC2778]  Day, M., Rosenberg, J., and H. Sugano, "A Model for
              Presence and Instant Messaging", RFC 2778, February 2000.

   [RFC3265]  Roach, A., "Session Initiation Protocol (SIP)-Specific
              Event Notification", RFC 3265, June 2002.

   [RFC3693]  Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and
              J. Polk, "Geopriv Requirements", RFC 3693, February 2004.

   [RFC3856]  Rosenberg, J., "A Presence Event Package for the Session
              Initiation Protocol (SIP)", RFC 3856, August 2004.

   [RFC3863]  Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr,
              W., and J. Peterson, "Presence Information Data Format
              (PIDF)", RFC 3863, August 2004.

   [RFC3903]  Niemi, A., "Session Initiation Protocol (SIP) Extension
              for Event State Publication", RFC 3903, October 2004.

   [RFC4079]  Peterson, J., "A Presence Architecture for the
              Distribution of GEOPRIV Location Objects", RFC 4079,
              July 2005.

   [RFC4119]  Peterson, J., "A Presence-based GEOPRIV Location Object
              Format", RFC 4119, December 2005.

   [RFC4480]  Schulzrinne, H., Gurbani, V., Kyzivat, P., and J.
              Rosenberg, "RPID: Rich Presence Extensions to the Presence
              Information Data Format (PIDF)", RFC 4480, July 2006.

   [RFC4660]  Khartabil, H., Leppanen, E., Lonnfors, M., and J. Costa-
              Requena, "Functional Description of Event Notification
              Filtering", RFC 4660, September 2006.

   [RFC4661]  Khartabil, H., Leppanen, E., Lonnfors, M., and J. Costa-
              Requena, "An Extensible Markup Language (XML)-Based Format
              for Event Notification Filtering", RFC 4661,
              September 2006.




Thomson                  Expires January 3, 2010               [Page 25]

Internet-Draft          Continuous Presence Reqs.              July 2009


   [RFC4745]  Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J.,
              Polk, J., and J. Rosenberg, "Common Policy: A Document
              Format for Expressing Privacy Preferences", RFC 4745,
              February 2007.

   [I-D.ietf-geopriv-lbyr-requirements]
              Marshall, R., "Requirements for a Location-by-Reference
              Mechanism", draft-ietf-geopriv-lbyr-requirements-07 (work
              in progress), February 2009.

   [I-D.ietf-geopriv-loc-filters]
              Mahy, R. and B. Rosen, "A Document Format for Filtering
              and Reporting Location Notications in the  Presence
              Information Document Format Location Object (PIDF-LO)",
              draft-ietf-geopriv-loc-filters-03 (work in progress),
              November 2008.

   [I-D.ietf-httpbis-p6-cache]
              Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
              Masinter, L., Leach, P., Berners-Lee, T., and J. Reschke,
              "HTTP/1.1, part 6: Caching",
              draft-ietf-httpbis-p6-cache-06 (work in progress),
              March 2009.

   [I-D.garcia-simple-indirect-presence-publish]
              Garcia, M., Tschofenig, H., and H. Schulzrinne, "Indirect
              Presence Publication with the Session Initiation
              Protocol(SIP)",
              draft-garcia-simple-indirect-presence-publish-01 (work in
              progress), March 2009.

   [I-D.ietf-sipcore-event-rate-control]
              Niemi, A., Kiss, K., and S. Loreto, "Session Initiation
              Protocol (SIP) Event Notification Extension for
              Notification Rate Control",
              draft-ietf-sipcore-event-rate-control-00 (work in
              progress), May 2009.

   [I-D.thomson-geopriv-uncertainty]
              Thomson, M. and J. Winterbottom, "Representation of
              Uncertainty and Confidence in PIDF-LO",
              draft-thomson-geopriv-uncertainty-03 (work in progress),
              June 2009.

   [I-D.thomson-geopriv-location-quality]
              Thomson, M. and J. Winterbottom, "Specifying Location
              Quality Requirements in Location Protocols",
              draft-thomson-geopriv-location-quality-04 (work in



Thomson                  Expires January 3, 2010               [Page 26]

Internet-Draft          Continuous Presence Reqs.              July 2009


              progress), June 2009.

   [ISO.GUM]  ISO/IEC, "Guide to the expression of uncertainty in
              measurement (GUM)", Guide 98:1995, 1995.

   [OMA.MLS]  Open Mobile Alliance, "Mobile Location Service v1.2",
              Enabler MLS V1.2, 2008.












































Thomson                  Expires January 3, 2010               [Page 27]

Internet-Draft          Continuous Presence Reqs.              July 2009


Appendix A.  Presence Agent and Source Interactions

   [[Ed: this section has some informational value, but need to
   determine how much that contributes to the document.]]

   This document specifies requirements that expose the nature of the
   association between PA and presence source.  While there are no
   direct requirements on this interface and proprietary solutions are
   entirely appropriate, it is hoped that these requirements will
   influence the design of any protocol mechanisms used on this
   interface.

   Associations between PA and presence sources could be largely static
   in nature, as is true of the methods described in [RFC3856].
   Establishing dynamic associations between PA and presence source is
   an option where disparate presence sources are required.  This is
   especially true for location information, where close physical
   proximity between presentity and source is usually required;
   consequently the presence source can dynamically change as the
   presentity moves.

   Location by-reference [I-D.ietf-geopriv-lbyr-requirements] provides a
   means whereby a relationship between any entity and the Location
   Generator can be established.  By contacting the Location Generator,
   a requester is able to specify preferences for how location
   information is generated/measured.  A location reference forms the
   basis for establishing an association between Location Generator and
   a Location Server.

   For presence, Indirect publish
   [I-D.garcia-simple-indirect-presence-publish] describes how a PA is
   able to use the indirection provided by a URI.  The URI is used to
   establish a link between the presence source and the PA.  The URI is
   distinguished by two characteristics:

   o  the host serving the URI is the presence source

   o  additional information in the URI provides enough information to
      uniquely identify the presentity to the presence source












Thomson                  Expires January 3, 2010               [Page 28]

Internet-Draft          Continuous Presence Reqs.              July 2009


Author's Address

   Martin Thomson
   Andrew
   PO Box U40
   Wollongong University Campus, NSW  2500
   AU

   Phone: +61 2 4221 2915
   Email: martin.thomson@andrew.com
   URI:   http://www.andrew.com/








































Thomson                  Expires January 3, 2010               [Page 29]



PAFTECH AB 2003-20262026-04-24 02:51:11