Network Working Group                                           A. Niemi
Request for Comments: 5264                                   M. Lonnfors
Category: Standards Track                                          Nokia
                                                             E. Leppanen
                                                              Individual
                                                          September 2008
        
              Publication of Partial Presence Information
        

Status of This Memo

このメモのステータス

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。

Abstract

抽象

The Session Initiation Protocol (SIP) Extension for Event State Publication describes a mechanism with which a presence user agent is able to publish presence information to a presence agent. Using the Presence Information Data Format (PIDF), each presence publication contains full state, regardless of how much of that information has actually changed since the previous update. As a consequence, updating a sizeable presence document with small changes bears a considerable overhead and is therefore inefficient. Especially with low bandwidth and high latency links, this can constitute a considerable burden to the system. This memo defines a solution that aids in reducing the impact of those constraints and increases transport efficiency by introducing a mechanism that allows for publication of partial presence information.

イベント状態の公開のためのセッション開始プロトコル(SIP)拡張子は、プレゼンスユーザエージェントは、プレゼンスエージェントにプレゼンス情報を公開することができるしているメカニズムを説明しています。プレゼンス情報データフォーマット(PIDF)を使用し、各プレゼンス出版物にかかわらず、実際には前回の更新以降に変更されているどのくらいのその情報のの、完全な状態が含まれています。その結果、小さな変更でかなりのプレゼンス文書を更新することは、かなりのオーバーヘッドを負担、したがって非効率的です。特に、低帯域幅と高レイテンシ・リンクと、これは、システムにかなりの負担を構成することができます。このメモは、これらの制約の影響を低減することに役立つと部分的プレゼンス情報の公開を可能にするメカニズムを導入することにより、輸送効率を高めるソリューションを定義します。

Table of Contents

目次

   1. Introduction ....................................................2
   2. Definitions and Document Conventions ............................3
   3. Overall Operation ...............................................3
      3.1. Presence Publication .......................................3
      3.2. Partial Presence Publication ...............................4
   4. Client and Server Operation .....................................5
      4.1. Content-Type for Partial Publications ......................5
      4.2. Generation of Partial Publications .........................5
      4.3. Processing of Partial Publications .........................7
           4.3.1. Processing <pidf-full> ..............................7
           4.3.2. Processing <pidf-diff> ..............................7
   5. Security Considerations .........................................8
   6. Examples ........................................................8
   7. Acknowledgements ...............................................12
   8. References .....................................................12
      8.1. Normative References ......................................12
      8.2. Informative References ....................................13
        
1. Introduction
1. はじめに

The Session Initiation Protocol (SIP) Extension for Event State Publication [RFC3903] allows Presence User Agents ('PUA') to publish presence information of a user ('presentity'). The Presence Agent (PA) collects publications from one or several presence user agents, and generates the composite event state of the presentity.

イベント状態公報[RFC3903]のためのセッション開始プロトコル(SIP)拡張ユーザ(「プレゼンティティ」)のプレゼンス情報を公開するプレゼンスユーザエージェント(「PUA」)を可能にします。プレゼンスエージェント(PA)は、1つまたは複数のプレゼンスユーザエージェントからの出版物を収集し、プレゼンの複合イベント状態を生成します。

The baseline format for presence information is defined in the Presence Information Data Format (PIDF) [RFC3863] and is by default used in presence publication. The PIDF uses Extensible Markup Language (XML) [W3C.REC-xml], and groups data into elements called tuples. In addition, [RFC4479], [RFC4480], [RFC4481], [RFC4482], and [RFC5196] define extension elements that provide various additional features to PIDF.

プレゼンス情報のベースライン形式はプレゼンス情報データフォーマット(PIDF)[RFC3863]で定義されており、プレゼンス発行に使用されるデフォルトです。 PIDFはタプルと呼ばれる要素に拡張マークアップ言語(XML)[W3C.REC-XML]、およびグループデータを使用します。また、[RFC4479]、[RFC4480]、[RFC4481]、[RFC4482]及び[RFC5196] PIDFに様々な追加機能を提供する拡張要素を定義します。

Presence publication by default uses the PIDF document format, and each publication contains full state, regardless of how much of the presence information has actually changed since the previous update. As a consequence, updating a sizeable presence document especially with small changes bears a considerable overhead and is therefore inefficient. Publication of information over low bandwidth and high latency links further exacerbates this inefficiency.

デフォルトでは、プレゼンス出版物はPIDFドキュメント・フォーマットを使用し、各パブリケーションに関係なく、情報が実際に前回の更新以降に変更されているどのくらいの存在の、完全な状態が含まれています。その結果、特に小さな変更でかなりのプレゼンス文書を更新することは、かなりのオーバーヘッドを負担するため、非効率的です。低帯域幅と高遅延リンク上の情報の公表は、さらに、この非効率性を悪化させます。

This memo specifies a mechanism with which the PUA is after an initial full state publication able to publish only those parts of the presence document that have changed since the previous update. This is accomplished using the partial PIDF [RFC5262] document format

このメモは、PUAが最初のフル状態発行後前回の更新以降に変更されたプレゼンス文書の部分のみを公開することができるしているメカニズムを指定します。これは、部分的PIDF [RFC5262]文書フォーマットを使用して達成されます

to communicate a set of presence document changes to the PA, who then applies the changes in sequence to its version of the presence document.

その後、プレゼンス文書のそのバージョンに順次変更を適用PAへのプレゼンス文書変更のセットを通信します。

This memo is structured in the following way: Section 3 gives an overview of the partial publication mechanism, Section 4 includes the detailed specification, Section 5 includes discussion of security considerations, and Section 6 includes examples of partial publication.

このメモは、次のように構成されている:第3部分出版機構の概要を示し、第4章は、詳細な仕様が含まれ、第5節では、セキュリティ上の考慮事項の説明を含み、そして第6節では、部分文書の例を含みます。

2. Definitions and Document Conventions
2.定義や表記方法

In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119, BCP 14 [RFC2119], and indicate requirement levels for compliant implementations.

この文書では、キーワード "MUST"、 "MUST NOT"、 "REQUIRED"、 "NOT SHALL"、 "推奨"、 "すべきではない" "べきである" "ないものと"、 "MAY"、および "オプション" RFC 2119に記載されるように解釈されるべきである、BCP 14 [RFC2119]、および対応する実装の要求レベルを示します。

This document makes use of the vocabulary defined in the Model for Presence and Instant Messaging [RFC2778], the Event State Publication Extension to SIP [RFC3903], and the PIDF Extension for Partial Presence [RFC5262].

この文書では、[RFC3903]をSIPへのプレゼンスとインスタントメッセージングのためのモデルで定義された語彙の使用[RFC2778]、イベントステート公開拡張を行い、部分的なプレゼンスのためのPIDF拡張[RFC5262]。

3. Overall Operation
3.全体動作

This section introduces the baseline functionality for presence publication, and gives an overview of the partial publication mechanism. This section is informational in nature. It does not contain any normative statements.

このセクションでは、プレゼンス発行のベースライン機能を導入し、そして部分的出版機構の概要を示します。このセクションでは、自然の中での情報です。これは、任意の規範的な文が含まれていません。

3.1. Presence Publication
3.1. プレゼンス公報

Event State Publication is specified in [RFC3903].

イベント状態公報は、[RFC3903]で指定されています。

The publication of presence information consists of a presence user agent sending a SIP PUBLISH request [RFC3903] targeted to the address-of-record of the presentity, and serviced by a presence agent or compositor. The body of the PUBLISH request carries full event state in the form of a presence document.

プレゼンス情報の公開は、アドレス・オブ・レコードプレゼンティティのに標的化、プレゼンスエージェントまたはコンポジタによってサービスSIP PUBLISHリクエスト[RFC3903]を送信プレゼンス・ユーザ・エージェントから構成されています。 PUBLISHリクエストのボディには、プレゼンス文書の形で完全なイベント状態を運びます。

The compositor processes the PUBLISH request and stores the presence information. It also assigns an entity-tag that is used to identify the publication. This entity-tag is returned to the PUA in the response to the PUBLISH request.

コンポジタは、PUBLISHリクエストを処理し、プレゼンス情報を格納します。それはまた、出版物を識別するために使用されるエンティティタグを割り当てます。このエンティティタグは、PUBLISHリクエストに応じて、PUAに返されます。

The PUA uses the entity-tag in the following PUBLISH request for identifying the publication that the request is meant to refresh, modify or remove. Presence information is stored in an initial publication, and maintained using the refreshing and modifying publications. Presence information disappears either by explicitly removing it or when it meets its expiration time.

PUAは、次の要求は、リフレッシュ変更または削除することを意味する出版物を識別するための要求を発行内のエンティティタグを使用します。プレゼンス情報は、最初の出版に格納され、リフレッシュおよび変更パブリケーションを使用して維持されます。プレゼンス情報は、明示的にそれを削除するか、その有効期限を満たしたときのいずれかによって消えます。

3.2. Partial Presence Publication
3.2. 部分的なプレゼンス公報

The partial publication mechanism enables the PUA to update only parts of its presence information, namely those sections of the presence document that have changed. The initial publication always carries full state. However, successive modifying publications to this initial presence state can communicate state deltas, i.e., one or more changes to the presence information since the previous update. Versioning of these partial publications is necessary to guarantee that the changes are applied in the correct order. The PUBLISH method [RFC3903] already accomplishes this using entity-tags and conditional requests, which guarantee correct ordering of publication updates.

部分的な出版機構は、そのプレゼンス情報の一部のみ、変更されたプレゼンス文書の、すなわちこれらのセクションを更新するPUAを可能にします。最初の出版は、常に満杯状態を運びます。しかし、この初期プレゼンス状態への連続改質刊行物は、以前の更新からのプレゼンス情報の状態デルタ、すなわち、1つ以上の変更を通信することができます。これらの部分の出版物のバージョン管理は、変更が正しい順序で適用されていることを保証する必要があります。 PUBLISHメソッド[RFC3903]は、すでに出版更新の正しい順序を保証し、この使用してエンティティタグと条件の要求を、実現しています。

Note that the partial PIDF format [RFC5262] contains the 'version' attribute that could be used for versioning as well. However, we chose not to introduce an additional versioning mechanism to partial publish, since that would only add ambiguity and a potentially undefined error case if the two versioning mechanisms were to somehow contradict.

部分的PIDF形式[RFC5262]は、同様のバージョン管理を使用することができる「バージョン」属性が含まれていることに注意してください。 2つのバージョン管理メカニズムがどうにか矛盾するようにした場合にのみあいまいさと潜在的に未定義のエラーケースを追加しますので、しかし、我々は、公開部分的に追加のバージョン管理の仕組みを導入しないことを選びました。

To initialize its publication of presence information, the PUA first publishes a full state initial publication. The consequent modifying publications can carry either state deltas or full state. Both initial and modifying partial presence publications are accomplished using the 'application/pidf-diff+xml' content type [RFC5262], with the former using the <pidf-full> root element, and the latter using the <pidf-diff> or <pidf-full> root elements, respectively.

プレゼンス情報のその出版を初期化するために、PUAは、最初のフル状態の初期文書を公開します。その結果として変性出版物は、状態のデルタまたは完全な状態のいずれかを運ぶことができます。最初の部分的なプレゼンスの刊行物は<PIDF-差分を>使用<PIDFフル>ルート要素、後者を使用して、前者と、「アプリケーション/ PIDF-差分+ XMLのコンテンツタイプ[RFC5262]を使用して達成された修正の両方又は<PIDFフル>ルート要素をそれぞれ。

While the <pidf-full> encapsulates a regular PIDF document, the <pidf-diff> can contain one or more operations for adding new elements or attributes (<add> elements), replacing elements or attributes whose content has changed (<replace> elements), or indications of removal of certain elements or attributes (<remove> elements). The PUA is free to decide the granularity by which changes in presence information are communicated to the composer. It may very well happen that there are enough changes to be communicated that it is more efficient to send a full state publication instead of a set of state deltas.

<PIDFフル>は、通常のPIDFドキュメントをカプセル化している間、<PIDF-diffは>その内容は<置き換え>(変更された要素や属性を交換し、(要素を<追加>)、新しい要素や属性を追加するための1つ以上の操作を含めることができます要素)、又は特定の要素や属性の除去の指標は()要素<削除します>。 PUAは作曲に伝達されたプレゼンス情報に変更することにより、粒度を決定して自由です。非常によく、国家デルタの集合ではなく完全な状態の出版物を送信するために、より効率的であることを伝えることがするのに十分な変化があることが起こるかもしれません。

When the presence compositor receives a partial publication, it applies the included patch operations in sequence. The resulting changed (or patched) presence document is then submitted to the composition logic in the same manner as with a full state presence publication. Similarly, any changes to the publication expiration apply to the full, patched presence publication. In other words, there is no possibility to roll back to an earlier version, except by submitting a full state publication.

プレゼンスコンポジは、部分文書を受信すると、シーケンスに含まれるパッチ操作を適用します。得られた変更(またはパッチを適用)プレゼンス文書は、その後、完全な状態のプレゼンス発行と同様に組成ロジックに提出されます。同様に、出版物の有効期限の変更は、フル、パッチさプレゼンス発行に適用されます。換言すれば、完全な状態の文書を提出する以外、以前のバージョンにロールバックする可能性はありません。

4. Client and Server Operation
4.クライアントとサーバーの運用

Unless otherwise specified in this document, the presence user agent and presence agent behavior are as defined in [RFC3903].

そうでない場合は、この文書で指定されない限り、[RFC3903]で定義されるように、プレゼンス・ユーザ・エージェントとプレゼンスエージェントの動作です。

4.1. Content-Type for Partial Publications
4.1. 部分的な出版物のためのContent-Type

The entities supporting the partial publication extension described in this document MUST support the 'application/pidf-diff+xml' content type defined in the partial PIDF format [RFC5262], in addition to the baseline 'application/pidf+xml' content type defined in [RFC3863].

コンテンツタイプが定義されたベースライン「アプリケーション/ PIDF + XML」に加えて、部分的PIDF形式[RFC5262]で定義された「アプリケーション/ PIDF-差分+ XMLのコンテンツタイプをサポートしなければなりません。この文書に記載され、部分的パブリケーション拡張をサポートするエンティティ[RFC3863]インチ

Listing the partial PIDF content type in the Accept header field of a SIP response is an explicit indication of support for the partial publication mechanism. The PUA can learn server support either as a result of an explicit query, i.e., in a response to an OPTIONS request, or by trial-and-error, i.e., after a 415 error response is returned to an attempted partial publication.

SIP応答の受け入れヘッダフィールドの部分PIDFコンテンツタイプをリスト部分出版機構のサポートの明確な指標です。 415エラー応答を試み部分リケーションへ戻された後PUAは、すなわち、サーバのサポートを学ぶ明示的クエリの結果として、即ち、OPTIONS要求に応答して、または試行錯誤によることができます。

4.2. Generation of Partial Publications
4.2. 部分的な出版物の生成

Whenever a PUA decides to begin publication of partial presence information, it first needs to make an initial publication. This initial publication always carries full state. After the initial publication, presence information can be updated using modifying publications; the modifications can carry state deltas as well as full state. Finally, the publication can be terminated by explicit removal, or by expiration.

PUAは、部分的プレゼンス情報の公開を開始することを決定したときはいつでも、それは最初の初期の出版物を作成する必要があります。この最初の出版物は、常に満杯状態を運びます。最初の公開後、プレゼンス情報が変更パブリケーションを使用して更新することができます。変更は、状態デルタだけでなく、完全な状態を運ぶことができます。最後に、出版物は、明示的に除去することにより、または満了により終了することができます。

Both the initial and modifying publications make use of the partial presence document format [RFC5262], and all follow the normal rules for creating publications, as defined in RFC 3903 [RFC3903], Section 4.

両方の初期および変更刊行物は、部分的プレゼンス文書フォーマット[RFC5262]を使用すること、およびRFC 3903 [RFC3903]、セクション4で定義されるように全ては、出版物を作成するための通常のルールに従います。

If the initial PUBLISH request returns a 415 (Unsupported Media Type), it means that the compositor did not understand the partial publication format. In this case, the PUA MUST follow normal procedures for handling a 400-class response, as specified in Section 8.1.3.5 of [RFC3261]. Specifically, the PUA SHOULD retry the publication using the default PIDF content type, namely 'application/ pidf+xml'. In addition, to find out a priori whether a specific presence compositor supports partial presence publication, the PUA MAY use the OPTIONS method, as described in [RFC3261].

初期には、要求を発行する場合は415(サポートされていないメディアタイプ)を返し、それはコンポは、部分的出版物の形式を理解していなかったことを意味します。 [RFC3261]のセクション8.1.3.5で指定されるように、この場合、PUAは、400クラスの応答を処理するための通常の手順に従わなければなりません。具体的には、PUAは、デフォルトPIDFコンテンツタイプ、即ち「アプリケーション/ PIDF + XML」を使用してパブリケーションを再試行すべきです。 [RFC3261]に記載されているように加えて、特定のプレゼンスコンポジが部分的プレゼンス発行をサポートするかどうかを事前に知るために、PUAは、OPTIONSメソッドを使用するかもしれ。

To construct a full-state publication, the PUA uses the following process:

フル状態の出版物を構築するために、PUAは、次のプロセスを使用しています:

o The Content-Type header field in the PUBLISH request MUST be set to the value 'application/pidf-diff+xml'.

O PUBLISHリクエストのContent-Typeヘッダフィールドは値「アプリケーション/ PIDF-差分+ XML」に設定されなければなりません。

o The document in the body of the request is populated with a <pidf-full> root element that includes the 'entity' attribute set to identify the presentity.

O要求の本文に文書がプレゼンティティを識別するように設定「エンティティ」属性を含む<PIDFフル>ルート要素が取り込まれます。

o Under the <pidf-full> root element exists all of the children of a PIDF [RFC3863] <presence> element. This document contains the full state of which the PUA is aware, and MAY include elements from any extension namespace.

<PIDFフル>ルート要素の下でoがPIDF [RFC3863] <存在>要素のすべての子が存在します。この文書では、PUAが認識している完全な状態を含み、任意の拡張子の名前空間からの要素を含んでもよいです。

To construct a partial publication, the following process is followed:

部分的な出版物を構築するには、次のプロセスが続きます。

o The Content-Type header field in the PUBLISH request MUST be set to the value 'application/pidf-diff+xml'.

O PUBLISHリクエストのContent-Typeヘッダフィールドは値「アプリケーション/ PIDF-差分+ XML」に設定されなければなりません。

o The document in the body of the request is populated with a <pidf-diff> root element that includes the 'entity' attribute identifying the presentity.

O要求の本文に文書がプレゼンティティを識別する「エンティティ」属性を含む<PIDF-差分>ルート要素が取り込まれます。

o Under the <pidf-diff> root element exists a set of patch operations that communicate the changes to the presentity's presence information. These operations MUST be constructed in sequence, and as defined in the partial PIDF format [RFC5262].

<PIDF-差分>ルート要素の下oはプレゼンティティのプレゼンス情報の変更を通信パッチ操作のセットが存在します。これらの操作は、シーケンスで構成され、のように部分的PIDF形式[RFC5262]で定義されなければなりません。

The PUA is free to decide the granularity by which changes in the presentity's presence information are communicated to the presence compositor. In order to reduce unnecessary network traffic, the PUA SHOULD batch several patch operations in a single PUBLISH request.

PUAは、プレゼンスコンポジに伝達されているプレゼンティティのプレゼンス情報の変化によって粒度を決定して自由です。不要なネットワークトラフィックを削減するために、単一でPUA SHOULDバッチいくつかのパッチ操作は要求を発行します。

A reasonable granularity might be to batch state changes resulting from related UI events together in a single PUBLISH request. For example, when the user sets their status to "Away", several things including freetext notes, service availability, and activities might change as a result.

合理的な粒度は、単一のPUBLISHリクエストで一緒に関連するUIイベントから得られたバッチの状態変化にあるかもしれません。ユーザーが「アウェイ」その状態を設定している場合例えば、フリーテキストノート、サービスの可用性、および活動を含むいくつかのことは、結果として、変更される場合があります。

If the size of the delta state becomes more than the size of the full state, the PUA SHOULD instead send a modifying publication carrying full state, unless this size comparison is not possible.

デルタ状態のサイズがフル状態の大きさ以上になった場合、このサイズの比較ができない場合を除き、PUA代わりに、完全な状態を運ぶ修飾文書を送信すべきです。

To an implementation that generates state deltas directly out of its internal events, it may not be trivial to determine the size of the corresponding full state.

その内部イベントから直接状態デルタを生成実装するためには、対応する完全状態のサイズを決定するのは簡単ではないかもしれません。

4.3. Processing of Partial Publications
4.3. 部分的な出版物の処理

For each resource, the compositor maintains a record for each of the publications. These are indexed using the entity-tag of the publications.

各リソースについて、コンポは、出版物のそれぞれのレコードを保持します。これらは、出版物のエンティティタグを使用して索引付けされています。

Processing of publications generally follows the guidelines set in [RFC3903]. In addition, processing PUBLISH requests that contain 'application/pidf-diff+xml' require some extra processing that is dependant on whether the request contains full or partial state.

出版物の処理は、一般的に、[RFC3903]で設定したガイドラインに従っています。また、処理要求が完全または部分的な状態が含まれているかどうかに依存しているいくつかの余分な処理を必要とする「アプリケーション/ PIDF-diffの+ xmlの」を含む要求を発行します。

4.3.1. Processing <pidf-full>
4.3.1. 処理<PIDFフル>

If the value of the Content-Type header field is 'application/ pidf-diff+xml', and the document therein contains a <pidf-full> root element, the publication contains full presence information, and the next step applies:

Content-Typeヘッダフィールドの値が「アプリケーション/ PIDF-差分+ XML」であり、文書はそこ<PIDFフル>ルート要素が含まれている場合、出版物は、完全なプレゼンス情報が含まれ、次のステップが適用されます。

o The compositor MUST take the received presence document under the <pidf-full> as the local presence document, replacing any previous publications.

Oコンポジは、以前の出版物を交換し、ローカルプレゼンス文書として<PIDFフル>の下に受信したプレゼンス文書を取る必要があります。

If any errors are encountered before the entire publication is completely processed, the compositor MUST reject the request with a 500 (Server Internal Error) response, and revert back to its original, locally stored presence information.

全刊行物が完全に処理される前にエラーが発生した場合、合成器500(サーバ内部エラー)応答で要求を拒否し、元の、ローカルに格納されたプレゼンス情報に戻すしなければなりません。

4.3.2. Processing <pidf-diff>
4.3.2. 処理<PIDF-diffを>

If the value of the Content-Type header field is 'application/ pidf-diff+xml', and the document in the body contains a <pidf-diff> root element, the publication contains partial presence information (state delta), and the next steps apply:

Content-Typeヘッダフィールドの値が「アプリケーション/ PIDF-差分+ XML」があり、体内の文書が<PIDF-差分>ルート要素が含まれている場合、出版物は、部分的プレゼンス情報(状態デルタ)が含まれ、そして次の手順が適用されます。

o If the publication containing the <pidf-diff> root element is a modifying publication (i.e., contains an If-Match header field with a valid entity-tag), the compositor MUST apply the included patch operations in sequence against its locally stored presence document.

<PIDF-差分>ルート要素を含むパブリケーションが修飾出版の場合、O(すなわち、有効なエンティティタグを有する場合にマッチヘッダフィールドを含む)、コンポジタは、ローカルに格納されている存在に対して配列に含まれるパッチの操作を適用しなければなりません資料。

o Else, the publication is an initial publication, for which only <pidf-full> is allowed. Therefore, the publication MUST be rejected with an appropriate error response, such as a 400 (Invalid Partial Publication).

Oさもなければ、出版のみ<PIDFフル>許可された初期の出版物は、です。したがって、刊行物は、400(無効部分公報)などの適切なエラー応答で拒否しなければなりません。

If a publication carrying partial presence information expires without the PUA refreshing it, the compositor MUST clear the entire, full state publication.

部分的プレゼンス情報を運ぶ出版物は、それをリフレッシュPUAせずに期限切れになった場合、コンポは全体の、完全な状態の出版物をクリアする必要があります。

This means that the compositor does not keep a record of the applied patches, and consequently (unlike some versioning systems), the compositor does not roll back to an earlier version if a particular partial publication were to expire.

これはコンポジターが適用されたパッチの記録を保持していない、その結果、(いくつかのバージョン管理システムとは異なり)特定の部分の出版物が期限切れした場合、コンポは以前のバージョンにロールバックしないことを意味します。

If the compositor encounters errors while processing the 'application/pidf-diff+xml' document, it MUST reject the request with a 400 (Bad Request) response. In addition, the compositor MAY include diagnostics information in the body of the response, using an appropriate error condition element defined in Section 5.1. of [RFC5261].

「アプリケーション/ PIDF-差分+ XML」のドキュメントの処理中にコンポにエラーが発生した場合、それは400(悪いRequest)応答で要求を拒絶しなければなりません。また、合成器は、セクション5.1で定義された適切なエラー条件要素を使用して、応答のボディに診断情報を含んでもよいです。 [RFC5261]の。

If any other errors are encountered before the entire partial publication is completely processed, including all of the patch operations in the 'application/pidf-diff+xml' body, the compositor MUST reject the request with a 500 (Server Internal Error) response, and revert back to its original, locally stored presence information.

他のエラーが全体部分出版前に発生した場合は完全に「アプリケーション/ PIDF-差分+ XML」体内のパッチ操作の全てを含む、処理され、合成器は、500(サーバ内部エラー)応答で要求を拒絶しなければなりませんそして、元の、ローカルに格納されたプレゼンス情報に戻します。

5. Security Considerations
5.セキュリティについての考慮事項

This specification relies on protocol behavior defined in [RFC3903]. General security considerations related to Event State Publication are extensively discussed in that specification and all the identified security considerations apply to this document in entirety. In addition, this specification adds no new security considerations.

この仕様は、[RFC3903]で定義されたプロトコルの動作に依存しています。イベント状態公報に関連する一般的なセキュリティ上の考慮事項は広範囲にその仕様で議論され、すべての識別されたセキュリティ上の考慮事項は、全体として、この文書に適用されます。また、この仕様には、新たなセキュリティ上の考慮事項が追加されていません。

6. Examples
6.例

The following message flow (Figure 1) shows an example of a presence system that applies the partial publication mechanism.

次のメッセージ・フロー(図1)は、部分出版機構を適用するプレゼンスシステムの一例を示しています。

First, the PUA sends an initial publication that contains full state. In return, it receives a 200 OK response containing an entity-tag. This entity-tag serves as a reference with which the initial full state can be updated using partial publications containing state deltas.

まず、PUAは、完全な状態が含まれている初期の出版物を送信します。リターンでは、エンティティタグを含む200 OK応答を受信します。このエンティティタグは、最初のフル状態が状態デルタを含む部分の出版物を使用して更新することが可能な基準となります。

Then at some point the resource state changes, and the PUA assembles these changes into a set of patch operations. It then sends a modifying publication containing the patch operations, using the entity-tag as a reference to the publication against which the patches are to be applied. The compositor applies the received patch operations to its local presence document in sequence, and returns a 200 OK, which includes a new entity-tag.

その後、いくつかの点でリソースの状態が変化し、PUAは、パッチ操作のセットに、これらの変更を組み立てます。次に、パッチが適用されるそれに対して出版物への参照としてエンティティタグを使用して、パッチ操作を含む修正文書を送信します。コンポジタは、シーケンス内のローカルプレゼンス文書を受信したパッチ操作を適用し、新しいエンティティタグを含む200 OKを返します。

                                             Presence Agent /
                     PUA                        Compositor
                      | (M1) PUBLISH                |
                      |---------------------------->|
                      | (M2) 200 OK                 |
                      |<----------------------------|
                      |                             |
                      |                             |
                      |                             |
                      | (M3) PUBLISH                |
                      |---------------------------->|
                      | (M4) 200 OK                 |
                      |<----------------------------|
                      |                             |
                     _|_                           _|_
        

Figure 1: Partial Publication Message Flow

図1:部分的な出版メッセージフロー

Message details:

メッセージの詳細:

(M1): PUA -> Compositor

(M1):PUA - >コンポジ

         PUBLISH sip:resource@example.com SIP/2.0
         ...
         Event: presence
         Expires: 3600
         Content-Type: application/pidf-diff+xml
         Content-Length: 1457
        

<?xml version="1.0" encoding="UTF-8"?> <p:pidf-full xmlns="urn:ietf:params:xml:ns:pidf" xmlns:p="urn:ietf:params:xml:ns:pidf-diff" xmlns:r="urn:ietf:params:xml:ns:pidf:rpid" xmlns:c="urn:ietf:params:xml:ns:pidf:caps" entity="pres:someone@example.com">

<?xml version = "1.0" エンコード= "UTF-8"?> <P:PIDFフルのxmlns = "壷:IETF:のparams:XML:NS:PIDF" のxmlns:P = "壷:IETF:のparams:XML :NS:PIDF-差分 "のxmlns:R = "URN:IETF:paramsは:XML:NS:PIDF:RPID" のxmlns:C = "URN:IETF:paramsは:XML:NS:PIDF:キャップ" エンティティ=" PRES。 someone@example.com ">

<tuple id="sg89ae"> <status> <basic>open</basic> <r:relationship>assistant</r:relationship> </status> <c:servcaps> <c:audio>true</c:audio> <c:video>false</c:video> <c:message>true</c:message> </c:servcaps> <contact priority="0.8">tel:09012345678</contact> </tuple>

<タプルID = "sg89ae"> <状態> <基本>開く</塩基性> <R:関係>アシスタント</ R:関係> </状態> <C:servcaps> <C:オーディオ>真</ C:オーディオ> <C:ビデオ>偽</ C:ビデオ> <C:メッセージ>真</ C:メッセージ> </ C:servcaps> <連絡先の優先順位= "0.8"> TEL:09012345678 </連絡先> </タプル>

<tuple id="cg231jcr"> <status> <basic>open</basic> </status> <contact priority="1.0">im:pep@example.com</contact> </tuple>

<タプルID = "cg231jcr"> <状態> <基本>開く</塩基性> </状態> <コンタクト優先度= "1.0"> IM:pep@example.com </接触> </タプル>

<tuple id="r1230d"> <status> <basic>closed</basic> <r:activity>meeting</r:activity> </status> <r:homepage>http://example.com/~pep/</r:homepage> <r:icon>http://example.com/~pep/icon.gif</r:icon> <r:card>http://example.com/~pep/card.vcd</r:card> <contact priority="0.9">sip:pep@example.com</contact> </tuple>

<タプルID = "r1230d"> <状態> <基本>閉鎖</塩基性> <R:アクティビティ>会議</ R:活性> </状態> <R:ホームページ> http://example.com/~pep / </ R:ホームページ> <R:アイコン> http://example.com/~pep/icon.gif </ R:アイコン> <R:カード> http://example.com/~pep/card。 VCD </ R:カード> <コンタクト優先度= "0.9"> SIP:pep@example.com </接触> </タプル>

<note xml:lang="en">Full state presence document</note> <r:person> <r:status> <r:activities> <r:on-the-phone/> <r:busy/> </r:activities> </r:status> </r:person>

<ノートのxml:LANG = "EN">完全な状態の存在ドキュメント</注意> <R:人> <R:状態> <R:活動> <R:オン・ザ・電話/> <R:忙しいです/> < / R:活動> </ R:状態> </ R:人>

<r:device id="urn:esn:600b40c7"> <r:status> <c:devcaps> <c:mobility> <c:supported> <c:mobile/> </c:supported> </c:mobility> </c:devcaps> </r:status> </r:device>

<R:デバイスID = "URN:ESN:600b40c7"> <R:ステータス> <C:devcaps> <C:モビリティ> <C:サポート> <C:モバイル/> </ C:サポート> </ C:モビリティ> </ C:devcaps> </ R:ステータス> </ R:デバイス>

</p:pidf-full>

</ P:PIDF-フル>

(M2): Compositor -> PUA

(M2):コンポジ - > PUA

         SIP/2.0 200 OK
         ...
         SIP-ETag: 61763862389729
         Expires: 3600
         Content-Length: 0
        

(M3): PUA -> Compositor

(M3):PUA - >コンポジ

         PUBLISH sip:resource@example.com SIP/2.0
         ...
         Event: presence
         SIP-If-Match: 61763862389729
         Expires: 3600
         Content-Type: application/pidf-diff+xml
         Content-Length: 778
        

<?xml version="1.0" encoding="UTF-8"?> <p:pidf-diff xmlns="urn:ietf:params:xml:ns:pidf" xmlns:p="urn:ietf:params:xml:ns:pidf-diff" xmlns:r="urn:ietf:params:xml:ns:pidf:rpid" entity="pres:someone@example.com">

<?xml version = "1.0" エンコード= "UTF-8"?> <P:PIDF-差分のxmlns = "壷:IETF:のparams:XML:NS:PIDF" のxmlns:P = "壷:IETF:のparams:XML :NS:PIDF-差分」のxmlns:R = "URN:IETF:paramsは:XML:NS:PIDF:RPID" エンティティ= "PRES:someone@example.com">

<p:add sel="presence/note" pos="before"><tuple id="ert4773"> <status> <basic>open</basic> </status> <contact priority="0.4">mailto:pep@example.com</contact> <note xml:lang="en">This is a new tuple inserted between the last tuple and note element</note> </tuple>

<P:SEL = "プレゼンス/音符" POSを追加= "前"> <タプルID = "ert4773"> <状態> <基本>開く</塩基性> </状態> <コンタクト優先度= "0.4">のmailto: pep@example.com </連絡先> <メモのxml:langは=「EN」>これは</タプル> </注意>を最後のタプルとノート要素との間に挿入された新しいタプルです

</p:add> <p:replace sel="*/tuple[@id='r1230d']/status/basic/text()" >open</p:replace>

</ P:追加> <pは:SEL =置き換える "* /タプルを[@ ID = 'r1230d'] /ステータス/ベーシック/テキスト()">開く</ P:交換してください>

<p:remove sel="*/r:person/r:status/r:activities/r:busy"/>

<P:削除SEL = "* / R:人/ R:ステータス/ R:活動/ R:忙しいです" />

<p:replace sel="*/tuple[@id='cg231jcr']/contact/@priority" >0.7</p:replace>

<P:置き換えるSEL = "* /タプル[@ ID = 'cg231jcr'] /コンタクト/ @優先度"> 0.7 </ P:置き換えます>

</p:pidf-diff>

</ P:PIDF-diffを>

(M4): Compositor -> PUA

(M4):作曲 - > AUP

         SIP/2.0 200 OK
         ...
         SIP-ETag: 18764920981476
         Expires: 3600
         Content-Length: 0
        
7. Acknowledgements
7.謝辞

The authors would like to thank Atle Monrad, Christian Schmidt, George Foti, Fridy Sharon-Fridman, and Avshalom Houri for review comments.

著者は、レビューコメントをAtle Monrad、クリスチャン・シュミット、ジョージFOTI、Fridyシャロン・フリードマン、およびAvshalomフーリーに感謝したいと思います。

8. References
8.参照文献
8.1. Normative References
8.1. 引用規格

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

[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

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

[RFC3903]ニエミ、A.、 "イベント状態の出版のためのセッション開始プロトコル(SIP)の拡張"、RFC 3903、2004年10月。

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

[RFC3863]菅野、H.、藤本、S.、Klyne、G.、ベイトマン、A.、カー、W.、およびJ.ピーターソン、 "プレゼンス情報データフォーマット(PIDF)"、RFC 3863、2004年8月。

[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002.

[RFC3261]ローゼンバーグ、J.、Schulzrinneと、H.、カマリロ、G.、ジョンストン、A.、ピーターソン、J.、スパークス、R.、ハンドレー、M.、およびE.学生、 "SIP:セッション開始プロトコル" 、RFC 3261、2002年6月。

[RFC5262] Lonnfors, M., Costa-Requena, J., Leppanen, E., and H. Khartabil, "Presence Information Data Format (PIDF) Extension for Partial Presence", RFC 5262, September 2008.

[RFC5262] Lonnfors、M.、コスタ・レケナ、J.、Leppanen、E.、およびH. Khartabil、 "部分的プレゼンスのプレゼンス情報データフォーマット(PIDF)拡張子"、RFC 5262、2008年9月。

[RFC5261] Urpalainen, J., "An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors", RFC 5261, September 2008.

[RFC5261] Urpalainen、J.、 "拡張マークアップ言語(XML)パッチOperations Frameworkの利用XMLパス言語(XPath)セレクタ"、RFC 5261、2008年9月。

8.2. Informative References
8.2. 参考文献

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

[RFC2778]日、M.、ローゼンバーグ、J.、およびH.菅野、 "プレゼンスとインスタントメッセージングのためのモデル"、RFC 2778、2000年2月。

[RFC4479] Rosenberg, J., "A Data Model for Presence", RFC 4479, July 2006.

[RFC4479]ローゼンバーグ、J.、 "プレゼンスのためのAデータモデル"、RFC 4479、2006年7月。

[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.

[RFC4480] Schulzrinneと、H.、Gurbani、V.、Kyzivat、P.、およびJ.ローゼンバーグ、 "RPID:プレゼンス情報データフォーマット(PIDF)にリッチプレゼンスの拡張"、RFC 4480、2006年7月。

[RFC4481] Schulzrinne, H., "Timed Presence Extensions to the Presence Information Data Format (PIDF) to Indicate Status Information for Past and Future Time Intervals", RFC 4481, July 2006.

[RFC4481] Schulzrinneと、H.は、RFC 4481、2006年7月、「プレゼンス情報データフォーマット(PIDF)に時限プレゼンス拡張は、過去と未来の時間間隔のステータス情報を示すために」。

[RFC4482] Schulzrinne, H., "CIPID: Contact Information for the Presence Information Data Format", RFC 4482, July 2006.

[RFC4482] Schulzrinneと、H.、:、RFC 4482、2006年7月 "CIPIDは、プレゼンス情報データフォーマットの情報を問い合わせてください"。

[RFC5196] Lonnfors, M. and K. Kiss, "Session Initiation Protocol (SIP) User Agent Capability Extension to Presence Information Data Format (PIDF)", RFC 5196, September 2008.

[RFC5196] Lonnfors、M.とK.キス、 "プレゼンス情報データフォーマット(PIDF)にセッション開始プロトコル(SIP)ユーザエージェントの機能拡張"、RFC 5196、2008年9月。

[W3C.REC-xml] Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml, October 2000, <http://www.w3.org/TR/REC-xml>.

[W3C.REC-XML]ブレイ、T.、パオリ、J.、Sperberg-マックィーン、C.、およびE. MALER、 "拡張マークアップ言語(XML)1.0(第2版)"、W3C REC-xmlの、2000年10月、<http://www.w3.org/TR/REC-xml>。

Authors' Addresses

著者のアドレス

Aki Niemi Nokia P.O. Box 407 NOKIA GROUP, FIN 00045 Finland

安芸ニエミNokiaの私書箱ボックス407 NOKIA GROUP、FIN-00045フィンランド

Phone: +358 71 8008000 EMail: aki.niemi@nokia.com

電話番号:+358 71 8008000 Eメール:aki.niemi@nokia.com

Mikko Lonnfors Nokia Itamerenkatu 11-13 Helsinki Finland

ミッコLönnforsノキアItamerenkatu 11-13ヘルシンキフィンランド

Phone: +358 71 8008000 EMail: mikko.lonnfors@nokia.com

電話番号:+358 71 8008000 Eメール:mikko.lonnfors@nokia.com

Eva Leppanen Individual Lempaala Finland

エヴァLeppanen個々Lempaalaフィンランド

EMail: eva.leppanen@saunalahti.fi

メールアドレス:eva.leppanen@saunalahti.fi

Full Copyright Statement

完全な著作権声明

Copyright (C) The IETF Trust (2008).

著作権(C)IETFトラスト(2008)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

この文書では、BCP 78に含まれる権利と許可と制限の適用を受けており、その中の記載を除いて、作者は彼らのすべての権利を保有します。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.

この文書とここに含まれている情報は、基礎とCONTRIBUTOR「そのまま」、ORGANIZATION HE / SHEが表すまたはインターネットSOCIETY、(もしあれば)を後援し、IETF TRUST ANDインターネットエンジニアリングタスクフォース放棄ALLに設けられています。保証は、明示または黙示、この情報の利用および特定目的に対する権利または商品性または適合性の黙示の保証を侵害しない任意の保証がこれらに限定されません。

Intellectual Property

知的財産

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、本書またはそのような権限下で、ライセンスがたりないかもしれない程度に記載された技術の実装や使用に関係すると主張される可能性があります任意の知的財産権やその他の権利の有効性または範囲に関していかなる位置を取りません利用可能です。またそれは、それがどのような権利を確認する独自の取り組みを行ったことを示すものでもありません。 RFC文書の権利に関する手続きの情報は、BCP 78およびBCP 79に記載されています。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

IPRの開示のコピーが利用できるようにIETF事務局とライセンスの保証に行われた、または本仕様の実装者または利用者がそのような所有権の使用のための一般的なライセンスまたは許可を取得するために作られた試みの結果を得ることができますhttp://www.ietf.org/iprのIETFのオンラインIPRリポジトリから。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETFは、その注意にこの標準を実装するために必要とされる技術をカバーすることができる任意の著作権、特許または特許出願、またはその他の所有権を持ってすべての利害関係者を招待します。 ietf-ipr@ietf.orgのIETFに情報を記述してください。