Download Querical Data Networks - InfoLab - University of Southern California

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

IEEE 1355 wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Distributed operating system wikipedia , lookup

Airborne Networking wikipedia , lookup

Peer-to-peer wikipedia , lookup

Transcript
Querical Data Networks
Cyrus Shahabi
and
Farnoush Banaei-Kashani
University of Southern California (USC)
Computer Science Department
I N T R O D U C T I O N
Recently, a family of massive self -organizing data networks has emerged.
These networks mainly serve as large-scale distributed query processing systems.
We term these networks Querical Data Networks (QDN). A QDN is a federation of
a dynamic set of peer, autonomous nodes communicating through a transient -form
interconnection. Data is naturally distributed among the QDN nodes in extra -fine
grain, where a few data items are dynamically created, collected, and/or stored at
each node. Therefore, the network scales linearly to the size of the dataset. With a
dynamic dataset, a dynamic and large set of no des, and a transient-form
communication infrastructure, QDNs should be considered as the new generation of
distributed database systems with significantly less constraining assumptions as
compared to their ancestors. Peer -to-peer networks (Daswani, 2003) and sensor
networks (Estrin, 1999, Akyildiz, 2002) are well -known examples of QDN.
QDNs can be categorized as instances of “complex systems” (Bar -Yam, 1997)
and studied using the complex system theory. Complex systems are (mostly natural)
systems hard (or complex) to describe information -theoretically, and hard to
analyze computationally. QDNs share the same characteristics with complex
systems, and particularly, bear a significant similarity to a dominating subset of
complex systems most properly modeled a s large-scale interconnection of
functionally similar (or peer) entities. The links in the model represent some kind
of system-specific entity-to-entity interaction. Social networks, a network of
interacting people, and cellular networks, a network of inte racting cells, are two
instances of such complex systems. With these systems, complex global system
behavior (e.g., a social revolution in a society, or food digestion in stomach!) is an
emergent phenomenon, emerging from simple local interactions. Various fields of
study, such as sociology, physics, biology, chemistry, etc., were founded to study
different types of initially simple systems and have been gradually matured to
analyze and describe instances of incrementally more complex systems. An
interdisciplinary field of study, the complex system theory 1, is recently founded
based on the observation that analytical and experimental concepts, tools,
techniques, and models developed to study an instance of complex system at one
field can be adopted, often almost unchanged, to study other complex systems in
other fields of study. More importantly, the complex system theory can be
1
Go to New England Complex Systems Institute (http://necsi.org/) for more information about the complex
system theory.
considered as a unifying meta -theory that explains common characteristics of
complex systems. One can extend application of the comp lex system theory to
QDNs by:
1.
Adopting models and techniques from a number of impressively similar
complex systems to design and analyze QDNs, as an instance of engineered
complex systems; and
2. Exporting the findings from the study of QDNs (which are eng ineered,
hence, more controllable) to other complex system studies.
This article is organized in two parts. In the first part, we provide an overview,
where we 1) define and characterize QDNs as a new family of data networks with
common characteristics and applications, and 2) review possible database -like
architectures for QDNs as query processing systems and enumerate the most
important QDN design principles. In the second part of the article, as the first step
toward realizing the vision of QDNs as comp lex distributed query-processing
systems, we focus on a specific problem, namely the problem of effective data
location (or search) for efficient query processing in QDNs. We briefly explain two
parallel approaches, both based on techniques/models borrowed from the complex
system theory, to address this problem.
B A C K G R O U N D
Here, we enumerate the main componental characteristics and application
features of a QDN.
Componental Characteristics
A network is an interconnection of nodes via links, usually mod eled as a graph.
Nodes of a QDN are often massive in number and bear the following
characteristics:
 Peer functionality: All nodes are capable of performing a restricted but similar
set of tasks in interaction with their peers and the environment, although they
might be heterogeneous in terms of their physical resources. For example, joining
the network and forwarding search queries are among the essential peer tasks of
every node in a peer -to-peer network.
 Autonomy: Aside from the peer tasks mentioned above, QDN nodes are
autonomous in their behavior. Nodes are either self -governing, or governed by
out-of-control uncertainties. Therefore, to be efficacious and applicable the QDN
engineering should avoid imposing requirements to and making assumptions about
the QDN nodes 2. For example, strict regulation of connectivity (e.g., enforcing
number of connections and/or target of connections) might be an undesirable
feature for a QDN design.
 Intermittent presence: Nodes may frequently join and leave the network ba sed
on their autonomous decision, due to failures, etc.
On the other hand, links in various QDNs stand for different forms of
interaction and communication. Links may be physical or logical, and they are
2
One can consider peer tasks as rules of federation, which govern the QDN but do not violate autonomy of
individual nodes.
fairly inexpensive to rewire. Therefore, a QDN is a large-scale federation of a
dynamic set of autonomous peer nodes building a transient -form interconnection.
Conventional approaches developed to model and analyze traditional distributed
database systems (and classical networks, as their underlying commun ication
infrastructure) are either too weak (oversimplifying) or too complicated
(overcomplicated) to be effective with large -scale and topology-transient QDNs.
The complex system theory (Bar -Yam, 1997), on the other hand, provides a set of
conceptual, experimental, and analytical tools to contemplate, measure, and analyze
systems such as QDNs.
Application Features
A QDN is applied as a distributed source of data (a data network) with nodes
that are specialized for cooperative query processing and data re trieval. The node
cooperation can be as trivial as forwarding the queries, or as complicated as in network data analysis. In order to enable such an application, QDN should support
the following features:

Data-centric naming, addressing, routing, and stor age: With a QDN, queries
are declarative; i.e., query refers to the names of data items and is independent of
the location of the data. The data may be replicated and located anywhere in the
data network, the data holders are unknown to the querier and are only
intermittently present, and the querier is interested in data itself rather than the
location of the data. Therefore, naturally QDN nodes should be named and
addressed by their data content rather than an identifier in a virtual name space
such as the IP address space. Consequently, with data -centric naming and
addressing of the QDN nodes ( Heidemann, 2001), routing (Ratnasamy, 2002) and
storage (Ratnasamy, 2003) in QDN are also based on the content. It is interesting
to note that non-procedural query languages such as SQL also support declarative
queries and are appropriate for querying data -centric QDNs.
 Self-organization for efficient query processing : QDNs should be organized for
efficient query processing. A QDN can be considered as a database syst em with
the data network as the database itself (see the next section). QDN nodes
cooperate in processing the queries by retrieving, communicating, and preferably
on-the-fly processing of the data distributed across the data network. To achieve
efficiency in query processing with high resource utilization and good
performance (e.g., response time, query throughput, etc.), QDN should be
organized appropriately. Examples of organization are: intelligent partitioning of
the query to a set of sub -queries to enable parallel processing, or collaborative
maintenance of the data catalogue across the QDN nodes. However, the peer tasks
of the QDN nodes should be defined such that they self-organize to the
appropriate organization. In other words, organization must be a collective
behavior that emerges from local interactions among nodes; otherwise the
dynamic nature and large scale of QDN render any centralized micro -management
of QDN unscalable and impractical.
V I S I O N :
A
F R A M E W O R K
D A T A B A S E
F O R Q D N S
Q U E R Y I N G
In previous section, we defined a Querical Data Network (QDN) as a
distributed data source and a query processing system. On the other hand, a
database system (DBS) is designed specifically as a general framework for
convenient and efficient querying of static or dynamic collections of interrelated
data. Thus, querying QDNs can be designed, developed, and executed by adopting
DBS as the general-purpose querying framework, leveraging on its rich
abstractions, theories, and processing methods ( Govindan, 2002, Harren, 2002). In
particular, adopting the DBS framework potentially results in 1) convenient and
rapid application development for users at the conceptual level, by providing well known and transparent abstractions independent of the implementation of the
querying, and 2) efficient query processing at the physical level, by providing a
general-purpose querying component that adopts and customizes query processing
methods from the database literature as well as other related fields such as
distributed computing.
Here, we depict and compare potential architectures for the DBS framework,
define a taxonomy of approaches to generalize this querying framework for the
entire family of QDNs, and enumerate some important design principles for query
processing in QDNs.
Architecture
The DBS querying framework for QDNs suggests a 2 -level architecture
comprising of conceptual level and physical level. At the conceptual level, queries
are defined based on the conceptual schema of the data network, independent of the
physical implementation of the query processing. The physical data independence
allows rapid development of QDN applications, similar to the database application
development. For instance, a peer -to-peer application that monitors violation of
speed limit at a highway can pose the following query to a (hypothetical) mobile
peer-to-peer network of vehicles:
SELECT
FROM
WHERE
vehicle-ID
Cars
(speed > 70) AND (location IN “Highway No. 88”)
Similarly, a heat alert application may pose the following query to a heat detection
sensor field: “Report the outlier heat data in all offices during night.”
Queries are executed at the physical level. There are two extreme choices of
design for query processing at the physical level: centralized and decentralized; a
hybrid design may also be meaningful for particular applications. With a
centralized design, a potential querier (i.e., one of the QDN nodes or an outsider)
receives the query from the QDN application at the conceptual level. The query is
disseminated to all QDN nodes, where the query is interpreted based on the local
conceptual schema and all raw data required to process the query are transmitted
back to the querier via the network (see Figure 1 -a). The querier treats the collected
data as a centralized database, and processes and analyzes the data to respond the
query. With this scheme, data sourcing and query processing are completely
decoupled; the data network maintains and communicates the data, and the querier
processes the query individually. Th e cooperation among QDN nodes is limited to
forwarding the query and the raw data, and the network is used only as a point -topoint communication infrastructure to communicate the data between the sources
and the querier.
Conceptual Level
Conceptual Level
Physical Level
Physical Level
Information
Information
Database
Data
Database Querical
Data Netowrk
(DB-QDN)
Querical Data Network (QDN)
a.
Centralized Design
b. Decentralized Design
Fig. 1. Database System Framework for Querying Querical Data Networks (QDNs)
A centralized design is simple to implement. The centralized query processing
approach is also resource -efficient for trivial queries such as typical peer -to-peer
search queries. However, with complex queries, where, for example, two 10000 record tables must be joined to retrieve a few records, the overhead of transmitting
the entire content of the tables to the querier for central processing is
overwhelming and renders the centralized approach impractical. With most QDNs
(e.g., sensor networks), this overhead is particularly intolerable due to the several
orders of magnitude higher cost of communication as compared with that of
computation in typical QDN nodes. Instead, in -network and on-the-fly processing
of the query potentially eliminates the redundant communication of the data; hence ,
it is more efficient and scalable. The decentralized design adopts the latter
approach.
With the decentralized design, the QDN is itself both the source of the data and
the query-processing unit (see Figure 1 -b). The data sourcing/communication and
data analysis tasks are integrated, and QDN nodes cooperate to perform both tasks
within the network. With this approach, queries are processed based on the
following general scheme: query is disseminated to a selected set of QDN nodes;
QDN nodes exploit their computing power to process the query locally,
cooperatively, in parallel, and in a distributed fashion, to extract the required
information from the raw data; eventually, the extracted information merge to
comprise the final query result while traveling to ward the querier through the
network.
The efficiency of the decentralized design is due to in -network processing.
With this approach, communication of the raw data is restricted to short -range
(hence, less costly) communications among local cooperative -analysis groups of
QDN nodes, which process the voluminous raw data and extract the concise
required information to respond to the query. Although the decentralized design
potentially promises an efficient and scalable querying framework for QDNs,
realizing this design is a challenging endeavor and requires designing efficient
distributed and cooperative query processing mechanisms that comply with specific
characteristics of QDNs.
Taxonomy
Based on the two fundamentally distinct design choices for the physi cal level
of the DBS framework (i.e., centralized and decentralized), one can recognize two
approaches to implement a DBS -based querying system for QDNs:
1. Database for QDN: This approach corresponds to the querying systems with
centralized query processing. These systems are similar to other centralized
database applications, where data are collected from some data sources
(depending on the host application, the data sources can be text documents, media
files, and in this case, QDN data) to be separately an d centrally processed.
2. Database-QDN (DB-QDN): The systems that are designed based on this
approach strive to implement query processing in a decentralized fashion within
the QDN; hence, in these systems “ QDN is the database”.
Design Principles
By definition QDNs tend to be large -scale systems and their potential benefits
increase as they grow in size. Therefore, between the two types of DBS -based
querying systems for QDNs, the database -QDNs (DB-QDNs) are more promising
because they are scalable and effici ent. Among the most important design
principles for distributed query processing at DB -QDNs one can distinguish the
following:
1. In-network query processing: In-network query processing is the main
distinction of DB-QDNs. In-network query processing techniques should be
implemented in a distributed fashion, ensuring minimal communication overhead
and optimal load-balance.
2. Transaction processing with relaxed properties : Due to the dynamic nature of
QDNs, requiring ACID-like properties for transaction processi ng in DB-QDNs is
too costly to be practical and severely limits the scalability of such processing
technique. Hence, transaction-processing properties should be relaxed for DB QDNs.
3. Adaptive query optimization: Since QDNs are inherently dynamic structures,
optimizing query plans for distributed query execution in DB -QDNs should also
be a dynamic/adaptive process. Adaptive query optimization techniques are
previously studied in the context of central query processing systems (Avnur,
2000).
4. Progressive query processing: Distributed query processing tends to be time consuming. With real-time queries, user may prefer receiving a rough estimation
of the query result quickly rather than waiting long for the final result. The rough
estimation progressively enhances to the accurate and final result. This approach,
termed progressive query processing (Schmidt, 2002 -a), allows users to rapidly
obtain a general understanding of the result, to observe the progress of the query,
and to control its execution (e.g., by modi fying the selection condition of the
query) on the fly.
5. Approximate query processing: Approximation techniques such as waveletbased query processing can effectively decrease the cost of the query, while
producing highly accurate results (Schmidt, 2002 -b). Inherent uncertainty of the
QDN data together with the relaxation of the query semantics justify application
of approximation techniques to achieve efficiency.
F U T U R E
T R E N D S
One of the most fundamental functionalities required to realize a DB -QDN is
the search primitive. Efficient location of the data within QDN, a large -scale and
dynamic system with distributed and dynamic dataset, is a challenging task vital to
QDN query processing. For the remainder of this section, we briefly explain two
parallel approaches one can adopt from the complex system theory to address the
QDN search problem. First, we discuss a self -organizing mechanism to structure
the topology of the QDN to a search -efficient topology. This topology can be
considered as a distributed index structure that organizes the nodes and therefore,
the data content of the nodes, for efficient search. For the design of the search efficient QDN topology as well as the search dynamics, we are inspired by the
“small-world” models. Small -worlds are models proposed to explain efficient
communication in a social network, which is a semi -structured complex system.
Second, we propose an efficient query flooding mechanism for QDNs . Flooding
is not only required for broadcast queries at all QDNs, but also for u ni-cast and
multi-cast queries in unstructurable/unindexible QDNs. With these QDNs, the
extreme dynamism of the QDN topology and the extreme autonomy of the QDN
nodes renders any attempt to impose even a semi -structure on the network by an
index-like structure inefficient and/or impossible. We use percolation theory, an
analytical tool borrowed from the complex system theory, to formalize and analyze
such efficient flooding mechanism.
Probabilistic Indexing of QDNs for Efficient Approximate Query
Processing
Considering a QDN as a database (with every node of the QDN as the potential
entry point of the query), similar to traditional databases QDN should be “indexed”
for efficient processing of the queries. To process approximate queries 3, we propose
self-organizing the interconnection of the QDN based on the data content of the
QDN nodes. With this organization, the network distance between every two nodes
is positively correlated with the similarity of their data content with high
probability. This approach results in an indexed network with distinguishable data
localities, allowing efficient routing of the queries toward the nodes holding the
result set of the query. The similarity measurements performed by each node while
joining QDN to select an appropr iate set of neighbors can be thought of as the off line pre-computations required to create the index for efficient on -line query
processing. Also, the topology of the generated interconnection should be compared
with the tree-like topologies of the traditional hierarchical index structures in
centralized databases. In addition to allowing efficient navigation/traversal of the
dataset, this topology should support the dynamism of the dataset and the network,
and more importantly, should avoid assuming a cen tral entry point (the root node in
hierarchical indices) for the query, in order to balance the query load among all the
nodes of the QDN.
3
Considering the transience of the QDN structure and the dynamism of the dataset, exact query processing
with zero false dismissal is not a practical option.
It turns out that a probabilistic “small -world” model, which is a topology
proposed to explain efficient communicatio n in social networks, is a perfect
candidate topology to index QDNs. With our searchable QDN model (BanaeiKashani, 2003), we propose a self-organization mechanism that generates a QDN
with small-world topology based on a recently developed small -world model
(Watts, 2002). We complement the generated small -world network topology (i.e.,
the index) with a query forwarding mechanism (i.e., the index lookup technique)
that effectively routes partial -match queries toward the QDN nodes that store the
matching data items. Currently, we are focusing on extending this query routing
technique to support more challenging queries such as range queries and nearest neighbor queries.
Criticality-based Probabilistic Flooding
Flooding is a common mechanism used in many ne tworks, including QDNs, to
broadcast a piece of information (e.g., an alert, or a search query) from a source
node to other nodes of the network. With normal flooding, each node always
forwards the received information to all its neighbors (i.e., directly connected
nodes). In spite of many beneficial features, such as providing broad coverage and
guaranteeing minimum delay, normal flooding is not a scalable communication
mechanism, mainly because of the communication overhead it imposes to the
system. To alleviate this problem, we introduce probabilistic flooding (BanaeiKashani, 2003). With probabilistic flooding, unlike normal flooding, a node
forwards the information to its neighbor probabilistically, with probability p. By
changing the probability value p, we can control the effective connectivity of the
network while information is forwarded. The idea is to tune the probability value p
to a critical operation point (the phase transition point) such that statistically the
network remains connected (to pre serve full reachability) while redundant paths are
eliminated. Percolation theory (Stauffer, 1992) is an analytical tool from the
complex system theory extensively used to study probabilistic diffusion -like
physical phenomena; e.g., diffusion of oil inside porous rocks in oil reservoir, a
physical complex system. We use percolation theory to formalize the probabilistic
flooding approach as a query-diffusion problem, and to find its critical (optimal)
operating point rigorously. Our formal analysis shows tha t the critical value of p
can be as low as 1%, which translates to 99% reduction in communication overhead
of flooding, hence, scalable flooding.
C O N C L U S I O N
In this article, we identified Querical Data Networks (QDNs) as a family of
data networks, recently emerging as a new generation of distributed database
systems with significantly less constraining assumptions. We envision a QDN as a
distributed query processing system with a database -like architecture. In search of
an effective approach to design an d analyze Database-QDNs, we find the complex
system theory, a theory that explains a family of systems with characteristics that
bear significant similarity to those of QDNs, extremely helpful. As an instance
application of this approach, we provide two pa rallel solutions for the QDN search
problem inspired by models adopted from the complex system theory.
A C K N O W L E D G M E N T S
This research has been funded in part by NSF grants EEC -9529152 (IMSC ERC), IIS0082826 (ITR), IIS-0238560 (CAREER), IIS -0324955 (ITR) and IIS-0307908, and
unrestricted cash gifts from Okawa Foundation and Microsoft. Any opinions, findings, and
conclusions or recommendations expressed in this material are those of the authors and do
not necessarily reflect the views of the National Scie nce Foundation .
R E F E R E N C E S
Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., and Cayirci, E. (2002). A
Survey on Sensor Networks. IEEE Communications Magazine, 40(8), 102-114.
Avnur, R., and Hellerstein, J. (2000). Eddies: Continuously Adaptive Query
Processing. Proceedings of ACM International Conference on Management of Data ,
261-272.
Banaei-Kashani, F., and Shahabi, C. (2003). Searchable Querical Data
Networks. Lecture Notes in Computer Science, Springer Verlag , 2944, 17-32.
Banaei-Kashani, F., and Shahabi, C. (2003). Criticality-based Analysis and
Design of Unstructured Peer -to-Peer Networks as Complex Systems. Proceedings of
the Third International Workshop on Global and Peer -to-Peer Computing (GP2PC)
in conjunction with CCGrid, 351-359.
Bar-Yam, Y. (1997). Dynamics of Complex Sytems. Westview Press.
Daswani, N., Garcia-Molina, H., and Yang, B. (2003). Open Problems in Data Sharing Peer-to-Peer Systems. Proceedings of the 9th International Conference on
Database Theory, 1-15.
Estrin, D., Govindan, R., Heidemann, J., and Kumar, S. (1999). Next Century
Challenges: Scalable Coordination in Sensor Networks. Proceedings of
International Conference on Mobile Computing and Networks , 256-262.
Govindan, R., Hellerstein, J., Hong, W., Madden, S., Franklin, M., and
Shenker, S. (2002). The Sensor Network as a Database. Technical Report 02-771,
University of Southern California.
Harren, M., Hellerstein, J., Huebsch, R., Loo, B.T., Shenker, S., and Stoica, I.
(2002). Complex Queries in DHT -based Peer-to-peer Networks. Proceedings of the
1st International Workshop on Peer -to-Peer Systems.
Heidemann, J., Silva, F., Intanagonwiwat, C., Govindan, R., Estrin, D., and
Ganesan, D. (2001). Building Efficient Wireless Sensor Networks With Low -Level
Naming. Proceedings of the Symposium on Operating Systems Principles , 146-159.
Ratnasamy, S., Francis, P., Handley, M., Karp. R., and Shenker, S. (2001). A
Scalable Content Addressable Network. Proceedings of the ACM SIGCOMM
Conference on Applications, Technologies, Architectures, and Protocols for
Computer Communication, 161-172.
Ratnasamy, S., Karp, B., Shenker, S., Estrin, D., Govindan R., Yin, L., and
Yu, F. (2003). Data-Centric Storage in Sensornets with GHT, a Geographic Hash
Table. Mobile Networks and Applications , 8(4), 427-442.
Schmidt, R., and Shahabi, C. (2002 -a). How to Evaluate Multiple Range -Sum
Queries Progressively. 21st ACM SIGACT-SIGMOD-SIGART Symposium on
Principles of Database Systems, 133 – 141.
Schmidt, R., and Shahabi, C. (2002 -b). Propolyne: A Fast Wavelet -Based
Algorithm for Progressive Evaluation of Polynomial Range -Sum Queries. Eighth
Conference on Extending Database Technology , 664-681.
Stauffer, D., and Aharony, A (1992). Introduction to Percolation Theory.
Taylor and Francis, second edition.
Watts, D.J., Dodds, P.S., and Newman, M.E.J. (2002). Identity and search in
social networks. Science, 296, 1302-1305.
Key Terms
Peer-to-peer (P2P) Networks: A peer-to-peer network is a distributed, self organized federation of peer entities, where the system entit ies collaborate by
sharing resources and performing cooperative tasks for mutual benefit. It is often
assumed that such a federation lives, changes, and expands independent of any
distinct service facility with global authority.
Sensor Networks: A sensor network is a network of low -power, small form-factor
sensing devices that are embedded in a physical environment and coordinate
amongst themselves to achieve a larger sensing task.
Distributed Hash Tables (DHTs): A distributed index structure with hash tablelike functionality for information location in the Internet -scale distributed
computing environments. Given a key from a pre -specified flat identifier space,
DHT computes (in a distributed fashion) and returns the location of the node that
stores the key.
Complex Systems: Complex Systems is a new field of science studying how parts
of a complex system give rise to the collective behaviors of the system. Complexity
(information-theoretical and computational) and emergence of collective behavior
are the two main characteristics of such complex systems. Social systems formed
(in part) out of people, the brain formed out of neurons, molecules formed out of
atoms, the weather formed out of air flows are all examples of complex systems.
The field of Complex Systems cuts across all traditional disciplines of science, as
well as engineering, management, and medicine.
Small World Models: It is believed that almost any pair of people in the world can
be connected to one another by a short chain of intermedi ate acquaintances, of
typical length about six. This phenomenon is colloquially referred to as the “six
degrees of separation,” or equivalently, the “small -world” effect. Sociologists
propose a number of topological network models, the small -world models, for the
social network to explain this phenomenon.
Percolation Theory: Assume a grid of nodes where each node is occupied with
probability p and empty with probability (1-p). Percolation theory is a quantitative
(statistical-theoretical) and conceptual model for understanding and analyzing the
statistical properties (e.g., size, diameter, shape, etc.) of the clusters of occupied
nodes as the value of p changes. Many concepts associated with complex systems
such as clustering, fractals, diffusion, and part icularly phase transitions are
modeled as percolation problem. The significance of the percolation model is that
many different problems can be mapped to the percolation problem; e.g., forest -fire
spread, oil field density estimation, diffusion in disorder ed media, etc.
Content-Centric Networks: A content-centric network is a network where various
functionalities such as naming, addressing, routing, storage, etc., are designed
based on the content. This is in contrast with classical networks that are node centric.