برامجيات لزيادة وثوقية الشبكات الحاسوبية
برامجيات لزيادة وثوقية الشبكات الحاسوبية
ثمة تقنيات تُمَكِّن نظم الحوسبة الموزَّعة عبر
الشبكات من إعادة تنظيم ذاتها ومعاودة
التشغيل عند توقف أحد أجزائها عن العمل.
<P.K.بيرمان> ـ <V.R.رينسي>
لم يعد التنقل في الفضاء الإلكتروني لشبكة الإنترنت Internet مجرد إغراء قديم فحسب، بل تمكنت هذه التقانة الجديدة وبسرعة من التأثير الكبير في المجتمع. ويتجلى ذلك بازدياد أعداد جميع أنواع المؤسسات، ابتداء من شركات الحواسيب وانتهاء بدور النشر، التي تتحول نحو تقديم خدمات فورية (مباشرة) on-lineتعمل بطريقة مشابهة لما يتم في الشبكة العنكبوتية العالمية للإنترنت التي يطلق عليها وِب Web. وتساعد الخدمات الفورية على إدارة المعلومات المهمة وسرعة اتخاذ القرارات وتحسين الفعالية. وعلى الرغم من التزايد المستمر لعدد المؤسسات التي تعتمد على هذه التقانة الواعدة، فإن العديد منها معرض للخطر الناجم عن البرامجيات software المسؤولة عن إدارة شبكة الحاسوب. وتبدو المساويء جلية، وبخاصة لمستخدمي (لمستثمري) نُظُم الحوسبة الموزعة، التي تقوم بربط البرامج والمخدِّمات servers وملفات البيانات المنتشرة عبر شبكة واسعة من الحواسيب والطرفيات terminals.
إن النظام الحاسوبي المستقبلي للمستشفى يؤمن للمرضى الاتصال بالذاتية الطبية الموجودة في مختلف أنحاء المستشفى أو في أي مكان في العالم. ونظرا لأن توقف أحد الحواسيب عن العمل يمكن أن يعرض المريض للخطر، فإن مثل هذه الأنظمة تستخدم طريقة التكرار النشيط، المشروحة في هذه المقالة، للتغلب على الأعطال. |
وكما يعرف جميع مستخدمي الحاسوب، فإن البرامج التي تعمل عبر الشبكات غالبا ما تتعرض للأعطال أكثر من البرامج التي تُسْتثمر على حواسيب مستقلة. وفي الواقع، إن <B.L.لامپورت>، الرائد في مجال الحواسيب الموزعة في شركة ديجيتال إكويپمنت، عرَّف نظام الحوسبة الموزع بأنه: «النظام الذي يمكنه عند حدوث عطل في حاسوب معين، قد لا تعلم بوجوده أبدا، جعل حاسوبك غير صالح للاستعمال.» وبالتأكيد، لا تُسْتثنى الشبكة وِب من الأعطال كما سنرى لاحقا [انظر ما هو مؤطر في الصفحة 14]. وفي أواخر عام 1995 بلّغ مستخدمو الشبكة وِب عن «توقفات جزئية» brownouts مختلفة، أدت إلى تعذر الاتصال عن طريق الإنترنت. وكثيرا ما كانت تُنْسب مثل هذه الأعطال البسيطة إلى عوامل مختلفة أهمها: الأخطاء البرامجية والازدحام الشديد على خطوط الاتصال والحمل الزائد أو توقف مخدِّمات الشبكة وِب عن العمل بالكامل. وتتألف هذه المخدِّمات من حواسيب تُخزَّن فيها وثائق المستخدمين التي يمكن الولوج إليها من محطات عملهم. وغالبا ما تسهم مجموعة من هذه العوامل في التوقفات الجزئية للشبكات. ولسوء الحظ، فإن مثل هذه التوقفات ستتضاعف مع التوسع المستمر لشبكات الحواسيب. ويجدر بالذكر هنا أن التوقفات الجزئية المتكررة لا تحصل في شبكة وِب العنكبوتية العالمية فحسب، ولكنها تَطالُ نظم الحوسبة الموزعة التي تخدِّم البنوك والمدارس وكثيرا من المكاتب أيضا.
عندما تتوقف الحواسيب عن العمل جزئيا أو كليا، فإن الأضرار التي تلحق بالمؤسسة تتفاوت كثيرا. في بعض الأحيان، يقتصر الضرر على توتر المستخدم وضياع وقته فحسب. مثلا، إذا كان جهاز الصرف الآلي للمصرف القريب من منزلك معطلا، فيمكن حل هذه الإشكالية البسيطة بالبحث عن أقرب جهاز يعمل، وقد تجده في الشارع المقابل من دون تحمل أي عناء يُذكر. ولكن في أحيان أخرى، يمكن أن ينذر الوضع بكارثة، كأن تطرأ مشكلة في شبكة غاية في التعقيد فتؤدي إلى توقفها (إغلاقها). وعلى سبيل المثال، في 15/7/1994 تأخر بدء العمل في بورصة الأوراق المالية (النقد) ناسداك NASDAQ المقتصرة على التداول الإلكتروني مدة ساعتين، وذلك بسبب حدوث مشكلة غامضة، مما عرض نظام التعامل (التداول) بأكمله للخطر. وفي البداية، اعتقد العاملون في بورصة ناسداك بوجود خطأ برامجي أدى إلى توقف نظام تشغيل الحاسوب. وقد تمكن الفنيون من اكتشاف الخلل، وهو قصور في القرص الصلب. ولما كان النشاط المالي قد توقف عدة ساعات فقط، فإن العائدات التي فُقدت كانت ضئيلة. وكان بإمكان هذه الحادثة أن تسبب كارثة في حال عدم استئناف نشاط البورصة والتعرض لخسائر فادحة.
ولنأخذ مثالا آخر، هو نظام الهاتف للشركة AT&T. فلهذه الشركة تجربة بتوقف العمل على نطاق واسع في الشهر 1/1990 عند تعطل أحد المفاتيح الإلكترونية للنظام، فتم تحويل المكالمات تلقائيا إلى مفتاح احتياطي وقد تعطل أيضا بسبب خطأ صغير في البرامجيات. وسرعان ما انتشر هذا الخطأ في جميع أجزاء الشبكة مؤديا إلى توقفها في جميع مناحيها. وقد استمر توقف الشبكة تسع ساعات حُرم أثناءها (60000)شخص من جميع الخدمات الهاتفية، ولم تُستكمل 70 مليون مكالمة. وسيلاحظ كل من يعمل في مجال إدارة الشبكات والمعتاد على مجرد تحديات إدارة شبكة بسيطة، أن المفاجأة ليست في ظهور هذه الحوادث المؤسفة ولكن في كونها لا تتكرر كثيرا.
بناء جسور إلكترونية موثوقة
إن وثوقية العمل على الشبكات ليست ضرورية للنظم الموزعة الكبيرة فحسب؛ إذ إن النظم الموزعة الصغيرة أيضا قد تسبب أعطالها مشكلات شائكة في الشبكة، وبخاصة إذا كانت التطبيقات البرامجية تعمل على مدار الساعة. فعلى سبيل المثال، يجب أن يكون كل من نُظُم التحكم في الحركة الجوية ونُظُم الحواسيب المالية موثوقة لأقصى حد ممكن ومحدثة باستمرار. ولا بد من الإشارة هنا إلى أن بعض الرسائل الصادرة عن النظام الحاسوبي الموزع ذات الصلة بالوثوقية، لها آثار سلبية. كأن تظهر على شاشة محطة العمل الرسالة «لا يستجيب الحاسوب المضيف»، أو تُعرض على إحدى الشاشات معلومات مضللة أو قديمة عن مسارات الرحلات الجوية أو أسعار البورصة، فيمكن وبسهولة أن تؤدي هذه الرسائل وأمثالها إلى حوادث مؤسفة وخسائر مادية جسيمة. ومع التغير المستمر في طريقة حياة الناس وعملهم، فإن استقرار أوضاعهم المالية وأمن ممتلكاتهم وحتى أحوالهم الصحية، سيعتمد وبشكل متزايد على نظم الحواسيب الموزعة. وهكذا، وعلى الرغم من سهولة التحدث عن الفوائد المرتقبة لمجتمع المعلومات الراقي، فإننا نؤمن أن الجسور التي تربط الحواسيب بعضها ببعض يجب أن تخضع لمزيد من الرقابة. ومازال العديد من علماء الحاسوب ـ منهم كاتبا المقالة ـ يعملون منذ أواخر السبعينات على تطوير برامجيات من أجل تحسين شبكات الحاسوب الموزعة، لكي تصبح أكثر أمانا ومقاومة للأعطال؛ أو ما يسميه الاختصاصيون في هذا المجال «تصميم نظم الحوسبة الموزعة المنيعة.»
والسؤال الذي يطرح نفسه هنا: لماذا تتعطل النظم الموزعة؟ إذا استثنينا النظم التي تتعطل بسبب سوء الإدارة أو التصميم السييء فإن الحالة الأكثر شيوعا هي حدوث مشكلة في أحد مواقع العمل منشؤها محلي وتنبثق عنها سلسلة من الأحداث المتلاحقة تؤدي إلى إنهاء تنفيذ برامج الشبكة واحدا تلو الآخر حتى توقفها. وأحد الحلول للتغلب على هذا التهديد الذي يواجهه النظام الموزع هو تقوية المكونات الإفرادية للشبكة. فعلى سبيل المثال، يمكن استخدام منظومات موزعة مركبة من حواسيب ووحدات تخزين (أقراص) مثبتة فيها ومصممة خصيصا لتحمُّل الأعطال. وثمة عوامل ثانوية مختلفة تُلْحِقُ الضرر بالنظم الموزعة نذكر منها: رشح السقف الذي يسبب قصرًا في دارات الأجهزة، أو حدوث عدم انتظام (رفة) في التيار الكهربائي، أو انقطاع توصيلات شبكة الاتصالات نتيجة للإهمال. كما أن أعمال التخريب التي يقوم بها قراصنة الحاسوب أو الموظفون الساخطون من شأنها إيذاء النظم الموزعة أيضا. وعلى الرغم من تضافر جهود مطوري البرامج ومهندسي الحواسيب لإنتاج مكونات مادية حاسوبية hardware متينة، فإنه يستحيل صنع حاسوب موثوق بالكامل.
ربما يبدو للوهلة الأولى أنه إذا كانت كل مكونة من مكونات النظام موثوقة جدا، فسنحصل على شبكة قوية من النادر أن تتعطل. وفي الحقيقة، إن مجرد ربط الحواسيب بعضها ببعض واستخدام برامج خالية من الأخطاء، لن يُنْتِج نظاما موزعا قويا، وإنما سنحصل على شبكة تعمل بصورة جيدة في أغلب الظروف. لقد تم تصميم كل من برامج البريد الإلكتروني ولوحات النشرات الإلكترونية bulletin boards والشبكة العنكبوتية وِب، على اعتبار أنها مكونات إفرادية تعمل بدرجة وثوقية عالية، إلا أن النظم الموزعة المكونة منها غالبا ما تتوقف عن العمل فجأة عند حدوث طاريء غير متوقع. على سبيل المثال، عندما يرهق أحد الحواسيب أو خطوط الاتصالات بحمل ثقيل، من المحتمل أن يتوقف النظام الموزع عن العمل من دون أن تصدر عنه أي رسالة تنبيه. لذا يجب اتخاذ تدابير إضافية لتأمين المزيد من الحماية.
وخلال العقدين الأخيرين، تصدى المبرمجون لمشكلة وثوقية النظام الموزع وذلك بتطوير برامجيات قادرة على مقاومة الأخطاء. وتسمح هذه البرامجيات لنظم الحاسوب بالاحتفاظ بجميع أعمال المستخدمين قبيل حدوث المشكلة، ثم المتابعة بصورة اعتيادية بعد معالجتها. وتعتمد هذه التقنية على إلغاء جميع الارتباطات (المتلازمات) الداخلية القائمة بين النظام بكامله، وبين أي مكون إفرادي بمجرد حدوث طاريء. وفي هذه الحالة، لا تحتاج النظم الموزعة إلى التوقف عندما تصبح بعض المواقع خارج الخدمة. وستساعد هذه الأساليب التقانية على استئناف العمل بسرعة، ويتم ذلك بتحديد المخدِّمات المعطلة وإصلاحها ثم إعادتها إلى الخدمة.
تُحذر شبكة مراقبة الأحوال الجوية الصيادين في النرويج من العواصف الخطرة (في اليسار) أو الخطورة الناجمة عن البترول المسفوح في البحر (في اليمين). يقوم النظام الحاسوبي للتنبؤ بالعواصف بربط كاميرات الڤيديو البعيدة ومحطات الأرصاد الجوية والسواتل (الأقمار الصنعية) معا، بغية الحصول على تقارير حديثة وموثوقة. ويمكن الولوج إلى نظام التنبؤ بالعواصف هذا عبر الشبكة وِب العالمية بطلب العنوان التالي: /http://www.cs.uit.no . |
عملية التأمين الاحتياطي(1) لحفظ المعلومات
يشير علماء الحاسوب إلى الإجراءات المتعلقة بعملية التأمين الاحتياطي للمعلومات على أنها نظم موزعة عظيمة المنفعة highly avaible distributed systems. تصمم نظم التأمين الاحتياطي بصورة تسمح بتكرار (ازدواج) المعلومات المهمة باستمرار، وتوزيع نسخ احتياطية للمعلومات المؤمنة على حواسيبها الإفرادية. وتتصف هذه النظم بإمكانية التأقلم مع الحالات الطارئة المتغيرة: كتعطل مسيِّر (سواقة) القرص disk driveفي أحد مواقع العمل والحمل الزائد للحاسوب في موقع عمل آخر وكسر وصلة الاتصالات للشبكة، وهلم جرا. كما تستطيع نظم التأمين الاحتياطي التجاوب بسرعة في حالة حدوث مشكلات. فإذا ظهر خطأ في برنامج ينفذ آنيا on-line program أو فُقِدَ ملف بيانات من إحدى محطات العمل للشبكة نتيجة عطل مفاجيء في الشبكة، فيمكن الحصول على نسخة احتياطية للبرنامج قبل حدوث الخطأ أو توفير نسخة عن الملف المفقود من أي جهة يوجد فيها تأمين احتياطي لهذه المعلومات. وبهذه الطريقة يبقى نظام الحاسوب الموزع بكامله متاحا لأي مستخدم بصورة مثالية، ويقدم خدمة متواصلة للمستخدمين المرتبطين مباشرة بالنظام الموزع للشبكة.
إن الطريقة البسيطة والشهيرة لبناء النظام الموزع عظيم المنفعة، تتضمن وجود نظام رئيسي وآخر احتياطي. فإذا حصل عطل في المخدِّم الرئيسي يوضع المخدم الاحتياطي في الخدمة حيث يسهل التحول بين الاثنين إذا لم تتغير البيانات. ويصعب التحول مادام النظام قيد العمل مع إجراء تغييرات في البيانات أو الملفات. كما أنه في حال تضخم الشبكة واحتوائها على أعداد كبيرة من المخدمات ومحطات العمل وتعاملها مع كم هائل من البيانات والملفات والبرامج، فإنه يصبح من الصعب التمييز بين عطل حقيقي ومجرد صعوبات في الاتصالات.
بافتراض أن أحد الحواسيب يحاول تحديث المعلومات على كلا المخدّميْن الرئيسي والاحتياطي، وفي هذه الأثناء توقف أحدهما عن التجاوب مع الرسائل، فإن كانت المشكلة في خطوط الاتصالات فحسب، فستصل الرسائل إلى وجهتها بإعطائها الوقت الكافي. أما إذا كان المخدِّم معطلا فعلا، فإن الحاسوب الذي يقوم بعملية التحديث سينتظر إلى ما لانهاية، وخلال هذه الفترة لا يكون النظام متاحا للمستخدمين. وإذا حاول الحاسوب إجراء التحديث بصورة غير ملائمة فسيتوقف عن الانتظار ويرسل نتائج التحديث إلى أحد المخدِّمين فقط، وفي هذه الحالة لم يعد المخدِّمان الرئيسي والاحتياطي متطابقين. وستظهر أخطاء إذا حاول النظام استعمال المخدِّم ذي المعلومات غير المحدثة.
وهناك طريقتان أساسيتان لحل هذه المشكلة الشائكة، ونستعرض هنا الطريقة المتبعة في سوق البورصة ناسداك. تضم الشبكة مخدّميْن مركزيين للعمليات التجارية. ومن أجل تجنب الفوضى، يبقى أحدهما في حالة عمل فقط. وتترك لمشغلي النظام بالبورصة حرية اتخاذ قرار التحول إلى المخدِّم البديل. ولسوء الطالع، فإن قليلا جدا من النظم الموزعة تتبنى الطريقة اليدوية، حيث يتم الاعتماد على خبرة المشغل البشري من أجل تحري الأعطال ثم تحويل الشبكة بكاملها من مخدِّم إلى آخر. والطريقة البديلة هي اعتماد الأسلوب الآلي، حيث يتوجب على المبرمج كتابة البرامج اللازمة لأتمتة هذه العملية، وفي هذه الحالة يتم التحول آليا من دون أي تدخل بشري.
غالبا ما تمتلك النظم الموزعة عظيمة المنفعة عددا كبيرا من المخدِّمات والبرامج. وعليه، تحتفظ هذه النظم بلوائح عضوية للبرامج تبين وضع كل برنامج، فيما إذا كان يعمل أم لا. وعند طلب أي برنامج وتعذُّر تنفيذه لسبب أو لآخر، توضع إشارة عليه للدلالة على أنه برنامج خطأ. وعندما يتعرّف النظامُ عطلا في أحد مواقع الشبكة، يقوم تلقائيا بعزل هذا الموقع عن المواقع العاملة.
ويوضح نظام ناسداك أيضا نقطة أخرى تتعلق بوثوقية النظم الموزعة؛ حيث كان من الممكن تجنب التأخر في ممارسة النشاط التجاري مدة ساعتين في عام 1994، فيما لو قام المشغلون مباشرة بالتحول إلى النظام الاحتياطي. وعلى كل، لقد اختاروا الانتظار خشية وجود خطأ بسيط في البرامجيات أدى إلى قصور في النظام الرئيسي. وإذا وُجِد مثل هذا الخطأ، فإن النظام الاحتياطي لن يعمل أيضا مثلما حدث للنظام الاحتياطي للشركة AT&T المشار إليه سابقا. ولما كان من المستحيل ضمان وجود برامجيات خالية من الأخطاء بالكامل، فيجب تأمين أشكال من الحماية تحد من الخطر الناجم عن عدم عمل النسخ الاحتياطية للمخدِّم الرديف بعد حدوث مشكلة في المخدِّم الرئيسي.
وتصدى المبرمجون لهذا التحدي بابتكار طريقة تعرف بالتكرار النشيط(2) active replication. تسمح هذه الطريقة لبرامجيات النظام بتخزين نسخ مكررة للبرامج الحيوية أو للمعلومات المهمة الموجودة في المخدِّمات، وذلك من خلال ما يُعْرف بمجموعات المعالجة process groups. تقوم مجموعة المعالجة بربط عدد من البرامج بينها ارتباط وثيق. وغالبا ما يتضمن النظام الموزع العديد من مجموعات المعالجة، ويمكن أن ينتمي البرنامج الواحد إلى عدة مجموعات. ويتم تمييز كل مجموعة باسم خاص تماما كما هي الحال في أسماء الملفات، حيث تمتلك كل مجموعة لائحة عضوية للبرامج المتضمنة فيها حاليا. والأهم من ذلك أن مجموعة المعالجة تقوم بتأمين وسيلة لبث الرسائل إلى جميع أعضاء المجموعة. وتَضْمَن وظيفة تمرير الرسائل أن يتسلم كل عضو في المجموعة جميع الرسائل الموجهة إليه حسب ترتيب ورودها حتى في حال تعطل الجهاز المرسل أثناء عملية الإرسال.
الشبكة وِب المُعَقَّدة جدا(3)
إن الجزء الأكبر من الشبكة العنكبوتية العالمية «وِب» غير مرئي، وتبدو لكثير من المستخدمين (المستثمرين) أنها تضم مكونين فقط هما: برنامج التصفح browser program ومخدِّمات بعيدة تخزن فيها الوثائق. ولكن في واقع الأمر، فإن الشبكة وِب تتألف من ملايين البرامج والمخدِّمات التي يتعاون العشرات منها معا لجلب وثيقة واحدة. على سبيل المثال، لجلب موضوع معين من أحد مخدِّمات جامعة كورنيل، يجب تحويل (أو ترجمة) الاسم: www.cell.edu إلى عنوان رقمي تتعرّفه البرامجيات. وتتضمن هذه المهمة معالجة سلسلة من التقابلات بين مجموعة من البرامج بغية تحديد العنوان الصحيح. إن طلب الاتصال بأحد مواقع الشبكة وِب، يمر عادة عبر عدد من البرامج الوسيطة proxies programs التي تحفظ نسخًا عن الوثائق الأكثر تداولا، مما يخفف الحمل عن مخدِّمات الشبكة وِب البعيدة. وإذا قام أحد البرامج الوسيطة القريب بحفظ وثيقة محددة، فإنه سوف يجنب المستخدم عملية نقل ملف طويل عبر شبكة الإنترنت.
من الشائع في النظم الموزعة اعتمادها الخفي على البرامج الوسيطة، ويؤخذ على هذا الأسلوب إمكانية حدوث أعطال في النظام. مثلا، لن يتمكن المستخدم من الاتصال بالشبكة نتيجة لظهور خطأ في برنامج وسيط أو بسبب حدوث عطل في مخدِّم الشبكة وِب المعني بعملية الاتصال. وبناء على ذلك، تكون الرسالة التالية (في اليسار) مضللة: لأنه يمكن أن يصدر عن الحاسوب مثل هذه الرسالة، إذا كان مثقلا بحمل كبير، أو عندما تخفق بعض البرامج الوسيطة في عملها. من الممكن أن تعاني الإنترنت بكاملها «توقفات جزئية» brownouts مماثلة لحالة انقطاع الاتصال الهاتفي أو التيار الكهربائي على سبيل المثال، في أواخر عام 19955 كان هناك طلب شديد على إحدى الخدمات الرئيسية للإنترنت الموجودة في مدينة أطلنطا الأمريكية، أدى إلى توقفها فترات مؤقتة بسبب الحمل الزائد على الشبكة وِب. وخلال هذه الفترات، لم يستطع أي مستخدم يعمل على الشبكة وِب من جلب وثائق من المخدِّمات التي كانت غير معرفة مسبقا للنظام المحلي. ويؤثر هذا النوع من الأعطال (التوقف الجزئي) في أعداد ضخمة من المستخدمين في جميع أنحاء العالم. ويمكن أن يستمر ظهور الأخطاء بعد إنجاز عملية الاتصال بأحد المخدِّمات. كأن يتم تحديث الوثيقة الأصلية دون أن تقوم البرامج الوسيطة بتحديث النسخ المخزنة في الأقراص الممغنطة، وبهذا لا توجد ضمانة بأن المستخدمين سيرون آخر نسخة محدثة من صفحة وِب. وعلى كل، في كثير من الأحيان لا تسبب هذه الحالة مشكلات مهمة، إلا إذا كانت التطبيقات تعمل بالزمن الحقيقي، عندئذ سوف تضعف الوثوقية ما لم تحفظ الوثائق الضرورية بأحدث شكل لها. تسهم البرامج الوسيطة للشبكة وِب بتحسين الوثوقية وذلك بتخفيف حمل المعالجة على الشبكة، هذا من ناحية. ومن ناحية أخرى، تضعف هذه البرامج الوثوقية لأنها ستتيح للمستخدمين أن يروا معلومات قديمة. عند استثمار المشاريع الحاسة سواء كان ذلك في الشبكة وِب أو في أي نظام موزع آخر، سيتطلب الأمر توافر ضمانات قوية لكي تكون المعلومات المسترجعة من النظام صحيحة وحديثة ومتوافرة دائما عند الطلب. وتشرح هذه المقالة، إحدى الطرق لتفادي الأخطاء المشار إليها وأمثالها، حيث يتم حفظ نسخ احتياطية للمعلومات الحيوية. <P. K. بيرمان> |
إذا كان من الضروري المحافظة على توافر برنامج محدد، فإن النظام ينشيء مجموعة من البرامج، يكرر كل منها النسخة الأصلية. ومن أجل تحديث البيانات التي يتولى إدارتها البرنامج المكرر، يرسل النظام رسالة إلى مجموعة المعالجة. فيقوم كل عضو في المجموعة بتحديث نسخته المحددة. ونظرا لكون جميع البرامج ترى التحديث ذاته وبالترتيب ذاته، فإن هذه البرامج ستبقى في حالات تبادلية متماسكة.
إن طريقة التكرار النشيط تُمكِّن النظام من التغاضي عن الأخطاء، لأن كل عضو في المجموعة يستطيع أن يلبي أي طلب. وإذا تعطل أحد الحواسيب، فيمكن إعادة توجيه العمل إلى أحد المواقع العاملة. إضافة إلى ذلك، إذا لم يغير الطلب البيانات، عندها يكون بإمكان أحد مواقع العمل معالجة هذه الحالة على انفراد، بدلا من إشغال النظام بكامله بها. وفي هذه الطريقة يمكننا تنفيذ المهام المتعددة مباشرة بوساطة برامج مختلفة، ولتسريع تنفيذ التطبيق يتم استخدام أسلوب المعالجة المتوازية parallal processing.
بالطبع، إذا عالج جميع أعضاء مجموعة المعالجة رسالة قادمة إليهم بأسلوب خطأ، فيمكن من الناحية النظرية أن يتوقف جميع الأعضاء عن العمل في آن واحد. ويبدو للوهلة الأولى أن طريقة التكرار النشيط عرضة لمثل هذه الأعطال، ولكن تبين أن هذا ليس هو الواقع. وغالبا ما يلحظ المبرمجون أن الأخطاء البرامجية التي تعذر اكتشافها أثناء اختبار البرامجيات تكون متعلقة بترتيب البيانات المتسلّمة. ويمكن لهذه الأخطاء البسيطة أن تُسْتفز بوساطة تنفيذ سلسلة من الأحداث العشوائية. وإذا نجحنا في ذلك، عندئذ يستخدم النظام الموزع طريقة التكرار النشيط باطمئنان، وفي هذه الحالة ترى النسخ المكررة التعديلات الأخيرة (أي آخر تحديث) ذاتها حسب ترتيب إجرائها. وعلى كل، فإن التعديلات الأخيرة هي مجرد جزء صغير من الطلبات التي يراها البرنامج. وفي أغلب الأحيان، تعمل البرامج المكررة على التوازي، حيث يقوم كل برنامج بمعالجة طلباته وفق ترتيب وحيد. وهكذا، إذا قُدِّر لأحد الأخطاء البرامجية أن يفلت من الاختبار ويعرقل عمل أجزاء قليلة من التطبيق المستخدم عبر الشبكة، فمن غير المحتمل أن تتوقف عن العمل جميع أعضاء مجموعة معالجة محددة في الوقت ذاته.
تعد فكرة التكرار النشيط بسيطة في حد ذاتها بخلاف البرامجيات اللازمة لوضعها في حيز التطبيق. إن إدارة التغييرات الديناميكية للوائح العضوية والاتصال مع مجموعات المعالجة هي مسألة معقدة، وبخاصة فيما يتعلق بالأعطال وفقدان الرسائل التي يتعذر تجنبها. وعلى الرغم من أن نظم الحوسبة الموزعة أصبحت منتشرة كثيرا خلال السنوات العشر الأخيرة، فإن طريقة التكرار النشيط انبثقت عن مختبرات (مخابر) البحث والتطوير منذ فترة وجيزة.
أدوات برامجية جاهزة من أجل الشبكات المنيعة
خلال السنوات القليلة الماضية، قام أكثر من اثني عشر فريقا برامجيا بتطوير حزم برامجية packagesلنظم الحوسبة الموزعة المنيعة. وتؤمن هذه الحزم انتفاعية عالية عن طريق التكرار النشيط، على الرغم من أن كل برنامج منها يختلف إلى حد ما عن البرامج الأخرى بنقاط معينة. على سبيل المثال، تركز بعض البرامج الجاهزة على السرعة، في حين تركز برامج أخرى على أهمية الحاجة إلى الأمن.
لقد أسهمت جهودنا المبذولة في مجال البحوث في تطوير حزمتين برامجيتين. فقد ترأس أحدنا (بيرمان) الفريق الذي أنتج البرنامج إيزيس Isis في عام 1987، وحديثا اشترك كلانا معا في تطوير البرنامج هورسHorus الذي صدر عام 1994. هذا، ويشير الاسمان «إيزيس» و «هورس» إلى أسطورة مصرية. وتروي هذه الأسطورة أن الآلهة إيزيس ساعدت الآلهة أوسيريس على العودة إلى الحياة بعد أن أصبح أشلاء في معركة مع آلهة الحرب سيت Set. وكان هورس ابنَ الآلهة إيزيس الذي انتصر بشجاعة في النهاية على الآلهة سيت. وبالمقارنة، فإن الحزمتين البرامجيتين إيزيس وهورس يمكنهما المساعدة على استعادة (أو إحياء) النظام الموزع الذي توقف عن العمل بسبب عطل أصابه.
تستخدم البرامج الجاهزة كالبرنامج إيزيس، مجموعة من الوظائف البرامجية أو «الأدوات» التي تقوم بعملية تكرار البيانات وتحديثها، وتتابع مسار مجموعات المعالجة كما تساعد على معالجة التغييرات التي تطرأ على بنية هذه المجموعات. ويستطيع البرنامج إيزيس أيضا، القيام بتجزئة معالجة البيانات بين المخدِّمات (يدعى هذا الإجراء مشاركة الحمل(4) load sharing). وتستفيد النظم الموزعة التي تتبنى أسلوب مشاركة الحمل، من ميزات الحوسبة الموزعة من دون الحاجة إلى استخدام حواسيب مخصصة للمعالجة المتوازية. ويتم ذلك بتقسيم الأعمال المطلوبة بين مجموعة من المخدِّمات تعمل بانسجام فيما بينها. ويمكِّن البرنامج إيزيس النظم الموزعة من إدارة المهام الكبيرة بسرعة فائقة. فإذا كان لدينا بعض التطبيقات الكبيرة التي تتطلب قوة حساب إضافية، فإن بإمكاننا زيادة عدد المخدِّمات حيث تتكيف تقانة مشاركة الحمل تلقائيا مع مجموعات المعالجة الجديدة. وغالبا ما يدهش مطورو البرامجيات من الإمكانات التي تقدمها الأدوات البرامجية مثل إيزيس وهورس، من أجل رفع مستوى الأداء وتحسين الوثوقية. فقد اعتاد معظم مطوري البرامجيات على افتراض أن زيادة قوة النظام ستكون على حساب السرعة وارتفاع التكلفة.
لقد تم تطبيق طريقة التكرار النشيط في أمكنة مختلفة تشمل العديد من شبكات الاتصالات عن بعد وأسواق البورصة والمصارف وأعمال السمسرة. وقام الباحثون في النرويج بتطوير نظام لمراقبة البيئة يعتمد على التقانة(5) [انظر الشكلين في الصفحتين 12 و 133]. وتقوم وكالة التحكم الجوية الفرنسية أيضا، بسبر التقنية التي تسمح باستخدام جيل جديد من برامجيات التحكم في الحركة الجوية. كما تستخدم بعض مجمعات التصنيع مفهوم مجموعات المعالجة لتنسيق العمل ولإعادة تشكيل خطوط التجميع عندما يتم سحب المعدات من الخدمة لإجراء الصيانة لها.
يهتم علماء الحاسوب حاليا بتطبيقات النظم الموزعة التي تُطلب في السوق بكثرة. وعلى كل، لقد اكتشفوا أن لطريقة التكرار النشيط محدوديات مهمة، فليست مشاركة الحمل ممكنة أو مرغوبة دائما؛ إذ تصبح بعض النظم (وبشكل واضح تلك النظم التي تُخَزَّن فيها البيانات في مخدِّم يتغير بصورة سريعة جدا) بطيئة عندما يتم تكرار المكونات. على سبيل المثال فإنه في تقانة الندوات الڤيديوية (ندوات العرض المرئي) video conferecing تسهم طريقة التكرار النشيط في الإقلال من أعطال مخدّمات الشبكة، التي يجب ألا تتوقف عن العمل عند انقطاع الاتصال مع المشاركين. لكن هذه التقنية من شأنها إحداث بطء في النظام، من دون أن تساعد على تحسين الوثوقية، فيما إذا استُخدمت لنقل بيانات الڤيديو إلى مستخدمين موجودين في أمكنة بعيدة.
في الشهر 5/1995، انتظر مسافرو الخطوط الجوية في مطار لاگوارديا Laguardia التابع لمدينة نيويورك، رحلات الطيران التي تأخرت عن مواعيدها نتيجة حدوث عطل كهربائي أدى إلى إغلاق النظام المحلي للتحكم في الحركة الجوية. وتركز الجهد لمعالجة هذا الوضع على تجديد برامجيات التحكم في الحركة الجوية الأمريكية، وذلك باستخدام النظم الموزعة المطورة في الثمانينات من هذا القرن. |
إن الحاجة إلى المرونة حثَّتنا على تطوير البرنامج هورس. ويستخدم كل من البرنامجين هورس وإيزيس طريقة التكرار النشيط، ولكن هورس يقدم خدمات متعددة أيضا. واعتمد تصميم هورس على خاصة الوحدوية modularity، ويشبه بذلك مجموعة ألعاب الأطفال لوگوس Legos. يتألف هورس من وحدات بناءblocks مختلفة يمكن وضعها معا في أي تركيبة لدعم حاجات مجموعة معالجة محددة. على سبيل المثال، يمكن أن تتولى إحدى وحدات البناء لهورس تعمية encryption البيانات، بحيث لا يستطيع قراصنة الحاسوب التسلل إلى النظام. في حين يُعْهد إلى وحدة بناء أخرى إمكانية عنونة الأعطال المحتملة للاتصالات التي يمكن أن تظهر عند فقدان الرسائل أو في حالة حدوث تشويه فيها. ويتصف البرنامج هورس بمرونة كبيرة تسمح للمبرمج بتحديد الخصائص التي يحتاج إليها نظامه، مع إمكانية إضفاء الطابع الشخصي على النظام من أجل إنجاز العمل المطلوب. إضافة إلى ذلك، يمكن توسيع البرنامج هورس بغية تطوير وحدات بناء قائمة على التصميم الشخصي لتلبية المتطلبات الخاصة، التي لا نكون قد صادفناها أو توقعناها في عملنا أثناء تطوير البرنامجين هورس وإيزيس.
لقد ازداد عدد مستخدمي البرنامج هورس في جميع أنحاء العالم. فقد استخدمه <C.B .سميث> في جامعة كورنيل لبناء نظام للندوات الڤيديوية من أجل تطبيقات «مجموعات العمل» groupware. يمكن الحصول على معلومات عن البرنامج هورس عبر الإنترنت بوساطة العنوان:
http://www.cs.cornell.edu.Info/Projects/HORUS/
أزمة إرادة؟
لا ريب أن عملنا مع البرنامجين إيزيس وهورس وَلَّد لدينا القناعة بأن التخطيط الدقيق يضمن الوثوقية لشبكات الحاسوب. ولكن الوصول إلى مجتمع المعلومات الراقي المرتكز على أسس صلبة ربما يحتاج إلى مزيد من الوقت والمال يفوق ما يقدمه منتجو الحواسيب والمستخدمون حاليا. يتم بناء برامجيات التطبيقات الموزعة باستخدام التقانة المتاحة حاليا التي ليست مصممة، أساسا، لتطوير برامجيات موثوقة. فضلا عن ذلك، يحتاج الاختصاصيون في هذا المجال إلى البحث عن طريق أفضل لتصميم نظم ضخمة منيعة وتؤمن أداء عاليا جدا. مثلا، النظام المتبع الذي عندما يسمح لـ 50 مستخدما بالولوج إليه في وقت واحد معا، يصبح أداؤه بطيئا وغير مقبول، أما إذا وصل عدد المستثمرين إلى 5000 شخص فسيكون نظاما غير موثوق به.
على الرغم من النجاح الكبير الذي حقَّقه المبرمجون فيما يتعلق باستخدام تقانة النظم الموزعة المنيعة في تطبيقات عدة، فإن عامة الناس يسمعون كثيرا عن أعطال النظم الموزعة الضعيفة. على سبيل المثال، نُشرت خلال السنوات القليلة السابقة عشرات التقارير عن مشكلات وأعطال النظام الحالي للتحكم في الحركة الجوية. ففي خريف عام 1995، تعطل نظام التحكم في الحركة الجوية بولاية لوس أنجلوس تاركا وحدات التحكم غير قادرة على الاتصال مع الطائرات، وتم تجنب وقوع اصطدام في الجو قبل ثوان من احتمال وقوعه.
وسارت الأمور نحو الأسوأ، ففي عام 1982 عندما كُلِّفت إدارة الطيران الاتحادية (FAA) بتحديث برامجيات التحكم في الحركة الجوية، تأخر التحديث مرارا مما أدى إلى تراجع هذه البرامجيات كثيرا. وللخروج من هذا الوضع، تبنت إدارة الطيران الاتحادية اقتراحا يتضمن طريقة مبتكرة للوصول إلى الحوسبة الموزعة. وبدا واضحا الآن، أن سمات التوزيع وشدة المنفعة للبرامجيات المقترحة صارت تقريبا مهملة بالكامل. ومع ذلك، ينتقد مراقبو حركة الطيران النظام الحالي بأنه غير ملائم إلى حد خطير وبخاصة لكونه يفتقر إلى البنية البرامجية الموزعة، ولأنه أصبح غير موثوق مع الزمن. وتتسابق وسائل الإعلام إلى الحديث عن مثل هذه الإخفاقات وبإسهاب، مما يدعم الاعتقاد العام بأن هناك أزمات في برامجيات الحاسوب [انظر: Softwares ” Crisis,” Chronic by W. Wayt Gibbs;Scientific
American, September 1994].
ولكن، إذا كنا حقا في وسط أزمة لتطوير البرامجيات، فإنها مشكلة إرادة بقدر ما هي مشكلة وسائل. فلم يكن جميع المطورين للبرامجيات مهتمين بجعل برامجياتهم الشبكية قوية. والضغط الذي تمارسه العامة للمطالبة بالوثوقية، لا يتعدى أكثر من بعض التطبيقات الحساسة على وجه الخصوص. وفي الحقيقة، إن الشركات التي تسوّق الحزم البرامجية لأنظمة الحوسبة الموزعة، غالبا ما تذكر في شهادات المنتج أن تقاناتها قد لا تكون موثوقة على نحو كاف للاستخدام في التطبيقات الحساسة، مما يعني أن الوثوقية ليست هدفا غاية في الأهمية بالنسبة للمنتج. وفي رأينا، إن هذه الحالة مشابهة للوضع غير المنطقي بالنسبة لمصنِّعي السيارات، الذين يبيعون السيارات مع تحذير المشترين من أن هذه السيارات غير آمنة للسير في الطرق السريعة (الأوتوسترادات). أما بالنسبة للحواسيب، فإن الإجراءات المكافئة لأحزمة الأمان والحقائب الهوائية كانت نادرا ما تُطَبَّق على تطوير البرامجيات. لقد سيطرت بشدة مؤخرا على اهتمام كل من مطوري البرامجيات ومستخدمي البرامج الرغبة في إيجاد واجهات interfaces متقدمة وسهلة الاستخدام، وكذلك تحسين السرعة والأداء.
إن الوثوقية غالبا ما تستحضر إلى الذهن صورة لأنظمة الحاسوب البطيئة والثقيلة المتضاربة مع إغراءات الولوج العفوي والفوري إلى بيانات ومعلومات عن مجتمع المعلومات الراقي. ومع ذلك، يجب أن لا تكون التقانة القوية بطيئة واستعمالها غير ممتع، فجسر البوابة الذهبية مثال صارخ على الاستقرار والعار في الوقت نفسه. وجسور المعلومات التي تربط بين الحواسيب هي نموذج للاستقرار وتتمتع بامتيازات مهمة، ولسنا مبالغين إذا قلنا إنه مع مرور كل ساعة يتم اكتشاف المزيد عن استعمالات هذه الجسور. إن حماسنا للدمج الأنيق للجسور الإلكترونية في جميع التطبيقات الممكن تخيلها، يجب ألا يحجب درجة اهتمام معقولة حول ما إذا كانت هذه الجسور ستكون قادرة على معالجة ازدحام مرور البيانات في أوقات الاختناق، وإننا نعتقد أن أنظمة الحوسبة الموزعة القوية تزودنا بأداة مهمة لوصل الحواسيب بسرعة وبوثوقية، ولإيجاد فرص عمل وتوفير المتعة في مجتمع المعلومات. ولكننا نؤمن أيضا أن هناك حالات عديدة، يكون من الأفضل فيها عدم بناء أو استعمال أي نظام موزع على الإطلاق، إذا لم يكن النظام مصمما لكي يعمل بشكل قوي.
المؤلفان
Kenneth P. Birman – Robbert v. Renesse
عملا معا في مجال نظم الحوسبة الموزعة خلال السنوات الخمس الماضية. يعمل بيرمان أستاذا لعلم الحاسوب في جامعة كورنيل، وبعد تطوير الأداة البرامجية إيزيس Isis في الثمانينات، قام بتأسيس شركة لتجارة التقانة. يوجد حاليا قسم لنظم إيزيس الموزعة في مؤسسة حاسوب ستراتوس. أما رينسي فدخل مجال الحوسبة الموزعة بعد أن قرر عدم الاستمرار في العمل كمهرج في السيرك. وهو الآن مساعد باحث رئيسي في جامعة كورنيل، ويعتبر المصمم والمطور الرئيسي لنظام هورس Horus.
مراجع للاستزادة
FAULT TOLERANCE IN TANDEM COMPUTER SYSTEMS. Jim Gray, Joel Battlett and Robert W. Horst in The Evolution of Fault-Tolerant Computing. Edited by A. Avizienis, H. Kopetz and J. C. Laprie. Springer-Verlag, 1987.
FATAL DEFECT: CHASING KILLER COMPUTER BUGS. Ivars Peterson. Random House, 1995.
GROUP COMMUNICATION. Special section in Communications of the ACM, Vol. 39, No. 4, pages 50-97; April 1996.
Scientific American, November 1994
(1) يدل المصطلح «تأمين احتياطي» على عملية الرجوع إلى نسخة احتياطية للبيانات والبرامج بهدف استخدامها عند الحاجة، مثل حالة توقف الحاسوب عن العمل بسبب خلل معين. (التحرير)
(2) تعتمد طريقة التكرار النشيط على وجود نسخ من البرامجيات تسمح بصفة مستمرة باستبدال بعضها ببعض في حالة حدوث عطل في أحدها.
(3) تعتبر الشبكة وِب من أهم وأكثر التقانات الواعدة في الإنترنت، كما تضم الإنترنت الخدمات الرئيسية التالية: البريد الإلكتروني ومجموعات الأخبار usenet وبرنامج تبادل الملفات FTP وبرنامج الاتصال بحاسوب آخر Telnet ومحطة التحدث IRC وبرنامج گوفر. (التحرير)
(4) يعتمد هذا الإجراء على مشاركة عدة أجهزة حاسوبية في المعالجة أثناء فترة الحمل القصوى.
(5) يتضمن هذا النظام معدات كهرضوئية تقوم بإجراء تحاليل لأوضاع الغلاف الجوي لتحديد أثر ملوثات غازية معينة. ويستخدم النظام أحدث الأساليب التقانية ذات الفعالية لملوثات خاصة.