Operating system concepts (2nd ed.)
Operating system concepts (2nd ed.)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Object-oriented modeling and design for database applications
Object-oriented modeling and design for database applications
System level concurrency control for distributed database systems
ACM Transactions on Database Systems (TODS)
The universe model: an approach for improving the modularity and reliability of concurrent programs
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Invariant-based specification, synthesis, and verification of synchronization in concurrent programs
Proceedings of the 24th International Conference on Software Engineering
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Unified Modeling Language Reference Manual, The (2nd Edition)
Unified Modeling Language Reference Manual, The (2nd Edition)
Designing and implementing a model of synchronization contracts in object-oriented languages
Designing and implementing a model of synchronization contracts in object-oriented languages
Verifiable Concurrent Programming Using Concurrency Controllers
Proceedings of the 19th IEEE international conference on Automated software engineering
Safe and Reliable Use of Concurrency in Multi-Threaded Shared-Memory Systems
SEW '05 Proceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop
ECharts for SIP servlets: a state-machine programming environment for VoIP applications
Proceedings of the 1st international conference on Principles, systems and applications of IP telecommunications
A component-oriented model for the design of safe multi-threaded applications
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
Experience with component-based development of a telecommunication service
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
Contract-based synchronization of IP telecommunication services: a case study
Proceedings of the 5th International Conference on Communication System Software and Middleware
Developing interactive multi-user VoIP applications using synchronization contracts with ECharts
IPTcomm '11 Proceedings of the 5th International Conference on Principles, Systems and Applications of IP Telecommunications
Hi-index | 0.00 |
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.