Towards a server-less Web

Video in TIB AV-Portal: Towards a server-less Web

Formal Metadata

Towards a server-less Web
Title of Series
Part Number
Number of Parts
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
A new communication framework has entered the Web Platform - WebRTC. Using the WebRTC protocols and APIs allows for a whole new paradigm of Web Application development, especially P2P apps that communicate with each other without a central server. In this talk I will dive into the possibilities of implementing a reliable, server-less P2P infrastructure for applications and data sharing. Max Jonas Werner
Web page Axiom of choice Server (computing) Game controller Freeware Code State of matter Mathematical singularity Maxima and minima User-generated content Client (computing) Web browser Disk read-and-write head Mereology Event horizon Metadata Facebook Medical imaging Computer configuration Profil (magazine) Internetworking Software Endliche Modelltheorie Theory of everything World Wide Web Consortium Information Server (computing) Software developer Mathematical analysis Data storage device Shared memory Content (media) Cartesian coordinate system Open set Web browser Degree (graph theory) Web application Network topology
Logical constant World Wide Web Consortium Server (computing) Game controller Namespace Range (statistics) 1 (number) Coma Berenices Connected space Facebook Medical imaging Web service Computer configuration Software Computer configuration Internetworking Web-Designer Profil (magazine) Right angle Computing platform Spacetime
Logical constant World Wide Web Consortium Distribution (mathematics) Game controller Building Block (periodic table) Data storage device Content (media) Bit Web 2.0 POKE Internetworking Universe (mathematics) Data structure Computing platform Computer architecture
Standard deviation Functional (mathematics) Mobile app Server (computing) Freeware Software developer Image resolution Mobile Web Real-time operating system Web browser Arm Web 2.0 Online chat Internetworking Bridging (networking) Videoconferencing OSI model Website God World Wide Web Consortium Standard deviation Real number Server (computing) Closed set Prisoner's dilemma Computer file Projective plane Shared memory Staff (military) Volume (thermodynamics) Cartesian coordinate system Web browser Open set Power (physics) Symbol table Peer-to-peer Message passing Telecommunication Einbettung <Mathematik> Gravitation Website Right angle Videoconferencing Bounded variation Communications protocol Family
Logical constant Slide rule Server (computing) Overhead (computing) Open source Client (computing) Web browser Event horizon Attribute grammar Web service Peer-to-peer Software framework Computer architecture World Wide Web Consortium World Wide Web Consortium Server (computing) Client (computing) Web browser Connected space Peer-to-peer Event horizon Telecommunication Summierbarkeit Table (information) Family Row (database)
Gateway (telecommunications) Server (computing) Group action ACID Set (mathematics) Open set Client (computing) Heat transfer Rule of inference Web service Mechanism design Internetworking Videoconferencing Encryption Office suite Information security World Wide Web Consortium Authentication World Wide Web Consortium Standard deviation State transition system Key (cryptography) Server (computing) Knot Lattice (order) Web browser Connected space Message passing Telecommunication Chain Videoconferencing Communications protocol Row (database)
State of matter Code Multiplication sign ACID Set (mathematics) IP address Data transmission Variance Medical imaging Online chat Coefficient of determination Mechanism design Strategy game Hypermedia Videoconferencing Data conversion Information security World Wide Web Consortium Electronic mailing list Complete metric space Trigonometric functions Connected space Process (computing) Telecommunication Order (biology) Right angle Row (database) Web browser Streaming media Heat transfer Code Revision control Session Initiation Protocol Internetworking Term (mathematics) String (computer science) Energy level Multihoming Alpha (investment) World Wide Web Consortium Window Standard deviation Wechselseitige Information Interactive television Generic programming Voltmeter Line (geometry) Cartesian coordinate system Word Function (mathematics) Blog Vertex (graph theory) Object (grammar) Communications protocol Family Library (computing)
Sensitivity analysis Functional (mathematics) Dot product Multiplication sign Streaming media Student's t-test Web browser Information privacy Mereology Inequality (mathematics) IP address Graph coloring Variance Area Analogy Information security Descriptive statistics Window Metropolitan area network World Wide Web Consortium Email Focus (optics) Standard deviation Interactive television Cartesian coordinate system System call Ellipse Connected space Peer-to-peer Web application Personal digital assistant Function (mathematics) Window
World Wide Web Consortium Functional (mathematics) Computer file State of matter Dot product Mereology Event horizon System call Variance Connected space Message passing Elementary arithmetic Term (mathematics) Function (mathematics)
System call Time zone Insertion loss Open set IP address Arm Variance Area Subset Programmer (hardware) String (computer science) Address space Data type Window World Wide Web Consortium Electric generator Parameter (computer programming) Bit Line (geometry) Density of states Complete metric space Personal digital assistant Function (mathematics) Family Communications protocol Asynchronous Transfer Mode
World Wide Web Consortium Addition Game controller Server (computing) Server (computing) Open set Web browser Cartesian coordinate system Mereology Measurement Connected space Peer-to-peer Web application Prototype Data exchange Cuboid Right angle Family
Game controller Server (computing) Implementation View (database) Image resolution Maxima and minima Set (mathematics) Drop (liquid) Information privacy Attribute grammar Web 2.0 Frequency Mechanism design Web service Peer-to-peer Cuboid Information security Metropolitan area network Identity management Mobile Web Inheritance (object-oriented programming) Image resolution Server (computing) Prisoner's dilemma Database Cartesian coordinate system Connected space Peer-to-peer Word Software Right angle
Complex (psychology) Length Multiplication sign Set (mathematics) Coma Berenices Mereology Replication (computing) Thermische Zustandsgleichung Independence (probability theory) Facebook Human migration Cuboid Office suite Identity management Physical system Metropolitan area network Data storage device Numbering scheme Measurement Connected space Hash function Telecommunication Order (biology) Spacetime Laptop Point (geometry) Slide rule Implementation Image resolution Web browser Hacker (term) Term (mathematics) String (computer science) Operator (mathematics) Hydraulic jump World Wide Web Consortium Dependent and independent variables Scaling (geometry) Key (cryptography) Image resolution Mathematical analysis Content (media) Independence (probability theory) Peer-to-peer Human migration Software Personal digital assistant Table (information) Communications protocol Active contour model
Implementation Overlay-Netz Table (information) Key (cryptography) Image resolution Code Sound effect Client (computing) Client (computing) Variance Peer-to-peer Latent heat Peer-to-peer Function (mathematics) Hash function Cuboid
World Wide Web Consortium Scheduling (computing) Code Software developer Client (computing) Client (computing) Coma Berenices Numbering scheme Mereology Cartesian coordinate system Graph coloring Thermische Zustandsgleichung Variance Independence (probability theory) Peer-to-peer Goodness of fit Message passing Human migration Function (mathematics) Communications protocol Position operator World Wide Web Consortium
Ocean current Image resolution Insertion loss Client (computing) Mereology Discrete element method Online chat Coefficient of determination Different (Kate Ryan album) Endliche Modelltheorie Gamma function Form (programming) Mobile Web Metropolitan area network Zoom lens Key (cryptography) Content (media) Data storage device Plastikkarte Bit Virtualization Cartesian coordinate system Frame problem Connected space Peer-to-peer Benz plane Ring (mathematics) Boom (sailing) Right angle Pressure Communications protocol
Overlay-Netz Table (information) 1 (number) Mereology Replication (computing) Variance Number Peer-to-peer Internetworking Hash function Musical ensemble Computer architecture Metropolitan area network Zoom lens Key (cryptography) Image resolution Cellular automaton Internet service provider Client (computing) Connected space Peer-to-peer Software Function (mathematics) Network topology Boom (sailing) Right angle Chord (peer-to-peer) Spacetime
Group action View (database) Multiplication sign Demo (music) Execution unit Parameter (computer programming) Client (computing) Open set Mereology Information privacy Usability Direct numerical simulation Emulator Mathematics Computer configuration File system Videoconferencing Software framework Information security Identity management Physical system Stability theory Metropolitan area network Email Software developer Computer file Shared memory Bit Type theory Data mining Self-organization Right angle Summierbarkeit Quicksort Arithmetic progression Online chat Asynchronous Transfer Mode Laptop Computer file Root Internetworking Robotics Booting Computing platform World Wide Web Consortium Focus (optics) Standard deviation Demo (music) Gender Content (media) Planning Core dump Computer network Cartesian coordinate system System call Peer-to-peer Performance appraisal Single-precision floating-point format Software Personal digital assistant Boom (sailing) Vertex (graph theory) Filesharing-System Communications protocol Local ring
Cone penetration test Paradox Client (computing) Web browser Open set Counting Mereology Number 2 (number) Inference Natural number Internetworking Different (Kate Ryan album) String (computer science) Musical ensemble Energy level Software testing Form (programming) Area Metropolitan area network Email Touchscreen Counting Bit Cartesian coordinate system Connected space Performance appraisal Uniform resource locator Software Universe (mathematics) Linearization Right angle Table (information) Family
World Wide Web Consortium Freeware Machine code Open source Executive information system Cartesian coordinate system Open set Medical imaging Emulator Logic Single-precision floating-point format Software Library (computing)
yeah that's been the anything on analysis I believe I don't trees on anyone's toes in this room and I say everyone as small as the same conceptual model about whether application development in his head and you develop some server code it develops a client code to run the browser and you design something nice
HTML pages and then you deploy all on this on a server that's more or less under your control to a certain degree of least and people using your shiny new applications affected from the server together with all the all the user generated data which is profile information metadata uploaded images uploaded documents all that stuff this state this data is stored on a server to the majority of today's web applications is driven by such user-generated content like Facebook and drop off some all that stuff gets out and 1 consequence of that deployment model I just outlined is that the creation of the content itself is decentralized because every user creates some parts of the content and storage and the profit from the data and a centralized on a single server or by a single event but you to something do have to say something that more people like most people in this room and are all to here and do you want share a piece of information with other people over the internet what I choices that blind 2 options that you have the first
one is the do it always say you get a web server itself to 2 1 0 like blogging platforms for the DNS name which is kind of important and I'm gonna details on that later on and constant Internet connectivity will this is sometimes hard to imagine for web developers like gasses do this all the time but during this taking option 1 requires a huge amount of knowledge like my mother and my grandmother they can when the server and deploy some blogging software on that server to to have access to the content and so they probably tend to using the option to that someone else to
like in the drive so you take advantage of a one-stop third-party and solution for getting a content published on the Internet and we have a wide range of services to choose from images Dropbox Facebook get flicker just to name the most obvious ones and the biggest ones but by doing this you lock yourself into a platform that we have no no control whatsoever about we don't even have ownership of the name space you used to reach your content right this is the U. the namespace like facebook . com slash out don't your profile is owned by Facebook and if you are migrated data from Facebook to another platform and you can make your profile accessible by of the constellation of proven anymore because Facebook owns the namespace space now about we take back control all the
content that we create how about we leverage the decentralized structure of the Internet and the Web like was never and create a user control infrastructure for content creation publishing addressing and sharing and this is what I'm going to talk about today the last 2 and a half years and my colleague and I. at the university we develop the user centric architecture for decentralizing constant creation content storage addressing and distribution all inside your browser of
the and the main building block for this the centralized platform Is that what you see and then Internet Explorer and Safari logos our bit ahead because they that don't implement about this you I that that they will so and when talking about this later web like the new buzzword on the left and it's it's kind of hard to to get a handle on what we're actually so I went to the
internet but what you usually do and try to find the missing resolution is really bad 1 of you can read all the stuff going to the Internet and and are fetched some definitions of what we're about to see actually the first one is but from the onto sealed off website which is hosted by Google and Odyssey is a free open project that provides browser mobile application real-time communications capabilities by simple API for the 2nd 1 is from Wikipedia and it says where RTC an API definition drafted by the way the Web that's from possible that is voice calling variation by sharing without the need of either internal external targets and the 3rd definition here it is from top books of a very big user of Web Odyssey and they deployed fantasy applications on the Internet already and they are profiting from and they say we about to see the communication standard developed by the w 3 c in close cooperation with the US absentee nobody ITS as a function of lower protocol layers we haven't seen in the embedding of this function in a prison websites the protocol is commonly used as what was Richard between peers just 3 different definitions that that relate to the same thing which is very much to see that they they focus on different on on on different targets in a and and this is like the problem because gravity seasonal really huge thing and it's not is to get a handle on it so it's a it's a it's a project and it's an API it's a communications standard and that's the thing which is that the think uh which I think is the smallest clearly from is a communications standard and consists of API some protocols and all that stuff
but to make things simple and and you the by God always to enactment I want to map things and and I want to understand things and this is however applications white all functions that there's no evidence symbols like this where was it this comes later but and so uniform a brother history of Bosnia you just conventional on staff and they communicated them to the server and you have send data to the server that is related to the other browser all itself to chat application for example and so um when you send a message to the other user gets sent to the server and the server sends it back to the other users now here comes whether it bridges the gap that we that we have here but to users want to communicate with each other yeah channel the communications channel for video volume and video and full-fledged sharing and data self and directly between the 2 right this is all that means that the see brings us and say I have conducted this this
table of which I think sums this up quite quite good so actually right now before ever to see we have only actually free communications and the because of the 1st 1 is http which 1 of you knows it's it's asynchronous events or edgex it's asynchronous alright but it's a client-server architecture because your browser sends again because of course across all another cheap crisp and to the server and the Cervantes of this request so it's unidirectional so can send an HTTP request to your brother the 2nd thing is service and events which I don't know who have you know so sensing service and even right with you use the Service and events to right now I really really like source and and because the it's it's actually push channel from the server to the client and nothing more it's it's that simple but it's better for web so that if you just want to push through client and because it it doesn't come with that overhead of WebSockets and but also its clients only you can open source and events connection to so and so but then send unidirectional these events to your clients on the front runners WebSockets I think most of you there's no way of attributes it's a bi-directional channel between the client and brought a client and a server it's a browser and a web server of an but it's a fine so the so here comes that larger and it's all the same capabilities when constant asynchronicity and bi-directional communication but important thing is this this peer-to-peer again headed on the on
the slide here but given direct channel between 2 rows and all the data that is sent through this channel this never seen by the server and that's important for for for the framework and then describe later so to sum this
up reminisces this itinerary Sarah communication between 2 brothers and and it comes with a lot of technical stuff underneath 1st thing is you have not to rows which is so important if you wanna have peer-to-peer communication because without it probably will reach like 90 per cent of internet users today I don't know them but is a huge huge percentage of users that are behind some not gateway like that but for the situation where and repetition handles all this for you and this is really hard as I've seen over the last 3 years and then the idea standardized and the natural stuff over about this is it's really hard to do and still you have some repetition clients which can be reached using using a repetition because the not so and they call focal knots and and they actually they can be reached from the outside they can open port and say OK and talk to me why this for this just doesn't work that will it never will right and but all the other knots to those who will using we're about to see definite intermediary service for the communication for the connection setup you will need a server I talked about this and but if you want to have the channel you will need a server and more you can disconnect from so complete very important thing here secure transfer protocol for audio and video data all the repetition of the of the data that is sent to a web artists each other is encrypted body for and you will not be able to to not sending could data this is very important because the the idea of working group had hard discussions about this and how they are going to include the channel whole how they are going
um exchange the keys for the encryption and I was at the IGF meeting in Berlin thing in 2013 and and it was even on emotional discussions what actually exchange mechanism they're gonna use and they chose the mechanism that is actually the most circuitous and message PDT us never mind about the uh the terminology it's at the mechanism rare and it uses Diffie-Hellman key chain so the server won't be able to to do to get the keys used for the encryption and there was another uh there was another standard and proposed to exchange keys which is called SDS and this and this an exchange the keys and by and this is known from a set of rules was from the war world and they probably know STS 1st acidity datasets used and it makes the most secure yeah the set and if you come from avoid road you would probably know what what recipe and offer and service and I'll explain this later on yeah I do have office also authentication there's a thing that is standardized but not implemented what now and and it's optional for you attention to use but yeah let's just say it is there
and to name all this stuff they included in the browser this huge pile of technology what when Firefox and I develop some somewhere but is he couldn't 5 volts and when they started including we're about to see and there in the browser levels like 10 thousands of lines of code but they they included a complete set steak and so this Session Initiation Protocol used probable before voice calling 4 is alive the hands on then I include this whole library and to work on that because it's very similar to how about he works we have communication completely over UDP which is different from all the other communication we have uh like all the roles so we had before with vertices and UDP is used because we have we we wanna have real-time capabilities with whatever you time all didn't show and UDP is the way to go in that what I have that right and we have and it's actually it's it's on top here but I don't know if that's really correct they very different the most of the of the state sometimes I sisters and besides here because only helps you initiate a connection but actually programmatically scenario where they they they say OK give me a connection and eyes returns the connection the ice library but if it is on top of this images under the similar to tear so far but i so the interactivity interactive Co communication exchange so but still then yet that's so that's a and it's actually makes all that much of the stuff but it encapsulates dominant and encapsulates term but I think it's a bunch of 3 4 5 hours sees you can read that if you like it's it's not very handy and it doesn't make the much fun to read the and and it encapsulates all the strategies you have 4 and 2 opposing a not missing starting on terms we know that all I have real you yes on for yeah that's a yeah exactly and so when you say i is unlike could connect me somewhere it actually returns a list of IP addresses in and yeah and we have RTP on top which is also known from 1 that's the time transfer Protocol we have the secure version of our 2 p here and only the security and the and other media streaming API on top of which is actually the IPI the API that you're going to use when you want to initiate the audio video chat on connection at the we collection should all be only all partly yes because the anything for itself has already been right but taking this all together and making it work and with each other and this is not really very easy and they develop new policies for that yeah and we have the data to the eye which is the above used for generic data transfer like just not all you are not as the consensus strings and blogs and all that stuff dogs blobs in an acidic p U STDP is the transfer protocol used for exchanging that data and on top of a city you have the data channel API that you're going to use in the browser a jobs could application so actually for example here we have they were for the communication between as city and as and UDP there are standards that are called like acidic you detail as because normally you would want over city P to to to gain better capabilities of an acidic p images what multihoming and all that stuff and but they said OK we don't need that we we just put a sitting on top of each other and and they develop a our simple that and stand at the what and our C. right and ASI is a request for comments and it's it's actually not a standard and they they don't have the ITF develops the standard the Internet Engineering Task Force and they don't want it to be constant but and it's gonna stick to stand up and codes because everyone sees the standard and they develop protocols for the Internet at and mechanisms and all that stuff so it's in basically what you need to know is the media stream API and the data channel API
and let's take a look at how these words I However to and gives you disappear connection object that occur incentive by the In order roles it's called a lots of TCP connections of all record of be connection and I think most of you current versions of at least the most conversations I have removed the the prefix soul inconsistent centered not seeking connection and and then you do some magical 1st thing is the channel there is something that so we did we just say we have that can be a web surfer channel and can be the unknown X MPP channel or at the e-mail channel if you like an important thing is the PC like what is the connection and you create an offer a set that to the signaling to connect to brothers and this is called the alpha and so on and so he created all 4 and then the ice stuff but and stops working and collects all the appeared as assume reachable and that can be looked like he addresses all removed like like Internet mutual like kinases whatever is appropriate for your work dropped web browser for your holds and you just create when the huge financial technologies starts working for you which is like this state I
and you provide a grid of colors just a JavaScript function said there's a set local description but which says OK this is the peer connection of with this offer and and you send this to true ball and in in this case because that and what we see this on the channel which is an opportunity the and says that description using you and and so this is a case where someone wants to connect to me and his or her looks like this and then you OK Ireland connect you can have molecule but let's just say you want to connect to everyone wanting to connect to you you create an answer and provide this function of the great also called and Ukraine and send this answer right back on the channel you had let's say so let's look at so we have climbed sending the offered to these to block all accepts the sulfur since the answer back and then we have a large city connection actually have an ellipse parts connection yes it depends and I'm not actually talking about all you a calling him because I want to talk about like decentralizing web without all you that calls and when you want to get access from the application to the user's microphone to the users of the speakers and you say that get get get media streams that thing and so then there's like a door hanger rolled pop-up appears in the browser and says OK this application 1 excessive microphones because then you have to acknowledge that and then that can actually create the of all the answers so there's user interaction involved when you when you are using on you inequality but the 1 focus on data channels and there's no user interaction but let's not talk about privacy and security in like now that's just accept that we can talk about this discussable was later on but I say I have a P a connection you have created the Buchanan choosing new window artistic connection of an analog created data channel on the pier connection you have no interest when all I like get the thing is that the signaling but at the same time how do I know which users have to send it my offer to is not part of the standard it's completely out of scope for understanding but there and then explicitly wanted to do this because they want to say but every application can address can identify its users and like like like it's like it so 1 student less than and so on and so here you see that you have that yeah actually it's adjusted application to get affects the affected from somewhere but I'm gonna show you how how this is done in an and it's a simple web application using those to their peers just like any other web application when and you can implement the signaling as English and you can say OK I want I wanna have I guess at the channel it doesn't have to be literature can be an e-mail channel for example you can send them off by e-mail accept the offer like somehow cut and paste and all that stuff we did that while the and you yeah is completely out of scope of the standard so addressing the user not part of body it just says OK at this IP address and and and this part that I can be reached on and I wanna have this sensitivity poured opened and that is logically flawed opened and then and then I can initially the collection yeah
and then I have this web artistic connection elementary data data channel sent data to the other users like a swing like ball and just saying created internal and then the data terms opened my open call like a function is called and I can send data on the charge on the other side about says OK when someone once initiated but when on dispute connection once data collection say OK and I accept that and the data channel as part of the event that's the target of the event and and when a message comes in and I the use of the semester it's that simple it's a huge technology sectors just to having like 203 just calls this
summer and this you have a few connections relating to others that you have a web of this and says OK I wanna have a data channel and then what roles files this event the state attorney and then you can say OK and accept the data to or not the
randomly scared that so if you have never seen this it's not that important but yeah for completeness I want to show this is all sense by 1 roles to another brother so in a safe and create like I said here could create 4
this is created it's just a String it's STP session scription protocol and it contains all the stuff needed for for opening and a web deceit Baillargeon in this case so as you can see here there are candidates for IP addresses we have to look like you this year and never modes of the so reflexive address so it's a most uh which you know from from which you can reach from the outside and and all this stuff is sent on to to bond and then he knows how to connect the and so this is very much into detail all but most of the of the cases when you're developing policy of occasions you don't have to mingle with these and the in the in the past brothers were not very compatible with each other with with each other so end users and programmers had to to tweak a little bit on the STP generated and stuff and do some magic with that and so that for example on the cool understands the offer the private generators and stuff and you can see that the 2nd line contains what was the loss of you and you see it's it's just a subset and I don't know if it's if they exchange at in the past when when I created this offer so that the user agent was securing so let's
take a breath and so yeah I think about how of money can we actually uses to take a control back a lot of data and this is where the thing that I create a less to
not use comes into play and it's called boxes and that shortfall browser-based open publishing we then come up with a better name so we just stick with it and actually does this it creates the peer-to-peer network between brothers and not all of these proposals has a social connection just the 1 that has a web server connection to the signaling so all the other other browsers don't have a connection to the server and that they fetch the applications from so you connect once once the server that's all the additional JavaScript CSS style and then you can close the connection and be part of the peer-to-peer network and no data exchange in this peer-to-peer network is sent to the that's the 1 that was was the 1st prototype we developed and its full yeah right and not at all so what we did was we implemented we exchange their full measure of the DHT with the court Ph.D. but I want to about this so what do we
need to work actually have a peer-to-peer network let's of the that let's take out the control over database so we thought about it and and came up with the these 3 main requirements the first one is you need a routing layer for loading the data a you content names like a set of books that column is owned by drop box and you can migrate to content to somewhere else and stick with the name soon that like a like proprietary name I would just ball to your name to your ownership and in a resolution mechanism of mobility and all that stuff and you need a simple API I really like the Web Odyssey appear because of it's it's that simple to use by Gaussian like a so you want to come up with a simple API my the at the 1 In the view the world the you have hold yeah the we didn't take specifically look at 5 and but the token look at at how the like a performance bonding network pileup you can be implement like with that man all they're using that still done we came up with the solution 1st thing
was we built a prototype and for having a simple rewarding mechanism so we have these 3 peers they connected peer 1 is connected putamen pitch was contributory violent data channel the data channel and I'll periodic with period 1 was it connects to appeal 3 using appeared to like using just just the data channel it has because there no also the connections and so we came up with the mechanism that that creates the offer and since the offered by the data channel and not when just like violent and external signaling mechanism like is done with all other applications when are they just use the so to exchange signaling so issues connection to the server over you you screwed and and so he said right we wanna have signaling inside ocupan and so it's that simple you create an offer purely prison sensitive appeared to it is the only pure connected appearances of service of attributes we somehow I don't care how many of the word appear to have its parent is connected to so center that since the often directly to beautifully beautifully except the offer sense the answer back by looking to and what you have a data connection in yeah this is something you have to implement it yes but and the thing is identity and security is completely if you actually completely on your own when you want to implement privacy identity and security and 11 . to see application that has some advantages and it has disadvantages and and conclusion X. Li and I get to the because he thought
about that too but OK Running a stuff Wallace term actually let's say that that works yeah know you you can you can use a peer-to-peer network to send officers answers now we want to name the content that is inside the peer-to-peer network the the population and and we came up with the requirements that names of communication and so if I have my cellphone like this you have my cellphone and so on I have some content that I published for myself alone and I want to migrate that content to my laptop and publish the data from the letter same the the name has to location and and this is different from analysis because Indian as names are the cation by right yeah vernacular has never been a snake and the appearance of this actually it sticks to the host they always to make the analysis like the Commission independent but these are more or less hacks and they are not really we'll we'll time the skin as has propagation and and been said that 1 have easy replication and migration so won't have perhaps data on published from my cell phone and published from laptop at 1 by so we said OK we want use your eyes because users know what your eyes are like more or less they know how they look like in this in order that so you have kids you either going on and that's not taking so we created a scheme for and and it is a scheme by close to follow them operation our professor wouldn't like Bob Michel can said OK let's if the box and you have user name and ID which is like a proprietary to about the solution is nothing to do to see the just said OK you won't have like this name so we can have an identity of and some identities solution which is like coded in the name that you can say OK username and IDP the he can be like that say facebook . com where you wanna use Facebook for identifying you and then you implement protocol for and asserting the identity eq we end didn't implement that right now because we stayed with the other cases but the URI URI it's already like included and weekends and put it on top and then you have a common protocol which is just the string and it's like a part in TCP so
that the the name resolution works and is a set of full measure length scale of it doesn't I don't think anyone has on slide why doesn't scale and the and you can only have like a 64 100 were about to see connections and 1 Rosalind systems and so we came up with using the DHT to the issues of distributed hash table and they are just a distributed key-value store and you have a network of peers the and to say 0 I don't wanna store p x under the value y and the peer-to-peer network and the epigenetic does all this stuff for you the GHG and he is such very simple graphical follow court did works is a DAG implementation and it's not quite new but it works and it's very scalable and and works like this you have all these thoughts on nodes and you Pupin network so they have browsers and Bob and everybody and notably because it has an idea and the other stores and like jump points that it's finger table it's like a routing table from like logarithmically so you can search the peer-to-peer network that would give me and say don't have you not as performance like full measure when it comes to look up because it has a complexity of O 1 but you have a complexity the would make complexity you looking up cheese and looking opposed post peace as embryos responsible for a specific piece based this node 83 and 38 is responsible for the key space here and every has an idea which is which is to of the of the circle like from 0 to 64 and the 38 is responsible for storing the keys for 38 from 31 to 33 to 38 by so if you if you're storing something on key 37 it's stored on this note the value right so this is that this it can never using called and the
thing we like about code and edge cheese and as such that the idea is very simple to and the lights in here and you just call pulled on your distribute stable implementation with the key and value you can call removed to remove the key when you can get the key end of the values some some always returned with camera how its implementation specific and so so we stick with that and the
DAPI that that yeah that that concludes all this it is this is a simple boxes client thing in the peer-to-peer network effect of JavaScript as a user you've had the JavaScript which
contains this code and you instantiate as developers about client say OK what this this signaling so this a web signaling so and when you connect to the peer-to-peer networks which which which includes you have an idea if you got an idea and you are part of the court ordering and all that stuff then the unconnected method is called you can do whatever you like when you are connected to Buchanan and and what you can do then as I said that we have this
protocol here so the client can 1 different protocols and inside the ball position at work uh and you can
say alright letters so this protocol which is grouped schedule so I you have a good trade application and you say OK I wanna be reachable at the protocol good chance so the you I would be but the color user @ example . com uh slash check the colonies to and then you can receive messages on this protocol but server-client does this and and can also call and include that got me kind can also understand data on this protocol the and don't be
scared this is solved
published looks like when it's done and implemented and 1 in we have the notes here as an example of or Bob and example of common current example from all apart other names and ID all of part of the Indian Foucault ring right so they this connection here the and is key frame while the sky 9 because Q 1 and and on has as the same as that example of dog and host different applications and different data on the client for example a chat room chat room 1 and we have here under the Protocol chair of the of protocol document warning on the soles serving the 5 key card PNG and the research protocol implemented here and you can host for example of the socialist has to stinginess was to be begin search for stuff when you hold on and the name resolution now is part of the DHT so we see we don't store the content in the DHT but it's only the key value pairs which would say OK and has this idea and then you can say OK connected to ID 3 right so if mobility here because and when has moved somewhere else so long as wants to host the content from another post just joins the DHT and set the new value then definitive of all the holes and says OK and as an example of our personal which will keep 5 right this most of the DHT the DHT is is this like form right and so the pressure loss with the DH that the DAG souls of nowhere by DHT is made up of all the peers it's it's like a bit a virtual model right you have you have a peer-to-peer network I don't go too far right you have a peer-to-peer network and they form a DHT but using this API if everyone else in the
latter part of the GHG every host has some key value pairs and so they form up the DHT and and cord has wanting layer to for you so it's so it's a very easy to read paper on the Internet and which
explains Court it's actually the the 1st paper on called the and of
court and it's very easy to read varies to implement 2 that's and that's because we used call them better ones like comedian of for example number but Cordis here like is to implement an architecture of published structured so that we can exchange chord with can you for example easily the you yes no you can also yes that the thing you are right that's like part of the epigenetic I always forget and the question was when 1 who always gets down the part of part of the key space gets lost but you have to rearrange the key space they have very many papers on having replication and cytochrome DHT not only carbon a lineage trees so we can say alright and cells some keys and and replicates the data across doing so that but so that the probability that all the data it's lost when minerals gets stoned and new is nearly 0 I mean when every but 1 host losers connection to the network you kind of screwed right now but I ended in a big peer-to-peer network there's actually not going to happen just let's let's say this and OK this is very technically and I think and we will go deeper that it's just the sketch and if you if you wanna know more about how we implemented that can you can ask the questions later and that's gonna show
you what what the use cases are football players part of I already said there document sharing common search real-time chat subtrees 3 use cases we implement document sharing is this is very nice because because of the cold January modified to yourself so can pull it on your friends laptop to burn the ships the single-tier right file sharing is so stupidly difficult and stuff and he said OK we won't make any reason you want we will have a host so which is part of population and just says publish this fire get you up and down by and and this is how it works and causes makes the sum of the I forgot the protocol is this here I put you in that column document just mentally and you have a URI so the others so you upload a file that 2 application have to implement the like uploading files reading the 5 from the local file system and stuff generating the U I and but then you have you I for sharing the document and you share that view I liked by gender or e-mail and the other users you wanna you wanna simplified to and the boots up its is about this application types in this this URI eyes and the files hatched it by using but you can implement the parameters and you can say OK the check some of the plan must be some so so you can check some some of its the main content search is another use case we came up with and I forgot the protocols and every use case and you can search for files you can implement 5 searching applications and say OK I don't know the search on the on the hosts on on the host share files and can
implement a real-time chat and say OK i'm Heather's all animals chat groups the room was calling from 1 of the URI generated from the you can have probably read it it's it's printed out here it's called started shipping this example and then in a sense this URI to another user builds up as published applications and joins the chat room so where can you see this thing work this like can a complex thing and we believe you published all that stuff on the top we have an organization called publishing that rituals score and demos and and some others some other stuff and also in emulation continent array can emulate about this network by using the jails and use that for using for for doing some evaluation performance and stuff and I can so as to obtain that this works well no because 1 problem is that where vertices is a standard like work-in-progress very much in progress and the API like changes with with every major brought because of the 2nd make sure that the call of roots so if you if you have a problem problem with that just just is you pull request the best or just open an issue and we'll get to that it's still there fully veterans overall the more on and I want to take some questions if you like sort a recap for economic and the appeared boppers which provides a framework for distributed common communities that's what we're calling it and and it's as simple as using boppers spot . J as and unification calling the above this client API and you part of DHT 1st of it can never the thing is our experience from last 3 years and is there about this is cumbersome at times and I hope that this will help but I don't know and because because of vendors all like that picky about what they want implement and what they don't want to implement how they want implement and and all that stuff and so like I said sometimes 11 work sometimes like doesn't work and you have to adapt it to make work and in the early days 5 folks couldn't connect to crawl because the STP you uh parsing most was different and so yeah all that stuff if you are interested in the lab out to see progress and you should join the IT approaches you have mining this is called the RTC with and because they don't want name to about this video earlier story in but that I really encourage you to join the mailing is because very interesting what what they are discussing the we have quite a bit of to do so but football players uh for example uh mobility like past the switching between peers which at the same idea the content all floating like saying I'm hosting the content on myself alone but I'm gonna turn myself into flight mode and a lot offload the continent to another post but we have appears stability is really not an easy issue it's not only like it's not only our problem it's a problem of of peer-to-peer networks and as such and we can improve on that on that and securities which includes identity privacy and all that stuff we we didn't focus on that very much and it's a completely it's a completely different topic here but you can you can like published a paper on security with publish and having identity and privacy and all that stuff handled with published it is doable but you just have to do it and perhaps we're going to do it in a way such good I don't know yeah so that's actually an I if you like I'm going take some questions if you have time the this 1st book yes I 1 so what is the role of the right the question was if you as a user have to acknowledge that the data created the answer is no every application you fetch from the internet can open data channels to another appear without the user actually recognizing and is this no acknowledgment about that yeah from this is set up there is an option to disable leverages encomia of course but then you don't have a robot as so you can have it you have to enable go to the application unused use the application and and and but see again I don't think it's something that my mom would do yeah yeah of course because here is that does units of course we kind of DNS because without the and as you will be able to catch and the application but can be reduced there have the dependence on the entrance to the most viable minimum right so he said as soon as you have joined the peer-to-peer network you're not dependent on DNS anymore you can education from the 5 systems and really had some strange experience with that using the and because they had like other permissions and stuff but they are people doing this actually this on on get up there is an application that that does this come from file-sharing application it can load from the file system and the user some signaling so we're and and and I he then joined another people yes this is the most development the the the the problem or what you the the answer this is we yeah is it that is working on G. G. D. and right do remains the available that most of the but yeah it's like they're working on client that's that's like Native Client platforms but it's not it's not weather that was called the at the not same yeah the things there are
many applications like they manipulate the application that you the BitTorrent clients implemented in the party and I I didn't test these and didn't make any experiments on these on but there's very much going on in and the peer-to-peer using repetition because you have brothers on every device right on every device that is connected to the internet as a browser and so this device is probably can part of the European network and this is something that we never had before but what questions here on the screen I if you will is the but you know this most of you are no I don't know and the question is and revenue numbers on when does I succeed and when when the size fail like the naturalism and I don't have any numbers Google and a string very much experimentation that they probably have current numbers and my experience from just a handful of tests is that my company didn't work and at the university funding and sometimes in the summer at the University of new we have static appeared as of course this was found but when you behind and not at the my university which is a member of the it didn't work so I just like 3 5 setups and inference is 40 per cent but I don't think it's that bad like when you when you won the test on the on the internet that perhaps are numbers I don't know about kind that's on the mailing there that they have discussed a bit about but about delays between different locations of the world and there was part of that was not to because of the area to search through the 19 of all the thing is that in our evaluation of some some stuff here so midst of the gospel which forms 1 I won't go into very much detail here this is the hop count and you have to you have to bypass to to initiate a connection and this is the for the initial connection and as you can see I would have 0 to you and this 1 hop cones you have to think of more than 1 2nd about yeah it's it's describe it stays at the level of linear features not come
because yeah with a ball this you only have that much connections open scenario 506 connections open in the court in your finger table and you will need to open any about to see connection so we we handle that an opening weapons a connection can the last very long seconds because prices very bold so what is that you you all but with you use he you all that you
will 1 well the very heart of usage of will go on it will be yes all that was the the this yes the question is can I use web out to sea or Bob plish and the native application and the answer is yes because 1st thing is quote as always had a single library liberal party see on the jingle was called in the past but which you can use in C and spotless applications and 5 working on tearing out all this huge stack of about disease and to publish a C and C + + library and and the thing is all the 2nd thing is if you want that you like I said we have an emulation of wanting knowledge as you can use that and like but the native application using logic and having published 1 images and yeah I'm getting signals that at at the end of the so if you undiscussable I'm I'm I'm here for some moments and yeah thank you for your attention


  324 ms - page object


AV-Portal 3.21.3 (19e43a18c8aa08bcbdf3e35b975c18acb737c630)