KR20010109081A - 파티션 처리 환경을 위한 이종 클라이언트 서버 방법,시스템 및 프로그램 제품 - Google Patents

파티션 처리 환경을 위한 이종 클라이언트 서버 방법,시스템 및 프로그램 제품 Download PDF

Info

Publication number
KR20010109081A
KR20010109081A KR1020010024555A KR20010024555A KR20010109081A KR 20010109081 A KR20010109081 A KR 20010109081A KR 1020010024555 A KR1020010024555 A KR 1020010024555A KR 20010024555 A KR20010024555 A KR 20010024555A KR 20010109081 A KR20010109081 A KR 20010109081A
Authority
KR
South Korea
Prior art keywords
partition
partitions
memory
client
shared memory
Prior art date
Application number
KR1020010024555A
Other languages
English (en)
Other versions
KR100458104B1 (ko
Inventor
템플조셉엘.3세
드질리오프랑크제이.
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20010109081A publication Critical patent/KR20010109081A/ko
Application granted granted Critical
Publication of KR100458104B1 publication Critical patent/KR100458104B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

이종(heterogeneous) 운영 체제들(operating system)을 구동하는 복수의 파티션(partitions) 간에 공유되는 기억 공간(storage space)이 구현된 파티션 처리 시스템(partitioned processing system)이 기술된다. 공유되는 기억 장소는 파티션들이 프로세스 레벨에서 상호 운영(inter-operate)하도록 한다. 공유 기억 장소는 파티션들이 공유된 기억 공간을 통해서 상호 운영하는 방법을 관리하는 규칙들을 정의하는 엔트리들을 갖는 테이블을 포함한다. 테이블 엔트리들은 파티션들과 무관하게 실행되는 독립형(stand-alone) 프로세스에 의해 또는 운영 체제 확장(extension)으로서 파티션에서 구현될 수 있는 메모리 브로커(memory broker)를 통해 형성될 수 있다. 파티션에서 실행되는 메모리 클라이언트는 메모리 브로커에 의해 테이블 엔트리들의 생성을 초기화할 수 있다. 파티션들의 프로세스들의 상호 운영은 양 운영 체제 이미지들에게 공지된 인터 프로세스 프로토콜의 확장에 의해 관리될 수 있다. 시스템의 다른 구현들은 공유된 기억 공간을 통해 요청 및 응답을 전달하는 시스템 내의 이종 클라이언트 서버 네트워크를 설정하는 것을 포함한다.

Description

파티션 처리 환경을 위한 이종 클라이언트 서버 방법, 시스템 및 프로그램 제품{HETEROGENEOUS CLIENT SERVER METHOD, SYSTEM AND PROGRAM PRODUCT FOR PARTITIONED PROCESSING ENVIRONMENT}
본 출원은 다음의 계류중인 U.S 특허 출원서에 관련된 것으로, 서로 참조될 수 있으며, 각각은 본 출원인에게 양도되었고 참조용으로 본 명세서에 인용되었다:
"파티션 처리 환경을 위한 파티션간 공유 메모리 방법, 시스템 및 프로그램 제품(Inter-Partition Shared Memory Method, System And Program Product For A Partitioned Processing Environment)", 발명자들은 J. L. Temple 외 다수이며, 일련 번호가 __________이고, 본 출원서와 동일한 날짜에 출원됨.
본 발명은 일반적으로 파티션 데이타 처리 시스템에 관한 것으로서, 특히, 시스템의 파티션들에서 다수의 다중 운영 체제 이미지들을 실행할 수 있는 유니프로세서(uniprocessor) 및 멀티프로세서 시스템들에 관한 것으로, 다수의 운영 체제들 각각은 동종(homogeneous) 파티션 처리 환경의 동일한 운영 체제의 이미지일 수 있고 또는 이종 파티션 처리 환경의 다수의 운영 체제 이미지들이 다수의 운영 체제들을 지원한다.
대기업들에 대한 대부분의 현대 매체는 한 때 집중된 "글래스 하우스(glass house)" 데이타 센터(data center)의 범위를 확장하기 위해서 기업들의 IT 기반 구조(infrastructure)를 시종 일관 발전시켜 왔으며, 실제로는 기업들의 조직의 경계를 넘어섰다. 상기 발전의 원동력은, 부분적으로, 현재까지 상이한 부문의 운영들을 상호 연결하고, 실시간에 기초한 공급자들과 고객들 간의 커뮤니케이션에 대한 필요성에 기인하며, 전자 상거래 및 상호 연결에 동반하는 액세스 및 상호 연결을 제공할 수 있도록 상당히 진행된 기업간 솔루션들(business-to-business solutions)을 위한 매체로서, 인터넷의 급속한 성장에 의해 촉진된다.
이러한 최근의 발전에 따라서 현대 기업들이 밀접하게 상호 연결된 시스템을 생성하기 위해서 다수의 상이한 운영 플랫폼들(operation platforms)을 동적으로 연결할 필요성이 수반된다. 기업들은 대개 비집중화된 구매 운영들, 애플리케이션 베이스(application-based) 요구 사항들 및 병합 관련 활동으로 인해 야기된 상이한 기술 플랫폼들의 증가와 같은 요소들에 의한 이종 정보 시스템 기반 구조를 특징으로 한다. 더우기, 공급자들, 파트너들 및 고객들 간의 실시간 기업 외부간(extra-enterprise) 연결을 용이하게 할 필요성은 이종 환경에서 연결을 제공하도록 더욱 강하게 동기를 부여한다.
일련의 고객 요구 사항들의 급속한 증가에 따라서, 정보 기술 제공자들은 기업 데이타 센터의 확장된 연결에 대한 상기 필요성들을 해결하는 데이타 처리 솔루션들을 고안하기 시작했다.
처음에는, 운영상 상호 의존성을 가질 수 있는 다양한 애플리케이션들에 대한 처리 지원을 동시에 제공하는 통합 시스템(intergrated system)을 공급할 필요성은 파티션 다중 처리 시스템들에 대한 시장 확장을 초래했다. 단일 물리적 컴퓨터 시스템 내에서 다수의 운영 체제 이미지들을 지원하는 기능을 제공하며, 한 때 메인프레임 컴퓨터의 유일한 영역이었던 파티션 시스템들은 광범위한 공급자들로 인해 가능하게 되었다. 예를 들면, UNIX 워크스테이션 제공자인 썬 마이크로시스템즈 주식회사(Sun Microsystems,Inc.)는 최근 1996년 12월 12일 출원되고 1999년 8월 3일 출판되어 썬 마이크로시스템즈 주식회사에 양도된 "구성가능한 하드웨어 시스템 도메인들을 갖는 멀티프로세서 컴퓨터(Multiprocessor Computer Having Configurable Hardware System Domains)"로 Drogichen 외 다수의 U.S.특허 제 5,931,938호에 상세히 기술된 서버 울트라 엔터프라이즈 10000(상표; Ultra Enterprise 10000)이라는 고단위(high-end) 시스템 파티션 형태를 제공하기 시작했다. 마찬가지로 다른 회사들도 이러한 형태의 시스템에 대한 관심을 제시하는 방향의 성명서(statement)를 발표했다.
이러한 산업 적용은, 한 기업의 다양한 컴퓨터 작업량들을 하나의(또는 소수의) 물리적 서버 컴퓨터들로 통합하고, 동적으로 재구성가능한 하드웨어 환경에서 테스트 및 생성 레벨 코드들을 동시에 실행하기 위한 시스템 파티션에 유익한 "시스템 내의 시스템들(systems within a system)"을 강조한다. 더우기, 상술된 상호 참조 특허 출원서들에 기술된 IBM (R) S/390(R) 컴퓨터 시스템과 같은 특정 파티션 다중 처리 시스템에서, 자원들(프로세서들, 메모리 및 I/O)은 시스템에서 실행되는 작업량(들)에 할당된 우선순위들에 따라 논리적 파티션들 내에서 또한 논리적 파티션들 간에 동적으로 할당될 수 있다(IBM 및 S/390은 IBM 주식 회사(International Business Machines Corporation)의 상표들로 등록되었다). 작업량 우선순위에 근거한 동적 자원 할당을 가능하게 하는 상기 기능은 역사적으로 데이타 센터 관리자들이 임시적인 작업량 스파이크들(spikes)을 관리하기 위해 과도한 양의 자원들을 예상 컴퓨터 작업량에 의도적으로 지정하게 하는 다년간의 용량 계획 문제점들을 다룬다.
상기 파티션 시스템들이 기업 전반의 상이한 시스템들을 포함하기 위해 데이타 센터의 확장을 용이하게 하는 반면, 현재 상기 솔루션들은 이종 또는 동종 파티션 플랫폼들을 단일 상호 운영 파티션 시스템으로 기능적으로 통합하기 위한 직접적인 메카니즘을 제공하지는 않는다. 실제로, 이러한 새로운 서버들이 단일 물리적 하드웨어 플랫폼 내의 운영 체제 이미지들의 통합을 가능하게 하는 반면, 서버의 파티션들 내에 상주하는 운영 체제들 간의 상호 운영(inter-operability)의 필요성을 충분히 다루지 않았다. 다양한 파티션들의 상이한 운영 체제들을 갖는 이종 시스템들에서 상호 운영에 대한 관심은 심화되었다. 또한, 상기 시스템들은 전형적으로 파티션들 간의 고 대역폭(high-bandwidth), 저 대기 시간(low-latency) 상호 연결을 가능하게 하는 이종 플랫폼들 간의 파티션간 자원 공유 형태를 다루지 않았다. 상호 운영에 대한 솔루션들을 통합한 시스템이 개별적인 운영 체제에서 상기 애플리케이션이 실행되는 동안 실제로 서로에 관해 지역적이라는 사실을 이용하도록 개별적인 파티션들에서 실행되는 프로세스들 간의 커뮤니케이션을 위해 더욱 용이하게 하기 때문에 상호 운영 문제를 다루는 것은 중요하다.
종래 기술의 상술된 문제점들 및 단점들이 해결되고 극복되며 나아가 유익한 특성들이 본 발명에 의해 제공되는데, 다수의 이종 운영 체제 이미지들을 지원할 수 있는 파티션 컴퓨터 시스템을 포함하고, 각각의 운영 이미지가 자신의 독립 가상 주소 관리를 유지하는 동안 상기 운영 체제 이미지들은 일련의 메모리 위치들을 동시에 공유할 수 있다. 상기 방식으로 공유된 메모리 자원은 각각의 공유 파티션들을 위한 시스템 메모리로서 처리될 수 있다.
본 발명의 한 실시예에 따르면, 공유된 메모리 자원은 다중 파티션들에서 실행되는 다수의 상호 운영 프로세스들을 위해 지정된 메모리 자원에 독립적으로 맵핑된다. 이러한 방식으로, 공통 공유 메모리 공간은 메모리 자원을 공유하는 각각의 파티션들의 가상 메모리 공간으로서 파티션 내에서 실행되는 프로세스들에게 맵핑되어, 파티션 내에서 할당된 메모리 자원으로서 나타난다. 따라서 메모리는 프로세스 실행의 정상적인 과정동안 기록 데이타를 판독하는 데에 유용하다.
다른 실시예에서, 공유된 메모리 자원은 상기 독립적인 맵핑이 가능하도록 적어도 두 파티션들에게 할당된다. 더우기, 다른 실시예에서 할당은 파티션의 프로세스들이 사용자 또는 프로세스 레벨 허가(permission)를 근거로 메모리를 공유하게 한다.
본 발명의 또 다른 실시예에서, 다수의 고객들(patrons)에게서 실행되는 프로세스들은 공유된 메모리 공간을 통해 서로 커뮤니케이션한다. 또 다른 실시예에서 시스템은 파티션들 내의 다양한 프로세스들을 공유된 메모리 공간에 연결시키기 위해 UNIX IPC 프로토콜의 확장과 같은 프로토콜을 포함한다.
다른 실시예에서, 파티션간 커뮤니케이션을 관리하는 규칙들은 공유된 기억 공간에서 보존되는 테이블에 저장된다. 테이블 엔트리들은 파티션들의 운영 체제 이미지들과 무관하게 실행되는 독립형 프로세스에 의해 구현될 수 있다. 또 다른 실시예에서, 테이블 엔트리들은 메모리 브로커에 의해 구현된다. 또 다른 실시예에서 메모리 브로커는 운영 체제 이미지의 확장으로서 파티션에서 구현될 수 있고, 대안으로, 하이퍼바이저 층(hypervisor layer)을 구현하는 실시예에서, 메모리 브로커는 파티션 하이퍼바이저의 일부로서 구현될 수 있다. 메모리 브로커는 다른 파티션들에서 구현되는 메모리 클라이언트의 요청에 따라 테이블 엔트리들을 설정한다.
다른 실시예에서 파이프(pipe) 또는 큐(queue)와 같은 파일 구조들(file structures)은 공유된 기억 공간에서 구현될 수 있다.
또 다른 실시예에서, 본 발명은 내부 결합 기능(internal couplingfacility)을 갖는 시스템에서 구현될 수 있다. 본 발명의 실시예에 따른 상기 시스템에서 공유된 기억 장소 또는 메모리 브로커는 내부 결합 기능으로 구현될 수 있다.
파티션들 중 하나에서 서버 프로세스를, 다른 파티션들에서 클라이언트 프로세스들을 구현함으로써, 파티션 시스템은 이종 단일 시스템 클라이언트 서버 네트워크를 구현할 수 있다. 상기 실시예에서, 클라이언트는 서버에게 요청을 하고 서버는 공유된 기억 공간을 통해 클라이언트 요청들에 응답한다. 요청들은 큐에 대기되고 응답들은 공유된 기억 장소에 버퍼된다.
도 1은 파티션 데이타 처리 시스템의 일반적인 개략도.
도 2는 구성된 파티션들 또는 하나 이상의 기판들을 갖는 물리적 파티션 처리 시스템을 도시한 도면.
도 3은 논리적 파티션 자원들이 각 파티션들에 전용으로 되어 있는 논리적 파티션 처리 시스템을 도시한 도면.
도 4는 논리적 파티션 자원들이 복수의 파티션 간에 동적으로 공유될 수 있는 논리적 파티션 처리 시스템을 도시한 도면.
도 5는 UNIX "인터 프로세스 커뮤니케이션(Inter Process Communications)"의 구조를 도시한 도면.
도 6은 독립형 유틸리티에 의해 로드된 구성 테이블에 따라 실제 메모리가 공유된 본 발명의 실시예를 도시한 도면.
도 7은 사업, 기술, 특권 사용자(privileged user)에 의해 정해진 우선순위 규칙들에 따라, 공유된 실제 메모리가 기계의 파티션에서 실행되는 브로커에 의해 할당되는 본 발명의 확장된 실시예를 도시한 도면.
도 8은 통합된 이종 클라이언트/서버 클러스터로서 본 발명의 실시예의 사용을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
104 : 조직
407 : 공유 메모리(가상 I/O) 및 하이퍼바이저 공간
505 : 커널
612 : 공유 메모리 구성 데이타 세트
613 : 독립형 공유 메모리 구성 프로그램
701 : 특권 사용자 프로세스
716 : 브로커
801 : 서버 프로세스
803 : 클라이언트 프로세스
본 발명의 구성 요소로서 간주되는 주제는 특히 본 명세서의 결론에 있는 청구항들에서 지적되고 명백하게 청구된다. 본 발명의 여타 목적들, 특징들 및 장점들은 첨부된 도면들과 연관되어 기술된 이하의 상세한 설명으로부터 명백해진다.
본 발명의 양호한 실시예의 특정한 양상들을 기술하기 전에, 파티션 처리 시스템의 기본 구성 요소들을 재검토하는 것이 도움이 될 것이다. 배경을 다시 상기함으로써 본 발명의 특정한 장점들이 파티션 시스템에서 성능을 향상시키기 위해서 어떻게 사용될 수 있는지를 이해하는데 도움이 될 것이다.
도 1을 참조하면, 파티션 처리 시스템(100)을 구성하는 기본 요소들의 실례가 도시된다. 시스템(100)은 연속적으로 주소화될 블록들 A 및 B 로서 설명을 위해 도시된 블록들로 분할될 수 있는 물리적 메모리 자원으로 구성된 메모리 자원 블록(101), 파티션 메모리 자원(101)과 일치시키기 위해서 논리적 또는 물리적으로분할될 수 있는 하나 이상의 프로세서들로 구성될 수 있는 프로세서 자원 블록(102), 및 마찬가지로 분할될 수 있는 입출력(I/O) 자원 블록(103)으로 구성된다. 상기 파티션 자원 블록들은 버스, 스위칭 매트릭스(switching matrix) 등을 포함할 수 있는 상호 연결 조직(fabric)(104)을 통해 상호 연결된다. 상호 연결 조직(104)은 프로세서(102B)와 메모리(101B)의 연결과 같이 파티션 내의 자원들을 상호 연결하는 기능을 제공할 수 있고, 또한 프로세서(102A)와 메모리(101B)의 연결과 같은 파티션들 간의 자원들의 상호 연결을 제공할 수 있음을 알게 될 것이다. 일련의 본 도면들이 두개의 파티션들 A 및 B를 갖는 시스템들을 도시하고 있지만, 상기 도면은 설명을 간단히 하기 위해 선택된 것이며, 더 나아가 본 발명은 유효 자원들 및 파티션 기술이 수용하는 만큼의 복수의 파티션을 구현하도록 구성될 수 있는 시스템들을 포함하도록 의도되었다는 것을 쉽게 알 것이다.
검사해 보면, 개별적으로 도시된 각각의 파티션들 A 및 B는 개별적인 데이타 처리 시스템의 구성 요소들, 즉, 프로세서들, 메모리 및 I/O들을 각각 포함한다는 것을 쉽게 알 수 있다. 이러한 사실은 파티션 처리 시스템들에게 자체적으로 독특한 "시스템 내의 시스템들"이라는 장점들을 제공한다는 특징이 있다. 실제로, 본 명세서에서 기술될 바와 같이, 현재 유용한 파티션 처리 시스템들 간의 주요한 특징은 시스템 자원들이 경계를 따라서 분할될 수 있고 자원들이 파티션들 간의 경계들을 가로질러 쉽게 이동될 수 있다는 점이다.
첫번째 사례는 파티션들을 분리하는 경계가 물리적 경계인 경우인데, 이는 썬 마이크로시스템즈 울트라 엔터프라이즈 10000에서 가장 잘 예증된다. 울트라엔터프라이즈 10000에서, 파티션들은 물리적 경계들을 따라 구분되고, 특히, 도메인 또는 파티션은 다수의 프로세서들, 메모리 및 I/O 장치들을 각각 포함하는 하나 이상의 물리적 시스템 기판들로 구성된다. 도메인은 하나 이상의 상기 시스템 기판들 및 그에 부착된 I/O 어댑터들로 정의된다. 도메인들은 순서대로 독점 버스(proprietary bus) 및 스위치 아키텍쳐에 의해 상호 연결된다. 도 2는 물리적 파티션 처리 시스템(200)을 구성하는 요소들의 하이 레벨 도면을 도시한다.
도 2를 참조하여 도시된 바와 같이, 시스템(200)은 두개의 도메인들 또는 파티션들 A 및 B를 포함한다. 파티션 A는 2개의 시스템 기판들(201A1및 201A2)로 구성된다. 파티션 A의 각각의 시스템 기판은 메모리(201A), 프로세서들(202A), I/O(203A) 및 상호 연결 매체(204A)를 포함한다. 상호 연결 매체(204A)는 시스템 기판(201A1)상의 구성 요소들이 서로 커뮤니케이션하게 한다. 마찬가지로, 파티션 B도 동일한 구성 처리 요소들: 메모리(201B), 프로세서들(202B), I/O(203B) 및 상호 연결 매체(204B)를 포함하는 단일 시스템 기판으로 구성된다. 파티션들로 그룹화된 시스템 기판들 외에, 시스템 기판들 각각에 결합되고 상이한 파티션들의 시스템 기판들의 상호 연결 뿐만 아니라 파티션 내의 시스템 기판들 간의 상호 연결도 가능하게 하는 상호 연결 조직(205)이 상주한다.
시스템 파티션의 다음 형태는 논리적 파티션이라는 용어로 명명되는데, 이러한 시스템들에게는 다양한 파티션들에게 자원들의 할당을 억제하는 물리적 경계가 존재하지 않고, 시스템이 오히려 물리적 위치와 무관하게 임의의 파티션들에게 할당될 수 있는 유효 자원들을 시스템이 갖는 것으로 간주될 수 있다. 이는 물리적 파티션 시스템 간의 특징으로서, 예를 들면, 소정의 시스템 기판(예를 들면, 시스템 기판(201A1)) 상의 모든 프로세서들은 필연적으로 동일한 파티션에 할당된다. IBM AS/400 시스템은 논리적 파티션 전용(dedicated) 자원 처리 시스템을 예증한다. AS/400에서 사용자는 물리적 위치와 관계없이 소정의 파티션의 프로세서들, 메모리 및 I/O를 포함할 수 있다. 예를 들면, 동일한 카드 상에 물리적으로 위치한 두개의 프로세서들은 상이한 두개의 파티션들에 대한 자원들로서 지정될 수 있다. 마찬가지로, 카드와 같은 소정의 물리적 패키지의 메모리 자원은 주소 공간의 일부가 한 파티션에 논리적으로 전용되고 나머지 주소 공간이 다른 파티션에 전용된다.
AS/400과 같은 논리적 파티션 전용 자원 시스템들의 특징은 파티션으로의 자원의 논리적 맵핑이 시스템의 수동적 재구성에 의해서만 변경될 수 있는 정적 자원 할당이라는 점이다. 도 3을 참조하면, 이는 프로세서(302A1)가 시스템 어디에서나 물리적으로 위치할 수 있고 파티션 A에 논리적으로 전용된 프로세서를 나타냄을 의미한다. 사용자가 상기 프로세서 자원을 파티션 B에 재맵핑하기를 원한다면, 프로세서는 상기 변화를 수용하기 위해 오프 라인이 되어서 수동으로 재맵핑된다. 예를 들면, 고정된 수의 프로세서들을 지원하는 시스템 기판과 같이, 물리적 파티션 경계의 한계에 의해 제한되지 않기 때문에, 논리적 파티션 시스템은 자원 파티션에 대해 월등한 그래뉼레리티(granularity)를 제공한다. 그러나, 상기 논리적 파티션전용 자원 시스템의 재구성이 이루어지면 반드시 파티션 재맵핑중인 자원의 운영을 방해한다. 따라서 상기 시스템이 물리적 파티션 시스템의 고유한 몇몇 한계들을 피하면서, 여전히 파티션들 간의 자원들의 정적 맵핑과 관련된 재구성 한계를 갖는다는 것을 알 수 있다.
이는 논리적 파티션 공유 자원 시스템을 고려하게 한다. 상기 시스템의 일례는 IBM S/390 컴퓨터 시스템이다. 논리적 파티션 공유 자원 시스템의 특징은 프로세서와 같은 논리적 파티션 자원이 하나 보다 많은 파티션에 의해 공유될 수 있다는 것이다. 이러한 특징은 논리적 파티션 전용 자원 시스템의 재구성 한계를 효과적으로 극복한다.
도 4는 논리적 파티션 자원 공유 시스템(400)의 일반적인 구성을 도시한다. 논리적 파티션 전용 자원 시스템(300)과 마찬가지로, 메모리(401), 프로세서(402) 및 I/O 자원(403)은 시스템의 물리적 위치와 관계없이 임의의 파티션(본 일례에서 A 또는 B)에 논리적으로 할당될 수 있다. 그러나, 시스템(400)에서 알 수 있는 바와 같이, 특정 프로세서(402) 또는 I/O(403)의 논리적 파티션 할당은 "하이퍼바이저"에서 실행되는 스케쥴러에 따라 가상의 프로세서들(406) 및 I/O(407) 드라이버들을 스왑함으로써 동적으로 변경될 수 있다. 프로세서들 및 I/O의 가상화(virtualization)는 파티션들이 자원들을 동적으로 공유하게 하도록 적절한 우선순위화 동작과 무관하게 전체 운영 체제 이미지들이 스왑되게 한다.
논리적 파티션 공유 자원 시스템(400)은 프로세서 및 I/O 자원을 공유하기 위한 메커니즘을 제공하지만, 메모리의 파티션간 공유는 현존 시스템들에 의해서만완전히 해결되지 않는다. 이것은 현존 파티션 시스템이 파티션들 간에 메모리를 공유할 수 없다는 것을 의미하지는 않는다. 실제로, 파티션들 간의 메모리 공유는 본 명세서에 기술된 파티션 시스템의 각각의 형태에서 발생한다. 그러나, 상기 구현들 중 어느 것도, 각각의 파티션들 내에서 또는 최적으로 각각의 파티션들 간에 발생하는 정상적인 프로세스 활동들의 과정에서 데이타 판독 및/또는 기입에 사용될 수 있도록, 파티션 각각의 고유(native) 메모리 자원에 맵핑될 수 있는 공유 메모리를 제공하지는 못한다. 따라서, 복수의 파티션이 공통 메모리 자원을 공유할 수 있더라도, 각각의 파티션 시스템들에 있어서, 공유된 메모리 공간은 메시지 전달, I/O 및 하이퍼바이저 메시지 버퍼들 같이 특정한 용도로 사용되어 왔다. 공유 메모리를 리포지터리(repository)라기 보다는 오히려 콘딧(conduit)으로서 간주할 때, 본질적으로 이러한 파티션들은 공유된 자원에게 네트워크 패러다임(paradigm)을 부과해 왔거나 또는 리포지터리 액세스에 대한 I/O 관련 프로토콜을 부과해 왔다. 그렇게 함으로써, 상기 설계들은 파티션 처리 시스템들의 "시스템 내의 시스템들"이라는 장점을 구현하는데 실패했다.
썬 마이크로시스템즈 울트라 엔터프라이즈 10000에 의해 대표되는 물리적 파티션 다중 처리 시스템들에 있어서, U.S 특허 제 5,931,938호에서 기술된 바와 같이, 시스템 메모리의 영역은 마스크 레지스터들(mask registers)을 적절히 설정함으로써 하드웨어 레벨에서 복수의 파티션에 의해 액세스될 수 있다. 썬 특허는 상기 기능을 사용하는 방법을 기술하고 있지 않으며, 썬 솔라리스 운영 체제(Sun Solaris operating system) 또한 내부적인 네트워크 연결들을 위한 메시지 버퍼로서 이외에는 그 기능을 사용하지 않는다.
IBM S/390에서, 결합 기능 구성 옵션들(Coupling Facility Configuration Options): 배치 페이지(Positioning Paper)(저작권 1998, IBM 주식회사) http://32.97.205.4:80/marketing/gf225042.html에서 상세히 기술된 바와 같이, 유사한 내부 클러스터 기능은 "통합 결합 기능(intergrated coupling facility)"으로서 일반적으로 주소화된 물리적 메모리를 사용하기 위해 기술된다. 공유된 기억 공간은 실제로 리포지터리이지만, 그에 대한 연결은 XCF로 명명되는 I/O 관련 장치 드라이버를 통해서 이루어진다. 마찬가지로 S/390의 "SAP" 프로세서들은 S/390 아키텍처의 I/O 서브시스템을 구현하기 위해서 다양한 파티션들에서 구동되는 운영 체제들을 가진 메모리 위치들을 공유한다. 상기 사례들 중 어느 사례에서도 공유 메모리를 애플리케이션 프로세스들이 사용 가능하게 할 수 없다.
대조적으로 본 발명은 공유 기억 장소가 애플리케이션의 주소 공간에 맵핑되어 사용되게 하기 위한 수단을 제공한다. 이는 공유 프로토콜이 주어지면, 공통 로드들(loads) 및 기억 장치들(stores)을 사용해서 이종 운영 체제들의 애플리케이션들이 직접적으로 공유된 공간에 판독 및 기입을 할 수 있다는 것을 의미한다. 이는 프로그래밍 패러다임을 네트워크 연결 의미(semantics)의 레벨로부터 애플리케이션 프로그래밍 의미로 상승시키는 장점을 갖는다. 다시 말하면, 본 발명은 지금까지 소켓(socket) 프로그래밍 또는 네트워크 게이트웨이들이 요구되었던 애플리케이션들을 쉘 스크립트들(shell scripts)이 통합하게 한다. 본 발명은 또한 이종 애플리케이션들의 통합이 데이타의 버퍼링이나 복사없이 공유된 기억 장소의 기입및 판독 이상으로 성취될 수 있기 때문에 성능면에서 추가적인 장점을 갖고, 더우기, 네트워크 코드가 지역 연결을 위해 최적화 될때 조차도 메모리 공유를 위한 경로 길이(path length)는 네트워크 프로토콜의 경로 길이보다 훨씬 짧다. 그러나, 본 기술 분야에 숙련된 자들은 지역 연결을 위해 최적화된 네트워크 코드를 포함한 네트워크 프로토콜들이 물리 층에서 기초 공유 메모리 인터페이스를 통해 유리하게 구현될 수 있다는 것을 알 것이다. 네트워크 지향 애플리케이션들의 통합을 고려할 때, 이동(migration)의 용이함을 위해 경로길이 축소를 트레이드 오프(trading off)하는 것이 유용하다.
본 발명이 어떻게 실현되는지를 이해하기 위해서, 운영 체제내의 인터 프로세스 커뮤니케이션들을 이해하는 것이 유용하다. 도 5를 참조하면 프로세스들 A(501) 및 B(503) 각각은 주소 공간들 메모리 A(502) 및 메모리 B(504)를 갖는다. 상기 주소 공간들은 커널(505)에 의한 시스템 호출의 실행에 의해서 할당된 실제 메모리를 갖는다. 커널은 자신의 주소 공간 메모리 K(506)를 갖는다. 제1 형태의 커뮤니케이션에서 프로세스 A 및 B는 메모리 K내 버퍼 생성에 의해서 커뮤니케이션하는데, 적절한 시스템 호출로 버퍼를 생성하고, 연결해서, 액세스한다. 상기 호출의 의미는 시스템마다 다르지만, 효과는 동일하다. 제2 형태의 커뮤니케이션에서 메모리 S(507)의 세그먼트는 주소 공간 메모리 A(502) 및 메모리 B(504)로 맵핑된다. 일단 상기 맵핑이 완료되면 프로세스들 A(501) 및 B(503)는 양 프로세스들이 이해하는 임의의 프로토콜에 따라 메모리 S(507)의 공유된 세그먼트를 자유롭게 사용할 수 있다.
본 발명은 도 6에 의해 대표된다. 도 6에서 프로세스들 A(601) 및 B(603)는 상이한 운영 체제 도메인들, 이미지들, 또는 파티션들, 파티션 1(614) 및 파티션 2(615)에 상주한다. 현재 커널 메모리들로서 메모리 K1(606) 및 메모리 K2(608)를 갖는 커널 1(605) 및 커널 2(607)가 있다. 메모리 S(609)는 현재 양 파티션 1 및 파티션 2에 의해 액세스 가능한 물리적 메모리의 공간이다. 상기 공유의 가능성은, 한계 없이 UE10000 메모리 맵핑의 구현 또는 S/390 하이퍼바이저의 구현, 또는 파티션에 의해 생성된 액세스에 대한 방해를 제한하는 임의의 다른 수단을 포함하는 임의의 구현에 따라 이루어질 수 있다. 다른 일례로서, 공유 메모리는 공유 공간을 정의하는 구성 레지스터에서 앞선 어드레스들을 가진 최상의 물리적 메모리 주소들로 맵핑될 수 있다.
관례대로(by convention), 메모리 S(609)는 메모리 K1 및 메모리 K2로 맵핑되는 커널 1 및 커널 2의 확장에 의해 사용되는 공유 세그먼트(610)를 갖는다. 이 세그먼트는 상술된 제1 형태에 따라 크로스 파티션 커뮤니케이션을 가능하게 하는 메모리 K1(606) 및 메모리 K2(608)로 맵핑되는 메모리(609)의 세그먼트들에 대한 정의 및 할당 테이블들을 유지하기 위해 또는 도 5를 참조하여 상술된 제2 형태의 커뮤니케이션에 따라 메모리 A(602) 및 메모리 B(604)로 맵핑되는 세그먼트 S2(611)를 정의하기 위해서 사용된다. 본 발명의 실시예에서 메모리 S는 제한된 크기이고 실제 기억 장소에 핀으로 연결되나, 수반된 페이지 관리 태스크들이 효과적으로 관리되는 한, 메모리가 크게 공유된 기억 공간을 사용하면서 핀으로 연결될 필요는 없다고 생각된다.
본 발명의 제1 실시예에서, 공유 기억 장소를 위한 정의 및 할당 테이블은 공유 메모리 구성 데이타 세트(Shared Memory Configuration Data Set)(SMCDS)(613)로부터 데이타를 판독하고 메모리 S(609)의 세그먼트 S1(610)에 테이블을 형성하는 공유 메모리 구성 프로그램(Shared Memory Configuration Program)(SMCP)(612)이라 명명된 독립형 유틸리티 프로그램에 의해 메모리 내에 설정된다. 따라서 커널들이 기억 장소의 어떤 세그먼트들을 공유하는지에 관한 할당 및 정의는 유틸리티에 의해 생성된 구성에 의해 고정되고 선정된다. 그 후, 다양한 커널 확장들은 파이프들, 메시지 큐들, 소켓들과 같은 다양한 인터 이미지(inter-image), 인터 프로세스(inter-process) 커뮤니케이션 구조들을 구현하기 위해 공유 기억 장소를 사용하고, 자신의 관례들 및 규칙들에 따라 몇몇 세그먼트들을 사용자 프로세스들에게 할당한다. 이러한 인터 프로세스 커뮤니케이션들은 IPC API들(618 및 619)을 통해 가능하다.
공유 기억 장소를 위한 할당 테이블은 이미지 식별자들(identifiers), 세그먼트 번호들, 그룹 ID(gid), 사용자 ID(uid), 및 허가 비트들(permission bits)로 구성된 엔트리들로 구성된다. 유지 비트(sticky bit)는 보존되고 실시예에서 1로 가정된다. 세그먼트를 사용하는 각 그룹, 사용자, 및 이미지는 테이블에 엔트리를 갖는다. 관례에 의해 모든 커널들은 테이블 판독은 할 수 있으나 어떤 커널들도 기입은 할 수 없다. 초기화에서 커널 확장은 구성 테이블을 판독하고, 크로스 이미지 인터 프로세스 커뮤니케이션이 다른 프로세스들에 의해 요청될 때 사용하기 위해서 자신의 할당 테이블을 생성한다. 몇몇 또는 모든 할당된 공간은 파이프들,파일들 및 메시지 큐들의 구현을 위해서 커널에 의해 사용되고, 인터 프로세스 커뮤니케이션들을 요청하는 다른 프로세스들의 요청에 따라 생성한다. 공유 공간의 영역은 직접 크로스 시스템 메모리 공유를 위해서 더 나아간 커널 확장에 의해 다른 프로세스들의 주소 공간들로 맵핑된다.
공유된 메모리의 할당, 사용, 및 가상 주소 공간들로의 맵핑은 자신의 관례들 및 변환 프로세스들에 따라 각 커널들에 의해 행해지지만, 기초(fundamental) 하드웨어 로킹(locking) 및 메모리 공유 프로토콜들은 시스템 나머지의 기초가 되는 공통 하드웨어 설계 구조에 의해서 구동된다.
하이 레벨 프로토콜들은 발생하는 커뮤니케이션을 위해 일반적이어야 한다. 양호한 실시예에서는 각각의 다양한 운영 체제 이미지들이 크로스 이미지로서 요청을 식별하는 확장을 갖는 UNIX IPC(Inter Process Communications) API를 구현하게 함으로써 이루어진다. 이러한 확장은 파라미터 또는 개별적인 새로운 식별자/명령(command) 이름에 의해 이루어질 수 있다.
도 7에서 도시된 본 발명의 다른 실시예에서, 커널 1(705)은 특권 사용자 프로세스(701)에 의해 결정된 보안, 사업, 및 자원 할당 규칙들에 따라 공유된 공간의 할당을 제어하는 메모리 브로커로서 기능을 하는 확장(716)을 갖는다. 커널 2 내지 커널 N(715 내지 718) 각각은, 브로커(716)에 의해 할당된 공유 메모리에 연결되어서 상기 메모리를 사용할 수는 있지만 임의의 공유된 메모리를 할당할 수는 없는 메모리 클라이언트로서 기능을 하는 확장들(717)을 갖는다. 본 발명의 다른 실시예에서, 브로커는 독점 환경에서 구현되고 적어도 몇몇의 클라이언트들은 개방된 소스 환경에서 구현된다. 본 발명의 다른 실시예에서 브로커는 파티션 하이퍼바이저에서 구현되고 클라이언트들은 공유된 메모리를 사용하는 다양한 운영 체제에 의해 구현된다. 이러한 모든 실시예에서 공유된 메모리의 할당은 이제 특권 사용자 프로세스(701)에 의해 정의된 규칙들에 따라, 클라이언트들에 의해 브로커에 대한 요청들에 근거하여 동적으로 행해진다.
실시예와 무관하게, 본 발명은 이하의 요소들을 포함할 것이다: 기초 공통 하드웨어 메모리 공유 프로토콜(메모리 S(609)를 고유하게 정의함). 메모리 할당 및 가상 주소 맵핑(616, 617)을 위한 이종 커널 확장들의 세트. 공유된 메모리(618, 619)를 통한 커뮤니케이션을 위한 하이 레벨 프로토콜들의 공통 세트.
본 발명의 상이한 실시예에서 공유된 기억 장소 기능은 S/390 결합 기능으로서 구현될 수 있다. 이 사례에서 파이프, 메시지 큐 및 파일들과 같은 IPC 기능들은 결합 기능 아키텍처 내의 구조들로서 생성될 수 있다. 본 명세서에서 구조들을 관리하는 주기들은 커널 확장보다는 오히려 결합 기능에서 실행된다. 이는 변환 주기들(conversion cycles)이 결합 기능내에서 설정되기 때문에, ASCII 및 EBCDIC 파티션들 간의 파이프들과 같은 몇몇 구조들에 대한 장점을 입증할 수 있다. 또한 공유된 파이프, 뷰 및 파일 구조들이 실제 메모리를 공유하기 위한 하드웨어 한계를 넘어서 크게 생성되게 한다. 현재 정의된 바와 같이 결합 기능 기억 장소는 바이트 주소화 가능한 "실제 기억 장소(real storage)"로 맵핑되지 않고 "페이지(page)" 주소화 가능한 방식으로 결합 기능의 실제 기억 장소를 주소화하는 링크에 의해 연결된 것으로 정의된다. 그러나 결합 기능은 "내부 결합기능(Internal Coupling Facility)"으로 구현될 때, 상술된 파티션은 효과적이고 상기 사례에서 본 발명의 공유된 기억 장소 및 실제 브로커 커널 확장은 상기 파티션에서 실행될 수 있다.
일반적인 용도의 메모리 공유된 기능인 본 발명은 여러 방식으로 사용될 수 있다. 상기 구현들의 공통적인 주제는 비연결된(non-networked) 또는 단일 물리적 시스템 세트에서 구현되는 이종 클라이언트-서버 아키텍처의 제공을 가능하게 한다는 것이다. 역사적으로, 단일 물리적 시스템에서 구현된 클라이언트-서버 시스템들은 동종 시스템들, 즉, 단일 운영 체제 플랫폼에서 구현된 시스템들이다. 예를 들면, DB2 데이타베이스에 액세스하기 위한 OS/390용의 웹스피어(Websphere) 애플리케이션 서버를 구현하는 시스템은 웹 서버로부터의 데이타베이스 요청을 이행하기 위해서 클라이언트(웹 서버) 및 서버(데이타베이스 서버)를 활용한다. 상기 구현은 OS/390 운영 체제 내에 완전히 상주한다. 마찬가지로, 이종 클라이언트 서버 아키텍처들은 네트워크 구현을 요청하는데, 인터넷이 이종 클라리언트-서버 아키텍처의 가장 명백하고 주목할 만한 일례이다. 단일 파티션 시스템 내의 애플리케이션 레벨 공유 메모리 인터페이스를 인에이블함으로써, 본 발명은 네트워크 구현을 요청하지 않고 이종 클라이언트-서버 시스템을 구현할 수 있다.
도 8을 참조하면 상기 이종, 단일 시스템, 클라이언트 서버 구현의 일례가 도시되어 있다. 도 7과 관련된 요소들이 상세히 도시된 도 8에서, 프로세스 A(801)는 OS/390 운영 체제를 구동하는 파티션(814)에서 실행되는 데이터베이스 서버(예를 들면 DB2)이다. 이 서버 프로세스(801)는 예를 들면 리눅스 운영 체제를구동하는 파티션(815)에서 실행되는 아파치 웹 서버 같은 서버 프로세스 B(803)를 가진 메모리 공간 S2(811)를 공유한다. 웹 서버(803)는 데이타베이스 서버(801)에 요청을 하는 클라이언트이고 데이타베이스 서버(801)는 순서대로 이러한 요청들을 이행한다. 요청 및 응답의 커뮤니케이션은 공유된 메모리 공간 S2(811)를 통해 발생하고, 효과적으로 크로스 시스템 호출(cross-system call)(즉, 단일 시스템 내의 호출)이 된다. 따라서, 이종 클라이언트-서버 시스템은 네트워크 환경의 부재중에 제공된다.
상술된 구성은 단일 시스템 클라이언트-서버 모델을 이용하는 다수의 발명의 구현들을 초래한다. 상술된 구성을 구현하는 제1 방법은 다양한 클라이언트들이 요청들을 추가하도록 하는 공유된 기억 공간에 서버 작업 큐(812)를 배치하는 것이다. 따라서 "원거리(remote)" 클라이언트들을 위한 복귀 데이타 버퍼들(813)은 또한 클라이언트들이 상기 버퍼들에 입력된 정보에 액세스할 수 있도록 공유된 메모리 공간에 있어야 한다. 이러한 구현들은 설명 이외의 방법으로 제공될 수 있고 반면에 새로운 발명이 한계로서 고려되지 않는다. 실제로 본 기술 분야에 숙련된 자들은 단일 시스템 패러다임 내에 이종 클라이언트-서버 시스템들의 상이한 형태들을 구현하는 다양한 방식들로 본 구성을 형성할 수 있고 형성할 것이라는 것이 쉽게 이해될 것이다.
본 발명이 자세히 기술되었는데, 이는 신규한 것으로 간주되고, 특허 명세서를 통한 본 발명에 대한 보호가 요구되는데, 이는 이하의 청구항들에 제시된다.
본 발명은 다수의 이종 운영 체제 이미지들을 지원할 수 있는 파티션 컴퓨터 시스템을 제공하는데, 각각의 운영 이미지는 자신의 독립 가상 주소 관리를 유지하면서, 상기 운영 체제 이미지들은 일련의 메모리 위치들을 동시에 공유할 수 있다. 상기 방식으로 공유된 메모리 자원은 각각의 공유 파티션들을 위한 시스템 메모리로서 처리될 수 있다.

Claims (12)

  1. 복수의 파티션 및 상기 파티션들 내에 상주하는 복수의 이종(heterogeneous) 운영 체제 이미지들, 및 시스템 메모리를 가지며, 상기 파티션들 간의 파티션간 메모리 공유(inter-partition memory sharing) 기능을 포함하는 파티션 컴퓨터 시스템에서, 클라이언트 서버 시스템을 구현하기 위한 방법에 있어서,
    제1 파티션에서 클라이언트 애플리케이션을 구현하는 단계; 및
    제2 파티션에서 서버 애플리케이션을 구현하는 단계
    를 포함하고, 상기 제1 및 제2 파티션은 상이한 운영 체제들을 구현하는 클라이언트 서버 시스템 구현 방법.
  2. 제1항에 있어서, 상기 클라이언트 애플리케이션은 상기 파티션간 공유 메모리를 사용하여 요청을 하고, 상기 서버 애플리케이션은 상기 파티션간 공유 메모리를 사용하여 응답을 하는 클라이언트 서버 시스템 구현 방법
  3. 제2항에 있어서, 상기 서버 애플리케이션에 대한 상기 요청은 상기 파티션간 공유 메모리의 큐에 상주하고, 상기 클라이언트에 대한 상기 응답은 상기 파티션간 공유 메모리의 데이타 버퍼에 상주하는 클라이언트 서버 시스템 구현 방법.
  4. 제2항에 있어서, 상기 복수의 파티션의 복수의 클라이언트 애플리케이션은상기 서버 애플리케이션에 대해 요청을 하는 클라이언트 서버 시스템 구현 방법.
  5. 복수의 파티션 및 상기 파티션들 내에 상주하는 복수의 이종 운영 체제 이미지들, 및 시스템 메모리를 가지며, 상기 파티션들 간의 파티션간 메모리 공유 기능을 포함하는 파티션 컴퓨터 시스템에서, 클라이언트 서버 시스템에 있어서,
    제1 파티션에서 구현되는 클라이언트 애플리케이션; 및
    제2 파티션에서 구현되는 서버 애플리케이션
    을 포함하고, 상기 제1 및 제2 파티션은 상이한 운영 체제들을 구현하는 클라이언트 서버 시스템.
  6. 제5항에 있어서, 상기 클라이언트 애플리케이션은 상기 파티션간 공유 메모리를 사용하여 요청을 하고, 상기 서버 애플리케이션은 상기 파티션간 공유 메모리를 사용하여 응답을 하는 클라이언트 서버 시스템.
  7. 제6항에 있어서, 상기 서버 애플리케이션에 대한 상기 요청은 상기 파티션간 공유 메모리의 큐 내에 상주하고, 상기 클라이언트에 대한 상기 응답은 상기 파티션간 공유 메모리의 데이타 버퍼에 상주하는 클라이언트 서버 시스템.
  8. 제6항에 있어서, 상기 복수의 파티션 내의 복수의 클라이언트 애플리케이션은 상기 서버 애플리케이션에 대해 요청을 하는 클라이언트 서버 시스템.
  9. 디지탈 처리 장치에 의해 판독 가능하며, 상기 디지탈 처리 장치들에 의해 실행되어, 복수의 파티션 및 상기 파티션들 내에 상주하는 복수의 이종 운영 체제 이미지들, 및 시스템 메모리를 가지며, 상기 파티션들 간의 파티션간 메모리 공유 기능을 포함하는 파티션 컴퓨터 시스템에서, 클라이언트 서버 시스템을 구현하기 위해 사용되는 방법 단계들을 실행할 수 있는 명령들의 프로그램을 실제로 구현한 프로그램 저장 장치에 있어서,
    상기 방법은,
    제1 파티션에서 클라이언트 애플리케이션을 구현하는 단계; 및
    제2 파티션에서 서버 애플리케이션을 구현하는 단계
    를 포함하고, 상기 제1 및 제2 파티션은 상이한 운영 체제들을 구현하는 프로그램 저장 장치.
  10. 제9항에 있어서, 상기 클라이언트 애플리케이션은 상기 파티션간 공유 메모리를 사용하여 요청을 하고, 상기 서버 애플리케이션은 상기 파티션간 공유 메모리를 사용하여 응답을 하는 프로그램 저장 장치.
  11. 제10항에 있어서, 상기 서버 애플리케이션에 대한 상기 요청은 상기 파티션간 공유 메모리의 큐 내에 상주하고, 상기 클라이언트에 대한 상기 응답은 상기 파티션간 공유 메모리의 데이타 버퍼에 상주하는 프로그램 저장 장치.
  12. 제10항에 있어서, 상기 복수의 파티션 내의 복수의 클라이언트 애플리케이션은 상기 서버 애플리케이션에 대해 요청을 하는 프로그램 저장 장치.
KR10-2001-0024555A 2000-05-31 2001-05-07 파티션 처리 환경을 위한 이종 클라이언트 서버 방법,시스템 및 프로그램 제품 KR100458104B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58350100A 2000-05-31 2000-05-31
US09/583,501 2000-05-31

Publications (2)

Publication Number Publication Date
KR20010109081A true KR20010109081A (ko) 2001-12-08
KR100458104B1 KR100458104B1 (ko) 2004-11-26

Family

ID=24333360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0024555A KR100458104B1 (ko) 2000-05-31 2001-05-07 파티션 처리 환경을 위한 이종 클라이언트 서버 방법,시스템 및 프로그램 제품

Country Status (6)

Country Link
EP (1) EP1164480A3 (ko)
JP (1) JP2002032235A (ko)
KR (1) KR100458104B1 (ko)
CN (1) CN1252596C (ko)
CA (1) CA2335561A1 (ko)
TW (1) TWI302665B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100570415B1 (ko) * 2002-12-05 2006-04-11 인터내셔널 비지네스 머신즈 코포레이션 프로세스 상태 관리 방법 및 데이터 처리 시스템
KR100601705B1 (ko) * 2004-10-11 2006-07-18 삼성전자주식회사 애플리케이션들간의 메모리 공유 방법 및 그 장치

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892878B2 (en) * 2003-05-09 2014-11-18 Oracle America, Inc. Fine-grained privileges in operating system partitions
CN100361116C (zh) * 2003-08-06 2008-01-09 华为技术有限公司 一种灵巧客户服务器架构的建立方法
US7032053B2 (en) * 2003-08-14 2006-04-18 International Business Machines Corporation System and method for loading, executing, and adapting a portable running operation system from a removable module to multiple computer systems
JP2005242598A (ja) * 2004-02-26 2005-09-08 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
CN100447747C (zh) * 2005-09-28 2008-12-31 联想(北京)有限公司 Linux操作系统与Windows操作系统的NTFS分区数据交换的方法及装置
US20070143315A1 (en) * 2005-12-21 2007-06-21 Alan Stone Inter-partition communication in a virtualization environment
US8656375B2 (en) 2009-11-02 2014-02-18 International Business Machines Corporation Cross-logical entity accelerators
GB2491666A (en) * 2011-06-08 2012-12-12 Inst Information Industry Green computing heterogeneous computer system
CN103309754B (zh) * 2012-03-15 2017-02-15 宇龙计算机通信科技(深圳)有限公司 终端和数据分区管理方法
CN104714923B (zh) * 2013-12-17 2018-04-20 华为技术有限公司 一种实现设备共享的方法和装置
TWI664572B (zh) * 2018-02-09 2019-07-01 威綸科技股份有限公司 資訊處理傳輸裝置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04251338A (ja) * 1990-10-10 1992-09-07 Fuji Xerox Co Ltd プロセス間通信の制御方式
US5652885A (en) * 1993-05-25 1997-07-29 Storage Technology Corporation Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
GB2288477A (en) * 1994-04-05 1995-10-18 Ibm Communications system for exchanging data between computers in a network.
US5974517A (en) * 1996-09-17 1999-10-26 Compaq Computer Corporation Method and system for mounting a system partition as a logical drive while an operating system is operational by modifying a partition table
JPH1185547A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd 仮想クラスタ構成方法
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
JP4402797B2 (ja) * 2000-03-02 2010-01-20 株式会社日立製作所 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100570415B1 (ko) * 2002-12-05 2006-04-11 인터내셔널 비지네스 머신즈 코포레이션 프로세스 상태 관리 방법 및 데이터 처리 시스템
KR100601705B1 (ko) * 2004-10-11 2006-07-18 삼성전자주식회사 애플리케이션들간의 메모리 공유 방법 및 그 장치

Also Published As

Publication number Publication date
JP2002032235A (ja) 2002-01-31
TWI302665B (en) 2008-11-01
EP1164480A3 (en) 2003-08-27
EP1164480A2 (en) 2001-12-19
CA2335561A1 (en) 2001-11-30
CN1327198A (zh) 2001-12-19
KR100458104B1 (ko) 2004-11-26
CN1252596C (zh) 2006-04-19

Similar Documents

Publication Publication Date Title
US5771383A (en) Shared memory support method and apparatus for a microkernel data processing system
US5842226A (en) Virtual memory management for a microkernel system with multiple operating systems
US9519795B2 (en) Interconnect partition binding API, allocation and management of application-specific partitions
US7415709B2 (en) Virtual resource ID mapping
US9497264B2 (en) Apparatus, method and system for aggregating computing resources
JP3980487B2 (ja) 区分処理環境におけるリソース平衡化
US6326973B1 (en) Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA)
KR100992034B1 (ko) 동적 논리적 파티션 기능을 갖는 컴퓨팅 환경에서의 컴퓨터메모리 관리
KR0170565B1 (ko) 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법
US6298390B1 (en) Method and apparatus for extending traditional operating systems file systems
KR20040004554A (ko) 분할 처리 환경에서의 공유 i/o
US8301717B2 (en) Extended virtual memory system and method in a computer cluster
US20050198647A1 (en) Snapshot virtual-templating
JP2002342280A (ja) 区分処理システム、区分処理システムにおけるセキュリティを設ける方法、およびそのコンピュータ・プログラム
KR100458104B1 (ko) 파티션 처리 환경을 위한 이종 클라이언트 서버 방법,시스템 및 프로그램 제품
FR2910985A1 (fr) Systemes de traitement d&#39;informations
KR20070052272A (ko) 프로세서 자원의 가상화를 위한 시스템 및 방법
CN104679662A (zh) 用于管理共享存储器的方法和系统
US7130982B2 (en) Logical memory tags for redirected DMA operations
CN114816655A (zh) 用于安全容器的设备访问方法及系统
US10838872B2 (en) System, method, and recording medium for common memory programming
US20060080514A1 (en) Managing shared memory
Kougiouris A device management framework for an object-oriented operating system
Osmon et al. The Topsy project: a position paper
Bielski Novel memory and I/O virtualization techniques for next generation data-centers based on disaggregated hardware

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee