APPARATUS, SYSTEM, AND METHOD FOR IMPROVED PERFORMANCE OF REAL TIME APPLICATIONS IN INTERMITTENT CONNECTION ENVIRONMENTS
First Claim
1. A computer implemented method for a broker to distribute events to application instances that are connected with the broker by an intermittent connection, the method comprising:
- receiving events from a first application instance that is connected to the broker by a persistent connection;
locally queuing the events received from the first application instance;
checking a connectivity status of the intermittent connection between the broker and a second application instance; and
sending the locally queued events to the second application instance over the intermittent connection in response to the connection status between the broker and the second application instance being active.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for distributing events between application instances that are connected by intermittent connections. The application instances are provided with brokers that communicate with each other and their respective application instances according to an interface. The application instances provide events to the brokers, which forward them to the other brokers in the system. If a particular broker cannot be reached, the broker queues the events in a local data store, monitors the connection, and sends them once the connection is reestablished. The broker similarly receives events generated by the application instance associated with the remote broker that could not be communicated while the connection was inactive. As a result, users in the system are provided with a best possible and most complete state of the entire application that is available given the connection statuses in the system at a given time.
-
Citations
20 Claims
-
1. A computer implemented method for a broker to distribute events to application instances that are connected with the broker by an intermittent connection, the method comprising:
-
receiving events from a first application instance that is connected to the broker by a persistent connection; locally queuing the events received from the first application instance; checking a connectivity status of the intermittent connection between the broker and a second application instance; and sending the locally queued events to the second application instance over the intermittent connection in response to the connection status between the broker and the second application instance being active. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A broker to distribute events to application instances that are connected with the broker by an intermittent connection, the broker comprising:
-
an events module for receiving events from a first application instance that is connected to the broker by a persistent connection; a queue module for locally queuing the events received from the first application instance; a connections module for checking a connectivity status of the intermittent connection between the broker and a second application instance; and a send module for sending the locally queued events to the second application instance over the intermittent connection in response to the connection status between the broker and the second application instance being active. - View Dependent Claims (11, 12, 13)
-
-
14. A system to distribute events to application instances that are connected with one or more brokers by intermittent connections, the system comprising:
-
a first broker connected to a first application instance by a first persistent connection, the first broker comprising; an events module for receiving events from the first application instance; a queue module for locally queuing the events received from the first application instance; a connections module for checking a connectivity status of an intermittent connection between the first broker and a second broker; a send module for sending the locally queued events to the second broker over the intermittent connection in response to the connection status between the first broker and the second broker being active; a receipt module for receiving remotely queued events from the second broker over the intermittent connection in response to the connection status between the first broker and the second broker being active; the intermittent connection connecting the first broker and the second broker; and the second broker connected to a second application instance by a second persistent connection, the second broker comprising; an events module for receiving events from the second application instance; a queue module for locally queuing the events received from the second application instance; a connections module for checking a connectivity status of an intermittent connection between the first broker and a second broker; a send module for sending the locally queued events to the first broker over the intermittent connection in response to the connection status between the first broker and the second broker being active; a receipt module for receiving remotely queued events from the first broker over the intermittent connection in response to the connection status between the first broker and the second broker being active. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer program product stored on a computer readable storage medium and comprising operations for a broker to distribute events generated by an application instance connected to the broker by a persistent connection with a remote broker connected to the broker by a mobile connection, the operations comprising:
-
the broker receiving events from the first application instance that is connected to the broker by the persistent connection; the broker locally queuing those events received from the first application instance that have not been successfully transmitted to the remote broker over the mobile connection; the broker checking a connectivity status of the mobile connection between the broker and a remote broker at predefined intervals; the broker sending, to the remote broker, the locally queued events that have not been successfully transmitted previously over the mobile connection in response to the connection status between the broker and the remote broker being active; and the broker receiving, from the remote broker, remotely queued events that the broker had not successfully received previously over the mobile connection in response to the connection status between the broker and the remote broker being active.
-
Specification