Method for heap management
    1.
    发明授权
    Method for heap management 有权
    堆管理方法

    公开(公告)号:US09086950B2

    公开(公告)日:2015-07-21

    申请号:US13627714

    申请日:2012-09-26

    Applicant: Avaya, Inc.

    Inventor: Hamid Assarpour

    CPC classification number: G06F12/023

    Abstract: A bitmask array is implemented as a two dimensional bit array where each bit represents an allocated/free cell of the heap. Groups of bits of the bitmask array are assigned to implement commonly sized memory cell allocation requests. The heap manager keeps track of allocations by keeping separate lists of which groups are being used to implement commonly sized memory cell allocations requests by maintaining linked lists according to the number of cells allocated per request. Each list contains a list of the bit groups that have been used to provide allocations for particularly sized requests. By maintaining lists based on allocation size, the heap manager is able to cause new allocation requests to be matched up with previously retired allocations of the same size. Memory may be dynamically allocated between lists of differently sized memory requests.

    Abstract translation: 位元阵列被实现为二维位阵列,其中每个位表示堆的分配/空闲单元。 分配位掩码数组的位组以实现通常大小的存储器单元分配请求。 堆管理器通过根据每个请求分配的单元数量,通过维护链接列表来保持正在使用哪些组的单独列表来实现通常大小的内存单元分配请求。 每个列表包含用于为特定大小的请求提供分配的位组的列表。 通过基于分配大小维护列表,堆管理器能够使新的分配请求与先前退出的相同大小的分配相匹配。 可以在不同大小的存储器请求的列表之间动态地分配存储器。

    Method for IPv6 Longest Prefix Match
    2.
    发明申请
    Method for IPv6 Longest Prefix Match 有权
    IPv6最长前缀匹配方法

    公开(公告)号:US20140086249A1

    公开(公告)日:2014-03-27

    申请号:US13628068

    申请日:2012-09-27

    Applicant: AVAYA, INC.

    Inventor: Hamid Assarpour

    CPC classification number: H04L45/7457 H04L45/748

    Abstract: IPv6 longest prefix match lookups are implemented by splitting disjoint forwarding rules from non-disjoint forwarding rules and storing these forwarding rules in separate TCAMs. When an IPv6 address is received, the full IP address is passed to the TCAM containing the disjoint forwarding rules and the first n bits of the IP address are passed to the TCAM containing the non-disjoint forwarding rules. If a hit is received in the TCAM containing the disjoint forwarding rules, a result of the hit is used to implement a forwarding decision and the search in the TCAM containing the non-disjoint forwarding rules is terminated. If no hit is obtained from the disjoint TCAM, the search result of the non-disjoint TCAM is used. If a continue flag is set in the result received from the disjoint TCAM, a sub-trie based lookup is implemented based on the remaining m bits of the IPv6 address.

    Abstract translation: IPv6最长前缀匹配查找是通过从不相交转发规则中分离不相交的转发规则并将这些转发规则存储在单独的TCAM中实现的。 当接收到IPv6地址时,将完整的IP地址传递给包含不相交转发规则的TCAM,并将IP地址的前n位传递给包含非不相交转发规则的TCAM。 如果在包含不相交转发规则的TCAM中接收到命中,则命中结果用于实现转发决定,并且终止包含非不相交转发规则的TCAM中的搜索。 如果从不相交的TCAM中没有获得命中,则使用非相交TCAM的搜索结果。 如果在从不相交的TCAM接收到的结果中设置了继续标志,则基于IPv6地址的剩余m位实现基于子行为的查找。

    Method for IP Longest Prefix Match Using Prefix Length Sorting
    3.
    发明申请
    Method for IP Longest Prefix Match Using Prefix Length Sorting 有权
    使用前缀长度排序的IP最长前缀匹配的方法

    公开(公告)号:US20140086248A1

    公开(公告)日:2014-03-27

    申请号:US13627841

    申请日:2012-09-26

    Applicant: AVAYA, INC.

    Inventor: Hamid Assarpour

    CPC classification number: H04L45/748

    Abstract: Prefix length memory tables are used to enable fast IPv4 LPM lookups using a single memory access for a first range of IP prefixes, and using two memory accesses for larger IP prefixes. Each of the prefix length memory tables is used to hold a set of forwarding rules associated with a different prefix length range. IP LPM operations are then performed in parallel in each of the prefix length memory tables of the set, and the forwarding rule matching the longest prefix is returned from each of the memory tables. A priority encoder is used to select between positive results from the multiple prefix length memory tables to enable the forwarding rule with the largest matching prefix to be used to key into the next hop forwarding table. The method utilizes low cost DDR SDRAM rather than TCAM, and also exhibits low overhead.

    Abstract translation: 前缀长度内存表用于启用快速IPv4 LPM查找,使用单个内存访问获取第一个IP前缀范围,并使用两个内存访问来获取较大的IP前缀。 每个前缀长度存储表用于保存与不同前缀长度范围相关联的一组转发规则。 然后在集合的每个前缀长度存储器表中并行执行IP LPM操作,并且从每个存储器表返回与最长前缀匹配的转发规则。 优先级编码器用于在多个前缀长度存储器表的正结果之间进行选择,以使具有最大匹配前缀的转发规则用于键入下一跳转发表。 该方法利用低成本DDR SDRAM而不是TCAM,并且还具有低开销。

    Self Adapting Driver for Controlling Datapath Hardware Elements
    4.
    发明申请
    Self Adapting Driver for Controlling Datapath Hardware Elements 审中-公开
    用于控制数据路径硬件元素的自适应驱动程序

    公开(公告)号:US20140086241A1

    公开(公告)日:2014-03-27

    申请号:US13628358

    申请日:2012-09-27

    Applicant: AVAYA, INC.

    Inventor: Hamid Assarpour

    CPC classification number: H04L12/4641

    Abstract: A self adapting driver for controlling datapath hardware elements uses a generic driver and a configuration library to create a set of data structures and methods to map information provided by applications to physical tables. A set of virtual tables is implemented as an interface between the applications and the generic driver. The generic driver uses the configuration library to determine a mapping from the virtual tables to the physical tables. A virtual table schema definition is parsed to create the configuration library, such that changes to the physical infrastructure may be implemented as changes to the virtual table schema definition without adjusting the driver code. Thus automatically generated creation of generic packet forwarding drivers is able to be implemented through the use of a configuration language that defines the meaning of the information stored in the virtual tables.

    Abstract translation: 用于控制数据路径硬件元件的自适应驱动程序使用通用驱动程序和配置库来创建一组数据结构和方法,以将应用程序提供的信息映射到物理表。 一组虚拟表被实现为应用程序和通用驱动程序之间的接口。 通用驱动程序使用配置库来确定从虚拟表到物理表的映射。 解析虚拟表模式定义以创建配置库,以便可以将物理基础架构的更改实现为虚拟表模式定义的更改,而无需调整驱动程序代码。 因此,能够通过使用定义虚拟表中存储的信息的含义的配置语言来实现通用分组转发驱动器的自动生成创建。

    Method for IP longest prefix match using prefix length sorting
    5.
    发明授权
    Method for IP longest prefix match using prefix length sorting 有权
    使用前缀长度排序的IP最长前缀匹配方法

    公开(公告)号:US08848707B2

    公开(公告)日:2014-09-30

    申请号:US13627841

    申请日:2012-09-26

    Applicant: Avaya, Inc.

    Inventor: Hamid Assarpour

    CPC classification number: H04L45/748

    Abstract: Prefix length memory tables are used to enable fast IPv4 LPM lookups using a single memory access for a first range of IP prefixes, and using two memory accesses for larger IP prefixes. Each of the prefix length memory tables is used to hold a set of forwarding rules associated with a different prefix length range. IP LPM operations are then performed in parallel in each of the prefix length memory tables of the set, and the forwarding rule matching the longest prefix is returned from each of the memory tables. A priority encoder is used to select between positive results from the multiple prefix length memory tables to enable the forwarding rule with the largest matching prefix to be used to key into the next hop forwarding table. The method utilizes low cost DDR SDRAM rather than TCAM, and also exhibits low overhead.

    Abstract translation: 前缀长度内存表用于启用快速IPv4 LPM查找,使用单个内存访问获取第一个IP前缀范围,并使用两个内存访问来获取较大的IP前缀。 每个前缀长度存储表用于保存与不同前缀长度范围相关联的一组转发规则。 然后在集合的每个前缀长度存储器表中并行执行IP LPM操作,并且从每个存储器表返回与最长前缀匹配的转发规则。 优先级编码器用于在多个前缀长度存储器表的正结果之间进行选择,以使具有最大匹配前缀的转发规则用于键入下一跳转发表。 该方法利用低成本DDR SDRAM而不是TCAM,并且还具有低开销。

    Method for IPv6 longest prefix match
    6.
    发明授权
    Method for IPv6 longest prefix match 有权
    IPv6最长前缀匹配方法

    公开(公告)号:US08798066B2

    公开(公告)日:2014-08-05

    申请号:US13628068

    申请日:2012-09-27

    Applicant: Avaya, Inc.

    Inventor: Hamid Assarpour

    CPC classification number: H04L45/7457 H04L45/748

    Abstract: IPv6 longest prefix match lookups are implemented by splitting disjoint forwarding rules from non-disjoint forwarding rules and storing these forwarding rules in separate TCAMs. When an IPv6 address is received, the full IP address is passed to the TCAM containing the disjoint forwarding rules and the first n bits of the IP address are passed to the TCAM containing the non-disjoint forwarding rules. If a hit is received in the TCAM containing the disjoint forwarding rules, a result of the hit is used to implement a forwarding decision and the search in the TCAM containing the non-disjoint forwarding rules is terminated. If no hit is obtained from the disjoint TCAM, the search result of the non-disjoint TCAM is used. If a continue flag is set in the result received from the disjoint TCAM, a sub-trie based lookup is implemented based on the remaining m bits of the IPv6 address.

    Abstract translation: IPv6最长前缀匹配查找是通过从不相交转发规则中分离不相交的转发规则并将这些转发规则存储在单独的TCAM中实现的。 当接收到IPv6地址时,将完整的IP地址传递给包含不相交转发规则的TCAM,并将IP地址的前n位传递给包含非不相交转发规则的TCAM。 如果在包含不相交转发规则的TCAM中接收到命中,则命中结果用于实现转发决定,并且终止包含非不相交转发规则的TCAM中的搜索。 如果从不相交的TCAM中没有获得命中,则使用非相交TCAM的搜索结果。 如果在从不相交的TCAM接收到的结果中设置了继续标志,则基于IPv6地址的剩余m位实现基于子行为的查找。

    Method for Heap Management
    7.
    发明申请
    Method for Heap Management 有权
    堆管理方法

    公开(公告)号:US20140089625A1

    公开(公告)日:2014-03-27

    申请号:US13627714

    申请日:2012-09-26

    Applicant: AVAYA, INC.

    Inventor: Hamid Assarpour

    CPC classification number: G06F12/023

    Abstract: A bitmask array is implemented as a two dimensional bit array where each bit represents an allocated/free cell of the heap. Groups of bits of the bitmask array are assigned to implement commonly sized memory cell allocation requests. The heap manager keeps track of allocations by keeping separate lists of which groups are being used to implement commonly sized memory cell allocations requests by maintaining linked lists according to the number of cells allocated per request. Each list contains a list of the bit groups that have been used to provide allocations for particularly sized requests. By maintaining lists based on allocation size, the heap manager is able to cause new allocation requests to be matched up with previously retired allocations of the same size. Memory may be dynamically allocated between lists of differently sized memory requests.

    Abstract translation: 位元阵列被实现为二维位阵列,其中每个位表示堆的分配/空闲单元。 分配位掩码数组的位组以实现通常大小的存储器单元分配请求。 堆管理器通过根据每个请求分配的单元数量,通过维护链接列表来保持正在使用哪些组的单独列表来实现通常大小的内存单元分配请求。 每个列表包含用于为特定大小的请求提供分配的位组的列表。 通过基于分配大小维护列表,堆管理器能够使新的分配请求与先前退出的相同大小的分配相匹配。 可以在不同大小的存储器请求的列表之间动态地分配存储器。

    Method for Virtual Multicast Group IDs
    8.
    发明申请
    Method for Virtual Multicast Group IDs 审中-公开
    虚拟组播组ID的方法

    公开(公告)号:US20140086237A1

    公开(公告)日:2014-03-27

    申请号:US13627694

    申请日:2012-09-26

    Applicant: AVAYA, INC.

    Inventor: Hamid Assarpour

    CPC classification number: H04L49/201 H04L49/70

    Abstract: Application MGIDs defining virtual groups of output destinations are assigned by applications and appended to packets to specify on a per-application basis how packets associated with the application should be handed by a network element. The application MGIDs are mapped to single system MGID number space prior to being passed to the network element switch fabric. When a packet is passed to the switch fabric, the application MGID header is passed along with the system MGID header, so that the packet that is passed to the switch fabric has both the system MGID as well as the application MGID. The switch fabric only looks at the system MGID when forwarding the packet, however. Each egress node maintains a set of tables, one table for each application, in which the node maintains a list of ports per application MGID. The egress node uses the application MGID to key into the application table to determine a list of ports, at that egress node, to receive the packet.

    Abstract translation: 定义输出目的地虚拟组的应用程序MGID由应用程序分配并附加到数据包,以在每个应用程序的基础上指定与应用程序相关联的数据包是否应由网络元件传递。 应用程序MGID在被传递到网元交换结构之前被映射到单个系统MGID号码空间。 当数据包传递给交换结构时,应用程序MGID头与系统MGID头一起传递,从而传递给交换结构的数据包同时具有系统MGID以及应用程序MGID。 然而,交换结构只在转发数据包时查看系统MGID。 每个出口节点维护一组表,每个应用的一个表,其中节点维护每个应用MGID的端口列表。 出口节点使用应用程序MGID键入应用程序表,以确定在出口节点处接收数据包的端口列表。

    Method for abstracting datapath hardware elements
    9.
    发明授权
    Method for abstracting datapath hardware elements 有权
    提取数据路径硬件元素的方法

    公开(公告)号:US09270586B2

    公开(公告)日:2016-02-23

    申请号:US13628152

    申请日:2012-09-27

    Applicant: Avaya, Inc.

    Inventor: Hamid Assarpour

    CPC classification number: H04L45/54

    Abstract: A table based abstraction layer is interposed between applications and the packet forwarding hardware driver layer. All behavior and configuration of packet forwarding to be implemented in the hardware layer is articulated as fields in tables of the table based abstraction layer, and the higher level application software interacts with the hardware through the creation of and insertion and deletion of elements in these tables. The structure of the tables in the abstraction layer has no direct functional meaning to the hardware, but rather the tables of the table based abstraction layer simply exist to receive data to be inserted by the applications into the forwarding hardware. Information from the tables is extracted by the packet forwarding hardware driver layer and used to populate physical offset tables that may then be installed into the registers and physical tables utilized by the hardware to perform packet forwarding operations.

    Abstract translation: 基于表的抽象层介于应用程序和数据包转发硬件驱动程序层之间。 要在硬件层中实现的数据包转发的所有行为和配置被表示为基于表的抽象层的表中的字段,并且较高级应用软件通过创建和插入和删除这些表中的元素与硬件交互 。 抽象层中的表的结构对于硬件没有直接的功能意义,而是基于表的抽象层的表仅存在于将应用程序插入的数据接收到转发硬件中。 数据包转发硬件驱动程序层提取表中的信息,用于填充物理偏移表,然后可以将物理偏移表安装到硬件使用的寄存器和物理表中,以执行数据包转发操作。

    Method for Specifying Packet Address Range Cacheability
    10.
    发明申请
    Method for Specifying Packet Address Range Cacheability 审中-公开
    指定分组地址范围可缓存性的方法

    公开(公告)号:US20150095582A1

    公开(公告)日:2015-04-02

    申请号:US14041751

    申请日:2013-09-30

    Applicant: Avaya, Inc.

    Inventor: Hamid Assarpour

    Abstract: A method for specifying packet address range cacheability is provided. The method includes passing a memory allocation request from an application running on a network element configured to implement packet forwarding operations to an operating system of a network element, the memory allocation request including a table ID associated with an application table to be stored using the memory allocation. The method also includes allocating a memory address range by the operating system to the application in response to the memory allocation request, and inserting an entry in a cacheability register, the entry including the table ID included in the memory allocation request and the memory address range allocated in response to the memory allocation request.

    Abstract translation: 提供了一种用于指定分组地址范围可缓存性的方法。 该方法包括将运行在被配置为实现分组转发操作的网络元件上的应用的存储器分配请求传递到网络元件的操作系统,所述存储器分配请求包括与要使用存储器存储的应用程序表相关联的表ID 分配。 该方法还包括响应于存储器分配请求而将操作系统的存储器地址范围分配给应用,并将条目插入可缓存寄存器中,该条目包括存储器分配请求中包括的表ID和存储器地址范围 根据内存分配请求分配。

Patent Agency Ranking