Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • DSA
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps
    • Software and Tools
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Go Premium
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
Basics of Computer Networking
Next article icon

What is a Distributed System?

Last Updated : 23 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

A distributed system is a collection of independent computers that appear to the users of the system as a single coherent system. These computers or nodes work together, communicate over a network, and coordinate their activities to achieve a common goal by sharing resources, data, and tasks.

What-is-a-Distributed-System

Table of Content

  • Difference between centralized system and distributed system
  • Architectures of Distributed systems
  • Example of a Distributed System
  • Characteristics of Distributed System
  • Advantages of Distributed System
  • Disadvantages of Distributed System
  • Use cases of Distributed System
  • Are Distributed Systems and Microservices the Same?

Difference between centralized system and distributed system

All data and computational resources are kept and controlled in a single central place, such as a server, in a centralized system. Applications and users connect to this hub in order to access and handle data. Although this configuration is easy to maintain and secure, if too many users access it simultaneously or if the central server malfunctions, it could become a bottleneck.

A distributed system, on the other hand, disperses data and resources over several servers or locations, frequently across various physical places. Better scalability and reliability are made possible by this configuration since the system can function even in the event of a component failure. However, because of their numerous points of interaction, distributed systems can be more difficult to secure and administer.

Architectures of Distributed systems

Below are some of the common distributed system architectures:

  • Client-Server Architecture:
    • In this setup, servers provide resources or services, and clients request them. Clients and servers communicate over a network.
    • Examples: Web applications, where browsers (clients) request pages from web servers.
  • Peer-to-Peer (P2P) Architecture:
    • Each node, or "peer," in the network acts as both a client and a server, sharing resources directly with each other.
    • Examples: File-sharing networks like BitTorrent, where files are shared between users without a central server.
  • Three-Tier Architecture:
    • This model has three layers: presentation (user interface), application (business logic), and data (database). Each layer is separated to allow easier scaling and maintenance.
    • Examples: Many web applications use this to separate user interfaces, logic processing, and data storage.
  • Microservices Architecture:
    • The application is split into small, independent services, each handling specific functions. These services communicate over a network, often using REST APIs or messaging.
    • Examples: Modern web applications like Netflix or Amazon, where different services handle user accounts, orders, and recommendations independently.
  • Service-Oriented Architecture (SOA):
    • Similar to microservices, SOA organizes functions as services. However, SOA typically uses an enterprise service bus (ESB) to manage communication between services.
    • Examples: Large enterprise applications in finance or government, where different services handle various aspects of business processes.
  • Event-Driven Architecture:
    • Components interact by sending and responding to events rather than direct requests. An event triggers specific actions or processes in various parts of the system.
    • Examples: Real-time applications like IoT systems, where sensors trigger actions based on detected events.

The most common forms of distributed systems today operate over the internet, handing off workloads to dozens of cloud-based virtual server instances that are created as needed, and then terminated when the task is complete.

Example of a Distributed System

Any Social Media can have its Centralized Computer Network as its Headquarters and computer systems that can be accessed by any user and using their services will be the Autonomous Systems in the Distributed System Architecture.

Distributed-System

  • Distributed System Software: This Software enables computers to coordinate their activities and to share the resources such as Hardware, Software, Data, etc.
  • Database: It is used to store the processed data that are processed by each Node/System of the Distributed systems that are connected to the Centralized network.

Working-of-Distributed-System

  • As we can see that each Autonomous System has a common Application that can have its own data that is shared by the Centralized Database System.
  • To Transfer the Data to Autonomous Systems, Centralized System should be having a Middleware Service and should be connected to a Network.
  • Middleware Services enable some services which are not present in the local systems or centralized system default by acting as an interface between the Centralized System and the local systems. By using components of Middleware Services systems communicate and manage data.
  • The Data which is been transferred through the database will be divided into segments or modules and shared with Autonomous systems for processing.
  • The Data will be processed and then will be transferred to the Centralized system through the network and will be stored in the database.

Characteristics of Distributed System

  • Resource Sharing: It is the ability to use any Hardware, Software, or Data anywhere in the System.
  • Openness: It is concerned with Extensions and improvements in the system (i.e., How openly the software is developed and shared with others)
  • Concurrency: It is naturally present in Distributed Systems, that deal with the same activity or functionality that can be performed by separate users who are in remote locations. Every local system has its independent Operating Systems and Resources.
  • Scalability: It increases the scale of the system as a number of processors communicate with more users by accommodating to improve the responsiveness of the system.
  • Fault tolerance: It cares about the reliability of the system if there is a failure in Hardware or Software, the system continues to operate properly without degrading the performance the system.
  • Transparency: It hides the complexity of the Distributed Systems to the Users and Application programs as there should be privacy in every system.

Advantages of Distributed System

Below are some of the advantages of Distributed System:

  • Scalability: Distributed systems can easily grow by adding more computers (nodes), allowing them to handle increased demand without significant reconfiguration.
  • Reliability and Fault Tolerance: If one part of the system fails, others can take over, making distributed systems more resilient and ensuring services remain available.
  • Performance: Workloads can be split across multiple nodes, allowing tasks to be completed faster and improving overall system performance.
  • Resource Sharing: Distributed systems allow resources like data, storage, and computing power to be shared across nodes, increasing efficiency and reducing costs.
  • Geographical Distribution: Since nodes can be in different locations, distributed systems can serve users globally, providing faster access to resources based on location.

Disadvantages of Distributed System

Below are some of the disadvantages of Distributed System:

  • Relevant Software for Distributed systems does not exist currently.
  • Security possess a problem due to easy access to data as the resources are shared to multiple systems.
  • Networking Saturation may cause a hurdle in data transfer i.e., if there is a lag in the network then the user will face a problem accessing data.
  • In comparison to a single user system, the database associated with distributed systems is much more complex and challenging to manage.
  • If every node in a distributed system tries to send data at once, the network may become overloaded.

Use cases of Distributed System

  • Finance and Commerce: Amazon, eBay, Online Banking, E-Commerce websites.
  • Information Society: Search Engines, Wikipedia, Social Networking, Cloud Computing.
  • Cloud Technologies: AWS, Salesforce, Microsoft Azure, SAP.
  • Entertainment: Online Gaming, Music, youtube.
  • Healthcare: Online patient records, Health Informatics.
  • Transport and logistics: GPS, Google Maps.

Are Distributed Systems and Microservices the Same?

Distributed systems and microservices are related concepts but not the same. Let's break down the differences:

  1. Distributed Systems:
    • A distributed system is a collection of independent computers that appear to its users as a single coherent system.
    • In a distributed system, components located on networked computers communicate and coordinate their actions by passing messages.
    • Distributed systems can encompass various architectures, including client-server, peer-to-peer, and more.
  2. Microservices:
    • Microservices is an architectural style that structures an application as a collection of small, autonomous services, modeled around a business domain.
    • Each microservice is a self-contained unit that can be developed, deployed, and scaled independently.
    • Microservices communicate with each other over a network, typically using lightweight protocols like HTTP or messaging queues.

While microservices can be implemented in a distributed system, they are not same. Microservices focus on architectural design principles, emphasizing modularity, scalability, and flexibility, whereas distributed systems encompass a broader range of concepts, including communication protocols, fault tolerance, and concurrency control, among others.

Conclusion

Distributed systems are becoming increasingly popular due to their high availability, scalability, and fault tolerance. However, they also present some challenges that must be addressed. By understanding the characteristics and challenges of distributed systems, developers can design and implement effective distributed systems that meet the needs of their users.



Next Article
Basics of Computer Networking

D

devasishakula503
Improve
Article Tags :
  • Computer Networks

Similar Reads

    Computer Network Tutorial
    A Computer Network is a system where two or more devices are linked together to share data, resources and information. These networks can range from simple setups, like connecting two devices in your home, to massive global systems, like the Internet. Below are some uses of computer networksSharing
    6 min read

    Computer Network Basics

    Basics of Computer Networking
    A computer network is a collection of interconnected devices that share resources and information. These devices can include computers, servers, printers, and other hardware. Networks allow for the efficient exchange of data, enabling various applications such as email, file sharing, and internet br
    10 min read
    Types of Computer Networks
    A computer network is a system that connects many independent computers to share information (data) and resources. The integration of computers and other different devices allows users to communicate more easily. It is a collection of two or more computer systems that are linked together. A network
    7 min read
    Introduction to Internet
    Computers and their structures are tough to approach, and it is made even extra tough when you want to recognize phrases associated with the difficulty this is already utilized in regular English, Network, and the net will appear to be absolutely wonderful from one some other, however, they may seem
    10 min read
    Types of Network Topology
    Network topology refers to the arrangement of different elements like nodes, links, or devices in a computer network. Common types of network topology include bus, star, ring, mesh, and tree topologies, each with its advantages and disadvantages. In this article, we will discuss different types of n
    11 min read
    Network Devices
    Network devices are physical devices that allow hardware on a computer network to communicate and interact with each other. Network devices like hubs, repeaters, bridges, switches, routers, gateways, and brouter help manage and direct data flow in a network. They ensure efficient communication betwe
    9 min read
    What is OSI Model? - Layers of OSI Model
    The OSI (Open Systems Interconnection) Model is a set of rules that explains how different computer systems communicate over a network. OSI Model was developed by the International Organization for Standardization (ISO). The OSI Model consists of 7 layers and each layer has specific functions and re
    13 min read
    TCP/IP Model
    The TCP/IP model is a framework that is used to model the communication in a network. It is mainly a collection of network protocols and organization of these protocols in different layers for modeling the network.It has four layers, Application, Transport, Network/Internet and Network Access.While
    7 min read
    Difference Between OSI Model and TCP/IP Model
    Data communication is a process or act in which we can send or receive data. Understanding the fundamental structures of networking is crucial for anyone working with computer systems and communication. For data communication two models are available, the OSI (Open Systems Interconnection) Model, an
    4 min read

    Physical Layer

    Physical Layer in OSI Model
    The physical Layer is the bottom-most layer in the Open System Interconnection (OSI) Model, responsible for the physical and electrical transmission of data. It consists of various network components such as power plugs, connectors, receivers, cable types, etc. The physical layer sends data bits fro
    4 min read
    Types of Network Topology
    Network topology refers to the arrangement of different elements like nodes, links, or devices in a computer network. Common types of network topology include bus, star, ring, mesh, and tree topologies, each with its advantages and disadvantages. In this article, we will discuss different types of n
    11 min read
    Transmission Modes in Computer Networks (Simplex, Half-Duplex and Full-Duplex)
    Transmission modes also known as communication modes, are methods of transferring data between devices on buses and networks designed to facilitate communication. They are classified into three types: Simplex Mode, Half-Duplex Mode, and Full-Duplex Mode. In this article, we will discuss Transmission
    6 min read
    Types of Transmission Media
    Transmission media is the physical medium through which data is transmitted from one device to another within a network. These media can be wired or wireless. The choice of medium depends on factors like distance, speed, and interference. In this article, we will discuss the transmission media. In t
    9 min read

    Data Link Layer

    Data Link Layer in OSI Model
    The data link layer is the second layer from the bottom in the OSI (Open System Interconnection) network architecture model. Responsible for the node-to-node delivery of data within the same local network. Major role is to ensure error-free transmission of information. Also responsible for encoding,
    4 min read
    What is Switching?
    Switching is the process of transferring data packets from one device to another in a network, or from one network to another, using specific devices called switches. A computer user experiences switching all the time for example, accessing the Internet from your computer device, whenever a user req
    5 min read
    Virtual LAN (VLAN)
    Virtual LAN (VLAN) is a concept in which we can divide the devices logically on layer 2 (data link layer). Generally, layer 3 devices divide the broadcast domain but the broadcast domain can be divided by switches using the concept of VLAN. A broadcast domain is a network segment in which if a devic
    7 min read
    Framing in Data Link Layer
    Frames are the units of digital transmission, particularly in computer networks and telecommunications. Frames are comparable to the packets of energy called photons in the case of light energy. Frame is continuously used in Time Division Multiplexing process. Framing is a point-to-point connection
    6 min read
    Error Control in Data Link Layer
    Data-link layer uses the techniques of error control simply to ensure and confirm that all the data frames or packets, i.e. bit streams of data, are transmitted or transferred from sender to receiver with certain accuracy. Using or providing error control at this data link layer is an optimization,
    4 min read
    Flow Control in Data Link Layer
    Flow control is design issue at Data Link Layer. It is a technique that generally observes the proper flow of data from sender to receiver. It is very essential because it is possible for sender to transmit data or information at very fast rate and hence receiver can receive this information and pro
    4 min read
    Piggybacking in Computer Networks
    Piggybacking is the technique of delaying outgoing acknowledgment temporarily and attaching it to the next data packet. When a data frame arrives, the receiver waits and does not send the control frame (acknowledgment) back immediately. The receiver waits until its network layer moves to the next da
    5 min read

    Network Layer

    Network Layer in OSI Model
    The Network Layer is the 5th Layer from the top and the 3rd layer from the Bottom of the OSI Model. It is one of the most important layers which plays a key role in data transmission. The main job of this layer is to maintain the quality of the data and pass and transmit it from its source to its de
    5 min read
    Introduction of Classful IP Addressing
    Classful IP addressing is an obsolete method for allocating IP addresses and dividing the available IP address space across networks. It was used from 1981 to 1993 until the introduction of CIDR (Based on Prefixes rather than classes). Classful method categorizes IP addresses into five classes (A, B
    10 min read
    Classless Addressing in IP Addressing
    The Network address identifies a network on the internet. Using this, we can find a range of addresses in the network and total possible number of hosts in the network. Mask is a 32-bit binary number that gives the network address in the address block when AND operation is bitwise applied on the mas
    7 min read
    What is an IP Address?
    Imagine every device on the internet as a house. For you to send a letter to a friend living in one of these houses, you need their home address. In the digital world, this home address is what we call an IP (Internet Protocol) Address. It's a unique string of numbers separated by periods (IPv4) or
    14 min read
    IPv4 Datagram Header
    IP stands for Internet Protocol and v4 stands for Version Four (IPv4). IPv4 was the primary version brought into action for production within the ARPANET in 1983. IP version four addresses are 32-bit integers which will be expressed in decimal notation. In this article, we will discuss about IPv4 da
    4 min read
    Difference Between IPv4 and IPv6
    IPv4 and IPv6 are two versions of the system that gives devices a unique address on the internet, known as the Internet Protocol (IP). IP is like a set of rules that helps devices send and receive data online. Since the internet is made up of billions of connected devices, each one needs its own spe
    7 min read
    Difference between Private and Public IP addresses
    IP Address or Internet Protocol Address is a type of address that is required to communicate one computer with another computer for exchanging information, file, webpage, etc. Public and Private IP address are two important parts of device identity. In this article, we will see the differences betwe
    6 min read
    Introduction To Subnetting
    Subnetting is the process of dividing a large network into smaller networks called "subnets." Subnets provide each group of devices with their own space to communicate, which ultimately helps the network to work easily. This also boosts security and makes it easier to manage the network, as each sub
    8 min read
    What is Routing?
    The process of choosing a path across one or more networks is known as Network Routing. Nowadays, individuals are more connected on the internet and hence, the need to use Routing Communication is essential.Routing chooses the routes along which Internet Protocol (IP) packets get from their source t
    10 min read
    Network Layer Protocols
    Network Layer is responsible for the transmission of data or communication from one host to another host connected in a network. Rather than describing how data is transferred, it implements the technique for efficient transmission. In order to provide efficient communication protocols are used at t
    9 min read

    Transport Layer

    Transport Layer in OSI Model
    The transport layer, or layer 4 of the OSI model, controls network traffic between hosts and end systems to guarantee full data flows. It is positioned between the network and session layers in the OSI paradigm. The data packets must be taken and sent to the appropriate machine by the network layer.
    5 min read
    Transport Layer Protocols
    The transport layer is the fourth layer in the OSI model and the second layer in the TCP/IP model. The transport layer provides with end to end connection between the source and the destination and reliable delivery of the services. Therefore transport layer is known as the end-to-end layer. The tra
    9 min read
    What is TCP (Transmission Control Protocol)?
    Transmission Control Protocol (TCP) is a connection-oriented protocol for communications that helps in the exchange of messages between different devices over a network. It is one of the main protocols of the TCP/IP suite. In OSI model, it operates at the transport layer(Layer 4). It lies between th
    5 min read
    User Datagram Protocol (UDP)
    User Datagram Protocol (UDP) is a Transport Layer protocol. UDP is a part of the Internet Protocol suite, referred to as UDP/IP suite. Unlike TCP, it is an unreliable and connectionless protocol. So, there is no need to establish a connection before data transfer. The UDP helps to establish low-late
    10 min read

    Session Layer & Presentation Layer

    Session Layer in OSI model
    The Session Layer is the 5th layer in the Open System Interconnection (OSI) model which plays an important role in controlling the dialogues (connections) between computers. This layer is responsible for setting up, coordinating, and terminating conversations, exchanges, and dialogues between the ap
    6 min read
    Presentation Layer in OSI model
    Presentation Layer is the 6th layer in the Open System Interconnection (OSI) model. This layer is also known as Translation layer, as this layer serves as a data translator for the network. The data which this layer receives from the Application Layer is extracted and manipulated here as per the req
    4 min read
    Secure Socket Layer (SSL)
    SSL or Secure Sockets Layer, is an Internet security protocol that encrypts data to keep it safe. It was created by Netscape in 1995 to ensure privacy, authentication, and data integrity in online communications. SSL is the older version of what we now call TLS (Transport Layer Security).Websites us
    10 min read
    PPTP Full Form - Point-to-Point Tunneling Protocol
    PPTP Stands for Point-to-Point Tunneling Protocol is a widely used networking protocol designed to create a secure private connection over a public network like the internet. It is Developed by Microsoft and other tech companies in the 1990s It is one of the first protocols used for Virtual Private
    5 min read
    Multipurpose Internet Mail Extension (MIME) Protocol
    MIME (Multipurpose Internet Mail Extensions) is a standard used to extend the format of email messages, allowing them to include more than just text. It enables the transmission of multimedia content such as images, audio, video, and attachments, within email messages, as well as other types of cont
    4 min read

    Application Layer

    Application Layer in OSI Model
    The Application Layer of OSI (Open System Interconnection) model, is the top layer in this model and takes care of network communication. The application layer provides the functionality to send and receive data from users. It acts as the interface between the user and the application. The applicati
    5 min read
    Client-Server Model
    The Client-Server Model is a distributed architecture where clients request services and servers provide them. Clients send requests to servers, which process them and return the results. Clients don’t share resources among themselves but depend on the server. Common examples include email systems a
    5 min read
    World Wide Web (WWW)
    The World Wide Web (WWW), often called the Web, is a system of interconnected webpages and information that you can access using the Internet. It was created to help people share and find information easily, using links that connect different pages together. The Web allows us to browse websites, wat
    6 min read
    Introduction to Electronic Mail
    Introduction:Electronic mail, commonly known as email, is a method of exchanging messages over the internet. Here are the basics of email:An email address: This is a unique identifier for each user, typically in the format of name@domain.com.An email client: This is a software program used to send,
    4 min read
    What is a Content Distribution Network and how does it work?
    Over the last few years, there has been a huge increase in the number of Internet users. YouTube alone has 2 Billion users worldwide, while Netflix has over 160 million users. Streaming content to such a wide demographic of users is no easy task. One can think that a straightforward approach to this
    4 min read
    Protocols in Application Layer
    The Application Layer is the topmost layer in the Open System Interconnection (OSI) model. This layer provides several ways for manipulating the data which enables any type of user to access the network with ease. The Application Layer interface directly interacts with the application and provides c
    7 min read

    Advanced Topics

    What is Network Security?
    Network security is defined as the activity created to protect the integrity of your network and data. Network security is the practice of protecting a computer network from unauthorized access, misuse, or attacks. It involves using tools, technologies, policies, and procedures to ensure the confide
    8 min read
    Computer Network | Quality of Service and Multimedia
    Quality of Service (QoS) is an important concept, particularly when working with multimedia applications. Multimedia applications, such as video conferencing, streaming services, and VoIP (Voice over IP), require certain bandwidth, latency, jitter, and packet loss parameters. QoS methods help ensure
    7 min read
    Authentication in Computer Network
    Prerequisite - Authentication and Authorization Authentication is the process of verifying the identity of a user or information. User authentication is the process of verifying the identity of a user when that user logs in to a computer system. There are different types of authentication systems wh
    4 min read
    Encryption, Its Algorithms And Its Future
    Encryption plays a vital role in today’s digital world, serving a major role in modern cyber security. It involves converting plain text into cipher text, ensuring that sensitive information remains secure from unauthorized access. By making data unreadable to unauthorized parties, encryption helps
    10 min read
    Introduction of Firewall in Computer Network
    A firewall is a network security device, either hardware or software-based, which monitors all incoming and outgoing traffic and based on a defined set of security rules, it accepts, rejects, or drops that specific traffic. It acts like a security guard that helps keep your digital world safe from u
    7 min read
    MAC Filtering in Computer Network
    There are two kinds of network Adapters. A wired adapter allows us to set up a connection to a modem or router via Ethernet in a computer whereas a wireless adapter identifies and connects to remote hot spots. Each adapter has a distinct label known as a MAC address which recognizes and authenticate
    10 min read
    Wi-Fi Standards Explained
    Wi-Fi stands for Wireless Fidelity, and it is developed by an organization called IEEE (Institute of Electrical and Electronics Engineers) they set standards for the Wi-Fi system. Each Wi-Fi network standard has two parameters : Speed - This is the data transfer rate of the network measured in Mbps
    4 min read
    What is Bluetooth?
    Bluetooth is used for short-range wireless voice and data communication. It is a Wireless Personal Area Network (WPAN) technology and is used for data communications over smaller distances. This generation changed into being invented via Ericson in 1994. It operates within the unlicensed, business,
    6 min read
    Generations of wireless communication
    We have made very huge improvements in wireless communication and have expanded the capabilities of our wireless communication system. We all have seen various generations in our life. Let's discuss them one by one. 0th Generation: Pre-cell phone mobile telephony technology, such as radio telephones
    2 min read
    Cloud Networking
    Cloud Networking is a service or science in which a company’s networking procedure is hosted on a public or private cloud. Cloud Computing is source management in which more than one computing resources share an identical platform and customers are additionally enabled to get entry to these resource
    11 min read

    Practice

    Top 50 Plus Networking Interview Questions and Answers for 2024
    Networking is defined as connected devices that may exchange data or information and share resources. A computer network connects computers to exchange data via a communication media. Computer networking is the most often asked question at leading organizations such Cisco, Accenture, Uber, Airbnb, G
    15+ min read
    Top 50 TCP/IP Interview Questions and Answers 2025
    Understanding TCP/IP is essential for anyone working in IT or networking. It's a fundamental part of how the internet and most networks operate. Whether you're just starting or you're looking to move up in your career, knowing TCP/IP inside and out can really give you an edge.In this interview prepa
    15+ min read
    Top 50 IP Addressing Interview Questions and Answers
    In today’s digital age, every device connected to the internet relies on a unique identifier called an IP Address. If you’re aiming for a career in IT or networking, mastering the concept of IP addresses is crucial. In this engaging blog post, we’ll explore the most commonly asked IP address intervi
    15+ min read
    Last Minute Notes for Computer Networks
    Computer Networks is an important subject in the GATE Computer Science syllabus. It encompasses fundamental concepts like Network Models, Routing Algorithms, Congestion Control, TCP/IP Protocol Suite, and Network Security. These topics are essential for understanding how data is transmitted, managed
    14 min read
    Computer Network - Cheat Sheet
    A computer network is an interconnected computing device that can exchange data and share resources. These connected devices use a set of rules called communication protocols to transfer information over physical or wireless technology. Modern networks offer more than just connectivity. Enterprises
    15+ min read
`; $(commentSectionTemplate).insertBefore(".article--recommended"); } loadComments(); }); }); function loadComments() { if ($("iframe[id*='discuss-iframe']").length top_of_element && top_of_screen articleRecommendedTop && top_of_screen articleRecommendedBottom)) { if (!isfollowingApiCall) { isfollowingApiCall = true; setTimeout(function(){ if (loginData && loginData.isLoggedIn) { if (loginData.userName !== $('#followAuthor').val()) { is_following(); } else { $('.profileCard-profile-picture').css('background-color', '#E7E7E7'); } } else { $('.follow-btn').removeClass('hideIt'); } }, 3000); } } }); } $(".accordion-header").click(function() { var arrowIcon = $(this).find('.bottom-arrow-icon'); arrowIcon.toggleClass('rotate180'); }); }); window.isReportArticle = false; function report_article(){ if (!loginData || !loginData.isLoggedIn) { const loginModalButton = $('.login-modal-btn') if (loginModalButton.length) { loginModalButton.click(); } return; } if(!window.isReportArticle){ //to add loader $('.report-loader').addClass('spinner'); jQuery('#report_modal_content').load(gfgSiteUrl+'wp-content/themes/iconic-one/report-modal.php', { PRACTICE_API_URL: practiceAPIURL, PRACTICE_URL:practiceURL },function(responseTxt, statusTxt, xhr){ if(statusTxt == "error"){ alert("Error: " + xhr.status + ": " + xhr.statusText); } }); }else{ window.scrollTo({ top: 0, behavior: 'smooth' }); $("#report_modal_content").show(); } } function closeShareModal() { const shareOption = document.querySelector('[data-gfg-action="share-article"]'); shareOption.classList.remove("hover_share_menu"); let shareModal = document.querySelector(".hover__share-modal-container"); shareModal && shareModal.remove(); } function openShareModal() { closeShareModal(); // Remove existing modal if any let shareModal = document.querySelector(".three_dot_dropdown_share"); shareModal.appendChild(Object.assign(document.createElement("div"), { className: "hover__share-modal-container" })); document.querySelector(".hover__share-modal-container").append( Object.assign(document.createElement('div'), { className: "share__modal" }), ); document.querySelector(".share__modal").append(Object.assign(document.createElement('h1'), { className: "share__modal-heading" }, { textContent: "Share to" })); const socialOptions = ["LinkedIn", "WhatsApp","Twitter", "Copy Link"]; socialOptions.forEach((socialOption) => { const socialContainer = Object.assign(document.createElement('div'), { className: "social__container" }); const icon = Object.assign(document.createElement("div"), { className: `share__icon share__${socialOption.split(" ").join("")}-icon` }); const socialText = Object.assign(document.createElement("span"), { className: "share__option-text" }, { textContent: `${socialOption}` }); const shareLink = (socialOption === "Copy Link") ? Object.assign(document.createElement('div'), { role: "button", className: "link-container CopyLink" }) : Object.assign(document.createElement('a'), { className: "link-container" }); if (socialOption === "LinkedIn") { shareLink.setAttribute('href', `https://www.linkedin.com/sharing/share-offsite/?url=${window.location.href}`); shareLink.setAttribute('target', '_blank'); } if (socialOption === "WhatsApp") { shareLink.setAttribute('href', `https://api.whatsapp.com/send?text=${window.location.href}`); shareLink.setAttribute('target', "_blank"); } if (socialOption === "Twitter") { shareLink.setAttribute('href', `https://twitter.com/intent/tweet?url=${window.location.href}`); shareLink.setAttribute('target', "_blank"); } shareLink.append(icon, socialText); socialContainer.append(shareLink); document.querySelector(".share__modal").appendChild(socialContainer); //adding copy url functionality if(socialOption === "Copy Link") { shareLink.addEventListener("click", function() { var tempInput = document.createElement("input"); tempInput.value = window.location.href; document.body.appendChild(tempInput); tempInput.select(); tempInput.setSelectionRange(0, 99999); // For mobile devices document.execCommand('copy'); document.body.removeChild(tempInput); this.querySelector(".share__option-text").textContent = "Copied" }) } }); // document.querySelector(".hover__share-modal-container").addEventListener("mouseover", () => document.querySelector('[data-gfg-action="share-article"]').classList.add("hover_share_menu")); } function toggleLikeElementVisibility(selector, show) { document.querySelector(`.${selector}`).style.display = show ? "block" : "none"; } function closeKebabMenu(){ document.getElementById("myDropdown").classList.toggle("show"); }
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • DSA Tutorial
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences