Abstract
Significant research efforts for the convergence of web and telecommunication services have been recently spent by research and industry stakeholders. The IETF and W3C are cooperating in specifying how web browsers should evolve to natively support communication services. In this perspective, devising novel mechanisms for signaling message exchange and possible interworking between Web- and SIP-based systems is a hot topic of research. Indeed, discussions are still ongoing on how differences between REpresentational state transfer (REST) and session initiation protocol (SIP) models should be coped with. This issue is made more difficult by the lack of rigorous modeling of RESTful systems. In this paper we propose a rigorous approach for design and implementation of REST communication services (e.g., a call service) which leverages formal verification techniques, while allowing to meet a specific performance requirement (i.e., maximum call setup delay). First, we formalize the call resource behavior through a Finite State Machine representation by modeling and simulating service expected behavior and its interworking with SIP User Agents through a tool for the analysis of communicating state machines. Then, we use the model-checking capabilities offered by the tool for the verification of formal properties. Finally, we implement a prototype that, thanks to the previous formalization step, is shown to be functionally correct, while yielding acceptable performance.
Similar content being viewed by others
Notes
The use of verbs in URI fragments is a common practice in web development outside of REST.
References
3GPP (2009) Open Service Access (OSA); Parlay X web services; Part 1: Common. 3GPP TS 29.199-01
Agarwal, S. (2012). Real-time web application roadblock: Performance penalty of html sockets. In: 2012 IEEE International Conference on Communications (ICC) (pp. 1225–1229). doi:10.1109/ICC.2012.6364271
Aijaz, F., Ali, S., Chaudhary, M., & Walke, B. (2009). Enabling high performance mobile web services provisioning. In Vehicular Technology Conference Fall (VTC 2009-Fall), 2009 IEEE 70th (pp. 1–6).
Alarcon, R., Wilde, E., & Bellido, J. (2011). Hypermedia-driven restful service composition. Service-oriented computing (pp. 111–120). Berlin: Springer.
Alvestrand, H. (2013). Real Time Protocols for Browser-based Applications. Internet-Draft, IETF. http://tools.ietf.org/html/draft-ietf-rtcweb-overview-08
Amirante, A., Castaldi, T., Miniero, L., & Romano, S. P. (2013). On the seamless interaction between webRTC browsers and SIP-based conferencing systems. IEEE Communications Magazine, 51(4), 42–47.
Amirante, A., Castaldi, T., Miniero, L., & Romano, S.P. (2014). Janus: A general purpose webrtc gateway. In Proceedings of the conference on principles, systems and applications of ip telecommunications, ACM, New York, NY, USA, IPTComm ’14. (pp. 7:1–7:8). doi:10.1145/2670386.2670389
Bai, Y., Ye, X., & Ma, Y. (2011). Formal modeling and analysis of sip using colored petri nets. In 7th International conference on wireless communications, networking and mobile computing (WiCOM), 2011 (pp. 1–5). doi:10.1109/wicom.2011.6040445
Becucci, M., Fantechi, A., Giromini, M., & Spinicci, E. (2005). A comparison between handwritten and automatic generation of c code from sdl using static analysis. Software: Practice and Experience, 35(14), 1317–1347. doi:10.1002/spe.673.
Belqasmi, F., Glitho, R., & Fu, C. (2011). Restful web services for service provisioning in next-generation networks: A survey. IEEE Communications Magazine, 49(12), 66–73.
Bergkvist, A., Burnett, D. C., Jennings, C. & Narayanan, A. (2012). WebRTC 1.0: Real-time Communication Between Browsers. W3C Working Draft, W3C, http://www.w3.org/TR/webrtc/
Bond, G., Cheung, E., Fikouras, I., & Levenshteyn, R. (2009). Unified telecom and web services composition: Problem definition and future directions. In Proceedings of the 3rd international conference on principles, systems and applications of IP telecommunications, ACM, New York, NY, USA, IPTComm ’09. (pp. 13:1–13:12). doi:10.1145/1595637.1595654
Bizer, C., Heath, T., & Berners-Lee, T. (2009). Linked data-the story so far. Journal on Semantic Web and Information Systems, 5(3), 1–22.
Chen, N., Chen, Z., Zheng, X., & Chen, G. (2013). Mobile cloud based system architecture for remote-resident multimedia discovery and access. In Web information system and application conference (WISA), 2013 10th (pp. 361–364)
Chou, W., Li, L., & Liu, F. (2008). Web services for communication over IP. IEEE Communications Magazine, 46(3), 136–143. doi:10.1109/MCOM.2008.4463784.
Clarke, E. M., Emerson, E. A., & Sistla, A. P. (1986). Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems (TOPLAS), 8(2), 244–263.
Davids, C., Johnston, A., Singh, K., Sinnreich, H., & Wimmreuter, W. (2011). SIP APIs for voice and video communications on the web. In Proceedings of the 5th international conference on principles, systems and applications of IP telecommunications, ACM, New York, NY, USA, IPTcomm ’11. (pp. 2:1–2:7). doi:10.1145/2124436.2124439
Ding, L.G., & Liu, L. (2008). applications and theory of petri nets: 29th international conference, PETRI NETS 2008, Xi’an, China, June 23–27, 2008. In: Proceedings, Springer Berlin Heidelberg, Berlin, Heidelberg, chap Modelling and Analysis of the INVITE Transaction of the Session Initiation Protocol Using Coloured Petri Nets (pp. 132–151). doi:10.1007/978-3-540-68746_12
Erl, T. (2007). SOA principles of service design (The Prentice Hall service-oriented computing series from Thomas Erl). Upper Saddle River, NJ: Prentice Hall PTR.
Fette, I., & Melnikov, A. (2011). The WebSocket Protocol. RFC 6455, http://tools.ietf.org/rfc/rfc6455.txt
Fielding, R. (2000). Architectural styles and the design of network-based software architectures. PhD Thesis.
Fielding, R. T. (2008). REST API must be hypertext driven. http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
Fielding, R. T., & Taylor, R. N. (2002). Principled design of the modern web architecture. ACM Transactions on Internet Technology (TOIT), 2(2), 115–150.
Fu, C., Belqasmi, F., & Glitho, R. (2010). RESTful web services for bridging presence service across technologies and domains: An early feasibility prototype. IEEE on Communications Magazine, 48(12), 92–100. doi:10.1109/MCOM.2010.5673078.
Griffin, D., & Pesch, D. (2007). A survey on web services in telecommunications. IEEE on Communications Magazine, 45(7), 28–35. doi:10.1109/MCOM.2007.382657.
Griffin, K., & Flanagan, C. (2011). Defining a call control interface for browser-based integrations using representational state transfer. Computer Communications, 34(2), 140–149. doi:10.1016/j.comcom.2010.03.029.
Hameseder, K., Fowler, S., & Peterson, A. (2011). Performance analysis of ubiquitous web systems for smartphones. In 2011 International symposium on performance evaluation of computer telecommunication systems (SPECTS) (pp. 84–89)
Handley, M., & Jacobson, V. (1998). SDP: Session Description Protocol. RFC 2327, http://www.ietf.org/rfc/rfc2327.txt
Holzmann, G. (2003). Spin model checker, the: Primer and reference manual (1st ed.). Reading, MA: Addison-Wesley.
Huang, M., & Zhu, L. (2012). Research for network fault real-time alarm system based on pushlet. In 2012 International conference on industrial control and electronics engineering (ICICEE) (pp. 212–215). doi:10.1109/ICICEE.2012.63
IBM Rhapsody (2013) http://www-03.ibm.com/software/products/en/ratirhapfami
Imre, G. & Mezei, G. (2016). Introduction to a websocket benchmarking infrastructure. In 2016 Zooming innovation in consumer electronics international conference (ZINC) (pp. 84–87). doi:10.1109/ZINC.2016.7513661.
Islam, S., & Gregoire, J. (2013). Converged access of IMS and web services: A virtual client model. IEEE Network, 27(1), 37–44.
Ivanov, I. (2008). Mobicents Communication Platform. http://www.mobicents.org/index.html
Juneau, J. (2013). New Servlet Features. In Introducing Java EE 7, Apress (pp. 1–14). doi:10.1007/978-1-4302-5849-0_1.
Kellokoski, J., Tukia, E., Wallenius, E., Hamalainen, T., & Naarmala, J. (2010). Call and messaging performance comparison between IMS and SIP networks. In 2010 IEEE 4th international conference on internet multimedia services architecture and application (IMSAA), (pp. 1–5). doi:10.1109/IMSAA.2010.5729396.
Li, L., & Chou, W. (2010). Design Patterns for RESTful Communication Web Services. In 2010 IEEE international conference on Web Services (ICWS) (pp. 512–519).
Li, L. & Zhang, X. (2012). Research on the integration of RTCWeb technology with IP multimedia subsystem. In Image and Signal Processing (CISP), 2012 5th International Congress on, IEEE (pp. 1158–1161).
Lozano, D., Galindo, L. A., & García, L. (2008). WIMS 2.0: Converging IMS and Web 2.0. Designing REST APIs for the Exposure of Session-Based IMS Capabilities. In Proceedings of the 2008 the second international conference on next generation mobile applications, services, and technologies, IEEE Computer Society, Washington, DC, USA, NGMAST ’08 (pp. 18–24). doi:10.1109/NGMAST.2008.97.
Mazzanti, F. (2015). UMC model checker. http://fmt.isti.cnr.it/umc/V4.11/umc.html
Menkens, C., & Wuertinger, M. (2011). From service delivery to integrated SOA based application delivery in the telecommunication industry. Journal of Internet Services and Applications, 2(2), 95–111.
Moriya, T., & Akahani, J. (2010). Application programming gap between telecommunication and internet. IEEE Communications Magazine, 48(8), 96–102.
Mulligan, C. (2009). Open API standardization for the NGN platform. IEEE Communications Magazine, 47(5), 108–113. doi:10.1109/MCOM.2009.4939285.
Nicolas, G., Sbata, K., & Najm, E. (2011). Architecting end-to-end convergence of web and Telco services. In Proceedings of the 13th international conference on information integration and web-based applications and services, ACM, New York, NY, USA, iiWAS ’11 (pp. 98–105). doi:10.1145/2095536.2095555.
OMA (2006). OMA Web Services Enabler OWSER Core Specification. Approved Version 1.1, Open Mobile Alliance
OMA. (2012). Enabler Release Definition for RESTful bindings for Parlay X Web Services. Tech. Rep. V2, Open Mobile Alliance, http://technical.openmobilealliance.org/Technical/release_program/docs/CopyrightClick.aspx?pck=ParlayREST&file=V2_0-20120724-A/OMA-ERELD-ParlayREST-V2_0-20120724-A.pdf
OMA. (2015). RESTful Network API for WebRTC Signaling. Tech. Rep. V1.0, Open Mobile Alliance
Paganelli, F., Turchi, S., & Giuli, D. (2014). A web of things framework for RESTful applications and its experimentation in a smart city. Systems Journal IEEE, 99, 1–12. doi:10.1109/JSYST.2014.2354835.
Parastatidis, S., Webber, J., Silveira, G., & Robinson, I.S. (2010). The role of hypermedia in distributed system development. In Proceedings of the first international workshop on RESTful design, ACM, New York, NY, USA, WS-REST ’10 (pp. 16–22). doi:10.1145/1798354.1798379.
Pimentel, V., & Nickerson, B. (2012). Communicating and displaying real-time data with websocket. IEEE Internet Computing, 16(4), 45–53. doi:10.1109/MIC.2012.64.
Porres, I., & Rauf, I. (2011). Modeling behavioral restful web service interfaces in uml. In Proceedings of the 2011 ACM symposium on applied computing, ACM (pp. 1598–1605).
Qadir, J., & Hasan, O. (2014). Applying formal methods to networking: Theory, techniques and applications. IEEE Communications Surveys Tutorials, 99, 1–1. doi:10.1109/COMST.2014.2345792.
Richardson, L., & Ruby, S. (2007). RESTful web services. Sebastopol: OReilly & Associates.
Rosenberg, J. (2010). Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocol. RFC 5245, http://www.ietf.org/rfc/rfc5245.txt
Rosenberg, J., & Schulzrinne, H. (2002). An Offer/Answer Model with Session Description Protocol (SDP). RFC 3264 (Proposed Standard), http://www.ietf.org/rfc/rfc3264.txt
Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., & Schooler, E. (2002). SIP: session initiation protocol. RFC 3261, http://www.ietf.org/rfc/rfc3261.txt
Sege, P., Palch, P., Papn, J., & Kubina, M. (2014). The integration of webrtc and sip: Way of enhancing real-time, interactive multimedia communication. In 2014 IEEE 12th international conference on emerging elearning technologies and applications (ICETA) (pp. 437–442). doi:10.1109/ICETA.2014.7107624.
Singh, K., & Krishnaswamy, V. (2013). A case for sip in javascript. IEEE Communications Magazine, 51(4), 28–33. doi:10.1109/MCOM.2013.6495757.
Sinnreich, H., & Wimmreuter, W. (2010). Communications on the web. Elektrotechnik und Informationstechnik, 127(6), 187–194. doi:10.1007/s00502-010-0742-l.
SIPp (2012). SIPp: Open Source test tool/traffic generator for the SIP protocol. http://sipp.sourceforge.net/
ter Beek, M., Fantechi, A., Gnesi, S., & Mazzanti, F. (2008). An action/state-based model-checking approach for the analysis of communication protocols for service-oriented applications. In S. Leue & P. Merino (Eds.), Formal methods for industrial critical systems, lecture notes in computer science (Vol. 4916, pp. 133–148). Berlin: Springer. doi:10.1007/978-3-540-79707-4_11.
ter Beek, M. H., Mazzanti, F., & Gnesi, S. (2009). CMC-UMC: A framework for the verification of abstract service-oriented properties. In Proceedings of the 2009 ACM symposium on applied computing, ACM, New York, NY, USA, SAC ’09. (pp. 2111–2117). doi:10.1145/1529282.1529751
Vingarzan, D., et al. (2007). IMS/NGN Performance Benchmark Part 2: Subsystem Configurations and Benchmarks. http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=25501, eTSI/TISPAN 6 Workitem 06024-2
Zave, P. (2008). Understanding sip through model-checking. In H. Schulzrinne, R. State, & S. Niccolini (Eds.), Principles, systems and applications of IP telecommunications. Services and security for next generation networks, lecture notes in computer science (pp. 256–279). Berlin: Springer.
Zuzak, I., Budiselic, I., & Delac, G. (2011). A finite-state machine approach for modeling and analyzing RESTful systems. Journal of Web Engineering, 10(4), 353–390.
Acknowledgements
The authors acknowledge the technical support by Luca Capannesi and Lorenzo Mazzi, from the University of Firenze.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Paganelli, F., Ambra, T., Fantechi, A. et al. Formalizing REST APIs for web-based communication and SIP interworking. Telecommun Syst 66, 75–93 (2017). https://doi.org/10.1007/s11235-016-0271-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11235-016-0271-2