حوسبة موزعة

الفكرة من وراء الحوسبة الموزعة

غالباً ما لا نستعمل كل طاقة المعالج المتاحة لنا. نقوم في الأحوال الطبيعية ياستعمال عدد معين من البرامج التي تستدعي قسم معين من طاقة المعالج لدينا ويبقى قسم كبير غير مستخدم. الفكرة من وراء الحوسبة الموزعة هي استعمال هذه الطاقة المتاحة بطريقة ما. ببساطة يتم ربط عدد معين من الكمبيوترات على شكل شبكة بحيث يحتاج الامر لوجود برنامج معين على كل جهاز ضمن هذه الشبكة ويتم توزيع بعض المهام على الأجهزة التي لا يتم استخدام طاقاتها من قبل مستخدمها الرئيسي. تقوم معالجات هذه الأجهزة بدورها بمعالجة الوظائف المرسلة لها عبر هذه الشبكة غالباً من دون ملاحظة هذا العمل الإضافي من قبل مستخدم الجهاز الرئيسي.

أسباب استخدام الحوسبة الموزعة

1-طبيعة الطلب قد تتطلب استخدام شبكة الاتصالات التي تربط العديد من أجهزة الكمبيوتر: على سبيل المثال، أنتجت البيانات في مكان واحد موجودوتكون مطلوبة في موقع آخر.
2-هناك العديد من الحالات التي يكون فيها استخدام جهاز كمبيوتر واحد سوف يكون من الممكن من حيث المبدأ، ولكن استخدام نظام توزيع هو مفيد لأسباب عملية. على سبيل المثال، قد يكون أكثر فعالية من حيث التكلفة للحصول على المستوى المطلوب من الأداء باستخدام مجموعة من العديد من أجهزة الكمبيوتر المنخفضة نهاية، بالمقارنة مع جهاز كمبيوتر الراقية واحد. ويمكن لنظام توزيع توفر أكثر موثوقية من نظام غير الموزعة، وليس هناك نقطة واحدة من الفشل. وعلاوة على ذلك، قد يكون نظام توزيع أسهل لتوسيع وإدارة من نظام أحادي المعالجة المتجانسة.

هيكلية النظم الموزعة

هي عبارة عن طريقةو كيفية ربط الشبكات مع بعضها البعض من خلال:
العميل / نظام الخادم(client\server): بنية خدمة العملاء هو وسيلة لتقديم خدمة من مصدر مركزي. هناك خادم واحد  يقدم خدمة، والعديد من العملاء يتم التواصل مع الخادم تستهلك منتجاتها. في هذه الهيكيلة مراكز خدمة العملاء لديهم وظائف مختلفة. وظيفة الخادم هو للرد على طلبات الخدمة من العملاء، في حين أن وظيفة العميل لاستخدام البيانات المقدمة استجابة من أجل تنفيذ بعض المهام.
الند للند النظام(peer_to_peer): مصطلح يستخدم الند للند لوصف النظم الموزعة التي يتم فيها تقسيم العمل بين جميع مكونات النظام. كافة أجهزة الكمبيوتر بإرسال واستقبال البيانات، وأنهم جميعا تساهم بعض قوة المعالجة والذاكرة. كما يزيد نظام توزيع في الحجم، وقدرته على زيادة الموارد الحاسوبية. في نظام الند للند، جميع مكونات النظام تسهم بعض قوة المعالجة والذاكرة إلى حساب الموزعة.

اساسيات للحصول على نظام موزع مثالي

◦Concurrency of components: يعني ان وجود جهاز على الشبكة لا يؤثر في الأجهزة الآخرى بمعنى يمكن ان اقوم بالعمل على جهازي بينما شخص آخر  في نفس الوقت يعمل على جهازه .
◦No global clock : لا يكون هناك اوقات معينه للدخول على النظام بمعنى يكون مفتوح تماماً دون اي قيود في الوقت 
◦Independent failures: عطل في جهاز واحد لا يؤثر على الاجهزة الآخرى اي يكون الوضع تحت السيطرة

الصعوبات و التحديات التي نواجهها للحصول على نظام موزع

1/ التغاير ( hetrogeneity ) : اي اختلاف نوع الأجهزة و البرامج و الأنظمة و نوع الشبكة ولحل ذلك نستخدم بعض البروتوكولات ( protocols ), أو استخدام البرمجيات الوسيطة ( middleware ) وهي مجموعة من السوفت وير توضع في الطبقات الداخلية للشبكة, أو استخدام الجهاز الظاهري ( virtual machine ) جعل ملف يفتح على جهاز آخر وهذا الجهاز لا يمتلك البرنامج الرئيسي .
2/ الإنفتاحية ( openess ) : عدد الأجهزة غير محدود .
3/ السرية (security).
4/ التوسع (scalablitity).
5/ التعامل مع الفشل (failure handling).
6/ التزامن (conurrency).
7/ الشفافية (transparency).

التطبيقات الموزعة

التطبيق الموزع هو تطبيق مكون من أكثر من مكون يمكن نشرها بشكل مستقل وعلى آلات مختلفة مرتبطة بشبكة، وتتخاطب فيما بينها باستعمال البرمجيات الوسيطة. يتألف التطبيق الموزع من طبقتين هما تطبيقات مخدم والمستخدم) أو من ثلاث طبقات هي تطبيقات زبون والبرمجيات الوسيطة والمخدم أو من عدة طبقات هي الزبون وعدة برمجيات وسيطة وعدة مخدمات.