الخلاصة
- لم تكن PlanetLab slice ملكيةً موزعة، بل إذناً مركباً بالاستخدام: حصلت الخدمة في كل عقدة على حصة محدودة من الموارد داخل آلة افتراضية محلية تسمى sliver.
- أمكن للتنسيق العالمي أن يكوّن الطلب وأن ينشر الخدمة، لكن node manager والسعة الفعلية وسياسة الجدولة وقواعد المؤسسة المضيفة هي التي حددت ما يعمل حقاً.
- اقترنت حرية التجربة بالعزل ومحاسبة الموارد وسلسلة مسؤولية تعيد الفعل الظاهر خارجياً إلى principal بعينه.
عبر الحسابُ الواحد أجهزةً كثيرة، ولم تعبر الملكية
في مطلع الألفية، كان اختبار خدمة شبكية على نطاق الإنترنت يبدأ بمشكلة اجتماعية قبل أن يصبح مشكلة برمجية. يطلب الباحث حساباً على خادم في جامعة، ثم يستعير جهازاً آخر في مختبر صديق. قد تكفي ثلاثة مواقع متعاونة لعرض الفكرة، لكنها لا تكشف بصورة موثوقة أثر المسارات الطويلة وتفاوت الحمل واختلاف القواعد لدى مضيف لا يعرف صاحب البرنامج.
حوّل PlanetLab شبكة المجاملات تلك إلى بنية بحثية مشتركة. حصل الفريق على حساب يمتد عبر مواقع كثيرة، واستطاع نشر خدمة واحدة بينها. أطلق المشروع على الكيان الناتج اسم slice.
لم يكن الاسم سند ملكية. تشرح ورقة أنظمة التشغيل المنشورة عام 2004 أن الخدمة تتلقى جزءاً من موارد كل عقدة مشاركة داخل آلة افتراضية. وتتحد الآلات المحلية في كيان مركب يبدو للخدمة كمجموعة موزعة من الأجهزة الخاصة. غير أن المؤلفين وصفوا هذه الخصوصية بأنها وهم يصنعه العزل. لم ينتقل الخادم الفيزيائي إلى مالك جديد، ولم تتخل الجامعة عن شبكتها، ولم يحول الاسم العالمي مساهمةً محلية إلى مال مركزي.
كانت هذه التجريدات نافعة تحديداً لأنها أخفت التعقيد عن الخدمة من دون أن تمحو حدود السلطة. أمكن تثبيت البرمجيات وإدارة الانتشار كوحدة واحدة، لكن الوحدة ظلت مؤلفة من أذونات محلية محدودة وقابلة للسحب.
كان الـ sliver هو الحقيقة المحلية تحت الـ slice
حافظت مصطلحات PlanetLab على ظهور التركيب. الـ sliver هو الآلة الافتراضية وما سُمح لها باستخدامه من معالج وذاكرة وتخزين وشبكة في عقدة واحدة. أما الـ slice فهي شبكة هذه الأجزاء عبر المواقع.
ترك النظام مساحة واسعة لما يبنى فوق ذلك. لم يفرض topology واحدة للـ overlay، ولا لغة برمجة واحدة، ولا runtime موحداً. استطاع الباحثون اختيار طريقة تواصل المكونات وبناء خدمة موزعة فوق الإنترنت العادي.
لكن حرية التصميم لا تخلق موارد. تستطيع slice اختيار البروتوكول بين مكوناتها، ولا تستطيع اختراع دورات CPU على مضيف مكتظ. تستطيع طلب عقدة في بلد بعيد، ولا تستطيع إجبار جهاز مطفأ على الاستجابة. تستطيع تشغيل برنامجها في مساحة معزولة، ولا تستطيع منح نفسها صلاحية root على جهاز مشترك.
عبّرت وثيقة تصميم مبكرة عن هذه الحدود بواسطة tickets وleases. يحدد ticket العقدة وكمية المورد والفترة الزمنية. وقد يؤدي تقديمه إلى lease، بشرط أن تقبله سياسة admission control المحلية. كانت الوثيقة مسودة متطورة وليست وصفاً نهائياً لكل إصدار من PlanetLab، لكن منطق السلطة فيها واضح: يستطيع الموزع العالمي حمل المطالبة إلى الباب، فيما تحتفظ العقدة بحق فتحه أو رفضه.
جمع المركز الطلب، وأثبتت العقدة التنفيذ
لم يكن PlanetLab قصة عن لامركزية كاملة. تضمنت البنية الأولى PlanetLab Central، الذي اتصل بـ node manager في كل جهاز مختار. تولى المدير المحلي إنشاء الآلات الافتراضية والتحكم فيها. كما ظل bootstrapping بحاجة إلى كود ذي امتيازات؛ فلا يمكن إطلاق الخدمة الأولى عبر سلسلة لا نهائية من خدمات لم تبدأ بعد.
وفي الوقت نفسه، كانت العقد مملوكة لجامعات ومختبرات ومؤسسات مستقلة. اعتبر تقرير الخبرة لعام 2006 بقاء قدر من التحكم لدى كل مؤسسة شرطاً للتوسع، لا عائقاً عرضياً. فالموقع الذي يقدم الجهاز والاتصال ويتحمل الشكوى يحتاج إلى التأثير في كيفية استخدام موارده، وعلى المنصة تقليص سيطرة المركز إن أرادت دوام المشاركة.
لذلك عبر إنشاء كل sliver حداً مستقلاً للسلطة. قد يسجل العرض العالمي أن الخدمة ينبغي أن تعمل في Princeton أو Berkeley أو غيرهما، لكن الوجود الفعلي قرره node manager والحالة اللحظية والـ scheduler وحدود المضيف. لا تستطيع قاعدة بيانات قديمة أن تخلق ذاكرة غير موجودة. يصف السجل النية؛ ويكشف running code ما هو حي.
ومن هنا لا يساوي عدد العقد المسجلة مقدار السعة المتاحة. وحتى الآلات الافتراضية العاملة لا تكون بالضرورة في فئة موارد واحدة أو تحت شروط قياس قابلة للمقارنة.
لم يكن «العزل» وعداً واحداً
حاول resource isolation منع خدمة من استنزاف معالج جارتها وذاكرتها وقرصها وعرض نطاقها. وفصل security isolation مساحات الأسماء والبيانات. أما قاعدة البرمجة المستقرة فمنعت خدمة غير مميزة من تغيير الآليات التي تعتمد عليها الخدمات الأخرى.
هذه وظائف مختلفة. قد تكون الآلة منفصلة أمنياً، لكنها ترى latency متقلباً على عقدة مشغولة. وقد تحصل على حصة عادلة من CPU من دون reservation. وقد يعمل البرنامج صحيحاً داخل VM، بينما يغير حد عرض النطاق الذي فرضه الموقع نتيجة التجربة.
كانت أوراق التشغيل صريحة بشأن الفجوة. بدا best effort كافياً في البداية، ثم جعل الحمل الكبير الأداء متقلباً ومكلفاً. استخدم PlanetLab المشاركة العادلة والحجوزات الصريحة والجدولة المبنية على tokens. وعند ضغط الذاكرة، استطاع watchdog إعادة تشغيل مستهلك كبير، كما استطاعت المواقع وضع سقف لحركة الخروج.
سجلت تجربة محدودة في 2006 مساراً أساسياً زمنه 74 ملي ثانية، فيما تراوح round trip للـ overlay بين 76 و135 ملي ثانية قبل معاملة CPU خاصة. قلصت reservations والجدولة الفورية معظم الفارق، ولم تلغ كل نشاط للنواة أو كل jitter. لا تعطي هذه الأرقام حكماً شاملاً على المنصة؛ إنها تظهر فقط أن مساحة أسماء عالمية لم تجعل العالم مورداً مخصصاً.
كانت المساءلة جزءاً من إذن التجربة
أطلق مستخدمو PlanetLab حركة مرور من داخل مؤسسات لا ينتمون إليها إلى شبكات لم تتطوع للتجربة. قد يشغل مسح الإنترنت إنذار اختراق، وقد يستهلك اختبار throughput سعة بوابة جامعية. لا تمحو النية العلمية الكلفة الواقعة على الغير.
لهذا طلبت ورقة 2004 محاسبة الموارد ونسبة الأفعال بعد وقوعها إلى slices، لا تسجيل الكميات وحدها. وصاغت ورقة مبادئ التصميم اللاحقة الأمر كسلسلة مسؤولية: يجب أن يعود كل نشاط ظاهر للخارج عبر الـ slice إلى المستخدم المسؤول.
جعلت هذه السلسلة التفويض الواسع مقبولاً. لم يحتج المضيف إلى علاقة ثقة شخصية بكل باحث. احتاج إلى حدود قابلة للإنفاذ، وإلى وسيلة لتحديد principal، وإلى طرف يستطيع الرد عند وقوع مشكلة. وهكذا كانت الـ slice حد حرية وحد دليل في الوقت نفسه.
إذا انقطعت السلسلة، قد تظل العمليات معزولة تقنياً بينما تعجز المؤسسة التي تستقبل الشكوى عن معرفة أي خدمة أرسلت الحزمة، وبأي تفويض، وضمن أي نافذة تشغيل، وتحت أي فئة موارد. يحمي العزل بلا attribution البرامج ويترك المسؤولية على مالك العقدة.
فصل الإدارة صغّر النواة التي لا يمكن استبدالها
كانت خطوة PlanetLab الثانية فصل آليات العقدة منخفضة المستوى عن خدمات الإدارة على نطاق الشبكة. أمكن بناء إنشاء slices واكتشاف الموارد والمراقبة وتوزيع البرمجيات كخدمات فوق نظام التشغيل المحلي. واستطاعت بدائل متعددة أن تتطور بالتوازي بدلاً من منح تطبيق واحد عرشاً ذا امتياز دائم.
كان المطلوب أن يقدم نظام العقدة تجريدات محلية وواجهات واضحة قابلة للمشاركة، ثم تركب الخدمات التجريد العالمي فوقها. أدى ذلك إلى تقليل الوظائف التي يجب الوثوق بها بوصفها فريدة.
لم تختف النواة تماماً. لا بد من مكون ينشئ VM المحلية ويفرض الحدود ويطلق الخدمة الأولى. أقر المؤلفون بذلك. لم يكن الإنجاز بنية بلا سلطة، بل سطح سلطة أصغر وأسهل للفحص.
يمكن قراءة هذا اليوم بجوار مبدأي Heng Lu عن الحد الأدنى للمواصفة الأولى وأولوية الكود الجاري. تكون الطبقة المشتركة سليمة عندما تثبت فقط الثوابت المحلية اللازمة للتركيب الآمن. أما الخدمات الأعلى فيمكن أن تتنافس أو تتغير أو تختفي. لا يمنحها سجلها العالمي قدرة على صنع سعة محلية، ولا يحول اسمها إلى ملكية للآلات تحتها. هذه مقارنة تحريرية معاصرة وليست نسبة أفكار لاحقة إلى دوافع مؤلفي PlanetLab.
استبق PlanetLab السحابة، ولم يمتلك تاريخها
تذكر مراجعة Princeton لعام 2026 أن PlanetLab بلغ 1,353 عقدة في 717 موقعاً داخل 48 دولة، وأنه توقف رسمياً في 2020. وتبقى عبارة Peterson المحدودة أدق من أسطورة الأصل: لم ينشئ PlanetLab السحابة، لكنه استبقها.
قدّم عالماً يطلب فيه المستخدم مورداً مجرداً، وينشر البرامج على أجهزة بعيدة، ويشارك مستأجرين آخرين السعة الفيزيائية. وكشف أيضاً الأسئلة التي قد تخفيها واجهة سحابية مصقولة: أي موقع منح المورد؟ وما فئته؟ من يحق له الرفض أو reset؟ ومن يجيب عندما تضر حركة المرور بطرف آخر؟
لا يصح جعل PlanetLab السلف الوحيد للآلات الافتراضية أو containers أو شبكات توصيل المحتوى أو orchestration. لهذه التقنيات تواريخ أوسع. كانت مساهمته المميزة تشغيل تجريد عالمي للموارد في العلن، تحت حمل متفاوت، وفوق أجهزة يملكها أطراف مستقلون وتتأثر بنتائجه شبكات حقيقية.
انتهى المشروع، لكن الحاجة إلى إثبات الأذونات المحلية تحت كل كيان عالمي لم تنته.
يقع دور Larry Peterson داخل عمل جماعي
كان Larry Peterson منظماً ومعمارياً ومشغلاً محورياً لـ PlanetLab، وتعرفه Princeton اليوم بصفته Robert E. Kahn Professor, Emeritus and Senior Research Scholar. لكنه لم يعمل منفرداً.
كتب مخطط 2002 مع Tom Anderson وDavid Culler وTimothy Roscoe. وتضم ورقة 2004 Andy Bavier وMic Bowman وBrent Chun وDavid Culler وScott Karlin وSteve Muir وPeterson وRoscoe وTammo Spalink وMike Wawrzoniak. أما خبرة 2006 فحملت أسماء Peterson وBavier وMarc E. Fiuczynski وMuir. وكانت وثيقة إنشاء slice الديناميكي عملاً لفريق Architecture Team، حررها Peterson وAmin Vahdat مع مساهمين آخرين مذكورين بالاسم.
ليست هذه الأسماء حاشية بروتوكولية. كان موضوع PlanetLab هو تعاون أشخاص ومؤسسات مستقلة من دون ادعاء وجود مالك واحد. وينبغي لقصة التأليف أن تحافظ على الحقيقة نفسها.
المصادر
- Peterson وAnderson وCuller وRoscoe — A Blueprint for Introducing Disruptive Technology into the Internet
- Bavier وآخرون — Operating System Support for Planetary-Scale Network Services
- Peterson وBavier وFiuczynski وMuir — Experiences Building PlanetLab
- PlanetLab Architecture Team — Dynamic Slice Creation
- Peterson وRoscoe — The Design Principles of PlanetLab
- Princeton Computer Science — Larry Peterson
- Princeton Computer Science — مراجعة PlanetLab
- أرشيف مشروع PlanetLab
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
