Professional Documents
Culture Documents
SUBMITTED TOWARDS THE PARTIAL FULFILLMENT OFINTERNAL EVALUATION OF SOFTWARE ARCHITECTURE COURSE BY
Name Divya Srinivasan Pooja H. Sheth Priyanka Mangal Victory Abraham PRN 11030241153 11030241163 11030241167 11030241186
Skype Development
3.1
Description:
The Online Number, a.k.a. SkypeIn, service allows Skype users to receive calls on their computers dialed by conventional phone subscribers to a local Skype phone number; local numbers are available for Australia, Belgium, Chile, Colombia, Denmark, the Dominican Republic, Estonia, Finland, France, Germany, Hong Kong, Hungary, Ireland, Italy, Japan, Mexico, New Zealand, Poland, Romania, South Africa, South Korea, Sweden, Switzerland, Turkey, the Netherlands, the United Kingdom, and the United States. A Skype user can have local numbers in any of these countries, with calls to the number charged at the same rate as calls to fixed lines in the country.
Skype requirements for Windows: PC running Windows 2000, XP or Vista. (Windows 2000 users require DirectX 9.0 for video calls). Internet connection (broadband is best). Speakers and microphone built-in or separate. For voice and video calls we recommend a computer with at least a 1GHz processor, 256 MB RAM and of course a webcam. For High Quality Video calls you will need a high quality video webcam and software, a dual processor computer and a fast broadband connection (384 kbps).
10
3.2
11
3.3
13
4.1
Description
VoIP refers to technology that enables routing of voice conversations over the Internet or any other IP network. Another technology is peer-to-peer, which is used for sharing content like audio, video, data or anything in digital format. Skype is a combination of these two technologies. It has much better performance by making use of advantages of both technologies. It discards the client/server concept; instead it uses equal peer nodes to accomplish required functions. In addition, Skype network is introduced, which also displays the architecture and the components.
4.2
14
4.3
4.3.2. IP Network
The VoIP network can be viewed as one logical switch. However, this logical switch is a distributed system, rather than that of a single switch entity; the IP backbone provides the connectivity among the distributed elements. Depending on the VoIP protocols used, this system as a whole is sometimes referred to as a softswitch architecture. Here is how a VoIP transmission is completed: Step 1: Because all transmissions must be digital, the callers voice is digitized. This can be done by the telephone company, by an Internet service provider (ISP), or by a PC. Step 2: Next using complex algorithms the digital voice is compressed and then separated into packets; and using the Internet protocol, the packets are addressed and sent across the network to be reassembled in the proper order at the destination. Again, this reassembly can be done by a carrier, and ISP, or by ones PC.
15
16
17
18
19
21
6.1.Description:
Skype has used PostgreSQL from the beginning for all the OLTP databases. It consists of 100 database servers and 200 databases. The largest OLTP table has several billions of records and the database can handle over 10,000 transactions per second. These databases are used mainly for web store, billing and other centrally provided services. All the access to the database happen through stored procedures.
22
Layers of Databases
The figure above explains how Skype has used these tools to set up Skype database architecture. It consists of four layers
Access Layer that provides access to the databases either handling database partitioning (plProxy) or connection pooling (pgBouncer). Is also used for providing transparency for developers OLTP Layer where the OLTP databases live Queue layer that is responsible for transporting and replicating data between databases within the layers Internal servers layer that contains databases for logging, statistics, monitoring, batch processing and ETL purposes
23
24
25
26
27
7.1.Description:
In the context of the security provided by operating system(s) on which the Skype client is installed and running, Skype provides operational level of security or privacy. Therefore, Skype neither provides a secure computing platform in the strictest definition, nor does it offer a secure file storage solution. By secure computing platform, we mean a computing platform that meets technical criteria about how information is transmitted, received, handled, and stored such that high-value or high-risk transactions can be handled securely. Skype utilizes a security model that effectively prevents anyone who may have access to a supernode or relay host from interfering with or capturing any part of a Skype communication, even if they are able to collect or sniff network data packets. It also prevents anybody (especially those you consider to be a competitive threat) from installing a computer on the Internet in the theoretical path of incoming and outgoing Skype traffic for the purpose of eavesdropping. The bottom line is this; although Skype cannot guarantee complete anonymity or secrecy, it does provide transport-layer security to ensure that message content traveling over the Skype network cannot be tapped or intercepted. Skype network traffic and message content will not end up at unauthorized destinations.
28
31
The Skype client maintains a history of each users file transfers, those that are sent and received. This list is displayed in the history tab, unless the user clears the list intentionally. The list also shows the origin or destination on the file system of the transferred file. While Skypes file-transfer capability provides a convenient and secure channel for sending and receiving digital files, along with this newfound capability, comes the risk of inadvertently downloading a file that contains a virus, Trojan horse, or spyware. So, in much the same way that enterprise users must be thoughtful about opening email attachments or downloading files from the Internet, users must take special precautions when accepting file transfers from other Skype users. Anti-Virus Shields and Real-time Scanning All major antivirus software vendors provide anti-virus shield capabilities which should be configured to perform real-time scanning. As you recall, all Skype network traffic is encrypted end to end. The Skype client decrypts incoming file transfers only when the user accepts to receive them. In real-time, as Skype decrypts each file, the anti-virus software on a Skype users computer will scan it. Therefore, if people in your organization are using or intend to use Skype, it is important to:
32
Doing these things will prevent your Skype users from inadvertently saving an potentially infected file to the file system (that is, as long as an anti-virus product is running, the virus or Trojan horse is known). When any software program wishes to read from or write to a file on disk, the application wishing to access the file calls the open() primitive from the kernel to attempt the appropriate access, as is shown in the left panel. When Skype, for instance, reads a file the user wishes to transmit, or when Skype writes the file on the receiving end, the Skype client requests to create, open, read from or write to the file as appropriate. Antivirus tools make use of the fact that all file access is done through a small number of kernel primitives by employing one of several techniques, depending on the type of operating system in use, to shim, wrap or intercept all calls to all file access kernel functions. Therefore, if a user attempts to use Skype to send or receive a file, the antivirus program will detect the attempt to read or write a file containing and deny the Skype client the permission to continue writing. As is shown in the right-hand panel of figure 6, the antivirus (AV) program inserts itself in the file access chain, which gives it the opportunity to watch for file contents which match known virus signatures.
Needless to say, this amount of traffic presents unique scalability challenges. For Skype, the main weapon of choice for dealing with those challenges has always been our peer to peer technology. The p2p network (the core of which is implemented in C) is supported by a range of server-based services that are mainly C++ and use Postgre databases with a healthy dose of python thrown in.
9. References:
The following resources and research papers were used to facilitate this research regarding Skype. http://www.skype.com http://www.technology-training.co.uk http://en.wikipedia.org/wiki/Skype_protocol www.linecity.de/pdf www.computerworld.com
34