Network Application Architectures

Network Application Architectures

Before diving into software coding, you should have a big architectural plan for your application. Keep in mind that an application's architecture is particularly different from the network architecture (e.g., the five-layer Internet architecture discussed in "Computer Networks and the Internet"). From the application developer's point of view, the network architecture is fixed and provides a particular set of services to applications.

Communication for a network application takes place

The application architecture, on the other hand, is designed by the application developer and dictates how the application is structured over the various end systems. In selecting the application architecture, an application developer will likely draw on one of the two major architectural examples used in modern network applications: the client-server architecture or the peer-to-peer (P2P) architecture.

In a client-server architecture, there is an always-on host, called the server, which services requests from many other hosts, called clients. The client hosts can be either sometimes-on or always-on. A typical example is the Web application for which an always-on Web server services requests from browsers running on client hosts. When a Web server receives a request for an object from a client host, it responds by sending the requested object to the client host. Note that with the client-server architecture, clients do not directly communicate with each other; for instance, in the Web application, two browsers do not directly communicate. Another characteristic of the client-server architecture is that the server has a fixed, well-known address, called an IP address (which we'll discuss soon). Because the server has a fixed, well- known address, and because the server is always on, a client can always contact the server by sending a packet to the server's address. Same of the better-known applications with a client-server architecture include the Web, FTP, Telnet, and e-mail. The client-server architecture is shown in figure 2(a).

Sometimes in a client-server application, a single server host is incapable of keeping up with all he requests from its clients. For instance, a popular social-networking site can rapidly become overwhelmed if it has only one server handling all of its requests. For this reason, a large cluster of hosts - often referred to as a data center - is sometimes used to create a powerful virtual server in client-server architectures. Application services that are based on the client-server architecture are sometimes infrastructure intensive, since they need the service providers to purchase, install, and maintain server farms. Additionally, the service providers must pay recurring interconnection and bandwidth costs for sending and receiving data to and from the Internet. Popular services such as search engines (e.g., Google), Internet commerce (e.g., Amazon and e-Bay), Web-based e-mail (e.g., Yahoo Mail), social networking (e.g., MySpace and Facebook), and video sharing (e.g., YouTube) are infrastructure intensive and costly to provide.

In a P2P architecture, there is minimum (or no) dependence on always-on infrastructure servers. Instead the application makes use of direct communication between pairs of occasionally connected hosts, called peers. The peers are not owned by the service provider, but are instead desktops and laptops controlled by users, with most of the peers residing in homes, universities, and offices. Because the peers communicate without passing through a dedicated server, the architecture is called peer-to-peer. Many of today's most well-known and traffic-intensive applications are based on P2P architectures. These applications contain file distribution (e.g., BitTorrent), file sharing (e.g., eMule and LimeWire), Internet telephony (e.g., Skype), and IPTV (e.g., PPLive). The P2P architecture is demonstrated in Figure 2(b). We mention that some applications have hybrid architectures, combining both client-server and P2P elements. For instance, for many instant messaging applications, servers are used to track the IP addresses of users, but user-to-user messages are sent directly between user hosts (without passing through intermediate servers).

Client-server architecture

One of the most compelling features of P2P architectures is their self-scalability. For instance, in a P2P file-sharing application, although each peer creates work-load by requesting files, each peer also adds service capacity to the system by distributing files to other peers. P2P architectures are also cost effective, as they usually don't need significant server infrastructure and server bandwidth. To reduce costs, service providers (MSN, Yahoo, and so on) are progressively more interested in using P2P architectures for their applications [Chuang 2007]. However, future P2P applications face three big challenges:

1. ISP Friendly. Most residential ISPs (including DSL and cable ISPs) have been dimensioned for "asymmetrical" bandwidth usage, that is, for much more downstream than upstream traffic. But P2P video streaming and file distribution applications shift upstream traffic from servers to residential ISPs, thereby putting considerable stress on the ISPs. Future P2P applications need to be designed so that they are friendly to ISPs [Xie 2008].

2. Security. Because of their highly distributed and open nature, P2P applications can be a challenge to secure
[Doucer 2002; Yu 2006; Liang 2006: Naoumov 2006; Dhungel 2008].

3. Incentives. The success of future P2P applications also depends on convincing users to volunteer bandwidth, storage, and computation resources to the applications, which is the challenge of incentive design [Feldman 2005; Piatek 2008; Aperjis 2008].



Tags

end systems, network applications, p2p architecture

Copy Right

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.