Thursday, September 5, 2019

Distributed Systems Definitions

Distributed Systems Definitions Distributed Systems: There is always compromise when we use distributed systems. Being a distributed systems expertise means knowing the best compromise to make. There is no global clock. Distributed systems definition: A distributed systems is defined as a collection of independent computers that appears to its users as single coherent system. Software systems that operate on more than one computer Internet, Intranet. Mobile computing, Wireless and other modern technologies. Distributed Systems areas: Parallel computing Grid computing Cluster computing Distributed computing Motivation for distributed systems: Resources sharing Geographical and legacy reasons Flexibility Scalability Robustness Security System Design Distributed pervasive Systems Requirements for pervasive systems Wireless, small, battery powered Discover environment. Embrace contextual changes. Encourage ad hoc composition Recognize sharing as the default Personal space vs. shared space No central admin 1.Distributed Systems: A distributed systems is defined by collection of autonomous independent systems that shown to users as a single system via through network. The characteristics of distributed system are multiple autonomous components which are not all shared by the users. Resources cannot be shared to all the users. Software running on the system is concurrent on different processors. In which happened to be multiple point of control and multiple points of failure. Some common characteristics can be achieved using distributed systems resource sharing, openness, concurrency, scalability, fault tolerance, transparency. Types of distributed systems include distributed computing systems, distributed informative systems, distributed pervasive systems. 2.Transmission Control Protocol: Transmission Control Protocol totally depends on network connection to transfer data, TCP requires connection between client and server, It does like a three way handshake.   Host A sends a SYN to B, B sends a SYN and ACK and Host A sends a ACK to B then TCP connection is established. I used this as reference http://www.inetdaemon.com/tutorials/internet/tcp/3-way_handshake.shtml. 3.User Datagram Protocol: User Datagram protocol is connectionless. It does not check if the packets are received are not and there is no guaranteed connection. There is chance in packet loss during transmission,   more unreliable way to send data.   The advantage is speed and cost free. UDP mostly used in online gaming which uses more interaction and respond quickly from player, video streaming like YouTube, twitch 4.Lamport Bakery Algorithm: Lesile Lamports bakery algorithm is designed for the safety purpose of using shared resources between multiple threads by mutual exclusion.   There will be a global counter that displays the number threads being served. The remaining threads have to wait in the line. When the thread completes its process the next thread being served. There are some limitations in the analogy. Its is possible that more than one thread have same number and when they request it. Request cannot be provided So to clear this limitation each thread is provided with a priority. The priority is based on the lower value or higher value then thread will enter the critical section. Critical section: The critical section requires immediate attention access to resources and only be executed one thread at a time.   When a thread enters a critical section, Its has to have its turn and must have smallest number because in case the other threads have the same number the smallest will be executed first. 5.Remote Procedure Call(RPC): Remote procedure call is based on the client and server model. The client machine sends the data to the server machine based on request from user its is a synchronous operation that requires suspend the current program until the RPC is returned. Its a light weight process so multiple RPC can be performed concurrently. RPC Is like a function call, the calling arguments are passed through to the remote procedure and the caller waits for the response from the remote procedure. The RPC is made between two networked systems. A thread can be blocked until either a request or reply is arrived or it will time out. When the request is received the server will send a dispatch routine that performs the requested services and sends the client a reply. 6. Internet Protocols: Internet protocols are used for computer communication and also used to identify a computers address. An IP address as a 32 bit number and this called as IPV4 the development of IPV6 is predicted that depletion of available addresses. So IPV6 uses 128 bits for a address. IPV4 example 172.16.254.1 (IPV4) and 2001:db8:0:1234:0:567:8:1 (IPv6). 7. Synchronization: Synchronization policy is not to go into deadlock condition. Consider multiple process tries to access resources which is in the distributed environment. The synchronization process is to handle all the requests from the process and assign them the resources based on the priority requested client and with pre-defined conditions synchronizing the clients with their request without going into deadlock condition. 8. Server: A server is a computer programs that runs in a computer or other computer and it provides other computer to connect through via network. A computer that usually runs server program are usually the server. If it run every time then it usually called the dedicated server. In client/server program the server program always waits and fulfills the client request. The few types of servers from other number of possibilities: Application Server: Its in the distributed networks that provide the business logic for an application program. Proxy Server: A proxy server is software that acts as a mediator between endpoint devices such as computer and a client and another server from which a user or client requesting a service. Virtual Server A virtual server is a program that usually runs on the shared server. The way it seems to each user that they have the complete control over the server. Policy Server: Policy server is a security component which has a policy based network that provides authorization services and facilitates tracking and control of files. 9. Client: A client is a computer that retrieves information from or users resources provided by the server or main computer. Web browsers are clients that connect to the web servers and retrieve web pages for display same as email clients and multiplayer video games. A client is a part of client-server architecture and client and servers are computer programs that may be run in the same computer and get connected to each other through Inter process communication (i[i) techniques through Internet sockets. There are different types of clients Fat client, Thin Client and Hybrid Client. Fat Client: A fat client is also said to be rich client which stores bulk number of data and does not rely on data processing operations itself. Thin Client: A thin client is a minimal sort of client. It requires resources from the host computer. It process data only provided by an application server. Hybrid Client: A hybrid client is combination of both fat and thin client. But relies on the server for storing the persistent data. Fat client supports (multimedia support, high performance) and thin client supports (high manageability, flexibility). 10. Bandwidth: Bandwidth is referred in bits, how many bits of data are transferred per second in a connection. Higher bandwidth often translates into high performance, although overall performance also depends on the other factors. Bandwidth can measured in units of bits per second(bps). 11. Synchronous and Asynchronous calls: A synchronous call can be defined by call opens a socket and waits for a response before closing the socket. Using synchronous calls server can waste resources, and can timeout. Such as running a server upgrade or downloading a big file. When using Asynchronous calls can be defined by, the client sends the request and then immediately a   response is sent to the specified callback server. A http 202 response is immediately returned from the HTTP connection that invoked the service. Asynchronous calls do not wait for a response to the close the socket. Once the service is complete, the response is sent to the specified callback server. 12. Gossip Protocol: A gossip protocol   is a method of communication now used in the modern days to spread message. This is epidemic protocol sometimes pronounced as gossip protocol where the gossips spread the information in a manner similar to virus spread. Most often distributed systems use gossip protocol to solve the mighty difficulty problems because the network might be huge, because gossip solutions are the easiest ones to spread the solutions. There are three prevailing types of Gossip protocols Dissemination Protocols: They basically work as a   flooding agents in the network. It produces the worst case loads: Event dissemination protocols: It uses high latency to report events. Gossips occurs periodically and the events dont trigger any gossip. Background data dissemination Protocols: Constantly gossip about the information associated with the participating nodes. Latency isnt a concern Anti-entropy protocols: Anti-entropy protocols are used to repair the replicate the data. By comparing the replicas and reconciling differences. Protocols that computes aggregates: These compute the network-wide aggregates by sampling the information at the nodes in the network and combing the values to arrive at a system-wide value- The largest value for some measurement nodes are making, the smallest etc. The key requirement is that the aggregate must be computable by fixed-size pair wise information exchanges; these typically terminate the after a number rounds of information exchange logarithmic in the system size. 13. Network Address Translation Network address Translation (NAT) is the virtualization of internet protocol addresses. NAT is a process of remapping the IP address space into one another by modifying the network information in internet protocol. The technique was originally used to improve security and decrease the number of IP addresses an organization needs. The more advanced implementations used in NAT are the Ip masquerading. Ip masquerading is also form of NAT which allows the internal computers with no known address outside their networks, to communicate to the outside. 14. Middleware: Middleware is defined as the software layer that is between the operating system and system applications and it can be found in both client and server machines.   When two computers are getting communicated the middle ware hides the information of both computers to one another. The middleware also acts as a bridge between the client and server.   The middleware allows the client and server to communicate with each other so that there arent any issues such as incompatible OS, programs. 15. DHCP: DHCP (Dynamic host configuration protocol) is a client/server protocol. There is a DHCP server that will dynamically distribute network configuration parameters. It assigns the IP address to the network dynamically. When a client connects to a network, the DHCP clients sends a broadcast request a information. DHCP manages a pool of IP addresses and information about the client such as default gateway, domain name, name servers. A DHCP server can assign a new address whenever it wants based on administrator assignment policies. DHCP server have three methods of allocating IP address: 1) Dynamic allocation 2) Automatic allocation 3) Manual Allocation 16.Inter-process communication: Inter process communication is interfaces that allow programmer to coordinate activates among different program processes that can run concurrently in a an operating system. This allows program to handle many user requests at the same time. The single request may lead to multiple process running on this situation process needs to communicate each other. So IPC interfaces will take care. 17.Bluetooth: Bluetooth is a wireless technology was designed in 1994 by Ericsson. Bluetooth uses UHF radio waves which covers a short distances of ISM band from 2.4 Ghz to 2.485 Ghz. It was the wireless alternative to RS-232 data cables. It uses a radio technology called frequency-hopping spread spectrum. Data is getting divided into packets and transmits each packets to designated Bluetooth channels. The channels bandwidth is of 1MHz. A Bluetooth device can connect up to maximum of 7 devices. It switches rapidly from one to another using a round robin scheduling algorithm. 18.One time pad: One time pad is an encryption technique. In this technique the actual message is converted into binary form and data is padded with extra new random binary bits the logic is implemented along with it. When the process is done we should be having a new binary bits which is no longer similar to the original message or the padded bits. These bits are padded using XOR binary operator. The padding bits has to lengthy so decrypting will take a time. If its too short the padding can be easily decrypted. 19.Authorization:

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.