Skip to content

Commit

Permalink
controversial abstract
Browse files Browse the repository at this point in the history
  • Loading branch information
jitsedesmet committed May 22, 2024
1 parent bbb170b commit 019f49e
Show file tree
Hide file tree
Showing 9 changed files with 103 additions and 64 deletions.
45 changes: 33 additions & 12 deletions _papers/thesis-report/additional/abstract.typ
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
The abstract is maximum one page and contains at least the following:
+ The information from the title page (in a format of one’s own);
+ A brief description of the dissertation (fifteen to twenty lines);
+ Possibly three to five well-chosen keywords that describe the topic best.
#import "../utils/review.typ": *
#import "../utils/general.typ": *

// The abstract is maximum one page and contains at least the following:
// + The information from the title page (in a format of one’s own);
// + A brief description of the dissertation (fifteen to twenty lines);
// + Possibly three to five well-chosen keywords that describe the topic best.


// Context: Why the need is so pressing or important
Expand All @@ -12,19 +15,37 @@ The abstract is maximum one page and contains at least the following:
// Conclusion: What the findings mean for the audience
// Perspectives: What the future holds, beyond this work


= #title
#[
#set par(leading: 0.65em)
#align(center)[
Jitse De Smet\
#link("mailto:jitse.desmet@ugent.be")[jitse.desmet\@ugent.be]
]
]

// Context
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Data is the new gold, you hear it constantly.
Much of that gold, flows through Web technologies into massive centralized companies like Amazon, Google, and TikTok.
The Web, however, was envisioned as a decentralized information space to which anyone could read and write information. // Remember good old Wikipedia?
This centralization of data causes numerous problems, such as privacy related-issues since people are not in control of their data, but also causes a centralization of attention.
The centralization of attention and control causes social turbulence.
Such as the US ban on TikTok or more recently the ban of TikTok by France in response to protests.
In a response to these crises, various initiatives are working towards re-decentralizing the Web, such as Solid and Mastodon.
// Need
Vestibulum finibus dignissim augue, id pellentesque est facilisis non.
The re-decentralization of the Web comes with various challenges to overcome because the world is not the same as it used to.
These challenges range from efficient and interoperable reading and writing to expressing potentially complex usage/ access policies.
The domain of efficient writing, without data dependencies, in the context of a decentralized system remains rather unexplored.
// Task
Donec fringilla dolor non neque iaculis blandit.
We therefore looked at the current state of the Solid specification to investigate the data dependencies updates currently face.
// Object
Praesent aliquet eleifend iaculis.
The most problematic was access path dependence, where writers of data need to explicitly specify a location to write or update data.
Similar problems are present when reading data in Solid, but are abstracted through the use of a query engine.
We therefore investigate the possibility of a query engine that can create/ update resources without data dependencies.
// Findings
Quisque pellentesque at odio ac bibendum.
Our evaluations show that such a query engine can be created by providing a structural description and has limited overhead.
// Conclusion
Pellentesque imperdiet felis urna, quis facilisis lacus gravida non.
Having a data dependency free approach to update decentralized data is of huge importance in the adaptation of decentralized systems,
As it allows easier management of data.
// Perspectives
Donec quis lectus eget sem tempor tristique pellentesque in dolor.
The current implantation is limited to updating data of one federation, additional research is required to support inter-federation updates.
4 changes: 3 additions & 1 deletion _papers/thesis-report/additional/extended-abstract.typ
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
#import "../utils/review.typ": *
#import "../utils/general.typ": *
#import "../utils/ieee.typ": ieee

#[
#show: ieee.with(
paper-size: "a4",
title: [Abstracting Data Updates over a Document-oriented interface of a Permissioned Decentralized Environment],
title: title,
abstract: [
To write an abstract is a delicate art that Jitse will need to master if he wants to get a masters degree.
],
Expand Down
35 changes: 18 additions & 17 deletions _papers/thesis-report/chapters/conclusion.typ
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,33 @@
= Conclusion

// Small resume
In this work we precented a vocabulary that allows smart clients to autonimusly discover the location a created or updated resource should be stored.
The vocabulary also introduces checks on whether or not a resource can be created or removed.
Additionally we proved that our vocabulary is indead expressive by implementing a smart client that consumes it.
In this work, we presented a vocabulary that allows smart clients to autonomously discover the location a created or updated resource should be stored.
The vocabulary also introduces checks on whether a resource can be created or removed.
Additionally, we proved that our vocabulary is indeed expressive by implementing a smart client that consumes it.

We hypothezized that such a smart client would be a maximum of four times slower and would ruire a maximum of double the amount of @http requists.
Through theoretical evaluation, we discover that the amound of @http requests is within those bound.
Unfortunatly, the executon time of a single query was slower than four times the execution time of the same query when not consuming the proposed vocabulary.
We concluded that the execution time is less then four times slower in the case that the behaviour of our solution could be moddeled using a @sparql query.
We hypothesized that such a smart client would be a maximum of four times slower and would require a maximum of double the amount of @http requests.
Through theoretical evaluation, we discover that the amount of @http requests is within those bound.
Unfortunately, the execution time of a single query was slower than four times the execution time of the same query when not consuming the proposed vocabulary.
We concluded that the execution time is less than four times slower in the case that the behavior of our solution could be modeled using a @sparql query.

// Questions to myself
In essence, @sgv tries to provide structure to a widly unstructured document store that is @sgv.
It does this by defining a server side description of the structure that should be enforced by clients.
In essence, @sgv tries to provide structure to a widely unstructured document store that is @sgv.
It does this by defining a server-side description of the structure that should be enforced by clients.
In reality, clients can still interact with the Solid pod however they want since the server is not aware that a structure should be followed.
This lack of server-side verification is perhabs the biggest shortcomming of this work.
That being said, it is entirely possible to extend an existing Solid server with a @sgv varification system.
This lack of server-side verification is perhaps the biggest shortcoming of this work.
That being said, it is entirely possible to extend an existing Solid server with a @sgv verification system.
The downside at that being that both the client and server need to calculate the proposed location of a resource.
Unfortunatly, this is a shortcomming of the @ldp interface itself as it chooses for an easy server.
Unfortunately, this is a shortcoming of the @ldp interface itself, as it chooses for an easy server.
This choice often comes at the cost of a complex client side.
What's more, since one server interface is used by many clients, it becomes almost impossible to guarantee a system that respects the structure of a permissive interface.

// The definition of a resource.
Throughout this work we often talk about "the @rdf resource", defining it as the @cbd of some named node.
This definition is actualy rather arbitrary.
Throughout this work, we frequently talk about "the @rdf resource", defining it as the @cbd of some named node.
This definition is actually rather arbitrary.
Another way of defining a resource is by using the shape descriptions.
Though the use of shape descriptions, create an @rdf resource containing multiple named nodes as subjectes. @fig:resouce-with-two-named-nodes.
Though the use of shape descriptions, create an @rdf resource containing multiple named nodes as subjects. @fig:resouce-with-two-named-nodes.
@sgv will then try to define a base for this query and place the resource there.
When editing the resource, we need to e aware that both named nodes are referencable by others.
When editing the resource, we need to be aware that both named nodes are referable by others.
Thus, when we conclude a move is required, we should decide on what named nodes should be moved.

#figure(
Expand All @@ -44,4 +44,5 @@ text-example[
ex:street "SesamStreet"@en .
```
], caption: [A resource consisting of two named nodes as subjects.]
) <fig:resouce-with-two-named-nodes>
) <fig:resouce-with-two-named-nodes>

4 changes: 4 additions & 0 deletions _papers/thesis-report/chapters/future-work.typ
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
@sgv proves it is possible to create automated clients that can decide where to store resources.
In the state we present it here, it is not production ready, but it opens the gate to interesting research.

#todo[
auto discover resources that should be updated.
Shouldn't be harder than buidling on existing read functionaloty + source attribution!
]

== Inter pod updates

Expand Down
1 change: 0 additions & 1 deletion _papers/thesis-report/chapters/storage-guidance-vocab.typ
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

#add[You could suggest addition], #delete[or deletion.]
#MRT[Ruben makes margin note]
We can refer to acronyms like: @oidc. It was long before, but now short @oidc.
#IRT[Ruben makes inline note]
// #todo[why start anew and not use Shape Trees?]

Expand Down
53 changes: 23 additions & 30 deletions _papers/thesis-report/glossary.typ
Original file line number Diff line number Diff line change
@@ -1,41 +1,34 @@
// this is an example. Check https://typst.app/universe/package/glossarium

#let glossary = (
// minimal term
(key: "kuleuven", short: "KU Leuven"),
// a term with a long form
(key: "unamur", short: "UNamur", long: "Université de Namur"),
// no long form here
(key: "kdecom", short: "KDE Community", desc:"An international team developing and distributing Open Source software."),
// a full term with description containing markup
(
key: "oidc",
short: "OIDC",
long: "OpenID Connect",
desc: [OpenID is an open standard and decentralized authentication protocol promoted by the non-profit
#link("https://en.wikipedia.org/wiki/OpenID#OpenID_Foundation")[OpenID Foundation].]),
(key: "sgv", short: "SGV", long: "Storage Guidance Vocabulary"),
(key: "shex", short: "ShEx"),
(key: "shacl", short: "SHACL"),
(key: "sgv", short: "SGV", long: "Storage Guidance Vocabulary", desc: [
The vocabulary introduced in this document in order to explicetly dezscribe the structure of a Solid pod.
]),
(key: "shex", short: "ShEx", desc: [
ShEx~@bib:shex is a communty created shape description language.
]),
(key: "shacl", short: "SHACL", desc: [
SHACL~@bib:shacl is a W3C Recomendation shape description language.
]),
(key: "http", short: "HTTP", long: "Hypertext Transfer Protocol"),
(key: "rdf", short: "RDF", long: "Resource Description Framework"),
(key: "ldp", short: "LDP", long: "Linked Data Platform"),
(key: "rdf", short: "RDF", long: "Resource Description Framework", desc: [@bib:rdf]),
(key: "ldp", short: "LDP", long: "Linked Data Platform", desc: [@bib:ldp]),
(key: "uri", short: "URI"),
(key: "sparql", short: "SPARQL"),
(key: "ldes", short: "LDES", long: "Linked Data Event Streams"),
(key: "sparql", short: "SPARQL", descr: [@bib:sparql]),
(key: "ldes", short: "LDES", long: "Linked Data Event Streams", desc: [@bib:ldes]),
(key: "api", short: "API", long: "Application Programming Interface"),
(key: "gdpr", short: "GDPR", long: "General Data Protection Regulation"),
(key: "ccpa", short: "CCPA", long: "California Consumer Privacy Act"),
(key: "void", short: "VoID", long: "Vocabulary of Interlinked Datasets"),
(key: "tree", short: "TREE"),
(key: "void", short: "VoID", long: "Vocabulary of Interlinked Datasets", desc: [@bib:void]),
(key: "tree", short: "TREE", desc: [@bib:tree]),
(key: "w3c", short: "W3C", long: "World Wide Web Consortium"),
(key: "tpf", short: "TPF", long: "Triple Patter Fragments"),
(key: "cbd", short: "CBD", long: "Concise Bounded Description"),
(key: "wac", short: "WAC", long: "Web Access Control"),
(key: "acp", short: "ACP", long: "Access Control Policy"),
(key: "tpf", short: "TPF", long: "Triple Patter Fragments", desc: [@bib:tpf]),
(key: "cbd", short: "CBD", long: "Concise Bounded Description", desc: [@bib:concise-bounded-description]),
(key: "wac", short: "WAC", long: "Web Access Control", desc: [@bib:wac]),
(key: "acp", short: "ACP", long: "Access Control Policy", desc: [@bib:acp]),
(key: "acl", short: "ACL", long: "Access Control List"),
(key: "crdt", short: "CRDT", long: "Conflict-free Replicated data Type"),
(key: "cap", short: "CAP", long: "Consistency Availability Partition tolerance"),
(key: "acid", short: "ACID", long: "atomicity, consistency, isolation, durability"),
(key: "snb", short: "SNB", long: "Social Network Benchmark")
(key: "crdt", short: "CRDT", long: "Conflict-free Replicated data Type", desc: [@bib:crdt]),
(key: "cap", short: "CAP", long: "Consistency Availability Partition tolerance", desc: [@bib:cap]),
(key: "acid", short: "ACID", long: "atomicity, consistency, isolation, durability", desc: [@bib:acid]),
(key: "snb", short: "SNB", long: "Social Network Benchmark", desc: [@bib:ldbc])
)
19 changes: 19 additions & 0 deletions _papers/thesis-report/items.bib
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,15 @@ @inproceedings{bib:solid
organization.bak={International World Wide Web Conferences Steering Committee}
}

@inproceedings{bib:acid,
title={The transaction concept: Virtues and limitations},
author={Gray, Jim and others},
booktitle={VLDB},
volume={81},
pages={144--154},
year={1981}
}

@inproceedings{bib:cap,
title={Harvest, yield, and scalable tolerant systems},
author={Fox, Armando and Brewer, Eric A},
Expand All @@ -418,6 +427,16 @@ @ARTICLE{bib:continous-cap
month=feb,
}

@inproceedings{bib:crdt,
title={Conflict-free replicated data types},
author={Shapiro, Marc and Pregui{\c{c}}a, Nuno and Baquero, Carlos and Zawirski, Marek},
booktitle={Stabilization, Safety, and Security of Distributed Systems: 13th International Symposium, SSS 2011, Grenoble, France, October 10-12, 2011. Proceedings 13},
pages={386--400},
year={2011},
organization={Springer}
}


@inproceedings{bib:taelmansecurity,
title={A prospective analysis of security vulnerabilities within link traversal-based query processing},
author={Taelman, Ruben and Verborgh, Ruben},
Expand Down
4 changes: 1 addition & 3 deletions _papers/thesis-report/main.typ
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
// #show ref: set text(fill: color.olive)
// #show link: set text(fill: blue)
show link: it => {
if type(it.dest) == "string" {
if type(it.dest) == "string" and (it.dest.starts-with("http")) {
underline(stroke: (paint: blue, thickness: 1pt, dash: "dashed"), it)
footnote(it.dest)
} else {
Expand Down Expand Up @@ -157,8 +157,6 @@

#pagebreak(weak: false)


= Abstract

#include "additional/abstract.typ"
]
Expand Down
2 changes: 2 additions & 0 deletions _papers/thesis-report/utils/general.typ
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#let title = "Abstracting Data Updates over a Document-oriented interface of a Permissioned Decentralized Environment"

#let inline-enum(body) = {
show enum: it => {
let i = 0
Expand Down

0 comments on commit 019f49e

Please sign in to comment.