Serveur d'exploration sur la télématique

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

A Multi-User Game-Theoretical Multipath Routing Protocol to Send Video-Warning Messages over Mobile Ad Hoc Networks

Identifieur interne : 000047 ( Pmc/Corpus ); précédent : 000046; suivant : 000048

A Multi-User Game-Theoretical Multipath Routing Protocol to Send Video-Warning Messages over Mobile Ad Hoc Networks

Auteurs : Ahmad Mohamad Mezher ; M Nica Aguilar Igartua ; Luis J. De La Cruz Llopis ; Esteve Pallarès Segarra ; Carolina Tripp-Barba ; Luis Urquiza-Aguiar ; Jordi Forné ; Emilio Sanvicente Gargallo

Source :

RBID : PMC:4431273

Abstract

The prevention of accidents is one of the most important goals of ad hoc networks in smart cities. When an accident happens, dynamic sensors (e.g., citizens with smart phones or tablets, smart vehicles and buses, etc.) could shoot a video clip of the accident and send it through the ad hoc network. With a video message, the level of seriousness of the accident could be much better evaluated by the authorities (e.g., health care units, police and ambulance drivers) rather than with just a simple text message. Besides, other citizens would be rapidly aware of the incident. In this way, smart dynamic sensors could participate in reporting a situation in the city using the ad hoc network so it would be possible to have a quick reaction warning citizens and emergency units. The deployment of an efficient routing protocol to manage video-warning messages in mobile Ad hoc Networks (MANETs) has important benefits by allowing a fast warning of the incident, which potentially can save lives. To contribute with this goal, we propose a multipath routing protocol to provide video-warning messages in MANETs using a novel game-theoretical approach. As a base for our work, we start from our previous work, where a 2-players game-theoretical routing protocol was proposed to provide video-streaming services over MANETs. In this article, we further generalize the analysis made for a general number of N players in the MANET. Simulations have been carried out to show the benefits of our proposal, taking into account the mobility of the nodes and the presence of interfering traffic.Finally, we also have tested our approach in a vehicular ad hoc network as an incipient start point to develop a novel proposal specifically designed for VANETs.


Url:
DOI: 10.3390/s150409039
PubMed: 25897496
PubMed Central: 4431273

Links to Exploration step

PMC:4431273

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">A Multi-User Game-Theoretical Multipath Routing Protocol to Send Video-Warning Messages over Mobile
<italic>Ad Hoc</italic>
Networks</title>
<author>
<name sortKey="Mezher, Ahmad Mohamad" sort="Mezher, Ahmad Mohamad" uniqKey="Mezher A" first="Ahmad Mohamad" last="Mezher">Ahmad Mohamad Mezher</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Igartua, M Nica Aguilar" sort="Igartua, M Nica Aguilar" uniqKey="Igartua M" first="M Nica Aguilar" last="Igartua">M Nica Aguilar Igartua</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="De La Cruz Llopis, Luis J" sort="De La Cruz Llopis, Luis J" uniqKey="De La Cruz Llopis L" first="Luis J." last="De La Cruz Llopis">Luis J. De La Cruz Llopis</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Segarra, Esteve Pallares" sort="Segarra, Esteve Pallares" uniqKey="Segarra E" first="Esteve Pallarès" last="Segarra">Esteve Pallarès Segarra</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Tripp Barba, Carolina" sort="Tripp Barba, Carolina" uniqKey="Tripp Barba C" first="Carolina" last="Tripp-Barba">Carolina Tripp-Barba</name>
<affiliation>
<nlm:aff id="af2-sensors-15-09039">Faculty of Computer Science, Autonomous University of Sinaloa, Mazatlan 82107, Mexico; E-Mail:
<email>ctripp@uas.edu.mx</email>
</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Urquiza Aguiar, Luis" sort="Urquiza Aguiar, Luis" uniqKey="Urquiza Aguiar L" first="Luis" last="Urquiza-Aguiar">Luis Urquiza-Aguiar</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Forne, Jordi" sort="Forne, Jordi" uniqKey="Forne J" first="Jordi" last="Forné">Jordi Forné</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Gargallo, Emilio Sanvicente" sort="Gargallo, Emilio Sanvicente" uniqKey="Gargallo E" first="Emilio Sanvicente" last="Gargallo">Emilio Sanvicente Gargallo</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">25897496</idno>
<idno type="pmc">4431273</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4431273</idno>
<idno type="RBID">PMC:4431273</idno>
<idno type="doi">10.3390/s150409039</idno>
<date when="2015">2015</date>
<idno type="wicri:Area/Pmc/Corpus">000047</idno>
<idno type="wicri:explorRef" wicri:stream="Pmc" wicri:step="Corpus" wicri:corpus="PMC">000047</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">A Multi-User Game-Theoretical Multipath Routing Protocol to Send Video-Warning Messages over Mobile
<italic>Ad Hoc</italic>
Networks</title>
<author>
<name sortKey="Mezher, Ahmad Mohamad" sort="Mezher, Ahmad Mohamad" uniqKey="Mezher A" first="Ahmad Mohamad" last="Mezher">Ahmad Mohamad Mezher</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Igartua, M Nica Aguilar" sort="Igartua, M Nica Aguilar" uniqKey="Igartua M" first="M Nica Aguilar" last="Igartua">M Nica Aguilar Igartua</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="De La Cruz Llopis, Luis J" sort="De La Cruz Llopis, Luis J" uniqKey="De La Cruz Llopis L" first="Luis J." last="De La Cruz Llopis">Luis J. De La Cruz Llopis</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Segarra, Esteve Pallares" sort="Segarra, Esteve Pallares" uniqKey="Segarra E" first="Esteve Pallarès" last="Segarra">Esteve Pallarès Segarra</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Tripp Barba, Carolina" sort="Tripp Barba, Carolina" uniqKey="Tripp Barba C" first="Carolina" last="Tripp-Barba">Carolina Tripp-Barba</name>
<affiliation>
<nlm:aff id="af2-sensors-15-09039">Faculty of Computer Science, Autonomous University of Sinaloa, Mazatlan 82107, Mexico; E-Mail:
<email>ctripp@uas.edu.mx</email>
</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Urquiza Aguiar, Luis" sort="Urquiza Aguiar, Luis" uniqKey="Urquiza Aguiar L" first="Luis" last="Urquiza-Aguiar">Luis Urquiza-Aguiar</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Forne, Jordi" sort="Forne, Jordi" uniqKey="Forne J" first="Jordi" last="Forné">Jordi Forné</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Gargallo, Emilio Sanvicente" sort="Gargallo, Emilio Sanvicente" uniqKey="Gargallo E" first="Emilio Sanvicente" last="Gargallo">Emilio Sanvicente Gargallo</name>
<affiliation>
<nlm:aff id="af1-sensors-15-09039">Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</nlm:aff>
</affiliation>
</author>
</analytic>
<series>
<title level="j">Sensors (Basel, Switzerland)</title>
<idno type="eISSN">1424-8220</idno>
<imprint>
<date when="2015">2015</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<p>The prevention of accidents is one of the most important goals of ad hoc networks in smart cities. When an accident happens, dynamic sensors (e.g., citizens with smart phones or tablets, smart vehicles and buses,
<italic>etc.</italic>
) could shoot a video clip of the accident and send it through the ad hoc network. With a video message, the level of seriousness of the accident could be much better evaluated by the authorities (e.g., health care units, police and ambulance drivers) rather than with just a simple text message. Besides, other citizens would be rapidly aware of the incident. In this way, smart dynamic sensors could participate in reporting a situation in the city using the ad hoc network so it would be possible to have a quick reaction warning citizens and emergency units. The deployment of an efficient routing protocol to manage video-warning messages in mobile Ad hoc Networks (MANETs) has important benefits by allowing a fast warning of the incident, which potentially can save lives. To contribute with this goal, we propose a multipath routing protocol to provide video-warning messages in MANETs using a novel game-theoretical approach. As a base for our work, we start from our previous work, where a 2-players game-theoretical routing protocol was proposed to provide video-streaming services over MANETs. In this article, we further generalize the analysis made for a general number of
<italic>N</italic>
players in the MANET. Simulations have been carried out to show the benefits of our proposal, taking into account the mobility of the nodes and the presence of interfering traffic.Finally, we also have tested our approach in a vehicular ad hoc network as an incipient start point to develop a novel proposal specifically designed for VANETs.</p>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct>
<analytic>
<author>
<name sortKey="Boukerche, A" uniqKey="Boukerche A">A. Boukerche</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Lao, L" uniqKey="Lao L">L. Lao</name>
</author>
<author>
<name sortKey="Cui, J H" uniqKey="Cui J">J.H. Cui</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Aguilar, M" uniqKey="Aguilar M">M. Aguilar</name>
</author>
<author>
<name sortKey="De La Cruz, L J" uniqKey="De La Cruz L">L.J. de la Cruz</name>
</author>
<author>
<name sortKey="Carrascal, V" uniqKey="Carrascal V">V. Carrascal</name>
</author>
<author>
<name sortKey="Sanvicente, E" uniqKey="Sanvicente E">E. Sanvicente</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Chen, L" uniqKey="Chen L">L. Chen</name>
</author>
<author>
<name sortKey="Heinzelman, W B" uniqKey="Heinzelman W">W.B. Heinzelman</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Quddus, G" uniqKey="Quddus G">G. Quddus</name>
</author>
<author>
<name sortKey="Khan, R" uniqKey="Khan R">R. Khan</name>
</author>
<author>
<name sortKey="Iqbal, R" uniqKey="Iqbal R">R. Iqbal</name>
</author>
<author>
<name sortKey="Ahmed, W" uniqKey="Ahmed W">W. Ahmed</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Al Gabri, M" uniqKey="Al Gabri M">M. Al-Gabri</name>
</author>
<author>
<name sortKey="Li, C" uniqKey="Li C">C. Li</name>
</author>
<author>
<name sortKey="Yang, Z" uniqKey="Yang Z">Z. Yang</name>
</author>
<author>
<name sortKey="Hasan, N" uniqKey="Hasan N">N. Hasan</name>
</author>
<author>
<name sortKey="Zhang, X" uniqKey="Zhang X">X. Zhang</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Rao, M" uniqKey="Rao M">M. Rao</name>
</author>
<author>
<name sortKey="Singh, N" uniqKey="Singh N">N. Singh</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Pirzada, A A" uniqKey="Pirzada A">A.A. Pirzada</name>
</author>
<author>
<name sortKey="Datta, A" uniqKey="Datta A">A. Datta</name>
</author>
<author>
<name sortKey="Mcdonald, C" uniqKey="Mcdonald C">C. McDonald</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Sjaugi, M F" uniqKey="Sjaugi M">M.F. Sjaugi</name>
</author>
<author>
<name sortKey="Othman, M" uniqKey="Othman M">M. Othman</name>
</author>
<author>
<name sortKey="Rasid, M" uniqKey="Rasid M">M. Rasid</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Shubhajeet, S" uniqKey="Shubhajeet S">S. Shubhajeet</name>
</author>
<author>
<name sortKey="Das, S" uniqKey="Das S">S. Das</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Perkins, C E" uniqKey="Perkins C">C.E. Perkins</name>
</author>
<author>
<name sortKey="Royer, E M" uniqKey="Royer E">E.M. Royer</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Tran, A" uniqKey="Tran A">A. Tran</name>
</author>
<author>
<name sortKey="Raghavendra, H" uniqKey="Raghavendra H">H. Raghavendra</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Mbarushimana, C" uniqKey="Mbarushimana C">C. Mbarushimana</name>
</author>
<author>
<name sortKey="Shahrabi, A" uniqKey="Shahrabi A">A. Shahrabi</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Al Tarazi, M" uniqKey="Al Tarazi M">M. Al-Tarazi</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Ahn, C" uniqKey="Ahn C">C. Ahn</name>
</author>
<author>
<name sortKey="Chung, S" uniqKey="Chung S">S. Chung</name>
</author>
<author>
<name sortKey="Kim, T" uniqKey="Kim T">T. Kim</name>
</author>
<author>
<name sortKey="Kang, S" uniqKey="Kang S">S. Kang</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Tashtoush, Y" uniqKey="Tashtoush Y">Y. Tashtoush</name>
</author>
<author>
<name sortKey="Darwish, O" uniqKey="Darwish O">O. Darwish</name>
</author>
<author>
<name sortKey="Hayajaneh, M" uniqKey="Hayajaneh M">M. Hayajaneh</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Mao, S" uniqKey="Mao S">S. Mao</name>
</author>
<author>
<name sortKey="Hou, Y T" uniqKey="Hou Y">Y. T. Hou</name>
</author>
<author>
<name sortKey="Cheng, X" uniqKey="Cheng X">X. Cheng</name>
</author>
<author>
<name sortKey="Sherali, H D" uniqKey="Sherali H">H. D. Sherali</name>
</author>
<author>
<name sortKey="Midkiff, S F" uniqKey="Midkiff S">S. F. Midkiff</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Zhu, X" uniqKey="Zhu X">X. Zhu</name>
</author>
<author>
<name sortKey="Setton, E" uniqKey="Setton E">E. Setton</name>
</author>
<author>
<name sortKey="Bernd, G" uniqKey="Bernd G">G. Bernd</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Aguilar, M" uniqKey="Aguilar M">M. Aguilar</name>
</author>
<author>
<name sortKey="Carrascal, V" uniqKey="Carrascal V">V. Carrascal</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Boushaba, A" uniqKey="Boushaba A">A. Boushaba</name>
</author>
<author>
<name sortKey="Benabbou, A" uniqKey="Benabbou A">A. Benabbou</name>
</author>
<author>
<name sortKey="Benabbou, R" uniqKey="Benabbou R">R. Benabbou</name>
</author>
<author>
<name sortKey="Zahi, A" uniqKey="Zahi A">A. Zahi</name>
</author>
<author>
<name sortKey="Oumsis, M" uniqKey="Oumsis M">M. Oumsis</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Lal, C" uniqKey="Lal C">C. Lal</name>
</author>
<author>
<name sortKey="Laxmi, V" uniqKey="Laxmi V">V. Laxmi</name>
</author>
<author>
<name sortKey="Gaur, M S" uniqKey="Gaur M">M.S. Gaur</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Li, Z" uniqKey="Li Z">Z. Li</name>
</author>
<author>
<name sortKey="Shen, H" uniqKey="Shen H">H. Shen</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wu, F" uniqKey="Wu F">F. Wu</name>
</author>
<author>
<name sortKey="Chen, T" uniqKey="Chen T">T. Chen</name>
</author>
<author>
<name sortKey="Zhong, S" uniqKey="Zhong S">S. Zhong</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Naserian, M" uniqKey="Naserian M">M. Naserian</name>
</author>
<author>
<name sortKey="Tepe, K" uniqKey="Tepe K">K. Tepe</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Coucheney, P" uniqKey="Coucheney P">P. Coucheney</name>
</author>
<author>
<name sortKey="Gaujal, B" uniqKey="Gaujal B">B. Gaujal</name>
</author>
<author>
<name sortKey="Touati, C" uniqKey="Touati C">C. Touati</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Liu, J" uniqKey="Liu J">J. Liu</name>
</author>
<author>
<name sortKey="Jiang, X" uniqKey="Jiang X">X. Jiang</name>
</author>
<author>
<name sortKey="Nishiyama, H" uniqKey="Nishiyama H">H. Nishiyama</name>
</author>
<author>
<name sortKey="Miura, R" uniqKey="Miura R">R. Miura</name>
</author>
<author>
<name sortKey="Kato, N" uniqKey="Kato N">N. Kato</name>
</author>
<author>
<name sortKey="Kadowaki, N" uniqKey="Kadowaki N">N. Kadowaki</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Loscri, V" uniqKey="Loscri V">V. Loscri</name>
</author>
<author>
<name sortKey="De Rango, F" uniqKey="De Rango F">F. de Rango</name>
</author>
<author>
<name sortKey="Marano, S" uniqKey="Marano S">S. Marano</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Nasarien, M" uniqKey="Nasarien M">M. Nasarien</name>
</author>
<author>
<name sortKey="Tepe, K" uniqKey="Tepe K">K. Tepe</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Nash, J F" uniqKey="Nash J">J.F. Nash</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Dutta, P K" uniqKey="Dutta P">P.K. Dutta</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Osborne, M J" uniqKey="Osborne M">M.J. Osborne</name>
</author>
<author>
<name sortKey="Rubinstein, A" uniqKey="Rubinstein A">A. Rubinstein</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct></biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Fogue, M" uniqKey="Fogue M">M. Fogue</name>
</author>
<author>
<name sortKey="Garrido, P" uniqKey="Garrido P">P. Garrido</name>
</author>
<author>
<name sortKey="Martinez, F J" uniqKey="Martinez F">F.J. Martinez</name>
</author>
<author>
<name sortKey="Cano, J C" uniqKey="Cano J">J.C. Cano</name>
</author>
<author>
<name sortKey="Calafate, C T" uniqKey="Calafate C">C.T. Calafate</name>
</author>
<author>
<name sortKey="Manzoni, P" uniqKey="Manzoni P">P. Manzoni</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Krajzewicz, D" uniqKey="Krajzewicz D">D. Krajzewicz</name>
</author>
<author>
<name sortKey="Erdmann, J" uniqKey="Erdmann J">J. Erdmann</name>
</author>
<author>
<name sortKey="Behrisch, M" uniqKey="Behrisch M">M. Behrisch</name>
</author>
<author>
<name sortKey="Bieker, L" uniqKey="Bieker L">L. Bieker</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Tripp Barba, C" uniqKey="Tripp Barba C">C. Tripp-Barba</name>
</author>
<author>
<name sortKey="Urquiza Aguiar, L" uniqKey="Urquiza Aguiar L">L. Urquiza-Aguiar</name>
</author>
<author>
<name sortKey="Igartua, M A" uniqKey="Igartua M">M.A. Igartua</name>
</author>
<author>
<name sortKey="Rebollo Monedero, D" uniqKey="Rebollo Monedero D">D. Rebollo-Monedero</name>
</author>
<author>
<name sortKey="Mezher, A M" uniqKey="Mezher A">A.M. Mezher</name>
</author>
<author>
<name sortKey="De La Cruz Llopis, L J" uniqKey="De La Cruz Llopis L">L.J. de la Cruz Llopis</name>
</author>
<author>
<name sortKey="Aguilar Calder N, J A" uniqKey="Aguilar Calder N J">J.A. Aguilar-Calderón</name>
</author>
<author>
<name sortKey="Multimetric, A" uniqKey="Multimetric A">A. Multimetric</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Tripp Barba, C" uniqKey="Tripp Barba C">C. Tripp-Barba</name>
</author>
<author>
<name sortKey="Mezher, A M" uniqKey="Mezher A">A.M. Mezher</name>
</author>
<author>
<name sortKey="Igartua, M A" uniqKey="Igartua M">M.A. Igartua</name>
</author>
<author>
<name sortKey="Guerin Lassous, I" uniqKey="Guerin Lassous I">I. Guérin-Lassous</name>
</author>
<author>
<name sortKey="Sarr, C" uniqKey="Sarr C">C. Sarr</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article">
<pmc-dir>properties open_access</pmc-dir>
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors (Basel)</journal-id>
<journal-id journal-id-type="iso-abbrev">Sensors (Basel)</journal-id>
<journal-title-group>
<journal-title>Sensors (Basel, Switzerland)</journal-title>
</journal-title-group>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>MDPI</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="pmid">25897496</article-id>
<article-id pub-id-type="pmc">4431273</article-id>
<article-id pub-id-type="doi">10.3390/s150409039</article-id>
<article-id pub-id-type="publisher-id">sensors-15-09039</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Multi-User Game-Theoretical Multipath Routing Protocol to Send Video-Warning Messages over Mobile
<italic>Ad Hoc</italic>
Networks</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Mezher</surname>
<given-names>Ahmad Mohamad</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
<xref rid="c1-sensors-15-09039" ref-type="corresp">
<sup>*</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Igartua</surname>
<given-names>Mónica Aguilar</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>de la Cruz Llopis</surname>
<given-names>Luis J.</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Segarra</surname>
<given-names>Esteve Pallarès</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Tripp-Barba</surname>
<given-names>Carolina</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-15-09039">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Urquiza-Aguiar</surname>
<given-names>Luis</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Forné</surname>
<given-names>Jordi</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Gargallo</surname>
<given-names>Emilio Sanvicente</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-15-09039">
<sup>1</sup>
</xref>
</contrib>
</contrib-group>
<contrib-group>
<contrib contrib-type="editor">
<name>
<surname>Puliafito</surname>
<given-names>Antonio</given-names>
</name>
<role>Academic Editor</role>
</contrib>
</contrib-group>
<aff id="af1-sensors-15-09039">
<label>1</label>
Department of Network Engineering, Universitat Politècnica de Catalunya (UPC),C. Jordi Girona 1-3, Barcelona 08034, Spain; E-Mails:
<email>monica.aguilar@entel.upc.edu</email>
(M.A.I.);
<email>luis.delacruz@entel.upc.edu</email>
(L.J.C.L.);
<email>esteve@entel.upc.edu</email>
(E.P.S.);
<email>luis.urquiza@entel.upc.edu</email>
(L.U.-A.);
<email>jforne@entel.upc.edu</email>
(J.F.);
<email>e.sanvicente@gmail.com</email>
(E.S.G.)</aff>
<aff id="af2-sensors-15-09039">
<label>2</label>
Faculty of Computer Science, Autonomous University of Sinaloa, Mazatlan 82107, Mexico; E-Mail:
<email>ctripp@uas.edu.mx</email>
</aff>
<author-notes>
<corresp id="c1-sensors-15-09039">
<label>*</label>
Author to whom correspondence should be addressed; E-Mail:
<email>ahmad.mezher@entel.upc.edu</email>
; Tel: +34-934-017-027.</corresp>
</author-notes>
<pub-date pub-type="collection">
<month>4</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>17</day>
<month>4</month>
<year>2015</year>
</pub-date>
<volume>15</volume>
<issue>4</issue>
<fpage>9039</fpage>
<lpage>9077</lpage>
<history>
<date date-type="received">
<day>19</day>
<month>2</month>
<year>2015</year>
</date>
<date date-type="accepted">
<day>14</day>
<month>4</month>
<year>2015</year>
</date>
</history>
<permissions>
<copyright-statement>© 2015 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2015</copyright-year>
<license>
<license-p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (
<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</ext-link>
).</license-p>
</license>
</permissions>
<abstract>
<p>The prevention of accidents is one of the most important goals of ad hoc networks in smart cities. When an accident happens, dynamic sensors (e.g., citizens with smart phones or tablets, smart vehicles and buses,
<italic>etc.</italic>
) could shoot a video clip of the accident and send it through the ad hoc network. With a video message, the level of seriousness of the accident could be much better evaluated by the authorities (e.g., health care units, police and ambulance drivers) rather than with just a simple text message. Besides, other citizens would be rapidly aware of the incident. In this way, smart dynamic sensors could participate in reporting a situation in the city using the ad hoc network so it would be possible to have a quick reaction warning citizens and emergency units. The deployment of an efficient routing protocol to manage video-warning messages in mobile Ad hoc Networks (MANETs) has important benefits by allowing a fast warning of the incident, which potentially can save lives. To contribute with this goal, we propose a multipath routing protocol to provide video-warning messages in MANETs using a novel game-theoretical approach. As a base for our work, we start from our previous work, where a 2-players game-theoretical routing protocol was proposed to provide video-streaming services over MANETs. In this article, we further generalize the analysis made for a general number of
<italic>N</italic>
players in the MANET. Simulations have been carried out to show the benefits of our proposal, taking into account the mobility of the nodes and the presence of interfering traffic.Finally, we also have tested our approach in a vehicular ad hoc network as an incipient start point to develop a novel proposal specifically designed for VANETs.</p>
</abstract>
<kwd-group>
<kwd>Mobile ad hoc networks</kwd>
<kwd>Vehicular ad hoc networks</kwd>
<kwd>smart cities</kwd>
<kwd>adaptive multipath routing</kwd>
<kwd>game theory</kwd>
<kwd>Nash equilibrium</kwd>
<kwd>video-streaming services</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>A Mobile Ad hoc NETwok (MANET) is a group of self-organized wireless mobile nodes (MNs) able to communicate with each other without the need of any fixed network infrastructure nor centralized administrative support. MANETs suffer from link breakages due to nodes that move and have limited battery life, which produce frequent changes in the network topology. In addition, the transmission range in such mobile devices is limited, so multi-hop paths as well as efficient routing protocols will be needed. Each MANET node will operate both as a terminal host and as a forwarding node. MANETs should adapt dynamically to be able to maintain communications despite of all these issues [
<xref rid="b1-sensors-15-09039" ref-type="bibr">1</xref>
].</p>
<p>MANETs have attracted much attention from the research community over the last years and important technical advances have risen. These multi-hop networks are foreseen as an important kind of next generation access networks, where multimedia services will be demanded by end users from their wireless devices everywhere. In many situations and areas, users may spontaneously form an infrastructureless ad hoc network to share their resources and contents. Besides, MANETs can be used together with existing cellular networks forming a hybrid cellular-ad hoc network as MANETs can extend the coverage, capacity and interconnectivity of current cellular networks [
<xref rid="b2-sensors-15-09039" ref-type="bibr">2</xref>
]. Multimedia services require Quality of Service (QoS) provision. The special characteristics of MANETs, such as mobility, dynamic network topology, energy constraints, infrastructureless and variable link capacity, make the QoS provision over these networks an important challenge. In particular, instead of using fixed network configuration parameters, a better solution would be to adjust the framework parameters according to the current environmental conditions.</p>
<p>On the other hand, smart city applications are promising new services that involve vehicles, drivers, citizens and city infrastructure are about to emerge. Smart city applications could be used in emergency situations that require the coordination and collaboration between implicated parts in order to treat urgently the wounded who have suffered an accident. Emergency prevention and response are key issues for smart cities to face any kind of sudden incident such as traffic accidents, traffic jams, public transport delays,
<italic>etc</italic>
. For example, when an accident happens, dynamic sensors (e.g., citizens with smart phones) could make a video of the accident and send it through the MANET. With a video message, the level of seriousness of the accident could be better interpreted by the authorities (
<italic>i.e.</italic>
, health care unit, police, ambulance drivers,
<italic>etc.</italic>
) than with a simple text message. In this way, dynamic sensors could participate in reporting a situation in the city using the MANET network so it would be possible to have a quick answer warning citizens and emergency units. The prevention of accidents is one of the most important goals in smart cities, and nowadays Information and Communication Technologies (ICTs) and citizens play an essential role in this field.</p>
<p>A good management of video-warning messages after accidents would lead to an immediate call to health agencies and ambulances. In these kinds of situations, MANETs [
<xref rid="b1-sensors-15-09039" ref-type="bibr">1</xref>
] and citizens play an important role in the new smart cities. Nowadays, a high percentage of citizens carry at least one smart communications device in their pockets or bags. In the smart cities, citizens are welcome to participate and interact with the management of their city. Diverse kind of data could be gathered from the smart phones or tablets of volunteers, e.g., mobility information or need for health care after an incident in the city. This way, the public administration would have an interactive network of citizens who actively participate in the management of the city. It would be possible to have a quick answer to solve daily problems and help the emergency units (e.g., police, ambulances, health care units) in case of incidents (e.g., traffic accidents).</p>
<p>Our research focuses on the deployment of an efficient multipath routing protocol to manage video-warning messages in MANETs. In this work, we aimed to design a dynamic selection of the data forwarding paths using a game-theoretical approach plus a multipath multimedia routing protocol that we previously introduced in [
<xref rid="b3-sensors-15-09039" ref-type="bibr">3</xref>
]. This contribution seeks to further enhance the overall performance of the service.</p>
<p>The rest of the paper is structured as follows. Section 2 includes some relevant related work. In Section 3 we summarize the features of our multipath routing protocol. Section 4 gives a brief explanation of the game-theoretical proposal. Section 5 describes analytically our novel game-theoretical model to send video-warning messages over MANETs. Section 6 describes a method to calculate a specific parameter of the model. Simulation results are shown and analyzed in Section 7. Finally, conclusion and future work are given in Section 8.</p>
</sec>
<sec>
<label>2.</label>
<title>Related Work</title>
<p>Routing is the process of selecting the best path or paths in a network through which data will be forwarded. Forwarding paths are not necessarily the shortest ones and are selected usually seeking to improve the service performance. Proposals of routing protocols for ad hoc networks similar to our work can be classified in four categories: (a) single path routing; (b) general multipath routing; (c) multipath routing used to transmit video; and (d) game-theoretical algorithms used in the routing. In the following we summarize some representative works related to our proposal for each category.
<list list-type="simple">
<list-item>
<label>(a)</label>
<p>Regarding single path routing, many protocols were designed in the last years for MANETs [
<xref rid="b4-sensors-15-09039" ref-type="bibr">4</xref>
-
<xref rid="b10-sensors-15-09039" ref-type="bibr">10</xref>
] based on improvements of basic and widely referenced ad hoc routing protocols such as ad hoc on-demand distance vector (AODV) [
<xref rid="b11-sensors-15-09039" ref-type="bibr">11</xref>
] and dynamic source routing (DSR) [
<xref rid="b12-sensors-15-09039" ref-type="bibr">12</xref>
]. Based on AODV, [
<xref rid="b4-sensors-15-09039" ref-type="bibr">4</xref>
] incorporates an admission control scheme and a feedback scheme to satisfy the QoS-requirements of real-time applications; [
<xref rid="b5-sensors-15-09039" ref-type="bibr">5</xref>
] adds a route fragility coefficient (RFC) as a metric to find stable routes; [
<xref rid="b6-sensors-15-09039" ref-type="bibr">6</xref>
] proposes an efficient algorithm to balance energy consumption among all participating nodes; and [
<xref rid="b7-sensors-15-09039" ref-type="bibr">7</xref>
] provides
<italic>n</italic>
backup routes in case of link failure instead of one. On the other side, based on DSR, [
<xref rid="b8-sensors-15-09039" ref-type="bibr">8</xref>
] presents a pragmatic scheme to establish and sustain trustworthy routes in the network; [
<xref rid="b9-sensors-15-09039" ref-type="bibr">9</xref>
] introduces a new route maintenance strategy called distance based route maintenance (DISTANCE) to prevent link failure; and [
<xref rid="b10-sensors-15-09039" ref-type="bibr">10</xref>
] uses the ant colony optimization (ACO) algorithm producing a significantly improvement in terms of packet losses, end-to-end delay, routing overhead and energy consumption.</p>
</list-item>
<list-item>
<label>(b)</label>
<p>Some works like [
<xref rid="b13-sensors-15-09039" ref-type="bibr">13</xref>
<xref rid="b17-sensors-15-09039" ref-type="bibr">17</xref>
] tackle the congestion problem present when the MANET is heavily loaded, since this factor negatively affects the packet losses. To cope with this issue, multipath routing protocols were proposed to alleviate congestion, optimize the use of the scarce MANET resources, increase the packet delivery ratio and improve the offered quality of service. For example, authors in [
<xref rid="b13-sensors-15-09039" ref-type="bibr">13</xref>
] proposed the congestion-adaptive routing protocol (CRP) to prevent congestion. Simulation results show that CRP improves significantly the packet loss rate and the end-to-end delay compared to AODV and DSR. In [
<xref rid="b14-sensors-15-09039" ref-type="bibr">14</xref>
], the authors introduced a type of service aware routing protocol (TSA) which uses both the packet type of service and the traditional hop count as route selection metrics. This proposal tries to avoid congestion by distributing the load over a potentially greater area. A linear load balancing protocol using multiple paths is proposed in [
<xref rid="b15-sensors-15-09039" ref-type="bibr">15</xref>
], where
<italic>n</italic>
routes are sorted in increasing order of their hop count and have assigned priority values so that the shorter the path the higher the priority of the path to be selected to distribute the transmitted packets. In [
<xref rid="b16-sensors-15-09039" ref-type="bibr">16</xref>
], the authors introduced a mechanism to find a primary forwarding route using the basic AODV engine and an alternative backup path to be used when the main route is broken. The backup path excludes nodes already used in the primary path, so that they are node-disjoint paths. The work [
<xref rid="b17-sensors-15-09039" ref-type="bibr">17</xref>
] presented the Fibonacci multipath load balancing protocol (FMLB) for MANETs to distribute transmitted packets over multiple paths through the mobile nodes using an algorithm based on the Fibonacci sequence.</p>
</list-item>
<list-item>
<label>(c)</label>
<p>Multipath routing protocols offer interesting benefits to increase the available bandwidth, which is suitable to transmit video over ad hoc networks where the bandwidth is a scarce resource. Several works such as [
<xref rid="b18-sensors-15-09039" ref-type="bibr">18</xref>
<xref rid="b22-sensors-15-09039" ref-type="bibr">22</xref>
] presented interesting approaches to transmit video flows over multipath frameworks. In [
<xref rid="b18-sensors-15-09039" ref-type="bibr">18</xref>
], the authors analyzed the topic of multipath routing for multiple description video coding in wireless ad hoc networks. They found that genetic algorithms (GAs) are effective to address this type of cross-layer optimization problems. They demonstrate using numerical results the superior performance of their GA-based approach. In [
<xref rid="b19-sensors-15-09039" ref-type="bibr">19</xref>
] the authors proposed an optimal routing algorithm to distribute video over multiple paths seeking to minimize congestion and to improve the video quality. In [
<xref rid="b20-sensors-15-09039" ref-type="bibr">20</xref>
] the authors designed an adaptive multipath multimedia dynamic source routing (MMDSR) protocol able to self-configure dynamically depending on the state of the network while taking into account the special features of the video frames to distribute them over the multipath scheme. The authors in [
<xref rid="b21-sensors-15-09039" ref-type="bibr">21</xref>
] proposed an extension of multipath optimized link state routing protocol (MP-OLSR) named fuzzy-based quality of service MP-OLSR (FQ-MP-OLSR) integrating two fuzzy systems. The first is used to calculate a multi-constrained QoS metric based on delay, throughput and signal to interference plus noise ratio (SINR) while the second is applied to adapt cost functions used to penalize paths previously computed by the Dijkstra's algorithm. Simulation results showed that FQ-MP-OLSR achieves a significant improvement in terms of QoS and quality of experience (QoE). The work in [
<xref rid="b22-sensors-15-09039" ref-type="bibr">22</xref>
] presented a QoS-aware routing framework combining three QoS mechanisms,
<italic>i.e.</italic>
, cross-layer communication mechanism, session admission control and QoS-aware multipath routing to achieve an efficient video transmission over MANETs. Simulation results showed the improvement obtained in terms of video quality.</p>
</list-item>
<list-item>
<label>(d)</label>
<p>Concerning the application of game theory in the routing for ad hoc networks, works in the literature deal mainly with two important issues: proposals that include incentives to
<italic>encourage nodes to cooperate</italic>
[
<xref rid="b23-sensors-15-09039" ref-type="bibr">23</xref>
,
<xref rid="b24-sensors-15-09039" ref-type="bibr">24</xref>
] and proposals that apply game theory
<italic>to attain a QoS-aware framework</italic>
[
<xref rid="b25-sensors-15-09039" ref-type="bibr">25</xref>
<xref rid="b27-sensors-15-09039" ref-type="bibr">27</xref>
]. In the case of MANET nodes that do not belong to a single authority, nodes do not have a common goal and seek to maximize their own utility trying to save their limited resources by reducing packet forwarding for others. Besides, mobility in MANETs causes hard challenges in the provision of the QoS required to distribute multimedia data. In [
<xref rid="b23-sensors-15-09039" ref-type="bibr">23</xref>
], an analysis of cooperation incentives provided by reputation systems, price-based systems and an incentive strategy using game theory was presented. Also, the authors proposed an integrated system combining the previous strategies. Results clearly prove the benefits of the integrated system over the individual reputation system and the price-based system in terms of cooperation's effectiveness as well as in selfish node detection. In [
<xref rid="b24-sensors-15-09039" ref-type="bibr">24</xref>
], the authors presented a novel incentive scheme for probabilistic routing which stimulates selfish nodes to participate. Results showed a 75.8% gain in delivery ratio compared to the case of a probabilistic routing providing no incentive. In [
<xref rid="b25-sensors-15-09039" ref-type="bibr">25</xref>
], a dynamic probabilistic protocol based on game theory, called forwarding game routing protocol (FGRP), was introduced for the selection process of the forwarding nodes. In this protocol, a node is a player of the forwarding game and takes the forwarding decision upon the reception of a flooding packet. Each node tries to maximize its utility by selecting an appropriate strategy. Simulations show the benefits of FGRP in terms of end-to-end delay and packet delivery ratio. Current works in the literature that are similar to ours are [
<xref rid="b26-sensors-15-09039" ref-type="bibr">26</xref>
,
<xref rid="b27-sensors-15-09039" ref-type="bibr">27</xref>
]. In [
<xref rid="b26-sensors-15-09039" ref-type="bibr">26</xref>
] the authors use game theory to design a self-optimizing algorithm to minimize the end-to-end delay in a multi-class MANET. The approach consists of a fully distributed algorithm based on AODV for which they analytically prove that it reaches an optimal routing for each user in terms of delay, and which also minimizes the overall delay in the network. They apply a potential game that meets the principle of
<italic>individual optimization provides a global optimal configuration</italic>
. They include a numerical evaluation that shows improvement compared to AODV. In our case, we use a multipath (instead of only one path) forwarding scheme to transmit real video (instead of Poisson traffic) and we use several metrics (instead of only using the delay) to arrange the paths. The work [
<xref rid="b27-sensors-15-09039" ref-type="bibr">27</xref>
] studies the optimal forwarding problem in MANETs based on a generalized two-hop relay (the source node replicates copies of its packets to other relaying nodes so that each packet travels at most two hops to reach its destination) with limited packet redundancy
<italic>f</italic>
(
<italic>f</italic>
-cast, each packet can be replicated to at most
<italic>f</italic>
different relaying nodes) for packet routing. They propose a forwarding game where each node
<italic>i</italic>
individually decides a probability
<italic>p
<sub>i</sub>
</italic>
to send its own traffic and helps to forward other traffic with probability 1 −
<italic>p
<sub>i</sub>
</italic>
. The payoff for a node is the achievable throughput capacity of its own traffic. They obtain the optimal forwarding strategy that each node should adopt to ensure the optimum per node throughput capacity. Similarly to us they also mathematically derive a per node forwarding probability using game theory, although in their case it is used by a node to send/forward or not a packet, whereas in our case it is used by a node to decide if it sends a video frame through the best path or through the second best one. Besides, we use different forwarding schemes.</p>
</list-item>
</list>
</p>
<p>In this present work, we deal with the issue of QoS provision and leave cooperation encouragement for future work. After analyzing the multipath routing protocols presented in this section, for our purpose of distributing video messages over MANETs and VANETs, the most suitable approach as a reference are our previous proposals MMDSR [
<xref rid="b20-sensors-15-09039" ref-type="bibr">20</xref>
] and g-MMDSR [
<xref rid="b3-sensors-15-09039" ref-type="bibr">3</xref>
]. MMDSR is a QoS-aware self-configured multipath routing protocol that dynamically adapts to the changing environment, whereas g-MMDSR enhances MMDSR by including a 2-player game-theoretical algorithm in the forwarding scheme. To the best of our knowledge, the aim to apply together a QoS-aware multipath routing scheme and a multi-user game-theoretical approach that includes the particular features of the video frames into the game model to efficiently distribute video warning messages over ad hoc networks in smart cities is novel. In this work, the multipath routing scheme of MMDSR is enhanced by including a multi-user game-theoretical algorithm so that competing nodes share the scarce resources in a more suitable and efficient way. Our previous proposal [
<xref rid="b3-sensors-15-09039" ref-type="bibr">3</xref>
] introduced a 2-player game-theoretical routing scheme to improve MMDSR, and in this present work we will develop a general multi-player game-theoretical routing protocol. In the next section, we summarize MMDSR in a nutshell.</p>
</sec>
<sec>
<label>3.</label>
<title>Multipath Multimedia Dynamic Source Routing (MMDSR)</title>
<p>In this section, we give a brief summary of the main features of the MMDSR routing protocol, whose detailed description was presented in [
<xref rid="b3-sensors-15-09039" ref-type="bibr">3</xref>
]. In this present article, we further improve the routing scheme by designing a novel game-theoretical model to provide video-streaming in MANETs. The framework is able to provide video-streaming services over IEEE 802.11e [
<xref rid="b28-sensors-15-09039" ref-type="bibr">28</xref>
] MANETs and to dynamically adapt to the changing network conditions inherent in MANETs.</p>
<sec>
<label>3.1.</label>
<title>Basics of the General Framework</title>
<p>The multipath routing scheme of MMDSR is based on the DSR (Dynamic Source Routing) protocol [
<xref rid="b12-sensors-15-09039" ref-type="bibr">12</xref>
] to find available paths from source to destination. Video is distributed using RTP/RTCP (Real-time Transport Protocol/Real-time Control Protocol) [
<xref rid="b29-sensors-15-09039" ref-type="bibr">29</xref>
] over UDP as transport protocols. Our system uses a layered MPEG-2 VBR coding of the video flow, which is formed by sets of frames, usually 4 to 20 frames, called GoP (Groups of Pictures), see
<xref rid="f1-sensors-15-09039" ref-type="fig">Figure 1</xref>
. A GoP has three types of frames: I, P and B, and has a unique frame-pattern in a video repeated in each GoP. I (Intra) frames encode spatial redundancy, they form the base layer, provide a basic video quality and carry the most important information for the decoding process at the receiving side. The whole GoP would be lost if the corresponding I frame were not available at decoding time. P (Predicted) and B (Bi-directional) frames carry differential information from preceding (P) or preceding and posterior (B) frames, respectively. Considering these characteristics, we assign different priorities to the video frames according to their importance within the video flow. Therefore, I frames should have the highest priority, P frames the medium priority and B frames the lowest one.</p>
<p>In the MAC (Media Access Control) layer, we use the IEEE 802.11e [
<xref rid="b28-sensors-15-09039" ref-type="bibr">28</xref>
] standard, which provides QoS support. It consists of four different Access Categories (AC), each with their own configuration parameters,
<italic>i.e.</italic>
contention window minimum (
<italic>CW
<sub>min</sub>
</italic>
) and maximum (
<italic>CW
<sub>max</sub>
</italic>
), arbitration interframe space (AIFS) and transmission opportunity (TxOp). Each packet from the higher layers arrives at the MAC layer with a specific priority value and is mapped into the proper AC. We defined the mapping of the different packets into each one of the four
<italic>AC
<sub>S</sub>
</italic>
as follows:
<list list-type="bullet">
<list-item>
<p>AC0: signaling.</p>
</list-item>
<list-item>
<p>AC1: high priority packets (I frames).</p>
</list-item>
<list-item>
<p>AC2: medium priority packets (P frames).</p>
</list-item>
<list-item>
<p>AC3: low priority packets (B frames + other best effort traffic).</p>
</list-item>
</list>
</p>
</sec>
<sec>
<label>3.2.</label>
<title>Multipath Routing Scheme in MMDSR</title>
<p>MMDSR is a multipath routing protocol that uses the standard DSR as the engine to search for available paths. MMDSR uses up to three paths through which the three types of video frames will be sent. As
<xref rid="f2-sensors-15-09039" ref-type="fig">Figure 2</xref>
shows, traditionally the most important video frames (I frames) would be sent through the best available path, P frames through the second best path and B frames through the third best path (worst one). In our results, we obtained that there are notable benefits in arranging two or three paths to transmit the video frames. However, arranging more than three paths in a multipath scheme does not provide a big improvement, while increases unnecessarily the management. Similar results were obtained in [
<xref rid="b30-sensors-15-09039" ref-type="bibr">30</xref>
].</p>
<p>The user requirements are negotiated using QoS parameters to provide the required image quality. We use the following parameters: minimum expected bandwidth (
<italic>BW
<sub>min</sub>
</italic>
), maximum percentage of packet losses (
<italic>L
<sub>max</sub>
</italic>
), maximum delay (
<italic>D
<sub>max</sub>
</italic>
) and maximum delay jitter (
<italic>J
<sub>max</sub>
</italic>
).</p>
<p>
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1">
<mml:mrow>
<mml:mtext mathvariant="italic">user</mml:mtext>
<mml:mo>_</mml:mo>
<mml:mtext mathvariant="italic">req</mml:mtext>
<mml:mo></mml:mo>
<mml:mo>{</mml:mo>
<mml:mi>B</mml:mi>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mo mathvariant="italic">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo mathvariant="italic">max</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo mathvariant="italic">max</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo mathvariant="italic">max</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec>
<label>3.3.</label>
<title>MMDSR Control Packets</title>
<p>Decisions such as path selection or tuning of configuration parameters are operated from the source. MMDSR periodically discovers
<italic>AP</italic>
available paths between source and destination by sending monitoring
<italic>Probe Message</italic>
(PM) packets. After that, a
<italic>Probe Message Reply</italic>
(PMR) packet is generated at destination to carry the collected information about the quality of the available paths. The reduced size of these packets (around 64 bytes, depending on the number of paths found out) and the low frequency of sending them (every 3–18 s depending on the network state, see
<xref rid="FD5" ref-type="disp-formula">Equation (4)</xref>
) makes the incurred overhead almost negligible.
<xref rid="f3-sensors-15-09039" ref-type="fig">Figure 3</xref>
shows PM and PMR packets which are periodically interchanged between source and destination.</p>
<p>Then, a score is given to each one of the paths after analyzing the feedback information at the source node to classify them accordingly. That score is updated continuously after the reception of each PMR packet. Looking at the QoS parameters of the paths, the source selects three paths (if it is possible, or less if it is not) to compose the multipath scheme. The vector
<inline-formula>
<mml:math id="mm2">
<mml:mrow>
<mml:mtext mathvariant="italic">path</mml:mtext>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="italic">state</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
contains all the quality parameters calculated for each one of the available paths:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm3">
<mml:mrow>
<mml:mtext mathvariant="italic">path</mml:mtext>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="italic">state</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>J</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>H</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>M</mml:mi>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>j</italic>
is the iteration number of the algorithm and
<italic>k</italic>
refers to each one of the paths (with
<italic>k</italic>
<italic>AP</italic>
). The QoS parameters are: available bandwidth (
<inline-formula>
<mml:math id="mm4">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
), percentage of packet losses (
<inline-formula>
<mml:math id="mm5">
<mml:mrow>
<mml:msubsup>
<mml:mi>L</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
), delay (
<inline-formula>
<mml:math id="mm6">
<mml:mrow>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
), delay jitter (
<inline-formula>
<mml:math id="mm7">
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
), hop distance (
<inline-formula>
<mml:math id="mm8">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
), reliability metric (
<inline-formula>
<mml:math id="mm9">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
) calculated from the SNR (Signal to Noise Ratio) of the links involved in each path, and mobility metric
<inline-formula>
<mml:math id="mm10">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
calculated from the relative mobility of the neighboring nodes within each path. The last two metrics were previously proposed in [
<xref rid="b3-sensors-15-09039" ref-type="bibr">3</xref>
].</p>
<p>This process is repeated periodically to refresh the paths since the topology of MANETs vary and might produce link breakages. The routing period depends on the network state, as it is explained in Section 3.5.</p>
</sec>
<sec>
<label>3.4.</label>
<title>Path Classification in MMDSR</title>
<p>Once the source has selected a set of paths that fulfil the requirements depicted in
<xref rid="FD1" ref-type="disp-formula">Equation (1)</xref>
, the classification of those paths is done by checking sequentially the qualifications of the QoS parameters, according to the following list:
<disp-formula id="FD3">
<mml:math id="mm11">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>B</mml:mi>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>L</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mtext>and</mml:mtext>
<mml:mspace width="0.2em"></mml:mspace>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>We first arrange the available paths looking at the metrics RM and MM, since we prefer the most reliable and stable paths to distribute video over MANETs. In case of draw, the decision is taken depending on the hop-count metric (
<italic>H</italic>
) which decides the shortest path. In case of another draw, we consider bandwidth (
<italic>BW</italic>
), then losses (
<italic>L</italic>
) and delay jitter (
<italic>J</italic>
), and finally delay (
<italic>D</italic>
). Nonetheless, other alternative algorithms to arrange the available paths could also be considered. Finally, the source selects the
<italic>k</italic>
paths (with
<italic>k</italic>
<italic>AP</italic>
) required to compose the multipath routing scheme. In our case,
<italic>k</italic>
= 3 paths. Notice that if only two paths were available, we still could differentiate both paths (
<italic>i.e.</italic>
, the best and the medium-quality path), but if only one was available then all the packets would be sent through that single path.</p>
</sec>
<sec>
<label>3.5.</label>
<title>MMDSR Self-Configuration</title>
<p>Due to the highly variable network topology of MANETs, any proposed routing protocol should be dynamic. Having this in mind, MMDSR is able to self-configure. Here, we will just point out the basics of the self-configuration operation.</p>
<p>Our framework monitors the current state of the network and in case of changes, the algorithm modifies the routing period of the algorithm and the thresholds to classify paths. We adjust those parameters dynamically depending on a parameter called
<italic>NState</italic>
, which brings information about the global network state and is updated by the algorithm iteration by iteration.
<italic>NState</italic>
is computed as follows:
<disp-formula id="FD4">
<label>(3)</label>
<mml:math id="mm12">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mtext mathvariant="italic">NState</mml:mtext>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:msup>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msup>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:msup>
<mml:mi>W</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>J</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mi>J</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mi>j</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>¯</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In
<xref rid="FD4" ref-type="disp-formula">Equation (3)</xref>
, the upper bars denote averages and the
<italic>w</italic>
s are the weights assigned to each metric. When the source receives the feedback from the network by means of PMR packets, it calculates the
<italic>NState</italic>
using
<xref rid="FD4" ref-type="disp-formula">Equation (3)</xref>
from the QoS parameters of all the
<italic>k</italic>
paths (see
<xref rid="FD2" ref-type="disp-formula">Equation (2)</xref>
) on that itereation
<italic>j</italic>
.</p>
<p>The routing period (
<italic>T
<sub>routing</sub>
</italic>
) to refresh the multipath scheme also varies dynamically and is calculated according to
<xref rid="FD5" ref-type="disp-formula">Equation (4)</xref>
, so that when the network is behaving well (
<italic>i.e.</italic>
,
<italic>NState</italic>
is high),
<italic>T
<sub>routing</sub>
</italic>
is also high and the paths that form the multipath scheme will be used longer. Conversely, if the network is behaving bad (
<italic>i.e.</italic>
,
<italic>NState</italic>
is low) then
<italic>T
<sub>routing</sub>
</italic>
is low and the paths are refreshed sooner.</p>
<p>
<disp-formula id="FD5">
<label>(4)</label>
<mml:math id="mm13">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">routing</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo></mml:mo>
<mml:msup>
<mml:mtext mathvariant="italic">NState</mml:mtext>
<mml:mi>j</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mi>θ</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>To obtain the previous equation, a high number of simulations were conducted under a wide range of network conditions where the network performance was good, normal and bad. For the scenario under consideration (also used in the present paper), the obtained values were
<italic>γ</italic>
= 10 and
<italic>θ</italic>
= 3.</p>
<p>Till now, we have summarized the basics of the previous QoS-aware adaptive multipath routing protocol [
<xref rid="b3-sensors-15-09039" ref-type="bibr">3</xref>
]. Next, we introduce our novel game-theoretical routing scheme to further improve the transmission of video over MANETs.</p>
</sec>
</sec>
<sec>
<label>4.</label>
<title>A Game-Theoretical Routing Protocol for MANETs</title>
<p>Game Theory is a branch of applied mathematics that has been used basically in economics to model competition between companies. During the last years, Game Theory has also been used in networking to solve routing and resource allocation problems in a competitive environment. MANET nodes take decentralized decisions, and resource management mechanisms can help those nodes to behave constructively improving the network performance as a whole [
<xref rid="b31-sensors-15-09039" ref-type="bibr">31</xref>
]. In this work we apply Game Theory in the multipath routing protocol to further improve our proposal. We assume that each source node has a set of I, P and B video frames of a video flow to be transported; also, we assume that each source has three paths through which those frames could be sent. Nodes
<italic>play</italic>
a
<italic>routing game</italic>
to distribute the video flows seeking their own best performance. The
<italic>players</italic>
of the game are the MANET nodes and the
<italic>action</italic>
of the game is to select the proper route to forward their video-streams. In the following section, we will introduce the game-theoretical proposal included in the multipath routing scheme.</p>
<sec>
<label>4.1.</label>
<title>The Bases of Our Proposal</title>
<p>
<xref rid="f4-sensors-15-09039" ref-type="fig">Figure 4</xref>
shows the proposed architecture. We assume
<italic>N</italic>
connections (
<italic>S</italic>
<sub>1</sub>
-
<italic>D</italic>
<sub>1</sub>
,
<italic>S</italic>
<sub>2</sub>
-
<italic>D</italic>
<sub>2</sub>
,…,
<italic>S
<sub>n</sub>
</italic>
-
<italic>D
<sub>n</sub>
</italic>
) and three paths. It is likewise possible to apply the proposal to any MANET independently of the number of connections, nodes and paths.</p>
<p>Traditionally, nodes always would try to send the most important video frames through the best available path obtained by the multipath routing protocol. This means that I frames, which are the biggest ones and carry the most important video information, will be sent through the best path, whereas the least important frames (
<italic>i.e.</italic>
, B frames) will be sent through the worst one. Nevertheless, if each node sends the most important frames through the best path, this path could get congested. As a consequence, that best path could suffer more losses than the others, which would lead to classify it as a worse path. This behavior could produce an oscillatory performance that might affect the video experience of users if it happened frequently.</p>
<p>To cope with this issue, users could
<italic>play a game</italic>
such that the best two paths (best, medium) could be selected by each player to transmit the most important video frames (
<italic>i.e.</italic>
, I+P frames). That is, each user could prefer to send sometimes the most important frames through the medium-quality path. Just for simplicity, B frames are considered always to be sent through the third path, which is the worst one. Also, I and P frames belonging to the same video stream are going to be sent through the same path to make more evident the inconveniences of sharing the same path, since there are more P frames than I frames per flow.</p>
<p>In our game, in each iteration, users select paths for their respective video flows. As it is shown in
<xref rid="f5-sensors-15-09039" ref-type="fig">Figure 5</xref>
, we have three possible situations. Without playing the game, all users would always send the important frames through the best path (
<xref rid="f5-sensors-15-09039" ref-type="fig">Figure 5a</xref>
). Alternatively, they could play our routing game. Notice that case (
<xref rid="f5-sensors-15-09039" ref-type="fig">Figure 5b</xref>
) is worse than (
<xref rid="f5-sensors-15-09039" ref-type="fig">Figure 5a</xref>
) for all users since they are sending their frames together through the medium-quality path (this should not happen often). In the third case (
<xref rid="f5-sensors-15-09039" ref-type="fig">Figure 5c</xref>
), I+P frames will be sent through the best available path by each user with a certain probability
<italic>p</italic>
and through the second best path available with a probability 1 −
<italic>p</italic>
.</p>
<p>Notice that players (users) must decide their choices simultaneously and without communicating with each other. If we have a number of I+P frames equal to
<italic>F</italic>
to be sent, depending on the
<italic>p</italic>
value, a number of I+P frames equal to
<italic>F</italic>
<sub>1</sub>
will be sent through the best path and a number of I+P frames equal to
<italic>F</italic>
<sub>2</sub>
will be sent through the medium-quality one, being
<italic>F</italic>
=
<italic>F</italic>
<sub>1</sub>
+
<italic>F</italic>
<sub>2</sub>
.
<italic>M</italic>
represents the number of B frames to be sent, always through the worst path.</p>
<p>In the next section we will compute the optimal probability
<italic>p</italic>
(called
<italic>p</italic>
*) of sending I+P frames through the best path that produces the best outcome for each player.</p>
</sec>
</sec>
<sec>
<label>5.</label>
<title>Game-Theoretical Routing Scheme for Video-Streaming in MANETs</title>
<p>A
<italic>game</italic>
can be described by listing the players participating in the game, a set of strategies for those players, and a specification of payoffs for each combination of strategies. Let
<italic>S</italic>
be a finite set of
<italic>N</italic>
players 1,…,
<italic>N</italic>
. Each player
<italic>i</italic>
has a finite set of available actions
<italic>A
<sub>i</sub>
</italic>
. Let
<italic>a
<sub>i</sub>
</italic>
<italic>A
<sub>i</sub>
</italic>
be each particular action chosen by player
<italic>i</italic>
. The action space,
<italic>A</italic>
, is the cartesian product of all
<italic>A
<sub>i</sub>
</italic>
,
<italic>i.e.</italic>
,
<italic>A</italic>
=
<italic>A</italic>
<sub>1</sub>
×
<italic>A</italic>
<sub>2</sub>
× …
<italic>A
<sub>N</sub>
</italic>
. An
<italic>N</italic>
-tuple action,
<italic>a</italic>
, is a point in the action space
<italic>A</italic>
. A
<italic>pure strategy</italic>
provides a complete definition of how a player will play a game. In particular, it determines the move a player will make for any situation it could face. A
<italic>mixed strategy</italic>
of player
<italic>i</italic>
,
<italic>α
<sub>i</sub>
</italic>
, is an assignment of a probability,
<italic>p
<sub>i</sub>
</italic>
<italic>P</italic>
= [0,1], to each pure strategy. This allows a player to randomly select among the set of pure strategies. Let
<italic>α</italic>
= (
<italic>α</italic>
<sub>1</sub>
,
<italic>α</italic>
<sub>2</sub>
,…,
<italic>α
<sub>N</sub>
</italic>
) be the mixed strategy profile, then the probability that a particular
<italic>N</italic>
-tuple action,
<italic>a</italic>
= (
<italic>a</italic>
<sub>1</sub>
,
<italic>a</italic>
<sub>2</sub>
,…,
<italic>a
<sub>N</sub>
</italic>
), will occur,
<italic>p</italic>
(
<italic>a</italic>
), is formed from the product of the probabilities assigned to
<italic>a</italic>
by
<italic>α</italic>
. Let
<italic>u
<sub>i</sub>
</italic>
be the
<italic>utility function</italic>
of player
<italic>i</italic>
in the strategic form game occurring in each stage. The utility function is a mathematical description of preferences that maps the action space to a set of real numbers. A utility function for a given player assigns a real number for every possible outcome of the game, so that a higher number implies that the outcome is more preferred.</p>
<p>
<disp-formula id="FD6">
<label>(5)</label>
<mml:math id="mm14">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo></mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>
<italic>U
<sub>i</sub>
</italic>
(
<italic>α</italic>
) is the expected utility for player
<italic>i</italic>
for the mixed strategy profile
<italic>α</italic>
, and has the following expression:
<disp-formula id="FD7">
<label>(6)</label>
<mml:math id="mm15">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:munder>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo></mml:mo>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>A strategic game
<italic>G</italic>
can be expressed using three primary components: the set of players
<italic>S</italic>
, the action space
<italic>A</italic>
, and the set of individual utility functions for player
<italic>i</italic>
,
<italic>u
<sub>i</sub>
</italic>
.</p>
<p>
<disp-formula id="FD8">
<label>(7)</label>
<mml:math id="mm16">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>A mixed strategies extension to
<italic>G</italic>
is given by the next expression, where Δ(
<italic>A
<sub>i</sub>
</italic>
) is the set of all probability distributions over
<italic>A
<sub>i</sub>
</italic>
and
<italic>U
<sub>i</sub>
</italic>
is the set of all expected utilities to
<italic>i</italic>
.</p>
<p>
<disp-formula id="FD9">
<label>(8)</label>
<mml:math id="mm17">
<mml:mrow>
<mml:msup>
<mml:mi>G</mml:mi>
<mml:mo></mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>A
<italic>best response</italic>
is a strategy which produces the most favorable outcome for a player, taking other players' strategies as given. A
<italic>Nash Equilibrium</italic>
(NE) [
<xref rid="b32-sensors-15-09039" ref-type="bibr">32</xref>
] is a solution in which each player plays a best response to the strategies of other players. Each player is assumed to know the strategies of the other players, and no player has incentive to unilaterally change their current strategy while the other players keep theirs unchanged. Players are in equilibrium if a change in strategies by any one of them would lead that player to earn less than if they remained with their current strategy. It is a mathematical fact that every mixed extension of a strategic game has at least one
<italic>mixed strategy Nash equilibrium</italic>
[
<xref rid="b32-sensors-15-09039" ref-type="bibr">32</xref>
].</p>
<p>To define best responses more generally, we need a notation for the set of strategies used by all players other than player
<italic>i</italic>
, named
<italic>α</italic>
<sub></sub>
<italic>
<sub>i</sub>
</italic>
:
<disp-formula id="FD10">
<label>(9)</label>
<mml:math id="mm18">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Strategy
<inline-formula>
<mml:math id="mm19">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
is a best response for player
<italic>i</italic>
to the strategies of all players except
<italic>i</italic>
,
<inline-formula>
<mml:math id="mm20">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
if:
<disp-formula id="FD11">
<label>(10)</label>
<mml:math id="mm21">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>This means that if
<inline-formula>
<mml:math id="mm22">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
is a best response for player
<italic>i</italic>
to the assumed set of strategies
<inline-formula>
<mml:math id="mm23">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
played by the other
<italic>N-1</italic>
players, then it must give player
<italic>i</italic>
a payoff at least as large as the player would get if they placed any other strategy
<italic>α
<sub>i</sub>
</italic>
from their set of allowed strategies. Equivalently, a best response (BR) correspondence to player
<italic>i</italic>
is given by :
<disp-formula id="FD12">
<label>(11)</label>
<mml:math id="mm24">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:mi>B</mml:mi>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">argmax</mml:mtext>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Let us remark that
<italic>argmax
<sub>x</sub>
F</italic>
(
<italic>x</italic>
) is the value of
<italic>x</italic>
for which
<italic>F</italic>
(
<italic>x</italic>
) has the largest value. A joint strategy
<inline-formula>
<mml:math id="mm25">
<mml:mrow>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
is a NE if, for each player
<italic>i</italic>
,
<inline-formula>
<mml:math id="mm26">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
is a best response to
<inline-formula>
<mml:math id="mm27">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
.</p>
<p>Remember that every finite game (finite number of players, each of which with a finite set of strategies) has Nash equilibria in either mixed or pure strategies [
<xref rid="b33-sensors-15-09039" ref-type="bibr">33</xref>
,
<xref rid="b34-sensors-15-09039" ref-type="bibr">34</xref>
].</p>
<sec>
<label>5.1.</label>
<title>The Benefit of Using a Particular Path to Transmit the I+P Video Frames</title>
<p>Before defining the player's utility of the game, we will define a parameter that evaluates the benefit of using a particular path. As we have mentioned before, we assume that we always have at least two available paths (best and medium-quality paths) to send packets. Each path will have its own benefit as we describe next.</p>
<p>
<bold>Definition:</bold>
<italic>The benefit of a path
<sub>k</sub>
</italic>
is:
<disp-formula id="FD13">
<label>(12)</label>
<mml:math id="mm28">
<mml:mrow>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>if the path fulfills the Qos requirements</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext>see Equation</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>otherwise</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>ϕ
<sub>k</sub>
</italic>
∈ ℝ*.</p>
<p>Let us assign
<italic>ϕ
<sub>k</sub>
</italic>
=
<italic>ϕ
<sub>b</sub>
</italic>
as the benefit for the best path and
<italic>ϕ
<sub>k</sub>
</italic>
=
<italic>ϕ
<sub>m</sub>
</italic>
as the benefit for the medium-quality path, where
<italic>ϕ
<sub>b</sub>
</italic>
and
<italic>ϕ
<sub>m</sub>
</italic>
∈ ℝ*. Later, we will relate
<italic>ϕ
<sub>b</sub>
</italic>
and
<italic>ϕ
<sub>m</sub>
</italic>
with the subjective QoS experienced by the users regarding the video frames received from each path (see
<xref rid="FD24" ref-type="disp-formula">Equation (23)</xref>
). Strategy
<italic>α
<sub>i</sub>
</italic>
is defined as follows:
<disp-formula id="FD14">
<label>(13)</label>
<mml:math id="mm29">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>Transmit using the best path</mml:mtext>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>Transmit using the medium-quality path</mml:mtext>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Probability
<italic>p</italic>
is the probability of sending (I+P) frames through the best path and probability (1 −
<italic>p</italic>
) is the probability of sending those frames through the medium-quality path.</p>
</sec>
<sec>
<label>5.2.</label>
<title>Design of the Utility Function</title>
<p>The utility function
<italic>U
<sub>i</sub>
</italic>
designed for our game-theoretical routing protocol aims at achieving two goals: Minimizing the rate of (I+P) frames lost and minimizing the delay jitter, since these two parameters are most significant in video-streaming services. An initial short delay can be easily bearable by the user. Part of that delay would be produced after gathering frames in the reception buffer to reorder frames before the decoding process. The proposed utility function for player
<italic>i</italic>
is the following:
<disp-formula id="FD15">
<label>(14)</label>
<mml:math id="mm30">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="true"></mml:mo>
</mml:munder>
<mml:mrow>
<mml:mtext>Best path</mml:mtext>
</mml:mrow>
</mml:munder>
<mml:mo>+</mml:mo>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="true"></mml:mo>
</mml:munder>
<mml:mrow>
<mml:mtext>Medium path</mml:mtext>
</mml:mrow>
</mml:munder>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>All variables presented in
<xref rid="FD15" ref-type="disp-formula">Equation (14)</xref>
are defined in
<xref rid="t1-sensors-15-09039" ref-type="table">Table 1</xref>
.</p>
<p>Now let us relate
<italic>n
<sub>sb,i</sub>
</italic>
and
<italic>n
<sub>sm,i</sub>
</italic>
with
<italic>n
<sub>s,i</sub>
</italic>
:
<disp-formula id="FD16">
<label>(15)</label>
<mml:math id="mm31">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD17">
<label>(16)</label>
<mml:math id="mm32">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>n
<sub>s,i</sub>
</italic>
=
<italic>n
<sub>sb,i</sub>
</italic>
+
<italic>n
<sub>sm,i</sub>
</italic>
.</p>
<p>Substituting
<xref rid="FD16" ref-type="disp-formula">Equations (15)</xref>
and
<xref rid="FD17" ref-type="disp-formula">(16)</xref>
in
<xref rid="FD15" ref-type="disp-formula">Equation (14)</xref>
we get the following:
<disp-formula id="FD18">
<label>(17)</label>
<mml:math id="mm33">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="true"></mml:mo>
</mml:munder>
<mml:mrow>
<mml:mtext>Best path</mml:mtext>
</mml:mrow>
</mml:munder>
<mml:mo>+</mml:mo>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="true"></mml:mo>
</mml:munder>
<mml:mrow>
<mml:mtext>Medium path</mml:mtext>
</mml:mrow>
</mml:munder>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Notice that each player makes his/her own path classification,
<italic>i.e.</italic>
, each player might have different best and medium-quality paths.</p>
<p>In
<xref rid="FD15" ref-type="disp-formula">Equation (14)</xref>
, we have made our utility function
<italic>U
<sub>i</sub>
</italic>
to be proportional to the negative of the I+P frames losses. This way, the utility increases as the losses decrease, for both the best and the medium-quality paths. Besides,
<italic>U
<sub>i</sub>
</italic>
is a concave function so that we ensure to have a
<italic>p</italic>
value that produces the maximum utility. In
<xref rid="FD15" ref-type="disp-formula">Equation (14)</xref>
,
<inline-formula>
<mml:math id="mm34">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
is the negative of the I+P frame losses through the best path and
<inline-formula>
<mml:math id="mm35">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
is the negative of the I+P frame losses through the medium-quality path.</p>
<p>Besides,
<italic>U
<sub>i</sub>
</italic>
is proportional to the benefit of the path (
<italic>β
<sub>k</sub>
</italic>
, expressed in
<xref rid="FD13" ref-type="disp-formula">Equation (12)</xref>
), that equals
<italic>ϕ
<sub>b</sub>
</italic>
and
<italic>ϕ
<sub>m</sub>
</italic>
for the best and the medium-quality path, respectively. Finally,
<italic>U
<sub>i</sub>
</italic>
is inversely proportional to the jitter delay, so that the utility increases as the jitter delay decreases. This is reflected as (
<inline-formula>
<mml:math id="mm36">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
) and (
<inline-formula>
<mml:math id="mm37">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
), for the best and the medium-quality paths, respectively. We can see a numerical example of the utility function in Section (7.2.3).</p>
<p>Depending upon the values of the utilities, pure strategies may not exist, but in that case there are always mixed strategies [
<xref rid="b33-sensors-15-09039" ref-type="bibr">33</xref>
,
<xref rid="b34-sensors-15-09039" ref-type="bibr">34</xref>
]. The mixed strategy
<inline-formula>
<mml:math id="mm38">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
is a (NE) if the utilities
<italic>U
<sub>i</sub>
</italic>
(
<italic>i</italic>
= 1,…,
<italic>N</italic>
), satisfy
<xref rid="FD12" ref-type="disp-formula">Equation (11)</xref>
. If there exists a mixed Nash equilibrium, player
<italic>i</italic>
will have a best response. To obtain it,
<italic>U
<sub>i</sub>
</italic>
must be maximized:
<disp-formula id="FD19">
<label>(18)</label>
<mml:math id="mm39">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>For the sake of a simpler writing we will omit the
<italic>i</italic>
index to refer the user in the previous variables shown in
<xref rid="t1-sensors-15-09039" ref-type="table">Table 1</xref>
. Thus, we will use
<italic>n
<sub>sb</sub>
</italic>
instead of
<italic>n
<sub>sb,i</sub>
</italic>
, and so on.</p>
<p>Then, applying
<xref rid="FD19" ref-type="disp-formula">Equation (18)</xref>
in
<xref rid="FD18" ref-type="disp-formula">Equation (17)</xref>
we obtain:
<disp-formula id="FD20">
<label>(19)</label>
<mml:math id="mm40">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>To simplify the previous equation, we assume that
<italic>J
<sub>b</sub>
</italic>
,
<italic>J
<sub>m</sub>
</italic>
,
<italic>n
<sub>sb</sub>
</italic>
,
<italic>n
<sub>sm</sub>
</italic>
and
<italic>n
<sub>s</sub>
</italic>
are greater than zero. This assumption has sense since a jitter equal to zero is very improbable and at least one frame should have been sent as well. We define the following variables:
<disp-formula id="FD21">
<label>(20)</label>
<mml:math id="mm41">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Next, we substitute
<xref rid="FD21" ref-type="disp-formula">Equation (20)</xref>
in
<xref rid="FD20" ref-type="disp-formula">Equation (19)</xref>
and we get:
<disp-formula id="FD22">
<label>(21)</label>
<mml:math id="mm42">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mo stretchy="true">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="true">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Then, by combining both
<xref rid="FD19" ref-type="disp-formula">Equations (18)</xref>
and
<xref rid="FD22" ref-type="disp-formula">(21)</xref>
, we attain the solution for the best probability of sending (I+P) frames through the best path, that gives a NE in the utility function
<italic>U
<sub>i</sub>
</italic>
. This is called as the best response of the game. Thus, using
<inline-formula>
<mml:math id="mm43">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
to compute the probability of sending I+P frames through the best path, is a strategy which produces the most favorable outcome for player
<italic>i</italic>
, taking the other players' strategies as a given.</p>
<p>
<disp-formula id="FD23">
<label>(22)</label>
<mml:math id="mm44">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>This way, each player
<italic>i</italic>
will continuously update his/her best response
<inline-formula>
<mml:math id="mm45">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
using
<xref rid="FD23" ref-type="disp-formula">Equation (22)</xref>
. To do so, the user easily obtains from the RTCP feedback packets: the number of I+P frames received so far from the best and the medium-quality paths (
<italic>n
<sub>rb</sub>
</italic>
and
<italic>n
<sub>rm</sub>
</italic>
, respectively), the number of I+P frames sent so far (
<italic>n
<sub>s</sub>
</italic>
) and the jitter delay through the best and the medium-quality paths (
<italic>J
<sub>b</sub>
</italic>
and
<italic>J
<sub>m</sub>
</italic>
, respectively). In the next section, we explain how the user computes the benefits for the best and the medium-quality paths.</p>
</sec>
<sec>
<label>5.3.</label>
<title>Paths' Benefits Computation</title>
<p>We have designed the value of the benefit of a path to be proportional to the subjective video quality perceived by the user regarding the video frames received from that path. In this work, we use the MOS (Mean Opinion Score) as a measure of the subjective QoS.</p>
<p>Accordingly, we define the following equations to compute the benefits of the best and medium-quality paths,
<italic>ϕ
<sub>b</sub>
</italic>
and
<italic>ϕ
<sub>m</sub>
</italic>
, respectively:
<disp-formula id="FD24">
<label>(23)</label>
<mml:math id="mm46">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mtext mathvariant="italic">and</mml:mtext>
<mml:mspace width="0.2em"></mml:mspace>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>k
<sub>b</sub>
</italic>
and
<italic>k
<sub>m</sub>
</italic>
are constants, [
<italic>k
<sub>b</sub>
</italic>
,
<italic>k
<sub>m</sub>
</italic>
] ∈ ℝ*.</p>
<p>Notice that
<italic>k
<sub>b</sub>
</italic>
and
<italic>k
<sub>m</sub>
</italic>
cannot equal zero because in this case,
<italic>ϕ
<sub>b</sub>
</italic>
and
<italic>ϕ
<sub>m</sub>
</italic>
would be zero too, which means that both paths would not satisfy the QoS parameters (see
<xref rid="FD13" ref-type="disp-formula">Equation (12)</xref>
). The first condition for a path to be used by the sources is
<xref rid="FD13" ref-type="disp-formula">Equation (12)</xref>
; otherwise that path would not be taken into consideration.</p>
<p>Substituting
<xref rid="FD24" ref-type="disp-formula">Equation (23)</xref>
in
<xref rid="FD21" ref-type="disp-formula">Equation (20)</xref>
, we get
<disp-formula id="FD25">
<label>(24)</label>
<mml:math id="mm47">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mtext mathvariant="italic">and</mml:mtext>
<mml:mspace width="0.2em"></mml:mspace>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Next, using
<xref rid="FD25" ref-type="disp-formula">Equation (24)</xref>
in
<xref rid="FD23" ref-type="disp-formula">Equation (22)</xref>
we have this expression for the best response probability,
<inline-formula>
<mml:math id="mm48">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
:
<disp-formula id="FD26">
<label>(25)</label>
<mml:math id="mm49">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Let
<inline-formula>
<mml:math id="mm50">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
. As
<italic>k
<sub>m</sub>
</italic>
is different from zero, we can divide the whole equation
<xref rid="FD26" ref-type="disp-formula">Equation (25)</xref>
by
<italic>k
<sub>m</sub>
</italic>
. After substituting, we obtain the Nash Equilibrium strategy for player
<italic>i</italic>
:
<disp-formula id="FD27">
<label>(26)</label>
<mml:math id="mm51">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>We designed
<italic>U
<sub>i</sub>
</italic>
to be a concave function, so that there is one
<italic>p</italic>
* value where
<italic>U
<sub>i</sub>
</italic>
is on its maximum value. Due to that,
<inline-formula>
<mml:math id="mm52">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
must be less than zero. This way, deriving
<xref rid="FD22" ref-type="disp-formula">Equation (21)</xref>
we obtain:
<disp-formula id="FD28">
<label>(27)</label>
<mml:math id="mm53">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mo stretchy="true">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="true">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>As we need that
<inline-formula>
<mml:math id="mm54">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo><</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
,
<disp-formula id="FD29">
<label>(28)</label>
<mml:math id="mm55">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>></mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mi></mml:mi>
<mml:mo>*</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi></mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Concluding, if player
<italic>i</italic>
adopts the strategy to send his/her (I+P) frames through the best path with a certain probability that equals
<inline-formula>
<mml:math id="mm56">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
(see
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
), his/her own benefit and the whole benefit of the network will be the highest.</p>
<p>All values needed to compute
<inline-formula>
<mml:math id="mm57">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, except
<italic>k
<sub>b/m</sub>
</italic>
, can be obtained during normal network operation from the feedback information given by the RTCP packets. This way, users will update the probability
<inline-formula>
<mml:math id="mm58">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
with the current QoS parameters carried in the last received RTCP packet. Thus,
<italic>k
<sub>b</sub>
</italic>
<sub>/</sub>
<italic>
<sub>m</sub>
</italic>
is the single pending parameter to be obtained in
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
. In the next section, we will give a method to calculate analytically this parameter.</p>
</sec>
</sec>
<sec>
<label>6.</label>
<title>A Method to Calculate
<italic>k
<sub>b</sub>
</italic>
<sub>/</sub>
<italic>
<sub>m</sub>
</italic>
</title>
<p>
<italic>MOS
<sub>b</sub>
</italic>
and
<italic>MOS
<sub>m</sub>
</italic>
are the mean opinion score values measured in the best and the medium-quality path, respectively. They can take any value between 1 and 5, where 5 means
<italic>Excellent</italic>
, 4 means
<italic>Good</italic>
, 3
<italic>Fair</italic>
, 2
<italic>Poor</italic>
and 1
<italic>Bad</italic>
. After making a video-streaming test, we obtained the following results shown in
<xref rid="t2-sensors-15-09039" ref-type="table">Table 2</xref>
and
<xref rid="f6-sensors-15-09039" ref-type="fig">Figure 6</xref>
. For further information about the test please see the
<xref rid="app1" ref-type="app">Appendix A</xref>
.</p>
<p>Now, our goal is to calculate
<italic>k
<sub>b/m</sub>
</italic>
so we can compute the value of
<inline-formula>
<mml:math id="mm59">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
using
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
. Three conditions will limit the computing of
<italic>k
<sub>b/m</sub>
</italic>
: 0 ≤
<italic>p
<sub>i</sub>
</italic>
≤ 1 and
<italic>U
<sub>i</sub>
</italic>
being a concave function. Below, we will study separately those three conditions.</p>
<sec>
<label>6.1.</label>
<title>Condition 1:
<italic>p
<sub>i</sub>
</italic>
≥ 0</title>
<p>Combining
<xref rid="FD23" ref-type="disp-formula">Equation (22)</xref>
with
<italic>p
<sub>i</sub>
</italic>
≥ 0, we get that:
<disp-formula id="FD30">
<label>(29)</label>
<mml:math id="mm60">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Remember that
<xref rid="FD29" ref-type="disp-formula">Equation (28)</xref>
, which is the denominator of
<xref rid="FD30" ref-type="disp-formula">Equation (29)</xref>
must also be fulfilled. Thus, we need:
<disp-formula id="FD31">
<label>(30)</label>
<mml:math id="mm61">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>After that, we substitute
<xref rid="FD25" ref-type="disp-formula">Equation (24)</xref>
in
<xref rid="FD31" ref-type="disp-formula">Equation (30)</xref>
to get the following first condition to be fulfilled by
<italic>k
<sub>b/m</sub>
</italic>
:
<disp-formula id="FD32">
<label>(31)</label>
<mml:math id="mm62">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Now, if we multiply the whole inequation
<xref rid="FD32" ref-type="disp-formula">Equation (31)</xref>
by
<inline-formula>
<mml:math id="mm63">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msup>
<mml:mo></mml:mo>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
and rename
<inline-formula>
<mml:math id="mm64">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
by
<italic>k
<sub>b/m</sub>
</italic>
:
<disp-formula id="FD33">
<label>(32)</label>
<mml:math id="mm65">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD34">
<label>(33)</label>
<mml:math id="mm66">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD35">
<label>(34)</label>
<mml:math id="mm67">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec>
<label>6.2.</label>
<title>Condition 2:
<italic>p
<sub>i</sub>
</italic>
≤ 1</title>
<p>Combining
<xref rid="FD23" ref-type="disp-formula">Equation (22)</xref>
with
<italic>p
<sub>i</sub>
</italic>
≤ 1 leads to:
<disp-formula id="FD36">
<label>(35)</label>
<mml:math id="mm68">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Looking at
<xref rid="FD29" ref-type="disp-formula">Equation (28)</xref>
, we can write:
<disp-formula id="FD37">
<label>(36)</label>
<mml:math id="mm69">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>ϕ</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Now, we substitute
<xref rid="FD25" ref-type="disp-formula">Equation (24)</xref>
in
<xref rid="FD37" ref-type="disp-formula">Equation (36)</xref>
to get:
<disp-formula id="FD38">
<label>(37)</label>
<mml:math id="mm70">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Again, we multiply the whole inequation by
<inline-formula>
<mml:math id="mm71">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msup>
<mml:mo></mml:mo>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
and rename
<inline-formula>
<mml:math id="mm72">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
by
<italic>k
<sub>b/m</sub>
</italic>
:
<disp-formula id="FD39">
<label>(38)</label>
<mml:math id="mm73">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
and removing
<inline-formula>
<mml:math id="mm74">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
from both sides, we reach to:
<disp-formula id="FD40">
<label>(39)</label>
<mml:math id="mm75">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Now, before we continue we will find out which is the sign of the expression (
<italic>
<sub>b</sub>
</italic>
− 2).
<italic>
<sub>b</sub>
</italic>
was defined in
<xref rid="FD21" ref-type="disp-formula">Equation (20)</xref>
as the relation between the number of I+P frames received from the best path (
<italic>n
<sub>rb</sub>
</italic>
) and the total number of I+P frames sent (
<italic>n
<sub>s</sub>
</italic>
).</p>
<p>
<disp-formula id="FD41">
<label>(40)</label>
<mml:math id="mm76">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
since
<italic>n
<sub>rb</sub>
</italic>
<italic>n
<sub>sb</sub>
</italic>
(some I+P frames might have been lost through the best path) and
<italic>min</italic>
(
<italic>n
<sub>sm</sub>
</italic>
) = 0 (that minimum value is obtained when no frame was sent through the medium-quality path).</p>
<p>Therefore,
<disp-formula id="FD42">
<label>(41)</label>
<mml:math id="mm77">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Finally, the second inequation to be fulfilled by
<italic>k
<sub>b/m</sub>
</italic>
is:
<disp-formula id="FD43">
<label>(42)</label>
<mml:math id="mm78">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec>
<label>6.3.</label>
<title>Condition 3: Concave Function
<italic>U
<sub>i</sub>
</italic>
</title>
<p>For
<italic>U
<sub>i</sub>
</italic>
to be a concave function,
<xref rid="FD29" ref-type="disp-formula">Equation (28)</xref>
must be fulfilled. Substituting
<xref rid="FD25" ref-type="disp-formula">Equation (24)</xref>
in
<xref rid="FD29" ref-type="disp-formula">Equation (28)</xref>
, we get:
<disp-formula id="FD44">
<label>(43)</label>
<mml:math id="mm79">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>If we multiply the whole inequation by
<inline-formula>
<mml:math id="mm80">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msup>
<mml:mo></mml:mo>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
and rename
<inline-formula>
<mml:math id="mm81">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
by
<italic>k
<sub>b/m</sub>
</italic>
, we get:
<disp-formula id="FD45">
<label>(44)</label>
<mml:math id="mm82">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>></mml:mo>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Finally, we obtain
<xref rid="FD46" ref-type="disp-formula">Equation (45)</xref>
as the third condition to be fulfilled by
<italic>k
<sub>b/m</sub>
</italic>
:
<disp-formula id="FD46">
<label>(45)</label>
<mml:math id="mm83">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec>
<label>6.4.</label>
<title>The Three Inequations to Be Fulfilled by
<italic>k
<sub>b</sub>
</italic>
<sub>/</sub>
<italic>
<sub>m</sub>
</italic>
</title>
<p>We first rewrite the three inequations to be satisfied by
<italic>k
<sub>b/m</sub>
</italic>
:
<xref rid="FD35" ref-type="disp-formula">Equations (34)</xref>
,
<xref rid="FD43" ref-type="disp-formula">(42)</xref>
and
<xref rid="FD46" ref-type="disp-formula">(45)</xref>
. Besides, we will rename the thresholds of the three inequations as
<italic>α</italic>
<sub>0</sub>
,
<italic>α</italic>
<sub>1</sub>
and
<italic>α</italic>
<sub>2</sub>
, respectively
<disp-formula id="FD47">
<label>(46)</label>
<mml:math id="mm84">
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr columnalign="right">
<mml:mtd columnalign="right">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="right">
<mml:mtd columnalign="right">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="right">
<mml:mtd columnalign="right">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>We need to find a value for
<italic>k
<sub>b/m</sub>
</italic>
that satisfies the three inequations. First of all, the range of solutions for
<italic>k
<sub>b/m</sub>
</italic>
is ]
<italic>K
<sub>b/m</sub>
</italic>
, +∞), where
<italic>K
<sub>b/m</sub>
</italic>
will be the maximum value among
<italic>α</italic>
<sub>0</sub>
,
<italic>α</italic>
<sub>1</sub>
and
<italic>α</italic>
<sub>2</sub>
. The probability
<inline-formula>
<mml:math id="mm85">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
of sending (I+P) frames through the best path is depicted in
<xref rid="f7-sensors-15-09039" ref-type="fig">Figure 7</xref>
. The limit of
<inline-formula>
<mml:math id="mm86">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
when
<italic>k
<sub>b/m</sub>
</italic>
<italic></italic>
(horizontal asymptote) can be obtained from
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
and it has the following value:
<disp-formula id="FD48">
<label>(47)</label>
<mml:math id="mm87">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mo>lim</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mo></mml:mo>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The vertical asymptote occurs at
<italic>k
<sub>b/m</sub>
</italic>
-value that makes the denominator zero (
<italic>i.e.</italic>
,
<italic>k
<sub>b/m</sub>
</italic>
=
<italic>α</italic>
<sub>0</sub>
). We should find a value for
<italic>k
<sub>b/m</sub>
</italic>
in the range ]
<italic>K
<sub>b/m</sub>
</italic>
, +∞) with which
<inline-formula>
<mml:math id="mm88">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
changes softly throughout time. This way, the transition in the selection between the best and the medium-quality paths will be smooth producing a more stable system. For that, we calculate the first derivative
<inline-formula>
<mml:math id="mm89">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
, which represents the slope value for each
<italic>k
<sub>b/m</sub>
</italic>
>
<italic>K
<sub>b/m</sub>
</italic>
(
<italic>i.e.</italic>
, Zone of interest).</p>
<p>
<disp-formula id="FD49">
<label>(48)</label>
<mml:math id="mm90">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>After simplifying the equation, we obtain:
<disp-formula id="FD50">
<label>(49)</label>
<mml:math id="mm91">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Now, we isolate
<italic>k
<sub>b/m</sub>
</italic>
from
<xref rid="FD50" ref-type="disp-formula">Equation (49)</xref>
in terms of
<inline-formula>
<mml:math id="mm92">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
and we get the following expression:
<disp-formula id="FD51">
<label>(50)</label>
<mml:math id="mm93">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>±</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Here, we can see that (
<italic>
<sub>b</sub>
</italic>
+
<italic>ĥ
<sub>m</sub>
</italic>
–2) < 0, since
<inline-formula>
<mml:math id="mm94">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
, and
<inline-formula>
<mml:math id="mm95">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
. Look at
<xref rid="FD41" ref-type="disp-formula">Equation (40)</xref>
to see the easy justification for both expressions.</p>
<p>Consequently, we need that
<inline-formula>
<mml:math id="mm96">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
to compute a proper
<italic>k
<sub>b/m</sub>
</italic>
value.</p>
<p>The parameters of
<xref rid="FD51" ref-type="disp-formula">Equation (50)</xref>
that can be calculated during operation time are: the number of I+P frames received from the best path (
<italic>n
<sub>rb</sub>
</italic>
) and the number of I+P frames sent through the best path (
<italic>n
<sub>sb</sub>
</italic>
) to compute
<inline-formula>
<mml:math id="mm97">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
; the number of I+P frames received from the medium-quality path (
<italic>n
<sub>rm</sub>
</italic>
) and the number of I+P frames sent through the medium-quality path (
<italic>n
<sub>sm</sub>
</italic>
) to compute
<inline-formula>
<mml:math id="mm98">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
; the jitter delay through the best and the medium-quality paths (
<italic>J
<sub>b</sub>
</italic>
and
<italic>J
<sub>m</sub>
</italic>
, respectively) computed from the RTCP packets; and the MOS of the best and the medium-quality paths, computed with
<xref rid="FD62" ref-type="disp-formula">Equation (B1)</xref>
presented in the
<xref rid="app2" ref-type="app">Appendix B</xref>
.</p>
<p>The only variable in
<xref rid="FD51" ref-type="disp-formula">Equation (50)</xref>
that is not defined yet is
<inline-formula>
<mml:math id="mm99">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
. To design a proper value for
<inline-formula>
<mml:math id="mm100">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
, we carried out a high amount of simulations under different network conditions and with different values of
<inline-formula>
<mml:math id="mm101">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
and we noticed that with a value of
<inline-formula>
<mml:math id="mm102">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo></mml:mo>
<mml:mn>0.2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
, the variation of
<inline-formula>
<mml:math id="mm103">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
throughout time was soft without sharp changes. From
<xref rid="FD51" ref-type="disp-formula">Equation (50)</xref>
, we see that we have two possible values for
<italic>k
<sub>b/m</sub>
</italic>
, one of them is higher than
<italic>K
<sub>b/m</sub>
</italic>
and the other one is lower than
<italic>K
<sub>b/m</sub>
</italic>
, so we take the one which belongs to the range ]
<italic>K
<sub>b/m</sub>
</italic>
, +∞).</p>
<p>To conclude with, Algorithm 1 summarizes the methodology to compute the best response probability
<inline-formula>
<mml:math id="mm104">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
for player
<italic>i</italic>
to send his/her I+P frames through the best path.</p>
<p>
<array>
<tbody>
<tr>
<td valign="bottom" align="center" colspan="2" rowspan="1">
<hr></hr>
</td>
</tr>
<tr>
<td valign="top" align="left" colspan="2" rowspan="1">
<bold>Algorithm 1</bold>
Calculation of
<inline-formula>
<mml:math id="mm105">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, the best response probability for player
<italic>i</italic>
that maximizes his/her utility function
<italic>U
<sub>i</sub>
</italic>
.</td>
</tr>
<tr>
<td valign="bottom" align="center" colspan="2" rowspan="1">
<hr></hr>
</td>
</tr>
<tr>
<td valign="top" align="left" colspan="2" rowspan="1">
<bold>Require:</bold>
Obtain updated QoS values from the periodically received RTCP packets.</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">1:</td>
<td valign="top" align="left" rowspan="1" colspan="1">Obtain the values of (
<italic>MOS
<sub>b</sub>
</italic>
,
<italic>MOS
<sub>m</sub>
</italic>
,
<italic>J
<sub>b</sub>
</italic>
,
<italic>J
<sub>m</sub>
</italic>
,
<italic>
<sub>b</sub>
</italic>
,
<italic>
<sub>m</sub>
</italic>
)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">2:</td>
<td valign="top" align="left" rowspan="1" colspan="1">Compute the
<italic>k
<sub>b/m</sub>
</italic>
parameter designed that fulfills the requirements.</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1"></td>
<td valign="top" align="left" rowspan="1" colspan="1">
<mml:math id="mm106">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mroot>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:msup>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>±</mml:mo>
</mml:mroot>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">3:</td>
<td valign="top" align="left" rowspan="1" colspan="1">Calculate the probability
<mml:math id="mm107">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
to send I+P frames through the best path, that maximizes the utility function
<italic>U
<sub>i</sub>
</italic>
</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1"></td>
<td valign="top" align="left" rowspan="1" colspan="1">
<mml:math id="mm108">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</td>
</tr>
<tr>
<td valign="bottom" align="center" colspan="2" rowspan="1">
<hr></hr>
</td>
</tr>
</tbody>
</array>
</p>
</sec>
</sec>
<sec>
<label>7.</label>
<title>Simulation Results</title>
<p>In this section, we first depict a case study in a smart city about which we will set the NS2 simulation scenarios. The case study involves an emergency situation in MANETs and VANETs to transmit a multimedia warning message to the closest emergency unit and to alert other citizens around. After that, we present a performance evaluation in a MANET scenario in Subsection 7.2, and in a VANET scenario in Subsection 7.3.</p>
<sec>
<label>7.1.</label>
<title>A Case Study in a Smart City</title>
<p>We focus this research work on two realistic smart city scenarios. A mobile adhoc network (MANET) and a vehicular ad hoc network (VANET), where emergency prevention and response are key issues. In the two scenarios under consideration, we assume that in a given moment an accident happened. Most of the citizens nowadays carry mobile phones or tablets. In the MANET/VANET scenario, we assume that a smart citizen/driver witnesses the situation, makes a short video-warning message (the driver will just push a button that will make a small exterior car-mounted camera shoot the video) about the accident and sends it through the MANETAANET to the nearest emergency unit (e.g., police, ambulances, hospitals). Authorities will respond upon receiving the video and will take proper actions. This way, with a video-warning message the emergency can be evaluated much better than with a simple text. It would be easier to ensure an accurate interpretation of the situation and the accident could be treated with the adequate level of seriousness. The smart citizen/driver sends a multimedia message which includes different information regarding the incident, e.g., the GPS location, a voice message and a short video of the incident. A suitable kind of smart-911 (112 in Europe) application in the citizen's mobile/vehicle sends the multimedia message to the smart-911 emergency center, who manages the proper actions for that incident. For instance, ambulances and paramedical will be sent there, traffic lights will turn to red around the accident, a green wave of traffic lights will help the ambulances get there sooner, the nearest hospital is warned, the doctors wait for the injuries,
<italic>etc</italic>
. A video of the incident facilitates a preliminary evaluation of the wounded people as well as helps to better determine the requirements needed to manage the dangerous situation. Our purpose in this work is to design a game-theoretical multipath routing protocol suitable to transmit those video-warning messages over MANETs/VANETs in this kind of smart city scenarios. In the next section, a detailed performance evaluation in the MANET scenario will be studied, whereas a first brief performance evaluation in a VANET scenario is done in Section 7.3.</p>
</sec>
<sec>
<label>7.2.</label>
<title>Performance Evaluation in a MANET Scenario</title>
<p>We implemented our proposal in the open source network simulator NS2 [
<xref rid="b35-sensors-15-09039" ref-type="bibr">35</xref>
] where we conducted simulations to evaluate the benefits of our approach. The MANET scenario was generated with the Bonnmotion tool [
<xref rid="b36-sensors-15-09039" ref-type="bibr">36</xref>
]. The same quantity of interfering CBR traffic was generated in each simulation to constrain the paths. For instance, for 2 players, we generated interfering CBR traffic at 300 Kbps, 200 Kbps for 3 players, 150 kbps for 4 players and 120 kbps for 5 players. This way, a total interference CBR raffic of 600 Kbps was sent whatever the number of players was. The simulation settings of the scenario are shown in
<xref rid="t3-sensors-15-09039" ref-type="table">Table 3</xref>
. All the figures show confidence intervals (CI) of 90 percent obtained from 20 simulations per point, each simulation with an independent Bonnmotion scenario.</p>
<p>The scenario used to test the proposal consists of a set of 50 mobile nodes distributed in a MANET of 520 × 520 m
<sup>2</sup>
. The transmission range of the nodes is 120 m. Nodes move with a speed up to 2 m/s. Video flows are transmitted from nodes
<italic>S
<sub>i</sub>
</italic>
to nodes
<italic>D
<sub>i</sub>
</italic>
, 1 ≤
<italic>i</italic>
<italic>N</italic>
where
<italic>N</italic>
is the number of players (sources). The paths discovered by the MMDSR routing protocol are classified by each user using the MMDSR path classification described in Section 3.4. Each source decides the path to route packets according to the game-theoretical routing algorithm presented in Section 5 and depicted in
<xref rid="f5-sensors-15-09039" ref-type="fig">Figure 5</xref>
.</p>
<p>
<xref rid="f8-sensors-15-09039" ref-type="fig">Figure 8</xref>
shows the average percentage of packet losses when using the game-theoretical scheme for a variable
<italic>p</italic>
value calculated using Algorithm 1 against the case of non using it (Non game option). We can clearly notice how including the game-theoretical routing scheme, the average video packet losses are reduced around 10% for
<italic>N</italic>
= 2 to 5 users. The average packet losses decreases due to the optimal selection of paths based on a probability value (
<italic>i.e.</italic>
,
<italic>p</italic>
*) that optimally balances the load among the two paths at stake (
<italic>i.e.</italic>
, the best and the medium-quality paths).
<xref rid="f9-sensors-15-09039" ref-type="fig">Figure 9</xref>
depicts the (I+P) packet losses throughout simulation time. In this case, we see how using the game-theoretical model, losses are around 20% lower than non using it.</p>
<p>
<xref rid="f10-sensors-15-09039" ref-type="fig">Figure 10</xref>
depicts the average end-to-end packet delay. We can see that the case including the Game scheme improves the delay compared to the Non Game case. This is specially notable (around half a second) for a high number of sources
<italic>N</italic>
= 4 or 5, since in those cases, the amount of traffic is much higher and a smart selection of the forwarding paths gains importance.</p>
<p>
<xref rid="f11-sensors-15-09039" ref-type="fig">Figures 11</xref>
and
<xref rid="f12-sensors-15-09039" ref-type="fig">12</xref>
depict the average delay jitter suffered by packets through the best and the medium-quality path, respectively. In both cases, the jitter using the game-theoretical scheme shows a slightly better result against the Non Game case for 2 to 4 players. The improvement is notably higher for 5 sources, when the jitter is also higher due to the high traffic that produces a higher variation in the packet delays.</p>
<p>
<xref rid="f13-sensors-15-09039" ref-type="fig">Figure 13</xref>
depicts the peak signal-to-noise ratio (PSNR) obtained for 2, 3, 4 and 5 players. We can see that the case including the Game scheme improves the PSNR compared to the Non Game case. Also, PSNR decreases as
<italic>N</italic>
increases. This is because as
<italic>N</italic>
increases, the number of video frames to be sent increases, causing more packet losses and as a result a lower PSNR.</p>
<sec>
<label>7.2.1.</label>
<title>Gain for I and P Frames</title>
<p>To better see separately the gain obtained for I and P frames, we define the following parameters:
<disp-formula id="FD52">
<label>(51)</label>
<mml:math id="mm109">
<mml:mrow>
<mml:mo>%</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">GainI</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">ILNG</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">ILG</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">ILNG</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD53">
<label>(52)</label>
<mml:math id="mm110">
<mml:mrow>
<mml:mo>%</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">GainP</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">PLNG</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">PLG</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">PLNG</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
where
<list list-type="bullet">
<list-item>
<p>
<italic>i</italic>
: 2, 3, 4 and 5 sources (players).</p>
</list-item>
<list-item>
<p>
<italic>ILNG
<sub>i</sub>
</italic>
: percentage of packet losses for I frames when the game-theoretical scheme is not used.</p>
</list-item>
<list-item>
<p>
<italic>ILG
<sub>i</sub>
</italic>
: percentage of packet losses for I frames when the game-theoretical scheme is used.</p>
</list-item>
<list-item>
<p>
<italic>PLNG
<sub>i</sub>
</italic>
: percentage of packet losses for P frames when the game-theoretical scheme is not used.</p>
</list-item>
<list-item>
<p>
<italic>PLG
<sub>i</sub>
</italic>
: percentage of packet losses for P frames when the game-theoretical scheme is used.</p>
</list-item>
<list-item>
<p>
<italic>GainI
<sub>i</sub>
</italic>
: Gain obtained for I frames using the game-theoretical scheme with respect to not using it.</p>
</list-item>
<list-item>
<p>
<italic>GainP
<sub>i</sub>
</italic>
: Gain obtained for P frames using the game-theoretical scheme with respect to not using it.</p>
</list-item>
</list>
</p>
<p>
<xref rid="f14-sensors-15-09039" ref-type="fig">Figure 14</xref>
shows the average of all the simulation results for %
<italic>GainP
<sub>i</sub>
</italic>
and %
<italic>GainI
<sub>i</sub>
</italic>
. We can see that when the game-theoretical scheme is applied, the gain is 11%, 18%, 25%, 32% for I packets (dark bars) and 95%, 83%, 75%, 69% for P packets (light bars), for 2, 3, 4 and 5 players, respectively. As we can observe, %
<italic>GainP
<sub>i</sub>
</italic>
> %
<italic>GainI
<sub>i</sub>
</italic>
in all the cases. This is because there are much more P frames than I frames (see
<xref rid="f1-sensors-15-09039" ref-type="fig">Figure 1</xref>
) per player so the benefits are more noticeable for P frames. When
<italic>N</italic>
increases, the difference is lower, since the number of I frames increases.</p>
<p>In addition, we observe a slightly increment for %
<italic>GainI
<sub>i</sub>
</italic>
(dark bars) as
<italic>N</italic>
increases. This is because as
<italic>N</italic>
increases, the number of I frames increases and this makes the game-theoretical scheme benefits more noticeable. On the other hand, %
<italic>GainP
<sub>i</sub>
</italic>
decreases as
<italic>N</italic>
increases. The reason is that as
<italic>N</italic>
increases, there are too many P frames (more collisions), higher loads to be balanced and as a result we obtain a lower benefit. Nonetheless, %
<italic>GainP
<sub>i</sub>
</italic>
is still high (around 70% for 5 sources).</p>
</sec>
<sec>
<label>7.2.2.</label>
<title>Utility Function Values</title>
<p>In this section, we will compute the gain of our game-theoretical routing scheme. Let us define
<italic>U
<sub>G
<sub>i</sub>
</sub>
</italic>
as the utility function for player
<italic>i</italic>
when the game-theoretical scheme is used and
<italic>U
<sub>NG
<sub>i</sub>
</sub>
</italic>
as the utility function when it is not used. Both utility function values will be computed using
<xref rid="FD18" ref-type="disp-formula">Equation (17)</xref>
.
<italic>G
<sub>i</sub>
</italic>
is the gain obtained for player
<italic>i</italic>
by using the game-theoretical scheme with respect to not using it, 0 ≤
<italic>G
<sub>i</sub>
</italic>
≤ 1.</p>
<p>
<disp-formula id="FD54">
<label>(53)</label>
<mml:math id="mm111">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Using
<xref rid="FD18" ref-type="disp-formula">Equation (17)</xref>
in
<xref rid="FD54" ref-type="disp-formula">Equation (53)</xref>
we obtain:
<disp-formula id="FD55">
<label>(54)</label>
<mml:math id="mm112">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec>
<label>7.2.3.</label>
<title>A Numerical Example</title>
<p>In this section, we show a numerical example to calculate the gain obtained with our proposal for
<italic>N</italic>
= 2 users using
<xref rid="FD55" ref-type="disp-formula">Equation (54)</xref>
,
<italic>i.e.</italic>
,
<italic>G</italic>
<sub>1</sub>
and
<italic>G</italic>
<sub>2</sub>
. To do that, we use the values obtained during simulation from the RTCP packets. They are shown in
<xref rid="t4-sensors-15-09039" ref-type="table">Table 4</xref>
.</p>
<p>We calculate the variable
<italic>k
<sub>b/m</sub>
</italic>
<sub>,1</sub>
and
<italic>k
<sub>b/m</sub>
</italic>
<sub>,2</sub>
for players 1 and 2 using
<xref rid="FD51" ref-type="disp-formula">Equation (50)</xref>
and the simulation output values shown in
<xref rid="t4-sensors-15-09039" ref-type="table">Table 4</xref>
. Results are shown in
<xref rid="t5-sensors-15-09039" ref-type="table">Table 5</xref>
.</p>
<p>After that, we simplify
<inline-formula>
<mml:math id="mm113">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm114">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
as seen in
<xref rid="FD56" ref-type="disp-formula">Equations (55)</xref>
and
<xref rid="FD57" ref-type="disp-formula">(56)</xref>
in order to be easily calculated later using
<xref rid="t4-sensors-15-09039" ref-type="table">Table 4</xref>
.</p>
<p>
<disp-formula id="FD56">
<label>(55)</label>
<mml:math id="mm115">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD57">
<label>(56)</label>
<mml:math id="mm116">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Next, we calculate
<italic>ϕ
<sub>b</sub>
</italic>
and
<italic>ϕ
<sub>m</sub>
</italic>
for each player using
<xref rid="FD24" ref-type="disp-formula">Equation (23)</xref>
so they can be substituted in
<xref rid="FD18" ref-type="disp-formula">Equation (17)</xref>
.</p>
<p>
<disp-formula id="FD58">
<label>(57)</label>
<mml:math id="mm117">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>3.134</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD59">
<label>(58)</label>
<mml:math id="mm118">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>3.5555</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD60">
<label>(59)</label>
<mml:math id="mm119">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="FD61">
<label>(60)</label>
<mml:math id="mm120">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>5</mml:mn>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Finally, substituting
<xref rid="FD56" ref-type="disp-formula">Equations (55)</xref>
to
<xref rid="FD61" ref-type="disp-formula">Equation (60)</xref>
in
<xref rid="FD55" ref-type="disp-formula">Equation (54)</xref>
, we obtain that
<italic>G</italic>
<sub>1</sub>
≈ 0.65 and
<italic>G</italic>
<sub>2</sub>
≈ 0.85.</p>
<p>These values mean that for player 1 the gain is 65% more using the game-theoretical model instead of not using it. In the same way, for player 2 the gain is 85%.
<xref rid="f15-sensors-15-09039" ref-type="fig">Figure 15a,b</xref>
show the utility functions
<italic>U</italic>
<sub>1</sub>
and
<italic>U</italic>
<sub>2</sub>
and their maximum values obtained for
<inline-formula>
<mml:math id="mm121">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
for players 1 and 2, computed with
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
.</p>
</sec>
<sec>
<label>7.2.4.</label>
<title>Behaviour of
<inline-formula>
<mml:math id="mm122">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</title>
<p>It is important to analyze the behavior of
<inline-formula>
<mml:math id="mm123">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
when the fraction of packet losses through the best or through the medium-quality paths (
<italic>FPL
<sub>b</sub>
</italic>
or
<italic>FPL
<sub>m</sub>
</italic>
) changes. We can easily guess that if the packet losses through the best path (
<italic>i.e.</italic>
,
<italic>FPL
<sub>b</sub>
</italic>
) increases, the probability to sent (I+P) frames through that best path
<inline-formula>
<mml:math id="mm124">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
should decrease, so more (I+P) packets would be sent through the medium-quality path. On the other hand, if the packet losses through the medium path (
<italic>i.e.</italic>
,
<italic>FPL
<sub>m</sub>
</italic>
) increases,
<inline-formula>
<mml:math id="mm125">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
should increase, so more (I+P) packets would be sent through the best path.</p>
<p>A way to check this logical behavior is to analyze an interval of time of a simulation where jitter and losses behave almost constant in one path (best or medium-quality path) and see how jitter and losses in the other path behave. However, it was impossible to find such an interval. Due to that, we decided to prove it mathematically taking some values of our simulations as inputs. This will help us to analyze the
<inline-formula>
<mml:math id="mm126">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
behavior when
<italic>FPL
<sub>b</sub>
</italic>
or
<italic>FPL
<sub>m</sub>
</italic>
changes, which are shown in
<xref rid="f16-sensors-15-09039" ref-type="fig">Figures 16</xref>
and
<xref rid="f17-sensors-15-09039" ref-type="fig">17</xref>
. As we can see, we only study the behavior of
<inline-formula>
<mml:math id="mm127">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
as a function of the
<italic>FPL</italic>
till 40% of packet losses since above that threshold it is considered as a non interest range. We show the average results of three different simulations.</p>
<p>
<xref rid="f16-sensors-15-09039" ref-type="fig">Figure 16</xref>
depicts the behavior of the best response probability
<inline-formula>
<mml:math id="mm128">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
of sending I+P frames through the best path for player
<italic>i</italic>
when the fraction of packet losses (
<italic>FPL</italic>
) through the medium-quality path
<italic>FPL
<sub>m</sub>
</italic>
increases. It is important to mention that as
<italic>FPL
<sub>m</sub>
</italic>
increases,
<inline-formula>
<mml:math id="mm129">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
increases as well. The reason is that when
<italic>FPL
<sub>m</sub>
</italic>
increases that means that we are loosing more packets in the medium-quality path, so we should better send the packets through the best path (
<italic>i.e.</italic>
, increase
<inline-formula>
<mml:math id="mm130">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
) in order to alleviate the congestion in the medium-quality path.</p>
<p>In the same way,
<xref rid="f17-sensors-15-09039" ref-type="fig">Figure 17</xref>
depicts the behavior of the best response probability
<inline-formula>
<mml:math id="mm131">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
of sending I+P frames through the best path for player
<italic>i</italic>
(
<italic>i.e.</italic>
,
<inline-formula>
<mml:math id="mm132">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
) when the fraction of packet losses (
<italic>FPL</italic>
) through the best quality path
<italic>FPL
<sub>b</sub>
</italic>
increases. We can see that when
<italic>FPL
<sub>b</sub>
</italic>
increases,
<inline-formula>
<mml:math id="mm133">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
decreases. The reason is that when
<italic>FPL
<sub>b</sub>
</italic>
increases that means that we are loosing more packets in the best path, so we should send more packets through the medium-quality pat (
<italic>i.e.</italic>
, decrease
<inline-formula>
<mml:math id="mm134">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
) in order to avoid congestion in the best path.</p>
<p>For further information about how we obtained
<xref rid="f16-sensors-15-09039" ref-type="fig">Figures 16</xref>
and
<xref rid="f17-sensors-15-09039" ref-type="fig">17</xref>
, please see the
<xref rid="app2" ref-type="app">Appendix B</xref>
.</p>
<p>In the next section, we present an initial performance evaluation of our proposal in a VANET scenario to show the benefits of our approach in this kind of vehicular scenario. As pointed out in Section 8, we are currently developing a multi-user game-theoretical geographic routing protocol specifically designed to cope with the inherent issues of VANETs, and that will be based on this current work as a starting point.</p>
</sec>
</sec>
<sec>
<label>7.3.</label>
<title>Performance Evaluation in a VANET Scenario</title>
<p>In this subsection we introduce a brief performance evaluation of our proposal in a VANET scenario, where we proved the MMDSR protocol plus the multi-user game-theoretical approach described in Section 4. Video flows are transmitted from two vehicles to two access points AP1 and AP2 (see
<xref rid="f18-sensors-15-09039" ref-type="fig">Figure 18</xref>
), respectively. AP1 is the Ana Torres Institute (a surgery clinic) and AP2 is the Hospital Clinic of Barcelona, which represent two emergency units where vehicles will send their multimedia warning messages upon the event of a traffic accident. Each vehicle will send its multimedia warning message to the closest AP We carried out ten simulations per point using the NS2 [
<xref rid="b35-sensors-15-09039" ref-type="bibr">35</xref>
].
<xref rid="f19-sensors-15-09039" ref-type="fig">Figure 19</xref>
shows the results with confidence intervals (CI) of 90 percent. In the simulations, we used a real city area obtained from the example district of Barcelona, Spain (see
<xref rid="f18-sensors-15-09039" ref-type="fig">Figure 18</xref>
). In order to simulate a realistic scenario, the CityMob for Roadmaps (C4R) [
<xref rid="b38-sensors-15-09039" ref-type="bibr">38</xref>
] simulator was used to obtain the mobility model. C4R is a mobility generator that uses the Simulation of Urban MObility (SUMO) engine [
<xref rid="b39-sensors-15-09039" ref-type="bibr">39</xref>
]. Besides, C4R imports maps directly from OpenStreetMap [
<xref rid="b40-sensors-15-09039" ref-type="bibr">40</xref>
] and generates NS2 compatible files to specify the mobility model for the vehicles through the city along the whole simulation. The simulation settings of the VANET scenario are shown in
<xref rid="t6-sensors-15-09039" ref-type="table">Table 6</xref>
.</p>
<p>
<xref rid="f19-sensors-15-09039" ref-type="fig">Figure 19a</xref>
shows the average percentage of packet losses for
<italic>N</italic>
= 2 users when using the game-theoretical scheme against the case of non using it (
<italic>Non game</italic>
option). We can see how including the game-theoretical routing scheme, the average video packet losses are reduced from 26% to 11%. This decrement of the average packet losses is due to the optimal selection of paths based on a probability value (
<italic>i.e.</italic>
,
<italic>p</italic>
*) that optimally balances the load among the two paths at stake (
<italic>i.e.</italic>
, the best and the medium-quality paths) depending on the quality of the paths.
<xref rid="f19-sensors-15-09039" ref-type="fig">Figure 19b</xref>
depicts the average end-to-end packet delay. We can see that the case including the
<italic>Game</italic>
scheme improves the delay compared to the
<italic>Non Game</italic>
case. It is reduced from 0.09 s to 0.04 s.
<xref rid="f19-sensors-15-09039" ref-type="fig">Figure 19c</xref>
depicts the average jitter delay suffered by the packets. Here, we observe that the jitter using the game-theoretical scheme shows slightly better result compared to the
<italic>Non Game</italic>
case for 2 players.</p>
<p>This has been a first performance evaluation of our game-theoretical routing approach applied in vehicular ad hoc networks. Results show clear benefits after including our game-theoretical approach in a multipath location-based routing protocol over VANETs. Based on these incipient results, in a next work we will further develop a multi-hop geographical routing protocol for VANETs based on a game-theoretical approach to send video warning messages in a smart city following a similar work strategy made in this paper. Our previous experience with VANET routing protocols [
<xref rid="b41-sensors-15-09039" ref-type="bibr">41</xref>
,
<xref rid="b42-sensors-15-09039" ref-type="bibr">42</xref>
] will be a good starting point since in our design we will consider the special inherent features of VANETs. The main difference with this current work will be the design of the game-theoretical routing algorithm based on a hop-by-hop forwarding strategy instead of on an end-to-end forwarding path strategy as we did in this present work. We foresee enhanced results for VANETs after including this modification.</p>
</sec>
</sec>
<sec>
<label>8.</label>
<title>Conclusions and Future Work</title>
<p>In this paper, we have designed a new rooting protocol for MANETs to send video-warning messages in a smart city. The routing protocol is based on a game-theoretical scheme for
<italic>N</italic>
users. Our framework could be used in smart cities where prevention of accidents is an important goal. We understand that with a video message, the level of seriousness of the accident could be much better evaluated by the authorities allowing a fast warning of the incident to emergency units, which potentially could save lives.</p>
<p>The users of the framework could be any dynamic sensor such as citizens with smart phones or tablets that could participate in the MANET to send the video to the competent authorities. Also, smart citizens would easily be warned by other citizens about any situation in the city, which would improve the quality of life in the smart cities.</p>
<p>In our framework, the probability
<italic>p</italic>
of sending the most important video frames (
<italic>i.e.</italic>
, I+P frames) through the best available path varies depending on some network characteristics. This way, instead of sending the I+P video frames always through the best available path, users play a strategic routing game where these frames will be sent through one of the two best paths according to a certain probability
<italic>p</italic>
*.</p>
<p>Simulation results in the MANET scenario show the benefits of our proposal by outperforming the results compared to the case of non using our game-theoretical routing. In terms of packets losses, delay and jitter, results notably improve for
<italic>N</italic>
= 2, 3, 4 and 5 users, due to the new way of selecting the forwarding path based on
<italic>p</italic>
*. Our proposal makes the network more efficient as well as achieves a higher degree of satisfaction of the users by receiving much more (I+P) frames with a lower average end-to-end delay and jitter. This definitively will improve the quality of the video perceived by the end user. Moreover, improvements are also shown for
<italic>N</italic>
= 2 users in the simulation results of a VANET scenario, in terms of percentage of packet losses, average packet delay and average delay jitter.</p>
<p>As a future work, we are planning a further contribution with a multi-user game-theoretical forwarding algorithm included in the operation of a geographical routing protocol specially designed to distribute multimedia data over VANETs in smart cities. In this kind of scenarios, video-streaming services are taking an important attention from the interest to distribute light and short videos to allow drivers, passengers, paramedics, and first responder teams to capture, share, and watch video sequences from accidents and other emergencies that happened in the city. This way, multimedia warning messages sent upon the event of a traffic accident will allow the emergency units to make a better preliminary evaluation of the situation. Our proposal could be a solution to improve the routing operation to distribute multimedia data over VANETs in smart cities.</p>
<p>In addition, as a future work, the weights of the QoS metrics will be self-configured. We will design a new way to compute and update those weights so that paths/vehicles (paths in MANETs and vehicles in VANETs) would be better arranged according to their QoS metrics and the current state of the environment. In this way, each time the forwarding algorithm needs to classify paths/vehicles, a proper weight value to each metric will be updated depending on the current state of the network.</p>
</sec>
</body>
<back>
<ack>
<title>Acknowledgements</title>
<p>This work was partly supported by the Spanish Government through projects TEC2013-47665-C4-1-R (Emergency Response In Smart Communities, EMRISCO) and TEC2010-20572-C02-02 (Continuity of Service, Security and QoS for Transportation Systems, CONSEQUENCE). Ahmad Mezher is the recipient of a FI-AGAUR grant, from the Government of Catalonia. Luis Urquiza-Aguiar is the recipient of a full scholarship from the Secretaria Nacional de Educatión Superior, Ciencia y Tecnología (SENESCYT).</p>
</ack>
<app-group>
<app>
<title>Appendix</title>
<sec id="app1">
<title>Appendix A</title>
<p>In this appendix, we describe the test that we made to attain
<xref rid="f6-sensors-15-09039" ref-type="fig">Figure 6</xref>
. We followed the ITU-T recommendation P.800 (1996) [
<xref rid="b43-sensors-15-09039" ref-type="bibr">43</xref>
] to make our test.</p>
<p>In this test, ten people (7 men and 3 women, aged 25–50) from the department of Telematics Engineering of the Universitat Politècnica de Catalunya (UPC) participated. We asked them to give their mean opinion score (MOS) value to a video received through a MANET urban scenario (see
<xref rid="t3-sensors-15-09039" ref-type="table">Table 3</xref>
) when the fraction of packet losses (
<italic>FPL</italic>
) increased. The video sequence used in the tests was the “Traffic accidents” [
<xref rid="b37-sensors-15-09039" ref-type="bibr">37</xref>
]. Users took into consideration that they were in a MANET scenario, were nodes move, links break often and the network topology is dynamic. The average of the results are shown in
<xref rid="t2-sensors-15-09039" ref-type="table">Table 2</xref>
and
<xref rid="f6-sensors-15-09039" ref-type="fig">Figure 6</xref>
.</p>
</sec>
<sec id="app2">
<title>Appendix B</title>
<p>To compute
<inline-formula>
<mml:math id="mm135">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
with
<xref rid="FD27" ref-type="disp-formula">Equations (26)</xref>
and
<xref rid="FD51" ref-type="disp-formula">(50)</xref>
and to attain
<xref rid="f16-sensors-15-09039" ref-type="fig">Figures 16</xref>
and
<xref rid="f17-sensors-15-09039" ref-type="fig">17</xref>
, we designed a expression to relate the
<italic>MOS</italic>
with the
<italic>FPL</italic>
. To do that, we used all the values obtained from the video test depicted in the
<xref rid="app1" ref-type="app">Appendix A</xref>
, see
<xref rid="f6-sensors-15-09039" ref-type="fig">Figure 6</xref>
, and we applied a lineal regression method to derive an equation to approximate the graph shown in
<xref rid="f6-sensors-15-09039" ref-type="fig">Figure 6</xref>
.</p>
<p>
<disp-formula id="FD62">
<label>(B1)</label>
<mml:math id="mm136">
<mml:mrow>
<mml:mtext mathvariant="italic">MOS</mml:mtext>
<mml:mo></mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>·</mml:mo>
<mml:mtext mathvariant="italic">FPL</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>c</italic>
= −8.1081 and
<italic>d</italic>
= +5.2703.</p>
<p>To draw
<xref rid="f16-sensors-15-09039" ref-type="fig">Figure 16</xref>
, we made constant all the parameters of
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
except
<italic>FPL
<sub>m</sub>
</italic>
. These constant values were taken from simulations. To evaluate the behaviour of
<inline-formula>
<mml:math id="mm137">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
when
<italic>FPL
<sub>m</sub>
</italic>
increases, we used
<xref rid="FD62" ref-type="disp-formula">Equation (B1)</xref>
to be substituted in
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
. Similarly, to draw
<xref rid="f17-sensors-15-09039" ref-type="fig">Figure 17</xref>
, we made constant all parameters of
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
except
<italic>FPL
<sub>b</sub>
</italic>
. Now, to evaluate the behaviour of
<inline-formula>
<mml:math id="mm138">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
when
<italic>FPL
<sub>b</sub>
</italic>
increases, we used
<xref rid="FD62" ref-type="disp-formula">Equation (B1)</xref>
to be substituted in
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
.</p>
</sec>
</app>
</app-group>
<notes>
<title>Author Contributions</title>
<p>Ahmad Mohamad Mezher developed the proposal of the study, implemented the code in the simulator, conducted all the simulations and carried out the analysis of results. He took care of most of the writing. Mónica Aguilar Igartua guided the entire research process as well as the mathematical analysis of the proposal and made detailed corrections of the manuscript. Luis J. de la Cruz and Emilio Sanvicente Gargallo provided the basic aspects for the application of Game Theory over MANET networks and made a review of the mathematical proposal. Esteve Pallarès Segarra, Carolina Tripp Barba, Luis Urquiza Aguiar and Jordi Forné collaborated in the planning of the simulation process and assisted with the review of the simulation results. All authors participated in the discussions to develop the proposal and made a general review of the manuscript.</p>
</notes>
<notes>
<title>Conflicts of Interest</title>
<p>The authors declare no conflict of interest.</p>
</notes>
<ref-list>
<title>References</title>
<ref id="b1-sensors-15-09039">
<label>1.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Boukerche</surname>
<given-names>A.</given-names>
</name>
</person-group>
<source>Algorithms and Protocols for Wireless, Mobile Ad Hoc Networks</source>
<publisher-name>Wiley-IEEE Press</publisher-name>
<publisher-loc>Hoboken, NJ, USA</publisher-loc>
<year>2008</year>
</element-citation>
</ref>
<ref id="b2-sensors-15-09039">
<label>2.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Lao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>J.H.</given-names>
</name>
</person-group>
<article-title>Reducing multicast traffic load for cellular networks using ad hoc networks</article-title>
<conf-name>Proceedings of the 2nd Int'1 Conference on Quality of Service in Heterogeneous WiredAVireless Networks (QShine′05)</conf-name>
<conf-loc>Orlando, FL, USA</conf-loc>
<conf-date>22–24 August 2005</conf-date>
<fpage>1</fpage>
<lpage>10</lpage>
</element-citation>
</ref>
<ref id="b3-sensors-15-09039">
<label>3.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aguilar</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>de la Cruz</surname>
<given-names>L.J.</given-names>
</name>
<name>
<surname>Carrascal</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Sanvicente</surname>
<given-names>E.</given-names>
</name>
</person-group>
<article-title>A game-theoretical multipath routing for video-streaming services over mobile Ad Hoc networks</article-title>
<source>Comput. Netw.</source>
<year>2011</year>
<volume>55</volume>
<fpage>2985</fpage>
<lpage>3000</lpage>
</element-citation>
</ref>
<ref id="b4-sensors-15-09039">
<label>4.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Heinzelman</surname>
<given-names>W.B.</given-names>
</name>
</person-group>
<article-title>QoS-Aware Routing Based on Bandwidth Estimation for Mobile Ad Hoc Networks</article-title>
<source>IEEE J. Sel. Areas Commun.</source>
<year>2005</year>
<volume>23</volume>
<fpage>561</fpage>
<lpage>572</lpage>
</element-citation>
</ref>
<ref id="b5-sensors-15-09039">
<label>5.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Quddus</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Iqbal</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>W.</given-names>
</name>
</person-group>
<article-title>Finding a stable route through AODV by using route fragility coefficient as metric</article-title>
<conf-name>Proceedings of the IEEE International Conference on Networking and Services</conf-name>
<conf-loc>Slicon Valley, CA, USA</conf-loc>
<conf-date>16–18 July 2006</conf-date>
<fpage>107</fpage>
<lpage>112</lpage>
</element-citation>
</ref>
<ref id="b6-sensors-15-09039">
<label>6.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Al-Gabri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Hasan</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
</person-group>
<article-title>Improved the Energy of Ad Hoc On-Demand Distance Vector Routing Protocol</article-title>
<source>IERI Procedia</source>
<year>2012</year>
<volume>2</volume>
<fpage>355</fpage>
<lpage>361</lpage>
</element-citation>
</ref>
<ref id="b7-sensors-15-09039">
<label>7.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rao</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Singh</surname>
<given-names>N.</given-names>
</name>
</person-group>
<article-title>An Improved Routing Protocol (AODV nthBR) for Efficient Routing in MANETs</article-title>
<source>Adv. Comput. Netw. Inform.</source>
<year>2014</year>
<volume>2</volume>
<fpage>215</fpage>
<lpage>223</lpage>
</element-citation>
</ref>
<ref id="b8-sensors-15-09039">
<label>8.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pirzada</surname>
<given-names>A.A.</given-names>
</name>
<name>
<surname>Datta</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>McDonald</surname>
<given-names>C.</given-names>
</name>
</person-group>
<article-title>Incorporating trust and reputation in the DSR protocol for dependable routing</article-title>
<source>Comput. Commun.</source>
<year>2006</year>
<volume>29</volume>
<fpage>2806</fpage>
<lpage>2821</lpage>
</element-citation>
</ref>
<ref id="b9-sensors-15-09039">
<label>9.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Sjaugi</surname>
<given-names>M.F.</given-names>
</name>
<name>
<surname>Othman</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Rasid</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>A New Route Maintenance Strategy for Dynamic Source Routing Protocol</article-title>
<conf-name>Proceedings of the International Conference on Information Networking</conf-name>
<conf-loc>Busan, Korea</conf-loc>
<conf-date>23–25 January 2008</conf-date>
<fpage>1</fpage>
<lpage>4</lpage>
</element-citation>
</ref>
<ref id="b10-sensors-15-09039">
<label>10.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shubhajeet</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Das</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Ant colony optimization based enhanced dynamic source routing algorithm for mobile Ad-hoc network</article-title>
<source>Inf. Sci.</source>
<year>2015</year>
<volume>295</volume>
<fpage>67</fpage>
<lpage>90</lpage>
</element-citation>
</ref>
<ref id="b11-sensors-15-09039">
<label>11.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Perkins</surname>
<given-names>C.E.</given-names>
</name>
<name>
<surname>Royer</surname>
<given-names>E.M.</given-names>
</name>
</person-group>
<article-title>Ad-hoc On-Demand Distance Vector Routing</article-title>
<source>2nd IEEE Workshop Mob. Comput. Syst. Appl.</source>
<year>1999</year>
<volume>25</volume>
<fpage>90</fpage>
<lpage>100</lpage>
</element-citation>
</ref>
<ref id="b12-sensors-15-09039">
<label>12.</label>
<element-citation publication-type="webpage">
<article-title>RFC 4728, The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://www.ietf.org/rfc/rfc4728.txt">http://www.ietf.org/rfc/rfc4728.txt</ext-link>
</comment>
<date-in-citation>(accessed on 16 April 2015)</date-in-citation>
</element-citation>
</ref>
<ref id="b13-sensors-15-09039">
<label>13.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Tran</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Raghavendra</surname>
<given-names>H.</given-names>
</name>
</person-group>
<article-title>Routing with congestion awareness and adaptivity in mobile ad hoc networks</article-title>
<conf-name>Proceedings of the IEEE Wireless Communications and Networking Conference</conf-name>
<conf-loc>New Orleans, LA, USA</conf-loc>
<conf-date>13–17 March 2005</conf-date>
<fpage>1988</fpage>
<lpage>1994</lpage>
</element-citation>
</ref>
<ref id="b14-sensors-15-09039">
<label>14.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mbarushimana</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Shahrabi</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>Congestion avoidance routing protocol for QoS-Aware MANETs</article-title>
<conf-name>Proceedings of the International Wireless Communications and Mobile Computing Conference</conf-name>
<year>2008</year>
<fpage>129</fpage>
<lpage>134</lpage>
</element-citation>
</ref>
<ref id="b15-sensors-15-09039">
<label>15.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Al-Tarazi</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Load Balancing Using Multiple Paths in Mobile Ad Hoc networks</article-title>
<source>Ph.D. Thesis</source>
<publisher-name>Jordan University of Science and Technology</publisher-name>
<publisher-loc>Irbid, Jordan</publisher-loc>
<year>2009</year>
</element-citation>
</ref>
<ref id="b16-sensors-15-09039">
<label>16.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ahn</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Chung</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kang</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>A node-disjoint multipath routing protocol based on AODV in mobile ad hoc networks</article-title>
<conf-name>Proceedings of the IEEE 26th International Conference on Advanced Information Networking and Applications</conf-name>
<conf-loc>Fukuoka, Japan</conf-loc>
<conf-date>26–29 March 2012</conf-date>
<fpage>399</fpage>
<lpage>405</lpage>
</element-citation>
</ref>
<ref id="b17-sensors-15-09039">
<label>17.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tashtoush</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Darwish</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Hayajaneh</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Fibonacci sequence based multipath load balancing apprach for mobile ad hoc Networks</article-title>
<source>Ad Hoc Netw.</source>
<year>2014</year>
<volume>16</volume>
<fpage>237</fpage>
<lpage>246</lpage>
</element-citation>
</ref>
<ref id="b18-sensors-15-09039">
<label>18.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>Y. T.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Sherali</surname>
<given-names>H. D.</given-names>
</name>
<name>
<surname>Midkiff</surname>
<given-names>S. F.</given-names>
</name>
</person-group>
<article-title>Multipath routing for multiple description video in wireless ad hoc networks</article-title>
<conf-name>Proceedings of the IEEE INFOCOM</conf-name>
<conf-loc>Miami, FL, USA</conf-loc>
<conf-date>13–17 March 2005</conf-date>
<fpage>740</fpage>
<lpage>750</lpage>
</element-citation>
</ref>
<ref id="b19-sensors-15-09039">
<label>19.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Setton</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Bernd</surname>
<given-names>G.</given-names>
</name>
</person-group>
<article-title>Congestion-distortion optimized video transmission over ad hoc networks</article-title>
<source>Signal Process. Image Commun.</source>
<year>2005</year>
<volume>20</volume>
<fpage>773</fpage>
<lpage>783</lpage>
</element-citation>
</ref>
<ref id="b20-sensors-15-09039">
<label>20.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aguilar</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Carrascal</surname>
<given-names>V.</given-names>
</name>
</person-group>
<article-title>Self-configured multipath routing using path lifetime for video-streaming services over ad hoc networks</article-title>
<source>Comput. Commun.</source>
<year>2010</year>
<volume>33</volume>
<fpage>1879</fpage>
<lpage>1891</lpage>
</element-citation>
</ref>
<ref id="b21-sensors-15-09039">
<label>21.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Boushaba</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Benabbou</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Benabbou</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Zahi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Oumsis</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Intelligent Multipath Optimized Link State Routing Protocol for QoS and QoE Enhancement of Video Transmission in MANETs</article-title>
<source>Netw. Syst. Lect. Notes Comput. Sci.</source>
<year>2014</year>
<volume>8593</volume>
<fpage>230</fpage>
<lpage>245</lpage>
</element-citation>
</ref>
<ref id="b22-sensors-15-09039">
<label>22.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lal</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Laxmi</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Gaur</surname>
<given-names>M.S.</given-names>
</name>
</person-group>
<article-title>Bandwidth-aware routing and admission control for efficient video streaming over MANETs</article-title>
<source>Wirel Netw.</source>
<year>2015</year>
<volume>21</volume>
<fpage>95</fpage>
<lpage>114</lpage>
</element-citation>
</ref>
<ref id="b23-sensors-15-09039">
<label>23.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>H.</given-names>
</name>
</person-group>
<article-title>Game-Theoretic Analysis of Cooperation Incentive Strategies in Mobile Ad Hoc Networks</article-title>
<source>IEEE Trans. Mob. Comput.</source>
<year>2012</year>
<volume>11</volume>
<fpage>1287</fpage>
<lpage>1303</lpage>
</element-citation>
</ref>
<ref id="b24-sensors-15-09039">
<label>24.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>A Game-Theoretic Approach to Stimulate Cooperation for Probabilistic Routing in Opportunistic Networks</article-title>
<source>IEEE Trans. Wirel. Commun.</source>
<year>2013</year>
<volume>12</volume>
<fpage>1573</fpage>
<lpage>1583</lpage>
</element-citation>
</ref>
<ref id="b25-sensors-15-09039">
<label>25.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Naserian</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Tepe</surname>
<given-names>K.</given-names>
</name>
</person-group>
<article-title>Dynamic Probabilistic Forwarding in Wireless Ad Hoc Networks Based on Game Theory</article-title>
<conf-name>Proceedings of the IEEE 79th Vehicular Technology Conference (VTC Spring)</conf-name>
<conf-loc>Seoul, Korea</conf-loc>
<conf-date>18–21 May 2014</conf-date>
<fpage>1</fpage>
<lpage>5</lpage>
</element-citation>
</ref>
<ref id="b26-sensors-15-09039">
<label>26.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Coucheney</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Gaujal</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Touati</surname>
<given-names>C.</given-names>
</name>
</person-group>
<article-title>Self-optimizing Routing in MANETs with Multi-class Flows</article-title>
<conf-name>Proceedings of the Personal Indoor and Mobile Radio Communications (PIMRC)</conf-name>
<conf-loc>Stanbul, Turkey</conf-loc>
<conf-date>26–30 September 2010</conf-date>
<fpage>2751</fpage>
<lpage>2756</lpage>
</element-citation>
</ref>
<ref id="b27-sensors-15-09039">
<label>27.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Nishiyama</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Miura</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Kato</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Kadowaki</surname>
<given-names>N.</given-names>
</name>
</person-group>
<article-title>Optimal Forwarding Games in Mobile Ad Hoc Networks with Two-Hop f-cast Relay</article-title>
<source>IEEE J. Sel. Areas Commun.</source>
<year>2012</year>
<volume>11</volume>
<fpage>709</fpage>
<lpage>715</lpage>
</element-citation>
</ref>
<ref id="b28-sensors-15-09039">
<label>28.</label>
<element-citation publication-type="webpage">
<article-title>IEEE 802.11e Standard with Quality of Service Enhancenments</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://standards.ieee.org/getieee802/download/802.11e-2005.pdf">http://standards.ieee.org/getieee802/download/802.11e-2005.pdf</ext-link>
</comment>
<date-in-citation>(accessed on 11 February 2015)</date-in-citation>
</element-citation>
</ref>
<ref id="b29-sensors-15-09039">
<label>29.</label>
<element-citation publication-type="webpage">
<article-title>RFC 3550, RTP: A Transport Protocol for Real-Time Applications</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://www.ietf.org/rfc/rfc3550.txt">http://www.ietf.org/rfc/rfc3550.txt</ext-link>
</comment>
<date-in-citation>(accessed on 11 February 2015)</date-in-citation>
</element-citation>
</ref>
<ref id="b30-sensors-15-09039">
<label>30.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Loscri</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>de Rango</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Marano</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Performance evaluation of ondemand multipath distance vector routing protocol over two MAC layers in mobile ad hoc networks</article-title>
<conf-name>Proceedings of the 1st International Symposium on Wireless Communication Systems</conf-name>
<conf-loc>Mauritius</conf-loc>
<conf-date>20–22 September 2004</conf-date>
<fpage>413</fpage>
<lpage>417</lpage>
</element-citation>
</ref>
<ref id="b31-sensors-15-09039">
<label>31.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nasarien</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Tepe</surname>
<given-names>K.</given-names>
</name>
</person-group>
<article-title>Game theoretic approach in routing protocols for wireless ad hoc networks</article-title>
<source>Elsevier Ad Hoc Netw.</source>
<year>2009</year>
<volume>7</volume>
<fpage>569</fpage>
<lpage>578</lpage>
</element-citation>
</ref>
<ref id="b32-sensors-15-09039">
<label>32.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nash</surname>
<given-names>J.F.</given-names>
</name>
</person-group>
<article-title>Non-cooperative games</article-title>
<source>Ann. Math.</source>
<year>1951</year>
<volume>54</volume>
<fpage>286</fpage>
<lpage>295</lpage>
</element-citation>
</ref>
<ref id="b33-sensors-15-09039">
<label>33.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Dutta</surname>
<given-names>P.K.</given-names>
</name>
</person-group>
<source>Strategies and Games: Theory and Practice</source>
<publisher-name>MIT Press</publisher-name>
<publisher-loc>Cambridge, MA, USA</publisher-loc>
<year>2001</year>
</element-citation>
</ref>
<ref id="b34-sensors-15-09039">
<label>34.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Osborne</surname>
<given-names>M.J.</given-names>
</name>
<name>
<surname>Rubinstein</surname>
<given-names>A.</given-names>
</name>
</person-group>
<source>A Course in Game Theory</source>
<publisher-name>MIT Press</publisher-name>
<publisher-loc>Cambridge, MA, USA</publisher-loc>
<year>1994</year>
</element-citation>
</ref>
<ref id="b35-sensors-15-09039">
<label>35.</label>
<element-citation publication-type="webpage">
<article-title>The Network Simulator, ns-2</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://nsnam.isi.edu/nsnam/">http://nsnam.isi.edu/nsnam/</ext-link>
</comment>
<date-in-citation>(accessed on 11 February 2015)</date-in-citation>
</element-citation>
</ref>
<ref id="b36-sensors-15-09039">
<label>36.</label>
<element-citation publication-type="webpage">
<person-group person-group-type="author">
<collab>BonnMotion</collab>
</person-group>
<article-title>A Mobility Scenario Generation and Analysis Tool</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://web.informatik.uni-bonn.de/IV/Mitarbeiter/dewaal/BonnMotion/">http://web.informatik.uni-bonn.de/IV/Mitarbeiter/dewaal/BonnMotion/</ext-link>
</comment>
<date-in-citation>(accessed on 11 February 2015)</date-in-citation>
</element-citation>
</ref>
<ref id="b37-sensors-15-09039">
<label>37.</label>
<element-citation publication-type="webpage">
<article-title>Traffic Accidents</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://www.youtube.com/watch?v=YcxxOEen48M">http://www.youtube.com/watch?v=YcxxOEen48M</ext-link>
</comment>
<date-in-citation>(accessed on 11 February)</date-in-citation>
</element-citation>
</ref>
<ref id="b38-sensors-15-09039">
<label>38.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Fogue</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Garrido</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Martinez</surname>
<given-names>F.J.</given-names>
</name>
<name>
<surname>Cano</surname>
<given-names>J.C.</given-names>
</name>
<name>
<surname>Calafate</surname>
<given-names>C.T.</given-names>
</name>
<name>
<surname>Manzoni</surname>
<given-names>P.</given-names>
</name>
</person-group>
<article-title>A Realistic Simulation Framework for Vehicular Networks</article-title>
<conf-name>Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques Simutools′12</conf-name>
<conf-loc>Desenzano, Italy</conf-loc>
<conf-date>19–23 March 2012</conf-date>
<fpage>37</fpage>
<lpage>46</lpage>
</element-citation>
</ref>
<ref id="b39-sensors-15-09039">
<label>39.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Krajzewicz</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Erdmann</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Behrisch</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Bieker</surname>
<given-names>L.</given-names>
</name>
</person-group>
<article-title>Recent Development and Applications of SUMO—Simulation of Urban Mobility</article-title>
<source>Int. J. Adv. Syst. Meas.</source>
<year>2012</year>
<volume>5</volume>
<fpage>128</fpage>
<lpage>138</lpage>
</element-citation>
</ref>
<ref id="b40-sensors-15-09039">
<label>40.</label>
<element-citation publication-type="webpage">
<article-title>Open Street Maps</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://www.openstreetmap.org/">http://www.openstreetmap.org/</ext-link>
</comment>
<date-in-citation>(accessed on 30 March 2015)</date-in-citation>
</element-citation>
</ref>
<ref id="b41-sensors-15-09039">
<label>41.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tripp-Barba</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Urquiza-Aguiar</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Igartua</surname>
<given-names>M.A.</given-names>
</name>
<name>
<surname>Rebollo-Monedero</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Mezher</surname>
<given-names>A.M.</given-names>
</name>
<name>
<surname>de la Cruz Llopis</surname>
<given-names>L.J.</given-names>
</name>
<name>
<surname>Aguilar-Calderón</surname>
<given-names>J.A.</given-names>
</name>
<name>
<surname>Multimetric</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>Map-Aware Routing Protocol for VANETs in Urban Areas</article-title>
<source>Sensors</source>
<year>2014</year>
<volume>14</volume>
<fpage>2199</fpage>
<lpage>2224</lpage>
<pub-id pub-id-type="pmid">24476683</pub-id>
</element-citation>
</ref>
<ref id="b42-sensors-15-09039">
<label>42.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Tripp-Barba</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Mezher</surname>
<given-names>A.M.</given-names>
</name>
<name>
<surname>Igartua</surname>
<given-names>M.A.</given-names>
</name>
<name>
<surname>Guérin-Lassous</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Sarr</surname>
<given-names>C.</given-names>
</name>
</person-group>
<article-title>Available Bandwidth-aware Routing in Urban Vehicular Ad-Hoc Networks</article-title>
<conf-name>Proceedings of the 76th IEEE Vehicluar Technology Conference (VTC-Fall' 12)</conf-name>
<conf-loc>Quebec City, QC, Canada</conf-loc>
<conf-date>3–6 September 2012</conf-date>
<fpage>1</fpage>
<lpage>5</lpage>
</element-citation>
</ref>
<ref id="b43-sensors-15-09039">
<label>43.</label>
<element-citation publication-type="webpage">
<article-title>ITU-T Recommendation P.800 (1996)</article-title>
<comment>Available online:
<ext-link ext-link-type="uri" xlink:href="http://www.itu.int/rec/T-REC-P.800-199608-I/en">http://www.itu.int/rec/T-REC-P.800-199608-I/en</ext-link>
</comment>
<date-in-citation>(accessed on 11 February 2015).</date-in-citation>
</element-citation>
</ref>
</ref-list>
</back>
<floats-group>
<fig id="f1-sensors-15-09039" position="float">
<label>Figure 1</label>
<caption>
<p>MPEG-2 GoP structure.</p>
</caption>
<graphic xlink:href="sensors-15-09039f1"></graphic>
</fig>
<fig id="f2-sensors-15-09039" position="float">
<label>Figure 2</label>
<caption>
<p>Multipath routing scheme using three paths.</p>
</caption>
<graphic xlink:href="sensors-15-09039f2"></graphic>
</fig>
<fig id="f3-sensors-15-09039" position="float">
<label>Figure 3</label>
<caption>
<p>PM and PMR packets.</p>
</caption>
<graphic xlink:href="sensors-15-09039f3"></graphic>
</fig>
<fig id="f4-sensors-15-09039" position="float">
<label>Figure 4</label>
<caption>
<p>Proposed framework to send the video frames.</p>
</caption>
<graphic xlink:href="sensors-15-09039f4"></graphic>
</fig>
<fig id="f5-sensors-15-09039" position="float">
<label>Figure 5</label>
<caption>
<p>Three possible allocation situations after playing the game.
<italic>F</italic>
and
<italic>M</italic>
represent the number of (I+P) and B frames to be sent, respectively. All the B frames are always sent through the worst path. (
<bold>a</bold>
) All the I+P frames are sent through the best path; (
<bold>b</bold>
) All the I+P frames are sent through the medium-quality path; (
<bold>c</bold>
) I+P frames will be sent through the best path with a certain probability
<italic>p</italic>
and through the second best path with a probability
<italic>1-p</italic>
.
<italic>F</italic>
<sub>1</sub>
and
<italic>F</italic>
<sub>2</sub>
represent the number of (I+P) frames sent through the best path and the medium-quality path, respectively, being
<italic>F</italic>
=
<italic>F</italic>
<sub>1</sub>
<italic>+ F</italic>
<sub>2</sub>
.</p>
</caption>
<graphic xlink:href="sensors-15-09039f5"></graphic>
</fig>
<fig id="f6-sensors-15-09039" position="float">
<label>Figure 6</label>
<caption>
<p>Subjective video quality measured by means of the mean opinion score (MOS) as a function of the fraction of packet losses (FPL).</p>
</caption>
<graphic xlink:href="sensors-15-09039f6"></graphic>
</fig>
<fig id="f7-sensors-15-09039" position="float">
<label>Figure 7</label>
<caption>
<p>Best response probability
<inline-formula>
<mml:math id="mm139">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
as a function of
<italic>k
<sub>b/m</sub>
</italic>
, see
<xref rid="FD27" ref-type="disp-formula">Equation (26)</xref>
.</p>
</caption>
<graphic xlink:href="sensors-15-09039f7"></graphic>
</fig>
<fig id="f8-sensors-15-09039" position="float">
<label>Figure 8</label>
<caption>
<p>Average percentage of packet losses.</p>
</caption>
<graphic xlink:href="sensors-15-09039f8"></graphic>
</fig>
<fig id="f9-sensors-15-09039" position="float">
<label>Figure 9</label>
<caption>
<p>Percentage of packet losses vs time (
<italic>N</italic>
= 3 users).</p>
</caption>
<graphic xlink:href="sensors-15-09039f9"></graphic>
</fig>
<fig id="f10-sensors-15-09039" position="float">
<label>Figure 10</label>
<caption>
<p>Average end-to-end packet delay.</p>
</caption>
<graphic xlink:href="sensors-15-09039f10"></graphic>
</fig>
<fig id="f11-sensors-15-09039" position="float">
<label>Figure 11</label>
<caption>
<p>Delay jitter through the best path.</p>
</caption>
<graphic xlink:href="sensors-15-09039f11"></graphic>
</fig>
<fig id="f12-sensors-15-09039" position="float">
<label>Figure 12</label>
<caption>
<p>Delay jitter through the medium-quality path.</p>
</caption>
<graphic xlink:href="sensors-15-09039f12"></graphic>
</fig>
<fig id="f13-sensors-15-09039" position="float">
<label>Figure 13</label>
<caption>
<p>Peak Signal to Noise Ratio (PSNR).</p>
</caption>
<graphic xlink:href="sensors-15-09039f13"></graphic>
</fig>
<fig id="f14-sensors-15-09039" position="float">
<label>Figure 14</label>
<caption>
<p>Gain in terms of packet losses for I and P video frames using the game-theoretical scheme with respect to not using it.</p>
</caption>
<graphic xlink:href="sensors-15-09039f14"></graphic>
</fig>
<fig id="f15-sensors-15-09039" position="float">
<label>Figure 15</label>
<caption>
<p>Utility function graph for player 1 and 2. (
<bold>a</bold>
) Player 1; (
<bold>b</bold>
) Player 2.</p>
</caption>
<graphic xlink:href="sensors-15-09039f15"></graphic>
</fig>
<fig id="f16-sensors-15-09039" position="float">
<label>Figure 16</label>
<caption>
<p>Behaviour of
<inline-formula>
<mml:math id="mm140">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
as the fraction of packet losses (
<italic>FPL</italic>
) through the medium-quality path (
<italic>FPL
<sub>m</sub>
</italic>
) increases. Here the FPL through the best path remains constant.</p>
</caption>
<graphic xlink:href="sensors-15-09039f16"></graphic>
</fig>
<fig id="f17-sensors-15-09039" position="float">
<label>Figure 17</label>
<caption>
<p>Behaviour of
<inline-formula>
<mml:math id="mm141">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
as the fraction of packet losses (
<italic>FPL</italic>
) through the best path (
<italic>FPL
<sub>b</sub>
</italic>
) increases. Here the FPL through the medium-quality path remains constant.</p>
</caption>
<graphic xlink:href="sensors-15-09039f17"></graphic>
</fig>
<fig id="f18-sensors-15-09039" position="float">
<label>Figure 18</label>
<caption>
<p>Simulation scenario of Barcelona, Spain (N = 2 users). It includes two emergency units: AP1 (Ana Torres surgery clinic) and AP2 (Hospital Clinic of Barcelona).</p>
</caption>
<graphic xlink:href="sensors-15-09039f18"></graphic>
</fig>
<fig id="f19-sensors-15-09039" position="float">
<label>Figure 19</label>
<caption>
<p>Simulation results for
<italic>N</italic>
= 2 users. (
<bold>a</bold>
) Average percentage of packet losses; (
<bold>b</bold>
) Average end-to-end packet delay; (
<bold>c</bold>
) Average delay jitter.</p>
</caption>
<graphic xlink:href="sensors-15-09039f19"></graphic>
</fig>
<table-wrap id="t1-sensors-15-09039" position="float">
<label>Table 1</label>
<caption>
<p>Definitions of the variables presented in
<xref rid="FD15" ref-type="disp-formula">Equation (14)</xref>
.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>Variable</bold>
</th>
<th valign="middle" align="left" rowspan="1" colspan="1">
<bold>Definition</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>i</italic>
= 1, 2, 3…,
<italic>N</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">is a generic player, being
<italic>N</italic>
the number of players</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>p
<sub>i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Player's
<italic>i</italic>
probability of sending the (I+P) frames through his/her best path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>ϕ
<sub>b,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Player's
<italic>i</italic>
benefit for the best path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>ϕ
<sub>m,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">player's
<italic>i</italic>
benefit for the medium-quality path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>n
<sub>sb,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Number of (I+P) frames sent by player
<italic>i</italic>
through the best path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>n
<sub>rb,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Number of (I+P) frames received from player
<italic>i</italic>
through the best path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>n
<sub>sm,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Number of (I+P) frames sent by player
<italic>i</italic>
through the medium-quality path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>n
<sub>rm,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Number of (I+P) frames received from player
<italic>i</italic>
through the medium-quality path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>J
<sub>b,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Delay jitter of player
<italic>i</italic>
through the best path</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>J
<sub>m,i</sub>
</italic>
</td>
<td valign="middle" align="left" rowspan="1" colspan="1">Delay jitter of player
<italic>i</italic>
through the medium-quality path</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t2-sensors-15-09039" position="float">
<label>Table 2</label>
<caption>
<p>Mapping of mean opinion scores (MOS) and fraction of packet losses (FPL) for (I+P) frames in a general MANET scenario.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>MOS</bold>
</th>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>FPL</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">5-Excellent</td>
<td valign="middle" align="center" rowspan="1" colspan="1">FPL<20%</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">4-Good</td>
<td valign="middle" align="center" rowspan="1" colspan="1">20% ≤ FPL < 30%</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">3-Fair</td>
<td valign="middle" align="center" rowspan="1" colspan="1">30% ≤ FPL < 40%</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">2-Poor</td>
<td valign="middle" align="center" rowspan="1" colspan="1">40% ≤ FPL < 50%</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">1-Bad</td>
<td valign="middle" align="center" rowspan="1" colspan="1">FPL ≥ 50%</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t3-sensors-15-09039" position="float">
<label>Table 3</label>
<caption>
<p>Simulation settings of the MANET scenario.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>Area</bold>
</th>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>520</bold>
×
<bold>520 m
<sup>2</sup>
</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Number of nodes</td>
<td valign="middle" align="center" rowspan="1" colspan="1">50</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Average node speed</td>
<td valign="middle" align="center" rowspan="1" colspan="1">2 m/s</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Transmission range</td>
<td valign="middle" align="center" rowspan="1" colspan="1">120 m</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Mobility Pattern</td>
<td valign="middle" align="center" rowspan="1" colspan="1">Random Waypoint</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">MAC specification</td>
<td valign="middle" align="center" rowspan="1" colspan="1">IEEE 802. 11e,EDCF</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>CW
<sub>i,min</sub>
</italic>
, i ∈ (0,1,2,3)</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(7,15,31,63)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>CW
<sub>i,max</sub>
</italic>
, i ∈ (0,1,2,3)</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(15, 31,1023,1023)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>AIFS
<sub>i</sub>
</italic>
, i ∈ (0,1,2,3)</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(34
<italic>μ</italic>
s, 43
<italic>μ</italic>
s, 52
<italic>μ</italic>
s, 61
<italic>μ</italic>
s)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">(
<italic>BW
<sub>min</sub>
</italic>
,
<italic>L
<sub>max</sub>
</italic>
,
<italic>D
<sub>max</sub>
</italic>
,
<italic>J
<sub>max</sub>
</italic>
)</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(50 Kbps, 35 %, 0.125 s, 0.004 s)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Nominal bandwidth</td>
<td valign="middle" align="center" rowspan="1" colspan="1">11Mbps</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Simulation time</td>
<td valign="middle" align="center" rowspan="1" colspan="1">1000 s</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video encoding</td>
<td valign="middle" align="center" rowspan="1" colspan="1">MPEG-2 VBR</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video bit rate</td>
<td valign="middle" align="center" rowspan="1" colspan="1">150 Kbps</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video sources</td>
<td valign="middle" align="center" rowspan="1" colspan="1">2 to 5</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video sequence sent</td>
<td valign="middle" align="center" rowspan="1" colspan="1">Traffic accidents [
<xref rid="b37-sensors-15-09039" ref-type="bibr">37</xref>
]</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Routing protocol</td>
<td valign="middle" align="center" rowspan="1" colspan="1">Game-theoretical algorithm + MMDSR</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Transport protocol</td>
<td valign="middle" align="center" rowspan="1" colspan="1">RTP/RTCP/UDP</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Maximum packet size</td>
<td valign="middle" align="center" rowspan="1" colspan="1">1500 Bytes</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Multipath scheme</td>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>K</italic>
=3 paths</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Weighting values (
<xref rid="FD4" ref-type="disp-formula">Equation (3)</xref>
)</td>
<td valign="middle" align="center" rowspan="1" colspan="1">1/7</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Queue sizes</td>
<td valign="middle" align="center" rowspan="1" colspan="1">50 packets</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Interfering CBR traffic</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(300, 200, 150 and 120) Kbps</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Channel noise</td>
<td valign="middle" align="center" rowspan="1" colspan="1">−92 dBm</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Mobility pattern generator</td>
<td valign="middle" align="center" rowspan="1" colspan="1">Bonnmotion</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t4-sensors-15-09039" position="float">
<label>Table 4</label>
<caption>
<p>Simulation output values for
<italic>N</italic>
= 2 users.</p>
</caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>J
<sub>b</sub>
</italic>
<sub>,1</sub>
,
<italic>J
<sub>b</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(0.021067 s, 0.008867 s)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>J
<sub>m</sub>
</italic>
<sub>,1</sub>
,
<italic>J
<sub>m</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(0.011379 s, 0.010136 s)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>
<sub>b</sub>
</italic>
<sub>,1</sub>
,
<italic>
<sub>b</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(0.6, 0.45)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>
<sub>m</sub>
</italic>
<sub>,1</sub>
,
<italic>
<sub>m</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(0.2, 0.4)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>MOS
<sub>b</sub>
</italic>
<sub>,1</sub>
,
<italic>MOS
<sub>b</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(5,5)</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>MOS
<sub>m</sub>
</italic>
<sub>,1</sub>
,
<italic>MOS
<sub>m</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="middle" align="center" rowspan="1" colspan="1">(4,5)</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t5-sensors-15-09039" position="float">
<label>Table 5</label>
<caption>
<p>Best response probabilities
<inline-formula>
<mml:math id="mm142">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
for
<italic>N</italic>
= 2 users.</p>
</caption>
<table frame="hsides" rules="rows">
<tbody>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">
<italic>k
<sub>b/m</sub>
</italic>
<sub>,1</sub>
,
<italic>k
<sub>b/m</sub>
</italic>
<sub>,2</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">(0.6268,0.7111)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">
<mml:math id="mm143">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
,
<mml:math id="mm144">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">(0.72, 0.54)</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t6-sensors-15-09039" position="float">
<label>Table 6</label>
<caption>
<p>Simulation settings of the VANET scenario.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>Map Zone</bold>
</th>
<th valign="middle" align="center" rowspan="1" colspan="1">
<bold>Example District of Barcelona</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Area</td>
<td valign="middle" align="center" rowspan="1" colspan="1">850 × 580 m
<sup>2</sup>
</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Number of nodes</td>
<td valign="middle" align="center" rowspan="1" colspan="1">50</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Transmission range</td>
<td valign="middle" align="center" rowspan="1" colspan="1">120 m</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Mobility generator</td>
<td valign="middle" align="center" rowspan="1" colspan="1">SUMO [
<xref rid="b39-sensors-15-09039" ref-type="bibr">39</xref>
]/C4R [
<xref rid="b38-sensors-15-09039" ref-type="bibr">38</xref>
]</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">MAC specification</td>
<td valign="middle" align="center" rowspan="1" colspan="1">IEEE 802.11p</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Nominal bandwidth</td>
<td valign="middle" align="center" rowspan="1" colspan="1">11 Mbps</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Simulation time</td>
<td valign="middle" align="center" rowspan="1" colspan="1">250 s</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video encoding</td>
<td valign="middle" align="center" rowspan="1" colspan="1">MPEG-2 VBR</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video bit rate</td>
<td valign="middle" align="center" rowspan="1" colspan="1">150 Kbps</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video sources</td>
<td valign="middle" align="center" rowspan="1" colspan="1">2</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Video sequence sent</td>
<td valign="middle" align="center" rowspan="1" colspan="1">Traffic accidents [
<xref rid="b37-sensors-15-09039" ref-type="bibr">37</xref>
]</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Routing protocol</td>
<td valign="middle" align="center" rowspan="1" colspan="1">Game-theoretical algorithm + MMDSR</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Transport protocol</td>
<td valign="middle" align="center" rowspan="1" colspan="1">RTP/RTCP/UDP</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Maximum packet size</td>
<td valign="middle" align="center" rowspan="1" colspan="1">1500 Bytes</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Multipath scheme</td>
<td valign="middle" align="center" rowspan="1" colspan="1">
<italic>K</italic>
= 3 paths</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Weighting values (
<xref rid="FD4" ref-type="disp-formula">Equation (3)</xref>
)</td>
<td valign="middle" align="center" rowspan="1" colspan="1">1/7</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Queue sizes</td>
<td valign="middle" align="center" rowspan="1" colspan="1">50 packets</td>
</tr>
<tr>
<td valign="middle" align="center" rowspan="1" colspan="1">Interfering CBR traffic</td>
<td valign="middle" align="center" rowspan="1" colspan="1">100 Kbps</td>
</tr>
</tbody>
</table>
</table-wrap>
</floats-group>
</pmc>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/TelematiV1/Data/Pmc/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000047 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd -nk 000047 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Ticri/CIDE
   |area=    TelematiV1
   |flux=    Pmc
   |étape=   Corpus
   |type=    RBID
   |clé=     PMC:4431273
   |texte=   A Multi-User Game-Theoretical Multipath Routing Protocol to Send Video-Warning Messages over Mobile Ad Hoc Networks
}}

Pour générer des pages wiki

HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/RBID.i   -Sk "pubmed:25897496" \
       | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd   \
       | NlmPubMed2Wicri -a TelematiV1 

Wicri

This area was generated with Dilib version V0.6.31.
Data generation: Thu Nov 2 16:09:04 2017. Site generation: Sun Mar 10 16:42:28 2024