Methods and apparatus for longest common prefix based caching
First Claim
1. An apparatus for routing or manipulating packets or other information, the apparatus comprising:
- one or more basic control units each including control logic and one or more first lookup units; and
a supervisor control unit including control logic and a memory, the supervisor control unit coupled to each of said one or more basic control units;
wherein the supervisor control unit is configured to maintain routing information, to partition said routing information into a plurality of routing information subsets such that for a particular prefix in a particular routing information subset, the particular routing information subset includes all longer prefixes beginning with said particular prefix in said routing information, and to distribute routing information subsets to said one or more basic control units; and
wherein each of the one or more basic control units is configured to receive said routing information subsets, to populate its one or more first lookup units with said received routing information subsets, and to perform lookup operations in its one or more first lookup units to generate a result based on a route identifier; and
wherein said partitioning the routing information includes deriving a Patricia tree representation of the routing information; and
wherein the supervisor control unit is configured to repartition the routing information among the plurality of routing information subsets, said repartitioning including modifying a boundary between a first and a second subsets of the plurality of routing information subsets.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for longest common prefix based caching. An information space is partitioned into multiple subsets such that a particular subset including a particular prefix also includes all longer prefixes beginning with the particular prefix in the information space. A primary control unit typically maintains the information space and all of the subsets, and selectively distributes some or all of the subsets to basic control units, and each of basic control units does not necessarily receive the same group of subsets. In addition, the group of subsets maintained by a particular basic control unit may change during operation, typically to increase the likelihood that a particular basic control unit will contain the needed subset. When a particular basic control unit does not have the needed subset, it typically sends to the primary control unit, a request for a lookup result, for the primary control unit to process the packet or other information, or for the primary control unit to send the corresponding subset.
-
Citations
24 Claims
-
1. An apparatus for routing or manipulating packets or other information, the apparatus comprising:
-
one or more basic control units each including control logic and one or more first lookup units; and a supervisor control unit including control logic and a memory, the supervisor control unit coupled to each of said one or more basic control units; wherein the supervisor control unit is configured to maintain routing information, to partition said routing information into a plurality of routing information subsets such that for a particular prefix in a particular routing information subset, the particular routing information subset includes all longer prefixes beginning with said particular prefix in said routing information, and to distribute routing information subsets to said one or more basic control units; and wherein each of the one or more basic control units is configured to receive said routing information subsets, to populate its one or more first lookup units with said received routing information subsets, and to perform lookup operations in its one or more first lookup units to generate a result based on a route identifier; and wherein said partitioning the routing information includes deriving a Patricia tree representation of the routing information; and
wherein the supervisor control unit is configured to repartition the routing information among the plurality of routing information subsets, said repartitioning including modifying a boundary between a first and a second subsets of the plurality of routing information subsets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for routing or manipulating packets or other information based on a route identifier, the apparatus comprising:
-
a plurality of basic control units; and a supervisor control unit, coupled to each of the said basic control units; wherein the supervisor control unit includes; means for partitioning a routing space into a plurality of routing information subsets such that for a particular prefix in a particular routing information subset, the particular routing information subset includes all longer prefixes beginning with said particular prefix in said routing information; and means for distributing less than all of the plurality of routing information subsets to each of the said basic control units such that at least two of said basic control units are said distributed different subsets of said routing information subsets; and wherein each of the one or more basic control units includes; means for receiving said routing information subsets; and means for determining a result based on the route identifier; wherein said supervisor control unit is configured to provide additional one or more subsets of said routing information subsets to each particular basic control unit of said basic control units based on the routing requirements during operation of said particular basic control unit. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for routing or manipulating packets or other information, the method comprising:
-
partitioning an information space into a plurality of information subsets such that for a particular prefix in a particular information subset, the particular information subset includes all longer prefixes beginning with said particular prefix in the information space; distributing less than all of the plurality of information subsets to each of a plurality of basic control units such that at least two of said basic control units are said distributed different subsets of said routing information subsets; performing a lookup operation in a particular one of said one or more basic control units based on a first identifier to identify a first result; manipulating a first set of information based on the first result; and providing additional one or more subsets of said information subsets to each particular basic control unit of said basic control units based on the requirements during operation of said particular basic control unit. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification