المعلوماتية > برمجيات

بث التطبيقات (App streaming) تقنية جديدة للتغلب على عائق التخزين المحدود

أصبح التخزين في الهواتف الذكية موردًا محدودًا، وقد نجد أنفسنا نلجأ إلى حذف التطبيقات على نحو متكرر عندما تكون مساحة تخزين الهاتف ممتلئة، ولعل ظهور هذه المشكلة مقترنٌ بانتشار اللعب Gaming؛ إذ يُعدّ اللعب نشاطًا شائعًا على الأجهزة المحمولة، إضافة إلى أن النمو الهائل في عدد الألعاب المقترن بحجمها المتزايد يساهم في تفاقم أزمة التخزين. وحتى في حالة وفرة التخزين، يستغرق تنصيب تطبيقٍ كبير الحجم وتثبيته وقتًا طويلًا قبل أن يُشغَّل.

طور الباحثون في جامعة بوردو "Purdue" برنامجًا يُقلل المساحة التي تشغلها التطبيقات على الهاتف الذكي؛ مما يسمح للمستخدمين بمواصلة تنصيب التطبيقات التي يريدونها دون حذف بعضها أولًا (1).

يعمل البرنامج الجديد على بث (Streaming) البيانات والموارد البرمجية لبرنامج ما من خادم سحابة عند الضرورة؛ مما يسمح للتطبيق باستخدام المساحة التي يحتاجها فقط على الهاتف في أي وقت محدد (1).

يقول سوراب باجشي Saurabh Bagchi -أستاذ في جامعة بوردو Purdue في قسم هندسة الحواسيب والكهرباء- شارحًا عن البرنامج: "يشبه الأمر عدم تخزين أفلام Netflix فعليًّا على الحاسوب، وإنما تُبَثّ في أثناء المشاهدة. هنا، تُبَثّ مكونات التطبيق مثل مقاطع الفيديو الكبيرة الحجم أو الرسوميات أو الشيفرات البرمجية لحظيًّا، على الرغم من الأخطاء والتباطؤات المحتملة على الشبكة الخلوية" (1).

وقد أظهر فريق Bagchi في دراسة كيف خَفَّض البرنامج المسمّى "AppStreamer" متطلبات التخزين بنسبة 85٪ -على الأقل- للتطبيقات والألعاب الشائعة على نظام Android أندرويد (1).

يبدّل البرنامج البيانات بسلاسة بين التطبيق والخادم السحابي (cloud server) دون توقف اللعبة، ولم يلحظ معظم المشاركين في الدراسة أيَّ اختلافات في تجربة الألعاب في أثناء استخدام تطبيق AppStreamer. 

يتابع Bagchi القول: "لمّا كان AppStreamer يعمل مع الألعاب المتعطّشة للتخزين؛ فقد يعمل أيضًا مع التطبيقات الأخرى التي تشغل عادة مساحة أقل بكثير، كذلك يسمح البرنامج للتطبيق نفسه بتحميلٍ أسرع على الهاتف" (1).

إذًا؛ كيف يعمل AppStreamer؟ 

AppStreamer: هو نوع من البرامج يُعرَف بأنه middleware؛ أي يقع بين التطبيقات الموجودة على الجهاز ونظام التشغيل (1).

أما Middleware فيُعرَّف بأنه طبقةٌ برمجية بينية تقع فوق نظام التشغيل وتحت طبقة التطبيق، وتقدّم هذه الطبقة تجريدًا برمجيًّا مشتركًا ضمن الأنظمة الموزعة، وبالتالي؛ تساعد البرمجية البينية Middleware على إدارة التعقيد والتباين في الأنظمة الموزعة عن طريق توفير بيئة عالية المستوى للمبرمجين أكثر من تلك التي يقدمها نظام التشغيل، ومن ثم يمكن إعادة استخدام الشيفرة البرمجية أكثر من مرة وتقليل عدد الأخطاء (4).

يتوقع AppStreamer وقتَ جلب البيانات من الخادم السحابي تلقائيًّا، وهذا ما يجعل التطبيق عاملًا مساعدًا للهواتف على الاستفادة وتبنّي تقنية الاتصال 5G التي تسمح للأجهزة بتحميل الأفلام في ثوانٍ والتعامل مع المَهمات الأخرى التي تطلب كمية بيانات كبيرة على نحو أسرع بكثير من شبكات 4G المتوفرة حاليًّا.

إن استعمال تطبيق AppStreamer على الهواتف مع شبكات الجيل الخامس 5G يعني أنّ التطبيقات ستُحمَّل مباشرة وتعمل على نحو أسرع وتَشغُل مساحة تخزين أقل على الهاتف (1).

وقد صمم الباحثون التطبيق آخذين بعين النظر مفهوم حوسبة الحافة "Edge Computing"*؛ إذ تُخزَّن المعلومات وتُرسَل من خوادم الحافة (Edge Servers)، علمًا أنّ هذه الخوادم موجودة في مناطق مثل أبراج الخليوي؛ أي إنها أقرب إلى الهاتف مقارنةً بالسحابة، ومن ثم تقلل المسافةُ القصيرة من الوقت اللازم لتحميل البيانات (1).

يتنبَّأ AppStreamer باستمرار بكتل الملفات في المستقبل القريب في أثناء استخدام المستخدم للتطبيق وفق أنموذج تنبؤ دُرِّب باستخدام آثار الوصول إلى الملفات (File Access Traces) التي جُمِعَت من عدة مستخدمين يلعبون لعبة معينة، فيجلبها من خادم التخزين قبل أن يلحظ المستخدم أيَّ توقف بسبب الموارد المفقودة. وتكون المدخلات الأولية لأنموذج التنبؤ هي استدعاءات نظام قراءة الملفات التي تجريها اللعبة، أما ميزات الإدخال المرتبطة بكل استدعاء فهي: مسار الملف، واسم الملف، وموضع مؤشر الملف، وعدد وحدات البايت المُراد قراءتها، والطابع الزمني (2).

يعتقد الباحثون أن AppStreamer يمكن أن يكون جيدًا لأكثر من الهواتف فقط، فعلى سبيل المثال؛ تحتاج السيارات الذاتية القيادة جلبَ البيانات على نحو موثوق من الخوادم بواحدة الميللي ثانية (ms) لكي تستجيب إلى التغيرات المحيطة بها على نحو أكثر أمانًا، وهنا يأتي دور AppStreamer  بوصفه برمجية بينية (middleware) تعمل وفق مفهوم حوسبة الحافة (Edge Computing) على شبكات 5G.

قُيِّم عمل AppStreamer باستخدام لعبتين شائعتين: Dead Effect 2 من النمط  الثلاثي الأبعاد 3D، وFire Emblem Heroes؛ لعبة إستراتيجية ثنائية الأبعاد 2D، وذلك بواسطة دراسة أُجريت على المستخدمين؛ فقد وجد 75٪ و87٪ من المستخدمين على التوالي أن AppStreamer يوفر جودةَ تجربةِ المستخدم نفسها مقارنةً بالطريقة التقليدية التي تُخزَّن فيها الملفات جميعها على الجهاز (2).

وقد خفّض AppStreamer متطلبات التخزين بنسبة 87٪ لـ Dead Effect 2، أما فيما يخص Fire Emblem Heroes فكانت النسبة 86٪ (2).

وعلى صعيد الحاسب الشخصي، قدمت كلية الهندسة في جامعة بويز Boise State مبادرةً للسماح للطلاب بالوصول إلى عدد قليل من التطبيقات الكثيفة الموارد والفيديو مثل: Solidworks 2019 SP3، Ansys Workbench 2019 R2، Fluent 2019 R2، AutoCAD 2019، Autodesk Civil 3D 2019 وغيرها، وذلك عن طريق متصفحاتهم التي تستفيد من خدمة Appstream من أمازون Amazon.

يتطلب البرنامج فقط متصفح ويب يدعم HTML5 واتصال إنترنت سريع يبلغ على الأقل 1 ميغا بت بالثانية (3).

ختامًا، تتجه التكنولوجيا باستمرار لتوفير الموارد المتاحة واستغلالها أفضلَ استغلال، وهذا ما يجعل الأجهزة أكثر كفاءة وجودة؛ مما يفسر الاتجاه المستمر لتبني الخدمات السحابية المختلفة، ولعل هذه التقنية تجعل رسالة "التخزين ممتلئ!" من الماضي.

الهامش:

*حوسبة الحافة (Edge Computing): هي أنموذج للحوسبة الموزّعة، تكون فيه عناصر الحوسبة وتخزين البيانات في موقع جغرافي قريب من موقع المستخدم، وسُمّيت بهذا الاسم إشارةً إلى أن عملية المعالجة والتخزين تجري في حافة الشبكة (5).

المصادر:

1- Service، P.، 2020. Apps Could Take Up Less Space On Your Phone، Thanks To New ‘Streaming’ Software. [هنا] Purdue.edu.
2- Theera-Ampornpunt N، Suryavansh S، Manchanda S، Panta R، Joshi K، Ammar M et al. AppStreamer: Reducing Storage Requirements of Mobile Games through Predictive Streaming [هنا]. arXiv.org. 2020 
3- Services I. AWS Appstream at COEN - Information Technology Services [هنا]. Information Technology Services. 2020
4- [هنا]. Webhost.laas.fr. 2020
5- What Is Edge Computing [هنا]. Ibm.com. 2020