नमस्ते। हम क्लाउड कंप्यूटिंग (cloud computing) पर हमारी चर्चा जारी रखेंगे। बल्कि, हम मोबाइल क्लाउड कंप्यूटिंग (mobile cloud computing) पर हमारी चर्चा जारी रखेंगे। तो, हम मोबाइल क्लाउड कंप्यूटिंग (mobile cloud computing) के बारे में क्या चर्चा कर रहे हैं, जहाँ कहा है, कि मोबाइल डिवाइस, आज-कल हर जगह उप्लब्ध हैं। स्मार्ट मोबाइल उपकरणों की एक बड़ी महिमा (capability)है। जिसमें बहुत से अनुप्रयोगों को करने या, बहुत सारे अनुप्रयोग चलाने की काफी अच्छी क्षमता है। चूंकि क्षमता बढ़ने के साथ ही, अधिक कम्प्यूटेशनल (computational) और डेटा गहन अनुप्रयोगों को चलाने की आवश्यकता भी उन प्रकार के अनुप्रयोगों में वृद्धि हुई है। अब, हालांकि मोबाइल उपकरणों के इस संसाधन में वृद्धि हुई है, लेकिन हम अभी भी महसूस करते हैं, कि कुछ मामलों में यह बैकग्राउंड, बैकएंड (background, backend), कुछ और कंप्यूटिंग (computing) सेवाएं थीं जो, बेहतर हो सकती थी ,जैसे कि हम यहां कुछ भाग निष्पादित करते हैं, कुछ भाग ऑफलोड (offload), बैकएंड उपकरणों (backend devices) पर गणना या डेटा का कुछ हिस्सा जहां, हमने देखा है ,कि क्लाउड (cloud) एक महत्वपूर्ण भूमिका निभा सकता है। लेकिन चीजों में कई मुद्दे हैं, कि डेटा और प्रक्रियाओं के किसी भी स्थानांतरण में लागत शामिल है। निष्पादन समय के मामले में लागत विशेष रूप से यदि देरी किसी चीज़ से अधिक है, तो यह अविश्वसनीय हो जाता है। हम देखते हैं, कि विश्वसनीयता का सवाल यह है, कि जब आपका एप्लिकेशन (application) चलाने के लिए किसी अन्य स्थान पर जाना है। इसलिए, यदि वहां बहुत निर्भरता है, तो इंटरमीडिएट नेटवर्क या वायरलेस नेटवर्क(intermediate network or wireless network), दूसरे छोर पर संसाधनों की उपलब्धता या विफलता या, दूसरी छोर में गलती और निश्चित रूप से, मोबाइल पर डिवाइस में गलती स्वयं के डिवाइस की गलती है। जबकि, जब आप उन सभी चीजों को ऑफ़लोड (offload) करते हैं, तो सही तरीके से देख पातें हैं, कि यह सुरक्षा के मुद्दे हैं। तो, अब तक आपके डिवाइस को चलाने वाला एप्लिकेशन (application), के पास प्रक्रिया है और उस पर कोई डेटा है। लेकिन, जब भी एप्लिकेशन (application) किसी अन्य परिसर या किसी अन्य डिवाइस या क्लाउड (cloud) में चल रहा है, जिसे किसी तीसरे पक्ष द्वारा बनाए रखा और स्वामित्व में रखा जाता है, तो आप उन डेटा और प्रक्रियाओं के संबंध में गोपनीयता और अन्य सुरक्षा मुद्दों के बारे में चिंतित हैं। तो, यह बहुत मुश्किल मुद्दा बन गया है और फिर भी कई कारणों से मोबाइल क्लाउड कंप्यूटिंग (mobile cloud computing) बहुत लोकप्रिय हो रही है। सबसे पहले आप अब एक छोटे से डिवाइस द्वारा चल रहे या, बड़े पैमाने पर नियंत्रित होने वाले बड़े एप्लिकेशन (application) के बारे में सोच सकते हैं। ऐसी, चीजें हो सकती हैं, जो आपकी प्रक्रिया किसी अन्य व्यक्ति डेटा का उपयोग कर सकती हैं। इसलिए, आप वहां जाते हैं, जहां डेटा और प्रक्रिया है, या मोबाइल डिवाइस डेटा के संग्रह के रूप में कार्य करता है, जो कुछ केंद्रीय भंडार (central repository) में योगदान दे रहा है,कुछ प्रक्रिया को इस डिवाइस पर, या कुछ अन्य डिवाइस पर कर सकते हैं। इसलिए, डेटा इंटरऑपरेबिलिटी इश्यू (data interoperability issue) के आदान-प्रदान में और इस तरह के उपकरणों को साझा करने के मुद्दे हैं। या, हम इस के विकास को देखते हैं, जहाँ डिवाइस के इंटरनेट प्रयोग में आते हैं, जहां क्लाउड (cloud) इतना सही प्रबंधन करने की केंद्रीय भूमिका के रूप में होता है। इसलिए, हम मोबाइल क्लाउड कंप्यूटिंग (mobile cloud computing) के हमारे पिछले व्याख्यान के साथ लगातार हमारे मोबाइल क्लाउड कंप्यूटिंग (mobile cloud computing) के संबंध में कुछ पहलुओं को देखेंगे, और इसके बजाय हम कुछ शोध कार्यों को संदर्भित करने का प्रयास करेंगे। जो, हमें अवसर प्रदान करेंगे की हम इस बारे में एक बेहतर विचार करते हैं, कि विभिन्न चुनौतियों और उन्हें कैसे संभालना है और इतने आगे क्या हैं। इसलिए, हम एक मोबाइल क्लाउड कंप्यूटिंग (mobile cloud computing) देखेंगे, क्योंकि हमने कुछ महत्वपूर्ण चुनौतियों को देखा है, जिसके लिए एक अनुप्रयोग के गतिशील विभाजन (dynamic partition) की आवश्यकता है, ताकि ऊर्जा बचत निष्पादन पक्ष को सही बनाया जा सके। तो, जैसा कि हमने पहले उल्लेख किया था, दो चीजें भी एक ऊर्जा की बचत है और निष्पादन समय को सही तरीके से अनुकूलित करने के लिए है। यदि समय सीमा से परे है, तो उस प्रक्रिया को चलाने के लिए व्यवहार्य नहीं हो सकता है, इसके लिए सॉफ़्टवेयर (software) या कुछ मिडलवेयर (middleware) की भी आवश्यकता होती है। जो, यह तय करता है, कि एप्लिकेशन (application) के कौन से हिस्से स्थानीय रूप से निष्पादित किए जाएंगे और किस हिस्से का आवेदन को बाहरी या दूरस्थ रूप से या, क्लाउड (cloud) पर निष्पादित करने की आवश्यकता है। तो, यह एक क्लासिक अनुकूलन समस्या (classic optimization problem) है। इसलिए, हम इस तरह के साधनों से एप्लिकेशन (application) को अलग-अलग हिस्सों में विभाजित कर सकते हैं, कुछ हिस्सों या आवेदन के घटक को स्थानीय रूप से और कुछ दूरस्थ रूप से चलाने की आवश्यकता है। यह, स्थिर रूप से किया जा सकता है, जैसे कि मुझे इसका प्राथमिक ज्ञान है,या कुछ मामलों में मुझे एक प्राथमिकता नहीं पता है, जिसे स्थानीय या दूरस्थ रूप से होने की आवश्यकता है। मुख्य रूप से यह डेटा और अन्य प्रकार की चीजों पर निर्भर है। तो, मुझे यह करना होगा और इन सभी चीजों को गतिशील करने की आवश्यकता होगी। और जैसा कि हम समझते हैं, जब भी हमें इस तरह की चीज की आवश्यकता होती है, एक समझ शेड्यूलिंग सिंक्रनाइज़ (sense scheduling synchronize) करते हैं और संसाधन प्रबंधन बड़े पैमाने पर प्रयोग में आता है। तो, यहां यह सभी चीजें हैं और जब आप विशेष रूप से डिवाइस परकर रहे हैं और बुनियादी ढांचे हैं। जिनका, स्वामित्व और विभिन्न अधिकारियों द्वारा बनाए रखा जाता है,तो यह एक और मुश्किल है। इसलिए, मोबाइल उपकरणों की तरह कुछ और क्लाउड (cloud) अन्य तीसरे पक्ष द्वारा बनाए रखा जाता है। मध्यवर्ती आपके पास सेवा प्रदाता है, जिनके पास फिर से एक अलग प्रकार का अधिकार है। इसलिए, उन सभी चीजों को हल करने के लिए, एक बहुत ही जटिल समस्या को हल करने की आवश्यकता है। तो, यह एक काम है, जिसे इस पेपर में संदर्भितकिया गया है, जहाँ बुनियादी ढांचे का उपयोग कर मोबाइल सहायता (mobile assistance) है। तो, यह एमसीसी (MCC) का एक रूप है। इसलिए, एमएयूआई (MAUI ) प्रोग्रामर (programmer) को, कार्यक्रम के प्रारंभिक विभाजन का उत्पादन करने में सक्षम बनाता है। इसलिए, प्रोग्रामर (programmer) प्रत्येक विधि को रिमोटेबल (remoteable) के रूप में चिह्नित करता है, या इसका मतलब यह नहीं है, कि क्या रिमोट या स्थानीय, देशी विधियां रिमोटेबल (remoteable) नहीं हो सकती हैं, जिन्हें डिवाइस पर ही करने की आवश्यकता है, एमएयू फ्रेमवर्क (MAU framework) एनोटेट (annotate) का उपयोग यह तय करने के लिए करता है, कि विधि को निष्पादित किया जाना चाहिए या नहीं, सही तरीके से निष्पादित करने के लिए ऊर्जा और समय बचाने के लिए क्लाउड सर्वर (cloud server) पर। इसलिए, क्लाउड (cloud) पर निष्पादित करने के लिए कुछ बार-बार इस प्रक्रिया और डेटा को क्लाउड (cloud) में स्थानांतरित करने का समय होता है और यदि डेटा की आवश्यकता होती है और एमएयू सर्वर (MAU server) क्लाउड घटक होता है, तो डेटा वापस प्राप्त करें। इसलिए, एक एमएयू क्लाइंट(MAU client) है, जो मोबाइल पक्ष पर है ,एक एमएयू सर्वर (MAU server) है जो क्लाउड घटक (cloud) है, फ्रेमवर्क (framework) में वर्कफ़्लो के लिए आवश्यक सॉफ़्टवेयर मॉड्यूल (software modules)की आवश्यक हैं। इसलिए, क्लाइंट सर्वर (client server) , एक प्रकार का आर्किटेक्चर है, जहां वे प्रस्तावित करते हैं और सिंक्रनाइज़ करने में सक्षम हो सकते हैं। तो, यदि आप देखते है की ऐप (app) है, और वहां एक प्रोफाइलर (profiler) और सॉल्वर प्रोफाइलर(solver profiler) मूल रूप से एप्लिकेशन और प्रोफाइल का प्रोफाइलिंग करता है, सर्वर के विभाजन के साथ इन गेट्स को यहां निष्पादित किया जाता है, और आरपीसी कॉल (RPC calls) के साथ और फिर यह, दो और चार चीजों में, लैन सर्वर (Lan server) से संवाद करता है। ऐप पर कुछ हिस्सों में ऐप और डिवाइस पर कुछ हिस्सों में कुछ य स्मार्ट मोबाइल डिवाइडर, एसएमडी (smart mobile divider, SMD)और कुछ क्लाउड (cloud) हिस्सा हैं, तो स्वयं के बीच सिंक(sync) के रूप में प्रोफ़ाइल। तो, एक और काम है जिसे कॉमेट क्वाड (comet quad) कहा जाता है, निष्पादन पारदर्शी रूप से स्थानांतरित करके कोड ऑफ़लोडिंग (code offloading by migrating execution transparently)। तो, अनमोडिफाइड एप्लिकेशन ( unmodified application)पर काम करता है, कोई भी स्रोत कोड जो ऐप पर ही आवश्यक है। थ्रेड (thread) को वर्कलोड (workload) के आधार पर मशीन के बीच माइग्रेट करने की अनुमति देता है, वे थ्रेड्स माइग्रेट (threads migrate) करने वाली चीजों के आधार पर, वितरित मेमोरी साझा मेमोरी (memory shared memory) या डीएसएम मॉडल (DSM model) को रनटाइम इंजन (runtime engine)पर लागू करते हैं । जो, कंप्यूटर आर्किटेक्चर या उन्नत कंप्यूटर आर्किटेक्चर (computer architecture or advanced computer architecture) और विभिन्न प्रकार के माध्यम से जाते हैं, वे समझते हैं कि यह डीएसएम (DSM model) मॉडल। एक डीएसएम (DSM) मशीन में थ्रेड्स (threads) के पारदर्शी आंदोलन की अनुमति देता है। कंप्यूटर आर्किटेक्चर (computer architecture) में डीएसएम मेमोरी आर्किटेक्चर (DSM memory architecture ) का एक रूप है,जहां फिजिकली सेपरेट मेमोरीज (physically separate memories) एक, तार्किक रूप से साझा पता shared address) स्थान के रूप में संबोधित कर सकती हैं, इस डीएसएम (DSM) के बारे में हम क्या कहते हैं, या उस पर तेजी से एक विचार करते हैं। तो, वैसे ही एक फोन ओएस और रिमोट ओएस (a phone OS and remote OS) है। इसलिए, इसे इस मेमोरी स्टेटस (memory states) को बनाए रखने की आवश्यकता है, और एक वितरित मेमोरी सिंक्रनाइज़ेशन (distributed memory synchronization) है। इस प्रक्रिया को अन्य कोड निष्पादित या पारदर्शी रूप से निष्पादित करके ऑफलोड किया जाता है। इसलिए, ऐसा नहीं है, कि न तो स्रोत कोड की आवश्यकता है और न ही उपयोगकर्ता के, अंत में यह पता चला है, कि यह चीजें बैकएंड (backend) पर चल रही हैं। तो, इसके लिए केवल प्रोग्राम बाइनरी (program binaries) की आवश्यकता होती है, जो, सही ढंग से बहु थ्रेड प्रोग्राम (multi thread programs) निष्पादित करें। इसलिए, इसे केवल स्रोत द्विआधारी स्रोत कोड की आवश्यकता नहीं है(it does not require source code only the binaries), इसके अलावा माइग्रेशन (migration) के दौरान डेटा यातायात (data traffic) पर सुधार भी संशोधित किया गया जो ढेर (heap)के केवल हिस्सों को भेजकर संभव है। तो, यह पूरे ढेर(whole heap) को प्रसारित नहीं कर रहा है, लेकिन ढेर (heap) का एक हिस्सा जिसे संशोधित किया गया है। इसलिए, हम जो मुख्य समस्या को हल करने के लिए महत्वपूर्ण समस्या देखते हैं, वह अपने मूल एमसीसी ढांचे (MCC framework) पर एक प्रोग्राम को सही तरीके से विभाजित करने या विषम स्रोतों पर निष्पादन को हल करना चाहिए। इस प्रकार न केवल विभाजन, इसे विषम संसाधनों पर निष्पादित करने की आवश्यकता है। यह मोबाइल डिवाइस की ओर से एक है, जो कुछ मोबाइल संबंधित ओएस (OS), हो सकता है, जब आप क्लाउड साइड (cloud side) पर चल रहे हों, जो कि किसी अन्य प्रकार का वातावरण है। तो, यह एक विषम वातावरण (heterogeneous environment) है, कि चीजों को चलाने की जरूरत कैसे है। इसलिए, यह एक कार्य विभाजन समस्या है, जैसा कि हमने अन्य कंप्यूटर आर्किटेक्चर और संगठनों (computer architecture and organizations) में देखा है, जो व्यापक रूप से प्रोसेसर शेड्यूलिंग (processor scheduling) में, नौकरी शेड्यूलिंग समस्या (job scheduling problem )के रूप में अध्ययन करते हैं, और यहां हमारे पास इस प्रकार की चुनौतियां हैं। तो, उस कोण से देखने की जरूरत है। तो, कार्य विभाजन समस्याओं (task partitioning problems)। तो, हमारे पास आम तौर पर, एमसीसी (MCC) में कार्य विभाजन समस्या में क्या है, जो एक कॉल ग्राफ़ अनुप्रयोग विधि (call graph representing)या कॉल अनुक्रम (call sequence) का प्रतिनिधित्व करता है। तो, यह एक कॉल ग्राफ़ (call graph) है, ग्राफ में प्रत्येक नोड (node) के गुण मोबाइल डिवाइस पर विधि निष्पादित करने के लिए, खपत ऊर्जा और रिमोट सर्वर (remote server) पर प्रोग्राम स्टेट्स (program states) को स्थानांतरित करने के लिए, खपत ऊर्जा को दर्शाता है। तो, एक मोबाइल डिवाइस में खपत ऊर्जा है और चीजों को स्थानांतरित कर दिया है। हम क्या सोच रहे हैं, कि क्लाउड एंड (cloud end) एक दूसरा एंड (end) है, जो, बहुत संसाधनपूर्ण और कुशल है। इसलिए, ऊर्जा का उपभोग निष्पादित करने में होता है, कि क्लाउड एंड (cloud end) में डिवाइस एंड (device end), की तुलना में ऊर्जा खपत नेग्लेज़िब्ल (negligible) है। तो, अगर हम लक्ष्य और बाधा को देखते हैं, तो ऊर्जा उपभोग को कम किया जाना चाहिए। इसलिए, यह सीमा के भीतर होना चाहिए कि समय पूंजी टी (time capital T), अन्य स्थिरता, मोबाइल डिवाइस कुल मौद्रिक लागत (mobile device total monetary cost ) इत्यादि, पर कुछ विधियों को निष्पादित किया जाना चाहिए। तो, हमारे पास दो कांस्टेंट (constant) हैं। इसका मतलब है, हमें लक्ष्य की जरूरत है, कि ऊर्जा खपत को कम किया जाए, समय उस विशेष दहलीज मूल्य (particular threshold value) के भीतर होना चाहिए। और एप्लिकेशन (application) के कुछ हिस्सों की तरह, अन्य कांस्टेंट (constant) भी हो सकती है, डिवाइस में इसे निष्पादित करने की आवश्यकता हो सकती है। जैसे, कि मैं इसे ऑफ़लोड (offload) नहीं कर पा रहा हूं। और मैं उस चीज़ की कुल लागत को देख सकता हूं, जिसकी कुल लागत कुछ से अधिक कुछ निष्पादित नहीं करनी चाहिए, इसलिए ये चीजें आवश्यक हैं। तो, अगर हम उस छोटे गणितीय (little mathematically) रूप से देखते हैं। इसलिए, हमारे पास एक निष्पादन ग्राफ है, जहाँ हम कहते हैं, कि ये v1, v4, v9 इस मामले में मूल कार्य हैं। इसका मतलब है, डिवाइस में स्वयं को निष्पादित करने की आवश्यकता है। मैं इसे ऑफ़लोड (offload) नहीं कर सकता। तो, ऐसा हो सकता है, यहां पर हाइलाइट (highlight) किए गए नोड्स (nodes) को निष्पादित डिवाइस (executed device) होना चाहिए, ऐजेस (edges) निष्पादन के अनुक्रम का प्रतिनिधित्व करते हैं ,कि निष्पादन का अनुक्रम कैसे होगा। किसी भी गैर-हाइलाइट किए गए नोड (non highlighted node )को स्थानीय रूप से या मोबाइल डिवाइस पर निष्पादित किया जा सकता है। इसलिए, अगर इसे स्थानीय डिवाइस पर ऑफलोड (offload) किया गया है, तो यह पहली चार इंद्रियों (first four senses) को समझता है, कि यह कितनी ऊर्जा को सही ढंग से बचा सकता है, या अन्य अर्थ में यह स्थानीय पर काम किया गया था, कि कितनी ऊर्जा ली जा सकती थी। इसलिए, अगर मैं इसे रिमोट (remote) पर ऑफ़लोड (offload) करता हूं, तो उसे सहेजा गया है, लेकिन मुझे यह भी देखना होगा कि, इस डेटा को सही तरीके से स्थानांतरित करने की लागत कहां है। इसलिए, इसमें कोई लागत शामिल है, या ऊर्जा लागत चालान है। डिवाइस से डेटा को रिमोट डिवाइस (remote device) पर स्थानांतरित करने में शामिल ऊर्जा वाले व्यय को सही ढंग से मोबाइल डिवाइस द्वारा, किया जाना चाहिए। तो, इसे वहां होने की जरूरत है। तो , अगर हमें इसे अधिकतम करने की आवश्यकता है। इसलिए, यदि ऐसा होता है, तो यह परिणाम सकारात्मक होता है, या अधिकतम अधिकतम अधिकतम होता है, तो मेरे पास पर्याप्त ऊर्जा बचाई जाती है, अन्यथा यह वहां नहीं हो सकता है, और निश्चित रूप से करने का कोई लाभ नहीं है, यह भीतर होना चाहिए कुल निष्पादन विलंबता एल (L) से कम होना चाहिए, हमारे पास यह नहीं होना चाहिए जो, हमें विशेष विलंबता एल (L)से कम होने की आवश्यकता है। इसलिए, यह उस विशेष चीजों के भीतर होना चाहिए और मुझे उस पर निर्भरता की आवश्यकता है, जिस पर एक निष्पादन को निष्पादित करने की आवश्यकता है, यदि ग्राफ़ में निर्भरता है, जिसे यहां निष्पादित करने की आवश्यकता है। इसलिए, जैसा कि हम चर्चा कर रहे हैं, कि दो प्रकार के विभाजन एक स्थिर और गतिशील हैं, जैसा हमने देखा भी है। स्थिर होने पर एप्लिकेशन को आईएलपी सॉल्वर (ILP solver) का आह्वान किया जाता है और यह बताता है, कि प्रत्येक विधि को निष्पादित किया जाना चाहिए। तो, यह कहता है, कि स्थिर रूप से जब इसे लॉन्च किया जाता है। इसलिए, पहले समाधान खोजने के लिए ह्युरिस्टिक (heuristic) समाधान भी है और हम उन्हें तैनात कर सकते हैं। एक गतिशील या अनुकूली विभाजन के मामले में, हम लंबे समय तक चलने वाले कार्यक्रम के लिए क्या करते हैं। पर्यावरण की स्थिति सही हो सकती है, यदि यह लंबे समय तक निष्पादन कर रहा है, तो पर्यावरण की स्थिति डेटा की आवश्यकता और बैंडविड्थ (bandwidth) को स्थानांतरित करने वाले दूरस्थ संसाधनों की उपलब्धता में भिन्न हो सकती है, वे सभी चीजें अलग-अलग हो सकती हैं। इनपुट के आधार पर एक विधि की ऊर्जा खपत भिन्न हो सकती है। इसका मतलब है, दूसरे अर्थ में मुझे एक कॉल करने की आवश्यकता है, कि कौन से विभाजन को स्थानीय रूप से और दूरस्थ रूप से निष्पादित करने की आवश्यकता है। क्योंकि, चीजों की अलग-अलग प्रकृति के कारण होस्टिंग (hosting) हो रहा है। तो, यह एक और चुनौती है। तो, जैसा कि हम देखते हैं, कि जब हम इस प्रकार के विभाजन करते हैं और नौकरी स्थानांतरित करते हैं, तो स्थानीय रूप से कुछ निष्पादित करता है, कुछ दूरस्थ रूप से या समय सीमा के भीतर सब कुछ, एक विशेष थ्रेसहोल्ड मान, थ्रेसहोल्ड समय (threshold values, threshold time) और हम ऊर्जा की बचत को अधिकतम करना चाहते हैं। इसलिए, ये इस तरह के मुद्दों को प्राप्त करने के लिए अलग-अलग बाधा हैं। इसलिए, कई चुनौतियां और मुद्दों को संबोधित करने की आवश्यकता है। इसलिए, वायरलेस नेटवर्क (wireless network) के रेडियो संसाधन (radio resource)की वजह से मोबाइल संचार (mobile communication) मुद्दे कम बैंडविड्थ (low bandwidth) सबसे बड़ी समस्या है, वायर्ड नेटवर्क की तुलना में कहीं अधिक दुर्लभ है। इसलिए, यह मोबाइल बैंडविड्थ (mobile bandwidth)या वायरलेस बैंडविड्थ (wireless bandwidth)की बैंड उपलब्धता, कभी-कभी वायर्ड (wired)प्रकार की चीजों की तुलना में काफी कम है। इसलिए, यह उतना ही कम नहीं है, जितना कि यह लंबे समय तक चलने वाले निष्पादन कार्यकारी है, लंबे समय तक चलने वाली प्रक्रिया का मतलब है, कि यह समय के साथ भिन्न हो सकता है। इसलिए, एक गारंटीकृत बैंडविड्थ (guaranteed bandwidth) प्राप्त करना एक चुनौती सेवा उपलब्धता है। मोबाइल उपयोगकर्ता यातायात भीड़ नेटवर्क विफलता (traffic congestion network failure) मोबाइल सिग्नल शक्ति (mobile signal strength) और इतने आगे के कारण सेवा प्राप्त करने के लिए क्लाउड (cloud) से कनेक्ट करने में सक्षम नहीं हो सकता है। मांग स्केलेबिलिटी (demand scalability) पर, कनेक्टिविटी (connectivity) पर, हमेशा एमसीसी (MCC) आवश्यकता को पूरा करने के लिए अत्यधिक विषम नेटवर्क के साथ वायरलेस कनेक्टिविटी (wireless connectivity) को संभालने वाली विषमता का मुद्दा, ऊर्जा दक्षता एक कठिन समस्या है। इसलिए, इसमें विषम विषमता शामिल है और ये अलग-अलग चुनौतियां हैं। इसलिए, संचार मुद्दों के साथ ये अधिक समस्याएं हैं, कुछ गणना मुद्दे हैं या संबंधित मुद्दों को ऑफ़लोड करने की गणना कर रहे हैं, इनमें से एक चीजों की एक प्रमुख विशेषता है, जिसमें आप इसे ऑफ़लोड कर सकते हैं। यह ऊर्जा को बचाने में हमेशा प्रभावी नहीं होता क्योंकि हमने देखा है, कि यदि इसे पैरामीटर नहीं बने हैं, तो यहाँ ऊर्जा की बचत नहीं हो सकती है। हो सकता है, कि हम उस उद्धरण के भीतर जो भी कहें, लाभदायक मार्जिन को छोड़ दें। तो, यह महंगा सामान हो सकता है। यह निर्धारित करना महत्वपूर्ण है, कि ऑफ़लोड करना है और स्रोत कोड का कौन सा हिस्सा ऑफ़लोड करना है या नहीं। इसलिए, यह एक महत्वपूर्ण चुनौती है, विशेष रूप से विभिन्न प्रकार की आवश्यकता इत्यादि के साथ विभिन्न प्रकार के आवेदन हैं और यह तय करना एक बड़ी चुनौती है, कि कहां ऑफ़लोड करना है, कितना ऑफ़लोड करना है और आगे भी। तो, अन्य परीक्षण या अन्य प्रकार की एक पहल है, कि क्लाउडलेट (cloudlet) का उपयोग करके कोड ऑफ़लोडिंग है। इसलिए, यदि आप क्लाउडलेट (cloudlet) देखते हैं, तो यह एक विश्वसनीय संसाधन समृद्ध कंप्यूटर या क्लस्टर कंप्यूटर (trusted resource rich computer or cluster computers) है, जो इंटरनेट से अच्छी तरह से जुड़ा हुआ है और आस-पास के मोबाइल उपकरणों द्वारा उपयोग के लिए उपलब्ध है। तो, यह वही है जो हम कहते हैं, कि हम छोटे संस्करण या क्लाउड (cloud) के रूप में देख सकते हैं। लेकिन, यह संसाधन समृद्ध है, यह मोबाइल उपकरणों या आस-पास के क्षेत्रों के इलाके में है। इसलिए, जब आप कोर्ट कोड ऑफलोडिंग (court code offloading) भाग को देखते हैं, तो रिमोट सर्वर पर कोड को ऑफ़लोड करना और इसे निष्पादित करना। इसलिए, यह आर्किटेक्चर (architecture) एकल हॉप नेटवर्क (hop network) का उपयोग करके विलंबता को कम करता है और वाई-फाई, शॉर्ट रेंज रेडियो ब्रॉडबैंड वायरलेस (Wi-Fi, short range radio broadband wireless), इत्यादि का उपयोग करके संभावित रूप से बैटरी खपत को कम करता है। तो, हम सबसे पहले ऑफलोडिंग को देखने का प्रयास करते हैं और दूसरा जब हम कई हॉप (multiple hops) बनाते हैं, तो लागत बढ़ जाती है। तो, आप यह देखने का प्रयास करते हैं, कि क्या मैं छोटे क्लाउड (cloud) की उपस्थिति कर सकता हूं, जो इस प्रकार के आवेदन की देखभाल कर सकते हैं, इस प्रकार के आवेदन के इस हिस्से को निष्पादित करता है। यदि, हमारें पास एक हॉप (hop) हो तो, हम क्या कह सकते हैं, कि हमारे पास उन संसाधनों के बहुत करीब होने के साथ बेहतर ऊर्जा बचत और बेहतर प्रतिक्रिया समय हो सकता है। तो क्लाउड (cloud) कोड का उपयोग करके, क्लाउड (cloud) कोड ऑफलोडिंग करें। इसलिए, हमारे पास एक मोबाइल डिवाइस, मोबाइल नेटवर्क और रिमोट क्लाउड है और यदि आप देखते हैं कि विभिन्न छोटे- छोटे सिस्टम या मोबाइल क्लाउडलेट (cloudlet) के सेट (set) हैं, और क्लाउडलेट नोड्स (cloudlet nodes) जो, इन उपकरणों का ख्याल रखता है, या हम उस लक्ष्य को क्या कहते हैं, जो विलंबता को कम करने के लिए, क्लाउड (cloud) सेवा सर्वर तक पहुंचने में मोबाइल उपकरणों के नजदीक एक सर्वर का उपयोग करे। इसका मतलब है, कि पूर्ण स्थान क्लाउड (cloud) के बजाय, हमारे पास क्लाउड (cloud) या क्लाउडलेट (cloudlet) का छोटा संस्करण हो सकता है। क्लाउडलेट (cloudlet) एक नया वास्तुकला तत्व (architectural element ) है, यजो मोबाइल कंप्यूटिंग (mobile computing) और क्लाउड कंप्यूटिंग (cloud computing) के अभिसरण से उत्पन्न होता है। यह मोबाइल डिवाइस क्लाउडलेट (cloudlet) और क्लाउड (cloud) जैसे 3 स्तरीय आर्किटेक्चर (3 tier architecture) के, मध्य टायर (middle tire) का प्रतिनिधित्व करता है। तो, दूसरे अर्थ में हम विलंबता को कम करने के लिए, क्या करने की कोशिश कर रहे हैं, और एक बेहतर ऊर्जा बचत संभव है, कि क्लाउड (cloud) एक तरफ बेहतर ऊर्जा की बचत हो, एक तरफ एक उपकरण जो हमने बनाया है, हम एक मध्यवर्ती चीज बनाते हैं, हम कहते है की क्लाउडलेट (cloudlet) है, जो चीजों का ख्याल रखता है। अब ऑफलोड कब एक गंभीर सवाल है। इसलिए, अगर हम चीजों का एक बहुत सी सरल फॉर्मूलेशन (straightforward formulation) देखते हैं। तो, अगर हम उस समीकरण को देखते हैं। तो, हम क्या कहते हैं कि मोबाइल फोन प्रति सेकेंड ऊर्जा लागत है, इसका मतलब है, मोबाइल फोन कंप्यूटिंग (computing) कर रहा है, पीआई (Pi) जो, ऊर्जा का कारण है, क्योंकि मोबाइल फोन निष्क्रिय है। जब मोबाइल फोन डेटा संचारित कर रहा है, तो पीआरटी प्रति सेकेंड प्रति सेकेंड (Ptr is the per second a cost per second )है। तो, एक मोबाइल डिवाइस या तो कंप्यूटिंग या निष्क्रिय या डेटा संचारित हो सकता है। तो, यह तीन घटक पीसी, पीआई या पीआरटी (Pc, Pi or Ptr) या डेटा संचारित करते समय ऊर्जा करते हैं। अब यदि आप सी (c) को निर्देश की संख्या मानते हैं, और एम (m) मोबाइल की गति तो, सी (c) निर्देशों की गणना करता है। तो, हम क्या देखते हैं, कि यदि पीसी (Pc C) द्वारा सी (c) को बंद किया गया है, तो इसे सी (c) द्वारा एम (m) माइनस पीआई सी (Pi C) द्वारा पीसी सी (Pc C) ऑफलोड किया गया है, तो सी (c) निर्देश की गणना करने के लिए क्लाउड (cloud) की गति क्या है। तो, यदि यह है तो पी Ps एस (p Ps) क्लाउड (cloud) की गति है, तो मैं देख सकता हूं कि निष्क्रिय पाई निष्क्रिय समय है (idle Pi is the idle time), सी (c) गति से निर्देश की संख्या है। तो, एस (S) द्वारा सी(c) द्वारा, पी (P) और बीडी (B D) द्वारा प्रेषण पी trd (P trd )का मतलब है, संचार करने के लिए कुल डेटा और बी (B) बैंडविड्थ उपलब्ध है। तो, अगर हम ऑफलोड करते हैं। तो, यह मेरा समग्र Ballpark आंकड़ा सही है, यह एक सकारात्मक संख्या होना चाहिए। तो, यह कहता है कि मैं ऊर्जा को सही बचाता हूं। तो, यह मेरी ऊर्जा खपत थी अगर मैं , इस खपत को ऑफ़लोड करता हूं तो वहां नहीं होता है, और फिर यह ऊर्जा की बचत की बचत है, या यदि मैं कहता हूं कि सर्वर या क्लाउड (cloud) सर्वर एफ समय तेज है, तो मैं देख सकता हूं एफ में एम (F into M) के बराबर है । इसलिए, इसका मतलब है, सी (c) निर्देश और एम (M) की गणना करने के लिए क्लाउड (cloud) की गति मोबाइल निर्देश की गणना करने के लिए, मोबाइल फोन की गति है, यदि यह एफ (F) गुना तेज है, और हम देख सकते हैं कि एफ (F) के बराबर एफ में एम ( F by M) के बराबर है, या दूसरे में हम प्रोग्राम को फिर से लिख सकते हैं, या उस विशेष फॉर्मूला को फिर से लिखें या एम ( M ) के बराबर एफ (F) को बराबर करें, यह मूल रूप से इस बात को देखने के लिए देखें कि सी द्वारा एम (C by M), पीसी पीआई द्वारा एफ माइनस पीटीआर डी द्वारा बी (Pc Pi by F minus Ptr D by B)। यह एक बहुत ही सरल अंकगणितीय है, जिसे आप बस प्रतिस्थापित करते हैं और यदि आप उचित कॉमन (common)लें। तो, हम इस तरह के परिदृश्य में बुलाए गए एक आंकड़े पर आते हैं, सी से एम एम बराबर पीसी माइनस पी के बराबर एफ और माइनस टी द्वारा (C by M equal to Pc minus P i by F and minus tr)। तो, हम यहां से क्या देखते हैं, कि जब सूत्र (formula)एक सकारात्मक संख्या उत्पन्न करता है, तो निश्चित रूप से ऊर्जा उत्पन्न होती है, तो केवल ऊर्जा ही बचाई जाती है, तो सूत्र (formula) को सकारात्मक बना दिया जाता है, यदि डी द्वारा ए (D by A), डी द्वारा बी (D by B ) है, जो सी से एम (C by M) के मुकाबले काफी कम है। तो, एक तरफ डी बाई बी (D by B ) से सी (C) की तुलना में पर्याप्त रूप से छोटा होना चाहिए। इसलिए, मेरे पास बाईं (left) ओर एक बड़ी संख्या है। तो, हम यही कहते हैं, कि यह क्लाउड कंप्यूटिंग की स्थिति में से एक है। तो, क्लाउड कंप्यूटिंग (cloud computing) संभावित रूप से मोबाइल उपकरणों से ऊर्जा को बचा सकता है, ध्यान दें कि क्लाउड (cloud) में माइग्रेट होने पर ऊर्जा कुशलता में सभी एप्लिकेशन ऊर्जा कुशल अधिकार नहीं हो सकते हैं। इसलिए, इस सूत्र (formula)से पहले से ही, कहा गया है कि बी (B )द्वारा सभी डी (D) के पहले एम (M) से कम होना चाहिए और एफ (F)पर्याप्त रूप से उच्च होना चाहिए जो,समझ में आता है। एफ (F) मोबाइल डिवाइस की तुलना में क्लाउड सर्वर कितनी बार तेज है, ऐसा लगता है, कि क्लाउड सर्वर पर्याप्त रूप से अधिक होना चाहिए अन्यथा ऑफलोडिंग में कोई पॉइंट नहीं है और यदि आप जानते हैं, तो इसे बाहरी रूप से निष्पादित किया जा रहा है। इसलिए, यदि वह शर्तें संतुष्ट हैं, तो हम देखते हैं कि हमें सकारात्मक संख्या मिलती है, और यह स्पष्ट है कि जब आप ऑफलोड करते हैं, तो सभी एप्लिकेशन हमेशा फायदेमंद नहीं हो सकते हैं, क्लाउड कंप्यूटिंग (cloud computing) सेवा डेस्कटॉप के लिए क्लाउड (cloud)सेवाओं से काफी अलग होनी चाहिए क्योंकि, उन्हें इस मामले में ऊर्जा बचत की पेशकश करनी चाहिए। सेवाओं को गोपनीयता, सुरक्षा, विश्वसनीयता, डेटा संचार(privacy, security, reliability, data communication), इत्यादि के लिए ऊर्जा ओवरहेड (overhead) पर विचार करना चाहिए, जिसे हमने इन मामलों में सीधे नहीं माना है। तो, यह आदर्श है, कि इसे अन्य प्रकार की विशेषताओं का ख्याल रखना चाहिए जो चीजों की गणना करते समय हैं। इसलिए, यदि हम हमें देखने के विभिन्न तरीकों को देखते हैं, तो एक सूत्र (formula) यह है, कि ऑफलोडिंग फायदेमंद है,जब गणना की बड़ी मात्रा में डेटा संचार की अपेक्षाकृत कम मात्रा में सी (C)की आवश्यकता होती है। इसलिए, हमें आंकड़ों के अपेक्षाकृत कम संचरण के साथ गणना की बड़ी मात्रा की आवश्यकता होती है। यहां तक ​​कि हमने देखा है, कि सी (C) पर्याप्त रूप से बड़ा होना चाहिए, डी (D) के साथ पर्याप्त रूप से छोटा होना चाहिए। एफ(F) की तरह रखना बहुत तेज होना चाहिए और क्या हम देखते हैं, कि यह एक विचार है और हम देख सकते हैं कि विभिन्न परिदृश्यों में चीजें कैसे होंगी। इसलिए, पार्टी गणना ओवरलोडिंग कई दृष्टिकोण हैं, आप निष्पादन से पहले ऊर्जा खपत के आकलन के आधार पर कई शोध पत्र भी एक कार्यक्रम को विभाजित कर सकते हैं। तो, हम क्या कहते हैं कि चीज के पूर्व विभाजन अनुमान (pre partition estimation), ऑफलोडिंग के लिए इष्टतम प्रोग्राम विभाजन (optimal program partitioning) गतिशील रूप से, गणना के समय संचार और कम्प्यूटेशनल लागत के बीच व्यापार बंद के आधार पर गणना की जाती है। प्रक्रिया कॉल के स्तर पर गणना समय डेटा साझाकरण के बारे में प्रोफाइलिंग जानकारी के आधार पर ऑफ़लोडिंग योजना है। तो, प्रक्रिया कॉल के स्तर पर हम कर सकते हैं। इसलिए, एक लागत ग्राफ उत्पन्न या निर्मित किया जा सकता है और गणना और कुल डेटा आवश्यकता की कुल ऊर्जा खपत को कम करने के लिए शाखा और बाध्य एल्गोरिदम लागू (branch and bound algorithm) किया जा सकता है। तो, हम क्या देख रहे हैं, कि यह कुछ चीजों को बेकार नहीं कर रहा है। इसलिए, बहुत सारी गणनाएं शामिल हैं, क्योंकि हम अपने पिछले आधार पर वापस आते हैं, कि आपकी ऊर्जा बचत अधिक होनी चाहिए, अधिकतम होने की आवश्यकता है, जबकि आपकी विलंबता को संरक्षित किया जाना चाहिए। और हम देखते हैं, कि घटकों के कई अन्य पहलू हैं। जैसे, सर्वर सिस्टम इत्यादि में सुरक्षा, विश्वसनीयता, गलती (security, reliability, fault )और ऐसे मुद्दे हैं, जो सधारण नहीं हैं और क्लाउड (cloud) के नियंत्रण में सीधे नहीं हो सकते हैं। न ही मोबाइल डिवाइस जो, हम कहते हैं, कि इंटरमीडिएट वायरलेस नेटवर्क (intermediate wireless network) जो चीजों को भी बजाता है। इसलिए, विषमता के मुद्दों को हल करने की आवश्यकता है और कुल मिलाकर इसे देखने की आवश्यकता है, यह अलग नहीं है कि मैं कुछ ऑफलोड करता हूं, कुछ निष्पादित करता हूं और चीजों की प्रकार को कुल मिलाकर देखा जाना चाहिए। इसलिए, मोबाइल उपयोगकर्ता या उपयोगकर्ता को निर्बाध भावना या बेहतर संसाधन उपयोग या उस चीज़ पर बेहतर ऊर्जा बचत मिलती है। धन्यवाद।