digital object identifier: 10.4108/icst.simutools2009.5580

10
Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Upload: others

Post on 05-Oct-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

�� ��������� ��� �� ����������� � ������� ��������

���� ������������� ���� �

�� �������� ����� �����������

����� ����������� ������������������������ �

����� ��� ���������� ���� �

�� �������� ����� �����������

����� ����������� ����������������������� �

����� � �� �������������� ���� �

�� �������� ����� �����������

����� ����������� ����������������������

��� �

������ ������������ � ������������������ ���������� �

������ �������������������

���� ���������������� ���� �

�� �������� ����� �����������

����� ����������� ������������������������� �

��������

�� ������� �� ������� �� ������ ��� �������� �� �� ���

����� �� � ����� ��� ���� � �� � ��� �� �������� ����

� � ��������� ��� ���������������� ��� ���� � ������ ��

��� ��� ��� ��� ���������� ��� �� � ������� ����� ���

�� �� ���������� �� ������ � ����� ������ ���������

��� �������������� ���������� ���������� ��� ��� �������

�� ������� ����� ��� ������ �� � ����� ����� � �!���� ��

��� �� �� ������� � �� ��������� "���� �� ��� �� ���

������ �� ������ �� � ����� ���� ��� �������� �� �������

���� �� �� ������ �������� ��� �� ��� ��� � �� �� ��������

#����$������ �� �� ������� ���� � � �� ��� �� �������� ���

��� ����� ������� �� �����$��� ����� ��� �� ������� �����

%� �!�������� ���� �� ���� �� ����� ��� � ������ �������

�� �!����� ��� ��� ��� � ���� �� ����� ����� �� ��� ������

������

����� � ��� ������ ���� �����

#�&�' (��������������� ��� ��������)* "������ +���

���,���������� ���� �����- .�/�0 (����� ��� � �������)*

+������ +����� +�����,������������- "�&�& (����� �� �

�������)* "���� 1���� ��� 1����$���,����� ����

�������

"������ ������� 2 ����� �������� ��� 3�� �������� +��

����� ����

�� ������������4�� ����� ��������� ������� �� ��� ����������� ������

��� �� � ������ �� � �� �� ������� ������ ����� ��� ��� ���

���������� � ��� �� �� �� ��� ������ �� �� �� �� �� ��� ���� ���������� �� �������� ��� �� ���� ����� ��� �������� � ������ ���� ��� �� ��������� ��� ���� �� ��������� ��� � �� � ��������� ��� ����� �� �� ���� ����� �� �� ��� � �� �� ���� ��������� ����������� � ��� �� ������� �� � ���������� � ����� �������� ����� ����������������� ����� ������ !����� "##$� %���� ���&����� � "##$ �&�� $'()$*+)$'$$),-)-�

��� ����� �� ������� � ����� �������� � ���� ���������

� � ����������� ������� .� ���� � ���������� �� ��� �� ����

����� ������������� ��� ��� ��� �� ������� ��� �������� 5�!�

��� �� ������� �� ���� ����� ��� ��� ��� ����� �� �������

��� �� ��� ����� %� �� �!������ �� �� ������� � ����� ������

��� �� ����� �� ���� ����� ��� ��� �� ��� ����� �� ������

�� ����� ��� ��$��� ��� �� ��������� ����� ��� $����

�������� � �� ������� �� ��� ������� 6�#�� ����� ������

�� �����7 ��� ��� ������ �������� �� ��� ����� � �����

�������� ��� ��� �� ��� �� ��� �� ������� � �� ���- �� ���

$����� ��� � �������� � �� �� ������� ����� ��� ��� ����

��� � � ��$����� ��� � ����� ��� � � $���� �� ����� �

�� ��������� � �� ���������� �� �� ��$�����8� ������� ��

��� � ��������� ��� �� ����� � ������� � �� ��$������

1�� �� ������� �� ���� � ����� ��� ��� � �� �� ���� ��� ���

� �� �������� �������� ��� �� ���� � ������ �� ��� �� ��

� ����� ������� ������� �� ���� ��� ���� 4��� ��� ��������

�� �� � ������ �� �� ������ ��� ������� ���������� � ��

���� � ������ �� ��� �� � ���� � ��� �� �� ����������� �� ��

��� �� � ��!����� +������ � � ����� �� ����������� �� ��

�������� ��� ��� �� ���� � ����� � �� ��� ���� ��������

���� �� ����� ��� �������� �� �� ��� �� � ���� ������� �� �

�������� ���� � �� ���� �� ����� ���������� �� ���� � ����

�� �� ������ �� �!�������� ������� �� ������� ������

����� �� ����� �� �� � ����� ������ ������� ��������� �����

�� ������ ��� ������ ���� ��� �� � ������ �� �� ������������

.� �� ������ �� ������� �� ������� �� ������ ��� ����

����� �� �� ������� �� � ����� ��� ���� .� ��������� �� ���

#�3 1���� (9') ��� ���� ��� ��� � � ��������� ��� �������

��������� ���� 1���� ��� ��� �������� � � �� ��� �� �������

�� ��� ���������� ��� �� � ������� ����� �� �� ��� ��

���� �� ���������� �� ������ � ����� ������ ��������

��� 2�� ��� ������� �� ������� ����� �� �� ��� �� ���

�� �� � ����� ����� �!���� �� ��� �� �� ������� � �� �������

��� "���� �� ��� �� ��� ������ �� ������ �� � �����

���� ��� �������� �� ���������� �� �� ������ �������� ���

�� ��� ��� � �� �� �������� .� ��������� ��� ��� � �$�����

�� �� �������� ������� ���� �������� �� ��� ��� � �!�

���� �� ��� �� � �� ������ � ����� ������ � ��!��� ��

����������� �� �� ��� ��� %� �� �������� �!������ �� �� �

�� ������ � ��� ��������� ��� �� �� �� � ����� ������ ����

���� �� ���� � ����� ����� ���� ��� �� ������� 1�� �!����

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 2: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

����� ������ �� � ����� �� ��� �� ������ ��� ��� �������

� ������ �� �������� �� �� �� ��� ���

+� ���� ���������� ��� ������ ������ �� � ���� �������� ���

�� ������ ��� ����� �� ������� ��:�� ��� �� ������� ��� ��

� ������ ;���� (/� 90� 9<) �� � ���� �� ��� �� ����� ������

������� ��� ;���� (9� 99� 9&� 9=� 9/) �� � �� ������ ���� ������

���� ��� �� ������� �� � ����� �������� #������� �� ����

����������� �� ����� ��� �������� � ��������� �� ��������

��� �� ��� �� � ����� �� �� ���� ��$�� ������� � �������

�� ��� �� �� ����� �� ��� �� � ������ >��� �� ������� ����

����� � ��� ��� ��� ���� (9?)� �� ��� ��� ���������� ��� �

� ������� ��� �� �������� ���� � � �� ��������� ��� ��

�������� ���� � ������ �� ��� ���� %��� �� ��� ��� ��

�������� ������ �� ������ � ����� �� ����������� �� ��

��� ��� @� ���� �������� �� ������� ��� ����� �� ������ ����

��� ���� �������� �>. ���� #�3 1����� ���� ������ ��

� ����� ������ ���������� +������ �� ��� ��� �� ���� �����

��� ��� ������� ���������� ����� ��� ����������� ��������

������ ���� � ������ �!����� ��� ��� �� �� � �������� �!�

������� � ���� ������� �� ������ � ��������� �� ���

������ �� ��� ���� % ���� ������ �������� �� �� �� ������

�� ��� ������� �� ������ ����� �� ���� ������ ���������

��� ��� �� � �� � +���� /�

� �!�"��!� �� �"!�#�$ �!�%����&

���'��!����! ��� !(�)*#!%� ������ ������� ������ �� ������ ���� 6�� ����� �����

��������7 �� ������ ��������� ������ � ��� ��� �� ������

1���� �� � ����� ������ ��� �� ������� �� � ������� ������

% ����� � � � �������� 5�� ������� �� � �� �� A�������B�

.� ��� ����������� �� ������� ��� ��� �� ��� �� �� � �������

��� �������� �� ���� �� ��� �� � �������� �� �� � ����� ���

����� �� � ����� ����� ���� � �!���� �� �������� 5�� �

������� �� ������� �� �� ������� �!������ �� ������

�� 67 ���� ������ � �!����� �� ��� �� �� � ����� ������ 67

���� ��� ������ � �!���� �� ������� � ������ �� ��� �� ��

� ����� ������ ��� 67 � ��� � ����� ���� � ������� �� ���� ��

��� ������ ��� �!����� � ��� �������� �!����� �� �������

��� ������ �� ������ �� �������� ��� � ���� ���� ������

>���� �� ��������� � �� ������� �!������ ����� � ��

�������� ��� ���� � ����� ����� ������ ���� � � ��� �� ��

� �� ��� ���

%� �� �!����� �� � ������� �!����� �� � ��� �� �� �� � ���

��� ������� �� ������� � ������ �� ���� �������������� � �����

����� �� ����� � �� 9 ��� � AC��� ��� D����B ��� �� 6C�D

��� �� � ����7 �� ��� ��� � ��� �������� ��� �� ��� �����

����� �� ����� � �� &� 1�� ��� �� ���� �� ��� ���������

A%B ��� A@B� ���� ��� ��� �������� ��� �# ����� ��� ��� ���

��� ������ ������ ���� 1�� ��� �� ���� ���� �� ���! ������� ��

����� �������� ���� �� ��� ������ ����� � ���� �������

���� ����� �� � ��� � ��$����� �� � �� �� ��������� �� ����

�� ��� ���� �� �� ��� ����� ���� �� ���! �� ������ ��

� �� �������� ��� ������ �� ���������� ����� .� �� ��$�����

��� � ����� � �������� A@B� ��� �� ��� �� :�� ����� ��

����� ���� �������� A@B ��� ��� ��� � �� ��$������ .� ��

��$����� ��� � ����� ���� � �������� A%B� ���� ����� ��

�� ����� � �� �������� ��� ����� ������ ��� �� ��� �� ���

��� �� ����� ���� �������� A%B� �������� �� ��� � �

��� ����� ������ ��� ��� ��� ��� �� �������� ��� � �� ���

$������ .� �� ���� �� �������� ��� � �������� � ��������

A@B ����������� ������ � �� ��� ����� ���� �� ��$�����

���� ��� �� ��� �� :�� ������ �� ��$����� �� ������ � ���

xxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxx

Internet

overlay node

overlay link

������ �� ����� � ������ �����������

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Video Repository A (for PC)

Video Repository B(for Mobile)

video repository index����������� ���

�� ����������

���� ������������������

���� ����������

�����������

�������

������ ��

��� ����������� ��������

����������������

������������� ���

��� �������� ����

���������������

���������������

������ ��

������� �� �

������� �� �

������ ��

����

� ��

����

�� �� �

�����������

�������

������

������� �� �

������� �� �

��� ������ ��

������ ��

������ ��

�����

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

������� �� �

������ !� ����� � ������� �" ���� #$%���� ��� ��&���' #%��(

�������() ����� � �������� ���� ����� ����� ������* �����

�� ������ � ���"�� �� ��� �+�� �� ������� ������

���������� ��������

���� ������� ��������

.� �� �!������ �� ������ �� �� ���! ��� �� ���������

��� ������ �� ������� � ����� ����� ��� ���� ������� �������

���� �� ��� ���� ���� ������� �� ���� ��������� %����� ����

���� � �� ���� ��������� ��� ����� ��� ������� �� �������

��� �� ��� ���� � ������� �������� .� ���� � ������� ���

������� � ������� �!����� �� �� C�D ��� �� ��� �� �� ����

����* ��� �� � ����� ���� �� ��� �� �� ��� �� ������ ���

������ � ��$��� �� �������� ���� � ��$������ 1�� ��$��� �

��� ��������� � �� � ����� ���� �� ������ �� ���!� ����

� �������� ���� �� ����� �� ���� �� � �� ��������� %��

������ � �� ������ ��� �� �� � ����� ����� �� ����� ������

��� A%B �� A@B ���� �� ��� ��������� �� ����� � ����������

1�� ���� ������������ ����� � ��� ���� � �� � ����� ����

�� ���� �� �� ��$��� ���� � ��� ����� ����������� �� ���

$������ .� �� �!������ ���� ���� �� �� �������� �����������

� � ������ �� �� ��� ���

.� ��� ��� ��� ���� (9?)� �� �� � �������� � ����� ��� ����

���� � ����� ��� ��� �� ������ �������� ��������� ��������

������ ��$����� �!������ �� ������� � �� �� ��������� 6���

�������7� .� ��������� �� �������� ������� � ����� ��� ��� ���

�� ������ �� ��� ���� ������ �� ��������1������ ���� ��

���� �������� �� ������� � ��� � ������� ���������� ��

�� ��� ���� .� �� ������ ����� �� �� ����� �� ��� �� �� ��

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 3: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

p1

2<x, y>

p2 p3

p4 p5

<z> <w>

x=z /\ y=w

2

2<"a", "b">3<"a", "c">

t

<"a"><"b"><"c">

p1 p2 p3

p4 p5

<x@z, y, z>

t

<x@z, y, z>

2<x, y> <z> <w>

2<"a", "b"><"a", "c"> <"b">

x=z /\ y=w

<"aa", "c", "a">

2

6�7 @����� ���� �� �� 6�7 %��� ���� �� ��

������ ,� �" ���� �� -����� ��./� ����� ��

������ ��� ��� �������� �� �� ������� �� � ����� ��� ����

1�� ��� ����� �� ���� � ������� ������� � ����� ��� ���

�� ���� ������ ��� � ������ �� ����������� �� �� ��� ���

� ���� ������� �� �������

+� )��!#��, �"!�#�$ �!�"��!�.� �� ����� �� ������� �� ��������1������ ��� 6���1�

���7 ('� =) ����� ���� ��� ���� � ����� ��� ��� ��� �� ���5�

������� �� ����� �������� � ��� ��� ��� ���� (9?) � ��� �

� ������� ����� �� � � �� ��� ��� 1�� ��� �������� � ��

����� � ����� �� �� ������

+�� *�� ���-����� � �� ��.� �� ����� �� ���� �� ��� ��� ���� �� ���1����� ���1����

��� �!����� ��� ��� ����� ����� �� � ����� ��� �� ������

�� ������� ��� ������ �� ���� ������ �� ��� �� #�������

��� 3� 6#�37 (<) � � ����� ������ �� ��� �� �� ����� ��

�� �������� 1���� ������ �� � ������ ������� ������ ������

��� ����� ��� ��� ������ 6���� �� #�3 1���� (9')7 � �������

���� ��� ������� ����� ��� ������� ������� ������ (&)� ����

������� �������� (E� 0)� ������ ������ ��� �� �� (<� 9E)�

.� ��� ���� � ����� 6������ �� � �����7 ��� � ������ 6���

���� �� � ��������7 ��� �������� ��� 6�� ����� ���7 ��� �

���� ������ ���� % ����� ��� � ������ ��� �� �������� �� �

������ ���� ������ �� ��� 6������ �� �� �����7� 1����� 6������

�� ����� ���7 � ������ �������� �� ������ ��� �� �� ������

��� �!����� 6A����B � �� ��� �� ���������7 �� � ������

��� ��������������� ����� ������ �� ������ �������� � ��

�������

�������� � ���1����� ���� ������ ��� � ������ � ����

����� � ��� � ����� 6������ �� � ����7 �� �� ���� �� �����������

����� �� � � ��� � ������ �� � � ������ �� ������� ���

���� ��� ������ ��� � � �� ������� �������� � ����� �������

� ����� �� ����� � ��� �� � ������ ���� �� ���� � � ������ ��

����� � � ��� �� ������ % �� �� ����� ���� ��� �� �������

� �� ����� �� �� ������ ��� � ������ � � ������ �� ��������

��� �� �� ���� D���� ��� � ������ � ��� �� �������� �� �

������ ������� �� ������� ���� �� ������ �� ������ ���� �� ��

������ � �������� #������ ��� ������ ���� ������� ����

������� % ������ � ��� ��� ��� ���� �!�� �� ��������� �� �

���� ��� ����� �� � ��� �� �������� �� ����� � ������� ��

�� ��������� �� ������ �� ������ �� �� %���� ���� �����

�� ��� ���� ������ � � � ����� �� ��� � ����� �� �� ���� ��

������������� ����� ��� � � ��� � ����� ��� �� � � ������� ��

������ ������� �� �� ������ ��� ������ �� � �� ������� � ��

<keys>P5: video repository index

<retrieve(keys, index)>

<"news, baseball, Oct. 1">

<B>

<INDEX>

repo=="B"

<A> repo=="A"

repo=="null"

P7: video repository B (for mobile)

P6: video repository A (for PC)

P2

P4 : service output

T1:search video index

T4: obtain video from repository B

T5: notify no video is found

T3: register transcoded video to repository B

<index><index>

<repo,id>

<b><b>

<a><a>

<id, transcode(retrieve(id,a))>

<repo,id>

<repo,id>

<retrieve(id,b)><b>

<add(id,v,b)>

<id,v>

<null>

T2: obtain video from repository A and transcode

P1: service input

P3

<v>

������ 0� %�� ������� �� ��� ! ���� ��� ������ � -�./��

/ &�� �� �" ���� �� �� �� ��� ��� � &�� ��� %�� �������

������ ;��� F�����

�9 ��� �� ��� 3��� 9

�' ��� �� ����

�= ��� �������� ���! 3��� &

�& ���! ������ �����

�/ ��� �������� % 3��� E

�E �������� ������ �����

�0 ��� �������� @ 3��� '

�� �������� 1��������� � � ����� �� ����� �� �� ������ �� ��

������ ���� ���� � ��� �������� �� �� ������� ��� �����

�������� � �� ���� ��� ������� 3�� ��� �� ����� ��� ��������

��� �� �� �� ���� ������ �� ��

.� �� E6�7� �� ������ ��� � � ���� ��� ���� ��� ��� �� ��������� �� ����� � ��� � ��� �������� 1�� ����� �� �� �����

���� ������� �� � ��� �� ����� ��� ��������� � ����� �� ���

�� ���� �� ������ �� 4���� ���� �� �������� ��������� ���

��A�B�A�B� � �� 6A B ��� AB ��� ����� ����7� �A�B� ��� �A�B� � ����� �� ����� ���� ����� � �� ����� �� ������ �� �� 6� �� � � � �7� � ��� ��� ���� ���� ���� 3�� �� ����� ����

����� ��� ���������� �� ����� ��� � �� �������� ������� %���

�� ���� �� �� ��� ����� ��� �������� � �� ���� ������ �� ���

�� ���� ���� ���� ������ 1�� ������ ���� �� ���� �� � �

����� � �� E6�7� 3�� �� AGB � � ���������� ������ ��

�� ������ 1��� � ���� �� ����� A B� AB ��� A B � ��������

� ��� 1�� ��� ����� A9B� ���� ����� �� ��� ��� �� ��� ����

���� ������ � ���� � �� �������� �������

+� �.�/�� ��. � ���� �� �� �� ' ����� �� �!����� ���1��� ���� �������� �� C�D

��� �� �� �� &� ������ ��� ���� � �������� ��� �� ������

����� ������� ������ 6�� ��� ���������7� ��� ������� ����

�� ���� ���� � ���� ����� �� ���������� .� �� '� ������

�� ��� �� ��� �������� � �������� �� ��� ��� ���� ������ ��� �� ��$����� ������ ���� ������ �� ��� �� ��� ��������� �������� ��������� A%B ��� A@B� ������ ���� ��� ������ ����� � ��� �������� � ���� �� ������ �� ���� ��� �� �� ���!

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 4: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

P6: videorepositoryA (for PC)P5: video

repositoryindex

<keys>

<retrieve(keys, index)>

<"news, baseball, Oct. 1">

repo=="A"

repo=="null"

P2

P4 : service output

<repo,id>

<repo,id>

<repo,id>

P1: service input

Node 1 (P1,P4) Node 2 (P2,P5) Node 3 (P6, P3) Node 4 (P7)

<keys>

T1.α12

T1.start

T1.α12

<keys>T1.read

T1.commit

<keys,index>

<keys,index>

T5.α21

T5.start

T5.read

<null>

T5.α21

<null>

T2.α23

T2.read

T2.commit

<A>

<a>

<repo,id>

T3.α31

<id,v>

T3.read

repo=="B"

T4.α24

T4.start

<id>

T2.α23

T2.start

<index>

<index>

<INDEX>

<null>

<v>

T3.α31

<v>

<v>

T3.commit<v>

<a>

<repo,id,a>

<repo,id,a>

<id, transcode(retrieve(id,a))>

T3.start

<v>

T5.commit

T4.read<id>

T4.β41<id>

T4.α21

<φ>

T4.α21 T3.α34

<id,v>

<null>

<null><b>

<retrieve(id,b)>T4.commit

<id>

P3

P7: videorepository B(for mobile)

T3.α34

T3.read

T3.commit

<b><id,v>

<B>

<add(id,v,b)>

<id,v,b>

<id,v,b>

<id>

T4.α34

T4.read

T4.commit

<b>

<φ>

<b>

T4.β41

<b>

<b>

<b>

������ 1� 2�����&���� %�� ������� �� ��� ! ���� �� �� ��� ��� �� / &�� �

��� ���������� ������ ���� .� ������ �� ��� �� ����� �� ��

��� ���� � ������ � � ����� � �������� � ������ �� �� ��� ��

��� ���� ��� �� ������ � �������� ������������ �� �� �!�

������ �� ���� �������� �� �!������ ������ �� ��� �������� ��� �� �� ��� ������ ��� ������ � ��� �� �� ���� �������1�� ����� ���� �� ������������������ �� �� ��� ���� �� ���������� �� ������ ���� ��������� �� ��� ����� 6�� ����

�� ������������ �7 ������ ���� �������� A%B �� � ��������

���� 1������ �� ���� ��� ������ ����� � � �� ��� ���� ������� ��������� �� ������ �� ������ �� ��� ����� ����

���� �������� A%B � �� ������ ������ 2� ���� �� ��� ������ ������� ��� �!����� � ���������

+�+ */�� �//���� �� �� �.�/�� ����2�� �� �� ������ ������� �� ��� ���������� � � ��������

��� �� ��������� ���� � ����� ������ ����������� %������

����� �� ������� ��� ������� � ��� ��� ��� ���� ���� �����

�� �� ����� ������� �� ���� 1�� �� ��� ��� ����� � ��� ���

��� ����� � ��� ����� ���� ��� ������ � ���� ��� ����

1� ��������� ��� �� ����� � �� � (9?) ��� ��� � ��� ���

������� �� � �� ��� �� �� � ����� ����� ������ �� ���

������ �� �� ������ � �� � ����� ������ 4��� ��� � �����

�� �� ����������� �� � ��� �� � ������� �� �� �������� ��

������� �� �!������ �������� � ���$�������������� ������� ��

�� � ����� ���� �� ���� �������� ����� ������� ����� � �

����������� ��������� %���������� � (9?)� ������ �������

� � �� ��� �� �� � ����� ������ �� ����� �������� �� ������

�� �� � ����� ����� � �������� ���� � � �� �������

������ 1�� ����� ���� �� ������ �� �������� ����� �� ��

� ����� ������ �� ������ �������� ��� �� �!����� ��������

�� ������� � � �� ��� ��� ��� ������� �!������� ���� ����

����� � ��� �� ����� ����� �� �� �������� 1�� ������ ���

����� � (9?) ��� � ������ �������� �� �� ������� ������

1�� ��� �������� � �� ����� �������� �� �������

������ .� ������ ������� � ���� ���� �������� �������

�� ���� �� ����������� �� �� � ����� ����� ��� �� �������

1�� ����� � ������ �� ����������� �� � ������� ��� �� ��

��� �� ���������� � +���� =�

+�0 �� . � � ��� ���� "�� �� �1 ��. ��� ���5� �!���� �� ������� ��� ��� �� � ������� ���

��� �� � � �� ��� ��� 1�� ������� ���� � ���1��� ��������

�� � ��� �� ��� �� �������� ���� �� ������ �� � ����� �����

6������ �� � �� ���� ����7� ��� ����� � ������� ����� ��

�� ��� �� ���� � � �� �� ���1���� �� ����� ����������

���� �� ������ �� ������ H��� ������ ���1��� �����������

� �� ���� �� �������� �� �� � ����� �����

�� ������ �� �� ������ �� � ������ ���� A�����B 6� �

���� � �� ��� ��� ������� ��� � � �� � (9?)7 � �� ���1����

�� �� ������� ����� ����� � ��� � �������� �� ��� ���� 6����

��� ���� � �������7 �� � ������� ���������� ������� ���� ����

� � ���� �� .� � ���� � �� �� ����� A�����B � ���� �� �� ���� �

� ������� ���� �� ��� �� ��� �� ���� ����� A�����B � ���� ��

1���� ������ ��� ������ ������ ���� �� ��� ��� ��� ��� A�����

������B � �������� ��� ��� (<)� 3�� �� � ����� �� ����

���������� ������ ��� ���� �� ������ � �� �!����� ��

������ �� �� �� ��� ��� .� �� �������� ������� ���������

�� ������ ��� ���������� �� ���� ������ �� ��� ����� �����

%���� � � ������� ����� �� � � �� ��� ��� �� ������� � ���

��� �� ������ ������ �� �� ���� � ����� ��� ������� �������

�����

�� = ����� � ������� ����� �� �� ��� �� �� �� ' ��

���� � ����� ����� ����� �� �� ����� ������ ���� � 1���� 9�

1�� ������ ��� ����� � (&I) ��� � ������� �������� �� �� �����

���� 4���� �� ��� �� � ����� �!����� �� ���������� ���

����� ��� ���������� ��� ��� ��� � � �� ��� �� � � �������

�� ������ ��� ��� ���� ������� � ���� �� � �������� ����

���1���� �� ���������� ������� .� �� �������� ��� �� ��

� ����� ����� �� ��� ��� ������ �� � ������ � ������� �� ��

���� �� ���� �� �!����� �� �� ������ 6���� � ���� � ������

�� ������ ��� �� �� ������7� .� �� =� ���� � � ������� ���� ������ ���� �� �� ���� ��� ����� ��� ����� �� �� ���

����� �� �� �� ���� �� � ���� 6� ��$��� �� ��������7� ����9 ������������ ����� �� ���� � ���� & ���� ��� ����� ������� �� ���������� ����� A������B 6 � ���� ���� ��

��� ����� 9 ��� & ������ �� ���������� ����� A������B7�

%��������� � ���� &� �� ���� �� ���� ��� ���! � � ����

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 5: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

��� �� ����� �������������� ������ � �������� �� � ���� ������� �� � ���� &� 1�� ������� �� ���� �� �� ��� ����� ����������� � ����� �� ��� �� �� � ����� �� �� ���� ���� �� ������ J����B � ��� ��� �� ���� ��� ���� �������� �� ������� �� �� ��� ��� �������� �������������� ������� 1��

������ ��� ���� �� �� ���1���� �� �� = ������������� ��

��� �� �� �� '�

0� ���!,���!� !�"����)!��2�� ������� �� ������ ����� ������ �� �� �������� �����

���� ���������- 67 ��������� ����� � �������� �� ��� ��

������� ������ �� ��� ���� 67 ������ � ��������� �� � ��

��� �� �� ������� ��� �� �������� ��� ������� �� A�����B

�������� �� ������ ��� ���� ����������� �� �� ��� ���� 67 ����

�� � ��� ���� �� ������� ������� ��� �� ��������� ����

� ���1���� ��� �!����� �� ��� ��� �� � ����� ������ ��� 6 7

������ � ������� �� ������ � ����� ����� ��� ��� �����

0�� � ��� ���� ��. � ,������ ��� ��������� 2 3�

1�� ������� ��� �� �������� ���� �� �� ��� � ��� �� ���

�� ���� #�3 1����� ����� �������� � #�3 1���� KDF ������

��� � �������� ��� �� �� � �� ��� �� ������ ���� ��� ����

����������� KDF ������ ������� ��� �� �������� D���� ��� ��

�������� ���� ���� ���� �������� �� � ����� ������ ���� ��

�� ������ �� � ����� ����� ��� �� ����� �������� .� ���������

��� �����

1�� ��� �� �������� ��� �� � ����� ��� �� �������� ���

� �� � �� �������� ������ ���� ��������� ���� �� � � ��

�������� �� �������� �� ������� ���������� �� � ����� ������

����� �� ������ �� ����������� �� �� ��� ��� 2�����

�� ����������� � ���� ���� �� ����� ����� ��������� 6.F�7

����� � �� (9?) ��� ���� �� ������� ������� ��� ���

���� � ������ �� ��� #�FHK � ��� � �� ������� �������

��� ���� � ����� ������ ���� �� ���� �� �� ��� �����������

� ���� �� �� ��������� ��:�� � �������� @���� �� �� ��� ��

����� ������ ����� �� ������������ ������� ��� �� �������

�� � ��� ��� �� �� �� ������� ��� �� ��������� 4��� ���

��� � ������ ��������� �� ������ ����� �������� ���� ��

������ ��� �� � ���� ������������ 1� ���� ���� ������������

�� ��� �� ���� �������� ���� �� � ����� �������8 �����

���� �� �� � ����� ��� ���� 6����� ��� �������7 ��� �� � ���

��� ���� ���� 6#�> ����7 ���� ��� ������� ������ � ����� �

�� ����� 1���� �� ��� ���� � ��� ���� �� ������� �����

��� ��� � ������ �� ������� �� �!����� �� �� ��� ��� ��

������ ������ ���� �� ���� ������ � �� ���� ��� ��� �����

���� �� �� ���� � +���� =�

0� ��. � !4����1�� ��������� �� �� ��� � �!����� ������ � ����� � ��

/� 1�� ������ � ������� �� �� ��������� �� ��� �� ������

��� ������� � ���������� ��� � �� �� � ����� ������ 1�� ����

������ ������ �� �� �������� �� �� ������� ��� ���� ����

���� #�3 ���� ������ ��� � ����� ��������� �� ������� ��

�!������ �� ��� ����� �� � ����� ����� ��� �� �!����� ��

������� �������� � �� �������� ��� ��� �� �� ���������

1�� ��� �� ������ ��� ��� ��� ����� �� ��� �������� ��� ���

������ ��� ��� ��� ���� ��� � ����� ������� ������ �� ������

�� �!������ �� �������� ��� ������ ����� ��� ��� ����

1�� ����� ������� ���� �� ��$���� ���� ����� ������ ��

��������� ���� �������� 1���� ��$���� �� #�3 �������� �

�� � ������������ ���� �� �� ��� ��� 1�� ��$��� � ������

������ �� ����� ���������� 1�� ����� ������� ���� ��$����

CPN Interpreter

ControllerSystem

Controller

Overlay Nodes Node A

Node B

Node C

Commands for Execution

Data Exchange

Service Access Pointrequest

Input / Output Data

SystemInterface

Usersrequest

reply

UserInterface

Data Exchange

Data Exchange

reply

������ 3� �������� �� ������� �"������

SSH ClientSSH Client

Node 3

System Controller

Event MonitorNode MapperMessageProcessor

Node 2

SSH Client

Overlay NodesSCP Client etc.SCP Client etc.SCP Client etc.

I/O Controller

Data Synchronizer

Node 1Command Controller

SSH Client I/O

NodeMaintainer

������ 4� ������ ���������

�� ��������� � �� ������������ ��� ��� �� � ����� ������

%��� �!����� �� ��� ��� �� ����� ������� ���� �� �� ����

�� �� ��� �� ��� ������ ���� � �� ����� ����� 1�� ���� �

��� ��� � �� ���� �� � >;F�

1�� ������ ��������� � ������� �� ����� � �� 0� 1�� ����

������ ������� �� �!����� �� � �� � ����� ����� �� ���� ��

�������� ���� �� #�3 ��������� ���� �� ����� ����� ��

����� �� #�3 �������� ��� ������� �� ������� ��� �� �

�� ��������� %��� ����� �� 6�������7 ������ ������� �����

�� �� ��� �� � �� � ����� ����� �� �!���� ���� �������� 1��

�������� ���� ����� � � ��� � ����� ���� �� ������� �����

���� �� ����� �� ���� ����� � �!���� �� ��� �� �� ��������

�� � ����� ���� �� ���� ������ D������ ��������� ������

�� ����� ��������� ��� �� � ����� ����� � ���� �� �� ���

��������� D���� ��� �� �������� �� � ����� ����� �� � ���1�

�� ��� �� �� �� ����� � ����� ����� � ���� �� � ��� ���

���� H ��� �������� � ��������� ���� �� +����� +4��� 6++47

������� ��� �� ����������� ���������� ��� �� �� �����

��������� � �������� � �� ������� .�2 �� �� ++4 ��������

������ ��� ����� � � ������� ������� �� ���������� ��

������ �������� ������ �� ����� ��������� ��� �� � �����

������ ������ ���� ��� �������� ������� �� ��� ���� ��������

� � ��� � ����� ���� ���� �� +#� �� �� ;+L3# ���������

1�� ����� ��������� ��� �� ����� ������� �� ���������

�� #�3 �������� ��� �� � ����� ������ ���� �� #�3 ����

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 6: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

/ &�� !� ������ ���������5� ���� �� ��� ����� � ����

������� ���� �� ����8� ���� ��

������ ���� ���� � �������� ��$��� � ��������� ���� �� ��� ��� ������ � �������� ��$���

���� ������������ ���� �������� �� �������� �� ����������� ������� �!����������� ������ �!���������� ���� ���� ���� ���� � �����!���� ��� �!���� ��� ���� �!���� ����� ����� ������ � ��������

��� �� �����8 ������ �� ���� �����! $� ���� ��� ��

����� ���� �� �!������� ������� �� ������ � ���� ��� ��

�������� �� ���������� � � ������� ��� �!����� � �� ����

��������� � ����� ������ 4���� �� ��� �� � ��� ����� ��

���� �� ������� � �� ���������� ���� �� ������� �����

���� �� ������� 6���������� �� ������ �� ���� ����7 ���

��$��� ���� �!����� ��� �� �!������ � �� =� ����!!��

�� ���� E ��� � ������ A�� ������������������ ��B �� � ����� ���� 1�� ������ ��������� � ������ � ������� �� ���

���� �� ���� �������� " ��� �� ������ ��� ��� �����������

�!����� �� ��� ���������� +������� �� ��������� �� �����

��� ������ � ����� ����� 6���������� �� ���������� ������7

��� ��$��� � ��������� ������ 1�� � �� ����� ����� �� ��

�!����� �� �� �������� ��� �� ���������� �� ���� ��� ����

��������� �� ����� ����� � �� #�3 ��������� 1�� #�3

��������� ���� �� ���� �� �������� ������ �� �������� ��

����� � �� ���� ������ ��� ���� ������ �� �� ����� ������

���������� ������ �� ������� ����� ��� ���� �� �� ����

����� ���� �� � �� ������ �� ��� �� �� �� � �� ������ �

�������������� #�3 �������� ������� ���� ��� �� ���� ����

����� �� ��� ���� �� ��� �� �� ��� ���� 1�� � ���� � ���

���� �� ������ �������� ��� �� .� ��� ����� �� #�3 ��������

����� � ����� �� �� ����� ���������� �� ������� � �����

�!����� �� ��� ��� �� � ����� ������ ��� ���� ����� � ���� ��

������ ��� ��� ���������� �� ���� �� �� � ����� ������

0�+ �.�/�� ��� ������/ ��� �����5 )��6�2��

1�� � ����� ����� �!���� �� ��������� ���� ���������� �

�� ������� �� ��� ��� ������� ���� ��� �!������� ��� ���

���� ������ �������� � �� �������� � �� �� ����� ����

������� 1���� �������� ��� ���� � 1���� &�

�� ��� �� ���� �� ����� ���������� � �� ���� �� �� ��

� ����� ����� ���� ������� ��� ���� �� � ����� ����� ���

���� ��������� ��$��� �� �� ���� ������� ���� ��� ���

���� �� ��� ����� �� ���� ��$��� �� �� �������� �� �� ����

��� ���������� 4��� ��� � �� ����� �� �������� �� �� ��

���� ��$��� ��� �� ����� ��������� ���� ������ �� ���������

���� ���� �� ��� �����

1� � ������ �� �������� �� �� � ��������� � ������!��

�� ������ �� ������ �� �� � ����� ��� ����� ������ �������

���� �� ��� �� �������� ��������� ����� 4���� �� �����

����� ��� �� ��� ��������� � �� �� �� ��� �� �� �������

���8� �������� � �� � ����� ��� ��������� 1� ������ ��������

��������� �� ���� �� ����� ������� �� ��� �� �!�� ���

������ �� < ����� �� �!����� ����� ���� ��� ����������

��� ����������� � ��������� ���� ���� " � ���� # �� ���������

���� I�&=� I�&= ��� I�=� ������ ����

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Overlay Node A Overlay Node B

comm1

comm2

comm3

Occupancy Ratio comm1, comm2, comm3 = 0.25, 0.25, 0.5

comm1 comm3 comm2comm3

Tx Queue comm1

comm2

comm3

Tx Queue

Tx Queue Rx Queue

Rx Queue

Rx Queue

comm3

comm2

comm1

������ 6� ����� � ��� ������

/ &�� ,� -������ �� ���" �� ����� � ����

3��� .���!

3��� % <I3��� @ 90=3��� # ?II3��� " &II

7� !(*!��)!���# ����$.� ����� � ���� �� ������ �� ���� ��� ������ �� ��� �� �

������� �� ������� ������� �� ���� ��� ����� ��� ��������

�� �� �!����� ��� ��� �� ���� �� ��� ������� ��� ����� �����

�� �� ������� �� ������� ������� ��� ������� � ��� ���

�� ����������� �� � � �� ��� ��� �� ���������� �� ��� ���

� �� ���� �� �!��� ����� � �� � (9?)� .� �� �� �������

�������� �� ��� ��� � ��� ����� � ������� ����� �� � � ��

��� ��� 1���� �� ������ �� ������ ��� �� �� �� � ����� ���

���� ��� � ����� �� �������� ��� �� ��� ������ ���� �������

1�� ������ ������ ��� ��� ���� ��� ��� �� � ��� �� �� ����

������������

%� �� �������� �!������ �� ������� � �� � ����������

�� ��� �� ����� � ��� �� � � ����������� ����� �� ���

� ����$���� D�H�& �� � ��� ����$���� �������� �������

��� � ������$���� D�H�' �� � ��� ������ ������� ����

���� 6 ��?7� %���� �� ������ ���� �������� � �� ���� ���

���� ������ �� 9IID��� F%3� +��� �� �������� �� � ������

�� ������� ������� �� �� � �������� �� �!����� �� �� �

��������� ��� � ���� ������� ��� ��� �� ��� ������������

����������� ���!�� ����� �� �� ���� �� �� � ���� �� �� �!��

���� ��� 6�������� ������ ����� ����� ����� �����������7�

1���� E ����� ���� ���!���

.� �� ��������� �� ��������� �� �� ������� ������� ��

�� ��� ��� ��� �� � ������� ����������� 1�� ������� ���

���� ������� .� �� ��� ������ �� ��� � �� ��� ������ ���

����� ���������� ���� �� �� ��� �������� ���� ��

����������� �� �� ��������� ��� �� ��� �� ��������� � ���

��� ������ ���������� 1�� ��� ��� �� ���������� � ���

���� �� ������ � �� ������ �� �������� �!������� �����

������ .� �� ������ ������ �� ��� �!���� �� ��� ��� �� ��

��������� �� �� � ����� ������ ��� ������ �� �!����� ����

�� ������� ��� ��� ����� �� ��� �!����� �� �� �� ����

���� ������ �� ����������� ���!�� �� � ����� ����� ��� ��

�!����� ����������� 4��� ��� �� ����� � �� ���� �� ����

��� ����� ���� � ��� � ������� � ���� �� ����������

�� � ���� ����������� �� ��������� �� ��������� �����

�� ��������� ���� #����$������ � �� ��� ������ �� �����

��������� �� ��� �� �� ��� �!����� ��� ��������� ����

7�� �� � �/ *8��

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 7: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

P01:

P02:

P03: P04:

P05: P06:

P07: P08: P09:

P10: P11:

T01: Assemble and Analyze

T02: Demultiplex

T03: Decode and Shrink T04: Mixing

T05: Encode T06: Encode T07: Encode

T08: Multiplex T09: Multiplex

������ 7� ����� �� ����� ��� ������� #�� ���� �� ����� �

&��� � ���� 8���� ��� ����������(

/ &�� 0� -� �� ��� ��� � &�� #� ��� ���� � �� ��(

3��� ����� %�������

3��� % �I9� �I&� �IE3��� @ �I'� �I/3��� # �I<� �I?� �993��� " �I=� �I0� �9I

% � �� ��� �� ��� ������ � ����� ����� �� ������� ����

1��������� � ����� � �!���� �� ��� �� ��������� �� �� � ����

�� ����� ���� ������ � ����� ����� �� ����� �� �������� 4���

� ��� � �� ��� �� ������� ������ �� �� �� ������� ���� ��

� ����� ������ ����� � � � ��� ���� �������� ��� �� ���� ��

������ ������ 1��������� �� ��� � �� ����� ����� �������� ��

�� �� ��� ������ �� �� ��� �!������� ����� � ����� �����

��� �� ������� �� �� �������� �� ��� �� .F� ��������

� �� � (9?) ��� �� �������� ��:�� � �������

$��� ��

�������������

���� � �

��

����� % ��� � ����� �� �� �� � ����� ����� ��� �� �� �� ����

����� ������ ���� ��� ��� 6� � ���� � �� �7 � � I�9 ������

�� ��������� ������ �� � 6�� �7 ������� ���� ���� � � ����

� ��� ������� ������ � � ��� �� ��� 1���� �� ��� � �� ���

��� �������� �� ������ �� ������ ������ $��� ���:�� �

�� �������� � �� � (9?)� �� �� ��������� ��� ��� �� ������

������� ������ ����� �������� ���� � � �� � 1���� '�

%��������� � ����� � � ����� �� ������ ��� �� ����� ��

������ ����� �������� �� �!���� �� ��� �� �� �� � ����� ���

���� ���� ��� ������ "���� �� �!����� �� �� ��� ��� ��

� ����� ����� ������ �� � ����� #�> ���� � ������� ���� ������

��� �� � ����� ������ �������� � ���� ��� � ���� ������

%��� �� �!����� �� �� ��� ��� �� ������� �� �!����� ����

�������� ���� �� � ����� ����� ��� ��� ��� � �� ����� ����

������� �� 9I ����� �� ��� ���� ��� �� ����������� �����

1�� ����� ��� �� �� ����� ����� ���� ��� �� ���� ���� ��

/ &�� 1� -� �� ��� ��� � &�� #� ��� ����� �� ��(

3��� ����� %�������

3��� % �I9� �I&3��� @ �IE� �I'� �I=3��� # �I/� �I<� �I?� �993��� " �I0� �9I

������� ��� �!����� ��� �� ������������ �!������� ���� ���

�� ����� ��� ����� �� #�> ���� ��� ������ �������� �� ����

���� � �� ������������ ���

.� �� �!������� �� �������� �� �� �� ��� �� ���� � ��

�� � ����� �� ����� � �� ��$������ ��� &&' ������� 6��� ��

!��!� �� �� 9I7� 1�� �������� �� �� �� ��� �� � �������

�������� �� �� ������ ��� � �� ��� ���� ���� �����

�� �!����� �� �� ��� �� � ����� �� �!����� �� �� ��� ���

+��� � ������ ��� � ������ � ���� � ��� ��� � � ��$����� ��

������� 6�!����� ��� ��� ���������7� .� �� 9I� �� ����� �

�� �� �!����� �� �� ������ �� � ���� ��� ����� ��� �������� �� �!����� �� �� � ��������� ������� ��� ������ ��� ���� @���� �� �� ������ � �� ������ ������ �� �� ������ �� ��� �� �� �!����� ��������

7� ����� *8��F� � ����� �� ����� �� ��$���� �������� ������ �

���� �� ����������� ���!� � �!���� � ������ ������ � � ����

��� �� ��� �&� ����� �� ����������� ���! �� ���� �� D����

� ��� �� '��� �� � I�9 6�����7 ������ �� ������ �� ��� ��

����� � � ������ � ���� � 6�� ���� � ���7 �� �� 6�� ���� �

����7� >��� ���� �������� �� ������� �� �������� �������

��� �������� ������ � ����� �� �� �� ��� �!����� �� �

������

$��� ��

���

���

�&�'���

����� � � �� �� �� ������ ��� �

���� �� �� ��� ���� � � �!�

���� �� ������ ������ � ����� �� �� ����� �� ��� � � ��

��������� �!����� ��� ���� �� ����� ������ ���� � �� � 1��

��� =�

�� �� � �!����� �� ������ ��� �� ��� �������� � �������

������ �� 99 ����� �� �� ���� ��� �� ������������ ��

����� � �� �� �������� �� � ?? ������� ��� � ���� ��� ����

�� ������ � �� ��� ������ 1���� �� ������ ������ ����

����� ��������� � ������ �� ���������� �� � ����

������������ 4��� ��� ���� ��� ��� ���� �������� � �� 99�

1�� ����� ����� �� �� ������ �� �� � ����� ��� ���� "

��� # � ��� �� �� ������ �� ���� ���� � ���� 1���������

�� � ����� �� ������� �� ���� �� ����������� �� ����

�� ���� � ����� ����� .� �� ��� ��� ������ ������ �� �� �

������ �� ����������� �� ������ �� ������ �� ��� �!�

������� ��� �� �!����� �� �� �������� 4��� ��� �� 99

����� �� �� �� ������� �� ��� ���������� ��� ����� ����

��������� 1��������� � �� ��� ������ �� �� � ���� �� ���

����� ������ �� �������� ��� ��������� ��� �!�����

����

7�+ �8 �� *8��F� (��

��� ����� �� ��� 6�����7 �� ��� �� � ������� ���

6� � � �� �7 ��� �� )��� ����� �� � ����� ��� �������� ����

���� � � ���� �� ���� ��� �� ������ �� �������� � �� ������

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 8: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

��

��

��

��

� �

��

��

��

Node D

Node B

Node C

Node A

50 1000 [sec]150 200 224

Node A

Node B

Node C

Node D

100 Mbps

CPU Load [%]Network

Load [Mbps]

T01

T03

T02

T04

T08

T05

T07

T06

T09

100 %

100 %

100 %

100 %

100 Mbps

100 Mbps

Subtask execution

Data communication

(Upload)

Data communication

(Download)

Process waiting for

execution

Critical path

Data stream

� �

� �

50 1000 [sec]150 200 224

������ �9� /���� �� �� �� ��� ������� � ��� ������� �� #� ��� ���� � �� ��(

/ &�� 3� -� �� ��� ��� � &�� #� ��� ����� �� ��(

3��� ����� %�������

3��� % �I<� �I?� �993��� @ �I'� �I/3��� # �I9� �I&� �IE� �I=3��� " �I0� �9I

������ >��� ���� ������ �� �� � ��� �� �������� �������

$��� ��

���

���

�&�'���

��

�������������

(����� � ��� �(����� � �

��

)���

� ����� �� ��� �� �� �!����� �� ��� ��������� ���

�� ����� �� ��� � � ��� �������� �!����� ��� ���� ��

� ������ ����� � �� 9&� 1�� �������� �� � <' �������

��� ��� �� ��������� ��� �� �������� ����� ��� �� �����

������ �� ����� ���� � ���� ����������� ��� ���� ���� ��

��� ��� ������ ������ �������� ��� ��

9� �!#��!� %���;������� ���� ��� ���� �������� ��� �������� � �� .����

�� ��� ��� ������� ������� �������� ���� �� �&� ����

���� (9/)� ��� ������� (?� 9I)� ��� ��� �� � ����� (/� 90�

9<) ��� ������ %� ������ �� ������ ������ � ��� ����

.����������� ������� �������� � �� ��������� �� � ���

��� �������� +��� �������� ������� � � ������ ��� �������

������������ ��� ������ �� ������� ������ �������� �� ����

� ���� ���� �� ������ ������� ��� �� ���������� �� �����

� ������� � �������� ��� ��� �� � ����� �������� ������

����� ������� ���������� � ��� ��������� ������� ��

���� � ������� �� ���� �������� � ��� �� ��� ��� ���� ��

������ �� ���������� ������ ���� �������� ��� ��� ����

1� � ������ ���� �� ���� ��������� � � ����� �������� �� �

���� ���������������� ����� ����������� �� � ���� ������

���� (9� 99� 9&� 9=� 9/)�

2 ����� (99) ��� ��� � ������� ������� �� � ����� ���

������ 1�� � � ��������� �� ��� �� ���� ������� � ��������

�� ��� � ������ � ����� ��� ���� �� �!������ �� ���������

��� � �������� ��� ������ ��� ���� �� �������� ��������

�� � ����� ������� ��� �� ������ �� ������� � ��������� ��

�� �� ������� �� ��������� �� �� � ����� �������� %����

%����� (9) ����� � ��������� ������� ��� ��� �� ������

�� � �������� ���� ��� �������� � ��� ��������� ������ �

�!���� ��� ���� +������ ���������� ��� (9&� 9/) ����� �� ���� �

��� �� �������8 ����� � ������� ������� ��� ���� D%#H�

"23 (9=) ����� ������� �� ������ �� � ������ ��� �������� ��

������� ��� ��� �!����� �� �&� ������� �� ������� � ���

��� �������� ��� ����� ������� ��� �����F���

#������� �� �� ��� � ������������ � ��� ����� �� ����

�� ��� ��� �� ��� ��������� ���� � ����� ������ ��������

���� % ��� �� ��� �� ���� � � ��������� ���� ���� � �����

��� �� ������ ��� �� ������� ��� ��� ������ �� ����� ���

�� ���� ����� �� � ����� ������ ���������� 1�� �������

����� �� �� � �� ��� �� �������� � ���������� ��� �� �

���� �� �� �������8 ���� � ���� ������� �������� �������

%���� �� �������� ������ ������ ������ �� ����������� ��

�� ��� �� ���� ���� � �� ��:�� � �������� +� ���� ��:�� �

������� ��� ��� ��� ��� �� ��� ������ �� ��������� �� ����

����� �� ���� ������������ % ����� �� ������� ��� ����

�� �!��� ������ ��� ���� � ��� ����

:� ����#�����

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 9: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

��

��

� �

��

��

��

� �

��

��

��

Node D

Node B

Node C

Node A

Node A

Node B

Node C

Node D

100 Mbps100 %

CPU Load [%]

Network Load

[Mbps]

Subtask execution

Data communication

(Upload)

Data communication

(Download)

Process waiting for

execution

Critical path

100 %

100 %

100 %

100 Mbps

100 Mbps

Data stream

T01

T03

T02

T04

T08

T06

T07

T05

T09

� �

� �

100 Mbps

25 500 [sec]75 10099

25 500 75 10099

������ ��� /���� �� �� �� ��� ������� � ��� ������� �� #� ��� ����� �� ��(

.� �� ������ �� �� � �������� �� ������� �� ������� �� �

������ ��� �������� �� �� ������� �� � ����� ��� ���� .� ����

������ �� �� � ���� ���1��� ��� ������ ���� ��� ���� ��� ���

��������� � � ��������� ��� ���������������� ���� 1����

�� �� � �������� � ��� ��� ��� �� � ������� ����� �� ��

��� �� ���� �� ���������� �� ������ � ����� ������ �����

������ 2�� ��� ������� �� ������� ��������� ��� �� ��

� ����� ����� �!���� �� ������� ���� �� �� ���������� "���

�� �� ��� �� ��� ������ �� ������ �� � ����� ���� ���

�������� �� ���������� �� �� ������ �������� ��� �� ����

��� ������ � ���� ����������� "� ������� ���� ��� ��

��� �� �������� ��� ��� ��� ������� �� ������������ ������

$��� ����� ��� �� ������� ����� %� �!�������� ���� ����

� ������ �������� �!����� � � ��� 1�� ���� ����������

�� ������ �� ���� ��� ��� ��� ��� ��� � ������� ��������

��� �� � � �� ��� �� ��� ��� ����� ��������� � �� �����

������ �� ���� �� ������ �� � �� � ����� ������ �������

��� % �������� �� �� ���� �� ��������� ������ ��� ��� ��

��������� ���� ������� ������ ���� �� �� ������� ����

#�������� �� ��� ������ �� ������ ��� ��� � �� ������ ���

�������� �� ��� ������� � �!��� �� ������ ��� ��� � ��

����� � ���� ������ ���� �� �&� ������� �� ������ ��������

.� ��������� �� ����� ��� � �� �� �������� �� ��� ��� �� ������

����� � ����� ������� ���� �� �����F���

;� �����%#!�,)!���1�� ���� ��� �������� � ��� �� ;������� ��� "� �������

������� �� A>�$���� +�� �� �������B 6&II<7� 1�� D���� ��

.������ %����� ��� #����������� M�����

<� �!=!�!��!�(9) "� @����� D� #������� F� F$���� ��� D� C���� %�����*

% ����� ������������ � ����� ������� .� !"# $%&'

��� ������ �� ��� (��� !��� "�� ��� #������ )%%&

(���������� ��������� �� ����� *��������� �����

<&N?9� .HHH #������ +����� &II/�

(&) F� %� #������� �� C� H� O�� � ��� 1� ;����� 2� ��

������� �� ������� ��� ��������� ������� .� ��� ��

+,�� (�� *��� �� #���� ���� � -����� �� ����� ���� +../

01�*� &.+2� ����� ==&N=/9� +�������C������ 9??E�

(E) M� �� ������� ��� F� O�������� >��� �������� ��� ���

� � ����� ���� ����� ��� ����������� ����� �� 1#�

��������� .� ��� �� )� 3������� �� �� �� � 4�� ��

*������ ����� ���� � ������5*��� ����� &9N'I� 9???�

(') 4� M� ������ ��� O� F��������� 1�� ������� �� �������

������ �� ����� �� ������������������� .� ��� ��

(�� ���� �� ������ � �� *�� ������ *��������� 01�*�

6%2� ����� 9&EN9'0� 9?0?�

(=) 4� M� ������ ��� O� F��������� +���� ������� ��

������ �� ��� ���� -������� � *������� � ��� ��

9E697*9I?N9E/� 9?<9�

(/) K� ��� O� 3������� ��� @� L�� +������* %� �������

����������� ��� �� �������� ���������� .� ��� ��

(��� (�� ��������� �� 7������������ � ����������

*�������� 07��*�+/2� &II'�

(0) �� 4���� ��� C� ���� % ������ �!������� ��������� ��

�� .+"3 ���� ��� �������� .� ��� �� +)�� (�� *��� ��

#���� ���� � -����� �� ����� ����� ����� 9N&9� 9??9�

(<) O� M������ *������ ����� ���� 8�� *�� ����9 #������

������ � �� �� � 4�� "����� +' 8�� *�� �����

D��������� � 1�������� #������ +������ %� H%1#+

+����� +�������C������ 9??0�

(?) H� O������� "� �������� "� %�������� M� #���� ���

D� F������� +�G��������� ��� ������� �������

��� ��� *�������� �� � ��� � : ������������ E697*0<N<E�

&II9�

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580

Page 10: Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580

��

��

��

��

Node D

Node B

Node A

Node C

25 500 [sec]75 84

Node C

Node B

Node A

Node D

100 %

T01

T04

T09

T08

T02

T03

T05

T06

�T07

100 %

100 %

100 %

25 500 [sec]75 84

100 Mbps

100 Mbps

100 Mbps

CPU Load [%]Network

Load [Mbps]

Critical path

� �

� �

Subtaskexecution

Data communication

(Upload)

Data communication

(Download)

Process waiting for

execution

Data stream

������ �!� /���� �� �� �� ��� ������� � ��� ������� �� #� ��� ����� �� ��(

(9I) +� D� F������ #� "� +���� D� ;� +���� ��� C� +� ������

�����G���� ��� ������G����* >��� �������

������� � ����� ��� ����� �������� �������� �

���������� ������� *���������� ;����� �� &II&�

(99) @� F� M� ���� ��� D� ����� 2 �����* % �������

��������� ����������� ��� � ����� ��������

������������ .� ��� ������ �� ��� <����

#*�5(<(�54���(= (���������� ������� *������� �

0������� )%%,29 ��� 1� ���� ����� �� *������� � ��� ��

����� 9E=N9='� &II'�

(9&) @� 1� F��� 1� #����� M� D� 4��������� �� D�����

1� ;������ ��� .� +���� .��������� ������� � � �������

�(;>�� >��� ���� ?�� � E?6=7*0=N?I� "������� &II=�

(9E) M� F� ;�������� ��� D� +���� "������ � ������ �����

�� ����� �� �������� ��� ���� .� ��� �� +6�� (�� *���

�� #���� ���� � -����� �� ����� ���� 01�*� +%.+2� �����

'IIN'9?� 9??/�

(9') %� ;����� F� ������ 4� F������ D� F������� M� P ������

D� +����� D� ����������� +� #��������� ��� O� M������

#�3 1���� ��� ����� �������� ��� �������� ��������

��� ���� .� ��� �� ),�� (�� *��� �� #���� ���� �

-����� �� ����� ����� &IIE�

(9=) %� ;�������� #� O����� +� @��� "� O���� ��� %� C�����

D%#H"23* D��������� ��� ���������� �������

� ������� ��� ������� � ����� �������� .� ��� ������

�� ��� 4���(=5#*� ��������� �� �������� �������

������ � (������������ 0���()%%,� ����� &/0N&<I�

&II'�

(9/) O� +����� L� 1������ ��� +� +������� 2 ����� ��� ��* %�

� ����� ��������� ����� *������� *������ ������

E96&7*'I&N'9&� ������� &II<�

(90) D� ����� @� F� ��� Q� F� � ���* 1������ ���������������

��� ���� ��� �� �������� � ��� �� � ����� �������� .�

��� �� ),�� (�� *��� �� ���������� *�������� �������

0(*�*�)%%,2� &II'�

(9<) "� K� ��� O� 3������� ���� ��� �� ���� � �� � �����

���� ��� �� ���!� ������� .� ��� �� (�� *��� ��

�������� *�������� � ���������� )%%) 0��*�)%%)2�

&II&�

(9?) 4� L�������� O� H�� ���� %� 4������ ��� 1� 4�������

% ������ �������� � ����� ������ ������� ��� ��

� ������ .� ��� �� +@�� #*� (�� 3������� �� ������� �

>������� ������� ������� ��� ������ #��� � "���

0�>���#" )%%@2� ����� =0N/&� &II=�

(&I) 4� L�������� O� H�� ���� �� � @�������� ���

1� 4������� "�� �� ������� ���������� ���� ��� ��

���������� ���� �� ������������������� *�������

�������� !������ =9697*&=<9N&<'� M��� &II0�

Digital Object Identifier: 10.4108/ICST.SIMUTOOLS2009.5580 http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5580