IP Library › Granted Patent US 12,541,377
Granted Patent B2
US 12,541,377 · App. 18/206,744 · Granted Feb 3, 2026

Systems, methods and computer program products for remote data retrieval from computing devices

Inventor: Alok Kumar Sinha (San Jose, CA)
Assignee: Spillbox Inc.
G06F9/44521
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 12,541,377
App. No.
18/206,744
Filed
Jun 7, 2023
Granted
Feb 3, 2026
Kind
B2
Art Unit
2198
USPC
719/331
Abstract

The invention provides systems, methods and computer program products for executing remote application iteration(s) of client application software on a remote server platform, and for enabling each remote application iteration of a client application software to have access to a corresponding instance of an application software environment that has access to all data objects necessary for execution of such remote application iteration. The invention additionally enables execution of a remote application iteration of a client software application at a remote server platform, through need-based or dynamic retrieval of data objects from an on-premise device for appropriately provisioning the remote platform server to execute the remote iteration of the client software application.

Claims (82)

1 . A method for execution of an application software iteration at a remote server through network based access to a computing device, the method comprising:

instantiating at the remote server:

a remote application iteration of a client application software, wherein the client application software has a corresponding local instance of an application environment stored on the computing device; and

a remote application environment instance that is configured to permit access by the remote application iteration, wherein the remote application environment instance does not include all data objects stored within the local instance of an application environment stored on the computing device;

executing at the remote server, application software code corresponding to the remote application iteration;

identifying at least one data object required by the application software code;

responsive to determining that the identified at least one data object is not available within the remote application environment instance, initiating obtaining of the identified at least one data object from the local instance of an application environment stored on the computing device, wherein the obtaining of the identified at least one data object comprises:

transmitting to the computing device, a request for the identified at least one data object, the request comprising file path data identifying a file path, wherein the file path identifies a location of the at least one data object within a file system of the computing device;

obtaining from the computing device, computing device metadata comprising:

first directory metadata corresponding to a first file system directory within which the at least one data object is stored on the computing device; and

second directory metadata comprising metadata corresponding to at least a second file system directory identified within the file path, wherein the second file system directory is distinct from the first file system directory;

obtaining the identified at least one data object from the first file system directory;

storing the computing device metadata and the at least one data object in a memory accessible by the remote server; and

executing the application software code at the remote server based on the identified at least one data object.

2 . The method as claimed in claim 1 , wherein the second directory metadata comprises metadata corresponding to each file system directory identified within the file path, other than the first file system directory.

3 . The method as claimed in claim 1 , wherein:

the first directory metadata describes file contents within the first file system directory; and

the second directory metadata describes file contents within at least the second file system directory.

4 . The method as claimed in claim 1 , wherein:

the first directory metadata comprises data that describes attributes of one or more data files, data records, directories, folders, or file paths within the first file system directory; and

the second directory metadata comprises data that describes attributes of one or more data files, data records, directories, folders, or file paths within at least the second file system directory.

5 . The method as claimed in claim 1 , wherein the remote server:

generates or modifies a metadata image based on the received computing device metadata; and

stores the metadata image in the memory accessible by the remote server, wherein the memory is associated with one or both of the remote application environment instance and a user of the remote application environment instance.

6 . The method as claimed in claim 5 , wherein the remote server stores the received at least one data object in a memory that is configured to permit access by (i) only the remote application iteration or (ii) a plurality of application software iterations of one or more application softwares that are associated with the user of the remote application environment instance.

7 . The method as claimed in claim 5 , wherein obtaining the identified at least one data object from the local instance of an application environment stored on the computing device comprises:

parsing the stored metadata image for metadata corresponding to the identified at least one data object; and

responsive to retrieval of metadata corresponding to the identified at least one data object from the metadata image, transmitting to the computing device, a data object retrieval request message that includes all or some of the metadata retrieved from the metadata image.

8 . The method as claimed in claim 7 , wherein the identified at least one data object that is subsequently received from the computing device in response to the transmitted data object retrieval request message, is retrieved from the computing device based on the metadata included within the data object retrieval request message.

9 . The method as claimed in claim 1 , wherein:

the request for the identified at least one data object is transmitted from the remote server to a processor implemented software agent that is associated with the remote application iteration or with a user of the remote application iteration;

the computing device is configured such that the processor implemented software agent is provided with access to the file system of the computing device; and

the processor implemented software agent's access to the file system of the computing device is restricted to one or both of read access and write access to only such data objects that, the remote application iteration or the user of the remote application iteration, is authorized to access.

10 . The method as claimed in claim 9 , wherein one or more of the steps of obtaining the computing device metadata from the computing device, obtaining the identified at least one data object from the first file system directory, and receiving the computing device metadata and the at least one data object in the memory accessible by the remote server are implemented through the processor implemented software agent.

11 . A system for execution of an application software iteration at a remote server through network based access to an on-premise device, the system comprising a remote server configured for:

instantiating:

a remote application iteration of a client application software, wherein the client application software has a corresponding local instance of an application environment stored on the computing device; and

a remote application environment instance that is configured to permit access by the remote application iteration, wherein the remote application environment instance does not include all data objects stored within the local instance of an application environment stored on the computing device;

executing at the remote server, application software code corresponding to the remote application iteration;

identifying at least one data object required by the application software code;

responsive to determining that the identified at least one data object is not available within the remote application environment instance, initiating obtaining of the identified at least one data object from the local instance of an application environment stored on the computing device, wherein the obtaining of the identified at least one data object comprises:

transmitting to the computing device, a request for the identified at least one data object, the request comprising file path data identifying a file path, wherein the file path identifies a location of the at least one data object within a file system of the computing device;

obtaining from the computing device, computing device metadata comprising:

first directory metadata corresponding to a first file system directory within which the at least one data object is stored on the computing device; and

second directory metadata comprising metadata corresponding to at least a second file system directory identified within the file path, wherein the second file system directory is distinct from the first file system directory;

obtaining the identified at least one data object from the first file system directory;

storing the computing device metadata and the at least one data object in a memory accessible by the remote server; and

executing the application software code at the remote server based on the identified at least one data object.

12 . The system as claimed in claim 11 , wherein the second directory metadata comprises metadata corresponding to each file system directory identified within the file path, other than the first file system directory.

13 . The system as claimed in claim 11 , wherein:

the first directory metadata describes file contents within the first file system directory; and

the second directory metadata describes file contents within at least the second file system directory.

14 . The system as claimed in claim 11 , wherein:

the first directory metadata comprises data that describes attributes of one or more data files, data records, directories, folders, or file paths within the first file system directory; and

the second directory metadata comprises data that describes attributes of one or more data files, data records, directories, folders, or file paths within at least the second file system directory.

15 . The system as claimed in claim 11 , wherein the remote server is configured to:

generates or modifies a metadata image based on the received computing device metadata; and

stores the metadata image in the memory accessible by the remote server, wherein the memory is associated with one or both of the remote application environment instance and a user of the remote application environment instance.

16 . The system as claimed in claim 15 , wherein the remote server is configured to store the received at least one data object in a memory that is configured to permit access by (i) only the remote application iteration or (ii) a plurality of application software iterations of one or more application softwares that are associated with the user of the remote application environment instance.

17 . The system as claimed in claim 15 , wherein obtaining the identified at least one data object from the local instance of an application environment stored on the computing device comprises:

parsing the stored metadata image for metadata corresponding to the identified at least one data object; and

responsive to retrieval of metadata corresponding to the identified at least one data object from the metadata image, transmitting to the computing device, a data object retrieval request message that includes all or some of the metadata retrieved from the metadata image.

18 . The system as claimed in claim 17 , wherein the identified at least one data object that is subsequently received from the computing device in response to the transmitted data object retrieval request message, is retrieved from the computing device based on the metadata included within the data object retrieval request message.

19 . The system as claimed in claim 11 , wherein:

the request for the identified at least one data object is transmitted from the remote server to a processor implemented software agent that is associated with the remote application iteration or with a user of the remote application iteration;

the computing device is configured such that the processor implemented software agent is provided with access to the file system of the computing device; and

the processor implemented software agent's access to the file system of the computing device is restricted to one or both of read access and write access to only such data objects that, the remote application iteration or the user of the remote application iteration, is authorized to access.

20 . The system as claimed in claim 19 , wherein one or more of the steps of obtaining the computing device metadata from the computing device, obtaining the identified at least one data object from the first file system directory, and receiving the computing device metadata and the at least one data object in the memory accessible by the remote server are implemented through the processor implemented software agent.

21 . A computer program product for execution of an application software iteration at a remote server through network based access to an on-premise device, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code comprising instructions for implementing within a processor based computing system, the steps of:

instantiating at the remote server:

a remote application iteration of a client application software, wherein the client application software has a corresponding local instance of an application environment stored on the computing device; and

a remote application environment instance that is configured to permit access by the remote application iteration, wherein the remote application environment instance does not include all data objects stored within the local instance of an application environment stored on the computing device;

executing at the remote server, application software code corresponding to the remote application iteration;

identifying at least one data object required by the application software code;

responsive to determining that the identified at least one data object is not available within the remote application environment instance, initiating obtaining of the identified at least one data object from the local instance of an application environment stored on the computing device, wherein the obtaining of the identified at least one data object comprises:

transmitting to the computing device, a request for the identified at least one data object, the request comprising file path data identifying a file path, wherein the file path identifies a location of the at least one data object within a file system of the computing device;

obtaining from the computing device, computing device metadata comprising:

first directory metadata corresponding to a first file system directory within which the at least one data object is stored on the computing device; and

second directory metadata comprising metadata corresponding to at least a second file system directory identified within the file path, wherein the second file system directory is distinct from the first file system directory;

obtaining the identified at least one data object from the first file system directory;

storing the computing device metadata and the at least one data object in a memory accessible by the remote server; and

executing the application software code at the remote server based on the identified at least one data object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2023
From: SINHA, ALOK KUMAR
To: SPILLBOX INC.
Reel/Frame 063882/0468 →
Continuity (1)
Related Publication 20240411567A1 · Dec 12, 2024
References Cited (46)
US 5987521A · Arrowood · 1999 [cited by examiner]
US 7743019B2 · Shah et al. · 2010 [cited by applicant]
US 8112505B1 · Ben-Shaul et al. · 2012 [cited by applicant]
US 9251114B1 · Ancin et al. · 2016 [cited by applicant]
US 9398087B1 · Hosie et al. · 2016 [cited by applicant]
US 9781191B2 · Kashyap · 2017 [cited by applicant]
US 10146788B1 · Weatherall et al. · 2018 [cited by applicant]
US 10148493B1 · Ennis, Jr. et al. · 2018 [cited by applicant]
US 10893106B1 · Saladi et al. · 2021 [cited by applicant]
US 11169864B2 · Ranjan et al. · 2021 [cited by applicant]
US 20070244987A1 · Pedersen et al. · 2007 [cited by applicant]
US 20120072898A1 · Pappas et al. · 2012 [cited by applicant]
US 20120084333A1 · Huang et al. · 2012 [cited by applicant]
US 20140007079A1 · Whitney et al. · 2014 [cited by applicant]
US 20140172783A1 · Suzuki et al. · 2014 [cited by applicant]
US 20140258872A1 · Spracklen et al. · 2014 [cited by applicant]
US 20140351388A1 · Srinivasan · 2014 [cited by examiner]
US 20150088942A1 · Shah · 2015 [cited by applicant]
US 20150193514A1 · Bradshaw et al. · 2015 [cited by applicant]
US 20150278323A1 · Melahn et al. · 2015 [cited by applicant]
US 20150286389A1 · Conover et al. · 2015 [cited by applicant]
US 20150356113A1 · Suryanarayanan et al. · 2015 [cited by applicant]
US 20160048408A1 · Madhu et al. · 2016 [cited by applicant]
US 20160119413A1 · Antipa et al. · 2016 [cited by applicant]
US 20160124665A1 · Jain et al. · 2016 [cited by applicant]
US 20160147857A1 · Kramer · 2016 [cited by examiner]
US 20160277497A1 · Bannister et al. · 2016 [cited by applicant]
US 20160321287A1 · Uthra et al. · 2016 [cited by applicant]
US 20160350326A1 · Simonetti · 2016 [cited by applicant]
US 20160364201A1 · Beveridge et al. · 2016 [cited by applicant]
US 20170017551A1 · Nichols et al. · 2017 [cited by applicant]
US 20170060702A1 · Dave et al. · 2017 [cited by applicant]
US 20170115980A1 · Bagal et al. · 2017 [cited by applicant]
US 20170168903A1 · Dornemann et al. · 2017 [cited by applicant]
US 20170264684A1 · Spillane et al. · 2017 [cited by applicant]
US 20170364699A1 · Goldfarb et al. · 2017 [cited by applicant]
US 20180137174A1 · Cahana et al. · 2018 [cited by applicant]
US 20180300367A1 · Yu et al. · 2018 [cited by applicant]
US 20190205411A1 · Lai · 2019 [cited by applicant]
US 20190213265A1 · Boerner et al. · 2019 [cited by applicant]
US 20190266258A1 · Chen et al. · 2019 [cited by applicant]
US 20200007530A1 · Mohamad Abdul et al. · 2020 [cited by applicant]
US 20200201918A1 · Karande et al. · 2020 [cited by applicant]
US 20200311028A1 · Korepanov et al. · 2020 [cited by applicant]
US 20210132811A1 · Puvvada et al. · 2021 [cited by applicant]
International Search Report for PCT/IB2020/060778 mailed May 13, 2021. 2 pgs. [cited by applicant]