US10277553B2ActiveUtilityA1

Method for generating addresses in a computer network

67
Assignee: CORRELL CHRISTIANPriority: Apr 15, 2011Filed: Apr 15, 2011Granted: Apr 30, 2019
Est. expiryApr 15, 2031(~4.8 yrs left)· nominal 20-yr term from priority
H04L 29/12952H04L 29/1232H04L 61/6059H04L 61/6022H04L 61/2092H04L 61/6004H04L 29/12839H04L 29/12915H04L 61/20H04L 61/6077H04L 29/12801H04L 29/12254H04L 61/2038H04L 61/5092H04L 2101/622H04L 2101/677H04L 2101/659H04L 2101/604H04L 61/5038H04L 61/50
67
PatentIndex Score
5
Cited by
27
References
20
Claims

Abstract

A method for creating a plurality of addresses for a network element of a communication network can include the steps of creating a virtual identifier for each address to be created from an existing identifier of said network element and from at least one configured piece of additional information; creating an address from at least one created virtual identifier; checking the virtual identifiers created in such a way or the addresses created from said virtual identifiers for the presence of a collision; and discarding colliding virtual identifiers or the addresses created from said virtual identifiers.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. A method for creating multiple addresses for a network element in a communication network, the communication network comprising a plurality of electronic devices communicatively connected to each other, the addresses associated with the network element in the communication network such that data packets are routable to the network element via the communication network, the method comprising:
 a) creating virtual identifiers for each of the addresses to be created from an existing identifier for the network element and at least one configured piece of additional information stored on the network element, the network element being a computer device comprising a processor connected to a non-transitory computer readable medium, the network element having an interface that connects the network element to the communication network, each of the addresses to be defined such that data is transmittable to the network element via the communication network by inclusion of the address within a data packet to be transmitted via the communication network, each of the virtual identifiers created by a virtual identifier creation process comprising:
 forming an initial identifier based on the existing identifier and subsequently replacing a middle segment of the initial identifier with a value derived from the formed initial identifier to form the virtual identifier; 
 
 b) creating the addresses based on the created virtual identifiers; 
 c) testing at least one of the created virtual identifiers and the created addresses for collisions; and 
 d) discarding at least one of any of the created virtual identifiers determined from the testing to be a colliding virtual identifier and the created addresses created from those colliding virtual identifiers; and 
 e) retaining at least one address that is determined from the testing not to be a colliding address or that is created from a virtual identifier that is determined from the testing to not be a colliding virtual identifier so that the network element is addressable for data transmission via the communication network by inclusion of the retained at least one address within a data packet to address the data packet for delivery to the network element via the communication network. 
 
     
     
       2. The method of  claim 1 , comprising generating a link-local address from a virtual identifier and affixing a link-local prefix to the beginning of that virtual identifier. 
     
     
       3. The method of  claim 2 , comprising generating a global address from a link-local address and replacing the link-local prefix with a global prefix. 
     
     
       4. The method of  claim 1 , wherein
 the communication network is a network in which messages are transmitted in data packet form between network elements; 
 the created addresses are IPv6 addresses; and 
 the existing identifier of the network element is Media Access Control (MAC) address of the interface of the network element. 
 
     
     
       5. The method of  claim 4 , wherein the initial identifier is formed from the MAC address and the value that replaces the middle segment is a hash value derived from the initial identifier by the initial identifier being used as an input in a hash function used to generate the value. 
     
     
       6. The method of  claim 1 , wherein at least one virtual identifier includes an indication based on which it can be distinguished from a regular identifier for a network element. 
     
     
       7. The method of  claim 1 , wherein some or all of the addresses from some or all of the generated virtual identifiers are not generated until after at least one additional step occurs. 
     
     
       8. The method of  claim 1 , wherein the piece of additional information exists in a form of a table whose inputs are stored as different values for names of virtual identifiers, and wherein each name is a function of an index of the table. 
     
     
       9. The method of  claim 1 , wherein the piece of additional information is an input datum for a checksum algorithm used to generate the value for use in creating the virtual identifier. 
     
     
       10. The method of  claim 1 , wherein the value is derived from using a CRC algorithm based on polynomial division. 
     
     
       11. A method for transmitting messages via a communication network, comprising, creating addresses according to the method of  claim 1 ; and at least one of:
 receiving, by the network element, at least one message addressed to one of the created addresses via the communication network and the interface of the network element, and 
 sending a message to the network element via at least one of the created addresses in a transmission of the message sent via the communication network. 
 
     
     
       12. A network element that is configured to execute the method of  claim 1 , the network element being a device having an electronic system that is configured to communicate via the communication network to other devices of the communication network, the electronic system including the interface. 
     
     
       13. The network element of  claim 12 , wherein the network element is a router, a switch, or a communication terminal. 
     
     
       14. The network element of  claim 12 , wherein the network element is a communication device. 
     
     
       15. The method of  claim 1 , wherein at least one of the created virtual identifiers is created such that the virtual identifier has an inverted universal bit of the initial identifier or an inverted local bit of the initial identifier to indicate that the piece of additional information was used to form that virtual identifier. 
     
     
       16. The method of  claim 1 , wherein the virtual identifier creation process also comprises inverting a universal bit of the initial identifier or inverting a local bit of the initial identifier to form the virtual identifier. 
     
     
       17. The method of  claim 1 , wherein the value derived from the formed initial identifier is generated from using the initial identifier as an input to a cyclic redundancy check (CRC) algorithm to generate the value. 
     
     
       18. The method of  claim 1 , wherein the value derived from the formed initial identifier is generated from using the initial identifier as an input to a checksum algorithm to determine the value. 
     
     
       19. The method of  claim 1 , wherein the value derived from the formed initial identifier is generated from using the initial identifier as an input to a hash algorithm to determine the value, the value being a hash value. 
     
     
       20. The method of  claim 1 , wherein the interface of the network element is a network interface and the existing identifier of the network element is a Media Access Control (MAC) address of the network interface of the network element;
 wherein the value derived from the formed initial identifier is generated from using the initial identifier as an input to one of:
 (i) a hash algorithm, 
 (ii) a checksum algorithm, and 
 (iii) a cyclic redundancy check (CRC) algorithm; and 
 
 wherein the virtual identifier creation process also comprises inverting a universal bit of the initial identifier or inverting a local bit of the initial identifier to form the virtual identifier, the inverted local bit or the inverted universal bit indicating that the piece of additional information was used to form the virtual identifier.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.