Communications in Computer and Information Science
39
Andrzej Kwiecie´n Piotr Gaj Piotr Stera (Eds.)
Computer Networks 16th Conference, CN 2009 Wisła, Poland, June 16-20, 2009 Proceedings
13
Volume Editors Andrzej Kwiecie´n Piotr Gaj Piotr Stera Silesian University of Technology Institute of Informatics Gliwice, Poland E-mail: {andrzej.kwiecien, piotr.gaj, piotr.stera}@polsl.pl
Library of Congress Control Number: Applied for CR Subject Classification (1998): C.2, D.4.4-5, H.3.4-5, K.4.4 ISSN ISBN-10 ISBN-13
1865-0929 3-642-02670-2 Springer Berlin Heidelberg New York 978-3-642-02670-6 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. springer.com © Springer-Verlag Berlin Heidelberg 2009 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper SPIN: 12707454 06/3180 543210
Preface
The continuous and very intense development of IT has resulted in the fast development of computer networks. Computer networks, as well as the entire field of IT, are subject to constant changes triggered by the general technological advancement and the influence of new IT technologies. These methods and tools of designing and modeling computer networks are becoming more advanced. Above all, the scope of their application is growing thanks to, for example, the results of new research and because of new proposals of application, which not long ago were not even taken into consideration. These new applications stimulate the development of scientific research, as the broader application of system solutions based on computer networks results in a wide range of both theoretical and practical problems. This book proves that and the contents of its chapters concern a variety of topics and issues. Generally speaking, the contents can be divided into several subject groups. The first group of contributions concerns new technologies applied in computer networks, particularly those related to nano, molecular and quantum technology. Another group comprises chapters devoted to new technologies related to computer network structure. There are also chapters concerning the fundamentals of computer networks, their architecture and programming. A very important group of chapters concerns the Internet in its broad meaning, covering a variety of topics. The next group comprises papers related to data and analysis of industrial computer networks. This issue is also of fundamental importance from the point of view of the structure and industrial application of distributed realtime IT systems. The last group of contributions describes general applications of computer networks, including issues related to the quality of data exchange. On behalf of the Program Committee, we would like to take this opportunity to express our gratitude to all the authors for sharing the results of their research and for assisting in the creation of this book, which in our view is a valuable bibliographic source within the area of computer networks. April 2009
Andrzej Kwiecień Piotr Gaj
Organization
CN 2009 was organized by the Institute of Informatics, Silesian Univeristy of Technology (SUT) at support by the Committee of Informatics of the Polish Academy of Sciences, Section of Computer Network and Distributed Systems in technical cooperation with the Polish Section of IEEE. Institute of Informatics Silesian University of Technology ul. Akademicka 16 44-100 Gliwice, Poland e-mail:
[email protected] web: http://cn.polsl.pl
Executive Committee All members of the Executing Committee are from the Silesian University of Technology, Poland. Honorable Member Organizing Chair Technical Volume Editor Technical Support Technical Support Office Web Support IEEE Coordinator
Halina Węgrzyn Piotr Gaj Piotr Stera Aleksander Cisek Arkadiusz Jestratjew Małgorzata Gładysz Piotr Kuźniacki Jacek Izydorczyk
Program Committee Program Chair Andrzej Kwiecień
Silesian University of Technology, Poland
Honorary Members Klaus Bender Zdzisław Duda Andrzej Karbownik Jerzy Rutkowski Stefan Węgrzyn Bogdan M. Wilamowski
TU München, Germany Silesian University of Technology, Poland Silesian University of Technology, Poland Silesian University of Technology, Poland IITiS PAN Gliwice, Poland Auburn University, USA
VIII
Organization
Program Committee Members Tülin Atmaca Win Aung Leszek Borzemski Markus Bregulla Tadeusz Czachórski Andrzej Duda Jean-Michel Fourneau Natalia Gaviria Jerzy Klamka Demetres D. Kouvatsos Stanisław Kozielski Henryk Krawczyk Nihal Pekergin Piotr Pikiewicz Bolesław Pochopień Frank Schiller Mirosław Skrzewski Sylwester Warecki Tadeusz Wieczorek Bane Vasic Grzegorz Zaręba
Institut National de Télécommunication, France National Science Foundation, USA Wrocław University of Technology, Poland University of Applied Sciences Ingolstadt, Germany Silesian University of Technology, Poland INP Grenoble, France Université de Versailles, France Universidad de Antioquia, Colombia IITiS PAN Gliwice, Poland University of Bradford, UK Silesian University of Technology, Poland Gdańsk University of Technology, Poland Université de Versailles, France Academy of Business, Poland Silesian University of Technology, Poland TU München, Germany Silesian University of Technology, Poland Freescale Semiconductor, USA Silesian University of Technology, Poland University of Arizona, USA University of Arizona, USA
Referees Tülin Atmaca Leszek Borzemski Markus Bregulla Tadeusz Czachórski Natalia Gaviria Henryk Krawczyk Jerzy Klamka Stanisław Kozielski Andrzej Kwiecień
Bolesław Pochopień Piotr Pikiewicz Frank Schiller Mirosław Skrzewski Sylwester Warecki Tadeusz Wieczorek Bene Vasic Grzegorz Zaręba
Sponsoring Institutions Technical cosponsor of the conference: Polish Section of IEEE.
Table of Contents
Molecular Networks and Information Systems . . . . . . . . . . . . . . . . . . . . . . . Stefan Wegrzyn and Lech Znamirowski
1
Sorting of Quantum States with Respect to Amount of Entanglement Included . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Roman Gielerak and Marek Sawerwain
11
Management of Web Services Based on the Bid Strategy Using the User Valuation Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jolanta Wrzuszczak and Leszek Borzemski
19
A Markovian Model of a Call Center with Time Varying Arrival Rate and Skill Based Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jaroslaw Bylina, Beata Bylina, Andrzej Zola, and Tomasz Skaraczy´ nski
26
A Novel Multicast Routing Protocol for Mobile Sensor Networks with Topology Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jerzy Martyna and Marcin Nowrot
34
On the Lifetime Maximization Design of Mobile Ad Hoc and Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jerzy Martyna
50
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc and Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jerzy Martyna
62
Object Oriented Vertical Communication in Distributed Industrial Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rafal Cupek, Marcin Fojcik, and Olav Sande
72
Combining Timed Colored Petri Nets and Real TCP Implementation to Reliably Simulate Distributed Applications . . . . . . . . . . . . . . . . . . . . . . . Wojciech Rzasa
79
Adaptive Streaming of Stereographic Video . . . . . . . . . . . . . . . . . . . . . . . . . Krzysztof Grochla and Arkadiusz Sochan The Influence of Electromagnetic Disturbances on Data Transmission in USB Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Michal Ma´ckowski Electromagnetic Emission Measurement of Microprocessor Units . . . . . . . Michal Ma´ckowski and Krzysztof Skoroniak
87
95 103
X
Table of Contents
Software Influence Upon AX.25 Protocol Performance . . . . . . . . . . . . . . . . Bartlomiej Zieli´ nski
111
Buffer Capacity Adjustment for TNC Controller . . . . . . . . . . . . . . . . . . . . . Bartlomiej Zieli´ nski
119
The Reliability of Any-Hop Star Networks with Respect to Failures of Communication Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jadwiga Kozlowska
127
A Floor Description Language as a Tool in the Process of Wireless Network Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remigiusz Olejnik
135
Dependencies and Configurations of Solutions in Multicriteria Optimization in Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Henryk Piech
143
Web Traffic Modeling for E-Commerce Web Server System . . . . . . . . . . . . Leszek Borzemski and Gra˙zyna Suchacka
151
RULEGO Bioinformatical Internet Service – System Architecture . . . . . . Aleksandra Gruca, Marek Sikora, L ukasz Chr´ ost, and Andrzej Pola´ nski
160
On the Performance of AQM Algorithms with Small Buffers . . . . . . . . . . . L ukasz Chr´ ost, Agnieszka Brachman, and Andrzej Chydzi´ nski
168
Adaptive RED in AQM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Joanna Doma´ nska and Adam Doma´ nski
174
QoS Aware MPLS Multicast in the MAN DiffServ Domain . . . . . . . . . . . . Slawomir Przylucki
184
ServeR: .NET-Based Infrastructure for Remote Services of Statistical Computing with R-Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dariusz Rafal Augustyn and L ukasz Warchal
192
Modelling of Multi-tier Internet Applications with the Use of BCMP Queueing Networks and Simulation Model in Simulink . . . . . . . . . . . . . . . . Andrzej Imielowski
200
Disaster’s Impact on Internet Performance – Case Study . . . . . . . . . . . . . . Tomasz Bilski
210
Creating 3D Web-Based Viewing Services for DICOM Images . . . . . . . . . Adam Piorkowski, Lukasz Jajesnica, and Kamil Szostek
218
Efficiency Analysis of the Server-Side Numerical Computations . . . . . . . . Adam Piorkowski and Daniel Plodzien
225
Table of Contents
XI
Adaptive Approach to Network Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bogdan Ksiezopolski, Zbigniew Kotulski, and Pawel Szalachowski
233
PROFINET I/O Network Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rafal Cupek, Markus Bregulla, and L ukasz Huczala
242
Dual Bus as a Method for Data Interchange Transaction Acceleration in Distributed Real Time Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrzej Kwiecie´ n and Marcin Sidzina
252
Hierarchical Petri Net for the CPDev Virtual Machine with Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dariusz Rzo´ nca and Bartosz Trybus
264
IEEE 802.11 Medium Access Mechanisms in Industrial Applications . . . . Wojciech Domagala The General Concept of a Distributed Computer System Designed for Monitoring Rock Movements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Piotr Gaj and Bla˙zej Kwiecie´ n Remote Monitoring of Geological Activity of Inclined Regions –The Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jaroslaw Flak, Piotr Gaj, Krzysztof Tokarz, Stanislaw Widel, and Adam Ziebi´ nski
272
280
292
The IEEE Wireless Standards as an Infrastructure of Smart Home Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mateusz Grabowski and Grzegorz Dziwoki
302
The Graphic Representation of Areas of Rough Sets Characterizing the Groups of Scheduled Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Henryk Piech
310
The Problem of Bandwidth Allocation in the Business Activity of Service Providers: Comparison and Analysis of Costs . . . . . . . . . . . . . . . . . Bartosz Marcinkowski and Piotr Ostrowski
318
Network Transmission of 3D Mesh Data Using Progressive Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Krzysztof Skabek and L ukasz Zabik
325
Application of Distributed System in Control and Diagnostic Toothed Gears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrzej Kwiecie´ n, Jacek Rysi´ nski, and Marcin Sidzina
334
XII
Table of Contents
Improving Availability of Industrial Monitoring Systems through Direct Database Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arkadiusz Jestratjew
344
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
353
Molecular Networks and Information Systems Stefan Węgrzyn1 and Lech Znamirowski2 2
1 Polish Academy of Sciences, Gliwice Silesian University of Technology, Institute of Informatics
[email protected] Abstract. Technical systems of informatics are discussed, such that their structure is based on molecules, similarly to the biological systems of informatics. A path to such technical systems of informatics is pioneered by the currently led works in the field of molecular genetic engineering.
1
Introdution
Molecular information systems are defined as the information systems whose structures are based directly on molecules, their properties and bonds between them. The molecules are groups of atoms held together by bonds. Spatial arrangement of atoms composing a molecule is defined as the molecular structure. It is a three-dimensional structure and therefore its representation on the twodimensional plane of text requires the use of any of the representation methods used in such cases. The methods most often used are: space-filling, ball, skeletal, ribbon and surface representations. According to the international agreement the following colours have been selected to represent individual atoms on those representations: carbon – black, oxygen – red, hydrogen – white, sulphur – yellow, nitrogen – blue, and phosphorus – purple. For example in (Fig. 1) different space-filling representations of molecular structures of: water, acetate and formamide are presented according to [1].
Fig. 1. Structural patterns and space-filling representations of the molecules of: water, acetate and formamide A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 1–10, 2009. c Springer-Verlag Berlin Heidelberg 2009
2
S. Węgrzyn and L. Znamirowski
Although stereochemical molecular structures illustrate a molecular structure very well, they are difficult to draw and require colouring. An alternative method for representing structures involves the use of Fisher projections in the form of horizontal and vertical lines that connect e.g. substituent atoms with the carbon atom, which is located at the centre of the cross. is above the page and the vertical It is assumed that the horizontal bond bond
below the page (Fig. 2).
Fig. 2. The Fisher projections. The Z and X atoms are located above the page plane and the W and Y atoms below that plane.
The following definitions are used in the analysis of molecular geometry: conformation, configuration and chiral objects. They are described shortly below. A conformation is defined as a way of arrangement of atoms in a molecule around a single atom as in the example of the methane (CH4 ) molecule presented in Fig. 3. If there are several groups of atoms bonded together in a molecule, the bonds between those groups are defined as a configuration. A chiral molecule is the molecule which cannot be superposed on its mirror image. The name chiral molecule comes from the Greek word cheir = hand, as it is illustrated in Fig. 4. A helix is also a chiral object (Fig. 5). The molecular structure analysis, and especially changes which may occur in the structure and the influence which this may have on the parameters such as freezing temperature, is of particular importance in view of the Mpemba effect illustrated in Fig. 6. Analyses of spatial structures of molecules and dynamic processes occurring in them gave rise to the development of the science divisions such as nanochemistry, femtochemistry and even attochemistry. 1 nm = 10−9 m
1 fsec = 10−15 sec
1 asec = 10−18 sec
(1)
The molecular technologies of object construction are to be understood as such object synthesis methods which involve inserting free molecules transferred from available external environment into the structures being constructed. An example of such molecular information technologies can be the technologies
Molecular Networks and Information Systems
3
Fig. 3. Conformations of hydrogen atoms in the methane (CH4 ) molecule
Fig. 4. The name chiral object comes from the Greek word cheir – hand
being the basis for formation and development processes of information systems which have been continued in biological organisms for billion of years, owing to which those organisms were and are formed, were and are developed and are reproduced. The molecular information technologies can only be developed in the appropriately prepared environments. The following can be specified as the necessary environmental conditions: – motion of environmental molecules ensured by molecular motors (Fig. 7), based on controlled switches turning alternately positive feedbacks into negative ones and vice versa.
4
S. Węgrzyn and L. Znamirowski
Fig. 5. A helix as an example of chiral object
Fig. 6. The Mpemba effect
Molecular Networks and Information Systems
5
Fig. 7. Structure of molecular motors. State motion.
Fig. 8. How motion was created in the evolution processes. First forms of motion – crawling of single cell organisms.
Motion of elements is the basic condition of molecular technologies. The motion formation originates from the period when the first living organisms were single cells. A single cell organism was gaining motion as a result of a change of its shapes as illustrated in Fig. 8. One more condition that should be met by environment is: – enclosing the environment by means of membranes to protect against unwanted diffusions of molecules into some of its areas (Fig. 9 and Fig. 10). Figure 9 illustrates a two-layer membrane structure and symbol of a molecule called lipid which the membrane structure is based on. A simplified two-layer lipid membrane can be presented in the way illustrated in (Fig. 10). In the environment prepared like that, the molecular technology of connecting molecules and atoms into the needed products can be developed. Its essence is such a notation form of the encoded information that, when inserted into the disordered group of molecules, results in creation of ordered subgroups, being the expected products, in it (Fig. 11). One of the ways leading to that is the sticky matrix method presented in Fig. 12.
6
S. Węgrzyn and L. Znamirowski
Fig. 9. Fragment of two-layer membrane based on the molecules called lipids and symbol of that molecule
Fig. 10. Schematic image of lipid bilayer. Such structures define the boundaries of some areas inside an environment.
Fig. 11. (a) Disordered group of molecules, (b) ordered subgroups creating the products owing to information input
Molecular Networks and Information Systems
7
Fig. 12. Illustration of sticky matrix method in the case of protein synthesis
Fig. 13. Illustration of text forms in the: (a) technical and (b) molecular information systems
Illustration of text structures in the molecular information systems in comparison with the technical information systems is presented in Fig. 13. The molecular algorithm notations presented in Fig. 13 are chains of different molecules occupying thousands of times less space than algorithm notations in the technical information systems. The texts noted like that are located in the DNA of living organisms being the basis of their existence, development and reproduction. An encoded notation of product structures is presented in Fig. 14, and the whole molecular information system in Fig. 15. An example of molecular information technologies can be the biological information systems being the basis of existence, development and reproduction of living organisms. They are the basis for some solutions of the processes performed within genetic engineering for example insulin production. They are described shortly below.
8
S. Węgrzyn and L. Znamirowski
Fig. 14. Packed notation of a product structure in the molecular information system
Fig. 15. Structure of the molecular information system
Molecular Networks and Information Systems
9
Fig. 16. Illustration of cutting the DNA chain
Fig. 17. Cloning within DNA2 of a gene cut out of DNA1
2
Molecular Genetic Engineering
The first operation in genetic engineering is cutting the DNA chain as illustrated in Fig. 16. The DNA chain, chemically cut by means of restriction enzymes, can be the basis for next operations which we want to perform e.g. cloning as presented in Fig. 17 and Fig. 18.
3
Compendium
A molecular environment is understood as a group of different, free and able to move atoms and molecules, which are defined as its elements.
10
S. Węgrzyn and L. Znamirowski
Fig. 18. Cloning of alien structural genes in guest cells
In such a molecular environment, different local bonds between their elements can be created. The local bonds, whose structures store the information on history of their formation, can be molecular origins of living objects that is such objects, which by their existence, generate formation processes of next derivative objects imitated on them. We can then say about origins of living objects and methods of molecular storage and transfer of information, which they are based on, are molecular information systems.
References 1. Berg, J.M., Tymoczko, J.L., Stryer, L.: Biochemistry. PWN, Warszawa (2007) 2. Węgrzyn, S.: Nanosystem of informatics. International Journal of Systems Science 32(12) (2001) 3. Ball, P.: Does hot water freeze first? Physics World 19(4) (April 2006)
Sorting of Quantum States with Respect to Amount of Entanglement Included Roman Gielerak and Marek Sawerwain Institute of Control & Computation Engineering University of Zielona Góra, ul. Podgórna 50, Zielona Góra 65-246, Poland {R.Gielerak,M.Sawerwain}@issi.uz.zgora.pl
Abstract. The canonical Schmidt decomposition of quantum states is discussed and its implementation to the Quantum Computation Simulator is outlined. In particular, the semiorder relation in the space of quantum states induced by the lexicographic semiorder of the space of the Schmidt coefficients is discussed. The appropriate sorting algorithms on the corresponding POSETs (partial ordered sets) consisting from quantum states are formulated and theirs computer implementations are being tested.
1
Introduction
Let E(HA ⊗ HB ) be a set of quantum states of a given composite system SA+B on the corresponding Hilbert space HA ⊗ HB . As it is well known the problem to decide whether a given state ρ ∈ E is entangled or not is in general NPHARD [5]. Although some mathematical procedures for this purpose and also for deriving in a quantitative way the amount of entanglement included do exist the real problem with them is that they are hardly to be efficiently calculable [2] and [3]. LOCC
In the case of pure states the operational semiorder |ψ |ϕ on the space of pure states (meaning that the state |ψ can be transformed into the vector |ϕ by exclusive use of only LOCC (local operations and classical communication) class of operations) has been formulated in an effectively calculable way by appealing to the corresponding Schmidt decomposition in Nielsen [4]. The relation LOCC
introduces only partial order on the space of pure states and it is why the adaptations of standard sorting algorithms of the corresponding POSETs are much more involved [6] and [7] comparing to the case of linearly ordered sets. Several adaptations of this sorting procedures are being adopted and tested on the Zielona Góra Quantum Computing Simulator and some recent results of this kind will be presented in the present contribution, see also [7]. Another topic discussed in our contribution is an attempt to generalize the Nielsen result to the case of general mixed quantum states. For this purpose the Schmidt decomposition in the corresponding Hilbert-Schmidt space has been used and certain semiorder relation in the space of quantum states has been A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 11–18, 2009. c Springer-Verlag Berlin Heidelberg 2009
12
R. Gielerak and M. Sawerwain
introduced. The effort has been made to connect the introduced semiorder with several notions of quantitative measures of entanglement. A well known distillation of entanglement procedure [1] also introduces a partial semiorder on the space of quantum states. However this process is hardly to be effectively calculable and moreover it requires to have many (infinitely many in fact) copies of a given unknown quantum state at hands in order to perform the distillation process. Although we have no complete proof we formulate a conjecture that the partial order induced by the lexicographic order of the Schmidt decomposition coefficients is connected to the operational meaning saying that in the state ρ1 is no less entanglement contained then in the state ρ2 if the state ρ1 may be transformed into ρ2 by means of local operations supplemented by classical communication only.
2 2.1
Algorithms for Sorting Quantum States Canonical Schmidt Decomposition of Quantum States
For a given finite-dimensional Hilbert space H the corresponding Hilbert-Schmidt space is denoted as HS(H). Let us recall that the space HS(H) consist of all linear operations acting on H and equipped with the following scalar product: A|BHS = Tr A† B (1) A system (Ei , i = 1, . . . , dim(H)2 ) of linearly independent matrices on H is called complete orthonormal system iff Ei |Ej HS = 1. If moreover all Ei are hermitean the system (Ei ) is called complete hermitean orthonormal system. Proposition 1. Let ρ ∈ E(HA ⊗ HB ). Then there exist: a number r > 0 (called the canonical Schmidt rank of ρ) and a complete orthonormal system (EiA ) (resp. (EjB )) in HS(HA ) (resp. HS(HB )) and such that ρ=
r
λα EαA ⊗ EαB
(2)
α=1
where the numbers λα > 0 are called (the canonical) Schmidt coefficients of ρ. If all λα are different then this decomposition is unique. Remark 1. A different notions of Schmidt decomposition of density matrices are being discussed in the literature [9]. Our Schmidt characteristics like the canonical Schmidt rank and (canonical) Schmidt coefficients and the corresponding orthonormal systems are in unique way connected with a given ρ and in principle all the properties (separability|nonseparability for example) of ρ should be obtainable form this decomposition. For example if the corresponding EαA , EαB in formula (2) are nonnegative and therefore hermitean then ρ is separable. Remark 2. It is well known [10], [11] that for separable states the sum of the canonical Schmidts coefficients is always less or equal to 1. This leads to the separability criterion known as cross norm criterion.
Sorting of Quantum States
13
Remark 3. The closed subspace of HS(H) consisting of hermitean matrices forms a real Hilbert space. Therefore if the SVD theorem extends to the real Hilbert space case then the corresponding systems in formula (2) are hermitean by the very construction. Now we formulate constructive route to the canonical Schmidt decomposition. Proposition 2. Let d = dim(H) and let (Ei , i = 1, . . . , d2 ) be a system of linear independent matrices on H. Then there exists operation O converting the system (Ei ) into the orthonormal system (Fi ). If the system (Ei ) consists of hermitean matrices then O((Ei )) is also system formed from hermitean matrices. Proof. The well known Gram-Schmidt orthonormalisation procedure is used as an example of the converting operation O. Let now (FiA ) (resp. (FjB )) be any orthonormal system in HS(HA ) (resp. HS (HB )). Then the system (FiA ⊗ FjB ) forms a complete orthonormal system in HS(HA ⊗ HB ). Thus taking any ρ ∈ E(HA ⊗ HB ) we can decompose: ρ= ci,j FiA ⊗ FjB (3) i,j=1
where ci,j = Tr ρFiA ⊗ FjB . Then we apply SVD operation to the matrix C = (ci,j ) yielding (like in the vector case) all the data for supplying the decomposition (2). In particular the singular values of the matrix C are equal to the squares of the Schmidt numbers from (2). 2.2
Linear and Partial Semi-order for Entanglement States
Firstly, we present a simple algorithm to realise sorting a set of quantum states by using von Neumann entropy notion. We will call this algorithm a linear sorting by entropy algorithm (abbreviated as LSEA). The pseudo-code of LSEA is presented in Fig. 1. The second presented algorithm realises sorting of entangled states using the Schmidt decomposition. The pseudo-code is presented in the Fig. 4. The input of the Algorithm (Fig. 4) is now a list V of vector states on the space H = HA ⊗HB . 1: function LSEA( Σ : {ρ1 , ρ2 , . . . , ρN } ) : ΣSORT : {ρ1 , ρ2 , . . . , ρN } 2: for i=1 to N do 3: ρA i = TrHA (ρi ) A 4: [σi , Vi ] = EigenSystem(ρ i i) 5: En(i) = E(ρA λ log λik i ) = − k k 6: end for 7: ΣSORT = ClassicalSort({En(1), En(2), . . . , En(N )}) 8: return ΣSORT 9: end function
Fig. 1. Algorithm for sorting entangled quantum states using the von Neumann entropy
14
R. Gielerak and M. Sawerwain
Fig. 2. General idea of sorting quantum states where the lexicographic order is used. In result the obtained structure represents the partial order where in the sets of quantum states with the same Schmidt rank may appear a linear chains which are noncomparable.
The output is divided into two parts. The first part is the partitioning of V: V = [V1 , . . . , Vp ] where V (i) ∈ V, SchmidtRank(Vi ) = ri = const; and
(4)
1 ≤ r1 < r2 < . . . < rp ≤ min(dim HA , dim HB ), Ui V (i) = V i.e. the partitioning with respect to increasing Schmidt’s ranks. Additionally, we return the complete data of merging of each Vi . We need to define the corresponding semiorder relation. For a given pair of quantum states ρ1 and ρ2 we perform the canonical Schmidt decomposition (2) of them obtaining the corresponding Schmidt ranks r1 , r2 and the corresponding Schmidt coefficients λα (1), λα (2). Having this data we can formulate the following algorithm which in fact introduces the semiorder relation in the space of quantum states. This algorithm will be called SD-QueryOracle. Having defined the semiorder ≺ we can now formulate one of the possible (see [12] for other versions) sorting sets of quantum states algorithm that will be called MergeSort type algorithm. 2.3
Example of Usage of Linear Sorting Algorithm
Let us consider family of Bell maximally entangled states for qubits and qudits. In the case of qubits, these states have the following form |ψ = α|00 ± β|11 or |ψ = α|01 ± β|10 and |α|2 + |β|2 = 1 ,
(5)
Sorting of Quantum States
1: 2: 3: 4: 5: 6: 7: 8:
15
function SD-QueryOracle( V : {ρ1 , ρ2 } ) : {(ρ1 ≺ ρ2 ), (ρ2 ≺ ρ1 ), non − comparable} for i=1 to 2 do {ri , {λ1 (i), . . . , λri (i)}} = SchmidtDecomp(Vi ) if (r1 > r2 ) return (ρ1 ≺ ρ2 ) if (r2 > r1 ) return (ρ2 ≺ ρ1 ) sort the sets {λ1 (i)i=1,2 } in non-increasing order j 2 2 if (r1 = r2 ) if (∀j=1,...,r1 i=1 λi (1) ≤ λi (2) ) return (ρ1 ≺ ρ2 ) return non-comparable end function
Fig. 3. Implementation of query oracle for sorting entangled quantum states 1: function ChainMergeSort( Σ : {ρ1 , . . . , ρN } ) : V 2: for i=1 to N do {r(i), {λ1 (i), . . . , λri (i)}} = S(i) = SchmidtDecomp(Vi ) 3: r = max(r(1), . . . , r(n)) 4: for α=1 to r do 5: V (α) = [ ] 6: for i=1 to N do if (r(i)=α) V(α)=[V(α), ρα ] 7: end for 8: for α=1 to r do 9: choice randomly ρ ∈ V (α) 10: Rα = (ρ, { }) 11: Rα (1) = P ; Rα (1) = { } 12: U(α) = V (α) \ {ρ} 13: while U(α) = ∅ do 14: choice ρi ∈ U(α) 15: U(α) = U(α) \ {ρ} 16: construct a chain decomposition C(α) = {C1α , C2α , . . . , Cqα } of Rα 17: end while 18: for i=1 to q do 19: I1: do binary search on Ciα using SD-QueryOracle to find smallest element (if any) 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
that dominates ρi I2: do binary search on Ciα using SD-QueryOracle to find largest element (if any) that dominates ρi end for infer all results Rα of I1 and I1 into Rα : Rα (1) = Rα (1) ∪ ρ Rα (2) = Rα (2) ∪ Rα find a chain decomposition C α of Rα construct ChainMerge(Rα , C α ) data end for return (V = [V1 , V2 , . . . , Vr ], ChainMerge(V)=[ChainMerge(Vi),i=1,. . . ,r]) end function
Fig. 4. Algorithm for partial ordered sorting entangled quantum states
and for qubits there exist exactly four such maximally entangled states. The one of the Bell states for qudits where d = 3 can be written similarly to the qubit case |ψ = α0 |00 + α1 |11 + α2 |22 and |α0 |2 + |α1 |2 + |α2 |2 = 1 .
(6)
In general, the set of d-level Bell maximally entangled states for two qudits can be expressed through the following equation: 1 2πıjp/d d = √ e |j|(j + q) mod d . |ψpq d j=0 d−1
(7)
16
R. Gielerak and M. Sawerwain def make_psi(r, p, q): def make_psi(r, p, q): r.Reset() r.Reset() for i in range(0,q): for i in range(0,q): r.NotN(1) r.NotN(1) r.HadN(0) r.RandGateRealN(0) for i in range(0,p): for i in range(0,p): r.PauliZ(0) r.PauliZ(0) r.CNot(0,1) r.CNot(0,1)
Fig. 5. The functions written in Python preparing the entangled Bell states for given register. The symbol denoted by r is an object representing the quantum register and p and q are indices of Bell state generated by this procedure. The left column generates maximally entangled state but in the right column instead of the Hadamard gate we use a randomly generated gate to produce a non-maximally entangled states. Table 1. The time consumed by sorting tests which use randomly generated quantum registers with a different amounts of entanglement in the sense of von Neumann’s entropy Number of registers Time (results in secs) 10 0.0008762 100 0.0048304 1000 0.1407390 2000 0.4907356 4000 1.8053686 10000 10.643833
It is possible to express equation (7) in terms of qudit gates: q
p
d = (Id ⊗ Xd ) · (Hd ⊗ Id ) · (Zd ⊗ Id ) · CNOTd · |00 . |ψpq
(8)
where 0 ≤ p ≤ d − 1 and 0 ≤ q ≤ d − 1 are indices of one of d2 allowed Bell state. The symbol I represents the identity matrix for d-level qudit, and H represents the Hadamard gate and Z and X are generalized Pauli’s operators. A simple function written in the Python programming language which uses the QCS module to generate entangled states is depicted in Fig. 5. We use this function to construct entangled states for earlier prepared quantum register. The function presented in the left column of Fig. 5 generates states which have always the same amount of entanglement. Therefore the function from Fig. 5 must be equipped with some additional unitary gate to modify the entanglement amount. In the qubit cases the additional rotation gate after Hadamard gate can be used. In general any unitary gate that realises the rotation through any axis may be used to generate Bell states with uniform distribution of entanglement. Indeed, the right version of function make_psi from Fig. 5 possesses this feature. Using function from Fig. 5 and the appropriate computational procedure to calculate the von Neumann entropy it is possible to prepare a simple benchmark. Additionally, to obtain comparable results we prepared simple test as a script in Python language for quantum registers built only from qubits. The test contains the following computation steps: first we generate n quantum registers then for every register the von Neumann entropy is calculated. After these steps we sort
Sorting of Quantum States
17
the obtained list using the classical method called sorting by selection. In Table 1 we present the real time necessary to perform this simple test. 2.4
Computational Complexity Analysis
The computational complexity of algorithm in Fig. 1 is given by following equation:
T (n) =
N
(T1 (ni , di ) + T2 (ni , di ) + T3 (ni , di )) + Tsort (n)
(9)
i=1
where N is the total number of quantum registers and di represents freedom level of qudit used in given ni quantum register. Additionally, T1 (·) represents the complexity of partial trace calculation, T2 (·) is the complexity of calculation of the eigenvalues and eigenvectors and T3 (·) is the complexity of the von Neumann entropy calculation. Each of mentioned complexity functions work on matrices and if we assume that n is the size of matrix and d is freedom level of a state which is given by density matrices we obtain the following relations: T1 (n, d) = dn2 , T2 (n, d) = n3 , T3 (n, d) = n .
(10)
The complexity of Tsort (n) depends on the algorithm used to sort the obtained quantum registers, the value of entropy is used to compare two registers. If we use one of the popular sorting methods like Heapsort with complexity given by O(n log(n)), the complexity of algorithm in Fig. 1 will be T (n) = N (dn2 + n3 + n) + n log(n) ,
(11)
where the process of computation of eigenvalues and eigenvectors is the most time-consuming part of the whole process of sorting quantum registers. The second algorithm of sorting quantum states (Fig. 4) contains oracle routine as described by algorithm in Fig. 3. The complexity of oracle for the worst case when the ranks are equal is given by: T (n) = n3 + n log(n) + n2 = O(n3 ) ,
(12)
The procedure of calculation the singular value decomposition dominates the computational complexity of oracle routine. It is important to stress that in the oracle routine we also sort the Schmidt coefficients, but by using the classically effective algorithm. However, the SVD still dominates the complexity of SDQueryOracle. It is known [7] algorithm in Fig. (4) calls the query at most O(w · n log n), where w is the maximal width of poset containing n elements but the time of SVD again dominates the whole process of partial sorting of quantum states.
18
3
R. Gielerak and M. Sawerwain
Conclusions and Further Work
Basing on the canonical Schmidt decomposition of quantum states a specific semiorder relation has been introduced in the space of quantum states of a given bipartite system. In the case of pure states the introduced semiorder relation possesses a very clear operational meaning as described by Nielsen [4] for the first time. Whether the same operational meaning can be affiliated with the analogous semiorder relation defined in the space of all quantum states should be explained. Additionally, some version of sorting algorithm of the arising posets, the so called ChainMerge sorting and basing on the particular version of query oracle comparing the amount of entanglement in two quantum states is presented and tested in the case of vector states. The following extensions of the present material seems to be worthwhile to perform: (a) to extend the Nielsen result [4] to cover the case of general quantum states, (b) to formulate several different version of sorting posets algorithm with special emphasis putted on their computational complexity, (c) to formulate different version of query oracles for comparing the amount of entanglement included in two general states of bipartite systems.
References 1. Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2000) 2. Garey, M.R., Johnson, D.S.: Computers and Intractability: A guide to the Theory of NP-Completeness. W.H.Freeman and Co., San Francisco (1979) 3. Papadimitrio, C.H.: Computational Complexity. Addison-Wesley, Reading (1994) 4. Nielsen, M.A.: Conditions for a class of entanglement transformations. Phys. Rev. Lett. 83, 436 (1999) 5. Gurvits, L.: Classical deterministic complexity of Edmonds – problem and Quantum Entanglement. In: Proc. of the 35th Annual ACM Symposium on Theory of Computing, San Diego, USA, June 9-11 (2003), also available at quant-ph/0303055 6. Daskalakis, C., Karp, R.M., Mossel, E., Riesenfeld, S., Verbin, E.: Sorting and Selectio In Posets, http://arxiv.org/abs/0707.1532 7. Faigle, U., Turan, G.: Sorting and Recognition Problems for ordered Sets. SIAM J. Comput. 17(1), 100–113 (1988) 8. Gielerak, R., Sawerwain, M.: Sorting of amount of Entanglement in Quantum States functions implemented for Quantum Computing Simulator. Submitted to KNWS 2009 conference, www.knws.uz.zgora.pl 9. Terhall, B.M., Horodecki, P.: arXiv:quant-ph/9911117v4 10. Chen, K., Wu, L.A.: Quant. Inf. Comp. 3, 193 (2003) 11. Rudolph, O.: Phys. Rev. A 67, 032312 (2003) 12. Gielerak, R., Sawerwain, M. (in preparations) 13. Sawerwain, M., Gielerak, R.: Natural quantum operational semantics with predicates. Int. J. Appl. Math. Comput. Sci. 18(3), 341–359 (2008)
Management of Web Services Based on the Bid Strategy Using the User Valuation Function Jolanta Wrzuszczak and Leszek Borzemski Institute of Computer Science, Wroclaw University of Technology Wroclaw, Poland {jolanta.wrzuszczak,leszek.borzemski}@pwr.wroc.pl
Abstract. In the chapter the auction methods based on the bidding approach will be proposed to be employed both in scheduling and controlling of Web services. The aim of the underlying Web service will be the management of user requests, which will revenue their valuation function to get server resources based on the fuzzy-logic approach. Two strategies will be analyzed and justified through experiments made in the Matlab environment. The first situation deals with the resources being in deficiency to serve all clients, whereas in the second one, every user will be served on the expected level and some resources will be left not assigned, so that the volume will be assigned to as “additional” goods for other users. In this work a scheduling performance based both on the auction approach and on a FIFO policy will be evaluated and compared. It will be shown how efficient the bidding algorithm could be in the real life applications.
1
Introduction
Making money transactions via Internet is becoming more and more popular. Many services require paying charges for their resources. To implement such approaches, efficient scheduling algorithms must be applied and a proper QoS must be guaranteed. Additional strategies must take place, to assure the desired level of user’s satisfaction. In the literature many works appeared dealing with the problem of managing the service resources [3,4,5,6,8]. Our aim is to study the possibility of providing QoS service based on auction approaches in which a price paid by users for a service isn’t strictly defined. Then the usage of an auction algorithm combined with aspects of fuzzy logic methodology may be applied [7]. In this work the service management approach, applying an auction approach based on fuzzy logic, will be developed and discussed. Effectiveness of proposed strategies will be evaluated in the experiments running in the Matlab environment. The idea of reporting offers (requests) for service resources will be extensively discussed in the next section. The third section presents a concept of implementing the auction method based on the fuzzy logic approach in a Web service. In
This work was supported by the Polish Ministry of Science and Higher Education under Grant No. N516 032 31/3359 (2006 2009).
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 19–25, 2009. c Springer-Verlag Berlin Heidelberg 2009
20
J. Wrzuszczak and L. Borzemski
the fourth section the problem of scheduling jobs in a Web service will be formulated. Also, some analysis comparing the original proposed approach versus a FIFO policy will be discussed based on simulated runs, performed in the Matlab environment. In the summary some concluding remarks will be given.
2
User Valuation Function
The role of a proposed Web service will provide a suitable bandwidth for downloading files. Pieces of bandwidth will be the auctioned items. Users will be required to reveal their valuation function based on the R-(membership) distributive function [1], so they will report the initial requests (a minimal bandwidth they are interested in) and the upper bound for which they will offer the highest price [2]. After reaching the point of maximal level, the price will remain constant. Every user is obliged to reveal his valuation function θi fulfilling the following requirements: 1. θi (0) = 0 at the starting point the value of the valuation function equals zero [9], 2. θi is non-decreasing function [9], 3. θi is a continuous, derivable and linear function at the first stage and then remains constant (saturated), 4. The maximum value of the valuation function is 1 [7]. In Fig. 1 three exemplary valuation functions are presented. After the bidding process (collecting offers) the server will know each valuation function. The aim will be to manage the bandwidth. Two strategies may be considered. In the first strategy the total volume of bandwidth is smaller than the total sum of expected bandwidth reported by all clients. In the second strategy, the total sum of user requests will be smaller than the overall bandwidth
1
u1
u2
u3
0 512
1024
Fig. 1. Valuation function reported by three users
kb/s
Management of Web Services Based on the Bid Strategy
21
proposed by the server. Thus, the remaining bandwidth would be distributed among the users. The proposed mechanisms will be treated in details in Sect. 3.
3
Algorithms and Problem Formulation
The aim of Web service will be to support the possibility of delivering multimedia files, for which users will be obligated to pay a charge related to a demanded bandwidth. Proposed mechanisms will be considered among clients and the scheduler of Web service (Fig. 2). Two cases will be discussed.
Fig. 2. Schema of web service
3.1
First Case
Server’s resources aren’t sufficient to satisfy all clients. The total bandwidth is limited, so resources will be granted only to some number of clients. Every user that is served will receive requested bandwidth. Three algorithms: FIFO, First Price and Vickrey will be considered in providing this policy. FIFO Algorithm. From queue of submitted valuation functions, clients with the earliest time stamp of reported offers will be served. The offers will be chosen for such a long time that the server exhausts the total bandwidth. The income of the Web service (ϕ1 ) will be calculated as a sum of charges paid by the users (Eq. 1). The price paid by clients will be determined by their declared charge. ϕ1 =
n
bi
(1)
i
First Price Auction Algorithm. This mechanism supports who offers the top price (“1”) for minimal piece of bandwidth. Resources will be distributed to clients in the sequence according to the price they have offered [11]. The income of the Web service (ϕ2 ) will be calculated as a sum of charges paid by the users (Eq. 2). ϕ2 =
m i
ci
(2)
22
J. Wrzuszczak and L. Borzemski
Auction Algorithm Based on Vickrey Approach. In this approach, the clients will be chosen as in the first price auction policy. The difference is that the price paid by users will be determined by other users’ offers [2,10,11]. For defined bandwidth the highest price reported by the other client is determined. The value is calculated from other users’ valuation functions using the bandwidth argument, i.e. the X in Fig. 1 determines the price for the first user (u1 ). In the Vickrey approach for every offer the price will be calculated based on the second highest price offered in the current bid. The income of Web service (ϕ3 ) will be defined as a sum of served offers (3). ϕ3 =
k
di (p), di (p) = max fj (p) j=i
i
(3)
where (fj (p))valuation function for user (j) and number of bandwidth pieces (p). 3.2
Second Case
The total sum of user requests doesn’t exceed the total volume of server resources. The remaining bandwidth could be assigned to some users. FIFO and First Price algorithms will exhibit the same results because every client will be served and will pay his declared price. Therefore in the second case only two algorithms will be considered FIFO/First Price and Vickrey. FIFO/First Price. In this approach the remaining bandwidth will be assigned for free, so any additional income of the Web service will be supported. The performance index (ϕ4 ) (Eq. 4) will be defined as a total sum of bandwidth pieces which will be sold to u users. ϕ4 =
u
li
(4)
i
Auction Algorithm Based on the Vickrey Approach. The remaining bandwidth will be assigned in the same manner as in a Vickrey algorithm presented in the first case but the price will be changed. The supplement of bandwidth will be assigned as 30% more than expected and in this case the price will be determined by a reported valuation function. The performance index (ϕ5 ) (Eq. 5) will be defined as a total sum of bandwidth pieces, which will be sold to u users. ϕ5 =
u
ri
(5)
i
In the Vickrey algorithms, assigning the base volume to clients will bring lower income of the Web service comparing to FIFO/First Price approach, because every client pays the second highest price for the assigned bandwidth.
Management of Web Services Based on the Bid Strategy
23
Problem Formulation. For given: – set of user valuation functions (distributive R-function), – performance index, should be found a strategy, which optimizes the performance index and assures the client satisfaction simultaneously.
The total sum of chosen offers
Experiment. The Vickrey algorithm for unique items, First Price and FIFO policy will be proposed to solve this problem. To evaluate discussed mechanisms some simulations have been performed. The simulations have been conducted in the Matlab environment ver. 6.5 and Statistics Toolbox Version 4.0. The stream of offers (valuation function) was simulated as a stochastic process with a Poisson distributive function with the following values of λ parameter (λ=500, 400, 200, 100, 75, 50, 25, 10, 5) . The parameter is the mean of total bandwidth reported by users. The number of users has been simulated as 1000 and 100. In the first case (bandwidth assigned only to chosen users) the bandwidth pieces were established at the level of 3000 and 6000, respectively. The income of the Web service has been measured with performance indexes defined in Eq. 1, 2, 3 for the first approach. The total sum of bandwidth pieces was measured with performance indexes Eq. 4 and 5 for the second approach. The results of the first approach are showed in Fig. 3. Each pattern of the bar represents a total sum of charges for a different algorithm. The second case was examind from the perspective of the volume of sold bandwidth pieces for a defined price. Every user will be served on the expected level, so they will receive a requested bandwidth. The total sum paid by the users in FIFO/First Price Policy will be the same and every additional bandwidth will be assigned for free. The server income will be calculated for the requested bandwidth pieces. After assigning some undistributed bandwidth pieces, the income of the Web service will be constant and the provided bandwidth pieces will arise.
FIFO First Price
500
Vickrey
400 300 200 100 0 500
400
200
100
75
50
25
10
Number of bandwidth pieces assigned to users
Fig. 3. The total sum of chosen offers versus the number of bandwidth pieces assigned to users for FIFO, First Price and Vickrey algorithms (for the first case)
J. Wrzuszczak and L. Borzemski
Total sum of sold bandwidth
24
14 000 12 000 10 000 8 000
FIFO/First Price
6 000
Vickrey
4 000 2 000 0 100
50
25
10
5
Number of bandwidth pieces assigned to users
Fig. 4. The total sum of sold bandwidth versus the number of bandwidth pieces assigned to users for two algorithms (for second approach)
In the Vickrey approach the price is calculated for “requested” bandwidth pieces and will be lower in comparison to FIFO/First Price mechanism, but the server will earn “extra” resources for sharing them in the final stage. In Fig. 4 the total bandwidth versus a defined price is presented. The difference between bars confirms that the Web server income decreases as the server has divided the additional bandwidth for free at FIFO/First Price algorithm.
4
Results and Conclusions
Analyzing the performance index for three algorithms (FIFO, First Price and Vickrey for first discussed approach) presented in Fig. 3 shows, that in every case the best solution is the First Price auction algorithm, whereas the FIFO algorithm is the worst one. The Vickrey policy guarantees the client satisfaction because served clients will pay lower price than they declared and the value of performance index for Vickrey policy was a little bit worse when compared to the First Price algorithm. In Fig. 4 the values of the performance index (sold bandwidth for the second case) have been shown. Every client of the Web service will be served on the expected level and the additional, unused bandwidth will be split for clients in FIFO/First Price policy for free. In Vickrey policy some additional bandwidth will be sold. In FIFO/First Price algorithms the sold bandwidth was lower when compared to Vickrey approach. Summarizing the first approach, the Vickrey algorithm could be judged as a very effective because the value of its performance index was higher than in FIFO approach and a little bit worse than for a First Price policy. In the second approach, the algorithm based on Vickrey mechanism could be treated as very effective for managing server resources because more bandwidth was sold than for FIFO/First Price policy.
Management of Web Services Based on the Bid Strategy
25
References 1. Bobillo, F., Straccia, U.: An expressive fuzzy description logic reasoner. Fuzzy Systems IEEE, 923–930 (2008) 2. Borzemski, L., Wrzuszczak, J., Kotowski, G.: Management of Web service delivering multimedia files based on the bid strategy. Information Systems Architecture and Technology ISAT, 13–23 (2008) 3. Brazier, F., Cornelissen, F., Gustavsson, R., Jonker, C., Lindeberg, O., Polak, B., Treur, B.: A multi-agent system performing one-to-many negotiation for load balancing of electricity use. Electronic Commerce Research and Applications 1, 208–222 (2002) 4. Cherkasova, L., Phaal, P.: Peak Load Management for commercial Web servers using adaptive session-based admission control. In: Proceedings of the 34th Hawaii International Conference on System Sciences (2001) 5. Courcoubetis, C., Dramitinos, M., Stamoulis, G.: Auction-based Resource Allocation in UMTS High Speed Downlink Packet Access (HSDPA), pp. 434–441. IEEE, Los Alamitos (2005) 6. Cramton, P., Shoham, Y., Steinberg, R.: Combinatorial auctions. The MIT Press, Cambridge (2006) 7. Goyal, M., Lu, J., Zhang, G.: Decision Making in Multi-Issue e-Market Auction Using Fuzzy Techniques and Negotiable Attitudes. Journal of Theoretical and Applied Electronic Commerce Research 3, 97–110 (2008) 8. Maille, P., Tuffin, B.: Pricing the Internet with multibid auctions. IEEE/ACM Trans. on Networking 14(5) (2006) 9. Perez-Bellido, A., Salcedo-Sanz, S., Portilla-Figueras, J.A., Ortiz-Garcia, E.G., Garcia-Diaz, P.: An Agent System for Bandwidth Allocation in Reservation-Based Networks using Evolutionary Computing and Vickrey Auctions. In: Nguyen, N.T., Grzech, A., Howlett, R.J., Jain, L.C. (eds.) KES-AMSTA 2007. LNCS (LNAI), vol. 4496, pp. 476–485. Springer, Heidelberg (2007) 10. Vickrey, W.: Counterspeculation, Auctions, and Competitive Sealed Tenders. The Journal of Finance 16(1), 8–37 (1961) 11. Wrzuszczak, J.: Auction mechanism in management of processing nodes in a computer cluster. Contemporary Aspects of Computer Networks 2, 259–265 (2008)
A Markovian Model of a Call Center with Time Varying Arrival Rate and Skill Based Routing Jarosław Bylina1 , Beata Bylina1 , Andrzej Zoła2 , and Tomasz Skaraczyński2 1
Institute of Mathematics Marie Curie-Sklodowska University Pl. M. Curie-Skłodowskiej 1, 20-031 Lublin, Poland
[email protected] [email protected] 2 Institute of Mathematics and Computer Science John Paul II Catholic University of Lublin ul. Konstantynów 1H, 20-708 Lublin, Poland
[email protected] [email protected] Abstract. The paper aims at construction and investigation of a practical model serving a call center performance evaluation. The system considered here consists of two queues and three agents’ classes. For such a system we develop a queuing model with the arrival (calling) rate varying with time and a continuous-time Markov chain (CTMC) which provide approximations of system performance measure. The results obtained from the CTMC are compared to results obtained from a simulation of a call-center. The models are applied to determine: average time of answer, probabilities of waiting in queues, average length of queues.
1
Introduction
The problem of a call center functioning is a very important issue from the point of view of various disciplines: economy, teleinformatics, sociology, psychology. The subject of the teleinformatics is – among many others – to forecast the performance of call centers with the use of simulation [7,8,9,10] and analytical modelling [1,4,6]. Both manners – simulation and analytical modelling – have their own advantages and flaws. The simulation is an easy subject to modifications and can be simply adapted to every system. Moreover, the arbitrary accuracy can be achieved by simulation – given sufficient time. However, simulation can take a lot of time, especially when precise results are needed. On the other hand some analytical methods can be used. They consists in making a mathematical model of the investigated system and then solving some
This work was partially supported within the project Metody i modele dla kontroli zatloczenia i oceny efektywnosci mechanizmow jakosci uslug w Internecie nastepnej generacji (N517 025 31/2997).
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 26–33, 2009. c Springer-Verlag Berlin Heidelberg 2009
A Markovian Model of a Call Center with Time Varying Arrival Rate
27
equations describing such a model. From their solutions various characteristics of the system can be obtained. Among analytical methods we can name: discrete approximation, diffusion approximation, mean value analysis, stochastic Petri nets and many others. But as the most intuitive and natural way of modelling call centers we chose Markovian queuing models solved with the use of continuous time Markov chains (CTMCs). Such analytical models can give better accuracy in shorter time than simulation mentioned above. The simplest queuing model describing a very simple call center is M/M/s [4,6] describing a system with clients of only one class, with s identical serving agents, and with exponential arriving time and exponential serving time. Some more complicated Markovian models for call centers were considered in [3,5,13]. The authors in [11] presented a queuing model with clients of two classes and three (the case with skill based routing – also written SBR – which means that incoming calls are assigned to the most suitable agent and some agents are proficient in serving both clients’ classes) or two (the case without SBR) agents’ classes. The model was solved with analytical methods and with simulation. There was an assumption that the arrival and serving rate is constant in time and only steady states probabilities were investigated. The present paper is a natural extension of those studies. Here, the authors try to find transient probabilities of various events and, moreover, for variable arrival rate. Such an approach certainly approximates a real call center better, where the number of connections varies in time. The results are achieved in two ways – with simulation and with numerical solving of some differential equations with the fourth-order Runge-Kutta method [12]. This paper is organized as follows. Sect. 2 explain how we construct our CTMC model where the rate of clients’ arrival depends on time. In Sect. 3 we discuss some details of the simulation model. In Sect. 4 we compare the performance of the CTMC models with the simulation results for an example of a real call center. We also briefly outline how the CTMC model might be used for optimal scheduling. We conclude in Sect. 5 with a summary and future research directions.
2
CTMC Model
Consider a scheme of a call center presented in Fig. 1. The system consists of two queues and three agents’ classes. Let us denote: – qT , qB – the maximum number of clients in the queues QT and QB , respectively; – sT , sB , sTB – the number of agents in groups ST , SB and STB , respectively;
28
J. Bylina et al. µ ST µ λT (t)
QT µ S TB µ
λB (t)
QB µ SB µ
Fig. 1. A queuing model for the investigated call center
– λT (t), λB (t) – the intensity of incoming traffic (i.e. the mean value of arrival time) of clients of class T and B, respectively; – µ – the intensity of outgoing traffic (i.e. the mean value of service time). We will define the state of the system in the following way: X(t) = (nT (t), nB (t), nTB (t))
(1)
where nT (t) denotes the quantity of clients served by agents from the group ST together with the number of clients in the queue QT – at the moment t. Similarly, nB (t) denotes the quantity of clients served by agents from the group SB together with the number of clients in the queue QB – at the moment t. Finally, nTB (t) denotes the quantity of clients served by agents from the group STB – at the moment t. The modelled call center is one with skill based routing, which is realized as follows. As long as there are free agents in the group ST , clients from the queue QT are directed to them – as is the case of SB and QB , respectively. When there are clients in QT and there are no free agents in ST , the clients are directed to agents from STB ; similarly for QB and SB . So the constraints for the elements of the system state (nT (t), nB (t), nTB (t)) are (we omit t for clarity): ⎧ ⎧ ⎨ nTB = sTB ⎨ nTB ∈ [0, sTB − 1] or (2) nT ∈ [0, sT ] nT ∈ [0, sT + qT ] . ⎩ ⎩ nB ∈ [0, sB ] nB ∈ [0, sB + qB ] Every possible transitions of the system from any given state (nT , nB , nTB ) are presented in Fig. 2.
A Markovian Model of a Call Center with Time Varying Arrival Rate
for nT > sT and
nTB< sTB
n T , n B , n TB+1
for nB > sB and
otherwise
n T +1, n B , n TB
n T , n B , n TB+1
λT
n T − 1, n B , n TB
µ min( nT, sT )
nTB< sTB
29
otherwise
n T , n B +1, n TB
λB
n T , n B , n TB
µ min( nB, sB)
n T , n B − 1, n TB
µ nTB
n T − 1, n B , n TB for nT > sT
n T , n B − 1, n TB for nB > sB
n T , n B , n TB− 1 otherwise
Fig. 2. Possible transitions among states in the presented model
To find transient probabilities π(t) of states – and then some characteristics of the model – we were to generate a transition rate matrix Q(t) for our CTMC and then solve a differential equation dπ(t) = π(t)Q(t) . dt
3
(3)
Simulation Model
The CQMS (Component Queue Modelling System) [9,10] simulation platform was developed by the authors of this article as a system aiding building network models and testing them in simulation. The main goal was to build a tool that enables creating models of various network easily. To achieve this aim a component approach was used, which provided high flexibility. The system consists of components representing elements of network queue models, such as clients, groups of agents, etc. The software also includes some visual components that allow to present the results of simulation as well as to visualize the network in work. Building a network model in CQMS requires using appropriate components and then linking them by means of properties and events.
4
Tests, Results and Comparison
In tests, some parameters were fixed as follows: – qT = 10, qB = 10; – sT = 10, sB = 15, sTB = 0 for a non-SBR system and sT = 8, sB = 12, sTB = 5 for an SBR system; – µ = 0.0022 for a roughly balanced system and µ = 0.002 for a slightly overloaded system.
30
J. Bylina et al.
0.04
X_B(t) X_T(t)
0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 6
8
10
12
14
16
18
20
22
Fig. 3. Arrival rates λT (t) and λB (t) as functions of time (time given in call center work-hours: 6 am till 10 pm)
simulation analytical solution
10
simulation analytical solution
10
8
8
6
6
4
4
2
2
0
0 6
8
10
12
14
16
18
20
22
6
8
10
12
µ = 0.002, no SBR
16
18
20
22
µ = 0.0022, no SBR simulation analytical solution
10
14
simulation analytical solution
10
8
8
6
6
4
4
2
2
0
0 6
8
10
12
14
16
18
20
22
6
8
10
12
µ = 0.002, with SBR
14
16
18
20
22
µ = 0.0022, with SBR Fig. 4. Average total length of queues
Arrival rates λT (t) and λB (t), being time-dependent, are shown in Fig. 3. All rates (µ, λT (t) and λB (t)) are given in [s−1 ] (that is, per second). These values are based on data from a real call center originated from [4]. For a numerical solution of the model (see also Sect. 2) we generated the transition rate matrix Q(t) on the basis of the transition graph (Fig. 2) numbering possible states in the lexicographical order. The matrix was not very big (1022 states with SBR, 546 states without SBR), so we did not employ any parallel or distributed algorithm for its generation (as we employed in [2]). The equation
A Markovian Model of a Call Center with Time Varying Arrival Rate
1
1
simulation analytical solution
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
31
simulation analytical solution
0 6
8
10
12
14
16
18
20
22
6
8
10
12
14
µ = 0.002, no SBR
16
18
20
22
µ = 0.0022, no SBR
1
1
simulation analytical solution
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
simulation analytical solution
0 6
8
10
12
14
µ = 0.002, with SBR
16
18
20
22
6
8
10
12
14
16
18
20
22
µ = 0.0022, with SBR
Fig. 5. Probability that the client has to wait
(3) was also not very demanding and was solved with the use of fourth-order Runge-Kutta method with the step h = 0.01 [s]. The simulation was conducted with time step equal to 1 [s], although the results were aggregated every 5 minutes during each workday (i.e. a mean was calculated for every 300 steps). All the tests were repeated 1000 times. The following characteristics were obtained (among others) and analyzed: – average total length of queues (for a call center it denotes the number of clients connected to the center’s telephone network but not currently being served) – Fig. 4; – probability that an arriving client has to wait for an agent’s answer (regardless of the time of waiting) – Fig. 5; – average time of an agent’s answer (the average time that a client spends in a queue, i.e. “on hold”) – Fig. 6. All the graphs in these figures are given with the time of call center work-hours: 6 am till 10 pm. Each measure is given for four different models differing with µ and existence of SBR (as was declared at the beginning of this section). It can be seen in the figures that both methods give expected results. That is: – the analytical solution gives results similar to the simulation (although differences are more significant for models with SBR; on the other hand, the resemblance for models without SBR is very strong);
32
J. Bylina et al.
simulation analytical solution
250
simulation analytical solution
250
200
200
150
150
100
100
50
50
0
0 6
8
10
12
14
16
18
20
22
6
8
10
12
µ = 0.002, no SBR
16
18
20
22
µ = 0.0022, no SBR simulation analytical solution
250
14
simulation analytical solution
250
200
200
150
150
100
100
50
50
0
0 6
8
10
12
14
16
18
20
22
6
8
10
µ = 0.002, with SBR
12
14
16
18
20
22
µ = 0.0022, with SBR Fig. 6. Average time of answer
– the characteristics obtained for bigger µ are better (that is smaller) the for smaller µ; – the same can be seen for SBR – better characteristics with SBR, as it can be expected; – when λT (t) and λB (t) grow, then the studied characteristics also grow (that is get worse) – what is mainly visible about 10 am. The difference between the simulation and the analytical solution for cases with SBR requires an individual explanation. It is a well known trait of simulation methods that they demand a lot of repetitions to acquire reliable results – especially when we deal with a lot of different states which are not very probable (each on its own), but together can play a significant role. Here we have more states for models with SBR than without it (1022 to 546) so some rare (but not unimportant) events are more likely to be lost in the simulation.
5
Conclusion
We have studied a Markovian model with time varying arrival rate. We compared estimated performance measures obtained from this model with measures obtained from a detailed simulation model of a call center. Both analytical and simulation results show clearly that skill based routing improves the work of a call center. The improvement is most significant in cases
A Markovian Model of a Call Center with Time Varying Arrival Rate
33
of normal load, i.e. when the number of clients calling is close but lower than the number of clients that the center is able to serve. It can also be seen that the call center performance in rush hours is quite sensitive to little changes of µ and (as expected) to the presence of SBR.
References 1. Bhulai, S., Koole, G.: A queueing model for call blending in call center. IEEE Trans. on Aut. Contr. 48, 1434–1438 (2003) 2. Bylina, J., Bylina, B.: Development of a distributed algorithm of matrix generation for Markovian models of congestion control and its performance analysis on a computer cluster. In: Contemporary Aspects of Computer Networks, Wydawnictwa Komunikacji i Łaczności, Warszawa, vol. 2, pp. 251–258 (2008) 3. Deslauriers, A., L’Ecuyer, P., Pichitlamken, J., Ingolfsson, A., Avramidis, A.N.: Markov chain models of a telephone call center with call blending. Computers & OR 34(6), 1616–1645 (2007) 4. Gans, N., Koole, G., Mandelbaum, A.: Telephone Call Centers: tutorial. Review and Research Prospects, Manufact. and Service Oper. Manag. 5, 79–141 (2003) 5. Ingolfsson, A.: Modeling the M(t)/M/s(t) Queue with an Exhaustive Discipline (submitted) 6. Koole, G., Amndelbaum, A.: Queueing Models of Call Centers. An Introduction. Ann. of Oper. Res. 113, 41–55 (2002) 7. Perrone, L.F., Wieland, F.P., Liu, J., Lawson, B.G., Nicol, D.M., Fujimoto, R.M. (eds.): Variance Reduction in the Simulation of Call Centers. In: Proceedings of the 2006 Winter Simulation Conference (2006) 8. Pichitlamken, J., Deslauriers, A., L’Ecuyer, P., Avramidis, A.N.: Modelling and simulation of a telephone call center. In: Proceedings of the 2003 Winter Simulation Conference, pp. 1805–1812 (2003) 9. Skaraczyński, T., Zoła, A.: Komponentowy system modelowania kolejek w zastosowaniu do telefonicznych centrów obsługi. Współczesne aspekty sieci komputerowych, Wydawnictwa Komunikacji i Łaczności, Warszawa, vol. 1, pp. 89–96 (2008) (in Polish) 10. Skaraczyński, T., Zoła, A.: Optimizing employment in telephone call centers. Theor. and Appl. Inform. 20(1), 39–47 (2008) 11. Skaraczyński, T., Zoła, A., Bylina, J., Bylina, B.: Markovian method of modeling call-centers. In: Computer Science and Information Technologies (Proceedings of CSIT 2008), Lviv, pp. 51–54 (2008) 12. Stewart, W.J.: An Introduction to the Numerical Solution of Markov chains. Princeton University Press, New York (1994) 13. Whitt, W.: Engineering Solution of a Basic Call-Center Model. Manag. Sci. 51(2), 221–235 (2005)
A Novel Multicast Routing Protocol for Mobile Sensor Networks with Topology Control Jerzy Martyna and Marcin Nowrot Institute of Computer Science, Jagiellonian University, ul. Lojasiewicza 6, 30-348 Cracow, Poland {martyna,nowrot}@softlab.ii.uj.edu.pl
Abstract. In this paper, a novel protocol, called Multicast Routing Protocol for Mobile Sensor Networks (MuPMS), is proposed. It is based on the two-phase creation of multicast trees in a mobile network. During the movement our protocol can modify all previously built multicast trees. It allows for the better data harvesting by a mobile node. Both analysis and simulation results show that the performance of given protocol is fair and can be significantly tuned according to application requirements.
1
Introduction
Wireless Sensor Networks (WSNs) [1] are often used for environment monitoring. The applications implemented in these networks must be able to find defined regions, gather data and send it to special nodes which are referred to as the sink(s). Sinks are used as gateways to the Internet or host computers. If sinks or certain nodes in a WSN are mobile, then the WSN is defined a Mobile Sensor Network (MSN). In general, certain nodes (or a single node) in MSN can be moved by using their own control system or natural motion, such as sea currents, a strong wind, etc. It is possible that an MSN can translocate according to the mobile model. Thus, mobile nodes have the ability to pattern recognition, communication and control, etc. The main difference between MSNs and static WSNs lies in data gathering and transmitting processes. In a static WSN all queries or messages are sent in the forecast way. In the case of MSNs it depends on the mobile model of the nodes in the system. The concept of the MSN and its activities are described in a number of papers [2,3,4,5]. Localizations in MSNs are given in research works [6,7,8]. Examples of MSN are given in papers [9,10]. The multicast tree problem in the context of delivering data or multimedia streams in computer network consists in building routing trees from a source to a several destinations which are devoted to data transfer. The resulting data transfer has substantially lower bandwidth costs compared to the two alternatives, i.e. sequential unicast transmission or flooding. The multicast process in mobile networks differs from static networks because the nodes may use omnidirectional transmissions. During a transmission A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 34–49, 2009. c Springer-Verlag Berlin Heidelberg 2009
A Novel Multicast Routing Protocol for Mobile Sensor Networks
35
all neighbouring nodes receive the same information in a single transmission. Therefore, the goal of multicast tree building is defined as the process of minimizing the number of transmissions that take place. Multicast protocols in mobile ad hoc networks has been described in a number of papers [11,12,13,14]. A paper by Chandra [12] proposed the improving multicast reliability. A route driven gossip protocol was introduced by Luo [13]. A congestion-controlled multicast protocol was given by Tang [14]. An overview of multicast protocols which can be implemented in mobile ad hoc networks is outlined in a paper by Obraczka [15]. The main goal of this paper is to provide a new distributed protocol which can be implemented in mobile sensor networks. This allows us to construct multicast trees for gathering data and next to send the data to moving nodes. In contrast to all well-known multicast protocols used in mobile ad hoc networks, our protocol is employed in a mechanism for topology control. In other words, it can define for all nodes the transmitting powers, which are not greater than is necesarry. The rest of the paper is organized as follows. Section 2 presents the multicast routing protocol for WSNs with topology control, which leads to a minimization of energy consumption. We then describe in detail the activity of our protocol. Performance analysis and an energy-efficiency analysis of our protocol are made in Sect. 3. Simulation results are given in Sect. 4. Finally, the last section concludes the paper.
2
Multicast Routing Protocol for Mobile Sensor Networks
WSNs and ad hoc networks use three categories of multicast protocols: Automatic Retransmission Request (ARQ) based protocols [16], gossip-based protocols [17] and protocols based on the FEC (Forward Error Correction) mechanism [18]. The first category includes those multicast protocols in which all packets are retransmitted until they are received by all the receivers. In gossip-based protocols, multicast packets are repeatedly transmitted a few times by a few multicast members in peer-to-peer fashion. Multicast protocols based on a FEC mechanism embed redundant data (e.g. erasure code) in each packet before transmitting. A few packet losses are tolerated in these protocols and the original data can be reconstructed by using correctly received ones. Let a MSN be a set of n nodes. All nodes can communicate with each other via wireless links, when they are in transmitting range. Each node has in its transmitting range a restricted number of sensor nodes. MSN nodes and possible wireless links are described in directed graph G(V, E), where V is a set of all nodes and E is a set of all edges which are directed wireless links. We assume there exists here a set τi , τi ⊆ V , which only contains roots of multicast trees. It is supposed that the MSN works in a synchronous node in which the time axis is divided into identical time intervals, called slots. The length of a slot is equal to the duration of the transmission frame. During the time transmission of a frame each node can send or receive only one frame. The synchronous mode of data transmission respond to the TDMA/FDMA access method.
36
J. Martyna and M. Nowrot
The activity of the multicast routing protocol for an MSN involves two phases here. In the first phase during the movement of a mobile node are sent periodically packets which initiate multicast tree building. Each node after receiving this packet as the first from among others sends in the broadcast mode a packet announcing the initiation of a multicast tree. It also begins the building of the multicast tree and it stands as the root of this tree. The process of the first phase of multicast tree building is shown in Fig. 1. During the multicast tree building process the transmitting energy needed for data transmission must be minimised. An algorithm to build a multicast tree is shown in Fig. 2.
Fig. 1. The process of the first phase of multicast tree building
During the second phase, which takes place a moment later, a mobile node sends a packet with a request for data transmission to the built a multicast tree. Since the request to data transmission originates from another position of a mobile node, the other node must be left a multicast tree. Therefore, a multicast tree must be reconfigured. In this phase a mobile node keeps a multicast tree and gathers all the data from the multicast tree. The second phase of multicast routing is realized by a mobile node. Then, during the movement of a mobile node new multicast trees Ti , i = 1, . . . , n arise, for which this node is used as a multicast root. The implementation of the multicast routing protocol admits two methods. In the first of these, both phases are executed alternately in constant time periods. In the second method of implementation two mobile nodes are used. The first initiates multicast tree building and the second collects all data from the
A Novel Multicast Routing Protocol for Mobile Sensor Networks
37
procedure building_a_multicast_tree; {initialize} τi = {source_node}; for ∀v ∈ V − {τi } do begin P (source_node, v) := admissible_transmit_power; set candidate edge to(source_node, v); set candidate edge weight to transmission power to reach v from source node; end; {multicast tree building} while (τi V ) do begin select v ∈ V − {τi } with the smallest candidate edge weight; add v to τi using its candidate edge (u, v); increase P (u) to smallest power that reaches v; for (v ∈ V − {τi }) do begin select u which minimizes P (u) − P (u) {P > P (u) is smallest power to reach v from u} set candidate edge to (u, v); set candidate edge weight to P (u) − P (u); end; end; Fig. 2. Pseudo-code of building a multicast tree procedure for mobile sensor network with topology control
multicast tree (see Fig. 3). In our solution the second mobile node must wander close behind the first. During the building_a_multicast_tree procedure a set of nodes belonging to the multicast group is found every time. From this group is selected those which minimize the power of transmission. We assumed that this group is shown by using a gossip algorithm [17]. The activity of this algorithm depends on an exchange of special messages by all members of this group. Let all members of a multicast group be marked from 1 to n. We assumed that m nodes (m < n) send a message which is a sequential number of the sender. Therefore, each message has an identifier, which defines the global identifier of the sender and the local identifier in the multicast group. For this communication we defined a table stored in each sensor node. It contains the following sequences, namely: – a sequence which possesses m elements. The positions in this sequence indicates the number of senders for a given message. – a sequence with n elements. The positions in this sequence inform us about the actual number of members in the multicast group. – a sequence containing n elements, which inform us about the time the last message of sender was received.
38
J. Martyna and M. Nowrot
Fig. 3. The process of the second phase of multicast tree building
– a sequence possessing m elements. Each position in this sequence defines a number of active sensors in the multicast group. If the multicast group is complete, then all bits in this sequence are equal to 1. – a sequence which contains m elements. The position of this sequence indicates the number of identifiers of multicast members and contains the number of messages last received. – a sequence containing m elements. Each position in this sequence is assigned a specific number of groups and contains a number of messages last sent. The activity of a gossip algorithm begins with the initiating node which sends neighbouring nodes one, two or more messages (see Subsect. 4.1) inviting them to join the multicast group. Each node from the multicast group, which receives an invitation to a multicast group and is not a member of this group, once again sends invitation messages to the remaining members of the group. This procedure continues until n-bits sequence of sensor activity contains a defined number of 1. The activity of the gossip algorithm used here is associated with the following messages: – a “join-to” invitation to participate in a multicast group which invites the identifier of the sensor to a created muticast group, – “agreement” – a message which confirms participation in a multicast group, – “lack-of-agreement” – a message which indicates a rejection of an invitation to participate multicast group, – “disjoint” – a message which indicates the liquidation of a multicast group.
A Novel Multicast Routing Protocol for Mobile Sensor Networks
3
39
Performance Analysis of MuPMS in Mobile Sensor Networks
In this section, we present an analytical model of multicast group formation using our protocol. Finally, we offer a new measures of multicast protocol for MSNs. 3.1
Effectiveness Analysis of Multicast Group Formation in MSNs
The multicast group building can be described by using the epidemic theory which was presented by Bailey [19], Birman [20] and Demers [21]. The formation of a multicast group follows in microsteps. We assumed that each microstep is equal to a time interval in which only one member of a multicast group can send its message. In effectiveness analysis of multicast group formation in MSNs, we assumed that only one node can initiate this process by sending messages to its neighbours b inviting them to join a multicast group. We can specify two cases: b = 1 and b is greater than 1. Both cases will be described in more detail here. Model Analysis for b = 1. Let n be the total number of members of a multicast group and k be the number of nodes already invited to a multicast group. We assumed that Pa is the probability that an invitation to a multicast group reaches a specific node before the termination of a given microstep. The process whereby a node is included in a multicast group can be described by the discrete time Markov chain. The state of a system is defined by the number of nodes already invited to multicast group. Let the probability that k-th node is invited to a multicast group in microstep i + 1 be equal to P (ki+1 = k). The probability that in the case of a multicast group containing n members, the number of invited sensor nodes increases by one, is equal to k n−k (1) Pincr (k) = Pa n n−1 The probability that the number of already invited nodes becomes k in microstep i + 1 can be written as P (ki+1 = k) − (1 − Pincr (k))P (ki = k) + Pincr (k − 1)P (ki = k − 1)
(2)
with the following initial conditions: P (ki = 0) = 0, P (k0 = 1) = 1, P (k0 = k) = 0 for k = 1. The probability that any members of a multicast group will not be invited to a multicast group after s microsteps can be calculated using the InclusionExclusion Principle [22]. It is equal to Plack (s) ≤ n · Plack (X, s) = n(1 − P (ks = n))
(3)
40
J. Martyna and M. Nowrot
where Plack (X, s) is the probability that any member of a multicast group will not be invited from V members of a multicast group after microstep s. The above relationship allows us to computate the number of microsteps needed for to multicast group formation. Model Analysis for b = 3. An analysis of the multicast group formation model for b greater than 1 is very complex. The analysis presented below is given for the case b = 3. The analysis for other values of b is similar. It is assumed that only one node can initiate the process of multicast group formation. Each node sends to their neighbours three (b = 3) messages inviting them to join the multicast group. If k out of n members are invited already, then the probability that invitation originated from an already invited node is given by nk . We have here three scenarios in which the number of invited nodes increases by one in a single microstep. 1. One copy of the invited message (“join-to”) is sent to an uninvited node, two copies are sent to two already invited members and all copies successfully at their destination. The process can be divided into two stages. In the first, three messages arrive successfully. In the second stage, one message is sent to an uninvited member and two are sent to already invited members. The probability that these events will happen can be written as follows: n−kk−1 k k 3 n−k k−1 k−2 3 1 2 n−1 P1 = =3 P Pa3 n 3 a n n − 1 n − 2 n − 3 3 (4) 2. One copy of the message “join-to” reaches an uninvited member of the multicast group, another copy reaches an invited member and yet another copy is lost. The probability that these events will be happen can be given by n−kk−1 k 3 2 P (1 − Pa ) 1n−11 P2 = n 3 a 2 k n−k k−1 =6 (5) Pa2 (1 − Pa ) n n−1 n−2 3. One copy of the invited message reaches an invited member, the other two copies are lost. The probability that these events will happen is as follows n−k k k 3 n−k 2 1 =3 (6) P3 = Pa (1 − P a) n−1 Pa (1 − Pa )2 n 1 n n − 1 1 The probability that the number of invited members of a multicast group increases by one in one microstep can be written as Pincr (k, 1) = P1 + P2 + P3
(7)
A Novel Multicast Routing Protocol for Mobile Sensor Networks
41
We also have here two cases where the number of nodes invited to join a multicast group can increase by two: 1. Two copies of the “join-to” message are sent to different members of group. The other copy is sent to an uninvited member. None of these copies are lost. The probability that these events occur is given by n−kk−1 k 3 P4 = P 3 2n−11 n 3 a 3 k n−k n−k−1 k−1 (8) =3 Pa3 n n−1 n−2 n−3 2. Two copies of the inviting message “join-to” reache different uninvited members of the multicast group successfully and one copy is lost. The probability of these events occuring is given by n−k k k 3 n−k n−k−1 2 2 =3 P5 = Pa (1 − Pa ) n−1 Pa2 (1 − Pa ) n 2 n n − 1 n − 2 2 (9) Now, we can say the probability that the number of invited members of a multicast group increases by two is equal to Pincr (k, 2) = P4 + P5
(10)
There is only one scenario in which the invitation arrives from three messages. In this scenario all three copies of the message “join-to” reach at three different uninvited members successfully. The likelihood that these events will happen is given by Pincr (k, 3) = n−k k k 3 n−k n−k−1 n−k−2 3 Pa3 n−1 Pa3 n 3 n n − 1 n − 2 n − 3 3
(11)
The probability that the number of invited members in microstep i + 1 is k (0 < k ≤ n) consists of four parts. The first part concerns a case in which the number of invited nodes in i-th microstep is equal to k and does not increase. The second part comes from the case where the number of invited members of a multicast group is equal to k − 1 and increases by one. The third part concerns a case in which the number of invited members is equal to k − 2 and increases in one microstep by two, etc. Thus, the probability of these events occuring is equal to P (ki+1 = k) = (1 − Pincr (k, 1) − Pincr (k, 3) − Pincr (k, 3))(P (ki = k) +Pincr (k − 1, 1)P (ki = k − 1) + Pincr (k − 2, 2)P (ki = k − 2) +Pincr (k − 3, 3)P (ki = k − 3)
(12)
42
J. Martyna and M. Nowrot
There are here two special cases when k = 1 and k = 2. Thus, initially one node is invited. The probability that one node is invited to a multicast group in microstep i + 1 is available from the case in which no node has been invited in this microstep. The probability of these events occuring is equal to P (ki+1 = 1) = (1 − Pincr (1, 1) − Pincr (1, 2) − Pincr (1, 3)) · P (ki = 1)
(13)
Analogously, the probability that two members of a multicast group will be invited in microstep i + 1 comes from either of two cases in which no node gets invited or just one node gets invited. The probability for these events is equal to P (ki+1 = 2) = (1 − Pincr (1, 1) − Pincr (1, 2) − Pincr (1, 3)) · P (ki = 1)
(14)
Initially only one node is invited to the multicast group. Thus, the initial conditions for this Markov chain are as follows: P (ki = 0) = 0, . . .. The probability that all the n nodes are invited after s microsteps, P (ks = n), can be computed in the following way. As with the subset size 1 case, the probability that no node gets invited by the sequence number information from node X after s microsteps is equal to Pincomp (X, s) = 1 − P (ks = n). This probability is bounded by Pincomp (s) ≤ n · Pincomp (X, s) = n(1 − P (ks = n))
(15)
The complexity of the presented method is equal to O(log n) where n is the number of the multicast group size. This means that the number of microsteps is of the order of O(n log n). 3.2
Energy-Efficiency Analysis
In this subsection, we study energy-efficiency of our model as compared with the flat ad hoc network. Assume that n sensors are randomly and uniformly deployed on a disk of radius R which covered all sensors in the multicast group. The node density in the multicast group is given by n/πR2 . We analyzed here the energy cost of sending one packet originated at a randomly chosen sensor to a root. We use the radio model considered in [23]. When a sensor is receiving a packet, it consumes Erx [Joule/bit]. A transmission that covers a neighborhood of radius r consumes Etx (r) [Joule/bit], which is given by Etx (r) = etx + max{emin, eout rα }
(16)
where etx is the energy consumed by the transmitter circuitry, emin is the minimum energy radiated regardless of the transmission range, eout is the antenna output energy to reach and α is the path attenuation factor. We note that emin gives a hard limit on the minimum transmission range, namely
r ≥ r0 = (
emin 1 )α eout
(17)
A Novel Multicast Routing Protocol for Mobile Sensor Networks
43
Let X be the distance from chosen sensor to the root node. The probability density function (pdf) of X is given by pX (x) =
2 x, R2
0<x≤R
(18)
Thus, the total energy EAdHoc (r) consumed by sending one packet to the root node with an optimal transmission range r is given by EAdHoc
2 = min r≥rmin R2
R
E(r)h(x, r)xdx
(19)
0
where rmin is the minimum transmission range to ensure node connectivity, E(r) is the energy consumed in one hop, h(x, r) is the number of hops for a packet to reach the root node x meters away. We recall that a sufficient condition for network connectivity for large n is 2 equal to Rr 2 = O(log n/n) [24]. Thus, we have log n (20) rmin = max r0 , R n We assume that a sensor in multicast group has, on the average, (n − 1)(r2 /R2 ) neighbours who listen to that sensor’s transmission. Thus, the energy consumed in one hop is given by E(r) = Etx (r) + (n − 1)
r2 Erx R2
(21)
Thus, from Eqs. (19) – (21) the total energy consumed by sensors in the flat ad hoc multicast group is given by [25] EAdHoc
2R = min r≥rmin 3r
r2 Etx (r) + (n − 1) 2 Erx R
(22)
The optimal transmission range in the asymptotic regime n → ∞ is given by rmin (see Eq. (20)). In the protocol MuPMS, the mobile root positions itself at a random location and broadcasts a packet to activate sensors in its converage area. Let θ0 denote the minimum angle of the coverage area for the multicast group of sensors. The total energy consumed by sensors in the multicast group is given by EMuPMS = min
θ≥θ0
d2 tan2 θ n · Erx + Etx (d) R2
(23)
where d is the transmission range in meters from the last sensor then transmits directly to the mobile root. Comparing Eq. (22) with Eq. (23), we see that when the multicast group size n is increaed by R, MuPMS offers orders of magnitute of improvement over the flat ad hoc architecture in energy efficiency.
44
3.3
J. Martyna and M. Nowrot
Performance Measures of MuPMS
To analyse the performance of MuPMS we introduced the following measures: 1. Ratio of Data Delivery. This is the quotient of a number of delivered data packets to all packets received by receivers. It is the ratio of the effectiveness of the protocol. 2. Ratio of Data Forwarding Efficiency. This is the number of data packet transmissions per delivered packet. This measure takes into consideration the number of discarded and retransmitted packets. In the case of our protocol this measure is less than 1. 3. Ratio of the Number of Sent Bytes in Controlling Packets to the Number of Data Bytes Received by Receivers. This measure defines the overheads connected with network control. 4. Ratio of the Number of Data Bytes for Control and Receivers to the Amount of Data Received by the Nodes. This measure defines the data channel effectiveness, which is important in wireless communication. 5. Ratio of the Energy Expenditure of the Flat Ad Hoc to that of the MuPMS, EAdHoc /EMuPMS, as a Function of the Node Density ρ. This measure defines the gain in energy efficiency achieved by MuPMS protocol.
4
Experimental Results
In this section, we present a simulation and the numerical results of a performance evaluation of the MuPMS protocol. Our simulation network is 500 m × 500 m in size. This sensor field includes both mobile and immobile sensor nodes. We assumed that the ratio of immobile to mobile sensor nodes, ξ, can change in simulation experiments from 0.5 to 1. The radio transmission range of each node varies from 10 m to 35 m. The movement of each mobile node follows a random waypoint model. Moreover, the speed of mobile nodes can change from vmin to vmax . In the first simulation, we chose the multicast group size to be 5 up to 60. For all multicast sessions we have observed the following metrics: (a) relative tree cost, and (b) relative maximum delay. There, the relative tree cost is the sum of the physical hop lengths of all wireless links of the multicast tree. We assumed that the relative maximum delay is the number of physical hops along the longest path from the source to any of the receivers on the tree. By way of comparison we computed the optimal tree cost from a Steiner tree built on the physical topology for the same number of nodes in the multicast group. The optimal maximum delay was calculated on the Shortest Path Tree built on a physical topology with the same root. Figure 4 shows the relative tree cost versus the multicast group size for the ratio ξ which is equal to 0.5 and 0.8, respectively. As is shown in the graphs in Fig. 4(a), MuPMS builds more efficient multicast trees at lower mobile sensor node speeds than at higher speeds. This is because at network topology at
A Novel Multicast Routing Protocol for Mobile Sensor Networks 250
250
q
200
v= 5
m s m s
ξ = 0.5
150 100
q
q
q
q
v = 10
q
q
q
Relative tree cost
Relative tree cost
v = 10
50
45
q
200
v= 5
m s m s
ξ = 0.8
150 100
q
q
q
q
q
q
q
50
0
0 0
10
20 30 40 50 Multicast group size
60
0
10
20 30 40 50 Multicast group size
(a)
60
(b)
Fig. 4. Relative tree cost as function of the multicast group size in mobile sensor network for ratio ξ = 0.5 and 0.8, respectively 100
[%]
q
75
v = 10 m s v=
ξ = 0.5
5m s
50
25
q
q
0
10
q
q
q
q
q
0
Relative maximum delay
Relative maximum delay
100
[%]
q
75
v = 10 m s
ξ = 0.8
v = 5m s
50
25
q
q
q
q
q
q
q
0 20 30 40 50 Multicast group size (a)
60
0
10
20 30 40 50 Multicast group size
60
(b)
Fig. 5. Relative maximum delay as function of the multicast group size in mobile sensor network for ratio ξ = 0.5 and 0.8, respectiely
a higher speed is more complicated and the relative tree cost is greater than for lower sensor node speeds. Figure 5 shows the relative maximum delay versus the multicast group size for different values of ratio ξ which are 0.5 and 0.8, respectively. As is shown in the graph in Fig. 5(a) the relative maximum delay increases according to the multicast group size and also increases according to the speed of the mobile sensor nodes. The same notice is observed for higher values of the ξ parameter. The main effectiveness parameters of the MuPMS protocol are plotted in Fig. 6. As shown in the graph in Fig. 6(a), the Ratio of Data Delivery increases with the speed of the mobile sensor nodes. This is because the nodes can route to other nodes earlier, when they all are moving. Data Forwarding Efficiency (see Fig. 6(b)) shows that the volume of data packet transmission per delivered packet
46
J. Martyna and M. Nowrot 100
[%] 75
q
q 50
25
q
q
q
q q v=
q
10 m s
v = 5m s
Ratio of Data Forwarding
Ratio of Data Delivery
100
[%] 75
50
q
25
q
v=
q
ξ = 0.5
0
q
q
q
q
q
10 m s
v = 5m s
ξ = 0.5
0 0
10
20 30 40 50 Multicast group size
60
0
10
20 30 40 50 Multicast group size
(a)
60
(b)
Fig. 6. Ratio of Data Delivery and Ratio of Data Forwarding as function of the multicast group size in mobile sensor network for ratio ξ = 0.5
Number of microsteps
35 30
Multicast group size = 60
q P PP q PP 25 bq = 1 PP PP PqP 20 q PP PP PP q PP P q P 15 bq = 3 PP PP PqP simulation PP 10 PP q computation Pq 5 −6 10
10−4
10−2 Pincomp
Fig. 7. Number of microsteps as function of the probability of incompleteness Pincomp of multicast group
indicates that the higher speed causes an increase of transmission overheads and thus decreases the value of this parameter. The multicast group building process was observed during the execution of the formation_of_multicast_group procedure. This procedure causes a single “join-to” message to be sent. Therefore, the number of microsteps needed to form a multicast group is equal to the number of microsteps divided by the number of nodes in a multicast group. Figure 7 shows the results of computing and simulating the number of microsteps needed to formation a multicast group in an MSN, consisting of 60 nodes depending on the value of Pincomp – the probability that no node in this group was invited to join a multicast group. It
Ratio of the energy expenditure
A Novel Multicast Routing Protocol for Mobile Sensor Networks
47
80 [%] 70 60 50 40 30 20 10 0
0
0.25 0.5 0.75 1
1.25 1.5 1.75 2
2.25 2.5 2.75 3 ρ
Fig. 8. Ratio of the energy expenditure of the flat ad hoc to that of the MuPMS as a function of the node density ρ (R = 200 m, α = 3, d = 50 m, r0 = 10 m, d tan θ0 = 10 m, etx = 80 nJ, erx = 180 nJ)
is evident that the increase in copies of invitation from b = 1 to b = 3 decreases the number of microsteps needed to about ca. 30%. The scalability of our protocol is univocal. As is shown in the simulations, the duration of time between the start of the stability detection protocol and the joint moment of the first node (Time Per Round, TPR) increases together with varying group sizes. On the other hand, the number of microsteps used to form a multicast group increases linearly together as the group size change to a defined value. When the multicast group is large it does not increase. We next consider the comparison between the flat ad hoc network and MuPMS protocol. Figure 8 depicts a numerical result on the ratio of the energy expenditure of flat ad hoc to that of MuPMS as a function of the node density ρ. We see that MuPMS offers improvement which increases with the size of multicast group. In our analysis the energy consumed by the mobile root is not included.
5
Conclusion
In this paper, we introduced a new multicast routing (MuPMS) protocol for mobile sensor networks. The protocol allows us to harvest data using mobile nodes which move in the sensor field. The MuPMS protocol possesses comparable parameters as known protocols to mobile ad hoc networks. Moreover, it tolerates messages loss without requiring a reliable multicast protocol underneath. This scheme overcomes routing errors and link failures, because messages are randomly sent to other sensor nodes of the multicast group. It can also tolerate group membership changes caused by member crashes or departures. This is possible by using a similar technique applied in routing table updates.
48
J. Martyna and M. Nowrot
In future work, we will develop a more reliable version of the MuPMS protocol. For implementation in mobile networks with higher node speeds. It can be applied to a multicast in mobile networks based on cars or airplanes.
References 1. Akyildiz, I.F., Su, W., Sakarasubramaniam, Y., Cayirci, R.: Wireless Sensor Networks: A Survey. Computer Networks 38, 393–422 (2002) 2. Tan, J., Ning-Xi: Integration of Sensing, Computing, Communication and Cooperation for Distributed Mobile Sensor Networks. In: Proceedings of the IEEE Int. Conference on Robotics, Intelligent Systems and Signal, vol. 1, pp. 54–59 (2003) 3. Joengmin-Hwang, Du, D.H.C., Kusmierek, E.: Energy Efficient Organization of Mobile Sensor Networks. In: Proc. IEEE Int. Conf. Parallel Proces., vol. 2, pp. 84–91 (2004) 4. Shu-Zhou, Min-You-Wu, Wei-Shu: Terrain-Constrained Mobile Sensor Networks. In: Proc. of the IEEE GLOBECOM, p. 5 (2005) 5. Nojeong-Heo, Varshney, P.K.: Energy-Efficient Deployment of Intelligent Mobile Sensor Networks. IEEE Trans. Systems, Man, Cyb., Part A 35(1), 78–92 (2005) 6. Gangadharpolli, S., Golwelkar, U., Varadarjan, S.: A Topology Based Localization in Ad Hoc Mobile Sensor Networks. In: Battiti, R., Conti, M., Cigno, R.L. (eds.) WONS 2004. LNCS, vol. 2928, pp. 16–28. Springer, Heidelberg (2004) 7. Sammer-Tilak, Vinay-Kolar, Abu-Ghazaleh, N.B., Kang, K.D.: Dynamic Localization Control for Mobile Sensor Networks. In: Proceedings of the IEEE Int. Performance Computing and Communications Conference, pp. 587–592 (2005) 8. Dharme, A.G., Jaeyong-Lee, Jayasuriya, S.: Using Fuzzy Logic for Localization in Mobile Sensor Networks: Simulations and Experiments. In: American Control Conference, 6 (2006) 9. Curino, C., Giani, M., Giogtta, M., Gusti, A., Murphy, A.L., Picco, G.P.: TinyLIME: Bringing Mobile Sensor Networks Through Middleware. In: Proceedings of the Third IEEE Int. Conf. on Pervasive Computing and Communications (PERCOM), pp. 60–72 (2005) 10. Friedman, J., Lee, D., Tsigkogiannis, I., Wong, S., Chao, D., Levin, D., Kaiser, W., Srivastava, M.: Ragobot: A New Platform for Wireless Mobile Sensor Networks. In: Prasanna, V.K., Iyengar, S.S., Spirakis, P.G., Welsh, M. (eds.) DCOSS 2005. LNCS, vol. 3560, pp. 412–412. Springer, Heidelberg (2005) 11. Paul, S., Sabnani, K.K., Lin, J.C., Bhattacharyya, S.: Reliable Multicast Transport Protocol (RMTP). IEEE Journal on Selected Areas in Communications 15(3), 407– 421 (1997) 12. Chandra, R., Ramasubramanian, V., Birman, K.: Anonymous Gossip: Improving Multicast Reliability in Mobile Ad Hoc Networks. In: Int. Conf. on Distributed Computing Systems, pp. 275–283 (April 2001) 13. Luo, J., Engster, P.T., Hubaux, J.-P.: Route Driven Gossip: Probabilistic Reliable Multicast in Ad Hoc Networks. In: Proc. of the IEEE INFOCOM, San Francisco, CA, pp. 2229–2239 (2003) 14. Tang, K., Obraczka, K., Lee, S.J., Gerla, M.: A Reliable, Congestion-Controlled Multicast Transport Protocol in Multimedia Multi-Hop Networks. In: Proceedings of the IEEE WPMC, Honolulu, pp. 252–256 (2002) 15. Obraczka, K.: Multicast Transport Mechanism: A Survey and Taxonomy. IEEE Trans. on Communication Magazine 36(1), 94–102 (1998)
A Novel Multicast Routing Protocol for Mobile Sensor Networks
49
16. Haccoun, D., Pierre, S.: Automatic Repeat Request. In: Gibson, J.D. (ed.) The Communications Handbook, pp. 181–198. CRC Press/IEEE Press, Boca Raton (1996) 17. Haas, Z.J., Halpern, J.Y., Li, L.: Gossip-Based Ad Hoc Routing. Proc. of the IEEE INFOCOM 3, 1707–1716 (2002) 18. Vijay, K., Bhargava, I., Fair, J.: Forward Error Correction Coding. In: Gibson, J.D. (ed.) The Communications Handbook, pp. 166–180. CRC Press/IEEE Press, Boca Raton (1996) 19. Bailey, N.T.J.: The Mathematical Theory of Infections Diseases and Its Applications, 2nd edn. Hafner Press (1975) 20. Birman, K.P., Hayden, M., Ozkasap, O., Xian, Z., Budiu, M., Minski, Y.: Bimodal Multicast. ACM Transaction on Computer Systems (May 1999) 21. Demers, A., Greene, D., Hausner, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., Terry, D.: Epidemic Algorithms for Replicated Database Maintenance. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, Vancouver, pp. 1–12 (1987) 22. Cormen, T.H., Leisersen, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001) 23. Shih, E., Cho, S., Ickes, N., Min, R., Sinha, A., Wang, A., Chandrakasan, A.: Physical Layer Driven Protocol and Algorithms Design for Energy-efficient Wireless Sensor networks. In: Proc. ACM MOBICOM, Rome, Italy, pp. 272–286 (July 2001) 24. Gupta, P., Kumar, P.R.: The Capacity of Wireless Networks. IEEE Trans. on Inf. Theory 46(2), 388–404 (2000) 25. Zhao, Q., Tong, L.: Energy Efficiency of Large-scale Wireless Networks: Proactive vs. Reactive Netorking. IEEE J. on Sel. Areas Commun. 23(5), 1100–1112 (2005)
On the Lifetime Maximization Design of Mobile Ad Hoc and Sensor Networks Jerzy Martyna Institute of Computer Science, Jagiellonian University, ul. Łojasiewicza 6, 30-348 Cracow, Poland
[email protected] Abstract. One critical issue in the design of mobile ad hoc and sensor networks is to select some parameters that can guarantee a longer time period during which these networks are fully working. To maximize this period, which is called the network life-time, a new method is proposed. For this purpose, a radio link availability estimate as well as a routing parameters, such as the movement directions, speed, actual interference, path availability, etc., are used. With this method an optimal assignment of mobile nodes to clusterheads at each time step was obtained. The given approach allows to maximize only the minimum lifetime without creating topology or also to create the topology after having done the previous work. We validated our approach through simulation and showed that the proposed framework is well suited for the designing of mobile ad hoc and sensor networks.
1
Introduction
Wireless mobile ad hoc networks [1] are the ultimate frontier in wireless communication. This technology allows us to build a network without the need for a fixed infrastructure. Moreover, by exploiting ad hoc networks, various portable devices (cellular phones, PDA, laptops, and so on) and fixed equipment (access points, base stations, etc.) can be connected together. Wireless sensor networks are a particular type of ad hoc networks [14] in which the nodes act as ’smart sensors’. In these networks, all nodes are equipped with advanced sensing functionalities, a small processor and a short-range wireless transceiver. Each node has the ability to sense elements of its environment, perform simple computations, and communicate either among its peers or directly to an external sink. An important issue in ad hoc and wireless sensor networks is the design of these networks. The limited energy and bandwidth resources [7] require substantial effort from the designers. Currently, the design of these networks depends on the skill of the designers’ decisions regarding their movements, network topology and transmitting ranges. Moreover, the problem of maximizing network lifetime, which is defined as the time until it takes for the first node to run out of battery power [5], becomes one of the most critical performance measures. A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 50–61, 2009. c Springer-Verlag Berlin Heidelberg 2009
On the Lifetime Maximization Design of Mobile Ad Hoc
51
Other definitions of ad hoc and wireless sensor network lifetime have been suggested in the literature. These definitions include the time it takes until a fraction of sensors run out of battery [7], the average network lifetime [17], the time until the first loss of some of the desired coverage [2]. The lifetime of a wireless sensor network as well as an ad hoc network is also defined as the time after which the first node (link) disconnects [5], [10]. The definition is especially useful for determining the lifetime of these networks functioning in real-time applications. It is also referred to as the worst-case lifetime model. The lifetime limits of energy-constrained wireless sensor networks was also determined by Hu [8]. A survey of the problem of maximizing network lifetime at various levels of energy consumption models is successfully achieved in a paper by Dong [6]. Node mobility is a prominent feature of ad hoc networks and also in wireless sensor networks. The most important mobility model used in the simulation and design solutions is the Random Waypoint (RWP) model [9], [4], in which each node chooses uniformly at random a destination point (the ’waypoint’) within the deployment region R, and moves toward it along a straight line. Node speed is chosen uniformly at random in the given interval. When the node arrives at destination, it remains stationary for a predicted pause time, and then starts moving again according to the same pattern. In this paper, we assume an environment where each mobile node has the RWP model. Several researchers have proposed design solutions of mobile ad hoc and wireless sensor networks. Among others, an established routing path in the mobile ad hoc networks was suggested by S.Y. Wang [18]. This approach compares the performances of a local and a global path-repair design in these networks. Boukerche [3] presented two algorithm design techniques. Firstly, the algorithm creates and maintains routing paths among the nodes. In the second algorithm a randomly moving subset of the nodes acting as an intermediate pool for receiving and delivering messages was given. Another method for cross-layer designs in mobile ad hoc networks was presented by Xinsheng-Xie [19]. In this approach a fuzzy logic system for coordinating physical-, data-link layer and application layer designs was used. Among others, by using this method the average delay was minimized and the network lifetime was increased. A power conservative cross layer design for mobile ad hoc networks with some performance metrics was presented by Ramachandran [13]. Ki-II-Kim [12] suggested a new multicast protocol in mobile ad hoc network design. Our goal is to find a novel method for designing mobile ad hoc and wireless sensor networks. This method is based on the network (clusterheads) lifetime of the designed mobile ad hoc and sensor networks. In the lifetime of a network computation we have used a radio link availability estimate as well as a routing metric, such as the movement directions, speed, actual interference, path availability, etc. With the help of the method proposed here we obtained the optimal assignment of mobile nodes to clusterheads at each time step. The rest of the paper is organized as follows. First, we give a detailed description of the estimation of the radio link availability. In Sect. 3, we present the proposed solution. Then, we outline our algorithm of the mobile network
52
J. Martyna
design. We present the experimental results in Sect. 4. Finally, Sect. 5 provides the concluding remarks.
2
The Radio Link Availability Estimation in the Mobile Ad Hoc and Sensor Networks
We assume that each node of a mobile ad hoc and sensor network has the possibility to estimate a random length interval during which a node moves in a constant direction at a constant speed. We define this time length interval as the mobility epoch length. We further assume that mobility epoch lengths are exponentially distributed with mean λ−1 , namely
E(x) = P {time length ≤ x} = 1 − e−λx
(1)
Assuming that the node mobility is uncorrelated, we can define the availability [11] as
L(Tp ) = P {t0 + Tp | available at t0 }
(2)
which gives the probability that the link will be continuously available from time t0 to t0 + Tp . The calculation of L(Tp ) can be achieved in two parts, namely L(Tp ) = L1 (Tp ) + L2 (Tp )
(3)
The first term indicates the speed of the two nodes which is unchanged between t0 and t0 + Tp . It is equal to the probability that the time length intervals from t0 to t0 + Tp are longer than Tp because Tp is an accurate prediction if the movement of two nodes is unchanged [16]. Since the nodes’ movements are independent of each other and with the exponential distribution, then L1 (Tp ) is defined as L1 (Tp ) = (1 − E[Tp ])2 = e−2λTp
(4)
The radio link availability of link L2 (Tp ) is devoted to all other cases. The calculation of this probability is more complicated because of the difficulties in the changes in the radio link status caused by changes in a node’s movement. Let be φ < Tp is a random variable for the time interval between t0 and t0 + Tp during which either of two nodes or both change their movements. Thus, P {φ ≤ Φ < Tp } denotes the probability that the movement of both nodes is unchanged between the time interval t0 and t0 + φ [15]. This probability is given by P {φ ≤ Φ < Tp } = 2 [E(Tp ) − E(φ)] [1 − E(Tp ] + [E(Tp − E(φ)] = e−2λφ − e−2λTp
2
(5)
On the Lifetime Maximization Design of Mobile Ad Hoc
53
To estimate the radio link availability corresponding to φ we compute L(φ) as follows L(φ) =
φ + (Tp − φ)pe−2λ(Tp −φ) + Tp
(6)
where p is the probability that the distance of two moving nodes after changing their movements is closer, ( > 0) is an adjustment to the radio link availability. Both values are independent of φ. To estimate L2 (Tp ) we use the average L∈ (φ) over φ, namely
Tp
L2 =
L2 (φ)f (φ)dφ
(7)
0
where f (φ) ≥ 0 is given by P (φ ≤ Φ < Tp ) − P (φ ≤ ∆φ < Φ < Tp ) δφ→0 δφ dP {φ ≤ Φ < Tp } =− dφ = 2λe−2λφ
f (φ) = lim
(8)
Substitute L2 (φ) and f (φ) in Eq. 7 with Eqs. 6 and 8, respectively. Thus, the value of L2 can be calculated by
Tp
L2 ≈ 0
φ + (Tp − φ)pe−2λ(Tp −φ) + · 2λe−2λφ dφ Tp
2λ Tp −2λφ [φe + pe−2λTp (Tp − φ) + Tp e−2λφ ]dφ Tp 0 1 1 = + + e−2λTp pλTp − −−1 2λTp 2λ · Tp =
(9)
An estimation of L(Tp ) can be obtained by L(Tp ) ≈ L1 (Tp ) + L2 1 = + 2λTp +e−2λTp pλTp −
1 − 2λTp
(10)
The value of depends on the environment factors, such as spatial node density, node’s radio coverage, etc. From the measures [17] the value of is between 0.28 and 0.53. In the case of uncertainty , it is fine to set = 0.
54
3
J. Martyna
The Design of Mobile Wireless Ad Hoc and Sensor Networks
In this section, we describe our method of designing the mobile ad hoc and sensor networks. We assume that the system parameters are known: the number of the moving nodes in the network (NM ), the number of clusterheads in the network (NC ), the value of battery energy at each clusterhead (E battery ). We assume that only the clusterhead nodes possess the possibility to connect with the mobile nodes. All static ordinary nodes can transmit data to their clusterhead nodes. Let dik be the Euclidean distance between clusterhead i and mobile node k (i = 1, 2, . . . , NC ; k = 1, 2, . . . , NM ). Let the radius of cluster i be equal to ri = dij when j is the farthest mobile node controlled by clusterhead i. Given a prediction Tp on the continuously available time for a radio link between the clusterhead i and the mobile node k in time t0 , the radio link availability of the link dij is given by (11) Lij (Tp ) = L(Tp ) · dij Let τij describe the lifetime of clusterhead i with the radius ris = dij at time step s. Each cluster contains nij = {k ∈ NM | dik < dij } mobile nodes. We introduce matrix τ = {τij } whose dimension is equal to | NC | × | NM | and where each element is given by τij =
Eibattery α(Lij (Tp ))2 + β | nij |
(12)
where α and β are constant weight factors. Assuming that the network lifetime is limited by the clusterheads’ functioning time, the network lifetime can be defined as [5] τnet = min {τij }, j ∈ NM i∈NC
(13)
Let the optimal assignment of mobile nodes to clusterheads at time step s be described by the binary variable xsij . We assumed that the value of xsij is equal to 1 if clusterhead i covers mobile node j at time step s and equal to 0 otherwise. Thus, we can formulate for each i (i = 1, 2, . . . , NC ) at each time step s (s ≥ Tp ) the following maximization problem maximize subject
NC
s τnet
s i=1 xij ≥ 1 τ s ≤ τijs · xsij + m(1 − xsij ) xsij ∈ {0, 1}, τ s ≥ 0,
where m is a sufficiently large value.
(14) ∀j ∈ NM ∀i ∈ NC , j ∈ NM ∀i ∈ NC , j ∈ NM
On the Lifetime Maximization Design of Mobile Ad Hoc
55
procedure mobile_network_design; begin for i := 1 to NC do check Eibattery ; for j := to NM do compute dij , Lij (Tp ), | nij |; compute τij ; endfor; endfor; s = mini∈NC {τij }; f ind τnet for s := 1 to T do create_topology; s ; maximize τnet endfor; end;
procedure create_topology; begin max_lifetime := 0.0; for j := 1 to NM do for i := 1 to NC do if τij ≥ max_lifetime then max_lifetime := τij ; f ind(i) f or given max_lifetime; endif; cover sensors j with clusterhead i; endfor; endfor; end;
Fig. 1. The pseudo-code of the mobile network design algorithm
The first constraint concerns the requirement that each mobile node is covered by one clusterhead at least. The second constraint states that if mobile node j is assigned to clusterhead i, the system cannot live more than τijs . If mobile node j is not assigned to clusterhead i, the last constraint is relaxed by taking a sufficient value of m. It can be stated that the model parameters depend on the time step. Nevers allows us to find the total lifetime of the theless, the summarized value of τnet whole network, namely T s τnet (15) τnet = s=1
where T is an admissible time horizon value. The pseudo-code of the mobile ad hoc and sensor network design algorithm is given in Fig. 1. Finally, we note the other result of the algorithm given in Fig. 1. If the only objective is to maximize only the minimum lifetime without creating a topology, then we need only to apply the first two loops in a mobile_network_design procedure. Hence, according to our formulation, only one minimization of the lifetime is needed to maximize the minimum lifetime.
4
Simulation Results
In this section we evaluate the effectiveness of our method for designing mobile wireless ad hoc and sensor networks. The simulation is run using the own simulation program for the designing of a mobile ad hoc and sensor networks. The toolkit of this program regarding the radius of clusterhead ri = 50 m is given in Fig. 2.
56
J. Martyna
Fig. 2. A toolkit of our simulation program
The simulation results are obtained for a two-dimensional space with mobile and immobile nodes. The maximal radius of a mobile’s radio coverage is up to 100 meters. The transmission rate of a mobile node is 2 Mbps. Only the exponentially distributed time intervals have been investigated. The simulation time is equal to 1000 s. The maximal radius of a mobile node is 2 Mbps. The maximal radius of a mobile’s radio coverage is up to 100 meters. The transmission rate of a mobile node is 2 Mbps. The maximal speed of mobile nodes is equal to 20 m/s which simulates a car scenario. Our network has a spatial density equal to 10−4 m2 . The ratio of the number of mobile to immobile nodes is equal to 0.33. Only the exponentially distributed time intervals have been investigated. The simulation time is equal to 1000 s. It was assumed that the physical layer corresponded to the original 1- and 2-MHz direct sequence 802.11 physical layer which was adopted for the MAC layer. We have used the RWP model [4]. In this model, each node is at a random point at the start of the simulation and after pause (here pause is equal to 0) selects a random destination at 15 m/s for a period of time uniformly distributed between 5 and 11 seconds. We start our simulation with the RWP mobility model. With this model, a node is allowed to move beyond the boundary of the given space. We first tested the relationship between L(Tp ) and the predicted link available time Tp . In our simulation L(Tp ) can approximate TTpr , where T r is the mean time that a link will be continuously available corresponding to a prediction time Tp . The experimental results for the link availability L(Tp ) for radius equal to 100 m as a function of the predicted time Tp and the speed obtained through the randomly generated values from 0 up to 20 m/s are shown in Fig. 3.
On the Lifetime Maximization Design of Mobile Ad Hoc
57
Fig. 3. The link availability as a function of the predicted time Tp and the average speed of nodes for radius equal to 100 m
Figure 4 shows the link availability as a function of the predicted time for an average node speed equal to 15 m/s and radius equal to 50, 75, 100 meters, respectively. It seems that the radio link availability dependent on the predicted time Tp can be improved by the increase of the radius of the clusterheads. Figure 5 shows the whole network lifetime for mobile network as a function of the node transmit power, P1 (identical for all nodes). It can be seen that the lifetime decreases when a value of P1 increases. However, the network lifetime significantly increases as the number of the radio link grows, since the energy available in the system is better exploited. To answer the question: how better is the algorithm for the maximization design of mobile ad hoc and sensor networks with the only aim of maximizing the minimum lifetime, we compared an algorithm from the literature [5]. In order to answer this question, we compared both solutions. In the first solution, a given number of nodes are randomly deployed. For these nodes we only calculated the lifetime of the whole network without the creation of its topology. In the second solution, by used the algorithm outlines in Fig. 1, we found all the best topologies which provide the maximum lifetime of the network. We computed the percentage gain in any of the minimum lifetimes as a function of the number of nodes defined as G(n) =
s s (n)} − τnet (n) max{τnet × 100%, s max{τnet (n)}
n = 1, . . . , N
(16)
s s (n) is the minimum lifetime for network, max{τnet (n)} is the maximum where τnet minimum lifetime, n is the number of nodes.
58
J. Martyna 1.0
0.8
0.6
L(Tp )
0.4
speed = 15 m/s
ri = 50 m
0.2
ri = 75 m
ri = 100 m
0 100
200
300
400
500
600
700
800
900
1000 Tp (s)
Fig. 4. Radio link availability as function of the predicted time Tp for average node speed equal to 15 m/s
10 ×106 (s)
ri = 50 m
ri = 75 m
8
ri = 100 m
speed = 15 m/s
6 τnet
4
2
0 10−3
10−2
P1 (W)
Fig. 5. Network lifetime of a mobile network as a function of the node transmit power P1 for the average node speed equal to 15 m/s
On the Lifetime Maximization Design of Mobile Ad Hoc
59
100 %
ri = 100 m
ri = 75 m
ri = 50 m
80
speed = 15 m/s G(n)
60
40
70
80
90
20
0 0
10
20
30
40
50
60
100
Number of nodes
Fig. 6. Obtained gain in any minimum lifetime for the average node speed equal to 15 m/s as a function of the number of nodes
1.0
simulation
0.8
calculation
L(Tp )
0.6
0.4
0.2
0 100
200
300
400
500
600
700
800
900
1000 Tp (s)
Fig. 7. Comparing the radio link availability from simulation and calculation for λ−1 = 185 s
60
J. Martyna
Figure 6 shows the obtained gain in any minimum lifetime for the average speed of nodes equal to 15 m/s as a function of the number of nodes. Figure 7 shows the results. Show that the gain of a created topology in maximizing lifetime provides ca. 35% better results in any number of nodes for the higher speed of nodes. Finally, to validate the method of radio link availability estimation, we compared it with non-exponentially distributed epoch lengths. In this approach we used a model in which the speed was selected uniformly from 0 to 15 m/s. Thus, the epoch length is the ratio of the distance to the destination over the speed. Figure 7 shows obtained simulation results and calculation results (dashed line in the figure) in this case for the calculated parameter λ−1 = 185 s. As we can see from Fig. 7, the difference between both values is smaller as space size increases. Thus, the link availability estimation, which is given by Eq. (10), can be used for this case.
5
Conclusion
The problem of maximizing the lifetime of mobile ad hoc and wireless sensor networks belngs to the most important problems in the designing of these networks. We focused on the model which assumes the communication between the clusterhead nodes and the mobile nodes. By the use of the radio link availability estimation, we take into consideration any cause radio links why break frequently. The given optimization and the pseudo-code of the design procedure allows us to build an energy provisioning mobile ad hoc and wireless sensor networks. One practical interest of this method is to develop a path selection metric in terms of the path reliability, which can maximize the lifetime of the whole network. However, the proposed method for all non-exponentially distributed time intervals needs further studies.
References 1. Basagni, S., Conti, M., Giordano, S., Stojmenovic, I. (eds.): Mobile Ad Hoc Networking. IEEE Press/John Wiley and Sons, Hoboken (2004) 2. Bhardwaj, M., Garnett, T., Chandrakasan, A.: Upper Bounds on the Lifetime of Sensor Networks. In: Proc. IEEE Int. Conf. Commun., vol. 3, pp. 785–790 (2001) 3. Boukerche, A., Nikoletseas, S.: Algorithmic Design for Communication in Mobile Ad Hoc Networks. In: Calzarossa, M.C., Gelenbe, E. (eds.) MASCOTS 2003. LNCS, vol. 2965, pp. 235–253. Springer, Heidelberg (2004) 4. Broch, J., et al.: A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols. In: Proc. ACM MobiCom 1998, Dallas (1998) 5. Chang, J.H., Tassiulas, L.: Maximum Lifetime Routing in Wireless Sensor Networks. IEEE Trans. on Networking 12(4), 609–619 (2004) 6. Dong, Q.: Maximizing System Lifetime in Wireless Sensor Networks. In: Proc. IEEE 4th Int. Symp. Inf. Process. Sensor Netw., pp. 13–19 (2005) 7. Ephremides, A.: Energy Concerns in Wireless Networks. IEEE Wireless Communications 9, 48–59 (2002)
On the Lifetime Maximization Design of Mobile Ad Hoc
61
8. Hu, Z., Li, B.: On the Fundamental Capacity and Lifetime Limits of Energyconstrained Wireless Sensor Networks. In: Proc. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 2–9 (2004) 9. Johnson, D., Maltz, D.: Dynamic Source Routing in Ad Hoc Wireless Networks, Mobile Computing, pp. 153–181. Kluwer Academic Publishers, Boston (1996) 10. Kang, I., Poovendran, R.: Maximizing Static Network Lifetime of Wireless Ad Hoc Networks. In: Proc. IEEE Int. Conf. on Comm (ICC), vol. 3, pp. 2256–2261 (2003) 11. McDonald, A.B., Znabi, T.F.: A Path Availability Model for Wireless Ad Hoc Networks. In: Proc. IEEE WCNC, New Orlean, USA, pp. 35–40 (1999) 12. Kim II, K., Kim, S.H., Kim, S.H.: A Novel Overlay Multicast Protocol in Mobile Ad Hoc Networks Design and Evaluation. IEEE Trans. on Vehicular Technology 54(6), 2084–2101 (2005) 13. Ramachandran, B., Shanmugavel, S.: A Power Conservative Cross Layer Design for Mobile Ad Hoc Networks. Information Technology Journal 4(2), 125–131 (2005) 14. Santi, P.: Topology Control in Wireless Ad Hoc and Sensor Networks. John Wiley and Sons, Ltd., Hoboken (2005) 15. Jiang, S., He, D., Rao, J.: A Prediction-based Link Availability Estimation for Mobile Ad Hoc Networks. IEEE INFOCOM 3, 1745–1752 (2001) 16. Su, W., Gerla, M.: IPv6 Handoff in Ad Hoc Wireless Networks Using Mobility Prediction. In: Proc. IEEE GLOBECOM, pp. 271–275 (1999) 17. Toh, C.K.: Maximum Battery Lifetime Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks. IEEE Comm. Mag. 19, 138–147 (2001) 18. Wang, S.Y.: On Choosing an Appropriate Path Repair Design for Vehicle-formed Mobile Ad Hoc Networks on Highways. In: Proc. IEEE 16th Int. Symp. on Personal, Indoor and Mobile Radio Communications, vol. 2, pp. 1337–1341 (2005) 19. Xia, X., Ren, Q., Lian, Q.: Cross-layer Design for Mobile Ad Hoc Networks: Energy, Throughput and Delay-aware Approach. In: Proc. IEEE Wireless Communications and Networking Conference, pp. 770–775 (2006)
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc and Sensor Networks Jerzy Martyna Institute of Computer Science, Jagiellonian University, ul. Łojasiewicza 6, 30-348 Cracow, Poland
[email protected] Abstract. The throughput capacity belongs to the critical parameters for the design and evaluation of wireless mobile ad hoc and sensor networks. The achievable throughput capacity depends on the network size, traffic parameters detailes of radio interactions. In this paper, we examine these factors alone and with emphasis on such parameters as connectivity, the speed of nodes, flat and hierarchical organization of network, etc. We introduce some dependencies of the throughput capacity per node whithin a cluster, throughput capacity of clusterheads, etc. for mobile and immobile ad hoc and wireless sensor network.
1
Introduction
Wireless mobile ad hoc and sensor networks [11] consist of a group of mobile nodes that form temporary networks without the aid of fixed infrastructure. The communication between any two nodes depends on many parameters, such as the distance between nodes, the transmission power of the transmitter, the power of Gaussian white noise, etc. A number of papers have been devoted to the analysis of the network capacity in terms of the achievable throughput under different system models [4], [5]. In [4], the authors proposed a two-hop transmission strategy in which the traffic is first randomly spread (first hop) accross as many relay nodes as possible, and then is delivered (second hop) as soon as any of the relaying get close to the destination. In [5], the capacity of a fixed ad hoc network was described in which the nodes’ locations are fixed but randomly distributed. The authors proved that the achievable throughput√between any randomly selected sourcedestination pair is in the order of O(1/ n), where n is the number of nodes per unit as area increases. In one of the earlier works [12] it was stated that fading actually increases the achievable rate regions (in opposition to the overall ad hoc network capacity) by providing statisticall diversity, since the best set of transmitting links can be selected. In the paper by the same authors [13] it was showed that although fading reduced the transport capacity lower bound by a logarithmic factor, it actually increased the overall network capacity. The term defined as the transmission capacity was defined at first by S. Weber et al [14]. This measure allows to quantify the achievable rates between an A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 62–71, 2009. c Springer-Verlag Berlin Heidelberg 2009
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc
63
arbitrary pair of nearby (i.e. single hop) transmitting and receiving nodes from an outage perspective. Finally, a number of papers [1], [2] were devoted to the problem how mobility and throughput interact in the context of time-varying channels. In many ad hoc and wireless sensor networks is introduced a two-level hierarchy (see Fig. 1). The first layer represents all the nodes which are responsible for the data transmission to the sink. It consists only of clusterhead nodes and nodes belonging to the so called backbone network. The secondary layer is composed of ordinary nodes which collect the information and send it to the clusterheads. Another idea for hierarchy is to locally mark some nodes as having a special role, for instance, controlling neighboring nodes. In this sense, clusters of nodes can be formed. The ”controllers” of such groups are often referred to as clustering. Many clustering scheme for mobile networks have been proposed [3], [9]. Previous research in clustering in immobile networks mainly focusses on how to form clusters with a good shape, such as minimum overlap of clusters, etc. In the clustering methods for mobile networks, the new algorithms, such as highest degree algorithm, are proposed. The main goal of this paper is to introduce new dependencies of the throughput capacity of hierarchical mobile ad hoc and sensor networks. We characterized the network performance and obtained the new measures, which are based on defining the connectivity, the network size, the maximum number of hops required for transmission between any given pair of nodes, etc. The paper is organized as follows. In Sect. 2 we formulate the term of the throughput capacity of ad hoc and WSNs (Wireless Sensor Networks). Section 3 provides the throughput capacity in immobile hierarchical ad hoc and sensor
3cssf-
mobile sensor ordinary sensor clusterhead sink
vt2 3H HH Hs c
sf c
c Q 3 c Q c vt1 Q Q B Q Qc s Bc s c H HHs(((c HH @ J HH c @ J c @c J @ @ c JJ c c c A Ac Fig. 1. An example of two-level hierarchy in mobile sensor network
64
J. Martyna
network. In Sect. 4 we introduce the throughput capacity for mobile ad hoc and sensor networks. Section 5 presents some simulation results. Finally, some concluding remarks are stated in Sect. 6.
2
The Throughput Capacity of Ad Hoc and Sensor Networks in General
In this section, we give an overview of the throughput capacity of ad hoc and sensor networks. The channel capacity or information capacity were originally defined by Shannon as the maximum information reliability transmitted from source to destination over a communication channel. The capacity is defined as N (t) (1) t where N (t) is the maximum allowed number of signals in duration t. This definition concerns only the possible rate between the source and destination, neglecting the role of distance between the source and the destination. The throughput was used as a measurement of the ability the information transmit in the network. It is the amount of data transmitted from the source to the destination during a time unit. The maximum throughput is in fact the information capacity of the channel, where the maximum value is taken for all the sources of information. In [14], the authors formulated a new measure of the capacity, namely the transmission capacity. It is defined as the maximum density of successful transmissions multiplied by their data rate C = lim
t→∞
c = λ b(1 − )
(2)
where λ denotes denotes the maximum contention density such that a fraction of of the attempted transmissions are permitted to fail, b is the average rate that a successful user achieves in a bit/sec [Hz]. We note that the transmission capacity is roughly linearly scaled with the probability . As shown in the paper by Weber [14], the transmission range r decreases the transmission capacity according to the O(r−2 ). Furthermore, the transmission range scales with n – the number of nodes, as r2 = 1/n. √ Finally, the transport capacity can be obtained by λ · r, which scales as O( n) , the same value as that given by Gupta [5]. The throughput capacity (or transport capacity) was defined by Xie [8] as the supremum of all end-to-end throughputs that are achievable in the network, namely bi (T ) for 1 ≤ i ≤ n (3) λi = lim T →∞ T where {λi , R(i) } is the set of an active sender-receiver pair. The throughput capacity is not able to reflect the transmission ability of each node. Moreover, this definition does not take into consideration the average distance between sources and destinations.
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc
3
65
The Throughput Capacity of Immobile Hierarchical Ad Hoc and Sensor Networks
In this section, we consider a case of the throughput capacity of immobile hierarchical ad hoc and sensor networks. We assume for immobile hierarchical ad hoc and sensor networks that we have only two groups of nodes. To the first group belong all the nodes defined as clusterhead nodes. The clusterhead nodes in the hierarchical networks act following the principle: collect the data from ordinary nodes and create a backbone network. A backbone network is used to transmit all the collected data to the sink of the network. The clusterhead nodes are usually equipped with multiple radios and can work parallelly. We assume that the throughput capacity of a single clusterhead node in a immobile (static) network is given by W1 Ts(c) = √ h
(4)
where h is the number of clusterhead nodes in the network, W1 is the channel bandwidth of the node. We suppose that the throughput capacity per node within a cluster in the immobile ad hoc and sensor networks is given by W2 Ts(n) = n/h
(5)
where n is the total number of nodes of an ad hoc and sensor network. We assume that all the nodes are uniformly distributed. Thus, we can achieve the condition to obtain the optimal throughput capacity in the immobile network. The throughput capacity of each clusterhead node in a immobile ad hoc and sensor network must satisfy the condition n W2 W1 · ≤ √ h h n/h
(6)
The given condition means that the total accessible throughput capacity of the clusterhead node must be greater or equal to the product of the mean number of the nodes in the cluster and the throughput capacity per node within a cluster. Thus, in a well-balanced system where the throughput capacity of a single cluster is not greater than the throughput capacity of the backbone network, we obtain the optimal number h under which the throughput capacity of the cluster achieves the maximum throughput capacity while still meeting inequality (Eq. 6). Both curves are plotted in Fig. 2. The optimal value of clusters is equal to the value of h where both curves intersect. It is obvious that when h < h , the throughput capacity of the backbone network is wasted. While h > h , the backbone is overloaded and cannot handle all the traffic from the networks. As a result, increasing network size or input data will not increase the throughput capacity per node within cluster (see the red line in Fig. 2).
66
J. Martyna
T
n = const
clusterhead cluster
Throughput capacity
h∗
Number of clusters
h
Fig. 2. Throughput capacity per node within a cluster and clusterhead nodes as a function of number of clusters
4
The Throughput Capacity of the Hierarchical Mobile Ad Hoc and the Sensor Networks
In this section, we determine the optimal number of mobile nodes in dependence of the throughput capacity of clusterhead nodes and ordinary, immobile nodes. In this paper, we modeled node mobility by using the Random Waypoint (RWP) model. It has been introduced by Johnson and Maltz [7] to study the performance of the routing protocols. The RWP model is representative of an individual movement, obstacle-free scenario: each node moves independent of each other (individual movement), and it can potentially move in any subregion. For instance, the RWP model can arise when users move in a large room or in a open air, etc. We assumed that the network is under the optimal circumstance. It means that the network is partitioned equally. As in the previous case, we supposed that all the nodes are uniformly distributed in the network. Additionally, we take into consideration the fact that the mobile nodes in the network can communicate only with the clusterhead nodes. It means that all the clusterhead nodes are equipped with multiple radios which use a separate bandwidth and work parallelly. Let n denote the total number of all the nodes including the clusterhead nodes and ordinary nodes. In our analysis n and m are constant. m denotes the number of mobile nodes and variable h denotes the number of clusterhead nodes. Let W1 , W2 , W3 denote the channel bandwidth of the clusterhead, and ordinary and mobile nodes, respectively. Now, we can state the throughput capacity of the clusterhead node in the mobile network, namely W1 (c) Tm = √ h
(7)
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc
T
n = const
clusterhead
mobile sensors
m = const
cluster
cluster & mobile
67
Throughput capacity
.
h∗
Number of clusters
h
Fig. 3. Throughput capacity per nodes within a cluster, mobile nodes and clusterhead nodes as a function of number of clusters
The throughput capacity of a single immobile node in the mobile network is given by W2 (n) = (8) Tm (n − m)/h The throughput capacity of the mobile node is given by W3 (m) Tm = √ m
(9)
Under the optimal circumstances, if the network is partitioned equally, we assume that the average number of ordinary nodes in each cluster is equal n/h and average mobile nodes in each cluster m/h are given. Since both n and m are fixed, all the three throughput capacities are the only functions of h. The throughput capacity of the backbone network must be greater or equal than the sum of the throughput capacity of mobile nodes in the cluster and the throughput capacity of nodes within the cluster, namely m i=1
(m)
Tm,i +
n j=1
(n)
(c) Tm,j ≤ min Tm c=1,...,h
(10)
Now, we plot the summarized throughput capacities of mobile and ordinary nodes per cluster. We plot both curves and obtain the point of intersection. Point h is equal to the value of the optimal number of clusters for a given number of mobile and immobile nodes within a cluster. Figure 3 shows that the throughput capacity of the clusterhead nodes is bound by two functions. One of them is the number of mobile nodes and the other is the number of nodes within a cluster. When h < h , the clusterhead nodes are not congested. If h > h , the clusterhead nodes are overloaded and unable to service all the traffic from the network. Beyond the point h a node in ad hoc
68
J. Martyna
or sensor network will not have time for successful transmission of any incoming data. Thus, the throughput capacity per node within cluster remains at constant level even the network size or the input data increase.
5
Numerical Experiments of the Mobile Hierarchical Ad Hoc and Sensor Networks
In order to evaluate the throughput capacity of the mobile ad hoc and sensor network, we use our model for the calculation of the main parameters of these networks. Our models for calculation of the throughput capacity are applicable in the design of ad hoc and sensor networks. Using the given dependencies, assuming that each nodes own traffic varies between 0 and 100 kbps, we have computed (see Fig. 4) the maximum allowable throghput capacity per clusterhead node as a function of the number of nodes in static ad hoc or sensor network. As we can seen, when network increases, due to the increase in multi-hop traffic, nodes could not get rid of their own data. Another effect visible from the computation is the maximum throughput capacity per node within a cluster as a function of the number of nodes in mobile ad hoc and sensor network (see Fig. 5). The assumed speed of mobile nodes is equal to 3 m/s which simulates a pedestrian scenario. We see when the mobility speed increases, the throughput capacity per clusterhead increases as well. In order to verify the correctness of our method, we compared it with upper bound on output bit rate per node obtained from the Shannon channel capacity formula [10]. We recall that if we know the expected value of the ratio of the
Fig. 4. The throughput capacity per clusterhead node as a function of the number of nodes in the static network (up to 1000) and each node’s own traffic varies from 0 to 100 kbps
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc
69
Fig. 5. The throughput capacity per clusterhead node as a function of the number of nodes in the mobile network (up to 1000) and each node’s own traffic varies from 0 to 100 kbps. The assumed speed of mobile nodes is equal to 3 m/s.
carrier to inference (C/I), we can use the Shannon channel capacity formula to find an upper bound on the reliable transmission between two neighboring nodes over the radio channel, namely W = B log2 (1 + E[C/I])
(11)
where B is the channel bandwidth. In ad hoc and sensor networks an additional restriction on the capacity is imposed by the MAC protocol. When a transmission between two nodes is established, other nodes will be prohibited from simultaneous transmission. Therefore, the capacity in the radio channel is equally divided between all nodes competing to gain access to the medium. Let ν/ρ be the fraction of the nodes that gain access to the medium at any time interval, where ρ is the node density and ν is the interfering node density. Thus, the Shannon channel capacity formula in these networks indicates the maximum output bit rate, Rmax_out , per node that can be supported by the network. Using the Eq. (11) we find: Rmax_out =
ν ν W = B log2 (1 + E[C/I]) ρ ρ
(12)
According to the so-called honey-grid model, used for modeling ad hoc and sensor networks, Rmax_out can be expressed formally as [6]: ⎛ ⎞ (a + 1)η−1 g aj=1 j −(η−1) B ⎠ Rmax_out = log2 ⎝1 + k a+1 1 + 3a(a + 1) −λE[h] 3a(1 − e ) j=1 j − (η − 1) (13)
70
J. Martyna 300
250
simulation
calculation
200 Rmax
out
150
100
50
0
0
500
1000
Number of nodes
Fig. 6. Comparing the output bit rate per node from analytical model and simulation
where a is the reach of a node in the center of the configuration, g is the processing gain, E[h] is the average number of hops, λ is the mean arrival rate of new packets per node per time-slot (node’s own traffic), k is the size of the network expressed in terms of co-centered hexagonal rings, η is pathloss exponent. We compared the maximum output bit rate given by Eq. (13) and the maximum output bit rate per node provided by our model with simulations. Figure 6 shows both results. There is very good agreement between the analytical model obtained from the Shannon channel capacity formula and simulation results.
6
Conclusion
In this paper, we have studied the problem of the throughput capacity of mobile hierarchical ad hoc and WSNs networks. We assumed that nodes in a network are not always mobile, sometimes they are immobile. It allows us to compare the throughput capacity of mobile hierarchical ad hoc and sensor networks with immobile networks. We obtained results that describe the dependencies between the number of mobile nodes, the number of clusterhead nodes and the ordinary nodes in the network. We established that under the optimal circumstances, if the network is partitioned equally, the optimal number of mobile and immobile nodes can be determined. We obtained the conditions for the throughput capacity in the hierarchical mobile ad hoc and sensor networks.
References 1. Bansal, N., Liu, Z.: Capacity, Delay and Mobility in Wireless Ad Hoc Networks. In: Proc. of the IEEE INFOCOM 2003, pp. 1553–1563 (2003) 2. Gamal, A.E., Hammen, J., Prabhakar, B., Shah, D.: Throughput-Delay Trade-off in Wireless Networks. In: Proc. of the IEEE INFOCOM 2004, pp. 464–475 (2004)
Modeling of the Throughput Capacity of Hierarchical Mobile Ad Hoc
71
3. Gerla, M., Tsai, J.T.: Multicluster, Mobile, Multimedia Radio Network. ACM Baltzer Journal of Wireless Networks 1(3), 255–265 (1995) 4. Glossglauser, M., Tse, D.: Mobility Increases the Capacity of Ad Hoc Wireless Networks. In: Proc. IEEE INFOCOM 2001, pp. 1360–1369 (2001) 5. Gupta, P., Kumar, P.R.: The Capacity of Wireless Networks. IEEE Trans on Information Theory 46(2), 388–404 (2000) 6. Hekmat, R., Van Mieghem, P.: Interference in Wireless Multi-hop Ad Hoc Networks and Its Effect on Network Capacity. Wireless Networks Journal 10, 389–399 (2004) 7. Johnson, D., Maltz, D.: Dynamic Source Routing in Ad Hoc Wireless Networks. In: Mobile Computing, pp. 153–181. Kluwer Academic Publishers, Dordrecht (1996) 8. Xie, L.-L., Kumar, P.R.: A Network Information Theory for Wireless Communication, Scaling Laws and Optimal Operation. IEEE Trans. on Information Theory 50(5), 748–767 (2004) 9. Lin, C.R., Gerla, M.: Adaptive Clustering for Mobile Networks. IEEE Trans. on Selected Areas in Communications 15(7), 1265–1275 (1997) 10. Peterson, L.L., Davie, B.S.: Computer Networks: A Systems Approach, pp. 94–95. Morgan Kaufmann, San Francisco (1996) 11. Shorey, R., Ananda, A., Chan, M.C., Ooi, W.T. (eds.): Mobile, Wireless, and Sensor Networks. John Wiley and Sons/IEEE Press, Ltd., Hoboken (2006) 12. Toumpis, S., Goldsmith, A.J.: Capacity Regions for Wireless Ad Hoc Networks. IEEE Trans. on Wireless Communications 24(5), 716–748 (2003) 13. Toumpis, S., Goldsmith, A.J.: Large Wireless Networks Under Fading, Mobility and Delay Constraints. In: Proc. of the IEEE INFOCOM 2004, pp. 609–619 (2004) 14. Weber, S.P., Andrews, J.G., Yang, X., de Veciana, G.: Transmission Capacity of Wireless Ad Hoc Networks with Outage Constraints. IEEE Trans. on Information Theory 5(12) (2005)
Object Oriented Vertical Communication in Distributed Industrial Systems Rafał Cupek1 , Marcin Fojcik2 , and Olav Sande3 1
Silesian University of Technology, Institute of Informatics
[email protected] 2 Sogn og Fjordane University College
[email protected] 3 Cronus Automation Vest AS
[email protected] Abstract. Low level industrial systems use simple data representation which reflects flat input and output structure of control industrial system. This structure is directly mapped to the flat memory allocation. The structural data organization is used in upper layers of industrial computer system. This article contains compare analysis of tag and object oriented data model used for vertical communication in distributed industrial computer systems. This analysis is based on classical tag approach used in the most of classical visualization systems and object oriented approach introduced in OPC UA architecture.
1
Vertical Communication in Distributed Industrial Systems
In the past, the structure of production systems was centrally orientated. This means, we had one control device and all field devices transferred their data through the communication systems. With the development of microelectronic technology in the last years, industrial informatics system became more distributed from the topological point of view and from system logic as well. Modern control systems can be divided into layers and the most of classifications define four layers for control, visualization and production support systems: – – – –
Field Layer with instrumentation. Control Layer with automation devices. Real Time HMI (Human Machine Interface) Layer with visualisation devices. Real Time MES (Manufacturing Execution System) Layer with data processing devices.
Above these, the ERP (Enterprise Resource Planning) Layer could be defined as a separate layer. Suppliers of proprietary control systems tend to hide the layered nature of their products, but even these systems are in fact layered. For open systems it is important to define these layers, and then it is possible to use a variety of A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 72–78, 2009. c Springer-Verlag Berlin Heidelberg 2009
Object Oriented Vertical Communication in Distributed Industrial Systems
73
Control Layer Devices and a variety of HMI Layer solutions, given that there is a uniform way of communicating between the devices. There are some norms dedicated for low level industrial control systems which describe different standards [1,5] in industry: ISO15926 (elements, communication), IEC/EN 61131 (programming of PLC), IEC 61850 (data models, grouping of data, commands, types of transfer), IEC 61158 (Digital Data Communication for Measurements and Control – Fieldbus in Industrial Control Systems). Each of them describes issues related to given layer. None of them defines the inter-layer communication relations. From another point of view there are some standards like ISA 95 or IEC/ISO 62264 dedicated for MES layer which use the object oriented system model and define explicit needs for object oriented input/output data format. This situation causes many problems in practical realization of multi-layer, large scale industrial computer systems. Because of many existing systems which do not support object oriented approach an idea of creating a “middleman” in the vertical data exchange between low layer and upper layers of industrial computer system was introduced. There are some factory middleman solutions. One of the object oriented communication solutions’ is PROFINET CBA network. Automation system realized on PROFINET CBA base enables creation of large size component based automation systems made from parts delivered by different producers. However PROFINET CBA communication standard may be used in large scale distributed industrial systems but the underlying DCOM communication protocol may be the reason for low popularity of this communication standard [7]. The most common used “middleman” solution is developed by OPC foundation OPC client – server industrial communication protocol which became the facto standard for vertical communication in industrial computer systems. During OPC standard evolution many of system aspect have to be changed. There were new services and new OPC interfaces introduced, but the primary data representation as a VTQ (Value Time Quality) structure was unchanged in next OPC Data Access, Alarm and Events or Historical Data Access versions. The main OPC communication problems were platform dependence on Microsoft DCOM technology, and difficulty of implementation inside of low level industrial devices. The new approach for data representation was used in OPC Unified Architecture [2]. This chapter concerns on structure of data exchange between low and upper layers of industrial computer system on the base of tag and object oriented approach.
2
Tag Oriented Approach
The PLC architecture is based on flat input and output data space. Physical signals are grouped to fit real modules to which they are physically connected. The representation of physical wiring is mapped into PLCs’ memory map – also flat structure. Although dependences between signals have to be consider during control algorithm implementation they have no representation in PLC
74
R. Cupek, M. Fojcik, and O. Sande
Fig. 1. Tag oriented system architecture
data structure. Such situation caused that communication between control layer and visualization systems has also started on the base of flat “tag oriented” data representation (Fig. 1). A Tag is an abstract representation of process variable used in visualization system. As usual tags are directly mapped to given bits or registers addressed inside devices’ memory. A TAG based system, uses polling as a communication scheme and usually has the following properties: – Data must be organized in “arrays” to be efficient. Even so the time response of such systems is often not acceptable. – Time stamping is only possible by the HMI Layer Devices. This implies poor time resolution. – Information must be exposed as “public data”, thus data can be “destructed” by ill managed programs. – TA large amount of TAGs must be managed by “engineering tools”, often for small changes also. – The system bogs down network and Control Layer Devices with “meaningless” work. Data rarely changes during normal plant operation. As Programmable Controllers and HMI systems tends to enforce some sort of object orientation scheme it is imperative that communication between this two systems is also performed in an object oriented manner. That is, communication should be a peer to peer communication between object components and not
Object Oriented Vertical Communication in Distributed Industrial Systems
75
through TAGs and TAG arrays. That object oriented approach is not supported in classical solutions of low level industrial networks. One of the most advanced examples of vertical communication systems is Wonderware System Platform – called ArchestrA technology [6]. The input / output communication servers are introduced for vertical data exchange. ArchestrA architecture allows not use only simple binary, analog or text variables reflecting to direct real input and output representation but more composed tag structural representations called as “super tag” may be used. These “super tags” reflect to real dependences between object signals and allow to create multilevel, hierarchical structure data representation. Despite of many implementation limitations such structure may by compared to the folder organization structure rather than to object oriented approaches.
3
Object Oriented Approach in OPC UA
In an object oriented system data are normally stored in non-contiguous memory areas and object data are hidden in the objects. In an object based system the object components should communicate on a peer to peer basis not as simple value exchange, but as object properties and procedures which present required aspects of given data structure. Object attributes are “pushed” between the HMI Layer Device and Control Layer Device in the form of short messages, and the communication services are changed from cyclical pulling model into client-server services. The object oriented approach is shown on Fig. 2.
Fig. 2. Object oriented system architecture
76
R. Cupek, M. Fojcik, and O. Sande
An object based system usually has the following properties: – Data does not have to be organized in “arrays” to be efficient. The time re-sponse of such systems is extremely fast. – Information can be hidden in the objects, thus data can not be “destructed” by ill managed user programs. – There are no TAGs to be managed by “engineering tools”. Small changes can even be performed “per hand” with great integrity. There is only one link be-tween HMI Layer Device Distributed Object Components and Control Layer Device Distributed Object Components to be managed. – The system opens up for local data Time Stamping and Quality Code generations, even by the Control Layer Device IO sub-system (if the Control Layer Device supports such functionality). In order for a HMI Layer Device and Control Layer Device systems to communicate in object oriented mode they either have to implement an object oriented attribute message passing scheme as a default, which is seldom the case, or it must be possible to transfer “blocks” with raw data between the two systems and implement necessary program(s) to encode and decode these raw data. The raw data represents messages intended to manipulate or reflect object attributes (i.e. commands, alarms, states, setpoints, values etc.). HMI system of course can implement such functionality using “powerful” programming tools, thus it is possible to implement a message passing scheme for these systems. From a Programmable Controller point of view there are few truly object oriented HMI systems available. Systems claiming object orientation are normally merely “tag grouping” systems. All TAGs still has to map a “discrete” Programmable Controller resource. Currently there are no such systems available. These were more reasons to find more advanced version of OPC – UA Unified Architecture. The market required the OPC foundation to provide better integration of alarms in the address space of a Data Access Server, especially for the process industry and building automation. To date three different OPC servers – Data Access, Alarms and Events, and Historical Data Access – with different semantics have been required, for example to capture the current value of a temperature sensor, an event resulting from a temperature threshold violation, and the historic mean temperature. OPC UA enables all three types of data to be accessed by a single OPC server. As a result UA unifies the current DA, AE, HDA models and additional program calls into a single integrated address space [3,4]. This unified architecture reduces the number of OPC components to be installed and simplifies configuration and installation. UA also provides the additional option of storing a more detailed description of a data point directly in the OPC UA object, e.g. unit, scale factor etc. In this way OPC UA makes data management simpler, more centralized, and richer in additional information. This idea of OPC Unified Architecture is presented on Fig. 3.
Object Oriented Vertical Communication in Distributed Industrial Systems
77
Fig. 3. OPC UA system architecture
New idea forced new addressing model introduced in OPC UA. OPC UA server gives access to three kinds of objects managed by OPC UA servers and available to OPC UA clients: Type definition – because of the possibility to create object oriented data structures their clients need the possibility to discover the managed by servers object data types. In tag oriented solutions there were sets of basic data types allowed by given standard, so there was no need for additional type definition. During tag declaration standard data types has been chosen. In “super tag” data structures there was the need to define the data structure components but the user of given data type was responsible for knowledge of its structure. OPC UA data typing model do not require previous data type knowledge on client side. Client can use object oriented data types to discover their definitions stored on server. The references and cross server references are possible in type definition. Types can organize data into structures but also another object oriented mechanisms like subtyping, type inheritance are available.Types can be used for objects, variables, data and reference definitions. Objects definition – objects reflect real system structure presented in the way defined by given type objects with their variables, properties and methods. Variables are used for presentation real process’ signals which change during process execution, properties are used for object description, and in case when more complicated activity on the object is needed methods are used. Of course there
78
R. Cupek, M. Fojcik, and O. Sande
is still possible to create simple object and use them in similar way like in tag oriented approach but more flexible is to use context oriented object presentation with usage of object oriented approach. The object oriented structure is also supported by events mechanisms which cruses that there is no longer need for cyclic data pulling and continuous object state checking. The information is automatically sent to the client which subscribe given event and receive a required message in the case of its evidence. View mechanism – the large sets of data managed by OPC UA servers can be presented by the more client convenient way with the views usage. Views help to organize large data structures to present information important in the given context. Views can also use references and can reference objects on another servers.
4
Conclusions
Idea of using object oriented vertical communication gives some new possibilities. One of the biggest is unifying all the data in one memory model. Instead of sending two or three transmissions (value, value changing, alarm, event) it is enough to send one object with all parameters. In this way a client receive consistent data prepared in convenient format on the server’s side. Next thing is that model make possible to get better resolution of Time Stamping. It can be realised in changing all cyclical exchanges into client-server model (Service Oriented Architecture). Another advantage of such communication model is the data transfer reduction on an underlying communication network also. It is sure interesting how these new properties of OPC UA affect time parameters and requirements. Unfortunately, in the time when this article was written any OPC UA software fully compatible with specification (both client and server) wasn’t commercial available. So it seems to be necessary to make theoretical estimate time requirement for OPC UA.
References 1. ISO 15926, IEC/EN 61131, IEC 61850, ISA-95 Standards 2. Leitner, S.H., Mahnke, W.: OPC UA – Service-oriented Architecture for Industrial Applications. ABB Corporate Research Center 3. OPC Foundation: OPC Unified Architecture Specification Part 5: Information Model v.1 (2006) 4. OPC Foundation: OPC Unified Architecture Specification Part 3: Address Space Model v.1 (2006) 5. Koronios, A., Nastasie, D., Chanana, V., Haider, A.: Integration Through Standards – An Overview Of International Standards For Engineering Asset Management. In: Fourth International Conference on Condition Monitoring, Harrogate, United Kingdom, June 11-14 (2007) 6. ArchestrA IDE User’s Guide, http://www.wonderware.com/support/ 7. Bregulla, M., Cupek, R., Fojcik, M.: PROFINET CBA via Internet. In: Contemporary Aspects of Computer Networks, WKŁ, Warszawa, vol. 2 (2008)
Combining Timed Colored Petri Nets and Real TCP Implementation to Reliably Simulate Distributed Applications Wojciech Rząsa Rzeszow University of Technology, Wincentego Pola 2, 35-959 Rzeszów, Poland
[email protected] Abstract. In recent years the importance of the problem of efficiency of distributed applications grows since the distributed computer systems become more and more pervasive. The problem is the more difficult since it connects aspects of concurrent processing and communication between different parts of applications over the Internet links with parameters changing in time. In this paper we describe the problem of estimating data transmission time over the network. The results are part of the work heading towards enabling reliable simulation of distributed applications. The model of application and resources is created using Timed Colored Petri Nets (TCPN) and it is combined with Ns-2 implementation of Linux TCP. Thus reliable simulation of concurrent processes and resource competition is ensured by the formalism of TCPN and network transmission time is estimated by implementation including real TCP code. We present preliminary results of comparison between simulations and experiments.
1
Introduction
Pervasive access to world wide links of the Internet and growing number of mature technologies form possibility of creating more complicated distributed applications covering subsequent areas of our activity. Technologies emerging around the Grid concept [6] are exceptionally popular in recent years and the first motivation for this work comes from this environment [16]. However the results can be useful also for the other distributed environments. In the face of growing number of distributed systems and their applications the problem of forecasting efficiency of the designs becomes the more important. It is even more significant for the sake of complexity of the problem. Efficiency of whole application depends on efficiency of subsequent distributed elements, efficiency of communication and dependencies between concurrent activities and synchronization of the processes. In this paper we describe a method of estimating TCP transmission time developed to enable reliable simulation of distributed applications. The overall goal of the research is to provide developers of distributed applications with a
The author is grateful to Dr Marian Bubak for all valuable suggestions and to Mr Dariusz Rzońca for his remarks.
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 79–86, 2009. c Springer-Verlag Berlin Heidelberg 2009
80
W. Rząsa
method capable of estimating efficiency of their designs even before laborious implementation. The concept of simulation method assumes that application developer provides a High-level model of his application and exploited resources. Then this model is automatically transformed to a formalism enabling reliable simulation. Necessarily the simulation requires a method to accurately estimate network transmission time and this problem is in the center of this paper.
2
Simulation Model
In this section we describe the High-level model of application and resources (Fig. 1) we have developed. The resources are represented in the model as a set of nodes and network segments. For each node we define CPU(s). The network segments are currently characterized by available bandwidth, delay and additional capacity representing possible router queues. In order to indicate which network segments should be exploited by communication between particular nodes the model includes definition of network links. The network link has two endpoints (at the nodes) and it contains a sequence of identifiers of network segments between these endpoints. Thus it is possible to model dependencies between network traffic generated by some nodes and network bandwidth available for communication between the other nodes. Thus the network topology can be to some extent implemented in the model. However this information should be limited to the essentials only. In our model the application is described as a set of elements. An element is a part of application which is running on one node. It can be one process or numerous processes communicating by the means provided by operating system. In either case we consider element as a whole. We do not assume any
resourcemapping.xml
application.xml
Model of application element 3
element 2
element 1
element 4
Primergy
Primergy
connection01
node04
netSegment04
node05
netSegment03
Primergy
resources.xml
Primergy
netSegment01 node01
netSegment02 Primergy
node03
Model of resources node02
Fig. 1. High-level model of a distributed application and resources. Subsequent parts of the model are described in separate XML files, thus it is possible to consider one model of application in different environments.
Combining Timed Colored Petri Nets and Real TCP Implementation
81
specific programming model. An element can be a Web Service as well as Common Component Architecture component or a process exploiting Globus Toolkit communication library. The application logic realized by each element is described in the model in terms of resource usage defined separately for each type of resource. The resource usage by the application elements is defined by expressions describing mathematical relationship between available variables (e.g. simulation time, volume of received data, etc.) and load of particular resources, e.g: if ($time < 1000) { 2*$incomingVolume } else { pow($incomingVolume,3) }
3
Enabling Reliable Simulation
Reliable simulation of a distributed application requires a method of reflecting numerous activities of concurrent processing. As a formalism enabling the analysis we have chosen Petri nets [11] that were designed to enable modeling of concurrency. The PN can be used as a graphical presentation of the activity of a system and also as a mathematical model which enables theoretical considerations. In our application we exploit Timed Colored Petri Nets (TCPN) proposed by Kurt Jensen [8]. The High-level model provided by simulator user is automatically transformed to TCPN based Low-level model and the low level model is analyzed by means of simulation. More details concerning simulator concept can be found in [15].
4
The TCP Problem
The concurrency is not the only problem that should be considered while analyzing distributed applications. The second major issue is a reliable assessment of network transmission time. Nowadays majority of applications communicating over the Internet exploit Transmission Control Protocol for data transfers, therefore data transmission time over the TCP connections should be reliably estimated by the simulator. The TCP is however a significantly complicated protocol. It was first defined by [17]. Some aspects concerning network congestion management and retransmissions were precised by [1] and [2]. The first concepts were extended e.g. by [10] and other specifications over the years. Currently there is no single specification determining all details of the protocol and numerous issues are solved by designers of specific stacks. Consequently various implementations significantly differ between each other. There are also numerous approaches to sender side flow control algorithms that are crucial for transmission efficiency. Therefore the TCP behavior depends on numerous factors including network parameters (bandwidth, delay), connection state (slow start, congestion avoidance) thus previous transmissions, volume of transmitted data and finally the protocol implementation, parameters and flow control algorithm used.
82
5
W. Rząsa
Related Work
There are numerous works concerning TCP modeling, enabling estimation of its efficiency on the basis of different parameters. There are both: analytical models, and simulation models. For the sake of complexity of the problem the analytical models (e.g. [5], [4], [9]) necessarily concentrate on individual aspects of TCP protocol, assuming different simplifications concerning the other issues. For instance it is frequent to assume that data are sent incessantly and also that receivers are greedy and accept all incoming data immediately (see: [9]). It results in assumption that TCP always advertises full receive window. This is not true if sender or receiver performs processing of received data and for some time is not available for data transfers. Some works concern TCP connections used to transfer specific traffic e.g. [5]. As a consequence these models are not appropriate for general purpose distributed application simulator, where communication channels can be loaded with traffic of different characteristics, can be established over networks with different parameters and the application is assumed to perform processing of transmitted data, not only the transmissions. We have also found works concerning simulation based analysis of TCP. The most popular network simulation tool is Ns-2 [12] (e.g. [7]), however the other simulation solutions are also exploited, including Jensen’s Colored Petri Nets (e.g.: [3], [14]). The works frequently concern different versions of TCP and concentrate on comparison of some specific solutions. However they are still far from real implementations that combine the details of TCP specifications it their peculiar way. It seems obvious that the best solution to analyze the real TCP behavior in most accurate way is to use real TCP implementation. If we could at least semi-automatically adapt e.g. Linux kernel code to our simulator it would be easy to upgrade it do future changes and the results of the simulation could be accurate. This is also not a novel idea. However extracting TCP implementation from Linux kernel encounters numerous significant problems. One difficulty is caused by the fact that Linux TCP extensively exploits kernel infrastructure in the form of functions, defines and constants. This results in dependency tree including large part of the kernel. Moreover the Linux TCP is implemented with an assumption that it is the only running instance of TCP implementation on a system and thus it is using large number of global variables. More detailed discussion of the problems and solutions can be found in [18]. The goal of [18] was to include Linux TCP into popular Ns-2 network simulator, to enable analysis of the specific implementation. Their solution was to create Linux-like implementation of TCP for Ns-2 and then adapt real congestion avoidance (CA) code from Linux to Ns-2. The interface for CA is well defined in Linux thus it is possible to easily upgrade the Linux Ns-2 TCP using newer kernels. Since the CA is crucial for TCP efficiency and the Linux-like TCP implementation can be suited to real Linux TCP this solution is supposed to give good results.
Combining Timed Colored Petri Nets and Real TCP Implementation
6
83
Estimation of TCP Transmission Time
At the very beginning we were looking for an analytical model of TCP performance. This solution could be naturally included in the Timed Colored Petri Net. However the analytical models appeared to be too specific for general purpose simulator. Thereafter we tried to including more complicated model of real TCP in our TCPN based model. Similar model was already described in [3]. This solution promise good results in less specific environments. However it makes difficult and sometimes impossible to reflect specifics and changes of real implementations. Therefore it can be well suited to some theoretical solutions but it will be difficult to adapt it to real implementations and future changes. However we have created TCP model in Timed Colored Petri Nets and results of simulation presented in [15] were obtained with this model. It seems that solution presented in [18] is most flexible for future adaptations and promises most accurate results. Thus we decided to extract Linux TCP implementation from Ns-2 and include it into our simulator as a shared object with well defined interface. Thus our simulator is easily upgradable for any future TCP implementations and there is no need for changes in TCPN based model responsible for reliable modeling of concurrency and resource exploitation. This way we take the best advantages of Timed Colored Petri Nets in the area where it best fits and connect it with reliable TCP implementation which is as close to the real one as it is possible. The solution is also flexible and easy to adapt to the other TCP implementations. The actual architecture of the combined TCPN and Ns-2 based model is presented on Fig. 2. The application model is implemented in Petri nets, when it sends data the package is passed to Ns-2 TCP send layer. The segments produced by Ns-2 TCP are passed as tokens to the TCPN model of network thus it is possible to reliably simulate network sharing between different connections. When segments are transmitted over the network they are again passed to the Ns-2 TCP receiver side. The Ns-2 performs TCP actions and finally passes data to the TCPN model of application. The simulator of Timed Colored Petri Nets is implemented in Java, taking advantages of Petri Net Kernel and Petri Net Cube [13] packages. The Ns-2 TCP implementation is compiled to shared library and accessed from the simulator by
TCPN model of application and resources application data send
TCP data send
network model
TCP data receive
application data receive
Data flow
Ns2 model of TCP Fig. 2. Simulated data flow over combined TCPN and Ns-2 TCP network layer model
84
W. Rząsa
the means of Java Native Interface. Each connection is represented as separate Java object thus numerous connections can be independently handled by a single simulator. Timed Colored Petri Net simulator timer and global Ns-2 clock are synchronized during the simulation.
7
Results of Experiments and Simulations
In order to verify correctness of the solution we have performed experiments and we compare their results to the results of simulation. These preliminary tests were taken in laboratory by the use of separated network. Therefore we are able to draw conclusions concerning accuracy and actual network parameters. The generic configuration of experiment is presented on Fig. 3. The nodes were running Linux 2.6 with BIC TCP enabled and the bit rates for subsequent network interfaces were limited by Token Bucket Filter. Similar configuration was implemented in the simulator. The experiments consisted on transmission of ten packages of data as presented on Fig. 3. We have measured round trip time of whole transmission on node1. All bit rates were set to the same value of 1 Mbps for the first experiment and 2 Mbps for the second one. The application processes did not perform any computations. The results are presented on Fig. 4. data flow
data flow bit rate:
bit rate: Primergy
bit rate:
Primergy
data flow
node1
data flow
node3
Primergy
node2
Fig. 3. Configuration of the experiments Comparison of simulation and experiment 600
experiment rate 1Mbps simulation rate 1Mbps experiment rate 2Mbps simulation rate 2Mbps
550
Round trip time [s]
500 450 400 350 300 250 200 150 100 50 1
1.5
2 Package size [MB]
2.5
3
Fig. 4. Results of the experiments and simulations
Combining Timed Colored Petri Nets and Real TCP Implementation
8
85
Conclusions
Presented results prove correct cooperation between both: TCPN and Ns-2 based parts of the model. The events are correctly passed between the two environments and the clocks are properly synchronized. The network TCPN model correctly reflects network sharing between different connections. Thus we can conclude that the combination of both models is done properly. Accuracy of the results show that the Ns-2 based TCP is a good model of real TCP implementation in the examined case. Obtained results present simple linear relationships between time and size of transmited data what is natural in this environment. However we should realize that the dependency may be significantly more complicated in more complex conditions. Especially when the application elements perform computations and cannot immediately receive data from the network or delay-bandwidth product for a network link is large. Even if the reliationships between data volume and transmission time are linear in more complex cases, the actual parameters of the function depend on large number of factors connected with network state and behavior of the application. Therefore number of simplifications were introduced in papers describing analytical analysis of TCP referenced from Sect. 5.
9
Summary and Future Work
Preliminary results of the simple experiments presented in this paper prove usefulness of combined TCPN and Ns-2 model of distributed applications, however further experiments should be performed in order to verify the simulator in different conditions. Certainly accuracy of the results depends on accuracy of the Ns-2 TCP implementation, however we belive that the solution for estimation of TCP transmission time we have choosen promises as good precision as it is possible. Authors of [18] discuss results for different configurations of their TCP. In some examples the Linux TCP in Ns-2 presents good convergence with real implementation, however there are configurations in which the results are inaccurate. Moreover even for the best cases there are differences between real Linux TCP and the Ns-2 implementation that may render inaccurate results for some network or traffic parameters. However new versions of Linux TCP for Ns-2 can be easily adapted to our simulator. We should also remember, that the network transmission is not the only factor influencing results of the simulation, therefore minor inaccuracies in estimation of network transmission time can be irrelevant when we consider data processing by simulated application.
References 1. Allman, M., Paxson, V.: TCP Congestion Control. RFC 2581 (April 1999) 2. Allman, M., Paxson, V.: Computing TCP’s Retransmission Timer. RFC 2988 (November 2000)
86
W. Rząsa
3. De Figueiredo, J.C.A., Kristensen, L.M.: Using Coloured Petri nets to investigate behavioural and performance issues of TCP protocols. Department of Computer Science, Aarhus University, 21–40 (1999) 4. De Vendictis, A., Baiocchi, A., Monticelli, A.: Simple Models and their Limits for TCP/IP Network Analysis and Dimensioning. In: Proc. of IEEE ICC 2002 (April 2002) 5. Elteto, T., Vaderna, P., Molnar, S.: Performance Analysis of TCP Networks Loaded by Web Traffic. In: 18th International Teletraffic Congress, ITC18, Berlin, Germany, August 31 - September 5 (2003) 6. Foster, I., Kesselman, C., Tuecke, S.: The Anatomy of the Grid. International Journal of Supercomputer Applications 15(3) (2001) 7. Fall, K., Floyd, S.: Simulation-based comparisons of tahoe, reno, and sack tcp. Computer Communication Review 26, 5–21 (1996) 8. Jensen, K.: Coloured Petri Nets. In: Basic Concepts, Analysis Methods and Practical Use, Basic Concepts. EATCS Monographs on Theoretical Computer Science. Springer, Heidelberg (1994) 9. Kalampoukas, L., Varma, A., Ramakrishnan, K. K.: Two-Way TCP Traffic Over Rate Controlled Channels: Effects and Analysis, University of California at Santa Cruz, Santa Cruz, CA, USA (1997) 10. Mathis, M., Mahdavi, J., Floyd, S.: TCP Selective Acknowledgment Options. RFC 2018 (October 1996) 11. Murata, T.: Petri Nets: Properties, Analysis and Applications. Proc. of the IEEE 77(4) (April 1989) 12. Ns-2 network simulator homepage, http://isi.edu/nsnam/ns/ 13. Petri Net Kernel and Petri Net Cube homepage, http://www2.informatik.hu-berlin.de/top/pnk/ 14. Ye, Q., MacGregor, M.H.: Combining Petri Nets and ns-2: A Hybrid Method for Analysis and Simulation. In: 4th Annual Conference on Communication Networks and Services Research (CNSR), Moncton, New Brunswick, Canada, May 24–25 (2006) 15. Rząsa, W., Bubak, M.: Application of Petri Nets to Evaluation of Grid Applications Efficiency. In: Proc. of CGW 2008, Kraków, pp. 261–269 (2009) ISBN 978-83-6143300-2 16. Rząsa, W., Bubak, M., Baliś, B., Szepieniec, T.: Overhead Verification for Cryptographically Secured Transmission in the Grid. Computing and Informatics 26, 89–101 (2007) 17. Transmission Control Protocol, RFC 793, Information Sciences Institute University of Southern California (September 1981) 18. Wei, D.X., Cao, P.: NS-2 TCP-Linux: an NS-2 TCP implementation with congestion control algorithms from Linux. In: WNS2 2006: Proceeding from the 2006 workshop on ns-2: the IP network simulator, Pisa, Italy. ACM, New York (2006)
Adaptive Streaming of Stereographic Video Krzysztof Grochla and Arkadiusz Sochan Institute of Theoretical and Applied Informatics of Polish Academy of Sciences, Bałtycka 5, 44-100 Gliwice, Poland {kgrochla,arek}@iitis.pl
Abstract. We present a tool for online compression and streaming of stereoscopic video and images and a consideration on adaptation of the video stream to network conditions. The software allows to use different encoding schemes for video compression and streams the stereo frames using UDP protocol. We give measurements of the frame delays in the transmission for different codec configurations.
1
Introduction
The digital stereo video is a sequence of stereo image pairs. Each pair contains image for left and right eye to produce a three-dimensional view of the scene. The main benefit over traditional video is the representation of depth of the image and providing the user with a more realistic representation of the view. The presentation of the stereographic video requires dedicated equipment to display the pictures for left and right eye separately. Stereographic monitors like Sharp LL-151-3D are available or, alternatively, projectors and monitors with special glasses – e.g. 3D Barco Galaxy projector. The online stereo video transmission may provide a 3-dimensional perception of a remote scene – it creates much deeper representation of the remote scene. The stereo video transmission may be realized as two simultaneous mono video transmissions, but it creates synchronization problems and the coding scheme will not utilize the similarity of frames to improve the encoding efficiency. Thus the stereo transmission generates slightly different traffic than the classical video streaming. The rapid growth of the Internet over the last few years and the increase of available bandwidth has made the on-line transmission of video possible. Many web sites with video content have been created and the video streaming is becoming a popular service. The transmission of stereographic images however, has not become a common issue right now. The transmission of a video signal through a computer network is a complicated task. Subjective video quality depends on many conditions, some of them independent from the network (i.e. frame lossy compression ratio), while others highly dependent (i.e. inter-frame delay, accounting for smoothness of video presentation). To optimize the latter case, two important factors must be considered. Firstly, the popular IP network is known for high variability of the transmission channel and it also lacks
This work was in part supported by Polish Ministry of Science and Higher Education grant no. 3 T11C 045 30.
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 87–94, 2009. c Springer-Verlag Berlin Heidelberg 2009
88
K. Grochla and A. Sochan
the mechanisms for allocating network resources for some connection or class of traffic. Secondly, current video coding standards (i.e. MPEG-2) produce packet streams with characteristics that make traffic engineering difficult. There are different approaches to solving this problem. Firstly, there is active research on upgrading the Internet with quality of service (QoS) mechanisms [1,2]. Various traffic shaping algorithms are devised to improve the parameters of video transmissions [3,4,5]. New video compression techniques are tested, which add scalability to the stream, adding new possibilities for transmission control [6,7]. This paper is organized as follows. Section 2 contains information about encoding scheme and data stream creation. Section 3 contains the results of the test and the measurements of the frame delay. The last section provides a short summary of the article.
2 2.1
A Tool for Stereo Video Streaming Coding/Decoding System
Coded video stream is a sequence of compressed video frames. Most of the compression methods use compressed stream of coefficients obtained by some image transform, the most popular being either the Discrete Cosine Transform (DCT) or Discrete Wavelet Transform (DWT). The traditional form of coding results in ”closed” stream, which gives one option only – to decode completely. By splitting the coefficient data into groups, the number of options can be increased. Decoding all of the groups results in the exact reconstruction of the frame, while decoding only some of them results in the predictable degradation of quality. The latter value can be exactly estimated [8]. Coefficient data separation takes various forms. For DCT coefficients, the set of values for 8 × 8 block is either divided into groups ordered by increasing frequency, or by base level of reconstruction quality and successive corrections decreasing error level. DWT coefficients are normally coded one bit plane at a time, starting from the most important bits. The coding process either utilizes hierarchical statistical dependencies between coefficients (SPIHT) or outputs the given number of refinement streams for a block (EBCOT). Depending on the way the refinement information is organized, there are three basic types of scalability: spatial (additional information increases the size of the image), temporal (additional information inserts more frames) and SNR (signalto-noise; information improves the quality of the image). They can be combined to form complex profiles, spatial-SNR for example. Popular video coding schemes MPEG (2 and 4) use DCT as a transformation. Data is organized into two layers – primary and extended. For MPEG-2, one can either decode primary layer, or both. For MPEG-4, the option is to decode the primary layer and any part (with single-bit resolution) of the extended layer. The latter scheme is called Fine Granular Scalability (FGS). Different combinations of profiles and levels allow broad range of scalability settings. DWT as a base transform for image coding has been recently introduced in form of JPEG 2000 standard [8]. Although the algorithms are more complex
Adaptive Streaming of Stereographic Video
89
than those of DCT, substantial improvement of coding quality can be attained. There is a body of research of DWT application to coding of video signals coding [6,7,9]. The results show that emerging technology will be superior to traditional MPEG in terms of coding efficiency and scalability possibilities. Various types of 3D capturing and displaying techniques have been developed in order to produce the same depth sensation in virtual worlds as we experience in the real world. Many innovative studies on 3D images were focused on developing efficient compression algorithms including video streams encoding. MPEG-2 and MPEG-4 standards only partially support the encoding of stereoscopic images. In the MPEG-2 we can use Multiview profile, whereas in the MPEG-4 we can apply auxiliary frames. We propose our own method of encoding of stereoscopic pictures to 3D video streams that is more flexible and scalable than the solutions described in the standards. We applied two approaches for encoding of prediction frames: a channel (disparity) compensation and a temporal (motion) compensation. We implemented four types of video frames: 1. Intraframe Separated (IS) – a frame is encoded without prediction. 2. Intraframe Joined (IJ) – a frame is encoded applying the disparity compensation. 3. Prediction Separated (PS) – a frame is encoded applying the motion compensation. 4. Prediction Joined (PJ) – a frame is encoded applying both the disparity and the motion compensation.
Fig. 1. Compression methods
90
K. Grochla and A. Sochan
We used the above mentioned types of frames to propose five schemes of stereoscopic videos encoding: (a) (b) (c) (d) (e)
a stream is encoded using IS frames only, a stream is encoded using IJ frames only, a stream is encoded using IS and PS frames, a stream is encoded using IS and PJ frames, a stream is encoded using IJ and PJ frames.
The schemes are illustrated in Fig. 1 We implemented both Discrete Cosine Transform and Discrete Wavelet Transform to encode stereoscopic images. However, we used only DCT-based encoding methods for experiments described in this paper. 2.2
Transmission of the Frames
To evaluate the different compression methods we have created custom stereo video streaming software. It uses UDP as a transport stream. After encoding the frames are divided into packets of the size corresponding to the MTU of the network. The data unit size can be manually adjusted. The frame header with information about the encoding method used, frame resolution and size is transferred by the first packet and a small header with frame number, sequence number and CRC is added to each of the packets. Then the packets are transferred to the client by any kind of network supporting IP protocol – it can be wired or wireless network. The client assembles the frame, decodes it and displays to the user. If some of the packets within the frame are missing, it can not
Server
Client
Aquired Stereo Image
Displayed stereo image
DWT, frame encoding and compression
Decoding and decompression
Encoded stereo frame
Dividing the frame into packets
Data packets
Control packets
Received stereo frame
Frame requests
Defragmentation and frame reconstruction
Data packets
Control packets
IP network
Fig. 2. Flow chart of the algorithm
Adaptive Streaming of Stereographic Video
91
be decoded – in this situation the frame is considered lost and the user sees the previous frame for slightly longer time. The software was implemented under the Microsoft Windows operating system in .NET technology. It offers video streaming and basic video on demand functionality, like start, stop and pause of the transmission. There are two simultaneous communication channels – the data transmission from a server to a client and control connection from a client to a server. Every frame transfer is initiated by the client. The client transmits a control packet containing request for every frame. It allows to regulate and scale the stream to the observed network conditions. The client sends requests for each of the frames. The server sends data packets only in response to the request. If some of the frames are not received within the required time the client may limit the rate of request, to limit the bandwidth used by the transmission. The architecture of the software is presented in the Fig. 2. 2.3
Generation and Regulation of the Traffic
Most of the teletraffic networks today treat all kinds of traffic in the same manner. For a given connection, there are no guarantees on the value of the bit rate, or the time of transfer. This results in difficulties and a decrease in subjective quality of novel multimedia services (video on demand, teleconferences), where transmission time parameters are more important than rate of errors, for example. Traffic shaping algorithms are used to control the load of the network (and with that to provide general QoS for the whole network). Their function is to delay or drop incoming transmissions of packets, depending on some estimated parameters (predicted network load for example). When properly applied, they reduce the number of lost packets, transmission delays or improve other QoS factors. An example of this kind of algorithm is Token Bucket Filter (TBF) used to limit and reduce the burstiness of data transmission. Other examples are RED, and SFQ algorithms [10]. Different kinds of transmission require different kinds of traffic shaping algorithms. For example, the video data stream quality is highly dependant on variations in packet arrival delays (jitter). An algorithm that introduces buffering and delays can decrease the QoS to unacceptable level, even though enough bandwidth is available. Normal data transmission, on the other hand, is sensitive to packet dropping techniques. With current compression techniques one can easily generate a stream that meets the target bit rate. Reducing of the bit rate even by as little as 5% however, produces significant jitter and quality degradation. The requirement of preserving constant bandwidth in the best-effort network environment is too strict, therefore some other solution must be adopted. The partial answer is to use scalable video streams. Scalability in general is the possibility to increase or decrease the system performance as a result of changes in the environmental conditions. Adopting the definition to stereo streaming system with a traffic shaping mechanism that pushes the video data to the network, we can say that a scalable video transmission occurs when transmitted
92
K. Grochla and A. Sochan
stream parameters (the size of the frames) can be altered to match the available network resources (measured in transmission time statistics for example). With a scalable video stream, the size of each frame can be adjusted by throwing away any part of it. It is a job of a dedicated traffic shaping algorithm to balance the reduced image quality (coming from smaller frames) and jitter (resulting from pushing large frames). For efficient realization of the above approach, two conditions must be met. Firstly, the transmitted stream must be prepared in scalable form, discussed below. Secondly, there’s a need for a traffic shaper that is able not only to discard but also to reduce the packet size. This is not possible with most of the current algorithms, which rely on the assumption of protecting packet’s integrity. To support the scalability of the stream we added the regulation to the stereo video transmission. The algorithm is organized as follows: clients send requests for each frame on regular manner. The request contains the maximum value of the frame size in bytes, the value being constantly updated based on the frame arrival times. The inter-arrival times are stored as a description of network load. Generally, with an increase of the frame transmission times the frame sizes should be decreased. This means that also the quality parameters must be decreased. This relation is highly dependent on the network (number of transmissions, switches buffers’ states), so it cannot be easily described. The requested frame size is determined by the relation between the previously requested sizes and their arrival times. The lower bound on frame size is externally defined as the minimum size when image is no longer readable; the upper bound is lossless coding frame size on the server side. The network state is estimated on the basis of the delay between successive image packets. The server scales the video frame according to the client’s request and pushes it into the network. The client measures the delays and calculates the frame request on the basis of this measurement. The algorithm has to take into account the delay between sending of the control information and its taking effect. In the current version of the software the fine scalability of frame sizes is not supported. The client regulates only which frames should be transferred – if the delay is too high to transfer all the frames the client does not send some of the requests.
3
Measurement Results
To evaluate the behavior of scalable stereo the software for stereo streaming was tested in real network conditions. We considered a typical case of home user connected by an ADSL link to the Internet and a stereo streaming server within IITiS PAN network. The packet round trip times between hosts were from 8 ms to 10 ms. The datarate of the ADSL link was 1 MBit/s. We used a sequence of 300 frames of stereo movie and measured the time between sending the request for the frame and the time when the complete frame was assembled. The results were collected for 5 different encoding schemes:
Adaptive Streaming of Stereographic Video
93
Fig. 3. Frame transmission times for IS_PS1 encoding
Fig. 4. Average frame sizes (on the left) and transmission times (on the right) for different encoding algorithms
IS_PS1 – one PS frame between IS frames, IS_PS2 – two PS frames between I frames, IJ_PJ1 – one PJ frame between IJ frames, IJ_PJ2 – two PJ frames between IJ frames, IJ_P0 – only IJ frames. The plot of frame delays per IS_PS1 encoding scheme is shown in Fig. 3. The codec generates one big frame and one small frame alternately, thus creating a significant difference in frame transmission times. The plots in Fig. 4 present the comparison of frame sizes and frame delays for different encoding schemes. The average values for the whole transmission were calculated together with standard
94
K. Grochla and A. Sochan
deviation. It can be observed that the best results were achieved for IJ_PJ2 coding scheme. Unfortunately, the variation of frame transmission times is very high for this method. The most constant delay was generated by IJ_P0 scheme, but the drawback is that the delay was the highest of all tested methods. The average frame transmission time is linearly proportional to the frame size, but the standard deviation for transmission is higher, as the network may generate additional delays.
4
Summary and Future Work
We present the software for encoding and transmission of stereo video streams. The average frame delays have been evaluated in a real network environment and the frame transmission delays for different encoding schemes have been compared. As future work we want to introduce the scalability support for automatic adjustment of the datarate to existing network conditions and include forward error correction codes into the transmission.
References 1. Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., Weiss, W.: An architecture for differentiated services rfc 2475. Technical report, The Internet Society (1998), http://www.faqs.org/rfcs/rfc2475.html 2. Kihong, P., Willinger, W. (eds.): Self Similar Network Traffic and Performance Evaluation. Wiley and Sons, Chichester (2000) 3. Chaddha, N., Wall, G., Schmidt, B.: An end to end software only scalable video delivery system. In: Little, T.D.C., Gusella, R. (eds.) NOSSDAV 1995. LNCS, vol. 1018. Springer, Heidelberg (1995) 4. Park, S.H., Ko, S.J.: Evaluation of token bucket parameters for vbr mpeg video transmission over the internet. IEICE Transactions on Communications E85-B(1) (2002) 5. Atiquzzaman, M., Hassan, M.: Adaptive real-time multimedia transmission over packet switching networks. Real-Time Imaging 7(3) (2001) 6. Bottreau, V., Benetiere, M., Felts, B., Pesquet-Popescu, B.: A fully scalable 3d subband video codec. In: Proc. IEEE Conference on Image Processing 2001 (ICIP 2001) (2001) 7. Luo, L., Li, J., Li, S., Zhuang, Z., Zhang, Y.Q.: Motion compensated lifting wavelet transform and its applications in video coding. In: Proc IEEE Int. Conf. on Multimedia and Expo (2001) 8. ISO/IEC: 15444-1: Jpeg 2000 image coding system. Technical report, International Organization for Standarization (2001) 9. Choi, S.J., Woods, J.: Motion-compensated 3-d subband coding of video. IEEE Trans. Image Proc. 8(2) (1998) 10. Grochla, K., Głomb, P.: Kształtowanie ruchu w routerach pracujacych w systemie Linux. Studia Informatica 23(2A) (2002)
The Influence of Electromagnetic Disturbances on Data Transmission in USB Standard Michał Maćkowski Silesian University of Technology, Institute of Computer Science, Akademicka 16, 44-100 Gliwice, Poland
[email protected] http://www.polsl.pl/ Abstract. Universal Serial Bus (USB) architecture is becoming a popular substitute for parallel or serial bus RS-232 architecture. In addition to parallel and serial ports, USB ports are provided as standard equipment on most computers manufactured today. There are also more and more network devices equipped with USB interface, for example USB Ethernet adapter, network Wi-Fi USB card, or USB adapter to connect two computers. Although the published USB standards require all devices with the USB logo meet today’s PN-EN requirements for “CE” mark, very few commercially available USB peripherals actually do so, on the immunity side. This research focuses on the influence of electromagnetic disturbances on data transmission in USB standard in accordance with electrical fast transient immunity test and can be easily expanded to other communication standards.
1
Introduction
The demand for capacity of communication interface increases together with the development of computer systems. A wide variety of peripheral devices impose diverse communication requirements, and standards existing for many years, such as RS-232 or IEEE-1284, could no longer satisfy the market. The generality and growing popularity of USB standard caused the market to become full of network devices connected to a computer via the USB interface. The examples of such devices are: USB Ethernet adapter, network Wi-Fi USB card, USB adapter to connect two computers. While using the USB interface, as the element that connects for example Fast Ethernet network and a PC computer, it is necessary to answer the question whether the interface is susceptible to electromagnetic disturbances, therefore whether using it would not cause the corruption of transferred data. This is the reason why conducted research focuses on interference of the data transmission in USB standard, caused by the influence of electromagnetic field. However, they can be easily generalized on the other communication interfaces. The main target of the study is to verify the immunity of the USB standard for electromagnetic disturbances, moreover the study tries to compare USB immunity among others communication interfaces. In contrast, the study [2] presents the test results of the Fast Ethernet immunity for electromagnetic disturbances. A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 95–102, 2009. c Springer-Verlag Berlin Heidelberg 2009
96
M. Maćkowski
Our research aim at improving the methods of protecting devices in case of incorrect operation. This may be caused by the electromagnetic disturbances that interfere through: power systems, ground and interface circuit (transmission lines). The research already being conducted will allow to determine the immunity of already existing systems and computer devices. Moreover it will enable to determine the compatibility of those devices with the established standards harmonized with EMC (electromagnetic compatibility) directive. The very important feature of the research itself is the opportunity to check the influence of electromagnetic interference on data transmission in communication standards.
2
USB Standard
The development of computer systems as well as still increasing group of electronic devices being able to exchange the information with a computer, made the vendors elaborate the communication standard which would ensure an easy way of connecting devices to the system, and at the same time would be very functional and multi-purpose. Companies like Microsoft, Intel, Compaq, IBM, DEC released USB, which was the solution to the hitherto problems connected with the limited amount of communication ports: RS-232, LPT IEEE 1284 and with the limited data transmission speed of those ports. The kind of transfer used for exchange of the information between the computer (host) and the executive device is the basic element which determines the class of devices equipped with USB interface. Because of the fact that there is a huge variety of devices realizing different communication requirements, four types of transfers were distinguished: control, interrupt, bulk and isochronous. In the conducted research for data transmission, bulk transfers have been used because they guarantee the integrity of data (error checking) and the opportunity of getting the maximal speed of USB. However, this is possible only under the condition that no other kind of transfer would use USB in the same time. Another
Fig. 1. Comparison of the most available communication standards
The Influence of Electromagnetic Disturbances on Data Transmission
97
kind of transfers used in the research were control transfers, being the obligatory element of each device equipped with USB communication interface. Control transfers are also used in control process. Figure 1 presents the comparison of available communication standards. It can be noticed that thanks to differential speed of transmission fitted to different kind of devices, USB standard complies largely with the requirements of users as well as vendors of computer equipment, offering the rate of data transmission from 1.5 Mb/s up to 480 Mb/s.
3
Test Bench and Research Procedure
In order to prepare the test bench, it was necessary to create the device equipped with USB interface, through which a device communicates with a computer. Construction of the own device ensures a full control over transmitted data, and what is more important the opportunity to modify device software and to adjust it to our needs. The test bench consists of equipment and software created on the device and computer sides. Figure 2 shows model of the communication layer implemented on the computer and the device sides. Following blocks: USB Host Hardware and PIC18F4550 physical interface USB correspond to the lowest, physical layer with regard to ISO model. Meanwhile the rest of the layers correspond to the software on the PC computer and USB interface device side. The device designed and constructed for the project was based on 8-bits Microchip microcontroller PIC18LF4550. This microprocessor contains integrated USB controller compatible with 1.1 standard version and works with Low Speed 1.5 Mb/s and Full Speed 12 Mb/s. Depending on the device software (firmware) it is being recognized by the computer operating system as the HID (Human Interface Device) or MSD (Mass Storage Device) class device.
Fig. 2. Communication layer model implemented on the computer and device sides
98
M. Maćkowski
The software part of the project consists of two applications. The first is the operating system of the device and the second is the application on the PC computer side. The operating system implemented on the device uses the mechanism of interrupts to serve USB controller. The program and data memory store all of the structure defining device parameters. These parameters determine the class of the device. During the research it was also necessary to write a PC program which would allow to measure rate of data transmission. The program was created in C# language in Microsoft .NET and used Open Source LibUSB.NET library. The other features of the program are: test selection (writing, reading, writing and reading test) and displaying the information about device, configuration, interface, endpoint descriptors. 3.1
Test Bench
There are four items that can be distinguished in test position: two PC computers, USB device and USB protocol analyzer Explorer 200 by Ellisys (Fig. 3). The role of analyzer is to sniff all frames transmitted between PC and the device. Consequently these frames are transferred to another computer-analyzer, which contains software for analyzing sniffed frames. A USB wire is inserted into capacitive coupling clamp that is used to couple EFT (Electrical Fast Transients) bursts onto I/O lines. According to PN-EN 61000-4-4 standard, during the test, impulsive disturbances are injected simultaneously to transmitter and receiver. The proper placing the clamp which injects disturbances allow to preview corrupted frames of data packets in Ellisys Visual USB application installed on the computer-analyzer. During the analysis the USB wires of 3 m and 5 m length were used to transmit the data in Full Speed mode. The two tests were conducted:
Fig. 3. Test position for analysing transmitted data using the USB protocol analyzer Explorer 200 by Ellisys
The Influence of Electromagnetic Disturbances on Data Transmission
99
– Data write test (OUT operation). Direction of the transmission from the computer to the USB device. Clamp was placed between computer and USB analyzer. – Data read test (IN operation). Direction of the transmission from the USB device to the computer. Clamp was placed between USB analyzer and the device. 3.2
The Research Procedure
One of the targets of this research was to test the data transmission immunity in USB Full Speed standard for the electrical fast transient bursts. The test was performed in accordance with standard PN-EN 61000-4-4 that is harmonized with EMC directive 2004/108/WE. Series of electrical fast transient disturbances are designed to simulate a relay contact bounce in the electric network. Series of disturbing impulses are induced in transmission lines through a clamp. The research parameters being compatible with the standard are as follows: – – – –
repetition frequency 5 kHz, burst duration 15 ms, burst period 300 ms, output voltage range change from 250 to 1000 V – according to level 1 to 3 in PN-EN 61000-4-4 standard.
Level one refers to requirements for devices working in residential, commercial and lightly industrialized environment, whereas levels two, three and four refer to requirements for devices working in the industrial environment. Table 1 presents levels of the sharpness test according to the standard. Table 1. Test levels for the Electrical Fast Transient test, according to PN-EN 61000-4-4 Power ports I/O ports Level Voltage peak Repetition rate Voltage peak Repetition rate [kV] [kHz] [kV] [kHz] 1 0.5 5 0.25 5 2 1 5 0.5 5 3 2 5 1 5 4 4 2.5 2 5 x Special Special Special Special
4
The Influence of Electromagnetic Disturbances on Data Transmission in USB Standard
The research was initiated for disturbing signals whose peak value equals 250 V, which is compatible with level one according to PN-EN 61000-4-4 standard. For
100
M. Maćkowski
such test parameters USB standard is characterized by almost complete immunity for fast electrical transients. The only thing that was noticed during the research was some destroyed transactions, being the part of frames. Retransmission of those tractions had low influence on data transmission speed. The USB standard was equipped with a range of mechanisms which are designed to protect it from incorrect work of the system. The main tasks of elements that protect USB are controlling the data correctness, limiting the time for response and the mechanism of data toggling (USB uses this mechanism as a part of its error correction). The main way to ensure the correct work of the system is to detect the errors in received packet and not to answer (ACK) in case of their presence. When the sender does not receive a confirmation, then the damaged frame is retransmitted. This mechanism is very effective, especially in the case of distortion in data transaction area. However, if a mistake appears in the response sent off to a receiver, then a problem arises and the best solution is to use data toggles. It is the mechanism of alternating numeration of packets, which protects USB standard from losing the synchronization. The next step of the research was to test immunity of USB standard for levels 2 and 3, which correlates with successive amplitudes of disturbing signal on level 0.5 kV and 1 kV. Figure 4 shows the fragment of a frame where transmission error appeared during writing operation into the device. The figure presents also the content of data packet field (Data 1), where next 57 bytes of data were corrupted. The majority of corrupted transactions were the effect of distortion of content of data packet. Each transaction in USB system consists of token packets, which determine direction of data transmission (writing/reading), data and acknowledge packets. During the test the maximum acceptable packet size was used, which equals for Full Speed 64 bytes. A full-size of data packet is related to fewer amounts of tokens and acknowledges packets appearing in USB. Nevertheless, the distortion of single bit in data area requires the retransmission of all 64 bytes data block. It was observed that in all available devices the maximum size data packet is used in order to get the maximum speed of transmission. Thus, during the test such type of data packet was used. Figure 5 presents the content of frame in USB standard for reading operation (direction of transmission is from the device to the computer). It can be seen that USB standard is no longer immune when the amplitude of disturbances is 500 V or higher. There are no charts presenting decreases of transmission speed during writing and reading operation. It is due to the shortage of immunity of standard for the value of disturbing signal voltage 500 V or higher. It was also observed that the device is completely disconnected from a system when the amplitude of disturbances is 0.5 kV or higher, and the previously presented mechanisms became useless. The explanation why this situation occurs may be traced to overlapping of the frequency of appearing consecutive initial parts of frames SOF (Start Of Frame) in USB standard with the frequency of disturbing signal determined by standard PN-EN 61000-4-4. The frequency of
The Influence of Electromagnetic Disturbances on Data Transmission
101
Fig. 4. The results of frame analysis during the writing operation. Test conducted for level 1 – peak voltage 500 V.
Fig. 5. The results of frame analysis during the reading operation. Test conducted for level 1 – peak voltage 500 V.
102
M. Maćkowski
appearing disturbing impulses in each 15 ms interval equals to 5 kHz, which in practice causes the loss of following 15 frames in USB protocol, and finally the loss of the connection with the computer.
5
Conclusions
The study focuses mainly on interference of data transmission in USB standard caused by electrical fast transient disturbances according to PN-EN 61000-4-4 standard. The main purpose of the study was to test the immunity of USB standard and its mechanisms for electromagnetic disturbances. Despite using screening wires for data transmission and symmetric transmission while designing the device with USB interface, there is a problem with connection of the screen on the device side. Most vendors connect screen directly to circuit ground on printed board. Thus, the disturbances inducted on a screen interfere with electronic circuits which deteriorate the work of devices. Additionally, USB not only transmits data but also provides power supply. Thus, the disturbances can propagate simultaneously to electronic devices through data and power lines and cause interferences in transmission channel. The conducted research revealed the high susceptibility of USB standard for electromagnetic disturbances, especially when the amplitude of disturbances impulses is higher than 500 V. The result of such disturbances is that devices are no longer visible in a system and the complex procedure of attaching the device to a computer makes it impossible to recognize the device again in the system without human interaction. As the test results show, the high susceptibility of USB standard to electromagnetic disturbances can cause additional interferences of data transmission. In publication [4] and [6] the issues referring to the immunity of other communication standards such as: RS-232 and Fast Ethernet were presented.
References 1. Anderson, D.: Universal Serial Bus System Architecture. Mindshare, Inc., AddisonWesley Developers Press (1997) 2. Flak, J., Skoroniak, K.: Badania odporności standardu Fast Ethernet na zaburzenia przewodzone. In: XV Krajowa Konferencja Sieci Komputerowe. Zakopane (2008) 3. Hyde, J.: USB Design by Example, A Practical Guide to Building I/O Devices. Intel Press (2001) 4. Maćkowski, M., Ober, J., Skoroniak, K.: Fast Ethernet a zakłócenia elektromagnetyczne. In: XIV Krajowa Konferencja Sieci Komputerowe. Zakopane (2007) 5. Mielczarek, W.: USB Uniwersalny interfejs szeregowy. Helion, Gliwice (2005) 6. Ober, J., Skoroniak, K.: Wpływ zaburzeń elektromagnetycznych na transmisj¸e danych w standardzie RS232C. In: XIII Krajowa Konferencja SCR. Ustroń (2006)
Electromagnetic Emission Measurement of Microprocessor Units Michał Maćkowski and Krzysztof Skoroniak Silesian University of Technology, Institute of Computer Science, Akademicka 16, 44-100 Gliwice, Poland {michal.mackowski,krzysztof.skoroniak}@polsl.pl http://www.polsl.pl/
Abstract. Each microcontroller realizing the code saved in a program memory emits electromagnetic disturbances both conducted, that propagate through lines connected to the processor, and radiated in the form of electromagnetic field. All of these undesirable signals emitted by the processor can be measured, received and interpreted by the appropriate methods. This paper illustrates the research results concerning the character of signals emitted by the selected microcontroller via the power supply lines. The purpose of the study is to determine the spectrum of signal emitted by the processor depending on the instruction being realized. The research results presented in the study indicate that there are the differences in the spectrum of the signal emitted by the processor, depending on the program being executed. These results are the subject for further research.
1
Introduction
Fast technological progress, development of computer systems, increasing the data transmission speed and high reduction of electronic system size, requires putting the emphasis on research connected with immunity and electromagnetic disturbances emission. The constant need for more and more miniaturization and integration, led to very large scale integration circuits. The high integration scale and permanent increase of the frequency of microprocessor circuit, entails that current peaks are generated with higher amplitudes and shorter rise times on the power supply and I/O lines of the electronic circuits. These impulses are generated by simultaneous switching of millions of transistors inside of the integrated unit. Propagation of such currents via wires and paths on a PCB (Printed Circuit Board) into other electronic devices may cause the problems with their proper work. Microprocessor units, presently used as controllers in network devices, can be also considered as advanced chips being responsible for data processing and reconstruction of transmitted frames. What is more, such units can be also a source of electromagnetic disturbances, which interfere with operation of other electronic devices. Model of microprocessor executing specific instructions can A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 103–110, 2009. c Springer-Verlag Berlin Heidelberg 2009
104
M. Maćkowski and K. Skoroniak
be used to predict the emission of electromagnetic disturbances generating by microcontroller. The issue referring to this problem was raised in publications [1] and [3]. The main purpose of this study is to analyze and compare the measured spectrum of disturbing signal generated by microcontroller, depending on a program that it currently realizes. The microcontroller and the equipment used in the test are presented in Sect. 3 – test bench and research procedure. All tests were based on PN-EN 55022 standard harmonized with EMC (electromagnetic compatibility) directive 2004/108/WE.
2
Electromagnetic Interference
The fundamental parameter of electromagnetic disturbance is its frequency. Basically, EMC standards cover the range from 0 Hz to 400 GHz. However, not all frequency ranges are completely regulated by standards. The first important range (Table 1) is a range about 50 Hz related to power network frequency. It is the range of harmonic current measurement, being the multiple of power network frequency. From the final part of this range to 9 kHz there is a frequency range that is not regulated by any standards. Above 9 kHz begins the range of high frequency, which is the main interest of this publication. This range is called radio frequency (RF). The range of radio frequency is generally divided into two sub ranges: conducted and radiated. When the RF disturbance is lower, then the disturbance is considered as conducted, but on the other hand, when it is higher the disturbance is radiated. The conducted RF range between 150 kHz and 30 MHz is regulated by standards. The top frequency 30 MHz is then the beginning of radiating range. The upper limit of the RF radiation band depends on a standard and a device but usually it is a range to 1 GHz. Electromagnetic interference (EMI) is caused by undesirable radiated electromagnetic fields or conducted voltages and currents. The interference is produced by a source emitter and is detected by a susceptible victim via a coupling path. Depending on the way they are reaching the device they can be divided into: – Conduction emission – electric current, – Radiation emission – electromagnetic field. Table 1. Frequency range considered in terms of electromagnetic compatibility Frequency Range Standard regulation Harmonics 50 Hz – 2/2.5 kHz regulated LF (Low Frequency) 2/2.5 – 9 kHz not regulated Conducted RF 9 kHz – 150 kHz regulated for some products (Radio Frequency) 150 kHz – 30 MHz regulated Radiated RF 30 MHz – 1/2/3 GHz regulated (Radio Frequency) more than 3 GHz regulated for some products
Electromagnetic Emission Measurement of Microprocessor Units
105
Conducted noise is coupled between components through interconnecting wires such as through power supply and ground wires or PCB tracks. Common impedance coupling is caused when currents flow from two or more circuits through the same impedance such as in power supply and ground wires.
3
Test Bench and Research Procedure
Test bench consists of a test device and equipment used for measuring conducted emission. The equipment under test (EUT) is 8-bit microcontroller PIC18LF4550 produced by Microchip. During the test the processor is working using 8 MHz internal oscillator and the operating voltage 5 V. According to microcontroller specification, 100 nF capacitor was added to the power supply lines. On the test board only power pins Vdd and Vss were exposed to simplify the test model. In order to measure conducted emission, it was needed to insert Line Impedance Stabilization Network (LISN) between power supply network and test device. The main task of LISN is to lead out RFI signals from tested device to measuring input of EMI receiver (Fig. 1). During the research the measuring receiver ESCI and Line Impedance Stabilization Network ENV216 produced by Rohde & Schwarz were used. Furthermore, the LISN performed additional tasks on the measuring channel. The most important tasks are as follows: – Filtering the power network disturbances and not allowing them to propagate on high frequency output of LISN, that is to EMI input receiver, – Filtering the emission disturbances generated by test devices and not allowing them to propagate to power network and pass them to high frequency output of LISN, – Ensuring the impedance compatibility of measuring receiver and supply power circuit.
(87 3,&/)
3RZHUVXSSO\ 9'&
3RZHUVXSSO\
/3ILOWHU 5),
5),
5)
+3ILOWHU
$77G% /,61
5),
(0,WHVWUHFHLYHU
Fig. 1. The schema of research position
106
M. Maćkowski and K. Skoroniak Table 2. Microcontroller test programs Program 1 Program 2 Program 3 Program 4 Program 5 main goto main
main NOP goto main
main main main ANDLW 0Fh SUBLW 20 MOVLW 85h goto main goto main goto main
As it was mentioned before, all of research was conducted in accordance with PN-EN 55022 standard. In this regulation, information referring to location of tested device in relation to reference ground plane (in this case it was a metal wall) and line impedance stabilizing network were included. It also contained information on the way of wire arrangement on the measuring table. On top of that, the standard describes the procedures concerning measuring of disturbing signals, emitted by devices and maximal acceptable level of these signals. The aim of this standard is to unify the requirements referring to disturbances levels, generated by devices within the scope of the standard. According to requirement the research was conducted for all measuring range from 150 kHz to 30 MHz. The purpose of measurement was not to test whether the measured value of conducted emission exceeds acceptable levels determined by the standard. It allowed to simplify the measuring process and to reduce the measuring time. In order to measure the conducted emission depending on software realized by microprocessor, the detector of average value can be used. Such measurement will allow to determine the shape of conducted disturbances spectrum, emitted by device. During the research the measurement of microcontroller conducted emission were carried out on its supply lines with utilization of five simple programs (Table 2). In practice, all software included in the program memory of processor, works in infinite loop, thus the test programs were constructed in the similar way. Program 1 is the reference point and consists of only one jump instruction – a loop. The remaining four programs run inside infinite loop and they realize some instruction that is different in each program. The spectrum of disturbing signal emitted by the processor in program 1 was subtracted from the spectrum of disturbing signal determined for each of programs: 2, 3, 4 and 5. In this way charts of the difference of two spectra presenting the character of single instruction realized inside goto loop were received.
4
The Test Results
Charts presented in Fig. 2, 3, 4, and 5 show the difference of two spectra. In each case it is the difference of spectrum of signal emitted by the processor during the execution of program 2, 3, 4, 5, and spectrum of signal emitted by the processor when it realizes program 1 (Table 2). Program 1 is the point of reference to the rest of programs.
Electromagnetic Emission Measurement of Microprocessor Units
107
ϭ )UHTXHQF\LQ0+]
ϭϬ
ϵϬ ϴϬ ϳϬ ϲϬ
/HYHOLQȝ9
ϱϬ ϰϬ ϯϬ ϮϬ ϭϬ Ϭ ͲϭϬ ͲϮϬ Ϭ͕ϭ
Fig. 2. The difference of spectra of signals for programs 2 and 1
ϵϬ ϴϬ ϳϬ ϲϬ
/HYHOLQȝ9
ϱϬ ϰϬ ϯϬ ϮϬ ϭϬ Ϭ ͲϭϬ ͲϮϬ Ϭ͕ϭ
ϭ )UHTXHQF\LQ0+]
Fig. 3. The difference of spectra of signals for programs 3 and 1
ϭϬ
108
M. Maćkowski and K. Skoroniak
ϵϬ ϴϬ ϳϬ ϲϬ
/HYHOLQȝ9
ϱϬ ϰϬ ϯϬ ϮϬ ϭϬ Ϭ ͲϭϬ ͲϮϬ Ϭ͕ϭ
ϭ )UHTXHQF\LQ0+]
ϭϬ
Fig. 4. The difference of spectra of signals for programs 4 and 1
ϵϬ ϴϬ ϳϬ ϲϬ
/HYHOLQȝ9
ϱϬ ϰϬ ϯϬ ϮϬ ϭϬ Ϭ ͲϭϬ ͲϮϬ Ϭ͕ϭ
ϭ )UHTXHQF\LQ0+]
Fig. 5. The difference of spectra of signals for programs 5 and 1
ϭϬ
Electromagnetic Emission Measurement of Microprocessor Units
109
The authors decided to present the difference of two spectra in each case, to eliminate all stripes from charts, which are permanent, and that appear in all of the research. These peaks appearing in spectrum, result from the frequency of the processor clock, and yet from other periodically realized operations. They have no influence on this study, thus they were eliminated from the research by the difference operation. Since the processor works with the low frequency clock 8 MHz (time of instruction cycle 500 ns), therefore the charts present the spectrum difference of conducted disturbances emitted by device only in range from 150 kHz to 10 MHz. As the observations show, above this range the spectrum differences resulting from realization of different programs were insignificant. Hence, in all presented charts in this section the spectrum was limited to 10 MHz.
5
Conclusions
The presented results indicate clearly differences appearing in spectrum of conducted signals, emitted by the processor, that depend on the program. The research results discussed in the study refer to defined processor instructions. It can indicate then, that different instructions executed by the microprocessor cause that the emission of disturbing signals have different character and form. All instruction used in presented research were conducted during one instruction cycle. Due to this fact, they were chosen for tests. All research conducted so far, intended to determine the spectrum of signal emitted by the processor, during realization of a particular single instruction. Nevertheless, this instruction was realized in the loop. Determining, on the other hand, a spectrum for signal emitted by the processor during execution of a single instruction that is not realized in the loop is the issue for further research of authors. This issue requires testing of the waveform of signals emitted by the processor in the time domain through power supply lines. Next, it is necessary to distinguish from this waveform only these parts of signal which are responsible for particular instructions, and to perform Fourier analysis for each of these parts. Based on these facts, it is possible to analyse the spectrum of signal emitted by the processor during realization of a single instruction. After the analysis, it will be probably possible to predict the instruction that is being presently executed, based on the signals emitted by the processor. It is necessary to notice that the authors of publication [3] try to predict the emission of disturbing signals emitted by the processor on the power supply lines under different program behaviour. This issue is opposite to the one discussed in this study. If the further research reveals that on the basis of signals emitted via power supply lines, there is a possibility to determine the code of a program realized by the particular processor, then the conclusions may indicate the existence of a serious danger to the programs which are save in the microcontroller memory. Moreover, in some case these programs should be protected from being copied.
110
M. Maćkowski and K. Skoroniak
References 1. Bendhia, S., Labussiere-Dorgan, C., Sicard, E., Tao, J.: Modeling the electromagnetic emission of a microcontroller using a single model. IEEE transactions on Electromagnetic compatibility (2008) 2. Charoy, A.: Kompatybilność elektromagnetyczna: Zakłócenia w urządzeniach elektronicznych. WNT, Warszawa (1999-2000) 3. Chen, C.K., Liao, S.S., Sicard, E., Yang, C.F., Yuan, S.Y.: EMI prediction under different program behavior. In: IEEE EMC Symposium, Honolulu, USA (2007) 4. Hasse, L.: Zakłócenia w aparaturze elektronicznej. Radioelektronik, Warszawa (1995) 5. Machczyński, W.: Wprowadzenie do kompatybilności elektromagnetycznej. Wydawnictwo Politechniki Poznańskiej, Poznań (2004)
Software Influence Upon AX.25 Protocol Performance Bartłomiej Zieliński Silesian University of Technology, Institute of Computer Science, ul. Akademicka 16, 44-100 Gliwice, Poland
[email protected] Abstract. The paper presents results of effective throughput measurements in an experimental amateur Packet Radio network. We tested how software type and version used in transmission hardware, such as TNC controller, influences on network performance. We selected few software types and versions and tested them on two common hardware platforms based on Z80 microprocessor. In this way it was possible to find out if unsatisfactory efficiency of some TNC controllers network results from lack of their processing power or limitations caused by transmission software.
1
Introduction and Related Work
AX.25 protocol [1] belongs to the HDLC protocol family and is used as a data link layer in the amateur Packet Radio network that can be considered as an example of a simple wireless wide area network. Transmission hardware designed for Packet Radio, namely TNC (Terminal Node Controller), may also be used as examples of protocol converters that allow for integration of wired and wireless network segments [2]. It can be used, among others, in some telemetry or remote control networks, including those operating according to APRS (Automatic Position Reporting System) [3] protocol requirements. Packet Radio network, as a solution of radio amateurs, has never been popular, which is acknowledged by small number of literature covering this subject. In particular, there is lack of in-depth analysis of factors that may influence on effective network parameters, such as throughput or transmission delays. In previous works, we presented an analytical efficiency estimation of AX.25 protocol [4]. This analysis allows estimate how certain protocol parameters influence on its efficiency and – as a result – effective transmission speed observed by a user. We also developed an analytical model of TNC controller [5]. It allows estimate how presence of TNC controller influences on time parameters of the network (e.g., effective throughput or transmission delays). The model can also be helpful in buffer size selection. The aforementioned works concentrate on theoretical analysis. They are useful when it is necessary to estimate, for example, maximum achievable throughput for a given parameter set; however, they do not take into account properties of transmission hardware and software. In fact, transmission hardware, such as A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 111–118, 2009. c Springer-Verlag Berlin Heidelberg 2009
112
B. Zieliński
TNC controllers [6], may be built using various types of microprocessors, running at various clock frequencies. They may also be equipped with a data memory of various capacity, thus buffer sizes may differ between individual TNC’s. On the other hand, there are several software types and versions. During experimental tests in a Packet Radio network, we found out that despite relatively low transmission rates (few to few tens kbps), processing power of a microprocessor running in TNC controller has visible influence upon effective throughput. We also found out that there were some differences in protocol implementation details which were also significant from this point of view. Thus, we decided to check how effective throughput depends on a TNC software. There are several software types and versions available for Z80-based TNC’s so it was possible to check and compare their behaviour on a common hardware platform.
2
Experimental Tests and Results
The experimental test were conducted using four types of Zilog Z80-based TNC controllers running at various clock frequencies fclk . They also differ in terms of maximum transmission rates on wired and wireless links (Rw and Rwl , respectively). The availability of particular wireless link transmission rates is further limited by capabilities of built-in modems. Selected construction parameters of the TNC controllers are collected in Table 1. Table 1. Construction parameters of TNC controllers used in tests Controller
Producer
Microprocessor fclk [MHz] Rw [kbps] Rwl [kbps]
TNC2 TNC2D Spirit-2 Standard Spirit-2 High Speed TNC3S TNC7multi
(prototype) Muel Paccomm Paccomm Symek Nt-G
Z80 Z80 Z80 Z80 68302 LPC2106
2.4576 4.9152 9.8304 19.6608 14.7456 58.9824
1.2–9.6 1.2–19.2 4.8–57.6 4.8–57.6 1.2–115.2 1.2–921.6
0.3–1.2 0.3–1.2 4.8–57.6 4.8–57.6 1.2–614.4 1.2–102.2
The controllers ran under the control of several types of software, namely: – MFJ (initials of the author, Martin F. Jue) software (1.1.4, 1.1.9 and Muel versions), as delivered with TNC2, TNC2D and similar TNC2H controllers; – TF (The Firmware) software (2.1d, 2.3b and 2.7b versions, all in 10 connections variant), as delivered with TNC2D and similar TNC2H controllers; – Spirit-2 TNC software (5.0 version), as delivered with Spirit-2 controllers. As all the aforementioned controllers are compatible with each other, the software can be easily interchanged by EPROM memory replacement. The controllers were connected with a serial port to PC-class computers, as shown on Fig. 1. The connection between TNC’s was also wired in order to avoid any radio interference that might influence on transmission process. Such
Software Influence Upon AX.25 Protocol Performance
113
IBM PC-class computers
TNC controllers Receiving station
Transmitting station Fig. 1. Experimental network configuration
a connection does not violate time parameters of the network, because radio transceiver is always fully controlled by TNC. The tested controllers acted as transmitters or receivers. In both cases, tested controller was connected in pair with either TNC3 or TNC7 controller. They are built using 16- or 32-bit microprocessors, belonging to the Motorola 68000 and LPC2000 (ARM7) families, respectively. During experimental tests, it was found out that these controllers achieve throughput close to the theoretical results [7], thus they should not be a bottleneck when connected with any Z80-based TNC. During the tests, an 8 KB file was transmitted. The size was chosen as a compromise between transmission time and measurement accuracy. AX.25 protocol was configured for maximum theoretical throughput (window size k = 7, data field capacity N1 = 256 bytes). Transmission time was measured from transmission start at the sender side to transmission end at the recipient. Although it takes into account transmission between computer and TNC, the influence of these times is negligible when total transmission time is sufficiently long [5]. Because of transmission rate ranges of TNC built-in modems (see Table 1), tests had to be performed separately using different controllers. 2.1
Results for “Slower” Configuration
In the “slower” configuration, TNC2 and TNC2D controllers were used with Rwl = 1.2 kbps and Rw = 9.6 kbps. Measurements results for TNC’s acting as a sender or recipient are presented on Fig. 2 and Fig. 3, respectively. For comparison, the graphs contain also curves representing theoretical throughput of AX.25 protocol with immediate acknowledge generation (AX.25) or with T2 delay (AX.25 T2), calculated according to [4]. In the case of tested TNC acting as a sender, we can see clearly that the effective throughput depends on the software used. All tested versions of MFJ and Spirit-2 software are very close to each other (to increase clarity, only Spirit curve is on the graph). Effective transmission speed grows rapidly when window size (k) increases from 1 to 4. However, further increasing of k does not bring significant improvement of transmission speed. Probably there are some limitations in the software, e.g., buffer capacity, that does not allow to transmit, in average,
B. Zieliński
Effective throughput [bps ]
114
1200 1100 1000 900 800 700 600 500 400 300 200 100 0
TF 2.1 4.9 TF 2.3 4.9 TF 2.7 4.9 TF 2.1 2.5 TF 2.3 2.5 TF 2.7 2.5 Spirit 2.5 Spirit 4.9 AX.25 T2 AX.25
1
2
3
4
5
6
7
Window size (k )
Effective throughput [bps ]
Fig. 2. Effective throughput for TNC2 (2.5 MHz) and TNC2D (4.9 MHz) as a sender
1200 1100 1000 900 800 700 600 500 400 300 200 100 0
TF 2.1 4.9 TF 2.3 4.9 TF 2.7 4.9 TF 2.1 2.5 TF 2.3 2.5 TF 2.7 2.5 Spirit 2.5 Spirit 4.9
1
2
3
4
5
6
7
Window size (k ) Fig. 3. Effective throughput for TNC2 (2.5 MHz) and TNC2D (4.9 MHz) as a recipient
more than 4 maximum-length frames. Maximum achievable effective transmission speed varies from about 750 to 800 bps for slower TNC and from 800 to 900 bps for the faster one. Both results are visibly below theoretical throughput
Software Influence Upon AX.25 Protocol Performance
115
of AX.25 protocol of about 1000 bps. TF software behaves completely different. Version 2.1 seems the most ineffective in the role of the sender and the achievable transmission speed is independent of window size. Similar is version 2.3, however, only when run on the slower TNC2; on the faster one, it behaves similarly to version 2.7. Thus, one might conclude that it requires more processing power than TNC2 can offer. Version 2.7 is the best one regardless of TNC speed. However, when run on the faster TNC2D, when k = 7, it achieves the same results as MFJ software. When the tested TNC acts as a recipient, the difference between the fastest and the slowest software is much smaller. It can be found out, however, that the fastest reception proceeds under control of Spirit software, especially when run on a faster TNC2D. The slowest reception is for TF 2.7, regardless of microprocessor clock. It is also worth notice that these results are much closer to the theoretical throughput and vary from 900 to 1000 bps regardless of TNC clock frequency. Possible reason of this behavior is such that much faster TNC3 or TNC7 acts as a sender. It allows conclude that the sender processing power is much more important from the point of view of protocol efficiency than that of the recipient. Nevertheless, recipient software has still come influence on effective throughput. 2.2
Results for “Faster” Configuration
In the “faster” configuration, Spirit-2 in Standard and High Speed versions were used with Rwl = 9.6 kbps and Rw = 57.6 kbps. Measurements results for TNC’s acting as a sender or recipient are presented on Fig. 4 and 5, respectively. The
9000
TF 2.1 20 TF 2.3 20
Effective throughput [bps ]
8000
TF 2.7 20 TF 2.1 10 TF 2.3 10 TF 2.7 10 Spirit 10 Spirit 20 AX.25 T2 AX.25
7000 6000 5000 4000 3000 2000 1000 0 1
2
3
4
5
6
7
Window size (k ) Fig. 4. Effective throughput for Spirit Standard (10 MHz) and High Speed (20 MHz) as a sender
116
B. Zieliński
Effective throughput [bps ]
9000
TF 2.1 20 TF 2.3 20 TF 2.7 20
8000 7000
TF 2.1 10 TF 2.3 10 TF 2.7 10
6000 5000 4000
Spirit 10 Spirit 20 AX.25 T2 AX.25
3000 2000 1000 0 1
2
3
4
5
6
7
Window size (k ) Fig. 5. Effective throughput for Spirit Standard (10 MHz) and High Speed (20 MHz) as a recipient
graphs contain also curves representing theoretical throughput of AX.25 protocol with immediate acknowledge generation (AX.25) or with T2 delay (AX.25 T2). If the tested TNC acts as a sender, the results are somewhat similar to those obtained in the slower configuration. Again, the slowest sender is TF 2.1, regardless of microprocessor clock frequency. a little bit better is TF 2.3. Both versions work faster at the faster microprocessor. However, they are both slower than Spirit and MFJ software in any version. These programs achieve similar efficiency regardless of clock frequency. This may lead to the conclusion that the transmission procedures are well optimised, however, some limitations exist in the software that does not allow reach even higher efficiency. It is especially visible for k ≥ 4, where – similarly to the slower configuration – increasing windows size does not bring visible improvement in effective throughput. TF 2.7 achieves speeds similar to MFJ and Spirit. Nevertheless, when microprocessor works with faster clock (20 MHz), it outperforms all other software types, although not significantly. Maximum effective throughput measured in this test is about 4000 bps, while theoretically it could be as high as about 6000 bps. Thus, one can conclude that Z80-based TNC controllers are too slow to obtain performance that is high enough to use 9600 bps radio link efficiently, or the software – especially TF 2.7 – has not been sufficiently optimised. If the tested TNC acts as a recipient, the results are also similar to the respective ones obtained in the slower configuration. The difference between the slowest and the fastest recipient are not very big – effective throughput ranges from about 4100 bps to about 5200 bps. Both results are visibly below theoretical estimation, which differs from the slower configuration where some measurement
Software Influence Upon AX.25 Protocol Performance
117
results were comparable to the calculated limit. The fastest recipients are TF 2.1 and Spirit, both at 20 MHz clock frequency. What seems surprising, TF 2.7 performs better for slower clock than for the faster one. 2.3
Real Window Size
In order to find out a more detailed reason of difference in effective throughput achieved for various software types and versions, we collected transmission log in a monitoring mode. Browsing this log allows analyse real frame exchange process. From the data gathered this way, we can obtain real window size distribution. Results for both slower and faster configurations are presented together on Fig. 6.
100% 80% 60% 5
4
40% 3
2
window size (k)
20% 1 Spirit 4.9 Spirit 2.5 M126 4.9 M119 4.9 M114 4.9 M126 2.5 M119 2.5 M114 2.5 TF27 4.9 TF27 2.5 TF23 4.9 TF23 2.5 TF21 4.9
6
Spirit 20 Spirit 10 M126 20 M119 20 M114 20 M126 10 M119 10 M114 10 TF27 20 TF27 10 TF23 20 TF23 10 TF21 20
7
0%
Software version and clock [MHz] Fig. 6. Real window size for all tested TNC’s and software versions
On the presented histograms, it can be easily seen that TF software behaves completely different than MFJ and Spirit ones. For slower configuration and MFJ or Spirit software, real window size oscillates around a value of 4. During transmission, depending on version, there is either always window size of 4, or 3 and 5 interleaving. For faster configuration, dominance of k = 4 is not that obvious. Indeed, smaller window sizes occur during transmission. TF software behaviour, in turn, depends more on clock frequency. If it is too low – say, 2.5 MHz – TF 2.1 and 2.3 use window size of 1 or 2. The situation gets better for TF 2.3 when clock is at least 4.9 MHz. However, TF 2.7 is even more effective and can use window size of 7. Unfortunately, it does not result in improvement of effective throughput, probably because it needs more time to process required amount of information. Surprisingly, when TF 2.1 or 2.3 operate on 10 or 20 MHz Z80, they use larger window size despite higher transmission rates. TF 2.7, running at 20 MHz, can still use window size of 7.
118
3
B. Zieliński
Conclusions
Presented results show that AX.25 protocol performance clearly depends on software type and version, as well as on transmission hardware processing power. However, software reaction for changing the hardware processing power differs. This leads to the conclusion that some TNC control programs (e.g., Spirit and all versions of MFJ) have some limitations that do not allow use maximum window size. On the other hand, TF software – especially in 2.7 version – can use maximum window size, but needs more processing power to process required amount of information. Thus, sometimes it shows worse performance than Spirit or MFJ software. There are some protocol implementation issues that influences on its performance. Some software types mark the last frame in a window by P/F bit, some do not1 . When a window size is less than 7, P/F bit requires immediate acknowledge; otherwise, the recipient waits for T2 time in case there are more frames to be acknowledged together. Depending on software, T2 time can be set manually or automatically according to Rwl . The worst case occurs when the sender does not use P/F bit for last frame mark and the recipient waits for automatically set T2 . In this case, much time is lost during unnecessary waiting for more frames, thus reducing effective throughput regardless of other factors.
References 1. Beech, W.A., Nielsen, D.E., Taylor, J.: AX.25 Link Access Protocol for Amateur Packet Radio. Tucson Amateur Packet Radio Corporation, Tucson (1997) 2. Zieliński, B.: Wireless computer networks using protocol conversion. PhD thesis, Silesian University of Technology, Gliwice, Poland (1998) (in Polish) 3. Wade, I. (ed.): Automatic Position Reporting System. APRS Protocol Reference. Protocol Version 1.0. Tucson Amateur Packet Radio Corporation, Tucson (2000) 4. Zieliński, B.: Efficiency estimation of AX.25 protocol. Theoretical and Applied Informatics 20(3), 199–214 (2008) 5. Zieliński, B.: An analytical model of TNC controller. Theoretical and Applied Informatics 20(4) (2008) (in press) 6. Dąbrowski, K.: Digital Amateur Communications. PWN, Warsaw (1994) (in Polish) 7. Zieliński, B.: A comparison of various types of TNC controllers. In: Slanina, Z., Srovnal, V. (eds.) Preprints of IFAC Workshop on Programmable Devices and Embedded Systems PDeS 2009, Rožnov pod Radhoštěm, pp. 80–85 (2009)
1
It is neither required nor forbidden by the AX.25 protocol specification.
Buffer Capacity Adjustment for TNC Controller Bartłomiej Zieliński Silesian University of Technology, Institute of Computer Science, ul. Akademicka 16, 44-100 Gliwice, Poland
[email protected] Abstract. The paper presents an analytical method of buffer capacity adjustment for TNC controller that may be regarded as a network interface for amateur Packet Radio network. We consider the case of minimum buffer capacity that allows for continuous transmission at the sender side, regardless of transmission rates and effective throughput on wired and wireless link of TNC.
1
Introduction
Amateur Packet Radio network [1] may be considered as an example of a simple, wireless wide area network [2]. It was developed in early 1980’s, when other connectivity media, such as Internet or cellular telephony, were not widely available yet. Later, despite its interesting properties, Packet Radio – as a deed of radio amateurs – did not achieve high popularity, which can be acknowledged by small quantity of widely available literature on this subject. Nevertheless, radio amateurs could use it for human-to-human communications similarly to current internet instant messengers. Nowadays, because of high popularity and availability of Internet and cellular telephony, application of Packet Radio changes for telemetry and remote control, mostly according to the requirements of APRS (Automatic Position Reporting System) protocol [3]. A complete Packet Radio station consists of a computer (or other DTE-type device) and radio transceiver. Because of different methods of information transmission, these devices can not cooperate with each other directly. It is thus necessary to apply specific data format processing techniques. Such a processing may be performed entirely in the computer (at a cost of higher processing power consumption) or by attachment of additional, external circuits dedicated for this application. An example of such a circuit is a TNC (Terminal Node Controller) [1].
2
TNC Controllers and AX.25 Protocol
TNC (Terminal Node Controller) [1] is an autonomous, microprocessor-based device used in amateur Packet Radio network. Its main purpose is a connection between a personal computer (or another DTE-type device, such as programmable controller or weather station) and radio receiver-transmitter operating in Packet Radio network. A typical Packet Radio network station with TNC controller is shown on Fig. 1. A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 119–126, 2009. c Springer-Verlag Berlin Heidelberg 2009
120
B. Zieliński
Analogue signals
RS-232 or USB
TNC controller Radio transceiver Computer or other DTE device Fig. 1. Typical Packet Radio station with TNC controller
2.1
TNC Controller Structure
TNC controller consists of a digital part, that ensures data format processing according to Packet Radio network requirements and rules of AX.25 protocol, as well as analogue part, that plays a function of a modem and makes it possible to control radio transceiver directly from TNC. The block diagram of TNC hardware is presented on Fig. 2. A more detailed description of properties of individual types of TNC controllers may be found in [4].
Microprocessor
System bus RS-232 Asynchr.
serial port
Program memory
Data memory
Digital part
Modem Radio unit control HDLC AX.25 controller Analogue part
Fig. 2. Block diagram of TNC controller hardware
2.2
TNC Controller Functions
The fundamental task of TNC controller is to process format of data incoming from attached computer so that it could meet requirements of the AX.25 protocol, used as a data link layer in Packet Radio network. With this end in view, the controller buffers data, and then places them in adequately formed frames. During sending on radio link, a modulation is used according to the selected transmission rate. It allows for direct connection to radio transceiver and
Buffer Capacity Adjustment for TNC Controller
121
control over its work from TNC. We can therefore say that TNC controller is responsible for proper realisation of AX.25 protocol; however, it does not have radio communication capabilities itself. Thanks to such approach, TNC controllers may be used with any radio transceiver, not only in radio amateur frequency bands. Functions described above are controlled by a software. It is responsible for proper realisation of network mechanisms, and furthermore, it contains a user interface that allows for, among others, configuration of some controller and radio link parameters, as well as management of logical links with other network stations. Depending on controller type, various methods of computer (user) to controller communication are available. They may be optimised for controller’s cooperation with a human (TAPR and TF command sets) or a device (HOST and KISS modes). Availability of individual operating modes depends on controller type. 2.3
Parameters of AX.25 Protocol
AX.25 protocol and TNC controller behaviour may be adjusted by large number of parameters (depending on TNC software). From the point of view of protocol efficiency, the most important are the following parameters: k – windows size, i.e., maximum number of frames sent consecutively before waiting for an acknowledge; not larger than 127 in protocol version 2.2 and 7 in older versions; N1 – maximum capacity of data field in an information or unnumbered frame; not larger than 256; T2 – time that elapses between the end of latest I frame and acknowledge; depending on software and parameters, this delay may or may not occur during transmission and may be set manually or automatically; T102 – slot duration for carrier sense-based collision avoidance; typically about 50 to 300 ms; T103 – time for stabilisation of transmitter parameters after transmission start and for carrier detection in receiver; depends on radio transceiver capabilities and, in most cases, varies from few tens to few hundreds milliseconds; p – persistence parameter of carrier sense-based collision avoidance (not defined by protocol description but implemented in most of the software); typically equal to 63 which means transmission probability of 25%.
3
Buffer Capacity Adjustment
Let’s assume that we have two computers (or other DTE devices, e.g., PLC controllers) connected with two TNC controllers. Such configuration is shown on Fig. 3. In such a network – because of buffering of transmitted information in TNC memory and data processing – the transmission runs in three stages:
122
B. Zieliński
IBM PC-class computers
TNC controllers Receiving station
Transmitting station
Fig. 3. Network configuration accepted for considerations
1. wired transmission between the sender and transmitting TNC; 2. wireless transmission between TNC’s; 3. wired transmission between the receiving TNC and the recipient. These stages are shown on Fig. 4.
“Speeding up”
Full speed transmission
“Slowing down”
Wired transmission from computer to transmitter Wireless transmission from transmitter to receiver Wired transmission from receiver to computer TCT
TTR
TRC
Tct
Ttr
Trc
t
Fig. 4. Transmission stages using TNC controllers
In most cases, the effective throughput of the wireless link is much lower than that of the wired link. Thus, data arriving to the TNC during first transmission stage must be placed in a buffer before it can be processed, prepared for wireless transmission and finally sent. However, when the buffer capacity is reached, the first transmission stage should stop in order to avoid data loss due to buffer overflow. This can be done by either hardware or software flow control on RS232 link, depending on availability of particular signals in a connector. On the other hand, certain applications may require continuous transmission at the sender side. In order to make it possible, we must provide buffer that is large enough to store the information awaiting to be sent. Obviously, its capacity depends on the effective throughput of the wired and wireless link. We predict that with increasing of the effective throughput of the wireless link, or with decreasing that of the wired link, required buffer capacity decreases.
Buffer Capacity Adjustment for TNC Controller
3.1
123
Estimation of Effective Throughput
Calculation of the effective transmission speed of a wired link is straightforward. Assuming that RS-232 works at Rw bps and is configured so that each character is represented using 10 bits, we get: Vw =
8Rw . 10
(1)
The wireless link may be a half-duplex or a full-duplex one. According to the previously developed theoretical model of AX.25 protocol [5], for the half-duplex case, LD -bytes long file transmission takes LD 63 160 LD 63 8N1 256T102 + 2T103 + T2 + (1 + k) , (2) Tp = + kN1 2(p + 1) 62 Rwl N1 62 Rwl where Rwl – wireless link transmission rate [bps]. Similar time for the full-duplex link equals to LD 63 160 63 160 + 8N1 + . (3) Tp = T103 + N1 62 Rwl 62 Rwl In both cases, we can calculate effective transmission speed for wireless link by dividing data size in bits by Tp : Vwl = 3.2
8LD . Tp
(4)
Estimation of Buffer Capacity
Minimum buffer capacity that ensures continuous transmission at the sender side depends on total size of transmitted data as well as on difference between effective transmission speeds of wired and wireless links. We may assume that effective transmission speed of wired link on the sender side corresponds to average speed of buffer filling. In turn, effective speed of radio link corresponds to average speed of buffer emptying. Multiplying the difference between them by the time of data transmission on wired link we may calculate approximate buffer size that guarantees continuous transmission on wired link [6]: 8LD 10LD 8Rw 10LD − = LD 1 − . (5) C = (Vw − Vwl )(Tct − TCT ) = 10 Tp 8Rw Rw Tp It is also possible to ensure continuous transmission on the receiver side, however, it requires that entire data size (LD ) is known by receiving TNC controller. In this case, additional delay of transmission start at the receiver side (TRC as shown on Fig. 4) is necessary. We must also take into account that the data transmission runs from the wireless link to the wired one. Thus, average speed of buffer filling
124
B. Zieliński
corresponds to the effective speed of the wireless link, while average speed of buffer emptying – to that of wired link. In practice, continuous transmission on the recipient side requires that entire data is already received by the receiving TNC controller. Otherwise, due to possible transmission errors, data might not be delivered in time to ensure continuous transmission on recipient’s wired link. 3.3
Calculation Results
According to (5), we can calculate the dependency between minimum buffer size that assures continuous transmission at the sender side and transmission rates for both wired and wireless links. As the effective throughput of AX.25 protocol differs on radio link variant (half- or full-duplex), the estimated buffer size is expected to depend on link variant, too. Substituting (2) or (3) for Tp in (5), we can get results for half-duplex or full-duplex radio link, respectively. Parameters accepted for calculations are: LD = 16384 bytes, k = 7, N1 = 256 bytes. Calculation results are presented on Fig. 5 and 6, respectively. In the case of half-duplex link, we can see that the buffer capacity grows rapidly and reaches almost LD regardless of wireless link transmission rate. For example, when Rwl = 1.2 kbps and Rw = 2.4 kbps, required buffer capacity reaches almost 8 KB. It means that a half of transmitted information must wait to be sent. When Rw = 4.8 kbps, capacity must be at least 12 KB, when Rw = 9.6 kbps – 14 KB. For the highest wireless link transmission rate considered, i.e., Rwl = 614.4 kbps, required buffer capacity is about 8 KB when Rw = 38.4 kbps. It can be easily understood, because effective throughput for
18000
1.2 2.4 4.8
minimum buffer capacity [B]
16000 14000
9.6 19.2
12000 10000
38.4 57.6 76.8 115.2 153.6 307.2
8000 6000 4000 2000
614.4
0 2.4
4.8
9.6
19.2
38.4
57.6
76.8 115.2 230.4 460.8 921.6
wired link transmission rate [kbps]
Fig. 5. Minimum buffer size for half-duplex radio link
Buffer Capacity Adjustment for TNC Controller 18000
1.2 2.4
16000 minimum buffer capacity [B]
125
14000
4.8 9.6
12000
19.2
10000
38.4
8000
57.6 76.8
6000
115.2
4000
153.6 307.2
2000
614.4
0 2.4
4.8
9.6
19.2
38.4
57.6
76.8 115.2 230.4 460.8 921.6
wired link transmission rate [kbps]
Fig. 6. Minimum buffer size for full-duplex radio link
this Rwl is only about 28 kbps [5]. In general, the higher the wireless link transmission rate (Rwl ) is, or the lower the wired link transmission rate (Rw ) is, the later the rapid grow begins. This phenomenon reflects the difference between the effective throughput of wired and wireless links. Thus, the wired link effective speed – which depends on transmission rate only – may exceed wireless link effective speed easily. In the case of full-duplex link, the required buffer capacity grows almost as fast as for half-duplex one. However, the grow begins at higher transmission rates of wired link. For example, buffer capacity for Rwl = 1.2 kbps is almost as large as for the half-duplex link, practically regardless of wired link transmission rate. On the other hand, when Rwl = 614.4 kbps, the buffer is not required for Rw up to 230.4 kbps. For higher rates, the minimum buffer capacity grows and for Rw = 921.6 kbps it reaches about 11 KB. For Rw = 460.8 kbps, it is about 5.5 KB, which is a bit surprising, because effective throughput of wireless link for this parameter set is about 560 kbps that is more than that of wired link; in this case, no buffering should be necessary.
4
Conclusions
Presented results, achieved according to derived analytical equations, show that there is a dependency between transmission rates of both wired and wireless link and minimum buffer size that allows for continuous transmission at the sender side. As expected, buffer size increases when either wired link transmission rate grows or the effective speed of wireless link falls. It is worth emphasize that the wireless link properties depend on several transmission parameters,
126
B. Zieliński
hence effective throughput must be considered instead of transmission rate. This phenomenon is especially visible for half-duplex link. Unfortunately, presented theoretical estimations cannot be easily verified. During practical tests with TNC controllers [4] it was shown, that even for a relatively small file (few KB size) transmission on RS-232 link was stopped by TNC in order to prevent buffer overflow, even if a controller was equipped with much more memory (e.g., more than 100 KB). This leads to the conclusion that only a part of RAM installed in TNC is used to buffer the data awaiting to be sent. A more detailed analysis requires an access to the source code of TNC control software. However, even without the source code, one can see that TNC controllers utilize their memory in a different way than proposed in the paper. Thus, possible modification of the software allows verify presented results in practise. It is worth notice, however, that TNC controller is a good model of a protocol converter that allows integrate wired and wireless network segments [7]. From this point of view, presented considerations may be useful as an example during design of such a converter for given network protocols.
References 1. Dąbrowski, K.: Digital Amateur Communications. PWN, Warsaw (1994) (in Polish) 2. Karn, P.R., Price, H.E., Diersing, R.J.: Packet radio in the amateur service 3(3), 431–439 (1985) 3. Wade, I. (ed.): Automatic Position Reporting System. APRS Protocol Reference. Protocol Version 1.0. Tucson Amateur Packet Radio Corporation, Tucson (2000) 4. Zieliński, B.: A comparison of various types of TNC controllers. In: Slanina, Z., Srovnal, V. (eds.) Preprints of IFAC Workshop on Programmable Devices and Embedded Systems PDeS 2009, Rožnov pod Radhoštěm, pp. 80–85 (2009) 5. Zieliński, B.: Efficiency estimation of AX.25 protocol. Theoretical and Applied Informatics 20(3), 199–214 (2008) 6. Zieliński, B.: An analytical model of TNC controller. Theoretical and Applied Informatics 20(4) (in press) (2008) 7. Zieliński, B.: Wireless computer networks using protocol conversion. PhD thesis, Silesian University of Technology, Gliwice, Poland (1998) (in Polish)
The Reliability of Any-Hop Star Networks with Respect to Failures of Communication Nodes Jadwiga Kozłowska Gdańsk University of Technology, Faculty of Electronics, Telecommunications and Informatics
Abstract. This paper investigated the reliability of any-hop star networks. The any-hop star topology is used in centralized computer networks. All network nodes fail independently, links are failure-free. Following measures of network reliability are assumed: the expected number of nodes which can communicate with the central node; the expected number of node pairs which are connected by a path through the central node; the expected number of node pairs communicating. Any two nodes can communicate, if links and nodes forming routes between these nodes have not failed. The values of reliability measures were counted for one-, two-, three-, and four-hop star, as well as chain networks. Obtained results compared with reliability of the networks with unreliable links.
1
Introduction
The reliability of network depends strongly on their topology and on the reliability of the communication links and nodes. The following measures of the reliability are assumed: the expected number of nodes which can communicate with the central node; the expected number of node pairs which are connected by a path through the central node; the expected number of node pairs communicating. Any two nodes can communicate, if links and nodes forming routes as between these nodes have not failed. There are many well-known methods [1], [6] of the reliability analysis. Almost all these methods used a set of branch or node-disjoint routes, or cuts. For any network, calculation of all disjoint routes or cut set can be difficult. In the case when topology of network is the tree or star the problem is simpler. For these networks expected number of nodes which can communicate with the central node is equal to the sum of probabilities of reliability routes connecting nodes with central node. Similarly, the expected number of node pairs which are connected by a path through the central node, and the expected number of node pairs communicating are equal to sum probabilities of reliability routes connecting node pairs. For large networks with many hops the recurrence method [2] can be used instead of determining the values of the reliability measures. The calculations of the network reliability were done as a function of the probability of node being operative. The calculations of the network reliability as a function of the probability of link being operative were done in the papers [5]. In the paper [3], [4] the numerical calculations for assumed measures of reliability were done for the star, ring and hybrid networks. A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 127–134, 2009. c Springer-Verlag Berlin Heidelberg 2009
128
2
J. Kozłowska
Reliability Analysis
The topology of the computer communication network will be modelled as a graph G = (N, E) where N = {n1 , n2 , . . . , nN } is a set of nodes, E is a set of links. Considered networks have any-hop star topologies. Example of twohop star topology is shown in Fig. 1. All of the nodes fail independently, links are failure-free. The probability that the node ni is in the non-damaged state is equal to p(i). The following measures of the reliability are considered: the expected number of nodes that can communicate with the central node(S); the expected number of node pairs that are connected by a path through the central node(R); the expected number of node pairs communicating (T ). The idea of the recurrence method is the following. Suppose, that for each node i except central node (node 1) is designed a node F (i), such that F (i) < i and (i, F (i)) is a link in the network. In Fig. 2 the network contains two subtrees, one with the central node i and the other with the central node j = F (i). The values of the measures of reliability for subtrees are known. The values of reliability measures for the tree obtained by joining i and j by link (i, j) determine recurrence relations (Eq. 1) [2], where S(i) (S(j)) is the expected number of nodes in the subtree which communicate with the central node i (j), including i (j), R(i)(R(j)) the expected number of node pairs in the subtree communicating through central node, T (i)(T (j)) the expected number of node pairs communicating in the subtree, R(j) , T (j) , S(j) are the values of the reliability measures for the tree obtained by joining node i and node j by link (i, j).
R(j) ← R(j) + S(i)S(j) + R(i)p(j) T (j) ← T (i) + T (j) + S(i)S(j) S(j) ← S(j) + S(i)p(j)
(1)
Algorithm is following [2]: Step 0: (Initialization) Set R(i) = 0, S(i) = p(i), T (i) = 0, i = 1, 2, . . . , N , set i = N . Go to step 1. Step 1: Let j = F (i), and set R(j) to R(j) + S(i)S(j) + R(i)p(j), set T (j) to T (i) + T (j) + S(i)S(j), and then set S(j) to S(j) + S(i)p(j). Go to step 2. Step 2: Set i to i − 1. If i = 1, stop; otherwise, go to step 1.
second hop first hop
1 Fig. 1. Two-hop star topology
The Reliability of Any-Hop Star Networks
129
j
i
Fig. 2. Illustration for recurrence relations
When the algorithm stops R(1) is the expected number of node pairs which are connected by a path through the central node, S(1) is the expected number of nodes which can communicate with the central node, and T (1) is the expected number of node pairs communicating. The obtained numerical results are presented in next section.
3
Numerical Results
The values of reliability measures were calculated for one, two, three, four and hundred- hop star networks. The nodes fail independently with the same probability 1 − p and the links are failure-free. The values of reliability measures were counted for the networks containing hundred and one nodes. The distribution of Table 1. Obtained values for the expected number of nodes which can communicate with the central node (S) (in percent) as a function of the probability of a node being operative p SG1(101, p) SG2(101, p) SG3(101, p) SG4(101, p) SG100(101, p) one-hop two-hop three-hop four-hop hundred-hop star network star network star network star network star network 0 0 0 0 0 0 0.1 1.089 0.287 0.159 0.137 0.11 0.2 4.158 1.307 0.585 0.416 0.248 0.3 9.208 3.594 1.648 1.045 0.424 0.4 16.238 7.683 3.919 2.448 0.66 0.5 25.248 14.109 8.168 5.353 0.99 0.6 36.238 23.406 15.365 10.877 1.485 0.7 49.208 36.109 26.678 20.613 2.31 0.8 64.158 52.752 43.476 36.718 3.96 0.9 81.089 73.871 67.327 62 8.911 1 100 100 100 100 100
130
J. Kozłowska
Table 2. Obtained values for the expected number of node pairs which are connected by a path though the central node (R) (in percent) as a function of the probability of a node being operative p RG1(101, p) RG2(101, p) RG3(101, p) RG4(101, p) RG100(101, p) one-hop two-hop three-hop four-hop hundred-hop star network star network star network star network star network 0 0 0 0 0 0 0.1 0.118 0.009 0.002 0.001 0.0002 0.2 0.863 0.104 0.024 0.01 0.001 0.3 2.825 0.501 0.137 0.057 0.004 0.4 6.59 1.649 0.545 0.242 0.009 0.5 12.748 4.31 1.74 0.861 0.02 0.6 21.885 9.649 4.753 2.674 0.045 0.7 34.591 19.319 11.531 7.47 0.108 0.8 51.453 35.549 25.464 19.085 0.317 0.9 73.06 61.23 52.088 45.162 1.603 1 100 100 100 100 100
Table 3. Obtained values for the expected number of node pairs communicating (T) (in percent) as a function of the probability of a node being operative p T G1(101, p) T G2(101, p) T G3(101, p) T G4(101, p) T G100(101, p) one-hop two-hop three-hop four-hop hundred-hop star network star network star network star network star network 0 0 0 0 0 0 0.1 0.118 0.032 0.028 0.025 0.022 0.2 0.863 0.206 0.154 0.129 0.099 0.3 2.825 0.748 0.485 0.382 0.254 0.4 6.59 2.094 1.255 0.936 0.525 0.5 12.748 4.978 2.954 2.124 0.98 0.6 21.885 10.521 6.559 4.708 1.755 0.7 34.591 20.314 13.877 10.357 3.159 0.8 51.453 36.507 28.028 22.554 6.083 0.9 73.06 61.894 54.099 48.166 14.596 1 100 100 100 100 100
the nodes is following. The two-hop star network contains ten nodes in the first hop, and each node of the first hop is connected with nine nodes of second hop. The three-hop star network contains four nodes in the first hop, each node of the first hop is connected with three nodes of the second hop, and each node of the second hop is connected with seven nodes of the third hop. The four-hop network contains three nodes in the first hop, each node of the first hop is connected with two nodes of the second hop, and each node of the second hop is connected with three nodes of the third hop, and each node of third hop is connected with four nodes of fourth-hop. The each node of hundred-hop star is connected with one
The Reliability of Any-Hop Star Networks (a)
(b) 100
100 90
90
80
SG1( 101, p)
70
SG2( 101 , p)
60
SG3( 101 , p)
50
SG4( 101 , p)
40
SG2( 101, p) S
S
SG1( 101 , p)
80 70 60
SG3( 101, p)
50
SG4( 101, p)
40
SG100( 101 , p) 30
SG100( 101, p) 30
20
20
10 0
131
10 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
Fig. 3. The expected number of nodes which can communicate with the central node: (a) as a function of the probability of a node being operative; (b) as a function of the probability of a link being operative (a)
(b)
100
100
90
90
80
RG1(101, p)
70
RG2( 101 , p)
60
RG3( 101 , p)
50
RG4( 101 , p)
40
RG2(101, p) R
R
RG1( 101 , p)
80 70 60
RG3(101, p)
50
RG4(101, p)
40
RG100(101 , p) 30
RG100(101, p) 30
20
20
10
10
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
Fig. 4. The expected number of node pairs which are connected by a path through the central node: (a) as a function of the probability of a node being operative; (b) as a function of the probability of a link being operative
node next hop. The calculations were done as a function of the probability of a node being operative. The obtained results are shown in Table 1, 2, 3. Figures 3, 4, 5 show differences between the reliability network with unreliable nodes and network with unreliable links [6]. Figures shown that the differences between networks’ reliability decrease when the number of hops of the star network grows. The largest differences are for the probabilities of link and node failure equal to 0.3, 0.2, and 0.1. The differences for assumed measures are similar. For example, in the case when links are unreliable and nodes are reliable for criterion S the largest difference between one-hop and two-hop star network is for p = 0.5 and equals 22%. The largest difference between two-hop and three-hop star network is for p = 0.7 and equals 13%. In the case unreliable nodes, the largest difference between one-hop and twohop star network is for p = 0.7 and equals 13%, the largest difference between two-hop and three-hop star network equals 9%. For criterion R(T ) the largest
132
J. Kozłowska (a)
(b) 100
100
90
90
T
TG2 ( 10 1, p)
80
TG1 ( 101, p)
70
TG2 ( 101, p)
60
TG3 ( 10 1, p)
50
TG4 ( 10 1, p)
40
T
TG1 ( 10 1, p)
80 70 60
TG3 ( 101, p)
50
TG4 ( 101, p)
40
TG100( 101, p) 30
TG100( 101, p) 30
20
20 10
10 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
Fig. 5. The expected number of node pairs communicating: (a) as a function of the probability of a node being operative; (b) as a function of the probability of a link being operative Table 4. Obtained values for the expected number of node pairs communicating (T) (in percent) and values for the expected number of nodes which can communicate with the central node (S) (in percent) as a function of the probability of a node being operative p T G1(11, p) T G1(101, p) T G1(301, p) SG1(11, p) SG1(101, p) SG1(301, p) 0 0 0 0 0 0 0 0.1 0.264 0.118 0.106 1.818 1.089 1.03 0.2 1.382 0.863 0.821 5.455 4.158 4.053 0.3 3.845 2.825 2.742 10.909 9.208 9.07 0.4 8.145 6.59 6.464 18.182 16.238 16.08 0.5 14.773 12.748 12.583 27.273 25.248 25.083 0.6 24.218 21.885 21.696 38.182 36.238 36.08 0.7 36.973 34.591 34.398 50.909 49.208 49.07 0.8 53.527 51.453 51.285 65.455 64.158 64.053 0.9 74.373 73.06 72.954 81.818 81.089 81.03 1 100 100 100 100 100 100
difference between one-hop and two-hop star network is for p = 0.7 and equals 22% (20%). The largest difference between two-hop and three-hop star network is for p = 0.8 and equals 12% (10%). In the case when nodes are unreliable and links are reliable for criterion R(T ) the largest difference between one-hop and two-hop star network is for p = 0.8 and equals 16% (15%), the largest difference between two-hop and three-hop star network equals 10% (8%). Figures 3, 4, 5 show that the networks with unreliable links are more reliable than the networks with unreliable nodes. The differences between networks’ reliability decrease when the number of hops of the star network grows. For the measure S, the largest difference for one-hop star network equals 25%, for twohop star network equals 16%, for three-hop star network equals 12%, for hundredhop star network equals 2%. For the measure R, the largest difference for one-hop star network equals 16%, for two-hop star network equals 9%, for three-hop star
The Reliability of Any-Hop Star Networks (a)
(b)
100
100
90
90 80
80 70
TG1 ( 11 , p )
60
TG1 ( 101 , p )
50
T
T
TG1 ( 11 , p )
40
TG1 ( 301 , p )
TG1 ( 101 , p ) TG1 ( 301 , p )
70 60 50 40
30
30
20
20 10
10 0
133
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0. 9 1 p
Fig. 6. The expected number of node pairs communicating for different number of the nodes: (a) as a function of the probability of a node being operative; (b) as a function of the probability of a link being operative
(a)
(b)
100
100
90
90 80
80
SG1( 101 , p) SG1( 301 , p)
70
SG1 ( 11 , p)
60 50
S
S
SG1( 11 , p)
40
SG1 ( 301 , p )
30
70 60 50 40 30 20
20
10
10 0
SG1 ( 101 , p )
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p
Fig. 7. The expected number of nodes, which can communicate with the central node for different number of the nodes: (a) as a function of the probability of a node being operative; (b) as a function of the probability of a link being operative
network equals 7%, for hundred-hop star network equals 0.1%. For the measure T , the largest difference for one-hop star network equals 15%, for two-hop star network equals 9%, for three-hop star network equals 7%, for hundred-hop star network equals 2%. The values of the reliability measures for one-hop star network were calculated for different number of nodes. The obtained results for eleven, hundred and one, and three hundred and one nodes are shown in Table 4. Figures 6 and 7 illustrate numerical results obtained for reliability measures. Figures 6, 7 show that the differences between the networks’ reliability decrease when number of nodes grows. The networks with unreliable links are more reliable than the networks with unreliable nodes. For the measure S, the largest difference equals 27%, for the measure T , the largest difference equals 16%.
4
Conclusion
This chapter investigated the reliability of any-hop star networks, whose nodes fail independently. Several measures of reliability have been considered. The
134
J. Kozłowska
recurrence method is used in analyzing networks. The values of reliability measures were calculated for one, two, three, four and hundred- hop star networks. The numerical calculations the network reliability measures were considered as a function of the probability of a node failures. Obtained results show that the differences between networks’ reliability decrease when the number of hops of the star network grows. The largest differences are for the probabilities of link and node failure equal to 0.3, 0.2, and 0.1. Obtained results compared with reliability of the networks with unreliable links. The networks with unreliable links are more reliable than the networks with unreliable nodes. The differences between them decrease when the hop number and number of nodes of the networks grow.
References 1. Hansler, E.: Computational aspects of network reliability problems, Presented at the NATO Advanced Study Institute New Concept in Multi-User Communications. Norwick, U.K 4-6 (1980) 2. Kershenbaum, A., Van Slyke, R.M.: Recursive analysis of network reliability. Networks (3), 81–94 (1973) 3. Kozłowska, J.: Niezawodność sieci komputerowych o wielostopniowych strukturach pętlowych, gwiaździstych oraz mieszanych. In: Węgrzyn, S., et al. (eds.) Nowe technologie sieci komputerowych (in Polish), vol. 1, pp. 165–172. WKŁ, Warszawa (2006) 4. Kozłowska, J.: Niezawodność scentralizowanych sieci komputerowych o dwustopniowych strukturach gwiaździstych oraz mieszanych. In: Kwiecień, A., et al. (eds.) Sieci komputerowe. Aplikacje i zastosowania (in Polish), vol. 2, pp. 253–261. WKŁ, Warszawa (2007) 5. Kozłowska, J.: The reliability of tree and star networks. In: Kwiecień, A., et al. (eds.) Contemporary aspect of computer networks, vol. 2, pp. 147–156. WKŁ, Warszawa (2008) 6. Zabłudowski, A.: A recursive method for network reliability measures evaluation. Microelectron. Reliab. 24(3), 445–451 (1984)
A Floor Description Language as a Tool in the Process of Wireless Network Design Remigiusz Olejnik West Pomeranian University of Technology, Szczecin, Faculty of Computer Science and Information Systems, ul. Zolnierska 49, 71-210 Szczecin, Poland
[email protected] Abstract. The paper describes a Floor Description Language (FDL) which could be used as a key chain in the process of wireless network design. Traditional ways of designing wireless networks are also presented. Numerical results and comparison with commercial systems summarizes the paper and proves FDL’s usability.
1
Introduction
Currently density of modern wireless networks grows very fast. Many of the deployments are not sufficiently prepared – most of home and small office wireless networks have never been designed by a designer or network engineer – just users bought network equipment, turned it on, connected to the rest of their network and used it "as is". Such approach is very inefficient in terms of the quality indices such as overall network set-up costs, maximal network range and throuhput. This paper presents a novel Floor Description Language (FDL) which along with well known propagation model makes designing of the wireless networks much easier with ready map of the floor. The paper consists of three parts. First part describes known ways of wireless network designing and propagation models. Second part presents novel Floor Description Language used in the process of network design. Third part shows numerical results and comparison with commercial systems. Summary containing possible future works ends the paper.
2
Wireless Network Design Process
Traditional process of network design is composed of four main steps: 1. gathering necessary data on actual state of infrastructure and desired future functionality;
I would like to thank my graduate student, Grzegorz Bera, who undertook deep research of the above mentioned FDL in his master dissertation [11]. His hard work proved that it is not only my general idea, but it really works and is comparable with commercial systems.
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 135–142, 2009. c Springer-Verlag Berlin Heidelberg 2009
136
R. Olejnik
2. preparing project of future network that meets requirements set in first step; 3. modelling of projected networks; 4. physical building of the network. The process can be also extended with fifth step that covers possible measurements of the network after its deployment. There are many known approaches used when designing wireless networks. Among them are: – user deployment – users do not have any network related knowledge or experience; it is based on basic installation of the network components without any analysis or planning; it is simple and it could lead to inefficient coverage [1,2]; – grid installation – an area is divided into K triangles or rectangles, where K is number of available access points; access points are installed in the center of triangles (rectangles); there is no need to know anything on propagation models but this approach is often more expensive than first one and less efficient than next one [2]; – coverage optimization – it is more expensive and complex approach that engages propagation analysis and optimization algorithms when searching for the best access points locations; "best" is understood as providing adequate coverage with minimal infrastructure density [2,3]; – site survey – it is based on the analysis of signal strength’s measurements conveyed in the future network area. 2.1
Propagation Models
Wireless network design based on the software aids that have built-in propagation models is much cheaper and easier than ’site survey’ approach which is time consuming and relativly expensive. It could help to predict signal strength level anywhere in the future network environment [4]. Propagation models could be classified as follows [5]: – Empirical • Free Space Loss • One Slope Model • Linear Attenuation Model • COST 231 HATA – Semi-empirical • Multi Wall Model • COST WI – Optical • Ray Traycing • Ray Launching • Dominant Path Prediction – Theoretical • based on the field theory
A Floor Description Language as a Tool
137
Propagation models that have been verified [6] and found to be most prospective during current and future research on wireless network design methods are One Slope Model and Multi Wall Model. Both of them use simple Free Space Loss formula for calculating fundamental loss over the distance in free space. Free Space Loss. Free Space Loss (FSL) model is derived from the Friis Equation [7] which describes signal loss over the distance between the transmitter and the receiver: Pr λ = Gt Gr , (1) Pt 4πR where Pr is power received by the receiving antenna, Pt is power output to the transmitting antenna, Gt and Gr are the antenna gain of the transmitting and receiving antennas, λ is the wavelength and R is the distance between the transmitter and the receiver. Equation (1) transformed and simplified with the assumption that gain of the antennas Gt = Gr = 0 dBi has the form: 4π P L(R) = 20 log + 20 log R , (2) λ where P L(R) is path loss over distance R. After further transformations we get formula: LFSL (d) = 32.44 + 20 log f + 20 log d ,
(3)
where LFSL is free space loss [dB], f is the frequency [MHz] and d is the distance [km]. One Slope Model. One Slope Model (OSM) is one of the simplest models for calculating of signal strength level without considering structure of the bulding: LOSM (d) = L0 + 10n log(d) .
(4)
Signal strength level LOSM depends mainly on the distance d between the transmitter and the receiver [8]. The enviroment-dependent values L0 (signal loss on 1 meter distance) and n (emprical value representing degree of signal loss) are fixed for specified environment. Values of L0 and n are given in the literature, e.g. for the office environment at frequency f = 2.45 GHz variables L0 and n have values: L0 = 40.2 and n = 4.2 [8]. OSM is not precise model because it does not incorporate structure of the environment. Sometimes the structure is not known so the model OSM could be useful in such cases. Multi Wall Model. Multi Wall Model (MWM) uses FSL for basic calculation of the loss over the distance and more sophisticated sum of the losses on the obstacles, mainly walls [8]: LMWM (d) = LFSL +
N i=1
kwi Lwi + kf Lf ,
(5)
138
R. Olejnik
where LFSL is signal loss in free space (Eq. 3), d is the distance [m], N is number of types of the walls, kwi is number of the i-type walls with Lwi loss [dB], kf is number of the ceilings with Lf loss [dB]. Similar to OSM we need some measured values of variables (Lwi and Lf ) that are characteristic for modelled environment.
3
Floor Description Language
FDL is an aid used in the process of planning of the wireless network. It simply describes environment that is provided to the designer on the map of the floor. Along with the map it is necessary to provide the values of the loss of every type of the walls and ceilings. FDL does not use any propagation model, however one of them is necessary in futher step to find appropriate network components locations. MWM model has been chosen because it seems to be suitable and most reliable in typical applications of home and office designs [6]. 3.1
FDL Specification
The FDL itself consists of a few markup-like statements that describes the environment as it appears on the floor’s map. So the only input data for FDL is map of the floor and specification of loss coefficients for the walls and ceilings. Types of the walls are represented by different colors: type 1 – red, type 2 – green, type 3 – blue, type 4 – black, type 5 (no wall) – white. FDL desribes a floor in the building. The structure of the floor is divided into three parallel parts, as shown on Fig. 1. Every part contains at least one room. Parts are declared as follows: number_rooms_A = 5; number_rooms_B = 3; number_rooms_C = 4; Rooms could be of different types and adequate identifiers are responsible for their description: stairs (1), corridor (2), office (3), conference room (4), social room (5), toilet (6). For part A on the Fig. 1 we have: id_rooms_A = [1:number_rooms_A; 3 4 3 3 6]; Dimensions of the room are declared in next row. First lengths of the rooms are specified and then widths of them. id_dim_A = [1:number_rooms_A; 30 7 8 10 5; 10 10 10 10 10]; Key element of the FDL describes all of the rooms’ walls. It is done with declarations: walls_A = [1 1 3 2; 3 1 3 2; 3 1 3 2; 3 1 3 2; 3 1 1 2]; For all of the specified types of the walls we need to specify losses of them: loss_dB = [15 12 10 40 0];
A Floor Description Language as a Tool
139
Part A Part B Part C
Fig. 1. Floor’s map
Additional element used only at visualisation stage is thickness of the walls: walls_th = [0.25 0.15 0.1 0.13 0]; 3.2
Modelling Procedures Parameters
FDL needs also some more additional parameters for the modelling procedures. Input data for them are: – signal level required at the workstation locations [dBm], – percentage of the coverage [%], – output power of the transmitters [dBm]. Output data are: – the best combination of the access points localizations that met all of the requirements. Propagation procedures are used in the following way: – signal strength level is computed using MWM formula for every workstation and combination of the access points, – percentage of the workstations that achieve required level of signal strength is then computed, – loop is repeated for next combination of the access points, for all of their possible localization, – the best solution is then chosen – the best means that all of the criteria has been met and number of the access points is the lowest. Output has also visualisation of the best combination of the access points that assure required parameters.
4
Numerical Results
The computations were undertaken in MATLAB environment using aforementioned FDL implementation for sample map of the floor (Fig. 1). Results were compared with output from commercial products – Ekahau Site Survey [9] and RF3D WifiPlanner [10]. Further assumptions and parameters were: – constant width and length of the area (floor’s dimensions: 60 x 25 m),
140
R. Olejnik
Fig. 2. Map of the floor with workstations’ and the access points’ localizations Table 1. Loss coefficients [dB] and the colors used by the FDL and commercial systems Wall type FDL Ekahau RF3D type 1 15/red 15/orange 15/red type 2 12/green 15/gray 12/green type 3 12/blue 15/gray 10/blue type 4 40/black 45/black 30/black Table 2. Coverage percentage [%] results Set No. of AP FDL RF3D Ekahau No. 1 1 50 42 42 No. 2 1 25 0 17 No. 3 1 25 17 17 No. 4 2 75 50 67 No. 5 2 25 17 17 No. 6 2 58 50 58 No. 7 4 75 67 75 No. 8 6 100 83 92
– – – – –
nine rooms and a corridor, four types of the walls (as specified before), constant number of workstations and power of the transmitters (15 dBm), required percentage of coverage (70%), required signal strength level (−63 dBm).
A Floor Description Language as a Tool
141
Fig. 3. Signal levels’ comparison for selected access points combinations
The differences between colors and the loss coefficients used by FDL and commercial systems are summarized in the Table 1. Sample results given by the FDL implemenation with MWM propagation model are presented on the Fig. 2 and Fig. 3 (map of the floor and signal strength levels comparison respectively). Output graphic results given by commercial systems are omitted. Numerical results are summarized in the Table 2. 4.1
Results Conclusions
Data presented in the Table 2 prove that FDL with MWM can compete with commercial systems when optimization criteria is coverage range. In every case FDL seems to find set of the access points that provides the highest coverage percentage. Detailed analysis of output data for all of the sets given by three systems (that are omitted due to their volume) lead to following conclusions: – differences of computed signal levels are not greater than a few dB, – at least 80% of cases where FDL with MWM is used seems to be better than commercial systems in terms of both coverage range and number of the access points used. Another research proved that results given by the FDL with MWM are very close to those given by site survey approach. The maximal difference between measurements and FDL with MWM was 4 dB and results given by Ekahau Site Survey were worse in most cases with maximal difference of 9 dB.
5
Summary
Presented Floor Description Language although it covers simple idea gives results very close to the results of commercial-grade modelling systems. Its simple
142
R. Olejnik
ideas that combine geometric decomposition of the floor with classic propagation models could be further developed. Possible enhancements could be done with: – – – –
database extension (e.g. obstacles’ definitions etc.), auto-localization of the access points procedure, additional network parameters, graphic files import and recognition of the floor’s map.
References 1. Prommak, C., Kabara, J., Tipper, D., Charnsripinyo, C.: Next generation wireless LAN system design. In: Proceedings of MILCOM 2002, October 7-10, 2002, vol. 1, pp. 473–477 (2002) 2. Unbehaun, M., Kamenetsky, M.: On the Deployment of Picocellular Wireless Infrastructure. IEEE Wireless Communications 10(6), 70–80 (2003) 3. He, J., et al.: Globally Optimal Transmitter Placement for Indoor Wireless Communication Systems. IEEE Transactions on Wireless Communications 3(6), 1906–1911 (2004) 4. Oliver, K.E.: Introduction to Automatic Design of Wireless Networks. ACM Crossroads 11(4) (2005) 5. Luntovskyy, A., Gütter, D., Schill, A.: Models and Methods for WLAN/WiMAXNetwork Design. In: Proceedings of 16th International Crimean Conference on Microwave & Telecommunication Technology, vol. 1, pp. 391–393 (2006) 6. Olejnik, R.: WLAN design methods vs. parametric design method (in Polish). In: Wegrzyn, S. (ed.) Sieci komputerowe. Nowe technologie. Wydawnictwa Komunikacji i Lacznosci, Warszawa, vol. 1, pp. 371–380 (2007) 7. Golio, M. (ed.): The RF and Microwave Handbook. CRC Press, Boca Raton (2001) 8. Zvanovec, S., Pechac, P., Klepal, M.: Wireless LAN Networks Design: Site Survey or Propagation Modeling? Radioengineering 12(4), 42–49 (2003) 9. Ekahau Site Survey, http://www.ekahau.com 10. RF3D WifiPlanner, http://www.psiber.com/rf3d/rf3d.html 11. Bera, G.: An algorithm of WLAN elements’ localization based on the floor’s map (in Polish). Master thesis, Szczecin University of Technology, Szczecin (2008)
Dependencies and Configurations of Solutions in Multicriteria Optimization in Nets Henryk Piech Czestochowa University of Technology, Dabrowskiego 73
[email protected] Abstract. We want, in general form, to close to the practical aspects of multicriteria optimization in nets. Set of criterions contains typical aims for network task such critical path, minimal path, minimum spanning tree, maximal flow, cardinality matching etc. Once criteria can be multiplied by, on example, several starting and target points. The others by mutually covered sets of constrains and dependences between them. In practice also we have deal with uncertain parameters characterizing elements of network structure. In such case we will choose aggregation criteria variant and the best with point of view of given criterions set of values of parameters. Practical validity of such kind of analyses consist in utility obtained results in projects or their modification during exploitation.
1
Introduction
Many problems concerning network creation are caused by the necessity to account few criteria simultaneously. These problems apply to creation and operation of roads [13,17,1], undergrounds [21,23,12], pipelines, energy lines [22,5], and also computer networks. The methods used depend on given situations, with which they are connected. For instance: some specific constraints and simplifications are used, they concern also (here we list them) creation of net substructures [9], use of specific techniques and routing conventions [11,4,2], and also resulting from topological reservations [6]. It is often essential to take into consideration natural conditions (geographical, geological etc.) [8,12], multimodality of urban structures [16,3,14]. The variety of criteria sets is very broad. These criteria are connections of such goals as the shortest ways, maximum safety, minimal costs, minimal problems with realisations, maximum flow, optimal organisation, most numerous associations, minimum monochromatic number etc. From the point of view of algorithmic and mathematic optimalisation aspects many different attitudes are used, some of them are: approximated [7,10], regressive and combinatorial techniques [15] etc. The compromise for a set of criteria can be received in many ways and often depends on the form of criteria or attributes’ aggregation [24]. A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 143–150, 2009. c Springer-Verlag Berlin Heidelberg 2009
144
2
H. Piech
Aggregation of Criterions of the Minimal Path in Reference to Different Target Points
The problem of extending net structure is often connected with multiplying start or target points i.e. with repeating task of shortest path. Sometimes it is possible to realize these tasks with help of the minimum spanning tree algorithms but sometimes with help of using several times criterions of the shortest path [18] (Fig. 1). Utilization more rigorous criterion (based on minimum spanning tree method) to realization the task (which does not require finding minimal paths to all nodes) is obviously less profitable. The adding node 7 requires the correction of connections considered and defined at the projecting and exploitation stages. There are possible ways of connecting knot 7: 1-7, 2-7, 3-7, 4-7, 5-7, 6-7. Choosing two criterions of the shortest paths (to given target nodes 4 and 7) we already on projecting stage take into account the sequential stage process of optimization of connections basing on two criterions. In this way we receive more effective solution. We can describe it as follows (see Fig. 2): 1 − 2 − 4 − 3 − 6 − 7 (minimal spanning tree) > 1 − 2 − 4 + 1 − 5 − 7 (2 shortest independed path) > 1 − 2 − 4 − 7 (2 shortest depended path – staged)
(1)
The synthesis of task considered described situation can lead to solution the next problem: Problem 1. The location of seven agencies is described on Fig. 2. In every agency the accessories (components) are produced. The components of modules are assembled only in agencies 4 and 7. Modules are transported on appointed roads among main agency 1 and agencies 4 and 7. The task consist in designing the structure of inferior roads in such way that both criteria i.e. building and exploitation (the transportation) will be the cheapest. Choice and adaptation criteria function. The transportation of accessories between nodes suggests use the minimum spanning tree criterion. Transport between
Fig. 1. The difference effects of solution of problem of multiple minimal paths. Utilization minimum spanning tree methods (a) and double using the shortest paths method: to knots 4 and 7 (b)
Dependencies and Configurations of Solutions
145
Fig. 2. The most profitable variant ways of reaching to given nodes 4 and 7
knots 1-4 as well as 1-7 can be optimized by two dependent criterions of minimum paths (considered sequentially with regard previously got results): Fig. 2.
3
The Aggregation of Criteria of Maximum Flow and Minimum Spanning Tree
The building and extension of energetic nets transferring the varied medias is connected with task requiring the several criterions of optimization. The set of criterions is the reflection the character of transportation different medias too.
Fig. 3. The independent investigation the criterions of maximum flow and minimum spanning tree
146
H. Piech
Fig. 4. The correction of flow capacity in connections creating MST
Fig. 5. Effect of aggregation of criterions MST and MF: the complement to sum of sets was introduced with help of dashed line
In concrete situations we note down the necessity of regard of flow capacities, and also the length of connections. In most situation we have deal with directed graphs. The cost of realization of connections depends on length and, for example, on diameters of link. The example – scheme of network structure is illustrated in Fig. 3. The solution based on criterion of maximum flow will be essential in net exploitation . The solution obtained on base of minimum spanning tree criterion, that means the skeleton of connections, playing the decisive role on stages of building (or extension) the net. It is the main factor formatives the costs of network structure creation. The synthesis of above described problem can have following form: Problem 2. Drawing energetic medias from sources 1 and 2 we have to satisfy the demand of factories 6, 7 and 8. It would to be as big as possible of medium amount. The flow capacity of connections be defined. by technical and security features. The private recipient make up of the secondary importance (in relation to size of orders) group of supplied of medias . They are distributed in nodes 4, 5, 6, 7, 8, 9. Factories have the possibility of storing medias, and private recipient obviously not. Choice and adaptation criteria function. For description the supplies of factories we use analysis leaning on method of maximum flow criterion multiplied by two sources ( start points) and three target locations. For description of private recipient’s supply we use minimum spanning tree algorithms sometimes extended
Dependencies and Configurations of Solutions
147
by the cheapest flow method. Technical regards suggest that the first stage i.e. project will be connected with private recipient’s supply. It will correct flow capacity of constant values (answering to private recipient supplies) in creating minimum spanning tree connections (Fig. 4). The aggregation of criteria influences is realized as the sum of set of active elements realizing the supply of factories and private recipient (Fig. 5).
4
Aggregation of Criterions of the Cardinality Matching and the Shortest Path
The wireless connection requires the association sender and recipient every time. Such arrangement in set of nodes give chance to obtain maximum number of associating equals count_w/2, where count_w – the number of nodes. The way of matching depend on number of free nodes. The occupation nodes can depend on unfinished form of exploitation in previous associations, or on different forms of nodes engagement, or on date transfer with preference meaning (Fig. 6). To distributed conversion is used the transfer between nodes 1-2-6 (bold continuous line). Remaining nodes 3, 4, 5, 7, 8, 9 can realize the communication connections, within number of the cardinality matching in different possible configurations. Obviously different scales of net occupations will determine the number and configuration, free and designed to connections of communication, nodes. Exploitation of such net will require continuous solutions of optimum elements configurations from its structure. If net structure functioning based on wireless connections the possible contacts can consist in exploitation the whole graph. However, in the criterion of the cardinality matching problem decisive role play “free” nodes. The synthesis of task of multicriteria optimization can have following figure: Problem 3. The conversion of preference data requires engaging following nodes (for example station sending-receiving): 1, 2, 6. Remaining nodes can be used to realization the communication connections. Every of nodes can play role of sender’s or recipient’s function in given moment for concrete individual connection.
Fig. 6. Location of associating after exclusion the nodes used in distributed conversion
148
H. Piech
Fig. 7. Location of associating after exclusion the nodes used in distributed conversion
Choice and adaptation criteria function. In first stage for preparation of date conversion we will use the criterion of the shortest path. In dependence from kind of conversion (it can be minimum spanning tree too, optimal scheduling or minimum critical path, too). Second stage consist in finding the largest cardinality matching for the shortest communication connections. Several sets of the largest cardinality matching during date conversion can be realized simultaneous with excluding the previous sets connections. That means that it appears the scheduling problem of matching. Generalizing, the number of compositions can be defined: count_set(count_w_w) = c ∗ (c − 2) ∗ (c − 4) ∗ . . ., where c = count_w_w/2 ∗ 2 − 1, c > 0, count_w_w – the number of free nodes. The full configuration of exploitation of nodes is illustrated in Fig. 7.
5
Aggregation of Criteria of the Cheapest Flow and Scheduling Optimization
Generally, we would choose the shortest path among possible critical paths. In deter-ministic tasks critical path we can choose every critical path with different configuration under condition, that their lengths will be the same as the shortest. In conditions of uncertain knowledge about nets parameters we get the different variants the critical paths among which we will choose the set of connections with the shortest length which fulfill constrains or added criteria (e.g. connected with probability, membership function etc.). Solution which we associate with optimum scheduling is a structure of critical path for given weight parameters. In respect on fuzzy parameters character we can choose such set of them, which will answer the most profitable criteria characteristics. We assume additionally, that exists the set of constrains which have to be fulfilled, and which involve some parameters simultaneously. The task synthesis of multicriteria optimization can suggest next form: Problem 4. The times of realization of investment stages can oscillate in given ranges. They are additionally connected by set of constrains introduced in classic form that means system of inequalities [18]. Task consists in such establish temporary values of parameters responding individual stages to warrant the optimum realization of investment.
Dependencies and Configurations of Solutions
149
Choice and adaptation criteria function. The connected with optimization of process criterion of scheduling we look for systematically or randomly configured sets of parameters in given interval. Set of constrains which have to be fulfilled in connection with finding the shortest critical path that is the second stage of optimization.
6
Conclusions
Optimization in nets usually has muticriterial character, what infers not only from necessity of matching several aims but also from multiplying start and target elements. Generalization criteria tasks leads to creating the algorithm of finding the optimum solution both under in relation to structure and its parameters. Essential problem refers to algorithm consist in establish the order of taking into account criterions as well as ways of aggregations partial optimal solutions. Fuzziness of weight parameters leads to necessity of creating the permutation of date arrangement what in substantial way increases complexity of algorithm (in pessimistic variant the complexity may increase itself about kn times, where the k – the number of steps in fuzzy (interval) range, n – the number of connections). The utilization of Solvers give the possibility of quick location maximum of membership function which in this case can to be definite as function “desirable”. Advantage of Solvers utility is possibility of regarding freely numbers of constrains.
References 1. AASHTO: A policy on geometric design of rural highways, Washington (1975) 2. Aboelela, E., Douleligeris, C.: Fuzzy multiobjective routing model in B-ISDN. Computer Comunication 21, 1571–1584 (1998) 3. Arnold, P., Peeters, D., Thomas, J.: Modeling a rail/road intermodal transportation system. Transportation Research Part E 40, 255–270 (2004) 4. Ash, G.R.: Design and Control of networks with dynamic nonhierarchical routing. IEEE Comm. Mag. 28(10), 34–40 (1990) 5. Bella, A., Ducstein, L., Sziradovski, F.: A multicriterion Analysis of the water Allocation. Conflict in the Upper Rio Grande Basin. Applied Mathematics and Computation, New York (1966) 6. Bertault, F.: A force – directed algorithm that preserves edge crossing properties. In: Kratochvíl, J. (ed.) GD 1999. LNCS, vol. 1731, pp. 351–358. Springer, Heidelberg (1999) 7. Blum, A., Ravi, S., Vempala, A.: A constant factor approximation for the k-st problem. In: Proc. 28th Ann. ACM Symp. on the theory of Computing (StOC 1996), pp. 442–448. ACM Press, New York (1996) 8. Bookbiuder, J., Fox, N.: Intermodal Routing of Canada Mexico shipments under NAFTA. Transportation Research E,34, 289–303 (1998)
150
H. Piech
9. Drangmeister, K.U., Krumke, S.O., Marathe, M.V., Noltemeier, H., Ravi, S.S.: Modifying edges of a network to obtain short sub graphs. Theoretical Computer Science 203, 91–121 (1998) 10. Goemas, M.X., Golberg, A.V., Plotkin, S., Shmoys, D.B., Trados, E., Wiliamson, D.P.: Improved approximation algorithms for network design problems. In: Proc. 5th Ann. ACM-SIAM Symp. on Discrete Algoritms (SODA 1994). ACM Press, New York (1994) 11. Hollendorn, W.A.H., Seising, R., Weitzel, C.T.A.: Fuzzy Routing. Fuzzy Sets and Systems 85, 131–153 (1997) 12. Hong, S.-H., Merrick, D., Nascimento, H.A.D.: The metro map layout problem. In: Pach, J. (ed.) GD 2004. LNCS, vol. 3383, pp. 482–491. Springer, Heidelberg (2005) 13. Karamaras, G.S., Brino, L., Corrieri, G., Pline, C., Grasso, P.: Application of Multicriteria Analysis to Select the Best Highway Alignment. Tunneling and Underground Space Technology 15(4), 415–420 (2000) 14. Kozan, E.: Optimizing container transfers at multimodal terminals. Mathematical and Computer Modeling 31, 235–243 (2000) 15. Lawler, E.L.: Combinatorial Optimization. In: Networks and Matroids, ch. 4. Holt Rinhart and Winston, New York (1976) 16. Modesti, P., Sciomachen, A.: A utility measure for finding multiojective shortest paths in urban multimodal transportation networks. European J. of Oper. Res. 111, 495–508 (1998) 17. Perez de la Cruz, J.L., Conejo-Munoz, R., Morales Bueno, R.: Highway design by constraint specification. Artificial Intelligence in Engineering 9, 127–139 (1995) 18. Piech, H., Ptak, A., Machura, M.: Generation of multicriterial optimization solution on the basis of uncertain evaluation. In: 18th International Conference on Multiple Criteria Decision Malking, Chania (2006) 19. Piech, H., Ptak, A., Machura, M.: Fuzzy Strategies in Modelling Effect of Technological Inplementation. In: 2nd Inernational Conference on Fuzzy Sets and Soft Computing FSSCEF, Saint Petersburg (2006) 20. Rai, S.: A cut set approach to reliability in communication networks. IEEE Trans. Reliability R-31, 428–431 (1982) 21. Roy, B., Present, M., Silhol, D.: A programming method for determining which Paris metro station should be renovated. European Journal Operational Research 24, 318–334 (1986) 22. Roy, B., Slowiński, R., Treichel, W.: Multicriteria programming of water supply systems for rural areas. Water Resour. Bull. 28(1), 13–32 (1992) 23. Stott, J.M., Rodgers, P.: Metro Map Layout Using Multicriteria Optimization (2001) 24. Yager, R.R.: On ordered weighted averaging aggregation operators in multicriteria decision making. IEEE Transaction on Systems, Man and Cybernetics 18(1) (1998)
Web Traffic Modeling for E-Commerce Web Server System Leszek Borzemski1 and Grażyna Suchacka2 1
Institute of Computer Science, Wrocław University of Technology, Wrocław, Poland
[email protected] 2 Chair of Computer Science, Technical University of Opole, Opole, Poland
[email protected] Abstract. The paper concerns a problem of the e-commerce Web server system performance evaluation through simulation experiments, especially a problem of modeling a representative stream of user requests at the input of such system. Motivated by a need of a benchmarking tool for the Business-to-Consumer (B2C) environment we discuss a workload model typical of such Web sites and also a model of a multi-tiered ecommerce Web server system. A simulation tool in which the proposed models have been implemented is briefly talked over and some experimental results on the Web system performance in terms of traditional and business performance measures are presented.
1
Introduction
During the last decade one could observe a huge increase of interest into a field of Quality of Web Service (QoWS). In response to a very significant problem of degradation and unreliability of the Web service a lot of research in that field has been done. A great deal of them characterizes the workload at the Web server input and proposes various mechanisms aimed at improving the Web server performance under overload. The majority of these research concern Web servers providing information, entertainment or multimedia services. Relatively slow attention has been spent on commercial Web servers so far. Data on e-commerce traffic recorded in Web server logs are hardly available because of a sensitive financial aspect of companies’ revenue. There is no suitable benchmarking tool for the e-commerce Web server performance evaluation through simulation experiments. Popular benchmarks such as httperf, SURGE, WebBench or WebStone are not suitable for the e-commerce Web server systems due to a simplified workload model. Only TPC-W benchmark specification defines a workload model oriented to e-commerce transactions [1]. However, it doesn’t model details of the
This work was supported by the Polish Ministry of Science and Higher Education under Grant No. N516 032 31/3359 (2006–2009).
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 151–159, 2009. c Springer-Verlag Berlin Heidelberg 2009
152
L. Borzemski and G. Suchacka
Web server resources usage at the HTTP level which is needed for the system performance evaluation in the laboratory environment. Available TPC-W implementations don’t provide business-oriented metrics and don’t model various user profiles. For the above reasons we decided to work out a workload model typical of e-commerce Web sites based on the up-to-date literature and to develop a simulation tool providing the following functionalities: – generating many concurrent user sessions at a given session arrival rate and providing session-oriented statistics; – modeling two session classes: KC class for key customers of the store (who can be identified after logging into the site and are characterized by a greater probability of making a purchase) and OC class for ordinary customers; – modeling interaction between users and the Web site, especially the impact of the Web system performance on the user behavior; – generating very variable and self-similar Web traffic typical of e-commerce sites at the HTTP level for a mix of static, dynamic and secure requests with different Web system resource consumption profiles; – providing not only traditional Web server performance measures but also business-oriented measures connected with the revenue. Section 2 discusses session-based workload model used in our workload generator and Sect. 3 describes a model of multi-tiered e-commerce Web system implemented in the simulator. In Sect. 4 architecture of our simulation tool is briefly presented and some experimental results are presented in Sect. 5. We summarize in Sect. 6.
2
Session-Based Workload Model
An e-commerce workload is composed of many user sessions. A user session is defined as a sequence of logically and temporally related requests issued by the user during a single visit to the site. During the session the user performs some typical business operations such as browsing and searching goods, adding them to a shopping cart, etc. Considering user behavior at the Web site we have to differentiate between two session classes: KC class for key customers and OC class for ordinary customers. Key customers have different navigation patterns at the site and are characterized by a greater probability of making a purchase. Our user session model at the e-commerce Web site is based on a Customer Behavior Model Graph (CBMG) proposed in [2]. We model sessions of OC class and KC class according to modified CBMGs for an occasional buyer profile and a heavy buyer profile, respectively. In original CBMG six session states were distinguished: H (Home), B (Browse), S (Search), D (Details), A (Add) and P (Pay). However, interactions involved in user identification at the site such as user registration and logging on weren’t taken into consideration so we augmented the CBMG with two additional states corresponding to Web interactions R (Register) and L (Login). A rationale for such
Web Traffic Modeling for E-Commerce Web Server System Exit
0.4/0.35
0.05/0.15
0.2/0.2
Browse
0.425/0.325
0.2/0.225 0/0.5
0.5/0
Home
0/1
0.05/0.1
Exit
Exit 0.05/0.05
0.05/0.3
Add
Login
0/0.5
0.35/0.3
0.35/0.3 0.2/0.225
0.4/0.35
Register 1/0
0/0.3 0.425/0.325
Search 0.05/0.15
0.1/0.05
Details
0.2/0.1
0.3/0 0.5/0
153
Pay 1/1 Exit
0.2/0.2
Exit
Fig. 1. Modified CBMG used to model ordinary customer session/key customer session
approach is a necessity to include an additional computational overhead incurred in performing login and register Web interactions in simulation experiments and thus making service times for both session classes more realistic. CBMG used in our workload model is presented at Fig. 1. Nodes of the graph correspond to the session states. Arrows between states mean transition probabilities between the states for both profiles whereas arrows Exit mean the user spontaneous decisions on leaving the site. Each transition is characterized by a mean value of user think time which is modeled according to an exponential distribution with a maximum of 10 times the mean [1]. Mean user think time tk,l is 15 sec for all transitions except the following ones: tS,D = 30 sec, tD,A = 45 sec and tA,P = 25 sec [2]. When a new session is initiated, a session class KC or OC is assigned to it according to pre-specified probability values pKC = 0.1 and pOC = 0.9, respectively. These values were chosen as a result of preliminary simulation experiments so as to provide a realistic percentage of all generated purchase sessions i.e. about 5% [3]. Initial state of each session is H. Each next Web interaction within the session is computed based on the transition probabilities from the current state to other states. However, it depends also on the response time of the last Web interaction: if the Web system performance is poor and the page response time is longer than timeout value Tu , the user grows impatient and leaves the site and consequently his/her session is aborted. We set Tu = 8 seconds according to the well known 8-second rule. Since we use a business-oriented system performance measures it is essential to incorporate a financial aspect of users’ activities at the site into the workload model. We simulate an electronic bookstore and prices of books added by customers to the carts are generated according to a truncated Gaussian distribution (model parameters are presented in Table 1) [2]. In our model the number of books being purchased in a single transaction depends on the number of visits to the state A during the session.
154
L. Borzemski and G. Suchacka Table 1. Workload model parameters determining product prices Category
Technical books Non-technical books
Percentage of books selected 20% Average price $45.00 Price range [$5.00, $100.00]
80% $18.00 [$5.00, $60.00]
Table 2. Distributions and their parameters applied in a workload model Category
Distributions
Number of static objects per Web page Pareto Number of dynamic objects per page Geometric (+ 1) HTML object size Body: Lognormal Tail: Pareto Embedded static object size Lognormal Embedded dynamic object size Weibull Interarrival time of hit requests Weibull
Parameters α = 1.33, k = 2 p = 0.8 µ = 7.63, σ = 1.001 α = 1, k = 10240 µ = 8.215, σ = 1.46 λ = 0.0059, b = 0.9 α = 7.64, k = 1.705
Each Web interaction corresponds to a single Web page request. We model all Web interactions as dynamic pages with many static objects and maximum ten dynamic objects. Furthermore, Web interaction P is modeled as the SSLsecured transaction. Executing each Web page request requires processing many HTTP requests, i.e. a hit for an HTML page and following hits for all objects embedded in it. According to our best knowledge there is no workload model encompassing all aspects of the e-commerce workload at the HTTP level so we decided to combine in our model results of several workload studies. We believe this combination is well justified given the common base of the studies i.e. the Web server. The number of static objects per page is modeled by a Pareto distribution and the number of dynamic objects is obtained by a geometric distribution and incremented by 1. Sizes of HTML files are obtained from a hybrid function where a body follows a lognormal distribution while a tail follows a Pareto distribution. Sizes of embedded static and dynamic objects are obtained from a lognormal and Weibull distribution, respectively. Interarrival time of hit requests is given by a Weibull distribution. Table 2 specifies workload distributions along with their parameters [4,5,6,7,8].
3
E-Commerce Web System Model
An e-commerce site is typically organized as a multi-tier application in which request processing is realized at three logical software layers: Web server, application server and database server layer. We decided to model a three-tiered e-commerce system based on the approaches proposed in [5,9] and analyzing results of business workload characterization studies [10,11].
Web Traffic Modeling for E-Commerce Web Server System
HTTP request
Web server
155
HTTP response
CPU Dynamic object request
Disk
Cache miss
Back- end server
Fig. 2. Queuing network model of the e-commerce Web system
System model includes two main components: a Web server and a back-end server (i.e. an application server and a database server). Since our research concentrates on the performance of the Web server system itself we do not model network components engaged in request processing and transfer. We do not consider a cluster-based Web system either, wanting to focus just on key resources being potential bottlenecks of a typical e-commerce Web system in B2C environment. System model is based on queuing networks [12]. A Web system is depicted as a network of service centers among with queues to them in which client requests wait for a service (Fig. 2). Requests enter the system from the outside and leave it after the service is completed. Applying a queuing model allows to capture crucial relationships between key Web system parameters and to compute performance measures as a function of the system load. A Web server model contains two service centers corresponding to key server resources: CPU and disk. Every admitted HTTP request first enters the CPU queue. CPU parses the request and decides about the way of handling it. For a static request a file is brought from the cache or from the disk. Dynamic requests go to the back-end server queue. After completing a response file the CPU sends it back to the client. We model a cost of HTTP request processing at the Web server after [9] where costs for static request processing steps were determined. Taking into consideration much higher speed of contemporary processors and disks, we divided the component costs measured in [9] by 10 [13]. An overall cost of processing a single static HTTP request at the Web server includes a cost of CPU processing (i.e. a cost of connection establishment and teardown 145/10 µs each and a cost of transmit processing 40/10 µs per each 512 B) and in case of a cache miss a cost of serving a file at a disk; it includes a cost of reading a file from disk (28/10 ms), the file transfer time (410/10 µs per each 4 KB) and additional time for files larger than 44 KB (14/10 ms per each 44 KB). A probability of cache hit for a static request is 88%. Back-end server model simulates activities involved in dynamic HTTP request processing in the application and database tier. A back-end node is modeled as a single service center with a single queue like in [5]. A dynamic request processing cost includes an additional overhead incurred by generating a dynamic content through invoking the database.
156
L. Borzemski and G. Suchacka
In e-commerce systems dynamic request execution times vary significantly depending on the kind of a business operation [10]. We model these times according to an exponential distribution with the average depending on a session state. We propose applying mean time values resulting from TPC-W servlet execution costs measured in [10]. We divided eight Web interactions into three categories, each one with different mean request service time in a back-end server: a category Very-Intensive for the Web interaction S, a category Intensive for the Web interaction P and a category Light-intensive for interactions H, B, D, A, L and R. Average service times for these categories amount to 91 ms, 54.26 ms and 0.56 ms, respectively. Web interactions connected with finalizing a transaction at the B2C sites are typically realized over secure connections using SSL or TSL protocol. In e-commerce system it causes an average increase of system response times of about 5% and it can be attributed mainly to the application server CPU [11]. Therefore our model includes an additional overhead for Web interaction P requests, realized by increasing back-end node service times obtained for requests in a state P by 5%.
4
Simulation Tool
Based on the workload model described above we developed a synthetic workload generator as an integral module of the simulator presented in Fig. 3. A simulation tool was implemented in C++ with CSIM19 [14], a toolkit for modeling complex systems. Session-based workload is generated in real time as it depends on the Web system efficiency. In QoS module we implemented a variety of classification, admission control and scheduling algorithms which are applied based on input parameters and based on the current system load level reported by the workload monitor module. The output module collects simulation statistics and produces final reports.
Input Module Workload Generator
HTTP requests (within a single user session)
Workload Monitor E-commerce Web Server System
Client 1 ... Client n Web page response times
Current Sessions Management Module
QoS Module Output Module
Fig. 3. Architecture of the e-commerce system simulation tool
Web Traffic Modeling for E-Commerce Web Server System
5
157
Simulation Results
Due to space limitations only some results for FIFO scheduling in the system queues are presented. Every single experiment was run for a constant session arrival rate. In consecutive experiments the session arrival rate was gradually increased. Simulation results are illustrated in Fig. 4–5. Figure 4a shows the Web system throughput in the number of successfully completed user sessions as a function of the session arrival rate. The three curves in the figure represent throughputs for all sessions, ordinary customer sessions (OC) and key customer sessions (KC), respectively. For our workload model the Web system reaches its maximum capacity in sessions at about 70 new sessions per minute and after that point the throughput continues to drop rapidly. A sharp slope of the curves is due to long page response times leading to users’ impatience and aborted sessions. At a session arrival rate of 80 sessions/min none of the sessions is completed although the system throughput in the number of completed HTTP requests still increases (Fig. 4b). Figure 5a presents 90-percentile of page response time, mean page response time and median of page response time for all users. Page response times increase gradually until the system nears its maximum capacity in sessions and then goes up rapidly to an unacceptable level, much exceeding 8 seconds. Figure 5b depicts the revenue throughput in $ per minute and potential revenue losses per minute (computed as $ per minute that were accumulated in shopping carts of the sessions that had been aborted due to a poor Web system performance). As the load increases the potential revenue losses increase till the point indicating the maximum system capacity in sessions and above that point start to decrease. It is caused by the fact that sessions are aborted at early stages and the customers haven’t had a chance of adding products to their carts so the potential revenue (and their losses) is lower. Revenue rate grows linearly until the server nears its maximum capacity. However, it’s worth observing that although the maximum system capacity in sessions is about 70 sessions/min, the maximum revenue throughput is reached at lower load of about 60 sessions/min. 10000
60 50
completed requests/min
completed sessions/min
70 All OC KC
40 30 20
8000
All OC KC
6000 4000 2000
10
0
0 30 35 40 45 50 55 60 65 70 75 80 session arrival rate [sessions/min]
(a)
30 35 40 45 50 55 60 65 70 75 80 session arrival rate [sessions/min]
(b)
Fig. 4. (a) System throughput as the number of user sessions completed per minute; (b) The number of HTTP requests completed per minute
L. Borzemski and G. Suchacka
ms
8000
90-percentile of page response time Mean page response time Median of page response time
6000 4000 2000 0
$/min
158
140 120 100 80 60 40 20 0
Rev enue Potential rev enue losses
30 35 40 45 50 55 60 65 70 75 80
30 35 40 45 50 55 60 65 70 75 80
session arrival rate [sessions/min]
session arrival rate [sessions/min]
(a)
(b)
Fig. 5. (a) Page response times; (b) Revenue and potential revenue losses per minute
6
Concluding Remarks
Similarly to the results reported in the literature on the quality of Web service, our simulation results clearly demonstrate that the overloaded Web server system experiences severe service degradation in terms of traditional performance measures such as throughput and page response times and also in terms of business measures such as revenue gained through the successfully completed user transactions. Such observations motivated us to design new admission control and scheduling algorithms aiming at optimizing the business-oriented Web system performance measures. Our future works concern verifying their efficiency using our simulation tool.
References 1. García, D.F., García, J.: TPC-W E-Commerce Benchmark Evaluation. Computer 36(2), 42–48 (2003) 2. Menascé, D.A., Almeida, V.A.F., Fonseca, R., Mendes, M.A.: Business-Oriented Resource Management Policies for E-Commerce Servers. Perf. Evaluation 42(2–3), 223–239 (2000) 3. Nielsen, J.: Why people shop on the Web (February 1999) (April 2002), http://www.useit.com/alertbox/990207.html 4. Barford, P., Bestavros, A., Bradley, A., Crovella, M.: Changes in Web Client Access Patterns: Characteristics and Caching Implications. WWW 2(1–2), 15–28 (1999) 5. Cardellini, V., Casalicchio, E., Colajanni, M., Mambelli, M.: Web Switch Support for Differentiated Services. ACM Performance Evaluation Review 29(2), 14–19 (2001) 6. Casalicchio, E., Colajanni, M.: A Client-aware Dispatching Algorithm for Web Clusters Providing Multiple Services. In: 10th International WWW Conference, pp. 535–544 (2001) 7. Shi, W., Collins, E., Karamcheti, V.: Modeling Object Characteristics of Dynamic Web Content. Journal of Parallel and Distributed Computing 63(10), 963–980 (2003) 8. Xia, C.H., Liu, Z., Squillante, M.S., et al.: Web Traffic Modeling at Finer Time Scales and Performance Implications. Performance Evaluation 61(2–3), 181–201 (2005)
Web Traffic Modeling for E-Commerce Web Server System
159
9. Pai, V.S., Aron, M., Banga, et al.: Locality-Aware Request Distribution in Clusterbased Network Servers. ACM SIGOPS Operating Systems Review 32(5), 205–216 (1998) 10. Elnikety, S., Nahum, E., et al.: A Method for Transparent Admission Control and Request Scheduling in E-Commerce Web Sites. In: WWW, pp. 276–286. ACM Press, New York (2004) 11. Paixão, G.T., et al.: Design and Implementation of a Tool for Measuring the Performance of Complex E-Commerce Sites. In: Haverkort, B.R., Bohnenkamp, H.C., Smith, C.U. (eds.) TOOLS 2000. LNCS, vol. 1786, pp. 309–323. Springer, Heidelberg (2000) 12. Czachórski, T.: Modele Kolejkowe w Ocenie Efektywności Pracy Sieci i Systemów Komputerowych. Pracownia Komputerowa J. Skalmierskiego, Gliwice (1999) (in Polish) 13. Borzemski, L., Zatwarnicki, K., Zatwarnicka, A.: Adaptive and Intelligent Request Distribution for Content Delivery Networks. Cyber. and Systems 38(8), 837–857 (2007) 14. Schwetman, H.: CSIM19: A Powerful Tool for Building System Models. In: WSC, pp. 250–255. IEEE, Los Alamitos (2001)
RULEGO Bioinformatical Internet Service – System Architecture Aleksandra Gruca, Marek Sikora, Łukasz Chróst, and Andrzej Polański Institute of Informatics, Silesian University of Technology, Gliwice {Aleksandra.Gruca,Marek.Sikora,Lukasz.Chrost,Andrzej.Polanski}@polsl.pl
Abstract. In this paper we present the architecture of the RuleGO – a grid-based Internet application for describing gene groups using decision rules based on Gene Ontology terms. Due to the complexity of the rule induction algorithm there is a need to use sophisticated mechanisms for supporting multiple requests from the application users and to perform simultaneous analysis of gene groups in a distributed environment.
1
Introduction
DNA microarray chips [2] are one of the most indispensable tools used in biological and medical laboratories all over the world. They allow for simultaneous recording of thousands of gene expression profiles in a single biological experiment. Such experiments may be focused on discovering genes that express differentially between two different groups of donors (usually one of them suffers from particular disease and the other is a control group) or on measuring time courses of genes expression under some experimental conditions. Very important step of the DNA microarray experiment is a biological interpretation of the interesting groups of genes obtained during the DNA microarray experiment. Selected groups may include genes that have similar expression values or genes that have significantly different expression values in comparison to other genes whose probes are placed on DNA microarray chip. Biological interpretation of the obtained groups is usually done by an expert in the field, frequently by manual reviewing genes composing the groups, which requires lots of experience and is time consuming. However, an expert work may be supported by including in the analysis functional annotation of genes and applying statistical methods or data mining techniques to discover non trivial dependences among genes composing the clusters. One of the popular and widely used tool for describing genes is Gene Ontology database [1]. The Gene Ontology database is a hierarchical structure that includes a vocabulary describing genes and gene products in the form of three disjoint directed acyclic graphs (DAGs) representing biological process, molecular function and cellular component. The information included in GO database
This paper was partially supported by the European FP6 grant, GENEPI-lowRT, Genetic Pathways for the Prediction of the Effects of Ionising Radiation: Low dose radiosensitivity and risk to normal tissue after Radiotherapy.
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 160–167, 2009. c Springer-Verlag Berlin Heidelberg 2009
RULEGO Bioinformatical Internet Service – System Architecture
161
is represented by GO terms – single units that describe gene and gene products. The hierarchy of DAGs reflects the structure of information included in GO terms – terms that are close to the root describe general concepts, while terms lower in the hierarchy provide more specific description. Typical analysis that utilizes GO terms for gene groups description involves application of statistical tests in order to detect the terms that are under- or overrepresented in the analyzed gene group. There are many tools dedicated to such type of analysis which are available as stand alone applications or as webbased systems. Description and comparison of the most of the GO processing tools can be found in paper [7]. Apart from searching for a list of single GO terms describing genes, one can be interested if there exists a statically significant combination of GO terms in analyzed gene group. Such combinations of GO terms may be discovered with the use of rule induction algorithms. Based on the decision rules that include GO terms in the conditional part one can obtain a description of gene groups [5]. In order to make the rule induction method publicly available we developed the Internet application RuleGO [11]. Due to the high resource requirements of the method we designed a system that allows performing simultaneous analysis in a distributed environment. In this paper we present a grid-based architecture of that system. The paper is organized as follows. Section 2 contains a short description of the decision rules induced for description purposes. Section 3 presents architecture of the system. Section 4 shortly describes graphical user interface and includes an example of an analysis performed with the use of RuleGO application. Finally, in Sect. 5 conclusions and future work is included.
2
Decision Rules
Let there be a set of n genes U = {x1 , x2 , . . . , xn } whose probes are placed on DNA microarray chip. Any gene from the set U may be described by GO terms that are related to biological functions of that gene. Treating GO terms as binary attributes that may be used to describe a set of objects (genes) we can form a decision table DT = (U, A ∪ {d}), where U is a set of genes, A is a set of attributes describing these genes and d is a decision attribute that represents a specific number of the gene group. Based of the decision table we can generate decision rules in the following form: IF a1 ∈ Va1 and a2 ∈ Va2 and . . . and an ∈ Van THEN d = v ,
(1)
where v ∈ Dd , {a1 , a2 , . . . , an } ⊆ A and Vai ⊆ Dai , i = 1, 2, . . . , n. The interpretation of the above decision rule is intuitive. The conjunction of GO terms from the left-hand side of the rule describe a gene group that is represented by the value v. Induced decision rules may be used to describe biological function of genes composing a group of interest. Given object recognizes the rule if its attribute values satisfy the premise of the rule. The object supports the
162
A. Gruca et al.
rule if it recognizes the rule and the decision given to the object is the same as the decision from the right side of the rule. Due to the specific structure of the rule descriptors (GO terms) we could not use any of existing tools based on standard methods of induction of decision rules. Thus, considering the specific type of a data, we developed a rule induction algorithm that is suitable for our requirements [6].
3
System Architecture
RuleGO is an Internet application that makes the method of induction of decision rules for description purposes publicly available. The main core of the applicaR programming tion – rule induction algorithm – is implemented in MATLAB language due to the fact that we use some functions from MATLAB bioinformatics toolbox [8]. The rule induction algorithm is complex and depending on the algorithm input parameters, time of a single execution may vary from several minutes to several hours. The main idea of the tool presented in this paper was to create a system for execution of existing rule induction application simultaneously in a distributed environment. As we did not want to interfere with the MATLAB application, we decided that the system should consist of two components: a MATLAB core and a suite of independent tools that are responsible for preparing input data, executing the rule induction application and postprocessing the results. Another important part of the system is a graphical user interface that allows the user to communicate with the system – it allows for submitting data and parameters of the rule induction algorithm and presents final results of analysis. The architecture of the system is presented in the Fig. 1. We created the system on the based on the LGS4ns2 – distributed simulations environment that was previously designed and developed for the ns − 2 simulator [4]. However, we adapted this solution to our requirements. In the proposed approach, there is no centralized software that is responsible for managing, scheduling or executing tasks related to the submitted data. However there is possibility to configure a metascheduler that can supervise tasks workflow, execute tasks on selected clients, monitor the current state of the analysis and retrieve results of the computations. System clients can be located either on a main server or on remote machines and connect to the main server through network infrastructure. Such approach allowed us to create flexible, easily scalable, heterogeneous distributed environment. Client machines can be added to the running system or removed from it depending on the system load and available computational resources without any need to change system configuration scripts or restart the main server application. After the list of genes is submitted to the system it is stored in the database with all other task-specific information such as the rule induction algorithm parameters and user or session identification needed for results presentation. Identifier of a specific task consists of an optional job name which can be provided by the user and a random number generated by the system. This identifier can be further used to retrieve information about current state of analysis.
RULEGO Bioinformatical Internet Service – System Architecture
163
Fig. 1. The RuleGO system architecture. Data and algorithm parameters sent by the user are submitted into the database. Each client connects to the database in order to retrieve the client-specific data and submits the results of that data processing. Different geometric shapes symbolize the tasks with different types of parameters. Induced rules are presented to the user on RuleGO web page.
Clients work independently from each other. If the computational resources related to any client are currently available it connects periodically to the database in order to check if there is any task of the properties specific to that client type. Each type of task is identified by a set of unique attributes. The client retrieves from the database only the tasks that are assigned to that client type. If there is available data (specific to the client type and not processed by any other client) it is downloaded from the database, processed by the client and results are submitted back to the database. In the system we can distinguish three types of clients that are responsible for the following tasks: – Data preprocessing. This step involves translation of submitted gene list to a format accepted by rule induction application, its filtration and creation of reference gene, if needed. – Executing of MATLAB application. This is the main part of the analysis. In this step, the list of translated gene identifiers is retrieved from the database together with all parameters of the rule induction algorithm and the MATLAB application is executed. If the analysis is finished, the resulting set of rules is stored in the database. – Results postprocessing. This part includes additional analysis of the induced rules. The client retrieves a set of rules from the database in order to obtain names of genes supporting the rules. Then, PubMed journal database is searched for all papers that include symbols of these genes. The list of obtained publications is attached to each of the rules.
164
A. Gruca et al.
If needed, another type of a client can be included in the process of analysis. This can be simply done by defining new, client-specific set of parameters and introducing client application to the system environment. 3.1
Software Requirements
As it was mentioned, the main step of the rule induction analysis is performed by MATLAB application. Other parts of the system are implemented using standard open source tools and services. The part of the system responsible for preprocessing data, executing rule induction algorithm and postprocessing obtained rules is a Python script. For storing input data, algorithm parameters and results, we use PostgreSQL database management system. The GUI is based on PHP scripts executed as web pages by Apache 2.2 HTTP server. The operating system used for the server is Linux kernel 2.6.24-23. We are not limited to any particular operating system that should be installed on a server or client machines. The only specific software requirement is related to the machines on which a rule induction application is executed – on such computers MATLAB software with the bioinformatics toolbox must be installed. In case we need to add any new client application to the process of analysis, we can use any programming language or technology.
4
User Interface
The system is freely available, there is no need to create a personal account in RuleGO system. However, after data submission the user is asked to provide an e-mail address. This e-mail address is stored for information purposes only. Each user of RuleGO system has access to data submission form which is divided into two main sections: gene submission and rule induction algorithm parameters. In the gene submission part, the user can select an organism from the list of available species, submit a list of proper gene identifiers and a reference set of genes. In the rule induction section the user can provide the parameters for statistical test, choose the type of the gene ontology that will be used for creation of the decision table (biological process, molecular function or cellular component), select the minimal and maximal levels of the GO terms used, define minimal number of genes described by GO term, maximal number of rule descriptors and minimal number of genes supporting the decision rules. The user can also suggest a name of a job that will be further used to identify the results of the submitted task. The screenshot of submission form is presented in Fig. 2. After submission, data preprocessing starts. Gene identifiers provided by the user are translated into the UniGene symbols [10] that are accepted by MATLAB application. The list of gene symbols acceptable to the service is available on RuleGO website. If some of the symbols could not be translated by a preprocessor, the list of invalid identifiers is presented to the user. After preprocessing is finished, execution of rule induction algorithm starts. A web page is generated which presents current state of computation and provides the results of computations after the analysis is finished. Such web page is unique and related to the
RULEGO Bioinformatical Internet Service – System Architecture
165
Fig. 2. Graphical User Interface – new task submission
specific computational task submitted by the user. The user may access this web page directly or find it by a job name. The result includes a list of generated decision rules with additional information such as number of rules, coverage of the submitted gene set and other details of the experiment. Each obtained rule is presented with parameters such as accuracy, coverage, p-value, FDR, and quality measure value. For each rule following information also provided: a number of genes supporting and recognizing the rule, symbols of supporting genes, and a list of publications from PubMed database related to these genes. 4.1
Example of Analysis
In this section we briefly present the results of the analysis performed with the use of RuleGO application. We analyzed a group of 139 genes from one of the clusters described in paper [3]. Expression profiles of Saccharomyces cerevisiae genes were measured during several DNA microarrays experiments and divided into 10 groups based on recorded expression values. For one of these groups we computed decision rules.
166
A. Gruca et al.
We assumed following parameters for rule induction algorithm: hypergeometric test for over-representation of GO terms, significance level: 0.01, ontologies used: biological process, molecular function, cellular component, minimal ontology level: 3, minimal number of genes described by GO term: 3, maximal number of rule descriptors: 5, minimal number of genes supporting the rule: 2. After analysis we obtained 12 decision rules covering 100% of submitted genes. Below, we present one of the generated decision rules: rule No: 1 biopolymer biosynthetic process (sup=137)(rec=189)(lev=5) cellular macromolecule biosynthetic process (sup=137)(rec=187)(lev=5) rRNA metabolic process (sup=22)(rec=28)(lev=8) ncRNA processing (sup=22)(rec=24)(lev=8) ribosomal small subunit biogenesis (sup=10)(rec=10)(lev=6) => class is 1 Number of objects supporting the rule: 8 Number of objects recognizing the rule: 8 Acc:1.0 Cov:0.05755 PVal:0.00396 FDR:0.10246 Quality: 0.38299 Supp. genes: RPS11B RPS14B RPS11A RPS19A RPS0A RPS0B RPS19B RPS14A
5
Conclusions and Future Work
In this paper we presented a technical details of the RuleGO grid-based system architecture. The RuleGO system allows inducing decision rules that include GO terms in its premise. GO terms composing conditional part of the rules may be used for functional description of gene groups obtained as a result of DNA microarray experiment. We did not provided a detailed description of the rule induction algorithm as the main purpose of this paper was to present the architecture of the developed grid system. The proposed system allows us to make publicly available the rule induction method. Due to the fact that the rule induction algorithm is complex and has high computational requirements we designed a grid-based system to ensure that the RuleGO application can handle simultaneous requests from its users. The proposed approach supports executing computational tasks in a dynamic, widearea, heterogeneous distributed environment. The system architecture allows extending the process of analysis simply by defining new set of parameters and introducing new client type to the system. Presented application is an example of the popular tendency to share methods and algorithms among researches all over the world. Another example of such Internet service is NetTRS system [9] developed in our Institute of Informatics that makes algorithms of induction of decision rules based on rough sets tolerance model [12] publicly available. However, due to the specific structure of the rule attributes (GO terms), we cannot use standard rule induction algorithms for gene groups description purposes. The RuleGO service is still extensively developed. Future work will focus on extending functionality of the system – to reduce computational cost of the rule
RULEGO Bioinformatical Internet Service – System Architecture
167
generation process, another rule induction algorithm based on heuristic method will be available. Other works will include development of the module that will allow the user to obtain clusters of genes on based on their expression values. We are also planning to extend functionality of the grid system by adding modules for tasks monitoring and system load measuring. This can be further used for improvement of the system performance.
References 1. Ashburner, M., Ball, C.A., Blake, J.A., et al.: Gene ontology: tool for the unification of biology. Nat. Genet. 25, 25–29 (2000) 2. Baldi, P., Hatfield, G.W.: DNA Microarrays and Gene Expression. Cambridge University Press, Cambridge (2002) 3. Eisen, M.B., Spellman, P.T., Brown, P.O., Botstein, D.: Cluster analysis and display of genome-wide expression patterns. Proc. Natl. Acad. Sci. USA 95, 14863– 14868 (1998) 4. Chrost, L., Brachman, A., Chydzinski, A.: A program suite for distributed simulation of networks in multi-core environments. IEEE Computer Society Press, Los Alamitos (2009) 5. Gruca, A.: Analysis of GO composition of gene clusters by using multiattribute decision rules. Biocybernetics and Biomedical Engineering 28(4), 21–31 (2008) 6. Gruca, A.: Charakteryzacja grup genów z wykorzystaniem reguł decyzyjnych. PhD thesis, Silesian University of Technology (2009) 7. Khatri, P., Drăghici, S.: Ontological analysis of gene expression data: current tools, limitations, and open problems. Bioinformatics 21, 3587–3595 (2005) 8. MATLAB: Bioinformatics ToolboxTM 3 Users Guide. MathWorks, Inc. (2008) 9. Michalak, M., Sikora, M.: Decision rule besed data models using NeTRS – system overview. In: Peters, J.F., et al. (eds.) Transactions on Rough Sets IX. LNCS, vol. 5390, pp. 145–156. Springer, Heidelberg (2008) 10. Pontius, J.U., Wagner, L., Schuler, G.D.: UniGene: A Unified View of the Transcriptome. In: NCBI Handbook. National Center for Biotechnology Information, Bethesda (2003) 11. RuleGO, http://rulego.polsl.pl 12. Skowron, A., Stepaniuk, J.: Tolerance approximation spaces. Fundamenta Informaticae 27, 245–253 (1996)
On the Performance of AQM Algorithms with Small Buffers Łukasz Chróst, Agnieszka Brachman, and Andrzej Chydziński Silesian University of Technology, ul. Akademicka 16, 44-100 Gliwice, Poland {lukasz.chrost,agnieszka.brachman,andrzej.chydzinski}@polsl.pl
Abstract. Packet buffers in routers play a major role in congestion control in existing Internet. They compensate for the incoming traffic bursts transmitted by aggressive TCP applications. The appropriate sizing of buffers is important for providing equilibrium between the high link utilization, the loss ratio and the queueing delay. There is a growing need for routers with small buffers in high speed networks. In this paper we investigate the performance of active queue management algorithms with very small buffers. In particular, we show, that the use of very small buffers does not influence throughput on bottlenecked links if mixed (TCP / UDP) traffic is involved. On the other hand a very small buffer may lead to degradation of the inter-flow fairness.
1
Introduction
Network congestion control is a serious issue in modern Internet. The disproportion in available and required bandwidth leads to emersion of bottleneck links. This happens especially when TCP flows are considered, as TCP aims at full bandwidth utilization. A typical congestion avoidance mechanism consists of two elements: the TCP congestion avoidance algorithm and a set of network routers at bottlenecked links. The TCP congestion avoidance mechanism reacts to packet losses by reducing the sending rate, when the packet drops are performed by routers preceding the constricted links. Queue management mechanisms, namely Droptail and various AQM (Active Queue Management) schemes, are employed by the routers to avoid a serious throughput decrease in the case of a mild congestion. The AQM mechanisms allow adjusting dynamically target queue length and packet drop probability and thus outperform Droptail FIFO mechanism in case of light and moderate congestions. However, their performance may vary significantly in different network scenarios. The usage of both Drop Tail and AQM schemes rises many new issues one of which is sizing the buffers. The buffer size and the target queue size are two most important parameters considering queue management in routers. While the use of very large buffers
This work is supported by the Ministry of Science and Higher Education under grant KBN N N516 381134.
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 168–173, 2009. c Springer-Verlag Berlin Heidelberg 2009
On the Performance of AQM Algorithms with Small Buffers
169
lowers the packet drop probability, it also significantly influences packet transmission delays. Truncation of the buffer stabilizes the packet delays but it is believed to lead to bandwidth underutilization. The BDP rule (Bandwidth-Delay Product) is a common method for buffer size calculation. Twice the bandwidth-delay product of the network is widely accepted as the sufficient queue length for both Droptail and AQM schemes. Raina and Wischik [1] showed, that the usage of small buffers is more efficient for wide range of TCP windows sizes. Gorinsky at al. [2] suggested, that queue limit of 2L datagrams, where L is the number of input links is sufficient, while Appenzeller et al [3] claimed that drastic buffer size reduction is possible in backbone routers. Wischnik and McKeown [4] proposed that even very small buffers (20–30 packets) could be sufficient, causing very small throughput reduction. Enachescu et al [5] later proved this claim through numerous simulations. Dhamdhere at al. [6] pointed out other issues concerning the use of small buffers, like high packet drop ratio and insisted on BDP-based buffer sizing. We believe, that in order to solve this contradiction, more complex scenarios should be taken into consideration. Most of the aforementioned articles focus directly on the TCP-AQM interaction. The effect of the buffer truncation on UDP flows was omitted in the previous studies, while it is known that UDPbased applications can be more susceptible to high packet drop rate. We also show in this paper, that the inter-flow fairness declines, when very small buffers are used. Through numerous simulations we investigate the behaviour of various AQM schemes (namely RED, REM, PI, AVQ) operating with very small buffers (the target average queue length is set to 10 packets).
2
AQM Overview
Queue management is a very important element of the network infrastructure. It directly influences packet transmission delays. Implementing queue management algorithm to obtain a very low level of the very low buffer occupancy allows achieving high quality of offered services. However, it can lead also to the link underutilization. In this paper four different Active Queue Management (AQM) algorithms are evaluated along with the Drop Tail strategy. A short description of each mechanism is presented below. The idea of RED (Random Early Detection) is to notify the TCP sender about incoming congestion by dropping packets before the buffer overflow occurs. RED calculates the current network load by counting the exponential moving average of the queue size – avg. If avg is smaller than minth threshold all the packets are enqueued, if avg > maxth all the packets are dropped. When avg is between two thresholds, packets are dropped with linearly increasing probability. More accurate description of RED can be found in [7]. AVQ (Adaptive Virtual Queue) uses the idea of the virtual queue. A router with AVQ algorithm maintains a virtual queue whose capacity is less than or equal to the capacity of the link, c. To configure AVQ, the two parameters are required, namely γ and α which are the desired utilization and damping factor, respectively [8].
170
Ł. Chróst, A. Brachman, and A. Chydziński
REM (Random Exponential Marking) tries to regulate the queue length to a desired value qref . It updates periodically the probability of dropping packets with step γ. The probability is calculated using parameter Φ [9]. The PI (Proportional Integral) controller uses the knowledge of the queue size to clamp the steady value of queue length to the specified reference value [10]. It uses the well known idea from control theory. Although active queue management allows achieving the desired average queue length, the simple FIFO queue of fixed buffer size remains the most popular strategy applied at routers. The incoming packets are buffered until the queue is full. When there is no space left, packets are dropped.
3 3.1
Performance Evaluation Simulation Scenarios and Topology
The ns-2 simulator was used to study AQM performance [11]. The standard bottleneck network topology, used also in this paper is shown in Fig. 1. All nodes are connected to the routers with 10 Mbps links. The link propagation delay is set to 1 ms. The link from router R1 to router R2 is a bottleneck for each connection. The link has the propagation delay of 1 ms and the bitrate 10 Mbps. This scenario is a scaled-down version of the “Data Center” from [12]. We investigated four AQM algorithms namely: RED, PI, REM and AVQ. In addition we compared the results with a simple FIFO (DT) queue. The simulations were run twice for each algorithm, setting a large and a small buffer. PI, REM and AVQ proved to be unable to maintain a low target queue length if a large buffer was available, thus they were tuned to operate on very short queues. All parameters used in the simulations are summarized in Tables 1 and 2. Simulation traffic conforms to [12] and is composed of CBR, FTP and WWW connections. Three CBR, sixteen FTP and eight WWW connections exist on each sender node, the connections are established to the recipients located on nodes at the receiver side. The reverse path has almost 10% of background traffic consisting of nine CBR. Constant bitrate of the UDP flows is set to 125 Kbps, they use 1000-byte packet sizes. Over 50% of the flows perform bulk FTP transfer to the receivers. The remaining flows imitate http responses. The transmitted file
Fig. 1. Network topology
On the Performance of AQM Algorithms with Small Buffers
171
Table 1. Configuration parameters for AQM algorithms used in simulations with a small buffer Algorithm Buffer size Parameters changed DT 10 — RED 20 minth = 5 maxth = 15 PI 10 qref = 10 REM 10 qref = 10, γ = 0.001, Φ = 1.001 AVQ 10 γ = 0.98 Table 2. Configuration parameters for AQM algorithms used in simulations with a large buffer Algorithm Buffer size Parameters changed DT 120 — RED 120 minth = 30 maxth = 60 PI 120 — REM 120 qref = 50, γ = 0.001, Φ = 1.001 AVQ 120 γ = 0.98
sizes and time intervals between consecutive transfers are set using generators described in [13]. FTP and CBR flows are active during entire simulation run. WWW traffic is generated between 40th and 45th second of simulation. Each simulation is 130 seconds long. Statistics are collected during the last 100 seconds. 3.2
Results Analysis
Tables 3 and 4 summarize results for FTP and CBR traffic when small and large buffers are used. The goodput achieved by FTP flows is comparable in both cases and for all algorithms. However, the difference in fairness among flows is significant. There is a huge disproportion in goodput experienced by TCP connections in the 1st case resulting in a very low Jain’s index around 0.3. Only RED provides fairness for both FTP and CBR connections. It also provides the highest CBR goodput at the cost of higher drop rate for FTP connections. AQMs with a large buffer provide higher fairness for both FTP and CBR traffic. At the same time drop rate for CBR connections is twice as big as for FTP flows. The disparity is even bigger in a scenario with a small buffer. The collected queue statistics are presented in Tables 5 and 6. The observed throughput is very close to the bottlenecked link capacity in both experiment groups. We believe that the introduction of 10% UDP (CBR) traffic is sufficient to diminish the underutilization of the bottleneck link. More, this suggests the need of compound scenarios to be used in place of TCP-only AQM experiments. The high packet drop rate, observable for all simulations is not distributed equally between the flows. The UDP drops are more frequent than TCP ones, especially if short buffers are used. The effect is evident in Tables 3 and 4.
172
Ł. Chróst, A. Brachman, and A. Chydziński Table 3. Results for AQMs with a small buffer
FTP avg. thr [kbps] fairness avg. drop rate [%] fairness CBR avg. thr [kbps] fairness avg. drop rate [%] fairness
DT 187.57 0.29 8.65 0.64 78.45 0.98 37.20 0.93
RED 180.30 0.92 19.86 1.00 111.04 1.00 11.13 1.00
AVQ 186.43 0.32 8.02 0.62 84.29 0.95 32.53 0.80
PI 187.81 0.35 8.46 0.60 76.98 0.98 38.37 0.95
REM 187.57 0.29 8.65 0.64 78.45 0.98 37.20 0.93
Table 4. Results for AQMs with a small buffer
FTP avg. thr [kbps] fairness avg. drop rate [%] fairness CBR avg. thr [kbps] fairness avg. drop rate [%] fairness
DT 183.47 0.96 11.39 0.98 88.82 0.98 28.83 0.88
RED 180.12 0.97 17.64 1.00 113.01 1.00 9.53 1.00
AVQ 183.20 0.95 11.41 0.99 90.89 1.00 27.18 0.89
PI 180.60 0.97 11.97 0.99 103.24 1.00 17.31 0.94
REM 180.91 0.96 16.80 1.00 102.02 0.98 18.34 1.00
Table 5. Results for queue management algorithm with small buffers DT RED AVQ Avg. queue size [pkts] 8.43 8.97 9.05 Throughput [Mbps] 9.99 9.99 9.99 Drop rate [%] 12.54 18.75 10.93
PI 9.46 9.99 11.74
REM 8.43 9.99 12.54
Table 6. Results for queue management algorithm with large buffers DT RED AVQ Mean queue size [pkts] 116.7 43.9 118.62 Throughput [Mbps] 9.99 9.99 9.99 Drop rate [%] 13.89 16.60 13.68
4
PI 111.7 9.99 12.76
REM 51.9 9.98 17.05
Conclusions
We have showed, that the use of very small buffers (10 packets) does not influence significantly the aggregated throughput on bottlenecked links if mixed (TCP / UDP) traffic is involved. Hence, we believe that the throughput is not a sufficient criterion for the minimum buffer size evaluation. The results suggest, that some other parameters, like the drop rate and inter-flow fairness are at least as important. The current AQM implementations, except for RED, are
On the Performance of AQM Algorithms with Small Buffers
173
not suited for short queues, (in terms of maintaining a low target queue length) if operating with large buffers. Although the AQM schemes were capable of full bandwidth utilization in situation of low memory resources, they failed in terms of fairness and drop rate.
References 1. Raina, G., Wischik, D.: Buffer sizes for large multiplexers: Tcp queueing theory and instability analysis. Next Generation Internet Networks, 173–180 (2005) 2. Gorinsky, S., Kantawala, A., Turner, J.: Link Buffer Sizing: A New Look at the Old Problem. In: Proceedings of 10th IEEE Symposium on Computers and Communications, 2005. ISCC 2005, pp. 507–514 (2005) 3. Appenzeller, G., Keslassy, I., McKeown, N.: Sizing router buffers. In: Proceedings of the 2004 conference on Applications, technologies, architectures, and protocols for computer communications, pp. 281–292. ACM, New York (2004) 4. Wischik, D., McKeown, N.: Part I: buffer sizes for core routers. ACM SIGCOMM Computer Communication Review 35(3), 75–78 (2005) 5. Enachescu, M., Ganjali, Y., Goel, A., McKeown, N., Roughgarden, T.: Part III: routers with very small buffers. ACM SIGCOMM Computer Communication Review 35(3), 83–90 (2005) 6. Dhamdhere, A., Jiang, H., Dovrolis, C.: Buffer sizing for congested internet links. In: INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings IEEE, vol. 2, pp. 1072–1083 (2005) 7. Floyd, S., Jacobson, V.: Random early detection gateways for congestion avoidance. IEEE/ACM Transactions on Networking 1, 397–413 (1993) 8. Kunniyur, S., Srikant, R.: An adaptive virtual queue (AVQ) algorithm for active queue management. IEEE/ACM Transactions on Networking 12, 286–299 (2004) 9. Athuraliya, S., Li, V.H., Low, S.H., Yin, Q.: REM: active queue management. IEEE Network 15, 48–53 (2001) 10. Hollot, C.V., Misra, V., Towsley, D., bo Gong, W.: On designing improved controllers for aqm routers supporting TCP flows. In: Proceedings of IEEE Infocom, pp. 1726–1734 (2001) 11. The Network Simulator ns-2: Documentation, http://www.isi.edu/nsnam/ns/doc/index.html 12. Andrew, L.L.H., Marcondes, C., Floyd, S., Dunn, L., Guillier, R., Gang, W., Eggert, L., Ha, S., Rhee, I.: Towards a common TCP evaluation suite (2008) 13. Barford, P., Crovella, M.: Generating representative web workloads for network and server performance evaluation. SIGMETRICS Perform. Eval. Rev. 26(1), 151–160 (1998)
Adaptive RED in AQM Joanna Domańska1 and Adam Domański2 1
2
Institute of Informatics Silesian Technical University, Akademicka 16, 44-100 Gliwice, Poland
[email protected] Institute of Theoretical and Applied Informatics Polish Academy of Sciences, Baltycka 5, 44-100 Gliwice, Poland
[email protected] Abstract. The algorithms of queue management in IP routers determine which packet should be deleted when necessary. The active queue management, recommended by IETF, enhances the efficiency of transfers and cooperate with TCP congestion window mechanism in adapting the flows intensity to the congestion of a network. The article investigates the influence of the way of choosing packets to be dropped (end of the queue, head of the queue) on the performance, i.e. response time for in case of RED and ARED queues – two representative active queue management mechanisms used in Linux based IP routers.
1
Introduction
The algorithms of queue management in IP routers determine which packet should be deleted when necessary. The active queue management, recommended now by IETF, enhances the efficiency of transfers and cooperate with TCP congestion window mechanism in adapting the flows intensity to the congestion in the network. In this article we present analytical and simulation results and compare them with the behavior of this mechanisms in the real working routers. Our research was carried out in a laboratory environment. For the purposes of work the authors implemented RED and ARED mechanisms in the operating system Linux. Sections 2 and 3 gives basic notions on active queue management. Section 4 shortly presents analytical and simulation models of RED and ARED. Section 5 describes Linux IP router with AQM and discusses numerical results. Some conclusions are given in Sect. 6.
2
Active Queue Management
In passive queue management, packets coming to a buffer are rejected only if there is no space in the buffer to store them and the senders have no earlier
This research was financed by Polish Ministry of Science and Higher Education project no. N517 025 31/2997 and supported by European Network of Excellence EuroFGI (Future Generation Internet).
A. Kwiecień, P. Gaj, and P. Stera (Eds.): CN 2009, CCIS 39, pp. 174–183, 2009. c Springer-Verlag Berlin Heidelberg 2009
Adaptive RED in AQM
175
warning on the danger of growing congestion. In this case all packets coming during saturation of the buffer are lost. The existing schemes may differ on the choice of packet to be deleted (end of the tail, head of the tail, random). During a saturation period all connections are affected and all react in the same way, hence they become synchronised. To enhance the throughput and fairness of the link sharing, also to eliminate the synchronisation, the Internet Engineering Task Force (IETF) recommends active algorithms of buffer management. They incorporate mechanisms of preventive packet dropping when there is still place to store some packets, to advertise that the queue is growing and the danger of congestion is ahead. The probability of packet rejection is growing together with the level of congestion. The packets are dropped randomly, hence only chosen users are notified and the global synchronisation of connections is avoided. A detailed discussion of the active queue management goals may be found in [11]. The RED (Random Early Detection) algorithm was proposed by IETF to enhance the transmission via IP routers. It was primarily described by Sally Floyd and Van Jacobson in [9]. Its performance is based on a drop function giving probability that a packet rejected. The argument avg of this function is a weighted moving average queue length, acting as a low-pass filter and calculated at the arrival of each packet as avg = (1 − w)avg + wq
(1)
where q is the current queue length and w is a weight determining the importance of the instantaneous queue length, typically w 1. If w is too small, the reaction on arising congestion is too slow, if w is too large, the algorithm is too sensitive on ephemeral changes of the queue (noise). Articles [9,19] recommend w = 0.001 or w = 0.002, and [23] shows the efficiency of w = 0.05 and w = 0.07. Article [23] analyses the influence of w on queueing time fluctuations, obviously the larger w, the higher fluctuations. In RED drop function there are two thresholds minth and maxth . If avg < minth all packets are admitted, if minth < avg < maxth then dropping probability p is growing linearily from 0 to pmax : p = pmax
avg − minth maxth − minth
(2)
and if avg > maxth then all packets are dropped. The value of pmax has also strong influence on the RED performance: if it is too large, the the overall throughput is unnecessarily choked and if it’s too small the synchronisation danger arises; [19] recommends pmax = 0.1. The problem of the choice of parameters is still discussed, see e.g. [21,22]. The mean avg may be also determined in other way, see [20] for discussion. Despite of evident highlights, RED has also such drawbacks as low throughput, unfair bandwidth sharing, introduction of variable latency, deterioration of network stability. Therefore numerous propositions of basic algorithms improvements appear, their comparison may be found e.g. in [21]. In this article, we present analytical (based on Markov chain) and simulation models of RED and ARED. We assume either Poisson or self-similar traffic. Because of the difficulty in analyzing RED mathematically [24] RED and its modification ARED are studied in an open-loop scenario.
176
3
J. Domańska and A. Domański
Adaptive RED
In this chapter we present different type of RED algorithms – ARED (Adaptive Random Elary Detection) – for this alghorithm the RED parameters are automatically adopted for network traffic. RED algorithm is very dependent on the selection of parameters. For the ARED algorithm parameters are subject to conditions on the network. The main purpose of the use of RED algorithm is to achieve a low delay for packets placed in the queue and obtain the maximum throughput of the link. In the traditional mechanism of RED the selection of appropriate parameter values in order to achieve this goal is extremely difficult. For the small network load or for the high-value parameter pmax the average value of the lenght of the queue oscillates around the minimum threshold minth . For the high network load or for the small-value parameter pmax the average value of the lenght of the queue oscillates around the maximum threshold maxth and often exceeds it. For the ARED alghorithm parameter pmax changes in the router operation, so that the average queue length is maintained between the minth and maxth . This approach reduces the problem of variability in the queue delays and minimizes the amount of rejected packets. The changes made to the RED algorithm [11]: Every interval seconds: if(avg > target and pmax