One document matched: draft-ietf-sipping-presence-scaling-requirements-00.xml
<?xml version="1.0" encoding="UTF-8"?>
<rfc category="info" ipr="full3978" docName="draft-ietf-sipping-presence-scaling-requirements-00.txt">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="no" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<front> <title abbrev='Scaling Requirements for Presence'>Scaling Requirements for Presence in SIP/SIMPLE</title>
<author initials="A." surname="Houri" fullname="Avshalom Houri">
<organization>IBM</organization> <address> <postal> <street>Science Park
Building 18/D</street> <city>Rehovot</city> <region></region> <code></code>
<country>Israel</country> </postal> <email>avshalom@il.ibm.com</email>
</address> </author>
<author initials="S." surname="Parameswar" fullname="Sriram Parameswar">
<organization>Microsoft Corporation</organization> <address> <postal>
<street>One Microsoft Way</street> <city>Redmond</city> <region>WA</region>
<code>98052</code> <country>USA</country> </postal>
<email>Sriram.Parameswar@microsoft.com</email> </address> </author>
<author initials="E." surname="Aoki" fullname="Edwin Aoki">
<organization>AOL LLC</organization> <address> <postal> <street>360 W. Caribbean
Drive</street> <city>Sunnyvale</city> <region>CA</region> <code>94089</code>
<country>USA</country> </postal> <email>aoki@aol.net</email> </address>
</author>
<author initials="V." surname="Singh" fullname="Vishal Singh">
<organization abbrev="Columbia U.">Columbia University</organization> <address>
<postal> <street>Department of Computer Science</street> <street>450 Computer
Science Building</street> <city>New York</city> <region>NY</region>
<code>10027</code> <country>US</country> </postal>
<email>vs2140@cs.columbia.edu</email>
<uri>http://www.cs.columbia.edu/~vs2140</uri> </address> </author>
<author initials="H." surname="Schulzrinne" fullname="Henning Schulzrinne">
<organization abbrev="Columbia U.">Columbia University</organization> <address>
<postal> <street>Department of Computer Science</street> <street>450 Computer
Science Building</street> <city>New York</city> <region>NY</region>
<code>10027</code> <country>US</country> </postal> <phone>+1 212 939
7004</phone> <email>hgs+ecrit@cs.columbia.edu</email>
<uri>http://www.cs.columbia.edu/~hgs</uri> </address> </author>
<date month="February" year="2008"/> <area>Real Time</area>
<workgroup>SIPPING WG</workgroup> <keyword>I-D</keyword> <keyword>Internet-
Draft</keyword> <keyword>SIMPLE</keyword> <keyword>problem statement</keyword>
<abstract>
<t>The document provides a set of requirements for enabling interdomain scaling
in presence for SIP/SIMPLE. The requirements are based on a separate scaling
analysis document.</t>
</abstract>
</front>
<middle>
<section title="Requirements notation">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document
are to be interpreted as described in <xref target="RFC2119"/>.</t>
</section>
<section title="Introduction">
<t>The document lists requirements for optimizations of the SIP/SIMPLE protocol.
These optimizations should reduce the traffic in interdomain presence
subscriptions. The requirements are based on a separate scaling analysis
document <xref target="I-D.ietf-simple-interdomain-scaling-analysis" />.</t>
</section>
<section title="Suggested Requirements">
<t>In the presence scaling draft <xref target="I-D.ietf-simple-interdomain-scaling-analysis" />,
several areas where the deployment of a presence system is far
from being trivial are described, these include network load, memory load and
CPU load. In this section lists an initial set of requirements for a solution that will optimize
the interdomain presence traffic.</t>
<section title="Backward Compatibility Requirements">
<t><list style="symbols">
<t>REQ-001: The solution should not hinder the ability of existing SIMPLE
clients and/or servers from peering with a domain or client implementing the
solution. No changes may be required of existing servers to interoperate.</t>
<t>REQ-002: It does NOT constrain any existing RFC functional or security
requirements for presence.</t>
<t>REQ-003: Systems that are not using the new additions to the protocol should
operate at the same level as they do today.</t>
</list></t>
</section>
<section title="Policy, Privacy, Permissions Requirements">
<t><list style="symbols">
<t>REQ-004: The solution does not limit the ability for presentities to present
different views of presence to different watchers.</t>
<t>REQ-005: The solution does not restrict the ability of a presentity to obtain
its list of watchers.</t>
<t>REQ-006: The solution MUST NOT create any new or make worse any existing
privacy holes.</t>
</list></t>
</section>
<section title="Scalability Requirements">
<t><list style="symbols">
<t>REQ-007: It is highly desirable for any presence system (intra or inter-domain) to scale linearly as
number of watchers and presentities increase linearly.</t>
<t>REQ-008: The solution SHOULD NOT require significantly more state in order to
implement the solution.</t>
<t>REQ-009: It MUST be able to scale to tens of millions of concurrent users in
each domain and in each peer domain.</t>
<t>REQ-010: It MUST support a very high level of watcher/presentity intersections
in various intersection models.</t>
<t>REQ-011: Protocol changes MUST NOT prohibit optimizations in different
deployment models esp. where there is a high level of cross
subscriptions between the domains.</t>
<t>REQ-012: New functionalities and extensions to the presence protocol SHOULD take into account
scalability with respect to the number of messages, state size and management
and processing load.</t>
</list></t>
</section>
<section title="Topology Requirements">
<t><list style="symbols">
<t>REQ-013: The solution SHOULD allow for arbitrary federation topologies
including direct peering and intermediary routing.</t>
</list></t>
</section>
</section>
<section title="Conclusions">
<t>The document provides an initial list of requirements for a solution of
scalability of interdomain presence systems using the SIP/SIMPLE protocol. The
issue of scalability was shown in a separate document <xref target="I-D.ietf-simple-interdomain-scaling-analysis" />. </t>
<t>It is very possible that the issues that are described in this document are
inherent to presence systems in general and not specific to the SIMPLE protocol.
Organizations need to be prepared to invest a lot in network and hardware in
order to create real big systems. However, it is apparent that not all the
possible optimizations were done yet and further work is needed in the IETF in
order to provide better scalability</t>
<t> Nevertheless, we should remember that SIP was originally designed for end to
end session creation and number and size of messages are of secondary importance
for end to end session negotiation. For large scale and especially for very
large scale presence the number of messages that are needed and the size of each
message are of extreme importance. It seems that we need to think about the
problem in a different way. We need to think about scalability as part of the
protocol design. The IETF tends not to think about actual deployments when
designing a protocol but in this case it seems that if we do not think about
scalability with the protocol design it will be very hard to scale.</t>
<t>We should also consider whether using the same protocol between clients and
servers and between servers is a good choice. It may be that
in interdomain or even between servers in the same domain (as between RLSs and
presence servers) there is a need to have a different protocol that will be very
optimized for the load and can assume some assumptions about the network (e.g.
do not use unreliable protocol as UDP but only TCP).</t>
<t>When servers is connecting to another server using current protocol, there
will be an extreme number of redundant messages due to the overhead of
supporting UDP and to the need to send multiple presence documents for the same
watched user due to privacy issue. A server to server protocol will have to
address these issues. Some initial work to address these issues can be found in:
<xref target="I-D.houri-simple-interdomain-scaling-optimizations" />, <xref
target="I-D.rosenberg-simple-view-sharing"/> and <xref target="I-D.rosenberg-simple-intradomain-federation"/></t>
<t>Another issue that is more concerning protocol design is whether NOTIFY
messages should not be considered as media as audio, video and even text
messaging. The SUBSCRIBE can be extended to do similar three way
handshake as INVITE and negotiate where the notify messages should go, rate and
other parameters. This way the load can be offloaded to a specialized NOTIFY
"relays" thus not loading the control path of SIP. One of the possible ideas
(Marc Willekens) is to use the SIP stack for the client/server NOTIFY but make
use of a more optimized and controllable protocol for the server-to-server
interface. Another possibility is to use the MSRP <xref target="RFC4975"/>,
<xref target="RFC4976"/>protocol for the notifies.</t>
</section>
<section title="Security Considerations">
<t>This document discusses scalability requirements for the existing
SIP/SIMPLE presence protocol and model. Many of the changes to the protocol
will have security implications as mentioned in some of the requirements
above.</t>
<t>One example of possible protocol changes that may have security
implications is sending a presence document only once between domains in
order to optimize the number of messages and network load. This possible
optimization will delagate privacy protection from one domain to another
domain and should be addressed when designing protocol optimizations</t>
<t>Important part of work on the requirements and optimizations will be to make
sure that all the security aspects are covered.</t>
</section>
<section title="Acknowledgments">
<t>We would like to thank Jonathan Rosenberg, Ben Campbell, Markus Isomaki
Piotr Boni, David Viamonte, Aki Niemi and Marc Willekens for their ideas and
input.</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119" ?>
</references>
<references title="Informational References">
<?rfc include="reference.RFC.4975" ?>
<?rfc include="reference.RFC.4976" ?>
<?rfc include="reference.I-D.ietf-simple-interdomain-scaling-analysis" ?>
<?rfc include="reference.I-D.houri-simple-interdomain-scaling-optimizations" ?>
<?rfc include="reference.I-D.rosenberg-simple-view-sharing" ?>
<?rfc include="reference.I-D.rosenberg-simple-intradomain-federation" ?>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 05:54:46 |