WO2001043346A2 - Method and apparatus for longest match address lookup - Google Patents
Method and apparatus for longest match address lookup Download PDFInfo
- Publication number
- WO2001043346A2 WO2001043346A2 PCT/CA2000/001444 CA0001444W WO0143346A2 WO 2001043346 A2 WO2001043346 A2 WO 2001043346A2 CA 0001444 W CA0001444 W CA 0001444W WO 0143346 A2 WO0143346 A2 WO 0143346A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subtree
- mapper
- entry
- stored
- route
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Definitions
- IP address space was divided into three classes of IP addresses; A, B and C. Each IP address space was divided into a network address and a host address. Class A allowed for 126 networks and 16 million hosts per network. Class B allowed for 16382 networks with 64,000 hosts per network and class C allowed for 2 million networks with 256 hosts per network. However, dividing the IP address space into different classes reduced the number of available IP addresses. Class C only allowed a maximum of 256 hosts per network which is too small for most organizations. Therefore, most organizations were assigned a Class B address, taking up 64,000 host addresses which could not be used by other organizations even if they were not used by the organization to which they were assigned.
- Hosts in an organization with a Class B IP address all store the same network address in the 16 Most Significant Bits ("MBSs"), for example, 27.32.xx.xx. Classless InterDomain Routing (“CIDR") was introduced to free up unused IP host addresses. The remaining unused networks are allocated to organization in variable sized blocks. An organization requiring 500 addresses gets 500 continuous addresses. For example, an organization can be assigned 500 available addresses starting at 128.32.xx. The number of routes stored by a router has increased since the introduction of Classless InterDomain Routing. Classless InterDomain Routing requires longest prefix matching to find the corresponding route instead of searching for a matching network address in order to find the corresponding next hop for the IP destination address. For example, a search can no longer stop after the 16 MSBs of a Class B IP address, for example, 128.xx.xx because 128.32.4. xx may be assigned to another organization requiring a different next hop.
- MMSs Most Significant Bits
- CIDR Classless InterDomain Routing
- Brodnick et al. filed on May 11, 1998.
- the method described by Brodnick reduces the number of next hops stored by not storing duplicate routes. By reducing the number of next hops, the memory requirement is reduced so that a route lookup table can be stored in fast cache memory.
- Brodnick et al. divides the binary tree into 3-levels. Dividing the binary tree into 3-levels reduces the number of searches to three. The indexed entry in the first level indicates whether the search can end at the first level with the route taken from the entry, or the search must continue to a subsequent level using a further portion of the IP destination address.
- Fig. 1 A illustrates a prior art 64K (65536) bit map representing the first level of a binary tree.
- Fig. IB illustrates prior art lookup table implemented in cache memory.
- the lookup table includes an array of code words 36, an array of base indices 34 and a map table 40.
- a 32-bit IP address 38 is also shown in Fig. IB.
- a codeword 46 is stored in the array of code words 36 for each bit mask in the bit map 30 (Fig. 1 A).
- the code word 46 includes a six-bit value 46a and a 10-bit offset 46b.
- a base index 42 is stored in the array of base indices 34 for every four code words 46 in the array of code words 36.
- Fig. 4 illustrates the types of mapper entries which can be stored in the direct mapped mapper shown in Fig. 2A;
- Fig. 23 illustrates a binary tree representation of a new route to be added to the lookup table
- Fig. 26 is a flowchart illustrating the steps for adding the new route to the lookup table shown in Fig. 25.
- the LI mapper 106a is a direct mapped mapper and stores a route index 102 for each bottom-level node or leaf in the bottom level of mapper level_l 112a.
- the bottom level of mapper level_l 112a is the sixteenth level of the 32-level binary tree.
- the sixteenth level has 64K nodes.
- the bottom level of mapper level_l 112a is shown as level-5 of the 32-level binary tree.
- the route indices 102 shown in the LI mapper 106a correspond to level-5 130 1 - 130 32 nodes of mapper level_l 112a. Tracing the path from the root node 114 to level_5 nodes 130 1 , 130 2 , 130 3 the route index 102 is rO.
- the route index 102 associated with level-3 node 132 4 and level-3 nodes 132 5 and 132 6 is rO, which is different from sO stored for the previous node 132 2 , thus rO is stored in the next location 142 3 in L2 mapper 106b.
- Route r2 is stored in location 142 4 in L2 mapper 106b for node 132 7 because node 132 7 does not share the same route as the previous node 132 6 .
- Subtree index s3 is stored for the next level-3 node 132 7 , thus s3 is stored in location 142 5 in the L2 mapper 106b.
- the subtree index 312 is the address of the subtree entry descriptor 304 stored in the next non-direct mapped mapper 106b-d.
- the subtree entry is described later in conjunction with Fig. 4.
- the no-entry flag 314 is checked to determine if the mapper entry is a no-entry 300 or a route entry 302. If the no-entry flag 314 is '0', the entry is a no-entry 300. If the no-entry flag 314 is '1', the entry is a route entry 302 and stores the route index 102 (Fig. 3) associated with the key 104 in the route index field 310.
- the subtree flag 306 is used by the multiplexer 108 (Fig. 2A) to select the mapper entry data 220a-d including the route index 102 (Fig. 3).
- Node 500 8 shares the same route as the previous node 500 7 , a new mapper entry is not required in the subtree mapper 418 (Fig. 5).
- Bit 502 8 corresponding to node 500 8 is set to '0'.
- Node 500 9 has a different route from the previous node 500 8 , a new mapper entry is required in the subtree mapper 418 (Fig. 5).
- Bit 502 9 corresponding to node 500 9 is set to '1' and mapper entry 504 4 storing r2 is added to the subtree mapper 418 (Fig. 5) in the next contiguous memory location.
- Nodes 500 12 and 500 13 share the same route as previous node 500", a new mapper entry is not required in the subtree mapper 418 (Fig. 5).
- Bit 502 12 corresponding to node 500 12 and bit 502 13 corresponding to node 500 13 are set to '0' in the data field 406.
- step 800 the first portion of the key 210a (Fig. 3) is forwarded as the index to mapper 106a. Processing continues with step 802.
- Each of the lookup tables 200a-b is searched in parallel with the same search key 210.
- the route index 102 (Fig. 3) corresponding to the search key 210 is stored in a subtree mapper 418 (Fig. 5) in one of the lookup tables 200a-b or in direct mapper 106a in both of the lookup tables 200a, 200b.
- the final route index 900 is found after a search in parallel of both lookup tables 200a, 200b.
- Fig. 1 IB illustrates a binary tree representation of the routes stored in mapper entries 504 (Fig. 6B) in the subtree mappers 418 (Fig. 5) in slave lookup table 200b (FIG. 10A) or 200d (Fig. 10C).
- the binary tree representation of the routes stored in slave lookup table 200b differs from the binary tree representation shown in Fig. 2B in that subtree A is not included.
- nodes 13 ⁇ '-130 3 and 130 5 -130 32 are coded as described in conjunction with Fig. 2B.
- the mapper entry 504 (Fig. 6B) corresponding to node 130 4 in slave lookup table 200b no longer stores a subtree index 312 (Fig. 4) to subtree A.
- step 1210 if all the route entries have been stored, processing is complete. If not, processing continues with step 1212.
- the incoming result 1000a is checked to determine if it is valid.
- An incoming result 1000a is valid if it is a route entry 302 (Fig. 4).
- the incoming result 1000a is invalid if it is a no-entry 300 (Fig. 4) or a subtree entry descriptor 304 (Fig. 4).
- subtree entry descriptor 304 (Fig. 4), route entry 302 (Fig. 4) and no-entry 300 (Fig. 4) have already been described in conjunction with Fig. 4. If the incoming result 1000a is invalid, processing continues with step 1318. If not, processing continues with step 1320.
- the subtree entry 404 provides for the access of up to 256 possible route indices, one per node in the 256 node subtree.
- the route indices are stored in mapper entries 504'-504 n in the subtree mapper 418 (Fig. 5) (Fig. 5).
- the mapper address 416 for a mapper entry 504 (Fig. 6B) in the subtree mapper 418 (Fig. 5) is determined dependent on a dense subtree descriptor stored in the data field 406 and a subtree pointer stored in the pointers field 408 in the subtree entry 404.
- the format of dense subtree descriptor has already been described in conjunction with Figs 6A-6B.
- the number of nodes per subtree and subtrees per subtree entry 404 are selected so that the maximum number of node descriptors per subtree entry 404 does not exceed 30 because mapper addresses 416 in subtree mapper 418 (Fig. 5) are allocated in 16 block increments.
- the 32 mapper addresses 416 are provided by storing two block base addresses 600', 600 2 stored in the pointers field 408.
- each of the four sparse subtree descriptors 1400 is 63 bits and can store from seven to five node descriptors 1402. Thus, each of the four sparse subtree descriptors 1400 starts on a 63 bit boundary.
- the first sparse subtree descriptor 1400 1 is stored at bits 62:0 in the data field 406.
- the second sparse subtree descriptor 1400 2 is stored at bits 125:63 in the data field 406.
- the 9-bit code column illustrates values stored in node descriptors 1402. Looking at the first row in Table 4, the 9-bit code stored in the node descriptor 1402 is '101100100' and the corresponding 8-bit value '101100XX' is stored in the CAM 1606.
- the conversion logic 1604 converts the 9-bit code by searching the 9-bit code from right to left for the first bit set to T. Looking at the bits in the 9-bit code from right to left, the first two bits are set to '0' and the third bit is set to ' 1'.
- the conversion logic 1604 converts the '100' to two don't cares ('XX') because there are two 'O's to the right of the first '1'. The first '1' is ignored and the remaining bits are directly copied into the next bits of the 8-bit value.
- the CAM 1606 is searched with the next portion of the key 210b.
- the entry in the CAM 1606 matching the greatest number of bits in the next portion of the key 210b is selected.
- the match address resulting from the search of the CAM is forwarded as the block offset 714.
- the block offset 714 is used to determine the mapper address 416 for the mapper entry corresponding to the route stored in the subtree mapper 418 (Fig. 5).
- the ' 1 ' stored in node descriptor bit 1708 8 is stored in 8-bit masked value bit 1710 7 .
- the '0' stored in node descriptor bit 1708 9 is stored in 8-bit masked value bit 1710 8 .
- Sparse mode base select logic 1800 computes the base address 716 for the sparse subtree descriptor 1400 if the subtree entry 404 stores a plurality of sparse subtree descriptors 1400.
- the sparse mode base select logic 1800 computes the base address 716 using the mode value 1608 stored in the mode field 1404 and subtree pointers 414 stored in block base address field 600', 600 2 in the subtree entry 404 and the sparse subtree descriptor select 1408 stored in the subtree entry descriptor 304 (Fig. 4)forwarded from the previous mapper level.
- Fig. 22 is a flow chart illustrating a method for providing a mapper address 416 (Fig. 5) for a mapper entry 504 (Fig. 6B) in a subtree mapper 418 (Fig. 5) storing a route for a node in a sparsely populated subtree and a densely populated subtree.
- Any subtree entry 404 may store a plurality of sparse subtree descriptors or a single dense subtree descriptor. Any combination of sparse subtree descriptors and dense subtree descriptors is possible dependent on how the routes are distributed in the binary tree. The flexibility to mix and match sparse mode and dense subtree descriptors in subtree entries 404 in the subtree memory 400 allows better utilization of the subtree memory 400.
- Fig. 23 illustrates a binary tree representation of a new route to be added to the lookup table 200.
- the binary tree illustrates routes stored in the lookup table
- node descriptors 1402 (Fig. 16 A) for nodes r6 and hi are stored in a sparse subtree descriptor 1400, as has already been described in conjunction with Fig. 14A.
- the sparse subtree descriptor 1400 for Subtree B 2 2006 is stored in a subtree entry 404 with mode field 1404 set to 1 in the subtree memory 400 because there are two node descriptors 1402 stored in the sparse subtree descriptor 1400.
- Fig. 24 illustrates update routes stored in a processor memory 2400.
- a copy of the binary tree stored in the lookup table 200 is also stored in processor memory 2400 separate from the lookup table 200.
- the routes stored for Subtree B 2 2006 are copied to subtree B 2 ' 2008 in the processor memory 2400 and the new route h2 is added to subtree B 2 ' 2008.
- Subtree B 2 ' 2008 includes route entries stored in mapper entries 504 (Fig. 6B) for routes hi and r6 and new route h2.
- the node descriptors 1402 for the routes are created and stored in a sparse subtree descriptor 1400.
- the sparse subtree descriptor 1400 is stored in a subtree entry 404.
- the mode 1404 of the subtree entry 404 is related to the number of node descriptors 1402 stored in the sparse subtree descriptor 1400.
- step 2214 the subtree entry descriptor 304 (Fig. 4) stored in mapper entry 504a 4 is modified to index the new sparse subtree descriptor 1400c 1 stored in subtree entry 404c.
- the route entry for h2 stored in mapper entry 504c 4 can now be accessed. Processing continues with step 2216.
- a new subtree entry 404 is allocated from a list of free subtree entries 404 stored in processor memory 2400 (Fig. 24).
- the new subtree entry 404 is allocated for storing a new dense subtree descriptor.
- Blocks of mapper entries 504 (Fig. 6B) in the subtree mapper 418b are allocated for storing the routes.
- the pointers to the blocks of allocated mapper entries 504 (Fig. 6B) are stored in the pointers field 408 (Fig. 7) in the subtree entry 404 (Fig.5).
- the new dense subtree descriptor is written in the data field 406 in the new subtree entry 404 as has been described earlier in conjunction with Figs. 6A-B. Processing continues with step 2222.
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2397608 CA2397608C (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
DE2000185389 DE10085389T1 (en) | 1999-12-10 | 2000-12-08 | Longest match address search method and apparatus |
GB0213387A GB2373082B (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
EP20000984690 EP1250662A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
JP2001542933A JP4565793B2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
AU21339/01A AU2133901A (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17023299P | 1999-12-10 | 1999-12-10 | |
US60/170,232 | 1999-12-10 | ||
US21296600P | 2000-06-21 | 2000-06-21 | |
US60/212,966 | 2000-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001043346A2 true WO2001043346A2 (en) | 2001-06-14 |
WO2001043346A3 WO2001043346A3 (en) | 2001-11-29 |
Family
ID=26865861
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2000/001442 WO2001043370A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
PCT/CA2000/001443 WO2001043345A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
PCT/CA2000/001441 WO2001043400A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
PCT/CA2000/001444 WO2001043346A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2000/001442 WO2001043370A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
PCT/CA2000/001443 WO2001043345A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
PCT/CA2000/001441 WO2001043400A2 (en) | 1999-12-10 | 2000-12-08 | Method and apparatus for longest match address lookup |
Country Status (10)
Country | Link |
---|---|
US (5) | US6691218B2 (en) |
EP (4) | EP1250778A2 (en) |
JP (4) | JP4741134B2 (en) |
KR (4) | KR100748772B1 (en) |
CN (5) | CN100432991C (en) |
AU (4) | AU2133901A (en) |
CA (4) | CA2393760C (en) |
DE (4) | DE10085389T1 (en) |
GB (4) | GB2374174B (en) |
WO (4) | WO2001043370A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100531140C (en) * | 2006-12-20 | 2009-08-19 | 中国科学院计算技术研究所 | A method and device for maximum prefix matching searching without retrospection |
WO2014105551A1 (en) * | 2012-12-28 | 2014-07-03 | General Instrument Corporation | Multiple domain addressing in message routing |
Families Citing this family (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4156112B2 (en) * | 1998-12-25 | 2008-09-24 | 富士通株式会社 | High-speed search method and high-speed search device |
WO2001043370A2 (en) * | 1999-12-10 | 2001-06-14 | Mosaid Technologies Incorporated | Method and apparatus for longest match address lookup |
US6996808B1 (en) * | 2000-02-12 | 2006-02-07 | Microsoft Corporation | Function injector |
US6675163B1 (en) * | 2000-04-06 | 2004-01-06 | International Business Machines Corporation | Full match (FM) search algorithm implementation for a network processor |
US6947931B1 (en) * | 2000-04-06 | 2005-09-20 | International Business Machines Corporation | Longest prefix match (LPM) algorithm implementation for a network processor |
US7089240B2 (en) | 2000-04-06 | 2006-08-08 | International Business Machines Corporation | Longest prefix match lookup using hash function |
US6826561B2 (en) * | 2000-05-22 | 2004-11-30 | Broadcom Corporation | Method and apparatus for performing a binary search on an expanded tree |
US7047317B1 (en) * | 2000-06-14 | 2006-05-16 | Altera Corporation | High performance network address processor system |
US6555511B2 (en) * | 2000-06-19 | 2003-04-29 | Lance L. Renfrow | Stable hydrotropic surfactants comprising alkylamino propionate |
US7966421B2 (en) * | 2000-06-21 | 2011-06-21 | SAtech Group, A.B. Limited Liability Company | Method and apparatus for logically expanding the length of a search key |
US7111071B1 (en) * | 2000-06-29 | 2006-09-19 | Intel Corporation | Longest prefix match for IP routers |
JP2002026973A (en) * | 2000-07-12 | 2002-01-25 | Nec Corp | Path retrieval system and its method, and router used for it |
US8161081B2 (en) * | 2001-03-16 | 2012-04-17 | Michael Philip Kaufman | System and method for generating automatic user interface for arbitrarily complex or large databases |
KR100488414B1 (en) * | 2000-12-30 | 2005-05-11 | 한국전자통신연구원 | Node Structuring Method for multiway search tree, and Searching Method by using it |
US6826669B1 (en) * | 2001-05-08 | 2004-11-30 | Lewiz Communications | Multi-protocol memory lookup system and method |
US6917954B2 (en) * | 2001-05-30 | 2005-07-12 | Mosaid Technologies, Inc. | Load balancing in IP address lookup |
US7062493B1 (en) * | 2001-07-03 | 2006-06-13 | Trilogy Software, Inc. | Efficient technique for matching hierarchies of arbitrary size and structure without regard to ordering of elements |
KR100542467B1 (en) * | 2001-07-24 | 2006-01-11 | 카부시키가이샤 테르미나스 테크놀로지 | Associative Memory System, Network Device, and Network System |
US20030031179A1 (en) * | 2001-08-08 | 2003-02-13 | Jintae Oh | Self-updateable longest prefix matching method and apparatus |
US7143382B2 (en) * | 2001-08-23 | 2006-11-28 | Cadence Design Systems, Inc. | Method and apparatus for storing routes |
US6665202B2 (en) | 2001-09-25 | 2003-12-16 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices that can identify highest priority matches in non-sectored CAM arrays and methods of operating same |
US6636857B2 (en) * | 2001-12-18 | 2003-10-21 | Bluecurrent, Inc. | Method and system for web-based asset management |
US6691171B1 (en) * | 2002-02-01 | 2004-02-10 | Micrel, Inc. | Method and system for address lookup in data communication |
US7274698B2 (en) * | 2002-03-15 | 2007-09-25 | Broadcom Corporation | Multilevel parser for conditional flow detection in a network device |
US7764687B1 (en) * | 2002-03-28 | 2010-07-27 | Meriton Networks Us Inc. | Longest prefix match search technique |
US20030210654A1 (en) * | 2002-05-07 | 2003-11-13 | Dongguk University | Method of parallel packet switching |
US7325071B2 (en) * | 2002-06-04 | 2008-01-29 | Lucent Technologies Inc. | Forwarding traffic in a network using a single forwarding table that includes forwarding information related to a plurality of logical networks |
US6925464B2 (en) * | 2002-06-13 | 2005-08-02 | Intel Corporation | Method and system for performing inserts and lookups in memory |
JP4048861B2 (en) * | 2002-07-23 | 2008-02-20 | 日本電気株式会社 | Address search device |
US6934252B2 (en) * | 2002-09-16 | 2005-08-23 | North Carolina State University | Methods and systems for fast binary network address lookups using parent node information stored in routing table entries |
US7346009B2 (en) * | 2002-09-30 | 2008-03-18 | Mosaid Technologies, Inc. | Dense mode coding scheme |
US7782853B2 (en) * | 2002-12-06 | 2010-08-24 | Stmicroelectronics, Inc. | Apparatus and method of using fully configurable memory, multi-stage pipeline logic and an embedded processor to implement multi-bit trie algorithmic network search engine |
US8018935B2 (en) * | 2002-12-12 | 2011-09-13 | Intel Corporation | Address search |
US7890633B2 (en) * | 2003-02-13 | 2011-02-15 | Oracle America, Inc. | System and method of extending virtual address resolution for mapping networks |
US7443854B2 (en) * | 2003-04-02 | 2008-10-28 | Intel Corporation | Methods and apparatus to route packets in a policy driven networked environment |
US9014195B2 (en) * | 2003-05-02 | 2015-04-21 | Vitesse Semiconductor Corporation | Packet forwarding method and system |
US7058757B1 (en) * | 2003-07-15 | 2006-06-06 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices that support distributed CAM control and methods of operating same |
US7260675B1 (en) | 2003-07-15 | 2007-08-21 | Integrated Device Technology, Inc. | CAM-based search engines that support pipelined multi-database search operations using encoded multi-database identifiers |
US7840696B2 (en) * | 2003-07-25 | 2010-11-23 | Broadcom Corporation | Apparatus and method for classifier identification |
US7299227B2 (en) * | 2003-09-09 | 2007-11-20 | Stmicroelectronics, Inc. | Method and system for providing cascaded trie-based network packet search engines |
US7028106B2 (en) * | 2003-12-05 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Remapping routing information entries in an expander |
US8868745B1 (en) * | 2003-12-22 | 2014-10-21 | Avaya Inc. | Method and system for providing configurable route table limits in a service provider for managing VPN resource usage |
US7937413B2 (en) * | 2004-05-04 | 2011-05-03 | International Business Machines Corporation | Self-adaptive prefix encoding for stable node identifiers |
US7483426B2 (en) * | 2004-05-13 | 2009-01-27 | Micrel, Inc. | Look-up table expansion method |
KR101144762B1 (en) * | 2004-07-12 | 2012-05-09 | 펙스코 머천트 서비시즈 | Direct currency conversion |
US8886677B1 (en) | 2004-07-23 | 2014-11-11 | Netlogic Microsystems, Inc. | Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length |
US7725450B1 (en) * | 2004-07-23 | 2010-05-25 | Netlogic Microsystems, Inc. | Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations |
US7653619B1 (en) | 2004-07-23 | 2010-01-26 | Netlogic Microsystems, Inc. | Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height |
US7747599B1 (en) | 2004-07-23 | 2010-06-29 | Netlogic Microsystems, Inc. | Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations |
US7603346B1 (en) | 2004-07-23 | 2009-10-13 | Netlogic Microsystems, Inc. | Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein |
CN100366023C (en) * | 2004-07-28 | 2008-01-30 | 国家数字交换系统工程技术研究中心 | Device for searching route |
KR100735577B1 (en) * | 2004-08-12 | 2007-07-04 | 삼성전자주식회사 | Apparatus and method for adaptively searching security key in wireless network |
US7590130B2 (en) * | 2004-12-22 | 2009-09-15 | Exar Corporation | Communications system with first and second scan tables |
US20060133383A1 (en) * | 2004-12-22 | 2006-06-22 | Russell Homer | Communications system with scan table identification |
US7590119B2 (en) * | 2005-01-27 | 2009-09-15 | Cisco Technology, Inc. | Method and apparatus for context-based prefix updates in border gateway protocol |
US20060187923A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Dynamic filter processor key generation based on packet type |
US7876747B2 (en) * | 2005-03-04 | 2011-01-25 | Cisco Technology, Inc. | Method and apparatus for efficient load distribution on link aggregations |
US7839854B2 (en) * | 2005-03-08 | 2010-11-23 | Thomas Alexander | System and method for a fast, programmable packet processing system |
US8572125B2 (en) | 2005-08-22 | 2013-10-29 | International Business Machines Corporation | Scalable storage schemes for native XML column data of relational tables |
US7529726B2 (en) * | 2005-08-22 | 2009-05-05 | International Business Machines Corporation | XML sub-document versioning method in XML databases using record storages |
US8543614B2 (en) * | 2005-08-22 | 2013-09-24 | International Business Machines Corporation | Packing nodes into records to store XML XQuery data model and other hierarchically structured data |
CN100401723C (en) * | 2005-10-13 | 2008-07-09 | 华为技术有限公司 | Fast indexing method |
US7869411B2 (en) * | 2005-11-21 | 2011-01-11 | Broadcom Corporation | Compact packet operation device and method |
US7889676B1 (en) * | 2006-04-13 | 2011-02-15 | Infoblox Inc. | Systems and methods for storing and retrieving data |
CN100421114C (en) * | 2006-04-21 | 2008-09-24 | 华为技术有限公司 | Data matching inquiry method based on key words |
US7817629B2 (en) * | 2006-05-12 | 2010-10-19 | Agere Systems Inc. | Methods and apparatus for performing network operations on packets of data in response to content of particular user-specified protocol header fields |
US7697518B1 (en) | 2006-09-15 | 2010-04-13 | Netlogic Microsystems, Inc. | Integrated search engine devices and methods of updating same using node splitting and merging operations |
US8194664B2 (en) * | 2006-10-10 | 2012-06-05 | Cisco Technology, Inc. | Two-level load-balancing of network traffic over an MPLS network |
US8189585B2 (en) * | 2006-10-10 | 2012-05-29 | Cisco Technology, Inc. | Techniques for virtual private network fast convergence |
US7937541B2 (en) * | 2006-10-12 | 2011-05-03 | International Business Machines Corporation | Speed selective table scan operation |
US8364803B2 (en) * | 2006-10-20 | 2013-01-29 | Oricane Ab | Method, device, computer program product and system for representing a partition of N W-bit intervals associated to D-bit data in a data communications network |
SE531557C2 (en) * | 2006-10-20 | 2009-05-19 | Oricane Ab | Method, classifier, computer program product and system for representing a portion of n w-bit intervals associated with d-bit data in a data communication network |
US7953721B1 (en) * | 2006-11-27 | 2011-05-31 | Netlogic Microsystems, Inc. | Integrated search engine devices that support database key dumping and methods of operating same |
US8086641B1 (en) | 2006-11-27 | 2011-12-27 | Netlogic Microsystems, Inc. | Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same |
US7831626B1 (en) * | 2006-11-27 | 2010-11-09 | Netlogic Microsystems, Inc. | Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node |
US7987205B1 (en) | 2006-11-27 | 2011-07-26 | Netlogic Microsystems, Inc. | Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations |
US11095583B2 (en) | 2007-06-28 | 2021-08-17 | Voxer Ip Llc | Real-time messaging method and apparatus |
US8825772B2 (en) * | 2007-06-28 | 2014-09-02 | Voxer Ip Llc | System and method for operating a server for real-time communication of time-based media |
US8645477B2 (en) | 2009-01-30 | 2014-02-04 | Voxer Ip Llc | Progressive messaging apparatus and method capable of supporting near real-time communication |
US20100198922A1 (en) | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US9178916B2 (en) | 2007-06-28 | 2015-11-03 | Voxer Ip Llc | Real-time messaging method and apparatus |
US8180029B2 (en) | 2007-06-28 | 2012-05-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20110019662A1 (en) | 2007-06-28 | 2011-01-27 | Rebelvox Llc | Method for downloading and using a communication application through a web browser |
US8688789B2 (en) | 2009-01-30 | 2014-04-01 | Voxer Ip Llc | Progressive messaging apparatus and method capable of supporting near real-time communication |
US7886176B1 (en) | 2007-09-24 | 2011-02-08 | Integrated Device Technology, Inc. | DDR memory system for measuring a clock signal by identifying a delay value corresponding to a changed logic state during clock signal transitions |
US20090100219A1 (en) * | 2007-10-15 | 2009-04-16 | Anurag Bhargava | Method and apparatus for efficient cam lookup for internet protocol addresses |
CN101420415B (en) * | 2007-10-23 | 2012-08-22 | 华为技术有限公司 | Method and apparatus for forming routing table |
US7716204B1 (en) | 2007-12-21 | 2010-05-11 | Netlogic Microsystems, Inc. | Handle allocation managers and methods for integated circuit search engine devices |
TWI413910B (en) * | 2008-01-25 | 2013-11-01 | Univ Nat Taiwan | Data item interval indentifier lookup method and system |
CN102780624B (en) * | 2008-02-05 | 2016-02-03 | 华为技术有限公司 | A kind of method and apparatus setting up route |
US8335780B2 (en) * | 2008-03-11 | 2012-12-18 | James Madison Kelley | Scalable high speed relational processor for databases and networks |
US7801877B1 (en) | 2008-04-14 | 2010-09-21 | Netlogic Microsystems, Inc. | Handle memory access managers and methods for integrated circuit search engine devices |
US7933885B1 (en) | 2008-04-25 | 2011-04-26 | Netlogic Microsystems, Inc. | Longest matching prefix search engine with hierarchical decoders |
US8036141B2 (en) * | 2008-08-15 | 2011-10-11 | At&T Intellectual Property I, L.P | Apparatus and method for managing a network |
DE102008059204B9 (en) * | 2008-11-27 | 2011-05-05 | Infineon Technologies Ag | Method for searching for a slave node in a communication network, master node and slave node for a communication network |
US8849927B2 (en) | 2009-01-30 | 2014-09-30 | Voxer Ip Llc | Method for implementing real-time voice messaging on a server node |
US20100245072A1 (en) * | 2009-03-25 | 2010-09-30 | Syclipse Technologies, Inc. | System and method for providing remote monitoring services |
US20100245582A1 (en) * | 2009-03-25 | 2010-09-30 | Syclipse Technologies, Inc. | System and method of remote surveillance and applications therefor |
US20100246669A1 (en) * | 2009-03-25 | 2010-09-30 | Syclipse Technologies, Inc. | System and method for bandwidth optimization in data transmission using a surveillance device |
US9049157B1 (en) * | 2009-08-16 | 2015-06-02 | Compass Electro-Optical Systems Ltd | Method and device for improving scalability of longest prefix match |
US8363662B2 (en) * | 2010-03-19 | 2013-01-29 | Cisco Technology, Inc. | Alternate down paths for directed acyclic graph (DAG) routing |
US9203743B2 (en) * | 2010-03-24 | 2015-12-01 | Nec Corporation | Packet forwarding system, control device, forwarding device and method and program for preparing processing rules |
US8751687B2 (en) | 2010-04-30 | 2014-06-10 | Microsoft Corporation | Efficient encoding of structured data |
WO2011137914A1 (en) * | 2010-05-04 | 2011-11-10 | Mingoa Limited | Identification and verification of management points in telecommunications systems |
US9077669B2 (en) * | 2010-06-14 | 2015-07-07 | Dynamic Invention Llc | Efficient lookup methods for ternary content addressable memory and associated devices and systems |
US9331942B2 (en) * | 2013-03-12 | 2016-05-03 | Xpliant, Inc. | Apparatus and method for processing alternately configured longest prefix match tables |
CN104052669B (en) * | 2013-03-12 | 2018-12-07 | 凯为公司 | For handling the device for the longest prefix match table being alternately arranged |
CN104426770A (en) * | 2013-09-09 | 2015-03-18 | 中兴通讯股份有限公司 | Routing lookup method, routing lookup device and method for constructing B-Tree tree structure |
JP5950285B2 (en) * | 2013-12-19 | 2016-07-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | A method for searching a tree using an instruction that operates on data having a plurality of predetermined bit widths, a computer for searching a tree using the instruction, and a computer thereof program |
US9485179B2 (en) | 2014-11-13 | 2016-11-01 | Cavium, Inc. | Apparatus and method for scalable and flexible table search in a network switch |
US9553829B2 (en) | 2014-11-13 | 2017-01-24 | Cavium, Inc. | Apparatus and method for fast search table update in a network switch |
US10091056B1 (en) * | 2015-08-06 | 2018-10-02 | Amazon Technologies, Inc. | Distribution of modular router configuration |
US10419282B1 (en) | 2015-09-24 | 2019-09-17 | Amazon Technologies, Inc. | Self-configuring network devices |
US9584155B1 (en) | 2015-09-24 | 2017-02-28 | Intel Corporation | Look-ahead hash chain matching for data compression |
US10313231B1 (en) * | 2016-02-08 | 2019-06-04 | Barefoot Networks, Inc. | Resilient hashing for forwarding packets |
US10063407B1 (en) | 2016-02-08 | 2018-08-28 | Barefoot Networks, Inc. | Identifying and marking failed egress links in data plane |
US10521411B2 (en) * | 2016-08-10 | 2019-12-31 | Moonshadow Mobile, Inc. | Systems, methods, and data structures for high-speed searching or filtering of large datasets |
CN106549872B (en) * | 2016-10-31 | 2019-05-24 | 西安空间无线电技术研究所 | Longest prefix match with accurately match the spaceborne fast routing lookups system combined |
US10404619B1 (en) | 2017-03-05 | 2019-09-03 | Barefoot Networks, Inc. | Link aggregation group failover for multicast |
US10237206B1 (en) | 2017-03-05 | 2019-03-19 | Barefoot Networks, Inc. | Equal cost multiple path group failover for multicast |
CN107169054A (en) * | 2017-04-26 | 2017-09-15 | 四川长虹电器股份有限公司 | Ip indexing means based on prefix forest |
US10224957B1 (en) | 2017-11-27 | 2019-03-05 | Intel Corporation | Hash-based data matching enhanced with backward matching for data compression |
JP7088868B2 (en) * | 2019-03-22 | 2022-06-21 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Communication equipment, communication methods and programs |
CN111367665B (en) * | 2020-02-28 | 2020-12-18 | 清华大学 | Parallel communication route establishing method and system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0453707A2 (en) * | 1990-04-26 | 1991-10-30 | International Business Machines Corporation | Method and means for managing space re-use in a shadow written B-tree via free space lists |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4450525A (en) * | 1981-12-07 | 1984-05-22 | Ibm Corporation | Control unit for a functional processor |
US4661658A (en) * | 1985-02-12 | 1987-04-28 | International Business Machines Corporation | Offline PIN validation with DES |
AU620994B2 (en) * | 1989-07-12 | 1992-02-27 | Digital Equipment Corporation | Compressed prefix matching database searching |
US5202986A (en) * | 1989-09-28 | 1993-04-13 | Bull Hn Information Systems Inc. | Prefix search tree partial key branching |
JPH0522297A (en) * | 1991-07-09 | 1993-01-29 | Nec Corp | Communication network system |
US5359724A (en) * | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
US5329618A (en) * | 1992-04-02 | 1994-07-12 | Fibronics Ltd. | Look-up table for a bridge in a data communications system |
WO1994002898A1 (en) * | 1992-07-24 | 1994-02-03 | Microsoft Corporation | Computer method and system for allocating and freeing memory |
US5323389A (en) * | 1992-08-14 | 1994-06-21 | Fore Systems, Inc. | ATM cell interface and method for dispatching an ATM cell |
US5386413A (en) * | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
CA2643234C (en) * | 1993-10-29 | 2012-05-15 | Microsoft Corporation | Method and system for generating a computer program |
US5384568A (en) * | 1993-12-02 | 1995-01-24 | Bell Communications Research, Inc. | Data compression |
US5854196A (en) * | 1994-08-23 | 1998-12-29 | The Procter & Gamble Company | Detergent compositions |
US5754854A (en) * | 1994-11-14 | 1998-05-19 | Microsoft Corporation | Method and system for providing a group of parallel resources as a proxy for a single shared resource |
JP3101767B2 (en) * | 1995-05-18 | 2000-10-23 | ノーテル・ネットワークス・コーポレーション | Message telephone based delivery system with selected greeting |
US5699276A (en) * | 1995-12-15 | 1997-12-16 | Roos; Charles E. | Utility meter providing an interface between a digital network and home electronics |
US5857196A (en) * | 1996-07-19 | 1999-01-05 | Bay Networks, Inc. | Method for storing a tree of potential keys in a sparse table |
JP3520709B2 (en) * | 1997-03-13 | 2004-04-19 | 三菱電機株式会社 | Network address search method |
US6034958A (en) * | 1997-07-11 | 2000-03-07 | Telefonaktiebolaget Lm Ericsson | VP/VC lookup function |
US5946679A (en) * | 1997-07-31 | 1999-08-31 | Torrent Networking Technologies, Corp. | System and method for locating a route in a route table using hashing and compressed radix tree searching |
US6512766B2 (en) * | 1997-08-22 | 2003-01-28 | Cisco Systems, Inc. | Enhanced internet packet routing lookup |
JPH1166096A (en) * | 1997-08-25 | 1999-03-09 | Nippon Telegr & Teleph Corp <Ntt> | Data storage method, database stored by the same and retrieval method for the database |
US6553002B1 (en) * | 1997-08-29 | 2003-04-22 | Ascend Communications, Inc. | Apparatus and method for routing data packets through a communications network |
US6266706B1 (en) * | 1997-09-15 | 2001-07-24 | Effnet Group Ab | Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams |
IL134835A0 (en) * | 1997-09-15 | 2001-05-20 | Effnet Group Ab | Method and system for fast routing lookups |
US6141655A (en) * | 1997-09-23 | 2000-10-31 | At&T Corp | Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template |
US6563823B1 (en) * | 1997-10-30 | 2003-05-13 | Marconi Communications, Inc. | Multi-resolution tree for longest match address lookups |
US6223172B1 (en) * | 1997-10-31 | 2001-04-24 | Nortel Networks Limited | Address routing using address-sensitive mask decimation scheme |
JP3186681B2 (en) * | 1997-12-25 | 2001-07-11 | 日本電気株式会社 | Route search circuit and communication control device |
JP3570606B2 (en) * | 1998-02-12 | 2004-09-29 | 日本電信電話株式会社 | Data retrieval apparatus and method |
JP3166700B2 (en) * | 1998-03-12 | 2001-05-14 | 日本電気株式会社 | Router and longest match search device |
US6085188A (en) * | 1998-03-30 | 2000-07-04 | International Business Machines Corporation | Method of hierarchical LDAP searching with relational tables |
EP1005726B1 (en) * | 1998-03-31 | 2003-10-15 | Samsung Electronics Co., Ltd. | TURBO ENCODING/DECODING DEVICE AND METHOD FOR PROCESSING FRAME DATA ACCORDING TO QoS |
US6067574A (en) * | 1998-05-18 | 2000-05-23 | Lucent Technologies Inc | High speed routing using compressed tree process |
US6247014B1 (en) * | 1998-07-01 | 2001-06-12 | Nortel Networks Limited | Method and apparatus for performing hash lookups using valid bit tables with pointers |
US6526055B1 (en) * | 1998-10-20 | 2003-02-25 | Sun Microsystems, Inc. | Method and apparatus for longest prefix address lookup |
IT1305140B1 (en) * | 1998-10-27 | 2001-04-10 | Cselt Centro Studi Lab Telecom | MEMORY FOR SEARCHING FOR INFORMATION THROUGH ANALYSIS OF INPARTICULAR PREFIXES FOR THE CREATION OF ROAD TABLES IN KNOTS |
TW468116B (en) * | 1999-02-08 | 2001-12-11 | Wen-Shian Chen | High speed Internet protocol address lookups method for saving memory |
US6460112B1 (en) * | 1999-02-23 | 2002-10-01 | Netlogic Microsystems, Llc | Method and apparatus for determining a longest prefix match in a content addressable memory device |
US6678274B1 (en) | 1999-07-30 | 2004-01-13 | Riverstone Networks, Inc. | Method and system for managing forwarding tables |
EP1083768A1 (en) * | 1999-09-08 | 2001-03-14 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | A method for facilitating data transmission |
US6744775B1 (en) * | 1999-09-27 | 2004-06-01 | Nortel Networks Limited | State information and routing table updates in large scale data networks |
US6687247B1 (en) * | 1999-10-27 | 2004-02-03 | Cisco Technology, Inc. | Architecture for high speed class of service enabled linecard |
WO2001043370A2 (en) * | 1999-12-10 | 2001-06-14 | Mosaid Technologies Incorporated | Method and apparatus for longest match address lookup |
US6826561B2 (en) * | 2000-05-22 | 2004-11-30 | Broadcom Corporation | Method and apparatus for performing a binary search on an expanded tree |
US7106732B2 (en) * | 2000-12-27 | 2006-09-12 | Mosaid Technologies Incorporated | Default route coding |
-
2000
- 2000-12-08 WO PCT/CA2000/001442 patent/WO2001043370A2/en active Application Filing
- 2000-12-08 DE DE2000185389 patent/DE10085389T1/en not_active Ceased
- 2000-12-08 CN CNB008189447A patent/CN100432991C/en not_active Expired - Lifetime
- 2000-12-08 US US09/733,627 patent/US6691218B2/en not_active Expired - Lifetime
- 2000-12-08 CA CA 2393760 patent/CA2393760C/en not_active Expired - Fee Related
- 2000-12-08 US US09/733,628 patent/US20010042130A1/en not_active Abandoned
- 2000-12-08 JP JP2001542932A patent/JP4741134B2/en not_active Expired - Lifetime
- 2000-12-08 JP JP2001542982A patent/JP2003516670A/en not_active Withdrawn
- 2000-12-08 JP JP2001542955A patent/JP2003516666A/en active Pending
- 2000-12-08 CN CNB008189471A patent/CN1278525C/en not_active Expired - Lifetime
- 2000-12-08 WO PCT/CA2000/001443 patent/WO2001043345A2/en active Application Filing
- 2000-12-08 KR KR1020027007423A patent/KR100748772B1/en active IP Right Grant
- 2000-12-08 JP JP2001542933A patent/JP4565793B2/en not_active Expired - Lifetime
- 2000-12-08 CA CA 2393764 patent/CA2393764A1/en not_active Abandoned
- 2000-12-08 GB GB0213390A patent/GB2374174B/en not_active Expired - Lifetime
- 2000-12-08 US US09/733,629 patent/US7423981B2/en not_active Expired - Lifetime
- 2000-12-08 KR KR1020027007421A patent/KR20020082465A/en not_active Application Discontinuation
- 2000-12-08 AU AU21339/01A patent/AU2133901A/en not_active Abandoned
- 2000-12-08 AU AU23341/01A patent/AU2334101A/en not_active Abandoned
- 2000-12-08 CN CNB008189463A patent/CN1174587C/en not_active Expired - Lifetime
- 2000-12-08 GB GB0213389A patent/GB2373083B/en not_active Expired - Lifetime
- 2000-12-08 DE DE2000185387 patent/DE10085387T5/en not_active Withdrawn
- 2000-12-08 WO PCT/CA2000/001441 patent/WO2001043400A2/en not_active Application Discontinuation
- 2000-12-08 AU AU21338/01A patent/AU2133801A/en not_active Abandoned
- 2000-12-08 CN CN00818945A patent/CN1435030A/en active Pending
- 2000-12-08 AU AU21337/01A patent/AU2133701A/en not_active Abandoned
- 2000-12-08 KR KR1020027007422A patent/KR100748771B1/en active IP Right Grant
- 2000-12-08 CN CN200810149123.6A patent/CN101510839B/en not_active Expired - Fee Related
- 2000-12-08 EP EP20000984688 patent/EP1250778A2/en not_active Withdrawn
- 2000-12-08 EP EP20000984690 patent/EP1250662A2/en not_active Withdrawn
- 2000-12-08 KR KR1020027007424A patent/KR100748773B1/en active IP Right Grant
- 2000-12-08 CA CA 2395151 patent/CA2395151C/en not_active Expired - Fee Related
- 2000-12-08 GB GB0213391A patent/GB2373084A/en not_active Withdrawn
- 2000-12-08 DE DE2000185388 patent/DE10085388T1/en not_active Ceased
- 2000-12-08 GB GB0213387A patent/GB2373082B/en not_active Expired - Lifetime
- 2000-12-08 EP EP20000986911 patent/EP1250779A2/en not_active Withdrawn
- 2000-12-08 WO PCT/CA2000/001444 patent/WO2001043346A2/en active Application Filing
- 2000-12-08 DE DE2000185390 patent/DE10085390T1/en not_active Ceased
- 2000-12-08 EP EP20000984689 patent/EP1250775A2/en not_active Withdrawn
- 2000-12-08 US US09/733,761 patent/US6539369B2/en not_active Expired - Lifetime
- 2000-12-08 CA CA 2397608 patent/CA2397608C/en not_active Expired - Fee Related
-
2003
- 2003-01-02 US US10/336,055 patent/US6836771B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0453707A2 (en) * | 1990-04-26 | 1991-10-30 | International Business Machines Corporation | Method and means for managing space re-use in a shadow written B-tree via free space lists |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100531140C (en) * | 2006-12-20 | 2009-08-19 | 中国科学院计算技术研究所 | A method and device for maximum prefix matching searching without retrospection |
WO2014105551A1 (en) * | 2012-12-28 | 2014-07-03 | General Instrument Corporation | Multiple domain addressing in message routing |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2397608C (en) | Method and apparatus for longest match address lookup | |
US7966421B2 (en) | Method and apparatus for logically expanding the length of a search key | |
US7715385B2 (en) | Default route coding | |
US7633960B2 (en) | Dense mode coding scheme | |
US6917954B2 (en) | Load balancing in IP address lookup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2397608 Country of ref document: CA |
|
ENP | Entry into the national phase |
Ref document number: 2001 542933 Country of ref document: JP Kind code of ref document: A Ref document number: 200213387 Country of ref document: GB Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020027007424 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000984690 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 008189447 Country of ref document: CN |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 2000984690 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020027007424 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2000984690 Country of ref document: EP |
|
RET | De translation (de og part 6b) |
Ref document number: 10085389 Country of ref document: DE Date of ref document: 20030717 Kind code of ref document: P |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10085389 Country of ref document: DE |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8607 |