RFC3343 日本語訳

3343 The Application Exchange (APEX) Presence Service. M. Rose, G.Klyne, D. Crocker. April 2003. (Format: TXT=42043 bytes) (Status: EXPERIMENTAL)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                            M. Rose
Request for Comments: 3343                  Dover Beach Consulting, Inc.
Category: Experimental                                          G. Klyne
                                                            Nine by Nine
                                                              D. Crocker
                                             Brandenburg InternetWorking
                                                              April 2003

Network Working Group M. Rose Request for Comments: 3343 Dover Beach Consulting, Inc. Category: Experimental G. Klyne Nine by Nine D. Crocker Brandenburg InternetWorking April 2003

            The Application Exchange (APEX) Presence Service

The Application Exchange (APEX) Presence Service

Status of this Memo

Status of this Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

Copyright Notice

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

Abstract

   This memo describes the Application Exchange (APEX) presence service,
   addressed as the well-known endpoint "apex=presence".  The presence
   service is used to manage presence information for APEX endpoints.

This memo describes the Application Exchange (APEX) presence service, addressed as the well-known endpoint "apex=presence". The presence service is used to manage presence information for APEX endpoints.

Table of Contents

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Use and Management of Presence Information . . . . . . . . . .  3
   2.1 Update of Presence Information . . . . . . . . . . . . . . . .  3
   2.2 Distribution of Presence Information . . . . . . . . . . . . .  4
   2.3 Distribution of Watcher Information  . . . . . . . . . . . . .  7
   3.  Format of Presence Entries . . . . . . . . . . . . . . . . . . 10
   4.  The Presence Service . . . . . . . . . . . . . . . . . . . . . 11
   4.1 Use of XML and MIME  . . . . . . . . . . . . . . . . . . . . . 12
   4.2 The Subscribe Operation  . . . . . . . . . . . . . . . . . . . 13
   4.3 The Watch Operation  . . . . . . . . . . . . . . . . . . . . . 14
   4.4 The Publish Operation  . . . . . . . . . . . . . . . . . . . . 15
   4.5 The Terminate Operation  . . . . . . . . . . . . . . . . . . . 17
   4.6 The Notify Operation . . . . . . . . . . . . . . . . . . . . . 17
   4.7 The Reply Operation  . . . . . . . . . . . . . . . . . . . . . 18
   5.  Registration: The Presence Service . . . . . . . . . . . . . . 18
   6.  The Presence Service DTD . . . . . . . . . . . . . . . . . . . 18
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 21
       References . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Use and Management of Presence Information . . . . . . . . . . 3 2.1 Update of Presence Information . . . . . . . . . . . . . . . . 3 2.2 Distribution of Presence Information . . . . . . . . . . . . . 4 2.3 Distribution of Watcher Information . . . . . . . . . . . . . 7 3. Format of Presence Entries . . . . . . . . . . . . . . . . . . 10 4. The Presence Service . . . . . . . . . . . . . . . . . . . . . 11 4.1 Use of XML and MIME . . . . . . . . . . . . . . . . . . . . . 12 4.2 The Subscribe Operation . . . . . . . . . . . . . . . . . . . 13 4.3 The Watch Operation . . . . . . . . . . . . . . . . . . . . . 14 4.4 The Publish Operation . . . . . . . . . . . . . . . . . . . . 15 4.5 The Terminate Operation . . . . . . . . . . . . . . . . . . . 17 4.6 The Notify Operation . . . . . . . . . . . . . . . . . . . . . 17 4.7 The Reply Operation . . . . . . . . . . . . . . . . . . . . . 18 5. Registration: The Presence Service . . . . . . . . . . . . . . 18 6. The Presence Service DTD . . . . . . . . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 References . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Rose, et al.                  Experimental                      [Page 1]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 1] RFC 3343 The Application Exchange (APEX) Presence April 2003

       Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 22
       Full Copyright Statement . . . . . . . . . . . . . . . . . . . 23

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 22 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 23

1. Introduction

1. Introduction

   This memo describes a presence service that is built upon the APEX
   [1] "relaying mesh".  The APEX presence service is used to manage
   presence information for APEX endpoints.

This memo describes a presence service that is built upon the APEX [1] "relaying mesh". The APEX presence service is used to manage presence information for APEX endpoints.

   APEX, at its core, provides a best-effort datagram service.  Within
   an administrative domain, all relays must be able to handle messages
   for any endpoint within that domain.  APEX services are logically
   defined as endpoints, but given their ubiquitous semantics they do
   not necessarily need to be associated with a single physical
   endpoint.  As such, they may be provisioned co-resident with each
   relay within an administrative domain, even though they are logically
   provided on top of the relaying mesh, i.e.,

APEX, at its core, provides a best-effort datagram service. Within an administrative domain, all relays must be able to handle messages for any endpoint within that domain. APEX services are logically defined as endpoints, but given their ubiquitous semantics they do not necessarily need to be associated with a single physical endpoint. As such, they may be provisioned co-resident with each relay within an administrative domain, even though they are logically provided on top of the relaying mesh, i.e.,

      +----------+     +----------+    +----------+    +---------+
      |   APEX   |     |   APEX   |    |   APEX   |    |         |
      |  access  |     | presence |    |  report  |    |   ...   |
      | service  |     |  service |    | service  |    |         |
      +----------+     +----------+    +----------+    +---------+
           |                |               |               |
           |                |               |               |
   +----------------------------------------------------------------+
   |                                                                |
   |                            APEX core                           |
   |                                                                |
   +----------------------------------------------------------------+

+----------+ +----------+ +----------+ +---------+ | APEX | | APEX | | APEX | | | | access | | presence | | report | | ... | | service | | service | | service | | | +----------+ +----------+ +----------+ +---------+ | | | | | | | | +----------------------------------------------------------------+ | | | APEX core | | | +----------------------------------------------------------------+

   That is, applications communicate with an APEX service by exchanging
   data with a "well-known endpoint" (WKE).

That is, applications communicate with an APEX service by exchanging data with a "well-known endpoint" (WKE).

   APEX applications communicate with the presence service by exchanging
   data with the well-known endpoint "apex=presence" in the
   corresponding administrative domain, e.g.,
   "apex=presence@example.com" is the endpoint associated with the
   presence service in the "example.com" administrative domain.

APEX applications communicate with the presence service by exchanging data with the well-known endpoint "apex=presence" in the corresponding administrative domain, e.g., "apex=presence@example.com" is the endpoint associated with the presence service in the "example.com" administrative domain.

   Note that within a single administrative domain, the presence service
   makes use of the APEX access [3] service in order to determine if an
   originator is allowed to view or manage presence information.

Note that within a single administrative domain, the presence service makes use of the APEX access [3] service in order to determine if an originator is allowed to view or manage presence information.

Rose, et al.                  Experimental                      [Page 2]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 2] RFC 3343 The Application Exchange (APEX) Presence April 2003

2. Use and Management of Presence Information

2. Use and Management of Presence Information

   Management of presence information falls into three categories:

Management of presence information falls into three categories:

   o  applications may update the presence information associated with
      an endpoint;

o applications may update the presence information associated with an endpoint;

   o  applications may subscribe to receive presence information
      associated with an endpoint; and,

o applications may subscribe to receive presence information associated with an endpoint; and,

   o  applications may find out who is subscribed to receive presence
      information.

o applications may find out who is subscribed to receive presence information.

   Each is now described in turn.

Each is now described in turn.

2.1 Update of Presence Information

2.1 Update of Presence Information

   When an application wants to modify the presence information
   associated with an endpoint, it sends a publish operation to the
   service, e.g.,

When an application wants to modify the presence information associated with an endpoint, it sends a publish operation to the service, e.g.,

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |       |
       +-------+                  +-------+

+-------+ +-------+ | | -- data -------> | | | appl. | | relay | | | <--------- ok -- | | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='fred@example.com' />
            <recipient identity='apex=presence@example.com' />
            <data-content Name='Content'>
                <publish publisher='fred@example.com' transID='1'
                         timeStamp='2000-05-14T13:30:00-08:00'>
                    <presence publisher='fred@example.com'
                           lastUpdate='2000-05-14T13:02:00-08:00'
                           publisherInfo='http://www.example.com/fred/'>
                        <tuple
                          destination='apex:fred/appl=im@example.com'
                          availableUntil='2000-05-14T14:02:00-08:00' />
                        <tuple destination='mailto:fred@flintstone.com'
                          availableUntil='2525-12-31T23:59:59-08:00' />
                    </presence>
                </publish>
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='fred@example.com' /> <recipient identity='apex=presence@example.com' /> <data-content Name='Content'> <publish publisher='fred@example.com' transID='1' timeStamp='2000-05-14T13:30:00-08:00'> <presence publisher='fred@example.com' lastUpdate='2000-05-14T13:02:00-08:00' publisherInfo='http://www.example.com/fred/'> <tuple destination='apex:fred/appl=im@example.com' availableUntil='2000-05-14T14:02:00-08:00' /> <tuple destination='mailto:fred@flintstone.com' availableUntil='2525-12-31T23:59:59-08:00' /> </presence> </publish> </data-content> </data> S: <ok />

Rose, et al.                  Experimental                      [Page 3]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 3] RFC 3343 The Application Exchange (APEX) Presence April 2003

   Note that this example uses the "subaddress" convention specified in
   Section 2.2 of [1] (e.g., "fred/appl=im") to denote multiplexing of
   traffic for a particular endpoint.  Of course, popular applications
   may have their own URI method assigned to them (e.g.,
   "im:fred@example.com").

Note that this example uses the "subaddress" convention specified in Section 2.2 of [1] (e.g., "fred/appl=im") to denote multiplexing of traffic for a particular endpoint. Of course, popular applications may have their own URI method assigned to them (e.g., "im:fred@example.com").

   The service immediately responds with a reply operation containing
   the same transaction-identifier, e.g.,

The service immediately responds with a reply operation containing the same transaction-identifier, e.g.,

                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

+-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='fred@example.com' />
            <data-content Name='Content'>
                <reply code='250' transID='1' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content'> <reply code='250' transID='1' /> </data-content> </data> S: <ok />

2.2 Distribution of Presence Information

2.2 Distribution of Presence Information

   When an application wants to (periodically) receive the presence
   information associated with an endpoint, it sends a subscribe
   operation to the service, e.g.,

When an application wants to (periodically) receive the presence information associated with an endpoint, it sends a subscribe operation to the service, e.g.,

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |       |
       +-------+                  +-------+

+-------+ +-------+ | | -- data -------> | | | appl. | | relay | | | <--------- ok -- | | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='wilma@example.com' />
            <recipient identity='apex=presence@example.com' />
            <data-content Name='Content'>
                <subscribe publisher='fred@example.com' duration='86400'
                           transID='100' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='wilma@example.com' /> <recipient identity='apex=presence@example.com' /> <data-content Name='Content'> <subscribe publisher='fred@example.com' duration='86400' transID='100' /> </data-content> </data> S: <ok />

Rose, et al.                  Experimental                      [Page 4]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 4] RFC 3343 The Application Exchange (APEX) Presence April 2003

   The service immediately responds with a publish operation containing
   the same transaction-identifier, e.g.,

The service immediately responds with a publish operation containing the same transaction-identifier, e.g.,

                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

+-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='wilma@example.com' />
            <data-content Name='Content'>
                <publish publisher='fred@example.com' transID='100'
                         timeStamp='2000-05-14T13:30:00-08:00'>
                    <presence publisher='fred@example.com'
                           lastUpdate='2000-05-14T13:02:00-08:00'
                           publisherInfo='http://www.example.com/fred/'>
                        <tuple
                          destination='apex:fred/appl=im@example.com'
                          availableUntil='2000-05-14T14:02:00-08:00' />
                    </presence>
                </publish>
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='wilma@example.com' /> <data-content Name='Content'> <publish publisher='fred@example.com' transID='100' timeStamp='2000-05-14T13:30:00-08:00'> <presence publisher='fred@example.com' lastUpdate='2000-05-14T13:02:00-08:00' publisherInfo='http://www.example.com/fred/'> <tuple destination='apex:fred/appl=im@example.com' availableUntil='2000-05-14T14:02:00-08:00' /> </presence> </publish> </data-content> </data> S: <ok />

   Subsequently, for up to the specified "duration", the service sends
   new publish operations whenever there are any changes to the
   endpoint's presence information.  If the "duration" is zero-valued, a
   one time poll of the presence information is achieved; otherwise, at
   the end of the "duration", a terminate operation is sent.

Subsequently, for up to the specified "duration", the service sends new publish operations whenever there are any changes to the endpoint's presence information. If the "duration" is zero-valued, a one time poll of the presence information is achieved; otherwise, at the end of the "duration", a terminate operation is sent.

   Note that Step 5 of Section 4.4 requires that the "lastUpdate"
   attribute of a presence entry be supplied in order to update that
   entry; accordingly, applications must successfully retrieve a
   presence entry prior to trying to update that entry.  This is usually
   accomplished by subscribing with a zero-valued duration.
   (Regardless, administrators should ensure that applications
   authorized to update a presence entry are also authorized to retrieve
   that entry.)

Note that Step 5 of Section 4.4 requires that the "lastUpdate" attribute of a presence entry be supplied in order to update that entry; accordingly, applications must successfully retrieve a presence entry prior to trying to update that entry. This is usually accomplished by subscribing with a zero-valued duration. (Regardless, administrators should ensure that applications authorized to update a presence entry are also authorized to retrieve that entry.)

Rose, et al.                  Experimental                      [Page 5]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 5] RFC 3343 The Application Exchange (APEX) Presence April 2003

   Either the subscriber or the service may cancel a subscription by
   sending a terminate operation, e.g.,

Either the subscriber or the service may cancel a subscription by sending a terminate operation, e.g.,

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |       |
       +-------+                  +-------+

+-------+ +-------+ | | -- data -------> | | | appl. | | relay | | | <--------- ok -- | | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='wilma@example.com' />
            <recipient identity='apex=presence@example.com' />
            <data-content Name='Content'>
                <terminate transID='100' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='wilma@example.com' /> <recipient identity='apex=presence@example.com' /> <data-content Name='Content'> <terminate transID='100' /> </data-content> </data> S: <ok />

                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

+-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='wilma@example.com' />
            <data-content Name='Content'>
                <reply code='250' transID='100' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='wilma@example.com' /> <data-content Name='Content'> <reply code='250' transID='100' /> </data-content> </data> S: <ok />

   or
                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

or +-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='wilma@example.com' />
            <data-content Name='Content'>
                <terminate transID='100' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='wilma@example.com' /> <data-content Name='Content'> <terminate transID='100' /> </data-content> </data> S: <ok />

Rose, et al.                  Experimental                      [Page 6]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 6] RFC 3343 The Application Exchange (APEX) Presence April 2003

2.3 Distribution of Watcher Information

2.3 Distribution of Watcher Information

   When an application wants to (periodically) receive notices about
   endpoints that are subscribed to receive presence information, it
   sends a watch operation to the service, e.g.,

When an application wants to (periodically) receive notices about endpoints that are subscribed to receive presence information, it sends a watch operation to the service, e.g.,

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |       |
       +-------+                  +-------+

+-------+ +-------+ | | -- data -------> | | | appl. | | relay | | | <--------- ok -- | | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='fred@example.com' />
            <recipient identity='apex=presence@example.com' />
            <data-content Name='Content'>
                <watch publisher='fred@example.com' duration='86400'
                       transID='2' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='fred@example.com' /> <recipient identity='apex=presence@example.com' /> <data-content Name='Content'> <watch publisher='fred@example.com' duration='86400' transID='2' /> </data-content> </data> S: <ok />

   The service immediately responds with a reply operation containing
   the same transaction-identifier, e.g.,

The service immediately responds with a reply operation containing the same transaction-identifier, e.g.,

                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

+-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='fred@example.com' />
            <data-content Name='Content'
                <reply code='250' transID='2' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content' <reply code='250' transID='2' /> </data-content> </data> S: <ok />

Rose, et al.                  Experimental                      [Page 7]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 7] RFC 3343 The Application Exchange (APEX) Presence April 2003

   For each current subscriber, the service immediately sends a notify
   operation containing the same transaction-identifier, e.g.,

For each current subscriber, the service immediately sends a notify operation containing the same transaction-identifier, e.g.,

                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

+-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='fred@example.com' />
            <data-content Name='Content'>
                <notify subscriber='wilma@example.com' transID='2'
                        duration='86000' action='subscribe' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content'> <notify subscriber='wilma@example.com' transID='2' duration='86000' action='subscribe' /> </data-content> </data> S: <ok />

   Subsequently, for up to the specified "duration", the service sends
   new notify operations whenever an application subscribes successfully
   or a subscription is terminated.  If the "duration" is zero-valued, a
   one time poll of the watcher information is achieved; otherwise, at
   the end of the "duration", a terminate operation is sent.

Subsequently, for up to the specified "duration", the service sends new notify operations whenever an application subscribes successfully or a subscription is terminated. If the "duration" is zero-valued, a one time poll of the watcher information is achieved; otherwise, at the end of the "duration", a terminate operation is sent.

Rose, et al.                  Experimental                      [Page 8]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 8] RFC 3343 The Application Exchange (APEX) Presence April 2003

   Either the watcher or the service may cancel the request by sending a
   terminate operation, e.g.,

Either the watcher or the service may cancel the request by sending a terminate operation, e.g.,

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |       |
       +-------+                  +-------+

+-------+ +-------+ | | -- data -------> | | | appl. | | relay | | | <--------- ok -- | | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='fred@example.com' />
            <recipient identity='apex=presence@example.com' />
            <data-content Name='Content'>
                <terminate transID='2' />
            </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='fred@example.com' /> <recipient identity='apex=presence@example.com' /> <data-content Name='Content'> <terminate transID='2' /> </data-content> </data> S: <ok />

                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

+-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='fred@example.com' />
            <data-content Name='Content'>
                <reply code='250' transID='2' />
             </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content'> <reply code='250' transID='2' /> </data-content> </data> S: <ok />

   or
                                  +-------+                  +-------+
                                  |       | <------- data -- |       |
                                  | relay |                  | pres. |
                                  |       | -- ok ---------> |  svc. |
                                  +-------+                  +-------+

or +-------+ +-------+ | | <------- data -- | | | relay | | pres. | | | -- ok ---------> | svc. | +-------+ +-------+

     C: <data content='#Content'>
            <originator identity='apex=presence@example.com' />
            <recipient identity='fred@example.com' />
            <data-content Name='Content'>
                <terminate transID='2' />
             </data-content>
        </data>
     S: <ok />

C: <data content='#Content'> <originator identity='apex=presence@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content'> <terminate transID='2' /> </data-content> </data> S: <ok />

Rose, et al.                  Experimental                      [Page 9]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 9] RFC 3343 The Application Exchange (APEX) Presence April 2003

3. Format of Presence Entries

3. Format of Presence Entries

   Each administrative domain is responsible for maintaining a "presence
   entry" for each of its endpoints (regardless of whether those
   endpoints are currently attached to the relaying mesh).

Each administrative domain is responsible for maintaining a "presence entry" for each of its endpoints (regardless of whether those endpoints are currently attached to the relaying mesh).

   Section 6 defines the syntax for presence entries.  Each presence
   entry has a "publisher" attribute, a "lastUpdate" attribute, a
   "publisherInfo" attribute, and contains one or more "tuple" elements:

Section 6 defines the syntax for presence entries. Each presence entry has a "publisher" attribute, a "lastUpdate" attribute, a "publisherInfo" attribute, and contains one or more "tuple" elements:

   o  the "publisher" attribute specifies the endpoint associated with
      the presence entry;

o the "publisher" attribute specifies the endpoint associated with the presence entry;

   o  the "lastUpdate" attribute specifies the date and time that the
      service last updated the presence entry;

o the "lastUpdate" attribute specifies the date and time that the service last updated the presence entry;

   o  the "publisherInfo" attribute specifies arbitrary information
      about the publisher (using a URI); and,

o the "publisherInfo" attribute specifies arbitrary information about the publisher (using a URI); and,

   o  each "tuple" element specifies information about an entity
      associated with the endpoint.

o each "tuple" element specifies information about an entity associated with the endpoint.

   Each "tuple" element has a "destination" attribute, an
   "availableUntil" attribute, a "tupleInfo" attribute, and contains
   zero or more "capability" elements:

Each "tuple" element has a "destination" attribute, an "availableUntil" attribute, a "tupleInfo" attribute, and contains zero or more "capability" elements:

   o  the "destination" attribute identifies the entity as a URI (e.g.,
      "apex:fred/appl=im@example.com" or "mailto:fred@flintstone.com");

o the "destination" attribute identifies the entity as a URI (e.g., "apex:fred/appl=im@example.com" or "mailto:fred@flintstone.com");

   o  the "availableUntil" attribute specifies the latest date and time
      that the entity is capable of receiving messages;

o the "availableUntil" attribute specifies the latest date and time that the entity is capable of receiving messages;

   o  the "tupleInfo" attribute specifies arbitrary information about
      the entity (using a URI); and,

o the "tupleInfo" attribute specifies arbitrary information about the entity (using a URI); and,

   o  each "capability" element contains a specification as to the kinds
      of content the entity is capable of receiving.

o each "capability" element contains a specification as to the kinds of content the entity is capable of receiving.

   Each "capability" element contains arbitrary character data formatted
   according to the standard indicated in the element's "baseline"
   attribute.

Each "capability" element contains arbitrary character data formatted according to the standard indicated in the element's "baseline" attribute.

Rose, et al.                  Experimental                     [Page 10]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 10] RFC 3343 The Application Exchange (APEX) Presence April 2003

4. The Presence Service

4. The Presence Service

   Section 5 contains the APEX service registration for the presence
   service:

Section 5 contains the APEX service registration for the presence service:

   o  Within an administrative domain, the service is addressed using
      the well-known endpoint of "apex=presence".

o Within an administrative domain, the service is addressed using the well-known endpoint of "apex=presence".

   o  Section 6 defines the syntax of the operations exchanged with the
      service.

o Section 6 defines the syntax of the operations exchanged with the service.

   o  A consumer of the service initiates communications by sending data
      containing the subscribe, watch, or publish operation.

o A consumer of the service initiates communications by sending data containing the subscribe, watch, or publish operation.

   o  In addition to replying to these operations, the service may also
      initiate communications by sending data containing the terminate,
      publish, or notify operations.

o In addition to replying to these operations, the service may also initiate communications by sending data containing the terminate, publish, or notify operations.

   An implementation of the service must maintain information about both
   presence entries and in-progress operations in persistent storage.

An implementation of the service must maintain information about both presence entries and in-progress operations in persistent storage.

   Consult Section 6.1.1 of [1] for a discussion on the properties of
   long-lived transaction-identifiers.

Consult Section 6.1.1 of [1] for a discussion on the properties of long-lived transaction-identifiers.

Rose, et al.                  Experimental                     [Page 11]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 11] RFC 3343 The Application Exchange (APEX) Presence April 2003

4.1 Use of XML and MIME

4.1 Use of XML and MIME

   Section 4.1 of [1] describes how arbitrary MIME content is exchanged
   as a BEEP [2] payload.  For example, to transmit:

Section 4.1 of [1] describes how arbitrary MIME content is exchanged as a BEEP [2] payload. For example, to transmit:

       <data content='...'>
            <originator identity='apex=presence@example.com' />
           <recipient identity='fred@example.com' />
       </data>

<data content='...'> <originator identity='apex=presence@example.com' /> <recipient identity='fred@example.com' /> </data>

   where "..." refers to: <reply code='250' transID='1' />

where "..." refers to: <reply code='250' transID='1' />

   then the corresponding BEEP message might look like this:

then the corresponding BEEP message might look like this:

       C: MSG 1 1 . 42 1234
       C: Content-Type: multipart/related; boundary="boundary";
       C:               start="<1@example.com>";
       C:               type="application/beep+xml"
       C:
       C: --boundary
       C: Content-Type: application/beep+xml
       C: Content-ID: <1@example.com>
       C:
       C: <data content='cid:2@example.com'>
       C:     <originator identity='fred@example.com' />
       C:     <recipient identity='apex=presence@example.com' />
       C: </data>
       C: --boundary
       C: Content-Type: application/beep+xml
       C: Content-ID: <2@example.com>
       C:
       C: <reply code='250' transID='1' />
       C: --boundary--
       C: END

C: MSG 1 1 . 42 1234 C: Content-Type: multipart/related; boundary="boundary"; C: start="<1@example.com>"; C: type="application/beep+xml" C: C: --boundary C: Content-Type: application/beep+xml C: Content-ID: <1@example.com> C: C: <data content='cid:2@example.com'> C: <originator identity='fred@example.com' /> C: <recipient identity='apex=presence@example.com' /> C: </data> C: --boundary C: Content-Type: application/beep+xml C: Content-ID: <2@example.com> C: C: <reply code='250' transID='1' /> C: --boundary-- C: END

   or this:

or this:

       C: MSG 1 1 . 42 1234
       C: Content-Type: application/beep+xml
       C:
       C: <data content='#Content'>
       C:     <originator identity='fred@example.com' />
       C:     <recipient identity='apex=presence@example.com' />
       C:     <data-content Name='Content'>
       C:         <reply code='250' transID='1' />
       C:     </data-content>
       C: </data>
       C: END

C: MSG 1 1 . 42 1234 C: Content-Type: application/beep+xml C: C: <data content='#Content'> C: <originator identity='fred@example.com' /> C: <recipient identity='apex=presence@example.com' /> C: <data-content Name='Content'> C: <reply code='250' transID='1' /> C: </data-content> C: </data> C: END

Rose, et al.                  Experimental                     [Page 12]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

Rose, et al. Experimental [Page 12] RFC 3343 The Application Exchange (APEX) Presence April 2003

4.2 The Subscribe Operation

4.2 The Subscribe Operation

   When an application wants to (periodically) receive the presence
   information associated with an endpoint, it sends a "subscribe"
   element to the service.

When an application wants to (periodically) receive the presence information associated with an endpoint, it sends a "subscribe" element to the service.

   The "subscribe" element has a "publisher" attribute, a "duration"
   attribute, a "transID" attribute, and no content:

「申し込んでください」という要素には、"transID"属性を持っていますが、「出版社」属性、「持続時間」属性、どんな内容もありません:

   o  the "publisher" attribute specifies the endpoint associated with
      the presence entry;

o 「出版社」属性は存在エントリーに関連している終点を指定します。

   o  the "transID" attribute specifies the transaction-identifier
      associated with this operation; and,

o "transID"属性はこの操作に関連しているトランザクション識別子を指定します。 そして

   o  the "duration" attribute specifies the maximum number of seconds
      for which the originator is interested in receiving updated
      presence information.

o 「持続時間」属性は創始者がアップデートされた存在情報を受け取りたがっている秒の最大数を指定します。

   When the service receives a "subscribe" element, we refer to the
   "publisher" attribute of that element as the "subject", and the
   service performs these steps:

サービスが「申し込んでください」という要素を受け取るとき、私たちはその要素の「出版社」属性を「対象」と呼びます、そして、サービスはこれらのステップを実行します:

   1. If the subject is outside of this administrative domain, a "reply"
      element having code 553 is sent to the originator.

1. 対象がこの管理ドメインの外にあるなら、コード553を持っている「回答」要素を創始者に送ります。

   2. If the subject does not refer to a valid endpoint, a "reply"
      element having code 550 is sent to the originator.

2. 対象が有効な終点について言及しないなら、コード550を持っている「回答」要素を創始者に送ります。

   3. If the subject's access entry does not contain a
      "presence:subscribe" token for the originator, a "reply" element
      having code 537 is sent to the originator.

3. 対象のアクセスエントリーが創始者のための「存在: 申し込んでください」というトークンを含んでいないなら、コード537を持っている「回答」要素を創始者に送ります。

   4. If the originator already has an in-progress subscribe operation
      for the subject, then the previous subscribe operation is silently
      terminated, and processing continues.

4. 進行中では、操作が対象であることを予約してください、そして、次に、前は申し込まれます。創始者が既に続ける、終えられて、操作は静かにそうであり、処理は続きます。

   5. If the "transID" attribute refers to an in-progress subscribe or
      watch operation for the originator, a "reply" element having code
      555 is sent to the originator.

5. "transID"属性が言及する、進行中では、創始者のための操作を申し込むか、または見てください、そして、コード555を持っている「回答」要素を創始者に送ります。

   6.  Otherwise:

6. そうでなければ:

      1. A "publish" element, corresponding to the subject's presence
         entry, is immediately sent to the originator.

1. すぐに、「発行してください」という対象の存在エントリーに対応する要素を創始者に送ります。

Rose, et al.                  Experimental                     [Page 13]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[13ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

      2. For each endpoint currently watching subscribers to the
         subject's presence information, a "notify" element is
         immediately as sent (c.f., Step 6.3 of Section 4.6).

2. 現在対象の存在情報として加入者を見る各終点に関しては、すぐに、送りにされる(c.f.、セクション4.6のStep6.3)として「通知してください」という要素があります。

      3. For up to the amount of time indicated by the "duration"
         attribute of the "subscribe" element, if the subject's presence
         entry changes, an updated "presence" element is sent to the
         originator using the publish operation (Section 4.4).  Finally,
         when the amount of time indicated by the "duration" attribute
         expires, a terminate operation (Section 4.5) is sent to the
         originator.

3. 対象の存在エントリーが変化するなら「申し込んでください」という要素の「持続時間」属性によって示された時間までアップデートされた「存在」要素を創始者使用に送る、操作(セクション4.4)を発行してください。 示されて、「持続時間」属性が期限が切れて、aが終わる時間に最終的に、操作(セクション4.5)を創始者に送るとき。

      Note that if the duration is zero-valued, then the subscribe
      operation is making a one-time poll of the presence information.
      Accordingly, Step 6.3 above does not occur.

操作を申し込んでください。次に、持続時間が無評価されているならそれに注意してください、存在情報の1回の投票をしています。 それに従って、上のStep6.3は起こりません。

   Regardless of whether a "publish" or "reply" element is sent to the
   originator, the "transID" attribute is identical to the value found
   in the "subscribe" element sent by the originator.

「発行してください」か「回答」要素を創始者に送るかどうかにかかわらず、"transID"属性は「申し込んでください」という創始者によって送られた要素で見つけられた値と同じです。

4.3 The Watch Operation

4.3 腕時計操作

   When an application wants to (periodically) receive notices about
   endpoints that are subscribed to receive presence entry, it sends a
   "watch" element to the service.

アプリケーションが(定期的に)存在エントリーを受けるために申し込まれる終点に関する通知を受け取りたがっているとき、それは「腕時計」要素をサービスに送ります。

   The "watch" element has a "publisher" attribute, a "duration"
   attribute, a "transID" attribute, and no content:

「腕時計」要素には、"transID"属性を持っていますが、「出版社」属性、「持続時間」属性、どんな内容もありません:

   o  the "publisher" attribute specifies the endpoint associated with
      the presence entry;

o 「出版社」属性は存在エントリーに関連している終点を指定します。

   o  the "transID" attribute specifies the transaction-identifier
      associated with this operation; and,

o "transID"属性はこの操作に関連しているトランザクション識別子を指定します。 そして

   o  the "duration" attribute specifies the maximum number of seconds
      for which the originator is interested in watching subscribers.

o 「持続時間」属性は創始者が加入者を見たがっている秒の最大数を指定します。

   When the service receives a "watch" element, we refer to the
   "publisher" attribute of that element as the "subject", and the
   service performs these steps:

サービスが「腕時計」要素を受け取るとき、私たちはその要素の「出版社」属性を「対象」と呼びます、そして、サービスはこれらのステップを実行します:

   1. If the subject is outside of this administrative domain, a "reply"
      element having code 553 is sent to the originator.

1. 対象がこの管理ドメインの外にあるなら、コード553を持っている「回答」要素を創始者に送ります。

   2. If the subject does not refer to a valid endpoint, a "reply"
      element having code 550 is sent to the originator.

2. 対象が有効な終点について言及しないなら、コード550を持っている「回答」要素を創始者に送ります。

Rose, et al.                  Experimental                     [Page 14]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[14ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

   3. If the subject's access entry does not contain a "presence:watch"
      token for the originator, a "reply" element having code 537 is
      sent to the originator.

3. 対象のアクセスエントリーが創始者のための「存在: 見てください」というトークンを含んでいないなら、コード537を持っている「回答」要素を創始者に送ります。

   4. If the originator already has an in-progress watch operation for
      the subject, then the previous watch operation is silently
      terminated, and processing continues.

4. 創始者が既に対象のための進行中の腕時計手術を受けるなら、前の腕時計操作は静かに終えられます、そして、処理は続きます。

   5. If the "transID" attribute refers to an in-progress subscribe or
      watch operation for the originator, a "reply" element having code
      555 is sent to the originator.

5. "transID"属性が言及する、進行中では、創始者のための操作を申し込むか、または見てください、そして、コード555を持っている「回答」要素を創始者に送ります。

   6. Otherwise:

6. そうでなければ:

      1. A "reply" element having code 250 is sent to the originator.

1. コード250を持っている「回答」要素を創始者に送ります。

      2. For each endpoint currently subscribing to the subject's
         presence information, a "notify" element is immediately sent to
         the originator (c.f., Section 4.6).

2. 現在対象の存在情報に加入する各終点に関しては、すぐに、創始者(c.f.、セクション4.6)に「通知してください」という要素を送ります。

      3. For up to the amount of time indicated by the "duration"
         attribute of the "watch" element, whenever a subscribe
         operation succeeds or a subscription is terminated, a "notify"
         element is sent to the originator.  Finally, when the amount of
         time indicated by the "duration" attribute expires, a terminate
         operation (Section 4.5) is sent to the originator.

3. 購読が終えられる、aが申し込まれるときはいつも、「腕時計」要素の「持続時間」属性によって示された時間まで、操作は成功するか、または「通知してください」という要素を創始者に送ります。 示されて、「持続時間」属性が期限が切れて、aが終わる時間に最終的に、操作(セクション4.5)を創始者に送るとき。

      Note that if the duration is zero-valued, then the watch operation
      is making a one-time poll of the presence information.
      Accordingly, Step 6.3 above does not occur.

腕時計操作が持続時間が無評価されているなら存在情報の1回の投票をしていることに注意してください。 それに従って、上のStep6.3は起こりません。

   Regardless of whether a "notify" or "reply" element is sent to the
   originator, the "transID" attribute is identical to the value found
   in the "presence" element sent by the originator.

「通知してください」か「回答」要素を創始者に送るかどうかにかかわらず、"transID"属性は創始者によって送られた「存在」要素で見つけられた値と同じです。

4.4 The Publish Operation

4.4、操作を発行してください。

   When an application wants to modify the presence entry associated
   with an endpoint, it sends a "publish" element to the service.  In
   addition, the service sends a "publish" element to endpoints that
   have subscribed to see presence information (c.f., Section 4.2).

アプリケーションが終点に関連している存在エントリーを変更したがっているとき、それは「発行してください」という要素をサービスに送ります。 さらに、サービスは存在情報(c.f.、セクション4.2)を見るために申し込まれた終点に「発行してください」という要素を送ります。

   The "publish" element has a "publisher" attribute, a "transID"
   attribute, a "timeStamp" attribute, and contains a "presence"
   element:

「発行してください」という要素は、「出版社」属性、"transID"属性、「タイムスタンプ」属性を持っていて、「存在」要素を含んでいます:

   o  the "publisher" attribute specifies the endpoint to be associated
      with the presence entry;

o 「出版社」属性は存在エントリーに関連しているように終点を指定します。

Rose, et al.                  Experimental                     [Page 15]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[15ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

   o  the "transID" attribute specifies the transaction-identifier
      associated with this operation;

o "transID"属性はこの操作に関連しているトランザクション識別子を指定します。

   o  the "timeStamp" attribute specifies the application's notion of
      the current date and time; and,

o 「タイムスタンプ」属性はアプリケーションの現在の日時の概念を指定します。 そして

   o  the "presence" element contains the desired presence entry for the
      endpoint.

o 「存在」要素は終点のための必要な存在エントリーを含んでいます。

   When the service sends a "publish" element, the "transID" attribute
   specifies the transaction-identifier associated with the subscribe
   operation that caused this "publish" element to be sent, and the
   "timeStamp" attribute specifies the service's notion of the current
   date and time.  No reply is sent by the receiving endpoint.

いつでサービスが「発行してください」という要素を送って、"transID"属性が関連づけられたトランザクション識別子を指定するか、「発行してください」というこの要素を送った操作を申し込んでください。そうすれば、「タイムスタンプ」属性はサービスの現在の日時の概念を指定します。 受信終点は回答を全く送りません。

   When the service receives a "publish" element, we refer to the
   "publisher" attribute of that element as the "subject", and the
   service performs these steps:

サービスが「発行してください」という要素を受け取るとき、私たちはその要素の「出版社」属性を「対象」と呼びます、そして、サービスはこれらのステップを実行します:

   1. If the "publisher" attribute of the "publish" element doesn't
      match the "publisher" attribute of the "presence" element
      contained in the "publish" element, a "reply" element having code
      503 is sent to the originator.

1. 「発行してください」という要素の「出版社」属性が「発行してください」という要素に含まれた「存在」要素の「出版社」属性に合っていないなら、コード503を持っている「回答」要素を創始者に送ります。

   2. If the subject is outside of this administrative domain, a "reply"
      element having code 553 is sent to the originator.

2. 対象がこの管理ドメインの外にあるなら、コード553を持っている「回答」要素を創始者に送ります。

   3. If the subject does not refer to a valid endpoint, a "reply"
      element having code 550 is sent to the originator.

3. 対象が有効な終点について言及しないなら、コード550を持っている「回答」要素を創始者に送ります。

   4. If the subject's access entry does not contain a
      "presence:publish" token for the originator, a "reply" element
      having code 537 is sent to the originator.

4. 対象のアクセスエントリーが創始者のための「存在: 発行してください」というトークンを含んでいないなら、コード537を持っている「回答」要素を創始者に送ります。

   5. If the "lastUpdate" attribute of the "publish" element is not
      semantically identical to the "lastUpdate" attribute of the
      subject's presence entry, a "reply" element having code 555 is
      sent to the originator.  (This allows a simple mechanism for
      atomic updates.)

5. 「発行してください」という要素の"lastUpdate"属性が対象の存在エントリーの"lastUpdate"属性と意味的に同じでないなら、コード555を持っている「回答」要素を創始者に送ります。 (これは原子アップデートのための簡単なメカニズムを許容します。)

   6. Otherwise:

6. そうでなければ:

      1. The subject's presence entry is updated from the "publish"
         element.

1. 「発行してください」という要素から対象の存在エントリーをアップデートします。

      2. The "lastUpdate" attribute of the presence entry is set to the
         service's notion of the current date and time.

2. 存在エントリーの"lastUpdate"属性はサービスの現在の日時の概念に設定されます。

Rose, et al.                  Experimental                     [Page 16]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[16ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

      3. A "reply" element having code 250 is sent to the originator.

3. コード250を持っている「回答」要素を創始者に送ります。

   When sending the "reply" element, the "transID" attribute is
   identical to the value found in the "publish" element sent by the
   originator.

「回答」要素を送るとき、"transID"属性は「発行してください」という創始者によって送られた要素で見つけられた値と同じです。

4.5 The Terminate Operation

4.5、操作を終えてください。

   When an application no longer wishes to subscribe to presence
   information or to watch endpoints that are subscribed to receive
   presence information, it sends a "terminate" element to the service;
   similarly, when the service no longer considers an application to be
   subscribing or watching, a "terminate" element is sent to the
   application.

アプリケーションが存在情報に加入したいか、もう存在情報を受け取るために申し込まれる終点を見たがっていないときに、時「終わってください」という要素をサービスに送ります。 もうサービスであるときに、同様に、申し込むか、または監視しているアプリケーションが考えて、「終わってください」という要素をアプリケーションに送ります。

   The "terminate" element contains only a "transID" attribute that
   specifies the transaction-identifier associated an in-progress
   subscribe or watch operation.  Section 9.1 of [1] defines the syntax
   for the "terminate" element.

「終わってください」という要素が関連づけられたトランザクション識別子を指定する"transID"属性だけを含んでいる、進行中では、操作を申し込むか、または見てください。 [1]のセクション9.1は「終わってください」という要素のために構文を定義します。

   When the service receives a "terminate" element, it performs these
   steps:

サービスが「終わってください」という要素を受け取るとき、これらのステップを実行します:

   1. If the transaction-identifier does not refer to a previous
      subscribe or watch operation for the originator, an "error"
      element having code 550 is returned.

1. トランザクション識別子が前であることの状態でaについて言及しないなら、創始者(コード550を持っているのが返される「誤り」要素)のための操作を申し込むか、または見てください。

   2. Otherwise, the previous subscribe or watch operation for the
      originator is terminated, and a "reply" element having code 250 is
      sent to the originator.

2. 創始者のための腕時計操作は終えます、そして、さもなければ、前が申し込まれるか、またはコード250を持っている「回答」要素を創始者に送ります。

   Note that following a terminate operation, the originator may receive
   further presence or watcher updates.  Although the service will send
   no further updates after processing a terminate operation and sending
   the reply operation, earlier updates may be in transit.

次のaが操作を終えることに注意してください、そして、創始者はさらなる存在かウォッチャーアップデートを受けてもよいです。 サービスは操作を終えて、回答操作を送る以前のアップデートはそうする処理の後にこれ以上アップデートを送らないでしょうが、トランジットには、いてください。

4.6 The Notify Operation

4.6、操作に通知してください。

   The service sends a "notify" element to endpoints that are watching
   other endpoints subscribed to presence information (c.f., Section
   4.3).

サービスは存在情報(c.f.、セクション4.3)に申し込まれた他の終点を見ている終点に「通知してください」という要素を送ります。

   The "notify" element has a "subscriber" attribute, a "transID"
   attribute, a "duration" attribute, an "action" attribute, and no
   content:

「通知してください」という要素には、「動作」属性を持っていますが、「加入者」属性、"transID"属性、「持続時間」属性、どんな内容もありません:

   o  the "subscriber" attribute specifies the endpoint that is
      subscribed to presence information; and,

o 「加入者」属性は存在情報に申し込まれる終点を指定します。 そして

Rose, et al.                  Experimental                     [Page 17]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[17ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

   o  the "transID" attribute specifies the transaction-identifier
      associated with the watch operation that caused this "notify"
      element to be sent;

o "transID"属性は「通知してください」というこの要素を送った腕時計操作に関連しているトランザクション識別子を指定します。

   o  the "action" attribute specifies whether a subscription or its
      termination has occurred; and,

o 「動作」属性は、購読かその終了が起こったかどうか指定します。 そして

   o  if a subscription is being reported, the "duration" attribute
      specifies the requested duration of the subscription.

o 購読が報告されているなら、「持続時間」属性は購読の要求された持続時間を指定します。

   No reply is sent by the receiving endpoint.

受信終点は回答を全く送りません。

4.7 The Reply Operation

4.7 回答操作

   While processing operations, the service may respond with a "reply"
   element.  Consult Sections 10.2 and 6.1.2 of [1], respectively, for
   the definition and an exposition of the syntax of the reply element.

操作を処理している間、サービスは「回答」要素で応じるかもしれません。 回答要素の構文の定義と博覧会のために[1]についてそれぞれセクション10.2と6.1.2に相談してください。

5. Registration: The Presence Service

5. 登録: 存在サービス

   Well-Known Endpoint: apex=presence

よく知られる終点: 頂点=存在

   Syntax of Messages Exchanged: c.f., Section 6

メッセージの構文は交換しました: c. f.、セクション6

   Sequence of Messages Exchanged: c.f., Section 4

メッセージの系列は交換しました: c. f.、セクション4

   Access Control Tokens: presence:subscribe, presence:watch,
      presence:publish

コントロールトークンにアクセスしてください: 存在: 申し込んでください、そして、存在: 見てください、そして、存在: 発行してください。

   Contact Information: c.f., the "Authors' Addresses" section of this
      memo

問い合わせ先: c. f.、このメモの「作者のアドレス」セクション

6. The Presence Service DTD

6. 存在サービスDTD

   <!--
     DTD for the APEX presence service, as of 2001-05-08

<!--2001年5月8日付けでAPEX存在サービスのためのDTD

     Refer to this DTD as:

このDTDを以下を参照してください。

       <!ENTITY % APEXPRESENCE PUBLIC "-//IETF//DTD APEX PRESENCE//EN"
                  "">
       %APEXPRESENCE;
     -->

<!実体%APEXPRESENCE公共の「-//IETF//DTD頂点存在//アン」、「「>%APEXPRESENCE」 -->。

   <!ENTITY % APEXCORE PUBLIC "-//IETF//DTD APEX CORE//EN" "">
   %APEXCORE;

<!実体%APEXCORE公共の「-//IETF//DTD頂点コア//アン」、「「>%APEXCORE」

Rose, et al.                  Experimental                     [Page 18]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[18ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

   <!--
     Synopsis of the APEX presence service

<!--APEX存在サービスの構文

       service WKE: apex=presence

WKEを調整してください: 頂点=存在

       message exchanges:

交換処理:

           consumer initiates    service replies
           ==================    ================
           subscribe             publish or reply
           terminate             reply
           watch                 reply
           publish               reply

消費者開始は回答を修理します。================== ================ 申し込み、発行してください。さもないと、回答が回答が発行する回答腕時計を終える、回答

           service initiates     consumer replies
           =================     ================
           terminate             (nothing)
           publish               (nothing)
           notify                (nothing)

サービスは消費者回答を開始します。================= ================ 終わり、(何でもない)を発行する、(何でもない)通知(何でもない)

       access control:

コントロールにアクセスしてください:

           token                 target
           ==================    ======
           presence:subscribe    for "publisher" of "subscribe" element
           presence:watch        for "publisher" of "watch" element
           presence:publish      for "publisher" of "publish" element
     -->

トークン目標================== ====== 存在: 「申し込んでください」という要素存在の「出版社」を予約してください: 「腕時計」要素存在の「出版社」に注意してください: 「発行してください」という要素の「出版社」には、発行してください--、>。

   <!ELEMENT subscribe   EMPTY>
   <!ATTLIST subscribe
             publisher   %ENDPOINT;        #REQUIRED
             transID     %UNIQID;          #REQUIRED
             duration    %SECONDS;         #REQUIRED>

<!ELEMENTはEMPTY><を申し込みます!ATTLISTは出版社%ENDPOINTを申し込みます。 #transID%UNIQIDが必要でした。 #REQUIRED持続時間%SECONDS。 #必要な>。

   <!ELEMENT watch       EMPTY>
   <!ATTLIST watch
             publisher   %ENDPOINT;        #REQUIRED
             transID     %UNIQID;          #REQUIRED
             duration    %SECONDS;         #REQUIRED>

<!ELEMENTはEMPTY><を見ます!ATTLISTは出版社%ENDPOINTを見ます。 #transID%UNIQIDが必要でした。 #REQUIRED持続時間%SECONDS。 #必要な>。

   <!-- publisher attributes must match in publish and presence -->
   <!ELEMENT publish     (presence)>
   <!ATTLIST publish
             publisher   %ENDPOINT;        #REQUIRED
             transID     %UNIQID;          #REQUIRED
             timeStamp   %TIMESTAMP;       #REQUIRED>

><!ELEMENTは(存在)><を発行します!<!--出版社属性、マッチが中で発行する必須と存在--ATTLISTは出版社%ENDPOINTを発行します。 #transID%UNIQIDが必要でした。 #必要なタイムスタンプ%タイムスタンプ。 #必要な>。

Rose, et al.                  Experimental                     [Page 19]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[19ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

   <!ELEMENT notify      EMPTY>
   <!ATTLIST notify
             subscriber  %ENDPOINT;        #REQUIRED
             transID     %UNIQID;          #REQUIRED
             duration    %SECONDS;         "0"
             action     (subscribe|terminate)
                                           "subscribe">
   <!--
     presence entries
     -->

<!ELEMENTはEMPTY><に通知します!ATTLISTは加入者%ENDPOINTに通知します。 #transID%UNIQIDが必要でした。 #REQUIRED持続時間%SECONDS。 「0インチの動作(申し込んでください| 終わる)、「「><!--存在エントリー-->」を申し込んでください。

   <!ELEMENT presence    (tuple+)>
   <!ATTLIST presence
             publisher   %ENDPOINT;        #REQUIRED
             lastUpdate  %TIMESTAMP;       #REQUIRED
             publisherInfo
                         %URI;             "">

<!ELEMENT存在(tuple+)><!ATTLIST存在出版社%ENDPOINT。 #必要なlastUpdate%タイムスタンプ。 #必要なpublisherInfo%URI。 「">"

   <!ELEMENT tuple       (capability*)>
   <!ATTLIST tuple
             destination %URI;             #REQUIRED
             availableUntil
                         %TIMESTAMP;       #REQUIRED
             tupleInfo   %URI;             "">

<!ELEMENT tuple(能力*)><!ATTLIST tuple目的地%URI。 #必要なavailableUntil%タイムスタンプ。 #必要なtupleInfo%URI。 「">"

   <!-- e.g., baseline='urn:ietf:rfc:rfc2533' -->
   <!ELEMENT capability (#PCDATA)>
   <!ATTLIST capability
             baseline    %URI              #REQUIRED>

<!--例えば、基線='つぼ:ietf:rfc: rfc2533'--><!ELEMENT能力(#PCDATA)><!ATTLIST能力基線%URI#REQUIRED>。

Rose, et al.                  Experimental                     [Page 20]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[20ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

7. Security Considerations

7. セキュリティ問題

   Consult [1]'s Section 11 for a discussion of security issues.

相談してください。安全保障問題の議論のための[1]によるセクション11です。

   In addition, timestamps issued by the the presence service may
   disclose location information.  If this information is considered
   sensitive, the special timezone value "-00:00" may be used (after
   converting the local time accordingly).

さらに、存在サービスで発行されたタイムスタンプは位置情報を明らかにするかもしれません。 この情報は敏感であると考えられて、特別なタイムゾーンは値です。「-00: 0インチは使用(それに従って、現地時間を変換した後に)にされるかもしれない」。

References

参照

   [1]   Rose, M., Klyne, G. and D. Crocker, "The Application Exchange
         Core", RFC 3340, July 2002.

[1] ローズとM.とKlyneとG.とD.クロッカー、「アプリケーション交換コア」、RFC3340、2002年7月。

   [2]   Rose, M., "The Blocks Extensible Exchange Protocol Core", RFC
         3080, March 2001.

[2] ローズ、M.、「ブロックの広げることができる交換プロトコルコア」、RFC3080、2001年3月。

   [3]   Rose, M., Klyne, G. and D. Crocker, "The Application Exchange
         (APEX) Access Service", RFC 3341, July 2002.

[3] ローズとM.とKlyneとG.とD.クロッカー、「アプリケーション交換(頂点)アクセス・サービス」、RFC3341、2002年7月。

Rose, et al.                  Experimental                     [Page 21]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[21ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

Acknowledgements

承認

   The authors gratefully acknowledge the contributions of: Neil Cook,
   Eric Dixon, Darren New, Scott Pead, and Bob Wyman.

作者は感謝して以下の貢献を承諾します。 ニール・クック、エリック・ディクソン、ダーレンNewのスコットPead、およびボブ・ワイマン。

Authors' Addresses

作者のアドレス

   Marshall T. Rose
   Dover Beach Consulting, Inc.
   POB 255268
   Sacramento, CA  95865-5268
   US

Inc.POB255268サクラメント、カリフォルニア95865-5268米国に相談するマーシャル・T.バラドーヴァービーチ

   Phone: +1 916 483 8878
   EMail: mrose@dbc.mtview.ca.us

以下に電話をしてください。 +1 8878年の916 483メール: mrose@dbc.mtview.ca.us

   Graham Klyne
   Nine by Nine

グラハムKlyne9時9分前

   EMail: gk@ninebynine.org

メール: gk@ninebynine.org

   David H. Crocker
   Brandenburg InternetWorking
   675 Spruce Drive
   Sunnyvale, CA  94086
   US

デヴィッドH.医者ブランデンブルクインターネットワーキング675は米国でDriveサニーベル、カリフォルニア 94086を小綺麗にします。

   Phone: +1 408 246 8253
   EMail: dcrocker@brandenburg.com
   URI:   http://www.brandenburg.com/

以下に電話をしてください。 +1 8253年の408 246メール: dcrocker@brandenburg.com ユリ: http://www.brandenburg.com/

Rose, et al.                  Experimental                     [Page 22]

RFC 3343        The Application Exchange (APEX) Presence      April 2003

ローズ、他 実験的な[22ページ]RFC3343アプリケーション交換(頂点)存在2003年4月

Full Copyright Statement

完全な著作権宣言文

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Copyright(C)インターネット協会(2003)。 All rights reserved。

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

それに関するこのドキュメントと翻訳は、コピーして、それが批評するか、またはそうでなければわかる他のもの、および派生している作品に提供するか、または準備されているかもしれなくて、コピーされて、発行されて、全体か一部分配された実装を助けるかもしれません、どんな種類の制限なしでも、上の版権情報とこのパラグラフがそのようなすべてのコピーと派生している作品の上に含まれていれば。 しかしながら、このドキュメント自体は何らかの方法で変更されないかもしれません、インターネット協会か他のインターネット組織の版権情報か参照を取り除くのなどように、それを英語以外の言語に翻訳するのが著作権のための手順がインターネットStandardsプロセスで定義したどのケースに従わなければならないか、必要に応じてさもなければ、インターネット標準を開発する目的に必要であるのを除いて。

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

上に承諾された限られた許容は、永久であり、インターネット協会、後継者または案配によって取り消されないでしょう。

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとそして、「そのままで」という基礎とインターネットの振興発展を目的とする組織に、インターネット・エンジニアリング・タスク・フォースが速達の、または、暗示しているすべての保証を放棄するかどうかというここにことであり、他を含んでいて、含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Acknowledgement

承認

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。

Rose, et al.                  Experimental                     [Page 23]

ローズ、他 実験的[23ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

onSelect

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る