# US 9,439,129 B2 · Methods, systems, and devices for message destination hunting

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

- Number: US 9,439,129 B2
- Document ID: US9439129B2
- Status: Granted
- Kind: B2
- Application number: 15/051,901
- Filed: 2016-02-24
- Published: 2016-06-16
- Granted: 2016-09-06
- Earliest claimed: 2010-12-16
- Assignees: Openet Telecom Ltd.
- Applicants: Openet Telecom Ltd.
- Inventors: Alan McNamee; Cameron Ross Dunne; Fergus McCann; Michael O'Sullivan; Niall Byrne; Joe Hogan
- Web page: https://patentgrep.com/patent/US9439129B2

## CPC

- H04W 40/02: Communication route or path selection, e.g. power-based or shortest path routing
- H04L 45/42: Centralised routing
- H04L 51/18: Commands or executable codes
- H04M 15/66: {Policy and charging system}
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 67/1014: based on the content of a request
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

Methods, servers and systems for communicating signaling information in a telecommunications signaling network implement methods that include receiving a first message encoding signaling information from a source component and processing the message using a fixed pipeline having a plurality of modules, each module having at least one procedure for performing a specific set of tasks. Application level routing operations may be performed to identify a suitable destination component. Information contained in the first message may be used to generate a second message encoding signaling information, which is sent to the identified destination component.

## Claims

### Claim 1

A method of communicating signaling information in a telecommunications signaling network, comprising:
receiving in a processor of a server computing device from a source component a communication message that encodes signaling information;
decoding the received communication message into an internal representation that stores the signaling information included in the received communication message in two or more structured information fields;
determining that message destination hunting operations should be performed in response to determining that information derived from the internal representation includes incomplete destination information, incomplete subscriber information, or incomplete session information;
performing node-selection operations to select a destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability in response to determining that message destination hunting operations should be performed;
encoding the signaling information included in the internal representation into a second communication message;
sending the second communication message to the selected destination component; and
repeating the node-selection operations to select a new destination component in response to determining that either no response or a negative response was received from the selected destination component.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining whether a response was received from the selected destination component; and
adding the selected destination component to a do-not-use list in response to determining that no response was received from the selected destination component.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving a response from the selected destination component;
determining whether the received response is a negative response;
adding the selected destination component to a do-not-use list in response to determining that the received response is a negative response; and
storing correlation information in memory in response to determining that the received response is not a negative response.

### Claim 4 (depends on 1)

The method of claim 1, wherein performing node-selection operations to select a destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability comprises performing a randomization operation and selecting the destination component based on a result of performing the randomization operation.

### Claim 5 (depends on 1)

The method of claim 1, further comprising determining whether the internal representation includes information relating to a subscriber, wherein performing node-selection operations to select the destination component based on network latency, node performance, randomization, speed, capacity, workload or availability comprises selecting a component based on whether the component could store information associated with the subscriber.

### Claim 6 (depends on 1)

The method of claim 1, further comprising determining whether the internal representation includes information relating to a session, wherein performing node-selection operations to select the destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability comprises selecting a component based on whether the component could store information associated with the session.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
performing node-selection operations to select the destination component comprises selecting at least two destination components; and
sending the second communication message to the selected destination component comprises sending the second communication message to the selected at least two destination components.

### Claim 8 (depends on 1)

The method of claim 1, wherein encoding the signaling information included in the internal representation into the second communication message comprises encoding the signaling information so that sending the second communication message to the selected destination component comprises sending the selected destination component one of:
a message that includes at least one field having a value that differs from a value of a corresponding field in the received communication message;
a message that includes a superset of the signaling information included the received communication message; and
a message that includes a subset of the signaling information included the received communication message.

### Claim 9 (depends on 1)

The method of claim 1, wherein:
receiving the communication message that encodes signaling information comprises receiving a first message that encodes the signaling information using a first protocol; and
encoding the signaling information included in the internal representation into a second communication message comprises encoding the signaling information included in the internal representation into a second message that encodes the signaling information using a second protocol that is different from the first protocol.

### Claim 10

A server computing device, comprising:
a memory;
a processor coupled to the memory, wherein the processor is configured with processor-executable instructions to perform operations comprising:
receiving from a source component a communication message that encodes signaling information;
decoding the received communication message into an internal representation that stores the signaling information included in the received communication message in two or more structured information fields;
determining that message destination hunting operations should be performed in response to determining that information derived from the internal representation includes incomplete destination information, incomplete subscriber information, or incomplete session information;
performing node-selection operations to select a destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability in response to determining that message destination hunting operations should be performed;
encoding the signaling information included in the internal representation into a second communication message;
sending the second communication message to the selected destination component; and
repeating the node-selection operations to select a new destination component in response to determining that either no response or a negative response was received from the selected destination component.

### Claim 11 (depends on 10)

The server computing device of claim 10, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
determining whether a response was received from the selected destination component; and
adding the selected destination component to a do-not-use list in response to determining that no response was received from the selected destination component.

### Claim 12 (depends on 10)

The server computing device of claim 10, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
receiving a response from the selected destination component;
determining whether the received response is a negative response;
adding the selected destination component to a do-not-use list in response to determining that the received response is a negative response; and
storing correlation information in memory in response to determining that the received response is not a negative response.

### Claim 13 (depends on 10)

The server computing device of claim 10, wherein:
the processor is configured with processor-executable instructions to perform operations further comprising determining whether the internal representation includes information relating to a subscriber; and
the processor is configured with processor-executable instructions to perform operations such that performing node-selection operations to select the destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability comprises selecting a component based on whether the component could store information associated with the subscriber.

### Claim 14

A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a server computing device to perform operations comprising:
receiving from a source component a communication message that encodes signaling information;
decoding the received communication message into an internal representation that stores the signaling information included in the received communication message in two or more structured information fields;
determining that message destination hunting operations should be performed in response to determining that information derived from the internal representation includes incomplete destination information, incomplete subscriber information, or incomplete session information;
performing node-selection operations to select a destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability in response to determining that message destination hunting operations should be performed;
encoding the signaling information included in the internal representation into a second communication message;
sending the second communication message to the selected destination component; and
repeating the node-selection operations to select a new destination component in response to determining that either no response or a negative response was received from the selected destination component.

### Claim 15 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the stored processor-executable software instructions are configured to cause the mobile device processor to perform operations further comprising:
determining whether a response was received from the selected destination component; and
adding the selected destination component to a do-not-use list in response to determining that no response was received from the selected destination component.

### Claim 16 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the stored processor-executable software instructions are configured to cause the mobile device processor to perform operations further comprising:
receiving a response from the selected destination component;
determining whether the received response is a negative response;
adding the selected destination component to a do-not-use list in response to determining that the received response is a negative response; and
storing correlation information in memory in response to determining that the received response is not a negative response.

### Claim 17 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein:
the stored processor-executable software instructions are configured to cause the mobile device processor to perform operations further comprising determining whether the internal representation includes information relating to a subscriber; and
the stored processor-executable software instructions are configured to cause the mobile device processor to perform operations such that performing node-selection operations to select the destination component based on network latency, node performance, randomization, speed, capacity, workload, or availability comprises selecting a component based on whether the component could store information associated with the subscriber.
