Optimizing Background Sync on Smartphones
|
|
|
- Sydney Garrison
- 10 years ago
- Views:
Transcription
1 Optimizing Background Sync on Smartphones Fengyuan Xu 1,3, Yunxin Liu 1, Thomas Moscibroda 1, Ranveer Chandra 2, Long Jin 1,4, Yongguang Zhang 1, Qun Li 3 1 Microsoft Research Asia, Beijing, China 2 Microsoft Research, Redmond, WA, USA 3 College of William and Mary, Williamsburg, VA, USA 4 Tsinghua University, Beijing, China Abstract is a key application used on smartphones Even when the phone is in stand-by mode, users expect the phone to continue syncing with an server to receive new messages Each such sync operation wakes up the smartphone for data reception and processing In this paper, we show that this cost of sync in stand-by mode constitutes a significant source of energy consumption, and thus reduces battery life We quantify the power performance of different existing clients on two smartphone platforms, Android and Windows Phone, and study the impact of system parameters such as size, inbox size, and pull vs push Our results show that existing clients do not handle sync in an energy efficient way This is because the underlying protocols and architectures are not designed for the specific needs of operating in stand-by mode Based on our findings, we derive general design principles for energyefficient event handling on smartphones, and apply these principles to the case of sync and implement our techniques on commercial smartphones Experimental results show that our techniques are able to significantly reduce energy cost of sync by 499% on average with our experiment settings Categories and Subject Descriptors C22 [Computer-communication Networks]: Network Protocols - Applications General Terms Experimentation, Measurement, Performance Keywords Energy Efficiency, Smartphone, , Cellular Network 1 Introduction Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee MobiSys 13, June 25 28, 213, Taipei, Taiwan Copyright ACM /13/6$15 Standby time, a battery s life in standby mode, is important for smartphones to provide good power performance to users Even though many smartphones claim a standby time of more than 1 days in their technical specifications, in practice their standby times are often much shorter, eg, only two or three days or even less The main reason for such a big gap is that when a smartphone remains in standby mode, it stays connected to the Internet through its cellular data interface (eg, 3G), waiting for various incoming events, such as s, short messages, instant messages, notifications of social applications (eg, Twitter and Facebook), and many other push notifications This connected standby state, in which the screen is off while the network connectivity stays active, is of fundamental importance for mobile devices Most users keep their phone in connected standby for a large fraction of time during the day In this state, the reception of an incoming event ( , instant message ) wakes up the cellular data interface as well as the phone s operating system (OS), to receive the set of packets over the network and process received data Collectively, these operations consume a significant amount of power For example, our measurements show that the energy cost of receiving a small on an Android smartphone is more than 14,mJ, which is as high as the energy consumed by a typical smartphone in standby mode for 1 minutes In other words, the reception of a single reduces the standby time of a smartphone by 1 minutes Assuming the phone has a standby time of 1 days without receiving any events, its standby time will be reduced to less than 6 days (a reduction of more than 4%), if it receives 1 s per day This is despite the screen being off during the entire duration, and without any user interaction In this paper, we study the power performance of sync in connected standby on smartphones is a killer application on smartphones for most users, who expect their clients to keep synchronized with one or more servers even when the phone is in standby mode We measure the energy consumption of existing clients on two major smartphone platforms: Android and Windows Phone (WP) Our results show that sync is indeed a major drain on existing platforms, and we observe that existing mobile clients do not handle incoming s in an energy-efficient way The reason is that the underlying protocols, and the overall design of today s mobile clients do not take into account the specific characteristics and
2 needs of operation in connected standby mode: data processing is not sufficiently de-coupled from network communication (thus preventing the 3G interface from quickly going to sleep), memory management and storage input/output (I/O) are un-optimized, and network protocols and interface operations are tailored for operations other than event reception Based on our findings, we formulate new design principles for energy-efficient event handling (and specifically sync) on smartphones in connected standby Applying these principles to the case of sync, we develop 5 new techniques, each one addressing one of the shortcomings we have identified in existing systems In current systems, long 3G tail times keep the 3G interface on for longer than is necessary We advocate fast dormancy and adaptive 3G tail times based on arrival patterns, to reduce the energy cost of the 3G tail In current clients, data transmission and data processing are coupled together, eg, a final ACK packet is sent to the server once the received has been completely processed Depending on the amount of processing time required to handle an incoming , this coupling can prevent the 3G interface from going to sleep for a long time We propose decoupling the data transmission from data processing to improve energy efficiency In some clients, the amount of data processing and memory/storage I/O required to handle an incoming depends on the size of the inbox, leading to a particularly high energy cost for receiving s when there are many of them in the client s inbox We mitigate this problem by using a small cache for incoming s, to enable fast processing Flash storage operations on smartphones are slow, which leads to long data processing times, thus keeping the OS awake longer We show that in connected standby, it therefore makes sense as a design principle to perform reception entirely in-memory Finally, in some clients, a new secure network connection is established for receiving every new incoming , resulting in repeated TCP and SSL handshakes and a waste of energy We solve this problem by reusing network connections across the reception of multiple s Collectively, these techniques achieve significant reductions in the energy cost of syncing Specifically, we have implemented them by modifying an existing client on commercial smartphones Experimental results show that our revised client is able to significantly improve sync s energy efficiency, reducing the average energy cost by 499% and up to 779% if we put the 3G interface into sleep immediately after an is received In summary, the main contributions of this paper are: We show that sync in a connected standby state is a major source of energy consumption in today s smartphones, and that existing clients are not optimized for operation in this mode We derive design principles for energy-efficient event handling in connected standby, and propose techniques for reducing the energy required per sync We implement a new client on smartphones and show that it is significantly more energy efficient The paper is organized as follows Section 2 gives background information on sync in smartphones In Section 3, we present a measurement study on the -sync energy cost of existing smartphone clients, and derive general guidelines to make event reception energy-efficient in connected standby Section 4 describes our novel techniques We describe our implementation and evaluation results in Sections 5 and 6, respectively In Section 7, we demonstrate that our techniques can also be used to improve energy efficiency when receiving events in other eventtriggered applications Section 8 surveys related work before we conclude in Section 9 2 Background on Sync Similar to desktop or laptop PCs, smartphones usually use a client application to sync from a server Typically sync can be done in one of two ways: polling or pushing In polling, a client proactively connects to a server to check for new s The client can be configured to automatically poll the server periodically (eg, every 1 minutes), or the user can manually start a polling operation Polling has two disadvantages First, it wastes energy if a server does not have any new s, particularly if polling is too frequent Second, because a new may arrive before a client polls its server, polling causes a delay in receiving the , in the worst case as long as the polling time interval As a result, users may find it hard to set a proper polling time interval to balance the energy cost and receiving delay For these reasons, push is widely used on smartphones Most popular services, such as Microsoft Exchange, Gmail and Hotmail, support push The Gmail application on Android supports push , but not poll In push , instead of polling from a client, s are received by pushing from a server Once a server receives a new for a client, it pushes the new to the client through a previously established TCP connection Consequently, the client is able to immediately receive new s as soon as they arrive Push not only has minimal delay but in some cases also saves energy since a client does not need to poll a server when there is no new As smartphones are usually behind a Network Address Translator (NAT) and a firewall, they often use a private IP address rather than a public one As a result, an server cannot
3 initialize a TCP connection to a smartphone Therefore, push requires a persistent TCP connection between a client and a server so that the server can send new s to the client over the persistent TCP connection For example, Microsoft Exchange supports push by Direct Push [1] A client first connects to a server using TCP To receive push s, the client uses a long-standing HTTP POST (the protocol used by smartphones to talk to a Microsoft Exchange server is called Exchange ActiveSync [2] which is on top of HTTP) request to ask the server to respond within a time period, eg, 15 minutes Then the smartphone can go to sleep or standby mode If the server has new s within the 15 minutes, it pushes the s to the client Otherwise, the server will send a HTTP 2 OK message to the client who then sends another long-standing HTTP POST to the server Push usually works only on cellular networks (eg, 3G) but not on Wi-Fi This is because the coverage of cellular networks is pervasive, and the cellular module of a smartphone can work independently from the smartphone s Operating System When the OS is in sleep mode, the cellular module remains connected and can receive data from the cellular network After receiving a data packet from an server (or any other servers), the cellular module will generate an interrupt to wake up the OS The execution of the client is resumed, and the can be pushed from the server In contrast, Wi-Fi networks usually have a small amount of coverage and roaming between different Wi-Fi networks breaks the persistent connection required by push Furthermore, on some smartphones, the Wi-Fi interface is usually turned off when the OS is asleep, and hence the Wi-Fi interface cannot receive any data Therefore, in this paper, we focus on studying sync on cellular networks Even on a cellular network, the carrier operator may tear down a TCP connection if it is idle for too long (a common timeout threshold is 1 minutes), to release the resources allocated for the TCP connection in the NAT and firewall clients on smartphones handle this issue by sending a keep-alive message to the server before the timeout is reached, eg, a PING message used in Direct Push [1] 3 Profiling Energy Cost of Sync In this section we measure and analyze the power performance of existing clients on smartphones We first describe the experimental setup and then report the results and findings 31 Experimental Setup We have studied sync behaviors on two smartphone platforms: Windows Phone and Android For the WP platform, we used a Samsung Omnia 7 smartphone running Windows Phone 75 We used the built-in client provided by WP For the Android platform, we used a Samsung sec Figure 1: Power trace of receiving a push on Android using Exchange service Nexus S smartphone running Android ICS 44 We also used the built-in client provided by Android Both clients support different services Our study uses two popular services: Microsoft Exchange and Google s Gmail, examining both push and poll All experiments were conducted in Beijing, China, using the 3G network of China Unicom Monsoon Power Monitor [3] was utilized to measure the power consumption of smartphones We focused on the power consumption of the connected standby mode That is, we measured the energy cost of receiving s without any user interaction and the screens of the smartphones were off while receiving The disruption from other concurrent operations is rare in this situation, so we do not consider it in this work 32 Measurement Results 321 Stages of receiving an We measured the power traces of receiving an on the two platforms Figure 1 shows the power trace of receiving a small-push using the Exchange service on Android This consisted of 2 KB random text content and the total data received was 1 KB including all headers and metadata We can see there are several major stages in receiving this At the beginning, the smartphone was in sleep mode with little power consumption (about 3 mw) When the server pushed the to the smartphone over the 3G network, the 3G interface and operating system of the smartphone woke up We call this the Wakeup stage Then the client received and processed this , which is called the Receive stage The last stage was 3G tail time when the 3G interface stayed in a high power state but no network traffic was occurring We call this the Tail stage After the Tail stage, the 3G interface and the operating system went back to sleep The total time duration of receiving the is 1842 seconds The 3G tail time is controlled by the cellular module using a timer When there is no data packet transmission, the timer starts to count down If the network remains idle after the timer expires (eg, after 1 seconds), the 3G interface goes to sleep If there is a data packet that is sent or received, the timer is reset The 3G tail time is designed to reduce net- 4V ma
4 work latency From Figure 1, we can see that it takes about two seconds for the 3G interface to wake up from sleep mode During the 3G tail time, the 3G interface can keep active for continuous network traffic, avoiding wakeup latency We also measured the power trace in receiving the same on Android through polling The overall procedure is very similar to the pushing case and consists of the same three major stages (ie, Wakeup, Receive and Tail) The difference is that, in the polling case, the operating system first wakes up itself (via a timer based on the polling interval) and then proactively wakes up the 3G interface for querying the server instead of being interrupted by the 3G interface passively The total time duration of receiving the is 1854 seconds, similar to the push scenario We further measured the power trace when receiving the same on WP through pushing Again it consists of the same three major stages However, compared to the Android cases, the total time for receiving the on the WP device is much shorter, taking only 724 seconds One reason is that the WP smartphone we used has a much shorter 3G tail time than the Android smartphone To confirm this, we conducted experiments to measure the 3G tail time on the two smartphones We found that the WP smartphone has a 3G tail time of about 5 seconds but the Android smartphone has a 3G tail time of 1 seconds This shows that the WP smartphone enables fast dormancy (see more details in Section 4), a technique to shorten 3G tail time, but the Android smartphone does not We also measured power traces of other combinations for receiving For example, using Gmail service and pulling on WP, we observed the same three major stages in all the other power trace curves We conclude that it is a common pattern of receiving an Note that the stage markers in Figure 1 are just for illustration purposes, used instead of showing the exact duration of each stage In particular the Tail stage and the Receive stage may be overlapped For example, the 3G tail time may start immediately after all data transmissions are finished but before the data processing is done In addition, in all the above experiments, when the was received, the clients on both Android and WP had already stored 2 other s Later in this Section we will see that the energy cost of receiving an may depend on inbox size, particularly with WP 322 Energy cost of receiving an Table 1: Average energy cost of receiving a small with various configurations Configuration Energy Cost (mj) Android + Exchange + Push 14,976 Android + Exchange + Poll 14,674 Android + Gmail + Push N/A Android + Gmail + Poll 2,75 WP + Exchange + Push 5,429 WP + Exchange + Poll 5,659 WP + Gmail + Push 6,235 WP + Gmail + Poll 7,27 Android + Gmail App (Push) 12,931 To study the receiving performance of different configurations, we measured the energy cost of receiving the same 1 KB using various combinations of the two platforms (WP and Android), two services (Microsoft Exchange and Google Gmail) and two receiving approaches (push and poll), with an inbox of 2 messages Table 1 shows the average results Our first observation was that we can see that the energy cost on Android is much higher than the one on WP Aside from hardware differences, one reason is that the WP smartphone has a shorter 3G tail time than the Android smartphone as aforementioned The 3G tail time is five seconds shorter on WP, leading to about 2,736 mj energy saving In addition, as we will show later, WP has low energy cost of receiving when the inbox size is small Second, we could see that push and poll have very similar energy costs given the same service and platform On Android, the difference between push and poll is only 2% for the Exchange service, while this difference is less than 4% on WP For Gmail, the difference on WP is 13% This is reasonable because push and poll are fundamentally very similar: they receive the same s and do the same data processing work On Android, the default client does not support push for Gmail service and thus we do not have the number in Table 1 We also found that the energy costs of two services are similar on the same platform, although the Exchange service always consumes less For example, polling-based Gmail on Android takes 2,75mJ energy, but Exchange service with polling consumes 14,674 mj On WP, pushbased Gmail service takes 6,235mJ energy but the same service of Exchange requires 5,429 mj energy Despite this, different services might be different in implementation details; they are expected to have similar patterns due to the nature of the service In fact, Microsoft Exchange ActiveSync (EAS) protocol has been widely used for the synchronization of s, contacts, calendar, tasks and notes from a messaging server to a mobile device Many companies, including Google [11] and Apple [12], have licensed and adopted EAS in their own services for mail sync on mobile devices We also evaluated the Gmail application that is specifically designed for the Gmail service by Google on Android, which only supports push The last row of Table 1 shows the result We can see that it requires less energy,
5 Energy Cost (mj) Energy Cost (mj) 2, 16, Windows Phone Android 14,964 14,981 15,391 15,94 16,683 15,552 12, 11,16 8, 4, 5,155 5,458 6, Inbox Size (number of s) Figure 2: Energy cost of receiving a push of 1 KB using Exchange service with different inbox sizes (five trials per experiment) compared to the default client on Android This suggests that Google does some Gmail specific optimizations, probably on both the client side and the server side However, we do not know the technical details because the Gmail application is not open source Due to the similarity of push and poll , and the similarity of Exchange service and Gmail service, in the rest of this section, we focus more on Exchange push 323 Energy cost vs inbox size We measured the energy cost of receiving the same in different inbox sizes Inbox size is measured in terms of the number of s already received in the inbox on a smartphone We used the same small of 1 KB that we used in the aforementioned experiments Figure 2 shows the results using Exchange push Interestingly, we can see that the energy cost of receiving the same on WP highly depends on the inbox size When the inbox size is small, the energy cost is small and increases with the inbox size significantly For example, the energy cost when the inbox has 1, s is more than three times the energy cost when the inbox is as small as 2 s This is probably found by updating the metadata of the inbox database For example, to support conversation view, the client needs to group all the s of a conversation thread together Compared to WP, Android has a much flatter energy cost in different inbox sizes However, when the inbox size is small, the energy cost on Android is much higher than WP For example, when the inbox size is 2 s, Android consumes 19% more energy than WP Even if we exclude the extra energy cost (2,736 mj) of the long 3G tail time on Android, Android still needs 137% more energy than WP For large inbox size like 1, s, Android and WP have similar energy cost, with a small difference of 7% One may argue that 1, s are too many for smartphones as many users only download a small part of 3, 25, 2, 15, 1, 5, 14,981 15,978 16,335 2,256 22,227 1KB 5KB 1KB 5KB 1MB Size Figure 3: Energy cost of receiving an with various sizes (five trials per experiment) their whole inbox onto their smartphones, eg, only the recent s in the last few weeks However, with an informal survey, we found that some people do download a large number of s or even all their s onto their smartphones The main reason is that they can easily search s on smartphones, particularly when their smartphones do not have a data connection Furthermore, clients on smartphones usually store only headers and limited text content of bodies (eg, up to 5 KB bytes text) By default, attachments or embedded images are excluded Thus, today s smartphones have enough storage space to store a large number of s 324 Energy cost vs size We measured the energy cost of receiving an with different sizes As previously mentioned, smartphone clients usually download the header and a limited amount of the body for a new Users cannot specify the amount of data to be downloaded in both built-in clients on the two platforms Based on our observation, the client on WP receives very limited data, about only 1 KB including all headers The client on Android can receive up-to several hundred
6 Time Time Push notification from the server sync request to the server Push notification from the server New TCP connection request to the server Receive data from the server TCP/SSL handshakes sync request to the server Network idle PING message to the server Network idle Receive data from the server Figure 4: Network packets transmitted in receiving a push using Exchange service on WP Network idle PING message to the server KB of data (see more details in Section 326), more suitable for testing Consequently, we only measured the energy cost of receiving an with different sizes on Android Figure 3 shows the results with an inbox of 2 s The size is defined as the total received data size if the is completely received, including content, headers and metadata We decided the size of an using Outlook client on a PC Outlook client can download all the data and show the received data size We can see that the energy cost increases as the size gets larger but the difference is small, not proportional to the difference in sizes For example, when the size is changed from 11KB to 17KB, an increase of 873%, the increase in energy cost is only 31% This is for two reasons First, the size mainly contributes to the energy cost of receiving and processing the data, which is only a small part of the total energy consumption Second, for large s the Android client does not receive all the data For instance, an with a size of 5 KB and an with a size of 1, KB have similar amounts of data written to the flash storage (336 KB vs 34 KB) 325 Network activities in receiving an To find out what happened behind the energy cost, we profiled the network activities of the clients when receiving an To do that, we captured the network data packets received and sent by the clients On Android, we used Tcpdump [4] to save all the network packets for offline analysis For WP, we did not have a tool to capture packets Thus, instead of using 3G, we conducted experiments on receiving s over Wi-Fi To make push work over Wi-Fi, we kept the smartphone on at all times so that it could receive s pushed from the server Then we used Wireshark [5] on a laptop to capture all network packets of the smartphone transmitted in the air Figure 4 shows the packets (excluding TCP ACKs) transmitted in receiving the small sized 1KB on WP pushed from the Exchange server Basically, the client first received notification of the new incoming from Figure 5: Network packets transmitted in receiving a push using Exchange service (the same one used for Fig 4) on Android the server over the previously established TCP connection Then it started to fetch the from the server and processed it After that, the client sent out a PING message packet to the server to wait for the next incoming new We can see that there is a network-idle time period between the PING packet and the prior burst data transmission During this time period, the client is processing the received We found that this processing time increases with inbox size As shown in Table 2, with an inbox size of 2 s, it was 5 seconds but increased to 1 seconds when the inbox had 1, s Figure 5 shows the network packets transmitted on Android when receiving the same push from the same Exchange server Compared to WP, the network activities on Android are different as follows First, instead of using the same TCP connection to fetch a new , after receiving a notification over the existing TCP connection, the Android client establishes a new TCP connection to the server to receive the new Doing so introduces some overhead on TCP and SSL handshakes between the client and the server, where 12data packets (69KB in total) are transmitted Second, on Android there are two network-idle time periods One is between the sync request sent from the client to the server and the server s reply The other one is after receiving the burst event data and before the final PING message sent from the client to the server However, unlike WP, the network-idle time periods do not depend on inbox size Table 2 also shows the total networkidle time on Android It bears no obvious relationship to the inbox size, ranging from 3 seconds to 46 seconds (36 seconds on average)
7 Energy Cost (mj) Energy Cost (mj) Table 2: Network idle time during receiving Inbox size (number Network idle time (seconds) of s) WP Android , 9 3 4, , , 1, 8, 6, 4, Wakeup stage Receive stage Tail stage Table 3: Data size written to flash in receiving size (KB) , Data size (KB) , Inbox Size (number of s) 326 Storage activities in receiving an Besides the network activities, we also profiled the storage activities in receiving an For Android, we developed a tool to intercept the storage access APIs (eg, file reading and writing) to capture all the flash-storage operations of the client For WP, we couldn t develop such a tool due to the limited programmability offered by Windows Phone Therefore, we only conducted the flash-storage experiments on Android Table 3 shows the total amount of data written to flash storage for different incoming sizes We can see that the amount of data written to flash storage increases with size This is because the client needs to write the received data into the inbox database Thus, more data were written to flash storage for larger However, when the is very large, the data amount written to flash storage does not increase any more This is because the Android client limits the maximum data received for s Unfortunately it does not provide an option for users to configure such a behavior The results show that the Android client immediately writes received data onto flash storage All flash operations in receiving an were distributed in a time period of one to two seconds, each writing a small amount of data As we will show in Section 43, small flash writes are time and energy expensive and should be avoided in receiving s 327 Energy distribution Finally we studied how the total energy cost of receiving an is distributed in the three stages of the power curves: Wakeup stage for the 3G interface and operating system to wake up, Receive stage for the receiving and processing, and Tail stage for the 3G tail time We denote the time duration of the Wakeup stage as the time period between the time when the smartphone wakes up and the time before receiving the notification packet from the server We define the time duration of the Tail stage as the time period between the time when the last packet is transmitted and the 12, 1, 8, 6, 4, 2, Wakeup stage Receive stage Tail stage Inbox Size (number of s) Figure 6: Energy distribution among the three stages in receiving an with different inbox sizes Top: on WP Bottom: on Android time when the smartphone goes to sleep again We treat the rest of time as the time duration of the Receive stage Figure 6 shows the results We can see that the Wakeup stage takes stable and fixed energy costs on both WP ( mj) and Android (979-1,22 mj) no matter how big the inbox is The energy cost of the Tail stage is also quite stable on the two platforms On WP, the Tail stage takes 2,419-3,427 mj (2,866 mj on average) of energy but on Android it takes 5,832-6,37 mj (5,962 mj on average) of energy, due to the difference of 3G tail time on the two platforms Different from the Wakeup stage and the Tail stage, the energy cost of Receive stage depends on the inbox size Particularly for WP, the energy cost increases significantly with the inbox size, from only 144mJwhen the inbox size is 2 to 1,944 mj when the inbox size is 1, For Android, the numbers are relatively flat: 7,387 mj for inbox of 2 and 11,2 mj for inbox of 1, In addition, we can see that the Receive stage and Tail stage take more energy than the Wakeup stage The Receive stage takes 3% - 71% (49% on average) of the total energy cost on WP, and takes 52% - 61% (57% on average) of the total energy cost on Android For the Tail stage, it takes 22% - 51% (38% on average) of the total energy on WP, and takes 33% - 42% (37% on average) of the total energy cost on
8 Android Therefore, to reduce the energy cost of receiving s, we should focus on optimizing these two stages 33 Summary of Findings Based on above measurement results in Section 32, we can see that the existing smartphone clients are not energy efficient in following aspects First, the 3G tail time takes a large part of the total time of receiving an The 3G tail time is designed to reduce the network latency for burst data transmissions However, the inter-arrival time of incoming events is not short in the connected standby mode Occasional transmissions make the 3G tail time unnecessary in most cases Therefore, the energy is wasted on the 3G interface Second, the data transmission and processing are coupled together, leading to more wasted energy Receiving an is composed of the following steps: first is communicating with the server to receive some data, processing the received data locally, and then communicating with the server again The second step of the communication resets the 3G tail timer, causing the 3G interface on for longer time and thus wasting energy Third, the clients write data onto the flash storage when receiving an As we will show in Section 43, flash operations are energy-expensive and should be batched together to save energy Fourth, when the inbox size is large, receiving an costs more energy than small inbox case It is desirable to reduce the energy cost for a large inbox size Finally, on Android, the client always initializes a new TCP connection to the server to receive an Doing so wastes energy due to the duplicated TCP and SSL handshakes Next in Section 4 we propose techniques to address above energy inefficiency and reduce the energy cost of receiving Those techniques can also be used as general design guidelines to improve power performance of other applications on smartphones 4 Reducing Energy Cost of Sync From Figure 1, we can see that the baseline power, when the system is active but idle (eg, during the 3G tail time), can reach over 2 mw This means that once the 3G interface and the OS wake up, the smartphone will consume a large amount of energy even without doing any tasks Therefore, to reduce the energy cost of receiving an , one effective way is to shorten the total time period of receiving as much as possible In this section we show how we achieve it with five techniques, each of them addressing one energy inefficiency issue we observed in Section 3 41 Reducing 3G Tail Time The 3G tail time causes a lot of energy to be wasted in receiving s After a new is received and processed, the 3G interface enters the tail state in which the whole smartphone does nothing but consume energy While the 3G tail is designed to save energy and reduce latency in continuous network data transmissions, it is not suitable for the connected standby mode In the connected standby mode, the events received by a smartphone are pretty sparse, often arriving at a time period much longer than 3G tail time Thus, it is likely that the 3G tail time cannot cover multiple events To verify it, we measured the inter-arrival time of the s of four researchers at Microsoft Research Asia In total 31,33 s, only 13% s come within a tensecond time frame of previous one Therefore, a 3G tail time of ten seconds rarely covers more than one incoming s and thus wastes a considerable amount of energy The problem of wasted energy caused by the 3G tail time has already been identified recently To solve the problem, a technique called fast dormancy [7] has been proposed to force the 3G interface to quickly sleep faster than before, eg, five seconds rather than ten seconds However, rapid dormancy increases the signaling overhead of cellular networks if the sleep timers are too short In fact, in the early days of fast dormancy, some popular smartphones using aggressive timers have led to severe signaling channel congestions [25] Later the network-controlled fast dormancy was adopted by 3GPP in Release 8 [16] to reduce the signaling overhead caused by the fast dormancy Researchers have proposed to adaptively use the fast dormancy based on application traffic patterns [8, 9, 14, 18] For example, in [8] the authors proposed a tail optimization protocol based on fast dormancy In [9] a system has been built to predict the end of communication to invoke the fast dormancy without increasing the network signaling load We advocate for the fast dormancy to be used in connected standby As shown by our measurement results in Section 3, the WP smartphone we used enables fast dormancy and thus has a shorter 3G tail time than the Android smartphone We also agree with the authors in [8] and [9] for adaptive 3G tail time based on application traffic patterns In particular, because that network events are very sparse in the connected standby, 3G tail time still wastes energy even if fast dormancy is enabled In an ideal case, the 3G interface should go to sleep immediately after the event receiving is finished However, to avoid interference with other applications, individual applications must not directly control the 3G tail time Instead, we propose that the OS should provide a global service that collects the network usage information of all the applications running in connected standby, decides the shortest length of 3G tail time, and collaborates with the cellular network to put the 3G interface into sleep mode as quickly as possible, minimizing the energy waste of 3G tail time Due to the long inter-arrival time
9 Table 4: Energy and time cost of databasewriting Energy cost per (mj) Time cost per (ms) Database in memory Database on flash Database in memory Database on flash Individual writes Batch writes of network events in the connected standby, the signaling overhead is small 42 Decoupling Data Transmission from Data Processing Due to the 3G tail effect, data transmission should be decoupled from data processing to save energy In an ideal case, an client should first finish all network communication with a server and then process the received data, so that the 3G interface is able to go to sleep as soon as possible In receiving a push , there are three steps: 1) fetching the content from the server, 2) processing the received locally (eg, updating the inbox database), and 3) telling the server that it is ready to receive the next push and then go to sleep As we show in Section 3, in such a transmission-processing-transmission process, existing clients do the second transmission part after the processing part is finished, which seems a natural design choice due to the sequential nature but is not energy efficient During the data processing part, the 3G interface stays awake unnecessarily and the second data transmission resets the 3G tail timer, wasting energy For example, assume that the data processing needs two seconds and the power is 2 mw, 4 mj energy will be wasted Therefore, to save energy, an client should batch all its data transmissions together It should first fetch new content and immediately tell the server that it is ready to receive the next push before waiting for the processing to be finished Batching all data transmissions together may be difficult if a network protocol depends on the result of data processing For example, if an server requires an client to tell whether the processing is successful or not, the client cannot start the second data transmission part before the data processing part is finished We propose to solve this problem using speculative execution [6] That is, we predict the result of the data processing part and send the predicted result to the server without waiting for the data processing part to be finished If we find that the predicted result is wrong after the data processing part is finished, we can re-sync with the server If we can correctly predict the data processing results with a high probability, we can still batch data transmissions together to reduce the 3G tail effect To determine feasibility, we conducted an experiment to measure the failure rate of receiving and processing 1, s We found that all the 1, s were successfully processed without any error This indicates that the receiving is reliable and we can correctly predict the processing results with a high probability Therefore, it is possible to leverage speculative execution to save energy Furthermore, for Microsoft Exchange and Gmail services on smartphones, they do not depend on the processing results Thus, we can easily batch data transmissions and decouple them from data processing 43 In-Memory Data Processing Writing data to flash storage is slower than writing data to memory, particularly for small, random data writes [13, 14, 19] We conducted experiments to measure the performance difference of the flash storage and memory We used a Nexus S smartphone running Android 44 We inserted an of 27 bytes into a SQLite database for 1, times and measured averaged energy and time cost of inserting one We used the SQLite database because the Gmail client and the default client on Android use SQLite to store s The SQLite library provides two types of APIs to write data into a database: individual writes and batching multiple writes together as a transaction Thus, we measured the performance of writing the 1, s one by one and batching the 1, writes together Table 4 shows the results For individual writing, when the entire database was loaded in memory, the average energy and time cost per was just 1 mj and 1 ms When the database was stored on the flash storage, the corresponding energy and time costs increased to 32 mj and 55 ms For batching writes, when the database was loaded in memory, the average energy and time costs were 59 mj and 58 ms When the database was stored on flash storage, the corresponding figures were 64 mj and 65 ms Those results show that for small writes, flash storage costs much more energy (32 times) and takes much more time (55 times) than memory However, for writing a large amount of data together, the flash storage and memory have similar performance in terms of the energy and time costs Therefore, to reduce the energy and time cost in receiving, an client should not issue many small flash writes Instead, it should batch multiple small writes together and commit them to flash in a batch As mentioned before, clients on smartphones only download headers and up to several kilobytes of bodies Thus, the data received for a new is small However, as we show in Section 3, existing clients write received data of every to the flash storage immediately, which is not energy efficient Therefore, when an client receives a new , it should cache the received data in memory rather than writing them to flash immediately Once the client has received a sufficient number of s (eg, 1
10 s) or the cached data are larger than a threshold, it can flush all the data to flash storage together Furthermore, the client may also piggyback data writes with other activities For example, when the user turns on the smartphone to check s or use other applications, the client can write its cached data to flash As those flash writes share the same baseline power with other activities of the user, they will not introduce much extra energy or time overhead Database Manager App Process User Interface In-memory Cache Inbox RPC Exchange App Process Processor PING Engine Protocol Handler Delaying flash writes may cause data loss if the client or the smartphone crashes before the cached data are written to flash storage However, modern smartphone operating systems including Windows Phone, Android and ios all run each application in a separate protection domain (ie, the so called application based security model ) Failures of one application will not affect other running applications As a result, today s smartphones are more reliable and crash less than before Even when running out of battery, the operating system will terminate applications gracefully, to give them chance to save data onto flash Smartphone clients are also pretty reliable We measured the default client on Android by receiving 1, s and did not observe any failure or crash In addition, even if the client crashes before writing the cached data to flash storage, it can resync the s with the server Therefore, in-memory data processing is able to reduce the energy cost of receiving 44 Reusing Existing Network Connections In receiving s, clients should reuse existing network connections rather than making new ones In particular, for the push , because an client already maintains a persistent network connection with a server to receive notification of new incoming s, it should receive a new over the continuous network connection to save energy Even for a poll , when an client does a second polling before the network connection of the last polling times out, it should also reuse the previous network connection While it may be easy and natural to make a new network connection to receive every new , the energy cost may not be negligible As most services require a secure network connection, making a new network connection includes not only TCP layer handshakes but also SSL layer handshakes to negotiate the encryption method and exchange security keys As shown in our experiments on Android in Section 3, the overhead of making a secure TCP connection is not negligible Without transmitting any application data packets, it consumed 1,757 mj energy to make a TCP/SSL connection In total 69 KB data were transmitted between the client and server WP is more energy efficient It always reuses the same TCP connection to receive new s Persistent Inbox Database Flash Storage Android Operating System 3G Interface Figure 7: Implementation architecture 45 Data Structure Partitioning One interesting finding on WP is that the energy cost of receiving the same increases significantly when the inbox size is large On Android, the energy cost also increases with inbox size but the increase is not as significant as WP The possible reason is that when storing a new into the database of an inbox, it takes more time to update the metadata For example, the client needs to search the whole inbox to associate the new with the right conversation thread The cost of doing so depends on the inbox size In addition, when the inbox is too large to be loaded into the memory of the client, searching the inbox takes more energy and time due to the frequent flash operations To solve this problem and reduce the energy cost of receiving an , we propose partitioning a large inbox into two parts: one small inbox with recently received s (eg, s received in last two weeks) and one large inbox containing all remaining s The client only uses the small inbox to handling receiving That is, when receiving an , the client only inserts it into the small inbox and updates the metadata without using the large inbox Thus, the energy cost of receiving s is reduced even if a smartphone stores many s This approach is based on a key observation: most of the time users only need to check recent s on their smartphones Therefore, it is not necessary to touch all the s already stored in a smartphone in receiving new s When a user does need to access all the s, eg, in searching the whole inbox, the client can search both the small inbox and the large one to return the combined results As searching a whole inbox happens much more rarely than receiving s, inbox partitioning is able to save energy 5 Implementation Implementing the techniques proposed in Section 4 only requires modifications on the client side Since the Gmail application on Android and the built-in client
11 Energy Cost (mj) Energy Cost (mj) 3 25 Original Our Method 2 16 Original Our Method Incoming Size (KB) Inbox Size (number of s) Figure 8: Energy saving with different sizes Figure 9: Energy saving with different inbox sizes on WP are not open source, implementation is done on the built-in client of Android, which is accessible and widely used The source code we used is vanilla Android 44 with kernel 38 Figure 7 illustrates the architecture of our implementation, focusing on syncing and processing On Android the built-in client consists of two parts, each running in a separate process The first part is the network communication part which implements the protocol and handles all the communication details with the server to receive and send s For Exchange service, this part runs as an app named Exchange It runs in the background without a UI The other part is the data processing which processes received s and provides user interfaces to handle all the interaction details with users including reading s and composing s to send out It also deals with storage, saving s to and loading s from the SQLite database This part runs as an app named The app process and the Exchange app process exchange data through Remote Procedure Calls (RPCs) To decouple data transmission from data processing, we revised the Protocol Handler in the Exchange application to do all data transmissions without waiting for the Processor to finish processing a received Specifically, PING messages are sent via the PING Engine in Figure 7 In the original client, the PING Engine checks up in a two-second interval whether the Protocol Handler allows it to resume PING messaging after an receiving event ends So there is a delay between the completion of receiving an and the start of PING The energy is wasted because the cellular module has to delay its sleep mode We improved the signaling between the Protocol Hander and the PING Engine so that a PING message can be sent out immediately Thus, all data transmissions are batched together to save energy We also revised the Processor to report an error if anything is wrong in processing an so that the Protocol Handler 3G Tail Reduction Decoupling TCP Reuse In-memory Processing Small Cache Inbox ,757 1,757 Figure 1: Anatomy of total energy saving 2,448 1, 2, 3, Energy Saving (mj) can re-sync with the server In addition, we revised the Protocol Handler to receive s by re-using the existing TCP connection rather than making a new one, avoiding energy waste of TCP/SSL handshakes In the application, we added a new Database Manager, loading a small cache inbox into the memory to implement in-memory receiving On the flash storage, all the s are stored in a big database The Database Manager manages the data sync between the in-memory cache inbox and the persistent one on the flash storage When the user interacts with the smartphone or we receive more than a customized number of s, the Database Manager commits the new data onto the flash storage Android does not provide an API for fast dormancy and we cannot control the 3G tail time on the fly We have managed to enable fast dormancy on the Nexus S smartphone by flashing a new baseband firmware 6 Evaluation We evaluate our implementation by measuring the total energy saved in receiving an and the individual ones contributed by each technique we proposed and implement-
12 Energy Saving (mj) Energy Saving (mj) Energy Saving (mj) 5, 4, 3, 2, 1, 1,771 1,627 1,296 3,96 4,334 2, 1,5 1, ,224 1,627 1, Incoming Size (KB) Incoming Size (KB) Figure 11: Energy saving of decoupling data transmission from data processing in different sizes ed For all the experiments, we used Exchange push service with the original built-in client provided by Android and our revised one on a Nexus S smartphone For each experiment, we repeated for the procedure five times and report the average results with standard deviations Total energy saving Figure 8 shows the total energy saving of our revised client, compared to the original one when the inbox size is 2 s but the new incoming has different sizes On average the total energy saving is 443%, with a narrow range from 412% to 469% These results demonstrate that our proposed techniques are able to significantly reduce the energy cost of receiving The energy savings mainly come from the shortened receiving time On average our revised client reduces the time period of receiving the s by 476%, compared to the original one Figure 9 shows the total energy savings of our revised client in receiving a small of 1 KB with different inbox sizes Similar to Figure 8, we can see that our revised client is able to effectively reduce the total energy cost of receiving no matter how many s the inbox has The average energy saving is 458%, also with a small range from 399% to 513% Compared to Figure 8, the average energy saving is higher because when the is large, the received data volume becomes large and more energy will be saved by our proposed techniques, as shown later in this Section Energy saving of each technique Figure 1 shows the anatomy of the total energy saving in receiving the 1 KB with an inbox of 2 s For the total energy savings of 7,69 mj, the largest part comes from reducing 3G tail time which saves 2,448 mj (32%) energy Decoupling data transmission from data processing part and reusing TCP connections also save a significant energy cost, each with 1,757 mj (23%) The in-memory processing part and using small cache inbox part reduce relatively less energy, saving 86 mj (1%) and 922 mj (12%)energy, respectively Figure 12: Energy saving of in-memory data processing in different sizes 3, 2,5 2, 1,5 1, ,642 2, Total Inbox Size (number of s) Figure 13: Energy saving of using a small cache inbox for receiving with different total inbox sizes Reducing the 3G tail time and reusing the TCP connections have fixed energy savings, independent from incoming size and inbox size However, the energy saving of other techniques may depend on the size or inbox size Figure 11 shows how much energy can be saved by decoupling data transmission from data processing for different sizes We can see that generally the energy saving increases when the size becomes large The decoupling technique tries to batch all data transmissions together When the is large, more data is transmitted over the network and thus the energy saved by batching becomes large Similarly, Figure 12 shows how much energy can be saved by in-memory processing for different sizes We can see that the energy saving is high for large s This is because the processing cost (eg, writing operation) heavily depends on size Thus, when the size is large, processing the entirely with memory operations will save more energy Figure 13 shows the benefit of using a small cache inbox for receiving when the total inbox size is different The size of the small cache inbox we used is 2 Thus, the bene-
13 fit for the inbox size of 2 in Figure 13 is zero For a larger inbox size, we can see that the extra energy saving caused by using the small cache inbox increase as the total inbox size becomes large For the total inbox size of 1, s, the extra energy saving is 2,75 mj These results demonstrate the effectiveness of using the small cache inbox Note that in all the above experiments, we measured the energy cost of receiving individual s without counting the energy saving of batch writing multiple s onto flash In our implementation we batch 2 s together for writing their data onto flash By doing so, we can further save 634 mj energy per On average this increases the total energy saving of receiving a 1 KB to 499% in different inbox sizes Furthermore, we also calculate how much extra energy can be saved if we can put 3G interface into sleep immediately after the end of receiving an Doing so we can further save 2,448 mj of energy For receiving a 1 KB with an inbox size of 2, this will increase the total energy saving by 779% 7 Event Receiving in Other Applications Despite this paper focusing only on receiving, the techniques we proposed may also be applied to other applications Example applications include various social network applications such as Facebook and Twitter, locations based applications which receive notifications upon location changes, and many other applications which receive push notifications when new updates or new in-application content are available Similar to , when in standby mode, those applications maintain their own persistent connection or use a separate push notification service like Google client notification service [15] to keep connected to a server for receiving various events or poll changes from a server Such event receiving is very similar to receiving and follows the transmission-processing-transmission pattern Each event receiving also wakes up the 3G interface and a smartphone s entire operating system for a small amount of data transmission and processing Due to the similarity between receiving s and receiving other events, those applications may also have the issues with energy inefficiency we found in receiving, such as sparse data transmissions resetting 3G tail timer, frequent small flash writes, and making new network connections unnecessarily Therefore, our proposed techniques can be used as general design guidelines for those applications rather than specific techniques designed for receiving only We plan to investigate more applications to further study how the techniques we proposed in this paper may be used to reduce the energy cost of receiving events in connected standby In addition, recent tablet devices and other types of mobile devices have started to function like smartphones, keeping connected in standby mode to receive various network events including s For example, Windows 8 introduces a new connected standby power mode [17] to provide such support We also plan to study the power performance of applications on those devices and look for potential improvements 8 Related Work System power management Power management is important to mobile devices including smartphones due to the limited power supply of batteries All smartphone operating systems come with components to leverage hardware capabilities and manage system activities to save power, eg, adjusting screen backlight levels, running CPU at low frequency, putting network interfaces into sleep or killing power-hungry applications in low battery mode Various techniques have been proposed to reduce the power consumption of each key component of a smartphone such as the screen [22], CPU [24] and network communication [2, 23] However, even with good system-level and componentlevel power management, applications that are not well designed can still cause high energy consumption Finding energy bugs of applications Recently researchers have started to study how to improve the power performance of mobile applications by finding energy bugs Energy bugs are not real program bugs causing failures but they lead to unnecessarily high energy consumption For example, in [1] the authors proposed techniques for automatically finding non-sleep energy bugs in applications However, such a tool depends on pre-configured program patterns to find energy problems, eg, requiring a Wakelock to prevent the system from sleeping without releasing it, and only works for serious non-sleep bugs Authors in [21] built tools for developers to estimate the energy consumption of their applications and find potential energy inefficiency issues Our work focuses on finding energy inefficiency when receiving by measuring the energy performance of existing clients The techniques we proposed are complimentary with existing work and can be used as general design guidelines for other applications Fast dormancy The problem of the cellular data network tail has drawn a lot of attention Smartphone manufacturers have developed their own and inconsistent ways to reduce the energy cost of a cellular tail, which results in the standard approach called network-controlled fast dormancy in 3GPP [7, 8] Researcher also proposed schemes to reduce the power consumption of applications by using fast dormancy adaptively [8, 9] We believe that fast dormancy should be used in connected standby However, even with fast dormancy, there is still wasted energy in the event receiving during the connected standby due to very sparse network activities We propose that the OS should provide a global service to collect the network usage information of all the applications running in the connected standby When all the applications finish their event receiving, the service
14 works with the cellular network to immediately put the 3G interface into sleep mode and thus minimizes the energy waste of the 3G tail time in connected standby 9 Conclusions In this paper we have studied the power performance of sync on the Windows Phone and Android operating systems We conducted experiments to measure the energy cost of receiving in existing clients, using both push and poll s, with different services, sizes and inbox sizes Together with our analysis of the network and flash storage activities, the measured results indicate that existing clients are not energy-efficient in several aspects Besides 3G tail time, the main source of inefficiency stems from the coupling of the data transmission and data processing, which is a bad design choice in connected standby mode Frequent storage access, making new TCP connections to receive new s and updating a large inbox are further components that increase the time duration of sync and lead to energy waste Based on the experiment, we advocate that the fast dormancy should be used in the connected standby and propose other techniques to address the energy inefficiency of existing clients, including the decoupling of data transmission from data processing, in-memory processing, reusing existing network connections and using a small cache inbox to handle the sync We have implemented these techniques and evaluation results show that average energy savings reach 499% If we can put the 3G interface into sleep mode immediately after receiving an , the total energy savings can be increased to 779% Acknowledgement We thank our shepherd, Mahadev Satyanarayanan, and anonymous reviewers for their valuable comments and insightful feedback This project was supported in part by US National Science Foundation grants CNS and CA- REER Award CNS References [1] Microsoft Direct Pushhttp://technetmicrosoftcom/enus/library/cc539119aspx [2] Microsoft ActiveSync Command Reference Protocol Specificationhttp://msdnmicrosoftcom/enus/library/dd299441(v=exchg8)aspx [3] Monsoon Power Monitor [4] Tcpdump [5] Wiresharkhttp://wwwwiresharkorg/ [6] B W Lampson Lazy and Speculative Execution, talk at OPODIS, 26 [7] UE Fast Dormancy behavior 3GPP discussion and decision note RP-996, 29 [8] F Qian, Z Wang, A Gerber, Z M Mao, S Sen and O Spatscheck TOP: Tail Optimization Protocol for Cellular Radio Resource Allocation, In ICNP, 21 [9] P K Athivarapu, R Bhagwan, S Guha, V Navda, R Ramjee, D Arora, V N Padmanabhan and G Varghese RadioJockey: Mining Program Execution to Optimize Cellular Radio Usage In Mobicom, 212 [1] A Pathak, A Jindal, Y C Hu and S P Midkiff What is keeping my phone awake? Characterizing and Detecting No-Sleep Energy Bugs in Smartphone Apps In MobiSys, 212 [11] Google adopts Microsoft sync protocol, [12] Apple finally acknowledges iphone's Exchange support, [13] A Carroll and G Heiser An Analysis of Power Consumption in a Smartphone In Usenix ATC, 21 [14] S Deng and H Balakrishnan Traffic-Aware Techniques to Reduce 3G/LTE Energy Consumption In CoNEXT, 212 [15] A Adya, G Cooper, D Myers and M Piatek Thialfi: A Client Notification Service for Internet-Scale Applications In SOSP, 211 [16] 3GPP Release 8, [17] P Stemen and S Berard Understanding Connected StandbyMicrosoft Build conference talk, 211 [18] F Qian, Z Wang, A Gerber, Z M Mao, S Sen and O Spatscheck Profiling Resource Usage for Mobile Applications: A Cross-layer Approach In Mobisys, 211 [19] H Kim, N Agrawal and C Ungureanu Revisiting Storage for Smartphones In FAST, 212 [2] H Han, Y Liu, G Shen, Y Zhang and Q Li DozyAP: Power-Efficient Wi-Fi Tethering In MobiSys, 212 [21] R Mittal, A Kansal, and R Chandra Empoweringdevelopers to estimate app energy consumption InMobiCom, 212 [22] M Dong and L Zhong Chameleon: a color-adaptiveweb browser for mobile oled displays InMobiSys, 211 [23] F Dogar, P Steenkiste and K Papagiannaki Catnap: Exploit High Bandwidth Wireless Interfaces to Save Energy for Mobile Devices In Mobisys, 21 [24] M Ra, B Priyantha, A Kansal and J Liu Improving Energy Efficiency of Personal Sensing Applications with Heterogeneous Multi-Processors In UbiComp, 212 [25] How smartphones are bogging down some wireless carriers
Managing Mobile Devices Over Cellular Data Networks
Managing Mobile Devices Over Cellular Data Networks Best Practices Document Best Practices Document www.soti.net We Manage Mobility TABLE OF CONTENTS UNIQUE CHALLENGES OF MANAGING DEVICES OVER CELLULAR
Communication Protocol
Analysis of the NXT Bluetooth Communication Protocol By Sivan Toledo September 2006 The NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth
Digi Cellular Application Guide Using Digi Surelink
Introduction Digi s SureLink is a mechanism to help maintain persistent wireless connections. It contains four main components: 1. Mobile Link Rx Inactivity Timer 2. SureLink Settings - Hardware Reset
How To Synchronize With A Cwr Mobile Crm 2011 Data Management System
CWR Mobility Customer Support Program Page 1 of 10 Version [Status] May 2012 Synchronization Best Practices Configuring CWR Mobile CRM for Success Whitepaper Copyright 2009-2011 CWR Mobility B.V. Synchronization
Exchange Administrators will be able to use a more secure authentication mechanism compared with username and password
Summary Product: Version: Mail for Exchange for Nokia Mail Symbian Anna Date: May 2011 What s New? Support for Certificate Based Authentication Exchange Administrators will be able to use a more secure
Microsoft Exchange ActiveSync Administrator s Guide
Microsoft Exchange ActiveSync Administrator s Guide Copyright 2005 palmone, Inc. All rights reserved. palmone, HotSync, Treo, VersaMail, and Palm OS are among the trademarks or registered trademarks owned
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
pc resource monitoring and performance advisor
pc resource monitoring and performance advisor application note www.hp.com/go/desktops Overview HP Toptools is a modular web-based device management tool that provides dynamic information about HP hardware
Exchange ActiveSync Configurations for GroupWise
Exchange ActiveSync Configurations Introduction ISD's Exchange ActiveSync server allows mobile device users to fetch email, contacts and appointments from GroupWise. Some devices don't require any new
Exchange 2010 ActiveSync: Connection
Westlands School Exchange 2010 ActiveSync: Connection Staff mobile phone email access Exchange 2010 ActiveSync provides Westlands School Staff with external access to their school email account from a
GO!Enterprise MDM Device Application User Guide Installation and Configuration for Android
GO!Enterprise MDM Device Application User Guide Installation and Configuration for Android GO!Enterprise MDM for Android, Version 3.x GO!Enterprise MDM for Android 1 Table of Contents GO!Enterprise MDM
Troubleshooting BlackBerry Enterprise Service 10 version 10.1.1 726-08745-123. Instructor Manual
Troubleshooting BlackBerry Enterprise Service 10 version 10.1.1 726-08745-123 Instructor Manual Published: 2013-07-02 SWD-20130702091645092 Contents Advance preparation...7 Required materials...7 Topics
Configuration Guide BES12. Version 12.1
Configuration Guide BES12 Version 12.1 Published: 2015-04-22 SWD-20150422113638568 Contents Introduction... 7 About this guide...7 What is BES12?...7 Key features of BES12... 8 Product documentation...
Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0
Configuration Guide BlackBerry Enterprise Service 12 Version 12.0 Published: 2014-12-19 SWD-20141219132902639 Contents Introduction... 7 About this guide...7 What is BES12?...7 Key features of BES12...
How to configure your mobile devices post migrating to Microsoft Office 365
How to configure your mobile devices post migrating to Microsoft Office 365 1 Contents Purpose... 3 Document support boundaries... 3 Examples used in this document... 3 ipad and iphone (ios 4.x and 5.x)...
Empowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research
Empowering Developers to Estimate App Energy Consumption Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research Phone s battery life is critical performance and user experience metric
ONE Mail Direct for Mobile Devices
ONE Mail Direct for Mobile Devices User Guide Version: 2.0 Document ID: 3292 Document Owner: ONE Mail Product Team Copyright Notice Copyright 2014, ehealth Ontario All rights reserved No part of this document
Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference
Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
GO!Enterprise MDM Device Application User Guide Installation and Configuration for Android with TouchDown
GO!Enterprise MDM Device Application User Guide Installation and Configuration for Android with TouchDown GO!Enterprise MDM for Android, Version 3.x GO!Enterprise MDM for Android with TouchDown 1 Table
NHSmail and mobile devices overview
NHSmail and mobile devices overview Version: V.7 Date: May 2011 THIS INFORMATION IS FOR NHS STAFF AND IS NOT TO BE DISTRIBUTED OR COPIED OUTSIDE OF THE NHS Version 7 Crown Copyright, May 2011 Contents
Setup Guide-Mobility ActiveSync Hosted Exchange Configuration
Setup Guide-Mobility ActiveSync Hosted Exchange Configuration Live Customer Support: 866-428-0128 Mobility Setup ActiveSync Page 2 of 15 Setup Instruction for Mobile Device Connection to Exchange ActiveSync
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
GREEN HOUSE DATA. E-Mail Services Guide. Built right. Just for you. greenhousedata.com. Green House Data 340 Progress Circle Cheyenne, WY 82007
GREEN HOUSE DATA Built right. Just for you. E-Mail Services Guide greenhousedata.com 1 Green House Data 340 Progress Circle Cheyenne, WY 82007 Table of Contents Getting Started on Business Class Email
Setup Guide-Mobility. ActiveSync Hosted Exchange Configuration
Setup Guide-Mobility ActiveSync Hosted Exchange Configuration Document Revision: November 2011 ARS Admin Guide / Table of Contents Page 2 of 16 Mobility Setup ActiveSync / Introduction-Overview Page 3
Q. I use a MAC How do I change my password so I can send and receive my email?
Password Change FAQ Q. I use a MAC How do I change my password so I can send and receive my email? A. First point a browser to http://www.redlands.edu/passwordmanager and change your password. Afterward,
Features of AnyShare
of AnyShare of AnyShare CONTENT Brief Introduction of AnyShare... 3 Chapter 1 Centralized Management... 5 1.1 Operation Management... 5 1.2 User Management... 5 1.3 User Authentication... 6 1.4 Roles...
How To Monitor And Test An Ethernet Network On A Computer Or Network Card
3. MONITORING AND TESTING THE ETHERNET NETWORK 3.1 Introduction The following parameters are covered by the Ethernet performance metrics: Latency (delay) the amount of time required for a frame to travel
Information Systems. Connecting Smartphones to NTU s Email System
Information Systems Connecting Smartphones to NTU s Email System Connecting Smartphones to NTU s Email System Contents Things to be aware of before you start 3 Connecting a Windows Mobile 6 (6.0-6.5) Phone
An Untold Story of Middleboxes in Cellular Networks
An Untold Story of Middleboxes in Cellular Networks Zhaoguang Wang 1 Zhiyun Qian 1, Qiang Xu 1, Z. Morley Mao 1, Ming Zhang 2 1 University of Michigan 2 Microsoft Research Background on cellular network
Configuration Guide BES12. Version 12.2
Configuration Guide BES12 Version 12.2 Published: 2015-07-07 SWD-20150630131852557 Contents About this guide... 8 Getting started... 9 Administrator permissions you need to configure BES12... 9 Obtaining
SYMETRIX SOLUTIONS: TECH TIP August 2014
Controlling Symetrix SymNet, Jupiter and Integrator Series Products over the Internet Note: All the information below applies to the AirTools Voice Processor 2x and AirTools Multiband Processor 2m as well.
Android App User Guide
www.novell.com/documentation Android App User Guide ZENworks Mobile Management 2.7.x August 2013 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of
Chapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
Network Performance Monitoring at Small Time Scales
Network Performance Monitoring at Small Time Scales Konstantina Papagiannaki, Rene Cruz, Christophe Diot Sprint ATL Burlingame, CA [email protected] Electrical and Computer Engineering Department University
Setting Up Email on Your Palm. Treo 700wx Smartphone
Setting Up Email on Your Palm Treo 700wx Smartphone Intellectual property notices 2006 Palm, Inc. All rights reserved. Trademark, copyright, patent, and other intellectual property notices are set forth
Windows Phone 8.1 Mobile Device Management Overview
Windows Phone 8.1 Mobile Device Management Overview Published April 2014 Executive summary Most organizations are aware that they need to secure corporate data and minimize risks if mobile devices are
Rocket Mail Smartphone Configuration Guide. Version 2.0
Rocket Mail Smartphone Configuration Guide Version 2.0 Nick Sherman 3/1/2013 Android Configuration 1. From the Applications menu, select Email. This application may be named Mail on some versions of Android.
MOBILE ARCHITECTURE BEST PRACTICES: BEST PRACTICES FOR MOBILE APPLICATION DESIGN AND DEVELOPMENT. by John Sprunger
MOBILE ARCHITECTURE BEST PRACTICES: BEST PRACTICES FOR MOBILE APPLICATION DESIGN AND DEVELOPMENT by John Sprunger When developing mobile applications, there are a number of key challenges where architecture
DOCUMENT REFERENCE: SQ312-003-EN. SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper. May 2015
DOCUMENT REFERENCE: SQ312-003-EN SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper May 2015 SAMKNOWS QUALITY CONTROLLED DOCUMENT. SQ REV LANG STATUS OWNER DATED 312 003 EN FINAL JP
Mobile Computing/ Mobile Networks
Mobile Computing/ Mobile Networks TCP in Mobile Networks Prof. Chansu Yu Contents Physical layer issues Communication frequency Signal propagation Modulation and Demodulation Channel access issues Multiple
Configuration Guide BES12. Version 12.3
Configuration Guide BES12 Version 12.3 Published: 2016-01-19 SWD-20160119132230232 Contents About this guide... 7 Getting started... 8 Configuring BES12 for the first time...8 Configuration tasks for managing
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
Comparing Mobile VPN Technologies WHITE PAPER
Comparing Mobile VPN Technologies WHITE PAPER Executive Summary Traditional approaches for encrypting data in transit such as IPSec and SSL are intended for wired networks with high speed, highly reliable
Information Technology Services. Your mailbox is moving to the cloud. Here is what to expect.
Your mailbox is moving to the cloud. Here is what to expect. Table of Contents Information for Outlook Web App users:... 2 Information for Office 2007 and 2010 Professional users:... 2 Information for
ipad in Business Security
ipad in Business Security Device protection Strong passcodes Passcode expiration Passcode reuse history Maximum failed attempts Over-the-air passcode enforcement Progressive passcode timeout Data security
Deployment Guide. AX Series with Microsoft Exchange Server
Deployment Guide AX Series with Microsoft Exchange Server DEPLOYMENT GUIDE AX Series with Microsoft Exchange Server Table of Contents Introduction... 1 Prerequisites & Assumptions...1 Configuring AX for
Special Edition for Loadbalancer.org GmbH
IT-ADMINISTRATOR.COM 09/2013 The magazine for professional system and network administration Special Edition for Loadbalancer.org GmbH Under Test Loadbalancer.org Enterprise VA 7.5 Load Balancing Under
Monitoring the BlackBerry Enterprise Server
Monitoring the BlackBerry Enterprise Server eg Enterprise v6.0 Restricted Rights Legend The information contained in this document is confidential and subject to change without notice. No part of this
DHCP Failover: Requirements of a High-Performance System
DHCP Failover: Requirements of a High-Performance System A white paper by Incognito Software April, 2006 2006 Incognito Software Inc. All rights reserved. Page 1 of 6 DHCP Failover: Requirements of a High-Performance
Mobile Application Performance
Mobile Application Performance Tips & Tricks to Significantly Boost App Performance Ray Bennett Director, Microstrategy - Mobile Service Line 11km/s (7mps) Escape Velocity Performance Definition What is
Licensing Guide BES12. Version 12.1
Licensing Guide BES12 Version 12.1 Published: 2015-04-02 SWD-20150402115554403 Contents Introduction... 5 About this guide...5 What is BES12?...5 Key features of BES12... 5 About licensing...7 Steps to
MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?
MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? Ashutosh Shinde Performance Architect [email protected] Validating if the workload generated by the load generating tools is applied
DOCUMENT REFERENCE: SQ312-002-EN. SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper. March 2014
DOCUMENT REFERENCE: SQ312-002-EN SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper March 2014 SAMKNOWS QUALITY CONTROLLED DOCUMENT. SQ REV LANG STATUS OWNER DATED 312 002 EN FINAL
AkrutoSync 4.0 User Guide
AKRUTO AkrutoSync 4.0 User Guide Welcome Thank you for choosing AkrutoSync. AkrutoSync can synchronize your Contacts, Calendar and Tasks between Outlook on your computer and your Windows Phone. AkrutoSync
White Paper. Anywhere, Any Device File Access with IT in Control. Enterprise File Serving 2.0
White Paper Enterprise File Serving 2.0 Anywhere, Any Device File Access with IT in Control Like it or not, cloud- based file sharing services have opened up a new world of mobile file access and collaborative
District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification
1.1 Multipoint Control Unit (MCU) A. The MCU shall be capable of supporting (20) continuous presence HD Video Ports at 720P/30Hz resolution and (40) continuous presence ports at 480P/30Hz resolution. B.
Design Issues in a Bare PC Web Server
Design Issues in a Bare PC Web Server Long He, Ramesh K. Karne, Alexander L. Wijesinha, Sandeep Girumala, and Gholam H. Khaksari Department of Computer & Information Sciences, Towson University, 78 York
Installation and Setup: Setup Wizard Account Information
Installation and Setup: Setup Wizard Account Information Once the My Secure Backup software has been installed on the end-user machine, the first step in the installation wizard is to configure their account
Lab Exercise 802.11. Objective. Requirements. Step 1: Fetch a Trace
Lab Exercise 802.11 Objective To explore the physical layer, link layer, and management functions of 802.11. It is widely used to wireless connect mobile devices to the Internet, and covered in 4.4 of
QuickSync: Improving Synchronization Efficiency for Mobile Cloud Storage Services
QuickSync: Improving Synchronization Efficiency for Mobile Cloud Storage Services Xin Wang Department of Electrical and Computer Engineering Stony Brook University Stony Brook, New York, USA [email protected]
Office of Information Technology Connecting to Microsoft Exchange User Guide
OVERVIEW The Office of Information Technology is migrating its messaging infrastructure from Microsoft Exchange 2003 to Microsoft Exchange 2010. Moving to the latest technology will provide many enhancements
Kony Mobile Application Management (MAM)
Kony Mobile Application Management (MAM) Kony s Secure Mobile Application Management Feature Brief Contents What is Mobile Application Management? 3 Kony Mobile Application Management Solution Overview
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Chapter 15: Advanced Networks
Chapter 15: Advanced Networks IT Essentials: PC Hardware and Software v4.0 1 Determine a Network Topology A site survey is a physical inspection of the building that will help determine a basic logical
Using email over FleetBroadband
Using email over FleetBroadband Version 01 20 October 2007 inmarsat.com/fleetbroadband Whilst the information has been prepared by Inmarsat in good faith, and all reasonable efforts have been made to ensure
1 Outlook Web Access. 1.1 Outlook Web Access (OWA) Foundation IT Written approximately Dec 2010
Foundation IT Written approximately Dec 2010 1 Outlook Web Access With the new version of Exchange 2010 Outlook Anywhere has been enabled and configured with a secure socket layer (SSL) certificate from
Thingsquare Technology
Thingsquare Technology Thingsquare connects smartphone apps with things such as thermostats, light bulbs, and street lights. The devices have a programmable wireless chip that runs the Thingsquare firmware.
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page
Deploying iphone and ipad Security Overview
Deploying iphone and ipad Security Overview ios, the operating system at the core of iphone and ipad, is built upon layers of security. This enables iphone and ipad to securely access corporate services
Android support for Microsoft Exchange in pure Google devices
Android support for Microsoft Exchange in pure Google devices Note: The information presented here is intended for Microsoft Exchange administrators who are planning and implementing support for any of
File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi
File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi History of FTP The first proposed file transfer mechanisms were developed for implementation on hosts at M.I.T.
How Do I Remove My Office 365 Account From An iphone, ipad or ipod Touch?... 1
How Do I Remove My Office 365 Account From An iphone, ipad or ipod Touch?... 1 How Do I Set Up My Office 365 Account On An iphone, ipad or ipod Touch?... 3 How Do I Remove My Office 365 Account From A
Trepn plug-in for Eclipse FAQ
Trepn plug-in for Eclipse FAQ Introduction and Technical Problem Q: What is Trepn plug-in for Eclipse? A: The Trepn plug-in for Eclipse is a power profiling tool created by Qualcomm Technologies Inc. for
Secure Email Frequently Asked Questions
Secure Email Frequently Asked Questions Frequently Asked Questions Contents General Secure Email Questions and Answers Forced TLS Questions and Answers SecureMail Questions and Answers Glossary Support
ipecs Communicator Installation and Operation Guide Please read this manual carefully before operating your set. Retain it for future reference.
ipecs Communicator Installation and Operation Guide ipecs is an Ericsson-LG Brand Please read this manual carefully before operating your set. Retain it for future reference. Revision History Issue Date
Oracle Beehive. Using Windows Mobile Device Release 2 (2.0.1.7)
Oracle Beehive Using Windows Mobile Device Release 2 (2.0.1.7) E28326-01 July 2012 Document updated July, 2012 This document describes how to access Oracle Beehive from your Windows Mobile device using
Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.
Load Balancing and Sessions C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002. Scalability multiple servers Availability server fails Manageability Goals do not route to it take servers
Deployment Guide. AX Series with Microsoft Office SharePoint Server
Deployment Guide AX Series with Microsoft Office SharePoint Server Table of Contents DEPLOYMENT GUIDE AX Series with Microsoft Office SharePoint Server Introduction... 1 Prerequisites & Assumptions...
Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace
Lab Exercise SSL/TLS Objective To observe SSL/TLS (Secure Sockets Layer / Transport Layer Security) in action. SSL/TLS is used to secure TCP connections, and it is widely used as part of the secure web:
Android 4.0.4 Support on Galaxy Nexus, Nexus S, and Motorola Xoom for Microsoft Exchange Policies
Android 4.0.4 Support on Galaxy Nexus, Nexus S, and Motorola Xoom for Microsoft Exchange Policies Overview Requirements Supported Information Services Supported Security Policies Require password Require
McAfee Enterprise Mobility Management 12.0. Performance and Scalability Guide
McAfee Enterprise Mobility Management 12.0 Performance and Scalability Guide Contents Purpose... 1 Executive Summary... 1 Testing Process... 1 Test Scenarios... 2 Scenario 1 Basic Provisioning and Email
NHSmail mobile configuration guide Android mobile devices
NHSmail mobile configuration guide Android mobile devices Version: V.6 Date: September 2011 THIS INFORMATION IS FOR NHS STAFF AND IS NOT TO BE DISTRIBUTED OR COPIED OUTSIDE OF THE NHS Version 6.0 Crown
A Robust Dynamic Load-balancing Scheme for Data Parallel Application on Message Passing Architecture
A Robust Dynamic Load-balancing Scheme for Data Parallel Application on Message Passing Architecture Yangsuk Kee Department of Computer Engineering Seoul National University Seoul, 151-742, Korea Soonhoi
RoadSync. Administrator s Guide. www.dataviz.com/roadsync. Mobilizing Microsoft Office Life for Businesses & Professionals Around the World
Access Corporate Outlook E-mail & Data on the World s Most Popular Smartphones via Secure, Wireless & Direct Synchronization with Microsoft Exchange 2003 RoadSync Administrator s Guide Mobilizing Microsoft
Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper
WP2 Subject: with the CRYPTO-BOX Version: Smarx OS PPK 5.90 and higher 0-15Apr014ks(WP02_Network).odt Last Update: 28 April 2014 Target Operating Systems: Windows 8/7/Vista (32 & 64 bit), XP, Linux, OS
Quick Start Guide: NotifyLink for Symbian Series 60, 3 rd Edition
Quick Start Guide: NotifyLink for Symbian Series 60, 3 rd Edition Service Requirements Your device will require one of the following: Cellular connection supporting data transmission through your mobile
Apple Mail... 36 Outlook Web Access (OWA)... 38 Logging In... 38 Changing Passwords... 39 Mobile Devices... 40 Blackberry...
Contents Email Accounts... 3 Adding accounts... 3 Account Modifications... 6 Adding Aliases... 7 Primary E-mail Addresses... 10 Mailbox Quotas... 12 Removing accounts... 13 Mail Forwarding and Distribution
TS-3GB-S.R0103-0v1.0 Network Firewall Configuration and Control (NFCC) - Stage 1 Requirements
TS-3GB-S.R0103-0v1.0 Network Firewall Configuration and Control (NFCC) - Stage 1 Requirements Mar 3,2005 THE TELECOMMUNICATION TECHNOLOGY COMMITTEE TS-3GB-S.R0103-0v1.0 Network Firewall Configuration and
MelbourneOnline Hosted Exchange Setup
MelbourneOnline Hosted Exchange Setup Your email on our Hosted Exchange servers can be accessed by multiple devices including PC, Mac, iphone, IPad, Android, Windows Phone and of course webmail. It s all
How to Install Microsoft Mobile Information Server 2002 Server ActiveSync. Joey Masterson
How to Install Microsoft Mobile Information Server 2002 Server ActiveSync Joey Masterson How to Install Microsoft Mobile Information Server 2002 Server ActiveSync Joey Masterson Copyright Information
SiteCelerate white paper
SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance
