RFC708 - Elements of a Distributed Programming System(2)

时间:2005-02-11 来源: 作者: 点击:
BOOLEAN=2 BITSTR =5 INDEX =3 CHARSTR=6 Bytes 1- Value EMPTY unused (nonexistent) BOOLEAN 7 zero-bits + 1-bit value (TRUE=1/FALSE=0 INDEX 2 byte unsigned value INTEGER 4-type two's complement value BI
  
BOOLEAN=2 BITSTR =5
INDEX =3 CHARSTR=6
Bytes 1- Value
EMPTY unused (nonexistent)
BOOLEAN 7 zero-bits + 1-bit value (TRUE=1/FALSE=0
INDEX 2 byte unsigned value
INTEGER 4-type two's complement value
BITSTR 2-byte unsigned bit count N + bit string
+ zero padding to byte boundary
CHARSTR 2-byte unsigned character count N + ASCII string
LIST 2-byte element count N + element data objects

-24-

Network Working Group James E. White
Request for Comments: 708 Elements of a Distributed Programming System
Appendix B: The Expanded Procedure Call Protocol

APPENDIX B

THE EXPANDED PROCEDURE CALL PROTOCOL

The Protocol that results from the extensions proposed in this paper is
summarized below. The reader should note the concise syntactic description
made possible by the underlying notion of PCP data types.

Parameter list masks have been included not only as additional parameters
of the CALL message, as proposed in the paper, but as arguments of the
TAKEPROCEDURE and SGNLPROCEDURE system procedures as well. Throughout the
Protocol description, "MASK" is shorthand for:

[LIST (variable [CHARSTR], ...)]

Messages

LIST (route INDEX, opcode INDEX CALL=1, tid [INDEX],
pkh [INDEX], procedure CHARSTR, arguments LIST,
argumentlistmask MASK, resultlistmask MASK)
LIST (route INDEX, opcode INDEX RETURN=2, tid INDEX,
outcome BOOLEAN, results LIST)

If OUTCOME is FALSE
RESULTS is LIST (error INDEX, diagnostic CHARSTR)

Process-Related System Procedures

INIPROCESS (program CHARSTR,
credentials LIST (error CHARSTR, password CHARSTR,
account CHARSTR))
ALOPORT (-> ph INDEX, computer CHARSTR, port)
CNNPORT (ph INDEX, computer CHARSTR, port)
DCNPORT (ph INDEX)
CRTROUTE (mycode INDEX, oldcode [INDEX]
-> code INDEX, ph INDEX)
DELROUTE (yourcode INDEX)

Package-Related System Procedures

OPNPACKAGE (packages LISTofCHARSTRs -> pkhs LISTofINDEXs)
CLSPACKAGE (pkhs LISTofINDEXs)

-25-

Network Working Group James E. White
Request for Comments: 708 Elements of a Distributed Programming System
Appendix B: The Expanded Procedure Call Protocol

Variable-Related System Procedures

CRTVARIABLE (variable CHARSTR, value)
DELVARIABLE (variable CHARSTR)
RDVARIABLE (pkh INDEX, variable CHARSTR,
substructure [LISTofINDEXs] -> value)

Procedure-Related System Procedures

TAKEPROCEDURE (tid INDEX, yourtid BOOLEAN, parameters LIST,
argumentlistmask MASK, resultlistmask MASK)
SGNLPROCEDURE (tid INDEX, yourtid BOOLEAN, parameters LIST,
parameterlistmask MASK)
HELPPROCEDURE (tid INDEX, number INDEX, information -> solution)
NOTEPROCEDURE (tid INDEX, number INDEX, information)
ABRTPROCEDURE (tid INDEX)

-26-

Network Working Group James E. White
Request for Comments: 708 Elements of a Distributed Programming
Appendix C: Summary of RTE Primitives

APPENDIX C

SUMMARY OF RTE PRIMITIVES

The DPS primitives made available to the applications program as a result of
the Model extensions proposed in this paper are summarized below.
Collectively, they provide the applications programmer with a powerful
and coherent set of tools for constructing distributed systems. Some of
the primitives (for example, CRTPROCESS and DELPROCESS) are necessary elements
for a "network operating system (NOS)," into which DPS may itself one day
evolve.

CRTPROCESS (computer, program, credentials -> PH)
DELPROCESS (ph)
ITDPROCESS (ph1, ph2 -> ph12, ph21, ih)
SEPPROCESS (ih)

Packages

OPNPACKAGE (ph, packages -> pkhs)
CLSPACKAGE (ph, pkhs)

Variables

CRTVARIABLE (ph, variable, value)
DELVARIABLE (ph, variable)
RDVARIABLE (ph, pkh, variable, substructure -> value)
WRTVARIABLE (ph, pkh, variable, substructure, value)

Procedures

CALLPROCEDURE (ph, pkh, procedure, arguments, argumentlistmask,
resultlistmask, -> outcome, results, tid)
LINKPROCEDURE (tid, arguments, argumentlistmask,
resultlistmask, -> outcome, results)
SGNLPROCEDURE (tid, parameters, parameterlistmask)
HELPPROCEDURE (tid, number, information -> solution)
NOTEPROCEDURE (tid, number, information)
ABRTPROCEDURE (tid)

-27-

Network Working Group Elements of a Distributed Programming System
Request for Comments: 708 Appendix D: Additional Areas for Investigation

APPENDIX D

ADDITIONAL AREAS FOR INVESTIGATION

Although the expanded distributed programming system developed in this paper
and summarized in the previous appendix is already very powerful, many
additional aspects of process interaction remain, of course, to be explored.
Among the additional facilities that the Protocol must eventually enable the
environment to provide are mechanisms for:

(1) Queuing procedure calls for long periods of time (for
example, days).

(2) Broadcasting requests to groups of processes.

(3) Subcontracting work to other processes (without remaining
a middleman).

(4) Supporting brief or infrequent inter-process exchanges
with minimal startup overhead.

(5) Recovering from and restarting after system errors.

-28-

Network Working Group Elements of a Distributed Programming System
Request for Comments: 708 References

REFERENCES

1. White, J. E., "A High-Level Framework for Network-Based Resource Sharing,"
submitted for publication in the AFIPS Conference Proceedings of the 1976
National Computer Conference.

2. Watson, R. W., Some Thoughts on System Design to Facilitate Resource
Sharing, ARPA Network Working Group Request for Comments 592, Augmentation
Research Center, Stanford Research Institute, Menlo Park, California,
November 20, 1973 (SRI-ARC Catalog Item 20391).

3. White, J. E., DPS-10 Version 2.5 Implementor's Guide, Augmentation
Research Center, Stanford Research Institute, Menlo Park, California,
August 15, 1975 (SRI-ARC Catalog Item 26282).

4. White, J. E., DPS-10 Version 2.5 Programmer's Guide, Augmentation Research
Center, Stanford Research Institute, Menlo Park, California, August 13,
1975 (SRI-ARC Catalog Item 26271).

5. White, J. E., DPS-10 Version 2.5 Source Code, Augmentation Research
Center, Stanford Research Institute, Menlo Park, California, August 13,
1975 (SRI-ARC Catalog Item 26267).

6. Bobrow, D. G., Burchfiel, J. D., Murphy, D. L., Tomlinson, R. S., "TENEX,
a paged Time Sharing System for the PDP-10," Communications of the ACM,
Vol. 15, No. 3, pp. 135-143, March 1972.

-29-
Network Working Group Elements of a Distributed Programming System
Request for Comments: 708 Figure List

FIGURE LIST

Fig. 1 Interfacing distant applications programs via their run-time
environments and an IPC channel.

Fig. 2 Two processes that can only be introduced via a logical channel.

Fig. 3 A logical channel.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容