|
1 | 1 | # FBase
|
2 | 2 |
|
3 |
| -FBase can be build by running `mvn clean package`. Do not forget to run `mvn clean install` in the local FBaseCommons [repository](https://github.com/OpenFogStack/FBaseCommons) as it is one of the dependencies. In addition, the [Naming Service](https://github.com/OpenFogStack/FBaseNamingService) should be up and running (with the quickstart configuration). |
| 3 | +This project is part of the FBase research project which includes the following subprojects: |
| 4 | +* [FBase](https://github.com/OpenFogStack/FBase): Main repository with the FBase system |
| 5 | +* [FBaseNamingService](https://github.com/OpenFogStack/FBaseNamingService): The FBase Naming Service |
| 6 | +* [FBaseCommons](https://github.com/OpenFogStack/FBaseCommons): Common utility classes used by FBase and the FBase Naming Service |
| 7 | +* [FBaseExample](https://github.com/OpenFogStack/FBaseExample): Example FBase setup that uses Vagrant and VirtualBox |
4 | 8 |
|
5 |
| -The easiest way to startup FBase is by just using the jar file (with dependencies) produced by maven. If no argument is provided, a quickstart configuration is used. Otherwise, the only argument that can be provided is the path to a config file (that is then used instead of the quickstart config). For an example config file check out `src/main/resources/sample_config.properties.`, make sure that the initialNodeConfig of the naming service is compatible to the configuration of the first FBase node started (nodeID and encryption information), because otherwise it cannot communicate with the Naming Service. The quickstart configurations are compatible. |
| 9 | +The combination of edge and cloud in the fog computing paradigm enables a new breed of data-intensive applications. These applications, however, have to face a number of fog-specific challenges which developers have to repetitively address for every single application. |
| 10 | +FBase is a replication service specifically tailored to the needs of data-intensive fog applications that aims to ease or eliminate challenges caused by the highly distributed and heterogeneous environment fog applications operate in. |
6 | 11 |
|
7 |
| -If you need to generate a private/public RSA key, use the `RSAHelper` class' main method. |
| 12 | +If you use this software in a publication, please cite it as: |
8 | 13 |
|
9 |
| -## Related Publications |
| 14 | +### Text |
| 15 | +Jonathan Hasenburg, Martin Grambow, David Bermbach. **Towards A Replication Service for Data-Intensive Fog Applications**. In: Proceedings of the 35th ACM Symposium on Applied Computing, Posters Track (SAC 2020). ACM 2020. |
10 | 16 |
|
| 17 | +Jonathan Hasenburg, Martin Grambow, David Bermbach. **FBase: A Replication Service for Data-Intensive Fog Applications**. In: Technical Report MCC.2019.1. TU Berlin & ECDF, Mobile Cloud Computing Research Group. 2018. |
11 | 18 |
|
12 |
| -Jonathan Hasenburg, Martin Grambow, David Bermbach. ***Towards A Replication Service for Data-Intensive Fog Applications.*** In: Proceedings of the 35th ACM Symposium on Applied Computing, Posters Track (SAC 2020). ACM 2020. |
| 19 | +### BibTeX |
| 20 | +``` |
| 21 | +@inproceedings{paper_hasenburg_towards_fbase, |
| 22 | + title = {{Towards A Replication Service for Data-Intensive Fog Applications}}, |
| 23 | + booktitle = {Proceedings of the 35th ACM Symposium on Applied Computing, Posters Track (SAC 2020)}, |
| 24 | + publisher = {ACM}, |
| 25 | + author = {Jonathan Hasenburg and Martin Grambow and David Bermbach}, |
| 26 | + year = {2020} |
| 27 | +} |
13 | 28 |
|
14 |
| -Jonathan Hasenburg, Martin Grambow, David Bermbach. ***FBase: A Replication Service for Data-Intensive Fog Applications.*** In: Technical Report MCC.2019.1. TU Berlin & ECDF, Mobile Cloud Computing Research Group. 2018. |
| 29 | +@inproceedings{paper_hasenburg_towards_fbase, |
| 30 | + title = {{Towards A Replication Service for Data-Intensive Fog Applications}}, |
| 31 | + booktitle = {Proceedings of the 35th ACM Symposium on Applied Computing, Posters Track (SAC 2020)}, |
| 32 | + publisher = {ACM}, |
| 33 | + author = {Jonathan Hasenburg and Martin Grambow and David Bermbach}, |
| 34 | + year = {2020} |
| 35 | +} |
| 36 | +``` |
15 | 37 |
|
16 |
| -## S3 Connector |
| 38 | +A full list of our [publications](https://www.mcc.tu-berlin.de/menue/forschung/publikationen/parameter/en/) and [prototypes](https://www.mcc.tu-berlin.de/menue/forschung/prototypes/parameter/en/) is available on our group website. |
17 | 39 |
|
18 |
| -If the S3 connector is supposed to be used, AWS credentials must be set locally as described [here](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html). |
| 40 | +## Instructions |
19 | 41 |
|
20 |
| -## How to run the tests |
| 42 | +FBase can be build by running `mvn clean package`. Do not forget to run `mvn clean install` in the local FBaseCommons [repository](https://github.com/OpenFogStack/FBaseCommons) as it is one of the dependencies. In addition, the [Naming Service](https://github.com/OpenFogStack/FBaseNamingService) should be up and running (with the quickstart configuration). |
21 | 43 |
|
22 |
| -For some of the tests, a running naming service is required. The naming service has to be started in debug mode and must add an initial node that equals us as configured in the FBase configuration files. The naming service address must configured in the different configuration files for each test individually. |
| 44 | +The easiest way to startup FBase is by just using the jar file (with dependencies) produced by maven. If no argument is provided, a quickstart configuration is used. Otherwise, the only argument that can be provided is the path to a config file (that is then used instead of the quickstart config). For an example config file check out `src/main/resources/sample_config.properties.`, make sure that the initialNodeConfig of the naming service is compatible to the configuration of the first FBase node started (nodeID and encryption information), because otherwise it cannot communicate with the Naming Service. The quickstart configurations are compatible. |
23 | 45 |
|
24 |
| -## Current ToDos not listed in code |
| 46 | +If you need to generate a private/public RSA key, use the `RSAHelper` class' main method. |
25 | 47 |
|
26 |
| -### Storage |
27 |
| -- [ ] Remove data that is expired. |
| 48 | +## S3 Connector |
28 | 49 |
|
29 |
| -### Handling Missed Messages |
30 |
| -- [ ] Add message history cleanup functionality (on receiver and sender side). Currently, the message history is never cleaned. |
| 50 | +If the S3 connector is supposed to be used, AWS credentials must be set locally as described [here](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html). |
31 | 51 |
|
32 |
| -### Controlling FBase with Clients |
33 |
| - - [ ] Enable encryption and authentication (Currently, everyone can use the rest API of a node and do everything. However, the node has to check whether the requesting client is already registered with the naming service.) |
| 52 | +## How to run the tests |
| 53 | + |
| 54 | +For some of the tests, a running naming service is required. The naming service has to be started in debug mode and must add an initial node that equals us as configured in the FBase configuration files. The naming service address must configured in the different configuration files for each test individually. |
0 commit comments