Self-organized Customized Content Delivery Architecture ... - CiteSeerX

5 downloads 223387 Views 1MB Size Report
Jun 23, 2008 - the web service level via a CDN (Content Delivery Network) distributor [3], the results are routed back to the sender via the overlay network.
Self-organized Customized Content Delivery Architecture For Ambient Assisted Environments Muaz Niazi Software Engineering Department Foundation University 1 – New Lalazar Rawalpindi, Pakistan

[email protected] ABSTRACT This paper gives two contributions; First, it presents an architecture for customized content delivery for Ambient Intelligent Environments. We demonstrate how physical peers made up of a Bluetooth-based network of Java-enabled mobile phones can be used to provide customized content delivery from the web without the need of a dedicated web connection per device. Secondly, we present two algorithms S elf-OrganiziNG random walkerS (SONGS ) and Peerto-peeR self-organIZ ed tE mporary overlayS (PRIZES ), both providing mechanisms of temporary overlay formation in limited connectivity ad-hoc networks. SONGS is an extension of k-random walk algorithm whereas PRIZES is a forest-fire type flooding mechanism. We then show how adding even naive self-organization to these algorithms significantly improves the leftover queries as well as latency in terms of hop-counts.

Categories and Subject Descriptors C.2.4 [Distributed Systems]; H.3.3 [Information Search and Retrieval]: [Search process]

General Terms Algorithms, Design, Experimentation, Measurement

Keywords Self-Organization, peer-to-peer, information retrieval, query routing, unstructured overlay networks, Distributed Hash Table

1.

INTRODUCTION

In this paper, we choose two algorithms from the domain of unstructured overlays and extend them to the domain of customized content delivery architecture for Ambient Assisted Living. We demonstrate the effectiveness

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. UPGRADE-CN’08, June 23, 2008, Boston, Massachusetts, USA. Copyright 2008 ACM 978-1-60558-155-2/08/06 ...$5.00.

of self-organization as a means of improving performance. Specifically, we do not use TTL in the flooding algorithm and show that even in this case, the performance can be significantly brought closer to the performance of k-random walkers by using even minimal self-organizing techniques requiring almost no maintenance. These temporary overlay formation algorithms are similar to both the unstructured Gnutella overlay network as well as k-walker algorithm for ad hoc networks. So, the idea is to actually use the ad-hocness to improve the performance of existing algorithms. The algorithms are to be applied to mobile phones with Bluetooth capability to discover net connectivity for peer-to-peer access to a content delivery network.

1.1

Problem statement

The human civilization is getting older and it is expected that about 40 million citizens of the European Union are 65 years or older and the number will have doubled by 2050 to about 80 million as noted in [1]. Because of an increase in expenses for health care, it is expected that more and more humans in the older age groups may move into assisted living facilities or nursing homes. Ambient Assisted Living is a relatively newer paradigm where technologies are used to provide for an immersive environment for living for older or handicapped people living alone or together and taking care of themselves. This presents certain peculiarities which have not been addressed previously in general purpose content delivery networks. The inhabitants of the Ambient Assisted environment frequently need information such as current market rates of a particular medicine (e.g. based on their prescription) or prices of their commonly purchased grocery items, their personal bank or credit card account details, copies of their credited or cashed checks or even ordering items or digital content such as downloadable files or documents or else music or video clips or news etc. The problem solved by this architecture can be considered as a query routing problem for discovering web connectivity resources. The query needs to be processed on a customized web service which acts as the provider for the updated custom content which it can store locally or can access it from other content providers [2] For economy and security reasons, direct net connectivity for all users is not preferred in this particular scenario so the devices need to self-organize. They can use Bluetooth to locate other peers within range and automatically route the query gradually forming a temporary unstructured overlay

network. The query is thus routed till it reaches a device with Internet connectivity. After the request is serviced at the web service level via a CDN (Content Delivery Network) distributor [3], the results are routed back to the sender via the overlay network. To enable the creation of this architecture, there are several technical challenges to be solved: 1. First of all, Bluetooth itself provides connectivity protocols at the lower level using piconet and scatternet[4]. However, application specific content delivery is unavailable. Whereas most CDN architectures are generalized [29] 2. Another challenge in the design of this architecture is the typical high mobility ad-hoc network problem where transmission range is limited and as such recordkeeping of route-related information may not be more of an overhead than being helpful. In addition, the user may not be able to move within range of a node with available web connectivity.

2.

BACKGROUND AND RELATED WORK

In this section, we discuss some of the prominent research work in related domains. To understand the key differences with other work, we first discuss a framework for resource binding. According to the framework presented by Fuggetta et. al. in [17], there are three types of process-to-resource bindings: 1. Binding by identifier 2. Binding by value 3. Binding by type

2.0.1

Binding by identifier

This is the strongest form of binding and occurs when a process needs to refer to any resource by its identifier. Thus, the calling process needs the exact resource and no other substitute will do. Examples include URLs to a web site.

2.0.2

Binding by value

Binding by value is said to occur when a process needs a particular type of resource e.g. when a program requires a certain type of library for its compilation or execution.

2.0.3

Binding by type

This is the weakest form of binding and the calling process only needs to reference a device of a particular type e.g. monitor or printer etc. In the current problem domain, we have a binding by type whereas most literature is on search for resources bound by identifier. Since a substitute resource can also be used, in this case, the exact resource may not be needed. This can conceptually be modeled as a replication of content as given in papers such as [43]. We essentially compare extensions of two of the mainstream approaches and see how self-organization can improve overall user experience and reduce load on wireless nodes.

2.1

Detailed overview of previous work

Lua et. al in [24] discusses in detail various peer-to-peer overlay network schemes. Some of the following details in the overview about overlay networks is extracted from this survey paper.

2.1.1

Overlay networks

Here we consider various approaches to use of overlay networks in query routing: 1. Structured overlay networks are those networks, where the network topology is tightly controlled and content is placed at specific locations to make future queries efficient. These overlay networks are basically formed using Distributed Hash tables where the data object location is placed deterministically. Theoretically, DHTbased systems can guarantee that any data object can be located in a small O(log(|peers|)) overlay hops on average. DHT based systems such as [10, 16, 31] are some of the prominent systems amongst the structured overlay formation algorithms. An example of blackboard architecture based structured overlay network for file search and replication is “Multisync” presented in [26, 27] 2. Unstructured P2P centralized overlay model became prominent due, in part, to the success of Napster. However Napster’s model involved a managed directory server which limited its scalability being the Single Point of Failure. Subsequent models tended to use flooding requests model such as in P2P unstructured overlay-based Gnutella, where each peer keeps a user-driven neighbor table to locate data objects. These can typically be quite effective in locating commonly accessed or popular data items because of the power-law property associated with most user-driven graphs. However, they can also lead to excessive consumption of network bandwidth as well as a heavy network traffic. Similar to our problem domain, remote or unpopular data objects may not be easily found due to the limitation of the lookup horizon, typically imposed by TTL. Two alternative given in [43] are the expanding ring and the k-random walk algorithms. Major unstructured overlay networks include Overnet/eDonkey2000 [5], FastTrack/KaZaA in [6], Gnutella in [11], Freenet [19, 25] and BitTorrent [30]. 3. Other query routing algorithms in the domain of adhoc routing are described in [45, 12, 21, 23, 33]. In addition, there are certain algorithms which have been proposed for content discovery in ad hoc networks such as [34, 35, 36, 37, 38, 39, 40, 41, 42, 43]. A different approach is used by [15] which develops a bio-inspired system using an ant pheromone algorithm where entropy is kept at a minimum by using this bio-inspired pheromone mechanism. While another interesting approach is given in [13, 14] which develops a tree structured overlay network with multi-threaded agents for use in autonomic grid scheduling. The key idea is to move better performing agents closer to the root.

2.1.2

Content Delivery Networks

The idea of Content Delivery Networks (CDNs) is based on content replication. Such replication can improve network performance by maximizing bandwidth, improving accessibility and maintaining correctness. A detailed taxonomy of CDNs is given in [29]. This paper also discusses a number of adaptive and non-adaptive request-routing algorithms. Replication of web content is discussed in [32]. Also

[3] gives an overview of balancing the costs vs. quality of service for customers in Content Delivery Networks.

2.1.3

Self-Organization

A Self-Organizing system is defined as following: “A system, in which the elements are designed to reach/achieve by themselves a desired solution/function of the system.” The ideas under the umbrella of self-organization have been in the literature for a long time. Recently self-organization has been used in a number of different domains e.g. [18] and [20]. Self-organization in Ambient environments for control is discussed in [22]. In terms of self-managing nodes, some interesting work is given in [7]. From the point of view of selforganization in overlay networks, [9] discusses interference in self-tuning mechanisms and uses Software Engineering Approaches such as AOP (Aspect Oriented Programming) to solve them.

2.2

2.2.1

The network structure in the ad-hoc network scenario is typically highly unpredictable and unstable. Most existing overlay networks use structured overlay formation techniques using one of the standard algorithms involving constructing a DHT (Distributed Hash Table). Even some literature attempts to use the same in ad-hoc network scenario. A hash table is suitable for the scenario where the content is distributed more or less uniformly around the network and the query is used to route the request to the content provider. The reason for keeping this additional routing data is primarily because the network structure is more or less expected to be fixed. As such, the thesis of the current work is that “By using even basic self-organization techniques, we can achieve significant performance advantage over basic techniques. This idea makes the techniques particular suitable for domains, where maintenance of routing information can result in prohibitive wireless traffic load.”

Contributions

[43] discusses various query routing algorithms while comparing to Gnutella network. They show that expanding ring and k-random walk algorithms perform much better than Gnutella’s flooding based mechanisms. Our work can be considered as an extension of their k random-walk algorithm in the ambient assisted ad-hoc network domain. To understand the key differences with this paper, let us compare their work with here: 1. The authors of the above mentioned paper assume that the P2P network graph as well as the query frequencies do not change during the simulation. In the current work, the situation is completely different and the graph continuously changes during the execution of the search. As a matter of fact, we use this property to improve the performance of this algorithms.

Thesis statement

3.

PROPOSED SOLUTION

Our proposed solution is to have a customized content delivery distributed architecture based on physical peers in the form of Java enabled phones with an intelligent physical agent running which assists in this process. In addition, the actual customized content is retrieved via a web services based architecture. The general idea of the query routing is given in the figure 1:

2. Their work uses proactive replication, where content is replicated across the network other than the owner. In our case, there is only a single type of replicated content i.e. web resource. 3. In the above work, the choice based k-random walker algorithm requires that the walkers keep on checking the status from the requester node periodically. However, that would be possible only if the network structure stays fixed. In the current problem domain, there are no guarantees of the structure. As such, the only way the returning query may be able to assure guaranteed return is either by flooding or random walking. In our simulations, this is assumed as a constant factor because of twice the time taken from the sender. The contributions of the paper can be summarized as following: 1. A customized content-delivery architecture for Ambient Assisted Environments 2. Algorithms for self-organization and temporary overlay formation for “bound by type” resources. In related literature, routing is being used to look for content (i.e. Resources bound by identifier or by value)

Figure 1: Query routing

3.1

System architecture

The overall system architecture is depicted in figure 2. As we can see, it shows various assisted living houses all connected to a CDN provider via a web services based architecture. The idea is that the web service architecture can have redundant web services. It can also be used to connect to other Content Delivery Networks. Web services have occasionally been used in CDN architectures such as [2] to retrieve content. Now, inside each of these houses, there can be several wireless devices (mobile phones)hosting a Java J2ME based

Figure 2: Overall architecture agent with Bluetooth connectivity. However, not all of these devices have direct access to Internet. In such cases, the physical distance between peers keeps changing. To solve the problem of net access without direct Internet connectivity we use dynamic self-organization of our network.

4.

DESCRIPTION OF THE ALGORITHMS

4.1

Designing self-organization

In this work, we consider self-organization of the network as adding/dropping of neighbors. Self-organization can be controlled by the following means: 1. Random self-organization. 2. Intelligent self-organization. In the current work, we evaluate only random self organization. We have discovered how even this technique can be applied to existing algorithms to improve overall performance in the ad hoc network scenario. The key idea is that we want to let queries have more path options before they die off in this particular disconnected scenario. Most papers do not consider even partially disconnected graphs such as [44, 45] . As such, in this scenario, wherever queries would stuck, self-organization would help in getting those queries out of isolated subnets as subsequently shown in the discussion of results. In actual implementation, the network structure is undiscovered most of the time and as such, when the query expands its view, it forms its overlay gradually with each step. Figure 3 describe the complete query routing mechanism. Let us take an example scenario for query forwarding. The following kinds of agents are given in the figure. 1. Query Initiator Agent (QIA) is initially gray in color 2. Query Forwarding Agents (QFA) are initially white and then they also become gray in color 3. Web Enabled Agents (WEA) are black in color. The way it works is that the QIA first discovers its peers and broadcasts the query to them. Next, as we can see, each of the peers finds other peers within range and subsequently forward the query to them according to the particular algorithm used.

Figure 3: Overlay formation in Query processing

4.2

Designing the algorithms

The algorithms are designed to consist of two parts:

4.4.1

The uplink algorithm for SONGS can be considered to be executed on three different types of agents:

1. Query uplink problem (Moving the query from the initiator to the web service)

1. Algorithm for the QIA. F AQIA 2. Algorithm for the QFA. F AQF A

2. Query downlink problem (Returning the results from the web service to the initiator. Once the query gets to the web enabled agent, next the agent connects to the web and retrieves the specialized information and starts the query return. Now, the idea is that only one query agent reaches the web service. As soon as it reaches there, the web service disregards any other subsequent query with the same query ID. This is actually inspired from the biological phenomenon of fertilization where only one sperm is allowed to mate with the egg. Now, on the way back from the web enabled agent, the query has two options: 1. It can try to follow the path that it used while coming here till it discovers that some node is missing. 2. If some node is missing, (e.g. discovers a peer no longer being available), then from that point onwards it can start using the forward algorithm back to the QIA.

4.3

SONGS algorithm

The SONGS algorithm is an extension of the k walker algorithm given in [43] where it is shown to outperform both expanding ring algorithm as well as flooding based algorithms. The key differences with the k random walker algorithm has been discussed in the background section.

4.3.1

Description of SONGS

In SONGS, we start with k random walkers on the query initiator agent. Subsequently these walkers move randomly. This continues till the goal node is reached. Afterwards, they back track back to the QIA. However, the key difference (other than those mentioned previously) with k random walkers is the prevalence of self-organization.

4.4

PRIZES algorithm

The PRIZES algorithm is similar in some ways with the Gnutella-like distributed flooding approach. It starts with one agent on the QIA and with each move, the query moves to the neighbors till the goal is reached and subsequently it also backtracks to its source node. Instead of using a TTL, the nodes save IDs of flooding walkers and thus guarantee that a flooding walker does not traverse again on the same node. Once a flooding walker finds itself to be in a situation, where there are no more immediate nodes to explore, it simply dies there. If however, a flooding walker reaches a goal node, it will start to go back towards its query initiator. The queries essentially explore like forest fires while attempting to minimize extraneous queries. When the query reaches the WEA, the network may still contain other copies of the query messages. However, the algorithms ensure that if a query runs out of nodes, it is destroyed instead of reexploring the network as in TTL based flooding.

Forward algorithm (FA) for SONGS

3. Algorithm for the WEA. F AW EA (Common for both)

4.4.2

Algorithm execution on QIA (F AQIA ) The algorithm in plain English pseudo-code is described below: 1. Create Query Message 2. Make query uplink 3. Add User Request to Query 4. Encrypt User credentials 5. Add User Credentials to Query 6. Update Query Node List 7. Assign Unique ID to Query 8. If PeersInRange 9. Make List of Peers 10. Broadcast Query to Peers 11. Wait for results 12. If no results within user specified time 13. Inform user of timeout 14. else 15. Inform user

4.4.3

Algorithm execution on QFA (F AQF A )

The algorithm goes as following: 1. 2. 3. 4. 5. 6. 7.

Read Uplink Query attributes Update Query Node List If PeersInRange Make List of Peers Broadcast Query to Peers else Discard query

4.4.4

Algorithm execution on WEA (F AW EA )

When one of the query messages arrive at the web enabled agent WEA, it will execute the following code: 1. 2. 3. 4.

Read request from Query Assemble a web request Execute request Wait for results

4.4.5

Code executed on web service

The web service will receive a request for content delivery. However it now has to ensure that only one query request (the first to arrive) is serviced and rest are discarded if the query ID is not the same. 1. If user credentials invalid 2. return false 3. Check query request ID 4. If ID in serviced list 5. Discard and delete from queue 6. else 7. Execute content request 8. Wait for results from CDN 9. Save ID in serviced list 10. Return results

4.4.6

The downlink algorithm

As discussed earlier, the case for the downlink is slightly different because the returned query now has a tentative list of nodes which it can experiment with. Although there is no guarantee that these nodes will be available when it actually is following its path back home. So, to get the best of both worlds, the query first experiments with the available nodes. If however, it discovers that the path has been broken (due to changing network conditions), it has to start either a random walk or flooding back to the original QIA. For SONGS, we assume 1-random walk back to QIA and for PRIZES, we consider flooding back to QIA. Now, the same algorithm is executed on all peers: 1. Read Query Node List 1a. If start create empty return query node list 2. If only myself in list 3. Display results to user 4. return 5. Else 6. Remove self from List 7. Check Locale for last member in list 7a. Update return query node list 8. If not available 9. Send Query back using RW or FD 10. Else 11. Send query to last member

to occur by dropping and adding links over time. The simulations were performed with various rates of network change ∆c. In addition, we used a 2-D randomly connected grid. The simulation used self-organization ranging from 0.1 sec to 2.0 second. Self-organization was simulated by adding and dropping of nodes.

Figure 4: Simulation User Interface

6.2

• User’s point of view In this case, we consider the following: – # hops: These were used as a measure of delay in finding the needed resource. Instead of latency, we consider the abstract number of hops for a successful search to travel before it is sent back to the initiator node.

Here RW stands for “Random Walk” and FD for “Flooding”.

5.

IMPLEMENTATION OF THE PROJECT

The current work is a sub-project of the Ambient Assisted Living related initiative. It is a follow-up of the distributed authentication problems in pervasive environments given in [8] and [28]. The current project however is being developed at two levels. On one hand, we are developing agentbased simulations of the project in tools such as NetLogo to evaluate the algorithms. One the other, we are actually developing the peer agents software using Java, J2ME (Java 2 Micro Edition) and JABWT. (Java APIs for Bluetooth Wireless Technology) where we actually upload these agents with this code. In the current paper, we proposed the algorithms as an alternative to traditional approaches of overlays. The reason is to have lightweight algorithms.

6. 6.1

– # leftover queries: These are the queries which could not reach the destination node because of unavailability of a path. • Load point of view – # msgs per node: This would be the overhead because of the running of the algorithm and is a measure of the average number of search messages each node has to forward/process. This is especially true in the case of Bluetooth based networks, where power is an important resource and each message can incur significant cost in terms of power. – # peak msgs: This shows what the busiest node would encounter in this network.

MODELING AND SIMULATION Simulation Methodology

Multiple simulation experiments were performed for this work. The simulations presented next were performed on a random two dimensional grid where nodes. We simulate queries being generated randomly. We also simulate self-organization of the system. The self-organization is dictated by a rate. Practically, this is implemented by adding and dropping nodes periodically. The results are quite interesting especially in cases where network structure was hindering propagation of queries. The queries are routed by dynamically forming the unstructured flat overlay network using either of the k-random walkers or flooding based mechanisms. Next, queries are then broadcasted on the network as per the algorithms discussed above. A typical simulation scenario is shown in figure 4. We allow for network changes

Metrics

To cater for the particular scenario, we have taken two kinds of metrics:

7. 7.1

DISCUSSION OF RESULTS Number of hops

In these series of experiments, we developed simulations for discovering the hop count for various query levels. The experiments were conducted on a grid. The figure 5 shows the hop count for the random-walker based SONGS algorithm. Here, to match with previous papers in the domain, we use a 32-walker simulation. However, applying self-organization, we see that most of the time, the performance in terms of hops almost doubles. Next, we see the result of a similar experiment using the PRIZES flooding algorithm. In this plot given in figure 6, we can see that without the application of self-organization,

Figure 5: Hop Count for SONGS flooding behaves very poorly. Another interesting point to note is that we are taking in consideration an extreme case of flooding without TTL. So, even without TTL, the selforganization mechanism demonstrates how the performance can be significantly improved in this scenario by giving almost 6 times the performance without self-organization in high-query scenarios.

Figure 7: Hop count for SONGS vs. PRIZES

Figure 6: Hop count for PRIZES Now, in the next comparison, we compare the algorithms for SONGS and PRIZES without self-organizing in terms of their hop counts in figure 7. We see that the hop counts for PRIZES grows significantly as queries increase. In the next figure 8, we see the significant change in the performance of the PRIZES algorithm when we add selforganization. However, we also note that too much selforganization seems to perform worse in high query scenarios. Intermediate self-organization performs very close to the SONGS algorithm with self-organization.

7.2

Left-over queries

P Left-over queries qlo form a very important metric for the problem domains. The idea is that we need to minimize them as they can cause user inconvenience. In the SONGS

Figure 8: Hop count for SO SONGS vs. SO PRIZES

algorithm we see in figure 9 that without self-organization, there can be left-over queries. However with the use of selforganization, left-over queries are minimized.

Figure 11: Maximum messages for any node

Figure 9: Leftover queries for SONGS

the system is able to almost match SONGS k-random walker based algorithm.

Next, we consider leftover queries for the PRIZES algorithm in figure 10. In this case, again, the leftover queries are minimized when, in general, we increase the self-organization in the network.

Figure 12: Average messages per node

7.4 Figure 10: Leftover queries for PRIZES

7.3

Load analysis

In the following simulation experiments, our goal is to look at metrics in terms of maximum messages encountered by individual nodes and the average messages per node. These metrics are important because of the power cost associated with messaging in this particular domain. So, first, we examine the maximum messages load for all configurations in figure 11. From this plot, we can see that by adding selforganization, we have been able to significantly reduce the maximum messages for any algorithm, even for the flooding based PRIZES algorithm. For the case of the average messages per node, let us take a look at figure 12. Here we see that using self-organization,

Comparison of SONGS and PRIZES

Without self-organization, the PRIZES and SONGS algorithms have performance comparable to flooding and krandom walks respectively. However, this is changed when self-organizing of the network structure is applied. As seen in the results section, even by the application of a small amount of self-organization, significant improvement in the algorithm has been achieved.

8.

CONCLUSION AND FUTURE WORK

In this paper, we have seen how the peculiar scenario for customized content delivery adds new variable to the query routing scenario. In particular, we demonstrate how existing random walker and flooding algorithms can be customized by adding self-organization. We show that the addition of self-organization can significantly improve existing algorithms. We also see that ad hoc networks are a good candidate for self-organization since maintenance of network structure is already a problem in this domain. Even

flooding based algorithms improve considerably by orders of magnitude. We have also examined how the interval for re-organization changes the overall performance and perception of the system. Even small changes in the metrics can result in significant changes in the overall performance measures. The two proposed algorithms are shown to be suitable for process-to-resource binding by type. In the future, we intend to explore how intelligent self-organization of nodes can affect unstructured overlay content networks.

9.

REFERENCES

[1] Fraunhofer IESE. Ambient assisted living. http://www.iese.fraunhofer.de/fhg/iese/, 2008. [2] A.-M. K. Pathan, J. A. Broberg, K. Bubendorfer, K. H. Kim, and R. Buyya. An architecture for virtual organization (vo)-based effective peering of content delivery networks. In UPGRADE ’07: Proceedings of the second workshop on Use of P2P, GRID and agents for the development of content networks, pages 29–38, New York, NY, USA, 2007. ACM. [3] G. Pallis and A. Vakali. Insight and perspectives for content delivery networks. Commun. ACM, 49(1):101–106, 2006. [4] A. N. Klingsheim. J2me bluetooth programming. Master’s thesis, The University of Bergen, 2004. [5] Overnet/edonkey2000. www.edonkey2000.com/, 2000. [6] Kazaa media desktop. http://www.kazaa.com/us/, 2001. [7] J. H. Abawajy. Autonomic job scheduling policy for grid computing. In International Conference on Computational Science (3), pages 213–220, 2005. [8] P. Adamczyk, K. Hamilton, A. Chamberlain, S. Benford, N. Tandavanitj, A. Oldroyd, K. Hartman, K. London, S. Sriskandarajah, E. Kanjo, P. Lanshoff, K. Sezaki, S. Konomi, M. A. Niazi, H. F. Ahmad, F. Mirza, A. Ali, G. Roussos, D. Papadogkonas, and M. Levene. Urban computing and mobile devices. IEEE Distributed Systems Online, 8(7):2, 2007. [9] S. Apel and K. B¨ ohm. Self-organization in overlay networks. In CAiSE Workshops (2), pages 139–153, 2005. [10] Y. Cao, Z. Duan, J. Qi, Z. Peng, and E. Lv. Implementing chord for hp2p network. In LECTURE NOTES IN COMPUTER SCIENCE. Springer, 2006. [11] M. Castro, M. Costa, and A. Rowstron. Should we build gnutella on a structured overlay? SIGCOMM Comput. Commun. Rev., 34(1):131–136, 2004. [12] E. Catterall, K. V. Laerhoven, and M. Strohbach. Self-organization in ad hoc sensor networks: an empirical study. In ICAL 2003: Proceedings of the eighth international conference on Artificial life, pages 260–263, Cambridge, MA, USA, 2003. MIT Press. [13] A. Chakravarti, G. Baumgartner, and M. Lauria. Self-organizing scheduling on the organic grid. International Journal of High Performance Computing Applications, 20, No. 1:115–130, 2006. [14] A. J. Chakravarti, G. Baumgartner, and M. Lauria. The organic grid: Self-organizing computation on a peer-to-peer network. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, 35, NO. 3:1–12, MAY 2005.

[15] A. Forestiero, C. Mastroianni, and G. Spezzano. Building a peer-to-peer information system in grids via self-organizing agents. Journal of Grid Computing, 6, No 8, 2008. [16] M. J. Freedman and D. Mazi´eres. Sloppy Hashing and Self-Organizing Clusters, volume 2735/2003. Springer Berlin / Heidelberg, 2003. [17] A. Fuggetta, G. P. Picco, and G. Vigna. Understanding Code Mobility. IEEE Transactions on Software Engineering, 24(5):342–361, 1998. [18] C. Gershenson and F. Heylighen. When can we call a system self-organizing? In ECAL, volume Volume 2801/2003, pages 606–614, 2003. [19] A. Goel and R. Govindan. Using the small-world model to improve freenet performance. Computer Networks Journal, 46, no. 4:555–574, November 2004. [20] F. Heylighen, P. Cilliers, and C. Gershenson. Complexity and philosophy. Arxiv preprint cs.CC/0604072, 2006. [21] D. Johnson. Routing in ad hoc networks of mobile hosts. Proceedings of the Workshop on Mobile Computing Systems and Applications, pages 158–163, 1994. [22] P. Kersch, R. Szabo, Z. Kis, M. Erdei, and ˜ acs. Self organizing ambient control space: an B. KovA , ambient network architecture for dynamic network. Proceedings of the 1st ACM workshop on Dynamic interconnection of networks pages 17–21, 2005. [23] J. Liu, F. Zhao, and D. Petrovic. Information-directed routing in ad hoc sensor networks. Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications pages 88–97, 2003. [24] E. K. Lua, J. Crowcroft, M. Pias, R. Sharma, and S. Lim. A survey and comparison of peer-to-peer overlay network schemes. Communications Surveys & Tutorials, IEEE, 7(2):72–93, Second Quarter 2005. [25] J. Mache, M. Gilbert, J. Guchereau, J. Lesh, and F. Ramli. Request algorithms in freenet-style peer-to-peer systems. Peer-to-Peer Computing, 2002.(P2P 2002). Proceedings. Second, 2002. [26] M. Niazi, U. Manzoor, K. Ijaz, Summiya, and H. saleem. Eliminating duplication and ensuring file integrity in multisync: A multiagent system for ubiquitous file synchronization. In 9th International Multitopic Conference, IEEE INMIC 2005, pages 1–6, Dec, 2005. [27] M. Niazi, U. Manzoor, K. Ijaz, Summiya, and H. saleem. Multisync: a multiagent system for ubiquitous file synchronization. In CIIT, 2nd International workshop, Oct, 2005. [28] M. A. Niazi and A. R. Baig. Phased approach to simulation of security algorithms for ambient intelligent (ami) environments. In Proceedings of the Winter Simulation Conference 2007, 2007. [29] A. M. K. Pathan and R. Buyya. A taxonomy and survey of cdns. Technical report, GRIDS-TR-2007-4, The University of Melbourne, Australia, Feb, 2007. [30] D. Qiu and R. Srikant. Modeling and performance analysis of bittorrent-like peer-to-peer networks. In ACM SIGCOMM, August 30 - September 3, 2004.

[31] A. Rowstron and P. Druschel. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In IFIP/ACM International Conference on Distributed Systems Platforms (Middleware) Heidelberg, Germany, pages 329-350, November, 2001, 2001. [32] S. Sivasubramanian, M. Szymaniak, G. Pierre, and M. van Steen. Replication for web hosting systems. ACM Comput. Surv., 36(3):291–334, 2004. [33] B. Yang and A. R. Hurson. Content-aware search of multimedia data in ad hoc networks. In MSWiM ’05: Proceedings of the 8th ACM international symposium on Modeling, analysis and simulation of wireless and mobile systems, pages 103–110, New York, NY, USA, 2005. ACM. [34] Y. Chen and K. Schwan. Opportunistic overlays: Efficient content delivery in mobile ad hoc networks. [35] Y. Liu, L. Xiao, X. Liu, L. M. Ni, and X. Zhang. Location awareness in unstructured peer-to-peer systems. IEEE Transactions on Parallel and Distributed Systems, 16(2):163–174, 2005. [36] M. Faulkner, B. Wang, O.-P. Wikene, and N. Xu. A distributed content delivery network using wireless ad-hoc technology. http://www.matthewfaulkner.org/MSc/DCDWAT.doc [37] M. Fiore, C. Casetti, and C.-F. Chiasserini. On-demand content delivery in vehicular wireless networks. pages 87–94, 2005. [38] S. Anawar, L. Coyle, S. Dobson, and P. Nixon. Context delivery in ad hocalgorithms. In EuroSSC, pages 218–221, 2006.

[39] C.-J. Wu, K.-H. Yang, and J.-M. Ho. Antsearch: An ant search algorithm in unstructured peer-to-peer networks. IEICE TRANS. COMMUN., E89-B, No.9:2300–2308, September 2006. [40] I. Taylor. Multiple co-existing grouping overlays. In UPGRADE ’07: Proceedings of the second workshop on Use of P2P, GRID and agents for the development of content networks, pages 1–2, New York, NY, USA, 2007. ACM. [41] X. Bao, B. Fang, M. Hu, and B. Xu. Heterogeneous search in unstructured peer-to-peer networks. IEEE Distributed Systems Online, 6, No. 2:1–14, February 2005. [42] B. Yang and A. R. Hurson. Content-aware search of multimedia data in ad hoc networks. pages 103–110, 2005. [43] Q. Lv, P. Cao, E. Cohen, K. Li, and S. Shenker. Search and replication in unstructured peer-to-peer networks. In ICS ’02: Proceedings of the 16th international conference on Supercomputing, pages 84–95, New York, NY, USA, 2002. ACM. [44] I. Stojmenovic, M. Seddigh, and J. Zunic. Dominating sets and neighbor elimination-based broadcasting algorithms in wireless networks. IEEE Trans. Parallel Distrib. Syst., 13, No.1(1):14–25, 2002. [45] P. Bose, P. Morin, I. Stojmenovi´c, and J. Urrutia. Routing with guaranteed delivery in ad hoc wireless networks. Wirel. Netw., 7(6):609–616, 2001.

Suggest Documents