امروزه تعداد زیادی سرویسهای وب در شبکههای رایانهای عرضه میشوند، که امکان کشف و کلاسهبندی آنها بهطور موثر وجود ندارد. این موضوع باعث میشود، که درخواستکنندگان سرویسهای وب وقت زیادی را صرف پیدا کردن سرویس وب مورد نظر خود، نمایند. این موضوع در محیطهای محاسبات سیار و بهخصوص بر روی گوشیهای هوشمند، مشکلات و چالشهای مربوط به خود را دارد. در این پژوهش به ارائه روشی برای کشف و کلاسهبندی سرویسهای وب در محیطهای محاسبات فراگیر و مناسب برای گوشیهای هوشمند پرداخته شده است. روش ارائه شده برای کشف سرویسهای وب، بر پایه کشف سرویسها مبتنی بر DNS ارائه شده است. روشی که برای کلاسهبندی سرویسهای وب ارائه شده است از دو مرحله پردازش متنی و کلاسهبندی تشکیلشده است. مرحله کلاسهبندی با به کارگیری پایگاهداده واژگانی WordNet و eXtended WordNet Domain صورت میگیرد. برای ارزیابی روش پیشنهای دقت، مدت زمان اجرا و مقدار حافظه مصرفی آن اندازهگیری شده است و نتایج حاصل از اندازهگیری با روشی دیگری که برای کلاسهبندی سرویسها ارائه شده و مبتنی بر SVM است، مقایسه شده است. همچنین از نتایج حاصل از پژوهش برای پیادهسازی یک نرمافزار اندرویدی برای گوشیهای هوشمند استفاده شده است. این نرمافزار سرویسهای وب محیطهایی که گوشی هوشمند در آن قرار میگیرد را کشف و کلاسهبندی مینماید و این اطلاعات را در اختیار کاربر و سایر نرمافزارهای کاربردی که بر روی گوشی هوشمند قرار گرفتهاند، میگذارد. واژگان کلیدی: سرویس وب، معماری سرویسگرا، کشف سرویس، کلاسه بندی سرویس فهرست مطالبعنوان صفحهفصل 1- مقدمه91-1- مقدمه91-2- هدف و انگیزه101-3- تعریف مسئله111-4- ساختار مطالب پایاننامه121-5- جمعبندی و نتیجهگیری12فصل 2- مروری بر ادبیات تحقیق و مبانی نظری162-1- سرویسهای وب162-1-1- Simple Object Access Protocol (SOAP)182-1-2- WSDL(Web Service Description Language)202-1-3- UDDI(Universal Description, Discovery and Integration)222-1-4- RESTful(Representational State Transfer)232-1-5- مقایسه SOAP و RESTfull242-1-6- کشف سرویس مبتنی بر DNS262-2- جمعبندی و نتیجهگیری29فصل 3- پیشینه پژوهشی333-1- کلاسهبندی سرویسها مبتنی بر دادهکاوی333-1-1- تشکیل بردار خصوصیتها343-1-2- اعمال روشهای کلاسهبندی دادهکاوی343-2- استفاده از تکنیکهای یادگیری ماشین353-2-1- نمونههایی از کارهای پژوهشی پیشین363-3- جمعبندی و نتیجهگیری38فصل 4- ارائه روش پشنهادی414-1- کشف سرویسها414-2- کلاسهبندی سرویسها434-2-1- Feature Mining444-2-2- Tokenization444-2-3- Stemming444-2-4- Stop List454-2-5- معرفی WordNet Ontology454-2-6- معرفی eXtended WordNet Domains454-2-7- روش کلاسهبندی ارائه شده464-3- جمعبندی و نتیجهگیری47فصل 5- پیادهسازی505-1- مرور کلی پیادهسازی از دیدگاه مورد استفاده505-1-1- مورد استفاده ثبت دامنه مورد نظر کاربر515-1-2- مورد استفاده مشاهده لیست دامنههای مورد نظر برنامههای کاربردی525-1-3- مورد استفاده مشاهده لیست سرویسهای هر دامنه535-1-4- مورد استفاده ثبت دامنه مورد نظر نرمافزار گوشی545-1-5- دریافت لیست سرویسهای مرتبط با یک دامنه توسط نرمافزارهای کاربردی555-2- ساختار بستهها555-2-1- ساختار کلاسهای بسته Activity575-2-2- ساختار کلاسهای بستههای Broadcast Receiver و Service595-2-3- ساختار کلاسهای بسته Business Component615-2-4- ساختار کلاسهای بسته Classification625-2-5- ساختار کلاسهای بسته Content Provider655-2-6- ساختار کلاسهای بسته Data Source675-2-7- ساختار کلاسهای بسته Discovery705-2-8- ساختار کلاسهای بسته Entity715-2-9- ساختار کلاسهای بسته ServiceDirectory735-3- جمعبندی و نتیجهگیری74فصل 6- ارزیابی روش پیشنهادی786-1- مجموعهداده786-2- اجرای روش پیشنهادی796-2-1- بررسی دقت روش پیشنهادی806-2-2- مشخصات محیط اجرا806-2-3- بررسی زمان اجرای روش پیشنهادی806-2-4- میزان حافظه مصرفی روش پیشنهادی816-3- اجرای روش مبتنی بر SVM826-3-1- فاز آموزش836-3-2- فاز تست846-3-3- بررسی دقت روش مبتنی بر SVM846-3-4- بررسی زمان اجرای روش مبتنی بر SVM856-3-1- میزان حافظه مصرفی روش مبتنی بر SVM856-4- ارزیابی و مقایسه روش پیشنهادی866-4-1- مقایسه دقت866-4-2- مشاهدات متناظر876-4-3- مقایسه زمان اجرا886-4-4- مقایسه حافظه مصرفی896-4-5- تحلیل نتایج906-5- جمعبندی و نتیجهگیری92فصل 7- بحث و نتیجهگیری967-1- کشف سرویسها967-2- کلاسهبندی سرویسها977-3- جمعبندی و نتیجهگیری98فصل 8- پیشنهادها و فرصتهای پژوهشی آینده1028-1- جمعبندی و نتیجهگیری104 فهرست شکلهاعنوان صفحهشکل 2‑1- معماری سرویسهای وب18شکل 2‑2- تفاوت نسخههای WSDL نسخه 1.1 و نسخه 2.021شکل 4‑1- فرآیند کلاسهبندی سرویسهای وب43شکل 5‑1-نمودار موردهای استفاده51شکل 5‑2- نمای دامنههای مورد نظر کاربر52شکل 5‑3-نمایی اصلی برنامه54شکل 5‑4- نمودار بستهها56شکل 5‑5- نمودار کلاسهای بسته Activity58شکل 5‑6- نمودار کلاس بستههای Broadcast Receiver و Service60شکل 5‑7- نمودار کلاس بسته Business Component و وابستگیها62شکل 5‑8- نمودار کلاس بسته Classification64شکل 5‑9- نمودار کلاس بسته Content Provider66شکل 5‑10-نمودار کلاس بسته Data Source68شکل 5‑11- کلاس Service69شکل 5‑12- نمودار کلاس بسته Discovery و بستههای وابسته71شکل 5‑13- نمودار کلاس بسته Entity73شکل 5‑14- نمودار کلاس بسته Directory74شکل 6‑1- بردار نمونه یک سرویس در روش متنی بر SVM83شکل 6‑2- نمودار مقایسه دقت روشها87 فهرست جدولهاعنوان صفحهجدول 3‑1- جدول مقایسه دقت کلاسهبندی برای انواع بردارها و روشها35جدول 6‑1- بررسی دقت روش پیشنهادی80جدول 6‑2- مشخصات گوشی که به عنوان محیط اجرا استفاده شده80جدول 6‑3- زمانی اجرای روش پیشنهادی81جدول 6‑4- حافظه مصرفی روش پیشنهادی82جدول 6‑5- بررسی دقت روش مبتنی بر SVM84جدول 6‑6- زمانی اجرای روش مبتنی بر SVM85جدول 6‑7- حافظه مصرفی روش مبتنی بر SVM85جدول 6‑8- مقایسه دقت روشها86جدول 6‑9- بازههای اطمینان مختلف به ازای سطوح اطمینان مختلف برای زمان اجرا89جدول 6‑10- بازههای اطمینان مختلف به ازای سطوح اطمینان مختلف برای حافظه مصرفی90 فصل 1- مقدمهدر این فصل به ارائه مقدمهای در مورد موضوع پروژه می پردازیم. در ادامه به بیان انگیزه و هدف تحقیق پرداخته میشود، و سپس مسئلهای که با آن مواجه هستیم توضیح داده میشود. در قسمت آخر نیز ساختار مطالب پایاننامه توضیح داده میشود.امروزه در دسترس بودن اینترنت در اکثر مکانها یک تجربه روزمره است. از این رو برای کاربران سیار این انتظار ایجاد شده است، که دستگاهی که از آن استفاده مینمایند، در همه مکانها و زمانها قادر به پردازش باشد. پیشرفتهای اخیری که در تولید دستگاههای سیار صورت گرفته به همراه تحولات بسیاری که در فناروی شبکههای بیسیم رخ داده است، فناوری را به سمت محاسبات سیار و دسترسی مداوم و بدون وقفه به دادهها و اطلاعات میبرد. اگر چه مشکلاتی که در ارتباطات رخ میدهد و البته محدودیتهای دستگاههای سیار یک چالش مهم برای تحقق دسترسی مداوم و بدون وقفه در همه زمانها و مکانها محسوب میشود.معماری سرویسگرا به عنوان یکی از سبکهای معماری پیشرو در محیطهای محاسبات فراگیر مطرح شده است. معماری سرویسگرا از قابلیت استفاده مجدد[1]، اتصال سست[2]، انعطافپذیری در طراحی و قابلیت همکاری[3] بین سیستمهای ناهمگون[4]، به صورت موثری پشتیبانی مینماید. معماری سرویسگرا دورنمایی از توسعه نرمفزارهایی در محیطهای محاسبات فراگیر ارائه میدهد که در آن نرمافزارها با به کارگیری قابلیتهای شبکههای رایانهای بتوانند به طور موثر و به صورت خودکار با یکدیگر وارد تعامل شوند.[1]با ظهور و تکامل استفاده از شبکههای رایانهای و اینترنت بر روی گوشیهای هوشمند، دامنه استفاده از گوشیهای هوشمند از کاربردهایی که درون گوشی هوشمند تعبیه شدهاند، فراتر رفته و میتوان کارکردهایی در سطح شبکههای رایانهای و اینترنت را برای گوشی هوشمند در نظر گرفت. گوشیهای هوشمند برای اینکه بتوانند کارکردهایی در سطح شبکههای رایانهای و اینترنت داشته باشند، این نیازمندی وجود دارند که بتوانند از سرویسهایی که در اینترنت و شبکههای رایانهای وجود دارد استفاده نماید. اولین گام برای استفادهای موثر از سرویسهایی که ارائه میگردند، کشف و انتخاب سرویس مناسب میباشد. در حال حاضر تعداد زیادی سرویس در شبکههای رایانه و اینترنت برای استفاده عرضه میگردنند. ازدیاد سرویسهای عرضهشده، میتواند مشکل و مانعی بر سر استفاده موثر از سرویسهای وب به وجود آورد. از این رو نیازمند سازوکارهایی برای کشف و کلاسهبندی سرویسهای وب هستیم، تا استفاده کنندگان از سرویسهای وب بتوانند بهصورت موثر سرویس وب مورد نظر خود را انتخاب نمایند.از سوی دیگر گوشیهای هوشمند با محدودیتهایی مواجه هستند که در ارائه روشهایی که برای کشف و کلاسهبندی سرویسهای وب بر روی آنها استفاده میشود، میبایست در نظر گرفته شوند. گوشیهای هوشمند از نظر منابع پردازشی و میزان حافظه با محدودیتهایی مواجه میباشند، که در روشهایی که برای کشف و کلاسهبندی سرویسهای وب به کار گرفته میشوند بسیار محدود کننده است. از این در این پژوهش قصد داریم به مطالعه این مسئله بپردازیم و روشی برای کشف و کلاسهبندی سرویسهای وب در محیطهای محاسبات فراگیر ارائه دهیم، که برای گوشیهای هوشمند مناسب باشد.
ارائه روشی برای کشف و انتخاب سرویس های وب در محیط های محاسبات فراگیر بر روی گوشی های هوشمند word
امروزه تعداد زیادی سرویسهای وب در شبکههای رایانهای عرضه میشوند، که امکان کشف و کلاسهبندی آنها بهطور موثر وجود ندارد. این موضوع باعث میشود، که درخواستکنندگان سرویسهای وب وقت زیادی را صرف پیدا کردن سرویس وب مورد نظر خود، نمایند. این موضوع در محیطهای محاسبات سیار و بهخصوص بر روی گوشیهای هوشمند، مشکلات و چالشهای مربوط به خود را دارد. در این پژوهش به ارائه روشی برای کشف و کلاسهبندی سرویسهای وب در محیطهای محاسبات فراگیر و مناسب برای گوشیهای هوشمند پرداخته شده است. روش ارائه شده برای کشف سرویسهای وب، بر پایه کشف سرویسها مبتنی بر DNS ارائه شده است. روشی که برای کلاسهبندی سرویسهای وب ارائه شده است از دو مرحله پردازش متنی و کلاسهبندی تشکیلشده است. مرحله کلاسهبندی با به کارگیری پایگاهداده واژگانی WordNet و eXtended WordNet Domain صورت میگیرد. برای ارزیابی روش پیشنهای دقت، مدت زمان اجرا و مقدار حافظه مصرفی آن اندازهگیری شده است و نتایج حاصل از اندازهگیری با روشی دیگری که برای کلاسهبندی سرویسها ارائه شده و مبتنی بر SVM است، مقایسه شده است. همچنین از نتایج حاصل از پژوهش برای پیادهسازی یک نرمافزار اندرویدی برای گوشیهای هوشمند استفاده شده است. این نرمافزار سرویسهای وب محیطهایی که گوشی هوشمند در آن قرار میگیرد را کشف و کلاسهبندی مینماید و این اطلاعات را در اختیار کاربر و سایر نرمافزارهای کاربردی که بر روی گوشی هوشمند قرار گرفتهاند، میگذارد. واژگان کلیدی: سرویس وب، معماری سرویسگرا، کشف سرویس، کلاسه بندی سرویس فهرست مطالبعنوان صفحهفصل 1- مقدمه91-1- مقدمه91-2- هدف و انگیزه101-3- تعریف مسئله111-4- ساختار مطالب پایاننامه121-5- جمعبندی و نتیجهگیری12فصل 2- مروری بر ادبیات تحقیق و مبانی نظری162-1- سرویسهای وب162-1-1- Simple Object Access Protocol (SOAP)182-1-2- WSDL(Web Service Description Language)202-1-3- UDDI(Universal Description, Discovery and Integration)222-1-4- RESTful(Representational State Transfer)232-1-5- مقایسه SOAP و RESTfull242-1-6- کشف سرویس مبتنی بر DNS262-2- جمعبندی و نتیجهگیری29فصل 3- پیشینه پژوهشی333-1- کلاسهبندی سرویسها مبتنی بر دادهکاوی333-1-1- تشکیل بردار خصوصیتها343-1-2- اعمال روشهای کلاسهبندی دادهکاوی343-2- استفاده از تکنیکهای یادگیری ماشین353-2-1- نمونههایی از کارهای پژوهشی پیشین363-3- جمعبندی و نتیجهگیری38فصل 4- ارائه روش پشنهادی414-1- کشف سرویسها414-2- کلاسهبندی سرویسها434-2-1- Feature Mining444-2-2- Tokenization444-2-3- Stemming444-2-4- Stop List454-2-5- معرفی WordNet Ontology454-2-6- معرفی eXtended WordNet Domains454-2-7- روش کلاسهبندی ارائه شده464-3- جمعبندی و نتیجهگیری47فصل 5- پیادهسازی505-1- مرور کلی پیادهسازی از دیدگاه مورد استفاده505-1-1- مورد استفاده ثبت دامنه مورد نظر کاربر515-1-2- مورد استفاده مشاهده لیست دامنههای مورد نظر برنامههای کاربردی525-1-3- مورد استفاده مشاهده لیست سرویسهای هر دامنه535-1-4- مورد استفاده ثبت دامنه مورد نظر نرمافزار گوشی545-1-5- دریافت لیست سرویسهای مرتبط با یک دامنه توسط نرمافزارهای کاربردی555-2- ساختار بستهها555-2-1- ساختار کلاسهای بسته Activity575-2-2- ساختار کلاسهای بستههای Broadcast Receiver و Service595-2-3- ساختار کلاسهای بسته Business Component615-2-4- ساختار کلاسهای بسته Classification625-2-5- ساختار کلاسهای بسته Content Provider655-2-6- ساختار کلاسهای بسته Data Source675-2-7- ساختار کلاسهای بسته Discovery705-2-8- ساختار کلاسهای بسته Entity715-2-9- ساختار کلاسهای بسته ServiceDirectory735-3- جمعبندی و نتیجهگیری74فصل 6- ارزیابی روش پیشنهادی786-1- مجموعهداده786-2- اجرای روش پیشنهادی796-2-1- بررسی دقت روش پیشنهادی806-2-2- مشخصات محیط اجرا806-2-3- بررسی زمان اجرای روش پیشنهادی806-2-4- میزان حافظه مصرفی روش پیشنهادی816-3- اجرای روش مبتنی بر SVM826-3-1- فاز آموزش836-3-2- فاز تست846-3-3- بررسی دقت روش مبتنی بر SVM846-3-4- بررسی زمان اجرای روش مبتنی بر SVM856-3-1- میزان حافظه مصرفی روش مبتنی بر SVM856-4- ارزیابی و مقایسه روش پیشنهادی866-4-1- مقایسه دقت866-4-2- مشاهدات متناظر876-4-3- مقایسه زمان اجرا886-4-4- مقایسه حافظه مصرفی896-4-5- تحلیل نتایج906-5- جمعبندی و نتیجهگیری92فصل 7- بحث و نتیجهگیری967-1- کشف سرویسها967-2- کلاسهبندی سرویسها977-3- جمعبندی و نتیجهگیری98فصل 8- پیشنهادها و فرصتهای پژوهشی آینده1028-1- جمعبندی و نتیجهگیری104 فهرست شکلهاعنوان صفحهشکل 2‑1- معماری سرویسهای وب18شکل 2‑2- تفاوت نسخههای WSDL نسخه 1.1 و نسخه 2.021شکل 4‑1- فرآیند کلاسهبندی سرویسهای وب43شکل 5‑1-نمودار موردهای استفاده51شکل 5‑2- نمای دامنههای مورد نظر کاربر52شکل 5‑3-نمایی اصلی برنامه54شکل 5‑4- نمودار بستهها56شکل 5‑5- نمودار کلاسهای بسته Activity58شکل 5‑6- نمودار کلاس بستههای Broadcast Receiver و Service60شکل 5‑7- نمودار کلاس بسته Business Component و وابستگیها62شکل 5‑8- نمودار کلاس بسته Classification64شکل 5‑9- نمودار کلاس بسته Content Provider66شکل 5‑10-نمودار کلاس بسته Data Source68شکل 5‑11- کلاس Service69شکل 5‑12- نمودار کلاس بسته Discovery و بستههای وابسته71شکل 5‑13- نمودار کلاس بسته Entity73شکل 5‑14- نمودار کلاس بسته Directory74شکل 6‑1- بردار نمونه یک سرویس در روش متنی بر SVM83شکل 6‑2- نمودار مقایسه دقت روشها87 فهرست جدولهاعنوان صفحهجدول 3‑1- جدول مقایسه دقت کلاسهبندی برای انواع بردارها و روشها35جدول 6‑1- بررسی دقت روش پیشنهادی80جدول 6‑2- مشخصات گوشی که به عنوان محیط اجرا استفاده شده80جدول 6‑3- زمانی اجرای روش پیشنهادی81جدول 6‑4- حافظه مصرفی روش پیشنهادی82جدول 6‑5- بررسی دقت روش مبتنی بر SVM84جدول 6‑6- زمانی اجرای روش مبتنی بر SVM85جدول 6‑7- حافظه مصرفی روش مبتنی بر SVM85جدول 6‑8- مقایسه دقت روشها86جدول 6‑9- بازههای اطمینان مختلف به ازای سطوح اطمینان مختلف برای زمان اجرا89جدول 6‑10- بازههای اطمینان مختلف به ازای سطوح اطمینان مختلف برای حافظه مصرفی90 فصل 1- مقدمهدر این فصل به ارائه مقدمهای در مورد موضوع پروژه می پردازیم. در ادامه به بیان انگیزه و هدف تحقیق پرداخته میشود، و سپس مسئلهای که با آن مواجه هستیم توضیح داده میشود. در قسمت آخر نیز ساختار مطالب پایاننامه توضیح داده میشود.امروزه در دسترس بودن اینترنت در اکثر مکانها یک تجربه روزمره است. از این رو برای کاربران سیار این انتظار ایجاد شده است، که دستگاهی که از آن استفاده مینمایند، در همه مکانها و زمانها قادر به پردازش باشد. پیشرفتهای اخیری که در تولید دستگاههای سیار صورت گرفته به همراه تحولات بسیاری که در فناروی شبکههای بیسیم رخ داده است، فناوری را به سمت محاسبات سیار و دسترسی مداوم و بدون وقفه به دادهها و اطلاعات میبرد. اگر چه مشکلاتی که در ارتباطات رخ میدهد و البته محدودیتهای دستگاههای سیار یک چالش مهم برای تحقق دسترسی مداوم و بدون وقفه در همه زمانها و مکانها محسوب میشود.معماری سرویسگرا به عنوان یکی از سبکهای معماری پیشرو در محیطهای محاسبات فراگیر مطرح شده است. معماری سرویسگرا از قابلیت استفاده مجدد[1]، اتصال سست[2]، انعطافپذیری در طراحی و قابلیت همکاری[3] بین سیستمهای ناهمگون[4]، به صورت موثری پشتیبانی مینماید. معماری سرویسگرا دورنمایی از توسعه نرمفزارهایی در محیطهای محاسبات فراگیر ارائه میدهد که در آن نرمافزارها با به کارگیری قابلیتهای شبکههای رایانهای بتوانند به طور موثر و به صورت خودکار با یکدیگر وارد تعامل شوند.[1]با ظهور و تکامل استفاده از شبکههای رایانهای و اینترنت بر روی گوشیهای هوشمند، دامنه استفاده از گوشیهای هوشمند از کاربردهایی که درون گوشی هوشمند تعبیه شدهاند، فراتر رفته و میتوان کارکردهایی در سطح شبکههای رایانهای و اینترنت را برای گوشی هوشمند در نظر گرفت. گوشیهای هوشمند برای اینکه بتوانند کارکردهایی در سطح شبکههای رایانهای و اینترنت داشته باشند، این نیازمندی وجود دارند که بتوانند از سرویسهایی که در اینترنت و شبکههای رایانهای وجود دارد استفاده نماید. اولین گام برای استفادهای موثر از سرویسهایی که ارائه میگردند، کشف و انتخاب سرویس مناسب میباشد. در حال حاضر تعداد زیادی سرویس در شبکههای رایانه و اینترنت برای استفاده عرضه میگردنند. ازدیاد سرویسهای عرضهشده، میتواند مشکل و مانعی بر سر استفاده موثر از سرویسهای وب به وجود آورد. از این رو نیازمند سازوکارهایی برای کشف و کلاسهبندی سرویسهای وب هستیم، تا استفاده کنندگان از سرویسهای وب بتوانند بهصورت موثر سرویس وب مورد نظر خود را انتخاب نمایند.از سوی دیگر گوشیهای هوشمند با محدودیتهایی مواجه هستند که در ارائه روشهایی که برای کشف و کلاسهبندی سرویسهای وب بر روی آنها استفاده میشود، میبایست در نظر گرفته شوند. گوشیهای هوشمند از نظر منابع پردازشی و میزان حافظه با محدودیتهایی مواجه میباشند، که در روشهایی که برای کشف و کلاسهبندی سرویسهای وب به کار گرفته میشوند بسیار محدود کننده است. از این در این پژوهش قصد داریم به مطالعه این مسئله بپردازیم و روشی برای کشف و کلاسهبندی سرویسهای وب در محیطهای محاسبات فراگیر ارائه دهیم، که برای گوشیهای هوشمند مناسب باشد.