BSD sockets establish a communication channel between two computers on the Internet. Internet applications that use sockets are simpler to program when those sockets are used in a centralized way. Virtually every application uses them. For example the well-known HyperText Transfer Protocol (HTTP), used by Web browsers, requires establishing a socket to a centralized Web site to transfer hypertext.
Centralization vs Decentralization
In centralized architectures, most computers on the Internet connect to only a few. Hans-Dieter Hiep, PhD researcher in the Computer Security group, says: "You can even see the results of this centralization in the physical world. Think about it: why are there so many data centers popping up out of nowhere? I work on the third floor at CWI, next to the room where the first public Internet connection in Europe was established in 1988. If you look outside, you now see a huge data center, a tall building without any windows. Thirty years ago, we did not have a need for them." Those data centers store large amounts of data and offer computational services. Sockets have favoured centralized architectures, since its applications are less complex to develop and operate. However, there are some important downsides to this, such as security, privacy and trust issues.
The Internet can also be used in a more decentralized fashion, e.g. by storing data closer to home, that is more resilient to outage and can better protect users’ privacy. But using sockets to build distributed applications is complex. The ambition of the Reowolf project is to enhance the programmability of the Internet to support the needs of future digital society. Reowolf replaces sockets by innovative connectors that are programmable with high-level protocols that coordinate complex data-streams, making programming of decentralized applications simpler. Hiep: "You can think of a connector as a group communication mechanism. No longer you only talk to a single other computer as with sockets, but you connect multiple computers that co-operate together. Moreover, those connectors can be programmed, to specify what and when communication is allowed."
Privacy and Trust
What about privacy and trust? As more communication channels became encrypted due to EU privacy regulations (GDPR), network operators are having an increasing difficulty to improve the quality of service, for example to optimize traffic to improve latency and throughput, and to monitor traffic to detect intrusions and abuse. The Reowolf project supports network operators to further improve quality of service, by separating the concerns for efficiency and privacy. Hiep: "Traffic signaling information is made public, which allows for advanced optimization and monitoring techniques to be applied, but separated from application privacy-sensitive content."
Connectors are a proven, powerful technology, based on decades of research on coordination language Reo, performed at CWI. This research is valorized and brought to the wider Internet community. Hiep: "We envision a new generation of privacy-respecting, trustworthy and reliable Internet applications. Thanks to NGI POINTER, work on these important issues can take place." The Next Generation Internet Program for Open Internet Renovation – NGI POINTER – has received funding from the European Commission, as part of the Horizon 2020 Research and Innovation Programme, under Grant Agreement No. 871528.
Reowolf started last year, by the initiative of the principal investigator and PhD researcher Hans-Dieter Hiep and other members of the Computer Security group - Frank de Boer and the founding father of Reo, Farhad Arbab - and received support from Next Generation Internet ZERO Privacy and Trust Enhancing Technologies fund. Promising results of last year have lead to the continuation of the project, now supported by the Next Generation Internet POINTER fund.