IP Library Granted Patent US 11,914,667
Granted Patent B2
US 11,914,667 · App. 17/669,141 · Granted Feb 27, 2024

Managing multi-dimensional array of data definitions

Inventors: Shou-Chieh Chao (Vancouver, CA); Sanam Narula (Vancouver, CA); Nathan Wang (Coquitlam, CA); Walter Mak (North Vancouver, CA); Tsz Hong Sung (Richmond, CA)
Assignee: BUSINESS OBJECTS SOFTWARE LTD
G06F16/9574G06F16/2237G06F16/2264G06F16/904G06F40/103G06T11/206
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,914,667
App. No.
17/669,141
Granted
Feb 27, 2024
Kind
B2
Abstract

Some embodiments provide a program. The program receives a visualization collection definition specifying a plurality of visualization definitions for a plurality of visualization definitions. Each visualization definition in the plurality of visualization definitions specifies a multi-dimensional array of data definition. The program further identifies a set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition. The program also sends a request for the set of multi-dimensional array of data definitions to a computing system. The program further receives the set of multi-dimensional array of data definitions from the computing system. The program also stores the set of multi-dimensional array of data definitions in a cache storage of the mobile device for later use.

Claims (70)

1. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a mobile device, the program comprising sets of instructions for:

receiving a visualization collection definition specifying a plurality of visualizations and a plurality of visualization definitions for the plurality of visualizations each visualization definition in the plurality of visualization definitions specifies a multi-dimensional array of data definition;

identifying a set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition;

sending a first request for the set of multi-dimensional array of data definitions to a computing system;

receiving the set of multi-dimensional array of data definitions from the computing system;

storing the set of multi-dimensional array of data definitions in a cache storage of the mobile device for later use in rendering a visualization based on the multi-dimensional array of data definition;

receiving a second request from a webview for a multi-dimensional array of data definition in the set of multi-dimensional array of data definitions;

retrieving the multi-dimensional array of data definition from the cache storage; and

sending the webview the multi-dimensional array of data definition in order for the webview to render a visualization based on the multi-dimensional array of data definition.

2. The non-transitory machine-readable medium of claim 1 , wherein the visualization collection definition specifies a plurality of pages, each page in the plurality of pages specifying a set of visualizations in the plurality of visualizations, wherein the identified set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition are multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a page in the plurality of pages of the visualization collection definition.

3. The non-transitory machine-readable medium of claim 2 , wherein the set of multi-dimensional array of data definitions is a first set of multi-dimensional array of data definitions, wherein the page in the plurality of pages is a first page in the plurality of pages, wherein the program further comprises sets of instructions for:

identifying a second set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a second page in the plurality of pages of the visualization collection definition;

sending a request for the second set of multi-dimensional array of data definitions to the computing system, receiving the second set of multi-dimensional array of data definitions from the computing system; and

storing the second set of multi-dimensional array of data definitions in the cache storing of the mobile device for later use.

4. The non-transitory machine-readable medium of claim 3 , wherein the second set of multi-dimensional array of data definitions includes multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a second page in the plurality of pages of the visualization collection definition other than multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in the first page in the plurality of pages.

5. The non-transitory machine-readable medium of claim 1 , wherein the program further comprises sets of instructions for:

receiving a request to refresh the visualization collection;

in response to the request to refresh the visualization collection, sending a third request for multi-dimensional array of data definitions in the set of multi-dimensional array of data definitions that have been updated to the computing system;

receiving updated multi-dimensional array of data definitions from the computing system; and

updating respective multi-dimensional array of data definitions stored in the cache storage with the updated multi-dimensional array of data definitions.

6. The non-transitory machine-readable medium of claim 1 , wherein sending the request for the set of multi-dimensional array of data definitions to the computing system comprises sending the request to the computing system using a single network request.

7. The non-transitory machine-readable medium of claim 1 , wherein each visualization definition of the plurality of visualization definitions specifies a corresponding data source, and wherein the program further comprises sets of instructions for:

checking whether the cache storage contains a visualization definition that specifies a same data source and a same multi-dimensional array of data as a visualization definition for the visualization previously processed by webview.

8. A method, executable by a mobile device, comprising:

receiving a visualization collection definition specifying a plurality of visualizations and a plurality of visualization definitions for the plurality of visualizations, each visualization definition in the plurality of visualization definitions specifies a multi-dimensional array of data definition;

identifying a set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition;

sending a first request for the set of multi-dimensional array of data definitions to a computing system;

receiving the set of multi-dimensional array of data definitions from the computing system;

storing the set of multi-dimensional array of data definitions in a cache storage of the mobile device for later use in rendering a visualization based on the multi-dimensional array of data definition;

receiving a second request from a webview for a multi-dimensional array of data definition in the set of multi-dimensional array of data definitions;

retrieving the multi-dimensional array of data definition from the cache storage; and

sending the webview the multi-dimensional array of data definition in order for the webview to render a visualization based on the multi-dimensional array of data definition.

9. The method of claim 8 , wherein the visualization collection definition specifies a plurality of pages, each page in the plurality of pages specifying a set of visualizations in the plurality of visualizations, wherein the identified set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition are multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a page in the plurality of pages of the visualization collection definition.

10. The method of claim 9 , wherein the set of multi-dimensional array of data definitions is a first set of multi-dimensional array of data definitions, wherein the page in the plurality of pages is a first page in the plurality of pages, wherein the method further comprises:

identifying a second set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a second page in the plurality of pages of the visualization collection definition;

sending a request for the second set of multi-dimensional array of data definitions to the computing system, receiving the second set of multi-dimensional array of data definitions from the computing system; and

storing the second set of multi-dimensional array of data definitions in the cache storing of the mobile device for later use.

11. The method of claim 10 , wherein the second set of multi-dimensional array of data definitions includes multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a second page in the plurality of pages of the visualization collection definition other than multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in the first page in the plurality of pages.

12. The method of claim 8 , wherein the method further comprises:

receiving a request to refresh the visualization collection;

in response to the request to refresh the visualization collection, sending a third request for multi-dimensional array of data definitions in the set of multi-dimensional array of data definitions that have been updated to the computing system;

receiving updated multi-dimensional array of data definitions from the computing system; and

updating respective multi-dimensional array of data definitions stored in the cache storage with the updated multi-dimensional array of data definitions.

13. The method of claim 8 , wherein sending the request for the set of multi-dimensional array of data definitions to the computing system comprises sending the request to the computing system using a single network request.

14. The method of claim 8 , wherein each visualization definition of the plurality of visualization definitions specifies a corresponding data source, and wherein the method further comprises:

checking whether the cache storage contains a visualization definition that specifies a same data source and a same multi-dimensional array of data as a visualization definition for the visualization previously processed by webview.

15. A system comprising:

a set of processing units; and

a non-transitory machine-readable medium storing instructions that when executed by at least one processing unit in the set of processing units cause the at least one processing unit to:

receive a visualization collection definition specifying a plurality of visualizations and a plurality of visualization definitions for plurality of visualizations, each visualization definition in the plurality of visualization definitions specifies a multi-dimensional array of data definition;

identify a set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition;

send a first request for the set of multi-dimensional array of data definitions to a computing system;

receive the set of multi-dimensional array of data definitions from the computing system;

store the set of multi-dimensional array of data definitions in a cache storage of the mobile device for later use in rendering a visualization based on the multi-dimensional array of data definition;

receive a second request from a webview for a multi-dimensional array of data definition in the set of multi-dimensional array of data definitions;

retrieve the multi-dimensional array of data definition from the cache storage; and

send the webview the multi-dimensional array of data definition in order for the webview to render a visualization based on the multi-dimensional array of data definition.

16. The system of claim 15 , wherein the visualization collection definition specifies a plurality of pages, each page in the plurality of pages specifying a set of visualizations in the plurality of visualizations, wherein the identified set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of the visualization collection definition are multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a page in the plurality of pages of the visualization collection definition.

17. The system of claim 16 , wherein the set of multi-dimensional array of data definitions is a first set of multi-dimensional array of data definitions, wherein the page in the plurality of pages is a first page in the plurality of pages, wherein the instructions further cause the at least one processing unit to:

identify a second set of multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a second page in the plurality of pages of the visualization collection definition;

send a request for the second set of multi-dimensional array of data definitions to the computing system, receiving the second set of multi-dimensional array of data definitions from the computing system; and

store the second set of multi-dimensional array of data definitions in the cache storing of the mobile device for later use.

18. The system of claim 17 , wherein the second set of multi-dimensional array of data definitions includes multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in a second page in the plurality of pages of the visualization collection definition other than multi-dimensional array of data definitions specified in the plurality of visualization definitions of visualizations specified in the first page in the plurality of pages.

19. The system of claim 15 , wherein the instructions further cause the at least one processing unit to:

receive a request to refresh the visualization collection;

in response to the request to refresh the visualization collection, send a third request for multi-dimensional array of data definitions in the set of multi-dimensional array of data definitions that have been updated to the computing system;

receive updated multi-dimensional array of data definitions from the computing system; and

update respective multi-dimensional array of data definitions stored in the cache storage with the updated multi-dimensional array of data definitions.

20. The system of claim 15 , wherein each visualization definition of the plurality of visualization definitions specifies a corresponding data source, and wherein the instructions further cause the at least one processing unit to:

check whether the cache storage contains a visualization definition that specifies a same data source and a same multi-dimensional array of data as a visualization definition for the visualization previously processed by webview.

Assignments (1)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
Continuity (2)
Continuation 16229856 · Dec 21, 2018
Related Publication 20220164409A1 · May 26, 2022