بخشی از مقاله
چکیده
یک چالش مهم در محیط محاسبات فراگیر توسعه ی یک پروتکل کشف سرویس است که به کاربران و برنامه ها این امکان را میدهد تا سرویس های مناسبی را که توسط اجزاء نرم افزاری و وسیله ها در محیط مهیا شده اند ، کشف کنند وبه کارگیرند. روش های مختلفی برای کشف سرویس و یافتن بهترین سرویس ارائه شده است. دراین مقاله ابتدابرخی ازپروتکل های کشف سرویس شرح داده شده اند و سپس به تحلیل برخی از راهکارها وتحقیقات انجام شده در این زمینه می پردازیم و با یکدیگر مقایسه وبررسی می کنیم تا معایب و مشکلات موجود دراین زمینه را شناسایی و رفع نماییم.
-1 مقدمه
پیشرفت های تکنولوژی به سرعت راه خود رادرتمام جنبه های زندگی بشرمی گشایند. این پیشرفت ها در نحوه ی جدید برقراری ارتباط جابجایی از یک مکان به مکان دیگر و سایر ابعاد زندگی انسان ها تأثیر گذاشته اند. تمام این پیشرفت ها حاصل تکامل کامپیوتر ها و قدرت محاسباتی آنها طی سالیان نه چندان طولانی است. هدف اصلی محاسبات فراگیر حضور فن آوری در هر زمان و هر مکانی است. در محیط محاسبات فراگیر مجموعه اجزاء محاسباتی که در هر سیستم توزیع شده شرکت می کنند ، در طول زمان به صورت پویا عوض می شوند
به عبارت دیگر ، یک کاربر یا اگر دقیق تر بگوئیم وسیله ی محاسباتی که در اختیار اوست زمانی که شخص مکان خودر ا تغییر می دهد ، به صورت خودکار با سایر وسیله های موجود در محیط جدید ارتباط برقرار می کند. ولی این نکته به این مفهوم نیست که تمام وسیله های موجود در محیط محاسبات فراگیر باید سیار باشند . بلکه اجزاء خاصی که باید بستر محیط محاسبات فراگیر در مکان خاصی فراهم کنند، باید به صورت ثابت در آن مکان موجود باشند .
بعنوان مثال در یک سالن کنفرانس ، حس گرها ، لپ تاپ سخنران و پروژکتورها باید به صورت ثابت در محیط حاضر باشند در حالیکه مثلا موبایل شرکت کنندگان ، لپ تاپ آن ها و ... می توانند به صورت پویا در سالن حاضر شوند و در طول زمان از آن محیط جدا شوند. کشف سرویس درشبکه محاسبات فراگیر ، پیدا کردن سرویس مناسب در زمان مناسب و استفاده اتوماتیک بدون تنظیم وسایل کاربر است
در یک دسته بندی کلی پرو تکل های کشف سرویس به دو دسته ی » با استفاده از پوشه سرویس « و» بدون استفاده از پوشه سرویس « تقسیم می شوند . در پروتکل های با استفاده از پوشه ی سرویس ، بسته های درخواست به پوشه سرویس فرستاده می شود تا وجود یا عدم وجود در خواست در آن بررسی شود . اما در پروتکل های بدون استفاده از پوشه سرویس ، بسته در خواستی به گره های اطراف فرستاده می شود تا به کمک این گره ها و اطلاعاتی که آن ها از محیط اطراف دارند ، عملیات کشف انجام می شود . بنا بر این کشف سرویس با استفاده از پوشه سرویس ساده تر است اما در آن مشکل گلوگاه و تک نقطه ی شکست وجود دارد . همچنین در محیط های فراگیر به دلیل پویا بودن محیط و جابجایی گره ها استفاده از مدل ها ی بدون استفاده از پوشه سرویس بهتر است
-2 کشف سرویس در محیط محاسبات فراگیر
کشف سرویس مسیری را برای کاربران و سرویس ها فراهم می کند تا در محیط محاسبات فراگیر با سایر سرویس ها تعامل داشته باشند و در آن مستقر شوند . سیتسم ها ی کشف سرویس از تکینک های جستجوی مختلفی برای کشف یک سرویس استفاده می کنند . این تکنیک ها گاه مانند چند بخشی بسیار ساده هستند و گاه با به کار گیری تکنیک های مانند الگوریتم ژنتیک ، پیچیده تر می شوند . ساز و کار جستجو روی این نکته متمرکز می شود که چگونه پرس وجوها را در شبکه توزیع کند و چگونه سرویس مورد نظررا کشف کند اگر چه سعی روش های پیشرفته بر این است که برای توزیع پرس وجوها هوشمندانه تصمیم گیری کنند ولی مشکل اصلی بهینه سازی و تحت پوشش قرار دادن ارتباطات است
-3 پروتکل های کشف سرویس در محیط محاسبات فراگیر
پروتکل های کشف سرویس فراوانی با هدف مشترک ارائه مکانیسمی برای شناساندن و کشف سرویس ها طراحی شده اند . تفاوت اصلی این پروتکل ها در معماری آن ها و محیطی است که می توانند در آن کار کنند. دو موضوع مهم و قابل بررسی در بحث کشف سرویس ، معماری کشف و ساز و کار تطبیق سرویس می باشد .
در این قسمت قصد داریم برخی از پرو تکل ها و معماری های کشف سرویس را که قبلا برای محیط های توزیع شده یا فرا گیر مطرح شده اند به صورت خلاصه مرور کنیم :
Jini -1-3
Jini یک معماری توزیع شده ی مبتنی بر سرویس است که کشف، اتصال و مشاهده سه پروتکل اصلی آن می باشند .کشف و اتصال زمانی روی می دهند که یک وسیله ی Jini به یک شبکه متصل می شود . کشف، زمانی روی می دهد که یک سرویس به دنبال کشف کننده سرویس است تا بوسیله آن اطلاعات خود را در شبکه ثبت کند و اتصال زمانی رخ می دهد که یک سرویس ، کشف کننده سرویس را می یابد و از طریق آن متصل می شود . مشاهده زمانی روی می دهد که یک کاربر سرویس را طلب کند . سرویس مشاهده ی Jini را می توان به عنوان یک واسطه فرض کرد که اطلاعات پویا را در مورد سرویس های موجود نگه داری می کند