آیا تا به حال احساس کردهاید که برخی اپلیکیشنها مخفیانه در حال بلعیدن شارژ باتری گوشی شما هستند؟ 🔋 جالب است بدانید که گوگل زمانی یک راهحل بسیار عجیب و پیچیده برای این مشکل طراحی کرده بود: یک سیستم مالیاتی داخلی برای اپلیکیشنهای اندروید. این سیستم که «اقتصاد منابع اندروید» (TARE) نام داشت، طراحی شده بود تا با انرژی باتری گوشی شما مانند یک اقتصاد در دنیای واقعی رفتار کند.
در زندگی سه چیز قطعی است: مرگ، مالیات، و اینکه گوگل با هر نسخه جدید اندروید، محدودیتهای بیشتری برای فعالیت پسزمینه اپها اعمال میکند. دلیل این امر واضح است، زیرا انرژی باتری یک منبع گرانبها و محدود است. اگر به اپها اجازه داده شود هر کاری که میخواهند در پسزمینه انجام دهند، عمر باتری گوشی شما به سرعت نابود میشود. با اینکه سیستمهای فعلی مانند JobScheduler و AlarmManager به مدیریت این موضوع کمک میکنند، اما محدودیتهای آنها تا حدی اختیاری است و هزینه واقعی یک وظیفه را بر حسب مصرف باتری محاسبه نمیکنند.

معرفی اقتصاد منابع اندروید (TARE)
اینجا بود که TARE وارد میدان شد؛ یک آزمایش جذاب که اصول اقتصاد کلان را برای مدیریت وظایف پسزمینه به کار میگرفت. این سیستم یک اقتصاد مجازی کامل، با بانک مرکزی، واحد پولی، دستمزد و قوانین خاص خود ایجاد میکرد. هدف چه بود؟ اطمینان از اینکه منبع محدود انرژی باتری به صورت بهینه به اپها و وظایفی اختصاص داده شود که بیشترین ارزش را برای کاربر دارند.
این سیستم توسط «سرویس منابع داخلی» (IRS) اداره میشد که یک اشاره هوشمندانه به اداره مالیات آمریکاست. وظیفه IRS مدیریت کل این اقتصاد مجازی بود.
این سیستم چگونه کار میکرد؟ ارز و هزینهها 🏦
در سیستم TARE، اپلیکیشنها باید از یک واحد پولی مجازی به نام «اعتبار منابع اندروید» (ARC) استفاده میکردند تا هزینه اجرای وظایف پسزمینه را «پرداخت» کنند. حتی یک واحد پولی کوچکتر به نام «کیک» (یک شوخی داخلی بین توسعهدهندگان) نیز وجود داشت که هر یک میلیارد کیک معادل یک ARC بود.

هوشمندی سیستم در این بود که بین دو مفهوم تمایز قائل میشد:
- هزینه تولید (CTP): هزینه واقعی تخمینی یک وظیفه برای سیستم (معادل مصرف باتری) بر حسب ARC.
- قیمت (Price): مقداری از ARC که اپلیکیشن عملاً برای آن وظیفه پرداخت میکرد.
سیستم تلاش میکرد تا «سود» خود (قیمت منهای هزینه تولید) را به حداکثر برساند و وظایفی را در اولویت قرار میداد که قیمت بالاتری داشتند، که از نظر تئوری به معنای ارزش بیشتر برای کاربر بود. این هزینهها ثابت نبودند. برای مثال، وقتی حالت ذخیره باتری روشن بود، هزینهها افزایش مییافت و هنگام شارژ شدن گوشی، کاهش پیدا میکرد. اگر اپلیکیشنی به طور فعال روی صفحه نمایش در حال استفاده بود، هزینه اجرای وظیفه پسزمینه برای آن اغلب به صفر میرسید.

کسب درآمد و خرج کردن اعتبارها 💸
خب، اپلیکیشنها این اعتبارات را از کجا به دست میآوردند؟ آنها دو راه اصلی برای کسب ARC داشتند:
- مقررات (یارانه دولتی): IRS در هنگام نصب یک اپ، مقداری اعتبار اولیه به عنوان «حق تولد» به آن میداد. اگر موجودی یک اپ از حد معینی کمتر میشد، هنگام شارژ شدن گوشی «درآمد پایه» دریافت میکرد تا از ورشکستگی دائمی آن جلوگیری شود.
- پاداش (دستمزد): اپها در ازای تعامل مثبت کاربر، ARC به عنوان پاداش دریافت میکردند. باز کردن اپ، تعامل با نوتیفیکیشنها یا ویجتها، یا حتی مشاهده یک نوتیفیکیشن برای اپ درآمدزایی میکرد.

وقتی یک اپ میخواست یک وظیفه پسزمینه را اجرا کند، سیستم بررسی میکرد که آیا توانایی پرداخت صورتحساب آن را دارد یا نه. اگر موجودی اپ در حین اجرای وظیفه بیش از حد کم میشد، آن وظیفه فوراً متوقف میشد. اگر ARCهای یک اپ تمام میشد، عملاً ورشکسته محسوب شده و دیگر نمیتوانست هیچ کار پسزمینهای را زمانبندی کند.
یک اقتصاد جهانی وابسته به سطح باتری شما
سیستم TARE همچنین کل منابع موجود در سیستم را مدیریت میکرد که به آن «سقف مصرف» گفته میشد. این سقف مستقیماً به سطح باتری گوشی شما وابسته بود. با شارژ ۱۰۰٪، اقتصاد در اوج خود قرار داشت و حداکثر تعداد ARCها در گردش بود. با کاهش شارژ باتری، سقف مصرف نیز به همان نسبت کاهش مییافت. این یعنی فعالیت پسزمینه در زمان پر بودن باتری مجازتر بود و با نزدیک شدن به پایان شارژ، به شدت محدود میشد.

IRS حتی سیاستهایی برای تنظیم اقتصاد داشت. میتوانست اعتبارات را از اپهایی که اخیراً استفاده نشده بودند پس بگیرد (نوعی مالیات برای جلوگیری از احتکار) و سقف مصرف کل را بر اساس اینکه باتری سریعتر یا کندتر از نرخ هدف تخلیه میشود، به صورت پویا تنظیم کند.
چرا TARE کنار گذاشته شد؟
با وجود تمام این ایدههای نوآورانه، TARE یک آزمایش کوتاهمدت بود که گوگل قبل از انتشار اندروید ۱۵ آن را حذف کرد و هرگز به صورت پیشفرض روی هیچ دستگاهی فعال نشد. دلیل رسمی این تصمیم مشخص نیست، اما به احتمال زیاد این سیستم بیش از حد پیچیده بود تا بتوان آن را به طور مؤثر پیادهسازی و متعادل کرد. تنظیم یک اقتصاد مجازی که کاملاً با مصرف باتری در دنیای واقعی مطابقت داشته باشد، یک چالش عظیم است. همچنین، این سیستم بار سنگینی بر دوش توسعهدهندگان برای تطبیق اپهایشان با این مدل اقتصادی جدید قرار میداد.
اگرچه شاید هرگز شاهد یک اداره مالیات برای اپهایمان نباشیم، TARE همچنان نگاهی جذاب به این موضوع است که چگونه سیستمعاملها میتوانند از مدلهای خلاقانه و پیچیده برای حل مشکلات اساسی مانند عمر باتری استفاده کنند.
منبع: Android Authority