• Keine Ergebnisse gefunden

4 Conceptual System Design

4.4 Discussion of Design Options

Section4.3discussed the conceptual design of Cooperative Internet Accessbut left open the im-plementation design options. This section discusses the design options for Cooperative Internet Access.

4.4.1 Detecting a Constrained Resource Situation

The first step for a node is to detect if it is in a resource constrained environment. This cannot be done in general as it depends on the applications used on the host and is therefore partially discussed here and also in Section5and Section6.

The general design options are:

- the user can ”hit a button” to tell the system to enable Cooperative Internet Access, if the users realize such an environment;

- the application can be adapted to perform a situation check on its own, such as some applications, e. g., as Skype [100] does with their voice codec settings. Skype adapts the voice codec bitrate or switches the codec if the achievable throughput is too low.

- the application could register a minimal achievable throughput with the Cooperative In-ternet Accesssystem and the system decides on its own to start working.

Chapter 4. Conceptual System Design 71

4.4.2 Setting up the Sharing-Link

The sharing-link needs a working IP address configuration, i. e., each interface has to have at least one IP address (independent whether IPv4 [RFC 791] or IPv6 [RFC 2460] is used), before the Cooperative Internet Accesssystem can start to work. If the sharing-link is made up of existing network infrastructure, such as a WLAN access point, the access point could also assign IP addresses to the nodes (e. g., via DHCP [RFC 2131,RFC 3315]).

The local Cooperative Internet Accessnodes will need to setup their own sharing-link infras-tructure, in the case that there is no existing infrastructure. There are multiple ways of setting a local area network, such as Ethernet cross-connect for 2 nodes, an Ethernet switch for more than 2 nodes, self-provided WLAN base stations, or WLAN in ad-hoc mode. If WLAN is used, the nodes can use a pre-defined network name (e. g., ”Cooperative Internet Access”) to find other nodes that already have set up such a network, or to create its own network with that name.

However, it is very likely that the sharing-link will be self-provided by the local nodes and neither of them will either able or configure to provide IP addresses to other nodes. The users could agree on an IP address configuration scheme and manually configure it, but this may be a non-trivial task for the average user and thus prone to errors. The best way to cope with situations where there are assigned IP addresses or no assigned IP addresses is to rely on link-local addresses on their IP interface connected to the sharing-link, according to IPv4 link-link-local addresses [RFC 3927] and IPv6 link-local addresses (part of the IPv6 stateless adddress auto-configuration [RFC 4862]).

The sharing-link needs to provide high-speed network access so that it is able to carry the load of the information element redistribution and the signaling messages. The capacity of the sharing-link is not proportional to the number of participating nodes, but to the required throughput of the particular application. The dimensioning depends on the required application and is discussed in Section 7.4.2. The proposed use of WLAN suits most applications usable with Cooperative Internet Accessin resource constrained environments.

4.4.3 Finding Cooperative Internet AccessNodes and Services

Once the local nodes have setup the sharing-link (cf. Section 4.4.2) they can start to look for other Cooperative Internet Accessnodes being in physical proximity and the "services" they provide. The "services" refer to what type of application they are interested in to share the resources of their access-link.

The above process is commonly referred to as service discovery. The main difference is whether a centralized or a decentralized repository is used to store the information of services and to re-ply to query requests for the services. Service discovery has been specified in various protocols, such as, for instance, the Service Location Protocol (SLP) [RFC 2608] and Multicast DNS (mDNS) [mDNS]. SLP follows the centralized approach and mDNS follows the decentralized approach.

The centralized approach, shown inFigure 4.11, requires a server being located in the Internet and reachable by all nodes. This server will store information per current active Cooperative

Chapter 4. Conceptual System Design 72

Figure 4.11: Server-based lookup for Cooperative Internet Accessnodes

Internet Accessnode, their location, used application, used resource (e. g. video channel), and how they can be reached by other applications. A Cooperative Internet Accessnode that searches for a Cooperative Internet Accessnode in its vicinity will query this server for neighboring nodes (shown as the QUERY inFigure 4.11).

The Cooperative Internet Accessnodes have to register the below type of information at the server, updating the information, and also removing the information:

node ID a unique identifier for a particular node that can be used as proof of ownership (if it is cryptographically safe, such as host IDs of the Host Identity Protocol (HIP) [RFC 4423]) for the information provided.

physical location the node has to provide an information about its current physical location.

This information can, for instance, be based on coordinates obtained via the Global Po-sitioning System (GPS), manually edited information by the user of the node, or other information sources such as RFID tags in trains indicating the current train number.

application the used application at the node, e. g., a peer-to-peer live streaming application.

channel the used channel of this application, e. g., what video channel being watched or what web site being visited.

contact the network contact information, i. e., IP address, transport protocol, and port number.

A Cooperative Internet Accessnode that searches other nodes in its vicinity will query the server withlocation,application,channel. The server will reply with a list of nodes for this query, if there is a matching entry, including thecontactinformation for each node. The nodes will use thecontactinformation to communicate with the other nodes.

However, the server-based approach has some severe drawbacks in the scope of Cooperative Internet Access. The server itself may be in need to be able to handled an enormous amount of requests, if the Cooperative Internet Accesssystem would find a wide audience. This may

Chapter 4. Conceptual System Design 73

Query for nodes (with own info) find

nodes()

connect node 2() connect node 3()

Node 1 Node 2 Node 3

Response Response