Mobile Push Notification Solution

1,216 views
1,041 views

Published on

mobile push notification

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

  • Be the first to like this

No Downloads
Views
Total views
1,216
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
Downloads
58
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mobile Push Notification Solution

  1. 1. t-Push 솔루션 소개 ㈜톡씨소프트 2013.07.
  2. 2. 목차 1. 회사 소개 2. 솔루션 소개 1) 개요 2) Architecture 3) 특장점 4) 서비스 흐름 5) 통신규격 3. 관련분야 수행경험 ContentContent
  3. 3. 회사 소개 VisionVisionVision Interactive Relationship Based Service Mission Goal tsp의 기본 철학인 Interactive Relationship Based Service를 고객의 성공적 비즈니스 창출을 위해 e-Business Infra / e-Business Solution / Finance Solution / Agency Solution 등 각 사업 분야에서 핵심 요소로 적용하여 고객에게 최고의 가치를 제공하는 기업이 되겠습니다. tsp 기업비전인 IRBS(Interactive Relationship Based Service)를 실현하기 위해 e-Business Consulting/e-Branding Consulting/Creative Design/Technology Development 등 각 사업 분야에서 전문성을 확보하고 우수인재를 양성 하여 고객과 직원 모두가 만족할 수 있는 최고의 기업이 되겠습니다. 최고의 기업이 되기 위해서 끊임없는 기술 개발과 창조적인 사고, 포기하지 않는 불굴 의 정신으로 남들이 가지 않은 길을 먼저 개척하고, 온라인상의 새로운 트랜드를 개발하며, 모두가 인정하는 진정한 강자로서 시장을 주도하는 역할을 수행하겠습니다. Mobile Business Leader 다양한 Mobile Solution 개발 및 Service 제공 e-Business Solution Leader 고객의 Needs에 맞는 최적화된 Solution 및 Infra 구축 Social Contribution 사회 구성원으로서 역할과 책임을 다하는 착한 기업U-HealthCare Business Leader 의약 콘텐츠를 활용한 Solution 개발 및 Service 제공
  4. 4. 회사 소개 설립일 사업분야 임직원 연락처 상 호 대표이사 2013년 11월 모바일 앱 및 SNS 솔루션 / Push 솔루션 / Cloud 솔루션 의약정보 DUR 솔루션 및 시스템 개발 분야 쇼핑몰 솔루션 및 시스템 개발 분야 시스템 통합(SI, System Integration) 및 유지보수(SM, System Management) 6 명 Mobile : 010)3082-6814 ㈜톡씨소프트 이남익 주소 서울시 노원구 상계동 386-4번지 백천빌딩 3층 회사 개요회사회사 개요개요 홈페이지 www.itbt.co.kr 대표 eMail dynamick@lycos.co.kr
  5. 5. 솔루션 소개 t-Push 개요tt--PushPush 개요개요 최근 스마트폰 사용자 및 앱 사용증가에 따른 개발사 및 서비스 제공자의 공통된 고민중 하나는 Push 알림에 관한 부분입니다. 대부분의 모바일 앱서비스는 Apple의 APNS, Google의 GCM을 이용하혀 푸시 알림을 구현하고 있으나 메시지 제약 및 유실 등 여러가지 문제점을 내포하고 있습니다. 이에 당사의 SIP기반 t-Push 솔루션은 독자적인 푸시 알림 플랫폼을 구축하여 운용할 수 있으며 쇼핑몰, 금융, 전자상거래 등 각종 앱을 설치한 사용자들의 특성에 맞춘 푸시 발송을 제공함으로써 SMS 비용 절감 등 마케팅 효과를 극대화 할 수 있도록 합니다. API Cloud Push Notification System Center 수신 단말 Push Provider 송신 단말 서비스 가입자 CP API Proxy Server Proxy Server Mgmt. System APNS legacy 서비스 가입자 서비스 가입자 GCM
  6. 6. 솔루션 소개 t-Push 특징tt--PushPush 특징특징 t-Push 솔루션 특장점 메시지 사이즈 및 건수의 제약이 없음 (GCM : 1024bytes, APNS : 256 bytes) API/SDK를 통한 신속한 Push 시스템 구축 메시지 실시간 전송 및 신뢰성 보장 메시지 전송순서 및 재전송 보장 지역 및 언어에 대한 제약이 없음 전송 이력 및 수신확인 등 전송결과 확인가능 통합 관리자 화면을 통해 시스템 모니터링 및 통계 제공 GCM /APNS 단점 메시지 사이즈 제약 (GCM : 1024 byte, APNS : 256byte) 전송 메시지 건수 제약 (GCM : 1일 200,000건) 시스템 부하시 전송 지연 및 유실가능성 재전송 및 순차적 전달 보장 안됨 중국내 서비스 불가(GCM) 사용자 및 메시지 전송 증가에 따른 시스템 확장 용이
  7. 7. 솔루션 소개 t-Push Architecturett--Push ArchitecturePush Architecture t-Push 시스템은 스마트폰간 메시지 통신 플랫폼으로 앱서비스 Registration과 Allocation에 따라 로드 밸런싱된 전용 Proxy Server를 할당 받는다. 이를 통하여 보내야할 메시지 또는 받아야할 메시지를 Client Agent를 통하여 메시지를 송수 신하며 이를 앱에 전달하는 기능을 수행한다. Certificate Server Register Server Database Location Server Proxy Server Message Queue Contents Provider Provider Server DataBase Push Server Message Queue
  8. 8. 솔루션 소개 t-Push Clusteringtt--Push ClusteringPush Clustering 스마트폰 단말기는 최초 서비스 Registration시 t-Push 시스템에서 로드밸런싱된 Proxy Server를 배정하며, 배정된 Proxy Server에 Time To Live를 위한 Hole Punching을 주기적으로 수행한다. 이때 Proxy Server 오류시 새로운 Proxy Server를 요청하며 이때 t-Push는 새로운 Proxy Server를 배정한다. 이는 L4 스위치 등 별도의 장비가 없이 로드밸런싱이 가능하며, 서버의 증설 및 장애 발생시 효과적인 대응이 가능하다. Proxy Server 작업부하 Proxy Server 작업부하 Proxy Server 작업부하 클라우드 관리 계층 Proxy Server Proxy Server Proxy Server Proxy Server Certification
  9. 9. 솔루션 소개 User Agent Client는 할당된 Proxy Server에 전송할 메시지를 전달하며 Message Broker는 Queue Handler는 전송받은 메시지를 Message DB 및 전송 Queue에 기록한다. 이때 Location Info로 부터 자신의 Proxy Server를 기록하는 한편 User Agent Server의 Proxy Server를 전달받아 메시지를 송신하게 된다. User Agent Client User Agent Server Message Brocker CDMA/GSM망 CDMA/GSM망 Proxy Server Queue Handler Server Queue Message Brocker Proxy Server Location Info. Main Queue Message DB (Message Send) (Message Receive) Location Proxy t-Push Servertt--Push ServerPush Server
  10. 10. 솔루션 소개 t-Push Client Agent - Androidtt--Push Client AgentPush Client Agent -- AndroidAndroid Android Mobile Device Push Notification Client Service (Android Service) Android Notification Service Your Application notify activate Push Server Message Broker Queue Handler Location Info. Push notification Network Module Registrar/Redirect Server Certification Server Location Server Network Module HTTP, TCP/IP... Hole Punching Android Agent는 Push Server로 부터 수신 받은 메시지를 서비스 앱에게 직접 전달하거나 Android Notification Service를 통하여 전달한다.
  11. 11. 솔루션 소개 t-Push Client Agent - iOStt--PushPush Client AgentClient Agent -- iOSiOS iOS Mobile Device Your Application iOS Notification Service notify Push Server Message Broker Queue Handler Location Info. Push notification Network Module Registrar/Redirect Server Certification Server Location Server HTTP, TCP/IP… iOS는 별도의 Agent가 생성되어 여러 앱으로 Push Notification을 전달하는 형태가 아닌 서비스 앱에 포함된 형태로 Push Server로 부터 수신 받은 메시지를 서비스 앱에게 직접 전달한다. Push Notification Client Network Module activate Hole Punching
  12. 12. 솔루션 소개 t-Push 서비스 흐름tt--PushPush 서비스서비스 흐름흐름 Run Agent REGISTER 200 OK Send Push Msg. 200 OK MESSAGE Send Push Msg. Return Msg. Result t-Push Descriptiont-Push Description Client On 200 OK REGISTER - Client 정보를 Push 서버에 등록 하는 흐름 MESSAGE - Push Msg를 Client에 전송하는 흐름 - Push Msg처리 결과를 Push 서버로 전달하는 흐름 Push Provider - Push Msg 전송을 요청하는 대상 Client App. Client Agent Push Server Push Provider
  13. 13. 솔루션 소개 t-Push 주요기능tt--PushPush 주요기능주요기능 분류 기능 메시지 전송 및 관리 실시간/예약 메시지 전송 메시지 수신상태 확인 HTML 메시지 전송 그룹 발송 재전송 및 실패시 우회 전송(APNS/GCM/MPNS/SMS) Open API를 통한 전송 대상 메시지 수신 및 결과 통보 보안 AES256 알고리즘을 이용한 메시지 암호화 tsp-C2DM에서 발급한 서비스 ID와 할당된 ID를 확인하고 사용자 인증 관리 및 모니터링 서버별/서비스별 메시지 전송 이력/상태 조회 서버별 부하 이력/상태 조회 전송 메시지 통계(기간별/서비스별/서버별/사용자별) 안정성 및 신뢰성 전송 성공율 보장 UDP 프로토콜 적용으로 TCP 프로토콜이 적용된 방식보다 월등한 성능 보장 확장성 tsp-C2DM 플랫폼내에 수시로 Push 서버 확장 가능 특정 Push 서버 지정가능 물리적으로 원거리 지역에도 통합관리 가능한 별도의 Push 서버 구축 가능 Battery 소비 최소화 Long term Time to Live 방식으로 전력 절감 (※ Android 폰 기준 타 앱 구동치 않고 대기시 시간당 1% 소비)
  14. 14. Service Development ScheduleService Development ScheduleService Development Schedulet-Push Server 성능 산정기준(1/4)tt--Push ServerPush Server 성능성능 산정기준산정기준(1/4)(1/4) 1. TPC (Transaction Processing Performance Council - http://www.tpc.org - 트랜잭션처리성능, 데이터베이스 벤치마킹을 객관적이고 검증가능하도록 측정하는 비영리 기관 2. TPC 벤치마크(TPC-C) - 다수의 사용자들이 트랜잭션을 발생시키는 환경(OLTP)을 시뮬레이션 한다. - 벤치마크는 주문처리, 지불기록, 주문상태체크, 발송상태, 재고모니터링등의 트랜잭션을 포함한다. - tpmC : TPC-C성능을 분당 새로운 주문처리속도로써 측정한 값 - $/tpmC는 트랜잭션당 비용이다. 3. CPU 용량산정 기준 - 어느 정도의 tpmC 수치를 가지는 CPU의 서버를 도입해야 할지의 기준. - 업무특성 및 시스템환경에 따라 적절한 보정이 필요함. - 이 보정계수값과 보정계수종류의 적용은 어떤 시스템에나 적용할 수 있는 공식적인 값은 없다. - 다만 해당 시스템의 환경과 업무를 고려하여 적절한 수치의 보정계수를 적용한다) 4. 보정계수: tpmC를 산정할 때는 다음의 사항을 고려해서 적절한 보정계수를 적용한다. - 작업의 특성 (Online작업/Batch작업부하) : 온라인 작업이냐 배치작업이냐를 판단하여, 배치작업일 경우 처리건수와 그에 따른 부하보정을 따로 해준다. - Peak Time 지속 시간 : 처리가 몰려 있는 시간의 양으로 업무특성에 맞게 적절히 예측한다. - Peak Time 시간대 트랜잭션 처리율 : Peak Time 시간대에는 처리속도가 떨어지므로 이를 감안한 보정계수를 적용한다. - 업무 확장율 : 연업무 확장율을 감안하여 향후 몇 년간 증가될 양을 생각하여 적용한다. - 네트워크 상태 : 네트워크 상태에 따른 추가적인 보정율을 적용한다. - 클러스터링 여부 : 클러스터링한 시스템의 경우에 적용한다. - Application 환경 : 적용하는 프로그램의 환경적인 요인에 따른 보정율을 적용 - Application 복잡도(프로그램 복잡도) : 적용하는 프로그램의 복잡도에 따른 보정율을 적용 - 시스템 부하 : 시스템에 부하가 증가함에 따른 보정율을 적용 솔루션 소개
  15. 15. 5. 보정 계수 체크리스트 보정계수명 보정계수값 1. 배치작업 부하 보정 1.0 ~ 1.5 사이의 수치 적용 1.1. Peak Time 지속 시간 예측된 시간/60분*배치처리건수 1.2. Peak Time 시간대 트랜잭션 처리율 70%일 경우 1/0.7= 약 1.4 2. Peak Time 처리 보정 - Peak Time 지속 시간 및 Peak Time 시간대 트랜잭션 처리율을 감안하여 처리건수에 반영하는 방법 - 적절한 보정계수를 적용하는 방법 예측된 시간/60분*처리건수*트랜잭션 처리율 보정 1.3 (1.0 ~ 1.5사이의 적절한 수치 적용) 3. 확장(예비, 향후업무증가) 1.5(향후 3년동안으로 가정) 4. Application 환경 보정 1.3(일반적인 수치로 설치환경에 따라 이를 감안한 보정계수 적용가 능 1.0~1.5사이) 5. 시스템 부하보정 1.3(일반적인 수치로 시스템에 걸려있는 기타 부하가 있을 경우 이 를 감안한 보정계수 적용가능 1.0~1.5사이) 6. 클러스터 예비율 1.5(2대를 클러스터링 했을 경우에 적용) 7. Application 복잡성 보정 1.3(일반적인 수치로 1.0~1.5사이) 솔루션 소개 t-Push Server 성능 산정기준(2/4)tt--Push ServerPush Server 성능성능 산정기준산정기준(2/4)(2/4)
  16. 16. 6. 동시 접속자수와 동시 사용자수의 이해 동시 접속자수와 동시사용자수의 상관관계든 다음과 같은 수식으로 표현됩니다. 즉 동시 사용자수의 개수는 동시 접속자수가 지속적으로 증가함에 따라 단위시간당 호출빈도가 증가하게 되고 그에 따라 평균응답시간이 가변적으로 점차 늘어나는 반면 Thinktime은 일정한 값을 갖는 상수로 주어지므로 결국 위수식의 우항은 아래와 같이 1.0이라는 값으로 수렴하게 됩니다. Push 서비스에 대한 동시사용자수 = 100,000 x(1/(1x30)) = 3,333명 ※ 전체가입자수 : 100,000 ※ 평균 Response Time : 1Sec ※ ThinkTime : 30Sec(Push 메시지간 대기시간) 솔루션 소개 t-Push Server 성능 산정기준(3/4)tt--Push ServerPush Server 성능성능 산정기준산정기준(3/4)(3/4)
  17. 17. 7. CPU 용량 산정기준 보정계수명 보정계수값 가. PeakTime/Peakday보정 1.3 나. Application 복잡성 보정 1.3 다. Application 환경 보정 1.3 라. 작업 부하 조정 1.3 마. 추가 부하 보정 1.3 바. 클러스터 예비율 1.5 사. 확장 1.5 아. 네트워크 상태 보정 1.0 보정합계 8.3541 8. t-Push Server 용량산정 - 전체사용자수 : 100,000명 - 동시접속자수 : 3,333명 = 100,000명 x (1sec/(1sec*30sec)) - 사용자당 트랜잭션 처리수 : 40건(1일기준) - tpmC : 1,113,768= 3,333명(동접수) * 40건(트랜잭션처리수) * 8.3541(CPU보정합계) - “HP ProLiant DL385 G7” tpmC : 1,207,982 - Push Server 산정대수 : 0.922대 = 1,113,768/1,207,982 ※ 서버 권장 부하수준은 30~50%임. 솔루션 소개 t-Push Server 성능 산정기준(4/4)tt--Push ServerPush Server 성능성능 산정기준산정기준(4/4)(4/4)
  18. 18. 솔루션 소개 t-Push Request 규격tt--Push RequestPush Request 규격규격 SIP 헤더명 헤더값 비고 REGISTER or MESSAGE sip:172.16.30.226:5080 SIP/2.0 Call-ID 0022F40CCD96@192.168.11.38 CSeq 31 (REGISTER) From <sip:0022F40CCD96@push.itbt.co.kr> To <sip:push-svr@push.itbt.co.kr> Via SIP/2.0/UDP 192.168.11.38:37993;rport=35021;received=10.1.254.97 Max-Forwards 10 User-Agent PushAgent/1.0.0 (Linux;Android2.1;E200(1.0.0;10090920)) 상세규격 별도 제공 Expires 60 Content-Length 0 Content-Type application/vnd.oma.push P-Asserted-Service urn:urn-7:3gpp-service.ims.icsi.omapush P-Push-Message-Id 10_1000000828_AABBCCDDEEFF Accept-Contact *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp- service.ims.icsi.omapush";+g.oma.pusheventapp= "com.insprit.cms.idms.Main";+g.pushcontent.type=""
  19. 19. 솔루션 소개 t-Push User Agent 규격tt--Push User AgentPush User Agent 규격규격 SIP 헤더명 헤더값 비고 Platform Windows – 모든 Microsoft Windows 환경 Macintosh – 모든 MacOS 환경 X11 – X Windows 환경 Linux – 모든 Linux Kernel 환경 OS-or-CPU Values for Windows systems: * Win3.11 for Windows 3.11 * WinNT3.51 for Windows NT 3.11 * WinNT4.0 for Windows NT 4.0 * Windows NT 5.0 for Windows 2000 * Windows NT 5.1 for Windows XP * Windows NT 5.2 for Windows Server 2003; Windows XP x64 Edition * Windows NT 6.0 for Windows Vista * Win95 for Windows 95 * Win98 for Windows 98 * Win 9x 4.90 for Windows Me * WindowsCE for Windows CE * etc. Values for MacOS systems shall be: * 68K for 68k hardware * PPC for PowerPC hardware * etc. Values for Android systems shall be: * Android 2.1 for Android 2.1 * Android 2.2 for Android 2.2 * etc. ModelName 단말 모델명 * 단말모델명(하드웨어버전;소프트웨어버전) 형식
  20. 20. 솔루션 소개 t-Push Response 규격tt--Push ResponsePush Response 규격규격 SIP 헤더명 헤더값 비고 SIP/2.0 200 OK To <sip:push-svr@push.itbt.co.kr>;tag=53953617_37f8275d_076b6838-286d- 4fd9-9d96-41bf6910dbbc Via SIP/2.0/UDP 192.168.11.5:44881;rport=51679;received=10.1.254.97 CSeq 2 (REGISTER) Call-ID 0022F404B6A9@192.168.11.5 From <sip:0022F404B6A9@push.itbt.co.kr> Content-Length 0
  21. 21. 솔루션 소개 t-Push 통계 – Overviewtt--PushPush 통계통계 –– OverviewOverview 월간 Push 메시지 전송현황 및 App Activity Summary를 제공합니다. Overview for June 2013 Previous month Next month Custom Push Sends 355,622 Influenced Opens 45,12212.68% RichPush Sends 418,972 Unique Views 59,99614.31% Type Users New Users Activate Users Push Enable Push Disibled Android 1,000,000 50,000 12,000 950,000 50,000 iOS 500,000 20,000 8,000 495,000 5,000 Total 1,500,000 70,000 20,000 1,445,000 55,000 Total Pushes Sent 50,345,413 148.58% Total App Open 13,345,413 57.49% Average Time In App 2.75min 12.21% Users for June 2013
  22. 22. 솔루션 소개 t-Push 통계 – 가입자 분석tt--PushPush 통계통계 –– 가입자가입자 분석분석 가입자 분석은 t-Push에 최초로 등록된 스마트폰 단말기를 의미하며 서비스별/OS_Type별/일자별 신규 가입자를 추이를 분석할 수 있습니다. Daily Weekly Monthly Custom Total Users 49,770 New Users 5,53011.11% Daily Average New Users 184.4 Daily Maxmum New Users 220 Query Date : OS Type :
  23. 23. 솔루션 소개 t-Push 통계 – 활성 사용자 분석tt--PushPush 통계통계 –– 활성활성 사용자사용자 분석분석 활성 사용자 분석은 정해진 기간내에 t-Push를 통해 앱을 실행한 사용자를 분석합니다. 이때 여러 번 앱이 실행되었어도 한명의 사용자로 집계됩니다. Daily Maximum Active Users 184.4 Daily Minimum Active Users 220 Daily Weekly MonthlyQuery Date : OS Type : Custom Total Active Users 38,584 Daily Average Active Users 18,500
  24. 24. 솔루션 소개 t-Push 통계 – Push 발송tt--PushPush 통계통계 –– PushPush 발송발송 t-Push를 이용하여 발송된 Push 메시지를 기준으로 GCM, APNS, t-Push 등 매체별 발송 점유율 분석 및 이를 통한 도달율 및 전송 실패에 대한 분석을 할 수 있다. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Jun 28, 2012 Jul 5, 2012 Jul 12, 2012 Jul 19, 2012 Jul 26, 2012 Aug 2, 2012 Sent tsp-Push GCM APNS Failure Total 20,000 12,500 500 Average 6,500 100 4,400 High 9,000 0 8,000 Low 5,000 100 2,500 2,500 300 500 0 4,500 1,500 2,000 500 Daily Weekly Monthly CustomQuery Date : OS Type :
  25. 25. 솔루션 소개 t-Push 통계 – Push 분석tt--PushPush 통계통계 –– PushPush 분석분석 Push 분석은 전송된 Push 건수, 앱 사용빈도, 앱 실행시간을 분석하여 사용자의 앱 접근 및 사용성 분석하여 사용자가 실제로 앱을 얼마나 자주 접속하는지, 얼마나 오래 사용하는지 분석합니다. 0 20 40 60 80 100 120 1 2a 4 a 8 a 1 2p 4 p 8 p 1 2a 4 a 8 a 1 2p 4 p 8 p Pushes Opens Time In App Total 561,545 234,443 3,454,567 Average 11,700 87,895 4,567 High 396,546 1,234,549 7,775 Low 0 645 75 Daily Weekly Monthly Custom Time in AppApp OpensPushes Query Date : OS Type :
  26. 26. 관련분야 수행경험 VoIP 국제전화 밍밍VoIPVoIP 국제전화국제전화 밍밍밍밍
  27. 27. 관련분야 수행경험 Sharing Social Network SystemSharing Social Network SystemSharing Social Network System
  28. 28. 관련분야 수행경험 Mobile Chatting ServiceMobile Chatting ServiceMobile Chatting Service
  29. 29. ㈜톡씨소프트 서울시 노원구 상계동 386-4 백천빌딩 3층 Tel. 070-8888-6814 Mobile. 010-3082-6814 dynamick@lycos.co.kr

×