IP Library Granted Patent US 11,637,703
Granted Patent B2
US 11,637,703 · App. 17/479,818 · Granted Apr 25, 2023

Zero-knowledge environment based social networking engine

Inventor: William J. Raduchel (Palo Alto, CA)
Assignee: eIngot LLC
H04L9/3221G06F21/6263H04L51/00H04L51/52H04L63/0442H04L63/061H04L63/10H04L63/102H04L65/403H04L67/1095H04L61/4594H04L65/1016H04L65/1063H04L65/1073H04L65/1089H04L65/1104H04N7/173
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,637,703
App. No.
17/479,818
Granted
Apr 25, 2023
Kind
B2
Abstract

Methods, systems, and apparatus are described providing social networking engines. Specifically, the present specification relates to a method for implementing software containers implementing social network engines that may be configured to act in a zero-knowledge environment. In such implementations, all information pertaining to the social network engine associated with a user that is stored in the container is solely that of a user unless explicitly shared by the user. In some implementations, the containers may be configured to participate in a publish-and-subscribe network in order to share information. In addition, the containers may be provisioned with controls so that global operators may comply with local privacy rules.

Claims (59)

1. A computer-implemented method comprising:

receiving, from an application instance deployed on a computing device, a request indicating an election of a service to run on a first software container that is associated with a first user, wherein the service is configured to operate using data for the first user that is stored on the first software container, wherein the first software container is a server virtualization instance configured to operate on one or more processing resources and independently of one or more other containers that operate on the one or more processing resources; and

in response to receiving the election:

identifying, by a software engine for the service in the first software container, a data object from a set of data objects based on the data for the first user stored on the first software container, wherein the software engine does not release at least a portion of the data for the first user outside the first software container into an outside server; and

transmitting, to the computing device, the data object.

2. The computer-implemented method of claim 1 , wherein:

receiving the request indicating the election of the service comprises receiving a request indicating an election of an advertising service; and

identifying the data object from the set of data objects comprises identifying an advertisement from a set of advertisements.

3. The computer-implemented method of claim 1 , wherein identifying the data object from the set of data objects comprises selecting, by the software engine, the data object from among the set of data objects based on a level of similarity between the data object and at least a portion of the data for the user.

4. The computer-implemented method of claim 3 , wherein selecting the data object from among the set of data objects based on the level of similarity between the data object and the at least portion of the data for the first user comprises:

identifying an interest of the first user from the at least portion of the data for the first user; and

identifying the data object from among the set of data objects as a data object that is associated with the interest.

5. The computer-implemented method of claim 3 , wherein selecting the data object from among the set of data objects based on the level of similarity between the data object and the at least portion of the data for the first user comprises:

identifying a keyword from the at least portion of the data for the first user; and

identifying the data object from among the set of data objects as a data object that is associated with the keyword.

6. The computer-implemented method of claim 3 , wherein selecting the data object from among the set of data objects based on the level of similarity between the data object and the at least portion of the data for the first user comprises:

identifying an attribute of the first user from the at least portion of the data for the first user; and

identifying the data object from among the set of data objects as a data object that is associated with the attribute.

7. The computer-implemented method of claim 3 , wherein selecting the data object from among the set of data objects based on the level of similarity between the data object and the at least portion of the data for the first user comprises:

identifying a tag corresponding to the first user;

comparing information in the tag to information describing the data objects in the set of data objects; and

based on the comparison, selecting the data object from among the set of data objects based on a level of similarity between a subset of the information describing the data object and the information in the tag.

8. The computer-implemented method of claim 7 , wherein:

the tag specifies at least one of an interest of the first user, a keyword associated with the first user, and an attribute of the first user; and

the information in the tag includes at least one of the interest of the first user, the keyword associated with the first user, and the attribute of the first user.

9. The computer-implemented method of claim 7 , wherein selecting the data object based on the level of similarity between the subset of information describing the data object and the information in the tag comprises selecting the data object based on the subset of information describing the data object matching the information in the tag.

10. The computer-implemented method of claim 3 , wherein selecting the data object from among the set of data objects based on the level of similarity between the data object and the at least portion of the data for the first user comprises:

identifying a tag corresponding to the first user;

comparing the tag corresponding to the first user to tags corresponding to the data objects in the set of data objects; and

based on the comparison, selecting the data object from among the set of data objects based on a level of similarity between the tag corresponding to the data object and the tag corresponding to the first user.

11. The computer-implemented method of claim 10 , wherein selecting the data object based on the level of similarity between the tag corresponding to the data object and the tag corresponding to the first user comprises selecting the data object based on the tag corresponding to the data object matching the tag corresponding to the first user.

12. The computer-implemented method of claim 10 , wherein the tag specifies at least one of an interest of the first user, a keyword associated with the first user, and an attribute of the first user.

13. The computer-implemented method of claim 1 , wherein identifying the data object from the set of data objects comprises receiving, from a server, a collection of information describing the set of data objects.

14. The computer-implemented method of claim 1 , wherein identifying the data object from the set of data objects comprises:

receiving, from a server, one or more suggested data objects, wherein the set of data objects includes the one or more suggested data objects; and

after receiving the suggested data objects, analyzing, by the software engine, the suggested data objects to identify the data object from among the one or more suggested data objects based on a level of similarity between the data object and at least a portion of the data for the first user.

15. The computer-implemented method of claim 1 , wherein

receiving the request indicating an election of the service comprises receiving an election of an advertising service to run on the first software container;

identifying the data object from the set of data objects comprises identifying an advertisement from a set of one or more advertisements; and

transmitting the data object comprises transmitting the identified advertisement.

16. A system comprising:

one or more computers; and

one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, from an application instance deployed on a computing device, a request indicating an election of a service to run on a first software container that is associated with a first user, wherein the service is configured to operate using data for the first user that is stored on the first software container, wherein the first software container is a server virtualization instance configured to operate on one or more processing resources and independently of one or more other containers that operate on the one or more processing resources; and

in response to receiving the election:

identifying, by a software engine for the service in the first software container, a data object from a set of data objects based on the data for the first user stored on the first software container, wherein the software engine does not release at least a portion of the data for the first user outside the first software container into an outside server; and

transmitting, to the computing device, the data object.

17. The system of claim 16 , wherein:

receiving the request indicating the election of the service comprises receiving a request indicating an election of an advertising service; and

identifying the data object from the set of data objects comprises identifying an advertisement from a set of advertisements.

18. The system of claim 16 , wherein identifying the data object from the set of data objects comprises selecting, by the software engine, the data object from among the set of data objects based on a level of similarity between the data object and at least a portion of the data for the user.

19. The system of claim 18 , wherein selecting the data object from among the set of data objects based on the level of similarity between the data object and the at least portion of the data for the first user comprises:

identifying an interest of the first user from the at least portion of the data for the first user; and

identifying the data object from among the set of data objects as a data object that is associated with the interest.

20. A non-transitory computer-readable storage medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving, from an application instance deployed on a computing device, a request indicating an election of a service to run on a first software container that is associated with a first user, wherein the service is configured to operate using data for the first user that is stored on the first software container, wherein the first software container is a server virtualization instance configured to operate on one or more processing resources and independently of one or more other containers that operate on the one or more processing resources; and

in response to receiving the election:

identifying, by a software engine for the service in the first software container, a data object from a set of data objects based on the data for the first user stored on the first software container, wherein the software engine does not release at least a portion of the data for the first user outside the first software container into an outside server; and

transmitting, to the computing device, the data object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: RADUCHEL, WILLIAM J.
To: EINGOT LLC
Reel/Frame 057540/0642 →
Continuity (6)
Continuation 16902932 · Jun 16, 2020
Continuation 15607924 · May 30, 2017
Continuation 14824828 · Aug 12, 2015
Provisional Application 62154515 · Apr 29, 2015
Provisional Application 62036267 · Aug 12, 2014
Related Publication 20220116219A1 · Apr 14, 2022
Cited By (2)
US 12,294,621 US 12,407,519