System and method for offline capability for mobile devices including asynchronous threads
AssigneeOracle International Corporation
InventorsMatthew Lynes, Victor Matskiv, Jayant Thomas
Life of this patent
Estimating the term…
Abstract
Systems and methods are described herein that provide a system associated with a CRA application framework with offline capability for mobile devices. In one example embodiment, a network request is received via network communications from a mobile device. The request is identified and multiple processing threads are initiated that separate operations for performing the request. A Self Describing Object (SDO) is generated and is returned in response to a fetch request. This allows the mobile device to input data while offline from a server and to minimize network interactions therebetween.
Claims15
A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to:
- receive, from a mobile device via a network communication, a creation request that requests the computer to create a trip report skeleton, where the trip report skeleton is a template that allows trip report data to be inputted and stored on the mobile device;
- identify, by the computer, the creation request and in response, cause an operating system to initiate a first thread and a second thread to separate operations of (i) the creation request and (ii) generating the trip report skeleton, wherein the first thread and the second thread are executed asynchronously;
- assign and process, by the computer to a processor, the creation request in the first thread, wherein the first thread performs:
- in response to the creation request, scheduling a task to generate the trip report skeleton in the second thread;
- and
- transmitting an electronic acknowledgment acknowledging receipt of the creation request to the mobile device;
- assign and process, by the computer to the processor in the second thread, the task for generating the trip report skeleton, wherein the generating comprises:
- retrieving a canonical trip report including data fields from a database, and combining the canonical trip report with metadata for rendering the data fields from the canonical trip report on a display of a mobile device;
- creating the trip report skeleton in a Self Describing Object (SDO) from the combined canonical trip report and the metadata;
- in response to receiving, by the computer from the mobile device, a fetch request to retrieve the trip report skeleton:
- determining whether the trip report skeleton has been created and:
- when the trip report skeleton is not yet created, canceling the fetch request such that the mobile device is enabled to make a subsequent fetch request for the trip report skeleton;
- when the trip report skeleton has been created, transmitting the trip report skeleton to the mobile device;
- and
- wherein the metadata allows the mobile device to render the trip report skeleton including the template and the data fields, wherein the trip report skeleton allows the mobile device to input data into the data fields when the mobile device is offline from the computer to minimize network interactions therebetween.
A computing system, comprising:
- a processor operably connected with a non-transitory computer readable medium by a communication bus;
- a server side logic stored in the non-transitory computer readable medium and including instructions that when executed by the processor cause the processor to:
- receive a request, from a mobile device via a network communication, wherein the request is a creation request that requests the computer to create a trip report skeleton, where the trip report skeleton is a template that allows trip report data to be inputted and stored on the mobile device;
- identify, by the computer, that the request is a creation request for a trip report skeleton;
- in response to identifying the creation request, cause an operating system to initiate a first thread and a second thread to separate operations of the creation request and generating the trip report skeleton, wherein the first thread and the second thread are executed asynchronously;
- assign and process, by the computer to a processor, the creation request in the first thread, wherein the first thread performs:
- in response to the creation request, scheduling creation of the trip report skeleton in the second thread;
- and
- transmitting an electronic acknowledgment acknowledging receipt of the creation request to the mobile device;
- assign and process, by the computer to the processor in the second thread, generating the trip report skeleton, wherein the generating comprises:
- retrieving a canonical trip report including data fields from a database, and combining the canonical trip report with metadata for rendering the data fields from the canonical trip report on a display of a mobile device;
- creating the trip report skeleton in a Self Describing Object (SDO) from the combined canonical trip report and the metadata;
- in response to receiving, by the computer from the mobile device, a fetch request to retrieve the trip report skeleton:
- determining whether the trip report skeleton has been created and:
- when the trip report skeleton is not yet created, canceling the fetch request such that the mobile device is enabled to make a subsequent fetch request for the trip report skeleton;
- when the trip report skeleton has been created, transmitting the trip report skeleton to the mobile device;
- and
- wherein the metadata allows the mobile device to render the trip report skeleton including the template and the data fields, wherein the trip report skeleton allows the mobile device to input data into the data fields when the mobile device is offline from the computer to minimize network interactions therebetween.
A method performed by a computer including at least a processor, the method comprising:
- receiving, from a mobile device via a network communication, a request;
- identifying the request as a creation request that requests the computer to create a trip report skeleton, where the trip report skeleton is a template that allows trip report data to be inputted and stored on the mobile device;
- in response to identifying the creation request, initiating, by the computer, a first thread and a second thread to separate operations of the creation request and generating the trip report skeleton, wherein the first thread and the second thread are performed asynchronously;
- processing, by the computer, the creation request in the first thread, wherein the first thread performing:
- in response to the creation request, scheduling creation of the trip report skeleton in the second thread;
- and
- transmitting an acknowledgment acknowledging receipt of the creation request to the mobile device;
- in the second thread, generating by the computer, the trip report skeleton, wherein the generating comprises:
- retrieving, from a data storage device, a canonical trip report that includes data fields, and combining the canonical trip report with metadata for rendering the data fields from the canonical trip report on a display of a mobile device;
- creating the trip report skeleton in a Self Describing Object (SDO) from the combined canonical trip report and the metadata;
- in response to receiving, by the computer from the mobile device, a fetch request to retrieve the trip report skeleton:
- determining whether the trip report skeleton has been created and:
- when the trip report skeleton is not yet created, allowing the fetch request to time out such that the mobile device is enabled to make a subsequent fetch request for the trip report skeleton;
- and
- when the trip report skeleton has been created, transmitting the trip report skeleton to the mobile device;
- and
- wherein the metadata allows the mobile device to render the trip report skeleton including the template and the data fields, wherein the trip report skeleton allows the mobile device to input data into the data fields when the mobile device is offline from the computer to minimize network interactions therebetween.
Dependencies are inferred from the claim text.