Pathway to real time mobile cloud

4,858 views
4,724 views

Published on

스마트폰을 활용하는 데 있어 가장 유용한 서비스 중의 하나는 새로운 정보가 도착하거나 친구나 지인의 변화된 상태 등을 실시간에 알려주는 푸쉬(Push)이다. 이러한 실시간 푸쉬 서비스는 기존 정보의 소비 방식을 찾아가는 서비스에서 찾아오는 서비스로 바꿔 준다.

특히, 모바일 서비스의 경우 사용자가 휴대하고 있는 스마트폰에 새로운 정보와 소식을 푸쉬해 줌으로써 사용자가 일일히 해당 사이트나 어플리케이션을 구동하지 않아도 해당 정보나 상태를 조회할 수 있는 효과를 제공한다. 실제, 이러한 푸쉬 서비스는 SMS, 트윗이나 페이스북 같은 SNS 등 모든 모바일 응용 서비스에 적용되어 유용한 서비스를 제공하고 있다.

현재 안드로이드와 애플 아이폰은 각기 C2DM(Cloud2 Device Messaging) 과 APNS(Apple Push Notification Service)이라는 푸쉬 서비스를 SDK를 통해 제공함으로써 많은 모바일 어플이케이션 개발시 푸쉬 기술을 활용할 수 있도록 해 주고 있다. 본 발표에서는 이러한 푸쉬 기술의 현재와 이에 기반한 모바일 응용 프로그램 개발시 고려해야 할 여러 기술적인 사항들 그리고 푸쉬 기술에 기반한 다양한 응용 서비스들에 대해 살펴본다.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,858
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Essential Characteristics 1. On-demand self-service A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. 2. Broad network access Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). 3.Resource pooling The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. 4. Rapid elasticity Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time. 5. Measured Service Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
  • - BB 의 경우 , 8k 이상의 컨텐츠는 일부만 Push 를 하고 , 나머지 부분은 Device Application 에서 직접 Pull 을 통해 가져감 - 만일 8K 의 제한을 두지 않을 경우 Push 서버에 부하가 몰리기 때문에 , 안정적인 Push 서버 운영이 힘들어짐
  • -Registration/relay - Any application can register and get push message relayed -Offline messaging - Wake-up application which is not running and relay message -Delivery - Stored and Forward : save message on server, until it’s forwarded Data Reliability : if the data sent from the server can reach the device or not Data Ordering and Prioritizing : manipulate message order by prioritizing Delay Delivery : intentionally delay message for certain time Multicast : send same message to multiple recipient Collapse : To send one message to the client for duplicated message have same content Cancellation : cancel message in server Checking the Query Status : check if message is delivered Security - Tamperproof : ex) HTTPS, SSL Protect Denial of Service Message - Max Size : ex) 8k, 256 bytes Format : ex) JSON
  • Pathway to real time mobile cloud

    1. 1. Jaehyun Park [email_address] http://twitter.com/wisefree http://facebook.com/jaehyunpark.kr
    2. 2. -Real Time Mobile Cloud -Key Technologies for Mobile Cloud -Understanding push technology -Use Case : Samsung SocialHub TM Service Contents
    3. 3. Cloud http://csrc.nist.gov/groups/SNS/cloud-computing/ A model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
    4. 4. Mobile Cloud Mobile Devices with Cloud Services ; The limited processing and memory capabilities of mobile devices have always required some use of the "cloud" for delivery of mobile applications and services. However, the challenges inherent in application development as well as the desire to enhance applications with location, presence, and other value-added services are driving greater use of the cloud for creating advanced mobile applications.(ABIresearch) Mobile Cloud Computing Functional Processing Power Data UI GPS, Gyroscope, ...
    5. 5. Real Time Web A paradigm based on pushing information to users as soon as it's available - instead of requiring that they or their software check a source periodically for updates. It's being implemented in social networking, search, news and elsewhere - making those experiences more like Instant Messaging and facilitating unpredictable innovations. http://www.readwriteweb.com/archives/explaining_the_real-time_web_in_100_words_or_less.php Source : readwriteweb.com 허드슨 강 비행기 추락사고 Jains Krums 가 iPhone 을 통해 사진 생성 Information Content Creation Real-Time Web Platform User Device with Immediacy 트위터로 전송 개인화 디바이스를 통해 즉시 확인
    6. 6. Why real-time mobile cloud? 모바일 서비스 환경의 변화 <ul><ul><li>- 복잡한 Mobile Apps 의 폭발적 증가 </li></ul></ul><ul><ul><li>- 단말에서 단독처리가 불가능함 </li></ul></ul>Multi-Mobile Device Platform <ul><ul><li>Android , iPhone, Bada, 등등 </li></ul></ul><ul><ul><li>Cross Service </li></ul></ul>Real Time Service 의 확장 <ul><ul><li>Always on applications </li></ul></ul><ul><ul><li>Pushed services </li></ul></ul>
    7. 7. The Status of mobile cloud service <ul><li>Email, Calendar, Contact, Instant Messenger, SNS 필수 포함 </li></ul>Gmail, Calendar, Groups, Docs, Sites, Video… Mail, Calendar, Contact, Gallery , sync, … Mail, Calendar, Scheduling, Contact, Instant Messaging, … Mail, Calendar, Task, Contact, Chat, …   e-mail, Web conferencing, instant messaging, document collaboration Mail, Calendar, Contact, Instant Messaging, … Mobile Cloud
    8. 8. Key technologies for Mobile Cloud
    9. 9. Core Technology <ul><li>Push Notification </li></ul><ul><li>TCP-based Long Polling </li></ul><ul><li>Configurable IP & SMS Push </li></ul><ul><li>Reliable Messaging </li></ul><ul><li>Personalization </li></ul><ul><li>Social Search </li></ul><ul><li>Information Filtering </li></ul><ul><li>Relevance Feedback </li></ul><ul><li>Open API </li></ul><ul><li>RESTful Web Service </li></ul><ul><li>POX, ATOM, RSS </li></ul><ul><li>Java, JS Client Library </li></ul><ul><li>Battery Consumption </li></ul><ul><li>Optimized Keep Alive </li></ul><ul><li>Configurable Fast Dormancy </li></ul><ul><li>Data Transmission </li></ul><ul><li>Data Transcoding </li></ul><ul><li>Data Compression </li></ul><ul><li>Specialized Rendering </li></ul><ul><li>Security </li></ul><ul><li>SSL, ECDH + AES </li></ul><ul><li>Local Data Encryption </li></ul><ul><li>Remote Wipe Out </li></ul><ul><li>Localization </li></ul><ul><li>Selective and Flexible </li></ul><ul><li>Security Configuration </li></ul><ul><li>Carrier Customizing </li></ul><ul><li>Subscription Integration </li></ul><ul><li>Dynamic APN Configuration </li></ul><ul><li>Cloud Infra. </li></ul><ul><li>Amazon EC2 </li></ul><ul><li>or other IaaS </li></ul>
    10. 10. Data Transcoding 문제 정의 ( 중요성 ) <ul><ul><li>- 인터넷 Content 는 Desktop 의 큰 화면에 최적화되어 불필요한 Data Traffic 발생 </li></ul></ul><ul><ul><li>- 이동통신사 네트워크 비효율적 사용 </li></ul></ul><ul><ul><li>- 인터넷 Content 를 효율적으로 사용하기 방안 필요 </li></ul></ul>기술 현황 <ul><ul><li>- BlackBerry 의 BIS/BES, Opera 의 Opera Mini Server </li></ul></ul><ul><ul><li>E-mail/web page/image 등을 Transcoding 후 압축하여 각 50~80%, 90% 의 traffic 을 줄여서 전송 . Transcoding 된 내용을 Device 에서 읽을 수 있는 전용 Rendering 엔진이 있기 때문에 가능 . </li></ul></ul>
    11. 11. Data Compression 문제 정의 ( 중요성 ) <ul><ul><li>- 모바일 사용자의 Data Traffic 증가 </li></ul></ul><ul><ul><li>- 이동통신사 네트워크의 높은 확장 비용 및 시간 필요 </li></ul></ul><ul><ul><li>- 한정된 network bandwidth 를 효율적으로 사용하기 방안 필요 </li></ul></ul>기술 현황 <ul><ul><li>- BlackBerry 의 BIS/BES: email/web page/image 압축 후 전송 </li></ul></ul><ul><ul><li>- Opera 의 Opera Mini Server: email/web page/image 압축 후 전송 </li></ul></ul>
    12. 12. 전용 Rendering 엔진 (Device Side) 문제 정의 ( 중요성 ) <ul><ul><li>- 모바일 기기의 한정적인 성능 , 배터리 , 용량 </li></ul></ul><ul><ul><li>- 모바일 기기의 제한된 화면 크기 </li></ul></ul>기술 현황 <ul><ul><li>- BlackBerry 의 Email Viewer: 메일 내용이나 첨부 파일의 일부분만 수신 받아도 전용 viewer 에서 빠르고 효율적으로 보여줄 수 있음 </li></ul></ul><ul><ul><li>- Opera 의 Opera Mini Browser: 특화된 형식으로 제한된 성능에도 불구하고 더 빠르게 content 를 보여줄 있음 </li></ul></ul>
    13. 13. Data Security 문제 정의 ( 중요성 ) <ul><ul><li>- 아직 성숙되지 않은 무선 네트워크의 불안한 보안 기법 , 설정 , 운영 </li></ul></ul><ul><ul><li>- 데이터 전산화로 중요 기밀 유출 가능성 확대 </li></ul></ul>기술 현황 <ul><ul><li>- RIM 의 BlackBerry: BIS 에서 일부 네트워크 연결 SSL 보호 , BES 에서는 SSL 보호에 데이터 자체 암호화까지 제공 . 저장 데이터 암호화 , 단말 비밀번호 . </li></ul></ul><ul><ul><li>- Apple, Google 등 : 플랫폼으로써 암호화 API/lib 등을 폭넓게 제공 . 서비스 제공자가 보안 / 암호화 지원하는 방식 . 저장 데이터 암호화 , 단말 비밀번호 . </li></ul></ul>
    14. 14. Battery Consumption 문제 정의 ( 중요성 ) <ul><ul><li>- 오늘날 사용자는 모바일 기기를 하루 종일 사용 </li></ul></ul><ul><ul><li>- 모바일 기기의 적은 배터리 용량이 큰 제한 요소 </li></ul></ul>기술 현황 <ul><ul><li>- RIM 의 BlackBerry: 시스템 자체를 메시징 기능에 최적화하고 작은 스크린 크기로 최고의 절전 단말기 제공 . 특화된 시스템으로 멀티미디어 , 큰화면 , 외부 앱 개수 등 최신 트렌드에 뒤짐 . </li></ul></ul><ul><ul><li>- Apple 의 iPhone: Fast Dormancy 기술 , 내장 배터리 등 지원 </li></ul></ul>
    15. 15. Localization(Global 확산 ) Wireless / Wi-Fi Server ECDH + AES 128bit + SSL, PGP, S/MIME etc Internet CP SSL or none National Monitoring System Relay traffic by country SocialHub Data Encryption Auditing System Audit log 문제 정의 ( 중요성 ) <ul><ul><li>- 각 국가별 문화 , 시대적 요구가 다름 : Saudi Arabic 은 정치적 불안정 , 과도기로 인해 최소의 보안 기능 요구하나 , 독일 및 EU 는 타국가로부터 보호할 수 있는 강력한 보안 기능을 요구 . 해당 요구는 국가적인 이슈로 법적인 제제로까지 확산 중 . </li></ul></ul>기술 현황 <ul><ul><li>- RIM 의 BlackBerry: 미정 . Saudi Arabic 과는 2010 년 8 월말까지의 기한으로 협의 중 , EU 와는 특정 지정 기간은 없지만 “모든 국가를 같은 정책 / 서버로 서비스함” 입장에서 변경 불가피 . </li></ul></ul><ul><ul><li>- Apple, Google 등 : 각 업체가 주도하지 않고 필요한 시장에서 상황에 충족되는 Third-party software 보안 솔루션을 활용해서 사용 </li></ul></ul>
    16. 16. Understanding push technology
    17. 17. Why Push? Why Push? <ul><ul><li>- 모바일 기기에서 사용자의 네트워크 앱 사용 증가 , 주기적인 content update 시도에 의해 , 불필요한 배터리 소모 </li></ul></ul><ul><ul><li>- 변경된 내용만 전송해줌으로 , 배터리 사용 최소화 </li></ul></ul><ul><ul><li>- 실시간으로 update 내용 확인 가능으로 Real-Time Web 현실화 </li></ul></ul>Push Technology <ul><ul><li>Server 가 주도적으로 Data 를 클라이언트에 전달하는 기술을 통칭함 . </li></ul></ul>Push Platform <ul><ul><li>Push 서비스를 범용적으로 제공하는 공통의 서비스 프레임웍 </li></ul></ul>
    18. 18. General Push Architecture 0. Subscribe Content Server Push Gateway(Server) 1. Provide content 2. Push delivery 3. Deliver Push Trigger 4. Request Content 5. Fetch Content
    19. 19. Mandatory features 1. Push 기술 정의 Offline Messaging Registration & Relay Content Servers 1. Registration 2. Message 3. Relay Closed App Push Client Message 1. Wake-up Running App 2. Relay Push Server Push Server Content Servers Running App Push Client * App 이 실행 상태가 아니여도 메시지를 relay 하는 기능 * 3 rd party app 이 등록하면 , push 를 통해 메시지를 relay 받는 기능 Running App Running App
    20. 20. Full push vs Noti push I. Push 기술 소개 Push Server Application Server Application ⑤ ④ ③ ② ① ③ ② ① Push 서비스 업체 현황 <ul><li>Full Push </li></ul><ul><li>흐름도 : 파란색의 1, 2, 3 </li></ul><ul><li>메시지 내용 : Full Content </li></ul><ul><li>Noti Push </li></ul><ul><li>흐름도 : 녹색의 1, 2, 3, 4, 5 </li></ul><ul><li>메시지 내용 : Notification </li></ul><ul><li>대부분 Content 를 Full Push 할 수 없는 크기 제공 </li></ul><ul><li>BlackBerry 도 content 일부만 push 하고 나머지는 pull 사용 </li></ul>Push Client Always-On 업체 Max Size RIM(BlackBerry Push) 8K Apple(APNS) 256 bytes Google(C2DM) 1K Seven(Ping) 2K
    21. 21. Push 기술 구성 요소 I. Push 기술 소개 Registration/Relay 3 rd -party app 사용 가능 Offline messaging App 실행 여부와 상관없이 메시징 수신 Delivery 메시지 전달 신뢰성 Security 안전한 개인 정보 Message 자유로운 메시지 형식
    22. 22. Comparison chart RIM BlackBerry Apple APNS Google C2DM <ul><li>Registration/relay </li></ul><ul><li>Offline messaging </li></ul><ul><li>Security </li></ul>상세 구성 요소 <ul><li>Reliability </li></ul><ul><li>Multicast </li></ul><ul><li>Expiry </li></ul><ul><li>Delay delivery </li></ul><ul><li>Cancellation </li></ul><ul><li>Query Status </li></ul><ul><li>Collapse </li></ul>3 1 2 3 1 2 3 1 2 3 1 2 3 4 5 4 7 6
    23. 23. Blackberry Push Ⅱ . 당사 및 경쟁사 Push 도입 현황 시스템 구성도 <ul><li>가장 많은 feature 를 지원하는 안정된 Platform </li></ul><ul><li>유일하게 Data Reliability 보장 ( Apple, Google 은 보장하지 않음 ) </li></ul><ul><li>Registration/relay </li></ul><ul><li>Offline messaging </li></ul><ul><li>Security </li></ul>기본 기능 확장 기능 <ul><li>Reliability </li></ul><ul><li>Multicast </li></ul><ul><li>Expiry / Delay delivery </li></ul><ul><li>Cancellation </li></ul><ul><li>Query Status </li></ul>
    24. 24. Apple APNS Ⅱ . 당사 및 경쟁사 Push 도입 현황 시스템 구성도 <ul><li>Push Service 에 필요한 중요 플랫폼 기능을 지원 </li></ul><ul><li>경쟁력을 강화할 수 있는 feature 부족 </li></ul><ul><li>Registration/relay </li></ul><ul><li>Offline messaging </li></ul><ul><li>Security </li></ul>기본 기능 <ul><li>Expiry </li></ul>확장 기능
    25. 25. Google C2DM Ⅱ . 당사 및 경쟁사 Push 도입 현황 시스템 구성도 <ul><li>Push Service 에 필요한 중요 플랫폼 기능을 지원 </li></ul><ul><li>경쟁력을 강화할 수 있는 feature 부족 </li></ul><ul><li>공개 시연만 하고 공식적으로 지원하지 않음 ( 서비스 준비 중 ) </li></ul>Provider C2DM Notification Notification registration <ul><li>Registration/relay </li></ul><ul><li>Offline messaging </li></ul><ul><li>Security </li></ul>기본 기능 <ul><li>Delay delivery </li></ul><ul><li>Collapse </li></ul>확장 기능
    26. 26. Case study : Samsung SocialHub TM Socialhub.samsungmobile.com
    27. 28. Q & A

    ×