mobile computing b tech 6th semester

49
5511201 Practical -1 AIM: Design a prototype that implements the cache management for a mobile computing environment. Introduction: With the explosive growth of wireless techniques and mobile devices such as laptops, personal digital assistants, people with battery powered mobile devices wish to access various kinds of services at any time any place. However, existing wireless services are limited by the constraints of wireless networks such as narrow bandwidth, frequent disconnections, and limitations of the battery technology. Thus, mechanisms to efficiently transmit information from the server to a massive number of clients (running on mobile devices) have received considerable attention. Caching frequently accessed data items on the client side is an effective technique to improve performance in mobile environment Average data access latency is reduced as some data access requests can be satisfied from the local cache thereby obviating the need for data transmission over the scarce wireless links. Due to the limitations of the cache size, it is impossible to hold all the accessed data items in the cache. As a result,cache replacement algorithms are used to find a suitable subset of data items for eviction. Cache replacement algorithms have been extensively studied in the context of operating system virtual memory management and database buffer management. In this context, cache replacement algorithms usually maximize the cache hit-ratio by attempting to cache the items that are most likely to be accessed in the future. The System Models :- 1. Mobile Computing Model: - In a mobile computing system, the geographical area is divided into small regions, called cells. Each cell has a 1

Upload: abhilash-abhi

Post on 17-May-2017

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Mobile Computing B tech 6th semester

5511201

Practical -1

AIM: Design a prototype that implements the cache management for a mobile computing environment.

Introduction:

With the explosive growth of wireless techniques and mobile devices such as laptops, personal digital assistants, people with battery powered mobile devices wish to access various kinds of services at any time any place. However, existing wireless services are limited by the constraints of wireless networks such as narrow bandwidth, frequent disconnections, and limitations of the battery technology. Thus, mechanisms to efficiently transmit information from the server to a massive number of clients (running on mobile devices) have received considerable attention.Caching frequently accessed data items on the client side is an effective technique to improve performance in mobile environment Average data access latency is reduced as some data access requests can be satisfied from the local cache thereby obviating the need for data transmission over the scarce wireless links. Due to the limitations of the cache size, it is impossible to hold all the accessed data items in the cache. As a result,cache replacement algorithms are used to find a suitable subset of data items for eviction. Cache replacement algorithms have been extensively studied in the context of operating system virtual memory management and database buffer management. In this context, cache replacement algorithmsusually maximize the cache hit-ratio by attempting to cache the items that are most likely to be accessed in the future.

The System Models :-

1. Mobile Computing Model: -In a mobile computing system, the geographical area is divided into small regions, called cells. Each cell has a base station (BS) and a number of mobile terminals (MTs). Inter-cell and intra-cell communications are managed by the BSs. The MTs communicate with the BS by wireless links. An MT can move within a cell or between cells while retaining its network connection. An MT can either connect to a BS through a wireless communication channel or disconnect from the BS by operating in the doze (power save) mode. The mobile computing platform can be effectively described under the client/server paradigm. A data item is the basic unit for update and query. MTs only issue simple requests to read the most recent copy of a data item. There may be one or more processes running on an MT. These processes are referred to as clients (we use the terms MT and client interchangeably). In order to serve a request sent from a client, the BS needs to communicate with the database server to retrieve the data items.

2. The Cache Invalidation Model: -Frequently accessed data items are cached on the client side. To ensure cache consistency, a cache management algorithm is necessary. Classical cache invalidation

1

Page 2: Mobile Computing B tech 6th semester

5511201

strategies may not be suitable for wireless networks due to frequent disconnections and high mobility of mobile clients. It is difficult for the server to send invalidation messages directly to the clients because they often disconnect to conserve battery power and are frequently on the move. For the clients, querying data servers through wireless links for cache invalidation is much slower than wired links because of the latency of the wireless links. As a solution, we use the IR-based cache invalidation approach [4] to maintain cache consistency. In this approach, the server periodically broadcasts an Invalidation Report (IR) in which the changed data items are indicated. Rather than querying the server directly regarding the validation of cached copies, the client can listen to these IRs over wireless channelsand use the information to invalidate its local cache. More formally, the server broadcasts an IR e very L seconds. The IR consists of the current timestamp Ti and a list of tuples (dx,tx) such that tx>(Ti-w*L)_, where dx _ is the data item id, tx _ is the most recent update timestamp of dx , and w is the invalidation broadcast window size. In other words, IR contains the update history of the past _ broadcast intervals.

The Caching Scenarios:

Caching recently accessed data in the server can significantly improve the performance of a mobile computing system. However, when the service handoff occurs and a new server takes over the running applications, the cache of the new server does not contain any data entry that was accessed by prior transactions. The new server thus loses its advantages for cache access after service handoff. In order to maintain the use of cache after service handoff, the new server should employ proper cache schemes that are suitable for such a mobile computing environment. This is the very problem we shall address in this paper.Generally speaking, three caching scenarios are considered in this study. The first one is to access cache data in the server (to be referred to as FLB, standing for “from local buffer”). Since the server processes the transactions from mobile users, the buffer of the server contains recently used data. Second, one may utilize a coordinator buffer to cache data for the mobile computing system (to be referred to as FCB, standing for “from thecoordinator buffer”). As mentioned above, the mobile computing system is of a distributed server architecture, in which data sharing can be achieved by allowing acoordinator to have a coordinator buffer keeping data to be shared by all servers. It has been reported that a coordinator buffer is useful in improving the system performance and scalability. The third scheme is to access cache data from the prior server of running transactions (to be referred to as FPS, standing for “from the previous server cache”). Clearly, this scheme is included for our evaluation due to the very nature of mobile computing.

2

Page 3: Mobile Computing B tech 6th semester

5511201

Fig1. A cache retrieval problem in mobile computing system

Above figure illustrates a scenario for cache retrieval when service handoff occurs. In the beginning, served by server A, mobile user 1 submits a transaction to server A. According to the transaction properties, server A will use either FCB or FLB to pre-cache some data in its cache when the transaction starts to process. Suppose that server A uses FCB to pre-cache data and mobile user 1 moves to a new service area which is covered by server B. The running applications of mobile user 1 will be transferred to server B for execution. Then, server B may use one of the three schemes: FPS (i.e., server A), FCB (i.e., coordinator buffer) and FLB (i.e., from its own local buffer) for cache access. Clearly, the employment of proper cache schemes has a significant impact to the system performance and should be determined in light of the transaction properties and execution efficiency. The design and analysis of a dynamic and adaptive cache retrieval scheme (referred to DAR) that can adopt proper cache methods based on some specific criteria devised to deal with the service handoff situation in a mobile computing environment is the object of this study.The study on cache retrieval for a mobile computing system is different from that for a traditional database system not only in the related cost model but also due to the occurrence of service handoff.

Cache Retrieval Methods:

In a mobile computing system, mobile users submit transactions to the servers for execution, and the transactions request data pages from servers to process. In some applications, if data pages are referenced by transactions, these data pages have a tendency of being referenced again soon. This property is called temporal locality. For applications with temporal locality, the data pages which these transactions access can be further divided into two types of pages, namely, pages with intratransaction locality and pages with inter-transaction locality. Intra-transaction locality refers to the feature that the same data pages are usually referenced within a transaction boundary, meaning that these

3

Page 4: Mobile Computing B tech 6th semester

5511201

pages present temporal locality within a transaction. In contrast, inter-transaction locality refers to the feature that the same data pages are usually shared by some consecutive transactions.

Description of Three Caching Methods:-

We now describe three caching methods. As can be seen later, depending on the transaction properties, FLB, FPS and FCB have their own advantages.

i) FLB (Caching from Local Buffer):Clearly, since the server has its own local buffer, it could get cache data from its local buffer directly. In general, the server will fetch cache data due to cache miss in the beginning of transaction execution. This is usually called cache warm-up.

ii) FPS (Caching from the Previous Server):For a transaction with higher intra-transaction locality and lower inter-transaction locality, getting the cache data from the previous server is useful and effective for mobile computing. Let server SA contains the cache pages 44, 26 and 17, and the coordinator contains the cache pages 44, 39 and 40 after server SC writes its cache buffer. These transactions also share one page 44. Under the assumption that the characteristics of workload are of high temporal locality and with few common pages, the mobile user requests the cache pages 44, 26 and 18. As such, when service handoff occurs, getting the cache data from the previous server will be more effective than other schemes.

iii) FCB (Caching from Coordinator Buffer):If the transaction property is update-intensive and transactions possess higher inter-transaction locality, getting cache data from the coordinator buffer will be cost-effective. Let the sharing pages are 44 and 39. Assume that the mobile user is using the data pages 44, 39 and 18. When server SB which the mobile user is with gets the cache data from the coordinator, server SB will have the most recent pages 44 and 39, and only incur onecache miss for page 18 and one cache replacement for page 40. Clearly, FCB performs better than FPS in this case.

Three Phases of a Transaction:

As pointed out earlier, DAR, the dynamic and adaptive cache retrieval scheme we shall devise in this paper will employ proper cache methods to deal with the service handoff situation. The transaction processing can be divided into three phases, namely the initial phase, the execution phase and the termination phaseDuring the initial phase, the transaction sets up the processing environment (explicitly, the transaction identification, local variables, and cache entry table are created). The server creates the ‘cache entry table’, and two cache methods, FCB and FLB, will be considered. Note that since the transaction just started, FPS is not proper for this initial phase. These two methods will be evaluated to decide which one to be used for the initialphase. The second phase is the execution phase when the server is processing the transaction. If the server needs to do the service handoff when a mobile unit enters

4

Page 5: Mobile Computing B tech 6th semester

5511201

a new service area, the running transactions will migrate to a new server. The new server should then take over the running transactions seamlessly. As the new server sets upthe running environment, cache data will be retrieved by the new server using three schemes: FLB, FCB and FPS. We will evaluate these three schemes based on the corresponding transaction properties. The last phase of a transaction is the termination phase. In this termination phase, as the transaction execution finishes, the transaction will do the coordinator buffer write as well as activate the cache invalidation scheme to invalidate other caches in this mobile system. In essence, the dynamic and adaptive cache retrieval scheme (DAR) we devise willutilize the transaction properties and take the corresponding cost into consideration (i.e., cache miss and replacement) to evaluate effective cache retrieval methods in each transaction-processing phase.

Dynamic and Adaptive Cache Retrieval Schemes-

In this section, we shall first evaluate the performance of cache retrieval methods (i.e., FLB, FCB and FPS), and then use the results obtained to devise DAR. Explicitly, cache retrieval methods for the initial phase are examined in Section 1 and those for theexecution phase are examined in Section 2. Decision rules for DAR are derived in Section 3.

Caching Schemes for the Initial Phase-

Consider the example scenario in Figure 5 where a short transaction is executed by a mobile computer. The transactions are update-intensive and have many sharingpages. The transaction properties are taken into consideration to decide which scheme to use. Qualitatively speaking, since the transaction is update-intensive and has inter-transaction locality, FCB tends to perform better.Due to the inter-transaction locality, the buffer in the coordinator maintains many sharing pages and the server is thus very likely able to get pages from the coordinator buffer. On the other hand, when inter transaction locality is absent, FLB tends to perform better than FCB because that cache retrieved from FCB will incur cache replacement, which does not happen when FLB is used.

Caching Schemes for the Execution Phase-

We now consider caching schemes for a transaction in the execution phase. With the transaction execution time being long enough, the transaction processing will migrate to a new server due to the movement of a mobile unit. It can be seen from the examples in Section 2 that temporal locality is a very important factor to be evaluated for determining which caching scheme to employ.

Deriving Decision Rules for DAR:By taking into consideration the transaction properties and the costs of cache miss and cache replacement, DAR will select an appropriate method in each phase of transaction processing. We shall conduct formula analysis and provide criteria for using DAR.

5

Page 6: Mobile Computing B tech 6th semester

5511201

Intra-transaction page probability represents the percentage of pages that demonstrate the intra-transaction locality, whereas inter-transaction page probability represents the percentage of pages that demonstrate the inter-transaction locality. The attributes of inter transaction page, such as read or update, depend on the update probability for inter-transaction pages. Each transaction is assumed to process an average of T pages. Also, the size of cache in the server buffer is S. CM and CR denotes the cache miss and the cache replacement cost of each page, respectively. A description of symbols is given below:

Table 1. Decision Rule for the Initial phase.

The number of inter-transaction pages among transactions can be expressed as T*. Then we consider the cache miss and cache replacement cost between FCB and FLB. Clearly, the FLB has CM*T caches miss cost.On the other hand, using FCB to retrieve cache, the cache contains T β inter-transaction pages and some other pages, which are not available in the cache. Clearly, accessing these pages incurs cache miss and replacement cost. This cost can be expressed as (CM+CR) (T-T β). To facilitate our presentation, we denote the minimal number of inter-transaction pages as ε, and use ε as a threshold to determine whether FCB or FLB should be used. Formally, ε is determined from following formula: (CM+CR)(T-ε)< CM*TThe minimal number of inter-transaction pages indicates that if the T β is larger than ε, one should use FCB. Otherwise FLB should be used. In brief, the decision rule is as follows.

Decision Rule for the Initial Phase:

Determine the minimal number of inter-transaction pages ε from (CM+CR)(T-ε)< CM*T If (T β>ε) then Using FCB else Using FLB.Decision Rules for the Execution phase

6

Page 7: Mobile Computing B tech 6th semester

5511201

According to the transaction properties, we evaluate the FPS and FCB to decide which one to employ. Specifically, the number of intra-transaction pages in a transaction is α T and the number of inter-transaction pages in a transaction is T β. We denote the minimalnumber of pages with temporal locality as σ. In general, if α T+T βis less than σ, meaning that temporal locality are not prominent, FLB is used. However, if the transaction property has prominent temporal locality (i.e., α T+T βis larger than σ), we shall select the schemes from FCB or FPS. Specifically, use FPS if α/β> (meaning that intra transaction locality is the major temporal locality), and use FCB if α/β<φ (meaning that inter-transaction locality is the major temporal locality). Use FPS or FCB to retrieve cache, the cache contains intra-transaction, inter-transaction pages and some other pages which are not available in the cache. Hence, the extra page access incurs cache miss and replacement cost. Therefore, similarly to the derivation in Section 3.1, we can determine σ as follows.

(T-σ)(CM+CR)<CM*T

Once the corresponding thresholds, i.e., ε, φ and σ, are determined for DAR, one can employ these decision rules derived in the initial phase and in the execution phase for the selection of proper cache methods.

Decision Rule for the Execution Phase

Determine the minimal number of temporal locality pages σ from (CM+CR)(T-σ)< CM*T If (α T+T β) >σ) then

Using FLB else

α/β>φ_=> using FPSα/β<φ=> using FCB

Conclusion:

We examined in this several cache retrieval schemes to improve the efficiency of cache retrieval. In particular, we analyzed the impact of using a coordinator buffer to improve the overall performance of cache retrieval. In light of the temporal locality of transactions, we devised a Dynamic Adaptive cache Retrieval scheme (DAR) that can adopt proper cache methods based on some specific criteria devised to deal with the

7

Page 8: Mobile Computing B tech 6th semester

5511201

service handoff situation in a mobile computing environment. The performance of these cache retrieval schemes was analyzed and a system simulator was developed to validate our results. It was shown by results that temporal locality had a significant impact on the performance of cache retrieval methods. Specifically, FPS performed best for transactions with prominent inter transaction locality whereas FCB outperformed others for transactions with prominent inter-transaction locality. By adaptively adopting the advantages of different cache retrieval methods, DAR performed very well and was particularly effective for a mobile computing environment.

8

Page 9: Mobile Computing B tech 6th semester

5511201

Practical -2

AIM: Design a system: The challenges of developing high performance, high reliability and high quality software systems are too much for ad-hoc and informal engineering techniques that might have worked in the past on less demanding systems. New techniques for managing these growing complexities are required to meet today’s time to market , productivity and quality demands.

Introduction:

With the increasing trends of networking and mobility come many Interesting opportunities and difficult problems. Mobile computing allows a user to use a computer as if they were physically attached to a network but are actually freely moving around in the environment. Unfortunately, to support this mobility places several restrictive restraints on the system including weight and size limitations, battery restrictions, and lower bandwidth communications. Algorithms that implement mobile communications must recognize these factors and guarantee a level of usage satisfactory for the users. The main problems associated with networking including naming and routing are even more difficult in a mobile environment as the mobile units are allowed to move. Ad hoc mobile networks are temporary networks of intercommunicating mobile units which interact without using an established connection infrastructure either because an infrastructure does not exist or it is not practical to use it. Ad hoc mobile networks are even more complex than mobile networks involving fixed stations because mobile units may act as hosts causing problems due to mobile unit migration and lesser reliability.

Ad Hoc Mobile Networking

Ad-hoc networks are mobile networks that operate in the absence of any fixed infrastructure, employing peer-to-peer communication to establish network connectivity. These networks have a wide range of applications such as disaster relief and field operations, war front activities, and communication between automobiles on highways. Group communication or multicast is a natural requirement for many of these applications and the reliability of the multicast protocol could affect their performance significantly. Ad-hoc networks function under severe constraints such as mobility of nodes, insufficient power and memory on mobile devices,and bandwidth restriction of the wireless medium.

An ad hoc mobile network is a collection of intercommunicating mobile hosts forming a temporary network without using as established network infrastructure. Such temporary networks have applications in remote areas or disaster zones where no infrastructure exists. Also, small temporary networks are useful in situations where an existing infrastructure is too expensive or provides weaker performance than direct connections.These situations include exchanging files between two users, connecting laptops at a conference, or even temporary networks of vehicle-mounted transmitters.

9

Page 10: Mobile Computing B tech 6th semester

5511201

Adhoc N/W Architecture:

An ad hoc wireless network system enables a group of wireless terminals to autonomously construct a network and communicate with each other without any intermediary land lines. This research focuses on path-control systems and techniques for improving the performance of TCP communications in ad hoc networks. While it's true that many path-control systems already exist for ad hoc networks, the focus of our research is finding ways of raising TCP communication performance while taking the path-control system into Account.

Reliability In Ad-Hoc N/Ws (anonymous gossip protocol )

In recent years, a number of applications of ad-hoc net-works have been proposed. Many of them are based on the availability of a robust and reliable multicast protocol. The proposed protocol for enhancing works in two phases. In the first phase, any suitable protocol is used to multicast a message to the group, while in the second concurrent phase, the gossip protocol tries to recover lost messages. Our proposed gossip protocol iscalled Anonymous Gossip(AG) since nodes need not know the other group members for gossip to be successful. This is extremely desirable for mobile nodes, that have limited resources, and where the knowledge of group membership is difficult to obtain. This method can be implemented on top of any of the tree-based and mesh-based protocols with little or no overhead, and without affecting the scalability of the underlying protocol. MAODV is a reactive protocol that dynamically creates and maintains a multicast tree for each group. It is an adaptation of AODV, a unicast routing protocol Each node running MAODV maintains two routing tables: Route Table(RT) and Multicast Route Table(MRT).The Route Table is used for recording the next hop for routes to other nodes in the network. Each entry in RT contains a destination IP address, a destination sequence number, hop count to the destination, IP address of next hop, and the lifetime of this entry. The destination sequence number tracks the freshness of the route to that destination. A source node S trying to send a message to a node B, first looks for a route to B in its RT. If a valid route is not found, S broadcasts a route request message called RREQ. A node receiving this RREQ message can unicast a route reply RREP to S if it is the destination node or if it has a fresh enough route to B. Otherwise

10

Page 11: Mobile Computing B tech 6th semester

5511201

the node broadcasts the RREQ to its neighbors. The source node S selects the shortest among the freshest routes from the received RREPs and adds the entry in the Route Table. Nodes relaying the RREQs and the RREPS add the reverse and forward route entries into their Route Table respectively. The Multicast Route Table contains entries for multicast groups of which the node is a router (i.e., a node in the multicast tree). Each entry in this table contains the multicast group IP address, the group leader IP address, the group sequence number, hop count to the group leader, the next hops, and the lifetime. The next hops are the nodes in the multicast tree to which this node is connected. Each next hop entry has an enabled flag to indicate a potential but not yet activated entry. The next hop that is closer to the group leader is called the upstream node. A node S that is not a part of the multicast tree can join the multicast group by broadcasting a RREQ message with the join flag set. Any node in the multicast tree can respond to a Join RREQ by unicasting an RREP back to S. These RREQs and RREPs are processed similar to unicast routing.In addition, nodes receiving Join RREQs also add entries with enabled flag false in their MRT. The node S selects a suitable route from the RREPs and sends an activation message called MACT along this route. All nodes receiving the MACT message change the enabled flag to true in their entries. Any group member, which is a leaf node in the multicast tree can leave the group by sending a MACT message to its upstream node with the prune flag set. A nodereceiving a Prune MACT deletes the sender from its next hop table. If it is a non-group member that has now become a leaf node, it leaves the group by sending a Prune MACT to its upstream node. Non-leaf nodes can leave a multicast group but must continue to function as routers in the multicast tree. When a link breakage occurs between two nodes U and D of a multicast tree, only the downstream node D attempts to repair this link. This restriction is necessary to prevent formation of loops. D sends an RREQ with an extension containing the hop count to the group leader. Anymulticast tree member closer to the group leader than D can reply to this RREQ. In case D receives no replies within a certain time even after a few rebroadcast of the RREQ, the network is assumed to be partitioned and a new group leader is selected in the downstream sub-tree.

Performance Enhancement ThruIncrd Reliability:

The simulation results show that AG can improve the reliability of multicast routing protocols without the use of acknowledgements, and without adding significant overhead to them. Goodput is defined as the percentage of nonduplicate messages received through gossip replies to the total number of messages received through gossip replies. In other words goodput gives a measure of the redundant traffic more the goodput, more the number of useful messages carried by gossip replies and lesser is the redundancy. In our simulations goodput is measured at different group members for two values each of transmission range and maximum speed. In general the gossip rate should be tuned so that the network does not get congested and the goodput is nearly 100 percent.Performance decreases dramatically with the increasing size of the network. There is also degradation in performance with increase in mobility. The reasons for the poor performance can be attributed to two main aspects of the protocol.

11

Page 12: Mobile Computing B tech 6th semester

5511201

1. Buffer size In practice, is bounded, a situation could arise when old messages are still stored in most of the node buffers. This gives rise to a situation where newer messages cannot be accommodated since older messages have to be stored to provide the strong guarantees.

2. Use of ack messages. This proves to be very expensive in wireless networks where the physical layer is bandwidth constrained.

The advantage of this protocol is the reliability it provides for high-speed networks. On the other hand this protocol is extremely expensive since it generates a large number of messages, and may easily congest the network.

Performance In Adhoc N/Ws :

TCP performance in ADHOC n/ws can be increased using AODV routing dynamics. Many previous studies show that TCP performance in multi-hop wireless networks is poor .TCP throughput often decreases dramatically with the number of hops. The primary reason is link-layer packet losses caused by contention between data packets traveling in the same direction, and collisions between data packets and TCP ACK packets traveling in opposite directions.

AODV

In an ad hoc network, mobile nodes must communicate with each other to determine appropriate routes to use. One approach is the Ad-hoc On-demand Distance Vector (AODV) routing protocol. In AODV, mobile nodes advertise their presence in the network by broadcasting HELLO beacons periodically (e.g., once perSecond) to their neighbors. AODV uses three types of control packets for managing network routes. A Route Request (RREQ) packet is initiated by a sender that has no known route to a desired destination. A Route Reply (RREP) packet is returned by a node with a known route to the destination indicated in an RREQ. Each RREQ carries a (monotonically-increasing) sequence number so that the matching RREP can be determined. When an RREP is received in response to an RREQ, the sender 2 records the route received, and uses it for subsequent data packets sent to that destination. A Route Error (RERR) packet is returned by a node along a (formerly working) route that is no longer valid (perhaps because of node movement). AODV is designed to maintain fresh routes. A node updates its AODV routing table whenever it receives a control packet (RREQ, RREP, or RERR) with a higher sequence number than it has recorded in its routing table for a given destination.

Modification Done In Aodv

Frequent route breakages are undesirable. Route breakages trigger RERR packets and a renewed route discovery process, temporarily stalling the TCP data transfer for that sender.

12

Page 13: Mobile Computing B tech 6th semester

5511201

GRAPHICAL REPRESENTATION SHOWING ENHANCEMENT IN TFRC PERFORMANCE:

This graph shows effect of through put and offered load

Qos In Adhoc N/W :

Quality of service (QoS) is the performance level of service offered by the network to the user. The goal of QoS provisioning is to achieve a more deterministic network behavior so that information carried by the network can be better delivered and network resources can be better utilized. A network or a service provider can offer different kinds of services to the users. After accepting a service request from the user a network has to ensure that the service requirements of the user’s flow are met throughout the duration of the flow. The network has to provide a set of service guarantees while transporting a flow. After receiving a service request from the user, the first step is to find a suitable loop-free path from the source to the destination that will have the necessary resources available to meet the QoS requirement of the desired service. This process is known as QoS routing. After finding a suitable path a resource reservation protocol is employed to reserve necessary resources along that path.

Characteristics of adhoc wireless n/ws such as lack of central coordination, mobility of hosts, and limited availability of resources make QoS provisioning very challenging.

REAL- TIME TRAFFIC SUPPORT IN AD HOC WIRELESS NETWORKS

Real time applications require mechanism that guarantee bounded delay and delay jitter. Real-time applications can be classified as hard real-time applications and soft real-time applications. A hard real-time application requires strict QoS guarantees. Some of the

13

Page 14: Mobile Computing B tech 6th semester

5511201

hard real-time applications include nuclear reactor control systems; air traffic control systems and missiles control systems. In these applications failure to meet the required delay constraints may lead to disastrous results. On the other hand soft hand applications can tolerate degradation in the guaranteed QoS to a certain extent. Some of the soft real-time applications are voice telephony, video-on-demand and video conferencing. In these the loss of data and variation in delay and delay jitter may degrade the service but do not produce hazardous results. The research community is currently focusing on providing QoS support for applications that require soft real-time guarantees.

Qos Parameters In Ad Hoc Wireless Networks

QoS parameters differ from application to application. For example, in case of multimedia applications bandwidth. Delay jitter delays are the key QoS parameters whereas military applications have stringent security requirements. For applications such as emergency search and resque operations availability of the network is the key QoS parameter. Applications such as group communication in a conference hall require that the transmissions among nodes consume as little energy as possible. Hence battery life is the key QoS parameter. Issues And Challenges in Providing Qos in Ad Hoc Wireless Networks Ad hoc wireless networks have certain unique characteristics that pose several difficulties in provisioning QoS. Some of the characteristics are:

Dynamically varying network topology: Since the nodes in an ad hoc wireless network do not have any restriction on mobility, the network topology changes dynamically. Hence the admitted QoS sessions may suffer due to frequent path breaks, thereby reestablished over new paths.

Imprecise state information: In most cases, the nodes in an ad hoc wireless network maintain both the link-specific state information and flow specific state information. The link specific state information includes bandwidth delay, delay jitter, loss rate, error rate, stability, and cost and distance values for each link. The flow specific information includes session ID, source address, destination address and QoS requirements of the flow (such as maximum bandwidth requirement, minimum bandwidth requirement, maximum delay and maximum delay jitter). The state information is inherently imprecise due to dynamic changes in network topology and channel characteristics.

Lack of central coordination: Ad hoc wireless networks do not have central controllers to coordinate the activity of the nodes. This further complicates QoS provisioning in ad hoc wireless network.

Error-prone shared radio channel: The radio channel is a broadcast medium by nature. During propagation through the wireless medium, the radio waves suffer from several impairments such as attenuation, multipath propagation and interference.

Hidden terminal problem: This problem occurs when packets originating from two or more sender nodes which are not within the direct transmission range of each other collide at a common receiver node .it necessitate the retransmission of packets. Which may not be acceptable for flows that have stringent Qos requirements.

14

Page 15: Mobile Computing B tech 6th semester

5511201

Limited resource availability: Resources such as bandwidth, battery life storage space, and processing capability are limited in adhoc wireless networks. Hence, efficient resource management mechanisms are required for optimal utilization of these scarce resources.

Insecure medium: Due to broadcast nature of the wireless medium, communication through a wireless is highly insecure.

Design Issues

Hard state versus soft state resource reservation:In hard state, resources are reserved at all intermediate nodes along the path from source to destination throughout the duration of the QoS session. If this path is broken, these resources have to be released by ideal location mechanism. in soft state, reservation is maintained for small time interval. They get refreshed.

Stateful versus stateless approach:

In stateful approach, each node maintains either global state information, or local state information.In stateless approach, no such info is available. If global state info is available, the source node can use centralized routing algo to route packets to the destination. In latter, distributed routing algo is used.

Hard QoS versus soft QoS approach:

If qos requirement of a connection are guaranteed to be met for the whole duration of session, is termed as hard qosapproach.If these requirement are not guaranteed for the entire session, approach is termed as soft QoS approach.

15

Page 16: Mobile Computing B tech 6th semester

5511201

Practical -3

AIM: To study a peer to peer decentralized network system andresource management with in that system.

Peer to Peer communication system

There is no Client-Server architecture. There is no central node that manages the whole network. All the individual nodes manages their own network. All the nodes perform several task by their own. There is an END TO END communication.

Types of peer to peer networks

There are three types of peer to peer networks: Pure P2P Hybrid P2P Mixed P2P

Pure p2p :● There is no central node that manages the whole network.● There is no central router.● In this node plays the role of both client and server.

Hybrid p2p: In this central node exist. All the communication which take place between peers depends upon central

node In this the working and the work load of the server is entirely different from the

client server.

Mixed p2p: It contain both the features of pure p2p and hybrid p2p.

Peer to peer in mobile computing

Advances in wireless technology and mobile computing have provided a major impetus toward development of MobileAd-hoc Networks (MANET) and Personal-Area Networks (PAN). These networks are self-organizing networks comprised of wireless nodes .ad -hoc networks are short -lived networks. Examples of ad-hoc networks isBluetooth .The combination of mobile devices and ad-hoc networks allows the creation of highly dynamic, self-organizing, mobile peer-to-peer (p2p systems. In such systems, mobile

16

Page 17: Mobile Computing B tech 6th semester

5511201

hosts continuously change their physical location and establish peering relationships among each other based on proximity.

The Challenges of MobilePeer-to-Peer Computing

A mobile P2P system inherits many of the features of ad-hoc networks:

° Self-organizing: as side effect of the movement of devices in physical space, the topology of a mobile P2P system.constantly adjusts itself by discovering new communication links.

° Fully decentralized: each peer in a mobile peer-to-peer system is equally important and no central node exists.

° Highly dynamic: Since communication end-points can move frequently and independently of one another, mobile P2P systems are highly dynamic.

° Low cost: wireless ad hoc networks are built from low-cost transceivers and do not incur charges for provider access and air-time.The unique character of mobile peer-to-peer systems represents a significant challenge for the designer.

Challenges

Naming

Traditional (non mobile) P2P systems are characterized by an increasing decentralization and autonomy of hosts.Because accessing these decentralized resources means operating in an environment of unstable connectivity andunpredictable IP addresses, P2P systems often operate outside the DNS system. The same must be true for mobile p2p systems. Additional reasons for not relying on the DNS system are:° In ad-hoc networks, access to a central DNS server cannot be assumed° Not all mobile devices support IP networking and thus do not have IP addresses° Some mobile p2p applications, in particular for face-to-face collaboration, require the ability to identify not only peers, but also the people who run and use these peers.

Peer and Resource Discovery

One of the things that makes current P2P system so powerful is that they take advantage of resources -- storage, cycles, content, human presence -- available at the edges of the Internet. In a mobile P2P system mobile peers take advantage of resources provided by mobile peers that are physically close. Because of the unpredictable movement of mobile devices, discovering resources becomes a challenge. In ad-hoc networks, device

17

Page 18: Mobile Computing B tech 6th semester

5511201

discovery is part of the network; resource discovery, however, is the task of the peer system.

Data Sharing and Synchronization

A mobile ad hoc information system is basically a highly dynamic, decentralized distributed system with weaklyconnected mobile hosts. In order to cooperate to the fullest extent peers need to be able to share and synchronize data.

Security

The security implications of mobile p2p systems, in which one can potentially track every movement of an individual as well as examine what they are doing, must be taken seriously. In wireless ad-hoc networks users may not even be aware to which devices they are connected. Someone in the next room or on the floor above may connect to someone else's mobile device and gain access to private data such as stored e-mail, and meeting schedules. Thus, not only must encryption be employed to avoid eavesdropping, but also robust authentication procedures need to be established for connecting both trusted and non-trusted devices with each other. This, however, is made difficult by the fact that this must occur in a completely decentralized environment with no or intermittent connection to a trusted authority.

DecentralizationOne of the major concepts of peer-to-peer computing is decentralization. This includes distributed storage, processing, information sharing, etc.Decentralization means having no client server architecture i.e. having no central node. Even control information can be held in a distributed manner rather than centrally. The advantage of decentralization is an increased extensibility, higher system availability and improved resilience. On an application level decentralization can also imply a transferral of ownership and control (of data, information and computational resources) to the application users. However, there are also problems related to this property. In a completely decentralized and dynamic system it is difficult to get or maintain a global view of the system

Resource management support

Our general approach for resource management involvesproviding hard, soft and non real-time guarantees for local resources such as CPU and memory. In contrast, soft and non real-time guarantees are provided for communication resources. A static analysis is carried out for the hardguarantees which takes into account even the most rare eventwith a hard deadline. In the case of soft guarantees, most ofthe analysis is carried out at run-time.

18

Page 19: Mobile Computing B tech 6th semester

5511201

Resource management component framework

Overview. The resource management CF encompasses both a task model and a resource model. The task model permits the user to model resource management of both coarse- and fine-grained interactions. Hence, the task model allows for the high-level analysis and design of resource management for event systems. There is a close relationship between the task model and the resourcemodel. Tasks have an associated pool of resources which is defined by the resource model. More specifically, the resource model allows us to model different types of resources at multiple levels ofabstraction. Both coarse- and fine-grained resource configuration and reconfiguration are feasible. Further details of the task and resource models are given below

The task model.From the programmatic point of view, a task may involve either a single invocation sequenceor multiple invocation sequences. The simplest case for a sequence is where only one operation is invoked. A task is defined as a logical unit of computation which has an amount of resources allocated. Examples of tasks are activities performed by the system such as transmitting audio over the network or compressing a video image, which has an amount of resources assigned for its execution. The task model is concerned with both application services and middleware services. Thus, we take a task-oriented approach for managing resources in which services are broken into tasks and are accommodated in a task hierarchy. Top-level tasks are directly associated with the services provided by a distributed system. Lower-levels of this hierarchy include the partition of such services into smaller activities, i.e. Sub- tasks. Sub-tasks are denoted as follows: task. Sub-task. Sub-sub-task…This approach offers resource management modeling of both coarse- and fine-grained interactions. The former is achieved by defining coarse-grained tasks (i.e. tasks spanning components and address spaces boundaries) and the latter is done by using task partitioning. A task may span the boundaries of a component, an address space and even those of a node. Composite tasks include two or more sub-tasks and may involve either a single or multiple operation invocation sequences. In the former case, sub-tasks are interleaved whereas in the latter case sub-tasks are disjoint. Sub-tasks that are not further partitioned are called primitive tasks and are only related to a single operation invocation sequence. However, distributed tasks involve two or more nodes. It should be noted that sub- tasks may also be composite and even distributed. Finally, different tasks may be interconnected. For instance, a component running one task may invoke another component concerned with a different task. Such amethod invocation represents a task switching point. Thus, a task switching point corresponds to a change in the associated resource pool to support the execution of the task that has come into play.

Resource model. The most important elements of the resource model are abstract resources, resourcefactories and resource managers [19]. Abstract resources explicitly represent system resources. In addition, there may be various levels of abstraction in which higher-level

19

Page 20: Mobile Computing B tech 6th semester

5511201

resources are constructed on top of lower-level resource managers are responsible for managing passive resources such as memory or disk. Furthermore, resource schedulers are a specialization of managers and are in charge of managing processing resources such as threads or virtual processors (or kernel threads). Lastly, the main duty ofresource factories is to create abstract resources this purpose, higher-level factories make use of lower-level factories to construct higher-level resources. Theresource model then consists of three complementary hierarchies corresponding to the main elements of the resource model.

MOBI-DIC: MOBILEDIscovery of local Resources in Peer-to-Peer Wireless Network

in this we examine management of databases distributed among moving objects. The objects are interconnected by a Mobile Ad Hoc Network. Several inherent characteristics of this environment, including the dynamic and unpredictable network topology, the limited peer-to-peer communication bandwidth, and the need for incentive for peer-to-peer cooperation, impose challenges to data manage-ment. In this paper we discuss these challenges in the context of a database that represents resource information. The information is disseminated and queried by the moving objects in search of resources. We are currently building such a resource discovery engine called MOBI-DIC: mobiles DIscoveryofLoCal Resources.MOBI-DIC will enable quick building of matchmaking or resource discovery services in many application domains, including social networks, transportation, and mobile electronic commerce, emergencyexample, in a large professional, political, or social gathering, the technology is useful to automatically facilitate a face-to-face meeting based on matching profiles.

Peer-to-Peer File and Content Sharing Applications

Among the systems that feature most prominent in the peer-to-peer domain are user applications running on top (or at the edge) of the Internet allowing a large group of users to interact and share resources. Most popular are file or content sharing applications such as Napster, Gnutella, Mojo Nation, donkey and Free net. Napster was the first major system enabling the direct exchange and sharing of content. While the actual exchange of content in Napster is between peers, the discovery of the peers, however, is highly centralized (i.e. it is stored in a central directory) [2][4]. Gnutella provides a purely distributed file sharing solution without a central node. In the strict sense Gnutella is not an application but a protocol used to search for and share files. To find content and other peers a user has to know the IP address of at least one other Gnutella node

20

Page 21: Mobile Computing B tech 6th semester

5511201

Protection and Security

A number of security and protection issues are linked to peer-to-peer technology and applications. Traditional security mechanisms to protect data and systems such as firewalls cannot protect peer-to- peer systems since they are essentially globally distributed. On the contrary, such mechanisms can inhibit peer-to-peer communication. Therefore new security concepts are required that protect systems from intruders and attacks while still allowing interaction and distributed processing in peer-to-peer systems. Data can be protected by the use of encryption schemes such as public-key-private-key encryption. In order to protect IPR (Intellectual Property Rights) while still allowing the public use of content, signatures can be added to the data (e.g. techniques such as watermarking and steganography). . Other protection issues are related to privacy within a peer-to-peer system. Peer-to-peer systems are open by nature. The authorship, the publisher and consumer interactions (such as storage of material and query for certain topics) should be protected. Systems can be classified according to the privacy they provide. Multicasting and flooding can be used to protect the identity of a receiver/ requestor. Spoofing can be used to protect both, sender and receivers. A covered path can also be used in this context.

21

Page 22: Mobile Computing B tech 6th semester

5511201

Practical -4

AIM: Write program that implement the few sorting algorithms (Bubble, selection etc.) n data. It stops the operation when the counter for sorting index is at 100, 1000, 10000 and so on, stores the contents of the registers, program counter and partially sorted list of data, etc. It resumes the operation after 30 sec. from the point of the termination.

Solution:

#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<dos.h>

//Procedure for print work.

void printwork(intarr[1200]){int i;printf("\nSorted series is:");for(i=0;i<1200;i++){printf("%d\t",arr[i]);}}

//Procedure for implementation of bubble sort.

Void bubble sort (intarr [1200], intstart, int end){inti,j,temp=0;for(i=end-2;i>=0;i--){

for(j=0;j<=i;j++){

if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}

}}if(end==10){

22

Page 23: Mobile Computing B tech 6th semester

5511201

printf("\n10 Element sorted successfully.");delay(3000);bubblesort(arr,0,100);}if(end==100){printf("\n100 Element sorted successfully.");delay(3000);bubblesort(arr,0,1000);}if(end==1000){printf("\n1000 Element sorted successfully.");delay(3000);bubblesort(arr,0,1200);}if(end==1200){printwork(arr);}}

//Procedure for implementation of selection sort.

Void selection sort (intarr [1200], intstart, int end){inti,j,temp=0;for(i=start;i<end-1;i++){

for(j=i+1;j<end;j++){

if(arr[j]<arr[i]){temp=arr[i];arr[i]=arr[j];arr[j]=temp;}

}}if(end==10){printf("\n10 Element sorted successfully.");delay(3000);Selection sort (arr, 0,100);}if(end==100)

23

Page 24: Mobile Computing B tech 6th semester

5511201

{printf("\n100 Element sorted successfully.");delay(3000);Selection sort (arr,0,1000);}if(end==1000){printf("\n1000 Element sorted successfully.");delay(3000);Selection sort (arr, 0, 1200);}if(end==1200){printwork(arr);}}void main(){intarr[1200],i,choice;randomize();for(i=0; i<1200; i++){arr[i]=rand()%1000;}printf("Random generated series\n");for(i=0;i<1200;i++){printf("%d\t",arr[i]);}menu:printf("\n MENU:\n");printf("Enter 1 for bubble sort.\n");printf("Enter 2 for Selection sort.\n");printf("Enter your choice:");scanf("%d",&choice);if(choice==1){bubblesort(arr,0,10);}else if(choice==2){selectionsort(arr,0,10);}else{printf("Enter valid choice.");goto menu;}getch();}

24

Page 25: Mobile Computing B tech 6th semester

5511201

Output:

25

Page 26: Mobile Computing B tech 6th semester

5511201

26

Page 27: Mobile Computing B tech 6th semester

5511201

Practical -5

AIM: Write a program the implement the bubble sort for n data. It stops the operation when the counter for sorting index is at 100.1000.10000 and so on, stores the contents of the registers, program counter and partially sorted list of data, etc. It transfers the code and data across the network on the new destination and resumes the operation from the point of termination on the previous node. Finally the result from the last node in the itinerary is send back to the process-initiating node.

Solution:#include<stdio.h>#include<conio.h>#include<stdlib.h>

//Procedure for print work.

void printwork(intarr[1200]){int i;printf("\nSorted series is:");for(i=0;i<1200;i++){printf("%d\t",arr[i]);}}

//Procedure for implementation of bubble sort.

void bubblesort(intarr[1200],intstart,int end){inti,j,temp=0;

for(i=end-2;i>=0;i--){

for(j=0;j<=i;j++){

if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}

}}printwork(arr);

27

Page 28: Mobile Computing B tech 6th semester

5511201

}

void main(){intarr[1200],i,choice;randomize();for(i=0; i<1200; i++){arr[i]=rand()%1000;}printf("Random generated series\n");for(i=0;i<1200;i++){printf("%d\t",arr[i]);}printf("Press any key to start sorting...");getch();bubblesort(arr,0,1200);getch();}

28

Page 29: Mobile Computing B tech 6th semester

5511201

Output:

29

Page 30: Mobile Computing B tech 6th semester

5511201

Practical -6

AIM: Study of a cellular architecture.

A cellular network is a radio network distributed over land areas called cells, each

served by at least one fixed-location transceiver known as a cell site or base station.

When joined together these cells provide radio coverage over a wide geographic area.

This enables a large number of portable transceivers (e.g., mobile phones, pagers, etc.) to

communicate with each other and with fixed transceivers and telephones anywhere in the

network, via base stations, even if some of the transceivers are moving through more than

one cell during transmission.

Cellular networks offer a number of advantages over alternative solutions:

increased capacity

reduced power use

larger coverage area

reduced interference from other signals

An example of a simple non-telephone cellular system is an old taxi driver's radio system

where the taxi company has several transmitters based around a city that can

communicate directly with each taxi.

In a cellular radio system, a land area to be supplied with radio service is divided into

regular shaped cells, which can be hexagonal, square, circular or some other irregular

shapes, although hexagonal cells are conventional. Each of these cells is assigned

multiple frequencies (f1 - f6) which have corresponding radio base stations. The group of

frequencies can be reused in other cells, provided that the same frequencies are not

reused in adjacent neighboring cells as that would cause co-channel interference.

The increased capacity in a cellular network, compared with a network with a single

transmitter, comes from the fact that the same radio frequency can be reused in a different

area for a completely different transmission. If there is a single plain transmitter, only one

transmission can be used on any given frequency. Unfortunately, there is inevitably some

30

Page 31: Mobile Computing B tech 6th semester

5511201

level of interference from the signal from the other cells which use the same frequency.

This means that, in a standard FDMA system, there must be at least a one cell gap

between cells which reuse the same frequency.

Cell signal encoding

To distinguish signals from several different transmitters, frequency division multiple

access (FDMA) and code division multiple access (CDMA) were developed.

With FDMA, the transmitting and receiving frequencies used in each cell are different

from the frequencies used in each neighboring cell. In a simple taxi system, the taxi

driver manually tuned to a frequency of a chosen cell to obtain a strong signal and to

avoid interference from signals from other cells.

The principle of CDMA is more complex, but achieves the same result; the

distributed transceivers can select one cell and listen to it.

Other available methods of multiplexing such as polarization division multiple

access (PDMA) and time division multiple access (TDMA) cannot be used to separate

signals from one cell to the next since the effects of both vary with position and this

would make signal separation practically impossible. Time division multiple access,

however, is used in combination with either FDMA or CDMA in a number of systems to

give multiple channels within the coverage area of a single cell.

Frequency reuse

The key characteristic of a cellular network is the ability to re-use frequencies to increase

both coverage and capacity. As described above, adjacent cells must utilize different

frequencies, however there is no problem with two cells sufficiently far apart operating

on the same frequency. The elements that determine frequency reuse are the reuse

distance and the reuse factor.

The reuse distance, D is calculated as

31

Page 32: Mobile Computing B tech 6th semester

5511201

where R is the cell radius and N is the number of cells per cluster. Cells may vary in

radius in the ranges (1 km to 30 km). The boundaries of the cells can also overlap

between adjacent cells and large cells can be divided into smaller cells .

The frequency reuse factor is the rate at which the same frequency can be used in the

network. It is 1/K (or K according to some books) where K is the number of cells which

cannot use the same frequencies for transmission. Common values for the frequency

reuse factor are 1/3, 1/4, 1/7, 1/9 and 1/12 (or 3, 4, 7, 9 and 12 depending on notation).

Directional antennas

Although the original 2-way-radio cell towers were at the centers of the cells and were

omni-directional, a cellular map can be redrawn with the cellular telephone towers

located at the corners of the hexagons where three cells converge. Each tower has three

sets of directional antennas aimed in three different directions with 120 degrees for each

cell (totaling 360 degrees) and receiving/transmitting into three different cells at different

frequencies. This provides a minimum of three channels (from three towers) for each cell.

The numbers in the illustration are channel numbers, which repeat every 3 cells. Large

cells can be subdivided into smaller cells for high volume areas

Broadcast messages and pagingPractically every cellular system has some kind of broadcast mechanism. This can be

used directly for distributing information to multiple mobiles, commonly, for example

in mobile telephony systems, the most important use of broadcast information are to set

32

Page 33: Mobile Computing B tech 6th semester

5511201

up channels for one to one communication between the mobile transceiver and the base

station. This is called paging.

The details of the process of paging vary somewhat from network to network, but

normally we know a limited number of cells where the phone is located (this group of

cells is called a Location Area in the GSM or UMTS system, or Routing Area if a data

packet session is involved). Paging takes place by sending the broadcast message to all of

those cells. Paging messages can be used for information transfer. This happens

in pagers, in CDMAsystems for sending SMS messages, and in the UMTS system where

it allows for low downlink latency in packet-based connections.

Movement from cell to cell and handover

In a primitive taxi system, when the taxi moved away from a first tower and closer to a

second tower, the taxi driver manually switched from one frequency to another as

needed. If a communication was interrupted due to a loss of a signal, the taxi driver asked

the base station operator to repeat the message on a different frequency.

In a cellular system, as the distributed mobile transceivers move from cell to cell during

an ongoing continuous communication, switching from one cell frequency to a different

cell frequency is done electronically without interruption and without a base station

operator or manual switching. This is called the handover or handoff. Typically, a new

channel is automatically selected for the mobile unit on the new base station which will

serve it. The mobile unit then automatically switches from the current channel to the new

channel and communication continues.

Example of a cellular network: the mobile phone network

The most common example of a cellular network is a mobile phone (cell phone) network.

A mobile phone is a portable telephone which receives or makes calls through a cell

site (base station), or transmitting tower. Radio waves are used to transfer signals to and

from the cell phone.

Modern mobile phone networks use cells because radio frequencies are a limited, shared

resource. Cell-sites and handsets change frequency under computer control and use low

power transmitters so that a limited number of radio frequencies can be simultaneously

33

Page 34: Mobile Computing B tech 6th semester

5511201

used by many callers with less interference.A cellular network is used by the mobile

phone operator to achieve both coverage and capacity for their subscribers. Large

geographic areas are split into smaller cells to avoid line-of-sight signal loss and to

support a large number of active phones in that area. All of the cell sites are connected

to telephone exchanges (or switches), which in turn connect to the public telephone

network.

In cities, each cell site may have a range of up to approximately ½ mile, while in rural

areas; the range could be as much as 5 miles. It is possible that in clear open areas, a user

may receive signals from a cell site 25 miles away.

Since almost all mobile phones use cellular technology, including GSM, CDMA,

and AMPS (analog), the term "cell phone" is in some regions, notably the US, used

interchangeably with "mobile phone". However, satellite phones are mobile phones that

do not communicate directly with a ground-based cellular tower, but may do so indirectly

by way of a satellite.

34