1、中华人民共和国国家标准信息技术开放系统互连分布式事务处理第部分协议规范发布实施国家技术监督局发布前言本标准等同采用国际标准信息技术开放系统互连分布式事务处理第部分协议规范为适应信息处理的需要本标准依据参考模型规定了应用层事务处理的协议规范本标准去掉了的第章动作和事件的索引除此之外本标准无论在技术内容上还是在编排格式上均与国际标准保持一致在信息技术开放系统互连分布式事务处理总标题下目前包括以下个部分第部分模型第部分服务第部分协议规范本标准的附录和附录都是标准的附录本标准的附录附录附录附录附录和附录都是提示的附录本标准由中华人民共和国电子工业部提出本标准由电子工业部标准化研究所归口本标准起草单位西
2、安交通大学电子工业部标准化研究所本标准主要起草人邓良松冯惠邓勇常明杨欢前言国际标准化组织和国际电工委员会是世界性的标准化专门机构国家成员体它们都是或的成员国通过国际组织建立的各个技术委员会参与制定针对特定技术范围的国际标准和的各技术委员会在共同感兴趣的领域内进行合作与和有联系的其他官方和非官方国际组织也可参与国际标准的制定工作对于信息技术领域和建立了一个联合技术委员会即由联合技术委员会提出的国际标准草案需分发给国家成员体进行表决发布一个国际标准至少需要的参与表决的国家成员体投票赞成国际标准是信息技术联合委员会制定的在信息技术开放系统互连分布式事务处理总标题下包括下述部分第部分模型第部分服务第部
3、分协议规范第部分协议实现一致性声明形式第部分应用上下文形式第部分非结构化数据传送附录和附录是的组成部分附录附录附录附录附录和附录仅提供参考信息引言是为了便于计算机系统互连而制定出的系列标准之一本系列标准与按照开放系统互连参考模型所规定的网络标准相关联参考模型把互连标准的范围划分为一系列有具体说明的层每层的大小都是可管理的开放系统互连的目标是允许使用除互连标准以外最少的技术约定而达到下列计算机系统的互连来自不同的制造商在不同的管理机制之下使用不同复杂程度的不同技术的定义了模型服务并规定了在参考模型的应用层可用的协议服务是应用层服务它涉及联系为事务的可识别信息事务则可以涉及两个或更多的开放系统提供
4、了足够的功能来支持事务处理并且建立了一个框架来协调各开放系统中所有众多的资源既没有说明本地资源间的接口也没有指定在本地系统中应用程序设计的接口不过将来标准的扩充也许可以解决这些问题中华人民共和国国家标准信息技术开放系统互连分布式事务处理第部分协议规范国家技术监督局批准实施范围本标准提供给出每个参与实体必要行为的自动机的性质的说明第章至第章其中实体是提供服务的它包括当接收到服务用户调用发出的请求和响应原语时采取的动作当接收到表示服务提供者发出的指示和证实原语时采取的动作在本地系统中作为某种事件的结果而采取的动作作为和其他交互作用的结果而采取的动作传送协议控制信息所需的抽象语法的定义第章协议实现所
5、要满足的一致性要求第章本标准的范围限于系统的互连它不规定或限制在计算机系统内可能接口的实现引用标准下列标准所包含的条文通过在本标准中引用而构成为本标准的条文本标准出版时所示版本均为有效所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性信息处理系统开放系统互连基本参考模型信息处理系统开放系统互连基本参考模型第部分安全体系结构信息处理系统开放系统互连基本参考模型第部分命名与编址信息处理系统开放系统互连面向连接的基本会话服务定义信息处理系统开放系统互连服务约定信息处理系统开放系统互连面向连接的表示服务定义信息技术开放系统互连抽象语法记法一规范信息技术开放系统互连抽象语法记法一的基本
6、编码规则规范信息技术开放系统互连目录第部分模型信息技术开放系统互连目录第部分选择属性类型信息处理系统开放系统互连联系控制服务元素协议规范信息处理系统开放系统互连联系控制服务元素服务定义信息技术开放系统互连分布式事务处理第部分模型信息技术开放系统互连分布式事务处理第部分服务信息技术开放系统互连应用层结构信息技术开放系统互连一致性测试方法和框架第部分基本概念信息技术开放系统互连面向连接的基本会话服务定义修改单其他同步化功能信息处理系统开放系统互连面向连接的基本会话协议规范修改单其他同步化功能信息技术开放系统互连面向连接的表示服务定义修改单对表示服务用户的其他会话同步化功能信息技术开放系统互连面向连
7、接表示协议规范修改单其他同步化功能信息处理系统文本通信远程操作第部分模型记法和服务定义信息处理系统文本通信远程操作第部分协议规范信息技术开放系统互连远程数据库访问第部分类属模型服务和协议信息技术开放系统互连远程数据库访问第部分专门化信息技术开放系统互连托付并发和恢复服务元素的服务定义信息技术开放系统互连托付并发和恢复服务元素的服务定义修改单会话映射变换信息技术开放系统互连托付并发和恢复服务元素的协议规范信息技术开放系统互连托付并发和恢复服务元素的协议规范修改单会话映射变换定义本标准采用模型和服务中的术语定义特别针对协议规范的术语在中定义缩略语除了在一些表格中用到的下列缩略语外本标准使用在模型中
8、定义的缩略语证实原语指示原语请求原语响应原语下列缩略语是作为辅助设施服务的词头辅助设施信道辅助设施辅助设施约定为分布式事务处理定义了服务它是在中定义的描述性约定指导下进行的术语请求和指示有时以下列几种方式使用单个请求可以导致多个指示例如单个请求可能导致对每个直接下级的指示若干请求可以导致单个指示例如只有在和所有事务树中的下级都发出请求后才可以向上级发出单个指示请求原语导致同名的指示原语的约定不是总遵从的例如请求会引起发出指示对于给定的原语或每个参数或域的出现由下列值之一描述空白不能用出现是必备的出现是用户选择的出现是提供者选择的出现是有条件的另外记号表示参数或域值语义上等于表中前一个原语或的参
9、数或域的值此记号有时和上述其他值结合起来例如表明在一些情况下原语作为前一个原语或的结果而值相同也就是使用在另一些情况中当使用时或者没有前一个原语或或者来自前一个原语或值可能被改变的模型概述本章提供了专门针对这部分的某些方面的概述其中包括联系的用法和管理对话建立及信道管理的细节以及会话次同步令牌并置和嵌入的使用联系使用的原则使用联系来支持对话或信道联系可以根据本地判定在任何时刻建立联系的建立可与的动作并行进行一个已建立且现在不使用的联系被认为是在自由联系池中当接到对话请求时需要给分配一个联系以支持该对话任何已分配的联系需要有与它所使用的对话相容的属性这在对话和信道中描述可从自由联系池中给分配一个
10、联系或可尝试为和对话或信道一起使用而建立新的联系如果作为一个本地判定认为无法分配一个相容的联系将拒绝开始对话请求可在不使用联系的任何时刻释放它们不再使用联系因而可以释放的时刻在第章中的过程中定义联系建立后一个被指定为竞争胜者另一个作为竞争败者竞争胜者和竞争败者的指定在联系持续期间保持一个可以是某些联系上的竞争胜者而在其他的联系上是竞争败者对话建立的优选方向是从竞争胜者到竞争败者因为竞争胜者有使用联系的权利竞争胜者可授权竞争败者使用联系以建立一个对话如果当时它没有使用或还未预约这个联系的话竞争胜者也可拒绝竞争败者为建立对话而使用联系竞争败者可以暂时正式请求竞争胜者的权力以试图建立单个对话这是由投
11、标机制来实现在建立联系时投标机制的使用是声明为任选或是强制的这个声明在联系的生命期内不改变对话的建立当试图建立新的对话如在中描述的首先为与这个对话一起使用必须分配一个相容的联系如果两个在不同的上试图建立同一个联系上的对话不使用投标机制在竞争胜者上的将成功因而中断竞争败者的尝试投标机制的使用影响到对话的建立竞争败者可通过发出投标请求来要求建立单个对话的权利而无冲突的可能竞争胜者可以接受或拒绝这个投标请求若被接受竞争败者发出对话建立请求若被拒绝竞争败者直至接到竞争胜者的建立对话请求时才可以发出对话建立请求在下列任一情况中试图建立对话之前竞争败者的投标是强制的若投标对联系是强制的若存在可能出现一个不
12、希望的指示的情况见对话建立请求由于下列原因被拒绝不能选择或建立满足对话需要的联系是联系上的竞争败者且其对话建立或投标请求与来自竞争胜者的对话建立请求相冲突值得区分下列两类冲突竞争胜者仍处于一个对话之中竞争胜者不在对话之中这出现在当竞争胜者开始一个对话以及不需要伙伴的响应结束对话时伙伴或拒绝该对话这可能因为各种原因标题未找到资源不够等拒绝的原因在上携带着注尽管本标准说明拒绝建立对话这不排除尝试重新建立对话的实现方式由于非证实的对话或信道终止的使用在对话建立请求之后可能发生来自伙伴的杂散为检测及丢弃这些杂散在对话建立请求时发送一个相关子值它是在对话建立证实时间内由伙伴返回的由于对话建立证实一直是先
13、于任何其他由伙伴发出的请求故在该证实收到之前丢弃同样的机制也用于信道建立时用于检测上面中描述过的对话拒绝情况的机制使用最后伙伴标识符当竞争败者发出投标请求或没有投标请求的对话建立请求时该请求携带从竞争胜者处收到的先前的对话建立指示的相关子若竞争胜者收到一个不同于前面发出的对话建立请求的相关子的值该投标或对话建立请求被拒绝若没有发自竞争胜者的先前的对话建立指示则不提供该信道管理当出现结点失效或通信故障后可能负责恢复取决于所找到的日志记录中记录该事务的事务状态为此要求需要信道来进行恢复在大多数方面信道的建立相似于对话的建立但是有一点本质区别不同于对话信道不是由自己建立的而它们是由信道协议机建立和管
14、理的每个只有单个且该处理由这个中驻留的所有的请求和使用的信道和间的相互作用由服务模型化是信道辅助功能的词头使用服务请求来请求建立到指定伙伴的信道收到请求后或者选择已有信道或者使用与对话建立见相似的过程建立新信道当恢复已执行即当或者已发出了响应或已收到了证实时使用另一个服务请求以通知已不再使用信道了然后可终止该信道或留作以后用除了满足位于中的发出的信道请求外也负责响应其他发出的以及对该提出的所有信道建立指示另外接收信道上的所有恢复启动指示并将它们传至所编址的只要当没有可如此定位的时必须对此恢复启动指示作出回答信道使用信道可建立为单向恢复信道或双向恢复信道对任一种信道根据中的限制只允许有单个请求在
15、它得到响应以前在信道上是未完的另外请求的发出者必须拥有令牌除非该请求是作为指示的响应而发出请求作为对指示的响应或在某些情况下在双向恢复信道上发出在单向恢复信道中只有信道的启动者有权启动恢复令牌一旦为启动者拥有便不再传给伙伴在双向恢复信道中信道的每端如果有令牌的话都可启动恢复在每个请求或请求之后令牌传给伙伴这便允许在信道上恢复交换的重叠当不再需要启动恢复时它将令牌传给它的伙伴另一方面若没有令牌的一端要在信道上启动恢复它可发出请求令牌控制注见附录令牌的使用当开始事务托付事务或启动恢复时需要拥有会话层次同步令牌以后叫做令牌见保证在或没有移动令牌的时间时令牌将是可得到的使用下列移动令牌的规则当建立联系
16、时竞争胜者拥有令牌对话终止时令牌返回给竞争胜者若竞争败者收到令牌而此时该联系还未分配给对话令牌返回竞争胜者如果竞争败者正试图建立对话且已收到投标请求被接受的证实该规则不再适用注这发生在移动该令牌的请求与非证实的对话终止请求相冲突时在接受带有要求令牌参数的投标请求时令牌送到竞争败者若竞争胜者拥有令牌且没有为其他使用预约联系在收到选择了托付功能单元的对话建立指示没有以前的投标时令牌发送到竞争败者若竞争胜者不拥有令牌令牌将最后到达然后送回给竞争败者注该机制保证当托付功能单元被选择使对话上级开始一事务时令牌总在对话上级处若在收到准备请求后令牌为下级拥有当发送托付建议时令牌发送到上级在双向恢复信道上在启
17、动每个恢复请求后令牌发送到伙伴处由于以前的对话或其他原因造成令牌的移动当要求开始事务或启动恢复时在某些情况下令牌可能不会立即得到在这些情况下除了当在同一对话内移动令牌且令牌是开始事务所需的情况下这些规则保证令牌最终会传到所以只用等待至令牌传来即可虽然没有令牌在开始事务之前移动令牌的负责得到它并置分置并置是可选的特征它允许由这包括和产生的多个映射至单个以减少数量及优化执行并置由的并置器部分执行它不包括在动作序列中的其余部分包括在动作序列中见当不用并置时支持层的状态总是与状态同步这是因为影响支持层状态和影响状态之间的一一对应关系当使用并置时维护与支持层之间的同步是重要的因此构造并置规则以便在支持层
18、引起状态改变的直接相联系总先于该中的任何其他可能和支持层中状态变化无关之前传送给注此情况的一个例子是如果另一个在该前被并置那一个便产生下列情况引入包括两个的由会话处理产生给出指示的会话状态然而会先处理而不管指示然后让发出请求导致映射至请求的引出该请求在先前给出指示后被接收导致会话服务用户规则的违章某些情况下引入的指示仍未被处理若在前没有什么可并置在接受任何其他从来的输入事件前便已经改变其状态来反映会话中状态变化即处理回退分置包括接收引入的并对中包含的每个生成分离的事件整个在另一个被接收前处理当并置是可选特征时分置是强制的所有符合于在中说明的规则的并置序列应在引入的里得到支持嵌入的组合的语义要求
19、它们被解释为单个单元以决定所需的动作的地方这些是一个嵌入另一个的形式例如当的给定义附加值时会产生这种情况注使用该原理的例子包括在请求中嵌入包含处理嵌入在指示和证实中的的路由器部件路由器使不带有的或指示或证实直接传至通过合适的过程若或指示或证实包含有嵌入的路由器将使指示或证实传至此然后译码该并给传送指示或证实通过合适的过程它们表达了或服务和的组合语义协议结构的部件本标准描述的协议提供了由服务中定义的服务的协议规范被表示为协议机并由信道协议机补充在中有与同一中的交互作用以达到恢复目标的和间的交互作用由一个叫信道辅助功能的服务表示由提供给的服务为信道动态地加于特定的之上以及从特定的之上动态分离信道的
20、能力建立模型和包含由控制的集合协议的结构见图和图的提供多联系上的服务和相关的时序序列规则此的将服务映射到中包括的的功能能力以及当适合时映射至服务上的每个组成如下建立和终止联系服务不是直接由服务调用的而是由的调用见和或有时由不是过程的某些源调用见若是则见和提供来生成和接收和的通过合适的过程之间的交互作用由称为辅助功能服务的服务来表示由提供的服务为交换和映射至正确的下层服务的能力建立模型当需要时提供托付回退恢复功能的支持服务为的使用没有运送时直接使用图和之间的关系注只有中包含的不包含图的结构当运送时见间接通过使用一个或多个提供应用指定协议服务由服务表示在应用指定协议中为顺序约束建模直接或间接地被映
21、射至表示服务由标准规定协调中的以在联系上保持一致性能由下列部件组成过程它用来检查通过和之间的服务并处理与对话建立相关的动作和管理没有为对话使用的联系这些动作可使服务原语通过丢弃生成另外的服务原语或排列服务原语队列另外这些过程提供辅助功能服务它代表和间的交互作用路由器它保证带有的指示或证实直接送至正确的部件见有关嵌入的并置器可选地为引出构造基于多个的单个并为引入而分置包含在中的每个和服务对都是完全内部的从之外它们是不可见的因此除的外都不能使用它们的是和服务的唯一使用者不应对或服务有一致性需求将分配给对话使用的联系的应用上下文应包括当选择了托付功能单元时一个或多个特别标识出的当包括多个时它们之间的
22、关系应作为它们的规范的一部分而说明或作为应用上下文规范的一部分而说明注附录包含写适于包含在应用上下文之中的的指导和过程注对应用上下文形式的条文有待将来标准化的包括用来正确建立和终止信道的必要条文的提供服务的是服务的唯一使用者对服务不应有一致性需求中包括的同中的是一样的只是不需由的使用的和服务的定义与中的定义是相同的它们受同样的限制将分配给信道用的联系的应用上下文应包括和过程执行规则的操作本章描述部件间的交互作用到的关系定义联系和之间的一一对应关系当对话或信道在联系上使用时该与一个相联系属于一个本标准提供在完成信道或对话时把从分离出来以使联系为以后另一个中的使用通常当联系上不存在对话或信道时便从
23、分离一个分离的不被看作是任何的部分当生成建立对话或信道的引入请求时便连接到以使能处理该请求当启动对话或信道的建立时没有连接到任何其他的可以连接到正在建立对话或信道的可以试图建立新的来和相连接所有未用于恢复的信道都和相连当由通过产生的请求以执行恢复时给传送未被使用与正确的相联系的信道以满足该请求当未用信道上出现引入指示时找到与正被恢复的事务对应的并将此信道传给该一旦完成恢复信道便传回到至的输入事件输入事件作为下列的结果发生就来说由发出的请求和响应原语或由发出的指示原语就来说由发出的请求本地情况引发的事件内部事件或引起的事件和来自并置器部分或如果未使用并置直接来自表示的表示指示和证实输出动作序列动
24、作序列是在第章中的过程执行的连续序列它是作为或的单个输入事件的结果和每个有分离的动作序列它们独立进行动作序列包括由对输入事件的所有处理除了属于的并置器部分的处理以外见没有连接到任何的不是任何动作序列的一部分所以它可与的动作并行进行注这就允许联系管理的执行独立于通常的处理一个动作序列完全地执行即已结束所有过程以后就可处理任何的后续的输入事件动作序列是一个连续的和原子的过程执行除非在结点失效事件中并有一个允许并行的例外当使用或表示服务向发出请求或响应可以并行于的动作序列继续该动作序列保证发出的请求或响应按发出顺序处理当其过程结束时完成动作序列中的它的部分在中可发出请求或响应最多只有一个像这样的事件
25、会在动作序列中出现这样的事件由处理以处理联系的丢失该事件是由在动作序列中处理的在此序列中一旦和所有完成它们的过程的执行就发出上述请求或响应即刚好在动作序列结束前排队某些服务有时不能在单个动作序列中完成如请求为了使在任何时候均可在边界接收输入事件可能有必要在内排队请求因而不能立刻处理的请求可以触发在中排队但请求总是从中接收为了支持此功能当使用时明确地描述排队操作需要排队的一个例子是在为竞争败者建立对话期间在开始对话被送出前可能需要投标开始对话服务便由进行排队直到投标结束当发生该排队时可以在对话上进行进一步的服务调用它也要排队当需要队列时排队发生在内有的和服务要进行排队因为这些服务在某些情况下在被
26、发出至或前可能要由排队一段时间为单个对话建立一个队列该队列随后会被完全或部分地刷新这引起所有或部分挂起的服务原语在单个动作序列中被处理或队列被丢弃引起挂起的服务原语将被丢弃当队列被完全刷新任何随后服务原语均不再挂起阻塞在的输入事件当事务处理完成时在联系上可以接收与随后的事务相关的直到事务完成才能向发出相应的服务原语当来自联系的服务原语不能被处理时停止在上接收服务原语当处理可重新开始时开始在重新接收包括先前阻塞的服务原语注当服务原语被阻塞在时的并置器分置器部分不阻止传送服务原语至的其余部分这些服务原语可能是在的阻塞输入事件前已由接收的的结果并置规则如此规定是为了在此情况下可以正确地处理引入事件在
27、下列情况停止在接收输入事件当已收到来自下级的托付证实且对话既未被夭折也无延迟结束对话时当回退响应发至下级或从下级处收到回退证实非链式事务功能单元被选择且对话还未被夭折由当指示在回退状态下被接收且缺少请求当回退证实从上级接收或回退响应发至上级非链式事务功能单元被选择且缺少请求在下列情况重新开始在接收输入事件当为每个协调级为的下级对话发出指示时当为每个协调级为的下级对话发出指示且在对话上选择非链式事务功能单元时当为上级对话发出指示时当在对话上接收请求时且在这个对话上已发出了回退响应或已接收了回退证实并选择了非链式事务功能单元差错情况本标准定义了操作中可能发生的三种差错的情况协议差错如所描述的情况当
28、协议差错发生时联系被夭折当协议差错发生时将调用有关的协议差错过程或内部差错作出本地判定此判定是特定对话或信道的操作不能正常继续时出现的一种情况当检测到对话上的内部差错时调用过程在对话上的协议差错内部差错指示指示请求响应或证实当在由拥有的信道上检测出内部差错时调用过程在信道上的协议差错内部差错指示指示请求响应或证实当在拥有的信道上检测出一个内部差错时调用过程协议差错内部差错指示指示响应或证实注间的交换的不规则性对是不可见的除非它们有意发信号至在这种情况下它们被视为内部差错尽管可以把这样的不规则性定义为协议差错但在范围内它不是协议差错结点失效由于本地考虑确定的操作不能继续时的一种情况在结点失效后的
29、重启动触发内部事件结点失效后的重启动内部差错或结点失效可由收到的意外的事件触发中的注规则指明根据服务规则过程采取的操作是正确的但是附录中的状态表检查违反规则的行为万一出现这种违反会触发内部差错或结点失效这取决于本地判定的违反范围注当影响所有对话的服务中产生一个差错时可以引起触发结点失效的例子如请求计时器期满是触发内部差错情况的一个例子过程规则下列规则管理过程的执行参数继承表使用符号表示与前面的起因的原语的参数域值匹配的参数域值这种值的匹配假设为隐含的所以明确的引起这些值的设置不在过程中进行过程原子性除结点失效外每个过程原子地执行事务相关状态的检测事务相关状态包括事务状态结点类型即根中间或叶子而
30、不论结点是否为上级下级或不在事务树中任何对过程中事务相关状态的检测指的是触发当前动作序列的输入事件的状态有一例外若正被作为请求或响应的结果重新进入同一动作序列事务相关状态的检测是指在被重入时它的值注这是处理从状态至状态过渡的情况然后发出请求当被重入时状态检测将不会引起回退因为将看到的是状态而不是状态过程序列过程中指明的每个动作的执行假设为是在过程指定的序列中否则除非明确说明协议差错检测出现下列情况之一时声明一个协议差错调用不是内部事件过程见和的过程且作为该过程调用的结果没有采取动作且没有合适情况或注动作继续在过程中作为空动作使用以避免引起该类差错在同一过程中也许有其他情况是合适的而导致采取非空
31、动作违反了过程前提条件前提条件以声明语句的形式写在一些过程的开始处发出的指示或证实违反了在中规定的约束发生或协议差错收到的或在的当前状态既不正确无效见也不是所期待的不合适的见当声明协议差错时若协议差错发生在或未连接到执行过程协议差错若连接到联系且在联系之上发生了协议差错而且上面有一对话是活动的与协议差错指示一起执行过程在对话上的协议差错见若协议差错是试图发出没有与特定对话相关的指示或证实的结果作为本地判定该过程可在多联系上被调用若连接到联系且在此联系上发生协议差错而且在此联系之上的信道是活动的与协议差错指示一起执行过程在信道上的协议差错见若该协议差错是试图发出不和特定对话相联系的的指示或证实的
32、结果作为本地判定该过程可在多联系上被调用若连接到联系在此联系之上发生了协议差错和协议差错指示一起执行过程协议差错见服务规则假定已接收的每个服务原语假定符合中规定的约束和条件并且符合附录中的要求无上级下级假定若动作涉及到上级或下级而又没有上级或下级因为该结点分别是根或叶子则不执行该动作过去的边界在某些情况下正文指已收到的或服务对于和以及在托付和非链式功能单元中包含的相关的服务这意味从当前事务的开始便已收到了服务原语对所有其他服务这意味从当前对话的开始就已收到了服务原语任何情况下这种对以前收到的服务原语的存储不会在结点失效中幸免对话假定过程中涉及的任何对话及信道假定为在它之上已收到发出服务原语的对
33、话或信道除非已另外声明树拓扑术语任何时候术语上级下级根结点中间结点或叶子结点没有限定词对话出现时它们被理解为指事务树定义当下列定义或其逻辑否定在正文中使用时它们以斜体字出现定义中使用的服务在中定义连接指定在和联系成为的一部分任何由该产生的指示和证实都知道可以直接对请求或响应关闭不再有在上接收除非且直到被打开见打开托付证实下列之一证实证实指示指示指示指示托付指示下列之一指示指示指示指示指示托付请求下列之一请求请求请求请求请求分离指定的和联系不再是的一部分此不能再产生指示或证实给任何没有可以直接对请求或响应对话已被分离下列服务原之一已由为该对话接收或发出请求指示请求指示响应或证实对话正链接事务分支
34、链接对话应满足下列条件时对话存在选择链式事务功能单元对该对话未收到请求对该对话未收到或因技术问题该文中斜体汉字改为黑体字指示若事务的结果是托付对该对话未收到请求和指示对话将有协调级建立的对话具有链式事务功能单元或在请求或指示上参数置为注该定义是必要的因为直到产生指示才定义协调级该定义打算只为对话建立期间使用丢弃队列丢弃所有已排队的服务原语注该定义只用于对话终止时建立队列保证在队列建立后排队调用的和表示服务原语刷新队列按已排队顺序处理一些或所有取决于定义使用时的上下文排过队的服务原语若所有请求与响应已被刷新然后便确保任何以后调用的及表示请求与响应均不排队注队列上所有请求与响应的处理由原子性地作为
35、动作序列的一部分来执行在此序列中队列被刷新遗忘事务从安全存储中移走关于此事务的就绪日志或托付日志记录如果有的话还有启发式日志和或损坏日志记录收到最后的托付证实当有下列所有条件满足时不缺少请求托付证实已从每个向它发出过托付请求的下级那里接收到最后的伙伴标识符有效最近收到的指示或指示的参数是下列之一缺省或可带有任意值若在此联系上没有发出请求带有值等于最近在该联系上发出请求的相关子的值收到最后的就绪当满足下列所有条件时已收到请求若以前就已开始将边界数据设置成就绪托付状态该边界数据正处于就绪托付状态注当写就绪日志记录时可以原子地设边界数据为就绪托付状态或在写记录前设定边界数据为就绪托付状态此情况适用于
36、以前便开始设定边界数据为就绪托付状态的情况指示已从每个向它发过请求的那里接收到收到最后的回退证实当满足下列所有条件时不缺少请求从每个对话未分离的下级处已收到回退指示或回退证实打开现在在接收回退证实下列之一证实指示指示指示证实回退指示下列之一指示指示指示指示证实回退报告已完成一个回退响应已被发出到上级或回退证实已从上级收到或无上级对话回退请求下列之一请求请求请求请求回退响应下列之一响应请求请求请求令牌所需的会话层次同步令牌缺少请求当下列情况都或之一保持时已接收或发出一个或多个下列服务原语但未收到随后的请求指示请求指示处于或状态且在协调级为的对话上已发出了或接收了一个或多个下列服务原语且未收到一个
37、随后的请求指示请求指示证实边界数据由控制的边界数据事务启动清除周期的一个状态是关于在下列情况下收到请求后进入的给定对话选择共享控制功能单元有用户差错清除周期一旦有下面情况事务启动清除周期就终止自从接收到请求以来接收到的证实参数设置为的指示和指示的个数等于当时未完的请求个数或收到回退证实传送信道指定的由传送到另一个在该上产生的指定的服务调用和任何随后的服务调用被送到传送到的或由传送到的接收用户差错清除周期的一个状态有关在下列情况收到请求而进入给定对话选择独享控制功能单元且无控制权且无未完的握手或对话终止指示或选择共享控制功能单元且无未完的握手或对话终止指示一旦有下列情况终止用户差错清除周期选择独
38、享控制功能单元且发出了指示指示指示或指示或若选择共享控制功能单元且自从用户差错清除周期开始以后收到的证实带有参数置为的指示和指示的个数等于在该期间收到的请求的个数或收到回退证实写托付日志记录确保在中指明的信息即使在结点失效出现后也可获得从安全存储器移去关于该事务的就绪日志记录若存在的话写损坏日志记录确保在中指明的信息即使在结点失效出现后也可获得写启发式日志记录确保在中指明的信息即使在结点失效出现后也可获得写就绪日志记录确保在中指明的信息即使在结点失效出现后也可获得使用的日志记录在中定义的事务标识符即为在中定义的原子动作标识符在中定义的事务分支标识符即为在中定义的分支标识符就绪日志记录就绪日志记
39、录包含下列写在安全存储器中的信息为识别事务原子动作标识符为识别到上级的分支分支标识符若在或上提供的话从上级收到的恢复上下文句柄对每个下级若有识别下级分支标识符下级标题若在或上提供的话从下级收到的恢复上下文句柄托付日志记录托付日志记录包含下列写在安全存储器中的信息为识别事务原子动作标识符对每个下级识别下级分支标识符下级标题若在或上提供的话从下级收到的恢复上下文句柄启发式日志记录启发式日志记录包含下列写在安全存储器中的信息原子动作标识符边界数据的状态若需要的话执行补偿动作必要的信息注启发式日志记录模型化开放系统的这样一种需求需要在结点失效后保留有关启发式判定的信息损坏日志记录损坏日志记录包含下列写
40、在安全存储器中的信息原子动作标识符在结点子树中的边界数据的当前已知状态其值为或恢复上下文句柄恢复上下文句柄是日志记录分组的标识它将用于具体联系上的所有事务该分组和相联系的恢复上下文句柄的使用在任何具体联系上都是可选的注恢复上下文句柄的一种可能使用是允许对日志记录集合划分每部分有不同的恢复上下文句柄值当伙伴为给定联系提供恢复上下文句柄时其值应为所有在该联系上由该伙伴启动的事务分支所记录且若以后这些事务分支的任一个需要恢复启动时此恢复上下文句柄的值应在后面的恢复原语上传送及表示层的使用概述本章标识及表示层的组成需求和使用及建立分配终止联系的规则服务原语的使用如中描述的联系控制服务元素用于建立和释放
41、联系使用下列服务和建立和释放联系以突然释放联系也必须对指示原语的出现作出反应参数的使用使用的服务的参数如表所示参数的使用使用的服务的参数如表所示和参数的使用使用的和服务的参数如表表所示服务原语的使用托付并发及恢复服务元素用于支持提供者事务使用下列服务和是与托付相关的功能单元支持的服务为事务恢复的使用一些服务的参数以传送特定的这些服务及在表中说明使用的服务的参数如表至表所示过程引用请求和指示的参数的地方即为和之结合过程引用请求和指示的参数的地方即为和之结合表参数的使用参数被使用支持应用事务支持提供者事务或信道是是条件的条件的条件的是是是是条件的表完参数被使用支持应用事务支持提供者事务或信道条件的
42、条件的条件的条件的条件的条件的条件的条件的条件的是是是条件的是是是是是否否是条件的是条件的条件的否条件的条件的条件的条件的条件的是是条件的条件的是是是条件的是是是是是否否是条件的是是是否该参数的约束见和该参数的赋值见表参数的使用参数被使用否否是表参数的使用参数被使用否是表参数的使用参数被使用否表参数的使用参数被使用是是是是否表参数的使用参数被使用是表参数的使用参数被使用否表参数的使用参数被使用有条件的表参数的使用参数被使用有条件的表参数的使用参数被使用是是是有条件的表示层的使用表示服务原语的使用实现应注意使较低层和的并行不会导致违反这些层的服务用户规则注该类问题的一个例子可发生于回退之中映射到
43、指示的指示可以由会话层处理且还未被处理在该指示被处理前映射到请求的请求可以被送到会话从而导致违反会话服务用户规则除了由和协议机使用的表示服务原语外还利用为令牌管理的和为正确定位令牌为所有其他服务的可以用或服务来管理会话令牌一般地对这些服务的使用是作为请求或指示而在中显现的然而也有这样的情况其中可以看到引用次同步令牌的指示在这种情况下的过程将引用请求或指示使用的表示服务的参数如表至表所示表参数的使用参数被使用是是表参数的使用参数被使用是是表参数的使用参数被使用是至表示的映射需要映射到请求当和一起使用时请求的参数应设置以使次同步令牌被送到上级对其他可用令牌的参数设置没有提出要求注若由上级发出不为请
44、求的参数指定值联系管理概述本条定义本标准有关联系的管理和使用方面的需求联系对话兼容性若满足下列条件就说联系和对话兼容联系应已建立而且其满足了在及指定了一个值的下列任何一个所表达的需求及如由请求指定的参数联系应已选择内核及全双向会话功能单元内核表示功能单元若托付功能单元已被选择还应有为所需要的会话功能单元注这包括为版本所需的会话数据分离功能单元若选择托付功能单元版本的抽象语法名应在描述上下文定义表及应用上下文中找到联系应已建立而且有与请求指定的参数相兼容的服务质量参数若存在该参数的话联系信道兼容性联系满足下列条件时就说它与信道兼容联系应已建立且有由标识的它是在日志记录中为恢复的事务指定的还应有恢
45、复的适当应用上下文联系应已选择内核和全双向会话功能单元内核表示功能单元及所需的会话功能单元版本的抽象语法应在表示上下文定义表和应用上下文中找到启动联系建立当建立联系时应构造并作为请求的用户信息发出表列出该的域表的域域的域被设置如下域指明可被支持的协议的可能版本可以支持多个协议版本注也可能提出它所支持版本的不同的子集的建议建议哪些版本是一个本地事情域识别启动的是否被认为该联系的竞争胜者该域取下列值之一启动者是竞争胜者启动者是竞争败者若包括在联系的应用上下文中则下列适用于请求参数的设定若域值为则请求参数的值见为若该域值为则请求参数的值为域指明竞争败者对投标机制的使用是否是强制的该域取下列值之一域可
46、选地用于远程请求恢复时提供要给出的值注一旦建立联系可用来支持不同需求的对话也可支持信道因而当联系建立时声明的需求必须对联系的所有预期使用是足够的例如即使联系的初始使用是为无托付单元的对话或是为信道这两者都无的任何使用也可以指定接收联系建立指示当收到指示应作为指示的接收表列出该的域的域使用如下若域包含由支持的版本可以接收联系否则应拒绝联系忽略任何指明比它所能支持的协议版本更晚的值若对域值是可接收的可以接收联系否则应拒绝联系若对域值是可接收的可以接收联系否则应拒绝联系若域出现其值应为该联系上的所有事务存入恢复日志中就绪日志记录或托付日志记录哪个适用见若将用在联系上为协调级为的对话或信道且指示或者不
47、在参数中包含版本的抽象语法名的一个项或者版本所需的会话功能单元在参数中未被选择则联系应被拒绝否则可以接收联系对联系建立的响应当对联系建立响应时作为响应的应构造和发出表列出该的域的域及响应的参数设置如下若联系被接受响应的参数将置为的域将被置成的版本以为该联系使用此版本应为在上建议的协议版本之一的域将可选地被置为当远程请求恢复时应使用的一个值的域应被省略若联系被拒绝响应的参数应置为若的域包含任何下列设置否则的域应置为可被支持的的版本的域应被省略的域应置为下列所有适用值若为该联系所需且版本是不可得到的或和版本所需的会话功能单元在指示中未被选择若中给出的域的任何值都不能为该联系所支持若的域的值对此联系
48、是不可接受的若的域的值对此联系是不可接受的若以上值都不适用接收联系建立的证实当接收了证实应作为证实的接收表列出了该的域的域使用如下若联系被接受定义为该联系将使用的协议版本若域的值不是在上建议的版本之一便为一差错且应释放联系若联系被拒绝域包含可被支持的的协议版本若联系被接受且若域出现其值应为该联系上的所有事务存入恢复日志中就绪日志记录或托付日志记录哪个适用见只应在联系建立为拒绝时被接收无内嵌的证实若证实上的参数不同于请求上的参数作本地判定是否通过使用这个新应用上下文接受此联系或释放此联系注当联系已被拒绝下一步做什么由本地判定基于本地判定可以通知对话被拒绝它可以立即再次尝试建立联系它可以等一段时间
49、然后重试等等启动联系的释放联系的释放可以根据本地判定在任何处于状态的时候见启动夭折联系请求可以在任何时刻由发出若发出请求将采取适合于联系夭折的动作其中包括回退当前事务或启动恢复描述概述本章定义了提供给通过适当的过程的服务原语本章进一步定义了生成给伙伴的及从伙伴收到的还定义了至及表示服务的映射表列出服务原语及相关的服务定义服务的原语及参数在中给出原语的顺序由中适当的表给出从左至右读本标准第章至第章和通过间接引用的服务定义了服务原语的约束影响和冲突该服务作为请求服务原语的直接结果而启动的或由直接启动以建立信道该服务对信道是证实服务对对话是有条件的证实服务注该服务唯一不被证实时是当请求的参数被置为对话未被拒绝且有回退启动服务原语或启动的回退发生于伙伴且先于由该伙伴产生的任何其他请求或响应时在此情况下指示或证实将用来证实对话建立响应和证实用来作为丢弃杂散的定界符当此响应与证实服务原语在过程中引用时列于括号中的第一个是参数的值第二个是参数的值用该证实服务来暂时获得竞争胜者的权力以尝试建立后继的对话或信道当此响应和证实服务原语在过程被引用时列于括号