For eg. The openness of a computer system is the characteristic that determines whether the system can be extended and re-implemented in various ways. The openness of distributed systems is determined primarily by the degree to which new resource-sharing services can be added and be made available for use by a variety of client programs. Many of the information resources that are made available and maintained in distributed systems have a high intrinsic value to their users.
Their security is therefore of considerable importance. Security for information resources has three components: confidentiality, integrity, and availability. Distributed systems operate effectively and efficiently at many different scales, ranging from a small intranet to the Internet. A system is described as scalable if it will remain effective when there is a significant increase in the number of resources and the number of users.
Computer systems sometimes fail. When faults occur in hardware or software, programs may produce incorrect results or may stop before they have completed the intended computation. Failures in a distributed system are partial — that is, some components fail while others continue to function.
Article Contributed By :. Easy Normal Medium Hard Expert. Writing code in comment? Please use ide. Load Comments. What's New.
Most popular in Computer Networks. Most visited in GBlog. We use cookies to ensure you have the best browsing experience on our website. Start Your Coding Journey Now!
Name Server: It is responsible for name resolution in distributed system. Generally two approaches are used for maintaining name resolution information.
Way 1: Use a single name server that is all clients send their queries to single server which maps names to objects. Its limitation is: If name server fails, the entire system is affected and Name server become a bottleneck and degrades the performance of the system.
Way 2: Use several name servers on different hosts wherein each server is responsible for ampping objects stored in different domains. This approach is generally used. Whenever a name is to be mapped to an object, the local name server is queried. The local name server may point to remote server for furthur mapping of the name. This procedure is repeated until the name is completely resolved. Caches on Disk or Main Memory: Caching refers to storage of data either into the main memory or onto disk space after its first reference by client machine.
Advantages of having cache in main memory:. Writing Policy: This policy decides when a modified cache block at client should be transferred to the server.
Following policies are used: a Write Through: All writes required by clients applications are also carried out at servers immediately. The main advantage is reliability that is when client crash, little information is lost. This scheme cannot take advantage of caching. This scheme can take advantage of caching. The main limitation is less reliability that is when client crash, large amount of information can be lost. When average period for which files are open is short then this policy is equivalent to write through and when period is large then this policy is euivalent to delayed writing policy.
Cache Consistancy: When multiple clients want to modify or access the same data, then cache consistancy problem arises. Two schemes are used to gurantee that data returned to the client is valid. Cache manager at clients then retrieve the new data or invalidate the blocks containing old data in cache in cache. Server has maintain reliable records on what data blocks are cached by which cache managers.
Co operation between servers and cache manager is required. This approach does not take benefit of caching as the cache manager consult the server for validation of cached block each time. Availability: It is one of the important issue is design of Distributed file system. Server failure or communication network can attract the availability of files. Replication: The primary mechanism used for enhancing availability of files is replication.
When to propagate modifications made to a cached data to the corresponding file server. How to verify the validity of cached data. Techniques used include:. Write-through scheme. When a cache entry is modified, the new value is immediately sent to the server for updating the master copy of the file. High degree of reliability and suitability for UNIX-like semantics. This is due to the fact that the risk of updated data getting lost in the event of a client crash is very low since every modification is immediately propagated to the server having the master copy.
This scheme is only suitable where the ratio of read-to-write accesses is fairly large. It does not reduce network traffic for writes.
This is due to the fact that every write access has to wait until the data is written to the master copy of the server. Hence the advantages of data caching are only read accesses because the server is involved for all write accesses. Delayed-write scheme. To reduce network traffic for writes the delayed-write scheme is used. In this case, the new data value is only written to the cache and all updated cache entries are sent to the server at a later time.
There are three commonly used delayed-write approaches:. Write on ejection from cache. This can result in good performance but there can be a reliability problem since some server data may be outdated for a long time. Periodic write. The cache is scanned periodically and any cached data that has been modified since the last scan is sent to the server.
Write on close. Modification to cached data is sent to the server when the client closes the file. This does not help much in reducing network traffic for those files that are open for very short periods or are rarely modified. Advantages of delayed-write scheme:. Write accesses complete more quickly because the new value is written only client cache. This results in a performance gain. Modified data may be deleted before it is time to send to send them to the server e.
Since modifications need not be propagated to the server this results in a major performance gain. Gathering of all file updates and sending them together to the server is more efficient than sending each update separately.
Disadvantage of delayed-write scheme:. Cache Validation schemes. The modification propagation policy only specifies when the master copy of a file on the server node is updated upon modification of a cache entry. It does not tell anything about when the file data residing in the cache of other nodes is updated. A file data may simultaneously reside in the cache of multiple nodes.
It becomes necessary to verify if the data cached at a client node is consistent with the master copy. If not, the cached data must be invalidated and the updated version of the data must be fetched again from the server. There are two approaches to verify the validity of cached data: the client-initiated approach and the server-initiated approach.
Client-initiated approach. The client contacts the server and checks whether its locally cached data is consistent with the master copy. Two approaches may be used:. Checking before every access. This defeats the purpose of caching because the server needs to be contacted on every access. Periodic checking. Disadvantage of client-initiated approach: If frequency of the validity check is high, the cache validation approach generates a large amount of network traffic and consumes precious server CPU cycles.
Server-initiated approach. A client informs the file server when opening a file, indicating whether a file is being opened for reading, writing, or both. The file server keeps a record of which client has which file open and in what mode. So server monitors file usage modes being used by different clients and reacts whenever it detects a potential for inconsistency. So also, a new client cannot open a file in any mode if the file is open for writing.
When a client closes a file, it sends intimation to the server along with any modifications made to the file. Then the server updates its record of which client has which file open in which mode. When a new client makes a request to open an already open file and if the server finds that the new open mode conflicts with the already open mode, the server can deny the request, queue the request, or disable caching by asking all clients having the file open to remove that file from their caches.
Note: On the web, the cache is used in read-only mode so cache validation is not an issue. Disadvantage: It requires that file servers be stateful. Stateful file servers have a distinct disadvantage over stateless file servers in the event of a failure. High availability is a desirable feature of a good distributed file system and file replication is the primary mechanism for improving file availability. A replicated file is a file that has multiple copies, with each file on a separate file server.
Difference Between Replication and Caching. A replica of a file is associated with a server, whereas a cached copy is normally associated with a client. The existence of a cached copy is primarily dependent on the locality in file access patterns, whereas the existence of a replica normally depends on availability and performance requirements. As compared to a cached copy, a replica is more persistent, widely known, secure, available, complete, and accurate.
A cached copy is contingent upon a replica. Only by periodic revalidation with respect to a replica can a cached copy be useful. Advantages of Replication. Increased Availability. Alternate copies of a replicated data can be used when the primary copy is unavailable. Increased Reliability. Due to the presence of redundant data files in the system, recovery from catastrophic failures e.
Improved response time. It enables data to be accessed either locally or from a node to which access time is lower than the primary copy access time. Reduced network traffic.
0コメント