Skip to content

Commit

Permalink
The content for anonymization is initiataed
Browse files Browse the repository at this point in the history
  • Loading branch information
afshinamighi committed Jan 19, 2021
1 parent 9063812 commit 10e393a
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 7 deletions.
8 changes: 4 additions & 4 deletions ConcurrentCSharp/DiningPhilosophers/Program.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System;
using Exercise;
//using Solution; // will be provided later
//using Exercise;
using Solution; // will be provided later

namespace DiningPhilosophers
{
Expand All @@ -12,12 +12,12 @@ static void Main(string[] args)
Table table = new Table(numPhilosphers);

Console.WriteLine("[Dinining Philospher] Dining with one fork is going to start ...");
table.startOneForkDining(iteration);
//table.startOneForkDining(iteration);

//Console.WriteLine("[Dinining Philospher] Dining with two forks is going to start (press enter)...");
//Console.ReadLine();
//table.startTwoForksDining(iteration);
//table.startTwoForksDiningSafe(iteration);
table.startTwoForksDiningSafe(iteration);

}
}
Expand Down
6 changes: 3 additions & 3 deletions ConcurrentCSharp/DiningPhilosophers/Solution.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class Philosopher
{
public Fork rightFork { get; set; }
public Fork leftFork { get; set; }
public int maxEatingTime = 100;
public int maxEatingTime = 10;
public int number;
public Philosopher(int n)
{
Expand Down Expand Up @@ -89,13 +89,13 @@ public void eatWithTwoForksSafe()
Int32 timeout = 10; // todo: pass timeout as a parameter to the mutexes and check if deadlock happens
Console.WriteLine("[{0} waiting for right fork ...]", number);

if (rightFork.forkMutex.WaitOne())
if (rightFork.forkMutex.WaitOne(timeout))
{
rightFork.pick();

Console.WriteLine("[{0} picked right fork {1}, waiting for left fork {2} ...]", number, rightFork.id, leftFork.id);

if (leftFork.forkMutex.WaitOne())
if (leftFork.forkMutex.WaitOne(timeout))
{
leftFork.pick();
this.eat();
Expand Down
Binary file added DataAnonymization/pix/fig-taxonomy-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions DataAnonymization/resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Introduction:

This document will collect basics of data anonymization and helpful resources.

# Background:

In this section there will be essential definitions, concepts, examples and required algorithms to understand data anonymization.



## Basic Concepts:

### Data Anonymization:
Data anonymization (also known as de-identification) is a technique to be applied on datasets containing personal information in which sensitive information about individuals are stored. The main objective of anonymization is to weaken the link between the datasets' personal information and individuals. Anonymized data means that data which previously addressing individuals is processed and after the process the probability of uniquely identifying these individuals becomes less.



### Fundamental Technqies:

#### generalization:

Data generalization is a simple technique by which an exact value of a sensitive attribute is replaced with a more general value. In order to choose a general value, a *taxonomy tree* is built by a (data) domain expert. The exact values must be found among the leaves. The most general value appears in the root.

Figure: [An example of a taxonomy tree](./pix/fig-taxonomy-01.png)

#### suppression:



#### permutation:



#### swapping:



### Fundamental Algorithms:



#### k-anonimity:

[todo]

#### l-diversity:

[todo]

# Resources:

## Books:

1. Book: ["Database Anonymization: Privacy Models, Data Utility, and Microaggregation-based Inter-model Connections"](https://www.researchgate.net/publication/290229262_Database_Anonymization_Privacy_Models_Data_Utility_and_Microaggregation-based_Inter-model_Connections)

## Surveys:

1. Privacy-preserving data publishing: A survey of recent development [[download here](https://dl-acm-org.ezproxy.hro.nl/doi/10.1145/1749603.1749605)]

## Tools:

1. Tool: [ARX as an anonymization tool and API](https://arx.deidentifier.org/)
2. Tool: [ARX as a Service](https://oslomet-arx-as-a-service.github.io/resources/Product_Specification.pdf)

## Reports:

1. A bachelor thesis: [Anonymization of health data](https://www.duo.uio.no/bitstream/handle/10852/79902/Anonymization-of-Health-Data.pdf?sequence=13&isAllowed=y)

0 comments on commit 10e393a

Please sign in to comment.