IP Library Granted Patent US 12,651,085
Granted Patent B2
US 12,651,085 · App. 18/437,866 · Granted Jun 9, 2026

Privacy-preserving recommendation generation

Inventors: Fabian K. Boemer (Mountain View, CA); Venkat Kranthi Chalasani (Dublin, CA); Andrii Cherkashyn (Cupertino, CA); Matthew L. Jockers (Bainbridge Island, WA); Muqun Li (Jersey City, NJ); Sudhanshu Mohan (Woodbridge, NJ); Rahul Nim (Palo Alto, CA); Yuantao Peng (New York City, NY); Rehan Rishi (San Francisco, CA); Hazi Malang Riyaaz Shaik (Sunnyvale, CA); Karl Tarbe (Cupertino, CA); Pranav Prashant Thombre (San Jose, CA); Haluk N. Tokgozoglu (New York City, NY); Chandrasekar Venkataraman (Los Altos, CA); Wei Xu (Clyde Hill, WA)
Assignee: Apple Inc.
G06F21/6227G06F16/9535G06F21/602
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 12,651,085
App. No.
18/437,866
Granted
Jun 9, 2026
Kind
B2
Abstract

A computing device provides a user recommendation according to one or more privacy protocols. The computing device sends to a server one or more encrypted recommendation requests for recommendation information relating to a set of items, where the recommendation requests are encrypted by a cryptographic key not accessible to the server. The server uses the encrypted recommendation requests and a recommendation data store to generate one or more encrypted recommendation responses that it returns to the computing device using at least one of the privacy protocols, which prevents the server from accessing the encrypted recommendation request and recommendation response. The computing device receives from the server the encrypted recommendation responses relating to the set of items and decrypts the recommendation responses. Then, the computing device generates a user recommendation relating to the set of items from the decrypted recommendation responses and provides the recommendation to the user.

Claims (65)

1 . An apparatus, comprising:

a processor circuit; and

a memory storing instructions executable by the processor circuit to cause the apparatus to perform operations comprising:

storing user preference data collected based on activity on the apparatus relative to a set of items;

communicating with a computer server according to one or more privacy protocols, wherein the communicating includes:

sending, to the computer server, one or more encrypted recommendation requests relating to the set of items; and

receiving, from the computer server, one or more encrypted recommendation responses, wherein the one or more privacy protocols prevent the computer server from accessing unencrypted versions of 1) the one or more encrypted recommendation requests and 2) the one or more encrypted recommendation responses;

decrypting, by the apparatus, the one or more encrypted recommendation responses to produce a set of decrypted recommendation response data;

generating a user recommendation relating to the set of items, wherein the generating uses the set of decrypted recommendation response data, wherein the user recommendation is produced by the apparatus using a subset of the user preference data, but without sending the subset of the user preference data to the computer server; and

providing the user recommendation to the user.

2 . The apparatus of claim 1 , wherein:

the user preference data includes information collected by one or more applications executing on the apparatus; and

the one or more applications include media content applications.

3 . The apparatus of claim 1 , wherein the operations further comprise:

using user preference data to modify one or more of the encrypted recommendation requests; and/or

using the user preference data to generate the user recommendation by ranking information included in the set of decrypted recommendation response data.

4 . The apparatus of claim 1 , wherein the one or more encrypted recommendation requests include a single encrypted recommendation request, and wherein the one or more recommendation responses include a single encrypted recommendation response; and

wherein the single encrypted recommendation request includes a key for key-value retrieval, and wherein the single recommendation response includes data that corresponds to the key.

5 . The apparatus of claim 1 , wherein the communicating further includes:

sending, to the computer server, a first of the one or more encrypted recommendation requests that specifies a particular item of the set of items;

receiving, from the computer server, a first of the one or more recommendation responses that includes a first set of one or more embedding values for the particular item;

sending, to the computer server, a second of the one or more encrypted recommendation requests that includes at least one embedding value based on the first set of one or more embedding values; and

receiving, from the computer server, a second of the one or more encrypted recommendation responses that includes a second set of one or more embedding values that are determined to be close to the at least one embedding value in an embedding space.

6 . The apparatus of claim 5 , wherein the communicating further includes:

sending, to the computer server, a third of the one or more encrypted recommendation requests that includes at least one tuned embedding value based on the second set of one or more embedding values and tuned using user preference data; and

receiving, from the computer server, a third of the one or more encrypted recommendation responses that includes a third set of one or more embedding values that are determined to be close to the at least one tuned embedding value in the embedding space.

7 . The apparatus of claim 5 , wherein the communicating further includes:

receiving, as part of the first encrypted recommendation response, a set of shard identifiers for a recommendation data store on the computer server, the set of shard identifiers specifying a particular shard identifier corresponding to the first set of one or more embedding values; and

sending, as part of the second encrypted recommendation request, a group of shard identifiers that includes the particular shard identifier and one or more other ones of the set of shard identifiers, the group of shard identifiers limiting a portion of the recommendation data store that is queried to produce a second encrypted recommendation response corresponding to the second encrypted recommendation request.

8 . The apparatus of claim 1 , wherein a first one of the one or more encrypted recommendation requests includes a particular embedding value for a particular one of the set of items, and wherein a corresponding first one of the one or more recommendation responses identifies a plurality of items in the set of items having embedding values similar to the particular embedding value.

9 . The apparatus of claim 8 , wherein the communicating further includes generating the particular embedding value by tuning the one or more of a first set of embedding values using user preference data collected based on activity on the apparatus relative to the set of items.

10 . A non-transitory computer-readable medium having program instructions stored therein that are executable by a computing device to perform operations comprising:

storing user preference data collected based on activity on the computing device relative to a set of items;

communicating with a computer server according to one or more privacy protocols, wherein the communicating includes:

sending, to the computer server, one or more encrypted recommendation requests relating to the set of items; and

receiving, from the computer server, one or more encrypted recommendation responses, wherein the one or more privacy protocols prevent the computer server from accessing unencrypted versions of 1) the one or more encrypted recommendation requests and 2) the one or more encrypted recommendation responses;

decrypting the one or more encrypted recommendation responses to produce a set of decrypted recommendation response data;

generating a user recommendation relating to the set of items, wherein the generating uses the set of decrypted recommendation response data, wherein the user recommendation is produced by the computing device using a subset of the user preference data, but without sending the subset of the user preference data to the computer server; and

providing the user recommendation to the user.

11 . The computer-readable medium of claim 10 , wherein:

the user preference data relates to a type of media content;

the user preference data specifies volume information relating to the set of items; and

the volume information specifies one or more of the following: a number of times particular media content items have been consumed by the user, an amount of time the user has spent interacting with various ones of the media content items, a percentage of particular media content items consumed on the computing device, explicit user preference information relating to the media content items.

12 . The computer-readable medium of claim 10 , wherein the one or more encrypted recommendation requests include a single encrypted recommendation request, and wherein the one or more encrypted recommendation responses include a single encrypted recommendation response; and

wherein the single encrypted recommendation request includes a key for key-value retrieval, and wherein the single encrypted recommendation response includes data that corresponds to the key.

13 . The computer-readable medium of claim 10 , wherein the communicating further includes:

sending, to the computer server, a first of the one or more encrypted recommendation requests that specifies a particular item of the set of items;

receiving, from the computer server, a first of the one or more encrypted recommendation responses that includes a first set of one or more embedding values for the particular item;

sending, to the computer server, a second of the one or more encrypted recommendation requests that includes at least one embedding value based on the first set of one or more embedding values; and

receiving, from the computer server, a second of the one or more encrypted recommendation responses that includes a second set of one or more embedding values that are determined to be close to the at least one embedding value in an embedding space.

14 . A method, comprising:

storing, by a computing device, user preference data collected based on activity on the computing device relative to a set of items;

communicating, by the computing device, with a computer server according to one or more privacy protocols, wherein the communicating includes:

sending, to the computer server, one or more encrypted recommendation requests relating to the set of items; and

receiving, from the computer server, one or more encrypted recommendation responses, wherein the one or more privacy protocols prevent the computer server from accessing unencrypted versions of 1) the one or more encrypted recommendation requests and 2) the one or more encrypted recommendation responses;

decrypting, by the computing device, the one or more encrypted recommendation responses to produce a set of decrypted recommendation response data;

generating, by the computing device, a user recommendation relating to the set of items, wherein the generating uses the set of decrypted recommendation response data, wherein the user recommendation is produced by the computing device using a subset of the user preference data, but without sending the subset of the user preference data to the computer server; and

providing, by the computing device, the user recommendation to the user.

15 . The method of claim 14 , further comprising:

sending, to the computer server using a first one of the one or more privacy protocols, a first of the one or more encrypted recommendation requests that specifies a particular item of the set of items;

receiving, from the computer server using the first privacy protocol, a first of the one or more recommendation responses that includes a first set of one or more embedding values for the particular item;

sending, to the computer server using a second one of the one or more privacy protocols, a second of the one or more encrypted recommendation requests that includes at least one embedding value based on the first set of one or more embedding values; and

receiving, from the computer server using the second privacy protocol, a second of the one or more encrypted recommendation responses that includes a second set of one or more embedding values that are determined to be close to the at least one embedding value in an embedding space.

16 . The method of claim 15 , wherein the first privacy protocol includes a key-value retrieval operation, and the second, different privacy protocol includes a privacy-preserving nearest neighbor search operation.

17 . The method of claim 14 , wherein the computing device is a mobile device and wherein at least one of the one or more encrypted recommendation responses is generated using a recommendation data store accessible by the computer server that stores information about the set of items.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2024
From: BOEMER, FABIAN K.; CHALASANI, VENKAT KRANTHI; JOCKERS, MATTHEW L.; LI, MUQUN; MOHAN, SUDHANSHU; NIM, RAHUL; PENG, YUANTAO; RISHI, REHAN; SHAIK, HAZI MALANG RIYAAZ; TARBE, KARL; THOMBRE, PRANAV PRASHANT; TOKGOZOGLU, HALUK N.; VENKATARAMAN, CHANDRASEKAR; XU, WEI; CHERKASHYN, ANDRII
To: APPLE INC.
Reel/Frame 066431/0459 →
Continuity (2)
Provisional Application 63505749 · Jun 2, 2023
Related Publication 20240403476A1 · Dec 5, 2024
References Cited (16)
US 10810235B1 · Bakshi · 2020 [cited by applicant]
US 12380484B1 · Chaturvedi · 2025 [cited by examiner]
US 20140187266A1 · Nawaz et al. · 2014 [cited by applicant]
US 20160012238A1 · Ioannidis · 2016 [cited by examiner]
US 20200065512A1 · Chou et al. · 2020 [cited by applicant]
US 20220114456A1 · Nouri · 2022 [cited by examiner]
US 20220392219A1 · Chatzidakis et al. · 2022 [cited by applicant]
US 20230206283A1 · Maher · 2023 [cited by examiner]
US 20240259623A1 · Harb · 2024 [cited by examiner]
CN 106202331B · 2019 [cited by examiner]
WO WO2015191921A1 · 2015 [cited by examiner]
Badsha et al. Privacy Preserving User-Based Recommender System. 2017 IEEE 37th International Conference on Distributed Computing Systems. Jun. 5-8, 2017. 1074-1083. (Year: 2017). [cited by examiner]
Location-Based Services: Definition and Examples, Business News Daily, retrieved Jan. 25, 2024, pp. 1-15, https://www.businessnewsdaily.com/5386-location-based-services.html. [cited by applicant]
Notes on Geohashing, retrieved Jan. 25, 2024, pp. 1-8, https://eugene-eeo.github.io/blog/geohashing.html. [cited by applicant]
Benny Chor, et al., Private Information Retrieval, Journal of the ACM, vol. 45, No. 6, Nov. 1998, pp. 965-982. [cited by applicant]
Verma et al., “Artificial Intelligence based Recommendation System,” 2020 2nd International Conference on Advances in Computing, Communication Control and Networking (ICACCCN), pp. 669-673. [cited by applicant]