بخشی از مقاله

ارائه يک مدل براي افزايش قابليت اطمينان در معماري سرويس گرا
چکيده
معماري سرويس گرا شکل توسعه يافته سيستم هاي توزيع شده است که از ارتباط سست سرويس ها به منظـور ايجـاد تعامـل بـين سيستم ها استفاده مي کند. با توجه به ويژگي ها و مزاياي اين معماري ، استفاده از آن روز به روز در حال افزايش است . بطور کلي روند کار در اين معماري شامل پنج مرحله ي انتشار سرويس ، کشف سرويس ، ترکيب سرويس ، اتصال سرويس و اجراي سرويس است که با توجه به شبکه بودن بستر اجراي آن امکان بروز خطا در هر يک از اين مراحل وجود دارد. در مرحله اجراي سرويس ممکن اسـت بـه دلايلي چون محيط اجرا، پياده سازي نادرست و يا برنامه نويسي اشتباه ، نتيجه حاصل از اجراي سرويس بـا نتيجـه واقعـي يکسـان نبوده و يا اينکه هيچ پاسخي از ناحيه سرويس دريافت نشود. نظر به موارد کاربرد معماري سرويس گـرا بخصـوص در سيسـتم هـاي بحراني که بروز خطا منجر به خسارات جبران ناپذيري مي شود، استفاده از سرويس هايي با نرخ خطاي کمتر و قابليت اطمينـان بـالا يک ضرورت است . در اين مقاله با استفاده از ترکيب تکنيک هاي مختلف تحمل پذيري خطا يک مدل براي افزايش قابليت اطمينـان نتايج حاصل از اجراي سرويس ها پيشنهاد شده است .
کلمات کليدي
معماري سرويس گرا، تحمل پذيري خطا، قابليت اطمينان
١- مقدمه
معماري سرويس گرا يک پلت فرم پويا و انعطـاف پـذير در بسـتر شـبکه است که براي پياده سازي سيستم هاي توزيـع شـده بـه کـار مـي رود و اجزايش را بصورت سرويس ارائه مي کند کـه بـر روي تعـاملات سسـت بين سرويس ها تاکيد دارد. اين سرويس ها هم توسط ساير نـرم افزارهـا قابل استفاده بوده و هم با ترکيب آنها سـرويس هـاي جديـد بـه وجـود مي آيد [١].
با توجه به افزايش روز افـزون اسـتفاده از معمـاري سـرويس گـرا، استفاده از سرويس هايي با قابليت اطمينان بالا به خصوص در سيستم - هاي بحراني که بروز هرگونه خطا در آنها نامطلوب بوده و ممکن اسـت منجر به خسارات جبران ناپذيري شود ضروري به نظر مي رسد [٢].
به طور کلي مراحل اجراي معماري سرويس گرا شامل پنج مرحله - ي انتشار سرويس ، کشف سرويس ، ترکيب سرويس ، اتصـال سـرويس و اجراي سرويس است که با توجه بـه شـبکه بـودن بسـتر اجرايـي ايـن معماري ، امکان بروز خطا در هر يک از اين مراحل وجـود دارد [٣][٤].
در مرحله اجراي سرويس به دلايلي چـون محـيط اجـرا، پيـاده سـازي نادرست ، توصيف نادرست ، اتصال با سـرويس اشـتباه و برنامـه نويسـي اش باه ، ممکن است نتيجه حاصل از اجراي سـرويس بـا نتيجـه واقعـي متفاوت باشد و يا اينکه هيچ پاسخي از سرويس دريافت نشود. در ايـن صورت خطاي اجراي سرويس رخ خواهد داد.
در اين مقاله به منظور پوشش خطاي اجراي سرويس ها و افزايش قابليت اطمينان آنها با استفاده از تکنيک هاي تحمل پذيري خطـا يـک مدل مناسب پيشنهاد شده است .
بخش هاي مختلف تحقيق به اين صورت ساماندهي شده است : در بخش دوم به شـرح تحمـل پـذيري خطـا و برخـي از تکنيـک هـاي آن پرداخته مي شود. بخش سوم کارهـاي انجـام شـده مـرتبط بـا موضـوع تحقيق را مورد بررسي قرار مي دهد، در بخش چهارم مـدل پيشـنهادي به همراه جزئيات آن تشـريح شـده و در بخـش پـنجم عملکـرد مـدل پيشنهادي مورد ارزيابي قرار گرفته است .

٢- تحمل پذيري خطا
سيستم تحمل پذير خطا، سيستمي است که حتي بـا وجـود خطاهـاي نرم افزاري و سخت افزاري بتواند وظايف محوله را به درستي انجام دهـد.
بطور کلي هدف از تحمل پذيري خطا آن است که با وجـود خطـا، کـل سيستم دچار خرابي و مشکل نشود. يکي از مهمتـرين روش هـا بـراي تحمــل پــذيري خطــا، اســتفاده از تکنيــک افزونگــي اســت . افزونگــي مي تواند به صورت سخت افـزاري ، نـرم افـزاري ، اطلاعـات و يـا افزونگـي زماني باشد [٥].
در تکنيک افزونگي از سخت افزار، نرم افزار و زماني بـيش از آنچـه براي عملکرد عادي سيستم مورد نياز است استفاده مي شـود. افزونگـي سه تايي ...١. و افزونگي زماني نمونه هايي از تکنيـک هـاي افزونگـي مـي - باشند. در روش افزونگي سه تايي از سه سخت افزار استفاده شـده و بـه منظور تعيين خروجي نهايي از مکانيزم رأي گيري استفاده مي شـود. در افزونگي زماني يک درخواست در بازه هاي زمـاني مختلـف توسـط يـک نرم افزار اجرا مي شود [٥]. در مدل پيشنهادي به منظور پوشش خطـاي اجراي سرويس از تکنيک هاي افزونگي زماني و نرم افزاري استفاده شده است .
٣- کارهاي انجام شده
با توجه به نوپا بودن معماري سرويس گرا و بحـث قابليـت اطمينـان در اين معماري ، کار هاي محدودي در اين زمينه صورت گرفتـه اسـت . در ادامه به برخي از کارهاي انجام شده در اين زمينه اشاره مي شود.
ژاو در مقاله خود[٦] با توجه به غير قابل اعتماد بودن محيط هاي عملياتي در سرويس هاي وب يک چارچوب براي افزايش تحمل پـذيري خطا با نام BFT-WS.2... ارائه کرده است . کـه در آن بـه منظـور پوشـش خطاي نتايج نادرست از يک سـرور اصـلي و تعـدادي سـرور پشـتيبان استفاده شده است .
تساي و همکاران براي افزايش قابليت اطمينان سرويس هاي وب [٧]. آنها در انفرادي و سرويس هاي ترکيبي يک مدل ارائه کرده اند مدل پيشنهادي خود بجاي استفاده از ناظر به منظور تشخيص خطا از داور براي سرويس هاي چندتايي استفاده کرده اند.
لاو و همکاران يک رويکرد معرفي مي کنندکه درآن از خصوصيات و ويژگي هاي سرويس هاي ارکستر و نيز زبان اجراي فرايند کسب و کار بهره گرفته و براي ايجاد يک مدل تحمل پذير خطا از روش [٨].
در اين تحقيق يک معماري با نام تکثير استفاده شده است.FTWS-Orch ... براي ايجاد تحمل پذيري خطا در معماري سرويس گرا ارائه شده است که از ميان افزار مبتني بر سرويس ارکستر که ترکيبي از تکنيک کپي فعال و غير فعال است استفاده مي کند.
٤- مدل پيشنهادي
خطا ممکن است در هر يک از مراحل کاري معمـاري سـرويس گـرا رخ دهد. در مرحله اجراي سرويس دلايلي چون نتايج نادرست و يا خرابـي سرويس مي تواند منجر به بروز خطـاي اجـراي سـرويس شـود. نتـايج نادرست در اثر خطاهاي محـيط اجـرا، پيـاده سـازي نادرسـت ، برنامـه نويسي اشتباه و توصيف نادرست سرويس ايجاد مـي شـود کـه در ايـن صورت نتيجه حاصل از اجراي سرويس با نتيجه واقعي يکسان نخواهـد ود. خرابي سرويس هـم در اثـر خطاهـاي محـيط اجـرا، پيـاده سـازي نادرست ، برنامه نويسي اشتباه ، قطع ارتباط شبکه و اتصال بـه سـرويس اشتباه رخ خواهـد داد کـه در ايـن صـورت هـيچ پاسـخي از سـرويس دريافت نخواهد شد.
در اين تحقيق به منظـور افـزايش قابليـت اطمينـان معمـاري سرويس گرا و پوشش خطاي اجراي سرويس ، يک مدل پيشـنهاد شـده است . شکل (١) مدل پيشنهادي را نشان مي دهـد. در مـدل پيشـنهادي براي پوشش خطـاي نتـايج نادرسـت بـر حسـب تعـداد سـرويس هـاي برگشتي از ...UDDI٤. از تکنيک هاي تحمل پذيري خطاي مناسب استفاده شده است . اين مدل همچنـين بـه منظـور پوشـش خرابـي سـرويس و پوشش خطاي عدم پاسخ از مکانيزم مهلت زماني استفاده مي کند.
١
شکل (١): طرح کلي مدل پيشنهادي
در اين مدل ، درخواست کاربر توسط واحد مرکزي دريافت شـده و براي UDDI ارسال مي شـود. سـپس برحسـب تعـداد سـرويس هـاي موجود در ليست برگشـتي از طـرف UDDI در مـورد انتخـاب تکنيـک تحمل پذيري خطاي مناسب تصميم گيري شده و به تعداد مـورد نيـاز، سرويس انتخاب و درخواست کاربر براي آنها ارسال مي شود. در نهايـت پس از دريافت پاسخ سـرويس هـا، بـا اسـتفاده از مکـانيزم رأي گيـري اکثريت ، پاسخ نهايي انتخاب شده و بـراي کـاربر ارسـال مـي شـود. در صورتي که هيچ پاسخي از يک سرويس دريافت نشود از مکانيزم مهلت زماني به منظور پوشـش خرابـي سـرويس اسـتفاده مـي شـود. در ايـن مکانيزم چنانچه سرويس در يک زمان مشـخص بـه درخواسـت پاسـخ ندهد بر حسب تعداد سرويس هاي موجـود ممکـن اسـت دو حالـت رخ دهد. يکي آن که يک سـرويس جـايگزين انتخـاب و درخواسـت کـاربر براي آن فرستاده شود. دوم آنکه درخواست مجددا براي همان سرويس ارسال شود تا در صورتي که خطاي گذرايي در سرويس رخ داده اسـت رفع شود. همچنين به منظور پوشـش خطـاي عـدم پاسـخ از مکـانيزم مهلت زماني استفاده مي شود. چنانچه سرويس در يک زمـان مشـخص به درخواست پاسخ ندهـد از يـک سـرويس جـايگزين بـراي پاسـخ بـه درخواست کاربر استفاده مي شود.
به منظور انجام وظايف فوق واحد مرکزي مورد استفاده در مـدل پيشنهادي از دو قسمت تشکيل شده است که هر يک از اين قسمت هـا وظيفه اي مشخص را بر عهده دارد. در شکل (٢) اجزاء تشـکيل دهنـده واحد مرکزي نشان داده شده است . در ادامه هر يـک از اجـزاء تشـکيل دهنده اين واحد شرح داده مي شود.


٤-١- واحد انتخاب و تصميم گيري
بطور کلي اين واحد وظيفه دريافت درخواست کاربر، ارسال درخواست به UDDI، دريافت ليست سرويس هاي منطبق با نياز کاربر و انتخاب تکنيک تحمل پذيري خطا با توجه به تعداد سرويس ها را جهت اجراي درخواست کاربر بر عهده دارد.
واحد انتخاب و تصميم گيري پس از دريافت درخواست کاربر آن را براي UDDI ارسال کرده و با دريافت ليست ارسالي از طرف UDDI بر حسب تعداد سرويس هاي موجود در ليست بازگشتي اقدام به ايجاد ليست انتخابي و انتخاب تکنيک تحمل پذيري خطا مي کند. سياست کلي انتخاب تکنيک مناسب به صورت ذيل مي باشد.
در صورتي که تعداد سرويس هاي برگشتي از طرف UDDI بيشتر از دو باشد از تکنيک افزونگي سه تايي استفاده مي شود. در اين حالت از سه سرويس بعنوان سرويس هاي اصلي و در صورت وجود از سرويس چهارم به عنوان سرويس پشتيبان براي مکانيزم مهلت زماني استفاده مي شود.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید