KR101375133B1 - Mobile sns intergrated gateway - Google Patents

Mobile sns intergrated gateway Download PDF

Info

Publication number
KR101375133B1
KR101375133B1 KR1020130030335A KR20130030335A KR101375133B1 KR 101375133 B1 KR101375133 B1 KR 101375133B1 KR 1020130030335 A KR1020130030335 A KR 1020130030335A KR 20130030335 A KR20130030335 A KR 20130030335A KR 101375133 B1 KR101375133 B1 KR 101375133B1
Authority
KR
South Korea
Prior art keywords
server
sns
client
synchronization
protocol
Prior art date
Application number
KR1020130030335A
Other languages
Korean (ko)
Inventor
백상엽
한덕구
주홍택
김현우
이신호
Original Assignee
주식회사 퓨전소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 퓨전소프트 filed Critical 주식회사 퓨전소프트
Priority to KR1020130030335A priority Critical patent/KR101375133B1/en
Application granted granted Critical
Publication of KR101375133B1 publication Critical patent/KR101375133B1/en
Priority to PCT/KR2014/002410 priority patent/WO2014148865A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

An integrated SNS gateway of an embodiment of the present invention includes: a broker server for communicating with at least one client which is connected through a network with an integrated SNS protocol and relaying message transmission among SNS servers; an account manager for receiving message and ID information of a client from the broker server and managing an account of the client; a data manager for receiving ID authentication and message request of the account manager and managing data of cache server and synchronization server; the synchronization server for performing synchronization according to a command of the data manager; the cache server for caching according to a command of the data manager; and a service adaptor for receiving a command of the synchronization server and cache server and performing communication according to an individual protocol with each SNS server. [Reference numerals] (5) SNS server 1; (AA,BB,CC) Integrated protocol; (DD) SNS server 2; (EE) SNS server 3

Description

통합 SNS 게이트웨이{Mobile SNS Intergrated Gateway}Integrated SNS Gateway {Mobile SNS Intergrated Gateway}

본 발명은 하나 이상의 콘텐츠 서버와 모바일 단말기를 연결하는 통합 SNS 게이트웨이에 관한 것이다.The present invention relates to an integrated SNS gateway connecting one or more content servers and a mobile terminal.

스마트 기기 사용이 급증함에 따라, 모바일 트래픽도 기하급수적으로 증가하고 있다. 특히 모바일 트래픽 중 SNS(Social Networking Service) 트래픽이 급격히 증가하고 있다.As the use of smart devices surges, mobile traffic is growing exponentially. In particular, social networking service (SNS) traffic is rapidly increasing among mobile traffic.

증가하는 SNS 트래픽에 대응하기 위한 방법으로 현재 많은 모바일 SNS 어플리케이션들은 푸시방식으로 동작하고 있다. As a way to cope with increasing SNS traffic, many mobile SNS applications are currently operating in a push method.

푸시방식에 기초한 SNS 어플리케이션들은 제공하는 성격이 매우 큰 차이가 있어서 사용자들은 여러 개의 SNS 어플리케이션을 사용하고 있고, 각 SNS 어플리케이션은 SNS 서버에 개별적으로 접근하여 1:1 통신 방식으로 정보를 갱신한다. 이러한 1:1 통신 방법은 사용자가 증가함에 따라 트래픽이 집중되고 응답속도가 느려지는 등의 문제점이 있다.SNS applications based on the push method has a very large difference in the nature of providing the users are using a number of SNS applications, each SNS application to access the SNS server individually to update the information in a 1: 1 communication method. The 1: 1 communication method has a problem such that traffic is concentrated and response speed is slowed down as the number of users increases.

이와 같은 통신 방식은 1:1 방식으로 통신하던 초기 웹이나 FTP와 유사한데, 웹은 사용이 증가함에 따라서 웹의 응답 속도를 높이고 트래픽을 줄이기 위한 방법을 도입하였으며, 가장 대표적인 예로 웹 캐싱이 있다. 사용자 트래픽이 모이는 지점에 웹 캐싱 장치를 설치하여 웹서버로부터 이미 가져온 정보를 빠르게 사용자에게 제공함으로써 응답시간과 트래픽을 줄일 수 있었다.This communication method is similar to the initial web or FTP that communicated in a 1: 1 manner. As the usage of the web increases, the web has introduced a method for increasing the response speed of the web and reducing traffic. The most representative example is web caching. By installing a web caching device at the point where user traffic gathers, it is possible to reduce the response time and traffic by providing the user with the information which is already taken from the web server.

SNS도 이와 같이 중간에 어떤 장치 두고 통신성능을 개선할 수 있으나, 각 SNS의 통신 프로토콜이 표준에 의한 통신 프로토콜이 아니라서 각 SNS별로 다른 자가 통신 프로토콜을 사용하고 있어서 위 방법을 적용하기 힘들다.In this way, SNS can improve communication performance by placing any device in between. However, since the communication protocol of each SNS is not a communication protocol according to the standard, it is difficult to apply the above method because each SNS uses a different self communication protocol.

그러므로 본 발명은 SNS의 통신성능 개선을 위해서 어플리케이션 게이트웨이방식을 제안한다.Therefore, the present invention proposes an application gateway method for improving communication performance of SNS.

본 발명의 실시예는 하나 이상의 SNS 서버와 개별적인 프로토콜로 통신하고, 클라이언트와는 통합 SNS 프로토콜로 통신하며, 그 과정에서 동기화 기능이나 캐싱기능을 수행하여 트래픽 감소시키고 응답속도를 향상시키는 통합 SNS 게이트웨이를 제안하고자 한다.An embodiment of the present invention provides an integrated SNS gateway that communicates with one or more SNS servers in a separate protocol, communicates with a client through an integrated SNS protocol, and performs synchronization or caching in the process to reduce traffic and improve response speed. I would like to suggest.

본 실시예의 통합 SNS 게이트웨이는, 네트워크 연결된 적어도 하나 이상의 클라이언트와 통합 SNS 프로토콜로 통신하고, 복수의 SNS 서버간의 메시지 전달을 중계하는 브로커 서버와, 상기 브로커 서버로부터 클라이언트의 메시지와 ID 정보를 받고, 클라이언트의 계정을 관리하는 계정관리자와, 상기 계정관리자의 ID 승인 및 메시지 요청을 받고, 캐시 서버와 동기화 서버의 데이터를 관리하는 데이터 관리자와, 상기 데이터 관리자의 명령에 따라 동기화 기능을 담당하는 동기화 서버와, 상기 데이터 관리자의 명령에 따라 캐싱 기능을 담당하는 캐시 서버와, 상기 동기화 서버와 상기 캐시 서버의 명령을 수신하고, 각각의 SNS 서버와 개별적인 프로토콜에 따라 통신을 수행하는 웹 서비스 어댑터를 포함한다.The integrated SNS gateway of the present embodiment communicates with at least one client connected to a network through an integrated SNS protocol, receives a message and ID information of the client from the broker server, and relays the message transfer between the plurality of SNS servers. An account manager managing an account of the data manager; And a cache server for caching functions according to the command of the data manager, and a web service adapter for receiving commands from the synchronization server and the cache server and communicating with each SNS server according to a separate protocol.

제안되는 본 발명의 실시예의 통합 SNS 게이트웨이에 의해서 클라이언트와 SNS 서버와의 통신 중간에서 동기화 기능과 캐싱기능을 수행하여 트래픽 감소시키고 응답속도를 향상시키는 장점이 있다.By the integrated SNS gateway of the proposed embodiment of the present invention, a synchronization function and a caching function are performed between the client and the SNS server, thereby reducing traffic and improving response speed.

도 1은 본 발명의 일 실시 예에 따른 클라이언트와, 게이트웨이와, SNS 서버의 통신을 개략적으로 보여주는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 게이트웨이의 구성을 개략적으로 보여주는 도면이다.
도 3은 본 발명의 일 실시 예에 따라 각 SNS 서버의 콘텐츠별로 객체 트리를 구성한 것이다.
도 4는 본 발명의 일 실시 예에 따라 게이트웨이의 각 구성요소 간의 동작 과정을 나타내는 서버 순차 다이어그램이다.
도 5는 본 발명의 일 실시 예에 따라 통합 어플리케이션에서 데이터를 갱신하는 동안 게이트웨이 서버의 각 구성요소 간의 동작 과정을 나타내는 순서도이다.
도 6은 본 발명의 일 실시 예에 따라 SyncML 이용한 동기화 방법의 순차다이어그램을 나타낸다.
도 7은 본 발명의 일 실시 예에 따라 Topic tree의 구성을 나타낸다.
도 8은 Qos(Quality of Service) 레벨에 따른 패킷 교환 방법을 나타낸다.
도 9는 본 발명의 일 실시 예에 따라 MQTT의 메시지 전달과정을 나타낸다.
도 10은 본 발명의 일 실시 예에 따라 통합 SNS 프로토콜의 설계를 위한 실제 네트워크 실험 구성을 나타낸다.
도 11은 도 10의 실험의 평균 종단 간 지연의 분석결과를 나타낸다.
도 12는 도 10의 실험의 패킷 손실의 분석 결과를 나타낸다.
1 is a diagram schematically illustrating communication between a client, a gateway, and an SNS server according to an embodiment of the present invention.
2 is a diagram schematically illustrating a configuration of a gateway according to an embodiment of the present invention.
3 is an object tree for each content of each SNS server according to an embodiment of the present invention.
4 is a server sequential diagram showing an operation process between each component of a gateway according to an embodiment of the present invention.
5 is a flowchart illustrating an operation process between components of a gateway server while updating data in an integrated application according to an embodiment of the present invention.
6 is a sequential diagram of a synchronization method using SyncML according to an embodiment of the present invention.
7 illustrates a configuration of a topic tree according to an embodiment of the present invention.
8 illustrates a packet exchange method according to a quality of service (Qos) level.
9 illustrates a message delivery process of an MQTT according to an embodiment of the present invention.
10 illustrates an actual network experiment configuration for the design of the integrated SNS protocol according to an embodiment of the present invention.
FIG. 11 shows an analysis result of the average end-to-end delay of the experiment of FIG. 10.
12 shows the analysis results of packet loss in the experiment of FIG. 10.

이하에서는, 본 실시예에 대하여 첨부되는 도면을 참조하여 상세하게 살펴보도록 한다. 다만, 본 실시예가 개시하는 사항으로부터 본 실시예가 갖는 발명의 사상의 범위가 정해질 수 있을 것이며, 본 실시예가 갖는 발명의 사상은 제안되는 실시예에 대하여 구성요소의 추가, 삭제, 변경 등의 실시변형을 포함한다고 할 것이다.Hereinafter, the present embodiment will be described in detail with reference to the accompanying drawings. It should be understood, however, that the scope of the inventive concept of the present embodiment can be determined from the matters disclosed in the present embodiment, and the spirit of the present invention possessed by the present embodiment is not limited to the embodiments in which addition, Variations.

도 1은 본 발명의 일 실시예에 따른 클라이언트(10)와 게이트웨이(1)와, 네트워크 서버의 통신을 개략적으로 보여주는 도면이다.1 is a diagram schematically illustrating communication between a client 10, a gateway 1, and a network server according to an exemplary embodiment of the present invention.

도 1을 참조하면, 본 실시예는 게이트웨이(1)와 통합 프로토콜로 통신하는 클라이언트(10)와, 상기 클라이언트(10)와 SNS 서버(5) 중간 위치에서 통신성능을 개선하는 게이트웨이(1)와, 각자의 프로토콜 방식으로 게이트웨이(1)와 통신하는 SNS 서버(5)로 구성되어있다.Referring to FIG. 1, the present embodiment includes a client 10 communicating with the gateway 1 through an integrated protocol, a gateway 1 improving communication performance at an intermediate position between the client 10 and the SNS server 5. The SNS server 5 communicates with the gateway 1 in a respective protocol manner.

이들 구성에 대하여 상세히 살펴보면 다음과 같다.These configurations will be described in detail as follows.

상기 클라이언트(10)는 휴대용 단말기로 구성될 수 있고, 당해 단말기에는 통합 SNS 어플리케이션이 설치되어있어, 이를 통하여 게이트웨이(1)와 통합 SNS 프로토콜로 통신한다.The client 10 may be configured as a portable terminal, and the terminal is provided with an integrated SNS application, thereby communicating with the gateway 1 through the integrated SNS protocol.

상기 통합 SNS 어플리케이션은 기존의 각각의 SNS 어플리케이션이 제공하는 기능을 하나의 어플리케이션에서 제공하는 것이다.The integrated SNS application is to provide a function provided by each existing SNS application in one application.

본 발명의 실시예에서는 통합 SNS 프로토콜로 푸시 알림 서비스 방식의 통신방식에 기초하고 있으며, IBM에서 발표한 오픈 프로토콜인 MQTT(Message Queuing Telemetry Transport) 프로토콜을 사용하였으나, 다른 프로토콜 방식의 사용이 가능함은 당연하다. MQTT는 브로커 서버(101)와, Publish 클라이언트와, Subscribe 클라이언트로 구성되어 있으며, 세부적인 설계는 뒤에서 설명한다.In the embodiment of the present invention, the integrated SNS protocol is based on the communication method of the push notification service method, and the MQTT (Message Queuing Telemetry Transport) protocol, which is an open protocol announced by IBM, is used, but it is obvious that other protocol methods can be used. Do. MQTT is composed of broker server 101, Publish client and Subscribe client. Detailed design will be described later.

또한, SNS 서버(5)들은 각자의 프로토콜 방식으로 게이트웨이(1)를 통해 클라이언트(10)와 통신한다. In addition, the SNS servers 5 communicate with the client 10 through the gateway 1 in a respective protocol manner.

현재 SNS 서버(5)들은 SNS 별로 다른 자가 통신 프로토콜을 사용하고 있으며, 대부분의 SNS 서버(5)는 프로토콜 규약을 공개하고 있지 않으나, 프로토콜 역 공학 방법등에 의하여 프로토콜을 분석할 수 있다.Currently, the SNS servers 5 use different self-communication protocols for each SNS, and most SNS servers 5 do not disclose protocol protocols, but can analyze the protocols by protocol reverse engineering methods.

예를 들어 facebook의 프로토콜은 프로토콜 역공학 방법에 의하여 HTTP 프로토콜을 기반으로 만들어져 있음을 알 수 있다.For example, facebook's protocol is based on the HTTP protocol by protocol reverse engineering.

또한, 게이트웨이(1)는 상기 클라이언트(10)의 통합 SNS 어플리케이션과 통합 SNS 프로토콜 방식으로 통신하고, 상기 SNS 서버(5)와는 SNS 서버(5)의 자가 프로토콜 방식으로 통신하여 서로 다른 프로토콜 사이의 통신을 가능하게 하며, 클라이언트(10)와 SNS 서버(5)의 통신 중간의 위치에서 동기화, 캐싱, 통합인증기능을 수행한다.In addition, the gateway 1 communicates with the integrated SNS application of the client 10 by the integrated SNS protocol method, and communicates with the SNS server 5 by the self-protocol method of the SNS server 5 to communicate between different protocols. It is possible to perform the synchronization, caching, integrated authentication function at the location of the communication between the client 10 and the SNS server (5).

상세히 설명하면, 게이트웨이(1)는 사용자 정보를 저장하고 통합 SNS 어플리케이션의 요청에 의해 데이터를 저장하거나 제공하며 SNS 서버(5)에 직접 접근하여 사용자의 SNS 정보를 갱신하고 최신 정보를 가져와서 통합 SNS 어플리케이션에 제공한다. 이 게이트웨이(1)는 다수 사용자 접속에 따른 계정관리 및 보안처리 기능도 수행한다. 사용자 계정 정보를 이용하여 주기적으로 SNS에 접근을 하여 정보를 갱신하고 최근 정보를 입수한다. In detail, the gateway 1 stores user information, stores or provides data at the request of the integrated SNS application, accesses the SNS server 5 directly, updates the user's SNS information, and obtains the latest information. Provide it to the application. The gateway 1 also performs account management and security processing functions in accordance with multiple user connections. The user accesses the SNS periodically using the user account information to update the information and obtain the latest information.

이 과정에서 게이트웨이(1)는 사용자 계정 정보를 이용하여 주기적으로 SNS에 대한 데이터를 임시 저장하는 캐시기능과, 변경된 데이터만을 전송하는 동기화를 기능을 통하여 통합 SNS 어플리케이션의 부하를 최소화하고 통신성능을 향상시키도록 통신을 한다. In this process, the gateway 1 minimizes the load of the integrated SNS application and improves communication performance through a cache function for periodically storing data on the SNS periodically using a user account information and a synchronization function for transmitting only changed data. To communicate.

본 발명의 실시 예에서는 이후로 통신성능 향상에 관하여만 다루기 때문에 캐시 기능과 동기화 기능에 대하여 주로 언급하고 기술적인 내용 전달에 지장을 초래하지 않는 범위에서 계정관리나 보안기능에 대하여는 최소로 언급한다.Since the embodiments of the present invention only deal with communication performance enhancements later, the cache function and the synchronization function are mainly referred to, and the account management or security function is minimally mentioned in the range that does not cause technical content delivery.

상기 동기화 기능은 서로 다른 위치에 있는 장치 또는 프로그램 간에 동일한 데이터를 유지하기 위한 방법으로 서로 변경된 부분만을 주고받는 받는 것이다. 이 기능은 동일한 데이터를 유지하기 위해서 차이점을 고려하지 않고 모든 데이터를 갱신하는 방법보다 개선된 방법이다.The synchronization function is a method for maintaining the same data between devices or programs at different locations. This feature is an improvement over updating all data without considering differences to keep the same data.

예를 들면, 기존의 Facebook의 통신의 경우 서버에 접속을 하면 친구리스트를 모두 다시 갱신한다. 그러나 동기화 기능을 활용하면 기존의 친구리스트에서 변화된 부분만을 전송하여 일치시킴으로 응답속도와 트래픽 성능을 향상시킨다. For example, in the case of the existing Facebook communication, when the server is connected, all of the friend lists are updated again. However, if the synchronization function is used, only the changed part of the existing friend list is transmitted and matched to improve the response speed and the traffic performance.

즉, 게이트웨이(1)와 SNS 서버(5) 사이에는 기존의 방식대로 통신을 하여 최근 정보를 유지하며, 최근 정보는 기존의 정보와 비교하여 변화된 정보를 계산한다. 변경된 정보만을 통합 SNS 어플리케이션에게 전달하여 트래픽과 응답속도를 높일 수 있다. That is, the gateway 1 and the SNS server 5 communicate with each other in the conventional manner to maintain the latest information, and the latest information is compared with the existing information to calculate the changed information. Only changed information can be delivered to integrated SNS application to increase traffic and response speed.

동기화할 때, 각 SNS 서버(5)별로 동기화 기능으로 성능을 향상시킬 수 있는 정보를 정의하고 동기화 객체를 객체트리로 구성하면 동기화 영역을 쉽게 계산할 수 있다.When synchronizing, it is possible to easily calculate the synchronization area by defining the information that can improve the performance by the synchronization function for each SNS server 5 and configuring the synchronization object as an object tree.

상기 캐싱기능에 대하여 설명하면, 통합 SNS 어플리케이션에 전송한 내용을 복사하여 저장하고 있다가, 이후에 SNS 어플리케이션에서 동일한 내용을 요청하면 SNS 서버(5)에서 데이터를 받아 오지 않고 저장된 데이터를 곧 바로 보낸다. When the caching function is described, the contents transmitted to the integrated SNS application are copied and stored. If the same contents are subsequently requested by the SNS application, the SNS server 5 immediately sends the stored data without receiving the data. .

이 방식은 전통적인 인터넷 캐싱과 동일하며 SNS 서버(5)의 부하를 줄이고 트래픽의 양을 줄이고 응답시간을 줄여준다. 이 방법이 SNS 게이트웨이(1)에서 가능하기 위해서는 SNS로 제공되는 객체에 대하여 동일한 데이터인지를 식별할 수 있는 방법이 도입되어야 한다. 웹의 경우 웹 객체별로 URL이 바로 이러한 역할을 한다. 또한 각 객체에 대하여 객체의 일정시간 동안의 유효성을 계산할 수 있어야 한다. 웹의 경우 HTTP 프로토콜에서 객체의 수명이 전달되며 이를 사용하고 있다.This approach is the same as traditional Internet caching, which reduces the load on the SNS server 5, reduces the traffic volume, and reduces the response time. In order for this method to be possible in the SNS gateway 1, a method for identifying whether the same data is provided for the object provided to the SNS should be introduced. In the case of the web, URLs play this role. Also, for each object, it should be possible to calculate the validity of the object over time. In the case of the web, the lifetime of the object is transmitted and used in the HTTP protocol.

위에서 설명했듯이, Facebook의 프로토콜은 HTTP 프로토콜을 기반으로 만들어져 있다. 따라서 휴대용 단말기에서도 기본적으로 기존의 웹캐싱장치를 사용하여도 통신성능 향상의 효과가 있다. 따라서 본 발명의 게이트웨이(1)도 기존의 웹캐싱기능을 제공활용할 수 있다. 다만 통합 SNS 어플리케이션에게 제공하기 위해서는 기존의 웹캐싱 결과를 통합 프로토콜로 변환하여 제공해야한다. 이미 많은 SNS 데이터에 사진, 동영상 등 멀티미디어 데이터가 포함되어 있기 때문에 이 웹캐싱 기능은 효과가 적지 않을 것이다.As explained above, Facebook's protocol is based on the HTTP protocol. Therefore, even in a portable terminal, even if the existing web caching apparatus is basically used, the communication performance is improved. Therefore, the gateway 1 of the present invention can also utilize the existing web caching function. However, in order to provide integrated SNS application, the existing web caching result must be converted into integrated protocol and provided. Since a lot of SNS data already contains multimedia data such as photos and videos, this web caching function will be less effective.

또한, 기존 웹캐싱 기능 활용과 함께 SNS 프로토콜 분석결과를 기반으로 캐싱 가능한 객체에 대하여 캐싱이 가능하다. 예를 들면 기존 SNS 서버(5)는 사진을 자신의 서버에 올리면 결과를 다시 전송받아서 자신의 페이지를 완성한다. 이러한 방식은 사진을 올리고 다시 내려 받는 결과를 초래해 불필요한 트래픽을 유발하며 게이트웨이(1)는 이 불필요한 트래픽을 절감한다.In addition, caching is possible for objects that can be cached based on the results of SNS protocol analysis along with the use of existing web caching functions. For example, when the existing SNS server 5 uploads a picture to its own server, the result is sent back to complete its own page. This approach results in uploading and re-downloading of pictures, causing unnecessary traffic, and the gateway 1 reduces this unnecessary traffic.

상기 통합인증기능은 하나 이상의 SNS 서버(5)에 개별적으로 인증을 하는 것을 통합하여, 여러 개의 단말에서 요구되는 인증을 하나로 모아서 높은 수준의 인증을 대신하는 것이다. 이 과정에서 게이트웨이(1)는 다수 사용자 접속에 따른 계정관리 및 보안처리 기능도 수행한다.The integrated authentication function is to integrate the authentication to one or more SNS server (5) individually, to replace the high-level authentication by gathering the authentication required from multiple terminals into one. In this process, the gateway 1 also performs account management and security processing according to multiple user accesses.

도 2는 본 발명의 일 실시예에 따른 게이트웨이(1)의 구성을 개략적으로 보여주는 도면이다.2 is a diagram schematically showing the configuration of a gateway 1 according to an embodiment of the present invention.

도 2를 참조하면, 본 실시예의 게이트웨이(1)는 클라이언트(10)와 SNS 서버(5)간의 메시지 전달을 중계하는 브로커 서버(브로커 Server,101)와, 클라이언트(10)의 정보를 보호하는 보안 관리자(Security Manager,102)와, 클라이언트(10)의 계정을 관리하는 계정관리자(Account Manager,103)와, 캐시 서버(106)와 동기화 서버(105)등의 데이터를 관리하는 데이터 관리자(Data Manager,104)와, 동기화 기능을 담당하는 동기화 서버(Synchronization Server,105)와, 캐싱 기능을 담당하는 캐시 서버(Cache Sever,106)와, 각 SNS 서버(5)의 프로토콜에 따라 개별적으로 접속할 수 있게 하는 웹 서비스 어댑터(Web Service Adaptor,107)로 구성되어 있다.Referring to FIG. 2, the gateway 1 of this embodiment is a broker server (broker Server) 101 that relays message transmission between the client 10 and the SNS server 5, and a security that protects information of the client 10. A data manager (Data Manager) that manages data such as a manager (Security Manager) 102, an account manager (103) managing an account of the client 10, a cache server 106, a synchronization server 105, and the like. 104, a synchronization server (Synchronization Server 105) responsible for the synchronization function, a cache server (Cache Sever, 106) responsible for the caching function, and can be individually connected according to the protocol of each SNS server (5). It consists of a Web Service Adapter (107).

이들 구성에 대해서 간략히 설명하면, 상기 브로커 서버(101)는 SNS 서버(5)(5)를 Publish 클라이언트라 하고, 클라이언트(10)를 Subscribe 클라이언트라 할 때, publish 클라이언트와 subscribe 클라이언트가 서로 메시지를 전달하는 중간에서 양자 사이를 중계하는 역할을 한다.Briefly describing these configurations, when the broker server 101 refers to the SNS server 5 and 5 as the publish client and the client 10 as the subscribe client, the publish client and the subscribe client transmit messages to each other. It plays a role of relaying between them in the middle.

본 발명의 실시예에서는, 통합 SNS 어플리케이션과 게이트웨이(1) 간의 푸시 기반 통신은 오픈 소스 프로젝트로 개발된 MQTT 프로토콜을 사용하는바, 상기 브로커 서버(101)는 Mosquitto를 사용하나 이에 한정되지 않는 것은 당연하다. In the embodiment of the present invention, the push-based communication between the integrated SNS application and the gateway 1 uses the MQTT protocol developed as an open source project, the broker server 101 uses Mosquitto, but is not limited thereto. Do.

MQTT는 푸시 기반의 전송방식만을 제공하므로 이를 기반으로 통합 SNS 프로토콜을 설계하여야 하는바, 브로커 서버(101)의 상세한 내용은 통합 SNS 프로토콜 설계와 같이 후술한다. Since the MQTT provides only a push-based transmission method, an integrated SNS protocol should be designed based on this. Details of the broker server 101 will be described later as the integrated SNS protocol design.

또한, 보안관리자, 계정관리자(103), 데이터 관리자(104)는 각각 보안기능, 계정관리기능, 데이터 관리 기능을 제공한다. 각 기능은 게이트웨이(1)로서 동작하기 위해서 자체적으로 정의된 세부 기능에 따라서 개발된 구성요소이다.In addition, the security manager, account manager 103, and data manager 104 provides a security function, account management function, data management function, respectively. Each function is a component developed according to the detailed functions defined by itself in order to operate as the gateway 1.

또한, 상기 캐시 서버(106)는 통합 SNS 어플리케이션에 전송한 내용을 복사하여 저장하고 있다가, 이후에 SNS 어플리케이션에서 동일한 내용을 요청하면 SNS 서버(5)에서 데이터를 받아 오지 않고 저장된 데이터를 곧 바로 보낸다.In addition, the cache server 106 copies and stores the contents transmitted to the integrated SNS application. If the same contents are subsequently requested by the SNS application, the cache server 106 does not receive the data from the SNS server 5 and immediately stores the stored data. send.

상기 캐시 서버(106)는 오픈소스 프로젝트로 개발된 Squid 캐시 서버(106)를 이용할 수 있다. Squid 서버는 캐시 및 프록시를 위한 서버이다. 앞서 설명한 바와 같이 기존의 SNS 프로토콜이 HTTP 기반으로 만들어져 있으므로 웹 캐싱기능을 기본으로 활용할 수 있으며 Squid 서버의 기능을 활용할 수 있다. 또한 Squid 캐시 서버(106)에 캐싱 여부를 판단하는 부분을 개선하여 SNS 프로토콜에서 캐싱이 가능하도록 개선할 수 있다.The cache server 106 may use the Squid cache server 106 developed as an open source project. Squid server is a server for cache and proxy. As described above, since the existing SNS protocol is made based on HTTP, the web caching function can be used as a base, and the function of the Squid server can be used. In addition, it is possible to improve the caching in the SNS protocol by improving the portion of the Squid cache server 106 to determine whether to cache.

또한, 상기 동기화 서버(105)는 서로 다른 위치에 있는 장치 또는 프로그램 간에 동일한 데이터를 유지하기 위한 방법으로, 본 발명의 실시예에서는 클라이언트(10)와 SNS 서버(5)간에서 서로 변경된 부분만을 주고받는 받는다.In addition, the synchronization server 105 is a method for maintaining the same data between devices or programs located at different locations, and in the embodiment of the present invention, only the portions changed between the client 10 and the SNS server 5 are exchanged. Receiving receiving

상기 동기화 서버(105)는 오픈소스 프로젝트로 개발되는 Funambol 동기화 엔진을 활용할 수 있다. Funambol 동기화 엔진은 동기화 표준 프로토콜인 SyncML 프로토콜에 기반하여 개발되었다. 이 엔진은 동기화를 위한 객체에 따라서 별도로 어댑터를 개발할 수 있은 방법을 제공하고 있다. 게이트웨이(1)는 SNS 객체에 대하여 객체 트리를 구성하고 이 트리를 기반으로 변화된 정보를 계산할 수 있도록 개선하였다.The synchronization server 105 may utilize a Funambol synchronization engine developed as an open source project. The Funambol synchronization engine was developed based on the SyncML protocol, a synchronization standard protocol. The engine provides a way to develop adapters separately for objects for synchronization. The gateway 1 has been improved to construct an object tree for SNS objects and to calculate changed information based on the tree.

도 3은 본 발명의 일 실시예에 따라 각 SNS 서버(5)의 콘텐츠별로 객체 트리를 구성한 것이다.3 illustrates an object tree for each content of each SNS server 5 according to an embodiment of the present invention.

예를 들어. 페이스북 서버의 경우, 콘텐츠 종류(예를 들어 이미지,텍스트, flash, 비디오)의 확장자를 하나의 객체로 하여 트리를 구성할 수 있다.E.g. In the case of the Facebook server, a tree can be constructed using the extension of the content type (eg, image, text, flash, video) as one object.

또한, 웹 서비스 어댑터(107)는 게이트웨이(1)가 각 SNS서비스별로 사용하는 독특한 프로토콜을 사용하여 각 SNS 서버(5)에 접속할 수 있도록 한다 웹 서비스 어댑터(107)는 SNS별로 개발되어야 하며 각 SNS에서 제공하는 개발 플랫폼을 사용하여 개발한다.In addition, the web service adapter 107 allows the gateway 1 to access each SNS server 5 using a unique protocol used for each SNS service. The web service adapter 107 must be developed for each SNS and each SNS. Develop using the development platform provided by.

예를 들어, Facebook의 웹 서비스 어댑터(107)는 Facebook에서 제공하는 Facebook SDK로 페이스북의 어댑터를 개발하여 추가시키면 된다.For example, Facebook's web service adapter 107 is a Facebook SDK provided by Facebook.

도 4는 본 발명의 일 실시예에 따라 게이트웨이(1)의 각 구성요소간의 동작 과정을 나타내는 서버 순차 다이어그램이고, 도 5는 본 발명의 일 실시예에 따라 통합 어플리케이션에서 데이터를 갱신하는 동안 게이트웨이(1) 서버의 각 구성요소간의 동작 과정을 나타내는 순서도이다.FIG. 4 is a server sequential diagram showing an operation process between each component of the gateway 1 according to an embodiment of the present invention, and FIG. 5 is a diagram illustrating a gateway (while updating data in an integrated application according to an embodiment of the present invention). 1) It is a flow chart showing the operation process between each component of the server.

도 4과 도 5를 참조하여, 클라이언트(10)가 하나의 페이지를 통합 SNS 어플리케이션에서 갱신하는 동안 게이트웨이(1) 서버의 각 구성요소간의 동작 과정을 설명하겠다.4 and 5, the operation process between the components of the gateway 1 server while the client 10 updates one page in the integrated SNS application will be described.

먼저, 클라이언트(10)가 통합 SNS 어플리케이션을 이용하여 MQTT 프로토콜로 브로커 서버(101)에 페이지를 요청한다.(S501)First, the client 10 requests a page to the broker server 101 through the MQTT protocol using the integrated SNS application (S501).

브로커 서버(101)는 클라이언트(10)가 요청한 페이지와 상기 페이지에 해당하는 SNS 서버(5)를 매칭하고, 계정관리자(103)에게 클라이언트(10)의 인증을 요구하며, 클라이언트(10)의 페이지를 요청을 전송한다.(S502)The broker server 101 matches the page requested by the client 10 with the SNS server 5 corresponding to the page, requests the account manager 103 to authenticate the client 10, and the page of the client 10. Send a request. (S502)

이후, 계정관리자(103)는 클라이언트(10) 인증을 위해 클라이언트(10)의 ID를 확인하고(S503), 클라이언트(10)의 ID가 인증되지 않은 경우 다시 브로커 서버(101)를 통해 클라이언트(10)에게 인증 실패에 따른 거부 메세지를 보낸다.(S504)Thereafter, the account manager 103 checks the ID of the client 10 for the client 10 authentication (S503), and if the ID of the client 10 is not authenticated again, the client 10 through the broker server 101 again. Send a reject message according to the authentication failure.

클라이언트(10) ID가 인증된 경우, 페이지에 대한 요청을 데이터 관리자(104)에게 보낸다. 데이터 관리자(104)는 캐시 서버(106)에 클라이언트(10) 요청 페이지에 대한 콘텐츠가 있는지 확인한다.(S505)If the client 10 ID is authenticated, a request for the page is sent to the data manager 104. The data manager 104 checks whether there is content for the client 10 request page in the cache server 106 (S505).

캐시 서버(106)에 해당 콘텐츠가 있는 경우, 캐시 서버(106)는 상기 콘텐츠를 데이터 관리자(104)로 전송하고(S506), 데이터 메니저는 브로커 서버(101)로 상기 콘텐츠를 전송하며(S510), 브로커 서버(101)는 클라이언트(10)에게 페이지 요청에 따른 응답을 하게 된다.(S511)If the corresponding content exists in the cache server 106, the cache server 106 transmits the content to the data manager 104 (S506), and the data manager transmits the content to the broker server 101 (S510). The broker server 101 responds to the client 10 according to the page request (S511).

캐시 서버(106)에 해당 콘텐츠가 없는 경우,캐시 서버(106)는 웹 서비스 어댑터(107)로 SNS 서버에 상기 페이지를 요청한다.(S507) 웹 서비스 어댑터(107)는 페이지 요청에 해당하는 SNS 서버(5)의 프로토콜로 상기 페이지를 요청하고 요청에 대한 응답을 받는다.(S508)If there is no corresponding content in the cache server 106, the cache server 106 requests the page to the SNS server through the web service adapter 107. (S507) The web service adapter 107 corresponds to the SNS corresponding to the page request. The page is requested by the protocol of the server 5 and a response to the request is received (S508).

웹 서비스 어댑터(107)는 응답에 해당하는 콘텐츠를 캐시 서버(106)에 저장하고, 데이터 관리자(104)로 상기 콘텐츠를 전송한다.(S509)The web service adapter 107 stores the content corresponding to the response in the cache server 106 and transmits the content to the data manager 104 (S509).

데이터 관리자(104)는 상기 콘텐츠를 브로커 서버(101)로 전송하고(S510), 브로커 서버(101)는 클라이언트(10)에게 페이지 요청에 따른 콘텐츠 응답을 전송하게 된다.(S511)The data manager 104 transmits the content to the broker server 101 (S510), and the broker server 101 transmits a content response according to the page request to the client 10 (S511).

클라이언트(10)에서 자주 요청되는 콘텐츠를 캐싱한다면, 실제 SNS 서버(5)에 도달하지 않고, 게이트웨이(1) 서버에서 클라이언트(10)에게 콘텐츠를 제공하게 되므로, 트래픽과 응답 시간을 줄일 수 있다.If the client 10 caches content that is frequently requested, since the content is provided to the client 10 in the gateway 1 server without reaching the actual SNS server 5, traffic and response time can be reduced.

도 6은 본 발명의 일 실시예에 따라 SyncML 이용한 동기화 방법의 순차다이어그램을 나타낸다.6 is a sequential diagram of a synchronization method using SyncML according to an embodiment of the present invention.

도 6를 참조하여, Funambol 동기화 엔진의 동기화 표준 프로토콜인 SyncML 프로토콜을 이용한 동기화 방법을 설명하겠다.Referring to FIG. 6, a synchronization method using the SyncML protocol, which is a synchronization standard protocol of the Funambol synchronization engine, will be described.

먼저, SNS 서버(5)는 클라이언트(10)에게 갱신된 콘텐츠가 있는 경우 푸시 메세지(Push Message) 및 갱신된 콘텐츠의 데이터를 상기 SNS 서버(5)의 프로토콜로 전송한다.First, when there is an updated content, the SNS server 5 transmits a push message and data of the updated content to the protocol of the SNS server 5.

이후, 웹 서버스 어댑터는 상기 SNS 서버(5)의 어댑터로 갱신된 데이터를 전송 받는다.Then, the web server adapter receives the updated data to the adapter of the SNS server (5).

웹 서비스 어댑터(107)가 갱신된 데이터를 전송 받는 동안, 동기화 엔진은 전송받은 데이터 중 변경된 데이터가 있는지 확인하고, 변경된 데이터만을 동기화 서버(105)로 전송한다.While the web service adapter 107 receives the updated data, the synchronization engine checks whether there is changed data among the received data, and transmits only the changed data to the synchronization server 105.

이때, 동기화 엔진은 SNS 서버(5)가 데이터를 전송하는 동안 위 과정을 반복하게 된다.At this time, the synchronization engine repeats the above process while the SNS server 5 transmits data.

이 후, 동기화 서버(105)는 전송받은 데이터로 갱신하여 동기화를 마친다. After that, the synchronization server 105 updates the received data and finishes synchronization.

위 방법으로 데이터를 갱신하면, 동기화 서버(105)는 변화된 부분만을 전송하여 SNS 서버(5)의 데이터와 일치시킴으로 응답속도와 트래픽 성능을 향상시킬 수 있다.When the data is updated in the above manner, the synchronization server 105 may improve the response speed and traffic performance by transmitting only the changed portion to match the data of the SNS server 5.

이하에서는 통합 SNS 프로토콜 설계에 대한 내용을 기술한다.The following describes the integrated SNS protocol design.

본 발명의 일 실시예는, MQTT를 기반으로 통합 SNS 프로토콜을 설계한다. 다만, 이에 한정되지 아니함은 당연하다.One embodiment of the present invention designs an integrated SNS protocol based on MQTT. However, it is not limited thereto.

먼저, MQTT에 대하여 간략하게 설명하면, MQTT는 기본적으로 1개의 브로커 서버(101)와 2개의 Publish 클라이언트와, Subscribe 클라이언트로 구성된다.First, a brief description of the MQTT, MQTT basically consists of one broker server 101, two Publish clients, and Subscribe clients.

이하 설명에서는 SNS 서버(5)를 publsh 클라이언트(801)로, 클라이언트(10)를 Subscribe 클라이언(802)트로 표현하겠다. 다만, SNS 서버(5)가 subscribe 클라이언트로, 클라이언트(10)가 publsh 클라이언트가 될 수도 있다.In the following description, the SNS server 5 will be represented as a publsh client 801 and the client 10 as a Subscribe client 802. However, the SNS server 5 may be a subscribe client, and the client 10 may be a publsh client.

브로커 서버(101)는 2개의 Publish, Subscribe 클라이언트 사이에서 주어지는 Topic에 대한 메시지 전달의 중계자 역할을 한다. Publish 클라이언트가 Topic을 발행하고 메시지를 브로커 서버(101)로 전달하면, Subscribe 클라이언트는 관심 있는 Topic을 subscribe하게 된다.The broker server 101 acts as a relay for message delivery for a topic given between two publish and subscribe clients. When the Publish client publishes a topic and forwards the message to the broker server 101, the Subscribe client subscribes to the topic of interest.

위와 같은 동작을 하기 위해 MQTT 기반의 프로토콜 설계는 다음과 같이 3가지 사항을 규정해야 한다. 첫째는 전달할 메시지의 Topic Tree, 둘째는 QoS 수준, 셋째는 메시지의 길이이다. In order to operate as above, MQTT-based protocol design must define three things as follows. The first is the Topic Tree of the message to be delivered, the second is the QoS level, and the third is the length of the message.

도 7은 본 발명의 일 실시예에 따라 Topic tree의 구성을 나타낸다. 7 illustrates a configuration of a topic tree according to an embodiment of the present invention.

먼저, 도 7를 참조하여, Topic tree 구성의 설정 방법을 설명하겠다.First, referring to FIG. 7, a method of setting a topic tree configuration will be described.

MQTT는 Publish/Subscribe 클라이언트와 Broker 서버 간의 푸시 서비스를 위하여 Topic을 사용한다. Topic tree는 각각의 Topic에 대하여 더욱 세분화하여 Topic을 관리하기 위해 사용한다.MQTT uses Topic for push service between Publish / Subscribe client and Broker server. Topic tree is used to manage the topic by further subdividing each topic.

이때 각 유저마다 사용하는 SNS가 다르고, SNS의 기능이 다르므로, 유저 ID마다 SNS와 기능별로 Topic 구분지어 관리해야 한다.At this time, the SNS used by each user is different, and the functions of the SNS are different. Therefore, Topic must be managed separately by SNS and function for each user ID.

각각의 SNS와 기능에 대하여 푸시 알림 메시지를 판단하기 위해 Topic tree에 대한 정의를 도 7의 예시로 설정하면, 브로커 서버(101)는 Publish 클라이언트의 Topic을 보고, 구독을 요청한 Subscribe 클라이언트들에게만 메시지들을 보내게 된다.Setting the definition of the topic tree to the example of FIG. 7 to determine the push notification message for each SNS and function, the broker server 101 sees the topic of the Publish client and sends messages only to the Subscribe clients that have requested a subscription. Will be sent.

도 8은 Qos(Quality of Service) 레벨에 따른 패킷 교환 방법을 나타낸다8 illustrates a packet exchange method according to a quality of service (Qos) level

Qos란 인터넷이나 네트워크 상에서 전송률 및 에러율과 관련된 서비스 품질을 가리키는 말이다.Qos refers to the quality of service related to transmission rate and error rate on the Internet or network.

MQTT 는 메시징에 대한 신뢰성 보장을 위하여 3단계의 QoS지원한다. 도 8를 참조하면, qos 0(700)은 메시지를 한 번만 전달하고 전달 여부는 확인하지 않는다. 따라서 큰 페이로드를 가지는 메시지일 경우, 패킷 손실이 발생하면 메시지가 전달되지 않고 유실될 가능성이 높다. qos 1(701)은 메시지를 최소 1번 이상 전달하고 전달 여부를 확인한다. 하지만 PUBACK 패킷이 유실된다면 메시지가 불필요하게 중복 전달될 가능성이 있다. qos 2(702) 는 4-way handshake을 통해 정확하게 한 번만 전달한다. qos 2(702)를 사용한다면 메시지가 유실될 가능성은 없지만 4-way handshake 과정에 의하여 종단 간 지연이 늘어나게 된다. QoS 레벨이 높을수록, 패킷을 교환하는 횟수가 늘어나기 때문에 상대적으로 종단 간 지연은 늘어나게 된다.MQTT supports three levels of QoS to guarantee the reliability of messaging. Referring to FIG. 8, qos 0 700 delivers a message only once and does not check whether it is delivered. Therefore, in the case of a message having a large payload, if a packet loss occurs, the message is likely to be lost without being delivered. qos 1 701 delivers the message at least once and checks whether it is delivered. However, if the PUBACK packet is lost, there is a possibility that the message is redundantly delivered. qos 2 702 delivers exactly once through a 4-way handshake. If you use qos 2 (702), there is no possibility of losing the message, but the end-to-end delay is increased by the 4-way handshake process. The higher the QoS level, the greater the end-to-end delay as packets are exchanged more often.

재전송시간은 전달해야 할 메시지의 내용은 전송 프로토콜로서 전달하고자 하는 Publish 클라이언트에서 메시지가 정확하게 Subscribe 클라이언트까지 전달하기 위해서는 높은 QoS 레벨을 사용하는 것이 좋은 방법이다. 하지만 이 경우 그만큼 종단 간 지연은 늘어나게 된다. 만약 페이로드 크기에 대한 패킷 손실과 종단 간 지연에 대한 결과를 분석하여 페이로드 크기에 따른 적절한 QoS 레벨을 도출할 수 있다면, MQTT를 사용함에 있어서 더욱 효과적인 푸시 알림 서비스 네트워크 환경을 구성할 수 있을 것이다. The retransmission time is the transport protocol. It is a good idea to use a high QoS level to ensure that the message is delivered from the Publish client to the Subscribe client. In this case, however, the end-to-end delay increases. If the results of packet loss and end-to-end delay on payload size can be analyzed to derive the appropriate QoS level according to payload size, it will be able to construct a more effective push notification service network environment using MQTT. .

그러므로 이하에서는 먼저,QoS 수준과 메시지 길이를 결정하기 위한 실험 환경과 측정방법을 설명하고 두 번째는 실험결과와 이를 바탕으로 도출된 결정사항을 제시하여 통합 SNS 프로토콜을 설계하겠다.Therefore, in the following, first, the experimental environment and measuring method for determining the QoS level and message length will be described, and the second will be presented to design the integrated SNS protocol by presenting the experimental result and the decision derived based on this.

도 9는 본 발명의 일 실시예에 따라 MQTT 의 메시지 전달과정을 나타낸다.9 illustrates a message delivery process of an MQTT according to an embodiment of the present invention.

도 10은 본 발명의 일 실시예에 따라 통합 SNS 프로토콜의 설계를 위한 실제 네트워크 실험 구성을 나타낸다.10 shows an actual network experiment configuration for the design of the integrated SNS protocol according to an embodiment of the present invention.

도 9과 도 10을 참조하여, 실제 네트워크 환경에서 단말과 게이트웨이(1) 서버 사이에서 MQTT의 QoS 레벨과 페이로드 크기에 따른 종단 간 지연 및 패킷 손실의 성능 분석을 위한 네트워크 환경 및 패킷 측정 방법에 대하여 설명한다. 9 and 10, in a network environment and packet measurement method for performance analysis of end-to-end delay and packet loss according to QoS level and payload size of MQTT between a terminal and a gateway (1) server in an actual network environment. Explain.

실험을 위한 서버의 OS는 Linux 환경의 CentOS 6.3 Final이며, 브로커 서버(101) 소프트웨어는 오픈 소스 프로젝트인 Mosquitto를 활용할 수 있다.The server OS for the experiment is CentOS 6.3 Final in Linux, and the broker server 101 software can use Mosquitto, an open source project.

MQTT는 Publish 클라이언트와 Subscribe 클라이언트사이의 브로커 서버(101)를 통하여 메시지를 전달한다. 도 9은 각각의 클라이언트들이 브로커 서버(101)를 통하여 해당하는 Topic에 메시지를 전달하는 과정을 보여준다.  MQTT delivers messages through a broker server 101 between a Publish client and a Subscribe client. 9 shows a process in which each client delivers a message to a corresponding topic through the broker server 101.

Publish 클라이언트는 발행하고자 하는 Topic을 브로커 서버(101) 측에게 알린다. 브로커 서버(101)는 발행하는 Publish 클라이언트의 Topic과 subscribe하는 Subscribe 클라이언트의 Topic이 동일한 Topic일 경우, 해당 Topic을 기준으로 클라이언트 간 메시지 전달의 중계 역할을 하게 된다. Subscribe 클라이언트는 브로커 서버(101)에게 subscribe 요청을 한 Topic에 한하여 메시지를 전달받는다. The publish client informs the broker server 101 of the topic to publish. The broker server 101 plays a role of relaying messages between clients based on the corresponding topic when the publishing topic of the publishing client and the subscribed subscriber are the same topic. The Subscribe client receives the message only for the Topic that made the Subscribe request to the broker server 101.

예를 들어, Publish 클라이언트가 A라는 Topic을 브로커 서버(101)에게 전달하게 되고, 다수의 Subscribe 클라이언트가 A라는 Topic을 subscribe을 요청하게 된다면, A Topic으로 subscribe을 요청한 Subscribe 클라이언트에 한하여, Publish 클라이언트의 메시지를 전달 받게 된다.For example, if a Publish client delivers a Topic named A to the broker server 101, and a number of Subscribe Clients request to subscribe to a Topic named A, only the Subscribe client that requested to subscribe to A Topic, You will receive a message.

본 발명의 실시예에서는 실제 네트워크와 유사한 환경에서의 실험을 위하여 클라이언트(10)와 게이트웨이(1) 간의 통신환경을 도 10과 같이 구현할 수 있다.  In the embodiment of the present invention, a communication environment between the client 10 and the gateway 1 may be implemented as shown in FIG. 10 for an experiment in an environment similar to an actual network.

도 10을 참조하면, 휴대용 단말에서 3G망을 거쳐 브로커 서버(101)로 통신함으로써 실제 무선 네트워크 환경에서의 실험과 동일하다고 볼 수 있다. 실험은 Android 2.3 환경에서 IA92 라이브러리를 이용한 JAVA언어 기반의 클라이언트(10)에서 실험을 진행하였다. 실험 대상 기기의 MTU(Maximum Transmission Unit)는 1,500으로 설정되어 있다. Referring to FIG. 10, it can be seen that the portable terminal communicates with the broker server 101 via a 3G network, which is the same as an experiment in an actual wireless network environment. The experiment was conducted in JAVA language based client 10 using IA92 library in Android 2.3 environment. The maximum transmission unit (MTU) of the test target device is set to 1,500.

본 발명의 실시예에서는 패킷을 수집하기 위하여 Shark 애플리케이션을 이용하였다. 모바일 환경에서는 패킷을 캡처하기 위해서 제한된 환경이므로 Shark 애플리케이션을 통하여 패킷을 캡처하고 저장되는 Pcap 파일을 Wireshark로 패킷 분석을 한다. 5분의 측정 시간 동안 서버와 클라이언트(10) 사이의 패킷을 수집하여 종단 간 지연과 패킷 손실을 분석한다. 종단 간 지연 측정은 Publish 클라이언트에서 게이트웨이(1) 서버를 지나서 Subscribe 클라이언트까지의 타임스탬프를 이용하여 측정한다. 패킷 손실 측정 방법은 5분 동안 측정한 패킷들의 재송신 요청 패킷들을 카운트하여 측정한다.In the embodiment of the present invention, a Shark application is used to collect packets. In mobile environment, it is limited environment for capturing packets. Therefore, packet capture is done through Shark application and packet analysis is performed with Wireshark. Packets between the server and client 10 are collected for 5 minutes of measurement time to analyze end-to-end delay and packet loss. End-to-end delay measurements are measured using timestamps from the Publish client to the Subscribe client past the gateway (1) server. The packet loss measuring method counts and measures retransmission request packets of packets measured for 5 minutes.

도 11은 도 10의 실험의 평균 종단 간 지연의 분석결과를 나타내는 도면이고, 도 12는 도 10의 실험의 패킷 손실의 분석 결과를 나타내는 도면이다.FIG. 11 is a diagram illustrating an analysis result of an average end-to-end delay of the experiment of FIG. 10, and FIG. 12 is a diagram illustrating an analysis result of packet loss of the experiment of FIG. 10.

도 11과 도 12를 참조하여, 본 발명의 일 실시예에 따른 위의 실험을 토대로 패킷에 대한 종단 간 지연과 패킷 손실에 대해 분석을 하고, QoS 레벨과 페이로드 에 따른 종단 간 지연과 패킷 손실에 대하여 결과를 제시한다. 또한 이 결과를 바탕으로 통합 SNS 프로토콜로 사용하기 위한 설정값을 제시한다. 11 and 12, based on the above experiment according to an embodiment of the present invention to analyze the end-to-end delay and packet loss for the packet, the end-to-end delay and packet loss according to the QoS level and payload Present the results for. In addition, based on the results, we present the settings for use as the integrated SNS protocol.

아래의 도 11은 게이트웨이(1) 서버와 단말 간의 QoS 레벨과 페이로드에 대한 종단 간 지연 결과를 비교하는 그래프이다. 전반적으로 QoS 레벨이 증가함에 따라 평균 종단 간 지연이 증가한 것을 볼 수 있다. 그 이유는 QoS에 따른 패킷의 송/수신 개수의 차이 때문이다. 평균적으로 큰 종단 간 지연 현상을 보여주는데, 이는 무선 네트워크 3G망의 전송속도가 지연 현상의 원인이 된다.   11 below is a graph comparing end-to-end delay results for QoS levels and payloads between the gateway 1 server and the terminal. Overall, as the QoS level increases, the average end-to-end delay increases. This is because of the difference in the number of transmission / reception of packets according to QoS. On average, there is a large end-to-end delay, which is caused by the transmission speed of wireless network 3G networks.

페이로드의 크기가 4,000에서 증가폭이 상당히 급격해 진다. qos 0(700)의 경우는 4,000에서 0.65에서 0.61로 오히려 감소하였고 qos 1(701)은 0.57로 그대로 유지하고 있으며 QoS는 0.47로 페이로드 길이가 1,000일 경우와 같은 값이다. 그러나 페이로드 길이 4,000을 기점으로 모든 QoS 수준에서 전달지연이 최소 0.15이상씩 증가하였다. The payload size grows significantly from 4,000. In the case of qos 0 (700), it decreased rather from 4,000 to 0.65 to 0.61, while qos 1 (701) was maintained at 0.57 and QoS was 0.47, which is the same value as the payload length is 1,000. However, starting at 4,000 payloads, the propagation delay increased by at least 0.15 at all QoS levels.

한가지 더 주목한 만한 점은 QoS 별로 전달지연이 크지 않다는 점이다. 결론적으로 전달지연에 관하여는 QoS 수준은 고려하지 않아도 되고 페이로드 크기는 4,000이하로 하는 것이 좋다는 결론이다.One more noteworthy point is that the propagation delay is not high for each QoS. In conclusion, the QoS level does not need to be considered in terms of propagation delay, and the payload size should be less than 4,000.

도 12는 게이트웨이(1) 서버와 단말 간의 패킷 손실률을 분석한 결과이다. 12 is a result of analyzing the packet loss rate between the gateway (1) server and the terminal.

실험 결과 전체적으로 qos 0(700), qos 1(701)과 비교하면 qos 2(702)의 패킷 손실이 낮은 것을 확인할 수 있다. 전체적으로 패킷 손실률은 안정적이지만, qos 0(700)이나 qos 1(701)에 비교하여 상대적으로 qos 2(702)의 패킷 손실이 낮은 이유는 4-way handshake를 이용하여 메시지를 전달하므로 손실률이 줄어든 것이다. As a result of the experiment, it can be seen that the packet loss of qos 2 702 is lower than that of qos 0 700 and qos 1 701. Overall, packet loss rate is stable, but the packet loss rate of qos 2 702 is relatively low compared to qos 0 (700) or qos 1 (701) because the loss rate is reduced by using a 4-way handshake to deliver messages. .

게이트웨이(1)와 통합 SNS 애플리케이션 사이의 통신은 매우 안정적으로 전달되어야 한다. 특히 동기화 기능을 활용하기 위해서는 안정된 프로토콜이 반드시 필요하다. 따라서 패킷손실이 적은 qos 2(702)가 적합하다.Communication between the gateway 1 and the integrated SNS application must be delivered very stably. In particular, to take advantage of the synchronization function, a stable protocol is essential. Therefore, qos 2 702 with low packet loss is suitable.

본 발명의 실시예에서는 폭발적으로 증가하는 SNS 트래픽에 대응하기 위하여, 게이트웨이(1)를 활용한 통신성능 개선 방안을 제시하였다. 제시한 방안을 실현하기 위한 게이트웨이(1)의 상위 설계 결과를 게이트웨이(1)의 상위 설계 결과를 확인하는 것이 가능하였고, 게이트웨이(1) 서버와 단말의 통신을 위하여 MQTT기반 SNS 통합 프로토콜 설계 결과도 확인할 수 있었다. 특히, 실시예의 게이트웨이(1)는 캐싱 및 동기화 역할을 수행하면서, 기존과 대비하여 통신 성능을 향상시킬 수 있다. 그리고, SNS 통합 프로토콜은 MQTT를 기반에서 동작가능하며, MQTT의 성능에 대해서도 신뢰성 높은 결과를 얻는 것이 가능하다.
In the embodiment of the present invention, in order to cope with the explosion of SNS traffic, a communication performance improvement method using the gateway 1 is proposed. It was possible to confirm the upper design result of the gateway 1 to the higher design result of the gateway 1 to realize the proposed scheme, and also to design the MQTT-based SNS integrated protocol for communication between the gateway 1 server and the terminal. I could confirm it. In particular, while the gateway 1 of the embodiment plays a role of caching and synchronization, it is possible to improve communication performance in comparison with the existing. In addition, the SNS integration protocol can be operated based on the MQTT, and it is possible to obtain a reliable result with respect to the performance of the MQTT.

Claims (3)

네트워크 연결된 적어도 하나 이상의 클라이언트와 통합 SNS 프로토콜로 통신하고, 복수의 SNS 서버간의 메시지 전달을 중계하는 브로커 서버(101)와,
상기 브로커 서버(101)로부터 클라이언트의 메시지와 ID 정보를 받고, 클라이언트의 계정을 관리하는 계정관리자(103)와,
상기 계정관리자(103)의 ID 승인 및 메시지 요청을 받고, 캐시 서버(106)와 동기화 서버(105)의 데이터를 관리하는 데이터 관리자(104)와,
상기 데이터 관리자(104)의 명령에 따라 동기화 기능을 담당하는 동기화 서버(105)와,
상기 데이터 관리자(104)의 명령에 따라 캐싱 기능을 담당하는 캐시 서버(106)와,
상기 동기화 서버(105)와 상기 캐시 서버(106)의 명령을 수신하고, 각각의 SNS 서버와 개별적인 프로토콜에 따라 통신을 수행하는 웹 서비스 어댑터(107)를 포함하는 통합 SNS 게이트웨이.
A broker server 101 that communicates with at least one networked client through an integrated SNS protocol and relays message transfer between a plurality of SNS servers;
An account manager 103 which receives the client's message and ID information from the broker server 101 and manages the client's account;
A data manager 104 for receiving ID approval and message request from the account manager 103 and managing data of the cache server 106 and the synchronization server 105;
A synchronization server 105 in charge of a synchronization function according to the command of the data manager 104;
A cache server 106 responsible for the caching function according to the command of the data manager 104,
And a web service adapter (107) for receiving commands from the synchronization server (105) and the cache server (106) and communicating with each SNS server according to a separate protocol.
제 1 항에 있어서,
상기 동기화 서버(105)는, 상기 웹 서비스 어댑터(107)를 통해 연결되는 각각의 SNS 서버별로 동기화 항목을 개별적으로 설정하여 두는 것을 특징으로 하는 통합 SNS 게이트웨이.
The method of claim 1,
The synchronization server 105, the SNS gateway, characterized in that for setting each of the synchronization items individually for each SNS server connected via the web service adapter (107).
제 1항에 있어서,
상기 캐시 서버(106)는, 상기 클라이언트로부터 페이지에 대한 요청이 있는 경우에, 상기 브로커 서버(101)에 의해 중계된 SNS 서버로 해당 페이지에 대한 콘텐츠를 선택적으로 요청하는 것을 특징으로 하는 통합 SNS 게이트웨이.
The method of claim 1,
When there is a request for a page from the client, the cache server 106 selectively requests the content for the page to the SNS server relayed by the broker server 101. .
KR1020130030335A 2013-03-21 2013-03-21 Mobile sns intergrated gateway KR101375133B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130030335A KR101375133B1 (en) 2013-03-21 2013-03-21 Mobile sns intergrated gateway
PCT/KR2014/002410 WO2014148865A1 (en) 2013-03-21 2014-03-21 Integrated sns gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130030335A KR101375133B1 (en) 2013-03-21 2013-03-21 Mobile sns intergrated gateway

Publications (1)

Publication Number Publication Date
KR101375133B1 true KR101375133B1 (en) 2014-03-17

Family

ID=50648895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130030335A KR101375133B1 (en) 2013-03-21 2013-03-21 Mobile sns intergrated gateway

Country Status (2)

Country Link
KR (1) KR101375133B1 (en)
WO (1) WO2014148865A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015152698A1 (en) * 2014-04-04 2015-10-08 주식회사 퓨전소프트 Integrated sns gateway for improving sns traffic
KR20150115437A (en) * 2014-04-04 2015-10-14 주식회사 퓨전소프트 Web service adapter and integrated sns gateway having therof
JP2018147485A (en) * 2017-03-01 2018-09-20 ツー ディグリーズ インク. Adaptable broker for location-based second degree social networking
KR101905012B1 (en) * 2017-07-26 2018-10-05 주식회사 인피니헨스 Sns managed system for integrated management of social network services
US10310533B2 (en) 2016-02-26 2019-06-04 Lsis Co., Ltd. Electric power system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467072B2 (en) 2017-04-05 2019-11-05 Rockwell Automation Technologies, Inc. Common gateway platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154086A (en) 2008-12-24 2010-07-08 Sharp Corp Communication controller, communication control method of the communication controller, control program, and recording medium
KR20120075630A (en) * 2010-12-20 2012-07-09 주식회사 케이티 Home social network service system and method using home device information
KR20130023970A (en) * 2011-08-30 2013-03-08 티스트림 주식회사 Traffic control gateway and traffic control method using the same
KR101236500B1 (en) 2011-11-29 2013-03-15 주식회사 대명엔터프라이즈 Apparatus for social network service relay service for small embedded apparatus and method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156779A (en) * 2005-12-05 2007-06-21 Hitachi Ltd Sensor network system, base station and relay method for sensing data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154086A (en) 2008-12-24 2010-07-08 Sharp Corp Communication controller, communication control method of the communication controller, control program, and recording medium
KR20120075630A (en) * 2010-12-20 2012-07-09 주식회사 케이티 Home social network service system and method using home device information
KR20130023970A (en) * 2011-08-30 2013-03-08 티스트림 주식회사 Traffic control gateway and traffic control method using the same
KR101236500B1 (en) 2011-11-29 2013-03-15 주식회사 대명엔터프라이즈 Apparatus for social network service relay service for small embedded apparatus and method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015152698A1 (en) * 2014-04-04 2015-10-08 주식회사 퓨전소프트 Integrated sns gateway for improving sns traffic
KR20150115437A (en) * 2014-04-04 2015-10-14 주식회사 퓨전소프트 Web service adapter and integrated sns gateway having therof
KR101579525B1 (en) 2014-04-04 2016-01-04 주식회사 퓨전소프트 Web service adapter and integrated sns gateway having therof
US10310533B2 (en) 2016-02-26 2019-06-04 Lsis Co., Ltd. Electric power system
JP2018147485A (en) * 2017-03-01 2018-09-20 ツー ディグリーズ インク. Adaptable broker for location-based second degree social networking
KR101905012B1 (en) * 2017-07-26 2018-10-05 주식회사 인피니헨스 Sns managed system for integrated management of social network services

Also Published As

Publication number Publication date
WO2014148865A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
KR101375133B1 (en) Mobile sns intergrated gateway
EP3395046B1 (en) Adaptive protocol selection for iot communications
US11070456B2 (en) Methods to monitor resources through HTTP/2
US9936039B2 (en) Choreographed caching
CN108259542B (en) Resource transmission method and device
CN109981668A (en) Common apparatus Internet of Things communication means based on the extensive agreement of MQTT
CN105610888A (en) Method of using socket to push message based on Android and system thereof
US20180278692A1 (en) Communication device, communication system, and communication method
US11533275B2 (en) Method and apparatus for allocating server in wireless communication system
CN102790798A (en) Transparent proxy implementation method, device and system in content distribution network
US20140304419A1 (en) System and terminal for p2p connection in mobile environment and method for p2p connection using the same
US20180041439A1 (en) System and method of providing compression technique for jitter sensitive application through multiple network links
WO2018020291A1 (en) Content delivery network (cdn) for uploading, caching and delivering user content
CN106471847B (en) Method and apparatus for communicating data communication sessions between radio access networks
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
WO2020068412A1 (en) Advanced resource link binding management
KR101144190B1 (en) System and method for transmitting message
CN108259576B (en) Software and hardware real-time information transmission system and method
US20150288734A1 (en) Adaptive leveraging of network information
JP2014146876A (en) Message distribution system and message distribution method
US20140244798A1 (en) TCP-Based Weighted Fair Video Delivery
US20210105279A1 (en) Communication device, communication method, and program
Morgenroth et al. Delay-tolerant networking in restricted networks
Zhang et al. Design and Implementation of a Ubiquitous Home Controlling and Monitoring System
JP6502901B2 (en) Communication control system and communication control method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee