KR101588715B1 - 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법 - Google Patents
클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법 Download PDFInfo
- Publication number
- KR101588715B1 KR101588715B1 KR1020140049413A KR20140049413A KR101588715B1 KR 101588715 B1 KR101588715 B1 KR 101588715B1 KR 1020140049413 A KR1020140049413 A KR 1020140049413A KR 20140049413 A KR20140049413 A KR 20140049413A KR 101588715 B1 KR101588715 B1 KR 101588715B1
- Authority
- KR
- South Korea
- Prior art keywords
- designing
- server
- medical information
- information system
- clustering
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Hardware Redundancy (AREA)
Abstract
본 발명은 가용성 아키텍쳐의 설계사상을 기반으로 하여 분산컴퓨팅 제어 알고리즘 중심의 의료정보시스템 고가용성 메커니즘을 설계하는, 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 관한 것으로서, (a) 의료정보 시스템의 인프라 구조를 코어, 전송, 접근으로 계층화하고, 각 계층에 대하여 구조 이중화하는 것을 기본적 설계목표로 설정하는 단계; (b) 하드웨어의 구조를 설계하되, 각 하드웨어에 대하여 이중화 하여 설계하는 단계; (c) 서로 각기 다른 서버에 대하여 상호 대기 서버로 구성하여, 소프트웨어적 요소를 구성하는 단계; (d) 클러스터 인프라 기능을 설계하되, 다수의 서버 구성에 대하여 클러스터 형태로 구현하되, 상기 클러스터에서 적어도 2대의 부하 밸런스 서버가 마스터와 스탠바이 역할을 수행하도록 설계하는 단계; 및, (e) 상기 의료정보 시스템에 대하여 측정항목을 이용하여 측정하는 단계를 포함하는 구성을 마련한다.
상기와 같은 의료정보시스템 메커니즘 설계 방법에 의하여, 의료정보 어플리케이션을 설계할 때 의료정보 사용자는 실시간으로 데이터를 검색하면서도 통합화된 접근제어 알고리즘의 보장 하에서 정보관리 안전성을 확보하는 시스템 설계를 수행할 수 있다.
상기와 같은 의료정보시스템 메커니즘 설계 방법에 의하여, 의료정보 어플리케이션을 설계할 때 의료정보 사용자는 실시간으로 데이터를 검색하면서도 통합화된 접근제어 알고리즘의 보장 하에서 정보관리 안전성을 확보하는 시스템 설계를 수행할 수 있다.
Description
본 발명은 가용성 아키텍쳐의 설계사상을 기반으로 하여 분산컴퓨팅 제어 알고리즘 중심의 의료정보시스템 고가용성 메커니즘 설계 방법으로서, 새로운 설계절차를 도출하고 아키텍쳐를 설계하며 기능 메커니즘 알고리즘을 구성하는 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 관한 것이다.
또한, 본 발명은 클러스터링 인프라스트럭쳐 구조 하에서 의료정보 제어를 위한 아키텍쳐 인프라스트럭쳐를 구성하는 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 관한 것이다.
의료정보시스템은 의료 활동을 지원하는 정보 시스템의 집합이다. PACS시스템이 도입되면서 의료정보시스템 상호 간 정보 연동이 시작되어 왔고, HL7(Health level 7, 의료정보 교환 표준규약)을 이용함으로써 표준화에 기반 한 시스템간 연동이 보편화되었다.
의료정보시스템 클러스터링 알고리즘은 통합화 된 정보처리구조에서 입출력 중심적 어플리케이션을 효과적이고 고속으로 처리하기 위해 클러스터의 어느 노드 에서든 자신 혹은 원격 노드에 위치한 주변 기기 및 메모리(디스크)들을 직접 액세스 가능성을 제공한다. 또한 SSI(Single System Image) 기능을 제공하여 편의성, 확장성, 신뢰성 측면에서 클러스터의 이용률을 향상시킨다.
여러 노드가 상호 연결되어 구성되는 클러스터는 시스템이 하나의 통합된 자원으로 사용된다면, 다운타임(down-time, 의료기기가 가동되지 못하는 시간) 발생 시 프로세스들은 시스템 원상 회복을 위한 가용성을 확보한다. 이 가용성은 수초 이내 99.999 % 수준으로 시스템을 회복시켜야 한다. 종합된 메커니즘은 연결된 독립적인 복수 시스템 구성, 클러스터링(clustering) 방법 및 고가용성 소프트웨어와 조합 연결(combination-connection)을 통해 얻어진다.
PACS(picture archiving communication system, 의료영상 저장전송 시스템)와 HIS/RIS(Hospital Information System/Radiological Information System) 등 의료 정보시스템 연동을 위한 의료정보와, 가용성 아키텍처가 필요하다.
[비특허문헌 1] Nortel Networks Korea, "애플리케이션 스위치를 이용한 네트워크 보안", 2003.
[비특허문헌 2] 한국후지쯔, "L4 스위치를 이용한 방화벽 부하 분산", 2002.
[비특허문헌 3] 이종환, "Layer 7 스위칭을 통한 애플리케이션 인식 및 제어", 탑레이어, 2000.
[비특허문헌 4] 최성열, "다계층 스위치를 이용한 효율적인 전자 정부 구현 사례", (주)파이오링크, 2003.
[비특허문헌 5] 구자만, "고가용성으로 보안 장비 한계를 극복하라", 네트워크타임스, 2003.
[비특허문헌 6] 장윤정, "L7 스위치로 네트워크 활용도를 높여라", 네트워크타임스, 2003.
[비특허문헌 7] D. Dias, W. Kish, R. Mukherjee and R.Tewari, "A Scalable and Highly Available Server", COMPCON 1996, pp. 85-92, 1996.
[비특허문헌 8] Xuehong gan, Trevor Schroeder, Steve Goddard and Byrav Ramamurthy, "Highly Available and Scalable Cluster-based Web Servers", in submission to The Eighth IEEE international Conference on Computer Communications and Networks , 1999
[비특허문헌 9] G. Hunt, G. Goldszmid, R. King, and R. Mukherjee, "Network Dispatcher: A Connection Router for Scalable Internet Service", Computer Networks and ISDN Systems, Vol.30, pp.347 357, 1998.
[비특허문헌 10] D. Dias, W. Kish, R. Mukherjee and R. Tewari, "A scaleable and highly available Web server", IEEE international Conference on Data Engineering. New Orleans, February 1996.
[비특허문헌 11] IA-LVS, "Design of the Improving Availability for Linus Virtual Server", 2nd International Conference on Software Engineering, Artificial Intelligence, Networking & Parallel/ Distributed Computing August 20-22, 2001 Nagoya Institute of Technology, Japan
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 가용성 아키텍쳐의 설계사상을 기반으로 하여 분산컴퓨팅 제어 알고리즘 중심의 의료정보시스템 고가용성 메커니즘 설계 방법으로서, 새로운 설계절차를 도출하고 아키텍쳐를 설계하며 기능 메커니즘 알고리즘을 구성하는 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 제공하는 것이다.
또한, 본 발명은 클러스터링 인프라스트럭쳐 구조 하에서 의료정보 제어를 위한 아키텍쳐 인프라스트럭쳐를 구성하는 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 제공하는 것이다.
본 발명은 PACS와 HIS/RIS 등 의료 정보시스템 연동을 위한 의료정보 및 가용성 아키텍처를 제시하는 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 관한 것으로서, (a) 의료정보 시스템의 인프라 구조를 코어, 전송, 접근으로 계층화하고, 각 계층에 대하여 구조 이중화하는 것을 기본적 설계목표로 설정하는 단계; (b) 하드웨어의 구조를 설계하되, 각 하드웨어에 대하여 이중화 하여 설계하는 단계; (c) 서로 각기 다른 서버에 대하여 상호 대기 서버로 구성하여, 소프트웨어적 요소를 구성하는 단계; (d) 클러스터 인프라 기능을 설계하되, 다수의 서버 구성에 대하여 클러스터 형태로 구현하되, 상기 클러스터에서 적어도 2대의 부하 밸런스 서버가 마스터와 스탠바이 역할을 수행하도록 설계하는 단계; 및, (e) 상기 의료정보 시스템에 대하여 측정항목을 이용하여 측정하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 있어서, 상기 (b)단계에서, 클러스터링 구성은 다중 노드 클러스터링으로 설계하는 것을 특징으로 한다.
또, 본 발명은 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 있어서, 상기 (d)단계는, (d1) 트래픽 외부 접속점 구조와 백본 및 분산 계층 구조로 구성되는 네트워크의 구조를 설계하는 단계; (d2) 클러스터링 구조 및 다층 스위칭 구조로 구성되는 서버의 구조를 설계하는 단계; 및, (d3) 프로세스 컨트롤, 마스터 서버, 및, 부하 밸런싱으로 구성되는 페일 오버 기능의 메카니즘을 설계하는 단계로 구성되는 것을 특징으로 한다.
또, 본 발명은 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 있어서, 상기 (d3)단계에서, 적어도 2대의 마스터 서버가 동일하게 작동하도록 설계하여, 한 대가 페일되면 다른 서버가 계속 페일된 서버의 기능을 수행하게 하도록 설계하는 것을 특징으로 한다.
또, 본 발명은 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 있어서, 마스터 서버와 스탠바이 서버간 커넥션 동기화가 가능하도록 하여, 클라이언트와 실제 서버간의 세션을 유지하게 하는 것을 특징으로 한다.
또한, 본 발명은 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상술한 바와 같이, 본 발명에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 의하면, 의료정보 어플리케이션을 설계할 때 의료정보 사용자는 실시간으로 데이터를 검색하면서도 통합화된 접근제어 알고리즘의 보장 하에서 정보관리 안전성을 확보하는 시스템 설계를 수행할 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 설명하는 흐름도.
도 3은 본 발명에 따른 액티브-액티브 하트비트 연결 구성도의 일례.
도 2는 본 발명의 일실시예에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 설명하는 흐름도.
도 3은 본 발명에 따른 액티브-액티브 하트비트 연결 구성도의 일례.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 1을 참조하여 설명한다.
도 1a 또는 도 1b에서 보는 바와 같이, 본 발명에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법은 네트워크 상의 서버 시스템 또는 컴퓨터 단말 상의 프로그램 시스템으로 실시될 수 있다.
도 1a와 같이, 본 발명의 실시를 위한 전체 시스템의 일례는 사용자 단말(10)과 설계 시스템(30)으로 구성되고 서로 네트워크(20)로 연결된다. 또, 필요한 데이터를 저장하기 위한 데이터베이스(40)를 더 구비할 수 있다.
사용자 단말(10)은 의료정보 시스템 설계자 등 사용자가 이용하는 PC, 노트북, 넷북, PDA, 모바일 등의 통상의 컴퓨팅 단말기이다. 사용자는 사용자 단말(10)을 이용하여 의료정보시스템 개발을 위한 데이터를 시스템(30)으로 전송하거나, 수행 필요 데이터나 결과 데이터 등을 설계 시스템(30)에 요청한다.
설계 시스템(30)은 통상의 서버로서 네트워크(20)에 연결되어 의료정보 시스템을 정의할 수 있도록 정의 도구를 제공하거나, 의료정보 시스템의 설계를 위한 서비스를 제공한다. 한편, 설계 시스템(30)은 상기 각 서비스들을 인터넷 상의 웹페이지로 제공하는 웹서버 또는 웹어플리케이션 서버 등으로 구현될 수 있다.
데이터베이스(40)는 설계 시스템(30)에서 필요한 데이터를 저장하는 통상의 저장매체로서, 의료정보 시스템의 구성요소나 체크사항 등의 데이터들을 저장한다.
도 1b와 같이, 본 발명의 실시를 위한 전체 시스템의 다른 예는 컴퓨터 단말(13)에 설치되는 프로그램 형태의 설계 시스템(30)으로 구성된다. 즉, 설계 시스템(30)의 각 기능들은 컴퓨터 프로그램으로 구현되어 컴퓨터 단말(13)에 설치되어, 사용자에 의해 설계에 필요한 데이터 등을 컴퓨터 단말(13)의 입력장치를 통해 입력받아 등록하거나, 설계에 필요한 사항 등을 컴퓨터 단말(13)의 출력장치를 통해 출력한다. 한편, 설계 시스템(30)에서 필요한 데이터들은 컴퓨터 단말(13)의 하드디스크 등 저장공간에 저장되어 이용된다.
다음으로, 의료정보의 고가용성 위협요소를 설명한다.
의료정보시스템에서 PACS와 교환되는 정보는 환자정보, 검사정보, 판독결과정보 및 기타 정보등이 있다. 국내의 경우 일반적으로는 환자 정보와 검사정보는 HIS/RIS에서 생성되어 PACS로 전달되고 판독결과 정보는 PACS에서 생성되어 HIS로 전달된다. 통합화된 정보시스템 아키텍쳐는 논 클러스터링(Non-clustering)구조의 정보처리 환경에서 일부 시스템 장애 시 장애를 전체 시스템 장애로 확대시킨다. 이 구조에서는 정보처리 경로 상에서 한 세션 다운 시 모든 트래픽은 하나의 경로로 집중되고 추가 스탠바이(stand-by) 경로가 없다면 시스템 위험도가 극대화 된다. 이 상황 속에서는 하나의 활성화된(active) 경로가 모든 트래픽 소통의 유일 경로이기 때문이다. 의료정보시스템의 다운타임은 곧 생성되어 전달되는 정보를 한쪽 사이드 시스템 장애 시 다른 한편에서 인수 유지하지 못한다. 이는 의료정보서비스의 중단이나 자원의 손실로 이어지며 의료정보 서비스의 종류와 중요도에 따라 손실은 더 증가할 수 있다[비특허문헌 1][비특허문헌 2][비특허문헌 4].
다음으로, 본 발명의 일실시예에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 도 2를 참조하여 설명한다. 도 2는 본 발명에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 설명하는 흐름도를 보여준다.
도 2에서 보는 바와 같이, 본 발명에 따른 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법은 기본적 설계목표 설정 단계(S10), 하드웨어의 구조 설계 단계(S20), 소프트웨어적 요소 구성 단계(S30), 클러스터 인프라 기능 설계 단계(S40), 및, 측정 단계(S50)로 구성된다.
이하에서, 각 단계를 보다 구체적으로 설명한다.
먼저, 기본적 설계목표를 설정한다(S10).
고가용성 인프라 구조도의 설계 원칙은 구조상으로 전 계층에서 구조 이중화, 기능적으로 풀메쉬(full-mesh) 기능 도입이다. 의료정보시스템 인프라 기본구조를 고가용성 시스템의 코어(core), 전송(transmission), 접근(access)으로 계층화 한다. 계층화된 구조에서 인프라구조를 백본(backbone)으로 구조와 기능을 적용 한다.
의료정보시스템 인프라스트럭쳐 환경의 고가용성 주요 구성요소는 진단 구조, 상호의존적 고가용성 구성에 대한 구조적인 기술, 서비스를 보호하고 복구할 수 있는 복구 행위(recovery actions), 다양한 시스템 구성요소 상태를 감시 관리하는 상태 관리(state management) 기능으로 설정한다. 이때 기능이 동작하는 순서는 다음과 같이 체계화되고, 순서화 되어야 한다[비특허문헌 5][비특허문헌 7].
- 시스템이 실패 할 경우 서비스를 제공하기 위해 중복 노드를 운영하며 중복 노드는 두 대 이상의 여러 컴퓨터에 적용한다.
- 두 대의 컴퓨터가 동일한 기능을 수행하도록 동일한 하드웨어와 소프트웨어를 설치한다.
- 두 대의 컴퓨터 사이를 고속의 네트워크로 연결하여 서로 상대방 상태를 검사한다.
- 두 대의 서버는 전체 서비스를 분할하여 각각 서비스를 제공한다.
- 상대 컴퓨터에 고장 발생 시 상대 서비스를 넘겨받아 계속성을 유지한다.
- 한 대의 노드에서 모든 서비스를 수행하고, 나머지 노드는 스탠바이를 유지하다가 서비스 장애시 모든 서비스를 넘겨받아 프로세스 계속성을 확보한다.
다음으로, 하드웨어의 구조를 설계한다(S20).
고가용성 설계 시 하드웨어적 이중화 필요사항은 시스템 이중화로서 정전에 대비한 UPS(uninterruptible power supply)의 사용, CPU, 메모리, HDD, 네트워크 백본 이중화 로서 네트워크 카드, 파이버채널, 스토리지가 있다.
정보시스템은 자체적 전원 공급장치(Power Supply)가 이중화 되어 있는 만큼, 시스템으로 유입되는 전원 역시 이중화가 필요하다. 고가용성 시스템을 구축하는 데에는 최소 두 대의 시스템이 필요하다. 가장 이상적 모델은 먼저 하드웨어적 으로 완벽한 이중화를 구성하는 것이다. 그러나 완벽한 하드웨어적 이중화는 비용문제에 직면하기 때문에, 현실적으로는 필수사항을 선택적으로 구성한다.
고가용성 클러스터링 구성은 단순히 하드웨어 시스템 두 대를 이용한 구성이 아닌 다중노드 클러스터링 구조가 원칙이다. 다중 노드 클러스터링은 사용자가 원하는 다양한 환경을 구현할 수 있는데 그 방법은 전용 대기 서버를 구축할 경우, 상호 대기로 구축할 경우, 공유 스토리지 구성 등으로 나뉘어진다. 이때 두 대의 활성 서버는 각기 다른 서비스를 하고 있다[비특허문헌 5].
다음으로, 소프트웨어적 요소를 구성한다(S30).
소프트웨어 구조 측면에서는 고가용성 시스템은 맨 하단에 운영체제(OS)가 있고, 그 위에 애플리케이션이 있다. 고가용성 제어기능은 기능구조 측면에서 맨 상단에서 시스템과 애플리리케이션을 모니터링 한다.
고가용성 구조는 계속해서 상대방 시스템의 상태를 모니터링하고 있다가 어느 일부에서 장애 발생 시 자동으로 조치하게 된다. 이를 통해 서비스를 지속적으로 제공할 수 있도록 해준다. 소프트웨어적 구성 요소로서 클러스터는 운영 체제, 클러스터 서비스, 클러스터 리소스, 클러스터 된 서비스나 응용 프로그램 자체 등 요소로 구성한다.
소프트웨어 구조상 서버가 모두 각기 다른 서비스를 수행하면서 상호 대기 서버가 되기도 하는데, 일례로 DB 서버 다운 경우에는 웹 서버가 웹 서비스와 DB 서비스까지 하게 된다. 역시 파일 서버가 다운되면, DB 서버가 DB 서비스와 파일 서비 스를 모두 제공할 수 있도록 구성하게 된다.
다음으로, 고가용성 클러스터(High-Availability Clusters) 인프라 기능을 설계한다(S40).
도 3에서 보는 바와 같이, 의료정보시스템 인프라 구조는 전 계층에서 고 가용성 구조로 개선된 토폴로지(topology)를 적용하고 구성한다. 이 구조는 클러스터(cluster) 형태로써 한 대의 부하 밸런스(load balance) 서버가 여러 대 실제(real) 서버로 요청을 분산한다. 두 대의 부하 밸런스(load balance) 서버가 마스터(master)와 스탠바이(standby) 역할을 가지는 장애극복(failover) 형태이다. 만약 마스터 서버가 부하 밸런스를 담당하다 장애가 발생하면, 대기상태의 스탠바이 서버가 즉각적으로 부하 밸런스(load balance)를 담당하게 된다. 마스터 서버가 복구되면 스탠바이(standby) 서버는 다시 대기상태가 된다. 이러한 안정적 형태를 보증하게 된다.
세부적으로, 인프라 기능 설계 단계(S40)는 네트워크 구조 설계(S41), 서버 구조 설계(S42), 및 페일오버 기능 메카니즘 설계(S43)로 구성된다.
먼저, 네트워크 구조를 설계한다(S41).
네트워크 구조는 트래픽 외부 접속점(Exit point) 구조와 백본 및 분산 계층 구조로 나뉜다.
외부 접속점은 외부 라우터가 최전방에 위치하여 WAN 에지(edge) 층을 구성한다. WAN 에지 층은 LAN 에지 층으로 연결되며 코어 층인 LAN 백본(backbone) 구간을 거쳐 접근(access) 층인 LAN 접속 구간까지 연계된다.
전통적 반 이중화구조는 부분적 이중화 구조를 도입하고 코어(core)와 분산(distributing) 계층에 대해서는 가용성 구조를 적용하지 않고 있다. 부분적 이중화는 시스템 가용성 보장에 한계를 나타낸다. 그 이유는 네트워크 접속점의 다원화, 트래픽 볼륨 비대화, 데이타 형태의 다양화로 인해 네트워크 가용성 위협 증가에 따라 부분적 이중화로서 고가용성 달성에 한계가 있기 때문이다.
정보시스템 가용성은 웹 컨텐츠와 트랜잭션 시스템에 최대의 접근(access) 성능을 보장할 수 있도록 네트워크의 모든 계층에서 최대화 한다.
다음으로, 백본(Backbone) 및 분산 계층(Distributing layer) 구조를 설명한다. 의료정보시스템 환경의 고가용성 네트워크 설계에서 첫째 요건은 백본(Backbone) 및 분산 계층(Distributing layer)에 대한 구조와 기능의 이중화이다.
인트라넷을 기준으로 할 때 코어(core) 계층은 LAN 백본(backbone) 구간, 전송계층은 LAN 분산(distributing) 계층, 접근(access) 계층은 LAN 접속 층이다. 완전이중화 계층구조는 전통적인 반 이중화 구조로부터의 탈피이다. 트래픽 분산은 다수의 ISP 전용선과, VDSL, 케이블 모뎀 등의 초고속 인터넷 회선을 결합시켜 단일 전용선처럼 사용하게 한다.
또한 인터넷 트래픽을 효율적으로 관리하여 불필요한 특정 회선에 대한 트래픽 집중현상을 완화하여, 트래픽 처리 효율을 최적화 한다. 내부망 IP 대역은 전용선 IP 대역을 동시에 사용하거나, 사설 IP 대역을 설정하여 PAT(Port Address Translation) 구성을 설정하여 사용할 수 있다. 특히, 인터넷 라인이나 ADSL /VDSL 라인에 할당된 IP가 적은 경우에 내부망이 PAT를 사용하여 IP를 공유한다.
부하분산은 기존 라운드로빈(round-robin), 해슁(hashing), 최소연결(least connection), 최대 밴드폭(maximum bandwidth) 방식을 선택적으로 사용한다.
다음으로, 서버구조를 설계한다(S42).
서버 구조는 클러스터링 구조와 다층 스위칭(Multi-layer switching) 구조로 구성된다.
클러스터링 구조에 대해 설명한다.
네트워크를 통해 여러 대의 의료정보시스템 컴퓨터를 연결하여 하나의 단일 컴퓨터처럼 동작하도록 설계한다. 클러스터 시스템의 구조는 여러대의 컴퓨터를 마치 하나의 컴퓨터처럼 사용하므로 사용자에게 하나의 시스템처럼 보이는 기술이다. 백업 및 사용자 관리 등의 작업은 클러스터에 있는 개별적인 노드에서 발생하는 것이 아닌 시스템 전반에서 발생하나. 네트워크, 감시, 고장 탐지와 복구, 단일 시스템 관리 등의 서비스를 제공하는 특정 클러스터 소프트웨어를 제공하고 이를 연결하는 서버가 필요하다.
클러스터링(Clustering) 메커니즘을 적용하여 2대 이상 시스템을 하나의 가상(virtual) 시스템으로 운영하는 구조를 선택한다. 이 경우 최대 한 가용성 확보를 위해 메쉬(mesh) 구조 네트워크 구축으로 한 방향 채널 서비스 중단 시 다른 채널에서 프로세싱(processing) 인수 가능하도록 구성한다.
다층 스위칭(Multi-layer switching) 구조에 대해 설명한다.
계층(layer) 7 이상의 다층 스위치를 통해 부하 밸런스(load balancing)를 통한 의료정보시스템 고가용성 확보로 시스템의 한계를 보강한다. 다층 스위치를 활용하여 패킷 처리기능을 수행하고 다층 패킷 핸들링을 시행한다. 다층 스위치는 상위 계층으로 올라가면서 TCP, UDP등의 프로트콜에 대한 컨트롤 역할을 하면서 트래픽 제어 등 기능이 추가된다.
여기에 7 계층인 애플리케이션 계층처리 기능 추가로 직접적인 패킷 필터링 및 QoS(Quality of Service) 기능이 가능하다. 전용 ASIC을 사용하고 기본기능인 SLB(Server Load Balancing)인, LLB(Line Load Balancing) 외에 방화벽(firewall), VPN, IDS 등 보안 장비의 부하 밸런싱(load balancing) 기능이 추가된다.
다음으로, 페일오버 기능 메커니즘(Functional Mechanism of Failover)을 설계한다(S43).
먼저, 프로세스 컨트롤(Process Control)을 설명한다.
정보시스템 이중화를 위해 이중화를 관리하는 고가용성 프로세스 제어모듈을 시스템 내에 설치하여 지속적 감시를 통한 시스템 상태를 결정한다. 두 시스템 간 액티브, 스탠바이 상태 결정 및 두 시스템 간 동기화가 필요한 데이터의 일치화 작업을 수행한다. 이는 초기의 시동과 재시동에 모두 사용되는 기능이며, 트래픽 전달 시 발생되는 시스템 간 절체 상황에서 최소의 패킷손실 만을 보장하도록 한다.
지속적 시스템 감시는 HA간 이더넷 기반 TCP/IP 연결로 주기적인 하트비트(hart-beat) 기능을 가동시키며, 이는 상대 시스템의 프로세스 상태뿐 아니라 고가용성 이더넷 연결 선로 또한 대상으로 한다. 시스템 간의 상태 변경 시 빠른 절체로 인한 데이터 소실 방지는 무엇보다 필수요소이며, 시스템 간 HA 연결 선로 상 모든 데이타는 정확한 부하 분담 기능으로 데이타 유실 및 폭주 발생확률을 현저히 감소시킬 수 있다.
다음으로, 마스터 서버(Master-server)에 대하여 설명한다.
정보시스템 마스터 서버(Master-server) 두대가 동일하게 작동하므로 서버 중 한 대가 페일(fail) 시 나머지 서버가 계속해서 임무를 수행한다. 각 서버에 동일한 데이터가 저장되므로 어플리케이션 접근에 의한 부하를 분산시킬 수 있다. 마스터 서버(Master-server) 중 한 대는 주 서버(primary server)로서 기능을 수행하다 페일(failure) 발생시 스탠바이 서버(standby server)가 임무를 수행한다. 데이터 삽입(insert), 갱신(update), 삭제(delete)는 모두 마스터 서버에서 이루어지고 데이터 선택(select)는 슬레이브(slave) 서버들이 담당하게 되어 선택 쿼리(select query)가 많은 사이트에서 성능을 발휘할 수 있다.
- 마스터 서버(Master-server)는 복수 노드로 구성할 수 있으며 다중 프로세서가 될 수 있다.
- 새로운 컴퓨터를 클러스터에 추가하여 시스템을 확장할 수 있다.
- 사용자는 필요 시 작은 시스템을 큰 시스템으로 확장할 수 있다.
- 클러스터 내 각 노드는 독립형 컴퓨터로 하나의 노드에 장애가 발생하여도 서비스를 제공할 수 있다.
다음으로, 부하 밸런싱(Loadbalancing)에 대하여 설명한다.
정보시스템 실제(Real) 서버로의 부하분산 스케쥴링 알고리즘은 여러가지가 있는데 웹사이트의 운영 방침에 따라 가장 적합한 알고리즘은 채택할 수 있다. 부하 밸런싱(Loadbalancing) 서버는 실제(real) 서버가 정상적으로 서비스 되는지 체크하기 위해 실제(real) 서버로부터 2초 간격으로 체크페이지를 읽어 들여 문자열을 체크한다. 장애 복구된 실제(real) 서버는 실 시간으로 클러스터(cluster) 멤버에 등록된다. 웹페이지 방문자의 세션 유지를 위해 클라이언트와 실제(real) 서버간의 연결 유지를 설정할 수 있으며 유지 시간은 웹사이트 특성에 따라 조정 가능하다. 이 기능 하에서는 마스터 서버와 스탠바이 서버간 컨넥션 동기화가 가능하도록 설계하는데 만약 마스터 서버가 장애를 일으키면 클라이언트와 실제 서버간의 세션유지를 위한 연결상태 정보를 스탠바이 서버 그대로 유지하면서 부하 밸런스를 인수한다.
다음으로, 페일 오버에 대하여 설명한다.
한 세션 장애 발생 시 다른 세션이 마스터가 되어 트래픽을 100% 인수한다. 풀메시(Full-mesh)형 모드에서 페일오버(fail-over)가 발생 시 장비 성능이 방해 받지 않도록 구간별 트래픽 볼륨(volume)을 조절한다. 가용성을 달성하고 두 장비 간 동기화 보장을 위해 전용 고가용성 인터페이스 쌍을 보유한다. 인터페이스에 대한 연결이 손실되면 다른 인터페이스를 사용해 동기화 정보를 페일오버(fail-over)한다.
페일오버(fail-over)가 시작되는지 확인하기 위해 구성 가능한 최소 200ms 간격으로 하트비트(hartbeat) 메시지를 보낸다. 이때 하트비트(hartbeat) 손실, 인터페이스 링크(interface-link) 손실, 구성된 IP 주소 또는 모니터링 된 IP주소 세트 손실 이벤트를 통해 페일오버(fail-over) 메커니즘을 가동시킨다. 시스템 간 클러스터 hartbeat 통신으로 장애 발생시 3초 안에 클러스터 재분배 및 자동 분산기능을 가동한다.
다음으로, 자동 복구성 최대화에 대하여 설명한다.
정보시스템의 코어(Core), 전송(transport), 접근(access) 계층에 대해 기기와 링크(link), 프로토콜, 애플리케이션 레벨에서 연동되는 네트워크 복구성을 최대화 한다. 기기 레벨의 복구성은 멀티 프로세서(multi processor), SSO (Stateful Switchover), IOS(input output software) 기술 연동으로 구현한다. 링크 레벨의 복구성은 RPR (Recovery Packet Ring), 멀티 링크 PPP(Point to Point) 프로토콜, Ether Channel (r), IEEE 802.1w과 802.1s 스패닝 트리(spanning tree) 향상판 기술을 통해 확보한다. 프로토콜 레벨 복구성을 위해 GLBP(Gateway Load Balancing Protocol)과 라우팅 및 접속 프로토콜을 위한 라우팅 프로토 콜 통합 최적화 기능을 도입한다. 애플리케이션 레벨의복구성은 SNAT(Stateful Network Address Translation)과 서버로드 밸런싱 기술을 적용한다.
다음으로, 개발된 의료정보 시스템에 대하여 측정 항목을 이용하여 측정한다(S50). 본 발명에 의해 개발된 고가용성 시스템을 평가하는 측정 항목들을 설명한다.
의료정보시스템 고가용성 성능평가 중심은 클러스터의 성능에 미치는 요소를 평가한다. 클러스터는 연결된 노드의 수가 많으므로 연결된 컴퓨터의 고장이 전체 시스템의 성능을 감소시킬 수 있다. 클러스터의 노드들은 노드 장애의 경우 부하 분배와 복구 등의 기능을 제공하기 위해 모든 노드가 현황 정보를 공유하며 클러스터의 상태를 지속적으로 모니터링 한다. 클러스터의 성능에 영향을 미치는 요소. 성능 평가 항목은 다음과 같다.
성능(Performance) 평가 요소는 인프라 구조에 의해 발생하는 시스템의 부하 수준이다. 성능(Performance)은 지연(Latency), 응답시간 (Response Time), CPU부하율 (CPU Utilization), 시스템 프로세스(Process) 수이다. 성능(Performance)은 부(-)가 지향 목표 수준이다. 이때, 측정단위는 응답시간 지연율(%), 상호 비교 분석 지수이다.
부하 분담(Load Sharing) 평가 요소는 특정 사이트가 과부화된 경우 이 중의 일부를 부하가 적게 걸린 사이트로 이동시킬 수 있는 기능, 연산이 동시 수행 가능한 다수의 부분연산으로 분할 가능 경우 동시 수행을 위해 여러 사이트에 연산을 분산기능에 대한 것이다. 이때, 측정단위는 백분율(%)이다.
응답시간(Response Time) 평가 요소는 호스트 접속 요구 패킷을 송신 개시하고 호스트 로부터 응답시간 패킷을 수신 완료할 때까지의 시간을 의미하는 것으로 응답시간은 네트워크 전송시간 + 서버 처리 시간 + 클라이언트 처리 시간의 합계시간으로 산출된다. 이때, 측정단위는 초(second)이다.
CPU 부하율(CPU Utilization)은 차단 시스템 상에서 CPU 사용율을 의미한다. CPU사용량의 증감은 트래픽량(Traffic Volume )과 악성코드 등 유해 트래픽의 발생에 의해서 좌우된다. 차단 기능의 수행을 통해 차단 시스템 CPU 부하율이 감소될 수 있다. 이때, 측정단위는 백분율(%)이다.
프로세서의 성능 평가 요소는 노드와 요청 작업들이 많은 경우 정보를 받기 위해 각 노드는 기다리는 시간이 증가하는지 여부, 프로세서의 성능은 전송 속도와 신뢰도를 포함한다. 클러스터 내의 각 컴퓨터끼리 수시로 정보를 주고 받아야 하므로 이를 얼마나 빨리 대규모로 수행하는 가에 따라 클러스터의 성능이 결정된다. 이때, 측정단위는 프로세서 처리율(%) 상호 비교 분석 지수이다.
신뢰성의 평가 요소는 한 사이트 고장시 나머지 사이트들은 계속 작동 해야 동작의 신뢰성 보장을 나타낸다. 한 사이트의 고장은 시스템에 의해 반드시 감지되어야 하며, 그 고장을 회복하기 위한 기능 여부를 나타낸다. 이때, 측정단위는 백분율(%)이다.
의료정보시스템에서 고가용성 기능은 서비스의 중단 없는 연속성과 가용성 극대화 필수 전략이다. 의료정보시스템의 성공적인 고가용성 구현을 위해서는 현재의 환경을 면밀히 검토하고, 충분한 의견 수렴이 이루어질 수 있는 컨설팅 과정이 필요하다. 서비스 다운타임이 오래 지속 되면 손실을 회복하기 어려울 수 있다. 피해액을 계산하기조차 어려운 간접 손실은 더 큰 문제다. 의료정보시스템 서비스 다운 시 발생하는 간접 손실까지 고려하면, 가용성에 대한 투자는 필수이다. 특히 경쟁이 치열한 의료 비즈니스 환경에서 시스템과 서비스 가용성을 높여야만 유사 시 안정적인 정보지원 품질을 보증한다는 인식이 필요하다.
의료정보시스템은 고가용성 기능 확보를 위하여 클러스터링 구조의 설계사상을 기반으로 하여 프레임워크를 도출하고 기능 메커니즘을 구성하며 기반 구조를 설계한다. 본 발명에 따른 방법은 실시간으로 데이터를 통합하며 안전한 의료정보시스템 가동을 목표로 한 기반구조의 도입 방법이다. 클러스터링 구조 기반에서 다중 환자 정보 접근을 통하여 정확한 데이터를 주고 받을 수 있는 시스템이 구축된다면 의료정보 서비스에서 많은 효율성을 얻을 수 있을 것이다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10,13 : 컴퓨터 단말 20 : 네트워크
30 : 설계 시스템 40 : 데이터베이스
30 : 설계 시스템 40 : 데이터베이스
Claims (6)
- 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법에 있어서,
(a) 의료정보 시스템의 인프라 구조를 코어, 전송, 접근으로 계층화하고, 각 계층에 대하여 구조 이중화하는 것을 기본적 설계목표로 설정하는 단계;
(b) 하드웨어의 구조를 설계하되, 각 하드웨어에 대하여 이중화 하여 설계하는 단계;
(c) 서로 각기 다른 서버에 대하여 상호 대기 서버로 구성하여, 소프트웨어적 요소를 구성하는 단계;
(d) 클러스터 인프라 기능을 설계하되, 다수의 서버 구성에 대하여 클러스터 형태로 구현하되, 상기 클러스터에서 적어도 2대의 부하 밸런스 서버가 마스터와 스탠바이 역할을 수행하도록 설계하는 단계; 및,
(e) 상기 의료정보 시스템에 대하여 측정항목을 이용하여 측정하는 단계를 포함하고,
상기 (d)단계는,
(d1) 트래픽 외부 접속점 구조와 백본 및 분산 계층 구조로 구성되는 네트워크의 구조를 설계하는 단계;
(d2) 클러스터링 구조 및 다층 스위칭 구조로 구성되는 서버의 구조를 설계하는 단계; 및,
(d3) 프로세스 컨트롤, 마스터 서버, 및, 부하 밸런싱으로 구성되는 페일 오버 기능의 메카니즘을 설계하는 단계로 구성되고,
상기 (d3)단계에서, 적어도 2대의 마스터 서버가 동일하게 작동하도록 설계하여, 한 대가 페일되면 다른 서버가 계속 페일된 서버의 기능을 수행하게 하도록 설계하고,
마스터 서버와 스탠바이 서버간 커넥션 동기화가 가능하도록 하여, 클라이언트와 실제 서버간의 세션을 유지하게 하고,
상기 (b)단계에서, 클러스터링 구성은 다중 노드 클러스터링으로 설계하는 것을 특징으로 하는 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 제1항의 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140049413A KR101588715B1 (ko) | 2014-04-24 | 2014-04-24 | 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140049413A KR101588715B1 (ko) | 2014-04-24 | 2014-04-24 | 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150123400A KR20150123400A (ko) | 2015-11-04 |
KR101588715B1 true KR101588715B1 (ko) | 2016-01-27 |
Family
ID=54599884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140049413A KR101588715B1 (ko) | 2014-04-24 | 2014-04-24 | 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101588715B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784350B (zh) * | 2019-10-25 | 2022-04-05 | 北京计算机技术及应用研究所 | 一种实时高可用集群管理系统的设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002024190A (ja) | 2000-07-06 | 2002-01-25 | Nec Corp | クライアント、サーバ、クライアント・サーバシステム、負荷分散方法、記録媒体 |
KR100763757B1 (ko) | 2006-03-29 | 2007-10-04 | 주식회사 케이티 | 부하 분산에 따른 원격의료 시스템 및 그 서비스 제공 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002287999A (ja) * | 2001-03-26 | 2002-10-04 | Duaxes Corp | サーバの二重化方法、二重化サーバシステム、および二重化データベースサーバ |
-
2014
- 2014-04-24 KR KR1020140049413A patent/KR101588715B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002024190A (ja) | 2000-07-06 | 2002-01-25 | Nec Corp | クライアント、サーバ、クライアント・サーバシステム、負荷分散方法、記録媒体 |
KR100763757B1 (ko) | 2006-03-29 | 2007-10-04 | 주식회사 케이티 | 부하 분산에 따른 원격의료 시스템 및 그 서비스 제공 방법 |
Non-Patent Citations (1)
Title |
---|
JOURNAL OF DIGITAL CONTENTS SOCIETY VOL. 8 NO. 4 DEC. 2007 |
Also Published As
Publication number | Publication date |
---|---|
KR20150123400A (ko) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10129169B2 (en) | Specifying a highly-resilient system in a disaggregated compute environment | |
Verma et al. | A survey on network methodologies for real-time analytics of massive IoT data and open research issues | |
US9928148B2 (en) | Configuration of peered cluster storage environment organized as disaster recovery group | |
US10050862B2 (en) | Distributed application framework that uses network and application awareness for placing data | |
CN102404390B (zh) | 高速实时数据库的智能化动态负载均衡方法 | |
US20190235979A1 (en) | Systems and methods for performing computing cluster node switchover | |
US20120079090A1 (en) | Stateful subnet manager failover in a middleware machine environment | |
JP6329899B2 (ja) | クラウドコンピューティングのためのシステム及び方法 | |
WO2019152122A1 (en) | Systems and methods for performing computing cluster node switchover | |
CN105262820A (zh) | 一种基于Linux操作系统的集群多机互备的方法 | |
US20050138517A1 (en) | Processing device management system | |
CN111130835A (zh) | 数据中心双活系统、切换方法、装置、设备及介质 | |
US10320905B2 (en) | Highly available network filer super cluster | |
US10341138B2 (en) | Spanning tree protocol enabled N-node link aggregation system | |
US11188429B2 (en) | Building a highly-resilient system with failure independence in a disaggregated compute environment | |
US11095707B2 (en) | Networking-based file share witness system | |
Zhang et al. | Reliability models for systems with internal and external redundancy | |
US10305987B2 (en) | Method to syncrhonize VSAN node status in VSAN cluster | |
KR101588715B1 (ko) | 클러스터링 알고리즘 중심의 의료정보시스템 메커니즘 설계 방법 | |
US9246994B2 (en) | Method and system for distributing a network application among a plurality of network sites on a shared network | |
Pashkov et al. | On high availability distributed control plane for software-defined networks | |
US20060233164A1 (en) | Method to separate fibre channel switch core functions and fabric management in a storage area network | |
Thanakornworakij et al. | High availability on cloud with HA-OSCAR | |
KR101583318B1 (ko) | 클러스터링 중심 의료정보시스템 환경에서의 접근제어 소프트웨어 설계 방법 | |
Shailly | A critical review based on Fault Tolerance in Software Defined Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181206 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191219 Year of fee payment: 5 |