Mobile Push Notification Solution
-
Upload
- -
Category
Technology
-
view
728 -
download
5
description
Transcript of Mobile Push Notification Solution
t-Push 솔루션
소개
㈜톡씨소프트
2013.07.
목차
1.
회사
소개
2.
솔루션
소개
1) 개요
2) Architecture
3) 특장점
4) 서비스
흐름
5) 통신규격
3.
관련분야
수행경험
ContentContent
회사
소개
VisionVisionVision
Interactive Relationship Based Service
Mission Goal
tsp의기본철학인 Interactive RelationshipBased 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 제공
회사
소개
설립일
사업분야
임직원
연락처
상 호
대표이사
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 [email protected]
솔루션
소개
t-Push 개요tt--Push Push 개요개요
최근
스마트폰
사용자
및
앱
사용증가에
따른
개발사
및
서비스
제공자의
공통된
고민중
하나는
Push 알림에
관한
부분입니다. 대부분의
모바일
앱서비스는
Apple의
APNS, Google의
GCM을
이용하혀
푸시
알림을
구현하고
있으나
메시지
제약
및
유실
등
여러가지
문제점을
내포하고
있습니다.
이에
당사의
SIP기반
t-Push 솔루션은
독자적인
푸시
알림
플랫폼을
구축하여
운용할
수
있으며
쇼핑몰, 금융, 전자상거래
등
각종
앱을
설치한
사용자들의
특성에
맞춘
푸시
발송을
제공함으로써
SMS 비용
절감
등
마케팅
효과를
극대화
할
수
있도록
합니다.
API
Cloud Push NotificationSystem Center
수신
단말
Push Provider
송신
단말
서비스
가입자
CP
API
ProxyServer
ProxyServer
Mgmt. System
APNSlegacy
서비스
가입자
서비스
가입자
GCM
솔루션
소개
t-Push 특징tt--Push Push 특징특징
t-Push솔루션특장점
메시지사이즈및건수의제약이없음(GCM : 1024bytes, APNS : 256 bytes)
API/SDK를 통한신속한 Push 시스템구축
메시지실시간전송및신뢰성보장
메시지전송순서및재전송보장
지역및언어에대한제약이없음
전송이력및수신확인등전송결과확인가능
통합관리자화면을통해시스템모니터링및통계제공
GCM/APNS 단점
메시지사이즈제약(GCM : 1024 byte, APNS : 256byte)
전송메시지건수제약(GCM : 1일 200,000건)
시스템부하시전송지연및유실가능성
재전송및순차적전달보장안됨
중국내서비스불가(GCM)
사용자및메시지전송증가에따른시스템확장용이
솔루션
소개
t-Push Architecturett--Push ArchitecturePush Architecture
t-Push
시스템은
스마트폰간
메시지
통신
플랫폼으로
앱서비스
Registration과
Allocation에
따라
로드
밸런싱된
전용
Proxy Server를
할당
받는다. 이를
통하여
보내야할
메시지
또는
받아야할
메시지를
Client Agent를
통하여
메시지를
송수
신하며
이를
앱에
전달하는
기능을
수행한다.
CertificateServer
RegisterServer
Database
LocationServer
ProxyServer
MessageQueue
ContentsProvider
ProviderServer
DataBase PushServer
MessageQueue
솔루션
소개
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작업부하
클라우드
관리
계층
ProxyServer
ProxyServer
ProxyServer
ProxyServer
Certificatio
n
솔루션
소개
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 AgentServer
Message BrockerCDMA/GSM망
CDMA/GSM망
Proxy Server
Queue Handler
Server Queue
Message Brocker
Proxy Server
LocationInfo.
MainQueue
MessageDB
(Message Send)
(Message Receive)
Location Proxy
t-Push Servertt--Push ServerPush Server
솔루션
소개
t-Push Client Agent -
Androidtt--Push Client Agent Push 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 notificationNetwork Module
Registrar/Redirect Server
Certification Server Location Server
Network Module
HTTP, TCP/IP...
Hole Punching
Android Agent는
Push Server로
부터
수신
받은
메시지를
서비스
앱에게
직접
전달하거나
Android Notification Service를
통하여
전달한다.
솔루션
소개
t-Push
Client Agent -
iOStt--PushPush
Client Agent Client Agent --
iOSiOS
iOS
Mobile Device
Your Application
iOS
NotificationService
notify
Push Server
Message Broker
Queue Handler
Location Info.
Push notificationNetwork Module
Registrar/Redirect Server
Certification Server Location Server
HTTP, TCP/IP…
iOS는
별도의
Agent가
생성되어
여러
앱으로
Push Notification을
전달하는
형태가
아닌
서비스
앱에
포함된
형태로
Push Server로
부터
수신
받은
메시지를
서비스
앱에게
직접
전달한다.
Push Notification ClientNetwork Module
activate
Hole Punching
솔루션
소개
t-Push 서비스
흐름tt--Push Push 서비스서비스
흐름흐름
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
전송을
요청하는
대상
ClientApp.
ClientAgent
PushServer
PushProvider
솔루션
소개
t-Push 주요기능tt--Push Push 주요기능주요기능
분류 기능
메시지
전송
및
관리
실시간/예약
메시지
전송
메시지
수신상태
확인
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% 소비)
Service Development ScheduleService Development ScheduleService Development Schedulet-Push Server 성능
산정기준(1/4)tt--Push Server Push 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 복잡도(프로그램
복잡도) : 적용하는
프로그램의
복잡도에
따른
보정율을
적용-
시스템
부하
: 시스템에
부하가
증가함에
따른
보정율을
적용
솔루션
소개
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 Server Push Server 성능성능
산정기준산정기준(2/4)(2/4)
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 Server Push Server 성능성능
산정기준산정기준(3/4)(3/4)
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 Server Push Server 성능성능
산정기준산정기준(4/4)(4/4)
솔루션
소개
t-Push Request 규격tt--Push Request Push Request 규격규격
SIP
헤더명 헤더값 비고
REGISTER or MESSAGE sip:172.16.30.226:5080 SIP/2.0
Call-ID [email protected]
CSeq 31 (REGISTER)
From <sip:[email protected]>
To <sip:[email protected]>
Via SIP/2.0/UDP192.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=""
솔루션
소개
t-Push User Agent 규격tt--Push User Agent Push 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 단말
모델명* 단말모델명(하드웨어버전;소프트웨어버전) 형식
솔루션
소개
t-Push Response 규격tt--Push Response Push Response 규격규격
SIP
헤더명 헤더값 비고
SIP/2.0 200 OK
To <sip:[email protected]>;tag=53953617_37f8275d_076b6838-286d-
4fd9-9d96-41bf6910dbbc
Via SIP/2.0/UDP192.168.11.5:44881;rport=51679;received=10.1.254.97
CSeq 2 (REGISTER)
Call-ID [email protected]
From <sip:[email protected]>
Content-Length 0
솔루션
소개
t-Push 통계
–
Overviewtt--Push Push 통계통계
––
OverviewOverview
월간
Push 메시지
전송현황
및
App Activity
Summary를
제공합니다.
Overview for June 2013 Previous month Next month Custom
Push Sends355,622
Influenced Opens45,12212.68%
RichPush
Sends418,972
Unique Views59,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,413148.58%
Total App Open
13,345,41357.49%
Average Time In App
2.75min12.21%
Users for June 2013
솔루션
소개
t-Push 통계 – 가입자 분석tt--Push Push 통계통계
––
가입자가입자
분석분석
가입자
분석은
t-Push에
최초로
등록된
스마트폰
단말기를
의미하며
서비스별/OS_Type별/일자별
신규
가입자를
추이를
분석할
수있습니다.
Daily Weekly Monthly Custom
Total Users49,770
New Users5,53011.11%
Daily Average New Users184.4
Daily Maxmum
New Users220
Query Date : OS Type :
솔루션
소개
t-Push 통계
–
활성
사용자
분석tt--Push Push 통계통계
––
활성활성
사용자사용자
분석분석
활성
사용자
분석은
정해진
기간내에
t-Push를
통해
앱을
실행한
사용자를
분석합니다. 이때
여러
번
앱이
실행되었어도
한명의
사용자로
집계됩니다.
Daily Maximum Active Users184.4
Daily Minimum Active Users220
Daily Weekly MonthlyQuery Date : OS Type : Custom
Total Active Users38,584
Daily Average Active Users18,500
솔루션
소개
t-Push 통계
–
Push 발송tt--Push Push 통계통계
––
Push Push 발송발송
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,00012,500
500
Average
6,500
100
4,400High
9,000
0
8,000Low
5,000
100
2,5002,500 300 500 04,500 1,500 2,000 500
Daily Weekly Monthly CustomQuery Date : OS Type :
솔루션
소개
t-Push 통계
–
Push 분석tt--Push Push 통계통계
––
Push Push 분석분석
Push 분석은
전송된
Push 건수, 앱
사용빈도, 앱
실행시간을
분석하여
사용자의
앱
접근
및
사용성
분석하여
사용자가
실제로
앱을
얼마나
자주
접속하는지, 얼마나
오래
사용하는지
분석합니다.
0
20
40
60
80
100
120
12a 4a 8a 12p 4p 8p 12a 4a 8a 12p 4p 8p
Pushes Opens Time In App
Total561,545234,443
3,454,567Average
11,700
87,8954,567 High
396,546
1,234,5497,775 Low
0
64575
Daily Weekly Monthly Custom
Time in AppApp OpensPushes
Query Date : OS Type :
관련분야
수행경험
VoIP 국제전화
밍밍VoIP VoIP 국제전화국제전화
밍밍밍밍
관련분야
수행경험
Sharing Social Network SystemSharing Social Network SystemSharing Social Network System
관련분야
수행경험
Mobile Chatting ServiceMobile Chatting ServiceMobile Chatting Service