Consistent data masking

US9621680B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9621680-B2
Application numberUS-201314058556-A
CountryUS
Kind codeB2
Filing dateOct 21, 2013
Priority dateOct 21, 2013
Publication dateApr 11, 2017
Grant dateApr 11, 2017

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.

According to one embodiment of the present invention, a system masks data objects across a plurality of different data resources. The system comprises a processor configured to include a plurality of service providers to mask the data objects, wherein each service provider corresponds to a different type of data masking for the data objects. An interface provides access to the plurality of service providers from different data-consumers to mask the data objects according to the corresponding types of data masking, wherein resulting masked data maintains relational integrity across the different data resources. Embodiments of the present invention further include a method and computer program product for masking data objects across a plurality of different data resources in substantially the same manners described above.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for masking data objects across a plurality of different data resources comprising: a masking module having a public application programming interface (API), a service manager, a service provider API, and a plurality of masking service providers; an application making an initial call to the masking module via the public API for applying masking to data extracted from a data source, the public API supporting a masking provider grammar that allows various computer languages to gain access to services provided by the masking module; the masking module is initialized to provide data masking services to any of said plurality of service providers to mask the data objects residing on said masking module, wherein each service provider corresponds to a different type of data masking for the data objects, whereby the public API provides access to the plurality of service providers from different data-consumers to mask the data objects according to the corresponding types of data masking such that resulting masked data maintains relational integrity across the different data resources; and a data structure prepared by said application that identifies a specific one of said plurality of masking service providers along with control parameters to drive execution of said specific one of said plurality of masking service providers; a token identifier that has been passed from the masking module to the application identifying said specific one of said plurality of masking service providers; one or more input buffers for the data to be masked along with said token identifier input from the application to the masking module; at least one processor of the masking module configured to: receive a request via the public API from a data-consumer to access to a selected one of the services providers; receive data via the public API from the data-consumer for masking by the selected service provider, said data including said token identifier and said one or more input buffers; interprete said token identifier and said one or more input buffers at the masking module to mask the received data using the selected service provider; return the masked data to the data-consumer via the public API; and determine whether additional data remains to be masked, and if so, masking said additional data. 2. The system of claim 1 , wherein the data-consumers include at least one of user generated applications and user defined functions. 3. The system of claim 1 , wherein the request received via the public API includes a data structure identifying the selected service provider and control parameters for the selected service provider. 4. The system of claim 1 , wherein the at least one processor is further configured to add a new service provider performing a corresponding type of data masking to the plurality of service providers and provide access to the new service provider via the interface, wherein the new service provider comprises a new software module. 5. A computer program product for masking data objects across a plurality of different data resources comprising: a computer readable storage medium having computer readable program code embodied therewith for execution on a processing system, the computer readable program code comprising computer readable program code configured to: provide a masking module having a public application programming interface (API), a service manager, a service provider API, and a plurality of masking service providers; provide an application making an initial call to the masking module via the public API for applying masking to data extracted from a data source, the public API supporting a masking provider grammar that allows various computer languages to gain access to services provided by the masking module; the masking module is initialized to provide data masking services to any of said a plurality of service providers to mask the data objects residing on said masking module, wherein each service provider corresponds to a different type of data masking for the data objects, whereby the public API provides provide access to the plurality of service providers from different data-consumers to mask the data objects according to the corresponding types of data masking, wherein resulting masked data maintains relational integrity across the different data resources; provide a data structure prepared by said application that identifies a specific one of said plurality of masking service providers along with control parameters to drive execution of said specific one of said plurality of masking service providers; provide a token identifier that has been passed from the masking module to the application identifying said specific one of said plurality of masking service providers; provide one or more input buffers for the data to be masked along with said token identifier input from the application to the masking module; receive a request via the public API from a data-consumer to access to a selected one of the services providers; receive data via the public API from the data-consumer for masking by the selected service provider, said data including said token identifier and said one or more input buffers; interprete said token identifier and said one or more input buffers at the masking module to mask the received data using the selected service provider; return the masked data to the data-consumer via the public API; and determine whether additional data remains to be masked, and if so, masking said additional data. 6. The computer program product of claim 5 , wherein the data-consumers include at least one of user generated applications and user defined functions. 7. The computer program product of claim 5 , wherein the request received via the public API includes a data structure identifying the selected service provider and control parameters for the selected service provider. 8. The computer program product of claim 5 , wherein the computer readable program code is further configured to add a new service provider performing a corresponding type of data masking to the plurality of service providers and provide access to the new service provider via the interface, wherein the new service provider comprises a new software module. 9. The system of claim 1 , further including: generating a token identifier at the masking module that identifies the specific one of said plurality of masking service providers; transferring the token identifier from the masking module to the application; in subsequent service calls, passing the token identifier from the application to the masking module to identify the specific one of said plurality of masking service providers and the initialized masking service provider instance from others of said plurality of masking service providers. 10. The system of claim 1 , wherein the public API is independent from the data source to support structured and unstructured data sources. 11. The system of claim 1 , wherein the masking module processes masking tasks as single task. 12. The system of claim 1 , wherein the masking module processes masking tasks in user-defined batches. 13. The system of claim 1 , further including a plurality of masking utilities of the masking module. 14. The system of claim 1 , wherein the extracted data includes input and output data structures represented as rows and column fields within the rows. 15. The system of claim 14 , wherein the extracted data further include standard data types selected from the group consisting of an integer, char, null terminated strings, date, and time. 16. The s

Assignees

Inventors

Classifications

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 US9621680B2 cover?
According to one embodiment of the present invention, a system masks data objects across a plurality of different data resources. The system comprises a processor configured to include a plurality of service providers to mask the data objects, wherein each service provider corresponds to a different type of data masking for the data objects. An interface provides access to the plurality of serv…
Who is the assignee on this patent?
Globalfoundries Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/6254. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 11 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).