Advertisement

On Mechanisms for Deadlock Avoidance in SIP Servlet Containers

  • Y. Huang
  • L. K. Dillon
  • R. E. K. Stirewalt
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5310)

Abstract

Increasingly, VoIP applications are being deployed to multi-threaded SIP servlet containers. Unfortunately, the standard specification for these containers is silent with regard to synchronization issues, and the lack of direction has led different vendors to adopt a variety of different and incompatible policies for preventing data races among concurrent threads. In addition to the obvious portability problems, some policies make servlet code prone to deadlock under common scenarios of use. This paper documents this problem with concrete examples and proposes modifications to the standard to allow programmers to implement the protocols needed to avoid these common deadlocks. These extensions will open the way for automatic generation of the synchronization logic needed to implement these avoidance protocols, thereby increasing the safety and reliability of applications deployed in this environment.

Keywords

Concurrency converged container deadlock prevention negotiation servlet SIP synchronization contract 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    BEA white paper: BEA WebLogic Server 10—the rock-solid foundation for SOA (2007)Google Scholar
  2. 2.
    BEA WebLogic SIP Server - developing applications with WebLogic SIP Server (December 2006)Google Scholar
  3. 3.
    Behrends, R.: Designing and Implementing a Model of Synchronization Contracts in Object-Oriented Languages. PhD thesis, Michigan State University, East Lansing, Michigan USA (December 2003)Google Scholar
  4. 4.
    Behrends, R., Stirewalt, R.E.K.: The Universe Model: An approach for improving the modularity and reliability of concurrent programs. In: Proc. of FSE 2000 (2000)Google Scholar
  5. 5.
    Behrends, R., Stirewalt, R.E.K., Dillon, L.K.: A self-organizing component model for the design of safe multi-threaded applications. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Betin-Can, A., Bultan, T.: Verifiable concurrent programming using concurrency controllers. In: Proc. of the IEEE International Conference on Automated Software Enginerring (2004)Google Scholar
  7. 7.
    Blaha, M.R., Premerlani, W.J.: Object-Oriented Modeling and Design for Database Applications. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  8. 8.
    Bond, G., et al.: Experience with component-based development of a telecommunication service. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Bond, G.W., Goguen, H.: ECharts: Balancing design and implementation. In: Proceedings of the 6th IASTED International Conference on Software Engineering and Applications, pp. 149–155. ACTA Press (2002)Google Scholar
  10. 10.
    Deng, X., et al.: Invariant-based specification, synthesis, and verification of synchronization in concurrent programs. In: Proc. of the IEEE International Conference on Software Engineering (ICSE 2002) (2002)Google Scholar
  11. 11.
    Fleming, S.D., et al.: Separating synchronization concerns with frameworks and generative programming. Technical Report MSU-CSE-06-34, Michigan State University, East Lansing, Michigan (2006)Google Scholar
  12. 12.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison–Wesley Publishing Company, Reading (1995)zbMATHGoogle Scholar
  13. 13.
    Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proc. of the ACM SIGPLAN Conference on Object-Oriented Systems, Languages, and Applications (OOPSLA 2003) (2003)Google Scholar
  14. 14.
    Herlihy, M., et al.: Software transactional memory for dynamic-sized data structures. In: Proc. of the twenty-second annual symposium on Principles of distributed computing, pp. 92–101 (2003)Google Scholar
  15. 15.
    Kristensen, A.: JSR 110: SIP Servlet API version 1.0 (February 2003)Google Scholar
  16. 16.
    Lopes, C.: D: A language framework for distributed programming. PhD thesis, Northeastern University (1997)Google Scholar
  17. 17.
    Luchangco, V., Marathe, V.J.: Transaction synchronizers. In: 2005 Workshop on Synchronization and Concurrency in Object Oriented Languages (SCOOL 2005) held at OOPSLA 2005 (October 2005)Google Scholar
  18. 18.
    Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1997)zbMATHGoogle Scholar
  19. 19.
    Peterson, J.L., Silberschatz, A.: Operating System Concepts, 2nd edn. Addison–Wesley, Reading (1985)zbMATHGoogle Scholar
  20. 20.
    Rosenberg, J., et al.: SIP: Session Initiation Protocol, RFC 3261 (2002)Google Scholar
  21. 21.
    Rosenkrantz, D.J., Stearns, R.E., Philip, I., Lewis, M.: System level concurrency control for distributed database system. ACM Transactions on Database Systems 3(2), 178–198 (1978)CrossRefGoogle Scholar
  22. 22.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, 2nd edn. Addison–Wesley, Reading (2004)Google Scholar
  23. 23.
  24. 24.
    Smith, T.M., Bond, G.W.: ECharts for SIP servlets: a state-machine programming environment for VoIP applications. In: IPTComm 2007: Proceedings of the 1st international conference on Principles, systems and applications of IP telecommunications, pp. 89–98. ACM, New York (2007)CrossRefGoogle Scholar
  25. 25.
    Stirewalt, R.E.K., Behrends, R., Dillon, L.K.: Safe and reliable use of concurrency in multi-threaded shared memory sytems. In: Proc. of the 29th Annual IEEE/NASA Software Engineering Workshop (2005)Google Scholar
  26. 26.
    Apache Tomcat, http://tomcat.apache.org
  27. 27.
    Wilkiewicz, J., Kulkarni, M.: JSR 289 PR: SIP Servlet Specification v1.1Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Y. Huang
    • 1
  • L. K. Dillon
    • 1
  • R. E. K. Stirewalt
    • 1
  1. 1.Department of Computer Science and EngineeringMichigan State UniversityEast LansingUSA

Personalised recommendations