Transport agnostic pull mode messaging service
First Claim
Patent Images
1. A system for transport agnostic pull mode messaging comprising:
- a plurality of first clients of a user, each first client for sending a corresponding first message to a corresponding first adapter using a corresponding first communication protocol, receiving a corresponding response from the corresponding first adapter using the corresponding first communication protocol indicating that the corresponding first message was received, and resending the corresponding first message to the corresponding first adapter using the corresponding first communication protocol if the response from the corresponding first adapter is not received within a predetermined time period, the corresponding first message being destined for a common server engine, specifying particular ones of electronic communications to the user as already received and stored by the common server engine, and also specifying an endpoint comprising another, differing first client of the user;
the corresponding first adapter for each first client, each corresponding first adapter receiving the corresponding first message and sending the response to the corresponding first client using the corresponding first communication protocol indicating that the corresponding first message was received, generating a corresponding second message based on the corresponding first message, and sending the corresponding second message to the common server engine using a common second communication protocol;
the common server engine for;
receiving each corresponding second message and executing at least one instruction based on the received corresponding second message, the at least one executed instruction including a query derived from the corresponding second message for the particular ones of electronic communications to the user as specified in the corresponding first message and as already received and stored by the common server engine;
retrieving from a storage device the particular ones of the electronic communications to the user according to the query and sending the retrieved electronic communications to the endpoint as specified in the corresponding first message, the endpoint being identified by the user in the corresponding first message by way of an identifier of the endpoint; and
determining the endpoint from the identifier thereof from the corresponding second message and storing the retrieved electronic communications in a queue corresponding to the determined endpoint, the determined endpoint accessing the queue and pulling the stored electronic communications therefrom; and
a message storage for storing data associated with each corresponding second message,the corresponding first communication protocol corresponding to each corresponding first client being different from the first communications protocol corresponding to every other first client, each corresponding first adapter being constructed to communicate with the corresponding first client according to the corresponding and differing first communication protocol, every first adapter being constructed to communicate with the common server engine according to the common second communication protocol, each corresponding first adapter being local to the common server engine and remote from the corresponding first client.
3 Assignments
0 Petitions
Accused Products
Abstract
Transport agnostic pull mode messaging service enables clients of diverse types to send and receive messages to one another while guaranteeing delivery of messages. Client specific adapters connect to a server and pull messages waiting for them in a queue. Clients may specify themselves as the recipients of the pulled messages, or specify another client as a recipient. This allows users of diverse types of clients to communicate and provides users with greater flexibility regarding how, when, and where they view their messages.
16 Citations
25 Claims
-
1. A system for transport agnostic pull mode messaging comprising:
-
a plurality of first clients of a user, each first client for sending a corresponding first message to a corresponding first adapter using a corresponding first communication protocol, receiving a corresponding response from the corresponding first adapter using the corresponding first communication protocol indicating that the corresponding first message was received, and resending the corresponding first message to the corresponding first adapter using the corresponding first communication protocol if the response from the corresponding first adapter is not received within a predetermined time period, the corresponding first message being destined for a common server engine, specifying particular ones of electronic communications to the user as already received and stored by the common server engine, and also specifying an endpoint comprising another, differing first client of the user; the corresponding first adapter for each first client, each corresponding first adapter receiving the corresponding first message and sending the response to the corresponding first client using the corresponding first communication protocol indicating that the corresponding first message was received, generating a corresponding second message based on the corresponding first message, and sending the corresponding second message to the common server engine using a common second communication protocol; the common server engine for; receiving each corresponding second message and executing at least one instruction based on the received corresponding second message, the at least one executed instruction including a query derived from the corresponding second message for the particular ones of electronic communications to the user as specified in the corresponding first message and as already received and stored by the common server engine; retrieving from a storage device the particular ones of the electronic communications to the user according to the query and sending the retrieved electronic communications to the endpoint as specified in the corresponding first message, the endpoint being identified by the user in the corresponding first message by way of an identifier of the endpoint; and determining the endpoint from the identifier thereof from the corresponding second message and storing the retrieved electronic communications in a queue corresponding to the determined endpoint, the determined endpoint accessing the queue and pulling the stored electronic communications therefrom; and a message storage for storing data associated with each corresponding second message, the corresponding first communication protocol corresponding to each corresponding first client being different from the first communications protocol corresponding to every other first client, each corresponding first adapter being constructed to communicate with the corresponding first client according to the corresponding and differing first communication protocol, every first adapter being constructed to communicate with the common server engine according to the common second communication protocol, each corresponding first adapter being local to the common server engine and remote from the corresponding first client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for transport agnostic pull mode messaging comprising, with respect to each of a plurality of clients of a user:
-
sending a corresponding first message from a first client of the user to a corresponding adapter using a corresponding first communication protocol, the corresponding first message being destined for a common server engine, specifying particular ones of electronic communications to the user as already received and stored by the common server engine, and also specifying an endpoint comprising another, differing first client of the user; receiving the corresponding first message at the corresponding adapter; sending a response to the corresponding first message from the corresponding adapter to the first client using the corresponding first communication protocol, the response to the corresponding first message indicating that the corresponding first message was received; receiving the response to the corresponding first message at the first client; resending the corresponding first message from the first client to the corresponding adapter if the response to the corresponding first message from the corresponding adapter is not received at the first client within a predetermined time period; generating a corresponding second message at the corresponding adapter based on and corresponding to the corresponding first message; sending the corresponding second message from the corresponding adapter to the common server engine using a common second communication protocol; and executing at least one instruction at the common server engine based on the corresponding second message, the at least one executed instruction including a query derived from the corresponding second message for the particular ones of electronic communications to the user as specified in the corresponding first message and as already received and stored by the common server engine, the at least one executed instruction retrieving from a storage device the particular ones of the electronic communications to the user according to the query and sending the retrieved electronic communications to the endpoint as specified in the corresponding first message, the endpoint being identified by the user in the corresponding first message by way of an identifier of the endpoint, the common server engine for determining the endpoint from the identifier thereof from the corresponding second message and storing the retrieved electronic communications in a queue corresponding to the determined endpoint, the determined endpoint accessing the queue and pulling the stored electronic communications therefrom; the corresponding first communication protocol corresponding to each client being different from the corresponding first communications protocol corresponding to every other client, each corresponding adapter being constructed to communicate with the corresponding client according to the corresponding and differing first communication protocol, every adapter being constructed to communicate with the common server engine according to the common second communication protocol, each corresponding adapter being local to the common server engine and remote from the corresponding client. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification