ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
Contents lists available at ScienceDirect
ISA Transactions journal homepage: www.elsevier.com/locate/isatrans
Sensor grid resource management: Model and implementation issues Li Chunlina,b,n, Li LaYuana a b
Department of Computer Science, Wuhan University of Technology, Wuhan 430063, PR China State Key Laboratory of Software Development Environment, Beihang University, Beijing 100191, China
art ic l e i nf o
a b s t r a c t
Article history: Received 27 June 2012 Received in revised form 31 August 2013 Accepted 29 April 2014
This paper studies optimal sensor resource management in sensor grids. We formalize the problem using nonlinear optimization theory, which incorporates sensor resource constraint, energy, and expense budget. The paper also presents a pricing-based iterative algorithm for sensor management which balances the sensor user' QoS requirements to achieve a sensor system optimization based on the preference of the sensor service users. The paper discusses implementation issues of sensor management. Simulations reveal that the proposed sensor management algorithms can obtain better performance than a previous approach. & 2014 ISA. Published by Elsevier Ltd. All rights reserved.
Keywords: Sensor network Grid computing Sensor grid
1. Introduction A grid computing paradigm can be extended to include the sharing of sensor resources in a sensor network [1]. Sensor grids extend the grid computing paradigm to the sharing of sensor resources in wireless sensor networks. A ensor grid may combine real time data about the physical environment with vast computational resources derived from the grid architecture. By combining the complementary strengths of sensor networks and grid computing, sensor grids can support applications that require real-time information from the physical environment and a vast amount of computational and storage resources. Examples for these include environment monitoring with prediction and early warning of natural disasters, and missile detection, tracking and interception. One of the major challenges in the design of the sensor grid is how to efficiently schedule sensor resources to user jobs across the collection of sensor resources in a sensor grid [2–5]. The data for these distributed sensor services come from small devices capable of sensing physical phenomena, performing computing tasks, and communicating their results to other devices; these sensing devices formed by wireless sensor networks can be integrated into a grid environment [12,13]. Sensor devices such as video cameras, infrared sensors and microphones are being widely exploited in grid applications. For example, these are applications used in surveillance cameras in stores or fixed point cameras showing traffic flow, but the sensor data are available only to the respective owners and selected employees. A sense grid is used to enable people to share sensors in a wide-area network. The goal of
the sensor grid is to allow people to access actual sensor data in the same way that they access the traditional grid environment. There are mainly two approaches for sensor grid deployment: the centralized approach and the distributed approach [14]. In the centralized one, sensor nodes and sensor networks are connected directly to the grid. High-speed communication links are necessary for this approach where all computational tasks take place on the grid. The main drawback of this approach is the fact that it leads to excessive communication among the nodes which rapidly depletes the batteries resulting in network partitioning, a rather undesirable choice. The distributed approach is a more robust and efficient technique since it allows all computational and decisionmaking jobs to be performed within the sensor network according to its resources and capabilities [17]. The contribution of this paper is as follows. This paper studies sensor management in sensor grids. We formalize sensor management using the nonlinear optimization theory, which incorporates sensor service constraint, energy, and expense budget. The paper also presents a pricing-based iterative algorithm. Simulations reveal that the proposed sensor management algorithms can obtain better performance than the previous approach. The paper also discusses implementation issues of the sensor grid service. The rest of the paper is structured as follows: Section 2 discusses the related work. Section 3 presents optimal sensor resource management in sensor grids. Section 4 discusses implementation issues of sensor management. In Section 5 experiments are conducted and discussed. Section 6 gives the conclusions of the paper. 2. Related work
n
Corresponding author. E-mail addresses:
[email protected] (C. Li),
[email protected] (L. Li).
There are some bodies of work aimed at studying the sensor grid system and resource management. Fox et al. [6] proposed a
http://dx.doi.org/10.1016/j.isatra.2014.04.009 0019-0578/& 2014 ISA. Published by Elsevier Ltd. All rights reserved.
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i
C. Li, L. Li / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
2
collaborative sensor grid framework to support the integration of a sensor grid with collaboration and other grids. The framework includes a grid builder tool for discovering and managing grid services and remote, distributed sensors. It provides a real-time collaborative client to enable distributed stakeholders to have a consistent view of the displayed sensor streams. The authors illustrated the versatility of the framework by constructing a robot-based customizable application for shared situational awareness. Based on the semantics-based service-oriented model, Lim et al. [7] aimed to build large-scale sensor grid infrastructure that could seamlessly integrate heterogeneous sensor resources from different projects distributed across a wide geographical area. Lu et al. [8] introduced the concept of an Internet-based Virtual Computing Environment (iVCE), which aims to provide Cloud services using a dynamic combination of data centers and other multi-scale computing resources on the Internet. Rao et al. [9] identified service requirements for the sensor grid to efficiently process data using grid technology and also proposed an end-toend adaptive and reconfigurable resource manager for wireless sensors using grid technology to enable resource constrained sensor nodes to connect with the grid. Avil0 es-L0 opez et al. [10] proposed TinySOA, a service-oriented architecture that allows programmers to access wireless sensor networks from their applications using a simple service-oriented API via the language of their choice. YuJie et al. [11] described the architecture of a wireless sensor grid and also designed a connecting platform named MPAS. The advantage of MPAS is that it is based on the Web service resource framework, with the ability to integrate multiple sensor networks with the grid; also it can actuate the sensor network and support interoperability among multiple sensor networks. Li et al. [15] proposed Armada, an efficient range query processing scheme, to support delay-bounded single-attribute and multiple-attribute range queries.
3. Sensor grid resource management 3.1. Model formulation Given below are the notations used in the following sections: sji : the sensor service allocated to sensor grid applications i by sensor service provider j Ei : the limited energy budget of sensor grid application i Bi : the expense budget of sensor grid application i eni : the energy dissipation caused by sensor grid application i's nth job Scj : the capacity of sensor service provider j erni : the energy consumption rate t ni : the time taken by the ith sensor grid application to complete nth job T i : the time limits given by the ith sensor grid application to complete all jobs uji : the money paid to the sensor service provider j by sensor grid application i qni : the size of the sensor grid user's nth job pj : the price of the sensor service provided sensor service provider j. There is an inherent conflict in the design goals for balancing all QoS factors of the sensor grid. In modeling the QoS requirements of the sensor grid user, each sensor grid user is assumed to associate a number of QoS requirements with its sensor grid user. Each qli is a finite set of quality choices for the ith sensor grid user’s lth QoS dimension; let M denote the number of QoS requirements of the sensor grid user i. q1i ; q2i ; …; qM represents the QoS dimensions i
associated with the sensor grid user i. qi ¼ ½q1i …qM i defines an M dimensional space of the QoS choices of the sensor grid user i. Associated with each QoS dimension is a utility function, which defines the sensor grid user's benefit in choosing certain value of QoS choices in that dimension. Formally, the utility function associated with the lth QoS dimension of the sensor grid user i is U li ðqli Þ. Onedimensional utility functions can express sensor grid user’ benefits in individual QoS dimensions, but multi-dimensional QoS requirements are used to evaluate the overall benefits of the sensor grid users. Multi-dimensional QoS requirements can be formulated as a sum of each dimensional QoS utility function. The utility function associated with the sensor grid user application i is denoted by U i ðqi Þ; the function U i ðqi Þ can be defined as the sum of U li ðqli Þ. The utility of the sensor grid system U system is defined as the sum of sensor grid user utilities. We formalize sensor management using the nonlinear optimization theory, which incorporates expense budget, energy budget and a deadline. ð3:1Þ
MaxU system Subject to N
Scj Z ∑ sji i
∑ eni r Ei
n¼1
Bi Z∑ uji j
N
T i Z ∑ t ni n¼1
Eq. (3.1) is the sensor grid system utility maximization formulation. The utility is defined as the sum of utilities for all sensor grid applications. The overhead cost accrued to complete sensor jobs cannot exceed the expense budget Bi . The time for completing all jobs of the sensor grid application i cannot exceed the deadline T i . The total energy consumed by all jobs of the sensor grid user i cannot exceed the energy budget Ei . The aggregate sensor service units do not exceed the total sensor service Scj . The energy consumption rate of each sensor node in the system is measured by Joule per unit time. Let eni be energy dissipation caused by sensor service user i's nth job and t ni be the execution time of job n on the sensor grid node. We denote the energy consumption rate of the sensor node when it is active by er ni . It is assumed that there is a limited energy budget for the sensor service user i in the system, denoted by Ei . Let us consider the Lagrangian form of an energy constraint grid resource scheduling optimization problem: Lðλi ; βi ; ϕi ; γ i Þ ¼ ∑ U i λi ð∑ uji Bi Þ i
j
βi ð∑ t ni T i Þ ϕi ð∑ eni Ei Þ γ i ð∑ sji SC j Þ n
n
ð3:2Þ
i
where λi , βi , and γ i are the Lagrangian multipliers of the sensor grid application i. Thus, given that the sensor grid knows the utility functions U i of all sensor grid applications i, this optimization problem can be mathematically tractable. However, in practice, it is not likely to know all the U i , and it is also infeasible for the sensor grid environment to compute and allocate sensor services in a centralized fashion. Solving the objective function MaxU system requires global coordination of all the sensor grid applications, which is impractical in a distributed environment such as the sensor grid. The system model presented in (3.1) is a nonlinear optimization problem with N decision variables. The sensor service allocation solves problem (3.1) if and only if there exists a set of non-negative shadow costs fγ i g. In order to reduce the computational complexity, we decompose the utility optimization problem (3.1) into two
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i
C. Li, L. Li / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
sub-problems for sensor service users and sensor service providers. The shadow costs suggest a mechanism to distribute the sensor service optimization between the sensor service users and the sensor grid. We consider the Lagrangian multipliers γ i to be the prices charged by the sensor service providers in the sensor grid service market. By decomposing the Kuhn–Tucker conditions into separate roles of consumer and supplier at the sensor grid service market, the centralized problem (3.1) can be transformed into a distributed problem. The sensor service user's payment is collected by the sensor service providers. The payments of the sensor service users, paid to the sensor service providers, are the payments to resolve the optimality of the sensor service allocation in the sensor grid service market. We decompose the problem into the following two sub-problems: (3.3) which is a sensor service application QoS optimization problem and (3.4) which is a sensor service providers’ optimization problem seek a distributed solution where the sensor service provider does not need to know the utility functions of the individual sensor service user. Two subproblems of original maximization problem correspond to the sensor service user QoS optimization problem as denoted by (3.3) ( ) N
SU ¼ Max ðBi ∑ uji Þ þ Ei ∑ eni n¼1
j
N
N
n¼1
n¼1
s:t T i Z ∑ t ni ; Ei Z ∑ eni
ð3:3Þ
and the sensor service providers' optimization problem as denoted by (3.4)
The sensor service user optimization problem is conducted at the application layer; the sensor service user gives a unique optimal payment to the sensor service provider under deadline constraint and energy constraint to maximize the sensor service user’s satisfaction. In (3.3), qin is the service requirement of user application i's nth job. Let pj denote the unit price of the sensor service provider j. Let the pricing policy, p ¼ ðp1 ; p2 ; …; pj Þ, denote the set of sensor service prices of all the sensor providers at the sensor layer. The sensor service user i receives services proportional to its payment relative to the sum of the sensor service provider's revenue. Let sji be the service allocated to the sensor service user i by the sensor provider j. The service sji allocated to the sensor service user i is sji ¼ Scj
uji pj
The time taken by the ith sensor service user to complete nth job is t ni ¼ qin pj =Scj uji . We reformulate the sensor service user optimization problem as ( !) N er n q p i in j Max ðBi ∑ uji Þ þ Ei ∑ j n ¼ 1 Scj ui j The Lagrangian for the sensor service user's utility is Lðuji Þ ! N er n q p N j j i in j þ λ Ei ∑ eni Lðui Þ ¼ ðBi ∑ ui Þ þ Ei ∑ j n ¼ 1 Scj ui n¼1 j We obtain
SP ¼ Max∑uji ðlog sji þ 1Þ s:t: Scj Z ∑ sji
3
ð3:4Þ
i
In (3.3), the sensor grid user optimization problem is conducted at the sensor user layer; the sensor service user gives a unique optimal payment to the sensor service provider under deadline constraint and energy constraint to maximize the sensor service user’s satisfaction. ðBi ∑j uji Þ represents the money surplus of the sensor service user, which is obtained by budgets subtracting the payments to the sensor service providers. qin is the total service requirement of the sensor service user application i's nth job. sji Represents the sensor service allocated to the sensor service user i by the sensor provider j. ðEi ∑n eni Þ represents the energy surplus of the sensor service user which is obtained by the energy budgets subtracting energy dissipation. So, the objective of (3.3) is to get a surplus of money and energy and at the same time complete the jobs for the sensor service user as soon as possible. In (3.4), different sensor service providers compute optimal resource allocation for maximizing their own revenue. The benefits of the sensor service provider are affected by payments of the sensor service users and allocated services. It means that the revenue increases with increases in the allocated sensor services and payment. The objective of the sensor service providers is to maximize uji ðlog sji þ 1Þunder the constraints of their provided service capacity. Sensor service providers cannot sell sensor services of more than sj to a service user, which is the upper limit of service presented by the sensor service providers. Thus, the optimization framework provides a layered approach to the sum utility maximization problem. The sensor service user layer adaptively adjusts a user’s service demand based on the current sensor service conditions, while the service provider adaptively allocates services required by the upper layer. The interaction between the layers is now controlled through the use of the variable γ i , which is the price charged from the sensor service users by the sensor service provider and coordinates the service user demand and supply of the sensor service.
uji n
erni qin pi ¼ Scj
N
1=2 ∑ ðqik pk =er ni Scj Þ1=2 k¼1
Ti
where uji n is the unique optimal solution to the sensor service user optimization problem. It is the optimal payment of the sensor service user i to the sensor service provider j under the completion time constraint to maximize the user’s benefits. The sensor service provider’s optimization problem is conducted at the sensor layer. ∑uji log ðsji þ 1Þ presents the revenue obtained by the sensor service provider j from service users. Grid sensor service provider cannot sell service of more than Scj , which is the upper limit of service capacity. The Lagrangian for SP is L(s) Lðsji Þ ¼ ∑uji log ðsji þ1Þ þ sðScj ∑ sji Þ i
¼ ∑ðuji log ðsji þ 1Þ ssji Þ þ sScj where s is the Lagrangian constant. From the Karush–Kuhn– Tucker theorem we know that the optimal solution is given as ∂LðsÞ=∂s ¼ 0 for λ40. We obtain sji n ¼
uji ðScj þ nÞ ∑nk ¼ 1 ujk
1
where sjin is the unique optimal solution to the sensor service provider's optimization problem. It means that the service providers allocate sjin to a service user to maximize revenue. 3.2. Algorithm description The proposed algorithm decomposes the sensor management problem into a sequence of two sub-problems. The main steps that achieve the sensor management algorithm are described as follows.
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i
C. Li, L. Li / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
4
specification: sensor grid service description and sensor service attribute description.
Algorithm 1. Sensor Service Selection Algorithm (SA) SubAlgorithm 1 1: ujn ’MaxfSUðuj Þg;
4.1. Sensor grid service description
i
i
2: If B Z ∑ uj and ∑N en r E i i n¼1 i i
The sensor grid service manager defines the syntax and semantics for describing the attributes of these sensor services called sensor grid service description. The sensor grid service description is a set of service attributes of abstract definitions. In general, a sensor grid service description consists of zero or more service attributes. There are three classes of sensor grid service descriptions that are used in three contexts:
j
3: Return ujin 4: Else Return Null; SubAlgorithm 2 1: sjn ’MaxfSPðsj ; uj Þg i
i
i
2: If Scj Z ∑ sji
1) Service description is a collection of all the service attributes registered and maintained on a given sensor grid service manager. 2) Request description is a collection of service attributes representing sensor service requirements of a service user agent. It is generated as a result of a service discovery request. 3) Reply description is a union between the local sensor service description and the request description. It is generated as a response to a sensor service discovery request.
i
3: Then 4: pðn þ 1Þ ’max fε; pðnÞ þηð∑ sj Scj Þg; j j i i
þ 1Þ 5: Return pðn ; j 6: Else Return Null;
4. Implementation issues of sensor resource management The main actions involved in sensor grid service management are registry, discovery, and access. There are three processes involved: sensor grid service registry, sensor grid service discovery, and sensor grid service selection. Sensor grid service registry is activated when the sensor service agents register their presence by publishing their sensor service descriptions. Sensor grid service discovery provides a basic mechanism to discover sensor service for service user agents. Sensor grid service selection is used for service user agents to access the located sensor service. A service user agent discovers a sensor service using its service description; access to the sensor service is governed by its service description. Various sensor services can be located with the use of a sensor grid service manager, which reside within the sensor grid. When searching or browsing for a sensor service, the service user agent requires a certain amount of descriptive information in order to decide whether or not the sensor service is useful. If the user agent decides to access the sensor service, then it requires a different set of information to ensure successful operation of the sensor service. All this information can be contained in a sensor grid service description. The sensor grid service description can be divided into several parts. The first part involves the service components in the sensor grid service manager. This part describes the characteristics, constraints, and type of sensor service. The second part is published in the sensor grid service manager to be looked up by the service user agents. There are two types of descriptions defined in the sensor grid service
The sensor grid service description is as illustrated in Fig. 1. A sensor service attribute consists of an Attribute ID field, identifying the type of attribute, a Result field that indicates the result of the comparison and a Value field containing the value of the attribute (see Table 1). The Result field is used in two ways: Attribute in Request Description – This field specifies the type of function that compares the Attribute Value of the Service Description with that of the Request Description. Attribute in reply Service description – This field indicates the result of the comparison. In order to quickly and efficiently process a request query, indexes are used in the sensor grid service attributes’ description. Only attributes that a service user agent will most commonly use in the lookup constraints are indexed. The Indextype field in the Service Attribute allows you to specify the key attributes. Valid values of Indextype include NO_INDEX and INDEX. If the value is INDEX, the sensor grid service registry uses the attribute as an index. Table 2 describes some possible attributes that would be used within a sensor grid service description. Sensor service description contains the following attributes:
Table 1 Sensor service attribute description. Attribute ID
Result
Value
Index type
Sensor Grid Service Description
Sensor reply description
Sensor Service Attribute
Sensor Service Attribute
Sensor Service Attribute
Sensor request description
Sensor Service Attribute
Sensor Service Attribute
Sensor service description
Sensor Service Attribute
Sensor Service Attribute
Sensor Service Attribute
Fig. 1. Sensor grid service description.
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i
C. Li, L. Li / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
5
Table 2 Possible attributes in a sensor grid service description. Description
Access
Interface
URL
Description: describes some features of this sensor service. Access: describes how to invoke and use a sensor service. The
access method fields provide a placeholder for any kind of sensor service invocation schema. A sensor service description may contain multiple access method tags as there could be multiple ways to invoke a sensor service. The intent is for the service user agent to ultimately decide which invocation mechanism to use. Some sensor service agents may want to use an interface of sensor services, some may decide to download a user agent-proxy code, and other service user agents need to migrate to a destination node to access the sensor services locally. Interface: indicates that service user agent can access the sensor service by a standard interface. URL: gives the location of sensor services supplied by a legacy system. Sensor service type: informs the user of the type of sensor service. Properties: Denote a list of properties of the sensor service. An example grid service description is shown in Fig. 3.
Reference
Sensor service type
Properties
often a third party outside the negotiation. Sensor service selection negotiation consists of the following steps: 1) The service user agents request the sensor grid marketplace for admission to the negotiation. If they are accepted, they receive rules specifying how the negotiation takes place. 2) The service user agents submit proposals to the sensor grid marketplace according to the rules of the negotiation received at admission. 3) The sensor grid market manager validates the proposal against the negotiation rules. Every proposal submitted by a participant is checked against previous proposals of the same kind submitted by the same grid participant. 4) If the proposal is valid, the sensor grid market manager forwards the proposal to the intended addressees. During negotiation, the sensor grid marketplace informs the sensor service agents of the current status of the negotiation, either by sending them current proposals or by sending some short messages such as the current “best” proposal (the winner of the auction). 5) After the negotiation is completed, the sensor grid marketplace closes the negotiation locale and determines any final results.
4.2. Comparison of sensor service attribute Given a sensor service description and a request description, the following steps are taken to find out whether the two sensor service descriptions match. If any of the steps indicate MISMATCH, the two sensor service descriptions do not match. 1) For each sensor service attribute in the request description, do the following until MISMATCH is detected or until all service attributes are processed: Firstly, check for the existence of service attributes in the sensor service description. If an Attribute with the same Attribute ID exists in the sensor service description, proceed to the following steps. Otherwise, this sensor service attribute is considered to match, and then continue to the next attribute. The compare function has two arguments: the attributes of the sensor service description and the Request Description. If the comparison is performed and the result of the comparison is FALSE, the two attributes do not match (MISMATCH). 2) If the entire requested attributes match, the two sensor service descriptions match and a reply service description is built. Otherwise, the two sensor service descriptions do not match, and no reply service description is built. 3) If any attribute in the sensor service description has not been compared because the corresponding record does not exist in the request description, the result field is filled with “Attribute Not Requested”.
4.3. Sensor service allocation Sensor service allocation is the process by which the service user agent and sensor service agent interact to reach an agreement through the sensor grid market. After an agreement is reached, the sensor service provider and service user are given a sensor service Approval. There are two main roles in the negotiation: grid participant and grid marketplace. The grid participants include the sensor service users and sensor service providers. The sensor grid marketplace is responsible for enforcing the protocol and rules of negotiation. The marketplace is
The process of sensor service allocation negotiation is shown in Fig. 2. Auction models are proposed as a distributed negotiation mean in our sensor service allocation where both cooperative and selfinterested sensor service agents compete for sensor services. There are several different forms of auction, depending on the number of participants, on the criteria with which the sensor services are assigned, and so on. Auctions basically use the sensor market to negotiate a price for the sensor service. The three roles involved in the auctions are the sensor service agents, auctioneers (marketplace), and service user agents. The auctioneer sets the rules of the auction, acceptable for the sensor service agents and service user agents. The price of the sensor service sold via an auction is not fixed, but it is dynamically determined by the interest of the service user agents. The sensor service agents can set a reserve price, i.e., a price under which it does not want to sell the sensor service. The service user agents can spend time to negotiate the desired sensor services by using the auction mechanisms which seem to fit the dynamic and heterogeneous environments well. In the auction mode negotiation, User Assistant is a type of intelligent agent developed to provide sensor service location support for mobile agents. The sensor service agents and service user agents are mobile agents that act on the behalf of the sensor service providers and sensor service users. The service user agents can provide a query to the User Assistant to find the location of certain sensor services in the sensor grid, and then can go to that location to negotiate with the sensor service agents through the sensor grid market manager. Agent coordination mechanism is based on object-oriented XMLized tuple spaces. This approach permits one to access the selling or buying sensor services in a simple and uniform way, so the sensor service agents and service user agents can communicate with each one efficiently. Some kinds of tuples that represent general entities in the auction are used. The first class, called ServiceProposal, represents the announcement of an auction. A tuple of this type is written in the tuple space by the sensor service agents to advise the service user agents that a given sensor service is sold by an auction. The second tuple class, called RequestProposal, represents a bid for the
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i
C. Li, L. Li / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
Service user agent
Sensor market
Get Connected
Sensor service agent
Forward serviceProposal
Forward request Proposal Negotiation Decide Winner Notify service user agents Sensor service approval
Fig. 2. The process of sensor service allocation.
Sensor service agent
ServiceProposal
Service user agent
RequestProposal
Market space Sensor Grid Market Manager Fig. 3. Sensor service negotiation implemented by tuple space.
auction. The service user agents use tuples of this type to offer an amount of money in order to buy the given sensor service. The third tuple class, called Winner, is used to publish tuples that advise all the participant agents about the winner of an auction. The implementation of tuple space is named the sensor grid marketplace. Using these tuples, the activities of the agents can be divided into following phases (Fig. 3): Phase 1. When a sensor service agent wants to sell some sensor services, it simple publishes its announcement by writing a ServiceProposal tuple in the sensor grid market-places and then waits for a Winner tuple describing the winner. Phase 2. A service user agent provides a question to the User Assistant asking where the wanted sensor service is. When the service user agent receives an answer from the User Assistant, it goes to that location. The service user agent searches the local marketplace provided by the sensor grid market manager for a tuple that publishes the sensor services it wants to acquire; if an auction is found, the service user agent puts its request proposal in the form of a tuple and waits for the result. Phase 3. A service user agent may post a proposal at any time. The price field of the service user agent’s proposal must be a certain increment above the value of all the previously posted request proposals. The sensor service agent posts a single proposal at the start of the auction only. A service user agent’s proposal must be an exact copy of the sensor service agent’s proposal, with price instantiated with its bid. Termination occurs at a fixed time. The auctioneer identifies the highest bidding service user agent (winner), and notifies both parties. After the service user agents put a request proposal into the marketplace at the negotiation site, the auctioneer wakes up and retrieves all the proposal tuples. The service user agent with the highest price is the winner and all the participants are informed by an appropriate tuple written in the space.
5. Experiments In this section, the performance evaluation of our mechanism is conducted. In our experiments, 150 sensors are uniformly deployed in a field that is 500 m 500 m in area. The simulation results shown in the figures represent mean values. The simulation parameters are listed in Table 3. The experiments are conducted to compare the proposed sensor service selection algorithm (SA) with the algorithms given in [2]. In [2], they use four scheduling algorithms to suit the sensor grid scenario: Earliest Deadline First (EDF), First Come First Served (FCFS), Least Laxity First (LLF), and Shortest Job Next (SJN). Figs. 4–6 show the execution success ratio, energy consumption ratio and resource utilization ratio under different load factors (LF), respectively. The load factor varies from 0.1 to 0.9. Considering the execution success ratio, from the results in Fig. 4, when the load factor is 0.5 (LF ¼0.5), the execution success ratio of SJN is 28% less than that using SA. When the load factor increases, the execution success ratios of SJN and FCFS deteriorate quickly. The SJN and FCFS scheduling algorithms do not consider optimization of both sensor resource providers and sensor users; they want to minimize the runtime of the sensor jobs. EDF has a higher execution success ratio than SA. When the load factor increases, fewer requests from the sensor user agents can be admitted into the system due to the increase of the system burden; so, fewer requests from the sensor user agents can be executed successfully before their deadline. Fig. 5 shows the energy consumption ratio under different load factors. When the load factor increases, more requests need to be processed within one interval and the energy consumption ratio increases. When increasing the load factor by LF¼ 0.7, the energy consumption ratio of SA is as much as 25% more than LF¼ 0.4. Under the same load factor (LF¼ 0.8), the energy consumption ratio of SA is 16% less than that of EDF. The energy consumption ratio of SA and EDF is less than that of SJN,
Table 3 Simulation parameters. Simulation Parameter
Value
Number of nodes Network area Total number of sensor users Total number of sensor providers Initial price (grid dollar) Deadline Expense Budget Power
200 500 m 500 m 600 150 [10, 500 dollars] [100, 400 ms] [100, 1500 dollars] [0.1, 1.0]
SA FCFS
LLF SJN
EDF
1 execution success r
6
0.8 0.6 0.4 0.2 0
0.1
0.2
0.3
0.4 0.5 0.6 load factor
0.7
0.8
0.9
Fig. 4. Execution success ratio under various load factors.
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i
C. Li, L. Li / ISA Transactions ∎ (∎∎∎∎) ∎∎∎–∎∎∎
SA FCFS
LLF SJN
is not better than some compared algorithms; when the load factor is 0.5, the execution success ratio of SJN is 16% less than that using EDF. SA jointly considers the benefits of both the sensor users and sensor providers.
EDF
1
energy consumption r
7
0.8 0.6
Acknowledgments
0.4
The work was supported by the National Natural Science Foundation (NSF) under grants (no. 61171075), National Key Basic Research Program of China (973 Program) under Grant No. 2011CB302601, the Open Fund of the State Key Laboratory of Software Development Environment, Special Fund for Fast Sharing of Science Paper in Net Era by CSTD (FSSP) no. 20130143110021, Program for the High-end Talents of Hubei Province, Specialized Research Fund for the Doctoral Program of Higher Education under Grant No. 20120143110014. Any opinions, findings, and conclusions are those of the authors and do not necessarily reflect the views of the above agencies.
0.2 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
load factor Fig. 5. Energy consumption ratio under various load factors.
SA FCFS
LLF SJN
EDF
1 resource utilizati
References
0.8 0.6 0.4 0.2 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
load factor Fig. 6. Resource utilization under various load factors.
LLF and FCFS. Fig. 6 shows that as the load factor increases, the resource utilization ratio increases. When LF¼ 0.8, the resource utilization of SA is as much as 21% more than the utilization by LF ¼0.4. When the load factor increases, many sensor jobs are sent to the system, sensor resources are busier, and the resource utilization is high. The resource utilization of SA and EDF is higher than LLF, SJN and FCFS. 6. Conclusions In this paper we study QoS guaranteed sensor management in sensor grids. The work aimed to achieve sensor grid utility maximization under the constraints of expense budget and energy. The paper also presents a pricing-based iterative algorithm for sensor management which balances sensor service users’ QoS requirements to achieve a sensor system optimization based on the preference of the sensor service user. The paper discusses implementation issues of sensor grid service. Experiments are conducted to compare sensor management algorithm with other related algorithms. From the simulation results, the allocation efficiency and resource utilization of SA are higher than those of LLF and FCFS. When the load factor is 0.5, the allocation efficiency of SA is 27% more than FCFS. But, the execution success ratio of SA
[1] Tham Chen-Khong, Buyya Rajkumar. SensorGrid: integrating sensor networks and grid computing. CSI Commun. 2005;29(1):24–9. [2] Lim Hock Beng, Lee Danny. An Integrated and Flexible Scheduler for Sensor Grids, UIC 2007. Lect Notes Comput Sci 2007;4611:567–78. [3] Xiaolin Li, Xinxin Liu, Huanyu Zhao, Nanyan Jiang, Parashar, M. Autonomic management of hybrid sensor grid systems and applications. In: Proceedings of 17th international conference on computer communications and networks, 2008. ICCCN’08; 2008. p. 1–6. [4] Kanbayashi Ryo, Sato Mitsuhisa. A distributed architecture of sensing web for sharing open sensor nodes, GPC. Lect Notes Comput Sci 2009;5529(2009): 340–52. [5] Iqbal M, Hock Beng Lim, Wenqiang Wang, Yuxia Yao A. Sensor grid infrastructure for large-scale ambient intelligence; parallel and distributed computing, applications and technologies, 2008. In: Ninth International Conference on PDCAT 2008; 2008. p. 468–73. [6] Fox G, Ho A, Rui Wang, Chu E, Isaac Kwan A. Collaborative sensor grids framework; sollaborative technologies and systems, 2008. In: Proceedings of CTS 2008 international symposium; 2008. p. 29–38. [7] Hock Beng Lim, Iqbal M, Wenqiang Wang, Yuxia Yao A. Large-scale serviceoriented sensor grid infrastructure. In: Proceedings of 6th IEEE consumer communications and networking conference, 2009. CCNC 2009; 2009. p. 1–2. [8] Lu Xicheng, Wang Huaimin, Wang Ji, Xu Jie, Dongsheng Li. Internet-based virtual computing environment: beyond the datacenter as a computer. Future Gener. Comput. Syst. 2013;29:309–22. [9] Rao I,Imran N, Khan S, Eui-Nam Huh,TaeChoong Chung. Adaptive and reconfigurable resource management for wireless sensors using grid technology, communication systems software and middleware, 2007. In: Proceedings of 2nd international conference on COMSWARE 2007; 2007. p. 1–5. [10] Avil0 es-L0 opez Edgardo, Garc0 ıa-Mac0 ıas J Antonio. Providing service-oriented abstractions for the wireless sensor grid, GPC 2007. Lect Notes Comput Sci 4459 2007:710–5. [11] Yan YuJie, Wang Shu, Hao Zhao. MPAS: a connecting platform for integrating wireless sensor network with grid. In: Asia-Pacific Conference on Communications, 2005; 2005. p. 1000–4. [12] Ivan Howitt Wayne W Manges, Kuruganti Phani Teja, Allgood Glenn, Gutierrez José A, Conrad James M. Wireless industrial sensor networks: framework for QoS assessment and QoS management. ISA Trans 2006;45(3):347–59. [13] Erdem Hamit. Implementation of software-based sensor linearization algorithms on low-cost microcontrollers. ISA Trans 2010;49(4):552–8. [14] Persechini Maria Auxiliadora Muanis, Jota Fábio Gonçalves. Centralized and distributed control architectures under Foundation Fieldbus network. ISA Trans 2014 (in press). [15] Li Dongsheng, Cao Jiannong, Lu Xicheng, Keith C, Chen C. Efficient range query processing in peer-to-peer systems. IEEE Trans Knowl Data Eng (TKDE) 2009;21(1):78–91. [17] Ji Yong-Kang, Zhang Yi, Xu Zhicheng, Wu Min-You. Truthful resource allocation in selfish sensor web, MSN 2007. Lect Notes Comput Sci 2007;4864:683–93.
Please cite this article as: Li C, Li L. Sensor grid resource management: Model and implementation issues. ISA Transactions (2014), http: //dx.doi.org/10.1016/j.isatra.2014.04.009i