# US 9,438,435 B2 · Secure, multi-tenancy aware and bandwidth-efficient data center multicast

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,435 B2
- Document ID: US9438435B2
- Status: Granted
- Kind: B2
- Application number: 14/169,956
- Filed: 2014-01-31
- Published: 2015-08-06
- Granted: 2016-09-06
- Earliest claimed: 2014-01-31
- Assignees: Intenational Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Aakash S. Iyer; Praveen Kumar; Vijay Mann
- Web page: https://patentgrep.com/patent/US9438435B2

## CPC

- H04L 12/185: {with management of multicast group membership}
- H04L 12/184: {with heterogeneous receivers, e.g. layered multicast}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and arrangements for providing multicast communication. There is defined a first multicast tenant group comprising a plurality of hosts distributed over a plurality of locations. Communication is established with respect to the first multicast tenant group via: defining a routing tree, and using a multicast address space for communication with the hosts via the routing tree. The multicast address space is reused with respect to a second multicast tenant group. Other variants and embodiments are broadly contemplated herein.

## Claims

### Claim 1

A method of providing multicast communication, said method comprising:
defining a first multicast tenant group comprising a plurality of hosts distributed over a plurality of locations;
establishing communication with respect to the first multicast tenant group;
said establishing of communication comprising: defining a routing tree, the routing tree
comprising a first routing tree;
using a multicast address space for communication with the hosts via the routing tree; and
establishing a first set of forwarding rules for the first multicast tenant group;
reusing the multicast address space with respect to a second multicast tenant group;
said reusing comprising distinguishing between traffic belonging to the first multicast tenant group and the second multicast tenant group, respectively;
defining a second routing tree with respect to the second multicast tenant group, the second routing tree being different from the first routing tree; and
establishing a second set of forwarding rules for the second multicast tenant group.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the plurality of locations comprise a plurality of stacks, each stack comprising at least one host.

### Claim 3 (depends on 1)

The method according to claim 1, wherein said establishing of communication comprises minimizing the size of the routing tree.

### Claim 4 (depends on 1)

The method according to claim 1, wherein said defining of a routing tree comprises restricting the routing tree to boundaries relative to the first multicast tenant group.

### Claim 5 (depends on 1)

The method according to claim 1, wherein said establishing of communication comprises using rules to support hosts that dynamically join and leave the first multicast tenant group.

### Claim 6 (depends on 5)

The method according to claim 5, wherein said using of rules comprises employing at least one Internet group management protocol message.

### Claim 7 (depends on 1)

The method according to claim 1, wherein said reusing comprises uniquely identifying at least one of the first and second multicast tenant groups via using at least one of: a virtual local area network ID and a source media access control address.

### Claim 8 (depends on 1)

The method according to claim 1, comprising applying and enforcing an admission policy relative to tenants in the first multicast tenant group.

### Claim 9 (depends on 1)

The method according to claim 1, wherein said establishing of communication comprises:
employing software-defined networking; and
routing packets from a multicast sender to the first multicast tenant group based on the routing tree and on at least one enforced policy.

### Claim 10 (depends on 1)

The method according to claim 1, comprising accepting a host as a new member of the first multicast tenant group and attaching the new member to a nearest attachment point of the routing tree.

### Claim 11

An apparatus comprising:
at least one processor; and
a computer readable storage medium having computer readable program code embodied therewith and executable by the at least one processor, the computer readable program code comprising:
computer readable program code configured to define a first multicast tenant group comprising a plurality of hosts distributed over a plurality of locations;
computer readable program code configured to establish communication with respect to the first multicast tenant group, via:
defining a routing tree, the routing tree comprising a first routing tree;
using a multicast address space for communication with the hosts via the routing tree; and
establishing a first set of forwarding rules for the first multicast tenant group;
computer readable program code configured to reuse the multicast address space with respect to a second multicast tenant group, the reusing comprising distinguishing between traffic belonging to the first multicast tenant group and the second multicast tenant group, respectively;
compute readable program code configured to define a second routing tree with respect to the second multicast tenant group, the second routing tree being different from the first routing tree; and
computer readable program code configured to establish a second set of forwarding rules for the second multicast tenant group.

### Claim 12

A computer program product residing in a non-transitory computer readable medium comprising:
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured to define a first multicast tenant group comprising a plurality of hosts distributed over a plurality of locations;
computer readable program code configured to establish communication with respect to the first multicast tenant group, via:
defining a routing tree, the routing tree comprising a first routing tree;
using a multicast address space for communication with the hosts via the routing tree; and
establishing a first set of forwarding rules for the first multicast tenant group;
computer readable program code configured to reuse the multicast address space with respect to a second multicast tenant group, the reusing comprising distinguishing between traffic belonging to the first multicast tenant group and the second multicast tenant group, respectively;
computer readable program code configured to define a second routing tree with respect to the second multicast tenant group, the second routing tree being different from the first routing tree; and
computer readable program code configured to establish a second set of forwarding rules for the second multicast tenant group.

### Claim 13 (depends on 12)

The computer program product according to claim 12, wherein the plurality of locations comprise a plurality of stacks, each stack comprising at least one host.

### Claim 14 (depends on 12)

The computer program product according to claim 12, wherein said computer readable program code is configured to minimize the size of the routing tree.

### Claim 15 (depends on 12)

The computer program product according to claim 12, wherein the routing tree is restricted to boundaries relative to the first multicast tenant group.

### Claim 16

A method comprising:
defining a first multicast tenant group comprising a plurality of hosts distributed over a plurality of locations;
establishing communication with respect to the first multicast tenant group;
said establishing of communication comprising:
defining a first routing tree;
establishing a first set of forwarding rules for the first multicast tenant group; and
using a multicast address space for communication with the hosts via the first routing tree; and
permitting reuse of the multicast address space with respect to a second multicast tenant group, via distinguishing between traffic belonging to the first multicast tenant group and the second multicast tenant group, respectively;
wherein said permitting of reuse comprises:
defining a second routing tree with respect to the second multicast tenant group, the second routing tree being different from the first routing tree;
establishing a second set of forwarding rules for the second multicast tenant group, the second set of forwarding rules being different from the first set of forwarding rules.
