KR20130084462A - 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법 - Google Patents

서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법 Download PDF

Info

Publication number
KR20130084462A
KR20130084462A KR1020120005265A KR20120005265A KR20130084462A KR 20130084462 A KR20130084462 A KR 20130084462A KR 1020120005265 A KR1020120005265 A KR 1020120005265A KR 20120005265 A KR20120005265 A KR 20120005265A KR 20130084462 A KR20130084462 A KR 20130084462A
Authority
KR
South Korea
Prior art keywords
server
information
service
broker
module
Prior art date
Application number
KR1020120005265A
Other languages
English (en)
Other versions
KR101857020B1 (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 KR1020120005265A priority Critical patent/KR101857020B1/ko
Priority to PCT/KR2013/000093 priority patent/WO2013109012A1/en
Priority to US13/744,150 priority patent/US9774701B2/en
Publication of KR20130084462A publication Critical patent/KR20130084462A/ko
Application granted granted Critical
Publication of KR101857020B1 publication Critical patent/KR101857020B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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/562Brokering proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은, 클라우드 시스템(cloud system)을 이용하는 단말기의 동작 방법에 있어서, 적어도 하나의 브로커(broker)로, 특정 서비스를 제공하는 서버의 정보를 요청하는 과정; 상기 브로커로부터 상기 서버의 정보를 수신하는 과정; 및 상기 서버의 정보를 이용하여, 상기 서버로 상기 특정 서비스를 요청하는 과정을 포함하는 것을 그 구성상의 특징으로 하는 클라우드 시스템에서 제공되는 서비스를 관리하기 위한 단말기의 방법에 관한 것이다.

Description

서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법{APPARATAS AND METHOD FOR MANAGING SERVICE OF PROVIDING SERVER IN A TERMINAL}
본 발명은 클라우드 시스템에 관한 것이다.
클라우드 컴퓨팅(cloud computing) 기술이 발전하면서, 로컬에서 서버로 서버로부터 로컬로 파일을 각각 저장 및 수신할 수 있게 되었다. 예를 들면, 로컬에 있는 다양한 대용량의 파일을 사용자가 로컬에서 개별적으로 관리 및 저장할 필요없이, 클라우드 시스템을 이용하여 로컬에서 서버로 저장하고, 필요한 경우 다시 서버에 저장되어 있는 파일을 전송받을 수 있다. 또한, 서버에서는 기존의 서비스 뿐만 아니라 새로운 서비스를 등록시켜 다양한 서비스를 로컬로 제공할 수 있게 되었다.
그러나, 종래에는 새로운 서비스를 추가하기 위해서는 다시 새로운 모듈을 제작하여야 했고, 추가된 서비스를 로컬로 제공하기 위해서 제작된 모듈을 다시 수동적으로 연결해야 했다. 즉, 새로운 서비스를 추가하기 위하여 제작된 모듈을 로컬 및 서버에 다시 수동적으로 연결해야 하는 문제점이 있었다. 이러한 문제점은 새로운 서비스를 추가하는 경우 뿐만 아니라 유사한 서비스를 추가하는 경우에도 발생되는 문제점이 있었다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 클라이언트에서는 서버에서 제공되는 서비스에 관한 정보를 브로커(broker)를 통하여 알 수 있어, 서버의 부하를 줄일 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은, 클라이언트, 브로커 및 서버에 사용되는 통신 프로토콜을 일치시켜 새로운 서비스가 추가되는 경우에도 기존에 사용되던 시스템을 크게 변경하지 않아도 되어 사용자의 편의성을 향상시켜줄 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 또 다른 목적은, 브로커 및 서버에 사용되는 통신 모듈을 일치시켜 새로운 서비스가 추가되는 경우에도 통신에 대한 추가 작업을 줄일 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 서버에서 제공되는 서비스를 관리하기 위한 단말기의 방법은, 단말기의 동작 방법에 있어서, 적어도 하나의 브로커(broker)로, 특정 서비스를 제공하는 서버의 정보를 요청하는 과정; 상기 브로커로부터 상기 서버의 정보를 수신하는 과정; 및 상기 서버의 정보를 이용하여, 상기 서버로 상기 특정 서비스를 요청하는 과정을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜(comunication protocol)을 사용할 수 있다.
바람직하게는, 상기 브로커 및 상기 서버는, 동일한 통신 모듈(comunication module)을 사용할 수 있다.
바람직하게는, 상기 브로커는, 상기 서버 내에 위치하거나 상기 서버 밖에 위치하여, 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈의 위치정보 및 해당 서비스 정보를 저장할 수 있다.
바람직하게는, 상기 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보일 수 있다.
바람직하게는, 상기 적어도 하나의 브로커(broker)로, 특정 서비스를 제공하는 서버의 정보 요청하는 과정은, 상기 서버 내에 위치하여 각각 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈 중, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보를 요청하는 과정일 수 있다.
바람직하게는, 상기 위치정보는, 상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 해당 서비스 정보는, 상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 서버로부터 상기 특정 서비스를 수신하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 특정 서비스를 요청하기 위하여, 상기 서버에 접속을 시도하는 과정; 및 상기 서버와의 접속 여부를 확인하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 설정된 시간 동안 상기 서버에 접속을 시도하는 과정; 상기 설정된 시간 동안 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 상기 적어도 하나의 브로커로 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청하는 과정; 및 상기 브로커로부터 상기 변경된 서버의 정보를 수신하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 변경된 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보일 수 있다.
바람직하게는, 상기 변경된 위치정보는, 상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 서버에서 제공되는 서비스를 관리하기 위한 브로커의 방법은, 브로커의 동작 방법에 있어서, 단말기로부터 특정 서비스를 제공하는 서버의 정보를 요청받는 과정; 및 상기 단말기로 상기 서버의 정보를 송신하는 과정을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용할 수 있다.
바람직하게는, 상기 브로커 및 상기 서버는, 동일 통신 모듈을 사용할 수 있다.
바람직하게는, 상기 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보일 수 있다.
바람직하게는, 상기 서버로부터 적어도 하나 이상의 서비스 모듈의 등록을 요청받는 과정; 상기 요청받은 서비스 모듈이 등록되어 있는지 판단하는 과정; 상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 아이디(Identification Number)를 부여하는 과정; 및 상기 아이디를 저장하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 아이디에는, 상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함될 수 있다.
바람직하게는, 상기 위치정보는, 상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 해당 서비스 정보는, 상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 단말기로부터 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청받는 과정; 및 상기 단말기로 상기 변경된 서버의 정보를 송신하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 서버로부터 변경된 서버의 정보의 등록을 요청받는 과정; 상기 요청받은 서비스 모듈이 등록되어 있는지 판단하는 과정; 상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 새로운 아이디(Identification Number)를 부여하는 과정; 및 상기 아이디를 저장하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 변경된 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보일 수 있다.
바람직하게는, 상기 변경된 위치정보는, 상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 서버에서 제공되는 서비스를 관리하기 위한 서버의 방법은, 서버의 동작 방법에 있어서, 적어도 하나의 브로커로, 상기 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하는 과정; 단말기로부터 상기 특정 서비스의 제공을 요청받는 과정; 및 상기 단말기로 상기 특정 서비스를 제공하는 과정을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용할 수 있다.
바람직하게는, 상기 브로커 및 상기 서버는, 동일한 통신 모듈을 사용할 수 있다.
바람직하게는, 상기 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보일 수 있다.
바람직하게는, 상기 적어도 하나의 브로커로, 상기 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하는 과정은, 상기 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청하는 과정; 상기 브로커로부터 상기 각각의 서비스 모듈마다 아이디를 부여받는 과정을 포함할 수 있다.
바람직하게는, 상기 아이디에는, 상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함될 수 있다.
바람직하게는, 상기 위치정보는, 상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 해당 서비스 정보는, 상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치는, 단말기의 장치에 있어서, 적어도 하나의 브로커(broker)로 특정 서비스를 제공하는 서버의 정보를 요청하고, 상기 브로커로부터 상기 서버의 정보를 수신하여, 상기 서버로 상기 특정 서비스를 요청하는 통신모듈; 및 상기 단말기의 전반적인 동작을 제어하는 제어부를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜(comunication protocol)을 사용할 수 있다.
바람직하게는, 상기 브로커 및 상기 서버는, 동일한 통신 모듈(comunication module)을 사용할 수 있다.
바람직하게는, 상기 브로커는, 상기 서버 내에 위치하거나 상기 서버 밖에 위치하여, 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈의 위치정보 및 해당 서비스 정보를 저장할 수 있다.
바람직하게는, 상기 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보일 수 있다.
바람직하게는, 상기 통신모듈은, 상기 서버 내에 위치하여 각각 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈 중, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보를 요청할 수 있다.
바람직하게는, 상기 위치정보는, 상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 해당 서비스 정보는, 상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 통신모듈은, 상기 서버로부터 상기 특정 서비스를 수신할 수 있다.
바람직하게는, 상기 통신모듈은, 상기 특정 서비스를 요청하기 위하여, 상기 서버에 접속을 시도하고, 상기 제어부는, 상기 서버와의 접속 여부를 확인할 수 있다.
바람직하게는, 상기 통신모듈은, 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 설정된 시간 동안 상기 서버에 접속을 시도하고, 상기 설정된 시간 동안 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 상기 적어도 하나의 브로커로 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청하며, 상기 브로커로부터 상기 변경된 서버의 정보를 수신할 수 있다.
바람직하게는, 상기 변경된 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보일 수 있다.
바람직하게는, 상기 변경된 위치정보는, 상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 서버에서 제공되는 서비스를 관리하기 위한 브로커의 장치는, 브로커의 장치에 있어서, 단말기로부터 특정 서비스를 제공하는 서버의 정보를 요청받아, 상기 단말기로 상기 서버의 정보를 송신하는 통신모듈; 및 상기 브로커의 전반적인 동작을 제어하는 제어부를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용할 수 있다.
바람직하게는, 상기 브로커 및 상기 서버는, 동일 통신 모듈을 사용할 수 있다.
바람직하게는, 상기 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보일 수 있다.
바람직하게는, 상기 통신모듈은, 상기 서버로부터 적어도 하나 이상의 서비스 모듈의 등록을 요청받고, 상기 제어부는, 상기 요청받은 서비스 모듈이 등록되어 있는지 판단하여, 상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 아이디(Identification Number)를 부여하고, 상기 아이디를 저장하는 저장부를 더 포함할 수 있다.
바람직하게는, 상기 아이디에는, 상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함될 수 있다.
바람직하게는, 상기 위치정보는, 상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 해당 서비스 정보는, 상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 통신모듈은, 상기 단말기로부터 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청받아, 상기 단말기로 상기 변경된 서버의 정보를 송신할 수 있다.
바람직하게는, 상기 통신모듈은, 상기 서버로부터 변경된 서버의 정보의 등록을 요청받아, 상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 새로운 아이디(Identification Number)를 부여하고, 상기 아이디를 저장하는 저장부를 더 포함할 수 있다.
바람직하게는, 상기 변경된 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보일 수 있다.
바람직하게는, 상기 변경된 위치정보는, 상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 서버에서 제공되는 서비스를 관리하기 위한 서버의 장치는, 서버의 장치에 있어서, 적어도 하나의 브로커로, 상기 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하고, 단말기로부터 상기 특정 서비스의 제공을 요청받아, 상기 단말기로 상기 특정 서비스를 제공하는 통신모듈; 및 상기 서버의 전반적인 동작을 제어하는 제어부를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용할 수 있다.
바람직하게는, 상기 브로커 및 상기 서버는, 동일한 통신 모듈을 사용할 수 있다.
바람직하게는, 상기 서버의 정보는, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보일 수 있다.
바람직하게는, 상기 통신모듈은, 상기 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청하여, 상기 브로커로부터 상기 각각의 서비스 모듈마다 아이디를 부여받을 수 있다.
바람직하게는, 상기 아이디에는, 상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함될 수 있다.
바람직하게는, 상기 위치정보는, 상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 해당 서비스 정보는, 상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함할 수 있다.
본 발명의 웹 또는 클라우드 시스템에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법에 따르면, 클라이언트, 브로커 및 서버에 사용되는 통신 프로토콜을 일치시켜 새로운 서비스가 추가되는 경우에도 기존에 사용되던 시스템을 크게 변경하지 않아도 되어 사용자의 편의성을 향상시켜줄 수 있는 효과가 있다.
도 1은 본 발명에 따른 단말기, 브로커 및 서버의 전체적인 구성의 일 실시예를 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 서버에서 제공되는 서비스를 관리하기 위한 클라이언트의 동작 방법을 나타낸 순서도.
도 3은 본 발명의 일 실시예에 따른 서버에서 제공되는 서비스를 관리하기 위한 브로커의 동작 방법을 나타낸 순서도.
도 4는 본 발명의 일 실시예에 따른 서버의 동작 방법을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 클라이언트, 브로커 및 서버의 전체적인 동작순서를 도시한 흐름도.
도 6은 본 발명의 일 실시예에 따른 단말기(클라이언트)의 구성을 도시한 블록.
도 7은 본 발명의 일 실시예에 따른 브로커의 구성을 도시한 블록도.
도 8은 본 발명의 일 실시예에 따른 서버의 구성을 도시한 블록도.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
도 1은 본 발명에 따른 단말기, 브로커 및 서버의 전체적인 구성의 일 실시예를 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명은 서버(server, 101), 브로커(broker, 102) 및 클라이언트(client, 103)로 구성될 수 있다.
서버(101)는 웹 또는 클라우드 시스템에 있어서, 클라이언트(103)로 다양한 서비스를 제공해주는 역할을 한다. 보다 구체적으로는, 서버(101)에 사업자가 제공한 적어도 하나 이상의 여러 서비스를 저장하여, 클라이언트(103)로부터 특정 서비스의 요청을 받은 경우에 해당 서비스를 클라이언트(103)로 제공해준다. 본 발명의 서버(101)에는 사업자가 제공한 각각의 서비스를 개별적으로 동작시킬 수 있는 적어도 하나 이상의 서비스 모듈이 저장되어 있다. 즉, 각각의 서비스를 개별적으로 모듈화하여 클라이언트(103)로부터 서비스 제공의 요청을 받으면, 요청받은 서비스 모듈이 개별적으로 동작하여 클라이언트(103)로 해당 서비스를 제공한다.
후술하겠지만 본 발명의 특징으로는 서버(101)와 클라이언트(103) 사이에 브로커(102)를 두어, 서버에 걸리는 부하를 줄일 수 있다. 즉, 종래에는 서버와 클라이언트 사이의 통신으로 특정 파일이나 특정 정보를 송수신하였지만, 본 발명에서는 브로커(102)라는 매개체를 서버(101) 안에 또는 서버(101) 밖에 두어 서버(101) 걸리는 부하를 줄일 수 있는 효과가 있다. 보다 구체적으로는, 서버(101)에 저장되어 있는 각각의 서비스 모듈에 대하여 서버(101)가 브로커(102)로 등록을 요청하면, 브로커(102)에서는 서버(101)가 요청한 적어도 하나 이상의 서비스 모듈이 기 저장되어 있는지 판단하여, 만약 저장되어 있지 않은 서비스 모듈이라고 판단되면, 해당 서비스 모듈에 대하여 아이디를 부여한다. 즉, 해당 아이디에는 각각의 서비스 모듈의 위치정보와 서비스 정보가 포함되어 있어, 클라이언트(103)에서는 제공받기 원하는 서비스 모듈의 위치정보와 서비스 정보를 서버(101)가 아닌 브로커(102)를 통하여 특정 서비스를 제공하는 서버의 정보를 수신할 수 있다. 따라서, 클라이언트(103)에서는 적어도 하나 이상의 브로커(102)를 통하여 특정 서비스를 제공하는 서버의 정보를 수신할 수 있어 서버(101)에 걸리는 부하를 줄일 수 있는 것이다.
여기서, 서버의 정보란 특정 서비스 모듈의 위치정보와 서비스 정보를 포함하는 개념이다. 즉, 서버(101)에 저장되어 있는 적어도 하나 이상의 각각의 서비스 모듈의 개별적인 위치정보와 개별적인 서비스 정보를 포함하는 의미로 정의된다. 따라서, 본 발명에서는 클라이언트(103)가 특정 서비스를 서버(101)로부터 제공받기 위해서는 먼저 브로커(102)에 접속하여 브로커(102)로부터 관심 서비스에 대한 위치정보 및 서비스 정보를 수신하여야 한다. 상술한 서버의 정보 중 위치정보란 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함하는 것을 정의된다. 즉, 서버(101)에 저장되어 있는 여러 서비스 모듈 중에서 클라이언트(103)가 원하는 서비스 모듈의 포트 정보 및 풀 유알엘 정보는 다를 수 있음으로, 클라이언트(103)에서는 각각의 정보를 브로커(102)로부터 수신받아야 해당 서비스 모듈에 접속할 수 있는 것이다. 상술한 서버의 정보 중 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 등을 포함하는 의미로 정의된다. 즉, 클라이언트(103)가 선택한 서비스 모듈에 세부적인 사항이 포함되어 있어, 클라이언트(103)에서는 브로커(102)로부터 해당 서비스 정보를 수신받아, 보다 상세히 해당 서비스의 내용을 확인할 수 있다.
브로커(102)는 특정 서비스를 제공하는 적어도 하나 이상의 서버의 정보를 저장하여, 클라이언트(103)로부터 특정 서버의 정보를 요청받을 시, 요청받은 서버의 정보를 클라이언트(103)로 송신해주는 역할을 한다. 보다 구체적으로는, 서버(101)에 저장되어 있는 각각의 서비스 모듈에 대하여 서버(101)로부터 브로커(102)가 등록을 요청받으면, 브로커(102)에서는 서버(101)가 요청한 적어도 하나 이상의 서비스 모듈이 기 저장되어 있는지 판단하여, 만약 저장되어 있지 않은 서비스 모듈이라고 판단되면, 해당 서비스 모듈에 대하여 각각 아이디를 부여한다. 즉, 해당 아이디에는 각각의 서비스 모듈의 위치정보와 서비스 정보가 포함되어 있어, 클라이언트(103)에서는 제공받기 원하는 서비스 모듈의 위치정보와 서비스 정보를 서버(101)가 아닌 브로커(102)를 통하여 특정 서비스를 제공하는 서버의 정보를 수신할 수 있다. 따라서, 클라이언트(103)에서는 적어도 하나 이상의 브로커(102)를 통하여 특정 서비스를 제공하는 서버의 정보를 수신할 수 있어 서버(101)에 걸리는 부하를 줄일 수 있는 것이다.
만약, 서버의 정보가 변경되는 경우가 발생 되면, 브로커(102)는 서버(101)로 변경된 서버의 정보가 포함된 새로운 아이디를 다시 부여하여야 한다. 예를 들면, 서비스 제공자가 특정 서비스의 제공을 중단한 경우, 서비스 제공자의 변경이 있는 경우 및 서버(101)의 물리적인 위치가 변경되는 경우 등에는 서버의 정보가 변경될 수 있다. 따라서, 클라이언트(103)에서 최초 제공받았던 서비스를 일시적으로 중단한 후, 이후 중단한 서비스를 계속 제공받기 위해서는 변경된 서비스 모듈의 위치정보를 브로커(102)로부터 수신하여야 함은 물론이다.
클라이언트(103)는 브로커(102)로부터 특정 서비스를 제공하는 서버의 정보를 수신하여, 수신한 서버의 정보를 이용하여 서버(101)에 위치한 특정 서비스 모듈로 접속하여 해당 서비스를 제공받는 역할을 한다. 보다 구체적으로는, 본 발명의 클라이언트(103)에서는 최초 브로커(102)에 접속하여 브로커(102)에 저장되어 있는 서버의 정보를 수신받아야 한다. 즉, 클라이언트(103)에서는 브로커(102)로부터 수신받은 서버의 정보를 이용하여 서버에 저장되어 있는 여러 서비스 모듈 중 클라이언트(103)가 원하는 특정 서비스 모듈에 접속할 수 있는 것이다. 따라서, 클라이언트(103)에서는 적어도 하나 이상의 브로커(102)를 통하여 특정 서비스를 제공하는 서버의 정보를 수신할 수 있어 서버(101)에 걸리는 부하를 줄일 수 있는 것이다.
본 발명에서는 서버(101), 브로커(102) 및 클라이언트(103) 사이에는 동일한 통신 프로토콜(comunication protocol)을 사용한다. 보다 구체적으로는, 종래에는 새로운 서비스를 추가하기 위해서는 다시 새로운 모듈을 제작하여야 했고, 추가된 서비스를 클라이언트로 제공하기 위해서 제작된 모듈을 다시 수동적으로 연결해야 했다. 즉, 새로운 서비스를 추가하기 위하여 제작된 모듈을 클라이언트 및 서버에 다시 수동적으로 연결해야 하는 문제점이 있었다. 이러한 문제점은 새로운 서비스를 추가하는 경우 뿐만 아니라 유사한 서비스를 추가하는 경우에도 마찬가지였다. 그러나, 본 발명에서는 상술한 바와 같이, 클라이언트(103), 브로커(102) 및 서버(101)에 사용되는 통신 프로토콜을 일치시켜 새로운 서비스가 추가되는 경우에도 기존에 사용되던 시스템을 크게 변경하지 않아도 되어 사용자의 편의성을 향상시켜주는 장점이 있다. 또한, 브로커(102) 및 서버(101)에 사용되는 통신 모듈을 일치시켜 새로운 서비스가 추가되는 경우에도 통신에 대한 추가 작업을 줄일 수 있는 장점이 있다. 보다 구체적으로는, 서버(101)에 위치한 각각의 서비스 모듈과 서버 내에 또는 서버 밖에 위치한 브로커(102)의 통신모듈에는 IPC(Inter-Process Communication)모듈 및 RPC(Remote Procedure Call)모듈로 구성되어 있는데, IPC 모듈은 같은 서버 내에 위치한 서비스 모듈 간의 통신 및 서비스 모듈과 브로커(102)의 통신에 이용된다. 반면, RPC 모듈은 브로커가 서버 밖에 위치한 경우에 브로커와 서비스 모듈 간의 통신이 이용된다.
도 2는 본 발명의 일 실시예에 따른 서버에서 제공되는 서비스를 관리하기 위한 클라이언트의 동작 방법을 나타낸 순서도이다. 도 2에 도시된 바와 같이, 먼저 클라이언트는 적어도 하나의 브로커로 특정 서비스를 제공하는 서버의 정보를 요청한다(201). 보다 구체적으로, 클라이언트가 서버에 저장되어 있는 특정 서비스를 제공받기 위해서는 브로커로부터 서버의 정보를 요청하여야 한다. 즉, 종래에는 클라이언트에서 직접 서버로 접속하여 서버에 저장되어 있는 특정 서비스를 서버로부터 제공받았지만, 본 발명에서는 서버에서 제공하는 특정 서버에 관한 정보는 브로커에 저장되어 있다. 따라서, 클라이언트는 서버에 접속하기 위해서는 브로커에 먼저 접속하여 관심있는 서버의 정보를 브로커로 요청하여야 한다. 여기서, 서버의 정보란 특정 서비스 모듈의 위치정보와 서비스 정보를 포함하는 개념이다. 즉, 서버에 저장되어 있는 적어도 하나 이상의 각각의 서비스 모듈의 개별적인 위치정보와 개별적인 서비스 정보를 포함하는 의미로 정의된다. 상술한 서버의 정보 중 위치정보란 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함하는 것을 정의된다. 또한, 상술한 서버의 정보 중 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 등을 포함하는 의미로 정의된다.
적어도 하나의 브로커로 특정 서비스를 제공하는 서버의 정보를 요청한 클라이언트는 브로커로부터 서버의 정보를 수신한다(202). 상술한 바와 같이, 클라이언트가 서버로부터 특정 서비스를 제공받기 위해서는 브로커로부터 브로커에 저장된 해당 서버의 정보를 수신하여야 한다. 따라서, 본 발명에서는 클라이언트가 서버에 바로 접속하지 않고, 특정 서버에 관한 정보를 브로커를 통하여 수신하기 때문에 종래의 기술과 비교하여 서버의 부하를 줄여줄 수 있는 장점이 있다.
클라이언트가 브로커로부터 서버의 정보를 수신하였으면, 클라이언트는 서버로 특정 서비스를 요청하여 서버로부터 특정 서비스를 제공받는다(203). 보다 구체적으로는, 클라이언트는 브로커에 요청한 특정 서버에 관한 정보 중 서비스 정보를 수신받아 해당 서비스에 대한 세부적인 내용을 확인할 수 있고, 또한 특정 서버에 관한 정보 중 위치정보를 수신받아 해당 서비스를 제공하는 서비스 모듈에 접속하여 특정 서비스를 제공을 수 있다.
이하, 클라이언트가 특정 서비스를 제공받기 위해 다시 서버에 접속한 경우를 가정해 보자(204). 예를 들면, 클라이언트가 특정 서비스를 제공받은 후 일시적으로 서비스를 중단하고 이후 다시 서버에 접속한 경우일 수도 있고, 다시 특정 서비스를 제공받기 위하여 서버에 접속한 경우일 수도 있다.
클라이언트에서 특정 서비스를 제공받기 위하여 다시 서버에 접속한 경우, 클라이언트는 서버에 접속되어 있는 판단한다(205). 상술한 판단과정을 거치는 이유는 해당 서비스를 제공하는 서버의 정보가 변경되었는지 판단하기 위함이다. 즉, 클라이언트에서 서버로 접속을 시도할 때, 만약 서버로의 접속이 이루어지지 않을 때 단순히 통신상의 장애인지 서버의 정보가 변경되었는지 판단하기 위함이다. 예를 들면, 해당 서비스를 제공하는 서비스 제공자가 서버스의 제공을 중단할 수도 있고, 서비스의 제공자가 변경될 수도 있으며, 서버의 물리적인 위치가 변경된 경우에는 클라이언트에서 서버로의 접속이 이루어지지 않는다.
클라이언트에서 서버로의 접속을 시도하여 서버로의 접속이 이루어지지 않았다고 판단되면 클라이언트는 브로커에 접속하여 변경된 서버의 정보를 수신한다(206). 보다 구체적으로는, 클라이언트에서 서버로 다시 접속을 시도할 때 사용자에 의하여 설정된 시간 동안 클라이언트에서 서버로의 접속을 계속 시도한다. 즉, 클라이언트와 서버가 서로 통신을 할 수 없는 이유가 단순히 통신상의 문제인지를 판단하기 위하여 기 설정된 시간 동안 클라이언트는 서버로 접속을 시도하게 된다. 만약, 설정된 시간 동안 클라이언트에서 서버로의 접속을 시도하여 접속이 이루어지지 않으면, 클라이언트에서는 서버의 정보가 변경되었다고 판단한다. 따라서, 클라이언트에서는 변경된 서버의 정보를 얻기 위하여 브로커에 접속하여 브로커로부터 변경된 서버의 정보를 수신한다. 여기서, 변경된 서버의 정보란, 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보를 지칭한다. 즉, 변경된 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것으로 정의된다.
클라이언트가 브로커에 접속하여 변경된 서버의 정보를 수신하였으면, 서버에 접속하여 서버로부터 특정 서비스를 계속 제공받을 수 있다(207).
만약, 상술한 과정(205)에서 클라이언트가 서버에 접속되어 있다고 판단되면, 서버의 정보가 변경되지 않은 것으로 단말기는 기존의 서버의 정보를 이용하여 서버로부터 특정 서비스를 계속 제공받을 수 있음은 물론이다.
도 3은 본 발명의 일 실시예에 따른 서버에서 제공되는 서비스를 관리하기 위한 브로커의 동작 방법을 나타낸 순서도이다. 도 3에 도시된 바와 같이, 먼저 브로커는 서버로부터 적어도 하나의 서비스 모듈의 등록을 요청받는다(301). 보다 구체적으로, 클라이언트가 서버로부터 특정 서비스를 제공받기 위해서는 브로커로부터 서버의 정보를 수신하여야 한다. 따라서, 브로커는 서버로부터 적어도 하나의 서비스 모듈을 등록받는다.
브로커가 서버로부터 적어도 하나의 서비스 모듈의 등록을 요청받은 후, 브로커는 각각의 서비스 모듈마다 아이디를 부여하고, 부여한 아이디를 저장한다(302). 보다 구체적으로는, 브로커가 서버로부터 적어도 하나의 서비스 모듈의 등록을 요청받으면, 요청받은 서비스 모듈이 브로커에 기 저장되어 있는지 판단한다. 브로커에서 서버로부터 요청받은 적어도 하나의 서비스 모듈이 브로커에 기 저장되어 있지 않다고 판단되면, 브로커는 각각의 서비스 모듈마다 아이디를 부여하고, 부여한 아이디를 저장한다. 여기서, 브로커가 서버로 각각의 서비스 모듈마다 부여한 아이디에는 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함되어 있다. 서비스 모듈의 위치정보는 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하며, 서비스 모듈의 해당 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함한다.
이후, 브로커는 클라이언트로부터 특정 서비스를 제공하는 서버의 정보를 요청받는다(303). 보다 구체적으로는, 클라이언트가 서버로부터 특정 서비스를 제공받기 위해서는 해당 서비스 모듈의 위치정보를 알아야 한다. 따라서, 클라이언트는 브로커로 특정 서비스 모듈의 위치정보 및 서비스 정보가 포함된 서버의 정보를 요청한다. 즉, 본 발명에서는 브로커가 클라이언트로 특정 서비스를 제공하는 서버의 정보를 송신하여 서버에 걸리는 부하를 줄일 수 있다.
브로커가 클라이언트로부터 특정 서비스를 제공하는 서버의 정보를 요청받으면, 브로커는 클라이언트로 특정 서비스를 제공하는 서버의 정보를 송신한다(304). 여기서, 서버의 정보란 특정 서비스 모듈의 위치정보와 서비스 정보를 포함하는 개념이다. 즉, 서버에 저장되어 있는 적어도 하나 이상의 각각의 서비스 모듈의 개별적인 위치정보와 개별적인 서비스 정보를 포함하는 의미로 정의된다. 따라서, 본 발명에서는 클라이언트가 특정 서비스를 서버로부터 제공받기 위해서는 먼저 브로커에 접속하여 브로커로부터 관심 서비스에 대한 위치정보 및 서비스 정보를 수신하여야 한다. 상술한 서버의 정보 중 위치정보란 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 정의된다. 즉, 서버에 저장되어 있는 여러 서비스 모듈 중에서 클라이언트가 원하는 서비스 모듈의 포트 정보 및 풀 유알엘 정보는 다를 수 있음으로, 클라이언트에서는 각각의 정보를 브로커로부터 수신받아야 해당 서비스 모듈에 접속할 수 있는 것이다. 상술한 서버의 정보 중 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 등을 포함하는 의미로 정의된다. 즉, 클라이언트가 선택한 서비스 모듈에 세부적인 사항이 포함되어 있어, 클라이언트에서는 브로커로부터 해당 서비스 정보를 수신받아, 보다 상세히 해당 서비스의 내용을 확인할 수 있다.
만약, 서버의 정보가 변경된 경우에는 브로커는 서버로부터 변경된 적어도 하나의 서비스 모듈의 등록을 요청받는다(305). 보다 구체적으로는, 서버의 정보가 변경된 경우에는 클라이언트에서는 종전의 서버의 정보로는 변경된 서비스 모듈로 접속하여 서비스를 제공받을 수 없다. 서버의 정보가 변경되는 예로는, 해당 서비스를 제공하는 서비스 제공자가 서버스의 제공을 중단할 수도 있고, 서비스의 제공자가 변경될 수도 있으며, 서버의 물리적인 위치가 변경된 경우를 들 수 있다. 여기서, 변경된 서버의 정보란, 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보를 지칭한다. 즉, 변경된 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것으로 정의된다.
브로커가 서버로부터 변경된 적어도 하나의 서비스 모듈의 등록을 요청받은 후, 브로커는 각각의 서비스 모듈마다 아이디를 부여하고, 부여한 아이디를 저장한다(306). 여기서, 브로커가 서버로 각각의 서비스 모듈마다 새롭게 부여한 아이디에는 각각의 서비스 모듈의 변경된 위치정보 및 해당 서비스 정보가 포함되어 있다. 서비스 모듈의 위치정보는 서비스 모듈의 변경된 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하며, 서비스 모듈의 해당 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함한다.
이후, 브로커는 클라이언트로부터 변경된 서버의 정보를 요청받아, 클라이언트로 변경된 서버의 정보를 송신한다(307). 따라서, 클라이언트에서는 서버의 변경된 정보를 수신하여, 해당 서비스 모듈의 변경된 위치정보를 이용하여 종전과 같이 계속 서비스 모듈로부터 서비스를 제공받을 수 있다.
도 4는 본 발명의 일 실시예에 따른 서버의 동작 방법을 나타낸 순서도이다. 도 4에 도시된 바와 같이, 먼저 서버는 적어도 하나의 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청한다(401). 본 발명에서 클라이언트가 서버로부터 특정 서비스를 제공받기 위해서는 브로커로부터 서버의 정보를 수신하여야 한다. 따라서, 서버는 브로커로 서버가 제공하는 서비스 모듈의 정보가 포함된 서버의 정보를 등록받아야 한다. 즉, 상술한 과정은 서버에서 클라이언트로 적어도 하나의 서비스를 제공하기 위한 전제조건이 된다.
서버가 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청한 후, 서버는 브로커로부터 각각의 서비스 모듈마다 아이디를 부여받는다(402). 보다 구체적으로는, 서버가 브로커로 각각의 서비스 모듈마다 아이디를 부여받는 이유는 상술한 바와 같이 클라이언트가 해당 서버의 정보를 수신할 수 있도록 하기 위함이고, 또한 사업자가 서비스 모듈을 변경하고자 할 때, 해당 아이디를 이용하여 브로커에 저장된 서비스 모듈의 내용을 변경하기 위함이다.
이후, 서버는 클라이언트로부터 특정 서비스의 제공을 요청받아, 클라이언트로 특정 서비스를 제공한다(403). 여기서, 특정 서비스란, 해당 서비스 모듈에서 제공하는 다양한 서비스를 말한다. 예를 들면, 음원이 포함된 파일을 제공할 수도 있고, 동영상이 포함된 파일을 제공할 수도 있으며, 사진이 포함된 파일을 제공할 수도 있다. 또한, 본 발명에서는 서버의 정보를 브로커에 등록하여, 클라이언트에서는 서버에서 제공하는 서비스 모듈의 세부정보를 브로커를 통하여 수신할 수 있어, 서버에 걸리는 부하를 많이 줄일 수 있다.
만약, 서버의 정보가 변경된 경우를 가정하면, 서버는 적어도 하나의 브로커로 변경된 서비스 모듈의 등록을 요청한다(404). 보다 구체적으로, 서버의 정보가 변경된 경우에는 클라이언트에서는 종전의 서버의 정보로는 변경된 서비스 모듈로 접속하여 서비스를 제공받을 수 없다. 따라서, 서버에서는 변경된 서버의 정보를 브로커로 저장하기 위해서 다시 브로커에 변경된 서버의 정보를 등록받아야 한다. 서버의 정보가 변경되는 예로는, 해당 서비스를 제공하는 서비스 제공자가 서버스의 제공을 중단할 수도 있고, 서비스의 제공자가 변경될 수도 있으며, 서버의 물리적인 위치가 변경된 경우를 들 수 있다. 여기서, 변경된 서버의 정보란, 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보를 지칭한다. 즉, 변경된 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것으로 정의된다.
서버가 브로커로 변경된 서비스 모듈의 등록을 요청한 후, 브로커로부터 변경된 아이디를 부여받게 된다(405). 여기서, 서버가 브로커로부터 각각의 서비스 모듈마다 새롭게 부여받은 아이디에는 각각의 서비스 모듈의 변경된 위치정보 및 해당 서비스 정보가 포함되어 있다. 서비스 모듈의 위치정보는 서비스 모듈의 변경된 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하며, 서비스 모듈의 해당 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함한다.
이후, 서버는 클라이언트로부터 특정 서비스의 제공을 요청받아, 클라이언트로 특정 서비스를 제공한다(406). 여기서, 특정 서비스란, 해당 서비스 모듈에서 제공하는 다양한 서비스를 말한다. 예를 들면, 음원이 포함된 파일을 제공할 수도 있고, 동영상이 포함된 파일을 제공할 수도 있으며, 사진이 포함된 파일을 제공할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 클라이언트, 브로커 및 서버의 전체적인 동작순서를 도시한 흐름도이다. 도 5에 도시된 바와 같이, 먼저 서버는 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청한다(501). 본 발명에서 클라이언트가 서버로부터 특정 서비스를 제공받기 위해서는 브로커로부터 서버의 정보를 수신하여야 한다. 따라서, 서버는 브로커로 서버가 제공하는 서비스 모듈의 정보가 포함된 서버의 정보를 등록받아야 한다. 즉, 상술한 과정은 서버에서 클라이언트로 적어도 하나의 서비스를 제공하기 위한 전제조건이 된다.
서버로부터 서비스 모듈의 등록을 요청받은 브로커는 서버로 각각의 서비스 모듈마다 아이디를 부여한다(502). 보다 구체적으로는, 브로커가 서버로부터 적어도 하나의 서비스 모듈의 등록을 요청받으면, 요청받은 서비스 모듈이 브로커에 기 저장되어 있는지 판단한다. 브로커에서 서버로부터 요청받은 적어도 하나의 서비스 모듈이 브로커에 기 저장되어 있지 않다고 판단되면, 브로커는 각각의 서비스 모듈마다 아이디를 부여하고, 부여한 아이디를 저장한다. 여기서, 브로커가 서버로 각각의 서비스 모듈마다 부여한 아이디에는 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함되어 있다. 서비스 모듈의 위치정보는 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하며, 서비스 모듈의 해당 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함한다.
이후, 클라이언트는 브로커로 특정 서비스를 제공하는 서버의 정보를 요청한다(503). 보다 구체적으로, 클라이언트가 서버에 저장되어 있는 특정 서비스를 제공받기 위해서는 브로커로부터 서버의 정보를 요청하여야 한다. 즉, 종래에는 클라이언트에서 직접 서버로 접속하여 서버에 저장되어 있는 특정 서비스를 서버로부터 제공받았지만, 본 발명에서는 서버에서 제공하는 특정 서버에 관한 정보는 브로커에 저장되어 있다. 따라서, 클라이언트는 서버에 접속하기 위해서는 브로커에 먼저 접속하여 관심있는 서버의 정보를 브로커로 요청하여야 한다.
클라이언트로부터 특정 서비스를 제공하는 서버의 정보를 요청받은 브로커는 요청한 서버의 정보를 클라이언트로 송신한다(504). 여기서, 서버의 정보란 특정 서비스 모듈의 위치정보와 서비스 정보를 포함하는 개념이다. 즉, 서버에 저장되어 있는 적어도 하나 이상의 각각의 서비스 모듈의 개별적인 위치정보와 개별적인 서비스 정보를 포함하는 의미로 정의된다. 따라서, 본 발명에서는 클라이언트가 특정 서비스를 서버로부터 제공받기 위해서는 먼저 브로커에 접속하여 브로커로부터 관심 서비스에 대한 위치정보 및 서비스 정보를 수신하여야 한다. 상술한 서버의 정보 중 위치정보란 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 정의된다. 즉, 서버에 저장되어 있는 여러 서비스 모듈 중에서 클라이언트가 원하는 서비스 모듈의 포트 정보 및 풀 유알엘 정보는 다를 수 있음으로, 클라이언트에서는 각각의 정보를 브로커로부터 수신받아야 해당 서비스 모듈에 접속할 수 있는 것이다.
이후, 클라이언트는 서버로 특정 서비스를 요청하면, 서버는 클라이언트로부터 특정 서비스를 제공받는다(505). 여기서, 특정 서비스란, 해당 서비스 모듈에서 제공하는 다양한 서비스를 말한다. 예를 들면, 음원이 포함된 파일을 제공할 수도 있고, 동영상이 포함된 파일을 제공할 수도 있으며, 사진이 포함된 파일을 제공할 수도 있다. 또한, 본 발명에서는 서버의 정보를 브로커에 등록하여, 클라이언트에서는 서버에서 제공하는 서비스 모듈의 세부정보를 브로커를 통하여 수신할 수 있어, 서버에 걸리는 부하를 많이 줄일 수 있다.
만약, 서버의 정보가 변경되었으면, 서버는 브로커로 변경된 서비스 모듈에 대한 아이디를 요청하여 브로커로부터 새로운 아이디를 제공받는다(506). 여기서, 서버가 브로커로부터 각각의 서비스 모듈마다 새롭게 부여받은 아이디에는 각각의 서비스 모듈의 변경된 위치정보 및 해당 서비스 정보가 포함되어 있다. 서비스 모듈의 위치정보는 서비스 모듈의 변경된 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하며, 서비스 모듈의 해당 서비스 정보는 해당 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함한다.
이후, 클라이언트는 서버에 접속을 시도한다(507). 보다 구체적으로는, 클라이언트에서 특정 서비스를 제공받기 위하여 다시 서버에 접속한 경우, 클라이언트는 서버에 접속되어 있는 판단한다. 상술한 판단과정을 거치는 이유는 해당 서비스를 제공하는 서버의 정보가 변경되었는지 판단하기 위함이다. 즉, 클라이언트에서 서버로 접속을 시도할 때, 만약 서버로의 접속이 이루어지지 않을 때 단순히 통신상의 장애인지 서버의 정보가 변경되었는지 판단하기 위함이다. 예를 들면, 해당 서비스를 제공하는 서비스 제공자가 서버스의 제공을 중단할 수도 있고, 서비스의 제공자가 변경될 수도 있으며, 서버의 물리적인 위치가 변경된 경우에는 클라이언트에서 서버로의 접속이 이루어지지 않는다.
만약, 클라이언트에서 서버로의 접속을 시도하여 서버로의 접속이 이루어지지 않았다고 판단되면 클라이언트는 브로커에 접속하여 변경된 서버의 정보를 제공받는다(508). 보다 구체적으로는, 클라이언트에서 서버로 다시 접속을 시도할 때 사용자에 의하여 설정된 시간 동안 클라이언트에서 서버로의 접속을 계속 시도한다. 즉, 클라이언트와 서버가 서로 통신을 할 수 없는 이유가 단순히 통신상의 문제인지를 판단하기 위하여 기 설정된 시간 동안 클라이언트는 서버로 접속을 시도하게 된다. 만약, 설정된 시간 동안 클라이언트에서 서버로의 접속을 시도하여 접속이 이루어지지 않으면, 클라이언트에서는 서버의 정보가 변경되었다고 판단한다. 따라서, 클라이언트에서는 변경된 서버의 정보를 얻기 위하여 브로커에 접속하여 브로커로부터 변경된 서버의 정보를 수신한다. 여기서, 변경된 서버의 정보란, 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보를 지칭한다. 즉, 변경된 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것으로 정의된다.
아래의 표 1은 본 발명에 따른 통신 프로토콜의 일 실시예를 나타낸 표이다.
<ECDataPackage size="...">
<relationship sequence="...">
<from type="client, broker, server..."id="...">...</from>
<to type="client, broker, server..."id="...">...</to>
<service_info ip="port="...">
<meta attr="..." value="..."/>
<relationship>
<databody>
<data>...</data>
<metadata>
<meta attr="..." value="..."/> .
</metadata>
<additional_info>
<info attr="..." value="...">
<data>...</data>
</info>
<additional_info>
<databody>
<ECDataPackage>
먼저, 1행의 ECDataPackage는 DataPackage의 root element를 나타내는 것으로, size뒤에는 해당 ECDataPackage의 크기가 표현된 것이다.
2행의 의미는 Data Package가 전달되는 양쪽 구성요소를 나타낸 것으로, sequence뒤에는 브로커에서 데이터를 릴레이 하기 위해서 사용하는 Mapping data를 표현한 것이다.
3행의 의미는 Data Package를 보내는 구성요소에 대한 설명으로, type은 구성요소의 형태, id는 구성요소의 아이디를 의미한다.
4행의 의미는 Data Package를 받는 구성요소에 대한 설명으로, 3행과 마찬가지로 type은 구성요소의 형태, id는 구성요소의 아이디를 의미한다.
3행과 4행의 구체적인 예를 들면, <from type="broker "id=...">...</from>과 <to type="server "id=...">...</to>으로 표현되었다면, 임의의 아이디를 사용하여 브로커에서 서버로 특정 데이터를 보내는 것을 나타낸 것이다.
5행의 의미는 서버에 위치하고 있는 특정 서비스 모듈의 서비스에 대한 정보를 포함하고 있다. 여기서, ip는 해당 서비스가 존재하는 서버의 IP 주소를 의미하고, port는 해당 서비스가 동작 중인 포드 번호를 의미한다.
8행의 databody는 ECDataPackage의 차일드 엘리먼트(child element)로, Data Package에 packing된 Data를 나타낸 것이다.
9행의 의미는 databody/info의 차일드 엘리먼트로, 구성요소간 전달될 data를 나타낸 것이다.
10행의 의미는 databody의 차일드 엘리먼트로, data에 표현되지 못하는 부가 정보들을 나타낸 것이다.
11행의 의미는 metadata/relationship의 차일드 엘리먼트로, 부가정보를 나타낸 것이다. 여기서, attr는 부가정보의 이름을 나타낸 것이고, value은 부가정보의 data를 나타낸 것이다.
13행의 의미는 databody의 차일드 엘리먼트로, metadata로 표현하지 못하는 부가정보들을 나타낸 것이다. 예를 들면 데이터 형과 이외의 정보를 가지는 정보를 의미한다.
16행의 의미는 additional_info의 차일드 엘리먼트로, 부가정보를 나타낸 것이다. 여기서, attr는 부가정보의 이름을 나타낸 것이고, value은 부가정보의 data를 나타낸 것이다
도 6은 본 발명의 일 실시예에 따른 단말기(클라이언트)의 구성을 도시한 블록이다. 도 6에 도시된 바와 같이, 본 발명에 따른 단말기는 제어부(601), 통신모듈(602), 입력부(603), 출력부(604), 저장부(605)를 포함하여 구성될 수 있다.
제어부(601)는 단말기의 전반적인 동작을 제어한다. 예를 들면, 제어부(601)는, 서버와의 접속 여부를 확인한다.
통신모듈(602)은 음성 및 데이터 통신을 위해 안테나를 통해 송수신되는 신호를 처리한다. 예를 들면, 통신모듈(602)은 적어도 하나의 브로커(broker)로 특정 서비스를 제공하는 서버의 정보를 요청하고, 브로커로부터 서버의 정보를 수신하여, 서버로 상기 특정 서비스를 요청한다. 또한, 서버 내에 위치하여 각각 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈 중, 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보를 요청한다. 또한, 서버로부터 특정 서비스를 수신하고, 특정 서비스를 요청하기 위하여, 서버에 접속을 시도한다. 또한, 서버와의 접속이 이루어지지 않았다고 판단되면, 설정된 시간 동안 상기 서버에 접속을 시도하고, 설정된 시간 동안 서버와의 접속이 이루어지지 않았다고 판단되면, 적어도 하나의 브로커로 특정 서비스를 제공하는 변경된 서버의 정보를 요청하며, 브로커로부터 변경된 서버의 정보를 수신한다.
입력부(603)는 사용자의 선택에 의해 발생하는 입력 데이터를 제어부(601)로 제공한다.
출력부(604)는 제어부(801)의 제어에 따라 단말기의 상태 정보, 메뉴 화면 및 스토리 정보를 표시한다.
저장부(605)는 단말기의 동작을 제어하기 위한 프로그램을 저장하는 프로그램 저장부 및 프로그램 수행 중에 발생되는 데이터를 저장하는 데이터 저장부로 구성될 수 있다.
상술한 블록 구성에서, 제어부(601)는 휴대용 단말기의 전반적인 기능을 수행할 수 있다. 본 발명에서 이를 별도로 구성하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 실제로 제품을 구현하는 경우에 휴대용 단말기의 기능 모두를 제어부(601)에서 처리하도록 구성할 수도 있으며, 기능 중 일부만을 제어부(601)에서 처리하도록 구성할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 브로커의 구성을 도시한 블록도이다. 도 7에 도시된 바와 같이, 본 발명에 따른 브로커는 제어부(701), 통신모듈(702) 및 저장부(703)를 포함하여 구성될 수 있다.
제어부(701)는 브로커의 전반적인 동작을 제어한다. 예를 들면, 제어부는, 요청받은 서비스 모듈이 등록되어 있는지 판단하여, 서비스 모듈이 등록되어 있지 않다고 판단되면, 서버로 각각의 서비스 모듈마다 아이디(Identification Number)를 부여한다. 또한, 서버로부터 변경된 서버의 정보의 등록을 요청받아, 서비스 모듈이 등록되어 있지 않다고 판단되면, 서버로 각각의 서비스 모듈마다 새로운 아이디(Identification Number)를 부여한다.
통신모듈(702)은 단말기로부터 특정 서비스를 제공하는 서버의 정보를 요청받아, 단말기로 서버의 정보를 송신하고, 서버로부터 적어도 하나 이상의 서비스 모듈의 등록을 요청받는다. 또한, 단말기로부터 특정 서비스를 제공하는 변경된 서버의 정보를 요청받아, 단말기로 변경된 서버의 정보를 송신한다.
저장부(703)는 브로커의 동작을 제어하기 위한 프로그램을 저장하는 프로그램 저장부 및 프로그램 수행 중에 발생되는 데이터를 저장하는 데이터 저장부로 구성될 수 있다
상술한 블록 구성에서, 제어부(701)는 브로커의 전반적인 기능을 수행할 수 있다. 본 발명에서 이를 별도로 구성하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 실제로 제품을 구현하는 경우에 브로커의 기능 모두를 제어부(701)에서 처리하도록 구성할 수도 있으며, 기능 중 일부만을 제어부(701)에서 처리하도록 구성할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 서버의 구성을 도시한 블록도이다. 도 8에 도시된 바와 같이, 본 발명의 서버는 제어부(801), 통신모듈(802), 저장부(803) 및 브로커(804)를 포함하여 구성될 수 있다.
제어부(801)는 서버의 전반적인 동작을 제어한다.
통신모듈(802)은 음성 및 데이터 통신을 위해 안테나를 통해 송수신되는 신호를 처리한다. 예를 들면, 적어도 하나의 브로커로, 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하고, 단말기로부터 특정 서비스의 제공을 요청받아, 단말기로 특정 서비스를 제공한다. 또한, 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청하여, 브로커로부터 각각의 서비스 모듈마다 아이디를 부여받는다.
저장부(803)는 서버의 동작을 제어하기 위한 프로그램을 저장하는 프로그램 저장부 및 프로그램 수행 중에 발생되는 데이터를 저장하는 데이터 저장부로 구성될 수 있다.
브로커(804)는 서버 내에 위치하거나 서버 밖에 위치하여, 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈의 위치정보 및 해당 서비스 정보를 저장한다.
상술한 블록 구성에서, 제어부(801)는 서버의 전반적인 기능을 수행할 수 있다. 본 발명에서 이를 별도로 구성하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 실제로 제품을 구현하는 경우에 서버의 기능 모두를 제어부(801)에서 처리하도록 구성할 수도 있으며, 기능 중 일부만을 제어부(801)에서 처리하도록 구성할 수도 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
101: 서버 102: 브로커
103: 클라이언트 601: 제어부
602: 통신모듈 603: 입력부
604: 출력부 605: 저장부
701: 제어부 702: 통신모듈
703: 저장부 801: 제어부
802: 통신모듈 803: 저장부
804: 브로커

Claims (66)

  1. 단말기의 동작 방법에 있어서,
    적어도 하나의 브로커(broker)로, 특정 서비스를 제공하는 서버의 정보를 요청하는 과정;
    상기 브로커로부터 상기 서버의 정보를 수신하는 과정; 및
    상기 서버의 정보를 이용하여, 상기 서버로 상기 특정 서비스를 요청하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 단말기, 상기 브로커 및 상기 서버는,
    동일한 통신 프로토콜(comunication protocol)을 사용하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 브로커 및 상기 서버는,
    동일한 통신 모듈(comunication module)을 사용하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 브로커는,
    상기 서버 내에 위치하거나 상기 서버 밖에 위치하여, 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈의 위치정보 및 해당 서비스 정보를 저장하고 있는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보인 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 적어도 하나의 브로커(broker)로, 특정 서비스를 제공하는 서버의 정보 요청하는 과정은,
    상기 서버 내에 위치하여 각각 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈 중, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보를 요청하는 과정인 것을 특징으로 하는 방법.
  7. 제4항 내지 제6항 중 어느 하나의 항에 있어서, 상기 위치정보는,
    상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  8. 제4항 내지 제6항 중 어느 하나의 항에 있어서, 상기 해당 서비스 정보는,
    상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 서버로부터 상기 특정 서비스를 수신하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 특정 서비스를 요청하기 위하여, 상기 서버에 접속을 시도하는 과정; 및
    상기 서버와의 접속 여부를 확인하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 서버와의 접속이 이루어지지 않았다고 판단되면, 설정된 시간 동안 상기 서버에 접속을 시도하는 과정;
    상기 설정된 시간 동안 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 상기 적어도 하나의 브로커로 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청하는 과정; 및
    상기 브로커로부터 상기 변경된 서버의 정보를 수신하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서, 상기 변경된 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보인 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 변경된 위치정보는,
    상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  14. 브로커의 동작 방법에 있어서,
    단말기로부터 특정 서비스를 제공하는 서버의 정보를 요청받는 과정; 및
    상기 단말기로 상기 서버의 정보를 송신하는 과정을 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용하는 것을 특징으로 하는 방법.
  16. 제14항에 있어서,
    상기 브로커 및 상기 서버는, 동일 통신 모듈을 사용하는 것을 특징으로 하는 방법.
  17. 제14항에 있어서, 상기 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보인 것을 특징으로 하는 방법.
  18. 제14항에 있어서,
    상기 서버로부터 적어도 하나 이상의 서비스 모듈의 등록을 요청받는 과정;
    상기 요청받은 서비스 모듈이 등록되어 있는지 판단하는 과정;
    상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 아이디(Identification Number)를 부여하는 과정; 및
    상기 아이디를 저장하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서, 상기 아이디에는,
    상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함되어 있는 것을 특징으로 하는 방법.
  20. 제17항 또는 제19항에 있어서, 상기 위치정보는,
    상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  21. 제17항 또는 제19항에 있어서, 상기 해당 서비스 정보는,
    상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  22. 제14항에 있어서,
    상기 단말기로부터 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청받는 과정; 및
    상기 단말기로 상기 변경된 서버의 정보를 송신하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서,
    상기 서버로부터 변경된 서버의 정보의 등록을 요청받는 과정;
    상기 요청받은 서비스 모듈이 등록되어 있는지 판단하는 과정;
    상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 새로운 아이디(Identification Number)를 부여하는 과정; 및
    상기 아이디를 저장하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  24. 제22항 또는 제23항에 있어서, 상기 변경된 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보인 것을 특징으로 하는 방법.
  25. 제24항에 있어서, 상기 변경된 위치정보는,
    상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  26. 서버의 동작 방법에 있어서,
    적어도 하나의 브로커로, 상기 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하는 과정;
    단말기로부터 상기 특정 서비스의 제공을 요청받는 과정; 및
    상기 단말기로 상기 특정 서비스를 제공하는 과정을 포함하는 것을 특징으로 하는 방법.
  27. 제26항에 있어서,
    상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용하는 것을 특징으로 하는 방법.
  28. 제26항에 있어서,
    상기 브로커 및 상기 서버는, 동일한 통신 모듈을 사용하는 것을 특징으로 하는 방법.
  29. 제26항에 있어서, 상기 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보인 것을 특징으로 하는 방법.
  30. 제26항에 있어서,
    상기 적어도 하나의 브로커로, 상기 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하는 과정은,
    상기 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청하는 과정; 및
    상기 브로커로부터 상기 각각의 서비스 모듈마다 아이디를 부여받는 과정을 포함하는 것을 특징으로 하는 방법.
  31. 제30항에 있어서, 상기 아이디에는,
    상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함되어 있는 것을 특징으로 하는 방법.
  32. 제29항 또는 제31항에 있어서, 상기 위치정보는,
    상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  33. 제29항 또는 제31항에 있어서, 상기 해당 서비스 정보는,
    상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  34. 단말기의 장치에 있어서,
    적어도 하나의 브로커(broker)로 특정 서비스를 제공하는 서버의 정보를 요청하고, 상기 브로커로부터 상기 서버의 정보를 수신하여, 상기 서버로 상기 특정 서비스를 요청하는 통신모듈; 및
    상기 단말기의 전반적인 동작을 제어하는 제어부를 포함하는 것을 특징으로 하는 장치
  35. 제34항에 있어서, 상기 단말기, 상기 브로커 및 상기 서버는,
    동일한 통신 프로토콜(comunication protocol)을 사용하는 것을 특징으로 하는 장치.

  36. 제34항에 있어서, 상기 브로커 및 상기 서버는,
    동일한 통신 모듈(comunication module)을 사용하는 것을 특징으로 하는 장치.
  37. 제34항에 있어서, 상기 브로커는,
    상기 서버 내에 위치하거나 상기 서버 밖에 위치하여, 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈의 위치정보 및 해당 서비스 정보를 저장하고 있는 것을 특징으로 하는 장치.
  38. 제34항에 있어서, 상기 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보인 것을 특징으로 하는 장치.
  39. 제34항에 있어서,
    상기 통신모듈은, 상기 서버 내에 위치하여 각각 서로 다른 서비스를 제공하는 적어도 하나 이상의 서비스 모듈 중, 상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보를 요청하는 것을 특징으로 하는 장치.
  40. 제37항 내지 제39항 중 어느 하나의 항에 있어서, 상기 위치정보는,
    상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  41. 제37항 내지 제39항 중 어느 하나의 항에 있어서, 상기 해당 서비스 정보는,
    상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  42. 제34항에 있어서,
    상기 통신모듈은, 상기 서버로부터 상기 특정 서비스를 수신하는 것을 특징으로 하는 장치.
  43. 제34항에 있어서,
    상기 통신모듈은, 상기 특정 서비스를 요청하기 위하여, 상기 서버에 접속을 시도하고,
    상기 제어부는, 상기 서버와의 접속 여부를 확인하는 것을 특징으로 하는 장치.
  44. 제43항에 있어서,
    상기 통신모듈은, 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 설정된 시간 동안 상기 서버에 접속을 시도하고, 상기 설정된 시간 동안 상기 서버와의 접속이 이루어지지 않았다고 판단되면, 상기 적어도 하나의 브로커로 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청하며, 상기 브로커로부터 상기 변경된 서버의 정보를 수신하는 것을 특징으로 하는 장치.
  45. 제44항에 있어서, 상기 변경된 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보인 것을 특징으로 하는 장치.
  46. 제45항에 있어서, 상기 변경된 위치정보는,
    상기 서비스 모듈의 아이피(Internet Protocol) 정보, 포트(port) 정보 및 유알엘(Uniform Resource Locator) 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  47. 브로커의 장치에 있어서,
    단말기로부터 특정 서비스를 제공하는 서버의 정보를 요청받아, 상기 단말기로 상기 서버의 정보를 송신하는 통신모듈; 및
    상기 브로커의 전반적인 동작을 제어하는 제어부를 포함하는 것을 특징으로 하는 장치.
  48. 제47항에 있어서,
    상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용하는 것을 특징으로 하는 장치.
  49. 제47항에 있어서,
    상기 브로커 및 상기 서버는, 동일 통신 모듈을 사용하는 것을 특징으로 하는 장치.
  50. 제47항에 있어서, 상기 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보인 것을 특징으로 하는 장치.
  51. 제47항에 있어서,
    상기 통신모듈은, 상기 서버로부터 적어도 하나 이상의 서비스 모듈의 등록을 요청받고,
    상기 제어부는, 상기 요청받은 서비스 모듈이 등록되어 있는지 판단하여, 상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 아이디(Identification Number)를 부여하고,
    상기 아이디를 저장하는 저장부를 더 포함하는 것을 특징으로 하는 장치.
  52. 제51항에 있어서, 상기 아이디에는,
    상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함되어 있는 것을 특징으로 하는 장치.
  53. 제50항 또는 제52항에 있어서, 상기 위치정보는,
    상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  54. 제50항 또는 제52항에 있어서, 상기 해당 서비스 정보는,
    상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  55. 제47항에 있어서,
    상기 통신모듈은, 상기 단말기로부터 상기 특정 서비스를 제공하는 변경된 서버의 정보를 요청받아, 상기 단말기로 상기 변경된 서버의 정보를 송신하는 것을 특징으로 하는 장치.
  56. 제55항에 있어서,
    상기 서버로부터 변경된 서버의 정보의 등록을 요청받아, 상기 서비스 모듈이 등록되어 있지 않다고 판단되면, 상기 서버로 상기 각각의 서비스 모듈마다 새로운 아이디(Identification Number)를 부여하는 제어부; 및
    상기 아이디를 저장하는 저장부를 더 포함하는 것을 특징으로 하는 장치.
  57. 제55항 또는 제56항에 있어서, 상기 변경된 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 변경된 위치정보인 것을 특징으로 하는 장치.
  58. 제57항에 있어서, 상기 변경된 위치정보는,
    상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  59. 서버의 장치에 있어서,
    적어도 하나의 브로커로, 상기 서버에서 제공하는 특정 서비스에 관한 서버의 정보를 송신하고, 단말기로부터 상기 특정 서비스의 제공을 요청받아, 상기 단말기로 상기 특정 서비스를 제공하는 통신모듈; 및
    상기 서버의 전반적인 동작을 제어하는 제어부를 포함하는 것을 특징으로 하는 장치.
  60. 제59항에 있어서,
    상기 단말기, 상기 브로커 및 상기 서버는, 동일한 통신 프로토콜을 사용하는 것을 특징으로 하는 장치.
  61. 제59항에 있어서,
    상기 브로커 및 상기 서버는, 동일한 통신 모듈을 사용하는 것을 특징으로 하는 장치.
  62. 제59항에 있어서, 상기 서버의 정보는,
    상기 특정 서비스를 제공하는 서비스 모듈의 위치정보 및 해당 서비스 정보인 것을 특징으로 하는 장치.
  63. 제59항에 있어서,
    상기 통신모듈은, 상기 브로커로 적어도 하나 이상의 서비스 모듈의 등록을 요청하여, 상기 브로커로부터 상기 각각의 서비스 모듈마다 아이디를 부여받는 것을 특징으로 하는 장치.
  64. 제59항에 있어서, 상기 아이디에는,
    상기 각각의 서비스 모듈의 위치정보 및 해당 서비스 정보가 포함되어 있는 것을 특징으로 하는 장치.
  65. 제62항 또는 제64항에 있어서, 상기 위치정보는,
    상기 서비스 모듈의 아이피 정보, 포트 정보 및 유알엘 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  66. 제62항 또는 제64항에 있어서, 상기 해당 서비스 정보는,
    상기 서비스 모듈에서 제공하는 서비스의 제목, 서비스의 내용 및 서비스의 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
KR1020120005265A 2012-01-17 2012-01-17 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법 KR101857020B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120005265A KR101857020B1 (ko) 2012-01-17 2012-01-17 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법
PCT/KR2013/000093 WO2013109012A1 (en) 2012-01-17 2013-01-07 Apparatus and method of terminal for managing service provided from server
US13/744,150 US9774701B2 (en) 2012-01-17 2013-01-17 Apparatus and method of terminal for managing service provided from server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120005265A KR101857020B1 (ko) 2012-01-17 2012-01-17 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130084462A true KR20130084462A (ko) 2013-07-25
KR101857020B1 KR101857020B1 (ko) 2018-05-14

Family

ID=48780766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120005265A KR101857020B1 (ko) 2012-01-17 2012-01-17 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법

Country Status (3)

Country Link
US (1) US9774701B2 (ko)
KR (1) KR101857020B1 (ko)
WO (1) WO2013109012A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015047439A1 (en) * 2013-09-28 2015-04-02 Mcafee, Inc. Service-oriented architecture
US11418605B2 (en) 2013-09-28 2022-08-16 Musarubra Us Llc Efficient request-response routing over a data exchange layer

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8750239B1 (en) 2013-04-18 2014-06-10 iboss Inc. Allocating a pool of shared bandwidth
JP6295785B2 (ja) * 2014-03-31 2018-03-20 ブラザー工業株式会社 処理実行システムおよび中継サーバ
JP7301668B2 (ja) * 2019-08-07 2023-07-03 キヤノン株式会社 システム、制御方法、プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931454B2 (en) * 2000-12-29 2005-08-16 Intel Corporation Method and apparatus for adaptive synchronization of network devices
TW561751B (en) * 2001-04-04 2003-11-11 Ibm Counting and billing mechanism for web-services based on a SOAP-communication protocol
US7725590B2 (en) 2002-04-19 2010-05-25 Computer Associates Think, Inc. Web services broker
GB0306971D0 (en) * 2003-03-26 2003-04-30 British Telecomm Client server model
US7685288B2 (en) * 2003-06-30 2010-03-23 Microsoft Corporation Ad-hoc service discovery protocol
US7822778B1 (en) * 2003-12-22 2010-10-26 Sap Ag Extended UDDI with item registry functionality
US7711812B2 (en) * 2004-06-18 2010-05-04 International Business Machines Corporation Definition system and method for web services that monitor other web services
EP1753195B1 (en) * 2005-07-27 2012-03-07 Sap Ag Server computer, client device and web service implemented data processing method
EP1770960B1 (en) * 2005-10-03 2010-03-10 Sap Ag A data processing system and method of mirroring the provision of identifiers
US7836460B2 (en) * 2005-12-12 2010-11-16 International Business Machines Corporation Service broker realizing structuring of portlet services
KR100901281B1 (ko) * 2007-08-30 2009-06-09 한국전자통신연구원 유비쿼터스 웹서비스 방법
US20110145094A1 (en) 2009-12-11 2011-06-16 International Business Machines Corporation Cloud servicing brokering
US8473595B2 (en) 2009-12-30 2013-06-25 Bmc Software, Inc. Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom
US9342367B2 (en) * 2010-06-16 2016-05-17 Computer Associates Think, Inc. System and method for selecting cloud services
US9483312B2 (en) * 2010-08-16 2016-11-01 International Business Machines Corporation Locating service endpoints from a service registry
US9021055B2 (en) * 2010-11-24 2015-04-28 Oracle International Corporation Nonconforming web service policy functions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015047439A1 (en) * 2013-09-28 2015-04-02 Mcafee, Inc. Service-oriented architecture
US10171594B2 (en) 2013-09-28 2019-01-01 Mcafee, Llc Service-oriented architecture
US11076003B2 (en) 2013-09-28 2021-07-27 Mcafee, Llc Service-oriented architecture
US11418605B2 (en) 2013-09-28 2022-08-16 Musarubra Us Llc Efficient request-response routing over a data exchange layer
US11902388B2 (en) 2013-09-28 2024-02-13 Musarubra Us Llc Service-oriented architecture

Also Published As

Publication number Publication date
US20130185392A1 (en) 2013-07-18
KR101857020B1 (ko) 2018-05-14
WO2013109012A1 (en) 2013-07-25
US9774701B2 (en) 2017-09-26

Similar Documents

Publication Publication Date Title
US9251040B2 (en) Remote debugging in a cloud computing environment
US5832191A (en) Method and apparatus for automatically enabling communication with a network printer
US20180248827A1 (en) Heterogeneous cloud controller
US11856065B2 (en) Data transmission for service integration between a virtual private cloud and an intranet
KR101857020B1 (ko) 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법
US20170134927A1 (en) Device-to-device content delivery method through interworking with service control apparatus
US20160156484A1 (en) Information processing system, cloud server, device control method, and non-transitory computer-readable recording medium encoded with device control program
CN106131122A (zh) 一种部署负载均衡服务的方法及装置
CN108139936A (zh) 提供对自部署的虚拟应用中的虚拟机的串行端口的访问的方法、装置和系统
CN109462659B (zh) 嵌入式设备远程访问控制系统、方法及存储介质
US20150006622A1 (en) Web contents transmission method and apparatus
CN109818977B (zh) 一种接入服务器通信优化方法、接入服务器以及通信系统
CN103248654A (zh) 虚拟桌面服务参数的协商方法、装置及系统
WO2019119280A1 (zh) 业务处理方法、云服务器和终端设备
CN111427703A (zh) 工业数据实时展示方法及系统
US8464331B2 (en) Data transmission management server and method
CN110011850A (zh) 云计算系统中服务的管理方法和装置
CN116032691A (zh) 靶场互联互通方法、电子设备及可读存储介质
CN103248668B (zh) 虚拟桌面服务参数的协商方法、装置及系统
JP2005258632A (ja) ネットワークストレージ装置の導通確認方法およびホスト計算機
CN107404504B (zh) 通信方法、装置及系统
JP2003051846A (ja) 帯域制御方法、ネットワークサービスシステム、コンテンツサーバ装置、帯域管理装置及びコンテンツ管理装置
JP4532238B2 (ja) オンデマンドサービス提供システム
US9497273B2 (en) Method and device for pairing a terminal and a user account
US6823390B1 (en) Method of setting up data communication with a communication means and furthermore program modules and means therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant