• No results found

4.6 Network Use Management

4.6.7 Interactions with MTO module

One of the biggest advantages of this architecture is to perform the distribution of multiparty data with QoS. Hence, it is necessary to implement interactions between the NUM element, which performs the intelligent context-aware network selection, and other modules that work in the network physical layer in order to eectively reserve or release resources in the utilized paths. In this way is guaranteed the quality of the delivery trac.

Regarding the scalability of the approach proposed by C-CAST architecture, the MTO module is used as intermediate between the NUM block and the lower levels of the network. In this sense, the exchange of messages between dierent network layers is reduced, being optimized its overall performance and achieving a scalable model.

Therefore, it is necessary to implement the interactions with MTO so the reserva- tions and releases can be made. Due to lower level requirements, more precisely MIRA

module specications, the reservation or release of an entire path has to be divided into Sub-AMTs reservations or releases. This fact also implies that the required parameters exchanged with MTO while reserving one Sub-AMT are dierent to the parameters needed to communicate a reserve in a dierent Sub-AMT. Thus, in order to inform MTO of these parameters so the reservations and releases can be executed, NUM lls a packet header with the information and passes it as argument to an MTOAgent function which eectively performs the desired operations.

Therefore, it can be said that this MTO module works as a proxy, changing the source and the destination of the packets when necessary. For example, when dierent users that wish to receive the same multiparty content are connected in dierent access points, it must be created a multicast tree along the network to serve all of them. So, in order to have the same multicast group, all the branches of the tree should have the same destination according to the multicast group.

In Table 11 are described the packet header elds and their importance to the execution of these functions.

hdr_rsv – Packet header used iteraction with MTO to reserve a path path

src dst bw CoS

Vector containing the interior nodes of the path Source of the reservation

Destination of the reservation Bandwidth reserved Class of Service of the flow flag_Mult Flag indicating either unicast or multicast

flag_IPv Flag indicating if it is a IPv4 or IPv6 reservation grp

fid

Group to be reserved Flow identifier

pxy_src Proxy Source

pxy_dst Proxy Destination

Table 11: Packet header structure used reserve a path.

In order to better understand the parameters elds, and their importance, the Figure 18 shows an example of a reservation made between the session source node and the user T1. The table in this gure describes the values of the elds in the packet header that are used to communicate a reservation of each Sub-AMT. In case of release a path, the parameters passed are exactly the same as in the reservation.

Wi-Fi T1 NUM ION2 IPT IPT IPT IPT IPT IPT IPT IPT IPT IPT IPT IPT ION1 ION3 CN1 CN2 CN3 CON1 CN4 CN5 EON3 EON2 EON1 ON-enabled routers ON-disabled routers Session Source 4 3 2 1 Reservation Request 1 Reservation Request 2 Reservation Request 3

Reservation Request 4 -> T1 join-group 1

src dst fid grp bw CoS flag_M flag_I pxy_src pxy_dst path

Session Source ION1 1 1 100 40 1 0 Session Source Session Source [ ION1 ]

ION1 CON1 1 2 100 40 1 0 ION1 2 [ CN1 CON1 ]

CON1 EON2 1 3 100 40 1 0 CON1 3 [ CN5 EON2 ]

fid = 1 group = 1 rate = 100Kb CoS = 4

Figure 18: Path reservation example.

As it is mandatory to interact with MTO to reserve and release paths, it is also crucial to communicate with it in order to collect some useful information. For instance, as was previously referred in order to do multicast grouping is necessary to know what group is used in the previous reservations so this group can be associated to the current reservation. Nevertheless, it is also required to know which the parameters of a certain reservation are, so it can be released. Hence, every time that multicast group is required to perform a reservation or a release, a request is sent to MTO so this information can be acquired.

To reserve a path that embraces several Sub-AMTs, there is one parameter that should be carefully handled, as can be observed in the Figure 18. After dividing the whole path into dierent Sub-AMTs, the reservation is communicated to MTO. Still, when reserving the Sub-AMT that includes the source of trac, i.e. the rst Sub-AMT of the path, the variable pxy_dst refers to the source node address. On the other hand, if the reservation is being done for another Sub-AMT, this variable should be stated as the multicast group to be reserved in this Sub-AMT. The code implemented to reserve a path is described in the Figure 19 that refers to the function treat_MTOreserve.

Treat_reserveMTO Path_to_Reserve CoS Source_mGroup Fid Bandwidth Flag_Mult Source_Address AP_Address User_address

Start analizing the path since the last element, that represents the AP Yes No

The

Path_to_Reserve

variable is empty? Will be established the

connection between the AP and the user

The user supports multicast (Flag_Mult = 1 ) ? The proxy already exists? Ask MTO if this AP has

already a proxy made for the Source_mGroup

Inform MTO about the parameters to implement the proxy to

the multicast group

Join the user to the multicast group especificated in Source_mGroup Update userPosition structure End

Inform MTO about the parameters to implement the proxy to the unicast connection

Search backwards in the path for another ON, to form a Sub-AMT

to reserve

Is this Sub-AMT the closest to source of traffic?

State pxy_src parameter equal to the

first element of the Sub-AMT

This Sub-AMT embraces any unicast node?

Allocate an unused multicast group and store it in pxy_dst and

in group

pxy_dst – Source_Address

src - initial element of

Sub-AMT

dst - last element of Sub-

AMT

Inform MTO of the parameters to reserve

this Sub-AMT

Is this Sub-AMT the closest to source of traffic?

Erase this Sub-AMT from the

Path_to_Reserve

variable Consider the last

element of Path_to_Reserve pxy_src – Source_Address pxy_dst – Source_Address group – Source_mGroup Yes Yes Yes Yes Yes No No No No No

Figure 19: Reservation process of an entire path.