IP Library Granted Patent US 10,819,804
Granted Patent B2
US 10,819,804 · App. 14/912,913 · Granted Oct 27, 2020

Efficient request-response routing over a data exchange layer

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,819,804
App. No.
14/912,913
Granted
Oct 27, 2020
Kind
B2
Abstract

In an example, there is disclosed an efficient request/response routing over a publish/subscribe messaging framework. Upon receiving a request for a service, a DXL broker may identify zero or more DXL domain masters providing the service. If no DXL domain masters are available to provide the service, the DXL broker may send a response message, or publish a DXL message, indicating that the service is not available. If more than one DXL domain master provides the service, then the DXL broker may identify the best DXL domain master to service the request, and forward the request to that DXL domain master.

Claims (70)

1. One or more non-transitory computer-readable mediums having stored thereon executable instructions for providing a data exchange layer (DXL) broker, the executable instructions operable to:

enumerate a plurality of DXL endpoints connected to the DXL broker, for which the DXL broker is to provide DXL communication services, and discover one or more endpoint properties for the plurality of DXL endpoints, wherein the DXL endpoints include at least one domain master and at least one client;

provide a DXL bus controller configured to provide a DXL fabric on an enterprise service bus (ESB), wherein the DXL fabric is configured to provide one-to-one device-to-device topic-based communication on a two-layer publish-subscribe fabric, wherein a first layer is an internet protocol (IP) layer, and a second layer is a lightweight messaging protocol of the ESB;

receive a DXL registration message from a domain master providing a service;

update a data repository to indicate that the service is available;

receive a DXL request message from an endpoint directed to the service;

identify a plurality of domain masters that provide the service;

determine an optimal one of the plurality of domain masters for servicing the DXL request message; and

forward the DXL request message to the optimal one of the plurality of domain masters.

2. The one or more non-transitory computer-readable mediums of claim 1 , wherein the instructions operable to determine an optimal one of the plurality of domain masters providing the service comprise instructions operable to parse routing information to the plurality of domain masters and determine a nearest domain master to the endpoint.

3. The one or more non-transitory computer-readable mediums of claim 2 , wherein the executable instructions are further operable to forward the DXL request message to the nearest domain master.

4. The one or more non-transitory computer-readable mediums of claim 1 , wherein the executable instructions are further operable to:

receive a DXL request message on the ESB; and

publish a DXL notification indicating that the service is available.

5. The one or more non-transitory computer-readable mediums of claim 1 , wherein the executable instructions are further operable to:

receive a DXL request message on the ESB; and

provide a DXL response message indicating that the service is available.

6. The one or more non-transitory computer-readable mediums of claim 1 , wherein the executable instructions are further operable to:

receive a DXL request message directed to the service;

determine that no domain master is available to provide the service; and

provide a DXL response message indicating that the service is unavailable.

7. The one or more non-transitory computer-readable mediums of claim 1 , wherein the plurality of domain masters are DXL domain masters.

8. The one or more non-transitory computer-readable mediums of claim 1 , wherein the endpoint is a DXL client.

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

a processor;

a DXL bus controller configured to provide a DXL fabric on an enterprise service bus (ESB), wherein the DXL fabric is configured to provide one-to-one device-to-device topic-based communication on a two-layer publish-subscribe fabric, wherein a first layer is an internet protocol (IP) layer, and a second layer is a lightweight messaging protocol of the ESB;

a network interface operable to communicatively couple the DXL broker to the DXL; and

a memory having stored thereon executable instructions operable to instruct the processor to:

enumerate a plurality of DXL endpoints connected to the DXL broker, for which the DXL broker is to provide DXL communication services, and discover one or more endpoint properties for the plurality of DXL endpoints, wherein the DXL endpoints include at least one domain master and at least one client;

receive a DXL registration message from a domain master providing a service;

update a data repository to indicate that the service is available;

receive a DXL request message from an endpoint directed to the service;

identify a plurality of domain masters providing the service;

determine an optimal one of the plurality of domain masters for servicing the DXL request message; and

forward the DXL request message to the optimal one of the plurality of domain masters.

10. The DXL broker of claim 9 , wherein the instructions operable to determine an optimal one of the plurality of domain masters providing the service comprise instructions operable to parse routing information to the plurality of domain masters and determine a nearest domain master to the endpoint.

11. The DXL broker of claim 10 , wherein the executable instructions are further operable to forward the DXL request message to the nearest domain master.

12. The DXL broker of claim 9 , wherein the executable instructions are further operable to:

receive a DXL request message on the ESB; and

publish a DXL notification indicating that the service is available.

13. The DXL broker of claim 9 , wherein the executable instructions are further operable to:

receive a DXL request message on the ESB; and

provide a DXL response message indicating that the service is available.

14. The DXL broker of claim 9 , wherein the executable instructions are further operable to:

receive a DXL request message directed to the service;

determine that no domain master is available to provide the service; and

provide a DXL response message indicating that the service is unavailable.

15. The DXL broker of claim 9 , wherein the plurality of domain masters are DXL domain masters.

16. The DXL broker of claim 9 , wherein the endpoint is a DXL client.

17. A method of providing data exchange layer (DXL) broker services, comprising:

enumerating a plurality of DXL endpoints connected to a DXL broker, for which the DXL broker is to provide DXL communication services, and discover one or more endpoint properties for the plurality of DXL endpoints, wherein the DXL endpoints include at least one domain master and at least one client;

providing a DXL bus controller configured to provide a DXL fabric on an enterprise service bus (ESB), wherein the DXL fabric is configured to provide one-to-one device-to-device topic-based communication on a two-layer publish-subscribe fabric, wherein a first layer is an internet protocol (IP) layer, and a second layer is a lightweight messaging protocol of the ESB;

receiving a DXL registration message from a domain master providing a service;

updating a data repository to indicate that the service is available;

receiving a DXL request message from an endpoint directed to the service;

identifying a plurality of domain masters providing the service;

determining an optimal one of the plurality of domain masters for servicing the DXL request message; and

forwarding the DXL request message to the optimal one of the plurality of domain masters.

18. The method of claim 17 , further comprising:

receiving a DXL request message on the ESB; and

publishing a DXL notification indicating that the service is available.

19. The method of claim 17 , further comprising:

receiving a DXL request message on the ESB; and

providing a DXL response message indicating that the service is available.

20. The method of claim 17 , further comprising:

receiving a DXL request message directed to the service;

determining that no domain master is available to provide the service; and

providing a DXL response message indicating that the service is unavailable.

21. The method of claim 17 , wherein the plurality of domain masters are DXL domain masters.

22. The method of claim 17 , wherein the endpoint is a DXL client.

Assignments (9)
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 →
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 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →