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.
Similar content being viewed by others
References
Apache Software Foundation: Apache Synapse. http://synapse.apache.org/ (2008). Accessed 16 April 2011
Apache Software Foundation: Apache Axis2. http://ws.apache.org/axis2/ (2009). Accessed 16 April 2011
Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language. Addison-Wesley Professional, Reading (2006)
Cao, J., Zhao, H., Li, M., Wang, J.: A dynamically self-configurable service process engine. World Wide Web 13, 475–495 (2010)
Eggert, L., Heidemann, J.: Application-level differentiated services for Web servers. World Wide Web 2, 133–142 (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Design. Addison-Wesley (1995)
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)
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)
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)
Gartner: SOA is evolving beyond its traditional roots. http://www.gartner.com/it/page.jsp?id=927612 (2009). Accessed 16 April 2011
Gartner and Forrester: Use of Web services skyrocketing. http://utilitycomputing.com/news/404.asp (2003). Accessed 16 April 2011
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)
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)
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)
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)
Microsoft: Windows communications foundation. http://msdn.microsoft.com/library/ee958158.aspx. Accessed 16 April 2011
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)
Ran, S.: A model for Web services discovery with QoS. In: ACM SIGecom Exchanges, pp. 1–10 (2003)
Sharma, A., Adarkar, H., Sengupta, S.: Managing QoS through prioritization in Web services. In: Web Information Systems Engineering Workshops, Proceedings, pp. 140–148 (2003)
Stankovic, J., Rajkumar, R.: Real-time operating systems. In: Real-Time Systems, pp. 237–253 (2004)
Stankovic, J.A., Spuri, M., Ramamritham, K., Buttazzo, G.C.: Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic, Norwell (1998)
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
Sun Microsystems: Sun Java real-time system. http://java.sun.com/javase/technologies/realtime/ (2009). Accessed 16 April 2011
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
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11280-012-0160-x