IP Library › Granted Patent US 8,446,911
Granted Patent B2
US 8,446,911 · App. 12/780,514 · Granted May 21, 2013

System and method for managing communication for component applications

Inventors: Michael Shenfield (Richmond Hill, CA); Viera Bibr (Killbride, CA); Laura Brindusa Fritsch (Los Altos, CA)
Assignee: Research In Motion Limited
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,446,911
App. No.
12/780,514
Granted
May 21, 2013
Kind
B2
Abstract

An application gateway server is provided for managing communication between an application executing in a runtime environment on a device and at least one backend server. The application gateway server comprises a message listener, a connector subsystem, and a messaging subsystem. The message listener receives messages from the component applications. The connector subsystem comprises a plurality of connectors, each of the plurality of connectors for communicating with one or more associated backend servers. The messaging subsystem comprises a message broker for processing messages received from the message listener and transmitting them to an associated one of the plurality of connectors and a communication mapping for identifying which of the plurality of connectors is to be used for each message in accordance with an origin of the message.

Claims (50)

1. An application gateway server for managing communication between an application executing in a runtime environment on a wireless device and at least one backend server; the application gateway server comprising:

(a) a message listener for receiving messages from the application;

(b) a connector subsystem comprising a plurality of connectors, each of the plurality of connectors for communicating with one or more associated backend servers using required transport protocols;

(c) a lifecycle subsystem for maintaining a list of wireless devices and corresponding applications installed thereon; for use by the application gateway server in ensuring that valid messages are transmitted from the application executing in the runtime environment on the wireless device; and

(d) a messaging subsystem comprising:

(i) a message broker for processing the messages received from the message listener, validating that the application associated with the messages received from the terminal is installed on the terminal and transmitting them to an associated one of the plurality of connectors; and

(ii) memory for storing a communication mapping for identifying a respective one of the plurality of connectors to be used for each respective one of the messages in accordance with the application originating the message.

2. The application gateway server of claim 1 wherein the application is a component application constructed as a series of metadata record using a structure definition language, the metadata records consisting of a number of pre-defined elements representing specific attributes of a resources such that each element can have one or more values.

3. The application gateway server of claim 2 wherein the component application metadata records comprises:

a data component defining data entities used by the component application;

a presentation component to define the appearance and behavior of the component application program as it is displayed by a user interface;

a message component to define a format of messages used by the component application program to communicate with the application gateway server; and

a workflow component for coordinating the execution of the application by the data, presentation and message components.

4. The application gateway server of claim 1 , wherein the lifecycle subsystem is used by the application gateway for verifying the application transmitting the message for inhibiting the installation of malicious component applications.

5. The application gateway server of claim 1 , wherein the lifecycle subsystem is used by the application gateway for verifying the application receiving a message from the backend server for reducing bandwidth used for erroneous messages.

6. The application gateway server of claim 1 , wherein the communication mapping includes details about how to interpret the contents of the message before sending it to the backend servers.

7. The application gateway server of claim 6 , further comprising a transformation subsystem for transforming the message between a compact message format, used to communicate between the wireless device and the application gateway server, and a format and a protocol defined by an internal message format used to communicate elsewhere.

8. A method for managing communication at an application gateway server between component application executing in a runtime environment on a wireless device and at least one backend server, the method comprising:

(a) receiving a messages from the application at a message listener;

(b) mapping the message to a destination backend server in accordance with a predefined communication mapping based on the application originating the message;

(c) validating that the application associated with the message received from the terminal is installed on the terminal using a list of wireless devices and corresponding applications installed thereon;

(d) delivering the message when validated to a connector in accordance with the destination backend server; and

(e) delivering the message to a corresponding one or more of the at least one backend server using transport protocols defined by the connector.

9. The method of claim 8 wherein the application is a component application constructed as a series of metadata record using a structure definition language, the metadata records consisting of a number of pre-defined elements representing specific attributes of a resources such that each element can have one or more values.

10. The method of claim 9 wherein the component application metadata records comprises:

a data component defining data entities used by the component application;

a presentation component to define the appearance and behavior of the component application program as it is displayed by a user interface;

a message component to define a format of messages used by the component application program to communicate with the application gateway server; and

a workflow component for coordinating the execution of the application by the data, presentation and message components.

11. The method of claim 8 , wherein the message is a registration for notification from the component application to a backend server, the method further comprising sending a message to the application indicating whether or not the registration for notification succeeded.

12. The method of claim 8 , further comprising decrypting the message received from the application.

13. The method of claim 8 , further comprising transforming the message between a compact message format used to communicate between the device and the application gateway server and a format and a protocol defined an internal message format used to communicate elsewhere.

14. The method of claim 8 , wherein the delivery of the message to the backend server is synchronous.

15. The method of claim 8 further comprising verifying the application receiving a message from the backend server for reducing bandwidth used for erroneous messages.

16. A communication infrastructure comprising:

a plurality of wireless devices;

a communication network enabling the wireless device to communicate with at least one back end server;

an application gateway server for managing communication between an application executing in a runtime environment on one of the plurality of wireless devices and the at least one backend server, the application gateway server comprising:

(a) a message listener for receiving messages from the application;

(b) a connector subsystem comprising a plurality of connectors, each of the plurality of connectors for communicating with one or more associated backend servers using required transport protocols;

(c) a lifecycle subsystem for maintaining a list of wireless devices and corresponding applications installed thereon; for use by the application gateway server in ensuring that valid messages are transmitted from the application executing in the runtime environment on the wireless device; and

(d) a messaging subsystem comprising:

(i) a message broker for processing the messages received from the message listener, validating that the application associated with the messages received from the terminal is installed on the terminal and transmitting them to an associated one of the plurality of connectors; and

(ii) memory for storing a communication mapping for identifying a respective one of the plurality of connectors to be used for each respective one of the messages in accordance with the application originating the message.

17. The communication infrastructure of claim 16 wherein the application is a component application constructed as a series of metadata record using a structure definition language, the metadata records consisting of a number of pre-defined elements representing specific attributes of a resources such that each element can have one or more values.

18. The communication infrastructure of claim 17 wherein the component application metadata records comprises:

a data component defining data entities used by the component application;

a presentation component to define the appearance and behavior of the component application program as it is displayed by a user interface;

a message component to define a format of messages used by the component application program to communicate with the application gateway server; and

a workflow component for coordinating the execution of the application by the data, presentation and message components.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034143/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: SHENFIELD, MICHAEL; FRITSCH, BRINDUSA; BIBR, VIERA
To: RESEARCH IN MOTION LIMITED
Reel/Frame 027406/0487 →
Continuity (2)
Continuation 11039910 · Jan 24, 2005
Related Publication 20100223560A1 · Sep 2, 2010