IP Library Granted Patent US 9,558,527
Granted Patent B2
US 9,558,527 · App. 14/523,547 · Granted Jan 31, 2017

Systems and methods for orchestrating external graphics

Inventors: Danae Sierra (Miami, FL); Carlos L. Ross (Miami, FL); Louis Bruno (Austin, TX); Philip J. Grossmann (Austin, TX); Mark A. Casparian (Miami, FL); Joe A. Olmsted (Austin, TX); Alexander Galiano (Miami Beach, FL); Amaury Brito Alvarez (Miami, FL); Henry A. Bove (Round Rock, TX)
Assignee: Dell Products L.P.
G06T1/20G06F1/1632G06F3/1438G06F15/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,558,527
App. No.
14/523,547
Granted
Jan 31, 2017
Kind
B2
Abstract

Systems and methods that may be implemented to orchestrate external graphics, for example to support and extend switchable graphics capability beyond internal system components of a host information handling system so as to include an external discrete graphics processing unit (xGPU) that is not integrated or embedded within the chassis enclosure of the host information handling system, and that is coupled to the host information handling system from outside the host system chassis enclosure.

Claims (94)

1. A method of orchestrating external graphics for an information handling system, comprising:

operating multiple internal graphics components of a host information handling system in simultaneous on condition to display video on at least one integrated display device or first external display device coupled to a host processing device of the host information handling system, the multiple internal graphics components of the information handling system comprising an integrated graphics processing unit (iGPU) of the host processing device and an internal discrete graphics processing unit (I-dGPU) coupled to the host processing device;

using the host processing device of the host information handling system to execute an operating system (OS) system and system BIOS of the information handling system;

using the host processing device of the host information handling system to execute the system BIOS to detect the presence of an external graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system, the xGPU card including at least one external GPU;

using the host processing device of the host information handling system to execute the system BIOS to perform the following steps only after detection of the connected xGPU card:

turning off the I-dGPU of the host information handling system,

leaving on or turning on the iGPU of the host information handling system, and

turning on the xGPU card of the external docking system;

using the host processing device to load graphics drivers for the iGPU and the xGPU card only after detecting the presence of the xGPU card connected to the host information handling system; and

then operating the iGPU and the xGPU card in simultaneous on condition to display video on at least one of the integrated display device, first external display device, or at least one second external display device coupled to the external docking system.

2. The method of claim 1 , further comprising operating the iGPU and the xGPU card in simultaneous on condition after the system BIOS detects the presence of the xGPU card connected to the host information handling system to display video on at least one second external display device directly coupled to the external docking system, the external docking system being coupled between the information handling system and the second external display device.

3. The method of claim 1 , where the graphics drivers including switchable graphics drivers; and where the method further comprises using the host processing device to execute the switchable graphics drivers to operate each of the iGPU and the xGPU card to selectably display video from different applications executing on the host processing device on at least one of the integrated display device, first external display device, or at least one second external display device coupled to the external docking system.

4. The method of claim 3 , further comprising using the host processing device to execute the switchable graphics drivers to only use a user-designated one of the iGPU or xGPU card to display video from a given application executing on the host processing device on at least one of the integrated display device, first external display device, or at least one second external display device according to a whitelist designation for the given application that is configured by a user of the information handling system.

5. The method of claim 1 , further comprising using the host processing device of the host information handling system to execute the system BIOS to detect the absence of an external graphics card (xGPU) of the external docking system temporarily coupled in signal communication with the host information handling system; and then:

using the host processing device of the host information handling system to execute the system BIOS to perform the following steps only after detection of the absence of a connected xGPU card:

turning on the I-dGPU of the host information handling system,

leaving on or turning on the iGPU of the host information handling system,

leaving off or turning off the xGPU card of the external docking system;

using the host processing device to load graphics drivers for the iGPU and the I-dGPU only after detecting the absence of the xGPU card connected to the host information handling system; and

then operating the iGPU and the I-dGPU in simultaneous on condition to display video on at least one of the integrated display device or first external display device.

6. The method of claim 1 , further comprising using the host processing device to execute the system BIOS to receive a user-generated undocking signal and to set an Undock Request flag in the system BIOS in response to receiving the user-generated undocking signal; and then performing the following steps upon execution of a next system boot:

using the host processing device of the host information handling system to execute the system BIOS to detect the presence of an external graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system, the xGPU card including at least one external GPU;

using the host processing device of the host information handling system to execute the system BIOS to detect the presence of the Undock Request flag in system BIOS; and

then using the at least one processing device of the host information handling system to execute the system BIOS to perform the following steps only after detection of the presence of the Undock Request flag in system BIOS and despite the detection of the presence of the external graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system:

turning on the I-dGPU of the host information handling system,

leaving on or turning on the iGPU of the host information handling system, and

leaving off or turning off the xGPU card of the external docking system;

using the host processing device to load graphics drivers only after detecting the presence of the Undock Request flag in system BIOS; and

then operating the iGPU and the I-dGPU in simultaneous on condition to display video on at least one of the integrated display device or first external display device.

7. The method of claim 1 , further comprising: using the host processing device to execute the system BIOS to receive a user-generated undocking signal; and then performing the following steps in response to receipt of the user-generated undocking signal:

using the host processing device of the host information handling system to execute the system BIOS to notify the operating system executing on the host processing device of the receipt of the user-generated undocking signal;

using the host processing device to execute an application running on the operating system to respond to the BIOS notification of receipt of the user-generated undocking signal by automatically initiating reboot or shutdown of the information handling system.

8. The method of claim 1 , further comprising:

using the host processing device to execute the system BIOS to detect uncoupling of the external graphics card (xGPU) of the external docking system from the information handling system in the absence of a user-generated undocking signal;

using the host processing device to execute the system BIOS to respond to the detected uncoupling of the external graphics card (xGPU) of the external docking system by performing the following steps:

leaving off the I-dGPU of the host information handling system,

leaving on the iGPU of the host information handling system, and

notifying the operating system executing on the host processing device of the removal of the xGPU card; and

then using the host processing device to execute an application running on the operating system to respond to the removal of the xGPU by causing the iGPU to display a message to a user on at least one of the integrated display device or first external display device instructing the user to reboot the information handling system.

9. The method of claim 1 , further comprising using the host processing device of the host information handling system to execute the system BIOS to detect the presence of an external dual graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system, the dual xGPU card including at two external GPUs; and using the host processing device of the host information handling system to execute the system BIOS to perform the following steps only after detection of the connected dual xGPU card:

turning off the I-dGPU of the host information handling system,

turning off the iGPU of the host information handling system, and

turning on both of the xGPUs card of the external docking system;

using the host processing device to load graphics drivers for the dual xGPU card only after detecting the presence of the dual xGPU card connected to the host information handling system; and

then operating the both GPUs of the dual xGPU card in simultaneous on condition to display video on at least one second external display device directly coupled to the external docking system, the external docking system being coupled between the information handling system and the second external display device.

10. The method of claim 9 , further comprising using the host processing device of the host information handling system to execute the system BIOS to perform the following step before the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card:

detecting whether at least one second external display device is directly coupled to the external docking system with the external docking system being coupled between the information handling system and the detected second external display device; and then performing one either of the following steps:

if no second external display device is detected to be directly coupled to the external docking system then delaying the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card, and using the iGPU to display a message to a user on at least one of the integrated display device or first external display device indicating that no second external display device is connected prior to the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card, or

if a second external display device is detected to be directly coupled to the external docking system then proceeding to perform to the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card.

11. The method of claim 9 , further comprising using the host processing device to execute system BIOS to:

detect uncoupling of the external graphics card (xGPU) of the external docking system from the information handling system in the absence of a user-generated undocking signal;

then in response to the detected uncoupling of the xGPU card of the external docking system from the information handling system causing an audible sound to be produced on a speaker coupled to the information handling system;

then waiting a predefined amount of time for recouping of the xGPU card of the external docking system to the information handling system; and

then after expiration of the predetermined time period either forcing reboot of the information handling system if the xGPU is not detected to be re-coupled to the information handling system, or not forcing reboot of the information handling system if the xGPU is detected to be re-coupled to the information handling system after expiration of the predetermined time period.

12. An information handling system, comprising:

a host processing device configured to execute a host operating system (OS) and a system BIOS of the information handling system;

at least one integrated display device or first external display device coupled to the host processing device;

multiple internal graphics components including an integrated graphics processing unit (iGPU) of the host processing device and an internal discrete graphics processing unit (I-dGPU) coupled to the host processing device, the multiple internal graphics components being coupled to the at least one integrated display device or first external display device and being configured to operate in a simultaneous on condition to display video on the at least one integrated display device or first external display device;

where the host processing device of the host information handling system is configured to execute the system BIOS to detect the presence of an external graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system, the xGPU card including at least one external GPU;

where the host processing device of the host information handling system is further configured to execute the system BIOS to perform the following steps only after detection of the connected xGPU card:

turning off the I-dGPU of the host information handling system,

leaving on or turning on the iGPU of the host information handling system, and

turning on the xGPU card of the external docking system;

where the host processing device is further configured to load graphics drivers for the iGPU and the xGPU card only after detecting the presence of the xGPU card connected to the host information handling system; and

where the information handling system is configured to then operate the iGPU and the xGPU card in simultaneous on condition to display video on at least one of the integrated display device, first external display device, or at least one second external display device coupled to the external docking system.

13. The system of claim 12 , where the iGPU and the xGPU card are configured to operate in simultaneous on condition after the system BIOS detects the presence of the xGPU card connected to the host information handling system to display video on at least one second external display device directly coupled to the external docking system when the external docking system is coupled between the information handling system and the second external display device.

14. The system of claim 12 , where the graphics drivers include switchable graphics drivers;

and where the host processing device is configured to execute the switchable graphics drivers to operate each of the iGPU and the xGPU card to selectably display video from different applications executing on the host processing device on at least one of the integrated display device, first external display device, or at least one second external display device coupled to the external docking system.

15. The system of claim 14 , where the host processing device is further configured to execute the switchable graphics drivers to only use a user-designated one of the iGPU or xGPU card to display video from a given application executing on the host processing device on at least one of the integrated display device, first external display device, or at least one second external display device according to a whitelist designation for the given application that is configured by a user of the information handling system.

16. The system of claim 12 , where the host processing device of the host information handling system is further configured to execute the system BIOS to: detect the absence of an external graphics card (xGPU) of the external docking system temporarily coupled in signal communication with the host information handling system, and then to perform the following steps only after detection of the absence of a connected xGPU card: turning on the I-dGPU of the host information handling system, leaving on or turning on the iGPU of the host information handling system, leaving off or turning off the xGPU card of the external docking system; where the host processing device of the information handling system is configured to load graphics drivers for the iGPU and the I-dGPU only after detecting the absence of the xGPU card connected to the host information handling system; and where the iGPU and the I-dGPU are configured to then operate in simultaneous on condition to display video on at least one of the integrated display device or first external display device.

17. The system of claim 12 , where the host processing device is further configured to execute the system BIOS to receive a user-generated undocking signal and to set an Undock Request flag in the system BIOS in response to receiving the user-generated undocking signal; and then performing the following steps upon execution of a next system boot:

using the host processing device of the host information handling system to execute the system BIOS to detect the presence of an external graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system, the xGPU card including at least one external GPU;

using the host processing device of the host information handling system to execute the system BIOS to detect the presence of the Undock Request flag in system BIOS; and

then using the host processing device of the host information handling system to execute the system BIOS to perform the following steps only after detection of the presence of the Undock Request flag in system BIOS and despite the detection of the presence of the external graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system:

turning on the I-dGPU of the host information handling system,

leaving on or turning on the iGPU of the host information handling system, and

leaving off or turning off the xGPU card of the external docking system;

where the host processing device is configured to load graphics drivers only after detecting the presence of the Undock Request flag in system BIOS; and

where the iGPU and the I-dGPU are configured to then operate in simultaneous on condition to display video on at least one of the integrated display device or first external display device.

18. The system of claim 12 , where the host processing device is further configured to execute system BIOS to receive a user-generated undocking signal, and then to notify the operating system executing on the host processing device of the receipt of the user-generated undocking signal; and where the host processing device is further configured to execute an application running on the operating system to respond to the BIOS notification of receipt of the user-generated undocking signal by automatically initiating reboot or shutdown of the information handling system.

19. The system of claim 12 , where the host processing device is configured to execute the system BIOS to detect uncoupling of the external graphics card (xGPU) of the external docking system from the information handling system in the absence of a user-generated undocking signal, and to respond to the detected uncoupling of the external graphics card (xGPU) of the external docking system by performing the following steps: leaving off the I-dGPU of the host information handling system, leaving on the iGPU of the host information handling system, and notifying the operating system executing on the host processing device of the removal of the xGPU card; and

where the host processing device is configured to then execute an application running on the operating system to respond to the removal of the xGPU by causing the iGPU to display a message to a user on at least one of the integrated display device or first external display device instructing the user to reboot the information handling system.

20. The system of claim 12 , where the host processing device of the host information handling system is configured to execute a system BIOS to detect the presence of an external dual graphics card (xGPU) of an external docking system temporarily coupled in signal communication with the host information handling system, the dual xGPU card including at two external GPUs, and to perform the following steps only after detection of the connected dual xGPU card: turning off the I-dGPU of the host information handling system, turning off the iGPU of the host information handling system, and turning on both of the xGPUs card of the external docking system;

where the host processing device is configured to load graphics drivers for the dual xGPU card only after detecting the presence of the dual xGPU card connected to the host information handling system; and

where both GPUs of the dual xGPU card are configured to then operate in simultaneous on condition to display video on at least one second external display device directly coupled to the external docking system, the external docking system being coupled between the information handling system and the second external display device.

21. The system of claim 20 , where the host processing device of the host information handling system is configured to execute the system BIOS to perform the following step before the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card:

detecting whether at least one second external display device is directly coupled to the external docking system with the external docking system being coupled between the information handling system and the detected second external display device; and then performing one either of the following steps:

if no second external display device is detected to be directly coupled to the external docking system then delaying the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card and using the iGPU to display a message to a user on at least one of the integrated display device or first external display device indicating that no second external display device is connected prior to the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card, or

if a second external display device is detected to be directly coupled to the external docking system then proceeding to perform to the steps of turning off the iGPU and loading graphics drivers for the dual xGPU card.

22. The system of claim 20 , where the host processing device is further configured to execute system BIOS to:

detect uncoupling of the external graphics card (xGPU) of the external docking system from the information handling system in the absence of a user-generated undocking signal;

then in response to the detected uncoupling of the xGPU card of the external docking system from the information handling system causing an audible sound to be produced on a speaker coupled to the information handling system;

then waiting a predefined amount of time for recouping of the xGPU card of the external docking system to the information handling system; and

then after expiration of the predetermined time period either forcing reboot of the information handling system if the xGPU is not detected to be re-coupled to the information handling system, or not forcing reboot of the information handling system if the xGPU is detected to be re-coupled to the information handling system after expiration of the predetermined time period.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2015
From: SIERRA, DANAE; ROSS, CARLOS L.; BRUNO, LOUIS; GROSSMANN, PHILIP J.; CASPARIAN, MARK A.; OLMSTED, JOE A.; GALIANO, ALEXANDER; ALVAREZ, AMAURY BRITO; BOVE, HENRY A.
To: DELL PRODUCTS L.P.
Reel/Frame 034635/0512 →
Continuity (1)
Related Publication 20160117793A1 · Apr 28, 2016