|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectanonymizer.Anonymizer
anatomy.Anatomy
public class Anatomy
Implementation of the Anatomy anonymization algorithm. For details on Anatomy, please refer to the following paper:
@inproceedings{anatomy,
author = {Xiao, Xiaokui and Tao, Yufei},
title = {Anatomy: simple and effective privacy preservation},
booktitle = {VLDB '06: Proceedings of the 32nd international conference on Very large data bases},
year = {2006},
pages = {139--150},
location = {Seoul, Korea},
publisher = {VLDB Endowment}
}
The algorithm is described in Section 5.2 of the paper. The specific l-diversity
definition supported by the algorithm is quite different than those described in the
l-diversity paper. The output produces equivalence classes of size at least l, each of
which contains at least l distinct sensitive values.
Only integer valued l values are acceptable. Constructor performs the necessary check,
and convert l to an integer value if needed.
Property I of Section 5.2 in the paper mentions an eligibility condition. If this condition
does not hold with the input dataset, the algorithm simply throws an exception and exits.
| Field Summary |
|---|
| Fields inherited from class anonymizer.Anonymizer |
|---|
anonTable, conf, eqTable, sqlwrapper, suppressionThreshold |
| Constructor Summary | |
|---|---|
Anatomy(Configuration conf)
Class constructor |
|
| Method Summary | |
|---|---|
void |
anonymize()
Anonymizing the input. |
void |
changeLDiversityRequirement(double newLvalue)
Overwrites the privacy parameter l |
protected AnonRecordTable |
createAnonRecordsTable(java.lang.String tableName)
Create anonRecords table |
protected EquivalenceTable |
createEquivalenceTable(java.lang.String tableName)
Create equivalence table |
private void |
decrementFirstLCounts(AttValueCount[] counts,
double l)
Decrements the counts of the first l most frequent sensitive attribute values |
private boolean |
existsLNonEmptyBuckets(AttValueCount[] counts,
double l)
Check if there are at least l non-empty buckets of sensitive attribute values (iteration condition) |
protected void |
insertTupleToAnonTable(java.lang.String[] vals,
long eid)
Insert a tuple to the anonRecords table |
protected long |
insertTupleToEquivalenceTable(java.lang.String[] vals)
Insert a tuple to the equivalence table |
| Methods inherited from class anonymizer.Anonymizer |
|---|
anonymizeDataset, anonymizeDataset, isReadyForSuppression, main, outputResults_Anatomy, outputResults_GenVals, outputResults_GenValsDist, outputResults, readData, suppressEquivalences |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Anatomy(Configuration conf)
throws java.lang.Exception
conf - Configuration instance
java.lang.Exception| Method Detail |
|---|
public void changeLDiversityRequirement(double newLvalue)
newLvalue - New value of lprotected EquivalenceTable createEquivalenceTable(java.lang.String tableName)
createEquivalenceTable in class AnonymizertableName - Name of the table
protected AnonRecordTable createAnonRecordsTable(java.lang.String tableName)
createAnonRecordsTable in class AnonymizertableName - Name of the table
protected long insertTupleToEquivalenceTable(java.lang.String[] vals)
throws java.lang.Exception
insertTupleToEquivalenceTable in class Anonymizervals - All values of the tuple to be inserted (as read from the source, i.e., before any generalization)
java.lang.Exception
protected void insertTupleToAnonTable(java.lang.String[] vals,
long eid)
throws java.lang.Exception
insertTupleToAnonTable in class Anonymizervals - All values of the tuple to be inserted (as read from the source, i.e., before any generalization)eid - Equivalence id of the equivalence to which the tuple belongs
java.lang.Exception
public void anonymize()
throws java.lang.Exception
anonymize in class Anonymizerjava.lang.Exception
private void decrementFirstLCounts(AttValueCount[] counts,
double l)
counts - Counts of each sensitive attribute valuel - Privacy parameter l
private boolean existsLNonEmptyBuckets(AttValueCount[] counts,
double l)
counts - Counts of each sensitive attribute valuel - Privacy parameter l
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||