The invention relates generally to data privacy, and more particularly to website and computer application data privacy.
Privacy settings for websites and other online services are typically set by the providers of the web sites and other online services. Additional privacy settings may be set through a user's web browser, for example Chrome™, Internet Explorer™, Edge™, Firefox™, and Opera™ browsers. Users have many options to select from in instituting privacy settings, and the consequences of their selected options are not always apparent. Often webpages or other online services do not load or do not function as expected if a user does not accept the privacy terms of the provider of the webpage or other online services.
This Summary introduces simplified concepts that are further described below in the Detailed Description of Illustrative Embodiments. This Summary is not intended to identify key features or essential features of the claimed subject matter and is not intended to be used to limit the scope of the claimed subject matter.
A method for accessing a network resource is provided. The method includes detecting an attempt by a user via a computing device to access a service enabled by a computing system via a network and transmitting via the network to the computing system a first request to access the service in response to detecting the attempt by the user to access the service, the first request including at least one empty personally identifiable data structure. A failure to access the service responsive to the first request is determined. A second request to access the service in response to the first failure to access the service is transmitted via the network to the computing system, the second request including artificial personally identifiable information, and access to the service from the computing system is received for the user.
Further provided is another method for accessing a network resource, the method including receiving first privacy preference parameters of a user, detecting an attempt by the user via a computing device to access a service enabled by a computing system via a network, and transmitting via the network to the computing system a first request to access the service using the first privacy preference parameters of the user in response to detecting the attempt by the user to access the service. A failure to access the service is determined, the failure to access the service responsive to the first request. The user is queried for consent to access the service using second privacy preference parameters, the consent to access the service using the second privacy preference parameters is received from the user, and the second privacy preference parameters of the user are received. A second request to access the service is transmitted via the network to the computing system using the second privacy preference parameters in response to receiving from the user the consent to access the service using the second privacy preference parameters, and access to the service from the computing system is received for the user.
An electronic system is provided including a computing device including one or more hardware processors and one or more non-transitory computer-readable storage mediums coupled to the one or more hardware processors and storing programming instructions for execution by the one or more hardware processors, wherein the programming instructions, when executed, cause the computing device to perform operations including detecting an attempt by a user via the computing device to access a service enabled by a computing system via a network, and transmitting via the network to the computing system a first request to access the service in response to detecting the attempt by the user to access the service, the first request including one or more empty personally identifiable data structures. The operations further include determining a first failure to access the service, the first failure to access the service responsive to the first request, transmitting via the network to the computing system a second request to access the service in response to the first failure to access the service, the second request including artificial personally identifiable information, and receiving access to the service for the user. The operations can further include determining a second failure to access the service via the second request including the artificial personally identifiable information, querying the user via the computing device for consent to access the service using genuine personally identifiable information of the user, receiving from the user via the computing device the consent to access the service using the genuine personally identifiable information of the user, transmitting via the network to the computing system a third request to access the service in response to receiving from the user the consent, the third request including the genuine personally identifiable information of the user, and receiving the access to the service after transmitting the third request via the network to the computing system.
Further provided is a method for accessing a webpage, the method including detecting an attempt by a user via a computing device to access a webpage enabled by a computing system via a network, and transmitting via the network to the computing system a first request to access the webpage using artificial privacy preference parameters in response to detecting the attempt by the user to access the webpage. A failure to access the webpage is determined, the failure to access the webpage responsive to the first request. The user is queried for consent to access the webpage using genuine privacy preference parameters of the user, and the consent to access the webpage using the genuine privacy preference parameters of the user is received from the user. A second request to access the webpage using the genuine privacy preference parameters of the user is transmitted via the network to the computing system in response to receiving from the user the consent to access the webpage using the genuine privacy preference parameters of the user, and access to the webpage is received from the computing system for the user.
A more detailed understanding may be had from the following description, given by way of example with the accompanying drawings. The Figures in the drawings and the detailed description are examples. The Figures and the detailed description are not to be considered limiting and other examples are possible. Like reference numerals in the Figures indicate like elements wherein:
Referring to
A network-connectable processor-enabled privacy manager 20 enables survey queries to be provided to a user of a computing device 12. The queries can be provided in a user interface 56 via instructions from a privacy negotiator 14 based on data transmitted from a privacy application program interface (“API”) 30 of the privacy manager 20. Alternatively, queries can be provided via the user interface 56 based on data transmitted from a web application 28 enabled by the privacy manager 20 and accessible via a web browser 50 executed on the computing device 12. A user's responses to the survey queries can reflect the importance to the user of topics including data sharing permissions, data collection permissions, or website or application data requirements, which information is stored in a user datastore 26 or a local datastore 54 and used by the privacy manager 20 or the privacy negotiator 14 in performing privacy negotiations with network-accessible computing systems hosting websites, webpages of websites, and applications. Websites and applications can include for example social media or messaging applications or platforms for example Facebook™, LinkedIn™, and Google™ social media or messaging applications or platforms. Applications can include standalone applications, plugins, add-ons, or extensions to existing applications, for example web browser plugins. Applications or components thereof can be installed and executed locally on a computing device 12 or installed and executed on remote computing systems accessible to the computing device 12 via a communications network 8, for example the Internet.
A website server or application server 40 (hereinafter “web/app server”) can function to enable local applications 52 or components of a local application 52. Web/app servers 40 can further enable services including network-based applications, webpages, or other services accessible via a web browser 50. Local applications 52 can be downloaded for example via a web browser 50 from an application repository 42. The privacy negotiator 14 monitors user activity on the computing device 12 including a user's use of local and network-based applications, accessing of websites, explicit and implicit acceptance of application and website data privacy policies. Statistics of such use is used by the modeling engine 22 to build data-driven statistical models of user privacy preference stored in the model datastore 24 of the privacy manager 20 or the local datastore 54 of the computing device 12. The modeling engine 22 can for example function under the assumption that a user would consent to terms of a data privacy policy if that user had already consented to similar terms of another data privacy policy in the past.
To enable negotiation processes performed via the privacy negotiator 14 and the privacy manager 20, a user of a computing device 12 is beneficially queried by the privacy negotiator 14 via the user interface 56. The user can be provided a number of questions (e.g., 5-10 questions) regarding their privacy preferences. The questions relate to what the user is willing to accept from and share with a website, application, or other network-based service. For example a user can be asked if they are willing to share their browsing histories, browser fingerprints, dynamic or static location, demographic information, and advertising preferences and the user's responses can be stored by the privacy negotiator 14 in a local datastore 54 or the user datastore 26. The user indicates to the privacy negotiator 14 a service, for example a website, they want to access. In the case that the service includes a hosted webpage, and the privacy negotiator 14 functions as an add-on or plugin to a web browser 50 which monitors activity of the web browser 50, the user can enter the Universal Resource Locator (“URL”) or portion thereof of the hosted webpage into the web browser 50.
Responsive to a user's attempt to access a webpage, website or other service, the privacy negotiator 14 enables a request to the web/app server 40 hosting the webpage, website or other service based on the user's privacy preferences. If allowed by the web/app server 40, the privacy negotiator 14, for example via the browser 50, loads a version of the webpage or website or other service including a network resource which conforms with the user's privacy preferences as accepted by the web/app server 40. A user's privacy preferences can be rendered available to the web/app server 40 responsive to a user's attempt to access the webpage via the web browser 50. Alternatively, the user's privacy preferences can be communicated to web/app servers 40 by a user preferences interface 34 of the privacy manager 20, either directly or via application settings APIs 44 of the web/app servers 40 and stored by the web/app servers 40 for future communication with the user via the web browser 50. If a particular request enabled by the privacy negotiator 14 fails to result in loading of webpage or website or other service, one or more additional requests are enabled with alternate or less stringent privacy preferences for example allowing greater access to a user's personally identifiable information (“PII”) or artificial PII generated by the privacy negotiator 14. By enabling requests as such with different levels of privacy preferences, a user is able to minimize PII available to a particular webpage or website or other service the user seeks to access.
The privacy negotiator 14, or alternatively the modeling engine 22, further automatically translates and updates the user's privacy preferences to adapt to the protocols of specific websites or other hosted services, as different websites or other hosted services may use different language and formats for describing and selecting privacy preferences. Different websites or other services providing network resources can have different responses to user requests. Many websites or other services may not accept a user's privacy preferences causing failure to load webpages or other network resources.
Successful requests by the privacy negotiator 14 to access a particular webpage, website or other service and corresponding privacy preferences are stored and reused the next time the user attempts to access the particular webpage, website or other service. This minimizes the number of requests to access transmitted by the privacy negotiator 14. Successful requests and corresponding privacy preferences are stored in a persistent memory attached to the privacy negotiator 14 or stored in the user datastore 26 of the privacy manager 20. Successful requests and corresponding privacy preferences stored in the user datastore 26 of the privacy manager 20 can further be used by other users attempting to access the particular webpage, website or other service on their own computing devices 12 via a privacy negotiator 14 in communication with the privacy manager 20.
Referring to
Referring to
In response to the failure to load the particular webpage corresponding to abcxyz.com suggested by the pop-up notice 122 of the third exemplary interactive display 120, or in response to the failure to load the particular webpage corresponding to mnoxyz.com suggested by the notice in the fourth exemplary interactive display 140, the privacy negotiator 14 generates and displays a query via the user interface 56 in the form of an action window 130. The action window 130 allows a user to reload the particular webpage corresponding to “abcxyz.com” or “mnoxyz.com” using genuine personally identifiable information by actuating an “allow use of genuine personal info” button 132. Actuation of the “allow use of genuine personal info” button 132 beneficially also sets browser privacy settings (e.g., an ad blocking setting, a cookies setting, a “do not track” setting) to less private levels, for example not implementing ad blocking, allowing all cookies, and allowing tracking. The action window 130 further allows the user to discontinue their attempt to access the particular webpage by actuating a cancel button 134 which results in the privacy negotiator 14 taking no further action to access abcxyz.com or mnoxyz.com. It would be apparent to one skilled in the art that the action window 130 could function with respect to any URL accessible via a browser.
Referring to
In response to the failure to load the particular webpage corresponding to abcxyz.com suggested by the pop-up notice 122 of the fifth exemplary interactive display 160, and in response to the failure to load the particular webpage corresponding to mnoxyz.com suggested by the notice in the sixth exemplary interactive display 180, the privacy negotiator 14 generates and displays a query via the user interface 56 in the form of an action window 170. The action window 170 allows a user to reload the particular webpage corresponding to “abcxyz.com” or “mnoxyz.com” using second (“alternate”) personally identifiable information by actuating an “allow use of alternate personal info” button 172. Actuation of the “allow use of alternate personal info” button 172 beneficially also sets browser privacy settings (e.g., an ad blocking setting, a cookies setting, a “do not track” setting) to less private levels, for example not implementing ad blocking, allowing all cookies, and allowing tracking. The action window 170 further allows the user to discontinue their attempt to access the particular webpage by actuating a cancel button 174 which results in the privacy negotiator 14 taking no further action to access abcxyz.com or mnoxyz.com. It would be apparent to one skilled in the art that the action window 170 could function with respect to any URL accessible via a browser.
Users are beneficially provided via the privacy negotiator 14 with statistics of successes and failures of privacy negotiations performed by the privacy negotiator 14. The statistics can include a number of webpages, websites or other services accessed based on a first privacy preference level of a first access request, a second privacy preference level of a second access request, or additional privacy preference levels of additional access requests. A particular privacy preference level corresponds for example to different amounts of PII, no PII, or artificial PII. The statistics beneficially further include indications of failures of access requests at the different privacy preference levels and reasons for the failures. An indicated reason for failure can include for example that particular PII requested by a system hosting a webpage or website or other service was not rendered accessible to such system resulting in an access failure.
Referring to
Referring to
A particular user is beneficially provided via the privacy negotiator 14 with a list of webpages, websites or other services with their respective corresponding negotiated privacy level as negotiated by the privacy negotiator 14 on the particular user's computing device 12, or alternatively as negotiated by the privacy negotiator 14 on computing devices 12 of other users and rendered accessible to the privacy negotiator 14 on the particular user's computing device 12 via the privacy manager 20. The list of webpages, websites or other services is beneficially color coded. For example listed names of websites or applications requiring high levels of PII and deemed to be privacy intruding can be colored red, listed names of websites or applications requiring medium levels of PII and deemed to institute neutral privacy standards can be colored yellow, and listed names of websites or applications requiring little or no PII and deemed to institute high privacy standards can be colored green. The user is beneficially enabled to select listed webpages, websites or other services for more detailed information about their negotiated privacy level or to choose further action, for example to block a listed service or set a privacy level or negotiate or renegotiate the privacy level for the listed service.
Referring to
Referring to
The privacy negotiator 14 receives a failure indication, a response including the requested resource, or other notification from the web/app server 40 (communication 210) in response to the second access request of communication 208. If a failure indication or other notification indicates that the access request of communication 208 partially or completely failed, a request for consent to access the resource with the user's personally identifiable information is made to the user via the user interface 56 by the privacy negotiator 14 (communication 212). The user can provide consent to the privacy negotiator 14 via the user interface 56 to access the resource with personally identifiable information (“PII”) of the user (communication 214). In response to the user's consent, the privacy negotiator 14 requests access, by a third access request, to the resource with the PII of the user (communication 216) and beneficially with media blocking (e.g., ad blocking) disabled. A response including the requested resource or other notification from the web/app server 40 is received by the privacy negotiator 14 and rendered accessible to the user (communication 218).
An access request of communication 204, communication 208, or communication 216 which successfully results in access to a particular resource, as evidenced by the communication 206, communication 210, or communication 218, is beneficially stored along with privacy preferences used in the access request (e.g., media blocking enabled or disabled) and any artificial PII or PII of the user, for example stored in a persistent memory attached to the privacy negotiator 14. The next time the user attempts to access the service including the particular resource (communication 202), the stored successful access request of communication 204, communication 208, or communication 216 including privacy preferences thereof and any corresponding artificial PII or PII of the user is beneficially used first, for example skipping the first access request (communication 204) or skipping the first access request (communication 204) and the second access request (communication 208). In such manner access requests to a resource are minimized, conserving system processing and bandwidth requirements.
The network resource described in the process 200 can include for example a webpage accessible via a web browser 50 executed by the computing device 12. Referring to
The privacy negotiator 14 receives a failure indication, a response including webpage data for loading the webpage via the web browser 50, or other notification from the web/app server 40 (communication 210A) in response to the second access request of communication 208A. If the webpage fails to load for example evidenced by a failure indication received by the privacy negotiator 14, or if other notification indicates that the access request of communication 208A partially or completely failed, a request for consent to access the webpage with the user's personally identifiable information is made to the user via the user interface 56 by the privacy negotiator 14 via the web browser 50 (communication 212A). For example, the request for consent can be made via the action window 130 described with reference to
An access request of communication 204A, communication 208A, or communication 216A which successfully results in access to a particular webpage, as evidenced by the communication 206A, communication 210A, or communication 218A, is beneficially stored along with privacy preferences used in the access request (e.g., media blocking enabled or disabled) and any artificial PII or PII of the user, for example stored in a persistent memory attached to the privacy negotiator 14. The next time the user attempts to access the particular webpage (communication 202A), the stored successful access request of communication 204A, communication 208A, or communication 216A including privacy preferences thereof and any corresponding artificial PII or PII of the user is beneficially used first, for example skipping the first access request (communication 204A) or skipping the first access request (communication 204A) and the second access request (communication 208A). In such manner access requests to a resource are minimized, conserving system processing and bandwidth requirements.
Referring to
If no conforming version of the resource is received or the conforming version of the resource is inadequate or unacceptable to the privacy negotiator 14 or the user, the privacy negotiator 14 requests consent of the user to access the resource of the service of the web/app server 40 with second privacy preferences (communication 310). The user can provide via the user interface 56 consent to the privacy negotiator 14 to access the resource with the second privacy preferences (communication 312). The user via the user interface 56 can further provide the second privacy preferences to the privacy negotiator 14 (communication 314, e.g., via first and second exemplary interactive displays 100, 110), or alternatively the privacy negotiator 14 gathers or infers the second privacy preferences of the user based on device use history of the user. The second privacy preferences are beneficially more liberal, affording less privacy to the user than the first privacy preferences, to increase the likelihood that an acceptable version of the resource will be provided by the web/app server 40. Alternatively, the second privacy preferences, and also the first privacy preferences, can be set by default by the privacy negotiator 14 without input by the user. Further, the first and second privacy preferences can be received at any time, for example during initial installation and setup of the privacy negotiator 14 on a computing device 12. In response to the user's consent, the privacy negotiator 14 requests from the web/app server 40 access to the resource based on the second privacy preferences (communication 316), beneficially with media blocking (e.g., ad blocking) disabled. A response including a version of the requested resource or including a failure indication or other notification from the web/app server 40 is received by the privacy negotiator 14 and rendered accessible to the user (communication 318).
An access request of communication 306 or communication 316 which successfully results in access to a particular resource, as evidenced by the communication 308 or communication 318, is beneficially stored along with privacy preferences used in the access request (e.g., media blocking enabled or disabled), for example stored in a persistent memory attached to the privacy negotiator 14. The next time the user attempts to access the service including the particular resource (communication 304), the stored successful access request of communication 306 or communication 316 including privacy preferences thereof is beneficially used first, for example skipping the first access request (communication 306). In such manner access requests to a resource are minimized, conserving system processing and bandwidth requirements.
The network resource described in the process 300 can include for example a webpage accessible via a web browser 50. Referring to
An access request of communication 306A or communication 316A which successfully results in access to a particular webpage, as evidenced by the communication 308A or communication 318A, is beneficially stored along with privacy preferences used in the access request (e.g., media blocking enabled or disabled), for example stored in a persistent memory attached to the privacy negotiator 14. The next time the user attempts to access the webpage (communication 304A), the stored successful access request of communication 306A or communication 316A including privacy preferences thereof is beneficially used first, for example skipping the first access request (communication 306A). In such manner access requests to a resource are minimized, conserving system processing and bandwidth requirements.
Referring to
In a step 402, an attempt by a user via a computing device to access a service enabled by a computing system via a network is detected. For example, the computing system can include the web/app server 40, the computing device can include the computing device 12, the network can include the network 8, and the process 400 can be performed by the privacy negotiator 14. The service can include a website or a webpage thereof, and detecting the attempt by the user to access the service can include for example receiving a request from the user to access via the network a webpage hosted on the computing system using a web browser, for example a web browser 50 executed by the computing device 12.
A first request to access the service is transmitted via the network to the computing system in response to detecting the attempt by the user to access the service (step 404), the first request including one or more empty personally identifiable data structures. Transmitting the first request including the one or more empty personally identifiable data structures can include for example requesting access to a webpage from the computing system using a fresh cookie file including an empty browsing history or using a fresh profile, the fresh cookie file and the fresh profile being empty personally identifiable data structures. The first request can also include an instruction to not accept cookie files from the service as enabled by the computing system. The first request can further include an instruction to block at least one media type of the service from being received from the computing system, for example to block advertisements by incorporating an ad blocker protocol into the request.
If the service is determined to be accessed responsive to the first request (step 406), user access to the service is enabled (step 408), for example via a web browser. If a first failure to access the service responsive to the first request is determined (step 406), a second request to access the service is transmitted via the network to the computing system in response to the first failure to access the service, the second request including artificial personally identifiable information (step 410). The first failure to access the service can include a partial failure to access the service, such as a partial failure to access features of a website hosted on the computing system, for example receiving access to a version of a requested webpage in which features are restricted or blocked as opposed to receiving access to an unrestricted webpage version. A query can be received from the computing system responsive to the first request, for example in the form of the pop-up notice 122, the query asking for change to browser privacy settings of the computing device, in which case the first failure to access the service is determined at least based on and responsive to the received query. The received query can for example ask the user to accept a cookie file.
Beneficially, genuine personally identifiable information of the user is received, for example from the user based on a user survey or gathered from a user's device use history or otherwise inferred based on a the user's device use history, and the artificial personally identifiable information is synthetic personally identifiable information generated based on the genuine personally identifiable information of the user. For example if the genuine personally identifiable information includes a particular geographic location of the user, the artificial personally identifiable can be determined to include a different geographic location including similar qualities to the particular geographic location, such as demographic qualities, climate, and population density. The artificial personally identifiable information can also be generated or inferred based on the user's device use history.
If the service is determined to be accessed responsive to the second request (step 412), user access to the service is enabled (step 408). If a second failure to access the service responsive to the second request is determined (step 412), the user is queried via the computing device for consent to access the service using personally identifiable information of the user (step 414). If it is determined that consent to access the service using the personally identifiable information of the user is not granted by the user (step 416), the process ends (step 418), and no further attempt is made to access the service. If it is determined that consent to access the service using the personally identifiable information of the user is granted by the user (step 416), a third request to access the service in response to receiving from the user the consent is transmitted via the network to the computing system (step 420), the third request including the personally identifiable information of the user. If a third failure to access the service responsive to the third request is determined (step 422), the process ends (step 418), and no further attempt is made to access the service. If the service is determined to be accessed (step 422), user access to the service is enabled (step 408).
As indicated above, the attempt by the user to access the service can include an attempt by the user to access a webpage hosted by the computing system, for example the web/app server 40. The attempt by the user to access the webpage can be detected (step 402) by a browser plugin executed by a processor of the computing device within a browser, for example in the form of the privacy negotiator 14 in connection with a web browser 50 executed by a processor of the computing device 12. Further the first request can be transmitted (step 404), the second request can be transmitted (step 410), and the third request can be transmitted (step 420) via the browser plugin during operation of a brow ser.
A transmitted first, second, or third request to access a particular service (step 404, step 410, or step 420) which successfully results in access to the particular service is beneficially stored along with privacy preferences (e.g., media blocking enabled or disabled) of the successful access request and any artificial PII or PII of the user used in the successful access request, for example stored in a persistent memory attached to the privacy negotiator 14. The next time the user is detected as attempting to access the particular service (step 402), the stored successful access request of step 404, step 410, or step 420, including privacy preferences thereof and any corresponding artificial PII or PII of the user, is beneficially used first, for example skipping transmission of the first access request (step 404) and instead first transmitting the second access request (step 410), or skipping transmission of the first access request (step 404) and the second access request (step 410) and instead first transmitting the third access request (step 420). In such manner access requests to a resource are minimized, conserving system processing and bandwidth requirements.
Referring to
In a step 502, first privacy preference parameters are received from a user. Beneficially, the first privacy preference parameters of the user, and also second privacy preference parameters described herein, are received from the user based on a user survey such as shown in first and second exemplary interactive displays 100, 110, or gathered from a user's device use history, or otherwise inferred based on a the user's device use history.
An attempt by a user via a computing device to access a service enabled by a computing system via a network is detected (step 504). The service can include a website or a webpage thereof, and detecting the attempt by the user to access the service can include for example receiving a request from the user to access via the network a webpage hosted on the computing system using a web browser, for example a web browser 50 executed by the computing device 12. For example, referring to
The transmitting of the first request (step 506) and the transmitting of the second request (step 520) can include transmitting requests to access a webpage hosted by the computing system, the computing system for example including a web/app server 40. Receiving access to the service (steps 508, 522) can include receiving from the computing system via the network Hypertext Markup Language (“HTML”) code of the webpage. The receiving of the first privacy preference parameters (step 506) and the receiving of the second privacy preference parameters (step 518) can include receiving privacy preference parameters of the user from the user, for example by querying the user for the privacy preference parameters. Alternatively, the receiving of the first privacy preference parameters (step 506) and the receiving of the second privacy preference parameters (step 518) can include inferring one or both of the first privacy preference parameters or the second privacy preference parameters based on a usage history of the user on the computing device or other systems.
A transmitted first or second request to access a particular service (step 506 or step 520) which successfully results in access to the particular service is beneficially stored along with privacy preferences (e.g., media blocking enabled or disabled) of the successful access request, for example stored in a persistent memory attached to the privacy negotiator 14. The next time the user is detected as attempting to access the particular service (step 504), the stored successful access request of step 506 or step 520, including privacy preferences of the successful access request, is beneficially used first, for example skipping transmission of the first access request (step 506) and instead first transmitting the second access request (step 520). In such manner access requests to a resource are minimized, conserving system processing and bandwidth requirements.
The processes and methods described herein, for example as performed by components of the system 10, enable protocols providing negotiation capabilities to allow flexibility in accepting privacy policies of hosted services such as webpages. The enabled protocols can automatically configure tiered privacy policies. For example some websites may allow different levels of functionality depending on the amount of data received from a user, more data corresponding to more functionality. The enabled protocols allow users to negotiate data for desired functionality of a hosted service. Further, the enabled protocols allow users to choose artificial data (e.g., synthetic data) to share with systems hosting services, for example webpages and websites.
The computer system 1000 can operate as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, the computer system 1000 may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The computer system 1000 can also be considered to include a collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform one or more of the methodologies described herein.
It would be understood by those skilled in the art that other computer systems including but not limited to networkable personal computers, minicomputers, mainframe computers, handheld mobile communication devices, multiprocessor systems, microprocessor-based or programmable electronics, and smart phones could be used to enable the systems, methods and processes described herein. Such computer systems can moreover be configured as distributed computer environments where program modules are enabled and tasks are performed by processing devices linked through a communications network, and in which program modules can be located in both local and remote memory storage devices.
The exemplary computer system 1000 includes a processor 1002, for example a central processing unit (CPU) or a graphics processing unit (GPU), a main memory 1004, and a static memory 1006 in communication via a bus 1008. A visual display 1010 for example a liquid crystal display (LCD), light emitting diode (LED) display or a cathode ray tube (CRT) is provided for displaying data to a user of the computer system 1000. The visual display 1010 can be enabled to receive data input from a user for example via a resistive or capacitive touch screen. A character input apparatus 1012 can be provided for example in the form of a physical keyboard, or alternatively, a program module which enables a user-interactive simulated keyboard on the visual display 1010 and actuatable for example using a resistive or capacitive touchscreen. An audio input apparatus 1013, for example a microphone, enables audible language input which can be converted to textual input by the processor 1002 via the instructions 1024. A pointing/selecting apparatus 1014 can be provided, for example in the form of a computer mouse or enabled via a resistive or capacitive touch screen in the visual display 1010. A data drive 1016, a signal generator 1018 such as an audio speaker, and a network interface 1020 can also be provided. A location determining system 1017 is also provided which can include for example a GPS receiver and supporting hardware.
The instructions 1024 and data structures embodying or used by the herein-described systems, methods, and processes, for example software instructions, are stored on a computer-readable medium 1022 and are accessible via the data drive 1016. Further, the instructions 1024 can completely or partially reside for a particular time period in the main memory 1004 or within the processor 1002 when the instructions 1024 are executed. The main memory 1004 and the processor 1002 are also as such considered computer-readable media.
While the computer-readable medium 1022 is shown as a single medium, the computer-readable medium 1022 can be considered to include a single medium or multiple media, for example in a centralized or distributed database, or associated caches and servers, that store the instructions 1024. The computer-readable medium 1022 can be considered to include any tangible medium that can store, encode, or carry instructions for execution by a machine and that cause the machine to perform any one or more of the methodologies described herein, or that can store, encode, or carry data structures used by or associated with such instructions. Further, the term “computer-readable storage medium” can be considered to include, but is not limited to, solid-state memories and optical and magnetic media that can store information in a non-transitory manner. Computer-readable media can for example include non-volatile memory such as semiconductor memory devices (e.g., magnetic disks such as internal hard disks and removable disks, magneto-optical disks, CD-ROM and DVD-ROM disks, Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices).
The instructions 1024 can be transmitted or received over a communications network, for example the communications network 8, using a signal transmission medium via the network interface 1020 operating under one or more known transfer protocols, for example FTP, HTTP, or HTTPs. Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks, for example Wi-Fi™ and 3G/4G/5G cellular networks. The term “computer-readable signal medium” can be considered to include any transitory intangible medium that is capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such instructions.
Although features and elements are described above in particular combinations, one of ordinary skill in the art will appreciate that each feature or element can be used alone or in any combination with the other features and elements. Methods described herein may be implemented in a computer program, software, or firmware incorporated in a computer-readable medium for execution by a computer or processor. While embodiments have been described in detail above, these embodiments are non-limiting and should be considered as merely exemplary. Modifications and extensions may be developed, and all such modifications are deemed to be within the scope defined by the appended claims.
This application is a division of U.S. patent application Ser. No. 16/820,005, filed Mar. 16, 2020, which is incorporated by reference as if fully set forth.
Number | Name | Date | Kind |
---|---|---|---|
10097583 | Demirjian | Oct 2018 | B1 |
10402585 | Hu | Sep 2019 | B2 |
10552637 | Phillips | Feb 2020 | B1 |
11089029 | Wilczynski et al. | Aug 2021 | B2 |
11233802 | Rudeanu et al. | Jan 2022 | B1 |
11321532 | Mullins et al. | May 2022 | B2 |
11711372 | Afroz | Jul 2023 | B2 |
20140222974 | Liu | Aug 2014 | A1 |
20150317408 | Hong et al. | Nov 2015 | A1 |
20180137480 | Houghton et al. | May 2018 | A1 |
20190116142 | Chalakudi | Apr 2019 | A1 |
20200042837 | Skinner et al. | Feb 2020 | A1 |
20200053090 | Kliger et al. | Feb 2020 | A1 |
20200169569 | Iwashita | May 2020 | A1 |
20200302041 | Mohammad et al. | Sep 2020 | A1 |
20200322340 | Bhattacharya et al. | Oct 2020 | A1 |
20210165901 | Chandrashekhar | Jun 2021 | A1 |
20210192651 | Groth et al. | Jun 2021 | A1 |
20210312024 | Gupta et al. | Oct 2021 | A1 |
20210352039 | Oliner et al. | Nov 2021 | A1 |
20210357491 | Teller et al. | Nov 2021 | A1 |
20210397726 | Kulaga et al. | Dec 2021 | A1 |
20220012365 | Garg et al. | Jan 2022 | A1 |
20220245523 | Yamamoto | Aug 2022 | A1 |
20220292220 | Groth et al. | Sep 2022 | A1 |
Number | Date | Country |
---|---|---|
WO-2021084590 | May 2021 | WO |
Entry |
---|
Kulaga et al., “Systems and Methods of Classifying Organizational Structure for Implementing Data Protection Policies” Jul. 19, 2020, U.S. Appl. No. 63/041,432. (Year: 2020). |
Groth et al., “System & Method for Analyzing Privacy Policies” Dec. 20, 2019, U.S. Appl. No. 62/951,271. (Year: 2019). |
Chamikara et al., “Privacy Preserving Face Recognition Utilizing Differential Privacy” Jul. 4, 2020, arXiv: 2005.10486v2, pp. 1-31. (Year: 2020). |
Hosseini et al., “Federated Learning of User Authentication Models” Jul. 9, 2020, arXiv: 2007.04618v1, pp. 1-10. (Year: 2020). |
Papadopoulos et al., “Cookie Synchronization: Everything You Always Wanted to Know But Were Afraid to Ask” Feb. 25, 2020, arXiv: 1805.10505v3, pp. 1-11. (Year: 2020). |
Patwary et al., “Authentication, Access Control, Privacy, Threats and Trust Management Towards Securing Fog Computing Environments: A Review” Mar. 1, 2020, arXiv: 2003.00395v1, pp. 1-34. (Year: 2020). |
Some, Doliere Francis, “EmPoWeb: Empowering Web Applications with Browser Extensions” Jan. 10, 2019, arXiv: 1901.03397v1, pp. 1-19. (Year: 2019). |
Website Screencapture from mygaru.com Jan. 21, 2020. |
Number | Date | Country | |
---|---|---|---|
20230283612 A1 | Sep 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16820005 | Mar 2020 | US |
Child | 18316023 | US |