Optimizing service availability in VoIP signaling networks, by decoupling query handling in an asynchronous RPC manner
|
|
|
- Edith Blankenship
- 9 years ago
- Views:
Transcription
1 Optimizing service availability in VoIP signaling networks, by decoupling query handling in an asynchronous RPC manner Voichiţa Almăşan and Iosif Ignat Technical University of Cluj-Napoca Computer Science Department 28 G. Baritiu Street, Cluj-Napoca, Romania Abstract This report presents some aspects of the communications in distributed systems, with a special accent on the needs of VoIP systems. It describes some interactions between servers, using different types of queries, that belong to various protocols. It also presents the problem of the server waiting synchronously for each individual query to be executed and thus the need for decoupling query execution from the rest of the processing. The problem is similar to the one of slow peripheral devices. This would suggest that the solution to the query execution decoupling problem resembles the DMA functionality from the hardware, that is, an asynchronous interaction is needed. Performance matters and future development of the proposed query execution decoupling layer are also evaluated and discussed. 1. Introduction The domain of distributed systems has become very popular nowadays and it has come to a point where it needs to take into consideration many efficiency aspects, as well as many security threats. The weak point in most distributed systems is the fact that their nodes are connected via unreliable links. On top of these links, reliable communication should be performed, as message passing and asking for services from other nodes is a key-idea in the functioning of any flavour of distributed system. This is why, we can say that the network links between the nodes of these systems are the parts where they are most likely to fail. A type of failure that it is very difficult to act against is the lack of availability, which could have been generated by a denial of service (DoS) attack or by an inappropriate design of the system. This type of failure could be due to a network link bottleneck, or to the overcharge of a node from whom you are requesting a service. The network link s bottleneck could be prevented through traffic shaping and QoS classes, while the node s overcharging can be solved by using load balancing more subtle techniques. The lack of availability is especially dangerous when one or more services, such as SIP servers, are trying to contact another, very loaded, distant server, such as a database or DNS server, by querying it for some particular piece of data or information. The heavy load of the distant server, and thus large response time for its clients, is inducing large response times for the SIP servers clients, even if the SIP servers might not be very crowded. This is why, a means of decoupling the interaction with one server s clients from the interactions with various types of servers would be needed, similar to the need of decoupling slow I/O from the processor, in hardware. Section 2 will give the reader an overview of some distributed systems that are faced with the need to execute a lot of queries, possibly of various types, throughout their existence. Section 3 will focus on explaining the solution we have come up with, to improve the performance of systems described in section 2, namely web-based systems, peer-topeer systems, and VoIP systems, especially. Section 4 will present and interpret some results obtained using our prototype. Section 5 will conclude the article and will show some future development directions in improving performance of VoIP systems and other distributed systems, by finding programming models for decoupling the launching of a query from its actual time-consuming execution. 2. Background and related work Among distributed systems that suffer most from the lack of ability to communicate with one another are the World Wide Web, peer-to-peer systems, and also VoIP distributed systems, namely VoIP signaling networks. Within the WWW, the look-ups are both for finding nodes, such as DNS look-ups, and for retrieving data, for example when content-based searches are performed. In the WEB data look-ups, database queries might also inter-
2 vene [10]. Within the peer-to-peer systems, look-ups are essential, being the core-idea of this network. These look-ups refer both to nodes belonging to the same peer-to-peer overlay, for routing purposes [9] based on the overlay s structure and rules, and also to data, which can be found by looking-up in a Distributed Hash Table (DHT). Within the VoIP systems, look-ups are performed by the signaling network, which is the distributed system component of the VoIP network, for routing purposes [7]. For example to find out the address of the next hop or the destination IP address of a call when it is being initiated, at least one DNS look-up should be performed. On the other hand, for retrieving some data that the system needs at a certain moment, such as billing information, database queries are usually used. We can see that the needs of the VoIP signaling networks somewhat combine the ones of the WWW and the ones of the peer-to-peer systems. The look-ups, independent on their nature, are essential in SIP or P2P SIP, the signaling protocols widely used within VoIP nowadays, because clients must find the registrars that are responsible for them, either by using SIP techniques [4], for simple SIP, or by using peer-to-peer techniques, for P2P SIP [6]. SIP servers must perform a lot of queries because, throughout their lifetime, they must oftenly perform the UAC (User Agent Client) role, besides the UAS (User Agent Server) role [5]. In what follows, when using the term VoIP system, we shall especially refer to its signaling network, which represents the distributed system whose problems we are aiming to solve. It results that the look-up/query mechanism is crucial to distributed systems, and methods should be found to improve it. Such improvement methods have been studied by other research groups, too. They can be at server-level, at network-level and at client level. Improvements at serverlevel are described in [2], where some algorithms are presented for optimizing query scheduling algorithms for better response times from the server side. Also, [1] does a description of means for decoupling DNS server selection from the actual request routing, at server-level. Improvements at network-level are done using QoS techniques. Studies for client level optimizations have been performed mainly for database queries on the grid [11]. Our scope for query types is larger than just database queries. We will try to be as generic as possible in the approach, since we aim to apply our research to as many query types as possible, even if we are mainly trying to solve the needs of VoIP systems. Improving the response of a distant service, using QoS techniques or load balancing techniques, is beyond our scope. We will focus on improving the behaviour of a given service provided by a node of a distributed system, regardless of the load of the other members of the system. In what follows, we will focus mainly on the needs of VoIP systems. The problem we are actually trying to solve is that if a server entity running on a single node has enough memory and bandwidth to carry out N calls at a time, but is waiting for a very busy group of DNS servers to resolve m, much smaller than N, queries, it will seem to not be responding very easily or sometimes not at all to a new client that is trying to contact it. This usually happens because the server is overloaded, but it can also be due to a security threat, which we wish to act against, in case it appears. The situation that is created sugests an asynchrony between the requester and the provider of the answer, and also the fact that the requester should not block its activity while waiting for the answer. This problem has already been addressed on the grid, when it comes to database queries [11]. What we are trying to do is to generalize the approach for databases to any type of look-up or query, and make it protocol independent, since we have seen that VoIP systems need both many DNS look-ups and many database queries. In what follows, the word query will be used for both address lookups and data queries. 3. Architecture The main idea for decoupling the network I/O on the client-side is to pass the responsibility of waiting for the answer of the query or look-up to another entity, dedicated solely to this purpose. This way, the server entity we were talking about in section 2 will no longer be busy waiting for answers from the distant services it has contacted, but will be able to respond to and treat new clients. If the distant services that have been contacted are delaying their answers on purpose, the service we provide, as a whole, will not be affected by them, which is our main purpose, since it gives higher availability to our service. The mechanism that has been imagined is similar to the DMA (direct memory access) mechanism from the hardware, where you request something from a slower peripheral device, you program the DMA controller to give that device all the information it needs to carry out your request, and then you may do other things in parallel with the transfer, until the DMA controller notifies you that the transfer has finished, through an interrupt signal. In the case of the distributed system, the processor is represented by the foreground useful service running on the given node, the slow external device is the remote server from whom we are requesting something, while the DMA controller will be the auxiliary layer that is represented as a background entity and finally acts as a client for the protocol that the distant server uses. We will furtherly call this entity the background query executor. In the case of a multi-processor or multi-core node, which is very frequent for server machines nowadays, this model will be far more efficient than having just a single
3 server entity running on top of the node, since the new programming model we are introducing will take advantage of the parallel underlying physical architecture. Of course, we assume that the operating system is aware of the parallel underlying architecture and is able to optimize the resource scheduling accordingly. On single-processor single-core systems, the approach will also be more efficient than just having a same single thread for receiving incoming calls and for querying distant servers, but the impact will not be as visible as in multi-processor or multi-core systems, where the hardware itself enables true processing parallelism. The gain in efficiency even on single-processor single-core machines is due to the fact that in many cases there are things that we may wish to do in parallel with the query, that do not depend on the query s result, that, for example, help an incoming call to be initiated faster. On the other hand, from the point of view of the security threat described earlier, if an interrogated server refuses to answer, or delays its answer very much, on purpose, this model will prevent other calls, that don t have to deal with this malicious distant server, from being affected at all by its DoS attack. If we view the waiting performed for a query as a sleep of indeterminate duration, we are able to do other things on the SIP server while this sleep is performed, which leads to the idea of rendering each query as an asynchronous RPC (Remote Procedure Call), which is described in [8]. An approach we could take, for the design of the background query executor, would be to launch a new thread or process for each new query. For many queries, this will charge the system very much. A better design would be to have a fixed number of workers for the background query executor, which is enough for the system s needs and, at the same time, is within reasonable limits with respect to what the hardware can offer. This approach is also better than launching a new thread for each newly initiated call, since each OS kernel has a limited number of threads that it can handle well, and we wish the number of calls per second that are processed by our SIP server to be much greater than the thread limit imposed by the OS. Making the SIP server s limits more independent of the underlying OS s and hardware s limits is one the purposes of this proposed architecture and also the reason why we have tried to find a better solution than just simple thread-launching. The elements that compose one individual background query executor worker can be seen in figure 1. They are: the requesting component, the listening component and the executing component. Their interaction follows many of the rules of the Observer design pattern [3]. The requesting component is responsible for the formatting of the query such that the background query executor would understand it. To do this, it should implement a special interface, of the decoupling layer. The requesting component interacts with the listening Figure 1. Interaction between the different components of a worker. component by passing it the responsibility to schedule the execution of the query and to execute a callback specific to the query after having the query response. In the RPC analogy that we have started, this is the client that will not wait synchronously for the result produced by calling the procedure on the remote server. We can see each query as a procedure that is being called on the interrogated server, since, at this point, we do not care either about the protocol used for interrogating the server, or about the algorithm that the server uses to compute the answer. The listening component is the core component of the background query executor and is responsible for managing the queries, for scheduling query execution, for keeping some special information related to the queries, if needed, and, last but not least, for merging together queries that are addressed to the same server, for efficiently using the network bandwidth for the message passing. In the RPC analogy that we have started, this is the layer that converts the RPC request in a PDU (Protocol Data Unit) that is specific to the type of server that is being interrogated. All these are optimized for the least number of queries for one server, that is for the least number of queries launched by the background query executor. The listening component interacts both with the requesting component, by receiving new queries from it, and with the executing component, by giving it queries to be executed and by passing it the responsibility of executing the specific callback. The executing component is responsible for actually con-
4 tacting the distant server, for executing the query and also for executing the query-related callback afterward. It interacts both with the listening component, which provides the queries to be executed, and with the requesting component, via the registered callback. This component is transparent to the RPC client represented, in our case, by the requesting component. After seeing the functional description of an individual background query executor worker, you can find a layered illustration of the system architecture that we propose, as a whole, in figure 2. This includes both the pre-existing foreground useful service and the newly introduced background query executor, where both of them are composed by fixed, pre-established, numbers of individual workers, which are not necessarily equal. In the classical approach, on the left of the figure, the only entity that is figured is the foreground useful service running on the node. In the newly introduced decoupled network I/O version, on the right of the figure, the entity figured above is the foreground useful service, while the entity figured below is the background query executor. As stated above, the background query executor could have more than one worker, even if it is a fixed number, and the layered structure of the workers, combined to achieve their common goal, can be seen here. The same is true for the foreground useful service, represented in the figure. It should be mentioned here that each foreground useful service worker can only interact, in our current model, with one background query executor worker. The interaction function defined on the foreground useful service s workers is, thus, surjective even if it is not bijective. One can notice that the main part of the requesting functional component is contained by the foreground query executor, and some parts of the executing functional component are also contained in the foreground query executor, namely the parts responsible for the callback execution. The decoupling layer, that is represented mainly by the requesting component in the foreground useful service, allows the separation between the server main functionality of the node, which should receive incoming clients, and the client secondary functionality, which should interact with other servers using various communication protocols, via queries. This is achieved by introducing a protocolindependent interface between the two. We believe that this separation is needed because it induces far less interaction and less negative influence between the server functionality, which should promptly treat all of its clients, and the client functionality, which should wait for another server s answer. The SIP protocol, the most widely used signaling protocol in VoIP systems, is a protocol that could benefit very much from this decoupling because, by its nature, SIP allows an entity to act both as a user agent server and as a user agent client, throughout its lifetime [5]. These 2 SIP roles do not imply mainly queries, but it is obvious that the Figure 2. Comparison between system architecture approaches. SIP server role will perform fewer interrogations to other servers than the SIP client role. To continue our analogy with the low-level hardware architecture, the callback notification means, described within the executing component, will be similar to and correspond to the interrupt system of the processor. This is why the background query executor allows the registration of a callback for every query that it needs to execute. You can see how the API function of the background query executor looks like, below. From the RPC point of view, this API is the particular way in which each remote procedure will be called, on the servers that the RPC client is able to contact. register_query(query_text, server_type, query_callback); You can also see a schematic description of how the foreground useful service and the background query executor interact and, thus, of how the decoupling mechanism works, in figure 3. One can see that there is no busy waiting between the moment of launching the query and the moment when the foreground useful service is notified about the result of the query, via the registered callback. Instead of the busy waiting, which we have elliminated by the proposed architecture, the SIP server actively continues to prepare the call to be established, or treats another call, if the answer to the query takes very long. The efficiency of this API, and of the decoupling layer that lies behind it, will be evaluated below, in section 4, by running some tests on the prototype of the background
5 Figure 3. Schematic description of the decoupling mechanism. query executor. The tests that have been conceived and run have the main purpose of validating the idea of decoupling the query execution from the server that needs the query results. 4. Performance evaluation When it comes to evaluating the performance of this prototype, we have to first identify some correlations between external factors and the prototype, throughout its existence. We have identified two such correlations, namely: the number of different servers that should be contacted at a given moment and the number of identical queries that should be executed at a given moment. For simplicity, we will consider only DNS look-ups in what follows, since they are easier to launch and it is easier to estimate their duration. For database queries, the duration depends on the degree of difficulty and on the internal scheduling of query execution, besides the network delay and the load of the server, which influences the DNS look-ups too. The testing setup that we are considering is of having more clients that only contain the requesting layer, described in section 3, and one background query executor worker. For proving the fact that even on a single-processor, single-core machine the described prototype will perform well, we have used such a machine for the tests that have been performed. In the first test, the clients requests are addressed to different servers and in the second test, the clients requests are all identical and addressed to the same Figure 4. Influence of an increasing number of different servers on the performance of the background query executor. server. The reader should recall that in section 3 we have described how the background query executor is optimized for the least number of message passing through the physical network. Increasing number of different servers at a given moment. In figure 4 we can observe that the response time of the prototype varies very little, but linearly, with respect to the number of different servers. One can notice from this figure that the response time for 100 different servers is close to 5ms, while the duration of a DNS query for names such as roedu.net or google.com is between ms. This means that the degradation introduced by the decoupling layer is about 5%. For less than 10 servers, the response time of the decoupling layer alone is neglectable, being less than 1ms. If we consider that this layer enables a new, parallel programing model, which has been described into more detail in section 3, that allows the foreground server to do other things while its query is being processed, the extra 5% of time spent processing a query is a neglectable price to pay. Increasing number of identical queries at a given moment. In figure 5 we can observe that the response time of the prototype varies very little and is almost constant with respect to the number of identical queries per one server. This response time never increases over 1ms, which is neglectable, with respect to the time it takes for a query to get executed, as shown earlier. We can conclude, from this experiment, that the number of identical queries per distant server does not influence
6 Figure 5. Influence of an increasing number of identical queries on the performance of the background query executor. the response time of the background query executor, which proves the optimization we have performed, of minimizing as much as possible the number of messages passed through the physical network to the same server. By combining the results obtained for a variable number of different servers with the results for a variable number of identical queries, we obtain the behaviour of the system in a real environment, where, at a certain moment, we could have a variable number of servers with a variable number of queries for each. It follows from the measurements described here that only the number of servers influences the performance of the decoupling layer, when running on a single-processor, single-core machine. We can imagine that the degradation introduced on a multi-processor or multicore machine would be much less, if even visible. It could also be benefic for the load of the distant server, if more of its clients would contain this feature. 5. Conclusion In the previous sections we have seen the description of a decoupling layer within servers, that separates them into a foreground service and a background query executor, in an asynchronous RPC manner. The two interact via a simple interface, which gives functionalities similar to the DMA in hardware systems. We have evaluated the performances and the overhead introduced by this decoupling layer and we have seen that it performs well, the introduced overhead being insignificant when compared to the duration of the actual query. Also, we have seen that the architecture that we propose minimizes and sometimes even prevents the risks of some DoS security threats. In addition to previous work, which focuses mostly on server-level or network-level optimizations, or on particular distributed systems, we have tried to be generic in our studies, even if we were mainly focusing on the needs of VoIP and especially SIP distributed systems. Because in VoIP systems nodes need to interact a lot, using various protocols, the generality of the query was taken into account and we addressed different types of queries, both DNS queries and database queries. In the next version of our prototype, to improve performance results, some aspects could be optimized following some directions: actual query execution, even more lowlevel architecture awareness, and specific VoIP behaviour optimizations. We should also measure how the prototype performs on a multi-processor or multi-core architecture in a real-life environment. Moreover, since we are aiming to address multiple types of queries, a generic query description language and query response description language would be very useful to improve the asynchronous RPC-like part, that would help the background query executor to be even more query-type independent. References [1] H. A. Alzoubi, M. Rabinovich, and O. Spatscheck. MyXDNS: A request routing DNS server with decoupled server selection. In Proceedings of the 16th international conference on World Wide Web, pages , [2] A. Deshpande and J. M. Hellerstein. Decoupled query optimization for federated database systems. In Proceedings of the 18th International Conference on Data Engineering, pages , [3] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, [4] J. Rosenberg and H. Schulzrinne. Session initiation protocol (SIP): locating SIP servers. RFC 3263, Internet Engineering Task Force, June [5] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler. SIP: session initiation protocol. RFC 3261, Internet Engineering Task Force, June [6] K. Singh and H. Schulzrinne. Peer-to-peer internet telephony using SIP. In Proceedings of the international workshop on Network and operating systems support for digital audio and video, pages 63 68, [7] H. Sinnreich and A. B. Johnson. Internet Communications using SIP. Delivering VoIP and Multimedia Services with Session Initiation Protocol. Wiley, [8] R. Srinivasan. RPC: remote procedure call protocol specification version 2. RFC 1831, Internet Engineering Task Force, Aug
7 [9] I. Stoica, R. Morris, D. Karger, F. Kaashoek, and H. Balakrishnan. Chord: A scalable Peer-To-Peer lookup service for internet applications. In Proceedings of the 2001 ACM SIGCOMM Conference, pages , [10] E. Wilde. Wilde s WWW. Springer-Verlag, [11] GRelC data access service.
Research on P2P-SIP based VoIP system enhanced by UPnP technology
December 2010, 17(Suppl. 2): 36 40 www.sciencedirect.com/science/journal/10058885 The Journal of China Universities of Posts and Telecommunications http://www.jcupt.com Research on P2P-SIP based VoIP system
Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities
Mobile P2PSIP -to- SIP Communication in Mobile Communities Marcin Matuszewski, Esko Kokkonen Nokia Research Center Helsinki, Finland [email protected], [email protected] Abstract This
SIP: Ringing Timer Support for INVITE Client Transaction
SIP: Ringing Timer Support for INVITE Client Transaction Poojan Tanna ([email protected]) Motorola India Private Limited Outer Ring Road, Bangalore, India 560 037 Abstract-The time for which the Phone
A Lightweight Secure SIP Model for End-to-End Communication
A Lightweight Secure SIP Model for End-to-End Communication Weirong Jiang Research Institute of Information Technology, Tsinghua University, Beijing, 100084, P.R.China [email protected] Abstract
Security issues in Voice over IP: A Review
www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 3 Issue 2 February, 2014 Page No. 3879-3883 Security issues in Voice over IP: A Review Rajni a, Preeti a, Ritu
SHORT DESCRIPTION OF THE PROJECT...3 INTRODUCTION...4 MOTIVATION...4 Session Initiation Protocol (SIP)...5 Java Media Framework (JMF)...
VoIP Conference Server Evgeny Erlihman [email protected] Roman Nassimov [email protected] Supervisor Edward Bortnikov [email protected] Software Systems Lab Department of Electrical
Krunal Patel Department of Information Technology A.D.I.T. Engineering College (G.T.U.) India. Fig. 1 P2P Network
Volume 3, Issue 7, July 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Secure Peer-to-Peer
Dynamic Scalable Model for Video Conferencing (DSMVC) using Request Routing
Dynamic Scalable Model for Video Conferencing (DSMVC) using Request Routing Adeel Anwar Abbasi*, Tahir Mehmood** {*Department of Computer Sciences, Shaheed Zulfiqar Ali Bhutto Institute of Science and
A Self-Managing SIP-based IP Telephony System based on a P2P approach using Kademlia
A Self-Managing SIP-based IP Telephony System based on a P2P approach using Kademlia Felipe de Castro Louback Rocha 1, Linnyer Beatriz 1 Programa de Pós Graduação em Engenharia Elétrica, Universidade Federal
Chord - A Distributed Hash Table
Kurt Tutschku Vertretung - Professur Rechnernetze und verteilte Systeme Chord - A Distributed Hash Table Outline Lookup problem in Peer-to-Peer systems and Solutions Chord Algorithm Consistent Hashing
Proposition of a new approach to adapt SIP protocol to Ad hoc Networks
, pp.133-148 http://dx.doi.org/10.14257/ijseia.2014.8.7,11 Proposition of a new approach to adapt SIP protocol to Ad hoc Networks I. Mourtaji, M. Bouhorma, M. Benahmed and A. Bouhdir Computer and Communication
A P2PSIP event notification architecture
A P2PSIP event notification architecture Georgios Panagiotou Appear Networks AB, Kista Science Tower, 164 51 Kista, Sweden Email: [email protected] Alisa Devlic Appear Networks AB,
1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
SIP: Ringing Timer Support for INVITE Client Transaction
SIP: Ringing Timer Support for INVITE Client Transaction Poojan Tanna ([email protected]) Motorola India Private Limited Outer Ring Road, Bangalore, India 560 037 Abstract-The time for which the Phone
User authentication in SIP
User authentication in SIP Pauli Vesterinen Helsinki University of Technology [email protected] Abstract Today Voice over Internet Protocol (VoIP) is used in large scale to deliver voice and multimedia
Bridging the gap between peer-to-peer and conventional SIP networks
1 Bridging the gap between peer-to-peer and conventional SIP networks Mosiuoa Tsietsi, Alfredo Terzoli, George Wells Department of Computer Science Grahamstown, South Africa Tel: +27 46 603 8291 [email protected]
Programming SIP Services University Infoline Service
Programming SIP Services University Infoline Service Tatiana Kováčiková, Pavol Segeč Department of Information Networks University of Zilina Moyzesova 20, 010 26 SLOVAKIA Abstract: Internet telephony now
Enabling SIP-Based Services in Ad Hoc Networks
Enabling SIP-Based Services in Ad Hoc Networks Heng-Te Chu 1, 2, Wen-Shiung Chen 1 1 VIPCCL, Dept. of Electrical Engineering, National Chi Nan University, Nan-Tou, Taiwan 2 Dept. of Information Networking
Design of a SIP Outbound Edge Proxy (EPSIP)
Design of a SIP Outbound Edge Proxy (EPSIP) Sergio Lembo Dept. of Communications and Networking Helsinki University of Technology (TKK) P.O. Box 3000, FI-02015 TKK, Finland Jani Heikkinen, Sasu Tarkoma
Implementing SIP and H.323 Signalling as Web Services
Implementing SIP and H.323 Signalling as Web Services Ge Zhang, Markus Hillenbrand University of Kaiserslautern, Department of Computer Science, Postfach 3049, 67653 Kaiserslautern, Germany {gezhang, hillenbr}@informatik.uni-kl.de
Decentralized supplementary services for Voice-over-IP telephony
Decentralized supplementary services for Voice-over-IP telephony Christoph Spleiß and Gerald Kunzmann Technische Universität München 80333 Munich, Germany {christoph.spleiss,gerald.kunzmann}@tum.de Abstract.
Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1
Distributed Systems REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1 1 The Rise of Distributed Systems! Computer hardware prices are falling and power increasing.!
Distributed Systems LEEC (2005/06 2º Sem.)
Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users
Async: Secure File Synchronization
Async: Secure File Synchronization Vera Schaaber, Alois Schuette University of Applied Sciences Darmstadt, Department of Computer Science, Schoefferstr. 8a, 64295 Darmstadt, Germany [email protected]
SOSIMPLE: A SIP/SIMPLE Based P2P VoIP and IM System
1 SOSIMPLE: A SIP/SIMPLE Based P2P VoIP and IM System David A. Bryan and Bruce B. Lowekamp Computer Science Department College of William and Mary Williamsburg, VA 23185 {bryan, lowekamp}@cs.wm.edu Abstract
Lawful Interception in P2Pbased
Lawful Interception in P2Pbased VoIP Systems Jan Seedorf (jan.seedorf_at_nw.neclab.eu) NEC Laboratories Europe Heidelberg, Germany July Page 2008 1-1 IPTCOMM 2008 Heidelberg, Germany Outline 1.
SIP : Session Initiation Protocol
: Session Initiation Protocol EFORT http://www.efort.com (Session Initiation Protocol) as defined in IETF RFC 3261 is a multimedia signaling protocol used for multimedia session establishment, modification
SIP OVER NAT. Pavel Segeč. University of Žilina, Faculty of Management Science and Informatics, Slovak Republic e-mail: [email protected].
SIP OVER NAT Pavel Segeč University of Žilina, Faculty of Management Science and Informatics, Slovak Republic e-mail: [email protected] Abstract Session Initiation Protocol is one of key IP communication
2.2 SIP-based Load Balancing. 3 SIP Load Balancing. 3.1 Proposed Load Balancing Solution. 2 Background Research. 2.1 HTTP-based Load Balancing
SIP TRAFFIC LOAD BALANCING Ramy Farha School of Electrical and Computer Engineering University of Toronto Toronto, Ontario Email: [email protected] ABSTRACT This paper presents a novel solution to
A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT
A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT CATALOGUES Lican Huang Institute of Network & Distributed Computing, Zhejiang Sci-Tech University, No.5, St.2, Xiasha Higher Education Zone, Hangzhou,
Chapter 2 PSTN and VoIP Services Context
Chapter 2 PSTN and VoIP Services Context 2.1 SS7 and PSTN Services Context 2.1.1 PSTN Architecture During the 1990s, the telecommunication industries provided various PSTN services to the subscribers using
A Comparative Study of Signalling Protocols Used In VoIP
A Comparative Study of Signalling Protocols Used In VoIP Suman Lasrado *1, Noel Gonsalves *2 Asst. Prof, Dept. of MCA, AIMIT, St. Aloysius College (Autonomous), Mangalore, Karnataka, India Student, Dept.
Adaptation of TURN protocol to SIP protocol
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 1, No. 2, January 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814 78 Adaptation of TURN protocol to SIP protocol Mustapha GUEZOURI,
A P2P SIP Architecture - Two Layer Approach - draft-sipping-shim-p2p-arch-00.txt
A SIP Architecture - Two Layer Approach - draft-sipping-shim-p2p-arch-00.txt IETF65, Dallas March 25, 2006 Eunsoo Shim Sathya Narayanan Greg Daley Panasonic Digital Networking Laboratory Two Layer Approach
Content-Aware Load Balancing using Direct Routing for VOD Streaming Service
Content-Aware Load Balancing using Direct Routing for VOD Streaming Service Young-Hwan Woo, Jin-Wook Chung, Seok-soo Kim Dept. of Computer & Information System, Geo-chang Provincial College, Korea School
FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com
WebRTC for Service Providers FRAFOS GmbH FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com This document is copyright of FRAFOS GmbH. Duplication or propagation or
Radius/LDAP authentication in open-source IP PBX
Radius/LDAP authentication in open-source IP PBX Ivan Capan, Marko Skomeršić Protenus d.o.o. Telecommunications & networking department Zrinskih i Frankopana 23, Varaždin, 42000, Croatia [email protected],
Database Security, Virtualization and Cloud Computing
Whitepaper Database Security, Virtualization and Cloud Computing The three key technology challenges in protecting sensitive data in modern IT architectures Including: Limitations of existing database
Session Initiation Protocol and Services
Session Initiation Protocol and Services Harish Gokul Govindaraju School of Electrical Engineering, KTH Royal Institute of Technology, Haninge, Stockholm, Sweden Abstract This paper discusses about the
A Scalable Architecture for SIP Infrastructure using Content Addressable Networks
A Scalable Architecture for Infrastructure using Content Addressable Networks Ramrajprabu Balasubramanian Injong Rhee Jaewoo Kang Department of Computer Science North Carolina State University Raleigh,
Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security
Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security Ehsan Saboori and Shahriar Mohammadi Abstract One of the most important issues in peer-to-peer networks is anonymity.
Contents. Specialty Answering Service. All rights reserved.
Contents 1. Introduction to Session Internet Protocol... 2 2. History, Initiation & Implementation... 3 3. Development & Applications... 4 4. Function & Capability... 5 5. SIP Clients & Servers... 6 5.1.
Chord. A scalable peer-to-peer look-up protocol for internet applications
Chord A scalable peer-to-peer look-up protocol for internet applications by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Overview Introduction The Chord Algorithm Construction
Load Balancing in Structured Overlay Networks. Tallat M. Shafaat tallat(@)kth.se
Load Balancing in Structured Overlay Networks Tallat M. Shafaat tallat(@)kth.se Overview Background The problem : load imbalance Causes of load imbalance Solutions But first, some slides from previous
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com
WebRTC for the Enterprise FRAFOS GmbH FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com This document is copyright of FRAFOS GmbH. Duplication or propagation or extracts
RELOAD Usages for P2P Data Storage and Discovery
RELOAD Usages for P2P Data Storage and Discovery AW2-presentation from Alexander Knauf [email protected] Review Infrastructure Independent Conferencing: Decentralized fashion Multiple conference
Two-Stage Forking for SIP-based VoIP Services
Two-Stage Forking for SIP-based VoIP Services Tsan-Pin Wang National Taichung University An-Chi Chen Providence University Li-Hsing Yen National University of Kaohsiung Abstract SIP (Session Initiation
Analysis of SIP Traffic Behavior with NetFlow-based Statistical Information
Analysis of SIP Traffic Behavior with NetFlow-based Statistical Information Changyong Lee, Hwankuk-Kim, Hyuncheol Jeong, Yoojae Won Korea Information Security Agency, IT Infrastructure Protection Division
VoIP network planning guide
VoIP network planning guide Document Reference: Volker Schüppel 08.12.2009 1 CONTENT 1 CONTENT... 2 2 SCOPE... 3 3 BANDWIDTH... 4 3.1 Control data 4 3.2 Audio codec 5 3.3 Packet size and protocol overhead
Application Of Cloud Computing In University Libraries. Deepti Arora, Shabista Quraishi, Zahira Quraishi. Abstract
Application Of Cloud Computing In University Libraries Deepti Arora, Shabista Quraishi, Zahira Quraishi Abstract Technology is changing rapidly and is forming a layer that is touching each and every aspect
Design and Implementation of the Heterogeneous Multikernel Operating System
223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,
International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 ISSN 2229-5518
International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 Load Balancing Heterogeneous Request in DHT-based P2P Systems Mrs. Yogita A. Dalvi Dr. R. Shankar Mr. Atesh
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
A Novel Approach for Evaluating and Detecting Low Rate SIP Flooding Attack
A Novel Approach for Evaluating and Detecting Low Rate SIP Flooding Attack Abhishek Kumar Department of Computer Science and Engineering-Information Security NITK Surathkal-575025, India Dr. P. Santhi
Final for ECE374 05/06/13 Solution!!
1 Final for ECE374 05/06/13 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam taker -
SIP Protocol as a Communication Bus to Control Embedded Devices
229 SIP Protocol as a Communication Bus to Control Embedded Devices Ramunas DZINDZALIETA Institute of Mathematics and Informatics Akademijos str. 4, Vilnius Lithuania [email protected] Abstract.
A Reputation Management System in Structured Peer-to-Peer Networks
A Reputation Management System in Structured Peer-to-Peer Networks So Young Lee, O-Hoon Kwon, Jong Kim and Sung Je Hong Dept. of Computer Science & Engineering, Pohang University of Science and Technology
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Effective Virtual Machine Scheduling in Cloud Computing
Effective Virtual Machine Scheduling in Cloud Computing Subhash. B. Malewar 1 and Prof-Deepak Kapgate 2 1,2 Department of C.S.E., GHRAET, Nagpur University, Nagpur, India [email protected] and [email protected]
Chapter 11 Distributed File Systems. Distributed File Systems
Chapter 11 Distributed File Systems Introduction Case studies NFS Coda 1 Distributed File Systems A distributed file system enables clients to access files stored on one or more remote file servers A file
An Evaluation of Architectures for IMS Based Video Conferencing
An Evaluation of Architectures for IMS Based Video Conferencing Richard Spiers, Neco Ventura University of Cape Town Rondebosch South Africa Abstract The IP Multimedia Subsystem is an architectural framework
Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1
Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1 Dorgham Sisalem, Jiri Kuthan Fraunhofer Institute for Open Communication Systems (FhG Fokus) Kaiserin-Augusta-Allee
An Efficient Server Load Balancing using Session Management
An Efficient Server Load Balancing using Session Management S.Tharani 1, Balika.J.Chelliah 2, Dr.J.Jagadeesan 3 1 M.Tech.Computer Science and Engg, Ramapuram campus, 2 Asst.prof, Ramapuram campus, 3 Prof,
SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3
SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005 Lecturer: Kartik Krishnan Lecture 1-3 Communications and Computer Networks The fundamental purpose of a communication network is the exchange
Efficient load balancing system in SIP Servers ABSTRACT:
Efficient load balancing system in SIP Servers ABSTRACT: This paper introduces several novel load-balancing algorithms for distributing Session Initiation Protocol (SIP) requests to a cluster of SIP servers.
Best Practices for SIP Security
Best Practices for SIP Security IMTC SIP Parity Group Version 21 November 9, 2011 Table of Contents 1. Overview... 33 2. Security Profile... 33 3. Authentication & Identity Protection... 33 4. Protecting
A Scalable Multi-Server Cluster VoIP System
A Scalable Multi-Server Cluster VoIP System Ming-Cheng Liang Li-Tsung Huang Chun-Zer Lee Min Chen Chia-Hung Hsu [email protected] {kpa.huang, chunzer.lee}@gmail.com {minchen, chhsu}@nchc.org.tw Department
Contents. Specialty Answering Service. All rights reserved.
Contents 1 Introduction... 2 2 PBX... 3 3 IP PBX... 4 3.1 How It Works... 4 3.2 Functions of IP PBX... 5 3.3 Benefits of IP PBX... 5 4 Evolution of IP PBX... 6 4.1 Fuelling Factors... 6 4.1.1 Demands from
Disk Storage Shortfall
Understanding the root cause of the I/O bottleneck November 2010 2 Introduction Many data centers have performance bottlenecks that impact application performance and service delivery to users. These bottlenecks
A Service Platform for Subscription-Based Live Video Streaming
A Service Platform for Subscription-Based Live Video Streaming Kelum Vithana 1, Shantha Fernando 2, Dileeka Dias 3 1 Dialog - University of Moratuwa Mobile Communications Research Laboratory 2 Department
Quantitative Analysis of 2-tier P2P- SIP Architecture with ID-based Signature
A Thesis for the degree of Master Quantitative Analysis of 2-tier P2P- SIP Architecture with ID-based Signature Chang-Hwan Lee School of Engineering Information and Communications University 2008 i Quantitative
Peer-to-Peer Replication
Peer-to-Peer Replication Matthieu Weber September 13, 2002 Contents 1 Introduction 1 2 Database Replication 2 2.1 Synchronous Replication..................... 2 2.2 Asynchronous Replication....................
Implementing Intercluster Lookup Service
Appendix 11 Implementing Intercluster Lookup Service Overview When using the Session Initiation Protocol (SIP), it is possible to use the Uniform Resource Identifier (URI) format for addressing an end
SIP, Session Initiation Protocol used in VoIP
SIP, Session Initiation Protocol used in VoIP Page 1 of 9 Secure Computer Systems IDT658, HT2005 Karin Tybring Petra Wahlund Zhu Yunyun Table of Contents SIP, Session Initiation Protocol...1 used in VoIP...1
WebRTC: Why and How? FRAFOS GmbH. FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com
WebRTC: Why and How? FRAFOS GmbH FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com This docume nt is copyright of FRAFOS GmbH. Duplication or propagation or e xtracts
G DATA TechPaper #0275. G DATA Network Monitoring
G DATA TechPaper #0275 G DATA Network Monitoring G DATA Software AG Application Development May 2016 Contents Introduction... 3 1. The benefits of network monitoring... 3 1.1. Availability... 3 1.2. Migration
Database Security in Virtualization and Cloud Computing Environments
White Paper Database Security in Virtualization and Cloud Computing Environments Three key technology challenges in protecting sensitive data Table of Contents Securing Information in Virtualization and
Radware s AppDirector and AppXcel An Application Delivery solution for applications developed over BEA s Weblogic
TESTING & INTEGRATION GROUP SOLUTION GUIDE Radware s AppDirector and AppXcel An Application Delivery solution for applications developed over BEA s Weblogic Contents INTRODUCTION... 2 RADWARE APPDIRECTOR...
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Peer to peer networking: Main aspects and conclusions from the view of Internet service providers
Peer to peer networking: Main aspects and conclusions from the view of Internet service providers Gerhard Haßlinger, Department of Computer Science, Darmstadt University of Technology, Germany Abstract:
Dependency Free Distributed Database Caching for Web Applications and Web Services
Dependency Free Distributed Database Caching for Web Applications and Web Services Hemant Kumar Mehta School of Computer Science and IT, Devi Ahilya University Indore, India Priyesh Kanungo Patel College
How To Provide Qos Based Routing In The Internet
CHAPTER 2 QoS ROUTING AND ITS ROLE IN QOS PARADIGM 22 QoS ROUTING AND ITS ROLE IN QOS PARADIGM 2.1 INTRODUCTION As the main emphasis of the present research work is on achieving QoS in routing, hence this
A Load Balancing Method in SiCo Hierarchical DHT-based P2P Network
1 Shuang Kai, 2 Qu Zheng *1, Shuang Kai Beijing University of Posts and Telecommunications, [email protected] 2, Qu Zheng Beijing University of Posts and Telecommunications, [email protected] Abstract
SIP Service Providers and The Spam Problem
SIP Service Providers and The Spam Problem Y. Rebahi, D. Sisalem Fraunhofer Institut Fokus Kaiserin-Augusta-Allee 1 10589 Berlin, Germany {rebahi, sisalem}@fokus.fraunhofer.de Abstract The Session Initiation
EMC Data Domain Boost and Dynamic Interface Groups
EMC Data Domain Boost and Dynamic Interface Groups Maximize the Efficiency of Multiple Network Interfaces ABSTRACT EMC delivers dynamic interface groups to simplify the use of multiple network interfaces
SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University
SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University ABSTRACT The growth of market for real-time IP communications is a big wave prevalent in
A Dell Technical White Paper Dell Storage Engineering
Networking Best Practices for Dell DX Object Storage A Dell Technical White Paper Dell Storage Engineering THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND
ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers.
ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers. API: An application programming interface (API) is a source
EXPLOITING SIMILARITIES BETWEEN SIP AND RAS: THE ROLE OF THE RAS PROVIDER IN INTERNET TELEPHONY. Nick Marly, Dominique Chantrain, Jurgen Hofkens
Nick Marly, Dominique Chantrain, Jurgen Hofkens Alcatel Francis Wellesplein 1 B-2018 Antwerp Belgium Key Theme T3 Tel : (+32) 3 240 7767 Fax : (+32) 3 240 8485 E-mail : [email protected] Tel : (+32)
Virtual machine interface. Operating system. Physical machine interface
Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that
