IP Library Granted Patent US 11,418,605
Granted Patent B2
US 11,418,605 · App. 17/080,896 · Granted Aug 16, 2022

Efficient request-response routing over a data exchange layer

Inventors: Christopher Smith (Sherwood, OR); Edward A. Farrenkopf (Sun Lakes, AZ)
Assignee: Musarubra US LLC
H04L67/16H04L67/2809H04L67/2814H04L67/42
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,418,605
App. No.
17/080,896
Granted
Aug 16, 2022
Kind
B2
Abstract

In an example, there is disclosed a data exchange layer (DXL) broker, including: a hardware platform including a processor and a memory; a DXL service store; a traditional internet protocol (IP) network stack; a DXL driver to operate a DXL layer on top of the traditional IP network stack; and instructions encoded within the memory to: enumerate a plurality of DXL endpoints connected to the DXL broker via the traditional IP network stack; store IP network routing information and DXL identification information for the DXL endpoints in the DXL service store; receive a DXL message for a DXL endpoint, the DXL message including DXL identification information for one of the plurality of DXL endpoints; and route the DXL message to the one of the plurality of DXL endpoints via the IP network routing information for the one of the plurality of DXL endpoints.

Claims (54)

1. A computer-implemented method of brokering data exchange layer (DXL) messages, comprising:

receiving, from a plurality of DXL endpoints, a plurality of subscriptions to a service topic;

receiving, from a client, a first incoming DXL message including the service topic;

receiving, from the client, a subscription to a response topic;

identifying a DXL endpoint of the plurality of DXL endpoints, based on a determination the DXL endpoint subscribed to the service topic;

determining the DXL endpoint is in closer physical proximity to the client or has a lower latency between the DXL endpoint and the client than does another DXL endpoint of the plurality of DXL endpoints;

performing an operation, the operation being forwarding the first incoming DXL message to the DXL endpoint or forwarding to the client an identity of the DXL endpoint;

receiving a second incoming DXL message that includes the response topic; and

forwarding the second incoming DXL message to the client, based on the response topic.

2. The computer-implemented method of claim 1 , further comprising

storing, in a DXL routing table, information to reach the DXL endpoint via an internet protocol (IP) network, and the identity for the DXL endpoint; and

querying the DXL routing table for the DXL endpoint to provide a DXL service, based on the identity.

3. The computer-implemented method of claim 1 , further comprising

enumerating the plurality of DXL endpoints reachable via an internet protocol (IP) network.

4. The computer-implemented method of claim 1 , further comprising

publishing an event identifying an addition of a server instance or a removal of a server instance.

5. The computer-implemented method of claim 1 , further comprising

sending a response message or publishing a DXL message, if no DXL endpoints have registered the service topic, the response message or the DXL message indicating a service is not available.

6. A data exchange layer (DXL) broker, comprising:

a hardware platform including a processor and a memory;

a DXL service store;

an internet protocol (IP) network stack;

a DXL driver to operate a DXL layer on top of the IP network stack; and

instructions encoded within the memory that cause the processor to

receive, from a plurality of DXL endpoints, a plurality of subscriptions to a service topic;

receive, from a client, a first incoming DXL message including the service topic;

receive, from the client, a subscription to a response topic;

identify a DXL endpoint of the plurality of DXL endpoints, based on a determination the DXL endpoint subscribed to the service topic;

determine the DXL endpoint is in closer physical proximity to the client or has a lower latency between the DXL endpoint and the client than does another DXL endpoint of the plurality of DXL endpoints;

perform an operation, the operation being to forward the first incoming DXL message to the DXL endpoint or to forward to the client an identity of the DXL endpoint;

receive a second incoming DXL message that includes the response topic; and

forward the second incoming DXL message to the client, based on the response topic.

7. The broker of claim 6 , wherein the instructions further cause the processor to

store, in the DXL service store, information to reach the DXL endpoint via the IP network stack, and the identity for the DXL endpoint; and

query the DXL service store for the DXL endpoint to provide a DXL service, based on the identity.

8. The broker of claim 6 , wherein the instructions further cause the processor to enumerate the plurality of DXL endpoints reachable via the IP network stack.

9. The broker of claim 6 , wherein the instructions further cause the processor to publish an event identifying an addition of a server instance or a removal of a server instance.

10. The broker of claim 6 , wherein the instructions further cause the processor to send a response message or publish a DXL message, if no DXL endpoints have registered the service topic, the response message or the DXL message indicating a service is not available.

11. A non-transitory, computer-readable storage medium having stored thereon instructions to provide a data exchange layer (DXL) broker, including instructions that, when executed, perform operations comprising:

receiving, from a plurality of DXL endpoints, a plurality of subscriptions to a service topic;

receiving, from a client, a first incoming DXL message including the service topic;

receiving, from the client, a subscription to a response topic;

identifying a DXL endpoint of the plurality of DXL endpoints, based on a determination the DXL endpoint subscribed to the service topic;

determining the DXL endpoint is in closer physical proximity to the client or has a lower latency between the DXL endpoint and the client than does another DXL endpoint of the plurality of DXL endpoints;

performing an operation, the operation being forwarding the first incoming DXL message to the DXL endpoint or forwarding to the client an identity of the DXL endpoint;

receiving a second incoming DXL message that includes the response topic; and

forwarding the second incoming DXL message to the client, based on the response topic.

12. The medium of claim 11 , the operations further comprising

storing, in a DXL routing table, information to reach the DXL endpoint via an internet protocol (IP) network, and the identity for the DXL endpoint; and

querying the DXL routing table for the DXL endpoint to provide a DXL service, based on the identity.

13. The medium of claim 11 , the operations further comprising

enumerating the plurality of DXL endpoints reachable via an internet protocol (IP) network.

14. The medium of claim 11 , the operations further comprising

sending a response message or publishing a DXL message, if no DXL endpoints have registered the service topic, the response message or the DXL message indicating a service is not available.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 057453, FRAME 0053 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0413 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 056990, FRAME 0960 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0430 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 061007/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 059855/0807 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 057315 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 060878/0126 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 056990/0960 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057453/0053 →