Patents by Inventor Ajeer Salil Pudiyapura

Ajeer Salil Pudiyapura has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20240259330
    Abstract: Interval binary tree definitions and binary tree definitions can be stored in the memory of a networking device. The interval binary trees can map IP address ranges and port ranges to class identifiers. A networking device receives an IP packet that has a layer 3 header that includes an IP address and a port number. The networking device can use the IP address, the port number, and the interval binary trees to determine a first class identifier and a second class identifier. The first class identifier can indicate a binary tree definition that is searched for the second class identifier. The search identifies yet another class identifier that the networking device uses to determine a networking rule to apply to the IP packet. This technique uses far less memory than the RFC algorithm commonly used to determine a networking rule to apply to the IP packet.
    Type: Application
    Filed: January 27, 2023
    Publication date: August 1, 2024
    Inventor: Ajeer Salil Pudiyapura
  • Patent number: 11588734
    Abstract: Described are programmable input output (IO) devices comprising: an match processing unit (MPU) and a memory unit. The MPU comprising at least one arithmetic logic unit (ALU). The memory unit having instructions stored thereon which, when executed by the respective programmable IO device, cause the programmable IO device to perform operations. These operations comprise: receiving, from an inbound interface, a packet comprising packet data for at least one range-based element; determining, via the MPU, a lookup result by performing a modified binary search on an interval binary search tree with the packet data to determine a longest prefix match (LPM), wherein the interval binary search tree maps the at least one range-based element to an associated data element; and classifying the packet based on the lookup result.
    Type: Grant
    Filed: April 28, 2020
    Date of Patent: February 21, 2023
    Assignee: Pensando Systems Inc.
    Inventors: Ajeer Salil Pudiyapura, Sarat Babu Kamisetty, Krishna Doddapaneni
  • Publication number: 20220060419
    Abstract: Described are programmable IO devices configured to perform operations. These operations comprise: determining a set of range-based elements for a network; sorting the set of range-based elements according to a global order among the range-based elements; generating an interval table from the sorted range-based elements; generating an interval binary search tree from the interval table; propagating data stored in subtrees of interior stages of the interval binary search tree to subtrees of a last stage of the interval binary search tree such that the interior stages do not comprise data; converting the interval binary search tree to a Pensando Tree; compressing multiple levels of the Pensando Tree into cache-lines; and assembling the cache-lines in the memory unit such that each stage can compute an address of a next-cache line to be fetched by a next stage.
    Type: Application
    Filed: August 21, 2020
    Publication date: February 24, 2022
    Inventors: Ajeer Salil PUDIYAPURA, Sarat Babu KAMISETTY, Krishna DODDAPANENI
  • Patent number: 11258707
    Abstract: Described are programmable IO devices configured to perform operations. These operations comprise: determining a set of range-based elements for a network; sorting the set of range-based elements according to a global order among the range-based elements; generating an interval table from the sorted range-based elements; generating an interval binary search tree from the interval table; propagating data stored in subtrees of interior stages of the interval binary search tree to subtrees of a last stage of the interval binary search tree such that the interior stages do not comprise data; converting the interval binary search tree to a Pensando Tree; compressing multiple levels of the Pensando Tree into cache-lines; and assembling the cache-lines in the memory unit such that each stage can compute an address of a next-cache line to be fetched by a next stage.
    Type: Grant
    Filed: August 21, 2020
    Date of Patent: February 22, 2022
    Assignee: PENSANDO SYSTEMS INC.
    Inventors: Ajeer Salil Pudiyapura, Sarat Babu Kamisetty, Krishna Doddapaneni
  • Publication number: 20210336883
    Abstract: Described are programmable IO devices comprising: an MPU and a memory unit. The MPU comprising at least one ALU. The memory unit having instructions stored thereon which, when executed by the respective programmable IO device, cause the programmable IO device to perform operations. These operations comprise: receiving, from an inbound interface, a packet comprising packet data for at least one range-based element; determining, via the MPU, a lookup result by performing a modified binary search on an interval binary search tree with the packet data to determine a LPM, wherein the interval binary search tree maps the at least one range-based element to an associated data element; and classifying the packet based on the lookup result.
    Type: Application
    Filed: April 28, 2020
    Publication date: October 28, 2021
    Inventors: Ajeer Salil PUDIYAPURA, Sarat Babu KAMISETTY, Krishna DODDAPANENI
  • Patent number: 10466976
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: November 5, 2019
    Assignee: Cavium, LLC
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Publication number: 20180067728
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Application
    Filed: November 6, 2017
    Publication date: March 8, 2018
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9870204
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 16, 2018
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9864582
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Kishore Badari Atreya, Ajeer Salil Pudiyapura, Ravindran Suresh
  • Patent number: 9864584
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9864583
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9836283
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: December 5, 2017
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9606781
    Abstract: A parser engine programming tool configured to receive an input file representing a directly connected cyclical graph or tree of decision points for parsing a range of incoming packet headers, automatically generate all possible paths within the graph and thereby the associated possible headers, and convert the determined paths/headers into a proper format for programming memory of a parser engine to parse the determined headers (represented by the paths).
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: March 28, 2017
    Assignee: Cavium, Inc.
    Inventors: Kishore Badari Atreya, Ajeer Salil Pudiyapura, Ravindran Suresh
  • Patent number: 9582251
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: February 28, 2017
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Publication number: 20160139898
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Application
    Filed: March 31, 2015
    Publication date: May 19, 2016
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Publication number: 20160139892
    Abstract: A parser engine programming tool configured to receive an input file representing a directly connected cyclical graph or tree of decision points for parsing a range of incoming packet headers, automatically generate all possible paths within the graph and thereby the associated possible headers, and convert the determined paths/headers into a proper format for programming memory of a parser engine to parse the determined headers (represented by the paths).
    Type: Application
    Filed: March 31, 2015
    Publication date: May 19, 2016
    Inventors: Kishore Badari Atreya, Ajeer Salil Pudiyapura, Ravindran Suresh
  • Publication number: 20160139896
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Application
    Filed: March 31, 2015
    Publication date: May 19, 2016
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Publication number: 20160139887
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Application
    Filed: March 31, 2015
    Publication date: May 19, 2016
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Publication number: 20160139893
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Application
    Filed: March 31, 2015
    Publication date: May 19, 2016
    Inventors: Kishore Badari Atreya, Ajeer Salil Pudiyapura, Ravindran Suresh
  • Publication number: 20160139891
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Application
    Filed: March 31, 2015
    Publication date: May 19, 2016
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh