índice de refracción.
B) Estudios de Micro-Luminiscencia
Our system consists of Internet-connected PCs to become the nodes of our peer-to- peer overlay. The PCs have sufficient amounts of storage and computation power to store data and perform simulations. We expect the available bandwidth to be the limiting factor. We assume all nodes are able to connect to each other using a link layer implementation like the one described in [65]. It allows establishing connections even in the presence of NAT (Network Address Translation) routers normally not allowing incoming connections. The established connection is reliable and message order will be preserved as realized by TCP. However, message latency might vary and be high in case of message loss on the underlying layer.
Nodes form an overlay so every node is only connected to a subset of all nodes on the link layer. However, on the overlay layer all nodes can still exchange overlay message using multi-hop routing. Nodes are considered to be unreliable. They might fail unexpectedly at any time. Churn is high so nodes are joining and leaving the overlay constantly. The system is not an open system. There is an operator of the virtual world who also designs and implements the virtual world and lays out its rules. He also operates a trusted central certification authority as we proposed in [121, 122]. Players have to acquire a certificate from that certification authority to join the overlay. Using this certificate, integrity of messages and non-repudiation can be realized. Furthermore, players identified as cheaters can be punished by revoking their certificate. To make sure they do not just come back with a new identity, acquiring a certificate must be expensive, e.g. by costing money or by being bound to real-world identities.
At any time, only a subset of all players is in the network. The majority of these players is honest and their nodes follow the protocol specified and implemented by the operator. However, players have full physical control over their computer. Therefore, an attacker can tamper with his node to not follow the protocol in any way. He can modify the code, modify the state of memory, or send out any kind of message at any time. While the world is running, there are no nodes in the network that can be trusted to follow the correct protocol.
We use physical clocks to control the timing behaviour of the update algorithm and to put timestamps into messages signalling the execution times of player actions. We assume clocks among honest nodes to be synchronized down to ten milliseconds, a value than can be achieved over the Internet by using the Network Time Protocol (NTP) [90]. Furthermore, we assume drift of clocks and timers to be bounded.
Chapter 4
A Self-Stabilizing Delaunay Overlay
This chapter presents the overlay we developed as base for the reliable storage. First, we analyse the requirements of the overlay. Then we show how we designed the overlay to fulfil these requirements. We evaluate how the overlay performs with respect to our requirements in chapter 6.4.1 Requirements
The purpose of the storage is to reliably store location-dependent data. In our case, this is data with coordinates from a 2D Euclidean space as key. To allow storing and retrieving of data, the overlay has to support communication between nodes based on locations. Two functions for message exchange have to be supported: Unicast Communication The overlay must route unicast messages from one node
to one destination location until it is received by the node responsible for that location. This type of message will be used by the storage to store data at other nodes. It will also be used to retrieve data for a given location and return it to the requesting node.
Multicast Communication Multicast messages must be routed from one node to a given area. All nodes responsible for data in that area will receive this message. This type of message will be used by the storage to retrieve all data in an area.
To realize our goal of a reliable, resilient, and scalable storage, the overlay has to fulfil the following non-functional requirements:
48 Chapter 4 A Self-Stabilizing Delaunay Overlay
Scalability The overlay has to be scalable. Ideally, the traffic at each node should not depend on the number of nodes in the network. This means nodes can be added to the overlay without incurring significant additional load on other nodes and the system could run with an arbitrary number of nodes. To realize this, the overlay needs a structure allowing efficient routing of messages and a scalable mechanism to maintain that structure.
Reliability The overlay must work reliably despite the unreliability of individual nodes. If a node fails, the maintenance mechanism has to repair the network structure so the overlay can continue to exchange messages on behalf of the storage.
Resilience The overlay must be resilient to malicious nodes not following the pro- tocol of the overlay e.g. by dropping or tampering with messages. Specifically, the overlay must prevent malicious nodes from gaining more influence than proportional to the share of malicious nodes in the network.