SlideShare a Scribd company logo
Synchronization Architecture 
for 
Cloud powered Mobile Apps 
Prithiviraj Damodaran 
www.ByteContinnum.com
Major Concerns Addressed 1 of 2 
From the App User and Device Resource view point the 
following are some of the critical factors a cloud backed 
mobile engineering team should consider. 
• Smart Disk space usage - A lot of apps including some 
popular social media apps abuse device disk space. Every time the 
apps sync with the cloud counter part they bring down fresh data. 
Apps should be considerate of device user and should come up with 
some clean-up mechanism.
Major Concerns Addressed 2 of 2 
• Smart Network usage – Be it upstream or downstream sync 
i.e. apps as well as the cloud counter parts should be designed to be 
very frugal about the number of bytes sent over the wire as well as 
the number of network calls as it directly impacts the data usage and 
hence the device user. 
• Smart Battery consumption - 
For instance 
• Apps which broadcast real time user activities should smartly club 
syncs to reduce multiple device pings 
• Location and geo fence based apps should use the right strategy to 
avoid draining device battery.
Event Driven Synchronization 
Cloud-2-Device 
• On-AppStartup 
• On-AppBackground2Foreground Transition 
• On-AppSignin (if any) 
• On-Demand user action 
Device-2-Cloud 
• On-AppUITransition
Cloud-2-Device
On-Start-up - online 
• First time fetch of current Location 
• Instantiate N/W Connection receiver. (Wifi/Data) 
• “All” data if new device or “Newer” data 
deals since last sync date, if used device. 
• Clean up older disk cache records. (Cache date < 
Current date and un synchronized) 
• Any other Metadata sync or change in Business rules or 
disclaimers etc..
On-Start-up - offline 
• If new device change to offline mode and provide an option 
to retry N/W connection 
• Active fetch of current Location. 
• If used device use last synced data 
• Clean up older disk cache records. (Cache date < 
Current date and synched)
On-Sign in 
• User data later than last sync if already used device - 
Something like getting the newer emails from the server since 
last sync. Using the app in Multiple devices doesn’t affect this 
part of the sync. But it does affects the synch of user specific 
settings/ preferences. 
• User specific notifications – offers or expiry notices etc. 
Since there could be multiple devices in which user could login 
from, every device will have to maintain last sign in timestamp 
and Cloud will maintain last synchronization timestamp at levels 
desired. Every time during sign-in If these 2 time stamps vary 
then it calls for Synching all user specific settings data 
• User specific app settings and preferences
On-Sign in - offline 
• show the message and continue as guest in offline mode.
On-Demand Sync – 2 Way 
• All data listing screens shall support on-Demand sync. 
Using a pull down or swipe down gesture user can initiate sync. 
• During swipe down n/w state will be first checked before 
making the Sync call. If offline appropriate message shall be 
shown. 
Best real life example would be your Gmail app. 
Try to “star” an email and Swipe down. Your “star” should 
reflect in your server (try and open gmail in another device or 
PC) and if you had new emails that would be in your device too. 
So 2 way cloud sync.
On-Demand Sync – 2 Way 
1 
2 
3 
Rest APIs
Device-2-Cloud
On-UITransition 
• All user activities shall be stored at disk first and synced on the 
next UI based action like a UI Transition. The approach is 
disk first and asynchronous calls to cloud. The stored data shall look 
something like below. Choice of storage could be disk caches like 
SQLLite or something similar. 
Data Cache Date Sync Status 
{“test”:”data”} 2014-08-01:00:00:00 Sync Progress 
{“test”:”data”} 2014-08-01:00:00:00 Sync Complete 
{“test”:”data”} 2014-08-01:00:00:00 To be Synced
1 
2
Offline mode 
As a part of the strategy make sure all deal breaking features 
(whichever possible) are supported in offline mode for the 
success of the app. This might require some careful planning 
and some extra processing / storing required data in the 
device.

More Related Content

What's hot

Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...
Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...
Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...
RightScale
 
Parallel computing
Parallel computingParallel computing
Parallel computing
Engr Zardari Saddam
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...
Malobe Lottin Cyrille Marcel
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
bhavikpooja
 
Multi objective vm placement using cloudsim
Multi objective vm placement using cloudsimMulti objective vm placement using cloudsim
Multi objective vm placement using cloudsim
KhalidAnsari60
 
Clone cloud
Clone cloudClone cloud
Clone cloud
Bhagavathi Dhass
 
Creating order in the database patching chaos
Creating order in the database patching chaosCreating order in the database patching chaos
Creating order in the database patching chaos
Liron Amitzi
 
Hadoop Map Reduce OS
Hadoop Map Reduce OSHadoop Map Reduce OS
Hadoop Map Reduce OS
Vedant Mane
 
A Comparative Study between Honeybee Foraging Behaviour Algorithm and Round ...
A Comparative Study between Honeybee Foraging Behaviour Algorithm and  Round ...A Comparative Study between Honeybee Foraging Behaviour Algorithm and  Round ...
A Comparative Study between Honeybee Foraging Behaviour Algorithm and Round ...
sondhicse
 
Weather and Climate Visualization software
Weather and Climate Visualization softwareWeather and Climate Visualization software
Weather and Climate Visualization software
Rahul Gupta
 
Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overview
karthik s
 
Load Balancing In Cloud Computing newppt
Load Balancing In Cloud Computing newpptLoad Balancing In Cloud Computing newppt
Load Balancing In Cloud Computing newppt
Utshab Saha
 
Dealing With The Optimizer complexity
Dealing With The Optimizer complexityDealing With The Optimizer complexity
Dealing With The Optimizer complexity
Liron Amitzi
 
Introducing MapReduce Programming Framework
Introducing MapReduce Programming FrameworkIntroducing MapReduce Programming Framework
Introducing MapReduce Programming Framework
Samuel Yee
 
GECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon2017_High-volume data streaming in azure_ Aliaksandr LaishaGECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon_Org Team
 

What's hot (15)

Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...
Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...
Deployment Checkup: How to Regularly Tune Your Cloud Environment - RightScale...
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
 
Multi objective vm placement using cloudsim
Multi objective vm placement using cloudsimMulti objective vm placement using cloudsim
Multi objective vm placement using cloudsim
 
Clone cloud
Clone cloudClone cloud
Clone cloud
 
Creating order in the database patching chaos
Creating order in the database patching chaosCreating order in the database patching chaos
Creating order in the database patching chaos
 
Hadoop Map Reduce OS
Hadoop Map Reduce OSHadoop Map Reduce OS
Hadoop Map Reduce OS
 
A Comparative Study between Honeybee Foraging Behaviour Algorithm and Round ...
A Comparative Study between Honeybee Foraging Behaviour Algorithm and  Round ...A Comparative Study between Honeybee Foraging Behaviour Algorithm and  Round ...
A Comparative Study between Honeybee Foraging Behaviour Algorithm and Round ...
 
Weather and Climate Visualization software
Weather and Climate Visualization softwareWeather and Climate Visualization software
Weather and Climate Visualization software
 
Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overview
 
Load Balancing In Cloud Computing newppt
Load Balancing In Cloud Computing newpptLoad Balancing In Cloud Computing newppt
Load Balancing In Cloud Computing newppt
 
Dealing With The Optimizer complexity
Dealing With The Optimizer complexityDealing With The Optimizer complexity
Dealing With The Optimizer complexity
 
Introducing MapReduce Programming Framework
Introducing MapReduce Programming FrameworkIntroducing MapReduce Programming Framework
Introducing MapReduce Programming Framework
 
GECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon2017_High-volume data streaming in azure_ Aliaksandr LaishaGECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
 

Similar to Mobile cloud sync

AndroidAppPPT
AndroidAppPPTAndroidAppPPT
AndroidAppPPT
Akchay Srivastava
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
GoIT
 
"Going Offline", one of the hottest mobile app trends
"Going Offline", one of the hottest mobile app trends"Going Offline", one of the hottest mobile app trends
"Going Offline", one of the hottest mobile app trends
Derek Baron
 
Meet with Meteor
Meet with MeteorMeet with Meteor
Meet with Meteor
Tahmina Khatoon
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...
SoftServe
 
How to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting PerformanceHow to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting Performance
rickschwar
 
Mobile Synchronization Patterns for Large Volumes of Data
Mobile Synchronization Patterns for Large Volumes of DataMobile Synchronization Patterns for Large Volumes of Data
Mobile Synchronization Patterns for Large Volumes of Data
OutSystems
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
Peter Presnell
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
wipjam
 
SaaS Enablement of your existing application (Cloud Slam 2010)
SaaS Enablement of your existing application (Cloud Slam 2010)SaaS Enablement of your existing application (Cloud Slam 2010)
SaaS Enablement of your existing application (Cloud Slam 2010)
Nati Shalom
 
An in-building multi-server cloud system based on shortest Path algorithm dep...
An in-building multi-server cloud system based on shortest Path algorithm dep...An in-building multi-server cloud system based on shortest Path algorithm dep...
An in-building multi-server cloud system based on shortest Path algorithm dep...
IOSR Journals
 
H017113842
H017113842H017113842
H017113842
IOSR Journals
 
Unit-I Introduction to Cloud Computing.pptx
Unit-I Introduction to Cloud Computing.pptxUnit-I Introduction to Cloud Computing.pptx
Unit-I Introduction to Cloud Computing.pptx
garkhot123
 
SA UNIT I STREAMING ANALYTICS.pdf
SA UNIT I STREAMING ANALYTICS.pdfSA UNIT I STREAMING ANALYTICS.pdf
SA UNIT I STREAMING ANALYTICS.pdf
ManjuAppukuttan2
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
John Joseph
 
Making awesome apps
Making awesome appsMaking awesome apps
Making awesome apps
DroidConTLV
 
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture GarntsarikMicrosoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
ABTO Software
 
A Review And Research Towards Mobile Cloud Computing
A Review And Research Towards Mobile Cloud ComputingA Review And Research Towards Mobile Cloud Computing
A Review And Research Towards Mobile Cloud Computing
Suzanne Simmons
 
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging CapabilitiesIBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
Peter Broadhurst
 
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...
Nico Huysamen
 

Similar to Mobile cloud sync (20)

AndroidAppPPT
AndroidAppPPTAndroidAppPPT
AndroidAppPPT
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
 
"Going Offline", one of the hottest mobile app trends
"Going Offline", one of the hottest mobile app trends"Going Offline", one of the hottest mobile app trends
"Going Offline", one of the hottest mobile app trends
 
Meet with Meteor
Meet with MeteorMeet with Meteor
Meet with Meteor
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...
 
How to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting PerformanceHow to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting Performance
 
Mobile Synchronization Patterns for Large Volumes of Data
Mobile Synchronization Patterns for Large Volumes of DataMobile Synchronization Patterns for Large Volumes of Data
Mobile Synchronization Patterns for Large Volumes of Data
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
 
SaaS Enablement of your existing application (Cloud Slam 2010)
SaaS Enablement of your existing application (Cloud Slam 2010)SaaS Enablement of your existing application (Cloud Slam 2010)
SaaS Enablement of your existing application (Cloud Slam 2010)
 
An in-building multi-server cloud system based on shortest Path algorithm dep...
An in-building multi-server cloud system based on shortest Path algorithm dep...An in-building multi-server cloud system based on shortest Path algorithm dep...
An in-building multi-server cloud system based on shortest Path algorithm dep...
 
H017113842
H017113842H017113842
H017113842
 
Unit-I Introduction to Cloud Computing.pptx
Unit-I Introduction to Cloud Computing.pptxUnit-I Introduction to Cloud Computing.pptx
Unit-I Introduction to Cloud Computing.pptx
 
SA UNIT I STREAMING ANALYTICS.pdf
SA UNIT I STREAMING ANALYTICS.pdfSA UNIT I STREAMING ANALYTICS.pdf
SA UNIT I STREAMING ANALYTICS.pdf
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Making awesome apps
Making awesome appsMaking awesome apps
Making awesome apps
 
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture GarntsarikMicrosoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
 
A Review And Research Towards Mobile Cloud Computing
A Review And Research Towards Mobile Cloud ComputingA Review And Research Towards Mobile Cloud Computing
A Review And Research Towards Mobile Cloud Computing
 
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging CapabilitiesIBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
 
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Compu...
 

Recently uploaded

Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Mobile cloud sync

  • 1. Synchronization Architecture for Cloud powered Mobile Apps Prithiviraj Damodaran www.ByteContinnum.com
  • 2. Major Concerns Addressed 1 of 2 From the App User and Device Resource view point the following are some of the critical factors a cloud backed mobile engineering team should consider. • Smart Disk space usage - A lot of apps including some popular social media apps abuse device disk space. Every time the apps sync with the cloud counter part they bring down fresh data. Apps should be considerate of device user and should come up with some clean-up mechanism.
  • 3. Major Concerns Addressed 2 of 2 • Smart Network usage – Be it upstream or downstream sync i.e. apps as well as the cloud counter parts should be designed to be very frugal about the number of bytes sent over the wire as well as the number of network calls as it directly impacts the data usage and hence the device user. • Smart Battery consumption - For instance • Apps which broadcast real time user activities should smartly club syncs to reduce multiple device pings • Location and geo fence based apps should use the right strategy to avoid draining device battery.
  • 4. Event Driven Synchronization Cloud-2-Device • On-AppStartup • On-AppBackground2Foreground Transition • On-AppSignin (if any) • On-Demand user action Device-2-Cloud • On-AppUITransition
  • 6. On-Start-up - online • First time fetch of current Location • Instantiate N/W Connection receiver. (Wifi/Data) • “All” data if new device or “Newer” data deals since last sync date, if used device. • Clean up older disk cache records. (Cache date < Current date and un synchronized) • Any other Metadata sync or change in Business rules or disclaimers etc..
  • 7. On-Start-up - offline • If new device change to offline mode and provide an option to retry N/W connection • Active fetch of current Location. • If used device use last synced data • Clean up older disk cache records. (Cache date < Current date and synched)
  • 8. On-Sign in • User data later than last sync if already used device - Something like getting the newer emails from the server since last sync. Using the app in Multiple devices doesn’t affect this part of the sync. But it does affects the synch of user specific settings/ preferences. • User specific notifications – offers or expiry notices etc. Since there could be multiple devices in which user could login from, every device will have to maintain last sign in timestamp and Cloud will maintain last synchronization timestamp at levels desired. Every time during sign-in If these 2 time stamps vary then it calls for Synching all user specific settings data • User specific app settings and preferences
  • 9. On-Sign in - offline • show the message and continue as guest in offline mode.
  • 10. On-Demand Sync – 2 Way • All data listing screens shall support on-Demand sync. Using a pull down or swipe down gesture user can initiate sync. • During swipe down n/w state will be first checked before making the Sync call. If offline appropriate message shall be shown. Best real life example would be your Gmail app. Try to “star” an email and Swipe down. Your “star” should reflect in your server (try and open gmail in another device or PC) and if you had new emails that would be in your device too. So 2 way cloud sync.
  • 11. On-Demand Sync – 2 Way 1 2 3 Rest APIs
  • 13. On-UITransition • All user activities shall be stored at disk first and synced on the next UI based action like a UI Transition. The approach is disk first and asynchronous calls to cloud. The stored data shall look something like below. Choice of storage could be disk caches like SQLLite or something similar. Data Cache Date Sync Status {“test”:”data”} 2014-08-01:00:00:00 Sync Progress {“test”:”data”} 2014-08-01:00:00:00 Sync Complete {“test”:”data”} 2014-08-01:00:00:00 To be Synced
  • 14. 1 2
  • 15. Offline mode As a part of the strategy make sure all deal breaking features (whichever possible) are supported in offline mode for the success of the app. This might require some careful planning and some extra processing / storing required data in the device.