IP Library Patent Application 11425875
Patent Application
App. No. 11/425,875

FACILITATING ACCESS TO APPLICATION DATA AT AN APPLICATION SERVER BY A WIRELESS COMMUNICATION DEVICE

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 None
App. No.
11/425,875
Abstract

To facilitate access to application data at an application server by a wireless communication device, a first markup language document describing routines for accessing the data is used to generate a second markup language document. The second document may describe invocations of the routines, data to be passed as parameters to the routines, and circumstances (e.g. arrival of messages from the wireless device) in which the invocations are to occur. The first and second documents may be stored at an intermediary transaction server along with the routines, which may be precompiled in a dynamically linked library. Object-oriented classes may be instantiated based on markup language elements in the second document and customized for performing the invocations based on attributes of the markup language elements. The creator of the second document may be different from the creator of the first document and library, and may be spared from learning application architecture details.

Claims (44)

1 . A method comprising:

based at least in part on a first markup language document describing routines for accessing remote application data, generating a second markup language document describing:

an invocation of one of said routines;

data to be passed as a parameter to said one of said routines; and

circumstances in which said invocation is to occur.

2 . The method of claim 1 further comprising:

based on at least one markup language element of said second markup language document, instantiating an instance of an object-oriented class; and

based on attributes of said at least one markup language element, customizing said instance for performing said invocation.

3 . The method of claim 2 wherein said customizing comprises assigning values of said attributes to data members of said instance that affect said performing of said invocation.

4 . The method of claim 2 wherein said instantiating and said customizing are performed at a server in communication with both of an application server storing at least one application and a wireless communication device.

5 . The method of claim 4 wherein said circumstances comprise receipt of a message from said wireless communication device.

6 . The method of claim 5 wherein said data to be passed as a parameter comprises a portion of said message and wherein said second markup language document identifies said portion of said message.

7 . The method of claim 1 wherein said generating a second markup language document comprises:

presenting a graphical user interface (GUI);

based on user interaction with said GUI, creating said second markup language document.

8 . The method of claim 7 wherein said user interaction with said GUI comprises user creation of a hierarchy of graphical icons using said GUI, each said icon representing an instance of a markup language element of said second markup language document.

9 . The method of claim 8 wherein said GUI limits permissible containment relationships between the icons of said hierarchy in accordance with permissible containment relationships between the markup language elements represented by said icons as dictated by a markup language schema.

10 . The method of claim 1 wherein said routines comprise methods within object-oriented classes of a dynamically linked library, wherein said first markup language document comprises qualified name information identifying said object-oriented classes, and further comprising using said qualified name information to facilitate said invocation.

11 . The method of claim 10 wherein said using said qualified name information to facilitate said invocation comprises employing reflection upon said byte code to obtain a handle to an instance of one of the object-oriented classes identified by said qualified name information.

12 . A machine-readable medium storing code for execution at a computing device, comprising:

machine-executable code for generating, based at least in part on a first markup language document describing routines for accessing remote application data, a second markup language document describing:

an invocation of one of said routines;

data to be passed as a parameter to said one of said routines; and

circumstances in which said invocation is to occur.

13 . The machine-readable medium of claim 12 wherein said machine-executable code for generating said second markup language document comprises:

machine-executable code for presenting a graphical user interface (GUI); and

machine-executable code for creating said second markup language document based on user interaction with said GUI.

14 . The machine-readable medium of claim 13 wherein said user interaction with said GUI comprises user creation of a hierarchy of graphical icons using said GUI, each said icon representing an instance of a markup language element of said second markup language document.

15 . The machine-readable medium of claim 14 wherein said GUI limits permissible containment relationships between the icons of said hierarchy in accordance with permissible containment relationships between the markup language elements represented by said icons as dictated by a markup language schema.

16 . The machine-readable medium of claim 14 wherein said user interaction with said GUI further comprises setting attributes of the markup language elements represented by said icons of said hierarchy.

17 . The machine-readable medium of claim 14 wherein selectable options of said GUI are determined in part by said first markup language document.

18 . The machine-readable medium of claim 17 wherein said selectable options enumerate said routines for accessing remote application data.

19 . The machine-readable medium of claim 12 wherein said routines invoke application programming interface routines of an application at a remote application server.

20 . The machine-readable medium of claim 12 wherein said routines access said application data directly from a database used by an application at a remote application server for storing said application data.

21 . The machine-readable medium of claim 12 wherein said routines comprise precompiled routines in a dynamically linked library.

22 . The machine-readable medium of claim 21 wherein said dynamically linked library comprises byte code and wherein said routines comprise methods within object-oriented classes described by said byte code.

23 . The machine-readable medium of claim 22 wherein said first markup language document comprises qualified name information identifying said object-oriented classes and further comprising using said qualified name information to facilitate said invocation.

24 . The machine-readable medium of claim 23 wherein said using said qualified name information to facilitate said invocation comprises employing reflection upon said byte code to obtain a handle to an instance of one of the object-oriented classes identified by said qualified name information.

25 . A machine-readable medium storing code for execution at a computing device, comprising:

machine-executable code for instantiating an instance of an object-oriented class, said instantiating being based on at least one markup language element of a markup language document describing an invocation of a routine for accessing remote application data, data to be passed as a parameter to said routine, and circumstances in which said invocation is to occur; and

machine-executable code for customizing, based on attributes of said at least one markup language element, said instance for performing said invocation.

26 . The machine-readable medium of claim 25 wherein said machine-executable code for customizing comprises machine-executable code for assigning values of said attributes to data members of said instance that affect said performing of said invocation.

27 . The machine-readable medium of claim 25 wherein said computing device is a server and wherein said circumstances comprise receipt of a message from a wireless communication device in communication with said server.

28 . The machine-readable medium of claim 27 wherein said data to be passed as a parameter comprises a portion of said message and wherein said second markup language document identifies said portion of said message.

Assignments (4)
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 Jun 12, 2011
From: NEXTAIR CORPORATION
To: RESEARCH IN MOTION LIMITED
Reel/Frame 026430/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2008
From: NEIL, TIM; NEIL, SCOTT; GRENIER, STEVE
To: NEXTAIR CORPORATION
Reel/Frame 020881/0355 →