US7185097B1 - Encoding addresses in a communication system - Google Patents
Encoding addresses in a communication system Download PDFInfo
- Publication number
- US7185097B1 US7185097B1 US09/511,777 US51177700A US7185097B1 US 7185097 B1 US7185097 B1 US 7185097B1 US 51177700 A US51177700 A US 51177700A US 7185097 B1 US7185097 B1 US 7185097B1
- Authority
- US
- United States
- Prior art keywords
- address
- regular expression
- addresses
- character
- mac address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 36
- 230000014509 gene expression Effects 0.000 claims abstract description 120
- 238000013507 mapping Methods 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
Definitions
- the present invention relates generally to communication systems, and more particularly to encoding addresses and using encoded addresses in a communication system.
- computers and computer peripherals are often internetworked over a communication network.
- the various devices in the communication network including the computers, computer peripherals, and various other networking devices, are typically assigned addresses. These addresses are used for communications between the various devices.
- the various network devices need to obtain and maintain certain types of addressing information. Although some addressing information may be obtained from the other network devices using various communication protocols, and other addressing information may be “learned” through normal operation of the network device, it is common for some addressing information to be configured manually. In any case, it is common for certain addressing information to be stored within each network device.
- the amount of addressing information that must be obtained and maintained by the various network devices is often substantial.
- the large amount of addressing information makes manual configuration of addressing information tedious and error-prone.
- the large amount of addressing information may require large amounts of memory for storage, and may also have performance implications such as increasing address search times in various address translation and routing tables.
- one or more addresses are encoded into a single regular expression.
- the regular expression may be used for configuring and/or storing addressing information in a network device.
- FIG. 1 is a block diagram showing an exemplary communication network having multiple X.25 end station devices connecting to one DLSw host device through a router as is known in the art;
- FIG. 2 is a block diagram showing an exemplary communication network having multiple X.25 end station devices connecting to one DLSw host device through an enhanced router in accordance with an embodiment of the present invention
- FIG. 3 is a block diagram showing an exemplary communication network having multiple DLSw end station devices connecting to one X.25 host device through a router as is known in the art;
- FIG. 4 is a block diagram showing an exemplary communication network having multiple DLSw end station devices connecting to one X.25 host device through an enhanced router in accordance with an embodiment of the present invention
- FIG. 5 is a block diagram showing relevant logic blocks of an exemplary network device in accordance with an embodiment of the present invention.
- FIG. 6 is a table describing various wildcard characters that can be used in a regular expression in accordance with an embodiment of the present invention.
- FIG. 7 is a table describing various concatenation characters that can be used in a regular expression in accordance with an embodiment of the present invention.
- FIG. 8 shows an exemplary address configuration table for mapping multiple X.25 end station devices to one DLSw host device as is known in the art
- FIG. 9 shows an exemplary address configuration table for mapping multiple X.25 end station devices to one DLSw host device using a single address configuration table entry in accordance with an embodiment of the present invention
- FIG. 10 shows an exemplary dynamic routing table for mapping an X.25 end station device to a DLSw host device in accordance with an embodiment of the present invention
- FIG. 11 shows an exemplary address configuration table for mapping multiple DLSw end station devices to one X.25 host device as is known in the art
- FIG. 12 shows an exemplary address configuration table for mapping multiple DLSw end station devices to one X.25 host device using a single address configuration table entry in accordance with an embodiment of the present invention in which the X.25 logical channel number is dynamically allocated from a virtual pool of unused X.25 logical channel numbers;
- FIG. 13 shows an exemplary dynamic routing table for mapping a DLSw end station device to an X.25 host device using a dynamically allocated X.25 logical channel number in accordance with an embodiment of the present invention
- FIG. 14 shows an exemplary address configuration table for mapping multiple DLSw end station devices to one X.25 host device using a single address configuration table entry in accordance with an embodiment of the present invention in which the Partner X.121 Address is dynamically allocated from an X.121 address pool;
- FIG. 15 shows an exemplary dynamic routing table for mapping a DLSw end station device to an X.25 host device using a dynamically allocated Partner X.121 Address in accordance with an embodiment of the present invention.
- FIG. 16 is a table describing various operators that can be used in a regular expression.
- addressing information is encoded using regular expressions.
- a regular expression may be used to represent a single address or a group of contiguous or non-contiguous addresses.
- a regular expression may be used for manually configuring addressing information and/or for storing addressing information.
- Using a regular expression to manually configure addressing information enables a network administrator to represent a group of addresses using a single regular expression, thereby simplifying the task of entering the addressing information.
- Storing addressing information as a regular expression enables a group of addresses to be consolidated, thereby reducing the amount of memory needed to store the addressing information.
- a regular expression is a character string that is used to represent one or more addresses.
- a regular expression syntax defines various “wildcard” characters or character groups, concatenation characters or character groups, and operation characters that can be used in a regular expression, and also defines the rules for combining actual characters or character groups, “wildcard” characters or character groups, concatenation characters or character groups, and operation characters into a regular expression that represents one or more addresses.
- Regular expressions have been used in other contexts to simplify such tasks as finding, listing, and printing.
- an asterisk (*) may be used as a “wildcard” to match any text string. Therefore, one might enter the command “ls *.txt” to list all files having the “txt” suffix, or enter the command “print *.doc” to print all files having the “doc” suffix, or enter the command ‘find “regular expression”*.*’ to find all files that contain the text string “regular expression.”
- An embodiment of the present invention utilizes regular expressions for configuring and storing addressing information.
- the regular expression itself is stored in place of one or more actual addresses, for example, in an address table or management information base.
- the regular expression syntax defines various “wildcard” characters or character groups, concatenation characters or character groups, operation characters that can be used in a regular expression, and also defines the rules for combining actual characters or character groups, “wildcard” characters or character groups, concatenation characters or character groups, and operation characters into a regular expression that represents one or more addresses.
- a character in a regular expression is used to match that character.
- the regular expression “400000000004” matches only the address “400000000004.”
- a period (.) is a wildcard character that is used to match any single character.
- the regular expression “40000000000.” matches the addresses “400000000000,” “400000000001,” “400000000002,” and so on.
- a caret is a wildcard character that, when included in the leftmost position of a regular expression, constrains the regular expression to match the leftmost portion of an address, and is therefore referred to as an “anchor.”
- a dollar sign ($) is a wildcard character that, when included in the rightmost position of a regular expression, constrains the regular expression to match the rightmost portion of an address, and is therefore also referred to as an “anchor.”
- a bracketed group can be used to define a group of characters for a single character position within the regular expression.
- a bracketed group includes an expression that is enclosed within square brackets.
- a bracketed group is treated like a single-character expression.
- a bracketed group that includes multiple characters matches any one of the characters at the position in the regular expression at which the bracketed group is included. For example, the bracketed group “[567]” matches a “5,” a “6,” or a “7” at the position in the regular expression at which the bracketed group is included, such that the regular expression “40000000000[567]” matches the addresses 400000000005, 400000000006, and 400000000007.
- a bracketed group that includes an expression beginning with a caret ( ⁇ ) matches any character at the position in the regular expression at which the bracketed group is included EXCEPT for the characters following the caret.
- the bracketed group “[ ⁇ 567]” matches any character except a “5,” a “6,” or a “7” at the position in the regular expression at which the bracketed group is included.
- a bracketed group that includes a minus sign ( ⁇ ) between two characters matches any character at the position in the regular expression at which the bracketed group is included that is in the range of consecutive characters beginning with the leftmost character and ending with the rightmost character.
- the bracketed group “[5–7]” matches a “5,” a “6,” or a “7” at the position in the regular expression at which the bracketed group is included, such that the regular expression “40000000000[5–7]” matches the addresses 400000000005, 400000000006, and 400000000007.
- a parenthetical group can be used to correlate multiple expressions.
- a parenthetical group includes multiple expressions that are enclosed within parentheses.
- a parenthetical group matches whatever the enclosed expressions match.
- a parenthetical group is treated like a single expression.
- parenthetical group Within a parenthetical group, two expressions separated by a vertical bar (
- a question mark is a concatenation character that matches zero or exactly one occurrence of the expression that immediately precedes it.
- the preceding expression may be a single character, a wildcard character, a bracketed group, or a parenthetical group.
- the expression “[0–9]?” matches any string having zero or exactly one digit.
- an asterisk (*) is a concatenation character that matches zero or more occurrences of the expression that immediately precedes it.
- the preceding expression may be a single character, a wildcard character, a bracketed group, or a parenthetical group.
- the expression “[0–9]*” matches any string having zero or more digits.
- the regular expression “.*” i.e., the two-character string consisting of a period followed by an asterisk
- a plus sign (+) is a concatenation character that matches one or more occurrences of the expression that immediately precedes it.
- the preceding expression may be a single character, a wildcard character, a bracketed group, or a parenthetical group.
- the expression “[0–9]+” matches any string having one or more digits.
- a braced group can be used to specify a specific number or range of occurrences of the expression that immediately precedes it.
- a braced group is enclosed within braces (curly brackets).
- a braced group of the form “ ⁇ m ⁇ ” matches exactly “m” occurrences of the expression that immediately precedes it.
- a braced group of the form “ ⁇ m, ⁇ ” matches at least “m” occurrences of the expression that immediately precedes it.
- a braces group of the form “ ⁇ m,n ⁇ ” at least “m” but no more than “n” occurrences of the expression that immediately precedes it.
- regular expressions may be used to simply the configuration of address mapping information and also to configure address pools.
- the various network devices in the communication network it is common for the various network devices in the communication network to include various address mapping tables.
- Address mapping tables are used in many contexts.
- One exemplary address mapping table maps each destination address to a corresponding route, and may be used, for example, for forwarding protocol messages.
- Another exemplary address mapping table maps an address from one network domain to a corresponding address in another network domain, and may be used, for example, for translating addresses in a network address translator.
- Yet another exemplary address mapping table maps an address from one protocol to an address of another protocol, and may be used, for example, for correlating data streams of different protocols.
- the use of a regular expression in place of multiple addresses in an address mapping table may necessitate that various related addresses be dynamically allocated from an address pool.
- a regular expression may be used to configure the address pool.
- Various aspects of the present invention can be demonstrated by example with reference to a communication system having an X.25 network that is interconnected with a DLSw network through a router or other intermediate network device.
- multiple X.25 clients in the (source) X.25 network initiate connections to a single DLSw host in the (destination) DLSw network.
- multiple DLSw clients in the (source) DLSw network initiate connections to a single X.25 host in the (destination) X.25 network.
- X.25 is a common packet switching protocol that uses a Packet Layer Protocol (PLP) to perform network routing functions and multiplexing of simultaneous logical connections over a single physical connection.
- PLP Packet Layer Protocol
- Data Link Switching is a connection-oriented forwarding mechanism for the IBM Systems Network Architecture (SNA).
- Qualified Logical Link Control (QLLC) is a protocol that allows SNA data to be transported across connection-oriented X.25 networks. Considerable configuration support is required of network router software to implement QLLC for various Data Link Switching (DLSw) protocol network topologies.
- Data routing in a connection-oriented protocol such as DLSw is typically based on a Media Access Control (MAC) hardware address that is uniquely associated with each node in the network.
- MAC Media Access Control
- the X.25 network uses X.121 addresses to identify the source and destination for message streams.
- an address configuration table When a router device is used to interconnect a device in one network, such as a connection-oriented DLSw network, with a device in another network, such as a connection-oriented X.25 network, an address configuration table must be configured in order to map each device to the other.
- the information in the address configuration table includes source and destination MAC addresses for the DLSw devices, and calling and called X.121 addresses for the X.25 devices.
- One table entry is made in the address table for each pair of interconnected devices.
- a router device In order to establish a connection between a DLSw device and an X.25 device, a router device refers to the address configuration table entries to establish a dynamic routing mapping, for example in a dynamic routing table, that is used for the two-way exchange of data messages between the mapped devices.
- the dynamic routing table entry may be positively deleted by the router, or, may simply “age” out of the dynamic routing table.
- a single address configuration table entry maps multiple source devices in a source network to a single destination device in a destination network.
- the single address configuration table entry is used when any of the source devices initiates a connection to the destination device.
- the single address configuration table entry includes a “wildcard” for matching the source address of connection requests that are originated by any of the multiple source devices and destined for the destination device. Because the “wildcard” may match multiple source addresses, the single address configuration table entry does not represent a one-to-one mapping of a source device from the source network to a destination device in the destination network.
- certain address/channel information is dynamically allocated at the time the connection is established, and a dynamic routing table entry is installed in a dynamic routing table in order to map the source device to the destination device using the dynamically allocated address/channel information.
- a router or other intermediate network device is able to maintain one address configuration table entry per destination device rather than one address configuration table entry per source device, as in the prior art.
- Such an arrangement greatly reduces the complexity of configuring address mapping information.
- each client/host device is associated with an X.121 address for the X.25 network as well as a MAC address for the DLSw network.
- Address mapping information must be configured in order to enable connection establishment between the X.25 devices in the X.25 network and the DLSw devices in the DLSw network.
- the router stores the address mapping information in the address configuration table.
- the router uses the address mapping information in the address configuration table for establishing connections.
- the address mapping information is configured differently depending on whether connections are initiated from the X.25 network or from the DLSw network.
- each address configuration table entry maps one or more (source) X.25 devices in the (source) X.25 network to a single (destination) DLSw device in the (destination) DLSw network.
- each address configuration table entry maps one or more (source) DLSw devices in the (source) DLSw network to a single (destination) X.25 device in the (destination) X.25 network.
- an address configuration table entry includes, among other things, an Adjacent X.121 Address field, a Partner X.121 Address field, an Adjacent MAC Address field, a Partner MAC Address field, and a Flag field.
- the Flag field indicates whether the Partner MAC Address field contains an actual MAC address or a regular expression (“wildcard”).
- the Partner MAC Address field is configured as a “wildcard” using a regular expression in order to match one or more (source) DLSw device addresses.
- An exemplary embodiment of the present invention utilizes the regular expression “.*” (i.e., the two-character string consisting of a period followed by an asterisk) as the “wildcard” in order to match any address.
- the same Partner X.121 Address (i.e., the X.121 address associated with the implied source device) is used for each X.25 session, and therefore a different X.25 LCN is used for each X.25 session in order to distinguish the various X.25 sessions.
- the same X.25 LCN is used for each X.25 session, and therefore a different Partner X.121 Address is used for each X.25 session in order to distinguish the various X.25 sessions.
- the router installs a dynamic routing table entry in the dynamic routing table.
- the dynamic routing table entry includes, among other things, an Adjacent X.121 Address field, a Partner X.121 Address field, an actual or implied X.25 LCN field, an Adjacent MAC Address field, and a Partner MAC Address field.
- the dynamic routing table entry includes addressing information for mapping a single X.25 device to a single DLSw device including any dynamically allocated address/channel information.
- the dynamic routing table entry does not include any “wildcard” or “nil” values.
- the router uses the dynamic routing table entry for forwarding packets between the X.25 device and the DLSw device, irrespective of which side initiated the connection.
- the router then attempts to establish a connection to the destination DLSw device using the allocated Adjacent MAC Address as the source MAC address and the Partner MAC Address as the destination MAC address. Assuming the router is able to establish the connection to the destination DLSw device, the router installs a dynamic routing table entry in the dynamic routing table.
- the Adjacent X.121 Address field is equal to the calling X.121 address specified by the source X.25 device
- the Partner X.121 Address field is equal to the called X.121 address specified by the source X.25 device
- the X.25 LCN field is equal to the X.25 LCN associated with the connection (which, in a preferred embodiment, defaults to 1)
- the Adjacent MAC Address field is equal to the MAC address that the router allocated from the MAC address pool
- the Partner MAC Address field is equal to the Partner MAC Address field from the address configuration table entry.
- the DLSw device when a connection is initiated by a DLSw device, the DLSw device specifies a source MAC address corresponding to the source DLSw device and a destination MAC address corresponding to the destination X.25 device.
- the router searches the address configuration table for an address configuration table entry having the Partner MAC Address field matching the source MAC address (via a “wildcard”) and the Adjacent MAC Address field equal to the destination MAC address.
- the router obtains the Adjacent X.121 Address from the address configuration table entry, and determines from the Partner X.121 Address field whether to dynamically allocate an X.25 LCN for the connection or to dynamically allocate a Partner X.121 Address for the connection.
- the router dynamically allocates an X.25 LCN from a “virtual pool” of unused X.25 LCNs. If the Partner X.121 Address field is “nil,” then the router dynamically allocates a Partner X.121 Address from a predetermined pool of X.121 addresses. In either case, the router then attempts to establish a connection to the destination X.25 device using the Partner X.121 Address as the calling X.121 address and the Adjacent X.121 Address as the called X.121 address. Assuming the router is able to establish the connection to the destination X.25 device, the router installs a dynamic routing table entry in the dynamic routing table.
- the Adjacent X.121 Address field is equal to the Adjacent X.121 Address field from the address configuration table entry
- the Partner X.121 Address field is equal to the Partner X.121 Address field from the address configuration table entry
- the X.25 LCN field is equal to the allocated X.25 LCN
- the Adjacent MAC Address field is equal to the destination MAC address specified by the source DLSw device
- the Partner MAC Address field is equal to the source MAC address specified by the source DLSw device.
- FIG. 1 shows an exemplary prior art communication network 100 having multiple X.25 end station devices initiating connections to one DLSw host device. More specifically, a DLSw network 10 is connected to downstream QLLC compatible X.25 devices 121 , 122 , and 123 via an X.25 network 14 that includes the router device 13 . The DLSw network 10 is also connected via a token ring network 15 to upstream host LLC device SNA mainframe 16 .
- the personal computer 121 is a QLLC X.25 device having an X.121 address of 77771 and a MAC address of 400000000001.
- the IBM 3174 122 is a QLLC X.25 device having an X.121 address of 77773 and a MAC address of 400000000003.
- the IBM AS/400 123 is a QLLC X.25 device having an X.121 address of 77772 and a MAC address of 400000000002.
- the host SNA mainframe 16 is an LLC protocol DLSw device having an X.121 address of 4444 and a MAC address of 400000000004.
- the router 13 has an X.121 address of 7777.
- address mapping information In order for the X.25 devices ( 121 , 122 , 123 ) to connect to the host SNA mainframe 16 , address mapping information must be configured to map each X.25 device ( 121 , 122 , 123 ) to the host SNA mainframe 16 .
- a complete set of address mapping information is configured for each pair of interconnected devices. This address mapping information includes the X.121 addresses and MAC addresses for each pair of interconnected devices.
- address mapping information is configured for each X.25 client device.
- FIG. 8 shows an exemplary prior art address configuration table 800 for use in the router device 13 in the network illustrated in FIG. 1 .
- the address configuration table 800 includes three address configuration table entries ( 812 , 814 , 816 ), one for each X.25 device ( 121 , 122 , 123 ).
- Each address configuration table entry ( 812 , 814 , 816 ) includes a Map Name field 802 , an Adjacent X.121 Address field 804 , a Partner X.121 Address field 804 , an Adjacent MAC Address field 808 , and a Partner MAC Address field 810 .
- the Map Name field 802 is used to name a specific address configuration table entry.
- the Adjacent X.121 Address field 804 indicates the X.121 address of the X.25 client device.
- the Partner X.121 Address field 804 indicates the X.121 address of the DLSw host device.
- the Adjacent MAC Address field 808 indicates the MAC address of the X.25 client device.
- the Partner MAC Address field 810 indicates the MAC address of the DLSw host device.
- the address configuration table 800 shows three exemplary address configuration table entries, specifically address configuration table entries 812 , 814 , and 816 .
- Address configuration table entry 812 which has a Map Name AS400_map, corresponds to the connection from the IBM AS/400 123 to the SNA mainframe 16 , and thus includes Adjacent X.121 Address 77772, Partner X.121 Address 4444, Adjacent MAC Address 400000000002, and Partner MAC Address 400000000004.
- Address configuration table entry 814 which has a Map Name 3174_map, corresponds to the connection from the IBM 3174 122 to the SNA mainframe 16 , and thus includes Adjacent X.121 Address 77773, Partner X.121 Address 4444, Adjacent MAC Address 400000000003, and Partner MAC Address 400000000004.
- Address configuration table entry 816 which has a Map Name PC_map, corresponds to the connection from the personal computer workstation PC 122 to the SNA mainframe 16 , and thus includes Adjacent X.121 Address 77771, Partner X.121 Address 4444, Adjacent MAC Address 400000000001, and Partner MAC Address 400000000004.
- the AS/400 123 When, for example, the AS/400 123 initiates a connection to the SNA mainframe 16 , the AS/400 123 generates a connection request including, among other things, a calling X.121 address equal to the X.121 address of the AS/400 123 (77772) and a called X.121 address equal to the X.121 address of the SNA mainframe 16 (4444).
- the router device 13 searches the address configuration table 800 for an address configuration table entry having an Adjacent X.121 Address 804 matching the calling X.121 address of 77772 and a Partner X.121 Address 806 matching the called X.121 address of 4444. In this example, the router device 13 finds the address configuration table entry 812 .
- router device 13 Upon finding the address configuration table entry 812 , router device 13 obtains the corresponding Adjacent MAC Address 808 of 400000000002 and the corresponding Partner MAC Address 810 of 400000000004 from the address configuration table entry 812 , and attempts to connect to the SNA mainframe 16 using a source MAC address equal to the Adjacent MAC Address 808 of 400000000002 and a destination MAC address equal to the Partner MAC Address 810 of 400000000004.
- the communication network 200 shown in FIG. 2 is similar to the communication network 100 shown in FIG. 1 , but uses an enhanced router device 23 having an enhanced address configuration table for mapping multiple X.25 devices to a single DLSw device using a single address configuration table entry. More specifically, a DLSw network 20 is connected to downstream QLLC compatible X.25 devices 221 , 222 , and 223 via an X.25 network 24 that includes the enhanced router device 23 . The DLSw network 20 is also connected via a token ring network 25 to upstream host LLC device SNA mainframe 26 . In the network depicted in FIG. 2 , the personal computer 221 is a QLLC X.25 device having an X.121 address of 77771.
- the IBM 3174 222 is a QLLC X.25 device having an X.121 address of 77773.
- the IBM AS/400 223 is a QLLC X.25 device having an X.121 address of 77772.
- the X.25 devices ( 221 , 222 , 223 ) may be assigned MAC addresses, as in the prior art embodiment shown in FIG. 1 , although the X.25 devices ( 221 , 222 , 223 ) need not be assigned such MAC addresses, since the enhanced router 23 dynamically assigns MAC addresses for the X.25 devices ( 221 , 222 , 223 ) from a MAC address pool.
- the host SNA mainframe 26 is an LLC protocol DLSw device having an X.121 address of 4444 and a MAC address of 400000000004.
- the enhanced router 23 has an X.121 address of 7777.
- a single address configuration table entry that maps all X.25 devices ( 221 , 222 , 223 ) to the host SNA mainframe 26 is installed in the address configuration table.
- the single address configuration table entry includes a “wildcard” for matching all X.25 device addresses, and includes the X.121 address and the MAC address associated with the host SNA mainframe 26 .
- address mapping information is configured for the single DLSw host device rather than for each X.25 client device.
- FIG. 9 shows an exemplary address configuration table 900 for use in the enhanced router device 23 in the network illustrated in FIG. 2 .
- the address configuration table 900 includes a single address configuration table entry 912 for mapping the X.25 devices ( 221 , 222 , 223 ) to the host SNA mainframe 26 .
- the address configuration table entry 912 includes a Map Name field 902 , an Adjacent X.121 Address field 904 , a Partner X.121 Address field 906 , an Adjacent MAC Address field 908 , a Partner MAC Address field 910 , and a Flag field 911 .
- the Map Name field 902 includes an address configuration table entry name, which, in this example, is “Host1_map.”
- the Adjacent X.121 Address field 904 includes a “wildcard” matching all X.25 device addresses.
- the Partner X.121 Address field 906 includes the X.121 address 4444 that is associated with the host SNA mainframe 26 .
- the Adjacent MAC Address field 908 is “nil,” which indicates that the source MAC address is to be allocated from the MAC address pool.
- the Partner MAC Address field 910 includes the MAC address 400000000004 that is associated with the host SNA mainframe 26 .
- the Flag field 911 is zero, which indicates that there is no “wildcard” in the Partner MAC Address field 910 .
- the AS/400 223 When, for example, the AS/400 223 initiates a connection to the SNA mainframe 26 , the AS/400 223 generates a connection request including, among other things, a calling X.121 address equal to the X.121 address of the AS/400 223 (77772) and a called X.121 address equal to the X.121 address of the SNA mainframe 26 (4444).
- the enhanced router device 23 receives this connection request from the AS/400 223 , the enhanced router device 23 searches the address configuration table 900 for an address configuration table entry having an Adjacent X.121 Address 904 matching the calling X.121 address of 77772 and a Partner X.121 Address 906 equal to the called X.121 address of 4444. In this example, the enhanced router device 23 finds the address configuration table entry 912 .
- enhanced router device 23 Upon finding the address configuration table entry 912 , enhanced router device 23 obtains the corresponding Partner MAC Address 910 of 400000000004 from the address configuration table entry 912 , but is unable to obtain an Adjacent MAC Address from the address configuration table entry 912 since the Adjacent MAC Address field 908 is “nil.” Therefore, the enhanced router device 23 allocates the Adjacent MAC Address from a MAC address pool. For example, assume that the enhanced router device 23 allocates the MAC address 400000000005 from a MAC address pool containing the MAC addresses 400000000005, 400000000006, and 400000000007.
- the enhanced router device 23 attempts to connect to the host SNA mainframe 26 using a source MAC address equal to the allocated Adjacent MAC Address of 400000000005 and a destination MAC address equal to the Partner MAC Address 910 of 400000000004. If the enhanced router device 23 is able to establish the connection to the host SNA mainframe 26 , then the enhanced router device 23 installs a dynamic routing table entry in the dynamic routing table mapping the AS/400 223 to the host SNA mainframe 26 .
- FIG. 10 shows an exemplary dynamic routing table 1000 including a dynamic routing table entry 1012 mapping the AS/400 223 to the host SNA mainframe 26 .
- the dynamic routing table entry 1012 includes an Adjacent X.121 Address field 1004 equal to the calling X.121 address of 77772, a Partner X.121 Address field 1006 equal to the called X.121 address of 4444, an X.25 LCN field 1007 equal to a predetermined X.25 LCN of 1, an Adjacent MAC Address field 1008 equal to the allocated Adjacent MAC Address of 400000000005, and a Partner MAC Address field 1010 equal to the Partner MAC Address of 400000000004.
- the enhanced router device 23 uses the dynamic routing table entry 1012 to translate between X.121 addresses and MAC address for communication between the AS/400 223 and the host SNA mainframe 26 . For example, when the enhanced router device 23 receives an X.25 packet from the AS/400 223 including a calling X.121 address of 77772 and a called X.121 address of 4444, the enhanced router device 23 uses the dynamic routing table entry 1012 to translate the calling X.121 address of 77772 into a source MAC address of 400000000005 and to translate the called X.121 address of 4444 into a destination MAC address of 400000000004.
- the enhanced router device 23 uses the dynamic routing table entry 1012 to translate the source MAC address of 400000000004 into a calling X.121 address of 4444 and to translate the destination MAC address of 400000000005 into a called X.121 address of 77772.
- FIG. 3 shows an exemplary prior art communication network 300 having multiple DLSw end station devices initiating connections to one X.25 host device. More specifically, a DLSw network 30 is connected to an upstream QLLC X.25 device host 32 via an X.25 network 34 that includes the router device 33 . The DLSw network 30 is also connected via a token ring network 35 to downstream LLC-attached SNA end stations 361 , 362 , and 363 .
- the personal computer 361 is an LLC-attached DLSw device having a MAC address of 400000000001 and an X.121 address of 77771.
- the IBM 3174 362 is an LLC-attached DLSw device having a MAC address of 400000000003 and an X.121 address of 77773 .
- the IBM AS/400 363 is an LLC-attached DLSw device having a MAC address of 400000000002 and an X.121 address of 77772.
- the host SNA mainframe 32 is a QLLC X.25 device having a MAC address of 400000000004 and an X.121 address of 3745.
- the router 33 has an X.121 address of 7777.
- address mapping information In order for the DLSw devices ( 361 , 362 , 363 ) to connect to the host SNA mainframe 32 , address mapping information must be configured to map each DLSw device ( 361 , 362 , 363 ) to the host SNA mainframe 32 .
- a complete set of address mapping information is configured for each pair of interconnected devices. This address mapping information includes the X.121 addresses and MAC addresses for each pair of interconnected devices.
- address mapping information is configured for each DLSw client device.
- FIG. 11 shows an exemplary prior art QLLC address configuration mapping table 1100 for use in the router device 33 in the network illustrated in FIG. 3 .
- the address configuration table 1100 includes three address configuration table entries ( 1112 , 1114 , 1116 ), one for each DLSw device ( 361 , 362 , 363 ).
- Each address configuration table entry ( 1112 , 1114 , 1116 ) includes a Map Name field 1102 , an Adjacent X.121 Address field 1104 , a Partner X.121 Address field 1106 , an Adjacent MAC Address field 1108 , and a Partner MAC Address field 1110 .
- the Map Name field 1102 is used to name a specific address configuration table entry.
- the Adjacent X.121 Address 1104 indicates the X.121 address of the X.25 host device.
- the Partner X.121 Address 1106 indicates the X.121 address of the DLSw client device.
- the Adjacent MAC Address 1108 indicates the MAC address of the X.25 host device.
- the Partner MAC Address 1110 indicates the MAC address of the DLSw client device.
- the address configuration table 1100 shows three exemplary address configuration table entries, specifically address configuration table entries 1112 , 1114 , and 1116 .
- Address configuration table entry 1112 which has a Map Name AS400_map, corresponds to the connection from the IBM AS/400 363 to the SNA mainframe 32 , and thus includes Adjacent X.121 Address 3745, Partner X.121 Address 77772, Adjacent MAC Address 400000000004, and Partner MAC Address 400000000002.
- Address configuration table entry 1114 which has a Map Name 3174_map, corresponds to the connection from the IBM 3174 362 to the SNA mainframe 32 , and thus includes Adjacent X.121 Address 3745, Partner X.121 Address 77773, Adjacent MAC Address 400000000004, and Partner MAC Address 400000000003.
- Address configuration table entry 1116 which has a Map Name PC_map, corresponds to the connection from the personal computer workstation PC 361 to the SNA mainframe 32 , and thus includes Adjacent X.121 Address 3745, Partner X.121 Address 77771, Adjacent MAC Address 400000000004, and Partner MAC Address 400000000001.
- the AS/400 363 When, for example, the AS/400 363 initiates a connection to the SNA mainframe 32 , the AS/400 363 generates a connection request including, among other things, a source MAC address equal to the MAC address of the AS/400 363 (400000000002) and a destination MAC address equal to the MAC address of the SNA mainframe 32 (400000000004).
- the router device 33 searches the address configuration table 1100 for an address configuration table entry having a Partner MAC Address 1110 matching the source MAC address of 400000000002 and an Adjacent MAC Address 1108 matching the destination MAC address of 400000000004. In this example, the router device 33 finds the address configuration table entry 1112 .
- router device 33 Upon finding the table entry 1112 , router device 33 obtains the corresponding Partner X.121 Address 1106 of 77772 and the corresponding Adjacent X.121 Address 1104 of 3745 from the address configuration table entry 1112 , and attempts to connect to the SNA mainframe 32 using a calling X.121 address equal to the Partner X.121 Address 1106 of 77772 and a called X.121 address equal to the Adjacent X.121 Address 1104 of 3745.
- the communication network 400 shown in FIG. 4 is similar to the communication network 300 shown in FIG. 3 , but uses an enhanced router device 43 having an enhanced address configuration table for mapping multiple DLSw devices to a single X.25 device using a single address configuration table entry. More specifically, a DLSw network 40 is connected to an upstream QLLC X.25 device host 42 via an X.25 network 44 that includes the enhanced router device 43 . The DLSw network 40 is also connected via a token ring network 45 to downstream LLC-attached SNA end stations 461 , 462 , and 463 . The personal computer 461 is an LLC-attached DLSw device having a MAC address of 400000000001.
- the IBM 3174 462 is an LLC-attached DLSw device having a MAC address of 400000000003.
- the IBM AS/400 463 is an LLC-attached DLSw device having a MAC address of 400000000002.
- the DLSw devices ( 461 , 462 , 463 ) may be assigned X.121 addresses, as in the prior art embodiment shown in FIG. 3 , although the DLSw devices ( 461 , 462 , 463 ) need not be assigned such X.121 addresses, since the enhanced router 43 either dynamically assigns X.121 addresses for the DLSw devices ( 461 , 462 , 463 ) from an X.121 address pool or uses the X.121 address of the enhanced router 43 .
- the host SNA mainframe 42 is a QLLC X.25 device having a MAC address of 400000000004 and an X.121 address of 3745.
- the enhanced router 43 has an X.121 address of 7777.
- a single address configuration table entry that maps all DLSw devices ( 461 , 462 , 463 ) to the host SNA mainframe 42 is installed in the address configuration table.
- the single address configuration table entry includes a “wildcard” for matching all DLSw device addresses, and includes the X.121 address and the MAC address associated with the host SNA mainframe 42 .
- address mapping information is configured for the single X.25 host device rather than for each DLSw client device.
- the enhanced router device 43 uses the same Partner X.121 Address for all connections and dynamically allocates a different X.25 LCN for each connection. In another embodiment of the invention, the enhanced router device 43 uses the same X.25 LCN for all connections and dynamically allocates a different Partner X.121 Address for each connection. An example of each scheme is described below.
- FIG. 12 shows an exemplary address configuration table 1200 for use in the enhanced router device 43 when the enhanced router device 43 dynamically allocates the X.25 LCNs.
- the address configuration table 1200 includes a single address configuration table entry 1212 for mapping the DLSw devices ( 461 , 462 , 463 ) to the host SNA mainframe 42 .
- the address configuration table entry 1212 includes a Map Name field 1202 , an Adjacent X.121 Address field 1204 , a Partner X.121 Address field 1206 , an Adjacent MAC Address field 1208 , a Partner MAC Address field 1210 , and a Flag field 1211 .
- the Map Name field 1202 includes an address configuration table entry name, which, in this example, is “NPSI_host.”
- the Adjacent X.121 Address field 1204 includes the X.121 address 3745 that is associated with the host SNA mainframe 42 .
- the Partner X.121 Address field 1206 includes the X.121 address 7777 that is associated with the enhanced router 43 .
- the Adjacent MAC Address field 1208 includes the MAC address 400000000004 that is associated with the host SNA mainframe 42 .
- the Partner MAC Address field 1210 includes a “wildcard” matching all DLSw device addresses.
- the Flag field 1211 is equal to one, which indicates that there is a “wildcard” in the Partner MAC Address field 1210 .
- the AS/400 463 When, for example, the AS/400 463 initiates a connection to the SNA mainframe 42 , the AS/400 463 generates a connection request including, among other things, a source MAC address equal to the MAC address of the AS/400 463 (400000000002) and a destination MAC address equal to the MAC address of the SNA mainframe 42 (400000000004).
- the enhanced router device 43 receives this connection request from the AS/400 463 , the enhanced router device 43 searches the address configuration table 1200 for an address configuration table entry having a Partner MAC Address 1210 matching the source MAC address of 400000000002 and an Adjacent MAC Address 1208 matching the destination MAC address of 400000000004. In this example, the enhanced router device 43 finds the address configuration table entry 1212 .
- enhanced router device 43 Upon finding the table entry 1212 , enhanced router device 43 obtains the corresponding Partner X.121 Address 1206 of 7777 and the corresponding Adjacent X.121 Address 1204 of 3745 from the address configuration table entry 1212 , and dynamically allocates an X.25 LCN from among the “virtual pool” of unused X.25 LCNs. For example, assume that the enhanced router device 43 allocates the X.25 LCN 2. The enhanced router device 43 then attempts to connect to the SNA mainframe 42 over the dynamically allocated X.25 LCN 2 using a calling X.121 address equal to the Partner X.121 Address 1406 of 7777 and a called X.121 address equal to the Adjacent X.121 Address 1404 of 3745. If the enhanced router device 43 is able to establish the connection to the host SNA mainframe 42 , then the enhanced router device 43 installs a dynamic routing table entry in the dynamic routing table mapping the AS/400 463 to the host SNA mainframe 42 .
- FIG. 13 shows an exemplary dynamic routing table 1300 including a dynamic routing table entry 1312 mapping the AS/400 463 to the host SNA mainframe 42 .
- the dynamic routing table entry 1312 includes an Adjacent X.121 Address field 1304 equal to the Adjacent X.121 Address of 3745, a Partner X.121 Address field 1306 equal to the Partner X.121 Address of 7777, an X.25 LCN field 1307 equal to the dynamically allocated X.25 LCN of 2, an Adjacent MAC Address field 1308 equal to the Adjacent MAC Address of 400000000004, and a Partner MAC Address field 1310 equal to the source MAC address of 400000000002.
- the enhanced router device 43 uses the dynamic routing table entry 1312 to translate between X.121 addresses and MAC address for communication between the AS/400 463 and the host SNA mainframe 42 . For example, when the enhanced router device 43 receives an X.25 packet from the host SNA mainframe 42 including a calling X.121 address of 3745 and a called X.121 address of 7777 over X.25 LCN 2, the enhanced router device 43 uses the dynamic routing table entry 1312 to translate the calling X.121 address of 3745 into a source MAC address of 400000000004 and to translate the called X.121 address of 7777 into a destination MAC address of 400000000002.
- the enhanced router device 43 uses the dynamic routing table entry 1312 to obtain the X.25 LCN of 2 and to translate the source MAC address of 400000000002 into a calling X.121 address of 7777 and the destination MAC address of 400000000004 into a called X.121 address of 3745.
- FIG. 14 shows an exemplary address configuration table 1400 for use in the enhanced router device 43 when the enhanced router device 43 dynamically allocates the Partner X.121 Address.
- the address configuration table 1400 includes a single address configuration table entry 1412 for mapping the DLSw devices ( 461 , 462 , 463 ) to the host SNA mainframe 42 .
- the address configuration table entry 1412 includes a Map Name field 1402 , an Adjacent X.121 Address field 1404 , a Partner X.121 Address field 1406 , an Adjacent MAC Address field 1408 , a Partner MAC Address field 1410 , and a Flag field 1411 .
- the Map Name field 1402 includes an address configuration table entry name, which, in this example, is “NPSI_host.”
- the Adjacent X.121 Address field 1404 includes the X.121 address 3745 that is associated with the host SNA mainframe 42 .
- the Partner X.121 Address field 1406 is blank (nil).
- the Adjacent MAC Address field 1408 includes the MAC address 400000000004 that is associated with the host SNA mainframe 42 .
- the Partner MAC Address field 1410 includes a “wildcard” matching all DLSw device addresses.
- the Flag field 1411 is equal to one, which indicates that there is a “wildcard” in the Partner MAC Address field 1410 .
- the AS/400 463 When, for example, the AS/400 463 initiates a connection to the SNA mainframe 42 , the AS/400 463 generates a connection request including, among other things, a source MAC address equal to the MAC address of the AS/400 463 (400000000002) and a destination MAC address equal to the MAC address of the SNA mainframe 42 (400000000004).
- the enhanced router device 43 receives this connection request from the AS/400 463 , the enhanced router device 43 searches the address configuration table 1400 for an address configuration table entry having a Partner MAC Address 1410 matching the source MAC address of 400000000002 and an Adjacent MAC Address 1408 matching the destination MAC address of 400000000004. In this example, the enhanced router device 43 finds the address configuration table entry 1412 .
- enhanced router device 43 Upon finding the table entry 1412 , enhanced router device 43 obtains the corresponding Adjacent X.121 Address 1404 of 3745 from the address configuration table entry 1412 , but is unable to obtain the corresponding Partner X.121 Address from the address configuration table entry 1412 since the Partner X.121 Address 1406 is “nil.” Therefore, the enhanced router device 43 allocates the Partner X.121 Address from a pool of X.121 addresses. For example, assume that the enhanced router device 43 allocates the X.121 address 8888 from a pool of X.121 addresses.
- the enhanced router device 43 attempts to connect to the SNA mainframe 42 over the predetermined X.25 LCN 1 using a calling X.121 address equal to the dynamically allocated Partner X.121 Address of 8888 and a called X.121 address equal to the Adjacent X.121 Address 1404 of 3745. If the enhanced router device 43 is able to establish the connection to the host SNA mainframe 42 , then the enhanced router device 43 installs a dynamic routing table entry in the dynamic routing table mapping the AS/400 463 to the host SNA mainframe 42 .
- FIG. 15 shows an exemplary dynamic routing table 1500 including a dynamic routing table entry 1512 mapping the AS/400 463 to the host SNA mainframe 42 .
- the dynamic routing table entry 1512 includes an Adjacent X.121 Address field 1504 equal to the Adjacent X.121 Address of 3745, a Partner X.121 Address field 1506 equal to the dynamically allocated Partner X.121 Address of 8888, an X.25 LCN field 1507 equal to the predetermined X.25 LCN of 1, an Adjacent MAC Address field 1508 equal to the Adjacent MAC Address of 400000000004, and a Partner MAC Address field 1510 equal to the source MAC address of 400000000002.
- the enhanced router device 43 uses the dynamic routing table entry 1512 to translate between X.121 addresses and MAC address for communication between the AS/400 463 and the host SNA mainframe 42 . For example, when the enhanced router device 43 receives an X.25 packet from the host SNA mainframe 42 including a calling X.121 address of 3745 and a called X.121 address of 8888 over X.25 LCN 1, the enhanced router device 43 uses the dynamic routing table entry 1512 to translate the calling X.121 address of 3745 into a source MAC address of 400000000004 and to translate the called X.121 address of 8888 into a destination MAC address of 400000000002.
- the enhanced router device 43 uses the dynamic routing table entry 1312 to obtain the X.25 LCN of 1 and to translate the source MAC address of 400000000002 into a calling X.121 address of 8888 and the destination MAC address of 400000000004 into a called X.121 address of 3745.
- FIG. 5 is a block diagram showing the relevant logic blocks of an exemplary network device 500 , such as the enhanced router device 23 shown in FIG. 2 or the enhanced router device 43 shown in FIG. 4 .
- the network device 500 includes, among other things, an X.25 Interface 502 , Switching/Routing Logic 504 , a DLSw Interface 506 , one or more Address Pools 508 , Connection Control Logic 510 , a Dynamic Routing Table 512 , an Address Configuration Table 514 , a Management Information Base (MIB) 516 , and a Management Agent 518 .
- the Connection Control Logic 510 establishes connections between X.25 devices and DLSw devices.
- the Connection Control Logic 510 is coupled to the Address Configuration Table 514 and to the Address Pools 508 .
- the Connection Control Logic 510 utilizes the Address Configuration Table 514 to establish the connections, which may include dynamically allocating an Adjacent MAC Address or a Partner X.121 Address from the Address Pools 508 .
- the Connection Control Logic 510 installs a dynamic routing table entry in the Dynamic Routing Table 512 .
- the Switching/Routing Logic 504 utilizes the Dynamic Routing Table 512 for forwarding packets between the X.25 Interface 502 and the DLSw Interface 506 .
- the address mapping information in the Address Configuration Table 514 and the MAC addresses in the MAC address pool 508 are managed through Management Information Bases (MIBs) 516 , which are accessible through the Management Agent 518 .
- the Management Agent 518 is typically a Simple Network Management Protocol (SNMP) agent, in which case the MIBs 516 are SNMP MIBs.
- SNMP MIBs for managing the Address Configuration Table 514 and for managing the MAC address pool 508 are shown and described in the related patent application entitled MANAGING ADDRESSES IN A COMMUNICATION SYSTEM, which was incorporated by reference above.
- regular expressions may be used to configure the Adjacent X.121 Address for X.25-to-DLSw connections or the Partner MAC Address for DLSw-to-X.25 connections.
- Regular expressions may also be used to configure the MAC address pool or X.121 address pool.
- the regular expression “.*” may be configured as the Adjacent X.121 Address in order to map all X.25 devices to a single DLSw device, or the regular expression “.*” may be configured as the Partner MAC Address in order to map all DLSw devices to a single X.25 device.
- a regular expression such as “40000000000[567]” may be used to configure a MAC address pool including the addresses 400000000005, 400000000006, and 400000000007.
- Adjacent X.121 Address field may be configured using a regular expression, but not both.
- a regular expression in the Adjacent X.121 Address field replaces and represents one or more X.121 addresses, where each X.121 address comprises from 1 to 15 decimal digits.
- a regular expression in the Partner MAC Address field replaces and represents one or more MAC addresses, where each MAC address comprises 12 hexadecimal digits.
- the Flag field MIB management object wfX25QllcAddrMapOptions at the bit position corresponding to the decimal value 4
- regular expressions may be used for configuring and storing address configuration information and also for configuring address pools.
- Regular expressions can be used in many other contexts for configuring and storing addressing information.
- a regular expression may be used in a routing table to consolidate routing information for addresses belonging to a particular Forwarding Equivalence Class (FEC).
- FEC Forwarding Equivalence Class
- a regular expression may also be used to define group membership, for example, for a multicast group or distribution list.
- regular expression syntax is described herein for use in configuring and storing addressing information in a network device.
- the present invention is in no way limited to any particular regular expression syntax.
- regular expression syntaxes such as “Unix” regular expressions and regular expressions described in the book entitled Mastering Regular Expressions written by Jeffrey E. Friedl and published by O'Reilly Publishing (incorporated herein by reference in its entirety), that can be used in whole or in part for use in configuring and storing addressing information in a network device.
- connection control logic and management agent logic described herein is implemented as a set of computer program instructions that are stored in a computer readable medium and executed by an embedded microprocessor system within the network device.
- Various embodiments of the invention may be implemented in any conventional computer programming language. For example, an embodiment may be implemented in a procedural programming language (e.g., “C”) or an object oriented programming language (e.g., “C++”).
- Alternative embodiments of the invention may be implemented using discrete components, integrated circuitry, programmable logic used in conjunction with a programmable logic device such as a Field Programmable Gate Array (FPGA) or microprocessor, or any other means including any combination thereof.
- FPGA Field Programmable Gate Array
- Alternative embodiments of the invention may be implemented as a computer program product for use with a computer system.
- Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable media (e.g., a diskette, CD-ROM, ROM, or fixed disk), or fixed in a computer data signal embodied in a carrier wave that is transmittable to a computer system via a modem or other interface device, such as a communications adapter connected to a network over a medium.
- the medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques).
- the series of computer instructions embodies all or part of the functionality previously described herein with respect to the system.
- Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems.
- such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies.
- It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/511,777 US7185097B1 (en) | 1999-02-25 | 2000-02-24 | Encoding addresses in a communication system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12166199P | 1999-02-25 | 1999-02-25 | |
US09/511,777 US7185097B1 (en) | 1999-02-25 | 2000-02-24 | Encoding addresses in a communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
US7185097B1 true US7185097B1 (en) | 2007-02-27 |
Family
ID=37769762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/511,777 Expired - Fee Related US7185097B1 (en) | 1999-02-25 | 2000-02-24 | Encoding addresses in a communication system |
Country Status (1)
Country | Link |
---|---|
US (1) | US7185097B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085453A1 (en) * | 2004-10-15 | 2006-04-20 | Olympus Corporation | Image replay apparatus |
US7561895B1 (en) * | 1999-09-08 | 2009-07-14 | Qwest Communications International, Inc. | Reverse sectorization wireless communication |
Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113499A (en) * | 1989-04-28 | 1992-05-12 | Sprint International Communications Corp. | Telecommunication access management system for a packet switching network |
US5386413A (en) * | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
US5388213A (en) * | 1990-06-06 | 1995-02-07 | Apple Computer, Inc. | Method and apparatus for determining whether an alias is available to uniquely identify an entity in a communications system |
US5832471A (en) * | 1993-11-05 | 1998-11-03 | Fujitsu Limited | Method of and apparatus for displaying list of files and executing a program |
US5835723A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Dynamic assignment of multicast addresses |
US5926652A (en) * | 1996-12-20 | 1999-07-20 | International Business Machines Corporation | Matching of wild card patterns to wild card strings associated with named computer objects |
US5995971A (en) * | 1997-09-18 | 1999-11-30 | Micdrosoft Corporation | Apparatus and accompanying methods, using a trie-indexed hierarchy forest, for storing wildcard-based patterns and, given an input key, retrieving, from the forest, a stored pattern that is identical to or more general than the key |
US6088796A (en) * | 1998-08-06 | 2000-07-11 | Cianfrocca; Francis | Secure middleware and server control system for querying through a network firewall |
US6104696A (en) * | 1998-07-08 | 2000-08-15 | Broadcom Corporation | Method for sending packets between trunk ports of network switches |
US6112239A (en) * | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US6115393A (en) * | 1991-04-12 | 2000-09-05 | Concord Communications, Inc. | Network monitoring |
US6151324A (en) * | 1996-06-03 | 2000-11-21 | Cabletron Systems, Inc. | Aggregation of mac data flows through pre-established path between ingress and egress switch to reduce number of number connections |
US6151631A (en) * | 1998-10-15 | 2000-11-21 | Liquid Audio Inc. | Territorial determination of remote computer location in a wide area network for conditional delivery of digitized products |
US6160804A (en) * | 1998-11-13 | 2000-12-12 | Lucent Technologies Inc. | Mobility management for a multimedia mobile network |
US6163810A (en) * | 1998-06-02 | 2000-12-19 | At&T Corp. | System and method for managing the exchange of information between multicast and unicast hosts |
US6189102B1 (en) * | 1998-05-27 | 2001-02-13 | 3Com Corporation | Method for authentication of network devices in a data-over cable system |
US6195751B1 (en) * | 1998-01-20 | 2001-02-27 | Sun Microsystems, Inc. | Efficient, secure multicasting with minimal knowledge |
US6216168B1 (en) * | 1997-03-17 | 2001-04-10 | Cabletron Systems, Inc. | Perspective-based shared scope address resolution method and apparatus |
US6216159B1 (en) * | 1997-11-25 | 2001-04-10 | International Business Machines Corporation | Method and system for IP address accessibility to server applications |
US6262987B1 (en) * | 1998-03-26 | 2001-07-17 | Compaq Computer Corp | System and method for reducing latencies while translating internet host name-address bindings |
US6381650B1 (en) * | 1997-03-10 | 2002-04-30 | Palm, Inc. | Method for finding the address of a workstation assigned a dynamic address |
US6393478B1 (en) * | 1999-02-22 | 2002-05-21 | Mediaone Group, Inc. | Cable modem and personal computer troubleshooting tool |
US6425008B1 (en) * | 1999-02-16 | 2002-07-23 | Electronic Data Systems Corporation | System and method for remote management of private networks having duplicate network addresses |
US6434144B1 (en) * | 1998-07-06 | 2002-08-13 | Aleksey Romanov | Multi-level table lookup |
US6437805B1 (en) * | 1996-09-23 | 2002-08-20 | National Instruments Corporation | System and method for accessing object capabilities in a graphical program |
US6507869B1 (en) * | 1999-04-28 | 2003-01-14 | International Business Machines Corporation | Method and apparatus for asset tracking of network attached devices |
US6611872B1 (en) * | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US6823386B1 (en) * | 1999-02-25 | 2004-11-23 | Nortel Networks Limited | Correlating data streams of different protocols |
-
2000
- 2000-02-24 US US09/511,777 patent/US7185097B1/en not_active Expired - Fee Related
Patent Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113499A (en) * | 1989-04-28 | 1992-05-12 | Sprint International Communications Corp. | Telecommunication access management system for a packet switching network |
US5388213A (en) * | 1990-06-06 | 1995-02-07 | Apple Computer, Inc. | Method and apparatus for determining whether an alias is available to uniquely identify an entity in a communications system |
US6115393A (en) * | 1991-04-12 | 2000-09-05 | Concord Communications, Inc. | Network monitoring |
US5386413A (en) * | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
US5832471A (en) * | 1993-11-05 | 1998-11-03 | Fujitsu Limited | Method of and apparatus for displaying list of files and executing a program |
US5835723A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Dynamic assignment of multicast addresses |
US6151324A (en) * | 1996-06-03 | 2000-11-21 | Cabletron Systems, Inc. | Aggregation of mac data flows through pre-established path between ingress and egress switch to reduce number of number connections |
US6437805B1 (en) * | 1996-09-23 | 2002-08-20 | National Instruments Corporation | System and method for accessing object capabilities in a graphical program |
US5926652A (en) * | 1996-12-20 | 1999-07-20 | International Business Machines Corporation | Matching of wild card patterns to wild card strings associated with named computer objects |
US6381650B1 (en) * | 1997-03-10 | 2002-04-30 | Palm, Inc. | Method for finding the address of a workstation assigned a dynamic address |
US6216168B1 (en) * | 1997-03-17 | 2001-04-10 | Cabletron Systems, Inc. | Perspective-based shared scope address resolution method and apparatus |
US6112239A (en) * | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US5995971A (en) * | 1997-09-18 | 1999-11-30 | Micdrosoft Corporation | Apparatus and accompanying methods, using a trie-indexed hierarchy forest, for storing wildcard-based patterns and, given an input key, retrieving, from the forest, a stored pattern that is identical to or more general than the key |
US6216159B1 (en) * | 1997-11-25 | 2001-04-10 | International Business Machines Corporation | Method and system for IP address accessibility to server applications |
US6195751B1 (en) * | 1998-01-20 | 2001-02-27 | Sun Microsystems, Inc. | Efficient, secure multicasting with minimal knowledge |
US6262987B1 (en) * | 1998-03-26 | 2001-07-17 | Compaq Computer Corp | System and method for reducing latencies while translating internet host name-address bindings |
US6189102B1 (en) * | 1998-05-27 | 2001-02-13 | 3Com Corporation | Method for authentication of network devices in a data-over cable system |
US6163810A (en) * | 1998-06-02 | 2000-12-19 | At&T Corp. | System and method for managing the exchange of information between multicast and unicast hosts |
US6434144B1 (en) * | 1998-07-06 | 2002-08-13 | Aleksey Romanov | Multi-level table lookup |
US6104696A (en) * | 1998-07-08 | 2000-08-15 | Broadcom Corporation | Method for sending packets between trunk ports of network switches |
US6088796A (en) * | 1998-08-06 | 2000-07-11 | Cianfrocca; Francis | Secure middleware and server control system for querying through a network firewall |
US6151631A (en) * | 1998-10-15 | 2000-11-21 | Liquid Audio Inc. | Territorial determination of remote computer location in a wide area network for conditional delivery of digitized products |
US6160804A (en) * | 1998-11-13 | 2000-12-12 | Lucent Technologies Inc. | Mobility management for a multimedia mobile network |
US6611872B1 (en) * | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US6425008B1 (en) * | 1999-02-16 | 2002-07-23 | Electronic Data Systems Corporation | System and method for remote management of private networks having duplicate network addresses |
US6393478B1 (en) * | 1999-02-22 | 2002-05-21 | Mediaone Group, Inc. | Cable modem and personal computer troubleshooting tool |
US6823386B1 (en) * | 1999-02-25 | 2004-11-23 | Nortel Networks Limited | Correlating data streams of different protocols |
US6507869B1 (en) * | 1999-04-28 | 2003-01-14 | International Business Machines Corporation | Method and apparatus for asset tracking of network attached devices |
Non-Patent Citations (1)
Title |
---|
Friedl, Jeffrey E. F. Mastering Regular Expressions, 2002, Second Edition, O'Reilly & Associates, Inc. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7561895B1 (en) * | 1999-09-08 | 2009-07-14 | Qwest Communications International, Inc. | Reverse sectorization wireless communication |
US20060085453A1 (en) * | 2004-10-15 | 2006-04-20 | Olympus Corporation | Image replay apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7009941B1 (en) | Node-search method, device, and medium on which a node-search program is recorded | |
Eisler et al. | Managing NFS and NIS: Help for Unix System Administrators | |
US7558880B2 (en) | Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device | |
US5815664A (en) | Address reporting device and method for detecting authorized and unauthorized addresses in a network environment | |
JP5167225B2 (en) | Technology that allows multiple virtual filers on one filer to participate in multiple address spaces with overlapping network addresses | |
US8077732B2 (en) | Techniques for inserting internet protocol services in a broadband access network | |
JP3581589B2 (en) | Communication network system and service management method in communication network system | |
US20090046726A1 (en) | Virtual network with adaptive dispatcher | |
US6823386B1 (en) | Correlating data streams of different protocols | |
CN116170409B (en) | SD-WAN network address planning system based on virtual domain name | |
US11902158B2 (en) | System and method for forwarding packets in a hierarchical network architecture using variable length addresses | |
JP2000183874A (en) | Multiprotocol network management method, multiprotocol network management proxy server system, multiprotocol address management server system, and multiprotocol network management system | |
US7185097B1 (en) | Encoding addresses in a communication system | |
Dalal | Use of multiple networks in the Xerox network system | |
CN116132542B (en) | Container network management method, container network plug-in and related equipment | |
US20060215649A1 (en) | Network address converting apparatus using SSW tree | |
Cisco | Configuring the TN3270 Server | |
CN1505323A (en) | Network administration method for no-IP address device | |
Cisco | TN3270 Server Commands | |
Cisco | TN3270 Server Commands | |
Cisco | TN3270 Server Commands | |
Cisco | TN3270 Server Commands | |
Cisco | Release Note and Document Update for Cisco IOS Release 11.0 BT | |
Cisco | ARAP chapter | |
Cisco | Configuring IBM Channel Attach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NORTEL NETWORKS CORPORATION, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALLEN, OKOZIEM;CRUMP, RICHARD;REEL/FRAME:010794/0116;SIGNING DATES FROM 20000426 TO 20000503 |
|
AS | Assignment |
Owner name: NORTEL NETWORKS LIMITED, CANADA Free format text: CHANGE OF NAME;ASSIGNOR:NORTEL NETWORKS CORPORATION;REEL/FRAME:011195/0706 Effective date: 20000830 Owner name: NORTEL NETWORKS LIMITED,CANADA Free format text: CHANGE OF NAME;ASSIGNOR:NORTEL NETWORKS CORPORATION;REEL/FRAME:011195/0706 Effective date: 20000830 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: ROCKSTAR BIDCO, LP, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NORTEL NETWORKS LIMITED;REEL/FRAME:027164/0356 Effective date: 20110729 |
|
AS | Assignment |
Owner name: ROCKSTAR CONSORTIUM US LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROCKSTAR BIDCO, LP;REEL/FRAME:032170/0591 Effective date: 20120509 |
|
AS | Assignment |
Owner name: BOCKSTAR TECHNOLOGIES LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROCKSTAR CONSORTIUM US LP;REEL/FRAME:032399/0116 Effective date: 20131113 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: RPX CLEARINGHOUSE LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ROCKSTAR CONSORTIUM US LP;ROCKSTAR CONSORTIUM LLC;BOCKSTAR TECHNOLOGIES LLC;AND OTHERS;REEL/FRAME:034924/0779 Effective date: 20150128 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL Free format text: SECURITY AGREEMENT;ASSIGNORS:RPX CORPORATION;RPX CLEARINGHOUSE LLC;REEL/FRAME:038041/0001 Effective date: 20160226 |
|
AS | Assignment |
Owner name: RPX CORPORATION, CALIFORNIA Free format text: RELEASE (REEL 038041 / FRAME 0001);ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:044970/0030 Effective date: 20171222 Owner name: RPX CLEARINGHOUSE LLC, CALIFORNIA Free format text: RELEASE (REEL 038041 / FRAME 0001);ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:044970/0030 Effective date: 20171222 |
|
AS | Assignment |
Owner name: JEFFERIES FINANCE LLC, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:RPX CLEARINGHOUSE LLC;REEL/FRAME:046485/0644 Effective date: 20180619 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20190227 |
|
AS | Assignment |
Owner name: RPX CLEARINGHOUSE LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:054305/0505 Effective date: 20201023 |