मैंने एक बार MMOs के लिए इसे लागू किया था। अपनी बेटी के लिए WOW स्थापित करने का प्रयास करते हुए एक सप्ताह के अंत में 48 बीत चुके घंटे, (पैच, डाउनलोड त्रुटियां, आदि) ले लिया, इसलिए मैंने अपना बेहतर समाधान बनाने का फैसला किया।
खेल को आमतौर पर चलने से पहले 10 जीबी डेटा की आवश्यकता होती है। सभी फ़ाइलों की वास्तव में आवश्यकता नहीं है, लेकिन खेल तब तक प्रतीक्षा करते थे जब तक कि सभी फाइलें स्थानीय रूप से मौजूद न हों। मेरा समाधान यह था कि खेल को स्थानीय स्तर पर सामान्य रूप से चलाया जाए, लेकिन EXE को धोखा दिया गया था (एक विंडोज़ फ़ाइल मिनीफ़िल्टर का उपयोग करके) यह सोचकर कि सभी फाइलें पहले से मौजूद थीं। जब अनुरोधित फ़ाइल स्थानीय नहीं थी, तो फ़ाइल सिस्टम ने इसे डाउनलोड किया और इसे सहेजा। खेल को धीरे-धीरे आवश्यकतानुसार स्थानीय रूप से कॉपी किया गया। जब वहाँ उपलब्ध बैंडविड्थ था, तो अन्य अभी तक आवश्यक फ़ाइलों को पृष्ठभूमि में धोखा नहीं दिया गया था। यह सभी खेलों के साथ काम करने की आवश्यकता के बिना recompile, क्योंकि मेरे minifilter ड्राइवर फ़ाइलों को जरूरत पड़ने पर मिला।
सबसे बुरी कमी थी विलंबता। इसका समाधान यह था कि एक छोटी मार्कोव चेन मॉडल बनाई जाए, जिससे यह अनुमान लगाया जा सके कि किस फाइल की अगली जरूरत हो सकती है, और पृष्ठभूमि लोडर को प्राथमिकता देना। यह एक आकर्षण की तरह काम करता है, और हमारा MMO सिर्फ EXE के बाद लगभग IMMEDIATELY को चलाने में सक्षम था और कुछ लोडिंग स्क्रीन फाइलें स्थानीय थीं (~ 20 एमबी)। हम एक वेबपेज पर एक लिंक पर क्लिक करने और लगभग 30 सेकंड में अपना 10+ जीबी गेम चलाने में सक्षम थे । हमारे पास 99% हिट दर थी, जिसका अर्थ है कि जब खेल को पहली बार एक नई फ़ाइल की आवश्यकता थी, तो यह पहले से ही था!
मुझे किसी और को इसे लागू करने में मदद करने में खुशी होगी।