home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 700s / rfc794.txt < prev    next >
Text File  |  1992-10-14  |  6KB  |  117 lines

  1.  
  2.  
  3. Network Working Group                                            V. Cerf
  4. Request for Comments:  794                                          ARPA
  5. Replaces: IEN 125                                         September 1981
  6.                               PRE-EMPTION
  7.  
  8. In circuit-switching systems, once a user has acquired a circuit, the
  9. communication bandwidth of that circuit is dedicated, even if it is not
  10. used.  When the system saturates, additional circuit set-up requests are
  11. blocked.  To allow high precedence users to gain access to circuit
  12. resources, systems such as AUTOVON associate a precedence with each
  13. telephone instrument.  Those instruments with high precedence can
  14. pre-empt circuit resources, causing lower precedence users to be cut
  15. off.
  16.  
  17. In message switching systems such as AUTODIN I, incoming traffic is
  18. stored on disks  (or drums or tape) and processed in order of
  19. precedence.  If a high precedence message is entered into the system, it
  20. is processed and forwarded as quickly as possible.  When the high
  21. precedence message arrives at the destination message switch, it may
  22. pre-empt the use of the output devices on the switch, interrupting the
  23. printing of a lower precedence message.
  24.  
  25. In packet switching systems, there is little or no storage in the
  26. transport system so that precedence has little impact on delay for
  27. processing a packet.  However, when a packet switching system reaches
  28. saturation, it rejects offered traffic.  Precedence can be used in
  29. saturated packet switched systems to sort traffic queued for entry into
  30. the system.
  31.  
  32. In general, precedence is a tool for deciding how to allocate resources
  33. when systems are saturated.  In circuit switched systems, the resource
  34. is circuits; in message switched systems the resource is the message
  35. switch processor; and in packet switching the resource is the packet
  36. switching system itself.
  37.  
  38. This capability can be realized in AUTODIN II without adding any new
  39. mechanisms to TCP (except to make precedence of incoming connection
  40. requests visible to the processes which use TCP).  To allow pre-emptive
  41. access to a particular terminal, the software (i.e., THP) which supports
  42. terminal access to the TAC can be configured so as to always have a
  43. LISTEN posted for that terminal, even if the terminal has a connection
  44. in operation.  For example in the ARPANET TENEX systems, the user TELNET
  45. permits a user to have many connections open at one time - the user can
  46. switch among them at will.  To the extent that this can be done without
  47. violating security requirements, one could imagine a multi-connection
  48. THP which always leaves a LISTEN pending for incoming connection
  49. requests.  If a connection is established, the THP can decide, based on
  50. its precedence, whether to pre-empt any existing connection and to
  51. switch the user to the high precedence one.
  52.  
  53. If the user is working with several connections of different precedence
  54. at the same time, the THP would close or abort the lowest precedence
  55.  
  56.  
  57. Cerf                                                            [Page 1]
  58.  
  59.  
  60.                                                           September 1981
  61. Pre-Emption
  62.  
  63.  
  64. connection in favor of the higher precedence pre-empting one.  Then the
  65. THP would do a new LISTEN on that terminal's port in case a higher
  66. precedence connection is attempted.
  67.  
  68. One of the reasons for suggesting this model is that processes are the
  69. users of TCP (in general) and that TCP itself cannot cause processes to
  70. be created on behalf of an incoming connection request.  Implementations
  71. could be realized in which TCPs accept incoming connection requests and,
  72. based on the destination port number, create appropriate server
  73. processes.  In terms of pre-empting access to a remote terminal,
  74. however, it seems more sensible to let the process which interfaces the
  75. terminal to the system mediate the pre-emption.  If the terminal is not
  76. connected or is turned off, there is no point in creating a process to
  77. serve the incoming high precedence connection request.
  78.  
  79. For example, suppose a routine FTP is in operation between Host X and
  80. Host Y.  Host Z decides to do a flash-override FTP to Host X.  It opens
  81. a high precedence connection via its TCP and the "SYN" goes out to the
  82. FTP port on Host X.
  83.  
  84. FTP always leaves one LISTEN pending to pre-empt lower precedence remote
  85. users if it cannot serve one more user (and still keep a LISTEN
  86. pending).  In this way, the FTP is naturally in a state permitting the
  87. high precedence connection request to be properly served, and the FTP
  88. can initiate any cleaning up that is needed to deal with the
  89. pre-emption.
  90.  
  91. In general, this strategy permits the processes using TCP to accommodate
  92. pre-emption in the context of the applications they support.
  93.  
  94. A non-pre-emptable process is one that does not have a LISTEN pending
  95. while it is serving one (or more) users.
  96.  
  97. The actions taken to deal with pre-emption of TCP connections will be
  98. application-process specific and this strategy of a second (or N+1st)
  99. LISTEN is well suited to the situation.
  100.  
  101. Pre-emption may also be necessary at the site initiating a high
  102. precedence connection request.  Suppose there is a high precedence user
  103. who wants to open an FTP connection request from Host Z to Host X.  But
  104. all FTP and/or TCP resources are saturated when this user tries to start
  105. the user FTP process.  In this case, the operating system would have to
  106. know about the precedence of the user and would have to locally pre-empt
  107. resources on his behalf (e.g., by logging out lower precedence users).
  108. This is a system issue, not specific only to TCP.  Implementation of
  109. pre-emption at the source could vary greatly.  Precedence may be
  110. associated with a user or with a terminal.  The TCP implementation may
  111. locally pre-empt resources to serve high precedence users.  The
  112. operating system may make all pre-emption decisions.
  113.  
  114.  
  115. [Page 2]                                                            Cerf
  116.  
  117.