US2020213385A1PendingUtilityA1

Offline mobile data storage system and method

38
Assignee: INTERPRO SOLUTIONS LLCPriority: Feb 9, 2018Filed: Mar 9, 2020Published: Jul 2, 2020
Est. expiryFeb 9, 2038(~11.6 yrs left)· nominal 20-yr term from priority
H04L 67/06G06F 21/6227H04L 67/568H04L 67/1001H04L 67/01G06F 16/252H04L 63/0428G06F 16/213G06F 16/258G06F 21/602G06F 16/9017H04L 67/2842H04L 67/42H04L 67/1002
38
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method is provided for the quick and efficient transfer of large amounts of data to mobile devices from enterprise asset management software residing on a primary server, via an intermediary server in a seamless and streamlined fashion, making the downloaded data available accessible by users of the mobile devices ahead of time, anywhere and at any time in an offline (disconnected) or online (Internet connected) mode.

Claims

exact text as granted — not AI-modified
1 . A system for interacting with at least one external client server that is accessible via a wireless network, comprising:
 at least one external client server having raw client data stored thereon,   an intermediate server connected between the at least one external client server and a plurality of clients, the intermediate server configured to perform functions associated with executing client data requests directed to the at least one external client server, including:
 a) configuring a database schema configuration (DBSC) file unique to each client during a pre-configuration stage, wherein the DBSC file informs the intermediate server regarding what tables to build to accommodate the client data received from the at least one external client server prior to forwarding the data to the plurality of clients in response to client data requests, 
 b) converting client data retrieved from the at least one external client server into one or more SQLite compatible tables, stored as a SQLite file as part of each client's uniquely configured DBSC configuration file, 
 c) encrypting the SQLite file, and 
 d) downloading the encrypted SQLite file for eventual storage in an SQLite database on the client's mobile devices. 
   
     
     
         2 . The system of  claim 1 , wherein the raw client data stored on the at least one external client server comprises raw XML data. 
     
     
         3 . The system of  claim 1 , wherein the database schema configuration (DBSC) file details all aspects of the form and function of said number of SQLite compatible tables that will be transferred to the plurality of clients responsive to client data requests, wherein said aspects include all tables, indexes and data retrieval actions that define communications between the at least one external client server and the intermediate server. 
     
     
         4 . The system of  claim 1 , wherein the conversion of the raw client data retrieved from the at least one external client server into an encrypted SQLite file comprised of said number of SQLite compatible tables as part of each client's uniquely configured DBSC configuration file comprises:
 a. reading the DBSC file via a file input stream,   b. parsing the contents of the DBSC file from the file input stream using an XML parsing library,   c. extracting the elements of each XML component of the DBSC file to be stored in a corresponding JAVA Object to create a formatted DBSC file as a JAVA Object structure,   d. using the formatted DBSC file to execute the start of defined data retrieval actions from the at least one external client server, including establishing a connection with the at least one external client server, thereby making the raw client data ready to be retrieved by the intermediate server,   e. creating a SQLite file as part of each client's uniquely configured DBSC configuration file.   
     
     
         5 . The system of  claim 1 , wherein a JAVA Object includes, entity objects, selection objects, index objects, column objects, init actions, file and TX settings. 
     
     
         6 . The system of  claim 1 , wherein the created SQLite file is an encrypted SQLite file. 
     
     
         7 . A database schema configuration (DBSC) file uniquely assigned to each client during a pre-configuration stage, the DBSC file configured at an intermediate server detailing all aspects of one or more SQLite compatible tables to be transferred to client mobile devices, including all tables, indexes and data retrieval actions that define the communications between a client's external client server and the intermediate server to request and retrieve information. 
     
     
         8 . The database schema configuration (DBSC) file of  claim 7 , wherein the DBSC file is further configured to facilitate a client specific conversion process for converting raw XML data retrieved from client servers into DBSC object files, the DBSC file informing the intermediate server regarding what tables should be built to accommodate a client's raw XML data whenever it is received from the client's external server. 
     
     
         9 . The database schema configuration (DBSC) file of  claim 7 , comprising four client configurable sub-sections including: (a) an entities settings sub-section, (b) a transactions settings sub-section, (c) a selection settings sub-section, and (d) a File Caching sub-section,
 wherein the entities settings sub-section define the client specific table names for data that is being transferred from the intermediary server to a plurality of client devices,   wherein the transaction settings sub-section define the client specific table names for transaction data that is being transferred from the intermediate server to the plurality of clients, and   wherein the selection settings sub-section define the client specific index objects, column objects and download action objects data that are being transferred from the intermediate server to the plurality of client devices,   wherein the selection file caching sub-section defines the communication between the intermediate server and the client's mobile device for downloading necessary application files.   
     
     
         10 . A dynamic load balancing unit employed at a computing device in a network, comprising:
 an application server responder unit, employed at one or more external client servers and configured to access relevant data provided by the one or more external client servers, wherein said relevant data includes details about the one or more external client servers such as the amount of requests in the queue, the number of responses to requests performed during a given period of time,   a load balancer, for performing load balancing among the one or more external client servers, based on a capacity measure, and   a performance facilitator unit, configured for facilitating load balancing at the relevant one or more external client servers according to their assigned priorities, such that a client server with the highest priority is assigned a user request before other client servers.   
     
     
         11 . The dynamic load balancing mechanism of  claim 10 , wherein the capacity measure is the utilization of the next available server with the least amount of traffic load. 
     
     
         12 . The dynamic load balancing mechanism of  claim 10 , wherein the application server responder unit comprises,
 a data access module, configured for accessing client data from said one or more external client servers, and   a data analysis module, configured for analyzing the data accessed by the data access module.   
     
     
         13 . The dynamic load balancing mechanism of  claim 10 , wherein the load balancer comprises,
 a polling unit, comprising:
 a polling module, configured to poll said one or more external client servers to determine whether they are ready to service data requests from clients or otherwise providing a level of availability, 
 a status receiver, and 
 a priority module, configured to assign various priority levels to the one or more external client servers. 
   
     
     
         14 . The dynamic load balancing mechanism of  claim 10 , wherein the assigned priority levels are assigned numbers indicating the status and/or level of availability of each of said one or more external client servers. 
     
     
         15 . A method invoked by a configurable intermediate server for downloading raw XML data from a client's external client server and restructuring the raw XML data into a more readable and usable structure, the method comprising:
 invoking a first functional module to read a database schema configuration (DBSC) file for a particular client by utilizing input streams received from said client's external client server,   invoking a second functional module to parse the database schema configuration (DBSC) file to retrieve indexes, unique columns and data retrieval actions, to yield a parsed DBSC configuration file for a particular client and creating a JAVA Object from the parsed DBSC configuration file.   invoking a third functional module to establish a connection with said client's external client server to retrieve raw client data and utilize the JAVA Object to execute the start of data retrieval actions from the client's external client server,   invoking a fourth functional module to retrieve said raw data from said client's external client server, and   invoking a fifth functional module to process the retrieved raw data into an SQLite database using an SQLite embedded database engine.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.