# US 2013/0159374 A1 · Method And Apparatus For Messaging In The Cloud

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

- Number: US 2013/0159374 A1
- Document ID: US20130159374A1
- Status: Published application
- Kind: A1
- Application number: 13/329,357
- Filed: 2011-12-19
- Published: 2013-06-20
- Earliest claimed: 2011-12-19
- Assignees: Alcatel-Lucent USA Inc.
- Inventors: Moritz Steiner; Thomas L. Wood
- Web page: https://patentgrep.com/patent/US20130159374A1

## CPC

- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- H04L 65/1066: Session management
- H04L 65/1086: {session scope modification}
- H04L 65/401: wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L 67/142: Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
- H04L 67/148: Migration or transfer of sessions
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The distributed message handling system is created by using session states to represent the plurality of session contexts in the message handling system. The session states are flat representations of the session context which completely describe the session. Utilizing the session states to handle system message requests allows the message handling system to distribute the handling of the message requests to a plurality of state machines. Advantageously, the distributed messaging system allows the message handling system to dynamically allocate message handling resources to application instances based on demand. Such dynamic allocation allows providers to efficiently allocate resources to meet demand while meeting application execution demands.

## Claims

### Claim 1

A distributed message handling apparatus, comprising:
a data storage; and
a processor communicatively coupled to the data storage, the processor configured to:
retrieve a session state based on a session id of a received message;
create a session context based on the session state; and
execute the session context using a state machine.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the session state comprises a session id, a plurality of session parameters and a current node identifier.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein at least a portion of the plurality of session parameters are formatted as name-value pairs.

### Claim 4 (depends on 2)

The apparatus of claim 2, wherein the processor is further configured to:
retrieve a second session state based on a second session id of a received message; and
recreate a sequence of messages for the second session id based on the second session state and a flow definition.

### Claim 5 (depends on 2)

The apparatus of claim 2, wherein the creation of the session context comprises further configuring the processor to:
extract at least one event parameter from the received message;
wherein the session context is further based on the at least one event parameter.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the execution of the session context comprises further configuring the processor to:
create an updated session state based on the executed session context.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the data storage comprises the updated session state associated with the state machine and a secondary session state associated with a second state machine of a second distributed message handling apparatus.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to:
transmit the updated session state to the second distributed message handling apparatus; and
receive the secondary session state from the second distributed message handling apparatus.

### Claim 9

A distributed message handling apparatus in a distributed message handling system, the distributed message handling apparatus, comprising:
a data storage, the data storage comprising a session data store; and
a processor communicatively coupled to the data storage, the processor configured to:
receive a plurality of messages;
forward at least a first message of the plurality of messages to a second distributed message handling apparatus in the distributed message handling system; and
process at least a second message of the plurality of messages, the process comprising the processor configured to:
retrieve a session state from the session data store based on the second message;
create a session context based on the session state;
execute the session context using a state machine;
create an updated session state based on the executed session context; and
store the updated session state in the data storage.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the session state comprises a session id, a plurality of session parameters and a current node identifier.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the creation of the session context comprises further configuring the processor to:
extract at least one event parameter from the second message;
wherein the session context is further based on the at least one event parameter.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein at least the first message and the second message include a session id.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the processor is further configured to:
determine whether the session data store contains session state information for the message based on the session id;
wherein a determination to forward the first message and a determination to process the second message are based on the determination of whether the session data store contains session state information for the message.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the processor is further configured to:
start the state machine in response to determining to process the second message.

### Claim 15 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to:
receive a migrated session state from a third distributed message handling apparatus in the distributed message handling system; and
update the session data store based on the migrated session state.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein the state machine comprises a flow definition.

### Claim 17

A method for handling a received message in a distributed message handling system, comprising:
at a processor communicatively coupled to a data storage, retrieving a session state based on a session id of the received message;
creating, by the processor in cooperation with the data storage, a session context based on the session state; and
executing, by the processor in cooperation with the data storage, the session context using a state machine.

### Claim 18 (depends on 17)

The method of claim 17, wherein act of creating the session context comprises:
translating, by the processor in cooperation with the data storage, an updated session state using an updated session context created by the state machine; and
transmitting, by the processor in cooperation with the data storage, the updated session state to a session data store.

### Claim 19 (depends on 17)

The method of claim 17, wherein the session state comprises a session id, a plurality of session parameters and a current node identifier.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the act of creating the session context comprises:
extracting at least one event parameter from the second message;
wherein the session context is further based on the at least one event parameter.
