CN1303497A - 采用实时调度逻辑和时间确定结构的分布式计算环境 - Google Patents

采用实时调度逻辑和时间确定结构的分布式计算环境 Download PDF

Info

Publication number
CN1303497A
CN1303497A CN99806614.1A CN99806614A CN1303497A CN 1303497 A CN1303497 A CN 1303497A CN 99806614 A CN99806614 A CN 99806614A CN 1303497 A CN1303497 A CN 1303497A
Authority
CN
China
Prior art keywords
mentioned
communication
time
computer
member node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN99806614.1A
Other languages
English (en)
Inventor
兰迪·D·伍兹
戴维·M·杰奇莫
韦恩·P·杜普雷
盖瑞特·H·弗尼尔斯
斯蒂芬·G·邱吉尔
乔治·P·费尔南德斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dow Global Technologies LLC
Original Assignee
Dow Chemical Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dow Chemical Co filed Critical Dow Chemical Co
Publication of CN1303497A publication Critical patent/CN1303497A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开了一个在交互数据通信中多个计算机节点以协同方式执行逻辑的系统。这个方法的特征在于校准节点中时间的定义以便各节点具有完全相同的时间定义,为各计算机节点确定一个通信调度表,在这个调度表中具有为开始各通信确定的未来时刻,向相应的节点传送它的调度表,在该调度表中确定的时间开始各次通信。这个计算机网络具有一个支持多个通信路径的消息载体;与该消息载体相连的多台计算机;一个用来在计算机中保持时间同步的时钟系统;和一个用来决定计算机间通信顺序的与消息载体相连的调度器。消息载体根据被计算机执行的时间确定的任务在选出的计算机间建立通信。靠确定未来时间周期内各计算机节点所需的与任何其它计算机节点的各次通信的通信请求表,向主调度器发送该通信请求表,接收从主调度器返回的通信调度表,从该通信调度表确定一个当地任务调度表和在调度好的时间执行通信,在多个计算机节点中的一个计算机节点以与其它计算机节点协同的方式执行逻辑。

Description

采用实时调度逻辑和 时间确定结构的分布式计算环境
本发明涉及数据处理控制系统领域,特别是多个计算机在网络中以协同方式执行它们的逻辑的集成系统。本说明书所描述的系统虽然对涉及多计算机处理器、平行计算机处理器和网络计算机处理器的努力也有益,但其应用首先是针对大实体规模设施(例如化工设施)所采用的设备的计算机控制。
当计算请求或地理限制需要计算设施物理散布时(例如用于大的、地理上分散的化工厂的进程控制),采用计算任务的中央协调可能有益于实用因素(如生成物质量)。本发明描述了一种系统和方法,能使地理上分散的多台计算机成为可实现时间协调的内部行为的网络。这个联合网络能使任务协调并能实现其它有益于本系统所执行任务的性质,如冗余可靠、安全以及高通量。
1995年6月27日公布的5,428,769号美国专利授予了Glaser,Robert S;Hoy,Robert S;Fernandez,G.Paulh和Grai,Timothy J,名称为“具有三重冗余远场单元的进程控制接口系统”,它描述了一个说明这类用于进程控制系统的一系列物理散布的远场单元实施实时联网的系统的实施例。尽管在需要时这种联网方法会有效地在各个时间周期内为各个系统编址,因而这个系统适用于多种进程控制情形;但是,如果所有交换的变量都是稳定的,那么这些编址循环中有许多都是不必要的-从网络效率的观点来看,只在输入或输出需要改变的情况下才提供通信的方案更加简洁。
计算设备的物理散布与计算任务的中央协调相结合在以并行为特征的高性能处理器中也是一个主要概念。在John L.Hennessy和David A.Patterson所著(Morgen Kaufmann;San Mateo,California;1990;第351-363页)的“计算机体系结构,一种定量方法”的7.1和7.2节(“向量处理器”)中描述的那种向量处理器就是这种系统的一个证明,而E.F.Gehringer,D.P.Siewiore和Z.Segall在“平行处理-Cm*经验”(Digital出版社经Editorial公司,Rockport,Massachusetts;1987)从第11页到第18页讨论的那种Cm*设计提供了这类方法的第二个例子。
在用于未来的调度流程中计算任务的中央协调也运用了如J.William Gavett在“生产和运作经营”(Harrot,Brace,and World;New York;1968)的第569页到第584页中所讨论的那种传统的项目调度概念。
进程控制系统的发展具有以下特征,即在被控制的系统内问题的引入和管理单调大量增加,这要求在不可延长的时间框架内对相应较大量的数据进行相应较大量的逻辑。能够更快地进行逻辑并能在一个编址的物理存储单元中存储更多数据的硬件可以在某种程度上获得上述特征,但采取这个方案代价昂贵。要解决未来系统有效扩展它们对境况控制的综合处理能力这个问题所需要的是真正提供一个解决途径,使得大量的散布的计算机以在整个网络中时间同步的交互方式执行大量逻辑。本发明提供了这样一种方法和系统。
本发明提供了一种计算机实施方法,能够使多计算机节点靠交互数据通信以协同方式执行逻辑:
(a)在计算机节点之间校准时间定义以便各个计算机节
点精确地具有对时间的相同“理解”;
(b)为各个计算机节点确定一个通信调度表,这个调度
表为将来开始各次相应的通信确定了不同的时间;
(c)向各计算机节点传递相应的调度表;
(d)按照各自调度表所确定的时间开始各次通信。
描述的实施例提供了一种计算机网络体系结构,它具有一个与多台计算机相连的消息载体;一个用来保持计算机间时间同步的时钟系统(可被网络内的所有计算机访问);和一个决定计算机间通信顺序的调度器,它根据计算机执行的时间确定任务引起消息载体在选定的计算机间建立通信来完成这一功能。
描述的实施例还提供了一种全局的时间系统以将该计算机系列中的时间读出校准到一个全局定义的参考值。
描述的实施例还提供了一种能够使多个成员节点以协同方式执行逻辑的计算机实施方法。
描述的实施例还提供了计算机间经由消息载体通信的同时性。
描述的实施例还提供了为作为一个集体组的多个资源对象中的一个资源对象调度任务的计算机实施方法。
描述的实施例还提供了一种方法,用这种方法不同的计算机能靠调节它们振荡器的振荡频率来校准它们的时间定义。
计算机网络体系结构具有支持多信道的消息载体;多个连接到消息载体上的计算机,其中的每台计算机都被编程,使其循环通过多个不同状态,包括通信状态,以执行时间确定的任务;一个用来保持计算机中的时间同步,可被所有计算机访问的时钟系统;和一个连接到消息载体上用来确定计算机间的通信次序的调度器,它根据计算机执行的时间确定的任务引起消息载体在选定的计算机间建立通信来完成这一功能。
多个计算机节点中的一个计算机节点(带有一个独立的中央处理器的计算单元)与其它计算机节点一起连接到一个消息载体上,就能与其它计算机节点协同执行逻辑,还提供(a)在一台计算机节点上的主调度能力以建立主调度器;(b)在各个计算机节点中确定该计算机节点在对应的未来时间周期中所需的与其它计算机节点的各次通信的通信请求表;(c)从各个计算机节点经由消息载体向主调度器发送通信请求表;(d)各个计算机节点经由消息载体从主调度器接收通信调度表;(e)各个计算机节点从接收到的通信调度表确定当地任务调度表。
上述方法使系统中的多个成员节点能在多个分散的平台上以协同方式执行大量逻辑。
在一个实施例中,上述执行过程中定义时刻参考值的步骤由主调度器执行。
在一个实施例中,上述执行过程中在个成员节点中定义通信请求表的步骤限制了在未来的时间区间内的最大通信数量,各次通信都有一个持续时间属性,为获得有效操作,这个持续时间属性值小于一个固定的极大值。
在一个实施例中,全局时间系统的使用使得在扩展的系统中的所有不同的计算机节点(成员节点)具有对时间的普适理解。
调度的方法包括给作为一个集体组的多个资源对象中的一个资源(成员)对象调度任务的过程;这个计算机实施过程(称为“表观关键资源(apparent critical resource,ACR)”过程)包括下列步骤:
为该集体组确定一系列未来任务;
为未来任务系列中的各未来任务确定各资源对象;
确定对应于未来任务系列的任意两个资源对象之间所需的交互作用;
为各资源对象确定一个使用示例以完成各交互作用,该使用示例具有一个使用时长属性值;
对应于各个使用示例确定一个访问资源对象和一个被访问资源对象;
为各访问资源对象确定总访问时间值,该值为对应于这个资源对象为访问资源对象时所有使用示例的所有使用期属性值的总和;
为各被访问资源对象确定总被访问时间值,该值为对应于这个资源对象为被访问资源对象时所有使用示例的所有使用期属性值的总和;
确定在调度表中的一个调度周期内的连续一系列未来时间段;
根据该系列未来任务中的第一个有效的未来任务,将一个发生在下列对象之间的未来资源交互作用事件调度进第一个未来时间段中的最早可用时间内:
    (a)具有对应于该系列未来任务的最高总访问
值的访问资源对象和
    (b)具有对应于该系列未来任务的最高总被访
问值的被访问资源对象(如果在该访问资源对象和被访
问资源对象之间存在使用示例-在调度表记录中该未来
资源交互作用事件具有与调度表中的最早可用时间相等
的起始时间,与访问资源对象对应的访问资源对象识别
标志,与被访问资源对象对应的被访问资源对象识别标
志,和前述的使用期属性值)
从调度候选者中删除对应于已调度的未来资源交互作用事件中该被访问资源对象的使用示例和已调度的未来资源交互作用事件中的该访问成员对象的识别标志,以对那些还未调度交互作用的未来任务重新确定未来任务系列;
重复确定总访问值、确定总被访问值、调度未来通信任务和删除对应于已调度的资源对象的所有使用示例的步骤,直至所有能被调度进第一个未来时间段的使用示例都被调度了为止;
循环地执行确定总访问值、确定总被访问值、调度未来通信任务和删除对应于已预定的资源对象的所有使用示例的步骤,并重复这些步骤直至所有能被调度进第一个未来时间段的使用示例都被调度好,以及所有资源交互作用事件都被调度进这个调度周期。
在一个实施例中,消息载体具有允许多通信事件并行的多个通道,调度步骤对应于多个通道,作为一个整体实施,其中最早可用时间是对应于该消息载体的任意一个通道的。
在某些实施例中,各成员节点具有可变速振荡器,用来调整当地时钟与网络中的全局时钟校准。这些实施例中还提供由计算机线路执行的时间校准逻辑和振荡器频率调整逻辑以获得对特定成员节点(计算机节点)的快速时间校准。
在上述实施例中使用的消息载体具有(在优选实施例中)带纵横接线器或者(在另一个实施例中)有带射频通信系统的网络拓扑。
阅读对优选实施例的具体描述和附图,会更加全面清楚地理解本发明的其它特性和优点。
图1表示了在散布的网络中不同单元之间的数据流示意图。
图2描述了散布的计算单元网络,它们分布在全世界物理上不同的位置上。本图包括计算单元网络,主调度器和公共时间源。
图3表示了一个总线结构的网络示意图。
图4显示了分散的计算环境中环形布局的网络。
图5表示了转换星形布局的网络示意图,它是网络体系结构的优选实施例。
图6表示了在计算单元和主调度器之间通信的数据结构示意图。
图7描绘了主调度器对两个分离的计算单元之间的通信调度的实施过程的流程图。
图8表示了在主调度器对两个分离的计算单元之间的通信调度中实施的调度逻辑(电子线路所执行的软件)的简单示意图;
图9表示了主调度器所执行的调度逻辑的详细流程图。
图10表示了描述在首次连接被调度后计算单元之间的首次已调度通信的条带图。
图11表示了描述在第一个步骤中可调度的所有连接被调度后计算单元之间的已调度通信的条带图。
图12表示了描述在所有连接被调度后计算单元之间的已调度通信的条带图。
图13提供了消息载体、主调度器、时钟和成员节点的详细构成。
图14显示了优选实施例中采用的技术和那些应用中最关键的重点之间的关系。
图15表示了各计算单元为实现两节点间通信所执行的逻辑的流程图。
图16描绘了在一个以射频实现通信的散布网络中各不同单元之间数据流的示意图。
作为对这部分说明的介绍,本发明的系统和方法实施:合作执行的任务的中央化调度,时间确定事件的运行,以及有效实时同步化和网络上的多台计算机(也称作“成员节点”)上相应的振荡器的校准。在这一点上,这个时间确定的网络包含基于时间的而不是基于某种事件(例如一个信号的接收或检测到一条特定总线可用)的在分离的计算单元之间的通信。合作执行的任务的中央化调度,时间确定事件的运行,以及有效实时同步化和网络上多台计算机上相应的振荡器的校准需要计算机对实时的一个真实时刻的数据逻辑表象共用一个精确相同的表观。举例来说并对这个例子假定(这并不限制本发明的范围),全系统范围需要百万分之一秒的精度,这意味着,该系统中的两台不同的计算机必须知道,当被本网络权威的时间源定义的实时时刻为08:00:0000000小时时,两台计算机中的第一台具有实时的该时刻的数据逻辑表象在07:59:9999995到08:00:0000005之间,而两台计算机中的第二台具有实时的该时刻的数据逻辑表象也在07:59:9999995到08:00:0000005之间;正如可以断定的那样,两台计算机对实时的该时刻的数据逻辑表象的差别不大于百万分之一秒。
当一个散布的网络中的计算机对实时的一个真实时刻的数据逻辑表象共用一个精确相同的表观时,它们就可以被编程根据时间来执行特定的任务。涉及多台计算机的任务可以实现中央调度,并且为在地理上散布的计算机中以确定的方法引起时间相关的活动奠定了基础。从这个意义上说,在预定的实时时刻发生一个预定事件的特征是实时操作的确定性。
在计算机之间的通信中使用这样的时间协同也使动态冗余的使用容易起来。在动态冗余中,有两台或更多的计算机各自执行完全相同的逻辑,交换这些操作的结果,可选地裁定这些独立得到的结果以为进一步使用取得共同理解的联合结论,并运行以共同影响该结果。当被各计算机接收到的数据在结果仲裁之前被其它执行同样逻辑的计算机共用时,就能最有效地进行这个过程,所以必须存在这样一些机制,靠它们来共同确定仲裁处理开始的时间。在本发明中,提供冗余计算机之间时间同步并调度关于一个通信示例的任务的机制是(1)在计算机中提供一个完全相同的一个实时时刻的数据逻辑表象;(2)当在计算机中将发生通信示例时,使用一种调度方法来确定该计算机的时刻;以及(3)然后在这个为通信示例定义的时刻发生的通信示例所涉及到的各系统中实施合适的发送、接收和连接任务。以这种方式,将要执行上面提及的仲裁任务的时刻是在调度好通信任务之后就预先确定了的(与在实际执行了通信任务之后再等待确定仲裁任务的起始时间的方法相反)。
本调度方法是靠执行调度逻辑来实施的。逻辑的概念与软件(计算机程序)有关,它的目的是由一个可执行该软件的电子电路系统(通常以术语“计算机”称之)在执行该软件的过程中达到的。被用于通信调度的调度逻辑是基于对已调度的资源(例如指定的计算机、各计算机中的数据空间、各计算机的执行时间、各计算机中的指定电路)的命令所做的分析。这个调度逻辑被用于网络通信的调度,但它还可以应用于任意一个与另一个之间需要交互作用的资源的调度,而且它特别适合于实时的应用。调度逻辑还被设计成能够负责相应资源的调度和可从输入(这是网络中任意两个计算机之间连接要求的集合)预计要产生它的输出,即一个调度表,所需要的时间的量。为完成这个任务,调度逻辑调度对生成调度表具有最多时间要求的可用资源。这个说明中描述的特定的调度逻辑在这里也被称作表观关键资源或ACR调度逻辑,它反映了该操作的以下特性(1)估计在调度表的各点具有最高要求的资源和(2)赋予具有最高要求的资源优先权。本说明书中特别描述的调度逻辑被称为ACR调度逻辑。在这一点上,在优选实施例中,一旦一个特定的任务被调度了,它不被移出调度表以在调度表中寻求它的替代者,调度逻辑在这个意义上说是不重复的。正是这个品质使得调度逻辑的优先ACR调度逻辑类型非常适合于实时应用。
在调度逻辑的网络通信调度应用中,考虑到了发射资源和接收资源的存在。每次调度网络通信,一个发射资源总是与一个接收资源相连。
在这个网络通信调度中,主调度器和成员节点各有其责。
图1表示了一般单元和在散布的网络中的不同的一般单元之间的关联数据流的数据流示意图130,并且显示了一个消息载体100,第一个成员节点107和第二个成员节点108,一个用来经由数据信道101和数据信道102协调成员节点107,108之间的通信的主调度器106,用于获得成员节点107,108之间的同步的时钟选择(如时钟109,和备选时钟110)(经由数据信道104,数据信道105,数据信道101,和数据信道102),以及初始数据表和在这个散布的计算环境中有效交互作用所需的交换(经由经由数据信道118,数据信道117,数据信道119,数据信道120,和数据信道121)。
时钟109被通过消息载体从主调度器分配给成员节点(或者,消息载体100也能将备选时钟110分配给成员节点107,108和主调度器106)。这就允许所有连在消息载体上的成员节点共有一个共同的时间表观。在这一点上,时钟109代表了一个环绕物理的地球(如在北美,在欧洲,以及在亚洲)使用的全局的时钟,而备选时钟110则代表为网络设计的仅被消息载体100应用的时钟,另一方面,由一台计算机担任消息载体100的情况为散布的网络中与之相连的计算机任意地定义时间。时钟109或时钟110对应地经由连结104或105周期性地输出公共时钟信号。
各成员节点107,108负责接收公共时钟信号;有效地与该公共时钟信号“同步”(用相应的公共时钟信号的时间定义将节点的时间定义校准到一个很小的公差内,用以根据与已建立的时钟频率和固定点同步的操作创造系统时间);从主调度器106接收适当的当地事件表114,116;根据接收到的当地事件表116,114和任何在当地事件表114,116种没有描述的附加任务制定相应的任务执行表;执行任务执行表;产生通信请求表113,115;并且向主调度器106发送该任务执行表。各成员节点107,108根据需要节点107,108的任务产生连接请求表113,115,并且在前述时间通过消息载体100将这些请求传递给主调度器106。主调度器106将从成员节点来的连接请求表113,115结合起来放进综合请求表111,它被用来产生总事件表112所代表的通信调度表。然后这个总事件表112被分成能应用于各成员节点107,108的片段并通过消息载体100(也在前述时间)传送给成员节点107,108以存储进当地事件表114,116。当地事件表114,116被成员节点用于对合适的时间相关任务,包括与其它成员节点的通信,的时间控制。
图2描述了散布的计算单元网络220,它们分布在全世界物理上不同的位置上,它显示了图1的数据流图130所提出的情况的一个例子。这个图包括计算机201-214和两个时间源构成的网络,这两个时间源是代表相应于时间流图的时钟109,110的时钟203和时钟204;在这一点上,图2显示了时钟203作为北美和欧亚的所有系统时间定义的基准,而时钟214则为小于全球分布的位于非洲的计算机206,207,208,209和214的主机确定一个时间定义基准。这里要注意时钟203“图示”了图1的数据流图流程中的时钟109,而时钟214“图示”了图1的数据流图流程中的时钟110。在图2里描绘了散布的计算环境的两种可能形式(有助于联合的消息载体100,主调度器106和时钟104,105)。散布的计算环境可能被局限于一个地理上有限的区域,或者散布于全世界。当散布于大的地理区域时,时钟203可能是一个卫星时间分配系统,如全球定位系统。
图3表示了一个总线结构330的网络示意图。图3显示了图1中的基本部分,只不过消息载体100是一个将成员节点107,108与主调度器106相连的总线300。
图4显示了一个分散的计算环境,其中网络被布置成环形布局430。图4显示了图1中的基本部分,只不过消息载体100是由有效地将成员节点107,108与主调度器106连接起来的弧402,403,405和401构成的环形。
图5表示了转换星形布局530的网络示意图,它是优先的网络体系结构实施例。图5也显示了图1中的基本部分,只不过消息载体100明显地是一个布置成星形布局的转换网络,这种布局将成员节点107,108与主调度器106连接起来,并且主调度器106是包含在网络交换器501内部的。这个示意图显示了优先的实施例,因为它能通过可能在地理上分散布置的大量输入/输出处理装置和计算平台被用于大型制造过程(用于在一个设备中完成物质制造的制造过程,这个设备的可移动部件用来自一个计算机控制系统的控制信号实现实时变更,这个系统执行从设备读取量度数据和输出控制信号的逻辑)。这个星形布局网络530能够为实施制造过程而通过I/O(输入信号/输出信号)接口510,I/O接口522,I/O接口519,I/O接口512,I/O接口513,I/0接口520,I/O接口521对相应的设备读取测量数据和输出控制信号。I/O接口510,I/O接口511,I/O接口512,和I/O接口513都经环引出口508和环引出口509通过局域网515与控制计算机504和记录计算机505相连。以类似的方式,I/O接口522,I/O接口519,I/O接口520,和I/O接口521都经环引出口518和环引出口517通过局域网514与控制计算机506和记录计算机507相连。I/O接口510,I/O接口511,I/O接口512,I/O接口513,环引出口508,环引出口509,控制计算机504,记录计算机505和局域网515以局域逻辑的整体性和高度的实时数据逻辑的内聚性运行。以类似的方式,I/O接口522,I/O接口519,I/O接口520,和I/O接口521,环引出口518,环引出口517,控制计算机506,记录计算机507和局域网514以局域逻辑的整体性和高度的实时数据逻辑的内聚性运行。网络交换器501使得
    (a)I/O接口510,I/O接口511,I/O接口512,I/O
接口513,环引出口508,环引出口509,控制计算机
504,记录计算机505和局域网515
    (b)I/O接口522,I/O接口519,I/O接口520,和
I/O接口521,环引出口518,环引出口517,控制计算机
506,记录计算机507和局域网514之间的内聚性能够发送,这个网络交换器实施(1)给计算机中提供实时中的一个时刻的完全一致的数据逻辑表象的通信;(2)在计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503中任意两各之间经使用网络交换器501的各次通信示例发生的时间内,为控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502,和网络交换器501确定各个时刻的主调度器106的程序;(3)在为通信示例确定的时间对该通信示例所涉及的部件适时地发送、接收和链接任务。作为单一的信息源,网络支持502确定星形布局530中可接受的通信伙伴,也累计并向星形布局530中的诊断信号提供访问,它被作为一个节点与转换星形布局530协同。网络交换器501参考网络支持502列出星形布局530中可接受的通信伙伴并确认那些在确定发送接收和链接任务时有悖于该列表的通信示例需要。
在一个实施例中,I/O接口522,I/O接口519,I/O接口520,和I/O接口521很容易由一个如美国专利第5,555,424(24Sederlund等)所描述的进程控制系统来实现。这个于1996年9月10日授权的专利授予Sederlund,Edward R.;Lindesmith,RobertJ.;Root,Larry A.;Dupree,Wayne P.;和Thomas,Lowell V.的“具有可编址增量的扩展的哈佛体系结构计算机存储系统”。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
在一个更优先的实施例中,I/O接口522,I/O接口519,I/O接口520,和I/O接口521很容易经由在一个使用两台进程控制计算机(如24Sederlund等所描述的进程控制计算机)的一般的进程控制系统中的一个冗余进程控制计算机系统,如美国专利第5,583,757(Baca,Jr.等)所描述的系统来实现,这个于1996年12月10日授权的专利授予Baca,Jr.Eloy;Dupree,Wayne P.;Grinwis,DonaldJ.;Kanse,Johannes C.;Pelletier,Douglas P.;和Schlze,Oscar E.的“用于动态冗余进程控制计算机的输入信号分辨方法”。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
于1996年10月22日授权的美国专利5,568,615(15Sederlund等)授予了Sederlund,Edward R.;Thomas,NadeneT.;Lindesmith,Robert J.;和Cowles,Russel W.的“用于进程控制计算机的Stealth接口”,其中描述了一个用于24Sederlund等所描述的进程控制计算机获得数据访问的一个实施例。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
于1995年6月27日授权的美国专利5,428,769(69Glaser等)授予Glaser,Robert S.;Hoy,Robert S.;Fernandez,G.Paul;和Grai,和Timothy J.的“有三重冗余远场单元的进程控制接口系统”,其中描述了一个与24Sederlund等所描述的进程控制计算机一起使用的提供远场单元的系统的一个实施例。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
于1992年9月29日授权的美国专利5,151,866(66Glaser等)授予Glaser,R.Steven和Bade,Jeffrey M.的“高速功率分析”,其中描述了一个与69Glaser等所描述的远场单元一起使用的提供用来读取功率分配系统中电流的接口的系统的一个实施例。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
在以下美国专利中
    (a)于1996年5月21日授权的授予Allbery,Jr.,
James D.;Troisi,Peter.,A.;Johnson,Susan J.;Cullen,
James H.;Butler,Richard L.;Ferreira,James P.;Ellison,
Joseph;Patel,Chiman L.;Uban,James E.;和Schultz,Dale
H.的“能对相应数据系列进行的时间校准的智能进程控制
通信系统和方法”的美国专利5,519,603(Allbery,Jr.
等);
    (b)于1995年6月27日授权的授予Bruijn,Ronny
P.;Verboven,Marc L.K.;van Weele,Leonardus A.;
Vermeire,Roger R.;Schultz,Oscar E.;Schultz,Dale H.;和
Bell,Brian G.的“使用新随机数的用于在通信时间期限结
束之前重新建立第一台和第二台计算机之间限时通信的安
全通信系统”的美国专利5,428,745(45de Bruijn,
等);和
    (c)于1996年10月1日授权的授予de Bruijn,
Ronney P.;van Weele,Leonardus A.;Verboven,Marc L.K.;
Vermeire,Roger R.;Schultz,Oscar E.;Bell,Brian G.和
Schultz,Dale H.的“靠检查与命令中可变的标识符相联系
的允许指示器的状态来决定是否发出命令来控制计算机的
系统与方法”的美国专利5,561,770(70de Bruijn,
等);描述了一个与冗余进程控制计算机系统一起使用的提供高速路由的系统的实施例。
在这里特地将这些专利引用合并于本应用中以显示获得和使用本发明的方法。
于1997年5月20日授权的美国专利5,631,825(van Weele等)授予van Weele,Leonardus A.;de Bruijn,Ronney P.;Vermeire,Roger R.;Zemiering,Christo;和Lenting,Ben的“用于制造进程控制系统的操作站”,其中描述了一个与冗余进程控制计算机系统和上述专利中描述的接口一起使用的提供面向人类的接口的系统的实施例。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。尽管这个面向人类的接口可以被I/O接口522,I/O接口519,I/O接口520,和I/O接口521中的每个或任意一个作为用户接口使用,还是应该注意到在转换星形布局530的特例中,用户接口503是优先为经网络交换器501到整套系统的接口设计的。
(a)于1996年2月13日授权的授予Pressnall,Dana W.;Polishak,Jeffery T.;Felix,Bradley K.;Durisin,Michael J.;和Ellison,Joseph的“用于动态冗余计算机化进程控制的信息显示系统”的美国专利5,491,625(Pressnall等)和(b)于1995年4月18日授权的授予Van de Lavior,Ronny;Follon,Marinus(Neerpelt,BE);和Ravenscroft,Ian的“用于动态冗余计算机化进程控制的信息显示系统”的美国专利5,408,603(Van de Lavior等)中描述了一个对在上述系统中执行的应用程序代码提供实时解释的系统的实施例。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
一个提供面对人类的接口的大型图形总览系统与操作站一起被应用于这个优选实施例中。于1998年3月10日授权的授予John L.Clement的美国专利5,726,668(Clement)中描述了这个大型图形总览系统。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的方法。
在一个概念化的最优先的实施例中,用一个由Wayne Dupree,Jeffery Lucas,Larry Root,Gerrit Verniers,和Stephen Churchill于1997年2月12日存档的名为“一个专用流程循环(Context-Cycling)的计算机”的08/797,967号美国专利申请中描述的专用流程循环计算机,I/O接口510,I/O接口511,I/O接口522,I/O接口519,I/O接口512,I/O接口513,I/O接口520,I/O接口521,环引出口508,环引出口509,控制计算机504,记录计算机505,环引出口518,环引出口517,控制计算机506,记录计算机507,I/O接口522,I/O接口519,I/O接口520,I/O接口52l,环引出口518,环引出口517,控制计算机506,网络支持502,网络交换器501,记录计算机507相继被使用。这个专用流程循环计算机带有提供与场检测仪的接口的69Glaser等的系统。在这里特地将此专利应用引用合并于本应用中以显示获得和使用本发明的方法。
这个流程循环处理器向大量和不同的输入输出回路提供指定回路,各指定回路至少拥有一个专用记录器以在另一个流程处于当前状态时保持与回路或功能相关的有关资源、属性、或外观的进程和配置状态;还提供指定回路和根据一个流程建立电路系统的专用记录器的组合。流程也包括特定用于电路系统的相关逻辑。多个流程在CPU中共享公共资源。
于1997年8月5日授权的美国专利5,655,133(Dupree等)授予Dupree,Wayne P.;Churchill,Stephen G.;Gallant Jeffery R.;Root,Larry A.;Bressette,William J.;Orr,Ⅲ,Robert A.;Ramaswamy,Srikala;Lucas,Jeffery A.;和Bleck,James的“大规模超纯量哈佛体系结构的计算机”,其中描述了与组织程序循环计算机共同使用的需要的协处理器。在这里特地将此专利引用合并于本应用中以显示获得和使用本发明的优先期望的方法。网络交换器501也优先使用能实施至少99个平行或连续通信链接的纵横接线器(Xbar)516。
在网络交换器501中使用主调度器106来提供公共时钟信号(即时钟109的取数或时钟110的显示),并且还负责时钟信号分配;从各成员节点107,108(在网络530的这个特例中,控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502和网络交换器501都是图1中数据流流程中的成员节点107和108的例子)收集请求;为各成员节点107,108调度通信任务;向各成员节点107,108发送调度表;以及实施成员节点107,108之间的连接。
分配一个共用时钟信号的目的是使网络530上的各节点108,107具有对时间的相同理解。具有对时间的相同理解在本发明是至关重要的,因为任务的调度是基于时间进行的。因此,共用时钟信号用来有效地将所有节点108,107同步到共用时间。在预定周期的基础上,网络交换器501中的主调度器106发送一个消息给节点108,107中的每一个以确定时间周期的开始。
每个调度周期从各成员节点107,108(控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502和网络交换器501中的任意一个)收集一次连接请求。各调度周期网络交换器501中的主调度器106都留出时间来接收来自各成员节点107,108(控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502和网络交换器501中的任意一个)的连接请求。通信请求来自于需要被请求的通信的成员节点107,108。网络交换器501中的主调度器106接收每个请求并在其调度逻辑中考虑这些请求。每个请求都包含通信的源、目标和长度方面的信息。另外,各请求还可能包含优先级指示符和向在目标节点上执行的特定应用发送其信息所需的信息。当从所有的成员节点107,108收集连接请求的任务完成以后,其结果被收集进一个综合请求表111。注意在综合请求表111入口可能在网络交换器501中的主调度器106内部初始化其本身;特定的连接请求也可能具有重复特性,例如由单一信号在未来一系列时间周期里引起多次连接。
然后网络交换器501中的主调度器106调度未来将发生的通信。虽然在本说明中讨论的表观关键资源是优先的方法,但在时间确定网络的功能中为执行通信调度所使用的方法并不是决定性的。逻辑给需要的通信分配时间。可以用以下三种方式决定在调度周期中何时停止调度过程:第一,所有可被调度的通信请求都已经被调度,因此不存在剩余的调度任务;第二,没有剩余的执行调度的时间(处理器必须停止调度过程以继续它的下一个任务);第三,存在多于在可用的调度窗口里所能调度的所需连接(带宽耗尽),在这种情况下过剩的请求被保持在队列中等待下次调度尝试。
发生的调度被存进总事件表112。这个总事件表112除了包含与综合请求表111中同样的信息之外,还包含已调度的通信的起始时间621。注意,可能总事件表112中预先装载了一定的任务以绕过调度过程,正如增强任务的特时间确定间调度需求所需要的那样。
然后网络交换器501中的主调度器106向各相应的成员节点传递当地事件表114,116(调度表的一部分,它适合于特定的成员节点107,108)。出现在总事件表112中的以成员节点107,108作为源或目标的各个事件都在当地事件表114,116存在入口。任何一个涉及任意通信的成员节点107,108(控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502和网络交换器501中的任意一个)接收它的当地事件表114,116。
然后网络交换器501中的主调度器106根据出现在总事件表112中的被分配的时间实施连接。当使用无阻塞转换的优选实施例时,这些连接的过程导致可能出现多个连接同时被实施的情况。
位于网络交换器501中的主调度器106中的综合请求表111可能包含没有临时改变地实施连续的重复连接,或者动态需要的连接(当需要时才实施,通常由网络上的一个节点提出需要)。这个连接请求表至少包含一个源指示符、一个目标指示符和一个时长指示符(见显示记录细节600的图6)。另外的与调度相关的参数选择性地包括如优先级指示符617这样的指示符。
图6显示了用于调度和任务协调过程的原始表和信息的组合600。连接请求表115在成员节点107,108中和当网络交换器501中的主调度器106中在结合成综合请求表111时,均具有源614,目标615,长度616和可能的优先级617的区域610。在主调度器106中的调度器逻辑611使用这些区域610中的数据以带有区域612的总事件表112的形式来为个次连接的源618,目标619,长度620和起始时间621构造调度表。注意调度器逻辑611从连接请求表111中提取源614,目标615和长度616,尽管起始时间621是调度过程本身的产物。
当地事件表114,116只是总事件表112的简单的子系,总事件表112被分成那些可应用于相应的成员节点107,108(控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502和网络交换器501中的任意一个)的部分-不需要对区域613做任何操作。虚拟通道601,602,603,606,607和608显示了从连接请求表区域610到当地事件表区域613的信息流。虚拟通道604显示了调度表的优先级617的输入;虚拟通道609显示了从调度器逻辑611传递来的起始时间621,625。
然后调度器逻辑611用这些数据得出调度表以提供需要的连接。调度器逻辑611的调度过程的结果被记录在总事件表112中,总事件表又转而被进行句法分进入相应的当地事件表116中以分配给网络节点(见图1)。这些事件表包括源622,目标623,时长624和起始时间625的区域613。
在网络节点中,当地事件表114,116与当地任务表合并在一起并且执行逻辑以确保能完成所有要做的工作和所有对应于(或与之无冲突)被调度器逻辑611指定的时间调度。
图7概述了一般的调度过程710。在预定的请求接收周期内收集连接请求。经过预定的时间周期后,必须处理大量的连接请求。更多的连接不被禁止,但必须建立一个截断点。图7显示了在网络交换器501中的主调度器106中的调度连接请求所需要的基本步骤。前三步701-703为所有节点提供校准的时间定义。在步骤704中,从所有成员节点107,108(这些节点在它们的当地任务调度表预定的时刻从优先的操作发送它们的请求作为一次通信)接收连接请求。在步骤705中,当调度过程应用于那些在表示结束的特殊的时间段窗口中从成员节点107,108收集到的那些请求时,连接请求过程停止以便能为未来确定调度表。一旦请求已被收集(详见图8),调度连接请求的步骤706就可以开始。步骤707中,一旦完成了该调度,就从总事件表112中抽取适当的部分创建当地事件表114,116,然后在步骤708中传递给节点107,108以备在步骤709中实施。
一般对于散布的计算环境,节点107,108之间可能在任何时刻需要连接,这意味着连接请求可能开始于任何时刻,并且必须允许一些处理这些连接的服务时间。存在四个过程,并在网络530中以与想要的响应一致的速度重复执行:收集连接请求,调度连接请求,向网络节点分配产生的调度表,通过网络530经已建立的所需连接通信(见表1)。
表1-四个调度过程
请求连接
调度连接
传递调度
通信
表2显示了这四个过程的时间关系,如声明的那样,这四个过程一直在进行。
表2-调度流程
  请求连接
  请求连接   调度连接
  请求连接   调度连接   传递调度A
  请求连接   调度连接   传递调度B   通信A
  请求连接   调度连接   传递调度C   通信B
  请求连接   调度连接   传递调度D   通信C
  请求连接   调度连接   传递调度E   通信D
  请求连接   调度连接   传递调度F   通信E
注意在表2最右侧的列中通信总是发生在为通信建立基础的最初几次重复之后。对在一个时间段窗口中的任意一个特定的通信,都要在其前面的时间段窗口中传递被实施的通信调度表,而请求在调度表传递之前的时间段窗口中被调度,并且还要提出在调度之前这些请求。在这个流程中可以存在时间调度上的变化,但个流程这与优选实施例中的流程相似。
当前优选实施例中使用的逻辑的设计带有两个目的:必须得到有效的调度表,以及产生这个调度表所需的循环数必须被限制在合理的水平。有效调度涉及一个基于以下前提的简单过程,即综合调度表的效率首先是一个有效率的功能使得在该调度表中资源被尽可能地利用。这意味着在调度过程中要一直确保具有最高待执行要求的资源得到优先调度。为在可接受的时间里得到调度表,逻辑被设计成每个请求被调度一次并只被调度一次(尝试和错误逻辑被认为不可接受),并对每个连接请求有有限的处理要求。
如图8所示,调度806中的基本过程如下:
1)确定衡量资源要求的判据;
2)根据关键性将资源分类;
3)按资源关键性的顺序提供在本步骤中所能提供的连
接;
4)进一步完成前面已经被处理的任务因而腾出可用的
资源;
5)重复步骤2-4直至所有请求都被处理过或直至没有机
会处理更多请求为止。
在这个调度过程中,任何不能被处理的请求可以在下一个调度过程中再次被提出。
图8的流程图概括了在一个表观关键资源的调度逻辑中使用的过程。第一步是确定衡量资源使用量的判据800,对于本优选实施例,发送和接收通道就是已调度的资源,而各资源的使用时长就被选为判据。
一旦确定了资源的使用量,就被按使用量801分类。这允许使用最多的资源在步骤802中被首先调度。当所有能被调度的资源都已被调度时(现有请求的连接可能不需要或不允许所有资源的同时使用),在步骤803中调度的时间段窗口前移直至所有可利用的资源全部可用为止。如果还有更多需要处理的连接请求并且在调度表中还有处理这些请求的时间,在步骤804决定了对应于对是否需要一次从步骤801到803的重复这个问题之后,就回重复这个过程。根据调度示例已完成的步骤804的决定,调度器逻辑的子过程806进行到步骤805退出。
图9表示了表观关键资源(ACR)的优选实施例的调度逻辑的子过程950的更详细的概貌。作为图8所示过程的优先的实施,这个简图围绕这图8中提到的步骤并增加了一些条件运算和例外处理所需的动作。步骤901代表优先的ACR过程的起始点。在步骤902中,建立ACR表,在步骤903中,根据ACR表中的SAV值(如果该值指示在ACR表中没有请求,就立即执行步骤918退出)确定未调度请求的存在。如果存在请求,ACR子过程950进行步骤904计算窗口大小,步骤905搜寻指定的请求,和步骤906检查指定的请求和通信双方的存在。如果该请求和通信双方存在,该过程就在进行步骤914中下一个请求之前进行步骤912将该事件加入事件表中并在步骤913中调整ACR路径。如果步骤915中的高值为零,ACR中(未来)时间的确定就在步骤916前移,步骤917检查带宽以确认在这个调度运行中有足够的时间进行进一步调度,然后为下一个请求过程返回步骤914。如果在步骤906中,通信的接收者不存在,就在步骤907中定义替代接收者并在步骤908中给予评价。如果步骤908没有定义替代接收者,就在步骤919中选择一个替代发送者并在步骤920中给予评价;如果可接受(步骤920),步骤921选择选择具有最高ACR值的接收者并且过程返回908;如果不可接受(步骤920),过程进入步骤916。当步骤908中定义了替代者时,过程经由步骤909,910和911到912进行调度。考虑一个对应于表3显示的一个包含五个节点的假设网络的通信请求的例子,通过这个例子可以很好地描述按上述步骤执行的虚拟数据逻辑过程。
表3:初始请求表
    源   目标    长度  优先级
    1     2     15     1
    1     4     23     1
    1     5     2     1
    2     1     24     1
    3     1     16     1
    3     1     12     1
    3     2     20     1
    3     3     8     1
    3     4     19     1
    3     4     16     1
    3     5     4     1
    3     5     9     1
    4     1     13     1
    4     5     9     1
    5     1     21     1
    5     1     8     1
    5     2     8     1
    5     3     1     1
    5     4     18     1
  总计     246
假定长度是以任意时间单位测量的,可能是毫秒,并且有n个不同的优先水平,从1到n,其中1是最紧急的而n是最后的。
首先,注意广播型网(其中所有交互行为都需要共享带宽,例如具有命中探测的载波检测多址或CSMA/CD网络)完成上述请求所需的服务时间在理论上最少需要246时间单位。
无阻塞交换器的引入允许五个发射资源和五个接收资源同时运行。为分析应用无阻塞交换器的好处,本例的调度器逻辑首先建立一个表评估各资源上的要求,如表4:
表4:初始汇总访问值
    X/R     1     2     3     4     5    SAV
    1     -     15    -     23     2     40
    2     24     -    -     -     -     24
    3     28     20     8     35     13     104
    4     13     -    -     -     9     22
    5     29     8     1     18     -     56
    SAV     94     43   9   76   24   246
总计的访问值,或SAV,就简单地是发送者(X-表的行)和接收者(R-表的列)的交互作用次数的行或列的总和,并反映了在特殊资源上的以任意时间单位量度的要求的总和。注意选用无阻塞交换器后处理请求所需的理论最小时间从246时间单位降到了104时间单位。由于发送者3具有最高的SAV,而当发送者3被处理时,其它发送者通常也可以被处理,所以这些请求的最小服务时间受发送者3制约。当理论下限可能为104时间单位时,实际最小服务时间可能会较长并且甚至可能依赖于连接被处理的次序。但是,下个目标是确定最佳调度方法以使现有网络的能力最大化(最小化所需的服务时间)。
对这个特殊的例子假设,合成的调度表应用于未来时间的时间段窗口,不论请求的组成和数量,该窗口都具有150时间单位时长。这个例子开始于为这个150单位的调度表查看在时间=0时所进行的连接。第一个目标,由SAV判断,是调度那些与发送者3和接收者1相关的请求。参照前面的初始请求表,本例的调度器逻辑找到一个具有16个时间单位时长的与发送者3和接收者1相关的请求。由于本例的调度器逻辑正在调度时间=0时的连接,并且本例的调度器逻辑具有150单位时长,本例的调度器逻辑将16字请求放进时间段调度窗口,并且将交互作用记录进事件表表5。
表5:中间事件表
    源     目标     长度  优先级 起始时间
    3     1     16     1     0
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
表5可以优先地表示成图10中的图1001。已调度的发送者3单元1002和已调度的接收者3单元1003表示出已调度的任务。
然后请求表一定以某种方式反映最后一个请求已被处理的事实。这个调整过的请求表可能类似于表6。
表6:中间请求表
    源     目标     长度  优先级  起始时间
    1     2     15     1     -
    1     4     23     1     -
    1     5     2     1     -
    2     1     24     1     -
    3     1     16     1     0
    3     1     12     1     -
    3     2     20     1     -
    3     3     8     1     -
    3     4     19     1     -
    3     4     16     1     -
    3     5     4     1     -
    3     5     9     1     -
    4     1     13     1     -
    4     5     9     1     -
    5     1     21     1     -
    5     1     8     1     -
    5     2     8     1     -
    5     3     1     1     -
    5     4     18     1     -
  总计   246
由于发送者3和接收者1现在在时间=0时被占用,它们的状态一定要指出这一点,所以更新的SAV表随之有一些改变,现在可能类似于表7。
表7:中间汇总访问值
  通道 发送者SAV 接收者SAV
    1     40     78
    2     24     43
    3     88     9
    4     22     76
    5     56     24
注意发送者3和接收者1的SAV已经被调整以反映已处理的请求。这是因为调度器逻辑继续给予调度表中命中最高的资源调度优先权。这个过程的发生是已其它资源的需要为代价的,并且在某些情况下被置入具有低SAV的资源的低效率可以导致这些资源在调度表的剩余部分具有比在起始时命中最高的的那些资源还要高的命中。由于这个原因,这个协定被称为表观关键资源调度(调度优先权总是给那些在所考虑的时刻出现在关键路径上的资源),或ACR调度。
明显地,本例的调度器逻辑应该试图调度从发送者5到接收者4的请求,既下面两个的剩下的可调度的与命中的调度有关的并行资源。由于存在这样一个请求,所以本例的调度器逻辑的执行使得那些表现在类似于表8,9和10。
表8:中间请求表
    源   目标    长度  优先级 起始时间
    1     2     15     1     -
    1     4     23     1     -
    1     5     2     1     -
    2     1     24     1     -
    3     1     16     1     0
    3     1     12     1     -
    3     2     20     1     -
    3     3     8     1     -
    3     4     19     1     -
    3     4     16     1     -
    3     5     4     1     -
    3     5     9     1     -
    4     1     13     1     -
    4     5     9     1     -
    5     1     21     1     -
    5     1     8     1     -
    5     2     8     1     -
    5     3     1     1     -
    5     4     18     1     0
  总计     246
表9:中间事件表
    源    目标    长度  优先级 起始时间
    3     1     16     1     0
    5     4     18     1     0
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
    -     -      -     -     -
表10:中间汇总访问值表
  通道 发送者SAV 接收者SAV
    1     40     78
    2     24     43
    3     88     9
    4     22     58
    5     38     24
注意这个事件表显然是从请求表而来的已调度的请求的(按时间顺序)分类表。由于这个原因,各调度步骤的中间阶段未被显示出来。
重复前面的过程,本例的调度器逻辑调度一个1到2的通信示例请求(即从发送者1到接收者2的连接),并且这些表被调整为如下的表11和12:
表11:中间请求表
目标 长度 优先级 起始时间
    1     2     15     1     0
    1     4     23     1     -
    1     5     2     1     -
    2     1     24     1     -
    3     1     16     1     0
    3     1     12     1     -
    3     2     20     1     -
    3     3     8     1     -
    3     4     19     1     -
    3     4     16     1    -
    3     5     4     1    -
    3     5     9     1    -
    4     1     13     1    -
    4     5     9     1    -
    5     1     21     1    -
    5     1     8     1    -
    5     2     8     1    -
    5     3     1     1    -
    5     4     18     1    0
  总计     246
表12:中间汇总访问值表
    通道 发送者SAV 接收者SAV
    1     25     78
    2     24     28
    3     88     9
    4     22     58
    5     38     24
本例的调度器逻辑接下来搜寻2到5的通信示例请求,但没有作出这样的请求。在确定下面被尝试的组合中存在几个选择,但最佳方案是根据带宽效率和处理费用之间的权衡选出的。(具有最小带宽命中,多个简单的法则可以被选择,对本优选实施例,在这个特殊的发送者被忽略并且下一个发送者被选择之后,为现有的发送者选择替代接收者直到所有接收者的选择被耗尽,并且命中最高的接收者被重新考虑为止-见图9。)
用这个逻辑,搜寻2到3的通信示例请求但没有找到,然后4到5的通信示例请求被搜寻、被找到并被选择。SAV表被更新,并确定在时间=0时没有其它可进行的连接。事件表现在被显示为表13。
表13:中间事件表
    源     目标     长度 优先级 起始时间
    3     1     16     1     0
    5     4     18     1     0
    1     2     15     1     0
    4     5     9     1     0
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
    -     -     -     -     -
这四个连接也可以被图11中的调度图1101形象地表示。图10中的已调度的发送者单元1002和已调度的接收者单元1003被相应地表示为已调度的单元1102和1103,并且还加入了已调度的单元1104和1105(4到5的连接),1106和1107(1到2的连接)以及1108和1109(4到5的连接)。
涉及前移时间的逻辑等于按时间顺序前移到下个结束。在这里4到5的通信示例请求就是按时间顺序的下个结束,所以本例前移时间到时间=9时,在这一时刻发送者4和接收者5就又可以使用了。现在请求表和SAV表被显示在表14和15中。
表14:中间请求表
   源   目标    长度  优先级  起始时间
    1     2     15     1     0
    1     4     23     1     -
    1     5     2     1     -
    2     1     24     1     -
    3     1     16     1     0
    3     1     12     1     -
    3     2     20     1     -
    3     3     8     1     -
    3     4     19     1     -
    3     4     16     1     -
    3     5     4     1     -
    3     5     9     1     0
    4     1     13     1     -
    4     5     9     1     -
    5     1     21     1     -
    5     1     8     1     -
    5     2     8     1     -
    5     3     1     1     -
    5     4     18     1     0
  总计     246
表15:中间汇总访问值表
  通道 发送者SAV 接收者SAV
    1     25     78
    2     24     28
    3     88     9
    4     13     58
    5     38     15
在搜寻2到5的通信示例请求,2到3的通信示例请求,4到5的通信示例,请求4到3的通信示例请求和4到3的通信示例请求之后,本例的调度器逻辑判定本例必须再次前移时间-在时间=9的时候实际上没有任何请求能被调度。现在下一次结束是在时间=15时,在这个时刻1到2的通信示例连接结束并且SAV表为表16。
表16:中间汇总访问值表
    通道 发送者SAV 接收者SAV
    1     25     78
    2     24     28
    3     88     9
    4     13     58
    5     38     15
本例的调度器逻辑现在搜寻1到2的通信示例请求,但1到2的通信示例已经被调度了,所以本例搜寻1到5的通信示例请求,本例发现了并调度这个请求。新的SAV表就是表17了。
表17:中间汇总访问值表
  通道 发送者SAV 接收者SAV
    1     23     78
    2     24     28
    3     88     9
    4     13     58
    5     38     13
本例的调度器逻辑然后在决定再次前移时间之前搜寻2到2的通信示例请求,2到3的通信示例请求,4到2的通信示例请求和4到3的通信示例请求。本例前移时间从15到16,在这个时刻SAV表看起来如表18。
表18:中间汇总访问值表
  通道 发送者SAV 接收者SAV
    1     23     78
    2     24     28
    3     88     9
    4     13     58
    5     38     13
本例的调度器逻辑然后调度3到1的通信示例请求,它被证明是在时间=16时唯一一个可以被调度的请求。在本例的调度器逻辑操前移时间至时间=17后,这些表看起来如表19,20和21。
表19:中间汇总访问值表
  通道   发送者SAV   接收者SAV
    1     23     66
    2     24     28
    3     76     9
    4     13     58
    5     38     13
表20:中间请求表
    源    目标     长度  优先级 起始时间
    1     2     15     1     0
    1     4     23     1     -
    1     5     2     1     15
    2     1     24     1     -
    3     1     16     1     0
    3     1     12     1     16
    3     2     20     1     -
    3     3     8     1     -
    3     4     19     1     -
    3     4     16     1     -
    3     5     4     1     -
    3     5     9     1     -
    4     1     13     1     -
    4     5     9     1     0
    5     1     21     1     -
    5     1     8     1     -
    5     2     8     1     -
    5     3     1     1     -
    5     4     18     1     0
  总计     246
在时间=17时没有能被被调度的请求,所以本例前移时间至时间=18,此刻5到4的通信示例请求结束。
表21:中间汇总访问值表
  通道   发送者SAV   接收者SAV
    1     23     66
    2     24     28
    3     76     9
    4     13     58
    5     38     13
在对5到4的通信示例请求的搜寻不成功后,发现了5到2的通信示例请求和1到4的通信示例请求,并且这些表看起来如表22和23:
表22:中间汇总访问值表
    通道   发送者SAV   接收者SAV
    1      -     66
    2     24     20
    3     76     9
    4     13     35
    5     30     13
表23:中间请求表
    源   目标    长度  优先级  起始时间
    1     2     15     1     0
    1     4     23     1     18
    1     5     2     1     15
    2     1     24     1     -
    3     1     16     1     0
    3     1     12     1     16
    3     2     20     1     -
    3     3     8     1     -
    3     4     19     1     -
    3     4     16     1     -
    3     5     4     1     -
    3     5     9     1     -
    4     1     13     1     -
    4     5     9     1     0
    5     1     21     1     -
    5     1     8     1     -
    5     2     8     1     18
    5     3     1     1     -
    5     4     18     1     0
  总计     246
本例的调度器逻辑操前移时间至时间=26,此时本例的调度器逻辑操定义表24:
表24:中间汇总访问值表
  通道 发送者SAV 接收者SAV
    1     -     66
    2     24     20
    3     76     9
    4     13     35
    5     30     13
本例的调度器逻辑现在调度5到3的通信示例请求,它是在这一时刻能被调度的所有请求。然后时间被前移至时间=27,然后28,并且SAV表看起来如表25。
表25:中间汇总访问值表
    通道   发送者SAV   接收者SAV
    1      -     66
    2     24     20
    3     76     8
    4     13     35
    5     29     13
由于没有3到1的通信示例请求,本例的调度器逻辑调度3到2的通信示例请求和5到1的通信示例请求,并前移时间至31,然后至48,此刻SAV表变成表26。
表26:中间汇总访问值表
  通道   发送者SAV   接收者SAV
    1      -     45
    2     24      -
    3     37     8
    4     13     16
    5     8     13
本例的调度器逻辑调度3到4的通信示例请求,并前移时间至49,结果给出表27。
表27:中间汇总访问值表
  通道   发送者SAV   接收者SAV
    1      -     45
    2     24      -
    3     37     8
    4     13     16
    5     8     13
本例的调度器逻辑预定2到1的通信示例请求,并前移时间至67,给出表28。
表28:中间汇总访问值表
  通道   发送者SAV   接收者SAV
    1      -     21
    2      -
    3     29     8
4 13 16
    5     8     13
本例的调度器逻辑现在调度3到3的通信示例请求和5到1的通信示例请求,并前移时间至73,如表29所示。
表29:中间汇总访问值表
    通道   发送者SAV   接收者SAV
    1      -     21
    2      -      -
    3     29      -
    4     13     16
    5     8     13
本例的调度器逻辑然后调度4到1的通信示例请求,并前移时间至75,导致表30。
表30:中间汇总访问值表
  通道 发送者SAV 接收者SAV
    1      -     8
    2      -      -
    3     29      -
    4      -     16
    5     8     13
这允许本例的调度器逻辑调度剩余的3到4的通信示例请求,在此之后本例的调度器逻辑前移时间至时间=86,导致表31的数据。
表31:中间汇总访问值表
    通道     发送者SAV     接收者SAV
    1       -       8
    2       -       -
    3       13       -
    4       -       -
    5       8      13
本例的调度器逻辑现在调度5到1的通信示例请求,前移时间至91,调度第一个3到5的通信示例请求,前移时间至94,然后至95,和调度最后一个请求,另一个3到5的通信示例请求。结果事件表看起来如表32。
表32:最终事件表
    源    目标    长度  优先级  起始时间
    3     1     16     1     0
    5     4     18     1     0
    1     2     15     1     0
    4     5     9     1     0
    1     5     2     1     15
    3     1     12     1     16
    5     2     8     1     18
    1     4     23     1     18
    5     3     1     1     26
    3     2     20     1     28
    5     1     21     1     28
    3     4     19     1     48
    2     1     24     1     49
    3     3     8     1     67
    4     1     13     1     73
    3     4     16     1     75
    5     1     8     1     86
    3     5     4     1     91
    3     5     9     1     95
注意整个请求表在104个时间单位后完成-这是处理这些特定请求理论上所需的最小时间量。
最终调度表被以图形方式显示为图12中的调度图1201。图10中的已调度的发送者单元1002和已调度的接收者单元1003被相应地表示为已调度的单元1202和1203;图11中的已调度的单元1104和1105,1106和1107以及1108和1109被相应地表示为已调度的单元1204,1205,1206,1207,1208和1209;并且还显示了新单元对应1到4的通信示例的1216-1217,对应5到2的通信示例的1214-1215,对应3到1的通信示例的1212-1213,对应3到2的通信示例的1220-1221,对应5到1的通信示例的1222-1223,对应2到1的通信示例的1226-1227,对应3到4的通信示例的1224-1225,对应3到3的通信示例的1228-1229,对应4到1的通信示例的1230-1231,对应3到4的通信示例的1232-1233,对应5到1的通信示例的1234-1235,和对应3到5的通信示例的1238-1239。其中显示出的三个交互作用上出没有画出单元指示符(时长为2的1到5的通信,时长为1的5到3的通信,和时长为4的3到5的通信)。
注意关键资源发送者3一直被预定满直至时间=104,即为达到理论上的最小调度时间所必须达到的判别值。还应注意接收者1,次关键资源,被预定满直至时间=94。尽管这个逻辑并不总产生理论上的最佳调度表,但它被设计成对具有最高要求的资源是有效的。
如果调度过程被应用于一个100单位的时间段窗口而不是一个150单位的时间段窗口,在这个时间段窗口中最后的请求就会被从已调度的请求中卡掉,但会被置于队列中直至对下一个时间段窗口的调度过程重新开始。
上面的例子显示了一个所有请求的优先级都是1的请求表。在一个实施例中,支持四个不同的优先级。根据逻辑,所有最高级别的请求在任何其它优先级别的请求被考虑调度之前被调度。
一旦所有被保证的请求都被调度了,就在已存在于调度表中的被保证的请求的周围调度其它三个优先级。当调度表中已经存在连接时,计算时间段窗口大小的过程就比较复杂了,但逻辑是完全一样的。虽然ACR值(或SAV)在决定什么时间调度什么时仍然时主导因素,但同样的两个并行的资源之间的连接请求被根据优先级选择。这意味着ACR逻辑可能决定在调度一个中优先级的4到2的通信示例请求之前调度一个低优先级的4到5的通信示例请求,但绝不会在调度一个中优先级的4到5的通信示例请求之前调度它。
由于确定的连接需求可能发生在特定的时刻而不是简单地在某个时间段窗口内,就能够做出调整使这些请求绕开调度。这些固时间确定间的连接在调度开始之前进入事件表并且那些被调度的连接必须被调度在固定连接的周围。这些固时间确定间的连接明显地具有所有请求中最高的优先级。
在上述例子中,前移时间就是这样一件事,即简单地找出已经调度的连接的按时间顺序的下个结束。但是这个前移时间的过程用掉了很多循环,而这些循环最好用来执行其它功能。本优选实施例的网络调度器使用256单位的最小时间段(本例具有一个25,000时间单位的调度时间段窗口而不是前面所述的150时间单位的窗口)以减低处理的需求。尽管这对调度效率有明显的负面影响,但也存在不那么明显的正面影响。由于在时间段之间处理完较多的事件,平均地在各时间段中就有较多可供调度的资源。随着更多资源同时竞争,那些具有较高关键命中值的资源似乎不大可能被一些其它早已结束的资源所替代。这个折中的最后结果是计算循环被保存,而带宽效率并未明显受影响。
在上述例子中,所有请求被整体调度-不需要中断请求。如果任何一个请求具有比定义的时间段窗口(在上述例子中为150时间单位)长,为了能被调度,它无论如何将被分成至少两部分。如果设计中不能避免长信息,在这种情况下长的低优先级信息不大可能靠分解这个信息和使用较低的优先级指示抵挡住较高优先级的信息对同一资源的竞争。
在本优选实施例中,大于1023时间单位的请求被分解为1000时间单位的“满”块和一个可选的直至1023单位长的“部分”的块。
在本优选实施例中,因为路线(用来传递调度表的特殊信息)的变化和可能的大容量,它们是自我调度的信息。但是时间表(用来收集连接请求的信息)很小并被作为固时间确定间的连接处理(它们不被逐一调度)。用于本优选实施例的调度流程包括在第一时间段窗口中时间表的收集和线路的调度,其中第二、第三和第四时间段窗口(相应地用于信息的调度,传递调度表以及连接的实施)被按照描述的那样使用。
现在参见图13,它更详细地描述了对应于成员节点107,108的部件的代表。虽然图13沿用了图1和图5的单元编号,但它还显示了允许对应于其它节点的信息的并行发送和接收。在这种情况下,显示了主调度器106的发送逻辑1301和接收逻辑1302,与在成员节点107上的伴随发送逻辑1319和接收逻辑1320,以及在成员节点108上的另一个伴随发送逻辑1321和接收逻辑1322。路径1311,1305和1306显示了从消息载体100(带纵横接线器516)向外的向量化的信息路径。使用如前面讨论过流程循环计算机就能得到这种使特定的节点107,108,106忙于高度交叉的信息发送和接收的通信方法。节点107被更详细图示为当地调度器1307,振荡器1308,CPU1309和VCXO(晶体振荡器控制的电压)1309,并与前面描述过的当地任务表1303和已经被一般地讨论过的当地任务调度表1304一起显示出来。
现在参见聚焦在三种技术上的图14,结合它,摘要地说明了关于散布的网络,实时计算机的思考的唯一且有价值的特性,以进一步全面看清到本发明的特性。从这一点看,关键技术与计算机间的紧密同步化;时间确定的操作,包括网络通信;以及对散布的任务,特别是那些涉及网络通信的任务的中央化调度。这个简图显示了本优选实施例中实施的各种技术之间的相互关系1400,其中强调了那些被认为对于实施是关键的技术。这些基本的技术相结合就提供了一个体系结构,它能负责在散布的计算环境中的实时计算。这些技术是(1)时间确定的事件控制1422;(2)系统间的紧密同步化1423;和(3)散布的计算环境中实时系统操作的关键的任务的中央化调度1421。
这些技术间的关系被箭头显示出来,其中箭头从允许实现技术指向被允许实现技术,其中术语“允许实现”在这里被广义地地使用以描述在技术效用方面或在该技术应用的简单化方面的改进。注意许多技术是相互有益的,在这里用双向箭头指出。
下表解释了实施特性之间的关系,如图14的在紧密同步1423,优先化1424,时间确定的事件控制1422,安全1426,极限查验1425,中央化控制1421,可靠度1428,动态冗余1427和低成本1435之间的虚拟链接。
表33关键技术特征的相互作用
图中的连接 作用
1401 中央化调度确保所有网络交互作用发生在规时间确定间。在这个描述中,时间确定的第一个需求是使网络上的节点紧密同步。没有一个网络节点能知道整个网络的需要,所以在没有中央调度器的情况下,替代者或者消除所有的动态,或者实施一个可容纳这个变化的方案。靠中央化连接调度,优先化和极限查验的共同作用,(高优先级的)时间敏感的相互连接可以是时间确定的,虽然(低优先级的)高容量的相互连接可能通过变化容纳的设计而存在。
1402 在散布的计算环境中,用紧密同步化的系统,或靠提供在最坏的校准和带宽要求情况下实现适时递送的足够富裕的带宽能够获得确定性的络连接。因为这样的最坏情况的形式分析是很困难的,还因为提供富裕的带宽可能很昂贵,同步化对于时间确定就是允许实现技术。另外,在获得所需水平的同步时的困难通常与通信不确定的程度成比例。
1403 动态冗余主要允许关于失败复原的时间确定。在没有冗余时管理可能的失败局面是困难的,然而在一个有正冗余的时间确定的系统中进行失败的复原也是困难的。时间确定允许使用动态冗余,其中对动
态冗余最大的挑战之一就在于确保各方同一地运行。进而,以一个时间确定的环境,当系统的一个冗余的单元发生功能障碍时就能够被简单地靠注意到在一定的时间未发生相应的动作来诊断。该时间确定的网络包括基于时间的在分离的计算单元之间的通信。通信被基于时间来调度的事实允许动态冗余的使用。在动态冗余中,有两个或更多的计算机各自经由自己的程序指令顺序执行同一逻辑,交换这一执行的结果,然后进行裁定以给出结果。由于各计算机接收到的数据在进行裁定之前必须与其它执行同样逻辑的计算机共享这个事实,必须有某种机制来决定裁定过程开始的时间。这个机制被选定为提供在在冗余计算机之间提供同步并根据时间调度关于通信的任务。以这种方式得知裁定任务可以开始的时间。
1404 实施动态冗余的一个最难的挑战是处理各方之间的不同。在确定的检查点必须期待冗余系统的各方相互一致,并且为了保留这个值,不一致必须被消除。所有各方必须知道何时到达检查点,并且必须制定规则允许消除不同。采用中央控制,连接请求中无论是在内容上还是在时间进程上的不同都能够被减少甚至于消除,因而增加所有各方保持运行的等同的可能性。另一方面,中央化调度极大地依赖于调度单元的可用性。在存在冗余时中央化调度变得更加切实可行。
1405 中央调度需要将所有的连接请求集合在一起分析。
这允许极限查验来证明(1)某个不想要的节点到节点的组合被禁止和(2)在某个节点组合之间(可能在特定的优先级)的通信量水平不超过预定水平。
1406 靠确保不突破某个限制,极限查验增强了散布的计算系统的安全性。这些极限查验在某系统不应被允许与其它系统交互作用时帮助抵抗恶意的攻击,并抵抗意外纠纷,如合法低优先级数据对系统的过载或高优先级数据的偶然过载。
1407 信息的优先化增加了极限查验的应用。不仅能在不过分限制低优先级数据的情况下使高优先级数据成为时间确定的,而且能按信息优先级将其安置好。
1408 靠防止安全风险和靠保持时间确定,极限查验改进了系统的全面可靠性。如果没有极限查验,某个网络错误,如一个节点偶然被请求在高优先级水平的超通信量,可能损坏网络。
1409 在极限查验的实施过程中查验最高优先级通信量是否违反了通量阈值以确保没有在通道上阻碍发生在任意无错误节点间的最高优先级通信的错误。
1410 无阻塞网络体系结构允许网络实现比网络中任一特定节点的可能的通量还要高的通量。这意味着在任何特定的可与阻断网络体系结构相比的代价下有较高的带宽。
1411 当可以委托一个中央化的安全代理管理安全政策时,安全性就较容易被实现。特别在本优选实施例中,给中央调度器一个安全表,并且交互连接系统能将安全任务委托给中央管理器,只允许在一个地方而不是两个地方进行该管理。还有,同一个安全政策不必在星形图中存在的每个环境中都重复执行。
1412 靠引入中央调度器,能实施调度逻辑以便增强已接收连接请求的优先化。
1413 优先化简化了实施时间确定的任务。这是因为如程序载入这样大而非经常的任务能够被设置成在低优先级下运行,在较简单但更为关键的同级到同级通信任务上可能排除高命中操作的分析。
1415 在使用广播协议的网络上,所有网络节点都有机会看见到其它所有节点去的数据(虽然加密可能使这种观察无效)。在广播协议中不是永远实施阻断协议,除非无阻塞协议杜绝了广播的可能性,因此避免了明显的安全风险。
1416 获得可靠性的明显的方法之一是冗余的引入。
1417 通过优先化的引入,高通量这一高带宽的首要目的以两种方式受到正面影响。第一,对那些具有最大体积的数据的高通量的感知被优先化的调用以更及时的方式传递。第二,当已知那些常常必须被及时传递的高优先级的数据不会由于允许大体积低优先级的通信请求而受影响时,可允许较大体积的数据。
1418 动态冗余需要失败的单元能够从故障时间中恢复。这常常涉及到从无故障的单元交换记录的数据。为使这一交换的命中最小化,可以引入优先化以确保要恢复的单元能够恢复并且是以对健康单元的命中没有实际影响的方式恢复。
1419 某些体系结构和布局先天具有在系统停机网络停机的风险。使用无阻塞体系结构和物理电路转换虽然不是获得较高可靠性的唯一方法,但它提供了隔绝网络错误的水平。
1420 对于无阻塞的,比如那些应用了某种纵横接线器的
网络体系结构的可用带宽的有效利用,中央调度是一个允许实现技术。如果没有调度,就必须实行固定的连接模式,因此实际上减少了这些节点的通量。
1431 由于几个原因,物理电路转换技术实用起来可能是困难的,这包括与确定在任意指定的时刻应调度什么电路合适有关的挑战。如果事先知道需要,就可以事先确定电路交换器的连接模式并按照需要实施这一模式。
1432 网络中各系统有一个单独的电路或一对电路就可以实施被调度成树形布局的系统的电路转换。无阻塞体系结构的许可就允许各通道拥有它自己的通信路径。
1433 因为物理电路转换能减少对动态电路的需要,高的线路速度常常导致高网络带宽。
1436 与物理电路转换相联系的电路简化允许以较低的成本实现给定的性能。
现在参见图15,讨论了对应于各成员节点108,107(控制计算机506,记录计算机507,控制计算机504,记录计算机505,用户接口503,网络支持502和网络交换器501中的任意一个)中的调度被执行的一般处理1500。各成员节点108,107负责接收公共时钟信号;与公共时钟信号的同步;从网络交换器501中的主调度器106接收当地事件表114,116;根据接收到的当地事件表114,116形成任务执行表并且将任何未在当地事件表114,116中描述的附加任务并入此表;执行任务执行表;产生通信请求表并向网络交换器501中的主调度器106发送该通信请求表。
步骤1501和1502-由于网络如此高度依赖于一个全局的时间基准,在成员节点108,107上的第一步1501就是接收公共时钟信号。公共时钟信号被作为一个信息从网络交换器501中的主调度器106传送给各成员节点108,107。成员节点108,107在步骤1501中接收这个时钟信号,附上实际接收的时间,确认这个信息整体有效。被确认的信息被用作同步化过程的输入,并且在步骤1502中,时间信息的预期接收时间和实际接收时间之间的差别被可选地确定(时间信息的性质可选地是一个脉冲而不是载有日期的信息)。
步骤1503和1504-各成员节点108,107现在必须与公共时钟信号同步化。这个同步化的执行过程可以被分解为两个单独的任务:第一,在步骤1503中,电压控制的振荡器(1308)调整至与公共时钟信号源相匹配的频率;第二,在步骤1504中,时间校准至被公共时钟信号定义的各时间周期的起点在成员节点108,107和在网络交换器501中的主调度器106中发生在同一时间。
步骤1505-一旦完成了成员节点108,107到网络交换器501中的主调度器106的同步化,成员节点108,107必须从网络交换器501中的主调度器106接收当地事件表114,116。当地事件表114,116包含着涉及这个成员节点的通信的调度表。注意当地事件表114,116的接收本身是被网络交换器501中的主调度器106调度的。因此,第一次接收当地事件表114,116的节点必须在任何可能接收当地事件表114,116的时间都是可用的,以接收这个信息。
步骤1506-对成员节点108,107下一步是形成任务执行表。这个任务执行表是由当地事件表114,116和成员节点108,107必须执行的但当地事件表114,116没有描述的附加任务形成的。从网络交换器501中的主调度器106传来的当地事件表114,116提供了与发送和接收任务相关的时间调度。为了形成任务执行表,必须进行下列子步骤:
子步骤1506A:调整从网络交换器501中的主调度器106接收到的起始时间以计入传播延迟。从网络交换器501中的主调度器106接收到的时间调度是关于网络交换器501中的主调度器106的。虽然成员节点108,107与网络交换器501中的主调度器106同步化了,但在通过通信媒体的传播中仍然存在本征延迟。要么网络交换器501中的主调度器106必须计入这个延迟,要么通信时间段窗口必须足够大以至能将这个本征延迟作为拨给这次连接的时间的额外开销包括在内。在本优选实施例中,这个延迟被成员节点计入。
子步骤1506B:调度那些依赖于通信任务的任务。有些任务必须在发送前调度(例如从存储器中发出的数据的传送);还有些任务必须在接收后调度(例如冗余计算环境下多个不同的源之间的数据裁定以及向存储器传送数据)。成员节点108,107负责调度这些任务。
子步骤1506C:调度那些既未当地事件表114,116描述,也不依赖于通信的任务。这些是在与通信相关的任务之外成员节点108,107必须完成的任务。这些任务可能是为了其它I/O操作、局域化显示等。
步骤1507-对成员节点108,107下一步是执行任务执行表。表中的各任务包含着将被执行的任务,任务的起始时间和任何成功地完成该任务所必需的参数。
步骤1508-对成员节点108,107现在形成通信请求表,它是成员节点108,107想要与之通信的成员节点108,107的表。该通信请求表包含的信息是源节点指示符,目标节点指示符和通信总长度。
步骤1509-通信请求表被传送给网络交换器501中的主调度器106以便在其调度中考虑它。这时,成员节点108,107已经完成了在这个特定的时间周期内所有必需的作用。下一步1510是确定是否到了接收下一个参考时刻信息的时间。如果是,那么整个过程就从最早的第一步1501开始重复它本身。如果还未到接收下一个参考时刻信息的时间,那么成员节点的逻辑可能进入步骤1505。
作为一个深思熟虑的实施例,图16以数据流简图1600表示了图1的一般的数据流简图130,其中以射频的方式完成通信,并且经射频发送器和接收器完成发送1601,1602和1603。
通过使用被认为是专用的计算机的的设备使本发明得以实施,在一个实施例中这些计算机是将计算机与指向进程控制的专项功能的计算机程序代码(换言之,例如,软件或逻辑,这里逻辑指的是被许可电路系统或给许可电路系统执行的软件)结合起来创建的,以便当它与一个电源连接时,就被通电并被激活以执行它的计算机程序代码(软件),该专用计算机在计算机程序代码引导下执行关于本发明的专项功能。该计算机包括一个被称为中央处理单元的电活性部件,至少一个与中央处理单元相连的物理存储器,一个可选的与中央处理单元相连的输入键盘,一个可选的与中央处理单元相连的输出显示(它可包括但不限于打印机、其输出为打印出的纸张的打印终端,阴极射线管显示器,和/或平板显示器),一个计算机时钟脉冲发生器和一个为计算机的所有电活性部件供应能量的电源连线。进而中央处理器有一个控制总线和为暂时容纳数据(例如注册器或叠加器)或为执行基本数据处理操作(例如加法电路)的专用计算机电路;该专用计算机电路在通信中通过闩锁电路与控制总线相连,这个闩锁电路可以独立地处于传导(通信)状态或非传导(非通信)状态;在特时间确定刻所有闩锁电路状态的集合决定了中央处理器的特定状态;并且当计算机程序代码的单独的指令被中央处理单元连续访问以及时钟脉冲发生器的输出指向这些闩锁电路时,中央处理器的状态被相应地调整和改变。该计算机还可选地有商用操作系统的形式的计算机程序代码,这个操作系统作为计算机程序代码的操作平台起作用,使指向本发明的专项功能的专用计算机程序代码能够被执行。概括地说,在这个实施例中的本发明用和通过多台计算机被应用于优选实施例中,在执行指定的使用目的和上述系统的实际应用之前这些计算机已经被编程以提供给技术;各计算机作为实现功能的媒体起作用,而这个功能是由计算机程序代码的功能所提供的。在某些实施例中,在某些扩展形式的专用计算机中可能用电、光或射频信号通信接口和通信媒体实施通信链接,这些接口和媒体共同使用用电能的发送器和接收器,它们直接或间接地与至少一个中央处理单元相连。
驻留在计算机中的计算机程序代码提供了这种设备的至少一个部件。计算机程序代码可能是交互连接模块、例程和子例程、程序对象、和/或安装的交互作用过程的形式,但不限于这些形式。在一些现有的计算机设计中,现代的专用集成电路(ASIC)计算机程序代码可能至少被与传统的不需时钟脉冲执行简化逻辑方案的硬布线门装置相似的硬布线电路部分地表达。这个描述的图显示了在计算机程序代码中的关键模块和部件之间的大量结构关系和使本发明的设备的功能能够实现的本发明的其它方面;在这一点上,在硬件和软件的结合之外构造了系统中的计算单元。
以上以图示的方式描述了本发明。这一点上,对那些熟悉本技术的人来说是明显的,一旦给出了前面公开的好处,现在就可能对在这里描述的特定实施例作出修改而不背离本发明的精神。这样的修改被认为是包含在本发明的范围之内的,这个范围仅仅被附录的权利要求的范围和精神所限制。

Claims (21)

1.一种由计算机实施的方法,它允许在交互式数据通信中多个计算机节点以协同的方式执行逻辑,包括步骤:
在所说的多个计算机节点之间校准时间以便各计算机节点具有基本上相同的实时时间;
为每个计算机节点确定一个通信调度表,上述调度表为在未来开始各相应的通信确定了不同的时间;
向相应的计算机节点传送它的调度表;
按它的调度表在适当的时间从各节点开始通信。
2.一种网络体系结构,包括:
支持多通信路径的消息载体;
与上述消息载体相连的多台计算机,上述计算机被编程靠通过多个不同运行状态,包括通信状态的循环来执行时间确定的任务;
可以被上述计算机访问的用来在上述计算机中保持同步的时钟系统;
与上述消息载体相连的调度器,它靠引起上述消息载体根据被上述计算机执行的上述时间确定的任务在选定的计算机之间建立通信来确定上述计算机之间的通信顺序。
3.一种由计算机实施的方法,它允许多个计算机节点中的一个节点以与上述多个计算机节点中的其它计算机协同的方式执行逻辑,包括步骤:
将消息载体连接到上述多个计算机节点中各计算机节点;
在一个计算机节点中提供主调度能力以建立主调度器;
在各计算机节点中确定相应于一个未来时间周期的上述计算机节点所需的与其它计算机节点的各次通信的通信请求表;
从各计算机节点经由上述消息载体向上述主调度器发送上述通信请求表;
在各计算机节点中经由上述消息载体从上述主调度器接收通信调度表;
在各计算机节点中从上述通信调度表中确定一个当地任务表。
4.一种由计算机实施的方法,它允许多个成员节点以协同方式执行逻辑,包括步骤:
将消息载体连接到上述多个成员节点中各成员节点;
在经由上述消息载体与上述各成员节点的数据通信中提供一个主调度器;
为上述多个成员节点确定一个参考时刻时间值;
经由上述消息载体向上述各成员节点和上述主调度器传送上述参考时刻时间值;
在各上述成员节点中确定一个通信请求表来显示在一个未来时间周期内上述成员节点所需的与其它成员节点的通信;
从各成员节点经由上述消息载体向上述主调度器传送上述通信请求表;
在上述主调度器中确定在通信事件时间各成员节点之间的已调度的通信,这些时间对应于上述参考时刻时间值以及在各上述接收到的通信请求表中的各上述通信表;
在上述主调度器中为各成员节点确定对应于上述已调度的通信的通信调度表;
从上述主调度器经由上述消息载体向各相应成员节点传送上述通信调度表;
在上述各成员节点中确定在上述参考时刻时间值和将上述参考时刻时间值传送给上述成员节点时的时间之间的时差;
在上述各成员节点中由上述通信调度表和上述时差为成员节点确定当地任务调度表,以便该成员节点在上述已调度的通信事件时间经由上述消息载体与其它成员节点通信;
根据上述当地任务调度表经由上述消息载体执行上述对应于各已调度通信的成员节点之间已调度的通信。
5.如权利要求4的方法,其中上述确定参考时刻时间值的步骤由上述主调度器执行。
6.如权利要求4的方法,其中上述的在各成员节点中确定通信请求表的步骤限制了上述通信在上述未来时间周期中的最大数量。
7.如权利要求4的方法,其中各通信具有持续时间属性并且上述持续时间属性值小于一个固定的极大值。
8.如权利要求4的方法,其中上述为多个成员节点确定参考时刻时间值的步骤由全局时间系统来执行。
9.一种由计算机实施的方法,它允许多个成员节点以协同方式执行逻辑,包括步骤:
将消息载体连接到上述多个成员节点中各成员节点,各节点都具有一个中央处理单元;
在经由上述消息载体与上述各成员节点的数据通信中提供一个主调度器;
为上述多个成员节点确定一个作为一个时刻的时间的参考时刻时间值;
经由上述消息载体向上述各成员节点和上述主调度器传送上述参考时刻时间值;
在各上述成员节点中将上述成员节点所需的对任何其它成员节点的访问确定进一个通信请求表中,以获得对应于一个未来时间周期的未来任务时间段;
从各成员节点经由上述消息载体向上述主调度器传送上述通信请求表;
在上述主调度器中确定对应于上述成员节点所需的对任何其它成员节点的各次访问的通信事件数据对象以获得未来任务时间段,上述通信事件数据对象具有一个访问成员标识属性值,一个被访问成员标识属性值和一个访问时长属性值;
在上述主调度器中将所有确定的通信事件数据对象收集进通信事件系列中;
在上述主调度器中为在上述在通信事件系列中的各成员节点确定一个总被访问值作为对应于上述成员节点所有具有被访问成员节点标识属性值的通信事件数据对象中所有访问时长属性值的总和;
在上述主调度器中为在上述在通信事件系列中的各成员节点确定一个总访问值作为对应于上述成员节点所有具有访问成员节点标识属性值的通信事件数据对象中所有访问时长属性值的总和;
在上述主调度器中将对应于上述参考时刻时间值的在下列访问成员节点和被访问成员节点之间的未来通信任务调度进最早可用时间,该访问成员节点具有对应于上述通信事件系列的最高总访问值,在通信事件系列中对应于被访问成员标识属性值的该被访问成员节点在所有通信事件数据对象中具有对应于上述访问节点的最高关联访问时长属性值,上述未来的通信任务具有与调度表中的最早可用时间相等的任务起始时间、对应于访问成员节点的访问成员节点标识属性值和对应于被访问成员节点的被访问成员节点标识属性值;
在上述主调度器中删除已调度的未来通信任务中对应于被访问成员节点标识属性的通信事件数据对象和在已调度的未来通信任务中该被访问成员节点标识属性以重新对那些尚未被调度的通信事件数据对象确定通信事件系列;
在上述主调度器中对应于重新确定的通信事件系列重复确定总被访问值,确定总访问值,调度未来通信任务,和删除所有对应于已调度的成员节点的通信事件数据对象的步骤,直至所有通信事件数据对象都被调度进各成员节点的通信调度表为止;
从上述主调度器经由上述消息载体向各相应成员节点发送上述通信调度表;
在各成员节点中确定在上述参考时刻时间值和将上述参考时刻时间值传送给上述成员节点时的时间之间的时差;
在各成员节点中由上述通信调度表和上述时差为成员节点确定当地任务调度表以便该成员节点在上述已调度的通信事件时间经由上述消息载体与其它成员节点通信;
根据上述当地任务调度表经由上述消息载体执行对应于各已调度通信事件的成员节点之间的已调度的通信;
10.一种为调度作为一个集体组起作用的多个成员对象中的成员对象之间的通信任务的由计算机实施的方法,包括下列步骤:
提供一个计算机;
在上述计算机中为各成员对象确定与上述成员对象所需的对任何其它成员对象的各次访问对应的通信事件数据对象以获得一个未来任务时间段,上述通信事件数据对象具有访问成员标识属性值,被访问成员标识属性值和访问时长属性值;
在上述计算机中将所有已确定的通信事件数据对象收集进一个通信事件系列;
在上述计算机中为在上述在通信事件系列中的各成员对象确定一个总被访问值作为对应于上述成员对象的所有具有被访问成员对象标识属性值的通信事件数据对象中所有访问时长属性值的总和;
在上述计算机中为在上述在通信事件系列中的各成员对象确定一个总访问值作为对应于上述成员对象所有具有访问成员对象标识属性值的通信事件数据对象中所有访问时长属性值的总和;
确定在对应于调度表的一个调度周期内一系列连续的未来时间段;
在上述计算机中,基于在上述通信事件系列中第一个可用通信事件数据对象,将未来通信任务调度进第一个时间段中的最早可用时间中,该通信发生在
具有对应于上述通信事件系列的最高上述访问值的访问成员对象和
具有对应于上述通信事件系列的最高上述被访问值的被访问成员对象之间,如果在上述被访问成员对象和上述访问成员对象之间存在通信事件数据对象的话,
上述未来的通信任务具有与调度表中的最早可用时间相等的任务起始时间、对应于访问成员的访问成员对象对象标识属性值、对应于被访问成员对象的被访问成员对象标识属性值和上述访问时长属性值;
在上述计算机中从调度候选者中删除在已调度的未来通信任务中对应于被访问成员对象标识属性的通信事件数据对象和在已调度的未来通信任务中的该被访问成员对象标识属性以重新对那些尚未被调度的通信事件数据对象确定通信事件系列;
在上述计算机中对应于重新确定的通信事件系列重复确定总被访问值,确定总访问值,调度未来通信任务,和删除所有对应于已调度的成员对象的通信事件数据对象的步骤,直至所有可以被调度进上述第一个未来时间段中的通信事件数据对象都被调度了为止;
在上述计算机中对应于重新确定的通信事件系列并随之对应于上述多个未来时间段的剩余部分再次执行确定总被访问值,确定总访问值,调度未来通信任务,和删除所有对应于已调度的成员对象的通信事件数据对象的步骤,并且重复这些步骤直至所有可以被调度进上述各未来时间段中的通信事件数据对象都被调度了,且所有通信事件数据对象都被调度进了上述调度周期为止。
11.如权利要求10的方法,其中上述确定被局限于在预定的时间周期中所需的未来任务时间段,并且上述调度也对应于上述预定的时间周期。
12.如权利要求11的方法,进而包括将消息载体与上述多个成员对象中的各成员对象相连接的步骤,上述消息载体具有允许上述通信事件并行的多个通道,对应于上述多个通道上述调度步骤被作为一个整体实施,其中上述最早可用时间是对应于上述消息载体中任意一个通道的。
13.如权利要求12的方法,其中上述各成员对象是用上述消息载体的数据通信中的成员节点,各成员节点都具有一个中央处理单元。
14.一种为作为一个集体组起作用的多个资源对象中的成员对象调度任务的由计算机实施的方法,包括下列步骤:
提供一个计算机;
在上述计算机中为上述集体组确定一系列未来任务;
在上述计算机中为一系列未来任务中的各未来任务确定各资源对象;
在上述计算机中确定任意两个资源对象之间对应于上述一系列未来任务的各次交互作用;
在上述计算机中为获得上述各次交互作用为上述各资源对象确定使用示例,上述使用示例具有使用时长属性值;
在上述计算机中确定对应于上述使用示例的访问资源对象和被访问资源对象;
首先,在上述计算机中对各访问资源对象确定一个总访问时间值作为所有对应于作为访问资源对象的资源对象的上述使用示例的所有使用时长属性值的总和;
然后,在上述计算机中对各访问资源对象确定一个总被访问时间值作为所有对应于作为被访问资源对象的资源对象的上述使用示例的所有使用时长属性值的总和;
在上述计算机中确定一系列在对应于调度表的调度周期内的未来时间段;
在上述计算机中将基于在上述一系列未来任务中的第一个可执行任务的未来资源交互作用事件调度进第一个未来时间段中的最早可用时间,这个交互作用发生在:
具有对应于上述一系列未来任务的最高上述访问值总和的访问资源对象和
具有对应于上述一系列未来任务的最高上述被访问值总和的被访问资源对象之间,如果在上述被访问资源对象和上述访问资源对象之间存在上述一系列未来任务的话,
上述未来资源交互作用事件具有与调度表中的最早可用时间相等的任务起始时间、对应于访问资源对象标识属性值的访问资源对象、对应于被访问资源对象的被访问资源对象标识属性值和上述使用时长属性值;
在上述计算机中从调度候选者中删除在已调度的未来资源交互作用事件中对应于被访问资源对象的使用示例和在已调度的未来资源交互作用事件中的该被访问成员对象标识属性以重新对那些尚未被调度的交互作用确定未来任务系列;
在上述计算机中对应于重新确定的未来任务系列重复确定总被访问值,确定总访问值,调度未来通信任务,和删除所有对应于已调度的资源对象的使用示例的步骤,直至所有可以被调度进上述第一个未来时间段中的使用示例都被调度了为止;
在上述计算机中对应于重新确定的未来任务系列并随之对应于上述多个未来时间段的各剩余部分再次执行确定总被访问值,确定总访问值,调度未来资源交互作用事件,和删除所有对应于已调度的资源对象的资源对象的步骤,并且重复这些步骤直至所有可以被调度进上述各未来时间段中的通信事件数据对象都被调度了,且所有资源交互作用事件都被调度进了上述调度周期为止。
15.一种计算机实施的装置,它允许在交互式数据通信中多个计算机节点以协同的方式执行逻辑,包括:
在上述多个计算机节点之间校准实时时间以使各计算机节点具有完全相同的实时时间的装置;
为各计算机节点确定通信调度表的装置,上述调度表具有在未来开始各相应任务的不同时间;
向相应的计算机节点传送各调度表的装置;
在其调度表上确定的时间从各节点开始各通信的装置。
16.一种具有消息载体的计算机实施的装置,包括:
多个成员节点,各成员节点都在与上述消息载体进行数据通信,各成员节点具有
一个中央处理单元,
用来从上述消息载体接收带有参考时刻时间值的参考时刻信息和用来确定上述参考时刻时间值和接收上述的参考时刻信息之差的时间相移逻辑,
用来标识在未来时间周期中上述成员节点所需的各节间通信和用来建立对应于所有上述节间通信的通信请求表的通信确定逻辑,
用来经由上述消息载体向上述主调度器传送上述通信请求表的通信请求发送逻辑,
用来经由上述消息载体从上述主调度器接收上述通信调度表的通信任务接收逻辑,
用来从上述通信调度表和上述时差确定当地任务调度表的任务集成逻辑,
用来根据上述当地任务调度表经由上述消息载体与其它成员节点通信的通信实施逻辑,
在经由上述消息载体与上述多个成员节点数据通信中的主调度器,上述主调度器具有被中央处理单元执行的调度器逻辑,上述调度器逻辑具有
用来确定作为时间中的一个时刻的上述参考时刻时间值的参考时刻确定逻辑,
用来创建具有上述参考时刻时间值的参考时刻信息和用来经由上述消息载体传送上述参考时刻信息的参考时刻通信逻辑,
用来经由上述消息载体从上述成员节点接收上述各通信请求表的通信请求接收逻辑,
用来调度在对应于上述参考时刻时间值的通信事件时间在成员节点之间的和对应于在上述各接收到的通信请求表中列出的上述各节间通信的通信以及用来进一步为对应于上述已调度的通信的各成员节点确定通信请求表的通信调度表确定逻辑,
用来经由上述消息载体向相应的成员节点发送上述各通信调度表的成员节点通信调度响应逻辑。
17.如权利要求16的装置,其中各成员节点还包括一个可变速振荡器。
18.如权利要求16的装置,其中各成员节点还包括时间校准逻辑和振荡器速率调节逻辑。
19.如权利要求16的装置,其中上述消息载体包括一个纵横接线器。
20.如权利要求16的装置,其中上述消息载体包括一个网络布局。
21.如权利要求16的装置,其中上述消息载体包括一个射频通信系统。
CN99806614.1A 1998-05-26 1999-03-26 采用实时调度逻辑和时间确定结构的分布式计算环境 Pending CN1303497A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8673798P 1998-05-26 1998-05-26
US60/086,737 1998-05-26

Publications (1)

Publication Number Publication Date
CN1303497A true CN1303497A (zh) 2001-07-11

Family

ID=22200563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99806614.1A Pending CN1303497A (zh) 1998-05-26 1999-03-26 采用实时调度逻辑和时间确定结构的分布式计算环境

Country Status (7)

Country Link
EP (1) EP1084470B1 (zh)
JP (1) JP2002517035A (zh)
CN (1) CN1303497A (zh)
AT (1) ATE245833T1 (zh)
CA (1) CA2331860A1 (zh)
DE (1) DE69909791T2 (zh)
WO (1) WO1999061985A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716884B (zh) * 2004-06-14 2010-05-05 微软公司 用于监察网络的系统和方法
CN101132270B (zh) * 2007-08-02 2010-09-08 北京航空航天大学 多节点协调的时间一致性管理方法
CN101124560B (zh) * 2004-07-30 2012-01-18 费希尔-罗斯蒙德系统公司 发送调度和非调度消息的设备及其定时和控制方法
CN102457370A (zh) * 2010-10-27 2012-05-16 金蝶软件(中国)有限公司 一种虚拟集群同步信号生成方法、装置和系统
CN1708951B (zh) * 2002-10-23 2012-05-30 夏普株式会社 通信管理方法、中央控制台、通信台、通信管理程序及记录媒体
CN103262064A (zh) * 2010-12-16 2013-08-21 Et国际有限公司 分布式计算体系结构
CN103377083A (zh) * 2012-04-27 2013-10-30 西门子公司 用于运行冗余的自动化系统的方法
CN104781817A (zh) * 2012-09-18 2015-07-15 西门子公司 多个可编程逻辑控制器仿真器
CN107168790A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种作业的调度方法及装置
CN110535706A (zh) * 2019-09-02 2019-12-03 成都吉胜科技有限责任公司 一种基于局域网的自动协同调度方法
WO2022142530A1 (zh) * 2020-12-29 2022-07-07 浙江中控技术股份有限公司 一种工业控制系统令牌调度时间自适应的方法

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7331048B2 (en) 2003-04-04 2008-02-12 International Business Machines Corporation Backfill scheduling of applications based on data of the applications
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US8234395B2 (en) * 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
CN100362522C (zh) * 2006-03-31 2008-01-16 北京飞天诚信科技有限公司 软件保护装置中的实时时钟校准方法
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9307508B2 (en) 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
AT514444A2 (de) * 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Verfahren und Vorrichtung zur zeitrichtigen Datenübergabe an die zyklischen Tasks in einem verteilten Echtzeitsystem
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US20150095679A1 (en) 2013-09-30 2015-04-02 Sonos, Inc. Transitioning A Networked Playback Device Between Operating Modes
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
CN103530742B (zh) * 2013-10-28 2019-01-29 金蝶软件(中国)有限公司 提高排程运算速度的方法及装置
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
EP3114625A1 (en) 2014-09-24 2017-01-11 Sonos, Inc. Social media connection recommendations based on playback information
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4724517A (en) * 1982-11-26 1988-02-09 Inmos Limited Microcomputer with prefixing functions
DE3483007D1 (de) * 1984-11-30 1990-09-20 Inmos Ltd Mikrorechner fuer zeitabhaengige prozesse.

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708951B (zh) * 2002-10-23 2012-05-30 夏普株式会社 通信管理方法、中央控制台、通信台、通信管理程序及记录媒体
CN1716884B (zh) * 2004-06-14 2010-05-05 微软公司 用于监察网络的系统和方法
CN101124560B (zh) * 2004-07-30 2012-01-18 费希尔-罗斯蒙德系统公司 发送调度和非调度消息的设备及其定时和控制方法
CN101132270B (zh) * 2007-08-02 2010-09-08 北京航空航天大学 多节点协调的时间一致性管理方法
CN102457370A (zh) * 2010-10-27 2012-05-16 金蝶软件(中国)有限公司 一种虚拟集群同步信号生成方法、装置和系统
US10620988B2 (en) 2010-12-16 2020-04-14 Et International, Inc. Distributed computing architecture
CN103262064A (zh) * 2010-12-16 2013-08-21 Et国际有限公司 分布式计算体系结构
CN103377083A (zh) * 2012-04-27 2013-10-30 西门子公司 用于运行冗余的自动化系统的方法
US9389971B2 (en) 2012-04-27 2016-07-12 Siemens Aktiengesellschaft Redundant automation system and method for operating the redundant automation system
CN103377083B (zh) * 2012-04-27 2017-10-31 西门子公司 用于运行冗余的自动化系统的方法
CN104781817A (zh) * 2012-09-18 2015-07-15 西门子公司 多个可编程逻辑控制器仿真器
CN107168790A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种作业的调度方法及装置
CN107168790B (zh) * 2017-03-31 2020-04-03 北京奇艺世纪科技有限公司 一种作业的调度方法及装置
CN110535706A (zh) * 2019-09-02 2019-12-03 成都吉胜科技有限责任公司 一种基于局域网的自动协同调度方法
WO2022142530A1 (zh) * 2020-12-29 2022-07-07 浙江中控技术股份有限公司 一种工业控制系统令牌调度时间自适应的方法

Also Published As

Publication number Publication date
EP1084470B1 (en) 2003-07-23
WO1999061985A1 (en) 1999-12-02
CA2331860A1 (en) 1999-12-02
DE69909791T2 (de) 2004-04-22
EP1084470A1 (en) 2001-03-21
DE69909791D1 (de) 2003-08-28
JP2002517035A (ja) 2002-06-11
ATE245833T1 (de) 2003-08-15

Similar Documents

Publication Publication Date Title
CN1303497A (zh) 采用实时调度逻辑和时间确定结构的分布式计算环境
CN1993674A (zh) 多芯架构中的资源管理
CN1114859C (zh) 数据共享方法和计算机体系结构
Zhu et al. Real-time tasks oriented energy-aware scheduling in virtualized clouds
Muthuvelu et al. A dynamic job grouping-based scheduling for deploying applications with fine-grained tasks on global grids
CN1280716C (zh) 计算机处理方法、分布式计算方法和网络计算方法
CN1776622A (zh) 高性能计算(hpc)系统中的调度式
CN1256671C (zh) 管理资源争用的方法和装置
CN1777107A (zh) 高性能计算(hpc)系统中的按需式例示
CN103986669B (zh) 一种云计算中资源分配策略的评估方法
CN102063376A (zh) 一种测试用例选取方法
CN1906586A (zh) 用于在多处理器系统中处置处理错误的方法和设备
CN1115883A (zh) 数据处理系统用的电能管理方法与系统
CN1784656A (zh) 监控数据处理系统中的操作数据
CN104050042A (zh) Etl作业的资源分配方法及装置
CN1711523A (zh) 用于管理多系统群集中资源争用的方法和装置
Djigal et al. Task scheduling for heterogeneous computing using a predict cost matrix
CN112306719A (zh) 一种任务调度方法与装置
CN116467076A (zh) 一种基于集群可用资源的多集群调度方法及系统
Li et al. MapReduce task scheduling in heterogeneous geo-distributed data centers
CN111782627B (zh) 面向广域高性能计算环境的任务与数据协同调度方法
US20100251256A1 (en) Scheduling Data Analysis Operations In A Computer System
US6941183B1 (en) Method and apparatus for selecting tools in manufacturing scheduling
Wattanapongsakorn et al. Reliability optimization models for fault-tolerant distributed systems
CN109976890A (zh) 一种最小化异构私有云计算资源能耗的变频方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: DOW GLOBAL TECHNICAL COMPANY

Free format text: FORMER OWNER: THE DOW CHEMICAL CO.

Effective date: 20030509

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030509

Address after: Michigan

Applicant after: Dow Global Technologies Inc.

Address before: Michigan

Applicant before: The Dow Chemical Co.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1075108

Country of ref document: HK