IP Library Granted Patent US 8,234,345
Granted Patent B2
US 8,234,345 · App. 12/627,668 · Granted Jul 31, 2012

Preserving a messaging service in a highly available environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,234,345
App. No.
12/627,668
Granted
Jul 31, 2012
Kind
B2
Abstract

A system receives an identifier for a temporary destination in response to messaging software at a client requesting that a messaging server create the temporary destination. The messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software. The identifier is logged. A disconnection from the messaging server is detected. A second request for a temporary destination is created. The identifier is indicated in the second request. The second request indicating the identifier is transmitted to the messaging server to preserve a messaging service in a highly available environment.

Claims (74)

1. A method comprising:

receiving an identifier for a temporary destination in response to a messaging software at

a client issuing a first request that a messaging server create the temporary destination, wherein the messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software;

logging the identifier;

detecting disconnection from the messaging server;

creating a second request that the messaging server create a temporary destination in

response to said detecting disconnection from the messaging server;

indicating the identifier in the second request; and

transmitting the second request indicating the identifier to the messaging server to

preserve a messaging service in a highly available environment;

the messaging server determining that the temporary destination has not been destroyed; and

reassociating the client with the temporary destination.

2. The method of claim 1 , further comprising:

the messaging server determining that the temporary destination has been destroyed;

creating a new temporary destination in response to the second request;

associating the new temporary destination with the identifier; and

associating the client as owner of the new temporary destination.

3. The method of claim 2 , wherein the disconnection occurs due to a failure of a prior messaging server.

4. The method of claim 1 , wherein the disconnection occurs due to a network error.

5. The method of claim 1 , wherein said detecting disconnection from the messaging server comprises receiving a notification of the disconnection from the messaging server.

6. The method of claim 1 , wherein said indicating the identifier in the second request comprises a collator writes the identifier into the second request.

7. A computer program product for preserving a messaging service in a highly available environment, the computer program product comprising:

a computer readable storage device having computer readable program code embodied therewith, the computer readable program code configured to:

determine that a messaging software at a client was disconnected from a messaging server that supports the messaging service;

receive a request from the messaging software for a temporary destination, wherein the request indicates a temporary location identifier;

determine if a temporary location identified by the temporary location identifier has been destroyed;

if the temporary location has been destroyed,

create a new temporary location;

assign the temporary location identifier to the new temporary location;

associate the client as owner of the new temporary location;

if the temporary location has not been destroyed,

re-associate the client as owner of the temporary location.

8. The computer program product of claim 7 , wherein the computer readable program code is further configured to:

receive an initial request for a temporary location from the messaging software prior to the client being disconnected;

create the temporary location in response to the initial request;

generate the identifier;

assign the identifier to the temporary location;

associate the client as owner of the temporary location; and

communicate the identifier to the messaging software.

9. The computer program product of claim 8 , wherein the client was disconnected due to a network error.

10. The computer program product of claim 7 , wherein the client was disconnected due to a failure of another messaging server.

11. A computer program product for preserving a messaging service in a highly available environment, the computer program product comprising:

a computer readable storage device having computer readable program code embodied therewith, the computer readable program code configured to:

receive an identifier for a temporary destination in response to a messaging software at a client issuing a first request that a messaging server create the temporary destination, wherein the messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software;

log the identifier;

detect disconnection from the messaging server;

create a second request that the messaging server create a temporary destination in response to a detection of said disconnection from the messaging server;

indicate the identifier in the second request; and

transmit the second request indicating the identifier to the messaging server;

determine that the temporary destination has not been destroyed; and

reassociate the client with the temporary destination.

12. The computer program product of claim 11 , wherein the computer readable program code configured to detect disconnection from the messaging server comprises the computer readable program code being configured to receive a notification of the disconnection from the messaging server.

13. The computer program product of claim 11 , wherein the disconnection occurs due to one of a network error and a failure of a prior messaging server.

14. An apparatus comprising:

a processor;

a network interface;

a messaging server operable to,

determine that a messaging software at a client was disconnected from the messaging server that supports a messaging service;

receive a request from the messaging software for a temporary destination, wherein the request indicates a temporary location identifier;

determine if a temporary location identified by the temporary location identifier has been destroyed;

if the temporary location has been destroyed,

create a new temporary location;

assign the temporary location identifier to the new temporary location;

associate the client as owner of the new temporary location;

if the temporary location has not been destroyed,

re-associate the client as owner of the temporary location.

15. The apparatus of claim 14 , wherein the messaging server is further operable to:

receive an initial request for a temporary location from the messaging software prior to the client being disconnected;

create the temporary location in response to the initial request;

generate the identifier;

assign the identifier to the temporary location;

associate the client as owner of the temporary location; and

communicate the identifier to the messaging software.

16. The apparatus of claim 14 further comprising a computer readable medium that embodies the messaging server.

Assignments (3)
CHANGE OF NAME Recorded Dec 6, 2018
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 047688/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SNAPCHAT, INC.
Reel/Frame 037573/0170 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2009
From: SCHOFIELD, ANDREW J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 023584/0217 →