KR101221624B1 - 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법 - Google Patents

클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법 Download PDF

Info

Publication number
KR101221624B1
KR101221624B1 KR1020100106786A KR20100106786A KR101221624B1 KR 101221624 B1 KR101221624 B1 KR 101221624B1 KR 1020100106786 A KR1020100106786 A KR 1020100106786A KR 20100106786 A KR20100106786 A KR 20100106786A KR 101221624 B1 KR101221624 B1 KR 101221624B1
Authority
KR
South Korea
Prior art keywords
calculation
module
cloud
server
user
Prior art date
Application number
KR1020100106786A
Other languages
English (en)
Other versions
KR20120045322A (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 KR1020100106786A priority Critical patent/KR101221624B1/ko
Publication of KR20120045322A publication Critical patent/KR20120045322A/ko
Application granted granted Critical
Publication of KR101221624B1 publication Critical patent/KR101221624B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 인터넷을 통한 컴퓨팅 자원의 온 디멘드 아웃소싱을 제공하는 클라우드 컴퓨팅 기술을 기반으로, 스프레드 시트를 클라우드 내의 여러 서버에서 병렬로 실행하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템을 개시한다. 개시된 본 발명은, 워크북, 워크시트 및 셀로 구성된 스프레드 시트와 계산컴포넌트를 구비하고, 상기 스프레드 시트의 프로그램 기능을 이용하여 사용자 정의 함수를 생성하는 사용자 컴퓨터; 상기 사용자 컴퓨터에 인터넷으로 연결되어, 상기 사용자 컴퓨터의 계산 요청에 대해 스케줄링을 하고 스케줄링된 작업대로 후술하는 클라우드 서버에 계산을 요청하는 스케줄러 서버; 및 상기 스케줄러 서버에 클라우드망으로 연결되어, 상기 스케줄러 서버에서 요청한 계산을 실제 수행하는 다수의 클라우드 서버;를 포함한다. 이에 의하면, 여러 대의 서버에서 연산 작업을 병렬로 수행하기 때문에, 작업 시간을 단축시킬 수 있으며, 계산 결과 값을 스프레드 시트의 각 셀의 계산식과 같이 설정함으로써, 사용자가 정의한 결과 값 적용 후에도 계산식을 그대로 사용할 수 있다. 또한, 원격 서버의 구성을 클라우드 서버의 가상머신을 이용함으로써 사용자가 서버 컴퓨터를 구비할 필요가 없어 비용이 절감되고, 사용자가 만든 계산컴포넌트가 잘못된 연산을 수행하여 수행되는 서버에 장애가 발생하거나 해킹을 시도해도 다른 작업에는 영향을 주지 않는다.

Description

클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법{SYSTEM OF PROCESSING CLOUD COMPUTING-BASED SPREADSHEET AND METHOD THEREOF}
본 발명은 데이터의 입력, 계산, 검색, 관리를 일괄하여 처리해 주는 스프레드 시트에 관한 것이며, 보다 구체적으로는 인터넷을 통한 컴퓨팅 자원의 온 디멘드(On demand) 아웃소싱을 제공하는 클라우드 컴퓨팅 기술을 기반으로 하여, 스프레드 시트를 클라우드 내의 여러 서버에서 병렬로 실행하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법에 관한 것이다.
스프레드 시트는 데이터의 입력, 계산, 검색, 관리를 일괄하여 처래해 주는 프로그램으로, 대표적인 상용 스프레드 시트로는 로터스 1-2-3과 마이크로소프트 엑셀 등이 있다. 이러한 스프레드 시트의 출현으로 사용자는 더 이상 전자계산기나 기록용지를 사용할 필요가 없어졌으며, 데이터 작업에 소요되는 시간을 절약할 수 있게 되었다. 컴퓨터의 연산 속도가 빨라지고 용량이 커짐에 따라 많은 자료의 통계 처리 등에 있어 스프레드 시트는 필수의 소프트웨어로 자리 잡았다.
상기와 같은 스프레드 시트를 이용하여 데이터 분석 작업을 수행하는데 있어 종래에는 스프레드 시트가 실행되는 로컬 컴퓨터의 시스템 자원(CPU, 메모리 등)만을 활용할 수 있어서 동일한 알고리즘을 반복해서 수행하는 업무에서는 시간이 많이 소요되는 문제가 있다.
상기 문제를 해소하기 위하여, 워크시트의 전체 내용을 분산된 서버로 전송하여 작업을 수행하고 결과를 워크시트에 반영하는 방식이 있으나, 이러한 방식은 다음과 같은 문제가 있다.
1)계산 결과 값이 계산식을 작성한 워크시트가 아닌 별도의 워크시트에 반영되거나 사용자의 계산식을 결과 값으로 대체하여 계산식으로 계속 활용할 수 없다.
2)일반적으로 워크시트의 경우 참조 값이 변경되면 해당 값을 참조하는 셀만 계산이 이루어지는데 반해, 상기 종래의 방식은 워크시트 계산시 모든 셀이 계산된다.
3)사용자가 만든 계산 컴포넌트가 악의적으로 수행되는 원격 장비에 잘못된 연산을 수행할 경우 다른 작업에도 영향을 미친다.
한편, 최근 컴퓨팅 환경은, 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅 형태로 진화하고 있다. 클라우드 컴퓨팅 서비스란, 인터넷과 같은 정보 통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다.
클라우드 컴퓨팅 환경에서는, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들이 필요로 하는 서비스를 제공하게 된다. 서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(Operation System), 보안(Security) 등의 필요한 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상공간 상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용하게 된다. 사용자는 각 컴퓨팅 자원의 구입 비용을 지불하는 것이 아니라 사용량에 기반하여 대가를 지불하게 된다.
이러한 클라우드 컴퓨팅 서비스에 따르면, 사용자들은 어떠한 장소에서든 네트워크 접속과 기본적인 연산 기능만을 수행하는 단말을 통해 클라우드 망에 접속하여 대용량의 저장장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 고도화된 서비스들도 제공받을 수 있는 장점이 있다.
따라서, 스프레드 시트를 상기 클라우드 컴퓨팅 기술을 이용하여 여러대의 가상 서버에서 실행하면 상기한 바와 같은 종래의 방식 1 및 2, 즉 스프레드 시트를 로컬 컴퓨터에서 실행하는 제1방식 및 워크시트의 전체 내용을 분산된 서버로 전송하여 작업을 수행하고 결과를 워크시트에 반영하는 제2방식의 문제를 해소할 수 있을 것이다.
본 발명은 상기와 같은 점을 감안하여 안출한 것으로, 클라우드 컴퓨팅 기술을 기반으로 하여, 스프레드 시트를 클라우드 내의 여러 서버에서 병렬로 실행함으로써, 작업 시간을 단축시킬 수 있는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은, 클라우드 컴퓨팅 기술을 기반으로 하여, 스프레드 시트를 클라우드 내의 여러 서버에서 병렬로 실행함으로써, 사용자가 정의한 결과 값 적용 후에도 계산식을 그대로 사용할 수 있으며, 특정 값의 변경에 영향을 받는 셀만 계산하도록 되어 있는 스프레드 시트의 장점을 그대로 사용할 수 있고, 특정 사용자의 작업이 다른 사용자의 작업에 영향을 주지 않는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템은, 워크북, 워크시트 및 셀로 구성된 스프레드 시트와 계산컴포넌트를 구비하고, 상기 스프레드 시트의 프로그램 기능을 이용하여 사용자 정의 함수를 생성하는 사용자 컴퓨터; 상기 사용자 컴퓨터에 인터넷으로 연결되어, 상기 사용자 컴퓨터의 계산 요청에 대해 스케줄링을 하고 스케줄링된 작업대로 후술하는 클라우드 서버에 계산을 요청하는 스케줄러 서버; 및 상기 스케줄러 서버에 클라우드망으로 연결되어, 상기 스케줄러 서버에서 요청한 계산을 실제 수행하는 다수의 클라우드 서버;를 포함한다.
상기 사용자 컴퓨터는, 상기 워크시트의 각 셀에서 수행되는 계산식 중 상기 클라우드 서버로 전송되어야 할 정보를 수집하여 임시 메모리에 저장하는 계산정보수집모듈; 상기 계산정보수집모듈에 의해 수집된 정보와 상기 계산컴포넌트를 상기 스케줄러 서버로 전송하여 클라우드 서버에서 계산을 실행하도록 하는 클라우드실행모듈; 상기 스케줄러 서버로부터 계산 결과를 수신받아 상기 워크시트에 반영하는 계산결과반영모듈; 및 상기 스케줄러 서버의 작업 진행 상황을 모니터링하여 작업 정보를 화면에 표시하는 작업모니터링모듈;을 포함할 수 있다.
또한, 상기 스케줄러 서버는, 상기 사용자 컴퓨터로부터 전송된 계산컴포넌트를 실제 계산을 수행할 상기 클라우드 서버로 배포하는 계산컴포넌트배포모듈; 상기 사용자 컴퓨터로부터 계산 요청을 받으면 상기 클라우드 서버의 현재 사용 가능한 가상머신 목록을 이용하여 작업을 스케줄링하고 스케줄링된 작업대로 각 가상머신에 계산을 요청하는 계산스케줄링모듈; 상기 사용자 컴퓨터로부터 계산 결과 전송 요청을 받으면 상기 계산스케줄링모듈에 의해 계산된 결과를 상기 사용자 컴퓨터로 전송하는 계산결과전송모듈; 및 상기 클라우드 서버의 가상머신 상황을 모니터링하여 현재 사용 가능한 가상머신 대수와 목록 정보를 갱신하여 상기 계산스케줄링모듈에 제공하는 가상머신모니터링모듈;을 포함할 수 있다.
또한, 상기 클라우드 서버는 각각, 상기 사용자 컴퓨터로부터 전송된 계산컴포넌트를 실행하는 계산실행모듈을 구비하는 다수의 가상머신; 및 상기 가상머신을 실행하고 중지하는 작업을 수행하는 가상머신관리모듈;을 포함할 수 있으며, 상기 다수의 가상머신은 각 작업간에 독립적으로 계산 할당이 이루어질 수 있다.
한편, 본 발명의 목적을 달성하기 위한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법은, a) 사용자 컴퓨터에서 스프레드 시트의 프로그램 기능을 이용하여 사용자 정의 함수를 생성하는 단계; b) 사용자 컴퓨터에서 스프레드 시트의 셀에 상기 사용자 정의 함수 및 상기 스프레드 시트에서 제공하는 내장함수를 이용하여 계산을 수행하는 표현식을 작성하여 입력하는 단계; c) 상기 표현식을 입력하여 워크시트를 실행하면, 상기 스프레드 시트가 계산식이 있는 셀 중 재계산이 필요한 셀을 찾아 계산을 수행하는 단계; d) 사용자 컴퓨터의 계산정보수집모듈이 셀의 X,Y 좌표정보, 계산컴포넌트 정보, 표현식 정보, 입력 파라미터를 임시 메모리에 저장하는 단계; e) 상기 워크시트의 계산이 완료되면, 상기 워크시트에서 계산완료 이벤트를 계산정보수집모듈로 전송하고, 상기 계산완료 이벤트를 수신한 상기 계산정보수집모듈이 클라우드실행모듈을 호출하는 단계; f) 상기 클라우드실행모듈이 스케줄러 서버의 계산컴포넌트배포모듈로 계산컴포넌트의 바이너리 파일을 전송하고, 상기 계산컴포넌트배포모듈이 상기 클라우드실행모듈로부터 받은 계산컴포넌트 바이너리를 클라우드 서버로 배포하는 단계; g) 계산컴포넌트 바이너리 배포가 완료되면, 상기 클라우드실행모듈이 계산 정보를 상기 스케줄러 서버의 계산스케줄링모듈로 전송하고 계산 실행을 요청하는 단계; h) 상기 계산스케줄링모듈이 스케줄링된 레코드를 클라우드 서버의 계산실행모듈로 전송하여 계산 실행을 요청하는 단계; i) 상기 사용자 컴퓨터의 작업모니터링모듈에서 작업을 모니터링 하면서 작업이 완료되면, 계산결과반영모듈을 호출하는 단계; j) 상기 계산결과반영모듈이 상기 스케줄러 서버의 계산결과전송모듈로 작업 결과를 요청하여 작업 결과를 수신 받는 단계; k) 상기 계산결과반영모듈이 계산 결과 레코드를 이용하여 워크시트의 셀에 결과 값을 반영하는 단계; 및 l) 상기 계산결과반영모듈에 의해 셀의 표현식이 변경됨에 따라 상기 스프레드 시트가 계산을 다시 수행하는 단계;를 포함한다.
상기 a) 단계는, 사용자 정의 함수 생성시 마지막 인자는 항상 결과 값을 받도록 작성하고, 사용자 정의 함수에서는 계산정보수집모듈을 호출하도록 작성하며, 상기 계산정보수집모듈 호출시 계산컴포넌트에 대한 정보(컴포넌트 패스, 입력 파리미터 개수, 데이터 타입)를 파라미터로 전달하도록 작성할 수 있다.
또한, 상기 f) 단계에서 계산컴포넌트의 바이너리 파일 전송, 상기 g) 단계에서 정보의 전송 및 요청, 그리고, 상기 j) 단계에서 작업 결과 요청 및 수신은, HTTP 프로토콜을 이용할 수 있다.
또한, 상기 g) 단계에서, 상기 클라우드실행모듈은 계산 요청 후 계산 진행 상태에 대한 모니터링을 위해 작업모니터링모듈을 호출하며, 상기 스케줄러 서버의 계산스케줄링모듈은 클라우드에 있는 사용 가능한 서버의 대수와 한 서버에서 동시 수행 환경 설정 값을 이용하여 사용자 컴퓨터로부터 받은 계산 정보를 스케줄링할 수 있다. 여기서, 상기 계산 정보의 한 레코드는 셀의 X,Y 좌표, 계산컴포넌트정보, 입력파라미터 정보를 포함하며, 하나의 워크시트에서 전송된 계산 정보에는 복수개의 레코드가 존재할 수 있다.
또한, 상기 h) 단계에서, 상기 계산실행모듈은 사용자 컴퓨터로부터 전송된 계산컴포넌트와 스케줄러 서버로부터 받은 계산 레코드를 이용하여 계산을 수행하고 계산 결과를 반환하며, 계산이 완료되면 사용자 컴퓨터로부터 전송된 계산컴포넌트를 삭제할 수 있다. 여기서, 상기 계산스케줄링모듈은 모든 계산이 완료되면 계산 결과를 셀의 X,Y 좌표와 결과 값으로 메모리에 저장할 수 있다.
또한, 상기 k) 단계에서, 결과 값 반영시 각 셀에는 사용자가 작성한 계산식을 그대로 유지하기 위해 상기 계산정보수집모듈에 의해 저장된 표현식 정보를 이용하며, 저장되어 있는 표현식의 마지막 인자 값에 결과 값을 전달하도록 표현식을 문자열로 만들어 표현식 자체를 셀에 저장할 수 있다.
또한, 상기 l) 단계에서, 계산이 다시 수행되면 사용자 정의 함수를 다시 호출하며, 사용자 정의 함수가 두 번째 수행되는 경우 상기 스케줄러 서버로 작업을 요청하지 않고 결과 값으로 받은 마지막 인자를 반환할 수 있다.
본 발명에 의하면, 여러대의 서버에서 연산 작업을 병렬로 수행하기 때문에, 작업 시간을 단축시킬 수 있으며, 계산 결과 값을 스프레드 시트의 각 셀의 계산식과 같이 설정함으로써, 사용자가 정의한 결과 값 적용 후에도 계산식을 그대로 사용할 수 있다.
또한, 스프레드 시트는 특정 값의 변경에 영향을 받는 셀만 계산하도록 되어 있는데, 본 발명의 방법을 이용하면 스트레드 시트의 상기와 같은 장점을 그대로 사용할 수 있다.
또한, 원격 서버의 구성을 클라우드 서버의 가상머신을 이용함으로써, 사용자가 자체적으로 서버 컴퓨터를 구비할 필요가 없어 비용이 절감되고, 사용자가 만든 계산컴포넌트가 잘못된 연산을 수행하여 수행되는 서버에 장애가 발생하거나 해킹을 시도해도 다른 작업에는 영향을 주지 않는다.
도 1은 본 발명의 일 실시예에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템의 구성을 개략적으로 보인 블럭도,
도 2는 본 발명의 일 실시예에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템에 있어서의 스프레드 시트의 구성 예를 보인 도면,
도 3은 본 발명의 일 실시예에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법을 설명하기 위한 플로우 챠트, 그리고,
도 4a 및 도 4b는 기존 시스템과 본 발명 시스템의 작업 속도 테스트 결과를 나타낸 그래프이다.
이하, 본 발명의 바람직한 실시예를 첨부도면에 의거하여 상세히 설명한다. 참고로, 본 발명의 실시예를 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불명확하게 할 염려가 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
도 1에 나타낸 바와 같이, 본 발명의 일 실시예에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템은, 사용자 컴퓨터(10), 상기 사용자 컴퓨터(10)와 인터넷으로 연결된 스케줄러 서버(20) 및 상기 스케줄러 서버(20)와 클라우드망으로 연결된 다수의 클라우드 서버(30)를 구비한다.
상기 사용자 컴퓨터(10)는 스프레드 시트 프로그램이 실행되는 컴퓨터로서, 주로 개인 PC가 된다. 상기 사용자 컴퓨터(10)에는 스프레드 시트(11)와 사용자가 개발하거나 구매한 계산컴포넌트(12)가 기본적으로 설치되어 있다.
상기 스프레드 시트(11)는 도 2에 나타낸 바와 같이, 워크북, 워크시트, 셀로 구성되며, 상기 셀에는 숫자, 문자, 계산식 등을 입력할 수 있다. 또한, 스프레드 시트에서 제공하는 스크립트 기반의 프로그램 언어를 이용하여 사용자는 특정 기능을 수행하는 함수를 직접 정의할 수 있으며, 사용자가 작성한 함수는 셀의 계산식에 사용할 수 있다.
또한, 상기 사용자 컴퓨터(10)에는 계산정보수집모듈(13), 클라우드실행모듈(14), 계산결과반영모듈(15) 및 작업모니터링모듈(16)이 설치되어 있다.
상기 계산정보수집모듈(13)은 워크시트의 각 셀에서 수행되는 계산식 중 클라우드 서버(30)로 전송되어야 할 정보를 수집하여 임시 메모리에 저장하는 기능을 수행한다.
그리고, 상기 클라우드실행모듈(14)은 상기 계산정보수집모듈(13)에 의해 수집된 정보와 계산 컴포넌트를 스케줄러 서버(20)로 전송하여 클라우드 서버(30)에서 계산을 실행하게 하는 기능을 수행한다.
상기 계산결과반영모듈(15)은 상기 스케줄러 서보(20)로부터 계산 결과를 수신받아 워크시트에 반영하는 기능을 수행하며, 상기 작업모니터링모듈(16)은 스케줄러 서버(20)의 작업 진행 상황을 모니터링하여 작업 정보를 화면에 표시하여 주는 기능을 수행한다.
상기 스케줄러 서버(20)는 상기 사용자 컴퓨터(10)와 인터넷과 같은 정보통신망으로 연결되어 있으며, 클라우드 내에 있는 전체 서버 및 가상 머신의 상태를 관리하며, 사용자 컴퓨터(10)로부터의 계산 요청에 대해 스케줄링을 하고 클라우드 내의 서버로 계산을 실행하는 기능을 수행한다.
상기와 같은 스케줄러 서버(20)는 계산컴포넌트배포모듈(21), 계산스케줄링모듈(22), 계산결과전송모듈(23) 및 가상머신모니터링모듈(24)을 구비한다.
상기 계산컴포넌트배포모듈(21)은 상기 사용자 컴퓨터(10)로부터 전송된 계산컴포넌트를 실제 계산을 수행할 클라우드 서버(30)의 가상머신(31)으로 배포하는 기능을 수행한다. 여기서, 배포된 계산컴포넌트는 작업이 종료되면 삭제된다.
상기 계산스케줄링모듈(22)은 상기 사용자 컴퓨터(10)로부터 계산 요청을 받으면 클라우드 서버(30)에서 현재 사용 가능한 가상머신 목록을 이용하여 작업을 스케줄링하고 스케줄링된 작업대로 각 가상머신에 계산을 요청하는 기능을 수행한다.
상기 계산결과전송모듈(23)은 상기 사용자 컴퓨터(10)로부터 계산 결과 전송 요청을 받으면 상기 계산스케줄링모듈(22)에 의해 계산된 결과를 사용자 컴퓨터(10)로 전송하는 기능을 수행한다.
그리고, 상기 가상머신모니터링모듈(24)은 클라우드 서버(30)의 가상머신 상황을 모니터링하여 현재 사용 가능한 가상머신 대수와 목록 정보를 갱신하여 상기 계산스케줄링모듈(22)에 제공하는 기능을 수행한다.
마지막으로, 상기 클라우드 서버(30)는 클라우드망에 의해 상기 스케줄러 서버(20)와 연결되어 있으며, 계산을 수행할 가상머신이 수행되는 물리적인 머신이다. 하나의 클라우드 서버(30)에는 여러대의 가상머신(31)과 가상머신관리모듈(32)과 호스트운영체제(33)가 설치되어 있다.
상기 가상머신(31)은 상기 사용자 컴퓨터(10)로부터 전송된 계산컴포넌트를 실행하는 기능을 수행한다. 가상머신(31)은 각 작업간에 독립적으로 할당되어 계산컴포넌트가 잘못된 연산을 수행하여 가상머신의 운영체제에 장애를 발생시키거나 CPU, 메모리 등과 같은 자원을 많이 사용하는 경우에도 다른 작업에 영향을 미치지 않는다.
상기 가상머신관리모듈(32)은 상기 클라우드 서버(30)에 위치하여 가상머신(31)을 실행하고 중지하는 등의 작업을 수행한다.
한편, 상기 각각의 가상머신(31)은 계산실행모듈(31a)과 게스트운영체제(31b)를 구비한다. 상기 계산실행모듈(31a)은 사용자 컴퓨터(10)로부터 전송된 계산컴포넌트를 실행한다.
이하, 상기와 같이 구성된 본 발명의 일 실시예에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템의 동작 원리를 도 3을 참조하여 설명한다.
먼저, 스프레드 시트의 프로그램 기능을 이용하여 사용자 정의 함수를 생성한다(S1). 사용자 정의 함수 생성시 마지막 인자는 항상 결과 값을 받도록 만든다. 또한, 사용자 정의 함수에서는 계산정보수집모듈을 호출하도록 작성하며, 계산정보수집모듈 호출시 계산컴포넌트에 대한 정보(컴포넌트 패스, 입력 파라미터 개수, 데이터 타입 등)를 파라미터로 전달하도록 작성한다.
다음, 스프레드 시트의 셀에 사용자 정의 함수와 스프레드 시트에서 기본적으로 제공하는 내장 함수 등을 이용하여 계산을 수행하는 표현식을 작성하고(S2), 작성된 표현식을 입력하여 워크시트를 실행시킨다(S3). 상기 S1 내지 S3 단계는 사용자가 수작업으로 진행한다.
워크시트가 실행되면 스프레드 시트는 계산식이 있는 셀 중 재계산이 필요한 셀을 찾아 계산을 수행하고, 계산정보수집모듈은 셀의 X,Y 좌표정보, 계산컴포넌트 정보, 표현식 정보, 입력 파라미터를 임시 메모리에 저장한다(S4).
워크시트의 계산이 완료되면, 워크시트에서는 계산 완료 이벤트를 전송한다(S5). 계산 완료 이벤트를 받으면 계산정보수집모듈은 클라우드실행모듈을 호출한다. 상기 계산정보수집모듈의 메모리에는 계산이 수행된 모든 셀에 대한 계산 관련 정보가 저장되어 있다.
상기 클라우드실행모듈은 HTTP 프로토콜을 이용하여 스케줄러 서버의 계산컴포넌트배포모듈로 계산컴포넌트의 바이너리 파일을 전송한다(S6). 상기 스케줄러 서버의 계산컴포넌트배포모듈은 사용자 컴퓨터의 클라우드실행모듈로부터 받은 계산컴포넌트 바이너리를 클라우드 서버로 배포한다.
상기 계산컴포넌트 바이너리 배포가 완료되면 상기 클라우드실행모듈은 계산정보를 스케줄러 서버의 계산스케줄링모듈로 전송하고 계산 실행을 요청한다(S7). 여기서, 정보 전송 및 요청은 HTTP 프로토콜을 이용한다. 그리고, 상기 클라우드실행모듈은 계산 요청 후 계산 진행 상태에 대한 모니터링을 위해 작업모니터링모듈을 호출한다. 상기 스케줄러 서버의 계산스케줄링모듈은 클라우드에 있는 사용 가능한 장비의 대수와 한 장비에서 동시 수행 환경 설정 값을 이용하여 사용자 컴퓨터로부터 받은 계산정보를 스케줄링한다. 상기 계산정보의 한 레코드에는 셀의 X,Y좌표, 계산컴포넌트정보, 입력 파라미터 정보가 있으며, 하나의 워크시트에서 전송된 계산정보에는 복수개의 레코드가 있다. 계산 스케줄링은 다음과 같은 식을 이용한다.
한 가상머신의 레코드 개수 = 레코드 수/(가상머신수 * 한 가상머신의 CPU 수)---식(1)
이어서, 상기 계산스케줄링모듈은 스케줄링된 레코드를 클라우드 서버에 있는 계산실행모듈로 전송하여 계산 실행을 요청한다(S8). 상기 계산실행모듈은 사용자 컴퓨터로부터 전송된 계산컴포넌트와 스케줄러 서버로부터 받은 계산 레코드를 이용하여 계산을 수행하고 계산 결과를 반환한다. 계산이 완료되면, 사용자 컴퓨터로부터 전송된 계산컴포넌트를 삭제한다. 그리고, 상기 계산스케줄링모듈은 모든 계산이 완료되면 계산 결과를 메모리에 저장한다. 계산 결과는 셀의 X,Y 좌표와 결과 값으로 저장된다.
전체 작업이 클라우드 서버의 각 가상머신에서 병렬로 수행되기 때문에, 실제 계산 시간은 다음과 같다.
전체계산시간 = 한 가상머신의 레코드 개수 * 레코드 평균 수행시간---식(2)
예를 들어, 가상머신 수가 10대이고, 각 가상머신의 CPU가 2개식이며, 전체 레코드 수는 1000개, 레코드 평균 계산 시간이 1초라고 가정하면, 상기 식(1) 및 식(2)에 따라,
전체계산시간 = 1000개/(10대*2개)*1초 = 50초가 된다.
즉, 기존의 로컬 컴퓨터에서 스프레드 시트가 실행되는 방식에서는 상기와 같이, 전체 레코드 수가 1000개이고, 레코드 평균 계산 시간이 1초라고 가정할 경우, 1000초의 전체 계산 시간이 걸렸으나, 본 발명에 의하면, 50초면 모든 계산이 완료된다.
실제 테스트 결과 도 4a 및 4b에 나타낸 바와 같이, 기존 로컬 컴퓨터를 이용하는 방식에 비하여 본 발명의 경우, 실행속도가 현저히 향상되는 것을 알 수 있었다.
상기 테스트 결과는, 테스트 프로그램으로 원주율(Pi) 계산 DLL, 1번 호출 수행시간은 2.x초로 하고, 테스트 환경은, 클라우드 서버 4대, 각 서버당 원도우즈 가상머신 4개, 가상머신 당 2core CPU, 2GB Memory 환경에서, 셀 100~1000개의 계산 시간을 측정하여 나타낸 것이다.
도 4a의 경우 종축은 시간이며, 횡축은 셀의 수이다. 그리고, 실선은 로컬 컴퓨터를 이용한 스프레드 시트 실행(기존 방식) 결과, 일점쇄선은 8서버, 이점쇄선은 16서버, 그리고, 점선은 32서버를 사용한 본 발명에 의한 스프레드 시트 실행 결과를 각각 나타낸다.
도 4a에 나타낸 바와 같이, 로컬 컴퓨터를 이용한 기존 방식의 경우, 1000개의 셀을 계산하는데 총 2500초 정도가 걸렸으나, 본 발명의 경우는 32서버의 경우 약 100초, 16서버의 경우 약 150초, 8서버의 경우도 약 300초를 넘지 않음을 확인할 수 있었다.
도 4b는 1000개의 셀을 계산하는데 소요되는 시간을 로컬 방식(종래방식)과 비교하여 나타낸 것이다. 도 4b에 나타낸 바와 같이, 1000개의 셀을 계산하는데, 로컬의 경우는 2500초 정도 소요되었으나, 본 발명의 경우는 8서버에서는 약 300초, 16서버에서는 150초, 32서버에서는 약 100초 정도가 소요되었다. 상기와 같이, 본 발명의 시스템을 이용하여 1000개 셀을 계산하는 경우, 32개의 가상 서버를 이용하면, 기존의 로컬 방식에 비하여 실행속도가 22배 정도 향상됨을 알 수 있다. 서버 대수를 더 증가하는 경우 실행속도는 선형적으로 향상될 것이다.
상기와 같은 계산 과정 중 사용자 컴퓨터의 작업모니터링모듈에서는 작업을 모니터링 하면서 작업이 완료되면 계산결과반영모듈을 호출한다(S9).
상기 계산결과반영모듈은 스케줄러 서버의 계산결과전송모듈로 작업 결과를 요청하여 작업 결과를 수신 받는다(S10). 작업 결과 요청 및 수신은 HTTP 프로토콜을 이용한다. 수신된 계산 결과에는 계산 요청시 전송한 레코드 개수만큼의 결과 레코드가 수신된다. 결과 레코드는 셀의 X,Y 결과 값이 있다.
작업 결과를 수신한 상기 계산결과반영모듈은 계산 결과 레코드를 이용하여 워크시트의 셀에 결과 값을 반영한다(S11). 결과 값 반영시 각 셀에는 사용자가 작성한 계산식을 그대로 유지하기 위해 계산정보수집모듈에 의해 저장된 표현식 정보를 이용한다. 저장되어 있는 표현식의 마지막 인자 값에 결과 값을 전달하도록 상기 표현식을 문자열로 만들어 표현식 자체를 셀에 설정한다. 다음은 표현식 설정 사례이다.
사용자가 입력한 표현식이, FUNC1("A1" * 100,0)이라고 할 때(여기서, 마지막 인자값 0은 결과값을 받기 위한 임시값이다),
계산 결과 값을 마지막 인자에 전달하면, 계산결과반영모듈에서 새롭게 만든 표현식은, FUNC1("A" * 100,200)된다.
상기 계산결과반영모듈에 의해 셀의 표현식이 변경되면, 스프레드 시트는 셀이 변경되었기 때문에 계산을 다시 수행하게 된다. 계산이 다시 수행되면 사용자 정의 함수가 다시 호출된다. 사용자 정의 함수가 두 번째 수행되는 경우에는 스케줄러 서버로 작업을 요청하지 않고 결과 값으로 받은 마지막 인자를 반환한다(S12). 스프레드 시트는 사용자 정의 함수 호출시 반환되는 값을 셀에 표시하기 때문에 결과 값이 셀에 표시된다. 여기서, 사용자에게는 셀의 계산 값이 보여지지만 실제로 셀에는 계산식이 유지되고 있기 때문에 재계산이 수행될 때에도 셀의 변경 없이 그대로 사용 가능하다.
이상에서 설명한 바와 같이, 본 발명에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법은, 워크시트의 계산을 원격 서버로 전송하여 분산 계산을 수행하고 수행된 결과를 워크시트의 각 셀에 반영하되, 사용자가 정의한 계산식을 그대로 사용할 수 있도록 한 것이다.
이와 같은 본 발명에 의한 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법은, 원격 서버의 구성을 클라우드 서버의 가상머신을 이용함으로써 사용자가 자체적으로 서버 컴퓨터를 구비할 필요가 없어 비용이 절감되고, 사용자가 만든 계산컴포넌트가 잘못된 연산을 수행하여 수행되는 서버에 장애가 발생하거나 해킹을 시도해도 다른 작업에는 영향을 주지 않는다.
이상에서, 본 발명은 예시적인 방법으로 설명되었다. 여기서 사용된 용어들은 설명을 위한 것일 뿐 한정의 의미로 이해되어서는 안될 것이다. 상기 내용에 따라 본 발명의 다양한 수정 및 변형이 가능하다. 따라서, 따로 부가 언급하지 않는 한 본 발명은 특허청구범위 내에서 자유로이 실행될 수 있을 것이다.
10;사용자 컴퓨터 11;스프레드 시트
12;계산컴포넌트 13;계산정보수집모듈
14;클라우드실행모듈 15;계산결과반영모듈
16;작업모니터링모듈 20;스케줄러서버
21;계산컴포넌트배포모듈 22;계산스케줄링모듈
23;계산결과반영모듈 24;가상머신모니터링모듈
30;클라우드 서버 31;가상머신
31a;계산실행모듈 31b;게스트운영체제
32;가상머신관리모듈 33;호스트운영체제

Claims (14)

  1. a) 사용자 컴퓨터에서 스프레드 시트의 프로그램 기능을 이용하여 사용자 정의 함수를 생성하는 단계;
    b) 사용자 컴퓨터에서 스프레드 시트의 셀에 상기 사용자 정의 함수 및 상기 스프레드 시트에서 제공하는 내장함수를 이용하여 계산을 수행하는 표현식을 작성하여 입력하는 단계;
    c) 상기 표현식을 입력하여 워크시트를 실행하면, 상기 스프레드 시트가 계산식이 있는 셀 중 재계산이 필요한 셀을 찾아 계산을 수행하는 단계;
    d) 사용자 컴퓨터의 계산정보수집모듈이 셀의 X,Y 좌표정보, 계산컴포넌트 정보, 표현식 정보, 입력 파라미터를 임시 메모리에 저장하는 단계;
    e) 상기 워크시트의 계산이 완료되면, 상기 워크시트에서 계산완료 이벤트를 계산정보수집모듈로 전송하고, 상기 계산완료 이벤트를 수신한 상기 계산정보수집모듈이 클라우드실행모듈을 호출하는 단계;
    f) 상기 클라우드실행모듈이 스케줄러 서버의 계산컴포넌트배포모듈로 계산컴포넌트의 바이너리 파일을 전송하고, 상기 계산컴포넌트배포모듈이 상기 클라우드실행모듈로부터 받은 계산컴포넌트 바이너리를 클라우드 서버로 배포하는 단계;
    g) 계산컴포넌트 바이너리 배포가 완료되면, 상기 클라우드실행모듈이 계산 정보를 상기 스케줄러 서버의 계산스케줄링모듈로 전송하고 계산 실행을 요청하는 단계;
    h) 상기 계산스케줄링모듈이 스케줄링된 레코드를 클라우드 서버의 계산실행모듈로 전송하여 계산 실행을 요청하는 단계;
    i) 상기 사용자 컴퓨터의 작업모니터링모듈에서 작업을 모니터링 하면서 작업이 완료되면, 계산결과반영모듈을 호출하는 단계;
    j) 상기 계산결과반영모듈이 상기 스케줄러 서버의 계산결과전송모듈로 작업 결과를 요청하여 작업 결과를 수신받는 단계;
    k) 상기 계산결과반영모듈이 계산 결과 레코드를 이용하여 워크시트의 셀에 결과 값을 반영하는 단계; 및
    l) 상기 계산결과반영모듈에 의해 셀의 표현식이 변경됨에 따라 상기 스프레드 시트가 계산을 다시 수행하는 단계;를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  2. 제1항에 있어서, 상기 a) 단계는,
    사용자 정의 함수 생성시 마지막 인자는 항상 결과 값을 받도록 작성하고, 사용자 정의 함수에서는 계산정보수집모듈을 호출하도록 작성하며, 상기 계산정보수집모듈 호출시 계산컴포넌트에 대한 정보(컴포넌트 패스, 입력 파리미터 개수, 데이터 타입)를 파라미터로 전달하도록 작성하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  3. 제1항에 있어서,
    상기 f) 단계에서 계산컴포넌트의 바이너리 파일 전송, 상기 g) 단계에서 정보의 전송 및 요청, 그리고, 상기 j) 단계에서 작업 결과 요청 및 수신은, HTTP 프로토콜을 이용하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  4. 제1항에 있어서,
    상기 g) 단계에서, 상기 클라우드실행모듈은 계산 요청 후 계산 진행 상태에 대한 모니터링을 위해 작업모니터링모듈을 호출하며, 상기 스케줄러 서버의 계산스케줄링모듈은 클라우드에 있는 사용 가능한 서버의 대수와 한 서버에서 동시 수행 환경 설정 값을 이용하여 사용자 컴퓨터로부터 받은 계산 정보를 스케줄링하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  5. 제4항에 있어서,
    상기 계산 정보의 한 레코드는 셀의 X,Y 좌표, 계산컴포넌트정보, 입력파라미터 정보를 포함하며, 하나의 워크시트에서 전송된 계산 정보에는 복수개의 레코드가 존재하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  6. 제1항에 있어서,
    상기 h) 단계에서, 상기 계산실행모듈은 사용자 컴퓨터로부터 전송된 계산컴포넌트와 스케줄러 서버로부터 받은 계산 레코드를 이용하여 계산을 수행하고 계산 결과를 반환하며, 계산이 완료되면 사용자 컴퓨터로부터 전송된 계산컴포넌트를 삭제하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  7. 제6항에 있어서,
    상기 계산스케줄링모듈은 모든 계산이 완료되면 계산 결과를 셀의 X,Y 좌표와 결과 값으로 메모리에 저장하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  8. 제2항에 있어서,
    상기 k) 단계에서 결과 값 반영시 각 셀에는 사용자가 작성한 계산식을 그대로 유지하기 위해 상기 계산정보수집모듈에 의해 저장된 표현식 정보를 이용하며, 저장되어 있는 표현식의 마지막 인자 값에 결과 값을 전달하도록 표현식을 문자열로 만들어 표현식 자체를 셀에 저장하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  9. 제2항에 있어서,
    상기 l) 단계에서, 계산이 다시 수행되면 사용자 정의 함수를 다시 호출하며, 사용자 정의 함수가 두 번째 수행되는 경우 상기 스케줄러 서버로 작업을 요청하지 않고 결과 값으로 받은 마지막 인자를 반환하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 스프레드 시트 처리 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020100106786A 2010-10-29 2010-10-29 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법 KR101221624B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100106786A KR101221624B1 (ko) 2010-10-29 2010-10-29 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106786A KR101221624B1 (ko) 2010-10-29 2010-10-29 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20120045322A KR20120045322A (ko) 2012-05-09
KR101221624B1 true KR101221624B1 (ko) 2013-01-14

Family

ID=46264808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106786A KR101221624B1 (ko) 2010-10-29 2010-10-29 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101221624B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430649B1 (ko) 2012-10-31 2014-08-18 삼성에스디에스 주식회사 클라우드 환경 내의 데이터 분석 서비스 제공 시스템 및 방법
KR101995991B1 (ko) * 2012-11-23 2019-07-03 고려대학교 산학협력단 클라우드 기반 분산병렬 응용 워크플로우 실행 서비스의 제공 방법, 장치 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100092850A (ko) * 2009-02-13 2010-08-23 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 리소스 분배 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100092850A (ko) * 2009-02-13 2010-08-23 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 리소스 분배 장치 및 그 방법

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
G.Boss외 4인, ‘Cloud Computing,' IBM Corporation 2007-HiPODS, 2007.10.08.*
G.Boss외 4인, 'Cloud Computing,' IBM Corporation 2007-HiPODS, 2007.10.08. *
민옥기 외 2인, ‘클라우드 컴퓨팅 기술 동향,’ 한국전자통신연구원 전자통신동향분석, 제24권 제4호, 2009.08.31.*
민옥기 외 2인, '클라우드 컴퓨팅 기술 동향,' 한국전자통신연구원 전자통신동향분석, 제24권 제4호, 2009.08.31. *

Also Published As

Publication number Publication date
KR20120045322A (ko) 2012-05-09

Similar Documents

Publication Publication Date Title
Bao et al. Performance modeling and workflow scheduling of microservice-based applications in clouds
US11656911B2 (en) Systems, methods, and apparatuses for implementing a scheduler with preemptive termination of existing workloads to free resources for high priority items
US10877986B2 (en) Obtaining performance data via an application programming interface (API) for correlation with log data
US10019496B2 (en) Processing of performance data and log data from an information technology environment by using diverse data stores
US8661438B2 (en) Virtualization planning system that models performance of virtual machines allocated on computer systems
US11294726B2 (en) Systems, methods, and apparatuses for implementing a scalable scheduler with heterogeneous resource allocation of large competing workloads types using QoS
US11119982B2 (en) Correlation of performance data and structure data from an information technology environment
US10353957B2 (en) Processing of performance data and raw log data from an information technology environment
US10997191B2 (en) Query-triggered processing of performance data and log data from an information technology environment
US8631401B2 (en) Capacity planning by transaction type
US20190303365A1 (en) Correlating log data with performance measurements using a threshold value
US9292415B2 (en) Module specific tracing in a shared module environment
US20180321975A1 (en) Systems, methods, and apparatuses for implementing a stateless, deterministic scheduler and work discovery system with interruption recovery
US20150067654A1 (en) Tracing System for Application and Module Tracing
Ansaloni et al. Model-driven consolidation of java workloads on multicores
KR101221624B1 (ko) 클라우드 컴퓨팅 기반의 스프레드 시트 처리 시스템 및 방법
Liu et al. Sora: A latency sensitive approach for microservice soft resource adaptation
Filippini et al. A path relinking method for the joint online scheduling and capacity allocation of DL training workloads in GPU as a service systems
Jiang et al. Resource allocation in contending virtualized environments through VM performance modeling and feedback
Wang et al. Improving utilization through dynamic VM resource allocation in hybrid cloud environment
Molka et al. Contention-aware workload placement for in-memory databases in cloud environments
WO2021096346A1 (en) A computer-implemented system for management of container logs and its method thereof
Li et al. SoDa: A Serverless‐Oriented Deadline‐Aware Workflow Scheduling Engine for IoT Applications in Edge Clouds
EP3042314B1 (en) Module specific tracing in a shared module environment
Harrison et al. Bioinformatics computational cluster batch task profiling with machine learning for failure prediction

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
FPAY Annual fee payment

Payment date: 20151124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181127

Year of fee payment: 9