Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO.

#, AUGUST 2021 1

R2: A Distributed Remote Function Execution


Mechanism With Built-in Metadata
Jianpeng Qi, and Rui Wang, Member, IEEE,

Abstract—Named data networking (NDN) constructs a network by names, providing a flexible and decentralized way to manage
resources within the edge computing continuum. This paper aims to solve the question, “Given a function with its parameters and
metadata, how to select the executor in a distributed manner and obtain the result in NDN?” To answer it, we design R2 that involves
the following stages. First, we design a name structure including data, function names, and other function parameters. Second, we
arXiv:2112.06128v2 [cs.DC] 20 Aug 2022

develop a 2-phase mechanism, where in the first phase, the function request from a client-first reaches the data source and retrieves
the metadata. Then the best node is selected while the metadata responds to the client. In the second phase, the chosen node directly
retrieves the data, executes the function, and provides the result to the client. Furthermore, we propose a stop condition to intelligently
reduce the processing time of the first phase and provide a simple proof and range analysis. Simulations confirm that R2 outperforms
the current solutions in terms of resource allocation, especially when the data volume and the function complexity are high. In the
experiments, when the data size is 100 KiB and the function complexity is O(n2 ), the speedup ratio is 4.61. To further evaluate R2, we
also implement a general intermediate data processing logic named “Bolt” implemented on an app-level in ndnSIM. We believe that R2
shall help the researchers and developers to verify their ideas smoothly.

Index Terms—Edge computing, metadata, information-centric networking, named-data networking, decentralized method invocation.

1 I NTRODUCTION Zhou et al.: Edge Intelligence: Paving the Last Mile of Artificial Intelligence With Edge Computing

lifestyle,
that byimproving
2025 41.6humanbillionproductivity, and
beenhancing
I DC ESTIMATES
terconnected, social
and dataefficiency.
As a key
(ZB) [1]. Current cloud
devices will
volume will reach 79.4 zettabytes
driver that architectures
computing boosts AI development,
do not af-
in-

big data
have recently gone through a radical shift of data source
ford such an overwhelming amount of devices and data due
from the megascale cloud datacenters to the increasingly
to high latency, limited bandwidth, high carbon footprint,
widespread end devices, e.g., mobile devices and Internet-
and poor security [2]. Many traditional services that are
of-Things (IoT) devices. Traditionally, big data, such as
processed in theonline
cloudshopping
but generated remotely
records, social media[3] are thus
contents, and busi-
maintained at aness high cost, e.g.,
informatics, werethe communication
mainly born and storedand at megas-
computation-intensive tasks, such
cale datacenters. as image
However, recognition
with the proliferationand of mobile
target tracking. computing
Thus, edge computing,
and IoT, the trend is an accelerator
reversing of
now. Specifically,
cloud computing, Ciscoaffords
estimates better computing
that nearly 850 ZBresources for by
will be generated
users and thus all people,
gains machines, and
widespread things atCurrent
attention. the network edge edge by
2021 i.e.,
computing features, [3]. ultra-low
In sharp contrast,
latency,the global datacenter
geographical dis- traffic Fig. 1. Illustration of edge computing.
will only
tribution, unlimited reach 20.6
bandwidth, ZB privacy,
high by 2021. and Clearly, via bringing
security,
the huge volumes of data to AI, the edge ecosystem will Fig. 1: Illustration of edge computing [6]. (Copyright © 2019,
offset the lack of cloud computing and employ it used IEEE)
present many novel application scenarios for AI and fuel edge resources to gain AI insight. Notably, EI has garnered
in many realms [4]. Additionally to the edge resources,
the continuous booming of AI. much attention from both the industry and academia. For
as illustrated in Fig. 1, “edge computing includes employing
Pushing the AI frontier to the edge ecosystem that example, the celebrated Gartner hype cycle has incor-
networked resources closer
resides to last
at the the mile
dataofsources/sinks. Resources
the Internet, however, is highly porated EI as an emerging technology that will reach
can be at the edge, in the cloud, and everywhere in between a andthe nodes/networks state and the data sources details are
a plateau of productivity in the following five to ten
nontrivial, due to the concerns on performance, cost,
continuum” [2], [5], [6]. Hence, edge computing affords
privacy. Toward this goal, the conventional wisdom is to task known,yearseven for
[11]. a
Majortrivial counting
enterprises, job, Google,
including such asMicrosoft,
task schedul-
processing and data analysis
transport everywhere.
the data bulks from the IoT devices to the cloud ing, Intel,
resource discovering,
and IBM, have put forthand
pilotdata retrieving.
projects The most
to demonstrate
datacenters
Edge resources, for analytics
specifically [4]. However,
the continuum, arewhen moving a the advantages of edge computing in paving the last mile and
usually popular way of knowing and managing these states
tremendous amount of data across
employed to execute tasks in a distributed manner to pro- the wide area details
network of is
AI.utilizing a central
These efforts metadata
have boosted server
a wide that involves
spectrum of
(WAN), both monetary cost
vide a time-limited service. For example, developers may and transmission delay abstract
can data about
AI applications, essential
spanning fromattributes such
live video analytics as location,
[12],
be prohibitively high, and the privacy leakage can also size, cognitive assistance [13] to precision agriculture, smart
partition the communication and computation-intensive be and format. This strategy is used in many applications
a major concern [5]. An alternative is on-device analytics like home“Metastore”
the [14], and Industrial Internet of Things
or “NameNode” (IIoT) [15].
of Apache Hadoop.
deep learning models, consecutively deploy them on the Notably, research and practice on this emerging
that run AI applications on the device to process the IoT
continuum, and datathenlocally,
execute them
which, to obtain
however, may the
sufferresults withperfor- interdiscipline—EI—are still in a very early stage. There the
from poor
By managing the metadata through the central node,
a short delay [7]. Compared with purely cloud processing, developers or users can easily leverage their resources.
mance and energy efficiency. This is because many AI appli- is, in general, a lack of venue dedicated for summarizing,
cations require high computational power that greatly out- Nevertheless,
continuum processing has several benefits: low energy cost discussing, andindisseminating
an edge computing scenario,ofmetadata
the recent advances EI,
and low latency.weighs
However, the latter advantages assume that management is non-trivial, as
the capacity of resource- and energy-constrained in both industrial and academia. To bridge this gap, developing suchin athiscentral
IoT devices. server is costly.
paper, This isa because
we conduct enormous
comprehensive small data
and concrete surveypieces,
To address the above-mentioned challenges, edge chunks, and
of the files,research
recent are scattered
efforts in
on geo-graphical
EI. Specifically, distribution,
we will
• This paper was published
computing in IEEE.
[6] hasDOI: 10.1109/TNET.2022.3198467
recently been proposed, which pushes and gathering
first review and managing of
the background them in awill
AI. We centralized
then discuss manner
cloud services from the network core to the network the motivation, definition, and rating of
becomes infeasible, as the nodes within the continuum EI. Next, we will are
edges that are in closer proximity to IoT devices and further review and taxonomically summarize the emerging
data
1558-2566 ©2022 IEEE. Personal use sources. but
is permitted, Asrepublication/redistribution
shown in Fig. 1, here an edge
requires IEEE node computing architectures and enabling technologies for EI
permission.
can be nearby end-device connectable by device-to-device model training and inference. Finally, we will discuss some
(D2D) communications [7], a server attached to an access open research challenges and opportunities for EI. This
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 2

usually volatile, highly changeable, and even unreliable are implemented on an app-level to make R2 computing
[8], [9]. Electing a consensus node with high availability scalable. Since the user only cares about the result, we name
in such a dynamic environment imposes high scheduling our method “Request Result” (“R2”). The major contribu-
and maintenance costs [10], prohibiting edge computing tions of this work are as follows:
from being affordable. Furthermore, cost estimation, mon-
1) We propose R2 to prove the feasibility of distribu-
itoring the remote nodes’ status, authentication, and service
tively running the function based on metadata. R2
optimization is challenging. Therefore, utilizing the edge
assumes the metadata is stored together with its
resources in a decentralized and native way instead of a
data and utilizes a 2-phase mechanism to consec-
consensus node becomes critical.
utively complete the metadata extraction, cost esti-
Some typical applications like CDN and DNS accelerate
mation, function executor selection, data extraction,
the network’s data access speed. Specifically, CDN caches
function execution, and result response.
offer little in terms of general computational capabilities
2) To find the best node for function execution, we for-
[11], while DNS [12] introduces additional inevitable name
mulate a distributive cost estimation process based
resolution delays [9]. Nevertheless, the current IP architec-
on metadata combined with a stop condition. This
ture suitable for point-to-point communication is limited in
strategy avoids scanning all nodes along the for-
distributed networks [13].
warding path to reduce the result retrieving time
Fortunately, Information-Centric Networking (ICN) and,
automatically. The stop condition can also be used
in particular, its prominent Named Data Networking (NDN)
in other uncertain edge computing scenarios to dis-
instantiation [13] that constructs the network based on
tributedly select the best node.
the data name rather than IP provides a realistic solution.
3) We implement, evaluate and analyze the perfor-
Specifically, the work based on NDN uses the function/ser-
mance of R2 on ndnSIM [18], involving numerous
vice name as its routing rules to find the proper executor in
experiments conducted on a real-world network
a fully distributed manner. This strategy affords to provide
topology dataset. Additionally, to make R2 flexible
quickly and efficiently several scalable and robust services,
and portable, we developed an application-level
e.g., serverless computing, function as a service, and in-
intermediate data processing plugin named “Bolt”,
network computing [14], [15], [16]. However, ICN/NDN
which can be installed on a computing-capable node
technology is still at an early stage and requires more
to make R2 scalable. R2 is open source and can be
investigation [17].
found on GitHub [19].
Many works that integrate the function or service name
and directly transmit the raw data to the executor may cause The remainder of this paper is as follows. Section 2
a blocking problem. Thus, metadata should solve the latter presents the related work on computing within the contin-
issue before accelerating the edge computing speed. Besides uum. Then Section 3 introduces some preliminaries of NDN
the proper executor selection, retrieving metadata as the and the details of the R2, including name format, forward-
first step presents several side benefits, such as checking the ing pipeline, cost optimization, applied scenes, and proofs.
node’s health or working status in the data forwarding path, Section 4 discusses the experiments, numerical results, and
affording cost estimation by relatively small metadata to the “Bolt” implementation, while Section 5 discusses some
avoid network congestion, and warming up the dependent security issues. Finally, Section 6 concludes this paper.
environment of the function/service.
Nevertheless, the following question arises, “is it feasible
to perform in-network processing in NDN according to the 2 R ELATED WORK
metadata?”. To answer this question, this paper investigates Executing functions within the continuum is a well studied
leveraging resources within the continuum in a distributed topic in many realms, such as in-network caching [23],
fashion to satisfy the function/service requirement in NDN. in-network computing [24], software-defined networking
The proposed design presents the following features: (1) (SDN) [25], and network function virtualization (NFV). ICN
Data and metadata are distributively stored, with the pre- is a straightforward way of forwarding the users’ interest
ferred location being the data producer. (2) The user pub- without a centralized coordinator and considering name
lishes an Interest containing a data name and a function with resolving, and thus in this paper, we focus on the related
parameters and only expects the function result (output work utilizing ICN. Table 1 compares the notable related
of the function). (3) The function can be executed along works regarding the implementation level of the forwarding
the continuum from the user to the data generator. (4) strategy, the function executing logic, and the selection of
Most importantly, using metadata to select the best function the function/service executor. It should be noted that, in
execution node to minimize the end-to-end delay. addition to the comparable items in Table 1, our work
Based on these features, we propose a 2-phase dis- provides a simple distributed way to check the existence of
tributed remote function execution mechanism utilizing the requested data instantly and minimize the end-to-end
metadata. During the first phase, we select the best executor delay by using metadata.
in the forwarding path according to the data abstract, node Combining ICN and edge computing has inspired many
status, and network condition to minimize the total end-to- in-network processing works. According to their design
end delay. Then, in the second phase, we use this executor as goal, these works can be generalized into either service
a “transit station” to receive the large raw dataset, analyze routing or best node selection. Routing function/service
it, and send the short analyzed result to the requester. We according to the name, such as Named Function as a
verify this idea on the NDN project [13], while most codes Service (NFaaS) [20] and NDNe [22], can support many
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 3

TABLE 1: Comparison with the notable related works the Interest and updates the SERVICEEXECCOST value in a
distributed manner. After the Interest reaches the last edge
Work1 Forwarding Executing Distributed Executor
strategy level executor selection node, an executor acknowledgment is sent back to finish the
selection space2 best executor election.
T However, in a data-centric network, we argue that the
NFaaS Custom NFD None (Service A E
[20] duplicating) data name should also be a component of the Interest name.
RICE Builtin App None Producer Most of the above-mentioned service-oriented methods,
[16] except for IoT-NCN, assume the routing strategies rely on
T
CFN Builtin App Moderate A E the function name rather than the data name, which is not
[21] (Task capable of generalizing the case where data is stored on the
scheduler)
T other edge node. At least additional Interest needs to be
NDNe Builtin NFD Distributed A E sent. IoT-NCN [17] adds the data name in the Interest in
[22] (Replies first)
T front of the function name and routes it to the last edge
IoT- Custom NFD Distributed P E
NCN (Piggyback- node on the IoT domain to create data-oriented distributed
[17] ing) services. However, its cost estimation does not integrate
T
ICedge Custom App Distributed A E with metadata, i.e., it is ineffectual to the actual data size
[15] (Monitoring and type, especially for other data analytic applications.
metrics)
T Unlike current works, R2 overcomes the challenges men-
[9] Custom App Distributed A E tioned above by utilizing 2-phase operations with metadata.
(Monitoring
metrics) R2 uses the data name as its forwarding strategy to satisfy
T the data-oriented applications and metadata to enhance the
R2 Custom App Distributed P E
1. A: Nodes matched the given name (prefix); E: Nodes that can execute
best node selection accuracy.
the function; P: Nodes on the forwarding path.
2. CFN, NDNe, ICedge, and [9] send the function name to the executor
at first. 3 R2

edge-native services. Thus, NFaaS and NDNe are typical !"#"$%&'()*+&

serverless computing methods allowing cloud computing to


jump into edge computing, where instead of a centralized ."-/01($*213#$2
metastore, the function name is employed to fabricate a
decentralized service network. This strategy affords a more 4567856
scalable and flexible distributed network using the function
name as its routing policy. Michał et al. propose a 4-way
handshake remote method invocation (RICE) [16] in NDN. !"#"$*',-).+&
')9$
In RICE, the consumer first sends a function Interest (I1) !"#$%"& )1:",(
'()*)$+,-$
carrying a handshake identifier to the producer that runs the
function and creates a reverse path from the producer to the
consumer. Second, when the producer receives I1, it creates
an Interest (I2) containing the received identifier, following Fig. 2: Reference network topology.
the previously established reverse path towards the client.
Third, the client responds and sends the parameters (D2) This section first provides the reference topology illus-
after receiving I2. At last, the producer executes the function trated in Fig. 2. This topology is tangible, especially in a
with its input parameters D2 and responds to the result (D1) cross-edge analytic area [27], where the backbone router can
concerning I1. By integrating a 4-way handshake design, represent an edge site covering a city or a town, and the
RICE solves several issues, including timer and privacy gateway can be an edge server covering a community or
concerns. However, it is not handled how to select the a home. The available computing (bandwidth) capacities of
proper node to run the function. these nodes (links) decrease (increase) as we descend levels
Memory and computing capacity decrease as we de- and move closer to the end device [26]. We assume the data
scend levels within the continuum and move closer to the with their metadata are commonly stored in the end device.
client [26]. Thus, selecting the best node is vital within It is worth noting that due to the ISP barrier, the number
the continuum, especially for critical applications. Michał of hops between the two mutually reachable end devices in
et al. further propose the Compute First Networking (CFN) different neighboring cities can be significant [28]. Thus, it is
scheme that relies on RICE to solve the node selection is- mandatory in such an unstable environment to find the best
sue [21]. Forwarding in the store-and-forward network like node within the continuum to perform the user’s function.
NDN affords the same function to be cached everywhere. Section 3.1 provides some NDN preliminaries and a
Thus, “compute reuse” can also be utilized to avoid re- straightforward example to clarify our ideas. Then, we give
computing the same tasks in a multi-user scenario [15]. an elucidation of the R2 process (Section 3.3), including
Marica et al. propose an IoT-Named Computation Network- name structure (Section 3.2), cost model and the best node
ing (IoT-NCN) framework [17]. This method estimates the selection (Section 3.3.1), the stop condition of reducing delay
service cost by piggybacking a SERVICEEXECCOST field in (Section 3.3.2), proofs, and some analysis (Section 3.3.3).
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 4

3.1 NDN preliminaries Indeed, Alice cares about her baby’s position, and thus,
we need to find a trusted node2 to identify or analyze
As a concrete architecture of ICN, the NDN project [13]
the baby’s status, i.e., get the baby’s position or ex-
aims to solve the communication network problem. In
tract one picture having the baby by running a detect
a communication network (e.g., IP network), packets are
function in the HD video with a short delay. Finding the
named-only endpoints, and thus it is hard to apply them
node requires the metadata of the remote-monitor-data,
to the edge computing area where numerous devices exist.
such as the data size, format, and resolution. This in-
Instead of IP, NDN uses the Name concept to fabricate the
formation assists in making a more accurate and fast
network among different nodes. This architecture contains
choice on minimizing the analysis delay before transmit-
two basic network data packets, Interest and Data. An In-
ting the large file. In this case, metadata content can be
terest packet comprises the Name of the requested data and
in a JSON format {resolution:12k, filetype:AVI,
other options defined by the requester. Data consists of the
size:12MiB}, with the attribute size being the most
data Name, data contents, signature, and other user-defined
important. Furthermore, some devices have flashcards that
information. When a user (also called consumer in NDN)
are incapable of storing the entire dataset, and thus addi-
retrieves the data, he first sends an Interest packet into
tional hard disc I/O operations are involved. Nevertheless,
the network. Then the NDN forwarder (NDN Forwarding
metadata information can help us avoid these devices.
Daemon, NFD) enters the forwarding pipeline to redirect
Next, according to Alice’s example, we give the name
Interest toward the data producer according to the Interest
structure in R2.
name. Finally, the producer responds to the requested data
back to the consumer. The consumers drive communication 3.2 R2 Interest name structure
in NDN, i.e., a receiver-driven communication mode. Other
Following Alice’s example as mentioned before, Fig. 3 de-
techniques, e.g., session support [9], [29], and Long-Lived
picts the entire Interest Name in R2.
Interest, can also ease data pushing from the producer.
The NDN design assumes hierarchically structured
'()(*+(,# $/+0)%.+*+(,#
names. For example, it retrieves the camera stream or
the file remote-monitor-data stored in Alice’s home /r2 /alice’s-home/remote-monitor-data /sep /detect /{object=baby, action=position}

through NDN to give a further analysis like confirm- !"#$%& -#!("()." $/+0)%.+*!("(,#)#"-
ing her baby is safe. The Name of Interest might be
/alice’s-home/remote-monitor-data, where / de- Fig. 3: Interest name structure.
lineates name components in text representations. Each
node in NDN first checks its Content Store (CS), then Pend- Name in Fig. 3 means finding the data that named
ing Interest Table (PIT) and Forwarding Information Base by /alice’s-home/remote-monitor-data and obtain-
(FIB), and finally redirects this Interest by the Forwarding ing the baby’s position by running the detect func-
Strategy to the data node located at Alice’s home.1 This tion. It starts with a prefix /r2 identification used to
process is commonly adopted in a longest-prefix matching avoid mixing with the traditional NDN Interest. Then, we
method. place the /alice’s-home/remote-monitor-data com-
An example. Recently, many homes where families have ponents behind /r2 to let NFD daemons find the camera
babies or are feeding pets have installed several types of in Alice’s home. We put the function component /detect
systems to monitor and control their security devices re- behind data-name and separate them with /sep. Compo-
motely (using a smartphone and an app). These systems nent {object = baby, action = position} involves
usually contain machine/deep learning models to provide the ApplicationParameters of NDN Interest
intelligent computation and communication-intensive ser- Remark. Name matching strategies of NFD usually recog-
vices such as fall detection, fire warning, and home se- nize the Interest by the data name in a “Longest Prefix
curity checking. Some systems may need time to identify Match” fashion. Here the data name is /alice’s-home/
the most critical event, e.g., the alarm system. A com- remote-monitor-data not /r2. This difference is solved
mon feature of these jobs is the a priori known dataset by the proposed “Bolt”and a custom Strategy. Other techniques,
schema, as different schemas typically have different pro- such as “Forwarding Hint”, can be also used. In general, “Bolt”
cessing logic. In Alice’s example, the camera types and is designed on an application level can perform cost estimation,
video format can be different, such as 60 fps at 12K, 110 function execution, and states reservation. If users or developers
fps at 8K, or 220 fps at 4K. Hence, different function want to run R2 on a computing-capable node such as base
adaptors are needed during runtime. In addition to data stations, gateways, micro data centers and relatively powerful
schema, data size is another vital indicator of the service routers, they can simply install the “Bolt” app on the node instead
delay (in Alice’s example, the data volume is enormous). of injecting junk codes or some unexpected behavior into NFD.
Transmitting these massive HD video streams identified by
/alice’s-home/remote-monitor-data on the entire 3.3 R2 process: a 2-phase precise remote method in-
network could be challenging for the backbone and Alice’s vocation mechanism
internet expenditure. Here, we re-emphasize the kernel question: Given a func-
tion with its parameters and the involved metadata, how
1. CS is a container to store Data packets, PIT is a list to store the
unsatisfied Interest packets, FIB is a routing table which maps Name 2. A series of trusted nodes can be selected by many techniques such
components to next hops, and Forwarding Strategy is a series of policies as blockchain consensus, secure multi-party computation, or manually
and rules about forwarding Interest and Data packets. deploying authentication services in advance.
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 5

to select the best node (i.e., the executor) in a distributed 3.3.1 Modeling the cost and selecting the executor
manner and obtain the final output result? In other words,
how to select an executor in the forwarding path to detect !"#$%&'&(")*+,-'.*
1,+
Alice’s baby’s status. !)"*/0# ")*,/,0%&"1
"%1
Before answering this question, three rudimentary -,1

$%&'
7'63.,584-2'66%)95*'./0 !%$#$
points need to be addressed. (1) The requested data should
exist, i.e., /alice’s-home/remote-monitor-data
.,-
should exist when Alice wishes to access it, or analysis ()*+,-+')* *'./0 !)"*/0# &'(#")"*#
-,.
!!"#$%$#$
even by hand is impossible. This point ensures the user
(1'23,-456'.'2,%-) *'./0
a more reliable service. (2) The function cost (for the +,-
!!"#$%$#$&'(#")"*#
remainder of the paper, “delay” shall be a substitute
for “cost”) can be easily estimated. The executor can ! !""!# !% ! $"!!" !# ! &"""# !' ! ( "##
be quickly chosen based on the function detect and
the metadata {resolution:12k, filetype:AVI, Fig. 4: R2 end-to-end delay model.
size:12MiB}, the executor can be quickly chosen. We use
metadata Interest that requests to solve these two points. Objective function. Let V = {v1 , ..., vN } denote a sequence
(3) The executor can be independently, automatically, and of edge nodes along the path from the client c to the
distributively selected based on the first and the second producer p, vi is the chosen ith node to execute the function,
i,j
point. Some traditional solutions armed with consensus Cdi be the computation delay on vi , and Ttype be the delay of
nodes intend to deploy related components or services in transmitting the type-packet from vi onto vj . Fig. 4 depicts
the fixed edge nodes (e.g., the edge cloud, which can be the delay model of R2 and includes the executor selection
regarded as wireless base stations) placed at the level of the delays (or the cost estimation, the first phase) and the result
network backbone may not be an optimum choice. These processing (the second phase). The first phase mainly selects
solutions fulfill the user’s tasks by gathering changeable the best executor vi according to the metadata retrieved by
information but may be trapped in the consensus problem, sending an metadata-Interest. The second phase retrieves
as the changeable information is not easy to synchronize. the raw data from p by sending an result-Interest on a node
The third point refers to selecting the executor based on b 4 , performs the function on the node vi , and returns the
metadata without requiring additional coordination among result. Then the end-to-end delay D may be written as:
nodes or a coordinator and that the metadata is only the c,p p,b
information carrier. D = Tmetadata−interest + Tmetadata +
| {z }
cost estimation delay
Thus, we design the R2 protocol comprising a 2-phase
b,p p,i i,c
architecture. The first phase neglects those 3 points by Tresult−interest + Tdata + Cdi + Tresult (1)
selecting the executor through cost estimation based on c,p p,b b,p p,i
Where Tmetadata−interest , Tmetadata , Tresult−interest , Tdata ,
the function and the retrieved metadata. Developers or i,c
maintainers can also start to warm the runtime environment and Tresult are the transfer delay of metadata-Interest ,
in this phase. The second phase involves executing the metadata, result-Interest , Data , and result, respectively.
function on the executor based on the retrieved Data and Formula 1 indicates that the end-to-end delay contains two
c,p p,b
then replying the result to the client. Thus, two Interest types parts. Tmetadata−interest + Tmetadata is the delay of the
b,p
are designed, the metadata-Interest and result-Interest, re- executor selection of the first phase, and Tresult−interest +
p,i i,c
spectively. Technically, compared to metadata-Interest, the Tdata +Cdi +Tresult the result processing delay of the second
result-Interest carries a MinCostMarker3 used to identify phase.
the executor. To minimize the end-to-end delay D, we select the best
executor vi . Thus, our objective function is minvi ∈V D. The
The result-Interest might also be sent from a node within c,p
cost Tmetadata−interest of forwarding the metadata-Interest
the continuum, except for Alice, which we denote as b
to the producer is inevitable. Thus, we further simplify the
(bound) for short. An optimized version of R2 in a step-
objective function to:
by-step approach is presented in Section 3.3.4, illustrated in
Fig. 6 (right part), introducing a 2-phase process with its min D ⇒
vi ∈V
time slices. It should be noted that this version can auto- p,b b,p p,i i,c
matically select the executor with minimal cost by jointly min {Tmetadata + Tresult−interest + Tdata + Cdi + Tresult }
vi ∈V
considering the network condition, the data source, and the (2)
computation capacity. Next, we introduce in detail the R2 p,i i,c
process, including the objective function of minimizing the Tdata , Cdi
and Tresult
are dominated by the position of
end-to-end delay, algorithms, and proofs. Then we give a executor vi within the continuum, where vi is the pivot that
fundamental applied analysis of R2. contributes to D.
We aim to determine vi to minimize D. A traditional
method checks all the nodes in V by estimating the trans-
mission and computation cost in the first phase. Thus, we
4. We temporarily use c and b interchangeably. Section 3.3.2 gives the
3. MinCostMarker tag can be found on https://git.io/J3ysv specific usage of b.
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 6

write OptimizationOff (OptOff for short), OptOff is a base select the one who is the best overall—i.e., relative to all applicants,
version of R2 when b = c, i.e., OptOff is a fully two round- among those seen and those not-yet-seen.”. For the scope of
trip method. During the first phase (executor selection), it this paper, we redefine this problem as precisely and not
scans all forwarding nodes. probabilistically finding within the continuum the stop
Cost estimation model. To determine vi , we use a simple point (the bound b) without traveling all nodes in V .
cost estimation model that utilizes instant bandwidth of
the forwarding path and CPU cycles of the executor. Let
a function f have a time complexity O(·) and involve a Delay Type
metadata packet M . In R2, the critical indicators in M are Computation delay (Cid)
typically datasize, metasize of the data and the meta- Total delay
p, i
p,i Transmission delay (Tdata)
data packet, respectively. Let T ed denote the estimated
transmitting data delay from p to vi , and Ceid the estimated
delay of executing f on vi . Then,

Delay
Stop point b
Mmetasize
T ep,i
d = Mdatasize ∗ (3)
(Tstart − Tcurrent )
and
c · O(Mdatasize )
Ceid = (4)
CP Uf requency
where Mdatasize , Mmetasize , c, and CP Uf requency are the
size of the original dataset, size of M , CPU cycles per
operation, and CPU cycles per second, respectively.
n1 n2 n3 n4 n5 n6 n7
Note that we estimate T ep,i
d in real-time, and thus, other
methods can also be used, e.g., based on historical network
Node ID
interfaces dataset. Fig. 5: An example of finding the stop point b.
Algorithm 1 depicts the executor selection steps in
the first phase and from a single node perspective. The p,c/b
algorithm distributively finds an executor and uses a Based on our findings, cost modeling delays (Tmetadata +
c/b,p
MinCostMarker stored in the metadata to identify the Tresult−interest ) related to finding the best executor in the
executor vi . When the metadata carried a MinCostMarker OptOff method can be further reduced by replacing the
reaches a client, the Bolt app running on the client extracts “Alice” node c with a strict boundary intermediate node b.
the MinCostMarker and attaches it to the result-Interest. Fig. 5 intuitively depicts an example of finding bound b that
This marker is the key to finding the executor in the second initiates the result-Interest. This figure presents seven nodes
phase, and we preserve this marker until the function is where a computational task with its data is transferred from
executed on vi . n1 to n7 , and n4 and n5 are the most potent backbone nodes
or servers. The solid red line shows the computation delay,
Algorithm 1 OptOff–Executor selection (finding vi ) which is negatively correlated to the computing power of
1: if metadata Data packet then each node. The solid blue line shows the Data transmission
etaCost ← costEstimation(metadata); ⊲ T ep,i i delay, and the solid green line shows the total delay. When
2: d + Ced p,i
3: minCost ← getMinCost(metadata); the transmission delay Tdata is greater than the total delay
4: if etaCost ≤ minCost then on every passed-by node, vi (in this example, n3 ) is already
5: minCost ← etaCost; involved. If we continuously check the remaining nodes
6: M inCostM arker ← hash(metadata, after n5 , i.e., n6 and n7 , we obtain only the dominated trans-
node.uuid); mission delay. This phenomenon applies to two terminals
7: updateMinCost(metadata, minCost, across the backbone network, such as the cross-edge analytic
M inCostM arker); area [27]. Thus, by replacing the marks in the estimation
8: end if process, formula 5 gives the stop condition:
9: end if
T ep,b p,j j
d ≥ max (T ed + Ced ) (5)
1≤j<b
However, we argue that finding the executor vi in the
second half of the first phase does not require traveling Proof. The stop condition refers to the minimal cost node
all nodes in the path, i.e., vi ∈ {a subset of V }. In other nm is between n1 and nb , i.e., 1 ≤ m ≤ b. The proof’s core
words, b can be the node along the path from c to p. Next, concept is to consider m′ , with m′ ≥ b, to check if its total
we propose an optimization called the stop condition. cost is smaller than node m. Note that the relation of “≥” in
the stop condition does not change.
3.3.2 Stop condition Suppose, contrary to our claim, that the stop condition
p,m′
In the secretary problem [30], “a manager sequentially observes is false. Then we could find an m′ ≥ b and T ed ≥ T ep,b
d ,

p,m m ′
applicants randomly for a single position. When she observes the imposing a minimal cost of T ed + Ced . Then,
b-th applicant in the sequence, she learns only the quality of that ′
T ep,m p,j j

applicant concerning those previously seen. Her objective is to d + Cem


d ≤ max (T ed + Ced )
1≤j<b
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 7

Because T ep,m
d ≥ T ep,b
d , thus R2 vs. 1-round or 1-phase methods. It should be empha-
′ sized that R2 has the benefits presented at the beginning
T ep,m p,b

d + Cemd > T ed of Section 3.3, even if the total delay is bigger than the 1-
round methods in some cases. Nevertheless, if the raw data
Finally, we get
is limited or the function is simple, R2 may not outperform
p,m′
max (T ed + Ced ) < T ed +Ced ≤ max (T ed + Ced ) the 1-round methods (the methods regarding the Client or
p,j j m′ p,j j
1≤j<b 1≤j<b Producer as the executor). Hence, we compare R2 and Client
Hence, m = j < b, contradicting our assumption that m > in NDN to examine the applicability of R2 in terms of the
′ ′

b.When this condition is met, we stop the executor selection total delay. Without a loss of generality by assuming b = c,
process. R2 involves fully 2-phase operations in the worst case.

Based on the stop condition, Algorithm 2 presents an op-


c,p p,c
timized version of Algorithm 1, termed OptimizationAuto Tinterest + Tdata + Cdc > D
(OptAuto for short). p,c
=⇒ Tdata p,c
+ Cdc > Tmetadata c,p
+ Tresult−interest +
p,i i,c
Algorithm 2 OptAuto–Executor selection (finding vi ) within Tdata + Cdi + Tresult
bound b
1: procedures of Algorithm 1 ;
2: if metadata Data packet then Because the metadata contains limited information, the
3: maxCost ← getMaxCost(metadata); metadata size can be roughly equal to the result-Interest.
p,i Then, by
4: if T ed ≥ maxCost then ⊲ the stop condition
5: TURN INTO second phase; ⊲ b is found
p,c c,p c,p
6: else if maxCost < costEta then Tmetadata + Tresult−interest ≈ 2Tinterest
7: updateMaxCost(metadata, maxCost);
8: end if We obtain
9: end if
p,c c,p p,i i,c
=⇒ Tdata + Cdc > 2Tinterest + Tdata + Cdi + Tresult
p,c p,i i,c c,p
=⇒ Tdata − Tdata − Tresult > 2Tinterest + Cdi − Cdc
3.3.3 Applied range analysis of R2 sn i,c i,c c,p
=⇒ Tdata − Tresult > 2Tinterest + Cdi − Cdc
Analyzing the stop condition. The stop condition can oper-
ate automatically as a plugin. This subsection gives a simple
applied range analysis, especially for the edge where the
network and computing are resource-constrained. It should It is clear that the computing power of ni is bigger than c,
be noted that nj is the slowest node executing the function and thus Cdi < Cdc . Writing δ = Cdc − Cdi , then
within the continuum. Thus, we leave out the max symbol, i,c i,c c,p
p,b p,j
i.e., T ed ≥ T ed + Ced .
j =⇒ Tdata − Tresult > 2Tinterest −δ
The analysis comprises two scenes, a store and forward
network (e.g., NDN) and a universal network (e.g., NDN, Let α be the ratio of the output result size to the input data
TCP/IP). size.
(1) Store and forward network: i,c c,p
=⇒ (1 − α)Tdata > 2Tinterest −δ
T ep,b
d ≥ T ep,j
d + Ced
j
=⇒ T ep,b
d − T ep,j
d ≥ Cejd
sn In most data-intensive functions or applications, α ≪ 1.
=⇒ T ej,b
d ≥ Ced
j
Then,
where sn represents for a store and forward network.
T ej,b
d ≥ Cejd indicates that the stop condition operates ∼ i,c
=⇒ Tdata c,p
> 2Tinterest −δ
with the scene where the computational throughput, i.e.,
datasize/Cejd, of the slowest node nj exceeds the transmis- c,p
From the latter equation, we observe that if 2Tinterest <
sion throughput from nj to nb . Here, b is the terminal (e.g., δ , i.e., the client’s computing power is smaller than node i
the client). within the continuum, and the data size is greater than the
(2) A universal network: result. This applied condition is always true. Second, if the
computing resources are similar within the continuum, then
T ep,b p,b p,j
d ≥ T ed − T ed =⇒ T ep,b j
d ≥ Ced δ ≈ 0. For the data size analysis, we obtain
We eliminate the transmission delay from p to nj (i.e., i,c i,c c,p ∼
T ep,j Tdata − Tresult > 2Tinterest − δ =⇒
d ) in the universal network, which is a relatively tight
p,b j i,c c,p i,c
constraint. T ed ≥ Ced indicates that the stop condition op- Tdata > 2Tinterest + Tresult (6)
erates with the scene where the computational throughput
of the slowest node nj exceeds the transmission throughput Inequality 6 means the data size should be at least greater
from p to nb (or the terminal). This is useful when the delay than the 3-folds of the interest when i is in the vicinity of p,
in transmitting data from nj to nb is challenging to estimate. which is trivial.
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021
!"#$
!"#$%$&#'(%)*$'()+,$ !"#$%$&#'(%)*$'()+,$ !"#$%$&#'(%)*$'()+,$
!" #$% &&! !" #$% &&! !" #$% &&! K"H I,33037*9detect(baby,
!" !# $ !# !( ) !( !* ) position)” 70;%3* remote-
monitor-data (-*7%(*L&0'%M5* D4DBM5* 4%5-&."./'*56%/" 7%&'(3
% % % % % % % % %
5(4(,5 ((#2
-./01*
!"#$%& '("& '("& '("& '("& !"#$%&'()"
remote-monitor-data remote-monitor-data remote-monitor-data remote-monitor-data
(baby’s status) (baby’s status) (baby’s status) (raw data)
$%&'(")*"%+%,-.)/" 0,'*"
!"#$% !"#$& !"#$' !"#$( !"#$* #%"&'/1%23
(+ ,#(
-.&”baby’s status” /#%0("& !" remote-monitor-data +,",&'()* &(' ' (')*)
'()*
!"H $%3)037 4*I%5,&( G3(%.%5(*J.-2*3 #$ :3-(*'&0%3(@

!" #$% &&! !" #$% &&! !"H*?-3FE-37FE0;%)*.%5,&(FG3(%.%5(=*0"%"=*(1%*


!" #$% &&!
!" !# $ !# !( $ !( !* ) .%7,&4.* ?>?*G3(%.%5( $'.'"./'*56%/" 7%&'("0,'*" &"-012345
% % % % % % !"# $%&%'(%)* %+%',(-.*/0(1*203024&* '-5(6* #%"&'/1%23
% % % 3#(
/4.2037* ,8*9detect” .%&4(%)* (')*)
!"#$%& '("& '("& '("& '("&-."#$%&'()/ '-28-3%3(5*:;0)%-<0247%* )4(4*8.-'%55037*
,30(=*>??*2-)%&=*%('"@
)% )% )& )& )' )' ). ). )/ /%5-&.89*.%/%5." ./'*56%/
)/ 7%&'(3
!"#$% !"#$& !"#$' !"#$( !"#$* 6#3
(-./01* +45*.-./*
#"! A-,3)4.B*! '1%'C%)*DB*!"#$%&#'()")#'=*0"%"=* ."$remote-monitor-data !"#$%&'()&"!"#&*+%,-
(.43520((037*'-5(*05*1071%.*(143*'-28,(037*'-5(
#"H >05'4.)037 (1% 24('1%)*E-37FE0;%)* 2%%(037* (1%* !"#$%
!" #$% &&! !" #$% &&! !" #$% &&! 2%(4)4(4FG3(%.%5( &#'()")#'
!" !# $ !# !& $ !& !' $
#"#*N-)%&037*(1%*'-5(
% % % % % % % % % :N03O-5(N4.C%.P47 Q* 3 % 05*'-28-5%)*-J*
"#$ " #$ % #& %#&
!"#$%& '("& '("& !"! # $"! !"# !"! % $"! 9)%(%'(R=*84.42%(%.5* 43)*,,0) -J*3%@
remote-monitor-data remote-monitor-data :%.'7'.'"./'*56%/"7%&'(3
)% )% )& )& )' )' (metadata) (metadata) 3#6
(7.*)')*)

!"#$% !"#$& !"#$' !"#$( !"#$*


#"$remote-monitor-data %&'()('($*+,-!"#$%$! !"#$%&'()%*+,-./01)&#(23#+456/0$)7#+,-89):;
!"!"#$%#&'()*+,-./0*#" $*0/1*-0/2(1/$-3&1&#,*4#3*1*)1#!"#5/67 *)186&69:&)1(/284/,(1( /2; !"#$%$#$&'(&)*+&,-&#."&/0/&0$#$ 1$23"#&+,#.&4ndn::MetaInfo tag && data content is null” ;%.'7'.'89*.%/%5."
!#!"#$%#&'()*+,-./0*#" $*0/1*-0/2(1/$-3&1&#,*4#3*1*)1#!##5/67 *)186&69:&)1(/284/,(1( /2; ./'*56%/" 7%&'(3 %&#012345
2#3
!" #$% &&! !" #$% &&! !" #$% &&! (7.*)')*)+45*.-./*
!" !# $ !# !& $ !& !' $
E-37FE0;%)*G3(%.%5(*03*(1%*H !" 8145% % % % % % % % % %
!"#$%& '("& '("& '("& '("&
)% )% )& )& )' )' )( )( )*
)*
!"#$% !"#$& !"#$' !"#$( !"#$* !! !$ !# +,- !" !%
1. remote-monitor-data )$&*+*&*,!!"#$#%"&'()* !"#$%&%'()'"*+,$-./01#$'%($#12$/#13+21(/4"2"%'.$5'4$2$,2'6178$,2&7"79:",2+13&51.+2+13;
$%&'()*
!! "#$%&'()*+',%&'-*&$%'!./ !" !#$!"# !% !&

Fig. 6: R2 process in a step-by-step approach: an auto-mode to select executor.

8
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 9

E::7!#.)!$"' ;.#*'
(")*+*,);!7)*+?:+*=!FG23+45@
;!">')1*'=.#*,'%.)#1*>')1*'".%*' <$7)
23.7!#*C,D1$%*3+*%$)*D%$"!)$+D>.).5
+#$%'%*$, -)+.)*&/ ?>+$:@
-"". 4 !"#$%&'$"($)*$"+,- !"#$$%"&#$
01$%','%2%)3%,+#$%'%*$
( '()*$+,-."*/
0-1"$2$!"#3-45."6*7'(1"38"1(#"71(%5#(879-#- '
!"#!$%& =$9">6
!"#$%!"&' !"#$%&$'() ,*">'
(")*+*,) 01$%','%2%)3%,+#$%'%*$
()*!+ ,+-./-0 ;(<'#1*#8 (")*+*,) !"#$%&'()*
!"#$%#$&$"'% 1)&+234# 0-1"$2$!"#3-45."6*7'(1"3$
()** ,).+)'0!)1 ' =.#*6 8"1(#"71(%5#(879-#-
23+456 &*)'7$$89:'
!"#$%#$&$"'%
/)$
( ".%*' !"#$%&'%()*
?+*&97.+ ABA :!:*7!"*@ :((;<)$%-1"$2$ 3-45."6*7'(1"38"1(#"71(%5#(879-#- !"#

Fig. 7: R2 forwarding strategy

!"#$%$&#'(%)*$'()+,$ !"#$%$&#'(%)*$'()+,$
!" #$% &&! !" #$% &&!
!" !# $ !# !& $
!"#$%:$06)#$'0)#)'M:$#)0)#)'5%'0)#)N'/%5*$&&6";
% % % % % %
'()*+, ()*+ ()*+ O)#*8$0'0)#)'7,5<&'6"#5'45,#')//',$D$,'#85A;8'!"#$ ()*+

-%.-!"#$%&'()*+%,-%+*.%(+*/#.*-(0!.!-&$/-0$#$*#-12
! -%.-!"#$%&'()*+%,-%+*.%(+*/#.*-(0!.!-&$/-0$#$*#-13 #.+.
!"#$% !"#$& !"#$'
!"?'!"*5:6";'3.'!"#$%$&#
@A#?'@A#;56";'3.'!"#$%$&# !"#$%$&#'(%)*$'()+,$ !"#$%$&#'(%)*$'()+,$
BB!?'B5";CB6D$0'3.'!"#$%$&#'!"#$%&#"&'()#*#$%&# 3.'#%)*$&':)6"#$")"*$K'6I$IK'$&#)+,6&86";'#8$'5"$C#5C5"$'
*+,-(.
!" #$% &&! *5%%$&/5"0$"*$L'3.'!"#$%$&#',67$#6:$':)6"#$")"*$ !" #$% &&!
)*+,#$%&'( !" !# $ !# !& $ !"#$%&'(
EF#%)*#6";'#8$'G)#)'9):$'=-),6*$H&C85:$-%$:5#$C % % % % % %
:5"6#5%C0)#)>')"0'%5A#6";'6#'#85A;8'*A&#5:'%&'"&$()I
'()*+, ()*+ 95#$?'#8$'9):$'6"'J!('6&'#8$'&):$'<6#8'3.'!"#$%$&#
()*+ ()*+

-%.-!"#$%&'()*+%,-%+*.%(+*/#.*-(0!.!-&$/-0$#$*#-12 "),-.,/
! ! -%.-!"#$%&'()*+%,-%+*.%(+*/#.*-(0!.!-&$/-0$#$*#-13
!"#$% !0$"#676$%'57'3.'!"#$%$&# !"#$& !"#$'
!1 "#$%&!'( 3.'45,#'!"#$ 60$"#676$&'#8$'9):$'&#)%#6";'<6#8' !. !2
=-%.>

Fig. 8: Forwarding Interest/Data using Bolt app.

3.3.4 R2 process in a step-by-step approach two critical actions are performed. The first is to find the
Fig. 6 presents OptAuto by depicting two phases (com- executor with a minimal end-to-end delay cost D based on
prising five processes or steps) of the R2 protocol under node configuration, “detect”, and metadata. According to
Alice’s example, who wants to check her baby’s status. By the stop condition, the second is to find the boundary b,
neglecting the stop condition, R2 becomes a fully 2-phase i.e., n3 . R2 discards the created mapping correspondence
process. Due to the page size, we involve four computing- (red records) to reduce the ITT size in this process. After
capable nodes (n1 , . . . , n4 ) and one forwarding node (n5 ). this process, we obtain a MinCostMarker representing the
The left area in Fig. 6 provides the R2 steps from the node executor, i.e., n4 . This marker comprises “detect”, param-
perspective, while the right area gives a bird’s eye view of eters and the node’s UUID, which can be viewed as the
p,b
the time delays per step. In Alice’s example, she first sends identifier of Alice’s request. The time consumed Tmetadata
a metadata Interest to get the remote-monitor-data abstract. in this process is positively correlated with the packet size of
R2 automatically creates the traceable traces, finds the best metadata and the cost estimation step, which is insignificant.
executor of “detect”, retrieves raw data of remote-monitor- (3) b issues a result-Interest carrying the
data, analyzes her baby’s status, and finally sends the baby’s MinCostMarker to the producer. Since all we need is the
status to Alice. We describe these five steps in detail below. raw data, i.e., the HD video file remote-monitor-data, any
(1) Alice first sends a long-lived other operations during transmitting the raw data between
metadata-Interest (under the name b and the producer are needless. Thus, the result-Interest
/r2/alice’s-home/remote-monitor-data/sep/ of the newly added mapping correspondence in ITT (green
detect/{object=baby,action=position}) into records) is set to be the Non-Long-Lived Interest type.
NDN. This Interest passes through the nodes within We can also perform warm-up services, e.g., video/image
the continuum, is captured by Bolt, leaves a mapping data processing unit, DNN model, and libraries related
correspondence in ITT, and finally reaches the producer to performing detect(baby, position), on n4 when
(or the camera at Alice’s home). The time consumed it receives the notification from b to avoid a cold start.
c,p b,p
Tmetadata−Interest in this process is positively correlated The time consumed Tresult−Interest in this process is
with the packet size of the metadata-Interest and the positively correlated with the packet size of result-Interest,
number of hops between Alice and her home. the number of hops between the boundary and Alice’s
(2) The producer first replies with a metadata Data home. For completeness, it should be mentioned that the
packet containing {resolution:12k, filetype:AVI, path guided by the NDN routing table (or PIT), despite
size:120MiB}. When the metadata moves towards Alice, being unstable, it can be settled through session support
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 10

[29]. /detect/paras) into the upstream. Its true data


For the step (4) and (5), the executor (i.e., n4 ) runs the name /alice’s-home/remote-monitor-data is
function after it receives the Data to provide Alice’s baby’s first extracted by a custom Strategy implemented at
status. Finally, the result is returned to the client. The time the NFD level, and then it is forwarded to the next hops
consumed in processes 4 and 5 comprise and are positively according to the forwarding policy by scanning FIB6 . When
i,c
correlated with three parts: result transfer delay Tresult , the incoming R2 Interest is received by the NFD, which has
i p,i Bolt installed, it is caught by Bolt Face and transmitted
computation delay Cd and raw data transfer delay Tdata .
into the processing logic (processingInterest in Fig. 9).
Currently, Bolt has an Interest Trace Table (ITT) performing
4 E VALUATION AND RESULTS three actions: (1) Clones the incoming Interest and append a
To evaluate R2’s performance, we design an intermediate random number (Interest identifier, e.g., I1, I2,. . . .) to the tail
data processing logic on the “Bolt” application level and of the cloned Interest Names. (2) Creates a mapping entry
implement it in ndnSIM. This section first illustrates the between the cloned and the origin Interest and inserts the
“Bolt” logic (Section 4.1) and then exploits it to evaluate entry into ITT. (3) Deletes the entry if the Interest is satisfied
R2 (Section 4.2). (red records in ITT). Additionally, since the function
execution process may take time, another important role
4.1 R2 Bolt: intermediate data processing on app level of ITT is manipulating the lifetime (Long-Lived Interest
flag in ITT) of the R2 Interest to avoid the time-out issue
Automatically running a function requires a modular imple-
imposed by solely employing PIT. As the ndnSIM declares,
mentation not only for maintenance but also for develop-
these codes can be applied to the production with minor
ment. A general forwarding framework named NDN-trace
modifications.
[31] processes the intermediate Interest and Data. From a
scalability and compatibility perspective, we extend NDN-
1 void onInterest(const InterestFilter& filter, const
trace and perform a custom forwarding strategy to support Interest& inInterest)
function execution on an application level, i.e., Bolt5 . Next, 2 {
we provide the R2 Bolt app details. 3 // Discard looped Interest
if (Islooped(inInterest)) return;
Fig. 7 depicts the custom forwarding strategy pipeline 4
5 // Clone the incoming Interest and create the
of R2. The red and green dotted lines frame the R2 mapping relationship
Strategy and the NFD (the NDN Forwarding Daemon). 6 preProcessingInterest(inInterest, outInterest);
When NFD receives an R2 Interest, it is forwarded 7 // Process the cloned Interest (i.e., outInterest)
8 processingInterest(filter, inInterest, outInterest
according to the FIB (Forwarding Information Base) );
to the Bolt of that node. Inside NFD, R2 Interests are 9 // Issues the cloned Interest
handed over to our custom R2 Strategy extended from 10 afterProcessingInterest(inInterest, outInterest);
the native BestRouteStrategy2 of NDN. R2 Strategy 11 }
first performs a next-hop lookup on the actual data name
/alice’s-home/remote-monitor-data only, extracted Fig. 9: Pseudo-code of processing an incoming Interest in
by the “get lookup name” method instead of the entire Bolt: a single node perspective
R2 Interest name with the prefix “/r2”. Then, after checking
the FIB, we directly obtain the next hop (or face) matched The pseudo-code to process an incoming Interest
to the name /alice’s-home/remote-monitor-data is depicted in Fig. 9. The parameter inInterest can be
by performing the method “get next hops”. At last, referred to as I1, I2, and I3 (start with a prefix /r2) that
/r2/alice’s-home/remote-monitor-data is directly flows into Bolt in Fig. 8. Line 6 first clones those incoming
sent to the matched next hop (or face). Note that the next Interests then inserts the mapping relationship into ITT,
hop (or face) contains two types: Bolt and the next hop and finally exits the cloned outInterest. Sending out the
node. Because the Bolt app registers the prefix “/r2” using outInterest (Line 10) refers to I2, I3 and I4 that exit
InterestFilter, it can directly identify and capture Bolt in Fig. 8. In the processingInterest (Line 8), some
the R2 Interest. If the node does not install the Bolt or is additional operations can be applied to outInterest, e.g.,
a computing-incapable node R2 Strategy, it will forward make the interest long-lived, or add user-interested tags. In
/r2/alice’s-home/remote-monitor-data to the the R2 Bolt, processing the Data is technically the same as
direction of /alice’s-home/remote-monitor-data processing Interest logic. For further details, the reader
directly. The entire process is repeated at every is referred to the source code7 .
node encountered on the path(s) until R2 Interest
/alice’s-home/remote-monitor-data reaches the 4.2 Evaluation
target prefix, i.e., Alice’s home. This section evaluates R2 via an extensive simulation study.
Fig. 8 depicts a forwarding pipeline using three We implement four notable methods, including OptOff and
computing-capable nodes to demonstrate the Bolt logic. To
simplify the process, we do not distinguish between Meta- 6. It is worth noting that R2 Interest starts with a prefix /r2
(Fig. 3), while the forwarding process of NFD only cares about
data and Data. Alice (n1 ) sends an Interest (under the name /alice’s-home/remote-monitor-data. Thus, the right sub-
/r2/alice’s-home/remote-monitor-data/sep components in the names are extracted through custom Strategy in
the NFD level to enter the proper forwarding pipeline. The Interest
5. The name “Bolt” is inspired by Apache Storm. In Apache Storm, Name in PIT is still starts with /r2 and does not change.
the logic for processing data tuples in a node is called a “Bolt”. 7. Intermediate data processing code in Bolt: https://git.io/J3iux
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 11

the ratio of the function output size to its input data size as
α = 0.1.
p

4.3 Results

0.57 s
0.5
Executor

(a) O(logn)
0.4 Local
OptOff
OptAuto

c
0.3 Producer 0.31 s

10.0 11.85 s

4.99 s

Time [s]
3.0

(b) O(n)
1.0
Fig. 10: Rocketfuel dataset.
0.3

100 113.40 s
OptAuto, to testify the end-to-end delay in ndnSIM [18],
where ndnSIM is an NS-3-based simulator for NDN [13] im- 24.59 s

(c) O(n2)
10
plementation. Two additional methods are the “Producer”
and “Local”, where the former means pushing the function 1

down to the storage (data location), a typically distributed


10 102 1024 10240 102400
database management method. However, the Producer’s Data size [Byte]
computing power and energy are usually limited. The Local
method considers the client directly retrieving the Data Fig. 11: End-to-end delay of 4 methods.
and executing the function itself. All R2 codes are based
on ndnSIM-2.8, NFD-0.7.0, and all the experiments are per- Fig. 11 presents the end-to-end delay of the four evalu-
formed on macOS utilizing an Intel i5 Dual-core at 2.7GHz. ated methods by varying the data size and time complexity.
Dataset. We adopt a real-world network topology, i.e., Fig. 9 indicates that the end-to-end delay increases as the
rocketfuel [32], comprising 282 nodes, including 177 clients, data size and complexity rise. When the data size is small,
89 gateways, and 16 backbones. The topology is illustrated i.e., data size < 102 bytes, both the Local and Producer
in Fig. 10, where the two yellow nodes are the client (c) present a low delay level. However, when the data size
and the producer (p). The blue backbone is the high-level exceeds 1024 bytes (1 KiB, which is very rare in today’s
performance edge node, the green gateway is the middle- network communication), OptAuto and OptOff gradually
level performance edge node, and the red device is the low- get better than the Local and Producer. Hence, the executor
level edge node performance. Table 2 shows this topology’s is essential for the computations within the continuum.
configurations, where H and M denote the high and middle Fig. 11 (a) illustrates that OptOff, which has a com-
performance, respectively, and C the end device (Client or plexity of O(logn) , is always at a high level because it
Producer). It is worth noting that the available bandwidth needs a fully two-round-trip to find the executor and the
is the total bandwidth split by numerous nodes due to transmission dominating the total delay. Since the O(logn)
concurrency and collision. operations are not large, the Producer is faster than the
competitor methods. Nevertheless, we do not prefer the
TABLE 2: Topology configuration task compute at the producer because its computing power
Item H(-H) H(-M) M(-C)
is usually limited. Meanwhile, OptAuto obtains a similar
result with the Producer when the data size is larger than
Available bandwidth (Mbps) 10 ∼ 40 20 ∼ 40 40 ∼ 100 1024 bytes, i.e., the bound b is found, and a fully two-round-
CPU (GHz) 3∼4 2∼3 0.5 ∼ 2 trip compared with OptOff is avoided. Local also presents
Memory (GB) 32 ∼ 128 8 ∼ 32 2∼8 an increased processing time once the data size exceeds
1024 bytes, which integrating with OptAuto implies that
Indicators. We focus on measuring the average end-to- the computation and the transmission delays are of the
end delay and the hop-by-hop delay. End-to-end delay is same order and both dominate the total delay. It should
used to compare four methods, and the hop-by-hop delay is be noted that the methods having O(logn) complexity are
used to test whether the stop condition is working. Different not everywhere reachable, especially in the data analysis
complexity of the function can have a different impact realm. Fig. 11 (b) and Fig. 11 (c) the four methods with
on the cost estimation model. Thus, given the competitor O(n) and O(n2 ), respectively. From this figure, it is evident
methods, we categorize the time complexity of the function that OptAuto manages an acceptable result compared with
as O(logn), O(n), and O(n2 ) and fixed space complexity as Local and Producer. When the data size reaches 100 KiB, the
O(n) 8 , where n is the data size. In the simulation, we set speedup ratio Local/OptAuto reaches 1.84, 2.37, and 4.61
for O(logn), O(n), and O(n2 ), respectively.
8. For further information on IOPS the reader is referred to:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io- From the stop condition analysis of Section 3.3.2, we
characteristics.html know that the bound b is related to the time complexity
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 12

and transmission delay. Next, to verify whether the bound


b is found, we plot the hop-by-hop accumulating delay of
OptAuto and OptOff varying data size (entitled “Method-
Packet flow type Data Interest
Datasize”), presented in Fig. 12. It is straightforward that
OptAuto − 10 OptAuto − 102 OptAuto − 1024 OptAuto − 10240 OptAuto − 102400
in most cases, OptAuto finds the bound b compared to the
0.3

OptOff in most cases, OptAuto finds the bound b compared


0.2
0.4 0.4
0.2
0.2 to the OptOff. Most importantly, OptAuto gives the same
0.2 0.2 0.1
executor as OptOff, proving the effectiveness of the stop
0.1
0.1
condition that does not check all nodes.
0.0 0.0 0.0 0.0 0.0
gw−1 24

gw−1 24

gw−1 24

gw−1 24

gw−1 24
gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449
bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182
1

1
Time [s]

leaf−2

leaf−2

leaf−2

leaf−2

leaf−2
OptOff − 10 OptOff − 102 OptOff − 1024 OptOff − 10240 OptOff − 102400
5 D ISCUSSION
0.6

The reader might have security-related concerns for the


0.4 0.4 0.4 0.4
0.4 Interest and Data intermediate processing. However, this is
a well-discussed topic in [13] and [31]. In addition to ICN’s
content-based security model, we implement our solution
0.2 0.2 0.2 0.2 0.2

0.0 0.0 0.0 0.0 0.0


on an application and not system level, and thus many pos-
sible ways can be utilized to enable authentication services.
gw−1 24

gw−1 24

gw−1 24

gw−1 24

gw−1 24
gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449
bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182
1

1
leaf−2

leaf−2

leaf−2

leaf−2

leaf−2
Node ID Feasible solutions involve nodes within the continuum hav-
(a) Hop-by-hop accumulating delay of O(log(n)). ing the public key of each other or other decentralized
Packet flow type Data Interest
authentication methods [33]. Neverthless, security concerns
OptAuto − 10 OptAuto − 102 OptAuto − 1024 OptAuto − 10240 OptAuto − 102400
are out of this paper’s scope, and thus we will not further
5
examine them.
0.75

0.2
0.2
0.3 4
This version of R2 focuses on how to pick the best
0.2
0.50
3
computing-capable executor within the forwarding path.
0.1 0.1

0.1 0.25
2
Thus, mobility is not paid much attention. Recent mobility-
1
related works mainly focus on two types of nodes (con-
0.0 0.0 0.0 0.00 0
sumer and producer) and three categories (mapping-based,
gw−1 24

gw−1 24

gw−1 24

gw−1 24

gw−1 24
gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449
bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182
1

1
Time [s]

leaf−2

leaf−2

leaf−2

leaf−2

leaf−2

OptOff − 10 OptOff − 102 OptOff − 1024 OptOff − 10240 OptOff − 102400


tracing-based, and data depot) [34], [35], [36]. For R2, mo-
0.6 1.00
5 bility support needs to be built on top of these ideas.
0.4 0.4 0.75
4 Specifically, in R2, the executor is the role of the consumer
0.4

0.50
3 compared to the data producer, and the role of the data
0.2 0.2
0.2
2 producer remains unchanged. Thus, if the producer moves,
0.25
1
the methods mentioned in [34], [35], [36] can be adapted.
0.0 0.0 0.0 0.00 0
Another problem is that intermediate forwarding nodes
gw−1 24

gw−1 24

gw−1 24

gw−1 24

gw−1 24
gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449
bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182
1

have mobility. Current works have not paid much atten-


leaf−2

leaf−2

leaf−2

leaf−2

leaf−2

Node ID

tion to the intermediate forwarding nodes, but it is more


(b) Hop-by-hop accumulating delay of O(n). common in self-organizing and stochastic networks. For
Packet flow type Data Interest
the consumer, the executor is the role of the producer that
OptAuto − 10
0.6
OptAuto − 102
0.8
OptAuto − 1024
3
OptAuto − 10240

25
OptAuto − 102400
may use a tracing-based approach to proactively inform the
0.6
20
nodes on the forwarding path to establishing a new chan-
0.2
0.4 2
15
nel, which ensures that the executor is always accessible.
0.4

10
Another solution is to carry the unique identifier of the
0.1 0.2 1
0.2
5
executor as a hint when the executor performs the process
0.0 0.0 0.0 0 0
of returning ACK Data to the consumer, which ensures that
we can eventually look up the executor.
gw−1 24

gw−1 24

gw−1 24

gw−1 24

gw−1 24
gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449
bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182
1

1
Time [s]

leaf−2

leaf−2

leaf−2

leaf−2

leaf−2

OptOff − 10 OptOff − 102 OptOff − 1024 OptOff − 10240 OptOff − 102400


0.6 0.8 3 25

0.4
0.4
0.6
2
20
6 C ONCLUSION
15

0.4

10
This paper discusses the feasibility of R2, a 2-phase novel
0.2
0.2
0.2
1

5
mechanism for data processing in edge computing. A 2-
0.0 0.0 0.0 0 0
phase design has many potential benefits, ensuring the
function execution integrity, checking the node’s health
gw−1 24

gw−1 24

gw−1 24

gw−1 24

gw−1 24
gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449

gw−189
gw−287
gw−103
bb−1 37

gw−159
gw−158
gw−249
leaf−449
bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182

bb−240
gw−182
1

1
leaf−2

leaf−2

leaf−2

leaf−2

leaf−2

Node ID
status in the client’s path towards the producer, and, most
(c) Hop-by-hop accumulating delay of O(n2 ). importantly, choosing the best node to execute the function.
R2 leverages the NDN paradigm for data retrieval from
Fig. 12: Hop-by-hop accumulating delay of OptAuto and data sources, enhances it to provide a decentralized method
OptOff varying data size invocation mechanism with the objectives to (1) minimize
the end-to-end delay by limiting the raw data traffic crossing
the network and selecting the executor and (2) reduce the
first round trip time by an intelligent stop condition. In
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 13

addition, we developed “Bolt” to process the intermediate [2] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: Vision
data on the app level in ndnSIM. “Bolt” can be installed on and challenges,” IEEE Internet of Things Journal, vol. 3, no. 5, pp.
637–646, Oct 2016.
the selected computing-capable nodes to provide scalable
[3] C. Nguyen, A. Mehta, C. Klein, and E. Elmroth, “Why cloud
service. We believe that our freely available code [19] can applications are not ready for the edge (yet),” in Proceedings of
help researchers and developers verify their ideas smoothly. the 4th ACM/IEEE Symposium on Edge Computing - SEC '19. ACM
Press, 2019.
[4] J. Moura and D. Hutchison, “Fog computing systems:
State of the art, research issues and future trends, with
7 F UTURE WORKS a focus on resilience,” Journal of Network and Computer
Currently, R2 only handled a single user request in this Applications, vol. 169, p. 102784, 2020. [Online]. Available:
https://www.sciencedirect.com/science/article/pii/S1084804520302587
paper. We solve the multi-user requests, including “compute
[5] N. Mor, “Research for practice: Edge computing,” Commun.
reuse” in the future. Future works also include extending ACM, vol. 62, no. 4, p. 95, Mar. 2019. [Online]. Available:
R2 to handle application (i.e., solving the functions/tasks https://doi.org/10.1145/3303876
directed acyclic graph (DAG)), re-forwarding the user’s In- [6] Edge Intelligence: Paving the Last Mile of Artificial Intelligence With
Edge Computing, vol. 107, no. 8. Institute of Electrical and
terest according to function name by the intermediate nodes Electronics Engineers (IEEE), aug 2019.
to scale out the executor selection space, storing metadata [7] E. Li, L. Zeng, Z. Zhou, and X. Chen, “Edge ai: On-demand accel-
and data with different locations. erating deep neural network inference via edge computing,” IEEE
Changing metadata-Interest’s lifetime from long-lived TRANSACTIONS ON WIRELESS COMMUNICATIONS, vol. 19,
no. 1, pp. 447–457, JAN 2020.
to regular is another future work. We think the latter is
[8] C. Avasalcai, C. Tsigkanos, and S. Dustdar, “Resource Manage-
feasible and is currently implemented by inflating the timer ment for Latency-Sensitive IoT Applications with Satisfiability,”
of the metadata-Interest entry in the PIT through sending IEEE Transactions on Services Computing, p. 1, 2021.
a refreshing Interest or an ACK Data that carries the esti- [9] Z. Fan, W. Yang, F. Wu, J. Cao, and W. Shi, “Serving at the
edge: An edge computing service architecture based on icn,”
mated function-execution time from the selected executor
ACM Trans. Internet Technol., vol. 22, no. 1, Oct. 2021. [Online].
back to the consumer. This is similar to RICE’s “Interest Available: https://doi.org/10.1145/3464428
Acknowledgements” [16]. The most significant difference is [10] M. S. U. Islam, A. Kumar, and Y.-C. Hu, “Context-aware
that the refreshing action in R2 is sent from the executor and scheduling in fog computing: A survey, taxonomy, challenges
and future directions,” Journal of Network and Computer
not from the consumer or the producer. Because the execu- Applications, vol. 180, p. 103008, 2021. [Online]. Available:
tor has the metadata, R2 affords a more precise function- https://www.sciencedirect.com/science/article/pii/S1084804521000357
execution time. [11] Y. Harchol, A. Mushtaq, V. Fang, J. McCauley, A. Panda,
Instead of identifying and capturing the current R2 Inter- and S. Shenker, “Making edge-computing resilient,” in
Proceedings of the 11th ACM Symposium on Cloud Computing,
est by the prefix “/r2”, effectively capturing the Interests at ser. SoCC ’20. New York, NY, USA: Association for
the application level by identifying the user-selected Name Computing Machinery, 2020, p. 253–266. [Online]. Available:
components is another future research direction. Note that https://doi.org/10.1145/3419111.3421278
our purpose is still putting the computation logic on the ap- [12] K.-J. Hsu, J. Choncholas, K. Bhardwaj, and A. Gavrilovska, “Dns
does not suffice for mec-cdn,” in Proceedings of the 19th ACM
plication level, not the NFD level. Another possible solution Workshop on Hot Topics in Networks, ser. HotNets ’20. New York,
is adding “/r2” as a postfix, identifying the postfix “/r2” NY, USA: Association for Computing Machinery, 2020, p. 212–218.
and forwarding it to the face of the Bolt app instead of the [Online]. Available: https://doi.org/10.1145/3422604.3425931
next-hop node, which still integrates with the forwarding [13] L. Zhang, A. Afanasyev, J. Burke, V. Jacobson, k. claffy,
P. Crowley, C. Papadopoulos, L. Wang, and B. Zhang,
Strategy. This Strategy seems similar to the Interests tracing “Named data networking,” SIGCOMM Comput. Commun. Rev.,
method KITE [36] and opposes the current R2 Strategy. To vol. 44, no. 3, p. 66–73, Jul. 2014. [Online]. Available:
the best of our knowledge, designing a scalable naming https://doi.org/10.1145/2656877.2656887
convention is a concern of many recent works that put the [14] C. Scherb, B. Faludi, and C. Tschudin, “Execution state manage-
ment in named function networking,” in 2017 IFIP Networking
function or service identifier at the head of the Name, e.g., Conference (IFIP Networking) and Workshops, 2017, pp. 1–6.
name as a function. Overcoming this issue may bring R2 [15] S. Mastorakis, A. Mtibaa, J. Lee, and S. Misra, “Icedge: When edge
scalability into a new stage. computing meets information-centric networking,” IEEE Internet
of Things Journal, vol. 7, no. 5, pp. 4203–4217, May 2020.
[16] M. Król, K. Habak, D. Oran, D. Kutscher, and I. Psaras,
“Rice: Remote method invocation in icn,” in Proceedings
ACKNOWLEDGMENTS of the 5th ACM Conference on Information-Centric Networking,
This work was supported by National Natural Science ser. ICN ’18. New York, NY, USA: Association for
Computing Machinery, 2018, p. 1–11. [Online]. Available:
Foundation of China under Grant No. 62173158 and No. https://doi.org/10.1145/3267955.3267956
61379134 and the Scientific Technological Innovation Foun- [17] M. Amadeo, G. Ruggeri, C. Campolo, and A. Molinaro, “Iot
dation of Shunde Graduate School, USTB under Grant No. services allocation at the edge via named data networking: From
BK19CF010 and No. BK20BF012, and in part by the National optimal bounds to practical design,” IEEE Transactions on Network
and Service Management, vol. 16, pp. 661–674, 2019.
Key Research and Development Program of China under [18] S. Mastorakis, A. Afanasyev, and L. Zhang, “On the evolution
Grant No. 2016YFC0901303. of ndnSIM: an open-source simulator for NDN experimentation,”
ACM Computer Communication Review, Jul. 2017.
[19] Q. Jianpeng, “R2 source code,” Jun. 2021. [Online]. Available:
R EFERENCES https://github.com/qijianpeng/ndnSIM
[20] M. Król and I. Psaras, “Nfaas: Named function as a service,”
[1] F. M, “The growth in connected iot devices is in Proceedings of the 4th ACM Conference on Information-Centric
expected to generate 79.4zb of data in 2025, according Networking, ser. ICN ’17. New York, NY, USA: Association
to a new idc forecast,” 2019. [Online]. Available: for Computing Machinery, 2017, p. 134–144. [Online]. Available:
https://www.idc.com/getdoc.jsp?containerId=prUS45213219 https://doi.org/10.1145/3125719.3125727
JOURNAL OF IEEE TRANSACTIONS ON NETWORKING, VOL. #, NO. #, AUGUST 2021 14

[21] M. Król, S. Mastorakis, D. Oran, and D. Kutscher, “Compute


first networking: Distributed computing meets icn,” in Proceedings
of the 6th ACM Conference on Information-Centric Networking,
ser. ICN ’19. New York, NY, USA: Association for
Computing Machinery, 2019, p. 67–77. [Online]. Available:
https://doi.org/10.1145/3357150.3357395
[22] M. Amadeo, C. Campolo, and A. Molinaro, “Ndne: Enhancing
named data networking to support cloudification at the edge,”
IEEE Communications Letters, vol. 20, no. 11, pp. 2264–2267, Nov
2016.
[23] R. Ullah, M. A. U. Rehman, M. A. Naeem, B.-
S. Kim, and S. Mastorakis, “Icn with edge for
5g: Exploiting in-network caching in icn-based edge
computing for 5g networks,” Future Generation Computer
Systems, vol. 111, pp. 159–174, oct 2020. [Online]. Available:
https://www.sciencedirect.com/science/article/pii/S0167739X19328900
[24] A. Sapio, I. Abdelaziz, A. Aldilaijan, M. Canini, and P. Kalnis,
“In-network computation is a dumb idea whose time has come,”
in Proceedings of the 16th ACM Workshop on Hot Topics in
Networks, ser. HotNets-XVI. New York, NY, USA: Association for
Computing Machinery, nov 2017, p. 150–156. [Online]. Available:
https://doi.org/10.1145/3152434.3152461
[25] J. Son, T. He, and R. Buyya, “CloudSimSDN-NFV: Modeling and
simulation of network function virtualization and service function
chaining in edge computing environments,” Software: Practice and
Experience, vol. 49, no. 12, pp. 1748–1764, oct 2019.
[26] S. H. Mortazavi, M. Salehe, C. S. Gomes, C. Phillips, and
E. de Lara, “Cloudpath: A multi-tier cloud computing frame-
work,” in Proceedings of the Second ACM/IEEE Symposium on Edge
Computing - SEC '17, J. Zhang, M. Chiang, and B. M. Maggs, Eds.
ACM Press, 2017, pp. 20:1–20:13.
[27] H. Jin, L. Jia, and Z. Zhou, “Boosting edge intelligence with
collaborative cross-edge analytics,” IEEE Internet of Things Journal,
vol. 8, no. 4, pp. 2444–2458, feb 2021.
[28] C. Xiang, X. Wang, Q. Chen, M. Xue, Z. Gao, H. Zhu, C. Chen, and
Q. Fan, “No-jump-into-latency in china's internet!” in Proceedings
of the International Symposium on Quality of Service - IWQoS '19.
ACM Press, 2019.
[29] M. Gasparyan, A. Marandi, E. Schiller, and T. Braun, “Fault-
tolerant session support for service-centric networking,” in 2019
IFIP/IEEE Symposium on Integrated Network and Service Management
(IM), 2019, pp. 312–320.
[30] J. N. Bearden, R. O. Murphy, and A. Rapoport, “A
multi-attribute extension of the secretary problem: Theory
and experiments,” Journal of Mathematical Psychology,
vol. 49, no. 5, pp. 410–422, oct 2005. [Online]. Available:
https://www.sciencedirect.com/science/article/pii/S0022249605000726
[31] S. Khoussi, D. Pesavento, L. Benmohamed, and A. Battou, “Ndn-
trace: a path tracing utility for named data networking,” in Pro-
ceedings of the 4th ACM Conference on Information-Centric Network-
ing, ICN 2017, Berlin, Germany, September 26-28, 2017, T. C. Schmidt
and J. Seedorf, Eds. ACM, sep 2017, pp. 116–122.
[32] N. Spring, R. Mahajan, D. Wetherall, and T. Anderson, “Measuring
isp topologies with rocketfuel,” IEEE/ACM Transactions on Net-
working, vol. 12, no. 1, pp. 2–16, 2004.
[33] D. Liu, P. Ning, and R. Li, “Establishing pairwise keys in
distributed sensor networks,” ACM Trans. Inf. Syst. Secur.,
vol. 8, no. 1, p. 41–77, Feb. 2005. [Online]. Available:
https://doi.org/10.1145/1053283.1053287
[34] Y. Zhang, A. Afanasyev, J. Burke, and L. Zhang, “A survey of mo-
bility support in named data networking,” in 2016 IEEE Conference
on Computer Communications Workshops (INFOCOM WKSHPS),
2016, pp. 83–88.
[35] B. Feng, H. Zhou, and Q. Xu, “Mobility support in named data
networking: a survey,” EURASIP Journal on Wireless Communica-
tions and Networking, vol. 2016, no. 1, sep 2016.
[36] Y. Zhang, Z. Xia, S. Mastorakis, and L. Zhang, “Kite:
Producer mobility support in named data networking,” in
Proceedings of the 5th ACM Conference on Information-Centric
Networking, ser. ICN ’18. New York, NY, USA: Association
for Computing Machinery, 2018, p. 125–136. [Online]. Available:
https://doi.org/10.1145/3267955.3267959

You might also like