Cost-aware secure outsourcing

US10901693B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10901693-B2
Application numberUS-201715624408-A
CountryUS
Kind codeB2
Filing dateJun 15, 2017
Priority dateJun 15, 2016
Publication dateJan 26, 2021
Grant dateJan 26, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods of the present invention provide for one or more server computers communicatively coupled to a network and configured to: receive a request to execute a computational task, including a transformed input used to execute a computational task. A client computer transforms the original input into the transformed input, using an affine mapping where the transformed input is a one-to-one equivalent to the original input (but which can't be inferred by the server computer), and according to a user selection limiting the computational complexity of the mapping according to resource constraints on the client. The server may then execute the computational task and transmit a result to the client to apply an inverse affine mapping, and receive a response which verifies that the computational task result is complete and valid.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system, comprising: at least one processor of a network of server computers; at least one memory of the network of server computers, coupled to the at least one processor, and having stored thereon a set of instructions which, when executed, cause the network of server computers to: generate, using at least one graphical user interface (GUI) generation software module running on at least one server in the network of server computers, a GUI comprising: a computational task submission GUI control configured to receive, from a user via the GUI displayed on a client computer coupled to the network a request to execute a computational task; a computational task and independent variable transformation GUI control configured to receive, from the user via the GUI, a computational task data and at least one independent variable data for the computational task; and an outsourced strategy selection GUI control configured to receive, from the user via the GUI, a selection of an outsourcing strategy defining a computational complexity reduction that does not compromise a security of the computational task, the outsourcing strategy selected from the group consisting of a diagonal matrix, a permutation matrix, a band matrix, or a sparse matrix; and receive, from the GUI displayed on the client computer, at least one transformed input, transformed by the client computer from the computational task data input by a user, to be utilized by the network to execute the computational task, the client computer having transformed at least one original input into the at least one transformed input: using an affine mapping based scheme according to a coefficient matrix in which the at least one transformed input is a one-to-one equivalent to the at least one original input, but cannot be inferred by a computational resource from the transformed input alone; and according to a selection from the outsourced strategy selection GUI control, limiting the computational complexity of the affine mapping scheme according to at least one resource constraint of the client computer; execute the computational task; transmit, to the client computer a result of the computational task; and receive, from a result verification GUI control on the GUI, responsive to the client computer applying an inverse affine mapping scheme to the result, a verification that the result of the computational task comprises a complete and valid result, wherein the verification comprises: the server computer generating a first result using a first affine mapping; the server computer generating a second result using a second affine mapping; and identifying a match between the first result and the second result. 2. The system of claim 1 , wherein: the computational task comprises a software calculation function receiving, as the at least one transformed input, at least one transformed independent variable as a function parameter; and the result of the computational task comprises: a solution to the software calculation function utilizing the at least one independent transformed variable; and a proof of the solution, wherein the verification includes a decision, based on the proof, validating the solution. 3. The system of claim 1 , wherein the at least one resource constraint on the client computer comprises a limit of: θ(n 2 ) for a resource overhead caused by: a first transformation of the transformed input; a second transformation of the result; and the verification; and a request overhead being no greater for the at least one transformed input as would be required for the at least one original input. 4. A method for computing complex computational tasks by securely engaging remote resources comprising: generating, using at least one graphical user interface (GUI) generation software module running on a server computer in the network of server computers, a GUI comprising: a computational task submission GUI control configured to receive, from a user via the GUI displayed on a user's client computer coupled to the network, a request to execute a computational task; a computational task and independent variable transformation GUI control configured to receive, from the user via the GUI, a computational task data and at least one independent variable data for the computational task; and an outsourced strategy selection GUI control configured to receive, from the user via the GUI, a selection of an outsourcing strategy defining a computational complexity reduction that does not compromise a security of the computational task, the outsourcing strategy selected from the group consisting of a diagonal matrix, a permutation matrix, a band matrix, or a sparse matrix; transforming via at least one processor of the user's client computer at least one original input into at least one transformed input using an affine mapping based scheme according to a coefficient matrix in which the at least one transformed input is a one-to-one equivalent to the at least one original input, wherein the original input cannot be inferred by a computational resource from the transformed input alone; and according to at least one user setting, limiting the computational complexity of the affine mapping scheme according to at least one resource constraint of the user's client computer; transmitting to a remote computer network: the at least one transformed input; and a request to execute the computational task using the at least one transformed input; receiving from the remote computer network, a result of the computational task; and via a processor of the user's client computer, applying an inverse affine mapping scheme to the result, to determine whether the result of the computational task comprises a complete and valid result, further comprising the steps of: the server computer generating a first result using a first affine mapping; the server computer generating a second result using a second affine mapping; and identifying a match between the first result and the second result. 5. A system, comprising: at least one server processor of a network; at least one memory of the network, coupled to the at least one processor, and having stored thereon a set of instructions which, when executed, cause the network to: generate, using at least one graphical user interface (GUI) generation software module running on at least one server in the network of server computers, a GUI comprising: a computational task submission GUI control configured to receive, from a user via the GUI displayed on a client computer coupled to the network a request to execute a computational task; a computational task and independent variable transformation GUI control configured to receive, from the user via the GUI, a computational task data and at least one independent variable data for the computational task; and an outsourced strategy selection GUI control configured to receive, from the user via the GUI, a selection of an outsourcing strategy defining a computational complexity reduction that does not compromise a security of the computational task, the outsourcing strategy selected from the group consisting of a diagonal matrix, a permutation matrix, a band matrix, or a sparse matrix; and receive, from the GUI displayed on the client computer, at least one input transformed by the client computer from the computational task data input by a user, at least one original input into the at least one transformed input: using an affine mapping based scheme according to a coefficient matrix in which the at least one transformed input is a one-to-one equivalent to the at least one original input, but cannot be inferred by the network; and according to a selection from outsourced strategy selection GUI control, limiting the computational co

Assignees

Inventors

Classifications

  • G06F9/4843Primary

    by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor · CPC title

  • G06F7/48Primary

    using non-contact-making devices, e.g. tube, solid state device; using unspecified devices · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10901693B2 cover?
Systems and methods of the present invention provide for one or more server computers communicatively coupled to a network and configured to: receive a request to execute a computational task, including a transformed input used to execute a computational task. A client computer transforms the original input into the transformed input, using an affine mapping where the transformed input is a one…
Who is the assignee on this patent?
Univ Michigan State
What technology area does this patent fall under?
Primary CPC classification G06F9/4843. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 26 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).