طراحی یک کنترلکننده هوشمند اضافه بار جهت استفاده در شبکههای نسل آینده
الموضوعات :
1 - دانشگاه صنعتی کرمانشاه،گروه مهندسی كامپیوتر
الکلمات المفتاحية: IMS, SIP, كنترل اضافه بار, سیستمهای چندعامله,
ملخص المقالة :
SIP به عنوان پروتكل سیگنالینگ برای زیرسیستمهای مبتنی برIP (IMS) در نظر گرفته شده و از طرفی IMS به عنوان پلتفرم شبكههای نسل آینده معرفی گردیده است. SIP برخلاف ویژگیهای مثبتی مانند مبتنی بر متن، مبتنی بر IP، مستقل از داده انتقالی، پشتیبانی از جابهجایی و انتها به انتها بودن، فاقد مكانیزم مناسبی در مواجه با اضافه بار میباشد. از این رو، این چالش باعث خواهد شد كه كاربران گسترده شبكههای نسل آینده با افت شدید كیفیت در خدمات مواجه شوند. IMS توزیعشده، یك شبكه پیچیده محسوب میگردد كه متشكل از زیرسیستمهایی است كه با یكدیگر در فعل و انفعال میباشند. در نتیجه، سیستمهای چندعامله میتوانند ابزار مناسبی برای حل مشكل اضافه بار در این شبكه باشند. به این منظور، هر سرور IMS به عنوان یک عامل هوشمند در نظر گرفته میشود که با حفظ خودمختاری، قابلیت یادگیری و مذاکره با بقیه عاملها را داراست تا اضافه بار توسط ارتباطات و دانش جابهجاشده در بین عاملها رفع گردد. در این مقاله، به واسطه سیستمهای چندعامله و خواص آنها، روش گام به گام مبتنی بر حذف ارائه گردیده که نتایج شبیهسازی و مقایسه با روش معروف ارائهشده قبلی، بهبود كارایی را نشان میدهد
[1] P. Agrawal, Y. Jui-Hung, C. Jyh-Cheng, and Z. Tao, "IP multimedia subsystems in 3GPP and 3GPP2: overview and scalability issues," Communications Magazine, IEEE, vol. 46, no. 1, pp. 138-145, Jan. 2008.
[2] C. Shen, H. Schulzrinne, and E. Nahum, "Session Initiation Protocol (SIP) Server Overload Control: Design and Evaluation," in Principles, Systems and Applications of IP Telecommunications. Services and Security for Next Generation Networks, S. Henning, S. Radu, and N. Saverio, Eds.: Springer-Verlag, pp. 149-173, 2008.
[3] V. Hilt and I. Widjaja, "Controlling overload in networks of SIP servers," in Proc. IEEE Int. Conf. on Network Protocols, pp. 83-93, Orlando, FL, USA, 19-22 Oct. 2008.
[4] J. Davin, P. Riley, and M. Veloso, "CommLang: Communication for Coachable Agents," Robot Soccer World Cup VIII, vol. 3276, D. Nardi, M. Riedmiller, C. Sammut, and J. Santos-Victor, Eds. (Lecture Notes in Computer Science: Springer Berlin Heidelberg, pp. 46-59, 2005.
[5] M. Wooldridge, An Introduction to MultiAgent Systems, Wiley, 2009.
[6] م. عبدوس، ارائه یک مدل یادگیري تقویتی با نظارت چندسطحی در سیستمهاي چندعامله هولونی، پاياننامه دكتري در مهندسي كامپيوتر (هوش مصنوعي و رباتيك)، مهندسی کامپیوتر، دانشگاه علم و صنعت ایران، 1392.
[7] H. C. Hsieh and J. L. Chen, "Distributed multi-agent scheme support for service continuity in IMS-4G-Cloud networks," Computers & Electrical Engineering, vol. 42, pp. 49-59, Feb. 2015.
[8] M. Abdoos, N. Mozayani, and A. C. Bazzan, "Hierarchical control of traffic signals using Q-learning with tile coding," Applied Intelligence, vol. 40, no. 2, pp. 201-213, Mar. 2014.
[9] M. Abdoos, N. Mozayani, and A. L. C. Bazzan, "Holonic multi-agent system for traffic signals control," Engineering Applications of Artificial Intelligence, vol. 26, no. 5-6, pp. 1575-1587, May/Jun. 2013.
[10] Y. Yao, V. Hilaire, A. Koukam, and W. Cai, "A holonic model in wireless sensor networks," in Proc. Int. Conf. on Intelligent Information Hiding and Multimedia Signal Processing, pp. 491-495, Harbin, China, 15-17 Aug. 2008.
[11] S. M. Hosseini and N. Mozayeni, "An intelligent method for resource management in wireless networks," in Proc. 5th Conf. on Information and Knowledge Technology, IKT’13, pp. 371-376, Shiraz, Iran, 28-30 May 2013.
[12] M. Cossentino, N. Gaud, V. Hilaire, S. Galland, and A. Koukam, "ASPECS: an agent-oriented software process for engineering complex systems," Autonomous Agents and Multi-Agent Systems, vol. 20, no. 2, pp. 260-304, 2010.
[13] M. Poikselkä, The IMS: IP Multimedia Concepts and Services, J. Wiley & Sons, 2006.
[14] V. K. Gurbani and R. Jain, "Transport protocol considerations for session initiation protocol networks," Bell Labs Technical J., vol. 9, no. 1, pp. 83-97, 2004.
[15] M. Ohta, "Overload control in a SIP signaling network," International J. of Electrical and Electronics Engineering, vol. 3, no. 2, pp. 87-92, 2009.
[16] E. N. V. Hilt, C. Shen, and A. Abdelal, "Design considerations for session initiation protocol (SIP) overload control," Internet Engineering Task Force (IETF), Request for Comments (RFC) 6357, 2011.
[17] J. Liao, J. Wang, T. Li, J. Wang, J. Wang, and X. Zhu, "A distributed end-to-end overload control mechanism for networks of SIP servers," Comput. Netw., vol. 56, no. 12, pp. 2847-2868, 12 Aug. 2012.
[18] A. Akbar, S. M. Basha, and S. A. Sattar, "A cooperative overload control method for SIP servers," in Proc. Int. Conf. on Communications and Signal Processing, ICCSP’15, pp. 1296-1300, Melmaruvathur, India, 2-4 Apr. 2015.
[19] H. Dong-Yeop, P. Ji Hong, Y. Seung-Wha, and K. Ki-Hyung, "A window-based overload control considering the number of confirmation massages for SIP server," in Proc.4th Int. Conf. on Ubiquitous and Future Networks, ICUFN’12, pp. 180-185, Phuket, Thailand, 4-6 Jul. 2012.
[20] S. Jing, T. Ruixiong, H. Jinfeng, and Y. Bo, "Rate-based SIP flow management for SLA satisfaction," in Proc. IFIP/IEEE Int. Symp. on Integrated Network Management, pp. 125-128, Long Island, NY, USA, 1-5 Jun. 2009.
[21] R. G. Garroppo, S. Giordano, S. Niccolini, and S. Spagna, "A prediction-based overload control algorithm for SIP servers," IEEE Trans. on Network and Service Management, vol. 8, no. 1, pp. 39-51, Mar. 2011.
[22] S. V. Azhari, M. Homayouni, H. Nemati, J. Enayatizadeh, and A. Akbari, "Overload control in SIP networks using no explicit feedback: a window based approach," Computer Communications, vol. 35, no. 12, pp. 1472-1483, 1 Jul. 2012.
[23] A. Abdelal and W. Matragi, "Signal-based overload control for SIP servers," in Proc. 7th IEEE Consumer Communications and Networking Conf., 7 pp., Las Vegas, NV, USA, 9-12 Jan. 2010.
[24] Y. Hong, C. Huang, and J. Yan, "Applying control theoretic approach to mitigate SIP overload," Telecommunication Systems, vol. 54, no. 4, pp. 387-404, Dec. 2013.
[25] A. Montazerolghaem, M. H. Yaghmaee, A. Leon-Garcia, M. Naghibzadeh, and F. Tashtarian, "A load-balanced call admission controller for IMS cloud computing," IEEE Trans. on Network and Service Management, vol. 13, no. 4, pp. 806-822, Dec. 2016.
[26] A. Montazerolghaem, M. H. Y. Moghaddam, and A. Leon-Garcia, "OpenSIP: toward software-defined SIP networking," IEEE Trans. on Network and Service Management, vol. 15, no. 1, pp. 184-199, 2018.
[27] M. Khazaei and N. Mozayani, "A dynamic distributed overload control mechanism in SIP networks with holonic multi-agent systems," Telecommunication Systems, vol. 63, no. 3, pp. 437-455, 2016.
[28] M. Khazaei and N. Mozayani, "Overload management with regard to fairness in session initiation protocol networks by holonic multiagent systems," International J. of Network Management, vol. 27, no. 3, Article ID: e1969, May/Jun. 2017.
[29] ا. اسماعيلي، ارائه روشی به منظور کنترل ترافیک در تقاطع شهري با استفاده از سیستمهاي چندعاملی هولونی، پاياننامه كارشناسي ارشد مهندسي كامپيوتر (هوش مصنوعي و رباتيك)، مهندسي كامپيوتر، دانشگاه علم و صنعت ایران، 1389.
[30] J. Liao, J. Wang, T. Li, J. Wang, J. Wang, and X. Zhu, "A distributed end-to-end overload control mechanism for networks of SIP servers," Computer Networks, vol. 56, no. 12, pp. 2847-2868, Aug. 2012.
[31] J. Wang, J. Liao, T. Li, J. Wang, J. Wang, and Q. Qi, "Probe-based end-to-end overload control for networks of SIP servers," J. of Network and Computer Applications, vol. 41, pp. 114-125, May 2014.
134 نشریه مهندسی برق و مهندسی كامپیوتر ایران، ب- مهندسی کامپیوتر، سال 20، شماره 2، تابستان 1401
مقاله پژوهشی
طراحی یک کنترلکننده هوشمند اضافه بار
جهت استفاده در شبکههای نسل آینده
مهدی خزائی
چكیده: SIP به عنوان پروتكل سیگنالینگ برای زیرسیستمهای مبتنی بر IP (IMS) در نظر گرفته شده و از طرفی IMS به عنوان پلتفرم شبكههای نسل آینده معرفی گردیده است. SIP برخلاف ویژگیهای مثبتی مانند مبتنی بر متن، مبتنی بر IP، مستقل از داده انتقالی، پشتیبانی از جابهجایی و انتها به انتها بودن، فاقد مكانیزم مناسبی در مواجه با اضافه بار میباشد. از این رو، این چالش باعث خواهد شد كه كاربران گسترده شبكههای نسل آینده با افت شدید كیفیت در خدمات مواجه شوند. IMS توزیعشده، یك شبكه پیچیده محسوب میگردد كه متشكل از زیرسیستمهایی است كه با یكدیگر در فعل و انفعال میباشند. در نتیجه، سیستمهای چندعامله میتوانند ابزار مناسبی برای حل مشكل اضافه بار در این شبكه باشند. به این منظور، هر سرور IMS به عنوان یک عامل هوشمند در نظر گرفته میشود که با حفظ خودمختاری، قابلیت یادگیری و مذاکره با بقیه عاملها را داراست تا اضافه بار توسط ارتباطات و دانش جابهجاشده در بین عاملها رفع گردد. در این مقاله، به واسطه سیستمهای چندعامله و خواص آنها، روش گام به گام مبتنی بر حذف ارائه گردیده که نتایج شبیهسازی و مقایسه با روش معروف ارائهشده قبلی، بهبود كارایی را نشان میدهد.
کلیدواژه: IMS، SIP، كنترل اضافه بار، سیستمهای چندعامله.
1- مقدمه
سوئیچینگ بستهای به فراهمکنندگان خدمات این امکان را داده که کاربردهای چندرسانهای را به مشترکان خود ارائه دهند. ولی رویکرد
آینده صنعت مخابرات به سوی شبکههای نسل آینده میباشد که در آن، انواع شبكههای دسترسی ثابت و سیار بر اساس IP مجتمع شده و یک بستر استاندارد و یکپارچه را برای خدمات چندرسانهای ارائه میکنند.
در شبکههای نسل آینده قابلیت ارائه سرویسهای چندرسانهای مبتنی بر 2IMS به عنوان پلتفرم استاندارد وجود داشته که در آن تمام خدمات چندرسانهای مانند ارسال پیام فوری، ارسال ویدئو و ارسال صوت (VOIP) به صورت یکجا و مجتمع بدون وابستگی سختافزاری و نرمافزاری قابل پیادهسازی است. از این رو، پروتکل SIP توسط GGP3 به عنوان معماری پایه IMS به تصویب رسیده است. IMS از نسل سوم شبکههای موبایل به بعد توسط اکثر اپراتورها مورد استفاده قرار گرفته و بیشتر تلفنهای سلولی و وسایل بیسیم، پروتکل SIP را به عنوان ایجادکننده نشستهای چندرسانهای پشتیبانی میکنند. پروتکل SIP قابلیت برقراری و مدیریت چندین نشست به صورت همزمان را دارا است [1].
SIP علیرغم مدیریت نشستها در خیلی از کاربردهای چندرسانهای، از مشکل اضافه بار رنج میبرد و زمانی كه بر روی پروتکل لایه انتقال غیر مطمئن مانند UDP اجرا شود، جهت مقابله با گمشدن بستهها از مكانیزم ارسال مجدد استفاده میكند. این كار با نگهداشتن زمانسنجهای مختلف به ازای هر درخواست ارسالی انجام شده كه در صورت عدم دریافت پاسخ مربوط در مدت زمان مشخص، درخواستها مجدداً ارسال میشوند. این مكانیزم در شرایط اضافه بار سبب وخیمترشدن اوضاع میگردد، زیرا تمام ظرفیت CPU صرف پردازش بستههای تكراری و زمانسنجها شده و عملاً گذردهی به سمت صفر میرود. اما امروزه با رشد حجم حافظهها و کاهش قیمت آنها و از طرفی با اتمام ماشینهای حالت تراکنشها توسط CPU معمولاً کمبود حافظه اتفاق نخواهد افتاد [2].
زمانی كه SIP با اضافه بار مواجه میشود، مكانیزم كنترل اضافه بار
آن فعال گردیده و پیامهای درخواست ایجاد نشست جدید را با ارسال پاسخ 503 رد میكند. در این روش، ابتدا باید پیامها تجزیه شوند تا مشخص گردد که درخواستی جدید است یا خیر و سپس پاسخ رد برای درخواستهای جدید ایجاد شود. ظرفیتی كه سرور صرف تجزیه پیامها و تولید پاسخ رد میكند، عملاً دور ریخته شده و پردازش مفیدی صورت نمیگیرد که علاوه بر اثر منفی بر اضافه بار، سرور باید تمام توان خود را صرف ردکردن درخواستها نماید. از این رو طراحی یک كنترلكننده اضافه بار برای IMS اجتنابناپذیر است. كنترلكننده اضافه بار باید بتواند اطلاعات مورد نیاز جهت تصمیمگیری در مورد اضافه بار را جمعآوری و بر اساس این اطلاعات، عمل مناسب جهت مواجهه با اضافه بار را تعیین کند و سپس آن را به شبكه اعمال نماید. بسته به نوع اضافه بار و محل قرارگرفتن كنترلكننده، روشها و سیاستهای مختلفی جهت مقابله با اضافه بار ارائه شده است [3].
به دلیل پیچیدگی و غیر مستدل بودن مسئله اضافه بار در IMS، اکثر روشهای ارائهشده جهت طراحی کنترلکننده از روشهای تقریبی ریاضی یا روشهای فراابتکاری استفاده میکنند که گاهی دارای خطای زیادی بوده و در برخی شرایط، جوابهای قابل قبولی ارائه نمیدهند. از این رو در این مقاله روش جدیدی مبتنی بر یادگیری ماشین بدون ناظر جهت طراحی کنترلکننده اضافه بار ارائه میشود. در این راستا، سرورهای IMS به عنوان عاملهای هوشمند یادگیرنده در نظر گرفته شده که قابلیت مذاکره با بقیه عاملهای شبکه را دارا میباشند. این عاملها با تعامل با محیط پویا و از طریق سعی و خطای بدون ناظر، میزان بار قابل تحمل را یاد گرفته و از طریق مذاکره با بقیه عاملها، موجب کنترل اضافه بار در IMS میگردند.
پیشزمینهها به همراه کارهای مرتبط جهت ارائه روش پیشنهادی در
جدول 1: علایم و پارامترهای استفادهشده در مقاله.
توصیف | پارامتر |
حالت فعلی عامل |
|
پاداش دریافتی توسط عامل |
|
عمل انتخابی توسط عامل |
|
نرخ یادگیری عامل |
|
فاکتور تخفیف یادگیری |
|
آستانه هشدار |
|
آستانه اضطرار |
|
تمدید ام مربوط به ناحیه ام |
|
تعداد حالات موجود |
|
گذردهی مفيد عامل ام قبل از عمل انتخابشده |
|
گذردهی مفيد عامل ام بعد از عمل انتخابشده |
|
تعداد نشستهای درون صف عامل ام |
|
درصد مشغولبودن CPU عامل ام |
|
ظرفیت CPU عامل ام |
|
تعداد نشستهای خارج از ناحیه امن عامل ام |
|
تعداد نشستهای قابل پردازش عامل ام در ناحیه امن |
|
شماره دور مذاکره |
|
ضریب کاهشی مذاکره |
|
بخش دوم آورده شده است. در بخش سوم روش پیشنهادی ارائه گردیده و ارزیابی کارایی و تحلیل نتایج در بخش چهارم آمده است. نتیجهگیری و کارهای آینده نیز در بخش پنجم قرار دارند.
2- پیشزمینههای مرتبط
از آنجا که هدف طراحی کنترلکننده اضافه بار IMS مبتنی بر عوامل هوشمند میباشد، لذا نیاز است مفاهیم و کارهای مرتبط به طور مختصر در ادامه توضیح داده شود. همچنین جدول 1، علایم و پارامترهای استفادهشده در مقاله به همراه توصیف آنها را نشان میدهد.
2-1 یادگیری عاملها
امروزه استفاده از سیستمهای چندعامله برای حل مسایل پیچیده مورد توجه فراوان قرار گرفته است. یک سیستم چندعامله از چندین عامل تشکیل گردیده که سعی میکند مسایلی را که حل آنها برای یک سیستم متمرکز و یکپارچه، مشکل و گاهی غیر ممکن است به کمک یکدیگر حل نمایند. در این راستا میتوان یک سیستم پیچیده را به مجموعهای از کارهای کوچکتر تقسیم کرد تا هر عامل یک قسمت از کار را انجام دهد و از همکاری بین آنها به نتیجه مطلوب رسید.
عامل یك موجود نرمافزاری یا سختافزاری تعریف میشود كه در محیط واقع شده و برای رسیدن به اهدافش به صورت خودمختار فعالیت میکند. عامل از طریق حسگرهایش محیط را درك مینماید و از طریق محركهایش بر محیط اثر میگذارد. هر چیز اطراف عامل به جز خودش را محیط عامل میگویند. قرارگرفتن عامل در یك محیط به این معنا است كه عامل میتواند بخشی از محیط را مشاهده و یا در آن تغییری ایجاد كند. از طرفی، ارتباط در بسیاری از سیستمهای چندعامله یک مفهوم مهم به شمار میرود. بدون وجود ارتباط، عاملها باید فقط به قضاوتهای مبتنی بر مشاهدات خود تکیه کنند، در صورتی كه وجود ارتباط باعث
شده كه عاملها قادر به گرفتن تصمیمات هماهنگتری باشند. رسیدن
به توافق در تصمیمگیری بدون دخالت دیگران، در حوزه همکاری بین
1 | مقداردهي اوليه به جدول |
2 | دريافت حالت فعلي محيط |
3 | تكرار حلقه زير تا رسيدن به شرط جذب: 3-1 انتخاب عمل 3-2 دريافت پاداش از محيط 3-3 دريافت حالت جديد 3-4 تغيير مقدار جدول با توجه به (1) |
شکل 1: الگوريتم روش يادگيري Q.
عاملهایی نمود مییابد که در آن، هدف عاملها حصول یک سود دوجانبه در زمینههای مورد علاقه مشترک میباشد که مذاکره، روش غالبی برای دستیابی به توافق توسط عاملها است. پروتکل مذاکره، مجموعهای از قوانین است که تمام عاملها آن را شناختهاند و در میان آنها حاكم
است. در فرایند مذاکره، توافق زمانی حاصل میشود که بین پیشنهادهای مطرحشده اشتراکی وجود داشته باشد. عاملها نسبت به نتایج مذاکره، اولویت شخصی دارند و همچنین میتوانند نسبت به استفاده از پیشنهادها محدودیتهایی قایل شوند [4] و [5].
در مبحث یادگیری عاملها، مسایلی هستند كه منابع برای حل آنها ناقص یا كم میباشد و باعث شده که امكان استفاده از الگوریتمهای یادگیری باناظر وجود نداشته باشد. همچنین گاهی اطلاع دقیقی از آنچه كه باید یاد گرفته شود وجود ندارد که در این شرایط، یادگیری بدون ناظر قابل پیادهسازی خواهد بود. یادگیری تقویتی، یادگیری بدون ناظری است که عامل تلاش میكند تا تعامل خود با محیط پویا را از طریق سعی و خطا بهینه نماید. یادگیری تقویتی در واقع چگونگی نگاشت موقعیتهای مختلف به اعمال، جهت حصول بهترین نتیجه با بیشترین پاداش است. در خیلی از موارد، اعمال نه تنها روی پاداش همان مرحله بلكه روی پاداش مراحل بعد هم تأثیرگذار است. دو خصوصیت "سعی و خطا" و "پاداش با تأخیر" مهمترین خصوصیات یادگیری تقویتی میباشند. یادگیری تقویتی از این رو مورد توجه است كه راهی برای آموزش عاملها برای انجام یك عمل از طریق پاداش و تنبیه است، بدون این كه لازم باشد نحوه انجام عمل را برای عامل مشخص نمود [6]. یادگیری تقویتی استاندارد یا یادگیری ، یك روش مستقل از مدل بوده كه در آن عامل هیچ دسترسی به مدل انتقال ندارد. یادگیری بر اساس فرایند تصمیم ماركوف، با داشتن تابع پاداش و دریافت پاداش با تأخیر میتواند خط مشی بهینه را یاد بگیرد و عامل (عمل،حالت) را توسط تعامل پیوسته با محیط و به صورت سعی و خطا تخمین میزند. مراحل یادگیری مطابق الگوریتم شکل 1 و معادله زیر است
(1)
الگوریتم هر بار از یك حالت اولیه شروع میکند و با انجام یك سری اعمال و دریافت پاداش به حالت هدف میرسد. در حالت هدف، حالت عامل با انجام هر عملی تغییر نکرده و هیچ پاداشی از محیط دریافت نمیکند که به این حالت، حالت جذب گفته میشود. انتخاب عمل میتواند بر اساس كاوش و یا بهرهبرداری صورت گیرد. انتخاب عمل به صورت كاوش یعنی بدون توجه به مقادیر جدول ، عملی به طور تصادفی انتخاب میشود. با این كار ممكن است اعمال بهینهای كه تا كنون انتخاب نشدهاند كشف و به جدول اضافه شوند. ولی در انتخاب عمل به فرم بهرهبرداری، بهترین عمل مطابق جدول ساختهشده انتخاب خواهد گردید. در (1)، نرخ یادگیری عامل است و مقداری بین صفر و یك میگیرد. مقدار یك سبب شده كه عامل فقط جدیدترین اطلاعات را
شكل 2: معماري ساده هسته IMS.
در نظر گرفته و مقدار صفر باعث میشود كه عامل هیچ یادگیری نداشته باشد. پارامتر نیز كه مقداری بین صفر و یك دارد، فاكتور تخفیف نامیده میشود و برای مشخصكردن پاداشهای آینده است. مقدار صفر یعنی عامل فقط پاداش فعلی را در نظر میگیرد ولی مقادیر نزدیك به یك سبب شده كه عامل برای رسیدن به پاداش بیشتر، زمان بیشتری انتظار بكشد. اگر تمامی زوجهای (عمل، حالت) به صورت مكرر تجربه شوند و نرخ یادگیری در طول زمان كاهش یابد، یادگیری با احتمال یك به مقدار بهینه همگرا میشود. از کاربردهای یادگیری تقویتی به عنوان نمونه میتوان به تداوم خدمات در IMS، سیستمهای حمل و نقل هوشمند و کنترل ترافیک شهری، مدیریت شبکههای حسگر توزیعشده بیسیم و سیستمهای نرمافزاری پیچیده اشاره کرد [7] تا [12].
2-2 IMS
برخلاف كاربردهای سنتی، هدف IMS ادغام انواع مختلف خدمات و كاربردهای چندرسانهای و همگرایی بین شبكههای سیمی، بیسیم و سیار است. IMS یك شبكه سوییچینگ بستهای است كه بر روی بستر پروتكل IP گسترش یافته و معماری سهلایهای دارد كه شامل لایه كاربرد، لایه كنترل و لایه كاربر میباشد. وظیفه لایه كاربرد این است كه به كاربران، اجازه دسترسی به برنامههای چندرسانهای و نشستهای فراهمشده توسط سرورهای كاربردی را بدهد که این دسترسی از طریق پایانههای ثابت یا سیار امكانپذیر میباشد. از طریق این لایه، استفاده از چندین سرویس در یك نشست یا چندین نشست همزمان توسط كاربران امكانپذیر خواهد بود. وظیفه لایه كنترل، مدیریت و كنترل نشستها و اطلاعات كاربران است. لایه كاربر، مسئول فراهمكردن ارتباط با كاربران بوده و كاربران با استفاده از شبكههای مبتنی بر IP به شبكه IMS متصل میشوند. علاوه بر یكپارچهسازی، كنترل نشست و توسعه سرویسها، تضمین كیفیت سرویس و امكان محاسبه هزینهها تحت معیار واحد، از دیگر ویژگیهای IMS میباشد. معماری هسته IMS در شكل 2 به نمایش درآمده است [13].
همان طور كه در شكل مشخص شده است، دو پایگاه داده 3HSS و 4SLF در معماری IMS وجود دارند. HSS منبع اصلی ذخیرهسازی اطلاعات مشتركان و سرویسهای مربوط به آنها میباشد. وقتی چندین HSS توسط مدیر شبكه استفاده میشود، پایگاه داده SLF برای یافتن آدرس HSSی كه اطلاعات مشترك مورد نظر را نگهداری میكند، استفاده میگردد. ASها سرویسهای ارزش افزوده چندرسانهای در IMS را ارائه میدهند. توابع كترل نشست تماس 5(CSCF)، پروكسی سرورهای SIPی هستند كه هر یك وظیفه خاص خود را دارند که وجه مشترك آنها نقشی است كه در هنگام فرایند ثبت نام، ایجاد نشست و مسیریابی SIP ایفا میكنند که در ادامه مختصر به عملکرد هر یک پرداخته میشود:
• 6P-CSCF یك سرور حالتمند SIP است که اولین نقطه تماس كاربران با شبكه IMS میباشد. همه ترافیك كاربران به این سرور منتقل شده و همچنین ترافیك شبكه از طریق این سرور به كاربران منتقل میگردد.
• 7S-CSCF یك سرور حالتمند SIP است كه همیشه در شبكه خانگی مشترك قرار دارد. این سرور نقطه مركزی IMS محسوب شده كه وظایفی از قبیل مدیریت فرایند ثبت نام، تصمیمگیری مسیریابی، نگهداری حالت نشستها و ذخیره اطلاعات سرویسها را بر عهده دارد. تمام بستههای سیگنالینگ SIP مرتبط با ترمینالهای IMS از S-CSCF میگذرند تا با پردازش محتویات بستهها، اقدامات بعدی مشخص گردد.
• 8I-CSCF یك سرور بدون حالت SIP است که نقطه تماس با یك اپراتور بوده كه بتوان از طریق آن با مشتركان درون آن اپراتور اتصال ایجاد كرد. I-CSCF در هنگام ثبت نام با دریافت اطلاعات از HSS، یك سرور S-CSCF را بر اساس سیاستهای تعریفشده، تخصیص میدهد. از دیگر وظایف این سرور، به دست آوردن گام بعدی در مسیریابی از طریق HSS و همچنین هدایت درخواستهای رسیده به S-CSCF و یا AS تخصیص داده شده است.
فرایندهای اصلی سیگنالینگ در IMS شامل ثبت نام و حذف آن، شروع و پایان نشست، به هم زدن نشست و راهنمایی مجدد نشست میباشد. كاربر پس از دسترسی به شبكه IP و در حین دریافت آدرس IP، آدرس P-CSCF مناسب را دریافت میكند. تمامی كاربران قبل از آغاز هر نشست باید در IMS ثبت نام كنند. پس از ثبت نام موفق كاربر،
P-CSCF کاربر با توجه به بسته پاسخ رسیده میداند كه به هر كاربر كدام S-CSCF تخصیص یافته و همچنین هر S-CSCF نیز میداند كه برای دسترسی به هر كاربر باید با كدام P-CSCF ارتباط برقرار نماید که از این اطلاعات برای برقراری یك نشست استفاده میشود.
زمانی كه كاربر A میخواهد یك نشست با كاربر B برقرار كند، یك بسته درخواست INVITE را به P-CSCFی كه IMS در موقع اتصال به وی تخصیص داده است، ارسال میكند. P-CSCS پس از پردازشهای لازم، بسته را به S-CSCFی كه در فرایند ثبت نام به كاربر تخصیص داده شده است، ارسال مینماید. S-CSCF پس از پردازش بسته، بر اساس شناسه كاربری B، I-CSCF مربوط در حوزه B را یافته و بسته را به آن تحویل میدهد. I-CSCF با تماس با HSS، سرور S-CSCF تخصیص داده شده به B را یافته و بسته را به آن تحویل میدهد.
S-CSCF نیز با اطلاعاتی كه در زمان ثبت نام به دست آورده است، بسته INVITE را به P-CSCF كاربر B تحویل داده و از آنجا نیز بسته
شكل 3: معماري يك كنترلكننده اضافه بار.
به B ارسال میگردد. پس از دریافت INVITE توسط B، این كاربر بسته پاسخ را تولید مینماید و آن را به سوی A از همان مسیری كه INVITE رسیده است، ارسال میكند. پس از تبادل تعدادی بسته به صورت رفت و برگشت، یك نشست بین A و B بر اساس پروتکل SIP در CSCFها تشکیل خواهد شد [1].
SIP یك پروتكل لایه كاربرد مبتنی بر متن است که جهت ایجاد، نگهداری، تغییر و خاتمه نشستهای چندرسانهای استفاده و توسط IETF در RFC 3261 استاندارد گردیده است. منظور از تراکنش SIP، یک درخواست و تمامی پاسخهای مرتبط با آن است که بین دو عنصر مجاور SIP رد و بدل میشوند. پروکسی سرورها بسته به شرایط و نیاز شبکه، به صورت حالتمند و یا بدون حالت پیکربندی میشود. پروکسی سرور حالتمند، اطلاعات حالت هر تراکنش را برای انجام برخی عملیاتها، مانند ارسال مجدد بستههای سیگنالینگ نگهداری میکند. اما در پروکسی سرور بدون حالت، هیچ تراكنشی روی پروكسی سرور ایجاد نشده و پروكسی سرور تنها وظیفه دریافت پیام و مسیریابی آن را بر عهده دارد [14].
از آنجا که در اکثر مواقع، مکانیزم کنترل اضافه بار تعبیهشده در SIP نمیتواند با حجم بار اضافی مقابله کند، لذا نیاز به کنترلکننده اضافه بار در IMS اجتنابناپذیر است [15]. كنترلكننده اضافه بار از سه جزء اصلی تشكیل میشود. واحد ناظر، مسئول نظارت و جمعآوری اطلاعات از پارامترهایی است كه توسط طراح تعیین گردیده است. این واحد اطلاعات جمعآوریشده را در اختیار تابع كنترل قرار میدهد. تابع كنترل بر اساس یك الگوریتم تعریفشده توسط طراح، سیاست و چگونگی میزان دریافت بار را تعیین میكند و این سیاست را در اختیار واحد محرك قرار میدهد. واحد محرك بر اساس سیاستهای رسیده، بار اضافه را رد میكند.
شكل 3 یك كنترلكننده اضافه بار را نشان داده كه واحد ناظر در سرور گیرنده و تابع كنترل و محرك در سرور فرستنده قرار دارند [16].
اگر کنترلکننده در یک سرور قرار داشته باشد روش، کنترل داخلی نامیده شده و در غیر این صورت جهت مقابله با اضافه بار سرورها با هم همکاری میکنند و کنترل خارجی نامیده میشود. کنترل خارجی به دو دسته گام به گام و انتها به انتها تقسیم میگردد. در کنترل اضافه بار به روش گام به گام، سرور تحت اضافه بار میتواند به صورت مستقیم به سرور بالادستی خود اطلاع دهد که چه مقدار درخواست را برایش ارسال نماید که دچار اضافه بار نشود. از آنجا که روش ارائهشده در این تحقیق یک روش گام به گام برای سرورهای قطاری متوالی در IMS است، در ادامه چند مورد از کارهای شاخص مرتبط با تحقیق مورد بررسی قرار خواهند گرفت [17].
در [18]، میزان اشغال پردازنده در سرور بالا و پاییندستی حساب شده و با ارسال این مقدار از طریق بازخورد در بازههای زمانی، نرخ ورود درخواست نشست به سرور پاییندست كنترل میشود. در [16] از دو روش صریح اطلاعرسانی به سرور بالادست استفاده میگردد. در روش اول، وقتی مدت لازم جهت پردازش پیامهای درون صف از حد آستانه بیشتر شود، درخواستها با پیام 503 رد میشوند و مقدار تأخیر را برای سرور بالادست میفرستد و سرور بالادست در این مدت تعیینشده از ارسال درخواست به سرور دچار اضافه بار خودداری میکند. در روش دوم این مرجع، بر اساس میزان درصد اشغال CPU، نرخ دریافت درخواستها را محاسبه و برای سرورهای بالادست ارسال میکند. سرورهای بالادست نیز به اندازه مشخصشده برای سرور پاییندست بسته ارسال میكنند. در این مقاله همچنین یک روش ضمنی مبتنی بر پنجره ارائه شده که اندازه پنجره در سرور بالادستی با توجه به پیامهای دریافتی و منقضیشدن تایمرها تعیین میگردد. در [19]، یک روش ضمنی مبتنی بر پنجره بر اساس تعداد تصدیقهای دریافتی آورده شده که اگر در سرور بالادست، نرخ تعداد پیامهای تصدیق دریافتی نسبت به درخواستهای ارسالی از حد آستانه بیشتر شود، طول پنجره را افزایش داده و اگر کمتر باشد، طول پنجره را نصف میکند و در صورتی که پیام 503 را دریافت نماید، اندازه پنجره صفر میشود تا درخواستی ارسال نگردد. در [20]، یک روش مدیریت جریان مطرح شده که در آن سرور ارسالکننده، CPU سرور تحت
اضافه بار را رصد کرده و سپس با طبقهبندی بستهها و حذف هوشمندانه بستههای ارسال مجددشده و کنترل تماسهای فعال، از مواجهه سرور پاییندست با اضافه بار جلوگیری به عمل میآورد. در [21]، یک روش صریح ارائه شده که بر اساس نرخ ارسال عمل میکند. مکانیزم اضافه بار در سرور بالادستی بر اساس پیامهای 503 دریافتی سعی میکند که اضافه بار در سرور پاییندست را پیشبینی و بر اساس آن نرخ ارسال را تنظیم نماید. در [16]، 3 روش مبتنی بر پنجره پیشنهاد شده که در آنها سرور تحت اضافه بار به طور پویا و مستمر، ظرفیت پاسخگویی کنونی خود را تخمین میزند و تحت عنوان تعداد پنجرههای موجود، نرخ بار قابل تحمل را به سرورهای بالادست اطلاع میدهد. در [22]، یک روش ضمنی مبتنی بر پنجره ارائه شده که از تأخیر ایجاد نشست به عنوان معیار تعیین اندازه پنجره به شیوه مشابه کنترل تصادم در TCP استفاده میکند. در [23]، یک روش ضمنی ارائه گردیده که از مکانیزم سطل سوراخدار جهت
ارسال درخواستهای نشست به سرور پاییندستی استفاده میکند. سرور بالادست نرخ ارسال را به روش تدریجی بر اساس دریافت و یا عدم دریافت پیامهای 503 تنظیم میکند. مرجع [24] با مدلکردن فعل و انفعالات بین سرور پاییندستی و بالادستی، یک سیستم کنترل بازخوردی متناسب با انتگرال را در قالب دو الگوریتم ارائه کرده تا با تنظیم نرخ ارسالهای مجدد، اضافه بار را کاهش دهد. در [25] و [26] از مفهوم شبکههای نرمافزاری و توابع مجازیساز جهت مقابله با اضافه بار در SIP استفاده شده است.
3- طراحی کنترلکننده بار
در بسیاری از الگوریتمهای کنترل بار، پارامترهایی وجود دارند كه كارایی الگوریتم به طور چشمگیری به مقادیر این پارامترها وابسته است. مثلاً در الگوریتمهای ارائهشده مبتنی بر اشغال CPU [3]، یك مقدار آستانه برای میزان مشغولبودن CPU در نظر گرفته شده که هر گاه درصد اشغال CPU از این آستانه بیشتر شود، الگوریتم كنترل اضافه بار عمل میكند و یا در روش مبتنی بر پنجره [22]، یك مقدار آستانه تأخیر
شکل 4: دو پروکسی سرور حالتمند قطاری IMS.
شکل 5: الگوریتم کنترل بار.
در سرور بالادست تعیین شده که بر اساس مقایسه تأخیر پاسخهای رسیده با این آستانه، اندازه پنجره در سرور بالادست تعیین میشود و كارایی الگوریتم ارائهشده كاملاً به مقدار این آستانه وابسته است.
بهترین و دقیقترین روش برای محاسبه مقادیر پارامترهای ذكرشده، استفاده از روابط ریاضی است. ولی اکثراً به دلیل پیچیدگی و یا غیر مستدل بودن، نمیتوان با استفاده از روابط ریاضی مقادیر مطلوب را به دست آورد. راه حل دیگر برای تعیین مقادیر پارامترها، روش سعی و خطا میباشد. یعنی با استفاده از شبیهسازی و قراردادن مقادیر مختلف بررسی گردد كدام یک، جواب بهتری تولید میكند. مشكل این روش آن است كه مقادیر به دست آمده فقط برای آن حالت شبكه مناسب بوده و اگر شرایط شبكه تغییر نماید، دیگر جوابهای مطلوبی تولید نمیشود و مجدداً باید محاسبات انجام پذیرد. در چنین شرایطی میتوان از روش جدیدی مبتنی بر یادگیری استفاده کرد.
در IMS سه سرور SIP متوالی (S-CSCF, I-CSCF, S-CSCF) همان طور که اشاره شد، وجود دارد که سرور I-CSCS بدون حالت بوده و در اضافه بار نقش ندارد، اما دو سرور قطاری S-CSCF حالتمند هستند و در تشکیل و مدیریت نشستها نقش دارند که پروکسی سرور نامیده میشوند. از آنجا که فاصله دو سرور یک گام است کنترلکننده، روش
گام به گام را جهت کنترل بار استفاده خواهد کرد که در شکل 4 نشان داده شده است. همان طور كه در شکل مشاهده میشود، برای صف هر پروكسی سرور دو آستانه هشدار و اضطرار تعریف شده كه تصمیمگیری و واكنش کنترلکننده مطابق الگوریتم شکل 5 به مقادیر این دو آستانه وابسته است که در هر دو عامل اجرا میشود.
عملکرد الگوریتم به صورت خلاصه به این صورت است که اگر تعداد درخواستهای تشكیل نشست درون صف بیشتر از باشد، درخواستها به صورت محلی توسط پیام 503 رد میشوند. اگر تعداد بین دو آستانه باشد، فرایند مذاکره با سرور بالادستی فعال میگردد، ولی اگر تعداد درخواستها كمتر از باشد هیچ واكنشی صورت نمیگیرد.
در کنترلکننده طراحیشده، واحد ناظر، تابع کنترل و واحد محرک در خود سرور قرار داشته که میتوان آنها را به عنوان یک واحد مجزا نیز در نظر گرفت. واحد ناظر به اطلاعات طول صف و نرخ درخواستهای ورودی و خروجی صف هر سرور احتیاج دارد که این اطلاعات را از ماشین حالات تعریفشده در سرورها توسط پروتکل SIP (مطابق 3261 RFC)
شكل 6: تخصيص حالات به صف عامل.
به دست آورده و نیاز به سرکشی مداوم و سربار مازاد نیست. تابع کنترل، الگوریتم یادگیری را پیادهسازی کرده و واحد محرک، فرایند مذاکره با سرور بالادستی را انجام میدهد [27] و [28].
در این راستا، هر پروکسی سرور به عنوان یک عامل هوشمند با قابلیت یادگیری و مذاکره تعریف میشود. این عاملها با دریافت بستهها و نظارت بر منابع خود، دانشی را از محیط كسب میكنند و بر اساس یادگیری ، مقادیر و صف خود را میآموزند. از لازمههای طراحی یك الگوریتم یادگیری ، تعریف مناسب فضای حالت، فضای اعمال و تابع پاداش است. در روش یادگیری استفادهشده سعی گردیده كه فضای حالات و اعمال تا حد امكان كوچك تعریف شوند تا همگرایی الگوریتم تسریع گردد.
فضای حالت
جهت تعریف فضای حالات مطابق شکل 6، 3 ناحیه امن، هشدار و اضطرار و 2 آستانه هشدار و اضطرار در صف پروكسی سرور تعریف میشود. جهت تعیین مقادیر و به ناحیه امن و هشدار، تعدادی حالت تخصیص مییابد. حالت اول و تمدیدهای آن در ناحیه امن صف و حالت دوم و تمدیدهای آن در ناحیه هشدار صف قرار میگیرند. حالت شروع هر ناحیه و فاصله تا ابتدای آن ناحیه را مشخص میكند و تمدید شماره ام برای ناحیه ام است. برای ناحیه امن تمدید و برای ناحیه هشدار تمدید در نظر گرفته شده است. تعداد كل حالات در نظر گرفته شده از (2) به دست میآید
(2)
در طول فرایند یادگیری، هر یك از این فضاهای حالت معرف طول مشخصی از صف برای تعیین مقدار و است. به عنوان مثال، اگر مقدار برابر 7 باشد و هر یك از حالات تمدید برابر 2 تعریف شده باشد، مقدار برابر 7 است و در صورت رفتن به اولین تمدید مقدار آن 9 میشود.
فضای عمل
در روش یادگیری پیشنهادشده برای هر عامل 6 عمل تعریف میگردد كه در موقعیتهای مناسب روی حالت فعلی اعمال میشوند. این 6 عمل عبارت هستند از افزایش، كاهش و ثبات در ناحیه امن و همچنین افزایش، كاهش و ثبات در ناحیه هشدار. افزایش به این معنا است كه از حالت فعلی به حالت بعدی انتقال انجام گیرد. كاهش یعنی از حالت فعلی به حالت قبلی منتقل شود و ثبات یعنی در اثر این عمل حالت تغییر نمیكند. اعمال از طریق كاوش انتخاب میشوند.
BEGIN I=1; DownStreamServer_Calculate_R_To_UpstreamServer(); while (R!=0) { if (UpstreamServer != SafeRegion) { if (UpstreamServer == P-CSCF) Reject_R_Invites_locally(); else { Calculate_R(); Send_R_To_UpstreamServer(); } } else { Calculate_D(); Send_D_To_DownStreamServer(); DownStreamServer_Reject_(R-D)_Invites_locally(); if (DownstreamServer == SafeRagin) { R=0; DownStreamServer_R_To_UpstreamServer(); } else { Update_R(); DownStreamServer_R_To_UpstreamServer(); } } I=I+1; } END |
شکل 7: پروتکل فرايند مذاكره جهت کاهش بار.
جدول Q
این جدول در طول فرایند یادگیری برای ذخیره و به روز رسانی مقادیر بر اساس (1) مورد استفاده قرار میگیرد. اگر این جدول به صورت ماتریسی دوبعدی در نظر گرفته شود، اندیس سطرها، حالات و اندیس ستونها، اعمال را مشخص میكنند. اندازه ماتریس جدول برابر است كه مقدار همان مقدار (2) میباشد. مقدار اولیه جدول صفر در نظر گرفته میشود.
تابع پاداش
عمل هدایت عامل در فضای حالات و اعمال به منظور دستیابی به یك سیاست بهینه توسط تابع پاداش صورت میگیرد. در واقع تابع پاداش است كه مشخص میكند عملی كه یك عامل با قرارگرفتن در یك حالت انجام میدهد، چقدر او را به هدف نزدیكتر میكند. در روش یادگیری ارائهشده از مفهوم گذردهی مفید توسط عامل به عنوان تابع پاداش استفاده میشود. میزان پاداشی كه یك عامل برای انجام عملی دریافت میكند، متناسب است با میزان افزایشی كه در گذردهی مفید خود نسبت به حالت قبل میدهد. اگر عامل در اثر این عمل باعث شود كه گذردهی مفید در عامل بالادست نیز افزایش یابد، پاداش بیشتری دریافت میكند ولی اگر باعث كاهش گذردهی مفید در عامل بالادست شود، پاداش كمتری نصیب او میشود. تابع پاداش برای عامل ام به صورت (3) تعریف میشود
(3)
که و به ترتیب گذردهی مفید عامل ام قبل و بعد از
عمل انتخابشده روی حالت فعلی است. با توجه به تعریف تابع پاداش، مشخص است كه مقادیر این تابع بعد از اجرای عمل انتخابشده قابل محاسبه میباشد، لذا مقادیر جدول با یك گام تأخیر به روز میشوند كه تأثیری در فرایند یادگیری ندارد [29].
تابع تغییر حالت
یكی دیگر از الزامات طراحی الگوریتم یادگیری ، تعریف نحوه تغییر حالت با انجام عملی مشخص روی حالت فعلی است. در روش یادگیری استفادهشده، حالات با توجه به عمل انتخابی به صورت زیر تغییر میكنند:
1) اگر عمل انتخابی افزایش در ناحیه امن و یا هشدار باشد و تعداد تمدیدهای انجامشده از حداكثر تعداد تمدیدهای در نظر گرفته شده كمتر باشد، حالت بعدی تمدید خواهد بود كه در (4) آورده شده است. ولی اگر عامل در آخرین تمدید مجاز باشد، حالت بعدی همان حالت فعلی است
(4)
2) اگر عمل انتخابی كاهش در ناحیه امن و یا هشدار باشد، حالت بعدی تمدید قبلی و در صورت قرارداشتن در اولین تمدید، حالت شروع خواهد بود. اگر حالت فعلی، حالت شروع باشد، حالت بعد همان حالت شروع است که (5) این انتقال را نشان میدهد
(5)
3) اگر عمل انتخابی ثبات در ناحیه امن و یا هشدار باشد، حالت بعد همان حالت فعلی خواهد بود كه در (6) آمده است
(6)
به دست آوردن مقادیر Tw و Tc
بعد از مرحله یادگیری، مقادیر مناسب و هر عامل باید با توجه به آنچه كه او فراگرفته استخراج شود. به این منظور از اطلاعات نهایی جدول عامل استفاده میشود، به این صورت که برای هر ناحیه از حالت شروع آغاز كرده و با توجه به مقادیر جدول و انتخاب عمل مربوط و توجه به بیشترین مقدار در هر سطر، مجموعه حالات تمدید برای آن ناحیه محاسبه میشود.
مذاکره جهت اعمال سیاست کنترلکننده
در فرایند مذاکره، یك مجموعه از عاملها به همراه مجموعهای از متغیرها شرکت دارند كه هر متغیر به مجموعهای از عاملها وابسته است. عاملها بر سر مجموعهای از امكانها (مقادیر) مذاکره میکنند و برای رسیدن به توافق، امكانها از طریق مذاكره به متغیرها نسبت داده میشوند. در کنترلکننده، مجموعه عاملهای شركتكننده در مذاكره، عاملهای شکل 4 در نظر گرفته میشود. متغیرها، اندازه بار ارسالی به عامل پاییندستی است و امكانها، مقادیر پیشنهادی توسط عاملها برای به دست آوردن میزان بار ارسالی یا دریافتی میباشد. عاملها بر اساس یك استراتژی تعریفشده که در پروتکل شکل 7 آمده است، در مذاكره شركت میكنند.
یك دور پیشنهاد، شامل پیشنهاد آغازكننده و پاسخ بقیه عاملها به آغازكننده میباشد. در اینجا آغازكننده، عاملی است که با عبور بار از وارد ناحیه هشدار شده و پاسخدهنده عاملهای بالادست هستند. خلاصه عملکرد پروتکل شکل 7 به صورت زیر است:
عامل پاییندست از عامل بالادست میخواهد که در بازه زمانی ، تعداد درخواستهای تشکیل نشست ارسالی خود را به اندازه کاهش دهد و از (7) به دست میآید. تعداد نشستهای صف عامل میباشد
جدول 2: مقادير پارامترهاي فرايند يادگيري در OCL.
| پارامتر | مقدار |
پارامترهاي الگوريتم يادگيري Q در OCL | حالت اول ناحيه امن | 10 |
طول هر تمديد ناحيه امن | 1 | |
تعداد تمديدهاي ناحيه امن | 15 | |
حالت اول ناحيه هشدار |
| |
طول هر تمديد ناحيه هشدار | 1 | |
تعداد تمديدهاي ناحيه هشدار | 15 | |
پارامتر در (1) | 7/0 | |
نرخ يادگيري | 9/0 | |
فاكتور تخفيف | 4/0 | |
نرخ اكتشاف | 7/0 |
(7)
اگر عامل در ناحیه امن نباشد، از عامل بالادست خود که یک
P-CSCS است میخواهد تا از بین درخواست کابران به اندازه درخواست را به صورت محلی رد نماید. در غیر این صورت اگر عامل در ناحیه امن باشد، طبق (8) محاسبه میکند که در مدت با توجه به ظرفیت CPU خود چه میزان نشست را میتواند پردازش کند که از ناحیه امن خارج نشود، سپس مقدار را به اطلاع عامل میرساند
(8)
عامل با دریافت پاسخ عامل به اندازه درخواست را به صورت محلی از درخواستهای انتهای صف خود حذف مینماید. اگر وارد ناحیه امن شد، مقدار برابر صفر را برای عامل ارسال کرده و مذاکره خاتمه مییابد. در غیر این صورت طبق (9) میزان کاهش بار از سوی عامل را به روز کرده و برای آن ارسال میکند
(9)
که ضریب كاهشی و شماره دور مذاكره است. روند فوق تا اتمام مذاکره تکرار میشود.
4- ارزیابی کارایی
جهت ایجاد بستر شبیهسازی، پروتكل SIP بر اساس RFCهای 3261 و 6026 در 2- NS پیادهسازی گردیده و پروتكل UDP به عنوان پروتكل لایه انتقال در نظر گرفته شده است. ظرفیت پردازشی سرورها معادل
300 نشست در ثانیه (SPS) میباشد. كاربرها میتوانند همزمان چندین درخواست نشست را ارسال و یا دریافت کنند. عاملهای كاربر، ظرفیت نامحدود دارند. در عامل سرور اولویت پردازش با پیامهای مذاکره است، زیرا عدم رسیدگی به موقع به این پیامها باعث رخداد اضافه بار در شبكه میگردد. از آنجا که پیامهای کنترلی، متنی هستند و تراکنشی را در سرور ایجاد نمیکنند، لذا در تشدید اضافه بار نقشی نخواهند داشت. طول صف هر پروكسی سرور، محدود در نظر گرفته شده که اگر هنگام ورود درخواستی صف پر باشد، درخواست از بین برود. گذردهی مفید، تأخیر برقراری نشست، تعداد ارسالهای مجدد، پایداری و عكسالعمل سریع، معیارهای اصلی جهت ارزیابی کارایی کنترلکننده اضافه بار با قابلیت یادگیری 9(OCL) هستند.
منظور از گذردهی مفید، تعداد نشستهای موفقی است که عامل سرور قادر میباشد که در واحد زمان به آنها رسیدگی کند. یک نشست زمانی موفق است که پاسخ متناظر درخواست تشكیل نشست در کمتر از 10 ثانیه دریافت شود. تأخیر برقراری نشست، مدت زمانی است که طول میکشد تا یك نشست ایجاد گردد. زمان پاسخگویی به نشستها در گیرنده به صورت نمایی و با میانگین 30 ثانیه در نظر گرفته شده است. تعداد نشستهای ارسال مجددشده با تعداد نشستهای ردشده نسبت مستقیم دارد که هرچه نشستهای کمتری رد شوند، یعنی درخواست کمتری ارسال مجدد شده و بالعکس. پایداری یعنی کنترلکننده اضافه بار باید به گونهای طراحی شود که سبب نوسان گذردهی روی پروكسی سرورها نشود و همچنین از صفرشدن گذردهی مفید پیشگیری کند. OCL باید قادر باشد که نسبت به وقوع ناگهانی اضافه بار به سرعت واکنش نشان دهد، به طوری که یک جهش ناگهانی در میزان ترافیک، سرور را با اضافه بار و از کار افتادگی مواجه نکند. به طور مشابه، اگر ترافیک تحمیلی به سرور به طور ناگهان کاهش یابد، تمامی کنترلهای اعمالگردیده روی نشستهای دریافتی باید به سرعت برداشته شده و وضعیت به حالت عادی برگردد. بار ورودی به صورت توزیع پواسن به روش قبول و رد به شبكه وارد شده و معیارهای ارزیابی كارایی با فاصله اطمینان 95% استخراج شدهاند [30] و [31]. در نمودارها بار ورودی بر ظرفیت شبکه تقسیم و نرمال شده و پارامترهای یادگیری استفادهشده در OCL، مطابق جدول 2 هستند. برای به دست آوردن مقادیر و ، حالات مختلف ورودی در نظر گرفته شده كه با اجراهای متوالی، مقادیر این دو آستانه همگرا و در OCL به كار گرفته میشوند.
4-1 بررسی صحت عملکرد OCL
جهت بررسی عملکرد OCL نسبت به کنترلکننده بدون قابلیت یادگیری (OC)، میانگین و واریانس گذردهی مفید، تأخیر برقراری نشستها و تعداد نشستهای ارسال مجددشده در جدول 3 آمده است. در OC مقادیر بهینه برابر 40 و برابر 10، 15، 20 و 25 با سعی
و خطا به دست آمده است. لذا روشی عملكرد بهتری دارد كه میانگین بهتر و واریانس کمتری داشته باشد. برای گذردهی مفید، مقدار عملكرد بهتری دارد. مقدار میانگین و واریانس برای تأخیر برقراری نشستها بهتر عمل کرده و ارسال مجددها را بهینهتر مینماید. از آنجا كه تأخیر برقراری نشستها برای و تفاوت چندانی با هم ندارند، مقدار و برای مقایسه كارایی OCL با OC انتخاب میشود.
همان طور كه در شکلهای 8 تا 10 نیز مشخص است، كارایی روش OCL تقریباً برابر با OC است و حتی از لحاظ میانگین، عملکرد بهتری دارد. در این شكلها زمانی كه تعداد نشستهای ورودی كمتر از ظرفیت شبكه باشند، مقادیر ترسیم نمیشوند زیرا در این حالت مقادیر و نقشی در عملكرد عادی شبكه ندارند. در شكل 11 گذردهی مفید و در شكل 12 تأخیر برقراری نشست جهت بررسی پایداری و واكنش سریع OCL نمایش داده شده است. در شكل 11 بعد از تغییر ناگهانی تعداد نشستهای ورودی، گذردهی OCL تقریباً ثابت میماند در حالی كه برای OC مقداری كم شده و مجدداً اضافه میگردد، زیرا در OC برای همه سرورها و در نظر گرفته شده است. با یكسان در نظر
شكل 8: گذردهی مفيد OCL در مقايسه OC با و بهینه.
شكل 9: تأخير OCL در مقايسه OC با و بهینه.
شكل 10: نرخ ارسال مجدد OCL در مقايسه OC با و بهینه.
شكل 11: گذردهی مفيد OCL تحت تغيير ناگهاني بار.
[1] این مقاله در تاریخ 1 شهریور ماه 1400 دریافت و در تاریخ 17 بهمن ماه 1400 بازنگری شد.
مهدی خزائی (نویسنده مسئول)، گروه مهندسی كامپیوتر، دانشگاه صنعتی کرمانشاه، کرمانشاه، ایران، (email: m.khazaei@kut.ac.ir).
[2] . IP Multimedia Subsystem
[3] . Home Subscriber Server
[4] . Subscription Locator Function
[5] . Call Session Control Functions
[6] . Proxy CSCF
[7] . Serving CSCF
[8] . Interrogating CSCF
[9] . Overload Controller with Learning
جدول 3: مقایسه دو روش OCL و OC.
|
|
|
| OCL |
| |
38/849 | 19/866 | 75/856 | 69/848 | 94/866 | ميانگين | گذردهی مفيد |
1539 | 1271 | 1589 | 1445 | 1411 | واريانس | |
3851/0 | 3333/0 | 3043/0 | 3124/0 | 3185/0 | ميانگين | تأخير برقراري نشست |
0229/0 | 0257/0 | 0247/0 | 0305/0 | 023/0 | واريانس | |
38/938 | 38/918 | 44/926 | 44/942 | 56/916 | ميانگين | تعداد ارسال مجددها |
285388 | 264498 | 275110 | 270491 | 268541 | واريانس |
گرفتن این مقادیر برای تمام سرورها، ممكن است در كل، گذردهی تقریباً خوبی حاصل گردد ولی این احتمال وجود دارد كه به دلیل بهینهنبودن این مقادیر برای تكتك سرورها، سرور برای لحظاتی با افزایش بار مواجه شود. از این رو بعد از تغییر ناگهانی، ابتدا گذردهی مقداری كاهش یافته تا اضافه بار رفع شود و سپس كمكم افزایش مییابد. در شکل 12 بعد از افزایش ناگهانی بار، تأخیر در هر دو روش افزایش یافته تا بار اضافی وارد شبكه نشود و با ثابتشدن بار ورودی، تأخیر كاهش یافته و تقریباً برای هر دو مكانیزم ثابت میماند. با این كه تأخیر OC كمی بهتر میباشد، ولی همان طور كه در شكل مشخص است با OCL تفاوتی چندانی ندارد. بعد از كاهش بار ورودی در ثانیه 200، گذردهی و تأخیر هر دو روش به حالت قبل از تغییر ناگهانی برمیگردد. در نتیجه، OCL یك روش پایدار هنگام تغییرات بار ورودی است.
4-2 ارزیابی کارایی OCL
پس از بررسی مزیت OCL، كارایی آن با روش جدید کنترل اضافه بار هولونیک مبتنی بر پنجره 1(WHOC) مقایسه میگردد [27]. گذردهی مفید و تأخیر برقراری نشستها در شكلهای 13 و 14 نمایش داده شده است. همان طور كه مشخص میباشد، وقتی كه میزان بار ورودی كمتر از ظرفیت شبكه باشد، گذردهی مفید مكانیزمها مشابه است زیرا هیچ اضافه باری در شبكه رخ نمیدهد. در WHOC وقتی تعدادی از نشستها در صف سروری جمع میشوند، اندازه پنجره سرورهای لبه، مقداری كاهش یافته تا این تعداد نشست موجود در صف پردازش شوند. از این رو در ظرفیت شبكه، گذردهی مفید مقداری کمتر از روش OCL است. اما در OCL، هر زمان تشخیص داده شود كه یكی از عاملها از ناحیه امن خارج شده است، سریعاً واكنش نشان داده و با جلوگیری از ورود بار اضافی از مبدأ، تلاش میكند كه در شبكه اضافه بار رخ ندهد که تأخیر به دست آمده در شکل 14 نیز همین نتیجه را تأیید میکند.
شكل 15 نرخ ارسال مجددها را نشان میدهد. همان گونه كه قبلاً هم بیان شد، هرچه نرخ ارسال مجددها بیشتر باشد یعنی منابع بیشتری از شبكه صرف پردازش درخواستها شده كه در نهایت نتیجهای به همراه
شكل 12: تأخير برقراري نشستها در OCL تحت تغيير ناگهاني بار.
شكل 13: گذردهي مفيد براي مكانيزمهاي كنترل اضافه بار.
شكل 14: تأخير برقراري نشستها براي مكانيزمهاي كنترل اضافه بار.
ندارند. WHOC نسبت به OCL حدود 8% نشستها را بیشتر رد میكند زیرا در این روش، نشستها فقط به اندازه پنجرههای محاسبهشده وارد شبكه گردیده و بقیه نشستها قطعاً رد میشوند. اما در OCL هیچ فرضی در مورد استفاده از ظرفیت پردازنده نشده است، پس تا زمانی كه تعداد نشستهای ورودی كوچكتر یا مساوی ظرفیت شبكه باشند، بار ورودی طوری به شبكه وارد میشود كه هیچ نشستی رد نمیگردد که این امر با پایش مداوم کنترلکننده و نگهداری حداکثری عاملها در ناحیه امن محقق خواهد شد.
گذردهی مفید و تأخیر برقراری نشستها جهت آزمایش پایداری روش OCL در شکلهای 16 و 17 نشان داده شده است. همان طور كه
در شكل 16 مشخص میباشد، WHOC نسبت به روش OCL نوسانات ابتدایی در لحظه تغییر بار ندارد، زیرا اندازه پنجرهها محدود بوده و هیچ گاه از ظرفیت پردازش پردازنده بیشتر نمیشود. اما در روش OCL تا زمان شروع فرایند مذاکره و رسیدن عاملها به توافق، مقداری نوسان
شكل 15: نرخ ارسال مجددها براي مكانيزمهاي كنترل اضافه بار.
شكل 16: گذردهی مفيد روشهاي مورد بررسي تحت تغيير ناگهاني بار.
شكل 17: تأخير روشهاي مورد بررسي تحت تغيير ناگهاني بار.
ابتدایی وجود داشته که با توافق صورتگرفته رفع خواهد شد. با این حال OCL واکنش سریع و پایداری نسبت به تغییر ناگهانی بار خواهد داشت. در لحظه 200 ثانیه، پس از بازگشت مجدد تعداد نشستها به حالت ابتدایی، OCL سریع به گذردهی قبلی برگشته و محدودیتهای كنترلی سریعاً برداشته میشوند. تأخیر مشخصشده در شکل 17 نیز تأکیدی بر پایداری OCL است.
جهت بررسی عملكرد روش OCL در یك محیط تقریباً واقعی، گذردهی مفید و تأخیر برقراری نشستها برای بار ورودی متغیر توسط توزیع پواسن در شكلهای 18 و 19 نمایش داده شده است. با توجه به شكل 18 میتوان دانست كه OCL به خوبی تغییرات تعداد نشستهای ورودی را دنبال میكند و خود را با آن تطبیق میدهد، بدون این كه شبكه دچار از كار افتادگی شود. در شكل 19 نیز تأخیر، كنترل و با تغییرات بار ورودی كم و زیاد گردیده و سیستم دچار ناپایداری نمیشود. این عملکرد تأکیدی بر پایداری و واکنش سریع روش OCL است.
شكل 18: گذردهی مفيد OCL تحت نشستهاي ورودي متغير.
شكل 19: تأخير نشستهای OCL تحت نشستهاي ورودي متغير.
5- نتیجهگیری و کارهای آینده
در آینده نزدیک، IMS به همراه پروتکل SIP به مهمترین بستر جهت کاربردهای چندرسانهای تبدیل خواهد شد. سرورهای IMS در مواجهه با اضافه بار، دچار افت گذردهی و از کار افتادگی میشوند و به علاوه اضافه بار در کل شبکه گسترش مییابد. از این رو مبحث کنترل اضافه بار در IMS، سیستمی پیچیده محسوب شده که سیستمهای چندعامله جایگزین خوبی به جای روشهای حل کلاسیک جهت حل این چالش میباشند. در سیستمهای چندعامله میتوان یک کار بزرگ را به مجموعهای از کارهای کوچکتر تقسیم کرد تا هر عامل یک قسمت از کار را انجام دهد. در
این پژوهش، سرورهای IMS به عنوان عاملهایی با قابلیت یادگیری و مذاکره در نظر گرفته شدهاند که با استفاده از یادگیری ، یک روش كنترل اضافه بار گام به گام مبتنی بر حذف، پیادهسازی شده که با پیچیدگی خطی به حذف مشکل اضافه بار کمک خواهند کرد.
در روش ارائهشده، فرایند یادگیری توسط هر عامل به صورت مستقل انجام میگیرد. گرچه این نوع یادگیری برای به دست آوردن پارامترهای مربوط به هر عامل مناسب است، ولی برای نشاندادن واكنشهای بهینه توسط تمام عاملها بهتر است كه یادگیری در كل شبکه انجام گیرد. از طرفی در IMS موجوداتی مانند HSS و DNS وجود دارند كه مبتنی بر SIP نیستند و میتوانند در اضافه بار نقش داشته باشند که به عنوان كارهای آینده میتوان این موجودیتها را نیز وارد مسئله كرد. از طرفی، امروزه با حرکت پردازش به سوی محیطهای ابری با توابع مجازیساز شبكه، قیمت ساختار و بستر IMS کاهش یافته و میتوان آن را به سرعت به صورت مقیاسپذیر توسعه داد. از این رو به عنوان کار آینده میتوان روش ارائهشده را در محیط ابری با استفاده از NFV پیادهسازی کرد.
مراجع
[1] P. Agrawal, Y. Jui-Hung, C. Jyh-Cheng, and Z. Tao, "IP multimedia subsystems in 3GPP and 3GPP2: overview and scalability issues," Communications Magazine, IEEE, vol. 46, no. 1, pp. 138-145, Jan. 2008.
[2] C. Shen, H. Schulzrinne, and E. Nahum, "Session Initiation Protocol (SIP) Server Overload Control: Design and Evaluation," in Principles, Systems and Applications of IP Telecommunications. Services and Security for Next Generation Networks, S. Henning, S. Radu, and N. Saverio, Eds.: Springer-Verlag, pp. 149-173, 2008.
[3] V. Hilt and I. Widjaja, "Controlling overload in networks of SIP servers," in Proc. IEEE Int. Conf. on Network Protocols, pp. 83-93, Orlando, FL, USA, 19-22 Oct. 2008.
[4] J. Davin, P. Riley, and M. Veloso, "CommLang: Communication for Coachable Agents," Robot Soccer World Cup VIII, vol. 3276, D. Nardi, M. Riedmiller, C. Sammut, and J. Santos-Victor, Eds. (Lecture Notes in Computer Science: Springer Berlin Heidelberg, pp. 46-59, 2005.
[5] M. Wooldridge, An Introduction to MultiAgent Systems, Wiley, 2009.
[6] م. عبدوس، ارائه یک مدل یادگیري تقویتی با نظارت چندسطحی در سیستمهاي چندعامله هولونی، پاياننامه دكتري در مهندسي كامپيوتر (هوش مصنوعي و رباتيك)، مهندسی کامپیوتر، دانشگاه علم و صنعت ایران، 1392.
[7] H. C. Hsieh and J. L. Chen, "Distributed multi-agent scheme support for service continuity in IMS-4G-Cloud networks," Computers & Electrical Engineering, vol. 42, pp. 49-59, Feb. 2015.
[8] M. Abdoos, N. Mozayani, and A. C. Bazzan, "Hierarchical control of traffic signals using Q-learning with tile coding," Applied Intelligence, vol. 40, no. 2, pp. 201-213, Mar. 2014.
[9] M. Abdoos, N. Mozayani, and A. L. C. Bazzan, "Holonic multi-agent system for traffic signals control," Engineering Applications of Artificial Intelligence, vol. 26, no. 5-6, pp. 1575-1587, May/Jun. 2013.
[10] Y. Yao, V. Hilaire, A. Koukam, and W. Cai, "A holonic model in wireless sensor networks," in Proc. Int. Conf. on Intelligent Information Hiding and Multimedia Signal Processing, pp. 491-495, Harbin, China, 15-17 Aug. 2008.
[11] S. M. Hosseini and N. Mozayeni, "An intelligent method for resource management in wireless networks," in Proc. 5th Conf. on Information and Knowledge Technology, IKT’13, pp. 371-376, Shiraz, Iran, 28-30 May 2013.
[12] M. Cossentino, N. Gaud, V. Hilaire, S. Galland, and A. Koukam, "ASPECS: an agent-oriented software process for engineering complex systems," Autonomous Agents and Multi-Agent Systems, vol. 20, no. 2, pp. 260-304, 2010.
[13] M. Poikselkä, The IMS: IP Multimedia Concepts and Services, J. Wiley & Sons, 2006.
[14] V. K. Gurbani and R. Jain, "Transport protocol considerations for session initiation protocol networks," Bell Labs Technical J., vol. 9, no. 1, pp. 83-97, 2004.
[15] M. Ohta, "Overload control in a SIP signaling network," International J. of Electrical and Electronics Engineering, vol. 3,
no. 2, pp. 87-92, 2009.
[16] E. N. V. Hilt, C. Shen, and A. Abdelal, "Design considerations for session initiation protocol (SIP) overload control," Internet Engineering Task Force (IETF), Request for Comments (RFC) 6357, 2011.
[17] J. Liao, J. Wang, T. Li, J. Wang, J. Wang, and X. Zhu, "A distributed end-to-end overload control mechanism for networks of SIP servers," Comput. Netw., vol. 56, no. 12, pp. 2847-2868, 12 Aug. 2012.
[18] A. Akbar, S. M. Basha, and S. A. Sattar, "A cooperative overload control method for SIP servers," in Proc. Int. Conf. on Communications and Signal Processing, ICCSP’15, pp. 1296-1300, Melmaruvathur, India, 2-4 Apr. 2015.
[19] H. Dong-Yeop, P. Ji Hong, Y. Seung-Wha, and K. Ki-Hyung,
"A window-based overload control considering the number of confirmation massages for SIP server," in Proc.4th Int. Conf. on Ubiquitous and Future Networks, ICUFN’12, pp. 180-185, Phuket, Thailand, 4-6 Jul. 2012.
[20] S. Jing, T. Ruixiong, H. Jinfeng, and Y. Bo, "Rate-based SIP flow management for SLA satisfaction," in Proc. IFIP/IEEE Int. Symp. on Integrated Network Management, pp. 125-128, Long Island, NY, USA, 1-5 Jun. 2009.
[21] R. G. Garroppo, S. Giordano, S. Niccolini, and S. Spagna, "A prediction-based overload control algorithm for SIP servers," IEEE Trans. on Network and Service Management, vol. 8, no. 1, pp. 39-51, Mar. 2011.
[22] S. V. Azhari, M. Homayouni, H. Nemati, J. Enayatizadeh, and A. Akbari, "Overload control in SIP networks using no explicit feedback: a window based approach," Computer Communications, vol. 35, no. 12, pp. 1472-1483, 1 Jul. 2012.
[23] A. Abdelal and W. Matragi, "Signal-based overload control for SIP servers," in Proc. 7th IEEE Consumer Communications and Networking Conf., 7 pp., Las Vegas, NV, USA, 9-12 Jan. 2010.
[24] Y. Hong, C. Huang, and J. Yan, "Applying control theoretic approach to mitigate SIP overload," Telecommunication Systems, vol. 54, no. 4, pp. 387-404, Dec. 2013.
[25] A. Montazerolghaem, M. H. Yaghmaee, A. Leon-Garcia, M. Naghibzadeh, and F. Tashtarian, "A load-balanced call admission controller for IMS cloud computing," IEEE Trans. on Network and Service Management, vol. 13, no. 4, pp. 806-822, Dec. 2016.
[26] A. Montazerolghaem, M. H. Y. Moghaddam, and A. Leon-Garcia, "OpenSIP: toward software-defined SIP networking," IEEE Trans. on Network and Service Management, vol. 15, no. 1, pp. 184-199, 2018.
[27] M. Khazaei and N. Mozayani, "A dynamic distributed overload control mechanism in SIP networks with holonic multi-agent systems," Telecommunication Systems, vol. 63, no. 3, pp. 437-455, 2016.
[28] M. Khazaei and N. Mozayani, "Overload management with regard to fairness in session initiation protocol networks by holonic multiagent systems," International J. of Network Management, vol. 27, no. 3, Article ID: e1969, May/Jun. 2017.
[29] ا. اسماعيلي، ارائه روشی به منظور کنترل ترافیک در تقاطع شهري با استفاده از سیستمهاي چندعاملی هولونی، پاياننامه كارشناسي ارشد مهندسي كامپيوتر (هوش مصنوعي و رباتيك)، مهندسي كامپيوتر، دانشگاه علم و صنعت ایران، 1389.
[30] J. Liao, J. Wang, T. Li, J. Wang, J. Wang, and X. Zhu, "A distributed end-to-end overload control mechanism for networks of SIP servers," Computer Networks, vol. 56, no. 12, pp. 2847-2868, Aug. 2012.
[31] J. Wang, J. Liao, T. Li, J. Wang, J. Wang, and Q. Qi, "Probe-based end-to-end overload control for networks of SIP servers," J. of Network and Computer Applications, vol. 41, pp. 114-125, May 2014.
مهدی خزائی تحصيلات خود در مقطع كارشناسي مهندسی کامپیوتر گرایش سخت افزار را در سال 1383 و کارشناسی ارشد و دكتري مهندسی کامپیوتر گرایش معماری سیستمهای کامپیوتری را بهترتيب در سالهاي 1386 و 1396 در دانشگاه علم و صنعت ایران به پايان رسانده است و هماكنون استادیار دانشكده فناوری اطلاعات دانشگاه صنعتي کرمانشاه ميباشد. زمينههاي تحقيقاتي مورد علاقه ايشان عبارتند از: شبکههای حسگر بیسیم، اینترنت اشیاء، یادگیری ماشین و شبکههای چند رسانهای.
[1] . Window-Based Holonic Overload Control