590 likes | 607 Views
Mobile Communications Chapter 9: Mobile Transport Layer. Motivation, TCP-mechanisms Classical approaches (Indirect TCP, Snooping TCP, Mobile TCP) PEPs in general Additional optimizations (Fast retransmit/recovery, Transmission freezing, Selective retransmission, Transaction oriented TCP)
E N D
Mobile Communications Chapter 9: Mobile Transport Layer Motivation, TCP-mechanisms Classical approaches (Indirect TCP, Snooping TCP, Mobile TCP) PEPs in general Additional optimizations (Fast retransmit/recovery, Transmission freezing, Selective retransmission, Transaction oriented TCP) TCP for 2.5G/3G wireless
Transport Layer • E.g. HTTP (used by web services) typically uses TCP • Reliable transport between client and server required • TCP • Stream oriented, not transaction oriented • Network friendly: time-out congestion slow down transmission • Well known – TCP guesses quite often wrong in wireless and mobile networks • Packet loss due to transmission errors • Packet loss due to change of network • Result • Severe performance degradation Client Server TCP SYN TCP SYN/ACK Connection setup TCP ACK HTTP request Data transmission HTTP response >15 s no data GPRS: 500ms! Connection release
Motivation I • Transport protocols typically designed for • Fixed end-systems • Fixed, wired networks • Research activities • Performance • Congestion control • Efficient retransmissions • TCP congestion control • packet loss in fixed networks typically due to (temporary) overload situations • router have to discard packets as soon as the buffers are full • TCP recognizes congestion only indirect via missing acknowledgements, retransmissions unwise, they would only contribute to the congestion and make it even worse • slow-start algorithm as reaction
Motivation II • TCP slow-start algorithm • sender calculates a congestion window for a receiver • start with a congestion window size equal to one segment • exponential increase of the congestion window up to the congestion threshold, then linear increase • missing acknowledgement causes the reduction of the congestion threshold to one half of the current congestion window • congestion window starts again with one segment • TCP fast retransmit/fast recovery • TCP sends an acknowledgement only after receiving a packet • if a sender receives several acknowledgements for the same packet, this is due to a gap in received packets at the receiver • however, the receiver got all packets up to the gap and is actually receiving packets • therefore, packet loss is not due to congestion, continue with current congestion window (do not use slow-start)
Influences of mobility on TCP-mechanisms • TCP assumes congestion if packets are dropped • typically wrong in wireless networks, here we often have packet loss due to transmission errors • furthermore, mobility itself can cause packet loss, if e.g. a mobile node roams from one access point (e.g. foreign agent in Mobile IP) to another while there are still packets in transit to the wrong access point and forwarding is not possible • The performance of an unchanged TCP degrades severely • however, TCP cannot be changed fundamentally due to the large base of installation in the fixed network, TCP for mobility has to remain compatible • the basic TCP mechanisms keep the whole Internet together
Early approach: Indirect TCP I • Indirect TCP or I-TCP segments the connection • no changes to the TCP protocol for hosts connected to the wired Internet, millions of computers use (variants of) this protocol • optimized TCP protocol for mobile hosts • splitting of the TCP connection at, e.g., the foreign agent into 2 TCP connections, no real end-to-end connection any longer • hosts in the fixed part of the net do not notice the characteristics of the wireless part mobile host „wired“ Internet access point (foreign agent) standard TCP „wireless“ TCP
I-TCP socket and state migration access point1 socket migration and state transfer Internet access point2 mobile host
Indirect TCP II • Advantages • no changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all current optimizations to TCP still work • transmission errors on the wireless link do not propagate into the fixed network • simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile host • therefore, a very fast retransmission of packets is possible, the short delay on the mobile hop is known • Disadvantages • loss of end-to-end semantics, an acknowledgement to a sender does now not any longer mean that a receiver really got a packet, foreign agents might crash • higher latency possible due to buffering of data within the foreign agent and forwarding to a new foreign agent
Early approach: Snooping TCP I • “Transparent” extension of TCP within the foreign agent • buffering of packets sent to the mobile host • lost packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission) • the foreign agent therefore “snoops” the packet flow and recognizes acknowledgements in both directions, it also filters ACKs • changes of TCP only within the foreign agent correspondent host local retransmission foreign agent „wired“ Internet snooping of ACKs buffering of data mobile host end-to-end TCP connection
Snooping TCP II • Data transfer to the mobile host • FA buffers data until it receives ACK of the MH, FA detects packet loss via duplicated ACKs or time-out • fast retransmission possible, transparent for the fixed network • Data transfer from the mobile host • FA detects packet loss on the wireless link via sequence numbers, FA answers directly with a NACK to the MH • MH can now retransmit data with only a very short delay • Integration of the MAC layer • MAC layer often has similar mechanisms to those of TCP • thus, the MAC layer can already detect duplicated packets due to retransmissions and discard them • Problems • snooping TCP does not isolate the wireless link as good as I-TCP • snooping might be useless depending on encryption schemes
Early approach: Mobile TCP • Special handling of lengthy and/or frequent disconnections • M-TCP splits as I-TCP does • unmodified TCP fixed network to supervisory host (SH) • optimized TCP SH to MH • Supervisory host • no caching, no retransmission • monitors all packets, if disconnection detected • set sender window size to 0 • sender automatically goes into persistent mode • old or new SH reopen the window • Advantages • maintains semantics, supports disconnection, no buffer forwarding • Disadvantages • loss on wireless link propagated into fixed network • adapted TCP on wireless link
Fast retransmit/fast recovery • Change of foreign agent often results in packet loss • TCP reacts with slow-start although there is no congestion • Forced fast retransmit • as soon as the mobile host has registered with a new foreign agent, the MH sends duplicated acknowledgements on purpose • this forces the fast retransmit mode at the communication partners • additionally, the TCP on the MH is forced to continue sending with the actual window size and not to go into slow-start after registration • Advantage • simple changes result in significant higher performance • Disadvantage • further mix of IP and TCP, no transparent approach
Transmission/time-out freezing • Mobile hosts can be disconnected for a longer time • no packet exchange possible, e.g., in a tunnel, disconnection due to overloaded cells or mux. with higher priority traffic • TCP disconnects after time-out completely • TCP freezing • MAC layer is often able to detect interruption in advance • MAC can inform TCP layer of upcoming loss of connection • TCP stops sending, but does now not assume a congested link • MAC layer signals again if reconnected • Advantage • scheme is independent of data • Disadvantage • TCP on mobile host has to be changed, mechanism depends on MAC layer
Selective retransmission • TCP acknowledgements are often cumulative • ACK n acknowledges correct and in-sequence receipt of packets up to n • if single packets are missing quite often a whole packet sequence beginning at the gap has to be retransmitted (go-back-n), thus wasting bandwidth • Selective retransmission as one solution • RFC2018 allows for acknowledgements of single packets, not only acknowledgements of in-sequence packet streams without gaps • sender can now retransmit only the missing packets • Advantage • much higher efficiency • Disadvantage • more complex software in a receiver, more buffer needed at the receiver
Transaction oriented TCP • TCP phases • connection setup, data transmission, connection release • using 3-way-handshake needs 3 packets for setup and release, respectively • thus, even short messages need a minimum of 7 packets! • Transaction oriented TCP • RFC1644, T-TCP, describes a TCP version to avoid this overhead • connection setup, data transfer and connection release can be combined • thus, only 2 or 3 packets are needed • Advantage • efficiency • Disadvantage • requires changed TCP • mobility not longer transparent
Databases Data Hoarding and Caching • Large databases─ kept on servers, remote computing systems, or networks • A mobile device cannot store a large database • Retrieving the required data from a database • server during every computation─ impractical • due to time constraints
Hoarding (caching) of specific database in mobile devices A mobile device─ not always connected to the server or network, neither does the device retrieve data from a server or a network for each computation Rather, the device caches required specific data, which may be required for future computations, during the interval in which the device is connected to the server or network Hoarding of Cached Data Database architecture─ Two-tier or multi tier databases Databases reside at the remote servers and the copies of these databases are hoarded and cached at the client tier
Synchronizing the local copies at the device At tier 2 or tier 3, the server retrieves Server transmits the data record (s) to tier 1 using business logic and sends and synchronizes the local copies at the device Local copies function as device caches Advantage of hoarding No access latency (delay in retrieving the queried record from the server over wireless mobile networks) The client device API has instantaneous data access to hoarded or cached data After a device caches the data distributed by the server, the data is hoarded at the device Disadvantage of hoarding Needs maintain the consistency of the cached data with the database at the server
Distributed data caches in mobile devices Architecture of distributed data caches in mobile devices • Similar architecture to distributed cache memory in multiprocessor systems • • The copies cached at the devices are equivalent to the cache memories at the processors in a multiprocessor system with a shared main memory and copies of the main memory data stored at different locations
Architecture for a distributed cachememory in multiprocessor systems Data Caches at Client device • Using the pushed (disseminated) data records from a server • • Caching leads to a reduced access interval as compared to the pull (on demand) mode of data fetching • • Also reduces the dependence on pushing precedence at the server
Caching of data records at Client device 2. Can be based on pushed ‘hot records’ 3. Cost-based data replacement or caching─ Caching can be based on the ratio of two parameters access probability (at the device) and pushing rates (from the server) for each record Cost-based data replacement Method • Least frequently pushed records and the pushed records • having larger access time placed in the database at the • device . • • This access method, therefore, use the ratio of two • parameters average access time between two successive • instances of access to the record and pushing rates for the record
Pre-fetching Alternative to caching of disseminated data entails requesting for and pulling records that may be required later Perfetching ─ keeping future needs in view instead of caching from the pushed records Reduces server load Reduces the cost of cache-misses The term ‘cost of cache-misses’ refers to the time taken in accessing a record at the server in case that record is not found in the device database when required by the device API Cache consistency • Also called cache coherence • • Requires a mechanism to ensure that a database record identical • at the server as well as at the device caches and that only • the valid cache records are used for computations
Cache access Protocols based on Caching Invalidation Mechanisms Access protocols cached record at the client device invalidated ─ Due to expiry or modification of the record at the database server Cache invalidation A process by which a cached data item or record becomes invalid and thus unusable because of modification, expiry, or invalidation at another computing system or server. Cache invalidation mechanisms are means by which the server conveys this information to client devices Cache-invalidation mechanisms under the MESI protocol • Entail that each record (line) in a cache has a tag to specify its • state at any given instant and the tag is updated (modified) as soon • as the state of the record changes
MESI Protocol one of four possible tags Assigned cache state 1. M─ Modified (after rewriting) 2. E─ Exclusive 3. S─ Shared 4. I ─ invalidated (after expiry or when new data becomes available) at any giveninstance. Four possible states (M, E, S, or I) of a data record i at any instance at the server database and device j cache
Summary on Data Hoarding and Caching Two-tier or multi-tier databases Databases reside at the remote servers and the copies of these databases are cached at the client tiers Computing API at the mobile device (first tier) uses the cached local copy Architecture of distributed data caches in mobile devices and a similar architecture of distributed cache memory in multiprocessor systems Cache Access Protocols Cache Invalidation Mechanisms MESI protocol
2.Data Cache Consistency Maintenance inMobile and Web Environments Access Latency in mobile environment A device needs a data-record during an application, a request must be sent to the server for the data record─ mechanism called pulling Access latency─ the interval for the application software to access a particular record Data cache maintenance necessity in mobile environment Caching and hoarding the record at the device reduces access latency to negligible Data Cache inconsistency Means that data records cached for applications are not invalidated at the device when modified at the server but not modified at the device.
Methods for Cache consistencyMaintenance Cache invalidation mechanism (server initiated case): the server sends invalidation reports on invalidation of records (asynchronous) or at regular intervals (synchronous) Polling mechanism (client-initiated case): Polling means checking from the server, the state of data record whether the record is in valid, invalid, modified, or exclusive state Polling Method Each cached record copy polled (checked) whenever required The device connects to the server and finds out data record copy at the device become invalid or has been modified at the server If modified or invalidated, then the device requests for the modified data and replaces
Method of Time-to-live mechanism (client-initiated case) Each cached record assigned a TTL (time to- live) The TTL assignment is adaptive (adjustable) previous update intervals of that record After the end of the TTL, the client device polls for invalid or modified state If invalid or modified state found then the device requests the server to replace When TTL is set to 0, the TTL mechanism is equivalent to the polling mechanism Cache consistency Maintenance by Invalidation Mechanisms If the database server changes a data record (either read-only or writable), of which one or more client devices have copies (read-only), then the server-record invalidated, forcing all client devices that currently have copies of the record to give up (not use further in computations) their cache-copies
Four Cache InvalidationMechanisms Stateless asynchronous Device cache states are not maintained at the server The server advertises invalidation report On receiving an invalidation report, the client requests for or caches the new data record. Stateless synchronous Device cache states are not maintained at the server The server periodically advertises invalidation report The client requests for or caches the data on receiving the invalidation report If no report is received till the end of the period, the client requests for the report • Stateless asynchronous • Stateless synchronous • Stateful asynchronous • Stateful synchronous
Advantage of the asynchronous approach No frequent, unnecessary transfers of data reports Mechanism more bandwidth efficient Disadvantages of this approach Every client device gets an invalidation report, whether that client requires that copy or not Client devices presume that as long as there is no invalidation report, the copy is valid for use in computations Therefore, even when there is link failure, the devices may be using the invalidated data and the server is unaware of state changes at the clients after it sends the invalidation report Advantage of the synchronous approach Client devices receive periodic information regarding invalidity (and thus validity) of the data caches The periodic invalidation reports lead to greater reliability of cached data as update requests for invalid data can be sent to the server by the device-client. This also helps the server and devices maintain cache consistency through periodical exchanges
Disadvantage of the synchronous approach Unnecessary transfers of data invalidation reports take place Every client device gets an advertised invalidation report periodically, irrespective of whether that client has a copy of the invalidated data or not During the period between two invalidation reports, the client devices assume that, as long as there is no invalidation report, the copy is valid for use in computations Stateful asynchronous Device cache states are maintained at the server The server transmits invalidation report to concerned devices The client requests for new data on receiving the invalidation report and sends its new state after caching new record from the server Advantage of the stateful asynchronous approach • Server keeps track of the state of cached data at the client device • This enables the server to synchronize with the state of records at the device cache and keep the home locating cache (HLC) updated
Advantage of the stateful asynchronous approach • The stateful asynchronous mode is also advantageous in that only the affected clients receive the invalidation reports and other devices are not flooded with irrelevant reports. Disadvantage of the Asynchronous stateful • Client devices presume that, as long as there is no invalidation report, the copy is valid for use in computations. • Therefore, when there is a link failure, then the devices use invalidated data
Stateful synchronous • Device cache states maintained at the server • The server periodically transmits invalidation report to the concerned devices • The client requests for new data on receiving the invalidation report, and sends its new state after caching the new data. • If no report is received till the end of the period, the client requests for the report. Advantage of the stateful synchronous approach • Reports identifying invalidity (and thus, indirectly, of validity) at periodic intervals and that the server also periodically updates the client-cache states stored in the HLC • Enables to synchronize with the client device when invalid data gets modified and becomes valid. • Each client be periodically updated of any modifications at the server. • When the invalidation report is not received after the designated period and a link failure is found at the device, the device does not use the invalidated data • Instead it requests the server for an invalidation update. Disadvantage of the stateful synchronous approach • High bandwidth requirement to enable periodic transmission of invalidation reports to each device and updating requests from each client device
Web cache maintenance necessity • In a mobile environment to overcome access latency in downloading from websites due to disconnections Two methods for Web cache consistency maintenance • Time-to-live (TTL) mechanism (client initiated case) • Power-aware computing mechanism (client-initiated case): Each web cache maintained at the device can also store the CRC (cyclic redundancy check) bits • Summary • • Four methods of Cache Invalidation based cache consistency maintenance mechanism • Stateless asynchronous • stateless synchronous • stateful asynchronous • stateful synchronous mechanisms • • Polling and TTL methods for cache consistency maintenance for data • cache • • Similar methods for Web Cache • • Power aware method─ Poll for significant change in CR
3.Client–Server Computing and Adaptation Two Network Based Computing Architectures • Distributed Peer-to-Peer─ designed each node distributed computing node of the system, each node on the network similar resources and the various nodes can depend on each other resources • Client-Server─ designed such that a node is either a client or a server Client-Server Architecture in Mobile Environment • Client node has much less resources than server • Client nodes depend on server resources • A client requests the server for data or responses • The client can either access the data records at the server or cache these records through broadcasts or distribution from the server Client-server Computing • An N-tier architecture (N = 1, 2, …) • On the same computing system (not on a network), then the number of tiers, N = 1 • When the client and the server are on different computing systems on the network, then N = 2
Server networks or connecting to other computing systems • Connecting to other systems provide additional resources to the server for the client • Then N > 2 • N > 1 means that the client device at tier 1 connects to the server at tier 2 which, in turn, may connect to other tiers, 3, 4, and so on Application server in two-tier client– server computing architecture • Local copies 1 to j of database hoarding at the mobile devices) on client request • Synchronization API enables running of the application independently on the devices without the need for a run-time retrieval
APIs and Synchronization API • Various APIs synchronization with each other • Synchronization─ means that when copies at the server-end modifies, the cached copies accordingly modified • The APIs designed independent of hardware and software platforms as far as possible as different devices may have different platforms
Three-tier Client–Server Architecture • The application interface, the functional logic, and the database are maintained at three different layers • The database is associated with the enterprise server tier (tier 3) • Only local copies of the database exist at mobile devices • Database at the backend system of an enterprise (company) that holds IBM DB2, Oracle, and other databases • Server at Tier 2 connects to the enterprise server through a connecting protocol. The enterprise server connects the complete databases on different platforms, for example, Oracle, XML, and IBM DB2
Connectivity of the synchronization cum- application server • To the enterprise server is by RPC, RMI, JNDI, or IIOP protocols • In case the application client at tier 1 connects to tier 2 using the Internet, the connectivity using HTTP or HTTPS N-tier Client–Server Architecture • When N is greater than 3, then the database is presented at the client through in-between layers • Four-tier architecture in which a client device connects to a data-presentation server at tier 2 • The presentation server then connects to the application server tier 3 • The application server can connect to the database using the connectivity protocol and to the multimedia server using Java or XML API at tier 4
Mobile-device number of interfaces (APIs) • PIM (personal information manager) interfaces for the calendar, contacts • Microsoft Outlook or Intelli sync Wireless e-mail • Lotus Notes (5x and 6x) • Lotus Organizer (5x and 6x) • APIs for IBM Web Sphere Everyplace Access, Blackberry Connect, Oracle Collaboration Suite, Secure Mobile Connections via VPN Client and Symantec Client Security 3.0, Fujitsu m Process Business Process Mobilizer. report Necessity for Client Server Computing with Adaptation • The data format differences in different cases for data transmitted from the synchronization server and those required for the device database and device APIs Client Server Computing with Adaptation • Two adapters (adaptation software) at a mobile device • An adapter for standard data format for synchronization at the mobile-device • Another adapter for the backend database copy, which is in a different data format for the API at the mobile-device
Adapter • Software to get data in one format or data governed by one protocol and covert it to another format or to data governed by another protocol
Adapters • Used for interchange between standard data formats and data formats for the API • IBM WebSphere Everyplace Access (WEA) provides adapters for synchronization objects (for example, XML format synchronization objects) and the objects of API databases (for example, for the PIM APIs) • Summary Two methods in Network Architecture for computing • Peer-to-Peer and Client Server • 1 Tier in which server and API at the mobile device itself • Two, three, four or N tier architecture • Use of presentation, synchronization, enterprise database servers • Client-server computing with Adapters for interchange between standard data formats and data formats for the API
4.Power and Context Aware Computing Power Aware Computing • Computing processes must be energy efficient as the power resources at mobile devices limited due size constraints and mobility requirements • Power-aware computing takes into account these constraints and devises methods to cut down the energy requirements of computing processes in mobile devices Power Aware Computing Methods 1. Data caching at the devices conserves power as multiple requests (for data) made by up linking need more energy • The server’s power not limited so the server can advertise the data records for the device caches 2. The cache invalidation mechanism conserves power as compared to other cache consistency maintenance mechanisms • The server advertises the invalidation reports to let the devices know about the invalidation of hoarded data
3. Records aggregated at the server or at the mobile device before transmission • Duplicate records can be suppressed and not transmitted • The state-information (unmodified) for a group of records transmitted • When a record modified, only the addition or deletion in a previously transmitted record is transmitted • The CRC information transmitted 4. Data sent by the number of sensor devices clustered and aggregated at a server-node • The clustered data record server communicates the aggregated data to a base station. • Aggregation reduces the power requirements as it reduces the number of packets or packet size 5. Protocol optimization • Optimized protocols use smaller size headers and need less frequent round trips than un-optimized protocols
Context • Dictionary meaning─ the circumstances that form the setting of an event, statement, or idea, and in terms of which it can be fully understood • Context refers to the interrelated conditions in which a collection of elements, records, components, or entities exists or occurs • Each message, data record, element, or entity has a meaning • But when these are considered along with the conditions that relate them to each other and to the environment, then they have a wider meaning Necessity of Context Aware Computing • Understanding of the context in which a device meant to operate, results in better, more efficient computing strategies Context Aware Computing • Context of a mobile device represents the circumstances, situations, applications, or physical environment under which the device being used • For example, the context is student when the device used to download faculty lectures or PowerPoint slides
Context Types in Context-aware Computing • Physical context • Computing context • User context • Temporal context • Structural context Physical Context Aware Computing • Assume that a mobile phone operating in a busy, congested area • The device is aware of the surrounding noises, then during the conversation, it can raise the speaker volume by itself and when the user leaves that area, the device can again reduce the volume • When there is intermittent loss of connectivity during the conversation • The device can introduce background noises by itself so that the user does not feel discomfort due to intermittent periods of silence
Context-aware computing system • Has user, device, and application interfaces such that, using these,the system remains aware • Aware of the past and present surrounding situations, circumstances, or actions • Aware of such as the present mobile network, surrounding devices or systems, • Aware of changes in the state of the connecting network • Aware of physical parameters such as present time of the day, presently remaining memory and battery power, presently available nearest connectivity, past sequence of actions of the device user, past sequence of application or applications, and previously cached data records, and takes these into account during computations Structural Context • Consider example of structural context • Résumé ─ The fields for name, address, experience, and achievements of a person have an individual meaning. However, when put in a résumé, these fields acquire a significance beyond their individual meanings
Context Significance • This significance comes from the fact that data fields are now arranged in a structure which indicates an interrelationship between them • The structure of the résumé includes the records and their interrelationship and thus defines a context for these records Structural context • Context from the structure or format in which the records in a database are organized Implicit Context • Implicit context provides for omissions by leaving out unimportant details, takes independent world-views, and performs alterations in order to cope with incompatible protocols, interfaces, or APIs by transparently changing the messages
Context-aware Computing • Leads to application-aware computing • This is so because the APIs are part of the context (implicit or explicit contexts) • For example, when using an e-mail ID, a mail receiving or mail sending application software is used for computing • An application can adapt itself to the context • For example, if context is a contact, the phone-talk application will adapt itself to use of the telephone number from the ‘contact’ and to the use of GSM or CDMA communication Use of context in computing • Helps in reducing possibility of errors • Helps in reducing the ambiguity in the action(s) • Helps in deciding the expected system response on computations