KR102224666B1 - 하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버 - Google Patents

하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버 Download PDF

Info

Publication number
KR102224666B1
KR102224666B1 KR1020150146457A KR20150146457A KR102224666B1 KR 102224666 B1 KR102224666 B1 KR 102224666B1 KR 1020150146457 A KR1020150146457 A KR 1020150146457A KR 20150146457 A KR20150146457 A KR 20150146457A KR 102224666 B1 KR102224666 B1 KR 102224666B1
Authority
KR
South Korea
Prior art keywords
server
access information
lower server
service request
information
Prior art date
Application number
KR1020150146457A
Other languages
English (en)
Other versions
KR20170046308A (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 KR1020150146457A priority Critical patent/KR102224666B1/ko
Publication of KR20170046308A publication Critical patent/KR20170046308A/ko
Application granted granted Critical
Publication of KR102224666B1 publication Critical patent/KR102224666B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 중계 방법은, 하나 이상의 하위 서버를 중계하는 방법에 있어서, 클라이언트로부터 상기 하나 이상의 하위 서버 중 하나의 하위 서버에 대한 서비스 요청을 수신하는 단계와, 상기 서비스 요청으로부터 상기 하나의 하위 서버에 대한 구분자 정보를 추출하는 단계와, 상기 추출된 구분자 정보를 이용하여 데이터베이스를 조회하여 상기 하나의 하위 서버에 대한 접속 정보를 획득하는 단계와, 상기 획득된 접속 정보를 이용하여 상기 서비스 요청을 상기 하나의 하위 서버로 전송하는 단계와, 상기 하나의 하위 서버로부터 상기 서비스 요청에 대한 응답을 수신하는 단계와, 상기 수신된 응답을 상기 클라이언트에게 전송하는 단계를 포함할 수 있다.

Description

하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버{METHOD FOR MANAGING CONNECTION INFORMATION OF SUB-SERVERS AND RELAYING SUB-SERVERS AND SERVER THEREFOR}
본 발명은 하위 서버의 접속 정보를 관리 및 중계하는 방법에 관한 것으로, 더욱 상세하게는 하나 이상의 하위 서버에 대한 접속 정보를 관리하는 관리 서버를 통하여 클라이언트로부터의 하위 서버에 대한 서비스 요청을 중계할 수 있는 관리 및 중계 방법, 그리고 이를 위한 관리 서버에 관한 것이다.
최근 들어, 개인 단말 기기가 점차 고성능화 되고, 또한 개인 자료(정보)에 대한 관리 및 보안이 중요한 이슈 중의 하나로 부각되면서 개인 서버를 운용하는 경우가 많아지는 추세인데, 이것은 단순히 소형의 서버 시스템 뿐만 아니라 스마트폰, 스마트 패드 등과 같은 개인 장치에도 서버를 운영하여 서비스하는 경우가 있다.
상기한 바와 같은 유형의 서버는 서버를 운영하는데 있어서는 그다지 큰 문제가 없으나, 개인 장치가 주로 무선을 사용한다는 점과 개개인이 DNS(도메인 네임 서버)에 개인 서버의 URL을 직접 등록하기에는 현실적인 한계가 있기 때문에 실제적으로는 널리 활용되지 못하고 있는 실정이다.
이외에도 최근 널리 쓰이고 있는 레스트펄(Restful) API 서버도 비슷한 문제가 있다. 즉, 특정 클라우드 내에 레스트펄 API 서버가 다수 존재할 경우, 이 서버에 서비스를 요청하고자 하는 클라이언트는 개별 서버의 주소를 알아야 하고, 또한 개별 서버의 주소는 방화벽 예외 처리가 이뤄져야 한다.
따라서, 이를 위해서는 중계 기능을 가진 고가의 방화벽 장치를 추가 하거나 혹은 별도의 장치를 두어야 하는데, 이는 전체적인 시스템 운영비의 상승을 초래하는 문제를 유발시킨다.
그리고, 이의 실현을 위해서는 실제 사용자 요청을 처리하는 뒷편의 서버들을 논리적으로 하나로 묶은 후 단일화된 통로를 제공하는 것이 필요한데, 이를 위한 유사한 종래 기술로는 NAT(Network Address Translation)에서 흔히 사용되는 포트 포워딩(Port forwarding) 기법이 있다.
이러한 포트 포워딩 기술은 단일한 주소와 특정 포트로 접속 요청을 다른 주소와 다른 포트로 맵핑해 준다는 점에서 유사한 기능을 제공하나 다음과 같은 제약을 갖는다.
첫째, 포트 수가 한정적이기 때문에 하위 서버로의 맵핑이 수백, 수천 정도에 한정된다.
둘째, 보통의 클라우드 시스템은 80번 http, 443번 https를 제외하고는 보안상의 이유로 모두 제한하는데 반해, 이 기능을 활성화하기 위해서는 방화벽에 다양한 포트 정책이 추가 되어야만 하기 때문에 보안 문제와 정책 관리가 매우 복잡해진다.
따라서, 상술한 바와 같은 문제로 인해 종래의 포트 포워딩 기술은 NAT 시스템 등과 같은 매우 적은 수의 하위 서버를 갖는 제한된 응용에만 사용되고 있는 실정이다.
대한민국 등록특허 제10-0530459호(공고일 : 2005. 11. 22.) 대한민국 공개특허 제2013-0047776(공개일 : 2013. 05. 09.)
본 발명은 하위 서버의 접속 정보를 구분자 정보와 매핑시켜 관리 대상으로 관리 서버에 등록해 두고, 클라이언트가 관리 서버에게 하위 서버에 대한 서비스를 요청하면 접속 정보에 포함된 구분자 정보에 의거하여 하위 서버의 접속 정보를 재구성하고, 이 재구성된 접속 정보를 이용하여 하위 서버에게 서비스 요청을 중계할 수 있는 접속 정보 관리 방법, 중계 방법 및 관리 서버를 제안하고자 한다.
또한, 본 발명의 실시 예에 따르면, 하위 서버의 접속 정보를 관리하는 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제안한다.
또한, 본 발명의 다른 실시 예에 따르면, 하위 서버의 접속 정보를 이용하여 서버를 중계하는 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제안한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 하나 이상의 하위 서버를 중계하는 방법에 있어서, 클라이언트로부터 상기 하나 이상의 하위 서버 중 하나의 하위 서버에 대한 서비스 요청을 수신하는 단계와, 상기 서비스 요청으로부터 상기 하나의 하위 서버에 대한 구분자 정보를 추출하는 단계와, 상기 추출된 구분자 정보를 이용하여 데이터베이스를 조회하여 상기 하나의 하위 서버에 대한 접속 정보를 획득하는 단계와, 상기 획득된 접속 정보를 이용하여 상기 서비스 요청을 상기 하나의 하위 서버로 전송하는 단계와, 상기 하나의 하위 서버로부터 상기 서비스 요청에 대한 응답을 수신하는 단계와, 상기 수신된 응답을 상기 클라이언트에게 전송하는 단계를 포함하는 중계 방법을 제공한다.
본 발명은, 다른 관점에 따라, 제 10 항 내지 제 16 항 중 어느 한 항에 기재된 하위 서버의 중계 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장되는 컴퓨터 프로그램을 제공한다.
본 발명은, 또 다른 관점에 따라, 하나 이상의 하위 서버를 중계하는 관리 서버로서, 상기 하나 이상의 하위 서버에 대한 접속 정보를 관리하는 모듈과, 데이터베이스를 포함하고, 상기 접속 정보를 관리하는 모듈은, 각각의 하위 서버로부터 자신의 접속 정보를 포함하는 등록 요청을 수신하고, 상기 접속 정보에 대응하는 구분자 정보를 생성하며, 상기 접속 정보와 상기 구분자 정보를 매칭시켜 상기 데이터베이스에 저장하는 관리 서버를 제공한다.
본 발명은 관리 서버가 하위 서버의 접속 정보를 구분자 정보와 매핑시켜 관리하면서 클라이언트로부터의 서비스 요청을 하위 서버로 중계해 주기 때문에, 개인 서버를 운영하는 사용자가 DNS(도메인 네임 서버)에 개인 서버에 대한 접속 정보(URL)를 직접 등록할 필요가 없기 때문에 개인 서버 사용자들의 이용 편리성을 증진시킬 수 있다.
또한, 특정 클라우드 내에 다수의 레스트펄 API 서버가 존재하는 경우일지라도 중계 기능을 가진 고가의 방화벽 장치를 추가 하거나 혹은 별도의 장치를 둘 필요가 없기 때문에 전체적인 시스템의 운영비 상승을 효과적으로 억제할 수 있다.
도 1은 본 발명의 실시 예에 따라 하위 서버의 접속 정보를 관리 서버에 위탁 관리하고, 하이 서버의 접속 정보를 이용하여 서버를 중계하는 중계 관리 시스템의 구성도이다.
도 2는 본 발명에 따라 통신 디바이스가 운영하는 서버의 접속 정보를 위탁 관리하면서 클라이언트에게 서버를 중계하는 중계 관리 시스템에 대한 개념 예시도이다.
도 3은 본 발명에 따라 하위 서버의 접속 정보를 위탁 관리하면서 클라이언트에게 하위 서버를 중계하는 중계 관리 시스템에 대한 개념 예시도이다.
도 4는 본 발명에 따라 하위 서버의 접속 정보를 위탁 관리하기 위해 관리 서버로 등록하는 주요 과정을 도시한 순서도이다.
도 5는 본 발명에 따라 하위 서버의 접속 정보를 이용하여 클라이언트에게 서버를 중계하는 주요 과정을 도시한 순서도이다.
먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.
아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술사상을 토대로 이루어져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따라 하위 서버의 접속 정보를 관리 서버에 위탁 관리하고, 하위 서버의 접속 정보를 이용하여 서버를 중계하는 중계 관리 시스템의 구성도로서, 통신 디바이스(110), 관리 서버(120) 및 클라이언트(130) 등을 포함할 수 있으며, 관리 서버(120)는, 예컨대 접속 정보 관리 모듈(122), 등록 DB(124) 및 중계 서비스 모듈(126) 등을 포함할 수 있다. 여기에서, 접속 정보 관리 모듈(122)은 접속 정보 관리 장치로 정의될 수 있고, 중계 서비스 모듈(124)은 서버 중계 장치로 정의될 수 있으며, 등록 DB(124)는 데이터베이스로 정의될 수 있다.
이때, 접속 정보의 관리 등록을 위해 관리 서버(120)에 제공되는 접속 정보(접속 주소 또는 위탁 주소 등의 URL)는, 예컨대 통신 디바이스가 개인 서버를 운영하는 통신 단말일 때 단말번호를 포함하는 URL(uniform resource locator)일 수 있고, 통신 디바이스가, 예컨대 레스트펄(Restful) API 서버 등과 같은 하위 서버일 때 하위 서버 자신의 URL(uniform resource locator)일 수 있다.
여기에서, 도 1에서는 통신 디바이스(110)와 클라이언트(130)를 각 하나씩만 도시하였으나, 이것은 설명의 편의를 위한 예시적인 제시일 뿐이며, 도시 생략된 네트워크(유무선 네트워크)를 통해 관리 서버(120)에 접속 가능한 통신 디바이스와 클라이언트는 각각 다수 개가 존재할 수 있다. 그리고, 관리 서버(120)는, 예컨대 중계 서버 또는 클라우드 서버로 정의될 수도 있다.
도 1을 참조하면, 통신 디바이스(110)는, 예컨대 레스트펄(Restful) API 서버 등과 같은 하위 서버 자체이거나 혹은 서버(또는 개인 서버)를 직접 운영하는 PC, 통신 단말(예컨대, 휴대폰, 스마트폰, 스마트 패드, 워치 폰, 웨어러블 기기 등의 휴대 단말) 등을 의미할 수 있는 것으로, 네트워크를 통해 관리 서버(120)에 접속하여 하위 서버의 접속 정보(접속 주소 또는 위탁 주소를 포함하는 URL)에 대한 관리(위탁 관리)를 등록 신청하는 등의 기능을 제공할 수 있으며, 또한 하위 서버의 접속 정보가 위탁 관리 대상으로 서비스 등록될 때 관리 서버(120)로부터 제공되는 토큰(또는 구분자 정보)을 제공받을 수 있다.
그리고, 클라이언트(130)는, 예컨대 PC, 유선 또는 무선의 통신 단말 등을 의미할 수 있는 것으로, 본 발명에 따라 접속 정보의 위탁 관리가 관리 서버(120)에 등록된 하위 서버들에게 발급된 토큰(또는 구분자 정보)을 포함하는 URL(서비스 요청 대상의 하위 서버에 대한 URL)에 대한 서비스 요청을 관리 서버(120)로 전송하여 클라이언트 사용자가 원하는 임의의 하위 서버에 대한 서비스를 요청하는 등의 기능을 제공할 수 있다.
다음으로, 본 발명의 접속 정보 관리 장치로 정의될 수 있는 접속 정보 관리 모듈(122)은 요청 수신부(1221), 구분자 생성부(1223), 등록 관리부(1225) 및 등록 응답부(1227) 등을 포함할 수 있다.
먼저, 요청 수신부(1221)는 통신 디바이스(하위 서버, PC, 통신 단말 중 어느 하나)로부터 하위 서버(웹 서버)의 접속 정보(접속 주소 또는 위탁 주소를 포함하는 URL)를 포함하는 서비스 등록 요청, 즉 접속 정보 위탁 관리에 대한 서비스 등록 요청이 수신될 때 이를 구분자 생성부(1223)로 전달하는 등의 기능을 수행할 수 있다.
다음에, 구분자 생성부(1223)는 요청 수신부(1221)를 통해 수신된 하위 서버의 접속 정보에 대응하는 구분자 정보를 생성(토큰(Token) 발급)하고, 이 생성된 구분자 정보를 등록 관리부(1225)로 전달하는 등의 기능을 수행할 수 있다.
여기에서, 하위 서버에게 발급되는 구분자 정보는, 접속 정보의 위탁 관리를 위한 서비스 등록을 위해 통신 디바이스(110)가 제공한 하위 서버의 접속 정보에 기초하여 생성되거나 혹은 접속 정보와 무관하게 랜덤하게 생성될 수 있으며, 문자 등이 연속되는 URL의 문자열에서 하위 서버를 구별하기 위한 용도로 사용된다.
일례로서, 통신 디바이스(110)가 서버를 운영하는 통신 단말이고 통신 단말의 단말번호가 010-123-4567일 경우라고 가정할 때, 통신 디바이스(110)는 하위 서버의 접속 정보의 위탁 관리에 대한 서비스 등록을 요청할 때 단말번호 010-123-4567을 포함하는 하위 서버의 접속 정보를 관리 서버(120)에 제공하게 될 것이며, 구분자 생성부(1223)에서는, 예컨대 smartphone 1234567을 해당 하위 서버의 접속 정보에 대응하는 구분자정보로 생성할 수 있을 것이다.
그리고, 등록 관리부(1225)는 구분자 생성부(1223)를 통해 생성된 구분자 정보(토큰)를 하위 서버의 접속 정보에 매핑시킨 후 등록 DB(124)에 저장(등록)하는 등의 기능을 수행할 수 있다. 이를 위해, 등록 DB(124)에는 관리 서버(120)에 서비스 등록된 각 하위 서버들에 대한 접속 정보들과 각 접속 정보들에 매핑된 구분자 정보들이 저장되어 있다.
또한, 등록 관리부(1225)는 통신 디바이스(110)가 자신이 운영하는 서버의 접속 정보에 대한 변경을 요청할 때, 해당 하위 서버에 대해 발급된 구분자 정보와 매핑되어 등록 DB(124)에 등록되어 있는 하위 서버의 접속 정보를 새로운 접속 정보로 갱신하는 등의 기능을 제공할 수 있다.
그리고, 등록 응답부(1227)는 구분자 정보와 접속 정보가 매핑되어 해당 하위 서버가 위탁 관리 대상으로서 등록 DB(124)에 등록될 때 기 생성되어 있던 구분자 정보를 네트워크를 통해 통신 디바이스(110)로 전송하는 등의 기능을 수행할 수 있다.
다시, 도 1을 참조하면, 본 발명의 서버 중계 장치로 정의될 수 있는 중계 서비스 모듈(126)은 서비스 요청 수신부(1261), 접속 정보 획득부(1263), URL 재구성부(1265), 요청 의뢰부(1267) 및 요청 응답부(1269) 등을 포함할 수 있다.
먼저, 서비스 요청 수신부(1261)는 도시 생략된 네트워크를 통해 클라이언트(130)로부터 목표로 하는 하위 서버(예컨대, 통신 디바이스(110)에서 운영하는 서버 등)의 구분자 정보(토큰)를 갖는 접속 정보(URL)를 포함하는 서비스 요청이 수신될 때 이를 접속 정보 획득부(1263)로 전달하는 등의 기능을 수행할 수 있다.
또한, 접속 정보 획득부(1263)는 서비스 요청 수신부(1261)를 통해 수신된 하위 서버의 서비스 요청으로부터 구분자 정보(토큰)를 추출하고, 등록 DB(124)의 조회(탐색)를 통해 추출된 구분자 정보에 대응하는 하위 서버의 접속 정보(구분자 정보를 포함하지 않는 원래 URL)를 획득하는 등의 기능을 수행할 수 있다.
다음에, URL 재구성부(1265)는 클라이언트(130)로부터 수신된 하위 서버의 접속 정보에서 토큰을 삭제하여 접속 정보를 재구성, 즉 하위 서버의 원래 URL로 재구성하여 요청 의뢰부(1267)로 전달하는 등의 기능을 수행할 수 있다.
일례로서, 다음과 같은 URL과 등록 DB(124)의 접속 정보가 있는 경우라면,
URL:
데이터베이스: {sub123, 150.10.10.3}
여기서, 토큰은"Sub123"이 되며, 통신 디바이스(110)로 전송되는 URL은 아래와 같이 재구성될 것이다.
그리고, 요청 의뢰부(1267)는 URL 재구성부(1265)를 통해 재구성된 접속 정보(URL)를 이용하여 클라이언트(130)로부터 수신한 서비스 요청을 해당 하위 서버(옌컨대, 통신 디바이스(110)가 운영하는 서버)로 전송하는 등의 기능을 수행할 수 있다.
또한, 요청 응답부(1269)는 관리 서버(120)가 클라이언트(130)를 대신하여 하위 서버에게 전송한 서비스 요청에 대해 하위 서버 또는 통신 디바이스(110)로부터 응답이 수신되는 지의 여부를 모니터링하고, 서비스 요청에 대한 응답(응답 데이터)이 수신될 때 이를 클라이언트(130)에게 전송하는 등의 기능을 수행할 수 있다.
도 2는 본 발명에 따라 통신 디바이스에서 운영하는 서버의 접속 정보를 위탁 관리하면서 클라이언트에게 서버를 중계하는 중계 관리 시스템에 대한 개념 예시도이다.
도 2를 참조하면, 토큰1을 발급받은 통신 단말(210a), 토큰2를 발급받은 통신 단말(210b) 및 토큰3을 발급받은 통신 단말(210c) 각각이 자신이 운영하는 서버(웹 서버)의 접속 정보를 관리 서버(220)에 위탁 관리 대상으로 등록한 경우라고 가정할 때, 클라이언트(230)는, 일례로서 요청={}을 관리 서버(220)로 전송하여 하위 서버로의 중계를 요청할 수 있을 것이다.
이에 응답하여, 관리 서버(220)에서는 URL로부터 추출한 토큰에 의거하여 획득한 통신 단말(210b)에서 운영 중인 서버의 URL을 원래의 URL로 재구성, 즉 http://토큰2 서버주소/index로 재구성하고, 이 재구성된 URL을 이용하여 해당 하위 서버(210b)로 클라이언트(230)로부터 수신한 서비스 요청을 전송하게 될 것이다.
도 3은 본 발명에 따라 하위 서버의 접속 정보를 위탁 관리하면서 클라이언트에게 하위 서버를 중계하는 중계 관리 시스템에 대한 개념 예시도이다.
도 3을 참조하면, 토큰1을 발급받은 하위 서버(310a), 토큰2를 발급받은 하위 서버(310b) 및 토큰3을 발급받은 하위 서버(310c)는 관리 서버(320)로 접속 정보의 위탁 관리를 등록할 수 있으며, 두 클라이언트(330a, 330b) 각각은 서비스 요청을 목표로 하는 하위 서버의 토큰을 포함하는 URL을 관리 서버(320)로 전송하여 서버 중계 서비스를 제공받을 수 있다. 여기에서, 각 하위 서버는, 예컨대 레스트펄(Restful) API 서버를 의미할 수 있다.
여기에서, 하위 서버가 개별 API 서버일 때, 개별 API 서버가 관리 서버(또는 대표 서버)에 위탁 관리 등록을 요청하면, 관리 서버는 토큰과 해당 개별 API 서버에 대한 등록 정보를 등록 DB에 저장한다.
이후, 외부의 클라이언트가 대표 서버에게 API 파라미터와 토큰 정보로 요청하면, 대표 서버는 토큰을 추출하여 개별 API 서버에게 파라미터와 함께 전달하여 서비스 요청을 처리하게 되며, 그 결과, 즉 서비스 요청에 대한 응답은 다시 대표 서버가 개별 API 서버로부터 받아 최종적으로 클라이언트에게 전달해 줄 것이다.
상술한 바와 같은 서버의 중계 운영을 통해, 서버 운영자는 방화벽에 대표 서버만 하나 두고 관리를 수행할 수 있기 때문에 운영상 편리성을 더욱 증진시킬 수 있다.
다음에, 본 발명에 따라 서버의 접속 정보를 위탁 관리하면서 클라이언트에게 하위 서버를 중계를 서비스하는 일련의 과정들에 대하여 상세하게 설명한다.
도 4는 본 발명에 따라 하위 서버의 접속 정보를 위탁 관리하기 위해 관리 서버로 등록하는 주요 과정을 도시한 순서도이다.
도 4를 참조하면, 요청 수신부(1221)에서는 통신 디바이스(110)로부터 하위 서버의 접속 정보(접속 주소 또는 위탁 주소를 포함하는 URL)를 포함하는 서비스 등록 요청이 수신되면(단계 402), 이를 구분자 생성부(1223)로 전달한다.
다음에, 구분자 생성부(1223)에서는 요청 수신부(1221)로부터 전달된 하위 서버의 접속 정보에 대응하는 구분자 정보를 생성(예컨대, 토큰 발급)하는데(단계 404), 여기에서 구분자 정보는, 하위 서버의 접속 정보에 기초하여 생성되거나 혹은 접속 정보와 무관하게 랜덤하게 생성될 수 있다.
이어서, 등록 관리부(1225)에서는 구분자 생성부(1223)를 통해 생성된 구분자 정보를 하위 서버의 접속 정보에 매핑시켜 등록 DB(124)에 저장(등록)한다(단계 406). 이때, 등록 DB(124)에 등록된 접속 정보는 통신 디바이스(110)로부터의 변경 요청에 따라 새로운 접속 정보로 언제든지 변경될 수 있다.
즉, 본 발명에서는 하위 서버로부터 접속 정보에 대한 위탁 관리가 신청될 때마다 해당 접속 정보에 대응하는 구분자 정보를 생성한 후 해당 접속 정보와 매핑시켜 등록 DB에 저장하게 된다.
이후, 등록 응답부(1227)에서는 구분자 정보(토큰)와 접속 정보가 매핑되어 하위 서버의 위탁 관리 대상으로서 등록 DB(124)에 등록되면, 해당 구분자 정보를 네트워크를 통해 통신 디바이스(110)로 전송(제공)한다(단계 408).
도 5는 본 발명에 따라 하위 서버의 접속 정보를 이용하여 클라이언트에게 서버를 중계하는 주요 과정을 도시한 순서도이다.
도 5를 참조하면, 클라이언트(130)가 관리 서버(120)에 접속하여 서비스를 받고자 하는 하위 서버의 접속 정보(즉, 특정 하위 서버의 구분자 정보를 포함하는 접속 정보)를 포함하는 서비스 요청을 전송하여 서버 중계를 요청하면, 서비스 요청 수신부(1261)에서는 서비스 요청을 수신하여 접속 정보 획득부(1263)로 전달한다(단계 502).
다음에, 접속 정보 획득부(1263)에서는 서비스 요청 수신부(1261)로부터 전달된 하위 서버의 서비스 요청으로부터 구분자 정보(토큰)를 추출한다(단계 504).
다시, 접속 정보 획득부(1263)에서는 등록 DB(124)를 탐색함으로써 추출된 구분자 정보에 대응하는 하위 서버의 접속 정보(구분자 정보를 포함하지 않는 원래 URL)를 획득하고(단계 506), 이 획득된 접속 정보를 URL 재구성부(1265)로 전달한다.
그리고, URL 재구성부(1265)에서는 접속 정보(URL)를 재구성, 즉 클라이언트(130)로부터 수신한 하위 서버의 접속 정보에서 구분자 정보를 삭제함으로써 하위 서버의 원래 접속 정보로 재구성(하위 서버의 URL 재구성)한다(단계 508).
이에 응답하여, 요청 의뢰부(1267)에서는 재구성된 접속 정보(URL)를 이용하여 클라이언트(130)가 중계 신청한 서비스 요청을 통신 디바이스(110)로 전송(중계)한다(단계 510).
다음에, 요청 응답부(1269)에서는 클라이언트(130)를 대신하여 해당 하위 서버에게 전송한 서비스 요청에 대한 응답(응답 데이터)이 수신되는 지의 여부를 모니터링(체크)하는데(단계 512), 체크 결과 서비스 요청에 대한 응답이 수신되면 이를 클라이언트(130)에게 전달함으로써(단계 514), 클라이언트의 서비스 요청에 대한 하위 서버로의 중계 서비스를 완료한다.
한편, 상술한 바와 같이 실시 예를 제시하고 있는 본 발명에 따른 접속 정보 관리 방법과 서버 중계 방법은 컴퓨터(또는 휴대용 컴퓨터)로 판독 가능한 기록 매체에 컴퓨터가 실행할 수 있는 코드(컴퓨터 프로그램 코드)로서 구현될 수 있는데, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다. 이러한 컴퓨터 판독 가능의 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.
그리고, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
또한, 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리 등에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
여기에서, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시 예에 의하면, 하위 서버의 접속 정보를 구분자 정보와 매핑시켜 관리 대상으로 관리 서버에 등록해 두고, 클라이언트가 하위 서버에 대한 서비스를 요청하면 구분자 정보에 의거하여 하위 서버의 접속 정보를 재구성하고, 이 재구성된 접속 정보를 이용하여 하위 서버에게 서비스 요청을 중계할 수 있는 접속 정보 관리 및 서버 중계 기법을 제공할 수 있다.
이러한 기술적 구성을 포함하는 본 발명은, 관리 서버가 하위 서버의 접속 정보를 구분자 정보와 매핑시켜 관리하면서 클라이언트로부터의 서비스 요청을 하위 서버로 중계해 주기 때문에, 개인 서버를 운영하는 사용자가 DNS(도메인 네임 서버)에 개인 서버에 대한 접속 정보(URL)를 직접 등록할 필요가 없기 때문에 개인 서버 사용자들의 이용 편리성을 증진시킬 수 있다.
110 : 통신 디바이스 120 : 관리 서버
130 : 클라이언트 122 : 접속 정보 관리 모듈
124 : 등록 DB 126 : 중계 서비스 모듈
1221 : 요청 수신부 1223 : 구분자 생성부
1225 : 등록 관리부 1227 : 등록 응답부
1261 : 서비스 요청 수신부 1263 : 접속 정보 획득부
1265 : URL 재구성부 1267 : 요청 의뢰부
1269 : 요청 응답부

Claims (10)

  1. 클라이언트의 하위 서버에 대한 서비스 요청을 중계하는 관리 서버에 의해 수행되는 하위 서버를 중계하는 방법에 있어서,
    상기 클라이언트로부터 상기 하위 서버에 대한 서비스 요청을 수신하는 단계와,
    상기 서비스 요청으로부터 상기 하위 서버를 다른 하위 서버와 구분하기 위한 구분자 정보를 추출하는 단계와,
    상기 구분자 정보를 이용하여, 상기 관리 서버에 포함된 데이터베이스에 저장된 접속 정보 중에서 상기 구분자 정보에 대응되는 접속 정보를 획득하는 단계와,
    상기 획득된 접속 정보를 이용하여 상기 서비스 요청을 상기 하위 서버로 전송하는 단계와,
    상기 하위 서버로부터 상기 서비스 요청에 대한 응답을 수신하는 단계와,
    상기 응답을 상기 클라이언트에게 전송하는 단계
    를 포함하는 중계 방법.
  2. 제 1 항에 있어서,
    상기 접속 정보와 상기 구분자 정보는,
    서로 매핑되어 상기 데이터베이스에 저장되는,
    중계 방법.
  3. 제 2 항에 있어서,
    상기 서비스 요청은,
    상기 구분자 정보를 포함하는 URL(Uniform Resource Locator)로 표시되는,
    중계 방법.
  4. 제 3 항에 있어서,
    상기 서비스 요청을 상기 하위 서버로 전송하는 단계는,
    상기 URL을 상기 하위 서버에 대한 접속 정보를 이용하여 재구성하는 단계를 포함하는,
    중계 방법.
  5. 제 2 항에 있어서,
    상기 하위 서버는,
    통신 디바이스에 의해 운영되는 서버인,
    중계 방법.
  6. 제 5 항에 있어서,
    상기 통신 디바이스가 무선의 통신 단말일 때, 상기 접속 정보는 상기 통신 단말의 단말번호에 기초하는,
    중계 방법.
  7. 제 2 항에 있어서,
    상기 하위 서버는,
    레스트펄(Restful) API 서버인,
    중계 방법.
  8. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은,
    제 1 항 내지 제 7 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 프로그램.
  9. 클라이언트의 하위 서버에 대한 서비스 요청을 중계하는 관리 서버로서,
    상기 하위 서버에 대한 접속 정보를 관리하는 모듈과,
    데이터베이스와,
    상기 하위 서버를 중계하는 모듈을 포함하고,
    상기 접속 정보를 관리하는 모듈은,
    상기 하위 서버로부터 접속 정보를 포함하는 등록 요청을 수신하고,
    상기 접속 정보에 대응되고, 상기 하위 서버를 다른 하위 서버와 구분하기 위한 구분자 정보를 생성하며,
    상기 접속 정보와 상기 구분자 정보를 매칭시켜 상기 데이터베이스에 저장하고,
    상기 하위 서버를 중계하는 모듈은,
    상기 클라이언트로부터, 상기 하위 서버에 대한 상기 서비스 요청이 수신되면,
    상기 서비스 요청으로부터 상기 하위 서버를 상기 다른 하위 서버와 구분하기 위한 구분자 정보를 추출하고,
    상기 추출된 구분자 정보를 이용하여 상기 데이터베이스에 저장된 접속 정보 중에서 상기 추출된 구분자 정보에 대응되는 상기 접속 정보를 획득하며,
    상기 획득된 접속 정보를 이용하여 상기 서비스 요청을 상기 하위 서버로 전송하고,
    상기 하위 서버로부터 수신되는 상기 서비스 요청에 대한 응답을 상기 클라이언트에게 전송하는
    관리 서버.
  10. 삭제
KR1020150146457A 2015-10-21 2015-10-21 하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버 KR102224666B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150146457A KR102224666B1 (ko) 2015-10-21 2015-10-21 하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150146457A KR102224666B1 (ko) 2015-10-21 2015-10-21 하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버

Publications (2)

Publication Number Publication Date
KR20170046308A KR20170046308A (ko) 2017-05-02
KR102224666B1 true KR102224666B1 (ko) 2021-03-08

Family

ID=58742963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150146457A KR102224666B1 (ko) 2015-10-21 2015-10-21 하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버

Country Status (1)

Country Link
KR (1) KR102224666B1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101049635B1 (ko) * 2003-12-30 2011-07-14 주식회사 케이티 공중 무선랜과 기업 무선랜간의 로밍 서비스 제공 방법
KR100530459B1 (ko) 2004-08-18 2005-11-22 한국인터넷진흥원 콘텐츠 접속번호를 이용한 무선 인터넷 콘텐츠 접속 시스템 및 그 제어방법
KR100818200B1 (ko) * 2006-09-15 2008-03-31 조관현 도메인 네임서버(dns)를 기반으로 한 키워드 인터넷접속 방법 및 그 시스템
KR20080029208A (ko) * 2006-09-28 2008-04-03 (주)플래니모 데이터통신망을 통한 정보 등록 및 제공 시스템
KR101006484B1 (ko) * 2008-05-09 2011-01-06 (주)유비랩아이앤씨 데이터 송수신 시스템
KR20130047776A (ko) 2011-10-20 2013-05-09 이재천 도메인 독립형 개별공사용 웹사이트 및 자동생성기와 이를 이용한 그룹 시스템
KR20140016545A (ko) * 2012-07-30 2014-02-10 주식회사 유라이프소프트 다운로드 컨텐츠 중계 시스템 및 그 제공방법

Also Published As

Publication number Publication date
KR20170046308A (ko) 2017-05-02

Similar Documents

Publication Publication Date Title
US9813515B2 (en) Systems and methods for caching content with notification-based invalidation with extension to clients
US10404820B2 (en) Systems and methods for controlling cacheability and privacy of objects
EP3053323B1 (en) Systems and methods for caching content with notification-based invalidation
CN102301677B (zh) 用于全局服务器负载平衡站点持续的系统和方法
CN109218368B (zh) 实现Http反向代理的方法、装置、电子设备和可读介质
CN103503420B (zh) 使用http协议对设备内容及配置进行远程访问及管理
US20140351413A1 (en) Selecting between domain name system servers of a plurality of networks
US20140280963A1 (en) Selection of service nodes for provision of services
US20120290724A1 (en) System and method for network redirection
WO2016209637A1 (en) Techniques for managing privacy of a network communication
US11038858B2 (en) Edge encryption with metadata
CN104205773A (zh) 系统资产储存库管理
CN104145261A (zh) 使用发布订阅模型的身份提供者发现服务
CN108063833B (zh) Http dns解析报文处理方法及装置
US10122828B1 (en) Geographic-aware virtual desktops
CN105407068B (zh) 网络数据获取方法、装置和系统
US9641611B2 (en) Logical interface encoding
JP6264625B2 (ja) 情報機器特定システム、情報機器特定方法、およびプログラム
CN109379438A (zh) 代理关系配置方法及装置
CN106453399B (zh) 一种面向用户隐私保护的域名解析服务方法和系统
CN106685979B (zh) 基于STiP模型的安全终端标识及认证方法及系统
KR102224666B1 (ko) 하위 서버에 대한 접속 정보를 관리하고 중계하는 방법 및 이를 위한 서버
CN104184821A (zh) 基于推送通知的会话及终端应答反馈的方法和装置
CN204168327U (zh) 网络数据获取系统
CN104993935A (zh) 网络威胁提示方法、设备和系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant