KR20060069338A - 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템 - Google Patents

컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20060069338A
KR20060069338A KR1020050124636A KR20050124636A KR20060069338A KR 20060069338 A KR20060069338 A KR 20060069338A KR 1020050124636 A KR1020050124636 A KR 1020050124636A KR 20050124636 A KR20050124636 A KR 20050124636A KR 20060069338 A KR20060069338 A KR 20060069338A
Authority
KR
South Korea
Prior art keywords
monitor
configuration
display device
video
monitors
Prior art date
Application number
KR1020050124636A
Other languages
English (en)
Other versions
KR101278791B1 (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 KR20060069338A publication Critical patent/KR20060069338A/ko
Application granted granted Critical
Publication of KR101278791B1 publication Critical patent/KR101278791B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/08Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/04Display device controller operating with a plurality of display units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/045Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/045Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
    • G09G2370/047Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial using display data channel standard [DDC] communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Digital Computer Display Output (AREA)

Abstract

본 발명은 컴퓨터 시스템을 모니터에 연결할 시 컴퓨터 시스템의 비디오-관련 설정들을 동적이며 지능적으로 구성하고/구성하거나, 분리 시에는 재구성하기 위한 시스템 및 방법에 대해 기술한다. 모니터 구성은 하나 이상의 디스플레이 기기, 그들의 비디오 설정들, 상대적 위치설정을 포함하며, 전력 방식 데이터를 포함할 수 있다. 모니터가 컴퓨터 시스템에 플러그인되거나 컴퓨터 시스템으로부터 언플러그될 경우, 모니터 관리자 컴포넌트에게 통지되어, 모니터 관리자 컴포넌트는 모니터 식별자에 기초하는 등에 의해 현재 구성을 판정한다. 현재 구성은 매칭되는 것을 찾기 위해 영속된 모니터 구성에 대해 검색된다. 이전 모니터 구성 데이터가 발견되면, 이전 모니터 구성을 적용한다. 만일 정확히 매칭되는 것이 존재하지 않으면, 구성 데이터는 영속된 유사한 구성 데이터에 기초하거나, 또는 비디오 카드 및 모니터를 사용할 수 있는 비디오 모드를 발견하기 위해 기능 질의를 행하고 필요에 따라 반복함으로써 구성된다.
모니터 관리자,

Description

컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템{SYSTEM AND METHOD FOR MANAGING MONITOR CONFIGURATIONS}
도 1은 본 발명을 구현할 수 있는 퍼스널 컴퓨터 시스템 형태의 범용 컴퓨팅 장치를 도시하는 블록도.
도 2는 본 발명의 여러 양상에 따라, 현재의 모니터 세트에 기초하여 모니터 구성 데이터를 적용시키는 것을 포함하여, 하나 이상의 모니터를 관리하는 컴포넌트들을 전반적으로 도시한 블록도.
도 3은 본 발명의 여러 양상에 따라, 컴퓨터 시스템을 모니터에 연결할 시에 일시적 모니터 관리자 컴포넌트가 취하는 일례의 단계들을 전반적으로 나타내는 흐름도.
도 4는 본 발명의 여러 양상에 따라, 컴퓨터 시스템으로부터 모니터를 분리시킬 때, 일시적 모니터 관리자 컴포넌트가 취하는 일례의 단계들을 전반적으로 나타내는 흐름도.
도 5는 본 발명의 여러 양상에 따라, 사용자가 모니터 구성 데이터를 대화식으로 변경할 때 일시적 모니터 관리자가 취하는 일례의 단계들을 전반적으로 나타내는 흐름도.
도 6 내지 10은 본 발명의 여러 양상에 따라, 여러 시나리오들을 처리하기 위해 일시적 모니터 관리자가 취하는 일례의 단계들을 전반적으로 나타내는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
204: 비디오 카드
206: 하드웨어 드라이버 계층
208: 소프트웨어 드라이버 계층
210: PNP(plug-and-play)
212: 일시적 모니터 관리자
213: 그래픽 인터페이스
220: 전력 API
본 발명은 일반적으로 컴퓨터 시스템에 관한 것으로, 특히, 컴퓨터 디스플레이 및 기타 디스플레이 기기를 관리하는 것에 관한 것이다.
어떤 컴퓨터 시스템의 사용자들, 특히 랩톱 컴퓨터 등의 이동 컴퓨팅 장치의 사용자들은 종종 그들의 컴퓨터 시스템을 디스플레이 모니터(또는 간략하게는 모니터) 등의 다른 디스플레이 기기에 연결할 필요가 있다. 예를 들어, 랩톱 컴퓨터가 내장형 모니터를 갖지만, 컴퓨터 사용자는 프레젠테이션을 행할 때 랩톱 컴퓨터를 대형 모니터 또는 그와 동등한 프로젝션 장치에 연결할 수 있다. 다른 예에서, 사 용자는 이동 컴퓨터를 사무실에 있는 한 모니터와 집에 있는 다른 모니터에 연결한다. 사실상, 어떤 유형의 이동 컴퓨터 시스템들은 모니터를 구비하지 않고 목적지들 간에서 이동하여, 이들 시스템을 각 목적지의 모니터에 연결하도록 설계되었다.
또한, 잘 알려진 것은 아니지만, 현 세대의 운영 체제(예컨대, 마이크로소프트사의 Windows® XP 운영 체제)는 다수의 모니터의 화면을 하나의 대형 화면으로 사용할 수 있도록 하는 방식을 포함하여, 여러 방식으로 다수의 모니터를 지원한다. 다시 말하자면, 운영 체제는 두 개 이상의 모니터 등에 동일한 화상을 동시에 디스플레이(클론 모드(clone mode)로 참조됨)하기 보다는, 모니터들을 설치된 비디오 카드들(또는 하나의 복수-헤드를 가진(multiple-headed) 카드)에 단일 데스크톱으로서 기능하도록 연결시켜 확장하며, 이를 통해 사용자는 모니터들 간에서 마우스 포인터를 이동시키고, 프로그램 윈도즈를 드래그할 수 있다. 이와 같이 확장된 화면 모드에서는, 운영 체제는 각 모니터마다 소프트웨어에 의해 관리되는 개별적인 설정들을, 예를 들어, 해상도, 리프레시 율(refresh rate), 색 농도(color depth) 등을 유지한다. 또한, 단일 애플리케이션으로 다수의 모니터들을 사용할 수 있는 게임 애플리케이션에서와 같은 상황들이 있으며, 이들 모니터들은 단일 애플리케이션에 의해 스패닝되며(span), 이런 스패닝 모드에서, 모니터들은 전형적으로 동일한 설정을 갖는다.
그러므로, 사용자들은 그들이 컴퓨터 시스템을 하나 이상의 디스플레이 기기에 연결시킬 수 있는 방법에서 상당한 유연성을 갖는다. 그러나, 컴퓨터 시스템의 디스플레이 기기의 현재 구성에 대한 변경이 있을 때, 예를 들어, 모니터가 연결 또는 분리될 때, 그런 변경을 조정하기 위해서는 아마도 상당량의 사용자 조작이 요구되어 진다. 이는 사용자에게 재구성에 근거하여 설정들을 변경하는 방법에 대한 지식을 알도록 요구하며, 때로는 사용자가 원하는 설정들을 기억하도록 하거나 이것으로 시험하게 하도록 요구한다.
이런 재구성 요구에 대한 한 이유는 사용자가 연결할 수 있는 디스플레이 기기의 유형이 많이 있으며, 서로 다른 기능, 화면 크기 등이 다수 존재하기 때문이다. 또 다른 이유는 일부 컴퓨터 시스템들은 다수의 사용자를 가지며, 각각의 사용자는 서로 다른 설정들을 원할 수 있기 때문이다. 일부 사용자들이 사무실 모니터에서 집 모니터로 변경할 때나 그 반대의 경우, 또는 다른 사용자가 로그 아웃한 후에 로그인을 할 때마다 설정을 재구성하는 것을 기억하지 못할 수 있는 반면, 다른 사용자들은 원하는 변경을 행할 충분한 지식이 없거나, 변경사항을 귀찮아 하지 않는 데, 예를 들면, 사용자는 다른 사용자의 환경설정을 허용하거나, 두 위치에서 동일한 설정을 사용한다("최소-공통-분모(lowest-common-denominator)" 해법이지만, 모니터들 중 하나에 대해 다른 설정이 적합할 수도 있음). 다른 상황에서는, 아주 정교한 컴퓨터의 사용자들은 그들이 연결할 필요가 있는 특정 디스플레이 기기에 대해 아무것도 모를 수 있는 데, 예를 들어, 대형 모니터 또는 프로젝션 장치를 이용할 수 있는 어떤 것에든 연결하고자 하는 누군가에게 프레젠테이션을 제공하는 사용자이다. 또한, 가까운 미래에는, 여러 텔레비전 수상기 및 비행기에 설치된 디스플레이가 컴퓨터 모니터로서 기능하는 컴퓨터 연결을 제공하게 될 가능성이 있어, 항공 여행자 및/또는 호텔 방 등에 머무는 여행자들은 그 텔레비전 수상 기 또는 디스플레이에 연결할 것이므로, 컴퓨터의 비디오 설정을 해당 텔레비전 수상기 또는 디스플레이에 적응하도록 재구성할 필요가 있다. 사전 설정 해법은 실현 가능하지 않다는 것에 유념해야 하는 데, 예를 들어, 서로 다른 환경으로 인해, 기능이 상이한 다양한 이런 종류의 디스플레이 기기가 있을 수 있기 때문이며, 예를 들면, 호텔 방에 있는 텔레비전 수상기는 비행기 좌석에 장착되어 있는 디스플레이보다 거의 대형인 것이 일반적이기 때문이다.
실제로, 사용자가 특정 디스플레이 기기에 연결할 때, 그가 재구성을 할 필요가 있거나 또는 원하는 변수는 해상도, 색 농도, 및 리프레시 율이 전부이다. 이들 설정들은 컴퓨터 시스템에 설치된 비디오 카드(또는 카드들)의 기능에 관련하여 디스플레이 기기의 기능에 의해 결정된다. 화면 크기는 기존의 설정을 변경시키는 또 다른 이유인데, 이는 어느 한 디스플레이 기기 상에서 양호하게 보이는 시청가능한 객체들이 또 다른 디스플레이 기기의 설정들로 사용될 때는 너무 작거나 또는 너무 크게 보일 수 있기 때문이다. 고려해야 할 또 다른 인자로는 전력 소모인데, 이는 일정한 설정(예컨대, 높은 리프레시 율)을 갖는 것은 다른 것보다 많은 전력을 소모하여, 전지 수명을 보존하려고 할 경우에는 바람직하지 않을 수 있다.
요약하자면, 컴퓨터 시스템을 디스플레이 기기에 따라 동작하도록 재구성하는 여러 방법이 있으며, 사용자가 연결할 수 있는 여러 유형의 디스플레이 기기가 존재한다. 또한, 컴퓨터 시스템에 연결하기 위해 다수의 디스플레이 기기를 이용할 때 여러 선택사항이 있다. 필요한 것은 사용자가 하나 이상의 디스플레이 기기에 연결하고자 할 때, 여러 가능한 사용자 시나리오를 처리하고 사용자들에게 바람 직한 결과를 제공해 주는 유연한 방식으로 사용자 경험을 단순화시키는 방법이다.
간략히 기술하자면, 본 발명은 컴퓨터 시스템을 모니터 또는 기타 디스플레이 기기에 연결할 때 컴퓨터 시스템의 모니터-관련된 설정들을 동적이며 지능적으로 구성하고/구성하거나, 분리 시에 재구성하기 위한 시스템 및 방법을 제공한다. 본 발명은 특정 디스플레이 기기에 대한 설정 변경뿐 아니라, 모니터 화면의 서로에 대한 상대 위치설정 등의 정보, 및 그들 비디오 모드에 영향을 미치는 정보(예컨대, 전력 방식)와 함께, 하나 이상의 디스플레이 기기의 개념, 및 그들 각자의 비디오 설정 및 모드를 포함하는 모니터 구성 전체에 대한 설정 변경을 행할 수 있다. 본원에서 사용된 용어 "모니터" 및 "디스플레이 기기"는 등가물로서 일반적으로 호환가능하게 사용된다(비록 일부 다른 환경에서는 프로젝터 등의 디스플레이 기기는 자구적인 의미로 모니터로서 고려되지 않을 수 있다).
모니터가 컴퓨터 시스템에 플러그인 될 때, 소프트웨어 내의 일시적 모니터 관리자 컴포넌트에 통지되어, 이 컴포넌트는 컴퓨터 시스템 상에 이미 구성되어 있는가를 알아보기 위해 모니터의 식별을 시도한다. 딱 들어맞게-연결된(just-connected) 모니터의 식별자를 포함하는 것에 대한 영속적 모니터 구성을 검색하며, 이는 연결된 다른 각각의 모니터에 대한 각자의 식별자와 결합하여 유지될 수 있다. 모니터 구성 데이터가 이미 설정되어 있으면, 딱 들어맞게-연결된 모니터의 설정된 비디오 모드와, 연결된 다른 임의 모니터 또는 모니터들의 설정된 비디오 모드를 획득할 수 있어, 그들 비디오 모드가 획득된다. 만일 정확히 매칭되는 것 이 아닌 경우에는, 이미 설정되었던 유사한 구성으로부터 데이터를 획득할 수 있다. 변경이 필요하게 되면, 모든 모니터에 대한 비디오 모드를 한 번에 적용시킬 수 있어, 사용자와의 대화 없이 단지 한 번의 '플래시' 또는 리프레시만을 필요로 한다. 이미 플러그인된 임의 모니터들의 비디오 모드들을 변경시킬 필요가 없는 모니터 구성이 발견될 수 있다.
본 발명은 한 구현예에서, 운영 체제에서 비디오 스택에 의해 제공되는 PNP(plug-and-play) 이벤트의 수신으로 표시되는 바와 같이, 모니터의 연결 또는 분리에 대해 동작한다. 본 발명은 또한 사용자가 로그아웃 중인 동안 모니터 변경이 일어나는 상황들을 처리하기 위해 사용자가 로그인할 때, 사용자가 컴퓨터를 잠그고 난 후 잠금 해제할 때, 또는 빠르게 사용자 전환이 일어날 때 동작한다.
일시적 모니터 관리자 컴포넌트는 도달 즉시 하나 이상의 모니터를 구성하되, 공지의 구성이 이미 설정되어 있으면 공지된 구성으로 구성할 수 있거나, 또는 이미 설정되어 있지 않으면, 가장 가능성있는 바람직한 구성(가능한 정도까지)으로 구성될 수 있다. 특히, 매칭되는 구성이 발견되지 않으면, 시스템의 비디오 기능 및 연결된 각 모니터의 기능에 기초하여 새로운 구성이 결정되지만, 전력 및 동작 타입(예컨대, 미디어 재생 대 화상 뷰잉) 등의 다른 인자들은 주어진 모니터 구성을 변경시킬 수 있다.
한 구현예에서, 모니터가 이전에 컴퓨터 시스템에 연결되지 않았으면, 모니터는 가능한 비디오 모드에 대해 질의를 받는다. 모니터가 응답하면, 반환된 정보를 이용하여 현재 비디오 카드의 기능에 상관하여 해당 모니터에 대한 가능한 최 적 설정을 결정하고, 사용자와의 대화 없이 비디오 모드를 적용시킬 수 있지만, 특정 모니터를 만난 제1 시점 등의 사용자에게 임의 사용자 인터페이스를 제공하는 것도 실현 가능하다. 모니터가 비디오 모드 정보를 갖지 않으면, 표준(예를 들어, 최소한의) 비디오 모드 구성이 사용될 수 있다. 대부분의 경우에는, 모니터 구성이 정확한지에 대한 사용자 확인은 단지 시스템이 모니터 구성을 찾을 수 없어 모니터가 비디오 모드 정보를 제공하지 못하는 경우에만 필요로 된다.
가능한-최적(likely-best) 모니터 구성을 찾기 위해 최적-추정(best-guess) 모니터 구성에 대한 검색을 한층 더 강화시킬 수 있다. 이들 강화는 현재 플러그인된 모니터들이 이전에 확인되었던 시나리오에서 기존의 설정들을 사용하는 것을 포함할 수 있지만, 동일한 모니터 구성에서는 아니다.
새로이 연결된 모니터를 지능적으로 구성하는 것 이외에도, 분리 시에 관리자 컴포넌트는 임의 생존해 있는(여전히 연결된) 모니터 또는 모니터들을 구성 변경을 조정하도록 재구성할 수 있다. 이는 설정 변경을 포함할 수 있고, 또한 분리된 모니터 상에 보여졌던 윈도즈 및 다른 화상들을 생존해 있는 모니터 또는 모니터들로 이행시키는 것을 포함할 수 있다. 관리자 컴포넌트는 사용자가 구성(예를 들어, 하나 이상의 설정들)에 대해 행한 임의 수동 변경을 추적하여 동일한 모니터 또는 유사한 타입의 모니터를 만나면 구성을 자동으로 복원시킨다.
또한, 본 발명은 모니터 구성이 변경될 때 비디오 모드를 설정할 책임이 있으므로, 본 발명은 저전력 상태를 경험할 수 있는 이동 장치들을 다룰 때와 같이, 전력 보존이 중요한 컴퓨터의 전력을 보존하는 데 필요한 비디오 모드 변경을 처리 하도록 확장가능하다. 일시적 모니터 관리자는 전력 방식 변경을 통지받을 수 있고 균일한 전력 정책 규칙을 적용시키는 행위를 할 수 있다. 이런 특징은 이동 장치들에 대한 현 세대의 디스플레이 장치 드라이버들이 멀티-모니터를 인식하지 못하므로, 이동 장치가 종종 그 내부 모니터에 대해서만 전력-관련된 비디오 모드 변경을 행할 것이다.
본 발명의 다른 이점들은 첨부된 도면을 참조하면서 기술한 이하의 상세한 설명으로부터 명백해 질 것이다.
예시적인 동작 환경
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 예를 나타낸다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 한 가지 예일 뿐이며, 본 발명의 사용 또는 기능의 범위를 제한하는 것으로 의도되지 않는다. 컴퓨팅 환경(100)이 예시적인 동작 환경(100)에서 도시된 컴포넌트들 중 하나 혹은 임의 결합에 관련하여 어떤 요건이나 종속성을 갖는 것으로 해석되어서는 안 된다.
본 발명은 수많은 기타 범용 또는 전용 컴퓨팅 시스템 환경 또는 구성에서 동작한다. 본 발명을 사용하기에 적합할 수 있는 공지된 컴퓨팅 시스템, 환경, 및/또는 구성의 예로서, 퍼스널 컴퓨터, 서버 컴퓨터, 휴대형 또는 랩톱 장치, 태블릿 장치, 멀티프로세서 시스템, 마이크로프로세서 기반의 시스템, 셋톱 박스, 프로그램가능한 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템과 장치들 중 임의의 하나를 포함하고 있는 분산 컴퓨팅 환경 등을 들 수 있 으나, 이에만 한정되지 않는다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터-실현 가능 명령어들의 일반적인 관점에서 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 특정 추상화 데이터형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 작업이 통신 네트워크를 통해 링크된 원격 프로세싱 장치에 의해 수행되는 분산 컴퓨팅 환경에서 또한 실현 가능하다. 분산 컴퓨팅 환경에서, 프로그램 모듈이 메모리 저장 장치를 포함한 로컬 및/또는 원격 컴퓨터 저장 매체에 위치할 수 있다.
도 1을 참조하여, 본 발명을 구현한 예시적인 시스템은 컴퓨터(110) 형태인 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함해서 다양한 시스템 컴포넌트들을 프로세싱 유닛(120)에 결합시키는 시스템 버스(121)를 포함할 수 있으나, 이에만 한정되지 않는다. 시스템 버스(121)는 메모리 버스 또는 메모리 제어기, 주변 장치 버스, 다양한 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함하여 여러 형태의 버스 구조들 중 임의의 것일 수 있다. 예로서, 이런 아키텍처는 업계 표준 구조(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, Enhanced ISA(EISA) 버스, 비디오 전자 공학 표준 협회(VESA) 로컬 버스, 및 메자닌 버스라고 알려진 주변 장치 상호 연결(PCI) 버스를 또한 포함하나, 이에만 한정되지 않는다.
컴퓨터(110)는 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스 될 수 있는, 휘발성 혹은 비휘발성 매 체, 분리형 혹은 비분리형 매체 모두를 포함하는 임의 이용가능한 매체일 수 있다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함하며, 이에만 한정되지 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어들, 데이터 구조, 프로그램 모듈들, 또는 기타 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술이 구현되는 휘발성 혹은 비휘발성, 분리형 혹은 비분리형 매체 모두를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD, 또는 기타 광디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치, 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스 될 수 있는 원하는 정보를 저장하는데 사용될 수 있는 기타 다른 매체들을 포함하나, 이에만 한정되지 않는다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어들, 데이터 구조, 프로그램 모듈, 또는 기타 데이터를 반송파 또는 기타 전송 메커니즘 등에 구현한 것이며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"란 용어는 신호의 하나 이상의 특징을 신호에 있는 정보를 부호화하는 방식으로 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크, 유선에 의한 직접 연결과 같은 유선 매체와, 음파, RF, 적외선 같은 무선 매체, 기타 무선 매체를 포함하나, 이에만 한정되지 않는다. 상기의 것들을 임의로 결합한 것도 컴퓨터 판독가능 매체의 범위 내에 또한 포함되어야 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM:130) 및 임의 접근 메모리(RAM:132)와 같은 휘발성 및/또는 비휘발성 형태의 컴퓨터 저장 매체를 포함한다. 시작할 때 등에 컴퓨터(110) 내의 구성 요소들 사이의 정보 전달을 돕는 기본적인 루틴들을 포함하는 기본 입력/출력 시스템(BIOS)은 전형적으로 ROM(131)에 저장된다. RAM(132)은 전형적으로 프로세싱 유닛(120)에 의해 현재 동작되거나/되는 즉시 액세스 가능한 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 예시하나, 이에만 한정되지 않는다.
컴퓨터(110)는 또한 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1은 비분리형 비휘발성 자기 매체로부터 판독하거나 이것에 기입하는 하드 디스크 드라이브(141), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 이것에 기입하는 자기 디스크 드라이브(151), 및 CD-ROM 디스크 또는 기타 광매체와 같은 분리형 비휘발성 광디스크(156)로부터 판독하거나 이것에 기입하는 광디스크 드라이브(155)를 예시한다. 예시적인 동작 환경에서 사용될 수 있는 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테입 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테입, 고체 상태 RAM, 고체 상태 ROM 등이 될 수 있으나, 이에만 한정되지 않는다. 하드 디스크 드라이브(141)는 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 전형적으로 연결되고, 자기 디스크 드라이브(151) 및 광디스크 드라이브(155)는 인터페이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 전형적으로 연결된다.
상기 도 1에서 예시되고 논의된 드라이브들 및 관련 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터를 컴퓨터 (110)에 제공한다. 도 1에서, 예를 들면 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램들(145), 기타 프로그램 모듈들(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이런 컴포넌트들은 운영 체제(134), 애플리케이션 프로그램들(135), 기타 프로그램 모듈들(136), 및 프로그램 데이터(137)와 동일하거나 다를 수 있음에 유의해야 한다. 운영 체제(144), 애플리케이션 프로그램들(145), 기타 프로그램 모듈들(146), 및 프로그램 데이터(147)는 최소한 그것들이 다른 복제본이라는 것을 예시하기 위해 본원에서 다른 숫자를 부여받는다. 사용자는 태블릿 또는 전자 디지타이저(164), 마이크로폰(163), 키보드(162) 및 주로 마우스나 트랙볼 또는 터치 패드로 지칭되는 포인팅 장치(161) 등의 입력 장치를 통해 명령어와 정보를 컴퓨터(110)에 입력할 수 있다. 도 1에 도시되지 않은 기타 입력 장치는 조이스틱, 게임 패드, 위성 접시형 안테나, 스캐너 등을 포함할 수 있다. 상기 장치들과 기타 입력 장치들은 자주 시스템 버스(121)에 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 연결되지만, 예를 들면, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(USB)와 같은 버스 구조 및 기타 인터페이스에 의해 연결될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190)와 같은 임의의 인터페이스를 통해 시스템 버스(121)에 연결될 수 있다. 모니터(181)는 또한 터치식 화면 패널 등을 포함할 수 있다. 모니터 및/또는 터치식 화면 패널은 태블릿형 퍼스널 컴퓨터 등의, 컴퓨팅 장치(110)가 통합된 하우징(housing)에 물리적으로 결합될 수 있음에 유의해야 한다. 또한, 컴퓨팅 장치(110) 등의 컴퓨터는 출력 장치 인터페이스(194) 등을 통해 연결 될 수 있는 스피커(195)와 프린터(196) 등의 기타 주변 출력 장치들도 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터들로의 논리적 연결을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치, 또는 기타 공동 네트워크 노드일 수 있으며, 메모리 저장 장치(181)만이 도 1에 예시되었을 지라도 상기에 컴퓨터(110)에 관련되어 기술된 구성요소들 중 다수 혹은 모두를 전형적으로 포함한다. 도 1에 도시된 논리적 연결들은 근거리 통신망(LAN:171)과 광역 통신망(173:WAN)을 포함하나, 기타 네트워크들도 포함할 수 있다. 그러한 네트워킹 환경들은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스(170)나 어댑터를 통해 LAN(171)으로 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 전형적으로 인터넷과 같은 WAN(173)을 거쳐 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장 또는 외장될 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)로 연결될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관련되어 도시된 프로그램 모듈이나 그들의 일부는 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 메모리 장치(181)에 상주하는 원격 애플리케이션 프로그램(185)을 예시하나, 이에만 한정되지 않는다. 도시된 네트워크 연결들은 예시적이며, 컴퓨터들 사이에 통신 링크를 설정하기 위한 기타 수단들이 사용될 수 있다는 것을 인식해야 한다.
하기에 기술된 바와 같이, 본 발명은 일반적으로 예컨대, 하나 혹은 다수의 원격 시스템상에 상주하는 SQL 서버 및/또는 XML 데이터 제공자(웹 서비스)에 해당하는 데이터 소스를 포함할 수 있는 데이터 소스에 관한 것이다. 도 1의 컴퓨팅 환경(100)은 SQL 서버에 의해 제공된 데이터, 웹 서비스 서버에 의해 제공된 데이터, 및 기타 데이터를 비롯하여 임의 로컬 및/또는 원격 데이터 소스를 포함하는 것으로 이해된다.
모니터 구성을 관리하기
본 발명은 일반적으로 하나 이상의 모니터가 구성되는 방법에 관한 변경들이 관리 컴포넌트에서 검출되고, 대부분의 사용자가 선호할 것 같은 방법으로, 그 변경을 보상하기 위해 컴퓨터 관리된 모니터 구성 데이터를 자동으로 적용시킬 수 있는 시스템 및 방법에 관한 것이다. 본 발명을 구현하기 위한 수많은 방법이 실현 가능하지만, 단지 일부 대안들만 본원에 기술된다. 예를 들면, 본 발명은 하나 이상의 비디오 카드가 설치될 수 있는 컴퓨터 시스템을 참조하여 기술되고, 여기서 컴퓨터 시스템으로/으로부터의 모니터의 연결 및 분리가 PNP(plug and play) 기술에 기초한 컴포넌트 등의 운영 체제 컴포넌트에 의해 검출된다. 그러나, 본 발명은 텔레비전 수상기에 연결되는 미디어 재생기 등의 다른 유형의 장치들에 대신 구현될 수 있다. 사실상, 기능들에 대응하는 일부 데이터 또는 식별자를 또 다른 장치에 전달할 수 있는 컴퓨터 모니터, 텔레비전 수상기, 프로젝터 장치 등의 임의 디스플레이 기기는 본 발명으로부터 이점을 얻을 수 있다. 이와 같이, 본 발명은 본원에 기술된 임의 특정 예들에만 한정되는 것이 아니라, 오히려 일반적인 컴퓨팅 에 있어서 이점 및 장점을 제공하는 다양한 방법들에 사용될 수 있다.
또한, 본 발명의 소정의 예는 특히 VESA(Video Electronic Standards Association)에 의해 정의된 "Extended Display Indentification Data" 또는 EDID라는 식별자를 가진 컴퓨터 모니터들을 다양하게 참조하여 기술된다. 일반적으로, EDID는 컴퓨터 모니터가 그 연결된 호스트 컴퓨터 시스템에게 모니터들의 ID(identity)와 기능들을 알려줄 수 있는 데이터 구조이다(E-EDID로 지칭되는 확장된 EDID 데이터 구조는 이런 식별자의 나중 버전임). 그러나, 본 발명은 EDID를 가진 모니터에만 한정되지 않고, 오히려 임의의 식별 시스템과 함께 동작할 것이다. 그러므로, 본원에 사용된 바와 같이, 용어 "식별자"와 그 변형들은 EDID 및 E-EDID 표준에 기초한 데이터 구조를 포함하여 디스플레이 기기가 연결된 호스트 시스템에게 그 자신 및/또는 자신의 기능들을 식별해주는 임의의 방법을 포함한다.
또한, 본원에서 사용된 바와 같이, 용어 "연결된(connected)", "결합된(coupled)", "플러그인된(plugged-in)", 및 그 변형들은 동등한 뜻이며, 일반적으로 데이터가 유선 매체로 전달되느냐 혹은 무선 매체를 통해 전달되느냐에 상관없이 모니터와 컴퓨터 시스템 사이에 적어도 한 방향으로 데이터를 전달할 수 있는 상태(state)를 나타낸다. 반대의 상태, 즉 물리적인 통신 매체를 제거한 경우, 무선 영역을 벗어난 경우, 또는 간섭 상태, 모니터 또는 비디오 헤드의 전원이 나간 상태(power-off state)(랩톱 등에 있어서 전원이 나간 내장형 모니터 등을 포함함) 등을 포함하여 어떤 이유에서든지 데이터가 전달될 수 없는 경우는 그 각각의 변형들과 함께, "분리된(disconnected)", "결합해제된(decoupled)", 또는 "언플러그된 (unplugged)" 것과 동등한 의미로 지칭된다.
도면들을 참조하여, 도 2는 본 발명이 구현될 수 있는 예시적인 컴포넌트의 배치를 도시한다. 도 2에서, 하나 이상의 모니터(2021 및 2022)를 포함하는 디스플레이 기기는 비디오 케이블을 통해 모니터에 물리적으로 플러그인 되는 것과 같이, 하나 이상의 비디오 카드(비디오 어댑터)에 연결되거나 이로부터 분리될 수 있다. 단지 2개의 모니터만이 도 2에 도시되어 있지만, 임의 개수의 모니터가 실현가능하게 연결될 수 있음을 이해해야 한다. 현 세대의 컴퓨터 시스템은 AGP 또는 PCI 기반의 비디오 카드 등의 복수의 비디오 카드를 지원하고, 또한 복수의 비디오 헤드를 가진 단일 비디오 카드가 상업적으로 이용가능하다는 점에 유의해야 한다. 또한, 도 2에 구체적으로 나타나진 않았지만, 비디오 "카드"의 개념은 실제로 분리형 카드에는 없는 내장형(built-in) 비디오 회로(circuitry)와 동등한 개념이다.
모니터(2022) 등의 디스플레이 기기가 연결되거나 분리될 때일 지라도 컴퓨터 시스템이 동작 중인 동안, 신호가 비디오 카드(204)로부터 비디오 스택(하드웨어 및 소프트웨어 드라이버 계층(206 및 208) 등)을 통해 운영 체제 메커니즘으로 전송되며, 운영 체제 메커니즘은 도 2에 나타난 바와 같이 PNP(plug-and-play) 컴포넌트(210)에 의해 하드웨어 변경들을 감지하도록 구성된다. PNP 컴포넌트(210)가 시스템을 통해 이벤트를 적절한 개체들(entities)에 전송함으로써, 일시적 모니터 관리자(212)로서 지칭되는 사용자 모드 컴포넌트는 연결 또는 분리 이벤트에 대해 알게 된다. 이런 배치는 현재 기술을 강화하고, 대안적인 구성에서, 일시적 모 니터 관리자는 커널 컴포넌트로서 구현될 수 있고/거나 PNP 컴포넌트(210) 없이 모니터 연결 및 분리를 감지하도록 구성될 수 있다.
본 발명에 따르면, 일시적 모니터 관리자(212)는 예컨대 그래픽 인터페이스(213)(예컨대, GDI 기반의 소프트웨어)를 통한 API 호출(call) 등을 통해 질의하기에 의해, 연결된 모니터들에 관한 정보를 찾을 수 있다. 이런 제1 질의는 모니터의 연관된 식별자(예컨대, EDID)를 획득하기에 관한 것일 수 있는데, 모니터가 이런 표준을 지원하는 경우, 즉 부분 EDID가 가능한 정도까지 사용되고 반면에 NULL EDID는 디스플레이 기기를 최소한으로 설정하고 사용자 확인을 획득함으로써 핸들링되는 경우 그러하다. 보다 구체적으로는, 실제로 모든 모니터가 고유한 일련 번호를 가지지 않기 때문에, 새로운 모니터가 플러그인될 경우, 유사한 모니터들의 구성이 사용될 수 있다. 시스템은 모니터의 제조 코드(manufacture code)와 제품 식별자를 검사할 수 있고, 그 결합이 이전에 확인되었던 것인지를 알 수 있다. 이런 두 가지 정보가 매칭(match)되는 경우, 그 일련 번호가 모니터를 더 식별하는데 사용될 수 있다. 일련 번호가 고유하지 않으면, 모니터로부터의(예컨대, EDID 데이터 구조로부터의) 다른 정보가 모니터를 식별하기 위해 사용될 수 있다.
일련 번호가 반드시 모니터를 식별하기 위한 최적 수단은 아니다. 모니터를 식별하기 위한 또 다른 방법은 전체 EDID 또는 EDID의 일부분을 해시 코드로 변환하고, EDID를 해시 테이블에 저장하는 것이다. 모니터의 상표(make)와 모델은 EDID의 일부분이므로, EDID에 대한 해시 테이블로의 엔트리 포인트는 상표와 모델 정보에 대한 해시 테이블을 포함한다. 이는 보다 많은 정보에 대해 다시 모니터에 질의할 필요가 없게 한다(이하에 기술됨). 그러므로, 식별자 등의 EDID를 사용하기가 보다 선호될 수 있는데, 왜냐하면 일부 모니터들은 일련 번호 또는 모니터상표 및 모델에 대한 고유한 일련 번호를 가질 수 없기 때문이다. 모니터 식별하기를 더 돕기 위해, 컴퓨터가 연결되어 있는 네트워크 및 EDID에 사용되는 해시 코드에 숨겨진(folded) 정보가 식별될 수 있다,
모니터가 EDID를 가지지 않는 경우(또는 NULL EDID를 가지지 않는 경우), 다양한 기타 식별 메커니즘이 수반될 수 있다. 예를 들면, 모니터가 내부 모니터(랩톱의 내장형 LCD 패널)라고 설정될 수 있는 경우, 이는 모니터들을 구별하는데 사용되는 식별 형태 중 하나가 될 수 있다. 모니터를 구별하는 또 방법이 없고 NULL EDID를 가지는 경우, 알고리즘(일반적으로 이하에 기술됨)이 특수한 모니터 식별자를 지정할 수 있다. 그러나, 하나 이상의 NULL EDID 모니터가 있는 경우, 2개의 모니터에 대한 여러 가지 모니터 설정들을 저장할 방법이 없다. 이런 경우에, 2개의 모니터가 동일한 비디오 설정을 공유하거나, 알고리즘이 그 모니터들을 새로운 모니터들로서 간주할 것이다.
이하에 기술된 바와 같이, 현재 모니터 구성을 판정하기 위해, 딱 들어맞게-연결된 모니터(이용가능할 경우)의 식별자는 이미 연결된 것으로 알려진 하나 이상의 다른 모니터들의 하나 이상의 식별자들에 관련되어 사용된다. 필요할 때, 일시적 모니터 관리자(212)는 연결된 하나 이상의 현재 세트를 알아내기 위해 모든 연결된 모니터들(응답할 수 있는 모니터들)에 질의할 수 있음에 유의해야 한다. 예를 들면, 이것은 시동 이후에, 최종 모니터 구성에 대한 다수의 변경들이 대응하는 감지된 PnP 이벤트 없이, 셧다운(shutdown)(또는 동면하기(hibernate) 등의) 동안에 행해질 수 있을 때 필요하다. 유사하게, 어떤 모니터가 분리되었는지 식별하지 못하는 접속해제 이벤트의 경우, 일시적 모니터 관리자(212)는 제거 프로세스에 의해 어떤 모니터가 분리되었는지를 판정하기 위해 임의의 생존해 있는 모니터에 질의할 수 있다.
본 발명의 양상에 따르면, 일단 일시적 모니터 관리자(212)가 현재 연결된 하나 이상의 모니터 세트에 대해 알게 되면, 일시적 모니터 관리자(212)는 그 세트에 적용하기 위한 모니터 구성(한 세트의 데이터)을 판정하고, 필요한 임의의 사용자 확인 없이 이를 적용시키는 것이 가능하다. 이하에 기술된 바와 같이, 모니터 구성을 판정하는 것은 그 세트에 대한 모니터 구성이 이전에 설정되었는지, 혹은 집합이 새로운 모니터 구성에 대응하는지에 따를 수 있으며, 이런 경우에 일시적 모니터 관리자(212)는 지능적인 방식으로 그 세트에 대한 새로운 모니터 구성을 본질적으로 생성하고 생성된 모니터 구성을 적용시킨다.
대응하는 모니터 구성이 이전에 설정되었던 것인지 판정하기 위해, 일시적 모니터 관리자(212)는 데이터 저장소(214)에 유지되는 모니터 구성 데이터를 액세스한다. 일반적으로 매칭되는 모니터 구성이 발견되면, 이것이 적용되어서 새롭게 연결된 모니터와 임의 다른 연결된 모니터들이 각각의 모니터에 대한 이전의(prior) 비디오 상태를 회복하기 위해 필요한 대로 자동으로 변경된다. 비디오 상태는 소프트웨어에 의해 설정될 수 있는 임의 비디오 관련 값(예컨대, 해상도, 리프레시 율, 색 농도, 배향(orientation), 휘도(brightness), 콘트라스트 (contrast), 비디오 헤드 상태 온(on) 또는 오프(off), 및/또는 모니터의 DPI)을 지칭한다. 복수의 모니터를 가진 구성의 경우, 비디오 상태는 또한 형상(geometry)이라 지칭되는, 다른 모니터들에 대한 모니터들의 (대응하는 컴퓨터 데스크톱에서의) 상대적인 논리적 위치를 포함한다. 그러므로 모니터 구성의 개념은 형상과 함께 하나 이상의 모니터 세트에 대한 비디오 설정들/모드들과, 그 비디오 설정들/모드들에 영향을 주는 기타 정보(예컨대, 전력 방식)를 포함한다는 것에 유의해야 한다. 가능한 정보 모두가 모니터 구성을 영속시키고 적용시키기 위해 알려질 필요는 없지만, 이용가능하고 영속되는 구성 정보가 많을수록, 동일한 세트가 재연결되는 다음 시점에, 일시적 모니터 관리자(212)는 시스템을 그 이전의 상태로 더 잘 복원할 수 있다는 점을 쉽게 인식할 수 있다.
일시적 모니터 관리자(212)가 모니터 세트에 적용되는 설정들을 적어도 일시적으로 수정할 수 있는 전력 API(220)가 도시된다. 저전력 상태 등의 전력 이벤트들 또는 전원 소스에 재연결되는 이동 장치가 일시적 모니터 관리자(212)에서 검출될 수 있어서, 비디오 설정을 변경하는 기초로서 사용될 수 있음을 쉽게 인식할 수 있다.
도 3은 예컨대, 단계(300)를 통해 나타난 바와 같이, PnP(plug-and-play) 이벤트를 통해 모니터가 플러그인 되었던 것으로 검출될 때, 일시적 모니터 관리자(212)에 의해 수행될 수 있는 다양한 연산들을 요약하는 흐름도이다. 단계(302)는 이것이 새로운 모니터인지 혹은 이 컴퓨터 시스템이 이전에 만난 모니터인지에 관한 판정을 나타낸다. 이 단계는 암시적으로 모니터에 연관된 식별자를 평가하는 것을 포함하며, 이는 식별자를 획득하기 위한 연속적인 질의형 연산을 통해 얻어지는 것으로서 고려될 수 있으나, 식별자가 연결 이벤트에 관련하여 제공되는 것이 실현 가능하다. 모니터가 이전에 연결되었던 것인지를 판정하는 다양한 방법이 하기에 기술되어 있지만, 일반적으로 모니터가 이전에 연결되었던 것이라면, 그 모니터는 데이터 저장소(214)에 유지되는 데이터를 가진 적어도 하나의 모니터 구성에 대응한다. 유틸리티 프로그램 등이 더 이상 필요하지 않은 모니터 구성을 데이터 저장소(214)로부터 삭제하는데 사용될 수 있고, 본원의 예시적인 설명을 위해, 임의의 이전 모니터 구성이 데이터 저장소(214)에 저장된 채 유지된다고 가정한다는 점에 유의해야 한다.
모니터가 적어도 하나의 모니터 구성에 대응하여서 이 컴퓨터 시스템에게 새로운 것이 아닐 경우, 단계(302)는 단계(304)로 분기하고, 전체적인 구성(임의 다른 연결된 모니터들을 포함함)이 평가되고, 딱 들어맞게-연결된 모니터의 식별자에 대응하는 데이터를 포함하는 임의 모니터 구성에 정확히 매칭되는 것을 찾는다. 일반적으로, 일시적 모니터 관리자(212)는 사용자가 이전에 가졌던 것에 매칭되는 구성을 찾는다. 단계(304)에서 하나가 발견되면, 단계(306)에서 그 모니터 구성이 (하나 이상의) 모니터 세트를 그 이전 구성으로 리셋하기 위해 사용되고, 일시적 모니터 관리자(212)의 프로세스는 다시 필요할 때까지 종료된다. 단계(302) 및/또는 단계(304)에서 예컨대, 딱 들어맞게-연결된 모니터가 매칭된 것으로서 고려되는 또 다른 모니터와 상당히 유사한 경우에, 정확히 매칭되는 것보다는 대략 매칭되는 것(동일한 상표 및 모델)을 요구하는 것이 가능함에 유의해야 한다. 기존의 모니 터 구성을 적용시키는 것이 수많은 유형의 사용자들을 위한 대다수 합리적인 경우가 될 것이며, 그 사용자들은 이동 장치들을 위치들 사이에 이동시키고 모니터들에 각각 플러그인 되는 사용자, 동일한 컴퓨터를 공유하나 다른 설정들을 가진 사용자(모니터 구성은 사용자마다 영속됨) 등을 포함한다.
단계(304)에서, 모니터는 단계(302)에서 인식되었지만, 전체적인 구성이 새로운 것일 가능성이 있다. 예를 들면, 딱 들어맞게-연결된 모니터는 이전에 전혀 사용되지 않았던 모니터들의 결합을 생성할 수 있었거나, 딱 들어맞게-연결된 모니터들이 항상 결합되어 사용될 수 있었거나, 현재 그것만으로 연결된 것이다. 전체적인 구성이 새로운 것일 경우, 단계(304)는 이 새로운 모니터에 대한 "최적(best)" 구성이 일시적 모니터 관리자(212)에 의해 자동으로 선택되는 단계(314)로 분기한다("최적"이란 것은 큰 따옴표 내에서 이것이 필수적으로 최적인 것은 아니나, 대다수의 사용자가 그럴 것이라고 찾아낸 최적-추정임). 예를 들면, 설정들이 이 모니터가 가장 최근에 사용되었던 매칭되지 않는(non-matching) 모니터 구성으로부터 선택될 수 있고, 최적-추정으로 적용될 수 있다. 구성을 적용시키기 이전에, 설정들이 모니터가 마지막 연결된 동일한 카드가 아닐 수 있는 비디오 카드와 호환되는지를 평가를 하는데 필요하다. 호환되지 않을 경우, 최근 보다 이전에 사용된 구성이 선택될 수 있고/거나 설정들이 비디오 카드와 호환되는 가장 가까운 값으로 변경될 수 있다.
단계(314)는 (선택적인) 단계(320)로 분기하여, 적용되는 구성이 사용자에게 허용가능하다는 것을 사용자 인터페이스를 가진 사용자 인터페이스 대화상자 등을 통해 확인하며, 사용자 인터페이스는 전형적으로 사용자가 모니터 구성(예컨대, 디스플레이 속성들)을 변경하길 원할 경우 모니터 구성을 수정하기 위한 링크를 제공한다. 단계(320)(사용자는 이 단계를 미래에 바이패스(bypass)할 것을 결심할 수 있음)의 사용자 대화 이후에, 일시적 모니터 관리자(212)의 프로세스는 연결 이벤트에서 다시 필요할 때까지 종료된다.
사용자 대화에서, 부가적인 정보를 획득할 수 있음에 유의해야 한다. 예를 들면, 사용자는 그 또는 그녀가 프리젠테이션을 제공하고 있는지에 대해 질문받을 수 있다. 그런 경우, 다른 유형의 변경들이 행해질 수 있는데, 예컨대, 모니터 구성이 화면 블랭킹 없음/화면보호기 없음(no screen blanking/no screensaver)으로 설정될 수 있고, 통지들이 턴 오프(turn off)될 수 있다.
단계(302)로 리턴하여, 모니터가 컴퓨터 시스템에 대해 새로운 것일 경우(예컨대, 기존의 모니터 구성에서 발견되지 않는 경우), 단계(302)는 단계(304)로 분기하고, 모니터에게 그 기능들, 즉 모니터가 제공할 수 있는 임의 구성-관련된 정보에 대해 질의하는 것을 대신 나타낸다. 예를 들면, 일부 현 세대의 모니터는 환경설정된 동작 해상도, 리프레시 율, 색 농도, 및 기타 설정 등의 기타 정보와 함께, DPI가 결정될 수 있는 화면 차원 등의 정보를 제공할 수 있다. 이런 정보 중 일부 또는 모두는 이전에 단계(302)에서 평가되었던 식별자일 수 있음에 유의해야하며, 그런 경우 단계(310)에서 이것에 대해 다시 질의할 이유가 없다. 그러나, 하기에 기술된 바와 같이, EDID의 선택적인 일부분, 예컨대, 하나의 호출에 있는 일련 번호, 또 다른 호출에 있는 기능들이 검색될 수 있어서, 복수의 질의들이 행 해질 수 있는 API 등이 제공될 수 있다.
대안으로서, 단계(312)에서 상세한 정보가 이용가능하진 않지만 충분한 다른 정보가 이용가능하고, 딱 들어맞게-연결된 모니터가 시스템에 알려진 또 다른 모니터와 매우 유사하다고 나타내는 경우, 그 다른 모니터의 구성 정보가 이런 모니터의 구성 정보를 대체할 수 있다. 도 3에 나타난 바와 같이, 단계(312)는 충분한 정보가 이용가능하고, 이런 정보가 딱 들어맞게-연결된 모니터에 대한 최적-추정 구성을 선택하고 적용시키는데 사용될 때 단계(314)로 분기한다. 모니터에 의해 제공된(또는 유사하게 대체된) 정보는 비디오 카드의 한계의 결과로서 수정될 필요가 있을 수 있고, 하기에 기술된 반복(iteration)을 통해 달성될 수 있다.
단계(312)에서 모니터가 충분한 정보를 제공할 수 없는 경우, 단계(316)는 대신에 일부 최소 구성을 시도하도록 실행된다. 예를 들면, 대다수의 퍼스널 컴퓨터와 모니터는 비디오 설정을 수동으로 변경하기에 충분한 사용자 인터페이스를 포함하는 의미 있는 그래픽을 사용자가 볼 수 있도록 적어도 VGA 표준을 지원한다. 단계(320)는 구성 시도 이후에, 사용자가 이런 변경들을 행하고/거나 구성이 허용가능하다고 확인하도록 해준다. 도 3에는 도시되지 않았지만, 단계(316)이 VGA보다 더 좋은 상태(예컨대, 더 높은 해상도를 가짐)에서부터 시작되는 것이 실현 가능하며, 사용자가 동작을 취하지 않을 경우 단계(320)에서 타임 아웃되고, 그 후에 덜 좋은 상태를 시도할 수 있는 단계(316)로 리턴한다. 다른 한편으로, 프로세스는 단계(316)에서 단계(320)로 진행할 수 있고, 대화를 허용한 어떤 시점 이후에, 단계(316)로 되돌아 가서, 사용자가 단계(320)에서 대화하는 경우 혹은 최소 해상 도(VGA 등)에 도달하는 경우에 이를 때까지 해상도를 최소로 감소시킨다. 일단 사용자가 단계(320)에서 확인하면, 프로세스는 종료된다. 사용자가 확인하지 않으면, 모니터가 올바르게 작동하고 있지 않거나 적어도 VGA 가능한 것이 아니라고 가정될 수 있으며, 이런 경우에 컴퓨터 시스템은 또 다른 모니터에 있는 사용자에게 문제를 통지하는 등의 다른 동작을 취할 수 있고/거나 마치 이런 모니터가 연결되지 않았던 것처럼 그 모니터를 현재 구성의 일부분에 포함시키지 않는다.
그러므로, 모니터가 플러그인 될 때, 비디오 설정에 대한 변경들이 적용될 수 있도록 모니터 구성이 발견되거나 구성될 필요가 있다. 이를 행하는 신속한 방법은 구성의 일부분이었던 모니터에 기초하여 과거의 모니터 구성들을 검색하는 것이다. 그러므로 제1 검색은 새롭게 연결된 모니터가 이전에 모니터 구성의 일부분이었는지 여부를 신속하게 식별하기 위해 행해진다. 모니터의 ID는 EDID 내에 포함된 일련 번호에 의해 판정될 수 있는데, 현재 버전에서는 32 비트의 숫자이다. 일련 번호가 없는 경우에, 하나 이상의 다양한 다른(예컨대, EDID) 필드들이 해싱될 수 있어서 상기 기술된 바와 같이, 식별하기에 유용한 값을 제공한다. (예컨대, 그래픽 인터페이스 컴포넌트(213)를 통한) 기구용 API 호출(instrumentation API call) 등이 EDID를 가져오는데 사용될 수 있다.
예시적인 구현에서, 룩업(lookup)을 촉진시키는 다양한 방법은 해시 테이블을 사용하기 및/또는 알려진 모니터들을 균형잡힌 이진 트리(balanced binary tree)에 배치하기를 포함하는데, 예컨대, 알려진 모니터 정보는 배열 내에 포함될 수 있고, 이진 트리의 각각의 노드는 모니터의 배열로의 인덱스일 수 있어서, 모니 터의 배열의 각각의 엔트리는 각각이 그 모니터가 일부분이었던 각 모니터의 구성을 가리키는 포인터들의 리스트를 포함하게 된다. 일반적으로, 이진 트리가 한 가지 가능한 구현을 예시하기 위해 이하에서 사용될 것이다. 이런 구현에서, 모니터 구성은 모니터 구성 리스트로서 지칭되는 가장 최근에 사용된 모니터 구성의 리스트에 저장되며, 모니터 구성 리스트는 모니터의 배열의 구성요소에 저장되어 있는 모니터 구성 리스트로의 포인터들의 링크된 리스트(linked list)를 가지며, 리스트의 헤드에 있는 포인터들이 해당 모니터가 일부분이었던 가장 최근의 모니터 구성을 가리키도록 모니터 구성은 정렬된다.
모니터 구성들이 한 사용자에서 다음 사용자로 변경될 수 있기 때문에, 일시적 모니터 관리자(212)가 커널 컴포넌트이면, 모니터들의 배열과 모니터 구성 리스트 간의 링크는 사용자 문맥 변경(context change)이 일어날 때 리셋된다. 모니터 구성 리스트의 각각의 노드는 (가장 최근에 사용된 순서대로 배열되기 위해) 타임스탬프, 구성에 있는 모니터들의 개수, 전력 방식(예컨대, GUID로서 나타남), (데이터 구조의 미래 버전이 가능한) 버전 번호, 비디오 포트 상태(즉, 비디오 포트가 활성화 또는 비활성화되어 있는지 여부), 모니터들의 형상, 및 이런 구성에 있는 모니터들과 그들 각각의 상태를 식별하는 모니터/상태 배열 등의 데이터를 포함할 수 있다. 대안으로서, 비디오 설정은 모니터 상태 정보로부터 추론될 수 있다.
모니터/상태 배열은 모니터들의 배열 내의 모니터에 대응하는 인덱스 엔트리를 포함하는 구성요소들과, 모니터의 상태를 포함하는 구조를 가진다. 상태는 해상도, 리프레시 율, 색 농도, 및 모니터의 배향 등의 정보를 포함한다. 비디오 헤 드 상태가 모니터의 존재와는 독립적으로 추적될 필요가 있는 경우들이 있다. 이런 경우에, 비디오 헤드 상태는 모니터 상태 대신에 모니터 구성 리스트 엔트리 노드에 대신 저장될 것이다.
기기가 알려진 모니터들을 동작시킬 때, 모니터 ID들이 획득된다. 예를 들면, 모니터 A, 모니터 B, 모니터 C가 구성에 존재할 수 있고, 모니터 A는 5라는 ID를 가지고, 모니터 B는 3이라는 ID를 가지고, 모니터 C는 7이라는 ID를 가진다. 이진 트리는 검사되고, 그것들이 알려진 모니터들인 이런 예에서, ID들(5, 3, 및 7)에 대응하는 노드들이 발견된다. 각각의 노드는 모니터들의 배열로의 인텍스를 포함한다. 각각의 배열 구성요소에 포함된 모니터 구성 리스트로의 포인트들의 리스트가 필터링되어 단지 3개 모니터 개수와, 현재 사용중인 전력 방식에 대응하는 것이 된다. 다음의 비교는 매칭되는 것이 있는지 알기 위해 각각의 모니터의 모니터 구성 리스트로의 포인터들에 대해 수행된다. 3개 모니터와의 매칭되는 것이 있으면, 모니터 구성 리스트의 모니터 상태들로부터 획득된 비디오 설정들과, 모니터 구성 리스트 노드로부터 획득된 형상이 (그래픽 인터페이스(213)를 통해) 적용된다. 모니터의 형상이 저장된 형상과 매칭되지 않는 경우, 저장된 형상이 사용되지 않는다. 예로서, 모니터 C가 플러그인 되기 이전에, 모니터 B를 모니터 A의 좌측으로 이용시키는 것을 고려하자. 이런 경우에, 모니터 B는 모니터 A의 좌측으로 이동되었다고 알려지고, (플러그인 될 때) 모니터들(A, B 및 C)에 대해 저장된 형상이 사용되지 않는데, 왜냐하면 저장된 형상은 모니터 B를 모니터 A의 우측에 도시하고 있기 때문이다.
알려지지 않은 모니터가 플러그인 된 경우, 가능한 모드를 반복함으로써 비디오 모드가 결정될 수 있음에도 불구하고, 아마도 과거의 설정을 복원하기 위해 유사한 모니터에 대해 과거에 사용되었던 모드를 사용자에게 제공하기 위한 의도로, 모니터 모델 번호에 대한 검색이 수행된다. 모델 번호의 검색이 실패한 경우, 모니터 용량이 화면 크기 및/또는 모드의 조합과, 모니터가 지원하는 리프레시 율을 포함하는 경우, 모니터 용량이 대신 사용될 수 있다. LCD, CRT, 플라즈마 또는 일부 기타 유형과 같은 모니터 유형과 같은 정보는 원하는 모드의 선택을 향상시킬 수 있다. 사용자가 한 회의실에서 다른 회의실로 이동하고, 동일하지는 않지만 유사한 회의실 모니터에 동일한 컴퓨터를 플러그인 할 때가 하나의 예가 된다. 이러한 상황에서, 모니터 ID는 모니터 ID의 이진 트리를 이용하는 모니터들의 배열에서 찾을 수 없다. 검색이 실패하는 경우, 디스플레이 메커니즘의 모델 번호에 대해 검색이 수행될 것이다.
모델 번호를 검색하는 두 가지 방법은 모델 번호에 대해 검색되는 또 다른 이진 트리를 생성하는 것 또는 모니터들의 배열을 통해 선형 검색을 수행하는 것이다. 대부분의 사용자에 대해, 알려지지 않은 모니터가 추가되는 경우의 수는, 알려진 모니터가 컴퓨터로부터 플러그되고 언플러그되는 경우의 수에 비해 상대적으로 극히 드물기 때문에, 그리고 이진 트리를 생성하는 것이 모니터들의 배열을 통한 선형 검색을 필요로 하기 때문에, 단순 선형 검색이 더 유리할 수 있다.
알려지지 않은 모니터가 플러그인 될 수 있는 또 다른 시나리오로는, 내부 모니터를 지니지 않는 이동 컴퓨팅 장치에서와 같이, 알려지지 않은 모니터가 플러 그인 되는 유일한 모니터인 경우이다. 컴퓨터가 이미 수행중인 경우, 일시적 모니터 관리자(212)에게 하나 이상의 새 모니터가 플러그인되고 있다는 것이 통보된다. 또는, 컴퓨터가 처음으로 시작된 경우, 일시적 모니터 관리자(212)는 먼저 어떤 모니터가 컴퓨터에 플러그인 되었는지를 점검한다. 둘 중 어느 경우든지, 새 모니터 각각의 모니터 ID가 획득되고, 이 "알려지지 않은 모니터" 예제에서, 이진 트리의 점검을 통해 이 모니터 ID를 지니고 있는 알려진 모니터는 없다는 것을 알 수 있다. 이후 모델 번호가 획득되고, 모델 번호의 각 경우에 대해 모니터의 배열을 (선형으로) 검색하는 데에 사용된다. 매칭되는 것이 있을 때마다, 배열 인덱스는 링크된 리스트에 추가된다.
단 하나의 링크된 리스트가 있는 경우, 링크된 리스트는 선형으로 점검되고 배열 인덱스는 모니터 구성 리스트에 대한 포인터로 액세스하기 위해 사용된다. 모니터 구성 리스트 엔트리는 하나의 모니터에 대해 필터링되고, 가장 새로운 엔트리가 발견되고, 관련 비디오 설정 데이터는 모니터 구성을 설정하기 위해 사용되고, 모니터 구성 리스트는 갱신된다. 매칭되는 것이 없는 경우 비디오 모드는 반복되고 모니터 구성은 최적의 해상도 및 리프레시 율로 결정된다.
이 프로세스 동안 다른 모니터가 추가되는 경우, 동일한 방식으로 또 다른 링크된 리스트가 생성되고 파퓰레이트된다. 링크된 리스트가 검색되고 임의의 모니터 구성 리스트 엔트리가 2개(이상의) 모니터에 대해 필터링된다. 링크된 리스트 모두에 의해 공유되면서 가장 새로운 모니터 구성 리스트 엔트리가 사용된다.
링크된 리스트 각각이 파퓰레이트된 후, 그리고 비디오 설정 데이터를 적용 하기 바로 직전에 모니터 플러그/언플러그 이벤트가 점검된다. 변경이 있는 경우, 새 모니터 구성이 결정된다. 알려지지 않은 모니터가 플러그인 되었을 때 알려진 하나 이상의 모니터가 이미 플러그인 된 경우, 모니터 구성 리스트 엔트리가 알려진 모니터들의 배열 엔트리에 의해 가리켜지는 것과 비교된다는 것을 제외하고는, 알려지지 않은 모니터 상태에만 유사한 상황이 존재한다.
모니터들의 배열을 새로이 식별된 모니터로 갱신하기 위해, 알려지지 않은 모니터가 질의될 때, 이것은 모니터들의 배열의 끝에 첨부된다. 이 경우, 배열 엔트리는 모니터 구성 리스트에 대한 어떠한 포인터도 지니고 있지 않다. 이후 이진 트리는 새 모니터 ID로 갱신된다. 일단 모니터를 모니터 구성 리스트에 추가하면, 비디오 설정을 갱신하는 코드가, 모니터 구성 리스트 엔트리와 한 세트의 모니터 ID에 대한 포인터를 취하고 각 모니터에 대해 관련된 배열 인덱스를 다시 전달하는 메소드로 모니터들의 배열을 유지하는 코드를 호출할 때, 모니터들의 배열이 갱신된다. 함수는 매개변수로서 전달된 한 세트의 모니터의 각 모니터와 관련된 각 배열 엔트리에 모니터 구성 리스트 엔트리에 대한 포인터를 추가한다.
분리 동작으로 돌아와서, 도 4는 단계(400)에 나타난 바와 같이 분리 이벤트에 응하여 일시적 모니터 관리자(212)가 취하는 예시적인 로직을 도시한다. 이하에 설명되는 바와 같이, 그냥 아무런 액션을 취하지 않는 것은 일반적으로 바람직하지 않는데, 그 이유는 분리된 모니터에 디스플레이되는 다른 프로그램 윈도우, 아이콘 등이 더 이상 보이지 않을 것이기 때문이다. 따라서, 단계(402)는 분리되는 모니터로부터 기인하는 전체적인 구성을 평가한다. 상술한 바와 같이, 이것은 암시적으로, 어느 모니터가 분리되었는지 그리고 어느 하나 이상의 모니터가 그대로 연결되어 있는지, 어느 것이 그 ID에 대해 남아있는 모니터 또는 모니터들에게 질의해야 하는지를 알아야 하고, 제거 프로세스에 의해 어느 모니터가 분리되었는지를 결정해야 한다.
일반적으로, 수정된 모니터가 설정되는 경우, 일시적 모니터 관리자(212)는 사용자가 이전에 가졌던 것과 동일한(또는 충분히 유사한) 구성을 찾는다. 단계(402)에서 하나를 발견하는 경우, 단계(406)에서 모니터 구성이 적용되어 (하나 이상의) 생존해 있는 모니터 세트를 그 이전의 구성으로 리셋하고, 일시적 모니터 관리자(212)의 이 분리-처리 프로세스는 다시 필요해질 때까지 종료된다.
대신 단계(402)에서 모니터 세트가 새 것인 것으로 간주되는 경우, 단계(402)는 단계(406)로 분기하고, 유사한 구성 데이터 또는 연결된 채로 남아 있는 각 모니터의 용량에 기초하여 여기서 일반적으로 상술된 바와 같이 최적-추정 구성이 선택된다. 단계(408)는 사용자가 임의의 사용자 변경을 확인할 수 있도록 하고, 이것은 통상적으로 또한 임의의 사용자 변경을 용이하게 한다.
알려진 모니터가 언플러그되는 경우의 예제로서, 모니터(A,B 및 C)가 연결되어 있는 컴퓨터의 또 다른 구성을 생각해보자. 컴퓨터가 실행되고 있는 동안, 모니터(C)가 언플러그되고, 이것에 의하여 일시적 모니터 관리자(212)는 한 모니터가 언플러그되었다는 PnP 통보를 수신하고, 언플러그된 모니터가 식별되지 않는 경우, 일시적 모니터 관리자(212)는 제거 프로세스에 의해, 즉 연결된 채로 남아 있는 모니터들의 모니터 ID를 다시 획득하고 그 ID를 모니터 구성 리스트와 비교함으로써, 어느 모니터가 언플러그되었는지를 판정한다.
도 4와 관련하여 상술된 바와 같이, 한 실시예에서 이것은 모니터(A 및 B)를 이전의 상태로 복원하기 위해 모니터 구성 변경을 초래할 수 있다. 또는, 한 대안의 실시예에서(이것은 아마도 사용자가 구성가능함), 사용자의 혼동을 피하기 위해, 나머지 모니터들의 상태는 예를 들어 모니터(A 및 B)의 해상도 및 리프레시 율 둘 다 변경되지 않은 채 그대로일 수 있다. 모니터(C)의 비디오 헤드가 턴 오프된다 하더라도, 현재 모니터 구성을 복사함으로써 그리고 모니터(C)를 모니터 리스트에서 제거함으로써 모니터 구성 리스트의 새 엔트리가 준비된다. 비디오 설정은 직렬화되고 기존의 모니터 구성의 GUID를 대체하는 새 GUID에 의해 액세스가능한 저장 위치에 저장되고, 타임스탬프가 갱신된다. 나머지 모니터의 기하학적 배열이 기록되고 데이터는 타임스탬프에 의해 어드레스가능한 저장 위치에 위치된다. 이후 새 모니터 구성은 모니터 구성 리스트의 헤드에 위치된다.
모니터(C)가 다시 플러그되는 경우에, 일시적 모니터 관리자(212)는 모니터가 플러그인되었다는 PnP 통보를 수신할 것이다. 모니터의 일련 번호를 획득한 후, 모니터 ID의 이진 트리를 통해 모니터(C)가 플러그인되었다는 것이 판정된다. 이해되는 바와 같이, 이것은 "알려진 모니터" 상황이기 때문에 사용할 적절한 비디오 설정이 상술한 바와 같이 결정된다.
전원이 내려간 동안 알려진 모니터를 사용하여 모니터 재구성이 또한 가능하다. 언플러그 이벤트를 수신하는 것과 어느 정도 유사하지만, PnP 통보는 수신되지 않는다. 다시 모니터(A,B 및 C)에 연결된 한 컴퓨터 예제에서, 사용자가 컴퓨 터의 전원을 내리고 모니터(C)를 언플러그했다고 가정해보자. 이 예제에서, 컴퓨터는 모니터(A 및 B)만 있는 구성을 이전에 본 적이 없었다. 전원이 들어올 때, 모니터(A 및 B)를 포함하는 두 개의 모니터가 있는 모니터 구성 리스트에 엔트리가 없다 할지라도, 모니터(A 및 B)가 플러그인 되고, 따라서 식별된다.
두 개의 모니터를 어떻게 셋업할 것인가를 결정하는 제1 선택가능한 방법은 두 개의 모니터가 지원할 수 있는 가능한 모드들에 대해 반복함으로써 최적의 해상도 및 리프레시 율을 결정하는 것이다. 제2 방법은 기존의 구성에 매칭되는 모니터의 개수를 3으로 할 필요가 없도록 하기 위해 모니터 구성 리스트의 검색 규칙을 수정하는 것이고, 이것에 의하여 일시적 모니터 관리자(212)는 모니터(A 및 B)를 포함하는 모니터 구성을 찾을 것이다. 이러한 방식으로, 새로운 모니터 구성이 찾아질 수 있고, 이것은 컴퓨터 시스템의 전원이 올라왔을 때 모니터(C)가 언플러그된 경우와 유사하다. 이 두 번째 옵션이 사용되는 경우, 모니터(A 및 B)를 포함하는 가장 최근의 구성만이 사용된다는 것을 유의한다. 사용자에게 유일한 변경은 모니터(C)가 사라졌다는 것인데, 그 이유는 모니터(A 및 B)에 대한 모니터 설정이 모니터(C)가 플러그인 되었을 때의 것과 여전히 동일하기 때문이다. 물론 모니터(A 및 B)가 또 다른 모니터와 플러그인되는 것이 가능하지만, 통상적으로 모니터(A 및 B)가 동일하게 남아 있는 것이 바람직하다. 비디오 설정이 확립되고 제3 모니터에 대한 비디오 헤드가 턴 오프된다. 이후 모니터 구성이 기록되고 모니터 구성 리스트가 갱신된다. 비디오 설정을 확립하는 시도가 실패하는 경우, 제1 옵션이 사용될 수 있다.
본 발명의 또 다른 양상에 따라, 모니터가 분리되었을 때, 그 모니터에 디스플레이되고 있었던 임의의 프로그램 윈도우, 아이콘 등은 일시적 모니터 관리자(212)에 의해 하나 이상의 생존해 있는 모니터 세트로 전환될 수 있다. 이를 위해, 분리 및 살아남은 모니터 또는 모니터들의 임의의 재구성이 검출되자마자, 윈도우 위치, 크기 등에 관한 데이터는 여전히 메모리에 존재하고, 지금 확장되지 않거나 또는 덜 확장된 데스크톱으로부터 남아있는 데스크톱 영역으로 정보를 "셔플(shuffle)"하는 데에 사용된다. 원도우 및 다른 이미지는 새 영역에 맞추기 위해 필요한 만큼 크기가 변경될 수 있다. 분리된 모니터의 프로그램 윈도우는 새 영역으로 이동되거나, 또는 그것이 연결된 모니터에 복원될 때까지, 즉 선택될 때까지 연결된 모니터의 태스크 바 등에 최소화되어 있을 수 있다.
분리된 모니터 (또는 유사한 모니터)가 다시 연결되는 경우, 윈도우 및 다른 이미지가 복원될 수 있다. 그러나, 사용자의 혼동을 피하기 위해, 예를 들어, 윈도우가 있었던 곳에 단순히 복원하는 것이 아니라, 사용자가 일부 충분한 방식(타이핑 또는 윈도우를 클릭하거나, 이동시키거나, 크기를 변경하거나 및/또는 그 윈도우에 초점을 부여하는 방식)으로 윈도우와 대화하는 경우 윈도우가 현재의 위치에 남아있을 수 있는 것과 같이, 윈도우를 다루는 데에 적용되는 규칙이 있을 수 있다.
"빠른 사용자 전환"(fast user switch)으로 사용자가 로그 아웃하지 않으므로 사용자 윈도우 주위에 데이터를 위치시키는 것이 유지된다는 것을 유의한다. 따라서, 컴퓨터가 이벤트 발생 시 다른 사용자로 전환되었을 때조차 분리 및/또는 재연결 구성 변경에 이어 필요한 경우 다수의 사용자에 대한 데이터가 다시 셔플될 수 있다. 현재의 모니터 구성이 결정될 수 있도록 동면 모드(hibernate mode)에서 나오자마자 일시적 모니터 관리자(212)에게 통보될 필요가 있음에도 불구하고, 동면에 이은 구성 변경은 마찬가지로 윈도우 등의 셔플을 초래할 수 있다.
도 5로 돌아가서, 도 3 및 도 4로부터 명백한 바와 같이, 일부 환경에서, 일시적 모니터 관리자(212)의 선택은 "디스플레이 속성"/컨트롤 패널 사용자 인터페이스와 같은 적절한 사용자 인터페이스와의 수동 사용자 대화에 의해 오버라이드될 수 있다. 사용자는 정상 동작 시와 같이 다른 때에 구성 데이터를 변경할 수 있다. 이해할 수 있는 바와 같이, 이들 변경은 현재 모니터 세트에 대해 모니터 구성 데이터에서 유지될 필요가 있는데, 그렇지 않을 경우, 연결 또는 분리로 인해 다음 구성 변경이 발생하자마자 이 변경들은 없어질 수 있기 때문이다.
도 5는 단계(500)에 나타난 바와 같이, 구성을 변경하는 사용자 대화 시에 일시적 모니터 관리자(212)가 취하는 액션을 나타낸다. 예를 들어, 사용자는 "디스플레이 속성" 사용자 인터페이스를 선택할 수 있고, 일단 임의의 변경이 적용되면, 일시적 모니터 관리자는 그 모니터 세트에 대해 변경을 만들고, 또한 그 변경을 유지한다. 이 변경을 유지하기 위해, 단계(502)에서, 구성-갱신 프로세스는 현재 연결되어 있는 (하나 이상의) 모니터 세트를 식별한다. 다른 것들 중에서, 이것은 변경이 구성에 관한 것일 경우(예를 들어 사용자가 모니터를 제거하기를 원하는 경우) 또는 데이터 저장소(214)(도 2)에서 대응하는 구성 데이터(가장 최근에 사용된 구성)를 찾고자 할 때에 사용될 수 있다. 이후 사용자에 의해 만들어진 임 의의 변경을 포함하는 전체적인 구성은 단계(506)에서 저장된다.
상술한 바와 같이, 모니터 구성을 결정하는 데에는 하나 이상의 모니터 세트 외에 많은 요인이 있다. 이들 요인 중 한 가지가 전원 상태인데, 이것은 일반적으로 적용될 설정을 변경하거나 또는 이것을 오버라이드할 수 있다. 예를 들어, 리프레시 율, 색 농도, 해상도, 백라이트 휘도(backlight brightness), 콘트라스트 등 모든 것은 전원을 보존하기 위해 수정될 수 있다. 실제로, 예를 들어 랩톱이 전원 부족 상태에서 실행되고 있는데 모니터 구성은 전원이 완전히 충전된 모니터가 연결되어 있는 것과 같은 경우, 랩톱의 내부 모니터는 자동으로 턴오프될 수 있다.
모니터 구성을 자동으로 수정하는 또 다른 방법은 임시 모드를 통해서이다. 예를 들어, 비디오 재생은 60-Hz 리프레시 율로 가장 잘 작동한다고 알려져 있다. 예를 들어 그래픽을 제공하는 것과 비교하여 이러한 재생의 검출은 조건이 변경될 때까지 모드를 변경하기 위해 사용될 수 있다.
모니터 제조업자들은 또한 일시적 모니터 관리자(212) 등으로의 호출에 의해 유지되고/복원되는 커스텀 설정(custom setting)을 지닐 수 있다. 예를 들어, 텔레비젼 기반의 모니터는 임의의 때에 화면의 소정의 영역이 잘려지도록 요청할 수 있고, 이러한 영역은 다른 조건에서 사용자 대화 없이 복원될 수 있다. 또한, 컬러 공간 보정/감마(gamma)와 같은 커스텀 설정은 모니터 구성과 함께 저장될 수 있다.
예시적인 로직
도 6은 한 특정 예제 구현에서 일시적 모니터 관리자(212)의 개요를 도시한다. 도 6에 나타난 바와 같이, 일시적 모니터 관리자(212)가 시작되거나 또는 사용자 문맥 전환이 일어나는 경우의 단계(600)에서의 한 가지 엔트리를 포함하여, 일반적으로 일시적 모니터 관리자(212)로의 두 가지 엔트리 포인트가 있다. 일시적 모니터 관리자(212)가 시작되거나 사용자 문맥 전환이 있는 경우, 적절한 사용자 데이터가 로딩되어야 한다. 이를 위해, 단계(604)에 나타난 바와 같이, 모니터 구성 리스트 및 모니터들의 배열이 메모리로부터 로딩되고 이진 검색 트리가 구축된다; 모니터 구성 리스트와 모니터들의 배열 간의 연결이 확립된다.
두 번째 엔트리 포인트는 단계(604)에 나타난 바와 같이 모니터 플러그/언플러그 이벤트가 발생했을 때이다. 어느 엔트리에서나, 단계(606)가 수행되어 현재 모니터 구성을 결정하고 테스트하고, 모니터 구성 리스트를 갱신한다. 일반적으로, 상술된 바와 같이, 그래픽 인터페이스/수단 API 호출 또는 기타 적합한 메소드를 이용하여, 현재 모니터 구성의 각 모니터의 각 모니터 ID가 획득된다. 이후 단계(608)에 나타난 바와 같이 이진 검색 트리가 사용되어 모니터 ID를 검색한다.
단계(610)에 나타난 바와 같이, 임의의 모니터 ID에 대한 검색 실패가 있는지 여부에 따라, 새 모니터 구성의 결정은 두 개의 상이한 분기 중 하나를 택할 것이다. 그러므로, 이하에 설명되는 바와 같이, 일단 모니터 구성이 결정되고 테스트되면, 모니터 구성 리스트가 갱신되고 모니터 구성 리스트와 모니터들의 배열 간의 연결이 갱신된다.
모니터 ID 일부 또는 그 전부가 발견되지 않은 경우, 프로세스는 단계(612) 로 분기하고, 이것은 도 7에 도시된 추가의 단계로 이동된다는 것을 나타낸다. 반대로, 모니터 ID 전부가 발견되는 경우, 단계(610)에서 프로세스는 단계(614, 616 및 618)로 분기하고, 여기서 모니터 ID와 관련된 각 배열 구성요소의 모니터 구성 리스트에 대한 포인터가 비교되고, 각 모니터가 가리키는 이들 모니터 구성 리스트 엔트리는 단계(616)에서 모니터 구성 리스트 엔트리의 링크된 리스트로 추가된다. 모니터 구성 리스트 엔트리는 상이한 전력 방식 하에서 기록되었던 모니터 구성을 포함할 수 있기 때문에, 또는 새로운 모니터가 더 큰 모니터 구성의 세브세트(subset)라면, 더 나은 매칭된 것을 얻기 위해 모니터 구성 리스트 엔트리는 필터링될 수 있다(단계(618)). 이를 달성하기 위해, 링크된 리스트 반복자는 상이한 전력 방식 하에서 기록된 모니터 구성 리스트 엔트리 또는 현재의 상태와 다른 모니터의 개수를 가리키는 링크된 리스트 노드를 스킵한다. 이 경우, 도 8로 이동되는 단계(620)에 나타나는 바와 같이 최적 모니터 구성 리스트 엔트리가 찾아진다.
단계(610)로 돌아가서, 발견되지 않은 모니터 ID를 지니는 하나 이상의 모니터가 있는 경우(단계(608 및 610), "알려지지 않은 모니터"라 지칭됨), 프로세스는 도 7로 분기한다. 이 경우, 아직 알려지지 않은 경우(예를 들어 전체 EDID가 이전에 관리자(212)로 리턴된 경우), 단계(702)에서 발견되지 않은 모니터 ID를 지니는 각 모니터의 모델 번호를 획득하기 위해 API/메소드 호출이 사용된다. 보다 구체적으로, 이진 검색 트리의 검색에 실패한 모니터에 대해, 단계(704)에서 동일한 모델 번호를 지니는 모니터 세트를 찾기 위해 모니터들의 배열을 통해 다른(예를 들어 선형) 검색이 수행된다.
단계(706)에서 평가되는 바와 같이 이 검색은 실패할 수 있고, 그러나, 그런 경우, 식별된 모니터는 모니터 구성 리스트 엔트리에 있는 모니터의 서브세트를 형성할 것이다. 이 세트의 모니터 구성요소들은, 종래의 모니터 알고리즘에서 행해진 바와 같이, 모니터 구성 리스트 엔트리 링크된 리스트를 생성하기 위해 이진 검색 트리를 통해 발견된 배열 구성요소와 함께 사용된다. 이 예제에서, 단계(706)에서 모델 번호가 발견될 때, 모니터 ID와 관련된 각 배열 구성요소의 모니터 구성 리스트로의 포인터들이 비교되고 각 모니터에 의해 가리켜지는 이들 모니터 구성 리스트 엔트리는 단계(708)에서 모니터 구성 리스트 엔트리의 링크된 리스트에 추가된다. 알려지지 않은 모니터 각각에 대해 단계(710)가 반복된다.
모니터 구성 리스트 엔트리가 상이한 전력 방식 하에서 기록되었던 모니터 구성을 포함할 수 있기 때문에, 또는 새로운 모니터가 더 큰 모니터 구성의 서브세트라면, 더 나은 매칭된 것을 얻기 위해 모니터 구성 리스트 엔트리가 필터링될 수 있다(단계(714)). 이를 달성하기 위해, 링크된 리스트 반복자는 상이한 전력 방식 하에서 기록된 모니터 구성 리스트 엔트리 또는 현재의 상태와 다른 모니터의 개수를 가리키는 링크된 리스트 노드를 스킵한다.
이것을 달성한 후, 알려지지 않은 모니터가 모니터들의 배열에 추가되고 이진 검색 트리는 다시 균형을 잡거나 또는 재구축된다. 여기서 알려지지 않은 모니터가 알려지지만, 모니터 구성 리스트에 대한 포인터는 없다. 상술된 바와 같이 일단 새 모니터 구성이 제대로 설정되면, 모니터들의 배열과 모니터 구성 리스트 간의 연결이 생성될 것이다. 이때, 도 8로 이동되는 단계(716)에 나타난 바와 같 이, 최적 모니터 구성 리스트 엔트리가 찾아진다.
도 8의 예제 단계들은 필터링된 엔트리 리스트에서 모니터 구성 리스트의 최적 엔트리를 찾기 위해 실행될 수 있다. 이 엔트리는 새 모니터 구성과 동일한 모니터를 지닐 수 있고, 또는 다른 모니터를 포함할 수 있다. 모니터 구성 리스트 엔트리가 없는 경우, 프로세스는 이하에 설명되는 바와 같이 알려지지 않은 모니터의 비디오 모드를 반복하도록 진행될 수 있다는 것을 유의한다.
일시적 모니터 관리자(212)가 사실상 단계(802)에서 재평가되는 모니터 플러그/언플러그 이벤트 때문에 프로세스를 현재 실행하고 있는 경우, 하나의 양상은 기존 모니터 상태의 변경을 피할 수 있는데, 이것은 이벤트 전의 구성(pre-event configuration)과 동일한 상태를 가진 매칭되는 모니터를 검색함으로써 달성된다. 이벤트 전 구성의 모니터 상태는 모니터 구성 리스트의 헤드에서 찾을 수 있다(왜냐하면 그것이 가장 최근에 사용된 구성이기 때문임). 단계(804)에서, 기존 모니터 및 상태와 함께 (플러그 이벤트인 경우) 새 모니터를 포함하는 모니터 구성을 찾기 위해 모니터 구성 리스트 엔트리의 리스트에서 검색이 수행된다. 다수의 매칭이 있는 경우, 가장 최근의 모니터 구성 리스트 엔트리가 사용된다. 대신 일시적 모니터 관리자(212)가 모니터 플러그/언플러그 이벤트 때문에 프로세스를 현재 실행하고 있는 경우, 단계(806)에서 새 구성의 모니터가 있는 가장 최근의 모니터 구성 리스트 엔트리가 선택된다.
단계(808)에서 모니터 구성 리스트 엔트리가 발견되지 않는 경우, 모니터 개수에 의해 필터링되지 않은 경우(단계(810)), 단계(812)에서 리스트를 필터링하기 위해 모니터의 개수를 더 이상 사용하지 않기 위해 모니터 구성 리스트 엔트리의 링크된 리스트에 대한 반복자가 조정된다. 단계(808)로 리턴함으로써 모니터 구성 리스트 엔트리의 리스트에서 검색이 다시 한 번 수행된다.
단계(810)에서, 모니터의 개수에 의해 필터링되지 않고 모니터 구성 리스트 엔트리가 여전히 발견되지 않은 경우, 예를 들어 모니터(A 및 B)가 함께 구성에 있었으나, 모니터(C)와는 함께 있지 않다는 것과 같이, 모든 모니터가 이전에 동일한 구성에 있지 않았다는 것이 가능하다. 해결책은 단계(812)에 나타난 바와 같이 가장 잘 매칭되는 매칭된 모니터를 가지는 모니터 구성 리스트 엔트리를 찾는 것이다. 상술된 예제에서, 해결책은 모니터(A 및 B)가 있는 모니터 구성 리스트 엔트리를 찾는다. 이것은 모니터(C)를 알려지지 않은 상태로 있게 한다(이것은 도 9에서 해결됨).
단계(902)를 통해 도 9에 나타난 바와 같이, 모니터 구성 리스트 엔트리에 대한 검색이 모니터 및 상태에 대해 정확히 매칭되는 경우, 다음 단계(918)는 도 10으로 진행함으로써 비디오 카드의 용량에 대해 구성을 테스트하는 것이다. 비디오 상태를 확립하지 않은 여분의 모니터들 또는 모니터들 때문에, 검색이 정확한 매칭을 제공하지 않는 경우라 할지라도, 단계(902)는 모니터 구성을 테스트하기 전에 단계(904)로 분기한다.
보다 구체적으로 단계(904)에서, 모니터 구성 리스트 엔트리에 새 구성에 있지 않은 모니터가 있는 경우, 이것은 단계(906)를 통해 제거될 필요가 있다. 또한, 관련 비디오 상태가 없는 모니터가 있는 경우, 이 모니터들은 단계(908 및 910)를 통해 그 가능한 모드에 대해 질의된다. 단계(912)에서 모드가 발견되는 경우, 최적의 매칭이 검색될 필요가 있고, 이것은 비디오 설정에 대해 모니터 구성을 테스트함으로써 단계(914)에서 수행된다. 이 설정이 받아들여지는 경우, 그 모니터 구성이 사용될 수 있다.
일시적 모니터 관리자(212) 프로세스가 종료되기 전에, 모니터 구성이 테스트된다. 이것은 정확히 매칭된 것이 모니터 구성 리스트에서 발견된다 하더라도, 비디오 카드가 전환된다는 것이 가능하고, 이전에 유효한 모니터 구성이 이제 더 이상 새 카드와 동작하지 않을 것이기 때문이다. 또한 비디오 모드에 대한 검색이 실패하는 경우(단계(912)), 모니터에 설정 상태를 두지 않는 것이 가능하다. 도 10은 예시적인 테스팅 단계를 나타낸다.
단계(1002)에서 임의의 모니터가 테스팅 전에 모니터에 대한 상태를 설정하지 않은 경우 또는 비디오 설정에 대해 테스트될 때 모니터 구성이 실패한 경우(단계(1016 및 1018)), 사용가능한 비디오 모드가 반복된다(단계(1004)). (단계(1006)에서 한계에 대해 평가되는 바와 같이)리프레시 율을 감소시키는 것이 가능한 경우, 단계(1008)에서 제1 시도가 행해지고, 단계(1016)로 진행함으로써 비디오 카드의 용량에 대해 테스트한다. 한계(예를 들어 60Hz)에 도달할 때까지 리프레시 율을 감소시키는 것이 반복적으로 실패되는 경우, 가능하다면, 단계(1010 및 1012)를 통해 수행되는 바와 같이, 다음 단계는 모니터의 해상도를 감소시킨다. 모니터의 해상도가 감소될 때마다, 리프레시 율은 증가되고 비디오 설정이 다시 테스트되고, 내장 루프의 리프레시 율(필요한 경우)이 그 최소 한계까지 감소된다는 것을 유의한다. 궁극적으로 사용가능한 모드가 실패하는 경우, 단계(1014)에서 디스플레이 컨트롤 패널 다이얼로그가 도시된다. 도시되지는 않았지만, 디스플레이 컨트롤 패널을 도시하기 전에 색 농도를 감소시키는 한 번 이상의 시도가 있을 수 있다는 것을 유의한다.
단계(622)로 리턴하는 도 10에 의해 나타난 바와 같이 테스팅이 완료될 때, 모니터 구성 리스트를 갱신하고 이를 사용하기 위해 단계(624)가 실행된다. 이러한 방식으로, 기존 구성이 적용되거나, 현재의 모니터 세트 및 그 현재 상태에 대해 새로운 하나가 구축된다.
전술된 상세한 설명으로부터 알 수 있듯이, 가능한 많은 사용자 시나리오를 다루는 유연한 방식으로, 하나 이상의 디스플레이 기기에 연결될 때 사용자의 경험을 단순화하는 시스템 및 방법이 제공된다. 하나가 매칭될 때, 확립된 구성을 적용함으로써, 또는 매칭되는 것이 없을 때 지능적인 추정을 함으로써, 사용자는 종종 사용자 대화를 필요로 하지 않고 일반적으로 원하는 결과를 얻는다.
본 발명이 각종 수정 및 대안의 구성을 허락하지만, 그 중 몇몇 도시된 실시예가 도면에 도시되고 상세히 상술되었다. 그러나, 본 발명을 개시된 특정 형태 또는 형태로 제한하고자 하는 의도는 없으며, 이와 반대로, 본 발명의 취지 및 범위에 포함되는 모든 수정, 대안의 구성 및 동등물을 커버하고자 한다는 것을 이해할 것이다.
본 발명은 컴퓨터 시스템을 모니터에 연결할 시 컴퓨터 시스템의 비디오-관 련 설정들을 동적이며 지능적으로 구성하고/구성하거나, 분리 시에는 재구성하기 위한, 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템을 제공하는 효과가 있다.

Claims (20)

  1. 컴퓨터 시스템에서,
    적어도 하나의 디스플레이 기기를 포함하여 구성이 변경된 것을 나타내는 표시(indication)를 수신하는 단계, 및
    변경된 상기 구성이 상기 컴퓨터 시스템 상에 유지된 구성 데이터를 갖는 것에 대응하는가를 판정하고, 그런 경우, 상기 구성 데이터에 기초하여 상기 구성을 변경하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    변경된 상기 구성이 구성 데이터를 갖는 것에 대응하지 않으면, 변경된 상기 구성에서 적어도 하나의 디스플레이 기기에 대응하는 정보에 기초하여 구성을 판정하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    기능 정보에 대해 상기 디스플레이 기기에 질의하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 기능 정보에 기초하여 현재 설치된 비디오 카드에 대한 설정들을 테스트하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 테스트가 성공하지 못하면, 다른 설정을 테스트하는 것을 반복하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    식별자에 대해 적어도 하나의 디스플레이 기기에 질의하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 표시를 수신하는 단계는 디스플레이 기기가 연결되어 있는 또는 분리되어 있는 것에 대응하는 이벤트를 수신하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 구성 데이터에 기초하여 상기 구성을 변경하는 단계는 적어도 하나의 디스플레이 기기에 한 세트의 비디오-관련 설정을 적용시키는 단계를 포함하고, 상기 한 세트는 해상도 설정, 리프레시 율 설정, 색 농도 설정, 배향 설정, 휘도 설정, 콘트라스트 설정, 비디오 헤드 상태 설정, 및/또는 인치당 도트 설정 중에서 적어도 하나의 설정을 포함하는 방법.
  9. 제1항에 있어서,
    상기 구성 데이터에 대한 변경을 영속시키는 단계를 더 포함하는 방법.
  10. 실행될 때, 제1항의 방법을 수행하는 컴퓨터-실행가능 명령어들을 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  11. 실행될 때, 단계들을 수행하는 컴퓨터-실행가능 명령어들을 포함하는 적어도 하나의 컴퓨터 판독가능 매체로서, 상기 단계들은
    적어도 하나의 디스플레이 기기를 포함하여, 비디오-관련 설정 세트를 포함하는 디스플레이 기기 구성 데이터를 영속시키는 단계-이 단계는 상기 세트의 디스플레이 기기가 분리되는 결과로써 상기 세트가 변경된 후에 상기 디스플레이 기기 구성 데이터를 유지시키는 단계를 포함함-,
    상기 디스플레이 기기가 재연결되어지는 결과로써 상기 세트가 사실상 복원되어지는 때를 판정하는 단계, 및
    상기 영속된 디스플레이 기기 구성 데이터에 기초하여 적어도 상기 재연결된 디스플레이 기기에 대해 비디오-관련 설정을 적용하는 것을 포함하여 상기 세트를 복원시키는 단계
    를 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  12. 제11항에 있어서,
    상기 디스플레이 기기 구성 데이터를 영속시키는 단계는 영속성 저장소에 정보를 기입하는 단계를 포함하고, 상기 정보는 디스플레이 기기 설정 세트 중 적어도 하나의 설정을 포함하며, 상기 세트는 해상도 설정, 리프레시 율 설정, 색 농도 설정, 배향 설정, 휘도 설정, 콘트라스트 설정, 비디오 헤드 상태 설정, 및/또는 인치당 도트 설정을 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  13. 제11항에 있어서,
    상기 디스플레이 기기 구성 데이터를 영속시키는 단계는 데이터 저장소에 기하 정보를 기입하는 단계를 더 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  14. 제11항에 있어서,
    상기 재연결된 디스플레이 기기에 대한 상기 비디오-관련 설정을 현재 설치된 비디오 카드에 대해 테스트하는 단계와, 상기 테스트가 성공하지 못하면, 다른 비디오-관련 설정을 테스트하는 것을 반복하는 단계를 더 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  15. 제11항에 있어서,
    상기 세트가 실제로 언제 복원되는지를 판정하는 단계는 현재의 전력 상태를 평가하는 단계를 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  16. 제11항에 있어서,
    상기 디스플레이 기기 구성 데이터에 대한 사용자 변경들에 대응하는 정보를 수신하는 단계와, 상기 변경들을 영속시키는 단계를 더 포함하는 적어도 하나의 컴퓨터 판독가능 매체.
  17. 컴퓨터 시스템에서,
    현재의 디스플레이 기기 구성에 대한 변경 정보를 수신하는 디스플레이 기기 관리자 컴포넌트, 및
    디스플레이 기기 구성 데이터를 포함하는 데이터 저장소
    를 포함하고,
    상기 디스플레이 기기 관리자 컴포넌트는
    a) 상기 디스플레이 기기 구성 데이터에 대응하는 정보가 수동으로 변경된 경우,
    b) 상기 현재 구성에 대한 변경이 디스플레이 기기를 분리시킴으로써 이루어진 경우, 및
    c) 상기 현재 구성에 대한 변경이 디스플레이 기기를 연결시킴으로써 이루어진 경우에
    갱신된 디스플레이 기기 구성 데이터에 따라 상기 데이터 저장소를 갱신시키 는 서브시스템.
  18. 제17항에 있어서,
    상기 현재 구성에 대한 변경들은 디스플레이 기기를 연결 또는 분리함에 의해 이루어지고, 상기 디스플레이 기기 관리자 컴포넌트는 상기 변경된 디스플레이 기기 구성에 존재하는 각각의 디스플레이 기기를 식별하는 서브시스템.
  19. 제18항에 있어서,
    상기 관리자 컴포넌트는 상기 변경된 현재 구성에 대응하는 구성 데이터를 검색하고, 발견된 경우에는, 상기 검색 시에 찾았을 때의 상기 구성 데이터에 기초하여 설정을 적용시키는 서브시스템.
  20. 제19항에 있어서,
    상기 검색이 성공적이지 않으면, 상기 디스플레이 기기는 상기 디스플레이 기기에 대응하는 기능 정보에 기초하여 또는 유사한 구성 데이터에 기초하여 설정들을 적용하는 서브시스템.
KR1020050124636A 2004-12-17 2005-12-16 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템 KR101278791B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/017,198 US7450084B2 (en) 2004-12-17 2004-12-17 System and method for managing computer monitor configurations
US11/017,198 2004-12-17

Publications (2)

Publication Number Publication Date
KR20060069338A true KR20060069338A (ko) 2006-06-21
KR101278791B1 KR101278791B1 (ko) 2013-06-25

Family

ID=36051479

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050124636A KR101278791B1 (ko) 2004-12-17 2005-12-16 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US7450084B2 (ko)
EP (1) EP1672613A3 (ko)
JP (1) JP2006209091A (ko)
KR (1) KR101278791B1 (ko)
CN (1) CN1801078B (ko)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005285091A (ja) * 2004-03-04 2005-10-13 Sony Corp 画像表示装置、情報端末装置、ネットワークシステム及びネットワーク設定方法
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US7441062B2 (en) 2004-04-27 2008-10-21 Apple Inc. Connector interface system for enabling data communication with a multi-communication device
US7673083B2 (en) 2004-04-27 2010-03-02 Apple Inc. Method and system for controlling video selection and playback in a portable media player
US7826318B2 (en) 2004-04-27 2010-11-02 Apple Inc. Method and system for allowing a media player to transfer digital audio to an accessory
US7441058B1 (en) 2006-09-11 2008-10-21 Apple Inc. Method and system for controlling an accessory having a tuner
US7526588B1 (en) 2004-04-27 2009-04-28 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US7529872B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US7529870B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player with multiple lingoes
US7895378B2 (en) 2004-04-27 2011-02-22 Apple Inc. Method and system for allowing a media player to transfer digital audio to an accessory
US8453063B1 (en) * 2004-04-30 2013-05-28 Apple Inc. Display manager that dynamically adjusts for dependencies in a video display system
US7450084B2 (en) 2004-12-17 2008-11-11 Microsoft Corporation System and method for managing computer monitor configurations
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7525216B2 (en) 2005-01-07 2009-04-28 Apple Inc. Portable power source to provide power to an electronic device via an interface
JP4665605B2 (ja) * 2005-05-20 2011-04-06 富士ゼロックス株式会社 信号伝送装置及び信号伝送システム
US7746303B2 (en) * 2005-11-17 2010-06-29 Honeywell International Inc. Method and apparatus for extending the color depth of displays
US9137309B2 (en) 2006-05-22 2015-09-15 Apple Inc. Calibration techniques for activity sensing devices
US8006019B2 (en) 2006-05-22 2011-08-23 Apple, Inc. Method and system for transferring stored data between a media player and an accessory
US8073984B2 (en) 2006-05-22 2011-12-06 Apple Inc. Communication protocol for use with portable electronic devices
US20070271116A1 (en) 2006-05-22 2007-11-22 Apple Computer, Inc. Integrated media jukebox and physiologic data handling application
TW200802243A (en) * 2006-06-14 2008-01-01 Benq Corp Method for automatically adjusting driving signals of a peripheral device and systems of operating the same
US7415563B1 (en) 2006-06-27 2008-08-19 Apple Inc. Method and system for allowing a media player to determine if it supports the capabilities of an accessory
US7558894B1 (en) 2006-09-11 2009-07-07 Apple Inc. Method and system for controlling power provided to an accessory
KR20080045579A (ko) * 2006-11-20 2008-05-23 삼성전자주식회사 디스플레이장치, 그 제어방법 및 디스플레이시스템
KR20080046858A (ko) * 2006-11-23 2008-05-28 엘지전자 주식회사 미디어 싱크 기기, 미이어 소스 기기 및 미디어 싱크기기의 제어 방법
US7710894B2 (en) * 2006-12-21 2010-05-04 International Business Machines Corporation Method, computer program product, and apparatus for automatically adapting hardware and software preferences based on a network connection
US20080163195A1 (en) 2006-12-27 2008-07-03 Samsung Electronics Co., Ltd. Display apparatus and driving method of display apparatus
US8612857B2 (en) * 2007-01-08 2013-12-17 Apple Inc. Monitor configuration for media device
US8607144B2 (en) * 2007-01-08 2013-12-10 Apple Inc. Monitor configuration for media device
TW200839695A (en) * 2007-03-22 2008-10-01 Benq Corp Screen display apparatus and adjustment method of image apparatus
US8775453B2 (en) * 2007-03-27 2014-07-08 Ca, Inc. System and method for reducing memory usage of tree-based data structures
US9467735B2 (en) 2007-09-04 2016-10-11 Apple Inc. Synchronizing digital audio and analog video from a portable media device
TW200925984A (en) * 2007-12-04 2009-06-16 Sunplus Technology Co Ltd Screen adjustment method
US8276133B1 (en) 2007-12-11 2012-09-25 Nvidia Corporation System, method, and computer program product for determining a plurality of application settings utilizing a mathematical function
US8296781B1 (en) 2007-12-11 2012-10-23 Nvidia Corporation System, method, and computer program product for determining application parameters based on hardware specifications
US8280864B1 (en) * 2007-12-17 2012-10-02 Nvidia Corporation System, method, and computer program product for retrieving presentation settings from a database
JP4296213B2 (ja) * 2007-12-21 2009-07-15 株式会社東芝 情報処理装置
US20090184888A1 (en) * 2008-01-18 2009-07-23 Jyi-Yuan Chen Display control system and method thereof
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8970647B2 (en) 2008-05-13 2015-03-03 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
US9870130B2 (en) 2008-05-13 2018-01-16 Apple Inc. Pushing a user interface to a remote device
US9311115B2 (en) 2008-05-13 2016-04-12 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
US8208853B2 (en) 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8238811B2 (en) 2008-09-08 2012-08-07 Apple Inc. Cross-transport authentication
US9009358B1 (en) 2008-09-23 2015-04-14 Western Digital Technologies, Inc. Configuring a data storage device with a parameter file interlocked with configuration code
US7984200B1 (en) * 2008-09-23 2011-07-19 Western Digital Technologies, Inc. Configuring a data storage device with a configuration data record set in response to a configuration code
US9880891B2 (en) * 2008-09-30 2018-01-30 Hewlett-Packard Development Company, L.P. Assignment and failover of resources
CN101770354A (zh) * 2009-01-04 2010-07-07 联想(北京)有限公司 用于恢复输出设备位置排列的输出系统和方法
US9075559B2 (en) 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US8909803B2 (en) 2009-03-16 2014-12-09 Apple Inc. Accessory identification for mobile computing devices
US8452903B2 (en) 2009-03-16 2013-05-28 Apple Inc. Mobile computing device capabilities for accessories
US20160320938A9 (en) * 2009-03-17 2016-11-03 Litera Technologies, LLC System and Method for the Auto-Detection and Presentation of Pre-Set Configurations for Multiple Monitor Layout Display
GB0909097D0 (en) * 2009-05-28 2009-07-01 Displaylink Uk Ltd Display system and method
US9135675B2 (en) 2009-06-15 2015-09-15 Nvidia Corporation Multiple graphics processing unit display synchronization system and method
US20110004839A1 (en) * 2009-07-02 2011-01-06 Derek Cha User-customized computer display method
US8493434B2 (en) * 2009-07-14 2013-07-23 Cable Television Laboratories, Inc. Adaptive HDMI formatting system for 3D video transmission
US8766989B2 (en) * 2009-07-29 2014-07-01 Nvidia Corporation Method and system for dynamically adding and removing display modes coordinated across multiple graphics processing units
US8489841B1 (en) 2009-12-10 2013-07-16 Western Digital Technologies, Inc. Manufacturing station dynamically configuring a data storage device with a validated configuration data record
CN102129850B (zh) * 2010-01-15 2013-11-06 宏碁股份有限公司 信号处理系统及方法
US8422858B2 (en) 2010-01-21 2013-04-16 Robert Paul Morris Methods, systems, and computer program products for coordinating playing of media streams
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US20110193884A1 (en) * 2010-02-09 2011-08-11 Victor Lee Set Color Level According To Origin
US9621697B2 (en) 2010-12-01 2017-04-11 Dell Products L.P. Unified communications IP phone using an information handling system host
US20120206372A1 (en) * 2011-02-10 2012-08-16 Kevin Mundt Method and system for flexible use of tablet information handling system resources
KR101554599B1 (ko) 2011-06-30 2015-09-21 주식회사 케이티 외부 디바이스와 도킹 연결되는 휴대 단말 및 어플리케이션 실행 방법
WO2013002547A2 (ko) 2011-06-30 2013-01-03 주식회사 케이티 외부 디바이스와 도킹되는 휴대 단말 및 그 제어 방법
JP5991742B2 (ja) * 2011-08-29 2016-09-14 キヤノン株式会社 情報処理装置、表示状態復元方法及びプログラム
KR101474927B1 (ko) * 2011-12-22 2014-12-31 주식회사 케이티 외부 디스플레이 기기로의 영상 송출 방법 및 그 단말
KR101546407B1 (ko) 2011-12-23 2015-08-24 주식회사 케이티 어플리케이션 실행 제어 방법 및 장치
KR101522399B1 (ko) 2011-12-23 2015-05-22 주식회사 케이티 휴대 단말에서 외부 디스플레이 기기로의 화면 표출 방법 및 그 휴대 단말
KR101504655B1 (ko) 2011-12-26 2015-03-23 주식회사 케이티 어플리케이션 실행 제어 방법 및 장치
KR101522397B1 (ko) 2011-12-26 2015-05-22 주식회사 케이티 복수의 외부 장치와 연결될 수 있는 휴대 단말 및 그 제어 방법
KR101207537B1 (ko) * 2012-03-30 2012-12-05 주식회사 빅솔론 휴대용 컴퓨터를 이용한 포스시스템
US9306879B2 (en) 2012-06-08 2016-04-05 Apple Inc. Message-based identification of an electronic device
US8738826B2 (en) * 2012-06-08 2014-05-27 Apple Inc. System and method for display mirroring
US9275377B2 (en) 2012-06-15 2016-03-01 Nvidia Corporation System, method, and computer program product for determining a monotonic set of presets
US11763358B2 (en) * 2012-06-26 2023-09-19 EMC IP Holding Company LLC Per-tenant cost calculation in multi-tenant data storage system
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria
US9250931B2 (en) 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US10509658B2 (en) 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9286247B2 (en) 2012-07-06 2016-03-15 Nvidia Corporation System, method, and computer program product for determining settings for a device by utilizing a directed acyclic graph containing a plurality of directed nodes each with an associated speed and image quality
CN103116441B (zh) * 2013-01-28 2016-06-29 广东威创视讯科技股份有限公司 一种窗口切换方法及装置
US9818379B2 (en) 2013-08-08 2017-11-14 Nvidia Corporation Pixel data transmission over multiple pixel interfaces
US20150213776A1 (en) * 2014-01-24 2015-07-30 Nvidia Corporation Computing system and method for automatically making a display configuration persistent
US20160266751A1 (en) * 2015-03-09 2016-09-15 Lenovo (Singapore) Pte. Ltd. Virtualized Extended Desktop Workspaces
CN105677364A (zh) * 2016-02-05 2016-06-15 合肥联宝信息技术有限公司 一种侦测显示器类型的方法
US10402062B2 (en) * 2016-04-16 2019-09-03 Apple Inc. Organized timeline
US10360019B2 (en) * 2016-09-23 2019-07-23 Apple Inc. Automated discovery and notification mechanism for obsolete display software, and/or sub-optimal display settings
US11310294B2 (en) 2016-10-31 2022-04-19 Microsoft Technology Licensing, Llc Companion devices for real-time collaboration in communication sessions
CN106776823B (zh) * 2016-11-25 2018-12-07 华为技术有限公司 一种时序数据管理方法、设备和装置
US10255019B2 (en) * 2017-03-30 2019-04-09 Hewlett-Packard Development Company, L.P. Display configurations based on applications
US10282540B2 (en) * 2017-04-17 2019-05-07 Wyse Technology L.L.C. Securing source devices using a display device filter
CN107220201B (zh) * 2017-04-21 2019-12-06 福建天晴数码有限公司 Vr设备的识别方法及其系统
KR102378953B1 (ko) * 2017-06-16 2022-03-24 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 규칙 기반 사용자 인터페이스 생성
US10914808B2 (en) 2017-08-30 2021-02-09 Analog Devices International Unlimited Company Managing the determination of a transfer function of a measurement sensor
US11067604B2 (en) * 2017-08-30 2021-07-20 Analog Devices International Unlimited Company Managing the determination of a transfer function of a measurement sensor
CN108156398A (zh) * 2018-01-03 2018-06-12 山东超越数控电子股份有限公司 一种vga视频图形阵列及其工作方法
CN110244982B (zh) * 2018-03-09 2023-09-19 浙江宇视科技有限公司 数据恢复方法及装置
GB2586792B (en) * 2019-08-30 2022-08-17 Samsung Electronics Co Ltd Apparatus, method and computer program for determining configuration settings for a display apparatus
US11546391B2 (en) 2019-11-01 2023-01-03 Microsoft Technology Licensing, Llc Teleconferencing interfaces and controls for paired user computing devices
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices
US11256392B2 (en) * 2019-11-01 2022-02-22 Microsoft Technology Licensing, Llc Unified interfaces for paired user computing devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488385A (en) * 1994-03-03 1996-01-30 Trident Microsystems, Inc. Multiple concurrent display system
US5682529A (en) * 1994-03-14 1997-10-28 Apple Computer, Inc. System for dynamically accommodating changes in display configuration by notifying changes to currently running application programs to generate information by application programs to conform to changed configuration
KR100248255B1 (ko) * 1997-05-16 2000-03-15 구본준 액정표시장치의 구동회로
US6049316A (en) * 1997-06-12 2000-04-11 Neomagic Corp. PC with multiple video-display refresh-rate configurations using active and default registers
US6314479B1 (en) * 1997-08-04 2001-11-06 Compaq Computer Corporation Universal multi-pin plug and display connector for standardizing signals transmitted between a computer and a display for a PC theatre interconnectivity system
US20040233189A1 (en) * 1997-11-13 2004-11-25 Kozo Masuda Display unit
US6282646B1 (en) * 1998-05-08 2001-08-28 Apple Computer, Inc. System for real-time adaptation to changes in display configuration
US6697033B1 (en) * 2000-11-28 2004-02-24 Ati International Srl Method and system for changing a display device on a computer system during operation thereof
US20020161803A1 (en) * 2001-03-15 2002-10-31 Imation Corp. Web page color accuracy
KR100633154B1 (ko) * 2001-03-20 2006-10-11 삼성전자주식회사 모니터의 표시모드자동설정방법 및 그 시스템과,표시모드자동설정방법과 표시모드자동설정시스템이 저장된기록매체
JP2003209769A (ja) * 2002-01-15 2003-07-25 Canon Inc 画像生成装置および方法
AU2003231500A1 (en) * 2002-05-01 2003-11-17 Junichi Asoh Computer, display device setting method, and program
JP3795442B2 (ja) * 2002-09-11 2006-07-12 Necディスプレイソリューションズ株式会社 画像表示システム
US7136042B2 (en) * 2002-10-29 2006-11-14 Microsoft Corporation Display controller permitting connection of multiple displays with a single video cable
US7154493B2 (en) * 2003-03-13 2006-12-26 Microsoft Corporation Monitor interconnect compensation by signal calibration
US7450084B2 (en) * 2004-12-17 2008-11-11 Microsoft Corporation System and method for managing computer monitor configurations

Also Published As

Publication number Publication date
KR101278791B1 (ko) 2013-06-25
JP2006209091A (ja) 2006-08-10
CN1801078A (zh) 2006-07-12
US20060132473A1 (en) 2006-06-22
CN1801078B (zh) 2011-12-14
US7450084B2 (en) 2008-11-11
EP1672613A3 (en) 2009-04-29
EP1672613A2 (en) 2006-06-21

Similar Documents

Publication Publication Date Title
KR101278791B1 (ko) 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템
US6560701B1 (en) Alternate boot record
US6931475B2 (en) Blade server system with KVM switches
JP4216327B2 (ja) コンピュータにおける情報表示の管理システム
US8762552B2 (en) Fine granularity access control for a storage area network
US20080263217A1 (en) Connection control in thin client system
US20020194407A1 (en) Maintaining fabric device configuration through dynamic reconfiguration
US9032106B2 (en) Synchronizing device association data among computing devices
US20030234811A1 (en) Home network system for driving a remote user interface and method thereof
US6931458B2 (en) Apparatus and method for refreshing a terminal display in a multiple information handling system environment
US7171474B2 (en) Persistent repository for on-demand node creation for fabric devices
US6208326B1 (en) Apparatus and associated method for selecting video display parameter of a computer-system, video display monitor
JP2009245029A (ja) 構成情報管理装置、構成情報管理プログラム及び構成情報管理方法
US20090271667A1 (en) Apparatus and Method for Monitoring Computer System
US20080184320A1 (en) TVOD Processing Device And Computer KVM Switch Thereof
US7200646B2 (en) System and method for on-demand node creation for fabric devices
JP4580195B2 (ja) ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
US8326882B1 (en) Environment management interface for management of a heterogeneous storage environment
US8725966B2 (en) Generation and update of storage groups constructed from storage devices distributed in storage subsystems
CN111031126A (zh) 集群缓存共享方法、系统、设备及存储介质
US20110153775A1 (en) Information recording device and information recording method
EP1661007A2 (en) System and method for monitoring and managing connection manager activity
US7536493B2 (en) Method and apparatus for identifying a service processor with current setting information
US20070011490A1 (en) Information processing apparatus, and method of controlling operation of the same
CN116450598A (zh) 一种资源数据处理方法、装置、电子设备及存储介质

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
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