IP Library Granted Patent US 10,776,511
Granted Patent B2
US 10,776,511 · App. 15/805,611 · Granted Sep 15, 2020

User experience using privatized crowdsourced data

Inventors: Kevin W. Decker (San Jose, CA); Conrad Shultz (San Jose, CA); Steve Falkenburg (Los Altos, CA); Mateusz Rajca (Menlo Park, CA); Abhishek Bhowmick (San Francisco, CA); Andrew H. Vyrros (San Francisco, CA); Umesh S. Vaishampayan (Santa Clara, CA)
Assignee: Apple Inc.
G06F21/6245G06F1/28G06F3/0483H04L9/3239H04L63/0428H04L67/02H04L67/22H04W12/02G06F3/0482H04L2209/34H04L2209/42
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 10,776,511
App. No.
15/805,611
Granted
Sep 15, 2020
Kind
B2
Abstract

Embodiments described herein provide a privacy mechanism to protect user data when transmitting the data to a server that estimates a frequency of such data amongst a set of client devices. One embodiment uses a differential privacy mechanism to enhance a user experience by inferring potential user preferences from analyzing crowdsourced user interaction data. Based on a statistical analysis of user interactions in relation to various features or events, development efforts with respect to application behavior may be refined or enhanced. For example, user interactions in relation to the presentation of content such as content from online sources may be analyzed. Accordingly, presentation settings or preferences may be defined based on the crowdsourced user interaction data.

Claims (59)

1. An electronic device comprising:

a non-transitory machine-readable medium to store instructions; and

one or more processors to execute the instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to:

detect an interaction in relation to an application, the interaction performed in response to instructions within a webpage presented by the application, wherein the webpage presented by the application is to cause presentation of a media item and the interaction is provided in response to initiation, attempted initiation, or allowance of auto-play of the media item presented by the webpage or a web application associated with the webpage;

associate the webpage presented by the application to a category based on the interaction, the category selected from a set of categories related to an inferred preference for presentation of the webpage by the application, wherein the set of categories include one or more categories related to the inferred preference associated with the auto-play of the media item;

create a privatized encoding including a representation of the webpage presented by application and a representation of the category; and

transmit the privatized encoding to at least one server, the server to accumulate a privatized encoding from multiple devices to estimate a frequency of the webpage presented by the application being associated with the category amongst the multiple devices.

2. The electronic device as in claim 1 , wherein the set of categories includes a first category related to the inferred preference to enable auto-play of the media item.

3. The electronic device as in claim 2 , wherein the response includes to allow auto-play of the media item to exceed a predetermined time value after the webpage presents the media item or to enlarge or maximize the media item after auto-play is initiated for the media item.

4. The electronic device as in claim 2 , wherein auto-play is disabled for the webpage visited by a user based on a setting and the response includes to select to play the media item for which the webpage attempted to initiate auto-play within a predetermined time value of presentation of the media item.

5. The electronic device as in claim 1 , wherein the response is provided in response to initiation, attempted initiation, or allowance of auto-play of the media item within the webpage or a web application associated with the webpage, and the set of categories include a second category related to the inferred preference to disable auto-play of media content.

6. The electronic device as in claim 5 , wherein the response includes to close or minimize the application or a tab associated with the webpage.

7. The electronic device as in claim 5 , wherein the response includes to mute or lower a system volume.

8. The electronic device as in claim 5 , wherein auto-play is disabled for the webpage based on a setting and the response includes to navigate away from the media item without playback of the media item.

9. The electronic device as in claim 5 , wherein the response includes to interrupt an auto-play of the media item within a predetermined time value of the webpage presenting the media item, and wherein to interrupt the auto-play includes to pause, stop, or mute the media item, or to lower a volume of the media item to a predetermined level.

10. The electronic device as in claim 1 , the instructions further to cause the one or more processors to:

determine that content on a webpage to be displayed by the application includes logic that indicates that media content set for auto-play; and

adjust one or more presentation settings for the media content prior to presentation of the media content by the application.

11. The electronic device as in claim 10 , wherein to adjust the one or more presentation settings includes to disable auto-play, delay the auto-play, pause the auto-play, or mute the media content.

12. The electronic device of claim 1 , wherein to create the privatized encoding, the instructions are to cause the one or more processors to:

create a hash value of the representation of the webpage and the representation of the category via a randomly selected hash function,

encode an initialized vector via a sign flip of a value of the initialized vector at a position corresponding to the hash value, and

change at least some of the values of the initialized vector with a predefined probability determined based on a privacy parameter.

13. A method performed on a computing device, the method comprising:

detecting an interaction in relation to an application, the interaction performed in response to instructions within a webpage presented by the application, wherein the webpage presented by the application is to cause presentation of a media item and the interaction is provided in response to initiation, attempted initiation, or allowance of auto-play of the media item presented by the webpage or a web application associated with the webpage;

associating the webpage presented by the application to a category based on the interaction, the category selected from a set of categories related to an inferred preference for presentation of the webpage by the application, wherein the set of categories include one or more categories related to the inferred preference associated with the auto-play of the media item;

creating a privatized encoding including a representation of the webpage presented by application and a representation of the category; and

transmitting the privatized encoding to at least one server, the server to accumulate a privatized encoding from multiple devices to estimate a frequency of the webpage presented by the application being associated with the category amongst the multiple devices.

14. The method as in claim 13 , wherein the the set of categories includes a first category related to the inferred preference to enable auto-play of the media item.

15. The method as in claim 14 , wherein the response includes to allow auto-play of the media item to exceed a predetermined time value after the webpage presents the media item or to enlarge or maximize the media item after auto-play is initiated for the media item.

16. The method as in claim 14 , wherein auto-play is disabled for the webpage visited by a user based on a setting and the response includes to select to play the media item for which the webpage attempted to initiate auto-play within a predetermined time value of presentation of the media item.

17. The method as in claim 13 , wherein the response is provided in response to initiation, attempted initiation, or allowance of auto-play of the media item within the webpage or a web application associated with the webpage, and the set of categories include a second category related to the inferred preference to disable auto-play of media content.

18. The method as in claim 17 , wherein the response includes closing or minimizing the application or a tab associated with the webpage, muting a volume of the computing device, lowering the volume of the computing device, interrupting an auto-play of the media item within a predetermined time value of the webpage presenting the media item, wherein interrupting the auto-play includes to pause, stop, or mute the media item, or to lower a volume of the media item to a predetermined level.

19. The method as in claim 17 , wherein auto-play is disabled for the webpage based on a setting and the response includes navigating away from the media item without playback of the media item.

20. The method as in claim 13 , additionally comprising:

determining that content on a webpage to be displayed by the application includes logic that indicates that media content set for auto-play; and

adjusting one or more presentation settings for the media content prior to presentation of the media content by the application, wherein adjusting the one or more presentation settings includes to disable auto-play, delay the auto-play, pause the auto-play, or mute the media content.

21. The method as in claim 13 , wherein creating the privatized encoding includes:

creating a hash value of the representation of the webpage and the representation of the category via a randomly selected hash function,

encoding an initialized vector via a sign flip of a value of the initialized vector at a position corresponding to the hash value, and

changing at least some of the values of the initialized vector with a predefined probability determined based on a privacy parameter.

22. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the computing device to perform operations comprising:

detecting an interaction in relation to an application, the interaction performed in response to instructions within a webpage presented by the application, wherein the webpage presented by the application is to cause presentation of a media item and the interaction is provided in response to initiation, attempted initiation, or allowance of auto-play of the media item presented by the webpage or a web application associated with the webpage;

associating the webpage presented by the application to a category based on the interaction, the category selected from a set of categories related to an inferred preference for presentation of the webpage by the application, wherein the set of categories include one or more categories related to the inferred preference associated with the auto-play of the media item;

creating a privatized encoding including a representation of the webpage presented by application and a representation of the category; and

transmitting the privatized encoding to at least one server, the server to accumulate a privatized encoding from multiple devices to estimate a frequency of the webpage presented by the application being associated with the category amongst the multiple devices.

23. The non-transitory machine-readable medium as in claim 22 , wherein the set of categories includes a first category related to the inferred preference to enable auto-play of the media item.

24. The non-transitory machine-readable medium as in claim 23 , wherein the response includes to allow auto-play of the media item to exceed a predetermined time value after the webpage presents the media item or to enlarge or maximize the media item after auto-play is initiated for the media item.

25. The non-transitory machine-readable medium as in claim 23 , wherein auto-play is disabled for the webpage visited by a user based on a setting and the response includes to select to play the media item for which the webpage attempted to initiate auto-play within a predetermined time value of presentation of the media item.

26. The non-transitory machine-readable medium as in claim 22 , wherein the response is provided in response to initiation, attempted initiation, or allowance of auto-play of the media item within the webpage or a web application associated with the webpage, and the set of categories include a second category related to the inferred preference to disable auto-play of media content.

27. The non-transitory machine-readable medium as in claim 26 , wherein the response includes closing or minimizing the application or a tab associated with the webpage, muting a volume of the computing device, lowering the volume of the computing device, interrupting an auto-play of the media item within a predetermined time value of the webpage presenting the media item, wherein interrupting the auto-play includes to pause, stop, or mute the media item, or to lower a volume of the media item to a predetermined level.

28. The non-transitory machine-readable medium as in claim 26 , wherein auto-play is disabled for the webpage based on a setting and the response includes navigating away from the media item without playback of the media item.

29. The non-transitory machine-readable medium as in claim 22 , the operations additionally comprising:

determining that content on a webpage to be displayed by the application includes logic that indicates that media content set for auto-play; and

adjusting one or more presentation settings for the media content prior to presentation of the media content by the application, wherein adjusting the one or more presentation settings includes to disable auto-play, delay the auto-play, pause the auto-play, or mute the media content.

30. The non-transitory machine-readable medium as in claim 22 , wherein creating the privatized encoding includes:

creating a hash value of the representation of the webpage and the representation of the category via a randomly selected hash function,

encoding an initialized vector via a sign flip of a value of the initialized vector at a position corresponding to the hash value, and

changing at least some of the values of the initialized vector with a predefined probability determined based on a privacy parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2018
From: DECKER, KEVIN W.; SHULTZ, CONRAD; FALKENBURG, STEVE; RAJCA, MATEUSZ; BHOWMICK, ABHISHEK; VYRROS, ANDREW H.; VAISHAMPAYAN, UMESH S.
To: APPLE INC.
Reel/Frame 045100/0831 →
Continuity (2)
Provisional Application 62514933 · Jun 4, 2017
Related Publication 20180349637A1 · Dec 6, 2018
Cited By (1)
US 12,712,736