CN1801078B - 用于管理计算机监视器配置的系统和方法 - Google Patents
用于管理计算机监视器配置的系统和方法 Download PDFInfo
- Publication number
- CN1801078B CN1801078B CN2005101361328A CN200510136132A CN1801078B CN 1801078 B CN1801078 B CN 1801078B CN 2005101361328 A CN2005101361328 A CN 2005101361328A CN 200510136132 A CN200510136132 A CN 200510136132A CN 1801078 B CN1801078 B CN 1801078B
- Authority
- CN
- China
- Prior art keywords
- monitor
- display device
- configuration
- setting
- video
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital 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/1438—Digital 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/08—Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/04—Display device controller operating with a plurality of display units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G09G2370/042—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G09G2370/045—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G09G2370/045—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
- G09G2370/047—Exchange 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 Hardware Design (AREA)
- Computer Graphics (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
技术领域
本发明一般涉及计算机系统,尤其涉及管理计算机显示器和其他显示装置。
背景技术
某些计算机系统用户,尤其是诸如膝上型计算机的移动计算设备的用户通常需要把他们的计算机系统连接到不同的诸如显示监视器(或简称为监视器)的显示装置上。例如,尽管膝上型计算机具有内置的监视器,计算机用户可在给出演示时把膝上型计算机连接到大的监视器或连接到等效的投影机设备。其他例子包括把移动计算机连接到办公室的监视器以及家中的不同的监视器上。实际上,某些类型的移动计算机系统已经被设计成不具有任何监视器,并且要在每个它们连接监视器的目的地之间移动。
此外,尽管不是公知的,当代的操作系统(诸如微软公司的WindowsXP操作系统)以各种方式支持多监视器,该各种方式包括允许多个监视器的屏幕被用作为一个大的屏幕的方式。换句话说,操作系统扩展连接到安装的视频卡(或多头卡)的监视器以作为单个桌面而不是在两台或更多监视器等上同时显示相同的图像(称为克隆模式),通过该桌面用户能在监视器之间移动鼠标指针和拖拉程序窗口。在该扩展屏幕模式中,操作系统维护单独的用于每个监视器的软件管理的设置,例如,分辨率、刷新率、颜色深度等。也存在这样的情况,诸如在游戏应用中,多个监视器可被用于横跨监视器的单个应用;在这种横跨模式中,这些监视器一般具有相同的设置。
如此,用户在把计算机系统连接到一个或多个显示装置的方式上具有大量灵活性。然而,只要有对于显示装置的计算机系统的当前配置的更改,例如,监视器被连接或被断开连接,那么为了更改而调整可能需要大量的用户动作。这需要用户具有基于重配置如何更改设置的知识,并且有时需要用户记住或试验理想的设置。
用于该重配置要求的一个原因是存在用户能连接的多种类型的显示装置,很多显示装置具有不同的能力、屏幕大小等。另一个原因是某些计算机系统具有多个用户,并且每个用户需要不同的设置。尽管某些用户不在意当从工作监视器更改到家庭监视器或从家庭监视器更改到工作监视器时、或无论何时在不同的用户注销后登录时重配置设置,其他用户并没有充分的知识可以做出理想的更改、或不想麻烦地更改,例如,用户容忍另一用户的首选项、或在两个位置使用相同的设置(“最小公分母”解决方案,即便监视器中的一个监视器的其他设置是较好的)。在其他情况中,即使熟练的计算机用户也可能对他们需要连接的具体的显示装置一无所知,诸如一给出演示的需要连接到任何可用的大的监视器或投影设备的用户。此外,在不久的将来,许多电视机和安装在飞机上的显示器将提供计算机连接作为计算机监视器是可能的,由此飞机旅客和/或在旅馆房间内的旅客等将连接到电视机或显示器,要求计算机的视频设置的重配置以适应该电视机或显示器。需要注意的是预设置方案是不可行的;例如,由于不同的情况,可存在这样的显示装置的很多变化,每个变化具有不同的能力,例如,旅馆房间电视机几乎肯定比构建在飞机座位内的显示器大。
实际上,当连接到具体的显示装置时,用户需要或想重配置的分辨率、颜色深度以及刷新率全部是可变的。这些设置由显示装置的能力结合安装在计算机系统内的视频卡(或多个视频卡)的能力所确定的。屏幕大小是另一更改现有设置的原因,如在一个显示装置上看上去良好的看得见的对象当在另一个显示装置的设置上使用时可能太小或太大。功耗是另一个需要被考虑的因素,由于具有某些设置(例如,更高的刷新率)要比且其他机制消耗更多的电力,并且当尝试保存电池寿命时是不理想的。
总之,存在大量用于结合显示装置操作的配置计算机系统的方式,并且存在大量用户可连接的显示装置类型。当多个显示装置可用于连接到计算机系统时,也存在多种选择。需要的是一种当连接到一个或多个显示装置时简化用户体验的方法,并且该方法以一种处理多个可能的用户情况以及给用户想要的结果的灵活的方式实现。
发明内容
简单地说,本发明提供一种用于在监视器或其他显示装置的连接后动态地和智能地配置和/或在断开连接后重配置计算机系统的监视器相关设置的系统和方法。本发明不仅仅更改用于特定显示装置的设置更改,也可作为一个整体对监视器配置做出更改,包括一个或多个显示装置的概念以及它们各自的视频设置和模式、以及诸如监视器相互之间的相对位置的信息、以及影响它们的视频模式(例如,电源方案)的信息。需要注意的是如在此使用的,术语“监视器”和“显示装置”是等同的并且一般可互换使用,(即使在某些其他情况下,诸如投影机的显示装置按字面解释不被考虑成监视器)。
当监视器被插入计算机系统时,软件中的瞬态监视器管理器组件被通知并尝试识别监视器以查看它是否先前在计算机系统上被配置。搜索持续存储的监视器配置,查找包括刚刚被连接的监视器的标识符的监视器配置,该标识符可结合用于相互连接的监视器各自的标识符所维护。如果监视器配置数据先前被建立,那么刚刚被连接的监视器的建立的视频模式以及任何其他连接的一个监视器或多个监视器的建立的视频模式可被获得以获得它们的视频模式。如果没有精确匹配,那么数据可从先前建立的类似配置中获得。当需要更改时,所有监视器的视频模式可同时被应用以使只需要一次‘闪烁’或刷新而不需要用户交互。监视器配置被找到,其中任何已经插入的监视器的视频模式都不需要更改。
在一种实现中,本发明作用于监视器的连接或断开连接,诸如由操作系统中的视频栈提供的即插即用事件的接收所指示的。当用户登录时、当用户锁定以及然后解锁计算机、或当快速用户切换发生时,本发明也操作以处理这样的情况,其中尽管用户退出登录,但是监视器更改发生。
瞬态监视器管理器组件配置一个或多个到达的监视器,监视器可被配置成已知的配置,当这样已知的配置已经被先前的建立时,或如果没有已知的配置被先前地建立,那么监视器被配置成最类似的理想的配置(达到尽可能的程度)。尤其,如果匹配的配置没有被找到,那么基于每个被连接的监视器的能力以及系统的视频能力确定新的配置,虽然其他诸如电源和操作类型(例如,媒体播放对图像查看)的因素可修改给定的监视器配置。
在一种实现中,如果监视器先前没有被连接到计算机系统,那么监视器被询问它可能的视频模式。如果监视器响应,那么返回的信息被用以确定该监视器相对于当前的视频卡能力的最佳的可能的设置,并且视频模式可在没有用户交互的情况下被应用,虽然提供给用户某些用户接口也是可行的,诸如具体的监视器被第一次遇到。如果监视器不具有视频模式信息,那么可以使用标准的(例如,最小的)视频模式配置。在大部分实例中,仅仅当系统不能找到监视器配置且监视器不提供视频模式信息时才需要关于监视器配置是否正确的用户确认。
用于搜索最佳猜测的监视器配置的其他增强可被使用以找到最类似的监视器配置。这些增强可包括在当前被插入的监视器先前已经被查看的情况中(但不是在相同的监视器配置中)使用现有设置。
除了智能地配置新连接的监视器,在断开连接后,管理器组件可重配置任何余下的(依旧连接的)一个监视器或多个监视器为配置更改而调整。这可包括更改设置,也可包括混洗出现在断开连接的监视器上的窗口和其他图像到余下的一个监视器或多个监视器。管理器组件跟踪用户对配置(例如,设置的一个或多个)做出的任何手动更改并当遇到相同的监视器或类似类型的监视器时自动地恢复配置。
此外,由于本发明负责当监视器配置更改时设置视频模式,所以本发明可被扩展以处理在计算机上保存电力需要的视频模式更改,在该计算机上电力保存是重要的,诸如当处理可经历低电池情况的移动设备时。瞬态监视器管理器能被通知电源方案更改以及能执行应用统一电源策略规则。该特性提供其他益处,因为目前移动设备的临时显示设备驱动程序是不能识别多显示器的,并由此移动设备能经常仅仅对它的内置显示器做出关于电源的视频模式更改。
本发明所提出的一种用于管理计算机系统中的显示装置配置的方法,包括以下步骤:
接收包括至少一个显示装置的配置已经被更改的指示,所述更改包括显示装置被连接;以及
确定被更改的配置是否对应于具有在计算机系统上维护的配置数据的一个配置,所述确定步骤包括:
判断刚连接的显示装置是否为新的显示装置;
如果不是新的显示装置,进一步判断包含刚连接的显示装置与其他已连接的显示装置的组合的当前配置是否是新的全部配置;如果不是新的全部配置,则搜索一先前的配置数据以应用到该当前配置,如果是新的全部配置,则选择最佳配置数据并应用到该当前配置;所述应用到该当前配置包括把一组视频相关的设置应用到所述显示装置的组合;
如果是新的显示装置,则询问显示装置,并寻找与刚连接的显示装置类似的已知的另一显示装置,以将刚连接的显示装置的配置信息替代为该另一显示装置的配置信息。
在本发明的一实施例中,上述方法进一步包括向显示装置询问能力信息。
在本发明的一实施例中,上述方法进一步包括基于当前安装的视频卡的能力信息测试设置。
在本发明的一实施例中,所述测试不成功,上述方法进一步包括循环迭代以测试不同的设置。
在本发明的一实施例中,上述方法进一步包括向至少一个显示装置询问标识符。
在本发明的一实施例中,所述更改包括显示装置被断开,所述确定步骤还包括:
判断剩余的显示装置的配置是否是新的全部配置;如果不是新的全部配置,则将配置重置为先前的配置,如果是新的全部配置,则选择最佳配置并应用;以及
允许用户确认所述配置。
在本发明的一实施例中,所述一组视频相关的设置包括以下设置中的至少一个设置:分辨率设置、刷新率设置、颜色深度设置、方位设置、亮度设置、对比度设置、视频头状态设置、和/或每英寸点数设置。
在本发明的一实施例中,上述方法进一步包括持续存储对于配置数据的更改。
在本发明的一实施例中,上述方法进一步包括持续存储所述配置数据,其中持续所述存储配置数据包括把信息写到持续存储器中,所述信息包括一组显示装置设置中的至少一个设置,所述组包括:分辨率设置、刷新率设置、颜色深度设置、方位设置、亮度设置、对比度设置、视频头状态设置、和/或每英寸点数设置。
在本发明的一实施例中,上述方法持续所述存储配置数据进一步包括把几何信息写入数据存储中,其中几何信息是显示装置相互之间相对的逻辑位置。
在本发明的一实施例中,上述方法进一步包括接收对应于用户对于配置数据更改的信息,并进一步包括持续存储所述更改。
本发明另提出一种计算机系统中的用于管理显示装置配置的子系统,包括:
用于接收包括至少一个显示装置的配置已经被更改的指示的装置,所述更改包括显示装置被连接;
用于确定被更改的配置是否对应于具有在计算机系统上维护的配置数据的一个配置的装置,其进一步包括:
用于判断刚连接的显示装置是否为新的显示装置的装置;
用于在刚连接的显示装置不是新的显示装置时,进一步判断包含刚连接的显示装置与其他已连接的显示装置的组合的当前配置是否是新的全部配置的装置;
用于在当前配置不是新的全部配置时,搜索一先前的配置数据以应用到该当前配置的装置;
用于在当前配置是新的全部配置时,选择最佳配置数据并应用到该当前配置的装置;
其中,所述应用到该当前配置包括把一组视频相关的设置应用到所述显示装置的组合;以及
用于在刚连接的显示装置是新的显示装置时,询问显示装置,并寻找与刚连接的显示装置类似的已知的另一显示装置,以将刚连接的显示装置的配置信息替代为该另一显示装置的配置信息的装置。
其他优点将从以下结合附图的详细的描述中变得明显,其中:
附图说明
图1是框图,以个人计算机系统的形式表示通用计算设备,本发明可被结合到该通用计算设备中;
图2是框图,一般表示了根据本发明的多个方面的用于管理一个或多个监视器的组件,包括基于当前监视器组应用监视器配置数据;
图3是流程图,一般表示了根据本发明的多个方面的由瞬态监视器管理器组件在监视器连接到计算机系统后采用的示例步骤;
图4是流程图,一般表示了根据本发明的多个方面的由瞬态监视器管理器在监视器从计算机系统断开连接后采取的示例步骤;
图5是流程图,一般表示了根据本发明的多个方面的当用户交互地更改监视器配置数据时由瞬态监视器管理器采取的示例步骤;以及
图6-10包括流程图,一般表示了根据本发明的多个方面的由瞬态监视器管理器采取的以处理各种情况的步骤。
详细描述
典型操作环境
图1示出了一合适的计算系统环境100的示例,在该环境中可实现本发明。计算系统环境100只是合适的计算环境的一例,而不是要提出对本发明的使用范围或功能进行限制。计算系统环境100也不应解释成对于在示例操作环境100中所示出的任一组件或其组合有任何依赖或需求。
本发明可用大量其它通用或专用计算系统环境或配置运行。可以适用于本发明使用的公知的计算系统、环境、和/或配置的示例包括,但不局限于,个人计算机、服务器计算机、手持设备或膝上型计算机、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电器、网络PC、小型机、大型计算机、包括任何诸如以上系统或设备的分布计算环境等。
本发明可以在诸如由计算机执行的程序模块的可执行计算机指令的一般上下文中被描述。一般地,程序模块包括完成特殊任务或执行特殊抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可以在分布式计算环境中实践,其中任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以定位于包括存储器储存器设备的本地和远程计算机存储介质。
参见图1,用于实现本发明的示例的系统包括一以计算机110形式出现的通用计算设备。计算机110的组件包括,但不局限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是多种总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构的任一种的局部总线。举例来说,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型工业标准体系结构(EISA)总线、视频电子标准技术协会(VESA)局部总线、和也被称为Mezzanine总线的外围部件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是任何计算机110能够访问的可用介质,包括易失性的和非易失性的介质、可移动的和不可移动的介质。举例来说,而非限制,计算机可读介质可以包含计算机存储介质和通信介质。计算机存储介质包括能以任何方法或技术实现的易失性的和非易失性的、可移动的和不可移动的介质,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。计算机存储介质包括,但不局限于,RAM、ROM、EEPROM、闪存或其它存储技术,CD-ROM、数字化多功能光盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或任何其它可以被用来存储想要的信息并且可以被计算机110访问的介质。通信介质通常体现为诸如载波或其它传送机制的已调数据信号中的计算机可读指令、数据结构、程序模块或其它数据,也包括任何信息传递介质。术语“已调制数据信号”是指在该信号中以编码信息的方式来设置或改变其一个或多个特征的信号。举例来说,而非限制,通信介质包括诸如有线网或直线连接的有线介质,和诸如声音、射频、红外线和其它无线介质的无线介质。任何以上所述的组合也可以包括在计算机可读介质的范围之内。
系统存储器130包括以诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器的形式的计算机存储介质。包含如在启动期间帮助在计算机110内各元素之间传送信息的基本例程的基本输入/输出系统(BIOS)133,通常存储在ROM 131中。RAM 132通常包含可以被处理单元120立即访问和/或当前操作的数据和/或程序模块。举例来说,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可以包括其它可移动/不可移动、易失性/非易失性的计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁性介质读出或写入不可移动、非易失性磁性介质的硬盘驱动器141、从可移动、非易失性磁性磁盘152读出或写入可移动、非易失性磁性磁盘152的磁盘驱动器151、以及从诸如CD ROM或其它光学介质的可移动、非易失性光盘156读出或写入可移动、非易失性光盘156的光盘驱动器155。其它可以使用在示例的操作环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不局限于,盒式磁带、闪存卡、数字多功能光盘、数字录像带、固态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中,定位设备161通常指如鼠标、跟踪球或触摸板。其它输入设备(图1中未示)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常经由和系统总线121相耦合的用户输入接口160连接到处理单元120。但是上述和其它输入设备也可以由其它接口和总线结构连接到处理单元120,诸如,并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型显示设备也可以通过诸如视频接口190的接口连接到系统总线121。监视器191也可以和触摸屏等集成在一起。需要注意的是监视器和/或触摸屏可以物理地耦合到包含了计算机110的外壳内,诸如在平板式个人计算机内。另外,诸如计算设备110的计算机也包括其它外围输出设备,诸如可以通过一输出外围设备接口194等连接的扬声器195和打印机196。
计算机110可以在网络化的环境中运行,该环境使用逻辑连接连接到一个或多个诸如远程计算机180的远程计算机。远程计算机180可以是个人计算机、服务器、路由器、网络个人计算机、对等设备或其它普通网络节点,通常包括以上描述的和110相关的多个或全部组件,尽管在图1中只示出了存储器储存设备181。在图1中描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其它网络。这样的网络环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或通过诸如因特网的WAN 173建立通信的其他装置。调制解调器172可以是内置的或外置的,可以通过用户输入接口160或其它适当的机制连接到系统总线121。在一网络化的环境中,所描述的和计算机110相关的程序模块或其中的一部分可以存储在远程存储器储存设备内。举例说明,但非限制,图1示出了驻留在存储器设备181上的远程应用程序185。可以理解的是所示的网络连接是示例的,也可以使用在计算机间建立通信链路的其他装置。
需要注意的是如上描述的,本发明一般涉及数据源,数据源可以,例如,包括对应于驻留在一个或多个远程系统上的SQL服务器和/或XML数据提供者(Web服务)的数据源。图1的计算环境100被理解包括任何本地和/或远程数据源,该数据包括SQL服务器提供的数据、Web服务服务器提供的数据和其他。
管理监视器配置
本发明一般涉及一种系统和方法,通过该系统和方法可在管理器组件上检测任何对于配置一个或多个监视器的方式的更改,然后该管理器组件以大多数用户可能首选的方式自动地应用计算机管理的监视器配置数据以补偿更改。如被理解的那样,大量实现本发明的方式是可行的,并且仅仅可供替换的某些方式在此描述。例如,本发明参考一个或多个视频卡可被安装在其内的计算机系统描述,并且在该计算机系统中监视器对计算机的连接和监视器从计算机处的断开连接被诸如基于即插即用(PNP)技术的组件的操作系统组件所检测。然而,本发明也可在其他类型的设备上实现,诸如连接到电视机的媒体播放器。实际上,诸如计算机监视器、电视机、投影设备等可把对应于自己能力的某些数据或标识符发送到另一设备的任何显示装置都能从本发明中获益。同样地,本发明不被限制于任何在此使用的具体示例,而是可以多种在一般计算内提供益处和优点的方式使用。
此外,本发明的某些例子结合各种对于具有标识符的计算机监视器的参考所描述,尤其是由视频电子标准协会定义的“扩展显示标识数据”或EDID。一般地,EDID是数据结构,通过该数据结构计算机监视器能够向它连接的主计算机系统通知它的身份和能力(称为E-EDID的扩展EDID数据结构是该标识符的更新的版本)。然而,本发明不被限制于具有EDID的监视器,而是可与任何标识系统工作。如此,如在此使用的,术语“标识符”和它的变体包括任何用于显示装置向连接的主系统标识它自己和/或它的能力的方式,包括基于EDID和E-EDID标准的数据结构。
此外,注意如在此使用的,术语“连接的”、“耦合的”、“插入的”以及它们的变体是等同的并且一般表示一种状态,在该状态中数据可在监视器和计算机系统之间以至少一个方向发送而不管数据是通过有线的还是无线的介质发送。在相反的状态中,数据不能用于任何原因而被发送,原因包括物理通信介质的移除、无线超出范围或干涉情况、监视器或视频头的电源关闭状态(包括诸如结合膝上型计算机的关闭电源的内置监视器)等,该状态被等同地称为“断开连接的”、“断开耦合的”或“未被插入的”以及它们各自的变体。
参见附图,图2显示了在其中可实现本发明的示例组件的排列。在图2中,包括一个或多个监视器2021和2022的显示装置可连接到一个或多个视频卡(视频适配器)204以及从一个或多个视频卡(视频适配器)204中断开连接,该一个或多个视频卡(视频适配器)由诸如通过视频电缆物理地插入监视器中。虽然图2仅仅显示了两个监视器,可以理解的是任何可行数量的监视器可被连接。需要注意的是当代计算机系统支持多个视频卡,诸如AGP或基于PCI的视频卡,并且也支持市场上提供的具有多个视频头的单个视频卡。也要注意的是虽然没有在图2中特别地表示,视频“卡”的概念等同于实际上不在可移动卡上的内置视频电路。
只要诸如监视器2022的显示装置被连接或被断开连接而计算机系统是可操作时,信号通过视频栈(例如,硬件和软件驱动程序层206、208等)由视频卡204发送至被配置以感应硬件更改的操作系统机制,如在图2通过即插即用(PNP)组件210表示的那样。即插即用组件210通过系统发送事件至适当的实体,由此称为瞬态监视器管理器212的用户模式组件知道有连接或断开连接事件。注意的是该排列充分利用当前的技术;在可供选择的配置中,瞬态监视器管理器可被实现为内核组件,和/或被配置以在没有即插即用组件210的情况下感应监视器连接和断开连接。
与本发明一致,瞬态监视器管理器212能诸如通过做出询问,例如,通过由图形接口213的API调用(例如,基于GDI的软件),找到有关连接的监视器的信息。第一个这样的询问可涉及获取监视器的关联标识符(例如,EDID),只要监视器支持这个标准;部分EDID被用于可能的范围,而NULL EDID(空EDID)由设置显示装置为某些最小值以及获取用户确认而被处理。更具体地,由于实际上不是所有监视器具有唯一序列号,当新的监视器被插入时,可使用类似监视器的配置。系统可检测监视器的生产代码以及产品标识符并且检查该组合是否以前被查看过。如果存在对于这两条信息的匹配,那么序列号能被用以进一步标识监视器。如果序列号不是唯一的,那么来自监视器的其他信息(例如,来自EDID数据结构)能被用以标识监视器。
序列号不一定是最佳的标识监视器的方式。另一种标识监视器的方式是把整个EDID或部分EDID转换至散列码,并且存储EDID至散列表。由于监视器的牌号和型号是EDID的一部分,用于EDID的进入散列表的入口点包括用于牌号和型号信息的散列表。这排除了再次询问监视器更多信息(如以下描述的)的需要。由于某些监视器不具有序列号、或用于监视器牌号和型号的唯一序列号,因此使用EDID作为标识符是较佳的。为了帮助进一步标识监视器,计算机所连接的网络可被标识,并且被纳入散列码的信息被用于EDID。
如果监视器不具有EDID(或具有NULL EDID(空EDID)),那么各种其他标识机制可被应用。例如,如果可确定监视器是内置监视器(例如,膝上型计算机的内置LCD面板),那么这是用以区分监视器的标识的一种形式。如果没有其他方式区分监视器并且它具有NULL EDID(空EDID),那么算法(以下被一般地描述)能指定特殊的监视器标识符。然而,如果存在多于一个的NULL EDID(空EDID)监视器,那么没有方法可用于保存两个监视器的不同的监视器设置。在这种情况下,两个监视器将共享相同的视频设置,或算法将监视器视为新的监视器。
如以下描述的,为了确定当前监视器配置,刚刚被连接的监视器的标识符被结合一个或多个其他已知的被连接的监视器的一个或多个标识符所使用。注意的是当需要时,瞬态监视器管理器212能询问所有连接的监视器(那些能响应的监视器)以了解当前被连接的一个或多个监视器的组。例如,对以下启动这是需要的,当对于最后监视器配置的任意数量的更改已经在没有相应感应的PnP事件的情况下在关闭(或休眠等)期间做出时。类似地,在不标识哪个监视器被断开连接的断开连接事件后,瞬态监视器管理器212可询问任何余下的监视器以通过排除过程确定哪个监视器被断开连接。
根据本发明的一个方面,一旦瞬态监视器管理器212知道一个或多个当前被连接的监视器的组,瞬态监视器管理器212确定监视器配置(一组数据)以应用到该组,并可能在不需要任何用户确认的情况下应用该组。如以下描述的,确定监视器配置可取决于监视器配置是否先前为该组所被建立,或该组是否对应于新的监视器配置,在此事件中瞬态监视器管理器212实质地为该组以智能的方式构建新的监视器配置并且然后应用该构建的监视器配置。
为了确定相应的监视器配置是否已经被先前地建立,瞬态监视器管理器212访问在数据存储214内维护的监视器配置数据。一般地,如果找到匹配监视器配置,那么它被应用,由此新连接的监视器和任何其他连接的监视器被自动地按需更改以对每个监视器恢复先前的视频状态。视频状态涉及能由软件设置的任何视频相关的数值(例如,监视器的分辨率、刷新率、颜色深度、方位、亮度、对比度、视频头状态开或关闭、和/或DPI)。对于具有多个监视器的配置,视频状态也包括监视器相互之间相对的逻辑位置(在相应的计算机桌面上),称为几何。注意的是如此监视器配置的概念包括用于一个或多个监视器的组的视频设置/模式,以及几何,和其他影响视频设置/模式的信息(例如,电源方案)。如可被容易理解的那样,不是所有可能的信息都需要被知道以持续存储和应用监视器配置,然而,可用以及可被持续存储的配置信息越多,那么当下次相同的组被重新连接时,瞬态监视器管理212能越好地恢复系统到它先前的状态。
在电源API 220也显示了瞬态监视器管理器212可由此至少暂时地修改被应用到监视器组的设置。可以容易理解的是诸如低电池情况的相关电源的事件,或被重新连接到电源的移动设备可在瞬态监视器管理器212被检测,并且从而被用为更改视频设置的基础。
图3是概括当监视器被检测为已经被例如即插即用事件插入时(如通过步骤300表示的),由瞬态监视器管理器212执行的各种操作流程图。步骤302表示关于这是新的监视器还是以前已经被该计算系统遇到的监视器的确定。该步骤隐含地包括计算与监视器关联的标识符,该标识符可被视为是通过后面的获取标识符的询问类型操作获取的,虽然对于标识符而言被结合连接事件所提供是可行的。各种确定监视器是否先前已经被连接的方式在以下被描述,虽然一般地,如果监视器先前已经被连接,那么监视器对应于至少一个具有在数据存储214内持续存储的数据的监视器配置。注意的是实用程序等可被用以从数据存储214中清除不再需要的监视器配置,但是用于本示例描述的目的,假设任何先前的监视器配置依旧被存储在数据存储214中。
如果监视器对应于至少一个监视器配置,那么它对于计算机系统而言不是新的,步骤302分出至步骤304,在此全部配置(包括任何其他连接的监视器)被估算,在任何包括对应于刚刚被连接的监视器的标识符的数据的监视器配置中寻找精确匹配。一般地,瞬态监视器管理器212寻找用户先前具有的监视器的同样的配置。如果在步骤304找到一个,那么监视器配置在步骤306被用以重置(一个或多个)监视器的组为它先前的配置,并且瞬态监视器管理器212的这个过程结束直到再次需要。注意的是要求某些比在步骤302和/或304的精确匹配较松的条件是可行的,诸如当刚刚被连接的监视器与另一监视器足够的类似以被认为匹配时(例如,相同的牌号和型号)。如可被容易理解的,现有监视器配置的应用可以是用于多个类型的用户合理地经常发生,该用户包括使移动设备在各位置之间移动并插入各监视器的用户、共享相同的计算机但具有不同设置(监视器配置基于每个用户持续存储)的用户等。
在步骤304,尽管监视器在步骤302被识别,但是全部的配置是新的是可能的。例如,刚刚被连接的监视器已经创建出先前从未被使用的监视器组合,或刚刚被连接的监视器已经总在某组合中被使用,但是现在由它单独连接。如果全部配置是新的,那么步骤304分出至步骤314,在此用于该新的监视器的“最佳”配置被瞬态监视器管理器212自动地选择;(注意的是“最佳”是在引号内以表明这个不一定是最佳的,仅仅是关于用户最想找到的最佳猜测)。例如,来自非匹配监视器配置的设置可被选择并被应用为最佳猜测,在该非匹配监视器配置中监视器是最新使用的。注意的是在应用配置之前,需要针对视频卡的兼容性评估设置,该视频卡与监视器最后连接的视频卡可能是不同的。如果是不兼容的,可选择更早些使用的配置,和/或设置被更改为与视频卡兼容的最接近的数值。
步骤314分出至(可选的)步骤320以通过用户界面对话框等确认应用的配置对用户而言是可接受的,以及如果用户首选更改监视器配置,那么用户接口一般提供修改监视器配置(例如,显示属性)的链接。在步骤320的用户交互后(用户可选择在将来绕过),瞬态监视器管理器212的这个过程结束,直到在连接事件后再次需要。
注意的是在用户交互后,可获取其他信息。例如,用户可被询问他或她是否正在给出演示。如果是,那么可做出其他类型的更改,例如,监视器配置可为无屏幕空白/无屏幕保护程序而设置,通知可被关闭等。
返回步骤302,如果监视器对于计算机系统而言是新的(例如,没有在计算机系统的现有监视器配置中找到),那么步骤302则分出至步骤304,表示询问监视器它的能力,也就是说,任何监视器能提供的相关配置的信息。例如,某些当代的监视器能提供从中能确定DPI的诸如它们的屏幕维度的信息,以及其他诸如首选的操作分辨率、刷新率、颜色深度、和其他设置的信息。注意的是该信息中的某些或所有可在先前在步骤302估计的标识符内;如果是的话,那么没有理由在步骤310再次询问它。然而,如以下描述的,API等可被提供,其中EDID中被选择的部分可被检索,例如,在一个调用中的序列号、在另一调用中的能力、并如此可做出多个询问。
或者,如果在步骤312没有详细的信息可用,但是有足够的其他信息可用并表明刚刚被连接的监视器与另一系统已知的监视器非常类似(例如,相同的牌号和型号),那么另一监视器的配置信息可被代替用于该监视器的配置信息。如图3中表示的,当足够的信息可用,并且该信息被用以为刚刚被连接的监视器选择和应用最佳猜测配置,那么步骤312分出至步骤314。注意的是监视器提供(或代替的类似)的信息作为视频卡的限制的结果可能需要修改,这可通过以下描述的循环迭代所实现。
如果在步骤312监视器不能提供足够的信息,那么步骤316则被执行以尝试某些最小配置。例如,绝大多数个人计算机和监视器至少支持VGA标准,允许用户查看包括对于手动地更改视频设置而言足够的用户界面的有意义的图形。步骤320跟随配置尝试,允许用户做出这样的更改和/或确认该配置是可被接受的。注意的是尽管没有在图3中显示,让步骤316开始于某些比VGA更好的配置(例如,具有更好的分辨率)是可行的,然后如果用户不采取动作,那么在返回步骤316之后在步骤320超时,其后在步骤316可尝试某些较少的配置。换句话说,过程可从步骤316前进到步骤320,并且,在某些允许交互的时间后,循环返回步骤316,重新把分辨率减到最小值直到用户在步骤320交互或达到最小值(诸如VGA)。一旦用户在步骤320确认,过程结束。如果用户从未确认,那么可假定监视器没有在正常工作或它不至少支持VGA,在这种情况下计算机系统可采取其他动作,诸如在另一监视器上向用户通知此问题,和/或不将这个监视器作为当前配置的一部分包括,好像它从未被连接。
如此,当监视器被插入时,监视器配置需要被找到或被配置以使对于视频设置的更改可被应用。一种实现这个的快速方式是基于曾经是配置的一部分的监视器寻找过去的监视器配置。如此,做出第一搜索以迅速标识新连接的监视器是否先前已经是监视器配置的一部分了。监视器的身份可通过包括在EDID内的序列号所确定,该序列号在目前版本中32位的数。在没有序列号的情况下,一个或多个其他(例如,EDID)字段可被散列以提供有用于如上所述的标识目的的数值。工具API调用等(例如,通过图形接口组件213)可被用以检索EDID。
在示例实现中,多种加快查找的方式包括使用散列表和/或以平衡二叉树排列已知的监视器标识符,例如,已知的监视器信息可被包括在数组中并且二叉树中的每个节点可以是监视器数组中的索引,以使每个在监视器数组中的条目包括指针列表,每个指针指向每个监视器是其一部分的监视器配置。一般地,二叉树可在此后被用以说明可能的实现。在这样的实现中,监视器配置被存储在称为监视器配置列表的最近使用的监视器配置列表中,具有指向包括在监视器数组的元素的监视器配置列表指针链表并且被排序,以使列表的头指向该监视器是其一部分的最近的监视器配置。
由于监视器配置可从一个用户向下一个用户更改,如果瞬态监视器管理器212是内核组件,那么当存在用户上下文更改时,监视器数组和监视器配置列表之间的链接被重置。监视器配置列表中的每个节点包括数据,诸如时间标记(用于以排列最近使用顺序排列)、配置中的监视器数量、电源方案(例如,表示为GUID)、版本号(用于数据结构将来可能的版本)、视频端口状态(也就是说,视频端口是活动的还是停用的)、监视器的几何以及在该配置和它们各自状态中标识监视器的监视器/状态数组。或者,视频设置可从监视器状态信息中提取。
监视器/状态数组具有包括对应于监视器数组内的监视器的索引条目的元素以及包含监视器状态的结构。状态包含诸如监视器的分辨率、刷新率、颜色深度以及方位的信息。存在这样的情况,视频头状态需要独立于监视器的出现而被跟踪。在这种情况下,视频头状态被存储在监视器配置列表条目节点中而不是监视器状态中。
当机器用已知的监视器启动时,监视器身份可被获取。例如监视器A、监视器B和监视器C可在一配置中,其中诸如监视器A具有为5的ID、监视器B具有为3的ID以及监视器C具有为7的ID。二叉树被检查,并且在这个示例中这些是已知的监视器,对应于ID 5、3以及7的节点被找到。每个节点包括在监视器数组内的索引。指向包括在每个数组元素内的监视器配置列表的指针列表被向下过滤以仅仅对应于那些当前正在使用的监视器数量(3)和电源方案。接下来在指向每个监视器的监视器配置列表的指针上执行比较以查看是否存在匹配。如果存在对于三个监视器的匹配,那么从监视器配置列表监视器状态中获取的视频设置以及从监视器配置列表节点中获取的几何被应用(通过图形接口214)。在任何监视器的几何都不匹配存储的几何的情况下,存储的几何不被使用。如一个示例,认为监视器B在监视器C被插入之前被移动到监视器A的左边。在这种情况下,监视器B移动到监视器A左边是已知的,那么由于存储的几何显示监视器B在监视器A的右边,用于监视器A、B和C(当被插入时)的存储的几何不被使用。
在未知的监视器被插入的情况下,尽管视频模式可由循环迭代可能的模式所确定,以便可能地恢复过去的设置,但执行对于监视器型号的搜索以尝试提供给用户用于类似的监视器的过去使用的模式。如果对于型号的搜索失败,那么可使用监视器能力,其中监视器能力包括屏幕大小和/或模式以及监视器支持的刷新率的组合。诸如监视器类型的信息能增强理想模式的选择,例如,LCD、CRT、等离子或某些其他类型。一个示例是,当用户从一个会议室移向另一个会议室,并把相同的计算机插入会议室中不一样但类似的监视器时。在这种情况下,监视器ID不能在使用监视器ID的二叉树的监视器数组中找到。当搜索失败时,将执行显示装置的型号的搜索。
两种搜索型号的方式包括创建另一能被搜索型号的二叉树,或通过监视器数组执行线性搜索。由于对于大多数用户而言未知监视器被添加的次数相对于已知监视器被插进或从计算机中拔出的次数是很少的,并且由于创建二叉树需要通过监视器数组的线性搜索,所以简单的线性搜索可能是有优势的。
另一情况是未知的监视可被插入,包括当只有未知的监视器被插入时,诸如具有不具有内置监视器的移动计算设备。如果计算机已经在运行,那么向瞬态监视器管理器212通知正在被插入的一个或多个新的监视器。或者,如果计算机是第一次启动,那么瞬态监视器管理器212首先检测以查看什么监视器被插入到计算机中。在另一情况中,每个新监视器的监视器ID被获取,并且在该“未知监视器”的示例中,二叉树的检测显示没有任何已知的监视器具有这样的监视器ID。然后,型号被获取,并且被用以为型号的每种情况搜索监视器数组(例如,线性地)。每当存在一匹配,数组索引被添加到链表中。
如果仅有一个链表,那么链表被线性地检测并且数组索引被用以访问对于监视器配置列表的指针。当监视器配置列表条目被用于一监视器而过滤并且找到最新的条目时,关联的视频设置数据被用以设置监视器配置,并且监视器配置列表被更新。如果没有匹配存在,那么视频模式被循环迭代并且监视器配置由最优的分辨率和刷新率所确定。
如果存在另一在该过程期间被添加的监视器,那么另一链表被以相同的方式创建和填充。链表被搜索并且任何监视器配置列表条目为两个(或更多)监视器所过滤。最新的由所有链表共享的监视器配置列表条目被使用。
监视器插入/拔出事件在每个链表被填充后所检测,并且就在应用视频设置数据之前再次被检测。如果存在更改,那么新的监视器配置被确定。在当未知监视器被插入时,一个或多个已知监视器已经被插入的情况下,一种类似于只有未知监视器的情况存在,除了监视器配置列表条目与那些由已知监视器数组条目所指向的监视器配置列表条目比较。
为了用新标识的监视器更新监视器数组,当未知的监视器被询问时,它被附加到监视器数组的尾部。在这个时候,数组条目不具有任何对于监视器配置列表的指针。然后,二叉树被使用新的监视器ID而更新。一旦监视器被添加到监视器配置列表,当更新视频设置的代码使用采用指向监视器配置列表条目和监视器ID组的指针的方法调用维护监视器数组的代码并发送回与每个监视器关联的数组索引时,监视器数组被更新。函数把指向监视器配置列表条目的指针添加到与每个在发送的监视器组中的监视器关联的每个数组条目作为参数。
参考断开链接的考虑,图4显示了由瞬态监视器管理器212响应于断开连接事件采用的示例逻辑,如由步骤400表示的。注意的是如以下描述的,一般仅仅不采取动作是不理想的,由于显示在断开连接的监视器上的其他程序窗口、图标等将不再可见。如此,步骤402评估由监视器被断开连接所产生的全部配置。如以上提到的,这隐含地需要知道哪个监视器被断开连接而那个或哪些监视器保持连接,这需要询问余下的一个监视器或多个监视器它们的标识符以及通过排除过程确定哪个监视器被断开连接。
一般地,给定了修改的监视器组,瞬态监视器管理器212查找与用户先前具有的监视器相同(或足够类似的)的配置。如果在步骤402找到一个,那么监视器配置在步骤406被应用以重置存在的(一个或多个)监视器的组的设置为它先前的配置,并且该瞬态监视器管理器212的断开连接处理过程结束直到再次需要。
如果在步骤402,监视器设置被认为是新的,步骤402分出至步骤406,其中如以上一般描述的,例如,基于类似的配置数据或基于每个保持连接的监视器的能力选择最佳猜测的配置。步骤408允许用户确认,一般也促进任何用户更改。
作为当已知监视器被拔出时,考虑另一具有连接的监视器A、B和C的计算机配置的例子。当计算机正在运行时,监视器C被拔出,由此瞬态监视器管理器212接收监视器已经被拔出的PnP通知,并且,如果被拔出的监视器没有被标识,那么瞬态监视器管理器212通过排除过程确定哪个监视器被拔出,也就是说,通过重新获取那些保持连接的监视器ID以及通过把ID与监视器配置列表比较。
如以上参考图4描述的,在一实现中,这可导致监视器配置更改以恢复监视器A和B到先前的状态。或者,在一可供选择实现中(可以是用户可配置的),为了避免混淆用户,剩余监视器的状态可被保持原样,也就是说,既不更改监视器A和B的分辨率也不更改监视器A和B的刷新率。然而,监视器C的视频头被关闭,并且通过采用当前监视器配置的备份以及从监视器列表中排除监视器C来准备监视器配置列表内新的条目。视频设置可被串行化并且存储在可通过新GUID访问的存储位置,该新GUID代替旧的监视器配置GUID,并且时间标记被更新。剩余监视器的几何被记录并且被放置在存储位置上的数据可由时间标记寻址。然后,新的监视器配置被放置在监视器配置列表的头部。
在监视器C被再次插入的事件中,瞬态监视器管理器212将接收监视器已经被插入的PnP通知。在获取监视器的序列号后,通过监视器ID的二叉树确定监视器C已经被插入。如可被理解的,由于这是“已知监视器”情况,适当的可使用的视频设置被如上描述地确定。
在电源关闭期间,使用已知监视器的监视器重配置是可能的。虽然有些类似于接收拔出事件,但是没有PnP通知被接收。再次考虑连接到监视器A、B以及C的计算机的示例,其中用户关闭计算机电源并拔出监视器C。在这个示例中,计算机先前没有遇到正好具有监视器A和B的配置。在电源打开后,监视器A和B被插入以及被相应地标识,然而在具有包括监视器A和B的两个监视器的监视器配置列表中没有条目存在。
确定如何设置两个监视器的第一可选方式是通过循环迭代两个监视器能支持的可能的模式来确定最优分辨率和刷新率。第二种方式是修改关于监视器配置列表的搜索规则以不需要监视器数量等于3以匹配现有的配置,从而瞬态监视器管理器212将找到包括监视器A和B的监视器配置。通过这种方式,新的监视器配置可被找到,类似于好像当计算机系统电源被关闭时监视器C被拔出。注意的是如果第二种可选方式被使用,仅仅使用包括监视器A和B的最近的配置。对于用户而言,更改仅仅是监视器C消失,而用于监视器A和B的监视器设置与当监视器C被插入时它们的设置相同。当然,监视器A和B可能还结合另一监视器被插入,但是一般而言监视器A和B的监视器设置保持相同是理想的。视频设置被设置并且第三监视器的视频头被关闭。然后,监视器配置被记录并且监视器配置列表被更新。在尝试设置视频设置失败的情况下,然后可使用第一可选方式。
根据本发明的另一方面,当监视器被断开连接时,任何正在该监视器上显示的程序窗口、图标等通过瞬态监视器管理器212被切换到一个或多个余下的监视器的组。为此,在检测到断开连接以及任何余下的一个监视器或多个监视器的重配置后,关于窗口位置、大小等的数据依然存在于存储器中并且被用以从当前的非扩展的或较少扩展的桌面中把信息“混洗”到保留的桌面区域。窗口和其他图像可被按需缩放以适合新的区域。来自断开连接的监视器的程序窗口可被移动到新的区域,或它们可在连接的监视器的工具栏等中被最小化直到被选择,在那个时候它们在连接监视器上被恢复。
在断开连接的监视器(或类似的监视器)被重新连接的事件中,窗口和其他图像可被恢复。然而,为了避免用户混淆,存在被应用于处理窗口的规则,例如,如果用户与窗口以足够的方式交互,例如,输入或点击它、移动它、把它调整大小、和/或给该窗口焦点,窗口可保持在它当前的位置而不是简单地恢复到它先前在的位置。
注意的是通过“快速用户切换”,用户不退出登录并因此关于用户窗口的定位数据被维护。如此,即使当计算机在事件发生的时候被切换到另一用户时,多个用户的数据可在断开连接和/或重新连接配置更改后被按需重新混洗。在配置更改后的休眠能类似地导致窗口等的混洗,尽管瞬态监视器管理器212需要在从休眠模式出来后被通知以使当前的监视器配置能被确定。
参考图5,如可从图3和图4明显的得出,在某些情况中,瞬态监视器管理器212的选择可由与适当的用户界面的手动用户交互所代替,适当的用户界面例如,“显示属性”/控制面板用户界面。用户也能在诸如正常的操作期间的其他时间更改配置数据。如能被理解的,这些更改需要在用于当前监视器组的监视器配置数据中持续存储,否则它们将在从连接或断开连接产生的下一配置更改后丢失。
图5表示了在更改配置的用户交互后由瞬态监视器管理器212采取的动作,如步骤500所表示的那样。例如,用户能选择“显示属性”用户界面,并且一旦任何更改被应用,瞬态监视器管理器对监视器组做出更改,并且也持续存储更改。为了持续存储更改,在步骤502,配置更新过程标识(一个或多个)当前被连接的监视器的组。其中,如果更改是对于配置(例如,用户要移除监视器)、或对于在数据存储214中定位最近使用的配置的相应的配置数据,那么这个是可使用的。然后,在步骤506,包括任何由用户做出的更改的全部配置被存储。
如以上提到的,除了一个或多个监视器的组,存在多个能确定监视器配置的因素。这些因素中的一个是电源状态,这能更改或替换通常被应用的设置。例如,刷新率、颜色深度、分辨率、背光亮度、对比度等都能被修改以保存电力。实际上,例如,当膝上型计算机以低电池电力运行但监视器配置是满电力的监视器被连接时,膝上型计算机的内置监视器可被自动地关闭。
另一个自动地修改监视器配置的方法是通过临时模式。例如,已知视频播放在具有60赫兹刷新率时操作良好。这样的播放的检测对比例如当前的图像可被用以更改模式直到情况更改。
监视器厂商也具有定制设置,该定制设置通过对于瞬态监视器管理器212等的调用被持续存储/恢复。例如,基于电视的监视器可请求在某些时刻某些区域在屏幕上被裁剪,并且那些区域在没有其他情况中用户交互的情况下被恢复。并且,诸如颜色空间纠正/对比系数的定制设置能结合监视器配置所被保存。
示例逻辑
图6显示了在一具体示例实现中瞬态监视器管理器212的概述。如图6表示的,一般存在两个进入瞬态监视器管理器212的入口点,包括当瞬态监视器管理器212启动时或当用户上下文切换发生时在步骤600的一个。如果瞬态监视器管理器212被启动或存在用户上下文切换,那么必须加载适当的用户数据。为此,如步骤604所表示的,监视器配置列表以及监视器数组从存储器中被加载并且二叉搜索树被建立;连接是建立在监视器配置列表和监视器数组之间的。
第二入口点是当监视器插入/拔出事件发生时,如在步骤604表示的。在两个入口中,步骤606被执行以确定和测试当前监视器配置,并且更新监视器配置列表。一般地,通过使用如以上描述的图形接口/工具API调用或其他合适的方法,当前监视器配置的每个监视器的每个监视器ID被获取。然后,二叉搜索树被用以搜索监视器ID,如步骤608所表示的。
如步骤610所表示的,取决于是否存在对于任何监视器ID的搜索失败,新监视器配置的确定将采用两个不同分支里面的一个。此后,如以下描述的,一旦监视器配置被确定和测试,监视器配置列表被更新并且监视器配置列表和监视器数组之间的连接被更新。
如果某些监视器ID或所有监视器ID都没有被找到,那么过程分出至步骤612,表示移动到在图7中表示的下一步骤。相反地,如果所有的监视器ID都被找到,那么在步骤610过程分出至步骤614、616和618,其中指向在每个与监视器ID关联的数组元素内的监视器配置列表的指针被比较,并且在步骤616,那些由每个监视器所被指向的监视器配置列表条目被添加到监视器配置列表条目的链表上。由于监视器配置列表条目可包括在不同的电源方案下被记录的监视器配置,或如果新的监视器是较大监视器配置的子集,为了得到更好的匹配,监视器配置列表条目可被过滤(步骤618)。为了实现这个,链表循环迭代器跳过那些链表节点,该链表节点指向在不同的电源方案或与当前的状态不同的监视器数量下记录的监视器配置列表条目。此时,找到最佳监视器配置列表条目,如由步骤620表示的移动到图8。
返回步骤610,如果存在一个或多个具有未被找到的监视器ID的监视器(步骤608和610,称为“未知监视器”),那么过程分出至图7。此时,如果不是已知的(例如,如果整个EDID先前返回到管理器212),那么API/方法调用在步骤702被使用以获取每个具有未被找到的监视器ID的监视器的型号。更具体地,对于那些在二叉搜索树地搜索失败地监视器,另一(例如,线性的)搜索通过监视器数组在步骤704被执行以找到具有相同型号的监视器组。
这个搜索如在步骤706估计的那样失败是可能的,然而如果是这样的话,被标识的监视器将形成在监视器配置列表条目中的监视器的子集。该组的数组元素与找到的数组元素一起通过二叉搜索树以创建监视器配置列表条目链表,如以已知的监视器算法所实现的那样。在这个例子中,当在步骤706找到型号时,指向与监视器ID关联的每个数组元素内的监视器配置列表的指针被比较并且那些由每个监视器指向的监视器配置列表条目被在步骤708中添加到监视器配置列表条目的链表。步骤710对于每个未知的监视器重复。
由于监视器配置列表条目可包括在不同的电源方案下被记录的监视器配置,或如果新的监视器是较大监视器配置的子集,则为了得到更好的匹配监视器配置列表条目可被过滤(步骤714)。为了实现这个,链表循环迭代器跳过那些链表节点,该链表节点指向在不同的电源方案或与当前的状态不同的监视器数量下记录的监视器配置列表条目。
在这个被实现后,未知的监视器被添加到监视器数组中并且二叉搜索树被重新平衡或重新建立。在这点上,未知的监视器被知道,但是没有指向监视器配置列表的指针。一旦新的监视器配置被设置好,在监视器数组和监视器配置列表之间的连接可被做出,如以上描述的。此时,找到最佳的监视器配置列表条目,如步骤716表示的移动到图8。
图8的示例步骤可被执行以从过滤的条目列表中找到在监视器配置列表中的最佳条目。这个条目可具有和新的监视器配置相同的监视器,或它可包括其他监视器。注意的是如果没有监视器配置列表条目存在,那么过程可前进以在未知的监视器上循环迭代视频模式,如以下描述的。
如果由于监视器插入/拔出事件,瞬态监视器管理器212正在执行过程,实质上如在步骤802被重新评估的那样,一方面避免更改现有监视器的状态,这可通过寻找与事件之前的配置状态相同的监视器匹配来实现。在事件之前的配置的监视器状态被定位在监视器配置列表的头部(因为它是最近使用的配置)。在步骤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第一尝试降低刷新率并且通过前进到步骤1016针对视频卡的能力测试。如果降低刷新率重复地失败直到达到限度(例如,60赫兹),如果可能话,下一步骤降低监视器的分辨率,如通过步骤1010和1012执行的那样。注意的是只要监视器的分辨率被降低,那么刷新率可被增加并且视频设置被再次测试,以嵌套循环的方式降低刷新率(按需)直到它的最小限度。如果最终的可用模式失败,在步骤1014显示显示控制面板对话框。注意的是尽管未示出,一个或多个尝试可被做出以在显示显示控制面板之前降低颜色深度。
当测试如图10所表示的那样被完成时,返回步骤622,步骤624被执行以更新和使用监视器配置列表。通过这种方式,现有的配置被应用,或一个新的配置被用于当前的监视器组以及它们当前的状态所被建立。
如从以上详细描述中可看出,提供了当连接到一个或多个显示装置时以处理多个可能的用户情况的灵活方式简化用户体验的系统和方法。通过当匹配时应用建立好的配置,或通过当不匹配时做出智能猜测,用户通常在不需要用户交互的情况下就能得到总体上理想的结果。
尽管本发明可以有各种修改和可供选择的构造,其中说明的某些实施例已经在附图中显示并在以上被详细描述。然而,应该理解的是本发明不被限制于公开的特定形式,相反,本发明涵盖所有的在本发明的精神和范围内的修改、可供选择的构造、和等同物。
Claims (13)
1.一种用于管理计算机系统中的显示装置配置的方法,包括:
接收包括至少一个显示装置的配置已经被更改的指示,所述更改包括显示装置被连接;以及
确定被更改的配置是否对应于具有在计算机系统上维护的配置数据的一个配置,所述确定步骤包括:
判断刚连接的显示装置是否为新的显示装置;
如果不是新的显示装置,进一步判断包含刚连接的显示装置与其他已连接的显示装置的组合的当前配置是否是新的全部配置;如果不是新的全部配置,则搜索一先前的配置数据以应用到该当前配置,如果是新的全部配置,则选择最佳配置数据并应用到该当前配置;所述应用到该当前配置包括把一组视频相关的设置应用到所述显示装置的组合;
如果是新的显示装置,则询问显示装置,并寻找与刚连接的显示装置类似的已知的另一显示装置,以将刚连接的显示装置的配置信息替代为该另一显示装置的配置信息。
2.根据权利要求1所述的方法,其特征在于,进一步包括向显示装置询问能力信息。
3.根据权利要求1所述的方法,其特征在于,进一步包括基于当前安装的视频卡的能力信息测试设置。
4.根据权利要求3所述的方法,其特征在于,所述测试不成功,并进一步包括循环迭代以测试不同的设置。
5.根据权利要求1所述的方法,其特征在于,进一步包括向至少一个显示装置询问标识符。
6.根据权利要求1所述的方法,其特征在于,所述更改包括显示装置被断开,所述确定步骤还包括:
判断剩余的显示装置的配置是否是新的全部配置;如果不是新的全部配置,则将配置重置为先前的配置,如果是新的全部配置,则选择最佳配置并应用;以及
允许用户确认所述配置。
7.根据权利要求1所述的方法,其特征在于,所述一组视频相关的设置包括以下设置中的至少一个设置:分辨率设置、刷新率设置、颜色深度设置、方位设置、亮度设置、对比度设置、视频头状态设置、和/或每英寸点数设置。
8.根据权利要求1所述的方法,其特征在于,进一步包括持续存储对于配置数据的更改。
9.根据权利要求1所述的方法,其特征在于,进一步包括持续存储所述配置数据,其中持续存储所述配置数据包括把信息写到持续存储器中,所述信息包括一组显示装置设置中的至少一个设置,所述组包括:分辨率设置、刷新率设置、颜色深度设置、方位设置、亮度设置、对比度设置、视频头状态设置、和/或每英寸点数设置。
10.根据权利要求9所述的方法,其特征在于,持续存储所述配置数据进一步包括把几何信息写入数据存储器中,其中几何信息是显示装置相互之间相对的逻辑位置。
11.根据权利要求9所述的方法,其特征在于,进一步包括接收对应于用户对于配置数据更改的信息,并进一步包括持续存储所述更改。
12.一用于管理计算机系统中的显示装置配置的子系统,包括:
用于接收包括至少一个显示装置的配置已经被更改的指示的装置,所述更改包括显示装置被连接;
用于确定被更改的配置是否对应于具有在计算机系统上维护的配置数据的一个配置的装置,其进一步包括:
用于判断刚连接的显示装置是否为新的显示装置的装置;
用于在刚连接的显示装置不是新的显示装置时,进一步判断包含刚连接的显示装置与其他已连接的显示装置的组合的当前配置是否是新的全部配置的装置;
用于在当前配置不是新的全部配置时,搜索一先前的配置数据以应用到该当前配置的装置;
用于在当前配置是新的全部配置时,选择最佳配置数据并应用到该当前配置的装置;
其中,所述应用到该当前配置包括把一组视频相关的设置应用到所述显示装置的组合;以及
用于在刚连接的显示装置是新的显示装置时,询问显示装置,并寻找与刚连接的显示装置类似的已知的另一显示装置,以将刚连接的显示装置的配置信息替代为该另一显示装置的配置信息的装置。
13.根据权利要求12所述的子系统,其特征在于,对于当前配置的更改由连接显示装置或断开显示装置所做出,其中所述子系统标识每个出现在更改的显示装置配置中的显示装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/017,198 | 2004-12-17 | ||
US11/017,198 US7450084B2 (en) | 2004-12-17 | 2004-12-17 | System and method for managing computer monitor configurations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1801078A CN1801078A (zh) | 2006-07-12 |
CN1801078B true CN1801078B (zh) | 2011-12-14 |
Family
ID=36051479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005101361328A Active CN1801078B (zh) | 2004-12-17 | 2005-12-16 | 用于管理计算机监视器配置的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7450084B2 (zh) |
EP (1) | EP1672613A3 (zh) |
JP (1) | JP2006209091A (zh) |
KR (1) | KR101278791B1 (zh) |
CN (1) | CN1801078B (zh) |
Families Citing this family (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005285091A (ja) * | 2004-03-04 | 2005-10-13 | Sony Corp | 画像表示装置、情報端末装置、ネットワークシステム及びネットワーク設定方法 |
US7529872B1 (en) | 2004-04-27 | 2009-05-05 | Apple Inc. | Communication between an accessory and a media player using a protocol with multiple lingoes |
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 |
US7441062B2 (en) | 2004-04-27 | 2008-10-21 | Apple Inc. | Connector interface system for enabling data communication with a multi-communication device |
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 |
US8117651B2 (en) | 2004-04-27 | 2012-02-14 | Apple Inc. | Method and system for authenticating an accessory |
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 |
US7529870B1 (en) | 2004-04-27 | 2009-05-05 | Apple Inc. | Communication between an accessory and a media player with multiple lingoes |
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 |
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 |
US8006019B2 (en) | 2006-05-22 | 2011-08-23 | Apple, Inc. | Method and system for transferring stored data between a media player and an accessory |
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 |
US8296781B1 (en) | 2007-12-11 | 2012-10-23 | Nvidia Corporation | System, method, and computer program product for determining application parameters based on hardware specifications |
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 |
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 |
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 |
US9870130B2 (en) | 2008-05-13 | 2018-01-16 | Apple Inc. | Pushing a user interface to a remote device |
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 |
US8238811B2 (en) | 2008-09-08 | 2012-08-07 | Apple Inc. | Cross-transport authentication |
US8208853B2 (en) | 2008-09-08 | 2012-06-26 | Apple Inc. | Accessory device 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 |
US9092573B2 (en) | 2012-07-06 | 2015-07-28 | Nvidia Corporation | System, method, and computer program product for testing device parameters |
US9201670B2 (en) | 2012-07-06 | 2015-12-01 | Nvidia Corporation | System, method, and computer program product for determining whether parameter configurations meet predetermined criteria |
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 |
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 |
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 |
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 |
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 | 合肥联宝信息技术有限公司 | 一种侦测显示器类型的方法 |
US10372306B2 (en) * | 2016-04-16 | 2019-08-06 | 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设备的识别方法及其系统 |
EP3612929B1 (en) * | 2017-06-16 | 2022-08-24 | Microsoft Technology Licensing, LLC | Rules based user interface generation |
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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488385A (en) * | 1994-03-03 | 1996-01-30 | Trident Microsystems, Inc. | Multiple concurrent display system |
US6049316A (en) * | 1997-06-12 | 2000-04-11 | Neomagic Corp. | PC with multiple video-display refresh-rate configurations using active and default registers |
WO2003093967A1 (fr) * | 2002-05-01 | 2003-11-13 | International Business Machines Corporation | Ordinateur, programme et procede de reglage d'un dispositif d'affichage |
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 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 구본준 | 액정표시장치의 구동회로 |
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 |
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 | 画像生成装置および方法 |
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 |
-
2004
- 2004-12-17 US US11/017,198 patent/US7450084B2/en active Active
-
2005
- 2005-12-16 KR KR1020050124636A patent/KR101278791B1/ko active IP Right Grant
- 2005-12-16 JP JP2005363917A patent/JP2006209091A/ja active Pending
- 2005-12-16 CN CN2005101361328A patent/CN1801078B/zh active Active
- 2005-12-19 EP EP05112390A patent/EP1672613A3/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488385A (en) * | 1994-03-03 | 1996-01-30 | Trident Microsystems, Inc. | Multiple concurrent display system |
US6049316A (en) * | 1997-06-12 | 2000-04-11 | Neomagic Corp. | PC with multiple video-display refresh-rate configurations using active and default registers |
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 |
WO2003093967A1 (fr) * | 2002-05-01 | 2003-11-13 | International Business Machines Corporation | Ordinateur, programme et procede de reglage d'un dispositif d'affichage |
Also Published As
Publication number | Publication date |
---|---|
EP1672613A3 (en) | 2009-04-29 |
CN1801078A (zh) | 2006-07-12 |
US20060132473A1 (en) | 2006-06-22 |
JP2006209091A (ja) | 2006-08-10 |
US7450084B2 (en) | 2008-11-11 |
EP1672613A2 (en) | 2006-06-21 |
KR20060069338A (ko) | 2006-06-21 |
KR101278791B1 (ko) | 2013-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1801078B (zh) | 用于管理计算机监视器配置的系统和方法 | |
US6931475B2 (en) | Blade server system with KVM switches | |
CN106990912B (zh) | 控制sim卡和sd卡的方法以及实现该卡的电子设备 | |
CN103299285B (zh) | 连接到usb外围设备的主机设备及其操作方法 | |
US7526582B2 (en) | Identifying a cable with a connection location | |
CN101454762B (zh) | 一种交互式输入系统、用于该系统的即插即用电缆及一种交互方法 | |
US20030234811A1 (en) | Home network system for driving a remote user interface and method thereof | |
US20090024764A1 (en) | Tracking The Physical Location Of A Server In A Data Center | |
US20070204069A1 (en) | Port number emulation for wireless usb connections | |
US20020166084A1 (en) | Wireless server diagnostic system and method | |
CN102804133A (zh) | 被管理的系统可扩展性 | |
US8120583B2 (en) | KVM switch capable of detecting keyword input and method thereof | |
CN103282856A (zh) | 用于在便携式计算装置中管理中断控制器的睡眠状态的方法及系统 | |
US20100042852A1 (en) | Power-on protection method, module and system | |
CN106257452A (zh) | 基于上下文特征修改搜索结果 | |
CN103782275A (zh) | 用于管理便携式计算装置的资源的系统和方法 | |
US20170237840A1 (en) | Electronic device and method of wireless signal transmission and reception therefor | |
US8086778B2 (en) | Filter driver to enumerate smartcard nodes for plug and play | |
US8326882B1 (en) | Environment management interface for management of a heterogeneous storage environment | |
CN101655809A (zh) | 上电保护方法、模块及系统 | |
KR102612758B1 (ko) | 원격 자동 설치를 위한 컴퓨터 시스템 및 방법 | |
CN100466585C (zh) | 用于实现网络中的叶节点代理的方法和装置 | |
CN102243520A (zh) | 风扇控制方法 | |
US20240005107A1 (en) | Software application identification for device | |
KR100884359B1 (ko) | 온라인을 통한 드라이버 설치시스템 및 설치방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150518 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150518 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |