Skip to content

Running PDCi2b2

Jean Louis Raisaro edited this page Sep 13, 2017 · 20 revisions

Running PDCi2b2

PDCi2b2 is a client-server application to be deployed on two different cloud providers. The first cloud provider (also storage cloud provider) is responsible for storing encrypted aggregate-level i2b2 data. The second cloud provider (also proxy cloud provider) is responsible for helping the storage cloud provider in the

  1. Depending on the architecture of the linux servers being used (default is amd64) execute:

./compileLinux.sh or

  1. Copy the executable and example data files to each server

scp $GOPATH/github.com/lca1/unlynx/app/default/unlynx .

scp $GOPATH/github.com/lca1/unlynx/app/default/unlynx_test_data.txt .

NOTE. To generate random data just have a look at:

github.com/lca1/unlynx/services/data/handle_data_test.go

  1. For each server run a "server setup" and follow the installation guide

./unlynx server setup

  1. Create in your client machine (the one that will act as your client) a group.toml and append the content of all the public.toml files created during each setup.

  2. Start each UnLynx conode

./unlynx server -c private.toml

  1. Run a query, for example:

./unlynx -d 1 -f group.toml -s "{s0, s1}" -w "{w0, 1, w1, 1}" -p "(v0 == v1 && v2 == v3)" -g "{g0, g1, g2}"

What each flag stands for:

-d = debug level; -f = group definition file; -s = select attributes; -w = where attributes + values; -p = query predicate; -g = group by attributes

Clone this wiki locally