KR102201158B1 - 확장 가능 배치 시스템 - Google Patents

확장 가능 배치 시스템 Download PDF

Info

Publication number
KR102201158B1
KR102201158B1 KR1020157014835A KR20157014835A KR102201158B1 KR 102201158 B1 KR102201158 B1 KR 102201158B1 KR 1020157014835 A KR1020157014835 A KR 1020157014835A KR 20157014835 A KR20157014835 A KR 20157014835A KR 102201158 B1 KR102201158 B1 KR 102201158B1
Authority
KR
South Korea
Prior art keywords
service
database
server
services
message
Prior art date
Application number
KR1020157014835A
Other languages
English (en)
Other versions
KR20150084894A (ko
Inventor
닉 티. 엔구엔
리차드 더블유. 마세이
윌리스 람
랸 엔구엔
제럴드 이. 바르네피허
Original Assignee
케어퓨전 303, 인크.
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 케어퓨전 303, 인크. filed Critical 케어퓨전 303, 인크.
Publication of KR20150084894A publication Critical patent/KR20150084894A/ko
Application granted granted Critical
Publication of KR102201158B1 publication Critical patent/KR102201158B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

스케일러블 통신 시스템의 가요성 배치 및 중앙 집중형 관리를 제공하는 확장 가능 배치 시스템이 개시된다. 스케일러블 통신 시스템은 다수의 그룹들의 서비스들, 예를 들어 다수의 솔루션들 (하나 이상의 서버들에 걸쳐 배치될 수 있음)로 세그먼트될 수 있다. 그룹들의 서비스들 각각은 그룹들의 서비스들이 독립적으로 배치되고 업그레이드될 수 있도록 할 수 있는 단일 데이터베이스 인스턴스 내의 별개의 데이터베이스들에 액세스할 수 있다. 그룹들의 서비스들의 독립적인 업그레이드 경로들과는 상관없이, 그룹들의 서비스들 모두를 중앙 집중형으로 관리하고 배치하는 것을 허용하는 관리 인터페이스가 제공될 수 있다. 관리 인터페이스는 로컬 인증 시스템을 포함할 수 있으며, 그리고 또한 하나 이상의 외부 인증 시스템들과 상호 동작 가능할 수 있고, 그 결과 사용자들은 관리 인터페이스에 액세스하기 위해, 외부 인증 시스템의 로그인 크리덴셜들을 사용할 수 있다.

Description

확장 가능 배치 시스템{EXTENSIBLE DEPLOYMENT SYSTEM}
본 발명은 일반적으로 배치 시스템에 관한 것으로, 보다 구체적으로, 배타적이지는 않지만, 확장 가능 배치 시스템에 관한 것이다.
병원들 및 다른 부양 기관들은 통상적으로 병원의 다수의 기능들을 수행하기 위해, 다량의 서로 다른 전자 디바이스 및 데이터 시스템들을 활용한다. 이러한 서로 다른 데이터 시스템들은 ADT (Admit-Discharge-Transfer), POE (physician order entry), eMAR (electronic Medicine Administration Record) 등을 포함할 수 있는, 다양한 유형들의 시스템들에 대해 호환 불가능한 신호 및 통신 프로토콜들을 종종 이용한다. 소정의 데이터 시스템들, 예를 들면 약 관리 시스템 그 예로 Pyxis MedStation™ 시스템은 연속성에 기반하여 이러한 다른 시스템들 중 하나 이상으로부터 정보를 수신한다. 각각의 데이터 시스템은 서로 다른 메시지 프로토콜 또는 데이터 구조를 사용할 수 있기 때문에, 메시지들은 하나 또는 양쪽 데이터 시스템들을 맞춤 없이는 일 측 데이터 시스템으로부터 타 측 데이터 시스템으로 직접 전송될 수 없다. 더욱이, 서로 다른 제조업체들은 또한, 서로 다른 프로토콜을 사용하여, 데이터 시스템들 사이의 제어 및 통신을 매우 어렵게 할 것이다. 병원 내의 데이터 시스템들의 복잡한 상호 연결된 네트워크 내에서 통신을 하는 다수의 맞춤 데이터 시스템들의 유지 및 업데이트는 복잡하고 상당히 큰 업무이다.
일부 예들에서, 병원 환경은 다수의 장소들에 걸쳐 서로 다른 데이터 시스템들 간의 통신을 용이하게 하는 하나 이상의 메시징 전환 시스템들을 포함할 수 있다. 그러나, 메시징 전환 시스템들을 배치하는 것, 업그레이드하는 것, 또는 확장하는 것은 수행하기에 극도로 어려우며 입증하기에도 힘들 수 있고, 이는 이러한 유형의 통합성에 가장 크게 의존하여 환자들에게 질 높은 보살핌을 제공하는 큰 병원 시스템들에 있어 데이터 교환의 신뢰성 및 서비스를 감소시킬 수 있다.
본원은 스케일러블 통신 시스템 (scalable communication system)의 확장 가능 배치를 위한 방법에 관한 것이다.
방법은 제 1 데이터베이스를 공유할 수 있는 서비스들에 대한 제 1 서비스 그룹핑 (grouping)을 생성하기 위해 제 1 요청을 수신하는 단계를 포함할 수 있고, 상기 제 1 요청은 제 1 서버의 제 1 식별자를 포함한다. 상기 방법은 상기 제 1 데이터베이스를 생성하는 제 1 스크립들을, 상기 제 1 서버 상에서 실행되는 제 1 에이전트로부터 검색하는 단계를 더 포함할 수 있다. 상기 방법은 상기 제 1 스크립들에 기반하여 프로세서가 상기 제 1 데이터 베이스를 발생시키는 단계, 및 상기 제 1 서비스 그룹핑에 제 1 서비스를 추가하기 위해 제 2 요청을 수신하는 단계를 더 포함할 수 있고, 상기 제 2 요청은 상기 제 1 서버의 제 1 식별자를 포함한다. 상기 방법은 상기 제 1 서버 상에서 상기 제 1 서비스를 생성하기 위한 제 1 명령을, 상기 제 1 서버 상에서 실행되는 제 1 에이전트로 전송하는 단계; 및 상기 제 1 서비스가 상기 제 1 서비스 그룹핑에 추가되었다라는 제 1 표시 (indication)를 제공하는 단계를 더 포함할 수 있다.
개시된 본원은 또한 확장 가능 배치 시스템에 관한 것이다. 상기 시스템은 하나 이상의 프로세서들 및 메모리를 포함할 수 있고, 이때 상기 메모리는, 상기 하나 이상의 프로세서들에 의해 실행될 시에, 상기 하나 이상의 프로세서들이: 관리 인터페이스에 액세스하는 사용자 인증 요청을 수신하고 (상기 사용자 인증 요청은 사용자 식별자 및 패스워드를 포함함), 상기 사용자 식별자가 로컬 (local) 사용자 데이터베이스에 존재하는지를 결정하고, 상기 사용자 식별자가 상기 로컬 사용자 데이터베이스에 존재하는 경우, 상기 사용자 식별자 및 상기 패스워드를 로컬 인증 시스템을 통하여 인증하고, 그렇지 않다면, 상기 사용자 식별자 및 패스워드를 외부 인증 시스템을 통하여 인증하며, 그리고 상기 사용자 식별자 및 상기 패스워드가 상기 로컬 인증 시스템 또는 상기 외부 인증 시스템을 통하여 인증되는 경우, 상기 관리 인터페이스를 제공하고, 그렇지 않다면, 상기 관리 인터페이스로의 액세스를 부정하도록 하는 명령어들을 포함한다.
개시된 본원은 또한 기계에 의해 실행될 시에, 상기 기계가 스케일러블 통신 시스템의 확장 가능 배치를 위한 방법을 실행하도록 하는 명령어들을 구현하는 비-일시적인 기계 판독 가능 매체에 관한 것이다. 상기 방법은 복수의 그룹들의 서비스들을 지원하는 데이터베이스 인스턴스에서 관리 데이터베이스를 발생시키는 단계 및 제 1 서버로부터 제 1 세트의 스크립들 (scripts)을 수신하고, 제 2 서버로부터 제 2 세트의 스크립들을 수신하는 단계를 포함할 수 있다. 상기 방법은 상기 제 1 세트의 스크립들을 사용하여 상기 복수의 그룹들의 서비스들 중 제 1 그룹의 서비스들을 위하여, 상기 데이터베이스 인스턴스에서 제 1 데이터베이스를, 그리고 상기 제 2 세트의 스크립들을 사용하여 상기 복수의 그룹들의 서비스들 중 제 2 그룹의 서비스들을 위하여, 상기 데이터베이스 인스턴스에서 제 2 데이터베이스를, 발생시키는 단계를 더 포함할 수 있고, 상기 제 1 데이터베이스는 상기 제 2 데이터베이스와는 다른 스키마를 포함한다. 상기 방법은 상기 제 1 그룹의 서비스들 중 제 1 서비스를 개시하기 위해, 상기 제 1 서버 상에서 실행되는 제 1 에이전트 프로세스에 제 1 명령을 전송하는 단계를 더 포함할 수 있고, 상기 제 1 서비스는, 제 1 복수의 디바이스들로부터 수신된 제 1 복수의 메시지들을 변형시키기 위해 (translate) 상기 제 1 데이터베이스에 액세스한다. 상기 방법은 상기 제 2 그룹의 서비스들 중 제 2 서비스를 개시하기 위해, 상기 제 2 서버 상에서 실행되는 제 2 에이전트 프로세스에 제 2 명령을 전송하는 단계 (상기 제 2 서비스는, 제 2 복수의 디바이스들로부터 수신된 제 2 복수의 메시지들을 변형시키기 위해 상기 제 2 데이터베이스에 액세스함); 및 상기 제 1 서비스 및 제 2 서비스를 관리하는 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.
이해하여야 하는 바와 같이, 기술 분야의 통상의 기술자라면 본원 기술의 다른 구성들을 다음의 상세한 설명으로부터 손쉽게 명백할 것이며, 본원의 기술의 다양한 구성들이 예시에 의해 제시되고 기술된다. 실현될 수 있는 바와 같이, 본원의 기술은 다른 구성 및 서로 다른 구성들을 가능케 하며, 그의 몇몇 설명들은 본원 기술의 권리 범위를 벗어남 없이 모두 다양한 다른 관점들에서 변형될 수 있다. 이에 따라서, 도면 및 상세한 설명은 제한적이지 않고 실제적으로 예시적인 것으로 간주되어야 한다.
본 기술의 소정의 특징들은 이하에서 나열된 사항에서 설명된다. 그러나, 설명을 위하여, 본 기술의 여러 실시예들이 다음 도면들에서 설명된다.
도 1은, 중앙 집중형 통신 시스템이 하나 이상의 구현예들에 따라 배치될 수 있는 예시의 병원 시스템을 예시한다.
도 2는 하나 이상의 구현예들에 따라 병원 시스템 내의 중앙 집중형 통신 시스템의 예시의 확장 가능 배치를 예시한다.
도 3은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 대한 예시의 프로세스의 플로워 다이어그램을 예시한다.
도 4는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 대한 예시의 프로세스의 플로워 다이어그램을 예시한다.
도 5는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 사용자 인증에 대한 예시의 프로세스의 플로워 다이어그램을 예시한다.
도 6은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템의 예시 워크플로워를 도시한다.
도 7은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 사용자 인증의 예시 워크플로워를 예시한다.
도 8은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 구성 정보를 제공하는 예시 사용자 인터페이스를 예시한다.
도 9는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 서버를 추가하는 예시 사용자 인터페이스를 예시한다.
도 10은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 서비스 그룹핑을 추가하는 예시 사용자 인터페이스를 예시한다.
도 11은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템 내의 서비스 그룹핑에 서비스를 추가하는 예시 사용자 인터페이스를 예시한다.
도 12는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 서비스를 개시하는 예시 사용자 인터페이스를 예시한다.
도 13은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 서비스 그룹핑들을 관리하는 예시 사용자 인터페이스를 예시한다.
도 14는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 서비스 그룹핑의 서비스들을 관리하는 예시 사용자 인터페이스를 예시한다.
도 15는 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 메시지를 추적하는 예시 사용자 인터페이스를 예시한다.
도 16은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 메시지 추적을 필터렁하는 예시 사용자 인터페이스를 예시한다.
도 17은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 텍스트 포맷 (text format)으로 메시지 추적을 서칭하는 예시 사용자 인터페이스를 예시한다.
도 18은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 그리드 포맷 (grid format)으로 메시지 추적을 서칭하는 예시 사용자 인터페이스를 예시한다.
도 19는 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 헬스 레벨 (health level, HL7) 포맷으로 메시지 추적을 서칭하는 예시 사용자 인터페이스를 예시한다.
도 20은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 확장 가능 마크업 언어 (extensible markup language, XML) 포맷으로 메시지 추적을 서칭하는 예시 사용자 인터페이스를 예시한다.
도 21은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 멀티-탭 메시지를 추적하는 예시 사용자 인터페이스를 예시한다.
도 22는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 사용자 관리를 위한 예시 사용자 인터페이스를 예시한다.
도 23은 본 기술의 하나 이상의 구현예들이 구현될 수 있는 전자 시스템을 개념적으로 예시한다.
다음의 상세한 설명은 본 기술의 다양한 구성들의 설명으로서 의도되며, 본 기술이 실시될 수 있는 구성들만 나타내는 것으로 의도되지 않는다. 첨부된 도면들은 본원에서 병합되고, 상세한 설명의 일부를 구성한다. 상세한 설명은 본원 기술의 이해를 통해 제공되는 목적을 위해 특정 설명을 포함한다. 그러나, 기술 분야의 통상의 기술자에게 자명하고 명백한 바와 같이, 본원 기술은 본원에서 개시된 특정 설명에 제한되지 않고, 하나 이상의 구현예들을 사용하여 실시될 수 있다. 일부 예들에서, 잘 알려진 구조 및 구성요소들은 본원 기술의 개념의 애매성을 피하기 위해, 블록 다이어그램 형태로 제시된다.
상호 운용성은, 다수의 병원들이 다수의 서로 다른 벤더들 (vendors)에 나날이 개발된 다수의 서로 다른 애플리케이션들 및 디바이스들을 통상적으로 이용하기 때문에, 헬스케어 환경 내에서 복잡하고 도전과제가 된다. 벤더의 종착지 및 사용자의 종착지 둘 다에서 시스템들 간에 교환된 데이터 또는 정보를 허용하고, 함께 한결같이 작용하는 모든 시스템들을 허용하는 통합 솔루션들 (integration solutions)을 포함하는 중앙 집중형 통신 시스템이 바람직하다. 벤더의 종착지는 예를 들면, 병원 정보 시스템 (HIS) 그 예로 ADT (admission, discharge and transfer) 시스템, 환자 순서 데이터 시스템, 처방 데이터 시스템, 수술실 정보 시스템 (operating room information system, ORIS), 전자 의무 기록 (electronic medical record, EMR) 시스템, MMIS, 빌링 (billing) 시스템, 및/또는 패키징 시스템의 일부 또는 임의의 조합을 포함할 수 있다. 사용자의 종착지는 다양한 애플리케이션 또는 환자 디바이스들 그 예로 조제 디바이스, 주입 디바이스, 및 간호사, 돌보는 사람, 또는 심지어 환자 그 자신에 의해 동작하는 벤틸레이터 (ventilator)를 포함할 수 있다.
주어진 병원 시스템에서, 서로 다른 시스템들 및 디바이스들에 대한 통합 솔루션들은 별개로 관리될 수 있다. 예를 들면, HIS 시스템에 대한 통합 솔루션은 환자 디바이스들에 대한 통합 솔루션보다 별개의 그룹으로 관리될 수 있다. 더욱이, 개개의 그룹들은 개개의 그룹들이 개개의 통합 솔루션들을 배치 및/또는 업그레이드하는 방법에 영향을 줄 수 있는 서로 다른 예산 또는 시스템/리소스 제약을 가질 수 있다. 이로써, 통합 솔루션들의 독립적인 배치를 허용하여, 예를 들어 병원 시스템 내의 개개의 통합 솔루션이 병원 시스템 내의 다른 통합 솔루션들의 배치와는 독립적으로, 다수의 서버들에 걸쳐 배치될 수 있으면서, 병원 내의 다른 통합 솔루션들과 상호 운용성을 유지시킬 수 있는 것이 바람직할 수 있다. 이와 유사하게, 통합 솔루션들에 대한 독립적인 업그레이드들을 허용하여, 병원 시스템 내의 개개의 통합 솔루션이 병원 시스템 내의 다른 통합 솔루션들과는 독립적으로 업그레이드될 수 있으면서, 병원 시스템 내의 다른 통합 솔루션들과 상호 운용성을 유지시킬 수 있는 것이 바람직할 수 있다. 또한, 개개의 통합 솔루션들의 배치 및/또는 업그레이드 경로와는 상관없이, 병원 시스템 내의 통합 솔루션들 모두를 중앙 집중형으로 관리하고 모니터링하기 위해 제공되는 중앙 집중형 관리 인터페이스를 제공하는 것이 바람직할 수 있다.
도 1은 하나 이상의 구현예들에 따라 병원 시스템 (100) 내에 배치된 중앙 집중형 통신 시스템 (centralized communication system, CCS) (120)에 대한 예시의 시스템 아키텍처를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 상기 사항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다. 더욱이, 설명을 위해서, CCS (120)는 병원 시스템 (100)에 배치된 것으로 기술된다. 그러나, CCS (120)는 병원 시스템 (100)에 배치되는 것으로 제한되는 것이 아니라, 상호 통신 시스템을 구현시킬 수 있는 임의의 네트워크 환경에 배치될 수 있다.
병원 시스템 (100)은 의료용 디바이스들 및 데이터 시스템들 (105A-N), 병원 정보 시스템 (110), 및 CCS (120)를 포함한다. 일 예시에서, 병원 시스템 (100)은 통합형 전달 네트워크 (integrated delivery network, IDN)일 수 있거나, 또는 그의 일부일 수 있다. 병원 정보 시스템 (110)은, 중환자실 (intensive care unit, ICU) 시스템 (105O), 수술실 (operating room, OR) 시스템 (105P), 응급 부서 (emergency department, ED) 시스템 (105Q), 약국 (pharmacy, PHARM) 시스템 (105R), 회복실 (post-anesthesia care unit, PACU) 시스템 (105S), 및 의료용 기록 (medical records, MEDREC) 시스템 (105T)을 포함한 다량의 별개의 전자 헬스 기록 (electronic health record, EHR) 시스템들 (105O-T)을 포함할 수 있다. EHR 시스템들 (105O-T) 일부는 EHR 데이터베이스 (117)에 네트워킹될 수 있다.
의료용 디바이스들 및 데이터 시스템들 (105A-N)은, 하나 이상의 약 조제 디바이스들 (105A), 그 예로 간호사실에서 약들을 저장 및 조제할 수 있는 Pyxis MedStation™ Automated Dispensing Machines (ADMs), 하나 이상의 수술실 약 시스템들 (105B), 그 예로 수술실에서 마취 전문의들에 의해 사용된 약들을 저장 및 관리할 수 있는 Pyxis® Anesthesia Systems, 하나 이상의 절차상의 저장품 저장 디바이스들 (105C), 그 예로 개개의 처리 구역들에 약들 및 저장품들을 저장할 수 있는 Pyxis SpecialtyStations™, 하나 이상의 종양에 관한 약 및 저장품 저장 시스템들 (105D), 그 예로 종양학부에서 암을 처리하기 위해 사용된 전문적이고 위험한 약들을 관리할 수 있는 Pyxis OncologyStations™, 하나 이상의 약 및 저장품 저장 시스템들 (105E), 그 예로 약들 및 저장품들 둘 다의 저장을 요구하는 구역들에 사용될 수 있는 Pyxis DuoStations, 하나 이상의 저장품 저장 시스템들 (105F), 그 예로 병원 주위의 현장 진단 시에 저장품들을 저장하기 위해 사용될 수 있는 Pyxis Supply Station Systems, 하나 이상의 특제품 저장 시스템들 (105G), 그 예로 전문 구역들, 그 예로 수술 전후 환경들 및 절차 상의 슈트들에 사용되는 장비 및 저장품들에게 저장을 제공할 수 있는 Pyxis Procedure Station Systems을 포함할 수 있다.
의료용 디바이스들 및 데이터 시스템들 (105A-N)은, 하나 이상의 심장에 관한 저장 시스템들 (105H), 그 예로 심박 조율기들 (pacemakers), 스탠트들 (stents), 및 카테테르들 (catheters) 등의 아이템들을 포함하여, 심장관련실 및 방사선 랩들에서 사용된 저장품들을 저장할 수 있는 Pyxis CatRacks, 하나 이상의 의복 관리 디바이스들 (105I), 그 예로 의사들 및 간호사들이 착용한 스크럽들을 제공 및/또는 수집할 수 있는 Pyxis ScrubStations® Systems, 하나 이상의 약 투여 시스템들 (105J), 그 예로 약 투여를 관리할 수 있는PPOC (Pyxis Patient Point of Care) 검증 시스템들, 하나 이상의 보충 시스템들 (105K), 그 예로 병원 내의 분포된 조제 디바이스들을 보충하기 위해 약들을 모으는, 병원 약국에서 사용될 수 있는 Pyxis PARx® System, 하나 이상의 약 저장 시스템들 (105L), 그 예로 병원 내의 제어된 기재들 (substances)을 저장할 수 있는 Pyxis CII Safe ™ System, 하나 이상의 의사 순서 관리 시스템들 (105M), 그 예로 의료진들로부터 약 주문들을 받아 이들을 약국 (약사가 주문들을 검토하고 이들을 약 관리 시스템에 방출함)으로 이송킬 수 있는 Pyxis Connect System, 및 하나 이상의 제 3 자 시스템들 (105N), 그 예로 약국 및 약국-관리 디바이스들 내에서 약들을 관리할 수 있는 PHACTS® System을 더 포함할 수 있다.
CCS (120)는, 병원 시스템 (100)의 일부인 의료용 디바이스들 또는 데이터 시스템들 (105A-T) 중 하나 이상을 위해, 코어 (124) 및 하나 이상의 아답터들 (122A-T), 그 예로 인터페이스 모듈들을 포함할 수 있다. 코어 (124)는 하나 이상의 통합 솔루션들을 나타낼 수 있고, 각각의 통합 솔루션은 큐들 (queues) 및 데이터베이스를 공유하는 CCS 서비스들의 그룹을 포함한다. CCS (120)는 단일 서버, 또는 다수의 서버들, 그 예로 연결된 (collocated) 서버들 및/또는 본질적으로 다르게 위치한 서버들 상에 위치할 수 있다. 다수의 서버들의 예시에서, 아답터들 (122A-T)은 서버들에 걸쳐 펼쳐져 있을 수 있으며, 각각의 서버는 코어 (124)의 CCS 서비스들 중 하나를 포함할 수 있다. CCS (120)의 대표적인 구성은 도 2에 대해 이하에서 더 논의된다.
아답터들 (122A-T) 중 일부, 그 예로 아답터 (122A)는 공통 기본 구조, 또는 "프레임워크 (framework)"로 만들어질 수 있으며, 그리고 아답터 (122A)에 연결될 수 있는 의료용 디바이스 또는 데이터 시스템 (105A-T), 그 예로 약 조제 디바이스 (105A)에 의해 사용된 특정 본래 (native) 메시지 포맷에 따라 맞춰질 수 있다. 코어 (124)는 내부 메시징 포맷의 메시지들을 아답터들 (122A-T) 사이에 전송할 수 있다. 하나 이상의 구현예들에서, 내부 메시징 포맷은 의료용 디바이스들 및 데이터 시스템들 (105A-T) 중 하나 이상에 의해 사용된 본래 메시지 포맷들과는 서로 다를 수 있다. 내부 메시징 포맷은, 아답터들 (122A-T)이 내부 메시징 포맷 메시지를 제공하거나, 또는 아답터들 (122A-T)이 내부 메시징 포맷 메시지를 수신하는 것에 상관없이, 모든 내부 메시징 포맷 메시지들과 공통된다.
아답터들 (122A-T) 각각은, 아답터들 (122A-T)에 의해 수신 및/또는 전송되는 내부 메시징 포맷 메시지들의 지속적인 저장을 제공할 수 있는 데이터베이스 내의 하나 이상의 큐들과 연관될 수 있다. 이로써, CCS (120)를 통해 전송되는 임의의 메시지는 그의 목적지로 라우팅하기 전에 큐에 저장될 수 있다. 예를 들면, 메시지가 약 조제 디바이스 (105A) 등으로부터 특정 아답터 (122A)에 도착할 시에, 메시지는 아답터 (122A)에 연관된 큐에 저장된다. 아답터 (122A)는 선입 선출법 (first-in-first-out basis)에 기반하여, 또는 임의의 다른 것에 기반하여 그의 큐에서 메시지들을 프로세싱할 수 있다. 이로써, 아답터 (122A)가 그의 큐로부터 메시지를 검색할 시에, 아답터 (122A)는 메시지의 목적지를 결정하며, 그리고 메시지를 적절한 아답터, 그 예로 아답터 (122J)로 전송한다. 그러나, 메시지는 아답터 (122A)의 큐에 남아 있을 수 있되, 메시지가 약 투여 시스템 (105J)에 의해 수신되었다는 표시를 아답터 (122A)가 약 조제 디바이스 (105A)로부터 수신할 때까지 남아 있을 수 있다.
하나 이상의 구현예들에서, 메시지 큐들은, 디폴트 구성에서 메시지 수명-주기의 일부인 3 개의 체크포인트들을 나타낼 수 있다. 3 개의 체크포인트들은 In-Queue (InQ), Standard-Out-Queue (StdOutQ), 및 Out-Queue (OutQ)일 수 있다. CCS (120)이 언제라도 셧 다운되는 경우, 메시지들의 프로세싱은 큐들의 사용으로 인해 각각의 메시지의 이전 체크포인트에서 재-시작할 것이다. 추가적으로, CCS (120)를 통하여 전송된 임의의 메시지는 큐들 중 일부에서 메시지의 위치에 기반하여, 또는 CCS (120)에서 임의의 추가적인 체크포인트들에 기반하여 추적될 수 있다. 예를 들면, CCS (120)의 로깅 구성요소는, 로그 메시지들의 유형, 예를 들어 CCS (120) 내의 서로 다른 유형들의 이벤트들에 의존하여, CCS (120)의 데이터베이스에 로그 메시지들을 삽입시킬 수 있다. 데이터베이스 내의 로그 엔트리 (log entry)는 이벤트의 일자/시간의 표시, 그 예로 타임스탬프, 카테고리, 로그 메시지 및 로그 소유자의 표시를 포함할 수 있다.
CCS (120)는 로그들을 볼 수 있는 로그 뷰어 (log viewer)를 포함하는 사용자 인터페이스를 제공할 수 있다. 로그 뷰어는 사용자가 그룹 내의 어느 하나의 메시지로부터 관련된 모든 메시지들을 추적하도록 할 수 있다. 메시지가 누락된 경우, 메시지는, 메시지가 누락되고 그의 수명-주기를 완료하는데 실패한 곳의 표시부 (indicator)를 포함할 수 있고, 예를 들어, 메시지 수명 주기는, 메시지가 CCS (120)에 들어갈 시에 시작될 수 있으며, 그리고 메시지가 CCS (120)에서 빠져나갈 시에 완료될 수 있다. 로그 뷰어는 메시지들이 하나 이상의 포맷들, 그 예로 Pyxis 메시지들, Health Level 7 (HL7) 메시지들 등에 기반하여, 분석되도록 할 수 있다. 로그 뷰어는 또한 메시지가 누락될 수 있도록 할 수 있는 비즈니스 규칙들을 표시할 수 있다. 로그 뷰어는 사용자가 솔루션 레벨, 서비스 레벨에서, 그리고/또는 전체 IDN에 걸쳐서 메시지 추적 서치들을 실행하도록 할 수 있다. 하나 이상의 구현예들에서, 로그 뷰어는 웹 애플리케이션일 수 있으며, 그리고 도 15-21에 대해 이하에서 논의된 사용자 인터페이스들 중 하나 이상을 포함할 수 있다.
하나 이상의 구현예들에서, 코어 (124)는 제 1 아답터 (122A)로부터, 제 1 아답터 (122A)에 의해 제공된 정보에 따른 하나 이상의 제 2 아답터들 (122B-T)로 내부 메시징 포맷 메시지들을 전송함으로써, "푸쉬 (push)" 통신 모드로 기능을 한다. 하나 이상의 구현예들에서, 코어 (124)는 아답터들 (122A-T) 사이에서 내부 메시징 포맷 메시지들을 이송하기 위한 기능만 할 뿐, 내부 메시징 포맷 메시지들을 프로세싱하지 않는다. 하나 이상의 구현예들에서, CCS (120)는 다수의 물리적인 장소들에서 외부 디바이스들에 연결될 수 있는 하나 이상의 아답터들 (122A-T)을 포함할 수 있다. 코어 (124)가 서로 다른 아답터들 (122A-T)에 연관된 다수의 CCS 서비스들을 포함하는 하나 이상의 구현예들에서, CCS 서비스들은 서로, 예를 들어, 일 측 CCS 서비스의 아답터 (122A)로부터 타 측 CCS 서비스의 아답터 (122B)까지 내부 메시징 포맷 메시지들을 전송할 수 있다.
CCS (120)는 의료용 디바이스들 및 데이터 시스템들 (105A-T) 사이에 추상 층 (layer of abstraction)을 생성하고, 그 결과 임의의 송신 의료용 디바이스 또는 데이터 시스템 (105A-T) 또는 목적지 의료용 디바이스 또는 데이터 시스템 (105A-T)은 병원 시스템 (100) 또는 IDN에서 의료용 다른 디바이스들 및 데이터 시스템들 (105A-T)의 세부 사항들을 알 필요는 없지만, 그러나 보통 동작하도록 구성된 데이터 및 프로토콜들을 알 필요만 있다. 예를 들면, 자동 조제 머신 (automated dispensing machine, ADM)은 인벤토리 (inventory)에 관련된 데이터를 포함할 수 있지만, 그러나 주입 시스템은 주입 시스템에 주입 펌프를 통하여 주입하는 약물들의 인벤토리 정보에 대해서만 주의를 요할 수 있다. 또 다른 예시로서, POC (Point of Care) 시스템은 그저 조제 시스템으로부터 약의 예상 초과 (override)의 경보에 관심을 갖도록 단지 구성될 수 있다.
도 2는 하나 이상의 구현예들에 따라 병원 시스템에서 중앙 집중형 통신 시스템의 예시의 확장 가능 배치 (200)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 상기 사항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
예시의 확장 가능 배치 (200)는 하나 이상의 의료용 디바이스들 (210), 하나 이상의 데이터 시스템들 (220), 하나 이상의 사용자들 (230), 하나 이상의 서버들 (240A-C), 및 하나 이상의 데이터베이스 서버들 (250)을 포함할 수 있다. 하나 이상의 의료용 디바이스들 (210)은 병원 시스템에서 사용될 수 있는 상술된 의료용 디바이스들의 일부, 그 예로 펌프들, 주입 시스템들 등을 포함할 수 있다. 하나 이상의 데이터 시스템들 (220)은 병원 시스템의 의료용 디바이스들과 통신을 할 수 있는 상술된 데이터 시스템들의 일부, 그 예로 ADT 시스템, EMR 시스템 등일 수 있다. 하나 이상의 사용자들 (230)은 의료용 디바이스들 (210) 및/또는 데이터 시스템들 (220) 중 하나 이상에 대한 통합 솔루션들을 관리하는 사용자들, 통합 솔루션들을 배치하는 사용자들, 또는 일반적으로 임의의 관리상의 또는 관리 사용자일 수 있다.
서버들 (240A-C) 및 데이터베이스 서버 (250)는 메모리 및 하나 이상의 프로세서들을 포함하는 하나 이상의 컴퓨팅 디바이스들, 그 예로 도 23에 대해 이하에서 논의된 컴퓨팅 디바이스를 나타낼 수 있다. 서버들 (240A-B)은 하나 이상의 아답터들 (242A-D) 및 하나 이상의 서비스들 (244A-C)을 호스팅 (hosting)할 수 있다. 서비스들 (244A-C) 각각은, 서버들 (240A-B) 상에서 실행되는 적어도 하나의 CCS 서비스를 포함할 수 있다. 하나 이상의 구현예들에서, 서비스들 (244A-C)은 서버들 (240A-C) 중 어느 하나 상에서 호스팅될 수 있다. 서버들 (240A-B)은 또한 서버들 (240A-B) 상에서 실행되는 프로세스들일 수 있는 에이전트들 (245A-B)을 포함할 수 있다; 에이전트들 (245A-B)은 서버 (240C)와 통신을 할 수 있다. 서버 (240C)는 관리 콘솔 애플리케이션 (246) 및 하나 이상의 관리 콘솔 서비스들 (248), 그 예로 Internet Information Server (IIS) 서비스들을 호스팅할 수 있다. 하나 이상의 구현예들에서, 관리 콘솔 애플리케이션 (246)은 웹 애플리케이션일 수 있다.
데이터베이스 서버 (250)는 적어도 하나의 데이터베이스 인스턴스 (instance) (252), 그 예로 SQL 인스턴스를 호스팅할 수 있다. 서버들 (240A-C)에 의해 활용된 데이터베이스들 (254A-C)은 데이터베이스 서버 (250) 상의 단일 데이터베이스 인스턴스 (252)에 모두 존재할 수 있다. 대안적으로, 데이터베이스들 (254A-C)은 데이터베이스 서버 (250) 상의 다수의 데이터베이스 인스턴스들 (252)에 걸쳐 존재할 수 있다. 배치된 각각의 통합 솔루션 또는 서비스 그룹핑을 위하여 데이터베이스 인스턴스 (252) 내에 별개의 데이터베이스 (254A-B)가 있을 수 있다. 하나 이상의 구현예들에서, 서비스 그룹핑은, 큐들 및 데이터베이스를 공유하는 서비스들의 그룹을 포함한 주어진 데이터 시스템 또는 환자 디바이스들의 세트에 대한 통합 솔루션을 나타낼 수 있다. 병원 시스템에서 서비스 그룹핑은 병원에서 다른 서비스들 그룹핑들과는 독립적으로 동작하며, 그리고 서비스 그룹핑은 병원 시스템에서 다른 서비스 그룹핑들과 독립적으로 구성, 관리, 배치 및 업그레이드될 수 있다. 예를 들면, 주어진 배치는 주입 통합 솔루션용 서비스 그룹핑, 조제 통합 솔루션용 서비스 그룹핑 등을 포함할 수 있다.
예를 들면, 도 2에서, 서비스들 (244A-B)은 데이터베이스 (254A)에 액세스하는 서비스 그룹핑의 일부일 수 있으며, 그리고 서비스 (244C)는 데이터베이스 (254B)에 액세스하는 서비스 그룹핑의 일부일 수 있다. 관리 콘솔 데이터베이스 (254C)는 관리 콘솔 애플리케이션 (246)에 부속하는 정보를 저장할 수 있다. 서비스들 (244A-C)은 예를 들어 도 3 및 4를 참조하여 이하에서 논의된 바와 같이, 관리 콘솔 애플리케이션 (246)에 의해 서버들 (240A-B) 상에 배치될 수 있다.
도 3은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 대한 예시의 프로세스 (300)의 플로워 다이어그램을 예시한다. 설명을 위해, 예시의 프로세스 (300)의 블록들은 일련으로, 또는 선형으로 일어나는 것으로서 본원에서 기술된다. 그러나, 예시 프로세스 (300)의 다수의 블록들은 병행적으로 일어날 수 있다. 추가적으로, 예시 프로세스 (300)의 블록들은 도시된 순서로 수행될 필요는 없고, 그리고/또는 예시 프로세스 (300)의 블록들 중 하나 이상은 수행될 필요가 없다.
블록 (302)에서, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자는 배치 데이터베이스, 그 예로 관리 콘솔 데이터베이스 (254C)를 생성할 수 있다. 예를 들면, 사용자는 도 8에 대해 이하에서 논의된 사용자 인터페이스와 상호 작용함으로써, 배치 데이터베이스를 생성할 수 있다. 블록 (304)에서, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자는 예를 들면, 서버 (240A)의 이름 및 네트워크 어드레스를 제공함으로써, 적어도 하나의 서비스 (244A)를 호스팅할 수 있는 서버 (240A)를 식별할 수 있다. 예를 들면, 사용자는 도 9에 대해 이하에서 논의된 사용자 인터페이스와 상호 작용함으로써, 서버 (240A)를 식별할 수 있다.
블록 (306)에서, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자는, 예를 들면, 서비스 그룹핑의 이름을 제공하고 서비스 그룹핑의 적어도 하나의 서비스 (244A)를 호스팅할 수 있는 서버 (240A)를 식별함으로써, 솔루션으로 지칭될 수도 있는 서비스 그룹핑을 추가할 수 있다. 서비스 그룹핑, 또는 솔루션은, 큐잉 (queuing) 및 데이터베이스, 그 예로 데이터베이스 (254A)를 공유하는 서비스들, 그 예로 서비스들 (244A-B)의 그룹일 수 있다. 일 예시에서, 사용자는 도 9에 대해 이하에서 논의된 사용자 인터페이스와 상호 작용함으로써, 서비스 그룹핑을 추가할 수 있다. 서버 (240C)는 도 4에 대해 이하에서 추가로 논의된 바와 같이, 서비스 그룹핑이 추가될 시에 서비스 그룹핑에 대한 데이터베이스 (254A)를 발생시킬 수 있다.
블록 (308)에서, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자는, 예를 들면 서비스 (244A)의 이름, 서비스의 유형, 및 서비스 (244A)를 호스팅할 수 있는 서버 (240A)의 식별자를 제공함으로써, 블록 (306)에 생성된 서비스 그룹핑에 서비스 (244A)를 추가할 수 있다. 예를 들면, 사용자는 도 11에 대해 이하에서 논의된 사용자 인터페이스와 상호 작용함으로써, 서비스 (244A)를 추가할 수 있다. 블록 (310)에서, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자는 블록 (308)에서 생성된 서비스 (244A)를 시작할 수 있다. 예를 들면, 사용자는 도 12에 대해 이하에서 논의된 사용자 인터페이스와 상호 작용함으로써, 서비스 (244A)를 시작할 수 있다.
사용자는 배치 내에서 또 다른 서비스 그룹핑을 생성하기 위해, 블록들 (304-310) 중 하나 이상을 반복할 수 있다. 대안적으로, 또는 추가적으로, 사용자는 존재하는 서비스 그룹핑에 추가 서비스를 추가하기 위해, 블록들 (304 및 308-310) 중 하나 이상을 반복할 수 있다. 이러한 방식으로, 사용자는, 개별적으로 관리되고 업그레이드될 수 있는 IDN 내에 다수의 독립적인 서비스 그룹핑들을 배치할 수 있다.
도 4는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 대한 예시의 프로세스 (400)의 플로워 다이어그램을 예시한다. 설명을 위해, 예시의 프로세스 (400)의 블록들은 일련으로, 또는 선형으로 일어나는 것으로서 본원에서 기술된다. 그러나, 예시 프로세스 (400)의 다수의 블록들은 병행적으로 일어날 수 있다. 추가적으로, 예시 프로세스 (400)의 블록들은 도시된 순서로 수행될 필요는 없고, 그리고/또는 예시 프로세스 (400)의 블록들 중 하나 이상은 수행될 필요가 없다.
블록 (402)에서, 서버 (240C)는 예를 들면 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자로부터 서비스 그룹핑을 생성하기 위해 요청을 수신한다. 요청은 서비스 그룹핑의 이름, 및 서비스 그룹핑의 적어도 하나의 서비스 (244A)를 호스팅할 수 있는 서버 (240A)의 식별자를 포함할 수 있다. 서버 (240C)는 관리 콘솔 데이터베이스 (254C)에서 정보를 검색 및 저장하도록 이전에 구성될 수 있다. 하나 이상의 구현예들에서, 서버 (240C)는 관리 콘솔 데이터베이스 (254C)에 서비스 그룹핑의 이름을 저장할 수 있다.
블록 (404)에서, 서버 (240C)는 요청에서 식별된 서버 (240A) 상에서 실행되는 에이전트 (245A)로부터 서비스 그룹핑에 대한 데이터베이스 (254A)를 생성하는 스크립들 (scripts)을 검색할 수 있다. 예를 들면, 서버 (240C)는 데이터베이스 (254A)를 생성하는 스크립들을 요청하는 에이전트 (245A)로 메시지를 전송할 수 있다. 하나 이상의 구현예들에서, 스크립들은 블록 (402)에서 식별된 서비스 그룹핑에 대해 특정화될 수 있으며, 그리고 임의의 다른 서비스 그룹핑들에 대한 데이터베이스들을 발생시키기 위해 사용된 스크립들과는 독립적으로 업그레이드되거나 변화될 수 있다.
블록 (406)에서, 서버 (240C)는 데이터베이스 인스턴스 (252) 내에 서비스 그룹핑을 위해 데이터베이스 (254A)를 발생시킬 수 있다. 예를 들면, 서버 (240C)는 데이터베이스 인스턴스 (252)에서 데이터베이스 (254A)를 발생시키기 위해, 블록 (404)에서 검색된 스크립들을 실행할 수 있다. 서버 (240C)는, 서비스 그룹핑의 이름의 적어도 일부일 수 있거나, 상기 일부를 포함하도록 데이터베이스 (254A)의 이름을 설정할 수 있다. 예를 들면, 서비스 그룹핑의 이름은 데이터베이스 (254A)의 이름에 대한 접두사 또는 접미사일 수 있다. 하나 이상의 구현예들에서, 서버 (240C)는 데이터베이스 (254A)의 이름, 및 데이터베이스 (254A)의 이름과 서비스 그룹핑의 이름 사이의 연관성을 관리 콘솔 데이터베이스 (254C)에 저장할 수 있다.
블록 (408)에서, 서버 (240C)는 예를 들면 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자로부터, 블록 (402)에서 생성된 서비스 그룹핑의 일부로서 서비스 (244A)를 생성하기 위해 요청을 수신할 수 있다. 요청은 서비스 (244A)가 배치될 수 있는 서버 (240A)를 식별할 수 있다. 블록 (410)에서, 서버 (240C)는, 서버 (240A) 상에서 실행되는 에이전트 (245A)에게 명령을 전송할 수 있고, 이때 상기 서버 (240A)는 에이전트 (245A)에게 서비스 (244A)를 생성하라고 명령한다. 에이전트 (245A)는 서비스 (244A)를 생성할 수 있으며, 그리고 에이전트 (245A)는 데이터베이스 (254A)에 액세스하기 위해 서비스 (244A)를 구성할 수 있다.
블록 (412)에서, 서버 (240C)는, 식별된 서비스 그룹핑의 일부로서 서비스 (244A)가 서버 (240A) 상에서 생성되었다라는 표시를 제공할 수 있다. 예를 들면, 서버 (240C)는 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자에게 사용자 인터페이스를 제공할 수 있고, 이때 상기 관리 콘솔 애플리케이션은, 서비스 (244A)가 생성되었다라고 표시를 하고, 그리고/또는 서비스의 상태를 제공한다. 예를 들면, 서버 (240C)는 도 14에 대해 이하에서 논의되는 사용자 인터페이스를 사용자에게 제공할 수 있다.
블록 (414)에서, 서버 (240C)는 서비스 (244A)를 시작하기 위해 요청을 수신할 수 있다. 예를 들면, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자는 서비스 (244A)를 시작하기 위한 요청을 서버 (240C)로 전송할 수 있다. 블록 (416)에서, 서버 (240C)는 서버 (240A) 상에서 실행되는 에이전트 (245A)에게 명령을 전송할 수 있고, 이때 상기 서버 (240A)는 에이전트 (245A)에게 서비스 (244A)를 시작하라고 명령한다.
도 5는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 사용자 인증에 대한 예시의 프로세스 (500)의 플로워 다이어그램을 예시한다. 설명을 위해, 예시의 프로세스 (500)의 블록들은 일련으로, 또는 선형으로 일어나는 것으로서 본원에서 기술된다. 그러나, 예시 프로세스 (500)의 다수의 블록들은 병행적으로 일어날 수 있다. 추가적으로, 예시 프로세스 (500)의 블록들은 도시된 순서로 수행될 필요는 없고, 그리고/또는 예시 프로세스 (500)의 블록들 중 하나 이상은 수행될 필요가 없다.
블록 (502)에서, 서버 (240C)는 사용자 인증 요청, 그 예로 관리 콘솔 애플리케이션 (246)에 액세스하려는 사용자로부터 수신된 요청을 수신할 수 있다. 하나 이상의 구현예들에서, 사용자 인증 요청은 사용자 식별자 및 패스워드를 포함할 수 있다. 예를 들면, 서버 (240C)는 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자에게 사용자 로그인 인터페이스를 제공할 수 있다. 하나 이상의 구현예들에서, 서버 (240C)는 보안 인증서를 자체 서명 (self-sign)할 수 있으며, 자체 서명된 인증서를, 관리 콘솔 애플리케이션 (246)과 상호 작용하는 사용자에게 제공할 수 있고, 이에 따라 사용자의 로그인 크리덴셜들 (credentials)이 보안 연결, 그 예로 Secure Sockets Layer (SSL) 연결 상에서 전송되도록 한다. 자체 서명된 인증서는 예를 들어 서버 (240C)의 이름, 서버 (240C)의 네트워크 어드레스, 또는 서버 (240C)에 부속하는 임의의 다른 식별 정보를 포함할 수 있다. 하나 이상의 구현예들에서, 자체 서명된 인증서는, 서버 (240C)가 배치되는 시점에서 동적으로 발생될 수 있다.
블록 (504)에서, 서버 (240C)는, 사용자 인증 요청의 사용자 식별자가 로컬 사용자 데이터베이스, 그 예로 관리 콘솔 데이터베이스 (254C)에 존재하는지를 결정할 수 있다. 블록 (504)에서, 사용자 식별자가 로컬 사용자 데이터베이스에 존재한다고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (506)으로 이동한다. 블록 (506)에서, 서버 (240C)는 로컬 사용자 데이터베이스로부터 사용자 식별자에 연관된 사용자 프로파일 정보를 검색한다. 블록 (508)에서, 서버 (240C)는, 사용자 식별자가 외부 인증 시스템, 그 예로 Active Directory 시스템 또는 임의의 다른 외부 인증 시스템으로부터 나왔다라는 것을 사용자 프로파일 정보가 표시하는지를 결정한다. 예를 들면, 사용자 프로파일 정보는, 사용자 식별자가 로컬 사용자 식별자, 예를 들어 내부 사용자 식별자, 또는 외부 사용자 식별자인지의 표시를 포함할 수 있다. 대안적으로, 또는 추가적으로, 서버 (240C)가 다수의 외부 인증 시스템들을 통해 사용자들을 인증하는 경우, 사용자 프로파일 정보는, 사용자 식별자가 외부 인증 시스템으로부터 나왔을 시에 특정 외부 인증 시스템의 표시를 포함할 수 있다.
블록 (508)에서, 사용자 식별자가 외부 인증 시스템으로부터 나왔다라고, 예를 들어 사용자 식별자가 외부 사용자 식별자라고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (510)으로 이동된다. 블록 (510)에서, 서버 (240C)는 외부 인증 시스템을 통하여 사용자 식별자를 인증한다. 예를 들면, 서버 (240C)는 사용자의 로그인 크리덴셜들, 그 예로 사용자 식별자 및 패스워드를 외부 인증 시스템에 보안적으로 전송할 수 있다. 블록 (508)에서, 사용자 식별자가 외부 인증 시스템으로부터 나오지 않았다고, 예를 들어 사용자 식별자가 내부 사용자 식별자라고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (512)으로 이동한다. 블록 (512)에서, 서버 (240C)는 로컬 사용자 인증 시스템을 통해 사용자를 인증한다. 예를 들면, 서버 (240C)는, 사용자의 로그인 크리덴셜들이 예를 들어 사용자 식별자 및 패스워드가 로컬 사용자 데이터베이스에 저장된 정보와 매칭되는지를 검증할 수 있다.
블록 (514)에서, 사용자의 인증이 성공했다고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (518)으로 전송한다. 블록 (518)에서, 서버 (240C)는 관리 콘솔 애플리케이션 (246)로의 사용자 액세스를 승인한다. 예를 들면, 서버 (240C)는 도 13에 대해 이하에서 논의되는 사용자 인터페이스를 사용자에게 제공할 수 있다. 블록 (514)에서, 인증이 성공하지 못했다고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (516)으로 전송한다. 블록 (516)에서, 서버 (240C)는 관리 콘솔 애플리케이션 (246)로의 사용자 액세스를 부정한다.
블록 (504)에서, 사용자 식별자가 로컬 사용자 데이터베이스에 존재하지 않는다고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (520)으로 이동한다. 블록 (520)에서, 서버 (240C)는 외부 인증 시스템을 통하여 사용자 식별자를 인증한다. 예를 들면, 서버 (240C)는 사용자의 로그인 크리덴셜들, 그 예로 사용자 식별자 및 패스워드를 외부 인증 시스템으로 보안적으로 전송할 수 있다. 서버 (240C)가 다수의 외부 인증 시스템들을 통하여 사용자들을 인증하는 경우, 서버 (240C)는 각각의 외부 인증 시스템들을 이용하여, 사용자의 로그인 크리덴셜들을 인증하려고 할 수 있다.
블록 (522)에서, 사용자의 인증이 성공했다고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (524)으로 이동한다. 블록 (524)에서, 서버 (240C)는 사용자 식별자가 외부 인증 시스템을 통하여 인증되어야 한다는 표시와 함께, 외부 사용자 식별자를 로컬 사용자 데이터베이스에 추가한다. 서버 (240C)가 다수의 외부 인증 시스템들을 통하여 사용자들을 인증하는 경우, 서버 (240C)는 또한 특정 외부 인증 시스템의 표시를 저장할 수 있고, 이때 상기 특정 외부 인증 시스템을 통하여 사용자가 인증된다. 블록 (524)에서, 서버 (240C)는 관리 콘솔 애플리케이션 (246)로의 사용자 액세스를 승인한다. 예를 들면 서버 (240C)는 도 13에 대해 이하에서 논의된 사용자 인터페이스를 사용자에게 제공할 수 있다. 블록 (522)에서, 인증이 성공하지 못했다고 서버 (240C)가 결정한 경우, 서버 (240C)는 블록 (516)으로 이동한다. 블록 (516)에서, 서버 (240C)는 관리 콘솔 애플리케이션 (246)로의 사용자 액세스를 부정한다.
도 6은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템의 예시 워크플로워 (600)를 도시한다. 설명을 위해, 예시 워크플로워 (600)의 단계들은 일련으로, 또는 선형으로 일어나는 것으로서 본원에서 기술된다. 그러나, 예시 워크플로워 (600)의 다수의 단계들은 병행적으로 일어날 수 있다. 추가적으로, 예시 워크플로워 (600)의 다수의 단계들은 도시된 순서로 수행될 필요는 없고, 그리고/또는 예시 워크플로워 (600)의 블록들 중 하나 이상은 수행될 필요가 없다.
워크플로워 (600)는 사용자들 (230), 서버들 (240B 및 240C), 및 데이터베이스 서버 (250)를 포함할 수 있다. 서버 (240B)는 에이전트 (245B), 및 하나 이상의 구성요소들 (605), 그 예로 로컬 서비스들, 웹 서비스들, 및/또는 구성 정보를 포함할 수 있다. 서버 (240C)는 관리 콘솔 애플리케이션 (246) 및 관리 콘솔 서비스들 (248)을 포함할 수 있다. 데이터베이스 서버 (250)는, 관리 콘솔 데이터베이스 (254C) 및 데이터베이스 (254B)를 포함할 수 있는 적어도 하나의 데이터베이스 인스턴스 (252)를 포함할 수 있다.
단계 (610)에서, 서비스 그룹핑을 생성하기 위한 요청을 수신할 시에, 관리 콘솔 서비스들 (248)의 배치 관리 콘솔은 서비스 그룹핑의 코어 (core) 환경들을 등록할 수 있다. 단계 (620)에서, 관리 콘솔 서비스들 (248)의 배치 관리 콘솔은 예를 들면 에이전트 (245B)로부터 검색된 스크립들을 사용함으로써, 서비스 그룹핑에 대한 데이터베이스 (254B)의 데이터베이스 구성요소들을 생성한다.
단계 (630)에서, 관리 콘솔 서비스들 (248)의 배치 관리 콘솔은 예를 들면 관리 콘솔 데이터베이스 (254C)를 통하여, 등록된 데이터베이스 인스턴스 (252)에 데이터베이스 (254B)의 데이터베이스 구성요소들을 등록한다. 단계 (640)에서, 관리 콘솔 서비스들 (248)의 배치 관리 콘솔은 등록된 환경 상에 설치된 구성요소들을 이용하여, 서버 (240B) 상에서 서비스들을 생성한다. 예를 들면, 배치 관리 콘솔은 에이전트 (245B)에게 명령을 전송할 수 있고, 이때 상기 에이전트 (245B)에게 서버 (240B) 상에서 서비스 (244C)를 생성하라고 명령한다.
도 7은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 사용자 인증의 예시 워크플로워 (700)를 예시한다. 설명을 위해, 예시 워크플로워 (700)의 단계들은 일련으로, 또는 선형으로 일어나는 것으로서 본원에서 기술된다. 그러나, 예시 워크플로워 (700)의 다수의 단계들은 병행적으로 일어날 수 있다. 추가적으로, 예시 워크플로워 (700)의 단계들은 도시된 순서로 수행될 필요는 없고, 그리고/또는 예시 워크플로워 (700)의 블록들 중 하나 이상은 수행될 필요가 없다.
워크플로워 (700)는 CCS 애플리케이션들 (702), 데이터 단 (tier) (704), 애플리케이션 서비스들 단 (706), 및 외부 인증 시스템 (708)을 포함한다. 데이터 단 (704)은 사용자 테이블들, 역할 정의들 (roles definitions), 및 역할 맵핑들에 대한 사용자를 포함할 수 있다. 애플리케이션 서비스들 단 (706)은 사용자 관리 서비스, 역할 서비스, 인증 서비스, 및 역할 관리 서비스에 대한 그룹을 포함할 수 있다. 서비스들은 관리 콘솔 서비스들 (248)의 일부일 수 있으며, 그리고 서버 (240C) 상에서 실행될 수 있다. 외부 인증 시스템 (708)은 CCS에 연관된 사용자들의 하나 이상의 그룹들을 포함할 수 있다. 하나 이상의 실시예들에서, 외부 인증 시스템은 병원 또는 IDN의 Active Directory 서비스일 수 있다.
단계 (710)에서, 사용자 인증 서비스는 외부 인증 시스템 (708)으로부터 사용자 정보를 검색한다. 예를 들면, 사용자 인증 서비스는 외부 인증 시스템 (708)으로부터 사용자 식별자들 및 다른 사용자 식별 정보를 검색할 수 있다. 하나 이상의 구현예들에서, 사용자 인증 서비스는 외부 인증 시스템 (708)으로부터 패스워드들, 또는 다른 보안 크리덴셜 정보를 검색할 수 없다.
단계 (720)에서, 사용자 관리 서비스는 외부 인증 시스템으로부터 검색된 사용자들에 대한 프로파일들을 데이터 단 (704)의 사용자 테이블들 및 사용자-역할 맵핑에 생성할 수 있다. 예를 들면, 사용자 관리 서비스는 관리 콘솔 데이터베이스 (254C), 또는 데이터베이스 인스턴스 (252) 내의 또 다른 데이터베이스에 사용자 프로파일들을 저장할 수 있다. 단계 (730)에서, 인증 서비스는 도 5에 대해 상술된 바와 같이, 외부 인증 시스템 (708)을 통한 요구에 따라 사용자 크리덴셜들을 인증한다.
도 8은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 구성 정보를 제공하는 예시 사용자 인터페이스 (800)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (800)는 배치 구성 창 (810)을 포함할 수 있다. 배치 구성 창 (810)은, 사용자가 CCS (120)의 초기 배치를 위해 사용될 수 있는 정보, 그 예로 데이터베이스 인스턴스의 식별자를 제공하기 위해 사용자가 사용할 수 있는 하나 이상의 입력 필드들 및/또는 입력 선택기들을 포함할 수 있다. 동작 시, 서버 (240C)는 사용자가 새로운 배치를 생성하기 위해 요청할 시에, 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (800)를 제공할 수 있다. 하나 이상의 구현예들에서, 사용자 인터페이스 (800)를 통한 배치 정보를 제공하는 사용자에 응답하여, 서버 (240C)는 배치 데이터베이스, 그 예로 관리 콘솔 데이터베이스 (254C)를 생성할 수 있으며, 그리고 배치를 데이터베이스 인스턴스 (252)에 연관시킬 수 있다.
도 9는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 서버를 추가하는 예시 사용자 인터페이스 (900)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (900)는 추가 서버 창 (910)을 포함할 수 있다. 추가 서버 창 (910)은 배치에 추가된 서버, 그 예로 서버 (240A)에 관련된 정보를 제공하는 하나 이상의 입력 필드들 및/또는 입력 선택기들을 포함할 수 있다. 예를 들면, 추가 서버 창 (910)은 서버 (240A)의 이름, 또는 식별자를 제공하는 텍스트 필드 (text field), 및 서버 (240A)의 네트워크 어드레스를 제공하는 텍스트 필드를 포함할 수 있다. 동작 시, 서버 (240C)는 사용자가 서버를 배치에 추가시키기 위한 요청을 할 시에 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (900)를 제공할 수 있다. 하나 이상의 구현예들에서, 사용자는 임의의 서비스 그룹핑들, 또는 솔루션들이 생성될 수 있기 전에, 사용자 인터페이스 (900)를 통하여 서버 (240A)를 식별하는 것을 필요로 할 수 있다.
도 10은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에 서비스 그룹핑을 추가하는 예시 사용자 인터페이스 (1000)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1000)는 추가 솔루션 창 (1010)을 포함할 수 있다. 추가 솔루션 창 (1010)은, 배치에 추가되는 서비스 그룹핑 (또는 솔루션)에 관련된 정보, 그 예로 서비스 그룹핑의 이름, 및 서비스 그룹핑의 적어도 하나의 서비스를 호스팅할 수 있는 서버 (240A)의 식별자를 제공하는 하나 이상의 입력 필드들 및/또는 입력 선택기들을 포함할 수 있다. 동작 시, 서버 (240C)는 사용자가 배치에 새로운 서비스 그룹핑을 추가하기 위한 요청을 할 시에, 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (1000)를 제공할 수 있다. 하나 이상의 구현예들에서, 사용자 인터페이스 (1000)를 통한 서비스 그룹핑 정보를 제공하는 사용자에 응답하여, 서버 (240C)는 데이터베이스 스크립들을 검색하기 위해, 식별된 서버 (240A) 상의 에이전트 (245A)와 통신을 할 수 있으며, 그리고 서버 (240C)는 데이터베이스 인스턴스 (252)에서 데이터베이스 (254A)를 생성하기 위해 데이터베이스 스크립들을 사용할 수 있다.
도 11은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템 내의 서비스 그룹핑에 서비스를 추가하는 예시 사용자 인터페이스 (1100)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1100)는 추가 서비스 창 (1110)을 포함할 수 있다. 추가 서비스 창 (1110)은 배치의 서비스 그룹핑 (또는 솔루션)에 추가되는 서비스 (244A)에 관련된 정보, 그 예로 서비스 (244A)의 이름, 서비스 (244A)의 유형, 및 서비스 (244A)를 호스팅할 수 있는 서버 (240A)의 식별자를 제공하는 하나 이상의 입력 필드들 및/또는 입력 선택기들을 포함할 수 있다. 동작 시, 서버 (240C)는 사용자가 서비스 그룹핑에 새로운 서비스 (244A)를 추가하기 위한 요청을 할 시에, 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (1100)를 제공할 수 있다. 하나 이상의 구현예들에서, 사용자 인터페이스 (1100)를 통한 서비스 정보를 제공하는 사용자에 응답하여, 서버 (240C)는 서비스 (244A)를 생성하기 위해 식별된 서버 (240A) 상의 에이전트 (245A)와 통신을 할 수 있다.
도 12는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 서비스를 개시하는 예시 사용자 인터페이스 (1200)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1200)는 확인 창 (1210)을 포함할 수 있다. 확인 창 (1210)은, 선택된 서비스 (244A)가 시작되어야 하는 것을 확인하기 위해 사용자에 의해 사용될 수 있는 하나 이상의 입력 선택기들을 포함할 수 있다. 동작 시, 서버 (240C)는, 사용자가 존재하는 서비스 (244A)를 개시하기 위한 요청을 할 시에, 또는 새로운 서비스 (244A)가 서비스 그룹핑에 추가된 후에, 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (1200)를 제공할 수 있다. 하나 이상의 구현예들에서, 서비스 (244A)가 시작되어야 하는 것을 확인하는 사용자에 응답하여, 서버 (240C)는 서비스 (244A)를 시작 또는 개시하기 위해, 식별된 서버 (240A) 상의 에이전트 (245A)와 통신을 할 수 있다. 서비스 (244A)는, 데이터베이스들 (254A-B) 중 어느 것이 서비스에 의해 사용되어야 하는 것을 결정하기 시작할 시에 배치 데이터베이스, 그 예로 관리 콘솔 데이터베이스 (254C)와 통신을 할 수 있다.
도 13은 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 서비스 그룹핑들을 관리하는 예시 사용자 인터페이스 (1300)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1300)는, 서비스 그룹핑들이 배치되고 구성된 이후에 관리하기 위해, 사용자가 서비스 그룹핑을 선택하도록 할 수 있다. 사용자 인터페이스 (1300)는 서비스 그룹핑 선택기들 (1310A-C)을 포함할 수 있다. 서비스 그룹핑 선택기들 (1310A-C) 각각은 서로 다른 서비스 그룹핑 (또는 솔루션)을 식별할 수 있다. 사용자는 서비스 그룹핑 선택기들 (1310A-C)을 클릭 온함으로써, 식별된 서비스 그룹핑들 중 일부를 선택할 수 있다. 하나 이상의 구현예들에서, 서비스 그룹핑 선택기들 (1310A-C)은 또한 식별된 서비스 그룹핑들을 삭제 또는 제거하는 선택기를 포함할 수 있다. 동작 시, 서버 (240C)는, 사용자가 먼저 관리 콘솔 애플리케이션 (246) 상에 로그할 시에, 또는 사용자가 서비스 그룹핑을 생성한 이후에, 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (1300)를 제공할 수 있다. 하나 이상의 구현예들에서, 서비스 그룹핑 선택기들 (1310A-C) 중 하나를 선택하는 사용자에 응답하여, 서버 (240C)는 선택된 서비스 그룹핑을 위해 구성된 서비스들을 나열하는 사용자 인터페이스 (1400)를 사용자에게 제공할 수 있다.
도 14는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 서비스 그룹핑의 서비스들을 관리하는 예시 사용자 인터페이스 (1400)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1400)는 하나 이상의 구성 선택기들 (1410) 및 하나 이상의 서비스 선택기들 (1420A-B)을 포함할 수 있다. 사용자는 선택된 서비스 그룹핑의 하나 이상의 양태들을 구성하기 위해, 구성 선택기들 (1410) 중 하나를, 그 예로 필터들, 절차들, 큐들 등을 선택할 수 있다. 하나 이상의 실시예들에서, 서비스 선택기들 (1420A-B)은 선택된 서비스에 대한 다양한 동작들, 그 예로 선택된 서비스 편집, 선택된 서비스 제거 등을 수행하도록 선택될 수 있는 하나 이상의 그래픽 선택기들을 포함할 수 있다. 사용자 인터페이스 (1400)는 또한 사용자가 서비스들을 정지/시작하고, 새로운 서비스들을 추가하거나, 또는 선택된 서비스 그룹핑에 대한 구성 인터페이스들 중 일부를 볼 수 있도록 할 수 있다. 동작 시, 서버 (240C)는, 사용자가 예를 들면 사용자 인터페이스 (1300)를 통하여 서비스 그룹핑을 선택할 시에, 관리 콘솔 애플리케이션 (246)을 통하여 사용자에게 사용자 인터페이스 (1400)를 제공할 수 있다.
도 15는 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 메시지를 추적하는 예시 사용자 인터페이스를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1500)는 탭 선택기 (1505), 필터 섹션 (1510), 정제 섹션 (1520), 및 디스플레이 창 (1530)을 포함할 수 있다. 동작 시, 사용자는 사용자 인터페이스 (1500)를 사용하여, 서비스들 (244A-C)에 의해 전송된 메시지들을 추적할 수 있다. 예를 들면, 사용자는 메시지들을 필터링하기 위해 필터 섹션 (1510)에 필터 기준 (filter criteria)을 입력할 수 있으며, 그리고 사용자는 정제 섹션 (1520)에서 필터 기준을 정제할 수 있다. 사용자는 디스플레이 창 (1530)에서 필터링 및/또는 서칭을 매칭하는 메시지들을 볼 수 있다. 사용자는 예를 들면 메시지를 더블 클릭 온함으로써, 전체 메시지 콘텐츠를 보기 위해, 디스플레이 창 (1530)에서 메시지들의 일부를 선택할 수 있다. 사용자는 새로운 탭을 생성하기 위해, 탭 선택기 (1505)를 사용할 수 있고, 이때 상기 새로운 탭에서 제 2 메시지 추적 동작은 디스플레이 창 (1530)의 메시지 추적 동작과 독립적으로 수행될 수 있다.
도 16은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 메시지 추적을 필터렁하는 예시 사용자 인터페이스 (1600)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1600)는 고급 필터 창 (advanced filter window) (1610)을 포함할 수 있다. 고급 필터 창 (1610)은 고급 필터 기준 (1615A-B)을 포함할 수 있다. 사용자는 예를 들면 불 연산자들의 사용을 통해 국부적으로 다수의 필터 기준을 결합시킴으로써, 메시지를 추적하기 위해 고급 필터링을 수행하는 고급 필터 창 (1610)을 사용할 수 있다.
도 17은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 텍스트 포맷으로 메시지 추적을 서칭하는 예시 사용자 인터페이스 (1700)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1700)는 탭 선택기 (1505), 필터 정보 섹션 (1710), 하나 이상의 출력 포맷 탭 선택기 (1740), 서치 필드 (1720), 디스플레이 창 (1730), 및 매칭된 서치 결과물 (1735)을 포함한다. 디스플레이 창 (1730)은 텍스트 형태 (textual form)를 한 선택된 메시지, 그 예로 사용자 인터페이스 (1500)에서 사용자에 의해 선택된 메시지의 콘텐츠를 디스플레잉할 수 있다. 사용자는 디스플레이 창 (1730)에서 디스플레잉된 메시지의 콘텐츠 내에서 특정 용어 또는 용어들에 대한 서칭을 위해 사용자 인터페이스 (1700)의 서치 필드 (1720)를 사용할 수 있다. 예를 들면, 사용자는 서치 필드 (1720)에 서치 용어를 입력할 수 있으며, 그리고 메시지의 콘텐츠 내의 임의의 매칭된 서치 결과물들 (1735)은 디스플레이 창 (1730)에서 강조될 수 있다. 사용자는 출력 포맷 탭 선택기들 (1740) 중 하나를 선택함으로써, 서로 다른 형태 또는 포맷으로 서치 결과물들을 볼 수 있다.
도 18은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 그리드 포맷으로 메시지 추적을 서칭하는 예시 사용자 인터페이스 (1800)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1800)는 탭 선택기 (1505), 필터 정보 섹션 (1710), 출력 포맷 탭 선택기 (1840), 서치 필드 (1720), 디스플레이 창 (1830), 및 매칭 행 (matched row) (1835)을 포함한다. 디스플레이 창 (1830)은 선택된 메시지, 그 예로 사용자 인터페이스 (1500)에서 사용자에 의해 선택된 메시지의 콘텐츠를 데이터 그리드에 디스플레잉할 수 있다. 사용자는 디스플레이 창 (1830)에 디스플레잉된 메시지의 콘텐츠 내에서 특정 용어 또는 용어들에 대한 서칭을 위해 사용자 인터페이스 (1800)의 서치 필드 (1720)를 사용할 수 있다. 예를 들면, 사용자는 서치 필드 (1720)에 서치 용어를 입력할 수 있으며, 그리고 메시지의 콘텐츠 내의 임의의 매칭 행들 (1835)은 디스플레이 창 (1830)에서 강조될 수 있다. 동작 시, 사용자에게는, 사용자가 사용자 인터페이스 (1700)로부터 "Grid" 출력 포맷 탭 선택기 (1740)를 선택할 시에, 사용자 인터페이스 (1800)가 제공될 수 있다.
도 19는 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 헬스 레벨 (HL7) 포맷으로 메시지 추적을 서칭하는 예시 사용자 인터페이스 (1900)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (1900)는 탭 선택기 (1505), 필터 정보 섹션 (1710), 출력 포맷 탭 선택기 (1940), 서치 필드 (1720), 및 디스플레이 창 (1930)을 포함한다. 디스플레이 창 (1930)은 매칭 필드 (1935)를 포함하는 필드 윈도우 (1932), 및 매칭 세그먼트 (1937)를 포함하는 세그먼트 창 (1934)을 포함할 수 있다. 디스플레이 창 (1930)은 세그먼트에 의해 그룹핑되고 선택된 메시지, 그 예로서 사용자 인터페이스 (1500)에서 사용자에 의해 선택된 메시지의 HL7 필드들을 디스플레잉할 수 있다. 사용자는 필드 윈도우 (1932) 및 세그먼트 창 (1934) 내에서 특정 용어 또는 용어들에 대한 서칭을 위해 사용자 인터페이스 (1900)의 서치 필드 (1720)를 사용할 수 있다. 예를 들면, 사용자는 서치 필드 (1720)에 서치 용어를 입력할 수 있으며, 그리고 임의의 매칭 필드들 (1935) 및/또는 매칭 세그먼트들 (1937)은 디스플레이 창 (1930)에서 강조될 수 있다. 동작 시, 사용자에게는, 사용자가 사용자 인터페이스 (1700)로부터 "HL7" 출력 포맷 탭 선택기 (1740)를 선택할 시에, 사용자 인터페이스 (1900)가 제공될 수 있다.
도 20은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 확장 가능 마크업 언어 (XML) 포맷으로 메시지 추적을 서칭하는 예시 사용자 인터페이스 (2000)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (2000)는 탭 선택기 (1505), 필터 정보 섹션 (1710), 출력 포맷 탭 선택기 (2040), 서치 필드 (1720), 디스플레이 창 (2030), 및 매칭 요소 (2035)를 포함한다. 디스플레이 창 (2030)은 트리 뷰 (tree view)에서 선택된 메시지, 그 예로 사용자 인터페이스 (1500)에서 사용자에 의해 선택된 메시지의 XML 요소들 및 값들을 디스플레잉할 수 있다. 사용자는 디스플레이 창 (2030)에서 디스플레잉된 메시지의 요소들 또는 값들 내에서 특정 용어 또는 용어들에 대한 서칭을 위해 사용자 인터페이스 (2000)의 서치 필드 (1720)를 사용할 수 있다. 예를 들면, 사용자는 서치 필드 (1720) 및 임의의 매칭 요소들 (2035)에 서치 용어를 입력할 수 있으며, 그리고 해당 값들은 디스플레이 창 (2030)에서 강조될 수 있다. 동작 시, 사용자에게는, 사용자가 "XML" 출력 포맷 탭 선택기 (2040)를 선택할 시에, 사용자 인터페이스 (2000)가 제공될 수 있다.
도 21은 하나 이상의 구현예들에 따라 배치된 중앙 집중형 통신 시스템에서 멀티-탭 메시지를 추적하는 예시 사용자 인터페이스 (2100)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (2100)는 다수의 탭 선택기들 (1505), 필터 섹션 (1510), 정제 섹션 (1520), 및 디스플레이 창 (1530)을 포함할 수 있다. 동작 시, 사용자는 사용자 인터페이스 (2100)를 사용하여 서비스들 (242A-D)에 의해 전송된 메시지들을 추적할 수 있다. 사용자는 그 자신의 서치 기준을 각각 가질 수 있는 서로 다른 서치 탭들을 보기 위하여, 탭 선택기들 (1505)을 사용할 수 있다. 탭들은 동시에 서치 결과물들을 활동적으로 로딩할 수 있다.
도 22는 하나 이상의 구현예들에 따라 확장 가능 배치 시스템에서 사용자 관리를 위한 예시 사용자 인터페이스 (2200)를 예시한다. 도시된 구성요소들이 모두가 필요한 것은 아닐 수 있지만, 그러나 하나 이상의 구현예들은 도면에서 도시되지 않은 추가 구성요소들을 포함할 수 있다. 구성요소들의 배열 및 유형의 변화들은 본원에서 설명된 바와 같이 청구항의 기술 사상 또는 권리 범위로부터 벗어남 없이 이루어질 수 있다. 추가로, 서로 다른 또는 소수의 구성요소들이 제공될 수 있다.
사용자 인터페이스 (2200)는 사용자-역할 관리 섹션 (2210), 사용자 선택 섹션 (2220), 사용자 정보 섹션 (2230), 및 역할 연관 섹션 (2235)을 포함한다. 사용자, 그 예로 관리상의 사용자는 사용자-역할 관리 섹션 (2210)에서 사용자들 또는 역할들을 관리할지를 선택할 수 있다. 관리상의 사용자는 사용자 선택 섹션 (2220)에서 새로운 사용자를 변형하거나 추가하기 위해, 사용자를 선택할 수 있다. 관리상의 사용자는 선택된 사용자의 프로파일 또는 새로운 사용자의 프로파일을 사용자 정보 섹션 (2230)에 변형시킬 수 있으며, 그리고 관리상의 사용자는 역할 연관 섹션 (2235)에서 역할 연관들을 변형시킬 수 있다.
도 23은 본 기술의 하나 이상의 구현예들이 구현될 수 있는 전자 시스템 (2300)을 개념적으로 예시한다. 전자 시스템 (2300)은 예를 들면, 의료용 디바이스들 (210), 데이터 시스템들 (220), 데이터베이스 서버 (250), 또는 서버들 (240A-C), 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 서버, 스위치, 라우터, 기지국, 수신기, 폰, PDA (personal digital assistant), 또는 일반적인 임의의 전자 디바이스 중의 일부일 수 있거나, 또는 그 일부를 포함할 수 있다. 상기와 같은 전자 시스템은 다양한 유형들의 컴퓨터 판독 가능 매체들 및 다양한 다른 유형들의 컴퓨터 판독 가능 매체들에 대한 인터페이스들을 포함한다. 전자 시스템 (2300)은 버스 (2308), 프로세싱 유닛(들) (2312), 시스템 메모리 (2304), 판독 전용 메모리 (ROM) (2310), 영구 저장 디바이스 (2302), 입력 디바이스 인터페이스 (2314), 출력 디바이스 인터페이스 (2306), 및 네트워크 인터페이스 (2316), 또는 서브셋들 및 그의 변화물들을 포함한다.
버스 (2308)는 집합적으로 시스템, 주변부, 및 전자 시스템 (2300)의 다수의 내부 디바이스들을 통신적으로 연결시키는 칩셋 버스들 (chipset buses)을 나타낸다. 하나 이상의 구현예들에서, 버스 (2308)는 통신적으로 프로세싱 유닛(들) (2312)을, ROM (2310), 시스템 메모리 (2304), 및 영구 저장 디바이스 (2302)에 연결시킨다. 이러한 다양한 메모리 유닛들로부터, 프로세싱 유닛(들) (2312)은 명령어들을 검색하여 데이터를 실행 및 프로세싱함으로써, 본원의 프로세스들을 실행시킨다. 프로세싱 유닛(들)은 서로 다른 구현예들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다.
ROM (2310)은, 프로세싱 유닛(들) (2312) 및 전자 시스템의 다른 모듈들에 의해 필요로 하는 정적 데이터 및 명령어들을 저장한다. 다른 한편으로는, 영구 저장 디바이스 (2302)는 판독 및 기입 메모리 디바이스이다. 이러한 디바이스는 전자 시스템 (2300)이 오프될 시에도 명령어들 및 데이터를 저장하는 비-휘발성 메모리 유닛이다. 본원의 하나 이상의 구현예들은 대량 저장 디바이스 (그 예로 자기 또는 광 디스크 및 그의 해당 디스크 드라이브)를 영구 저장 디바이스 (2302)로서 사용한다.
다른 구현예들은 제거 가능한 저장 디바이스 (그 예로 플로피 디스크, 플래시 드라이브, 및 그의 해당 디스크 드라이브)를 영구 저장 디바이스 (2302)로서 사용한다. 영구 저장 디바이스 (2302)와 유사하게, 시스템 메모리 (2304)는 판독 및 기입 메모리 디바이스이다. 그러나, 저장 디바이스 (2302)와는 달리, 시스템 메모리 (2304)는 휘발성 판독 및 기입 메모리, 그 예로 랜덤 액세스 메모리이다. 시스템 메모리 (2304)는, 프로세싱 유닛(들) (2312)이 실시 시간 (runtime)에서 필요로 한 지스들 및 데이터 중 일부를 저장한다. 하나 이상의 구현예들에서, 본원의 프로세스들은 시스템 메모리 (2304), 영구 저장 디바이스 (2302), 및/또는 ROM (2310)에 저장된다. 이러한 다양한 메모리 유닛들로부터, 프로세싱 유닛(들) (2312)은 명령어들을 검색하여 데이터를 실행 및 프로세싱함으로써, 하나 이상의 구현예들의 프로세스들을 실행시킨다.
버스 (2308)는 또한 입력 및 출력 디바이스 인터페이스들 (2314 및 2306)에 연결된다. 입력 디바이스 인터페이스 (2314)는 사용자가 전자 시스템에 대해 정보를 송수신하고 명령들을 선택하도록 할 수 있다. 입력 디바이스 인터페이스 (2314)와 함께 사용된 입력 디바이스들은 예를 들면, 문자 숫자식 키보드들 및 포인팅 디바이스들 ("커서 제어 디바이스들"이라고도 함), 터치패드들, 트랙패드들, 또는 일반적으로 사용자 입력을 수신할 수 있는 임의의 디바이스를 포함한다. 출력 디바이스 인터페이스 (2306)는 예를 들면, 전자 시스템 (2300)에 의해 발생된 이미지들의 디스플레이를 가능케 한다. 출력 디바이스 인터페이스 (2306)와 함께 사용된 출력 디바이스들은 예를 들면, 프린터들 및 디스플레이 디바이스들, 그 예로 액정 디스플레이 (LCD), 발광 다이오드 (LED) 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 플렉시블 디스플레이, 플랫 패널 디스플레이, 고체 상태 디스플레이, 프로젝터, 또는 정보를 출력하는 임의의 다른 디바이스를 포함한다. 하나 이상의 구현예들은 입력 및 출력을 둘 다하는 디바이스들로서 기능하는 디바이스들, 그 예로 터치스크린을 포함할 수 있다. 이러한 구현예들에서, 사용자에게 제공된 피드백은 감각 피드백, 그 예로 시각적 피드백, 청각적 피드백 또는 촉각적 피드백의 임의의 형태일 수 있으며; 그리고 사용자로부터의 입력은 음향, 발언, 또는 촉각적 입력을 포함한 임의의 형태로 수신될 수 있다.
마지막으로, 도 23에 도시된 바와 같이, 버스 (2308)는 또한 네트워크 인터페이스 (2316)를 통하여 네트워크 (미도시)에 전자 시스템 (2300)을 결합시킨다. 이러한 방식으로, 컴퓨터는 컴퓨터들의 네트워크의 일부일 수 있다 (그 예로 "LAN" (local area network), "WAN" (wide area network), 또는 Intranet, 또는 네트워크들 중 네트워크 (network of networks), 그 예로 Internet). 전자 시스템 (2300)은 예를 들어 클라우드 시스템, 예를 들어 클라우드 저장 시스템으로부터 네트워크 인터페이스 (2316)를 통하여 정보를 검색 및/또는 수신할 수 있다. 전자 시스템 (2300) 중 일부 또는 모두의 구성요소들은 본원과 함께 사용될 수 있다.
하나 이상의 구현예들에서, 임의의 비율의 분모 및 분자는 스와핑될 수 있고, 예를 들어 2 개의 구역들의 비는 제 1 구역을 제 2 구역으로 나누거나, 제 2 구역을 제 1 구역으로 나눔으로써 결정될 수 있다. 그러나, 비율의 분모 및 분자가 스와핑되는 경우, 비율이 비교되는 임계값 역시 이에 따라 스와핑될 수 있다.
상술된 다수의 특징들 및 적용들은 컴퓨터 판독 가능 저장 매체 (대안적으로, 컴퓨터-판독 가능 매체들, 기계-판독 가능 매체들 또는 기계-판독 가능 저장 매체들로 지칭함) 상에 기록된 명령어들의 세트로서 규정되는 소프트웨어 프로세스들로 구현될 수 있다. 이러한 명령어들이 하나 이상의 프로세싱 유닛(들) (예를 들어, 하나 이상의 프로세서들, 프로세서들의 코어, 또는 다른 프로세싱 유닛들)에 의해 실행될 시에, 이들은 프로세싱 유닛(들)이 명령어들에서 표시된 작동들을 수행하도록 한다. 컴퓨터 판독 가능 매체들의 예시들은 RAM, ROM, 판독-전용 컴팩 디스크들 (CD-ROM), 기록 가능한 컴팩 디스크들 (CD-R), 재기입 가능한 컴팩 디스크들 (CD-RW), 판독-전용 디지털 다용도 디스크들 (예를 들어, DVD-ROM, 이중-층 DVD-ROM), 다양한 기록 가능한/재기입 가능한 DVD들 (예를 들어, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리 (예를 들어, SD 카드들, 미니-SD 카드들, 마이크로-SD 카드들 등), 자기 및/또는 고체 상태 하드 드라이브들, 초밀도 광 디스크들, 임의의 다른 광 또는 자기 매체들, 및 플로피 디스크들을 포함하지만, 이에 제한되지 않는다. 하나 이상의 구현예들에서, 컴퓨터 판독 가능 매체들은 무선 또는 유선 연결에 걸쳐 통과하는 반송파들 및 전자 신호들 또는 수명이 짧은 다른 신호들을 포함하지 않는다. 예를 들면, 컴퓨터 판독 가능 매체들은, 컴퓨터에 의해 판독 가능한 형태를 한 정보를 저장하는 유형의 물리적인 객체들에 대해 전적으로 제한될 수 있다. 하나 이상의 구현예들에서, 컴퓨터 판독 가능 매체들은 비-일시적인 컴퓨터 판독 가능 매체들, 컴퓨터 판독 가능한 저장 매체들, 또는 비-일시적인 컴퓨터 판독 가능 저장 매체들이다.
하나 이상의 구현예들에서, 컴퓨터 프로그램 제품 (이 역시, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립 또는 코드로 알려짐)은 컴파일러형 또는 해석형 언어들. 선언형 또는 절차형 언어들을 포함하여, 임의의 형태의 프로그래밍 언어로 기입될 수 있으며, 그리고 이는 독립형 프로그램으로서 또는 모듈, 구성요소, 서브라우틴, 객체 또는 컴퓨팅 환경에 사용되기에 적합한 다른 유닛으로서 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은, 꼭 필요한 것은 아닌지만, 파일 시스템 내의 파일에 대응할 수 있다. 프로그램은 다른 프로그램들 또는 데이터들을 홀딩하는 파일의 일부 (예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립들)에. 문제의 프로그램에 전용적인 단일 파일에, 또는 다수의 좌표 파일들 (예를 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 일부들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 사이트에 위치되거나 또는 다수의 사이트들에 걸쳐 배포되고 통신 네트워크에 의해 상호 연결된 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 실행되도록 배치될 수 있다.
상기의 논의가 주로 소프트웨어를 실행하는 마이크로프로세서 또는 멀티-코어 프로세서들을 의미하지만, 하나 이상의 구현예들은 하나 이상의 집적 회로들, 그 예로 ASIC들 (application specific integrated circuits) 또는 FPGA들 (field programmable gate arrays)에 의해 수행된다. 하나 이상의 구현예들에서, 상기와 같은 집적 회로들은 회로 그 자체 상에 저장된 명령어들을 실행한다.
기술 분야의 통상의 기술자가 인식할 수 있는 바와 같이, 본원에서 기술된 다양하게 예시된 블록들, 모듈들, 요소들, 구성요소들, 방법들 및 알고리즘들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 둘 다의 조합으로서 구현될 수 있다. 하드웨어 및 소프트웨어의 이러한 교환 가능성을 예시하기 위해, 다양하게 예시된 블록들, 모듈들, 요소들, 구성요소들, 방법들, 및 알고리즘들은 이들의 기능성에 대해 일반적으로 상술된 바와 같다. 상기와 같은 기능성이 하드웨어 또는 소프트웨어로서 구현되는 여부는, 전체 시스템 상에 부과된 설계 제약들 및 특정 적용에 따라 달라진다. 통상의 기술자는 각각의 특정 적용에 대해 변화하는 방식들로 기술된 기능성을 구현할 수 있다. 다양한 구성요소들 및 블록들은 본 기술의 권리 범위를 벗어남 없이 서로 다르게 모두 배치될 수 있다 (예를 들어, 서로 다른 순서로 배치될 수 있거나 서로 다른 방식으로 분할될 수 있음).
이해할 수 있는 바와 같이, 개시된 프로세스들에서 특정 순서 또는 블록들의 계층은 예시 접근법들의 예시이다. 설계 선호도에 기반하여, 이해할 수 있는 바와 같이, 프로세스들에서 특정 순서 또는 블록들의 계층은 재배치될 수 있거나, 또는 예시된 블록들 모두는 수행될 수 있다. 블록들 중 일부는 동시에 수행될 수 있다. 하나 이상의 구현예들에서, 멀티태스킹 및 병행적 프로세싱은 이점을 가질 수 있다. 게다가, 상술된 실시예들에서 다양한 시스템 구성요소들의 분리는 모든 실시예에서 상기와 같은 분리를 요구하는 것으로 이해되어서는 아니되며, 그리고 이해할 수 있는 바와 같이, 기술된 프로그램 구성요소들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합될 수 있거나, 다수의 소프트웨어 제품들에 패키징될 수 있다.
본 명세서 및 본 특허의 임의의 사항에서 사용된 바와 같이, 용어 "터치 인터페이스", "컴퓨터", "서버", "프로세서", 및 "메모리" 모두는 전자 또는 다른 기술적 디바이스들을 의미한다. 이러한 용어들은 사람 또는 사람 그룹들을 배제시킨다. 명세서의 목적을 위해서, 용어 "디스플레이" 또는 "디스플레잉"은 전자 디바이스 상에 디스플레잉되는 것을 의미한다.
본원에서 사용되는 바와 같이, 상기 항목들 중 일부를 분리시키는 용어 "및" 또는 "또는"과 함께, 선행하는 일련의 항목들 중 구절 "적어도 하나"는, 리스트의 각 부재 (예를 들어, 각각의 항목)보다 오히려 전체로서 리스트를 변경시킨다. 구절 "적어도 하나"는 나열된 각 항목 중 적어도 하나의 선택을 필요로 하기보다는; 오히려, 상기 구절이 상기 항목들 중 어느 하나 중 적어도 하나, 및/또는 상기 항목들의 임의의 조합 중 적어도 하나, 및/또는 상기 항목들 각각 중 적어도 하나를 포함하는 의미를 허용한다. 예를 들면, 구절 "A, B, 및 C 중 적어도 하나" 또는 "A, B, 또는 C 중 적어도 하나" 각각은 A 만, B 만 또는 C 만을; A, B, 및 C의 임의의 조합을; 및/또는 A, B, 및 C 각각 중 적어도 하나를 의미한다.
서술 용어 "하도록 구성되다", "하도록 동작되다", 그리고 "하도록 프로그램화되다"는 본원의 특정 유형 또는 무형의 변형을 암시하는 것이 아니라, 오히려 교환 가능하게 사용되는 것으로 의도된다. 하나 이상의 구현예들에서, 동작 또는 구성요소를 모니터링 및 제어하도록 구성된 프로세서는 또한 동작을 모니터링 및 제어하도록 프로그램화된 프로세서, 또는 동작을 모니터링 및 제어하도록 동작 가능한 프로세서를 의미할 수 있다. 이와 마찬가지로, 코드를 실행하도록 구성된 프로세서는 코드를 실행하도록 프로그램화되거나 코드를 실행하도록 동작 가능한 프로세서로서 구성될 수 있다.
본원에서 사용되는 바와 같이 용어, 그 예로 "상부", "하부", "앞면", "뒷면" 등은 참조의 본래 중력 프레임 (gravitational frame)보다는 오히려, 참조의 임의적인 프레임을 의미하는 것으로 이해하여야 한다. 이로써, 상부 표면, 하부 표면 앞 표면 및 뒷 표면은 참조의 중력 프레임에서 상부 방향, 하부 방향, 대각선 방향 또는 수평 방향으로 연장될 수 있다.
구절, 그 예로 "양태"는, 상기와 같은 양태가 본원 기술에 필수라는 것 또는 상기와 같은 양태가 본원 기술의 모든 구성들에 적용된다는 것을 의미하지 않는다. 양태에 관련된 본원은 모든 구성, 또는 하나 이상의 구성에 적용할 수 있다. 양태는 본원의 하나 이상의 예시들을 제공할 수 있다. 구절, 그 예로 "양태"는 하나 이상의 양태들 의미할 수 있고, 그 반대를 의미할 수 있다. 구절, 그 예로 "실시예"는 상기와 같은 실시예가 본원 기술에 필수라는 것 또는 상기와 같은 실시예가 본원 기술의 모든 구성에 적용한다는 것을 의미하지는 않는다. 실시예에 관련된 본원은 모든 실시예들 또는 하나 이상의 실시예들에 적용될 수 있다. 실시예는 본원의 하나 이상의 예시들을 제공할 수 있다. 구절, 그 예로 "실시예"는 하나 이상의 실시예들을 의미할 수 있고, 그 반대를 의미할 수도 있다. 구절, 그 예로 "구성"은, 상기와 같은 구성이 본원 기술에 필수라는 것 또는 상기와 같은 구성이 본원 기술의 모든 구성들에 적용된다는 것을 의미하지는 않는다. 구성에 관련된 본원은 모든 구성들, 또는 하나 이상의 구성들에 적용될 수 있다. 구성은 본원의 하나 이상의 예시들을 제공할 수 있다. 구절, 그 예로 "구성"은 하나 이상의 구성들을 의미할 수 있고, 그 반대를 의미할 수도 있다.
용어 "대표적인"은 "예시, 예, 또는 사례로 기능하는 것"을 의미하기 위해 본원에서 사용된다. "대표적으로" 또는 "예시로" 본원에서 기술된 임의의 실시예는 다른 실시예들에 비해 바람직하거나 이점이 있는 것으로 이해될 필요는 없다. 더욱이, 용어 "포함하다", "가지다" 등이 설명 또는 사항에도 사용되는 경우, 상기와 같은 용어는, 상기 사항에 전이어 (transitional word)로서 이용될 시에 "포함하다"로 해석되기 때문에, 용어 "포함하다"와 유사한 방식으로 포함되는 것으로 의도된다.
기술 분야에 통상의 기술자에게 알려지거나 추후에 알려지게 되는, 본원을 통해 기술된 다양한 양태들의 요소들에 대한 모든 구조 및 기능적 균등물들은 참조로서 본원에서 명확하게 병합되며, 그리고 상기 사항들에 의해 포함되는 것으로 의도된다.
이전의 설명은 본원의 통상의 기술자가 본원에서 기술된 다양한 양태들을 실시하는 것을 가능케 하도록 제공된다. 이러한 양태들에 대한 다양한 변형들은 기술 분야의 통상의 기술자에게 손쉽게 명백할 수 있으며, 그리고 본원에서 정의된 포괄적인 원리들은 다른 양태들에 적용될 수 있다. 이로써, 상기 사항들은 본원에서 제시된 양태들에 한정되는 것으로 의도됨이 아니라, 언어 사항들과 일관되게 완전한 권리 범위에 따라야 하고, 단수 요소에 대한 참조물은 별다른 언급이 없는 이상 "하나 및 단지 하나"를 의미하는 것이 아니라, 오히려 "하나 이상"을 의미하는 것으로 의도된다. 별다른 언급이 없는 이상, 용어 "일부"는 하나 이상을 의미한다. 남성 대명사 (예를 들어 그)는 여성 및 중성 (예를 들어, 그녀 및 그것)을 포함하며, 그 반대일 수 있다. 제목 및 부제는 만약 있다면, 단지 편의를 위해 사용될 수 있을 뿐, 본원을 제한시키지는 않는다.

Claims (30)

  1. 스케일러블 통신 시스템 (scalable communication system)의 확장 가능 배치를 위한 방법에 있어서,
    제 1 데이터베이스를 공유할 수 있는 서비스들에 대한 제 1 서비스 그룹핑을 중앙 집중형 컴퓨팅 시스템에서 생성하기 위해 제 1 요청을 제 1 컴퓨팅 디바이스로부터 수신하는 단계 - 상기 제 1 요청은 제 1 서버의 제 1 식별자를 포함함 -;
    상기 제 1 요청을 수신하는 것에 기반하여, 상기 제 1 서비스 그룹핑 및 상기 제 1 데이터베이스를 생성하는 제 1 스크립들을, 제 2 컴퓨팅 디바이스를 이용하여, 상기 제 1 식별자에 의해 식별된 제 1 서버 상에서 실행되는 제 1 에이전트로부터 검색하는 단계 - 상기 제 1 서비스 그룹핑은 상기 중앙 집중형 컴퓨팅 시스템의 외부에 상이한 복수의 아답터들과 연관되고 복수의 메시지 큐들 및 상기 제 1 데이터베이스를 공유하고, 상기 제 1 데이터베이스는 상기 제 1 서비스 그룹핑 내의 서비스들과 연관된 제 1 복수의 의료용 디바이스들에 의해 공유되고, 상기 제 1 서비스 그룹핑은, 상이한 데이터베이스 및 상이한 큐들을 공유하는 다른 의료용 디바이스들 또는 시스템들과 연관된 서비스들에 대한 적어도 하나의 다른 서비스 그룹핑과는 독립적으로 동작됨 -;
    상기 제 1 스크립들에 기반하여 프로세서가 상기 제 1 데이터 베이스를 발생시키는 단계;
    상기 제 1 서비스 그룹핑에 제 1 서비스를 추가하기 위해 제 2 요청을 수신하는 단계 - 상기 제 2 요청은 상기 제 1 서버의 제 1 식별자를 포함함 -;
    상기 제 1 서버 상에서 상기 제 1 서비스를 생성하기 위한 제 1 명령을, 상기 제 1 서버 상에서 실행되는 제 1 에이전트로 전송하는 단계; 및
    상기 제 1 서비스가 상기 제 1 서비스 그룹핑에 추가되었다라는 제 1 표시를 제공하는 단계를 포함하며,
    상기 서비스들은 상기 아답터들 사이에서 내부 메시징 포맷의 메시지들을 전송하도록 구성되고, 상기 제 1 복수의 의료용 디바이스들 각각은 상기 복수의 아답터들 각각의 아답터와, 그리고 상기 각각의 아답터에 의해 프로세싱된 메시지들의 지속적인 저장을 제공하는 각각의 메시지 큐와 연관되는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  2. 청구항 1에 있어서,
    상기 스케일러블 통신 시스템 확장 가능 배치 방법은:
    제 2 데이터베이스를 공유할 수 있는 서비스들에 대한 제 2 서비스 그룹핑을 생성하기 위해 제 3 요청을 수신하는 단계 - 상기 제 3 요청은 제 2 서버의 제 2 식별자를 포함함 -;
    상기 제 2 데이터베이스를 생성하는 제 2 스크립들을, 상기 제 2 서버 상에서 실행되는 제 2 에이전트로부터 검색하는 단계;
    상기 제 2 스크립들에 기반하여 프로세서가 상기 제 2 데이터 베이스를 발생시키는 단계;
    상기 제 2 서비스 그룹핑에 제 2 서비스를 추가하기 위해 제 4 요청을 수신하는 단계 - 상기 제 4 요청은 상기 제 2 서버의 제 2 식별자를 포함함 -;
    상기 제 2 서버 상에서 상기 제 2 서비스를 생성하기 위한 제 2 명령을, 상기 제 2 서버 상에서 실행되는 제 2 에이전트로 전송하는 단계; 및
    상기 제 2 서비스가 상기 제 2 서비스 그룹핑에 추가되었다라는 제 2 표시를 제공하는 단계를 더 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  3. 청구항 2에 있어서,
    상기 제 1 데이터베이스의 제 1 스키마 (schema)는 상기 제 2 데이터베이스의 제 2 스키마와는 다른, 스케일러블 통신 시스템 확장 가능 배치 방법.
  4. 청구항 3에 있어서,
    상기 스케일러블 통신 시스템 확장 가능 배치 방법은 상기 제 1 서비스 및 제 2 서비스를 관리하는 사용자 인터페이스를 제공하는 단계를 더 포함하며,
    상기 제 1 서비스는 병원 시스템에서 제 1 복수의 디바이스들에 의해 전송된 제 1 복수의 메시지들을 변형시키며, 그리고 상기 제 2 서비스는 상기 병원 시스템에서 제 2 복수의 디바이스들에 의해 전송된 제 2 복수의 메시지들을 변형시키는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  5. 청구항 4에 있어서,
    상기 제 1 서비스는 상기 제 1 복수의 메시지들을 상기 내부 메시징 포맷으로 변형시키며, 그리고 상기 제 2 서비스는 상기 제 2 복수의 메시지들을 상기 내부 메시징 포맷으로 변형시키는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  6. 청구항 5에 있어서,
    상기 사용자 인터페이스는 상기 제 1 복수의 메시지들 및 상기 제 2 복수의 메시지들을 추적하는 단일 인터페이스를 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  7. 청구항 6에 있어서,
    상기 제 1 서비스 및 제 2 서비스를 관리하는 사용자 인터페이스는 관리 데이터베이스를 액세스하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  8. 청구항 7에 있어서,
    단일 데이터베이스 인스턴스 (single database instance)는 상기 제 1 데이터베이스, 상기 제 2 데이터베이스, 및 상기 관리 데이터베이스를 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  9. 청구항 1에 있어서,
    상기 복수의 메시지 큐들은 메시지 수명-주기의 복수의 체크 포인트들을 나타내며, 상기 스케일러블 통신 시스템을 통해 전송된 메시지는 상기 복수의 메시지 큐들에서 메시지의 위치에 기반하여 추적될 수 있고, 메시지가 누락된 경우, 상기 메시지는 상기 메시지가 누락되고 상기 메시지의 수명-주기를 완료하는데 실패한 곳의 표시부를 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  10. 청구항 3에 있어서,
    상기 스케일러블 통신 시스템 확장 가능 배치 방법은:
    상기 제 2 서비스 그룹핑에 제 3 서비스를 추가하기 위해 제 5 요청을 수신하는 단계 - 상기 제 5 요청은 상기 제 2 서버의 제 2 식별자를 포함함 -;
    상기 제 2 서버 상에서 상기 제 3 서비스를 생성하기 위한 제 3 명령을, 상기 제 2 서버 상에서 실행되는 제 2 에이전트로 전송하는 단계; 및
    상기 제 3 서비스가 상기 제 2 서비스 그룹핑에 추가되었다라는 제 3 표시를 제공하는 단계를 더 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  11. 청구항 2에 있어서,
    상기 제 1 요청은 상기 서비스 그룹핑의 제 1 서비스 그룹핑 이름을 더 포함하며, 그리고 상기 제 1 데이터베이스의 제 1 이름은 상기 제 1 서비스 그룹핑 이름의 적어도 일부를 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  12. 청구항 11에 있어서,
    상기 제 1 데이터베이스의 제 1 이름의 접두사는 상기 제 1 서비스 그룹핑 이름을 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  13. 청구항 11에 있어서,
    상기 스케일러블 통신 시스템 확장 가능 배치 방법은,
    상기 제 1 데이터베이스 및 제 2 데이터베이스와는 다른 관리 데이터베이스에 상기 제 1 데이터베이스의 제 1 이름을 저장하는 단계를 더 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  14. 청구항 13에 있어서,
    상기 스케일러블 통신 시스템 확장 가능 배치 방법은,
    상기 제 1 서버 상에서 상기 제 1 서비스를 시작하기 위한 제 2 명령을, 상기 제 1 서버 상에 실행되는 제 1 에이전트에 전송하는 단계를 더 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  15. 청구항 14에 있어서,
    상기 스케일러블 통신 시스템 확장 가능 배치 방법은,
    상기 제 1 서비스가 상기 제 2 명령을 수신하는 것에 응답하여 상기 관리 데이터베이스로부터 상기 제 1 데이터베이스의 제 1 이름을 검색하는 단계를 더 포함하는, 스케일러블 통신 시스템 확장 가능 배치 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 기계에 의해 실행될 시에, 상기 기계가 스케일러블 통신 시스템의 확장 가능 배치를 위한 방법을 실행하도록 하는 명령어들을 구현하는 비-일시적인 기계 판독 가능 매체에 있어서, 상기 방법은:
    복수의 그룹들의 서비스들을 지원하는 데이터베이스 인스턴스에서 관리 데이터베이스를 발생시키는 단계;
    제 1 서버로부터 제 1 세트의 스크립들을 수신하고, 제 2 서버로부터 제 2 세트의 스크립들을 수신하는 단계;
    상기 제 1 세트의 스크립들을 사용하여 중앙 집중형 컴퓨팅 시스템에서 상기 복수의 그룹들의 서비스들 중 제 1 그룹의 서비스들을, 그리고 상기 데이터베이스 인스턴스에서 제 1 데이터베이스를 발생시키며, 그리고 상기 제 2 세트의 스크립들을 사용하여 상기 중앙 집중형 컴퓨팅 시스템에서 상기 복수의 그룹들의 서비스들 중 제 2 그룹의 서비스들을, 그리고 상기 데이터베이스 인스턴스에서 제 2 데이터베이스를 발생시키는 단계 - 상기 제 1 데이터베이스는 상기 제 2 데이터베이스와는 다른 스키마를 포함하고, 상기 제 1 그룹의 서비스들은 상기 중앙 집중형 컴퓨팅 시스템의 외부에 상이한 제 1 복수의 아답터들과 연관되고 제 1 복수의 메시지 큐들 및 상기 제 1 데이터베이스를 공유하고, 상기 제 1 데이터베이스는 상기 제 1 그룹의 서비스들과 연관된 제 1 복수의 의료용 디바이스들에 의해 공유되고, 상기 제 2 그룹의 서비스들은 상기 중앙 집중형 컴퓨팅 시스템의 외부에 상이한 제 2 복수의 아답터들과 연관되고 제 2 복수의 메시지 큐들 및 상기 제 2 데이터베이스를 공유하고, 상기 제 2 데이터베이스는 상기 제 2 그룹의 서비스들과 연관된 제 2 복수의 의료용 디바이스들에 의해 공유되고, 상기 제 1 그룹의 서비스들은 상기 제 2 그룹의 서비스들과는 독립적으로 동작됨 -;
    상기 제 1 그룹의 서비스들 중 제 1 서비스를 개시하기 위해, 상기 제 1 서버 상에서 실행되는 제 1 에이전트 프로세스에 제 1 명령을 전송하는 단계 - 상기 제 1 서비스는, 제 1 복수의 디바이스들로부터 수신된 제 1 복수의 메시지들을 변형시키기 위해 상기 제 1 데이터베이스에 액세스함 -;
    상기 제 2 그룹의 서비스들 중 제 2 서비스를 개시하기 위해, 상기 제 2 서버 상에서 실행되는 제 2 에이전트 프로세스에 제 2 명령을 전송하는 단계 - 상기 제 2 서비스는, 제 2 복수의 디바이스들로부터 수신된 제 2 복수의 메시지들을 변형시키기 위해 상기 제 2 데이터베이스에 액세스함 -; 및
    상기 제 1 서비스 및 제 2 서비스를 관리하는 사용자 인터페이스를 제공하는 단계를 포함하며,
    상기 제 1 및 제 2 그룹의 서비스들은 상기 제 1 및 제 2 복수의 아답터들 사이에서 내부 메시징 포맷의 메시지들을 전송하도록 구성되고, 상기 제 1 및 제 2 복수의 의료용 디바이스들 각각은 상기 제 1 또는 제 2 복수의 아답터들 각각의 아답터와, 그리고 상기 각각의 아답터에 의해 프로세싱된 메시지들의 지속적인 저장을 제공하는 각각의 메시지 큐와 연관되는, 비-일시적인 기계 판독 가능 매체.
  25. 청구항 24에 있어서,
    상기 제 1 서비스는 상기 제 1 복수의 메시지들을 내부 메시징 포맷으로 변형시키며, 그리고 상기 제 2 서비스는 상기 제 2 복수의 메시지들을 상기 내부 메시징 포맷으로 변형시키는, 비-일시적인 기계 판독 가능 매체.
  26. 청구항 24에 있어서,
    상기 방법은:
    상기 제 1 그룹의 서비스들 중 제 3 서비스를 개시하기 위해, 상기 제 1 서버 상에서 실행되는 제 1 에이전트 프로세스에 제 3 명령을 전송하는 단계 - 상기 제 3 서비스는, 제 3 복수의 디바이스들로부터 수신된 제 3 복수의 메시지들을 변형시키기 위해 상기 제 1 데이터베이스에 액세스함 -; 및
    상기 제 1 서비스, 상기 제 2 서비스 및 상기 제 3 서비스를 관리하는 사용자 인터페이스를 제공하는 단계를 더 포함하는, 비-일시적인 기계 판독 가능 매체.
  27. 청구항 24에 있어서,
    상기 사용자 인터페이스는 상기 제 1 복수의 메시지들 및 상기 제 2 복수의 메시지들을 추적하는 단일 인터페이스를 포함하는, 비-일시적인 기계 판독 가능 매체.
  28. 청구항 24에 있어서,
    상기 방법은:
    상기 제 1 그룹의 서비스들의 제 1 이름을 수신하는 단계를 더 포함하며,
    상기 제 1 데이터베이스의 제 1 데이터베이스 이름은 상기 제 1 그룹의 서비스들의 제 1 이름 중 적어도 일부를 포함하는, 비-일시적인 기계 판독 가능 매체.
  29. 청구항 28에 있어서,
    상기 제 1 서비스는, 상기 제 1 서비스가 개시될 시에, 상기 제 1 데이터베이스의 제 1 데이터베이스 이름을 검색하기 위해, 상기 관리 데이터베이스에 액세스하는, 비-일시적인 기계 판독 가능 매체.
  30. 청구항 24에 있어서,
    상기 제 1 및 제 2 복수의 메시지 큐들은 메시지 수명-주기의 복수의 체크 포인트들을 나타내며, 상기 스케일러블 통신 시스템을 통해 전송된 메시지는 상기 제 1 및 제 2 복수의 메시지 큐들에서 메시지의 위치에 기반하여 추적될 수 있고, 메시지가 누락된 경우, 상기 메시지는 상기 메시지가 누락되고 상기 메시지의 수명-주기를 완료하는데 실패한 곳의 표시부를 포함하는, 비-일시적인 기계 판독 가능 매체.
KR1020157014835A 2012-11-15 2013-11-12 확장 가능 배치 시스템 KR102201158B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/678,472 2012-11-15
US13/678,472 US8782284B2 (en) 2012-11-15 2012-11-15 Extensible deployment system
PCT/US2013/069698 WO2014078315A2 (en) 2012-11-15 2013-11-12 Extensible deployment system

Publications (2)

Publication Number Publication Date
KR20150084894A KR20150084894A (ko) 2015-07-22
KR102201158B1 true KR102201158B1 (ko) 2021-01-13

Family

ID=49681158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157014835A KR102201158B1 (ko) 2012-11-15 2013-11-12 확장 가능 배치 시스템

Country Status (10)

Country Link
US (2) US8782284B2 (ko)
EP (1) EP2932386A2 (ko)
JP (1) JP6404224B2 (ko)
KR (1) KR102201158B1 (ko)
CN (2) CN109597625B (ko)
AU (2) AU2013344935B2 (ko)
BR (1) BR112015011028B1 (ko)
CA (2) CA3138091C (ko)
MX (1) MX343641B (ko)
WO (1) WO2014078315A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853592B2 (en) * 2015-02-13 2020-12-01 Yoti Holding Limited Digital identity system
US10397216B2 (en) 2016-11-18 2019-08-27 Veritas Technologies Llc Systems and methods for performing secure backup operations
US10382429B2 (en) * 2016-11-18 2019-08-13 Veritas Technologies Llc Systems and methods for performing secure backup operations
US10936738B1 (en) * 2017-06-26 2021-03-02 Amazon Technologies, Inc. Moderator to extend application functionality
US10300373B2 (en) * 2017-09-08 2019-05-28 Niantic, Inc. Methods and systems for generating detailed datasets of an environment via gameplay
KR102278996B1 (ko) 2017-10-27 2021-07-20 주식회사 엘지에너지솔루션 실리콘-탄소 복합체 및 이를 포함하는 리튬 이차전지
US11997154B1 (en) * 2019-11-12 2024-05-28 Zive, Inc. Systems and methods for visualizing digital content
KR102292579B1 (ko) * 2020-01-15 2021-08-25 한국전자통신연구원 점검코드와 점검 스크립트를 이용한 하이브리드 기반의 취약점 점검 방법 및 이를 이용한 장치
CN111740836B (zh) * 2020-04-30 2023-03-24 北京奇艺世纪科技有限公司 一种安全登录方法、装置、电子设备以及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110446A (ja) 2002-09-19 2004-04-08 Yokogawa Electric Corp 医療情報管理システム
US20100325624A1 (en) 2009-06-22 2010-12-23 Stephen John Bartolo Method and System for Application Portability
US20120131354A1 (en) * 2009-06-22 2012-05-24 Barclays Bank Plc Method and system for provision of cryptographic services
US20120239824A1 (en) 2011-03-17 2012-09-20 Carefusion 303, Inc. Scalable communication system
US8321921B1 (en) 2007-12-21 2012-11-27 Emc Corporation Method and apparatus for providing authentication and encryption services by a software as a service platform

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
US6574655B1 (en) * 1999-06-29 2003-06-03 Thomson Licensing Sa Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers
US7673282B2 (en) * 2001-05-25 2010-03-02 International Business Machines Corporation Enterprise information unification
US7430590B1 (en) * 2002-04-17 2008-09-30 Everdream Corporation Method and system to manage services for multiple managed computer systems
US7230529B2 (en) * 2003-02-07 2007-06-12 Theradoc, Inc. System, method, and computer program for interfacing an expert system to a clinical information system
KR100538582B1 (ko) * 2003-07-14 2005-12-22 이지케어텍(주) 의료정보 제공 시스템에서의 의사결정지원 방법
US20060235899A1 (en) * 2005-03-25 2006-10-19 Frontline Systems, Inc. Method of migrating legacy database systems
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
CA2578466A1 (en) * 2007-01-12 2008-07-12 Truecontext Corporation Method and system for customizing a mobile application using a web-based interface
US20080222714A1 (en) * 2007-03-09 2008-09-11 Mark Frederick Wahl System and method for authentication upon network attachment
US20090064291A1 (en) * 2007-08-28 2009-03-05 Mark Frederick Wahl System and method for relaying authentication at network attachment
US20090178131A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management
US8291490B1 (en) * 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US8214329B2 (en) * 2008-08-26 2012-07-03 Zeewise, Inc. Remote data collection systems and methods
US8560568B2 (en) * 2008-08-26 2013-10-15 Zeewise, Inc. Remote data collection systems and methods using read only data extraction and dynamic data handling
US20110047056A1 (en) * 2008-10-11 2011-02-24 Stephen Overman Continuous measurement and independent verification of the quality of data and processes used to value structured derivative information products
JP2012511767A (ja) * 2008-12-12 2012-05-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オントロジーから関係データベースを作成するための方法及びモジュール
US20100228559A1 (en) * 2009-03-03 2010-09-09 Keith Wayne Boone Methods and apparatus to enable sharing of healthcare information
US8171337B2 (en) * 2009-03-30 2012-05-01 The Boeing Company Computer architectures using shared storage
US20110055899A1 (en) * 2009-08-28 2011-03-03 Uplogix, Inc. Secure remote management of network devices with local processing and secure shell for remote distribution of information
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8584221B2 (en) * 2009-10-23 2013-11-12 Microsoft Corporation Authenticating using cloud authentication
US8321671B2 (en) * 2009-12-23 2012-11-27 Intel Corporation Method and apparatus for client-driven profile update in an enterprise wireless network
US9686255B2 (en) * 2010-07-21 2017-06-20 Citrix Systems, Inc. Systems and methods for an extensible authentication framework
US8555362B2 (en) * 2011-07-20 2013-10-08 Symantec Corporation Lightweight directory access protocol (LDAP) proxy

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110446A (ja) 2002-09-19 2004-04-08 Yokogawa Electric Corp 医療情報管理システム
US8321921B1 (en) 2007-12-21 2012-11-27 Emc Corporation Method and apparatus for providing authentication and encryption services by a software as a service platform
US20100325624A1 (en) 2009-06-22 2010-12-23 Stephen John Bartolo Method and System for Application Portability
US20120131354A1 (en) * 2009-06-22 2012-05-24 Barclays Bank Plc Method and system for provision of cryptographic services
US20120239824A1 (en) 2011-03-17 2012-09-20 Carefusion 303, Inc. Scalable communication system

Also Published As

Publication number Publication date
CN104854564B (zh) 2018-10-16
US20140317727A1 (en) 2014-10-23
CA3138091C (en) 2024-04-16
WO2014078315A2 (en) 2014-05-22
MX2015005857A (es) 2015-09-24
CN104854564A (zh) 2015-08-19
CN109597625B (zh) 2021-06-25
MX343641B (es) 2016-11-15
US9892268B2 (en) 2018-02-13
CA2890195A1 (en) 2014-05-22
AU2013344935A1 (en) 2015-05-21
BR112015011028A2 (pt) 2017-07-11
CN109597625A (zh) 2019-04-09
CA3138091A1 (en) 2014-05-22
JP6404224B2 (ja) 2018-10-10
WO2014078315A3 (en) 2014-10-09
US20140137222A1 (en) 2014-05-15
CA2890195C (en) 2021-12-28
AU2013344935B2 (en) 2019-05-02
JP2016505921A (ja) 2016-02-25
BR112015011028B1 (pt) 2022-02-08
EP2932386A2 (en) 2015-10-21
US8782284B2 (en) 2014-07-15
AU2019202098B2 (en) 2020-07-23
KR20150084894A (ko) 2015-07-22
AU2019202098A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
KR102201158B1 (ko) 확장 가능 배치 시스템
US10210313B2 (en) Variable dose dispensing system
US20110166884A1 (en) System and method for automated patient history intake
US11264127B2 (en) Integrated multi-facility document management system
JP2007507046A (ja) 臨床システムインタフェースを含む医療デバイス管理システム
US20230402162A1 (en) Systems and methods for dispensing medications based on proximity to an electronic medication storage cabinet
Schilling et al. Scalable Architecture for Federated Translational Inquiries Network (SAFTINet) technology infrastructure for a distributed data network
JP2022539040A (ja) 臨床家のインタラクションに基づいた医療用デバイスの適応制御
US20160371443A1 (en) Team medical support device, method for controlling team medical support device, and team medical support system
Paton et al. Open source digital health software for resilient, accessible and equitable healthcare systems
CA2900666A1 (en) Pharmacy workflow management system
Zarowitz et al. Optimal medication therapy prescribing and management: meeting patients' needs in an evolving health care system
Ilie et al. A SOA Based E-Health Services Framework
Abayie Centralized patient health management system for hospitals and pharmacies in Ghana
Malta Sistema Open-Source de Registos Clínicos de Saúde em Doenças Tropicais
BE1020029A3 (nl) Een integratie methode ter bevordering van het zorgproces van een zorgnemer.
de Abreu Fontes Sistema Web para Optimização do Workflow em Serviço Radiologia
Sanzi et al. Toward Integrating Healthcare Data and Systems
Weiss et al. Infrastructure for Personalized
Evans et al. A Common Application Framework that is Extensible: CAF-É

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant