يتطلّب الاعتماد المتزايد على الأنظمة الشبكية في النشاطات اليومية تزويدها لخدمات متوفّرة و موثوقة. تزوّد Jgroup خدمة متوفّرة من خلال إنشائها نسخ (Replicas) متعددة من الخدمة نفسها و توزيعها على أجهزة متعددة, بينما تحقّق الموثوقية من خلال سماحها لنسخ الخدمة بالحفاظ على الحالة المشتركة فيما بينها و تنسيق نشاطاتها باستخدام تقنية استدعاء الطريقة البعيدة (Remote Method Invocation). خلافاً لـJgroup, تستخدم JavaGroups تقنية تمرير الرسائل (Message Passing) لتحقيق التنسيق بين النسخ.
تقارن هذه المقالة بين أداءي استدعاء طريقة المجموعة في Jgroup بنوعيه الوحيد (anycast) و المتعدّد (multicast) و استدعاء الطريقة في JavaGroups بنوعيه طريقة الحصول على أول إجابة (GET_FIRST) و طريقة الحصول على جميع الإجابات (GET_ALL). تحسّن هذه المقالة أيضاً من أداء منصّة العمل ARM (Autonomous Replication Management) المدمجة مع (Jgroup (Jgroup/ARM لزيادة دعمها مع التسامح مع الخطأ؛ من خلال إيجاد حل أفضل لمعالجة مشكلة تعطّل كامل أعضاء نسخ الخدمة في تعاقب سريع.
تتميز الآلية الجديدة بقيام نسخة واحدة فقط (النسخة القائدة) بإرسال حدث التجديد بدلاً من قيام كل نسخ الخدمة بإرسال هذا الحدث؛ مع محافظتها على الزمن اللازم لاكتشاف حالة التعطّل من قبل مدير النسخ (Replication Manager).
تُظهر نتائج المقارنة بين Jgroup و JavaGroups تفوّق الثانية عند وجود نسخة خدمة واحدة, بينما يتفوّق أداء الاستدعاء في Jgroup على JavaGroups مع تزايد عدد نسخ الخدمة. تظهر النتائج أيضاً تزايد ملحوظ في زمن الاستدعاء في JavaGroups مع تزايد حجم المصفوفة الممررة إلى الطريقة المستدعاة. الأمر الذي يجعل JavaGroups غير مناسبة للتطبيقات التي تتطلب نقلاً لحجوم كبيرة من البيانات و عدداً كبيراً من المخدمات, بينما تعتبر Jgroup مناسبة لذلك.
تبين نتائج تقييم أداء الحل المقترح بأنّه يخفّض عدد أحداث التجديد المرسلة مقارنةً مع حل ميلينغ تصل في حدّها الأعظمي إلى 37.5%, و تستغرق Jgroup/ARM الفترة الزمنية نفسها التي يتطلّبها الحل السابق لاكتشاف تعطّل المجموعة بكاملها.
The increasing reliance on network systems in day-to-day activities requires that they
provide available and reliable services. Jgroup provides available service through creating
multiple replicas of the same service on multiple devices. Jgroup achieves reliable service
by maintaining the shared state between the replicas and coordinating their activities
through Remote Method Invocation. Unlike Jgroup, JavaGroups uses message passing to
implement coordination between the replicas.
In this paper, we compare Jgroup and JavaGroups for different Group Method
Invocation modes. These modes are Anycast and Multicast in Jgroup, GET_FIRST and
GET_ALL in JavaGroups.
This paper also improves the performance of ARM (Autonomous Replication
Management) which is embedded with Jgroup (Jgroup/ARM) for supporting fault
tolerance, through finding a new solution to handle group failure where all remaining
replicas fail in rapid succession. In this new solution, only one replica (the group leader)
issues renew events (IamAlive) periodically, instead of sending it by every replica in the
group, with taking the same period to discover group failure by Replication Manager.
Results of Comparison show that JavaGroups is faster than Jgroup when a single
replica is used, whereas Jgroup outperforms JavaGroups with increasing number of
replicas. The invocation delay in JavaGroups increases noticeably with increasing the size
of array passed into the invoked method which make JavaGroups unsuitable for
applications which require exchanging big sizes of data and use large number of servers,
whereas Jgroup is suitable for that.
Results show that the new proposal reduces the number of renew events to 37.5% at
most, and Jgroup/ARM takes approximately the same period of time to discover group
failure as in Meling solution.
Artificial intelligence review:
Research summary
تتناول هذه الورقة البحثية تطوير التطبيقات الموزعة الموثوقة والقابلة للتجزئة باستخدام Jgroup/ARM. يزداد الاعتماد على الأنظمة الشبكية في النشاطات اليومية، مما يتطلب توفير خدمات متوفرة وموثوقة. تقدم Jgroup خدمات متوفرة من خلال إنشاء نسخ متعددة من الخدمة نفسها على أجهزة متعددة، وتحقق الموثوقية من خلال الحفاظ على الحالة المشتركة بين النسخ وتنسيق نشاطاتها باستخدام تقنية استدعاء الطريقة البعيدة (RMI). تقارن الورقة بين أداء استدعاء طريقة المجموعة في Jgroup وJavaGroups، وتقدم تحسينات على منصة ARM المدمجة مع Jgroup لدعم التسامح مع الخطأ. تظهر النتائج أن JavaGroups تتفوق عند وجود نسخة خدمة واحدة، بينما يتفوق أداء Jgroup مع تزايد عدد النسخ. كما تُظهر النتائج أن الحل المقترح يقلل من عدد أحداث التجديد المرسلة بنسبة تصل إلى 37.5%، مع الحفاظ على الزمن اللازم لاكتشاف حالة التعطل.
Critical review
تقدم الورقة البحثية مساهمة قيمة في مجال تطوير التطبيقات الموزعة الموثوقة، ولكن هناك بعض النقاط التي يمكن تحسينها. أولاً، قد يكون من المفيد تقديم مزيد من التفاصيل حول البيئات التجريبية المستخدمة وكيفية إعدادها لضمان إمكانية تكرار النتائج. ثانياً، يمكن تعزيز الورقة بمزيد من التحليل النظري لدعم النتائج التجريبية. ثالثاً، قد يكون من المفيد مقارنة Jgroup/ARM مع منصات أخرى غير JavaGroups لتقديم صورة أشمل عن أداء النظام. وأخيراً، يمكن تحسين الورقة من خلال تقديم توصيات عملية لتطبيق الحلول المقترحة في بيئات حقيقية.
Questions related to the research
-
ما هي التقنية المستخدمة في Jgroup لتحقيق التنسيق بين النسخ؟
تستخدم Jgroup تقنية استدعاء الطريقة البعيدة (RMI) لتحقيق التنسيق بين النسخ.
-
ما هو التحسين المقترح في الورقة لمنصة ARM؟
التحسين المقترح هو أن تقوم نسخة واحدة فقط (النسخة القائدة) بإرسال حدث التجديد بدلاً من قيام كل نسخ الخدمة بإرسال هذا الحدث، مع الحفاظ على الزمن اللازم لاكتشاف حالة التعطل.
-
ما هي النتائج التي توصلت إليها الورقة بشأن أداء JavaGroups وJgroup؟
تظهر النتائج أن JavaGroups تتفوق عند وجود نسخة خدمة واحدة، بينما يتفوق أداء Jgroup مع تزايد عدد النسخ. كما أن زمن الاستدعاء في JavaGroups يزداد بشكل ملحوظ مع تزايد حجم المصفوفة الممررة إلى الطريقة المستدعاة.
-
ما هي الفائدة الرئيسية للحل المقترح في الورقة؟
الفائدة الرئيسية للحل المقترح هي تقليل عدد أحداث التجديد المرسلة بنسبة تصل إلى 37.5%، مع الحفاظ على الزمن اللازم لاكتشاف حالة التعطل.
References used
Bernstein, P. 'Middleware: A Model for Distributed System Services' Communications of the ACM, 39:2, 86−98. February 1996
Deitel, H.M., Deitel, P.J. and Santy, S.E. Advanced Java 2 Platform: How To PROGRAM. New Tersey: Prentice-Hall, Inc, 2002.pp. 854-905
Deitel, H.M., Deitel, P.J. and Santy, S.E. Advanced Java 2 Platform: How To PROGRAM, New Tersey: Prentice-Hall, Inc, 2002. pp. 1260-1317
Jgroup integrates the object group paradigm with the distributed object model of Java
RMI, providing a platform which is suitable for developing partitionable distributed
applications. Jgroup depends on RMI in all its interactions; whether internal
This paper presents a method integrating database with Jgroup
based on Hibernate, which is one of Object Relational Mapping
tools. We compare between the performance of Jgroup integrated
with Hibernate and the performance of RMI integrated with
Hibernate. The results show that Jgroup/Hibernate outperforms
RMI/Hibernate when the number of clients increases.
Most robotic industries depend on using (servo motors) and (stepper
motors) orcontinuous current motors (DC motors) for movement
transition, which increases the cost and complicates the robot’s
controlling process, as well as its driving circuits.
In recent years, attention has been given to polymeric nanoparticles as promising drug delivery systems through the vital mucus and the development of several drug delivery systems to the brain, including chitosan nanoparticles because of their advan
This research shows a reference study about the technique of the nanotechnology,
kinds of nano materials, methods of its manufacturing, its characteristics, its applications,
and the role of nano in electronics and optoelectronic. As well this rese