ISO-15851-1999.pdf

上传人:韩长文 文档编号:3775516 上传时间:2019-09-23 格式:PDF 页数:31 大小:2.01MB
返回 下载 相关 举报
ISO-15851-1999.pdf_第1页
第1页 / 共31页
ISO-15851-1999.pdf_第2页
第2页 / 共31页
ISO-15851-1999.pdf_第3页
第3页 / 共31页
ISO-15851-1999.pdf_第4页
第4页 / 共31页
ISO-15851-1999.pdf_第5页
第5页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ISO-15851-1999.pdf》由会员分享,可在线阅读,更多相关《ISO-15851-1999.pdf(31页珍藏版)》请在三一文库上搜索。

1、INTERNATIONAL STANDARD ISOIIEC 15851 First edition 1999-03-01 Information technology - Communication protocol - Open MUMPS Interconnect Technologies de /information - Protocole de communication - lnterconnexion de syst the additional text is for information only: - environment: 7.1.2.4 identifies a

2、specific set of all possible names - a name space. A particular name may appear only once in an environment. Typical implementations place an environment in a directory or a user class, and - with a network - on a node as well. - gv 7.1.2.4 Global variables are persistent data records organized into

3、 trees. CJJJ is the name of a global variable, for example: “INV(5321 ,“Denver”,“qu”) A global variable may optionally have a value, and it may optionally have descendants. A tree of global variables is informally called a “global.” - naked reference: 7.1.2.4 a shorthand form of gv referring to the

4、last-used gv. - nref: 8.2.12 The objects of database lock operations are organized into trees. Their names are similar to qvns, but they relate to gvs only by an applications convention. nrefs have no values. - $Data: 7.1.5.3 Function of a gv indicates whether the variable it names has a value and w

5、hether it has descendants. - $Get: 7.1.5.7 Function of a gv returns the value of the variable it names, or the empty string if the variable is not defined. - $Job: 7.1.4.10 An unsigned decimal integer uniquely identifies a process on a particular computer. 2 Copyright International Organization for

6、Standardization Provided by IHS under license with ISO Licensee=Aramco HQ/9980755100 Not for Resale, 04/16/2007 04:04:03 MDTNo reproduction or networking permitted without license from IHS -,-,- 0 ISO/IEC ISOAEC 15851:1999(E) - Kill: 8.2.11 deletes a global variable and its descendants. - Lock+: 8.2

7、.12 claims exclusive use of an nref or a list of nrefs. If the claim succeeds, other concurrent processes claims on those nrefs will not succeed. - Lock-: 8.2.12 releases a claim on an nref or a list of nrefs. - Merge: 8.2.13 assigns the value of one variable to another and then assigns the values o

8、f all the first variables descendants to corresponding descendants of the second variable. - $Order: 7.1511 Function of a gvt returns the final subscript of the next qvn in a defined tree-walking order. - $Query: 7.1.5.15 Function of a gv returns the next gv in a defined tree-walking order. - Set: 8

9、.2.18 creates a global variable and assigns it a value. - Set $Extracf: 8.2.18 creates a global variable and modifies its value by assigning a range of its character positions. - Set $Piece: 8.2.18 creates a global variable and modifies its value by assigning one or more of its pieces. B.6 (of this

10、International Standard, not Xl 1 .l) suggests how implementations may combine these basic operations to achieve more complex MUMPS operations. 4.2 OMI and the OSI network model OMI provides the services described by levels 5 and 6 of the Open Systems Interconnect model. Level 5, the session layer, i

11、nvolves creating and terminating communication sessions between cooperating systems, while Level 6, the presentation layer, deals with data formats. These OMI services make the network transparent to applications (OSI level 7) for their remote database operations. In turn, OMI relies on the virtual

12、circuits of an existing OSI level 4 service to provide reliable sequential transmission of messages. Successful communication with OMI depends on hardware and software to establish compatible protocols at level 4 and below, which are beyond the scope of this International Standard. 4.3 Client-server

13、 protocol OMI is a connection-oriented protocol based on the client-server model. An OMI node may offer client functions, server functions, or both, as its applications require and its implementer chooses. 4.3.1 Sessions OMI uses one circuit to establish a session between exactly two OMI nodes. Howe

14、ver, implementers may supply servers that support many sessions, to give several client nodes access to the server nodes database. Implementers may also permit more than one session on a client node, so that different client processes may refer to data on several server nodes. However, a particular

15、client shall connect to a particular server through only one session at a time, because duplicate paths between a client and a server could cause transactions to be processed out of sequence. Initiation and termination of sessions shall be invisible to application programs. The implementation shall

16、establish and terminate sessions as necessary to perform OMI operations. A session is not symmetric. Requests from one client node are satisfied at the other server node. Another session is needed to handle requests in the opposite direction. 4.3.2 The role of the agent OMI allows, but does not requ

17、ire, an agent process that multiplexes requests from any number of clients on one node in a single session. Thus several clients may share one connection to a server, and all OMI servers shall accept multiplexed requests. NOTE - Although agents are an important conceptual part of this International

18、Standard, their existence does not affect the form, content, or sequence of messages. A simple implementation could provide one client per session, and you may read “client” wherever “agent” appears. This International Standard describes the agent as a separate process, but an implementation may pro

19、vide its functions by any method. Copyright International Organization for Standardization Provided by IHS under license with ISO Licensee=Aramco HQ/9980755100 Not for Resale, 04/16/2007 04:04:03 MDTNo reproduction or networking permitted without license from IHS -,-,- lSO/lEC 15851:1999(E) o ISO/IE

20、C The agent is synchronous. A session supports only one transaction at a time. The agent shall send one request and then no more until the servers response arrives or the circuit fails. 4.3.3 Transactions An agent shall originate each transaction with exactly one request message. The server shall at

21、tempt the requested operation and shall reply with exactly one response message, which may indicate failure to perform the operation. NOTE - In anticipation of future versions of the protocol, which may permit many requests and responses in a transaction, messages include sequence numbers and reques

22、t identifiers. Only the agent shall initiate a transaction. If the server has something to tell the agent, for example “shutting down,” the server shall indicate in its next response message that the agent should request the servers status. Transactions are isolated. The server need not retain infor

23、mation about completed transactions. Nonetheless, both server and agent shall retain the parameters of the session including, for example, agents and servers names, and negotiated maximum lengths of gvs, values, and messages. All OMI transactions shall have the same priority or the same class. That

24、is, there are no out-of-band messages. Protocol management transactions such as capability negotiation, status updates, or startup and shutdown shall be handled in the same manner as database transactions. 4.3.4 Complex locks A client may lock a list of nrefs that lie on different OMI nodes. The loc

25、k operation is atomic - it shall succeed only if all nrefs in the list are successfully claimed. This property, combined with the isolated transactions between the agent and its servers, requires the agent to assemble a complex lock from OMI lock requests to the respective servers. The agent shall c

26、laim all nrefs of a complex lock. If all the claims succeed, then the entire lock succeeds. Otherwise, the agent shall release its successful claims and repeat the procedure until the lock succeeds or times out. NOTE -To facilitate this procedure, the protocol defines a request to unlock all nrefs h

27、eld by a client on one server. 4.4 National character sets ANSVMDC Xl 1 .l, Annex A, requires ASCII symbols for codes 0 - 127. Many English language terminals and all other language terminals require different encodings, some of which use codes 128 - 255 as well. Most information systems have addres

28、sed the question of printing a symbol on a printer that uses a different code from the keyboard that originated the symbol. Networked systems should also address the translation of codes between agents and servers that use different character sets. All OMI messages shall use the IS0 8859-l Latin alp

29、habet No. 1, which equals ASCII for codes 0 - 127, and which specifies common European symbols for codes 128 - 255. Both agents and servers shall send the standard character set on output and shall accept it as input, except for the following special case: OMI provides an exemption from this require

30、ment for an agent and a server that share a single non-standard character set internally. When establishing their session they may select untranslated messages, thus avoiding the burden of two reciprocal translations. 4.5 Security Security of computer networks has many facets. This International Sta

31、ndard addresses some of them and leaves some to other layers of the protocol stack. The general principle is to afford the networked system as much security as typical single-computer commercial systems furnish. 4.5.1 Privacy OMI offers no privacy protection. System managers who wish to thwart eaves

32、dropping should specify lower-level protocols that provide encryption. 4 Copyright International Organization for Standardization Provided by IHS under license with ISO Licensee=Aramco HQ/9980755100 Not for Resale, 04/16/2007 04:04:03 MDTNo reproduction or networking permitted without license from I

33、HS -,-,- 0 ISO/IEC ISOAEC 15851:1999(E) 4.5.2 Data Integrity OMI depends on the virtual circuit of its underlying level 4 service to provide integrity of the data in OMI messages. An OMI transaction either completes or fails entirely, therefore a broken connection cannot cause a partial database ope

34、ration. 4.5.3 Authentication When establishing a session, the server and the agent shall exchange passwords to verify each others authenticity. 4.5.4 Identification A server shall be identified by one or more names that are available to agents. Likewise, an agent shall be identified by one or more n

35、ames that are available to servers. The server and agent shall exchange their names when establishing a session. Each message shall identify the user. Together, the agents name and the users identification furnish proof of origin, that is, the server “knows” the origin of a request. Completion of th

36、e transaction provides the agent with proof of delivery of the request. 4.5.5 Authorization OMI supports authorization, the determination that the user has authority for the requested operation. The method encompasses most MUMPS implementations of authorization (see A.3). The agent shall include a u

37、ser ID and a group ID in each request. Both identifiers shall pertain to the server, that is, the agent shall translate its implementations identifiers to the servers identifiers. NOTE - A different translation may be necessary for each server. The server shall test the requests user ID and group ID

38、 for authorization to perform the requested operation on the object of the request. If either the user ID or the group ID passes the test, then the request is authorized. The server shall not perform an unauthorized request, but shall return an authorization exception response. 4.6 Replication Imple

39、menters of OMI may offer replication of changes to selected global variables. That is, set and kill operations are also applied to global variables of the same name in one or more other environments, some of which may reside on other OMI nodes. Replication is often applied symmetrically to keep the

40、databases identical, whichever one a client changes explicitly. For example, AXX on computer A is replicated to “XX on computer B and vice versa, so a change to either one evokes an OMI request to change the other. Then the protocol must avoid an endless series of transactions caused by mutual repli

41、cation. Requests (set, set extract, set piece, and kill) that alter variables shall include a replication flag to indicate whether the request should be replicated. NOTE - Implementations of OMI are not required to perform replication. They are required to provide the replication flag in order to co

42、operate with implementations that do perform replication. All agents shall originate set, set extract, set piece, and kill requests with replication enabled. Servers shall attempt the requested operation whether or not replication is enabled, subject to other considerations like authorization, and s

43、hall reply as described in 4.3.3. An implementation that supports replication shall take further action if and only if it successfully performs a set, set extract, set piece, or kill operation with replication enabled. (The operation may have originated from an OMI request or from a local set, set e

44、xtract, set piece, or kill by a process on the servers own node.) The agent on that node shall: - establish sessions with the replication destination nodes, if not already established. -send the same request with replication disabled to each of the destinations, in effect saying, “This is a replicat

45、ion message. Do not replicate it further.” 5 Copyright International Organization for Standardization Provided by IHS under license with ISO Licensee=Aramco HQ/9980755100 Not for Resale, 04/16/2007 04:04:03 MDTNo reproduction or networking permitted without license from IHS -,-,- ISOAEC 15851:1999(E

46、) ISO/IEC 4.7 Environments Agents shall translate the clients environments for vns and nrefs to the servers environments, defined in 4.1. The translation may be implicit - hidden from the client program with a translation table defined by the network manager - or explicit through extended references

47、 that include an environment specification in the client program. In either case, the implementation shall not require the client program to contain any information about the servers name or environments. If necessary, the agent shall translate the clients environment specification to a servers name

48、 and to an environment as it is known on the servers node. The server may treat a request whose environment equals an empty string as an error, or it may apply a default environment. 4.8 OMI version negotiation In anticipation of future versions of OMI, some of which may not be compatible with earli

49、er versions, the agent and server shall negotiate a commonly supported OMI version when establishing a session. This negotiation permits most new releases of OMI implementations to be installed one node at a time. If the agent supports multiple OMI versions, it shall send connect requests for each until the server accepts one. 53.1 shows how the location and format of the version number

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1