Home > Computer science essays > Cooperative caching policies for minimizing electronic content provisioning cost in Social Wireless Networks (SWNET)

Essay: Cooperative caching policies for minimizing electronic content provisioning cost in Social Wireless Networks (SWNET)

Essay details and download:

  • Subject area(s): Computer science essays
  • Reading time: 33 minutes
  • Price: Free download
  • Published: 6 October 2015*
  • File format: Text
  • Words: 9,735 (approx)
  • Number of pages: 39 (approx)

Text preview of this essay:

This page of the essay has 9,735 words. Download the full version above.

Chapter 1
INTRODUCTION
Electronic object caching in SWNETs are shown to be able to reduce the content provisioning cost which depends heavily on the service and pricing dependences among various stakeholders including content providers (CP), network service providers, and End Consumers (EC). Drawing motivation from Amazon’s Kindle electronic book delivery business, this paper develops practical network, service, and pricing models which are then used for creating two object caching strategies for minimizing content provisioning costs in networks with homogenous and heterogeneous object demands.
This Project introduces cooperative caching policies for minimizing electronic content provisioning cost in Social Wireless Networks (SWNET). SWNETs are formed by mobile devices, such as data enabled phones, electronic book readers etc., sharing common interests in electronic content, and physically gathering together in public places.
The system constructs analytical and simulation models for analyzing the proposed caching strategies in the presence of selfish users that deviate from network-wide cost-optimal policies. It also reports results from an Android phone based prototype SWNET, validating the presented analytical and simulation results.
1.1 Motivation
Recent emergence of data enabled mobile devices and wireless-enabled data applications have fostered new content dissemination models in today’s mobile ecosystem. A list of such devices includes Apple’s iPhone, Google’s Android, Amazon’s Kindle, and electronic book readers from other vendors. The array of data applications includes electronic book and magazine readers and mobile phone Apps. The level of proliferation of mobile applications is indicated by the example fact that as of October 2010, Apple’s App Store offered over 100,000 apps that are downloadable by the smart phone users. With the conventional download model, a user downloads contents directly from a Content Provider’s (CP) server over a Communication Service Provider’s (CSP) network. Downloading content through CSP’s network involves a cost which must be paid either by end users or by the content provider. In this work, we adopt Amazon Kindle electronic book delivery business model in which the CP (Amazon), pays to Sprint, the CSP, for the cost of network usage due to downloaded e-books by Kindle users.
When users carrying mobile devices physically gather in settings such as University campus, work place, Mall, Airport and other public places, Social Wireless Networks (SWNETs) can be formed using ad hoc wireless connections between the devices. With the existence of such SWNETs, an alternative approach to content access by a device would be to first search the local SWNET for the requested content before downloading it from the CP’s server. The expected content provisioning cost of such an approach can be significantly lower since the download cost to the CSP would be avoided when the content is found within the local SWNET. This mechanism is termed as cooperative caching. In order to encourage the End-Consumers (EC) to cache previously downloaded content and to share it with other end-consumers, a peer-to-peer rebate mechanism is proposed. This mechanism can serve as an incentive so that the end-consumers are enticed to participate in cooperative content caching in spite of the storage and energy costs. In order for cooperative caching to provide cost benefits, this peer-to-peer rebate must be dimensioned to be smaller than the content download cost paid to the CSP. This rebate should be factored in the content provider’s overall cost.
1.2 Background work
Mobile Computing
Versatile processing is human machine connection by which a machine is required to be transported amid typical utilization. Versatile processing includes portable correspondence, versatile equipment, and portable programming. Correspondence issues incorporate impromptu and base systems and also correspondence properties, conventions, information configurations and cement advances. Equipment incorporates cell phones or gadget segments. Portable programming manages the qualities and prerequisites of versatile applications.
Versatile Computing is “taking a machine and all vital documents and programming out into the field”. Versatile registering is any kind of processing which utilize Internet or intranet and particular correspondences joins, as WAN, LAN, WLAN and so forth. Portable machines may structure a remote individual system.
Fig.1.1 Structure of Mobile Computing
Mobile Computing Items
‘ Portable machines, compacted lightweight units including a full character set console and essentially planned as hosts for programming that may be parameterized, as laptops, note pads, notepads, and so forth.
‘ Mobile telephones including a confined key set fundamentally expected however not limited to for vocal correspondences, as phones, Pdas, telephone cushions, and so forth.
‘ Wearable machines basically restricted to useful keys and essentially proposed as fuse of programming operators, as watches, wristbands, pieces of jewelry, keyless inserts, and so forth.
The presence of these classes is relied upon to be dependable, and integral in individual use, none supplanting one the other in all gimmicks of accommodate.
Mobile Computing Technology
The most natural part of portable registering innovation is the hand telephone. Around two decades back, a hand telephone was massive and was utilized for voice correspondence. It was just an augmentation of the settled line telephony that permitted clients to stay in contact with partners. Presently the hand telephone is not just utilized for voice correspondence, it is additionally used to send content and media messages. Future cell phones won’t just empower Internet access, yet will likewise help rapid information administrations.
Notwithstanding the hand telephone, different sorts of cell phones are presently accessible, for instance, individual computerized associates (PDAs) and pocket (PCs). Street warriors use cell phones to get to a la mode data from the corporate database. A cop at a wrongdoing scene may send an unique mark got there for matching with information in a focal database through a remote system, consequently prompting speedier recognizable proof and capture of potential suspects. The worldwide situating framework (GPS) is utilized as a part of pursuit and salvage missions, for checking and safeguarding of natural life, and for vehicle burglary counteractive action. In spite of the fact that a large number of us are unconscious of when versatile registering engineering is generally utilized, it has penetrated all parts of our lives.
1.3 Problem Description
With the existence of such SWNETs, an alternative approach to content access by a device would be to first search the local SWNET for the requested content before downloading it from the CP’s server. The expected content provisioning cost of such an approach can be significantly lower since the download cost to the CSP would be avoided when the content is found within the local SWNET. This mechanism is termed as cooperative caching. In order to encourage the End-Consumers (EC) to cache previously downloaded content and to share it with other end-consumers, a peer-to-peer rebate mechanism is proposed.
This mechanism can serve as an incentive so that the end-consumers are enticed to participate in cooperative content caching in spite of the storage and energy costs. In order for cooperative caching to provide cost benefits, this peer-to-peer rebate must be dimensioned to be smaller than the content download cost paid to the CSP. This rebate should be factored in the content provider’s overall cost.
Due to their limited storage, the main server speed could become slow. This means after downloading and using content, a content to be stored in local cache.
Electronic object caching in such SWNETs are shown to be able to reduce the content provisioning cost which depends heavily on the service and pricing dependences among various stakeholders including content providers (CP), network service providers, and End Consumers (EC).
1.4 Requirement Specification
Hardware requirements:
Hardware : Pentium
Speed : 1.1 GHz
RAM : 1GB
Hard Disk : 20 GB
Floppy Drive : 1.44 MB
Key Board : Standard Windows Keyboard
Mouse : Two or Three Button Mouse
Monitor : SVGA
Software requirements:
Operating System : Windows
Technology : Java and J2EE
Web Technologies : Html, JavaScript, CSS
IDE : My Eclipse
Web Server : Tomcat
Tool kit : Android Phone
Database : My SQL
Java Version : J2SDK1.5
Chapter 2
LITERATURE SURVEY
2.1Human mobility for mobile wireless networks
The knowledge of human mobility is essential to routing design and service planning regarding both civilian and military applications in mobile wireless networks. In this, we study the inherent properties of human mobility upon our collected GPS moving traces. We found that power laws characterize the human mobility in both spatial and temporal domains. In particular, because of the diurnal cycle patterns of human daily activities in associated social territories with limited size, there always exists a characteristic distance in the power law distributions of trip displacement and distance between site locations and a characteristic time in the power law distributions of pause and site return time, respectively. Thus, the CCDF (complementary cumulative distribution function) of human movement metrics in spatial and temporal domains always has a transition from power-law head to exponential tail delimited by the associated characteristic distance and characteristic time, respectively. Furthermore, we found that either human random moving direction process without pause or the power law distribution of trip displacement lead to a super diffusive human mobility pattern, while the power law distribution of pause time causes a sub diffusive human movement pattern.
2.2 Server-Assisted Cache Replacement in the Web
To reduce user-perceived latency in retrieving documents on the World Wide Web, a commonly used technique is caching both at the client’s browser and more gainfully (due to sharing) at a proxy. The effectiveness of Web caching hinges on the replacement policy that determines the relative value of caching different objects. An important component of such policy is to predict next-request times. Proposing a caching policy utilizing statistics on resource inter-request times. Such statistics can be collected either locally or at the server, and piggybacked to the proxy. Using various Web server logs, compared existing cache replacement policies with server-assisted schemes. The experiments show that utilizing the server knowledge of access patterns can greatly improve the effectiveness of proxy caches. Our experimental evaluation and proposed policies use a price function framework. The price function values the utility of a unit of cache storage as a function of time. Instead of the usual tradeoffs of profit (combined value of cache hits) and cache size we measure tradeoffs of profit and caching cost (average allocated cache portion). The price-function framework allows us to evaluate and compare different replacement policies by using server logs, without having to construct a full workload model for each client’s cache.
2.3 A Prototype Design for DRM Based Credit Card Transaction in
E- Commerce
In E-Commerce credit cards gained popularity as a sophisticated payment mechanism. With the increase in credit card use on web, credit card fraud has gone up dramatically. Which cause customer’s inconvenience and for merchant, loss of customers. To combat credit card fraud and to regain the customer’s trust an attempt is made here to design a trust based payment system, in which the customer does not need to disclose his/her credit card number during the transaction, and hence they can feel safe. In this newly proposed system on behalf of the customer the bank or the issuer of the credit card is involved to perform the transaction. This is basically done by generating a single use ‘token’ by the bank which includes information about the customer, merchant, product, payment amount, date of issue and date of expiry etc. and thereafter wrapped as a DRM package. Among various advantages, one is that only the intended user and the specified application software can open the DRM package using special key. The application, thereafter, will take care of the rights imposed on the ‘token’ and expires itself after the single use. We have tried an attempt to use UML to design the model of such system, which is the recent trend of software engineering practice.
In E-Commerce credit cards gained popularity as a sophisticated payment mechanism. With the increase in credit card use on web, credit card fraud has gone up dramatically. Which cause customer’s inconvenience and for merchant, loss of customers. To combat credit card fraud and to regain the customer’s trust an attempt is made here to design a trust based payment system, in which the customer does not need to disclose his/her credit card number during the transaction, and hence they can feel safe. In this newly proposed system on behalf of the customer the bank or the issuer of the credit card is involved to perform the transaction. This is basically done by generating a single use ‘token’ by the bank which includes information about the customer, merchant, product, payment amount, date of issue and date of expiry etc. and thereafter wrapped as a DRM package. Among various advantages, one is that only the intended user and the specified application software can open the DRM package using special key. The application, thereafter, will take care of the rights imposed on the ‘token’ and expires itself after the single use. We have tried an attempt to use UML to design the model of such system, which is the recent trend of software engineering practice.
In view of the above findings, the present study seeks to design a transaction management system that would fill the functional deficiency of the present E-Commerce transactions using latest technology. In this scenario the Digital Rights Management (DRM) can be used which offers credit card holders more control over their digital identities. In the present E-Commerce transaction system the credit card holder discloses his/her credit card number along with other personal identity to the merchants in order that the merchants can use such information for single use and for the agreed-upon amount only. That is, it is the customer who distributes his/her right to the merchants. Only DRM ensures that the distributed right is not violated. So, our proposed DRM based credit card transaction system improving the level of trust in E-Commerce.
The risk and the challenges of the trust that discourage the credit card holder to participate in the E-Commerce system are spoofing, interception of sensitive data transmitted online, alteration of data during transaction, denial of services (DOS), overcharging the customers at a higher than the agreed prices and besides all Credit card is not a dependable method of E-Commerce payment system because it is designed to rely only physical signatures for authentication.
2.4 Web Caching and Zipf-Like Distributions: Evidence and Implications
It addresses two unresolved issues about Web caching. The first issue is whether Web requests from a fixed user community are distributed according to Zipf’s (1929) law. The second issue relates to a number of studies on the characteristics of Web proxy traces, which have shown that the hit-ratios and temporal locality of the traces exhibit certain asymptotic properties that are uniform across the different sets of the traces. In particular, the question is whether these properties are inherent to Web accesses or whether they are simply an artifact of the traces. An answer to these unresolved issues will facilitate both Web cache resource planning and cache hierarchy design. First investigate the page request distribution seen by Web proxy caches using traces from a variety of sources. It finds that the distribution does not follow Zipf’s law precisely, but instead follows a Zipf-like distribution with the exponent varying from trace to trace.
Furthermore, it finds that there is only (i) a weak correlation between the access frequency of a Web page and its size and (ii) a weak correlation between access frequency and its rate of change. Then consider a simple model where the Web accesses are independent and the reference probability of the documents follows a Zipf-like distribution. Find that the model yields asymptotic behavior that are consistent with the experimental observations, suggesting that the various observed properties of hit-ratios and temporal locality are indeed inherent to Web accesses observed by proxies. Finally, it will revisit the Web cache replacement algorithms and show that the algorithm that is suggested by this simple model performs best on real trace data. The results indicate that while page requests do indeed reveal short-term correlations and other structures, a simple model for an independent request stream following a Zipf-like distribution is sufficient to capture certain asymptotic properties observed at Web proxies.
2.5 Ad-Hoc on-Demand Distance Vector Routing
The Ad hoc On Demand Distance Vector (AODV) routing algorithm is a routing protocol designed for ad hoc mobile networks. AODV is capable of both unicast and multicast routing. It is an on demand algorithm, meaning that it builds routes between nodes only as desired by source nodes. It maintains these routes as long as they are needed by the sources. Additionally, AODV forms trees which connect multicast group members. The trees are composed of the group members and the nodes needed to connect the members. AODV uses sequence numbers to ensure the freshness of routes. It is loop-free, self-starting, and scales to large numbers of mobile nodes.
AODV builds routes using a route request / route reply query cycle. When a source node desires a route to a destination for which it does not already have a route, it broadcasts a route request (RREQ) packet across the network. Nodes receiving this packet update their information for the source node and set up backwards pointers to the source node in the route tables. In addition to the source node’s IP address, current sequence number, and broadcast ID, the RREQ also contains the most recent sequence number for the destination of which the source node is aware. A node receiving the RREQ may send a route reply (RREP) if it is either the destination or if it has a route to the destination with corresponding sequence number greater than or equal to that contained in the RREQ. If this is the case, it unicasts a RREP back to the source. Otherwise, it rebroadcasts the RREQ. Nodes keep track of the RREQ’s source IP address and broadcast ID. If they receive a RREQ which they have already processed, they discard the RREQ and do not forward it.
Once the source node receives the RREP, it may begin to forward data packets to the destination. If the source later receives a RREP containing a greater sequence number or contains the same sequence number with a smaller hop count, it may update its routing information for that destination and begin using the better route.
As long as the route remains active, it will continue to be maintained. A route is considered active as long as there are data packets periodically travelling from the source to the destination along that path. Once the source stops sending data packets, the links will time out and eventually be deleted from the intermediate node routing tables. If a link break occurs while the route is active, the node upstream of the break propagates a route error (RERR) message to the source node to inform it of the now unreachable destination(s). After receiving the RERR, if the source node still desires the route, it can reinitiate route discovery.
Multicast routes are set up in a similar manner. A node wishing to join a multicast group broadcasts a RREQ with the destination IP address set to that of the multicast group and with the ‘J'(join) flag set to indicate that it would like to join the group. Any node receiving this RREQ that is a member of the multicast tree that has a fresh enough sequence number for the multicast group may send a RREP. As the RREPs propagate back to the source, the nodes forwarding the message set up pointers in their multicast route tables. As the source node receives the RREPs, it keeps track of the route with the freshest sequence number, and beyond that the smallest hop count to the next multicast group member. After the specified discovery period, the source nodes will unicast a Multicast Activation (MACT) message to its selected next hop. This message serves the purpose of activating the route. A node that does not receive this message that had set up a multicast route pointer will timeout and delete the pointer. If the node receiving the MACT was not already a part of the multicast tree, it will also have been keeping track of the best route from the RREPs it received. Hence it must also unicast a MACT to its next hop, and so on until a node that was previously a member of the multicast tree is reached.
AODV maintains routes for as long as the route is active. This includes maintaining a multicast tree for the life of the multicast group. Because the network nodes are mobile, it is likely that many link breakages along a route will occur during the lifetime of that route. The papers listed below describe how link breakages are handled. The WMCSA paper describes AODV without multicast but includes detailed simulation results for networks up to 1000 nodes.
2.6 A Survey of Web Cache Replacement Strategies
Web caching is an important technique to scale the Internet. One important performance factor of Web caches is the replacement strategy. Due to specific characteristics of the World Wide Web, there exist a huge number of proposals for cache replacement. This article proposes a classification for these proposals that subsumes prior classifications. Using this classification, different proposals and their advantages and disadvantages are described.
The Web has been constantly growing and so has the load on the Internet and Web servers. To over-come these obstacles, different techniques, like caching, have been introduced. Web caching has proven to be a valuable tool. Three features of Web caching make it attractive to all Web participants, including users, network managers, and content creators.
‘ Caching reduces network bandwidth usage.
‘ Caching reduces user-perceived delays.
‘ Caching reduces loads on the origin server.
One central problem in Web caching is the cache replacement strategy. Cache replacement refers to the process that takes place when the cache becomes full and old objects must be removed to make space for new ones. A first classification of replacement strategies was given in Agarwal. They proposed three categories:
Direct extensions of traditional strategies: This category subsumes traditional strategies known from other areas (e.g., database buffer management, paging) and extensions thereof.
Key-based replacement strategies: Re-placement strategies in this category sort objects upon a primary key (factor). Ties are broken based on secondary key, tertiary key, etc.
Function-based replacement strategies: The idea in function-based replacement is to use a potentially general function derived from the different factors de-scribed.
There are two major problems with these proposals. First, the first two classes could be merged as every traditional algorithm can be regarded as a key-based strategy using one key (factor). A number of strategies apply various additional techniques (more lists, etc.), that is, they are not only key-based. Second, randomized strategies cannot be classified according to the above described classification. The pure random strategy cannot be classified into any of these categories. It uses no key and no function. Some sophisticated random strategies can be combined with key-based decisions or function-based decisions. Therefore, they can be classified into more than one category. On a cache miss, the cache acquires and stores the requested object. If the size of all cached objects exceeds the given cache size, the cache evicts a certain number of objects. In practical implementations, the cache uses two marks H (high watermark) and L (low watermark), with H > L, to guide the replacement process. If the size of all cached objects exceeds H, the cache evicts objects until the size of the remaining objects is below L.
Recency-based strategies use recency as a main factor. Most of them are more or less ex-tensions of the well-known LRU strategy. LRU has been applied successfully in many different areas. LRU is based on the locality of reference seen in request streams. Locality of reference characterizes the ability to predict future accesses to objects from past accesses. There are two main types of locality: temporal and spatial. Temporal locality refers to repeated accesses to the same object within short time periods. It implies that recently accessed objects are likely to be accessed again in the future. Spatial locality refers to access patterns where accesses to some objects imply accesses to certain other objects. It implies that references to some objects can be a predictor of future references to other objects. Recency based strategies exploit the temporal locality seen in Web request streams.
In the early days of caching, simple re-placement strategies were used. There-fore, research for more sophisticated replacement strategies was an important issue. Nowadays there exist a multitude of strategies. Although most of the papers in the literature provide evidence that their actually proposed strategies are the best of all, one can find some strategies that give good results in different evaluations.
2.7 Impact of Human Mobility on Opportunistic Forwarding Algorithms
Impact of Human Mobility on Opportunistic Forwarding Algorithms explains data transfer opportunities between wireless devices carried by humans. We observe that the distribution of the intercontact time (the time gap separating two contacts between the same pair of devices) may be well approximated by a power law over the range [10 minutes; 1 day]. This observation is confirmed using eight distinct experimental data sets. It is at odds with the exponential decay implied by the most commonly used mobility models. In this, we study how this newly uncovered characteristic of human mobility impacts one class of forwarding algorithms previously proposed. We use a simplified model based on the renewal theory to study how the parameters of the distribution impact the performance in terms of the delivery delay of these algorithms. It will make recommendations for the design of well-founded opportunistic forwarding algorithms in the context of human-carried devices.
Increasing popularity of devices equipped with wireless network interfaces (such as cell phones or PDAs) offers new communication services opportunities. Such mobile devices can transfer data in two ways’by transmitting over a wireless (or wired) network interface and by taking advantage of the user’s mobility. They form a Pocket Switched Network. Communication services that rely on this type of data transfer will strongly depend on human mobility characteristics and on how often such transfer opportunities arise. Therefore, they will require networking protocols that are different from those used on the Internet. Since two (or more) ends of the communication might not be connected simultaneously, it is impossible to maintain routes or to access centralized services such as the DNS.
In order to better understand the constraints of opportunistic data transfer, we analyze eight distinct data sets collected in networks with mobile devices. Three data sets come from experiments we conducted ourselves. Define the intercontact time as the time between two transfer opportunities for the same devices.
2.8 Coordinated Placement and Replacement for Large-Scale Distributed Caches
In a large-scale information system such as a digital library or the Web, a set of distributed caches can improve their effectiveness by coordinating their data placement decisions. Using simulation, we examine three practical cooperative placement algorithms, including one that is provably close to optimal, and we compare these algorithms to the optimal placement algorithm and several cooperative and non-cooperative replacement algorithms. We draw five conclusions from these experiments: 1) cooperative placement can significantly improve performance compared to local replacement algorithms, particularly when the size of individual caches is limited compared to the universe of objects; 2) although the amortizing placement algorithm is only guaranteed to be within 14 times the optimal, in practice it seems to provide an excellent approximation of the optimal; 3) in a cooperative caching scenario, the recent greedy-dual local replacement algorithm performs much better than the other local replacement algorithms; 4) our hierarchical-greedy-dual replacement algorithm yields further improvements over the greedy-dual algorithm especially when there are idle caches in the system; and 5) a key challenge to coordinated placement algorithms is generating good predictions of access patterns based on past accesses.
2.9 Improving On-Demand Data Access Efficiency in MANETs with Cooperative Caching
Mobile ad hoc networks (MANETs) provide an attractive solution for networking in the situations where network infrastructure or service subscription is not available. Its usage can further be extended by enabling communications with external networks such as the Internet or cellular networks through gateways. However, data access applications in MANETs suffer from dynamic network connections and restricted resources. While most of the research focuses on media (or medium) access control (MAC) and routing layer solutions, we explore the possibility of making use of data locality and the commonality in users’ interests at the application level. In this paper, we investigate how cooperative caching can be used to improve data access efficiency in MANETs. We propose COOP, a novel cooperative caching scheme for on-demand data access applications in MANETs. The objective is to improve data availability and access efficiency by collaborating local resources of mobile nodes. COOP addresses two basic problems of cooperative caching: cache resolution and cache management. To improve data availability and access efficiency, COOP discovers data sources which induce less communication overhead by utilizing cooperation zones, historical profiles, and hop-by-hop resolution. For cache management, COOP increases the effective capacity of cooperative caches by minimizing caching duplications within the cooperation zone and accommodating more data varieties. The performance of COOP is studied using mathematical analysis and simulations from the perspectives of data availability, time efficiency, and energy efficiency. The analysis and simulation results show that COOP significantly reduces response delay and improves data availability with proper settings of the cooperation zone radius.
2.10 Peer-to-Peer Cooperative Caching in Mobile Environments
Caching is a key technique for improving the data retrieval performance of mobile clients in mobile environments. The emergence of robust and reliable peer-to-peer (P2P) technologies now brings to reality what we call “cooperative caching’ in which mobile clients can access data items from the cache in their neighboring peers. We discuss cooperative caching in mobile environments and propose a cooperative caching scheme for mobile systems, called COCA.
In COCA, we identify two types of mobile clients: low activity and high activity. They are referred to as low activity mobile client/host (LAM) and high activity mobile client/host (HAM) respectively. Both LAM and HAM can share their cache. The server replicates appropriate data items to LAMs so that HAMs can take advantages of the LAM replicas. The performance of pure COCA and COCA with the data replication scheme is evaluated through a number of simulated experiments which show that COCA significantly reduces both the server workload in terms of number of requests and the access miss ratio when the MHs reside outside of the service area. The COCA with the data replication scheme can improve the overall system performance in other aspects as well.
Chapter 3
SYSTEM ANALYSIS
3.1 existing system
With the existence of such SWNETs, an alternative approach to content access by a device would be to first search the local SWNET for the requested content before downloading it from the CP’s server. The expected content provisioning cost of such an approach can be significantly lower since the download cost to the CSP would be avoided when the content is found within the local SWNET. This mechanism is termed as cooperative caching. In order to encourage the End-Consumers (EC) to cache previously downloaded content and to share it with other end-consumers, a peer-to-peer rebate mechanism is proposed. This mechanism can serve as an incentive so that the end-consumers are enticed to participate in cooperative content caching in spite of the storage and energy costs. In order for cooperative caching to provide cost benefits, this peer-to-peer rebate must be dimensioned to be smaller than the content download cost paid to the CSP. This rebate should be factored in the content provider’s overall cost.
Disadvantages:
Due to their limited storage, the main server speed could become slow. This means after downloading and using content, a content to be stored in local cache.
3.2 Proposed System:
In this system drawing motivation from Amazon’s Kindle electronic book delivery business, this paper develops practical network, service, and pricing models which are then used for creating two object caching strategies for minimizing content provisioning costs in networks with homogenous and heterogeneous object demands. The paper constructs analytical and simulation models for analyzing the proposed caching strategies in the presence of selfish users that deviate from network-wide cost-optimal policies
Advantages:
‘ Based on a practical service and pricing case, a stochastic model for the content provider’s cost computation is developed.
‘ A cooperative caching strategy, Split Cache, is proposed, numerically analyzed, and theoretically proven to provide optimal object placement for networks with homogenous content demands.
‘ A benefit-based strategy, Distributed Benefit, is proposed to minimize the provisioning cost in heterogeneous networks consisting of nodes with different content request rates and patterns.
‘ The impacts of user selfishness on object provisioning cost and earned rebate is analyzed.
Chapter 4
SYSTEM DESIGN
The purpose of the design phase is to plan a solution of the problem specified by the requirement document. This phase is the first step in moving from problem domain to the solution domain. The design of a system is perhaps the most critical factor affecting the quality of the software, and has a major impact on the later phases, particularly testing and maintenance. The output of this phase is the design document. This document is similar to a blue print or plan for the solution, and is used later during implementation, testing and maintenance.
The design activity is often divided into two separate phase-system design and detailed design. System design, which is sometimes also called top-level design, aims to identify the modules that should be in the system, the specifications of these modules, and how they interact with each other to produce the desired results. At the end of system design all the major data structures, file formats, output formats, as well as the major modules in the system and their specifications are decided.
During the design phase, often two separate documents are produced. One is the system design and one for the detailed design. Together, these documents completely specify the design of the system. That is they specify the different modules in the system and internal logic of each of the modules.
A design methodology is a systematic approach to creating a design by application of set of techniques and guidelines. Most methodologies focus on system design. The two basic principles used in any design methodology are problem partitioning and abstraction. A large system cannot be handled as a whole, and so for design it is partitioned into smaller systems. Abstraction is a concept related to problem partitioning.
4.1 Architecture
Figure 4.1 SWNET within a University campus
Fig4.1 illustrates an example SWNET within a University campus. End Consumers carrying mobile devices form SWNET partitions, which can be either multi-hop (i.e., MANET) as shown for partitions 1, 3, and 4, or single hop access point based as shown for partition 2. A mobile device can download an object (i.e., content) from the CP’s server using the CSP’s cellular network, or from its local SWNET partition. In the rest of this paper, the terms object and content are used synonymously.
We consider two types of SWNETs. The first one involves stationary SWNET partitions. Meaning, after a partition is formed, it is maintained for sufficiently long so that the cooperative object caches can be formed and reach steady states. We also investigate a second type to explore as to what happens when the stationary assumption is relaxed. To investigate this effect, caching is applied to SWNETs formed using human interaction traces obtained from a set of real SWNET nodes.
After an object request is originated by a mobile device, it first searches its local cache. If the local search fails, it searches the object within its SWNET partition using limited broadcast message. If the search in partition also fails, the object is downloaded from the CP’s server using the CSP’s 3G/4G cellular network. In this, we have modeled objects such as electronic books, music, etc., which are time non-varying and therefore cache consistency is not a critical issue. We first assume that all objects have the same size and each node is able to store up to ‘C’ different objects in its cache. The popularity-tag of an object indicates its global popularity; it also indicates the probability that an arbitrary request in the network is generated for this specific object.
We use a pricing model similar to the Amazon Kindle business model in which the CP (e.g., Amazon) pays a download cost Cd to the CSP when an End-Consumer downloads an object from the CP’s server through the CSP’s cellular network. Also, whenever an EC provides a locally cached object to another EC within its local SWNET partition, the provider EC is paid a rebate Cr by the CP. Optionally, this rebate can also be distributed among the provider EC and the ECs of all the intermediate mobile devices that take part in content forwarding. The Cd corresponds to the CP’s object delivering cost when it is delivered through the CSP’s network, and Cr corresponds to the rebate given out to an EC when the object is found within the SWNET (e.g., node A receives rebate Cr after it provides a content to node B over the SWNET). For a given Cr=Cd ratio, the paper aims to develop optimal object placement policies that can minimize the network-wide content provisioning cost.
4.2 UML diagrams
UML is a method for describing the system architecture in detail using the blueprint.
UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems.
UML is a very important part of developing objects oriented software and the software development process.
UML uses mostly graphical notations to express the design of software projects.
Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.
Definition:
UML is a general-purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of the software system.
UML is a language:
It will provide vocabulary and rules for communications and function on conceptual and physical representation. So it is modeling language.
UML Specifying:
Specifying means building models that are precise, unambiguous and complete. In particular, the UML address the specification of all the important analysis, design and implementation decisions that must be made in developing and displaying a software intensive system.
UML Visualization:
The UML includes both graphical and textual representation. It makes easy to visualize the system and for better understanding.
UML Constructing:
UML models can be directly connected to a variety of programming languages and it is sufficiently expressive and free from any ambiguity to permit the direct execution of models.
4.2.1 Use-Case diagram:
A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors.
An actor is represents a user or another system that will interact with the system you are modeling. A use case is an external view of the system that represents some action the user might perform in order to complete a task.
Contents:
‘ Use cases
‘ Actors
‘ Dependency, Generalization, and association relationships
‘ System boundary
UML Class Diagram with Relationships
4.2.2 Sequence Diagram
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur.
Sequence diagrams in UML shows how object interact with each other and the order those interactions occur. It’s important to note that they show the interactions for a particular.
4.2.3 Class Diagram:
Class diagrams are widely used to describe the types of objects in a system and their relationships. Class diagrams model class structure and contents using design elements such as classes, packages and objects. Class diagrams describe three different perspectives when designing a system, conceptual, specification, and implementation. These perspectives become evident as the diagram is created and help solidify the design. Class diagrams are arguably the most used UML diagram type.
4.2.4 Collaboration diagram
Communication diagram was called collaboration diagram in UML 1. It is similar to sequence diagrams but the focus is on messages passed between objects. The same information can be represented using a sequence diagram and different objects. Click here to understand the differences using an example.
4.2.5 State machine diagrams
State machine diagrams are similar to activity diagrams although notations and usage changes a bit. They are sometime known as state diagrams or start chart diagrams as well. These are very useful to describe the behavior of objects that act different according to the state they are at the moment. Below State machine diagram show the basic states and actions.
User:
Admin:
4.2.6 Activity Diagram:
Activity diagrams describe the workflow behavior of a system. Activity diagrams are similar to state diagrams because activities are the state of doing something. The diagrams describe the state of activities by showing the sequence of activities performed. Activity diagrams can show activities that are conditional or parallel.
How to Draw: Activity Diagrams
Activity diagrams show the flow of activities through the system. Diagrams are read from top to bottom and have branches and forks to describe conditions and parallel activities. A fork is used when multiple activities are occurring at the same time. The diagram below shows a fork after activity1. This indicates that both activity2 and activity3 are occurring at the same time. After activity2 there is a branch. The branch describes what activities will take place based on a set of conditions.
When to Use: Activity Diagrams
Activity diagrams should be used in conjunction with other modeling techniques such as interaction diagrams and state diagrams. The main reason to use activity diagrams is to model the workflow behind the system being designed. Activity Diagrams are also useful for: analyzing a use case by describing what actions need to take place and when they should occur; describing a complicated sequential algorithm; and modeling applications with parallel processes.
User:
Admin:
4.2.7 Component diagram
A component diagram displays the structural relationship of components of a software system. These are mostly used when working with complex systems that has many components. Components communicate with each other using interfaces. The interfaces are linked using connectors. Below images shows a component diagram.
4.2.8 Deployment Diagram
A deployment diagrams shows the hardware of your system and the software in those hardware. Deployment diagrams are useful when your software solution is deployed across multiple machines with each having a unique configuration. Below is an example deployment diagram.
Chapter 5
TECHNIQUES/ALGORITHMS
5.1 Caching for Optimal Object Placement
5.1.1 Split Cache Replacement
To understand the ideal item situation under homogeneous article appeal model we propose the accompanying Split Cache arrangement in which the accessible reserve space in every gadget is separated into a copy fragment and an extraordinary section. In the first section, hubs can store the most prevalent articles without stressing over the article duplication and in the second fragment just remarkable items are permitted to be put away. The Split Cache substitution strategy, not long after an item is downloaded from the CP’s server, it is arranged as an issue question as there is one and only duplicate of this article in the system. For putting away another special protest, the minimum prevalent question in the entire reserve is chosen as an issue and it is supplanted with the new question in the event that it is less main stream than the new approaching article. For a copied article, be that as it may, the evictee hopeful is chosen just from the first copy portion of the reserve. As it were, an extraordinary item is never ousted to oblige a copied article.
5.1.2 Object Provisioning Cost with Split Cache
To register the provisioning expense for Split Cache we have to figure PL and PV .We first characterize capacity f(k) to be the likelihood of discovering a self assertive article with in a gadget’s reserve that is loaded with the k most famous items.
‘ Local hit rate PL: At relentless state, aggregate number of interesting articles put away in the part. Likelihood that a gadget can discover another asked for item in its neighborhood store.
‘ Remote hit rate PV: It is equivalent to the hit likelihood helped by the articles put away in the exceptional zone of all gadgets in the segment; short the special region of the neighborhood reserve.
5.1.3 Handling Objects with Different Size
In this segment, the base expense object trade system is stretched out for situations in which protests can have distinctive sizes. In such circumstances, keeping in mind the end goal to embed another downloaded item “i” from the CP’s server, as opposed to discovering the minimum prevalent article, a hub needs to recognize a set of items in the store.
5.2 Caching Under Heterogeneous Requests
The Split Cache approach in May not ready to minimize the provisioning expense for non homogenous item asks for where hubs have diverse solicitation rates and appeal examples. In this segment, we propose and dissect an advantage based heuristics methodology to minimize the article provisioning cost in a system with non homogenous solicitation model.
5.2.1 Benefits of Caching
The expense of system utilization for downloading an item straightforwardly from CP’s server is Cd. If the solicitation rate of the asking for hub is higher and the article duplicate is an essential duplicate, then the item supplier sends the item alongside a change status banner to the asking for hub. This banner educates the asking for hub that the item must be considered as an issue duplicate.
5.2.2 Benefit-Based Distributed Caching Heuristics
The Distributed Benefit-based storing system displayed in this segment, when there is insufficient space in the store for obliging another protest, the current article with the base advantage is distinguished and supplanted with the new question just if the new protest shows more aggregate advantage. The profit of a recently downloaded item is figured focused around its source. At the point when another article “j” is downloaded by hub i specifically from the CP’s server utilizing the CSP’s 3G/4G association. In addition to the profit based item substitution rationale as exhibited above, provisioning expense minimization obliges that an essential protest inside a SWNET parcel ought to be reserved in the hub that is well on the way to produce demands for that question.
5.2.3 Maximum Weight Matching
In general, the extreme points of a linear program are not guaranteed to have all coordinates integral. In other words, in general there is no guarantee that the solution for linear programming relaxation and the original integer program are the same. However, for matching problem we notice that the constraint matrix of linear program is totally unimodular and therefore any extreme point of the polytope, defined by the constraints in linear program is integral. Moreover, if an optimum solution to a linear programming relaxation is integral, then it must also be an optimum solution to the integer program. Therefore, the solution found by linear programming is optimal for the maximum weight bipartite matching problem to which our object placement problem is mapped into.
The maximum weight matching represents the optimal object placement which minimizes provisioning cost in. The optimum result of the linear program can be treated as the upper bound of cooperative caching performance.
The maximum weight perfect matching can be also found by Hungarian method (also known as Kuhn-Munkres algorithm) in polynomial time. In the literature, there are many other algorithms for finding the maximum weight perfect matching.
Algorithm N-chance GMS
Cache Consistency Block-based None
Block Location Manager-based Manager-based
Replacement Policy Random Client Manager-based
LRU
Duplicate Avoidance Non-singlets deleted Non-singlets
deleted
Server Caching Traditional Traditional
Table.5.2 key features of the N-chance, GMS
Chapter 6
IMPLEMENTATION
Implementation is the most crucial stage in achieving a successful system and giving the user’s confidence that the new system is workable and effective. This type of conversation is relatively easy to handle, provide there are no major changes in the system.
6.1 Modules
In this we are using three modules for developing our system they are listed as follows
1. Network Module
2. Search Module
3. Pricing Module
Let discuss each and every module in detailed in section 6.2
6.2 Module Description
This chapter describes the fundamentals implementation modules. The types of modules and properties of a social wireless networks are clearly discussed.
6.2.1 Network Module
Fig. 1 illustrates an example SWNET within a University campus. End Consumers carrying mobile devices form SWNET partitions, which can be either multi-hop (i.e., MANET) as shown for partitions 1, 3, and 4, or single hop access point based as shown for partition 2. A mobile device can download an object (i.e., content) from the CP’s server using the CSP’s cellular network, or from its local SWNET partition. In the rest of this paper, the terms object and content are used synonymously. We consider two types of SWNETs. The first one involves stationary SWNET partitions.
Fig 6.2.1 Content access from an SWNET in a University Campus.
Meaning, after a partition is formed, it is maintained for sufficiently long so that the cooperative object caches can be formed and reach steady states. We also investigate a second type to explore as to what happens when the stationary assumption is relaxed. To investigate this effect, caching is applied to SWNETs formed using human interaction traces obtained from a set of real SWNET nodes.
6.2.2 Search Module
After an object request is originated by a mobile device, it first searches its local cache. If the local search fails, it searches the object within its SWNET partition using limited broadcast message. If the search in partition also fails, the object is downloaded from the CP’s server using the CSP’s 3G/4G cellular network. In this paper, we have modeled objects such as electronic books, music, etc., which are time no varying, and therefore cache consistency is not a critical issue. We first assume that all objects have the same size and each node is able to store up to ‘C’ different objects in its cache. Later, in Section 5.3, we relax this assumption to support objects with varying size. We also assume that all objects are popularity-tagged by the CP’s server [3]. The popularity-tag of an object indicates its global popularity; it also indicates the probability that an arbitrary request in the network is generated for this specific object.
6.2.3 Pricing Module
We use a pricing model similar to the Amazon Kindle business model in which the CP (e.g., Amazon) pays a download cost Cd to the CSP when an End-Consumer downloads an object from the CP’s server through the CSP’s cellular network. Also, whenever an EC provides a locally cached object to another EC within its local SWNET partition, the provider EC is paid a rebate Cr by the CP. Optionally, this rebate can also be distributed among the provider EC and the ECs of all the intermediate mobile devices that take part in content forwarding. Fig. 2 demonstrates the cost and content flow model. As it is shown in Fig. 2, Cd corresponds to the CP’s object delivering cost when it is delivered through the CSP’s network, and Cr corresponds to the rebate given out to an EC when the object is found within the SWNET (e.g., node A receives rebate Cr after it provides a content to node B over the SWNET). For a given Cr=Cd ratio, the paper aims to develop optimal object placement policies that can minimize the network-wide content provisioning cost. Note that these cost items, namely, Cd and Cr, do not represent the selling price of an object (e.g., e-book). The selling price is directly paid to the CP (e.g., Amazon) by an EC (e.g., a Kindle user) through an out-of-band secure payment system.
Fig 6.3.2 Content and cost flow model.
A digitally signed rebate framework needs to be supported so that the rebate recipient ECs can electronically validate and redeem the rebate with the CP. Also, a digital usage right mechanism is needed so that an EC which is caching an object (e.g., an e-book) should not necessarily be able to open/read it unless it has explicitly bought the object from the CP. We assume the presence of these two mechanisms on which the proposed caching mechanism is built. Operationally, the parameters Cd and Cr are set by a CP and CSP based on their operating cost and revenue models. The end-consumers do not have any control on those parameters.
6.2.4 Request Generation Model
We study two request generation models, namely, homogenous and heterogeneous. In the homogenous case, all mobile devices maintain the same content request rate and pattern which follow a Zipf distribution. Zipf distribution is widely used in the literature for modeling popularity based online object request distributions. In the heterogeneous request model, each mobile device follows an individual Zipf distribution. This means popularity of object j is not necessarily the same from two different nodes standpoints. This is in contrast to the homogenous model in which the popularity of object j is same from the perspective of all network nodes. Also, the object request rate from different nodes is not necessarily.
6.3 Experimental Setup
6.3.1 Introduction to Java:
Java has been around since 1991, developed by a small team of Sun Microsystems developers in a project originally called the Green project. The intent of the project was to develop a platform-independent software technology that would be used in the consumer electronics industry. The language that the team created was originally called Oak.
Around the time the First Person project was floundering in consumer electronics, a new craze was gaining momentum in America; the craze was called “Web surfing.” The World Wide Web, a name applied to the Internet’s millions of linked HTML documents was suddenly becoming popular for use by the masses. The reason for this was the introduction of a graphical Web browser called Mosaic, developed by ncSA. The browser simplified Web browsing by combining text and graphics into a single interface to eliminate the need for users to learn many confusing UNIX and DOS commands. Navigating around the Web was much easier using Mosaic.
It has only been since 1994 that Oak technology has been applied to the Web. In 1994, two Sun developers created the first version of Hot Java, and then called Web Runner, which is a graphical browser for the Web that exists today. The browser was coded entirely in the Oak language, by this time called Java. Soon after, the Java compiler was rewritten in the Java language from its original C code, thus proving that Java could be used effectively as an application language. Sun introduced Java in May 1995 at the Sun World 95 convention.
The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
‘ Simple
‘ Architecture neutral
‘ Object oriented
‘ Portable
‘ Distributed
‘ High performance
‘ Interpreted
‘ Multithreaded
‘ Robust
‘ Dynamic
‘ Secure
With most programming languages, you either compile or interpret a program so that you can run it on your computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes ‘the platform-independent codes interpreted by the interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction on the computer. Compilation happens just once; interpretation occurs each time the program is executed. The following figure illustrates how this works.
Figure 6.3.1.1: Working Of Java
You can think of Java byte codes as the machine code instructions for the java virtual machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java byte codes help make ‘write once, run anywhere’ possible. You can compile your program into byte codes on any platform that has a Java compiler. The byte codes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac.
The Java Platform:
A platform is the hardware or software environment in which a program runs. We’ve already mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and MacOS. Most platforms can be described as a combination of the operating system and hardware. The Java platform differs from most other platforms in that it’s a software-only platform that runs on top of other hardware-based platforms.
The Java platform has two components:
The java virtual machine (Java VM)
The java application programming interface (Java API)
You’ve already been introduced to the Java VM. It’s the base for the Java platform and is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages. The next section, What Can Java Technology Do?, highlights what functionality some of the packages in the Java API provide.
The following figure depicts a program that’s running on the Java platform. As the figure shows, the Java API and the virtual machine insulate the program from the hardware.
Figure 6.3.1.2: The Java Platform
Native code is code that after you compile it, the compiled code runs on a specific hardware platform. As a platform-independent environment, the Java platform can be a bit slower than native code. However, smart compilers, well-tuned interpreters, and just-in-time bytecode compilers can bring performance close to that of native code without threatening portability.
Working Of Java:
For those who are new to object-oriented programming, the concept of a class will be new to you. Simplistically, a class is the definition for a segment of code that can contain both data and functions. When the interpreter executes a class, it looks for a particular method by the name of main, which will sound familiar to C programmers. The main method is passed as a parameter an array of strings (similar to the argv[] of C), and is declared as a static method.
To output text from the program, execute the printlnmethod of System.out, which is java’s output stream. UNIX users will appreciate the theory behind such a stream, as it is actually standard output. For those who are instead used to the Wintel platform, it will write the string passed to it to the user’s program.

...(download the rest of the essay above)

About this essay:

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, Cooperative caching policies for minimizing electronic content provisioning cost in Social Wireless Networks (SWNET). Available from:<https://www.essaysauce.com/computer-science-essays/essay-cooperative-caching-policies-for-minimizing-electronic-content-provisioning-cost-in-social-wireless-networks-swnet/> [Accessed 17-04-24].

These Computer science essays have been submitted to us by students in order to help you with your studies.

* This essay may have been previously published on Essay.uk.com at an earlier date.