Schedule the unew in VMmax in rpmax according to SDmax
}

شکل ۴-۱۸: الگوریتم ProfRS ]27[.
الگوریتم ماکزیمم­سازی سود بوسیله به­ کارگیری تاخیر جریمه (ProfPD): این الگوریتم بر به تاخیر انداختن درخواست جدید برای پذیرش درخواست­های بیشتر تمرکز دارد. در فاز اول بررسی می­ شود که آیا درخواست جدید می ­تواند با قرارگیری در انتهای صف یک VM شروع­شده قبلی یا با درج آن در یک VM شروع­شده یا با شروع یک VM جدید پذیرفته شود یا نه ( ابتدا در مرحله ۳ با بهره گرفتن از الگوریتم canWait() بررسی می­ شود که آیا درخواست می ­تواند منتظر تکمیل درخواست­های قبلی شود یا نه و اگر نمی­توانست با استراتژی Insert بررسی می­ شود که آیا درخواست جدید می ­تواند قبل از درخواست از قبل پذیرفته شده در یک VM شروع شده فعلی قرار بگیرد (مرحله ۴) و اگر نتواند در مرحله ۵ بررسی می­ شود که آیا درخواست با شروع VM جدید (الگوریتم canInitiateNewVM()) یا با به تاخیر انداختن درخواست جدید (استراتژی :PenaltyDelay()مرحله ۷) پذیرفته می­ شود یا نه. اگر فراهم­کننده SaaS نتواند از این طریق سودی بدست آورد درخواست رد می­ شود (مرحله۱۴) ولی اگر سودی بدست آید الگوریتم حداکثر سود بازگشتی را برمی­گرداند (مرحله۲۳). بقیه مراحل مثل الگوریتم قبل است. شکل ۴-۱۹این الگوریتم را نشان می­دهد. همانطور که گفته شد شکل ۴-۱۲ یک مدل SaaS برای پاسخ­دهی به مشتریان در ابر است و شامل سه زیر لایه است که در ادامه توضیح داده شده ­اند.

( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

لایه ابزارهای کاربردی که همه سرویس­های کاربردی پیشنهادی توسط SaaS را مدیریت می­ کند.
لایه بستر: شامل سیاست­های نگاشت و زمانبندی برای ترجمه نیازهای QoS به پارامترهای سطح زیرساخت و تخصیص ماشین­های مجازی برای پاسخ به درخواست­ها می باشد.
لایه زیرساخت که آغاز و حذف ماشین­های مجازی را مدیریت می­ کند.
در ]۲۸[ درخواست­های مشتری برای سرویس­های نرم­افزار ERP با توافق بر SLA از پیش­تعریف­شده و ثبت پارامترهای QoS مشتری بررسی شده ­اند که در ادامه شرح داده شده ­اند.
مولفه­های مدل سیستم که شامل عامل، مدل ریاضی، استراتژی نگاشت و الگوریتم است. هر یک از این مولفه­ها در ادامه توضیح داده شده ­اند.
عامل: دو گروه عامل در نظر گرفته شده و برای هر یک پارامترهای SLA در نظر گرفته شده است که در ادامه توضیح داده شده ­اند. ۱- فراهم­کننده: فراهم­کنندگان باید قادر به مدیریت درخواست­ها بطور هوشمندانه و با در نظر SLA باشند. خصوصیات SLA مورد بررسی شامل موارد زیر است.
نوع درخواست (recType): شامل دو نوع “اجاره زمان اول” (مشتری فردی است که یک سرویس جدید درخواست داده است) و “آپگرید سرویس” (شامل اضافه کردن حساب کاربری و یا آپگرید نوع محصول).
نوع محصول (proType): محصول شامل سه نوع استاندارد، حرفه­ای و بنگاه است.
نوع حساب کاربری (accType): حداکثر تعداد حساب­های کاربری که یک مشتری می ­تواند ایجاد کند و شامل سه نوع گروه، تیم و دپارتمان است.
مدت قرارداد (conLen): مدت زمانی که یک سرویس برای مشتری در دسترس است.
تعداد حساب­های کاربری (accNum): تعداد دقیق حساب­های کاربری که مشتری می­خواهد بسازد.
تعداد رکوردها (recNum): حداکثر تعداد رکوردهایی که مشتری قادر به ایجاد آن برای هر حساب در طی تراکنش است.
زمان پاسخ (respTime): مدت زمان سپری­­شده بین پایان یک تقاضای سرویس نرم­افزاری و شروع یک سرویس را گویند. نقض SLA زمانی رخ می­دهد که زمان سپری­شده واقعی از زمان پاسخ از پیش­تعریف­شده در SLA بیشتر شود. سه نوع زمان پاسخ در نظر گرفته شده است. ۱- زمان پاسخ برای اولین باری که سرویس اجاره داده می­ شود.۲- زمان پاسخ برای اضافه کردن حساب کاربری جدید ۳- زمان پاسخ برای آپگرید محصول.
۲- مشتری: لایه بستر از تصاویر VM برای ایجاد نمونه­هایی بر اساس تصمیم نگاشت استفاده می­ کند، بنابراین ویژگی­های زیر برای مکانیزم­ های تخصیص منبع برای تضمین اینکه SLA به اندازه کافی خوب است باید تعریف شوند. ۱- نوع VM (l): بزرگ، کوچک، متوسط ۲- قیمت VM: هزینه پرداختی فراهم­کننده برای استفاده از یک VM برای سرویس­دهی به مشتری در هر واحد زمان ۳- زمان انتقال داده (dataTrafT): مدت زمان انتقال یک گیگابایت داده از یک VM به دیگری ۴- سرعت انتقال داده (dataTrafSpeed).

Algorithm 3:Pseudo-code for ProfPD algorithm

Input: New user’s request parameters (unew), expInvRetnewi j
Output: Boolean
Functions:admissionControl()
{IF (there is any initiated VM) THEN
{For each vmi in each resource provider rpj DO
{ IF (! canWait(unew, vmi)) THEN
{ IF (! canInsert(unew, vmi)) THEN
{ IF (! canInitiateNew(unew, rp j)) THEN
continue;
IF (! canPenaltyDelay(unew, rp j)) THEN
continue
}
}
}
}
Else IF (! canInitiateNew(unew, rp j)) THEN
Return reject
IF (PotentialScheduleList is empty) THEN
Return reject
Else { Get the max[retnewi j , SDi j ] in PotentialScheduleList
IF (max(retnewi j ) < =expInvRetnewi j ) THEN
Return accept
Else Return reject
}

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...