Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match

a tree bitmap and prefix technology, applied in the field of communication and computer systems, can solve the problems of two internal nodes accessing two internal nodes, and the internal nodes are scattered across multiple memory banks

Active Publication Date: 2005-07-21
CISCO TECH INC
View PDF31 Cites 271 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0023] One embodiment traverses a tree data structure stored in one or more computer readable mediums based on an input search data string. One embodiment performs for each of multiple portions of the input search data string a set of steps including: (a) receiving a search progression context of a partially completed tree traversal, the search progression context including a next node address; (b) resuming the traversal of the tree data structure including repeatedly performing steps (i)-(iv) for traversing the tree data structure corresponding to a next portion of the input string: (i) distributing a lookup request including the next node address to one of multiple memory devices; (ii) receiving a lookup result from the one of the multiple memory devices, the lookup result including a search node; (iii) updating a current best match identifier in response to determining if a new best match exists; (iv) indexing into a current level extending bitmap of the search node to determine whether or not a matching next level node exists; (v) generating a new value of the next node address; and (c) generating a new value for the search progression context.
[0024] One embodiment traverses a tree data structure stored in one or more computer readable mediums based on an input search data string. One embodiment includes a tree bitmap next address mechanism for determining a memory address of a next node of a particular tree data structure of the tree data structures, the next node corresponding to a portion of the input data string; multiple memory devices for storing the one or more tree data structures and for returning the next node in response to a retrieval request; and a memory manager, coupled to the tree bitmap next address mechanism and the multiple memory devices, for distributing the retrieval request to one of the multiple memory devices. Typically, although not required, each of the one or more tree data structures include: a first search node; a first child array including a first internal node and a second search node; and a first leaf array including multiple first leaf array entries; wherein the first search node includes a pointer to the first child array; wherein the first internal node includes a pointer to the first leaf array; and wherein the second search node includes a pointer to one of the multiple first leaf array entries.

Problems solved by technology

If memory segmentation exists, it is a bad design to have the internal nodes scattered across multiple memory banks.
Accessing two internal nodes presents a problem when there are a limited number of memory channels as both internal nodes need to be placed in different memory channels, and which two internal nodes are going to be accessed depends on the particular tree bitmap and the particular lookup value.
This is problematic when there are less than seven memory modules.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match
  • Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match
  • Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0038] Methods and apparatus are disclosed for generating and using enhanced tree bitmap data structures in determining a longest prefix match, such as in a router, packet switching system, or other communications or computer component, device, or system. Embodiments described herein include various elements and limitations, with no one element or limitation contemplated as being a critical element or limitation. Each of the claims individually recites an aspect of the invention in its entirety. Moreover, some embodiments described may include, but are not limited to, inter alia, systems, networks, integrated circuit chips, embedded processors, ASICs, methods, and computer-readable medium containing instructions. The embodiments described hereinafter embody various aspects and configurations within the scope and spirit of the invention, with the figures illustrating exemplary and non-limiting configurations.

[0039] As used herein, the term “packet” refers to packets of all types or ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

Methods and apparatus are disclosed for generating and using an enhanced tree bitmap data structure in determining a longest prefix match, such as in a router, packet switching system. One implementation organizes the tree bitmap to minimize the number of internal nodes that must be accessed during a lookup operation. A pointer is included in each of the trie or search nodes to the best match so far entry in the leaf or results array which allows direct access to this result without having to parse a corresponding internal node. Moreover, one implementation stores the internal node for a particular level as a first element in its child array. Additionally, one implementation uses a general purpose lookup engine that can traverse multiple tree bitmaps or other data structures simultaneously, and perform complete searches, partial searches, and resume partial searches such as after receiving additional data on which to search.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This is a divisional of application Ser. No. 10 / 161,504, filed May 31, 2002, and hereby incorporated by reference.FIELD OF THE INVENTION [0002] This invention especially relates to communications and computer systems; and more particularly, the invention relates, but is not limited to generating and using enhanced tree bitmap data structures in determining a longest prefix match, such as in a router, packet switching system, or other communications or computer system. BACKGROUND OF THE INVENTION [0003] The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications p...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(United States)
IPC IPC(8): G06F17/30H04L12/56
CPCG06F17/30961G06F17/30985H04L45/7457H04L45/54H04L45/00G06F16/90344G06F16/9027H04L45/74591
Inventor RANGARAJAN, VIJAYSAGI, DALITEATHERTON, WILLIAM N.
Owner CISCO TECH INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products