Computing trade-offs between privacy and accuracy of data analysis

In an approach for computing trade-offs between privacy and accuracy of data analysis on building a learning model, a processor receives a dataset for training a model. The dataset includes one or more pre-identified sensitive data fields. The processor determines a weight of each sensitive data field for the model. The processor evaluates resource cost of applying a privacy preservation technique to the one or more pre-identified sensitive data fields. The processor identifies correlation among the sensitive data fields. The processor presents a comparison of options for training the model, in terms of tradeoffs of accuracy for training the model and the resource cost of the privacy preservation technique.

BACKGROUND

The present disclosure relates generally to the field of data analysis, and more particularly to computing trade-offs between privacy and accuracy of data analysis on building a learning model.

Incredible amounts of data are generated by various organizations like hospitals, banks, e-commerce, retail and supply chain, etc. by virtue of digital technology. Not only humans but machines also contribute to data in the form of closed-circuit television streaming, web site logs, etc. Data may be generated every minute by social media and smart phones. The voluminous data generated from the various sources can be processed and analyzed to support decision making. However, data analytics is prone to privacy violations. Although data analytics is useful in decision making, it will lead to serious privacy concerns. Privacy preserving data analytics has become very important. Privacy is the ability of an individual to determine what data can be shared, and employ access control. If the data is in a public domain then it is a threat to individual privacy as the data is held by a data holder. Data holders can be social networking applications, websites, mobile apps, ecommerce sites, banks, hospitals, etc. It is the responsibility of the data holder to ensure privacy of the users data. When building a model based on data originating from multiple sources, it often involves certain elements that cannot be shared in an original form between parties. For example, these certain elements could be personally identifying information or represent private health information. In other cases, the certain elements may capture business-sensitive details, such as cost and inventory.

SUMMARY

Aspects of an embodiment of the present disclosure disclose an approach for computing trade-offs between privacy and accuracy of data analysis on building a learning model. The processor receives a dataset for training a model. The dataset includes one or more pre-identified sensitive data fields. The processor determines a weight of each sensitive data field for the model. The processor evaluates resource cost of applying a privacy preservation technique to the one or more pre-identified sensitive data fields. The processor identifies correlation among the sensitive data fields. The processor presents a comparison of options for training the model, in terms of tradeoffs of accuracy for training the model and the resource cost of the privacy preservation technique.

DETAILED DESCRIPTION

The present disclosure is directed to systems and methods for computing trade-offs between privacy and accuracy of data analysis on building a learning model.

Embodiments of the present disclosure recognize a need for protecting privacy information in the design of analytics models over data originating from multiple sources, especially considering data including sensitive elements (e.g., personally identifying or business sensitive information). Embodiments of the present disclosure disclose evaluating and comparing different privacy preservation techniques over several dimensions: level of privacy, accuracy of the model and execution cost. Embodiments of the present disclosure disclose getting a sample of the data or simulated sample, annotation on the private information in the data, and the analytics to run as input. Embodiments of the present disclosure disclose running the analytics both on the input data and on the input data using a variety of privacy preserving techniques. Embodiments of the present disclosure disclose outputting both the various accuracies of the different runs, data about the privacy metrics achieved and non-functional requirements of the different privacy preserving techniques such as computational footprint, enabling a user to carry out the required trade-off analysis. Embodiments of the present disclosure disclose excluding sensitive data fields from the data sets when other data fields are sufficiently well correlated to the sensitive data fields.

Embodiments of the present disclosure disclose data analysis on applying privacy preserving techniques to protect privacy information in building a learning model. Different privacy preserving techniques may support varying levels of privacy and may have varying impact on accuracy as well as significant non-functional requirements. Embodiments of the present disclosure disclose allowing to evaluate different privacy preservation techniques when applied to sensitive data features and to compare functional and non-functional implications of each technique in a summarized manner. Embodiments of the present disclosure disclose a comparison of privacy, accuracy and cost dimensions (in terms or resource requirements). Embodiments of the present disclosure disclose allowing a user to choose an appropriate balance between these dimensions as fitting a task.

Embodiments of the present disclosure disclose computation of trade-offs between multiple privacy preserving techniques, such as data masking, use of correlated features, and others, in terms of the degree of privacy achieved and in terms of the impact on the model's accuracy and resource requirements (e.g., cost). Embodiments of the present disclosure disclose an analytic is run through various privacy preserving techniques. Such techniques may include simple techniques like completely excluding some columns, as well as more complex techniques such as securing multi-party computation and differential privacy. Embodiments of the present disclosure disclose analyzing the resulting tradeoffs and presenting, both in terms of tradeoffs in accuracy, as well as tradeoffs in terms of computational resources and speed of computation. Embodiments of the present disclosure disclose identifying correlation between features (potentially less accurate correlated features) considering importance and sensitivity (e.g. confidentiality, weight of features, accuracy level, encryption needed). Embodiments of the present disclosure disclose a machine learning model to predict correlated features and to present accuracy, resource requirements or other comparable options between privacy preserving techniques. Embodiments of the present disclosure disclose specifying correlation between parameters that some parameters may be replaced with linear combination of others. For example, features that has been declared as most sensitive ones can be replaced with less sensitive ones and may proceed with the training of the learning model. Correlation between features in dataset may represent certain degree of redundancy. For example, parameters can be replaced with linear combination without compromising precision.

The present disclosure will now be described in detail with reference to the Figures.FIG.1is a functional block diagram illustrating privacy trade-off analytics environment, generally designated100, in accordance with an embodiment of the present disclosure.

In the depicted embodiment, privacy trade-off analytics environment100includes computing device102, dataset104, privacy preservation techniques106, and network108. In one or more embodiments, dataset104may be a sample of the data or simulated sample as input to train a model. Dataset104may include sensitive data fields. Sensitive data fields may include personally-identifying information, private health information, and business sensitive information. Sensitive data fields may include other sensitive data information. Dataset104may originate from multiple sources. Dataset104may contain certain elements (e.g., sensitive data fields) that cannot be shared in an original form between parties. For example, sensitive data fields could be personally identifying information or represent private health information. In other cases, sensitive data fields may be business-sensitive details, such as cost and inventory.

In one or more embodiments, privacy preservation techniques106may be various techniques (e.g., anonymization, homomorphic encryption) to sensitive data fields in dataset104to protect private information. Privacy preservation techniques106may be as input to analytics module110to evaluate resource cost of privacy preservation techniques106applied to pre-identified sensitive data fields in dataset104. The resource cost of privacy preservation techniques106may be associated with computational resources and speed of computation of applying the privacy preservation techniques to the pre-identified sensitive data fields. Analytics module110may run through various privacy preserving techniques106. Privacy preservation techniques106may include excluding some columns of the sensitive data fields. Privacy preservation techniques106may include securing multi-party computation and differential privacy. Analytics module110may support varying levels of privacy and may have varying impact on accuracy as well as significant non-functional requirements. Analytics module110may evaluate different privacy preservation techniques when applied to the sensitive data features and may compare the functional and non-functional implications of each technique in a summarized manner. For example, the comparison may include the privacy, accuracy and cost dimensions (in terms or resource requirements). Analytics module110may allow the user to choose an appropriate balance between these dimensions as fitting the task at hand. Analytics module110may provide a specific implementation of a simple privacy preserving technique that can be used in this context, and the specific implementation may be easily understandable by a user.

In various embodiments of the present disclosure, computing device102can be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a mobile phone, a smartphone, a smart watch, a wearable computing device, a personal digital assistant (PDA), or a server. In another embodiment, computing device102represents a computing system utilizing clustered computers and components to act as a single pool of seamless resources. In other embodiments, computing device102may represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In general, computing device102can be any computing device or a combination of devices with access to analytics module110and network108and is capable of processing program instructions and executing analytics module110, in accordance with an embodiment of the present disclosure. Computing device102may include internal and external hardware components, as depicted and described in further detail with respect toFIG.4.

Further, in the depicted embodiment, computing device102includes analytics module110. In the depicted embodiment, analytics module110is located on computing device102. However, in other embodiments, analytics module110may be located externally and accessed through a communication network such as network108. The communication network can be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and may include wired, wireless, fiber optic or any other connection known in the art. In general, the communication network can be any combination of connections and protocols that will support communications between computing device102and analytics module110, in accordance with a desired embodiment of the disclosure.

In one or more embodiments, analytics module110is configured to receive dataset104for training a model. Dataset104may be a sample of the data or simulated sample as input to train the model. Dataset104may include sensitive data fields. Sensitive data fields may include personally-identifying information, private health information, and business sensitive information. Sensitive data fields may include other sensitive data information. Dataset104may originate from multiple sources. Dataset104may contain certain elements (e.g., sensitive data fields) that cannot be shared in an original form between parties. For example, sensitive data fields could be personally identifying information or represent private health information. In other cases, sensitive data fields may be business-sensitive details, such as cost and inventory. Sensitive data fields may be pre-identified by a user. A sensitivity level for each sensitive data field can be defined as in a range between 0 and 1, where 0 is the least sensitive (e.g., public data) and 1 is the most sensitive. Analytics module110may rank features that may affect prediction by a sensitivity level. Analytics module110may define a sensitivity threshold. Analytics module110may analyze dataset104together with an indication of which data fields are sensitive. Analytics module110may evaluate and compare different privacy preservation techniques106over several dimensions: level of privacy, accuracy of the model and execution cost.

In one or more embodiments, analytics module110is configured to determine a weight of each sensitive data field for training the model, e.g., in a random forest model, the level in the decision trees where these fields are used. Analytics module110may use regression coefficients to determine the weight of the features (e.g., sensitive data fields). Analytics module110may compute each feature by a value based on sensitivity multiplied by the weight. An example of determining the weight of the features is depicted and described in further detail with respect toFIG.3.

In one or more embodiments, analytics module110is configured to evaluate resource cost of applying a plurality of privacy preservation techniques106to the one or more pre-identified sensitive data fields in dataset104. Analytics module110may estimate resource cost of applying different privacy preservation techniques106. The resource cost of privacy preservation techniques106may be associated with computational resources and speed of computation of applying the privacy preservation techniques to the pre-identified sensitive data fields. Analytics module110may run through various privacy preserving techniques106. Privacy preservation techniques106may include excluding some columns of the sensitive data fields. Privacy preservation techniques106may include securing multi-party computation and differential privacy. Analytics module110may apply various techniques (e.g., anonymization, homomorphic encryption) to sensitive data fields to protect private information. Analytics module110may support varying levels of privacy and may have varying impact on accuracy as well as significant non-functional requirements. A user in the model design process may be a data scientist, a business owner, an engineer, a compliance personnel or other suitable user. Analytics module110may analyze various alternatives and make informed decision about the appropriate course of action for the user. Analytics module110may evaluate different privacy preservation techniques when applied to the sensitive data features and may compare the functional and non-functional implications of each technique in a summarized manner. For example, the comparison may include the privacy, accuracy and cost dimensions (in terms or resource requirements). Analytics module110may allow the user to choose an appropriate balance between these dimensions as fitting the task at hand. Analytics module110may provide a specific implementation of a simple privacy preserving technique that can be used in this context, and the specific implementation may be easily understandable by a user.

In one or more embodiments, analytics module110is configured to identify correlation among the sensitive data fields in dataset104. Analytics module110may rank the sensitive data fields based on the correlation. Analytics module110may identify correlated data fields and may rank the correlated data fields by how correlated the fields are to the sensitive fields. Analytics module110may identify correlation between features (potentially less accurate correlated features) considering the importance and sensitivity (e.g. confidential, “weight” of features, accuracy level, encryption needed). Analytics module110may predict correlated features and may present accuracy, resource requirements or other comparable options between techniques. Analytics module110may specify correlation between parameters for replacing some parameters with linear combination of others. For example, analytics module110may replace features that has been declared as most sensitive ones and may proceed with the training of the model. Analytics module110may utilize the fact that correlation between features in dataset104represents certain degree of redundancy. For example, analytics module110may replace parameters with linear combination without compromising precision. Analytics module110may perform analysis both on dataset104as input using a variety of privacy preserving techniques.

In one or more embodiments, analytics module110is configured to present a comparison of options, in terms of tradeoffs of accuracy for training the model and the resource cost of the privacy preservation techniques. Analytics module110may present a comparison of options in terms of accuracy and resource use. Analytics module110may replace features that has been declared as more sensitive ones with less sensitive ones. Analytics module110may proceed with the training of the model without compromising precision of training the model. Analytics module110may analyze the resulting tradeoffs and may present the tradeoffs in terms of accuracy, as well as computational resources and speed of computation. Analytics module110may output both the various accuracies of the different runs, data about the privacy metrics achieved and non-functional requirements of the different privacy preserving techniques such as computational footprint, and may enable the user to carry out the required trade off analysis. Analytics module110may include an embodiment of one such privacy preserving techniques, e.g., excluding sensitive fields completely from the data sets when other fields are sufficiently well correlated to the data sets. Analytics module110may compute the tradeoffs among different privacy preservation methods in order to be able to decide which privacy preservation method to choose and assess feasibility of each privacy preservation method to obtain desired accuracy level without compromising sensitive information. Analytics module110may compute tradeoffs between different techniques in order to allow for a user to decide which technique is more suitable for the user given privacy considerations and level of accuracy that the user would like to achieve. Analytics module110may find a fit privacy preserving technique based on customer requirements. Analytics module110may evaluate and compare different privacy preservation techniques over several dimensions, for example, level of privacy, accuracy of the model and execution cost. Analytics module110may compute tradeoffs between multiple privacy-preserving techniques, such as data masking, use of correlated features, and other techniques, in terms of the degree of privacy achieved and in terms of the impact on the model's accuracy and resource requirements (e.g., cost).

In the depicted embodiment, analytics module110includes evaluation module112and trade-off computation module114. In one or more embodiments, evaluation module112is configured to evaluate resource cost of applying a plurality of privacy preservation techniques106to the one or more pre-identified sensitive data fields in dataset104. Evaluation module112may estimate resource cost of applying different privacy preservation techniques106. The resource cost of privacy preservation techniques106may be associated with computational resources and speed of computation of applying the privacy preservation techniques to the pre-identified sensitive data fields. Privacy preservation techniques106may include excluding some columns of the sensitive data fields. Privacy preservation techniques106may include securing multi-party computation and differential privacy. Evaluation module112may support varying levels of privacy and may have varying impact on accuracy as well as significant non-functional requirements. Evaluation module112may analyze various alternatives and make informed decision about the appropriate course of action for a user. Evaluation module112may evaluate different privacy preservation techniques when applied to the sensitive data features and may compare the functional and non-functional implications of each technique in a summarized manner. For example, the comparison may include the privacy, accuracy and cost dimensions (in terms or resource requirements). Evaluation module112may allow the user to choose an appropriate balance between these dimensions as fitting the task at hand. Evaluation module112may provide a specific implementation of a simple privacy preserving technique that can be used in this context, and the specific implementation may be easily understandable by a user.

In one or more embodiments, trade-off computation module114is configured to compute trade-offs between privacy and accuracy of data analysis on building a learning model. Trade-off computation module114may identify correlation among sensitive data fields in dataset104. Trade-off computation module114may rank the sensitive data fields based on the correlation. Trade-off computation module114may rank the correlated data fields by how correlated the fields are to the sensitive fields. Trade-off computation module114may identify correlation between features (potentially less accurate correlated features) considering the importance and sensitivity (e.g. confidential, “weight” of features, accuracy level, encryption needed). Trade-off computation module114may predict correlated features and may present accuracy, resource requirements or other comparable options between techniques. Trade-off computation module114may specify correlation between parameters for replacing some parameters with linear combination of others. For example, Trade-off computation module114may replace features that has been declared as most sensitive ones and may proceed with the training of the model. Trade-off computation module114may utilize the fact that correlation between features in dataset104represents certain degree of redundancy. For examples, trade-off computation module114may replace parameters with linear combination without compromising precision. Trade-off computation module114may perform analysis both on dataset104as input using a variety of privacy preserving techniques. Trade-off computation module114may present a comparison of options, in terms of tradeoffs of accuracy for training the model and the resource cost of the privacy preservation techniques. Trade-off computation module114may analyze the resulting tradeoffs and may present the tradeoffs in terms of accuracy, as well as computational resources and speed of computation. Trade-off computation module114may output both the various accuracies of the different runs, data about the privacy metrics achieved and non-functional requirements of the different privacy preserving techniques such as computational footprint, and may enable the user to carry out the required trade off analysis. Trade-off computation module114may compute the tradeoffs among different privacy preservation methods in order to be able to decide which one to choose and assess feasibility of each to obtain desired accuracy level without compromising sensitive information. Trade-off computation module114may compute tradeoffs between different techniques in order to allow for a user to decide which technique is more suitable for the user given privacy considerations and level of accuracy that the user would like to achieve. Trade-off computation module114may find a fit privacy preserving technique based on customer requirements. Trade-off computation module114may compute tradeoffs between multiple privacy-preserving techniques, such as data masking, use of correlated features, and other techniques, in terms of the degree of privacy achieved and in terms of the impact on the model's accuracy and resource requirements (e.g., cost).

FIG.2is a flowchart200depicting operational steps of analytics module110in accordance with an embodiment of the present disclosure.

Analytics module110operates to receive dataset104for training a model. Dataset104may be a sample of the data or simulated sample as input to train the model. Dataset104may include sensitive data fields. Analytics module110also operates to determine a weight of each sensitive data field for training the model. Analytics module110operates to evaluate resource cost of applying a plurality of privacy preservation techniques106to the one or more pre-identified sensitive data fields in dataset104. Analytics module110operates to identify correlation among the sensitive data fields in dataset104. Analytics module110operates to present a comparison of options, in terms of tradeoffs of accuracy for training the model and the resource cost of the privacy preservation techniques.

In step202, analytics module110receives dataset104for training a model. Dataset104may be a sample of the data or simulated sample as input to train the model. Dataset104may include sensitive data fields. Dataset104may include combination of sensitive data fields. Sensitive data fields may include personally-identifying information, private health information, and business sensitive information. Sensitive data fields may include other sensitive data information. Dataset104may originate from multiple sources. Dataset104may contain certain elements (e.g., sensitive data fields) that cannot be shared in an original form between parties. For example, sensitive data fields could be personally identifying information or represent private health information. In other cases, sensitive data fields may be business-sensitive details, such as cost and inventory. Sensitive data fields may be pre-identified by a user. A sensitivity level for each sensitive data field can be defined as in a range between 0 and 1, where 0 is the least sensitive (e.g., public data) and 1 is the most sensitive. Analytics module110may rank features that may affect prediction by a sensitivity level. Analytics module110may define a sensitivity threshold. Analytics module110may analyze dataset104together with an indication of which data fields are sensitive. Analytics module110may evaluate and compare different privacy preservation techniques106over several dimensions: level of privacy, accuracy of the model and execution cost.

In step204, analytics module110determines a weight of each sensitive data field for training the model, e.g., in a random forest model, the level in the decision trees where these fields are used. Analytics module110may use regression coefficients to determine the weight of the features (e.g., sensitive data fields). Analytics module110may compute each feature by a value based on sensitivity multiplied by the weight. An example of determining the weight of the features is depicted and described in further detail with respect toFIG.3.

In step206, analytics module110evaluates resource cost of applying a plurality of privacy preservation techniques106to the one or more pre-identified sensitive data fields in dataset104. Analytics module110may estimate resource cost of applying different privacy preservation techniques106. The resource cost of privacy preservation techniques106may be associated with computational resources and speed of computation of applying the privacy preservation techniques to the pre-identified sensitive data fields. Analytics module110may run through various privacy preserving techniques106. Privacy preservation techniques106may include excluding some columns of the sensitive data fields. Privacy preservation techniques106may include securing multi-party computation and differential privacy. Analytics module110may apply various techniques (e.g., anonymization, homomorphic encryption) to sensitive data fields to protect private information. Analytics module110may support varying levels of privacy and may have varying impact on accuracy as well as significant non-functional requirements. A user in the model design process may be a data scientist, a business owner, an engineer, a compliance personnel or other suitable user. Analytics module110may analyze various alternatives and make informed decision about the appropriate course of action for the user. Analytics module110may evaluate different privacy preservation techniques when applied to the sensitive data features and may compare the functional and non-functional implications of each technique in a summarized manner. For example, the comparison may include the privacy, accuracy and cost dimensions (in terms or resource requirements). Analytics module110may allow the user to choose an appropriate balance between these dimensions as fitting the task at hand. Analytics module110may provide a specific implementation of a simple privacy preserving technique that can be used in this context, and the specific implementation may be easily understandable by a user.

In step208, analytics module110identifies correlation among the sensitive data fields in dataset104. Analytics module110may rank the sensitive data fields based on the correlation. Analytics module110may identify correlated data fields and may rank the correlated data fields by how correlated the fields are to the sensitive fields. Analytics module110may identify correlation between features (potentially less accurate correlated features) considering the importance and sensitivity (e.g. confidential, “weight” of features, accuracy level, encryption needed). Analytics module110may predict correlated features and may present accuracy, resource requirements or other comparable options between techniques. Analytics module110may specify correlation between parameters for replacing some parameters with linear combination of others. For example, analytics module110may replace features that has been declared as most sensitive ones and may proceed with the training of the model. Analytics module110may utilize the fact that correlation between features in dataset104represents certain degree of redundancy. For examples, analytics module110may replace parameters with linear combination without compromising precision. Analytics module110may perform analysis both on dataset104as input using a variety of privacy preserving techniques.

In step210, analytics module110presents a comparison of options, in terms of tradeoffs of accuracy for training the model and the resource cost of the privacy preservation techniques. Analytics module110may present a comparison of options in terms of accuracy and resource use. Analytics module110may replace features that has been declared as more sensitive ones with less sensitive ones. Analytics module110may proceed with the training of the model without compromising precision of training the model. Analytics module110may analyze the resulting tradeoffs and may present the tradeoffs in terms of accuracy, as well as computational resources and speed of computation. Analytics module110may output both the various accuracies of the different runs, data about the privacy metrics achieved and non-functional requirements of the different privacy preserving techniques such as computational footprint, and may enable the user to carry out the required trade off analysis. Analytics module110may include an embodiment of one such privacy preserving techniques, e.g., excluding sensitive fields completely from the data sets when other fields are sufficiently well correlated to the data sets. Analytics module110may compute the tradeoffs among different privacy preservation methods in order to be able to decide which one to choose and assess feasibility of each to obtain desired accuracy level without compromising sensitive information. Analytics module110may compute tradeoffs between different techniques in order to allow for a user to decide which technique is more suitable for the user given privacy considerations and level of accuracy that the user would like to achieve. Analytics module110may find a fit privacy preserving technique based on customer requirements. Analytics module110may evaluate and compare different privacy preservation techniques over several dimensions, for example, level of privacy, accuracy of the model and execution cost. Analytics module110may compute tradeoffs between multiple privacy-preserving techniques, such as data masking, use of correlated features, and other techniques, in terms of the degree of privacy achieved and in terms of the impact on the model's accuracy and resource requirements (e.g., cost).

FIG.3illustrates an exemplary function of analytics module110in accordance with one or more embodiments of the present disclosure.

In the example ofFIG.3, sensitivity level304for each feature302(e.g., data field) for building a learning model can be defined as in range between 0 and 1, where 0 is the least sensitive (e.g., public data) and 1 is the most sensitive. For example, a user can pre-define sensitivity level304for feature F1 as 0, feature F2 as 0.1, feature F3 as 0.5, feature F4 as 1, and feature F5 as 1 based on the sensitivity of each feature302. Analytics module110may determine weight306of each feature302(e.g., data field) for training a model, e.g., in a random forest model, the level in the decision trees where these fields are used. Analytics module110may use regression coefficients to determine weight306of each feature302. For example, analytics module110may determine weight306of each feature302based on the regression coefficients, e.g., Pearson correlation coefficients, Pearson product moment coefficients, and other coefficients. Analytics module110may compute each feature302by a value based on sensitivity level304multiplied by weight306. Analytics module110may rank each feature302that may affect prediction by sensitivity level304. Analytics module110may define a sensitivity threshold. Analytics module110may define a sensitive feature as a feature that is above the sensitive threshold. Analytics module110may loop on sensitive features (ordered by feature values). Analytics module110may identify correlated fields with regression coefficients. Analytics module110may store correlated fields and rank the correlated fields by correlation factors. If analytics module110determines all correlated fields below the sensitive threshold and not null, analytics module110may return the sensitive feature and the correlated fields. If analytics module110determines all correlated fields are below the sensitive threshold, analytics module110may run algorithm on sensitive fields without the feature. Analytics module110may analyze dataset104together with an indication of which data fields are sensitive.

FIG.4depicts a block diagram400of components of computing device102in accordance with an illustrative embodiment of the present disclosure. It should be appreciated thatFIG.4provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

Computing device102may include communications fabric402, which provides communications between cache416, memory406, persistent storage408, communications unit410, and input/output (I/O) interface(s)412. Communications fabric402can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, communications fabric402can be implemented with one or more buses or a crossbar switch.

Memory406and persistent storage408are computer readable storage media. In this embodiment, memory406includes random access memory (RAM). In general, memory406can include any suitable volatile or non-volatile computer readable storage media. Cache416is a fast memory that enhances the performance of computer processor(s)404by holding recently accessed data, and data near accessed data, from memory406.

Analytics module110may be stored in persistent storage408and in memory406for execution by one or more of the respective computer processors404via cache416. In an embodiment, persistent storage408includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage408can include a solid state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.

Communications unit410, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit410includes one or more network interface cards. Communications unit410may provide communications through the use of either or both physical and wireless communications links. Analytics module110may be downloaded to persistent storage408through communications unit410.

I/O interface(s)412allows for input and output of data with other devices that may be connected to computing device102. For example, I/O interface412may provide a connection to external devices418such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices418can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, e.g., analytics module110can be stored on such portable computer readable storage media and can be loaded onto persistent storage408via I/O interface(s)412. I/O interface(s)412also connect to display420.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

Workloads layer90provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation91; software development and lifecycle management92; virtual classroom education delivery93; data analytics processing94; transaction processing95; and module96including, for example, analytics module110as described above with respect to privacy trade-off analytics environment100.