Utilizing Multi-core for optimized Data Exchange via VoIP

Detta är en Master-uppsats från KTH/Skolan för elektroteknik och datavetenskap (EECS)

Författare: Sohrab Azami Ghadim; [2018]

Nyckelord: ;

Sammanfattning: In contemporary IT industry, Multi-tasking solutions are highly regarded as optimal solutions, because hardware is equipped with multi-core CPUs. With multicore technology, CPUs run with lower frequencies while giving same or better performance as a whole system of processing. This thesis work takes advantage of multi-threading architecture in order to run different tasks under different cores such as SIP signaling and messaging to establish one or more SIP calls, capture voice, medical data, and packetize them to be streamed over internet to other SIP agents. VoIP is designed to stream voice over IP. There is inter-protocol communication and cooperation such as between the SIP, SDP, RTP, and RTCP protocols in order to establish a SIP connection andafterwardsstream media over the Iinternet. We use the Microsoft COM technology in order to better the C++ component design. It allows us to design and develop code once and run it anywhere on different platforms. Using VC++ helps us reduce software design time and development time. Moreover, we follow software design standards setup by software engineers’ society. VoIP technology uses protocols such as the SIP signaling protocol to locate the user agents that communicate with each other. Pjsip is a library that allows developers to extend their design with SIP capability. We use the PJSIP library in order to sign up our own developed VoIP module to a SIP server over the Internet and locate other user agents. We implement and use the already-designed iRTP protocol instead of the RTP to stream media over the Internet. Thus, we can improve RTP packet delays and improve Quality of Service (QoS). Since medical data is critical and must not be lost, the iRTP guarantees no loss of medical data. If we want to stream voice only, we would not need iRTP, because RTP is a good protocol for voice applications. Due to the increasing Internet traffic, we need to use a reliable protocol that can detect packet loss of medical data. iRTP resolves the issue and leverages QoS. This thesis work focuses on streaming medical data and medical voice-calls using VoIP, even over small bandwidthes and in high traffic periods. The main contribution of this thesis is in the parallel design of iRTP and the implementation of this very design in order to be used with multicore teachnology. We do so via multi-threading technology to speed up the streaming of medical data and medical voice-calls. According to our tests, measurements, and result analyses, the parallel design of iRTP and the multithreaded implementation on VC++ leverage performance to a level where the average decrease in delay is 76.46% when using iRTP for audio and medical data instead of the nowadays applied case of using an RTP stream for audio and multiple TCPs streams for medical data .

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)