# US 2014/0156727 A1 · Remote Access System for Using Scientific Algorithms in Local Data Processing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156727 A1
- Document ID: US20140156727A1
- Status: Published application
- Kind: A1
- Application number: 13/693,181
- Filed: 2012-12-04
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Inventors: John D. Almon
- Web page: https://patentgrep.com/patent/US20140156727A1

## CPC

- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- G06Q 20/1235: {with control of digital rights management [DRM]}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L 69/329: in the application layer [OSI layer 7]
- H04L 2463/102: applying security measure for e-commerce
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A remote access system for processing local data with a computing algorithm stores information on various computing algorithms available via the system. A remote user at a user system can selects a computing algorithm, which is then encrypted and downloaded to the user system. The downloaded computing algorithm is decrypted and stored in host memory at the user system in a controlled manner. Alternatively, the selected computing algorithm may be offered through cloud processing, in which case the user uploads the local data for cloud processing. In this case, the system manages the cloud processing at remote providers and tracks heuristic, caching, and performance. In either case, the local data is processed with one or more input parameters from the remote user, and visual results are provided to the remote user along with a cost for storing final results of the processing. Once the remote user makes the required payment, the final results from the processing can be stored locally at the user system.

## Claims

### Claim 1

A remote data processing method, comprising:
storing information about a plurality of computing algorithms available via a server system;
receiving a selection of one of the computing algorithms from a user system;
encrypting at least a portion the selected computing algorithm;
downloading the encrypted computing algorithm to the user system;
decrypting the downloaded computing algorithm at the user system;
providing visual results of the decrypted computing algorithm at the user system by processing the local data with one or more input parameters;
providing a cost for storable results of the processing; and
permitting the user system to save the storable results of the processing in response to payment of the provided cost.

### Claim 2 (depends on 1)

The method of claim 1, wherein decrypting the encrypted algorithm at the user system comprises controlling access to the decrypted algorithm at the user system.

### Claim 3 (depends on 2)

The method of claim 2, wherein controlling access to the decrypted algorithm at the user system comprises:
mapping memory for storing the decrypted algorithm at the user system; and
preventing storage of the decrypted algorithm outside of the mapped memory.

### Claim 4 (depends on 2)

The method of claim 2, wherein controlling access to the decrypted algorithm at the user system comprises:
establishing a communication session between the server system and the user system; and
confirming that the communication session and the encryption and decryption of the computing algorithm are valid.

### Claim 5 (depends on 1)

The method of claim 1, wherein encrypting the portion the selected algorithm comprises encrypting the portion of the algorithm with a key required for decryption.

### Claim 6 (depends on 1)

The method of claim 1, wherein providing the visual results of the decrypted algorithm at the user system comprises:
receiving the one or more input parameters at the user system;
producing perturbed results of the decrypted algorithm by perturbing the one or more input parameters when processing the local data; and
generating a display of at least a portion of the perturbed results as the visual results at the user system.

### Claim 7 (depends on 1)

The method of claim 1, wherein permitting the user system to save the storable results of the processing in response to the payment of the provided cost comprises:
verifying the payment of the provided cost at the server system; and
releasing a restriction on storing the storable results at the user system in response to the verified payment.

### Claim 8 (depends on 1)

A programmable storage device having program instructions stored thereon for causing a programmable control device to perform the remote data processing method of claim 1.

### Claim 9 (depends on 1)

A remote data processing system for a user system, the system comprising:
a client application operably executing on the user system;
memory storing information on a plurality of computing algorithms; and
one or more system servers operably connected to the memory, the client application, and one or more networks,
wherein the one or more system servers and the client application are configured to perform the remote data processing method of claim 1.

### Claim 10

A remote data processing method, comprising:
storing first heuristic information at a server system about a plurality of cloud processing services;
storing first information about a plurality of computing algorithms available via the server system at one or more of the cloud processing services;
receiving, at the server system, input data from a remote user;
receiving, at the server system, a selection of one of the computing algorithms from the remote user;
determining which one or more of the cloud processing services provide processing of the selected computing algorithm;
determining, at least from the first heuristic information, a cost for processing the input data with the selected computing algorithm by the one or more determined cloud processing services; and
receiving, at the server system, a selection of the one or more determined cloud processing services from the remote user to perform the processing.

### Claim 11 (depends on 10)

The method of claim 10, wherein storing the first heuristic information at the server system about the cloud processing services comprises compiling the first heuristic information at the server system about the cloud processing services.

### Claim 12 (depends on 11)

The method of claim 11, wherein compiling the first heuristic information at the server system about the cloud processing services comprises:
connecting the server system to one of the cloud processing services;
confirming resources available at the cloud processing service;
running sample data using a sample algorithm on the cloud processing service; and
determining performance of the cloud processing service based on a result from running of the sample data using the sample algorithm.

### Claim 13 (depends on 12)

The method of claim 12, wherein to determine, at least from the first heuristic information, the cost for processing the input data with the selected computing algorithm by the one or more determined cloud processing services, the step of compiling the first heuristic information at the server system about the cloud processing services further comprises establishing a cost structure for the cloud processing services based at least in part on the determined performance.

### Claim 14 (depends on 12)

The method of claim 12, further comprising calculating, from the first heuristic information, an expected run-time for processing the input data with the selected computing algorithm by the one or more determined cloud processing services based at least in part on the determined performance.

### Claim 15 (depends on 10)

The method of claim 10, wherein storing the first information about the computing algorithms comprises storing second heuristic information about the computing algorithms, whereby determining, at least from the first heuristic information, the cost for processing the input data with the selected computing algorithm by the one or more determined cloud processing services further comprises using the second heuristic information.

### Claim 16 (depends on 10)

The method of claim 10, further comprising storing second heuristic information about the remote user, whereby determining, at least from the first heuristic information, the cost for processing the input data with the selected computing algorithm by the one or more determined cloud processing services further comprises using the second heuristic information.

### Claim 17 (depends on 10)

The method of claim 10, wherein storing the first heuristic information at the server system about the cloud processing services comprises storing second information for use in caching the input data relative to the cloud processing services.

### Claim 18 (depends on 17)

The method of claim 17, wherein storing the second information for use in caching comprises:
connecting the server system to one of the cloud processing services;
confirming hardware and communication resources available at the cloud processing service; and
compiling the confirmed hardware and communication resources into the information for use in caching.

### Claim 19 (depends on 17)

The method of claim 17, wherein in response to receiving the selection of the one or more determined cloud processing services from the remote user to perform the processing, the method comprises automatically caching the input data at at least one resource associated with the one or more determined cloud processing services based at least in part on the stored second information for use in caching the input data.

### Claim 20 (depends on 17)

The method of claim 17, wherein the hardware and communication resources are selected from the group consisting of use of a virtual machine or not, size of memory, speed of memory, speed of processor, number of threads, size and performance of on-chip caches, speed of memory bus, type and speed of hard drive, type and performance of processing unit, network latency, network speed, and network performance.

### Claim 21 (depends on 10)

The method of claim 10, wherein in response to receiving the selection of the one or more determined cloud processing services from the remote user to perform the processing, the method further comprises providing visual results of the computing algorithm on the input data to the remote user by processing the input data with one or more input parameters.

### Claim 22 (depends on 21)

The method of claim 21, further comprising permitting the remote user to save storable results of the processing in response to payment of the determined cost.

### Claim 23 (depends on 22)

The method of claim 22, wherein permitting the user system to save the storable results of the processing in response to the payment of the determined cost comprises:
verifying the payment of the determined cost at the server system; and
releasing a restriction on storing the storable results in response to the verified payment.

### Claim 24 (depends on 21)

The method of claim 21, wherein providing the visual results of the computing algorithm on the input data to the remote user comprises:
receiving the one or more input parameters from the remote user;
producing perturbed results of the computing algorithm by perturbing the one or more input parameters when processing the input data; and
generating a display of at least a portion of the perturbed results as the visual results for the remote user.

### Claim 25 (depends on 10)

A programmable storage device having program instructions stored thereon for causing a programmable control device to perform the remote data processing method of claim 10.

### Claim 26 (depends on 10)

A remote data processing system for a remote user, the system comprising:
memory storing heuristic data about a plurality of cloud processing services and storing information on a plurality of computing algorithms available at one or more of the cloud processing services; and
one or more system servers operably connected to the memory and one or more networks, the one or more system servers configured to perform the remote data processing method of claim 10.
