资源分配或资源释放的方法和装置

申请号 CN201380062711.5 申请日 2013-11-21 公开(公告)号 CN104823407A 公开(公告)日 2015-08-05
申请人 泰利斯加拿大公司; 发明人 亚伦·阿莫里姆;
摘要 一种通过资源控制设备分配资源的方法,包括:从发送设备接收资源 请求 设备请求的资源设备的列表。执行资源设备的列表上的第一资源设备的分配。如果资源设备的列表上的第一资源设备被成功分配用于资源请求设备并且第一资源设备不是资源设备的列表上的最后的资源设备,则向下一资源控制设备发送剩余资源设备的列表。如果资源设备的列表上的第一资源设备没有被成功分配用于资源请求设备,则向发送设备发送分配失败消息。
权利要求

1.一种通过资源控制设备分配资源的方法,包括:
通过所述资源控制设备的处理器从发送设备接收第一资源请求设备请求的资源设备的第一列表;
如果第一资源设备与所述资源控制设备相关联并且所述第一资源请求设备被授权,则执行所述资源设备的第一列表上的第一资源设备的分配;
如果所述资源设备的第一列表上的第一资源设备被成功分配用于所述第一资源请求设备并且所述第一资源设备不是所述资源设备的第一列表上的最后的资源设备,则向下一资源控制设备发送剩余资源设备的列表,所述剩余资源设备的列表上的第一资源设备与所述下一资源控制设备相关联;以及
如果所述资源设备的第一列表上的第一资源设备没有被成功分配用于所述第一资源请求设备,则向所述发送设备发送分配失败消息。
2.根据权利要求1所述的方法,还包括:
如果所述资源设备的第一列表上的第一设备被成功分配用于所述第一资源请求设备并且所述第一资源设备是所述资源设备的第一列表上的最后的资源设备,则向所述第一资源请求设备发送分配完成消息。
3.根据权利要求1所述的方法,还包括:
如果所述资源设备的第一列表上的第一资源设备被成功分配用于所述第一资源请求设备并且(1)所述第一资源设备是所述资源设备的第一列表上的最后的资源设备或者(2)接收到来自所述下一资源控制设备的分配完成消息,则向所述发送设备发送分配完成消息。
4.根据权利要求1所述的方法,还包括:
从所述下一资源控制设备接收分配失败消息;以及
响应于来自所述下一资源控制设备的分配失败消息,释放所述资源设备的第一列表上的第一资源设备的分配。
5.根据权利要求1所述的方法,还包括:
接收来自所述下一资源控制设备的分配失败消息;以及
响应于来自所述下一资源控制设备的分配失败消息,向另一个下一资源控制设备发送用于所述第一资源请求设备的剩余资源设备的可选列表,所述剩余资源设备的可选列表上的第一资源设备与所述另一个下一资源控制设备相关联。
6.根据权利要求1所述的方法,还包括:
从另一发送设备接收用于第二资源请求设备的资源设备的第二列表,所述资源设备的第二列表上的第一资源设备是所述资源设备的第一列表上的第一资源设备;以及在接收到关于所述剩余资源设备的列表上的所有资源设备是否都被成功分配用于所述第一资源请求设备的确认之后,执行用于所述第二资源请求设备的资源设备的第二列表上的第一资源设备的分配。
7.根据权利要求6所述的方法,其中,以先来先服务的原则执行用于所述第一资源请求设备或所述第二资源请求设备的资源设备的第二列表上的第一资源设备的分配。
8.根据权利要求1所述的方法,还包括:
如果所述资源设备的第一列表上的第一资源设备不与所述资源控制设备相关联,则向所述发送设备发送所述分配失败消息。
9.根据权利要求1所述的方法,还包括:
如果所述第一资源请求设备在授权的资源请求设备的预定列表上,则确定所述第一资源请求设备被授权。
10.一种通过资源控制设备释放资源的方法,包括:
通过所述资源控制设备的处理器从发送设备接收用于第一资源请求设备的将被释放的资源设备的列表;
如果所述资源设备的列表上的第一资源设备与所述资源控制设备相关联并且所述第一资源设备当前被分配用于所述资源请求设备,则执行第一资源设备的释放;
如果所述资源设备的列表上的第一资源设备不是所述资源设备的列表上的最后的资源设备,则向下一资源控制设备发送用于所述资源请求设备的将被释放的剩余资源设备的列表,所述剩余资源设备的列表上的第一资源设备与所述下一资源控制设备相关联;以及如果所述资源设备的列表上的用于所述资源请求设备的第一资源设备没有成功释放,则向所述发送设备发送释放失败消息。
11.根据权利要求10所述的方法,还包括:
如果所述资源设备的列表上的用于所述资源请求设备的第一资源设备被成功释放并且所述第一资源设备是所述资源设备的列表上的最后的资源设备,则向所述第一资源请求设备发送释放完成消息。
12.根据权利要求10所述的方法,还包括:
如果所述资源设备的列表上的用于所述资源请求设备的第一资源设备被成功释放并且(1)所述第一资源设备是所述资源设备的列表上的最后的资源设备或者(2)接收到来自所述下一资源控制设备的释放完成消息,则向所述发送设备发送释放完成消息。
13.根据权利要求10所述的方法,还包括:
将关于所述剩余资源设备的列表上的资源设备的一个或多个释放失败消息和释放完成消息回馈至所述发送设备。
14.根据权利要求10所述的方法,还包括:
如果所述资源设备的列表上的第一资源设备不与所述资源控制设备相关联,则向所述发送设备发送所述释放失败消息。
15.一种资源控制设备,包括:
通信接口,被配置为与资源请求设备和另一资源控制设备通信;以及
处理器,被配置为与一个或多个资源设备耦合,所述处理器被配置为:
接收将被分配或释放的用于所述资源请求设备的资源设备的列表;
如果所述资源设备的列表上的第一资源设备与所述处理器耦合,则执行所述第一资源设备的分配或释放;和
如果所述第一资源设备不是所述资源设备的列表上的最后的资源设备,则向所述另一资源控制设备发送剩余资源设备的列表,所述剩余资源设备的列表上的第一资源设备与所述另一资源控制设备相关联。
16.根据权利要求15所述的资源控制设备,其中,所述处理器执行的分配还包括:
如果所述资源设备的列表上的第一资源设备当前被设置为未分配状态,则所述处理器将用于所述资源请求设备的第一资源设备设置为已分配状态。
17.根据权利要求15所述的资源控制设备,其中,所述处理器执行的分配还包括:
如果所述资源设备的列表上的第一资源设备当前被设置为未分配状态资源并且所述剩余资源设备的列表不为空,则所述处理器将所述第一资源设备设置为等待状态;以及如果所述资源设备的列表上的第一资源设备当前被设置为等待状态,则所述处理器在接收到用于所述剩余资源设备的列表上的所有资源设备的分配确认之后,将用于所述资源请求设备的第一资源设备设置为已分配状态。
18.根据权利要求15所述的资源控制设备,其中,所述处理器执行的分配还包括:
如果所述资源设备的列表上的第一资源设备当前被设置为未分配状态并且所述剩余资源设备的列表不为空,则所述处理器将所述第一资源设备设置为等待状态;以及如果所述资源设备的列表上的第一资源设备当前被设置为等待状态,则所述处理器在接收到用于所述剩余资源设备的列表上的所有资源设备的分配失败消息之后,将所述第一资源设备设置为未分配状态。
19.根据权利要求15所述的资源控制设备,其中,所述处理器还被配置为:
如果所述第一资源设备是所述资源设备的列表上的最后的资源设备,则向所述资源请求设备发送表示分配完成或释放完成的消息。
20.根据权利要求15所述的资源控制设备,其中,所述处理器还被配置为:
确定所述资源请求设备是否在授权的资源请求设备的预定列表上;以及如果所述资源请求设备不在所述授权的资源请求设备的预定列表上,则忽略将被分配用于所述资源请求设备的资源设备的列表。

说明书全文

资源分配或资源释放的方法和装置

背景技术

[0001] 指导交通系统包括多个信令和引导部件(也被称为资源设备),用于为交通系统的车辆限定和互路线段。指导交通系统中的车辆被分配有沿着指定路线从起点移动向终点的任务,其中指定路线包括通过对应的资源设备限定的一条或多条路线段。车辆必须在开始执行任务之前确认需要执行该任务的所有资源设备已经被分配给车辆。在一些情况下,资源设备需要用于具有不同分配路线的多个车辆,因此多个车辆相互竞争资源设备的分配。附图说明
[0002] 在附图中,通过实例而非限制的方式示出了一个或多个实施例,在通篇描述中,具有相同参考标号的元件表示类似的元件,其中:
[0003] 图1是根据一个或多个实施例的交通系统的系统图;
[0004] 图2A和图2B是根据一个或多个实施例的资源设备的示例性列表的示图;
[0005] 图3是根据一个或多个实施例的用于资源请求设备的资源分配的方法的流程图
[0006] 图4A和图4B是根据一个或多个实施例的示例性资源竞争情况的示图;
[0007] 图5是根据一个或多个实施例的用于资源请求设备的资源释放的方法的流程图;
[0008] 图6是根据一个或多个实施例的资源控制设备的框图;以及
[0009] 图7是根据一个或多个实施例的示例性路系统的系统图。

具体实施方式

[0010] 以下公开内容提供了许多不同的实施例或实例,用于实现本发明的不同特征。以下将描述部件或布置的特定实例以简化本发明。当然,这些仅是实例并且不意欲限制本发明。根据工业中的标准实践,图中的各个部件没有被按比例绘制并且仅用于说明的目的。
[0011] 图1是根据一个或多个实施例的交通系统100的系统级示图。交通系统100包括中央控制装置110、位于第一车辆124上的第一资源请求设备122、位于第二车辆126上的第二资源请求设备126、以及四个资源控制设备132、134、136和138。资源控制设备132、134、136和138中的每一个都与一个或多个资源设备R1、R2、R3、R4和R5相关联。例如,资源控制设备132耦合至资源设备R1和R2。资源控制设备132控制资源设备R1和R2的操作。资源控制设备132还负责为特定的资源请求设备122或126预留资源设备R1或R2(即,“资源分配”)或者使资源设备R1或R2可用于来自资源请求设备122或126的进一步的请求(即,“资源释放”)。在一些实施例中,资源控制设备132是物理上不同于资源设备R1和R2的单独设备。在一些实施例中,相关联的资源设备R1和R2中的一个或所有以及资源控制设备132被实施为集成设备。
[0012] 中央控制装置110、第一资源请求设备122、第二资源请求设备126以及资源控制设备132、134、136和138能够通过通信网络(网络)150相互通信。在一些实施例中,网络150遵守一种或多种无线通信协议(诸如BLUETOOTH、WIFI、WIMAX、GPRS或WCDMA)和/或有线通信协议(诸如ETHERNET、USB或IEEE-1394)。
[0013] 在至少一个实施例中,中央控制装置110为第一车辆124派遣任务,并且第一车辆上的第一资源请求设备122基于第一车辆上的数据库确定执行任务所需的资源设备。第一资源请求设备122生成将被分配的资源设备的列表,并且该第一资源请求设备与执行任务所需要的资源设备R1、R2、R3、R4或R5相对应的资源控制设备132、134、136和138中的一些或所有协作。在一些实施例中,交通系统100中有多于或少于两辆车辆。在一些实施例中,在交通系统100中多于或少于四个的资源控制设备与多于或少于五个的资源设备相关联。在一些实施例中,如果第一车辆124不再需要先前为第一资源请求设备122分配的资源设备,则第一资源请求设备122还生成将被释放的资源设备的列表,并且该第一资源请求设备与适当的资源控制设备132、134、136或138协作,以释放先前分配的资源设备R1、R2、R3、R4或R5。
[0014] 图2A是根据一个或多个实施例的资源设备的示例性列表210的示图。列表210是基于执行任务时将被车辆使用的资源设备的顺序来顺序配置的资源设备R1、R2、R3和R4的线型列表。图2B是根据一个或多个实施例的资源设备的另一示例性列表220的示图。列表220是具有表示需要执行任务的资源设备R1、R2、R3、R4和R5的可选组合和顺序的两个分支的树型列表。列表220提供了两种可能的方式来分配任务的资源设备。基于在执行任务时将被车辆使用的资源设备的顺序来顺序地布置沿着各个分支的资源设备R1、R2、R3、R4和R5。
[0015] 图3是根据一个或多个实施例的用于资源请求设备122或126的资源分配的方法300的流程图。应该理解,可以在图3所示方法300之前、期间和/或之后执行附加操作,并且本文仅简要描述一些其他的流程。
[0016] 如图3以及图1和图2A所示,在操作310中,资源控制设备132从发送设备接收资源请求设备122所请求的资源设备的列表(诸如图2A中的列表210)。在一些实施例中,如果资源控制设备132与最初由资源请求设备122发布的列表210上的第一资源设备R1相关联,则发送设备是资源请求设备122,并且所接收的列表是所请求资源设备的完整列表。在一些实施例中,如果资源控制设备(诸如资源控制设备134)与不在最初由资源请求设备
122发布的列表210上的第一个资源设备(如,资源设备R3)相关联,则发送设备是另一资源控制设备(如,资源控制设备132),并且所接收的列表是需要进一步分配的剩余资源设备的列表。
[0017] 在操作315中,资源控制设备132确定来自资源请求设备122的资源设备的列表是否被授权,即,资源请求设备122当前是否是授权的资源请求设备。在一些实施例中,资源请求设备122是交通系统100信任的资源请求设备,但是仅在一个或多个预定的时间范围期间是授权的资源设备。在一些实施例中,如果资源请求设备122在授权的资源请求设备的预定列表上,则资源请求设备122被授权。在至少一个实施例中,所有资源请求设备122和126都被授权,因此省略操作315。在一些实施例中,中央控制装置110保持和更新用于所有的资源控制设备132、134、136和138的授权的资源请求设备的预定列表。在一些实施例中,中央控制装置110保持和更新为各个资源控制设备132、134、136和138定制的授权的资源请求设备的多个预定列表。
[0018] 如果资源请求设备122被确定为授权,则流程进行至操作320,其中资源控制设备132确认资源设备的列表210上的第一资源设备(诸如R1)实际上是否与资源控制设备132相关联。如果第一资源设备R1与资源控制设备132相关联,则流程进行至操作330。
[0019] 在操作330中,资源控制设备132确定第一资源设备R1是否可用于第一资源请求设备122。在一些实施例中,资源设备R1被设置为“未分配”、“已分配”和“等待”状态中的一种。在一些实施例中,如果资源设备R1当前被设置为“未分配”状态,则资源设备R1可用。
[0020] 然后流程进行至操作340,其中资源设备R1被分配给资源请求设备122。在一些实施例中,用于第一资源请求设备122的资源设备R1将被设置为“已分配”。在一些实施例中,资源设备R1将被临时设置为“等待”状态,并且流程进行至操作360。如果列表210上的所有剩余的资源设备都被成功分配,则资源控制设备132随后将资源设备R1设置为“已分配”状态。否则,资源控制设备132随后将资源设备设置为“未分配”状态,并且资源分配操作340被视为失败。
[0021] 在用于资源请求设备122的资源设备R1被设置为“等待”或“已分配”之后,流程进行至操作350,其中资源控制设备132确定资源设备R1是否是列表210上的最后的资源设备。如果资源设备R1不是列表210上的最后的资源设备,则列表210上的剩余资源设备(诸如剩余资源设备R2、R3和R4)将被传送至下一个对应的资源控制设备。在一些实施例中,如果下一个对应的资源控制设备恰好是当前的资源控制设备132(用于资源设备R2),则流程返回至操作340,以将相关联的资源设备R2分配给同一资源控制设备132。在一些实施例中,流程进行至操作360,而不是立即为同一资源控制设备132的下一资源设备R2再次执行操作340。
[0022] 在操作360中,资源控制设备132向下一资源控制设备134发送剩余资源设备(如,资源设备R3和R4)的列表。剩余资源设备的列表上的第一资源设备R3与下一资源控制设备134相关联。另一方面,如果当前正在处理的资源设备是列表210上的最后的资源设备,则在操作370中,资源控制设备132向发送设备和/或资源请求设备122发送分配完成消息。
[0023] 在操作340中,如果资源设备R1或R2没有成功分配给资源请求设备122,则流程进行至操作380。资源控制设备132向发送设备发送分配失败消息。另外,对于来自操作315、320和330的任何否定结果,流程也都进行至操作380,以向发送设备发送分配失败消息。
[0024] 资源控制设备134、136和138在接收到资源设备的列表时,也执行方法300。例如,在操作310中,资源控制设备134从发送设备(即,资源控制设备132)接收剩余资源设备的列表。然后,在操作320中,资源控制设备134确定剩余资源设备的列表上的第一资源设备R3是否与资源控制设备134相关联,并且执行上面关于操作330和340所描述的资源分配。如果为第一资源请求设备122分配资源设备R3成功,则资源控制设备134然后向对应的资源控制设备136发送剩余资源设备(现在仅具有资源设备R4)的另一列表。
[0025] 如果为第一资源请求设备122分配资源设备R4成功,则在操作350中,资源控制设备136确定资源设备R4确实是资源控制设备136接收的列表上的最后的资源设备。结果,在操作370中,资源控制设备136向发送设备(即,资源控制设备134)和/或资源请求设备122发送分配完成消息。
[0026] 在一些实施例中,在操作370中,对于各个资源控制设备来说,如果第一资源设备也是资源设备列表上的最后的资源设备,则资源控制设备132、134或136直接向资源请求设备122发送分配完成消息。在一些实施例中,将分配完成消息以逐级的方式通过所有的中间资源控制设备回馈至资源请求设备122。如此,每一中间资源控制设备都在从对应的下一资源控制设备接收到分配完成消息时向对应的发送设备发送分配完成消息。
[0027] 在一些实施例中,在操作380中,资源控制设备132、134或136直接地向资源请求设备122发送失败消息和/或以逐级的方式通过用于资源请求设备122所请求的资源设备的列表的所有中间资源控制设备间接地发送失败消息。在一些实施例中,资源控制设备132、134或136从下一资源控制设备接收分配失败消息并且将该分配失败消息传送至对应的发送设备。此外,在一些实施例中,响应于来自下一资源控制设备的分配失败消息,资源控制设备132、134或136释放为资源请求设备122分配的对应的资源设备。
[0028] 如图3以及图1和图2B所示,在操作360中,如果资源控制设备(诸如与资源设备R2相关联的资源控制设备132)从下一资源控制设备(诸如与资源设备R3相关联的资源控制设备134)接收分配失败消息,则资源控制设备132向另一对应的资源控制设备136发送剩余资源设备(包括资源设备R4和R5)的可选列表,剩余资源设备的可选列表上的第一资源设备R4与另一对应的资源控制设备136相关联。
[0029] 因此,通过对应的资源控制设备以顺序方式根据资源设备列表上的资源设备的顺序来执行资源设备的分配。列表上的第一资源控制设备从资源请求设备直接接收全部列表,然后每一后面的资源控制设备从对应的先前的资源控制设备接收剩余资源设备的列表。在一些实施例中,剩余资源设备的列表仍然是资源设备的全部列表,该资源设备的全部列表包括表示列表上的哪一资源设备是第一个还没有被处理的资源设备的状态信息。
[0030] 图4A和图4B是根据一个或多个实施例的示例性资源竞争情况的示图。当两个或两个以上的资源请求设备请求分配同一资源设时,会发生资源竞争。在一些实施例中,基于先来先服务的原则来执行各个资源设备的分配。在一些实施例中,执行附加处理以在资源竞争期间防止死锁。
[0031] 在图4A和图4B中,作为实例示出了九个资源设备R1至R9以及两个资源请求设备410和420。尽管实际上通过与资源设备R1至R9相关联的资源控制设备来执行资源分配方法300,但是在图4A和图4B中省略了对应的资源控制设备以避免使示例性资源竞争情况的说明变得模糊。
[0032] 在图4A中,第一资源请求设备410具有所请求的资源设备R1、R2、R5和R8的列表。第二资源请求设备420具有所请求的设备R6、R5、R4和R7的列表。对于来自第二资源请求设备420的所请求的资源设备的列表来说,用于资源设备R6、R5、R4和R7的对应的资源控制设备处理如上关于图3的流程图所描述的资源分配。对于来自第一资源请求设备410的所请求的资源设备的列表来说,用于资源设备R1和R2的对应的资源控制设备处理如上关于图3的流程图所描述的资源分配。
[0033] 然而,当用于资源设备R2的对应的资源控制设备向与资源设备R5相关联的资源控制设备发送剩余资源设备的列表时,发生资源竞争。在一些实施例中,基于先来先服务的原则执行资源设备R5的分配。在图4A中,在接收到来自用于资源设备R2的对应的资源控制设备的列表之前,资源设备R5已经被分配给第二资源请求设备420。
[0034] 在一些实施例中,如果用于第二资源请求设备420的资源设备R5被设置为“等待”状态,则方法300保持在操作340,其中,通过用于第一资源请求设备410的资源设备R5的资源控制设备执行该方法。随后用于第二资源请求设备420的资源设备R5的状态将被设置为“已分配”状态或者设置为“未分配”状态,作为分配来自第二资源请求设备420的资源设备列表的下游(从资源设备R5开始)的资源设备的分配成功/失败的结果。在至少一个实施例中,资源设备R5的资源控制设备基于先来先服务的原则(即,队列)将第一资源请求设备410和其他的资源请求设备保持在等待列表中。在资源设备R5不再处于“等待”状态之后,恢复用于第一资源请求设备410的操作340并如上关于图3所述来执行该操作。
[0035] 在又一些实施例中,如果用于第二资源请求设备420的资源设备R5已经被设置为“已分配”状态,则通过用于第一资源请求设备410的资源设备R5的资源控制设备执行的处理300,该处理确定资源设备R5的分配已经失败。在至少一个实施例中,分配失败消息通过对应的中间资源控制设备(与资源设备R2和R1相关联)回馈至第一资源请求设备410。如果第一资源请求设备410的资源设备列表上游(从资源设备R5开始)的资源设备R2和R1先前被设置为“已分配”状态或“等待”状态,则将它们设置为“未分配”状态。
[0036] 在又一些其他的实施例中,资源设备R5的分配也接受优先或紧急请求。例如,来自第一资源请求设备410的资源设备的列表携带优先信息。如果资源设备R5的资源控制设备确定:来自第一资源请求设备410的请求优先于第二资源请求设备420的请求,则资源设备R5的资源控制设备强行将资源设备R5的状态从“等待”状态变为“未分配”状态。
[0037] 在图4B中,第一资源请求设备410具有所请求的资源设备R1、R2、R5和R4的列表。第二资源请求设备420具有所请求的资源设备R9、R8、R5和R2的列表。对于来自第一资源请求设备410的所请求的资源设备的列表来说,用于资源设备R1和R2的对应的资源控制设备处理如上关于图3的流程图所描述的资源分配。对于来自第二资源请求设备420的所请求的资源设备的列表来说,用于资源设备R9、R8和R5的对应的资源控制设备处理如上关于图3的流程图所描述的资源分配。
[0038] 然而,用于资源设备R2和R5的对应的资源控制设备几乎同时向对方发送用于第一资源请求设备410和第二资源请求设备420的剩余资源设备的列表。换句话说,在先前接收的列表的分配完成之前,根据先前接收的列表,在当前接收的列表来自下游资源控制设备时发生资源竞争。先前接收的列表是当前将对应的资源设备R2或R5设置为“等待”状态或“已分配”状态的原因。在一些实施例中,用于资源设备R2和R5的对应的资源控制设备处理这种类型的资源竞争,如同接收到来自对方的分配失败消息。在一些实施例中,分配失败消息通过中间资源控制设备回馈至第一资源请求设备410和第二资源请求设备420。在一些实施例中,立刻或等待随机时间段之后,第一资源请求设备410和第二资源请求设备420在接收到分配失败消息时向列表上的对应的第一资源控制设备重新发送所请求的资源设备的对应列表。
[0039] 在至少一个实施例中,资源设备的列表携带优先信息。因此,具有更高优先级的列表的资源分配继续进行,而具有更低优先级的列表的资源分配将被迫撤回
[0040] 图5是根据一个或多个实施例的用于资源请求设备的资源释放的方法500的流程图。应该理解,可以在图5所示方法500之前、期间和/或之后执行附加操作,并且本文仅简要描述一些其他的处理。
[0041] 如图5以及图1和图2A所示,在操作510中,资源控制设备132从发送设备(诸如本文中的资源请求设备122)接收用于资源请求设备122的将被释放的资源设备的列表(诸如图2A中的列表210)。在操作520中,资源控制设备132确定资源设备列表210上的第一资源设备(诸如R1)实际上是否与资源控制设备132相关联。如果第一资源设备R1与资源控制设备132相关联,则处理进行至操作525,其中资源控制设备132进一步确认当前是否将第一资源设备R1分配给资源请求设备122。
[0042] 在操作530中,在确定第一资源设备R1当前被分配给资源请求设备122之后,第一资源设备R1被设置为“未分配”状态。流程进行至操作540,其中资源控制设备132任选地停止用于资源控制设备132的对应的资源设备R1的操作。在一些实施例中,在操作540中,资源控制设备132停用资源设备R1。在一些实施例中,在操作540中,资源控制设备132将资源设备R1设置为默认操作模式。
[0043] 在操作530中,如果用于资源请求设备122的资源设备R1没有成功释放,则流程进行至操作550。资源控制设备132向发送设备发送释放失败消息。另外,对于任何来自操作520和525的否定结果,处理也都进行至操作550,以向发送设备发送分配失败消息。
[0044] 在将用于资源请求设备122的资源设备R1成功设置为“未分配”之后,处理进行至操作550,其中资源控制设备132确定资源设备R1是否是列表210上最后的资源设备。如果资源设备R1不是列表210上的最后的资源设备,则仍然需要释放列表210上的剩余资源设备,诸如剩余资源设备R2、R3和R4。
[0045] 在一些实施例中,如果下一对应的资源控制设备恰好是当前的资源控制设备132(用于资源设备R2),则处理返回操作530和540,以释放与同一资源控制设备132相关联的资源设备R2。在一些实施例中,处理进行至操作570,而不是对于同一资源控制设备
132的下一资源设备R2再次立刻执行操作530和540。
[0046] 在操作570中,资源控制设备132向下一资源控制设备134发送剩余资源设备(诸如资源设备R3和R4)的列表。剩余资源设备的列表上的第一资源设备R3与下一资源控制设备134相关联。另一方面,如果资源设备是列表210上的最后资源设备,则在操作580中,资源控制设备132直接地或通过中间资源控制设备间接地向资源请求设备122发送释放完成消息。
[0047] 图6是根据一个或多个实施例的资源控制设备600的框图。资源控制设备600可用作资源控制设备132、134、136和138。
[0048] 资源控制设备600包括硬件处理器610以及编码有(即,存储有)计算机程序代码622(即,可执行指令的集合)的非暂时性计算机可读存储介质620。处理器610电耦合至计算机可读存储介质620。处理器610被配置为执行计算机可读存储介质620中编码的计算机程序代码622,使资源控制设备600执行如图3和图5所描述的部分或所有操作。
[0049] 资源控制设备600还包括耦合至处理器610的网络接口630和资源设备接口640。网络接口630允许资源控制设备600与网络150(图1)通信,其中一个或多个其他的资源控制设备和资源请求设备连接至该网络。网络接口包括一种或多种无线网络接口(诸如BLUETOOTH、WIFI、WIMAX、GPRS或WCDMA)或有线网络接口(诸如ETHERNET、USB或IEEE-1394)。资源设备接口640允许资源控制设备600与对应的一个或多个资源设备R1、R2、R3、R4和R5(图1)通信或控制它们。
[0050] 在一些实施例中,处理器610是中央处理单元(CPU)、多处理器、分布式处理系统、专用集成电路(ASIC)和/或合适的处理单元。
[0051] 在一些实施例中,计算机可读存储介质620是电、磁、光、电磁、红外和/或半导体系统(或装置或设备)。例如,计算机可读存储介质620包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和/或光盘。在使用光盘的一些实施例中,计算机可读存储介质620包括压缩光盘-只读存储器(CD-ROM)、压缩光盘-读/写(CD-R/W)和/或数字视频光盘(DVD)。
[0052] 在一些实施例中,存储介质620存储被配置为使计算机系统600执行图3或图5所描述的方法的计算机程序代码622。在一些实施例中,存储介质620还存储执行方法300和500所需要的信息以及在执行方法300和500期间生成的信息,诸如从中央控制装置110(图1)接收的授权的资源请求设备的列表623、接收的资源设备的列表624、剩余资源设备的列表625或用于操作对应的一个或多个资源设备R1、R2、R3、R4和R5的信息626。
[0053] 图7是根据一个或多个实施例的示例性铁路系统700。进一步通过示例性铁路系统700示出交通系统100(图1)以及方法300和500(图3和图5)的许多可能应用中的一种。
[0054] 铁路系统700包括第一轨道702、第二轨道704、可到达第一轨道702的第一站台706以及可到达第二轨道704的第二站台708。如图7所示,火车710当前位于第一轨道
702上并且停在第一站台706处。四个开关722、724、726和728与第一轨道712和第二轨道714耦合,以任选地引导火车710在第一轨道702和第二轨道704之间移动。沿着第一轨道702和第二轨道704设置有多个信号设备732、734、736、738、742、744、746和748。开关722、724、726和728以及信号设备732、734、736、738、742、744、746和748对应于图1所示的资源设备。此外,火车710装配有对应于图1所示的资源请求设备的车载资源请求设备。
[0055] 铁路系统700还包括对应于图1所示的资源控制设备的多个资源控制设备751、752、753、754、755、756、761、762、763、764和765。资源控制设备751、752、753、754、755、
756、761、762、763、764和765中的每一个都与开关722、724、726和728以及信号设备732、
734、736、738、742、744、746和748中的一个或多个相关联。如图7所示,资源控制设备764与开关728和信号设备746相关联。图7中的其他资源控制设备仅与开关722、724和726以及信号设备732、734、736、738、742、744和748中的对应的一个相关联。
[0056] 铁路系统700还包括:中央控制装置770,对应于图1中的中央控制装置;和网络780,对应于图1中的网络。资源控制设备751、752、753、754、755、756、761、762、763、764和
765、火车710上的资源请求设备以及中央控制装置770都与网络780耦合,该网络遵守有线通信协议或无线通信协议。
[0057] 在至少一个实施例中,中央控制装置770向火车710分配任务,以从第一站台706移动到第二站台708。为了执行任务,火车710需要确保沿着第一轨道702分配一些资源设备(诸如信号设备732和734),开关722和728将火车710引导至第二轨道704,以及沿着第二轨道704分配信号设备746和748。因此,火车710上的资源请求设备根据列表向第一对应的资源控制设备751发送资源设备列表(包括资源732、734、722、728、746和748)。然后,对应的资源控制设备751、752、753、764和765根据图3所示的方法300执行资源分配。一旦火车710到达第二站台708,火车710上的资源请求设备就进一步根据列表向第一对应的资源控制设备751发送资源设备列表(包括资源732、734、722、728、746和748)。
然后,对应的资源控制设备751、752、753、764和765根据图5所示方法500执行资源释放。
[0058] 在一些实施例中,火车710将任务划分为两个或多个子任务,并且火车710上的资源请求设备以分段方式请求资源设备的分配。例如,火车710首先请求信号设备732和734的分配,从第一站台706移动到开关722,然后请求开关722和728以及信号设备746和748的分配。在一些实施例中,资源设备的完整列表被发送给资源控制设备,该完整列表包括以下信息:第一预定数量的资源设备的成功分配不受来自列表下游的不成功结果的影响。
[0059] 已经将交通系统100和铁路系统700用作实例,以描述方法300和500以及资源控制设备600。然而,本领域技的普通技术人员应该意识到,方法300和500以及资源控制设备600可应用于许多其他应用,诸如数据通信系统或资源设备的分配是执行所分配的任务的前提的任何系统。
[0060] 根据一个实施例,一种通过资源控制设备进行资源分配的方法,包括:从发送设备接收资源请求设备所请求的资源设备的列表。如果第一资源设备与资源控制设备相关联并且资源请求设备被授权,则执行资源设备的列表上的第一资源设备的分配。如果资源设备的列表上的第一资源设备被成功分配用于资源请求设备并且第一资源设备不是资源设备的列表上的最后的资源设备,则向下一资源控制设备发送剩余资源设备的列表。剩余资源设备的列表上的第一资源设备与下一资源控制设备相关联。如果资源设备的列表上的第一资源设备没有被成功分配用于资源请求设备,则向发送设备发送分配失败消息。
[0061] 根据另一个实施例,一种通过资源控制设备释放资源的方法包括:从发送设备接收用于第一资源请求设备的将被释放的资源设备的列表。如果第一资源设备与资源控制设备相关联并且当前被分配用于资源请求设备,则执行资源设备的列表上的第一资源设备的释放。如果资源设备的列表上的第一资源设备不是资源设备的列表上的最后的资源设备,则向下一资源控制设备发送用于资源请求设备的将被释放的剩余资源设备的列表。剩余资源设备的列表上的第一资源设备与下一资源控制设备相关联。如果资源设备的列表上的用于资源请求设备的第一资源设备没有被成功释放,则向发送设备发送释放失败消息。
[0062] 根据另一个实施例,一种资源控制设备包括通信接口和处理器。通信接口被配置为与资源请求设备和另一资源控制设备通信。处理器被配置为与一个或多个资源设备耦合。处理器被配置为:接收将被分配或释放的用于资源请求设备的资源设备的列表;如果资源设备的列表上的第一资源设备与处理单元耦合,则执行第一资源设备的分配或释放;以及如果第一资源设备不是资源设备的列表上的最后的资源设备,则向另一资源控制设备发送剩余资源设备的列表,剩余资源设备的列表上的第一资源设备与另一资源控制设备相关联。
[0063] 上面论述了多个实施例的特征使得本领域技术人员能够更好地理解本发明的各个方面。本领域技术人员应该理解,他们可以容易地以本公开为基础设计或修改用于执行与本文所述实施例相同的目的和/或实现相同优点的其他工艺和结构。本领域技术人员还应该意识到,这些等效结构不背离本发明的精神和范围,并且可以在不背离本发明的精神和范围的情况下做出各种变化、替换和改变。
QQ群二维码
意见反馈