Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Building Web services middleware with predictable execution times

Abstract

Predictability of execution has seldom been considered important in the design of Web services middleware. However, with the paradigm shift brought by cloud computing and with offerings of Platforms and Infrastructure as services, execution level predictability is mandating an increased importance. Existing Web services middleware are optimised for throughput with unconditional acceptance of requests and execution in a best-effort manner. While achieving perceived levels of throughput, they also result in highly unpredictable execution times. This paper presents a generic set of guidelines, algorithms and software engineering techniques that enable service execution to complete within a given deadline. The proposed algorithms accept requests for execution based on their laxity and executes them to meet requested deadlines. An introduced admission control mechanism results in a large range of laxities, enabling more requests to be scheduled together by phasing out their execution. Specialised development libraries and operating systems empower them with increased control over execution. Two widely used Web services middleware products were enhanced using these techniques. The two systems are compared with their unmodified versions to measure the predictability gain achieved. Empirical evidence confirms that the enhancements made enable these systems to achieve more than 90% of the deadlines under any type of traffic, while the unmodified versions achieve less than 10% of the deadlines in high traffic conditions. Predictability of execution achieved through these techniques, would open up new application areas such as industrial control systems, avionics, robotics and financial trading systems to the use of Web services as a middleware platform.

This is a preview of subscription content, log in to check access.

References

  1. 1.

    Apache Software Foundation: Apache Synapse. http://synapse.apache.org/ (2008). Accessed 16 April 2011

  2. 2.

    Apache Software Foundation: Apache Axis2. http://ws.apache.org/axis2/ (2009). Accessed 16 April 2011

  3. 3.

    Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language. Addison-Wesley Professional, Reading (2006)

  4. 4.

    Cao, J., Zhao, H., Li, M., Wang, J.: A dynamically self-configurable service process engine. World Wide Web 13, 475–495 (2010)

  5. 5.

    Eggert, L., Heidemann, J.: Application-level differentiated services for Web servers. World Wide Web 2, 133–142 (1999)

  6. 6.

    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Design. Addison-Wesley (1995)

  7. 7.

    Gamini Abhaya, V., Tari, Z., Bertok, P.: Achieving predictability and service differentiation in Web services. In: ICSOC-ServiceWave ’09: Proceedings of the 7th International Conference on Service-Oriented Computing, pp. 364–372. Springer, Berlin (2009)

  8. 8.

    Gamini Abhaya, V., Tari, Z., Bertok, P.: Using real-time scheduling principles in Web service clusters to achieve predictability of service execution. In: Proceedings of 8th International Conference on Service-Oriented Computing: ICSOC 2010, San Francisco, CA, USA, pp. 197–212. Springer, Berlin (2010)

  9. 9.

    García, D.F., García, J., Entrialgo, J., García, M., Valledor, P., García, R., Campos, A.M.: A qos control mechanism to provide service differentiation and overload protection to internet scalable servers. IEEE Trans. Serv. Comput. 2(1), 3–16 (2009)

  10. 10.

    Gartner: SOA is evolving beyond its traditional roots. http://www.gartner.com/it/page.jsp?id=927612 (2009). Accessed 16 April 2011

  11. 11.

    Gartner and Forrester: Use of Web services skyrocketing. http://utilitycomputing.com/news/404.asp (2003). Accessed 16 April 2011

  12. 12.

    Gmach, D., Krompass, S., Scholz, A., Wimmer, M., Kemper, A.: Adaptive quality of service management for enterprise services. ACM Trans. Web (TWEB) 2(1), 1–46 (2008)

  13. 13.

    Graham, S., Davis, D., Simeonov, S., Daniels, G., Brittenham, P., Nakamura, Y., Fremantle, P., Konig, D., Zentner, C.: Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI, 2nd Edn. Sams Publishing, Indianapolis (2004)

  14. 14.

    Helander, J., Sigurdsson, S.: Self-tuning planned actions time to make real-time SOAP real. In: Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, (ISORC), pp. 80–89 (2005)

  15. 15.

    Kihl, M., Robertson, A., Andersson, M., Wittenmark, B.: Control-theoretic analysis of admission control mechanisms for Web server systems. World Wide Web 11, 93–116 (2008)

  16. 16.

    Microsoft: Windows communications foundation. http://msdn.microsoft.com/library/ee958158.aspx. Accessed 16 April 2011

  17. 17.

    Pacifici, G., Spreitzer, M., Tantawi, A., Youssef, A.: Performance management for cluster-based Web services. IEEE J. Sel. Areas Commun. 23(12), 2333–2343 (2005)

  18. 18.

    Ran, S.: A model for Web services discovery with QoS. In: ACM SIGecom Exchanges, pp. 1–10 (2003)

  19. 19.

    Sharma, A., Adarkar, H., Sengupta, S.: Managing QoS through prioritization in Web services. In: Web Information Systems Engineering Workshops, Proceedings, pp. 140–148 (2003)

  20. 20.

    Stankovic, J., Rajkumar, R.: Real-time operating systems. In: Real-Time Systems, pp. 237–253 (2004)

  21. 21.

    Stankovic, J.A., Spuri, M., Ramamritham, K., Buttazzo, G.C.: Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic, Norwell (1998)

  22. 22.

    Sun Microsystems: Glassfish application server—features. http://www.oracle.com/us/products/middleware/application-server/oracle-glassfish-server/index.html (2009). Accessed 16 April 2011

  23. 23.

    Sun Microsystems: Sun Java real-time system. http://java.sun.com/javase/technologies/realtime/ (2009). Accessed 16 April 2011

  24. 24.

    Sun Microsystems: Thread Scheduling Visualizer 2.0—Sun Java RealTime Systems 2.2. http://java.sun.com/javase/technologies/realtime/reference/TSV/JavaRTS-TSV.html (2009). Accessed 16 April 2011

  25. 25.

    Tian, M., Gramm, A., Naumowicz, T., Ritter, H., Freie, J.: A concept for QoS integration in Web services. In: Web Information Systems Engineering Workshops, Proceedings, pp.  149–155 (2003)

  26. 26.

    Tien, C.M., Lee, C.J., Cheng, P.W., Lin, Y.D.: SOAP request scheduling for differentiated quality of service. In: Web Information Systems Engineering—WISE Workshops, pp. 63–72. Springer, Berlin (2005)

  27. 27.

    Wang, A.J., Baglodi, V.: Evaluation of Java virtual machines for real-time applications. Journal of Computing Sciences in Small Colleges 17(4), 164–178 (2002)

  28. 28.

    Zeng, L., Benatallah, B., Ngu, A., Dumas, M., Kalagnanam, J., Chang, H., Center, I., Yorktown Heights, N.: QoS-aware middleware for Web services composition. IEEE Trans. Softw. Eng. 30(5), 311–327 (2004)

Download references

Author information

Correspondence to Vidura Gamini Abhaya.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Gamini Abhaya, V., Tari, Z. & Bertok, P. Building Web services middleware with predictable execution times. World Wide Web 15, 685–744 (2012). https://doi.org/10.1007/s11280-012-0160-x

Download citation

Keywords

  • Web services
  • middleware
  • predictability of execution
  • real-time systems
  • earliest deadline first
  • scheduling