# US 2018/0321968 A1 · Transactional messaging support in connected messaging networks

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

- Number: US 2018/0321968 A1
- Document ID: US20180321968A1
- Status: Published application
- Kind: A1
- Application number: 16/037,827
- Filed: 2018-07-17
- Published: 2018-11-08
- Earliest claimed: 2010-11-24
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Jonathan Levell; Matthew David Peel
- Web page: https://patentgrep.com/patent/US20180321968A1

## CPC

- G06F 9/466: {Transaction processing}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 2209/544: Remote
- G06F 2209/547: Messaging middleware
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and system are provided for transactional messaging support in connected messaging networks. A first messaging network is provided which does not support transactional processing and a second messaging network is provided which does support transactional processing. A proxy application is provided between the first and second messaging networks. The proxy application receives messages from a first application on the first messaging network, the messages including instructions regarding transactional processing of the messages, and forwards the messages to the second messaging network using a transactional processing supported by the second messaging network.

## Claims

### Claim at position 1

1-27. (canceled)

### Claim 28

A method for transactional messaging support in connected messaging networks, the method comprising:
receiving, at a computing system comprising a proxy application operating between a first messaging network which does not support transactional processing, and a second messaging network which does support transactional processing, a message from a first application on the first messaging network comprising instructions to use advanced features supported by the second messaging network on behalf of the first application;
reading the message to obtain instructions from the first application regarding transactional processing supported by the second messaging network for the message;
wherein the message is one of a plurality of messages representing a first transaction and the instructions for transactional processing of the message include exposing a beginning and an end of the plurality of messages so that the first application has control;
adding, by the computing system, the transactional processing to the message according to the instructions of the first application obtained from the message; and
forwarding, by the computing system, to the second messaging network, the message with the transactional processing for the advanced features supported by the second messaging network.

### Claim 29 (depends on 28)

The method of claim 28, wherein the instructions of the first application obtained from the message further comprise additional instructions regarding functional processing of the message, and the method further comprises:
converting the message to include additional functionality supported by the second messaging network, based on the additional instructions regarding functional processing of the message.

### Claim 30 (depends on 29)

The method as claimed in claim 29, wherein the additional functionality includes converting a publish/subscribe message to a point to point message.

### Claim 31 (depends on 29)

The method as claimed in claim 29, wherein the additional functionality includes converting multiple short messages to a single long message.

### Claim 32 (depends on 29)

The method as claimed in claim 29, wherein the additional functionality includes converting a message to a multicast message.

### Claim 33 (depends on 28)

The method as claimed in claim 28, wherein the instructions for transactional processing are provided in a header of the message.

### Claim 34 (depends on 28)

The method as claimed in claim 28, wherein the instructions for transactional processing are provided in a topic of the message.

### Claim 35 (depends on 28)

The method as claimed in claim 28, wherein the proxy application subscribes to messages on a topic on which commands from the first application are published.

### Claim 36 (depends on 28)

The method as claimed in claim 28, wherein the first messaging network is a lightweight telemetry transfer network and is connected to the second messaging network via a messaging broker.

### Claim 37 (depends on 28)

The method as claimed in claim 28, further comprising:
putting the first transaction to a destination queue on the second messaging network.

### Claim 38 (depends on 28)

The method as claimed in claim 28 wherein the proxy application gives the first application control of which operations are performed as a transactional unit of work in the second messaging network.

### Claim 39 (depends on 28)

The method of claim 28 further comprising:
allowing the first application to control which received messages from the first application are part of a first transaction or part of a second transaction.

### Claim 40 (depends on 28)

The method of claim 28 wherein the message includes a header including a destination for the message from the first application, and an identifier indicating that the message is part of a first transaction.

### Claim 41 (depends on 28)

The method of claim 28, further comprising:
determining the outcome of the message by determining a success or failure of the message processed on behalf of the first application and generating a commit response; and
returning the outcome of the message to the first application on the first messaging network by sending the generated commit response message to the first application.

### Claim 42 (depends on 28)

The method of claim 28 further comprising:
receiving an instruction from the first application to back out the first transaction.

### Claim 43

A system comprising:
a processor; and
a non-transitory computer readable medium coupled with the processor, the computer readable medium comprising instructions stored thereon that are executable by the processor to cause a computing device to perform operations comprising:
receiving, via a proxy application operating between a first messaging network which does not support transactional processing, and a second messaging network which does support transactional processing, a message from a first application on the first messaging network comprising instructions to use advanced features supported by the second messaging network on behalf of the first application;
reading the message to obtain instructions from the first application regarding transactional processing supported by the second messaging network for the message;
wherein the message is one of a plurality of messages representing a first transaction and the instructions for transactional processing of the message include exposing a beginning and an end of the plurality of messages so that the first application has control;
adding the transactional processing to the message according to the instructions of the first application obtained from the message; and
forwarding to the second messaging network, the message with the transactional processing for the advanced features supported by the second messaging network.

### Claim 44 (depends on 43)

The system of claim 43, wherein the instructions of the first application obtained from the message further comprise additional instructions regarding functional processing of the message, and the method further comprises:
converting the message to include additional functionality supported by the second messaging network, based on the additional instructions regarding functional processing of the message.

### Claim 45 (depends on 43)

The system of claim 43, wherein reading the message to obtain instructions from the first application for transactional processing of the message includes reading a header of the message to obtain the instructions.

### Claim 46 (depends on 43)

The system of claim 43, wherein reading the message to obtain instructions from the first application for transactional processing of the message includes reading a topic of the message to obtain the instructions.

### Claim 47

A non-transitory computer readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to perform operations comprising:
receiving, via a proxy application operating between a first messaging network which does not support transactional processing, and a second messaging network which does support transactional processing, a message from a first application on the first messaging network comprising instructions to use advanced features supported by the second messaging network on behalf of the first application;
reading the message to obtain instructions from the first application regarding transactional processing supported by the second messaging network for the message;
wherein the message is one of a plurality of messages representing a first transaction and the instructions for transactional processing of the message include exposing a beginning and an end of the plurality of messages so that the first application has control;
adding the transactional processing to the message according to the instructions of the first application obtained from the message; and
forwarding to the second messaging network, the message with the transactional processing for the advanced features supported by the second messaging network.
