IP Library Granted Patent US 10,038,566
Granted Patent B1
US 10,038,566 · App. 14/061,015 · Granted Jul 31, 2018

Systems and methods for multicast message routing

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 10,038,566
App. No.
14/061,015
Granted
Jul 31, 2018
Kind
B1
Abstract

A computing device configured for multicast message routing is described. The computing device includes a processor and instructions in memory. The computing device receives a multicast request message on a receiving network interface. The receiving network interface is one of multiple network interfaces. The computing device determines which network interface is the receiving network interface based on a network interface list. The computing device sends a multicast reply message on the receiving network interface based on the network interface list.

Claims (42)

1. A computing device that is configured for multicast message routing, comprising:

a processor;

a memory in electronic communication with the processor; and instructions stored in the memory, the instructions being executable to:

receive, via multicast, a first multicast message on a network interface, the network interface connected to a subnet and being one of multiple network interfaces associated with the computing device, the first multicast message received from a device from a plurality of devices in the subnet;

determine, based on a network interface list, which network interface from the multiple network interfaces associated with the computing device is the network interface that received the first multicast message, the network interface list including a network interface entry for each network interface from the multiple network interfaces, the network interface entry for each network interface from the multiple network interfaces including an internet protocol (IP) address and a subnet mask of that network interface, the determining including, for each network interface from the multiple network interfaces:

identifying a network portion of a source IP address associated with the first multicast message using the subnet mask of the network interface entry for that network interface;

identifying a network portion of the IP address of the network interface entry for that network interface using the subnet mask of the network interface entry for that network interface; and

comparing the network portion of the source IP address to the network portion of the IP address of the network interface entry to determine whether that network interface is the network interface that received the first multicast message; and

send, after executing the instruction to determine and via the network interface that received the first multicast message and not the other network interfaces from the multiple network interfaces, a second multicast message based on the first multicast message to the plurality of devices in the subnet.

2. The computing device of claim 1 , wherein the network interface entry for each network interface from the multiple network interfaces comprises an identifier for a socket that is bound to that network interface.

3. The computing device of claim 2 , wherein the instruction executable to send the second multicast message comprises an instruction executable to use the socket that is bound to the network interface.

4. The computing device of claim 1 , wherein the network interface entry for each network interface from the multiple network interfaces comprises a network interface type for that network interface, the network interface type determined based on a network interface description provided by an operating system associated with that network interface.

5. The computing device of claim 4 , wherein the network interface type in the network interface entry for each network interface from the multiple network interfaces is one of a wired interface, a wireless interface or a virtual private network (VPN) interface.

6. The computing device of claim 5 , wherein the instruction executable to send the second multicast message comprises instructions executable to:

determine the network interface type of the network interface; and

send the second multicast message when the network interface type of the network interface is a wired interface.

7. The computing device of claim 1 , wherein each network interface from the multiple network interfaces is connected to a different subnet.

8. A method for multicast message routing by a computing device, comprising:

receiving, via a multicast channel, a first multicast message on a network interface, the network interface being one of multiple network interfaces associated with the computing device, each network interface from the multiple network interfaces connected to a different subnet;

determining, based on a network interface list, which network interface from the multiple network interfaces associated with the computing device is the network interface that received the multicast message, the network interface list including a network interface entry for each network interface from the multiple network interfaces, the network interface entry for each network interface from the multiple network interfaces including an internet protocol (IP) address and a subnet mask of that network interface, the determining including, for each network interface from the multiple network interfaces:

identifying a network portion of a source IP address associated with the first multicast message using the subnet mask of the network interface entry for that network interface;

identifying a network portion of the IP address of the network interface entry for that network interface using the subnet mask of the network interface entry for that network interface; and

comparing the network portion of the source IP address to the network portion of the IP address of the network interface entry to determine whether that network interface is the network interface that received the first multicast message; and

sending, after the determining and via the network interface that received the first multicast message and not the other network interfaces from the multiple network interfaces, a second multicast message based on the first multicast message to the subnet connected to the network interface that received the first multicast message and not to subnets connected to the remaining network interfaces from the multiple network interfaces.

9. The method of claim 8 , wherein the network interface entry for each network interface from the multiple network interfaces comprises an identifier of a socket that is bound to that network interface.

10. The method of claim 9 , wherein sending the second multicast message further includes using the socket that is bound to the network interface.

11. The method of claim 8 , wherein the network interface entry for each network interface from the multiple network interfaces further includes a network interface type for that network interface, the network interface type determined based on a network interface description provided by an operating system associated with that network interface.

12. The method of claim 11 , wherein the network interface type in the network interface entry for each network interface from the multiple network interfaces is one of a wired interface, a wireless interface or a virtual private network (VPN) interface.

13. The method of claim 12 , wherein sending the second multicast message includes:

determining the network interface type of the network interface; and

sending the second multicast message when the network interface type of the network interface is a wired interface.

14. A non-transitory tangible computer-readable medium to multicast message route on a computing device comprising executable instructions to:

receive, via a multicast channel, a first multicast message on a network interface, the network interface being one of multiple network interfaces associated with the computing device, each network interface from the multiple network interfaces connected to a different subnet from a plurality of subnets, the first multicast message received from a device in the subnet from the plurality of subnets connected to the network interface that received the first multicast message, a network interface list including a network interface entry for each network interface from the multiple network interfaces;

for each network interface entry from a set of network interface entries in the network interface list:

identify a network portion of a source internet protocol (IP) address associated with the first multicast message using a subnet mask of that network interface entry, the network interface entry for each network interface from the multiple network interfaces includes an IP address and a subnet mask of the network interface for that network interface entry;

identify a network portion of the IP address of that network interface entry using the subnet mask of that network interface entry; and

compare the network portion of the source IP address to the network portion of the IP address of that network interface entry to identify the network interface that received the first multicast message; and

send, after executing the instruction to compare and based on the first multicast message, a second multicast message directly to the subnet including the device that sent the first multicast message via the network interface that received the first multicast message and not the other network interfaces from the set of network interfaces.

15. The computing device of claim 1 , wherein the computing device is a peer computing device, the first multicast message being a request by the peer computing device to receive a file from one or more other peer computing devices from the plurality of devices in the subnet.

16. The computing device of claim 1 , wherein the computing device is a peer computing device, the first multicast message being a request by the peer computing device to receive a file from one or more other peer computing devices from the plurality of devices in the subnet,

the second multicast message indicating that the peer computing device is requesting the file.

17. The computing device of claim 1 , wherein the network interface is a first network interface, the instructions further executable to update the network interface list based on an event associated with a second network interface from the multiple network interfaces having a network interface entry in the network interface list, the event being one of: an activation of the second network interface, or a deactivation of the second network interface.

Assignments (20)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 2, 2025
From: IVANTI, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071164/0482 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0762 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054560/0857 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41459/0387 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054637/0161 →
MERGER Recorded Apr 19, 2018
From: CRIMSON CORPORATION
To: IVANTI, INC.
Reel/Frame 045983/0075 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40183/0506 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0457 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40182/0345 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0581 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0387 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0762 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 032333/0637 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0037 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 032333/0604 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040170/0848 →
SECURITY AGREEMENT Recorded Feb 25, 2014
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 032333/0604 →
SECURITY AGREEMENT Recorded Feb 25, 2014
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 032333/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: OLSEN, GREGORY P.
To: CRIMSON CORPORATION
Reel/Frame 031460/0808 →