分组处理装置、流表项配置方法和程序的制作方法_3

文档序号:8548397阅读:来源:国知局
221参考表项管理表222,在删除流表211中的相关流表项之后,在表项管理表222中删除与所删除的流表项相对应的表项。
[0051]应注意,在记录新的流表项的情况下(例如,在表项I和表项2之间,以及在图3的表项(N-1)和表项N之间),可以存在在流表211中根据优先级组和组内优先级标识的位置不为空的情况。在这种情况下,表项设置单元221搜索最接近的空区域,移位流表项以便确保用于存储相关的新的流表项的区域。例如,在从控制装置10接收到要在图3的表项I和表项2之间存储流表项的情况下,表项设置单元221将表项2向下移位一位,将新的流表项存储在此前存储表项2的位置处。
[0052]应注意,图1和图2所示的分组处理单元20的表项检索单元22可以由计算机程序实现,在使用其硬件配置分组处理装置20的计算机上,该计算机程序执行流表211的操作处理,并与上述表项管理表222 —同工作。
[0053]接下来,参考附图,考虑本示例实施例的操作,给出了详细描述。图6是表示本发明第一示例实施例的操作的序列图。控制装置10根据来自分组处理装置20的设置流表项的请求或预定通信策略,创建要在分组处理装置20中设置的流表项,并向分组处理装置20发送流表项设置消息(步骤S001)。
[0054]当接收到新流表项设置消息时,分组处理装置20标识新的流表项所属的优先级组以及组内优先级(层2优先级)(步骤S002)。针对标识优先级组和组内优先级的方法,可以考虑多种方法:例如,可以将在来自控制装置10的新流表项设置消息中指定的优先级信息的高位比特用于标识优先级组,将低位比特用于标识组内优先级。
[0055]接下来,分组处理装置20确认在流表211中与所标识的优先级组和组内优先级相对应的位置是否为空,即对现有表项的移位操作是否是必要的(步骤S003)。
[0056]作为确认的结果,在流表211中与所标识的优先级组和组内优先级相对应的位置为空的情况下,即在可以存储新的流表项而无需执行将现有表项移位的操作的情况下(步骤S003中的“否”),分组处理装置20将新的流表项记录在流表221的相关位置中(步骤S004、S005),并将流表211中的位置(表项号)记录在表项管理表222的相关表项的表项号列中(步骤S006)。
[0057]图7是对于图5所示的状态,表示相应表在新接收新的流表项F的情况下的改变的图,其中新的表项F的优先级组为“4”且组内优先级为“2”。分组处理装置20确认在流表211中与优先级组为“4”且组内优先级为“2”相对应的位置是否为空。在图5的时间点,由于流表211中与优先级组为“4”且组内优先级为“2”相对应的位置为空,分组处理装置20将流表项F记录在从流表211顶部开始的第(X-1)个区域内。分组处理装置20将(X-1)记录在表项管理表格222中作为流表项F的表项号。
[0058]图8是在判断在流表211中没有与所标识的优先级分组和组内优先级相对应的空位置的情况下(作为图6的步骤S003的确认结果)进行的操作的序列图,即在对现有表项的移位操作是必要的情况下(步骤S003中的“是”)进行的操作的序列图。在这种情况下,分组处理装置20在所述优先级组中搜索与流表211的相关位置最接近的空区域。作为搜索的结果,在所述优先级组中没有发现空区域的情况下,分组处理装置20删除流表项设置消息,并向控制装置10返回错误(步骤S103)。控制装置10接收错误响应,并考虑从流表211中删除不必要的流表项。
[0059]另一方面,作为搜索的结果,在所述优先级组中发现了空区域的情况下,分组处理装置20通过沿空区域的方向对属于所述优先级组的流表项进行移位,来创建空区域,其中将与所标识的优先级组和组内优先级相对应的位置作为起点(步骤S104)。此后,分组处理装置20返回到图6中的步骤S004和以下步骤,执行将新的流表项记录在流表211中以及并对表项管理表222的更新。
[0060]图9是对于图7所示的状态,表示相应表在新接收新的流表项G的情况下的改变的图,其中新的表项G的优先级组为“2”且组内优先级为“4”。分组处理装置20确认在流表211中是否在与优先级组为“2”且组内优先级为“4”相对应的位置处存在空区域。在图7的时间点,由于连续存储了属于优先级组“2”的表项I (组内优先级为“2”)和表项2(组内优先级为“6”),在组内优先级为“4”流表211中没有与优先级组为“2”且组内优先级为“4”相对应的空位置。
[0061]因此,如图10所示,分组处理装置20检测到在流表211中在表项2之后存在空区域,执行将表项2的存储位置向下移位一位的移位处理。与此相结合,分组处理装置20将在表项管理表222中该表项此前为2的表项号修改为“3”。应注意,这里所述的移位操作可以仅是新的流表项的量,也就是说,仅移位I位,或考虑到将来使用,可以进行移位以便制造出多个空区域。
[0062]当可以通过移位处理来确保空区域时,在流表211中,如图11所示,分组处理装置22将新的流表项G(新的表项2)记录为表项号2。分组处理装置20将“2”记录在表项管理表222中的新的流表项G的表项号列中。
[0063]从以上描述中应清楚,根据本示例实施例,可以通过按照优先级顺序排列流表项来实现使匹配处理加速,并可以在记录新的流表项时减小排序成本。
[0064]针对本发明的相应示例实施例进行了描述,然而本发明不限于上述示例实施例,可以在不脱离本发明的基础技术构思的范围内进行多种修改、替换和调整。例如,相应附图所示的网络配置和元素配置是示例性的,以便帮助理解本发明,不是为了将本发明限制为附图所示的配置。
[0065]例如,尽管在上述示例实施例中描述了将在来自控制装置10的新流表项设置消息中指定的优先级信息的低位比特用作组内优先级,但是还可以将来自控制装置10的流表项设置消息的到达顺序用作组内优先级(层2优先级)。通过这样做,可以进一步限制流表项的移位处理的发生频率。
[0066]在上述示例实施例中,描述了当在存储新的流表项的相同优先级组中没有发现空区域时,分组处理装置20删除流表项设置消息并向控制装置10返回错误,但是还可以如下所示地执行修改实现方案。
[0067](I)在流表211的另一优先级组中存在空区域的情况下,将新的流表项记录在相关空区域中。此外,将记录新的流表项的区域添加到向流表211的相关优先级组分配的区域(从向存在空区域的另一优先级组分配的区域删除记录先前新的流表项的区域)。在这种情况下,在存在具有空区域的多个优先级组的情况下,可以选择具有最低优先级的优先级组,或最接近该优先级的优先级组。应注意,为了不集中分配特定优先级组中的区域,对空区域的分配可以返回到删除相关优先级组的流表项时的原始优先级组。
[0068](2)在流表211中的所有优先级组中没有空区域的情况下,删除由指定参考选择的流表项,向控制装置10进行报告。应注意,对于指定参考,可以根据例如最近使用的低优先级组和组内优先级等的参考,选择要删除的流表项。
[0069](3)可以将流表项211的若干区域确定为初始状态下不属于任何优先级组的共享区域。这样做,可以更有效地使用流表211的区域。
[0070]最终,总结本发明的优选模式
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1