Table of Contents Author Guidelines Submit a Manuscript
The Scientific World Journal
Volume 2014 (2014), Article ID 507517, 11 pages
http://dx.doi.org/10.1155/2014/507517
Research Article

An Optimization Algorithm for Multipath Parallel Allocation for Service Resource in the Simulation Task Workflow

1PLA University of Science & Technology, Nanjing 210007, China
2Nanjing Artillery Academy, Nanjing 210110, China

Received 9 October 2013; Accepted 25 November 2013; Published 12 May 2014

Academic Editors: W. Sun, G. Zhang, and J. Zhou

Copyright © 2014 Zhiteng Wang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Service oriented modeling and simulation are hot issues in the field of modeling and simulation, and there is need to call service resources when simulation task workflow is running. How to optimize the service resource allocation to ensure that the task is complete effectively is an important issue in this area. In military modeling and simulation field, it is important to improve the probability of success and timeliness in simulation task workflow. Therefore, this paper proposes an optimization algorithm for multipath service resource parallel allocation, in which multipath service resource parallel allocation model is built and multiple chains coding scheme quantum optimization algorithm is used for optimization and solution. The multiple chains coding scheme quantum optimization algorithm is to extend parallel search space to improve search efficiency. Through the simulation experiment, this paper investigates the effect for the probability of success in simulation task workflow from different optimization algorithm, service allocation strategy, and path number, and the simulation result shows that the optimization algorithm for multipath service resource parallel allocation is an effective method to improve the probability of success and timeliness in simulation task workflow.

1. Introduction

With the development of web technology, web service technology, SOA, grid, and cloud computation, there is a great revolution in modelling and simulation field. A framework of modelling and simulation based on simulation service, that is, service oriented modelling and simulation, is being formed. Service oriented simulation task framework from service oriented idea depends on information grid infrastructure with unified simulation description, access, and share standard to complete simulation task with the way of dynamic creation and running in the simulation resource interlink and share environment. Compared with traditional simulation framework, one of the service oriented modeling and simulation framework main characteristics is supporting dynamic creation and running simulation application and dynamic integration and running simulation in network by calling simulation service resource according to the simulation task workflow need.

In service oriented military modeling and simulation field, it is important to improve the probability of success and timeliness in simulation task workflow. Many researchers have done lots of research on how to improve the probability of success and timeliness in service composition in many stages. Some researchers try to improve the probability of simulation task workflow work success instead of failed service [13], but this method does not consider the timelessness of workflow. Therefore, it will produce extra time charge when the called service cannot respond or makes a mistake. Artificial intelligence (AI) planner is also applied to solve service composition combinatorial optimization problem [47]. But for the reason that it could immensely increase coupling between AI planner and other procedures when the special AI planner is used to solve automatic service composition problem, it will lead to limiting its web composition application filed. In addition, there are many differences in AI planner for applicability and designs performance, and this reason will result in biased service composition scheme and larger composition charge. Yajuan Song proposes a blend web service composition scheme based on buffer pool [8], in which dynamic service composition scheme is saved in buffer pool and user can use the composition scheme as well as use predefined workflow. But the composition algorithm should be improved. ZHANG Bo investigates a service composition algorithm based on sub-Web service, in which the multi-input and multioutput parameter of web service is divided into sub-Web service with multi-input and single output parameters. In this way, it reduces dependencies of a Web service for multiple outputs with higher composition efficiency. In this way, we reduce dependencies of a Web service on multiple-output with higher composition efficiency; however, there exists redundancy in the composition route. Genetic algorithm (GA) and particle swarm optimization (PSO) [9] are typical evolution algorithm in service composition optimization filed, and PSO is more effective than GA with advantages such as too few arguments specified and the faster convergence speed. However, the local particle in the swarm is easy to be regarded as global best position leading to quickly converging to local best value. Zheng et al. [10] and Zeng et al. [11] use objective programming method to find the best path satisfied with condition by building the objective function with the condition and the probability of success and time requisition. The shortcomings of which may not complete the workflow requests.

Xiaohao et al. propose parallel allocation algorithm for service [12], in which one node starts many services to improve the probability of success and time requests in the simulation task workflow. The method gets good result but there exists exception probability in large-scale simulation task. Therefore, based on service parallel allocation in [12], this paper extends the scheme and proposes an optimization algorithm for multipath service resource parallel allocation scheme to further improve the probability of simulation task workflow work success and time and solve service scheduling problem.

The following section will investigate the systematic structure of simulation task body from two perspectives, that is, the reference model and the framework structure of simulation task body.

In service oriented military model and simulation field, it is important to ensure the timeliness and the probability of success in the simulation task workflow or it will greatly affect the workflow work efficiency and even lead to workflow which cannot complete the task. In fact, it could improve the timeliness and the probability of success by the optimization of the service composition in simulation task workflow. However, many optimization algorithms have deficiencies in solving this problem. For this reason, this paper proposes an optimization algorithm for multipath service resource parallel allocation for service resource to improve the timeliness and the probability of success in the simulation task workflow.

2. The Description of Service Composition Problem

2.1. The Concept of Service Scheduling and Simulation Task Workflow Framework

The concept of workflow originated from the organization of production and office automation field, in which work was separated into well-defined task, role, and the work is executed and monitored by specific rule and process to improve work probability and reduce production costs and raise enterprise competitive power. In military service oriented model and simulation field, workflow idea is introduced to arrange the role produce specific event under the simulation plot rule in simulation task. The event of role is related to simulation service agent, which is a service set and could call the simulation service by simulation service bus. The specific simulation service in service sets is eventual execution unit, and the purpose of service scheduling is to find the best path to allocate the simulation service in service sets to specific event of role in simulation plot. It can be shown in Figure 1.

507517.fig.001
Figure 1: Simulation task workflow running framework.

The scheduling is to build a mapping relation from simulation event sets to simulation service sets by the scheduling algorithm. Its purpose is to choose the best service composition path under the simulation task limited condition to effectively complete the simulation. In the following part, a simulation task example of artillery firepower attacking is described. In this simulation task plot, artillery firepower attacking step is as follows.(1)The artillery needs to get enemy's position by radar search service.(2)The artillery needs to get enemy's global situation by situation analysis service.(3)The artillery needs to prepare for firing by firing preparation service.(4)The artillery needs to fire allocation scheme by fire allocation service.

In order to improve timeliness and the probability of success in simulation task, the probability of success and response time should be constrained. In the first phase, the longest echo time (LET) of radar service should be less than 10 seconds and the success call probability (SCP) should be more than 98%. In the second phase, for situation analysis service and firing preparation service, LET is required less than 30 seconds and SCP is required more than 98%. In the third phase, for situation analysis service and firing preparation service, LET is required less than 30 seconds and SCP is required more than 98%. For the whole of simulation task, LET is less than 40 seconds and SCP is required more than 98%. It can be shown in Figure 2.

507517.fig.002
Figure 2: The service composition model under condition.
2.2. The Description of Service Scheduling Model

Simulation task plot is used to arrange role completion action in specific time and position and it is important measure for workflow service scheduling. In fact, service scheduling is to optimize the simulation service composition, and service scheduling model can be simply described as the relation of simulation service composition optimization according to the simulation plot. Therefore, service scheduling optimization model can be described as: wherein is representative of the service sets according to the event in plot, ; is representative of the mapping from the event relation to simulation service relation; is representative of the constrained condition in the whole process.

2.3. The Optimization of Service Composition Path

The service composition path is selected one by one from simulation service sets to form a service composition path to complete simulation task. It can be shown in Figure 3.

507517.fig.003
Figure 3: Service composition path choosing.

From Figure 3, we can see that many paths can be selected by the methods of exhaustion, intelligence algorithm, and so forth to compile statistics quality of service and get the service composition path. However, these methods cannot ensure that the path is the best choice, because these methods are only considering the ideal condition without considering unexpected exception in practice.

3. The Strategy of Multipath Parallel Allocation for Service

When the simulation service is called, various problems may occur in the simulation task workflow during run time and the task may not be completed. In order to solve this problem, many researchers have taken a variety of approaches such as failed service instead, recall service again, and reselection of the path of service composition. The method of failed service instead is to replace the simulation service which is unable to continue to provide the service in process of the simulation task, and then another appropriate simulation service which has the same function in the service sets is called to complete the service function which the exception simulation service should complete. It can be shown in Figure 4.

507517.fig.004
Figure 4: Failed service instead sketch.

The method of recall service is to recall service when the simulation service cannot complete the appropriate service function and surpass maximum response time. This method can be applied when the simulation service in service sets is not enough or it requires a higher limitation of simulation to use. Because the time expense for this method is small, if we recall the service again, it will restore the function promptly, so the simulation task workflow may restore the work in the shortest time.

The method of reselection of the path of service composition is to choose a service composition path again under the constrained condition and then run the simulation task again. This method’s time expenses are large. Because it means the simulation service in original path should complete the task again in the new service composition path, so this method is used in the situation in which both of the expiration substitution method and recall service method are unable to complete the simulation task.

In fact, although these methods may reduce the influence to some extent on the simulation task workflow when the simulation service makes the mistake, it also takes time expenses as price. This is not permitted for real time simulation task, so it needs to use a more nimble method to solve this problem. In order to improve the probability of success and timeliness in simulation task workflow, this paper proposes an optimization algorithm for multipath service resource parallel allocation to handle service failure to be called in the service composition process, and each path is a parallel distribution services allocation plot. In the practice, various traditional methods such as failed service instead and recall service can be used synthetically. For example, two paths are selected and each node has two parallel services in each path. It can be shown in Figures 5(a) and 5(b).

fig5
Figure 5: (a) The first path for multiple service parallel allocation. (b) The second path for multiple service parallel allocation.

This method is simultaneously calling many paths, and in each path simulation service simultaneously is called with many parallel services in service sets. The shortest response time of the first path in a number of paths can be selected as the main implementation of the path, in which any service can be selected as a main service when it has the shortest response time. If other main service is failed, other parallel service will be selected as main service. The difference from traditional instead methods is the parallel services running, and the workflow work cannot be effected even if one service is exception. Therefore, it nearly does not spend other expenses. In particular, because many paths run simultaneously, if the service in the main path produces an unexpected result, the service in another path can also run instead of it in time to effectively improve probability of success and timeliness for simulation task.

4. The Model of Multipath Service Parallel Allocation

Suppose there exist agents in accordance with service sets in workflow. represents the service in accordance with the th service agent. represents the th service agent in accordance with services in simulation service bus and the represents the th service in services called. Suppose the probability of success service is and its completion time follows a normal distribution under mean as and variance as . When the workflow simultaneously call m service in , its probability can be shown in the following formula:

is used to represent time distribution function in accordance with the th service agent, where is the th service in services called by service agent. It is normal distribution and can be shown in the following formula:

The success probability of simulation service in the th simulation in the waiting time of is as follows:

Suppose events according to services in a service composition path. Let , where represents the number of parallel called services in this node. Suppose simulation service bus could support service for the th node, and the system expense in the parallel running services can be shown by the following formula:

Therefore, the whole process of parallel service running expense can be shown as

The ultimate optimization goal is to select proper which is satisfied with constraint condition for service time and probability, and the service running expense is the lowest. Suppose the weighting for the th service in the whole service is , and the ultimate optimization model can be represented as

5. Service Scheduling Optimization Based on Quantum Optimization Algorithm

In fact, the problem of multiple services parallel allocation is service resource scheduling problem which is a NP problem. Many methods have been proposed to solve this problem: GA, PSO, and so forth. However, there always exist many disadvantages in partial convergence or slow optimization. Quantum computation is based on the principal concepts of the quantum theory [13, 14]. Numerous researchers have devoted increasing interests to quantum computation, a novel interdisciplinary field that covers quantum mechanics and information science [1524]. This paper tries to use a quantum optimization algorithm with multiple chain coding schemes to solve this problem and mainly use four-chain quantum-inspired evolutionary algorithm (FCQIEA) to solve.

5.1. Expanded Encoding Method for Quantum Chromosome

From [24] we can know that multiple chains can be required in Figure 6.

507517.fig.006
Figure 6: Schematic diagram of the qubit probability amplitude decomposition.

From Figure 6, we can get (7) as follows:

To describe the quantum dynamics behavior objectively, comprehensively, and unambiguously, we can use a new angle (), which is called “supporting role,” to replace and obtain vector as follows: Equation (8) also satisfies the normalization condition. In fact, (8) also corresponds to the three-chain encoding method:

Likewise, we can obtain vector by adding the “supporting role” to form the four-chain encoding method as follows:

We can obtain four optimal solutions, which are expressed as follows:

With the same principle, we can get chains’ coding scheme as follows:

5.2. Solution Space Transformation

In the quantum evolution progress, all qubits have limited values within  –1 to 1. Thus, we need to transform all qubit values from unit space to space of the continuous optimization problem (1) by using linear transformation. Each gene value corresponds to an optimization variable in the solution space. If theth qubit on chromosome is , then the corresponding variables in the solution space are computed as follows: where and . Thus, each chromosome maps to four approximate solutions of the optimization problem.

5.3. Quantum Chromosome Update

Considering that quantum chromosomes are present in the colony and we can obtain approximate solutions by solution space transformation, we can then compute the fitness of these approximate solutions and define the solution with the maximum fitness as the current optimum solution in the quantum evolution progress. The chromosome corresponds to the current optimum solution called the optimum chromosome. By computing the fitness, we can obtain both optimum solution and optimum chromosome and subsequently update the colony by using the quantum rotation gate to obtain the optimal solution. In this updated process, the new optimum chromosome can be produced such that the colony can likely evolve. The present study proposes the quantum rotation gate to update the individual qubit as follows:

5.4. Mutation Operation

Quantum nongate is applied to exchange the probability amplitudes to avoid local optimal solution in a certain qubit as follows:

Such influence as expressed in (15) can be considered as the phase mutation of a qubit, in which is mutated to . In this case, a quantum nongate is proposed to mutate the quantum as follows:

5.5. The Procedure of FCQIEA

It can be summarized as follows.

Step 1 (initialize the population). Let the current generation ; generate an initial population , which has individual qubits. Set the magnitude of the rotational angle , , and , respectively. Set as the mutation and Max_gen as the maximum generation.

Step 2 (transform the solution space). Four approximate solutions in each chromosome are transformed from the unit space to the solution space of the continuous optimization problem (1); thus, the set of approximate solution can be obtained.

Step 3 (compute the fitness). By computing the fitness of approximate solutions, obtain the best solution in the current solution and the best chromosome in the current chromosome. Store as the global optimum solution and store as the global optimum chromosome .

Step 4 (set ). Update and mutate . Calculate the new population .

Step 5. Transform the solution space again and obtain a set of approximate solution .

Step 6. By computing the fitness of , determine the current optimum solution and the current optimum chromosome . If , then update the current optimum solution ; at the same time, update the current optimum chromosome to avoid population degradation. Otherwise, let and so that the algorithm approaches the global optimum solution.

Step 7. If the algorithm does not converge and if < Max_gen, then go back to Step 4 until the algorithm becomes convergent or until > Max_gen.

6. Simulation Experiment and Analysis

6.1. Comparisons of the Different Optimization Result

Under the hypothesis condition as Figure 2, four events are in accordance with service as , , , and , and the specific constraint conditions can be shown as in Table 1.

tab1
Table 1: Service constrained condition.

In order to compare the different optimization results between different optimization algorithms, FCQIEA, GA, and PSO, optimize the service scheduling, respectively. In both of FCQIEA and GA, the generation set is 100 and intersection probability and mutation set are 0.6 and 0.1, respectively. The number of coding chains is 4, and maximum rotate angle set . In PSO, regulatory factor set and study factor set and . In order to avoid the influence of random factors, we performed the calculation 10 times in each algorithm and obtained the average value as the optimization result. The global constraint time of each service node is added with 5 seconds as base unit; the optimization result can be shown in Figure 7.

507517.fig.007
Figure 7: Comparison of the optimization result with different algorithms.

From Figure 7, obviously, FCQIEA has best performance compared with GA and PSO and its service running costs most rapid decline than other algorithms.

6.2. Comparisons of the Service Allocation Strategy

The different service allocation strategy, that is, selection best service, failed service instead, services parallel allocation, and multipath services parallel allocation, is compared under the constraint condition in Table 1. The failed service is produced randomly with probability of 1%. The failed service instead strategy is that the service can be called failure when waiting time is beyond the 3 times of δ (3 times δ rule) service execution time and it should select another service to replace the failed service. In service parallel allocation strategy, 20 percent of service sets are randomly selected as parallel execution service. In the multipath service parallel allocation strategy, the number of path set 3 and 20 percent of service sets are randomly selected as parallel execution service. After long running time, the relation between the probability of success and execution of different service allocation strategy is investigated. It can be shown in Figure 8.

507517.fig.008
Figure 8: The probability of success of different service allocation strategy.

Different service execution costs can be shown in Figure 9.

507517.fig.009
Figure 9: Comparison of task execution costs with different service allocation strategy.

From analysis, it can be found that the probability of success of multipath service parallel allocation strategy is obviously higher than other strategies; however, it also results in extra system costs than other service allocation strategies.

6.3. The Effect of Probability of Success from the Number of Paths

Service parallel allocation and multipath services parallel allocation are used to execute simulation task and the number of paths is 1, 2, 3, and 4. The failed service is produced randomly with probability of 1%. After running in long time, the relation between the probability of success and execution time is investigated. It can be shown in Figures 10 and 11.

507517.fig.0010
Figure 10: Comparison of the effect for the probability of success simulation task with different paths.
507517.fig.0011
Figure 11: Comparison of simulation task execution costs among different paths.

From Figures 10 and 11, we can get the conclusion that we can improve probability of success by adding the number of service paths in service parallel allocation, but it will not always get the best probability of success when increasing the number of service paths, and there exist the best value. From the simulation experiment, it can be seen that the probability of success for completion task is improved obviously with the numbers of 2 and 3, but when the number of path set is 4, the probability of success for completion task is not improved and the simulation execution costs are raised. Therefore, three paths are proper.

7. Conclusions

In military modeling and simulation field, it is important to improve the probability of success and timeliness in simulation task workflow. This paper established the multipath service parallel allocation optimization mathematical model to investigate service scheduling optimization algorithm in which FCQIEA is used. Through the simulation experiment, this paper investigates the effect for the probability of success in simulation task workflow from different optimization algorithm, service allocation strategy, and path number, and the simulation result shows that the optimization algorithm for multipath service resource parallel allocation is an effective method to improve the probability of success and timeliness in simulation task workflow. In the next step, multipath service parallel allocation will be used in military modeling and simulation field, and this theory can be improved in practice.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

References

  1. D. König, N. Lohmann, S. Moser, C. Stahl, and K. Wolf, “Extending the compatibility notion for abstract WS-BPEL processes,” in Proceedings of the 17th International Conference on World Wide Web (WWW '08), pp. 785–794, Beijing, China, April 2008. View at Publisher · View at Google Scholar · View at Scopus
  2. N. Salatge and J.-C. Fabre, “Fault tolerance connectors for unreliable Web Services,” in Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '07), pp. 51–60, June 2007. View at Publisher · View at Google Scholar · View at Scopus
  3. J. Harney and P. Doshi, “Speeding up adaptation of web service compositions using expiration times,” in Proceedings of the 16th International World Wide Web Conference (WWW '07), pp. 1023–1032, May 2007. View at Publisher · View at Google Scholar · View at Scopus
  4. E. Sirin, Combining Description Logic Reasoning with AI Planning for Composition of Web Services, University of Maryland, College Park, Md, USA, 2006.
  5. J. Rao and X. Su, “A survey of automated web service composition methods,” in Proceedings of the 1st International Workshop on Semantic Web Services and Web Process Composition (SWSWPC '05), vol. 3387, pp. 43–54, July 2005. View at Scopus
  6. S. Mcilraith and T. C. Son, “Adapting golog for composition of semantic web services,” in Proceedings of the 8th International Conference on Knowledge Representation and Reasoning, pp. 482–496, Morgan Kaufmann, Toulouse, France, 2002.
  7. S. Narayanan and S. A. McIlraith, “Simulation, verification and automated composition of web services,” in Proceedings of the 11th International Conference on World Wide Web (WWW '02), pp. 77–88, ACM, New York, NY, USA, May 2002. View at Publisher · View at Google Scholar · View at Scopus
  8. S. Yajuan, Research on the Approaches for Web Services Composition, Jilin University, Changchun, China, 2011.
  9. X. Fan, C. Jiang, X. Fang, and Z. Ding, “Dynamic web service selection based on discrete particle swarm optimization,” Journal of Computer Research and Development, vol. 47, no. 1, pp. 147–156, 2010. View at Google Scholar · View at Scopus
  10. H. Zheng, W. Zhao, J. Yang, and A. Bouguettaya, “QoS analysis for Web service composition,” in Proceedings of the IEEE International Conference on Service Computing (SCC '09), pp. 235–242, Bangalore, India, September 2009. View at Publisher · View at Google Scholar · View at Scopus
  11. L. Zeng, B. Benatallah, A. H. H. Ngu, M. Dumas, J. Kalagnanam, and H. Chang, “QoS-aware middleware for Web services composition,” IEEE Transactions on Software Engineering, vol. 30, no. 5, pp. 311–327, 2004. View at Publisher · View at Google Scholar · View at Scopus
  12. Y. Xiaohao, H. Dan, L. Xueshan, and L. Junxian, “Parallel optimization method of service resource in military information system,” Systems Engineering Theory & Practice, vol. 32, no. 9, pp. 2078–2086, 2009. View at Google Scholar
  13. D. Deutsch, “Quantum theory, the Church-Turing principle and the universal quantum computer,” Proceedings of The Royal Society of London A: Mathematical and Physical Sciences, vol. 400, no. 1818, pp. 97–117, 1985. View at Google Scholar · View at Scopus
  14. M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 1st edition, 2000.
  15. S.-Y. Li and P.-C. Li, “Quantum genetic algorithm based on real encoding and gradient information of object function,” Journal of Harbin Institute of Technology, vol. 38, no. 8, pp. 1216–1223, 2006. View at Google Scholar · View at Scopus
  16. P. C. Li and S. Y. Li, “Quantum-inspired evolutionary algorithm for continous spaces optimization based on Bloch coordinates of qubits,” Neurocomputing, vol. 72, pp. 581–591, 2008. View at Google Scholar
  17. X. Shaohua, X. Chen, H. Xing, W. Ying, and L. Panchi, “Improved quantum genetic algorithm with double chains and its application,” Application Research of Compute, vol. 26, no. 7, pp. 2090–2092, 2010. View at Google Scholar
  18. S. Li and P. Li, Quantum Computing and Quantum Optimization Computing Algorithm, Harbin Polytechnical University, 2009.
  19. K.-H. Han and J.-H. Kim, “Quantum-inspired evolutionary algorithm for a class of combinatorial optimization,” IEEE Transactions on Evolutionary Computation, vol. 6, no. 6, pp. 580–593, 2002. View at Publisher · View at Google Scholar · View at Scopus
  20. A. D. S. Nicolau, R. Schirru, and A. Alvarenga de Moura Meneses, “Quantum evolutionary algorithm applied to transient identification of a nuclear power plant,” Progress in Nuclear Energy, vol. 53, no. 1, pp. 86–91, 2011. View at Publisher · View at Google Scholar · View at Scopus
  21. J. X. V. Neto, D. L. de Andrade Bernert, and L. dos Santos Coelho, “Improved quantum-inspired evolutionary algorithm with diversity information applied to economic dispatch problem with prohibited operating zones,” Energy Conversion and Management, vol. 52, no. 1, pp. 8–14, 2011. View at Publisher · View at Google Scholar · View at Scopus
  22. J. Xiao, J. Xu, Z. Chen, K. Zhang, and L. Pan, “A hybrid quantum chaotic swarm evolutionary algorithm for DNA encoding,” Computers and Mathematics with Applications, vol. 57, no. 11-12, pp. 1949–1958, 2009. View at Publisher · View at Google Scholar · View at Scopus
  23. J. Gu, M. Gu, C. Cao, and X. Gu, “A novel competitive co-evolutionary quantum genetic algorithm for stochastic job shop scheduling problem,” Computers and Operations Research, vol. 37, no. 5, pp. 927–937, 2010. View at Publisher · View at Google Scholar · View at Scopus
  24. W. Zhiteng, Z. Hongjun, Z. Rui, X. Ying, and H. Jian, “Quantum genetic algorithm based on multi-chain coding scheme,” Computers & Operations Research, vol. 29, no. 26, pp. 2061–2064, 2012. View at Google Scholar