1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-24 18:22:24 -05:00

xep-0286: remove EXI reference

Other minor editorial and citation fixes.
This commit is contained in:
Sam Whited 2017-09-17 11:19:16 -05:00
parent 965e863a16
commit 50373de4ad

View File

@ -2,11 +2,13 @@
<!DOCTYPE xep SYSTEM 'xep.dtd' [ <!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'> <!ENTITY % ents SYSTEM 'xep.ent'>
%ents; %ents;
<!ENTITY nokia11 "<note>LTE Smartphone measurements &lt;<link url='https://web.archive.org/web/20160624043050/http://networks.nokia.com/system/files/document/lte_measurements_final.pdf'>http://networks.nokia.com/system/files/document/lte_measurements_final.pdf</link>&gt;</note>">
<!ENTITY huang12 "<note>A Close Examination of Performance and Power Characteristics of 4G LTE Networks &lt;<link url='https://doi.org/10.1145/2307636.2307658'>doi:2307636.2307658</link>&gt;</note>">
]> ]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?> <?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep> <xep>
<header> <header>
<title>Mobile Considerations</title> <title>Mobile Considerations on LTE Networks</title>
<abstract> <abstract>
This document provides background information for XMPP implementors This document provides background information for XMPP implementors
concerned with mobile devices operating on an LTE cellular network. concerned with mobile devices operating on an LTE cellular network.
@ -30,6 +32,17 @@
<jid>dave.cridland@isode.com</jid> <jid>dave.cridland@isode.com</jid>
</author> </author>
&sam; &sam;
<revision>
<version>0.4.1</version>
<date>2017-09-17</date>
<initials>ssw</initials>
<remark>
<ul>
<li>Minor editorial fixes.</li>
<li>Remove reference to EXI which has no implementations.</li>
</ul>
</remark>
</revision>
<revision> <revision>
<version>0.4.0</version> <version>0.4.0</version>
<date>2017-01-17</date> <date>2017-01-17</date>
@ -103,17 +116,17 @@
Compression of XMPP data can be achieved with the DEFLATE algorithm Compression of XMPP data can be achieved with the DEFLATE algorithm
(&rfc1951;) via TLS compression (&rfc3749;) or &xep0138; (which also (&rfc1951;) via TLS compression (&rfc3749;) or &xep0138; (which also
supports other compression algorithms). supports other compression algorithms).
While the security implications of stream compression are beyond the scope A description of the security implications of stream compression is beyond
of this document (See the aforementioned RFC or XEP for more info), the the scope of this document (See &rfc3749; or &xep0138; for more
author does not recommend using TLS compression with XMPP (or in general). information), but the author does not recommend using TLS compression with
XMPP (or in general).
If compression must be used, stream level compression should be If compression must be used, stream level compression should be
implemented instead, and the compressed stream should have a full flush implemented instead, and the compressed stream should have a full flush
performed on stanza boundaries to help prevent a class of chosen plaintext performed on stanza boundaries to help prevent chosen plaintext attacks.
attacks which can cause data leakage in compressed streams.
While this may mitigate some of the benefits of compression by raising While this may mitigate some of the benefits of compression by raising
compression ratios, in a large, real world deployment at HipChat, network compression ratios, in a large, real world deployment, network traffic was
traffic was still observed to decrease by a factor of 0.58 when enabling still observed to decrease by a factor of 0.58 when enabling &xep0138;
&xep0138; with ZLIB compression! with ZLIB compression.
</p> </p>
<p> <p>
While the CPU cost of compression may directly translate to higher power While the CPU cost of compression may directly translate to higher power
@ -122,13 +135,10 @@
power per bit than 3G networks as will be seen later in this document. power per bit than 3G networks as will be seen later in this document.
However, CPU usage is also not guaranteed to rise due to compression. However, CPU usage is also not guaranteed to rise due to compression.
In the aforementioned deployment of stream compression, a In the aforementioned deployment of stream compression, a
<em>decrease</em> in CPU utilization by a factor of 0.60 was observed due <em>decrease</em> in CPU utilization by a factor of 0.60 was observed,
to the fact that there were fewer packets that needed to be handled by the presumably due to reductions in TLS and packet handling overhead.
OS (which also takes CPU time), and, potentially more importantly, less
data that needed to be TLS-encrypted (which is a much more CPU-expensive
operation than compression).
Therefore CPU time spent on compression (for ZLIB, at least; other Therefore CPU time spent on compression (for ZLIB, at least; other
algorithms were not tested) should be considered negligable. algorithms were not tested) can be considered negligable.
</p> </p>
<p> <p>
Supporting compression and performming a full flush on stanza boundaries Supporting compression and performming a full flush on stanza boundaries
@ -140,12 +150,10 @@
While the wide spread adoption of LTE has dramatically increased available While the wide spread adoption of LTE has dramatically increased available
bandwidth on mobile devices, it has also increased power consumption. bandwidth on mobile devices, it has also increased power consumption.
According to one study, early LTE devices consumed 5&#x2013;20% more power According to one study, early LTE devices consumed 5&#x2013;20% more power
than their 3G counterparts than their 3G counterparts &nokia11;.
<note>LTE Smartphone measurements &lt;<link url='http://networks.nokia.com/system/files/document/lte_measurements_final.pdf'>http://networks.nokia.com/system/files/document/lte_measurements_final.pdf</link>&gt;</note>.
On some networks that support the legacy SVLTE (Simultaneous Voice and On some networks that support the legacy SVLTE (Simultaneous Voice and
LTE) instead of the more modern VoLTE (Voice Over LTE) standard, or even LTE) or CSFB (Circuit-switched fallback) instead of the more modern VoLTE
CSFB (Circuit-switched fallback) this number would (presumably) be even (Voice Over LTE) standard, this number would (presumably) be even higher.
higher.
</p> </p>
<p> <p>
XMPP server and client implementers, bearing this increased power usage in XMPP server and client implementers, bearing this increased power usage in
@ -153,12 +161,11 @@
traffic to minimize network usage. traffic to minimize network usage.
For the downlink, LTE user equipment For the downlink, LTE user equipment
(UE) utilizes Orthogonal Frequency Division Multiplexing (OFDM), which is (UE) utilizes Orthogonal Frequency Division Multiplexing (OFDM), which is
somewhat inefficient somewhat inefficient &huang12;.
<note>A Close Examination of Performance and Power Characteristics of 4G LTE Networks &lt;<link url='http://www.cs.columbia.edu/~lierranli/coms6998-7Spring2014/papers/rrclte_mobisys2012.pdf'>http://www.cs.columbia.edu/~lierranli/coms6998-7Spring2014/papers/rrclte_mobisys2012.pdf</link>&gt;</note>.
On the uplink side a different technology, Single-carrier frequency On the uplink side a different technology, Single-carrier frequency
division multiple access (SC-FDMA) is used, which is slightly more division multiple access (SC-FDMA) is used, which is slightly more
efficient than traditional (non linearly-precoded) OFDM, slightly efficient than traditional OFDM, slightly offsetting the fact that
offsetting the fact that broadcasting requires more power than receiving. broadcasting requires more power than receiving.
LTE UE also implements a Discontinuous reception (DRX) mode in which the LTE UE also implements a Discontinuous reception (DRX) mode in which the
hardware can sleep until it is woken by a paging message or is needed to hardware can sleep until it is woken by a paging message or is needed to
perform some task. perform some task.
@ -182,14 +189,14 @@
prevent the server from closing the socket. prevent the server from closing the socket.
</p> </p>
</section2> </section2>
<section2 topic='Transmit as much data as you can at once'> <section2 topic='When transmitting, transmit as much as you can'>
<p> <p>
If one is on 3G, transmitting a small amount of data will cause the If one is on 3G, transmitting a small amount of data will cause the
radio to enter FACH mode which is significantly cheaper than its high radio to enter FACH mode which is significantly cheaper than its high
power mode. power mode.
On LTE radios, however, transmitting small amounts of data is vastly On LTE radios, however, transmitting small amounts of data is vastly
more expensive per bit due to the higher tail-times (the time it takes more expensive per bit due to the higher tail-time (the time it takes
for the radio to change state). for the radio to change state) of approximately 11 seconds&huang12;.
On LTE radios, one should transmit as much data from the client as On LTE radios, one should transmit as much data from the client as
possible when the radio is already on (eg. by placing messages in a send possible when the radio is already on (eg. by placing messages in a send
queue and executing the queue as a batch when the radio is on). queue and executing the queue as a batch when the radio is on).
@ -199,10 +206,8 @@
</p> </p>
<p> <p>
These rules also apply to server operators: If the server receives data, These rules also apply to server operators: If the server receives data,
the phones radio is already on therefore you should send any pending the phones radio is already on, therefore you should flush any pending
data. data as soon as possible after receiving data from a client.
Batching data to be sent and sending it all at once will help reduce
power consumption.
</p> </p>
</section2> </section2>
</section1> </section1>
@ -213,7 +218,6 @@
optimizations for them in servers. optimizations for them in servers.
</p> </p>
<p>&xep0138; provides stream level compression.</p> <p>&xep0138; provides stream level compression.</p>
<p>&xep0322; allows XMPP streams to use the EXI XML format.</p>
<p> <p>
&xep0115; provides a mechanism for caching, and hence eliding, the &xep0115; provides a mechanism for caching, and hence eliding, the
disco#info requests needed to negotiate optional features. disco#info requests needed to negotiate optional features.
@ -247,8 +251,8 @@
<p> <p>
This XEP was originally written by Dave Cridland, and parts of his This XEP was originally written by Dave Cridland, and parts of his
original work were used in this rewrite. original work were used in this rewrite.
Thanks to Atlassian for allowing me to release hard numbers from their Thanks to Atlassian (HipChat) for allowing me to release numbers from
XMPP compression deployment. their XMPP compression deployment.
</p> </p>
</section1> </section1>
<section1 topic='Security Considerations' anchor='security'> <section1 topic='Security Considerations' anchor='security'>