إنترنت الأشياء (الجزء الثّالث): إدارةُ الموارد
المعلوماتية >>>> إنترنت الأشياء
تتضمَّنُ إدارة الموارد اكتشافَ كلِّ الموارد المتاحة وتحديدها، إضافةً إلى تقسيمها لأجل جعلِ المردود أكبرَ ما يمكن، وجدولةِ المَهامّ على نحوٍ يلائِمُ الموارد الفيزيائيّة المُتاحة. ويشمل المردودُ الكلفةَ والطّاقة والأداء وغيرها.
ويبيّنُ المخطَّطُ أدناه تصنيفَ نشاطات إدارة الموارد:
Image: Rajkumar Buyya (Editor), Amir Vahid Dastjerdi (Editor), Internet of Things: Principles and Paradigms, Elsevier, 50 Hampshire Street, 5th Floor, Cambridge, MA 02139, USA, 2016
Rajkumar Buyya (Editor)، Amir Vahid Dastjerdi (Editor)، Internet of Things: Principles and Paradigms، Elsevier، 50 Hampshire Street، 5th Floor، Cambridge، MA 02139، USA، 2016
وكما يظهرُ من المخطط؛ فإنَّ إدارةَ موارد إنترنت الأشياء مكوَّنةٌ من ثلاثةِ أقسام أساسية؛ هي:
تقسيمُ الموارد:
الخطوةُ الأولى لتلبيةِ متطلَّباتِ توفير الموارد في إنترنت الأشياء هي تقسيمُ الموارد بكفاءةٍ للحصول على معدَّلِ استخدامٍ أعلى، وتُستخدَمُ هذه الفكرةُ على نطاق واسع في الحوسبة السَّحابية عن طريق تقنيَّات المحاكاةِ الافتراضيّة والبِنية التّحتيّة للسّلع الأساسيّة، لكنَّ الأجهزةَ الافتراضيّةَ ليست الطّريقة الوحيدة لتحقيق الهدف. ولمّا كان Hypervisor -المسؤولُ عن إدارة التفاعلات بين المضيفين والضيف عبر الآلاتِ الافتراضية VMs- يتطلَّب قدرًا كبيرًا من الذّاكرة والقدرات الحسابيّة؛ فقد غدا مناسبًا للاستخدام في إنترنت الأشياء؛ لأنَّ الأجهزةَ في أنظمة إنترنت الأشياء تكونُ محدودةَ الذاكرة والقدرةِ على المعالجةِ.
ولتحديدِ هذه التحديات؛ أُطلِقَ مصطلحُ المستوعِبات Containers بوصفهِ صيغةً جديدةً للتقنيةِ الافتراضية التي تعملُ على التقابُلِ بين الطلب على الأجهزةِ والمواردِ المحدودة، ويُعدُّ Docker هنا و Rocket هنا من أكثرِ حلول المستوعِبات شهرةً، وتملكُ المستوعِباتُ القدرةَ على تأمين بيئاتٍ مستقلِّةٍ عن المنصات Platform-independent environments لاستضافةِ التطبيقاتِ وكلِّ متعلَّقاتِها، إضافةً إلى إعداداتِ الإدخال/الإخراج؛ ما يقلِّلُ عبءَ التعامل مع المتطلبات المختلفة التي تحدِّدُها المنصات عند تصميم وتطوير التطبيقات، ومن ثمَّ تأمينُ مستوىً مناسبٍ من الشفافية للتطبيقات والمخطّطين والمطوّرين. لكنَّ الميزةَ الأكثرَ أهميّةً للمستوعِبات هي أنَّها حلولٌ افتراضيةٌ خفيفةُ الوزن تُمكِّنُ مؤمِّني البِنيةِ التَّحتيّة من استخدامِ موارد العتاديات بفعاليةٍ عن طريقِ إزالة الحاجةِ إلى شراءِ عتاديات مُكلِفة وحزَمِ البرامج الافتراضية. ولمّا كانتِ المستوعِباتُ – مقارنةً بالآلات الافتراضية VMs - تتطلَّبُ وقتَ دوران أقلَّ بكثير؛ فإنَّها تُعَدُّ مثاليةً للأنظمة الموزّعة في إنترنت الأشياء، والتي تحتاج إلى توسيعِ نطاقها في غضون فترةٍ قصيرةٍ من الزمن.
تفريغ حمولة الحوسبة Computation Offloading:
يُعدُّ التخلُّصُ من الحِمل البرمجي Code Offloading أو ما يُسمَّى بالحمل الحوسبي Computation حلًّا آخرَ لمعالجة القيود المفروضة على الموارد المتاحة في الأجهزة المحمولة والذكية، ومن إيجابياتِ هذه الطريقةِ إدارةُ الطاقة بكفاءةٍ أكبرَ ومتطلباتِ تخزينٍ أقلَّ وأداءٍ أعلى للتطبيق.
وقد درست عدَّةُ إحصائياتٍ المتطلباتِ الحسابية والتنفيذية؛ إضافةً إلى معايير التكيُّف Adaption Criteria، وتتطلَّبُ غالبية تقنياتِ تفريغ الحمولة الحوسبية من المطورين أن يشرحوا ويوضّحوا الوظائفَ المطلوبةَ يدويًّا للتنفيذِ على جهاز آخر. ومع ذلك؛ فإنَّ استخدامَ مُحلِّلي التعليماتِ البرمجيةِ الساكنة Static ومُحلِّلي الشفرة الديناميكية Dynamic هو نهجٌ بديلٌ يؤدّي إلى تحسينِ القدرةِ على التكيُّفِ في حالِ تقلُّباتِ الشبكةِ وزيادةِ وقت الاستجابة. وبدلًا من استخدامِ النماذج الموجودةِ فيزيائيًّا يُقدِّمُ موفِّرو الخدماتِ السحابية IaaS أجهزةً افتراضية كـ ThinkAir وCOMET لتفريغِ الحمولةِ البرمجية بطريقةٍ تعزِّزُ المرونة والتدرُّجية، ويُمكِنُ للمزيجِ المُقترَحِ من أجهزةِ القياس الافتراضية والسحاباتِ المحمولة أن يُهيّئَ بيئةً قوية لتبادلِ الشيفرات وتزامُنِها وتنفيذها في منصات مختلفة.
تحديد واكتشاف المصادر/الخدمات Identification and Resource/Service Discovery
برز إنترنت الأشياء بوصفه فرصةً مُهمَّةً للتحقيقات الصناعية، وتبعَتها المجموعاتُ البحثية، لكنَّ البِنى المُقترَحة حاليًّا لإنترنت الأشياء تفتقرُ إلى الدعم لاكتشافِ الخدمةِ وتكوينِها بطريقة قياسيةٍ وفعَّالةٍ؛ فضلًا عن دمجها بطريقةٍ قابلةٍ للتطوير.
وإنَّ وحدةَ الاكتشاف في إنترنت الأشياء ذاتُ هدفَين:
الأوّل: تحديدُ الجهاز الفعلي؛ ويتحقَّقُ بتخزين البيانات الوصفيةِ لكلِّ غرضٍ وفهرستها.
الثّاني: اكتشافُ الخدمةِ الهدفِ التي تحتاجُ إلى مساعدة.
ويمكنُ للنّقصِ في خوارزميةِ اكتشافٍ فعّالةٍ أن يسبِّبَ تأخيرًا في التنفيذ، وتجربةً متواضعةً للمُستخدِم (ليست كما يطمح أن تكون) وأخطاءً وقت التشغيل. ويمكنُ للخوارزمياتِ التي تختارُ ديناميكيًّا إستراتيجياتٍ مركزيةً أو غامرةً Flooding أن تساعدَ على تقليلِ الطاقة المُستهلَكة على الرغم من وجوبِ مراعاةِ عواملَ أخرى مثلَ التنقُّلِ ووقت الاستجابة؛ لتقديمِ حلٍّ مناسبٍ لإنترنت الأشياء بالنظر إلى طبيعتِها الديناميكية. وفي نهج آخرَ ضمنَ سياق الحوسبة الضبابية تُحوَّلُ المواردُ المتاحة كعرضِ حزمةِ الشبكة ومُحدِّداتُ السعة الحسابية والتخزينية إلى مواردَ زمنيةٍ مُشكِّلةً بذلك إطارًا يُسهّلُ مشاركةَ الموارد. وتحتاجُ العواملُ المختلفة كمستوَى استهلاكِ الطاقة والسعرِ وتوفُّرِ الخدمات إلى تضمينها في الحلول المقترحة التي تهدفُ إلى تحسين تشارُكِ المواردِ ضمنَ مجموعةٍ غيرِ مُتجانِسة Heterogenous منها.
ويبحثُ إنترنتُ الأشياءِ الاستدلالي Semantic Web of Things (SWoT) في إدارةِ مواردَ متقدِّمةٍ واكتشافِ خدماتٍ لإنترنت الأشياء بتوسيعِ تدوينِ الويب الدلالي Semantic Web Notation ومزجها مع إنترنت الأشياء. ولتحقيقِ ذلك؛ تُعرَّفُ المواردُ وبياناتُها metadata وتُشرَحُ باستخدام لغاتٍ وجوديةِ التعريف ontology-definition languages مثلَ RDF و OWL، وإضافةً إلى ذلك؛ يمكنُ البحثُ والتلاعبُ في هذه البياناتِ الوصفية عبرَ لغاتِ الاستعلام مثل SPARQL.
المصادر:
Rajkumar Buyya (Editor)، Amir Vahid Dastjerdi (Editor)، Internet of Things: Principles and Paradigms، Elsevier، 50 Hampshire Street، 5th Floor، Cambridge، MA 02139، USA، 2016