Internet DRAFT - draft-bogdanov-comments-umsp
draft-bogdanov-comments-umsp
Internet-Draft Alexander Bogdanov
draft-bogdanov-comments-umsp-01.txt
Expires: October 2001 April 2001
Comments to the Unified Memory Space Protocol
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [1].
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This memo contains the description of the several systems models, for
which the Unified Memory Space Protocol (UMSP, RFC3018) is intended.
The purpose of this memo is the review of problems, which were defined
during the protocol specification development.
1 Introduction
This memo is the addition to the document "Unified Memory Space
Protocol Specification" [2]. UMSP is the network protocol, which
gives a capability of immediate access to memory of the remote nodes.
It is based on the model of the 128-bit distributed address space of
memory. The models, submitted in the memo, were used at the problem
definition for the development of the UMSP and its have influenced a
choice of the engineering solutions. There are no detailed projects
for the described systems. In addition, for them is not given the
strict substantiation of a possibility of realization.
The following models are described in the document:
O the control of simple devices
O the universal high-level protocol
O the distributed application, created in single process of
compilation
O the distributed virtual memory.
Bogdanov Expires: October 2001 [Page 1]
Internet-Draft Comments to the UMSP April 2001
2 The Models Description
2.1 Control of Simple Devices
The architecture, considered in the given section, is focused on the
remote control of simple devices. The logic of the minimal UMSP
profile is relatively simple and can be realized in such devices.
The base architecture is given in the following figure:
+----------------+
| Internet Host |
| |
| +-----------+ |
| | Control | | +----------------+
| | Program | | +------| Slave Device 1 |
| +-----------+ | | +----------------+
+-----|----------+ |
| +------------+ +----------------+
| | |-----| Slave Device 2 |
Internet ----/ | Control | +----------------+
/ | | .
/--------| Computer |--+ .
| | | .
+------------+ | .
| +----------------+
+--| Slave Device N |
+----------------+
The control computer (CC) can carry out the following functions:
O to realize the protection from the unauthorized access
functions,
O to carry out the gateway functions, if the communications
between CC and slave devices (SD) are distinct from TCP/IP,
O to contain the program, which carrying out part of the SD
logic.
The slave devices (SD) can have simple logic and interact with CC
under the not-network communications.
UMSP provides the immediate interaction between the control program
(CP) and SD. The possibility of realization of the given architecture
is provided with the following functions of the protocol:
O The establishment of session connection is not obligatory.
Prior to the beginning of exchange, CP can receive the
information about SD (for example about a type of the device or
VM) immediately reading out data from the definite addresses of
device memory.
Bogdanov Expires: October 2001 [Page 2]
Internet-Draft Comments to the UMSP April 2001
O The interaction between CP and SD can be realized through three
simple instructions with fixed length of data: reading/write in
memory and synchronization (for tracking of asynchronous
events). These instructions can even be executed by devices
with no having micro code. All other instructions can be
ignored on SD.
O From the UMSP logic point of view, SD can be:
1) The addressable node to which is nominated the VM of the
definite type. Such VM has no its own instructions system
and directly executes the UMSP instructions.
2) The separate VM connected to the CC node.
3) The programmed object in the CC addresses space. In this
case, the device logic is completely defined by the CC
functionalities.
In general case, SD can have the large computing resources and
realize TCP/IP stack. Thus, the various variants of architecture are
possible, which have been not considered in the document.
2.2 Universal High-level Protocol
UMSP can be last in stack and only one high-level network protocol.
All other functions can be realized as Application Program Interface
(API) of standard virtual machines (VM). It is possible to quote the
following arguments for the benefit of told:
O It is easier to standardize VM, than the network protocol.
Thus, it is possible to realize compound API even on VM with
the elementary instructions set.
O The API standardization is more simple task, than
standardization of the network protocol with the same
functions. Moreover, API can considerably be complicated and
multifunctional in comparison with possibilities of the network
protocols.
O UMSP directly converts the logic of the application programs
instructions, working with data in memory, in the logic of
network exchange. The consumption of computing resources can be
reduced due to this, as disappears the necessity of
presentation layer functions.
O It is easier to use API, than to use the protocol, for the
programs development. It allows to lower considerably the work
content of creation of the distributed applications and to
realize inaccessible at using of the network protocols
functions.
O The unification of the high-level protocol allows to carry out
100% verification of the user traffic on gateways and to
provide effective protection of local networks from external
attacks.
Probably, even the functions of network control, routing, DNS and
other can be realized as API.
Bogdanov Expires: October 2001 [Page 3]
Internet-Draft Comments to the UMSP April 2001
2.3 Distributed Application Created in Single Process of Compilation
The basic convenience to the developer consists in essential
simplification of the distributed applications creation. The programs
examples, with nonexistent for today extensions of languages, are
given in this section to show it. These examples are only
illustration.
The examples contain a minimally necessary code. A possibility to
address memory on the remote system opens many opportunities before
the VM developers for realization of the various distributed services
and API. The decision of these questions does not concern to sphere
of the network protocol.
1) The following example is written in BASIC language by using of the
procedural approach:
' It is supposed to execute this function by the remote machine.
' Probably, the distributed function code has some restrictions,
' in comparison with usual function. So as the compiler to check
' them, the qualifier 'Relocatable' is used in definition.
' Besides, variables of access type in such function should be
' processed by the special method by the compiler.
Relocatable Function dFunc(parm1 As Integer) As String
' It is possible to write here a usual code, using local and
' global variable, or calling the user-defined functions or API
' functions, given by the VM.
DFunc = "OK"
End Function
' Example of execution of the function on other machine with using
' of preliminary establishment of connection
Sub RunD()
On Error GoTo Next
' The variable identifying a remote host
Dim OtherVM As RelocatableVM
Dim ForRet As String
' To set connection with the remote node. First parameter is
' constant of the address type (the decimal IP address in this
' case).
Set OtherVM = ConnectVM(vbTpIP, "10.15.127.15")
If Err Then
MsgBox "Error of connection establishment"
Exit Sub
End If
Bogdanov Expires: October 2001 [Page 4]
Internet-Draft Comments to the UMSP April 2001
' To call function
ForRet = OtherVM.Call dFunc(10)
If Err Then
MsgBox "Error of function execution"
Exit Sub
End If
End Sub
2) The second example is written in JAVA language with the object
approach using:
/**
* The instances of this class can be created on the remote node.
*/
relocatable class dClass
{
// There can be variable-members of the classes
/**
* This constructor will be called on the remote node after the
* memory allocation.
*/
dClass()
{
// Initialization code is located here
}
/**
* Function-member of the class
*/
String dMetod(int Parm1)
{
// The code located here, can execute usual calculations,
// call API functions, can create instances of standard or
// special classes, instances of classes definite in this
// program and having the 'relocatable' qualifier
return "OK";
}
}
/**
* Example of creation of the class instance on the remote node
*/
class dExamp
{
dFunc(int Parm1)
{
Bogdanov Expires: October 2001 [Page 5]
Internet-Draft Comments to the UMSP April 2001
try
{
// Create class on the remote IP node
dClass dc = new ("10.15.5.120", dClass);
// Call function. This function is executed on the remote
// node.
String sRet = dc.dMetod(15);
// Delete the instance
dc = null;
}
catch (Exception e)
{
// Exception handling
}
}
}
It is visible from the given examples that the obligatory processing
of errors is the basic complication in comparison with the not
distributed application for programs developer. It is explained to
that the exception condition can be caused by any operator.
2.4 Distributed Virtual Memory
The creation of virtual memory distributed between Internet nodes is
complex task with the ambiguous decision. Traditional page swapping
is probably inexpedient, as will result in the large traffic of
unnecessary data. Besides, the algorithms of pages blocking in the
network environment are not obvious. UMSP will not provide these
functions in an obvious kind for these reasons.
The single requirement to the protocol, which was generated on basis
of the analysis of similar systems, is the 128-bit address of memory
of fixed length. Probably, such address is optimum from the point of
view of hardware realization and is simultaneously convenient at
program realization. In addition, such length of the address can
ensure the decision of any task on any platforms now and in the
predictable future.
3 Used Abbreviations
API Application Programming Interface.
CC Control Computer
CP Control Program
SD Slave Device
Bogdanov Expires: October 2001 [Page 6]
Internet-Draft Comments to the UMSP April 2001
UMSP Unified Memory Space Protocol
VM Virtual Machine
4 References
[1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
[2] A. Bogdanov, "Unified Memory Space Protocol Specification",
RFC 3018, December 2000.
5 Author's Address
Alexander Bogdanov
23-126, Generala Kuznetsova St.
Moscow, Russia 109153
RU
Email: a_bogdanov@pisem.net
Phone: +7 901 732 9760
Full Copyright Statement
Copyright (C) the Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Bogdanov Expires: October 2001 [Page 7]