استقرار برنامه های کاربردی مبتنی بر مولفه در محیط های توزیع شده سمینار پروژه کارشناسی ارشد استاد راهنما :آقای دکتر حبیبی استاد مشاور :آقای دکتر موقر ارائه دهنده :سعید بشیری رئوس مطالب 2 مقدمه ابزارهای استقرار نرم افزار در صنعت متدهای استقرار نرم افزار در تحقیقات آکادمیک رهیافت مبتنی بر گراف برای برنامه ریزی استقرار گام های بعدی و زمانبندی مراجع دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر مقدمه 3 امروزه برنامه های کاربردی پیچیده ای وجود دارند که دارای تعداد زیادی مولفه های نرم افزاری ناهمگن هستند. این برنامه ها معموال در محیط های توزیع شده استقرار می یابند. استقرار برنامه های مبتنی بر مولفه در محیط های توزیع شده به سادگی استقرار برنامه های منفرد بر روی یک کامپیوتر نمی باشد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر مقدمه(ادامه) فرایند استقرار نرم افزار،یک توالی از فعالیت ها می باشد که یک برنامه توسعه داده شده را در محیط هدف قرار می دهد و آن را آماده استفاده می گرداند. 6 به دست آوردن)(Acquiring برنامه ریزی )(Planning نصب )( Installation پیکره بندی )(Configuration اجرا )(Execution دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر صنعت 7 ابزارهای استقرار نرم افزاردر صنعت به سه دسته اصلی تقسیم می شوند: نصب کننده های منفرد )(stand-alone installers ابزارهای استقرارمبتنی بر وب (Web-based )deployment tools ابزارهای مدیریت سیستم (Systems )management tools دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر نصب کننده های منفرد 8 صنعت(ادامه) فعالیت اصلی نصب کننده های منفرد ،نصب وحذف سیستم های نرم افزاری منفرد از روی یک کامپیوتر می باشد. ابزارها دارای محدودیت هایی نیز هستند از جمله برای نرم افزارهای توزیع شده غیرقابل استفاده می باشند و دیگر اینکه خود کاربر باید بروز رسانی ان را به عهده بگیرد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر نصب کننده های منفرد نمونه هایی از نصب کننده های منفرد Linux RPM Redhat Package Manager InstallShield InstallAnywhere 9 صنعت(ادامه) شرکت نرم افزاری Zero G دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر ابزارهای استقرارمبتنی بر وب 10 صنعت(ادامه) دراین ابزارها نیازی به نصب و به روزرسانی نرم افزار بر روی هرمیزبان به صورت جداگانه نمی باشد ودر عوض نرم افزار بر روی یک خدمتگزار وب استقرار می یابد. یکی از مهمترین محدودیت های این ابزارها این می باشد که تنها برای نرم افزارهای منفرد قابل استفاده می باشد و برای استقرار نرم افزارهای توزیع شده غیر قابل استفاده می باشد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر ابزارهای استقرارمبتنی بر وب نمونه هایی از ابزارهای استقرارمبتنی بر وب 11 صنعت(ادامه) Java Web Start Microsoft Windows Update Microsoft ClickOnce دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر ابزارهای مدیریت سیستم 12 صنعت(ادامه) در این ابزارها َ ، Administratorاز یک مکان متمرکز عملیات هایی را انجام میدهد که به صورت اتوماتیک در تمامی سیستم ها در شبکه اعمال می شود. Administratorاز روی کامپیوتر خود قادر به استقرار، پیکره بندی ،مدیریت و نگهداری تعداد زیادی از سیستمهای سخت افزاری و نرم افزاری می باشد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر ابزارهای استقرار نرم افزاردر ابزارهای مدیریت سیستم محدودیت های این ابزارها معموال سیستمهایی سنگین و پیچیده هستند نیاز به شبکه مطمئن دارند نیاز به کنترل کامل Administratorدارند. نمونه هایی از ابزارهای مدیریت سیستم 13 صنعت(ادامه) Microsoft Systems Management Server IBM Tivoli Management Environment Altiris Deployment Solution دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم افزاردرتحقیقات 14 ایجاد چارچوب های استقرار استفاده از عاملهای سیار در استقرار نرم افزار استقرار بر محور کیفیت سرویس استقرار در شبکه های محاسباتی دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم 15 چارچوب های افزاردرتحقیقات(ادامه) استقرار)(Deployment Frameworks در این رهیافتها محققین سعی می کنند که یک توالی از فعالیتها ) )activitiesرا برای فرایند استقرار نرم افزار بوجود آورند. هدف ایجاد یک چارچوب عمومی برای انجام فرایند استقرار نرم افزاز می باشد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم افزاردرتحقیقات(ادامه) نمونه هایی ازچارچوبهای استقرار Software Dock OMG D&C Specification در دانشگاه Colorado توسط Object Management Group ORYA مختصر Open enviRonment to deploY Applications توسط Lestideauو Belkhatirدر سال 2003 16 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم استفاده از عاملهای سیار در استقرار نرم افزار عاملهای سیار به دالیل زیر درفرایند استقرارمفیدند امکان عمل در قالب های ناهمگن در نتیجه انجام فرایند استقرار در شبکه های ناهمگن امکان یکپارچگی با اینترنت در نتیجه یکپارگی فرایند استقرار با اینترنت امکان نظاره کردن روال نصب 17 افزاردرتحقیقات(ادامه) جلوگیری از عملیات غیر قانونی و در نتیجه امنیت بیشتر دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم نمونه پروژه هایی که در فرایند استقرار آنها از عامل های سیار استفاده شده است پروژه تحقیقاتی University of Colorado Software Dock سیستم TACOMA 18 افزاردرتحقیقات(ادامه) توسط and N.Sudmann Johnson D.در سال 2002 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم افزاردرتحقیقات(ادامه) استقرار بر محور کیفیت سرویس (QoS-Aware )Deployment 19 در این رهیافت وضعیت پارامترهای کیفیت سرویس در فرایند استقرار مورد توجه قرار می گیرد. هدف انتخاب پیکره بندی استقراری می باشد که پارامتر کیفیت سرویس مورد نظر را بهینه نماید. از جمله پارامترهای کیفیت سرویس می توان به قابلیت اطمینان، امنیت ،هزینه ،توازن بار ،دردسترس بودن و ...اشاره کرد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم نمونه پروژه هایی که فرایند استقرار آنها بر محور کیفیت سرویس می باشد محیط ، DeSiمعرفی شده توسط ,etcRakicM.درسال 2004 تاکید بر روی پارامتر دردسترس بودن پروژه دیگر در سال 2002توسط Nahrstedtو Wichadakul 20 افزاردرتحقیقات(ادامه) تاکید بر استقرار بر محور کیفیت سرویس در محیط فراگیر دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافتهای استقرار نرم افزاردرتحقیقات(ادامه) استقرار در شبکه های محاسباتی در این رهیافتها به علت تعداد زیاد میزبانان و همچنین ناهمگنی شبکه ،فاز استقرار باید در حد امکان بصورت اتوماتیک باشد. در این فرایند اتوماتیک باید محدودیت های برنامه و کاربر ارضاء شوند. از جمله این پروژه ها ،چارچوبی است که برای استقرار مولفه های ،CORBAدر شبکه های محاسباتی توسط Lacourو Priolدر سال 2004ارائه شده است. 21 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار هدف ما : توسعه الگوریتم های مورد نیاز برای استقراربرنامه های کاربردی مبتنی بر مولفه در محیط های توزیع شده می باشد به طوریکه : برخی از پارامترهای کیفیت سرویس ماکزیمم شوند. 22 یک فرایند استقرار بر محور کیفیت سرویس می باشد. محدودیت های تعریف شده توسط کاربر ارضاء شوند. رهیافت وابسته به تکنولوژی های توسعه مبتنی بر مولفه نباشد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) تمرکز در این پروژه بر فاز برنامه ریزی می باشد. فرایند استقرار نرم افزار 23 به دست آوردن)(Acquiring برنامه ریزی )(Planning نصب )( Installation پیکره بندی )(Configuration اجرا )(Execution دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) فاز برنامه ریزی )(Planning 24 در این فاز با توجه به مشخصات برنامه مبتنی بر مولفه، مشخصات محیط هدف ،و محدودیت های کاربر مشخص می شود که کدام مولفه در کدام میزبان اجرا خواهد شد. به برنامه ای که این فاز را انجام می دهد ،برنامه ریز گفته می شود(Planner). نتایج در طرح استقرار )(Deployment Plan دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) ورودی های برنامه ریز 25 مشخصات برنامه ای که باید استقرار یابد. مشخصات محیطی که برنامه باید در آن استقرار یابد (محیط هدف). مشخصات محدودیت های تعریف شده توسط کاربر و نیازمندیها. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مدل کردن ورودی های برنامه ریز از گراف برای مدل کردن ورودی ها استفاده می شود. مزایای استفاده از گراف برای مدل کردن 26 گراف یک بازنمایی بصری را ارائه می کند. الگوریتمهای تئوری گراف می توانند به ما در طراحی الگوریتمهای برنامه ریزی استقرار کمک نمایند. از سمبلهای تئوری گراف می توان برای بازنمایی صوری ورودی های برنامه ریزونیزاثبات درستی الگوریتمهای برنامه ریزی استقرار استفاده کرد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مدل کردن مشخصات برنامه 27 از دید برنامه ریز ،برنامه متشکل ازتعدادی مولفه می باشد که توسط تعدادی کانال با خصوصیات متفاوت با یکدیگر در ارتباطند. جزییات داخلی ونحوه عملکرد درونی مولفه ها مهم نمی باشد. این مولفه ها می توانند فرایند،سرویس وب، Java beans ، مولفه های CORBAو ...باشند. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مدل کردن مشخصات برنامه 28 ابتدا برنامه مبتنی بر مولفه ،توسط Reoمدل می شود. ،Reoیک مدل هماهنگی مبتنی بر کانال می باشد که رفتارهای مشارکتی دوسویه مولفه ها را در یک سیستم مبتنی بر مولفه هماهنگ می سازد. ،Reoاین امکان را می دهد تا ارتباطات بین مولفه ها ،که هر کدام دارای خصوصیات متفاوت می باشند ،به سادگی مدل شده و بیان شوند. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مثالی از یک برنامه مدل شده با Reo N1 سرویس رزرو پرواز بین المللی سرویس رزرو پرواز سرویس رزرو پرواز داخلی N2 29 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مدل کردن مشخصات برنامه 30 برنامه مدل شده با Reoرا به راحتی می توان تبدیل به گراف کرد گره های گراف ،نمایانگرمولفه های برنامه می باشند. یالهای گراف ،نمایانگر کانالهای بین مولفه ها می باشند. هر یال ،با نام نوع کانال ارتباطی بین دومولفه برچسب می خورد. گراف حاصل ،گراف برنامه )(Application Graph نامیده می شود. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مثالی از یک گراف برنامه سرپب T2 N1 T2 سرپ T4 سرپد 31 T1 N2 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر T1 رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) مدل کردن مشخصات محیط هدف محیط هدف ،متشکل ازتعدادی میزبان با تواناییهای محاسباتی متفاوت می باشد که توسط یک شبکه در محیط توزیع شده به یکدیگر متصلند. محیط هدف به صورت زیر با یک گراف مدل می شود 32 گره ها ،نمایانگرمیزبانان دردسترس در محیط توزیع شده می باشند. یالها ،نمایانگر انواع کانالهای مختلف می باشند که می توانند بین دو میزبان وجود داشته باشند. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) گراف حاصل ،گراف محیط ) graphنامیده می شود. مثالی از یک گراف محیط هدف 33 هدف (Target environment دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) حال می توان برنامه ریزی استقرار را چنین تعریف نمود ایجاد نگاشتی بین گراف برنامه و گراف محیط هدف نگاشت باید به شکلی صورت پذیرد که پارامتر کیفیت سرویس مورد نظر ماکزیمم شود. همچنین محدودیت های تعریف شده توسط کاربر ارضاء شوند. 34 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر رهیافت مبتنی بر گراف برای برنامه ریزی استقرار(ادامه) عباس حیدرنوری و فرهاد مودت وفرهاد ارباب ،این مساله را برای پارامترهای کیفیت سرویس هزینه و اطمینان حل نموده اند. 35 حل مساله برای پارامترهزینه با استفاده از الگوریتم تقریبی مساله پوشش مجموعه مینیمم ((Minimum Set Cover حل مساله برای پارامتراطمینان با استفاده از الگوریتم تقریبی مساله برش چند راهه ) (Multiway cutدر تئوری گراف. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر گام های بعدی و زمانبندی 36 در گام بعدی ما می خواهیم با استفاده از رهیافت مبتنی بر گراف مساله برنامه ریزی را برای یکی دیگر از پارامترهای کیفیت سرویس از جمله کارایی،امنیت، توازن بار و ...حل نماییم. تست الگوریتم ارائه شده مرحله بعدی می باشد. دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر گام های بعدی و زمانبندی(ادامه) فعالیت حل مساله برنامه ریزی برای یک پارامتر کیفیت سرویس حل نشده با رهیافت مبتنی بر گراف 37 ماه 4الی 5 تست الگوریتم ارائه شده 2 تدوین پایان نامه 2 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر مراجع Arbab, F. Reo: A Channel-based Coordination Model for Component Composition. Mathematical Structures in Computer Science, 14, 3 (June 2004),pp. 329-366. Heydarnoori, A. and Mavaddat, F. and Arbab, F. Deploying Loosely Coupled, Component-based Applications into Distributed Environments. Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems (ECBS’06) Heydarnoori, A. and Mavaddat, F. Reliable Deployment of Component-based Applications into Distributed Environments . Proceedings of the Third International Conference on Information Technology: New Generations (ITNG'06) Lacour, S., Prez, C., and Priol, T. A Software Architecture for Automatic Deployment of CORBA Components Using Grid Technologies. In Proceedings of the First Francophone Conference On Software Deployment and (Re Configuration (DECOR 2004 ,)Grenoble, France, October 2004, pp.187-192. دانشکده مهندسی کامپیوتر،دانشگاه صنعتی شریف 38 مراجع Lacour, S., Prez, C., and Priol, T. A Software Architecture for Automatic Deployment of CORBA Components Using Grid Technologies. In Proceedings of the First Francophone Conference On Software Deployment and (Re Configuration (DECOR 2004 ,)Grenoble, France, October 2004, pp.187-192. Sudmann, N.P. and Johansen, D. Software Deployment Using Mobile Agents. In Proceedings of First International IFIP/ACM Working Conference on Component Deployment (CD 2002 ,) Berlin, Germany, June 20-21,2002. Object Management Group, Deployment and Configuration of Component-based Distributed Applications specification, http://www.omg.org/docs/ptc/04-05-15.pdf. Carzaniga, A., Fuggetta, A., Hall, R. S., Hoek, A. V. D., Heimbigner,D., Wolf, A. L. A Characterization Framework for Software Deployment Technologies. Technical Report CU-CS857-98, Dept. of Computer Science,University of Colorado, April 1998 دانشکده مهندسی کامپیوتر،دانشگاه صنعتی شریف 39 مراجع Mikic-Rakic, M., Malek, S., Beckman, N. and Medvidovic, N. A Tailorable. Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings. In Proceedings of the Second International Working Conference on Component Deployment (CD 2004 ,)Edinburgh,UK, May 2021, 2004. Wichadakul, D., and Nahrstedt, K. A Translation System for Enabling Flexible and Eficient Deplyoment of QoS-aware Applications in Ubiquitous Environments. In Proceedings of the First International IFIP/ACMWorking Conference on Component Deployment (CD 2002), Berlin, Germany, 2002. Lestideau, V. and Belkhatir, N. Providing Highly Automated and Generic Means for Software Deployment Process. In Proceedings of the 9th International Workshop on Software Process Technology (EWSPT 2003), Helsinki,Finland, September 1-2, 2003, pp. 128-142. دانشکده مهندسی کامپیوتر،دانشگاه صنعتی شریف 40 ؟ 41 دانشگاه صنعتی شریف ،دانشکده مهندسی کامپیوتر
© Copyright 2024 Paperzz