Non-Cooperative Game Theory-Based Dynamic Resource Management for Optimizing Resource Utilization in Java Applications


Keywords:
Java, Resource Optimization, Game Theory, Non-Cooperative Approach, Stackelberg EquilibriumAbstract
This study aims to optimize the utilization of critical system resources such as CPU and memory
in modern Spring Boot-based web applications. Different Spring Beans (services, components, controllers)
within the application are modeled as rational players attempting to maximize their own performance. Non
cooperative game theory, specifically Stackelberg and Nash Equilibrium models, is employed to analyze
and manage resource competition among these players. The developed dynamic resource management
system fairly and efficiently distributes resources by instantaneously evaluating each bean’s resource
demand and the overall system status. Simulation results demonstrate that the proposed game theory-based
approach significantly increases overall system throughput and reduces resource waste compared to
traditional resource management algorithms. Particularly, JHipster’s modular structure and Spring Boot’s
flexible bean management enhance the applicability of this game theory model. This study makes a
significant contribution to the literature by offering a more equitable, efficient, and dynamic resource
management approach compared to traditional methods.
Downloads
References
Buyya, R., Vecchiola, C., & Selvi, S. T. (2013). Mastering Cloud Computing: Foundations and Applications Programming. Morgan Kaufmann.
Kleppmann, M. (2017). Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O’Reilly Media.
Jain, R. (1991). The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling. Wiley.
Myerson, R. B. (1991). Game Theory: Analysis of Conflict. Harvard University Press.
Walls, C. (2021). Spring in Action (6th ed.). Manning Publications.
Nisan, N., Roughgarden, T., Tardos, É., & Vazirani, V. V. (Eds.). (2007). Algorithmic Game Theory. Cambridge University Press.
Von Stackelberg, H. (2011). Market Structure and Equilibrium. Springer Science & Business Media.
Nash, J. (1951). Non-cooperative games. Annals of Mathematics, 54(2), 286–295.
Spring Boot Actuator: Production-ready Features. (n.d.). Retrieved from https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html
Micrometer: Application Metrics. (n.d.). Retrieved from https://micrometer.io/
Spring Framework Documentation: ThreadPoolTaskExecutor. (n.d.). Retrieved from https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutor.html
Java Platform, Standard Edition 8, API Specification: java.lang.management. (n.d.). Retrieved from https://docs.oracle.com/javase/8/docs/api/java/lang/management/package-summary.html
Jain, R., Chiu, D. M., & Hawe, W. R. (1984). A quantitative measure of fairness and discrimination for resource allocation in shared computer system. arXiv preprint arXiv:cs/9809099.
Ye, D., & Zhang, M. (2013). A survey on game theory based resource allocation in wireless networks. International Journal of Smart Home, 7(4), 317–326.
Gu, Y., Liu, Y., & Li, B. (2019). A game-theoretic approach for resource allocation in microservices. IEEE Transactions on Parallel and Distributed Systems, 31(3), 516–529.
Williams, A. (2023). Dynamic resource management in microservices architectures. IEEE Software, 40(5), 50–57.