Patents by Inventor Balakrishnan Ramakrishnan

Balakrishnan Ramakrishnan 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).

  • Patent number: 7190695
    Abstract: Distributing packets from an input link to multiple output links involves categorizing each incoming packet, selecting a mapping algorithm based on the packet category, and using the selected mapping algorithm for each packet to determine an output link for the respective packet. If packets are from a category that requires the order of the packets to be maintained, then the selected mapping algorithm causes packets from the same set of packets to be distributed to the same output link. If packets are from a category that does not require the order of the packets to be maintained, then the selected mapping algorithm can cause packets to be distributed more evenly among the multiple output links. Hashing can be used to distribute in-order packets from the same set to the same output link. Load balancing and round-robin distribution can be used to distribute out-of-order packets more evenly across the output links.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: March 13, 2007
    Assignee: Lucent Technologies Inc.
    Inventors: Marc Schaub, Balakrishnan Ramakrishnan, Kumar Mehta
  • Patent number: 6976021
    Abstract: A pool of integers is managed by dividing the pool of integers into groups and initializing, in memory, doubly linked lists related to the groups on an as needed basis in response to requests to allocate integers. If an initialized group of integers no longer includes any allocated integers, the doubly linked list related to the group is deleted from memory. Memory locations of the group-specific doubly linked lists are identified by a hash table that includes a unique hash table pointer for each one of the groups. Each element of the doubly linked list includes a next pointer for identifying a next element and a previous pointer for identifying a previous element. A specific free integer can be allocated in an order of one, O(1), operation by indexing into the linked list and utilizing the next and previous pointers of the linked list element to remove the linked list element from the linked list.
    Type: Grant
    Filed: July 19, 2001
    Date of Patent: December 13, 2005
    Assignee: Riverstone Networks, Inc.
    Inventor: Balakrishnan Ramakrishnan
  • Patent number: 6629114
    Abstract: Managing a reusable resource, such as a pool of integers, involves a doubly linked list of elements that represents free integers in an integer pool. Each element of the doubly linked list includes a next pointer for identifying a next element and a previous pointer for identifying a previous element. A specific free integer can be allocated from the integer pool in an order of one, O(1), operation by indexing into the linked list and then utilizing the next and previous pointers of the linked list element to remove the linked list element from the linked list. The desired element is removed by adjusting the next pointer of the previous element and the previous pointer of the next linked list element. A non-specific free integer can be allocated from the integer pool in an O(1) operation through a head element that identifies a next free integer in the linked list.
    Type: Grant
    Filed: June 22, 2001
    Date of Patent: September 30, 2003
    Assignee: Riverstone Networks, Inc.
    Inventor: Balakrishnan Ramakrishnan
  • Patent number: 6615311
    Abstract: Updating a content addressable memory (CAM) involves identifying a new entry that is to be added to the CAM, identifying a free location in the CAM that is the fewest number of prefix levels away from the prefix level of the new entry, moving an existing CAM entry into the free location to create a newly freed location that is a fewer number of prefix levels away from the prefix level of the new entry, repeating the move process until a free location is created at the desired prefix level of the new entry, and then adding the new entry into the newly freed location. The specific algorithm for moving entries to free a location in the desired prefix level is a function of whether the prefix level of the first free location is above or below the prefix level of the new entry.
    Type: Grant
    Filed: June 7, 2001
    Date of Patent: September 2, 2003
    Assignee: Riverstone Networks, Inc.
    Inventor: Balakrishnan Ramakrishnan
  • Publication number: 20030063611
    Abstract: Distributing packets from an input link to multiple output links involves categorizing each incoming packet, selecting a mapping algorithm based on the packet category, and using the selected mapping algorithm for each packet to determine an output link for the respective packet. If packets are from a category that requires the order of the packets to be maintained, then the selected mapping algorithm causes packets from the same set of packets to be distributed to the same output link. If packets are from a category that does not require the order of the packets to be maintained, then the selected mapping algorithm can cause packets to be distributed more evenly among the multiple output links. Hashing can be used to distribute in-order packets from the same set to the same output link. Load balancing and round-robin distribution can be used to distribute out-of-order packets more evenly across the output links.
    Type: Application
    Filed: September 28, 2001
    Publication date: April 3, 2003
    Inventors: Marc Schaub, Balakrishnan Ramakrishnan, Kumar Mehta
  • Publication number: 20030018689
    Abstract: A pool of integers is managed by dividing the pool of integers into groups and initializing, in memory, doubly linked lists related to the groups on an as needed basis in response to requests to allocate integers. If an initialized group of integers no longer includes any allocated integers, the doubly linked list related to the group is deleted from memory. Memory locations of the group-specific doubly linked lists are identified by a hash table that includes a unique hash table pointer for each one of the groups. Each element of the doubly linked list includes a next pointer for identifying a next element and a previous pointer for identifying a previous element. A specific free integer can be allocated in an order of one, O(1), operation by indexing into the linked list and utilizing the next and previous pointers of the linked list element to remove the linked list element from the linked list.
    Type: Application
    Filed: July 19, 2001
    Publication date: January 23, 2003
    Inventor: Balakrishnan Ramakrishnan
  • Publication number: 20020198886
    Abstract: Managing a reusable resource, such as a pool of integers, involves a doubly linked list of elements that represents free integers in an integer pool. Each element of the doubly linked list includes a next pointer for identifying a next element and a previous pointer for identifying a previous element. A specific free integer can be allocated from the integer pool in an order of one, O(1), operation by indexing into the linked list and then utilizing the next and previous pointers of the linked list element to remove the linked list element from the linked list. The desired element is removed by adjusting the next pointer of the previous element and the previous pointer of the next linked list element. A non-specific free integer can be allocated from the integer pool in an O(1) operation through a head element that identifies a next free integer in the linked list.
    Type: Application
    Filed: June 22, 2001
    Publication date: December 26, 2002
    Inventor: Balakrishnan Ramakrishnan
  • Publication number: 20020188799
    Abstract: Updating a content addressable memory (CAM) involves identifying a new entry that is to be added to the CAM, identifying a free location in the CAM that is the fewest number of prefix levels away from the prefix level of the new entry, moving an existing CAM entry into the free location to create a newly freed location that is a fewer number of prefix levels away from the prefix level of the new entry, repeating the move process until a free location is created at the desired prefix level of the new entry, and then adding the new entry into the newly freed location. The specific algorithm for moving entries to free a location in the desired prefix level is a function of whether the prefix level of the first free location is above or below the prefix level of the new entry.
    Type: Application
    Filed: June 7, 2001
    Publication date: December 12, 2002
    Inventor: Balakrishnan Ramakrishnan