skip to main content
10.1145/1595637.1595647acmconferencesArticle/Chapter ViewAbstractPublication PagesiptcommConference Proceedingsconference-collections
research-article

A thread synchronization model for SIP servlet containers

Published: 07 July 2009 Publication History

Abstract

Multi-threaded SIP servlet containers pose difficult synchronization problems to application developers. On the one hand, if a container automatically locks resources for servlets according to some fixed protocol, this protocol is not likely to be appropriate for all applications. It may degrade performance or even introduce deadlock in some applications. On the other hand, leaving application programmers to code synchronization---while flexible---is prone to error. The logic to both infer the resources a servlet requires and then to lock the required resources is complex and cross-cutting. This "synchronization logic" can easily obscure an application's "business logic." Interleaving synchronization code with business code makes an application difficult to maintain and extend.
In this paper, we elaborate key dimensions of the thread synchronization problem for SIP servlet containers. We further propose a novel synchronization model for SIP servlet containers, which addresses these dimensions in a more comprehensive fashion than any existing model that we know of. Our synchronization model is highly flexible. It introduces abstractions to promote correctness, maintainabilty, and extensibility. We also describe a reference framework that implements these abstractions. To illustrate the benefits of our model, we describe a representative SIP application developed using this framework.

References

[1]
C. Artho, K. Havelund, and A. Biere. High-level data races. In Journal on Software Testing, Verification and Reliability (STVR), 2003.
[2]
R. Behrends. Designing and Implementing a Model of Synchronization Contracts in Object-Oriented Languages. PhD thesis, Michigan State University, East Lansing, Michigan USA, Dec. 2003.
[3]
R. Behrends and R. E. K. Stirewalt. The Universe Model: An approach for improving the modularity and reliability of concurrent programs. In Proc. of FSE'2000, 2000.
[4]
A. Betin-Can and T. Bultan. Verifiable concurrent programming using concurrency controllers. In Proc. of the IEEE International Conference on Automated Software Enginerring, 2004.
[5]
X. Deng et al. Invariant-based specification, synthesis, and verification of synchronization in concurrent programs. In Proc. of the IEEE International Conference on Software Engineering (ICSE'02), 2002.
[6]
P. B. Hansen. Structured multiprogramming. Commun. ACM, 15(7):574--578, 1972.
[7]
D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot. Statemate: a working environment for the development of complex reactive systems. Software Engineering, IEEE Transactions on, 16(4):403--414, Apr 1990.
[8]
M. Haustein and K.-P. Löhr. Jac: declarative java concurrency: Research articles. Concurr. Comput.: Pract. Exper., 18(5):519--546, 2006.
[9]
C. A. R. Hoare and R. H. Perrott Ed. Towards a theory of parallel programming. London: Academic, 1972.
[10]
Y. Huang, L. K. Dillon, and R. E. K. Stirewalt. On mechanisms for deadlock avoidance in SIP servlet containers. In H. Schulzrinne, R. State, and S. Niccolini, editors, IPTComm, volume 5310 of Lecture Notes in Computer Science, pages 196--216. Springer, 2008.
[11]
Y. Huang, L. K. Dillon, and R. E. K. Stirewalt. Prototyping synchronization policies for existing programs. In The 17th IEEE International Conference on Program Comprehension, ICPC 2009, 2009.
[12]
W. Jouve, N. Palix, C. Consel, and P. Kadionik. A SIP-based programming framework for advanced telephony applications. pages 1--20, 2008.
[13]
J. Larus and C. Kozyrakis. Transactional memory. Commun. ACM, 51(7):80--88, 2008.
[14]
E. A. Lee. The problem with threads. Computer, 39(5):33--42, 2006.
[15]
T. Mens and M. Wermelinger. Separation of concerns for software evolution. Journal of Software Maintenance, 14(5):311--315, 2002.
[16]
B. Meyer. Applying design by contract. IEEE Computer, 25(10), 1992.
[17]
T. M. Smith and G. W. Bond. ECharts for SIP servlets: a state-machine programming environment for voip applications. In IPTComm '07: Proceedings of the 1st international conference on Principles, systems and applications of IP telecommunications, pages 89--98, New York, NY, USA, 2007. ACM.
[18]
J. Wilkiewicz and M. Kulkarni. JSR 289: SIP servlet specification v1.1.

Cited By

View all
  • (2017)Exogenous coordination of concurrent software components with JavaBIPSoftware: Practice and Experience10.1002/spe.249547:11(1801-1836)Online publication date: 3-Apr-2017
  • (2011)Developing interactive multi-user VoIP applications using synchronization contracts with EChartsProceedings of the 5th International Conference on Principles, Systems and Applications of IP Telecommunications10.1145/2124436.2124446(1-2)Online publication date: 1-Aug-2011
  • (2011)Contract-based synchronization of IP telecommunication servicesProceedings of the 5th International Conference on Communication System Software and Middleware10.1145/2016551.2016556(1-12)Online publication date: 4-Jul-2011

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
IPTComm '09: Proceedings of the 3rd International Conference on Principles, Systems and Applications of IP Telecommunications
July 2009
140 pages
ISBN:9781605587677
DOI:10.1145/1595637
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 July 2009

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

IPTComm '09
Sponsor:

Acceptance Rates

Overall Acceptance Rate 18 of 62 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Exogenous coordination of concurrent software components with JavaBIPSoftware: Practice and Experience10.1002/spe.249547:11(1801-1836)Online publication date: 3-Apr-2017
  • (2011)Developing interactive multi-user VoIP applications using synchronization contracts with EChartsProceedings of the 5th International Conference on Principles, Systems and Applications of IP Telecommunications10.1145/2124436.2124446(1-2)Online publication date: 1-Aug-2011
  • (2011)Contract-based synchronization of IP telecommunication servicesProceedings of the 5th International Conference on Communication System Software and Middleware10.1145/2016551.2016556(1-12)Online publication date: 4-Jul-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media