RFC794 Pre-emption

0794 Pre-emption. V.G. Cerf. September 1981. (Format: TXT=5906 bytes) (Updates IEN 125) (Status: UNKNOWN)

日本語訳
RFC一覧

参照

Network Working Group                                            V. Cerf
Request for Comments:  794                                          ARPA
Replaces: IEN 125                                         September 1981
                              PRE-EMPTION

In circuit-switching systems, once a user has acquired a circuit, the
communication bandwidth of that circuit is dedicated, even if it is not
used.  When the system saturates, additional circuit set-up requests are
blocked.  To allow high precedence users to gain access to circuit
resources, systems such as AUTOVON associate a precedence with each
telephone instrument.  Those instruments with high precedence can
pre-empt circuit resources, causing lower precedence users to be cut
off.

In message switching systems such as AUTODIN I, incoming traffic is
stored on disks  (or drums or tape) and processed in order of
precedence.  If a high precedence message is entered into the system, it
is processed and forwarded as quickly as possible.  When the high
precedence message arrives at the destination message switch, it may
pre-empt the use of the output devices on the switch, interrupting the
printing of a lower precedence message.

In packet switching systems, there is little or no storage in the
transport system so that precedence has little impact on delay for
processing a packet.  However, when a packet switching system reaches
saturation, it rejects offered traffic.  Precedence can be used in
saturated packet switched systems to sort traffic queued for entry into
the system.

In general, precedence is a tool for deciding how to allocate resources
when systems are saturated.  In circuit switched systems, the resource
is circuits; in message switched systems the resource is the message
switch processor; and in packet switching the resource is the packet
switching system itself.

This capability can be realized in AUTODIN II without adding any new
mechanisms to TCP (except to make precedence of incoming connection
requests visible to the processes which use TCP).  To allow pre-emptive
access to a particular terminal, the software (i.e., THP) which supports
terminal access to the TAC can be configured so as to always have a
LISTEN posted for that terminal, even if the terminal has a connection
in operation.  For example in the ARPANET TENEX systems, the user TELNET
permits a user to have many connections open at one time - the user can
switch among them at will.  To the extent that this can be done without
violating security requirements, one could imagine a multi-connection
THP which always leaves a LISTEN pending for incoming connection
requests.  If a connection is established, the THP can decide, based on
its precedence, whether to pre-empt any existing connection and to
switch the user to the high precedence one.

If the user is working with several connections of different precedence
at the same time, the THP would close or abort the lowest precedence


Cerf                                                            [Page 1]


                                                          September 1981
Pre-Emption


connection in favor of the higher precedence pre-empting one.  Then the
THP would do a new LISTEN on that terminal's port in case a higher
precedence connection is attempted.

One of the reasons for suggesting this model is that processes are the
users of TCP (in general) and that TCP itself cannot cause processes to
be created on behalf of an incoming connection request.  Implementations
could be realized in which TCPs accept incoming connection requests and,
based on the destination port number, create appropriate server
processes.  In terms of pre-empting access to a remote terminal,
however, it seems more sensible to let the process which interfaces the
terminal to the system mediate the pre-emption.  If the terminal is not
connected or is turned off, there is no point in creating a process to
serve the incoming high precedence connection request.

For example, suppose a routine FTP is in operation between Host X and
Host Y.  Host Z decides to do a flash-override FTP to Host X.  It opens
a high precedence connection via its TCP and the "SYN" goes out to the
FTP port on Host X.

FTP always leaves one LISTEN pending to pre-empt lower precedence remote
users if it cannot serve one more user (and still keep a LISTEN
pending).  In this way, the FTP is naturally in a state permitting the
high precedence connection request to be properly served, and the FTP
can initiate any cleaning up that is needed to deal with the
pre-emption.

In general, this strategy permits the processes using TCP to accommodate
pre-emption in the context of the applications they support.

A non-pre-emptable process is one that does not have a LISTEN pending
while it is serving one (or more) users.

The actions taken to deal with pre-emption of TCP connections will be
application-process specific and this strategy of a second (or N+1st)
LISTEN is well suited to the situation.

Pre-emption may also be necessary at the site initiating a high
precedence connection request.  Suppose there is a high precedence user
who wants to open an FTP connection request from Host Z to Host X.  But
all FTP and/or TCP resources are saturated when this user tries to start
the user FTP process.  In this case, the operating system would have to
know about the precedence of the user and would have to locally pre-empt
resources on his behalf (e.g., by logging out lower precedence users).
This is a system issue, not specific only to TCP.  Implementation of
pre-emption at the source could vary greatly.  Precedence may be
associated with a user or with a terminal.  The TCP implementation may
locally pre-empt resources to serve high precedence users.  The
operating system may make all pre-emption decisions.


[Page 2]                                                            Cerf

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

マルチバイト文字列(日本語文字)を一文字づつ取り出す

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る