Mobile Push Notification Solution

29
t-Push 솔루션 소개 ㈜톡씨소프트 2013.07.

description

mobile push notification

Transcript of Mobile Push Notification Solution

Page 1: Mobile Push Notification Solution

t-Push 솔루션

소개

㈜톡씨소프트

2013.07.

Page 2: Mobile Push Notification Solution

목차

1.

회사

소개

2.

솔루션

소개

1) 개요

2) Architecture

3) 특장점

4) 서비스

흐름

5) 통신규격

3.

관련분야

수행경험

ContentContent

Page 3: Mobile Push Notification Solution

회사

소개

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 제공

Page 4: Mobile Push Notification Solution

회사

소개

설립일

사업분야

임직원

연락처

상 호

대표이사

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]

Page 5: Mobile Push Notification Solution

솔루션

소개

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

Page 6: Mobile Push Notification Solution

솔루션

소개

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)

사용자및메시지전송증가에따른시스템확장용이

Page 7: Mobile Push Notification Solution

솔루션

소개

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

Page 8: Mobile Push Notification Solution

솔루션

소개

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

Page 9: Mobile Push Notification Solution

솔루션

소개

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

Page 10: Mobile Push Notification Solution

솔루션

소개

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를

통하여

전달한다.

Page 11: Mobile Push Notification Solution

솔루션

소개

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

Page 12: Mobile Push Notification Solution

솔루션

소개

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

Page 13: Mobile Push Notification Solution

솔루션

소개

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% 소비)

Page 14: Mobile Push Notification Solution

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 복잡도(프로그램

복잡도) : 적용하는

프로그램의

복잡도에

따른

보정율을

적용-

시스템

부하

: 시스템에

부하가

증가함에

따른

보정율을

적용

솔루션

소개

Page 15: Mobile Push Notification Solution

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)

Page 16: Mobile Push Notification Solution

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)

Page 17: Mobile Push Notification Solution

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)

Page 18: Mobile Push Notification Solution

솔루션

소개

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=""

Page 19: Mobile Push Notification Solution

솔루션

소개

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 단말

모델명* 단말모델명(하드웨어버전;소프트웨어버전) 형식

Page 20: Mobile Push Notification Solution

솔루션

소개

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

Page 21: Mobile Push Notification Solution

솔루션

소개

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

Page 22: Mobile Push Notification Solution

솔루션

소개

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 :

Page 23: Mobile Push Notification Solution

솔루션

소개

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

Page 24: Mobile Push Notification Solution

솔루션

소개

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 :

Page 25: Mobile Push Notification Solution

솔루션

소개

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 :

Page 26: Mobile Push Notification Solution

관련분야

수행경험

VoIP 국제전화

밍밍VoIP VoIP 국제전화국제전화

밍밍밍밍

Page 27: Mobile Push Notification Solution

관련분야

수행경험

Sharing Social Network SystemSharing Social Network SystemSharing Social Network System

Page 28: Mobile Push Notification Solution

관련분야

수행경험

Mobile Chatting ServiceMobile Chatting ServiceMobile Chatting Service

Page 29: Mobile Push Notification Solution

㈜톡씨소프트서울시

노원구

상계동

386-4 백천빌딩

3층

Tel. 070-8888-6814Mobile. 010-3082-6814 [email protected]