# US 10,313,282 B1 · Flexible middleware messaging system

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

- Number: US 10,313,282 B1
- Document ID: US10313282B1
- Status: Granted
- Kind: B1
- Application number: 15/299,440
- Filed: 2016-10-20
- Granted: 2019-06-04
- Earliest claimed: 2016-10-20
- Assignees: Sprint Communications Company L.P.
- Applicants: Sprint Communications Company L.P.
- Inventors: Nathan D. Canady; Anthony E. Johnson
- Web page: https://patentgrep.com/patent/US10313282B1

## CPC

- H04L 51/046: Interoperability with other network applications or services
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 51/214: using selective forwarding
- H04L 67/63: Routing a service request depending on the request content or context
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A middleware messaging system hosted on a telecommunications network computer system is configured to route messages between a message queue (MQ) messaging system of a customer information system (CIS) and a point-to-point messaging system of a service control point management system (SCPMS). The middleware messaging system includes configurable components comprising a plurality of service delivery platform (SDP) consumers and SDP producers, where a status of the configuration components is dynamically changed by at least one of a configuration file, table entries in a database, or a management web page, and where the middleware messaging system is configured to receive a failover message from the backup node indicating a second instance of the telecommunication application is hosted on the backup node; determine messages pending a response from the first instance of the telecommunication application; and transmit the messages to the second instance of the telecommunication application.

## Claims

### Claim 1

A middleware messaging system hosted on a telecommunications network computer system configured to route messages between a message queue (MQ) messaging system of a customer information system (CIS) and a point-to-point messaging system of a service control point management system (SCPMS), the middleware messaging system comprising:
a routing table; and
a non-transitory memory storing processor-executable software instructions for forming configurable components for a plurality of service delivery platform (SDP) consumers and a plurality of SDP producers, wherein a status of the configurable components is dynamically changed by at least one of: a configuration file, table entries in a database, or a management web page;
wherein the status is dynamically changed without a restart of the middleware messaging system;
wherein an SDP consumer communicatively couples an MQ farm and a set of SDP producers of the plurality of SDP producers;
wherein the middleware messaging system is configured to:
transmit, by way of the configurable components, messages between the CIS and SCPMS, wherein a first instance of a telecommunication application is hosted on a first node of the SCPMS, the SCPMS further comprising a backup node;
receive, by an SDP producer corresponding to the backup node, a failover message from the backup node indicating a second instance of the telecommunication application is hosted on the backup node;
determine messages pending a response from the first instance of the telecommunication application hosted on the first node;
transmit the messages to the second instance of the telecommunication application;
release a connection to the first instance of the telecommunication application hosted on the first node; and
parse messages retrieved, by the SDP consumer, from the MQ farm, and selectively deliver messages to a destination comprising one of: an MQ queue of the SCPMS or an internal database on the telecommunications network computer system, based on the parsing of the message and the routing table, by:
retrieving, by the SDP consumer, a first message from the MQ farm, the first message comprising identifier information;
identifying, by the SDP consumer, a route of the first message based on the identifier information and the routing table; and
transmitting the message, based on the identified route, to one of the MQ queue or the internal database.

### Claim 2 (depends on 1)

The middleware messaging system of claim 1,
wherein an SDP consumer of the SDP consumers is configured to listen for a failover message from the backup node; and
wherein a different SDP consumer of the SDP consumers is configured to listen for a failover message from the first node.

### Claim 3 (depends on 1)

The middleware messaging system of claim 1,
wherein the status of the configurable components comprises a quantity of the plurality of SDP consumers and a quantity of the plurality of SDP producers.

### Claim 4 (depends on 1)

The middleware messaging system of claim 1, further comprising:
an internal database, wherein the internal database stores payloads of messages destined for telecommunication applications hosted internal to the telecommunications network computer system, and
wherein the telecommunication applications are configured to access the internal database to retrieve the payloads.

### Claim 5 (depends on 1)

The middleware messaging system of claim 1, further configured to:
render the management web page,
wherein the management web page displays a state of the configurable components,
wherein the management web page further enables a user to dynamically change a run state of at least one of the plurality of SDP producers and the SDP consumers.

### Claim 6 (depends on 5)

The middleware messaging system of claim 5, wherein dynamically change a run state of at least one of the plurality of SDP producers and the SDP consumers further comprises:
retrieving information from a naming directory; and
discovering SDP producers and SDP consumers that are defined in the configuration file.

### Claim 7 (depends on 1)

The middleware messaging system of claim 1,
wherein a respective SDP consumer is in communication with each of the plurality of SDP producers; and
wherein a respective SDP producer is in communication with each of the plurality of SDP consumers.

### Claim 8

A service delivery platform (SDP) defined within a telecommunication network computer system that provides a new interface while maintaining backwards compatibility with an external telecommunication network platform comprising:
a first node and a second node each configured to host multiple telecommunication applications, the second node serving as a backup to the first node, the SDP comprising:
a message database; and
a middleware messaging system, the middleware messaging system comprising configurable components comprising executable software for a plurality of SDP consumers and a plurality of SDP producers, the configurable components communicatively coupling a message queue (MQ) farm and an MQ queue of the external telecommunication network platform,
the middleware messaging system configured to
parse messages retrieved from the MQ farm and to selectively deliver messages to a destination comprising one of: the MQ queue or a table inside the message database, based on the parsing of the messages, wherein selectively delivering the messages further comprises:
retrieving, by an SDP consumer, a first message from the MQ farm, the first message comprising identifier information;
identifying, by the SDP consumer, a route of the first message based on the identifier information and a routing table stored in the middleware messaging system;
transmitting the message, based on the identified route, to one of the MQ queue or the table inside the message database;
receiving, via a first SDP consumer of the plurality of SDP consumers, a first failover message from the first node by way of the MQ queue, and a second SDP consumer of the plurality of SDP consumers is configured to receive a second failover message from the second node by way of the MQ queue, the second failover message comprising information indicating that the second node is the active node for a particular telecommunication application hosted on the external telecommunication network platform; and
in response to the second failover message, connecting respective configurable components corresponding to the instance of the particular telecommunication application to the second node and releasing a connection between the first node and the respective configurable components corresponding to a different instance of the particular telecommunication application.

### Claim 9 (depends on 8)

The system of claim 8,
wherein a respective SDP consumer is in communication with each of the plurality of SDP producers; and
wherein a respective SDP producer is in communication with each of the plurality of SDP consumers.

### Claim 10 (depends on 8)

The system of claim 8, further configured to render a management web page, wherein the management web page displays a state of the configurable components of the SDP, wherein the state comprises a quantity of SDP consumers and a quantity of SDP consumers.

### Claim 11 (depends on 10)

The system of claim 10, wherein the management web page further enables a user to dynamically change a run state of at least one of the SDP consumers or the SDP producers.

### Claim 12 (depends on 8)

The system of claim 8, wherein each of the configurable components including the SDP consumers and the SDP producers is defined in a configuration file stored in the SDP and wherein an additional configurable component is added by way of the configuration file.

### Claim 13 (depends on 8)

The system of claim 8, wherein, in response to the second failover message, the respective configurable components are configured to:
check a database table to determine messages pending a response from the different instance of the particular telecommunication application hosted on the first node; and
transmit the messages to instance of the particular telecommunication application hosted on the second node.

### Claim 14

A method of brokering messages between a message queue system of a customer information system (CIS) and a point-to-point messaging system of a service control point management system (SCPMS) comprising:
on a service delivery platform (SDP):
dynamically creating service delivery platform (SDP) consumers by way of a configuration file without restarting a system managing the SDP consumers;
dynamically creating SDP producers by way of the configuration file without restarting the system managing the SDP consumers, the SDP consumers and SDP producers comprising executable software;
receiving, by an SDP consumer of the SDP consumers, a message in message queue (MQ) format from the CIS;
determining, by the SDP consumer, a destination application based on header information in the message and based on a routing table;
transmitting messages between the CIS and SCPMS, wherein a first instance of a telecommunication application is hosted on a first node of the SCPMS, the SCPMS further comprising a backup node;
receiving, by an SDP producer corresponding to the backup node, a failover message from the backup node indicating a second instance of the telecommunication application is hosted on the backup node;
determining messages pending a response from the first instance of the telecommunication application hosted on the first node;
transmitting the messages to the second instance of the telecommunication application;
releasing a connection to the first instance of the telecommunication application hosted on the first node; and
parsing messages retrieved, by the SDP consumer, from a MQ farm, and selectively delivering messages to a destination comprising one of: an MQ queue of the SCPMS or a database located on the SDP, based on the parsing of the message and the routing table, by:
retrieving, by the SDP consumer, a first message from the MQ farm, the first message comprising identifier information;
identifying, by the SDP consumer, a route of the first message based on the identifier information and the routing table; and
transmitting the message, based on the identified route, to one of the MQ queue or the database.

### Claim 15 (depends on 14)

The method of claim 14, wherein a location of the destination application is on the SDP and the message is transmitted to the database located on the SDP.

### Claim 16 (depends on 14)

The method of claim 14, wherein a location of the destination application is on the SCPMS and the message is transmitted to the SCPMS in an MQ format by way of an SDP producer of the SDP producers, the SDP producer corresponding to the destination application on the SCPMS, and
wherein the message is further transmitted from the SDP producer to an MQ queue on the SCPMS.
