EP1672613A2 - Système et procédé de gestion de configurations de moniteurs d'ordinateurs - Google Patents

Système et procédé de gestion de configurations de moniteurs d'ordinateurs Download PDF

Info

Publication number
EP1672613A2
EP1672613A2 EP05112390A EP05112390A EP1672613A2 EP 1672613 A2 EP1672613 A2 EP 1672613A2 EP 05112390 A EP05112390 A EP 05112390A EP 05112390 A EP05112390 A EP 05112390A EP 1672613 A2 EP1672613 A2 EP 1672613A2
Authority
EP
European Patent Office
Prior art keywords
monitor
configuration
display mechanism
monitors
computer
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.)
Withdrawn
Application number
EP05112390A
Other languages
German (de)
English (en)
Other versions
EP1672613A3 (fr
Inventor
Andrew J. Fuller
Jr. Jerry R. Hughson
Kevin P. Paulson
Kurt A. Geisel
Matthew P. Rhoten
Michael Milirud
Roger H. Wynn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of EP1672613A2 publication Critical patent/EP1672613A2/fr
Publication of EP1672613A3 publication Critical patent/EP1672613A3/fr
Withdrawn legal-status Critical Current

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

Definitions

  • the invention relates generally to computer systems, and more particularly to managing computer displays and other display mechanisms.
  • Certain computer system users particularly users of mobile computing devices such as laptop computers, often need to connect their computer systems to different display mechanisms, such as display monitors (or simply monitors).
  • display monitors or simply monitors
  • a laptop computer has an internal monitor
  • a computer user may connect a laptop computer to a large monitor or equivalent projection device when giving a presentation.
  • Other examples include a user that connects a mobile computer to one monitor at work and a different monitor at home.
  • certain types of mobile computer systems have been designed without any monitor, and are intended to be moved between destinations where they connect to a monitor at each destination.
  • resolution, color depth and refresh rate are all variables that a user may need or want to reconfigure. These settings are determined by the display mechanism's capabilities in conjunction with the capabilities of the video card (or cards) installed in the computer system. Screen size is another reason to change existing settings, as the viewable objects that look good on one display mechanism may be too small or too large when used with another display mechanism's settings. Power consumption is yet another factor that needs to be considered, because having certain settings (e.g., a higher refresh rate) consumes more power than others, and may be undesirable when trying to conserve battery life.
  • the present invention provides a system and method for dynamically and intelligently configuring a computer system's monitor-related settings upon connection of a monitor or other display mechanism, and/or reconfiguring upon disconnection.
  • the present invention not only changes the settings change for a particular display mechanism, but may do so for a monitor configuration as a whole, which includes the concept of one or more display mechanisms and their respective video settings and modes, along with information such as the relative positioning of monitor screens with respect to each other, and information that affects their video modes (e.g., a power scheme).
  • the terms "monitor” and “display mechanism” are equivalent and generally used interchangeably, (even though in certain other circumstances a display mechanism such as a projector might not be considered a monitor in a literal sense).
  • a transient monitor manager component in software When a monitor is plugged into a computer system, a transient monitor manager component in software is notified and attempts to identify the monitor to see if it was previously configured on the computer system. Persisted monitor configurations are searched for one containing an identifier of the just-connected monitor, which may be maintained in combination with a respective identifier for each other connected monitor. If monitor configuration data was previously established, the established video mode of the just-connected monitor can be obtained, as well as that of any other connected monitor or monitors, to obtain their video modes. If not an exact match, data may be obtained from similar configurations that were previously established. When a change is needed, the video modes for all of the monitors may be applied at one time so only one 'flash' or refresh is needed, and without user interaction. A monitor configuration may be found in which the video modes of any already plugged-in monitors need not change.
  • the present invention operates on connection or disconnection of a monitor, such as indicated by receipt of a plug and play event provided by the video stack in the operating system.
  • the present invention also operates when the user logs in, when the user locks and then unlocks the computer, or when a fast user switch occurs, to handle situations in which monitor changes occur while the user is logged out.
  • the transient monitor manager component configures one or more monitors on arrival, which may be into a known configuration when such a known configuration has been previously established, or if not previously established, into a most likely desirable configuration (to the extent possible). More particularly, if a matching configuration is not found, a new configuration is determined based on the capability of each monitor that is connected and the video capabilities of the system, although other factors such as power and type of operation (e.g., media playback versus image viewing) may modify a given monitor configuration.
  • a monitor if a monitor has not been connected to a computer system before, then the monitor is queried for its possible video modes. If the monitor responds, the returned information is used to determine the best possible settings for that monitor relative to the current video card's capabilities, and the video modes may be applied without user interaction, although providing some user interface to the user is alternatively feasible, such as the first time a particular monitor is encountered. If the monitor does not have video mode information, then a standard (e.g., minimum) video mode configuration may be used. In most instances, user confirmation as to whether the monitor configuration is correct is only needed when the system cannot find a monitor configuration and the monitor does not provide video mode information.
  • a standard (e.g., minimum) video mode configuration may be used. In most instances, user confirmation as to whether the monitor configuration is correct is only needed when the system cannot find a monitor configuration and the monitor does not provide video mode information.
  • Enhancements to search for a best-guess monitor configuration can be made to find a likely-best monitor configuration. These enhancements may include using existing settings in scenarios where the monitors that are currently plugged-in have been seen before, but not in the same monitor configuration.
  • the manager component may reconfigure any surviving (still-connected) monitor or monitors to adjust for the configuration change. This may include changing settings, and may also include shuffling windows and other images that appeared on the disconnected monitor over to the surviving monitor or monitors.
  • the manager component tracks any manual changes that the user makes to the configuration (e.g., one or more of the settings) and automatically restores the configuration when the same monitor or a monitor of a similar type is encountered.
  • the present invention is responsible for setting the video modes when the monitor configuration changes
  • the present invention is extensible to handle the video mode changes needed to conserve power on computers where power conservation is important, such as when dealing with mobile devices that may experience low battery conditions.
  • the transient monitor manager can be notified of power scheme changes and can act to apply uniform power policy rules. This feature provides additional benefits in that at present, contemporary display device drivers for mobile devices are not multi-monitor aware, and hence a mobile device will often make power-related video mode changes only for its internal monitor.
  • FIGURE 1 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented.
  • the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
  • the invention is operational with numerous other general purpose or special purpose computing system environments or configurations.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types.
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in local and/or remote computer storage media including memory storage devices.
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110.
  • Components of the computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120.
  • the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • PCI Peripheral Component Interconnect
  • the computer 110 typically includes a variety of computer-readable media.
  • Computer-readable media can be any available media that can be accessed by the computer 110 and includes both volatile and nonvolatile media, and removable and non-removable media.
  • Computer-readable media may comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 110.
  • Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
  • the system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132.
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120.
  • FIG. 1 illustrates operating system 134, application programs 135, other program modules 136 and program data 137.
  • the computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
  • FIG. 1 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
  • hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146 and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers herein to illustrate that, at a minimum, they are different copies.
  • a user may enter commands and information into the computer 110 through input devices such as a tablet, or electronic digitizer, 164, a microphone 163, a keyboard 162 and pointing device 161, commonly referred to as mouse, trackball or touch pad.
  • Other input devices not shown in FIG. 1 may include a joystick, game pad, satellite dish, scanner, or the like.
  • a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190.
  • the monitor 191 may also be integrated with a touch-screen panel or the like. Note that the monitor and/or touch screen panel can be physically coupled to a housing in which the computing device 110 is incorporated, such as in a tablet-type personal computer. In addition, computers such as the computing device 110 may also include other peripheral output devices such as speakers 195 and printer 196, which may be connected through an output peripheral interface 194 or the like.
  • the computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180.
  • the remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in FIG. 1.
  • the logical connections depicted in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • the computer 110 When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet.
  • the modem 172 which may be internal or external, may be connected to the system bus 121 via the user input interface 160 or other appropriate mechanism.
  • program modules depicted relative to the computer 110, or portions thereof may be stored in the remote memory storage device.
  • FIG. 1 illustrates remote application programs 185 as residing on memory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • data sources which may, for example, include data sources corresponding to a SQL server and/or XML data provider (web service), that reside on one or multiple remote systems.
  • the computing environment 100 of FIG. 1 is understood to include any local and/or remote source of data, including the SQL server-provided data, web service server provided data, and others.
  • the present invention is generally directed towards a system and method by which any change to the way in which one or more monitors are configured is detected at a manager component, which may then automatically apply computer-managed monitor configuration data to compensate for the change, in a way that most users would likely prefer.
  • a manager component which may then automatically apply computer-managed monitor configuration data to compensate for the change, in a way that most users would likely prefer.
  • numerous ways to implement the present invention are feasible, and only some of the alternatives are described herein.
  • the present invention is described with reference to a computer system into which one or more video cards may be installed, and in which connections and disconnections of monitors to and from the computer system are detected by an operating system component, such as a component based on plug and play (PNP) technology.
  • PNP plug and play
  • the present invention may instead be implemented on other types of devices, such as media players which connect to a television set.
  • any display mechanism such as a computer monitor, television set, projector device, and so on that may communicate some data or identifier corresponding to its capabilities to another device, may benefit from the present invention.
  • the present invention is not limited to any particular examples used herein, but rather may be used in various ways that provide benefits and advantages in computing in general.
  • an EDID is a data structure by which a computer monitor is capable of informing its connected host computer system of its identity and capabilities (an extended EDID data structure, referred to as E-EDID, is a later version of such an identifier).
  • E-EDID extended EDID data structure
  • the present invention is not limited to monitors that have EDIDs, but rather will work with any identification system.
  • the term "identifier" and its variants includes any way for a display mechanism to identify itself and/or its capabilities to a connected host system, including data structures based on the EDID and E-EDID standards.
  • the terms "connected,” “coupled,” “plugged-in,” and their variants are equivalent and generally denote a state in which data may be communicated in at least one direction between a monitor and computer system, independent of whether data is communicated over a wired or wireless medium.
  • the opposite state in which data cannot be communicated for whatever reason, including removal of a physical communication medium, a wireless out-of-range or interference condition, a power-off state of the monitor or video head (including a powered-off internal monitor such as with a laptop), and so forth is equivalently referred to as being “disconnected,” “decoupled” or “unplugged,” along with their respective variants.
  • FIG. 2 shows an arrangement of example components in which the present invention may be implemented.
  • a display mechanism comprising one or more monitors 202 1 and 202 2 may be connected to and disconnected from one or more video cards (video adapters) 204, such as by physically plugging in a monitor via a video cable.
  • video cards video adapters
  • FIG. 2 shows only two monitors are shown in FIG. 2, it is understood that any practical number of monitors may be connected.
  • contemporary computer systems support multiple video cards, such as AGP or PCI-based video cards, and also that single video cards having multiple video heads are commercially available.
  • the concept of a video "card" is equivalent to built-in video circuitry that may not be actually on a removable card.
  • a signal is sent from the video card 204 through the video stack (e.g., hardware and software driver layers 206, 208 or the like) to an operating system mechanism that is configured to sense hardware changes, as represented in FIG. 2 by a plug-and-play (PNP) component 210.
  • the plug-and-play component 210 sends an event through the system to appropriate entities, whereby a user-mode component referred to as a transient monitor manager 212 knows of the connection or disconnection event. Note that this arrangement leverages current technology; in alternative configurations, a transient monitor manager may be implemented as a kernel component, and/or may be configured to sense monitor connections and disconnections without the plug-and-play component 210.
  • the transient monitor manager 212 is capable of finding out information about connected monitors, such as by making queries, e.g., via API calls through a graphics interface (e.g., GDI-based software) 213.
  • a first such query may be directed towards obtaining the monitor's associated identifier (e.g., EDID), provided the monitor supports this standard; partial EDIDs are used to the extent possible, while NULL EDIDs are handled by setting the display mechanism to some minimum and obtaining user confirmation. More particularly, because in practice not all monitors have a unique serial number, when a new monitor is plugged in, a configuration of similar monitors may be used.
  • the system may check the manufacture code and the product identifier of the monitor and see if the combination was seen before. If there was a match for these two pieces of information, then the serial number can be used to further identify the monitor. If the serial number is not unique then other information from the monitor (e.g. from an EDID data structure) can be used to identify the monitor.
  • the serial number is not necessarily the best means of identifying a monitor.
  • Another way to identify a monitor is to convert the entire EDID or parts of the EDID into a hash code, and store the EDID into a hash table. Since the make and model of the monitor is part of the EDID, an entry point into the hash table for the EDID comprises a hash table for the make and model information. This eliminates the need to query the monitor again for more information (as described below). Using the EDID as an identifier may thus be preferable because some monitors may not have a serial number, or a unique serial number for the monitor make and model. To help further identify a monitor, a network to which the computer is connected may be identified, and the information folded into the hash code used for the EDID.
  • the monitor does not have an EDID (or has a NULL EDID)
  • various other identification mechanisms can be attended. For example, if it can be established that the monitor is an internal monitor (e.g., a built-in LCD panel of a laptop), then this may be one form of identification used to differentiate monitors. If there is no other way to differentiate a monitor and it has a NULL EDID, the algorithm (generally described below) can specify a special monitor identifier. However if there is more than one NULL EDID monitor, there is no way to save different monitor settings for the two monitors. In this case the two monitors will share the same video settings, or the algorithm will consider the monitors as new monitors.
  • the identifier of the just-connected monitor (when available) is used in conjunction with the one or more identifiers of one or more other monitors already known to be connected.
  • the transient monitor manager 212 is capable of querying all connected monitors (those that are capable of responding) to figure out a current set of one or more that are connected. For example, this is needed following startup, when any number of changes to the last monitor configuration may have been made during shutdown (or hibernate or the like) without a corresponding sensed PnP event.
  • the transient monitor manager 212 may query for any surviving monitors, to determine by process of elimination which monitor was disconnected.
  • the transient monitor manager 212 determines a monitor configuration (a set of data) to apply to the set, and applies it, possibly without any user confirmation required. As described below, determining the monitor configuration may depend on whether a monitor configuration was previously established for this set, or whether the set corresponds to a new monitor configuration, in which event the transient monitor manager 212 essentially constructs a new monitor configuration for this set in an intelligent manner and then applies that constructed monitor configuration.
  • the transient monitor manager 212 accesses monitor configuration data maintained in a data store 214. In general, if a matching monitor configuration is found, it is applied, whereby the newly connected monitor and any other connected monitors are automatically changed as necessary to restore a prior video state to each monitor.
  • Video state refers to any video-related value capable of being set by software, (e.g., resolution, refresh rate, color depth, orientation, brightness, contrast, video head state on or off, and/or DPI of the monitor). For configurations with multiple monitors, video state also includes the relative logical position (on the corresponding computer desktop) of the monitors with respect to one another, referred to as geometry.
  • a monitor configuration thus includes the video settings / modes for a set of one or more monitors, along with geometry, and other information that affect video settings /modes, (e.g. a power scheme).
  • a power scheme e.g. a power scheme
  • transient monitor manager 212 can modify, at least temporarily, the settings that are applied to the monitor set.
  • power-related events such as low battery condition, or a mobile device being reconnected to a power source, may be detected at the transient monitor manager 212, and thereby used as a basis for changing the video settings.
  • FIG. 3 is a flow diagram summarizing various operations performed by the transient monitor manager 212 when a monitor is detected as having been plugged in, e.g., via a plug-and-play event, as represented via step 300.
  • Step 302 represents a determination as to whether this is a new monitor or one that has been encountered before by this computer system.
  • This step implicitly includes evaluating an identifier associated with the monitor, which may be considered as being obtained via a subsequent query-type of operation to obtain the identifier, although it is feasible for an identifier to be provided in conjunction with the connection event.
  • the monitor corresponds to at least one monitor configuration having data persisted in the data store 214.
  • a utility program or the like may be used to clean out no-longer-needed monitor configurations from the data store 214, but for purposes of the present example description, it is assumed that any previous monitor configurations remain stored in the data store 214.
  • step 302 branches to step 304 where the overall configuration (including any other connected monitors) is evaluated, looking for an exact match against any monitor configuration that contains data corresponding to the just-connected monitor's identifier.
  • the transient monitor manager 212 looks for an identical configuration to one that the user previously had. If one is found at step 304, the monitor configuration is used at step 306 to reset the set of (one or more) monitors to its previous configuration, and this process of the transient monitor manager 212 ends until again needed.
  • steps 302 and/or 304 it is feasible to require something looser than an exact match at steps 302 and/or 304, such as when the just-connected monitor is sufficiently similar (e.g., same make and model) to another monitor to be considered a match.
  • the applying of an existing monitor configuration will be a reasonably frequent occurrence for many types of users, including users that move mobile devices between locations and plug into monitors at each, users who share the same computer but have different settings (the monitor configurations are persisted per-user), and so forth.
  • step 304 although the monitor was recognized at step 302, it is possible that the overall configuration is new.
  • the just-connected monitor may have created a combination of monitors that has never been used before, or the just-connected may have always been used in a combination, but now is connected by itself.
  • step 304 branches to step 314 where a "best" configuration for this new monitor is automatically chosen by the transient monitor manager 212; (note that "best" is in quotation marks to indicate that this is not necessarily what is best, but only a best guess as to what most users would likely find desirable).
  • the settings from a non-matching monitor configuration in which this monitor was most recently used may be chosen and applied as the best guess.
  • the settings need to be evaluated for compatibility with the video card, which may not be the same card to which the monitor last connected. If not compatible, a less-recently used configuration may be chosen, and/or the settings changed to the closest values that are compatible with the video card.
  • Step 314 branches to (optional) step 320 to confirm via a user interface dialog or the like that the applied configuration is acceptable to the user, with the user interface typically providing a link to modify the monitor configuration (e.g., display properties) if the user prefers to change them.
  • step 320 (which the user may elect to bypass in the future), this process of the transient monitor manager 212 ends, until again needed on a connection event.
  • the monitor configuration may be set for no screen blanking / no screensaver, notifications may be turned off, and so forth.
  • step 302 instead branches to step 304 which represents querying the monitor for its capabilities, that is, any configuration-related information that the monitor can provide.
  • the monitor is new to (e.g., not found in an existing monitor configuration of) the computer system
  • step 302 instead branches to step 304 which represents querying the monitor for its capabilities, that is, any configuration-related information that the monitor can provide.
  • some contemporary monitors are able to provide information such as their screen dimensions, from which a DPI can be determined, along with other information such as a preferred operating resolution, refresh rate, color depth, and or other settings. Note that some or all of this information may be in the identifier that was previously evaluated at step 302; if so, there is no reason to query for it again at step 310.
  • an API or the like may be provided in which selective parts of the EDID may be retrieved, e.g., the serial number in one call, the capabilities in another call, and thus multiple queries may be made.
  • step 312 if at step 312 detailed information is not available, but enough other information is available and indicates that the just-connected monitor is very similar (e.g., same make and model) to another monitor known to the system, the configuration information of the other monitor may be substituted for this monitor's configuration information. As represented in FIG. 3, step 312 branches to step 314 when sufficient information is available, and this information is used to select and apply a best-guess configuration for the just-connected monitor. Note that the monitor-provided (or substituted similar) information may need to be modified as a result of limitations of the video card, which may be accomplished via iteration as described below.
  • step 316 is instead executed to attempt some minimum configuration.
  • a vast majority of personal computers and monitors support at least the VGA standard, allowing a user to view meaningful graphics including a user interface that is sufficient to manually change the video settings.
  • Step 320 follows the configuration attempt, allowing the user to make such changes and/or confirm that the configuration is acceptable. Note that although not shown in FIG. 3, it is feasible for step 316 to start with something better (e.g., having more resolution) than VGA, and then time out at step 320 if the user takes no action, followed by a return to step 316 where something lesser can be tried.
  • the process may advance from step 316 to step 320, and, after some time to allow interaction, loop back to step 316, retreating in resolution towards a minimum until either the user interacts at step 320 or the minimum (such as VGA) is reached.
  • the minimum such as VGA
  • the process ends. If the user never confirms, it may be assumed that the monitor is not working properly or is not at least VGA-capable, in which event the computer system can take other actions such as to notify the user on another monitor of the problem, and/or not include this monitor as part of the current configuration, as if it was never connected.
  • a monitor configuration needs to be found or configured so that changes to the video settings may be applied.
  • a rapid way to do this is to look up past monitor configurations, based on the monitors that were part of the configuration.
  • a first search is thus made to quickly identify whether a newly connected monitor has previously been part of a monitor configuration.
  • the identity of a monitor may be determined by a serial number contained within the EDID, which is a 32-bit number in present versions. In the event there is not a serial number, one or more various other (e.g., EDID) fields may be hashed to provide a value that is useful for identification purposes, as described above.
  • An instrumentation API call or the like (e.g., via the graphics interface component 213) may be used to retrieve the EDID.
  • various ways to expedite the lookup include using hash tables and/or arranging the known monitor identifiers in a balanced binary tree, e.g., the known monitor information may be contained in an array and each node in the binary tree may be an index into the array of monitors, such that each entry in the array of monitors contains a list of pointers, each of which point to each monitor configuration of which the monitor was a part.
  • a binary tree will be used hereinafter to illustrate one possible implementation.
  • the monitor configurations are stored in a list of most recently used monitor configurations, referred to as a monitor configuration list, with a linked list of pointers to the monitor configuration list contained in an element of the array of monitors and sorted such that the pointers at the head of the list point to the most recent monitor configuration of which that monitor was a part.
  • monitor configurations may change from one user to the next, if the transient monitor manager 212 is a kernel component, the link between the array of monitors and the monitor configuration list is reset when there is a user context change.
  • Each node in the monitor configuration list may contain data such as a time stamp (for arranging in most recently used order), the number of monitors in the configuration, the power scheme (e.g., represented as a GUID), a version number (for possible future versions of the data structure), the video port state (i.e., whether a video port is active or deactivated), the geometry of the monitors and a monitor/state array identifying the monitors in this configuration and their respective states.
  • the video settings may be extracted from the monitor state information.
  • the monitor/state array has elements containing the index entry that corresponds to the monitor within the array of monitors and a structure containing the state of the monitor.
  • the state contains information such as the resolution, refresh rate, color depth and the orientation of the monitor.
  • monitor A, monitor B and monitor C may be in a configuration, with such as monitor A having an ID of 5, monitor B having an ID of 3 and monitor C having an ID of 7.
  • the binary tree is checked, and in this example where these are known monitors, nodes corresponding to IDs 5, 3 and 7 are found. Each node contains the index into the array of monitors.
  • the list of pointers to the monitor configuration list contained in each array element is filtered down to just those corresponding to the number of monitors (three) and the power scheme currently in use. Next a comparison is performed on the pointers to the monitor configuration list of each monitor to see if there is a match.
  • the video settings obtained from the monitor configuration list monitor states and the geometry obtained from the monitor configuration list node is applied (via the graphics interface 214).
  • the stored geometry is not used. As an example, consider monitor B being moved to the left side of monitor A, before monitor C is plugged in. In this situation, it is known that monitor B has moved to the left of monitor A, and thus the geometry stored for monitors A, B and C (when plugged in) is not used because the stored geometry shows monitor B to the right of monitor A.
  • monitor capabilities may be used instead, wherein the monitor capabilities include a combination of screen size and/or modes and refresh rates that the monitor supports.
  • Information such as the type of monitor, e.g., LCD, CRT, plasma or some other type may enhance the selection of a desirable mode.
  • the monitor ID may not be found in the array of monitors using the binary tree of monitor IDs.
  • Two ways to search on model number include creating another binary tree that can be searched on the model number, or performing a linear search through the array of monitors. Because for most users the number of times an unknown monitor is added is likely relative rare compared to the number of times that known monitors are plugged and unplugged from the computer, and because creating a binary tree will require a linear search through the array of monitors, a simple linear search may be advantageous.
  • Another scenario where an unknown monitor may be plugged in includes when unknown monitors are the only monitors plugged in, such as with a mobile computing device that does not have an internal monitor. If the computer is already running, the transient monitor manager 212 is notified of one or more new monitors being plugged in. Alternatively, if the computer is first starting up, the transient monitor manager 212 first checks to see what monitors are plugged in to the computer. In either case, the monitor ID of each new monitor is obtained, and in this "unknown monitor" example, a check of the binary tree shows that there is not any known monitor with this monitor ID. The model number is then obtained, and used to search the array of monitors (e.g., linearly) for each case of the model number. Each time there is a match, the array index is added to a linked list.
  • the linked list is checked linearly and the array index is used to get access to the pointers to the monitor configuration list.
  • the monitor configuration list entries are filtered for one monitor and the newest entry is found, the associated video settings data are used to set the monitor configuration, and the monitor configuration list is updated. If there are no matches then the video modes are iterated and the monitor configuration determined by an optimum resolution and refresh rate.
  • Another linked list is created and populated in the same manner.
  • the linked lists are searched and any monitor configuration list entries are filtered for two (or more) monitors.
  • the newest monitor configuration list entry that is shared by all of the linked lists is used.
  • Monitor plug/unplug events are checked after each linked list is populated, and again just before applying the video settings data. If there is a change, then a new monitor configuration is determined. In the event that one or more known monitors are already plugged in when the unknown monitor is plugged in, a situation similar to an only unknown monitors condition exists, except that the monitor configuration list entries are compared with those pointed at by the known monitors array entry.
  • the array of monitors is updated when the code that updates the video settings calls the code that maintains the array of monitors with a method that takes a pointer to the monitor configuration list entry and the set of monitor IDs and passes back the associated array index for each monitor.
  • the function adds the pointer to the monitor configuration list entry to each array entry associated with each monitor in the set of monitors passed in as a parameter.
  • FIG. 4 shows example logic taken by the transient monitor manager 212 in response to a disconnect event, as represented by step 400.
  • step 400 evaluates the overall configuration that results from the monitor being disconnected. As mentioned above, this implicitly requires knowing which monitor was disconnected and which one or more remain connected, which may require querying the surviving monitor or monitors for their identifiers and determining by process of elimination which monitor was disconnected.
  • the transient monitor manager 212 looks for an identical (or sufficiently similar) configuration to one that the user previously had. If one is found at step 402, the monitor configuration is applied at step 406 to reset the surviving set of (one or more) monitors to its previous configuration, and this disconnection-handling process of the transient monitor manager 212 ends until again needed.
  • step 402 branches to step 406 wherein a best-guess configuration is chosen, as generally described above, e.g., based on similar configuration data or based on the capabilities of each monitor that remains connected.
  • Step 408 allows the user to confirm, which typically also facilitates any user changes.
  • monitor C is unplugged, whereby the transient monitor manager 212 receives a PnP notification that a monitor has been unplugged, and, if the monitor that was unplugged was not identified, the transient monitor manager 212 determines which monitor was unplugged by the process of elimination, that is, by re-obtaining the monitor IDs of those that remain connected and by comparing the IDs to the monitor configuration list.
  • this can result in a monitor configuration change to restore monitors A and B to prior states.
  • the states of the remaining monitors may be left intact, e.g., neither the resolution nor the refresh rate of monitor A or B will be changed.
  • the video head of monitor C will be turned off, and a new entry in the monitor configuration list prepared by taking a copy of the current monitor configuration and eliminating monitor C from the list of monitors.
  • the video settings are serialized and stored at a storage location accessible by a new GUID, which replaces the GUID of the old monitor configuration, and the timestamp is updated.
  • the geometry of the remaining monitors is recorded and the data placed at a storage location addressable by the timestamp. Then the new monitor configuration is placed at the head of the monitor configuration list.
  • the transient monitor manager 212 will receive a PnP notification that a monitor has been plugged in. After obtaining the serial number of the monitor, it is determined via the binary tree of monitor IDs that monitor C has been plugged in. As is understood, the appropriate video settings to use are then determined as described above, because this is a "known monitors" situation.
  • monitor reconfiguration during power down, using known monitors. Although somewhat similar to receiving an unplug event, no PnP notification is received.
  • a monitor reconfiguration during power down, using known monitors.
  • the computer has not previously encountered a configuration with just monitors A and B.
  • monitors A and B are plugged in and accordingly identified, however there is no entry in the monitor configuration list with two monitors that include monitors A and B.
  • One first optional way to determine how to set up the two monitors is to determine the optimum resolution and refresh rate by iterating over the possible modes that the two monitors can support.
  • a second way is to modify the search rules on the monitor configuration list so as to not require that the number of monitors equal three to match an existing configuration, whereby that the transient monitor manager 212 will find monitor configurations that include monitors A and B. In this manner, a new monitor configuration may be found, similar to as if monitor C was unplugged while the computer system was powered up. Note that if this second option is used, only the most recent configuration that included monitor A and B is used. To the user the only change is that monitor C is missing, as the monitor settings for monitors A and B remain the same as they were when monitor C was plugged in.
  • monitors A and B where plugged in with yet another monitor, but it is typically desirable that the monitor settings of monitors A and B remain the same.
  • the video settings are set and the video head for the third monitor is turned off.
  • the monitor configuration is then recorded and the monitor configuration list updated. In the event that the attempt to set the video settings fails, then the first option may be used.
  • any program windows, icons and so forth that were being displayed on that monitor may be switched to the set of one or more surviving monitors by the transient monitor manager 212.
  • the data regarding the window positions, sizes and so forth still exists in memory and is used to "shuffle" the information from the now non-extended or lesser-extended desktop to the desktop area that remains.
  • the windows and other images may be scaled as necessary to fit the new area.
  • Program windows from the disconnected monitor may be moved to the new area, or they may be minimized in the taskbar or the like of a connected monitor until selected, at which time they will be restored on a connected monitor.
  • the windows and other images may be restored.
  • a window may remain in its current position if the user interacted with it in some sufficient way, e.g., typed or clicked on it, moved it, resized it, and/or gave that window focus.
  • the selections of the transient monitor manager 212 may be overridden by manual user interaction with an appropriate user interface, e.g., a "display properties" /control panel user interface.
  • the user may change the configuration data at other times as well, such as during normal operation. As can be appreciated, these changes need to be persisted in the monitor configuration data for the current monitor set, otherwise they would be lost upon the next configuration change resulting from a connection or disconnection.
  • FIG. 5 represents the actions taken by the transient monitor manager 212 upon user interaction that changes a configuration, as represented by step 500.
  • the user can select the "display properties" user interface, and once any changes are applied, the transient monitor manager makes the changes to the monitor set, and also persists the changes.
  • the configuration-update process identifies the set of (one or more) monitors that are presently connected. Among other things, this may be used if the change is to the configuration (e.g., the user wants a monitor removed), or to locate the corresponding configuration data in the data store 214 (FIG. 2), which is the most recently used configuration.
  • the overall configuration including any changes made by the user is then stored at step 506.
  • the internal monitor of a laptop can be automatically turned off when, for example, the laptop is running low on battery power but the monitor configuration is such that a fully-powered monitor is connected.
  • Another way to automatically modify a monitor configuration is via a temporary mode.
  • video playback is known to operate well with a 60-hertz refresh rate. Detection of such playback, versus presenting graphics for example, may be used to change the mode until the conditions change.
  • Monitor manufacturers can also have custom settings that are persisted / restored by calls to the transient monitor manager 212 or the like. For example, a television-based monitor may request that certain areas be cropped on the screen at certain times, with those areas restored without user interaction in other conditions. Also, custom settings such as color space correction / gamma may be saved in conjunction with a monitor configuration.
  • FIG. 6 shows an overview of the transient monitor manager 212 in one particular example implementation.
  • the transient monitor manager 212 in general there are two entry points into the transient monitor manager 212, including one at step 600 when the transient monitor manager 212 starts or when a user context switch occurs. If the transient monitor manager 212 is started up or there is a user context switch, the appropriate user data has to be loaded.
  • the monitor configuration list and the array of monitors are loaded from memory and the binary search tree is built; connections are the established between the monitor configuration list and the array of monitors.
  • a second entry point is when a monitor plug/unplug event occurs as represented or at step 604.
  • step 606 is performed to determine and test a current monitor configuration, and update the monitor configuration list.
  • each monitor ID of each monitor of the current monitor configuration is obtained, using a graphics interface / instrumentation API call or other suitable method, as described above.
  • the binary search tree is then used to search for the monitor ID(s), as represented by step 608.
  • step 610 depending on whether there was a search failure on any of the monitor IDs, the determination of the new monitor configuration will take one of two different branches. Thereafter, as described below, once the monitor configuration is determined and tested, the monitor configuration list is updated and the connection between the monitor configuration list and the array of monitors is updated.
  • step 612 which represents moving to further steps represented in FIG. 7. Conversely, if all the monitor IDs were found, then at step 610 the process branches to steps 614, 616 and 618, in which the pointers to the monitor configuration list in each array element associated with the monitor IDs are compared, and those monitor configuration list entries pointed to by each monitor are added to a linked list of monitor configuration list entries at step 616. Because the monitor configuration list entries may include monitor configurations that were recorded under a different power scheme, or if the new monitors were a subset of a larger monitor configuration to get a better match the monitor configuration list entries may be filtered, (step 618).
  • a linked list iterator skips over those linked list nodes that point to monitor configuration list entries recorded under a different power scheme or number of monitors that differs from the current state. At this time, best monitor configuration list entry is found, as represented by step 620 moving to FIG. 8.
  • step 610 if there are one or more monitors having a monitor ID that was not found (steps 608 and 610, referred to as "unknown monitors"), the process branches to FIG. 7.
  • an API / method call is used at step 702 to obtain the model number of the each monitor having a monitor ID that was not found. More particularly, for those monitors that failed a search of the binary search tree, another (e.g., linear) search through the array of monitors is performed at step 704 to find a set of monitors having the same model number.
  • this search will fail as evaluated at step 706, however if so, the identified monitors will form a subset of the monitors that are in a monitor configuration list entry.
  • the array elements of this set are used along with the array elements found through the binary search tree to create the monitor configuration list entry linked list, as was done in the known monitor algorithm.
  • the pointers to the monitor configuration list in each array element associated with the monitor IDs are compared and those monitor configuration list entries pointed to by each monitor are added to a linked list of monitor configuration list entries at step 708.
  • Step 710 repeats for each unknown monitor.
  • monitor configuration list entries may include monitor configurations that were recorded under a different power scheme, or if the new monitors were a subset of a larger monitor configuration, to get a better match the monitor configuration list entries may be filtered, (step 714). To accomplish this, a linked list iterator skips over those linked list nodes that point to monitor configuration list entries recorded under a different power scheme or number of monitors that differs from the current state.
  • the unknown monitor is added to the array of monitors and the binary search tree is rebalanced or rebuilt.
  • the unknown monitor(s) are known, but there are no pointers to the monitor configuration list.
  • the connection between the array of monitors and the monitor configuration list will be made once a new monitor configuration is set in place, as described above.
  • best monitor configuration list entry is found, as represented by step 716 moving to FIG. 8.
  • the example steps of FIG. 8 may be executed to find a best entry in the monitor configuration list from the filtered list of entries. This entry may have the same monitors as the new monitor configuration, or it may include other monitors. Note that if there are no monitor configuration list entries the process may advance to iterate video modes on unknown monitor(s), as described below.
  • the transient monitor manager 212 is currently executing the process because of a monitor plug/unplug event, as essentially reevaluated at step 802, one aspect avoids changing the states of the existing monitors, which is achieved by looking for monitor matches with the same states as the pre-event configuration.
  • the monitor states of the pre-event configuration are located at the head of the monitor configuration list (as it is the most recently used configuration).
  • a search is performed on the list of monitor configuration list entries to find monitor configurations that include the new monitor (if a plug event) along with the existing monitors and states. If there are multiple matches, the most recent monitor configuration list entry is used. If instead the transient monitor manager 212 is currently executing the process because of a monitor plug/unplug event, then the most recent monitor configuration list entry with the monitors of the new configuration is chosen at step 806.
  • a monitor configuration list entry is not found at step step 808, then, if not being filtered by the number of monitors (step 810), a the iterator for the linked list of monitor configuration list entries is adjusted at step 812 so as to no longer use the number of monitors to filter the list. Once again a search is performed on the list of monitor configuration list entries by returning to step 808.
  • step 810 when not filtered by the number of monitors and a monitor configuration list entry is still not found, it is possible that not all of the monitors have been in the same configuration before, e.g., monitors A and B have been in a configuration together, but not in combination with monitor C.
  • a solution is to find the monitor configuration list entry with the most monitor matches, as represented at step 812; in the above example, the solution finds a monitor configuration list entry with monitors A and B. This leaves monitor C without a known state, (which is resolved in FIG. 9).
  • step 902 if the search for a monitor configuration list entry results in an exact match for the monitors and states, a next step 918 is to test the configuration against the video card's capabilities, by advancing to FIG. 10. However if the search did not provide for an exact match, e.g., due to extra monitors or monitors not having established video states, step 902 branches to step 904 before testing the monitor configuration.
  • step 904 if there are monitors in the monitor configuration list entry that are not in the new configuration, they need to be removed via step 906. Also, if there are monitors without an associated video state, the monitor is queried for its available modes via steps 908 and 910. If modes are found at step 912, the best match needs to be found, which is performed at step 914 by testing the monitor configuration against the video settings. If these setting are accepted, then that monitor configuration may be used.
  • the monitor configuration is tested. This is because even if an exact match was found in the monitor configuration list, it is possible that the video card has since been switched out, and a previously valid monitor configuration will no longer work with the new card. It is also possible that the search for video modes (step 912) failed, leaving a monitor without a set state.
  • FIG. 10 represents example testing steps.
  • step 1002 If at step 1002 any of the monitors does not have a state set on it before testing, or if the monitor configuration fails when tested against the video settings (steps 1016 and 1018), the available video modes are iterated (step 1004). If possible to reduce the refresh rate (as evaluated against a limit at step 1006), a first attempt does so at step 1008 and tests against the video card's capabilities by advancing to step 1016. If reducing the refresh rate fails repeatedly until reaching the (e.g., 60Hz) limit, a next step reduces the resolution of the monitors, if possible, as performed via steps 1010 and 1012.
  • a display control panel dialog is shown at step 1014. Note that although not shown, one or more attempts may be made to reduce the color depth before showing the display control panel.
  • step 624 is executed to update and use the monitor configuration list. In this manner, an existing configuration is applied, or a new one built for the current monitor set and their current states.

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)
  • Digital Computer Display Output (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
EP05112390A 2004-12-17 2005-12-19 Système et procédé de gestion de configurations de moniteurs d'ordinateurs Withdrawn EP1672613A3 (fr)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
EP1672613A2 true EP1672613A2 (fr) 2006-06-21
EP1672613A3 EP1672613A3 (fr) 2009-04-29

Family

ID=36051479

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05112390A Withdrawn EP1672613A3 (fr) 2004-12-17 2005-12-19 Système et procédé de gestion de configurations de moniteurs d'ordinateurs

Country Status (5)

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

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008033783A2 (fr) * 2006-09-11 2008-03-20 Apple Inc. Procédé et système pour contrôler une sélection et lecture vidéo dans un lecteur multimédia portable
EP1939724A2 (fr) 2006-12-27 2008-07-02 Samsung Electronics Co., Ltd. Appareil d'affichage et procédé de commande de l'appareil d'affichage
US7660929B2 (en) 2004-04-27 2010-02-09 Apple Inc. Connector interface system for a multi-communication device
US7779185B2 (en) 2004-04-27 2010-08-17 Apple Inc. Communication between a media player and an accessory using a protocol with multiple lingoes
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
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
WO2010136781A1 (fr) * 2009-05-28 2010-12-02 Displaylink (Uk) Limited Système et procédé d'affichage
US7877532B2 (en) 2004-04-27 2011-01-25 Apple Inc. Communication between an accessory and a media player with multiple lingoes and lingo version information
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
US7949810B2 (en) 2004-04-27 2011-05-24 Apple Inc. Techniques for transferring data between a media player and an accessory having a tuner
US8006019B2 (en) 2006-05-22 2011-08-23 Apple, Inc. Method and system for transferring stored data between a media player and an accessory
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8073984B2 (en) 2006-05-22 2011-12-06 Apple Inc. Communication protocol for use with portable electronic devices
US8095716B2 (en) 2006-06-27 2012-01-10 Apple Inc. Method and system for communicating capability information from an accessory to a media player
US8099536B2 (en) 2004-04-27 2012-01-17 Apple Inc. Communication between an accessory and a media player with general and accessory lingoes
US8112567B2 (en) 2006-09-11 2012-02-07 Apple, Inc. Method and system for controlling power provided to an accessory
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
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
US8443096B2 (en) 2009-03-16 2013-05-14 Apple Inc. Accessory identification for mobile computing devices
US8452903B2 (en) 2009-03-16 2013-05-28 Apple Inc. Mobile computing device capabilities for accessories
KR101278791B1 (ko) * 2004-12-17 2013-06-25 마이크로소프트 코포레이션 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템
US8581449B2 (en) 2005-01-07 2013-11-12 Apple Inc. Portable power source to provide power to an electronic device via an interface
EP2672376A3 (fr) * 2012-06-08 2014-01-08 Apple Inc. Système et procédé de réflexion d'affichage
US8781299B2 (en) 2010-01-21 2014-07-15 Sitting Man, Llc Methods, systems, and computer program products for coordinating playing of media streams
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
US9176651B2 (en) 2008-05-13 2015-11-03 Apple Inc. Pushing a user interface to a remote device
US9306879B2 (en) 2012-06-08 2016-04-05 Apple Inc. Message-based identification of an electronic 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
US9467735B2 (en) 2007-09-04 2016-10-11 Apple Inc. Synchronizing digital audio and analog video from a portable media device
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
GB2586792A (en) * 2019-08-30 2021-03-10 Samsung Electronics Co Ltd Apparatus, method and computer program for determining configuration settings for a display apparatus

Families Citing this family (72)

* 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 画像表示装置、情報端末装置、ネットワークシステム及びネットワーク設定方法
US8453063B1 (en) * 2004-04-30 2013-05-28 Apple Inc. Display manager that dynamically adjusts for dependencies in a video display system
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
US20070271116A1 (en) 2006-05-22 2007-11-22 Apple Computer, Inc. Integrated media jukebox and physiologic data handling application
US9137309B2 (en) 2006-05-22 2015-09-15 Apple Inc. Calibration techniques for activity sensing devices
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
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
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
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
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
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
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 宏碁股份有限公司 信号处理系统及方法
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
WO2013002547A2 (fr) 2011-06-30 2013-01-03 주식회사 케이티 Terminal portable apte à une connexion avec un dispositif externe et procédé pour sa commande
KR101554599B1 (ko) 2011-06-30 2015-09-21 주식회사 케이티 외부 디바이스와 도킹 연결되는 휴대 단말 및 어플리케이션 실행 방법
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 주식회사 빅솔론 휴대용 컴퓨터를 이용한 포스시스템
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
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
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria
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
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
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
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 合肥联宝信息技术有限公司 一种侦测显示器类型的方法
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设备的识别方法及其系统
IL271255B2 (en) * 2017-06-16 2023-03-01 Microsoft Technology Licensing Llc Creating a rule-based user interface
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 浙江宇视科技有限公司 数据恢复方法及装置
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices
US11546391B2 (en) 2019-11-01 2023-01-03 Microsoft Technology Licensing, Llc Teleconferencing interfaces and controls for paired user computing devices
US11256392B2 (en) * 2019-11-01 2022-02-22 Microsoft Technology Licensing, Llc Unified interfaces for paired user computing devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995025299A1 (fr) 1994-03-14 1995-09-21 Apple Computer, Inc. Systeme de gestion de l'affichage d'informations dans un ordinateur
EP0896318A2 (fr) 1997-08-04 1999-02-10 Compaq Computer Corporation interconnexion entre ordinateur personnel et affichage dans un environnement multimédia
US20040233189A1 (en) 1997-11-13 2004-11-25 Kozo Masuda Display unit
EP1484741A2 (fr) 2003-03-13 2004-12-08 Microsoft Corporation Compensation d' interconnexion de moniteur par calibration de signal

Family Cites Families (12)

* 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
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
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 画像生成装置および方法
BR0309770A (pt) * 2002-05-01 2005-03-22 Ibm Computador, método de configuração de dispositivo de exibição, e programa
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
US7450084B2 (en) * 2004-12-17 2008-11-11 Microsoft Corporation System and method for managing computer monitor configurations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995025299A1 (fr) 1994-03-14 1995-09-21 Apple Computer, Inc. Systeme de gestion de l'affichage d'informations dans un ordinateur
EP0896318A2 (fr) 1997-08-04 1999-02-10 Compaq Computer Corporation interconnexion entre ordinateur personnel et affichage dans un environnement multimédia
US20040233189A1 (en) 1997-11-13 2004-11-25 Kozo Masuda Display unit
EP1484741A2 (fr) 2003-03-13 2004-12-08 Microsoft Corporation Compensation d' interconnexion de moniteur par calibration de signal

Cited By (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386680B2 (en) 2004-04-27 2013-02-26 Apple Inc. Communication between an accessory and a media player with multiple protocol versions and extended interface lingo
US8135891B2 (en) 2004-04-27 2012-03-13 Apple Inc. Method and system for transferring button status information between a media player and an accessory
US7853746B2 (en) 2004-04-27 2010-12-14 Apple Inc. Interface system for enabling data communication between a multi-communication device and other devices
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US8171195B2 (en) 2004-04-27 2012-05-01 Apple Inc. Media player communication with an accessory using a display remote lingo
US7660929B2 (en) 2004-04-27 2010-02-09 Apple Inc. Connector interface system for 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
US7702833B2 (en) 2004-04-27 2010-04-20 Apple Inc. Techniques for transferring information between an accessory and a multi-communication device
US7757026B2 (en) 2004-04-27 2010-07-13 Apple Inc. Techniques for transferring status information between an accessory and a multi-communication device
US7779185B2 (en) 2004-04-27 2010-08-17 Apple Inc. Communication between a media player and an accessory using a protocol with multiple lingoes
US8171194B2 (en) 2004-04-27 2012-05-01 Apple Inc. Accessory communication with a media player using a display remote lingo
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
US8099536B2 (en) 2004-04-27 2012-01-17 Apple Inc. Communication between an accessory and a media player with general and accessory lingoes
US7877532B2 (en) 2004-04-27 2011-01-25 Apple Inc. Communication between an accessory and a media player with multiple lingoes and lingo version information
US8239595B2 (en) 2004-04-27 2012-08-07 Apple Inc. Communication between a media player and an accessory with an extended interface mode
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
US7949810B2 (en) 2004-04-27 2011-05-24 Apple Inc. Techniques for transferring data between a media player and an accessory having a tuner
US8402187B2 (en) 2004-04-27 2013-03-19 Apple Inc. Method and system for transferring button status information between a media player and an accessory
US8082376B2 (en) 2004-04-27 2011-12-20 Apple Inc. Communication between an accessory and a media player with multiple protocol versions
US8285901B2 (en) 2004-04-27 2012-10-09 Apple Inc. Communication between an accessory and a media player using an extended interface lingo
KR101278791B1 (ko) * 2004-12-17 2013-06-25 마이크로소프트 코포레이션 컴퓨터 시스템의 설정을 구성하기 위한 방법 및 시스템
US8161567B2 (en) 2005-01-07 2012-04-17 Apple Inc. Accessory authentication for electronic devices
US10049206B2 (en) 2005-01-07 2018-08-14 Apple Inc. Accessory authentication for electronic devices
US9754099B2 (en) 2005-01-07 2017-09-05 Apple Inc. Accessory authentication for electronic devices
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US8581449B2 (en) 2005-01-07 2013-11-12 Apple Inc. Portable power source to provide power to an electronic device via an interface
US9223958B2 (en) 2005-01-07 2015-12-29 Apple Inc. Accessory authentication for electronic devices
US8073984B2 (en) 2006-05-22 2011-12-06 Apple Inc. Communication protocol for use with portable electronic 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
US9160541B2 (en) 2006-06-27 2015-10-13 Apple Inc. Method and system for authenticating an accessory
US8590036B2 (en) 2006-06-27 2013-11-19 Apple Inc. Method and system for authenticating an accessory
US8095716B2 (en) 2006-06-27 2012-01-10 Apple Inc. Method and system for communicating capability information from an accessory to a media player
US8370555B2 (en) 2006-06-27 2013-02-05 Apple Inc. Method and system for allowing a media player to determine if it supports the capabilities of an accessory
WO2008033783A3 (fr) * 2006-09-11 2008-06-26 Apple Inc Procédé et système pour contrôler une sélection et lecture vidéo dans un lecteur multimédia portable
WO2008033783A2 (fr) * 2006-09-11 2008-03-20 Apple Inc. Procédé et système pour contrôler une sélection et lecture vidéo dans un lecteur multimédia portable
GB2454406A (en) * 2006-09-11 2009-05-06 Apple Inc Method and system for controlling video selection and playback in a portable media player
US8112567B2 (en) 2006-09-11 2012-02-07 Apple, Inc. Method and system for controlling power provided to an accessory
EP1939724A2 (fr) 2006-12-27 2008-07-02 Samsung Electronics Co., Ltd. Appareil d'affichage et procédé de commande de l'appareil d'affichage
EP1939724A3 (fr) * 2006-12-27 2009-07-22 Samsung Electronics Co., Ltd. Appareil d'affichage et procédé de commande de l'appareil d'affichage
US9467735B2 (en) 2007-09-04 2016-10-11 Apple Inc. Synchronizing digital audio and analog video from a portable media device
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8317658B2 (en) * 2008-02-29 2012-11-27 Apple Inc. Interfacing portable media devices and sports equipment
US20120028761A1 (en) * 2008-02-29 2012-02-02 Apple Inc. Interfacing portable media devices and sports equipment
US9471207B2 (en) 2008-05-13 2016-10-18 Apple Inc. Pushing a user interface to a remote device that controls multiple displays
US9285968B2 (en) 2008-05-13 2016-03-15 Apple Inc. User interface including content from a remote device
US9335907B2 (en) 2008-05-13 2016-05-10 Apple Inc. User interface including content from an accessory
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
US9875006B2 (en) 2008-05-13 2018-01-23 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
US9176651B2 (en) 2008-05-13 2015-11-03 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
US8509691B2 (en) 2008-09-08 2013-08-13 Apple Inc. Accessory device authentication
US8208853B2 (en) 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8634761B2 (en) 2008-09-08 2014-01-21 Apple Inc. Cross-transport authentication
US8909803B2 (en) 2009-03-16 2014-12-09 Apple Inc. Accessory identification for mobile computing devices
US9654293B2 (en) 2009-03-16 2017-05-16 Apple Inc. Accessory identification for mobile computing devices
US8452903B2 (en) 2009-03-16 2013-05-28 Apple Inc. Mobile computing device capabilities for accessories
US8443096B2 (en) 2009-03-16 2013-05-14 Apple Inc. Accessory identification for mobile computing devices
WO2010136781A1 (fr) * 2009-05-28 2010-12-02 Displaylink (Uk) Limited Système et procédé d'affichage
US8983264B2 (en) 2010-01-21 2015-03-17 Sitting Man, Llc Methods, systems, and computer program products for coordinating playing of media streams
US9817558B1 (en) 2010-01-21 2017-11-14 Cypress Lake Software, Inc. Methods, systems, and computer program products for coordinating playing of media streams
US10437433B2 (en) 2010-01-21 2019-10-08 Cypress Lake Software, Inc. Methods, systems, and computer program products for coordinating playing of media streams
US8781299B2 (en) 2010-01-21 2014-07-15 Sitting Man, Llc Methods, systems, and computer program products for coordinating playing of media streams
US8787731B2 (en) 2010-01-21 2014-07-22 Sitting Man, Llc 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
US11089353B1 (en) 2010-01-29 2021-08-10 American Inventor Tech, Llc Hot key systems and methods
EP2672376A3 (fr) * 2012-06-08 2014-01-08 Apple Inc. Système et procédé de réflexion d'affichage
US9207903B2 (en) 2012-06-08 2015-12-08 Apple Inc. System and method for display mirroring
US10031712B2 (en) 2012-06-08 2018-07-24 Apple Inc. System and method for display mirroring
US8738826B2 (en) 2012-06-08 2014-05-27 Apple Inc. System and method for display mirroring
US9306879B2 (en) 2012-06-08 2016-04-05 Apple Inc. Message-based identification of an electronic device
US9552187B2 (en) 2012-06-08 2017-01-24 Apple Inc. System and method for display mirroring
GB2586792A (en) * 2019-08-30 2021-03-10 Samsung Electronics Co Ltd Apparatus, method and computer program for determining configuration settings for a display apparatus
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

Also Published As

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

Similar Documents

Publication Publication Date Title
US7450084B2 (en) System and method for managing computer monitor configurations
US6779064B2 (en) System, method, and computer program product for on-line replacement of a host bus adapter
JP4216327B2 (ja) コンピュータにおける情報表示の管理システム
US6928543B2 (en) System for real-time adaptation to changes in display configuration
US6931475B2 (en) Blade server system with KVM switches
US6560701B1 (en) Alternate boot record
US8364830B2 (en) Connection control in thin client system
US8499104B2 (en) Method for switching working mode, USB device, and host device
USRE42465E1 (en) Rule-based, n-way, synchronization of multiple copies of a database
US20040210641A1 (en) System and method for synchronizing objects between two devices
US7197545B1 (en) Techniques for dynamically loading modules for devices discovered in a storage network
US20080184025A1 (en) Booting to a recovery/maintenance environment
US20070162512A1 (en) Providing reporting database functionality using copy-on-write technology
EP2161647A1 (fr) Procédé de protection de la mise sous tension, module et système
US20090271667A1 (en) Apparatus and Method for Monitoring Computer System
US20040220970A1 (en) Automatic pruning of orphaned objects from directory services and other databases
JP4580195B2 (ja) ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
US7574743B2 (en) Method for ensuring security, data storage apparatus, security ensuring server, and storage medium storing program for the same
CN111031126A (zh) 集群缓存共享方法、系统、设备及存储介质
US8015373B2 (en) Information sharing between a backup storage device and a management appliance
US6604112B1 (en) Method and system for managing an AIX UNIX server using an SNMP interface
GB2398662A (en) Specifying properties using regular expression parameterization employing a configuration file.
US20230359775A1 (en) Peripheral device connections responsive to identification data matching
CA2305280C (fr) Systeme et procede d'interaction entre un ordinateur de bureau et des dispositifs mobiles multiples
US20020188774A1 (en) Virtualizing external data as native data

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

RIC1 Information provided on ipc code assigned before grant

Ipc: G09G 5/00 20060101ALI20090326BHEP

Ipc: G06F 3/14 20060101AFI20090326BHEP

17P Request for examination filed

Effective date: 20090918

17Q First examination report despatched

Effective date: 20091016

AKX Designation fees paid

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20121015