KR101583508B1 - 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템 - Google Patents

서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템 Download PDF

Info

Publication number
KR101583508B1
KR101583508B1 KR1020140124332A KR20140124332A KR101583508B1 KR 101583508 B1 KR101583508 B1 KR 101583508B1 KR 1020140124332 A KR1020140124332 A KR 1020140124332A KR 20140124332 A KR20140124332 A KR 20140124332A KR 101583508 B1 KR101583508 B1 KR 101583508B1
Authority
KR
South Korea
Prior art keywords
service
connection management
client
request message
connection
Prior art date
Application number
KR1020140124332A
Other languages
English (en)
Other versions
KR20150028217A (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 KR1020140124332A priority Critical patent/KR101583508B1/ko
Publication of KR20150028217A publication Critical patent/KR20150028217A/ko
Application granted granted Critical
Publication of KR101583508B1 publication Critical patent/KR101583508B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Abstract

서버측에서 클라이언트와 서버의 백엔드 모듈간의 연결을 매개하는 연결 관리 방법 및 시스템이 개시된다. 연결 관리 시스템이 수행하는 연결 관리 방법은, 클라이언트로부터 요청 메시지를 수신하는 단계, 상기 요청 메시지에 연결(connection)의 인증 태그 및 서비스 태그를 추가하는 단계, 상기 요청 메시지의 URI(Uniform Resource Identifier)를 이용하여 상기 인증 태그 및 상기 서비스 태그의 권한을 확인하는 단계, 상기 URI를 이용하여 상기 요청 메시지에 대응하는 서비스를 검색하는 단계 및 상기 검색된 서비스로 상기 요청 메시지를 전달하는 단계를 포함할 수 있다.

Description

서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템{CONNECTION MANAGEMENT METHOD AND SYSTEM FOR INTERMEDIATING BETWEEN CLIENT AND BACKEND OF SERVER IN FRONT OF SERVER}
본 발명의 실시예들은 서버측에서 클라이언트와 서버의 백엔드 모듈간의 연결을 매개하는 연결 관리 방법 및 시스템에 관한 것이다.
모바일 인터넷(mobile Internet)은 스마트폰이나 노트북과 같은 모바일 장비를 이용해 이동 중에도 인터넷을 매개로 커뮤니케이션, 교제, 정보 검색, 거래, 오락 등을 할 수 있는 발전된 인터넷 서비스를 지칭한다. 최근 들어, 인터넷의 한 서비스인 월드와이드웹과 원래의 인터넷을 구별하지 않고 월드와이드웹을 인터넷의 대명사처럼 쓰고 있듯이, 모바일 웹(mobile Web)이 실질적인 모바일 인터넷이라 할 수 있다.
최근, 이러한 모바일 인터넷과 같은 모바일 네트워크 기술의 발달로 대용량의 멀티미디어 데이터의 고속 전송이 가능해지고, 모바일 네트워크에 접속 가능한 사용자 단말기의 보편적인 보급에 따라 사용자에게 검색, 쇼핑, 게임, 채팅 등과 같이 다양한 종류의 모바일 컨텐츠가 제공되고 있다.
그러나, 종래기술에서는 서비스의 해외 진출을 위해, 각 국가별 통신/네트워크 환경에 따라 전체 서버를 구축하여 서비스를 제공해야 하기 때문에 많은 초기 비용이 발생하는 문제점이 있다. 예를 들어, 본 발명의 배경이 되는 기술이 한국공개특허 제10-2007-0014648호(복수 개의 서버를 이용한 인터넷 게임 서비스 제공 방법)에 개시되어 있다.
서비스의 해외 진출 시 프론트(front) 서버인 연결 관리 서버만을 각 국가별로 구축하고, 연결 관리 서버를 통해 해외의 클라이언트와 국내에 기 구축된 백엔드(backend) 서버를 중개하여 서비스를 제공할 수 있는 연결 관리 방법 및 연결 관리 시스템을 제공한다.
연결 관리 시스템이 수행하는 연결 관리 방법에 있어서, 클라이언트로부터 요청 메시지를 수신하는 단계; 상기 요청 메시지에 연결(connection)의 인증 태그 및 서비스 태그를 추가하는 단계; 상기 요청 메시지의 URI(Uniform Resource Identifier)를 이용하여 상기 인증 태그 및 상기 서비스 태그의 권한을 확인하는 단계; 상기 URI를 이용하여 상기 요청 메시지에 대응하는 서비스를 검색하는 단계; 및 상기 검색된 서비스로 상기 요청 메시지를 전달하는 단계를 포함하는 연결 관리 방법이 제공된다.
일측에 따르면, 상기 요청 메시지는 상기 서비스를 제공하는 서버로 전송되고, 상기 서버와 상기 연결 관리 시스템의 위치는, 국가 단위의 지리적 차이를 가질 수 있다.
다른 측면에 따르면, 상기 인증 태그 및 상기 서비스 태그의 권한을 확인하는 단계는, 상기 연결 관리 시스템에 등록된 서비스에 대한 정보의 허가 레벨과 상기 인증 태그의 허가 레벨을 비교하여 상기 인증 태그의 권한을 확인하는 단계; 및 상기 서비스 태그와 상기 URI에 포함된 서비스 태그를 비교하여 상기 서비스 태그의 권한을 확인하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 연결 관리 방법은, 상기 요청 메시지를 전달한 서비스로부터 응답 메시지를 수신하는 단계; 및 상기 응답 메시지를 상기 클라이언트로 전달하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 연결 관리 방법은, 상기 요청 메시지 및 상기 응답 메시지를 선택적으로 기록하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 서비스에서 상기 인증 태그를 이용하여 상기 요청 메시지가 인증되는 것을 특징으로 할 수 있다.
적어도 하나의 프로그램을 저장하는 적어도 하나의 스토리지 유닛; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 프로그램의 제어에 따라, 클라이언트로부터 요청 메시지를 수신하는 과정; 상기 요청 메시지에 연결(connection)의 인증 태그 및 서비스 태그를 추가하는 과정; 상기 요청 메시지의 URI(Uniform Resource Identifier)를 이용하여 상기 인증 태그 및 상기 서비스 태그의 권한을 확인하는 과정; 상기 URI를 이용하여 상기 요청 메시지에 대응하는 서비스를 검색하는 과정; 및 상기 검색된 서비스로 상기 요청 메시지를 전달하는 과정을 처리하는 것을 특징으로 하는 연결 관리 시스템이 제공된다.
클라이언트로부터 수신된 요청 메시지에 인증 태그 및 서비스 태그를 추가하고, 상기 요청 메시지의 URI(Uniform Resource Identifier)를 이용하여 인증 태그 및 서비스 태그의 권한을 확인하는 확인부; 상기 URI를 이용하여 상기 요청 메시지와 서비스를 맵핑하는 맵핑부; 및 상기 요청 메시지를 맵핑된 서비스로 전달하는 연결부를 포함하는 연결 관리 시스템이 제공된다.
서비스의 해외 진출 시 프론트(front) 서버인 연결 관리 서버만을 각 국가별로 구축하고, 연결 관리 서버를 통해 해외의 클라이언트와 국내에 기 구축된 백엔드(backend) 서버를 중개하여 서비스를 제공할 수 있다.
도 1은 본 발명의 일실시예에 있어서, 연결 관리 시스템의 개괄적인 모습의 일례를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 연결 관리 시스템의 개괄적인 모습의 다른 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 연결 관리 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 일실시예에 있어서, 요청 및 응답의 과정을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, 클라이언트의 동작을 설명하기 위한 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 있어서, 연결 관리 시스템의 개괄적인 모습의 일례를 도시한 도면이고, 도 2는 본 발명의 일실시예에 있어서, 연결 관리 시스템의 개괄적인 모습의 다른 예를 도시한 도면이다. 연결 관리 시스템(100)은 디바이스가 서비스의 이용을 위해 가장 먼저 접근하는 서버로서, 일례로 리버스 프록시(reverse proxy)일 수 있다. 이러한 연결 관리 시스템(100)은 매시업(mashup, 110)을 통해 LNC(Local Network Center), 로그인, 프로파일, 랭킹, 마켓, 결제 등과 관련된 다양한 서비스들(120)과 디바이스간의 연결을 관리할 수 있다. 여기서, 매시업(110)은 게이트웨이를 포함할 수 있고, 서비스들(120)은 각각의 서비스들을 제공하는 서버들을 포함할 수 있다.
이때, 도 1의 실시예에서는, 클라이언트(130) 또는 게임서버(140)와 서비스들(120)간의 연결 예를 나타내고 있다. 예를 들어, 도 1에서는 클라이언트(130)가 게임서버(140)로부터 게임 서비스를 제공받음에 있어서, 연결 관리 시스템(100)을 통해 로그인이나 랭킹, 프로파일, 결제 등의 서비스를 제공받을 수 있음을 나타내고 있다. 만약, 게임서버(140)가 제공하는 게임 서비스의 해외 진출 시, 해외에는 각 국가별로, 서버(140)와 연결 관리 시스템(100)이 구축될 수 있고, 국내에 기 구축된 로그인, 랭킹 등의 서비스들(120)과 게임서버(140) 또는 클라이언트(130)를 연결 관리 시스템(100)을 통해 연결하여 처리함으로써, 초기 구축 비용을 절감할 수 있다. 또한, 도 2의 실시예에서는, 게임서버(140)의 게임 서비스에 대한 기능 역시 서비스들(120)에 포함시켜, 해외 진출 시에는 각 국가별로 연결 관리 시스템(100)만을 구축하여 전체 서비스를 제공할 수 있는 예를 나타내고 있다.
이를 위해, 연결 관리 시스템(100)은 메시지 전송, 인증(Authentication)이나 허가(Authorization)와 같은 보안 등과 같이 디바이스와 서비스간의 연결과 관련된 다양한 종류의 처리를 수행할 수 있다. 예를 들어, 모바일 환경에서, 디바이스와 서비스간의 무선 연결은 유선 연결에 비해 안정적이지 못하다. 따라서, 본 발명의 실시예들에서 연결 관리 시스템(100)을 통해 로그인, 보안, 접근 레벨 지원 등을 위해 디바이스와의 연결을 처리하고, 연결 관리 시스템(100) 및 서비스들(120)을 제공하는 서버들과의 연결은 안정적인 유선 연결을 이용함으로써, 디바이스와 서비스들(120)간의 연결을 안정적으로 처리할 수 있다.
또한, 로그인 과정을 위해서는 다수의 접속과 통신이 필요하다. 그러나, 본 발명의 일실시예에 따르면, 로그인 과정은 연결 관리 시스템(100)에서 대부분 선처리되고, 서비스들(120)의 관점에서는 한번의 접속(일례로, 연결 관리 시스템(100)과의 한번의 유선 접속)만으로, 클라이언트(130)와의 로그인 과정이 처리될 수 있다.
또한, 기존에는 클라이언트(130)에 대한 수많은 인증체크로 인한 부하가 발생하나, 본 발명의 일실시예에 따르면, 연결 관리 시스템(100)에서 인증체크를 위한 대부분의 과정들이 선처리(일례로, 연결 관리 시스템(100)에서 인증(Authentication)과 허가(Authorization)를 컨트롤)되기 때문에 서비스들(120)의 관점에서는 연결 관리 시스템(100)과의 한번의 인증체크를 통해 클라이언트(130)를 인증할 수 있게 된다.
뿐만 아니라, 클라이언트(130) 또는 게임서버(140)와 연결 관리 시스템(100)간의 통신에는 웹소켓(websocket), HTTP(HyperText Transfer Protocol) 등과 같은 웹 프로토콜, MRS(Message Routing System) 프로토콜과 같이 다양한 프로토콜들이 이용될 수 있다. 일례로, 웹소켓만을 이용하거나 선택적으로 HTTP를 이용하는 등 다양한 프로토콜들이 다양한 형태로 이용될 수 있다. 반면, 연결 관리 시스템(100)과 서비스들(120)간의 통신에는 MRS(Message Routing System) 프로토콜이 이용될 수 있다. 이 경우, 웹소켓을 사용한 웹 브라우저의 지원을 가능해지고, WSS(WebSocket Secure)를 활용한 TLS(Transport Layer Security)의 사용이 가능해진다.
또한, 도 2에서는 연결 관리 시스템(100)을 관리하기 위한 관리 페이지(210)를 개시하고 있다. 이때, 연결 관리 시스템(100)과 관리 페이지(210)간의 통신에는, 일례로 HTTP가 이용될 수 있다.
여기서, 연결 관리 시스템(100)의 위치와 서비스들(120)을 제공하는 서버들의 위치는 국가 단위의 지리적 차이를 가질 수 있다. 예를 들어, 서비스들(120)을 제공하는 서버들은 한국에 구축될 수 있으며, 연결 관리 시스템(100)이 미국에 구축될 수 있다. 따라서, 서비스의 미국 진출을 위해, 전체 시스템이 미국에 모두 구축될 필요 없이 연결 관리 시스템(100)의 구축만으로 해외 서비스가 가능해질 수 있다.
도 3은 본 발명의 일실시예에 있어서, 연결 관리 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 연결 관리 시스템(300)은 도 1 또는 도 2를 통해 설명한 연결 관리 시스템(100)에 대응할 수 있고, 확인부(310), 맵핑부(320), 연결부(330) 및 기록부(340)를 포함할 수 있다. 예를 들어, 연결 관리 시스템(300)은 적어도 하나의 프로그램을 저장하는 적어도 하나의 스토리지 유닛 및 적어도 하나의 프로세서를 포함할 수 있으며, 확인부(310), 맵핑부(320), 연결부(330) 및 기록부(340)는 적어도 하나의 프로세서를 적어도 하나의 프로그램의 제어에 따라 동작시키기 위한 모듈들일 수 있다.
확인부(310)는 URI(Uniform Resource Identifier)와 태그를 확인할 수 있다. 일례로, 태그는 연결의 태깅을 위한 인증 태그 및 서비스 태그를 포함할 수 있다. 만약, 연결 관리 시스템(300)에서 클라이언트로부터의 요청을 수신하면, 확인부(310)는 요청 메시지의 헤더에 연결의 태깅을 위한 태그들을 추가할 수 있다. 이때, 확인부(310)는 URI를 통해 확인되는 서비스의 허가 레벨과 클라이언트에게 허용된 허가 레벨(인증 태그의 허가 레벨(authz))을 통해 클라이언트를 인증할 수 있다. 클라이언트로부터의 요청은 "클라이언트 인터페이스"를 통해 연결 관리 시스템(300)으로 수신될 수 있다.
맵핑부(320)는 클라이언트로부터의 요청과 서비스를 맵핑할 수 있다. 예를 들어, 맵핑부(320)는 클라이언트로부터 요청 메시지가 수신되면, 해당 요청 메시지가 어떤 서비스로 전달되어야 하는가를 확인할 수 있고, 해당 요청 메시지와 서비스를 서로 맵핑할 수 있다. 예를 들어, 맵핑부(320)는 연결 관리 시스템(300)에 등록된 서비스에 대한 정보와 요청 메시지의 URI를 이용하여 요청 메시지에 대응하는 서비스를 검색 및 맵핑할 수 있다. 연결 관리 시스템(300)에 등록된 서비스에 대한 정보는 이후 설명될 표 3과 같이 URI와 서비스의 주소(서비스를 제공하는 서버의 주소)를 서로 연관하여 포함할 수 있다. 연결 관리 시스템(300)은 제어 인터페이스를 통해 도 2를 통해 설명한 관리 페이지(210)와 연결될 수 있다. 관리자는 관리 페이지(210)를 통해 연결 관리 시스템(300)에 서비스를 등록하거나 어플리케이션을 설치(일례로, 핫 디플로이 설정(hot deploy setting))하거나 또는 연결 관리 시스템(300)을 모니터링할 수 있다.
연결부(330)는 메시지 서비스를 연결하여 클라이언트로부터의 요청을 확인된 서비스로 전달할 수 있다. 일례로, 메시지 서비스는 MRS(Message Routing System) 프로토콜을 이용하는 서비스일 수 있다. 도 3은 연결부(330)가 서비스들과 통신하기 위한 "서비스 인터페이스"를 나타내고 있다. 또한, 도 3에 도시된 "연결 인터페이스는" 태그의 연결 또는 클라이언트로의 실시간 메시지 푸시(push)를 위해 이용될 수 있다. 메시지 푸시는 일례로, 서비스로부터의 응답 메시지를 전달하기 위해 이용될 수 있다.
기록부(340)는 요청 및 응답 중 적어도 하나를 선택적으로 기록(logging)할 수 있다. 요청이나 응답은 이벤트, 데이터베이스, 로컬 저장소 등 다양한 방식으로 기록될 수 있다.
또한, 도 3에서 설명한 기능들 외에도 연결 관리 시스템(300)은 클라이언트와의 연결이 끊어지는 경우, 클라이언트의 재연결을 유도하기 위한 기능, 패킷 암호화 기능 또는 플러그인 기능 등을 포함할 수 있다. 뿐만 아니라, 클라이언트측에서는 엑스베이스(XBase) 종속성을 제거함으로써, 'XInNetwork'를 제거하여 배포본의 크기를 줄일 수 있다.
도 4는 본 발명의 일실시예에 있어서, 요청 및 응답의 과정을 설명하기 위한 흐름도이다. 본 실시예에 따른 과정은 연결 관리 시스템에 의해 수행될 수 있다. 여기서, 연결 관리 시스템은 도 1 또는 도 2를 통해 설명한 연결 관리 시스템(100) 또는 도 3을 통해 설명한 연결 관리 시스템(300)에 대응할 수 있다.
단계(410)에서 연결 관리 시스템은 클라이언트로부터 요청을 수신할 수 있다. 예를 들어, 클라이언트는 연결 관리 시스템으로 요청 메시지를 전송할 수 있고, 연결 관리 시스템은 요청 메시지의 수신을 통해 클라이언트로부터 요청을 수신할 수 있다.
단계(420)에서 연결 관리 시스템은 연결의 태그들을 요청의 헤드에 추가할 수 있다. 예를 들어, 연결 관리 시스템은 요청 메시지의 헤드에 연결을 위한 태그들(인증 태그 및 서비스 태그)를 추가할 수 있다.
단계(430)에서 연결 관리 시스템은 URI로부터 허가(Authorization)를 확인할 수 있다. 일례로, 이후 설명될 표 3에서는 서비스 등록의 예로서, URI와 허가 레벨이 서로 연관된 모습을 나타내고 있다. 연결 관리 시스템은 URI를 이용하여 연관된 허가 레벨을 확인할 수 있다. 예를 들어, 연결관리 시스템은 이후 설명될 표 2의 인증 태그에 포함된 허가 레벨과 표 3의 허가 레벨을 비교하여 클라이언트 요청의 허가 여부를 결정할 수 있다. 만약, 클라이언트의 요청이 허가되지 않으면, 연결 관리 시스템은 클라이언트로 에러 응답을 전송할 수 있다.
단계(440)에서 연결 관리 시스템은 URI로부터 클라이언트의 요청에 대응하는 서비스를 검색할 수 있다. 예를 들어, 표 3에서는 URI와 서비스의 주소가 서로 연관된 모습을 나타내고 있다. 연결 관리 시스템은 표 3과 같이 등록된 서비스에 대한 정보를 이용하여 URI로부터 요청에 대응하는 서비스를 검색할 수 있다.
단계(450)에서 연결 관리 시스템은 검색된 서비스로 클라이언트의 요청을 전달할 수 있다. 예를 들어, 연결 관리 시스템은 검색된 서비스의 주소로 클라이언트의 요청 메시지를 전송할 수 있다.
단계(460)에서 연결 관리 시스템은 서비스로부터 응답을 수신할 수 있다. 예를 들어, 연결 관리 시스템은 서비스로부터 전송되는 응답 메시지를 수신할 수 있다.
단계(470)에서 연결 관리 시스템은 응답에 대응하는 클라이언트를 검색할 수 있다.
단계(480)에서 연결 관리 시스템은 검색된 클라이언트로 응답을 전달할 수 있다. 예를 들어, 연결 관리 시스템은 응답 메시지를 클라이언트로 전송할 수 있다.
아래 표 1은 허가 레벨의 예를 나타내고 있다.
허가(authz) 설명(description)
90 루트(root)
70 시스템 사용 가능
50 내부 게임 서버 사용 가능
30 외부 게임 서버 사용 가능
20 IDP(ID Provider) 로그인 클라이언트 사용 가능
10 장치 로그인 클라이언트 사용 가능
00 익명 접속 가능
여기서, 표 1은 허가(authz) 레벨의 값이 클수록 보다 높은 보안 레벨을 가짐을 나타내고 있다.
아래 표 2는 연결의 인증 태그(auth tag)를 설명하기 위한 일례를 나타내고 있다.
연결
(connection)
엔드포인트
(endpoint)
인증
(authn)
허가
(authz)
운영체제넘버
(osNo)
게임넘버
(gameNo)
3 클라이언트 40100000352525 10 1(IOS) 10031
4 클라이언트 40100000352225 10 2(Android) 101
5 서버 10.35.25.11:21332 50 0(server) 10003
6 서버 10.35.29.59:1138 30 0(server) 10009
예를 들어, 연결 '3'의 요청 헤더 또는 응답 헤더에는 인증 '40100000352525(64비트)'와 운영체제 넘버 '1(IOS)' 그리고 게임넘버 '10031'이 포함될 수 있다. 다른 예로, 연결 '5'의 요청 헤더 또는 응답 헤더에는 인증 '10.35.25.11:21332(64비트)', 운영체제넘버 '0(server) 그리고 게임넘버 '10003'이 포함될 수 있다.
이때, 요청 URI를 이용하여 허가(authz) 태그 권한이 확인될 수 있다. 예를 들어, 아래 표 3은 서비스 등록의 예를 나타내고 있다.
URI 허가
(authz)
메시지 서비스
(messaging service)
주소(address)
/mashup_1_3/getPhoneNo 30 MRS A:0:8201:0:0:0
/mashup_1_3/getNickname 70 MRS A:0:8202:0:0:0
/mashup_1_4/getNickname 70 MRS A:0:8301:0:0:0
/lnc/getLncInfo 90 HTTP 10.2.3.32:80
/rank/getDefaultRankId 70 MRS A:0:9000:0:0:0
191899482 70 MRS A:0:8204:0:0:0
96276026 70 MRS A:0:8204:0:0:0
228035530 70 MRS A:0:8204:0:0:0
표 3에서는 URI와 허가 레벨이 서로 연관되어 있기 때문에, URI를 통해 허가 태그 권한이 확인될 수 있다.
아래 표 4는 연결의 SVC(service) 태그의 예를 나타내고 있다.
연결
(connection)
SVC 값(value)
3 mashup mashup_tag_1
3 rank rank_tag_1
4 rank rank_tag_2
5 rank rank_tag_3
예를 들어, 연결 '3'의 요청 헤더 또는 응답 헤더에는 'SVC-mashup을 위한 태그의 값 'mashup_tag_1'와 SVC-rank를 위한 태그의 값 'rank_tag_1'이 포함될 수 있다. 다른 예로, 연결 '5'의 요청 헤더 또는 응답 헤더에는 SVC-rank를 위한 태그의 값 'rank_tag_3'이 포함될 수 있다. 이때, 요청 URI를 이용하여 SVC 태그의 권한이 확인될 수 있다.
일실시예로, 연결 관리 시스템은 클라이언트로부터 수신된 요청 메시지의 헤더에 연결의 태그들(인증 태그(표 2 참조)와 서비스 태그(표 4 참조))을 추가할 수 있다. 인증 태그는 사용자의 인증을 위한 정보(authn)와 접근 허가를 위한 정보(authz)를 포함할 수 있다. 이때, 연결 관리 시스템은 요청 메시지에 포함된 서비스의 URI(일례로, 표 3의 /mashup_1_3/getPhoneNo)를 이용하여 서비스의 주소(일례로, 표3의 A:0:8201:0:0:0)와 서비스의 허가 레벨(일례로, 표 3의 30(authz))를 확인할 수 있고, 클라이언트에게 허용된 접근 레벨이 허가 레벨을 만족하는지 확인할 수 있다. 일례로, 클라이언트가 표 2의 연결 '6'에 해당하는 '서버'라면, 클라이언트에게 허용된 접근 레벨이 '30'으로 해당 서비스의 허가 레벨 '30'을 만족하기 때문에 서비스로의 접근이 허용될 수 있고, 연결 관리 시스템은 해당 서비스로 요청 메시지를 전달할 수 있다. 반면, 클라이언트가 표 2의 연결 '3'에 해당하는 '클라이언트'라면, 클라이언트에게 허용된 접근 레벨은 '10'으로 해당 서비스의 허가 레벨 '30'을 만족하지 못하기 때문에 연결 관리 시스템은 클라이언트로 에러 응답 메시지를 전송할 수 있다. 또한, 연결 관리 시스템은 인증 태그에 대한 정보를 연결별로 표 2와 같이 관리함과 마찬가지로 서비스 태그에 대한 정보도 표 4와 같이 연결별로 관리할 수 있다. 뿐만 아니라, URI는 서비스에 대한 정보를 포함하고 있고, 연결 관리 시스템은 URI에 포함된 서비스에 대한 정보와 표 4를 이용하여 서비스 태그에 대한 권한을 확인할 수 있다.
도 5는 본 발명의 일실시예에 있어서, 클라이언트의 동작을 설명하기 위한 흐름도이다.
단계(510)에서 클라이언트는 연결 관리 시스템과의 연결을 시도할 수 있다. 예를 들어, 클라이언트는 TCP(Transmission Control Protocol)와 같은 프로토콜을 이용하여 연결 관리 시스템과의 연결을 시도할 수 있다. 이때, 연결 관리 시스템은 MRS를 위한 소켓을 할당할 수 있다.
단계(520)에서 클라이언트는 요청에 대한 인증과정을 처리할 수 있다. 이 경우, 연결 관리 시스템은 태그를 인증 및 허가할 수 있다.
단계(530)에서 클라이언트는 연결 관리 시스템으로 서비스를 위한 요청을 전송할 수 있다. 이때, 연결 관리 시스템은 URI를 확인하고, 요청을 위한 서비스 핸들러(service handler)를 검색하여 허가(authz)를 확인하고, 서비스로 요청을 전송할 수 있다.
도 6은 본 발명의 다른 실시예에 있어서, 연결 관리 방법을 도시한 흐름도이다. 본 실시예에 따른 연결 관리 방법은 연결 관리 시스템에 의해 수행될 수 있다. 여기서, 연결 관리 시스템은 도 1 또는 도 2를 통해 설명한 연결 관리 시스템(100) 또는 도 3을 통해 설명한 연결 관리 시스템(300)에 대응할 수 있다. 이러한 연결 관리 시스템은 적어도 하나의 스토리지 유닛과 적어도 하나의 프로세서를 포함할 수 있으며, 연결 관리 시스템에 포함된 각 단계들은 적어도 하나의 프로세서에 의해 처리될 수 있다.
단계(610)에서 연결 관리 시스템은, 서비스를 제공하는 복수의 서버들 각각에 대해 등록되는 서비스 정보를 관리할 수 있다. 일례로, 서비스 정보는 연결 관리 시스템이 포함하는 적어도 하나의 스토리지 유닛에 저장되어 관리될 수 있다.
단계(620)에서 연결 관리 시스템은, 클라이언트와의 무선 통신 연결을 관리하고, 무선 통신 연결을 통해 클라이언트로부터 요청 메시지를 수신할 수 있다. 일례로, 연결 관리 시스템은 무선 통신 연결을 관리하기 위해, 클라이언트와의 무선 통신 연결이 끊어지는 경우, 클라이언트로 재접속을 요청하는 신호를 전송할 수 있다.
단계(630)에서 연결 관리 시스템은, 서비스 정보를 이용하여 요청 메시지에 대응하는 서비스를 검색할 수 있다. 이미 상술한 표 3을 통해 등록된 서비스 정보에 대한 예를 설명하였으며, 요청 메시지가 포함하는 URI를 이용하여 요청 메시지에 대응하는 서비스를 검색할 수 있음을 설명한 바 있다.
단계(640)에서 연결 관리 시스템은, 검색된 서비스를 제공하는 서버와의 유선 통신 연결을 이용하여 요청 메시지를 검색된 서비스를 제공하는 서버로 전달할 수 있다.
이와 같이, 본 발명의 실시예들에서는 연결 관리 시스템에서 모바일 환경의 클라이언트와의 무선 통신 연결을 관리하고, 연결 관리 시스템과 서비스를 제공하는 서버간에는 유선 통신 연결을 이용함으로써, 클라이언트와 서비스를 제공하는 서버가 안정적으로 연결될 수 있는 환경을 제공할 수 있다.
다른 실시예로, 연결 관리 방법은 도 6을 통해 설명한 단계들(610 내지 640) 이외에, 서비스 정보를 이용하여 요청 메시지에 대응하는 서비스로의 접근 허가(authorization) 권한을 확인하는 단계를 더 포함할 수 있다. 이때, 단계(640)은 접근 허가 권한에 기초하여 요청 메시지가 대응하는 서비스로의 접근이 허가되는지 결정하는 단계(미도시) 및 접근이 허가된 경우, 요청 메시지를 검색된 서비스를 제공하는 서버로 전달하는 단계(미도시)를 포함할 수 있다. 상술한 미도시 단계들 역시 연결 관리 시스템에 의해 수행될 수 있으며, 연결 관리 시스템이 포함하는 적어도 하나의 프로세서에 의해 처리될 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 서비스의 해외 진출 시 프론트(front) 서버인 연결 관리 서버만을 각 국가별로 구축하고, 연결 관리 서버를 통해 해외의 클라이언트와 국내에 기 구축된 백엔드(backend) 서버를 중개하여 서비스를 제공할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. 연결 관리 시스템이 수행하는 연결 관리 방법에 있어서,
    서비스를 제공하는 복수의 서버들 각각에 대해 등록되는 서비스 정보를 관리하는 단계;
    클라이언트와의 무선 통신 연결을 관리하여 상기 클라이언트의 상기 서비스에 대한 로그인을 선처리하고, 상기 무선 통신 연결을 통해 상기 클라이언트로부터 요청 메시지를 수신하는 단계;
    상기 서비스 정보를 이용하여 상기 요청 메시지에 대응하는 서비스를 검색하는 단계; 및
    상기 검색된 서비스를 제공하는 서버와의 유선 통신 연결을 이용하여 상기 선처리된 로그인에 대한 상기 클라이언트의 상기 서버로의 로그인을 처리하고, 상기 요청 메시지를 상기 검색된 서비스를 제공하는 서버로 전달하는 단계
    를 포함하는 연결 관리 방법.
  2. 제1항에 있어서,
    상기 요청 메시지는 상기 서비스를 제공하는 서버로 전송되고,
    상기 서버와 상기 연결 관리 시스템의 위치는, 국가 단위의 지리적 차이를 갖는 것을 특징으로 하는 연결 관리 방법.
  3. 제1항에 있어서,
    상기 요청 메시지를 전달한 서비스로부터 상기 유선 통신 연결을 이용하여 응답 메시지를 수신하는 단계; 및
    상기 응답 메시지를 상기 무선 통신 연결을 통해 상기 클라이언트로 전달하는 단계
    를 더 포함하는 연결 관리 방법.
  4. 제3항에 있어서,
    상기 요청 메시지 및 상기 응답 메시지를 선택적으로 기록하는 단계
    를 더 포함하는 연결 관리 방법.
  5. 제1항에 있어서,
    상기 요청 메시지에 연결(connection)의 인증 태그 및 서비스 태그를 추가하는 단계
    를 더 포함하고,
    상기 서비스에서 상기 인증 태그를 이용하여 상기 요청 메시지가 인증되는 것을 특징으로 하는 연결 관리 방법.
  6. 제1항 내지 제5항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  7. 서비스를 제공하는 복수의 서버들 각각에 대해 등록되는 서비스 정보를 저장하는 적어도 하나의 스토리지 유닛; 및
    적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    클라이언트와의 무선 통신 연결을 관리하여 상기 클라이언트의 상기 서비스에 대한 로그인을 선처리하고, 상기 무선 통신 연결을 통해 상기 클라이언트로부터 요청 메시지를 수신하는 과정;
    상기 서비스 정보를 이용하여 상기 요청 메시지에 대응하는 서비스를 검색하는 과정; 및
    상기 검색된 서비스를 제공하는 서버와의 유선 통신 연결을 이용하여 상기 선처리된 로그인에 대한 상기 클라이언트의 상기 서버로의 로그인을 처리하고, 상기 요청 메시지를 상기 검색된 서비스를 제공하는 서버로 전달하는 과정
    을 처리하는 것을 특징으로 하는 연결 관리 시스템.
  8. 제7항에 있어서,
    상기 요청 메시지는 상기 서비스를 제공하는 서버로 전송되고,
    상기 서버와 상기 연결 관리 시스템의 위치는, 국가 단위의 지리적 차이를 갖는 것을 특징으로 하는 연결 관리 시스템.
KR1020140124332A 2014-09-18 2014-09-18 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템 KR101583508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140124332A KR101583508B1 (ko) 2014-09-18 2014-09-18 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140124332A KR101583508B1 (ko) 2014-09-18 2014-09-18 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20130105912A Division KR101491845B1 (ko) 2013-09-04 2013-09-04 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20150028217A KR20150028217A (ko) 2015-03-13
KR101583508B1 true KR101583508B1 (ko) 2016-01-13

Family

ID=53023234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140124332A KR101583508B1 (ko) 2014-09-18 2014-09-18 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101583508B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101712594B1 (ko) 2016-06-22 2017-03-07 주식회사 모비젠 다계층 구조 스토리지에 대한 데이터 관리 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426399B1 (ko) 2001-04-06 2004-04-08 니트젠테크놀러지스 주식회사 무선망을 통한 씨디엔 서비스 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426399B1 (ko) 2001-04-06 2004-04-08 니트젠테크놀러지스 주식회사 무선망을 통한 씨디엔 서비스 방법 및 시스템

Also Published As

Publication number Publication date
KR20150028217A (ko) 2015-03-13

Similar Documents

Publication Publication Date Title
CN105007280B (zh) 一种应用登录方法和装置
US20190149342A1 (en) Systems, methods, and devices for multi-stage provisioning and multi-tenant operation for a security credential management system
EP3316544B1 (en) Token generation and authentication method, and authentication server
US9178868B1 (en) Persistent login support in a hybrid application with multilogin and push notifications
US9923906B2 (en) System, method and computer program product for access authentication
KR20190003764A (ko) 다수의 웹사이트들 간의 자동 로그인 방법 및 장치
JP2015529905A (ja) 認可方法、装置、及びシステム
CN102624720A (zh) 一种身份认证的方法、装置和系统
WO2014131279A1 (zh) 一种双向授权系统、客户端及方法
JP6572750B2 (ja) 認証制御プログラム、認証制御装置、及び認証制御方法
CN102984046B (zh) 一种即时通讯业务的处理方法及相应的网络设备
CN105991614A (zh) 一种开放授权、资源访问的方法及装置、服务器
US11165768B2 (en) Technique for connecting to a service
CN105873053B (zh) 一种接入认证页面嵌入网页的方法、系统及无线接入点
US10708326B2 (en) Secure media casting bypassing mobile devices
CN105722072A (zh) 一种业务授权方法、装置、系统及路由器
KR20140112643A (ko) 이종 서비스 간 서비스 제공 방법과 사용자 단말 및 웹 서버
CN112765583A (zh) 一种单点登录方法、装置、设备及介质
CN103634111A (zh) 单点登录方法和系统及单点登录客户端
KR102058283B1 (ko) 이종 사물 인터넷 서비스 플랫폼 간의 보안 상호운용성 프레임워크 및 그 장치
KR101491845B1 (ko) 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템
JP5573113B2 (ja) 認証代行サーバ装置、認証代行方法及びプログラム
KR20170067120A (ko) 인증 게이트웨이 및 인증 게이트웨이의 인증 방법
KR101583508B1 (ko) 서버측에서 클라이언트와 서버의 백엔드간의 연결을 매개하는 연결 관리 방법 및 시스템
KR101996579B1 (ko) 외부 저장 장치에 저장되는 파일을 안전하게 공유하는 보안 브로커 시스템 및 그 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 5