用于管理通信网络中的链路资源的方法

文档序号:7731982阅读:327来源:国知局
专利名称:用于管理通信网络中的链路资源的方法
技术领域
本发明涉及一种用于管理通信网络中的链路资源的方法,该链路可以是无线链路,特别地该网络包括了在无线链路帮助下互连的有线通信总线。
背景技术
在包括多个互连的传输媒介的网络中,各个传输媒介的可用带宽没有必要相同。
例如,如果考虑到由5GHz ETSI BRAN HiperLAN 2无线链路连接在一起的两个IEEE1394有线串行总线,每个有线总线的可用带宽可以是100Mb/s或更大,而无线链路上的可用带宽可能被限制在30Mb/s之内。因此,对于使用这种链路的连接而言,无线链路造成了瓶颈。
图1为这种网络的一种示例图。该网络包括两条总线11和12,分别将源设备13与宿设备14以及宿设备15与源设备16连接起来。例如源设备13可以是数字VCR,宿设备14和15为显示器而源设备16为调谐器。总线11还与入口17相连接,而总线12与入口18相连,这两个入口形成了总线11和12之间的无线链路。假设在IEEE 1394层,该无线链路对于设备13和16是透明的,即就是说这些设备认为它们处于同一物理总线上。
假设无线链路上可用带宽为30Mb/s,在VCR13与显示器15之间建立20Mb/s的第一连接。由于链路对设备16和14来说是透明的,可以在调谐器16与显示器14之间建立第二连接,但如果第二连接所需要的带宽大于剩余的无线带宽,不管大多少,显示器14也不能显示正确的图像。至于涉及到的创建第二连接的应用,在IEEE1394层仍然可以毫无意外地建立连接,这是因为该层中链路的透明性。

发明内容
本发明的目的是一种用于管理包括总线的通信网络中的链路资源的方法,所述总线由至少一个链路互联以形成一个其中至少一个链路对于某些与总线相连的节点的协议层来说是透明的网络,所述方法的特征在于包括步骤使至少一个链路上的可用资源信息对于认识链路(link-aware)的应用是可用的。
根据实施例,每个链路包括了多个入口,链路的至少一个入口包括了有关其链路的所述资源信息。
根据实施例,信息包括链路上的可用带宽。该信息还包括链路上的可用信道。
根据实施例,一个应用(application)通过包括以下步骤的方法在网络的两个节点之间建立连接a在总线上预约(reserving)用于连接的信道和带宽;b识别要被连接的节点之间通路上的链路;c如果步骤a成功,为所述通路上的每一个链路预约资源。
根据实施例,为每一个链路预约资源的步骤包括步骤-使该应用请求预约与在步骤a从各个链路预约的带宽和信道相同的带宽和信道。
根据实施例,为每一个链路预约资源的步骤进一步包括步骤-该应用将要被连接节点的标识符发送到资源要被预约链路的入口;-作为被连接节点的功能,使链路判断请求的带宽是否可用;-作为此判断的功能,接受或拒绝带宽预约请求。
根据实施例,为每一个链路预约资源的步骤进一步包括步骤-使链路检查被请求的信道的可用性,如果该链路上的信道是可用的,接受信道预约;-检查是否已经达到了链路上被预约信道最大值并且在肯定情况下,拒绝其他的预约。
根据实施例,对于提供一个表示网络的信道可用性的寄存器和一个表示各个链路的信道可用性的寄存器的步骤,其中上述两个寄存器都包括相同的信道数和各个链路可以并行预约的信道数的最大值,所述最大值小于或等于寄存器中的信道数,在接受了信道预约之后,为链路提供资源信息的入口检查已经被并行预约的信道是否达到了最大值,并在肯定的情况下修改链路的寄存器以表示对于该链路而言没有可用的信道。


在附图的帮助下,在对无限制实施例的说明中会公开本发明其他的特性及优势,在附图中-已说明过的图1所示为包括了无线链路的网络框图,并显示了由该链路构成的带宽瓶颈;-图2为根据本发明实施例的网络框图,该网络包括无线链路并显示了在构成无线链路的入口设备中的软件栈和实现本发明用到的寄存器;-图3所示为预约信道方法的流程图,该方法利用了指出无线链路上可用信道的寄存器;-图4所示为释放被预约的信道方法的流程图;-图5所示为根据本发明不同实施例的链路上带宽的使用和预约的框图;-图6所示为释放图5所示带宽的框图;-图7所示为根据本发明不同实施例,在不同类型网络之间共享的多入口链路的框图;-图8所示为图1中网络的框图,这里为了减少无线链路的使用,调整了节点与总线连接。
具体实施例方式
尽管本实施例是基于使用ETSI BRAN HiperLAN 2无线链路,也可以使用其他技术,例如执行Internet协议(IP)的链路。此外,尽管在下面说明的实施例中,有线总线之间的链路是无线的,但没有必要必须如此。
有关IEEE1394的信息可参看由IEEE公布的IEEE文件1394-1995及IEEE 1394a-2000。
1、基本信息为了简化说明,将在附图的帮助下介绍本实施例,这些附图给出了通常各包括两个入口的链路。不过,本发明也可以应用于包括两个以上入口的链路。
图2所示的网络由两个IEEE 1394总线(也称为设备群集)21和22形成,每个总线各包括有线IEEE1394总线、多个设备(分别为节点23、24、29以及25、26、30)以及通往无线Hiperlan 2链路的入口。所有节点均为IEEE1394设备。应用可以认识到无线链路的存在和位置。
根据本实施例,入口27和28对其他设备来说不是透明的,也可以认为这两个入口是其各自总线上的节点,即,在总线复位之后其性质为物理标识符。然而在IEEE1394层的层面上,链路是透明的认为所有的节点均位于单-总线上并因此在复位之后的性质为物理标识符。当执行总线复位时,入口27和28发出自身的识别分组,以表示其各自群集上的节点。
各个节点都包括IEEE1394软件栈,即就是物理层、链路层、事务层以及应用层。每一个入口在其有线总线接口中也包括这些层。最后,这些入口利用Hiperlan 2协议栈进行通信。
2、链路资源管理器与相关联的寄存器根据本发明,入口使与无线链路相关的资源预约信息对于不同群集中节点的应用是可用的。根据本实施例,该信息包括链路上的可用带宽和信道。该信息保留在无线链路的至少一个入口的“无线资源寄存器”中,并可以由应用或不同总线上节点的中间件(middleware)访问到。
众所周知如IEEE1394 1995标准定义的IEEE 1394总线包括了所谓的同步资源管理器(或’IRM’),该管理器保留了两个寄存器,‘BANDWITH_AVALABLE’和‘CHANNELS_AVALABLE’,分别指出了总线上的可用带宽和在最多64个同步信道中的可用信道。
由于根据本实施例涉及IEEE1394层的无线链路是透明的,所以网络中存在单一的IRM。
与上述标准所定义的相同,表1给出IRM BANDWITH_AVALABLE寄存器的格式

19比特 13比特表1bw_remaining的初始值等于0X1333个(在10进制系统中为4915)带宽单元。当每次节点的应用期望预约有线总线上的带宽时,应用会检查此值并且如果有足够可用带宽时,减去所需的带宽。否则不能建立连接。
与上述标准所定义的相同,表2给出了IRM CHANNELS_AVALABLE寄存器的格式

32比特表2该寄存器的初始值为0XFFFFFFFF。每一位表示了特定信道的可用性。′channels_available_hi′的最低可用位表示信道0的可用性,而′channels_available_lo′的最高可用位表示信道63的可用性。当每次应用期望预约信道时,应用会检查该寄存器,选择可用信道并将寄存器的对应位置为′0′。当没有足够多的可用信道时,不能建立连接。
为了预约带宽或信道,首先由应用通过读取请求消息读取寄存器。应用接收包含了该寄存器内容的读取响应消息。在检查完被请求资源的可用性之后,应用锁定对应的寄存器的访问权并写入适当的新值。锁定和写入操作由应用发送锁定请求以及IRM发送锁定响应来完成。根据IEEE1394 1995,分开进行对各个寄存器的访问。根据IEEE 1394 2000,万一有锁定请求不利冲突,由于锁定响应发回了实际值,则没有必要进行读取。
根据本实施例,资源管理器在链路层实现。以下论述中这种资源管理器被称为“链路资源管理器”或LRM,以区别于IEEE 1394 1995定义的IRM。
根据本实施例,LRM在无线链路的一个入口执行。它管理的两个寄存器,LINK_BANDWIDTH_AVAILABLE和LINK_CHANNEL_AVAILABLE分别表示了无线链路上的可用带宽和可用信道(除了其他信息之外)。
表3给出了根据本实施例的LRMLINK_BANDWIDTH_AVAILABLE寄存器的格式

6比特 6比特1 6比特13比特表3LRM_bw_remaining字段和IRM BANDWITH_AVALABLE寄存器中bw_remaining字段的作用相同。假设链路上的可用带宽与有线总线上的可用带宽不同,则该参数的初始值也不同。如果链路上的可用带宽较低,这个字段的初始值也就较低,而如果链路上的可用带宽较高,由于限制因子是与无线链路相连接的总线上的带宽,所以当进行预约时,该参数永远也不会到0。
Source_PhyID字段包含了源设备的物理标识符。Sink_PhyID字段包含了宿设备的物理标识符。这些字段的内容由进行预约的应用来定义(利用锁定请求消息),目的是形成讲话者节点(源)与收听者节点(宿)的身份LRM。通过这些标识符,LRM可以判断与LRM_BANDWIDTH_AVAILABLE寄存器的′link_bw_remaining′字段所指出的带宽不相同的实际可用带宽,这将在下文中进行解释。
根据不同的实施例,请求的Source_PhyID和Sink_PhyID字段包含了要被预约的连接之间入口的物理标识符。
在入口多于两个的无线链路中,任意两个入口之间的可用带宽可能是不同的,例如是入口间传送质量的函数。为了指出这些入口对之间的实际带宽,LRM必须知道哪两个入口是连接的一部分。LRM可以从讲话者和收听者的身份推断出入口。在特定情况下,′link_bw_remaining′字段指出的带宽就不能反映任意两个入口间的实际可用带宽。
根据本实施例,′link_bw_remaining′字段指出了无线链路的任意两对入口之间的最大可用带宽。如果其请求的数量大于′link_bw_remaining′字段指出的数量,则应用可以立即判断出不可能预约带宽。在其他所有情况下,LRM首先计算涉及到预约的两个端口间的可用带宽并最后在锁定响应中接受或拒绝预约,并在响应的′link_bw_remaining′字段给出源和宿之间的真实可用带宽。
根据一个变化实施例,′link_bw_remaining′字段包含假值(dummyvalue),此值大于任意应用可能请求的带宽。在这种情况下,由于应用不能从其读取请求中推断出任何的无效带宽信息,所以LRM始终会拒绝带宽预约。
在将无线链路严格限制为两个入口的情况下,链路上的可用带宽不是源和宿设备的函数。根据不同的实施例,在包括了这种链路的网络中,不需要LRM BANDWITH_AVALABLE寄存器的前两个字段。不过,还有可能在无线链路上的两个入口使用这些字段。
‘Channel’字段包括由应用进行预约所请求的信道数目。此数目与分配给IRM的CHANNEL_AVAILABLE寄存器的数目相同,就像后面会看到的,这是因为应用在向无线链路的LRM进行预约之前,首先要向IEEE1394网络的IRM进行预约。为了访问LRMLINK_BANDWIDTH_AVAILABLE,通过锁定请求将该字段的内容提供给LRM。
‘f’字段包括用于指示链路上被请求信道的可用性的标记。该字段用于锁定响应,以指示被请求的信道是可用(‘0’)还是无效(‘1’)。这由LRM设置。
表4定义了LRM LINK_CHANNELS_AVAILABLE寄存器的格式。此格式与IRM CHANNELS_AVAILABLE寄存器的格式相同,尽管二者功能并不同。
0 31

32 32比特 63表4该寄存器的内容与IRM的CHANNELS_AVAILABLE寄存器的内容有着相同的意义。
无线链路允许的信道最大值可能会小于或大于IEEE1394总线64个信道的界限。尽管链路容许比IEEE1394信道数更多的信道数目,但只能使用64,这是由于IEEE1394网络的IRM仅限于这个数字。
如果无线链路允许更少的信道数目,则使用下列算法。图3给出的算法用于预约机制而图4的用于释放机制。
将link_channels_available(link_channels_available_hi和link_channels_available_lo)位设为1作为初始值。
当应用请求被链路的LRM分配为空闲且不是最后一个可能的信道时,接受预约该信道并将该信道的标记设为‘0’。
当应用请求信道且该信道为链路(尽管在IRM的CHANNELS_AVAILABLE寄存器中可能还有可用信道)上最后一个可用信道时,接受预约该信道并将LINK_CHANNELS_AVAILABLE寄存器的所有标记设为‘0’,这是为了表示出通过这个链路已经没有可用信道了。
LRM将真正被应用预约的寄存器的信道列表保存在存储器中以与那些因为无线链路强加的限制而被简单地设为无效的信道相比较。
当应用释放信道时,将指定信道的标记设为‘1’。如果该链路已被完全预约,这次信道释放还会触发将所有未预约信道的标记设为‘1’的操作。
管理LINK_CHANNELS_AVAILABLE寄存器和管理IRM的CHANNELS_AVAILABLE寄存器的方式是不同的。前者会接受读取请求,但不会接受锁定请求。这样,应用会检查无线链路上的信道是否保持可用。LRM会遵循BANDWIDTH_AVAILABLE寄存器上的应用锁定请求进行实际的信道预约。
3、寄存器的使用LINK_BANDWIDTH_AVAILABLE寄存器除了只指示可用带宽之外,还有更多的功能。当利用读取请求进行读取时,返回链路上的可用带宽,但锁定请求不仅要触发带宽的预约,还会触发信道的预约。于是只需要在读取模式下访问LINK_CHANNELS_AVAILABLE寄存器,在锁定模式下则不需要。
希望进行预约的应用首先执行IRM预约,接着利用获得的信道数目和预约的带宽进行源节点和宿节点之间无线链路上的预约。
当在LINK_BANDWIDTH_AVAILABLE寄存器上执行锁定请求时,调用者必须提供IEEE 1394网络上源设备的PhyID号、IEEE 1394网络上宿设备的PhyID号、被请求信道(IRM已对该信道进行了分配)以及新的带宽值,即读取请求过程中读出的值减去被预约的值。
用一条消息(即锁定请求)来执行所有的分配(带宽和信道)。如果链路LRM有能力处理其入口设备之间不同的带宽,则LRM使用源和宿PhyID。
通过表5至表7可以说明LINK_BANDWIDTH_AVAILABLE寄存器的行为,表5至表7所示分别为初始值、在读取请求之后获得的值以及在锁定请求之后获得的值。
初始值

6比特6比特 1 6比特 13比特表5读出的值

6比特6比特1 6比特 13比特表6
锁定结果

6比特6比特 1 6比特 13比特表7其中,(‘i’=忽略)当执行读取请求时,link_bw_remaining值返回读取响应。
锁定请求包括预先读取的带宽值(根据IEEE 1394 1995词汇表为arg_value字段)和新的带宽值(′data_value′)。LRM将link_bw_remaining字段的当前值与锁定请求接收到的值进行比较。如果这些值相等,由于在当前读取和锁定请求之间没有同意其他请求,则进行预约。写入到link_bw_remaining字段的新带宽值不必是在锁定请求和锁定响应中发送的值,这是由于前面讨论的用于多入口链路的计算规则。换句话说,下一次的读取请求没有必要导致保留上一次锁定请求发送的带宽值。
LINK_BANDWIDTH_AVAILABLE寄存器锁定请求失败的可能原因有1在当前读取和锁定请求的时间间隔内更改了链路上的可用带宽,所以锁定请求的′arg_value′无效。LRM管理这种情况的方式与IRM相同。
2链路上源和宿之间的可用带宽不够。当读取寄存器时,因为返回link_bw_remaining字段的值可能是该链路上用于最优传输的可用带宽,所以可能检测不到这一点。由于LRM知道来自锁定请求消息的PhyID并能够计算出用于该特定连接的真实可用带宽,于是容量由相关入口确定的带宽不同的链路可能会拒绝恢复源和宿PhyID之间通路上真实带宽的锁定。
3需要的信道不再可用。这只有在其他应用分配了其他信道(因为被请求的信道仍然被分配在IRM)且这个其他信道是链路上最后一个可用信道才有可能发生,尽管在IRM的CHANNELS_AVAILABLE寄存器中某些信道仍保持空闲。在这种情况下,通过链路的LRM不能建立连接。为了反映这种情况,LRM在锁定响应中将‘f’位置为1。
通过表8和表9可以说明LINK_CHANNELS_AVAILABLE寄存器的行为,表8和表9所示分别为初始值、在读取请求之后获得的值以及在锁定请求之后获得的值。
初始值

32比特表8读取的值

32比特表9在应用从任意源节点和宿节点之间链路的LRM获得需要的预约失败的情况下,必须请求已预约资源的存储单元分配。
4、利用LINK_BANDWIDTH_AVAILABLE寄存器的例子参照表10至表16,在下文中给出了一个利用LRM的LINK_BANDWIDTH_AVAILABLE寄存器的例子。假设在本例的结构中链路最多支持两个信道。
以总可用带宽为4915单元为例,表10给出了寄存器的初始值。

6 6 1 6 13表10图2中节点23的应用希望分配节点23(源)和节点25(宿)之间的链路上的信道和带宽。首先,遵循IEEE 1394 1995规则,在IRM请求信道和带宽的分配。例如已分配的信道为信道7且带宽为500个单元。于是节点23的应用执行LRM的LINK_BANDWIDTH_AVAILABLE寄存器上的锁定请求,参数如表11所示。

Arg_valueData_value6 6 1 6 13表11如果接受了锁定(并且更新了LINK_CHANNELS_AVAILABLE寄存器),按照表12的参数给出响应。

New_value6 61 6 13表12接着,节点26决定分配节点26(源)和节点24(宿)之间的链路上的信道和带宽。假设IRM已经进行了预约。作为例子,该信道为信道号33且需要的带宽为1000个单元。同时,如表13所示,节点25的应用执行LRM上的锁定请求且请求信道12以及源节点29和宿节点30之间的2000个带宽单元。

Arg_valueData_value6 6 1 613表13如果接受了锁定(并且更新了LINK_CHANNELS_AVAILABLE寄存器),则按照表14给出响应。

New_value6 6 1 6 13表14由于该链路只能提供两个信道,拒绝节点26应用的锁定请求。

Arg_valueData_value6 6 1 613表15拒绝了锁定响应且寄存器的字段成为

New_value6 6 1 613表16将‘f’标记设为1,表示在该链路上再也没有信道了。link_bw_remaining字段显示出最终的更新值,即就是同意节点25的应用的请求之后。
锁定响应包括了Source_PhyID、Sink_PhyID和Channel字段的值,以帮助呼叫方恢复其请求的内容。
当预约或释放资源时,可以采用以下操作“分配新值”该操作是分配新信道和带宽的数量。信道为可用、空闲的,所需的带宽是可用的。该操作被称为分配是因为在请求(′arg_value′)下发送的预先读取的带宽值要大于写入到link_bw_remaining字段(′data_value′)的新值。将channel_available标记置为0。
LRM记住了信道和已分配带宽之间的关系。
根据不同的实施例,可以预约信道而不预约带宽。这种可能性可以由入口方决定。
“分配更多”
如果有足够多的可用带宽,该操作是向预先被分配的信道分配附加的带宽。LRM根据锁定请求的信道号对应着已被分配的信道这一事实来识别这种操作。将请求的带宽之差加到已被该信道预约的带宽中。channel_available标记保持为0。入口不能阻止在已分配信道预约带宽的应用发送另一个会在总线上引起混乱的数据流(同1394-1995一样)。
“完全释放”该操作是释放信道以及分配给该信道带宽。LRM将该操作识别为释放是因为锁定请求(包含了读取请求的结果)的(′arg_value′)字段小于其′data_value′(包含了要写入到link_bw_remaining字段的新值)。前两个字段之差等于(或大于)分配给该信道的带宽这一事实显示出资源的释放为完全释放的情况。将LINK_CHANNELS_AVAILABLE寄存器的信道标记置为空闲(1)。在锁定请求指出不止要释放已分配带宽情况下,只释放已分配的带宽。
“部分释放”该操作是只释放给定信道的部分带宽。LRM根据锁定请求bw_remaining字段的′arg_value′小于其′data_value′这一事实将请求的操作识别为释放,而因为差值小于分配给该信道的带宽,则就是部分的。信道在LINK_CHANNELS_AVAILABLE寄存器中保持预约(对应的标记保持为值0)。减去信道被释放的带宽并且使LRM与其保持联系。
在预约了链路上所有可用信道的情况下,将LINK_CHANNELS_AVAILABLE寄存器中所有的标记置为0。LRM仍然保持那些真正被应用预约的信道列表,以和那些只是在寄存器中被标记的信道相比较。当LRM接收到用于“分配更多”操作的锁定请求时,只有当该请求对应着真正预约的信道时,才会给该请求分配附加的带宽。
5、利用LINK_CHANNELS_AVAILABLE寄存器的例子分别参照给出不同时刻寄存器内容的表17至表21,下文中给出了一个利用LINK_CHANNELS_AVAILABLE寄存器的例子。根据本例,无线链路的容量为三个信道。
最初,没有使用无线链路上的信道。LINK_CHANNELS_AVAILABLE寄存器的状态由表17给出

表17例如第一个应用预约信道7。分配之后寄存器的状态由表18给出。

表18接着第二个应用预约信道33,寄存器的状态变为

表19在该链路上只剩下一个可用信道。当第三个应用分配信道2时,寄存器的状态变为

表20由于该链路不能提供更多信道,将所有的信道标记置为0。如果第四个应用读取了该链路的寄存器,它就会推断出没有信道可以预约了。
现在,如果第二个应用释放了信道33,寄存器的状态变为

表21现在在无线链路上有一个信道是可用的所有未使用信道的标记置为1。
有利地,首先需要由全局IRM来预约信道这一事实保证了不会出现与在多个无线链路上预约信道识别相关的冲突。如果首先不由IRM进行分配,则LRM不可能预约信道。
网络的应用可能认识或不认识到无线链路。在认识链路的应用创建了包括一个或更多无线链路的情况下,这些链路的LRM可以通过其自身预约请求的资源,或根据其他实施例,给由认识链路的应用做出的连接以优先权。
6、连接建立的方法这里简要给出几种根据本实施例的认识链路使用的连接方法。这些方法涉及连接的打开、连接的破坏、总线复位之后连接的建立以及对已有连接的连接覆盖。
在下面几个方法的例子中,为了判断在讲话者节点与听话者节点之间的通路上是否有一个或几个资源被预约的链路,应用需要获得网络的拓扑。
应用可以从在总线复位之后建立一拓扑图的IEEE 1394物理层得到该拓扑图。该拓扑图表示了不同的节点是如何连接的。
根据本实施例,每一个入口在其存储器中包含了用于指示它是入口的标识符。为了判断这些节点是否是入口,一旦应用得到拓扑图——这只在复位之后需要——就会访问网络上所有节点的存储器。当在拓扑图中连续检测到两个入口时,会识别链路。
6.1打开连接为了打开连接,应用必须1判断网络的拓扑图并检查在源节点与宿节点之间的通路上是否有一个或几个链路。
2如果呼叫方客户(即应用)没有给出带宽,在源节点的输出插头控制寄存器(′oPCR′,与IEC 61883的定义相同,说明了IEEE 1394总线上同步数据流的传送)上执行读取请求以获取所需的带宽。
3在下面基础上执行读取请求IRM BANDWIDTH_AVAILABLE寄存器(为了获得IEEE 1394网络上可用带宽的数量);IRM CHANNELS_AVAILABLE寄存器(为了获得IEEE 1394网络上可用信道的列表);LRM LINK_BANDWIDTH_AVAILABLE寄存器(为了获得各个链路上可用带宽的数量),用于由连接交叉形成的各个链路;LRM LINK_CHANNELS_AVAILABLE(为了检查信道的可用性),用于由连接交叉的各个链路;宿节点的输入插头控制寄存器(IEC 61883定义的′iPCR′),用于核实该节点为空闲且可以接收数据流。
4在下面的基础上执行锁定请求IRM BANDWIDTH_AVAILABLE寄存器(为了在IEEE 1394网络上预约带宽);IRM CHANNELS_AVAILABLE寄存器(为了在IEEE 1394网络上预约信道);5如果请求成功了,在下面的基础上执行锁定请求LRM LINK_BANDWIDTH_AVAILABLE寄存器,用于由连接交叉形成的各个链路(为了预约各个链路上的带宽),该寄存器包括源PhyID、宿PhyID以及在IRM已经被分配的信道号;源的oPCR(为了调整该寄存器以显示出连接的存在)宿的iPCR(为了调整该寄存器以显示出连接的存在)6.2关闭连接为了关闭连接,应用必须1在下面的基础上执行读取请求源的oPCR核实该源没有被覆盖(即就是只连接了一个收听者节点部分)IRM BANDWIDTH_AVAILABLE寄存器;LRM LINK_BANDWIDTH_AVAILABLE寄存器,用于由连接交叉形成的各个链路。
2在下面的基础上执行锁定请求IRM BANDWIDTH_AVAILABLE寄存器
IRM CHANNELS_AVAILABLE寄存器LRM LINK_BANDWIDTH_AVAILABLE寄存器,用于由连接交叉形成的各个链路源节点的oPCR宿节点的iPCR6.2网络复位之后重建连接总线复位由链路传播。无论复位发生在何处,创建连接的应用都能意识到总线复位的发生。基本上,重建所遵循的规则与创建连接的规则相同。LRM寄存器与IRM寄存器复位的方式相同。
6.3覆盖连接为了覆盖连接,应用必须1得到拓扑图,并检查在源节点与宿节点之间的通路上是否有一个或几个链路。推断出哪一个节点已经被连接预约。
2在源的oPCR上执行读取请求,以了解所需的带宽(如果呼叫方客户没有给出带宽)。
3在下面的基础上执行读取请求LRM LINK_BANDWIDTH_AVAILABLE寄存器(为了获得各个链路上可用带宽的数量),用于由连接交叉形成且没有被预约的各个链路。
LRM LINK_CHANNELS_AVAILABLE寄存器(为了检查信道的可用性),用于由连接交叉形成且没有被预约的各个链路。
宿节点的iPCR,用于核实该节点为空闲。
4在下面的基础上执行锁定请求LRM LINK_BANDWIDTH_AVAILABLE寄存器(为了获得各个链路上可用带宽的数量),用于由连接交叉形成且没有被预约的各个链路;LRM LINK_CHANNELS_AVAILABLE寄存器,用于由连接交叉形成的各个链路,该寄存器包括源PhyID、宿PhyID以及在IRM已经分配的信道号。
源节点的oPCR宿节点的iPCR利用上述,应用可以检测到是否建立了连接以及哪个链路未能提供充分的资源。根据不是这里所述目的的方法,为了避免失败的连接,可以建议应用更改网络的拓扑图。
图8表示了图1的网络,其中源13和16分别与总线12和11相连以响应应用对用户的指示。
7、带宽使用的改善如果第一个应用在可提供30Mb/s的HiperLAN2链路上预约了20Mb/s带宽,但只用了10Mb/s,浪费了10Mb/s的带宽。需要15Mb/s的第二个应用就不能实现预约。
根据变化实施例,链路的LRM核实与预约带宽相比应用的实际使用带宽并得到可用差额以用于其他应用的分配。
图5所示的竖条表示了链路上的可用带宽。出于本例的目标,总可用带宽为10个单元。对于每一个应用预约的信道来说,LRM保留了两个参数。第一个参数(下文中标为’R’)表示被预约带宽。第二个参数(标为’O’)表示被预约带宽与信道上应用实际使用带宽之差。O表示用于该信道的最优化带宽。
根据图5中例子,三个应用(A1,A2,A3)依次预约带宽。字母R和O旁边的数值分别表示了用于各个应用的带宽值。
第一个应用A1在信道7上预约了3个单元(步骤1),但LRM推断出A1只使用了一个。将用于A1的参数O置为值2(步骤2)。接着应用A2在信道33上预约了4个单元(步骤3),但只使用了两个用于该应用的参数O也为值2(步骤4)。最后,应用A3在信道2上预约了4个单元并且全部都使用了(步骤5)。这样可以将3个单元分配给其他的应用并且LRM适当地设置新的link_bw_available值。
图6表示了当应用开始释放带宽时图5中的带宽。由于应用没有意识到自己并没有把预约的带宽全部留给自己使用,它们会利用适当的锁定请求释放预约的数量。
假设应用A1希望释放其信道和带宽(步骤6)。它会发送试图将link_bw_available值增大到3的锁定请求,即三个单元。LRM会利用包括link_bw_available值增加三个单元的正锁定请求来假装释放应用A1的三个单元,但实际上只会用实际使用的单元数量,即1,来有效地增加该值。应用于A3和A2的资源释放概念是相同的。
根据这个过程,应用可能必须使在其锁定请求中使用大于在LINK_BANDWIDTH_AVAILABLE寄存器中给出的最大带宽的带宽值。例如在步骤8,为了释放带宽的4个单元,由于寄存器的当前值是8,应用A2会在其锁定请求中使用期待值(′data_value′)12。
不过,应用的带宽释放肯定不会导致使用的带宽值超过0X1FFF,这是因为该值表示的是为该目标预约的13位编码的最大值。因此,LRM提供的一个信道上带宽的改善不会大于0X1FFF减去链路上可用带宽的最大值。
例如,链路带宽为0X1333时,用于任意一个信道改善的最大值不会超过0XCCC。
8、利用单一链路的多个网络互连根据变化实施例,几个类型的网络可以同时使用网络。图8所示为包含了四个入口74至77的链路框图。入口74和75分别与两个IEEE 1394总线70和71相连接。入口76和77分别与两个IP网络72和73相连接。链路以透明方式连接两个总线70和71,即就是说,在较低层认为所有的总线设备在单一总线上。对于IP网络来说也是如此认为所有的IP设备在单一IP网络上。总线70/71组成的网络以及IP网72/73的网络均忽略了其他网络的存在。它们仍然可以共享使用由入口74到77形成的链路资源。入口可以包括在单一设备中或由分离设备形成(例如在无线链路的情况下)。
入口必须将网络资源分配给所有网络类型。根据本实施例,会给各种类型的网络提供单独的LRM。在本例的情况下,给IEEE 1394总线的网络提供了一个LRM,并给IP网络提供了一个LRM。在下文中将这两个LRM称为LRM-1394和LRM-IP。LRM-IP向IP设备提供的接口不需要与LRM 1394向LRM 1394节点提供的相同。
由于这两个LRM被分配了相同的资源,它们根据链路实际的操作交换有关资源分配的信息。
前面已经讨论过,即使链路的容量更大,例如在两个总线之间链路上使用的带宽通常也不会超过总线上的可用带宽。在现在这种情况下,几个网络竞争相同资源这种情况对于仅在确定环境中的给定网络会有限制效果。
考虑下面这种情况链路带宽大于IEEE 1394带宽。
在这种情况下,除非被IP网预约的带宽使总的链路带宽减少到小于0X1333带宽单元(IEEE 1394单元),否则在IP网上预约的带宽不会减少LRM-1394的LINK_BANDWIDTH_AVAILABLE寄存器中bw_remaining的值。
将同样的行为应用于信道。
预约是真实的(即IEEE 1394网络的带宽和信道预约)9、LRM选择本发明作用于点对点链路(每个网络只包括一对入口)和多点网络(每个网络包括多于两个入口)。在这两种情况下,在给定网络中LRM设备的选择存在两种可能性一个入口(对每个网络而言)承担LRM的任务且所有应用向该设备发送消息;或是各个应用向与其连接的入口发送消息且链路内部的专用协议使入口同步。
换句话说,在第一种情况下,由从所有候选入口中选出的单一入口来管理LRM,各个应用都了解当选的入口,而在第二种情况下,没有进行选择且各个应用都不知道LRM的位置,只是简单地将请求发送到距离它们最近的入口。
在包括了链路的网络为IEEE 1394总线网络情况下,现在对这两种可能性进行说明。
(a)单一LRM入口选择一个入口承担LRM的任务。在网络或总线复位期间执行选择。这里将介绍两种选择LRM入口的选择方法。第一种方法基于对网络拓扑图的分析。第二种方法基于入口的选择,随后是向应用宣布或公开当选LRM的物理识别符。
拓扑算法根据本方法,候选入口中PhyID值最大的入口当选为LRM。这种算法的优点在于非常简单,这是因为很容易利用到来自IEEE 1394层的拓扑。在每次总线复位之后,应用必须检查拓扑以确定各个链路的LRM。
专用链路选择该方法执行了链路(根据链路的特殊协议,即入口之间)“内部”的动态协议,这意味着在总线复位之后可以更换LRM(例如如果删除了是LRM的入口)。
而且,为了使IEEE 1394应用了解哪个节点表示LRM,在入口的配置存储器(′config rom′)中定义特定的条目,这个新条目存在于所有入口设备的配置存储器中。
表22给出了根据本例的存储器条目的格式。可能是其他格式。
8比特 1比特6比特

表22‘s’为同步位。当‘s’为’1’时,认为Phy ID值不是最新值且现在正在改变。这可能发生在例如总线复位之后。当‘s’等于’0’时,Phy ID值表示用于此链路的LRM的Phy ID。更新Phy ID值的方法是链路专用的。
(b)无LRM入口选择根据第二种方法,各个应用向与其连接的入口发送消息(即读取请求和锁定请求)。每一个入口执行LRM寄存器。链路内部的专用协议实现了入口之间的同步以避免同时发生的多锁定请求引起的冲突。
权利要求
1.一种用于管理包括总线的通信网络中的链路资源的方法,该总线由至少一个链路互联以形成一个其中至少一个链路对于某些与总线相连节点的协议层来说是透明的网络,所述方法的特征在于包括步骤使至少一个链路上的可用资源信息对于认识链路的应用是可用的。
2.根据权利要求1所述的方法,其特征在于每个链路包括多个入口,链路的至少一个入口包括有关该链路的所述资源信息。
3.根据权利要求2所述的方法,其特征在于所述信息包括链路上的可用带宽。
4.根据权利要求2或3所述的方法,其特征在于所述信息包括链路上的可用信道。
5.根据权利要求4所述的方法,其特征在于一个应用通过以下步骤在网络的两个节点之间建立连接a在总线上预约用于连接的信道和带宽;b识别要被连接的节点之间的通路上的链路;c如果步骤a成功,为所述通路上的每一个链路预约资源。
6.根据权利要求5所述的方法,其特征在于为每一个链路预约资源的步骤包括步骤-使应用请求预约与在步骤a从各个链路预约到的带宽和信道相同的带宽和信道。
7.根据权利要求6所述的方法,其特征在于为每一个链路预约资源的步骤进一步包括步骤-由应用将要与入口连接的节点的标识符发送到资源要被预约链路的入口;-作为被连接节点的功能,使链路判断请求的带宽是否可用;-作为此判断的功能,接受或拒绝带宽预约请求。
8.根据权利要求7所述的方法,其特征在于为每一个链路预约资源的步骤进一步包括步骤-使链路检查被请求信道的可用性,如果该链路上的信道是可用的,接受信道预约;-检查是否达到了链路上可预约信道最大值,并且在肯定的情况下拒绝其他的预约。
9.根据权利要求7的方法,该方法包括了提供一个表示网络的信道可用性的寄存器和一个表示各个链路的信道可用性的寄存器的步骤,其特征在于两个寄存器都包括相同的信道数和各个链路可以并行预约的信道数的最大值,所述最大值小于或等于寄存器中的信道号,在接受了信道预约之后,为链路提供资源信息的入口检查已经被并行预约的信道是否达到了最大值,并在肯定的情况下修改链路的寄存器以表示对于该链路而言没有可用的信道。
全文摘要
本发明涉及一种用于包括总线的管理通信网络中的链路资源的方法,该总线由至少一个链路互联以形成一个其中至少一个链路对于某些与总线相连节点的协议层来说是透明的网络。本发明方法的特征在于包括步骤使至少一个链路上的可用资源信息对于认识链路的应用是可用的。
文档编号H04L12/54GK1663193SQ02810757
公开日2005年8月31日 申请日期2002年5月24日 优先权日2001年5月29日
发明者让-巴普蒂斯特·亨利, 塞巴斯蒂安·佩洛特 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1