Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

System Assurances: Modeling and Management
System Assurances: Modeling and Management
System Assurances: Modeling and Management
Ebook1,160 pages10 hours

System Assurances: Modeling and Management

Rating: 0 out of 5 stars

()

Read preview

About this ebook

System Assurances: Modeling and Management updates on system assurance and performance methods using advanced analytics and understanding of software reliability growth modeling from today’s debugging team’s point-of-view, along with information on preventive and predictive maintenance and the efficient use of testing resources. The book presents the rapidly growing application areas of systems and software modeling, including intelligent synthetic characters, human-machine interface, menu generators, user acceptance analysis, picture archiving and software systems. Students, research scholars, academicians, scientists and industry practitioners will benefit from the book as it provides better insights into modern related global trends, issues and practices.
  • Provides software reliability modeling, simulation and optimization
  • Offers methodologies, tools and practical applications of reliability modeling and resources allocation
  • Presents cost modeling and optimization associated with complex systems
LanguageEnglish
Release dateFeb 16, 2022
ISBN9780323902410
System Assurances: Modeling and Management

Related to System Assurances

Related ebooks

Applications & Software For You

View More

Related articles

Reviews for System Assurances

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    System Assurances - Prashant Johri

    Chapter 1: Statistical analysis approach for the quality assessment of open-source software

    Yoshinobu Tamuraa; Shigeru Yamadab    a Yamaguchi University, Yamaguchi, Japan

    b Graduate School of Engineering, Tottori University, Tottori, Japan

    Abstract

    Many open-source software are applied for various purposes. Recently, the open-source software has been embedded in the areas of cloud and edge computing. For example, the StarlingX component of Edge has become the top project in OpenStack.

    Also, the trend of fault data is different from that of each open-source project. There are many kinds of open-source software (OSS) such as server software, application one, cloud one, edge one, embedded one, etc.

    In this chapter, we discuss the statistical analysis method by considering the characteristic quality trends of OSS development project. Statistical analysis method such as correspondence analysis is used in order to understand the trend of large-scale fault data recorded on the fault tracking system in OSS development project.

    Moreover, the statistical numerical examples using actual fault large-scale data in OSS development projects are illustrated by using our methods proposed in this chapter. Finally, this chapter shows that the proposed method based on statistical analysis will be able to measure the reliability under the OSS development project.

    Keywords

    Statistical analysis; Fault large-scale data; Open-source software; Software quality

    Acknowledgment

    This work was supported in part by the JSPS KAKENHI Grant no. 20K11799 in Japan.

    1.1: Introduction

    At present, many OSS (open source software) are used in many software development organizations. Also, many commercial software have been developed by embedding several OSS components because of standardization, cost reduction, quick delivery, etc. Various methods for software reliability assessment of OSS system have been proposed by several researchers [1–3].

    Moreover, many OSS systems have used the fault tracking systems such as the Bugzilla. Also, many research papers have discussed the methods in terms of the fault tracking system [4–13].

    In this chapter, we discuss statistical analysis such as correspondence analysis. In particular, we apply correspondence analysis to the fault large-scale data of OSS. Then the discussed method based on correspondence analysis can be used to understand the whole trend of the fault large-scale data of OSS. Correspondence analysis has been used in many marketing areas. Also, several research papers have been proposed by using correspondence analysis [14–16].

    Moreover, several numerical examples based on the fault large-scale data in actual OpenStack cloud projects of OSS are shown by using the statistical method applied in this chapter. Then the numerical examples of visualization based on correspondence analysis are shown in this chapter. Finally, we show that the applied method will be useful to understand the reliability trend of OSS for the quality assessment of OSS developed under the OSS project.

    1.2: Correspondence analysis

    Correspondence analysis is well known as one of the multivariate analyses for qualitative data. In particular, the main purpose of correspondence analysis is visualization. In correspondence analysis, our methods make a visualization by using the survey items and attribute ones. Then the correlation coefficient is maximized for the data visualization.

    This chapter focuses on the visualization of fault large-scale data of OSS by using correspondence analysis. By using correspondence analysis, we can easily understand the whole reliability trend of OSS because of the bird’s-eye view of correspondence analysis. Many correspondence analyses are used in the marketing area. However, we consider that the correspondence analysis is helpful to understand the whole reliability trend. We use the fault count encoding for the correspondence analysis of OSS fault large-scale data because the software fault data have been used by many software reliability growth models. Thereby, we can comprehend the whole reliability trend by using the fault collection data based on the fault count encoding one.

    si1_e    (1.1)

    si2_e    (1.2)

    si3_e    (1.3)

    where γij is the data for the first variable i and second variable j.

    Then the mean values of the first variable i and the second variable j are as follows:

    si4_e    (1.4)

    si5_e    (1.5)

    where pi is the weight parameter in the first variable i. Similarly, qj is the weight parameter in the first variable j, n is the number of variables. Therefore, the correlation coefficient is given by

    si6_e

       (1.6)

    The estimate of the correlation coefficient ρ⁎ is the value making ρ of Eq. (1.6) maximize. The estimate can be given from the solutions of the following

    si7_e    (1.7)

    1.3: Estimation procedure based on correspondence analysis

    The estimation steps based on the correspondence analysis are as follows:

    1.The raw fault large-scale data is obtained from the fault tracking system.

    2.The count encoding data is converted from the raw fault large-scale data.

    3.The pivot tables are made for each factor of the fault category.

    4.We make a correspondence analysis by using the data sets in the pivot table.

    5.We discuss the results of the correspondence analysis.

    Moreover, we apply the following fault category data to the correspondence analysis:

    •Nickname for fault assignee

    •Name for software component

    •Name for hardware

    •Name for OS

    •Nickname for fault reporter

    •Fault severity level

    •Status for software fault

    •Number for software version

    Then the data in each factor are encoded from the character data to the numerical values by using the count encoding from the standpoint of the relationship between the OSS reliability and OSS fault.

    1.4: Numerical examples

    This chapter shows several numerical illustrations for OpenStack Project [17] of OSS development project. In particular, StarlingX included in OpenStack projects are well known as the edge-OSS projects. At present, OpenStack projects that include StarlingX. It is useful to show several numerical illustrations for the cloud software. We show several numerical illustrations by using the StarlingX Project as the edge software.

    Figs. 1.1–1.8 show the estimated results based on correspondence analysis for assignee, component, hardware, OS, reporter, severity, status, and version. We discuss the estimated results for each factor as follows:

    •Nickname of fault assignee:

    Assignee and component exhibit a similar tendency.

    •Name of software component:

    Assignee and component exhibit a similar tendency.

    •Name of hardware:

    ppc641e and x84_64 show different trends.

    •Name of operating system:

    Hardware and OS exhibit a similar tendency.

    •Nickname of fault reporter:

    Hardware, OS, and reporter exhibit a similar tendency.

    •Fault severity level:

    The low level of fault severity is related to the Reporter.

    •Status of software fault:

    The reporter and assignee have a specific role.

    •Number of software version:

    The old and new versions have a specific role for the assignee and the reporter, respectively.

    Fig. 1.1

    Fig. 1.1 The estimated results based on correspondence analysis for assignee.

    Fig. 1.2

    Fig. 1.2 The estimated results based on correspondence analysis for component.

    Fig. 1.3

    Fig. 1.3 The estimated results based on correspondence analysis for hardware.

    Fig. 1.4

    Fig. 1.4 The estimated results based on correspondence analysis for OS.

    Fig. 1.5

    Fig. 1.5 The estimated results based on correspondence analysis for reporter.

    Fig. 1.6

    Fig. 1.6 The estimated results based on correspondence analysis for severity.

    Fig. 1.7

    Fig. 1.7 The estimated results based on correspondence analysis for status.

    Fig. 1.8

    Fig. 1.8 The estimated results based on correspondence analysis for version.

    The correspondence analyses such as Figs. 1.1–1.8 will be highly useful for the edge-OSS developers to understand the reliability of edge-OSS project from various perspectives. Especially, edge-OSS project is structured from assignee, component, hardware, OS, reporter, severity, status, version, etc. By focusing on various factors such as assignee, component, hardware, OS, reporter, severity, status, and version, the edge-OSS developers can understand the reliability of edge OSS from various perspectives.

    1.5: Concluding remarks

    This chapter focuses on statistical analysis by using correspondence analysis for OSS projects. The quality control for OSS is highly important for the edge-OSS developers to manage the edge-OSS quality, software reliability, and cost saving of edge-OSS projects. This chapter has proposed the visualization method based on the correspondence analysis for OSS assessment considering the whole OSS system. It is highly difficult for the edge-OSS project managers to make a visualization of the reliability trend of whole OSS. Then this chapter has discussed several numerical illustrations of visualization based on the correspondence analysis. The discussed method will be available as the reliability visualization method based on the visualization considering the component-based assessment for whole OSS.

    References

    [1] Yamada S., Tamura Y. OSS Reliability Measurement and Assessment. Switzerland: Springer International Publishing; 2016.

    [2] Norris J. Mission-critical development with open source software. IEEE Softw. Mag. 2004;21(1):42–49.

    [3] Zhou Y., Davis J. OSS reliability model: an empirical approach. In: Proceedings of the Fifth Workshop on OSS Engineering. 2005:67–72.

    [4] Yamada S. Software Reliability Modeling: Fundamentals and Applications. Tokyo/Heidelberg: Springer-Verlag; 2014.

    [5] Lamkanfi A., Pérez J., Demeyer S. The Eclipse and Mozilla defect tracking dataset: A genuine dataset for mining bug information. In: Proceedings of 2013 10th Working Conference on Mining Software Repositories (MSR), San Francisco, CA. 2013:203–206. doi:10.1109/MSR.2013.6624028.

    [6] Kaur A., Jindal S.G. Bug report collection system (BRCS). In: Proceedings of 2017 7th International Conference on Cloud Computing, Data Science & Engineering—Confluence, Noida. 2017:697–701. doi:10.1109/CONFLUENCE.2017.7943241.

    [7] Zhang T., Lee B. A bug rule based technique with feedback for classifying bug reports. In: Proceedings of 2011 IEEE 11th International Conference on Computer and Information Technology, Paphos, Cyprus. 2011:336–343. doi:10.1109/CIT.2011.90.

    [8] Just S., Premraj R., Zimmermann T. Towards the next generation of fault tracking systems. In: Proceedings of 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, Herrsching am Ammersee. 2008:82–85. doi:10.1109/VLHCC.2008.4639063.

    [9] Zimmermann T., Premraj R., Sillito J., Breu S. Improving fault tracking systems. In: Proceedings of 2009 31st International Conference on Software Engineering-Companion Volume, Vancouver, BC. 2009:247–250. doi:10.1109/ICSE-COMPANION.2009.5070993.

    [10] Gujral S., Sharma G., Sharma S., Diksha. Classifying bug severity using dictionary based approach. In: Proceedings of 2015 International Conference on Futuristic Trends on Computational Analysis and Knowledge Management (ABLAZE), Noida. 2015:599–602. doi:10.1109/ABLAZE.2015.7154933.

    [11] Khan A.W., Kumar S. An expert system framework for bug tracking and management. In: Proceedings of 2020 International Conference on Information Science and Communication Technology (ICISCT), KARACHI, Pakistan. 2020:1–9. doi:10.1109/ICISCT49550.2020.9080048.

    [12] Otoom A.F., Al-Shdaifat D., Hammad M., Abdallah E.E. Severity prediction of software bugs. In: Proceedings of 2016 7th International Conference on Information and Communication Systems (ICICS), Irbid. 2016:92–95. doi:10.1109/IACS.2016.7476092.

    [13] Yuk Y., Jung W. Comparison of extraction methods for fault tracking system analysis. In: Proceedings of 2013 International Conference on Information Science and Applications (ICISA), Pattaya, Thailand. 2013:1–2. doi:10.1109/ICISA.2013.6579462.

    [14] Ida M. Sensitivity analysis for correspondence analysis and visualization. In: Proceedings of 2009 ICCAS-SICE, Fukuoka. 2009:735–740.

    [15] Ahn H., Park C., Kim K.P. A correspondence analysis framework for workflow-supported performer-activity affiliation networks. In: Proceedings of 16th International Conference on Advanced Communication Technology, Pyeongchang. 2014:350–354. doi:10.1109/ICACT.2014.6778980.

    [16] Qin X., Wei Q., Hu Y. A modified method on economic capital distribution of commercial banks based on correspondence analysis. In: Proceedings of 2011 2nd International Conference on Artificial Intelligence, Management Science and Electronic Commerce (AIMSEC), Dengleng. 2011:6503–6508. doi:10.1109/AIMSEC.2011.6010440.

    [17] The OpenStack project. Build the future of Open Infrastructure. https://www.openstack.org/.

    Yoshinobu Tamura received the BSE, MS, and PhD degrees from Tottori University in 1998, 2000, and 2003, respectively. From 2003 to 2006, he was a research assistant at Tottori University of Environmental Studies. From 2006 to 2009, he was a Lecturer and Associate Professor at Hiroshima Institute of Technology, Hiroshima, Japan. From 2009 to 2017, he was an Associate Professor at the Graduate School of Sciences and Technology for Innovation, Yamaguchi University, Ube, Japan. From 2017 to 2019, he has been working as a professor at the Faculty of Knowledge Engineering, Tokyo City University, Tokyo, Japan. Since 2020, he has been working as a professor at the Faculty of Information Technology, Tokyo City University, Tokyo, Japan. Since 2021, he has been working as a professor at the Graduate School of Sciences and Technology for Innovation, Yamaguchi University, Ube, Japan. The research interests of Yoshinobu Tamura include reliability assessment for edge computing, cloud computing, big data, optimization, and reliability. He is a regular member of the Institute of Electronics, the Information and Communication Engineers of Japan, the Operations Research Society of Japan, the Society of Project Management of Japan, the Reliability Engineering Association of Japan, and the IEEE. He has authored the book entitled OSS Reliability Measurement and Assessment (Springer International Publishing, 2016). Dr. Tamura received the Presentation Award of the Seventh International Conference on Industrial Management in 2004, the IEEE Reliability Society Japan Chapter Awards 2007, the Research Leadership Award in Area of Reliability from the ICRITO 2010, the Best Paper Award of the IEEE International Conference on Industrial Engineering and Engineering Management in 2012, the title of honorary professor from Amity University of India in 2017, the Best Paper Award of the 24th ISSAT International Conference on Reliability and Quality in Design 2018.

    Shigeru Yamada received the BSE, M.S, and PhD degrees from Hiroshima University, Japan, in 1975, 1977, and 1985, respectively. Since 1993, he has been working as a professor at the Department of Social Management Engineering, Graduate School of Engineering, Tottori University, Japan. He has published over 500 reviewed technical papers in the area of software reliability engineering, project management, reliability engineering, and quality control. He has authored several books entitled Introduction to Software Management Model (Kyoritsu Shuppan, 1993), Software Reliability Models: Fundamentals and Applications (JUSE, Tokyo, 1994), Statistical Quality Control for TQM (Corona Publishing, Tokyo, 1998), Software Reliability: Model, Tool, Management (The Society of Project Management, 2004), Quality-Oriented Software Management (Morikita Shuppan, 2007), Elements of Software Reliability Modeling Approach (Kyoritsu Shuppan, 2011), Project Management (Kyoritsu Shuppan, 2012), Software Engineering: Fundamentals and Applications (Suurikougaku Publishing, 2013), Software Reliability Modeling: Fundamentals and Applications (Springer-Verlag 2014), and OSS Reliability Measurement and Assessment (Springer International Publishing 2016). Dr. Yamada received the Best Author Award from the Information Processing Society of Japan in 1992, the TELECOM System Technology Award from the Telecommunications Advancement Foundation in 1993, the Best Paper Award from the Reliability Engineering Association of Japan 1999, the International Leadership Award in Reliability Engineering Research from the ICQRIT/SREQOM 2003, the Best Paper Award at the 2004 International Computer Symposium, the Best Paper Award from the Society of Project Management in 2006, the Leadership Award from the ISSAT 2007, the Outstanding Paper Award at the IEEE International Conference on Industrial Engineering and Engineering Management (IEEM2008), the International Leadership and Pioneering Research Award in Software Reliability Engineering from the SREQOM/ICQRIT 2009, the Exceptional International Leadership and Contribution Award in Software Reliability at the ICRITO' 2010, 2011 Best Paper Award from the IEEE Reliability Society Japan Chapter 2012, the Leadership Award from the ISSAT 2014, the Project Management Service Award from the SPM 2014, the Contributions Award for Promoting OR from the ORSJ 2017, and the Research Award from the ISSAT 2017. He is a regular member of the IEICE, the Information Processing Society of Japan, the Operations Research Society of Japan, the Reliability Engineering Association of Japan, the Japan Industrial Management Association, the Japanese Society for Quality Control, the Society of Project Management, and the IEEE.

    Chapter 2: Analytical modeling and performance evaluation of SIP signaling protocol: Analytical modeling of SIP

    Nikesh Choudharya; Vandana Khaitan (nee Gupta)a; Vaneeta Goelb    a Department of Operational Research, University of Delhi, India

    b Satyawati College, University of Delhi, India

    Abstract

    In the past few years, Voice over Internet Protocol (VoIP) has emerged as the most preferred method of making voice calls over the Internet (Internet telephony) because of its low service cost and value-added features. Furthermore, Session Initiation Protocol (SIP) is the most recent application-layer protocol in the Transmission Control Protocol/Internet Protocol suite, widely used in Internet telephony (VoIP). It is a protocol of mounting importance, and hence it is highly desirable to study and evaluate its performance measures. In this chapter, we propose an analytical model of SIP under an unreliable transport protocol by using stochastic reward net (SRN) modeling technique. The objective of developing the analytical model for SIP is the performance evaluation of the SIP INVITE request. This chapter focuses on the INVITE request flow, which initiates a session between the client and the server. The proposed model incorporates all the important SIP features such as INVITE request, different types of responses, various timers, acknowledgment generation, retransmissions, and transport errors. In particular, certain measures of performance of SIP INVITE request such as throughput and latency are computed through the proposed SRN model. The viability of the proposed model is exhibited through numerical illustration. The suggested analytical model is also supported via simulation through MATLAB.

    Keywords

    Session Initiation Protocol (SIP); INVITE request; Stochastic reward net (SRN); Throughput; Latency

    Acknowledgments

    This research work was supported by a minor research grant (loE/FRP/PCMS/2020/27) under the Faculty Research Programme (FRP) of the IoE scheme of University of Delhi, Delhi, India. One of the authors (N.C.) would like to thank UGC, India for providing her financial support through non-NET fellowship.

    2.1: Introduction

    Voice over Internet Protocol (VoIP) (also known as IP telephony) is an approach and collection of technologies for transmitting voice and multimedia sessions over IP networks. It has been actively used everywhere due to its economical cost and noted flexibility related to Public Switched Telephone Networks (PSTN) [1]. One of the most powerful VoIP signaling protocols is the Session Initiation Protocol (SIP) [2]. It is an application-layer signaling protocol introduced by the Internet Engineering Task Force (IETF) considering Request for Comments (RFC) 3261 in 2002. It was formerly designed by the Network Working Group (NWG) for creating, modifying, and tear-down multimedia sessions. This protocol can work on both Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). It also works with other protocols such as session description protocol (SDP), real-time transmission (RTP), resource reservation protocol (RSVP), session announcement protocol (SAP), lightweight directory access protocol (LDAP), real-time streaming protocol (RTSP), and remote authentication dial-in user service protocol (RADIUS).

    SIP is also known as a transaction-oriented protocol by which messages are carried out through different transactions. The transaction mechanism in SIP controls the exchange of messages between the client and the server and reliably delivers these messages. The two major SIP transactions are the INVITE transaction and the non-INVITE transaction. For establishing a session, the INVITE transaction is used, and for modifying and terminating a session, the non-INVITE transaction is used [3]. In the INVITE transaction, the client sends the INVITE request or acknowledgments to the server, and the server sends different types of responses corresponding to these requests and acknowledgments. Predicting its importance and magnificent potential to grow as a major signaling protocol, IETF chose to operate SIP over H.323 protocol. Despite its potential to succeed H.323, many years of implementation and experimentation have been conducted in the SIP specification, RFC 3261 [4]. The SIP architecture considered in the chapter is adopted from Ref. [4]. Modeling and interpreting SIP specifications using approved methods can assist in ensuring that the phrasing of RFC 3261 is accurate, certain, and user friendly. IETF has published a revised version of the SIP specification, RFC 6026 [5], in September 2010. It also invites people for unicast and multicast sessions.

    2.2: Background work

    Since put into operation in 2002, SIP has been an interesting research topic. Most of the research articles in SIP are based on its working and services. Suryawanshi et al. [2] described the architecture of SIP, its message types, its applications, and many more. The authors in Ref. [3] discussed the call flow setup in SIP, different servers as a proxy server, network server, registrar server, and SIP security issues. The authors in Ref. [6] determined the potential association between two objects in a social network represented by a graph including edges and nodes. Howie et al. [7] described the advanced form of SIP and its use in collaborating peer-to-peer applications on cellular phones. The authors in Ref. [8] presented the communication protocol design to secure SIP regulated communication of VoIP.

    However, we observed that when it comes to the analysis and modeling of SIP, only a few research articles are available in the literature [9, 10]. Lin [9] suggested colored petri nets (CPNs) to design and analyze the INVITE transaction of SIP over the unreliable medium in which messages are reordered and lost. Barakovic et al. [10] considered the simulation model of SIP INVITE transaction designed using CPNs. According to this model, they concluded that the SIP INVITE transactions are free from live locks and dead codes and also observed that these dead codes are both desirable and undesirable at the same time. They also suggested that the INVITE transaction of SIP ought to be suppressed for further improvement to reduce unwanted deadlock. Filal and Bouhdadi [11] considered the reliable and unreliable medium of the SIP INVITE transaction and verified it by using the simulation technique of Event-B using the Rodin platform. Kizmaz and Kirci [12] accomplished that the timed colored petri nets (TCPNs) can be used to analyze the functional properties of SIP INVITE transactions.

    In the literature discussed earlier, we observe that most of the work on SIP is based on simulation. This inspired us to propose an analytical model for the performance analysis of the protocol.

    2.2.1: Motivation

    There is plenty of simulation-based research on SIP, but very less literature is available on the analytical modeling of the SIP INVITE transaction. This encouraged us to develop an analytical model for the SIP invite transaction because analytical models provide an absolutely precise connection between the inputs and the outputs. On the contrary, results obtained from simulation models are required to be statistically explained. Moreover, the results of the simulation model are time consuming, error prone, and expensive. The analytical model explains and concentrates on the research procedure mathematically and statistically. In contrast, the simulation model compares the research work to another related work following the equivalent simulator’s situation having similar parameters to test its performance. Hence, in this chapter, we construct an analytical model that provides an abstract representation of the SIP INVITE transaction and helps in analyzing its performance.

    Keeping in mind the dynamic behavior of SIP, a stochastic process, specifically a continuous-time Markov chain (CTMC), seems appropriate to develop the analytical model. However, the CTMC model is quite far away from the conventional feel of the system being modeled. Moreover, because of the complex functionality of the SIP, the corresponding CTMC is expected to have a very large state space. To overcome this issue of large state space, we consider proposing a stochastic reward net (SRN) model which is more crisp in its specifications and is almost same as the designer’s perception of the system. Also, many software packages are available that can spontaneously transform the SRN model into the underlying CTMC and solve it automatically. In addition to this, the SRN modeling technique has been effectively used in the literature to analyze the performance measures of different protocols, such as TCP [13], TCP NewReno [14], IEEE802.11 MAC [15], RLC protocol of LTE [16], etc. The SRN has proven to be the most suitable tool to describe the dynamic behavior of these protocols by providing a graphical understanding of the packet or message transmission. Hence, we propose an SRN model for the SIP INVITE transaction. Major features of SIP such as various timers, INVITE retransmission, response retransmission, together with the arrival of extra acknowledgments during retransmission are considered in the proposed model. SHARPE [17] software is then used for the numerical analysis of the suggested model. A brief introduction of SRN and its components is given in Section 2.3. For a detailed study on the SRN modeling technique, the reader can refer to Ref. [17].

    2.2.2: Main contribution

    The important contributions of this chapter are as follows:

    1.The chapter proposes an analytical model that provides an abstract representation of SIP INVITE transaction.

    2.The analytical model is developed for the SIP INVITE transaction over the unreliable medium using SRN modeling technique.

    3.All important features of SIP INVITE transaction such as timers, re-INVITEs, and retransmissions are incorporated in the SRN model.

    4.Performance measures such as throughput and latency of the SIP INVITE transaction are determined.

    5.The analytical results are validated with the help of discrete-event simulation performed using MATLAB.

    The remainder of this chapter is structured in the following manner. In Section 2.3.1, various types of SIP responses are discussed. Section 2.3.2 briefly presents the SIP layered structure and its working. The introduction of SRN and its basic components are discussed in Section 2.4.1. Section 2.4.2 presents the proposed SRN of the SIP INVITE transaction. In Section 2.5, the performance measures of the protocol are discussed. Section 2.6 represents the numerical observations corresponding to the measures of performances discussed in Section 2.5. In Section 2.7, the model validation details are presented. Finally, the chapter is concluded in Section 2.8.

    2.3: SIP layered structure and its working

    In this section, we discuss the layered structure of SIP INVITE request and its working in correspondence with the client and the server transactions. The SIP architecture we are considering in this chapter is adopted from Ref. [4].

    2.3.1: Types of responses of SIP

    Before beginning with SIP working, we first need to understand the various types of responses used in the protocol. When the client transaction transfers the INVITE request to the server transaction, the server transfers some responses to this INVITE request (see Table 2.1). These responses are described as follows:

    Table 2.1

    1xx (100–199) responses: These responses are called provisional responses. No or numerous provisional responses may appear before single or multiple successful or unsuccessful responses are accepted. Provisional responses meant for an INVITE request can produce early messages. These early messages in the ongoing session are represented by the 100 trying response to quench the INVITE request retransmission. These early messages will be required if the server requires to transmit a response to its client inside the message before the primary INVITE transaction ends. Provisional responses are also called informational responses. 1xx contains different responses such as 180-ringing, 181-call is being forwarded, 182-queued, etc.

    2xx (200–299) responses: These responses are called successful responses. There is a response in 2xx, which is represented as 200 OK. If the client receives 200 OK response from the server, it represents that the server successfully accepts the request. After receiving this successful response, the client sends an acknowledgment to the server.

    3xx (300–399) responses: 3xx responses provide details regarding the server’s position or optional settings that can probably complete the call. 3xx contains different responses such as 300-multiple responses, 301-moved permanently, 302-moved temporarily, etc.

    4xx (400–499) responses: 4xx responses are the server’s complete failure responses. The client cannot retransmit a similar request unless required corrections are done (e.g., attaching relevant authorization). 4xx includes responses such as 400 bad request, 401 unauthorized, etc.

    5xx (500–599) responses: These are the failure responses generated when the server encounters some errors. 5xx contains responses namely 500-server internal error, 501-not implemented, 502-bad gateway, etc.

    6xx (600–699) responses: 6xx responses show that the server contains comprehensive details regarding an appropriate client, and not merely the particular situation shown in the request. Different responses in 6xx are 600 busy everywhere, 603 decline, 604 does not exist anywhere, etc.

    All the responses from 3xx to 6xx (3xx–6xx) are called unsuccessful responses.

    2.3.2: Layered structure and working of SIP

    We discuss the layered structure and functioning of the SIP protocol in this section. SIP is structured into four layers, each performing a special task (see Fig. 2.1). Syntax and encoding is the lowest layer of the SIP layered structure. Augmented Backus-Naur Form (ABNF) grammar is used to specify the encoding of the lowest layer. The transport layer is the second layer from bottom to top. As mentioned earlier, this layer represents how a client transmits requests and accepts responses, as well as how a server accepts requests and transmits responses across the network. The third layer is the transaction layer which lies above the transport layer. This layer manages retransmission by the application layer and matches the responses to the requests and time-outs by the application layer in case of initiation and termination of a session. The topmost layer of the SIP layered structure is called the transaction user (TU). The TU generates and abandons transactions of SIP and makes use of services provided by the transaction layer.

    Fig. 2.1

    Fig. 2.1 SIP layered architecture.

    SIP is a transaction-oriented protocol that performs tasks from one transaction to another transaction. Therefore, among all the layers of SIP, the transaction layer is the most significant layer. There is only one INVITE request message in the SIP transaction, and corresponding to this INVITE request message, there are many response messages. The transaction is carried out through two sides: the client side and server side. The transactions that occur on the client side are known as client transactions, and the transactions that occur on the server side are known as server transactions. Requests are sent through client transactions, and responses are sent through server transactions. The objective of a client transaction is to create the INVITE request and transmit the request message to the server transaction. On the other hand, the server transaction accepts a request from the transaction layer and transfers it to its TU. Also, it takes responses from the TU and transfers these responses to the transaction layer. Depending on the pattern of the requests and responses received by the client TU and the server TU, there exist two kinds of client transactions, that is, INVITE client transaction and non-INVITE client transaction. INVITE client transaction is used to handle the INVITE requests, and the non-INVITE client transaction is used to handle all types of requests other than the INVITE requests and acknowledgments. Similarly, a server transaction is also of two kinds, INVITE server transaction and non-INVITE server transaction. The INVITE server transaction handles the responses regarding INVITE requests, and the non-INVITE server transaction is used to handle all types of responses other than the INVITE requests and acknowledgments. Fig. 2.2 presents a standard SIP message transaction to establish a session. The illustration comprises two user agents, client and server, and a proxy server. The client transmits an INVITE request showing that the client is ready to set up a session with the server. The server then sends different responses, a 100-trying response before sending a 200-OK, or 3xx–6xx response, which is used to quench the requested transmission. The 100-trying response symbolizes that the server has taken the INVITE request; the server sends the 200-OK to represent that he/she is ready to participate in this multimedia session, whereas 300–600 responses are comprised of many responses which represent that there is some error in the request. Upon acceptance of the 200-OK or 300–600 responses, the client forwards an ACK to acknowledge the acceptance of these responses. SIP manages bidirectional handshakes to set up a session: "INVITE request-100-Trying response and 200-OK (or 300–600) responses-ACK" handshake. The former handshake is among adjacent SIP nodes such as the client and the proxy, and the latter handshake is among the proxy and its ultimate destination, that is, server. The session is set up by receiving 200 OK responses from the server. Then the client begins the audio/video conversation. The audio/video data packets are transmitted by following transport protocols such as TCP, UDP, etc. When the client wants to terminate the call, a BYE message is transmitted to the server. The server approves the BYE message by sending a 200 OK response that tears down a session.

    Fig. 2.2

    Fig. 2.2 SIP working.

    2.4: Proposed SRN model of SIP INVITE transaction

    Before presenting the SRN model for the SIP-INVITE-transaction, we first discuss the basics of the SRN modeling technique.

    2.4.1: SRN and its attributes

    SRN is an enhanced version of stochastic petri nets (SPNs), and SPN is an extension of petri net (PN). PN is a bipartite directed graph in which the nodes are segregated into two disjoint sets, namely, places and transitions. PN is extended to SPN with time involvement, and a further extension of SPN is known as SRN. For complex systems, it is a top-level descriptive language. SRN has been established as a strong modeling tool for the performance analysis and reliability and availability computation of communication networks. Fig. 2.3 shows the general attributes of an SRN model, which are described as given below:

    Fig. 2.3

    Fig. 2.3 SRN components.

    1.Places: Places are represented by circles that indicate the state of the system. It can hold tokens and has infinite capacity by default. Tokens are illustrated as dots or numbers in the

    Enjoying the preview?
    Page 1 of 1