Skype uses a peer-to-peer architecture where each computer has equal capabilities as both a client and server. It allows for voice and video calls over the internet using protocols like SIP and RTP. Skype employs a hybrid P2P model with supernodes to decentralize functions like user search and directory sharing. Calls between Skype users can happen directly or through relays if behind firewalls, while connections to regular phones use SkypeOut gateways.
Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.
Advanced Software Engineering course, a.y. 2014-2015
http://lore.com/Advanced-Software-Engineering-Univaq/
This lecture is about Architecture Description Languages. What they are, how they evolved in time, current challenges and perspectives.
Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.
Advanced Software Engineering course, a.y. 2014-2015
http://lore.com/Advanced-Software-Engineering-Univaq/
This lecture is about Architecture Description Languages. What they are, how they evolved in time, current challenges and perspectives.
4.1Introduction
- Potential Threats and Attacks on Computer System
- Confinement Problems
- Design Issues in Building Secure Distributed Systems
4.2 Cryptography
- Symmetric Cryptosystem Algorithm: DES
- Asymmetric Cryptosystem
4.3 Secure Channels
- Authentication
- Message Integrity and Confidentiality
- Secure Group Communication
4.4 Access Control
- General Issues
- Firewalls
- Secure Mobile Code
4.5 Security Management
- Key Management
- Issues in Key Distribution
- Secure Group Management
- Authorization Management
A distributed system is a collection of computational and storage devices connected through a communications network. In this type of system, data, software, and users are distributed.
Distributed Systems Introduction and Importance SHIKHA GAUTAM
Distributed Systems Introduction and Importance. It covers the following Topics: Characterization of Distributed Systems: Introduction, Examples of distributed Systems, Resource sharing and the Web Challenges. Architectural models, Fundamental Models.
Theoretical Foundation for Distributed System: Limitation of Distributed system, absence of global clock, shared memory, Logical clocks ,Lamport’s & vectors logical clocks.
Concepts in Message Passing System.
Peer-to-Peer (P2P) has become a buzzword and file-sharing applications like Kazaa are very popular and account for a lot of Internet traffic nowadays. The emphasis of my talk will be on the evolution of P2P file-sharing and the technology behind the scenes. I also try to give examples how P2P can be used for other applications like Skype.
From the Un-Distinguished Lecture Series (http://ws.cs.ubc.ca/~udls/). The talk was given Feb. 16, 2007.
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...Sagar Rai
Software, Software Defined Network, Network Function Virtualization, SDN, NFV, Internet of things, Basics of Internet of things, Network Basics, Virtualization, Limitation of Conventional Network, Open flow, Basics of conventional network,
Studying the architecture of Linux based on extracted architecture in literature, and the skype architecture based on literature.
The work is done as part of software architecture course in Birzeit university in Palestine.
4.1Introduction
- Potential Threats and Attacks on Computer System
- Confinement Problems
- Design Issues in Building Secure Distributed Systems
4.2 Cryptography
- Symmetric Cryptosystem Algorithm: DES
- Asymmetric Cryptosystem
4.3 Secure Channels
- Authentication
- Message Integrity and Confidentiality
- Secure Group Communication
4.4 Access Control
- General Issues
- Firewalls
- Secure Mobile Code
4.5 Security Management
- Key Management
- Issues in Key Distribution
- Secure Group Management
- Authorization Management
A distributed system is a collection of computational and storage devices connected through a communications network. In this type of system, data, software, and users are distributed.
Distributed Systems Introduction and Importance SHIKHA GAUTAM
Distributed Systems Introduction and Importance. It covers the following Topics: Characterization of Distributed Systems: Introduction, Examples of distributed Systems, Resource sharing and the Web Challenges. Architectural models, Fundamental Models.
Theoretical Foundation for Distributed System: Limitation of Distributed system, absence of global clock, shared memory, Logical clocks ,Lamport’s & vectors logical clocks.
Concepts in Message Passing System.
Peer-to-Peer (P2P) has become a buzzword and file-sharing applications like Kazaa are very popular and account for a lot of Internet traffic nowadays. The emphasis of my talk will be on the evolution of P2P file-sharing and the technology behind the scenes. I also try to give examples how P2P can be used for other applications like Skype.
From the Un-Distinguished Lecture Series (http://ws.cs.ubc.ca/~udls/). The talk was given Feb. 16, 2007.
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...Sagar Rai
Software, Software Defined Network, Network Function Virtualization, SDN, NFV, Internet of things, Basics of Internet of things, Network Basics, Virtualization, Limitation of Conventional Network, Open flow, Basics of conventional network,
Studying the architecture of Linux based on extracted architecture in literature, and the skype architecture based on literature.
The work is done as part of software architecture course in Birzeit university in Palestine.
Software Development & Architecture @ LinkedInC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1DAsghW.
Sid Anand discusses the architectural and development practices adopted by LinkedIn as a continuous growing company. Filmed at qconsf.com.
Siddharth “Sid" Anand is a hands-on software architect with deep experience building and scaling web sites that millions of people visit every day. Sid is currently the Chief Architect at ClipMine, a video mining and search start-up that improves the consumption of long-form video content through automated video analysis and search technology.
This is how whatsapp scaled to handle a huge amount of concurrent traffic with erlang. This is extracted from - file:///home/udayakiran/Downloads/efsf2012-whatsapp-scaling.pdf
Whatsapp uses ejabberd and customized it to scale more.
High Scalability by Example – How can Web-Architecture scale like Facebook, T...Robert Mederer
Skalierbarkeit bedeutet hohes Aufkommen von Traffic, Daten, Userbase, IO, Parallelverarbeitung und Concurrency, aber wie funktioniert dies bei den bekannten Web 2.0 Plattformen. Wie wird skaliert – horizontal oder vertikal, im Client-Layer, Service-Layer oder im Backend-Layer? Welche Rolle spielt Caching, NoSQL, Clustering und MapReduce bei der Skalierbarkeit? Wie wirkt sich die Skalierbarkeit in Sachen Konsistenz vs. Verfügbarkeit vs. Network Toleranz aus? Der Vortrag geht vergleichend auf verschiedene Konzepte von Skalierbarkeit ein und erläutert anhand von Beispielen wie mit pragmatischen Mitteln eine skalierbare Architektur erreicht werden kann.
Microsoft Skype for Business Clients Presentation - From AtidanDavid J Rosenthal
No matter WHAT kind of feature you need, WHO you are, WHERE you are, or WHICH device you use, Skype for Business client portfolio is aimed to help people BE and DO better together
The objective of study is to guarantee QoS for multiple service class traffic in a multiple connection environment and to examine a case of QoS deployment over a cellular WiMAX network. In particular, the thesis compares the performance how much bandwidth for voip
A framework that helps to understand complex network interactions. It is the part of the Internet communications process where these connections occur, by sending packets of data back and forth between different networks. There are two models that are widely referenced today: OSI and TCP/IP. The concepts are similar, but the layers themselves differ between the two models.
Machine Learning based Hybrid Recommendation System
• Developed a Hybrid Movie Recommendation System using both Collaborative and Content-based methods
• Used linear regression framework for determining optimal feature weights from collaborative data
• Recommends movie with maximum similarity score of content-based data
Playing Flappy Bird by Deep Reinforcement Learning in Keras, A deep learning library in python and optimizing the network using techniques like Experience Replay.
a simple traffic lights controller and simulator implemented in VHDL
Complete project hosted at Github: https://github.com/abhishekjiitr/traffic-light-controller
A brief report on Client Server Model and Distributed Computing. Problems and Applications are also discussed and Client Server Model in Distributed Systems is also discussed.
A smart wearable device which prevents mobile phone loss.
Project includes:
android app
arduino code
The arduino remains connected to the mobile via bluetooth. Whenever it leaves the range of bluetooth(~10m), both the mobile and arduino start vibrating.
A project made as a part of Srishti 2016.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Essentials of Automations: Optimizing FME Workflows with Parameters
Skype
1. SKYPE
CSN-341, Computer Networks
IIT Roorkee
Prepared by Group 7
Abhishek Jaisingh - 14114002
Akshay Nirwan - 14114005
Amandeep - 14114008
Amit Saharan - 14114010
Tirth Patel - 14114036
2. 1. PEER-TO-PEER ARCHITECTURE
Peer-to-peer architecture (P2P architecture) is a commonly used computer networking
architecture in which each workstation, or node, has the same capabilities and
responsibilities. It is often compared and contrasted to the classic client/server
architecture, in which some computers are dedicated to serving others.
P2P may also be used to refer to a single software program designed so that each
instance of the program may act as both client and server, with the same
responsibilities and status.
P2P networks have many applications, but the most common is for content
distribution. This includes software publication and distribution, content delivery
networks, streaming media and peercasting for multicasting streams, which facilitates
on-demand content delivery. Other applications involve science, networking, search
and communication networks. Even the U.S. Department of Defense has started
researching applications for P2P networks for modern network warfare strategies.
P2P architecture is often referred to as a peer-to-peer network.
There are three models of unstructured P2P computer network architecture:
● Pure P2P
● Hybrid P2P
● Centralized P2P
In structured P2P computer network architecture, workstations (peers), and sometimes
resources as well, are organized according to specific criteria and algorithms. This
leads to overlays with specific topologies and properties.
Assessing some of the advantages and weaknesses of P2P networking involves
comparisons with client/server architecture. P2P networks have clients with resources
such as bandwidth, storage space and processing power. As more demand is put on the
system through each node, the capacity of the whole system increases. (This accounts
for the enormous increase of system security and file verification mechanisms, making
most P2P networks resistant to almost any type of attack.) By comparison, a typical
client/server network shares demands but not resources. As additional clients join the
system, fewer resources become available to each one.
3. 2. VOIP
2.1 Introduction
Voice over Internet Protocol (Voice over IP, VoIP) is a methodology and group of
technologies for the delivery of voice communications and multimedia sessions over
Internet Protocol (IP) networks, such as the Internet. The terms Internet telephony,
broadband telephony, and broadband phone service specifically refer to the
provisioning of communications services (voice, fax, SMS, voice-messaging) over the
public Internet, rather than via the public switched telephone network (PSTN).
The steps and principles involved in originating VoIP telephone calls are similar to
traditional digital telephony and involve signaling, channel setup, digitization of the
analog voice signals, and encoding. Instead of being transmitted over a
circuit-switched network; however, the digital information is packetized, and
transmission occurs as IP packets over a packet-switched network. They transport
audio streams using special media delivery protocols that encode audio and video with
audio codecs, and video codecs.
2.2 Protocols Used
Voice over IP has been implemented in various ways using both proprietary protocols
and protocols based on open standards. VoIP protocols include:
● Session Initiation Protocol (SIP)
● H.323
● Media Gateway Control Protocol (MGCP)
● Gateway Control Protocol (Megaco, H.248)
● Real-time Transport Protocol (RTP)
● Real-time Transport Control Protocol (RTCP)
● Secure Real-time Transport Protocol (SRTP)
● Session Description Protocol (SDP)
● Inter-Asterisk eXchange (IAX)
● Jingle XMPP VoIP extensions
● Skype protocol
4. 2.3 Quality of Service
Communication on the IP network is perceived as less reliable in contrast to the
circuit-switched public telephone network because it does not provide a
network-based mechanism to ensure that data packets are not lost, and are delivered
in sequential order. It is a best-effort network without fundamental Quality of Service
(QoS) guarantees. Voice, and all other data, travels in packets over IP networks with
fixed maximum capacity. This system may be more prone to congestion and DoS
attacks than traditional circuit switched systems; a circuit switched system of
insufficient capacity will refuse new connections while carrying the remainder
without impairment, while the quality of real-time data such as telephone
conversations on packet-switched networks degrades dramatically. Therefore, VoIP
implementations may face problems with latency, packet loss, and jitter.
2.4 Operational Cost
VoIP has drastically reduced the cost of communication by sharing network
infrastructure between data and voice. A single broad-band connection has the ability
to transmit more than one telephone call. Secure calls using standardized protocols,
such as Secure Real-time Transport Protocol, as most of the facilities of creating a
secure telephone connection over traditional phone lines, such as digitizing and digital
transmission, are already in place with VoIP. It is only necessary to encrypt and
authenticate the existing data stream.
2.5 Working
First, voice is converted from an analog signal to a digital signal. It is then sent
over the Internet in data packets to a location that will be close to the destination.
Then it will be converted back to an analog signal for the remaining distance over a
traditional circuit switched (PSTN) (unless it is VoIP to VoIP). Your call can be
received by traditional telephones worldwide, as well as other VoIP users. VoIP to
VoIP calls can travel entirely over the Internet. Since your voice is changed to digital
(so that it can travel over the Internet), other great features such as voice messages to
email, call forwarding, logs of incoming and outgoing calls, caller ID, etc., can be
included in your basic calling plan all for one low price.
5. 3. SKYPE: WORKING AND ARCHITECTURE
3.1 Skype Network
Skype is one of the largest VoIP providers with over 500 million users. Skype was the
first peer-to-peer IP telephony network created by the developers of KaZaa.
Skype uses wide-band codec (iLBC, iSAC and iPCM developed by GlobalIPSound ) which
allows it to maintain reasonable call quality at an available bandwidth of 32 kb/s (The
Skype claimed bandwidth usage of 3-16 kilobytes/s) and the minimum and maximum
audible frequency Skype codec allowed to pass-through are 50 Hz and 8,000 Hz
respectively.
The network contains three types of entities: supernodes, ordinary nodes, and the login
server. Each client maintains a host cache with the IP address and port numbers of
reachable supernodes. The Skype user directory is decentralized and distributed
among the supernodes in the network.
6. Skype Network
3.2 Key Components
● Skype Client (SC): Skype application which can be used to place calls, send
messages and etc. The Skype network is an overlay network and thus each SC
needs to build and refresh a table of reachable nodes. In Skype, this table is
called host cache (HC) and it contains IP address and port number of super
nodes. This host cache is stored in an XML file called "shared.xml". Also, NAT
and firewall information is stored in "shared.xml". If this file is not present, SC
7. tries to establish a TCP connection with each of the seven Skype maintained
default SNs IP address on port 33033.
● Super Node (SN): Super nodes are the endpoints where Skype clients connect
to. Any node with a public IP address having sufficient CPU, memory, and
network bandwidth is a candidate to become a super node and a Skype client
cannot prevent itself from becoming a super node. Also, if a SC cannot establish
a TCP connection with a SN then it will report a login failure.
● Skype Authentication Server: This is the only centralized Skype server which
is used to authenticate Skype users. An authenticated user is then announced to
other peers and buddies. If the user saves his/her credentials, authentication
will not be necessary. This server (IP address: 212.72.49.141 [Buddy list] or
195.215.8.141) also stores the buddy list for each user. Note that the buddy list is
also stored locally in an unencrypted file called "config.xml". In addition, if two
SCs have the same buddy, their corresponding config.xml files have a different
four-byte number for the same buddy. Finally, it has been shown that Skype
routes login messages through SNs if the authentication server is blocked.
● Start of Message (SoM) Structure: Skype uses the same port to communicate
with the outside world. Therefore, it needs an unencrypted structure in the
beginning of each UDP packet to analyze the sequence and the flows at the
application layer. This structure is called SoM.
3.3 Skype Connections
● Skype to Skype (End to End) (E2E)
Call signalling and media transfer
1. If both caller and receiver are on public IPs and receiver is in the buddy
list of the caller, then they establish a call through a direct TCP
connection with each other and transfer media using UDP.
2. If the caller or receiver is behind a port-restricted NAT then they
establish a call through a few packets initially transferred between
8. caller, receiver, SN and other hosts and a UDP connection is established
between the caller and receiver which is used to transfer media as well.
3. If caller and receiver are behind a UDP-restricted firewall they will
need a relay (node) in between to establish TCP connection to and then
the traffic (including media) will go through from one side to the other.
For users that are not present in the buddy list, call placement is equal to user
search plus call signalling.
● Skype to PSTN (Public Switched Telephone Network) (SkypeOut)
For Skype out, the application initially contacts the SN and then the PSTN
gateway at port 12340. The gateway servers are a separate part of the
architecture and not a part of the overlay network. In addition, host servers
195.215.8.140 and 212.72.49.155 are only connected when a user tries to call
another user in the PSTN network; therefore, we assume these servers to be
Skype-to-PSTN gateways (SkypeOut) .
3.4 Skype Functions
● Startup
When SC v1.4 was run for the first time after installation, it sent a HTTP 1.1 GET
request to the Skype server (skype.com). The first line of this request contained
the keyword ‘installed’.
● Login
Login is perhaps the most critical function to the Skype operation. It is during
this process a SC authenticates its user name and password with the login
server, advertises its presence to other peers and its buddies, determines the
type of NAT and firewall it is behind, discovers online Skype nodes with public
IP addresses, and checks the availability of latest Skype version.
● User Search
Skype uses its Global Index (GI) technology to search for a user. Skype claims
that search is distributed and is guaranteed to find a user if it exists and has
logged in during the last 72 hours. Extensive testing suggests that Skype was
always able to locate users who logged in using a public or private IP address in
9. the last 72 hours.
● Call Establishment and Teardown
we consider call establishment for users that are in the buddy list of caller and
for users that are not present in the buddy list. It is important to note that call
signaling is always carried over TCP. For users that are not present in the buddy
list, call placement is equal to user search plus call signaling.
● Media Transfer and Codecs
If both Skype clients (v1.4) were on machines with public IP addresses, then
media traffic flowed directly between them over UDP. The media traffic flowed
to and from the UDP port configured in the options dialog box. The voice packet
size varied between 40 and 120 bytes. For two users connected to Internet over
100 Mbps Ethernet with almost no congestion in the network, roughly 85 voice
packets were exchanged both ways in one second. The total uplink and
downlink bandwidth used for voice traffic was 5 kilobytes/s. This bandwidth
usage agrees with the Skype claim of 3-16 kilobytes/s.
● Conference Calling
During a conference call, the most powerful machine always gets elected as a
conference host and the other clients send their data to that host
4. REFERENCES
1. Skype, Wikipedia - the free encyclopedia,
https://en.wikipedia.org/wiki/Skype
2. How VoIP Works, HowStuffWorks,
http://computer.howstuffworks.com/ip-telephony.htm
3. What is VoIP, a tutorial, VoIP Mechanic,
http://www.voipmechanic.com/what-is-voip.htm
4. Skype Architecture,
http://www1.cs.columbia.edu/~salman/publications/skype1_4.pdf
5. Peer-to-peerNetwork:
https://www.techopedia.com/definition/25777/peer-to-peer-network-p2p-networ