Contributions to effective protocol design to mitigate continuous multimedia services short disriptions in WiFi networks
Abstract
Programa de doctorado: Tecnologías de la información y sus aplicaciones
Full text
Centro de Innovación para la Sociedad de la Información Contributions to Effective Protocol Design to Mitigate Continuous Multimedia Services Short Disruptions in WiFi Networks by KHOLOUD ATALAH Grupo de Arquitectura y Concurrencia Departamento de Ingeniería Telemática Being a thesis submitted for the degree of Doctor of Philosophy In The University of Las Palmas de Gran Canaria Directors Álvaro Suárez Sarmiento & Elsa Macias López October 2010
I Dedication Most importantly I feel very grateful to my husband, my children and my family in Gaza to whom this dissertation is dedicated, for their immense love, their innumerable sacrifices, their unconditional support and their continuous encouragement throughout my life.
III ACKNOWLEDGMENT This is a great opportunity to express my utmost grateful to the “Vicerrectorado de Investigación, Desarrollo e Innovación” at the University of Las Palmas de Gran Canaria for giving me the opportunity to continue my PhD by the scholarship “Personal Investigador en Formación”. Dr. Alvaro Suarez Sarmiento has coached, guided, and motivated me as my advisor and has made this dissertation possible. I offer my earnest and most sincere gratitude to him. He has shown confidence in me by encouraging me to work on the problems that I am interested in. I also thank him for his endless support and patience during all the anxious times of this journey. I also thank and appreciate Dra. Elsa Macias Lopez for always being available whenever I needed. I would like to thank Dr. Enrique Rubio Royo for giving us the opportunity to participate in the doctorate program. I am pleased to thank Dr. Juan Manuel Afonso, Dra. Marisol Izquerdo and Alejandro Jonzales for their immense help with in taking care of the administrative details in a timely manner and for their constant support. I have had many people who have inspired and helped me. I would like to thank Tinerfe Martin for all his valuable contribution in the experiment. Also I would like to thank Alexi and Miguel Angel for helping me in all software problems, and for Pilar, Begoña and Inmaculada. And great thanks to Rachid Ganga for helping and supporting me during the PhD years. Finally I do not want to forget my close friends Asma Skareb, Fatima Zahra Zouhaire for their continuous encouragement and support, and Boshra Abdrahman who was as my second mother in Spain.
V ABSTRACT Real Time Multimedia Applications (RTMAs) provided by wireless networks, such as Wireless Fidelity (WiFi), suffer video services short disruptions, causing video streaming packets loss. Mobile Clients (MC) could experience disruptions in disconnection zones: Handover zones, out of coverage zones or through holes where sudden signal drop occurs. Up to our knowledge, the holes problem was not studied in previous works. Therefore, our objective was to develop a protocol in order to avoid video streaming packets loss during short disruptions in WiFi networks. This is the first study addressing this issue considering the presence of holes. We proposed a protocol based on novel mathematical specifications for the Coverage Area (CA), it consists of two important techniques, the Received Signal Strength Indicator (RSSI) Gradient Predictor and Filter, and the buffer management and transmission speed control technique. The protocol was specified and verified using the Specification and Description Language (SDL), and it was simulated by a specific Java simulator derived from the SDL diagram. The experimental test of the Gradient Predictor and Filter demonstrated its efficiency in predicting the next MC coverage level, and its ability of mitigating the holes effect. It showed the best performance in comparison with the Kalman filter and the Grey Model. The simulation results proved that the protocol is suitable for all types of disconnections caused by holes, handover, or out of coverage constituting a new advance comparing to previous available techniques. Moreover, it offered sufficient amount of video frames in MC Buffer (MCB) to be consumed during the mentioned disconnections (even for long time) resulting in continuous adequate video playing and
VI offering enough time to the user to move from a CA to another without interruptions. This protocol could help in overcoming disruption issues providing continuous adequate quality RTMA for users. This interesting work has been published in two international journals, and has been presented in two international conferences; one paper was awarded a certificate of merit. Future work includes the development of the mathematical specifications of MC movements and the RSSI Gradient predictor and filter, which will support the protocol to be suitable for all movements even the non periodic patterns.
VII RESUMEN Las Aplicaciones Multimedia a Tiempo Real (RTMAs del ingles Real Time Multimedia Applications) soportadas por las redes inalámbricas, tales como Wireless Fidelity (WiFi), sufren de interrupción del servicio de video durante las desconexiones cortas, causando la pérdida de paquetes de vídeo streaming. Los Clientes Móviles (MCs del inglés Mobile Clients) podrían experimentar interrupciones en las zonas de desconexión: handover, fuera de cobertura o los agujeros donde se pierda la señal de manera súbita e inesperada. Por lo tanto, nuestro objetivo fue desarrollar un protocolo para mitigar los problemas de interrupción del servicio de video durante las desconexiones de corta duración en redes WiFi. Hemos propuesto un protocolo basado en novedad especificación matemática para el Área de Cobertura (CA del ingles Coverage Area), que consta de dos técnicas importantes: el Predictor y el Filtro del Indicador de la potencia de la Señal Recibida (RSSI del ingles Received Signal Strength Indicator) Gradiente, y la técnica de la gestión del buffer y del control de velocidad de transmisión. El protocolo se ha especificado y verificado con el Lenguaje de Especificación y Descripción (SDL del ingles: Specification and Description Language), y se simuló usando un simulador específico de Java derivado del diagrama de SDL. La prueba experimental del Filtro y el Predictor Gradiente ha demostrado su eficacia en la predicción del próximo nivel de cobertura del MC, y su capacidad de mitigar el efecto de los agujeros. También se mostró el mejor rendimiento en comparación con el filtro de Kalman y el modelo de Grey. Los resultados de la simulación demostraron que el protocolo es adecuado para todos tipos de desconexiones
XIV FIGURE 3.19: EXPONENTIAL TRENDLINE OF RSSI% IN THE DIRECTION GS-A (FOR)---- 73 FIGURE 3.20: LINEAR TRENDLINE OF RSSI% IN THE DIRECTION S (BAC)----------------- 74 FIGURE 3.21: EXPONENTIAL TRENDLINE OF RSSI% IN THE DIRECTION S (BAC)--------- 74 FIGURE 3.22: GRADIENT FILTER TEST ON RSSI MEASURED VALUES IN THE DIRECTION GSA (BAC)--------------------------------------------------------------------------- 77 FIGURE 3.23: GRADIENT FILTER TEST ON RSSI MEASURED VALUES IN THE DIRECTION GSB (BAC)--------------------------------------------------------------------------- 78 FIGURE 3.24: GRADIENT FILTER TEST ON RSSI MEASURED VALUES IN THE DIRECTION S (FOR)------------------------------------------------------------------------------ 79 FIGURE 3.25: GRADIENT FILTER TEST ON RSSI MEASURED VALUES IN THE DIRECTION SGS-A (FOR) ---------------------------------------------------------------------- 79 FIGURE 4.1: THE PROPOSED NETWORK ARCHITECTURE-------------------------------------- 84 FIGURE 4.2: REGULAR MOTION SHAPES-------------------------------------------------------- 84 FIGURE 4.3: STATE DIAGRAM FOR MC TRANSITIONS----------------------------------------- 87 FIGURE 4.4: SIGNAL EXCHANGE TO GENERATE MC STATE AND TRANSITION-------------- 88 FIGURE 4.5: SIGNALS GENERATED BY STATE_DIAGRAM IN CASE OF HANDOVER ----------- 88 FIGURE 4.6: PACKETS AND BUFFERS STATE WHEN HANDOVER DISCONNECTION START -- 91 FIGURE 4.7: COMMUNICATION BETWEEN ENTITIES TO MANAGE BUFFERS ----------------- 93 FIGURE 4.8: SIGNALS GENERATED BY TRANSITIONS_ACTIONS PROCESS --------------------- 94 FIGURE 4.9: SIGNALS EXCHANGE TO CONTROL VIDEO TRANSMISSION SPEED-------------- 95 FIGURE 4.10: SIGNALING SEQUENCE FOR HANDOVER ---------------------------------------- 97 FIGURE 4.11: IMPACT OF TRANSITIONS ACTIONS ON TRANSMISSION SPEED AND BUFFERED VIDEO ------------------------------------------------------------------------------ 98 FIGURE 4.12: MC MOVEMENTS CASES --------------------------------------------------------- 99 FIGURE 4.13: PART OF THE BUFFER MONITORING MSC-------------------------------------100 FIGURE 4.14: BUFFER MONITORING -----------------------------------------------------------100 FIGURE 4.15: MC VS. BS BUFFERED VIDEO VALUES OF CASE 1 ----------------------------101 FIGURE 4.16: MC VS. BS BUFFERED VIDEO VALUES OF CASE 2----------------------------102 FIGURE 4.17: MC VS. BS BUFFERED VIDEO VALUES OF CASE 3----------------------------103 FIGURE 4.18: MC VS. BS BUFFERED VIDEO VALUES OF CASE 4----------------------------104 FIGURE 4.19: MC VS. BS BUFFERED VIDEO VALUES OF CASE 5----------------------------105 FIGURE 4.20: MC VS. BS BUFFERED VIDEO VALUES OF CASE 6----------------------------106 FIGURE 5.1: DERIVATION OF THE SIMULATOR FROM THE SDL DIAGRAM-----------------110 FIGURE 5.2: THE STATE DIAGRAM CONSIDERED IN PRESENCE OF HOLES ------------------111
XV FIGURE 5.3: CASE1, MANY CROSS TRANSITIONS AND HANDOVER PROCESS IN THE PRESENCE OF HOLES ---------------------------------------------------------------123 FIGURE 5.4: CASE 1 WITH LONG TIME HOLES-------------------------------------------------124 FIGURE 5.5: CASE 2, MANY HOLES, HANDOVER AND OUT OF COVERAGE------------------126 FIGURE 5.6: CASE 2 WITH LONG TIME HOLES-------------------------------------------------127 FIGURE 5.7: CASE 3, MC MOVEMENT IN ZIGZAG MOTION ----------------------------------129 FIGURE 5.8: CASE 3 WITH LONG TIME HOLE --------------------------------------------------130 FIGURE 5.9: CASE 4 IS SPECIAL CASE OF CONSTANT RSSI% IN A1-------------------------132 FIGURE 5.10: CASE 5, MC STARTS IN A3, CONSTANT RSSI% IN SOME TIMES AND LONG TIME HOLE ------------------------------------------------------------------------133 FIGURE 5.11: CASE 6, EARLY DISCONNECTION-----------------------------------------------134 FIGURE 5.12: CASE 7, DISCONNECTION FOR A LONG TIME ----------------------------------136 FIGURE 5.13: CASE 8, CONSTANT RSSI% AND LONG DISCONNECTION PERIOD-----------137
XVI List of Abbreviations Ack Acknowledgment AP Access Point APP AP Proxy AVC Advanced Video Coding BE Best effort BS Base Station BSA Basic Service Area BSB Base Station Buffer BSBM Base Station Buffer Manager BSS Basic Service Set CA Coverage Area CBV Control Buffered Video CCT Clear Channel Threshold CID Connection Identifier CoAs Care of Addresses COS Cosine CSMA/CA Carrier Sense Multiple Access with Collision Avoidance CTS Control Transmission Speed DCF Distributed Coordination Function DiffServ Differentiated Services DL Down Link DSL Digital Subscriber Line DSSS Direct Sequence Spread Spectrum DVB-H Digital Video Broadcasting - Handheld DSVF Decrease Speed of Video Frames transmission EDCA Enhanced Distributed Channel Access ertPS Extended rtPS ESS Extended Service Set FBSS Fast BS Switching FHSS Frequency Hopping Spread Spectrum FIFO First In First Out
XVII GM Grey Model GoV Groups of Video GPC Grant per Connection GPS Global Positioning System GPSS Grant per SS GSM Global System for Mobile communications H-ARQ Hybrid-Automatic Repeat Request HCF Hybrid Coordination Function HE-AAC High-Efficiency Advanced Audio Coding HH Horizontal Handover HP Hard Proactive HS Handover State IBSS Independent Basic Service Set IEEE Institute of Electrical and Electronics Engineers IM Irregular Movement IntServ Integrated Services IP Internet Protocol IPTV Internet Protocol TV ISVF Increase Speed of Video Frames transmission MAC Medium Access Control MANJ Moving Average of Negative Jitter MBS Multicast and Broadcast Service MC Mobile Client MCB Mobile Client Buffer MCBM Mobile Client Buffer Manager MDHO Macro Diversity Handover MI Mobile Internet MIH Media Independent Handover MIMO Multiple Input Multiple Output MOS Mean Opinion Score MPEG Moving Picture Experts Group MSC Message Sequence Chart MPLS Multi-Protocol Label Switching
XVIII NAR New Access Router nrtPS Non-Real Time Polling Service OFDMA Orthogonal Frequency Division Multiplexing Access PAR Previous Access Router PDA Personal Digital Assistant PDT Predict Disconnection Time PH Proactive Handover QoE Quality of Experience QoS Quality of Service RF Radio Frequency RH Reactive Handover RM Regular Movement RSSI Received Signal Strength Indicator RST Reception Sensitivity Threshold RT Roaming Threshold RTMA Real Time Multimedia Application RTSP Real Time Streaming Protocol rtPS Real Time Polling Service SASHA Smooth Adaptive Soft-Handover Algorithm SDL Specification and Description Language SIN Sine SIP Session Initiation Protocol SNR Signal to Noise Ratio SP Soft Proactive SS Subscriber Station SSID Service Set Identifier TCP Transmission Control Protocol TDD2 Time Division Duplex2 UDP User Datagram Protocol UGS Unsolicited Grant Service UL Up Link ULPGC University of Las Palmas de Gran Canaria VH Vertical Handover
XIX VoD Video on Demand VoIP Voice over Internet Protocol WiFi Wireless Fidelity WiMAX Worldwide Interoperability for Microwave Access WLAN Wireless Local Area Networks WMAN Wireless Metropolitan Area Network WMM Wireless Multi-Media WNIC Wireless Network Interface Card
CHAPTER 1 INTRODUCTION Real time multimedia applications provided by wireless networks suffer video services disruption during short disconnections. In wireless networks, service disruptions are due to coverage fails such as holes and handover. The disruption problem could be solved by incorporating filtering and prediction models with an effective buffer management technique.
Introduction 3 1.1 Real Time Multimedia Applications Real Time Multimedia Applications (RTMA) are applications that send and receive media streams through communication channels, the received packets must be decoded before rendering the audio and the video at receiver terminal [1]. Nowadays, RTMAs are experiencing rapid development due to the growing popularity of video applications [2]. Thus, a Wireless Local Area Network (WLAN) such as IEEE 802.11 supports RTMA, mainly Voice over Internet Protocol (VoIP) and video services [3]. Moreover, a Wireless Metropolitan Area Network (WMAN) such as IEEE 802.16 provides better capability to offer wireless services as multimedia streaming and real-time surveillance [4]. Most RTMAs types use the streaming technology to offer audio and video services via internet. Streaming is a technique to deliver audio and video that are distributed over telecommunications networks, and transmitted, through an Internet Protocol (IP) network, from the source host to the destination host. Many network protocols were specifically designed for streaming media [4], thus some protocols provide basic network services support in the network layer, others work in the transport layer such as: User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) [5], while other protocols define messages and procedures in the application layer to control multimedia delivery such as: The Real-Time Streaming Protocol (RTSP) and the Session Initiation Protocol (SIP) [4]. VoIP is an important protocol that uses IP to transmit voice data packets, the voice is converted to a digital signal, compressed and subsequently broken down into a series of packets that are transported through the IP network; these packets are reassembled and decoded at the receiving host [6]. Skype, MSN, Google Talk, and VoIPBuster are examples of VoIP applications. The Multimedia Real Time Streaming is a RTMA that includes two common distribution mechanisms over IP networks that are live streaming and on-demand streaming. In Live Streaming, there is a direct connection between the encoder and the server where the encoder is capturing, digitizing and compressing the received analog signal of video and audio, then passing the resulting compressed file to the server. Whereas On-demand Streaming has not a direct connection between the encoder and the receiver, because the compressed video must be stored, then it can be distributed by the
Chapter 1 . 4 user. On the other hand, the server and the client communication for on-demand content is the same as live content, the main difference is that in the first mechanism the user can rewind or fast forward the video, while this option is not available in the second mechanism. Thus, real time video constitutes an example of live streaming [4], while Video on Demand (VoD) system constitutes an example of on-demand streaming. The latter is an interactive multimedia system where the client can choose a movie from a database stored in a video server. In addition, the system could provide the user with different functions including pause, fast forward, fast rewind, slow forward, slow rewind and jump to previous/future frame. Most RTMAs need high Quality of Service (QoS) and high network demand due to the special requirements of the audio and video perception, being very sensitive to delay and jitter, and require high bandwidth [5]. This means that RTMAs require special network performance that is measured by many parameters such as packet loss, end to end delays, jitter, bandwidth, timeliness, reliability and cost [7]. For example, video conferencing requires an end-to-end delay not greater than 200 ms; as a result the possibility to retransmit lost packets is restricted [3]. However, wireless channel characteristics such as shadowing, multipath fading and interferences still limiting the available bandwidth for the deployed applications. All the users of RTMAs are looking for the continuous receiving of the real video and audio streaming. In addition, many other requirements are important such as high quality images, as imaging systems may introduce an amount of distortion or artifacts in the signal, thus the quality assessment is very important [8]. Furthermore, the user seeks to receive high quality audio (clear audio), which is difficult since it is affected by many factors as the extended delay of voice path [Web-1]. Therefore, some audio codecs were developed to improve audio quality as High-Efficiency Advanced Audio Coding (HE-AAC). The Mean Opinion Score (MOS) provides a numerical indication of the perceived quality of the received media after compression and transmission, and it is expressed as a single number in the range of 1 to 5, where 1 is the lowest perceived quality (unacceptable) and 5 is the highest perceived quality (excellent) [4].
Introduction 5 1.2 Wireless Networks Standards Nowadays, many technologies for wireless networks are available to support RTMA; Wireless Fidelity (WiFi) and Worldwide Interoperability for Microwave Access (WiMAX) are examples of these technologies. 1.2.1 WiFi and IEEE 802.11 WiFi is the WLAN technology based on the IEEE 802.11 standard and certified by the WiFi Alliance, it is a global non-profit association specialized in certification in order to enhance the user experience for mobile wireless devices [Web-2]. WiFi can provide high data rate at limited area up to 200 m, IEEE 802.11a provides up to 54 Mbps at 5 GHz unlicensed band [9], while IEEE 802.11b enables up to 11 Mbps at 2.4 GHz unlicensed band [10], and the IEEE 802.11g provides up to 54 Mbps at 2.4 GHz unlicensed band [11]. IEEE 802.11 Working Group-n published the new specification IEEE 802.11n which is based on Multiple Input Multiple Output (MIMO) air interface technology, it includes enhancements for performance, security and roaming, and supports operation in either the 2.4 GHz or the 5 GHz bands, and it enables data rate up to 600 Mbps operating in 20 MHz or 40 MHz bandwidth [12]. The IEEE 802.11 is the current leading standard for WLAN, it supports RTMAs like VoIP and video conferencing [3] to mobile and portable stations [13] [14], that is achieved by the two high speed IEEE 802.11g and IEEE 802.11n, and the IEEE 802.11e QoS-based Medium Access Control (MAC) layer [13]. IEEE 802.11 specifies two physical layers [15]: The Direct Sequence Spread Spectrum (DSSS) and the Frequency Hopping Spread Spectrum (FHSS). Different WiFi enabled devices that support RTMAs are present in the market, including VoIP phones, TV, MP3 players, game consoles and other multimedia players. For example, at home, wireless devices can be used to provide wireless voice connectivity through VoIP WiFi phones, furthermore, a WLAN could be used to distribute contents from a multimedia server to any device at home [Web-3]. The IEEE 802.11 standard is characterized by being simple and robust against failures caused by the distributed approach of its MAC protocol [16]. IEEE 802.11 can operate in the mode of Ad-Hoc network where Mobile Client (MC) communicates
Chapter 1 . 12 Packet loss: The percentage of data units that do not reach the destination in a specific interval of time [40]. Packet loss can be caused by the low bandwidth of wireless link, signal attenuation, obstruction or handoff [39]. RTMAs are not very sensitive to packet loss rate. For example a loss rate of 1% is acceptable for real-time video with rate 16-384 Kbps [41]. For IPTV, video conferencing and video telephony, packet loss due to the excessive delay is the primary factor affecting the required quality [5]. There are several techniques to recover lost packets such as packet retransmission at the transport layer, error correction at the physical layer, or using codecs at the application layer [4]. 1.3.2 Definition of Coverage Area The CA has not a perfect spherical form, because really there are some locations with no signal strength inside the CA, it is related to the radiation pattern of the antenna or the presence of holes. Furthermore, the signal fluctuations and the handover process could cause disconnections. The CA is the radiation pattern of the antenna which has different forms depending on the design and frequency of the antenna; it represents the relative field strength (power) graphically, or simply the distribution of the Received Signal Strength Indicator (RSSI) in the space [42]. The RSSI is an indicator of the signal strength, it is affected by the natural conditions such as the weather and the presence of obstacles, and the fluctuations in the signal could produce disconnections and streaming loss inside the CA. The Figure 1.3 shows the CA (radiation pattern) of a simple outdoor antenna that is located in the center. In the vertical plot, it is shown that the radiation has not a spherical form, it consists of many lobes: The above is called the main lobe and is the biggest, the lower is called the back lobe, and the rest of lobes are called the side lobes [43]. This form of radiation clarifies the presence of many positions without coverage, or with weak signal, the white points represent the presence of holes where no signal could be detected.
Introduction 13 Figure 1.3: Real CA (antenna radiation) 1.3.3 Holes In all wireless networks, where MCs receive signals from AP or BS, signals are affected by surrounding conditions such as the climate, or obstacles such as tunnels, causing signal variation and drop at some moments. Positions of signal drop (RSSI = 0) are called holes. Disconnections caused by holes could not be predicted except for some rare cases where disconnection occurs frequently in the same position; that enables the MC to memorize these positions. For example, when a connected MC is passing through a tunnel, it will disconnect loosing video frames. In Figure 1.4 the MC with laptop is walking in a street, it has a good connection with the AP that is mounted above the building until t = 2 s, then the signal decreases gradually as it enters the tunnel, the connection is lost totally at t = 4 s which is explained in the diagram, the drop in the signal at t = 4 s is called hole. Later, the signal is enhanced when MC goes out from the tunnel, which is illustrated with the rising curve in the diagram. In this case of holes, if MC passes frequently from the same route, the hole could be predicted, while in other situations of a movable obstacle such as a train, it is very difficult to predict hole’s position because it appears sporadically.
Chapter 1 . 14 Figure 1.4: The hole in case of MC passing through a tunnel 1.3.4 Handover and Roaming Nowadays, MCs are provided with several WNICs (Multi-homed systems that have multiple network interfaces [44]) in order to allow their access to different wireless technologies [45] and to extend the area in which they can connect. By contrast, there is no available commercial device with WiFi and WiMAX. Therefore, when MC starts loosing connection with the associated AP and stops receiving data for several seconds [38] [46], it will search for another AP to associate with. This process is named roaming or handover. There are several definitions of the Roaming and Handover. Roaming is defined as the ability of a network operator to provide their clients with the same services available in their home network when they are using other system inside or outside the country [Web-10]. From the home carrier’s perspective there are two types of roaming: Inbound Roaming where clients from another wireless network come into home
Introduction 15 network and use its services, while in the Outbound Roaming, the home network clients visit another network and use its services. From the region perspective, the roaming types are: Regional roaming: The possibility to move from one region to another inside national coverage of the mobile operator. National roaming: The ability to move from one mobile operator to another in the same country. International roaming: The ability to move to a network of a foreign telecommunication service provider outside the country. Many reports agree on the definition of handover as the process occurring when MC moves its connection between different BSs or APs whether they use the same or different technologies [17] [30] [44] [47]-[49]. When this process supports service continuity by maintaining network connection channel, low latency (handover latency is the time between loosing MC connectivity with its current AP and receiving the first IP packet from the new AP [50]) and packet transmission during the movement, it is called Seamless Handover [45] [47] [48] [51]-[53]. The IEEE 802.16 defines the handover process in which MC migrates from the air-interface provided by one BS to the airinterface provided by another BS [54]. There are different types of handover (Figure 1.5) depending on many factors; for example basing on BS technology, we distinguish [45] [51] [55]: Horizontal Handover (HH) that occurs when MC moves between networks that use the same technology and the same type of WNIC. In addition, the two networks could be operated by the same network operator, where the mobile device IP address remains unchanged, and handover occurs in the wireless link layer [31]. Vertical Handover (VH) is defined when these different networks use different technologies and different WNIC, and changing the IP address is required [31]. There are two types defined under this class [55]: a. Upward vertical handover: Handover to a mobile overlay with a larger cell size and lower bandwidth per unit area. b. Downward vertical handover: Handover to a mobile overlay with a smaller cell size and higher bandwidth per unit area.
Chapter 1 . 16 Figure 1.5: Handover types and roaming Some reports called the HH as Intra-Technology handover and the VH as InterTechnology handover [56]. While the Intra-system handover is defined between sectors of the same system, the inter-system handover happens between different systems [53]. Likewise, different handover types could be distinguished by their strategies [57]: Reactive Handover (RH) delays handover as much as possible i.e. handover starts only when MC loses completely its current AP signal [56]. Proactive Handover (PH) that triggers handover before the complete loss of original cell signal. Two strategies are available under this type depending on the handover procedure (refers to the sequence of actions between MC and AP [17]): a. Hard Proactive (HP) where MC disconnects from the associated AP before connecting to the visible AP [24] [47], which permits a single connectivity
Introduction 17 with one AP [45]. The same definition was given to the backward handover [49]. b. Soft Proactive (SP): In this case, MC makes a successful connection with the new AP before disconnecting from the current one [47] being connected to more than one AP at the same time [24] [45]. This definition was given to the forward handover [49]. It is important to recognize the Ping-Pong handover which is unnecessary handover processes that occur when MC makes a handover to a neighboring BS and returns to the original BS after a short time [58]. Two reasons could cause the handover: The MC is moving out of the current AP CA and needs to associate to new AP. The MC detects multiple APs within its range, and needs to switch among them to improve some aspects of communication such as reducing packet loss, improving throughput or reducing the cost [31]. Hence, the handover process requires two important things: Maintaining the connection as the associated AP is changed due to network change. Maintaining the required QoS for the applications that are active on MC device as the AP is changed. Handover Support in WiFi The original IEEE 802.11 did not specify any handover mechanisms [57], but the two amendments IEEE 802.11f and IEEE 802.11r provide handover capability between AP that are interconnected at the link layer, and the link layer handover takes place in three distinct phases [15] [50] [56]: Discovery: The station detects weak signal strength of the current AP and scans for other available signals to establish a new connection [50]. Authentication: The station and the AP selected by the scanning phase exchange station authentication messages. Association: The station requests an association identifier from the AP to be used for data delivery [56].
Chapter 1 . 18 Additionally, the IEEE 802.11r specifies fast handover that supports QoS [59]; it is called Fast BSS transition and aims to reduce disconnection time when station moves its connection from one BSS to another. Fast BSS transition includes protocols that can be applied only on station transition between APs inside the same mobility domains in the same ESS [59]; thereby two of them are defined: Fast BSS Transition: When resource request is not required prior to the station transition to the new AP. Fast BSS Transition Resource Request: When resource request is required prior to the station transition. These protocols need information exchange between the AP and the station during the association phase, and this is performed by two methods [59]: Over the air: The station communicates directly with the new AP. Over the distributed system: The station communicates with the new AP via the current associated AP. Handover Support in Mobile WiMAX The IEEE 802.16 provides handover procedure to support mobility between BSs [27]. It defines two handover variants [54]: Break-before-make handover: Service with the target BS starts after service disconnection with the previous serving BS. Make-before-break handover: Service with the target BS starts before service disconnection with the previous serving BS. Likewise, the IEEE 802.16e provides two handover modes [Web-4] [27]: Hard handover. Soft handover: There are two handover procedures under this mode [27] [30] [24] [54]: a. Macro Diversity Handover (MDHO). b. Fast BS Switching (FBSS). 1.4 Video Streaming Service Disruption in Wireless Networks The later discussed problems of coverage affect directly on video streaming services, because the weak signal locations produce disruptions in video service delivery. We
Introduction 19 now analyze the problems this disruption provoke segmenting them in three different situations: Problems with Handover: The handover has bad effect on video streaming’s QoS metrics such as jitter and delay during RTMA sessions, due to the execution of several operations during handover. The handover delay is the interval of time starting when MC data receiving stops until moving its connection to the new AP [60]. To reduce latency during handover, [61] proposed fast handover technique to meet the seamless mobility for video streaming service. The main problem yields during the delay period, the connection is lost and no more video packets are buffered in the MC, thus the displayed video lacks some frames and the user could see low quality video or could loss part of it. Therefore, to overcome this issue, an effective technique is necessary to provide the user with sufficient video frames before the disconnection in order to keep the video in displaying mode with an acceptable quality. Problems with holes: It is the same problem caused by handover, but the problem of holes is its impossible prediction when it is caused by movable objects. Thus, proposed solutions of handover could not be effective in case of holes. For this reason, filtering models and techniques are better as the detected signal could be filtered to avoid any sudden disconnection and to smooth the signal curve. Problems of video streaming service in WiFi and WiMAX: The video streaming service requires high energy consumption rate, causing problems with mobile devices that depend on limited energy batteries, since it is unpractical to charge device battery during movement. In video streaming service, the energy is mainly used for computation, transmission and display. Nevertheless, in transmission, the energy is consumed to transmit and receive the Radio Frequency (RF) audio and video signals, and also in computation to encode and decode these signals. Moreover, the problem of Mobile IP, which is a network layer mobility management scheme; is that it allows MCs to maintain their connection with the home wireless network when moving to a new network. This is possible by tunneling the transferred packets through a home agent in the same network
Chapter 1 . 20 [Web-10] [51] [62]. However, the disadvantage of this scheme is that the home and foreign agents could become bottlenecks, since they handle the tunneled packets for a large number of mobile hosts [51]. This scheme uses three procedures: the agent discovery, registration, routing and tunneling [7]. 1.5 Objective of the Thesis The main objective of the present thesis was to develop a protocol in order to mitigate video streaming service disruptions in WiFi networks. In order to achieve this objective we: Defined the mathematical specification of the CA and its relation with disconnection zones and different MC movement models. Developed a new mathematical RSSI Gradient Predictor and Filter, to enhance and improve the signal by mitigating the adverse effects of coverage holes, and to predict the MC disconnection states. Developed an effective buffer management and transmission speed control technique, to maintain the MC Buffer (MCB) in its upper limit as long as possible, in order to offer sufficient video frames to be consumed during the service disruption duration. We controlled the video transmission speed depending on the MC state. Verified the protocol using the Specification and Description Language (SDL). We verified the possibility of exchanging signals and messages between the MC, AP and BS, in order to control the transmission speed and the buffered video. Implemented a specific Java simulator generated from the SDL diagram to simulate the protocol and to demonstrate its efficiency and performance. 1.6 Related Work and Motivations The prediction is an essential step in developing techniques that solve the video streaming packets loss problem during service disruptions duration. Many filters were used as predictors in the field of wireless communications, where the RSSI value was the data for these filters in direct or indirect way (e.g. calculating it using other parameters like distance). Grey Model (GM), Kalman filter, Fourier Transform, Particle [63] and Bayesian filter [64] are filters used by many researchers.
Introduction 21 As a prediction model, GM plays an important role to make accurate prediction in various fields [65]; we can predict next RSSI by using some measured RSSI values as data of the GM. Different authors apply some filtering techniques including GM to RSSI values to predict handover [63]. Grey predictor is also used to predict the RSSI values which are the input of another filter (fuzzy decision system) that produces the handover factor [66]. Different works have been interested in RSSI filtering. A Kalman filter for RSSI was used to traduce the RSSI current value into a geographical area value for MC positioning. The Extended Kalman filter was used to train an Artificial Neural Network [67], which is used to train the measured signal strength from the Global System for Mobile communications (GSM) for mobile positioning. In this technique, the Extended Kalman filter depends mainly on the GSM feature that measures the signal strength from many nearby BS. In the other hand, the measured RSSI values could be converted to distances depending on the previous position estimation [68], these distances are used as inputs for the Kalman Filter to give the next position estimation; also the Extended Kalman Filter could be applied on the distance estimated from converting RSSI values [69]. Some authors evaluated the different RSSI filtering techniques including Discrete Kalman; these techniques provide information of available AP for handover in an instant of time [65]. While other authors used an Extended Kalman Filter for the location and velocity estimation of a tracked node. An improved version was used to correct the state estimation of Kalman filter, because it works well only if the tracked node moves at a constant speed and does not change its direction [70]. The buffer management and control mechanisms are effective solutions for the video streaming loss caused by service disruptions, some works proposed buffer management schemes [57] [71]-[74] to provide solutions just for the case of video streaming disruption during handover. However, other cases of disconnections such as holes were not studied. Also, buffer management schemes are used to improve connection capacity for real time streaming [75] or to enhance the QoS [76]. One of the proposed schemes consists of an agent located between the wired and the wireless part of the network to replace the BS Buffer (BSB) [71]. The agent has a buffer to control the transmission speed of the server, when the occupancy of the agent buffer increase, the agent would send more Acknowledge (ACK) packets to the server to
CHAPTER 2 MODELING OF THE WIFI COVERAGE AREA FOR THE PROTOCOL The AP provides wireless network services to MC as long as it is inside the CA. The signal is measured in many forms as the RSSI% where it is used to classify the CA, thus a simplified model for the CA is defined. The coverage zones such as handover area, holes, and black area where service disruptions occur are mathematically specified and discussed, the MC movements are also defined considering the CA specifications.
Modeling of The WiFi Coverage Area for The Protocol 31 2.1 The Coverage Area of a WiFi Access Point As explained in the previous chapter, the CA fails are responsible for short disconnections in wireless networks causing RTMA services disruptions. Thus the CA should be defined and specified. The AP is the central device in a WLAN where it acts as RF transmitter and receiver; it could be used to provide a communication between wireless devices and wired network, or to expand the range of wireless network [14] [89]. The wireless AP could typically support up to 255 clients; it is commonly used in offices, commercial centers, homes or schools. The AP used in homes and small offices is a small device with a build in WNIC, radio transmitter and antenna. The first AP appeared in 1999 after the approval of the IEEE 802.11b standard, and supported many control functions such as security features, access control and RF channel selection by using a simple graphical user interface. The AP could have additional features like internet gateway, switching hub, wireless bridge or repeater and network storage server [89]. Each AP could provide connection for a limited area around it to form the CA. Recently some articles studied the nature of CA, since understanding the CA helps to study several topics such as the signal behavior, handover prediction and network development. Some published works focused mainly on the CA estimation [90], many MCs connected to AP were used to report their positions and to estimate the CA depending on these periodic reports [91]. 2.1.1 Simplistic Model for the Coverage Area In the vertical radiation diagram explained in Figure 1.3 the shape of the CA can be approximated by a circular or an oval figure. The IEEE 802.11 always uses the oval shape to represent the CA, however, a defined shape does not exist actually, since the propagation characteristics are not predictable [14] [91]. But some authors approximate the CA by a circle [38]. We will make some simplifications in order to model the CA for treating the movement of MC inside it. First of all we simplify the area that covers the radiation of an AP to a plane parallel to the ground (distance 0 to the ground without taking into account the different elevations of the ground closed to it). That is, the CA of an AP
Chapter 2 . 32 could be considered as a plane in an Euclidean space belonging to 2 . Once we have done this approximation, the second consideration is that the CA is a circle. That is, CA is all the points characterized by the equation 222 ryx , where r is the radius of the CA centered in point (0, 0). The AP that defines the CA is allocated exactly in the center of the circle. This simplification for the CA is shown in Figure 2.1. Figure 2.1: Simplified CA Another simplification is that the points which have the same level of radio antenna radiation inside the CA are all those matching the equation 2 1 22 ryx . This implies that all the MCs located at a distance 1 r from the AP have the same level of coverage. The last simplification of the CA is that the level of coverage decreases with longer values of r. That is, in the center of the CA (where the AP is allocated), the signal is in its best state and near the boundary of the CA the signal is in the worst state (Figure 2.2). As a conclusion of the last two simplifications, we can consider that the CA is the union of a set of concentric circles. The concentric circles concept could be applied to classify the CA into different coverage zones. The concentric circles have the same center as the CA but different radiuses; hence, all coverage zones are concentric circles with the CA (Figure 2.3). Let ),...,,( 21 n rrrr be the set of different radiuses defined inside the CA, where i r. We can define n concentric circles (points of CA we name Sub-sets (Ss)). The Ssi is defined by the inequality: ri 1 2x2y2ri 2 (taking into account the special value 0 0 r).
Modeling of The WiFi Coverage Area for The Protocol 33 Figure 2.2: The level of coverage Figure 2.3: The concentric circles and subsets 2.2 The CA Classification Based on Received Signal Strength Indicator Many parameters related to the wireless connection could be measured while MC moves inside a CA of a WiFi AP, such as data rate, noise, received signal, Signal to Noise Ratio (SNR) and beacon interval. In this work, the Signal Strength which is measured in the form of RSSI is used; it indicates the received amount of power of radio frequency that is transmitted from AP and measured by the WNIC, the power is measured using two units, by Watts general unit (or mW) or by dBm. The dBm = 10 log10 (power in mW) [89]. The IEEE 802.11 standard defines the RSSI as an integer with allowed values in the range from 0 to 255
Chapter 2 . 34 (1 byte of size) [14] but vendors do not use 256 values actually; therefore, they defined maximum RSSI (RSSI_Max) in the allowed range [9]. For example Cisco have chosen RSSI_Max = 100, Symbol uses an RSSI_Max value of 31, while Atheros uses RSSI_Max = 60 [Web-11]. This integer does not represent the real power value in decibels; however, many signals scanning programs use SNR in db, or % to represent the measured signal. SNR is the difference between the signal strength and the noise level, it measures signal quality in dB [Web-12]. The dBW is a unit relative to power of 1 watt, while the dBm is relative to a power of 1 mW (hence 0 dBm = - 30 dBW). In case of RSSI = - 6 dBm, the signal is equal to 0.25 mW. Sometimes the RSSI% level is used instead of dBm, and could be calculated from the measured RSSI by mapping methods depending on its maximum and minimum values. There are several tools in the market to scan the WiFi signal and to monitor all changes, they measure also other parameters related to connection. Many existing tools are software tools, while the commercial hardware tools are limited and do not give details like Raytac Mini Professional WiFi Signal & Hotspot Finder DK-2401 [Web13]. MetaGeek's Wi-Spy 2.4i is a tool that can be connected to the computer via USB port to scan, monitor and analyze any WiFi signal with its supported software that gives a 3D animation [Web-14]. Likewise, many software tools scan and monitor the WiFi signal received by the WNIC of Laptop, some ones list all APs that are in the range and their signal strength (RSSI), and others give many choices to display the signal graph. Moreover, each program can display the signal with different units, some ones with dBm and others with the RSSI%. The inSSIDer program [Web-15] has a lot of possible choices to display the received signal in dBm related to time or frequency, and it can show all possible channels with their maximum signal strength. Furthermore, the Network Stumbler [Web-12] can display details about all APs in the range with the possibility to export all data to a .txt file, in addition to control three levels of detection speed, and it displays the SNR in dBm. The WirelessMon Professional [Web-16] is good software to display the received signal with RSSI% on a specific map of real area. 2.2.1 RSSI% for Coverage Area Classification and modeling The distribution of RSSI inside the CA could be used to find a relation between MC movement and the CA as it has a regular shape. If MC moves in straight line toward or backward the AP, the signal will increase or decrease respectively. In the other hand,
Modeling of The WiFi Coverage Area for The Protocol 35 other movement shapes have different relations with the RSSI, which will be described in details later. IEEE 802.11 indicates that RSSI can be defined using relative values RSSI_Max, this enables the researchers to choose a relative value suitable to their research subject, for example some needs to study the relation between RSSI and time, distance, position, or height, thus each case should has different calculations on RSSI. This work uses the relative value RSSI%, the RSSI_Max refers to a 100% RSSI and the minimum RSSI (RSSI_Min) refers to 0% RSSI. In an open area with perfect conditions and no obstacles, RSSI% could be 100% in the center of the CA (position of WiFi AP), and decreases as MC moves far from the AP. When the detected values of RSSI are less than 20%, channel conditions will deteriorate, consequently the data will be lost and the medium will saturates with retransmitted failed data, which causes poor multimedia reproduction quality at MC [46]. As a result, sporadic disruptions could occur. The RSSI is influenced by the obstruction, diffusion, reflection and multi-path fading causing the fluctuation [51], since the signal is affected by human bodies, walls and the surrounding climatic conditions [21] [92] being difficult to timely detect the unavailability of the signal [51]. The variation, caused by the previous conditions, affects the connection state; hence, discovering positions where disconnections could occur requires more attention. 2.2.2 Coverage Area Zones Simplistic Modeling The RSSI% range from 0% to 100% can be categorized to different levels associated to different Sub-sets, in order to classify the CA into sub coverage zones. Thus, it facilitates the MC localization inside the CA, and a Global Position System (GPS) set is not necessary as the exact position of MC is not important. We assumed three concentric circles with different radiuses r1, r2 and r3 associated to Ss1, Ss2 and Ss3 respectively inside CA, where r3 > r2 > r1. If we consider )( i r as the coverage level measured by RSSI% at radius ri, therefore we can define the following coverage zones depending on the coverage level (Figure 2.4): Area1 (A1) is related to )( 2 1 222 01 ryxrSs , where %100)( 0 r and %60)( 1 r. That is, A1 is the area of coverage associated to the set of coverage
Chapter 2 . 36 points in which the levels of coverage are according to the inequality 100)(60 i r, where 10 rrr i . Area2 (A2) is related to )(2 2 222 12 ryxrSs where %40)( 2 r. That is, A2 is the area of coverage associated to the set of coverage points in which the levels of coverage are according to the inequality 60)(40 i r, where 21 rrr i . Area3 (A3) is related to )( 2 3 222 23 ryxrSs where %20)( 3 r. That is, A3 is the area of coverage associated to the set of coverage points in which the levels of coverage are according to the inequality 40)(20 i r, where 32 rrr i . Figure 2.4: Classification of CA Other researchers chose different limits for classification, some authors classified the )( i r values to three levels, the good level ( %40)( i r), the acceptable level ( %40)(%35 i r) and the poor level ( %35)( i r) [93], while others supposed just two zones with two threshold limits: The good zone and the average zone followed by the overlapped area where the handover occurs [38]. Before transmitting, MC WNIC checks whether the current measured RSSI is less than the Clear Channel Threshold (CCT) to start transmitting. In case it is greater
Modeling of The WiFi Coverage Area for The Protocol 37 or equal to CCT, the wireless channel will not be clear to transmit. When MC is ready to receive, its WNIC must test if the received RSSI (transformed in dBm) is greater than the Reception Sensitivity Threshold (RST) that is measured in dBm (a value very close to 0 but not 0). If RSSI is equal to RST, WNIC cannot differentiate between noise and signal [Web-11]. If the signal level received from the associated AP drops to a low value, which is called the Roaming Threshold (RT), then a roaming or handover process should start to other available AP. This zone, where the handover occurs, is called the Handover Area (AH). Let j i A be the coverage zone Ai inside CAj (where j = 1 or 2) then we can define the handover area AH as the intersection between 1 3 Aand 2 3 A ( 2 3 1 3AAAH ) where %35)(%20 3 rri (Figure 2.4). Accordingly, if MC crosses from A3 to AH, a handover process could occur, it will cross to AH of the other AP and later to A3. With this consideration, MC cannot cross from A3 of one AP to A3 of the other AP directly. The last zone is the WiMAX Area (AW) which is outside the CA of AP and can be characterized by the subset )( 222 yxrSs ww that belongs to the CA of the WiMAX BS where %20)(%0 3 rrw. 2.2.3 Hole Simplistic Modeling The holes are positions inside the CA where the signal drops suddenly to very low value and cause disconnections; therefore, it is important to define the holes as another zone in the CA. Let us define the vector )(.,),........(),()( 21 tdtdtdtd n that defines the distances from the center of the CA to holes positions, where each hole is characterized by Hi jand allocated at distance di from the center of the CAj. The holes, which are allocated in AW, belong to the CAj that has the minimum distance from its center to the hole. The hole has some properties: 1. At any hole Hi j the coverage level (di) 0%. If we suppose the hole (Figure 2.5) has a radius r i, at distance di from the center of the CA ),( yx , the center of the hole will be at the point ( x di,y di), then all the points that achieve the equation of the circle 222 )()( iii rdydx belong to this hole and have the same coverage level (di) 0%.
Chapter 2 . 38 2. We also define other properties of the hole depending on the presence of the holes; there are two types of holes: Dynamic and static holes. 2.1 The static hole has constant characteristics ( di and r i) and appears always in the same position with the same size. 2.2 However, the dynamic hole appears at different instances of time and disappears with time, and it has variable characteristics that could have different values (such as its size) depending on time and the positions of its appearance. That means for the dynamic hole we could define the vector n dddd ,,........., 21 as a function of time )(.,),........(),()( 21 tdtdtdtd n , because these distance values vary with time. Also r i could be defined as a function of time r i(t) because the size of dynamic hole could be changed, therefore, in general we could say that r i and di are random variables. Figure 2.5: Hole simplistic modeling In this thesis, we are interested in a static hole that has constant di and r i (do not depend on time) this kind of holes appear always in the same position with the same size. Up to our knowledge, there is not any previous work that has described the hole in this mathematical way and with all these details. Accordingly this study presents new actual description about holes, which are a very special case of real disconnection less studied by previous works. Understanding the holes is the best way to provide a solution for treating them, thus a new mathematical filter was derived specially for these holes, to enhance the signal by treating its fluctuations and output the new ( r i) without any hole despite of its size. Holes filtering were not considered in most of the published
Modeling of The WiFi Coverage Area for The Protocol 39 work, which make the proposed solutions not effectives, therefore, our new RSSI% Gradient Filter is a timely valuable filter, and it is described in the next chapter. 2.3 Examples of Service Disruption Due to Coverage Fails As long as there are factors affecting the signal and coverage, the MC will suffer disconnections or very low value of ( r i) leading to poor service quality. Three cases could cause the disconnection: Handover areas, black areas and holes. In Figure 2.6, these cases of disconnection are shown, the violet zone between the two CA is the handover area, the black zone outside the CA is the black area where there is no WiFi coverage and the white circles are holes. As shown in the figure, MC1 has a good connection with AP1 and MC2 has a good connection with AP2, but the rest of them have problems. In Figure 2.6, MC4 is connected to AP1 and moves toward AP2, when its received signal drops to RT, then it will be in AH, where it will disconnect from AP1 to move its connection to AP2, where ( r i) is greater than RT. In this moment of disconnection, service may be lost and any multimedia streaming will stop. Many published works focused on developing handover mechanisms, in order to improve service quality during disconnection in different network standards as WiFi, WiMAX and Media Independent Handover (MIH) [24] [30] [48] [58] [94]. The black area includes all the positions outside the WiFi CA, where MC cannot connect to any WiFi network. In the proposed network model for the present work, the black area is under the coverage of WiMAX BS; therefore, MC could not connect as it has not WiMAX WNIC, thus MC will loose any service provided by the WiFi AP (MC5 in Figure 2.6). The existence of a hole inside the CA means that these sub-sets are non convex ones; accordingly, always there is a set of points inside Ss in which ( r i) is 0%: In Figure 2.6, MC3 moves inside a CA of AP1 passing through a hole, in this position ( r i) = 0, this means that MC3 will suffer disconnection for moments, but these moments could not be predicted, estimated or calculated, because the hole could be dynamic hole, thus it could not have priori knowledge to recognize this hole, which leads to quick interruptions in video streams [21].
Chapter 2 . 46 Filter was derived depending on the gradient and the periodic patterns in addition to the gradient behavior of )(MC d. To proceed from this behavior, we studied the possible movement models of the MC, and we classified them to regular and irregular movements, because the regular movement is a condition to have a steadily behavior. Therefore, the predictor used the average gradient that was calculated using a sample set of )(MC d, then the instant gradient could be calculated from the average gradient for any instant time even if for the future. Taking into account the presence of holes, the predictor was improved to work as a filter for these holes, this was achieved by detecting the hole and correcting it to a value related to the previous correct )( MC dsample. The second part of the protocol: The buffer management and transmission speed control technique. For this technique, we considered a network with two APs connected to a WiMAX BS. The BS is connected to a wired network where a VoD server streams multimedia packets to MC which is connected to the WiFi AP. The technique is based on the CA classification into different coverage levels. Depending on the subset and stage concepts, we analyzed the MC movement between these subsets to build a state diagram. Several MC transitions could be generated from the state diagram, where each transition is a change in the subset or the coverage level. While )(MC d is related to MC position, then it will be related to the transitions. Some commands were associated to each transition in order to control the transmission speed in the VoD server and BS, and to manage the buffered video in BSB and MCB. This process achieved by 1) increasing the BS transmission speed in two cases: When the MCB is under its upper limit, and in case of any expecting disconnection. 2) Decreasing the BS transmission speed in two cases: When the MCB is over its upper limit, and in case the MC is going back to good coverage level. For the verification process of the buffer management and transmission speed control technique, we used the SDL to define and describe the technique, then to verify the possibility of exchanging the messages and signals which carry the commands. The SDL diagram was used to generate the main classes of the new specific Java simulator; it was supported by an external library for generating special graphs with information about the MC movement, RSSI, the transmission speed and the buffered video. All the protocol details will be explained in the following chapters.
CHAPTER 3 THE RSSI GRADIENT PREDICTOR AND FILTER Many filters and models such as Grey model and Kalman filter were used as predictors in the field of wireless connections, especially for handover prediction. In the new RSSI Gradient Predictor and Filter, samples of RSSI% were used to predict next MC coverage level where holes are filtered and the signal is enhanced. The RSSI Gradient Predictor and Filter were tested on RSSI measured values. The signal scanning experiment was done in an open area with no obstacles to avoid their effects. The Gradient Filter showed linear behavior. Likewise, it displayed good results in detecting and filtering holes.
The RSSI Gradient Predictor and Filter 49 3.1 Grey Model Referring to the Black Box concept, White System can be defined when we have all information about it, unless that, it is called Black System [65] [Web-17]. A system with partial information known and partial information unknown is called Grey System [65] [66]. The Grey System works mainly on system analysis which has produced poor, incomplete or uncertain messages. The advantages of the GM are its ability to estimate an unknown system using only a few data. Furthermore, it can use a first-order differential equation to characterize the unknown system behavior [Web-17]. The most commonly used GM is the GM (1, 1), which is a single variable first-order GM. The modeling procedure is summarized as follows: 1. Given the original data set ( )(MC d Ω values): [ ] )(),....,2(),1( 0000 nxxxX =, where )( 0ix corresponds to the system output at timei. 2. A new sequence [ ] )(),....,2(),1( 1111 nxxxX = is generated, where ∑ = =k m mxkx 1 01 )()( . 3. From 1 X , the first-order differential equation ukax dk kdx =+ )( )( 1 1 is formed 4. From which it is possible to obtain a and u with n TT yBBB u a1 )( − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ Where: ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ +−− +− +− = ))()1((21 ..... ))3()2((21 ))2()1((21 11 11 11 nxnx xx xx B , [ ] T nnxxxy )(),....,3(),2( 000 = 5. The predictive function is aueauxkx ak +−= − ))1(()( ˆ11 and the predicted value at time 1+k is )( ˆ )1( ˆ )1( ˆ110 kxkxkx −+=+ which can be written as: aka eeauxkx −− −−=+ )1)()1(()1( ˆ00 The detailed derivations of GM equations are as follows: Starting from step 4 we will find the equation of u and a. [ ] ))()1((21)),......,3()2((21)),2()1((21 111111 nxnxxxxxBT+−−+−+−=
Chapter 3 . 50 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ −++− ++−++ =∑ ∑∑ − = − = − = 1))1()((21 ))1()((21))1()((41 .1 1 11 1 1 11 1 1 211 nixix ixixixix BB n i n i n i T ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ++++ ++− =∑∑ ∑ − = − = − = − 1 1 211 1 1 11 1 1 11 1 ))1()((41))1()((21 ))1()((211 1 ).( n i n i n i T ixixixix ixixn w BB Where ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡⎟ ⎠ ⎞ ⎜ ⎝ ⎛++− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡++ − =∑∑ − = − = 2 1 1 11 1 1 211 ))1()(( 4 1 ))1()(( 4 1n i n i ixixixix n w () ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + +++− = ∑ ∑ − = − = 1 1 0 1 1 110 )1( ))1()()(1(21 .n i n i n T ix ixixix yB
The RSSI Gradient Predictor and Filter 51
Chapter 3 . 52 From the relation between )( 0ix and )( 1ix , four equations are correct: () ∑∑ ∑∑ ∑ − = − = − = − = − = +−=++ −+=+++ −=+ ++=+ 1 1 101 1 1 11 1 1 2121 1 1 110 01 1 1 0 101 )(2)1()())1()(( )))(())1((())1()())(1(( )1()()1( )()1()1( n i n i n i n i n i ixxnxixix ixixixixix xnxix ixixix Then we have the following ⎥ ⎦ ⎤ ⎢ ⎣ ⎡⎟ ⎠ ⎞ ⎜ ⎝ ⎛++−− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡−+− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡⎟ ⎠ ⎞ ⎜ ⎝ ⎛++−− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡⎟ ⎠ ⎞ ⎜ ⎝ ⎛−+ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛++ = ∑∑ ∑∑∑ − = − = − = − = − = 1 1 1101 1 1 2121 1 1 21101 1 1 2121 1 1 11 ))1()(())1()((2)))(())1((()1(2 ))1()(())1()(()))(())1((())1()(( n i n i n i n i n i ixixxnxixixn ixixxnxixixixix a u () ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡⎟ ⎠ ⎞ ⎜ ⎝ ⎛+++ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡++− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡⎟ ⎠ ⎞ ⎜ ⎝ ⎛++−− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡−+− = ∑∑ ∑∑ − = − = − = − = 2 1 1 11 1 1 211 1 1 1101 1 1 2121 ))1()(())1()(()1( ))1()(())1()((2))(())1(()1(2 n i n i n i n i ixixixixn ixixxnxixixn a Finally the predicted value at time k+1 is )( ˆ )1( ˆ )1( ˆ110 kxkxkx −+=+ . Referring to step 5: aueauxkx ak +−= − ))1(()( ˆ11 Then: ( ) ( ) aueauxaueauxkx akka +−−+−=+ −+− ))1(())1(()1( ˆ1)1(10 aka eeauxkx −− −−=+ )1)()1(()1( ˆ00 3.2 Kalman Filter The Kalman filter is a set of mathematical equations that provides an efficient computation (recursive) means to estimate the state of a process, in a way that minimizes the mean of the squared error. The filter is very powerful in several aspects: It supports estimations of past, present and even future states and it can do so even when the precise nature of the modeled system is unknown [66].
The RSSI Gradient Predictor and Filter 53 The Discrete Kalman filtering module tries to estimate RSSI values by representing the RSSI time evolution as a combination of signal noise (measurement noise) and maximum signal evolving (process noise) [63]. The filter is used to estimate the state n Rx ∈of a discrete time controlled process, n kRx ∈ − ˆ is a Priori state estimate at stepk, given knowledge of the process prior to step k and n kRx ∈ ˆ is a Posteriori state estimate at step k given measurement k z. The Discrete Kalman filter algorithm consists of two phases: 1. Time update (predictor): Projecting forward the current state and error covariance estimates to obtain a priori estimate for the next time step. a. To project the state ahead 11 ˆˆ −− −+= kkk BuxAx b. Project the error covariance ahead QAAPP T kk += − − 1 2. Incorporating a new measurement into a priori estimate to obtain an improved a posteriori estimate. a. Compute the Kalman gain: 1 )( −−− += RHHPHPK T k T kk b. Update estimate with measurement k z ) ˆ ( ˆˆ −− −+= kkkkk xHzKxx c. Update the error covariance: − −= kkk PHKP )1( As initial step for the first state, initial estimates for 1 ˆ−k xand 1−k P used as inputs: 1. :)( nnA × A matrix relates the step of 1 − kto current statek 2. :)1( ×nB A matrix relates uto the statex 3. u: Optional control input 4. − k P: A priori estimation error covariance 5. Q: Process noise covariance
Chapter 3 . 54 6. With a real measurement m R z ∈ that is: kkk vHxz + = 7. k v: A random variable represents a measurement noise that has normal probability distribution ),0()( RNvp ≈ 8. R : The measurement noise covariance. While Qand Rconstant Æ k Pand k Kare constant. 9. :)( nmH × A matrix relates the state x to the measurement k z. The following assumptions are considered as in [66]: I A = (if the state does not change from step to step), where I is the identity matrix, 0 = u(there is not control input), 0 = Q (assumed to be very small). 01.0=R, in [66] authors used RQ as standard deviation, and Qis the initial state of k P, and I H = is a noisy measurement of the state directly; accordingly, 11 −− + = kkk wxx kkk vxz + = Consequently, the following equations are generated: 1. Time update: 1 ˆˆ − −=kk xx QPP kk += − −1 2. Measurement update: 1 )( −−− += RPPK kkk ) ˆ ( ˆˆ −− −+= kkkkk xzKxx − −= kkk PKP )1( By solving the previous equations, two equations are obtained to be used in the RSSI filtering: RQP QPR P k k k++ + = − − 1 1)( RQP xzQP xx k kkk kk ++ − + += − −− − 1 11 1) ˆ )(( ˆˆ
The RSSI Gradient Predictor and Filter 55 3.3 The Basics of RSSI Gradient Predictor and Filter The existing filters used actually have many disadvantages such as the disability to filter holes and enhance the signal; moreover, some predictors are not precise and do not work with special cases such as the constant )(MC d Ω . Therefore, it is important to develop a new Predictor and Filter especially for )(MC d Ω predicting and filtering simultaneously. 3.3.1 Basic Definitions Referring to the calculus definition of the gradient vector field, )(MC d Ω gradient can be defined in the same way being used in estimating the next area where MC could be, )( MC dΩis related to MC location. Definition 1: CA Scalar Field is a 2-Dimentional space with a real RSSI value attached to each point in the space. Definition 2: CA Vector Field is a scalar field with a vector associated to each point in the space; the vector field defines the gradient of these scalar values which are RSSI values. The gradient has the direction to the greatest value of RSSI in the field, which is the center where the AP is positioned. It means, if the gradient has the opposite direction, it will be a negative value as in Figure 3.1. The gradient can be a function of other variables like the velocity (it is a function of time). This leads to define the gradient of RSSI with respect to time (time is needed to predict the next connection state of MC). Figure 3.1: CA scalar field
Chapter 3 . 56 Figure 3.2: CA vector field and RM classes Definition 3: Regular Movement (RM) is defined if the absolute value of RSSI gradient is constant along the time of this movement, and MC speed is constant. Global contribution of a RM can be done following the direction of the CA Vector Field (forward to the AP position, shape A) or on the contrary (backward to the AP position, shape B). There are different classes of RM (Figure 3.2): Straight line (A, B), Sine (SIN) or Cosine (COS), Zigzag, Spiral (D, E, F)... in each class MC can cross one or more times the limits of a particular zone [88]. Definition 4: Irregular Movement (IM) is defined when the absolute value of RSSI gradient is not constant. This means that the speed and direction of MC are not constant. Likewise, its movement has not a known regular shape (G).
The RSSI Gradient Predictor and Filter 63 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 Time (s) RSSI % RSSI% Gradient Filter Kalman Filter Figure 3.9: Filters results on synthetic RSSI values of shape C 0 5 10 15 20 25 30 35 0 5 10 15 20 Time (s) RSSI % RSSI% Gradient Filter Grey Model Kalman Filter Figure 3.10: Filters results on synthetic RSSI values of shape D Different case of movement is represented in Figure 3.10, MC moved with zigzag shape around the AP, this movement combined many straight lines movements increasing and decreasing. The presence of holes made the prediction very difficult. The instant variation in )(MC d Ω could not be detected by GM because it is a linear model, it can just predict the final state, whereas the Kalman filter worked good with this class of movement except for holes detection. The Kalman filter behaved differently when it detected the holes found at 10 s and at 16 s, in the first one it gave high variation, while in the second it was good. The Gradient Filter was good and gave the same results, as the Kalman filter in some moments during movement.
Chapter 3 . 64 In shape E (Figure 3.11), MC moved in zigzag motion going far from the AP, in general these values must be the same as the straight line of shape A but with low decreasing speed. GM had the same performance, it did not detect holes, Kalman filter detected holes with high variation in the )(MC d Ω value and the Gradient Filter performance was very good. The spiral motion (Figure 3.12) shows increasing and decreasing values in very small range all the time, filters behavior was the same except for the Gradient Filter at 13 s where it detected holes with results higher than the expected values. 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 Time (s) RSSI % RSSI% Gradient Filter Grey Model Kalman Filter Figure 3.11: Filters results on synthetic RSSI values of shape E 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 Time (s) RSSI % RSSI% Gradient Filter Grey Model Kalman Filter Figure 3.12: Filters results on synthetic RSSI values of shape F The last case of movement is the IM (Figure 3.13) considered as the complex one, the IM in general consists of many parts, and each part should be a regular motion.
The RSSI Gradient Predictor and Filter 65 In some moments it seems as straight line, others as SIN or COS…etc. Also in this case, the GM could not detect the instant variation and the holes, while the Kalman filter gave a good values; however, it showed high variation with holes, and the Gradient Filter was not very good in the last hole at second 26. this special case represents the non periodic pattern with holes. 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 30 35 40 Time (s) RSSI % RSSI% Gradient Filter Grey Model Kalman Filter Figure 3.13: Filters results on synthetic RSSI values of shape G 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 Time (s) RSSI % RSSI% Gradient filter Figure 3.14: Gradient Filter output in the presence of continuous zeros In Table 3.2, a qualitative evaluation for the three filters performance is shown; numbers 1, 2, 3 and 4 are used as an indicator of each filter. (1) is the best filter, (2) is good, (3) is the worst filter and (4) means the filter does not work. In the same table, from precision of prediction we understand how the filter output is close to the synthetic value of )(MC dΩ.
Chapter 3 . 66 Table 3.2 displays the best results for the RSSI Gradient Filter in all situations of holes detection and support, the Gradient Filter detected the zero value (hole) of )( MC dΩ except a light variation as in Figure 3.14 (this zero does not indicate a constant out of coverage state), in addition of best prediction precision in all cases. The Kalman filter gave good prediction accuracy and detected holes in most of these cases (Figure 3.10, Figure 3.12 and Figure 3.13); however, it could not filter them since it shows a high variation, which could indicate an out of coverage state even if the terminal was in a CA (Figure 3.11 and Figure 3.8). The GM did not detect and support holes in addition to its prediction precision, it is the worst (Figure 3.7 and Figure 3.8). It is important to note that GM did not work in case of constant )(MC d Ω gradient all the time, because 0=a; consequently, au could not be calculated in the formula (Figure 3.9). To outline the previously introduced ideas, the Gradient Predictor was developed to predict the next MC state based on the RSSI Gradient in case of regular movement, and then it was improved to the Gradient Filter to solve the problem of holes by filtering them. The predictor and filter were compared to other models producing good results and performance. Table 3.2: Filters evaluation Shape Filter Holes detection and support Precision of Prediction Kalman 3 2 GM 4 3 A Gradient 1 1 Kalman 3 2 GM 4 3 B Gradient 1 1 Kalman 3 1 GM - - C Gradient 1 1 Kalman 2 2 GM 4 3 D Gradient 1 1 Kalman 3 2 GM 4 3 E Gradient 1 1 Kalman 3 2 GM 4 3 F Gradient 1 1 Kalman 3 1 GM 4 3 G Gradient 1 2
The RSSI Gradient Predictor and Filter 67 3.4 The RSSI Gradient Filter Experimental Test The main objective of this experiment was the Gradient Filter performance evaluation on )(MC dΩ measured values from a WiFi AP. Likewise, studying the behavior of CA and signal behavior in different surrounding conditions. 3.4.1 Experiment Settings and Equipments Used The football playground at the University of Las Palmas de Gran Canaria (ULPGC) was chosen to be the open area to do the experiment, where there were no obstacles or buildings effects on the signal. The straight line was the shape of MC movement at constant speed 1 mps. Eight directions are considered on the playground (Figure 3.15), in each direction MC scanned the signal 4 times backward (far from) the AP and 4 times forward to the AP. In total, 192 groups of values were measured in 3 days. The directions shown in Figure 3.15 are as follow: 1. GS-A: Goal Soccer A. 2. GS-B: Goal Soccer B. 3. F: Front. 4. S: Seats. 5. F-GS-A: Diagonal direction between the GS-A and F. 6. F-GS-B: Diagonal direction between the GS-B and F. 7. S-GS-A: Diagonal direction between the GS-A and S. 8. S-GS-B: Diagonal direction between the GS-B and S. 9. FOR: Forward the AP. 10. BAC: Backward (far from) the AP.
Chapter 3 . 68 Figure 3.15: Football playground of ULPGC The measurements were done in different hours each day, the weather conditions were natural with alternating sunny and cloudy days; all these considerations are explained in Tables 5.3, 5.4 and 5.5. The AP used was ANSONIC USB wireless adapter (model number: ANW541USB) which works as an AP or wireless adapter; it can be connected to any laptop in the center of the football playground. The MC was a laptop Sony VAIO PCG-TR5MP with WNIC Intel(R) PRO/Wireless 2200BG Network Connection (model number: WM3B2200BG). The Network Stumbler Version 0.4.0 software was installed on laptop to scan the signal.
The RSSI Gradient Predictor and Filter 69 Table 3.3: Considerations of the first day (16/11/2008) of the experiment CONSIDERATIONS Weather Clear No winds Sunset 18:08 h. AP Placed on 40 cm of height above the ground In the center of the football camp Vertically oriented position to Seats Other 16 AP were discovered in all channels Table 3.4: Considerations of the second day (30/11/2008) of the experiment CONSIDERATIONS Weather Partially Cloudy North wind Completely coludy at 15:00 h. Start raining at 15:19 h. after 16:00 h. Partially Cloudy Sunset 18:05 h. AP Placed on 40 cm of height above the ground In the center of the football camp Vertically oriented position to Seats Other 17 APs were discovered in all channels Table 3.5: Considerations of the third day (07/12/2008) of the experiment CONSIDERATIONS Weather Partially Cloudy Some winds Sunset 18:05 h. AP Placed on 45 cm of height above the ground In the center of the football camp Vertically oriented position to Seats Other 17 APs were discovered in all channels
Chapter 3 . 70 3.4.2 Results and Discussion In Network Stumbler [Web-12], the scanning frequency is controlled only by speed controller range between slow and fast, we could not determine exactly the speed of scanning. In the actual scanning results it scanned the signal 2 times each 1 second, and we are interested in scanning frequency 1scan/s, so we calculated the medium of each two measurements. As there are 192 groups of values, we preferred to calculate the medium of values in the repeated directions of each day, for example, there are 4 times of scanning in the direction SG-A (FOR) in the first day, we calculated the medium of these four values, as a result 2 groups of values are still in each direction for each day, last values in total are reduced to 48 groups (3 days, 8 directions, 2 groups FOR and BAC). In all figures and tables, m1 indicates the medium of the first day, m2 is the medium of second day and m3 is the medium of the third day. Comparison between Measured and Synthetic RSSI% Figure 3.16 shows 3D graph represents the WiFi CA in the football playground, which is clear that the CA is not circular in actual situation, and there are different colored zones classifying the signal strength in CA. Some important differences and similarities between theoretical assumptions and actual situation are extracted from Figure 3.16: Different colors appear in the figure represent different zones of CA depending on the RSSI which is similar to my previous assumption where the CA was classified to different zones. It is clearly shown how the signal drops to low values in many positions of CA to form holes, this is the same as assumed before. The CA is not circular in the actual situation; it can take any shape depending on the surrounding conditions that affect the signal. Theoretically, the CA was considered to be circular in ideal conditions and this may be impossible. One important notice is the continuity of each colored zone, the color in some cases is found in distinct places like the blue color, which is caused also by factors that affect on the signal such as reflection.
The RSSI Gradient Predictor and Filter 71 Figure 3.16: RSSI distribution in the CA Previously, we proposed some synthetic values of )(MC d Ω to evaluate the Gradient Filter compared with other models. After measuring RSSI, a comparison between these synthetic values and the measured ones will be presented. In Figure 3.17, the pink line represents these synthetic values and the blue line represents measured values S-GS-A (BAC). Speed in the experiment was 1 mps, whereas it was just assumed to be constant speed in synthetic values, then speed in synthetic case could be very high such as MC moving by a car. It is clear that )(MC dΩ changes quickly in a very small period of time, so MC arrived to the last zone of coverage along the straight line from AP. The general behavior of the signal is the most important in Figure 3.17, they are the same; moreover, in other cases of measurements the signal may have more holes or variations depending on the surrounding conditions. In previous assumptions, the signal in ideal condition was supposed to be 100% adjacent to the AP. Nevertheless it was different in the actual measurements (80% - 90%). Due to the limited area of the football playground, MC did not arrive to the boundary of CA; consequently, the signal behavior in the boundary zone was not studied.
Chapter 3 . 72 Synthetic vs. Measured RSSI% 0 10 20 30 40 50 60 70 80 90 100 01234567891011121314151617181920 Time (s) RSSI% Measured RSSI% Synthetic RSSI% Figure 3.17: Comparison between synthetic & measured RSSI% Gradient Linearity Filters and models that were used by other researchers, were linear or exponential, whereas the Gradient Filter is linear; accordingly, studying the linearity of )(MC dΩ gradient is important as indicator for any inaccurate values. There were variations in the actual values between the three days and in the same day also, because the measured signal was affected by other signals and weather; consequently, it is not precise that relation between signal and distance is linear or exponential. Thus, a range of these values was chosen as sample. Then we put the trend line1 with R2 (linear: LIN, and exponential: EXP) in each graph to illustrate how much this line is close to the real values. 1 Trendline: A graphic representation of trends in data series, such as a line sloping upward to represent increased sales over a period of months. Trendlines are used for the study of problems of prediction, also called regression analysis) R-squared value: R-squared value: A number from 0 to 1 that reveals how closely the estimated values for the trendline correspond to your actual data. A trendline is most reliable when its R-squared value is at or near 1. Also known as the coefficient of determination)[ http://office.microsoft.com/enus/excel/HP100074611033.aspx]
The RSSI Gradient Predictor and Filter 79 during short disconnections that could not be filtered, this part will be specified and described in the next chapter using the SDL. S (FOR) 0 10 20 30 40 50 60 70 80 90 100 0 1020304050607080 Time (s) RSSI % RSSI% Gradient Predictor Gradient Filter Figure 3.24: Gradient Filter test on RSSI measured values in the direction S (FOR) S-GS-A (FOR) 0 10 20 30 40 50 60 70 80 90 100 0 102030405060708090100 Time (s) RSSI % RSSI % Gradient Predictor Gradient Filter Figure 3.25: Gradient Filter test on RSSI measured values in the direction S-GS-A (FOR)
CHAPTER 4 THE SDL SPECIFICATION FOR THE BUFFER MANAGEMENT TECHNIQUE Our protocol provides solution to mitigate the video streaming loss by offering sufficient amount of buffered video in MCB before disconnection. This was achieved by managing the MCB and BSB controlling the video transmission speed. The Cinderella SDL was used to verify the possibility of controlling these buffers by exchanging messages between MC, AP and BS. Likewise, a simple monitor was designed to show the buffered video changes.
The SDL Specification for the Buffer Management Technique 83 4.1 Network Structure and Mobility Conditions The network which is considered for the the protocol combines infrastructure of two WiFi cells, where the APs are connected to a WiMAX BS and each AP has two WNICs: One for the WiFi cell and the other to communicate with the BS. The BS is connected to a wired backbone (wired Internet) where a VoD server streams multimedia packets to MC which is connected to the WiFi AP. The server and the client use TCP and UDP for signaling and multimedia data communication respectively, other multimedia protocols like RTSP for video communications can be used. The MC is supposed to be outdoor and no important obstacles are present in the surrounding area, ignoring the presence of complex buildings, cars or other elements that provoke strong interferences in wireless channels. Under these assumptions, the wireless channel behavior is not strongly chaotic, because interferences and path loss conditions are moderated. Figure 4.1 represents the above assumptions where the CAs of two WiFi APs are overlapped to form the handover area. It is important for our technique to know how MC is moving in the CA considering the random walk mobility model based [92]. Most of researchers choose a special case of mobility to be studied, because it is a challenge to consider all mobility situations; consequently, we should take into account two important mobility factors: Constant terminal speed: MC is supposed to move at constant speed, the speed which is used to calculate the time or the distance in a limited area with regular motions, this facilitates predicting disconnection time and estimating the video size required for this period. Movement kinds: MC is assumed to move in regular motion in the CA of a WiFi AP (as supposed in chapter 2), some regular motions are considered such as: Straight lines (A & B), SIN or COS (D), ZigZag (E), Spiral (F) or circular (C) as shown in Figure 4.2. These kinds of movements give us an idea about the distribution of RSSI and its relation with MC movement; thus, obtaining a mathematical relation could predict the anticipated values of RSSI.
Chapter 4 . 84 Figure 4.1: The proposed network architecture Figure 4.2: Regular motion shapes
The SDL Specification for the Buffer Management Technique 85 4.2 State Diagram for Mobile Client Movements While a particular MC is moving inside the CA of WiFi AP, or crossing from its CA to another one, it could disconnect due to different situations: MC is in AH, connection could be lost when MC transfers its connection from the associated AP to another one with better signal strength. MC is in AW (the black area) and the WiFi connection is lost. In this case, it can reconnect to the previous or to a new one. MC is passing through a hole, sudden disconnection occurs due to obstacles. In all cases, receiving video frames is interrupted for a moment; furthermore, video frames could be lost in the way before reaching the MC, and this problem is solved in this work by the buffer management and transmission speed control technique. In this chapter we present a specification for the transmission speed control and buffer management part. More details about simulating the complete protocol including the prediction and filtering technique will be presented in chapter 5. 4.2.1 Description of the State Diagram Let us suppose a MC moving at constant speed ν inside the CA of a WiFi AP. Accordingly, an assumed MC’s state )(tS 1 could be defined considering the previous definitions of the CA as: x AtS =)( , where x=1, 2, 3, H or W. The instantiation of Ax is done by the following inequalities: If 160)(100 = →>Ω≥ xdMC , then 1 )( AtS = . If 240)(60 = →>Ω≥ xdMC , then 2 )( AtS = . If 320)(40 = →≥Ω≥ xdMC , then 3 )( AtS = . In case that MC detects two signals )( 1MC d Ω and )( 2MC d Ω from 1 AP and 2 AP respectively then: If ))(20( 1RTdMC <Ω ≤ and HxdMC = →≥ Ω )20)(( 2, then H AtS =)( . 1 Let us note that we are only interested in the movement of one MC. That is, our formulation is valid for the movement of any MC, but only one. That is the reason we not annotate the name of the MC in the formula S(t).
Chapter 4 . 86 If )20)(( 1<Ω MC d and WxdMC = → < Ω )20)(( 2, then W AtS =)(. In the state diagram (Figure 4.3), each state represents a coverage zone considering that the MC could only cross to consecutive zones, or it could continue in the same zone. When MC changes the zone, a transition will be generated being used by all entities (BS, AP and MC) to control all buffers and transmission speed. The number of transitions that are generated in 1 s depends on MC speed, in case of moving with very high speed, more transitions could be generated, but some of them could be detected as unexpected transitions. Thus, to avoid any transition problems, MC speed must be specified. The measurements of the experiment (chapter 3) demonstrated that the )(MC dΩ changed 0.5% with human walking speed of 1 mps. Therefore, the gradient )( MC d∆Ω should not exceed 5% that is the maximum possible change max )( MC dΩto have a transition, accordingly, the speed must be less than or equal to 10 mps (36 kph). Since %35=RT and %40)( 2=Ω r, then the distance which can be crossed between the two limits to have a transition is very short. %5)()( max = − Ω = Ω∇ RTrd iMC mpsdMC 1%5.0)( = → = Ω∇ ν mpsdMC 10%5)( max → = Ω∇ Let )(tTR be a transition generated when MC changes its state from )1( −tS to )(tS , then )(tTR can be defined: ))(),1(()( tStSCrosstTR − = ……………….If )()1( tStS ≠ − ))((_)( tSinStilltTR = ………………….….If )()1( tStS = − Where t≥1because the first transition is generated at t = 1 as the MC has two generated states. Consequently, it is easy to discover the trajectory of MC following its transitions and the duration of each state, and memorizing MC trajectories in a profile could be used to infer future possible movements and disconnections, e.g. an employee probably defines every day the same trajectory from home to work and it could be disconnected in case of passing through a tunnel.
The SDL Specification for the Buffer Management Technique 87 4.2.2 SDL for The State Diagram The state diagram was verified using the Cinderella SDL application [Web-18], the system in SDL consists of a set of different instances: Processes or blocks (the block could contain processes), where the process was chosen to represent an entity, part of entity or a function, all processes communicate by exchanging signals, each signal could carry parameters as inputs, outputs or messages. MC State: The state diagram is represented in a process called state_diagram, it has an input signal RSSI, which takes the values of the RSSI_1 ( )( 1MC d Ω ) and RSSI_2 ( )( 2MC d Ω ) from the MC WNIC, RSSI_1 and RSSI_2 are the RSSI of AP_1 and AP_2 respectively, then it outputs a signal MC_state to carry the MC state to the transition process. The transition process takes the current and the old MC state to generate the signal MC_transition that is an input for the transitions_actions process (Figure 4.4). Figure 4.3: State diagram for MC transitions
Chapter 4 . 88 Signals Generated by the state_diagram Process The state_diagram process produces four signals: MC_state, handover_process, handover and state_information. The main signal is MC_state(state): State (CharString data type) could be A1, A2, A3, AH or AW. AH and AW are special cases that will generate more signals depending on the situation of MC: state = “AH”, as long as MC is still under the connection of the original AP, only the MC_state(state) signal will be generated. Unless RSSI of another AP is measured (higher than the RT), it will generate another signal called handover_process. When it sends the handover(to_handover_AP) signal to the new AP (where to_handover_AP is the Service Set Identifier (SSID) of CharString data type), the handover will start immediately (Figure 4.5). If the handover succeed, MC could be in the CA of the other AP (after the handover). state = “AW”, it will generate the signal message(state_information), state_information (CharString data type) has one of the following values: a. “Very week signal from AP_1”. b. “Very week signal from AP_2”, in this case it will try to connect to AP_2. c. “No connection”. Figure 4.4: Signal exchange to generate MC state and transition Figure 4.5: Signals generated by state_diagram in case of handover
The SDL Specification for the Buffer Management Technique 89 MC Transition The MC moves in regular motion at constant speed, and the WNIC driver measures some parameters of coverage such as RSSI each 1 s, as soon as it calculates )(MC dΩ, the state diagram will discover in which state is the MC. Hence, the transition of MC is generated immediately producing messages to execute some actions, except the Still_in transitions (MC is still in the same zone) in which each entity continues doing the same last actions. AW and AH are sensitive states; MC will suffer weak signal in both of them, then it could handover to better CA of another AP in AH , or it could disconnect totally in AW, but disconnection does not occur always in the two zones because it could return to the better coverage zone of the same CA. Thus, it is necessary to distinguish between disconnection and connection situations in the same zone. Other special case: MC moves from AH to AW (Cross_AH-AW) or the contrary, where it could connect to the original AP or another one. Other cases, such as moving from AH to A3 (Cross_AH-A3) or from AW to A3 (Cross_AW-A3) will be described. Signals Generated by the transition Process MC_transition(trans) is the only signal generated by transition process (Figure 4.4), it includes the trans message (CharString data type), it could be of Cross type as follows: Cross_A1-A2, Cross_A2-A1, Cross_A2-A3, Cross_A3-A2, Cross_A3-AH, Cross_AH-A3, Cross_A3-AW and Cross_AW-A3, or it could be of Still type as follows: Still_in_A1, Still_in_A2, Still_in_A3, Still_in_AH and Still_in_AW. After receiving this signal by the transitions_actions process, it will generate the corresponding signals to execute some actions; moreover, the buffer_management process puts limits associated to each transition in each buffer. 4.3 The Buffer Management Technique Real time video is a complex task to support, because MC or BS can not request its peer to increase or decrease the video frame transmission speed. Future frames, which have not been produced at any time, could not be consumed before, whereas controlling the VoD transmission speed is possible, because the video is already produced and stored in the server and ready to be transmitted when it is requested.
Chapter 4 . 90 The BS (Figure 4.1) communicates with a VoD server via internet, and there is a buffer located in the BS, whereas the MC is communicating with the BS through the AP, and also the MC has a buffer. A VoD server can increase or decrease its speed of video transmission until reaching the maximum bandwidth allowed. In the same way, MC could request the BS to increase or decrease transmission speed in order to store the biggest amount of video frames in its buffer. In this way, it could support a wireless disconnection by taking frames from MCB. The proposed solution takes into account the diagram state of Figure 4.3, where MCB and BSB are managed depending on the MC transition. The BSB and MCB are divided into several parts defining a series of limits associated to transitions, as described in Table 4.1, which could help controlling the video consumed in each state. Our proposed technique is performed in four steps: Discovering the state of MC every ∆t (1 s for example). Generating MC transition immediately after that time using a state diagram. Informing the MC transition to different entities allocated in the AP, BS and MC, the first entity is AP Proxy (APP), it is a simple proxy that forwards signaling information from MC to BS and data from BS to MC. The second one is the BSB Manager (BSBM) and the last is the MCB Manager (MCBM). Where BSBM is responsible for managing the BSB and the MCBM is responsible for managing the MCB. Each entity executes some actions depending on the generated transition. The buffer is working depending on the principle of First In First Out (FIFO). Hence, the first frame stored in the BSB will be transmitted firstly to the MC, which controls the order of buffered frames. The main idea of the proposed solution is buffering an additional amount of video frames, in MCB before disconnection, to be consumed when MC disconnects. At the moment of disconnection, video frames transmitted from VoD server are buffered in the BSB. Later, these frames will be consumed when MC returns to connect to the original AP or to a new one. By this way, no frames will be lost during disconnection period.
The SDL Specification for the Buffer Management Technique 97 When the new AP receives the association request from the MC, it will send an acknowledgment signal association_ack(ack), which carries ack (Boolean data type). If ack is true then AP will accept the request, in case of false, it could not connect (e.g. because its clients number is full) and MC must cancel the handover or repeat its request. If the new AP accepts the request by sending true ack, it will send an association_response(frame_response) signal with a response frame including its SSID and data rate information. When MC receives AP information in its association response, it will send re_association signal to the AP to start receiving video frames from BS. After the re-association request, the AP sends an information message in inform_BS signal to the BS (with its SSID and MC MAC) to ask the BS to continue video frames transmission for MC. In this moment, the BS consumes the video, which was buffered during the disconnection of the handover, and continues the normal transmission. Figure 4.11 shows the supposed impact of the transitions actions on the previous variables x V, y V, )( τ BS B and )( τ MC Bwith the )( 1MC d Ω of a MC connected to AP1 and then did handover to AP2, )( 1MC dΩ and )( 2MC d Ω are the measured RSSI% of the two APs respectively. The first transition is Cross_A1-A2 which produces an increment in x V and increment in )( τ BS B also, because the two signals request_to_BS('VoD', 'ISVF', true) and request_to_BS('BSBM', 'StBAF', true) are generated, while in the second Figure 4.10: Signaling sequence for handover
Chapter 4 . 98 transition Cross_A2-A3 a rise in the value of y V and )( τ MC Bis illustrated, because the two signals request_to_BS('BSBM', 'ISVF', false) and request_to_MC('MCBM', 'StBAF', false) are generated, and this rise goes on with the transition Cross_A3-AH. Moreover, the )( τ BS B is increased while the )( τ MC Bis decreased during the handover because the MC consumes its buffered video without buffering additional video, by contrast, the opposite occurs with the BS. Figure 4.11: Impact of transitions actions on transmission speed and buffered video
The SDL Specification for the Buffer Management Technique 99 4.4 Verification Results The results are shown by monitoring MCB and BSB to aware about their video frames content, in order to study the effect of different movement shapes and speeds with the change of RSSI; accordingly, a simple monitoring SDL diagram was designed to display MCB and BSB buffered video, then it is tested on many cases of movements (Figure 4.12). The most important in movements is the transition of MC among different coverage zones. After the analysis and simulation, a Message Sequence Chart (MSC) is extracted (Figure 4.13) then all the yields results are used to illustrate the charts which show the buffered video only. In the Buffer_Monitor diagram (Figure 4.14), the message_sequence process receives two information signals from the buffer_management process each 1 s with the following considerations: MCB_size = BSB_size =10240 KB, MC is supposed to be a mobile device or a laptop. The initial MCB_buffered_video = the initial BSB_buffered_video = 5120 KB, because the previous state of buffer is unknown. Figure 4.12: MC movements cases
Chapter 4 . 100 The VoD_original_video_size = 382771 KB, the video, which is chosen as example, has 382771 MB in one hour of type AVI with video codec DivX and has bit rate 128 KBps, the video is high quality with full screen mode. Vx initial value: Vx0 = 80 KBps (in reality, it is the downlink speed in BS when video is transmitted from VoD). Vy initial value: Vy0 = 20 KBps (in reality, it is the downlink speed in MC when video is transmitted from BS). VP = 128 KBps. The MC movement cases of Figure 4.12 with their results are described below: Case 1 (MC moving in straight line): MC was moving in regular motion at constant speed 10 mps (Figure 4.12), initially from an excellent coverage with Ω1(dMC) = 80% in zone A1, then moved towards AP2 passing through A2, A3 and AH with a success handover process to A3 of AP2. In this case, it is shown how buffered video was affected by the handover process (Figure 4.15), the curve Figure 4.13: Part of the buffer monitoring MSC Figure 4.14: Buffer monitoring
The SDL Specification for the Buffer Management Technique 101 during the period of the handover process (11-12 s) is distinct from the rest of movement. During the disconnection of the handover process, the MC buffered video was consumed and BS buffered video frames. After the handover, the MC would receive the video, which was buffered in BSB during disconnection, through AP2. The handover here is supposed to happen in 1 s, in reality it has its time, but the same shape of buffering will occur, MC is interested not to loose any video frames during disconnection and this was achieved by buffering these frames. Case 2 (MC moving in zigzag): MC was moving in zigzag motion between A3 and AH without handover, at constant speed (6 mps), starting from A3 with Ω1(dMC) = 39% (Figure 4.12). In Figure 4.16, the pink line shows the change in the MC buffered video, it appears like a stairs because MC was buffering additional video frames for the handover, as it returned to A3, it did not use buffered video. What will happen if MC goes on this movement for a long time? The buffer would be full and no space would remain. The solution is to discard the oldest buffered video frame and store the newest one, this keeps the buffer always refreshed with new video frames. BS vs. MC Buffered video 4500 5000 5500 6000 6500 0123456789101112131415 Time (s) Buffered video (KByte) BS buffered video MC buffered video Figure 4.15: MC vs. BS buffered video of case 1 Handover
Chapter 4 . 102 Case 3 (MC moving quickly in zigzag): The same MC (case 2) was moving in zigzag motion between A3 and AH without handover at constant speed (10 mps), starting from A3 with Ω1(dMC) = 39%. In this case, as the speed increased, the change in the coverage zone occurred rapidly. For example, the MC generated the Cross transition between A3 and AH nine times as it was faster, whereas in the previous case were just five times. Figure 4.17 shows the same behavior in MCB values. Each time, the MC crossed from A3 to AH, it buffered more frames in case it did handover, as it returned, buffered frames were not consumed. In both cases, the value of BSB was constant, because BS was just requested to increase its transmission speed to provide the MC with more frames. BS vs. MC buffered video 5100 5120 5140 5160 5180 5200 5220 5240 5260 5280 5300 5320 01234567891011121314151617 Time (s) Buffered video (KByte) BS buffered video MC buffered video Figure 4.16: MC vs. BS buffered video of case 2
The SDL Specification for the Buffer Management Technique 103 Case 4 (MC is out of coverage): In this special case, a very short movement with many changes in coverage zones is shown, MC was moving in regular motion at constant speed 4 mps with Ω1(dMC) = 20% and Ω2(dMC) = 20% in zone AH, next it moved to AW without handover process, the connection of AP1 was lost and it found new connection with AP2, followed by A3 and AH of AP2 (Figure 4.12). MC would consume video frames from its buffer during its movement in AW while BS was buffering the video during disconnection. When MC returned to A3 of AP2, it received video frames, which were buffered in BSB during the disconnection, through AP2. In Figure 4.18, it is obvious that MC buffered video was decreasing and BS buffered video was increasing in AW case. By contrast, the opposite happened in A3 and AH where MC did not handover, because in these states MC was preparing its buffer for any new handover or disconnection. BS vs. MC buffered video 5100 5150 5200 5250 5300 5350 5400 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Time (s) Buffered video (KByte) BS buffered video MC buffered video Figure 4.17: MC vs. BS buffered video of case 3
Chapter 4 . 104 Case 5 (MC moving in different zigzag motions for a long time): MC was moving in different zigzag motions (Figure 4.12), initially in A1, A2 and it moved to A3 following zigzag motion between A2 and A3, after that it returned to zigzag motion between A1 and A2, it was moving at constant speed (10 mps), starting with Ω1(dMC) = 70% with total moving time 60 s. Previously, where the zigzag happened between A3 and AH, there was not any change in the BSB. Nevertheless, the zigzag in this case is occurred in A1 and A2, so the BS buffered video frames; however, MC buffered video frames when crossing from A2 to A3 to prepare the buffer for handover, as shown in Figure 4.19 for buffered video. In case of continuation in zigzag motion, the buffer could be filled, one solution (as proposed for case 2) is discarding old frames; or emptying the buffer as MC enters state A1, where any buffered frames are not necessary. BS vs. MC buffered video 4600 4700 4800 4900 5000 5100 5200 5300 5400 5500 5600 0123456789 Time (s) Buffered Video (KByte ) BS buffered video MC buffered video Figure 4.18: MC vs. BS buffered video of case 4
The SDL Specification for the Buffer Management Technique 105 Case 6 (MC moving in different directions): MC was moving at constant speed (6 mps) in the CA1 (Figure 4.12), starting from Ω1 (dMC) = 90%, moving towards A2, A3 then AW, after that it returned to A3 proceeded to AW, next it came back another time to A3 to move with circular motion and constant Ω (dMC) around the AP. Finally it returned to A2 then to A1, to complete 75 s of movement. The curve of buffered video did not indicate what was the partial moving shape in the same coverage zone where no Cross transitions were generated. As MC is moving with circular motion in A3, the same transition, which is Stil_in_A3, was generated always; the important is the zone where MC is located. In Figure 4.20, MC consumed video frames from its buffer during the disconnection of AW while BS was buffering video. When MC returned to A3, it received video frames from the BSB, at the same time it buffered video frames for any possible disconnection (that occurred in zigzag motion between A3 and AW). At the end, MC returned to A2 and A1. Thus, no changes happened in the two buffers as the probability of disconnection was very low. BS vs. MC buffered video 4500 5000 5500 6000 6500 7000 7500 8000 0 5 10 15 20 25 30 35 40 45 50 55 60 Time (s) Buffered video (KByte) BS buffered video MC buffered video Figure 4.19: MC vs. BS buffered video of case 5
Chapter 4 . 106 In this work, we did not study all the physical properties related to wireless communication and handover, such as delay and jitter, the most interesting is video frames. The results proved that managing the buffered video and controlling the transmission speed are possible, this could be achieved by exchanging messages between MC and BS which was demonstrated by the SDL. In the next chapter this technique will be combined with the Gradient Predictor and Filter to form a comprehensive protocol being simulated by our developed Java simulator. BS vs. MC buffered video 2000 3000 4000 5000 6000 7000 8000 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 Time (s) Buffered video (KByte) BS buffered video MC buffered video Figure 4.20: MC vs. BS buffered video of case 6
Chapter 5 . 114 Vy = Ky = Vymax / 100 * RSSI[0], it is calculated by this formula because the transmission speed decreases as the )( MC d Ω increases. Two processes are located in BS, the first one for managing the BSB and the second process to control Vy: Process (BS-1): BSBM calculates the size of BSB considering BSB limits and correct speed values to keep the BSB in the required range. The BSB´s size is calculated by cur_BSB_size + = Vx – Vy. Process (BS-2): BS SPEED CONTROL shows how Vy is increased or decreased by the request of MC, always Vy is controlled by BSB limits in order to keep the BSB always on the upper limit. Process (BS-1): BSBM If ( cur_BSB_size < BSB_LIMITi ) // Increase speed of video frames transmission from VoD { VoD ( ISVF ) // Stop video transmission from BS Vy = 0 } // Set the same speed for video frames transmission If ( cur_BSB_size > BSB_LIMITs & Vy > 0 ) Vx = Vy // Stop video frames transmission If ( cur_BSB_size > BSB_LIMITs & Vy = 0 ) VoD ( STOP ) // Calculate buffered video in BSB cur_BSB_size = cur_BSB_size + Vx – Vy
Simulation of the Protocol 115 AP We supposed the AP with transmission speed Vz = Vy, and the delay of buffering and retransmission N2 = 0, which means it has buffer size equal 0, Vz has the same values as Vy and starts with initial value Vz0: Vzmax = Vymax = 256 KBps is the same maximum transmission speed of the BS. Vzmin = Vymin = 64 KBps is the same minimum transmission speed of the BS. Vz0 = V y = Ky = Vymax / 100 * RSSI[0], this formula is used because the transmission speed decreases as the )( MC d Ω increases. Process (BS-2): BS SPEED CONTROL Switch (command) { Case: ISVF { //Increase speed of video frames transmission If ( Vy > TH ) Vy = TH Else { If(BSB_LIMITs > cur_BSB_size > BSB_LIMITi) Vy = TH Else if (cur_BSB_size < BSB_LIMITi){VoD ( ISVF ) Vy = Vy + TH / 5} Else {Vy = TH VoD ( STOP ) } } } Case: DSVF { //Decrease speed of video frames transmission If ( Vy > = min_Vy + max_Vy / 10 ) { If ( BSB_LIMITs > cur_BSB_size > BSB_LIMITi ) Vy = Vy - max_Vy / 10 Else if ( cur_BSB_size < BSB_LIMITi ) VoD( ISVF ) Else { VoD ( STOP ) Vy = Vy - max_Vy / 10 } } Else Vy = min_Vy } Otherwise: Vy = 0 //Stop transmission }
Chapter 5 . 116 Vx0 = Vz0 * 2; initially the transmission speed in the wired network (from VoD to BS) is two folds the transmission speed in the wireless network, it was chosen after a lot of tests, and this value achieved best results. MC The MCB’s size is controlled by limits: The maximum (MCB_max), minimum (MCB_min), upper limit (MCB_LIMITs) and lower limit (MCB_LIMITi). Always the MCB_LIMITs must be less than MCB_max, and the MCB_LIMITi must be greater than MCB_min, The upper limit is important for preventing from loss the video frames that are still in the way after the disconnection. In case that these frames arrive to the buffer whereas it is full, they will not find empty space and will be discarded. Let cur_MCB_size be the current MCB´s size which is calculated each 1 s and set initially to 0. The buffer has delay of buffering equal N3 which is the time required to fill the buffer to be greater than the MCB_LIMITi to start playing video. All the variables values were chosen after many retries and tests until we reached the suitable values that achieved the best results. The following values were considered for MCB: MCB_max = 10 MB is the possible memory size available in mobile devices. MCB_min = 0 MB is zero because there is a lower limit that keeps the buffer from being empty. cur_MCB_size = 0 is the initial value of the buffer. MCB_LIMITi = 10% MCB_max, the lower limit was chosen to be higher than the minimum value with an amount suitable to keep the buffer in a good state, and this amount of buffered video is also sufficient for the buffer to start playing video without problems. MCB_LIMITs = 90% MCB_max, the same thing with the upper limit, the two limits have the same percentage of buffered video from the maximum and the minimum values. These values were tested and verified. Let VP be the playing video bit rate in MC; it is increased or decreased according to MCB state. VP has three values KP, ½KP, and Zero. VP takes the value of KP when MCB is in its upper limit, and KP = 128 KBps which is the playing bit rate for a good quality
Simulation of the Protocol 117 video, but in cases of disconnections it could drop to ½KP. One process is located in MC to control MCB and VP: Process (MC-1): MCBM calculates the size of MCB taking into account MCB limits and BS requests to change Vy, to keep the MCB in the required range. The MCB´s size is calculated by cur_MCB_size + = Vz – VP. Transitions Actions for Controlling Transmission Speed Some MC transitions produce commands to control transmission speed of VoD and BS, which lead to changes in the BSB and MCB. Process (MC-1): MCBM If( cur_MCB_size >= MCB_max ){ Vp = Kp If( Vz > min_Vz && state ≠ AW ) Vz = min_Vz } Else If((MCB_max > cur_MCB_size >= MCB_LIMITs) && state ≠ AW) Vp = Vz = Kp Else If (cur_MCB_size < MCB_LIMITi){ Vp = 0 If(Vz < TH && state ≠ AW) //increase transmission speed BS (ISVF) } Else If (MCB_LIMITs > cur_MCB_size >= MCB_LIMITi){ Switch (state){ Case AW : Vp = Kp / 2 Otherwise: { If(Vz < TH ) BS (ISVF) Vp = Kp } } } Else If (cur_MCB_size <= 0 && Vz <= 0){ cur_MCB_size = 0 Vp = 0 Vz = 0 } Else Vp = Kp //calculate buffered video cur_MCB_size = cur_MCB_size + Vz – Vp
Chapter 5 . 118 Table 5.1: Transitions with Speed control commands Transition Speed control Cross_A1-A2 VoD ( ISVF ) // increase VoD transmission speed Cross_A2-A1 VoD ( DSVF ) // decrease VoD transmission speed Cross_A2-A3 // if MCB did not reach its upper limit, then ask the BS to increase its transmission speed If ( cur_MCB_size < MCB_LIMITs && Vz < TH ) BS ( ISVF ) Cross_A3-A2 // if MCB is over its upper limit then ask the BS to decrease its transmission speed If ( cur_MCB_size > MCB_LIMITs ) BS ( DSVF ) Cross_A3-AH // during the handover process the transmission speed of the BS and AP is zero because of disconnection If ( handover process start ) Vz = Vy =0 // if the handover process did not start and the MCB is less than its upper limit, then ask the BS to increase its transmission speed Else If ( cur_MCB_size < MCB_LIMITs && Vz < TH ) BS ( ISVF ) Cross_AH-A3 - Cross_A3-AW // transmission speed is zero because of disconnection state Vz = Vy = 0 Cross_AW-A3 // if MCB is less than its upper limit, then ask the BS to increase its transmission speed If ( cur_MCB_size < MCB_LIMITs && Vz < TH ) BS ( ISVF ) Cross_AH-AW // transmission speed is zero because of disconnection state Vz = Vy = 0 Cross_AW-AH // during the handover process the transmission speed of the BS and AP is zero because of disconnection If ( handover_process start ) Vz = Vy = 0 // if the handover process did not start and the MCB is less than its upper limit, then ask the BS to increase its transmission speed Else If ( cur_MCB_size < MCB_LIMITs && Vz < TH ) BS ( ISVF ) Cross_A1-AW Vz = Vy = 0 // transmission speed is zero because of hole Cross_AW-A1 - Cross_A2-AW Vz = Vy = 0 // transmission speed is zero because of hole Cross_AW-A2 -
Simulation of the Protocol 119 All transitions with their commands are explained in Table 5.1. There are four important commands to control the speed: • VoD (ISVF): The BS asks the VoD server to increase the speed of video frames transmission. This command leads to increase in the BS buffered video. It is requested just in case of Cross_A1-A2. • VoD (DSVF): The BS asks the VoD server to decrease the speed of video frames transmission. It is requested just in case of Cross_A2-A1. • BS (ISVF): The MC asks the BS to increase the speed of video frames transmission. This command leads to increase the MC’s buffered video. To execute this command, the MCB must be under its upper limit. It is requested in cases of Cross_A2-A3 and Cross_AW-A3, and in cases of Cross_A3-AH and Cross_AW-AH if the handover process has not been started yet. • BS (DSFV): The MC asks the BS to decrease the speed of video frames transmission. To execute this command, the MCB must be higher than its upper limit. It is requested in case of Cross_A3-A2. In the next cases of disconnection, the normal result is stopping the BS transmission, then Vz = Vy = 0 that leads to decreasing in the MC’s buffered video: • Disconnections happen during the handover (Cross_A3-AH and Cross_AW-AH). • The out of coverage state AW (Cross_A3-AW and Cross_AH-AW). • The holes (Cross_A1-AW and Cross_A2-AW). 5.4 Simulation Process The simulator was implemented using Java programming language [Web-19] and for drawing graphs of charts we have used the external library chartDirector [Web-20]. The simulator consists of eight classes; some of them were generated from the SDL as shown before: 1. Class MySimulator: Is the main class which includes the main function, where all objects creation and initialization, and simulation process are found. 2. Class MobileClient: Contains all functions of MC such as setBufferInitialValues, getState, getTransition, getAction, MCBM, and handover. 3. Class AccessPoint: The AP is only responsible of forwarding messages and
Chapter 5 . 120 data between MC and BS, it contains functions such as: connect_To_BS, request_To_BS_From_MC. 4. Class BaseStation: Includes all functions related to BS operations. 5. Class Video_On_Demand: Includes all functions related to VoD operations. 6. Class SimulationResults: Organizes the results. 7. Class SplineLine: Is responsible of displaying the charts with all results. The simulation process consists of many steps: 1. Create objects of all entities and set their initial values. 2. Get )( MC dΩ values of the associated AP from the data files (RSSI_1.txt for the first AP and RSSI_2.txt for the second AP) using the read_RSSI function, and set the simulation time to be equal to the total time of scanned RSSI. 3. Apply the Gradient filter on these values to remove holes (using Process SIM-1: Gradient Filter), in the same process the filter will call the Gradient Predictor to predict next MC state (Process SIM-2: Gradient Predictor). 4. Initialize connections between entities (BS with VoD, AP with BS, MC with AP). 5. Create arrays to store )( MC dΩ, transmission speed and buffer’s values during the simulation time. 6. Run the next steps while the total time of simulation does not finish: Store the current measured )( MC d Ω of the associated AP. Get MC state: getState function. Get MC transition: getTransition function. Get actions associated to MC transition: getAction function. Call BSBM: BSBM function. Store current BSB´s size. Call MCBM: MCBM function. Store current MCB´s size.
Simulation of the Protocol 121 Store current Vx, Vy (Vz), VP. Note that if BS has received the complete video, then Vx = 0; If MC has received the complete video, then Vy = Vz = 0 and simulation will be terminated. 7. Show charts of results taking stored data. 5.5 Simulation Results Several models of MC movement were simulated, some of them with long time holes, with constant )( MC dΩ, with handover and others with long disconnection period. In the simulation results graphs, there are two charts; the first one illustrates BSB and MCB, and transmission speed (Vx, Vy, VP) along the time of simulation. The second chart shows )( MC dΩ filtered values, with colored background to differentiate Process (SIM-2): Gradient Predictor // The predictor starts working when there are 20 sample values minimum, So t must be greater than 20 Variables i=0, j=0, predicted, gradient_sum=0, x =0, y=0 Array RSSI_No_Holes[20] For ( i = t-20, i < t-1, i++){ If (RSSI[i] ≠ 0){ RSSI_No_Holes [j] = RSSI[i] j++ } } For( i = 1, i < j, i++) x = x + (RSSI_No_Holes[i] - RSSI_No_Holes[i-1]) gradient_sum = x / 20 predicted = ( gradient_sum *(21))+ RSSI_No_Holes[0] Process (SIM-1): Gradient Filter Variables: x,y,z,w,m,Filtered_value x = Gradient Predictor (t,RSSI) m = ( RSSI[t-1] + x ) / 2 y = square root (0.5 * ( RSSI[t-1] - m)2 + (x - m)2) z = signum ( RSSI[t-1] – x ) w = signum ((RSSI[t] * RSSI[t-1])2) Filtered_value = (y * z * w) + x
Chapter 5 . 122 coverage zones: The light green color (A1), the light orange color (A2), the light blue color (A3) and the light pink color (AW), whereas AH is not shown as colored zone because it is an overlapped zone over A3. The horizontal dashed red line shows the handover threshold while the vertical dashed red lines show when MC is in AH. In the second chart, the dot black line explains the current connected AP filtered )( MC dΩ values, while the red balls show all Cross transitions happened with the time noted on a label beside each ball. Case 1: MC movement includes different transitions in sensitive zones (Figure 5.3), starting in CA of AP1, Crossing from A1 to A2 at t = 79 s, from A2 to A3 at t = 129 s, and go out of coverage in AW at t = 210 s, connecting another time to AP1 at t = 280 s, crossing to AH at t = 348 s and to handover to AP2 at t =363 s. After handover MC continuo connected to AP2, crossing from A3 to A2 at t = 369 s, from A2 to A1 at t = 389 s, going back to A2 at t = 439 s, then to A3 at t = 459 s, to go out of coverage in AW at t = 480 s, elsewhere a special transition from AW to AH happened at t = 510 s to connect another time to AP1 at t = 522 s, disconnecting in AW at t = 557 s to connect then to AP2 at 607 s, crossing to A2 at t = 628 s and finally to A3 at t = 667 s. Figure 5.3 shows that the BSB starts buffering until arrives the BSB_LIMITs and BSB level is maintained always on this level by controlling the transmission speed, at this level VoD transmission speed Vx is decreased to be equal to BS transmission speed Vy and the buffer is kept on this level. In the other side, it is impossible to keep the MCB in one level, because video will be consumed in the time of disconnection while there is not buffering which leads to gradual decline (t =210 s to 280 s) until MC connects another time producing gradual rise (t = 280 s to 348 s) with slower speed than decline because buffering happen in the same time with consuming. Video playing speed (black line of first chart) is always in its max value except in some times of disconnection periods drop to the medium such as the period between t = 210 s and 280 s, t = 480 s and 510 s, t = 557 s and 607 s. Figure 5.4 is the same as case 1 except seven sites where there are continuous zeros (long holes). The first hole appears between t = 22 s and 44 s, the second between 44 s and 60 s, the third between 88 s and 110 s which is the longest one (15 s), the fourth between 132 s and 154 s, the fifth between 286 s and 308, the sixth between 330 s and 348 s, and the last one between 374 s and 396 s. All
Simulation of the Protocol 123 these long holes were filtered successfully by the Gradient filter and did not affect buffers or the playing video.
Chapter 5 . 130
Simulation of the Protocol 131 Case 4: It is a special case of movement (Figure 5.9) where MC has constant )( MC dΩ all the time, this case demonstrates how the technique works to keep the level of BSB and MCB in the BSB_LIMITs and MCB_LIMITs respectively, and the playing video speed VP remains all the time in its maximum value. Case 5: It is shown in Figure 5.10, MC started from A3, crossing to A2 at t = 16 s then A1 at t = 37 s, going back to A2 at t = 74 s, A3 at t = 120 s to stay there with constant )( MC dΩ for a long time, then crossing to AW at t = 263 s and going back to A3 at t = 279 s, A2 at t = 320 s, and finally to A1 at t = 360 s to stay there with constant )( MC dΩ for a long time, there was not any handover process because there was not any other AP detected. In this case there were some long holes as the one appeared between t = 44 s and 66 s, another one between t = 374 s and 396 s. Case 6: MC started at A3 of AP1 as shown in Figure 5.11, then crosses to AW at t = 26 s where it found another connection with AP2 at t = 77 s to stay in A3 for along time, next it moved to A2 at t = 193 s and A1 at t = 212 s to continuo in constant )( MC dΩ all the time. When MC entered in disconnection state, MCB was not full because MC just started its connection before a very short time, therefore the playing video VP = 0 during this disconnection as long as the MCB in its MCB_LIMITi. Also VoD transmission speed and BS transmission speed Vx = Vy = 0, because BSB in its BSB_LIMITs. At t = 77 s MC connected to AP2 and MCB started buffering to exceed MCB_LIMITi then VP = Kp. In this movement, some long holes were found, one at t = 140 s and another long hole between t = 320 s and 340 s.
Chapter 5 . 132
Simulation of the Protocol 133
Chapter 5 . 134
Simulation of the Protocol 135 Case 7: In Figure 5.12 is shown a test for a long disconnection period, MC started moving in the first part as the previous case, whereas in the second part from t = 212 s, )( MC dΩ decreased till disconnection state which lasted a long time until MCB arrived to the MCB_LIMITi between t = 384 s and 400 s causing the VP = 0, that means the MCB needed about 135 s ≈ 2.5 m to arrive its MCB_LIMITi. An important relation between this duration of time needed to disconnect and the difference between the MCB_LIMITs and MCB_LIMITi, as the difference increased the duration of time increased also. Case 8: It is shown in Figure 5.13, in this case also a long disconnection period is illustrated after a long constant )( MC d Ω in A1, MC started disconnection at t = 354 s and MCB arrived to its MCB_LIMITi at t = 490 s, so it took the same duration as the previous case. As a conclusion, the proposed and simulated protocol provided solutions for three problems: Transmission speed control is sufficient to manage the buffering process which avoids streaming packets loss during short disconnections. As demonstrated above, the buffer was kept near its upper limit, and just during the disconnections it was under this level, while the playing video had adequate quality always (Figures 5.3, 5.4, 5.5, 5.6, and 5.10). it could support disconnection periods up to 135 s. The Gradient predictor could predict the next state of MC allowing the speed control commands to be executed before disconnections. As shown in all the previous figures, the values of the filtered and predicted )( MC d Ω were very close to the real values, which indicate that the predictor performance is very good and precise, in accordance with the synthetic test comparing to other predictors. The Gradient filter provided a very powerful solution for holes problem. It is an effective filter, which was proved in all the discussed cases of holes: Short holes (1 s) and long holes (18 s).
Chapter 5 . 136
Simulation of the Protocol 137
CHAPTER 6 CONCLUSIONS AND FUTURE WORK After three years working in my PhD Thesis we summed up our principal future work.
Conclusions and Future Work 141 6.1 Conclusions Nowadays, multimedia services are experiencing rapid development due to the growing popularity of RTMAs. Most of these applications use the streaming technology to offer services via Internet such as VoIP and VoD. Thus, WiFi and WiMAX wireless networks support RTMAs and provide the user with variety of multimedia services. The MC can request video streaming services while it is inside CA of WiFi AP. During its movement it could experiment disconnections due to signal fluctuations, which are caused by coverage holes, handover, or when the MC is out of CA. Consequently, there were many works addressed this problem, some of them were interested only in the disruption caused by handover, others focused in the prediction. The holes are positions inside CA where the signal drops suddenly and sporadically. This makes the holes provoke sporadic and impossible to predict disconnections of the MC. If the MC spends a considerable amount of time inside hole then it will suffer a long and unexpected disconnection. In case it spends a short interval of time some video frames could be lost. Up to our knowledge, minor amount of works focused in the coverage holes due to the associated disconnections are very difficult to control. In these situations the MC will suffer video services disruptions during the mentioned disconnections, causing a big degradation of QoS and QoE. Many papers have presented buffer management techniques to reduce the degradation of QoS controlling the size of the buffer to be consumed by the MC before it will be disconnected. But there is a lack of an effective protocol to mitigate the disruption caused by the mentioned disconnections caused by holes. Therefore, we developed an effective protocol based on a new mathematical specification for the CA, and MC movement’s identification considering the holes. The protocol consists of two techniques: • The RSSI Gradient Predictor and Filter were developed as a filtering technique to mitigate the adverse effects of coverage holes. The filter was derived from the average gradient of RSSI sample set when the MC moves in regular motions at constant speed. It used the average gradient to calculate the RSSI in future instant time. • The buffer management and transmission speed control technique to mitigate the video streaming packets loss. A state diagram for MC movements was used to