KR101829279B1 - 시뮬레이션관리를 위한 장치 및 방법 - Google Patents
시뮬레이션관리를 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR101829279B1 KR101829279B1 KR1020170118922A KR20170118922A KR101829279B1 KR 101829279 B1 KR101829279 B1 KR 101829279B1 KR 1020170118922 A KR1020170118922 A KR 1020170118922A KR 20170118922 A KR20170118922 A KR 20170118922A KR 101829279 B1 KR101829279 B1 KR 101829279B1
- Authority
- KR
- South Korea
- Prior art keywords
- specific
- simulation
- information
- input information
- simulator
- Prior art date
Links
Images
Classifications
-
- G06F17/5009—
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하는, 새로운 시뮬레이션 실행관리 방안을 실현하여, 시뮬레이션 서비스의 성능을 향상시키는 기술을 개시한다.
Description
본 발명은 대용량 계산과학공학 시뮬레이션 플랫폼(예: EDISON)에서 수행되는 시뮬레이션을 관리하는 기술에 관한 것으로, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하는, 새로운 시뮬레이션 실행관리 방안에 관한 것이다.
시뮬레이션(simulation)은 전산유체역학, 물리, 계산화학, 구조동역학, 전산 설계 등 여러 분야에서 주어진 입력에 대한 대상 시스템의 수행 결과를 예측하기 위해 널리 사용되는 기술이다.
특히, 대용량 계산과학공학 시뮬레이션 플랫폼(예: EDISON)에서 수행되는 시뮬레이션들은 중복적으로 수행되는 경우가 많다. 이처럼 동일한 시뮬레이션의 실행이 불필요하게 중복적으로 수행됨에 따라 자원낭비 및 전반적인 시스템 부하가 발생하게 되는 한계점이 존재하게 된다.
또한, 시뮬레이션 실행 환경에 익숙하지 않은 사용자가, 특정시뮬레이터를 선택했을 때 작업시간이 어느 정도 소요되며, 자신이 설정한 입력정보에 의해 시뮬레이션이 성공할 수 있을 것인지 등과 같은 가이드 정보를 안내 받을 수 없어 전반적인 사용 효율성이 감소하게 되는 문제가 있다.
이에, 본 발명에서는, 대용량 계산과학공학 시뮬레이션 플랫폼(예: EDISON)에서 동일한 시뮬레이션이 중복하여 실행 및 저장되지 않도록 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경이 조성되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하는, 새로운 시뮬레이션 실행관리 방안을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하는, 새로운 시뮬레이션 실행관리 방안을 실현하여, 시뮬레이션 서비스의 성능을 향상시키는 기술에 관한 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 시뮬레이션관리장치는, 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 기반으로 특정해시값을 산출하는 산출부; 상기 특정시뮬레이터와 관련되어 기 저장된 해시값과 상기 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 상기 특정시뮬레이터의 실행여부를 결정하는 결정부; 및 상기 특정시뮬레이터의 실행이 결정되면, 상기 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한 결과를 기반으로 상기 특정입력정보가 변경되도록 제어하는 실행관리부를 포함하는 것을 특징으로 한다.
상기 특정입력정보는, 파라미터정보 및 파일정보 중 적어도 하나를 포함하며, 상기 산출부는, 상기 특정입력정보에 상기 파라미터정보가 포함되는 경우에는 상기 파라미터정보에 대한 제1 특정해시값을 산출하며, 상기 특정입력정보에 상기 파일정보가 포함되는 경우에는 상기 파일정보에 대한 제2 특정해시값을 산출하며, 상기 특정입력정보에 상기 파라미터정보 및 상기 파일정보가 포함되는 경우에는 상기 제1 특정해시값과 상기 제2 특정해시값을 연결한 제3 특정해시값을 산출하는 것을 특징으로 한다.
상기 결정부는, 상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공하며, 상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하지 않는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 상기 특정시뮬레이터가 실행되도록 제어하는 것을 특징으로 한다.
상기 기 저장된 시뮬레이션결과는, 시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 실행관리부는, 상기 입력정보로부터 상기 특정입력정보의 파라미터 및 파일정보 중 적어도 하나와 기준 이상으로 유사한 유사입력정보를 검출하고, 상기 유사입력정보가 시뮬레이션에 성공했는지의 여부를 확인한 결과를 기반으로 상기 특정입력정보에 의한 시뮬레이션의 성공여부를 예측하는 것을 특징으로 한다.
상기 실행관리부는, 상기 특정입력정보에 의한 시뮬레이션이 파라미터에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파라미터 중 상기 유사입력정보의 실패와 관련된 제1 파라미터가 변경될 수 있도록 상기 제1 파라미터와 동일한 기능을 하는 제2 파라미터를 추천하거나, 또는 상기 특정입력정보에 의한 시뮬레이션이 파일정보에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파일정보 중 상기 유사입력정보의 실패와 관련 파일정보의 제1 알고리즘이 변경될 수 있도록 상기 제1 알고리즘과 동일한 기능을 하는 제2 알고리즘을 추천하는 것을 특징으로 한다.
상기 기 저장된 시뮬레이션결과를 기반으로 상기 특정시뮬레이터의 평균작업대기시간 및 평균작업경과시간을 추정하는 부가서비스관리부를 더 포함하며, 상기 평균작업대기시간은, 상기 시뮬레이션시작시간정보와 상기 시뮬레이션요청시간정보의 차이값에 대응하는 시간이며, 상기 평균작업경과시간은, 상기 시뮬레이션종료시간정보와 상기 시뮬레이션시작시간정보의 차이값에 대응하는 시간인 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명에 따른 시뮬레이션관리장치의 동작방법은, 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 기반으로 특정해시값을 산출하는 산출단계; 상기 특정시뮬레이터와 관련되어 기 저장된 해시값과 상기 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 상기 특정시뮬레이터의 실행여부를 결정하는 결정단계; 및 상기 특정시뮬레이터의 실행이 결정되면, 상기 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한 결과를 기반으로 상기 특정입력정보가 변경되도록 제어하는 실행관리단계를 포함하는 것을 특징으로 한다.
상기 특정입력정보는, 파라미터정보 및 파일정보 중 적어도 하나를 포함하며, 상기 산출단계는, 상기 특정입력정보에 상기 파라미터정보가 포함되는 경우에는 상기 파라미터정보에 대한 제1 특정해시값을 산출하는 단계; 상기 특정입력정보에 상기 파일정보가 포함되는 경우에는 상기 파일정보에 대한 제2 특정해시값을 산출하는 단계; 및 상기 특정입력정보에 상기 파라미터정보 및 상기 파일정보가 포함되는 경우에는 상기 제1 특정해시값과 상기 제2 특정해시값을 연결한 제3 특정해시값을 산출하는 단계를 포함하는 것을 특징으로 한다.
상기 결정단계는, 상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공하는 단계; 및 상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하지 않는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 상기 특정시뮬레이터가 실행되도록 제어하는 단계를 포함하는 것을 특징으로 한다.
상기 기 저장된 시뮬레이션결과는, 시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 실행관리단계는, 상기 입력정보로부터 상기 특정입력정보의 파라미터 및 파일정보 중 적어도 하나와 기준 이상으로 유사한 유사입력정보를 검출하고, 상기 유사입력정보가 시뮬레이션에 성공했는지의 여부를 확인한 결과를 기반으로 상기 특정입력정보에 의한 시뮬레이션의 성공여부를 예측하는 것을 특징으로 한다.
상기 실행관리단계는, 상기 특정입력정보에 의한 시뮬레이션이 파라미터에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파라미터 중 상기 유사입력정보의 실패와 관련된 제1 파라미터가 변경될 수 있도록 상기 제1 파라미터와 동일한 기능을 하는 제2 파라미터를 추천하는 단계, 또는 상기 특정입력정보에 의한 시뮬레이션이 파일정보에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파일정보 중 상기 유사입력정보의 실패와 관련된 파일정보의 제1 알고리즘이 변경될 수 있도록 상기 제1 알고리즘과 동일한 기능을 하는 제2 알고리즘을 추천하는 단계를 포함하는 것을 특징으로 한다.
상기 기 저장된 시뮬레이션결과를 기반으로 상기 특정시뮬레이터의 평균작업대기시간 및 평균작업경과시간을 추정하는 부가서비스관리단계를 더 포함하며, 상기 평균작업대기시간은, 상기 시뮬레이션시작시간정보와 상기 시뮬레이션요청시간정보의 차이값에 대응하는 시간이며, 상기 평균작업경과시간은, 상기 시뮬레이션종료시간정보와 상기 시뮬레이션시작시간정보의 차이값에 대응하는 시간인 것을 특징으로 한다.
이에, 본 발명의 시뮬레이션관리를 위한 장치 및 방법에 의하면, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 함으로써, 기존과 달리 동일한 시뮬레이션이 중복하여 실행 및 저장되는 것을 방지할 수 있어 자원 활용성을 증가시킬 수 있으며, 새롭게 요청되는 시뮬레이션을 실행해야 하는 경우에는 기 저장된 실행 이력을 기반으로 최적화된 시뮬레이션 환경에서 최대 성능으로 실행된 시뮬레이션결과를 생성할 수 있어 전반적인 서비스 품질 및 사용자 만족도를 향상시킬 수 있는 효과를 도출할 수 있다.
도 1은 본 발명의 실시예에 따른 시뮬레이션관리장치가 적용될 통신 환경을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 시뮬레이션관리장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 시뮬레이션관리장치의 실용성을 기존과 비교하기 위한 일례를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 시뮬레이션 서비스를 제공하는 흐름을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 시뮬레이션관리장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 시뮬레이션관리장치의 실용성을 기존과 비교하기 위한 일례를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 시뮬레이션 서비스를 제공하는 흐름을 나타내는 도면이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 설명한다.
먼저, 도 1을 참조하여 본 발명의 시뮬레이션관리장치가 적용될 통신 환경을 설명하도록 하겠다.
도 1에 도시된 바와 같이, 본 발명이 적용될 통신 환경은, 시뮬레이션관리장치(100), 시뮬레이션실행장치(200) 및 단말(300)을 포함하는 구성을 가질 수 있다.
시뮬레이션관리장치(100)는, 대용량 계산과학공학 시뮬레이션 플랫폼(예: EDISON)을 기반으로 시뮬레이션을 관리하는 장치로서, 특히 본 발명에서 제공하고자 하는 서비스 즉, 기 수행된 시뮬레이션 프로비넌스 정보(이하, 실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있는 새로운 시뮬레이션 서비스를 제공하기 위한 장치이다.
이러한, 시뮬레이션관리장치(100)는, 기 수행된 실행 이력을 관리하기 위해 DB화된 저장장치(미도시)를 포함할 수 있으며, 단말(300)로부터 수신되는 시뮬레이션 요청을 시뮬레이션실행장치(200)로 전달하고, 시뮬레이션실행장치(200)에 의해 수행된 시뮬레이션결과가 단말(300)에서 출력되도록 제어할 수 있다.
시뮬레이션실행장치(200)는, 적어도 하나의 시뮬레이터(1,2,3..)를 이용하여 시뮬레이션을 수행하는 시스템이다.
여기서, 시뮬레이터(1,2,3..)는, 서로 다른 시뮬레이션 소프트웨어가 탑재된 컴퓨팅 장치 또는 서로 다른 시뮬레이션을 수행하는 시뮬레이션 소프트웨어일 수 있다. 예를 들어, 시뮬레이터(1,2,3..)는, WaveSimulation, gravityslingshot, rollercoaster, pianostring, PhaseDiagramSW, Bowling, roundSTMtip, acuteSTMtip 등과 같은 나노 물리 분야의 시뮬레이션 실행과 관련되는 사이언스 앱일 수 있다.
시뮬레이션관리장치(100)와 시뮬레이션실행장치(200)는 네트워크로 연결될 수 있다. 여기서, 네트워크는, 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobileradio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
본 발명의 실시예에서는 시뮬레이션관리장치(100)와 시뮬레이션실행장치(200)가 별도로 구분되어 구현된 것으로 언급하였으나, 이에 한정되지 않으며, 동일한 장치 내에 서로 다른 로직의 형태로 구현될 수도 있다.
단말(300)은, 시뮬레이션관리장치(100)를 통해 특정시뮬레이터의 실행을 요청하여 시뮬레이션 서비스를 이용하려는 연구자(이하, 사용자)가 이용하는 단말일 수 있으며, 본 발명의 시뮬레이션 서비스와 관련되는 시뮬레이션실행제어 프로그램(예: 실행툴)이 탑재되는 장치를 일컫는다.
이에, 시뮬레이션관리장치(100)는, 단말(300)로부터 특정시뮬레이터의 실행 요청을 수신할 수 있으며, 시뮬레이션실행장치(200) 내 특정시뮬레이터의 실행에 따라 생성되는 시뮬레이션결과를 단말(300)의 화면 상에 표시할 수 있게 되는 것이다.
이러한 단말(200)은, 시뮬레이션관리장치(100)와 유선 또는 무선으로 연동할 수 있으며, 예컨대, 데스트탑 PC, 태블릿 PC, 스마트폰, 노트북 및 시뮬레이션 전용/관련단말 등과 같이 시뮬레이션실행제어 프로그램(예: 실행툴)이 설치될 수 있는 장치는 모두 포함될 수 있을 것이다.
이하에서는, 도 2를 참조하여 본 발명의 실시예에 따른 시뮬레이션관리장치의 구성을 구체적으로 설명하겠다.
도 2에 도시된 바와 같이, 본 발명에 따른 시뮬레이션관리장치(100)는, 시뮬레이션실행장치(200)의 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 기반으로 특정해시값을 산출하는 산출부(110), 특정시뮬레이터와 관련되어 기 저장된 해시값과 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 특정시뮬레이터의 실행여부를 결정하는 결정부(120), 및 특정시뮬레이터의 실행이 결정되면, 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한 결과를 기반으로 특정입력정보가 변경되도록 제어하는 실행관리부(130)를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 시뮬레이션관리장치(100)는, 기 저장된 시뮬레이션결과를 기반으로 특정시뮬레이터의 평균작업대기시간 및 평균작업경과시간을 추정하며, 사용자가 시뮬레이션 실행 환경에 익숙하지 않은 것으로 판단되는 경우에는 기 수행된 시뮬레이션결과를 검색할 수 있는 검색화면을 제공하는 부가서비스관리부(140)를 더 포함하는 구성을 가질 수 있다.
이상의 산출부(110), 결정부(120), 실행관리부(130) 및 부가서비스관리부(140)를 포함하는 시뮬레이션관리장치(100)의 구성 전체 내지는 적어도 일부는, 프로세서에 의해 실행되는 소프트웨어 모듈 형태 또는 하드웨어 모듈 형태로 구현되거나, 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있다.
결국, 본 발명의 실시예에 따른 시뮬레이션관리장치(100)는, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하는, 새로운 시뮬레이션 실행관리 방안을 제공하게 되는 데, 이하에서는 이를 위한 시뮬레이션관리장치(100) 내 각 구성에 대해 구체적으로 설명하기로 한다.
산출부(110)는, 해시 기법을 기반으로 특정해시값을 산출한다.
보다 구체적으로, 산출부(110)는, 사용자가 단말(300)을 통해 시뮬레이션실행장치(200)의 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 입력하면, 특정입력정보를 기반으로 특정해시값을 산출한다.
여기서, 특정시뮬레이터는, 도 1에 도시된 시뮬레이터(1,2,3..) 중 어떤 시뮬레이터일 수도 있으며, 이하에서는 설명의 편의 상 특정시뮬레이터가 시뮬레이터1인 것으로 언급하여 설명을 이어가도록 하겠다.
즉, 산출부(110)는, 단말(300)로부터 시뮬레이터1이 선택된 후 시뮬레이터1과 관련된 특정입력정보가 수신되면, 특정입력정보를 기반으로 특정해시값(hash value)을 산출한다.
여기서, 특정입력정보는, 파라미터정보 및 파일정보 중 적어도 하나를 포함한다.
이에, 산출부(110)는, 특정입력정보에 파라미터정보만 포함되는 경우에는 파라미터정보에 대한 제1 특정해시값을 산출하고, 특정입력정보에 파일정보만 포함되는 경우에는 파일정보에 대한 제2 특정해시값을 산출하게 된다.
한편, 특정입력정보에는 파라미터정보 및 파일정보가 모두 포함될 수 있는데, 이 경우 산출부(110)는, 제1 특정해시값과 제2 특정해시값을 연결한 제3 특정해시값을 산출하게 된다.
이처럼 단말(300)로부터 특정입력정보가 수신되었을 때 특정입력정보에 대한 특정해시값을 산출하는 것은, 기 수행된 실행 이력을 기반으로 동일한 시뮬레이션의 실행이 불필요하게 중복적으로 수행되는 것을 방지하기 위함이다.
즉, 본 발명에서의 기 수행된 실행 이력은, DB화된 저장장치(미도시)에 저장될 때 해당 시뮬레이터와 함께 해당 시뮬레이터와 관련되는 해시값 및 시뮬레이션결과가 함께 매칭되어 저장된다.
이에, 기 수행된 실행 이력 중에 단말(300)로부터 수신된 특정입력정보의 특정해시값과 동일한 해당 해시값이 존재하게 된다면 동일한 시뮬레이션의 실행을 불필요하게 수행하지 않고도 해당 해시값에 매칭된 시뮬레이션결과(이하, 기 저장된 시뮬레이션결과)를 즉시 단말(300)로 제공할 수 있게 되는 것이다.
결정부(120)는, 특정시뮬레이터의 실행여부를 결정한다.
보다 구체적으로, 결정부(120)는, 산출부(110)로부터 특정시뮬레이터, 즉 시뮬레이터1과 관련된 특정입력정보를 기반으로 특정해시값의 산출이 완료되면, 기 저장된 해시값과 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 시뮬레이터1의 실행여부를 결정한다.
즉, 결정부(120)는, 기 저장된 해시값과 특정해시값이 일치하는 경우, 시뮬레이터1이 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공한다.
결국, 결정부(120)는, 제1 특정해시값 내지 제3 특정해시값 중 어느 하나와 기 저장된 해시값이 일치하면, 특정시뮬레이터가 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공한다.
이때, 기 저장된 시뮬레이션결과에는, 시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나가 포함된다.
여기서, 시뮬레이터기본정보는, 시뮬레이터(1,2,3..)의 앱이름 및 버전정보를 포함한다. 입력정보는, 파라미터정보 및 파일정보 중 적어도 하나가 포함된다. 시뮬레이션요청시간정보는, 시뮬레이터(1,2,3..) 및 입력정보가 수신되어 시뮬레이션의 실행이 요청된 시간이다. 시뮬레이션시작시간정보는, 시뮬레이터(1,2,3..)에 의해 실제 시뮬레이션이 실행된 실행시작시간이다. 시뮬레이션종료시간정보는, 시뮬레이터(1,2,3..)에 의해 실제 시뮬레이션이 실행이 종료된 실행종료시간이다. 시뮬레이션성공여부정보는, 시뮬레이터(1,2,3..)와 입력정보에 의해 시뮬레이션이 성공하였는지 아니면 실패하였는지를 나타내는 정보이다.
한편, 결정부(120)는, 기 저장된 해시값과 특정해시값이 일치하지 않는 경우, 시뮬레이터1이 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 시뮬레이터1이 실제 시뮬레이션을 정상적으로 실행할 수 있도록 제어한다.
결국, 결정부(120)는, 제1 특정해시값 내지 제3 특정해시값 중 어느 하나와 기 저장된 해시값이 일치하지 않는 경우, 특정시뮬레이터가 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 특정시뮬레이터가 실행되도록 제어한다.
실행관리부(130)는, 특정시뮬레이터의 실행이 최적화된 시뮬레이션 환경에서 수행되도록 제어한다.
보다 구체적으로, 실행관리부(130)는, 결정부(120)로부터 시뮬레이터1이 특정입력정보에 의해 실행된 이력이 존재하지 않아 시뮬레이션을 실행하는 것으로 결정된 경우, 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한다.
즉, 실행관리부(130)는, 기 저장된 입력정보 중 특정입력정보의 파라미터 및 파일정보 중 적어도 하나와 기준 이상으로 유사한 유사입력정보를 검출하고, 유사입력정보가 시뮬레이션에 성공했는지의 여부를 확인한 결과를 기반으로 특정입력정보에 의한 시뮬레이션의 성공여부를 예측한다.
예를 들어, 시뮬레이터1과 관련된 특정입력정보의 파라미터가 파라미터1,2,3를 포함하는 것으로 가정하면, 실행관리부(130)는, 기 저장된 입력정보로부터 파라미터1,2,3과 기준 이상으로 유사한 파라미터1,2를 포함하는 제1 유사입력정보와 해당 시뮬레이션결과1(파라미터1,2 기반 실행)을 검출하고, 파라미터3을 포함하는 제2 유사입력정보와 해당 시뮬레이션결과2(파라미터3 기반 실행)을 검출한다.
이때, 유사입력정보와 해당 시뮬레이션결과를 선택하기 위한 기준은, 특정입력정보의 파라미터1,2,3과 동일하거나 또는 유사한 기능을 하는 파라미터를 구분할 수 있는 정보라면 모두 기준으로 사용될 수 있을 것이다.
이후, 실행관리부(130)는, 시뮬레이션결과1(파라미터1,2 기반 실행)로부터 시뮬레이션성공여부정보를 확인하여 해당 시뮬레이션의 성공/실패를 확인하며, 시뮬레이션결과2(파라미터3 기반 실행)로부터 시뮬레이션성공여부정보를 확인하여 해당 시뮬레이션의 성공/실패를 확인한다.
이하에서는 설명의 편의상 시뮬레이션결과1(파라미터1,2 기반 실행)이 성공이며, 시뮬레이션결과2(파라미터3 기반 실행)가 실패인 것으로 언급하여 설명을 이어가도록 하겠다.
즉, 실행관리부(130)는, 시뮬레이션결과2(파라미터3 기반 실행)가 실패이므로, 시뮬레이터1과 관련된 특정입력정보의 파라미터3에 의해 시뮬레이터1에 의한 시뮬레이션이 실패할 것을 예측할 수 있게 된다.
이처럼 특정입력정보의 파라미터3에 의해 시뮬레이터1에 의한 시뮬레이션이 실패하는 것으로 예측되면, 실행관리부(130)는, 특정입력정보의 파라미터3이 변경될 수 있도록 동일한 기능을 하는 파라미터3-1을 추천한다.
즉, 실행관리부(130)는, 시뮬레이터1에 의한 시뮬레이션이 파라미터에 의해 실패하는 것으로 예측되는 경우, 특정입력정보의 파라미터 중 유사입력정보의 실패와 관련된 제1 파라미터가 변경될 수 있도록 제1 파라미터와 동일한 기능을 하는 제2 파라미터를 추천한다.
전술에서는 시뮬레이터1과 관련된 특정입력정보의 파라미터를 이용하여 시뮬레이션의 성공여부를 예측하는 과정에 대하여 언급하였으며, 이와 동일한 방식으로 특정입력정보의 파일정보, 즉 파일정보의 알고리즘과 기준 이상으로 유사한 유사입력정보를 검출한 후 시뮬레이션의 성공여부를 예측할 수 있다. 이때, 파일정보의 알고리즘은 시뮬레이션에서 반복적으로 많이 사용되는 정형화된 패턴을 갖는 것으로 가정하도록 하겠다.
이처럼 시뮬레이션이 파일정보에 의한 성공여부의 예측이 완료되면, 실행관리부(130)는, 특정입력정보의 파일정보 중 유사입력정보의 실패와 관련된 파일정보의 제1 알고리즘이 변경될 수 있도록 제1 알고리즘과 동일한 기능을 하는 제2 알고리즘을 추천한다.
이러한 특정입력정보의 파일정보의 알고리즘을 이용하여 시뮬레이션의 성공여부를 예측하는 일례는, 특정입력정보의 파라미터를 이용하여 시뮬레이션의 성공여부를 예측하는 방식과 중복되므로 구체적인 설명은 생략하도록 하겠다.
부가서비스관리부(140)는, 시뮬레이션 서비스의 기능 및 품질 향상을 위해 다양한 부가서비스를 제공한다.
보다 구체적으로, 부가서비스관리부(140)는, 특정시뮬레이터가 특정입력정보에 의해 실행된 이력이 존재하지 않아 시뮬레이션을 실행해야 하는 경우 다양한 부가서비스를 제공한다.
여기서, 부가서비스는, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하기 위해 부가적으로 제공되는 정보일 수 있다.
이러한 부가서비스는, 예를 들어 도 1에 도시된 시뮬레이터(1,2,3..)가 평균적으로 작업을 실행하기까지 대기하는 시간(이하, 평균작업대기시간), 시뮬레이터(1,2,3..)가 시뮬레이션을 실행하기 시작하여 종료하기까지의 시간(이하, 평균작업경과시간), 시뮬레이터(1,2,3..)에서 사용 가능한 자원사용유효율, 시뮬레이터(1,2,3..) 별 작업이 집중되는 시간(이하, 피크타임), 시뮬레이터(1,2,3..) 별로 시뮬레이션이 실행될 때 파라미터/파일정보를 이용하는 빈도수가 높은 순서정보 중 적어도 하나를 포함할 수 있다.
즉, 부가서비스관리부(140)는, 기 저장된 시뮬레이션결과를 기반으로 특정시뮬레이터의 평균작업대기시간 및 평균작업경과시간을 추정하고 이를 단말(300)로 제공한다.
앞서 언급한 바와 같이, 기 저장된 시뮬레이션결과에는, 시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나가 포함된다.
이에, 부가서비스관리부(140)는, 시뮬레이션시작시간정보와 시뮬레이션요청시간정보의 차이값에 대응하는 시간을 평균작업대기시간으로 산출할 수 있게 된다. 또한, 부가서비스관리부(140)는, 시뮬레이션종료시간정보와 시뮬레이션시작시간정보의 차이값에 대응하는 시간을 평균작업경과시간으로 산출할 수 있게 된다. 이때, 보다 정확한 평균작업경과시간이 산출될 수 있도록 평균오차율이 낮은 모델에서 추정된 작업경과시간을 사용자에게 전달하는 것이 바람직할 것이다.
전술한 평균작업대기시간 및 평균작업경과시간 이외에도, 부가서비스관리부(140)는, 기 저장된 시뮬레이션결과시뮬레이터(1,2,3..) 별로 작업이 집중적으로 수행되는 피크타임을 통계적으로 산출하여 제공하거나, 시뮬레이터(1,2,3..) 별로 시뮬레이션이 실행될 때 다른 사용자가 많이 사용하는 파라미터/파일정보를 카운트하여 빈도수가 높은 순서로 제공할 수 있다.
한편, 부가서비스관리부(140)는, 단말(300)로부터 특정시뮬레이터만 선택되고 특정입력정보가 입력되지 않는 경우에는, 단말(300)의 사용자가 시뮬레이션 실행 환경에 익숙하지 않은 것으로 판단하여 기 수행된 시뮬레이션결과를 검색할 수 있는 검색화면을 제공할 수 있다.
앞선 설명에서도 언급하였듯이, 기 수행된 실행 이력에는, 해당 시뮬레이터와 함께 해당 시뮬레이터와 관련되는 해시값 및 시뮬레이션결과가 함께 매칭되어 저장되어 있을 것이므로, 부가서비스관리부(140)는, 특정시뮬레이터의 기 수행된 실행 이력과 관련되는 해시값 및 시뮬레이션결과를 참고정보로서 단말(300)로 제공한다.
이후, 단말(300) 상에 표시된 참고정보 중 어느 하나의 실행 이력을 사용자가 선택하면, 부가서비스관리부(140)는, 선택된 실행 이력과 관련되는 참고시뮬레이션결과에 해당하는 화면이 표시되도록 제어한다.
이때, 사용자가 단말(300)에 표시된 참고시뮬레이션결과를 그대로 이용할 수도 있을 것이다. 이 경우, 부가서비스관리부(140)는, 별도의 시뮬레이션 실행 없이 참고시뮬레이션결과 그대로를 사용자가 요청한 특정시뮬레이터의 시뮬레이션결과로서 확정하여 저장하게 된다.
만일, 사용자가 참고시뮬레이션결과의 일부 파라미터/파일정보에 대한 변경을 원하는 경우, 부가서비스관리부(140)는, 참고시뮬레이션결과의 입력정보 대신 사용자가 원하는 파라미터/파일정보로 변경될 수 있도록 변경을 허용하고, 변경된 입력정보로 시뮬레이션이 실행되도록 제어하게 된다.
이 경우, 부가서비스관리부(140)는, 바로 시뮬레이션을 수행하는 것이 아니라 전술에서 언급한 바와 같이, 참고시뮬레이션결과와 관련된 해당 시뮬레이터와 사용자에 의해 변경된 파라미터/파일정보를 입력으로 하는 동일한 시뮬레이션의 실행이 기 수행되었는지의 여부를 확인한 후 불필요한 중복을 방지하는 과정에 따라 시뮬레이션의 수행여부를 결정하게 된다.
이하에서는, 본 발명에 따른 시뮬레이션관리를 위한 장치 및 방법의 실용성을 기존과 비교하여 설명하도록 하겠다.
본 발명의 시뮬레이션 실행관리 방안이 도출되기 이전에는, 도 3의 (a)에 도시된 바와 같이, 기존 대용량 계산과학공학 시뮬레이션 플랫폼(예: EDISON)에서 실행되는 8가지 시뮬레이터(WaveSimulation, gravityslingshot, rollercoaster, pianostring, PhaseDiagramSW, Bowling, roundSTMtip, acuteSTMtip) 중 기 수행된 실행 이력이 많게는 94% 가량 시뮬레이션이 중복된 시뮬레이터(pianostring, 400)가 존재하였으며, 전체적으로는 90% 가량의 시간을 절약할 수 있는 시뮬레이터(roundSTMtip, 410)와 전체적으로 97% 가량의 대기시간을 소모하지 않아도 되는 시뮬레이터(acuteSTMtip, 420)가 존재하는 문제가 있었다.
이러한 기존 시뮬레이션 관리 기술 대신 본 발명의 시뮬레이션 실행관리 방안을 적용하게 되면, 도 3의 (b)와 같이 전체적으로 중복되는 시뮬레이션 실행이 전체적으로 57% 정도로 기존 94% 대비 큰 폭으로 감소하였으며, 작업 및 대기 시간의 절약이 25% 내외로 기존 90%/97% 대비 급격히 감소되는 효과를 확인할 수 있다.
이상에서 설명한 바와 같이, 본 발명의 시뮬레이션관리장치는, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 함으로써, 기존과 달리 동일한 시뮬레이션이 중복하여 실행 및 저장되는 것을 방지할 수 있어 자원 활용성을 증가시킬 수 있으며, 새롭게 요청되는 시뮬레이션을 실행해야 하는 경우에는 기 저장된 실행 이력을 기반으로 최적화된 시뮬레이션 환경에서 최대 성능으로 실행된 시뮬레이션결과를 생성할 수 있어 전반적인 서비스 품질 및 사용자 만족도를 향상시킬 수 있다.
이하에서는, 도 4를 참조하여 본 발명의 실시예에 따른 시뮬레이션 서비스를 제공하는 흐름을 구체적으로 설명하도록 한다. 이하에서는 설명의 편의를 위해, 전술의 도 1 및 도 2에서 언급한 참조번호를 언급하여 설명하도록 하겠다.
도 4에 도시된 바와 같이, 시뮬레이션관리장치(100)는, 사용자가 단말(300)을 통해 시뮬레이션실행장치(200)의 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 입력하면, 특정입력정보를 기반으로 특정해시값을 산출한다(S100, S101).
여기서, 특정시뮬레이터는, 도 1에 도시된 시뮬레이터(1,2,3..) 중 어떤 시뮬레이터일 수도 있으며, 이하에서는 설명의 편의 상 특정시뮬레이터가 시뮬레이터1인 것으로 언급하여 설명을 이어가도록 하겠다.
즉, 시뮬레이션관리장치(100)는, 단말(300)로부터 시뮬레이터1이 선택된 후 시뮬레이터1과 관련된 특정입력정보가 수신되면, 특정입력정보를 기반으로 특정해시값(hash value)을 산출한다.
여기서, 특정입력정보는, 파라미터정보 및 파일정보 중 적어도 하나를 포함한다.
이에, 시뮬레이션관리장치(100)는, 특정입력정보에 파라미터정보만 포함되는 경우에는 파라미터정보에 대한 제1 특정해시값을 산출하고, 특정입력정보에 파일정보만 포함되는 경우에는 파일정보에 대한 제2 특정해시값을 산출하게 된다. 한편, 특정입력정보에는 파라미터정보 및 파일정보가 모두 포함될 수 있는데, 이 경우 시뮬레이션관리장치(100)는, 제1 특정해시값과 제2 특정해시값을 연결한 제3 특정해시값을 산출하게 된다.
이처럼 단말(300)로부터 특정입력정보가 수신되었을 때 특정입력정보에 대한 특정해시값을 산출하는 것은, 기 수행된 실행 이력을 기반으로 동일한 시뮬레이션의 실행이 불필요하게 중복적으로 수행되는 것을 방지하기 위함이다.
즉, 본 발명에서의 기 수행된 실행 이력은, DB화된 저장장치(미도시)에 저장될 때 해당 시뮬레이터와 함께 해당 시뮬레이터와 관련되는 해시값 및 시뮬레이션결과가 함께 매칭되어 저장된다.
이에, 기 수행된 실행 이력 중에 단말(300)로부터 수신된 특정입력정보의 특정해시값과 동일한 해당 해시값이 존재하게 된다면 동일한 시뮬레이션의 실행을 불필요하게 수행하지 않고도 해당 해시값에 매칭된 시뮬레이션결과(이하, 기 저장된 시뮬레이션결과)를 즉시 단말(300)로 제공할 수 있게 되는 것이다.
전술에 따라 시뮬레이터1과 관련된 특정입력정보를 기반으로 특정해시값의 산출이 완료되면, 시뮬레이션관리장치(100)는 기 저장된 해시값과 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 시뮬레이터1의 실행여부를 결정한다(S102).
S102 단계의 판단결과, 기 저장된 해시값과 특정해시값이 일치하는 경우, 시뮬레이션관리장치(100)는, 시뮬레이터1이 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공한다(S103).
결국, 시뮬레이션관리장치(100)는, 제1 특정해시값 내지 제3 특정해시값 중 어느 하나와 기 저장된 해시값이 일치하면, 특정시뮬레이터가 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공한다.
이때, 기 저장된 시뮬레이션결과에는, 시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나가 포함된다.
여기서, 시뮬레이터기본정보는, 시뮬레이터(1,2,3..)의 앱이름 및 버전정보를 포함한다. 입력정보는, 파라미터정보 및 파일정보 중 적어도 하나가 포함된다. 시뮬레이션요청시간정보는, 시뮬레이터(1,2,3..) 및 입력정보가 수신되어 시뮬레이션의 실행이 요청된 시간이다. 시뮬레이션시작시간정보는, 시뮬레이터(1,2,3..)에 의해 실제 시뮬레이션이 실행된 실행시작시간이다. 시뮬레이션종료시간정보는, 시뮬레이터(1,2,3..)에 의해 실제 시뮬레이션이 실행이 종료된 실행종료시간이다. 시뮬레이션성공여부정보는, 시뮬레이터(1,2,3..)와 입력정보에 의해 시뮬레이션이 성공하였는지 아니면 실패하였는지를 나타내는 정보이다.
S102 단계의 판단결과, 기 저장된 해시값과 특정해시값이 일치하지 않는 경우, 시뮬레이션관리장치(100)는, 시뮬레이터1이 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 시뮬레이터1이 실제 시뮬레이션을 정상적으로 실행할 수 있도록 제어한다(S104).
결국, 시뮬레이션관리장치(100)는, 제1 특정해시값 내지 제3 특정해시값 중 어느 하나와 기 저장된 해시값이 일치하지 않는 경우, 특정시뮬레이터가 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 특정시뮬레이터가 실행되도록 제어한다.
이후, 시뮬레이션관리장치(100)는, 특정시뮬레이터의 실행이 최적화된 시뮬레이션 환경에서 수행되도록 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한다(S105).
즉, 시뮬레이션관리장치(100)는, 기 저장된 입력정보 중 특정입력정보의 파라미터 및 파일정보 중 적어도 하나와 기준 이상으로 유사한 유사입력정보를 검출하고, 유사입력정보가 시뮬레이션에 성공했는지의 여부를 확인한 결과를 기반으로 특정입력정보에 의한 시뮬레이션의 성공여부를 예측한다.
예를 들어, 시뮬레이터1과 관련된 특정입력정보의 파라미터가 파라미터1,2,3를 포함하는 것으로 가정하면, 시뮬레이션관리장치(100)는, 기 저장된 입력정보로부터 파라미터1,2,3과 기준 이상으로 유사한 파라미터1,2를 포함하는 제1 유사입력정보와 해당 시뮬레이션결과1(파라미터1,2 기반 실행)을 검출하고, 파라미터3을 포함하는 제2 유사입력정보와 해당 시뮬레이션결과2(파라미터3 기반 실행)을 검출한다.
이때, 유사입력정보와 해당 시뮬레이션결과를 선택하기 위한 기준은, 특정입력정보의 파라미터1,2,3과 동일하거나 또는 유사한 기능을 하는 파라미터를 구분할 수 있는 정보라면 모두 기준으로 사용될 수 있을 것이다.
이후, 시뮬레이션관리장치(100)는, 시뮬레이션결과1(파라미터1,2 기반 실행)로부터 시뮬레이션성공여부정보를 확인하여 해당 시뮬레이션의 성공/실패를 확인하며, 시뮬레이션결과2(파라미터3 기반 실행)로부터 시뮬레이션성공여부정보를 확인하여 해당 시뮬레이션의 성공/실패를 확인한다(S106).
이하에서는 설명의 편의상 시뮬레이션결과1(파라미터1,2 기반 실행)이 성공이며, 시뮬레이션결과2(파라미터3 기반 실행)가 실패인 것으로 언급하여 설명을 이어가도록 하겠다.
즉, 시뮬레이션관리장치(100)는, 시뮬레이션결과2(파라미터3 기반 실행)가 실패이므로, 시뮬레이터1과 관련된 특정입력정보의 파라미터3에 의해 시뮬레이터1에 의한 시뮬레이션이 실패할 것을 예측할 수 있게 된다.
이처럼 특정입력정보의 파라미터3에 의해 시뮬레이터1에 의한 시뮬레이션이 실패하는 것으로 예측되면(S106의 NO), 시뮬레이션관리장치(100)는, 특정입력정보의 파라미터3이 변경될 수 있도록 동일한 기능을 하는 파라미터3-1을 추천한다.
즉, 시뮬레이션관리장치(100)는, 시뮬레이터1에 의한 시뮬레이션이 파라미터에 의해 실패하는 것으로 예측되는 경우(S106의 NO), 특정입력정보의 파라미터 중 유사입력정보의 실패와 관련된 제1 파라미터가 변경될 수 있도록 제1 파라미터와 동일한 기능을 하는 제2 파라미터를 추천한다(S107).
이후, 사용자가 추천한 제2 파라미터를 선택하면 시뮬레이션관리장치(100)는, 시뮬레이션을 실행할 것을 시뮬레이터1로 요청한다(S108). 즉, 시뮬레이션관리장치(100)는, 제2 파라미터를 이용하여 시뮬레이션을 실행할 것을 시뮬레이터1로 요청한다
한편, 시뮬레이션관리장치(100)는, 시뮬레이션이 파라미터에 의해 성공하는 것으로 예측되는 경우(S106의 YES), 특정입력정보의 파라미터에 대한 변경 없이 사용자가 입력한 파라미터를 이용하여 시뮬레이션을 실행할 것을 시뮬레이터1로 요청하는 S108 단계를 수행한다.
전술에서는 시뮬레이터1과 관련된 특정입력정보의 파라미터를 이용하여 시뮬레이션의 성공여부를 예측하는 과정에 대하여 언급하였으며, 이와 동일한 방식으로 특정입력정보의 파일정보, 즉 파일정보의 알고리즘과 기준 이상으로 유사한 유사입력정보를 검출한 후 시뮬레이션의 성공여부를 예측할 수 있다.
이처럼 시뮬레이션이 파일정보에 의한 성공여부의 예측이 완료되면, 시뮬레이션관리장치(100)는, 특정입력정보의 파일정보 중 유사입력정보의 실패와 관련된 파일정보의 제1 알고리즘이 변경될 수 있도록 제1 알고리즘과 동일한 기능을 하는 제2 알고리즘을 추천한다.
이러한 특정입력정보의 파일정보의 알고리즘을 이용하여 시뮬레이션의 성공여부를 예측하는 일례는, 특정입력정보의 파라미터를 이용하여 시뮬레이션의 성공여부를 예측하는 방식과 중복되므로 구체적인 설명은 생략하도록 하겠다.
전술에 따라 시뮬레이터1의 시뮬레이션 실행이 완료되면, 시뮬레이션관리장치(100)는, 시뮬레이션결과를 단말(300)로 제공한다(S109).
이상에서 설명한 바와 같이, 본 발명은, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 함으로써, 기존과 달리 동일한 시뮬레이션이 중복하여 실행 및 저장되는 것을 방지할 수 있어 자원 활용성을 증가시킬 수 있으며, 새롭게 요청되는 시뮬레이션을 실행해야 하는 경우에는 기 저장된 실행 이력을 기반으로 최적화된 시뮬레이션 환경에서 최대 성능으로 실행된 시뮬레이션결과를 생성할 수 있어 전반적인 서비스 품질 및 사용자 만족도를 향상시킬 수 있는 효과를 도출한다.
본 발명의 실시예들은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명의 시뮬레이션관리를 위한 장치 및 방법에 따르면, 기 수행된 시뮬레이션 프로비넌스 정보(실행 이력)를 기반으로 최적화된 시뮬레이션 환경에서 특정시뮬레이터가 실행되도록 하는 한편, 시뮬레이션 실행 환경에 익숙하지 않은 사용자들도 용이하게 접근하여 이용할 수 있도록 하는, 새로운 시뮬레이션 실행관리 방안을 제공할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100: 시뮬레이션관리장치
110: 산출부 120: 결정부
130: 실행관리부 140: 부가서비스관리부
200: 시뮬레이션실행장치
300: 단말
110: 산출부 120: 결정부
130: 실행관리부 140: 부가서비스관리부
200: 시뮬레이션실행장치
300: 단말
Claims (14)
- 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 기반으로 특정해시값을 산출하는 산출부; 및
상기 특정시뮬레이터와 관련되어 기 저장된 해시값과 상기 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 상기 특정시뮬레이터의 실행여부를 결정하는 결정부를 포함하며,
상기 산출부는,
상기 특정입력정보에 파라미터정보 및 파일정보 중 적어도 하나가 포함되는 경우, 상기 파라미터정보에 대한 제1 특정해시값을 산출하거나, 상기 파일정보에 대한 제2 특정해시값을 산출하거나, 상기 제1 특정해시값과 상기 제2 특정해시값을 연결한 제3 특정해시값을 산출하는 것을 특징으로 하는 것을 특징으로 하는 시뮬레이션관리장치. - 제 1 항에 있어서,
상기 산출부는,
상기 특정입력정보에 상기 파라미터정보가 포함되는 경우에는 상기 제1 특정해시값을 산출하며, 상기 특정입력정보에 상기 파일정보가 포함되는 경우에는 상기 제2 특정해시값을 산출하며, 상기 특정입력정보에 상기 파라미터정보 및 상기 파일정보가 포함되는 경우에는 상기 제3 특정해시값을 산출하는 것을 특징으로 하는 시뮬레이션관리장치. - 제 2 항에 있어서,
상기 결정부는,
상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공하며,
상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하지 않는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 상기 특정시뮬레이터가 실행되도록 제어하며,
상기 기 저장된 시뮬레이션결과는,
시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나를 포함하는 것을 특징으로 하는 시뮬레이션관리장치. - 제 3 항에 있어서,
상기 특정시뮬레이터의 실행이 결정되면, 상기 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한 결과를 기반으로 상기 특정입력정보가 변경되도록 제어하는 실행관리부를 더 포함하는 것을 특징으로 하는 시뮬레이션관리장치. - 제 4 항에 있어서,
상기 실행관리부는,
상기 입력정보로부터 상기 특정입력정보의 파라미터 및 파일정보 중 적어도 하나와 기준 이상으로 유사한 유사입력정보를 검출하고, 상기 유사입력정보가 시뮬레이션에 성공했는지의 여부를 확인한 결과를 기반으로 상기 특정입력정보에 의한 시뮬레이션의 성공여부를 예측하는 것을 특징으로 하는 시뮬레이션관리장치. - 제 5 항에 있어서,
상기 실행관리부는,
상기 특정입력정보에 의한 시뮬레이션이 파라미터에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파라미터 중 상기 유사입력정보의 실패와 관련된 제1 파라미터가 변경될 수 있도록 상기 제1 파라미터와 동일한 기능을 하는 제2 파라미터를 추천하거나, 또는
상기 특정입력정보에 의한 시뮬레이션이 파일정보에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파일정보 중 상기 유사입력정보의 실패와 관련 파일정보의 제1 알고리즘이 변경될 수 있도록 상기 제1 알고리즘과 동일한 기능을 하는 제2 알고리즘을 추천하는 것을 특징으로 하는 시뮬레이션관리장치. - 제 4 항에 있어서,
상기 기 저장된 시뮬레이션결과를 기반으로 상기 특정시뮬레이터의 평균작업대기시간 및 평균작업경과시간을 추정하는 부가서비스관리부를 더 포함하며,
상기 평균작업대기시간은,
상기 시뮬레이션시작시간정보와 상기 시뮬레이션요청시간정보의 차이값에 대응하는 시간이며,
상기 평균작업경과시간은,
상기 시뮬레이션종료시간정보와 상기 시뮬레이션시작시간정보의 차이값에 대응하는 시간인 것을 특징으로 하는 시뮬레이션관리장치. - 적어도 하나의 시뮬레이터 중 특정시뮬레이터와 관련된 특정입력정보를 기반으로 특정해시값을 산출하는 산출단계; 및
상기 특정시뮬레이터와 관련되어 기 저장된 해시값과 상기 특정해시값이 일치하는지의 여부를 확인한 결과를 기반으로 상기 특정시뮬레이터의 실행여부를 결정하는 결정단계를 포함하며,
상기 산출단계는,
상기 특정입력정보에 파라미터정보 및 파일정보 중 적어도 하나가 포함되는 경우, 상기 파라미터정보에 대한 제1 특정해시값을 산출하거나, 상기 파일정보에 대한 제2 특정해시값을 산출하거나, 상기 제1 특정해시값과 상기 제2 특정해시값을 연결한 제3 특정해시값을 산출하는 것을 특징으로 하는 것을 특징으로 하는 시뮬레이션관리장치의 동작방법. - 제 8 항에 있어서,
상기 산출단계는,
상기 특정입력정보에 상기 파라미터정보가 포함되는 경우에는 상기 제1 특정해시값을 산출하는 단계;
상기 특정입력정보에 상기 파일정보가 포함되는 경우에는 상기 제2 특정해시값을 산출하는 단계; 및
상기 특정입력정보에 상기 파라미터정보 및 상기 파일정보가 포함되는 경우에는 상기 제3 특정해시값을 산출하는 단계를 포함하는 것을 특징으로 하는 시뮬레이션관리장치의 동작방법. - 제 9 항에 있어서,
상기 결정단계는,
상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하는 것으로 판단하여 기 저장된 시뮬레이션결과를 제공하는 단계; 및
상기 제1 특정해시값 내지 상기 제3 특정해시값 중 어느 하나와 상기 기 저장된 해시값이 일치하지 않는 경우, 상기 특정시뮬레이터가 상기 특정입력정보에 의해 실행된 이력이 존재하지 않는 것으로 판단하여 상기 특정시뮬레이터가 실행되도록 제어하는 단계를 포함하며,
상기 기 저장된 시뮬레이션결과는,
시뮬레이터기본정보, 입력정보, 시뮬레이션요청시간정보, 시뮬레이션시작시간정보, 시뮬레이션종료시간정보 및 시뮬레이션성공여부정보 중 적어도 하나를 포함하는 것을 특징으로 하는 시뮬레이션관리장치의 동작방법. - 제 10 항에 있어서,
상기 특정시뮬레이터의 실행이 결정되면, 상기 특정입력정보에 의한 시뮬레이션이 성공할 지의 여부를 예측한 결과를 기반으로 상기 특정입력정보가 변경되도록 제어하는 실행관리단계를 더 포함하는 것을 특징으로 하는 시뮬레이션관리장치의 동작방법. - 제 11 항에 있어서,
상기 실행관리단계는,
상기 입력정보로부터 상기 특정입력정보의 파라미터 및 파일정보 중 적어도 하나와 기준 이상으로 유사한 유사입력정보를 검출하고, 상기 유사입력정보가 시뮬레이션에 성공했는지의 여부를 확인한 결과를 기반으로 상기 특정입력정보에 의한 시뮬레이션의 성공여부를 예측하는 것을 특징으로 하는 시뮬레이션관리장치의 동작방법. - 제 12 항에 있어서,
상기 실행관리단계는,
상기 특정입력정보에 의한 시뮬레이션이 파라미터에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파라미터 중 상기 유사입력정보의 실패와 관련된 제1 파라미터가 변경될 수 있도록 상기 제1 파라미터와 동일한 기능을 하는 제2 파라미터를 추천하는 단계, 또는
상기 특정입력정보에 의한 시뮬레이션이 파일정보에 의해 실패하는 것으로 예측되는 경우, 상기 특정입력정보의 파일정보 중 상기 유사입력정보의 실패와 관련된 파일정보의 제1 알고리즘이 변경될 수 있도록 상기 제1 알고리즘과 동일한 기능을 하는 제2 알고리즘을 추천하는 단계를 포함하는 것을 특징으로 하는 시뮬레이션관리장치의 동작방법. - 제 11 항에 있어서,
상기 기 저장된 시뮬레이션결과를 기반으로 상기 특정시뮬레이터의 평균작업대기시간 및 평균작업경과시간을 추정하는 부가서비스관리단계를 더 포함하며,
상기 평균작업대기시간은,
상기 시뮬레이션시작시간정보와 상기 시뮬레이션요청시간정보의 차이값에 대응하는 시간이며,
상기 평균작업경과시간은,
상기 시뮬레이션종료시간정보와 상기 시뮬레이션시작시간정보의 차이값에 대응하는 시간인 것을 특징으로 하는 시뮬레이션관리장치의 동작방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170118922A KR101829279B1 (ko) | 2017-09-15 | 2017-09-15 | 시뮬레이션관리를 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170118922A KR101829279B1 (ko) | 2017-09-15 | 2017-09-15 | 시뮬레이션관리를 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101829279B1 true KR101829279B1 (ko) | 2018-02-19 |
Family
ID=61387657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170118922A KR101829279B1 (ko) | 2017-09-15 | 2017-09-15 | 시뮬레이션관리를 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101829279B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101657495B1 (ko) | 2015-09-04 | 2016-09-30 | (주)한국플랫폼서비스기술 | 딥러닝 분석을 위한 모듈화시스템 및 이를 이용한 영상 인식 방법 |
KR101729694B1 (ko) * | 2017-01-02 | 2017-04-25 | 한국과학기술정보연구원 | 시뮬레이션 결과 예측 방법 및 장치 |
-
2017
- 2017-09-15 KR KR1020170118922A patent/KR101829279B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101657495B1 (ko) | 2015-09-04 | 2016-09-30 | (주)한국플랫폼서비스기술 | 딥러닝 분석을 위한 모듈화시스템 및 이를 이용한 영상 인식 방법 |
KR101729694B1 (ko) * | 2017-01-02 | 2017-04-25 | 한국과학기술정보연구원 | 시뮬레이션 결과 예측 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4374378B2 (ja) | 運用実績評価装置、運用実績評価方法、およびプログラム | |
US20180267833A1 (en) | Management systems of cloud resources and management methods thereof | |
EP3798930A2 (en) | Machine learning training resource management | |
CN101730099B (zh) | 基于权限控制的终端管理方法及装置 | |
JP2010140357A (ja) | ストリームデータ処理方法、及びシステム | |
US11647086B2 (en) | System and method for maintaining user session continuity across multiple devices and/or multiple platforms | |
US10509641B2 (en) | Optimizing feature deployment based on usage pattern | |
US20120226484A1 (en) | Calculation simulation system and method thereof | |
US20070233532A1 (en) | Business process analysis apparatus | |
CN110751458A (zh) | 一种业务审批方法、装置和系统 | |
JP5321195B2 (ja) | 監視制御システム、監視制御方法、監視制御サーバ及び監視制御プログラム | |
KR101829279B1 (ko) | 시뮬레이션관리를 위한 장치 및 방법 | |
US20210097429A1 (en) | Machine learning training resource management | |
US20090083747A1 (en) | Method for managing application programs by utilizing redundancy and load balance | |
CN110995519B (zh) | 一种负载均衡方法及装置 | |
KR101849170B1 (ko) | 유동해석 관리를 위한 장치 및 그 방법 | |
CN113271323B (zh) | 集群扩容方法、装置和存储介质 | |
JP5500301B2 (ja) | 監視制御システム、監視制御方法、監視制御サーバ及び監視制御プログラム | |
CN114615144B (zh) | 网络优化方法及系统 | |
WO2021237221A1 (en) | Machine learning based application sizing engine for intelligent infrastructure orchestration | |
US9329805B1 (en) | Host oriented automatic verification of best practices | |
JP5349876B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7556901B2 (ja) | 配信制御装置及び配信制御方法 | |
JPWO2019073894A1 (ja) | 構成管理装置、構成管理方法および構成管理プログラム | |
CN115454354B (zh) | 数据的处理方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |