SlideShare a Scribd company logo
1 of 59
‫الموزعة‬ ‫االنظمة‬
(
‫الثالث‬ ‫اإلصدار‬
)
‫األول‬ ‫الفصل‬
:
‫مقدمة‬
‫اإلصدار‬
:
20
‫مارس‬
2022
2 / 56
‫مقدمة‬
:
‫الموزع؟‬ ‫النظام‬ ‫هو‬ ‫ما‬
‫الموزعة‬ ‫االنظمة‬
‫تعريف‬
:
‫ك‬ ‫لمستخدميها‬ ‫تظهر‬ ‫التي‬ ‫المستقلة‬ ‫الحوسبة‬ ‫عناصر‬ ‫من‬ ‫مجموعة‬ ‫عن‬ ‫عبارة‬ ‫الموزع‬ ‫النظام‬
‫نظام‬
‫متماسك‬ ‫واحد‬
.
‫المميزة‬ ‫السمات‬
:
•
‫أ‬ ‫أجهزة‬ ‫كانت‬ ‫سواء‬ ، ‫العقد‬ ‫باسم‬ ‫ًا‬‫ض‬‫أي‬ ‫إليها‬ ‫يشار‬ ‫والتي‬ ، ‫الذاتية‬ ‫الحوسبة‬ ‫عناصر‬
‫عمليات‬ ‫و‬
‫برمجية‬
.
•
‫متماسك‬ ‫واحد‬ ‫نظام‬
:
‫الت‬ ‫إلى‬ ‫يحتاج‬ ‫ًا‬‫د‬‫واح‬ ‫ا‬ً‫م‬‫نظا‬ ‫أن‬ ‫التطبيقات‬ ‫أو‬ ‫المستخدمون‬ ‫يدرك‬
‫عاون‬
.
3 / 56
‫مقدمة‬
:
‫الخاصية‬ ‫الموزع؟‬ ‫النظام‬ ‫هو‬ ‫ما‬
1
:
‫المستقلة‬ ‫الحوسبة‬ ‫عناصر‬ ‫من‬ ‫مجموعة‬
‫المستقلة‬ ‫العقد‬ ‫من‬ ‫مجموعة‬
‫المستقل‬ ‫السلوك‬
:
‫الوقت‬ ‫عن‬ ‫الخاص‬ ‫مفهومها‬ ‫لها‬ ‫سيكون‬ ‫وبالتالي‬ ‫مستقلة‬ ‫عقدة‬ ‫كل‬
:
‫عالمية‬ ‫ساعة‬ ‫توجد‬ ‫ال‬
.
‫يؤدي‬
‫األساسية‬ ‫والتنسيق‬ ‫التزامن‬ ‫مشاكل‬ ‫إلى‬
.
‫العقد‬ ‫مجموعة‬
:
‫المجموعة؟‬ ‫عضوية‬ ‫تدير‬ ‫كيف‬
‫عضو‬ ‫مع‬ ‫بالفعل‬ ‫تتواصل‬ ‫أنك‬ ‫تعرف‬ ‫كيف‬
(
‫غير‬
)
‫له؟‬ ‫مصرح‬
4 / 56
Introduction: What is a distributed system? ‫الخاصية‬
1
:
‫المستقلة‬ ‫الحوسبة‬ ‫عناصر‬ ‫من‬ ‫مجموعة‬
‫منظمة‬
‫الشبكة‬ ‫تراكب‬
‫جيرانها‬ ، ‫النظام‬ ‫في‬ ‫األخرى‬ ‫بالعقد‬ ‫فقط‬ ‫تتصل‬ ‫المجموعة‬ ‫في‬ ‫عقدة‬ ‫كل‬
.
‫قد‬
‫فقط‬ ‫ًا‬‫ي‬‫ضمن‬ ‫معروفة‬ ‫تكون‬ ‫قد‬ ‫أو‬ ، ‫ديناميكية‬ ‫الجيران‬ ‫مجموعة‬ ‫تكون‬
(
‫ا‬ً‫ث‬‫بح‬ ‫تتطلب‬ ‫أي‬
.)
‫التراكب‬ ‫أنواع‬
‫التراكب‬ ‫لشبكات‬ ‫معروف‬ ‫مثال‬
:
‫نظير‬ ‫إلى‬ ‫نظير‬ ‫أنظمة‬
.
‫منظمة‬
:
‫معهم‬ ‫التواصل‬ ‫يمكنها‬ ‫الذين‬ ‫الجيران‬ ‫من‬ ‫ًا‬‫د‬‫جي‬ ‫محددة‬ ‫مجموعة‬ ‫على‬ ‫عقدة‬ ‫كل‬ ‫تحتوي‬
(
‫ش‬
‫جرة‬
‫حلقة‬ ،
.)
‫منظمة‬ ‫غير‬
:
‫النظام‬ ‫من‬ ‫ًا‬‫ي‬‫عشوائ‬ ‫اختيارها‬ ‫تم‬ ‫أخرى‬ ‫عقد‬ ‫إلى‬ ‫إشارات‬ ‫على‬ ‫عقدة‬ ‫كل‬ ‫تحتوي‬
.
5 / 56
Introduction: What is a distributed system?
‫الخاصية‬
2
:
‫متماسك‬ ‫واحد‬ ‫نظام‬
‫متماسك‬ ‫نظام‬
‫جوهر‬
:
‫ب‬ ‫التفاعل‬ ‫وكيفية‬ ‫وزمان‬ ‫مكان‬ ‫عن‬ ‫النظر‬ ‫بغض‬ ، ‫الطريقة‬ ‫بنفس‬ ‫ككل‬ ‫العقد‬ ‫مجموعة‬ ‫تعمل‬
‫ين‬
‫والنظام‬ ‫المستخدم‬
.
‫أمثلة‬
:
►
‫الحساب‬ ‫إجراء‬ ‫مكان‬ ‫معرفة‬ ‫النهائي‬ ‫للمستخدم‬ ‫يمكن‬ ‫ال‬
►
‫بالتطبيق‬ ‫صلة‬ ‫ذات‬ ‫غير‬ ‫بالضبط‬ ‫المخزنة‬ ‫البيانات‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫حيث‬
►
‫ال‬ ‫أم‬ ‫البيانات‬ ‫نسخ‬ ‫تم‬ ‫إذا‬
،
‫يتم‬
‫ا‬ً‫م‬‫تما‬ ‫إخفاءها‬
‫الرئيسية‬ ‫الكلمة‬
(
‫الشفافية‬
‫في‬
‫التوزيع‬
)
(
‫العقبة‬

‫المشكلة‬
)
:
‫جزئية‬ ‫إخفاقات‬
:
‫الموزع‬ ‫النظام‬ ‫من‬ ‫فقط‬ ‫جزء‬ ‫يفشل‬ ‫وقت‬ ‫أي‬ ‫في‬ ‫أنه‬ ‫المحتم‬ ‫من‬
.
‫إ‬ ‫ويستحيل‬ ‫للغاية‬ ‫ًا‬‫ب‬‫صع‬ ‫ا‬ً‫أمر‬ ‫واستعادتها‬ ‫الجزئية‬ ‫اإلخفاقات‬ ‫إخفاء‬ ‫يكون‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬
‫عام‬ ‫بشكل‬ ‫خفاءه‬
.
Introduction: What is a distributed system?
‫الموزعة‬ ‫واألنظمة‬ ‫الوسيطة‬ ‫البرامج‬
‫الوسيطة‬ ‫البرامج‬
:
‫الموزعة‬ ‫األنظمة‬ ‫تشغيل‬ ‫نظام‬
Local OS 1 Local OS 2 Local OS 3 Local OS 4
Appl. A Application B Appl. C
‫الموزع‬ ‫النظام‬ ‫طبقة‬
(
‫الوسيطة‬ ‫البرمجيات‬
)
Computer 3 Computer 4
‫مكان‬ ‫كل‬ ‫في‬ ‫الواجهة‬ ‫نفس‬
Computer 1
Computer 2
Network
6 / 56
‫تحتوي؟‬ ‫ماذا‬
‫ا‬ ‫بواسطة‬ ‫تنفيذها‬ ‫إلى‬ ‫تحتاج‬ ‫ال‬ ‫والتي‬ ‫االستخدام‬ ‫شائعة‬ ‫والوظائف‬ ‫المكونات‬
‫لتطبيقات‬
‫منفصل‬ ‫بشكل‬
.
7 / 56
‫مقدمة‬
:
‫التصميم‬ ‫أهداف‬
‫نحقق؟‬ ‫ان‬ ‫نريد‬ ‫ماذا‬
►
‫الموارد‬ ‫تقاسم‬ ‫دعم‬
►
‫التوزيع‬ ‫شفافية‬
►
‫االنفتاح‬
►
‫التوسع‬ ‫قابلية‬
8 / 56
Introduction: Design goals ‫الموارد‬ ‫تقاسم‬ ‫دعم‬
‫الموارد‬ ‫تقاسم‬
‫عليها‬ ‫متعارف‬ ‫أمثلة‬
►
‫السحابة‬ ‫إلى‬ ‫المستندة‬ ‫المشتركة‬ ‫والملفات‬ ‫التخزين‬
►
‫نظير‬ ‫إلى‬ ‫نظير‬ ‫بمساعدة‬ ‫المتعددة‬ ‫الوسائط‬ ‫دفق‬
►
‫المشتركة‬ ‫البريد‬ ‫خدمات‬
(
‫الخارجية‬ ‫البريد‬ ‫أنظمة‬ ‫في‬ ‫فكر‬
)
►
‫المشتركة‬ ‫المواقع‬ ‫استضافة‬
(
‫المحتوى‬ ‫توزيع‬ ‫شبكات‬ ‫في‬ ‫فكر‬
)
‫مالحظة‬
"
‫الكمبيوتر‬ ‫هي‬ ‫الشبكة‬
"
(
‫من‬ ‫اقتباس‬
John Gage
،
‫في‬ ‫ثم‬
Sun Microsystems)
Types of distribution transparency 9 / 56
Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬
‫التوزيع‬ ‫شفافية‬ ‫أنواع‬
‫الشفافية‬ ‫وصف‬
‫الوصول‬ ‫إل‬ ‫الوصول‬ ‫وكيفية‬ ‫البيانات‬ ‫تمثيل‬ ‫في‬ ‫االختالفات‬ ‫إخفاء‬
‫كائن‬ ‫ى‬
‫موقع‬ ‫الكائن‬ ‫موقع‬ ‫إخفاء‬
‫نقل‬ ‫االستخدام‬ ‫أثناء‬ ‫آخر‬ ‫مكان‬ ‫إلى‬ ‫كائن‬ ‫نقل‬ ‫يتم‬ ‫قد‬ ‫أنه‬ ‫إخفاء‬
‫الترحيل‬ ‫آخر‬ ‫مكان‬ ‫إلى‬ ‫ينتقل‬ ‫قد‬ ‫الكائن‬ ‫أن‬ ‫إخفاء‬
‫تكرار‬ ‫نسخه‬ ‫يتم‬ ‫الكائن‬ ‫أن‬ ‫إخفاء‬
‫التزامن‬ ‫مستق‬ ‫مستخدمين‬ ‫عدة‬ ‫قبل‬ ‫من‬ ‫مشاركته‬ ‫يمكن‬ ‫ما‬ ‫ا‬ً‫ن‬‫كائ‬ ‫أن‬ ‫إخفاء‬
‫لين‬
‫فشل‬ ‫الكائن‬ ‫واستعادة‬ ‫الفشل‬ ‫إخفاء‬
‫التوزيع‬ ‫شفافية‬ ‫درجة‬ 10 / 56
Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬
‫الشفافية‬ ‫درجة‬
‫مالحظة‬
‫الالزم‬ ‫من‬ ‫أكثر‬ ‫الكاملة‬ ‫التوزيع‬ ‫شفافية‬ ‫من‬ ‫الهدف‬ ‫يكون‬ ‫قد‬
:
Degree of distribution transparency 10 / 56
Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬
Degree of transparency
Observation
Aiming at full distribution transparency may be too much:
►
There are communication latencies that cannot be hidden
Degree of distribution transparency 10 / 56
Introduction: Design goals Making distribution transparent
Degree of transparency
Observation
Aiming at full distribution transparency may be too much:
►
There are communication latencies that cannot be hidden
►
Completely hiding failures of networks and nodes is (theoretically
and practically) impossible
►
You cannot distinguish a slow computer from a failing one
►
You can never be sure that a server actually performed an
operation before a crash
‫التوزيع‬ ‫شفافية‬ ‫درجة‬ 10 / 56
Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬
‫الشفافية‬ ‫درجة‬
‫مالحظة‬
‫الالزم‬ ‫من‬ ‫أكثر‬ ‫الكاملة‬ ‫التوزيع‬ ‫شفافية‬ ‫من‬ ‫الهدف‬ ‫يكون‬ ‫قد‬
:
►
‫إخفاؤها‬ ‫يمكن‬ ‫ال‬ ‫لالتصاالت‬ ‫اختفاء‬ ‫هناك‬
►
‫مستحيل‬ ‫أمر‬ ‫ا‬ً‫م‬‫تما‬ ‫والعقد‬ ‫الشبكات‬ ‫فشل‬ ‫إخفاء‬
(
‫ًا‬‫ي‬‫وعمل‬ ‫ًا‬‫ي‬‫نظر‬
)
►
‫الفاشل‬ ‫والكمبيوتر‬ ‫البطيء‬ ‫الكمبيوتر‬ ‫بين‬ ‫التمييز‬ ‫يمكنك‬ ‫ال‬
►
‫عطل‬ ‫حدوث‬ ‫قبل‬ ‫عملية‬ ‫بالفعل‬ ‫أجرى‬ ‫قد‬ ‫الخادم‬ ‫أن‬ ‫من‬ ‫التأكد‬ ‫ًا‬‫د‬‫أب‬ ‫يمكنك‬ ‫ال‬
►
‫النظام‬ ‫توزيع‬ ‫وفضح‬ ، ‫األداء‬ ‫ستكلف‬ ‫الكاملة‬ ‫الشفافية‬
►
‫ا‬ً‫ت‬‫وق‬ ‫الرئيسي‬ ‫اإلصدار‬ ‫مع‬ ‫ا‬ً‫م‬‫تما‬ ‫محدثة‬ ‫المتماثلة‬ ‫بالنسخ‬ ‫االحتفاظ‬ ‫يستغرق‬
►
‫الخطأ‬ ‫مع‬ ‫للتسامح‬ ‫ا‬ً‫فور‬ ‫القرص‬ ‫على‬ ‫الكتابة‬ ‫عمليات‬ ‫مسح‬
Degree of distribution transparency 11 / 56
Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬
Degree of transparency
Exposing distribution may be good
►
Making use of location-based services (finding your nearby
friends)
►
When dealing with users in different time zones
►
When it makes it easier for a user to understand what’s going on
(when e.g., a server does not respond for a long time, report it as
failing).
Degree of distribution transparency 11 / 56
Introduction: Design goals Making distribution transparent
‫الشفافية‬ ‫درجة‬
‫التوزيع‬ ‫يكون‬ ‫قد‬
‫ًا‬‫د‬‫جي‬ ‫المكشوف‬
►
‫االستفادة‬
‫من‬
‫الخدمات‬
‫القائمة‬
‫على‬
‫الموقع‬
(
‫إيجاد‬
‫األصدقاء‬
‫القريبين‬
‫منك‬
)
►
‫عند‬
‫التعامل‬
‫مع‬
‫مستخدمين‬
‫في‬
‫مناطق‬
‫زمنية‬
‫مختلفة‬
►
‫عندما‬
‫يسهل‬
‫على‬
‫المستخدم‬
‫فهم‬
‫ما‬
‫يجري‬
(
‫على‬
‫سبيل‬
‫المثال‬
،
‫ال‬
‫يستجيب‬
‫ا‬
‫لخادم‬
‫لفترة‬
‫طويلة‬
،
‫أبلغ‬
‫عن‬
‫ذلك‬
‫على‬
‫أنه‬
‫فاشل‬
)
.
‫استنتاج‬
‫ا‬ ‫من‬ ‫كثير‬ ‫في‬ ‫ينبغي‬ ‫وال‬ ، ‫مختلفة‬ ‫قصة‬ ‫تحقيقه‬ ‫لكن‬ ، ‫جميل‬ ‫هدف‬ ‫هي‬ ‫التوزيع‬ ‫شفافية‬
‫ألحيان‬
‫استهدافها‬
.
Introduction: Design goals ً‫ح‬‫منفت‬ ‫تكون‬ ‫أن‬
‫ا‬
‫الموزعة‬ ‫األنظمة‬ ‫انفتاح‬
‫نتحدث؟‬ ‫ماذا‬ ‫عن‬
‫ا‬ ‫البيئة‬ ‫عن‬ ‫النظر‬ ‫بغض‬ ، ‫األخرى‬ ‫المفتوحة‬ ‫األنظمة‬ ‫من‬ ‫الخدمات‬ ‫مع‬ ‫التفاعل‬ ‫على‬ ‫ا‬ً‫قادر‬ ‫كن‬
‫ألساسية‬
:
►
‫ًا‬‫د‬‫جي‬ ‫محددة‬ ‫واجهات‬ ‫مع‬ ‫األنظمة‬ ‫تتوافق‬ ‫أن‬ ‫يجب‬
►
‫بسهولة‬ ‫األنظمة‬ ‫تعمل‬ ‫أن‬ ‫يجب‬
►
‫التطبيقات‬ ‫نقل‬ ‫إمكانية‬ ‫األنظمة‬ ‫تدعم‬ ‫أن‬ ‫يجب‬
►
‫بسهولة‬ ‫للتوسيع‬ ‫قابلة‬ ‫األنظمة‬ ‫تكون‬ ‫أن‬ ‫يجب‬
‫والتوسعة‬ ‫التركيب‬ ‫وقابلية‬ ‫البيني‬ ‫التشغيل‬ ‫قابلية‬ 12 / 56
‫اآللية‬ ‫عن‬ ‫السياسة‬ ‫فصل‬ 13 / 56
Introduction: Design goals ً‫ح‬‫منفت‬ ‫تكون‬ ‫أن‬
‫ا‬
‫اآلليات‬ ‫مقابل‬ ‫السياسات‬
‫االنفتاح‬ ‫تنفيذ‬
:
‫السياسات‬
►
‫ا؟‬ً‫ت‬‫مؤق‬ ‫المخزنة‬ ‫العميل‬ ‫لبيانات‬ ‫نطلبه‬ ‫الذي‬ ‫االتساق‬ ‫مستوى‬ ‫هو‬ ‫ما‬
►
‫تنزيلها؟‬ ‫تم‬ ‫التي‬ ‫البرمجية‬ ‫التعليمات‬ ‫بتنفيذ‬ ‫نسمح‬ ‫التي‬ ‫العمليات‬ ‫هي‬ ‫ما‬
►
‫الترددي‬ ‫النطاق‬ ‫عرض‬ ‫مواجهة‬ ‫في‬ ‫بتعديلها‬ ‫نقوم‬ ‫التي‬ ‫الخدمة‬ ‫جودة‬ ‫متطلبات‬ ‫هي‬ ‫ما‬
‫المتغير؟‬
►
‫للتواصل‬ ‫المطلوب‬ ‫السرية‬ ‫مستوى‬ ‫هو‬ ‫ما‬
‫؟‬
‫االنفتاح‬ ‫تنفيذ‬
:
‫اآلليات‬
►
‫بإعداد‬ ‫السماح‬
(
‫ديناميكي‬
)
‫التخزين‬ ‫لسياسات‬
‫المؤقت‬
►
‫المحمول‬ ‫الهاتف‬ ‫لرمز‬ ‫الثقة‬ ‫من‬ ‫مختلفة‬ ‫مستويات‬ ‫دعم‬
►
‫بيانات‬ ‫تدفق‬ ‫لكل‬ ‫للتعديل‬ ‫القابلة‬ ‫الخدمة‬ ‫جودة‬ ‫معلمات‬ ‫توفير‬
►
‫مختلفة‬ ‫تشفير‬ ‫خوارزميات‬ ‫تقديم‬
Separating policy from mechanism 14 / 56
Introduction: Design goals Being open
‫الصارم‬ ‫الفصل‬ ‫على‬
‫مالحظة‬
، ‫مناسبة‬ ‫آليات‬ ‫ضمان‬ ‫إلى‬ ‫حاجتنا‬ ‫زادت‬ ، ‫واآللية‬ ‫السياسة‬ ‫بين‬ ‫الفصل‬ ‫صرامة‬ ‫زادت‬ ‫كلما‬
‫قد‬ ‫مما‬
‫المعقدة‬ ‫واإلدارة‬ ‫التكوين‬ ‫معلمات‬ ‫من‬ ‫العديد‬ ‫إلى‬ ‫يؤدي‬
.
‫التوازن‬ ‫إيجاد‬
‫ال‬ ‫من‬ ‫أقل‬ ‫بسعر‬ ‫التعقيد‬ ‫من‬ ‫وتقلل‬ ‫اإلدارة‬ ‫الثابت‬ ‫الترميز‬ ‫سياسات‬ ‫تبسط‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬
‫مرونة‬
.
‫واضح‬ ‫حل‬ ‫يوجد‬ ‫ال‬
.
‫وكذلك‬
‫يوجد‬ ‫ال‬
‫منهج‬
‫واضح‬
.
‫التوسع‬ ‫قابلية‬ ‫أبعاد‬ 15 / 56
Introduction: Design goals ‫للتطو‬ ‫قابلة‬ ‫كونها‬
‫ير‬
Scalability dimensions 15 / 56
Introduction: Design goals Being scalable
Scale in distributed systems
Observation
Many developers of modern distributed systems easily use the
adjective “scalable” without making clear why their system actually
scales.
At least three components
►
Number of users and/or processes (size scalability)
►
Maximum distance between nodes (geographical scalability)
►
Number of administrative domains (administrative scalability)
Scalability dimensions 15 / 56
Introduction: Design goals Being scalable
‫الموزعة‬ ‫األنظمة‬ ‫في‬ ‫مقياس‬
‫مالحظة‬
‫صفة‬ ‫الحديثة‬ ‫الموزعة‬ ‫األنظمة‬ ‫مطوري‬ ‫من‬ ‫العديد‬ ‫يستخدم‬
"
‫للتطوير‬ ‫قابلة‬
"
‫تو‬ ‫دون‬ ‫بسهولة‬
‫سبب‬ ‫ضيح‬
‫بالفعل‬ ‫نظامهم‬ ‫توسع‬
.
‫األقل‬ ‫على‬ ‫مكونات‬ ‫ثالثة‬
►
‫و‬ ‫المستخدمين‬ ‫عدد‬
/
‫العمليات‬ ‫أو‬
(
‫بالحجم‬ ‫التوسع‬ ‫قابلية‬
)
►
‫العقد‬ ‫بين‬ ‫مسافة‬ ‫أقصى‬
(
‫الجغرافي‬ ‫التوسع‬ ‫قابلية‬
)
►
‫اإلدارية‬ ‫المجاالت‬ ‫عدد‬
(
‫اإلداري‬ ‫التوسع‬ ‫قابلية‬
)
‫مالحظة‬
‫الحجم‬ ‫في‬ ‫التوسع‬ ‫قابلية‬ ، ‫معين‬ ‫حد‬ ‫إلى‬ ، ‫فقط‬ ‫تراعي‬ ‫األنظمة‬ ‫معظم‬
.
‫الح‬ ‫يكون‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬
‫ل‬
:
‫خوادم‬
‫بالتوازي‬ ‫مستقل‬ ‫بشكل‬ ‫تعمل‬ ‫قوية‬ ‫متعددة‬
.
‫ا‬ ‫التوسع‬ ‫في‬ ‫يكمن‬ ‫التحدي‬ ‫يزال‬ ‫ال‬ ، ‫اليوم‬
‫لجغرافي‬
‫واإلداري‬
.
Scalability dimensions 16 / 56
Introduction: Design goals Being scalable
‫قابلية‬
‫توسع‬
‫الحج‬
‫م‬
‫المركزية‬ ‫الحلول‬ ‫مع‬ ‫التوسع‬ ‫قابلية‬ ‫لمشاكل‬ ‫الجذرية‬ ‫األسباب‬
►
‫المركزية‬ ‫المعالجة‬ ‫وحدات‬ ‫بواسطة‬ ‫محدودة‬ ، ‫الحسابية‬ ‫القدرة‬
►
‫واألقراص‬ ‫المركزية‬ ‫المعالجة‬ ‫وحدات‬ ‫بين‬ ‫النقل‬ ‫معدل‬ ‫ذلك‬ ‫في‬ ‫بما‬ ، ‫التخزين‬ ‫سعة‬
►
‫المركزية‬ ‫والخدمة‬ ‫المستخدم‬ ‫بين‬ ‫الشبكة‬
Introduction: Design goals
Being scalable
‫الرسمي‬ ‫التحليل‬
‫لالصطفاف‬ ‫بسيط‬ ‫كنظام‬ ‫المركزية‬ ‫الخدمة‬ ‫تصميم‬ ‫يمكن‬
‫طابور‬ ‫معالجة‬
‫الطلبات‬ ‫الطلبات‬
‫والترميزات‬ ‫االفتراضات‬
‫محدودة‬ ‫غير‬ ‫سعة‬ ‫ذات‬ ‫االنتظار‬ ‫قائمة‬
-
‫االنتظ‬ ‫قائمة‬ ‫بطول‬ ‫الطلبات‬ ‫وصول‬ ‫معدل‬ ‫يتأثر‬ ‫ال‬
‫الحالية‬ ‫ار‬
‫معالجته‬ ‫تتم‬ ‫ما‬ ‫أو‬
.
►
‫الوصول‬ ‫أسعار‬ ‫طلبات‬
:
λ
►
‫المعالجة‬ ‫سعة‬ ‫خدمة‬
:
µ
‫الثانية‬ ‫في‬ ‫طلبات‬
‫طلبات‬ ‫على‬ ‫يحتوي‬ ‫الذي‬ ‫الوقت‬ ‫من‬ ‫جزء‬
k
‫النظام‬ ‫في‬
pk = 1−
λ
λ
µ
µ
Scalability dimensions 17 / 56
k
Introduction: Design goals Being scalable
‫الرسمي‬ ‫التحليل‬
‫استخدام‬
U
‫الخدمة‬ ‫تستغرقه‬ ‫الذي‬ ‫الوقت‬ ‫جزء‬ ‫هو‬ ‫للخدمة‬
k> 0
∑ k
λ
µ 0
k U =
p = 1−p =
⇒p = (1−U)U k
‫النظام‬ ‫في‬ ‫الطلبات‬ ‫عدد‬ ‫متوسط‬
k≥0
k≥0
k≥0
N = ∑ k ·pk = ∑ k ·(1−U)Uk = (1−U) ∑ k ·Uk =
(1−U)U
=
U
(1−U)2
1−U
‫اإلنتاجية‬ ‫متوسط‬
server at work server idle
Scalability dimensions 18 / 56
λ
µ
X =
U ·µ
+ (1−U) ·0 =
·µ = λ
Introduction: Design goals Being scalable
‫الرسمي‬ ‫التحليل‬
‫االستجابة‬ ‫وقت‬
:
‫التقديم‬ ‫بعد‬ ‫الطلب‬ ‫لمعالجة‬ ‫المستغرق‬ ‫الوقت‬ ‫إجمالي‬
R =
=
‫التوسع‬ ‫قابلية‬ ‫أبعاد‬ 19 / 56
X
1−U
S
⇒
=
N
S
R
1
1−U
‫مع‬
S = 1
‫الخدمة‬ ‫وقت‬ ‫يجري‬
. µ
Observations
►
‫كانت‬ ‫إذا‬
U
‫من‬ ‫يقترب‬ ‫للخدمة‬ ‫االستجابة‬ ‫وقت‬ ‫فإن‬ ، ‫صغيرة‬
1
:
‫على‬ ‫الطلب‬ ‫معالجة‬ ‫تتم‬
‫الفور‬
►
‫ارتفعت‬ ‫إذا‬
U
‫إلى‬
1
‫الطحن‬ ‫عن‬ ‫النظام‬ ‫يتوقف‬ ،
.
‫الحل‬
:
‫تقليل‬
S.
Scalability dimensions 20 / 56
Introduction: Design goals Being scalable
‫الجغرافي‬ ‫التوسع‬ ‫قابلية‬ ‫مشاكل‬
►
‫من‬ ‫ببساطة‬ ‫االنتقال‬ ‫يمكن‬ ‫ال‬
LAN
‫إلى‬
WAN
:
‫تفترض‬
‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫العديد‬
‫والخادم‬ ‫العميل‬ ‫بين‬ ‫متزامنة‬ ‫تفاعالت‬
:
‫إجابة‬ ‫وينتظر‬ ‫ًا‬‫ب‬‫طل‬ ‫العميل‬ ‫يرسل‬
.
‫االنتظ‬
‫ار‬
(
‫الكمون‬
)
‫قد‬
‫المخطط‬ ‫هذا‬ ‫بسهولة‬ ‫يحظر‬
.
►
‫روابط‬ ‫تكون‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬
WAN
‫بطبيعتها‬ ‫موثوقة‬ ‫غير‬
:
‫من‬ ‫المتدفق‬ ‫الفيديو‬ ‫نقل‬ ‫فمجرد‬
LAN
‫إلى‬
WAN
‫يفشل‬ ‫أن‬ ‫بد‬ ‫ال‬
.
►
‫بسيط‬ ‫بحث‬ ‫بث‬ ‫نشر‬ ‫يمكن‬ ‫ال‬ ‫بحيث‬ ، ‫النقاط‬ ‫متعدد‬ ‫اتصال‬ ‫وجود‬ ‫عدم‬
.
‫والدليل‬ ‫للتسمية‬ ‫منفصلة‬ ‫خدمات‬ ‫تطوير‬ ‫هو‬ ‫الحل‬
(
‫الخاص‬ ‫التوسع‬ ‫قابلية‬ ‫مشاكل‬ ‫لها‬
‫بها‬ ‫ة‬
.)
Scalability dimensions 21 / 56
Introduction: Design goals
Being scalable
‫اإلداري‬ ‫التوسع‬ ‫قابلية‬ ‫في‬ ‫مشاكل‬
‫خالصة‬
‫االستخدام‬ ‫بشأن‬ ‫متضاربة‬ ‫سياسات‬
(
‫الدفع‬ ‫وبالتالي‬
)
‫واإلدارة‬
‫واألمان‬
‫أمثلة‬
►
‫الحسابية‬ ‫الشبكات‬
:
‫المختلفة‬ ‫المجاالت‬ ‫بين‬ ‫الثمن‬ ‫باهظة‬ ‫الموارد‬ ‫تقاسم‬
.
►
‫المشتركة‬ ‫المعدات‬
:
‫واس‬ ‫وإدارته‬ ‫مشترك‬ ‫راديو‬ ‫تلسكوب‬ ‫في‬ ‫التحكم‬ ‫كيفية‬
‫تم‬ ‫تخدامه‬
‫النطاق‬ ‫واسعة‬ ‫مشتركة‬ ‫استشعار‬ ‫كشبكة‬ ‫إنشاؤه‬
‫؟‬
‫استثناء‬
:
‫الند‬ ‫شبكات‬ ‫من‬ ‫العديد‬
‫للند‬
‫الملفات‬ ‫مشاركة‬ ‫أنظمة‬
(
‫على‬ ، ‫المثال‬ ‫سبيل‬ ‫على‬ ، ‫تعتمد‬
BitTorrent)
►
‫نظير‬ ‫إلى‬ ‫نظير‬ ‫من‬ ‫الهاتفي‬ ‫االتصال‬
(
‫سكايب‬
)
►
‫األقران‬ ‫بمساعدة‬ ‫الصوت‬ ‫دفق‬
(
‫سبوتيفي‬
)
‫مالحظة‬
:
‫يتعاون‬
‫النهائيون‬ ‫المستخدمون‬
‫وليس‬
‫اإلدارية‬ ‫الكيانات‬
.
Scaling techniques 22 / 56
Introduction: Design goals Being scalable
‫القياس‬ ‫تقنيات‬
‫اختفاء‬ ‫إخفاء‬
‫االتصاالت‬
‫او‬
(
‫إلى‬ ‫الوصول‬ ‫زمن‬ ‫إخفاء‬
‫االتصاالت‬
)
‫غير‬ ‫االتصال‬ ‫من‬ ‫االستفادة‬
‫المتزامن‬
►
‫الواردة‬ ‫لالستجابة‬ ‫منفصل‬ ‫معالج‬ ‫لديك‬
►
‫المشكلة‬
:
‫النموذج‬ ‫هذا‬ ‫يناسب‬ ‫تطبيق‬ ‫كل‬ ‫ليس‬
Scaling techniques 24 / 56
Introduction: Design goals Being scalable
‫القياس‬ ‫تقنيات‬
‫أجهزة‬ ‫عبر‬ ‫والحسابات‬ ‫البيانات‬ ‫تقسيم‬
‫متعددة‬
►
‫العمالء‬ ‫إلى‬ ‫الحسابات‬ ‫نقل‬
(
‫تطبيقات‬
Java
‫الصغيرة‬
)
►
‫الالمركزية‬ ‫التسمية‬ ‫خدمات‬
(
DNS)
►
‫الالمركزية‬ ‫المعلومات‬ ‫نظم‬
(
WWW)
Introduction: Design goals Being scalable
‫تقنيات‬
‫القياس‬
‫العميل‬ ‫إلى‬ ‫الحسابات‬ ‫نقل‬ ‫طريق‬ ‫عن‬ ‫الحل‬ ‫تسهيل‬
M
A
A
R
T
E
N
FIRST NAME
LAST NAME
E-MAIL
MAARTEN
VAN STEEN
MVS@VAN-STEEN.NET
Server
Client
Check form Process form
Server
FIRST NAME
LAST NAME
E-MAIL
Client
Check form Process form
MAARTEN
Scaling techniques 23 / 56
MVS@VAN-STEEN.NET
VAN STEEN
MAARTEN
VAN STEEN
MVS@VAN-STEEN.NET
Scaling techniques 25 / 56
Introduction: Design goals Being scalable
‫القياس‬ ‫تقنيات‬
‫المؤقت‬ ‫والتخزين‬ ‫المتماثل‬ ‫النسخ‬
:
‫أجهزة‬ ‫على‬ ‫البيانات‬ ‫من‬ ‫نسخ‬ ‫بعمل‬ ‫قم‬
‫مختلفة‬
►
‫المنسوخة‬ ‫البيانات‬ ‫وقواعد‬ ‫الملفات‬ ‫خوادم‬
►
‫معكوسة‬ ‫ويب‬ ‫مواقع‬
►
‫الويب‬ ‫ذاكرات‬
(
‫والوكالء‬ ‫المتصفحات‬ ‫في‬
)
►
‫للملفات‬ ‫المؤقت‬ ‫التخزين‬
(
‫والعميل‬ ‫الخادم‬ ‫على‬
)
Scaling techniques 26 / 56
Introduction: Design goals Being scalable
‫التحجيم‬
:
‫المتماثل‬ ‫النسخ‬ ‫مشكلة‬
‫شيء‬ ‫باستثناء‬ ، ‫سهل‬ ‫المتماثل‬ ‫النسخ‬ ‫تطبيق‬
‫واحد‬
►
‫متعددة‬ ‫نسخ‬ ‫وجود‬ ‫يؤدي‬
(
‫منسوخة‬ ‫أو‬ ‫مخبأة‬
)
‫تناقضات‬ ‫إلى‬
:
‫ت‬ ‫يجعل‬ ‫واحدة‬ ‫نسخة‬ ‫تعديل‬
‫لك‬
‫البقية‬ ‫عن‬ ‫مختلفة‬ ‫النسخة‬
.
►
‫تعديل‬ ‫لكل‬ ‫عالمية‬ ‫مزامنة‬ ‫عامة‬ ‫وبطريقة‬ ‫متسقة‬ ‫بنسخ‬ ‫ا‬ً‫م‬‫دائ‬ ‫االحتفاظ‬ ‫يتطلب‬
.
►
‫النطاق‬ ‫واسعة‬ ‫الحلول‬ ‫دون‬ ‫تحول‬ ‫العالمية‬ ‫المزامنة‬
.
‫مالحظة‬
‫ا‬ ‫مع‬ ‫التسامح‬ ‫لكن‬ ، ‫العالمي‬ ‫التزامن‬ ‫إلى‬ ‫الحاجة‬ ‫نقلل‬ ‫فقد‬ ، ‫التناقضات‬ ‫تحمل‬ ‫من‬ ‫تمكنا‬ ‫إذا‬
‫لتناقضات‬
‫التطبيق‬ ‫على‬ ‫يعتمد‬
.
27 / 56
Introduction: Design goals Pitfalls
‫الموزعة‬ ‫األنظمة‬ ‫تطوير‬
:
‫المزالق‬
‫مالحظة‬
‫التص‬ ‫تتطلب‬ ‫التي‬ ‫األخطاء‬ ‫بسبب‬ ‫داع‬ ‫بال‬ ‫معقدة‬ ‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫العديد‬
‫حيح‬
‫ا‬ً‫ق‬‫الح‬
.
‫الخاطئة‬ ‫االفتراضات‬ ‫من‬ ‫العديد‬ ‫عمل‬ ‫يتم‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬
.
‫خاطئة‬ ‫افتراضات‬
(
‫خفية‬ ‫تكون‬ ‫ما‬ ‫ًا‬‫ب‬‫وغال‬
)
►
‫موثوقة‬ ‫الشبكة‬
►
‫آمنة‬ ‫الشبكة‬
►
‫متجانسة‬ ‫الشبكة‬
►
‫يتغير‬ ‫ال‬ ‫الهيكل‬
►
‫صفر‬ ‫الكمون‬
►
‫النهائي‬ ‫الترددي‬ ‫النطاق‬
►
‫صفر‬ ‫النقل‬ ‫تكلفة‬
►
‫واحد‬ ‫مسؤول‬ ‫هناك‬
28 / 56
Introduction: Types of distributed systems
‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫أنواع‬ ‫ثالثة‬
►
‫األداء‬ ‫عالية‬ ‫الموزعة‬ ‫الحوسبة‬ ‫أنظمة‬
►
‫الموزعة‬ ‫المعلومات‬ ‫نظم‬
►
‫المنتشرة‬ ‫للحوسبة‬ ‫موزعة‬ ‫أنظمة‬
Introduction: Types of distributed systems High performance distributed computing
‫المتوازية‬ ‫الحوسبة‬
‫مالحظة‬
‫المتوازية‬ ‫بالحوسبة‬ ‫األداء‬ ‫عالية‬ ‫الموزعة‬ ‫الحوسبة‬ ‫بدأت‬
‫المتعددة‬ ‫الحواسيب‬ ‫مقابل‬ ‫النواة‬ ‫ومتعدد‬ ‫المعالجات‬ ‫متعدد‬
Shared memory
Private memory
Processor
P P
M
M
M
Interconnect
P
P
Memory
29 / 56
M
M
M
M
P
P
P
P
Interconnect
30 / 56
Introduction: Types of distributed systems
High performance distributed computing
‫الموزعة‬ ‫المشتركة‬ ‫الذاكرة‬ ‫أنظمة‬
‫مالحظة‬
‫المتعدد‬ ‫الكمبيوتر‬ ‫بأجهزة‬ ً‫ة‬‫مقارن‬ ‫المتعددة‬ ‫المعالجات‬ ‫برمجة‬ ‫ًا‬‫ي‬‫نسب‬ ‫السهل‬ ‫من‬
‫أنها‬ ‫إال‬ ، ‫ة‬
‫المعالجات‬ ‫عدد‬ ‫زيادة‬ ‫عند‬ ‫مشكالت‬ ‫تواجه‬
(
‫النوى‬ ‫أو‬
.)
‫الحل‬
:
‫ذاكرة‬ ‫نموذج‬ ‫تنفيذ‬ ‫حاول‬
‫متعدد‬ ‫كمبيوتر‬ ‫جهاز‬ ‫أعلى‬ ‫مشتركة‬
.
‫االفتراضية‬ ‫الذاكرة‬ ‫تقنيات‬ ‫خالل‬ ‫من‬ ‫مثال‬
‫الرئيسية‬ ‫الذاكرة‬ ‫صفحات‬ ‫جميع‬ ‫بتعيين‬ ‫قم‬
(
‫مختلفة‬ ‫معالجات‬ ‫من‬
)
‫ع‬ ‫مساحة‬ ‫في‬
‫ظاهري‬ ‫نوان‬
‫واحدة‬
.
‫المعالج‬ ‫في‬ ‫العملية‬ ‫كانت‬ ‫إذا‬
A
‫صفحة‬ ‫تعالج‬
P
‫المعالج‬ ‫في‬ ‫الموجودة‬
B
،
‫نظام‬ ‫فإن‬
‫في‬ ‫التشغيل‬
A
‫بجلب‬ ‫يقوم‬
P
‫من‬
B
،
‫كان‬ ‫لو‬ ‫كما‬ ‫ا‬ً‫م‬‫تما‬
P
‫المحلي‬ ‫القرص‬ ‫على‬ ‫ًا‬‫د‬‫موجو‬
.
‫مشكلة‬
‫المتعدد‬ ‫المعالجات‬ ‫أداء‬ ‫مع‬ ‫الموزعة‬ ‫المشتركة‬ ‫الذاكرة‬ ‫أداء‬ ‫يتنافس‬ ‫أن‬ ‫يمكن‬ ‫ال‬
، ‫ة‬
‫المبرمجين‬ ‫توقعات‬ ‫تلبية‬ ‫في‬ ‫وفشل‬
.
‫ح‬ ‫واسع‬ ‫نطاق‬ ‫على‬ ‫عنها‬ ‫التخلي‬ ‫تم‬
‫اآلن‬ ‫تى‬
.
Introduction: Types of distributed systems
High performance distributed computing
‫العنقودية‬ ‫الحوسبة‬
‫شبكة‬ ‫عبر‬ ‫المتصلة‬ ‫المتطورة‬ ‫األنظمة‬ ‫من‬ ‫مجموعة‬ ‫األساس‬ ‫في‬
LAN
►
‫متجانس‬
:
‫متطابقة‬ ‫شبه‬ ‫أجهزة‬ ، ‫التشغيل‬ ‫نظام‬ ‫نفس‬
►
‫واحدة‬ ‫إدارة‬ ‫عقدة‬
Local OS
Local OS Local OS Local OS
Standard network
Component
of
parallel
application
Component
of
parallel
application
Component
of
parallel
application
Parallel libs
Management
application
High-speed network
Remote access
network
Master node Compute node Compute node Compute node
Cluster computing 31 / 56
Grid computing 32 / 56
Introduction: Types of distributed systems High performance distributed computing
‫الشبكية‬ ‫الحوسبة‬
‫التالية‬ ‫الخطوة‬
:
‫كل‬ ‫من‬ ‫العقد‬ ‫من‬ ‫الكثير‬
‫مكان‬
►
‫متجانسة‬ ‫غير‬
►
‫المنظمات‬ ‫من‬ ‫العديد‬ ‫عبر‬ ‫منتشرة‬
►
‫واسعة‬ ‫شبكة‬ ‫عبر‬ ‫بسهولة‬ ‫تمتد‬ ‫أن‬ ‫يمكن‬
‫النطاق‬
‫ملحوظة‬
‫االفتراضية‬ ‫المنظمات‬ ‫ا‬ً‫م‬‫عمو‬ ‫الشبكات‬ ‫تستخدم‬ ، ‫بالتعاون‬ ‫للسماح‬
.
‫في‬
‫هذه‬ ، ‫األساس‬
‫المستخدمين‬ ‫من‬ ‫مجموعة‬
(
‫أفضل‬ ‫أو‬
:
‫معرفاتهم‬
)
‫ب‬ ‫بالتفويض‬ ‫ستسمح‬ ‫التي‬
‫تخصيص‬
‫الموارد‬
.
Introduction: Types of distributed systems
High performance distributed computing
‫الشبكية‬ ‫للحوسبة‬ ‫المعمارية‬ ‫الهندسة‬
Applications
Collective layer
Fabric layer
Connectivity layer
‫الطبقات‬
Fabric:
‫المحلية‬ ‫للموارد‬ ‫واجهات‬ ‫يوفر‬
(
‫لالستعال‬
‫م‬
‫ذلك‬ ‫إلى‬ ‫وما‬ ، ‫والقفل‬ ، ‫واإلمكانيات‬ ‫الحالة‬ ‫عن‬
)
Grid computing 33 / 56
Connectivity:
:
‫االتصال‬ ‫بروتوكوالت‬
/
، ‫المعامالت‬
‫الموار‬ ‫بين‬ ‫البيانات‬ ‫لنقل‬ ، ‫المثال‬ ‫سبيل‬ ‫على‬
‫د‬
.
‫أيضا‬
‫المختلفة‬ ‫المصادقة‬ ‫بروتوكوالت‬
.
Resource
:
، ‫ًا‬‫د‬‫واح‬ ‫ًا‬‫د‬‫مور‬ ‫يدير‬
‫البيانات‬ ‫قراءة‬ ‫أو‬ ‫العمليات‬ ‫إنشاء‬ ‫مثل‬
.
Collective:
‫يتعامل‬
‫مع‬
‫الوصول‬
‫إلى‬
‫موارد‬
‫متعددة‬
:
‫االكتشاف‬
‫والجدولة‬
‫والنسخ‬
‫المتماثل‬
.
Application:
‫يحتوي‬
‫على‬
‫تطبيقات‬
‫الشبكة‬
‫الفعلية‬
‫في‬
‫من‬
‫ظمة‬
‫واحدة‬
.
Resource layer
Introduction: Types of distributed systems High performance distributed computing
‫سحابية‬ ‫حوسبة‬
Application
Infrastructure
Computation (VM), storage (block, file)
Hardware
Platforms
Software framework (Java/Python/.Net)
Storage (databases)
Infrastructure
aa
Svc
Platform
aa
Svc
Software
aa
Svc
MS Azure
Google App engine
Cloud computing 34 / 56
Amazon S3
Amazon EC2
Datacenters
CPU, memory, disk, bandwidth
Web services, multimedia, business apps
Google docs
Gmail
YouTube, Flickr
Cloud computing 35 / 56
Introduction: Types of distributed systems High performance distributed computing
‫حوسبة‬
‫سحابية‬
‫أربع‬ ‫بين‬ ‫بالتمييز‬ ‫قم‬
‫طبقات‬
►
Hardware:
‫والتبريد‬ ‫الطاقة‬ ‫وأنظمة‬ ‫التوجيه‬ ‫وأجهزة‬ ‫المعالجات‬
.
‫العمال‬ ‫يتمكن‬ ‫ال‬ ‫عادة‬
‫ء‬
‫ًا‬‫د‬‫أب‬ ‫األشياء‬ ‫هذه‬ ‫رؤية‬ ‫من‬
.
►
Infrastructure:
‫االفتراضية‬ ‫المحاكاة‬ ‫تقنيات‬ ‫ينشر‬
.
‫أ‬ ‫وإدارة‬ ‫تخصيص‬ ‫حول‬ ‫يتطور‬
‫جهزة‬
‫االفتراضية‬ ‫والخوادم‬ ‫االفتراضية‬ ‫التخزين‬
.
►
Platform:
:
‫شابه‬ ‫وما‬ ‫للتخزين‬ ‫المستوى‬ ‫عالي‬ ‫ًا‬‫د‬‫تجري‬ ‫يوفر‬
.
‫مثال‬
:
‫الت‬ ‫نظام‬ ‫يوفر‬
‫خزين‬
Amazon S3
‫للملفات‬ ‫تطبيقات‬ ‫برمجة‬ ‫واجهة‬
(
‫ًا‬‫ي‬‫محل‬ ‫المنشأة‬
)
‫وتخز‬ ‫تنظيمها‬ ‫ليتم‬
‫ما‬ ‫في‬ ‫ينها‬
‫الحاويات‬ ‫يسمى‬
.
►
Application:
‫المكاتب‬ ‫مجموعات‬ ‫مثل‬ ، ‫الفعلية‬ ‫التطبيقات‬
(
‫وتط‬ ‫النصوص‬ ‫معالجات‬
‫بيقات‬
‫التقديمية‬ ‫العروض‬ ‫وتطبيقات‬ ‫البيانات‬ ‫جداول‬
.)
‫التطبيق‬ ‫بمجموعة‬ ‫مقارنته‬ ‫يمكن‬
‫المشحونة‬ ‫ات‬
‫تشغيل‬ ‫بأنظمة‬
.
Introduction: Types of distributed systems Distributed information systems
‫دمج‬
‫التطبيقات‬
Situation
‫موقف‬
‫ا‬ ‫إمكانية‬ ‫تحقيق‬ ‫لكن‬ ، ‫بالشبكة‬ ‫المتصلة‬ ‫التطبيقات‬ ‫من‬ ‫العديد‬ ‫المنظمات‬ ‫واجهت‬
‫البيني‬ ‫لتشغيل‬
‫ا‬ً‫م‬‫مؤل‬ ‫ا‬ً‫أمر‬ ‫كان‬
.
Basic approach
‫النهج‬
‫األساسي‬ ‫الطريق‬ ‫او‬
‫على‬ ‫تشغيلها‬ ‫يتم‬ ‫التي‬ ‫التطبيقات‬ ‫أحد‬ ‫هو‬ ‫بالشبكة‬ ‫المرتبط‬ ‫التطبيق‬
‫خادم‬
‫ي‬ ‫مما‬
‫خدماته‬ ‫جعل‬
‫البعيدين‬ ‫للعمالء‬ ‫متاحة‬
.
‫بسيط‬ ‫تكامل‬
:
‫يجمع‬
‫العمالء‬
‫تطبيقات‬ ‫طلبات‬
(
‫مختلفة‬
)
‫ذلك‬ ‫أرسل‬ ‫؛‬
‫للمستخدم‬ ‫متماسكة‬ ‫نتيجة‬ ‫وتقديم‬ ‫الردود‬ ‫جمع‬
.
Next step
‫التالية‬ ‫الخطوة‬
‫تطب‬ ‫تكامل‬ ‫إلى‬ ‫يؤدي‬ ‫مما‬ ، ‫والتطبيق‬ ‫التطبيق‬ ‫بين‬ ‫المباشر‬ ‫باالتصال‬ ‫السماح‬
‫المؤسسة‬ ‫يقات‬
.
42 / 56
Introduction: Types of distributed systems Distributed information systems
‫مثال‬
EAI:
‫حركات‬ ‫معامالت‬
(
‫متداخلة‬
)
Primitive (
‫بدائي‬
) Description (
‫وصف‬
)
BEGIN TRANSACTION ‫المعاملة‬ ‫بداية‬ ‫على‬ ‫عالمة‬ ‫ضع‬
END TRANSACTION ‫االلتزام‬ ‫ومحاولة‬ ‫المعاملة‬ ‫بإنهاء‬ ‫قم‬
ABORT TRANSACTION ‫القديمة‬ ‫القيم‬ ‫واستعادة‬ ‫الصفقة‬ ‫قتل‬
READ ‫ذلك‬ ‫غير‬ ‫أو‬ ‫جدول‬ ‫أو‬ ‫ملف‬ ‫من‬ ‫البيانات‬ ‫اقرأ‬
WRITE ‫ذلك‬ ‫غير‬ ‫أو‬ ‫جدول‬ ‫أو‬ ‫ملف‬ ‫في‬ ‫البيانات‬ ‫اكتب‬
Airline database Hotel database
Issue: all-or-nothing
Nested transaction
Subtransaction
Subtransaction
Two different (independent) databases
Distributed transaction processing 43 / 56
► ‫الذري‬
:
‫للتجزئة‬ ‫قابل‬ ‫غير‬ ‫بشكل‬ ‫يحدث‬
(
‫يبدو‬ ‫ما‬ ‫على‬
)
► ‫متسقة‬
:
‫النظام‬ ‫ثوابت‬ ‫تنتهك‬ ‫ال‬
► ‫منعزلة‬
:
‫متبادل‬ ‫تدخل‬ ‫ال‬
► ‫دائم‬
:
‫دائمة‬ ‫التغييرات‬ ‫أن‬ ‫يعني‬ ‫االلتزام‬
Introduction: Types of distributed systems Distributed information systems
TPM:
‫المعامالت‬ ‫معالجة‬ ‫مراقب‬
Server
Server
Server
Client
application
Requests
Reply
Request
Request
Reply
TP monitor
Request
Reply
Reply
Transaction
‫مالحظة‬
‫عبر‬ ‫المعاملة‬ ‫في‬ ‫المتضمنة‬ ‫البيانات‬ ‫توزيع‬ ‫يتم‬ ، ‫الحاالت‬ ‫من‬ ‫كثير‬ ‫في‬
‫خوادم‬ ‫عدة‬
.
‫يعتبر‬
TP Monitor
‫المعاملة‬ ‫تنفيذ‬ ‫تنسيق‬ ‫عن‬ ً‫ال‬‫مسؤو‬
.
Distributed transaction processing 44 / 56
Introduction: Types of distributed systems Distributed information systems
‫و‬ ‫الوسيطة‬
EAI
Server-side
application
Server-side
application
Server-side
application
Client
application
Client
application
Communication middleware
Enterprise application integration 45 / 56
‫اتصال‬ ‫تسهيالت‬ ‫الوسيطة‬ ‫البرامج‬ ‫تقدم‬
‫للتكامل‬
‫البعيد‬ ‫اإلجراء‬ ‫استدعاء‬
RPC):
)
‫إرسال‬ ‫يتم‬
‫ويتم‬ ، ‫المحلي‬ ‫اإلجراء‬ ‫استدعاء‬ ‫خالل‬ ‫من‬ ‫الطلبات‬
‫إ‬ ‫تم‬ ‫التي‬ ‫والنتيجة‬ ، ‫الرسالة‬ ‫خالل‬ ‫من‬ ‫عليها‬ ‫والرد‬ ، ‫ومعالجتها‬ ، ‫كرسالة‬ ‫حزم‬ ‫في‬ ‫وضعها‬
‫رجاعها‬
‫المكالمة‬ ‫من‬ ‫كعودة‬
.
‫الرسائل‬ ‫نحو‬ ‫الموجهة‬ ‫الوسيطة‬ ‫البرامج‬
MOM):
)
‫يتم‬
‫االتصال‬ ‫نقطة‬ ‫إلى‬ ‫الرسائل‬ ‫إرسال‬
‫المنطقية‬
(
‫المنشورة‬
)
‫فيها‬ ‫االشتراك‬ ‫تم‬ ‫التي‬ ‫التطبيقات‬ ‫إلى‬ ‫توجيهها‬ ‫وإعادة‬ ،
.
Enterprise application integration 46 / 56
Introduction: Types of distributed systems Distributed information systems
‫التطبيقات‬ ‫دمج‬ ‫كيفية‬
‫الملفات‬ ‫نقل‬
:
‫مرن‬ ‫غير‬ ‫لكنه‬ ، ‫ًا‬‫ي‬‫تقن‬ ‫بسيط‬
:
►
‫وتخطيطه‬ ‫الملف‬ ‫تنسيق‬ ‫اكتشف‬
►
‫الملفات‬ ‫إدارة‬ ‫اكتشف‬
►
‫وتحديث‬ ، ‫النشر‬ ‫تحديث‬
‫اإلخطارات‬
‫المشتركة‬ ‫البيانات‬ ‫قاعدة‬
:
‫ب‬ ‫ا‬ً‫ك‬‫مشتر‬ ‫بيانات‬ ‫مخطط‬ ‫تتطلب‬ ‫تزال‬ ‫ال‬ ‫لكنها‬ ، ‫مرونة‬ ‫أكثر‬
‫خطر‬ ‫جانب‬
‫االختناق‬
.
‫بعد‬ ‫عن‬ ‫اإلجراء‬ ‫استدعاء‬
:
‫اإلجراءات‬ ‫من‬ ‫سلسلة‬ ‫تنفيذ‬ ‫إلى‬ ‫الحاجة‬ ‫عند‬ ‫فعال‬
.
‫المراسلة‬
:
‫تتطلب‬
RPCs
‫الوقت‬ ‫نفس‬ ‫في‬ ‫والمستدعى‬ ‫المتصل‬ ‫تشغيل‬
.
‫ب‬ ‫المراسلة‬ ‫تسمح‬
‫فصل‬
‫والمكان‬ ‫الزمان‬
.
47 / 56
Introduction: Types of distributed systems Pervasive systems
Distributed pervasive systems
Observation
Emerging next-generation of distributed systems in which nodes are
small, mobile, and often embedded in a larger system, characterized
by the fact that the system naturally blends into the user’s environment.
Three (overlapping) subtypes
47 / 56
Introduction: Types of distributed systems Pervasive systems
47 / 56
Introduction: Types of distributed systems Pervasive systems
47 / 56
Introduction: Types of distributed systems Pervasive systems
‫الموزعة‬ ‫المنتشرة‬ ‫األنظمة‬
‫مالحظة‬
‫ومتن‬ ‫صغيرة‬ ‫العقد‬ ‫فيها‬ ‫تكون‬ ‫التي‬ ‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫التالي‬ ‫الجيل‬ ‫ظهور‬
‫ًا‬‫ب‬‫وغال‬ ‫قلة‬
‫طبي‬ ‫بشكل‬ ‫يندمج‬ ‫النظام‬ ‫أن‬ ‫بحقيقة‬ ‫يتميز‬ ، ‫أكبر‬ ‫نظام‬ ‫في‬ ‫مدمجة‬ ‫تكون‬ ‫ما‬
‫بيئة‬ ‫في‬ ‫عي‬
‫المستخدم‬
.
‫فرعية‬ ‫أنواع‬ ‫ثالثة‬
(
‫متداخلة‬
)
►
‫مكان‬ ‫كل‬ ‫في‬ ‫الحوسبة‬ ‫أنظمة‬
:
‫ال‬ ‫بين‬ ‫مستمر‬ ‫تفاعل‬ ‫هناك‬ ‫أن‬ ‫أي‬ ، ‫ومستمرة‬ ‫منتشرة‬
‫نظام‬
‫والمستخدم‬
.
.
►
‫المتنقلة‬ ‫الحوسبة‬ ‫أنظمة‬
:
‫محمو‬ ‫األجهزة‬ ‫أن‬ ‫حقيقة‬ ‫على‬ ‫ينصب‬ ‫التركيز‬ ‫لكن‬ ، ‫منتشرة‬
‫لة‬
‫بطبيعتها‬
.
►
‫االستشعار‬ ‫شبكات‬
(
‫والمشغل‬
:)
‫الفعلي‬ ‫االستشعار‬ ‫على‬ ‫التركيز‬ ‫مع‬ ، ‫منتشرة‬
(
‫الت‬
‫عاوني‬
)
‫البيئة‬ ‫وتشغيل‬
.
Introduction: Types of distributed systems Pervasive systems
‫مكان‬ ‫كل‬ ‫في‬ ‫أنظمة‬
‫المركزية‬ ‫العناصر‬
.1
(
‫التوزيع‬
)
‫شفافة‬ ‫بطريقة‬ ‫إليها‬ ‫والوصول‬ ‫وتوزيعها‬ ‫بالشبكة‬ ‫األجهزة‬ ‫توصيل‬ ‫يتم‬
.2
(
‫تفاعل‬
)
‫للغاية‬ ‫مزعج‬ ‫غير‬ ‫واألجهزة‬ ‫المستخدمين‬ ‫بين‬ ‫التفاعل‬
.3
(
‫بالسياق‬ ‫الوعي‬
)
‫التفاعل‬ ‫تحسين‬ ‫أجل‬ ‫من‬ ‫المستخدم‬ ‫سياق‬ ‫النظام‬ ‫يدرك‬
.4
(
‫االستقاللية‬
)
‫ذا‬ ‫مدارة‬ ‫فهي‬ ‫وبالتالي‬ ، ‫بشري‬ ‫تدخل‬ ‫دون‬ ‫مستقل‬ ‫بشكل‬ ‫األجهزة‬ ‫تعمل‬
‫بدرجة‬ ‫ًا‬‫ي‬‫ت‬
‫عالية‬
.5
(
‫الذكاء‬
)
‫الدينامي‬ ‫والتفاعالت‬ ‫اإلجراءات‬ ‫من‬ ‫واسعة‬ ‫مجموعة‬ ‫مع‬ ‫التعامل‬ ‫ككل‬ ‫للنظام‬ ‫يمكن‬
‫كية‬
Ubiquitous computing systems 48 / 56
Mobile computing systems 49 / 56
Introduction: Types of distributed systems Pervasive systems
‫المتنقلة‬ ‫الحوسبة‬
‫المميزة‬ ‫السمات‬
►
‫المختلفة‬ ‫المحمولة‬ ‫األجهزة‬ ‫من‬ ‫يحصى‬ ‫ال‬ ‫عدد‬
(
، ‫اللوحية‬ ‫واألجهزة‬ ، ‫الذكية‬ ‫الهواتف‬
‫وأجهزة‬
GPS
،
‫النشطة‬ ‫والشارات‬ ، ‫بعد‬ ‫عن‬ ‫التحكم‬ ‫وأجهزة‬
.
►
‫الوقت‬ ‫بمرور‬ ‫الجهاز‬ ‫موقع‬ ‫يتغير‬ ‫أن‬ ‫المتوقع‬ ‫من‬ ‫أنه‬ ‫إلى‬ ‫ال‬ ّ‫الجو‬ ‫يشير‬
-
‫الخ‬ ‫تغيير‬
‫المحلية‬ ‫دمات‬
‫ذلك‬ ‫إلى‬ ‫وما‬ ، ‫الوصول‬ ‫وإمكانية‬ ،
.
‫الرئيسية‬ ‫الكلمة‬
:
‫اكتشاف‬
.
►
‫صعوبة‬ ‫أكثر‬ ‫االتصال‬ ‫يصبح‬ ‫قد‬
:
‫اتصال‬ ‫يوجد‬ ‫ال‬ ‫ربما‬ ‫ولكن‬ ، ‫مستقر‬ ‫طريق‬ ‫يوجد‬ ‫ال‬
‫مضمون‬
-
‫التعطيل‬ ‫مع‬ ‫متسامحة‬ ‫شبكات‬
.
Mobile computing systems 50 / 56
Introduction: Types of distributed systems
Pervasive systems
‫التنقل‬ ‫أنماط‬
‫مشكلة‬
‫األساسية‬ ‫الفكرة‬ ‫اإلنسان؟‬ ‫وتنقل‬ ‫المعلومات‬ ‫نشر‬ ‫بين‬ ‫العالقة‬ ‫هي‬ ‫ما‬
:
‫بتبادل‬ ‫يسمح‬ ‫اللقاء‬
‫المعلومات‬
(
‫بالجيب‬ ‫التبديل‬ ‫شبكات‬
.)
‫ناجحة‬ ‫استراتيجية‬
►
‫وغرباء‬ ‫أصدقاء‬ ‫من‬ ‫أليس‬ ‫عالم‬ ‫يتكون‬
.
►
‫بوب‬ ‫إلى‬ ‫رسالة‬ ‫توصيل‬ ‫أليس‬ ‫أرادت‬ ‫إذا‬
:
‫أصدقائها‬ ‫جميع‬ ‫إلى‬ ‫سلمها‬
►
‫لقاء‬ ‫أول‬ ‫في‬ ‫بوب‬ ‫إلى‬ ‫الرسالة‬ ‫بتمرير‬ ‫الصديق‬ ‫يقوم‬
‫مالحظة‬
‫هذه‬ ‫تعمل‬
‫اإلستراتيجية‬
‫ألنه‬
(
‫يبدو‬ ‫ما‬ ‫على‬
)
‫ن‬ ‫مغلقة‬ ‫أصدقاء‬ ‫مجتمعات‬ ‫توجد‬
‫ًا‬‫ي‬‫سب‬
.
Mobile computing systems 51 / 56
Introduction: Types of distributed systems Pervasive systems
Community detection
Issue
How to detect your community without having global knowledge?
Gradually build your list
1. Node i maintains familiar set Fi and community set Ci , initially
both empty.
|Fj |
2. Node i adds j to Ci when
|Fj ∩Ci|
> λ
3. Merge two communities when |Ci ∩Cj |> γ|Ci ∪Cj |
Experiments show that λ = γ = 0.6 is good.
Introduction: Types of distributed systems Pervasive systems
How mobile are people?
Experimental results
Tracing 100,000 cell-phone users during six months leads to:
5
10 50 100
10
-4
Mobile computing systems 52 / 56
10 -6
1
10
-2
500 1000
Displacement
Probability
Moreover: people tend to return to the same place after 24, 48, or 72
hours ⇒ we’re not that mobile.
Sensor networks 53 / 56
Introduction: Types of distributed systems Pervasive systems
Sensor networks
Characteristics
The nodes to which sensors are attached are:
►
Many (10s-1000s)
►
Simple (small memory/compute/communication capacity)
►
Often battery-powered (or even battery-less)
Introduction: Types of distributed systems Pervasive systems
‫موزعة‬ ‫بيانات‬ ‫كقواعد‬ ‫االستشعار‬ ‫شبكات‬
‫ان‬‫ض‬‫نقي‬
Sensor network
Operator's site
Operator's site
Query
Sensor networks 54 / 56
Sensor network
Sensors
send only
answers
Sensor data
is sent directly
to operator
Each sensor
can process and
store data
Sensor networks 55 / 56
Introduction: Types of distributed systems Pervasive systems
Duty-cycled networks
Issue
Many sensor networks need to operate on a strict energy budget:
introduce duty cycles
Definition
A node is active during Tactive time units, and then suspended for
Tsuspended units, to become active again. Duty cycle τ:
τ =
Tactive
Tactive + Tsuspended
Typical duty cycles are 10−30%, but can also be lower than 1%.
Sensor networks 56 / 56
Introduction: Types of distributed systems
Pervasive systems
Keeping duty-cycled networks in sync
Issue
If duty cycles are low, sensor nodes may not wake up at the same time
anymore and become permanently disconnected: they are active
during different, nonoverlapping time slots.
Solution
►
Each node A adopts a cluster ID CA, being a number.
►
Let a node send a join message during its suspended period.
►
When A receives a join message from B and CA < CB, it sends a
join message to its neighbors (in cluster CA) before joining B.
►
When CA > CB it sends a join message to B during B’s active
period.
Note
Once a join message reaches a whole cluster, merging two clusters is
very fast. Merging means: re-adjust clocks.

More Related Content

Similar to غمدان 1 مترجم.pptx

lmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلات
lmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلاتlmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلات
lmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلاتahmedibraheemme
 
التطبيقات السحابية
التطبيقات السحابيةالتطبيقات السحابية
التطبيقات السحابيةk1h2
 
الحوسبةالسحابية
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابيةMamoun Matar
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية1k11k1
 
Software Engineering 2018
Software Engineering 2018Software Engineering 2018
Software Engineering 2018Joud Khattab
 
Ccent اساسيات الشبكات من شركة سيسكو
Ccent اساسيات الشبكات من شركة سيسكوCcent اساسيات الشبكات من شركة سيسكو
Ccent اساسيات الشبكات من شركة سيسكوMustafa Sadiq
 
أمن الويب
أمن الويب أمن الويب
أمن الويب Nouha Hamami
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابيةMamoun Matar
 
الحوسبه السحابيه
الحوسبه السحابيهالحوسبه السحابيه
الحوسبه السحابيهLavender Rose
 
مقدمة في الشبكات
مقدمة في الشبكاتمقدمة في الشبكات
مقدمة في الشبكاتMostafa Gawdat
 
الوحده الثانية الدرس 1
الوحده الثانية الدرس 1الوحده الثانية الدرس 1
الوحده الثانية الدرس 1Hazem Saleh
 
مقدمة في الشبكات
مقدمة في الشبكاتمقدمة في الشبكات
مقدمة في الشبكاتMostafa Gawdat
 
مقدمة في الشبكات
مقدمة في الشبكاتمقدمة في الشبكات
مقدمة في الشبكاتguest9e217f
 
الحوسبة السحابية
الحوسبة السحابية الحوسبة السحابية
الحوسبة السحابية Noura Abd alaziz
 
نماذج النشر السحابي.pdf
نماذج النشر السحابي.pdfنماذج النشر السحابي.pdf
نماذج النشر السحابي.pdfBahaa Al Zubaidi
 

Similar to غمدان 1 مترجم.pptx (20)

lmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلات
lmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلاتlmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلات
lmhdr_lthlth_0Network Castingمكونات الشبكة وانواع الكابلات
 
التطبيقات السحابية
التطبيقات السحابيةالتطبيقات السحابية
التطبيقات السحابية
 
الحوسبةالسحابية
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابية
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية
 
Software Engineering 2018
Software Engineering 2018Software Engineering 2018
Software Engineering 2018
 
Towards secure SDNs
Towards secure SDNsTowards secure SDNs
Towards secure SDNs
 
Ccent اساسيات الشبكات من شركة سيسكو
Ccent اساسيات الشبكات من شركة سيسكوCcent اساسيات الشبكات من شركة سيسكو
Ccent اساسيات الشبكات من شركة سيسكو
 
أمن الويب
أمن الويب أمن الويب
أمن الويب
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية
 
الحوسبه السحابيه
الحوسبه السحابيهالحوسبه السحابيه
الحوسبه السحابيه
 
مقدمة في الشبكات
مقدمة في الشبكاتمقدمة في الشبكات
مقدمة في الشبكات
 
Z39.50
Z39.50Z39.50
Z39.50
 
الوحده الثانية الدرس 1
الوحده الثانية الدرس 1الوحده الثانية الدرس 1
الوحده الثانية الدرس 1
 
مقدمة في الشبكات
مقدمة في الشبكاتمقدمة في الشبكات
مقدمة في الشبكات
 
مقدمة في الشبكات
مقدمة في الشبكاتمقدمة في الشبكات
مقدمة في الشبكات
 
Osi layers
Osi layersOsi layers
Osi layers
 
PC
PCPC
PC
 
الحوسبة السحابية
الحوسبة السحابية الحوسبة السحابية
الحوسبة السحابية
 
نماذج النشر السحابي.pdf
نماذج النشر السحابي.pdfنماذج النشر السحابي.pdf
نماذج النشر السحابي.pdf
 
نظام التشغيل
نظام التشغيلنظام التشغيل
نظام التشغيل
 

غمدان 1 مترجم.pptx

  • 1. ‫الموزعة‬ ‫االنظمة‬ ( ‫الثالث‬ ‫اإلصدار‬ ) ‫األول‬ ‫الفصل‬ : ‫مقدمة‬ ‫اإلصدار‬ : 20 ‫مارس‬ 2022
  • 2. 2 / 56 ‫مقدمة‬ : ‫الموزع؟‬ ‫النظام‬ ‫هو‬ ‫ما‬ ‫الموزعة‬ ‫االنظمة‬ ‫تعريف‬ : ‫ك‬ ‫لمستخدميها‬ ‫تظهر‬ ‫التي‬ ‫المستقلة‬ ‫الحوسبة‬ ‫عناصر‬ ‫من‬ ‫مجموعة‬ ‫عن‬ ‫عبارة‬ ‫الموزع‬ ‫النظام‬ ‫نظام‬ ‫متماسك‬ ‫واحد‬ . ‫المميزة‬ ‫السمات‬ : • ‫أ‬ ‫أجهزة‬ ‫كانت‬ ‫سواء‬ ، ‫العقد‬ ‫باسم‬ ‫ًا‬‫ض‬‫أي‬ ‫إليها‬ ‫يشار‬ ‫والتي‬ ، ‫الذاتية‬ ‫الحوسبة‬ ‫عناصر‬ ‫عمليات‬ ‫و‬ ‫برمجية‬ . • ‫متماسك‬ ‫واحد‬ ‫نظام‬ : ‫الت‬ ‫إلى‬ ‫يحتاج‬ ‫ًا‬‫د‬‫واح‬ ‫ا‬ً‫م‬‫نظا‬ ‫أن‬ ‫التطبيقات‬ ‫أو‬ ‫المستخدمون‬ ‫يدرك‬ ‫عاون‬ .
  • 3. 3 / 56 ‫مقدمة‬ : ‫الخاصية‬ ‫الموزع؟‬ ‫النظام‬ ‫هو‬ ‫ما‬ 1 : ‫المستقلة‬ ‫الحوسبة‬ ‫عناصر‬ ‫من‬ ‫مجموعة‬ ‫المستقلة‬ ‫العقد‬ ‫من‬ ‫مجموعة‬ ‫المستقل‬ ‫السلوك‬ : ‫الوقت‬ ‫عن‬ ‫الخاص‬ ‫مفهومها‬ ‫لها‬ ‫سيكون‬ ‫وبالتالي‬ ‫مستقلة‬ ‫عقدة‬ ‫كل‬ : ‫عالمية‬ ‫ساعة‬ ‫توجد‬ ‫ال‬ . ‫يؤدي‬ ‫األساسية‬ ‫والتنسيق‬ ‫التزامن‬ ‫مشاكل‬ ‫إلى‬ . ‫العقد‬ ‫مجموعة‬ : ‫المجموعة؟‬ ‫عضوية‬ ‫تدير‬ ‫كيف‬ ‫عضو‬ ‫مع‬ ‫بالفعل‬ ‫تتواصل‬ ‫أنك‬ ‫تعرف‬ ‫كيف‬ ( ‫غير‬ ) ‫له؟‬ ‫مصرح‬
  • 4. 4 / 56 Introduction: What is a distributed system? ‫الخاصية‬ 1 : ‫المستقلة‬ ‫الحوسبة‬ ‫عناصر‬ ‫من‬ ‫مجموعة‬ ‫منظمة‬ ‫الشبكة‬ ‫تراكب‬ ‫جيرانها‬ ، ‫النظام‬ ‫في‬ ‫األخرى‬ ‫بالعقد‬ ‫فقط‬ ‫تتصل‬ ‫المجموعة‬ ‫في‬ ‫عقدة‬ ‫كل‬ . ‫قد‬ ‫فقط‬ ‫ًا‬‫ي‬‫ضمن‬ ‫معروفة‬ ‫تكون‬ ‫قد‬ ‫أو‬ ، ‫ديناميكية‬ ‫الجيران‬ ‫مجموعة‬ ‫تكون‬ ( ‫ا‬ً‫ث‬‫بح‬ ‫تتطلب‬ ‫أي‬ .) ‫التراكب‬ ‫أنواع‬ ‫التراكب‬ ‫لشبكات‬ ‫معروف‬ ‫مثال‬ : ‫نظير‬ ‫إلى‬ ‫نظير‬ ‫أنظمة‬ . ‫منظمة‬ : ‫معهم‬ ‫التواصل‬ ‫يمكنها‬ ‫الذين‬ ‫الجيران‬ ‫من‬ ‫ًا‬‫د‬‫جي‬ ‫محددة‬ ‫مجموعة‬ ‫على‬ ‫عقدة‬ ‫كل‬ ‫تحتوي‬ ( ‫ش‬ ‫جرة‬ ‫حلقة‬ ، .) ‫منظمة‬ ‫غير‬ : ‫النظام‬ ‫من‬ ‫ًا‬‫ي‬‫عشوائ‬ ‫اختيارها‬ ‫تم‬ ‫أخرى‬ ‫عقد‬ ‫إلى‬ ‫إشارات‬ ‫على‬ ‫عقدة‬ ‫كل‬ ‫تحتوي‬ .
  • 5. 5 / 56 Introduction: What is a distributed system? ‫الخاصية‬ 2 : ‫متماسك‬ ‫واحد‬ ‫نظام‬ ‫متماسك‬ ‫نظام‬ ‫جوهر‬ : ‫ب‬ ‫التفاعل‬ ‫وكيفية‬ ‫وزمان‬ ‫مكان‬ ‫عن‬ ‫النظر‬ ‫بغض‬ ، ‫الطريقة‬ ‫بنفس‬ ‫ككل‬ ‫العقد‬ ‫مجموعة‬ ‫تعمل‬ ‫ين‬ ‫والنظام‬ ‫المستخدم‬ . ‫أمثلة‬ : ► ‫الحساب‬ ‫إجراء‬ ‫مكان‬ ‫معرفة‬ ‫النهائي‬ ‫للمستخدم‬ ‫يمكن‬ ‫ال‬ ► ‫بالتطبيق‬ ‫صلة‬ ‫ذات‬ ‫غير‬ ‫بالضبط‬ ‫المخزنة‬ ‫البيانات‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫حيث‬ ► ‫ال‬ ‫أم‬ ‫البيانات‬ ‫نسخ‬ ‫تم‬ ‫إذا‬ ، ‫يتم‬ ‫ا‬ً‫م‬‫تما‬ ‫إخفاءها‬ ‫الرئيسية‬ ‫الكلمة‬ ( ‫الشفافية‬ ‫في‬ ‫التوزيع‬ ) ( ‫العقبة‬ ‫المشكلة‬ ) : ‫جزئية‬ ‫إخفاقات‬ : ‫الموزع‬ ‫النظام‬ ‫من‬ ‫فقط‬ ‫جزء‬ ‫يفشل‬ ‫وقت‬ ‫أي‬ ‫في‬ ‫أنه‬ ‫المحتم‬ ‫من‬ . ‫إ‬ ‫ويستحيل‬ ‫للغاية‬ ‫ًا‬‫ب‬‫صع‬ ‫ا‬ً‫أمر‬ ‫واستعادتها‬ ‫الجزئية‬ ‫اإلخفاقات‬ ‫إخفاء‬ ‫يكون‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬ ‫عام‬ ‫بشكل‬ ‫خفاءه‬ .
  • 6. Introduction: What is a distributed system? ‫الموزعة‬ ‫واألنظمة‬ ‫الوسيطة‬ ‫البرامج‬ ‫الوسيطة‬ ‫البرامج‬ : ‫الموزعة‬ ‫األنظمة‬ ‫تشغيل‬ ‫نظام‬ Local OS 1 Local OS 2 Local OS 3 Local OS 4 Appl. A Application B Appl. C ‫الموزع‬ ‫النظام‬ ‫طبقة‬ ( ‫الوسيطة‬ ‫البرمجيات‬ ) Computer 3 Computer 4 ‫مكان‬ ‫كل‬ ‫في‬ ‫الواجهة‬ ‫نفس‬ Computer 1 Computer 2 Network 6 / 56 ‫تحتوي؟‬ ‫ماذا‬ ‫ا‬ ‫بواسطة‬ ‫تنفيذها‬ ‫إلى‬ ‫تحتاج‬ ‫ال‬ ‫والتي‬ ‫االستخدام‬ ‫شائعة‬ ‫والوظائف‬ ‫المكونات‬ ‫لتطبيقات‬ ‫منفصل‬ ‫بشكل‬ .
  • 7. 7 / 56 ‫مقدمة‬ : ‫التصميم‬ ‫أهداف‬ ‫نحقق؟‬ ‫ان‬ ‫نريد‬ ‫ماذا‬ ► ‫الموارد‬ ‫تقاسم‬ ‫دعم‬ ► ‫التوزيع‬ ‫شفافية‬ ► ‫االنفتاح‬ ► ‫التوسع‬ ‫قابلية‬
  • 8. 8 / 56 Introduction: Design goals ‫الموارد‬ ‫تقاسم‬ ‫دعم‬ ‫الموارد‬ ‫تقاسم‬ ‫عليها‬ ‫متعارف‬ ‫أمثلة‬ ► ‫السحابة‬ ‫إلى‬ ‫المستندة‬ ‫المشتركة‬ ‫والملفات‬ ‫التخزين‬ ► ‫نظير‬ ‫إلى‬ ‫نظير‬ ‫بمساعدة‬ ‫المتعددة‬ ‫الوسائط‬ ‫دفق‬ ► ‫المشتركة‬ ‫البريد‬ ‫خدمات‬ ( ‫الخارجية‬ ‫البريد‬ ‫أنظمة‬ ‫في‬ ‫فكر‬ ) ► ‫المشتركة‬ ‫المواقع‬ ‫استضافة‬ ( ‫المحتوى‬ ‫توزيع‬ ‫شبكات‬ ‫في‬ ‫فكر‬ ) ‫مالحظة‬ " ‫الكمبيوتر‬ ‫هي‬ ‫الشبكة‬ " ( ‫من‬ ‫اقتباس‬ John Gage ، ‫في‬ ‫ثم‬ Sun Microsystems)
  • 9. Types of distribution transparency 9 / 56 Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬ ‫التوزيع‬ ‫شفافية‬ ‫أنواع‬ ‫الشفافية‬ ‫وصف‬ ‫الوصول‬ ‫إل‬ ‫الوصول‬ ‫وكيفية‬ ‫البيانات‬ ‫تمثيل‬ ‫في‬ ‫االختالفات‬ ‫إخفاء‬ ‫كائن‬ ‫ى‬ ‫موقع‬ ‫الكائن‬ ‫موقع‬ ‫إخفاء‬ ‫نقل‬ ‫االستخدام‬ ‫أثناء‬ ‫آخر‬ ‫مكان‬ ‫إلى‬ ‫كائن‬ ‫نقل‬ ‫يتم‬ ‫قد‬ ‫أنه‬ ‫إخفاء‬ ‫الترحيل‬ ‫آخر‬ ‫مكان‬ ‫إلى‬ ‫ينتقل‬ ‫قد‬ ‫الكائن‬ ‫أن‬ ‫إخفاء‬ ‫تكرار‬ ‫نسخه‬ ‫يتم‬ ‫الكائن‬ ‫أن‬ ‫إخفاء‬ ‫التزامن‬ ‫مستق‬ ‫مستخدمين‬ ‫عدة‬ ‫قبل‬ ‫من‬ ‫مشاركته‬ ‫يمكن‬ ‫ما‬ ‫ا‬ً‫ن‬‫كائ‬ ‫أن‬ ‫إخفاء‬ ‫لين‬ ‫فشل‬ ‫الكائن‬ ‫واستعادة‬ ‫الفشل‬ ‫إخفاء‬
  • 10. ‫التوزيع‬ ‫شفافية‬ ‫درجة‬ 10 / 56 Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬ ‫الشفافية‬ ‫درجة‬ ‫مالحظة‬ ‫الالزم‬ ‫من‬ ‫أكثر‬ ‫الكاملة‬ ‫التوزيع‬ ‫شفافية‬ ‫من‬ ‫الهدف‬ ‫يكون‬ ‫قد‬ :
  • 11. Degree of distribution transparency 10 / 56 Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬ Degree of transparency Observation Aiming at full distribution transparency may be too much: ► There are communication latencies that cannot be hidden
  • 12. Degree of distribution transparency 10 / 56 Introduction: Design goals Making distribution transparent Degree of transparency Observation Aiming at full distribution transparency may be too much: ► There are communication latencies that cannot be hidden ► Completely hiding failures of networks and nodes is (theoretically and practically) impossible ► You cannot distinguish a slow computer from a failing one ► You can never be sure that a server actually performed an operation before a crash
  • 13. ‫التوزيع‬ ‫شفافية‬ ‫درجة‬ 10 / 56 Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬ ‫الشفافية‬ ‫درجة‬ ‫مالحظة‬ ‫الالزم‬ ‫من‬ ‫أكثر‬ ‫الكاملة‬ ‫التوزيع‬ ‫شفافية‬ ‫من‬ ‫الهدف‬ ‫يكون‬ ‫قد‬ : ► ‫إخفاؤها‬ ‫يمكن‬ ‫ال‬ ‫لالتصاالت‬ ‫اختفاء‬ ‫هناك‬ ► ‫مستحيل‬ ‫أمر‬ ‫ا‬ً‫م‬‫تما‬ ‫والعقد‬ ‫الشبكات‬ ‫فشل‬ ‫إخفاء‬ ( ‫ًا‬‫ي‬‫وعمل‬ ‫ًا‬‫ي‬‫نظر‬ ) ► ‫الفاشل‬ ‫والكمبيوتر‬ ‫البطيء‬ ‫الكمبيوتر‬ ‫بين‬ ‫التمييز‬ ‫يمكنك‬ ‫ال‬ ► ‫عطل‬ ‫حدوث‬ ‫قبل‬ ‫عملية‬ ‫بالفعل‬ ‫أجرى‬ ‫قد‬ ‫الخادم‬ ‫أن‬ ‫من‬ ‫التأكد‬ ‫ًا‬‫د‬‫أب‬ ‫يمكنك‬ ‫ال‬ ► ‫النظام‬ ‫توزيع‬ ‫وفضح‬ ، ‫األداء‬ ‫ستكلف‬ ‫الكاملة‬ ‫الشفافية‬ ► ‫ا‬ً‫ت‬‫وق‬ ‫الرئيسي‬ ‫اإلصدار‬ ‫مع‬ ‫ا‬ً‫م‬‫تما‬ ‫محدثة‬ ‫المتماثلة‬ ‫بالنسخ‬ ‫االحتفاظ‬ ‫يستغرق‬ ► ‫الخطأ‬ ‫مع‬ ‫للتسامح‬ ‫ا‬ً‫فور‬ ‫القرص‬ ‫على‬ ‫الكتابة‬ ‫عمليات‬ ‫مسح‬
  • 14. Degree of distribution transparency 11 / 56 Introduction: Design goals ‫ا‬ً‫ف‬‫شفا‬ ‫التوزيع‬ ‫جعل‬ Degree of transparency Exposing distribution may be good ► Making use of location-based services (finding your nearby friends) ► When dealing with users in different time zones ► When it makes it easier for a user to understand what’s going on (when e.g., a server does not respond for a long time, report it as failing).
  • 15. Degree of distribution transparency 11 / 56 Introduction: Design goals Making distribution transparent ‫الشفافية‬ ‫درجة‬ ‫التوزيع‬ ‫يكون‬ ‫قد‬ ‫ًا‬‫د‬‫جي‬ ‫المكشوف‬ ► ‫االستفادة‬ ‫من‬ ‫الخدمات‬ ‫القائمة‬ ‫على‬ ‫الموقع‬ ( ‫إيجاد‬ ‫األصدقاء‬ ‫القريبين‬ ‫منك‬ ) ► ‫عند‬ ‫التعامل‬ ‫مع‬ ‫مستخدمين‬ ‫في‬ ‫مناطق‬ ‫زمنية‬ ‫مختلفة‬ ► ‫عندما‬ ‫يسهل‬ ‫على‬ ‫المستخدم‬ ‫فهم‬ ‫ما‬ ‫يجري‬ ( ‫على‬ ‫سبيل‬ ‫المثال‬ ، ‫ال‬ ‫يستجيب‬ ‫ا‬ ‫لخادم‬ ‫لفترة‬ ‫طويلة‬ ، ‫أبلغ‬ ‫عن‬ ‫ذلك‬ ‫على‬ ‫أنه‬ ‫فاشل‬ ) . ‫استنتاج‬ ‫ا‬ ‫من‬ ‫كثير‬ ‫في‬ ‫ينبغي‬ ‫وال‬ ، ‫مختلفة‬ ‫قصة‬ ‫تحقيقه‬ ‫لكن‬ ، ‫جميل‬ ‫هدف‬ ‫هي‬ ‫التوزيع‬ ‫شفافية‬ ‫ألحيان‬ ‫استهدافها‬ .
  • 16. Introduction: Design goals ً‫ح‬‫منفت‬ ‫تكون‬ ‫أن‬ ‫ا‬ ‫الموزعة‬ ‫األنظمة‬ ‫انفتاح‬ ‫نتحدث؟‬ ‫ماذا‬ ‫عن‬ ‫ا‬ ‫البيئة‬ ‫عن‬ ‫النظر‬ ‫بغض‬ ، ‫األخرى‬ ‫المفتوحة‬ ‫األنظمة‬ ‫من‬ ‫الخدمات‬ ‫مع‬ ‫التفاعل‬ ‫على‬ ‫ا‬ً‫قادر‬ ‫كن‬ ‫ألساسية‬ : ► ‫ًا‬‫د‬‫جي‬ ‫محددة‬ ‫واجهات‬ ‫مع‬ ‫األنظمة‬ ‫تتوافق‬ ‫أن‬ ‫يجب‬ ► ‫بسهولة‬ ‫األنظمة‬ ‫تعمل‬ ‫أن‬ ‫يجب‬ ► ‫التطبيقات‬ ‫نقل‬ ‫إمكانية‬ ‫األنظمة‬ ‫تدعم‬ ‫أن‬ ‫يجب‬ ► ‫بسهولة‬ ‫للتوسيع‬ ‫قابلة‬ ‫األنظمة‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫والتوسعة‬ ‫التركيب‬ ‫وقابلية‬ ‫البيني‬ ‫التشغيل‬ ‫قابلية‬ 12 / 56
  • 17. ‫اآللية‬ ‫عن‬ ‫السياسة‬ ‫فصل‬ 13 / 56 Introduction: Design goals ً‫ح‬‫منفت‬ ‫تكون‬ ‫أن‬ ‫ا‬ ‫اآلليات‬ ‫مقابل‬ ‫السياسات‬ ‫االنفتاح‬ ‫تنفيذ‬ : ‫السياسات‬ ► ‫ا؟‬ً‫ت‬‫مؤق‬ ‫المخزنة‬ ‫العميل‬ ‫لبيانات‬ ‫نطلبه‬ ‫الذي‬ ‫االتساق‬ ‫مستوى‬ ‫هو‬ ‫ما‬ ► ‫تنزيلها؟‬ ‫تم‬ ‫التي‬ ‫البرمجية‬ ‫التعليمات‬ ‫بتنفيذ‬ ‫نسمح‬ ‫التي‬ ‫العمليات‬ ‫هي‬ ‫ما‬ ► ‫الترددي‬ ‫النطاق‬ ‫عرض‬ ‫مواجهة‬ ‫في‬ ‫بتعديلها‬ ‫نقوم‬ ‫التي‬ ‫الخدمة‬ ‫جودة‬ ‫متطلبات‬ ‫هي‬ ‫ما‬ ‫المتغير؟‬ ► ‫للتواصل‬ ‫المطلوب‬ ‫السرية‬ ‫مستوى‬ ‫هو‬ ‫ما‬ ‫؟‬ ‫االنفتاح‬ ‫تنفيذ‬ : ‫اآلليات‬ ► ‫بإعداد‬ ‫السماح‬ ( ‫ديناميكي‬ ) ‫التخزين‬ ‫لسياسات‬ ‫المؤقت‬ ► ‫المحمول‬ ‫الهاتف‬ ‫لرمز‬ ‫الثقة‬ ‫من‬ ‫مختلفة‬ ‫مستويات‬ ‫دعم‬ ► ‫بيانات‬ ‫تدفق‬ ‫لكل‬ ‫للتعديل‬ ‫القابلة‬ ‫الخدمة‬ ‫جودة‬ ‫معلمات‬ ‫توفير‬ ► ‫مختلفة‬ ‫تشفير‬ ‫خوارزميات‬ ‫تقديم‬
  • 18. Separating policy from mechanism 14 / 56 Introduction: Design goals Being open ‫الصارم‬ ‫الفصل‬ ‫على‬ ‫مالحظة‬ ، ‫مناسبة‬ ‫آليات‬ ‫ضمان‬ ‫إلى‬ ‫حاجتنا‬ ‫زادت‬ ، ‫واآللية‬ ‫السياسة‬ ‫بين‬ ‫الفصل‬ ‫صرامة‬ ‫زادت‬ ‫كلما‬ ‫قد‬ ‫مما‬ ‫المعقدة‬ ‫واإلدارة‬ ‫التكوين‬ ‫معلمات‬ ‫من‬ ‫العديد‬ ‫إلى‬ ‫يؤدي‬ . ‫التوازن‬ ‫إيجاد‬ ‫ال‬ ‫من‬ ‫أقل‬ ‫بسعر‬ ‫التعقيد‬ ‫من‬ ‫وتقلل‬ ‫اإلدارة‬ ‫الثابت‬ ‫الترميز‬ ‫سياسات‬ ‫تبسط‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬ ‫مرونة‬ . ‫واضح‬ ‫حل‬ ‫يوجد‬ ‫ال‬ . ‫وكذلك‬ ‫يوجد‬ ‫ال‬ ‫منهج‬ ‫واضح‬ .
  • 19. ‫التوسع‬ ‫قابلية‬ ‫أبعاد‬ 15 / 56 Introduction: Design goals ‫للتطو‬ ‫قابلة‬ ‫كونها‬ ‫ير‬
  • 20. Scalability dimensions 15 / 56 Introduction: Design goals Being scalable Scale in distributed systems Observation Many developers of modern distributed systems easily use the adjective “scalable” without making clear why their system actually scales. At least three components ► Number of users and/or processes (size scalability) ► Maximum distance between nodes (geographical scalability) ► Number of administrative domains (administrative scalability)
  • 21. Scalability dimensions 15 / 56 Introduction: Design goals Being scalable ‫الموزعة‬ ‫األنظمة‬ ‫في‬ ‫مقياس‬ ‫مالحظة‬ ‫صفة‬ ‫الحديثة‬ ‫الموزعة‬ ‫األنظمة‬ ‫مطوري‬ ‫من‬ ‫العديد‬ ‫يستخدم‬ " ‫للتطوير‬ ‫قابلة‬ " ‫تو‬ ‫دون‬ ‫بسهولة‬ ‫سبب‬ ‫ضيح‬ ‫بالفعل‬ ‫نظامهم‬ ‫توسع‬ . ‫األقل‬ ‫على‬ ‫مكونات‬ ‫ثالثة‬ ► ‫و‬ ‫المستخدمين‬ ‫عدد‬ / ‫العمليات‬ ‫أو‬ ( ‫بالحجم‬ ‫التوسع‬ ‫قابلية‬ ) ► ‫العقد‬ ‫بين‬ ‫مسافة‬ ‫أقصى‬ ( ‫الجغرافي‬ ‫التوسع‬ ‫قابلية‬ ) ► ‫اإلدارية‬ ‫المجاالت‬ ‫عدد‬ ( ‫اإلداري‬ ‫التوسع‬ ‫قابلية‬ ) ‫مالحظة‬ ‫الحجم‬ ‫في‬ ‫التوسع‬ ‫قابلية‬ ، ‫معين‬ ‫حد‬ ‫إلى‬ ، ‫فقط‬ ‫تراعي‬ ‫األنظمة‬ ‫معظم‬ . ‫الح‬ ‫يكون‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬ ‫ل‬ : ‫خوادم‬ ‫بالتوازي‬ ‫مستقل‬ ‫بشكل‬ ‫تعمل‬ ‫قوية‬ ‫متعددة‬ . ‫ا‬ ‫التوسع‬ ‫في‬ ‫يكمن‬ ‫التحدي‬ ‫يزال‬ ‫ال‬ ، ‫اليوم‬ ‫لجغرافي‬ ‫واإلداري‬ .
  • 22. Scalability dimensions 16 / 56 Introduction: Design goals Being scalable ‫قابلية‬ ‫توسع‬ ‫الحج‬ ‫م‬ ‫المركزية‬ ‫الحلول‬ ‫مع‬ ‫التوسع‬ ‫قابلية‬ ‫لمشاكل‬ ‫الجذرية‬ ‫األسباب‬ ► ‫المركزية‬ ‫المعالجة‬ ‫وحدات‬ ‫بواسطة‬ ‫محدودة‬ ، ‫الحسابية‬ ‫القدرة‬ ► ‫واألقراص‬ ‫المركزية‬ ‫المعالجة‬ ‫وحدات‬ ‫بين‬ ‫النقل‬ ‫معدل‬ ‫ذلك‬ ‫في‬ ‫بما‬ ، ‫التخزين‬ ‫سعة‬ ► ‫المركزية‬ ‫والخدمة‬ ‫المستخدم‬ ‫بين‬ ‫الشبكة‬
  • 23. Introduction: Design goals Being scalable ‫الرسمي‬ ‫التحليل‬ ‫لالصطفاف‬ ‫بسيط‬ ‫كنظام‬ ‫المركزية‬ ‫الخدمة‬ ‫تصميم‬ ‫يمكن‬ ‫طابور‬ ‫معالجة‬ ‫الطلبات‬ ‫الطلبات‬ ‫والترميزات‬ ‫االفتراضات‬ ‫محدودة‬ ‫غير‬ ‫سعة‬ ‫ذات‬ ‫االنتظار‬ ‫قائمة‬ - ‫االنتظ‬ ‫قائمة‬ ‫بطول‬ ‫الطلبات‬ ‫وصول‬ ‫معدل‬ ‫يتأثر‬ ‫ال‬ ‫الحالية‬ ‫ار‬ ‫معالجته‬ ‫تتم‬ ‫ما‬ ‫أو‬ . ► ‫الوصول‬ ‫أسعار‬ ‫طلبات‬ : λ ► ‫المعالجة‬ ‫سعة‬ ‫خدمة‬ : µ ‫الثانية‬ ‫في‬ ‫طلبات‬ ‫طلبات‬ ‫على‬ ‫يحتوي‬ ‫الذي‬ ‫الوقت‬ ‫من‬ ‫جزء‬ k ‫النظام‬ ‫في‬ pk = 1− λ λ µ µ Scalability dimensions 17 / 56 k
  • 24. Introduction: Design goals Being scalable ‫الرسمي‬ ‫التحليل‬ ‫استخدام‬ U ‫الخدمة‬ ‫تستغرقه‬ ‫الذي‬ ‫الوقت‬ ‫جزء‬ ‫هو‬ ‫للخدمة‬ k> 0 ∑ k λ µ 0 k U = p = 1−p = ⇒p = (1−U)U k ‫النظام‬ ‫في‬ ‫الطلبات‬ ‫عدد‬ ‫متوسط‬ k≥0 k≥0 k≥0 N = ∑ k ·pk = ∑ k ·(1−U)Uk = (1−U) ∑ k ·Uk = (1−U)U = U (1−U)2 1−U ‫اإلنتاجية‬ ‫متوسط‬ server at work server idle Scalability dimensions 18 / 56 λ µ X = U ·µ + (1−U) ·0 = ·µ = λ
  • 25. Introduction: Design goals Being scalable ‫الرسمي‬ ‫التحليل‬ ‫االستجابة‬ ‫وقت‬ : ‫التقديم‬ ‫بعد‬ ‫الطلب‬ ‫لمعالجة‬ ‫المستغرق‬ ‫الوقت‬ ‫إجمالي‬ R = = ‫التوسع‬ ‫قابلية‬ ‫أبعاد‬ 19 / 56 X 1−U S ⇒ = N S R 1 1−U ‫مع‬ S = 1 ‫الخدمة‬ ‫وقت‬ ‫يجري‬ . µ Observations ► ‫كانت‬ ‫إذا‬ U ‫من‬ ‫يقترب‬ ‫للخدمة‬ ‫االستجابة‬ ‫وقت‬ ‫فإن‬ ، ‫صغيرة‬ 1 : ‫على‬ ‫الطلب‬ ‫معالجة‬ ‫تتم‬ ‫الفور‬ ► ‫ارتفعت‬ ‫إذا‬ U ‫إلى‬ 1 ‫الطحن‬ ‫عن‬ ‫النظام‬ ‫يتوقف‬ ، . ‫الحل‬ : ‫تقليل‬ S.
  • 26. Scalability dimensions 20 / 56 Introduction: Design goals Being scalable ‫الجغرافي‬ ‫التوسع‬ ‫قابلية‬ ‫مشاكل‬ ► ‫من‬ ‫ببساطة‬ ‫االنتقال‬ ‫يمكن‬ ‫ال‬ LAN ‫إلى‬ WAN : ‫تفترض‬ ‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫العديد‬ ‫والخادم‬ ‫العميل‬ ‫بين‬ ‫متزامنة‬ ‫تفاعالت‬ : ‫إجابة‬ ‫وينتظر‬ ‫ًا‬‫ب‬‫طل‬ ‫العميل‬ ‫يرسل‬ . ‫االنتظ‬ ‫ار‬ ( ‫الكمون‬ ) ‫قد‬ ‫المخطط‬ ‫هذا‬ ‫بسهولة‬ ‫يحظر‬ . ► ‫روابط‬ ‫تكون‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬ WAN ‫بطبيعتها‬ ‫موثوقة‬ ‫غير‬ : ‫من‬ ‫المتدفق‬ ‫الفيديو‬ ‫نقل‬ ‫فمجرد‬ LAN ‫إلى‬ WAN ‫يفشل‬ ‫أن‬ ‫بد‬ ‫ال‬ . ► ‫بسيط‬ ‫بحث‬ ‫بث‬ ‫نشر‬ ‫يمكن‬ ‫ال‬ ‫بحيث‬ ، ‫النقاط‬ ‫متعدد‬ ‫اتصال‬ ‫وجود‬ ‫عدم‬ . ‫والدليل‬ ‫للتسمية‬ ‫منفصلة‬ ‫خدمات‬ ‫تطوير‬ ‫هو‬ ‫الحل‬ ( ‫الخاص‬ ‫التوسع‬ ‫قابلية‬ ‫مشاكل‬ ‫لها‬ ‫بها‬ ‫ة‬ .)
  • 27. Scalability dimensions 21 / 56 Introduction: Design goals Being scalable ‫اإلداري‬ ‫التوسع‬ ‫قابلية‬ ‫في‬ ‫مشاكل‬ ‫خالصة‬ ‫االستخدام‬ ‫بشأن‬ ‫متضاربة‬ ‫سياسات‬ ( ‫الدفع‬ ‫وبالتالي‬ ) ‫واإلدارة‬ ‫واألمان‬ ‫أمثلة‬ ► ‫الحسابية‬ ‫الشبكات‬ : ‫المختلفة‬ ‫المجاالت‬ ‫بين‬ ‫الثمن‬ ‫باهظة‬ ‫الموارد‬ ‫تقاسم‬ . ► ‫المشتركة‬ ‫المعدات‬ : ‫واس‬ ‫وإدارته‬ ‫مشترك‬ ‫راديو‬ ‫تلسكوب‬ ‫في‬ ‫التحكم‬ ‫كيفية‬ ‫تم‬ ‫تخدامه‬ ‫النطاق‬ ‫واسعة‬ ‫مشتركة‬ ‫استشعار‬ ‫كشبكة‬ ‫إنشاؤه‬ ‫؟‬ ‫استثناء‬ : ‫الند‬ ‫شبكات‬ ‫من‬ ‫العديد‬ ‫للند‬ ‫الملفات‬ ‫مشاركة‬ ‫أنظمة‬ ( ‫على‬ ، ‫المثال‬ ‫سبيل‬ ‫على‬ ، ‫تعتمد‬ BitTorrent) ► ‫نظير‬ ‫إلى‬ ‫نظير‬ ‫من‬ ‫الهاتفي‬ ‫االتصال‬ ( ‫سكايب‬ ) ► ‫األقران‬ ‫بمساعدة‬ ‫الصوت‬ ‫دفق‬ ( ‫سبوتيفي‬ ) ‫مالحظة‬ : ‫يتعاون‬ ‫النهائيون‬ ‫المستخدمون‬ ‫وليس‬ ‫اإلدارية‬ ‫الكيانات‬ .
  • 28. Scaling techniques 22 / 56 Introduction: Design goals Being scalable ‫القياس‬ ‫تقنيات‬ ‫اختفاء‬ ‫إخفاء‬ ‫االتصاالت‬ ‫او‬ ( ‫إلى‬ ‫الوصول‬ ‫زمن‬ ‫إخفاء‬ ‫االتصاالت‬ ) ‫غير‬ ‫االتصال‬ ‫من‬ ‫االستفادة‬ ‫المتزامن‬ ► ‫الواردة‬ ‫لالستجابة‬ ‫منفصل‬ ‫معالج‬ ‫لديك‬ ► ‫المشكلة‬ : ‫النموذج‬ ‫هذا‬ ‫يناسب‬ ‫تطبيق‬ ‫كل‬ ‫ليس‬
  • 29. Scaling techniques 24 / 56 Introduction: Design goals Being scalable ‫القياس‬ ‫تقنيات‬ ‫أجهزة‬ ‫عبر‬ ‫والحسابات‬ ‫البيانات‬ ‫تقسيم‬ ‫متعددة‬ ► ‫العمالء‬ ‫إلى‬ ‫الحسابات‬ ‫نقل‬ ( ‫تطبيقات‬ Java ‫الصغيرة‬ ) ► ‫الالمركزية‬ ‫التسمية‬ ‫خدمات‬ ( DNS) ► ‫الالمركزية‬ ‫المعلومات‬ ‫نظم‬ ( WWW)
  • 30. Introduction: Design goals Being scalable ‫تقنيات‬ ‫القياس‬ ‫العميل‬ ‫إلى‬ ‫الحسابات‬ ‫نقل‬ ‫طريق‬ ‫عن‬ ‫الحل‬ ‫تسهيل‬ M A A R T E N FIRST NAME LAST NAME E-MAIL MAARTEN VAN STEEN MVS@VAN-STEEN.NET Server Client Check form Process form Server FIRST NAME LAST NAME E-MAIL Client Check form Process form MAARTEN Scaling techniques 23 / 56 MVS@VAN-STEEN.NET VAN STEEN MAARTEN VAN STEEN MVS@VAN-STEEN.NET
  • 31. Scaling techniques 25 / 56 Introduction: Design goals Being scalable ‫القياس‬ ‫تقنيات‬ ‫المؤقت‬ ‫والتخزين‬ ‫المتماثل‬ ‫النسخ‬ : ‫أجهزة‬ ‫على‬ ‫البيانات‬ ‫من‬ ‫نسخ‬ ‫بعمل‬ ‫قم‬ ‫مختلفة‬ ► ‫المنسوخة‬ ‫البيانات‬ ‫وقواعد‬ ‫الملفات‬ ‫خوادم‬ ► ‫معكوسة‬ ‫ويب‬ ‫مواقع‬ ► ‫الويب‬ ‫ذاكرات‬ ( ‫والوكالء‬ ‫المتصفحات‬ ‫في‬ ) ► ‫للملفات‬ ‫المؤقت‬ ‫التخزين‬ ( ‫والعميل‬ ‫الخادم‬ ‫على‬ )
  • 32. Scaling techniques 26 / 56 Introduction: Design goals Being scalable ‫التحجيم‬ : ‫المتماثل‬ ‫النسخ‬ ‫مشكلة‬ ‫شيء‬ ‫باستثناء‬ ، ‫سهل‬ ‫المتماثل‬ ‫النسخ‬ ‫تطبيق‬ ‫واحد‬ ► ‫متعددة‬ ‫نسخ‬ ‫وجود‬ ‫يؤدي‬ ( ‫منسوخة‬ ‫أو‬ ‫مخبأة‬ ) ‫تناقضات‬ ‫إلى‬ : ‫ت‬ ‫يجعل‬ ‫واحدة‬ ‫نسخة‬ ‫تعديل‬ ‫لك‬ ‫البقية‬ ‫عن‬ ‫مختلفة‬ ‫النسخة‬ . ► ‫تعديل‬ ‫لكل‬ ‫عالمية‬ ‫مزامنة‬ ‫عامة‬ ‫وبطريقة‬ ‫متسقة‬ ‫بنسخ‬ ‫ا‬ً‫م‬‫دائ‬ ‫االحتفاظ‬ ‫يتطلب‬ . ► ‫النطاق‬ ‫واسعة‬ ‫الحلول‬ ‫دون‬ ‫تحول‬ ‫العالمية‬ ‫المزامنة‬ . ‫مالحظة‬ ‫ا‬ ‫مع‬ ‫التسامح‬ ‫لكن‬ ، ‫العالمي‬ ‫التزامن‬ ‫إلى‬ ‫الحاجة‬ ‫نقلل‬ ‫فقد‬ ، ‫التناقضات‬ ‫تحمل‬ ‫من‬ ‫تمكنا‬ ‫إذا‬ ‫لتناقضات‬ ‫التطبيق‬ ‫على‬ ‫يعتمد‬ .
  • 33. 27 / 56 Introduction: Design goals Pitfalls ‫الموزعة‬ ‫األنظمة‬ ‫تطوير‬ : ‫المزالق‬ ‫مالحظة‬ ‫التص‬ ‫تتطلب‬ ‫التي‬ ‫األخطاء‬ ‫بسبب‬ ‫داع‬ ‫بال‬ ‫معقدة‬ ‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫العديد‬ ‫حيح‬ ‫ا‬ً‫ق‬‫الح‬ . ‫الخاطئة‬ ‫االفتراضات‬ ‫من‬ ‫العديد‬ ‫عمل‬ ‫يتم‬ ‫ما‬ ‫ًا‬‫ب‬‫غال‬ . ‫خاطئة‬ ‫افتراضات‬ ( ‫خفية‬ ‫تكون‬ ‫ما‬ ‫ًا‬‫ب‬‫وغال‬ ) ► ‫موثوقة‬ ‫الشبكة‬ ► ‫آمنة‬ ‫الشبكة‬ ► ‫متجانسة‬ ‫الشبكة‬ ► ‫يتغير‬ ‫ال‬ ‫الهيكل‬ ► ‫صفر‬ ‫الكمون‬ ► ‫النهائي‬ ‫الترددي‬ ‫النطاق‬ ► ‫صفر‬ ‫النقل‬ ‫تكلفة‬ ► ‫واحد‬ ‫مسؤول‬ ‫هناك‬
  • 34. 28 / 56 Introduction: Types of distributed systems ‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫أنواع‬ ‫ثالثة‬ ► ‫األداء‬ ‫عالية‬ ‫الموزعة‬ ‫الحوسبة‬ ‫أنظمة‬ ► ‫الموزعة‬ ‫المعلومات‬ ‫نظم‬ ► ‫المنتشرة‬ ‫للحوسبة‬ ‫موزعة‬ ‫أنظمة‬
  • 35. Introduction: Types of distributed systems High performance distributed computing ‫المتوازية‬ ‫الحوسبة‬ ‫مالحظة‬ ‫المتوازية‬ ‫بالحوسبة‬ ‫األداء‬ ‫عالية‬ ‫الموزعة‬ ‫الحوسبة‬ ‫بدأت‬ ‫المتعددة‬ ‫الحواسيب‬ ‫مقابل‬ ‫النواة‬ ‫ومتعدد‬ ‫المعالجات‬ ‫متعدد‬ Shared memory Private memory Processor P P M M M Interconnect P P Memory 29 / 56 M M M M P P P P Interconnect
  • 36. 30 / 56 Introduction: Types of distributed systems High performance distributed computing ‫الموزعة‬ ‫المشتركة‬ ‫الذاكرة‬ ‫أنظمة‬ ‫مالحظة‬ ‫المتعدد‬ ‫الكمبيوتر‬ ‫بأجهزة‬ ً‫ة‬‫مقارن‬ ‫المتعددة‬ ‫المعالجات‬ ‫برمجة‬ ‫ًا‬‫ي‬‫نسب‬ ‫السهل‬ ‫من‬ ‫أنها‬ ‫إال‬ ، ‫ة‬ ‫المعالجات‬ ‫عدد‬ ‫زيادة‬ ‫عند‬ ‫مشكالت‬ ‫تواجه‬ ( ‫النوى‬ ‫أو‬ .) ‫الحل‬ : ‫ذاكرة‬ ‫نموذج‬ ‫تنفيذ‬ ‫حاول‬ ‫متعدد‬ ‫كمبيوتر‬ ‫جهاز‬ ‫أعلى‬ ‫مشتركة‬ . ‫االفتراضية‬ ‫الذاكرة‬ ‫تقنيات‬ ‫خالل‬ ‫من‬ ‫مثال‬ ‫الرئيسية‬ ‫الذاكرة‬ ‫صفحات‬ ‫جميع‬ ‫بتعيين‬ ‫قم‬ ( ‫مختلفة‬ ‫معالجات‬ ‫من‬ ) ‫ع‬ ‫مساحة‬ ‫في‬ ‫ظاهري‬ ‫نوان‬ ‫واحدة‬ . ‫المعالج‬ ‫في‬ ‫العملية‬ ‫كانت‬ ‫إذا‬ A ‫صفحة‬ ‫تعالج‬ P ‫المعالج‬ ‫في‬ ‫الموجودة‬ B ، ‫نظام‬ ‫فإن‬ ‫في‬ ‫التشغيل‬ A ‫بجلب‬ ‫يقوم‬ P ‫من‬ B ، ‫كان‬ ‫لو‬ ‫كما‬ ‫ا‬ً‫م‬‫تما‬ P ‫المحلي‬ ‫القرص‬ ‫على‬ ‫ًا‬‫د‬‫موجو‬ . ‫مشكلة‬ ‫المتعدد‬ ‫المعالجات‬ ‫أداء‬ ‫مع‬ ‫الموزعة‬ ‫المشتركة‬ ‫الذاكرة‬ ‫أداء‬ ‫يتنافس‬ ‫أن‬ ‫يمكن‬ ‫ال‬ ، ‫ة‬ ‫المبرمجين‬ ‫توقعات‬ ‫تلبية‬ ‫في‬ ‫وفشل‬ . ‫ح‬ ‫واسع‬ ‫نطاق‬ ‫على‬ ‫عنها‬ ‫التخلي‬ ‫تم‬ ‫اآلن‬ ‫تى‬ .
  • 37. Introduction: Types of distributed systems High performance distributed computing ‫العنقودية‬ ‫الحوسبة‬ ‫شبكة‬ ‫عبر‬ ‫المتصلة‬ ‫المتطورة‬ ‫األنظمة‬ ‫من‬ ‫مجموعة‬ ‫األساس‬ ‫في‬ LAN ► ‫متجانس‬ : ‫متطابقة‬ ‫شبه‬ ‫أجهزة‬ ، ‫التشغيل‬ ‫نظام‬ ‫نفس‬ ► ‫واحدة‬ ‫إدارة‬ ‫عقدة‬ Local OS Local OS Local OS Local OS Standard network Component of parallel application Component of parallel application Component of parallel application Parallel libs Management application High-speed network Remote access network Master node Compute node Compute node Compute node Cluster computing 31 / 56
  • 38. Grid computing 32 / 56 Introduction: Types of distributed systems High performance distributed computing ‫الشبكية‬ ‫الحوسبة‬ ‫التالية‬ ‫الخطوة‬ : ‫كل‬ ‫من‬ ‫العقد‬ ‫من‬ ‫الكثير‬ ‫مكان‬ ► ‫متجانسة‬ ‫غير‬ ► ‫المنظمات‬ ‫من‬ ‫العديد‬ ‫عبر‬ ‫منتشرة‬ ► ‫واسعة‬ ‫شبكة‬ ‫عبر‬ ‫بسهولة‬ ‫تمتد‬ ‫أن‬ ‫يمكن‬ ‫النطاق‬ ‫ملحوظة‬ ‫االفتراضية‬ ‫المنظمات‬ ‫ا‬ً‫م‬‫عمو‬ ‫الشبكات‬ ‫تستخدم‬ ، ‫بالتعاون‬ ‫للسماح‬ . ‫في‬ ‫هذه‬ ، ‫األساس‬ ‫المستخدمين‬ ‫من‬ ‫مجموعة‬ ( ‫أفضل‬ ‫أو‬ : ‫معرفاتهم‬ ) ‫ب‬ ‫بالتفويض‬ ‫ستسمح‬ ‫التي‬ ‫تخصيص‬ ‫الموارد‬ .
  • 39. Introduction: Types of distributed systems High performance distributed computing ‫الشبكية‬ ‫للحوسبة‬ ‫المعمارية‬ ‫الهندسة‬ Applications Collective layer Fabric layer Connectivity layer ‫الطبقات‬ Fabric: ‫المحلية‬ ‫للموارد‬ ‫واجهات‬ ‫يوفر‬ ( ‫لالستعال‬ ‫م‬ ‫ذلك‬ ‫إلى‬ ‫وما‬ ، ‫والقفل‬ ، ‫واإلمكانيات‬ ‫الحالة‬ ‫عن‬ ) Grid computing 33 / 56 Connectivity: : ‫االتصال‬ ‫بروتوكوالت‬ / ، ‫المعامالت‬ ‫الموار‬ ‫بين‬ ‫البيانات‬ ‫لنقل‬ ، ‫المثال‬ ‫سبيل‬ ‫على‬ ‫د‬ . ‫أيضا‬ ‫المختلفة‬ ‫المصادقة‬ ‫بروتوكوالت‬ . Resource : ، ‫ًا‬‫د‬‫واح‬ ‫ًا‬‫د‬‫مور‬ ‫يدير‬ ‫البيانات‬ ‫قراءة‬ ‫أو‬ ‫العمليات‬ ‫إنشاء‬ ‫مثل‬ . Collective: ‫يتعامل‬ ‫مع‬ ‫الوصول‬ ‫إلى‬ ‫موارد‬ ‫متعددة‬ : ‫االكتشاف‬ ‫والجدولة‬ ‫والنسخ‬ ‫المتماثل‬ . Application: ‫يحتوي‬ ‫على‬ ‫تطبيقات‬ ‫الشبكة‬ ‫الفعلية‬ ‫في‬ ‫من‬ ‫ظمة‬ ‫واحدة‬ . Resource layer
  • 40. Introduction: Types of distributed systems High performance distributed computing ‫سحابية‬ ‫حوسبة‬ Application Infrastructure Computation (VM), storage (block, file) Hardware Platforms Software framework (Java/Python/.Net) Storage (databases) Infrastructure aa Svc Platform aa Svc Software aa Svc MS Azure Google App engine Cloud computing 34 / 56 Amazon S3 Amazon EC2 Datacenters CPU, memory, disk, bandwidth Web services, multimedia, business apps Google docs Gmail YouTube, Flickr
  • 41. Cloud computing 35 / 56 Introduction: Types of distributed systems High performance distributed computing ‫حوسبة‬ ‫سحابية‬ ‫أربع‬ ‫بين‬ ‫بالتمييز‬ ‫قم‬ ‫طبقات‬ ► Hardware: ‫والتبريد‬ ‫الطاقة‬ ‫وأنظمة‬ ‫التوجيه‬ ‫وأجهزة‬ ‫المعالجات‬ . ‫العمال‬ ‫يتمكن‬ ‫ال‬ ‫عادة‬ ‫ء‬ ‫ًا‬‫د‬‫أب‬ ‫األشياء‬ ‫هذه‬ ‫رؤية‬ ‫من‬ . ► Infrastructure: ‫االفتراضية‬ ‫المحاكاة‬ ‫تقنيات‬ ‫ينشر‬ . ‫أ‬ ‫وإدارة‬ ‫تخصيص‬ ‫حول‬ ‫يتطور‬ ‫جهزة‬ ‫االفتراضية‬ ‫والخوادم‬ ‫االفتراضية‬ ‫التخزين‬ . ► Platform: : ‫شابه‬ ‫وما‬ ‫للتخزين‬ ‫المستوى‬ ‫عالي‬ ‫ًا‬‫د‬‫تجري‬ ‫يوفر‬ . ‫مثال‬ : ‫الت‬ ‫نظام‬ ‫يوفر‬ ‫خزين‬ Amazon S3 ‫للملفات‬ ‫تطبيقات‬ ‫برمجة‬ ‫واجهة‬ ( ‫ًا‬‫ي‬‫محل‬ ‫المنشأة‬ ) ‫وتخز‬ ‫تنظيمها‬ ‫ليتم‬ ‫ما‬ ‫في‬ ‫ينها‬ ‫الحاويات‬ ‫يسمى‬ . ► Application: ‫المكاتب‬ ‫مجموعات‬ ‫مثل‬ ، ‫الفعلية‬ ‫التطبيقات‬ ( ‫وتط‬ ‫النصوص‬ ‫معالجات‬ ‫بيقات‬ ‫التقديمية‬ ‫العروض‬ ‫وتطبيقات‬ ‫البيانات‬ ‫جداول‬ .) ‫التطبيق‬ ‫بمجموعة‬ ‫مقارنته‬ ‫يمكن‬ ‫المشحونة‬ ‫ات‬ ‫تشغيل‬ ‫بأنظمة‬ .
  • 42. Introduction: Types of distributed systems Distributed information systems ‫دمج‬ ‫التطبيقات‬ Situation ‫موقف‬ ‫ا‬ ‫إمكانية‬ ‫تحقيق‬ ‫لكن‬ ، ‫بالشبكة‬ ‫المتصلة‬ ‫التطبيقات‬ ‫من‬ ‫العديد‬ ‫المنظمات‬ ‫واجهت‬ ‫البيني‬ ‫لتشغيل‬ ‫ا‬ً‫م‬‫مؤل‬ ‫ا‬ً‫أمر‬ ‫كان‬ . Basic approach ‫النهج‬ ‫األساسي‬ ‫الطريق‬ ‫او‬ ‫على‬ ‫تشغيلها‬ ‫يتم‬ ‫التي‬ ‫التطبيقات‬ ‫أحد‬ ‫هو‬ ‫بالشبكة‬ ‫المرتبط‬ ‫التطبيق‬ ‫خادم‬ ‫ي‬ ‫مما‬ ‫خدماته‬ ‫جعل‬ ‫البعيدين‬ ‫للعمالء‬ ‫متاحة‬ . ‫بسيط‬ ‫تكامل‬ : ‫يجمع‬ ‫العمالء‬ ‫تطبيقات‬ ‫طلبات‬ ( ‫مختلفة‬ ) ‫ذلك‬ ‫أرسل‬ ‫؛‬ ‫للمستخدم‬ ‫متماسكة‬ ‫نتيجة‬ ‫وتقديم‬ ‫الردود‬ ‫جمع‬ . Next step ‫التالية‬ ‫الخطوة‬ ‫تطب‬ ‫تكامل‬ ‫إلى‬ ‫يؤدي‬ ‫مما‬ ، ‫والتطبيق‬ ‫التطبيق‬ ‫بين‬ ‫المباشر‬ ‫باالتصال‬ ‫السماح‬ ‫المؤسسة‬ ‫يقات‬ . 42 / 56
  • 43. Introduction: Types of distributed systems Distributed information systems ‫مثال‬ EAI: ‫حركات‬ ‫معامالت‬ ( ‫متداخلة‬ ) Primitive ( ‫بدائي‬ ) Description ( ‫وصف‬ ) BEGIN TRANSACTION ‫المعاملة‬ ‫بداية‬ ‫على‬ ‫عالمة‬ ‫ضع‬ END TRANSACTION ‫االلتزام‬ ‫ومحاولة‬ ‫المعاملة‬ ‫بإنهاء‬ ‫قم‬ ABORT TRANSACTION ‫القديمة‬ ‫القيم‬ ‫واستعادة‬ ‫الصفقة‬ ‫قتل‬ READ ‫ذلك‬ ‫غير‬ ‫أو‬ ‫جدول‬ ‫أو‬ ‫ملف‬ ‫من‬ ‫البيانات‬ ‫اقرأ‬ WRITE ‫ذلك‬ ‫غير‬ ‫أو‬ ‫جدول‬ ‫أو‬ ‫ملف‬ ‫في‬ ‫البيانات‬ ‫اكتب‬ Airline database Hotel database Issue: all-or-nothing Nested transaction Subtransaction Subtransaction Two different (independent) databases Distributed transaction processing 43 / 56 ► ‫الذري‬ : ‫للتجزئة‬ ‫قابل‬ ‫غير‬ ‫بشكل‬ ‫يحدث‬ ( ‫يبدو‬ ‫ما‬ ‫على‬ ) ► ‫متسقة‬ : ‫النظام‬ ‫ثوابت‬ ‫تنتهك‬ ‫ال‬ ► ‫منعزلة‬ : ‫متبادل‬ ‫تدخل‬ ‫ال‬ ► ‫دائم‬ : ‫دائمة‬ ‫التغييرات‬ ‫أن‬ ‫يعني‬ ‫االلتزام‬
  • 44. Introduction: Types of distributed systems Distributed information systems TPM: ‫المعامالت‬ ‫معالجة‬ ‫مراقب‬ Server Server Server Client application Requests Reply Request Request Reply TP monitor Request Reply Reply Transaction ‫مالحظة‬ ‫عبر‬ ‫المعاملة‬ ‫في‬ ‫المتضمنة‬ ‫البيانات‬ ‫توزيع‬ ‫يتم‬ ، ‫الحاالت‬ ‫من‬ ‫كثير‬ ‫في‬ ‫خوادم‬ ‫عدة‬ . ‫يعتبر‬ TP Monitor ‫المعاملة‬ ‫تنفيذ‬ ‫تنسيق‬ ‫عن‬ ً‫ال‬‫مسؤو‬ . Distributed transaction processing 44 / 56
  • 45. Introduction: Types of distributed systems Distributed information systems ‫و‬ ‫الوسيطة‬ EAI Server-side application Server-side application Server-side application Client application Client application Communication middleware Enterprise application integration 45 / 56 ‫اتصال‬ ‫تسهيالت‬ ‫الوسيطة‬ ‫البرامج‬ ‫تقدم‬ ‫للتكامل‬ ‫البعيد‬ ‫اإلجراء‬ ‫استدعاء‬ RPC): ) ‫إرسال‬ ‫يتم‬ ‫ويتم‬ ، ‫المحلي‬ ‫اإلجراء‬ ‫استدعاء‬ ‫خالل‬ ‫من‬ ‫الطلبات‬ ‫إ‬ ‫تم‬ ‫التي‬ ‫والنتيجة‬ ، ‫الرسالة‬ ‫خالل‬ ‫من‬ ‫عليها‬ ‫والرد‬ ، ‫ومعالجتها‬ ، ‫كرسالة‬ ‫حزم‬ ‫في‬ ‫وضعها‬ ‫رجاعها‬ ‫المكالمة‬ ‫من‬ ‫كعودة‬ . ‫الرسائل‬ ‫نحو‬ ‫الموجهة‬ ‫الوسيطة‬ ‫البرامج‬ MOM): ) ‫يتم‬ ‫االتصال‬ ‫نقطة‬ ‫إلى‬ ‫الرسائل‬ ‫إرسال‬ ‫المنطقية‬ ( ‫المنشورة‬ ) ‫فيها‬ ‫االشتراك‬ ‫تم‬ ‫التي‬ ‫التطبيقات‬ ‫إلى‬ ‫توجيهها‬ ‫وإعادة‬ ، .
  • 46. Enterprise application integration 46 / 56 Introduction: Types of distributed systems Distributed information systems ‫التطبيقات‬ ‫دمج‬ ‫كيفية‬ ‫الملفات‬ ‫نقل‬ : ‫مرن‬ ‫غير‬ ‫لكنه‬ ، ‫ًا‬‫ي‬‫تقن‬ ‫بسيط‬ : ► ‫وتخطيطه‬ ‫الملف‬ ‫تنسيق‬ ‫اكتشف‬ ► ‫الملفات‬ ‫إدارة‬ ‫اكتشف‬ ► ‫وتحديث‬ ، ‫النشر‬ ‫تحديث‬ ‫اإلخطارات‬ ‫المشتركة‬ ‫البيانات‬ ‫قاعدة‬ : ‫ب‬ ‫ا‬ً‫ك‬‫مشتر‬ ‫بيانات‬ ‫مخطط‬ ‫تتطلب‬ ‫تزال‬ ‫ال‬ ‫لكنها‬ ، ‫مرونة‬ ‫أكثر‬ ‫خطر‬ ‫جانب‬ ‫االختناق‬ . ‫بعد‬ ‫عن‬ ‫اإلجراء‬ ‫استدعاء‬ : ‫اإلجراءات‬ ‫من‬ ‫سلسلة‬ ‫تنفيذ‬ ‫إلى‬ ‫الحاجة‬ ‫عند‬ ‫فعال‬ . ‫المراسلة‬ : ‫تتطلب‬ RPCs ‫الوقت‬ ‫نفس‬ ‫في‬ ‫والمستدعى‬ ‫المتصل‬ ‫تشغيل‬ . ‫ب‬ ‫المراسلة‬ ‫تسمح‬ ‫فصل‬ ‫والمكان‬ ‫الزمان‬ .
  • 47. 47 / 56 Introduction: Types of distributed systems Pervasive systems Distributed pervasive systems Observation Emerging next-generation of distributed systems in which nodes are small, mobile, and often embedded in a larger system, characterized by the fact that the system naturally blends into the user’s environment. Three (overlapping) subtypes
  • 48. 47 / 56 Introduction: Types of distributed systems Pervasive systems
  • 49. 47 / 56 Introduction: Types of distributed systems Pervasive systems
  • 50. 47 / 56 Introduction: Types of distributed systems Pervasive systems ‫الموزعة‬ ‫المنتشرة‬ ‫األنظمة‬ ‫مالحظة‬ ‫ومتن‬ ‫صغيرة‬ ‫العقد‬ ‫فيها‬ ‫تكون‬ ‫التي‬ ‫الموزعة‬ ‫األنظمة‬ ‫من‬ ‫التالي‬ ‫الجيل‬ ‫ظهور‬ ‫ًا‬‫ب‬‫وغال‬ ‫قلة‬ ‫طبي‬ ‫بشكل‬ ‫يندمج‬ ‫النظام‬ ‫أن‬ ‫بحقيقة‬ ‫يتميز‬ ، ‫أكبر‬ ‫نظام‬ ‫في‬ ‫مدمجة‬ ‫تكون‬ ‫ما‬ ‫بيئة‬ ‫في‬ ‫عي‬ ‫المستخدم‬ . ‫فرعية‬ ‫أنواع‬ ‫ثالثة‬ ( ‫متداخلة‬ ) ► ‫مكان‬ ‫كل‬ ‫في‬ ‫الحوسبة‬ ‫أنظمة‬ : ‫ال‬ ‫بين‬ ‫مستمر‬ ‫تفاعل‬ ‫هناك‬ ‫أن‬ ‫أي‬ ، ‫ومستمرة‬ ‫منتشرة‬ ‫نظام‬ ‫والمستخدم‬ . . ► ‫المتنقلة‬ ‫الحوسبة‬ ‫أنظمة‬ : ‫محمو‬ ‫األجهزة‬ ‫أن‬ ‫حقيقة‬ ‫على‬ ‫ينصب‬ ‫التركيز‬ ‫لكن‬ ، ‫منتشرة‬ ‫لة‬ ‫بطبيعتها‬ . ► ‫االستشعار‬ ‫شبكات‬ ( ‫والمشغل‬ :) ‫الفعلي‬ ‫االستشعار‬ ‫على‬ ‫التركيز‬ ‫مع‬ ، ‫منتشرة‬ ( ‫الت‬ ‫عاوني‬ ) ‫البيئة‬ ‫وتشغيل‬ .
  • 51. Introduction: Types of distributed systems Pervasive systems ‫مكان‬ ‫كل‬ ‫في‬ ‫أنظمة‬ ‫المركزية‬ ‫العناصر‬ .1 ( ‫التوزيع‬ ) ‫شفافة‬ ‫بطريقة‬ ‫إليها‬ ‫والوصول‬ ‫وتوزيعها‬ ‫بالشبكة‬ ‫األجهزة‬ ‫توصيل‬ ‫يتم‬ .2 ( ‫تفاعل‬ ) ‫للغاية‬ ‫مزعج‬ ‫غير‬ ‫واألجهزة‬ ‫المستخدمين‬ ‫بين‬ ‫التفاعل‬ .3 ( ‫بالسياق‬ ‫الوعي‬ ) ‫التفاعل‬ ‫تحسين‬ ‫أجل‬ ‫من‬ ‫المستخدم‬ ‫سياق‬ ‫النظام‬ ‫يدرك‬ .4 ( ‫االستقاللية‬ ) ‫ذا‬ ‫مدارة‬ ‫فهي‬ ‫وبالتالي‬ ، ‫بشري‬ ‫تدخل‬ ‫دون‬ ‫مستقل‬ ‫بشكل‬ ‫األجهزة‬ ‫تعمل‬ ‫بدرجة‬ ‫ًا‬‫ي‬‫ت‬ ‫عالية‬ .5 ( ‫الذكاء‬ ) ‫الدينامي‬ ‫والتفاعالت‬ ‫اإلجراءات‬ ‫من‬ ‫واسعة‬ ‫مجموعة‬ ‫مع‬ ‫التعامل‬ ‫ككل‬ ‫للنظام‬ ‫يمكن‬ ‫كية‬ Ubiquitous computing systems 48 / 56
  • 52. Mobile computing systems 49 / 56 Introduction: Types of distributed systems Pervasive systems ‫المتنقلة‬ ‫الحوسبة‬ ‫المميزة‬ ‫السمات‬ ► ‫المختلفة‬ ‫المحمولة‬ ‫األجهزة‬ ‫من‬ ‫يحصى‬ ‫ال‬ ‫عدد‬ ( ، ‫اللوحية‬ ‫واألجهزة‬ ، ‫الذكية‬ ‫الهواتف‬ ‫وأجهزة‬ GPS ، ‫النشطة‬ ‫والشارات‬ ، ‫بعد‬ ‫عن‬ ‫التحكم‬ ‫وأجهزة‬ . ► ‫الوقت‬ ‫بمرور‬ ‫الجهاز‬ ‫موقع‬ ‫يتغير‬ ‫أن‬ ‫المتوقع‬ ‫من‬ ‫أنه‬ ‫إلى‬ ‫ال‬ ّ‫الجو‬ ‫يشير‬ - ‫الخ‬ ‫تغيير‬ ‫المحلية‬ ‫دمات‬ ‫ذلك‬ ‫إلى‬ ‫وما‬ ، ‫الوصول‬ ‫وإمكانية‬ ، . ‫الرئيسية‬ ‫الكلمة‬ : ‫اكتشاف‬ . ► ‫صعوبة‬ ‫أكثر‬ ‫االتصال‬ ‫يصبح‬ ‫قد‬ : ‫اتصال‬ ‫يوجد‬ ‫ال‬ ‫ربما‬ ‫ولكن‬ ، ‫مستقر‬ ‫طريق‬ ‫يوجد‬ ‫ال‬ ‫مضمون‬ - ‫التعطيل‬ ‫مع‬ ‫متسامحة‬ ‫شبكات‬ .
  • 53. Mobile computing systems 50 / 56 Introduction: Types of distributed systems Pervasive systems ‫التنقل‬ ‫أنماط‬ ‫مشكلة‬ ‫األساسية‬ ‫الفكرة‬ ‫اإلنسان؟‬ ‫وتنقل‬ ‫المعلومات‬ ‫نشر‬ ‫بين‬ ‫العالقة‬ ‫هي‬ ‫ما‬ : ‫بتبادل‬ ‫يسمح‬ ‫اللقاء‬ ‫المعلومات‬ ( ‫بالجيب‬ ‫التبديل‬ ‫شبكات‬ .) ‫ناجحة‬ ‫استراتيجية‬ ► ‫وغرباء‬ ‫أصدقاء‬ ‫من‬ ‫أليس‬ ‫عالم‬ ‫يتكون‬ . ► ‫بوب‬ ‫إلى‬ ‫رسالة‬ ‫توصيل‬ ‫أليس‬ ‫أرادت‬ ‫إذا‬ : ‫أصدقائها‬ ‫جميع‬ ‫إلى‬ ‫سلمها‬ ► ‫لقاء‬ ‫أول‬ ‫في‬ ‫بوب‬ ‫إلى‬ ‫الرسالة‬ ‫بتمرير‬ ‫الصديق‬ ‫يقوم‬ ‫مالحظة‬ ‫هذه‬ ‫تعمل‬ ‫اإلستراتيجية‬ ‫ألنه‬ ( ‫يبدو‬ ‫ما‬ ‫على‬ ) ‫ن‬ ‫مغلقة‬ ‫أصدقاء‬ ‫مجتمعات‬ ‫توجد‬ ‫ًا‬‫ي‬‫سب‬ .
  • 54. Mobile computing systems 51 / 56 Introduction: Types of distributed systems Pervasive systems Community detection Issue How to detect your community without having global knowledge? Gradually build your list 1. Node i maintains familiar set Fi and community set Ci , initially both empty. |Fj | 2. Node i adds j to Ci when |Fj ∩Ci| > λ 3. Merge two communities when |Ci ∩Cj |> γ|Ci ∪Cj | Experiments show that λ = γ = 0.6 is good.
  • 55. Introduction: Types of distributed systems Pervasive systems How mobile are people? Experimental results Tracing 100,000 cell-phone users during six months leads to: 5 10 50 100 10 -4 Mobile computing systems 52 / 56 10 -6 1 10 -2 500 1000 Displacement Probability Moreover: people tend to return to the same place after 24, 48, or 72 hours ⇒ we’re not that mobile.
  • 56. Sensor networks 53 / 56 Introduction: Types of distributed systems Pervasive systems Sensor networks Characteristics The nodes to which sensors are attached are: ► Many (10s-1000s) ► Simple (small memory/compute/communication capacity) ► Often battery-powered (or even battery-less)
  • 57. Introduction: Types of distributed systems Pervasive systems ‫موزعة‬ ‫بيانات‬ ‫كقواعد‬ ‫االستشعار‬ ‫شبكات‬ ‫ان‬‫ض‬‫نقي‬ Sensor network Operator's site Operator's site Query Sensor networks 54 / 56 Sensor network Sensors send only answers Sensor data is sent directly to operator Each sensor can process and store data
  • 58. Sensor networks 55 / 56 Introduction: Types of distributed systems Pervasive systems Duty-cycled networks Issue Many sensor networks need to operate on a strict energy budget: introduce duty cycles Definition A node is active during Tactive time units, and then suspended for Tsuspended units, to become active again. Duty cycle τ: τ = Tactive Tactive + Tsuspended Typical duty cycles are 10−30%, but can also be lower than 1%.
  • 59. Sensor networks 56 / 56 Introduction: Types of distributed systems Pervasive systems Keeping duty-cycled networks in sync Issue If duty cycles are low, sensor nodes may not wake up at the same time anymore and become permanently disconnected: they are active during different, nonoverlapping time slots. Solution ► Each node A adopts a cluster ID CA, being a number. ► Let a node send a join message during its suspended period. ► When A receives a join message from B and CA < CB, it sends a join message to its neighbors (in cluster CA) before joining B. ► When CA > CB it sends a join message to B during B’s active period. Note Once a join message reaches a whole cluster, merging two clusters is very fast. Merging means: re-adjust clocks.