1: Andrew File SystemAndrew File System (AFS) is a file systemthat once was a part of a larger project known under the name of Andrew.Andrew was a project of the Carnegie MellonUniversity (CMU) to develop a distributed computing environment on the campusof Carnegie Mellon, in the middle of the 1980s. AFS was originally developedfor a network computer running Unix BSD and Mach.The objective of the design of the AFS wasto create a system for large networks. To the scale and the system reduces client-servercommunication with the aid of a diagram of caching-client. Rather than transferrecent data for each request, client stores the entire files in their cache.
In 1989, the team of original design of theCMU AFS left and founded a company called Transarc Corporation which marketedthe AFS. In the years 90, several ports in the AFS have been carried out by theclientele of Transarc to other systems, for example a group at MIT ported toLinux AFS.Transarc has acquired IBM in the 1990s andhas continued to produce commercial implementations of the AFS. In2000 IBM has decided to release a branch ofthe source code under the IBM Public License. The current development of theAFS is now carried out in a project named OpenAFS. Today, the implementationOpen AFS supports several platforms such as: Linux, Apple macos x, Sun Solarisand Microsoft Windows NT.AFS communication is implemented on TCP/IP(default server ports UDP: 7000-7009).
Rx, an RPC protocol developed for AFS,is used for the communication between machines. The communication protocol isoptimized for WANS, and there are no restrictions on the places of the serversand clients.Cells:The basic organizational unit of AFS is thecell. A cell AFS is a collection administered independently of the server andthe client. Usually, a cell corresponds to an Internet domain, and is subsequentlyappointed. Since the AFS is the most commonly used in academia and research, itis not unusual for the cells to also participate in a filletree AFS. However,this is not mandatory.Servers and clients can belong to only onecell at a given moment, but a user can have accounts in several cells.
The cellthat is connected to the cell home is; other cells are called foreigners. Fromthe point of view of the user, the AFS hierarchy is accessible from afs throughthe operations of the system of normal files. Since the AFS is transparent thelocation, the path to a file in the tree will be the same regardless of thelocation of the customer.
If the file is accessible or not depends on the userand access permissions of the file, such as fixed by the access control lists. AFS clients:The client-side component of the AFS is theCache Manager. Depending on the version of AFS, it can be executed as a userprocess (with a few changes in the kernel), or as changes in the kernel (OpenAFS).The responsibilities of the Cache Manager: the recovery of files from servers, themaintenance of a local file cache, the translation of requests for files inremote procedure calls, and the storage of reminders.Several key observations of the modes ofaccess to the common file has inspired the design of AFS:• commonly accessible files are usually afew kb• Read is more common than thesequential write •• are more numerous than the access randomaccess even if the file is shared, the scriptures are usually made by a singleuser• Files are referenced inthe strategy chosen for the AFS has been tocache files locally on the clients. When a file is opened, the cache managerfirst checks to see if there is a valid copy of the file in the cache. If thisis not the case, the file is retrieved from a file server.
A file that has beenchanged and closed on the customer is transferred to the server.Over time, the client creates a”set” of work often consulted for the files in the cache. A cachesize optimum is 100 MB, but it depends on what the client is used for. If the cachedfiles are not changed by other users, they do not have to be retrieved from theserver during the’ access by the suite. This reduces the load on the networksignificantly. We can do the Caching on disk or in the memory.
The theoretical strategy used is that ofthe Whole for the service of files and the caching. However, since the version3 of the AFS, the data are served and cached in pieces of 64 kilobytes.To ensure that the records are kept up todate, a mechanism of reminder is used. When a file is opened for the firsttime, a so-called promise of reminder sent to the customer with the recentlyopened files. Thepromise of recall is stored on the CLIENTand marked as valid by the Cache Manager. If the file is updated byanother client, the server sends a reminderto the cache manager, which defines the state of thepromise of recall to Canceled. The nexttime an application accesses the file, a current copy mustbe retrieved from the server. If a file isflushed from the cache, the server is informed so that therecall can be deleted.
In the case where the client has beenrestarted, all the promises of recall must be checked to see if their statuteshave changed. To do this, the manager of cache Cache a validation request.If several customers to occur at the sametime open, edit, and close the same file, the update resulting from the lastclosure will overwrite the previous amendments. That is, the implementation ofAFS does not manage the concurrent updates, instead to delegate thisresponsibility to the applications.AFS uses locks the file. The beaches ofbytes cannot be locked together, only files.
For these reasons, the AFS is notwell to situations where many users simultaneously need to write in a file, forexample in database applications.AFS servers:The server machines can have several roles,which can be combined:• Acts as a simple file server• acting as the server for the replicatedatabases AFS• acts as a device of binary distribution,for the execution of the updated versions of thesoftware server• acts as a system to control the machinethat distributes common configuration files and actsas a synchronization site, main schedulewhen there is only a single server in acell, it will take over all the above-mentioned roles. It is recommended thatif a cell has more of a server, it is preferable to run multiple databaseservers, to obtain the benefits of the database replication. Since theadministrative databases are often consulted, by doing this helps to distributethe load on the servers. However, with more than three machines of the databaseserver is not necessary.The file servers simple may be added asnecessary as the request of storage space increases. Only a System Controlmachine is necessary in each cell, and there should be as many machines ofbinary distribution as there are different types of server system.
The system can be administered from anyclient workstation in the cell. Q:2 Illustrate the operation of ASF?The Apache Software Foundation (ASF) is a501(c)3 non-profit organization of public charity registered in the UnitedStates of America, has been created in 1999 primarily to:· provide abasis for the open, development projects in collaboration software providingthe equipment, communication, the infrastructure of the company and· create anindependent legal entity in which businesses and individuals can provideresources and be assured that these resources are used for the good of thepublic are a way for the volunteers to the shelter of legal proceedings toprotect the projects of the Foundation the mark ‘apache’, applied to itssoftware products, to be abused by other organizations is the fact to dry. · MERITOCRACYUnlike other efforts of softwaredevelopment done under an open source license, the Apache Web server has notbeen taken by a single developer (for example, such as the Linux kernel, orPerl/Python), but it began as a diverse group of people who share commoninterests and learned to know by the exchange of information, corrections andsuggestions.As the group began to develop their ownversion of the software, move away from the NCSA version, more people areattracted to and started to help, first by the sending of small patches, orsuggestions, or to respond to your e-mails on the list, later by moresignificant contributions.When the group believes that the person has”won” the merit to be part of the development community, they havegranted direct access to the code repository, thus increasing the group and theincrease of the capacity of the group to develop the program, and to maintainand develop more effectively.We call this basic principle of meritocracy”:literally, the Government by the MERIT. What is interesting to note is that theprocess to the scale very well without creating friction, because unlike othersituations where power is a scarce resource and conservative, in the ApacheGroup newcomers were considered as volunteers who wanted to help, rather thanpeople who wanted to steal a post.
Not conservative resource in game (themoney, energy, time), the Group was pleased to have new people who come tohelp, and they were only filter the people they believed sufficiently committedto the task and the rights of the associated attitudes needed to work well withothers, particularly in disagreement.· the foundation structure:As the Apache Web Server, has started togrow in popularity and market share, due to the synergy of its technicalqualities and to the opening of the Community behind the project, people havebegun to create projects of telecommunications by satellite. Influenced by thespirit of the community that they have been used for, they have adopted thesame traditions of the community management. Thus, at the time of the ASF has beencreated, there were several distinct communities, each focusing on a differentside of the “web service” problem, but all united by a common set ofgoals and a set of cultural traditions respected in the process and the label.
These separate communities were qualifiedof “projects” and although similar, each of them showed littledifferences which had made special.To reduce friction and allow the emergenceof the diversity, rather than forcing a monoculture of at the top, the projectsare designated central agencies of decision of the world of Apache. Eachproject is its delegated authority to the development of its software, and is agreat deal of latitude in the design of its own technical charter and its ownrules.At the same time, the cultural influence ofthe original Apache Group was strong and the similarities between the differentcommunities are obvious, as we will see later. The Foundation is governed by the followingentities:· Board ofDirectors (Board) governs the Foundation and is composed of members.
· TheManagement Committees of the project (PMB) govern the projects, and they arecompounds of committers. (Note that each member is a former committer.) · variousleaders of the society, appointed by the Council, which has establishedpolicies to the scale of the Foundation in specific areas (legal, brand,fundraising, etc.) Q.3: Routing overlays as middlewareof peer to peer systems:Peer-to-peer internet applications haverecently been popularized by file-sharing applications such as Napster,Gnutella and Freenet.
Although a large part of the attention has been focusedon the issues of rights of author raised by these specific applications,equal-peer systems have many aspects interesting techniques as thedecentralized control, self-organization, of adaptation and the scalability.Peer-to-peer systems can be characterized as distributed systems in which allnodes have the capabilities and responsibilities identical and allcommunications are symmetrical. There are currently many projects aimed atthe construction of peer-to-peer applicationsand the understanding of the issues andrequirements of such applications and systems. One of the main problems on alarge scale in the peer-to-peer applications Is to provide efficient algorithmsfor the location of the object and the routing in the network.This article presents the pastry, a genericpeer-to-peer the location of the object and routing method, based on an overlaynetwork of self-organization of the nodes connected to the Internet. Pastry iscompletely decentralized, the approach of resilience, scalable, and reliable.In addition, the Pastry has good properties of locality road.Pastry is designed as a substrate generalfor the construction of a variety of Internet applications peer-to-such as thesharing of files, file storage,systems of designation and groupcommunication.
Several applications have been built on the top of the dough upto this day, including a persistent storage, utility called past and a systemof Publication/Subscription called SCRIBE. Other applications are in course ofdevelopment.Baking offers the capabilities. Each nodein the network of the pastry has a numeric identifier (nodeid). When it ispresented with a message and a numeric keypad, a node of pastry to effectivelythe message to the node with a nodeId numerically the most near the key, amongall the nodes of pastry currently live. The expected number of steps of therange is in O(log n), where n is the number of nodes in the network.
At eachnode of pastry along the road by a message, the application is informed and canperform calculations specific to the application linked to the message.The DOUGH considers the locality ofnetwork; it seeks to minimize the distance of travel of the messages, per ametric of scalar proximity as the number of skips of IP routing. Each node ofpastry keeps the trace of its immediate neighbours in the nodeid space, and notifiesapplications of the new node node, arrivals of failures and recoveries. BecausenodeIds are randomly distributed, with a high probability, the whole ofadjacent nodes with nodeId is diverse in geography, the property, thecompetence, etc. Applications can take advantage of this pastry, can route toone of 000 nodes that are numerically closest to the key. A heuristic ensuresthat among a set of nodes with the closest to the nodeIds k key, the message islikely to’ first conclude a Node “near” the node from which themessage originated from, in terms of the metric of proximity.
Applications use these capabilities indifferent ways. Past, for example, uses a fileId, calculated as the hash of thefile and the name of the owner, as a pastry for a key file. Replicas of thisfile are stored on the patisserie with nodeIds k digitally nodes closest to thefileId.A file may be sought by the sending of amessage via the pastry, using the key that the fileId. Research is guaranteedto reach a node that stores the file if one of the 000 nodes is in direct. Inaddition, it follows that the message is likely to first conclude a node nearthe client, among the 000 nodes; this node provides the file and consumes themessage.
Mechanisms for notification of the pastrycook past allow to maintainreplicas of a file on the 000 nodes closest to the key, despite the failure ofnode node and arrivals, and using only the local coordination among theadjacent nodes with nodeIds. More details on the past the use of dough can be foundin.As another example of the application, inthe scribe, system publish/subscribe to a list of subscribers is stored on thenode with nodeId numerically the closest to the Actno of a subject, where theActno is a hash of the field name. This node is a rendez-vous point forpublishers and subscribers. Subscribers Send a message via the help of thetopicId pastry as key; the recording is saved at each node on the path. Apublisher sends data to the point of appointments via the pastry, using theActno as key.
The rendezvous point transmits data along the multicast treeformed by the paths from the point of appointments to all subscribers. The fulldetails of the use of Scribe pulp can be found in.These and other applications duringdevelopment were all constructed with little effort on the top of the basecapacity provided by the pastries. The rest of this paper is organized asfollows. Section 2 presents the design of pastry, including a description ofthe API.