IP Library Granted Patent US 11,507,611
Granted Patent B2
US 11,507,611 · App. 17/084,846 · Granted Nov 22, 2022

Personalizing unstructured data according to user permissions

Inventors: Kalyan Palagummi (Dublin, CA); Hung Dinh (Austin, TX)
Assignee: Dell Products L.P.
G06F16/35G06F9/541G06F16/335G06F16/953H04L9/0643
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,507,611
App. No.
17/084,846
Granted
Nov 22, 2022
Kind
B2
Abstract

A system and method provide unstructured data to a client device based on permissions possessed by the device user and required by the data for access. Items of unstructured data stored in a data storage device are organized into data segments based on classifications assigned to them by their creators using a content management system. When a user later requests access to the data via a cloud-based service, such as a search service, the user privileges are converted into data segment identifiers which are then searched, and only the items of unstructured data that correspond to matching identifiers are returned. Data segment identifiers may be provided illustratively as a hash function to facilitate searching and to guarantee non-collision of data segment identifiers.

Claims (42)

1. A system for providing unstructured data to a client device, the system comprising:

a data storage device configured to store items of unstructured data according to a set of content privileges, each item of unstructured data being further associated with a stored data segment identifier based on the set of content privileges;

a server device, coupled to the data storage device, configured to execute a service for receiving a request for items of unstructured data from a user of the client device having a set of user privileges; and

a processor, coupled to the server device and the data storage device, configured to select the stored data segment identifiers that are based on a set of content privileges that is a subset of the set of user privileges by programmatically looping over the smaller of (a) a list of the stored data segment identifiers and (b) a list of subsets of the set of user privileges;

wherein the service is configured to respond to the received request by transmitting, toward the client device, items of unstructured data that are associated with only the selected data segment identifiers.

2. The system according to claim 1 , wherein the unstructured data comprise binary executable data, or video data, or audio data, or image data, or textual data, or any combination thereof.

3. The system according to claim 1 , wherein at least one data segment identifier comprises a hash function of the set of content privileges.

4. The system according to claim 1 , wherein the service comprises a website, or a search engine, or a content-matching application programming interface.

5. The system according to claim 1 , wherein the service is further configured to respond to the received request by transmitting the items of unstructured data toward the client device together with structured data.

6. The system according to claim 1 , further comprising a content management system, coupled to the data storage device, configured for altering a set of content privileges for each item of unstructured data stored in the data storage device.

7. The system according to claim 6 , wherein the processor is further configured to:

detect the content management system altering the set of content privileges for an item of unstructured data stored in the data storage device;

responsively generate a universally unique data segment identifier that is associated with the altered set of content privileges for the item of unstructured data; and

store, in the data storage device, an association between the item of unstructured data and the generated universally unique data segment identifier.

8. A method of providing unstructured data to a client device, the method comprising:

storing items of unstructured data in a data storage device according to a set of content privileges;

for each item of unstructured data, computing and storing in the data storage device a data segment identifier based on the set of content privileges;

receiving a request for items of unstructured data, by a server device from a user of the client device having a set of user privileges;

selecting the stored data segment identifiers that are based on a set of content privileges that is a subset of the set of user privileges by programmatically looping over the smaller of (a) a list of the stored data segment identifiers and (b) a list of subsets of the set of user privileges; and

the server device responding to the received request by transmitting, toward the client device, items of unstructured data that are associated with only the selected data segment identifiers.

9. The method according to claim 8 , wherein the unstructured data comprise binary executable data, or video data, or audio data, or image data, or textual data, or any combination thereof.

10. The method according to claim 8 , wherein at least one data segment identifier comprises a hash function of the set of content privileges.

11. The method according to claim 8 , wherein receiving the request from the user comprises receiving the request pertaining to a website, or a search engine, or a content-matching application programming interface, provided by the server device.

12. The method according to claim 8 , wherein the responding to the received request includes transmitting the items of unstructured data toward the client device together with structured data.

13. The method according to claim 8 , further comprising altering a set of content privileges for an item of unstructured data stored in the data storage device.

14. The method according to claim 13 , further comprising, responsively to the altering of the set of content privileges for the item of unstructured data:

generating a universally unique data segment identifier that is associated with the altered set of content privileges for the item of unstructured data; and

storing, in the data storage device, an association between the item of unstructured data and the generated universally unique data segment identifier.

15. A computer-readable storage medium that non-transitorily stores computer program code for performing a method of providing unstructured data to a client device, the method comprising:

storing items of unstructured data in a data storage device according to a set of content privileges;

for each item of unstructured data, computing and storing in the data storage device a data segment identifier based on the set of content privileges;

receiving a request for items of unstructured data, by a server device from a user of the client device having a set of user privileges;

selecting the stored data segment identifiers that are based on a set of content privileges that is a subset of the set of user privileges by programmatically looping over the smaller of (a) a list of the stored data segment identifiers and (b) a list of subsets of the set of user privileges; and

the server device responding to the received request by transmitting, toward the client device, items of unstructured data that are associated with only the selected data segment identifiers.

16. The storage medium according to claim 15 , wherein the unstructured data comprise binary executable data, or video data, or audio data, or image data, or textual data, or any combination thereof.

17. The storage medium according to claim 15 , wherein at least one data segment identifier comprises a hash function of the set of content privileges.

18. The storage medium according to claim 15 , wherein receiving the request from the user comprises receiving the request pertaining to a website, or a search engine, or a content-matching application programming interface, provided by the server device.

19. The storage medium according to claim 15 , wherein the responding to the received request includes transmitting the items of unstructured data toward the client device together with structured data.

20. The storage medium according to claim 15 , further comprising program code for, by the processor:

detecting an altering of the set of content privileges for the item of unstructured data;

responsively generating a universally unique data segment identifier that is associated with the altered set of content privileges for the item of unstructured data; and

storing, in the data storage device, an association between the item of unstructured data and the generated universally unique data segment identifier.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: PALAGUMMI, KALYAN; DINH, HUNG
To: DELL PRODUCTS L.P.
Reel/Frame 054237/0029 →