[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101146742B1 - METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF - Google Patents

METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF Download PDF

Info

Publication number
KR101146742B1
KR101146742B1 KR1020100093389A KR20100093389A KR101146742B1 KR 101146742 B1 KR101146742 B1 KR 101146742B1 KR 1020100093389 A KR1020100093389 A KR 1020100093389A KR 20100093389 A KR20100093389 A KR 20100093389A KR 101146742 B1 KR101146742 B1 KR 101146742B1
Authority
KR
South Korea
Prior art keywords
node
session
information
service
client
Prior art date
Application number
KR1020100093389A
Other languages
Korean (ko)
Other versions
KR20120031792A (en
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 KR1020100093389A priority Critical patent/KR101146742B1/en
Publication of KR20120031792A publication Critical patent/KR20120031792A/en
Application granted granted Critical
Publication of KR101146742B1 publication Critical patent/KR101146742B1/en

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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

클라우드 내의 특정 웹 서버에 얽매이지 않는 분산된 세션 관리방법 및 그 관리 시스템에 관한 것으로, 본 발명의 일 실시예에 따른 SaaS(Software as a Service)의 분산된 세션 관리 방법은 서비스를 요청한 클라이언트의 SLA(Service Level Agreement)정보를 이용하여 다수의 노드들이 연결된 클라우드 내의 제1 노드를 선택하고, 제1 노드로 라우팅하는 단계와, 제1 노드에서 클라이언트의 세션 요청 정보에 포함된 세션 식별자(session identifier)를 확인하여 세션 정보를 검색하는 단계와, 검색된 세션 정보를 클라이언트로 전송하는 단계를 포함함으로써 클라우드 컴퓨팅 환경에서 서비스 구축 비용을 절감할 수 있다. The present invention relates to a distributed session management method and a management system that are not tied to a specific web server in the cloud. Selecting a first node in a cloud to which a plurality of nodes are connected using service level agreement information, routing to a first node, and a session identifier included in session request information of a client at the first node Checking the session information to retrieve the session information, and transmitting the retrieved session information to the client can reduce the cost of building the service in the cloud computing environment.

Figure R1020100093389
Figure R1020100093389

Description

SaaS의 분산된 세션 관리 방법 및 그 관리 시스템{METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF}Decentralized session management method and management system of SARS {METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF}

본 발명은 클라우드 컴퓨팅에서의 세션 관리 방법 및 그 관리 시스템에 관한 것으로, 보다 구체적으로는 클라우드 기반의 소프트웨어 온라인 임대사업인 SaaS(Software as a Service)에서 분산된 세션 관리 방법 및 그 관리 시스템에 관한 기술을 개시한다.The present invention relates to a session management method and a management system thereof in cloud computing, and more particularly, to a session management method and a management system distributed in software as a service (SaaS), a cloud-based software online rental business. Initiate.

클라우드 컴퓨팅(Cloud computing)이란 IT의 모든 것을 서비스로 제공하는 형태를 말한다. 지금까지는 IT환경을 이용하기 위해서 서버, 스토리지, SW, 솔루션 등의 각 요소들을 통합해서 기능을 만들었고 다시 웹사이트,메일, ERP, CRM등 각 솔루션등을 개발했다. 따라서, 개발 과정에서 SW를 도입하고 시스템간 통합하고 커스터마이징하는 과정을 겪어야 했다. 그러나 클라우드 컴퓨팅 환경에서는 이런 개별 기술에 대한 전문성 없이도 서비스를 이용하는 형태로 IT환경을 구축하고 이용할 수 있다.Cloud computing is a form of providing everything in IT as a service. Until now, in order to use the IT environment, each component such as server, storage, SW, and solution was integrated to make a function, and then each solution such as website, mail, ERP, and CRM was developed. Therefore, the development process had to go through the process of introducing SW, integrating and customizing between systems. However, in a cloud computing environment, the IT environment can be constructed and used in the form of using services without the expertise of these individual technologies.

클라우드 컴퓨팅은 크게 SaaS(Software as a Service)ㅋ, PaaS(Platform as a Service), IaaS(Infrastructure as a Service)와 같이 3개의 각 분야로 나뉠 수 있다. SaaS(Software as a Service)란 서비스로써 SW(software) 어플리케이션 서비스를 제공하는 것을 말한다. PaaS(Platform as a Service)란 SW가 아닌 표준화된 플랫폼을 서비스로 제공하는 형태를 말한다. IaaS(Infrastructure as a Service)란 인프라 스터럭쳐, 예를 들면 서버, 스토리지, 네트워크들을 서비스로 제공하는 형태를 말한다.Cloud computing can be divided into three areas: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). Software as a service (SaaS) refers to providing a software application service as a service. Platform as a Service (PaaS) refers to a form that provides a standardized platform as a service, not SW. Infrastructure as a Service (IaaS) is a form of providing infrastructure, such as servers, storage, and networks as a service.

최근 호스트 제공자들에 의해 효율적으로 사용되는 세션 관리방법은 웹 아키텍처에서 잘 이용되고 있다. 그러나, 웹 아키텍쳐 구조에서는 "사용한 만큼만 지불"이라는 개념이 없으며, 자원의 활용은 최우선적으로 고려되지 않고 있다. 대신에 서비스 제공자들은 서비스의 제공 가능성, 신뢰성, 견고성 등에 주안점을 두고 있다. 현재 대부분의 웹 서버에서 사용되는 세션 관리 알고리즘은 자원들이 세션의 라이프 사이클 동안에 가능하다는 가설에 의해 개발되었다. 비록 웹 서버들은 다중 서버들의 세션 정보를 복사해 두어 복구 메커니즘을 제공하고 있으나, 클라우드 관리 콘솔에서 단일 명령으로 자원이 추가되거나 제거될 수 있는 클라우드의 동적 특성을 제대로 반영하고 있지 못하다.Recently, session management methods that are efficiently used by host providers are well used in web architectures. However, there is no concept of "pay as much as used" in the web architecture, and the use of resources is not a top priority. Instead, service providers focus on serviceability, reliability and robustness. The session management algorithms currently used in most web servers have been developed based on the hypothesis that resources are available during the life cycle of a session. Although web servers provide a recovery mechanism by copying session information from multiple servers, they do not fully reflect the dynamic nature of the cloud where resources can be added or removed with a single command in the cloud management console.

클라우드 내의 특정 웹 서버에 얽매이지 않는 분산된 세션 관리가 가능하다. 또한, 서비스 요구가 있을 때마다 즉시 서비스를 공급하고, 서비스 요구가 없을 때에는 사용된 자원들을 환원할 수 있다.It enables distributed session management that is not tied to a specific web server in the cloud. In addition, it is possible to immediately supply a service whenever there is a service request, and to return resources used when there is no service request.

본 발명의 일 실시예에 따른 SaaS(Software as a Service)의 분산된 세션 관리 방법은 서비스를 요청한 클라이언트의 SLA(Service Level Agreement)정보를 이용하여 다수의 노드들이 연결된 클라우드 내의 제1 노드를 선택하고, 제1 노드로 라우팅하는 단계와, 제1 노드에서 클라이언트의 세션 요청 정보에 포함된 세션 식별자(session identifier)를 확인하여 세션 정보를 검색하는 단계와, 검색된 세션 정보를 클라이언트로 전송하는 단계를 포함한다.In a distributed session management method of Software as a Service (SaaS) according to an embodiment of the present invention, a first node in a cloud to which a plurality of nodes are connected is selected using service level agreement (SLA) information of a client requesting a service. Routing to the first node, retrieving session information by identifying a session identifier included in session request information of the client at the first node, and transmitting the retrieved session information to the client; do.

본 발명의 일 실시예에 따른 SaaS(Software as a Service)의 분산된 세션 관리 시스템은 서비스를 요청하는 클라이언트를 다수의 노드들이 연결된 클라우드와 연결하는 클라우드 게이트웨이와, 게이트웨이를 통해 접속된 클라이언트로부터 세션 요청 정보를 수신하여 클라우드 내의 하나의 노드를 선택하여 라우팅하는 자원 관리서버와, 클라우드 내의 노드별 세션을 관리하는 세션 관리서버를 포함하며, 세션 관리서버는 노드의 사용 상태 정보를 주기적으로 갱신하여 자원 관리서버로 전송하는 노드 관리부와, 세션 요청 정보를 분석하여 세션 정보를 검색하고, 세션 처리에 필요한 작업을 처리하는하는 작업 처리부를 포함한다.According to an embodiment of the present invention, a distributed session management system of Software as a Service (SaaS) includes a cloud gateway connecting a client requesting a service to a cloud to which a plurality of nodes are connected, and a session request from a client connected through the gateway. It includes a resource management server that receives information and selects and routes one node in the cloud, and a session management server that manages sessions for each node in the cloud. The session management server periodically updates node usage status information to manage resources. It includes a node management unit for transmitting to the server, and a job processing unit for analyzing the session request information to retrieve the session information, and processing the work required for session processing.

이에 따라, 클라우드 컴퓨팅 환경에서 서비스 구축 비용을 절감할 수 있다. 또한, 사용 가능한 리소스를 효과적으로 활용할 수 있다.Accordingly, it is possible to reduce service construction costs in a cloud computing environment. You can also effectively use the available resources.

도 1은 본 발명의 일 실시예에 따른 분산된 세션 관리방법의 흐름도,
도 2a는 본 발명의 일 실시예에 따른 제1 노드를 통한 세션 정보 전송 예시도,
도 2b는 본 발명의 일 실시예에 따른 제2 노드, 제3 노드를 이용한 세션 정보 전송 예시도,
도 3은 본 발명의 일 실시예에 따른 분산된 세션 관리 시스템의 세션 관리서버의 구성도이다.
1 is a flowchart of a distributed session management method according to an embodiment of the present invention;
2A illustrates an example of transmitting session information through a first node according to an embodiment of the present invention;
2B is a diagram illustrating session information transmission using a second node and a third node according to an embodiment of the present invention;
3 is a block diagram of a session management server of a distributed session management system according to an embodiment of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 판례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The terms used are terms selected in consideration of functions in the embodiments, and the meaning of the terms may vary depending on the intention or precedent of the user or operator. Therefore, the meaning of the terms used in the embodiments to be described later, according to the definition if specifically defined herein, and if there is no specific definition should be interpreted to mean generally recognized by those skilled in the art.

도 1은 본 발명의 일 실시예에 따른 분산된 세션 관리방법의 흐름도이다.1 is a flowchart of a distributed session management method according to an embodiment of the present invention.

도 1을 참조하면, 먼저 서비스를 요청한 클라이언트의 SLA(Service Level Agreement)정보를 이용하여 다수의 노드들이 연결된 클라우드 내의 제1 노드를 선택하고, 제1 노드로 라우팅한다(110). 즉, 클라이언트가 게이트웨이(200)를 통하여 다수의 노드들이 연결된 SaaS 클라우드에 접속하면, 클라이언트의 서비스 요청 정보를 분석하여 최적의 노드를 선택하고, 해당 노드로 라우팅하는 것이다. 여기서, 최적의 노드는 클라이어트의 SLA에 따라 컴퓨트 노드와 서비스 인스턴스 등의 리소스를 선택하게 된다.Referring to FIG. 1, first, a first node in a cloud to which a plurality of nodes are connected using service level agreement (SLA) information of a client requesting a service is selected and routed to the first node (110). That is, when the client accesses the SaaS cloud to which a plurality of nodes are connected through the gateway 200, the client analyzes the service request information of the client, selects an optimal node, and routes the corresponding node. Here, the optimal node selects resources such as compute nodes and service instances according to the client's SLA.

이러한 리소스 유형은 각 노드의 처리 가능성에 대한 정보를 제공하는 리소스 활용 정보를 필요로 한다. 예를 들어, 선택한 노드가 현재 자원 활용이 불가능한 경우에는 클라이언트 서비스에 대한 지원이 지연될 수 밖에 없다. 따라서, 현재 클라우드 내의 연결된 노드들의 자원 활용 정보를 주기적으로 갱신함으로써, 어느 노드가 자원 활용이 가능한지를 파악할 수 있다.This resource type requires resource utilization information that provides information about the processability of each node. For example, if the selected node is currently unable to utilize resources, support for client services will be delayed. Therefore, by periodically updating the resource utilization information of the nodes currently connected in the cloud, it is possible to determine which node can use the resource.

다음으로, 제1 노드에서 클라이언트의 세션 요청 정보에 포함된 세션 식별자(session identifier)를 확인하여 세션 정보를 검색한다(120). 여기서, 제1 노드는 클라이언트의 서비스 요청에 대응하여 가장 적합한 리소스를 가진 노드를 말한다. 제1 노드에서는 클라이언트에게 서비스를 제공하기 위해 세션이 이루어져야 한다. 이 경우, 제1 노드에서는 해당 클라이언트가 보내온 세션 요청 정보 중 세션 식별자를 확인한다. 해당 세션 식별자와 매칭되는 세션 정보가 제1 노드에 존재하는지 판단하게 된다(130).Next, the first node searches for session information by checking a session identifier included in session request information of the client (120). Here, the first node refers to a node having the most suitable resource in response to the service request of the client. In the first node, a session must be established to provide a service to a client. In this case, the first node checks a session identifier among session request information sent by the corresponding client. In operation 130, it is determined whether session information matching the corresponding session identifier exists in the first node.

HTTP(hypertext transfer protocol) 포스트 요청의 경우, 일단 서비스 요청을 받으면, 각 서비스는 세션 정보를 필요로 한다. 그러나, 본 발명의 세션 관리방법의 경우 서비스의 특정 인스턴스에 영향을 받지 않는다. 세션은 세션 식별자에 대응하는 컴퓨트 노드에 영향을 받는다. 클라우드 내에 세션을 위치시키기 위해, 세션 식별자는 세션 정보를 간직하는 노드를 나타내는 역할을 한다.In the case of a hypertext transfer protocol (HTTP) post request, once a service request is received, each service needs session information. However, the session management method of the present invention is not affected by a specific instance of a service. The session is affected by the compute node corresponding to the session identifier. To locate a session in the cloud, the session identifier serves to indicate the node that holds the session information.

제1 노드에서 세션 정보가 존재하면, 이를 추출하여 클라이언트 측에 세션 정보를 전송한다(170). 이에 따라, 해당 클라이언트와 제1 노드 간의 세션이 성립하게 된다.If session information exists in the first node, the session information is extracted and transmitted to the client side (170). Accordingly, a session between the client and the first node is established.

만약, 제1 노드에서 해당 클라이언트의 세션 정보를 획득할 수 없는 경우에는 세션 정보를 가진 제2 노드(500)를 검색한다(140). 이는, 클라우드 내의 연결된 다수의 노드들 중에서 클라이언트가 요구하는 서비스를 제공하는데 필요한 세션 정보를 가진 제2 노드(500)를 찾기 위한 것이다. 이 경우, 제1 노드에서는 자신의 핑거 테이블을 검색하여 해당 세션 식별자를 가진 노드를 확인하고, 제2 노드(500)에 클라이언트의 세션 요청 정보를 전송하고, 제2 노드(500)로부터 세션 정보를 수신한다(150). 다시 말해, 제1 노드는 세션 정보를 가진 제2 노드(500)를 검색하여 세션 정보를 획득하는 것이다.If the first node cannot obtain session information of the corresponding client, the second node 500 having the session information is searched for (140). This is to find the second node 500 having session information necessary to provide a service required by a client among a plurality of connected nodes in the cloud. In this case, the first node searches its own finger table to identify the node having the corresponding session identifier, transmits the session request information of the client to the second node 500, and transmits the session information from the second node 500. Receive 150. In other words, the first node searches for the second node 500 having the session information to obtain session information.

만약, 세션 정보를 가진 제2 노드(500)에 식별정보를 핑거 테이블에서 찾을 수 없는 경우에는 제2 노드(500)와 연결된 가장 근접한 제3 노드(400)를 검색하고, 제3 노드(400)로 클라이언트의 세션 요청 정보를 전송한다(160). 즉, 제1 노드의 핑거 테이블에 세션 요청 정보에 포함된 세션 식별자에 대응하는 노드가 없는 경우에, 차선책으로 제2 노드(500)에 세션 요청 정보를 전송할 수 있는 제3 노드(400)를 검색하고, 제3 노드(400)에 세션 요청 정보를 전송하는 것이다. 이 경우, 제3 노드(400)는 제1 노드로부터 세션 요청 정보를 수신하고, 자신의 핑거 테이블을 검색하여 해당 세션 식별자에 대응하는 노드인 제2 노드(500)로 세션 요청 정보를 전송한다.If identification information cannot be found in the finger table of the second node 500 having session information, the third node 400 is searched for the closest third node 400 connected to the second node 500, and the third node 400 is located. The client transmits the session request information of the client (160). That is, when there is no node corresponding to the session identifier included in the session request information in the finger table of the first node, the third node 400 that can transmit the session request information to the second node 500 as a second best option is searched. The session request information is transmitted to the third node 400. In this case, the third node 400 receives the session request information from the first node, searches for its own finger table, and transmits the session request information to the second node 500 which is a node corresponding to the corresponding session identifier.

제2 노드(500)에서는 세션 요청 정보를 추출하여, 이를 제3 노드(400)가 아닌 제1 노드로 직접 전송한다. 이는, 세션 정보를 제3 노드(400)를 경유하여 전송하지 않고, 직접 전송함으로써, 응답 시간을 감소시키기 위함이다. 제1 노드로 전송된 세션 정보를 클라이언트 측에 전송된다. 이에 따라, 클라이언트와 제2 노드(500)간의 세션이 성립된다.
The second node 500 extracts the session request information and directly transmits the session request information to the first node instead of the third node 400. This is to reduce the response time by directly transmitting the session information instead of the third node 400. The session information transmitted to the first node is transmitted to the client side. Accordingly, a session between the client and the second node 500 is established.

도 2a는 본 발명의 일 실시예에 따른 제1 노드를 통한 세션 정보 전송 예시도이고, 도 2b는 본 발명의 일 실시예에 따른 제2 노드(500), 제3 노드(400)를 이용한 세션 정보 전송 예시도이다.2A illustrates an example of transmitting session information through a first node according to an embodiment of the present invention, and FIG. 2B illustrates a session using a second node 500 and a third node 400 according to an embodiment of the present invention. An example of information transmission.

도 2a를 참조하면, 클라우드 내에는 최대 16개의 컴퓨트 노드를 포함하는 것을 나타낸다. 이와 같은 chord 링에서 검은색의 원은 컴퓨트 노드의 부재를 나타내고, 하얀색의 원은 실제 라우팅될 수 있는 컴퓨트 노드를 나타낸다. 각 컴퓨트 노드는 chord 링을 유지하고, 처리 용량에 관한 자원 관리를 위해 긴밀한 관계를 유지하고 있다. 이러한 정보는 자동적으로 라우팅을 요청하고, 서비스 스케일링에 도움을 준다. 각 컴퓨트 노드는 chord의 successor에 연결되고, 추가적으로 다른 노드들에 세션 검색 쿼리를 라우트하기 위한 핑거 테이블을 획득한다.Referring to FIG. 2A, the cloud includes up to 16 compute nodes. In such chord rings, black circles represent the absence of compute nodes, and white circles represent the compute nodes that can actually be routed. Each compute node maintains a chord ring and maintains a close relationship for resource management regarding processing capacity. This information automatically requests routing and aids in scaling the service. Each compute node is connected to the successor of chord and additionally obtains a finger table for routing session search queries to other nodes.

도 2a에서, 클라우드 게이트웨이(200)를 통해 접속된 클라이언트의 서비스 요청에 대해 자원 관리서버(250)는 가장 적합한 노드를 검색한다. 클라우드 게이트웨이(200)는 SaaS의 출입 지점이다. 클라우드에 의해 공급되는 모든 서비스는 클라우드 게이트웨이(200)를 통해 접근이 가능하다. 클라이언트 응용프로그램들은 오직 클라우드 게이트웨이(200)와 소통하기 때문에, 하나의 서비스에 다중 인스턴스들이 실행될 때에 서비스 바인딩을 변화할 필요가 없다.In FIG. 2A, the resource management server 250 searches for the most suitable node for the service request of the client connected through the cloud gateway 200. The cloud gateway 200 is an access point of SaaS. All services provided by the cloud are accessible through the cloud gateway 200. Because client applications only communicate with the cloud gateway 200, there is no need to change the service binding when multiple instances of a service are executed.

자원관리 서버는 클라우드 내의 전체 노드의 자원 활용에 관한 정보를 가지고 있다. 이는 병목 현상을 피하기 위한 것이다. 자원 관리서버(250)는 클라이언트의 서비스 요청에 대해 지속적으로 최적의 활용 리소스들로 라우팅을 한다. 예를 들어, 3번 노드가 제1 노드로 선택되면, 자원 관리서버(250)는 3번 노드의 세션 관리서버(300)로 클라이언트의 세션 요청 정보를 전송한다. 세션 관리서버(300)는 자신의 핑거 케이블을 이용하여, 세션 식별자에 대응하는 세션 정보가 있는 경우, 이를 추출하여 자원 관리서버(250)로 전송한다. 이에 따라, SaaS 클라우드내의 분산된 세션 관리를 수행할 수 있다.The resource management server has information on resource utilization of all nodes in the cloud. This is to avoid bottlenecks. The resource management server 250 continuously routes to optimal utilization resources for the service request of the client. For example, when node 3 is selected as the first node, the resource management server 250 transmits session request information of the client to the session management server 300 of node 3. The session management server 300 extracts the session information corresponding to the session identifier using its finger cable, and transmits the extracted session information to the resource management server 250. Accordingly, distributed session management in the SaaS cloud can be performed.

한편, 제1 노드인 3번 노드의 세션 관리서버(300)에서 세션 정보를 찾을 수 없는 경우에는 세션 정보를 가진 제2 노드(500)를 검색하여 세션 정보를 전송할 수 있다. 다만, 제2 노드(500)에 대한 직접적인 세션 식별자 정보 등을 알 수 없는 경우 제2 노드(500)와 가장 근접한 제3 노드(400)를 검색하게 된다. 제1 노드측에서 제3 노드(400)로 세션 요청 정보를 전송하면, 제3 노드(400)는 이를 수신하고 해당 세션 식별자를 가지는 노드를 검색하여 세션 요청 정보를 전송할 수 있다.On the other hand, if the session management server 300 of the third node that is the first node can not find the session information, the second node 500 having the session information can be searched to transmit the session information. However, if the direct session identifier information about the second node 500 is unknown, the third node 400 that is closest to the second node 500 is searched. When the first node transmits the session request information to the third node 400, the third node 400 may receive the request, search for a node having the corresponding session identifier, and transmit the session request information.

제2 노드(500)는 제3 노드(400)로부터 서비스 요청 정보를 수신하고, 이에 대응하여 세션 정보를 추출한다. 추출된 세션 정보에 대하여 이를 제3 노드(400)로 전송할 수도 있지만, 이를 제1 노드에 직접 전송한다. 이는 응답시간을 줄이기 위한 것이다. 이에 따라, 제1 노드는 제2 노드(500)로부터 세션 정보를 수신하여 이를 자원 관리서버(250)로 전송한다. 이와 같이 제2 노드(500)와 제3 노드(400)를 이용하는 세션 관리방법과 관련해서는 도 2b에 도시되어 있다.
The second node 500 receives service request information from the third node 400 and extracts session information correspondingly. The extracted session information may be transmitted to the third node 400, but is directly transmitted to the first node. This is to reduce the response time. Accordingly, the first node receives the session information from the second node 500 and transmits it to the resource management server 250. As such, a session management method using the second node 500 and the third node 400 is illustrated in FIG. 2B.

도 3은 본 발명의 일 실시예에 따른 분산된 세션 관리 시스템의 세션 관리서버(300)의 구성도이다.3 is a block diagram of a session management server 300 of a distributed session management system according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 분산된 세션 관리 시스템의 세션 관리서버(300)는 통신부(310), 노드 관리부(330), 작업 처리부(350), 세션 관리부(370), 서비스 관리부(390)를 포함한다. 통신부(310)는 클라우드 내의 다른 노드와 네트워크 통신을 하고, 자원 관리서버(250)와도 데이터 통신을 하는 역할을 한다.Referring to FIG. 3, the session management server 300 of the distributed session management system according to an embodiment of the present invention includes a communication unit 310, a node manager 330, a job processor 350, a session manager 370, The service manager 390 is included. The communication unit 310 performs network communication with other nodes in the cloud and also performs data communication with the resource management server 250.

노드 관리부(330)는 클라이언트의 SLA에 따라 적합한 서비스 인스턴스를 선택함으로써, 자원 관리서버(250)를 보조하는 역할을 한다. 노드 관리부(330)는 주기적으로 리소스 활용에 대한 정보를 주기적으로 업데이트하여 자원 관리서버(250)로 전송한다. 노드 관리부(330)는 노드의 응답 시간을 분석하기 위해 웹 서버의 워커 스레드(worker thread)를 감시한다. 같은 노드에 너무 많은 요청이 곁치는 상황을 피하기 위해, 노드 관리부(330)는 지속적으로 노드의 처리 용량을 검사하고, 이를 자원 관리서버(250)로 업데이트한다.The node manager 330 assists the resource management server 250 by selecting an appropriate service instance according to the SLA of the client. The node manager 330 periodically updates information on resource utilization and transmits the information to the resource management server 250. The node manager 330 monitors a worker thread of the web server to analyze the response time of the node. In order to avoid the situation that too many requests to the same node, the node manager 330 continuously checks the processing capacity of the node, and updates it to the resource management server 250.

작업 처리부(350)는 자원 관리서버(250)의 전반적인 기능들을 제어한다. 작업 처리부(350)는 예를 들어, 키 밸류(세션 식별자) 검색, 핑거 테이블(finger table) 스캔, 세션 요청 정보 전달 등과 같은 기능을 제어한다. SaaS 클라우드에서, 작업 처리부(350)는 모든 활성화된 세션의 일부를 저장한다. 자원 관리서버(250)는 컴퓨트 노드에 독특한 작업 식별자를 할당한다. 세션들은 작업 식별자에 대응하여 각 컴퓨트 노드에 할당된다.The job processor 350 controls the overall functions of the resource management server 250. The task processor 350 controls functions such as key value (session identifier) search, finger table scan, session request information transfer, and the like. In the SaaS cloud, the task processor 350 stores a part of all activated sessions. Resource management server 250 assigns a unique job identifier to the compute node. Sessions are assigned to each compute node corresponding to the job identifier.

세션 관리부(370)는 세션이 존재하지 않거나 세션의 유효기간이 만료된 경우에는 새로운 세션을 생성한다. 모든 세션은 특정한 기간 동안만 유효하고, 그 이후에는 제거된다. 만약 클라이언트 응용 프로그램이 쌍방향 응용 프로그램인 경우, 이는 전통적인 웹 응용 프로그램과 비교하여 보다 신속한 응답이 필요하기 때문에 세션 관리의 중요성이 더욱 증대된다. 게다가, 웹 응용 프로그램들이 데스크탑과 함께 기능들을 제공함에 따라, 비지니스 객체들은 더 많은 메모리 공간과 감소된 검색시간을 요구하는 세션 변수가 요구되고 있다.The session manager 370 creates a new session when the session does not exist or the validity period of the session expires. All sessions are valid only for a certain period of time, after which they are dropped. If the client application is an interactive application, then session management becomes more important because it requires faster response compared to traditional web applications. In addition, as web applications provide features with the desktop, business objects are demanding session variables that require more memory space and reduced retrieval time.

서비스 관리부(390)는 단일 컴퓨트 노드에서 호스트 서비스들의 모든 것을 계속 추적한다. 서비스 관리부(390)는 효율적인 리소스 활용을 위한 스케일링이 필요한 서비스를 결정하는 역할을 한다. 서비스 관리부(390)는 세션 검색 시간을 감소시키는데 도움이되는 웹 서버의 작업 처리를 분석하여 노드 관리부(330)로 전송한다.The service manager 390 keeps track of all of the host services on a single compute node. The service manager 390 determines a service that requires scaling for efficient resource utilization. The service manager 390 analyzes the job processing of the web server, which helps reduce the session retrieval time, and transmits the job processing to the node manager 330.

이상에서 본 발명은 도면을 참조하면서 기술되는 바람직한 실시예를 중심으로 설명되었지만 이에 한정되는 것은 아니다. 따라서 본 발명은 기재된 실시예로부터 도출 가능한 자명한 변형예를 포괄하도록 의도된 특허청구범위의 기재에 의해 해석되어져야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, Accordingly, the invention should be construed by the description of the claims, which are intended to cover obvious variations that can be derived from the described embodiments.

200 : 클라우드 게이트웨이
250 : 자원 관리서버
300 : 세션 관리서버
310 ; 통신부
330 : 노드 관리부
350 : 작업 처리부
370 : 세션 관리부
390 : 서비스 관리부
400 : 제3 노드
500 : 제2 노드
200: cloud gateway
250: resource management server
300: session management server
310; Communication
330: node management unit
350: work processing unit
370: session management unit
390: service management unit
400: third node
500: second node

Claims (8)

SaaS(Software as a Service)의 세션 관리 방법에 있어서,
서비스를 요청한 클라이언트의 SLA(Service Level Agreement)정보를 이용하여 다수의 노드들이 연결된 클라우드 내의 제1 노드를 선택하고, 상기 제1 노드로 라우팅하는 단계와;
상기 제1 노드에서 상기 클라이언트의 세션 요청 정보에 포함된 세션 식별자(session identifier)를 확인하여 세션 정보를 검색하는 단계; 및
상기 검색된 세션 정보를 상기 클라이언트로 전송하는 단계를 포함하는 SaaS(Software as a Service)의 분산된 세션 관리 방법.
In the session management method of SaaS (Software as a Service),
Selecting a first node in a cloud to which a plurality of nodes are connected by using service level agreement (SLA) information of a client requesting a service, and routing to the first node;
Retrieving session information from the first node by checking a session identifier included in session request information of the client; And
The distributed session management method of Software as a Service (SaaS) comprising the step of transmitting the retrieved session information to the client.
제1항에 있어서, 상기 분산된 세션 관리 방법은,
상기 제1 노드에서 상기 세션 정보가 검색되지 않은 경우, 핑거 테이블(finger table)을 이용하여 상기 세션 정보를 가진 제2 노드를 검색하는 단계;
상기 제2 노드로 상기 세션 요청 정보를 전송하는 단계를 더 포함하는 SaaS(Software as a Service)의 분산된 세션 관리 방법.
The method of claim 1, wherein the distributed session management method comprises:
If the session information is not found at the first node, searching for a second node having the session information using a finger table;
The method of claim 1, further comprising transmitting the session request information to the second node.
제2항에 있어서, 상기 분산된 세션 관리 방법은,
상기 세션 정보를 가진 제2 노드가 검색되지 않은 경우, 상기 제2 노드와 가장 근접한 제3 노드를 검색하고, 상기 제3 노드로 상기 세션 요청 정보를 전송하는 단계; 및
상기 제3 노드에서 상기 제2 노드를 검색하는 단계를 더 포함하는 SaaS(Software as a Service)의 분산된 세션 관리 방법.
The method of claim 2, wherein the distributed session management method comprises:
If a second node having the session information is not found, searching for a third node closest to the second node and transmitting the session request information to the third node; And
And searching for the second node in the third node. The distributed session management method of Software as a Service (SaaS).
제3항에 있어서,
상기 제2 노드는 상기 세션 정보를 상기 제1 노드로 전송하는 SaaS(Software as a Service)의 분산된 세션 관리 방법.
The method of claim 3,
The second node is a distributed session management method of Software as a Service (SaaS) for transmitting the session information to the first node.
서비스를 요청하는 클라이언트를 다수의 노드들이 연결된 클라우드와 연결하는 클라우드 게이트웨이와, 상기 게이트웨이를 통해 접속된 클라이언트로부터 세션 요청 정보를 수신하여 상기 클라우드 내의 하나의 노드를 선택하여 라우팅하는 자원 관리서버와, 상기 클라우드 내의 노드별 세션을 관리하는 세션 관리서버를 포함하는 SaaS(Software as a Service)의 세션 관리 시스템에 있어서,
상기 세션 관리서버는,
상기 노드의 사용 상태 정보를 주기적으로 갱신하여 상기 자원 관리서버로 전송하는 노드 관리부; 및
상기 세션 요청 정보를 분석하여 세션 정보를 검색하고, 세션 처리에 필요한 작업을 관리하는 작업 처리부를 포함하는 것을 특징으로 하는 SaaS(Software as a Service)의 분산된 세션 관리 시스템.
A cloud gateway connecting a client requesting a service to a cloud to which a plurality of nodes are connected; a resource management server configured to receive session request information from a client connected through the gateway and to select and route one node in the cloud; In the session management system of Software as a Service (SaaS) including a session management server for managing sessions for each node in the cloud,
The session management server,
A node manager for periodically updating the use state information of the node and transmitting the updated state information to the resource management server; And
And a task processing unit for analyzing the session request information, searching for session information, and managing a task required for processing a session.
제5항에 있어서, 상기 세션 관리서버는,
상기 클라이언트로의 세션을 승인하거나 새로운 세션을 생성하는 세션 관리부; 및
상기 클라이언트가 요청한 서비스의 실행에 필요한 자원을 계산하여, 상기 자원 관리서버 및 상기 노드 관리부로 전송하는 서비스 관리부를 더 포함하는 것을 특징으로 하는 SaaS(Software as a Service)의 분산된 세션 관리 시스템.
The method of claim 5, wherein the session management server,
A session manager for approving a session with the client or creating a new session; And
And a service management unit for calculating a resource necessary for executing a service requested by the client and transmitting the calculated resource to the resource management server and the node management unit.
제5항에 있어서, 상기 작업 처리부는,
상기 노드에서 상기 세션 정보가 검색되지 않은 경우, 상기 세션 정보를 가진 상기 클라우드 내의 다른 노드를 검색하고, 검색된 노드로 상기 세션 요청 정보를 전송하는 것을 특징으로 하는 SaaS(Software as a Service)의 분산된 세션 관리 시스템.
According to claim 5, The job processing unit,
When the session information is not retrieved from the node, another node in the cloud having the session information is searched, and the session request information is transmitted to the retrieved node. Session Management System.
제7항에 있어서, 상기 작업 처리부는,
상기 세션 정보를 가진 노드가 검색되지 않은 경우, 상기 세션 정보를 가진 노드에 가장 근접한 노드를 검색하여, 상기 근접 노드로 상기 세션 요청 정보를 전송하는 것을 특징으로 하는 SaaS(Software as a Service)의 분산된 세션 관리 시스템.
The method of claim 7, wherein the job processing unit,
If the node having the session information is not found, the node that is closest to the node having the session information is searched, and distribution of the Software as a Service (SaaS) is characterized by transmitting the session request information to the neighbor node. Session management system.
KR1020100093389A 2010-09-27 2010-09-27 METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF KR101146742B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100093389A KR101146742B1 (en) 2010-09-27 2010-09-27 METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100093389A KR101146742B1 (en) 2010-09-27 2010-09-27 METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF

Publications (2)

Publication Number Publication Date
KR20120031792A KR20120031792A (en) 2012-04-04
KR101146742B1 true KR101146742B1 (en) 2012-05-17

Family

ID=46135154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100093389A KR101146742B1 (en) 2010-09-27 2010-09-27 METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF

Country Status (1)

Country Link
KR (1) KR101146742B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058350A (en) 2016-11-24 2018-06-01 주식회사 부뜰정보시스템 Processor or providing enterprise type solution

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101467516B1 (en) * 2013-01-15 2014-12-10 경희대학교 산학협력단 Relay device for cloud services and mathod for repayment of thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060072432A (en) * 2004-12-23 2006-06-28 한라공조주식회사 Air conditioning system for vehicles
KR20070059807A (en) * 2005-12-07 2007-06-12 한국전자통신연구원 Method and apparatus for providing streaming service based on p2p, and streaming service system using the same
KR100781725B1 (en) 2002-12-19 2007-12-03 인터내셔널 비지네스 머신즈 코포레이션 Method and system for peer-to-peer authorization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781725B1 (en) 2002-12-19 2007-12-03 인터내셔널 비지네스 머신즈 코포레이션 Method and system for peer-to-peer authorization
KR20060072432A (en) * 2004-12-23 2006-06-28 한라공조주식회사 Air conditioning system for vehicles
KR20070059807A (en) * 2005-12-07 2007-06-12 한국전자통신연구원 Method and apparatus for providing streaming service based on p2p, and streaming service system using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058350A (en) 2016-11-24 2018-06-01 주식회사 부뜰정보시스템 Processor or providing enterprise type solution

Also Published As

Publication number Publication date
KR20120031792A (en) 2012-04-04

Similar Documents

Publication Publication Date Title
CN108737270B (en) Resource management method and device for server cluster
CN101690132B (en) Method and device for executing configuration protocol request of network host
US8595722B2 (en) Preprovisioning virtual machines based on request frequency and current network configuration
CN104219127B (en) A kind of creation method and equipment of virtual network example
CN107431651B (en) Life cycle management method and equipment for network service
CN109729106B (en) Method, system and computer program product for processing computing tasks
US20050228855A1 (en) Acquisition system for distributed computing resources
KR20160087706A (en) Apparatus and method for resource allocation of a distributed data processing system considering virtualization platform
US10819650B2 (en) Dynamically adaptive cloud computing infrastructure
US7966394B1 (en) Information model registry and brokering in virtualized environments
JP4812680B2 (en) Access control device
CN111343262B (en) Distributed cluster login method, device, equipment and storage medium
WO2015182281A1 (en) On-board information system and information processing method therefor
US10587680B2 (en) Efficient transaction level workload management across multi-tier heterogeneous middleware clusters
KR101146742B1 (en) METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF
RU2696299C2 (en) Control when initiating elementary tasks on server platform
CN106933654B (en) Virtual machine starting method based on cache
JP2005310120A (en) Computer system, and task assigning method
US7716678B2 (en) Processing messages in a message queueing system
CN112019362A (en) Data transmission method, device, server, terminal, system and storage medium
US10148518B2 (en) Method and apparatus for managing computer system
JP2010130440A (en) Communication management system, communication management method and program
US20120054812A1 (en) METHOD AND APPARATUS FOR MULTIPLEXING SERVICE DELIVERY WITH QUALITY OF SERVICE (QoS) GUARANTEE
CN115277586B (en) Pod flow processing method, system, equipment and storage medium
US11188389B2 (en) Distributed system that promotes task-machine affinity

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: 20150417

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee