IP Library Granted Patent US 11,363,002
Granted Patent B2
US 11,363,002 · App. 16/828,420 · Granted Jun 14, 2022

Systems and methods for providing a marketplace where data and algorithms can be chosen and interact via encryption

Inventors: Greg Storm (Parkville, MO); Riddhiman Das (Lenexa, KS); Babak Poorebrahim Gilkalaye (Kansas City, MO)
Assignee: TripleBlind, Inc.
H04L63/0428G06F17/16G06Q20/1235G06Q20/401G06Q30/0623H04L9/008H04L9/0625G06K9/623G06K9/6267G06K9/6271G06N3/04G06N3/082G06Q2220/00H04L2209/46
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 11,363,002
App. No.
16/828,420
Granted
Jun 14, 2022
Kind
B2
Abstract

A method includes receiving, on a computer-implemented system and from user, an identification of data and an identification of an algorithm and, based on a user interaction with the computer-implemented system comprising a one-click interaction or a two-click interaction. Without further user input, the method includes dividing the data into a data first subset and a data second subset, dividing the algorithm (or a Boolean logic gate representation of the algorithm) into an algorithm first subset and an algorithm second subset, running, on the computer-implemented system at a first location, the data first subset with the algorithm first subset to yield a first partial result, running, on the computer-implemented system at a second location separate from the first location, the data second subset with the algorithm second subset to yield a second partial result and outputting a combined result based on the first partial result and the second partial result.

Claims (64)

1. A method, comprising:

receiving, on a first computer-implemented system and from a first provider of a first product, a request for a second product from a second provider;

receiving, on the first computer-implemented system, a first authorization from the first provider to use the first product;

receiving, on the first computer-implemented system, a second authorization from the second provider to use the second product;

establishing, based on the first authorization and the second authorization, a contract between the first provider and the second provider; and

based on the first authorization and the second authorization:

dividing, at the first computer-implemented system, the first product into a first product first subset and a first product second subset;

encrypting, at the first computer-implemented system, the first product first subset and the first product second subset to yield an encrypted first product first subset and an encrypted first product second subset;

converting, at the first computer-implemented system, the encrypted first product first subset into a first Boolean logic gate set;

converting, at the first computer-implemented system, the encrypted first product second subset into a second Boolean logic gate set;

transmitting, from the first computer-implemented system to a second computer-implemented system, the first Boolean logic gate set, wherein the first computer-implemented system is separate from the second computer-implemented system;

transmitting, from the first computer-implemented system to a third computer-implemented system, the second Boolean logic gate set;

dividing, at the first computer-implemented system, the second product into a second product first subset and a second product second subset;

encrypting, at the first computer-implemented system, the second product first subset and the second product second subset to yield an encrypted second product first subset and an encrypted second product second subset;

transmitting, from the first computer-implemented system to the second computer-implemented system, the encrypted second product first subset;

transmitting, from the first computer-implemented system to the third computer-implemented system, the encrypted second product second subset;

running, on the second computer-implemented system, the first Boolean logic gate set with the encrypted second product first subset to yield a first partial result;

running, on the third computer-implemented system, the second Boolean logic gate set with the encrypted second product second subset to yield a second partial result, wherein the running, on the third computer-implemented system, of the second Boolean logic gate set with the encrypted second product first subset to yield the second partial result maintains privacy between the first product and the second product;

receiving, at the first computer-implemented system from the second computer-implemented system, the first partial result;

receiving, at the first computer-implemented system from the third computer-implemented system, the second partial result;

encrypting, at the first computer-implemented system, a combined result, the combined result being based on the first partial result and the second partial result;

outputting, from the first computer-implemented system, the combined result and

providing from the first computer-implemented system, a confirmation to one of the first provider or the second provider regarding how the first partial result and the second partial result were obtained via the second computer-implemented system and the third computer-implemented system being separated.

2. The method of claim 1 , wherein the first product comprises an algorithm and the second product comprises data.

3. The method of claim 1 , further comprising: designating an intended recipient of the combined result.

4. The method of claim 3 , further comprising: only providing the combined result to the intended recipient.

5. The method of claim 1 , wherein the receiving of the second authorization to use the second product from the second provider is performed via a one-click or two-click operation.

6. The method of claim 1 , wherein upon the outputting of the combined result, a payment is processed from a recipient of the combined result to one of the first provider or the second provider.

7. The method of claim 1 , wherein the first provider receives the combined result and provides a payment to the second provider.

8. The method of claim 1 , wherein the second computer-implemented system being separate from the third computer-implemented system comprises at least one of a physical computer-based separation or a virtual environment separation.

9. The method of claim 1 , wherein the first Boolean logic gate set and the second Boolean logic gate set comprise AND gates and XOR gates.

10. The method of claim 1 , further comprising: sending the combined result to the first provider and displaying a representation of the combined result.

11. The method of claim 1 , further comprising: sending the combined result to the second provider and displaying a representation of the combined result.

12. The method of claim 1 , wherein the second product is selected from a list of products provided by the second provider.

13. The method of claim 1 , wherein the first product is retrieved by the first provider from a database.

14. The method of claim 1 , wherein the receiving of the request and the receiving of the first authorization and the second authorization comprises a one-click or a two-click authorization process for establishing a contract between the first provider and the second provider to generate the combined result.

15. A system comprising:

a first computer system;

a second computer system; and

a third computer system, wherein the first computer perform operations comprising:

receiving, from a first provider of a first product, a request for a second product from a second provider;

receiving a first authorization from the first provider to use the first product; and

receiving a second authorization to use the second product from the second provider;

establishing, based on the first authorization and the second authorization, a contract between the first provider and the second provider;

based on the first authorization and the second authorization:

dividing the first product into a first product first subset and a first product second subset;

encrypting the first product first subset and the first product second subset to yield an encrypted first product first subset and an encrypted first product second subset;

converting the encrypted first product first subset into a first Boolean logic gate set and the encrypted first product second subset into a second Boolean logic gate set;

transmitting, to the second computer system, the first Boolean logic gate set, wherein the first computer system is separate from the second computer system;

transmitting, to the third computer system, the second Boolean logic gate set;

dividing the second product into a second product first subset and a second product second subset;

encrypting the second product first subset and the second product second subset to yield an encrypted second product first subset and an encrypted second product second subset;

transmitting, from the first computer system to the second computer system, the encrypted second product first subset; and

transmitting, from the first computer system to the third computer system, the encrypted second product second subset;

wherein the second computer system performs operations comprising:

running the first Boolean logic gate set with the encrypted second product first subset to yield a first partial result;

wherein the third computer system performs operations comprising:

running the second Boolean logic gate set with the encrypted second product second subset to yield a second partial result, wherein the running, on the third computer system, of the second Boolean logic gate set with the encrypted second product second subset to yield the second partial result is performed such that privacy is maintained between the first product and the second product; and

wherein the first computer system further performs operations comprising:

receiving, from the second computer system, the first partial result;

receiving, from the third computer-implemented system, the second partial result;

encrypting a combined result, the combined result being based on the first partial result and the second partial result;

outputting the combined result; and

providing a confirmation to one of the first provider or the second provider regarding how the first partial result and the second partial result were obtained via the second computer system and the third computer system being separated.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: TRIPLEBLIND HOLDINGS, INC.
To: SELFIIE CORPORATION
Reel/Frame 068907/0556 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE SHOULD BE CORRECTED FROM TRIPLEBLIND HOLDING COMPANY TO TRIPLEBLIND HOLDINGS, INC. PREVIOUSLY RECORDED AT REEL: 67568 FRAME: 689. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 24, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDINGS, INC.
Reel/Frame 068722/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDING COMPANY
Reel/Frame 067568/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2020
From: STORM, GREG; DAS, RIDDHIMAN; GILKALAYE, BABAK POOREBRAHIM
To: TRIPLEBLIND, INC.
Reel/Frame 052233/0346 →
Continuity (2)
Provisional Application 62948105 · Dec 13, 2019
Related Publication 20200286145A1 · Sep 10, 2020