Updating Neighbour Cell List via Crowdsourced User Reports: a Framework for Measuring Time Performance
Extracted source text ยท arXiv 1401.1551
% flatex input: [CL.tex]
\RequirePackage{ifthen}
\newboolean{final}
\setboolean{final}{true}
\newboolean{forprint}
\setboolean{forprint}{false}
%\documentclass{article}
\documentclass[journal,12pt,draftclsnofoot,onecolumn]{IEEEtran}
% flatex input: [definitions-private.tex]
\usepackage{braket}
\usepackage{color}
\usepackage{flafter} % make the floats appear after it has been called
\usepackage{amsfonts,amssymb,amsmath,calc}
\usepackage{mathrsfs,mathtools}
\usepackage{pstricks}
%\usepackage{algorithm,algorithmicx}
%\usepackage{algpseudocode}
\usepackage{amsthm}
\usepackage{nicefrac}
\usepackage[english]{babel}
\usepackage[sort&compress,square,comma,numbers]{natbib}
\usepackage{caption}
\usepackage{ifpdf}
\usepackage{graphicx}
\captionsetup{font=small}
\ifthenelse{\boolean{pdf}}{%
\usepackage[pdftex]{hyperref}%
\usepackage{epstopdf}%
}{%
\usepackage{psfrag}%
\usepackage{hyperref}%
}
\usepackage[affil-it]{authblk}
\usepackage{bm} % this package define a bold math \bm{anything}
\usepackage{subfig}
\usepackage{snapshot}
\ifthenelse{\not\boolean{final}\AND\boolean{pdf}}{\usepackage{embedfile}}{\relax}
% Margin comment
\def\graffito@setup{%
\slshape\footnotesize%
\parindent=0pt \lineskip=0pt \lineskiplimit=0pt %
\tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
\doublehyphendemerits=100000%
\finalhyphendemerits=\doublehyphendemerits}
\let\oldmarginpar\marginpar
\renewcommand{\marginpar}[1]{\oldmarginpar%
[\graffito@setup\raggedleft\hspace{0pt}{#1}]%
{\graffito@setup\raggedright\hspace{0pt}{#1}}}
% Boolean
\usepackage{etoolbox}
\usepackage[T1]{fontenc}
\newcommand{\numberset}[1]{\mathbb{#1}}
\newcommand{\RR}{\numberset{R}}
\newcommand{\NN}{\numberset{N}}
\newcommand{\ZZ}{\numberset{Z}}
\newcommand{\QQ}{\numberset{Q}}
\newcommand{\CC}{\numberset{C}}
\newcommand{\field}[1]{\mathcal{#1}}
\newcommand{\A}{{\field{A}}}
\newcommand{\B}{{\field{B}}}
\newcommand{\D}{{\field{D}}}
\newcommand{\E}{{\field{E}}}
\newcommand{\F}{{\field{F}}}
\newcommand{\I}{{\field{I}}}
\newcommand{\J}{{\field{J}}}
\newcommand{\K}{{\field{K}}}
\newcommand{\M}{{\field{M}}}
\newcommand{\N}{{\field{N}}}
\newcommand{\Q}{{\field{Q}}}
\newcommand{\R}{{\field{R}}}
\newcommand{\T}{{\field{T}}}
\newcommand{\UU}{{\field{U}}}
\newcommand{\V}{{\field{V}}}
\newcommand{\X}{{\field{X}}}
\newcommand{\Y}{{\field{Y}}}
\newcommand{\Z}{{\field{Z}}}
% Vector of ones
\newcommand{\1}{{\textbf{1}}}
% Other sets
\newcommand{\nil}{\varnothing}
\newcommand{\ud}{\mathrm{d}} % for integration
% Greek letters
\renewcommand{\epsilon}{\varepsilon}
\renewcommand{\theta}{\vartheta}
\renewcommand{\rho}{\varrho}
\renewcommand{\phi}{\varphi}
% Vector bold (comment out for arrow)
\renewcommand{\vec}{\bm}
% Comments
\def\comment#1{\noindent***\ {\red \bf #1}\newline}
\def\commentread#1{{{\marginpar{{\red \large #1}}}}}
% Probability
\newcommand{\Prob}[1]{\operatorname{\mathbb{P}} \left(#1\right) }
\newcommand{\Exp}[1]{ {\operatorname{\mathbb{E}} \left[ #1 \right]} }
% Abbreviations
\newcommand{\ie}{{i.\,e.\ }}
\newcommand{\eg}{{e.\,g.\ }}
% Complexity
\newcommand{\bigO}{\operatorname{\mathcal{O}}}
% \newcommand{\smallo}{\operatorname{\mathcal{o}}}
\newcommand\smallo{
\mathchoice
{{\scriptstyle\mathcal{O}}}% \displaystyle
{{\scriptstyle\mathcal{O}}}% \textstyle
{{\scriptscriptstyle\mathcal{O}}}% \scriptstyle
{\scalebox{.7}{$\scriptscriptstyle\mathcal{O}$}}%\scriptscriptstyle
}
% Autofix parentheses
\let\originalleft\left
\let\originalright\right
\renewcommand{\left}{\mathopen{}\mathclose\bgroup\originalleft}
\renewcommand{\right}{\aftergroup\egroup\originalright}
\delimitershortfall=-1pt
\let\Right\right
\let\Left\left
\makeatletter
\def\right#1{\Right#1\@ifnextchar#1{\!}{}}
\def\left#1{\Left#1\@ifnextchar#1{\!}{}}
\makeatother
% Absolute value and norms
\DeclarePairedDelimiter\abs{\lvert}{\rvert}%
\DeclarePairedDelimiter\norm{\lVert}{\rVert}%
% Swap the definition of \abs* and \norm*, so that \abs
% and \norm resizes the size of the brackets, and the
% starred version does not.
\makeatletter
\let\oldabs\abs
\def\abs{\@ifstar{\oldabs}{\oldabs*}}
\let\oldnorm\norm
\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
\makeatother
% Theorems
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\newtheorem{problem}{Problem}
\newtheorem*{nproblem}{Problem}
\theoremstyle{definition}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{definition}{Definition}
\newtheorem{assumption}{Assumption}
\newtheorem{rmk}{Remark}
\newtheorem{model}{Model}
\newenvironment{condition}[1]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
% repeated theorem
\newtheorem*{rep@theorem}{\rep@title}
\newcommand{\newreptheorem}[2]{%
\newenvironment{rep#1}[1]{%
\def\rep@title{#2 \ref*{##1}}%
\begin{rep@theorem}}%
{\end{rep@theorem}}}
\newreptheorem{theorem}{Theorem}
\newreptheorem{corollary}{Corollary}
% flatex input end: [definitions-private.tex]
%\documentclass{IEEEtran}
\ifthenelse{\boolean{pdf}}{\pdfminorversion=4}{\relax}
\usepackage{paralist}
\graphicspath{{./figures/}}
\usepackage{xspace}
\usepackage{dsfont}
\usepackage[normalem]{ulem}
\ifthenelse{\boolean{final}}{\relax}{%
\setlength\overfullrule{5pt}%
}
%% EMBED SOURCE CODE IN THE PDF (why? why not) ALEX
\ifthenelse{\boolean{pdf}\and\not\boolean{final}}{%
\embedfile[desc={Source code},filespec={source.tex}]{CL.tex}%
}{\relax}%
\usepackage[affil-it]{authblk}
\newcommand{\knowledge}[1]{\mbox{#1-knowledge}}
\newcommand{\jvec}{{\vec{j}}}
\newcommand{\ivec}{{\vec{i}}}
\usepackage[smaller]{acronym}
\definecolor{halfgray}{gray}{0.55} % chapter numbers will be semi transparent .5 .55 .6 .0
\definecolor{webgreen}{rgb}{0,.5,0}
\definecolor{webbrown}{rgb}{.6,0,0}
\definecolor{RoyalBlue}{cmyk}{1, 0.50, 0, 0}
\ifthenelse{\boolean{pdf}}{%
\ifthenelse{\boolean{forprint}}{%
\selectcolormodel{gray}%
\hypersetup{%
draft,% % = no hyperlinking at all (useful in b/w printouts)%
pdftitle={Using Crowdsourcing for Local Topology
Discovery in Wireless Networks},%
pdfauthor={},%
pdfsubject={},%
pdfkeywords={},%
pdfcreator={Alessandro Checco and Carlo Lancia and Doug Leith},%
pdfproducer={LaTeX}%
}%
}{%
\hypersetup{%
pdfstartview=FitV,%
unicode=true,bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=1,breaklinks=false,
pdftitle={Using Crowdsourcing for Local Topology
Discovery in Wireless Networks},%
pdfauthor={},%
pdfsubject={},%
pdfkeywords={},%
pdfcreator={Alessandro Checco and Carlo Lancia and Doug Leith},%
pdfproducer={LaTeX},%
colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,%
breaklinks=true, pdfpagemode=UseNone, pageanchor=true, pdfpagemode=UseOutlines,%
plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,%
hypertexnames=true, pdfhighlight=/O,%hyperfootnotes=true,%nesting=true,%frenchlinks,%
urlcolor=webbrown, linkcolor=RoyalBlue, citecolor=webgreen, %pagecolor=RoyalBlue,%
}%
}%
}{\relax}
%%added by Alex to improve plurals of acronyms
\usepackage{etoolbox}
\makeatletter
\patchcmd{\AC@aclp}{\AC@acl{#1}s}{\AC@acl{#1}{\normalsize s}}{}{}
\patchcmd{\AC@acsp}{\AC@acs{#1}s}{\AC@acs{#1}{\normalsize s}}{}{}
\makeatother
%end acronym
\usepackage{siunitx}
\newcommand{\rain}{~\ref{model:rain}\xspace}
\DeclareSIUnit{\dBm}{dBm}
\title{Using Crowdsourcing for Local Topology
Discovery in Wireless Networks}
\author[1]{Alessandro Checco}
\author[2]{Carlo Lancia}
\author[1]{Douglas J. Leith}
\affil[1]{Hamilton Institute, National University of Ireland Maynooth}
\affil[2]{University of Rome Tor Vergata}
%\affil[3]{Technische Universiteit Eindhoven}
% Acronyms
\acrodef{LTD}{Local Topology Discovery}
\acrodef{TD}{Topology Discovery}
\acrodef{FK}{Full Knowledge}
\acrodef{AP}{Access Point}
\acrodef{MC}{Markov chain}
\newcommand{\ap}{basestation\xspace}
\newcommand{\aps}{basestations\xspace}
\newcommand{\Ap}{basestation\xspace}
\newcommand{\Aps}{basestations\xspace}
\begin{document}
\maketitle
\begin{abstract}
In this paper we introduce the idea of estimating local topology
in wireless networks by means of crowdsourced user reports. In
this approach each user periodically reports to the serving \ap
information about the set of neighbouring \aps observed by the user.
We show that, by mapping the local topological structure of the
network onto states of increasing knowledge, a crisp mathematical
framework can be obtained, which allows in turn for the use of a
variety of user mobility models. Using a simplified mobility model we
show how obtain useful upper bounds on the expected time for a \ap
to gain full knowledge of its local neighbourhood, answering the
fundamental question about which classes of network deployments can
effectively benefit from a crowdsourcing approach.
\end{abstract}
\section{Introduction}
\label{sec:introduction}
%\ac{TD} is a widely studied topic in graph
%theory~\cite{donnet2007internet} and in application areas such as Internet modelling~\cite{anandkumar2012topology}.
In modern wireless networks there is an increasing need for \ac{TD},
particularly in networks that are deployed in an unplanned,
decentralised manner like WiFi hotspots and 3G/LTE Femtocells.
Appropriate knowledge of the network topology allows the design of
more efficient routing and interference-avoidance algorithms, improved
allocation of limited network resources, etc. In this paper we focus
on \ac{LTD}, a class of problems where each wireless \ap only
aims at the knowledge of its first-hop neighbour \aps.
The first-hop neighbour information provided by \ac{LTD} is sufficient
to allow implementation of distributed algorithms for solving a number
of fundamental resource allocation tasks within wireless networks.
One example is channel allocation in WiFi networks to minimise
interference~\cite{checco2013learning}; another is the allocation of
scrambling codes in Femtocell networks, where these codes are used as
\ap identifiers and therefore code confusion (neighbouring \aps
using the same code) can jeopardise the functionality of the whole
network, see~\cite{checcoself} and references therein. More
generally, first-hop neighbour information is sufficient for both
distributed graph colouring and routing, and also for problems of
joint optimisation of power and channel allocation.
Importantly, the combination of \ac{LTD} with distributed algorithms
also offers a number of useful benefits:
\begin{itemize}
\item[\bf Incomplete information.] The geographic location of small
\aps deployed by users (in homes, hotspots etc) is typically not
known, nor easily discovered. The network is therefore constrained
to work with partial information.
\item[\bf Scalability.]
Distributed algorithms requiring only local topology information
are inherently much more scalable than
centralised algorithms or algorithms that require greater topology
information.
\item[\bf Adaptability.] Wireless networks are time-varying e.g. due
to the rollout of new \aps, changes in the radio-propagation
environment, changes in the distribution of traffic load, etc. Use
of local topology information potentially allows rapid adaptation
in response to local changes without a global reconfiguration of the
network.
\end{itemize}
In the present paper we focus on the process of \ac{LTD} via
\emph{crowdsourcing}, meaning that the task of detecting and
reporting the existence of conflicting neighbours is delegated to
users. Each user periodically reports to the serving \ap information
about the set of neighbouring \aps observed. For example,
in 3G-femtocell networks users would report both ID and scrambling
code of the \aps that lie within the handover range, as described
in~\cite{patent:EP2214434}.
%The process through which a cell basestation can gain
%knowledge of its local neighbourhood therefore depends on the geographic distribution of the users and on their movement.
We address the fundamental question about which classes of network
deployments can effectively benefit from a crowdsourcing approach,
estimating the expected time for a \ap to gain
knowledge of its local neighbourhood.
The requirements on this value can be more or less stringent depending
on the application; for example, in joint power and channel allocation
problems, a very quick adaptability is required, because the \ap needs
to re-evaluate its neighbourhood every time a change of power (and
thus of coverage area) occurs. On the other hand, the local-neighbourhood estimation-time
requirement is less tight in the case of
channel allocation because
the network is already deployed and only few node change in a
relatively large time scale.
%The time for an basestation to
%reach knowledge of the local topology is an inherently stochastic
%quantity, and so its characterisation is dependent on the
%user-mobility model, \ie the mathematical description of how users
%move over time.
%
The use of crowdsourcing for \ac{LTD} is appealing because it is
easy to implement and virtually cost-free. For example, in
3G-femtocell networks it is already the case that users periodically
report the list of \aps within handover range, but this information is
currently disregarded by the serving \ap~\cite[\textsection
7.4.1]{homenode2011}.
%Crowdsourcing approaches are steadily gaining
%consensus among the network-optimisation community.
However, to the best of our knowledge, no previous work has addressed
the use of crowdsourcing for \ac{LTD} in wireless networks.
Our main contributions are the following:
\begin{inparaenum}[(i)]
\item the problem of user-reports-based \ac{LTD} is
stated for the first time through a crisp mathematical
formulation;
\item the local topological structure of the
network is mapped onto states of
increasing knowledge, and in this
way the use of a general user mobility model is naturally
allowed for;
\item we concentrate on a specific, simplified mobility model that
is useful for gaining insight into those situations where
crowdsourcing via user reports is likely to yield the greatest
benefit;
\item under certain conditions, that simplified model is shown to
provide an upper bound on the time of topology discovery, thus it
can be used as a design tool (see
Section~\ref{sec:gener-mobil-model}).
\end{inparaenum}
%
%
\begin{figure}
\centering
\includegraphics[width=1.0\columnwidth]{antenne}
\caption{Example of a scenario in which the access point $a_0$ has
three interfering neighbours: $a_1,a_2,a_3$. The coverage area
$A(a_0)$ can be tessellated with the sets $A_1,A_2,A_3,A_{12},A_{13},A_{23},A_{123}$.}
\label{fig:antenne}
\end{figure}
%
%
\subsection{Related Work}
\label{sec:related-work}
%%%%% CARLO %%%%
\ac{TD} has been investigated because of its applications to
geographical position discovery~\cite{roychouldhury2000mobile},
routing protocols problems~\cite{marwaha2002novel}, and ad-hoc
networks configuration in general~\cite{roychoudhury2000distributed}.
Although some papers on wireless optimisation
(\eg~\cite{checco2013learning}) try to relax, at the expense of
performance, the hypothesis that each \ap has local knowledge of the
network topology, many decentralised schemes do assume
it~\cite{kuhn2006complexity,Johansson1999,luby1988removing,szegedy1993locality}.
Our work investigates when that assumption holds if a crowdsourcing
approach is taken on, while the subsequent step of devising an
optimisation scheme falls out of the scope of this project.
Crowdsourcing approaches have been investigated for different
applications, \eg for estimating both density and number of attendees
of large events~\cite{EPFL-ARTICLE-187617}.
However, to the best of our knowledge, the effects of crowdsourcing
on neighbours discovery capability have never been studied in the
literature so far. This function is already available on commercial
femtocells~\cite{patent:EP2214434} and its implementation for
interference reduction is recommended
in~\cite{checcoself} and~\cite{edwards2008implementation}.
\section{\acl{LTD} Model}\label{sec:aclltd-model}
Given a set of wireless \aps $\A = \{a_0,\dots,a_N\}$, let $A(a_i)
\subset \mathbb{R}^2$ denote the coverage area of access point
$a_i$. Please note that $A(a_i)$ generally depends on the
transmission power of $a_i$ and on the radio propagation properties of
the medium. We focus on serving access point $a_0$ and let $\B$ denote
the neighbouring \aps that have non-void intersection with $A(a_0)$,
\ie
\[\B = \{a_i \in \A, i>0 \colon A(a_0) \cap A(a_i) \neq \emptyset \}.\]
We will hereafter use the symbol $N$ to denote the cardinality of
$\B$, \ie $N = |\B|$.
Let $\field{P}(\B)$ denote the powerset of $\B$.
A \emph{tessellation} of the area $A(a_0)$ is the collection of tiles $\{A_{\vec{i}}\}_{\vec{i} \in \field{P}(\B)}$ such that
\begin{equation}
\label{eq:1}
A(a_0)=\bigcup_{\vec{i} \in \field{P}(\B)}A_{\vec{i}}\,,
\end{equation}
where
\begin{align}
% A(a_0) =& \bigcup_{\vec{i} \in \field{P}(\B)}A_{\vec{i}},\\
\notag A_{\vec{i}} =& \bigcap_{j \in \vec{i}} A(a_j) \cap A(a_0), \quad \vec{i}\neq \emptyset, \\
A_\emptyset =& A(a_0) \setminus \bigcup_{\vec{i} \in \field{P}(\B)\setminus \emptyset} A_{\vec{i}}.\label{eq:tessellation}
\end{align}
In what follows each element $A_{\jvec}$ composing the tessellation
is referred to as a \emph{tile}, and we will use the vector
notation $\jvec$ to represent a set of neighbouring \aps.
Let us consider for example $\vec{i}=\{a_{1},a_{2}\}$; then, the
tile $A_{\vec{j}}$ is the portion of $A(a_0)$ that
is covered by $a_{1}$ and $a_{2}$ only, see Figure~\ref{fig:antenne}.
For simplicity of notation, we will write $A_0 \coloneqq A_\emptyset$.
\begin{figure}
\centering
\includegraphics[width=0.8\columnwidth]{tart1}
\caption{Hypercube representation of the tessellation for $N=4$. There is one zeroth order tile,
namely $A^C$, four first order tiles, $A_1, A_2, A_3$ and $A_4$, six second order tiles,
$A_{12}, A_{13}, A_{14}, A_{23}, A_{24}, A_{34}$, four third order tiles, $A_{123}, A_{124}, A_{134}, A_{234}$
and a fourth order tile, i.e.\ $A_{1234}$.}
\label{fig:tart1}
\end{figure}
Whenever a user is in $A_{\vec{j}}$, it will \emph{report} $\vec{j}$ to access point $a_0$. In other words, $a_0$ will be aware of the existence of those
neighbouring \aps $a_i \in \vec{j}$. The rate of these
reports depends on the mobility model assumed (see Section~\ref{sec:problem-statement}).
To keep the model as conservative as possible, and to
encompass the frequent case of half-duplex \aps, we assume
$a_0$ cannot detect the existence of any neighbour even though $a_0$ lies in one of the neighbours coverage area.
Let $\field{K}_t$ denote the \emph{knowledge set} of access point $a_0$ at time $t$,
\ie the set of neighbours that $a_0$ is aware of.
Given a sequence of reports $\{\vec{j}^1, \dots, \vec{j}^t\}$, we have that
$\field{K}_t = \bigcup_{i=1}^t \vec{j}^i$. $\field{K}_t$ is a
growing set, \ie $\abs{\field{K}_t}$ is non-decreasing in $t$. Clearly, the knowledge state at time $t$, $\field{K}_t$, take values in $\field{P}(\B)$.
\begin{definition}[\acl{FK}]
Given an integer $T$ and a finite sequence of reports
$\{\vec{j}^1, \dots, \vec{j}^T\}$, the \ap $a_0$ is said to
have \emph{\acl{FK}} (\acs{FK})
of its neighbours at time $T$ if
\[\field{K}_T =\bigcup_{s=1}^T \vec{j}^s = \B.\]
\end{definition}
\begin{rmk}
If $a_0$ has \ac{FK} of its neighbours at time $T$, so it has at
all times $T+t$ for $t \geq 0$. In other words, once $a_0$ has reached
\ac{FK}, it cannot lose it.
\end{rmk}
\begin{definition}[First time of \acs{FK}]
Given a sequence of reports $\{\vec{j}^1, \vec{j}^2, \dots\}$, the
\emph{first time of \acs{FK}} $\tau$ for the \ap $a_0$ is the first
time the latter reaches \acs{FK} of its neighbours, \ie
\begin{equation}
\label{eq:2}
\tau \coloneqq \min\{T \geq 0 \text{ such that } \field{K}_T = \B\}\,.
\end{equation}
\end{definition}
\begin{rmk}
\label{rmk:concerto_no4}
The characterisation of the first time of \ac{FK} generally depend on the realisation of a sequence of user reports; this
means that $\tau$ is a random variable. More precisely,
by~\eqref{eq:2}, $\tau$ is a \emph{stopping time}, see~\eg
\cite{levin2009markov}.
% since the event
% $\{\tau = T\}$ is determined by $\vec{j}^1, \ldots, \vec{j}^T$ only.
\end{rmk}
We end the section with a note on the tessellation:
\begin{rmk}
\label{rmk:concerto_no5}
A generic tessellation of $\B$ can be represented as an hypercube
$H=\{0,1\}^N$ by identifying the vertices of $H$ with the tiles
$A_\jvec$ that the tessellation is composed of. The number of
tiles of a generic tessellation of $\B$ is $2^N$ as well as the
vertices of an hypercube, represented as vectors of size $N$. The
tiles of the tessellation can be mapped onto the vertices of the
hypercube by identifying the \mbox{$i$-th} component of the
vertices $x\in H$ with $a_i \in \B$. In other words,
\[A_\jvec \leftrightarrow x \quad \Leftrightarrow\quad x_i =
\mathds{1}_{\{a_i\in\jvec\}} \,,\; i=1,\ldots,N,\] where
$\mathds{1}$ is the indicator function. We define the
\emph{order} of a tile as the number of neighbours a report from
that tile would give knowledge of; the number of \mbox{$k$-th}
order tiles is ${N \choose k}$. A report from a \mbox{$k$-th}
order tile is equivalent to $k$ first-order reports. In
particular, \ac{FK} is attained with a report from the
\mbox{$N$-th} order tile, or at least two reports from two
distinct \mbox{$(N-1)$-th} tiles, etc. This property can be
graphically represented by what we call the \textit{Line of
\acl{FK}}, see Figure~\ref{fig:tart1}. The line of \ac{FK} is
clearly not unique\footnote{For example, there are $N$ tiles of
order $N-1$, but only $2$ are part of a given line of \ac{FK}.};
the aim of Figure~\ref{fig:tart1} is only to illustrate that a
sequence of $T$ reports $\{\vec{j}^1, \dots, \vec{j}^T\}$ is a
path on the hypercube $H$, and that \ac{FK} is attained whenever a
line of \ac{FK} is reached at a time smaller than $T$.
Since $\field{K}_t$, the knowledge state at time $t$, takes on
values in the same set $\field{P}(\B)$, we can map also the
knowledge states on the hypercube $H$. In other word, a sequence
of reports $\{\vec{j}^1, \vec{j}^2, \dots, \vec{j}^t\}$ is
equivalent to a single report from tile $\bigcup_{s=1}^t \vec{j}^s =
\field{K}_t$.
\end{rmk}
We can now define the main problems of this work.
\begin{problem}[Expected first time of \acl{FK}]\label{problem:firsttime}
Given an access point $a_0$, a set $\B$ of neighbours with given
position and coverage area, and a sequence of user reports, we want to characterise the expectation
of the \emph{first time of \ac{FK}}, \ie
\[
\mathbb{E}(\tau) = \sum_{t\geq1} t\, \mathbb{P}(\tau=t)\,.
\]
\end{problem}
Obviously, the way the user(s) moves inside the coverage area $A(a_0)$
heavily affects the difficulty of the problem and its answer.
However, the formulation of Problem~\ref{problem:firsttime} has the
great advantage of decoupling the notion of \ac{FK} from the user
mobility model;
% not depending on the user mobility; %, as long as this is Markovian.
addressing the mean value of the first time of \ac{FK} is also an
enabler to the estimate of the tail of the distribution of $\tau$ --
through Markov's inequality, for example. Further, from a numerical
point of view, the expected time of \ac{FK} may be achieved via a
Monte Carlo simulation once the set $\B$ and the mobility model in use
are fixed.%; an upper bound on
There may exist situations where we are content to characterise the
first time in which only partial knowledge of the local topology is attained.
For example, we may be interested in the first moment when the
neighbouring \aps that have been already discovered, \ie{} the
elements of the knowledge set $\field{K}_t$, are enough to describe
a given fraction of the local topology. This idea motivates the following
\begin{problem}[Expected first time of \knowledge{$\delta$}]
\label{problem:deltaknowledge}
Let $\rho$ be a measure over $\mathcal{P}(\B)$ and fixed $\delta
\in (0,1]$.
%Let $\rho\colon\mathcal{P}(\B)\to[0,1]$ be a probability measure
Given an access point $a_0$, a set $\B$ of neighbours with given
position and coverage area, and a sequence of user reports, we
want to characterise the expectation of the \emph{first time of
\knowledge{$\delta$}} $\mathbb{E}(\tau_\delta)$, where
\[
\tau_\delta = \min\left\{T\geq0 \text{\emph{ such that }}
\frac{\sum\limits_{\vec{k} \in \operatorname{\field{P}}(\field{K}_T)}
\rho\left(A_{\vec{k}}\right)}{
\sum\limits_{\vec{j} \in \operatorname{\field{P}}(\B)}
\rho\left(A_{\vec{j}}\right)} \ge \delta \right\}\,.
%\frac{\abs{A_{\vec{k}}}}{A(a_0)} \ge \delta \right\}\,.
\]
\end{problem}
%
When $\delta=1$ and $\rho(A_{\vec{j}}) > 0$ for each $\vec{j} \in
\operatorname{\field{P}}(\B)$,
Problem~\ref{problem:deltaknowledge} is equivalent to
Problem~\ref{problem:firsttime}. Indeed,
$\nicefrac{\sum\limits_{\vec{k} \in
\operatorname{\field{P}}(\field{K}_T)}
\rho\left(A_{\vec{k}}\right)}{
\sum\limits_{\vec{j} \in \operatorname{\field{P}}(\B)}
\rho\left(A_{\vec{j}}\right)} \geq 1$ if and only if
$\field{K}_T\equiv \B$.
We will hereafter consider the measure
$\rho(A_{\vec{k}}) = \abs{A_{\vec{k}}}$. This leads to the
following interpretation: \knowledge{$\delta$} is attained when the
knowledge set $\field{K}_t$ defines
for the first time a tessellation that covers
a fraction of $A(a_0)$ larger or equal than $\delta$.
% Conversely, \knowledge{$\delta$}
% with $\delta<1$ means that we are content to characterise the
% first time in which the tiles contained in the knowledge set
% %$\field{K}_T$
% define a tessellation that covers a fraction of
% $A(a_0)$ larger or equal than $\delta$.
Equivalently, $\tau_\delta$ is the first time when the tiles that
would give new information\footnote{In the sense that the
cardinality of the knowledge set $\field{K}_T$ would increase.}
cover a fraction of $A(a_0)$ that is smaller than $1-\delta$.
%%%%%%%%%%%%%
% in the sense that the probability that a
% user at next step will be located in a zone covered by any of
% these neighbours is less than $1-\delta$.
%%%%%%%%%%%%%
\begin{rmk}
The concept of \knowledge{$\delta$} is fundamental in the
simulation phase, when we want to know whether user reports can
effectively be used to give knowledge of the local
topology. Indeed, it is likely that the neighbours $a_i$ whose
coverage area do not overlap with $A(a_0)$ save for a nearly
negligible portion, will be discovered after a very long time; in
other words, the leading contribution to $\mathbb{E}(\tau)$ will
be represented by the mean first visit time of the user(s) to
$A(a_i)$. Discarding $a_i$ from the picture, the concept of
\knowledge{$\delta$} let us focus on the quantitative analysis of
\ac{LTD}, see Section~\ref{sec:simulations}.
\end{rmk}
\section{Teleport Mobility}
\label{sec:problem-statement}
The characterisation of $\tau$, the first time of \ac{FK},
depends on the users mobility model that is assumed.
The latter describes how users enter, exit, and move within $A(a_0)$.
The users evolution can then be represented as a pair $U_t=(n_t, X_t)$
where $n_t$ is the number of users that lie in $A(a_0)$ at time $t$,
and $X_t = (x_t^1, x_t^2, \ldots, x_t^{n_t})$ is a vector with
the position of the $n_t$ users.
We assume the evolution of $U_t$ to be driven by a discrete-time
\ac{MC} throughout the paper.
The realisation of $\{U_t\}_{0\leq t\leq T}$ completely determines
the sequence of user reports $\{\vec{j}^1, \dots, \vec{j}^T\}$ to
the access point $a_0$, cf.\ Remark~\ref{rmk:concerto_no4}.
Since $\field{K}_t$ only depends on $\field{K}_{t-1}$ and $U_t$, then
the bivariate process $(U_t,\field{K}_t)$ is a \ac{MC}.
% \subsection{Mobility Model}
% \label{sec:mobility-model}
It will prove useful to consider a simplified mobility model in which a
single user can instantaneously teleport to any tile:
\begin{model}{(Teleport Mobility)}
\label{model:rain}
A single user moves within $A(a_0)$ according to a discrete-time
\ac{MC} taking on values in $\mathcal{P}(\B)$.
The user cannot exit $A(a_0)$ and no other user can enter it.
At each step, the user instantaneously teleports with a probability that is proportional to the measure of the
destination tile. In formulas, the transition probabilities are
\begin{equation}
\label{eq:poissonrain}
\Prob{\vec{i} \rightarrow \vec{j}} = \frac{\abs*{A_{\vec{j}}}}{A(a_0)}.
\end{equation}
\end{model}
\begin{rmk}
Model~\ref{model:rain} greatly simplifies the
characterisation of $\tau$, the first time of \ac{FK}.
Indeed, with this mobility model $\field{K}_t$ is independent of $U_t$, and
the sole process $\field{K}_t$ is hence sufficient to
describe the process of gathering knowledge from the user reports.
We will hereafter refer to $\field{K}_t$ as the \emph{knowledge chain}.
\end{rmk}
Assuming Model~\ref{model:rain}, we can easily describe the process of
gathering knowledge from user reports as a discrete-time
random walk on the hypercube $H=\{0,1\}^N$ (which we have introduced in
Remark~\ref{rmk:concerto_no5}); having knowledge of
$n$ neighbouring \aps is in fact equivalent to receiving a report from the
$n$-th order tile that give information about all of them.
Let $P(\cdot,\cdot)$ the transition kernel of the knowledge chain.
If $\vec{k} \not\subseteq \vec{l}$, then $P(\vec{k},\vec{l})=0$
because such transition would mean a loss of knowledge; in other words,
$|\field{K}_t|$ is non-decreasing as a function of $t$.
Conversely, when $\vec{k} \subseteq \vec{l}$, a transition from
$\vec{k}$ to $\vec{l}$ happens if the user moves to a tile that
contains the missing information $(\vec{l}\setminus \vec{k})$ and
do not add more than that information.
%; those are the tiles contained in the set $\field{P}(\vec{k})$.
Therefore,
\begin{equation}
\label{eq:P}
P(\vec{k},\vec{l}) =
\begin{cases}
\sum\limits_{\vec{m} \in \field{P}(\vec{k})} \frac{\abs{A_{\{ \vec{m}
\cup (\vec{l} \setminus \vec{k}) \}}}}{A(a_0)} & \text{if
$\vec{k} \subseteq \vec{l} $},\\
\qquad 0 & \text{otherwise}.
\end{cases}
\end{equation}
%########################################
% \begin{rmk}
% A mobility model $M$ induces a weight function $w(\cdot)$, so from now on, we will identify $M$ with $w(\cdot)$.
% \end{rmk}
% The evolution over time of the local topology knowledge can hence be modelled as \ac{MC}.
% This process is defined over the pairs $(\vec{i}_t,\field{K}_t)$, where $\vec{i}_t$ is the tile visited at time $t$
% and $\field{K}_t$ is the knowledge set at time $T$.
%########################################
The following result holds:
\begin{lemma}
\label{thm:tng}
The matrix $P$ is upper triangular.
\end{lemma}
\begin{proof}
Let us consider the following partial ordering relation among the states:
\[\vec{k}\preceq\vec{l} \quad\Leftrightarrow\quad
\vec{k}\subseteq\vec{l}\,.\]
By~\eqref{eq:P}, $P(\vec{k},\vec{l})\ne0$ only if
$\vec{k}\preceq\vec{l}$. Therefore, any mapping
\[\mathcal{P}(\B)\ni\vec{l} \quad\leftrightarrow\quad
l\in\{1,2,\ldots,2^N\}\]
such that \[\vec{k}\preceq\vec{l} \quad \Leftrightarrow \quad
k\leq l\]
will put the matrix $P$ into an upper triangular form. In
particular, we can order the states by increasing cardinality and in
lexicographic order\footnote{For $N$ neighbouring \aps, \ie with
$2^N$ different tiles, this would mean the sequence $\{1\},\{2\},\dots,\{N\},\{1,2\},\dots,\{\mbox{N-1},N\},\dots,\{1,2,\dots,N\}$.}.
\end{proof}
The explicit computation of the whole matrix $P$
using~\eqref{eq:P} is expensive in general -- $P$ is a $2^N\times
2^N$ matrix!
However, as stated above $P$ is upper triangular, while
in Section~\ref{sec:eigenvalues} we show that it is possible to
explicitly characterise its spectrum.
For the reader's reference, Table~\ref{tb:example} shows the matrix
$P$ for $N=3$.
\begin{center}
\begin{table*}[htbp]
\newsavebox\mybox
\savebox\mybox{%
$P = \frac{1}{A(a_0)} \begin{pmatrix}\abs*{A_{0}} & \abs*{A_1} & \abs*{A_2} & \abs*{A_3} & \abs*{A_{12}}& \abs*{A_{13}} & \abs*{A_{23}} & \abs*{A_{123}} \\ 0 & \abs*{A_0} + \abs*{A_1} & 0 & 0 & \abs*{A_2} + \abs*{A_{12}} &\abs*{A_3} + \abs*{A_{13}} & 0 & \abs*{A_{23}}+ \abs*{A_{123}} \\ 0 & 0 & \abs*{A_{0}} + \abs*{A_2} & 0 & \abs*{A_1} + \abs*{A_{12}}& 0 & \abs*{A_{3}} + \abs*{A_{23}} & \abs*{A_{13}}+ \abs*{A_{123}} \\ 0 & 0 & 0 & \abs*{A_{0}} + \abs*{A_{3}} & 0 & \abs*{A_{13}} +\abs*{A_{1}} & \abs*{A_{2}} + \abs*{A_{23}}&\abs*{A_{12}}+\abs*{A_{123}} \\ 0 & 0 & 0 & 0 & \abs*{A_{0}} + \abs*{A_{1}} + \abs*{A_{2}} +\abs*{A_{12}} & 0 & 0 & \abs*{A_{3}} + \abs*{A_{13}} + \abs*{A_{23}}+ \abs*{A_{123}} \\ 0 & 0 & 0 & 0 & 0 & \abs*{A_{0}} + \abs*{A_{1}} + \abs*{A_{3}} + \abs*{A_{13}} & 0 & \abs*{A_{2}} + \abs*{A_{12}} + \abs*{A_{23}} +\abs*{A_{123}} \\0 & 0 & 0 & 0 & 0 & 0 & \abs*{A_{0}} + \abs*{A_{2}} + \abs*{A_{3}} + \abs*{A_{23}} & \abs*{A_{1}} + \abs*{A_{12}} +\abs*{A_{13}} + \abs*{A_{123}} \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1\end{pmatrix}.$%
}
\newlength\TableWidth
\settowidth\TableWidth{\usebox\mybox}
\ifnum\TableWidth>\linewidth
\setlength\TableWidth{\linewidth}
\fi
\resizebox{\TableWidth}{!}{\usebox\mybox}
\caption{Example of transition matrix $P$ for $N=3$.}
\label{tb:example}
\end{table*}
\end{center}
\subsection{Expected Time of \acl{FK}}
\label{sec:expect-time-full}
Let $\vec{k}^\ast=\{1,2,\ldots,N\}$ be the state of \ac{FK}. By
formula~\eqref{eq:P}, $P(\vec{k}^\ast,\vec{k}^\ast)=1$. This means
that the chain has an absorbing state, and the hitting time of
this state is just $\tau$, the first time of \ac{FK}. Hence, we can
compute the expected time of \ac{FK} simply by
\begin{equation}
\label{eq:method1}
\Exp{\tau} = (I-Q)^{-1}\mathbf{1},
\end{equation}
where $Q$ is obtained from $P$ by removing the row and the column
relative to state $\vec{k}^\ast$ and
$\mathbf{1}$ is the column vector of ones~\cite{Gehring1976}.
In a similar way it is possible to compute the other moments of $\tau$.
Even if $I-Q$ is upper triangular and can be block decomposed, the
computation of its inverse may not be affordable
when the cardinality of $\B$ grows.
In Section~\ref{sec:conv-with-high} we will bound the probability of
the event $\{\tau > t\}$.
\subsection{Expected Time of \knowledge{$\delta$}}
\label{sec:expected-time-delta}
Regarding Problem~\ref{problem:deltaknowledge}, we
can easily modify matrix $P$ to obtain
the expected time of \knowledge{$\delta$}.
Every state $\vec{k} \in \operatorname{\field{P}}(\B)$ such that
\[ \sum\limits_{\vec{l} \in \operatorname{\field{P}}(\vec{k})}
\frac{\abs{A_{\vec{l}}}}{A(a_0)} \ge \delta \] can be aggregated in the
absorbing state, summing the corresponding column of $P$ in the last
column, and then eliminating the column and row corresponding to
state $\vec{k}$.
In this way it is possible to compute $\Exp{\tau_\delta}$
using~\eqref{eq:method1}.
\subsection{Eigenvalues}
\label{sec:eigenvalues}
The following result fully characterises the spectrum of the matrix
$P$:
\begin{theorem}
For $\vec{k} \in \mathcal{P}(\B)$, the eingenvalues of $P$ have the
form
\[
\savebox\mybox{%
$\lambda_{\vec{k}}
=\frac{1}{A(a_0)}\bigg(\abs*{A_0}+
\sum\limits_{\substack{\vec{l}\subset\vec{k}\\\abs*{\vec{l}}=1}}\abs*{A_{\vec{l}}}
+
\dots+\sum\limits_{\substack{\vec{l}\subset\vec{k}\\\abs*{\vec{l}}=m}}\abs*{A_{\vec{l}}}
+ \dots
+\sum\limits_{\substack{\vec{l}\subset\vec{k}\\\abs*{\vec{l}}=\abs*{\vec{k}}}}
\abs*{A_{\vec{l}}}\bigg).$%
}
\settowidth\TableWidth{\usebox\mybox}
\ifnum\TableWidth>\linewidth
\setlength\TableWidth{\linewidth}
\fi
\resizebox{\TableWidth}{!}{\usebox\mybox}
\]
\end{theorem}
\begin{proof}
The matrix $P$ being upper triangular by Lemma~\ref{thm:tng}, the entries
$P(\vec{k},\vec{k})$ are the eigenvalues of the matrix.
Let us then imagine to have the knowledge chain in state $\vec{k}$.
The only way for the chain to undergo a self-transition
($\vec{k}\to\vec{k}$) is that the user reports any combination of
neighbouring \aps that have already been discovered. In other
words, the knowledge chain undergoes a self-transition if and only
if the user reports an element of $\mathcal{P}(\vec{k})$.
Therefore,
\[\lambda_{\vec{k}} = \frac{1}{A(a_0)}\sum_{\vec{l} \in
\mathcal{P}(\vec{k})}|A_{\vec{l}}|\,.\]
Last formula is equivalent to the thesis.
\end{proof}
Since each eigenvalue is a sum of positive elements,
the second-largest eigenvalue $\tilde{\lambda}$ can be obtained
by maximising over the tiles of order $N-1$:
\begin{equation}
\label{eq:lambda}
\tilde{\lambda} = \max_{\vec{k}\colon \abs*{\vec{k}}=N-1 } \lambda_{\vec{k}}.
\end{equation}
\subsection{Convergence Properties, Bounds}
\label{sec:conv-with-high}
Using~\eqref{eq:lambda}, it is possible to obtain the following result:
\begin{lemma}% [Upper Bound on $\tau$]
%% Not an upper bound! \tau is a random variable!
\label{cor:bound}
Given $\epsilon>0$, let
\begin{equation}
\label{eq:bound}
S(1-\epsilon) = \frac{\log{\epsilon}}{\log{\tilde{\lambda}}}.
\end{equation}
Then, $S(1-\epsilon)$ reports are sufficient to achieve \ac{FK}
with probability greater or equal than $(1-\epsilon)$.
\end{lemma}
\begin{proof}
Using Theorem~\ref{thm:tng} and Equation~\eqref{eq:lambda} on $P$,
\begin{equation}
\label{eq:6}
\Prob{\tau > t} \le \tilde{\lambda}^t.
\end{equation}
For a small target tolerance $\epsilon$ of not achieving \ac{FK},
\begin{equation}
\label{eq:method4}
\text{if } t\ge \frac{\log{\epsilon}}{\log{\tilde{\lambda}}}
\quad \Rightarrow \quad \Prob{\tau > t}\le \epsilon.
\end{equation}
\end{proof}
\subsubsection*{\knowledge{$\delta$} Convergence Bounds}
\label{sec:delta-knowl-conv}
Using the same manipulation of the matrix $P$ described in
Section~\ref{sec:expected-time-delta}, Corollary~\ref{cor:bound} can
be applied to the modified matrix to obtain a bound for the
number of steps to have \knowledge{$\delta$} with high probability.
\subsection{Numerical Estimation of the Time of \knowledge{$\delta$}}
\label{sec:gener-mobil-model}
Model~\ref{model:rain} is equivalent to a single user teleporting
instantaneously to a random point within the coverage area of the
\ap; time is discrete.
Thus, at each time the \ap $a_0$ receives a user report from
a point drawn according to the uniform probability distribution over
the coverage area $A(a_0)$.
Having in mind the numerical characterisation of the first
time of \knowledge{$\delta$}, the teleport model is
particularly convenient. This task
could be in fact carried out within the Monte Carlo paradigm by
simply throwing sufficiently many
points at random inside the coverage area $A(a_0)$. In other
words, it is possible to numerically study the process through
which \knowledge{$\delta$} is achieved by sampling
sufficiently many times a probability density function that is
uniform over the coverage area $A(a_0)$.
Model~\ref{model:rain} may prove itself unsatisfactory in a real
life scenario. The main problem is that
if we generate a sequence of user reports according to it, any two
elements of the sequence are independent, whereas in general they
are not. In each mobility model where the trajectory taken by the
user is physically feasible, the user positions communicated by two
successive reports are in fact correlated due to the motion
constraints.
Let us imagine that a single user travels inside the coverage area
$A(a_0)$ according to an unknown mobility model, and let $T(t)$ be the
trajectory taken by the user. Sampling the
trajectory at equally-spaced discrete times, we obtain an
embedded sequence of user location, which correspond to an embedded
sequence of user reports. Next, we can analyse the sequence and
understand after how many steps \knowledge{$\delta$} has
been reached. By multiplying this number of steps by the time lapse between
two consecutive reports (inter-report time), the time of
\knowledge{$\delta$} can be obtained for that particular realisation
of the user-reports sequence. Finally, the procedure above can be repeated
sufficiently many times to estimate with a Monte Carlo method the
expected time necessary for $a_0$ to reach
\knowledge{$\delta$}.
As mentioned above, in a general mobility model it is likely that
two successive user reports are correlated.
These correlations may decay as the inter-report time grows larger
and larger. As an example, let us
imagine that a single user travels inside the coverage area $A(a_0)$
according to a \ac{MC}. Let $\pi$ be the equilibrium probability
measure of the chain and let $t_{\text{mix}}$ be the mixing time of the
chain, \ie the time needed for the chain to reach equilibrium.
If the inter-report time is chosen comparable to $t_{\text{mix}}$
then the time lapse between two successive reports will be
sufficient for the \ac{MC} to forget the past trajectory; in other
words, the correlations between consecutive reports will be
negligible. As a
consequence, the user locations will be independently drawn from the
probability measure $\pi$, and the matrix $P$ describing the
knowledge evolution will become
\begin{equation}
\label{eq:carcarlo}
\tag{\ref*{eq:P}'}
P(\vec{k},\vec{l}) =
\begin{cases}
\sum_{\vec{m}\in\mathcal{P}(\vec{k})}
\pi\left(A_{\{\vec{m}\cup(\vec{l}\setminus\vec{k})\}}\right)
\quad& \text{if } \vec{k}\subseteq\vec{l},\\
0&\text{otherwise.}
\end{cases}
\end{equation}
Therefore, the formulation and the results developed in
Sections~\ref{sec:expect-time-full}--\ref{sec:conv-with-high} are
still valid if we consider a single-user mobility model based on a
\ac{MC}, provided that the time lapse between two consecutive
reports is of the order of the mixing time of the chain. Under the
assumption that user reports are sent at a frequency comparable with
the inverse mixing time of the mobility \ac{MC}, we can compute an
upper bound on the time of \knowledge{$\delta$}. Any reporting rate
higher than $\tfrac{1}{t_\text{mix}} $ will in fact still guarantee
that $a_0$ achieves \knowledge{$\delta$} of its neighbourhood in at
most $\Exp{\tau_\delta}\cdot t_\text{mix}$ seconds on average\footnote{Recall that $\Exp{\tau_\delta}$ is measured in number of reports.}.
We end this section by briefly mentioning a straightforward
application of Model~\ref{model:rain} in a multi-user scenario.
Let us imagine that $n$ users may enter, move within, and exit
$A(a_0)$ according to a hidden mobility model.
We assume that $n$ is a very large number and that
it is possible to statistically characterise the stationary
user-density by means of a probability measure $\pi$ over $A(a_0)$.
At each time every user may independently send a report with a very small
probability $p$.
Then, the number of report received by $a_0$ in a given time interval is
approximately Poissonian and the time lapse between two successive report is
exponential with parameter $\lambda = np$.
Next, let $m=\Exp{\tau}$ be the expected time of \ac{FK}, expressed in number of
reports, returned by~\eqref{eq:carcarlo} and~\eqref{eq:method1};
the expected time to achieve \ac{FK} is the expectation of the
first time for a Poisson process of parameter $\lambda$ to hit the
state $m$.
We will come back to this scenario in Section~\ref{sec:guidelines}.
% Finally, we should like to briefly mention a possible extension of
% the discussion above to the multi-user case. Let us imagine that $m$
% users travel independently within the coverage area $A(a_0)$
% according to the same single-user Markov mobility model and sending
% reports at a reporting rate that is comparable with
% $\tfrac{1}{t_\text{mix}}$ -- for the sake of simplicity we will
% consider that the $m$ users send their reports synchronously. Since
% there is enough time for the dynamics of every user to reach
% equilibrium between two successive reports, it is as if $m$ points
% were sampled simoultaneously from $\pi$ and the information about
% the corresponding tile sent to $a_0$. In other words, the process of
% achieving \knowledge{$\delta$} would be sped up of a factor $m$.
\section{Simulations}
\label{sec:simulations}
\subsection{Teleport Model on Random Positioned \Aps}
\label{sec:simple}
In this section we offer a preliminary assessment of the possibility
to use the machinery developed so far in real applications. To this
purpose, we developed a simulation framework in MATLAB and studied a
scenario where \num{8} \aps are positioned in a plane uniformly at
random.
% where \num{8} \aps have been positioned in the space u.a.r.
Each \ap has a circular coverage area of the same size. We considered
\num{350} different configurations, with the constraint that the
coverage area of $a_0$ has non-void intersection with the coverage
area of the remaining \aps, meaning that \ac{FK} is achieved as soon
as all \num{7} neighbours are reported to $a_0$. We compute the
tessellation of each configuration using a classical Monte Carlo
sampler. For each of these \num{350} configurations, we computed the
expected time of \knowledge{\num{0.9}} $\Exp{\tau}$ together with the
number of steps sufficient to guarantee \knowledge{\num{0.9}} with
\SI{90}{\percent} confidence, \ie $S(0.9)$. The inter-report time
being fixed during this first experiment, the amount of time in
seconds to achieve \knowledge{\num{0.9}} is directly proportional to
the number of steps just evaluated.
Figure~\ref{fig:7moving} displays the empirical probability
mass function of these two quantities. $\Exp{\tau}$ is centered
around \num{10} steps, while $S(0.9)$ is shifted on higher values, as
expected being an upper bound.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.9\columnwidth]{moving-7}
\caption[\knowledge{\num{0.9}} distribution]{Empirical probability
mass function of the expected time of \knowledge{\num{0.9}}, and
the number of steps to have \knowledge{\num{0.9}} with
\SI{90}{\percent} confidence, for the teleport model on random
positioned \aps. Since the inter-report time is fixed, the
simulation time is directly proportional to the number of reports.}
\label{fig:7moving}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.9\columnwidth]{CDFmoving-7}
\caption[\knowledge{\num{0.9}}, empirical cumulative distribution
function]{Empirical cumulative distribution function of the expected
time of \knowledge{\num{0.9}}, and the number of steps to have
\knowledge{\num{0.9}} with \SI{90}{\percent} confidence, for the
teleport model on random positioned \aps. Since the inter-report time is fixed, the
simulation time is directly proportional to the number of reports.}
\label{fig:7movingCDF}
\end{figure}
Figure~\ref{fig:7movingCDF} shows the empirical cumulative distribution
function of $\Exp{\tau}$ and $S(0.9)$.
We see that \num{16} steps are sufficient to achieve
\knowledge{\num{0.9}} for nearly all scenarios (\SI{95}{\percent}), while we need \num{22} steps using $S(0.9)$.
We also notice that the bound obtained from~\eqref{eq:bound} is a
conservative estimation, because it uses only the second-largest
eigenvalue $\tilde{\lambda}$. Indeed, it takes into account only the
slowest way to reach the desired knowledge, while the problem has a
rich combinatorial structure that cannot be completely captured
by~\eqref{eq:6}.
\subsection{Random Walk on a Grid}
\label{sec:random-walk-grid}
In order to investigate and confirm the ideas of
Section~\ref{sec:gener-mobil-model}, we simulated the reports sent
with different inter-report times by a random walker that moves within
$A(a_0)$ under the condition of reflective boundary, and compared this
mobility model with Model~\ref{model:rain} (see
Section~\ref{sec:problem-statement}) for a set of 8 \aps
positioned as described at the beginning of this section.
\begin{figure}[htbp]
\centering
\includegraphics[width=\columnwidth]{mobility}
\caption[Random Walk]{Empirical mean \knowledge{\num{0.9}} time (in
hours) of a random walk vs. inter-report period, compared with
Model~\ref{model:rain} and its bound $S(0.9)$ in a femtocell grid
of 8 \aps.}
\label{fig:mobility}
\end{figure}
% \begin{figure}[htbp]
% \centering
% \includegraphics[width=\columnwidth]{mobility-nobound}
% \caption[Random Walk]{Empirical mean \knowledge{\num{0.9}} time (in
% hours) of a random walk vs. inter-report period, compared with
% Model~\ref{model:rain} in a femtocell grid
% of 8 \aps.}
% \label{fig:mobility}
% \end{figure}
%\subsubsection*{Low-Frequency Reports}
%\label{sec:low-freq-reports}
In Figure~\ref{fig:mobility} we let the inter-report time
increase and compare the average time to achieve
\knowledge{\num{0.9}} according to both the random walk (green line) and the
teleport model (blue).
We see that that, if the
inter-report time is sufficiently large, the empirical mean time to achieve
\knowledge{\num{0.9}} for the random walk model is well
approximated by that of Model~\ref{model:rain}.
We assume typical femtocell parameters, \ie that coverage
radius is \SI{50}{\metre} and that the user do a step in a grid of
\SI{2.5}{\metre} every \SI{5}{\second}.
Figure~\ref{fig:mobility} also shows that when reports are sent each
\SI{6}{min} or less, the time of \knowledge{0.9} is smaller than
\SI{1}{h}, but at such high frequency the bound $S(0.9)$ (red line) is not valid
anymore.
The reason why more reports than Model~\ref{model:rain} are needed in
the case of high-frequency reports is the following: since the
inter-report time is short, it is likely that many reports will be
sent from the same tile, \ie the knowledge chain will undergo many
self-transitions.
It is important to notice that the inter-report time used in
Figure~\ref{fig:mobility} are far from the theoretical order of magnitude of the
random walk mixing time. Yet Figure~\ref{fig:mobility} suggests that,
for a family of scenarios, it should be possible to determine the value of the
inter-report time such that the average time to achieve
\knowledge{\num{0.9}} may be well predicted by Model~\ref{model:rain}.
Once that value of the inter-report time is found, the value of $\mathbb{E}[\tau_{0.9}]$
returned by Model~\ref{model:rain} may serve as an
upper bound to the actual time to achieve \knowledge{\num{0.9}} when
smaller inter-report times are implemented.
% The results thus confirm that
% Model~\ref{model:rain} can effectively be used to provide an upper
% bound for $\tau$ when the user reports frequency is lower than the
% mixing time of the \ac{MC} of the target model.
% Combining this result with the one from Figure~\ref{fig:7movingCDF},
% we can conclude we need about \num{10} steps to have
% \knowledge{\num{0.9}}, \ie less than half day.
% See Section~\ref{sec:conclusions} for an interpretation of these
% results in terms of implementation.
\subsection{A Realistic Scenario}
\label{sec:realistic-scenario}
A received power map for 4 \aps in the Hynes convention centre
have been generated using the Wireless System Engineering
(WiSE)~\cite{fortune1995wise} software, a comprehensive 3D ray tracing
based simulation package developed by Bell Laboratories.
\begin{figure}[htbp]
\centering
\includegraphics[width=\columnwidth]{mapfinal2}
\caption[Apartment Example]{Coverage areas at Hynes convention
centre. The coloured lines delimit the extension of the coverage
areas.
Basestations are transmitting at \SI{2.1}{\giga\hertz} with a
power of \SI{34}{\milli\watt}. Point $a$ lies in the tile $A_{123}$.
}
\label{fig:wise}
\end{figure}
\Aps are assumed transmitting at a frequency of \SI{2.1}{\giga\hertz}
with a power of \SI{34}{\milli\watt}. We assume there is a macrocell
that covers the whole building, and we estimate its time of full
knowledge. As before, a Monte Carlo simulation has been made to
estimate the tessellation, and then the expected time of
\knowledge{$\delta$} has been computed using a teleport mobility model
(Model~\ref{model:rain}),
as explained in Section~\ref{sec:expected-time-delta}.
Figure~\ref{fig:wise} shows the corresponding coverage areas
when powers detection threshold is \SI{-70}{\dBm}. Although the shape
of the coverage areas and their intersection is much
more complex than the simple scenario depicted in
Section~\ref{sec:simple}, it is still possible to construct the
tessellation by considering which coverage areas each spatial point
lies in. For example, point $a$ lies in the coverage area of \aps $1$,
$2$, and $3$, so it belongs to the tile $A_{123}$.
Figure~\ref{fig:wise_delta} displays the expected time of
\knowledge{$\delta$}, $\Exp{\tau_\delta}$ when $\delta$ is varied.
We notice a step-function-like behaviour, with a new step that is
added every time a new
state become absorbing, as explained in
Section~\ref{sec:expected-time-delta}.
Figure~\ref{fig:wise_threshold} shows the behaviour of $\Exp{\tau}$,
the expected time of \ac{FK}, when the user detection threshold varies from a
very conservative value of \SI{-60}{\dBm} to a more realistic one of
\SI{-100}{\dBm}. When the users are more sensitive, the coverage
areas, and the higher order tiles in particular, are bigger, leading
to better performances. In particular, we see that an average of 14 steps are enough
to achieve \ac{FK}.
These results confirm that the values obtained placing random \ap with
circular coverage in Section~\ref{sec:simple} are compatible with real
world scenarios.
\begin{figure}[htbp]
\centering
\includegraphics[width=\columnwidth]{wise_delta}
\caption[\knowledge{$\delta$} varying $\delta$]{Expected time of
\knowledge{$\delta$}, $\Exp{\tau_\delta}$ using
Model~\ref{model:rain} in Hynes convention centre for different
values of the parameter $\delta$. The inter-report time is set
to the very same value used for Figures~\ref{fig:7moving} and~\ref{fig:7movingCDF}.}
\label{fig:wise_delta}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=\columnwidth]{wise_threshold}
\caption[\knowledge{$\delta$} varying detection threshold]{Expected
time of \ac{FK}, $\Exp{\tau}$, using Model~\ref{model:rain} in
Hynes convention centre, for different values of the
user-detection threshold. The inter-report time is set
to the very same value used for Figures~\ref{fig:7moving}
and~\ref{fig:7movingCDF}. }
\label{fig:wise_threshold}
\end{figure}
\section{Use Cases}
\label{sec:guidelines}
In this section we present some use cases that are representative of
the possible practical applications
of the results we have presented so far.
Given a particular wireless application, the focus is on whether user
reports can effectively be used to efficiently achieve knowledge of
the network local topology.
%We will illustrate our suggested approaches in different use cases. % To this purpose, it is necessary to
% \begin{itemize}
% \item Define which fraction of the coverage area of a given \ap is
% required to be covered, \ie choose $0< \delta \leq 1$;
% \item Choose a threshold $\tilde{T}$ for the maximum
% acceptable time to achieve \knowledge{$\delta$};
% \item Dimension, through statistical analysis or by means of
% simulation, the distribution of the area sizes of the
% tessellation. This analysis strictly depends on the physical model
% embedded in the wireless application;
% \item Choose a inter-report time comparable with the mixing time of
% the user (it depends on the actual mobility model): this guarantee
% that Model~\ref{model:rain} and its upper bound $S(\delta)$ can be
% used to effectively predict the time of \knowledge{$\delta$}; {\red
% (we could explain here that the red line in figure 5 is always
% above only if this condition is met)}
% \item If the bounds of the time of \knowledge{$\delta$} established in
% Section~\ref{sec:problem-statement} are smaller than $\tilde{T}$,
% the implementation of the user reports function is adviced,
% otherwise it is discouraged.
% \end{itemize}
In the case of femtocell deployment for residential use, each \ap
typically serves a very small number of devices. Using data of
typical residential densities and coverage areas, a statistic of the
tessellation can be devised. If it is possible to establish a time
$\tilde{T}$ after which the user position can be considered as drawn
from a uniform distribution, then $S(\delta)$ is an upper bound of
the time of \knowledge{$\delta$} for all the inter-report times
smaller than or equal to $\tilde{T}$.
Opposite to the previous example, femtocells deployed in congested
places like a mall have an extremely large basin of potential users.
However, in situations where users main interest is other than
connecting to the internet, it is reasonable expecting the single-user
reporting-activity to be rather sporadic.
Therefore, the Poissonian approximation that we have mentioned at the
end of Section~\ref{sec:gener-mobil-model} may be applicable.
In these case, characterising the time to achieve \knowledge{$\delta$}
is possible through a statistic of the typical tessellations.
\section{Conclusions}
\label{sec:conclusions}
We introduced the problem of user-reports-based \acl{LTD}, providing a
crisp mathematical formulation of it in the case of
Model~\ref{model:rain}.
We showed that Model~\ref{model:rain} can effectively be used as an
upper bound for a wide range of mobility models when the user reports
frequency is lower than the inverse mixing time of the \ac{MC} of the actual
mobility model (in practice it can be used if reports are sent every
hour).
In Section~\ref{sec:conv-with-high} we provide an useful method to
estimate the time of \knowledge{$\delta$} when the problem is too big
to solve exactly using Equation~\eqref{eq:method1}.
Simulations on random scenarios with typical femtocell parameters show
that the expected number of reports in order to have an high degree of
knowledge of the local topology is very small. Roughly speaking, a
user moving at \SI{0.5}{m/s} according to a random walk model, and
providing a report every hour, can guarantee the \ap will have
\knowledge{\num{0.9}} with high probability in less than \SI{5}{h}, and
in less than two hours if reports are sent every 15 minutes. Since
the local topology is not typically expected to change every day, this
are acceptable times.
%even every few \si{\milli\second}.
The simulations on more realistic scenarios
(Section~\ref{sec:realistic-scenario}) give very similar results in
term of time of \knowledge{\num{0.9}}.
These preliminary results encourage to implement the user reports
function, corroborating the heuristic recommendations
in~\cite{edwards2008implementation} and~\cite{checcoself}. In the
case of femtocells, such implementation should be easy, because the
hardware and the firmware are already capable of managing user
reports.
% In Section~\ref{sec:guidelines}, we plant basic guidelines for a more
% exact analysis when a specific wireless application is given.
\subsection{Future Work}
\label{sec:future-work}
A more extensive study on more realistic scenarios is required, where
the typical topological properties of a urban area are taken in
account (see Section~~\ref{sec:guidelines}).
Similarly, an analysis of more realistic mobility models is desirable:
our work encompass the simple case of Model~\ref{model:rain}, that can
be used to estimate any other Markovian model (\ie any mobility model
that can be described with a Markov process) with unique stationary
measure only when the report frequency is sufficiently low, namely
slower than the mixing time of the Markov Chain. An analysis of the
behaviour of the mobility models during their transient behaviour is
left for future work.
%*flatex input: [CL.bbl]
% Generated by IEEEtran.bst, version: 1.13 (2008/09/30)
\begin{thebibliography}{10}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
\fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl
\bibitem{checco2013learning}
A.~Checco and D.~J. Leith, ``Learning-based constraint satisfaction with
sensing restrictions,'' \emph{IEEE Journal of Selected Topics in Signal
Processing}, vol.~7, pp. 811--820, 2013.
\bibitem{checcoself}
A.~Checco, R.~Razavi, D.~J. Leith, and H.~Claussen, ``Self-configuration of
scrambling codes for {WCDMA} small cell networks,'' in \emph{IEEE 23rd
International Symposium on Personal, Indoor and Mobile Radio Communications
(PIMRC)}, Sydney, Australia, September 2012.
\bibitem{patent:EP2214434}
\BIBentryALTinterwordspacing
P.~Sapiano, ``Discovering neighbouring femto cells,'' US Patent EP2\,214\,434,
August, 2010. [Online]. Available:
\url{http://www.freepatentsonline.com/EP2214434A1.html}
\BIBentrySTDinterwordspacing
\bibitem{homenode2011}
{{Technical Specification Group Radio Access Network}}, ``{Home Node B (HNB)
Radio Frequency (RF) requirements (FDD)},'' 3rd Generation Partnership
Project, TR 25.967, {2011}.
\bibitem{roychouldhury2000mobile}
R.~Chouldhury, S.~Bandyopadhyay, and K.~Paul, ``A mobile agent based mechanism
to discover geographical positions of nodes in ad hoc wireless networks,'' in
\emph{6th Asia-Pacific Conference on Communications (APCC2000), Seoul,
Korea}, vol.~30, 2000.
\bibitem{marwaha2002novel}
S.~Marwaha, C.~Tham, and D.~Srinivasan, ``A novel routing protocol using mobile
agents and reactive route discovery for ad hoc wireless networks,'' in
\emph{Networks, 2002. ICON 2002. 10th IEEE International Conference
on}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2002, pp. 311--316.
\bibitem{roychoudhury2000distributed}
R.~Choudhury, S.~Bandyopadhyay, and K.~Paul, ``A distributed mechanism for
topology discovery in ad hoc wireless networks using mobile agents,'' in
\emph{Proceedings of the 1st ACM international symposium on Mobile ad hoc
networking \& computing}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE Press,
2000, pp. 145--146.
\bibitem{kuhn2006complexity}
F.~Kuhn and R.~Wattenhofer, ``On the complexity of distributed graph
coloring,'' in \emph{Proceedings of the twenty-fifth annual ACM symposium on
Principles of distributed computing}.\hskip 1em plus 0.5em minus 0.4em\relax
ACM, 2006, pp. 7--15.
\bibitem{Johansson1999}
{\"O}.~Johansson, ``{Simple distributed $\Delta +1 $-coloring of graphs},''
\emph{Information Processing Letters}, vol.~70, no.~5, pp. 229--232, 1999.
\bibitem{luby1988removing}
M.~Luby, ``Removing randomness in parallel computation without a processor
penalty,'' in \emph{Foundations of Computer Science, 1988., 29th Annual
Symposium on}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 1988, pp.
162--173.
\bibitem{szegedy1993locality}
M.~Szegedy and S.~Vishwanathan, ``Locality based graph coloring,'' in
\emph{Proceedings of the twenty-fifth annual ACM symposium on Theory of
computing}.\hskip 1em plus 0.5em minus 0.4em\relax ACM, 1993, pp. 201--207.
\bibitem{EPFL-ARTICLE-187617}
F.~Movahedi~Naini, O.~Dousse, P.~Thiran, and M.~Vetterli, ``Opportunistic
{S}ampling for {J}oint {P}opulation {S}ize and {D}ensity {E}stimation,''
\emph{{IEEE Trans. Mobile Comp.}}, 2013.
\bibitem{edwards2008implementation}
J.~Edwards, ``Implementation of network listen modem for {WCDMA} femtocell,''
in \emph{Cognitive Radio and Software Defined Radios: Technologies and
Techniques, 2008 IET Seminar on}.\hskip 1em plus 0.5em minus 0.4em\relax IET,
2008, pp. 1--4.
\bibitem{levin2009markov}
D.~A. Levin, Y.~Peres, and E.~L. Wilmer, \emph{Markov chains and mixing
times}.\hskip 1em plus 0.5em minus 0.4em\relax AMS, 2009.
\bibitem{Gehring1976}
F.~Gehring and P.~Halmos, \emph{Finite Markov Chains}.\hskip 1em plus 0.5em
minus 0.4em\relax Springer-Verlag, 1976, ch. 3: Absorbing Markov Chains, p.
224.
\bibitem{fortune1995wise}
S.~Fortune, D.~Gay, B.~Kernighan, O.~Landron, R.~Valenzuela, and M.~Wright,
``{WiSE} design of indoor wireless systems: practical computation and
optimization,'' \emph{{IEEE Comput. Sci. Eng.}}, vol.~2, no.~1, pp. 58--68,
1995.
\end{thebibliography}
% flatex input end: [CL.bbl]
%FLATEX-REM:\bibliographystyle{IEEEtran}
%FLATEX-REM:\bibliography{CL}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
% flatex input end: [CL.tex]