KR101279717B1 - 복합 자원 관리기 - Google Patents

복합 자원 관리기 Download PDF

Info

Publication number
KR101279717B1
KR101279717B1 KR1020097026217A KR20097026217A KR101279717B1 KR 101279717 B1 KR101279717 B1 KR 101279717B1 KR 1020097026217 A KR1020097026217 A KR 1020097026217A KR 20097026217 A KR20097026217 A KR 20097026217A KR 101279717 B1 KR101279717 B1 KR 101279717B1
Authority
KR
South Korea
Prior art keywords
hardware device
multifunction
resource
multifunction hardware
resource manager
Prior art date
Application number
KR1020097026217A
Other languages
English (en)
Other versions
KR20100021464A (ko
Inventor
시바람 에이치. 마이소르
댄 슬레즈
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20100021464A publication Critical patent/KR20100021464A/ko
Application granted granted Critical
Publication of KR101279717B1 publication Critical patent/KR101279717B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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]
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Abstract

컴퓨팅 환경에서 사용하기 위한 복합 자원 관리기가 제공된다. 복합 자원 관리기는 다기능 하드웨어 장치의 다양한 기능과 관련된 개개의 장치 드라이버의 각각을 관리하기 위하여 운영 체제와 협동하는 단일 자원 관리기로서 기능한다. 일예시에서 복합 자원 관리기는 다양한 애플리케이션에 의해 복수의 기능이 동시에 요청될 때 충돌이 발생하는 것을 방지하기 위한 안정된 관리 및 정책 프레임워크를 구현한다.
Figure R1020097026217
복합 자원 관리기, 다기능 하드웨어 장치, 장치 드라이버

Description

복합 자원 관리기{HYBRID RESOURCE MANAGER}
운영 체제는 애플리케이션 사이의 간섭을 제한하고, 자원 할당에 우선순위를 매기거나 또는 이를 제어하는 정책을 구현하고, 많은 독립적인 소프트웨어 애플리케이션을 실행하는 시스템의 전체적인 동작을 종합적으로 관리하기 위한 자원 관리 기법을 사용한다. 일반적으로, 자원 관리기는 장치의 각각의 클래스에 대하여 제공된다. 이러한 장치 클래스의 예시는 키보드, 프린터, 팩시밀리, 스캐너, CD 및 DVD 플레이어, 네트워크 인터페이스, 스마트카드 리더, 생체적 스캐너 및 메모리 저장 장치(예를 들어, 플래시 메모리)와 같은 주변 장치를 포함한다. 각각의 장치의 상이한 클래스는 통상적으로 각자 자신의 자원 관리기를 가진다. 주어진 클래스 내의 특정한 장치가 일반적으로 다른 것들과 조금씩 다르기 때문에, 장치 드라이버로 알려진 추가적인 소프트웨어 컴포넌트가 통상적으로 각각의 특정한 하드웨어 장치에 제공된다. 장치 드라이버는 자원 관리기와 특정한 하드웨어 장치 사이의 변환 계층으로서 기능한다.
장치 드라이버는 일반적으로 컴퓨터 시스템에서 하드웨어 장치와 통신하기 위한 최하위 레벨의 소프트웨어 컴포넌트로서 사용된다. 통상적으로, 이러한 장치 드라이버는 그들이 제어하는 장치와 일대일 관계(one-to-one relationship)로 관련된다. 예를 들어, 직렬 포트 드라이버는 컴퓨터의 데이터/팩스 직렬 모뎀과 관련 되고, ISDN(Integrated Switched Digital Network) 드라이버는 ISDN 인터페이스 드라이버와 관련되고, 네트워크 드라이버는 WAN(Wide Area Network) 데이터 인터페이스 드라이버에 인터페이스를 제공한다. 이러한 구성에서, 각각의 전용 드라이버는 하드웨어 장치에 대한 스타트-업, 셧다운, 유지 및 기능적인 동작을 관리한다.
기술의 발전으로 인해, 복수의 하드웨어 장치를 단일 다기능 장치(multifunction device) 내로 통합하는 것이 가능해졌다. 예를 들어, 단일 하드웨어 장치가 데이터/팩스 모뎀, ISDN, 및 WAN 인터페이스의 기능의 하나 또는 전부를 수행할 수 있다. 다른 예시로서 통합 스마트 카드 리더 및 생체적 스캐너를 가지는 키보드가 있을 수 있다. 이러한 다기능 장치는, 비용 절감, 더 작은 크기, 호스트 시스템의 부하 감소 및 더 쉬운 설치를 포함하는 복수의 단일 기능 장치를 넘어서는 여러가지 장점을 가진다. 그러나, 기존의 애플리케이션과 호환성을 유지하기 위해, 이러한 다기능 장치는 여전히, 예를 들어 키보드, 스마트 카드 리더 및 생체적 스캐너 등과 같은 각각의 기능에 대한 전용 드라이버를 요구한다. 각각의 장치 드라이버는 독립적으로 기능하기 때문에, 복수의 장치 드라이버가 단일 하드웨어 장치로 명령을 송신하는 상황이 발생할 수 있다. 따라서, 하나의 드라이버에 의해 송신된 명령이 다른 드라이버에 의해 송신된 드라이버와 충돌하여, 시스템 오류를 야기할 수 있는 가능성이 있다. 예를 들어, 다른 독립적인 드라이버가 장치를 사용하는 동안 어떤 드라이버가 하드웨어 장치에 셧다운 명령을 송신할 수 있다. 다른 예시로서 하나의 드라이버가 유효한 결과를 보증하기 위하여 다기능 장치에 대한 독점적인 액세스를 요구하는 진단 테스트를 실행할 때, 다른 장치가 진 단 테스트 중에 다기능 장치에 액세스하려고 하는 경우가 있다. 이처럼 단일 다기능 하드웨어 장치에 액세스하는 복수의 장치 드라이버에 의하여 수많은 충돌이 발생할 수 있다.
도 1은 다기능 장치(8)와 연결된 복수의 장치 드라이버, 즉 장치 드라이버 A(2), 장치 드라이버 B(4) 및 장치 드라이버 C(6)를 가지는 컴퓨터 시스템(10)을 도시한다. 동작 시, 컴퓨터 시스템(10) 상에 상주하는 애플리케이션이 다기능 장치(8)에 의해 수행되는 제1 기능을 요청할 수 있다. 기능이 요청될 때, 컴퓨터 시스템(10)은 다기능 장치(8)가 요청된 기능을 수행하기 위하여 요청된 기능에 대응하는 드라이버가 명령을 다기능 장치(8)로 송신하도록 지시한다. 예를 들어, 기능 A가 요청되면, 컴퓨터 시스템(10)은 기능 A를 수행하기 위하여 장치 드라이버 A(2)가 명령을 다기능 장치(8)에 송신하도록 지시한다. 그러나, 상기에 개시된 바와 같이, 일부 장치 드라이버는 충돌하는 명령을 다기능 장치에 발행할 수 있다. 상이한 드라이버로부터 송신된 충돌하는 명령이 시스템과 다기능 장치에 의한 많은 시나리오로부터 발생할 수 있다. 예를 들어, 다기능 장치(8)가 장치 드라이버 A(2)에 의해 기능 A를 수행하도록 지시되는 동안, 컴퓨터 시스템(10)이 장치 드라이버 B(4)에 다기능 장치(8)가 기능 B를 수행하기 위한 명령을 발행하도록 지시할 수 있다. 장치 드라이버 B(4)에 의해 발행되는 명령의 일부는 드라이버 A(2)에 의해 발행되는 명령과 충돌하는 장치 초기화 명령일 수 있다. 이러한 경우에, 다기능 장치는 충돌로 인해 요청된 기능의 일부 또는 전부를 수행하지 않을 수 있다.
충돌뿐만 아니라, 복수의 드라이버가 다기능 장치와 함께 사용될 때 보안이 문제가 될 수 있다. 예를 들어, 임의의 주어진 시간에 애플리케이션이 다기능 장치(8)의 오직 하나의 특정한 기능만을 사용하고 모든 다른 것들은 록다운(locked down)되도록 보증되어야 할 필요가 있다.
이러한 문제에 대한 하나의 가능한 해결책은 장치 드라이버를 단일 다기능 드라이버 내로 결합하여, 프로그램적인 방법을 사용해서 충돌하는 명령을 방지하는 것이다. 그러나 이러한 방법은 기존 드라이버의 소프트웨어 코드의 많은 부분 또는 전부가 단일 드라이버로서 동작하기 위해 재작성되어야 할 필요가 있을 수 있다. 이러한 해결책은 또한 소프트웨어의 모듈화(modularity)를 감소시킨다. 단일 결합 드라이버는 더 크고 복잡해서 작성, 테스트, 유지 및 업그레이드하기가 더 힘들다. 드라이버와 다기능 장치의 모든 상이한 치환 및 결합이 고려될 때, 복수의 드라이버를 단일 다기능 드라이버 내로 결합하는 것은 요구되는 드라이버의 총 개수를 증가시킬 수 있다. 따라서, 드라이버를 별개로 유지하는 것이 바람직하다.
다음의 실시예는 컴퓨팅 환경에서 사용하기 위한 복합 자원 관리기를 제공한다. 복합 자원 관리기는 다기능 하드웨어 장치의 다양한 기능과 관련된 개개의 장치 드라이버의 각각을 관리하기 위하여 운영 체제와 협동하는 단일 자원 관리기로서 기능한다. 일실시예에서, 복합 자원 관리기는 다양한 애플리케이션에 의해 복수의 기능이 동시에 요청될 때 충돌이 일어나는 것을 방지하기 위한 안정된 관리 및 정책 프레임워크를 구현한다.
본 상세한 설명은 아래의 실시예에 개시될 발명의 발췌를 단순화된 형식으로 소개하기 위하여 제공된다. 본 상세한 설명은 청구된 주요 발명의 주요한 태양 또는 핵심적인 태양을 특정하거나, 청구된 주요 발명의 범위를 결정하기 위한 목적으로 사용하기 위한 것으로 해석되지 않는다. 본 발명의 추가적인 태양 및 장점은 첨부된 도면을 참조하여 개시되는 다음의 실시예로부터 명백해질 것이다.
도 1은 다기능 하드웨어 장치와 함께 사용하기 위한 복수의 장치 드라이버를 가지는 컴퓨터 시스템을 도시하는 도면.
도 2는 컴퓨팅 유닛 및 컴퓨팅 유닛과 연결되거나 또는 인터페이스하는 복수의 주변 컴포넌트를 가지는 컴퓨터 시스템을 도시하는 도면.
도 3은 다기능 하드웨어 장치의 자원 관리를 용이하게 하기 위하여 도 2의 컴퓨팅 시스템에 의해 구현될 수 있는 자원 관리 아키텍쳐의 일예시를 도시하는 도면.
도 4는 도 3에 도시된 복합 자원 관리기의 구체적인 일예시를 도시하는 도면.
도 5는 컴퓨팅 시스템에 의해 사용되는 하드웨어 자원 관리를 용이하게 하기 위한 방법의 일예시를 도시하는 흐름도.
컴퓨팅 장치 상에서 성공적으로 애플리케이션을 실행하기 위해, 장치의 운영 체제는 애플리케이션에 다양한 자원을 제공해야 한다. 효율적인 자원의 할당 및 사용을 용이하게 하기 위하여 자원 관리에 대한 개선된 방법을 구현하기에 적절한 컴퓨팅 시스템이 아래에서 상세히 개시된다.
본 명세서에 개시되는 자원 관리 아키텍쳐는 많은 다양한 환경 및 컴퓨팅 컨텍스트에서 구현될 수 있다. 개시를 위하여, 아키텍쳐가 개인용 컴퓨터에 대한 컴퓨팅 시스템의 컨텍스트에서 개시되었지만, 게임 콘솔, 핸드폰, PDA, 셋탑 박스(STB) 등과 같은 다양한 전자 장치를 포함하는 다른 컴퓨팅 환경에 동일하게 적용될 수 있다.
아래에서 상세히 개시되는 바와 같이, 다기능 하드웨어 장치를 지원하기 위해 사용되는 단일 다기능 드라이버를 제공하는 대신에, 복합 자원 관리기가 제공된다. 복합 자원 관리기가 하드웨어 장치에 액세스하는 모든 애플리케이션에 의해 사용될 수 있는 안정된 관리 및 정책 프레임워크를 제공할 수 있지만, 다기능 하드웨어 장치의 개개의 장치 드라이버와 함께 사용될 수도 있다.
도 2는 컴퓨팅 유닛(22) 및 컴퓨팅 유닛(22)과 연결되거나 또는 인터페이스하는 복수의 주변 컴포넌트를 가지는 컴퓨팅 시스템(20)을 도시한다. 컴퓨팅 유닛(22)은 하나 이상의 프로세서(24(1), 24(2) 내지 24(P)), 휘발성 메모리(26)(예를 들어, RAM), 및 비-휘발성 메모리(28)(예를 들어, ROM, 플래시, 하드디스크, CD ROM 등)를 가진다.
운영 체제(30)는 비-휘발성 메모리(28)에 저장된다. 운영 체제(30)는, 휘발성 메모리(26)에 로딩되어 하나 이상의 프로세서(24) 상에서 실행될 때, 복수의 애플리케이션(32(1), 32(2) 내지 32(A))의 동시적인 실행을 지원하는 멀티-태스킹 운영 체제이다. 하나의 바람직한 운영 체제는 마이크로소프트사에 의해 판매되는 윈 도우즈 브랜드 운영 체제이다. 그러나, 다른 운영 체제가 사용될 수도 있다는 것을 유의해야 한다.
장치(32(1), 32(2) 내지 32(A))는 하드웨어 자원으로의 액세스가 필요한, 시스템 상에 로딩되고 실행될 수 있는 상이한 자원 소비기(resource consumers)의 예시이다. 자원 소비기는 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션, 스케쥴링 애플리케이션, 재무 애플리케이션, 교육 애플리케이션, 엔터테인먼트 애플리케이션 등과 같은 애플리케이션을 포함할 수 있다.
운영 체제(30)는 애플리케이션(32(1) 내지 32(A))으로의 할당을 위한 컴퓨팅 시스템(20)의 자원을 관리하는 자원 관리 시스템(40)을 가진다. 자원 관리 시스템(40)은 운영 체제(30)와 별개로 구현될 수 있지만, 본 예시에서는 운영 체제 내에 통합된 것으로 도시되었다. 자원 관리 시스템(40)은 도 3을 참조하여 아래에서 더 상세히 개시된다.
운영 체제(30)는 또한 컴퓨팅 시스템(20)의 다양한 관련된 주변 컴포넌트를 위한 복수의 소프트웨어 드라이버(42(1) 내지 42(D))를 가진다. 하나 이상의 COM(communication) 포트(44)가 또한 운영 체제(30)의 일부인 것으로 도시된다. 주변 장치의 대표적인 집합이 컴퓨팅 유닛 주위에 도시된다.
USB 버스(54)는 많은 상이한 종류의 USB 호환가능 주변 컴포넌트를 인터페이스하기 위해 컴퓨팅 유닛(22)과 연결된다. 이러한 컴포넌트의 예시는 모뎀(56), 스피커(58), 키보드(60) 및 다른 USB 장치(62)를 포함한다. 컴퓨팅 유닛(22)은 또 한 다른 컴퓨터를 인터페이스하기 위하여 네트워크(66)와 연결된다. 네트워크(66)는 LAN, WAN, 인터넷, 인트라넷 및 무선 네트워크를 포함하는 많은 다양한 유형의 네트워크의 표현이다.
1394 직렬 버스(68)는 많은 상이한 유형의 1394 호환가능 주변 컴포넌트를 인터페이스하기 위하여 컴퓨팅 유닛(22)과 연결된다. 이러한 컴포넌트의 예시는 메모리 드라이버(70)(예를 들어, 디스크 드라이브, 테이프 드라이브, CD ROM 드라이브 등), 모뎀(72), 스피커(74), CPU(central processing unit; 76) 및 다른 1394 장치(78)를 포함한다. 본 예시적인 시스템에서 USB 및 1394 버스가 도시되었지만, SCSI, ISA(industry standard architecture) 및 PCI(peripheral component interconnect) 버스와 같은 다른 버스 아키텍쳐가 추가적으로 또는 대안적으로 사용될 수 있다.
컴퓨팅 시스템(20)은 텔레비젼 세트 또는 컴퓨터 모니터가 될 수 있는 디스플레이(80)를 가진다. 디스플레이는 비디오 포트, 오버레이 및 비디오 메모리를 나타내는 하나 이상의 디스플레이 인터페이스(82(1), 82(2) 내지 82(C))를 통해 컴퓨팅 유닛(22)과 인터페이스한다. 컴퓨팅 유닛(22)과 연결된 다른 예시적인 주변 장치는 DVD 플레이어(84), 생체적 스캐너(86) 및 스마트 카드 리더(88)를 포함할 수 있다.
도 2에 도시된 컴포넌트의 집합은 자원 관리 시스템(40)에 의해 관리되는 자원의 예시적인 유형을 보여준다. 이들은 키보드, 모뎀, USB 장치, 생체적 스캐너, 스마트 카드 리더, 1394 장치, 디스플레이 인터페이스, 레코더, 메모리 장치 등과 같은 다양한 하드웨어 장치이다. 많은 다른 컴포넌트가 시스템 및 제거될 수 있는 예시적인 컴포넌트의 하나 이상에 추가될 수 있다. 상기에서 전술한 바와 같이, 이러한 장치의 둘 이상의 기능을 단일 다기능 하드웨어 장치 내로 결합하는 것이 점점 일반화되고 있다.
도 3은 다기능 하드웨어 장치의 자원 관리를 용이하게 하기 위하여 도 2의 컴퓨팅 시스템(20)에 의해 구현될 수 있는 자원 관리 아키텍쳐(300)의 일예시를 도시한다. 아키텍쳐(330)는 소프트웨어로 구현되고, 본 예시에서 사용자 레벨의 컴포넌트뿐만 아니라 커널 레벨의 컴포넌트도 포함한다. 아키텍쳐(300)는 하나 이상의 자원 소비기를 지원하는 복합 자원 관리기(302) 및 장치 드라이버(304(1), 304(2), 304(3) 내지 304(P))를 가진다. 자원 소비기의 예시는 애플리케이션(332(1), 332(2), 332(3) 내지 332(N))과 같은 사용자-레벨 자원 소비기를 포함한다. 도시되는 바와 같이, 제공될 수 있는 하나의 애플리케이션 레벨 자원 소비기는, 예를 들어 트로이(Trojan) 또는 다른 악성 프로그램이 기만하거나 또는 패스워드, 공개 키 등과 같은 사용자의 크레덴셜(credentials)에 대한 액세스를 획득하지 않는 것을 보증하기 위해 애플리케이션 레벨의 인증 및 보안을 제공하기 위한 인증 사용자 인터페이스(332(1))이다. 도시되지 않았지만, 커널-레벨 자원 소비기가 또한 제공될 수 있다.
각각의 장치 드라이버(304(1) 내지 304(4))가 하드웨어 장치와 관련되어 하드웨어 장치의 사용가능성을 추적한다. 즉, 상기에 개시된 바와 같이, 장치 드라이버는 하드웨어 장치와 인터페이스하는 임의의 소프트웨어 컴포넌트 또는 모듈이 될 수 있다. 장치 드라이버(304(1))는, 예를 들어 다기능 장치(340)가 직렬 데이터를 모뎀에 전달하는 것을 가능하게 하는 직렬 드라이버가 될 수 있다. 장치 드라이버(304(2))는, 예를 들어 다기능 장치(340)가 전화를 걸거나 수신하는 것을 가능하게 하는 ISDN 인터페이스 드라이버가 될 수 있고, 장치 드라이버(304(3))는, 예를 들어 다기능 장치(340)가 데이터를 WAN 네트워크 인터페이스 장치로 송신 및 수신하는 것을 가능하게 하는 WAN 드라이버가 될 수 있다. 다기능 장치의 다른 예시는 스마트 카드 리더를 플래시 메모리 및 생체적 리더에 통합하는 키보드가 될 수 있다. 이러한 경우에 장치 드라이버(304(1))는 키보드가 될 수 있고, 장치 드라이버(304(2))는 스마트 카드 드라이버가 될 수 있고, 장치 드라이버(304(3))는 생체적 스캐너 드라이버가 될 수 있고, 장치 드라이버(304(4))는 플래시 메모리 드라이버가 될 수 있다. 또 다른 다기능 장치는 WAN 데이터 인터페이스, X.25 데이터 인터페이스 및 데이터 암호화 프로세서(data encryption processor)를 결합하는 VPN(virtual private network) 카드가 될 수 있다. 이러한 장치 드라이버는 매우 복잡하고, 상기에서 전술한 바와 같이, 일반적으로 독립된 드라이버로서 가장 잘 구현된다. 물론, 상기에 개시된 다기능 장치 및 장치 드라이버는 오직 예시이고, 본 명세서에 개시된 발명이 임의의 다기능 하드웨어 장치 및 이러한 장치와 인터페이스하기 위해 사용되는 드라이버에 적용될 수 있다. 본 기술분야의 당업자는 기술이 발전함에 따라 더 많은 하드웨어 기능이 사용가능해지고 많은 하드웨어 기능이 단일 장치 내에 결합되리라는 것을 이해할 수 있고, 본 명세서에 개시된 발명이 이후에 개발되는 다기능 장치 및 장치 드라이버에 동일하게 적용될 수 있다는 것을 이해할 수 있다. 장치 드라이버가 커널 레벨에서 도시되었지만, 하나 이상의 장치 드라이버가 또한 사용자 레벨에서 구현될 수 있다.
각각의 장치 드라이버(304)는 자신을 복합 자원 관리기(302)에 등록하여 정보를 얻기 위해 복합 자원 관리기(302)에 의해 사용되는 콜백의 집합을 제공한다. 예를 들어, 하나의 콜백은 자원 계산을 수행하기 위해 사용되고, 다른 것은 제공자에게 성공적인 예약을 알려주기 위해 사용된다. 복합 자원 관리기(302)는 복합 하드웨어 장치에 대하여 동일한 컨텍스트가 사용되는 것을 가능하게 하고 하드웨어 장치에 의해 수행되는 기능을 위하여 특정한 장치 자원 관리기에 의해 사용되는 대응하는 장치 클래스 핸들을 얻도록 한다.
복합 자원 관리기(302)는 아키텍쳐의 다른 모듈과 상호작용하기 위한 공용 인터페이스(320)를 보여준다. 공용 인터페이스(320)는 애플리케이션(332(1) 내지 332(N)) 또는 다른 자원 소비기로부터 자원에 대한 요청을 승인하기 위해 장치 드라이버(304) 및 소비기 API 콜(API call)의 집합에 의해 사용되는 제공자 API 콜의 집합을 가지는 정의된 API를 포함한다. API는 원하는 작업을 수행하기 위하여 프로그램이 승인하는 입력의 유형 및 원하는 작업의 수행 후에 프로그램이 반환하는 출력의 유형을 정의하는 프로그램에 대한 인터페이스이다. 애플리케이션(332)이 작업을 수행하기를 원할 때, 이는 복합 자원 관리기(302)에서 동작을 생성하고 동작을 수행하기 위해 요구되는 자원의 다양한 집합을 정의하는 하나 이상의 구성을 구축하기 위해 공용 인터페이스(320)를 사용한다. 동작은 시스템에서 수행되는 작업과 관련된 데이터 구조이다. 복합 자원 관리기(302)는 제한된 자원의 풀로부터 전체적으로 만족될 수 있는 동작을 결정하고 애플리케이션이 만족될 수 있는 동작으로 요청된 자원에 액세스할 수 있도록 한다.
도 4는 복수의 인터페이스가 기존의 애플리케이션과의 역방향 호환성을 지원하기 위하여 제공되는, 도 3에 도시되는 복합 자원 관리기(302)의 하나의 구체적인 예시이다. 복합 자원 관리기(302)로의 액세스는 적절한 API 표준을 수용하는 일련의 인터페이스를 포함하는 공용 인터페이스(예를 들어, 도 3의 공용 인터페이스(320))를 통해 이루어진다. 이러한 예시에서, 예를 들어 생체적 리더와 스마트 가드 리더를 위해 각각 표준 API(404) 및 표준 API(406)가 도시된다. 또한, 신뢰성있는 서드파티로부터 사용할 수 있는 임의의 다른 하드웨어 장치 기능(예를 들어, 플래시 저장소)을 나타내는, 기능 인터페이스(402)가 도시된다. 이러한 인터페이스는 하드웨어 장치에 직접 액세스하지 않는다. 이러한 인터페이스(402, 404, 및 406)는 현재 자원 관리기에 대한 액세스를 얻기 위해 사용되는 것과 동일하기 때문에, 역방향 호환성이 유지된다. 공용 인터페이스(320)를 통해 오픈되는 컨텍스트가, 아래에서 더 상세히 개시되는 정책 모듈에 의해 설정될 수 있는 정책으로 인해 모든 하부의 시스템 하드웨어에 대한 액세스를 완료하지 못할 수 있다. 일부 경우에 복합 자원 관리기(302)는 하드웨어 장치 및 대응하는 컨텍스트에 의해 지원되는 모든 장치 클래스 ID의 리스트를 보유하는 컨텍스트 구조를 가진다.
공용 인터페이스는 또한 복합 자원 관리기(302)의 향상된 기능의 구현을 용이하게 하기 위하여 사용되는 포괄적인 복합 자원 관리기 인터페이스(408)를 포함한다. 즉, 애플리케이션에 의해 사용되는 API로서도 구현될 수 있는 포괄적인 복 합 자원 관리기 인터페이스(408)가 복합 자원 관리기(302) 태양의 장점을 가질 수 있다. 포괄적인 복합 자원 관리기 인터페이스(408)는 하드웨어 장치에 의해 제공되는 상이한 개수와 유형의 기능을 식별하는 복합 장치 내의 장치에 대한 복합 장치 열거; 확인 및 인증의 목적으로 컴퓨팅 시스템 및 하드웨어 장치에 의해 사용되는 장치 획득; 다기능 하드웨어 장치가 획득된 이후에, 애플리케이션(예를 들어, 애플리케이션(332))이 특정한 동작을 위해 장치에 대한 적절하고 독점적인 액세스를 수여받는 것을 보증하는 장치 록킹과 같은 기능을 제공한다.
포괄적인 복합 자원 관리기 인터페이스(408)는 (장치 드라이버(예를 들어, 장치 드라이버(304)를 통해) 상이한 장치 자원 관리기와 장치 사이 및 이들 간의 통신이 가능하도록 도와준다. 포괄적인 복합 자원 관리기 인터페이스(408)는 또한 컨텍스트가 제한된 측면에서 오픈되는 것을 허용하는데, 이는 실제 공용 API를 통해 오픈되면 컨텍스트가 사용가능한 기능의 부분 집합이 될 수 있다는 것을 의미한다.
복합 자원 관리기(302)는 또한 인터페이스를 통해 액세스되는 전용 자원 관리기를 포함한다. 도 3에 도시되는 예시에서, 기능 관리기(412), 생체적 관리기(414) 및 스마트 카드 자원 관리기(416)는 각각 기능 인터페이스(402), 생체적 인터페이스(404) 및 스마트 카드 인터페이스(406)를 통해 액세스된다. 이러한 인터페이스의 각각은 확장될 수 있지만 아래에 개시되는 정책 모듈에 의해 설정되는 보안 과정에 따라 통합 인증된다. 전용 자원 관리기(412, 414 및 416)는 역방향 호환성을 가능하게 하고 주로 현재의 자원 관리기와 동일한 기능을 제공하지만, 컨 텍스트 할당, 외부 자원 록킹 및 하드웨어 관리와 같은 특정한 주요 영역에서는 개장(retrofitted)된다.
코어 복합 자원 관리기(418)는 상이한 자원 관리기와 복합 자원 관리기 아키텍쳐를 사용할 수 있는 다기능 하드웨어 장치 및 애플리케이션에 의해 사용되는 장치 사이의 액세스에 대한 관리를 담당한다. 각각의 전용 자원 관리기(412, 414 및 416)는 코어 복합 자원 관리기(418)에 대한 각자의 연결을 담당한다. 코어 복합 자원 관리기(418)는 추가적인 기능의 생성을 용이하게 하고 개발될 수 있는 새로운 유형의 복합 하드웨어 장치를 처리하기 위해 확장될 수 있다. 코어 복합 자원 관리기(418)는 장치 드라이버에 의해 제공되는 자원(로컬 또는 원격)에 대한 액세스를 조정한다. 도 3의 애플리케이션(332)과 같은 자원 소비기는 드라이버에 의해 제공되는 하나 이상의 자원의 집합을 요청하고 코어 복합 자원 관리기(418)는 애플리케이션이 사용할 장치 드라이버의 자원을 결정한다. 코어 복합 자원 관리기(418)는 사전정의된 충돌 해결 메커니즘에 기초하여 자원 할당 결정을 할 수 있다.
코어 자원 관리기(418)는 정책 모듈(420)에 의해 설정되는 보안 및 다른 정책을 실시한다. 정책 모듈(420)은 장치 또는 시스템 레벨로부터 설정되는 정책(예를 들어, 그룹 또는 로컬 머신 정책)을 수신할 수 있다. 정책의 일예시는 다음과 같이 구현될 수 있다. 다기능 장치가 스마트 카드 리더 및 생체적 스캐너를 포함하는 경우에, 예를 들어 정책은 통합된 생체적 스캐너에 의한 스마트 카드 리더의 독점적인 사용을 요구하는 정책이 설정될 수 있다. 사용자가 전용 스마트 카드 리 더와 물리적으로 분리된 생체적 스캐너를 사용하려고 시도하면, 정책 모듈(420)은 두 장치가 획득되는 것을 방지한다. 물론, 정책 모듈(420)은 복합 하드웨어 장치가 충돌없이 적절하게 동작하는 것을 보증하는 많은 다른 정책을 설정할 수 있다. 예를 들어, 충돌 해결과 관련해서, 복합 자원 관리기(302)가 우선순위화 기반 해결책을 사용하면, 정책 모듈(420)은 코어 복합 자원 관리기(302)가 충돌이 있을 때 모든 작업이 자신의 자원에 할당되지 않기 위해 어떠한 작업이 자원에 대한 액세스를 얻어야 하는지를 결정할 수 있도록 사용자 또는 시스템에 대한 상대적인 중요도에 따라 작업의 순위를 정한다. 다른 유용한 정책은 최초 예약 획득, 가장 최근 예약 획득, "공평한" 자원의 공유, 사용자가 획득할 대상에 대한 선택 등을 포함한다. 그 밖의 많은 다른 정책도 가능하다. 시스템 또는 사용자는 정책 및 정책 관리기 모듈이 이들을 절대적인 순위로 변환하도록 설정한다.
복합 자원 관리기(302)는 도 3에 도시되는 추가적인 모듈과 같은 다양한 다른 모듈을 포함할 수 있다. 예를 들어, 상이한 애플리케이션이 복합 하드웨어 장치에 액세스하기 위해 시도할 때마다 별개의 인증 프로세스가 수행될 필요가 없도록 인증 모듈(424)이 하드웨어 장치의 인증을 집중시키기 위해 제공될 수 있다. 인증 모듈은 (컨텍스트 콜의 결과로서) 애플리케이션을 대신하여 또는 복합 하드웨어 장치를 대신하여 장치 관리기 모듈(422)에 의해 기동(invoke)될 수 있다. 추가적으로, 장치 관리기 모듈(422)은 복합 하드웨어 장치를 모니터링하고 관리한다. 장치 관리기 모듈(422)은 또한 복합 하드웨어 장치 및 기능 레벨에서 자원을 록다운할 수 있다.
핸들러(430, 432 및 434)와 같은 장치 기능 핸들러는 입력/출력 제어 코드를 사용하여 복합 자원 관리기(302)와 복합 하드웨어 장치 사이의 상세한 통신 프로토콜을 관리한다. 인증 사용자 인터페이스 또는 사용자 경험 모듈이 또한 요구될 수 있는 다양한 레벨의 사용자 인증을 통합하고 사용자에 대한 안정된 인터페이스를 제공하기 위해 제공될 수 있다. 이러한 인증은, 예를 들어 사용자, 시스템 및/또는 하드웨어 장치 레벨에서 제공될 수 있다.
도 5는 컴퓨팅 시스템에 의해 사용되는 하드웨어 자원의 관리를 용이하게 하기 위한 방법의 일예시이다. 방법은 포괄적인 복합 자원 관리기 인터페이스가 다기능 하드웨어 자원에 의해 수행되는 개개의 기능으로의 액세스를 위한 자원 획득 요청을 승인하는 단계(510)에서 시작된다. 결정 단계(520)에서 자원 획득 요청이 다기능 하드웨어 자원에 의해 제공되는 기능에 대하여 설정되는 정책에 적합한지 결정한다. 그렇지 않다면, 액세스는 단계(530)에서 거부된다. 정책에 적합하다면, 단계(540)에서 복합 자원 관리기는 다기능 하드웨어 자원과 관련되고 요청된 개개의 기능에 전용하는 장치 드라이버와 통신한다. 장치 드라이버와의 통신에 응답하여, 단계(550)에서 복합 자원 관리기는 자원 획득 요청에 따라 다기능 하드웨어 장치에 대한 액세스를 허용하기 위해 다기능 하드웨어 장치가 획득되도록 한다.
본 발명은 특정한 구조적인 태양 및/또는 방법론적인 동작에 관한 언어로 개시되었지만, 첨부된 청구항에 정의된 본 발명은 상기에 개시된 특정한 태양 또는 동작에 한정될 필요가 없다는 것을 이해할 수 있다. 더 나아가, 상기에 개시된 특정한 태양 및 동작은 청구항을 구현하는 예시적인 형식으로서 개시된다.

Claims (20)

  1. 컴퓨팅 시스템에 의해 사용되는 하드웨어 자원들의 관리를 용이하게 하기 위한 방법으로서,
    다기능 하드웨어 장치에 의해 수행되는 임의의 개별 기능을 액세스하기 위한 자원 획득 요청(resource acquisition request)을 다기능 API를 통해 자원 소비기(resource consumer)로부터 접수하는 단계- 상기 다기능 API는 (i) 상기 다기능 하드웨어 장치에 의해 수행되는 기능들의 장치 열거(device enumeration), (ⅱ) 인증 및 검증(authentication and verification)을 위한 장치 획득, 및 (ⅲ) 상기 다기능 하드웨어 장치의 획득 후의 상기 다기능 하드웨어 장치의 록킹(locking)을 용이하게 하도록 구성됨 -;
    상기 다기능 하드웨어 장치와 관련되고 요청된 상기 개별 기능에 전용되는 장치 드라이버와 통신하는 단계; 및
    상기 장치 드라이버와의 통신에 응답하여, 상기 자원 획득 요청에 따라 상기 다기능 하드웨어 장치로의 액세스를 허용하기 위하여 상기 다기능 하드웨어 장치를 획득하는(acquiring) 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 자원 획득 요청이 상기 다기능 하드웨어 장치에 의해 수행되는 기능들에 대하여 설정된 정책에 부합하는지 여부를 판정하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 다기능 하드웨어 장치에 의해 수행되는 제1 기능을 요청하는 제1 자원 소비기와 상기 다기능 하드웨어 장치에 의해 수행되는 제2 기능을 요청하는 제2 자원 소비기 사이에서 정책 충돌이 발생하면 상기 다기능 하드웨어 장치의 획득을 거부하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 자원 획득 요청은 애플리케이션-레벨 자원 소비기로부터 수신되는 방법.
  5. 컴퓨팅 장치에 의해 사용되는 하드웨어 자원들을 관리하기 위한 시스템으로서,
    다기능 하드웨어 장치;
    상기 다기능 하드웨어 장치에 의해 수행되는 각 기능에 대하여 자원 소비기들로부터 소비기 기능 콜들(consumer function calls)을 접수하는 공용 인터페이스;
    상기 소비기 기능 콜들에 응답하여 상기 다기능 하드웨어 장치에 의해 수행되는 기능들 각각에 전용되는 상이한 장치 드라이버들을 관리함으로써 상기 다기능 하드웨어 장치의 상이한 기능적인 자원들을 할당하기 위한 복합 자원 관리기(a hybrid resource manager);
    상기 복합 자원 관리기와 상기 장치 드라이버들 사이의 통신 프로토콜들을 구현하기 위한 복수의 장치 핸들러들- 상기 장치 핸들러들 각각은 상기 다기능 하드웨어 장치의 상이한 기능적인 자원에 전용됨 -; 및
    상기 소비기 기능 콜들에 따라 상기 다기능 하드웨어 장치로의 액세스를 허용하기 위하여 상기 다기능 하드웨어 장치의 획득이 가능하도록 상기 복합 자원 관리기에 의해 구현되는 적어도 하나의 사전정의된 정책을 설정하기 위한 정책 모듈
    을 포함하는 시스템.
  6. 제5항에 있어서,
    상기 다기능 하드웨어 장치에 의해 수행되는 하나의 특정 기능에 대한 요청을 선택 자원 소비기들(select resource consumers)로부터 접수하는 적어도 하나의 전용 인터페이스 - 상기 적어도 하나의 전용 인터페이스는 상기 공용 인터페이스를 통해 오픈되는 경우 이용가능한 기능의 부분 집합인 컨텍스트를 허용함 -; 및
    상기 특정 기능에 전용되는 장치 드라이버를 관리함으로써 상기 특정 기능에 대한 자원들을 할당하기 위한 적어도 하나의 전용 자원 관리기
    를 더 포함하는 시스템.
  7. 제6항에 있어서,
    상기 전용 인터페이스는 상기 다기능 하드웨어 장치에 의해 수행되는 상기 특정 기능과 연관된 API 표준에 부합한 시스템.
  8. 제5항에 있어서,
    상기 공용 인터페이스는 (ⅰ) 상기 다기능 하드웨어 장치에 의해 수행되는 기능들의 장치 열거(device enumeration), (ⅱ) 인증 및 검증(authentication and verification)을 위한 장치 획득, 및 (ⅲ) 상기 다기능 하드웨어 장치의 획득 후의 상기 다기능 하드웨어 장치의 록킹(locking)을 용이하게 하도록 구성되는 시스템.
  9. 제5항에 있어서,
    상기 정책 모듈은 자원 할당을 구현하기 위해 사전설정된 충돌 해결 정책을 설정하도록 구성되는 시스템.
  10. 제9항에 있어서,
    상기 사전설정된 충돌 해결 정책은 우선순위-기반 해결(priority-based resolution)을 포함하는 시스템.
  11. 제5항에 있어서,
    상기 다기능 하드웨어 장치의 인증을 집중화(centralizing)하기 위한 인증 모듈을 더 포함하는 시스템.
  12. 제11항에 있어서,
    상기 인증 모듈을 기동하기(invoke) 위해 상기 다기능 하드웨어 장치를 대신하여 컨텐츠 콜들을 접수하기 위한 장치 관리기 모듈을 더 포함하는 시스템.
  13. 제11항에 있어서,
    상기 인증 모듈은 할당되는 상기 기능적인 자원들에 독립적인 공통 인증 사용자 인터페이스를 제공하도록 구성되는 시스템.
  14. 제5항에 있어서,
    상기 복합 자원 관리기는 운영 체제 내에서 시스템 레벨로 상주하는 시스템.
  15. 제5항에 있어서,
    상기 컴퓨팅 장치는 개인용 컴퓨터, 게임 콘솔, 핸드폰, PDA 및 셋탑 박스(STB)를 포함하는 그룹으로부터 선택되는 전자 장치인 시스템.
  16. 전자 장치에 배치된 하나 이상의 프로세서에 의해 실행되는 경우, 방법을 수행하는 자원 관리기를 가지는 운영 체제를 구현하는 명령어들을 포함하는 컴퓨터-판독가능 저장 매체로서,
    상기 방법은,
    다기능 하드웨어 장치에 의해 수행되는 임의의 개별 기능을 액세스하기 위한 자원 획득 요청을 접수하는 단계;
    복합 자원 관리기와 장치 드라이버들 사이의 통신 프로토콜들을 구현하기 위해 복수의 장치 핸들러들 중 하나를 사용하는 단계- 상기 장치 핸들러들의 각각은 상기 다기능 하드웨어 장치의 상이한 기능적인 자원에 전용되고, 상기 사용되는 장치 핸들러는 요청된 상기 다기능 하드웨어 장치에 의해 수행되는 개별 기능에 전용된 장치 드라이버에 대응하는 장치 핸들러임 -;
    상기 다기능 하드웨어 장치와 관련되고 상기 요청된 개별 기능에 전용되는 장치 드라이버와 통신하는 단계; 및
    상기 장치 드라이버와의 통신에 응답하여, 상기 자원 획득 요청에 따라 상기 다기능 하드웨어 장치로의 액세스를 허용하기 위하여 상기 다기능 하드웨어 장치를 획득하는 단계를 포함하는
    컴퓨터-판독가능 저장 매체.
  17. 제16항에 있어서,
    상기 방법은,
    상기 자원 획득 요청이 상기 다기능 하드웨어 장치에 의해 제공되는 기능들에 대하여 설정된 정책에 부합하는지 여부를 판정하는 단계를 더 포함하는
    컴퓨터-판독가능 저장 매체.
  18. 제17에 있어서,
    상기 방법은,
    상기 다기능 하드웨어 장치에 의해 수행되는 제1 기능을 요청하는 제1 자원 소비기와 상기 다기능 하드웨어 장치에 의해 수행되는 제2 기능을 요청하는 제2 자원 소비기 사이에서 정책 충돌이 발생하면 상기 다기능 하드웨어 장치의 획득을 거부하는 단계를 더 포함하는 컴퓨터-판독가능 저장 매체.
  19. 삭제
  20. 삭제
KR1020097026217A 2007-06-27 2008-06-07 복합 자원 관리기 KR101279717B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/823,239 US8042122B2 (en) 2007-06-27 2007-06-27 Hybrid resource manager
US11/823,239 2007-06-27
PCT/US2008/066229 WO2009002686A1 (en) 2007-06-27 2008-06-07 Hybrid resource manager

Publications (2)

Publication Number Publication Date
KR20100021464A KR20100021464A (ko) 2010-02-24
KR101279717B1 true KR101279717B1 (ko) 2013-06-27

Family

ID=40162399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026217A KR101279717B1 (ko) 2007-06-27 2008-06-07 복합 자원 관리기

Country Status (10)

Country Link
US (1) US8042122B2 (ko)
EP (1) EP2160678B1 (ko)
JP (1) JP2010532046A (ko)
KR (1) KR101279717B1 (ko)
CN (1) CN101689103B (ko)
AU (1) AU2008268878B2 (ko)
CA (1) CA2687646A1 (ko)
MX (1) MX2009013455A (ko)
MY (1) MY151782A (ko)
WO (1) WO2009002686A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484616B1 (en) * 2009-06-23 2013-07-09 Emc Corporation Universal module model
US9244866B2 (en) 2010-04-30 2016-01-26 International Business Machines Corporation Remote access of peripheral device connected to serial bus
US9152523B2 (en) 2010-09-15 2015-10-06 Qualcomm Incorporated Batching and forking resource requests in a portable computing device
US8615755B2 (en) 2010-09-15 2013-12-24 Qualcomm Incorporated System and method for managing resources of a portable computing device
US9098521B2 (en) 2010-09-15 2015-08-04 Qualcomm Incorporated System and method for managing resources and threshsold events of a multicore portable computing device
US8631414B2 (en) 2010-09-15 2014-01-14 Qualcomm Incorporated Distributed resource management in a portable computing device
US8806502B2 (en) 2010-09-15 2014-08-12 Qualcomm Incorporated Batching resource requests in a portable computing device
ES2439803B1 (es) * 2012-04-19 2014-10-29 Universitat Politècnica De Catalunya Procedimiento, sistema y pieza de código ejecutable para controlar el uso de recursos de hardware de un sistema informático
US9378065B2 (en) 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
US9721086B2 (en) 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US10075384B2 (en) 2013-03-15 2018-09-11 Advanced Elemental Technologies, Inc. Purposeful computing
US9904579B2 (en) 2013-03-15 2018-02-27 Advanced Elemental Technologies, Inc. Methods and systems for purposeful computing
WO2014192259A1 (ja) * 2013-05-27 2014-12-04 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム
US20150127593A1 (en) * 2013-11-06 2015-05-07 Forever Identity, Inc. Platform to Acquire and Represent Human Behavior and Physical Traits to Achieve Digital Eternity
CA2958217A1 (en) * 2014-09-13 2016-03-17 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US10725831B2 (en) * 2014-10-08 2020-07-28 Hewlett Packard Enterprise Development Lp Resource federation
KR102343641B1 (ko) * 2015-03-13 2021-12-24 삼성전자주식회사 시스템 온 칩과 이를 포함하는 장치들
EP3286655A4 (en) * 2015-04-18 2018-12-12 INTEL Corporation Multimodal interface
JP6604213B2 (ja) 2016-01-20 2019-11-13 ティアック株式会社 制御機器
JP6686461B2 (ja) 2016-01-20 2020-04-22 ティアック株式会社 制御機器
JP6682871B2 (ja) 2016-01-20 2020-04-15 ティアック株式会社 制御機器
JP2017130808A (ja) 2016-01-20 2017-07-27 ティアック株式会社 制御機器
US10571225B2 (en) * 2016-11-22 2020-02-25 Walmart Apollo, Llc System and method for camouflaging and recharging autonomous vehicles
KR20180083572A (ko) * 2017-01-13 2018-07-23 삼성전자주식회사 전자장치 및 그 제어방법
CN107133108A (zh) * 2017-04-27 2017-09-05 努比亚技术有限公司 分布式复杂锁的实现方法、终端、服务器及计算机可读存储介质
US10080117B1 (en) * 2017-10-20 2018-09-18 International Business Machines Corporation Controlling operation of computing devices
CN111144689B (zh) * 2019-11-25 2022-11-29 广西电网有限责任公司 一种基于分层耦合约束的学校综合能效评价方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040062407A (ko) * 2002-12-31 2004-07-07 인터내셔널 비지네스 머신즈 코포레이션 자원 경쟁을 관리하기 위한 방법 및 장치
KR20040092248A (ko) * 2003-04-25 2004-11-03 정평모비컴(주) 전산자원의 원격제어 관리 시스템

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440740A (en) * 1992-10-13 1995-08-08 Chen; Fetchi System and method for managing devices on multiple digital signal processors
JPH11191089A (ja) * 1997-12-26 1999-07-13 Canon Inc データ処理装置のポート獲得解放処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6760784B1 (en) 1998-10-08 2004-07-06 International Business Machines Corporation Generic virtual device driver
JP2000222229A (ja) * 1999-02-04 2000-08-11 Seiko Epson Corp 複数ジョブの排他制御方法、排他制御装置および複数ジョブの排他制御プログラムを記録した媒体
US6766519B1 (en) 1999-03-26 2004-07-20 Emc Corporation Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation
US6216196B1 (en) 1999-05-14 2001-04-10 Ariel Corporation System and method for multiple device drivers to arbitrate for a single device
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US7058947B1 (en) 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
US7111297B1 (en) 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
US6938261B2 (en) 2000-05-12 2005-08-30 Microsoft Corporation System and method employing script-based device drivers
JP2002215483A (ja) * 2001-01-15 2002-08-02 Matsushita Electric Ind Co Ltd 機器制御システム並びに、機器制御システムにおけるコントローラ及びデバイス
US7207041B2 (en) 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
JP2004110370A (ja) * 2002-09-18 2004-04-08 Canon Inc デバイス一覧表示方法
US7069206B2 (en) 2003-04-24 2006-06-27 International Business Machines Corporation Method and apparatus for abstraction of physical hardware implementation to logical software drivers
US20050060409A1 (en) 2003-08-26 2005-03-17 Jean-Francois Dube Managing resources of chassis that include configurable network diagnostic modules
US7730482B2 (en) 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content
US7549154B2 (en) 2004-11-23 2009-06-16 Microsoft Corporation Extensible architecture for auxiliary displays
CN1282921C (zh) * 2004-11-24 2006-11-01 华南理工大学 一种嵌入式操作系统的驱动程序加固方法
US8091088B2 (en) 2005-02-22 2012-01-03 Microsoft Corporation Method and system for hierarchical resource management involving hard and soft resource limits
US7525676B2 (en) 2005-04-20 2009-04-28 Xerox Corporation System and method for controlling access to programming options of a multifunction device
US20060291406A1 (en) 2005-06-23 2006-12-28 Lexmark International, Inc. Device authentication method and system
US8284768B2 (en) * 2005-10-06 2012-10-09 Sierra Wireless, Inc. Dynamic bus-based virtual channel multiplexing device driver architecture
JP2007208594A (ja) * 2006-02-01 2007-08-16 Seiko Epson Corp 画像処理装置、画像処理方法及び画像処理プログラム
JP4391532B2 (ja) * 2007-01-16 2009-12-24 シャープ株式会社 制御装置、プログラム、コンピュータ読み取り可能な記録媒体、通信システム、および制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040062407A (ko) * 2002-12-31 2004-07-07 인터내셔널 비지네스 머신즈 코포레이션 자원 경쟁을 관리하기 위한 방법 및 장치
KR20040092248A (ko) * 2003-04-25 2004-11-03 정평모비컴(주) 전산자원의 원격제어 관리 시스템

Also Published As

Publication number Publication date
US20090007153A1 (en) 2009-01-01
CN101689103A (zh) 2010-03-31
KR20100021464A (ko) 2010-02-24
CA2687646A1 (en) 2008-12-31
EP2160678A1 (en) 2010-03-10
WO2009002686A1 (en) 2008-12-31
MX2009013455A (es) 2010-01-15
US8042122B2 (en) 2011-10-18
EP2160678B1 (en) 2018-12-05
JP2010532046A (ja) 2010-09-30
MY151782A (en) 2014-07-14
EP2160678A4 (en) 2011-11-30
CN101689103B (zh) 2013-04-24
AU2008268878B2 (en) 2012-06-07
AU2008268878A1 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
KR101279717B1 (ko) 복합 자원 관리기
US8201239B2 (en) Extensible pre-boot authentication
US5835737A (en) Method and apparatus for arbitrating access to selected computer system devices
US7926086B1 (en) Access control mechanism for shareable interface communication access control
US7996834B2 (en) Virtual machine self-service restrictions
US8909940B2 (en) Extensible pre-boot authentication
US20120054741A1 (en) User authentication virtual machine
US9262602B2 (en) Extensible bios interface to a preboot authentication module
US20100186082A1 (en) Web Management Authorization and Delegation Framework
US8082551B2 (en) System and method for sharing a trusted platform module
EP3312721B1 (en) Method and apparatus for invoking fingerprint recognition device, and mobile terminal
US20090254982A1 (en) Methods, programs and a system of providing remote access
JP2004334894A (ja) オペレーティング・システム区画内細粒度特権
US9460317B2 (en) Data processor and storage medium
US8271785B1 (en) Synthesized root privileges
US8359635B2 (en) System and method for dynamic creation of privileges to secure system services
US20100235545A1 (en) Methods and device for implementing multifunction peripheral devices with a single standard peripheral device driver
US20140380417A1 (en) Methods And Devices For Controlling Access To Distributed Resources
US8938473B2 (en) Secure windowing for labeled containers
US20120079393A1 (en) Adaptable License Platform for Remote Sessions
WO2023103992A1 (zh) 容器运行方法、装置、电子设备和存储介质
JP5166307B2 (ja) 接続機器利用システムおよびその方法
US20120254968A1 (en) Systems and methods for implementing security services
EP1873678A1 (en) Access right judgment system, access right judgment method, and access right judgment program
CN112470443B (zh) 将复位向的生物辨识装置隔离到远程会话

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 7