
- بواسطة x32x01 ||


علشان الأجهزة دي تتعاون، أول حاجة لازم تحصل هي communication، سواء عن طريق WiFi أو Wired Network

إزاي بنقسم التاسكات بين الأجهزة؟
السؤال دلوقتي: إزاي نوزع التاسكات بين الأجهزة ونتأكد إن مفيش أي غلط؟هنا بييجي دور الـCentralized Distributed System - جهاز موجود في النص، مسؤوليته إنه يوصل كل الأجهزة ببعض ويخليهم يشاركوا البيانات بدون مشاكل.
- بعد ما الأجهزة متوصلة، الجهاز المركزي بيقوم بأربع مهام رئيسية:
- Task Assignment
- Configuration Management
- Resource Management
- Data Management
Task Assignment
أول مهمة بيعملها الجهاز المركزي هي توزيع التاسكات بين الأجهزة:- يستخدم خوارزميات معينة عشان يوزع التاسكات بالتساوي.
- يتأكد إن كل جهاز قادر على تنفيذ التاسك بتاعه بدون ما يتأثر جهاز تاني.
- بيحدد الأولوية لكل التاسك: المهم والمستعجل يخلص الأول.
Configuration Management
بعد توزيع التاسكات، الجهاز المركزي بيراقب إعدادات كل جهاز:- هل محتاج صيانة أو تعديل في الإعدادات؟
- ده مهم عشان كل جهاز يقدر يتأقلم مع التاسك بتاعه.
- يضمن إن أي تغيير يحصل مش هيأثر على تنفيذ التاسك.
Resource Management 
الجهاز المركزي كمان بيراقب الموارد:- CPU: هل الجهاز قادر يتعامل مع التاسك؟
- Memory: هل فيه مساحة كافية لتخزين البيانات؟
- لو أي داتا ما تخزنتش صح، الجهاز المركزي يعيد تحميلها تاني.
Data Management
البيانات اللي وزعها الجهاز على الأجهزة لازم تكون موجودة في مكان مشترك (Database) عشان كل الأجهزة تقدر توصلها:- الجهاز المركزي بيراقب الـDatabase ويحدد مين يقدر يوصل للبيانات ويعدل عليها.
- بيمنع تكرار البيانات عشان مايوزعش نفس الداتا على جهازين.
- بيقوم بعمل Load Balancing على السيستم لضمان تنفيذ التاسكات بكفاءة.
هل في طريقة تانية لإدارة التاسكات؟
أيوه، فيه طريقة تانية غير الـCentralized، وده اللي بنسميه Decentralized Systemفي النظام ده مفيش جهاز مركزي، كل جهاز بيشارك ويتعاون مع غيره بدون وسيط، وده بيحتاج خوارزميات مختلفة للتنسيق وضمان سلامة البيانات.
التعديل الأخير: