Distributed Computing
Spring 2002Computer Networks Applications Networking Master-slave: A large, central computer controls small I/O devices Peer-to-peer Allows arbitrary communication between computers; Does not distinguish between connected computers; An ex: Internet Distributed computing---any interaction among computers that share access to a peer-to-peer network.
Spring 2002Computer Networks Applications Distributed computing on the Internet FTP WWW Buy a book from Amazon Print a document Transmit a fax
Spring 2002Computer Networks Applications Client-Server Paradigm The scheme used by all types of distributed applications; Server: a computer that offers services; Ex: Web server, server, ftp … Client: a computer that uses these services; A client addresses a request to a server which replies accordingly;
Spring 2002Computer Networks Applications Client-Server Paradigm (cont.) Client and Server have to use the same protocol; TCP/IP for communication over the Internet; HTTP for Web page transfer; The server has to be running before the client contacts it; A server-computer usually runs several copies of the same program A computer may run more than one program at the same time The operating system switches between programs a server may provide services to several clients simultaneously
Spring 2002Computer Networks Applications Client programs Is an arbitrary application program that becomes a client temporarily when remote access is needed, but also performs other computation locally Is invoked directly by a user, and executes for one session; Runs locally on a user personal computer Initiates contact with a server Can access multiple services as needed, but actively contacts one remote server at a time. Does not require special hardware, or sophisticated operating system
Spring 2002Computer Networks Applications Server programs Is a special-purpose program, dedicated to providing one service Can handle several clients at the same time; Is invoked automatically when the system boots, and continues to execute; Runs on a shared computer ( not personal) Waits passively for contact from arbitrary remote clients; Requires powerful hardware and a sophisticated operating system
Spring 2002Computer Networks Applications Names for computers each computer is assigned a unique address, called Internet address or IP address; Each address is a 32-bit binary number; each address is divided into two parts: a prefix and a suffix; Prefix: identifies the physical network to which the computer is attached; Suffix: identifies each computer attached to that network; Ex: ;
Spring 2002Computer Networks Applications Names for computers (cont.) IP addresses are difficult to remember and use Instead, people prefer alphabetic, mnemonic names for computers Internet allows: A user to name its machine; A user to enter a computer name instead of an IP address; And provides a service that automatically translates between a name and an address
Spring 2002Computer Networks Applications Names for computers (cont.) May denote the type of computer: pc1,pc2,.. functionality: www, mail, router, admin,… name of the owner: john, jane,… Characters from comic strips: calvin,… Roman gods: andromeda, pegasus,… However: each computer must have a unique name
Spring 2002Computer Networks Applications Making names unique The full name of a computer consists of its local name and a suffix, denoting the company; Ex: rbs.rutgers.edu, IN USA, the last part of the name identifies the type of the company;
Spring 2002Computer Networks Applications Structure of computer names Internet naming scheme is called: Domain Name System (DNS) A DNS name is formed by a sequence of names separated by periods; ex: andromeda.rutgers.edu DNS specifies values for the most significant segment, called top-level DNS;
Spring 2002Computer Networks Applications Getting a domain name Each organization must apply for a name under one of the existing top-level domains; Ex: Foobar company might apply for foobar under top-level domain com; If approved Foobar Corporation will be assigned the domain foobar.com; A computer called www, inside Foobar Corporation, will have the name:
Spring 2002Computer Networks Applications Domain names within an organizations DNS does not specify how many segments in a name; What each segment represent it is up to each organization to choose how many segments and what they denote; Large organizations, having many computers may introduce additional hierarchical structure; EX: consider that Foobar has two divisions: one that makes candy bars, and one for soap. Then a computer john, in soap division will have the full name of john.soap.foobar.com
Spring 2002Computer Networks Applications Domains names outside US Most countries append the 2 letter country code to each domain name; Ex: interop.co.jp, minster.york.ac.uk
Spring 2002Computer Networks Applications Translating a name to an equivalent IP address A name must be translated into an IP address before computers can communicate; Each organization has a domain name server that maintains the list of all computers in that organization and their IP address; When an application needs to translate an address: Contacts the DNS Sends it the name The DNS responds with the IP address an example of client-server paradigm
Spring 2002Computer Networks Applications Domain Name Servers A computer needs to know the location of one DNS; If the local DNS does not store the IP address of the name given, it contacts other DNSs, until it finds the response; The client always receives the answer from the local DNS.
Spring 2002Computer Networks Applications Conclusion IP addresses: 4 numbers separated by periods; ex: Domain name: strings separated by periods: mine.rbs.rutgers.edu However, there is no connection between the name and the digits