IP Library Granted Patent US 7,805,729
Granted Patent B2
US 7,805,729 · App. 11/237,010 · Granted Sep 28, 2010

System and method for an extendable mobile communications device user interface

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 7,805,729
App. No.
11/237,010
Granted
Sep 28, 2010
Kind
B2
Abstract

A system and method for an extendable software interface includes a software architecture for use in a mobile device having a processor and a memory device. The software architecture includes a set of first-order controller software instructions configured to interface the application program with a first-order data model, and a first-order data object stored in the memory device in the form of the first-order data model. The first-order data object includes a second-order data object. A second-order set of controller software instructions configured to interact with the second-order data object is also included in the software architecture.

Claims (55)

1. A mobile device having a processor, a memory device, and a software architecture, the software architecture comprising:

first-order controller software instructions configured to interface an application program executed by the processor with a first-order data model;

a first-order data object stored in the memory device in the form of the first-order data model, the first-order data object including a second-order data object;

second-order controller software instructions configured to interact with the second-order data object.

2. The mobile device of claim 1 , wherein:

a plurality of application programs are stored in the memory device and executed by the processor;

the first-order controller software instructions are configured to utilize the first-order controller software instructions to communicate with each of the application programs; and

the second-order controller software instructions are configured to interface the second-order object with each of the application programs.

3. The mobile device of claim 1 , wherein:

a plurality of first-order data objects each of a different type are stored in the memory device; and

each first-order controller is configured to interface the application program with one of a plurality of first-order data models, wherein (1) each first-order data model is configured to interface with one type of first-order data object, and (2) each first-order controller utilizes the first-order controller software instructions to communicate with the application program.

4. The mobile device of claim 1 , wherein:

the first-order data object includes a plurality of second-order data objects of different types; and

each second-order controller is configured to interface the application program with one type of second-order object.

5. The mobile device of claim 1 , wherein the first-order controller software instructions utilize a plurality of generic interfaces to communicate with the application program.

6. The mobile device of claim 1 , wherein the second-order controller software instructions are executed from within the first-order controller.

7. The mobile device of claim 1 , wherein:

the first-order data model is also configured to interact with the second-order object; and

the second-order controller software instructions are configured to interface the application program with the first-order data model.

8. The mobile device of claim 7 , wherein the second-order controller software instructions utilize a generic interface to communicate with the application program.

9. The mobile device of claim 7 , wherein the second-order controller software instructions utilize a generic interface to communicate with the first-order controller.

10. The mobile device of claim 1 , wherein the second-order controller software instructions are configured to interface the application program with a second-order data model configured to interact with the second-order object.

11. The mobile device of claim 10 , wherein the second-order controller software instructions utilize a generic interface to communicate with the application program.

12. The mobile device of claim 10 , wherein the second-order controller software instructions utilize a generic interface to communicate with the first-order controller software instructions.

13. The mobile device of claim 1 , wherein more than one instance of a data model may be executing at the same time.

14. The mobile device of claim 1 , wherein each controller software instructions and corresponding data model are constructed using a JAVA® compiler.

15. The mobile device of claim 1 , wherein one of the first-order or second-order controller software instructions are configured to interface the application program with an e-mail message data model configured to interact with e-mail message data objects stored in the memory device by an e-mail messaging application.

16. The mobile device of claim 1 , wherein one of the first-order or second-order controller software instructions are configured to interface the application program with an address book data model configured to interact with address book data objects stored in the memory device by an address book application.

17. The mobile device of claim 1 , wherein one of the first-order or second-order controller software instructions are configured to interface the application program with a calendar entry data model configured to interact with calendar data objects stored in the memory device by a calendar application.

18. The mobile device of claim 1 , wherein one of the first-order or second-order controller software instructions are configured to interface the application program with a task list data model configured to interact with task list data objects items stored in the memory device by a task application.

19. The mobile device of claim 1 , wherein one of the first-order or second-order controller software instructions are configured to interface the application program with a memo data model configured to interact with memo data objects stored in the memory device by a memo application.

20. The mobile device of claim 1 , further comprising one or more generic interfaces that enable the first-order and second-order controller software instructions to interface with an application program installed on the mobile device that supports the one or more generic interfaces.

21. The mobile device of claim 20 , wherein each generic interface is also configured to query each of the first-order and second-order controller software instructions to determine whether the first-order and second order controller software instructions support the operation performed by the generic interface.

22. The mobile device of claim 1 , further comprising one or more generic interfaces, wherein each generic interface is configured to perform an operation with any arbitrary data object.

23. The mobile device of claim 1 , further comprising one or more generic interfaces, wherein the one or more generic interfaces include a paint provider interface for painting a data object into the application program.

24. The mobile device of claim 1 , further comprising one or more generic interfaces, wherein the one or more generic interfaces include a field provider interface for providing the application program with one or more fields from a data object.

25. The mobile device of claim 1 , further comprising one or more generic interfaces, wherein the one or more generic interfaces include a verb provider interface for providing the application program with one or more functions specific to a data object.

26. The mobile device of claim 1 , wherein one or more data objects are logged in a persisted list when stored in the memory device.

27. The mobile device of claim 1 , wherein only one instance of each controller software instructions is executing at one time.

28. A mobile device having a processor, a memory device, and a software architecture, the software architecture comprising:

means for interfacing an application program executed by the processor with a first-order data model;

a first-order data object stored in the memory device in the form of the first-order data model, the first-order data object including a second-order data object;

means for interacting with the second-order data object.

29. A software architecture for use in a mobile device having a processor and a memory device, comprising:

a plurality of sets of controller software instructions, each set of controller software instructions being configured to interface one or more application programs with one or more data models;

each set of controller software instructions being specific to one or more particular data models;

each set of controller software instructions being associated with a plurality of generic interfaces, and utilizing one of the plurality of generic interfaces to communicate with the application programs.

30. The software architecture of claim 29 , wherein one set of controller software instructions is configured to interface an application program with an e-mail message data model configured to interact with e-mail message data objects stored in a memory device by an e-mail messaging application.

31. The software architecture of claim 29 , wherein one set of controller software instructions is configured to interface an application program with an address book data model configured to interact with address book data objects stored in a memory device by an address book application.

32. The software architecture of claim 29 , wherein one set of controller software instructions is configured to interface an application program with a calendar entry data model configured to interact with calendar data objects stored in a memory device by a calendar application.

33. The software architecture of claim 29 , wherein one set of controller software instructions is configured to interface an application program with a task list data model configured to interact with task list data objects stored in a memory device by a task application.

34. The software architecture of claim 29 , wherein one set of controller software instructions is configured to interface an application program with a memo data model configured to interact with memo data objects stored in a memory device by a memo application.

35. The software architecture of claim 29 , wherein one or more of the plurality of generic interfaces includes a paint provider interface for painting a data object into an application program.

36. The software architecture of claim 29 , wherein one or more of the plurality of generic interfaces includes a field provider interface for providing an application program with one or more fields from a data object.

37. The software architecture of claim 29 , wherein one or more of the plurality of generic interfaces includes a verb provider interface for providing an application program with one or more functions specific to a data object.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/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 Jan 28, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034827/0502 →