KR20150012682A - 원격 데이터 연산 방법 및 시스템 - Google Patents
원격 데이터 연산 방법 및 시스템 Download PDFInfo
- Publication number
- KR20150012682A KR20150012682A KR1020130088499A KR20130088499A KR20150012682A KR 20150012682 A KR20150012682 A KR 20150012682A KR 1020130088499 A KR1020130088499 A KR 1020130088499A KR 20130088499 A KR20130088499 A KR 20130088499A KR 20150012682 A KR20150012682 A KR 20150012682A
- Authority
- KR
- South Korea
- Prior art keywords
- rpc
- server
- information
- data
- storage device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은RPC(Remote Procedure Call) 서버를 이용한 원격 데이터 연산 방법 및 시스템에 관한 것으로서, 특히, 클라이언트 장치가 대용량의 데이터를 필요로 하는 작업을 RPC 서버에 요청할 경우, 작업에 필요한 데이터의 저장 장치 상의 위치를 지정하는 데이터 파라미터를 전송하여 RPC 서버가 데이터를 전송받지 않고 저장 장치에 접속하여 작업을 수행하는 원격 데이터 연산 방법 및 시스템에 관한 것이다.
Description
본 발명은 RPC(Remote Procedure Call) 서버를 이용한 원격 데이터 연산 방법 및 시스템에 관한 것이다.
RPC(Remote Procedure Call)는 분산 컴퓨팅이 시작되며 원격지에서 Procedure를 공유할 일이 생겨나고 그로 인해 규약이 필요해지며 생겨난 프로토콜이다. 원격에서 작업을 요청한 컴퓨터가 클라이언트가 되고 요청을 받은 컴퓨터는 서버가 되며 클라이언트는 서버에 있는 자원 및 작업을 자신의 컴퓨터에서 처리하는 것처럼 사용할 수 있게 되는 방법으로 코드의 재사용과 자원을 효율적으로 사용할 수 있다.
종래의 RPC를 이용한 분산 컴퓨팅 시스템은 클라이언트 컴퓨터의 제어를 통해서 다수의 RPC 서버가 동일 연산 작업 및 이미지 처리 작업 또는 각각 특정 연산 작업 등을 수행할 수 있다.
그러나, 큰 데이터를 필요로 하는 연산 작업 및 이미지 처리 작업 시에는 각각의 RPC 서버에서 연산 작업을 위해서 요구되는 데이터의 양이 급증하게 된다.
이처럼 큰 데이터의 이용이 요구되는 경우 RPC 서버로 대용량의 데이터가 전송되어야 하고, 통신 네트워크를 기반으로 대용량의 데이터가 전송되어 네트워크에 불필요한 오버헤드가 발생하는 문제점이 있다.
또한, 분산 컴퓨팅 시스템의 장점인 빠른 처리 속도가 대용량의 데이터 전송시간만큼 느려짐으로써 전체적인 작업 처리 시간이 지연되는 문제점이 있다.
이러한 배경에서, 본 발명의 목적은, 클라이언트 장치가 대용량의 데이터를 필요로 하는 작업을 RPC 서버에 요청할 경우, 작업에 필요한 데이터의 데이터 베이스저장 장치 상의 위치를 지정하는 데이터 파라미터를 전송하여 RPC 서버가 데이터를 전송 받지 않고 데이터 베이스저장 장치에 접속하여 작업을 수행하는 원격 데이터 연산 방법 및 시스템을 제공하는 데 있다.
또한, 본 발명의 목적은, 중간 서버가 클라이언트 장치로부터 신호를 입력 받아 가장 빠르고 효율적으로 작업을 수행할 수 있는 RPC 서버를 선택하고, 선택된 RPC 서버는 데이터 파라미터 정보에 기초하여 저장 장치에 접속하여 작업을 수행하는 원격 데이터 연산 방법 및 시스템을 제공하는 데 있다.
전술한 목적을 달성하기 위하여, 일 측면에서, 본 발명은, 데이터 및 데이터의 저장 위치 정보를 포함하는 데이터 파라미터 중 하나 이상을 저장하고 갱신하는 저장 장치와 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC(Remote Procedure Call) 프로토콜을 전송하는 클라이언트 장치 및 제1 RPC 프로토콜을 수신하고 저장 장치에 접속하여 연산 작업을 수행하는 하나 이상의 RPC 서버를 포함하는 원격 데이터 연산 시스템을 제공한다.
다른 측면에서, 본 발명은, 원격 데이터 연산 시스템이 원격 데이터 연산 작업을 실행하는 방법에 있어서, 저장 장치가 데이터의 저장 위치 정보를 포함하는 데이터 파라미터 및 데이터 중 하나 이상을 저장하고 갱신하는 단계와 클라이언트 장치가 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC(Remote Procedure Call) 프로토콜을 전송하는 단계 및 RPC 서버가 제1 RPC 프로토콜을 수신하고 저장 장치에 접속하여 연산 작업을 수행하는 단계를 포함하는 원격 데이터 연산 작업 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 클라이언트 장치가 대용량의 데이터를 필요로 하는 작업을 RPC 서버에 요청할 경우, 작업에 필요한 데이터의 저장 장치 상의 위치를 지정하는 데이터 파라미터를 전송하여 RPC 서버가 데이터를 전송 받지 않고 저장 장치에 접속하여 작업을 수행하여 대용량 데이터의 전송으로 인한 네트워크 오버헤드를 방지하는 효과가 있다.
또한, 본 발명에 의하면, 중간 서버가 클라이언트 장치로부터 신호를 입력 받아 가장 빠르고 효율적으로 작업을 수행할 수 있는 RPC 서버를 선택하고, 선택된 RPC 서버는 데이터 파라미터 정보에 기초하여 저장 장치에 접속하여 작업을 수행하여 높은 속도의 작업 처리를 제공하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른, 저장 장치에 결과값 저장부가 포함되는 경우(A) 및 결과값 데이터가 저장되는 위치 정보를 포함하는 결과값 파라미터가 저장되는 경우(B)를 예시적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 특정 RPC 서버가 다른 RPC 서버의 연산 결과값을 이용하여 연산을 수행하는 원격 데이터 연산 시스템을 예시적으로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템을 이용하여 연산 작업이 수행되는 과정을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른, RPC 서버의 연산 결과값이 타 RPC 서버의 연산 작업에서 사용되는 과정을 예시적으로 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른, 중간 서버가 포함된 원격 데이터 연산 시스템의 블록도 이다.
도 7은 본 발명의 일 실시예에 따른, 중간 서버가 포함된 경우의 원격 데이터 연산 과정을 예시적으로 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른, 원격 데이터 연산 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른, 중간 서버가 포함된 원격 데이터 연산 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른, 저장 장치에 결과값 저장부가 포함되는 경우(A) 및 결과값 데이터가 저장되는 위치 정보를 포함하는 결과값 파라미터가 저장되는 경우(B)를 예시적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 특정 RPC 서버가 다른 RPC 서버의 연산 결과값을 이용하여 연산을 수행하는 원격 데이터 연산 시스템을 예시적으로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템을 이용하여 연산 작업이 수행되는 과정을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른, RPC 서버의 연산 결과값이 타 RPC 서버의 연산 작업에서 사용되는 과정을 예시적으로 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른, 중간 서버가 포함된 원격 데이터 연산 시스템의 블록도 이다.
도 7은 본 발명의 일 실시예에 따른, 중간 서버가 포함된 경우의 원격 데이터 연산 과정을 예시적으로 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른, 원격 데이터 연산 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른, 중간 서버가 포함된 원격 데이터 연산 방법의 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 명세서에서 본 발명인 원격 데이터 연산 시스템은 연산 작업뿐만 아니라 이미지 처리 작업 등 컴퓨터로 처리 가능한 작업을 수행하는 것을 의미하는 것으로 단지 설명 및 이해의 편의를 돕기 위해서 연산 작업을 수행하는 것으로 기재하는 것이므로 이에 한정되어 해석되는 것은 아니다.
또한, 본 명세서에서 저장 장치는, 데이터 베이스, 저장 미디어, 파일 시스템, 클라우드 시스템 등 자료를 저장하고 갱신할 수 있는 기능을 수반하는 장치를 포함하는 의미로 기재된다.
또한, 본 명세서에서 "RPC 프로토콜"은 클라이언트 장치가 RPC 서버 또는 중간 서버로의 작업 요청을 전송하는 신호를 의미하며, 이하에서 기재되는 각종 정보를 포함하는 파라미터들이 포함될 수 있다.
따라서, 본 명세서에서 RPC 프로토콜을 전송한다는 표현은 작업 요청을 전송하는 신호를 전송한다는 의미이며, 이하에서 기재되는 각종 정보를 포함하는 파라미터들이 전달되는 것을 의미할 수 있다.
또한, 본 명세서에서 "RPC 서버" 및 "클라이언트 장치"는 컴퓨터일 수 있고, 서버일 수도 있으며 기타 컴퓨팅이 가능한 장치일 수 있다. 즉, 서비스를 요청하는 장치가 클라이언트 장치가 될 수 있고, 서비스 요청을 받아 서비스 처리를 수행하는 장치가 "RPC 서버"가 될 수 있다. 따라서, RPC 서버는 꼭 서버(Server)만을 의미하는 것은 아니고 일반 컴퓨터, 노트북 또는 휴대용 단말기 등도 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템(100)의 블록도이다.
본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템(100)은, 데이터 및 데이터의 저장 위치 정보를 포함하는 데이터 파라미터 중 하나 이상을 저장하고 갱신하는 저장 장치(110)와 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC(Remote Procedure Call) 프로토콜을 전송하는 클라이언트 장치(120) 및 제1 RPC 프로토콜을 수신하고 저장 장치(110)에 접속하여 연산 작업을 수행하는 하나 이상의 RPC 서버(130)를 포함할 수 있다.
도 1을 참조하여 설명하면, 원격 데이터 연산 시스템(100)은, 사용자로부터 연산 요청을 입력받아 RPC 서버(130)들에게 연산과 관련한 명령을 내리기 위해서 제1 RPC 프로토콜을 생성하여 전송하는 클라이언트 장치(120)와 연산에 필요한 데이터(112) 및 데이터가 저장된 위치 정보를 포함하는 데이터 파라미터(114)를 중 하나 이상을 저장하고 있는 저장 장치(110) 및 제1 RPC 프로토콜을 수신받아 연산에 사용되는 데이터(112)의 위치를 데이터 파리미터 정보를 이용하여 확인하고 저장 장치(110)와 접속하여 특정 연산 작업을 수행하는 하나 이상의 RPC 서버(130)를 포함한다.
일 예로, 클라이언트 장치(120)는 연산 작업을 요청하는 다수의 RPC 서버(130)에 송신할 수도 있고, 특정 하나의 RPC 서버(130)에 송신할 수도 있다. 만약, 다수의 RPC 서버(130)에 작업을 요청하는 제1 RPC 프로토콜을 송신한 경우, 각 RPC 서버(130)는 다른 연산 작업을 요청받을 수도 있고 이 경우, 각각의 RPC 서버(130)가 작업을 수행하는 데 있어서 필요로 하는 데이터(112)는 다를 수 있다.
따라서, 다수의 RPC 서버(130) 각각에 송신되는 제1 RPC 프로토콜은 각각 다른 데이터 파라미터 정보를 포함할 수 있다.
각각의 RPC 서버(130)는, 각각의 제1 RPC 프로토콜을 송신 받고, 각각의 데이터 파라미터 정보에 근거하여 연산 작업을 수행하는데 필요한 데이터의 위치를 찾아서 저장 장치(110)와 접속하여 연산 작업을 수행할 수 있다.
또한, 예를 들어 RPC 서버(130)가 연산 작업을 완료한 경우 그 완료한 값을 클라이언트 장치(120)로 송신할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 저장 장치(110)에 결과값 저장부(210)가 포함되는 경우(A) 및 결과값 데이터가 저장되는 위치 정보를 포함하는 결과값 파라미터가 저장(212)되는 경우(B)를 예시적으로 나타낸 도면이다.
본 발명의 일 실시예에 따른, 저장 장치(110)는, RPC 서버의 연산 작업 결과에 따라 획득되는 결과값을 저장하는 결과값 저장부(210)를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른, 저장 장치(110)는, 데이터(112) 및 결과값이 저장된 저장위치 정보에 기초하여 데이터 파라미터 및 결과값 파라미터를 생성하여 저장(212)하거나 갱신할 수 있다.
도 2를 참조하여 구체적으로 예를 들면, 저장 장치(110)는 연산 작업에 필요한 대용량의 데이터(112)를 저장하며, 데이터의 위치를 표시하는 정보가 포함된 데이터 파라미터(114)를 포함할 수 있다.
또한, 도 2의 (A)를 참조하면 RPC 서버의 연산 결과 획득된 결과값을 저장하는 결과값 저장부(210)를 포함할 수 있으며, 도 2의 (B)를 참조하면 결과값 저장부에 저장된 결과값의 저장 위치를 포함하는 결과값 파라미터를 생성하여 저장하거나 갱신(212)할 수 있다.
이러한, 데이터 파라미터 또는 결과값 파라미터를 저장(114, 212)하고 관리함으로써, RPC 서버가 저장 장치(110)에 접속하여 빠르고 효율적으로 연산 작업에 사용되는 데이터를 찾아 연산 작업을 진행할 수 있다.
또한, 특정 RPC 서버가 연산 작업을 거쳐 계산한 값에 대하여 다른 RPC 서버가 연산 작업에서 이용하거나 동일 연산 작업을 수행하는 경우에 결과값 저장부(210)에 결과값이 저장되어 있으므로, 동일한 연산 작업을 거치지 않고도 빠르게 연산 결과를 획득할 수 있다.
전술한 결과값 저장부(210)는 저장 장치(110) 내의 일 부분일 수 있으며, 데이터(112)가 저장된 저장 장치(110)와는 별개의 장치로 구성될 수도 있다.
도 3은 본 발명의 일 실시예에 따른, 특정 RPC 서버(320)가 다른 RPC 서버(310)의 연산 결과값을 이용하여 연산을 수행하는 원격 데이터 연산 시스템(1000을 예시적으로 나타낸 도면이다.
본 발명의 일 실시예에 따른, RPC 서버(320)는, 결과값 저장부(210)로부터 연산 수행 결과값을 선취하여 연산 작업을 수행할 수 있다.
도 3을 참조하여 예를 들어 설명하면, 특정 RPC 서버(320)는 특정 RPC 서버(320)가 연산 작업을 수행하기 전에 이미 다른 RPC 서버(310)가 연산을 완료하여 저장 장치(110)에 저장한 값을 사용하여 연산 작업을 수행할 수 있다.
다른 RPC 서버(320)는 연산 작업을 수행하여 그 결과값을 클라이언트 장치(120)로 전송하거나 저장 장치(110)로 전송하여 저장할 수 있고, 클라이언트 장치(120)로 전송한 경우, 클라이언트 장치(120)가 저장 장치(110)로 전송하여 결과값 저장부(210)에 저장할 수도 있다.
이렇게 저장된 결과값은 순차적 연산과 같이 앞의 연산 값을 이용하는 경우 빠르게 연산을 수행할 수 있는 연산 작업인 경우 특정 RPC 서버(310)가 연산 작업을 수행함에 있어서, 기초 연산 자료로 이용될 수 있다.
위와 같이 특정 RPC 서버(310)가 결과값 저장부에 저장된 결과값을 이용하여 연산을 수행하는 경우, 클라이언트 장치(120)는 RPC 프로토콜에 특정 RPC 서버(310)가 사용할 결과값이 위치하는 결과값 파라미터 정보를 포함하여 특정 RPC 서버(310)로 송신할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템(100)을 이용하여 연산 작업이 수행되는 과정을 예시적으로 보여주는 도면이다.
본 발명의 일 실시예에 따른, RPC 서버(430)는, 제1 RPC 프로토콜에 포함된 데이터 파라미터 정보에 기초하여 저장 장치에 저장된 데이터를 이용(S416)하여 연산 작업을 수행(S417)할 수 있다.
도 4를 참조하여 구체적으로 예를 들어 설명하면, 원격 데이터 연산 시스템(100)은, 사용자 연산 요청 입력(S411)을 받은 클라이언트 장치(410)가 저장 장치 ID(Identity) 정보, 데이터 파라미터, 클라이언트 장치 정보 및 저장 장치 접속 인증 정보 중 하나 이상의 정보를 포함하는 제1 RPC 프로토콜을 생성하고(S413), 생성된 제1 RPC 프로토콜을 RPC 서버(430)로 송신(S414)한다.
일 예로, RPC 서버(430)는, 클라이언트 장치(410)로부터 제1 RPC 프로토콜을 수신(S414)하고, 제1 RPC 프로토콜에 포함된 데이터 파라미터 정보를 이용하여 저장 장치(450)의 특정 영역에 저장된 연산에 필요한 데이터에 접속(S416)할 수 있다.
이후, RPC 서버(430)는 전술한 데이터를 이용하여 요청된 연산 작업을 수행(S417)하여 그 결과값을 클라이언트 장치(410) 및 저장 장치(450) 중 적어도 하나 이상의 장치로 송신(S418)할 수 있다.
이 경우, 저장장치(450)는 RPC 서버(430)로부터 연산 결과 값을 수신하여 결과 값을 저장(S419)하고, RPC 서버(430)는 저장 장치(450)에 결과값 저장이 완료되면, 제1 RPC 결과 프로토콜을 클라이언트 장치(410)로 송신(S421)할 수도 있다.
위에서 언급한, 제1 RPC 결과 프로토콜은 연산 결과 값의 저장 여부에 대한 정보, 연산을 수행한 RPC 서버 관련 정보, 연산 결과 값 정보 및 저장 장치에 연산 결과 값이 저장된 위치 인덱스 정보 중 하나 이상의 정보를 포함할 수 있다.
전술한 바와 같이 저장 장치(450)는 결과값 정보를 수신받아 결과값 저장부에 저장(S419)할 수 있다. 이 경우, 결과값 정보는 RPC 서버(430)로부터 받거나 클라이언트 장치(410)로부터 받을 수도 있다.
본 발명의 일 실시예에 따른, 제1 RPC 프로토콜은, 저장 장치 ID(Identity) 정보, 데이터 파라미터, 클라이언트 장치 정보 및 저장 장치 접속 인증 정보 중 하나 이상의 정보를 포함할 수 있다.
전술한 제1 RPC 프로토콜은 연산 작업에 요구되는 데이터가 저장된 저장 장치의 ID 정보와 저장 장치 내에 데이터가 위치하는 정보를 포함하는 데이터 파라미터 정보와 연산 작업을 요청하는 클라이언트 장치(410)에 대한 정보 및 저장 장치에 접속하기 위한 비밀번호와 같은 인증 정보 중 하나 이상의 정보를 포함할 수 있다. 또한, 이 외에도 RPC 서버(430)가 작업해야 할 연산 작업과 관련된 정보가 포함될 수 있다.
RPC 서버(430)는 제1 RPC 프로토콜을 클라이언트 장치(410)로부터 입력 받아서 이 정보들에 기초하여 저장 장치의 데이터에 접속한 후 연산 작업을 수행할 수 있다.
본 발명의 일 실시예에 따른, 클라이언트 장치(410)는, 저장 장치(450)와 하나 이상의 RPC 서버 간의 거리 정보, 데이터 전송 비용 정보 및 중간 결과값이 연산 작업에 이용되는 방식에 대한 정보 중 하나 이상의 정보에 기초하여 선택된 RPC 서버(430)로 제1 RPC 프로토콜을 전송(S414)할 수 있다.
예를 들어 설명하면, 클라이언트 장치(410)는, 저장 장치(450)와 하나 이상의 RPC 서버 각각의 거리 정보는 RPC 서버(430)가 저장 장치(450)에 접속하여 연산 작업을 수행하는데 소요되는 시간과 관련이 있고, 데이터가 전송되는데 요구되는 비용에 대한 정보 및 해당 연산 작업을 수행하는데 이전에 RPC 서버(430)가 연산한 중간 결과값이 사용되는지에 대한 정보 등에 기초하여 가장 효율적이고 빠른 연산 작업을 수행할 수 있는 특정 RPC 서버(430)를 선택하여 전술한 제1 RPC 프로토콜을 송신할 수도 있다.
도 5는 본 발명의 일 실시예에 따른, RPC 서버(530)의 연산 결과값이 타 RPC 서버(570)의 연산 작업에서 사용되는 과정을 예시적으로 나타낸 도면이다.
도 5는 순차적 연산 즉, 하나 이상의 RPC 서버(530, 570)가 연산 작업에 사용되며 순차적인 연산 작업이 요구되어 RPC 서버(530)의 연산 결과값이 타 RPC 서버(570)의 연산 작업에 사용되는 경우에 대한 과정을 보여준다.
예를 들어 설명하면, 클라이언트 장치(510)는 사용자 연산 요청 입력(S511)이 발생하면, 저장 장치 ID(Identity) 정보, 데이터 파라미터, 클라이언트 장치 정보, 연산 관련 정보 및 저장 장치 접속 인증 정보 중 하나 이상의 정보를 포함하는 제1 RPC 프로토콜을 생성하고(S513), 생성된 제1 RPC 프로토콜을 RPC 서버(530)로 송신(S514)한다.
RPC 서버(530)는 제1 RPC 프로토콜에 포함된 정보들에 기초하여 저장 장치(550)에 접속(S515)하여 요청된 연산 작업을 수행(S516)할 수 있다. 연산 작업이 완료된 후 RPC 서버(530)는 연산 결과값을 클라이언트 장치(510) 및 저장 장치(550) 중 하나 이상의 장치로 송신(S517) 할 수 있다.이후, 저장 장치(550)는 결과값을 저장(S518)하고, 만약, RPC 서버(530)가 연산 결과값을 클라이언트 장치(510)에만 송신한 경우에는 클라이언트 장치(510)로부터 결과값을 수신 받아 저장할 수 있다.
또한, 저장장치(550)는 RPC 서버(530)로부터 연산 결과 값을 수신하여 결과 값을 저장(S518)하고, RPC 서버(530)는 저장 장치(550)에 결과값 저장이 완료되면, 제1 RPC 결과 프로토콜을 클라이언트 장치(510)로 송신(S519)할 수도 있다.
위에서 언급한, 제1 RPC 결과 프로토콜은 연산 결과 값의 저장 여부에 대한 정보, 연산을 수행한 RPC 서버 관련 정보, 연산 결과 값 정보 및 저장 장치에 연산 결과 값이 저장된 위치 인덱스 정보 중 하나 이상의 정보를 포함할 수 있다.
또한, RPC 서버(530)로부터 제1 RPC 결과 프로토콜을 수신(S519)받은 클라이언트 장치(510)는 다음 연산 작업을 수행할 타 RPC 서버(570)를 선택하여 제1 타 RPC 프로토콜을 생성(S520)할 수 있다. 제1 타 RPC 프로토콜에는 전술한 바와 같이 저장 장치 ID(Identity) 정보, 결과값 파라미터, 데이터 파라미터, 클라이언트 장치 정보, 연산 관련 정보 및 저장 장치 접속 인증 정보 중 하나 이상의 정보가 포함될 수 있다.
타 RPC 서버(570)는 클라이언트 장치(510)로부터 제1 타 RPC 프로토콜을 입력받아 제1 타 RPC 프로토콜에 포함된 정보에 근거하여 저장 장치(550)에 접속하고(S522) 연산 작업을 수행(S523)할 수 있다.
이 경우, 타 RPC 서버(570)는 RPC 서버(530)의 연산 결과 저장된 결과값을 이용하여 연산 작업을 수행하여 빠른 연산 작업을 수행할 수 있다.
타 RPC 서버(570)는 연산 작업이 완료된 후 연산 결과값을 클라이언트 장치(510) 및 저장 장치(550) 중 하나 이상의 장치로 송신(S524) 할 수 있다.이후, 저장 장치(550)는 결과값을 저장(S525)하고, 만약, 타 RPC 서버(570)가 연산 결과값을 클라이언트 장치(510)에만 송신한 경우에는 클라이언트 장치(510)로부터 결과값을 수신 받아 저장할 수 있다.
또한, 저장장치(550)는 타 RPC 서버(570)로부터 연산 결과 값을 수신하여 결과 값을 저장(S525)하고, 타 RPC 서버(570)는 저장 장치(550)에 결과값 저장이 완료되면, 제1 타 RPC 결과 프로토콜을 클라이언트 장치(510)로 송신(S527)할 수도 있다.
전술한 바와 같이 제1 타 RPC 결과 프로토콜은, 연산 결과 값의 저장 여부에 대한 정보, 연산을 수행한 타 RPC 서버 관련 정보, 연산 결과 값 정보 및 저장 장치에 연산 결과 값이 저장된 위치 인덱스 정보 중 하나 이상의 정보를 포함할 수 있다.
이와 같이 본 발명의 시스템은 이전 RPC 서버(530)가 연산한 값을 삭제하지 않고 저장함으로써, 이후 순차적 연산처럼 이전 연산 값이 요구되는 연산 작업의 경우 중복적으로 연산을 수행하지 않고도 타 RPC 서버(570)가 빠르게 연산을 수행할 수 있다는 장점이 있다.
도 6은 본 발명의 일 실시예에 따른, 중간 서버(610)가 포함된 원격 데이터 연산 시스템(100)의 블록도 이다.
본 발명의 일 실시예에 따른, 원격 데이터 연산 시스템(100)은, 제1 RPC 프로토콜, RPC 서버의 중간 결과 산출 정보 및 RPC 서버의 연산 작업 실행 상태 정보 중 하나 이상의 정보에 기초하여 연산 작업을 수행할 RPC 서버를 선택하고 선택된 RPC 서버로 제2 RPC 프로토콜을 송신하며 RPC 서버로부터 연산 작업 결과를 수신하여 제1 RPC 결과 프로토콜을 클라이언트 장치로 송신하는 중간 서버(610)를 더 포함할 수 있다.
여기서, 제1 RPC 결과 프로토콜은, 연산 결과 값의 저장 여부에 대한 정보, 연산을 수행한 RPC 서버 관련 정보, 연산 결과 값 정보 및 저장 장치에 연산 결과 값이 저장된 위치 인덱스 정보 중 하나 이상의 정보를 포함할 수 있다.
도 6을 참조하여 설명하면, 중간 서버(610)는 클라이언트 장치(120)와 RPC 서버들(130) 간에 위치하여 연산 작업 요청을 중계하는 역할을 수행하며 클라이언트 장치(120)로부터 제1 RPC 프로토콜을 입력 받아 각 RPC 서버(130)가 연산 결과 중간 결과값을 산출한 정보인 RPC 서버의 중간 결과 산출 정보 및 각 RPC 서버(130)가 연산 작업을 실행 중에 있는지에 대한 RPC 서버의 연산 작업 실행 상태 정보 중 하나 이상의 정보에 기초하여 클라이언트 장치(120)가 요청한 연산 작업을 수행하기에 가장 적합한 RPC 서버(130)를 선택하여 제2 RPC 프로토콜을 송신할 수 있다.
또한, 중간 서버(610)는 저장 장치(110)와 연결되어 데이터 파라미터(114) 정보를 알 수 있고, 클라이언트 장치(120)로부터 연산 작업 요청에 대한 제1 RPC 프로토콜이 입력되면 연산 작업에 필요한 데이터의 파라미터 정보를 확인 후 제2 RPC 프로토콜에 해당 정보를 포함시켜 송신할 수도 있다.
만약, 다수의 저장 장치(110)가 존재하는 경우에 중간 서버(610)는 연산 작업에 필요한 데이터가 저장된 저장 장치(110)와 물리적 거리가 가장 가까운 RPC 서버(130)를 선택하여 제2 RPC 프로토콜을 송신할 수 있다.
또한, 중간 서버(610)는, 저장 장치(110)와 하나 이상의 RPC 서버 간의 거리 정보, 데이터 전송 비용 정보 및 중간 결과값이 연산 작업에 이용되는 방식에 대한 정보 중 하나 이상의 정보에 기초하여 선택된 RPC 서버(130)로 제2 RPC 프로토콜을 전송할 수 있다.
예를 들어 설명하면, 중간 서버(610)는, 저장 장치(110)와 하나 이상의 RPC 서버 각각의 거리 정보는 RPC 서버(130)가 저장 장치(110)에 접속하여 연산 작업을 수행하는데 소요되는 시간과 관련이 있고, 데이터가 전송되는데 요구되는 비용에 대한 정보 및 해당 연산 작업을 수행하는데 이전에 RPC 서버(130)가 연산한 중간 결과값이 사용되는지에 대한 정보 등에 기초하여 가장 효율적이고 빠른 연산 작업을 수행할 수 있는 특정 RPC 서버(130)를 선택하여 전술한 제2 RPC 프로토콜을 송신할 수도 있다.
도 7은 본 발명의 일 실시예에 따른, 중간 서버(730)가 포함된 경우의 원격 데이터 연산 과정을 예시적으로 나타낸 도면이다.
본 발명의 일 실시예에 따른, 중간 서버는, 제1 RPC 프로토콜에 기초하여 연산 작업에 필요한 데이터 파라리터 정보를 확인하고, 데이터 파라미터 정보가 포함된 제2 RPC 프로토콜을 송신하며, RPC 서버는 제2 RPC 프로토콜에 포함된 데이터 파라미터 정보에 기초하여 저장 장치에 저장된 데이터를 이용하여 연산 작업을 수행할 수 있다.
도 7을 참조하여 구체적으로 설명하면, 중간 서버(730)가 포함된 원격 데이터 연산 시스템에 있어서, 클라이언트 장치(710)는 사용자 연산 요청 입력(S711)이 발생하면, 저장 장치 ID(Identity) 정보, 데이터 파라미터, 클라이언트 장치 정보, 연산 관련 정보 및 저장 장치 접속 인증 정보 중 하나 이상의 정보를 포함하는 제1 RPC 프로토콜을 생성하고(S713), 생성된 제1 RPC 프로토콜을 중간 서버(730)로 송신(S714)한다.
중간 서버(730)는, 제1 RPC 프로토콜에 포함된 정보, RPC 서버의 중간 결과 산출 정보 및 RPC 서버의 연산 작업 실행 상태 정보 등을 종합하여 요청된 연산 작업을 수행하기에 가장 적합한 RPC 서버(750)를 선택(S715)하고 제2 RPC 프로토콜을 생성(S717)하여 RPC 서버(750)로 송신(S718)한다.
만약, 다수의 클라이언트 장치 또는 하나의 클라이언트 장치로부터 다수의 연산 작업 요청이 입력되는 경우 중간 서버(730)는 각 연산 요청 정보 및 RPC 서버의 중간 결과 산출 정보 및 RPC 서버의 연산 작업 실행 상태 정보 등을 고려하여 각 연산 작업들의 순서를 설정할 수 있고, 해당 순서에 따라 적합한 각 RPC 서버로 연산 작업 명령을 송신할 수 있다.
또한, 중간 서버(730)는 어느 하나의 연산 작업 결과값이 다른 연산 작업에 사용되는 경우에는 하나의 RPC 서버를 지정하여 해당 연산 작업을 먼저 수행하도록 명령하고 결과값이 도출되면 다음 연산 작업을 수행하도록 하여 기존의 결과값을 이용하여 빠른 연산이 가능하도록 제어할 수 있다.
RPC 서버(750)는, 제2 RPC 프로토콜에 포함된 정보에 근거하여 저장 장치(770)에 접속하고, 요청 받은 연산 작업을 수행(S721)할 수 있다. 연산 작업이 완료되면, 연산 결과값을 중간 서버(730)로 송신(S722)할 수 있다.
이후 중간 서버(730)는 RPC 서버(750)로부터 수신 받은 연산 결과값을 클라이언트 장치(710) 또는 저장 장치(770)로 송신(S724)할 수 있다. 또는 연산 결과 값을 저장 장치(770)으로만 송신(S724)하고, 저장 장치(770)가 결과 값을 저장 완료(S725)하면, 제1 RPC 결과 프로토콜을 클라이언트 장치(710)로 송신(S727)할 수 있다.
여기서 제1 RPC 결과 프로토콜은 연산 결과 값의 저장 여부에 대한 정보, 연산을 수행한 RPC 서버 관련 정보, 연산 결과 값 정보 및 저장 장치에 연산 결과 값이 저장된 위치 인덱스 정보 중 하나 이상의 정보를 포함할 수 있다.
또한, 연산 결과 값은 연산 요청에 따라 중간 서버(730)에 직접 보관하거나 타 RPC 서버의 연산 작업에 필요한 경우 저장 장치(770)에 저장된 위치 정보를 포함하는 결과값 파라미터를 제2 RPC 프로토콜에 포함시켜 송신할 수 있다.
또한, 중간 서버(730)는 저장 장치(770)에 저장된 데이터들의 저장위치와 관련된 정보를 포함하는 데이터 파라미터를 보관하거나, 데이터 파라미터가 보관된 장치에 접속하여 클라이언트 장치로부터 연산 요청이 올 경우 해당 연산 작업에 사용되는 데이터가 저장된 저장 장치와 가까운 RPC 서버를 선택하여 연산 작업 명령을 송신할 수 있다.
또한, 본 발명의 일 실시예에 따른, 저장 장치(770)는, 중간 서버(730)로부터 연산 작업 결과값을 입력 받아 저장 장치에 저장(S725)하거나, RPC 서버, 클라이언트 장치 및 중간 서버의 저장 장치 접속 기록 정보를 저장할 수 있다.
즉, 저장 장치(770)는, 데이터, 데이터의 위치 정보를 포함하는 데이터 파라미터, RPC 서버, 클라이언트 장치 및 중간 서버의 저장 장치 접속 기록 정보 중 하나 이상의 정보를 저장할 수 있고, 이러한 정보는 클라이언트 장치, 중간 서버 및 RPC 서버의 접속에 의해서 연산 작업 및 연산 작업을 할 RPC 서버를 선택하기 위한 기초 정보로 사용될 수 있다.
전술한, RPC 서버는, 네트워크를 통하여 불특정 다수 클라이언트 장치 및/또는 저장 장치, 중간 서버와 연결될 수 있는데, 이에 따라, RPC 서버는 클라이언트 장치 또는 중간 서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 또는 이러한 컴퓨터 시스템을 위하여 설치되어 있는 컴퓨터 소프트웨어(서버 프로그램)를 뜻하는 것일 수도 있다.
또한, RPC 서버 또는 중간 서버는, 서버상에서 동작하는 일련의 응용 프로그램(Application Program)과, 경우에 따라서는 내부 또는 외부에 구축되어 있는 각종 저장 장치를 포함하는 넓은 개념으로 이해되어야 할 것이다.
여기서, 저장 장치는, 서버 또는 다른 장치 등에 의해 사용될 목적으로 정보나 자료 등의 데이터가 구조화되어 관리되는 데이터의 집합체를 의미할 수 있으며, 이러한 데이터의 집합체를 저장하는 저장매체를 의미할 수도 있다.
또한, 이러한 저장 장치는 데이터의 구조화 방식, 관리 방식, 종류 등에 따라 분류된 복수의 저장 장치를 포함하는 것일 수도 있다.
경우에 따라서, 저장 장치는 정보나 자료 등을 추가, 수정, 삭제 등을 할 수 있도록 해주는 소프트웨어인 데이터베이스 관리시스템(Database Management System, DBMS)을 포함할 수도 있다.
한편, 네트워크는 RPC 서버와 중간 서버 또는 저장 장치 또는 클라이언트 장치를 연결해주는 망(Network)으로서, LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크일 수도 있으나, 인터넷(Internet)과 같은 개방형 네트워크일 수도 있다. 여기서, 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미한다.
간략하게 전술한 본 발명의 일 실시예에 따른 원격 데이터 연산 방법에 대하여, 이하에서 더욱 상세하게 설명한다.
도 8은 본 발명의 일 실시예에 따른, 원격 데이터 연산 방법의 흐름도이다.
본 발명의 일 실시예에 따른, 원격 데이터 연산 방법은, 저장 장치가 데이터의 저장 위치 정보를 포함하는 데이터 파라미터 및 데이터 중 하나 이상을 저장하고 갱신하는 단계(S800)와 클라이언트 장치가 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC(Remote Procedure Call) 프로토콜을 전송하는 단계(S802) 및 RPC 서버가 제1 RPC 프로토콜을 수신하고 저장 장치에 접속하여 연산 작업을 수행하는 단계(S804)를 포함할 수 있다.
도 8을 참조하여 예를 들면, 원격 데이터 연산 시스템이 연산 작업을 실행함에 있어서, 저장 장치가 연산 작업에 필요한 데이터 및 데이터 파라미터 등을 저장하는 단계(S800)와 클라이언트 장치가 사용자의 연산 요청 정보 입력에 따라 제1 RPC 프로토콜을 생성하여 전송하는 단계(S802) 및 제1 RPC 프로토콜을 수신 받은 RPC 서버가 저장 장치에 접속하여 요청된 연산 작업을 수행하는 단계(S804)를 포함할 수 있다.
또한, 전술한 바와 같이 RPC 서버의 연산 작업 결과 얻어진 결과값을 저장 장치에 저장하는 단계가 추가로 포함될 수 있으며, 클라이언트 장치가 S802 단계 이전에 다수의 RPC 서버 중 연산 작업에 맞는 RPC 서버를 선택하는 단계가 추가될 수도 있다.
도 9는 본 발명의 일 실시예에 따른, 중간 서버가 포함된 원격 데이터 연산 방법의 흐름도이다.
본 발명의 일 실시예에 따른, 원격 데이터 연산 방법은, 클라이언트 장치가 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC 프로토콜을 전송하는 단계(S902) 이후에, 중간 서버가 제1 RPC 프로토콜, RPC 서버의 중간 결과 산출 정보 및 RPC 서버의 연산 작업 실행 상태 정보 중 하나 이상의 정보에 기초하여 연산 작업을 수행할 RPC 서버를 선택하는 단계(S904) 및 선택된 RPC 서버로 제2 RPC 프로토콜을 송신하는 단계(S906)를 더 포함할 수 있다.
예를 들면, 도 7에서 설명한 바와 같이 중간 서버는, 제1 RPC 프로토콜, RPC 서버의 중간 결과 산출 정보 및 RPC 서버의 연산 작업 실행 상태 정보 중 하나 이상의 정보에 기초하여 연산 작업을 수행할 RPC 서버를 선택하는 단계(S904) 및 선택된 RPC 서버로 제2 RPC 프로토콜을 송신하는 단계(S906)를 포함하며, RPC 서버로부터 연산 결과값을 송신 받고 이를 클라이언트 장치 및 저장 장치 중 하나 이상의 장치로 송신하는 단계를 더 포함할 수도 있다.
또한, RPC 서버로부터 연산 결과값을 송신 받고, 이를 저장 장치로 송신하여, 저장 장치가 연산 결과값을 저장한 후 연산 결과 값 관련 정보가 포함된 제1 RPC 결과 프로토콜을 클라이언트 장치로 송신하는 단계를 더 포함할 수 있다.
이상에서는 본 발명의 실시예에 따른 원격 데이터 연산 방법이 도 8 및 도 9에서와 같은 절차로 수행되는 것으로 설명되었으나, 이는 설명의 편의를 위한 것일 뿐, 본 발명의 본질적인 개념을 벗어나지 않는 범위 내에서, 구현 방식에 따라 각 단계의 수행 절차가 바뀌거나 둘 이상의 단계가 통합되거나 하나의 단계가 둘 이상의 단계로 분리되어 수행될 수도 있다.
이상에서 설명한 바와 같이 본 발명에 의하면, 클라이언트 장치가 대용량의 데이터를 필요로 하는 작업을 RPC 서버에 요청할 경우, 작업에 필요한 데이터의 저장 장치 상의 위치를 지정하는 데이터 파라미터를 전송하여 RPC 서버가 데이터를 전송 받지 않고 저장 장치에 접속하여 작업을 수행하여 대용량 데이터의 전송으로 인한 네트워크 오버헤드를 방지하는 효과가 있다.
또한, 본 발명에 의하면, 중간 서버가 클라이언트 장치로부터 신호를 입력 받아 가장 빠르고 효율적으로 작업을 수행할 수 있는 RPC 서버를 선택하고, 선택된 RPC 서버는 데이터 파라미터 정보에 기초하여 저장 장치에 접속하여 작업을 수행하여 높은 속도의 작업 처리를 제공하는 효과가 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (13)
- 데이터 및 상기 데이터의 저장 위치 정보를 포함하는 데이터 파라미터 중 하나 이상을 저장하고 갱신하는 저장 장치;
사용자의 연산 요청 입력 정보에 기초하여 제1 RPC(Remote Procedure Call) 프로토콜을 전송하는 클라이언트 장치; 및
상기 제1 RPC 프로토콜을 수신하고 상기 저장 장치에 접속하여 연산 작업을 수행하는 하나 이상의 RPC 서버를 포함하는 원격 데이터 연산 시스템. - 제1항에 있어서,
상기 저장 장치는,
상기 RPC 서버의 연산 작업 결과에 따라 획득되는 결과값을 저장하는 결과 값 저장부를 포함하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제2항에 있어서,
상기 저장 장치는,
상기 데이터 및 상기 결과값이 저장된 저장위치 정보에 기초하여 상기 데이터 파라미터 및 결과값 파라미터를 생성하여 저장하거나 갱신하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제2항에 있어서,
상기 RPC 서버는,
상기 결과값 저장부로부터 상기 연산 수행 결과값을 선취하여 상기 연산 작업을 수행하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제1항에 있어서,
상기 제1 RPC 프로토콜은,
저장 장치 ID(Identity) 정보, 상기 데이터 파라미터, 클라이언트 장치 정보 및 저장 장치 접속 인증 정보 중 하나 이상의 정보를 포함하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제1항에 있어서,
상기 클라이언트 장치는,
상기 저장 장치와 상기 하나 이상의 RPC 서버 간의 거리 정보, 데이터 전송 비용 정보 및 중간 결과값이 상기 연산 작업에 이용되는 방식에 대한 정보 중 하나 이상의 정보에 기초하여 선택된 상기 RPC 서버로 상기 제1 RPC 프로토콜을 전송하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제1항에 있어서,
상기 RPC 서버는,
상기 제1 RPC 프로토콜에 포함된 상기 데이터 파라미터 정보에 기초하여 상기 저장 장치에 저장된 상기 데이터를 이용하여 상기 연산 작업을 수행하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제1항에 있어서,
상기 제1 RPC 프로토콜, 상기 RPC 서버의 중간 결과 산출 정보 및 상기 RPC 서버의 연산 작업 실행 상태 정보 중 하나 이상의 정보에 기초하여 상기 연산 작업을 수행할 상기 RPC 서버를 선택하고, 상기 선택된 RPC 서버로 제2 RPC 프로토콜을 송신하며, 상기 RPC 서버로부터 연산 작업 결과를 수신하여 상기 클라이언트 장치로 제1 RPC 결과 프로토콜을 송신하는 중간 서버를 더 포함하는 원격 데이터 연산 시스템. - 제8항에 있어서,
상기 중간 서버는,
상기 제1 RPC 프로토콜에 기초하여 상기 연산 작업에 필요한 데이터 파라미터 정보를 확인하고, 상기 데이터 파라미터 정보를 포함한 상기 제2 RPC 프로토콜을 송신하며, 상기 RPC 서버는 상기 제2 RPC 프로토콜에 포함된 상기 데이터 파라미터 정보에 기초하여 상기 저장 장치에 저장된 상기 데이터를 이용하여 상기 연산 작업을 수행하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제8항에 있어서,
상기 저장 장치는,
상기 중간 서버로부터 상기 연산 작업 결과를 입력받아 상기 저장 장치에 저장하거나, 상기 RPC 서버, 상기 클라이언트 장치 및 상기 중간 서버의 상기 저장 장치 접속 기록 정보를 저장하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 제8항에 있어서,
상기 중간 서버는,
상기 저장 장치와 상기 하나 이상의 RPC 서버 간의 거리 정보, 데이터 전송 비용 정보 및 중간 결과 값이 상기 연산 작업에 이용되는 방식에 대한 정보 중 하나 이상의 정보에 기초하여 선택된 상기 RPC 서버로 상기 제2 RPC 프로토콜을 송신하는 것을 특징으로 하는 원격 데이터 연산 시스템. - 원격 데이터 연산 시스템이 원격 데이터 연산 작업을 실행하는 방법에 있어서,
저장 장치가 데이터의 저장 위치 정보를 포함하는 데이터 파라미터 및 상기 데이터 중 하나 이상을 저장하고 갱신하는 단계;
클라이언트 장치가 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC(Remote Procedure Call) 프로토콜을 전송하는 단계; 및
RPC 서버가 상기 제1 RPC 프로토콜을 수신하고 상기 저장 장치에 접속하여 연산 작업을 수행하는 단계를 포함하는 원격 데이터 연산 작업 방법. - 제12항에 있어서,
상기 클라이언트 장치가 사용자의 연산 요청 입력 정보에 기초하여 제1 RPC 프로토콜을 전송하는 단계 이후에,
중간 서버가 상기 제1 RPC 프로토콜, 상기 RPC 서버의 중간 결과 산출 정보 및 상기 RPC 서버의 연산 작업 실행 상태 정보 중 하나 이상의 정보에 기초하여 상기 연산 작업을 수행할 상기 RPC 서버를 선택하는 단계; 및
상기 선택된 RPC 서버로 제2 RPC 프로토콜을 송신하는 단계를 더 포함하는 원격 데이터 연산 작업 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130088499A KR101529877B1 (ko) | 2013-07-26 | 2013-07-26 | 원격 데이터 연산 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130088499A KR101529877B1 (ko) | 2013-07-26 | 2013-07-26 | 원격 데이터 연산 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150012682A true KR20150012682A (ko) | 2015-02-04 |
KR101529877B1 KR101529877B1 (ko) | 2015-06-18 |
Family
ID=52488665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130088499A KR101529877B1 (ko) | 2013-07-26 | 2013-07-26 | 원격 데이터 연산 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101529877B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821351A (zh) * | 2020-11-05 | 2021-12-21 | 北京京东乾石科技有限公司 | 远程过程调用方法及装置、可读存储介质及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100223016B1 (ko) * | 1996-12-11 | 1999-10-01 | 정선종 | 분산 객체 시스템에서의 송신 및 수신 중계자에 의한 통신 장치 및 그 통신 방법 |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7610348B2 (en) * | 2003-05-07 | 2009-10-27 | International Business Machines | Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed |
US7617256B2 (en) * | 2004-07-19 | 2009-11-10 | Microsoft Corporation | Remote file updates through remote protocol |
-
2013
- 2013-07-26 KR KR1020130088499A patent/KR101529877B1/ko active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821351A (zh) * | 2020-11-05 | 2021-12-21 | 北京京东乾石科技有限公司 | 远程过程调用方法及装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
KR101529877B1 (ko) | 2015-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102026225B1 (ko) | 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법 | |
JP2007066161A (ja) | キャッシュシステム | |
US11290561B2 (en) | Methods and systems for managing applications of a multi-access edge computing environment | |
CN106464584B (zh) | 根据程序设计接口提供路由器信息 | |
CN111869178B (zh) | 近实时ip用户映射的方法和系统 | |
JP5936865B2 (ja) | キャッシュクラウド構造を用いたキャッシュシステムおよびキャッシングサービス提供方法 | |
CN108287894A (zh) | 数据处理方法、装置、计算设备及存储介质 | |
KR20190110082A (ko) | 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법 | |
GB2603996A (en) | Internet of Things device orchestration | |
US9286055B1 (en) | System, method, and computer program for aggregating fragments of data objects from a plurality of devices | |
KR101529877B1 (ko) | 원격 데이터 연산 방법 및 시스템 | |
JP2015079431A (ja) | 業務システム連携装置およびその連携方法 | |
CN114844961B (zh) | 一种分布式系统协议互通方法、装置、设备及存储介质 | |
KR102435830B1 (ko) | 네트워크 인프라 시스템 및 이를 이용한 데이터 공유 및 서비스 최적화를 위한 데이터 처리 방법 | |
EP3633919B1 (en) | Control method, related device, and system | |
JP6343983B2 (ja) | 仮想記憶ゲート・システム | |
US11663058B1 (en) | Preemptive filtering of events of an event bus with a deterministic filter | |
EP3472973B1 (en) | Method and device for determining resource utilization | |
WO2013111532A1 (ja) | 管理システム、管理方法およびプログラム | |
KR101137069B1 (ko) | 비즈니스 인텔리전스 서비스 시스템 및 방법 그리고 이에 사용되는 서버 | |
EP2874069A1 (en) | Method and apparatus for managing personal information in communication system | |
CN112688974A (zh) | 用于管理备份系统的方法、装置和计算机程序产品 | |
JP2014106965A (ja) | データセット転送プロトコルを用いた多重要請処理方法 | |
JP6096700B2 (ja) | Api提供システム | |
WO2021124485A1 (ja) | 管理装置、管理方法、及びプログラム |
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: 20180530 Year of fee payment: 4 |