IP Library › Granted Patent US 11,070,515
Granted Patent B2
US 11,070,515 · App. 16/454,328 · Granted Jul 20, 2021

Discovery-less virtual addressing in software defined networks

Inventors: Marc Cochran (Shrewsbury, MA); Eran Gampel (Tel Aviv, IL); Gal Sagi (Hod Hasharon, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L61/1552G06F9/45558H04L45/745H04L61/305H04L61/3055G06F2009/45595H04L61/6022H04L61/6086
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 11,070,515
App. No.
16/454,328
Granted
Jul 20, 2021
Kind
B2
Abstract

A virtual address of a destination of a packet is parsed into a set of virtual address components. A subset of the set of virtual address components is tokenized into a token. The token is converted into at least a portion of a hostname. A look-up of a real network address corresponding to the hostname is performed. The packet is caused to be transmitted to the real network address, wherein the real network address corresponds to a host machine on a physical network, the receiving virtual entity operating on the host machine.

Claims (49)

1. A method comprising:

parsing, using a processor and a memory, a virtual address of a destination virtual entity of a packet into a set of virtual address components;

tokenizing a subset of the virtual address components into a token;

converting the token into at least a portion of a hostname;

looking up a real network address corresponding to the hostname; and

causing the packet to be transmitted to the real network address, wherein the real network address corresponds to a host machine on a physical network, the destination virtual entity operating on the host machine.

2. The method of claim 1 , wherein a virtual address component comprises: a portion of an Internet Protocol(IP) address.

3. The method of claim 2 , wherein the portion is defined as an octet component of an IPv4 address.

4. The method of claim 2 , wherein the portion comprises only a subset of bits from a defined octet component of an IPv4 address.

5. The method of claim 2 , wherein the portion comprises (i) a first subset of bits from a first defined octet component of an IPv4 address and (ii) a second subset of bits from a second defined octet component of an IPv4 address.

6. The method of claim 1 , wherein a virtual address component comprises: a portion of Media Access Control (MAC) address.

7. The method of claim 1 , further comprising:

receiving the packet from a sending virtual entity operating in a virtual data processing environment;

determining that the real network address of the host machine of the destination virtual entity is unknown in the virtual data processing environment; and

omitting a discovery operation on the physical network to determine an association between the destination virtual entity and the host machine.

8. The method of claim 7 , wherein the virtual data processing environment comprises a software defined network (SDN), and wherein the packet is received at a controller in the SDN.

9. The method of claim 1 , wherein the destination virtual entity comprises a virtual machine (VM).

10. The method of claim 1 , wherein the destination virtual entity comprises a container.

11. The method of claim 1 , wherein the tokenizing comprises:

applying a function to combine a first virtual address component and a second virtual address component from the subset of virtual address components to form a combined component; and applying a transformation to the combined component.

12. The method of claim 1 , further comprising:

forming, as a part of the tokenizing, a set of tokens, a first token in the set of tokens using a different subset of virtual address components relative to a second token in the set of tokens, the set of tokens comprising the token; and

converting a subset of the set of tokens into the at least the portion of the hostname.

13. The method of claim 1 , wherein the portion of the hostname comprises a rack identifier where the host machine is physically located.

14. The method of claim 1 , wherein the portion of the hostname comprises a sled identifier where the host machine is physically located.

15. The method of claim 1 , further comprising:

adding a prefix to the portion of the hostname, wherein the prefix is preset.

16. The method of claim 1 , further comprising:

adding a prefix to the portion of the hostname, wherein the prefix is derived from a second subset of virtual address components.

17. The method of claim 1 , further comprising:

adding a prefix to the portion of the hostname, wherein the prefix comprises an identifier in a geographical location of the host machine.

18. The method of claim 1 , further comprising:

adding a postfix to the portion of the hostname, wherein the postfix comprises an identifier in a network location of the host machine in the physical network.

19. A computer usable program product comprising a computer-readable storage device, and program instructions stored on the storage device, the stored program instructions comprising:

program instructions to parse a virtual address of a destination virtual entity of a packet into a set of virtual address components;

program instructions to tokenize a subset of the virtual address components into a token;

program instructions to convert the token into at least a portion of a hostname;

program instructions to look up a real network address corresponding to the hostname; and

program instructions to cause the packet to be transmitted to the real network address, wherein the real network address corresponds to a host machine on a physical network, the destination virtual entity operating on the host machine.

20. The computer usable program product of claim 19 , wherein the stored program instructions are stored in a computer readable storage device in a data processing system, and wherein the stored program instructions are transferred over a network from a remote data processing system.

21. The computer usable program product of claim 19 , wherein the stored program instructions are stored in a computer readable storage device in a server data processing system, and wherein the stored program instructions are downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system, further comprising:

program instructions to meter use of the downloaded program instructions; and

program instructions to generate an invoice based on the metered use.

22. A computer system comprising a processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions comprising:

program instructions to parse a virtual address of a destination virtual entity of a packet into a set of virtual address components;

program instructions to tokenize a subset of the virtual address components into a token;

program instructions to convert the token into at least a portion of a hostname;

program instructions to look up a real network address corresponding to the hostname; and

program instructions to cause the packet to be transmitted to the real network address, wherein the real network address corresponds to a host machine on a physical network, the destination virtual entity operating on the host machine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2019
From: GAMPEL, ERAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049735/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2019
From: COCHRAN, MARC; SAGI, GAL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049608/0860 →
Continuity (1)
Related Publication 20200412688A1 · Dec 31, 2020