IP Library Granted Patent US 11,106,805
Granted Patent B2
US 11,106,805 · App. 15/288,897 · Granted Aug 31, 2021

Generating unified data on an electronic device

Inventors: Mark Justin Flanigan (Ottawa, CA); Linda Marie Damus (Ottawa, CA); Chad Robert Ford Furniss (Kitchener, CA); Geordon Thomas Ferguson (Mississauga, CA); Francis Patrick Judge (Andover, MA)
Assignee: BlackBerry Limited
G06F21/606G06F9/541G06F21/6209
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 11,106,805
App. No.
15/288,897
Granted
Aug 31, 2021
Kind
B2
Abstract

Systems, methods, and software can be used to generate unified data on an electronic device. In some aspects, a request for unified data is received at a unified content provider and from an application. Both the unified content provider and the application are associated with a first container on an electronic device. The requested unified data is determined to include data associated with a second container on the electronic device. A request for the data associated with the second container is sent. The data associated with the second container is received. The unified data is generated based on the data associated with the second container and data associated with the first container. The generated unified data is sent to the application.

Claims (50)

1. A method, comprising:

receiving, at a unified content provider and from an application, a request for unified data, wherein both the unified content provider and the application are included in a first container on an electronic device, the unified content provider generates unified data based on data from different containers, and the unified content provider is different from the application;

determining, by the unified content provider, that the requested unified data includes data associated with a second container on the electronic device, wherein the first container and the second container are different containers;

sending, from the unified content provider to a first hybrid agent associated with the first container, a request for the data associated with the second container;

receiving, at the unified content provider and from the first hybrid agent, the data associated with the second container;

receiving, at the unified content provider and from a different content provider, data associated with the first container, wherein both the unified content provider and the different content provider are included in the first container, the different content provider provides data within the first container, and the different content provider is different from the unified content provider and is different from the application;

generating, by the unified content provider, the unified data based on the data associated with the second container and the data associated with the first container, wherein the generating the unified data by the unified content provider comprises: sorting, by the unified content provider, the data associated with the first container and the data associated with the second container together; and

sending the generated unified data to the application.

2. The method of claim 1 , further comprising:

sending a second request from the first hybrid agent to a second hybrid agent associated with the second container for the data associated with the second container; and

receiving, at the first hybrid agent, the data associated with the second container from the second hybrid agent.

3. The method of claim 2 , wherein the second hybrid agent determines that the unified content provider is authorized to receive the data associated with the second container based on a security policy.

4. The method of claim 1 , wherein generating the unified data comprises performing a merging operation on the data associated with the first container and the data associated with the second container using a merger cursor.

5. The method of claim 1 , wherein the sorting is performed using a sorting cursor.

6. The method of claim 1 , wherein the first container comprises a personal container and the second container comprises an enterprise container.

7. The method of claim 1 , wherein the first container comprises an enterprise container and the second container comprises a personal container.

8. An electronic device, comprising:

a hardware processor;

memory storing a unified content provider and an application that are included in a first container on the electronic device, the unified content provider being different from the application, a first hybrid agent associated with the first container, and a second hybrid agent associated with a second container on the electronic device, wherein the first container and the second container are different containers; and

the unified content provider comprising computer-readable instructions that, when executed by the hardware processor, cause the hardware processor to:

receive, from the application, a request for unified data;

determine, by the unified content provider, that the requested unified data includes data associated with the second container on the electronic device;

send, to the first hybrid agent, a request for the data associated with the second container;

receive, from the first hybrid agent, the data associated with the second container;

receive, from a different content provider, data associated with the first container, wherein both the unified content provider and the different content provider are included in the first container, the different content provider provides data within the first container, and the different content provider is different from the unified content provider and is different from the application;

generate by the unified content provider, the unified data based on the data associated with the second container and the data associated with the first container, wherein the generation of the unified data by the unified content provider comprises: sorting, by the unified content provider, the data associated with the first container and the data associated with the second container together; and

send the generated unified data to the application.

9. The electronic device of claim 8 , wherein the computer-readable instructions, when executed by the hardware processor, further cause the hardware processor to:

send a second request from the first hybrid agent to a second hybrid agent associated with the second container for the data associated with the second container; and

receive, at the first hybrid agent, the data associated with the second container from the second hybrid agent.

10. The electronic device of claim 9 , wherein the second hybrid agent determines that the unified content provider is authorized to receive the data associated with the second container based on a security policy.

11. The electronic device of claim 8 , wherein generating the unified data comprises performing a merging operation on the data associated with the first container and the data associated with the second container using a merger cursor.

12. The electronic device of claim 8 , wherein the sorting is performed using a sorting cursor.

13. The electronic device of claim 8 , wherein the first container comprises a personal container and the second container comprises an enterprise container.

14. The electronic device of claim 8 , wherein the first container comprises an enterprise container and the second container comprises a personal container.

15. One or more non-transitory computer-readable media containing instructions which, when executed, cause an electronic device to perform operations comprising:

receiving, at a unified content provider and from an application, a request for unified data, wherein both the unified content provider and the application are included in a first container on the electronic device, the unified content provider generates unified data based on data from different containers, and the unified content provider is different from the application;

determining, by the unified content provider, that the requested unified data includes data associated with a second container on the electronic device, wherein the first container and the second container are different containers;

sending, from the unified content provider to a first hybrid agent associated with the first container, a request for the data associated with the second container;

receiving, at the unified content provider and from the first hybrid agent, the data associated with the second container;

receiving, at the unified content provider and from a different content provider, data associated with the first container, wherein both the unified content provider and the different content provider are included in the first container, the different content provider provides data within the first container, and the different content provider is different from the unified content provider and is different from the application;

generating, by the unified content provider, the unified data based on the data associated with the second container and the data associated with the first container, wherein the generating the unified data by the unified content provider comprises: sorting, by the unified content provider, the data associated with the first container and the data associated with the second container together; and

sending the generated unified data to the application.

16. The one or more non-transitory computer-readable media of claim 15 , the operations further comprising:

sending a second request from the first hybrid agent to a second hybrid agent associated with the second container for the data associated with the second container; and

receiving, at the first hybrid agent, the data associated with the second container from the second hybrid agent.

17. The one or more non-transitory computer-readable media of claim 16 , wherein the second hybrid agent determines that the unified content provider is authorized to receive the data associated with the second container based on a security policy.

18. The one or more non-transitory computer-readable media of claim 15 , wherein generating the unified data comprises performing a merging operation on the data associated with the first container and the data associated with the second container using a merger cursor.

19. The one or more non-transitory computer-readable media of claim 15 , wherein the sorting is performed using a sorting cursor.

20. The one or more non-transitory computer-readable media of claim 15 , wherein the first container comprises a personal container and the second container comprises an enterprise container.

Assignments (7)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Sep 16, 2017
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 043870/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2017
From: BLACKBERRY CORPORATION
To: BLACKBERRY LIMITED
Reel/Frame 042611/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2017
From: FLANIGAN, MARK JUSTIN; FURNISS, CHAD ROBERT FORD; FERGUSON, GEORDON THOMAS
To: BLACKBERRY LIMITED
Reel/Frame 042548/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2017
From: DAMUS, LINDA
To: RESEARCH IN MOTION LIMITED
Reel/Frame 042548/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2017
From: JUDGE, FRANCIS PATRICK
To: BLACKBERRY CORPORATION
Reel/Frame 042548/0298 →
Continuity (1)
Related Publication 20180101422A1 · Apr 12, 2018