|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectanonymizer.Anonymizer
incognito.Incognito_L
public class Incognito_L
Implementation of the l-diversity privacy principle based on the Incognito anonymization algorithm. For details on l-diversity, please refer to the following paper:
@inproceedings{lDiversity, author = {Daniel Kifer and Johannes Gehrke}, title = {l-Diversity: Privacy Beyond k-Anonymity}, booktitle = {In ICDE}, year = {2006}, pages = {24} }The paper discusses anonymization through generalization (as opposed to generalization with suppression). That's why, unlike our Incognito implementation which allows suppression, this implementation of Incognito disallows suppression. Apart from this minor change, the only difference with the original Incognito algorithm is the different privacy definition (i.e., various l-diversity instantiations).
Field Summary | |
---|---|
private LatticeManager |
man
Lattice manager that controls how the generalization lattice is traversed |
Fields inherited from class anonymizer.Anonymizer |
---|
anonTable, conf, eqTable, sqlwrapper, suppressionThreshold |
Constructor Summary | |
---|---|
Incognito_L(Configuration conf)
Class constructor |
Method Summary | |
---|---|
void |
anonymize()
Anonymizing the input. |
void |
changeLDiversityRequirement(double newLvalue)
Overwrites the privacy parameter l |
void |
changeLDiversityRequirement(double newLvalue,
double newCvalue)
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 |
generalize(LatticeEntry root)
Generalizes the original table according to a lattice entry and sets the result for the generated table as anonymous or not. |
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 |
boolean |
satisfiesPrivacyDef(AnonRecordTable table)
Checks whether the parameter table satisfies the privacy definition (in this case, some l-diversity instantiation) |
private void |
selectAnonymization(java.util.LinkedList<LatticeEntry> anons)
Simply select the anonymization that yields the maximum number of distinct equivalences |
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 |
Field Detail |
---|
private LatticeManager man
Constructor Detail |
---|
public Incognito_L(Configuration conf) throws java.lang.Exception
conf
- Configuration instance
java.lang.Exception
Method Detail |
---|
public void changeLDiversityRequirement(double newLvalue)
newLvalue
- New value of lpublic void changeLDiversityRequirement(double newLvalue, double newCvalue)
newLvalue
- New value of lnewCvalue
- New value of cprotected EquivalenceTable createEquivalenceTable(java.lang.String tableName)
createEquivalenceTable
in class Anonymizer
tableName
- Name of the table
protected AnonRecordTable createAnonRecordsTable(java.lang.String tableName)
createAnonRecordsTable
in class Anonymizer
tableName
- Name of the table
protected long insertTupleToEquivalenceTable(java.lang.String[] vals) throws java.lang.Exception
insertTupleToEquivalenceTable
in class Anonymizer
vals
- 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 Anonymizer
vals
- 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 Anonymizer
java.lang.Exception
public boolean satisfiesPrivacyDef(AnonRecordTable table) throws java.lang.Exception
table
- Table to be checked for anonymity
java.lang.Exception
private void generalize(LatticeEntry root) throws java.lang.Exception
root
- An entry of the generalization lattice that specifies how many
times each qi-attribute will be generalized
java.lang.Exception
private void selectAnonymization(java.util.LinkedList<LatticeEntry> anons) throws java.lang.Exception
anons
- List of lattice entries that correspond to anonymized tables
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |