استفاده از Mobile Agent جهت پیمایش موقعیت در شبکه های حسگر بی سیم

خلاصه
شبکه حسگر بی سیم یک تکنولوژی جدید است که ممکن است با مهیا ساختن دریافت اطلاعات در هر جا، محاسبه و توانایی ارتباط، زندگی بشر را به طرز فوق العاده ای تسهیل نماید، آنچنانکه مردم بتوانند ارتباط نزدیکی با محیطی که در آن قرار دارند، بر قرار نمایند. برای توضیح بیشتر، یکی از مباحث اصلی در Sensar Network پیمایش مکان ها (Location tracking) است که هدف آن نظارت بر مسیر حرکت شئ متحرک است. مشکلی مشابه به مشکل به هنگام سازی مکان (Location vpdatc) در شبکه های مبتنی بر pc ، در این شبکه نیز وجود دارد. در شبکه های حسابگر این مسئله بیشتر به این خاطر پیش می آید که یک مکانیزم کنترل مرکزی و شبکه backbone در چنین محیطی وجود نداشته باشد.

در این متن، ما یک پروتکل مبتنی بر ناول (navel) را روی الگوی mobile پیشنهاد می دهیم. هنگامی که یک شئ حس شد، یک mobile برای پیمایش مسیر حرکتی آن، شروع به کار می کند. حرکت agent تا زمانی ادامه می یابد تا بتواند نزدیک ترین حسگر را به آن شئ بیابد. agent می تواند حسگرهای جانبی مجاور را برای پذیرش شئ به طور مشارکتی، دعوت نماید و حسگرهای نامرتبط را از پی گیری شئ منع نماید. به عنوان یک نتیجه سربار ارتباط و حس کردن csensing بسیار کاهش می یابد. نمونه ما از mobile پیماینده مکان، بر مبنایIEEE 802.llb NIG استوار است و تجارت آزمایشگاهی نیز گزارش داده شده است.

۱) مقدمه: پیشرفت سریع ارتباطات بی سیم وembedded micro-sensing MEMS techno logies ایجاد شبکه های حسگر بی سیم را ممکن ساخته است. این چنین محیط هایی می توانند تعداد زیادی نودهای بی سیم ارزان قیمت داشته باشند، که هر یک توانایی جمع آوری، پردازش و ذخیره اطلاعات محیطی و ارتباط با نودهای مجاور را دارا می باشند. در گذشته حسابگرها را تسهیل نماید. قابلیت نصب و راه اندازی بسیار بهبود یافته است. موج فعالیت های تحقیقاتی، اخیرا درباره شبکه های حسگر آغاز شده است.

با شبکه های حسگر، بشر می تواند با محیط های گوناگون ارتباط نزدیک برقرار کند. گروه بندی هزاران حسگر با یکدیگر می تواند انقلابی در گردآوری اطلاعات ایجاد کند. به عنوان مثال یک کف کننده سانحه می تواند راه اندازی شود، آنچنان که درجه حرارت های یک جنگل بوسیله حسگرها نظارت شود و بدین وسیله از تبدیل یک آتش کوچک بی ضرر به جهنمی بزرگ، جلوگیری شود. تکنیک های مشابهی می تواند برای کشف سیل و قانون به کار گرفته شود. کاربرد دیگری که می توان به آن اشاره کرد. کنترل محیط است؛ حسگرها می توانند فاکتورهایی مثل درجه حرارت و رطوبت را مورد نظارت قرار دهند و این اطلاعات را برای مرکز وضع هوا و سیستم تهویه بفرستند.
با قرار دادن حسگرها در وسایل نقلیه، راه ها و چراغ های راهنمایی، اطلاعات ترافیکی می تواند در زمانی بسیار کوتاه به اداره مرکزی فرستاده شود كه اين به كنترل هوشمندانه كمك شاياني مي كند. علاوه بر اين، وسايل نقليه مي توانند به صورت on line زمانيكه از كنار هم عبور مي كنند، اطلاعات ترافيكي را ردو بدل مي كنند. حسگرها همچنين مي توانند، جهت بهبود موقعيت يابي با GPS تركيب شوند. به هرحال، بسياري از مسائل باقي مانده اند كه براي موقعيت شبكه هاي حسگر بايد حل شوند.

– مقياس پذيري (Scalability):
نظر به اينكه يك شبكه حسگر در برگيرنده مقدار زيادي نود مي باشد، مديريت اين تعداد زياد ازنودها به همراه متوازن نگه داشتن كارايي، كار ساده اي نيست. الگوريتم هاي توزيع شده و مركز در اين چنين محيط هايي ضروري است. همچنين مغياس پذيري يك مسئله بحراني در راه اندازي تعداد زيادي از ارتباطات است. در ]۱۲و ۱۱[، پوشش دسترس پذيري يك شبكه حسگر بي قاعده با استفاده از هندسه محاسباتي وتكنيك هاي گراف، توصيف شده است.

اين مشكل پوشش مي تواند به عنوان Art Galler Problem در نظر گرفته شود. Art Galler Problem به صورت بهينه در ۲D حل شد و در مورد ۳D… قاعده پوشش مي تواند جهت حل برخي مشكلات مرتبط با مكان مورد استفاده قرار گيرد. جايگذاري مرتب حسگرها و توانايي حس آنها در ]۳[و]۱۰[ بحث شده است.
– ثبات (Stablity): از آنجايي كه حسگرها احتمالاً در محيط خارجي و حتي منطقه دشمن نصب مي شوند، اين قابل قبول است كه خطاهاي اين وسايل را امري عادي و متداول بدانيم. پروتكل ها بايد مقاوم و با قابليت تحمل خطا باشند. همزمان سازي ميان حسگرها در ]۲[ بحث شده است.

– صرفه جويي در توان:
از آنجا كه نيروي دروني (plug-in در دسترس نيست) وسايل حسگر با نيروي باتري كار مي كنند. حفظ انرژي بايد در تمام موارد مد نظر باشد . مصرف انرژي در مكانيزم ها مي تواند يك فاكتور اصلي باشد. تكنيك هايي همچون data fusion (تركيب داده ها) مي تواند ضروري باشد، اما بايد مناسب و به جا بودن داده ها نيز مورد نظر باشد. انتشار داده ها در ‌]۴[ بررسي شده است. راه حل هاي مبتني بر mobile agent ها، برخي از اوقات نيروي كارآمد تر ي است.

نظر به اينكه يكي از اهداف شبكه هاي حسگر، نظارت بر محيط است، يك مبحث بنيادي، مسئله پيمايش مكان (locationtracking) مي باشد كه هدف از آن دنبال كردن مسير حركت شئ متحرك در شبكه است. اين مسئله مشابه مسئله به هنگام سازي مكان در شبكه اي از pc ها مي باشد، اما جدي تر از آن است. زيرا يك مكانيزم كنترل مركزي و شبكه back bone در چنين محيطي وجود ندارد. در اين متن ما يك پروكتل ناول مبتني بر mobile agent را پيشنهاد مي دهيم.

زمانيكه يك شئ جديد حس (sense) شد، يك agent براي پيگيري مسير حركت شئ، شروع به كار مي كند، اين agent تا وقتي حركت مي كند كه نزديكترين حسگر به شئ را انتخاب كند agent در واقع با پريدن از يك حسگر به حسگر ديگر، شئ را دنبال مي كند. agent مي تواند حس هاي جانبي مجاور را براي پذيرش اشتراكي شئ دعوت كند و حسگرهاي نامرتب (دورتر) ديگر را از دنبال كردن شئ منع كند. به عنوان يك نتيجه سربار ارتباطي و حسگري به ميزان زيادي كاهش مي يابد. نمونه ها از mobile agent پيمانده مكان بر مبناي IEEE 802.llb.NIC استواراست. تجارب آزمايشگاهي نيز گزارش داده شده است. سازماندهي اين متن به شرح زير است:

بخش ۲ مدل شبكه ما را توصيف مي كند و مسأله پيمايش مكان (Lockating tracking) را تعريف مي كند. پروتكل ما بر مبناي mobile agent ها در بخش ۳ نشان داده شده است. نمونه ما و تجارب آزمايشگاهي در بخش ۴ داده شده است و بخش ۵ نتيجه گيري است.

۲٫ مدل شبكه و بيان مشكل:
ما يك شبكه حسگر را در نظر مي گيريم كه شامل مجموعه اي از نودهاي حسگر است كه در يك صفحه دو بعدي ( ۲D Plane) قرار گرفته اند. سنسورها مي توانند به عنوان يك شبكه منظم يا با منظم مرتب شوند (شكل ۱). به هر حال براي ساده سازي نمايش، در تمام اين متن ما يك شبكه مثلثي را فرض خواهيم كرد كه در شكل ۱ (a) نشان داده شده است و در آن هر مجموعه از سه حسگر مجاور يك مثلث متوازي الاضلاع را شكل مي دهد. به منظور پيمايش و به دنبال كردن مكان اشياء، هر حسگر از موقعيت فيزيكي خود و همچنين موقعيت فيزيكي حسگرهاي مجاورش آگاه است. هر حسگر قابليت حس كردن دارد، همانطور كه قابليت ارتباط و محاسبه دارد. بنابراين مي تواند پروتكل ها را اجرا كند و با حسگرهاي مجاور پيام مبادله كند.

هر حسگر قادر است كه وجود اشياء متحرك نزديك خود را تشخيص دهد. ما فرض مي كنيم كه محدوده حس كردن ( sensing scope) باشد كه برابر با حلول ضلع مثلث است. در فاصله قابل تشخيص، يك حسگر قادر است فاصله خود را باشئ مشخص كند. اين مي تواند با توجه به زمان پرواز (fly) و يا توان سيگنال هايي كه توسط شئ فرستاده شده يا سيگنال هايي كه توسط حسگر فرستاده شده را و از شئ انعكاس داده شده است، به دست آيد.

ما فرض مي كنيم كه سه حسگر براي مشخص كردن مكان يك شئ كافي است. خصوصاً فرض مي كنيم كه يك شئ درون يك مثلث كه از حسگر s3, s2, s1 تشكيل شده است، قرار دارد. همچنين فرض مي كنيم كه فواصل شئ كشف شده توسط يك حسگر به ترتيب r3, r2, r1 باشد. آنچنانگه در شكل(a)2 مشاهده مي شود، با تقاتع دايره هاي با مركز s2, s1 دو مكان ممكن براي شئ مشخص مي شود كه با كمك s3 مكان دقيق قابل تشخيص است. (توجه به اين نكته ضروري است كه در عمل ممكن است خطاهايي به وجود آيد، وبنابراين حسگرهاي بيشتري براي بهبود دقت لازم خود بود.)

هدف اين كار، مشخص كردن مسير حركت شئ متحرك در شبكه حسگر است. رد پاي شئ بايد زمان به زمان به يك سرور خارجي گزارش داده شود كه اين زمان بستگي به اين دارد كه اين يك كاربرد بلادرنگ است يا خير. تقاطع حوزه هاي حسگري سه حسگر مجاور در شكل (b)2 نشان داده شده است.
ما فضا را بيشتر به يك فضاي كاري A0 و سه فضاي پشتيان A3, A2, A1 تقسيم مي كنيم. فضاي كاري محدوده را تعريف مي كند زماني كه سه حسگر به طور عادي كار مي كنند، در حالي كه فضاي پشتيباني منطقه تحويل را مشخص مي كند زماني كه اشياء به فضاي كاري حسگرهاي ديگر حركت مي كنند.

۳٫ پروتكل درپاي موقعيت:
۳-۱: ايده اصلي:
پروتكل ردپاي محل ما از همكاري حسگرها منتج شده است. هرگاه يك شئ كشف شود، يك فرايند انتخاب توسط حسگرهاي نزديك هدايت خواهد شد تا يك حسگر براي شروع كار يك agent انتخاب شود و اين agent به رفتار حركتي شئ نظارت مي كند. مادامي كه شئ حركت مي كند agent جهت حفظ نظارت بر شئ، مي تواند به حسگري كه به شئ نزديكتر است مهاجرت كند. شكل ۳ اين موضوع را نشان مي دهد. كه خطوط نقطه چين مسير حركت شئ را مشخص مي كند و پيكانها مسير مهاجرت agent را نشان مي دهند. با انجام چنين كاري، سربار محاسبه و برقرار ارتباط به اندازه زيادي كاهش مي يابد.

خاطر نشان مي كنيم كه موقعيت يابي ۱ شئ حداقل نياز به سه حسگر دارد. mobile agent كه آن را master مي ناميم، از دو حسگر مجاور دعوت مي كند كه در عمليات شركت كنند. agent اين عمل را با اعزام دو slave agent به هر يك از آنها انجام مي دهد. اين سه master) ayent (slave ها براي اجراي الگوريتم موقعيت يابي مثلثي باهم مشاركت مي كنند. زمان به زمان agent هاي slave نتايج موقعيت يابي خود را به master اطلاع مي دهند و master با استفاده از اين اطلاعا موقعيت دقيق شئ را محاسبه مي كند.

مادامي كه شئ حركت مي كند، اين دو slave مي توانند باطل و دوباره ايجاد وشند. جهت مشخص كردن اينكه چه زماني slave ها باطل شوند و يا اختصاص دوباره يابند، از سيگنال هاي با توان آستانه خاصي استفاده مي شود. جزئيات اين موضوع بعداً داده خواهد شد. در شكل۳، آن حسگرهايي كه همواره ميزبان يك slave هستند با رنگ سياه مشخص شده اند.

ما توضيح مي دهيم كه اگرچه توسعه (development) ما برپايه مشاركت دو slave agent است، ولي اين درست خواهد بود كه جهت موقعيت يابي دقيق تر، تعداد slave ما را توسعه بدهيم و زياد كنيم. براي كاهش مقادير داده كه بايد حمل شود، master ممكن است تصميم بگيرد برخي از اطلاعات پيشين را براي يك پايگاه داده پشتيبان بفرستد. زمان لازم براي انجام ان كار بستگي به كاربرد (Application) دارد و خارج از محدوده بحث اين متن است.

قسمت بالايي شكل ۳ را نگاه كنيد. اكنون ما چگونگي باطل شدن و اختصاص دوباره slave agent را بررسي كنيم. هنگامي كه شئ در فضاي كاري A0 قرار دارد، به وسيله حسگرهاي s2, s1, s0 رديابي مي شود. در ورود به فضاي پشتيباني A1، نظر به اينكه سيگنالهاي دريافت شده توسطS2 به سطح پايين آستانه كاهش پيدا مي كنند، عامل slave موجود در S2 از بين مي رود و يك Slave جديد در S6 ايجاد مي شود. به طور مشابه در ورود به فضاي پشتيبان F1، slave agent موجود در S1 باطل مي شود و يك slave جديد در S5 ايجاد مي شود. آن چنان كه شئ ازS5 عبور مي كند، خود master هدف را از دست مي دهد و در چنين حالتي، master خود را به S5 مهاجرت مي دهد. تمام Slave هاي قديمي باطل مي شوند و Slave هاي جديد دعوت مي شوند.

زماني كه يك شئ در فضاي هاي پشتيباني برخي حسگرها باشد، اين امكان وجود دارد كه بتواند توسط بيش از سه حسگر حس (sense) شود. جهت كاهش سربار حس گري، agent هاي master و slave بايد ساير حسگرهاي نامرتب را از نظارت بر شئ منع كنند. اين موضوع در شكل ۴ نشان داده شده است. شئ در حال حاضر در فضاي A0 است. حسگرهاي S11, … S4, S3 انتشار مي يابد، از رديابي شئ مورد نظر منع مي شوند.

.۳٫۲ جزئيات پروتكل:
در زير ما پروتكل رديابي خود را رسماً (صريحاً) توسعه مي دهيم. از آنجا كه ممكن است چندين شئ در شبكه وجود وجود داشته باشد، ما بايد فرض كنيم كه تشخيص يك شئ از ديگري براي حسگر ممكن است. اين مي تواند با ارسال كد مشخص منحصر به فرد براي شئ در فواصل معين انجام شود. به عبارت ديگر، مكانيزمي لازم است كه حسگرها بتوانند سيگنال هاي مربوط از حسگرهاي مربوط راب راي اشياء متفاوت تركيب كنند.

بحث زير بر روي شئ خاصي متمركز مي شود. براي هر شئ، سه ويا حتي بيشتر از سه حسگر قادر به تشخيص وجود آن خواهند بود. شكل ۵ . دياگرام انتقال حالت را براي هر حسگر نشان مي دهد. (بايد به اين نكته توجه شود كه براي اشياء مختلف، يك حسگرممكن است در حالت هاي مختلف باشد.) در ابتدا هر حسگر در حالت بيكار (idle) است در پروتكل پايه را انجام مي دهد. تحت اين حالت، يك حسگر به طور مداوم هر شئ كه در محدوده حسگري آن قرار گيرد را تشخيص و كشف مي كند. زماني كه يك انتخاب بتواند ايفاي نقش كند.

مشخص است كه حسگري كه از همه به شئ نزديكتر است به عنوان master مي رود و پروتكل master را اجراس مي كند، در حالي كه slave ها به حالت slave مي روند و پروتكل slave را اجرا مي كنند. براي جلوگيري از حركت مكرر agent ها، تا وقتي كه شئ در فضاي كاري قرار دارد، حالت ها تغيير نمي كند. به هر حال، زماني كه شئ وارد فضاهاي پشتيباني شود، نقش هاي slave, master ممكن است تغيير كند.

در اين حالت يك حسگر بيمار ممكن است دعوت شود تا به عنوان master يا slave خدمت كند. حالت ديگري كه يك حسگر مي تواند در حالت بيكار باقي بماند زماني است كه آن يك شئ را در فضاي پشتيباني خود كشف مي كند و پيام هاي منع كننده را از حسگرهاي مجاور دريافت مي كند. از اين حالت به عنوان انتقال self-looping براي حالت بيكار ياد مي شود.

شكل ۶، تعداد ۶ مسيري (track) را كه شئ مي تواند مثلث را ترك كند، نشان داده است. فرض كنيد كه در حال حاضر master در S0 است. و دو slave در S2, S1 به وسيله تقارن، اين هامي توانند به سه مسير كاهش يابند. (با شماره هاي ۱ تا ۳ مشخص شده اند) . براي مسير ۱، master سمي فهمد كه دو slave در يك زمان هدف را گم مي كنند و بنابراين تمام slave ها را باطل مي كند و slave هاي جديد را اختصاص مي دهد.

براي مسير ۲ تنها agent slave در S1 باطل مي شود و slave جديد دعوت مي شود. براي مسير ۳، master در مي يابد كه خودش و يكي از slave ها هدف را از دست مي دهند. در اين حالت master بايد خود را به حسگري كه هنوز مي تواند شئ را تشخيص دهد، برساند و تمام Slave هاي فعلي را باطل كند. بعد از رفتن به حسگر جديد، دو slave جديد بايد مشخص شوند. نهايتاً، ما مي گوييم كه شئ ممكن است با سرعت بسيار بالايي حركت كند و كشف و تشخيص آن مشكل شود. اگر چنين شود، حسگرها به طور ناگهاني ممكن است هدف را گم كنند.

به عنوان آخرين راه حل (پناهگاه)، زمانيكه شئ براي يك دوره مشخص زماني گم شد، تمام agentها منحل مي شوند. وقتي كه هيچ پيام منع كننده اي شنيده نخواهد شد، تمام حسگرها بايد در حالت بيكا بر روي شئ مورد نظر باقي بمانند، و يك فرايند انتخاب جديد انجام شود تا يك master جديد براي رديابي شئ انتخاب شود. پروتكل ما در اين حالت كاملاً خطا را تحمل مي كند.