用于网络设备流查找管理的技术的制作方法_5

文档序号:9931190阅读:来源:国知局
能够容纳所述网络流散列,并且其中,将所述网络流散列锁 定在高速缓存中包括:基于从所述网络控制器接收到的优先级,来设置与所述网络流散列 相对应的高速缓存行的位。
[0077] 示例12包括示例1-11中的任何示例所述的主题,并且其中,设置所述高速缓存行 的所述位包括:设置所述高速缓存行的存活期位。
[0078] 示例13包括示例1-12中的任何示例所述的主题,并且其中,设置所述高速缓存行 的所述位包括:设置所述高速缓存行的驱逐指示符位。
[0079] 示例14包括示例1-13中的任何示例所述的主题,并且还包括网络流散列查找模 块,其用于:对所述网络设备接收到的所述网络分组的报头的至少一部分进行散列;以及在 所述多级流散列表的所述第一级流散列表处执行针对所述网络分组的所述报头的所述经 散列的部分的第一查找。
[0080] 示例15包括示例1-14中的任何示例所述的主题,并且其中,所述网络流散列查找 模块还用于:在所述第一级流散列表处不成功的第一查找之后,在所述第二级流散列表处 执行针对所述网络分组的所述报头的所述经散列的部分的第二查找。
[0081] 示例16包括示例1-15中的任何示例所述的主题,并且还包括:其中,所述网络流散 列查找模块还用于:在执行所述第二查找之前,执行概率运算,以确定与所述网络分组的所 述报头的所述经散列的部分相对应的所述网络流散列是否处于所述第二级流散列表中的 概率。
[0082] 示例17包括示例1-16中的任何示例所述的主题,并且其中,所述网络流散列查找 模块还用于:对与所述网络流散列相对应的访问信息进行更新。
[0083] 示例18包括示例1-17中的任何示例所述的主题,并且其中,对与所述网络流散列 相对应的所述访问信息进行更新包括:对所述网络流散列的访问计数器进行递增以提供访 问频率。
[0084] 示例19包括示例1-18中的任何示例所述的主题,并且其中,对与所述网络流散列 相对应的所述访问信息进行更新还包括:对所述网络流散列的时间戳进行更新,以提供关 于最近一次对所述网络流散列的所述访问计数器进行递增的指示。
[0085]示例20包括一种用于对与网络流相对应的网络流散列的存储位置进行管理的方 法,所述方法包括:由网络设备从网络控制器接收网络流以及与所述网络流相对应的优先 级;由所述网络设备将所述网络流存储到所述网络设备的主存储器中的网络流表;由所述 网络设备生成与所述网络流相对应的网络流散列;以及由所述网络设备基于从所述网络控 制器接收到的优先级,将与所述网络流相对应的所述网络流散列存储在多级流散列表的第 一级流散列表或者第二级流散列表中的一项处,其中,所述第一级流散列表存储在用于所 述网络设备的处理器的高速缓存中,并且其中,所述第二级流散列表的至少一部分存储在 所述高速缓存中。
[0086] 示例21包括示例20所述的主题,并且其中,所述第一级流散列表和所述第二级流 散列表中的每一个均包括多个网络流散列条目,所述多个网络流散列条目与存储在所述网 络流表中的多个网络流相对应。
[0087] 示例22包括示例20和21中的任何示例所述的主题,并且其中,存储所述网络流散 列包括:响应于确定与所述网络流散列相对应的优先级高于与当前存储在所述第一级流散 列表处的另一个网络流散列相对应的优先级,将所述网络流散列存储在所述第一级流散列 表中。
[0088] 示例23包括示例20-22中的任何示例所述的主题,并且还包括:响应于确定与所述 网络流散列相对应的优先级高于与另一个网络流散列相对应的优先级,由所述网络设备将 所述另一个网络流散列驱逐到所述第二级流散列表。
[0089] 示例24包括示例20-23中的任何示例所述的主题,并且其中,存储所述网络流散列 包括:在确定所述网络流散列的访问频率高于当前存储在所述第一级流散列表处的另一个 网络流散列的访问频率之后,将所述网络流散列存储在所述第一级流散列表中。
[0090] 示例25包括示例20-24中的任何示例所述的主题,并且其中,所述第二级流散列表 的另一部分存储在所述网络设备的所述主存储器中。
[0091] 示例26包括示例20-25中的任何示例所述的主题,并且其中,存储所述网络流散列 包括:响应于确定与所述网络流散列相对应的优先级低于当前存储在所述第一级流散列表 处的网络流散列的优先级,并且所述网络流散列的访问频率高于当前存储在所述第二级流 散列表的在所述处理器的所述高速缓存中存储的所述部分处的其它网络流散列的访问频 率,将所述网络流散列存储在所述第二级流散列表的在所述处理器的所述高速缓存中存储 的所述部分中。
[0092] 示例27包括示例20-26中的任何示例所述的主题,并且还包括:由所述网络设备基 于从所述网络控制器接收到的优先级,将与所述网络流相对应的所述网络流散列锁定在高 速缓存中。
[0093] 示例28包括示例20-27中的任何示例所述的主题,并且其中,所述高速缓存包括多 个高速缓存行,每个高速缓存行能够容纳所述网络流散列,并且其中,将所述网络流散列锁 定在高速缓存中包括:基于从所述网络控制器接收到的优先级,来设置与所述网络流散列 相对应的高速缓存行的位。
[0094] 示例29包括示例20-28中的任何示例所述的主题,并且其中,设置所述高速缓存行 的所述位包括:设置所述高速缓存行的存活期位。
[0095] 示例30包括示例20-29中的任何示例所述的主题,并且其中,设置所述高速缓存行 的所述位包括:设置所述高速缓存行的驱逐指示符位。
[0096] 示例31包括示例20-30中的任何示例所述的主题,并且还包括:由所述网络设备对 所述网络设备接收到的所述网络分组的报头的至少一部分进行散列;以及由所述网络设备 在所述多级流散列表的所述第一级流散列表处执行针对所述网络分组的所述报头的所述 经散列的部分的第一查找。
[0097] 示例32包括示例20-31中的任何示例所述的主题,并且还包括:在所述第一级流散 列表处不成功的第一查找之后,由所述网络设备在所述第二级流散列表处执行针对所述网 络分组的所述报头的所述经散列的部分的第二查找。
[0098] 示例33包括示例20-32中的任何示例所述的主题,并且还包括:在执行所述第二查 找之前,由所述网络设备执行概率运算,以确定与所述网络分组的所述报头的所述经散列 的部分相对应的所述网络流散列是否处于所述第二级流散列表中的概率。
[0099] 示例34包括示例20-33中的任何示例所述的主题,并且还包括:由所述网络设备对 与所述网络流散列相对应的访问信息进行更新。
[0100] 示例35包括示例20-34中的任何示例所述的主题,并且其中,对与所述网络流散列 相对应的所述访问信息进行更新包括:对所述网络流散列的访问计数器进行递增以提供访 问频率。
[0101] 示例36包括示例20-35中的任何示例所述的主题,并且其中,对与所述网络流散列 相对应的所述访问信息进行更新还包括:对所述网络流散列的时间戳进行更新,以提供关 于最近一次对所述网络流散列的所述访问计数器进行递增的指示。
[0102] 示例37包括一种网络设备,所述网络设备包括:处理器;其上存储有多个指令的存 储器,当所述多个指令由所述处理器执行时,使得所述网络设备执行示例20-36中的任何示 例所述的方法。
[0103] 示例38包括一个或多个机器可读存储介质,其中所述一个或多个机器可读存储介 质包括其上存储的多个指令,响应于执行所述多个指令,使得网络设备执行示例20-36中的 任何示例所述的方法。
[0104]示例39包括一种用于对与网络流相对应的网络流散列的存储位置进行管理的计 算设备,所述计算设备包括:用于从网络控制器接收网络流以及与所述网络流相对应的优 先级的单元;用于将所述网络流存储到所述网络设备的主存储器中的网络流表的单元;用 于生成与所述网络流相对应的网络流散列的单元;以及用于基于从所述网络控制器接收到 的优先级,将与所述网络流相对应的所述网络流散列存储在多级流散列表的第一级流散列 表或者第二级流散列表中的一项处的单元,其中,所述第一级流散列表存储在用于所述网 络设备的处理器的高速缓存中,并且其中,所述第二级流散列表的至少一部分存储在所述 高速缓存中。
[0105] 示例40包括示例39所述的主题,并且其中,所述第一级流散列表和所述第二级流 散列表中的每一个均包括多个网络流散列条目,所述多个网络流散列条目与存储在所述网 络流表中的多个网络流相对应。
[0106] 示例41包括示例39和40中的任何示例所述的主题,并且其中,所述用于存储所述 网络流散列的单元包括:用于响应于确定与所述网络流散列相对应的优先级高于与当前存 储在所述第一级流散列表处的另一个网络流散列相对应的优先级,将所述网络流散列存储 在所述第一级流散列表中的单元。
[0107] 示例42包括示例39-41中的任何示例所述的主题,并且还包括:用于响应于确定与 所述网络流散列相对应的优先级高于与另一个网络流散列相对应的优先级,将所述另一个 网络流散列驱逐到所述第二级流散列表的单元。
[0108] 示例43包括示例39-42中的任何示例所述的主题,并且其中,所述用于存储所述网 络流散列的单元包括:用于在确定所述网络流散列的访问频率高于当前存储在第一级流散 列表处的另一个网络流散列的访问频率之后,将所述网络流散列存储在所述第一级流散列 表中的单元。
[0109] 示例44包括示例39-43中的任何示例所述的主题,并且其中,所述第二级流散列表 的另一部分存储在所述网络设备的所述主存储器中。
[0110] 示例45包括示例39-44中的任何示例所述的主题,并且其中,所述用于存储所述网 络流散列的单元包括:用于响应于确定与所述网络流散列相对应的优先级低于当前存储在 所述第一级流散列表处的网络流散列的优先级,并且所述网络流散列的访问频率高于当前 存储在所述第二级流散列表的在所述高速缓存中存储的所述部分处的其它网络流散列的 访问频率,将所述网络流散列存储在所述第二级流散列表的在所述高速缓存中存储的所述 部分中的单元。
[0111] 示例46包括示例39-45中的任何示例所述的主题,并且还包括:用于基于从所述网 络控制器接收到的优先级,将与所述网络流相对应的所述网络流散列锁定在高速缓存中的 单元。
[0112] 示例47包括示例39-46中的任何示例所述的主题,并且其中,所述高速缓存包括多 个高速缓存行,每个高速缓存行能够容纳所述网络流散列,并且其中,所述用于将所述网络 流散列锁定在高速缓存中的单元包括:用于基于从所述网络控制器接收到的优先级,来设 置与所述网络流散列相对应的高速缓存行的位的单元。
[0113] 示例48包括示例39-47中的任何示例所述的主题,并且其中,所述用于设置所述高 速缓存行的所述位的单元包括:用于设置所述高速缓存行的存活期位的单元。
[0114] 示例49包括示例39-48中的任何示例所述的主题,并且其中,所述用于设置所述高 速缓存行的所述位的单元包括:用于设置所述高速缓存行的驱逐指示符位的单元。
[0115] 示例50包括示例39-49中的任何示例所述的主题,并且还包括:用于对所述网络设 备接收到的所述网络分组的报头的至少一部分进行散列的单元;以及用于在所述多级流散 列表的所述第一级流散列表处执行针对所述网络分组的所述报头的所述经散列的部分的 第一查找的单元。
[0116] 示例51包括示例39-50中的任何示例所述的主题,并且还包括:用于在所述第一级 流散列表处不成功的第一查找之后,在所述第二级流散列表处执行针对所述网络分组的所 述报头的所述经散列的部分的第二查找的单元。
[0117] 示例52包括示例39-51中的任何示例所述的主题,并且还包括:用于在执行所述第 二查找之前,执行概率运算,以确定与所述
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1