System and method for specification and enforcement of a privacy policy in online services

US9317710B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317710-B2
Application numberUS-201314141548-A
CountryUS
Kind codeB2
Filing dateDec 27, 2013
Priority dateDec 27, 2013
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for implementing a privacy policy includes receiving code for an application which includes definitions for a set of classes of records and for each of the record classes in the set, a definition of at least one field. A user selects one or more of the record classes and fields of the application as sensitive. A records manager is generated for identifying an associated minimization service for generating a minimized value of data in the sensitive field. A mapping aspect identifies joins in the application code where the minimization service is to be called. When the records manager and mapping aspect are deployed with the application, the minimization service generates a minimized value of data in the respective sensitive field.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementing a privacy policy, comprising: receiving code for an application which includes definitions for a set of classes of records and for each of the record classes, a definition of at least one field; receiving a selection of at least one of the fields of the application that is designated by a user as a sensitive field; with a hardware processor, based on the selection, generating a records manager and a mapping aspect, the records manager including a private class definition corresponding to each record class that includes at least one of the fields designated as a sensitive field, the private class definition identifying an associated minimization service for generating a minimized value of data in the sensitive field; the mapping aspect including pointcuts for identifying joins at which the records manager is to augment the functioning of the application code by calling the minimization service to generate a minimized value of data in the respective sensitive field, the records manager and mapping aspect being configured to be deployed when the application is run, whereby the minimization service generates a minimized value of data in the respective sensitive field; wherein the mapping aspect includes a pointcut which identifies a join point for each sensitive field; further comprising with a grammar, generating a model of the application which lists the sensitive fields and tracks the record classes which contain the sensitive fields, the generating of the records manager comprising generating a records manager source file based on the model. 2. The method of claim 1 , further comprising deploying the records manager and mapping aspect when the application is run. 3. The method of claim 2 , wherein when the application is run, the data in the sensitive fields is extracted and replaced with respective minimized values and the extracted data is stored separately from the application records. 4. The method of claim 1 , wherein the application comprises bytecode which is executable by a virtual machine, the virtual machine being executed by a computer processing device. 5. The method of claim 1 , wherein the receiving a selection of at least one of the fields comprises generating a user interface which proposes some of the fields defined in the application for selection by a user as sensitive fields. 6. The method of claim 5 , wherein the user interface comprises a source code editor. 7. The method of claim 5 , wherein the generation of the user interface includes applying a grammar which matches a plurality of field definitions in the source code for the application. 8. The method of claim 1 , further comprising providing for user selection of a minimization service for at least one of the fields designated as a sensitive field and wherein when a minimization service has been selected for a field designated as sensitive, the records manager calls on the selected minimization service and otherwise calls on a default minimization service. 9. The method of claim 1 , wherein the records manager includes a private class definition for each sensitive class. 10. The method of claim 1 , wherein the generation of the records manager comprises converting the records manager source code to bytecode. 11. The method of claim 1 , wherein the records manager class further comprises a mapping function configured to retrieve an instance of a private class by looking up an instance of the sensitive class. 12. A system for implementing a privacy policy, comprising: memory which stores code for an application which includes definitions for a set of classes of records and for each of the record classes, a definition of at least one field; an editor for receiving a selection of at least one of the fields of the application that is designated by a user as a sensitive field; a records manager generator which generates a records manager, the records manager including a private class definition corresponding to each of the records classes that includes at least one of the fields designated as a sensitive field, the private class definition identifying an associated minimization service for generating a minimized value of data in the respective sensitive field; a mapping aspect generator which generates a mapping aspect, the mapping aspect including pointcuts for identifying joins at which the records manager is to augment the functioning of the application code by calling the minimization service to generate a minimized value of data in the respective sensitive field, the records manager and mapping aspect being configured to be deployed when the application is run, whereby the minimization service generates a minimized value of data in the respective sensitive field; and wherein the mapping aspect generator generates a mapping aspect include a pointcut which identifies a join point for each sensitive field; a editor using a grammar, generates a model of the application which lists the sensitive fields and tracks the record classes which contain the sensitive fields, the generating of the records manager comprising generating a records manager source file based on the model; a processor which implements at least one of the editor, records manager generator, and the mapping aspect generator. 13. The system of claim 12 , further comprising a compiler which compiles bytecode for the records manager and the mapping aspect from source code. 14. The system of claim 12 , further comprising a user interface which receives a selection of fields including the sensitive field. 15. The system of claim 12 , further comprising a privacy manager which calls the minimization service when the application is run. 16. A method for implementing a privacy policy, comprising: providing in memory a records manager and a mapping aspect, receiving code for an application which includes definitions for a set of classes of records and for each of the record classes, a definition of at least one field; receiving a selection of at least one of the fields of the application that is designated by a user as a sensitive field; records manager including a private class definition corresponding to each record class of an application that includes at least one field that has been designated as a sensitive field, the private class definition identifying an associated minimization service for generating a minimized value of data in the sensitive field; the mapping aspect including pointcuts for identifying joins at which the records manager is to augment the functioning of code of the application by calling the minimization service to generate a minimized value of data in the respective sensitive field; and wherein the mapping aspect includes a pointcut which identifies a join point for each sensitive field; further comprising with a grammar, generating a model of the application which lists the sensitive fields and tracks the record classes which contain the sensitive fields, the generating of the records manager comprising generating a records manager source file based on the model; with a hardware processor, deploying the records manager and mapping aspect together with the application code, whereby the minimization service generates a minimized value of data in the sensitive field.

Assignees

Inventors

Classifications

  • where protection concerns the structure of data, e.g. records, types, queries · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317710B2 cover?
A method for implementing a privacy policy includes receiving code for an application which includes definitions for a set of classes of records and for each of the record classes in the set, a definition of at least one field. A user selects one or more of the record classes and fields of the application as sensitive. A records manager is generated for identifying an associated minimization se…
Who is the assignee on this patent?
Xerox Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/6227. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).