IP Library Granted Patent US 8,832,304
Granted Patent B2
US 8,832,304 · App. 13/177,882 · Granted Sep 9, 2014

Protocol agnostic notification system

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 8,832,304
App. No.
13/177,882
Granted
Sep 9, 2014
Kind
B2
Abstract

Subscription notifications are provided by receiving a request from a subscriber to register a subscription, the request identifying (i) a topic, (ii) a protocol corresponding to a first adaptor and supported by the subscriber, and (iii) a parameter associated with the protocol. The request is validated based on the parameter, and subscription data is stored. The subscription data is organized as a hierarchical data structure including a plurality of topics and sub-topics, each of the topics and sub-topics being associated with one or more subscribers and adaptors. A message to be published for a topic is received from a publisher. A plurality of adaptors, which correspond to a plurality of protocols, respectively, to be used for the topic is identified in the subscription data. A plurality of notifications corresponding to the message is published by the plurality of adaptors using the plurality of protocols, respectively.

Claims (50)

1. A method for providing subscription notifications, comprising the steps of:

using at least one processor to perform:

receiving, by a registrar, a request from a subscriber to register a subscription, the request including (i) an identifier of a topic, (ii) an identifier of a protocol corresponding to a first adaptor and supported by the subscriber, and (iii) a parameter associated with the protocol;

validating, by the first adaptor, the request to register the subscription based on the parameter;

storing the subscription as subscription data, including the identifier of the topic, an identifier of the first adaptor, and the parameter, if a determination is made by the validating that the subscription data is valid,

wherein the subscription data is organized as a hierarchical data structure including a plurality of topics and sub-topics, each of the topics and sub-topics being associated with one or more subscribers and adaptors;

receiving, from a publisher, a message to be published, the message including the identifier of the topic;

identifying, in the subscription data, a plurality of adaptors, including the first adaptor, to be used for the topic based on the identifier of the topic included in the message, wherein the plurality of adaptors corresponds to a plurality of protocols, respectively; and

publishing, by the plurality of adaptors using the plurality of protocols, respectively, a plurality of notifications corresponding to the message.

2. The method according to claim 1 , further comprising the steps of:

determining whether the first adaptor was used prior to the request; and

dynamically loading the first adaptor corresponding to the request if a determination is made by the determining that the first adaptor has not been used prior to the request.

3. The method according to claim 1 , wherein the parameter is one of a plurality of parameters included in the request, and wherein the validating step includes determining that the request includes the plurality of parameters that are required for the first adaptor to publish a corresponding one of the plurality of notifications using the protocol corresponding to the first adaptor.

4. The method according to claim 1 , further comprising the steps of:

transmitting, to the publisher, identifiers of the plurality of adaptors, thereby enabling the publisher to invoke calls to the plurality of adaptors to communicate the plurality of notifications, respectively.

5. The method according to claim 1 , wherein the request further includes a designation of the subscriber for the topic.

6. The method according to claim 1 , wherein a plurality of subscriptions are associated with each of the plurality of adaptors.

7. A system for providing subscription notifications, comprising:

at least one processor configured to perform as:

a registrar operable to receive, from a subscriber, a request to register a subscription, the request including (i) an identifier of a topic, (ii) an identifier of a protocol corresponding to a first adaptor and supported by the subscriber, and (iii) a parameter associated with the protocol;

a plurality of adaptors, including the first adaptor,

the first adaptor being operable to validate the request to register the subscription based on the parameter, and

the plurality of adaptors corresponding to a plurality of protocols, respectively,

the plurality of adaptors being operable to publish, using the plurality of protocols, respectively, a plurality of notifications corresponding to a message to be published;

a notifier operable to:

store the subscription as subscription data, including the identifier of the topic, an identifier of the first adaptor, and the parameter, if a determination is made by the validating that the subscription data is valid,

wherein the subscription data is organized as a hierarchical data structure including a plurality of topics and sub-topics, each of the topics and sub-topics being associated with one or more subscribers and adaptors,

receive, from a publisher, the message to be published, the message including the identifier of the topic, and

identify, in the subscription data, a plurality of adaptors, including the first adaptor, to be used for the topic based on the identifier of the topic included in the message.

8. The system according to claim 7 , wherein the registrar is further operable to determine whether the first adaptor was used prior to the request and cause the first adaptor corresponding to the request to be dynamically loaded if a determination is made that the first adaptor has not been used prior to the request.

9. The system according to claim 7 , wherein the parameter is one of a plurality of parameters included in the request, and wherein the adaptor is further operable to validate the request by determining that the request includes the plurality of parameters that are required for the first adaptor to publish a corresponding one of the plurality of notifications using the protocol corresponding to the first adaptor.

10. The system according to claim 7 , wherein the notifier is further operable to transmit, to the publisher, identifiers of the plurality of adaptors, thereby enabling the publisher to invoke calls to the plurality of adaptors to communicate the plurality of notifications, respectively.

11. The system according to claim 7 , wherein the request further includes a designation of the subscriber for the topic.

12. The system according to claim 7 , wherein a plurality of subscriptions are associated with each of the plurality of adaptors.

13. A non-transitory computer-readable medium having stored thereon instructions, which when executed by a computer system cause the computer system to perform:

receiving, by a registrar, a request from a subscriber to register a subscription, the request including (i) an identifier of a topic, (ii) an identifier of a protocol corresponding to a first adaptor and supported by the subscriber, and (iii) a parameter associated with the protocol;

validating, by the first adaptor, the request to register the subscription based on the parameter;

storing the subscription as subscription data, including the identifier of the topic, an identifier of the first adaptor, and the parameter, if a determination is made by the validating that the subscription data is valid,

wherein the subscription data is organized as a hierarchical data structure including a plurality of topics and sub-topics, each of the topics and sub-topics being associated with one or more subscribers and adaptors;

receiving, from a publisher, a message to be published, the message including the identifier of the topic;

identifying, in the subscription data, a plurality of adaptors, including the first adaptor, to be used for the topic based on the identifier of the topic included in the message, wherein the plurality of adaptors corresponds to a plurality of protocols, respectively; and

publishing, by the plurality of adaptors using the plurality of protocols, respectively, a plurality of notifications corresponding to the message.

14. The non-transitory computer-readable medium according to claim 13 , further comprising instructions, which when executed by the computer system cause the computer system to perform:

determining whether the first adaptor was used prior to the request; and

dynamically loading the first adaptor corresponding to the request if a determination is made by the determining that the first adaptor has not been used prior to the request.

15. The non-transitory computer-readable medium according to claim 13 , wherein the parameter is one of a plurality of parameters included in the request, and wherein the validating includes determining that the request includes the plurality of parameters that are required for the first adaptor to publish a corresponding one of the plurality of notifications using the protocol corresponding to the first adaptor.

16. The non-transitory computer-readable medium according to claim 13 , further comprising instructions, which when executed by the computer system cause the computer system to perform:

transmitting, to the publisher, identifiers of the plurality of adaptors, thereby enabling the publisher, to invoke calls to the adaptor plurality of adaptors to communicate the plurality of notifications, respectively.

17. The non-transitory computer-readable medium according to claim 13 , wherein the request further includes a designation of the subscriber for the topic.

18. The non-transitory computer-readable medium according to claim 13 , wherein a plurality of subscriptions are associated with each of the plurality of adaptors.

Assignments (16)
FIRST LIEN SECURITY INTEREST Recorded Mar 11, 2026
From: IPC SYSTEMS, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 075090/0164 →
SECURITY INTEREST Recorded Oct 22, 2021
From: IPC SYSTEMS, INC.
To: HPS INVESTMENT PARTNERS, LLC
Reel/Frame 057884/0381 →
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: IPC SYSTEMS INC.
Reel/Frame 057693/0660 →
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2021
From: BARCLAYS BANK PLC
To: IPC SYSTEMS, INC.
Reel/Frame 057691/0813 →
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2021
From: MIDCAP FINANCIAL TRUST
To: IPC SYSTEMS, INC.
Reel/Frame 057693/0276 →
SECURITY INTEREST ASSIGNMENT Recorded Jul 20, 2020
From: BARCLAYS BANK PLC AS THE EXISTING AGENT
To: CORTLAND CAPITAL MARKET SERVICES LLC AS SUCCESSOR AGENT
Reel/Frame 053258/0776 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2018
From: HPS INVESTMENT PARTNERS, LLC (F/K/A HIGHBRIDGE PRINCIPAL STRATEGIES, LLC), AS COLLATERAL AGENT
To: IPC SYSTEMS, INC.
Reel/Frame 045665/0078 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Apr 26, 2018
From: IPC SYSTEMS, INC.
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 046022/0281 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 26, 2016
From: IPC SYSTEMS, INC.
To: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC
Reel/Frame 037595/0135 →
SECOND LIEN SECURITY AGREEMENT Recorded Feb 11, 2015
From: IPC SYSTEMS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 034954/0604 →
FIRST LIEN SECURITY AGREEMENT Recorded Feb 10, 2015
From: IPC SYSTEMS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 034933/0927 →
RELEASE OF SECURITY INTEREST Recorded Feb 9, 2015
From: JPMORGAN CHASE BANK, N.A.
To: IPC SYSTEMS, INC.
Reel/Frame 034916/0883 →
RELEASE OF SECURITY INTEREST Recorded Feb 9, 2015
From: GOLDMAN SACHS BANK USA
To: IPC SYSTEMS, INC.
Reel/Frame 034916/0927 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded May 22, 2014
From: IPC SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 033004/0802 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded May 22, 2014
From: IPC SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 033004/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2011
From: TRAYNOR, CHRISTOPHER J.
To: IPC SYSTEMS, INC.
Reel/Frame 026776/0326 →