⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc672.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:
Network Working Group                               Richard Schantz (BBN-TENEX)Request for Comments: 672                                              Dec 1974NIC #31440                     A Multi-Site Data Collection Facility        Preface:        This RFC reproduces most of a working document        prepared during the design and implementation of the        protocols for the TIP-TENEX integrated system for        handling TIP accounting. Bernie Cosell (BBN-TIP)        and Bob Thomas (BBN-TENEX) have contributed to        various aspects of this work. The system has been        partially operational for about a month on selected        hosts. We feel that the techniques described here        have wide applicability beyond TIP accounting.Section IProtocols for a Multi-site Data Collection FacilityIntroduction     The development of computer networks has provided thegroundwork for distributed computation: one in which a job or taskis comprised of components from various computer systems. In asingle computer system, the unavailability or malfunction of any ofthe job components (e.g. program, file, device, etc.) usuallynecessitates job termination. With computer networks, it becomesfeasible to duplicate certain job components which previously had nobasis for duplication. (In a single system, it does not matter howmany times a process that performs a certain function is duplicated;a system crash makes all unavailable). It is such resourceduplication that enables us to utilize the network to achieve highreliability and load leveling. In order to realize the potential ofresource duplication, it is necessary to have protocols whichprovide for the orderly use of these resources. In this document,we first discuss in general terms a problem of protocol definitionfor interacting with a multiply defined resource (server). Theproblem deals with providing a highly reliable data collectionfacility, by supporting it at many sites throughout the network. Inthe second section of this document, we describe in detail aparticular implementation of the protocol which handles the problemof utilizing multiple data collector processes for collectingaccounting data generated by the network TIPs. This example alsoillustrates the specialization of hosts to perform parts of acomputation they are best equipped to handle. The large networkhosts (TENEX systems) perform the accounting function for the smallnetwork access TiPs.     The situation to be discussed is the following: a datagenerating process needs to use a data collection service which isduplicately provided by processes on a number of network machines.A request to a server involves sending the data to be collected.An Initial Approach     The data generator could proceed by selecting a particularserver and sending its request to that server. It might also takethe attitude that if the message reaches the destination host (thecommunication subsystem will indicate this) the message will beproperly processed to completion. Failure of the request Messagewould then lead to selecting another server, until the requestsucceeds or all servers have been tried.                                      -2-     Such a simple strategy is a poor one. It makes sense torequire that the servicing process send a positive acknowledgementto the requesting process. If nothing else, the reply indicatesthat the server process itself is still functioning. Waiting forsuch a reply also implies that there is a strategy for selectinganother server if the reply is not forthcoming. Herein lies aproblem. If the expected reply is timed out, and then a new requestis sent to another server, we run the risk of receiving the(delayed) original acknowledgement at a later time. This couldresult in having the data entered into the collection system twice(data duplication). If the request is re-transmitted to the sameserver only, we face the possibility of not being able to access acollector (data loss). In addition, for load leveling purposes, wemay wish to send new requests to some (or all) servers. We can thenuse their reply (or lack of reply) as an indicator of load on thatparticular instance of the service. Doing this without dataduplication requires more than a simple request and acknowledgementprotocol*.Extension of the Protocol     The general protocol developed to handle multiple collectionservers involves having the data generator send the data request tosome (or all) data collectors. Those willing to handle the requestreply with an "I've got it" message. They then await furthernotification before finalizing the processing of the data. The datagenerator sends a "go ahead" message to one of the replyingcollectors, and a "discard" message to all other replyingcollectors. The "go ahead" message is the signal to process thedata (i.e. collect permanently), while the "discard" messageindicates that the data is being collected elsewhere and should notbe retained.     The question now arises as to whether or not the collectorprocess should acknowledge receipt of the "go ahead" message with areply of its own, and then should the generator process acknowledgethis acknowledgement, etc. We would like to send as few messages aspossible to achieve reliable communication. Therefore, when a state--------------------* If the servers are independent of each other to the extent that iftwo or more servers all act on the same request, the end result isthe same as having a single server act on the request, then a simplerequest/acknowledgement protocol is adequate. Such may be the case,for example, if we subject the totality of collected data (i.e. alldata collected by all collectors for a certain period) to aduplicate detection scan. If we could store enough context in eachentry to be able to determine duplicates, then having two or moreservers act on the data would be functionally equivalent toprocessing by a single server.                                      -3-is reached for which further acknowledgements lead to a previouslyvisited state, or when the cost of further acknowledgements outweighthe increase in reliability they bring, further acknowledgementsbecome unnecessary.     The initial question was should the collector processacknowledge the "go ahead" message? Assume for the moment that itshould not send such an acknowledgement. The data generator couldverify, through the communication subsystem, the transmission of the"go ahead" message to the host of the collector. If this messagedid not arrive correctly, the generator has the option ofre-transmitting it or sending a "go ahead" to another collectorwhich has acknowledged receipt of the data. Either strategyinvolves no risk of duplication. If the "go ahead" message arrivescorrectly, and a collector acknowledgement to the "go ahead" messageis not required, then we incur a vulnerability to (collector host)system crash from the time the "go ahead" message is accepted by thehost until the time the data is totally processed. Call the dataprocessing time P. Once the data generator has selected aparticular collector (on the basis of receiving its "I've got it"message), we also incur a vulnerability to malfunction of thiscollector process. The vulnerable period is from the time thecollector sends its "i've got it" message until the time the data isprocessed. This amounts to two network transit times (2N) plus IMPand host overhead for message delivery (0) plus data processing time(P). [Total time=2N+P+O]. A malfunction (crash) in this period cancause the loss of data. There is no potential for duplication.     Now, assume that the data collector process must acknowledgethe "go ahead" message. The question then arises as to when such anacknowledgement should be sent. The reasonable choices are eitherimmediately before final processing of the data (i.c. before thedata is permanently recorded) or immediately after final processing.It can be argued that unless another acknowledgement is required (bythe generator to the collector) to this acknowledgement BEFORE theactual data update, then the best time for the collector toacknowledge the "go ahead" is after final processing. This is sobecause receiving the acknowledgement conveys more information if itis sent after processing, while not receiving it (timeout), ineither case, leaves us in an unknown state with respect to the dataupdate. Depending on the relative speeds of various network andsystem components, the data may or may not be permanently entered.Therefore if we interpret the timeout as a signal to have the dataprocessed at another site, we run the risk of duplication of data.To avoid data duplication, the timeout strategy must only involvere-sending the "go ahead" message to the same collector. This willonly help if the lack of reply is due to a lost network message.Our vulnerability intervals to system and process malfunction remainas before.     It is our conjecture (to be analyzed further) that any furtheracknowledgements to these acknowledgements will have virtually noeffect on reducing the period of vulnerability outlined above. Assuch, the protocol with the fewest messages required is superior.                                      -4-Data Dependent Aspects of the Protocol     As discussed above, a main issue is which process should be thelast to respond (send an acknowledgement). If the data generatorsends the last message (i.e. "go ahead"), we can only check on itscorrect arrival at the destination host. We must "take on faith"the ability of the collector to correctly complete the transaction.This strategy is geared toward avoiding data duplication. If on theother hand, the protocol specifies that the collector is to send thelast message, with the timeout of such a message causing the datagenerator to use another collector, then the protocol is gearedtoward the best efforts of recording the data somewhere, at theexpense of possible duplication.     Thus, the nature of the problem will dictate which of theprotocols is appropriate for a given situation. The next sectiondeals in the specifics of an implement;tion of a data collectionprotocol to handle the problem of collecting TIP accounting data byusing the TENEX systems for running the collection server processes.It is shown how the general protocol is optimized for the accountingdata collection.Section IIProtocol for TIP-TENEX Accounting Server Information ExchangeOverview of the Facility     When a user initially requests service from a TIP, the TIP willperform a broadcast ICP to find an available RSEXEC which maintainsan authentication data base. The user must then complete s loginsequence in order to authenticate himself. If he is successful theRSEXEC will transmit his unique ID code to the TIP. Failure willcause the RSEXEC to close the connection and the TIP to hang up onthe user. After the user is authenticated, the TIP will accumulateaccounting data for the user session. The data includes a count ofmessages sent on behalf of the user, and the connect time for theuser. From time to time the TIP will transmit intermediateaccounting data to Accounting Server (ACTSER) processes scatteredthroughout the network. These accounting servers will maintainfiles containing intermediate raw accounting data. The rawaccounting data will periodically be collected and sorted to producean accounting data base. Providing a number of accounting serversreduces the possibility of being unable to find a repository for theintermediate data, which otherwise would be lost due to bufferinglimitations in the TiPs. The multitude of accounting servers canalso serve to reduce the load on the individual hosts providing thisfacility.                                      -5-The rest of this document details the protocol that has beendeveloped to ensure delivery of TIP accounting data to one of theavailable accounting servers for storage in the intermediateaccounting files.Adapting the ProtocolThe TIP to Accounting Server data exchange uses a protocol thatallows the TIP to select for data transmission one, some, or allserver hosts either sequentially or in parallel, yet insures thatthe data that becomes part of the accounting file does not containduplicate information. The protocol also minimizes the amount ofdata buffering that must be done by the limited capacity TiPs. Theprotocol is applicable to a wide class of data collection problemswhich use a number of data generators and collectors. The followingdescribes how the protocol works for TIP accounting.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -