Message quests for rapid re-hosting of client devices

US11729129B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11729129-B2
Application numberUS-202117461013-A
CountryUS
Kind codeB2
Filing dateAug 30, 2021
Priority dateMar 25, 2015
Publication dateAug 15, 2023
Grant dateAug 15, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Connected gateway servers relay an electronic message from a first client device to a second client device by storing the message in respective user message queues associated with the sender and/or recipient of the message and then sending the message along a sequence of gateway servers to a gateway server that hosts the second client device. Upon receiving the electronic message at a first gateway server, a second gateway server that is hosting the second client device is identified and a sequence of gateway servers starting at the first gateway server and ending at the second gateway server is determined. Each gateway server in the sequence relays the message to the following gateway server in the sequence while maintaining user message queues. Failure of the last gateway server in the sequence results in the penultimate gateway server in the sequence assuming the responsibility of hosting the second client device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for relaying electronic messages between connected gateway servers, the method comprising: receiving, at a first gateway server of a plurality of gateway servers, an electronic message from a sender associated with a first client device to a recipient associated with a second client device, the second client device being hosted by a second gateway server of the plurality of gateway servers; determining a sequence for the plurality of gateway servers that starts at the first gateway server and ends at the second gateway server; assigning a first chain of the gateway servers in the sequence to the first client device associated with the sender of the electronic message, the first chain starting at the first gateway server and ending at a third gateway server of the sequence that is prior to the second gateway server; and for each of the gateway servers in the sequence, sending the electronic message to a subsequent gateway server in the sequence, storing the electronic message in a respective message queue associated with at least one of the sender or the recipient, and based on expiration of a specified time period, removing the electronic message from the respective message queue and storing a copy of the electronic message in an external storage. 2. The method of claim 1 , further comprising: acknowledging, by each of the gateway servers in the sequence, receipt of the electronic message after receiving the electronic message. 3. The method of claim 2 , further comprising: detecting that a last gateway server in the sequence is not functioning based on the last gateway server failing to acknowledge receipt of the electronic message. 4. The method of claim 3 , further comprising: hosting, based on the detecting, the second client device by a penultimate gateway server in the sequence. 5. The method of claim 1 , further comprising: assigning a second chain of the gateway servers in the sequence to the second client device associated with the recipient of the electronic message, the second chain starting at the gateway server of the sequence that follows the third gateway server in the sequence and ending at the second gateway server; and storing the electronic message in user message queues associated with the sender in the gateway servers of the first chain and storing the electronic message in user message queues associated with the recipient in the gateway servers of the second chain. 6. The method of claim 1 , further comprising: deleting, for each of the gateway servers in the sequence, the electronic message from the external storage based on the electronic message being received at the second client device or a response to the electronic message being sent from the second client device. 7. A non-transitory computer-readable medium comprising instructions, which when executed by a computing device, cause the computing device to perform operations comprising: receiving, at a first gateway server of a plurality of gateway servers, an electronic message from a sender associated with a first client device to a recipient associated with a second client device, the second client device being hosted by a second gateway server of the plurality of gateway servers; determining a sequence for the plurality of gateway servers that starts at the first gateway server and ends at the second gateway server; assigning a first chain of the gateway servers in the sequence to the first client device associated with the sender of the electronic message, the first chain starting at the first gateway server and ending at a third gateway server of the sequence that is prior to the second gateway server; and for each of the gateway servers in the sequence, sending the electronic message to a subsequent gateway server in the sequence, storing the electronic message in a respective message queue associated with at least one of the sender or the recipient, based on expiration of a specified time period, removing the electronic message from the respective message queue and storing a copy of the electronic message in an external storage. 8. The non-transitory computer-readable medium of claim 7 , the operations further comprising: acknowledging, by each of the gateway servers in the sequence, receipt of the electronic message after receiving the electronic message. 9. The non-transitory computer-readable medium of claim 8 , the operations further comprising: detecting that a last gateway server in the sequence is not functioning based on the last gateway server failing to acknowledge receipt of the electronic message. 10. The non-transitory computer-readable medium of claim 9 , the operations further comprising: hosting, based on the detecting, the second client device by a penultimate gateway server in the sequence. 11. The non-transitory computer-readable medium of claim 7 , the operations further comprising: assigning a second chain of the gateway servers in the sequence to the second client device associated with the recipient of the electronic message, the second chain starting at the gateway server of the sequence that follows the third gateway server in the sequence and ending at the second gateway server; and storing the electronic message in user message queues associated with the sender in the gateway servers of the first chain and storing the electronic message in user message queues associated with the recipient in the gateway servers of the second chain. 12. The non-transitory computer-readable medium of claim 7 , the operations further comprising: deleting, for each of the gateway servers in the sequence, the electronic message from the external storage based on the electronic message being received at the second client device or a response to the electronic message being sent from the second client device. 13. A system, comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: detect that an electronic message is received at a first gateway server of a plurality of gateway servers, the electronic message being from a sender associated with a first client device to a recipient associated with a second client device, the second client device being hosted by a second gateway server of the plurality of gateway servers; determining a sequence for the plurality of gateway servers that starts at the first gateway server and ends at the second gateway server; assigning a first chain of the gateway servers in the sequence to the first client device associated with the sender of the electronic message, the first chain starting at the first gateway server and ending at a third gateway server of the sequence that is prior to the second gateway server; and causing each of the gateway servers in the sequence to: send the electronic message to a subsequent gateway server in the sequence, store the electronic message in a respective message queue associated with at least one of the sender or the recipient, based on expiration of a specified time period, remove the electronic message from the respective message queue and store a copy of the electronic message in an external storage. 14. The system of claim 13 , the operations further comprising: acknowledging, by each of the gateway servers in the sequence, receipt of the electronic message after receiving the electronic message. 15. The system of claim 14 , the operations further comprising: detecting that a last gateway server in the sequence is not functioning based on the l

Assignees

Inventors

Classifications

  • Alternate routing · CPC title

  • H04L51/234Primary

    for tracking messages · CPC title

  • H04L45/306Primary

    Route determination based on the nature of the carried application · CPC title

  • Computer-aided management of electronic mailing [e-mailing] · CPC title

  • Performing the actions predefined by failover planning, e.g. switching to standby network elements · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11729129B2 cover?
Connected gateway servers relay an electronic message from a first client device to a second client device by storing the message in respective user message queues associated with the sender and/or recipient of the message and then sending the message along a sequence of gateway servers to a gateway server that hosts the second client device. Upon receiving the electronic message at a first gat…
Who is the assignee on this patent?
Snap Inc
What technology area does this patent fall under?
Primary CPC classification H04L51/234. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 15 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).