KR101998853B1 - Method for verifying computation, apparatus and system for executing the method - Google Patents

Method for verifying computation, apparatus and system for executing the method Download PDF

Info

Publication number
KR101998853B1
KR101998853B1 KR1020170106870A KR20170106870A KR101998853B1 KR 101998853 B1 KR101998853 B1 KR 101998853B1 KR 1020170106870 A KR1020170106870 A KR 1020170106870A KR 20170106870 A KR20170106870 A KR 20170106870A KR 101998853 B1 KR101998853 B1 KR 101998853B1
Authority
KR
South Korea
Prior art keywords
calculation
result
remote server
delegation request
delegation
Prior art date
Application number
KR1020170106870A
Other languages
Korean (ko)
Other versions
KR20190021736A (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 KR1020170106870A priority Critical patent/KR101998853B1/en
Publication of KR20190021736A publication Critical patent/KR20190021736A/en
Application granted granted Critical
Publication of KR101998853B1 publication Critical patent/KR101998853B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

계산 검증 방법과 이를 수행하기 위한 장치 및 시스템이 개시된다. 개시되는 일 실시예에 따른 계산 검증 시스템은, 원격 서버 계산 위임 이벤트의 발생 여부를 확인하고, 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 함수의 입력에 사용되는 입력값, 및 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하며, 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 전송하는 클라이언트 장치 및 예비 계산 위임 요청을 수신하고, 예비 계산 위임 요청에 대한 결과값을 클라이언트 장치로 전송하는 원격 서버를 포함하며, 클라이언트 장치는, 원격 서버로부터 수신한 결과값 및 입력 결과 리스트에 저장된 결과값을 비교하여 원격 서버의 신뢰도를 검증한다.A calculation verification method and apparatus and system for performing the same are disclosed. The calculation verification system according to an embodiment of the present invention confirms whether a remote server calculation delegation event has occurred and, when a remote server calculation delegation event occurs, corresponds to an input value used for inputting a function, a function, and an input value A client device that extracts a function and an input value used for inputting the function, and transmits a preliminary calculation delegation request including the extracted function and the input value, and a preliminary calculation delegation request, And a remote server for transmitting the result of the preliminary calculation delegation request to the client device. The client device verifies the reliability of the remote server by comparing the result value received from the remote server and the result value stored in the input result list.

Description

계산 검증 방법과 이를 수행하기 위한 장치 및 시스템{METHOD FOR VERIFYING COMPUTATION, APPARATUS AND SYSTEM FOR EXECUTING THE METHOD}[0001] METHOD FOR VERIFYING COMPUTATION, APPARATUS AND SYSTEM FOR EXECUTING THE METHOD [

본 발명의 실시예는 계산 위임시 결과값에 대한 검증 기술과 관련된다. An embodiment of the present invention relates to a verification technique for the result value at the time of calculation delegation.

계산 위임(delegation of computation)이란 제1 컴퓨팅 장치가 시간과 자원이 많이 필요한 계산을 제2 컴퓨팅 장치로 요청하고 그 결과값을 제공받는 것을 의미한다. 이러한 계산 위임은 제1 컴퓨팅 장치의 컴퓨팅 용량이 제한되어 제2 컴퓨팅 장치로 계산을 위임하는 것이 직접 계산하는 것 보다 유리한 경우에 수행될 수 있다. 예를 들어, 클라우드 서비스를 제공하는 서버는 모바일 단말 등의 클라이언트들로부터 복잡한 계산을 위임 받아 그 결과 값을 전송하는 서비스를 제공할 수 있다. 그러나, 검증되지 않거나 신뢰할 수 없는 서버는 클라이언트들에게 의도적으로 변형된 결과값을 전송할 수 있다. 또한 서버에서 의도적으로 변형된 결과값을 전송하지 않더라도, 네트워크 전송 구간 등에서 결과값이 변형되거나 왜곡되는 경우가 발생할 수 있다. 이에 클라이언트는 계산 위임을 통해 서버로부터 수신된 결과값이 정확한 값인지를 검증할 필요가 있다. The delegation of computation means that the first computing device requests the second computing device for a computation that requires a lot of time and resources, and the result is provided. Such computation delegation may be performed when the computing capacity of the first computing device is limited and it is advantageous to delegate the computation to the second computing device rather than to compute directly. For example, a server providing a cloud service can provide a service for delegating complex calculation from clients such as a mobile terminal and transmitting the resultant value. However, unverified or untrusted servers may transmit intentionally modified results to clients. Even if the server does not intentionally transmit the modified result, the result may be distorted or distorted in the network transmission interval. Therefore, the client needs to verify whether the result value received from the server through the calculation delegation is correct value.

한국등록특허공보 제10-1475747호(2014.12.23)Korean Patent Registration No. 10-1475747 (Dec. 23, 2014)

본 발명의 실시예는 계산을 위임한 원격 서버로부터 수신한 결과값을 검증할 수 있는 검증 방법과 이를 수행하기 위한 장치 및 시스템을 제공하기 위한 것이다.An embodiment of the present invention is to provide a verification method capable of verifying a result value received from a remote server to which calculation is delegated, and an apparatus and system for performing the verification method.

개시되는 일 실시예에 따른 계산 검증 시스템은, 원격 서버 계산 위임 이벤트의 발생 여부를 확인하고, 상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하며, 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 전송하는 클라이언트 장치; 및 상기 예비 계산 위임 요청을 수신하고, 상기 예비 계산 위임 요청에 대한 결과값을 상기 클라이언트 장치로 전송하는 원격 서버를 포함하며, 상기 클라이언트 장치는, 상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 원격 서버의 신뢰도를 검증한다.The calculation verification system according to an embodiment of the present invention confirms whether a remote server calculation delegation event is generated, and when the remote server calculation delegation event occurs, an input value used for input of the function, A client device for extracting a function and an input value used for inputting the function in the input result list storing the result value corresponding to the value and transmitting a preliminary calculation delegation request including the extracted function and the input value; And a remote server for receiving the preliminary computation delegation request and for transmitting the result of the preliminary computational delegation request to the client device, wherein the client device further comprises: a result value received from the remote server; And verifies the reliability of the remote server.

상기 클라이언트 장치는, 상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값이 일치하는 경우, 계산 위임 요청을 상기 원격 서버로 전송하고, 상기 원격 서버로부터 상기 계산 위임 요청에 대한 결과값을 수신할 수 있다.Wherein the client device transmits a calculation delegation request to the remote server when the result value received from the remote server matches the result value stored in the input result list, Lt; / RTI >

상기 계산 검증 시스템은, 신뢰도가 검증된 로컬 컴퓨팅 장치를 더 포함하고, 상기 클라이언트 장치는, 상기 원격 서버로 전송하였던 계산 위임 요청을 상기 로컬 컴퓨팅 장치에게도 전송하며, 상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신할 수 있다.Wherein the calculation verification system further comprises a verified local computing device, wherein the client device also transmits to the local computing device a computation delegation request that was sent to the remote server, Lt; / RTI >

상기 클라이언트 장치는, 상기 원격 서버로부터 수신한 계산 위임 요청에 대한 결과값과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 원격 서버의 신뢰도를 재검증할 수 있다.The client device may verify the reliability of the remote server by comparing the result of the calculation delegation request received from the remote server with the result of the calculation delegation request received from the local computing device.

상기 계산 검증 시스템은, 복수 개의 원격 서버를 포함하고, 상기 클라이언트 장치는, 상기 원격 서버 계산 위임 이벤트 발생 시 상기 함수 및 입력값을 포함하는 예비 계산 위임 요청을 상기 복수 개의 원격 서버로 각각 전송하고, 상기 복수 개의 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 각각 수신하며, 상기 복수 개의 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 복수 개의 원격 서버들의 신뢰도를 검증할 수 있다.Wherein the calculation verification system includes a plurality of remote servers and the client device transmits a preliminary calculation delegation request including the function and the input value to the plurality of remote servers when the remote server calculation delegation event occurs, Receiving a result value of the preliminary calculation delegation request from the plurality of remote servers, comparing the result value received from the plurality of remote servers with the result value stored in the input result list, Can be verified.

상기 클라이언트 장치는, 상기 복수 개의 원격 서버들 중 상기 검증이 완료된 원격 서버들로 계산 위임 요청을 전송하고, 상기 원격 서버들로부터 상기 계산 위임 요청에 대한 결과값을 각각 수신할 수 있다.The client device may transmit a calculation delegation request to the verified remote servers among the plurality of remote servers and receive the result of the calculation delegation request from the remote servers, respectively.

상기 클라이언트 장치는, 상기 원격 서버들로부터 수신한 상기 계산 위임 요청에 대한 결과값들이 동일하지 않은 경우, 상기 수신한 결과값들 중 상호 일치하는 개수가 가장 많은 결과값을 상기 계산 위임 요청에 대응하는 결과값으로 결정할 수 있다.Wherein the client device is configured to, when the result values of the calculation delegation request received from the remote servers are not equal to each other, calculate a result value having the largest number of mutually matching among the received result values, Can be determined as a result value.

상기 계산 검증 시스템은, 신뢰도가 검증된 로컬 컴퓨팅 장치를 더 포함하고, 상기 클라이언트 장치는, 상기 검증이 완료된 원격 서버들로 전송하였던 계산 위임 요청을 상기 로컬 컴퓨팅 장치에게도 전송하며, 상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신할 수 있다.Wherein the computational validation system further comprises a verified local computing device and wherein the client device also transmits to the local computing device a computational delegation request that was sent to the verified remote servers, And receive the result of the calculation delegation request.

상기 클라이언트 장치는, 상기 검증이 완료된 원격 서버들로부터 수신한 계산 위임 요청에 대한 결과값들과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 검증이 완료된 원격 서버들에 대해 신뢰도 점수를 부여할 수 있다.The client device compares the result of the calculation delegation request received from the verified remote servers with the result of the calculation delegation request received from the local computing device, A reliability score can be given.

개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 원격 서버 계산 위임 이벤트의 발생 여부를 확인하기 위한 명령; 상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하기 위한 명령; 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 원격 서버로 전송하기 위한 명령; 상기 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 수신하기 위한 명령; 및 상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 원격 서버의 신뢰도를 검증하기 위한 명령을 포함한다.A computing device according to one disclosed embodiment includes: one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, the one or more programs comprising instructions for determining whether a remote server computation delegation event has occurred ; In the case where the remote server calculation delegation event occurs, a function, an input value used for inputting the function, and an input value used for inputting a function and a corresponding function in the input result list storing the result value corresponding to the input value An instruction to extract; Instructions for sending a preliminary computational delegation request containing the extracted function and input values to a remote server; Receiving a result value for the preliminary calculation delegation request from the remote server; And an instruction to verify the reliability of the remote server by comparing the result value received from the remote server with the result value stored in the input result list.

상기 하나 이상의 프로그램들은, 상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값이 일치하는 경우, 계산 위임 요청을 상기 원격 서버로 전송하기 위한 명령; 상기 원격 서버로부터 상기 계산 위임 요청에 대한 결과값을 수신하기 위한 명령; 상기 원격 서버로 전송하였던 계산 위임 요청을 신뢰도가 검증된 로컬 컴퓨팅 장치에게도 전송하기 위한 명령; 및 상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하기 위한 명령을 더 포함할 수 있다.Wherein the one or more programs include: instructions for sending a request for calculation delegation to the remote server if the result value received from the remote server and the result value stored in the input result list match; Receiving a result value for the calculation delegation request from the remote server; An instruction to transfer the computation delegation request to the trusted computing device; And receiving a result value for the computational delegation request from the local computing device.

상기 하나 이상의 프로그램들은, 상기 원격 서버로부터 수신한 계산 위임 요청에 대한 결과값과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 원격 서버의 신뢰도를 재검증하기 위한 명령을 더 포함할 수 있다.Wherein the one or more programs further include instructions for re-verifying the reliability of the remote server by comparing the result of the calculation delegation request received from the remote server with the result of the calculation delegation request received from the local computing device .

개시되는 다른 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 원격 서버 계산 위임 이벤트의 발생 여부를 확인하기 위한 명령; 상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하기 위한 명령; 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 복수 개의 원격 서버로 전송하기 위한 명령; 상기 복수 개의 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 각각 수신하기 위한 명령; 및 상기 복수 개의 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 복수 개의 원격 서버의 신뢰도를 검증하기 위한 명령을 포함한다.A computing device according to another disclosed embodiment includes: one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, the one or more programs comprising instructions for determining whether a remote server computation delegation event has occurred ; In the case where the remote server calculation delegation event occurs, a function, an input value used for inputting the function, and an input value used for inputting a function and a corresponding function in the input result list storing the result value corresponding to the input value An instruction to extract; Instructions for sending a preliminary computational delegation request including the extracted function and input values to a plurality of remote servers; Receiving a result of the preliminary calculation delegation request from the plurality of remote servers, respectively; And comparing the result values received from the plurality of remote servers with the result values stored in the input result list to verify the reliability of the plurality of remote servers.

상기 하나 이상의 프로그램들은, 상기 복수 개의 원격 서버들 중 상기 검증이 완료된 원격 서버들로 계산 위임 요청을 전송하기 위한 명령; 및 상기 원격 서버들로부터 상기 계산 위임 요청에 대한 결과값을 각각 수신하기 위한 명령을 더 포함할 수 있다.The one or more programs further comprising: instructions for sending a computational delegation request to the verified remote servers of the plurality of remote servers; And receiving a result value for the calculation delegation request from the remote servers, respectively.

상기 하나 이상의 프로그램들은, 상기 원격 서버들로부터 수신한 상기 계산 위임 요청에 대한 결과값들이 동일한지 여부를 확인하기 위한 명령; 및 상기 계산 위임 요청에 대한 결과값들이 동일하지 않은 경우, 상기 결과값들 중 상호 일치하는 개수가 가장 많은 결과값을 상기 계산 위임 요청에 대응하는 결과값으로 결정하기 위한 명령을 더 포함할 수 있다.Wherein the one or more programs include: instructions for determining whether the result values for the computation delegation request received from the remote servers are the same; And a step of determining, as a result value corresponding to the calculation delegation request, a result value having the largest number of mutually matching values among the result values when the result values for the calculation delegation request are not identical .

상기 하나 이상의 프로그램들은, 상기 검증이 완료된 원격 서버들로 전송하였던 계산 위임 요청을 신뢰도가 검증된 로컬 컴퓨팅 장치에게도 전송하기 위한 명령; 및 상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하기 위한 명령을 더 포함할 수 있다.The one or more programs further comprising: instructions for sending a computation delegation request to the verified local computing device, the computational delegation request being sent to the verified remote servers; And receiving a result value for the computational delegation request from the local computing device.

상기 하나 이상의 프로그램들은, 상기 검증이 완료된 원격 서버들로부터 수신한 계산 위임 요청에 대한 결과값들과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하기 위한 명령; 및 상기 비교 결과에 따라 상기 검증이 완료된 원격 서버들에 대해 신뢰도 점수를 부여하기 위한 명령을 더 포함할 수 있다. Wherein the one or more programs include instructions for comparing result values for a computational delegation request received from the verified remote servers with results for a computational delegation request received from the local computing device; And an instruction to assign a reliability score to the remote servers that have been verified according to the comparison result.

개시되는 일 실시예에 따른 계산 검증 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 원격 서버 계산 위임 이벤트의 발생 여부를 확인하는 단계; 상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하는 단계; 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 원격 서버로 전송하는 단계; 상기 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 수신하는 단계; 및 상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 원격 서버의 신뢰도를 검증하는 단계를 포함한다.A computational verification method according to one disclosed embodiment is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, The method comprising: In the case where the remote server calculation delegation event occurs, a function, an input value used for inputting the function, and an input value used for inputting a function and a corresponding function in the input result list storing the result value corresponding to the input value Extracting; Transmitting a preliminary calculation delegation request including the extracted function and the input value to a remote server; Receiving a result of the preliminary calculation delegation request from the remote server; And comparing the result value received from the remote server with the result value stored in the input result list to verify the reliability of the remote server.

개시되는 실시예에 의하면, 원격 서버로 계산을 위임하기 전에, 이미 결과값을 알고 있는 함수 및 입력값에 대해 예비 계산 위임 요청을 하고, 그 결과값을 수신하여 기 저장된 결과값과 비교함으로써, 원격 서버에 대한 사전 검증(1차 검증)을 수행할 수 있게 된다. 그리고, 사전 검증이 완료된 원격 서버에 대해 부하 초과 작업에 대한 계산 위임을 요청하여 그 결과값을 수신한 후, 신뢰도가 검증된 로컬 컴퓨팅 장치)로 해당 부하 초과 작업에 대해 다시 계산 위임을 요청하고 그 결과값을 수신한 후, 2개의 결과값을 비교함으로써, 원격 서버에 대한 2차 검증을 수행할 수 있게 된다. 또한, 1차 검증 결과 및 2차 검증 결과 중 하나 이상을 기반으로 원격 서버에 대한 신뢰도를 평가할 수 있게 된다. According to the disclosed embodiment, before a calculation is delegated to a remote server, a preliminary calculation delegation request is made to a function and an input value that already know the result value, and the result is received and compared with the previously stored result value, It is possible to perform pre-verification (primary verification) on the server. Then, the pre-verified remote server requests the calculation delegation for the overloaded operation, receives the resultant value, and requests the trusted local computing device to recalculate the overloaded operation. After receiving the result value, it is possible to perform the secondary verification on the remote server by comparing the two result values. In addition, the reliability of the remote server can be evaluated based on at least one of the first verification result and the second verification result.

도 1은 본 발명의 일 실시예에 따른 계산 검증 시스템의 구성을 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 계산 검증 방법을 설명하기 위한 흐름도
도 3은 본 발명의 다른 실시예에 따른 계산 검증 시스템의 구성을 나타낸 도면
도 4는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a diagram illustrating a configuration of a calculation verification system according to an embodiment of the present invention;
2 is a flowchart for explaining a calculation verification method according to an embodiment of the present invention.
3 is a diagram illustrating a configuration of a calculation verification system according to another embodiment of the present invention;
4 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in the exemplary embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and / or systems described herein. However, this is merely an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification. The terms used in the detailed description are intended only to describe embodiments of the invention and should in no way be limiting. Unless specifically stated otherwise, the singular form of a term includes plural forms of meaning. In this description, the expressions "comprising" or "comprising" are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, Should not be construed to preclude the presence or possibility of other features, numbers, steps, operations, elements, portions or combinations thereof.

이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다. In the following description, terms such as " transmission ", "transmission "," transmission ", "reception ", and the like, of a signal or information refer not only to the direct transmission of signals or information from one component to another But also through other components. In particular, "transmitting" or "transmitting" a signal or information to an element is indicative of the final destination of the signal or information and not a direct destination. This is the same for "reception" of a signal or information. Also, in this specification, the fact that two or more pieces of data or information are "related" means that when one piece of data (or information) is acquired, at least a part of the other data (or information) can be obtained based thereon.

또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Also, the terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

도 1은 본 발명의 일 실시예에 따른 계산 검증 시스템의 구성을 나타낸 도면이다. 1 is a diagram illustrating a configuration of a calculation verification system according to an embodiment of the present invention.

도 1을 참조하면, 계산 검증 시스템(100)은 클라이언트 장치(102), 로컬 컴퓨팅 장치(104), 및 원격 서버(106)를 포함할 수 있다. 클라이언트 장치(102)는 통신 네트워크(150)를 통해 로컬 컴퓨팅 장치(104) 및 원격 서버(106)와 통신 가능하게 연결된다. 몇몇 실시예들에서, 통신 네트워크(150)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.Referring to FIG. 1, a calculation verification system 100 may include a client device 102, a local computing device 104, and a remote server 106. The client device 102 is communicatively coupled to the local computing device 104 and the remote server 106 via the communications network 150. In some embodiments, the communications network 150 may include one or more of the Internet, one or more local area networks, wire area networks, cellular networks, mobile networks, other types of networks, As shown in FIG.

클라이언트 장치(102)는 로컬 컴퓨팅 장치(104) 또는 원격 서버(106)로 계산을 위임하는 단말기일 수 있다. 클라이언트 장치(102)는 사용자가 휴대할 수 있는 모바일 단말기(예를 들어, 스마트 폰, 태블릿, 웨어러블 기기 등)일 수 있다.The client device 102 may be a terminal that delegates computation to the local computing device 104 or remote server 106. The client device 102 may be a mobile terminal (e.g., smart phone, tablet, wearable device, etc.) that the user may carry.

클라이언트 장치(102)는 하나 이상의 함수 및 각 함수의 입력으로 사용되는 하나 이상의 입력값을 포함하는 계산 위임 요청을 로컬 컴퓨팅 장치(104)로 전송할 수 있다. 클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)로부터 계산 위임 요청에 대응하는 결과값을 수신할 수 있다. 클라이언트 장치(102)는 각 함수에 대해 입력값 및 결과값을 매칭하여 저장할 수 있다. The client device 102 may send a computational delegation request to the local computing device 104 that includes one or more functions and one or more input values used as inputs to each function. The client device 102 may receive a result value corresponding to the computational delegation request from the local computing device 104. [ The client device 102 may store and store an input value and a result value for each function.

즉, 클라이언트 장치(102)는 계산을 위임할 함수들에 대해 복수 개의 입력값을 포함하는 계산 위임 요청을 로컬 컴퓨팅 장치(104)로 전송하여 로컬 컴퓨팅 장치(104)에서 각 함수 및 입력값에 대한 계산을 수행하도록 할 수 있다. 그리고, 로컬 컴퓨팅 장치(104)로부터 각 함수 및 입력값에 대한 결과값을 수신하고, 각 함수에 대해 입력값 및 결과값을 매칭하여 저장할 수 있다. 클라이언트 장치(102)는 각 함수에 대한 입력값 및 결과값을 입력 결과 리스트에 저장할 수 있다. 상기 입력값은 랜덤하게 생성될 수도 있고, 별도의 입력값 생성 알고리즘을 이용하여 생성될 수도 있다. 표 1은 클라이언트 장치(102)에서 각 함수, 입력값, 및 결과값이 매칭되어 저장되는 상태를 예시적으로 나타낸 표이다. That is, the client device 102 sends a computational delegation request to the local computing device 104 that includes a plurality of input values for functions to delegate computation to the local computing device 104 for each function and input value To perform the calculation. The local computing device 104 may receive the result of each function and the input value, and may store and store the input value and the result value for each function. The client device 102 may store an input value and a result value for each function in an input result list. The input values may be randomly generated, or may be generated using a separate input value generation algorithm. Table 1 is a table exemplarily showing a state where each function, input value, and result value are matched and stored in the client device 102.

함수 종류Function type 입력값Input value 결과값Result value f1()f1 () a1a1 A1A1 f1()f1 () a2a2 A2A2 f1()f1 () a3a3 A3A3 ...... ...... ...... f2() f2 () b1b1 B1B1 f2()f2 () b2b2 B2B2 f2()f2 () b3b3 B3B3 ...... ...... ...... f3()f3 () c1c1 C1C1 ...... ...... ......

클라이언트 장치(102)는 원격 서버 계산 위임 이벤트가 발생하는 경우, 입력 결과 리스트에 저장되어 있는 함수 및 해당 함수의 입력에 사용되는 입력값을 포함하는 예비 계산 위임 요청을 원격 서버(106)로 전송할 수 있다. 일 실시예에서, 원격 서버 계산 위임 이벤트는 클라이언트 장치(102)에서 계산을 수행하기에는 계산량이 많은(즉, 부하(Load)가 많은) 작업이 주어진 경우 발생할 수 있다. 예를 들어, 원격 서버 계산 위임 이벤트는 클라이언트 장치(102)에서 계산을 수행하는 경우 클라이언트 장치(102)의 CPU 점유율이 기 설정된 임계 점유율을 초과할 것으로 예상되거나 계산 시간이 기 설정된 임계 계산 시간을 초과할 것으로 예상되는 작업(이하, 부하 초과 작업으로 지칭할 수 있음)이 주어진 경우 발생할 수 있다. 또한, 원격 서버 계산 위임 이벤트는 클라이언트 장치(102)에 부하 초과 작업이 주어지고, 로컬 컴퓨팅 장치(104)와 접속이 불가한 상황(예를 들어, 클라이언트 장치(102)의 사용자가 클라이언트 장치(102)를 소지하고 로컬 컴퓨팅 장치(104)로부터 원거리로 이동한 상황 등)에서 발생할 수 있다. 다만, 본 발명의 실시예들에서 계산 위임 이벤트의 발생 조건은 반드시 클라이언트 장치(102)의 계산량 또는 부하와 연관될 필요는 없다. 즉, 클라이언트 장치(102)는 계산량 또는 부하가 많은 작업 이외에도 다양한 이유로 계산을 위임할 수 있으며, 본 발명의 실시예들은 특정 조건에 한정되는 것은 아님을 유의한다. 이하의 설명에서는 편의를 위해 클라이언트 장치(102)의 부하 초과 작업에 대하여 원격 서버(106)로 계산을 위임하는 상황을 가정하기로 한다.The client device 102 may send to the remote server 106 a preliminary computation delegation request that includes the functions stored in the input result list and the input values used to input the function when the remote server computation delegation event occurs have. In one embodiment, the remote server computation delegation event may occur when the client device 102 is given a high computational load (i.e., a high load) to perform the computation. For example, a remote server computation delegation event may be generated when the CPU usage of the client device 102 is expected to exceed a predetermined threshold occupancy rate when performing calculations at the client device 102, or when the computation time exceeds a predetermined threshold computation time (Which may hereinafter be referred to as an overload operation) is given to the user. In addition, the remote server computation delegation event may also be used in situations where a client device 102 is given an overload operation and is unable to contact the local computing device 104 (e.g., ) And moved remotely from the local computing device 104, etc.). However, in the embodiments of the present invention, the generation condition of the calculation delegation event does not necessarily have to be associated with the amount of computation or load of the client device 102. [ That is, client device 102 may delegate calculations for a variety of reasons other than computational or overloaded operations, and it is noted that embodiments of the present invention are not limited to specific conditions. In the following description, it is assumed that the calculation is delegated to the remote server 106 for the overload work of the client device 102 for convenience.

클라이언트 장치(102)는 원격 서버(106)로부터 예비 계산 위임 요청에 대응하는 결과값을 수신하고, 수신한 결과값과 입력 결과 리스트에 저장되어 있는 결과값(즉, 예비 계산 위임 요청에 포함된 함수 및 입력값과 대응하여 미리 저장된 결과값)을 비교하여 원격 서버(106)에 대한 신뢰도를 사전 검증할 수 있다. The client device 102 receives a result value corresponding to the preliminary calculation delegation request from the remote server 106 and receives the result value stored in the input result list (i.e., the function included in the preliminary calculation delegation request And a pre-stored result value corresponding to the input value) to pre-verify the reliability of the remote server 106.

클라이언트 장치(102)는 원격 서버(106)로부터 수신한 결과값과 입력 결과 리스트에 저장되어 있는 결과값이 일치하는 경우, 원격 서버(106)로 부하 초과 작업을 포함하는 계산 위임 요청을 전송할 수 있다. 클라이언트 장치(102)는 부하 초과 작업의 계산 위임 요청에 대한 결과값을 원격 서버(106)로부터 수신할 수 있다. The client device 102 may send a calculation delegation request including an overload action to the remote server 106 if the result value received from the remote server 106 matches the result value stored in the input result list . The client device 102 may receive from the remote server 106 a result value for a request to compute a load overload task.

클라이언트 장치(102)는 원격 서버(106)에게 계산 위임하였던 부하 초과 작업에 대한 계산 위임 요청을 로컬 컴퓨팅 장치(104)로 전송할 수 있다. 예시적인 실시예에서, 클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)와 접속이 가능하게 된 경우, 원격 서버(106)에게 계산 위임하였던 부하 초과 작업에 대한 계산 위임 요청을 다시 로컬 컴퓨팅 장치(104)로 전송할 수 있다. The client device 102 may send a computational delegation request to the local computing device 104 for an overloaded operation that has been delegated to the remote server 106. [ In an exemplary embodiment, when the client device 102 becomes accessible with the local computing device 104, it sends back a computational delegation request for the overloaded operation that it delegated to the remote server 106 back to the local computing device 104 ).

클라이언트 장치(102)는 부하 초과 작업에 대해 원격 서버(106)로부터 수신한 결과값과 로컬 컴퓨팅 장치(104)로부터 수신한 결과값을 비교하여 원격 서버(106)에 대한 신뢰도를 평가할 수 있다. 즉, 부하 초과 작업에 대해 원격 서버(106)로부터 수신한 결과값과 로컬 컴퓨팅 장치(104)로부터 수신한 결과값이 일치하는 경우, 원격 서버(106)에 대해 일정 수준의 신뢰도를 부여하거나 기존 신뢰도 보다 높은 신뢰도를 부여할 수 있다. The client device 102 may evaluate the reliability of the remote server 106 by comparing the results received from the remote server 106 with the results received from the local computing device 104 for overloaded operations. That is, when the result value received from the remote server 106 for the overload operation matches the result value received from the local computing device 104, the remote server 106 may be given a certain level of reliability, A higher reliability can be given.

로컬 컴퓨팅 장치(104)는 신뢰도가 검증된 단말기일 수 있다. 로컬 컴퓨팅 장치(104)는 신뢰도가 기 설정된 임계 신뢰도를 초과하며, 해당 신뢰도가 검증된 단말기일 수 있다. 로컬 컴퓨팅 장치(104)는 클라이언트 장치(102) 보다 계산 성능이 우수한 단말기일 수 있다. 즉, 로컬 컴퓨팅 장치(104)는 동일한 작업을 수행함에 있어 클라이언트 장치(102) 보다 CPU 점유율이 낮거나 클라이언트 장치(102) 보다 빠르게 계산할 수 있는 단말기일 수 있다. 예시적인 실시예에서, 로컬 컴퓨팅 장치(104)는 클라이언트 장치(102)와 유선 또는 근거리 무선 통신(예를 들어, 와이파이 또는 블루투스 등)을 통해 통신 가능하게 연결될 수 있다. The local computing device 104 may be a trusted terminal. The local computing device 104 may be a terminal whose reliability exceeds a predetermined threshold reliability and whose reliability is verified. The local computing device 104 may be a terminal that performs better than the client device 102. That is, the local computing device 104 may be a terminal that is less CPU-intensive than the client device 102 or may be faster than the client device 102 in performing the same task. In an exemplary embodiment, the local computing device 104 may be communicatively coupled to the client device 102 via wired or short-range wireless communication (e.g., Wi-Fi or Bluetooth).

로컬 컴퓨팅 장치(104)는 하나 이상의 함수 및 각 함수의 입력으로 사용되는 하나 이상의 입력값을 포함하는 계산 위임 요청에 대응하여 결과값을 산출한 후, 산출한 결과값을 클라이언트 장치(102)로 전송할 수 있다. 또한, 로컬 컴퓨팅 장치(104)는 부하 초과 작업에 대한 계산 위임 요청에 대응하여 결과값을 산출한 후, 산출한 결과값을 클라이언트 장치(102)로 전송할 수 있다. The local computing device 104 calculates the result value in response to the calculation delegation request including one or more functions and one or more input values used as inputs to each function, and transmits the calculated result value to the client device 102 . In addition, the local computing device 104 may calculate the result value in response to the calculation delegation request for the overloaded job, and then transmit the calculated result value to the client device 102. [

원격 서버(106)는 계산 위임 요청에 대해 계산을 위임하여 처리하기 위한 서버일 수 있다. 예시적인 실시예에서, 원격 서버(106)는 클라우드 서비스를 제공하는 서버일 수 있으나, 이에 한정되는 것은 아니다. 원격 서버(106)는 예비 계산 위임 요청에 대응하여 결과값을 산출한 후, 산출한 결과값을 클라이언트 장치(102)로 전송할 수 있다. 또한, 원격 서버(106)는 부하 초과 작업에 대한 계산 위임 요청에 대응하여 결과값을 산출한 후, 산출한 결과값을 클라이언트 장치(102)로 전송할 수 있다. The remote server 106 may be a server for delegating and processing computation delegation requests. In an exemplary embodiment, the remote server 106 may be, but is not limited to, a server that provides cloud services. The remote server 106 may calculate the result value in response to the preliminary calculation delegation request and then transmit the calculated result value to the client device 102. [ In addition, the remote server 106 may calculate the result value in response to the calculation delegation request for the overloaded job, and then transmit the calculated result value to the client device 102.

개시되는 실시예에 의하면, 원격 서버(106)로 부하 초과 작업에 대한 계산을 위임하기 전에, 이미 결과값을 알고 있는 함수 및 입력값에 대해 예비 계산 위임 요청을 하고, 그 결과값을 수신하여 기 저장된 결과값과 비교함으로써, 원격 서버(106)에 대한 사전 검증(1차 검증)을 수행할 수 있게 된다. 그리고, 사전 검증이 완료된 원격 서버(106)에 대해 부하 초과 작업에 대한 계산 위임을 요청하여 그 결과값을 수신한 후, 신뢰도가 검증된 로컬 컴퓨팅 장치(104)로 해당 부하 초과 작업에 대해 다시 계산 위임을 요청하고 그 결과값을 수신한 후, 2개의 결과값을 비교함으로써, 원격 서버(106)에 대한 2차 검증을 수행할 수 있게 된다. 또한, 1차 검증 결과 및 2차 검증 결과 중 하나 이상을 기반으로 원격 서버(106)에 대한 신뢰도를 평가할 수 있게 된다. According to the disclosed embodiment, before delegating calculation to the remote server 106 for the calculation of the overload operation, a preliminary calculation delegation request is made to the function and the input value which already know the result value, and the result is received By comparison with stored results, it is possible to perform pre-verification (primary verification) on the remote server 106. Then, the pre-validated remote server 106 is requested to perform calculation delegation for the overloaded operation, receives the resultant value, and then recalculates the corresponding overloaded operation to the trusted local computing device 104 After requesting the delegation and receiving the result value, it is possible to perform the secondary verification for the remote server 106 by comparing the two result values. In addition, the reliability of the remote server 106 can be evaluated based on at least one of the primary verification result and the secondary verification result.

한편, 여기서는 클라이언트 장치(102)가 로컬 컴퓨팅 장치(104)로 계산 위임 요청을 하고, 로컬 컴퓨팅 장치(104)로부터 각 함수 및 입력값에 대한 결과값을 수신하여 입력 결과 리스트를 생성하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 클라이언트 장치(102)가 각 함수 및 입력값에 대한 결과값을 계산한 후, 입력 결과 리스트를 생성할 수도 있다. It has been described herein that the client device 102 makes a request for calculation delegation to the local computing device 104 and receives the result of each function and input value from the local computing device 104 to generate an input result list , But the client device 102 may generate the input result list after calculating the result of each function and the input value.

도 2는 본 발명의 일 실시예에 따른 계산 검증 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.2 is a flowchart illustrating a calculation verification method according to an embodiment of the present invention. In the illustrated flow chart, the method is described as being divided into a plurality of steps, but at least some of the steps may be performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, One or more steps may be added and performed.

도 2를 참조하면, 클라이언트 장치(102)는 하나 이상의 함수 및 각 함수의 입력으로 사용되는 하나 이상의 입력값을 포함하는 계산 위임 요청을 로컬 컴퓨팅 장치(104)로 전송한다(S 101). Referring to FIG. 2, the client device 102 sends a calculation delegation request to the local computing device 104, which includes one or more functions and one or more input values used as inputs to each function (Sl 101).

다음으로, 클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)로부터 계산 위임 요청에 대응하는 결과값을 수신하고(S 103), 각 함수에 대해 입력값 및 결과값을 매칭하여 저장한다(S 105). 클라이언트 장치(102)는 각 함수에 대한 입력값 및 결과값을 입력 결과 리스트에 저장할 수 있다.Next, the client device 102 receives a result value corresponding to the calculation delegation request from the local computing device 104 (S 103), stores the input value and the result value for each function, and stores the matching result (S 105) . The client device 102 may store an input value and a result value for each function in an input result list.

다음으로, 클라이언트 장치(102)는 원격 서버 계산 위임 이벤트가 발생한 경우(S 107), 입력 결과 리스트에 기 저장된 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하고, 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 원격 서버(106)로 전송한다(S 109). Next, when the remote server calculation delegation event has occurred (S 107), the client device 102 extracts the pre-stored function and the input value used for inputting the function in the input result list, and includes the extracted function and the input value To the remote server 106 (S 109).

다음으로, 클라이언트 장치(102)는 원격 서버(106)로부터 예비 계산 위임 요청에 대한 결과값을 수신하고(S 111), 수신한 결과값과 입력 결과 리시트에 기 저장된 결과값을 비교하여 원격 서버(106)를 1차 검증한다(S 113). Next, the client device 102 receives the result of the preliminary calculation delegation request from the remote server 106 (S 111), compares the received result value with the pre-stored result value in the input result sheet, (S113).

다음으로, 클라이언트 장치(102)는 원격 서버(106)로부터 수신한 결과값과 입력 결과 리스트에 기 저장된 결과값이 일치하는 경우, 원격 서버(106)로 부하 초과 작업을 포함하는 계산 위임 요청을 전송한다(S 115). Next, when the result value received from the remote server 106 matches the result value stored in the input result list, the client device 102 transmits a calculation delegation request including the overload operation to the remote server 106 (S115).

다음으로, 클라이언트 장치(102)는 원격 서버(106)로부터 부하 초과 작업의 계산 위임 요청에 대한 결과값을 수신한다(S 117). 다음으로, 클라이언트 장치(102)는 원격 서버(106)에게 계산 위임하였던 부하 초과 작업에 대한 계산 위임 요청을 로컬 컴퓨팅 장치(104)로도 전송한다(S 119). Next, the client device 102 receives the result of the calculation request of the overload operation from the remote server 106 (S 117). Next, the client device 102 also transmits to the local computing device 104 a computational delegation request for an overloaded operation that has been delegated to the remote server 106 (Sl 119).

다음으로, 클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)로부터 부하 초과 작업의 계산 위임 요청에 대한 결과값을 수신하고(S 121), 원격 서버(106)로부터 수신한 결과값과 로컬 컴퓨팅 장치(104)로부터 수신한 결과값을 비교하여 원격 서버(106)에 대한 신뢰도를 평가한다(S 123). 즉, 원격 서버(106)에 대한 2차 검증을 수행할 수 있다. Next, the client device 102 receives (S 121) the result of the calculation request for the overloaded operation from the local computing device 104, and compares the result received from the remote server 106 with the result value received from the local computing device 104, and evaluates the reliability of the remote server 106 (S 123). In other words, it can perform secondary verification of the remote server 106.

도 3은 본 발명의 다른 실시예에 따른 계산 검증 시스템의 구성을 나타낸 도면이다. 도 3에서는 도 1에 도시한 실시예와 차이가 나는 부분을 중점적으로 설명하기로 한다. 3 is a diagram illustrating a configuration of a calculation verification system according to another embodiment of the present invention. In FIG. 3, the difference from the embodiment shown in FIG. 1 will be mainly described.

도 3을 참조하면, 계산 검증 시스템(100)은 클라이언트 장치(102), 로컬 컴퓨팅 장치(104), 및 복수 개의 원격 서버(106)를 포함할 수 있다. 예시적인 실시예에서, 원격 서버(106)는 제1 원격 서버(106-1), 제2 원격 서버(106-2), 및 제3 원격 서버(106-3)를 포함할 수 있다. Referring to FIG. 3, the calculation verification system 100 may include a client device 102, a local computing device 104, and a plurality of remote servers 106. In an exemplary embodiment, the remote server 106 may include a first remote server 106-1, a second remote server 106-2, and a third remote server 106-3.

클라이언트 장치(102)는 원격 서버 계산 위임 이벤트가 발생하는 경우, 입력 결과 리스트에 저장되어 있는 함수 및 해당 함수의 입력에 사용되는 입력값을 포함하는 예비 계산 위임 요청을 제1 원격 서버(106-1), 제2 원격 서버(106-2), 및 제3 원격 서버(106-3)로 각각 전송할 수 있다. When a remote server calculation delegation event occurs, the client device 102 sends a preliminary calculation delegation request including the function stored in the input result list and the input value used for inputting the function to the first remote server 106-1 , The second remote server 106-2, and the third remote server 106-3, respectively.

클라이언트 장치(102)는 제1 원격 서버(106-1), 제2 원격 서버(106-2), 및 제3 원격 서버(106-3)로부터 예비 계산 위임 요청에 대응하는 결과값을 각각 수신하고, 수신한 각 결과값과 입력 결과 리스트에 기 저장된 결과값을 비교하여 부하 초과 작업을 위임할 원격 서버를 결정할 수 있다. 클라이언트 장치(102)는 수신한 각 결과값이 입력 결과 리스트에 기 저장된 결과값과 일치하는 원격 서버를 부하 초과 작업을 위임할 원격 서버로 결정할 수 있다. The client device 102 receives a result value corresponding to the preliminary calculation delegation request from the first remote server 106-1, the second remote server 106-2, and the third remote server 106-3, respectively , The remote server to which the overloading task is to be delegated can be determined by comparing the received result values with pre-stored results in the input result list. The client device 102 can determine the remote server whose each result value received matches the pre-stored value stored in the input result list as the remote server to delegate the overload work.

클라이언트 장치(102)는 수신한 각 결과값이 입력 결과 리스트에 기 저장된 결과값과 일치하는 원격 서버로 부하 초과 작업에 대한 계산 위임 요청을 전송할 수 있다. 예를 들어, 제1 원격 서버(106-1) 내지 제3 원격 서버(106-3)로부터 수신한 각 결과값이 입력 결과 리스트에 기 저장된 결과값과 모두 일치하는 경우, 제1 원격 서버(106-1) 내지 제3 원격 서버(106-3)로 부하 초과 작업에 대한 계산 위임 요청을 각각 전송할 수 있다. The client device 102 can transmit a calculation delegation request for the overload operation to the remote server in which each result value received matches the pre-stored value in the input result list. For example, when each result value received from the first remote server 106-1 to the third remote server 106-3 matches all of the result values pre-stored in the input result list, the first remote server 106-1 -1) to the third remote server 106-3, respectively.

클라이언트 장치(102)는 제1 원격 서버(106-1) 내지 제3 원격 서버(106-3)로부터 부하 초과 작업의 계산 위임 요청에 대한 결과값을 각각 수신할 수 있다. 수신한 각 결과값이 동일한 경우, 클라이언트 장치(102)는 해당 결과값을 부하 초과 작업에 대응하는 결과값으로 결정할 수 있다. 수신한 각 결과값이 동일하지 않은 경우, 클라이언트 장치(102)는 수신한 각 결과값 중 상호 일치하는 개수가 가장 많은 결과값을 부하 초과 작업에 대응하는 결과값으로 결정할 수 있다. The client device 102 may receive the result value for the calculation delegation request of the overload operation from the first remote server 106-1 to the third remote server 106-3, respectively. If the received result values are the same, the client device 102 can determine the result value as a result value corresponding to the overload operation. If the received result values are not the same, the client device 102 can determine a result value having the largest number of mutually matching outcomes among the received outcome values as a result value corresponding to the overload work.

클라이언트 장치(102)는 제1 원격 서버(106-1) 내지 제3 원격 서버(106-3)에게 계산 위임하였던 부하 초과 작업에 대한 계산 위임 요청을 로컬 컴퓨팅 장치(104)로 전송할 수 있다. The client device 102 may send a computational delegation request to the local computing device 104 for overloaded operations that the first remote server 106-1 to the third remote server 106-3 have computed.

클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)로부터 수신한 결과값을 기반으로 제1 원격 서버(106-1) 내지 제3 원격 서버(106-3)로부터 수신한 결과값을 검증할 수 있다. 클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)로부터 수신한 결과값과 일치하는 결과값을 전송한 원격 서버에 대해 기 설정된 신뢰도 가산 점수를 부여할 수 있다. 클라이언트 장치(102)는 로컬 컴퓨팅 장치(104)로부터 수신한 결과값과 일치하지 않는 결과값을 전송한 원격 서버에 대해 기 설정된 신뢰도 감산 점수를 부여할 수 있다. 클라이언트 장치(102)는 이러한 작업을 반복 수행하면서 각 원격 서버(106)들에 대해 신뢰도 평가를 수행할 수 있게 된다.The client device 102 may verify the result value received from the first remote server 106-1 to the third remote server 106-3 based on the result value received from the local computing device 104. [ The client device 102 may award a predetermined confidence score to the remote server that transmitted the result value that matches the result value received from the local computing device 104. [ The client device 102 may award a predetermined confidence subtraction score to the remote server that transmitted the result value that does not match the result value received from the local computing device 104. [ The client device 102 is allowed to perform a reliability evaluation for each remote server 106 while iterating this operation.

도 4는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되는 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.4 is a block diagram illustrating and illustrating a computing environment 10 that includes a computing device suitable for use in the exemplary embodiments. In the illustrated embodiment, each of the components may have different functions and capabilities than those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 클라이언트 장치(예를 들어, 클라이언트 장치(102))일 수 있다. 또한, 컴퓨팅 장치(12)는 로컬 컴퓨팅 장치(예를 들어, 로컬 컴퓨팅 장치(104))일 수 있다. 또한, 컴퓨팅 장치(12)는 서버 장치(예를 들어, 원격 서버(106))일 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, computing device 12 may be a client device (e.g., client device 102). In addition, computing device 12 may be a local computing device (e.g., local computing device 104). The computing device 12 may also be a server device (e.g., remote server 106).

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The computing device 12 includes at least one processor 14, a computer readable storage medium 16, The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiment discussed above. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16. The one or more programs may include one or more computer-executable instructions, which when executed by the processor 14 cause the computing device 12 to perform operations in accordance with the illustrative embodiment .

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and / or other suitable forms of information. The program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, the computer-readable storage medium 16 may be any type of storage medium such as a memory (volatile memory such as random access memory, non-volatile memory, or any suitable combination thereof), one or more magnetic disk storage devices, Memory devices, or any other form of storage medium that can be accessed by the computing device 12 and store the desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12, including processor 14, computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.The computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. The exemplary input and output device 24 may be any type of device, such as a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touch pad or touch screen), a voice or sound input device, An input device, and / or an output device such as a display device, a printer, a speaker, and / or a network card. The exemplary input and output device 24 may be included within the computing device 12 as a component of the computing device 12 and may be coupled to the computing device 12 as a separate device distinct from the computing device 12 It is possible.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, . Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100 : 계산 검증 시스템
102 : 클라이언트 장치
104 : 로컬 컴퓨팅 장치
106 : 원격 서버
100: Calculation Verification System
102: Client device
104: Local computing device
106: remote server

Claims (18)

원격 서버 계산 위임 이벤트의 발생 여부를 확인하고, 상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 계산 위임 요청을 하기 전 사전 검증을 위해 예비 계산 위임 요청을 전송하되, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하며, 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 전송하는 클라이언트 장치;
상기 예비 계산 위임 요청을 수신하고, 상기 예비 계산 위임 요청에 대한 결과값을 상기 클라이언트 장치로 전송하는 원격 서버; 및
신뢰도가 검증된 로컬 컴퓨팅 장치를 포함하며,
상기 클라이언트 장치는, 상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 원격 서버의 신뢰도를 1차 검증하고,
상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값이 일치하는 경우, 계산 위임 요청을 상기 원격 서버로 전송하며, 상기 원격 서버로부터 상기 계산 위임 요청에 대한 결과값을 수신하고,
상기 원격 서버로 전송하였던 계산 위임 요청을 상기 로컬 컴퓨팅 장치에게도 전송하며, 상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하며,
상기 원격 서버로부터 수신한 계산 위임 요청에 대한 결과값과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 원격 서버의 신뢰도를 2차 검증하는, 계산 검증 시스템.
A remote server calculation delegation event is generated, and when the remote server calculation delegation event occurs, a preliminary calculation delegation request is transmitted for pre-verification before a calculation delegation request is made, A client device for extracting an input value used for inputting a function and a corresponding function in an input result list storing an input value and a result value corresponding to the input value and transmitting a preliminary calculation delegation request including the extracted function and the input value, ;
A remote server receiving the preliminary calculation delegation request and transmitting a result value for the preliminary calculation delegation request to the client device; And
A trusted local computing device,
Wherein the client device first verifies the reliability of the remote server by comparing a result value received from the remote server and a result value stored in the input result list,
When the result value received from the remote server matches the result value stored in the input result list, transmits a calculation delegation request to the remote server, receives a result of the calculation delegation request from the remote server,
Sending a computation delegation request sent to the remote server to the local computing device, receiving a result of the computation delegation request from the local computing device,
Wherein the reliability of the remote server is secondarily verified by comparing the result of the calculation delegation request received from the remote server with the result of the calculation delegation request received from the local computing device.
삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 계산 검증 시스템은, 복수 개의 원격 서버를 포함하고,
상기 클라이언트 장치는,
상기 원격 서버 계산 위임 이벤트 발생 시 상기 함수 및 입력값을 포함하는 예비 계산 위임 요청을 상기 복수 개의 원격 서버로 각각 전송하고,
상기 복수 개의 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 각각 수신하며,
상기 복수 개의 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 복수 개의 원격 서버들의 신뢰도를 1차 검증하는, 계산 검증 시스템.
The method according to claim 1,
Wherein the calculation verification system comprises a plurality of remote servers,
The client device comprising:
And transmitting a preliminary calculation delegation request including the function and the input value to the plurality of remote servers when the remote server calculation delegation event occurs,
Receiving a result of the preliminary calculation delegation request from the plurality of remote servers,
And compares the result value received from the plurality of remote servers with the result value stored in the input result list to firstly verify the reliability of the plurality of remote servers.
청구항 5에 있어서,
상기 클라이언트 장치는,
상기 복수 개의 원격 서버들 중 상기 검증이 완료된 원격 서버들로 계산 위임 요청을 전송하고, 상기 원격 서버들로부터 상기 계산 위임 요청에 대한 결과값을 각각 수신하는, 계산 검증 시스템.
The method of claim 5,
The client device comprising:
Send a computational delegation request to the verified remote servers of the plurality of remote servers and receive a result value for the computational delegation request from the remote servers, respectively.
청구항 6에 있어서,
상기 클라이언트 장치는,
상기 원격 서버들로부터 수신한 상기 계산 위임 요청에 대한 결과값들이 동일하지 않은 경우, 상기 수신한 결과값들 중 상호 일치하는 개수가 가장 많은 결과값을 상기 계산 위임 요청에 대응하는 결과값으로 결정하는, 계산 검증 시스템.
The method of claim 6,
The client device comprising:
If a result of the calculation delegation request received from the remote servers is not identical, a result value having the largest number of mutually matching outcomes among the received result values is determined as a result value corresponding to the calculation delegation request , Calculation verification system.
청구항 6에 있어서,
상기 클라이언트 장치는,
상기 검증이 완료된 원격 서버들로 전송하였던 계산 위임 요청을 상기 로컬 컴퓨팅 장치에게도 전송하며, 상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하는, 계산 검증 시스템.
The method of claim 6,
The client device comprising:
To the local computing device, a computation delegation request sent to the verified remote servers, and receives a result of the computational delegation request from the local computing device.
청구항 8에 있어서,
상기 클라이언트 장치는,
상기 검증이 완료된 원격 서버들로부터 수신한 계산 위임 요청에 대한 결과값들과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 검증이 완료된 원격 서버들에 대해 신뢰도 점수를 부여하는, 계산 검증 시스템.
The method of claim 8,
The client device comprising:
A reliability score is given to the verified remote servers by comparing the result of the calculation delegation request received from the verified remote servers with the result of the calculation delegation request received from the local computing device , Calculation verification system.
하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
원격 서버 계산 위임 이벤트의 발생 여부를 확인하기 위한 명령;
상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하기 위한 명령;
계산 위임 요청을 하기 전 사전 검증을 위해 상기 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 원격 서버로 전송하기 위한 명령;
상기 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 수신하기 위한 명령;
상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 원격 서버의 신뢰도를 1차 검증하기 위한 명령;
상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값이 일치하는 경우, 계산 위임 요청을 상기 원격 서버로 전송하기 위한 명령;
상기 원격 서버로부터 상기 계산 위임 요청에 대한 결과값을 수신하기 위한 명령;
상기 원격 서버로 전송하였던 계산 위임 요청을 신뢰도가 검증된 로컬 컴퓨팅 장치에게도 전송하기 위한 명령;
상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하기 위한 명령; 및
상기 원격 서버로부터 수신한 계산 위임 요청에 대한 결과값과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 원격 서버의 신뢰도를 2차 검증하기 위한 명령을 포함하는, 컴퓨팅 장치.
One or more processors;
Memory; And
Comprising one or more programs,
Wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors,
The one or more programs,
A command to determine whether a remote server calculation delegation event has occurred;
In the case where the remote server calculation delegation event occurs, a function, an input value used for inputting the function, and an input value used for inputting a function and a corresponding function in the input result list storing the result value corresponding to the input value An instruction to extract;
Instructions for sending a preliminary computation delegation request to the remote server, the preliminary computational delegation request including the extracted function and the input value for preliminary validation before the computational delegation request;
Receiving a result value for the preliminary calculation delegation request from the remote server;
Comparing the result value received from the remote server with the result value stored in the input result list to firstly verify the reliability of the remote server;
An instruction to transmit a calculation delegation request to the remote server when the result value received from the remote server matches the result value stored in the input result list;
Receiving a result value for the calculation delegation request from the remote server;
An instruction to transfer the computation delegation request to the trusted computing device;
Receiving a result value for the computational delegation request from the local computing device; And
Comparing the result of the calculation delegation request received from the remote server with the result of the calculation delegation request received from the local computing device, and verifying the reliability of the remote server secondarily.
삭제delete 삭제delete 하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
원격 서버 계산 위임 이벤트의 발생 여부를 확인하기 위한 명령;
상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하기 위한 명령;
계산 위임 요청을 하기 전 사전 검증을 위해 상기 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 복수 개의 원격 서버로 전송하기 위한 명령;
상기 복수 개의 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 각각 수신하기 위한 명령;
상기 복수 개의 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 복수 개의 원격 서버의 신뢰도를 1차 검증하기 위한 명령
상기 복수 개의 원격 서버들 중 상기 검증이 완료된 원격 서버들로 계산 위임 요청을 전송하기 위한 명령;
상기 원격 서버들로부터 상기 계산 위임 요청에 대한 결과값을 각각 수신하기 위한 명령
상기 검증이 완료된 원격 서버들로 전송하였던 계산 위임 요청을 신뢰도가 검증된 로컬 컴퓨팅 장치에게도 전송하기 위한 명령;
상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하기 위한 명령
상기 검증이 완료된 원격 서버들로부터 수신한 계산 위임 요청에 대한 결과값들과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 원격 서버들에 대해 2차 검증하기 위한 명령; 및
상기 비교 결과에 따라 상기 검증이 완료된 원격 서버들에 대해 신뢰도 점수를 부여하기 위한 명령을 포함하는, 컴퓨팅 장치.
One or more processors;
Memory; And
Comprising one or more programs,
Wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors,
The one or more programs,
A command to determine whether a remote server calculation delegation event has occurred;
In the case where the remote server calculation delegation event occurs, a function, an input value used for inputting the function, and an input value used for inputting a function and a corresponding function in the input result list storing the result value corresponding to the input value An instruction to extract;
Instructions for sending a preliminary computation delegation request including the extracted function and input values to a plurality of remote servers for preliminary verification before a computational delegation request;
Receiving a result of the preliminary calculation delegation request from the plurality of remote servers, respectively;
Comparing the result value received from the plurality of remote servers with the result value stored in the input result list and for verifying the reliability of the plurality of remote servers
Instructions for sending a computation delegation request to the verified remote servers of the plurality of remote servers;
Receiving a result of the calculation delegation request from the remote servers,
An instruction to send a computation delegation request to the verified local computing device;
Instructions for receiving a result value for the computational delegation request from the local computing device
Comparing the result of the calculation delegation request received from the verified remote servers with the result of the calculation delegation request received from the local computing device and performing a second verification on the remote servers; And
And to assign a confidence score to the verified remote servers according to the comparison result.
삭제delete 청구항 13에 있어서,
상기 하나 이상의 프로그램들은,
상기 원격 서버들로부터 수신한 상기 계산 위임 요청에 대한 결과값들이 동일한지 여부를 확인하기 위한 명령; 및
상기 계산 위임 요청에 대한 결과값들이 동일하지 않은 경우, 상기 결과값들 중 상호 일치하는 개수가 가장 많은 결과값을 상기 계산 위임 요청에 대응하는 결과값으로 결정하기 위한 명령을 더 포함하는, 컴퓨팅 장치.
14. The method of claim 13,
The one or more programs,
Determining whether the result of the calculation delegation request received from the remote servers is the same; And
Further comprising the step of determining, as a result value corresponding to the calculation delegation request, a result value having the largest number of mutually matched outcome values, when the result values for the calculation delegation request are not identical, .
삭제delete 삭제delete 하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
원격 서버 계산 위임 이벤트의 발생 여부를 확인하는 단계;
상기 원격 서버 계산 위임 이벤트가 발생하는 경우, 함수, 상기 함수의 입력에 사용되는 입력값, 및 상기 입력값에 대응하는 결과값이 저장된 입력 결과 리스트에서 함수 및 해당 함수의 입력에 사용되는 입력값을 추출하는 단계;
계산 위임 요청을 하기 전 사전 검증을 위해 상기 추출한 함수 및 입력값을 포함하는 예비 계산 위임 요청을 원격 서버로 전송하는 단계;
상기 원격 서버로부터 상기 예비 계산 위임 요청에 대한 결과값을 수신하는 단계;
상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값을 비교하여 상기 원격 서버의 신뢰도를 1차 검증하는 단계
상기 원격 서버로부터 수신한 결과값 및 상기 입력 결과 리스트에 저장된 결과값이 일치하는 경우, 계산 위임 요청을 상기 원격 서버로 전송하는 단계;
상기 원격 서버로부터 상기 계산 위임 요청에 대한 결과값을 수신하는 단계;
상기 원격 서버로 전송하였던 계산 위임 요청을 신뢰도가 검증된 로컬 컴퓨팅 장치에게도 전송하는 단계;
상기 로컬 컴퓨팅 장치로부터 상기 계산 위임 요청에 대한 결과값을 수신하는 단계; 및
상기 원격 서버로부터 수신한 계산 위임 요청에 대한 결과값과 상기 로컬 컴퓨팅 장치로부터 수신한 계산 위임 요청에 대한 결과값을 비교하여 상기 원격 서버의 신뢰도를 2차 검증하는 단계를 포함하는, 계산 검증 방법.
One or more processors, and
A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
Checking whether a remote server calculation delegation event has occurred;
In the case where the remote server calculation delegation event occurs, a function, an input value used for inputting the function, and an input value used for inputting a function and a corresponding function in the input result list storing the result value corresponding to the input value Extracting;
Transmitting a preliminary calculation delegation request including the extracted function and the input value to the remote server for preliminary verification before the calculation delegation request is made;
Receiving a result of the preliminary calculation delegation request from the remote server;
Comparing the result value received from the remote server with the result value stored in the input result list to firstly verify the reliability of the remote server
Transmitting a calculation delegation request to the remote server when the result value received from the remote server matches the result value stored in the input result list;
Receiving a result of the calculation delegation request from the remote server;
Transmitting a calculation delegation request transmitted to the remote server to a local computing device having reliability;
Receiving a result value for the computation delegation request from the local computing device; And
And secondly verifying the reliability of the remote server by comparing the result of the calculation delegation request received from the remote server with the result of the calculation delegation request received from the local computing device.
KR1020170106870A 2017-08-23 2017-08-23 Method for verifying computation, apparatus and system for executing the method KR101998853B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170106870A KR101998853B1 (en) 2017-08-23 2017-08-23 Method for verifying computation, apparatus and system for executing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170106870A KR101998853B1 (en) 2017-08-23 2017-08-23 Method for verifying computation, apparatus and system for executing the method

Publications (2)

Publication Number Publication Date
KR20190021736A KR20190021736A (en) 2019-03-06
KR101998853B1 true KR101998853B1 (en) 2019-07-10

Family

ID=65760972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170106870A KR101998853B1 (en) 2017-08-23 2017-08-23 Method for verifying computation, apparatus and system for executing the method

Country Status (1)

Country Link
KR (1) KR101998853B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101273465B1 (en) * 2007-03-16 2013-06-14 재단법인서울대학교산학협력재단 Apparatus for batch verification and method using the same
JP5614465B2 (en) 2013-01-30 2014-10-29 沖電気工業株式会社 Encryption communication device, proxy server, encryption communication device program, and proxy server program
KR101472507B1 (en) * 2014-01-22 2014-12-12 고려대학교 산학협력단 Method for an outsourcing computation
JP2016220062A (en) * 2015-05-21 2016-12-22 沖電気工業株式会社 Communication device, server, signature verification commission system, and signature verification commission method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101475747B1 (en) 2014-01-22 2014-12-23 고려대학교 산학협력단 Method for an outsourcing multi-party computation using homomorphic encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101273465B1 (en) * 2007-03-16 2013-06-14 재단법인서울대학교산학협력재단 Apparatus for batch verification and method using the same
JP5614465B2 (en) 2013-01-30 2014-10-29 沖電気工業株式会社 Encryption communication device, proxy server, encryption communication device program, and proxy server program
KR101472507B1 (en) * 2014-01-22 2014-12-12 고려대학교 산학협력단 Method for an outsourcing computation
JP2016220062A (en) * 2015-05-21 2016-12-22 沖電気工業株式会社 Communication device, server, signature verification commission system, and signature verification commission method

Also Published As

Publication number Publication date
KR20190021736A (en) 2019-03-06

Similar Documents

Publication Publication Date Title
KR102069759B1 (en) Dynamic Updates for CAPTCHA Challenges
US10757102B2 (en) Methods, apparatus, and systems for identity authentication
CN110049087B (en) Credibility verification method, system, device and equipment of alliance chain
US20150281239A1 (en) Provision of access privileges to a user
CN104519049A (en) Limiting efficacy of denial of service attack by increasing client resource demands
US11107079B2 (en) Methods, systems, apparatuses and devices for verifying credibility of consortium blockchain
CN109257321B (en) Secure login method and device
CN107248995B (en) Account verification method and device
US20170161115A1 (en) Sharing Method for Hardware Communication Apparatus and Terminal
CN110022345B (en) Method, system, device and equipment for processing request in alliance chain
CN104519043A (en) Fuzzing server responses to malicious client devices
US10798185B2 (en) Systems and methods for automated session identifier propagation
US9609068B2 (en) Session management system, session management apparatus, and non-transitory computer readable medium
JP2022539283A (en) A method and system for validating blockchain data stored in a storage format different from the blockchain
US11025602B1 (en) Method, apparatus and computer program product for performing authentication using multiple user devices
CN107395623B (en) Interface access data verification method and device, computer storage medium and equipment
JP2014119962A5 (en)
CN113946816A (en) Cloud service-based authentication method and device, electronic equipment and storage medium
KR101998853B1 (en) Method for verifying computation, apparatus and system for executing the method
CN104618324A (en) Method and device for transmitting data and detecting data legality
US11816714B2 (en) Service verification method and apparatus
CN109040056B (en) User verification method based on server
CN107995214B (en) Website login method and related equipment
KR102622252B1 (en) Apparatus and method for transmitting contents
CN114328731A (en) Information processing method, device, electronic equipment and storage medium

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