One or more aspects of the present disclosure were described in Ali, Yousef & Baroudi, Uthman. (2019). CEET: Cooperative Energy Efficient Tracking System using Smartphones. 1031-1036. 10.1109/IWCMC.2019.8766513, incorporated herein by reference in its entirety.
This invention generally relates to a method and corresponding system for tracking. In particular, the invention provides a method and corresponding system for tracking an object using electronic devices while minimizing power consumption of the electronic devices.
Mobile applications and services have become important in every aspect of life due to the extraordinary technological advances and high popularity of smartphones. Internet communication and positioning services are among the essential services in recent smartphones. Global positioning system (GPS) and WiFi are the most prevalent technologies used for positioning and internet communication, respectively. See Misra, P., Enge, P. (2006), Global Positioning System: signals, measurements and performance second edition, Massachusetts: Ganga-Jamuna Press; and IEEE Computer Society LAN MAN Standards Committee, (1999), Wireless LAN medium access control (MAC) and physical layer (PHY) specifications, ANSI/IEEE Std. 802.11-1999, each incorporated herein by reference in their entirety. Almost every recent smartphone is equipped with a WiFi and a positioning system. GPS and WiFi are preferable among other alternatives, GPS due to its high positioning accuracy compared to other positioning systems, and WiFi due to its high bandwidth, flexibility, well-designed and widespread infrastructure. However, GPS and WiFi are known for their high energy consumption. Continuous usage of WiFi and GPS would deplete a smartphone battery within a few hours even if there no other services are running on the device. On the other hand, energy efficiency of smartphones is commonly considered as a major concern since smartphones have restricted battery capacity due to the size and weight of the phone.
Using smartphones for monitoring large scale events provides an excellent opportunity for seamless and effective tracking. The need of real time tracking of people with special needs, such as children, the elderly and chronic patients, can be satisfied by smartphones. In such crowds and dense networks, there are more energy efficient solutions that can reduce power consumption and still maintain acceptable quality of service (QoS). For example, using short range communication in dense networks is more energy efficient. The use of a low-power communication interface as a secondary communication means has been used to save energy. See Ligios, M., Delgado, M. T., Conzon, D., Rossini, R., Sottile, F., Pastrone, C. (2018, January) Cognitive-based multi-radio prototype for industrial environment, Annals of Telecommunications, 1-12; Agarwal, Y., Pering, T., Want, R., Gupta, R. (2008, September), Switchr: Reducing system power consumption in a multi-client, multi-radio environment, In Wearable Computers, 2008, ISWC 2008, 12th IEEE International Symposium on (pp. 99-102), IEEE; Pering, T., Agarwal, Y., Gupta, R., Want, R. (2006, June), Coolspots: reducing the power consumption of wireless mobile devices with multiple radio interfaces, In Proceedings of the 4th international conference on Mobile systems, applications and services (pp. 220-232), ACM; and Agarwal, Y., Schurgers, C., Gupta, R. (2005, January), Dynamic power management using on demand paging for networked embedded systems, In Proceedings of the 2005 Asia and South Pacific Design Automation Conference (pp. 755-759), ACM, each incorporated herein by reference in their entirety. Bluetooth is an example of a low-power short-range communication technology that is available in almost every smartphone in the market. Bluetooth popularity is due to its high security, low power, low cost and small size chip. See Lee, J. S., Su, Y. W., Shen, C. C. (2007, November), A comparative study of wireless protocols: Bluetooth, UWB, ZigBee, and WiFi, In Industrial Electronics Society, 2007, IECON 2007, 33rd Annual Conference of the IEEE (pp. 46-51), incorporated herein by reference in its entirety.
Clustering of wireless devices has been widely investigated by the research community with different objectives. Energy efficiency is essential for wireless sensors due to their limited batteries. LEACH is one of the earliest and well known algorithms for saving energy for wireless sensor networks. See W. B. Heinzelman, A. P. Chandrakasan, and H. Balakrishnan, An application-specific protocol architecture for wireless microsensor networks, IEEE Transactions on wireless communications, vol. 1, no. 4, pp. 660670, 2002, incorporated herein by reference in its entirety. In LEACH cluster heads gather data from regular nodes, aggregates the data then sends the data to the sink. To balance the load among cluster nodes, the cluster head role is rotated periodically based on a priority values randomly generated and assigned to each member in the cluster. However, the randomization to rotate the cluster head cannot assure fairness in load balancing among cluster nodes especially with mobile networks which were not considered in the protocol design. Another variation of LEACH was introduced in Zhixiang et al. called TL-LEACH. See D. Zhixiang and Q. Bensheng, Three-layered routing protocol for wsn based on leach algorithm, 2007, incorporated herein by reference in its entirety. The method describes a hierarchical approach with three layers. First layer consists of the regular nodes while a second layer for cluster heads that aggregate data from regular nodes. Nodes with higher battery levels are selected for the third layer. Nodes in the third layer act as relays between the cluster head and the sink. This algorithm outperforms the original LEACH in terms of the energy saving. An enhancement to TL-LEACH algorithm includes a centralized optimization model for selecting the third layer nodes. The fuzzy c-means algorithm is used to minimize the overall distance between nodes and their cluster head and subsequently increase the communication energy efficiency. Another enhancement to LEACH supports multi-hop clustering and reduces the power consumption by including new rules for CH selection and rotation. A multi-hop model is used based on leveling and generic routing. Most of the known aforementioned methods do not consider node mobility after clustering.
Clustering of mobile nodes has posed new challenges in terms of connectivity and energy efficiency. A number of clustering protocols have been proposed to support node mobility. One of the earliest protocols that support node mobility is LEACH-M protocol which is a modified version of LEACH. The protocol includes using a membership declaration to confirm the enrolment of sensor nodes in a specific cluster. If a sensor node did not receive a request from its cluster head during two consecutive frames, it assumes that it has moved out of the cluster head communication range. Then, the node broadcasts a request to join a new cluster. LEACHM protocol increases the packet delivery rate but it also increases the control massages overhead. Another approach includes selecting a cluster head a node with less mobility relative to its neighbors. The node with minimum mobility in a group is more likely to be chosen as a cluster head. A cluster based routing CBR-Mobile protocol for mobile sensor nodes has been proposed in Awwad et al. See S. A. Awwad, C. K. Ng, N. K. Noordin, and M. F. A. Rasid, Cluster based routing protocol for mobile nodes in wireless sensor network, Wireless Personal Communications, vol. 61, no. 2, pp. 251281, 2011, incorporated herein by reference in its entirety. The CBR-Mobile is an adaptive TDMA scheduling protocol that can reassign time slot adaptively according to the mobility and traffic conditions in the network. CBR-Mobile is a cross layer protocol where the cluster based routing cooperates with the MAC layer to support the node mobility. CBR-Mobile can improve the packet delivery ratio but with the cost of increasing the control messages overhead. Another approach, HEED uses a vector of metrics for choosing CH such as residual energy and within cluster communication cost. See O. Younis and S. Fahmy, Heed: a hybrid, energy-efficient, distributed clustering approach for ad hoc sensor networks, IEEE Transactions on mobile computing, vol. 3, no. 4, pp. 366379, 2004, incorporated herein by reference in its entirety. The cluster head role is not randomly rotated like LEACH but according to battery level of each node which assures a longer lifetime for the network. However, HEED considers prolonging the network lifetime and overlooks the fairness among nodes which make it more suitable for scenarios of group networking where the whole network nodes share the same task. CONET is an energy efficient distributed clustering protocol for mobile devices with multiple communication interfaces. Inter clusters communication is performed via Bluetooth and cluster heads represent gateways between the cluster members and the WiFi access point. Only CH enables its WiFi which saves energy for rest of the cluster members. Selection of the cluster head depends on the bandwidth requirements and the energy saving ratio. To force fairness and load balancing every regular node set a timer when joining a cluster. RN disconnect from the cluster when the timer expires. An extension to CONET has been introduced in Mishra et al. proposing three cost metrics for clustering: the residual energy, WiFi physical data rate and number of mobile stations expected to cooperate. See N. Mishra, K. Chebrolu, B. Raman, and A. Pathak, Wake-on-wlan, in Proceedings of the 15th international conference on World Wide Web, A C M, 2006, pp. 761769, incorporated herein by reference in its entirety.
However, it has always been a challenging task to increase the energy saving in a system that includes mobile devices. Accordingly, what is needed, as recognized by the present inventor, is a method for tracking an object that minimizes the usage of long-range transmitters.
The foregoing “Background” description is for the purpose of generally presenting the context of the disclosure. Work of the inventor, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present invention.
The present disclosure relates to a system for tracking an object using electronic devices are provided. The system includes a plurality of electronic devices and a server. Each electronic device includes a short-range transmitter, a long-range transmitter, and processing circuitry. The processing circuitry of the electronic device is configured to broadcast data via the short-range transmitter, the data including a clustering cost, identify as a regular node or a cluster head for a cluster based on at least the clustering cost associated with each of the electronic devices, transmit location data to the cluster head using the short-range transmitter when the electronic device is identified as the regular node, and transmit gathered location data to a server using the long-range transmitter when the electronic device is the cluster head, the gathered location data including the location data received from other electronic devices in the cluster. The server is configured to identify the cluster of electronic devices, identify the cluster head for the cluster, determine a position of the cluster head using data received via the long-range transmitter of the cluster head, determine a position of each electronic device within the cluster using the gathered location data and the position of the cluster head, and store the position of each electronic device in a database of the server.
The present disclosure also relates to an electronic device. The electronic device includes a short-range transmitter, a long-range transmitter, and processing circuitry. The electronic device is configured to broadcast data via the short-range transmitter, the data including a clustering cost, determine whether a join request is received from another electronic device to form a cluster, accept the join request when a bandwidth associated with the electronic device is greater than a predetermined threshold, receive location data from the another electronic device, transmit the location data to a server using the long-range transmitter. The present disclosure also relates to a method for tracking an object using electronic devices. The method includes broadcasting data via a short-range transmitter of an electronic device, the data including a clustering cost; determining whether a join request is received from another electronic device to form a cluster; accepting the join request when a bandwidth associated with the electronic device is greater than a predetermined threshold; receiving location data from the another electronic device; and transmitting the location data to a server using a long-range transmitter of the electronic device.
A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
The terms “a” or “an”, as used herein, are defined as one or more than one. The term “plurality”, as used herein, is defined as two or more than two. The term “another”, as used herein, is defined as at least a second or more. The terms “including” and/or “having”, as used herein, are defined as comprising (i.e., open language). The term “coupled”, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically.
Reference throughout this document to “one embodiment”, “certain embodiments”, “an embodiment”, “an implementation”, “an example” or similar terms means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of such phrases or in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments without limitation.
The term “or” as used herein is to be interpreted as an inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout several views, the following description relates to a cooperative energy efficient tracking (CEET) system and associated methodology based on electronic devices (e.g., smartphones) clustering where neighboring electronic devices form a cluster and cooperatively perform the tracking task. Cluster members share the task of positioning. A single electronic device performs positioning to determine positioning information and then shares the positioning information with the rest of its cluster members, instead of making each electronic device do the positioning operations individually.
In one implementation, the electronic devices include smartphones equipped with class 2 Bluetooth device transmitters which can communicate effectively within 10 meters range. This assures a positioning accuracy with error up to 10 meters in addition to the positioning error resulting from global positioning system (GPS). This range of error is acceptable for many tracking applications. In addition to the energy saved from positioning, a significant amount of energy can be saved from communication. Cluster members reside within small areas, so communication within clusters can be done using short range radio interfaces that consumes low power such as Bluetooth. Communication within a cluster is done via Bluetooth. So a cluster is considered as a Bluetooth Personal Area Network. A Cluster is composed of one cluster head (CH) and regular members. CH acts as a gateway between the cluster regular nodes (RNs) and the WiFi access point via Bluetooth. The low-power transmitter such as Bluetooth is used for all cluster configuration messages such as broadcasting and cluster construction. CHs are also carrying out the positioning process as described further below.
The CEET methodology described herein doesn't require any modifications in the manufacturing equipment. Each user may download an application to be installed on the electronic device associated with the user. The application, from the user point of view, is responsible of positioning and reporting the tracking information to a server. In addition to the mobile application, a server side application is responsible of processing the tracking information received from users as described further below.
The clustering problem is modeled as a mix integer programming (MIP) problem and solved using a general algebraic modeling system (GAMS) to obtain the optimal cluster construction that minimizes energy consumption as described further below. See GAMS Development Corporation, General Algebraic Modeling System, Release 24.2.1, Washington, DC, USA, 2013, incorporated herein by reference in its entirety.
The number of electronic devices 108, the number of clusters 104, and the number of electronic devices within a cluster 104 as shown in
The electronic device 108 includes a smartphone, a tablet, a laptop, a smart watch, and the like. The electronic device 108 includes a processor or a controller. The processor may be implemented using any type of electronic or other circuitry which is configured to perform the method described herein such as the cluster head selection. The controller may include integrated circuitry such as controllers, microprocessors, digital signal processors, application specific integrated circuits, field programmable gate array, and any associated memory. Further, the electronic device 108 includes an energy source (e.g., battery). The energy source may be replaceable or rechargeable.
The electronic device 108 is equipped with at least two communications modules. A first communication module consumes low power and has a short communication range. A second communication module consumes high power and has a long communication range. For example, the electronic device 108 includes a short-range transmitter and a long-range transmitter.
In one implementation, the electronic devices are equipped with Bluetooth, WLAN/mobile data and GPS. Each node has an access to the Internet either through a WLAN access point or through cellular networks. Participants associated with the electronic devices 108 often move, the clustering method described herein provide seamless hand off from one cluster to another. In one implementation, all electronic devices have the same Bluetooth range.
The base station 110 is one or more base stations. The base station 110 communicates with the cluster heads 106 (e.g., 106a, 106b, 106c) using the second communication method (i.e., the long range transmitter). Further, the base station 110 communicates with the server 102.
The server 102 represents one or more servers 102 that receive the location of the one or more electronic devices 108 via the base station 110.
Algorithm 1 is a pseudo code that represents the clustering operations described herein.
Cluster head advertisement: When a node is booted up, the node announces itself as a cluster head and the node broadcasts information about itself like the available bandwidth, current cost, location information, ID and network address. Initially, the reciprocal value of the electronic device battery level is considered as the clustering cost value. Since the node is just booted up, the node is not connected to regular nodes. The node corresponds to a trivial cluster head. The node waits for receiving join requests and checking for neighboring CHs, simultaneously.
Non-trivial cluster heads (cluster heads that have connected regular nodes within the cluster) announce the CH timer instead of clustering cost. CHs with higher timers are more likely to be selected by other nodes because the nodes then spend more time as regular nodes, thus, save more energy. CH stops advertising when a maximum allowed number of RNs connected to the CH is reached.
Nodes advertise their resources through the short-range transmitter (e.g., Bluetooth) and they keep broadcasting as long as they are cluster heads. Once a node is admitted as a regular node to a cluster, it stops advertising and starts to forward its tracking information through the short-range transmitter to the cluster head.
Cluster Head Selection: If a CH has no RNs in the cluster (trivial CH), neither receives a join request, it tries to find a neighboring CH to connect to. The processing circuitry of the electronic device acting as a CH selects the CH with highest CH timer provided that it has sufficient bandwidth. Choosing a CH with higher timer assures that the node can stay a longer time as a RN therefore reduce the number of hand offs and increase the energy efficiency. If there is no nearby CHs, the processing circuitry of the node selects next trivial CH with the lowest clustering cost. If the processing circuitry of a node selects a CH, the processing circuitry sends a join request via the short-range transmitter. If the node is accepted, the node becomes a regular node in the cluster. If the node receives a reject or does not receive an acceptance within a predetermined period (e.g., 3 minutes), the node tries to join the next CH following the same procedure. The node keeps its role as CH as long as it does not receive an acceptance message.
CH checks always number of RNs in its cluster. If there is at least one node, it keeps its role as a CH. If it receives a join request, it accepts the join request as long as it has sufficient bandwidth and the number of connected nodes is less than the maximum allowed number of slaves in piconet. If a trivial cluster head receives a join request and accepts it, it set a timer to define the time it will serve as a cluster head. It accepts join requests as long as it is in the cluster head role.
Role switching: To balance the energy saving among all nodes in the network, it is important to rotate the CH role routinely among all nodes. When a node (trivial cluster head) is selected as a cluster head, it starts a timer for a predefined period. When the timer expires, it disconnects from all connected regular nodes in its cluster as shown in
Connection loss: Besides the RN timer expiration, there are other reasons to disconnect from a cluster such as connection loss. The cluster head may become unreachable due to its mobility or the mobility of the regular node itself. If a regular node becomes outside the range of the short range communication method of the cluster head, the regular node hands off and starts the procedure of finding next cluster head. The connection loss may also occur due to the failure of the cluster head itself such us switching off the short range communication method or switching off the electronic device.
Bandwidth Requirements: The data rate may be constant. The electronic devices collect small amount of data from health sensors and report it periodically (i.e., 30 seconds). This corresponds to small number of bytes per second which can be satisfied by the cluster head all the time. The data rate may be also a variable data rate. Thus, as the data rate is changing over time, the bandwidth requirements of all regular nodes is satisfied all the time by the cluster head. A regular node is disconnected from the cluster in response to determining that the cluster head cannot serve its bandwidth. The regular node may determine that the cluster head cannot serve its bandwidth based on information received from the cluster head. Additionally or alternatively the cluster head can determine whether the cluster head has enough bandwidth for the regular node.
Power Consumption Formulation: The system and method described herein minimizes the energy used by the electronic devices for tracking purpose. The energy saving is fair for all participating smartphones. The clustering algorithm described herein shares the task of localization and communication among nodes within every cluster. The goal of the clustering method is to find the optimal selection of the cluster head and normal members for each cluster, with goal of minimizing tracking energy. Thus, the tracking power is used as the cost function. The cost function is approximately equal for all participating smartphones as much as possible.
In one implementation, the electronic device is a smartphone that starts to cooperate at time 0, its role as a cluster head or a regular member can be determined depending on usage history of its resources. To compute the cost of node (i) at time (t), the energy consumption history of node (i) is considered. For that the cumulative amount of energy used by the node since its participation is used. The cost of node (i) at time (t) is the cumulative power from time 0 to time (t) divided by the expected power used to achieve the task in the traditional way (GPS and WiFi) for the same period. Therefore, the costi(t) can be expressed as follows:
where PiCEET represents the power consumption by node (i) when running CEET protocol and Pitrd represents the expected power that would be used by node (i) through the traditional way for positioning and communication. In the traditional approach, the power needed is the GPS power and WiFi power. Therefore, Pitrd can be defined as follows:
where Piw represents WiFi power to transmit local data (ri) of node (i) and PiG represents GPS of node (i). Piw is defined as follows:
Similarly the Bluetooth power (PiB) to transmit ri may be calculated as follows:
PiW
The following equation represents the cumulative energy:
E
i
new
=E
i
old
+P
i
CEET (5)
PiCEET depends on the current role of the node whether it is a regular node or a cluster head. If node i current role is RN, then PiCEET is equal to PiB where PiB denotes the Bluetooth power to forward node i local data to its cluster head. If node (i) is a cluster head, then current PiCEET can be defined as follows:
Pjfrwd represents the power needed by CH i to forward data of node j which is a regular node in the same cluster. The following equation defines the Pjfrwd:
RiB and Riw represent the maximum transmission rate for Bluetooth and WiFi of node i. rjRi
represents the actual CH (i) power to receive data from node (j) through Bluetooth. Similarly
is the CH i WiFi power to forward same data.
Let S=1 . . . N be the set of nodes (electronic devices). C, denotes the clustering cost for node (i) which is defined in equation 1. FreeBWi is the available bandwidth. k is the maximum number of regular nodes in a cluster (Bluetooth slaves in a piconet). Dij indicates if node i and j are within the Bluetooth range of each other.
Then, the binary decision variables may be defined as:
The method described herein reduces the tracking power consumption for all nodes in the network. Therefore, the objective function is selected as the total power consumption of the whole network. The output of the optimization model described herein is an optimal construction of cluster in terms of power consumption, specifying the CH for each cluster. The method reduces the number of nodes that are not connected to any cluster. The system may be modeled as:
Subject to:
The objective function (9a) aims at minimizing the total consumption power for the whole network. The first term of the equation represents the tracking power for a node in a regular node (RN) role. It takes into account the power of the node itself to send its data to the CH via Bluetooth and the power needed by its CH to forward its data. The GPS power is neglected since RN switch off their GPS. The second term of the equation defines the tracking power of the node in CH role. The second term includes GPS power, WiFi power to transmit local data rate and the power of Bluetooth. Power to forward data of other RNs in the cluster, are determined by the first term.
Equations from (9b) to (9g) represent the problem constraints. Equation (9b) guarantees that a cluster head can only admit new members with higher cost to assure that a CH can only serve nodes that had shared their resources before, hence, enhance fairness in energy saving for all nodes. While equation (9c) ensures that all nodes are either a CH or a regular node. Equation (9d) ensures that every node is connected to one CH at most. The node should not connected to more than one CH or it should be a CH itself. Equation (9e) specifies the maximum number of nodes in a cluster, since the cluster is a Bluetooth local area network (piconet). In one implementation the Bluetooth local area network is limited to one master and seven slaves. Equation (9f) is the bandwidth requirement. CH must satisfy the bandwidth requirements of all nodes in its cluster and it can't accept new RN if it doesn't have sufficient bandwidth to serve it. Finally, constraint (9g) assures that every cluster head is reachable by all nodes in its cluster.
At step 502, the server 102 may identify a cluster of electronic devices.
At step 504, the server 102 identifies the cluster head of the cluster. For example, the server 102 determines that an electronic device is a cluster head in response to receiving data or information from the electronic device via the base station. The cluster head is determined as described previously herein. The battery level of each electronic device may be advertised as the cost. In addition, the cost may further include an expected recharge time (i.e., the time when the battery is to be recharged). For example, a user may indicate the expected recharge time using an interface of the application downloaded to the electronic device.
In one implementation, the electronic device may determine the expected recharge time based on a past data (i.e., collected history). For example, the processing circuitry may track and store the time and day when the user recharges the electronic device (e.g., determine that the user recharge the battery at 2 PM every day). The cost may include the expected recharge time. For example, if two electronic devices have the same battery level, the electronic device with the nearest expected recharge time may be selected as the cluster head. In other embodiments, the expected recharge time may be a factor in the broadcasted cost. For example, each electronic device may calculate the cost including a current battery level and the expected time of recharge. For example, the expected recharge time may be worth 10% of the cost. In one implementation, the expected recharge time may be mapped to a predetermined numerical value (e.g., stored in a database or a memory of the electronic device). For example, if the expected recharge time is in less than one hour. The numerical value may be −1. If the expected recharge time is between one hour and two hours, the numerical value may be zero. If the expected recharge time is more than two hours, the numerical value may be equal to one.
At step 506, the server 102 determines a position of the cluster head. The server 102 may determine the position of the cluster head using the long range transmitter of the cluster head.
At step 508, the server 102 determines a position of each electronic device within the cluster other than the cluster head using data from the short-range transmitter of the electronic device received by the cluster head and the position of the cluster head. For example, the cluster head may receive the data from each electronic device via the short range transmitter then the cluster head transmits the data to the server 102.
In one implementation, the server 102 may track the electronic device. For example, the server 102 may store the position of the electronic device and associated time and date in the database (e.g., cloud database).
Actual power consumption in the system may be tracked. The weight of the cluster cost may be adjusted based on the actual power consumption and the consumption for an optimal model as described previously herein.
The electronic device 108 may contain hardware similar to that illustrated in
Although the flow charts show specific orders of executing functional logic blocks, the order of executing the block blocks may be changed relative to the order shown, as will be understood by one of ordinary skill in the art. Also, two or more blocks shown in succession may be executed concurrently or with partial concurrence.
To illustrate the capabilities of the method described herein, exemplary results are presented.
The system and method described herein are evaluated using simulation and through physical implementations of a CEET smartphone application. First, the evaluation through simulation is described and compared to the optimal solution obtained from the optimization model. Then, the performance evaluation of the CEET smartphone application is described.
In one example, the method for tracking described herein is evaluated through simulation experiments using the computational tool MATLAB. All nodes are equipped with WiFi, Bluetooth and GPS modules. All nodes have access to a WiFi access point. All nodes are deployed in an outdoor field and all of them have an access to GPS signals. Power consumption values, used in the simulation, are specified in table 1. These values are real-world values obtained from the power profiles in Android developer guide.
The mobility of the nodes follows the random waypoint model. In one example, all nodes are uniformly spread into 50*50 meters field. Each node starts at a random location and chooses its next destination randomly. The node moves to its destination with a speed selected randomly between 0.5 and 2 m/s with a pause interval between 30 and 60 seconds. The traffic model used in the simulation is constant bit rate (CBR) traffic model. Each node generates random data rate between 0 and 1 mbps. This data rate lasts for a random period between 0 and 120 seconds then it generates another random data rate and it lasts for another random period and so on. The simulation lasts for 30 minutes unless it is explicitly specified.
Evaluation of Cluster Construction
The optimal solution is based on finding the optimal construction of clusters in terms of energy consumption. The method may model the system as a mixed Integer Programming problem. The model may be implemented using a GAMS solver. GAMS is a high-level modeling system for mathematical optimization which is designed for modeling and solving different range of optimization problems. It is worth to note that GAMS has limitations which makes it inconvenient to use GAMS for large networks (nodes >800 nodes). Different network densities 100, 200, 400 and 800 are used. Values of objective function provided by GAMS and the average consumed energy values resulting from the method described herein are compared.
Trace 704 and Trace 706 show a huge power reduction (about 70% drop when there are 100 nodes in the field and about 75% drop when more than 200 exist) in both CEET and the optimization model comparing to the traditional approach (Trace 702).
Cluster sizes shown in
Evaluation of Power Consumption
The performance results of CEET compared to CONET, the traditional approach and the random CH selection approach (Random) are discussed next. In the traditional approach each node is working individually using its own WiFi and GPS for tracking. CEET, CONET and Random are using clustering for sharing the tracking task. However, both CEET and CONET define a cost function that is used as a base for selecting the CH. On the other hand, Random used probability values randomly generated and assigned to nodes to be used for selecting CH without considering any other metric.
Trace 1402 shows the average racking energy per node for the system using a traditional approach. Trace 1401 shows the average racking energy per node for the system using the method described herein. Although CEET requires additional power for the Bluetooth, but it still outperforms the traditional approach because all regular nodes save the GPS power since GPS is off all the time they are in the regular node rule.
Fairness and load balancing Fairness is very important performance measure that should be addressed in a cooperative approach. The fairness of battery saving depends on the clustering scheme used and the role switching time.
The Jain fairness index is defined as follow:
A larger value of Jain's index represents a fairer energy saving for all nodes.
Trace 1702 shows the average racking energy per node for the system using CONET. Trace 1704 shows the average racking energy per node for the system using random CH selection. Trace 1706 shows the average racking energy per node for the system using the method described herein.
Both CEET and CONET outperform the random CH selection approach in term of fairness for a fixed experiment time of 30 minutes as shown in
In one implementation, the functions and processes of the server 102 may be implemented by a computer 2026. Next, a hardware description of the computer 2026 according to exemplary embodiments is described with reference to
Further, the claimed advancements may be provided as a utility application, background daemon, or component of an operating system, or combination thereof, executing in conjunction with CPU 900 and an operating system such as Microsoft® Windows®, UNIX®, Oracle® Solaris, LINUX®, Apple macOS® and other systems known to those skilled in the art.
In order to achieve the computer 2026, the hardware elements may be realized by various circuitry elements, known to those skilled in the art. For example, CPU 2000 may be a Xenon® or Core® processor from Intel Corporation of America or an Opteron® processor from AMD of America, or may be other processor types that would be recognized by one of ordinary skill in the art. Alternatively, the CPU 2000 may be implemented on an FPGA, ASIC, PLD or using discrete logic circuits, as one of ordinary skill in the art would recognize. Further, C P U 2000 may be implemented as multiple processors cooperatively working in parallel to perform the instructions of the inventive processes described above.
The computer 2026 in
The computer 2026 further includes a display controller 2008, such as a NVIDIA® GeForce® GTX or Quadro® graphics adaptor from NVIDIA Corporation of America for interfacing with display 2010, such as a Hewlett Packard® HPL2445w LCD monitor. A general purpose I/O interface 2012 interfaces with a keyboard and/or mouse 2014 as well as an optional touch screen panel 2016 on or separate from display 2010. General purpose I/O interface also connects to a variety of peripherals 2018 including printers and scanners, such as an OfficeJet® or DeskJet® from Hewlett Packard®.
The general purpose storage controller 2020 connects the storage medium disk 2004 with communication bus 2022, which may be an ISA, EISA, VESA, PCI, or similar, for interconnecting all of the components of the computer 2026. A description of the general features and functionality of the display 2010, keyboard and/or mouse 2014, as well as the display controller 2008, storage controller 2020, network controller 2006, and general purpose I/O interface 2012 is omitted herein for brevity as these features are known.
Numerous modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.
Thus, the foregoing discussion discloses and describes merely exemplary embodiments of the present invention. As will be understood by those skilled in the art, the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting of the scope of the invention, as well as other claims. The disclosure, including any readily discernible variants of the teachings herein, defines, in part, the scope of the foregoing claim terminology such that no inventive subject matter is dedicated to the public.