IP Library Granted Patent US 7,203,176
Granted Patent B2
US 7,203,176 · App. 10/963,779 · Granted Apr 10, 2007

System, device, and method for address reporting in a distributed communication environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,203,176
App. No.
10/963,779
Granted
Apr 10, 2007
Kind
B2
Abstract

An address reporting technique for reporting address information in a distributed communication environment retrieves locally owned address information from each of a number of distributed address databases, sorts the address information according to a predetermined sorting scheme, and reports the sorted address information. Each address database is maintained by one of a plurality of interconnected modules. A reporting module reports address information by retrieving locally owned address information from its address database, retrieves locally owned address information from each of the other interconnected modules, sorts the address information according to a predetermined sorting scheme, and reports the sorted address information. The reporting module retrieves the locally owned address information from each of the other interconnected modules by sending a request message to the other interconnected modules and receiving a response message from each of the other interconnected modules including the locally owned address information from the module. A module that receives the request message retrieves locally owned address information from its address database, formats a response message, and sends the response message to the reporting module. The reporting module may indicate a starting address, in which case each module retrieves from its address database a predetermined number of locally owned address entries starting with a first locally owned address entry that is lexicographically greater than the starting address.

Claims (51)

1. A method for reporting address information in a distributed modular switching system having a plurality of interconnected switching modules each having an address database, wherein each address database includes a number of locally owned address entries containing locally owned address information and a number of remotely owned address entries containing remotely owned address information, the method comprising:

retrieving a list of locally owned address information from each address database, the locally owned address information comprising one or more address-to-port-number mappings including a locally owned address and a corresponding interface identifier;

sorting the retrieved address information according to a predetermined sorting scheme; and

reporting the sorted address information.

2. The method of claim 1 , wherein each module includes a number of interfaces;

each locally owned address entry includes a locally owned address and an interface identifier identifying an interface from which the locally owned address is learned; and

each remotely owned address entry includes a remotely owned address and a module identifier identifying a module from which the remotely owned address is learned.

3. The method of claim 2 , wherein:

retrieving a list of locally owned address information from each address database comprises:

determining a reporting module from among the plurality of interconnected modules, the plurality of interconnected modules comprising the reporting module and one or more other interconnected modules;

retrieving a first list of locally owned address information by the reporting module from the address database maintained by the reporting module; and

retrieving a second list of locally owned address information by the reporting module from each of the other interconnected modules;

sorting the retrieved address information comprises sorting the address information by the reporting module according to the predetermined sorting scheme; and

reporting the sorted address information comprises reporting the sorted address information by the reporting module.

4. The method of claim 1 , wherein sorting the address information comprises sorting the address-to-port-number mappings into lexicographical order according to the locally owned address.

5. The method of claim 1 , wherein the predetermined sorting scheme is a parallel sorting scheme.

6. The method of claim 5 , wherein sorting the address information comprises:

maintaining an index/pointer for each list of locally-owned address information retrieved from each of the distributed address databases;

setting the index/pointer for each list of locally-owned address information to indicate a lexicographically lowest address entry in the list; an

outputting address entries in lexicographical order by iteratively determining an index/pointer indicating the lexicographically lowest address entry, outputting the address entry indicated by the index/pointer, and setting the index/pointer to indicate a lexicographically next address entry in the list.

7. The method of claim 1 , further comprising:

caching the retrieved address information in a cache memory; and

using the cached address information to report the address information.

8. A module for reporting address information in a modular switching system including the module and one or more other interconnected modules, the module comprising:

an address database;

address maintenance logic operably coupled to maintain a number of locally owned address entries containing locally owned address information and a number of remotely owned address entries containing remotely owned address information in the address database;

local retrieval logic operably coupled to retrieve a first list of locally owned address information from the address database, the first list of locally owned address information comprising one or more address-to-port-number mappings including a locally owned address and a corresponding interface identifier;

remote retrieval logic operably coupled to retrieve a second list of locally owned address information from each of the other interconnected modules, the second list of locally owned address information comprising one or more address-to-port-number mappings including a locally owned address and a corresponding interface identifier for each of the other interconnected modules;

sorting logic responsive to the local retrieval logic and the remote retrieval logic and operably coupled to sort the retrieved address information according to a predetermined sorting scheme; and

reporting logic operably coupled to report the sorted address information.

9. The module of claim 8 , wherein the remote retrieval logic comprises:

transmitting logic operably coupled to cause a request message to be sent to each of the interconnected modules requesting the second list of locally owned address information from each of the other interconnected modules; and

receiving logic operably coupled to receive from each of the interconnected modules a response message including the second list of locally owned address information from the interconnected module.

10. The module of claim 8 , wherein the sorting logic is operably coupled to sort the address-to-port-number mappings into lexicographical order by address.

11. The module of claim 10 , wherein the sorting logic is operably coupled to maintain an index/pointer for each retrieved list of locally-owned address information, set the index/pointer for each list of locally-owned address information to indicate a lexicographically lowest address entry in the list, and output address entries in lexicographical order by iteratively determining the index/pointer indicating the lexicographically lowest address entry, outputting the address entry indicated by the index/pointer, and setting the index/pointer to indicate the lexicographically next address entry in the list.

12. The module of claim 8 , further comprising caching logic operably coupled to store the retrieved address information in a cache memory.

13. A program product comprising a computer readable medium having embodied therein a computer program for reporting address information in a modular switching system having a plurality of interconnected modules, the computer program comprising:

address maintenance logic programmed to maintain a number of locally owned address entries containing locally owned address information and a number of remotely owned address entries containing remotely owned address information in an address database;

local retrieval logic programmed to retrieve a first list of locally owned address information from the address database, the first list of locally owned address information comprising one or more address-to-port-number mappings including a locally owned address and a corresponding interface identifier;

remote retrieval logic programmed to retrieve at least one second list of locally owned address information from at least one of the interconnected modules, the second list of locally owned address information comprising one or more address-to-port-number mappings including a locally owned address and a corresponding interface identifier;

sorting logic responsive to the local retrieval logic and the remote retrieval logic and programmed to sort the retrieved address information according to a predetermined sorting scheme; and

reporting logic programmed to report the sorted address information.

14. The program product of claim 13 , wherein the remote retrieval logic comprises:

transmitting logic programmed to cause a request message to be sent to each of the interconnected modules requesting the second list of locally owned address information from each of the other interconnected modules; and

receiving logic programmed to receive from each of the interconnected modules a response message including the second list of locally owned address information from the interconnected module.

15. The program product of claim 13 , wherein the sorting logic is programmed to sort the address-to-port-number mappings into lexicographical order by address.

16. The program product of claim 15 , wherein the sorting logic is programmed to maintain an index/pointer for each retrieved list of locally-owned address information, set the index/pointer for each list of locally-owned address information to indicate a lexicographically lowest address entry in the list, and output address entries in lexicographical order by iteratively determining the index/pointer indicating the lexicographically lowest address entry, outputting the address entry indicated by the index/pointer, and setting the index/pointer to indicate the lexicographically next address entry in the list.

17. The program product of claim 13 , wherein the computer program further comprises caching logic programmed to store the retrieved address information in a cache memory.

18. The method of claim 1 , wherein retrieving a list of locally owned address information from each address database comprises:

sending a request message from a one of the plurality of interconnected modules to each of the other interconnected modules requesting locally owned address information from each of the other interconnected modules; and

receiving a response message at the one of the plurality of interconnected modules from each of the other interconnected modules that includes the locally owned address information from each of the other interconnected modules.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: ROCKSTAR CONSORTIUM US LP
To: BOCKSTAR TECHNOLOGIES LLC
Reel/Frame 032399/0116 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032170/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027164/0356 →