## 5 Experimental Section  
### Environment Setup  
We implement ADG in C# and compare it with other data gathering schemes. As nodes are mobile, we assume relatively sparse deployment of nodes for the wireless sensor network: there are 36 nodes within a rectangular area, and the network is divided into 8*8 grids. The community model described in [32] is adapted to simulate the movement of nodes, where each grid is a community and each community has an interest index \(c_{i}\in(0,1)\). If the index is greater than a threshold, the community is called a _Hot Community_, and the set of hot communities in the network is denoted as \(C\). At the beginning of the simulation, each node is tagged as _ordinary node_, and each ordinary node is assigned an \(id\), e.g., \(s_{i}\), and an grid as its _home community_. Each node starts its movement from its home community, moves along its path, and then goes back to the home community. Each node moves according to a set of paths, and each path is composed of several communities, including the hot communities. A node stops and moves within community \(c_{i}\in C\) for a period with probability of \(P_{stop}=ps+(1-ps)*a_{i}\); and chooses to move to the next community along the path with probability \(1-P_{stop}\), where \(ps\) is the predefined value, \(a_{i}\) is the interest index of the target community. \((1-ps)*a_{i}\) represents the probability that a node would stop because of the distraction within the community that it currently visits. A node has several predefined paths, and the path to move along is randomly chosen from them. An ordinary node may promote itself as a proxy node and change its tag to _proxy node_ according to Section 4.3, yet this has no impact the node movements. The \(MC\) is not active until a data gathering round is fired. It moves to the predicted location of proxy nodes one by one according to the optimized schedule, stop at each location for a period of time expecting to receive data from the proxy nodes. Table 2 summarizes the default values of network model and parameters in the simulation. The simulation runs periodically. It consists of 30 epochs, where each epoch has a period of 14,400 simulation seconds (s), and the length of data a gathering round (\(\Upsilon\)) is 1800 s. For the sensed data, every node adopts a Poisson process to trigger an event for data generation, where the interval between two sequential events follows the Poisson distribution with parameter \(\lambda\) = 600 s. The size of date generated by an event is 64 K, so the expected amount of total sensing data generated by a network of 36 nodes is 54 M (36*64 K*14400/600) per epoch. The bandwidth of link that uploads data from ordinary nodes to \(MC\) is 64 KBps. We assume ideal links when two nodes meet and establish a connection. ADG is a data gathering scheme that adopts speedy mobile elements at opportunistic mobile sensor networks under limited data gathering period. It is worth noted that \"opportunistic forwarding\" and \"limited data gathering period\" are the two main characteristics of the proposed ADG scheme compared with other data gathering schemes. Ordinary nodes would move to other places, and tracks could not be predefined or calculated for the data collector. So the track-base or roaming-based data gathering schemes [3,4,6] could not be directly adopted for the data gathering scenarios of opportunistic mobile sensor networks.