throbber
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 8, NO. 5, MAY 1997
`
`449
`
`Optimal Polling in Communication Networks
`
`Adele A. Rescigno
`
`Abstract—Polling is the process in which an issuing node of a communication network (polling station) broadcasts a query to every
`other node in the network and waits to receive a unique response from each of them. Polling can be thought of as a combination of
`broadcasting and gathering and finds wide applications in the control of distributed systems. In this paper, we consider the problem
`of polling in minimum time. We give a general lower bound on the minimum number of time units to accomplish polling in any
`network and we present optimal polling algorithms for several classes of graphs, including hypercubes and recursively
`decomposable Cayley graphs.
`
`Index Terms—Communication networks, polling, spanning trees, hypercubes, Cayley graphs.
`
`—————————— F ——————————
`
`B
`
`1 INTRODUCTION
`ROADCASTING in a communication network is the proc-
`ess of information dissemination in which a message is
`routed from a special node, called the originator, to every
`other node in the network. Scattering is the process in
`which the originator wishes to route a different message to
`each of the other nodes in the network. Gathering is the
`inverse process of scattering, that is, every node has its own
`unique message that must be routed to a specified node
`called the destination. Polling combines both broadcasting
`and gathering for a specified node, called the polling station.
`The polling station broadcasts a query to every other node
`in the network and waits to receive a unique response from
`each of them.
`In this paper, we study the time complexity of optimal
`polling algorithms in communication networks.
`Polling finds wide applications in the control of distrib-
`uted systems. In computer networks, it is a technique fre-
`quently used for terminal handling [31]. Furthermore, there
`are a number of situations in distributed databases man-
`agement where polling occurs: Reconfiguration after a fail-
`ure or a service restoration [30], updating of replicated
`copies of an object and maintenance of consistency [14], and
`locking to synchronize reading and writing operations [8].
`More recently, polling was proposed as a technique for
`condition monitoring in active databases [11]. Even though
`traditional DBMSs are passive, there is a large class of non-
`traditional applications, such as process control, threat as-
`sessment and analysis, air traffic control, Computer Inte-
`grated Manufacturing, and cooperative problem solving,
`that need to react (often subject to time constraints) to a
`variety of conditions that change the state of the database.
`In this context, polling is used to detect whether any of the
`conditions become true.
`While the related problem of broadcasting in intercon-
`nection network has received considerable attention in the
`
`¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
`
`• The author is with the Dipartimento di Informatica ed Applicazioni, Uni-
`versità di Salerno, 84081 Baronissi (SA), Italy.
` E-mail: rescigno@dia.unisa.it.
`Manuscript received 13 Oct. 1994.
`For information on obtaining reprints of this article, please send e-mail to:
`transpds@computer.org, and reference IEEECS Log Number D95232.
`
`past few years (see [23], [16], [22]), the problem of deter-
`mining the time complexity of polling algorithms seems to
`have escaped the attention of the researchers in the area.
`For results on problems similar to polling see [12], [33] and
`references quoted therein. As we will see, the problem of
`polling in minimum time, besides its practical interest re-
`called above, poses some new interesting challenges in the
`area of information dissemination in communication net-
`works. It is the purpose of this paper to initiate a detailed
`study of this problem. We will first provide a general lower
`bound on the minimum number of time units to perform
`polling in any network. The lower bound is expressed in
`terms of the diameter of the network, the minimum node
`degree and the number of nodes of the network. Subse-
`quently, we will give optimal time polling algorithms for
`several classes of interconnection networks.
`A common approach to implement communication algo-
`rithms on interconnection networks is to embed a spanning
`tree with special properties on those networks. The root of
`the tree corresponds to the origin of the messages and the
`links of the embedded tree are used for message transmis-
`sions. Following this approach, we show that the lower
`bound on the polling time can be reached provided that the
`graph G contains a particular spanning tree rooted at the
`polling station u, called Polling Tree PTu(G). We do so by
`presenting a polling algorithm that requires the minimum
`number of time units when using PTu(G). In particular, the
`time our polling algorithm requires when u is the polling
`station is two if D(u) = 1, and is max{ Ø(N - 1)/d(u)ø + 2,
`2D(u)} if D(u) ‡ 2; here D(u) and d(u) represent the maxi-
`mum distance from u and the degree of u in G, respectively,
`and N is the number of nodes in G. Moreover, we show that
`members of a large class of graphs used for interconnection
`networks in parallel computers contain Polling Trees, thus
`admitting optimal polling algorithms: In particular, hyper-
`cubes and recursively decomposable Cayley graphs contain
`Polling Trees.
`It should be pointed out that the naive approach to per-
`form polling by first broadcasting the query and then gath-
`ering the responses sums up to a poor polling algorithm.
`Indeed, to broadcast from a node u in G under the model
`
`1045-9219/97/$10.00 © 1997 IEEE
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 1 of 13
`
`

`

`450
`
`IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 8, NO. 5, MAY 1997
`
`but only one response can be returned on a link dur-
`ing a communication step.
`Conditions 1–4 characterize the communication model
`known as All Ports—Full Duplex. This model has been
`widely studied since it seems well to reflect hardware char-
`acteristics (see [23], [16], [25] and references quoted therein
`for more on these questions). In fact, it represents the
`maximal communication capability that a loosely coupled
`multiprocessor could possibly have.
`Constraint 5 forbids the concatenation of responses of
`different nodes into a unique message; this is usually as-
`sumed to avoid the propagation of messages of growing
`(and variable) length inside the network that would con-
`tradict hypothesis 5) (for more on these questions see [4],
`[5], [7], [17]). The problem of polling in trees using a differ-
`ent model has been considered in [13].
`The polling time of a node u in a graph G, denoted by Pu(G),
`is the minimum number of time units required to complete
`the polling in graph G if u ˛ V is the polling station. The
`polling time of a graph G, denoted by P(G), is the maximum
`polling time Pu(G) for any polling station u in G. In the fol-
`lowing, we will denote by Q the query that u sends to every
`other node in G and by Rx the response that a node x ˛ V \ {u}
`must transmit to u.
`
`3 THE LOWER BOUND
`In this section, we present a lower bound on the polling
`time of a graph G. We first introduce the basic terminology
`and notation. Given a graph G = (V, E) and a node u ˛ V,
`let us denote by d(u) the degree of u in G, by dist(u, v) the
`distance between two nodes u and v, and by D(u ) =
`maxv˛Vdist(u, v). As usual, d(G) = minu˛Vd(u) and D(G) =
`maxu˛VD(u) denote the minimum degree in G and the di-
`ameter of G, respectively. Let N(u) = {v|dist(u, v) = 1} be the
`set of neighbors of u in G.
`Given a tree Tr rooted in r ˛ V(Tr), let depth(x), for x ˛
`V(Tr), denote the length of the path from the root r to the
`0 5
`2
`7
`=
`. We will call
`˛max
`node x and height T
`depth x
`2
`7
`r
`x V Tr
`main subtrees of Tr the subtrees of Tr rooted at the sons of its
`root r. Let us denote by Nz the number of descendants of
`z ˛ V(Tr) in Tr. A descendant of z is assumed to be different
`from z itself.
`THEOREM 1. Let G = (V, E) be a graph and let N = |V|. The
`polling time Pu(G) of a node u ˛ V in G is
`2
`
`0 5
`
`if D u
`0 5
`0 5
`B
`
`D u if D u
`
`=
`‡
`
`
`
`1,
`
`
`
`2.
`
`max
`
`=
`
`0
`
`N
`
`5
`1
`
`/
`
`0 5
`d u
`
`-
`
`+
`
`
`
`2 2,
`
`%&K ’K
`
`0
`P G
`u
`
`5
`
`‡
`
`PROOF. It is obvious that Pu(G) ‡ 2 (actually, equal to 2) if
`D(u) = 1. Assume now that D(u) ‡ 2.
`Let us first notice that the query Q must reach each
`node in G, and, in particular, a node w at distance
`D(u) from u. Since the response Rw must go back to u,
`it easily follows that Pu(G) ‡ 2D(u).
`
`we use (all ports-full duplex) requires at least a number of
`time units equal to the maximum distance D(u) from u in G.
`Furthermore, during the gathering of the responses to the
`destination u, node u can receive the responses only
`through its neighbors; in particular, there exists at least a
`neighbor that must transmit at least Ø(N - 1)/d(u)ø re-
`sponses to u, and at least one of the responses is at distance
`D(u) from u. Since in our communication model just one
`response can go through a link at a time, the gathering re-
`quires at least max{Ø(N - 1)/d(u)ø, D(u)} time units. This
`implies that to perform polling by first broadcasting and
`then gathering requires time D(u) + max{Ø (N - 1)/d(u)ø,
`n
`-2
`+
`1 , if n > 4,
`D(u)}. In particular, this would give an n
`n
`time units polling algorithm for the n-dimensional hyper-
`0
`5
`-
`3
`1
`n
`+
`!
`, if n > 2, time units polling algo-
`cube, a
`2
`+
`,1
` if n > 2, time
`rithm for the n-star graph, and a cn
`1
`units polling algorithm for the n-pancake graph.1 Compar-
`ing the above quantities with our results presented in Theo-
`rem 3 and Corollary 5, and Theorem 4 and Corollary 6, re-
`spectively, we can conclude that our polling algorithm has
`a significantly better performance than the naive algorithm.
`Indeed, our polling algorithm takes advantage of the possi-
`bility of sending responses before the broadcasting process
`is completed.
`The rest of the paper is organized as follows. The com-
`munication model is defined in Section 2. In Section 3, we
`establish a lower bound on the polling time of any graph,
`and, in Section 4, we give a tree-based polling algorithm
`that achieves the lower bound when a Polling Tree is used.
`Finally, Section 5 is devoted to the construction of Polling
`Trees for hypercubes and recursively decomposable Cayley
`graphs, respectively.
`A list of the main symbols used in this paper along with
`their definitions is given in the Appendix.
`
`11
`--
`nn
`
`--!
`nn
`
`2 COMMUNICATION MODEL
`The network is modeled by a connected graph G = (V, E)
`with the vertices corresponding to nodes (processors) and
`the edges corresponding to communication links. In the
`following, the terms node and vertex will be used inter-
`changeably, as well as the terms link and edge.
`The polling is accomplished according to the following
`constraints:
`1) only adjacent nodes can communicate,
`2) each node can use all its links during a communica-
`tion step,
`3) messages between adjacent nodes can travel the con-
`necting link in both directions during a communica-
`tion step,
`4) each communication, that is the transmission of a
`message between adjacent nodes, requires one unit of
`time,
`5) responses can be accumulated at any internal node,
`
`1. See [19] for the value of the constant c that appears in the lower bound
`on the diameter of the n-pancake graph.
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 2 of 13
`
`

`

`RESCIGNO: OPTIMAL POLLING IN COMMUNICATION NETWORKS
`
`451
`
`We will show now that Pu(G) ‡ Ø(N - 1)/d(u)ø + 2.
`Notice that the response of each neighbor x ˛ N(u) of
`the polling station u reaches u at time ‡ 2; further-
`more, the response of a node whose distance from u is
`‡ 2 can reach u only at time unit t > 3. Since there ex-
`ists at least a neighbor of u that will forward to u at
`0 5
`- -1
`d u
`least N
` responses (except for its own response),
`0 5
`d u
`we get that
`0
`5
`P G
`u
`
`+
`
`2.
`
`" ##
`
`-
`1
`0 5
`u
`
`N d
`
`(cid:31)
`
`+
`
`3
`
`=
`
`" ###
`
`0 5
`- -
`1
`d u
`0 5
`d u
`
`N
`
`(cid:31)
`
`‡
`
`ⵧ
`
`REMARK 1. If D(u) = 1, that is u is directly connected to every
`node in G, then PTu(G) has (N - 1) main subtrees, each
`consisting of one node.
`EXAMPLE 1. Given the graph G in Fig. 1a, a Polling Tree of G
`rooted at node 4 is showed in Fig. 1b; notice that D(4)
`= 3 and d(4) = 2, then condition 1 of Definition 1 must
`be satisfied. A Polling Tree of G rooted at node 5 is
`showed in Fig. 1c; notice that D(5) = 4 and d(5) = 3,
`then condition 2 of Definition 1 must be satisfied.
`
`Fig. 1. (a) Graph G on N = 14 nodes; (b) Polling Tree of G rooted at 4;
`(c) Polling Tree of G rooted at 5.
`
`Let Tu(G) be any spanning tree of G rooted at u. We shall
`first describe an easy polling algorithm using Tu(G). Subse-
`quently, we shall prove the optimality of the algorithm if
`the used spanning tree is a PTu(G), in case it exists for G.
`Assume that each node knows the graph topology, the
`identity of polling station u,2 and that each node x con-
`structs by itself a same spanning tree Tu(G) rooted at u; this
`will be the case if the procedure which constructs Tu(G) is
`identical at all the nodes. The procedure performed by each
`node x in a polling execution, using Tu(G), is as follows.
`Node x waits until receiving the query from its parent in
`Tu(G); then it sends its response to the parent and delivers
`the query to its sons in Tu(G). When x receives responses
`from its sons, it sends them, one at a time, to its parent.
`Therefore, the query travels from the polling station u to the
`leaves in Tu(G), while each response propagates from any
`node to u along the edges of Tu(G). We will denote by
`POLLING(Tu(G)) the polling algorithm that uses the span-
`ning tree Tu(G). The algorithm is shown in Fig. 2.
`The correctness of algorithm POLLING(Tu(G)), i.e., the
`respect of the constraints of our communication model, is
`obvious from the above description.
`We now derive some useful results related to the algo-
`rithm POLLING(Tu(G)). In the following, we will say that a
`response is delayed at a node x if the difference between its
`
`2. Notice that this is not a restriction since a node can know u’s identity
`after receiving the query.
`
`By the definition of polling time of a graph G, the fol-
`lowing corollary is immediate.
`COROLLARY 1. Let G = (V, E) be a graph and let N = |V|. The
`polling time P(G) of G is
`2
`
`max
`
`=
`
`0
`
`N
`
`5
`1
`
`-
`
`/
`
`d
`
`0
`G
`
`5
`
`+
`
`
`
`2 2,
`
`0
`
`if D G
`0
`5
`0
`B
`
`D G if D G
`
`5
`5
`
`=
`‡
`
`
`
`1,
`
`
`
`2.
`
`%&K ’K
`
`0
`P G
`
`5
`
`‡
`
`There are classes of graphs for which above lower bound
`can be easily matched, the easy proof of the following cor-
`ollary is left to the reader.
`COROLLARY 2. The polling time of
`1) the complete graph is 2;
`2) the path on N vertices is 2(N - 1);
`3) the cycle on N vertices is 2ºN/2ß;
` n1 £
`‡
`4) the complete multipartite graph K
`,
`,
`2
`k
`nk
`… £ nk, is Ø(n1 + … + nk - 1)/(n1 + … + nk-1)ø + 2; in
`particular, for the complete bipartite graph Kn,m, m £ n,
`is Ø(n + m - 1)/mø + 2.
`
`,
`
`K
`,
`
`n
`1
`
`4 POLLING ALGORITHM
`In this section, we give a sufficient condition for any graph
`G to admit an optimal time polling algorithm. The condi-
`tion is based on the existence of a particular spanning tree
`of G, that we will call Polling Tree, defined below. Subse-
`quently, we will show that a large class of graphs contains
`Polling Trees.
`DEFINITION 1. We call Polling Tree of G rooted at u, PTu(G),
`any rooted spanning tree of G with root u having d(u)
`main subtrees, Tr = (V(Tr), E(Tr)) for r ˛ N(u), where each
`Tr has the following properties:
`if 2D(u) > Ø(N - 1)/d(u)ø + 2 then
`1.1) height(Tr) £ D(u) - 1;
`1.2) there are at most two nodes in Tr at depth 艎, for each
`艎 £ height(Tr) - 1; there is exactly one node at depth
`艎 = height(Tr);
`otherwise
`2.1) |V(Tr)| ˛ {Ø(N - 1)/d(u)ø, º(N - 1)/d(u)ß};
`2.2) there are at least two nodes at each depth 艎 £
`height(Tr) - ar, where
`2
`7
`1
`if V T
`2
`7
`if V T
`
`=
`
`„
`
`0
`0
`
`N
`
`N
`
`5
`1
`5
`1
`
`/
`
`/
`
`0 5
`d u
`0 5
`d u
`
`-
`
`-
`
`,
`
`.
`
`r r
`
`2
`
`%&K ’K
`
`=
`
`a
`r
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 3 of 13
`
`

`

`452
`
`IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 8, NO. 5, MAY 1997
`
`Now we analyze the time required by the polling algo-
`rithm POLLING(Tu(G)) when Tu(G) = PTu(G) and we prove
`that it matches the lower bound given in Theorem 1.
`THEOREM 2. The algorithm POLLING(PTu(G)) requires two
`units of time if D(u) = 1, and max{Ø(N - 1)/d(u )ø + 2,
`2D(u)} units of time if D(u) ‡ 2.
`
`POLLING(Tu(G))
`forfor x ˛ V dodo in parallel
`in parallel
`
`ifif Q is received thenthen, in the next
`step, send Q to all the sons in Tu(G)
`and send Rx to the parent in Tu(G);
`
`whilewhile there are responses of descen-
`dants dodo send a response to the par-
`ent in Tu(G).
`
`endforendfor
`
`Fig. 2. Polling algorithm using Tu(G).
`
`departure time from node x and its arrival at x is strictly
`larger than one.
`LEMMA 1. Let x, z ˛ V \ {u} and let x be a descendant of z in
`Tu(G). Let q and t be the times in which z receives the
`query Q and the response Rx during the execution of algo-
`rithm POLLING(Tu(G)), respectively. If Rx is delayed in z
`then the following conditions must hold:
`1) the number of sons of z in Tu(G) is ‡ 2;
`2) z has sent its response at time q + 1 and it has sent re-
`sponses of its descendants in each time t, for q + 3 £ t £ t ;
`3) Rx starts from z in a time £ Nz + q + 2.
`PROOF. Assertion 1 is obvious, let us prove condition 2. Let
`z = a0, a1, a2, L, aᐉ, aᐉ +1 = x be the nodes on the path
`from z to x in Tu(G). We assume ᐉ ‡ 1, otherwise, con-
`dition 2 is obviously true. If z receives the query at
`time q then, according to POLLING(Tu(G)), it sends its
`response at time q + 1. To complete the proof of con-
`dition 2, let us proceed by contradiction. Suppose that
`z does not transmit in every time unit t, q + 3 £ t £ t,
`and let t¢ be the smallest time unit in which this oc-
`curs. According to algorithm POLLING(Tu(G)), this
`means that z has no response to transmit at time t¢,
`that is, z had just one response to transmit at time t¢ - 1,
`and none of z’s sons has sent a response to z at time t¢
`- 1. In particular, z has not received a response at time
`t¢ - 1 from a1. This means that a1 has not received a re-
`sponse at time t¢ - 2 from a2. Iterating, we can say that
`aᐉ has not received a response at time t¢ - ᐉ - 1 from x.
`According to algorithm POLLING(Tu(G)), this implies
`that x has no response to send to aᐉ and, in particular,
`x has not any more its response; furthermore, no node
`on the path from x to z has Rx. This means that z has
`already received and sent to its parent the response
`Rx, that is, t < t¢ contradicting the fact that t¢ £ t.
`We now prove condition 3. Denote with delay(z)
`the number of time units during which Rx remains in
`z. By condition 2, z has sent t - q - 2 responses (except
`for its own response, Rz) to its parent before receiving
`Rx. Then,
`
`delay(z) £ Nz - 1 - (t - q - 2).
`Therefore, the time in which Rx leaves z is
`t + delay(z) + 1 £ t + Nz - 1 - (t - q - 2) + 1
`= Nz + q + 2.
`
`(cid:134)
`
`7
` in Definition 1
`.
`
`by 2.1 and the value of
`a
`r
`Suppose, now, that Rx is delayed at some node on the
`path going to u. Let us consider the last node on the
`path to u in which Rx is delayed. Let z be this last an-
`cestor in which Rx is delayed and let hz be the depth
`of z in Tr. Obviously, hz £ height(Tr) - 1. By condition 3
`of Lemma 1, Rx leaves z within time
`
`PROOF. By Remark 1 it is obvious that if D(u) = 1 then the
`time to accomplish polling using POLLING(PTu(G)) is
`two. Let us analyze the case D(u) ‡ 2. Two situations
`can occur.
`Case 1. 2D(u) > Ø(N - 1)/d(u )ø + 2. Let x be a node
`at depth 艎 in some subtree Tr of PTu(G), where r ˛
`N(u) and 0 £ 艎 £ height(Tr). According to the algorithm
`POLLING(PTu(G)), node x receives the query Q from
`its parent at time 艎 + 1 and sends its response to its
`parent at time 艎 + 2. This means that if the response Rx
`is not delayed on the path from x to u, then it arrives
`at u at time 2(艎 + 1). By property 1.1 of Definition 1,
`we can conclude that if no response is delayed, then
`the time to accomplish POLLING(PTu(G)) is 2D(u).
`Let x ˛ V(Tr) be a node whose response Rx is de-
`layed. Let us consider the last node on the path from x
`to u in which Rx is delayed. Let z be the last ancestor
`in which Rx is delayed and let hz be the depth of z in
`Tr. By condition 3 of Lemma 1, the time in which Rx
`reaches u is at most
`Nz + 2(hz + 1) + 1 £ 2(height(Tr) + 1) £ 2D(u).
`(1)
`where the last two inequalities in (1) follow from
`properties 1.2 and 1.1 of Definition 1, respectively; in-
`deed, by property 1.2 of Definition 1, we have Nz £
`2(height(Tr) - hz - 1) + 1. Therefore, by (1), we have
`that even if a response is delayed, it arrives at u in
`time £ 2D(u).
`Case 2. 2D(u) £ Ø(N - 1)/d(u )ø + 2. As in the above
`case, if a node x is at depth 艎 in some subtree Tr of
`PTu(G), where r ˛ N(u) and 0 £ 艎 £ height(Tr), and its
`response Rx is not delayed on the path from x to u,
`then Rx arrives at u at time 2(艎 + 1). We now prove
`that in the Polling Tree PTu(G) it holds 2(艎 + 1) £
`Ø(N - 1)/d (u)ø + 2. In fact, considering that 艎 £
`height(Tr), we have
`5
`2
`7
`3
`l +

`+
`1
`2
`height T
`2
`7
`3
`2
`height T
`2
`7
`2
`1
`a
`V T
`r
`r
`7
`2
`by 2.2 of Definition 1
`5
`0 5
`-
`+
`1
`d u
`2
`
`+
`
`2
`
`a
`r
`
`+
`
`2
`
`8
`1
`
`8
`a
`r
`7
`
`-
`
`+
`
`r r
`
`+
`
`0
`
`N
`
`/
`
`2
`
`0
`2
`
`=
`

`
`=
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 4 of 13
`
`

`

`RESCIGNO: OPTIMAL POLLING IN COMMUNICATION NETWORKS
`
`453
`
` Suppose r = xj, for some 0 £ j £ |Vr| - 1. Let Tr be the
`spanning tree of Hr rooted at r obtained by removing
`the edge
`
`.
`
`(cid:28)(cid:30)(cid:29)
`
`x
`4
`
`+
`
`j
`
`3
`
`V
`r
`
`8
`9
`
`1 2/ mod
`
`-
`
`V
`r
`
`,
`
`x
`4
`
`+
`
`j
`
`3
`
`V
`r
`
`8
`
`1 2/
`
`-
`
`9
`1
`
`+
`
`mod
`
`V
`r
`
`(cid:25)(cid:27)(cid:26)
`
`7
`
`-
`
`1
`
`and
`
`a
`r
`
`=
`
`2
`
`(2)
`Nz + (hz + 1) + 2.
`If z ˛ N(u) (i.e., z = r) then, by (2), the time in which Rx
`reaches u is at most
`|V(Tr)| + 2 £ Ø(N - 1)/d(u )ø + 2.
`Now let z ˇ N(u). We first notice that by proper-
`ties 2.1 and 2.2 of Definition 1, it follows that the
`number of descendants of z in Tr is
`2
`7
`2
`-
`=
`2
`if
`V T
`h
`h
`height T
`r
`z
`z
`r
`2
`7
`2
`V T
`r
`
`-
`
`2
`
`h
`z
`
`7
`1
`
`+
`
`otherwise.
`
`%&K ’K
`
`N
`
`z
`

`
`Therefore, the time in which the response Rx reaches u
`is upper bounded by
`2
`V T
`r
`
`N
`
`+
`
`2
`2
`
`7
`1
`
`+
`
`+ £
`1
`
`7
`
`-
`
`1
` and
`a
`r
`
`=
`
`2
`
`7
`
`+
`
`3
`
`Obviously, Tr is also a spanning tree of Gr. Let us con-
`sider, now, the spanning tree of G rooted at u, whose
`main subtrees are the trees Tr for r ˛ N(u). It is easy to
`verify that this spanning tree is a Polling Tree. Indeed,
`u has |N(u)| sons; furthermore, properties 2.1 and 2.2
`of Definition 1 are immediate by condition 2 in the
`hypothesis and the construction of each Tr.
`(cid:134)
`The above Lemma can be easily applied to the two-
`dimensional toroidal meshes.
`The two-dimensional m · n toroidal mesh Mm,n is the prod-
`uct graph Cm · Cn, where Cm and Cn are the cycles on m and
`n vertices, respectively. Therefore, the node set V(Mm,n) and
`edge set E(Mm,n) of Mm,n are
`V(Mm,n) = {(u, v) | 1 £ u £ m and 1 £ v £ n},
`E(Mm,n) = {((u, v), (u, v(mod n) + 1)), ((u,v), (u (mod m) + 1, v))
`| 1 £ u £ m and 1 £ v £ n}.
`It is immediate to see that for any odd n and any polling
`station (u, v) ˛ V(Mn,n), the two-dimensional toroidal mesh
`Mn,n can be partitioned in four meshes having the same
`even number of nodes. This consideration and the fact that
`meshes with an even number of nodes are Hamiltonian (see
`[32]) imply the following corollary to the above Lemma.
`COROLLARY 4. The two-dimensional n · n toroidal mesh Mn,n,
`with n odd, contains a Polling Tree rooted at any (u, v) ˛
`V(Mn,n). Furthermore, the polling time P(Mn,n) is
`2
`-
`1
`n
`3
`8 =
`P M
`4
`n n,
`5.1 Optimal Polling in the Hypercube
`The hypercube is one of the most popular interconnection
`networks for parallel and distributed computing systems.
`Its topological and fault tolerance properties have been ex-
`tensively studied in several papers (see for instance [6],
`[20], [24], [26], [29]). Thus, the hypercube stays, among the
`interconnection networks, as one of the most interesting
`multicomputer structures.
`As is well known, the hypercube Hn can be presented as
`an undirected graph consisting of 2n vertices labeled by the
`binary representations of the integers 0, 1, L, 2n - 1 and
`such that there is an edge between any two vertices if and
`only if their labels differ in exactly one bit. The diameter of
`Hn and the degree of each node is n. Furthermore, Hn can be
`0 and
`partitioned into two hypercubes of dimension n - 1, Hn
`1 are the subgraphs induced by theHn1 , where Hn0 and Hn
`
`
`
`nodes having labels with 0 and 1 in position n, respectively.
`In this section, we will build recursively a Polling Tree of
`Hn rooted at any node u ˛ {0, 1}n. We will denote it by T n
`u .
`
`2
`.
`
`+
`
`=
`if
`h
`z
`2
`height T
`r
`2
`otherwise
`0 5
`d u
`
`2
`
`,
`
`+
`
`+
`
`/
`
`2
`V T
`r
`
`N
`
`-
`
`7
`5
`1
`
`% &KK ’KK
`
`0
`

`
`z
`
`h
`z
`
`where the last inequality again follows from prop-
`erty 2.1 and the value of ar in Definition 1.
`(cid:134)
`EXAMPLE 1 (continued). Let G be the graph given in Fig. 1a.
`Case 1 of Theorem 2 occurs if the polling algorithm is
`using the Polling Tree rooted at 5 given in Fig. 1c,
`Case 2 of Theorem 2 occurs if the polling algorithm is
`using the Polling Tree rooted at 4 given in Fig. 1b.
`The above theorem immediately gives a sufficient con-
`dition for a graph G to admit an optimal time polling algo-
`rithm when node u is the polling station.
`COROLLARY 3. Given a graph G = (V, E) and a node u ˛ V, if G
`contains a PTu(G), then u can perform polling in G in
`minimum time.
`
`5 OPTIMAL POLLING IN A LARGE CLASS OF GRAPHS
`In this section, we will give a sufficient condition for a
`graph to have a Polling Tree and, thus, an optimal time
`polling algorithm. We also show that members of a large
`class of graphs used for interconnection networks in parallel
`computers contain Polling Trees.
`LEMMA 2. Given a graph G = (V, E) and a node u ˛ V, if it is
`possible to partition the subgraph induced by V \ {u} into
`d(u) subgraphs, Gr = (Vr, Er) for r ˛ N(u), such that
`1) r ˛ Vr,
`2) |Vr| ˛ { Ø(N - 1)/d(u )ø, º(N - 1)/d(u )ß } ,
`3) Gr is Hamiltonian
`for each r, then G contains a PTu(G).
`PROOF. Since Gr is Hamiltonian, we can order the nodes in Vr
`is Hr =
`so
`that
`the Hamiltonian cycle
`in Gr
`
`,
`x x
`1
`k
`
`5
`1
`
`+
`
`k
`
`mod
`
`V
`r
`
`x
`
`0
`
`,
`
`K
`
`,
`
`x
`
`EH
`
`r
`
`=
`
`V
`r
`
`%&’
`
`(cid:25)(cid:27)
`
`%&’
`
`(cid:25)(cid:27)
`
`(cid:28)(cid:30)
`
`()*
`
`-
`
`1
`
`,
`
`EH
`
`r
`
` where
`
`()*
`
`1
`
`.
`
`0
`

`
`k
`

`
`V
`r
`
`-
`
`(cid:28)(cid:30)
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 5 of 13
`
`

`

`454
`
`IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 8, NO. 5, MAY 1997
`
`nb
`
`-
`
`1
`
`1
`
`nb
`
`-
`
`nb
`
`b
`-1, for b ˛ {0, 1}, the Polling Tree
`Let n ‡ 6. Denote by Tn
`b rooted at b0 obtained by Tn-1 (the Polling Tree of Hn-1)
`of Hn
`prefixing each binary vector in V(Tn-1) with bit b; that is,
`2
`7
`4
`9
`4
`9
`J
`L
`=

`=
`x x
`V T
`b
`V T
`V H
`n
`6
`7 1
`2
`2
`7
`4
`9
`J
`L

`=
`,
`.
`,
`b
`E T
`b
`E T
`x y
`x y
`-
`-
`1
`1
`n
`
`bLet STib , for 1 £ i £ n - 1, be the main subtrees of Tn
`
`-1. It is
`0
`1
`obvious, by the construction of Tn-1
`, that each
` and Tn-1
`0 , for 1 £ i £ n - 1, has the corresponding
`node 0x in STi
`1. Fig. 4a shows a schematic
`1x at its same position in STi
`0
`1
`representation of Tn-1
` and Tn-1
`.
`˝ 4
`9 be the subset obtained by deleting ti
`1
`1
`Let A
`V ST
`i
`i
`1 level by level starting from the deepest
`nodes from STi
`level (i.e., not removing a node at depth 艎 until level 艎 + 1 is
`4
`9 ). The number of nodes ti is cho-
`1
`empty, for l < height STi
`4
`9 , where
`0
`=
`-
`sen so that t
`s
`V ST
`i
`i
`i
`4
`9
`1
`9
`4
`1
`
`mod
`
`n
`
`< £
`i
`
`n
`
`-
`
`
`
`1.
`
`(3)
`
`4
`9
`1
`
`1
`4
`
`n
`
`2
`
`-
`
`n
`
`2
`
`-
`
`/
`
`n
`
`/
`
`n
`
`for
`
`for
`
`%&K ’K
`
`=
`
`s
`i
`
`n
`
`-
`
`2
`
`£ £
`i
`
`n
`
`2
`
`-
`
`9
`1
`
`mod
`
`n
`
`Fig. 3. The Polling Trees Tn for 2 £ n £ 5.
`
`Since Hn is vertex symmetric, without loss of generality, our
`construction consider the node 0 = 0 … 0 as root.
`The polling trees of Hn that we will construct have the
`property that each subtree of the root has almost the same
`number of nodes (i.e., their cardinality differs at most by
`one). We point out that in the literature have been proposed
`other spanning trees of the hypercube with a kind of
`“balance” property, see [9] and [24]. However, the trees
`proposed in [24] have the property that the subtrees of the
`root contain exactly the same number of nodes only for
`particular values of n. The trees proposed in [9] are well
`balanced, in sense that they satisfy property 2.1 of Defini-
`tion 1, but they do not satisfy property 2.2 that is crucial to
`obtain optimal polling time.
`To show the construction of T n
`0 , some definitions are
`necessary: bx will denote the binary vector of length n ob-
`tained by prefixing the binary vector x = xn-1, …, x1 with the
`b and a node
`bit b. Furthermore, given a spanning tree of Hn
`bx (different from the root) in it, we will denote by f(bx) the
`parent of bx in that tree. We also define 0i = 0..010..0, for 1 £
`i £ n, to be the binary vector whose only nonzero bit is in
`position i. In the following we will use Tn to mean T n
`0 .
`For any 2 £ n £ 5, Tn is shown in Fig. 3. It is easy to ver-
`ify, by direct inspection, that such trees are Polling Trees.
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 6 of 13
`
`

`

`RESCIGNO: OPTIMAL POLLING IN COMMUNICATION NETWORKS
`
`455
`
`
`
`1 ; (b) construction of STi, for 1 £ i £ n - 1.Fig. 4. (a) A schematic representation of Tn-10 and Tn-1
`
`
`
`Fig. 3 and the above description of Tn immediately give
`the following lemma.
`LEMMA 3. For n ‡ 2,
`1) Tn is a spanning tree of Hn;
`4
`9
`n
`-
`2
`1
`/
`n
`4
`9
`1
`
`n
`
`-
`
`2
`
`mod
`
`n
`
`< £
`i
`
`.
`n
`
`£ £
`i
`
`n
`
`2
`
`-
`
`9
`1
`
`mod
`
`n
`
`4
`9
`1
`
`1
`4
`
`for
`
`for
`
`n
`
`2
`
`-
`
`/
`
`n
`
`%&K ’K
`
`2
`2) V ST
`i
`
`7
`
`=
`
`The following lemmas give some useful properties of Tn.
`Such properties will help us to prove that Tn is a Polling
`Tree of Hn then proving that Hn admits optimal polling
`algorithms.
`LEMMA 4. For n ‡ 6 and any 1 £ i £ n - 1,
`1
`2‡ ,
`1) Ai
`4
`9 ‡
`1
`2) V ST
`i
`
`+ .
`1
`
`1
`A
`i
`
`PROOF. Noticing that, for any 1 £ i £ n - 1,
`2
`2
`7 -
`4
`9
`0
`1 =
`V ST
`V ST
`V ST
`A
`i
`i
`i
`i
`
`=
`
`7
`
`2
`V STi
`
`7 ˛ 2
`4
`J
`
`n
`
`9
`1
`
`-
`
`/ ,
`n
`
`4
`
`n
`
`2
`
`9
`1
`
`-
`
`/
`
`n
`
`4
`1
`V ST
`i
`
`9 ,
`
`, and
`
`-
`
`L
`
`=
`9
`
`U
`
`7
`
`^ 1 the tree obtained from STi
`1 by de-
`We will denote by ST i
`1.
`leting the nodes in Ai
`Now, we are able to construct Tn by defining its main
`subtrees STi, for 1 £ i £ n. Let 1 £ i £ n - 1, STi is rooted at 0i
`and is defined as follows:
`2
`7
`4
`9
`0
`V ST
`V ST
`i
`i
`2
`2
`4
`J
`0
`=
`1
`0
`,
`x
`x
`E ST
`E ST
`i
`i
`2
`7
`˝ 4
`9 and V ST
`4
`1
`1
`1
`Since A
`V ST
`t
`s
`V ST
`i
`i
`i
`i
`i
`i
`have that each STi is a tree containing si nodes; furthermore,
`the node sets of ST1, L, STn-1 are pairwise disjoint. The
`construction of STi is sketched in Fig. 4b.
`1
` by deleting
`STn is rooted at 10 and is obtained from Tn-1
`1, for 1 £ i £ n - 1.the nodes in Ai1 from each subtree STi
`
`
`Formally,
`
`1U
`A
`i
`7
`
`1
`x
`
`=
`

`
`1
`A
`i
`9
`
`L
`
`.
`
`+
`
`=
`
`, we
`
`1
`A
`i
`
`11
`=-
`in
`
`\ U
`
`2
`V ST
`n
`
`7
`
`=
`
`4
`1
`V T
`-
`n
`
`1
`
`9
`
`2
`=
`
`0
`1
`x
`
`5
`
`f
`
`7
`B
`.
`
`,
`
`1
`x
`
`xU
`
`1
`
`=-
`in
`
`2
`E ST
`n
`
`7
`
`=
`
`4
`1
`E T
`-
`n
`
`1
`
`9
`
`\
`

`
`n
`
`-
`
`1
`
`2
`
`-
`
`0
`
`/
`
`n
`
`-
`
`5
`1
`
`,
`
`n
`
`-
`
`2
`
`4
`9
`4
`9
`4
`J
`1
`1
`V ST
`i
`the lemma follows by observing that
`2
`7
`2
`7
`4
`9
`1
`V ST
`V ST
`V ST
`i
`i
`i
`
`-
`
`‡
`
`2
`
`<
`
`9
`1
`
`/
`
`0
`
`n
`
`-
`
`5
`1
`
`L
`
`,
`
`1
`
`-
`
`4
`1
`V ST
`i
`
`9
`
`.
`
`2
`
`(cid:134)
`
`LEMMA 5. For n ‡ 6 and any 1 £ i £ n,
`1) the number of nodes at depth 艎 in STi is at least two, for
`艎 £ height(STi) - 1;
`2) height(STi) £ n - 1.
`
`U
`1

`11
`A
`i
`It is immediate that STn covers nodes in V(Hn) \ {0} that are
`not covered by STi, for 1 £ i £ n - 1; furthermore,
`-(cid:25)
`2
`7
`4
`9
`(cid:229)
`(cid:229)
`(cid:27)
`1
`V ST
`V T
`s
`-
`n
`n
`i
`4
`
`(cid:25)(cid:27)
`
`n
`
`2
`
`-
`
`9
`1
`
`mod
`
`9
`n
`
`(cid:28)(cid:30)
`
`4
`0
`V ST
`i
`
`9
`
`11
`=-
`in
`
`n
`
`-
`
`1
`
`=
`
`2
`
`-
`
`t
`i
`
`11
`=-
`in
`
`=
`
`-
`
`1
`
`(cid:31)!
`
`
`
`44
`
`=
`
`n
`
`2
`
`- -
`1
`
`n
`
`2
`
`-
`
`n
`
`-
`
`9
`1
`/
`5 4
`1
`
`n
`
`2
`
`9
`1
`
`-
`
`/
`
`n
`
`0
`
`-
`
`n
`
`-
`
`"$#
`(cid:28)(cid:30)
`
`4
`
`n
`
`2
`
`9
`1
`
`-
`
`/
`
`n
`
`=
`
`4
`
`n
`
`2
`
`9
`1
`
`-
`
`/ .
`n
`
`APPL-1037 / IPR2018-00395
`Apple v. Uniloc / Page 7 of 13
`
`

`

`456
`
`IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 8, NO. 5, MAY 1997
`
`Such a condition is satisfied by Lemma 3 and Lemma 5.
`Hence, the theorem follows.
`(cid:134)
`COROLLARY 5. For n ‡ 2, the polling time P(Hn) of the hypercube
`with N = 2n nodes is
`2
`
`if
`
`2
`
`n
`

`
`5
`
`,
`
`log
`-
`1
`N
`log
`N
`
`N
`+
`
`%&K ’K
`
`2
`P H
`
`n
`
`7 =
`
`PROOF. The proof is by induction. For n = 6, the lemma can
`be easily proved by direct inspection. Suppose the
`conditions 1 and 2 hold for n - 1, let us verify them
`for n. We distinguish two cases.
`Case 1. Let 1 £ i £ n - 1. By construction, STi is ob-
`tained by adding at most one child to each node of
`
`
`
`0STi0. Since STi0 is a main subtree of Tn-1
`, it has at least
`4
`9
`0
`two nodes at each depth 艎, with l £
`-
`1
`height STi
`(by the induction hypothesis 1). Then, STi has at least
`4
`9
`0
`-
`two nodes at each depth 艎, with l £
`1
`.
`height STi
`0 to obtain STi
`Considering that the nodes joined to STi
`are added level by level starting from the deepest
`level and that condition 1 of Lemma 4 assures that at
`0 , we have both
`least two nodes are added to STi
`2
`7 = height ST
`4
`9 + £
`0
`- and that there are
`1
`1
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket