Custom Term Paper, Research Paper and Essay Writing Service

Custom College Term Papers
Custom term papers home
Order custom term papers
Custom term papers faqs
Custom term paper support
Custom term papers help
Custom term papers
 

Term Paper on Client Server Architecture in Distributed Computing

 

 

Distributed computing has become a common phenomenon these days. As the system designed from the bottom up with networking in mind, distributed computing makes it very easy for computers to cooperate. Even the simplest applet running in a browser is a distributed application, if you think about it. The client running the browser downloads and executes code that is delivered by some other system. But even this simple application wouldn't be possible without a system that guarantees of portability and security.
 

Of course, when we think of distributed computing we usually think of applications more complex than a client and server communicating with the same protocol. Distributed computing is a term defined as a system in which there are several autonomous but interacting processors. Client/server computing has shifted into one of the mainstream computing strategies. The popular description explains the typical client/server environment as improving personal productivity and empowering users with better and timely information and decision support tools. But, most of today's successful client/server implementations are relatively bounded due to the implications of using sophisticated computer technologies.
 

Order Your Custom Term Papers, College Essays and Research Papers


A client/server application can thus be used for a variety of activities. Client/server model is a concept for describing communications between computing processes that are classified as service consumers (clients) and service providers (servers). Clients and servers are modules which function with well defined interfaces (i.e., they hide internal information). A set of software modules, hardware components, or a combination of both facilities can carry the functions performed by a client and a server forward. Clients and servers may run on dedicated Machines, if needed that is they are machines built for the purpose especially. Each client/server relationship is developed between two functional modules when one module that is the client generates a service request and the other module being the server chooses to respond to the service request. For a given service request, clients and servers do not reverse roles: a client stays a client and a server remains a server.


Information exchanges between clients and servers is strictly through messages which means that no information is exchanged through global variables. The service request and additional information is placed into a message that is sent to the server. The server's response is similarly another message that is sent back to the client. This is an extremely crucial feature of C/S model. Messages exchanged are typically interactive. In other words, Client/Server model does not support an off-line process. There are a few exceptions. Clients and servers typically reside on separate machines connected through a network. Conceptually, clients and servers may run on the same machine or on separate machines. In this book, however, our primary interest is in distributed client/server systems where clients and servers reside on separate machines. The implication of the features of being connected through networks is that client or server service requests are real-time messages that are exchanged through network services. This means the procedure goes online via the network. This feature increases the appeal of the Client-server model. Having online connection leads to greater flexibility and scalability but several technical issues such as portability, interoperability, security, and performance need to be considered.


An understanding with a deep study is required to study the client/server computing system because a number of things are inter-related. The design of client/server applications is complicated because work and data are distributed across multiple, usually dissimilar, systems. On top of this diversity, each of the principal architectural areas of distributed processing is influenced by highly dynamic trends. There is a growing recognition of the benefits of a multi-tiered architecture for more modular applications versus the commonplace two-tier client/server architecture. Physical placement of processing varies based on where to run presentation and business logic, and where to put data. A growing number of application styles such as mobile computing, inter-enterprise computing, and some forms of branch office processing can best or most economically be executed with deferred, rather than synchronized, delivery of messages or data.

Explaining a Distributed Computing System (DCS) leads to the definition that it is a collection of autonomous computers interconnected through a communication network to achieve business functions. Technically speaking, the computers do not share main memory so that the information cannot be transferred through global variables. The information (knowledge) between the computers is exchanged only through messages over a network, which has been explained earlier like request asking, “Produce income records. The limitation of no shared memory and information exchanges through messages is of crucial importance because it distinguishes between DCS and shared memory multiprocessor computing systems which clearly means memory is shared. This definition requires that the DCS computers are connected through a network that is responsible for the information exchange between computers. The definition also requires that the computers have to work together and cooperate with each other to satisfy enterprise needs.
 

Order Your Custom Term Papers, College Essays and Research Papers

 

Client/server is one of the main architectures being followed today. It is a computational architecture that involves client processes requesting service from server processes that is the client asks a service to be done. In general terms, client/server maintains a distinction between processes and network devices. Usually a client computer and a server computer are two separate devices, each compiled accordingly for their designed purpose.
 

For example, a Web server will often contain large amounts of memory and disk space, whereas Web clients often include features to support the graphic user interface of the browser such as high-end video cards and large-screen displays. Client/server networking, however, focuses primarily on the applications rather than the hardware. The same device may function as both client and server; for example, Web server hardware functions as both client and server when local browser sessions are run there. Likewise, a device that is a server at one moment can reverse roles and become a client to a different server.

Distributed computing can be approached through one or more of the following:
File transfer model, Client/server model and Peer-to-peer model but the client server model is more significant these days for distributed computing applications. File transfer model is one of the oldest models to achieve distributed computing at a very minimal level. Basically, programs at different computers communicate with each other by using file transfer.
In fact, e-mail is a special case of file transfer. Although this is a very old and extremely limited model of distributed computing, it is still used to support loosely coupled distributed computers. For example, media clips, news items, and portions of corporate databases are typically exchanged between remote computers through file transfers; and e-mail is used frequently to exchange files through embeddings and attachments. The Client/Server model on the other hand provides the technology, which is being practiced at this time in the world. Client/Server model, as explained previously, allows application processes at various locations to interactively exchange messages and is thus a major improvement over the file transfer model which has allowed considerable ease in work. Early versions which came a number of years back had the Client/Server model that utilized the remote procedure call paradigm that extends the scope of a local procedure call. At present, the Client/Server model is increasingly utilizing the distributed objects paradigm that extends the scope of local object paradigm.

Peer-to-peer model allows the processes at different sites to invoke each other. The basic difference between Client/Server and peer-to-peer is that in a peer-to-peer model the interacting processes can be a client, server, or both while in a C/S model one process assumes the role of a service provider while the other assumes the role of a service consumer and the respective roles do not change. Peer-to-peer middle-ware is used to build peer-to-peer distributed applications.


The client/server is design is used by a number of popular applications like e-mails and browsing activities. Each of these programs presents a user interface (either graphic- or text-based) in a client process that allows the user to connect to servers. In the case of email, the user enters a computer name into the interface to set up future connections to the server process. When using a Web browser, the name or address of the server appears in the Universal Resource Locator (URL) of each request. Although a person may start a Web surfing session by entering a particular server name the name regularly changes as they click links on the pages. In the Web model, server information is provided by the HTML content developer encoded in the anchor tags.
 

Client/server was originally developed to allow more users to share access to database applications. Compared to the mainframe approach, client/server offers improved because connections can be made as needed rather than being hard-wired. The client/server model also supports modular applications. In the so-called "two-tier" and "three-tier" types of client/server systems, a software application is separated into modular pieces, and each piece is installed on hardware specialized for that subsystem. One area of special concern in client/server networking is system management. With applications distributed across the network, it can be challenging to keep configuration information up-to-date and consistent among all of the devices. Likewise, upgrades to a newer version of a client/server application can be difficult to synchronize or stage appropriately. Finally, client/server systems rely heavily on the network's reliability; redundancy or fail-over features can be expensive to implement.

 

Order Your Custom Term Papers, College Essays and Research Papers


Changes and shifts in the industry will move the issues in client/server from enabling personal productivity, decision support, and one-person/one-office environments to enabling business productivity, production work flow, and computing anywhere. Increased competition will move management attention from decision support to action support. Payback will be measured in terms of increased quantity and quality of business transactions. Client/server environments that are enterprise in scope will create the need for more complex distributed software capabilities and require more stringent management of corporate information assets. Client/server applications, is an area of vital importance to all, because you employ the Client/Server model to deliver business aware functionalities and perform tasks for the whole organization. Client/Server applications provide a powerful and flexible mechanism for organizations to design applications to fit the business needs. For example, an order processing application can be implemented using the model by keeping the order processing databases (customers, products) at the corporate office and developing/customizing the order processing logic and user interfaces for different stores that initiate orders. In this case, order processing clients may reside on store computers to perform initial checking and preprocessing, and the order processing servers may exist at the corporate mainframe to perform final approval and shipping. There are trends and concern issues that are separate but are interrelated and must be decided in conjunction with each other. The industry has gained considerable experience with distributed client/server applications during the past years, leading to an improved understanding of cooperative processing architectural designs. Users now need to understand how vendors will contribute to a solution for the management of workloads that handle logically and physically fragmented data.


The clients on network request information or a service from a server, and that server responds to the client by acting on that request and returning results. This approach to networking has proven to be a cost-effective way to share data between tens or hundreds of clients. Usually the client and server are two separate devices on a LAN, but client/server systems work equally well on long-distance WANs (including the Internet). Client/server architecture provides the fundamental framework that allows many technologies to plug in for the applications of 1990s and beyond.


Clients and servers typically communicate with each other by using one of the following paradigms. Basic applications of client/server architecture were based on the "two-tiered" architectures. As a result of the limitations of file sharing architectures, the client/server architecture emerged. This approach introduced a database server to replace the file server. Using a relational database management system (DBMS), user queries could be answered directly. The client/server architecture reduced network traffic by providing a query response rather than total file transfer. It improves multi-user updating through a GUI front end to a shared database. In client/server architectures, Remote Procedure Calls (RPCs) or standard query language (SQL) statements are typically used to communicate between the client and server. With two tier client/server architectures, the user system interface is usually located in the user's desktop environment and the database management services are usually in a server that is a more powerful machine that services many clients. Processing management is split between the user system interface environment and the database management server environment.
The database management server provides stored procedures and triggers. The two tier client/server architecture is a good solution for distributed computing when work groups are defined as a dozen to 100 people interacting on a LAN simultaneously. It does have a number of limitations. When the number of users exceeds 100, performance begins to deteriorate. This limitation is a result of the server maintaining a connection via "keep-alive" messages with each client, even when no work is being done. A second limitation of the two-tier architecture is that implementation of processing management services using vendor proprietary database procedures restricts flexibility and choice of DBMS for applications. Finally, current implementations of the two -tier architecture provide limited flexibility in moving (repartitioning) program functionality from one server to another without manually regenerating procedural code.

The coming times will definitely see significant changes in the use of computers. Developments in hardware technology - in particular, the advent of inexpensive, high performance CPUs - are resulting in increasingly powerful desktop machines. The computing resources of an organization or project team are now spread across many platforms in different locations. At the same time, business application end users are increasingly seeking more local autonomy and responsibility. These changes are being reflected by a growing interest in distributed object technology. Many computer industry analysts see this as the next revolutionary step in a process which has already moved from monolithic applications to the client/server era.


 

Order Your Custom Term Papers, College Essays and Research Papers

 

 


Custom Term Papers - Order Term Papers - FAQs - Support - Why Us? - Free Writing Resources

Copyright © 2009 WritingServicesCompany.com. All Rights Reserved.

Disclaimer: We provide custom writing services for assistance purposes only. All papers should be used with proper references.