AUTOMATIC BACKUP OF CONFIGURATION-RELATED SETTINGS IN A DATA PROCESSING DEVICE

A method includes executing an instance of a process on a data processing device, and controlling configuration of a display unit, a processor, a memory and/or a power supply of the data processing device through a user interface provided by the process and/or an operating system executing on the data processing device based on continued execution of the instance of the process. The method also includes providing a capability to automatically backup, through the processor in conjunction with a driver component associated with the display unit, the processor and/or the power supply, settings related to one or more specific parameter(s) of the display unit, a screen of the display unit, the processor, the memory, an algorithm executing on the processor and/or the power supply of the data processing device through the user interface as a non-system file to the memory and/or a storage device external to the data processing device.

FIELD OF TECHNOLOGY

This disclosure relates generally to data processing devices and, more particularly, to a method, a device and/or a system of automatic backup of configuration-related settings in a data processing device.

BACKGROUND

A user of a data processing device (e.g., a desktop computer, a laptop computer, a notebook computer, a netbook, a mobile device such as a mobile phone or a tablet) may control configuration associated with a display unit, a processor, a memory and/or a power supply thereof through a control panel application provided by an operating system executing on the data processing device. The user may find that a specific set of parameters provide for optimal processing/computing through the data processing device. The user may then desire to share the specific set of parameters with another user possessing a similar data processing device and/or a data processing device associated with a similar computing environment. However, when the operating system provides updates to the control panel application, the specific set of parameters may be overwritten and/or lost.

SUMMARY

Disclosed are a method, a device and/or a system of automatic backup of configuration-related settings in a data processing device.

In one aspect, a method includes executing an instance of a process on a data processing device, and controlling configuration of a display unit, a processor, a memory and/or a power supply of the data processing device through a user interface provided by the process and/or an operating system executing on the data processing device based on continued execution of the instance of the process. The method also includes providing a capability to automatically backup, through the processor in conjunction with a driver component associated with the display unit, the processor and/or the power supply, settings related to one or more specific parameter(s) of the display unit, a screen of the display unit, the processor, the memory, an algorithm executing on the processor and/or the power supply of the data processing device through the user interface as a non-system file to the memory and/or a storage device external to the data processing device.

In another aspect, a non-transitory medium, readable through a data processing device and including instructions embodied therein that are executable through the data processing device, is disclosed. The non-transitory medium includes instructions to execute an instance of a process on the data processing device, and instructions to control configuration of a display unit, a processor, a memory and/or a power supply of the data processing device through a user interface provided by the process and/or an operating system executing on the data processing device based on continued execution of the instance of the process. The non-transitory medium also includes instructions to provide a capability to automatically backup, through the processor in conjunction with a driver component associated with the display unit, the processor and/or the power supply, settings related to one or more specific parameter(s) of the display unit, a screen of the display unit, the processor, the memory, an algorithm executing on the processor and/or the power supply of the data processing device through the user interface as a non-system file to the memory and/or a storage device external to the data processing device.

In yet another aspect, a data processing device executing an instance of a process is disclosed. The data processing device includes a memory, a processor communicatively coupled to the memory, a display unit and a power supply. The process and/or an operating system executing on the data processing device is configured to provide a user interface to control configuration of the display unit, the processor, the memory and/or the power supply therethrough based on continued execution of the instance of the process. The user interface is further configured to provide a capability to automatically backup, through the processor in conjunction with a driver component associated with the display unit, the processor and/or the power supply, settings related to one or more specific parameter(s) of the display unit, a screen of the display unit, the processor, the memory, an algorithm executing on the processor and/or the power supply as a non-system file to the memory and/or a storage device external to the data processing device.

Other features will be apparent from the accompanying drawings and from the detailed description that follows.

DETAILED DESCRIPTION

Example embodiments, as described below, may be used to provide a method, a device and/or a system of automatic backup of configuration-related settings in a data processing device. Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments.

FIG. 1shows a data processing device100, according to one or more embodiments. In one or more embodiment, data processing device100may be a desktop computer, a laptop computer, a notebook computer, a netbook or a mobile device such as a mobile phone or a tablet. Other forms of the data processing device100are within the scope of the exemplary embodiments discussed herein. In one or more embodiments, data processing device100may include a processor102(e.g., a Central Processing Unit (CPU) and/or a Graphics Processing Unit (GPU)) communicatively coupled to a memory104(e.g., a volatile memory and/or a non-volatile memory); memory104may include storage locations addressable through processor102.

In one or more embodiments, data processing device100may include a display unit106(e.g., a Cathode Ray Tube (CRT) display, a Liquid Crystal Display (LCD)) configured to have display data output from processor102rendered thereon. In one or more embodiments, data processing device100may execute an instance of a process (e.g., application114shown as being stored in memory104) thereon to enable configuration of a screen124of display unit106and/or display unit106. An example application114may be NVIDIA® Control Panel configured to control GPUs and Mobile Communication Processors (MCPs). In one or more embodiments, data processing device100may be configured to derive power from a power supply116(e.g., a battery).FIG. 1also shows power supply116of data processing device100; although power supply116is shown as being external to data processing device100, it should be noted that power supply116may be considered as part of data processing device100.

In one or more embodiments, data processing device100may execute an operating system128thereon;FIG. 1shows operating system128as being stored in memory104. In one or more embodiments, memory104may include library files130stored therein in order to convenience compatibility of data processing device100with a number of operating system environments. In one or more embodiments, application114may provide an interface to a user150of data processing device100to control settings with respect to screen124, display unit106, processor102, memory104and/or power supply116. In one or more embodiments, said settings and/or hardware configurations may be defined in a driver component170(e.g., stored in memory104) associated with display unit106, processor102and/or power supply116.

FIG. 2shows an example user interface200provided through application114. It should be noted that said user interface200may be provided also through operating system128. User150may be able to modify settings associated with screen124, display unit106, processor102, memory104and/or power supply116through user interface200. Other modifications are within the scope of the exemplary embodiments discussed herein.FIG. 2shows example parameters capable of being modified by user150; the example parameters may include screen resolution202, clock speed204and voltage206. Other parameters are within the scope of the exemplary embodiments discussed herein. For example, processor102may execute a noise reduction algorithm on the display data to be rendered on display unit106; user interface200may provide a capability to modify a complexity of the noise reduction therethrough.

In another example, processor102may execute a computationally intensive pixel shader algorithm; said pixel shader algorithm may optimally and/or efficiently execute on processor102for a specific set of parameters modifiable through user interface200. In one or more embodiments, application114and/or operating system128may be packaged with driver component170; once the settings discussed above are modified through user interface200, the definitions/configurations in driver component170may be modified automatically. Now when user150receives a new notification (e.g., an update) associated with driver component170, user150may not be able to save his/her settings before driver component170(and/or the settings) is modified. Even when restoration of settings is possible through reverting back to a state of a file system implemented in operating system128by way of a restore point (e.g., implemented in a Windows® operating system), user150may not have control of said restoration; further, the restoration may be time-dependent; in other words, the restore points may only be defined for specific points in time separated by a fixed time interval (e.g., 30 minutes).

Exemplary embodiments may provide for a means to backup the abovementioned settings before modification thereof due to the automatic updates of driver component170(e.g., directly due to updates related to application114and/or operating system128).FIG. 3shows backup of settings being enabled through user interface200. Upon user150modifying settings through user interface200to preferred values thereof, user150may be able to backup said preferred settings through clicking a “Backup settings” button (e.g., backup button302) provided therein. The clicking of backup button302may open up a file system interface304that enables user150to choose the folder in which the preferred settings is to be saved. It is obvious that the folder may refer to a drive associated with a data storage device (e.g., an internal/external hard drive, a Universal Serial Bus (USB) flash drive coupled to data processing device100).

FIG. 4illustrates data flow between elements of data processing device100during the backup of the settings discussed above, according to one or more embodiments. In one or more embodiments, the clicking of backup button302by user150may generate an interrupt402to operating system128. In one or more embodiments, application114and/or operating system128may include an interrupt handler404to handle said interrupt402.FIG. 4shows interrupt handler404as being implemented in application114. In one or more embodiments, following the handling of interrupt402through application114and/or operating system128, operating system128may then generate an event notification406that is detected through processor102. Thus, in one or more embodiments, processor102may be apprised of the need to save the abovementioned settings.

In one or more embodiments, processor102may then automatically acquire the settings through triggering execution of a routine associated with driver component170. In one or more embodiments, processor102may then open a file, input the settings therein and save the file to the location desired by user150. WhileFIG. 3shows user150choosing the location to store the settings dynamically, it is obvious that user interface200may be pre-configured to save the settings in a default location/path modifiable by user150.FIG. 4shows settings408being stored in memory104as a file. It should be noted that settings408may be stored as a non-system file to enable easy access by user150; user150may then be able to move settings408to external storage such as a USB flash drive.

In another example embodiment, clicking of backup button302may automatically trigger the execution of the routine associated with driver component170to enable acquisition of the settings. Here, interrupt handler404may be implemented in driver component170. In yet another example embodiment, processor102may acquire the settings directly from the appropriate devices (e.g., display unit106, processor102, memory104, power supply116) through polling the aforementioned devices. All reasonable variations are within the scope of the exemplary embodiments discussed herein.

In one or more embodiments, the backing up of settings408may enable sharing thereof with another data processing device. For example, settings408may be e-mailed to a user of another data processing device. The another data processing device may/may not execute an instance of application114thereon.FIG. 5shows data processing device100being coupled to another data processing device500also executing an instance of application114thereon. Here, data processing device100is shown as executing application1141and data processing device500is shown as executing application1142; processor502, memory504and operating system528may be analogous to processor102, memory104and operating system128respectively. In one or more embodiments, data processing device100may be communicatively coupled to data processing device500through a computer network502(e.g., Internet, a Wide Area Network (WAN), a Local Area Network (LAN), a Bluetooth® based network, Wi-Fi®, Near Field Communication (NFC) based coupling). It is obvious that user150at data processing device100may e-mail settings408to a user550at data processing device500. Alternately, user550may be apprised of settings408being received at data processing device500through application1142.

It should be noted that user150at data processing device100may be an administrator of computer network502including data processing device100, data processing device500and other data processing devices. A backup of settings408at data processing device100may automatically trigger reception of settings408at other devices executing instances of application114through computer network502. Alternately, user150may be able to transfer settings408to data processing device500through a remote desktop access thereof. In another example, data processing device100may be a server executing virtual machines (VMs) consolidated on a computing platform thereof. Settings408(as a file) may be transferred between VMs.

It is obvious that application114at data processing device100may leverage an interface (e.g., a web browser (not shown)) to transmit settings408to data processing device500through e-mail. In another example embodiment, user interface200may provide a direct interface for transmitting an e-mail to user550at data processing device500.

In one or more embodiments, backup and/or transmission of settings408and portability thereof may enable restoration of optimum/preferred states of processing/computing through data processing device100. For example, user150may backup settings408and then opt to continue computing/processing through data processing device100based on different settings. Upon browsing through folders of the file system implemented in operating system128through user interface200and loading settings408therethrough, computing/processing through data processing device100may be restored to states associated with settings408. Settings408may also be applied through a user interface (not shown) of application1142(and/or operating system528executing) executing on data processing device500to enable user550thereof benefit from the optimal/preferred values of settings408. Other reasonable modifications and/or simplifications of application of settings408on data processing device100and/or data processing device500are within the scope of the exemplary embodiments discussed herein.

It should be noted that settings408may not solely be stored as absolute values of parameters. In an alternate embodiment, settings408may be backed up in an incremental manner. For example, user150may merely modify a screen resolution and retain all other parameters at current values; settings408here may merely include the modifications to screen resolution. Subsequent modifications may be backed up in settings408in increments. During restoration, the incremental modifications may be subtracted from the current settings to enable a state restoration to the optimum/preferred state associated with settings408. Also, it should be noted that settings408may be synchronized to one or more e-mail accounts and/or one or more social media network accounts (e.g., Facebook® account) through application114to provide for real-time updates to user150.

FIG. 6shows an option to preview settings408related to display unit106prior to application thereof through user interface200associated with application114and/or operating system128executing on data processing device100. Here, user interface200is shown as including a preview button602, the clicking of which enables processor102place the display data with the modified settings (e.g., through application of settings408) within a predefined (but modifiable) area on user interface200. The preview option may enable user150make an informed decision with respect to persisting with the modified settings or opting for another set of parameters.

To summarize, exemplary embodiments provide for backing up settings408to enable user150save time; user150may also be able to share settings408in the form of one or more files with one or more other users (e.g., user550). In addition, the preview option may enable user150make informed decisions with respect to processing/computing through data processing device100.

It should be noted that the backing up of settings408is not limited to files. Backup of one or more pages associated with application114may also be within the scope of the exemplary embodiments. Further, settings408may also encompass other parameters such as aspect ratio, orientation, a number of displays (e.g., display unit106), display layout, color depth, color contrast, texture quality, buffering, frame rate, refresh rate, three-dimensional (3D) performance, edge enhancement, color enhancement, contrast enhancement, power save mode activation and/or optimization and transparency of windows (e.g., windows provided through operating system128and/or application114).

Last but not the least, instructions associated with the backup of settings408through user interface200, driver component170and/or application114may be embodied on a non-transitory medium (e.g., a Compact Disc (CD), a Digital Video Disc (DVD), a Blu-Ray Disc®, a hard drive) readable through data processing device100to be executed therethrough.

FIG. 7shows a process flow diagram detailing the operations involved in automatic backup of configuration-related settings (e.g., settings408) in data processing device100, according to one or more embodiments. In one or more embodiments, operation702may involve executing an instance of a process (e.g., application114) on data processing device100. In one or more embodiments, operation704may involve controlling configuration display unit106, processor102, memory104and/or power supply116through user interface200provided by the process and/or operating system128based on continued execution of the instance of the process. In one or more embodiments, operation706may then involve providing a capability to automatically backup, through processor102in conjunction with driver component170, settings408related to one or more specific parameter(s) of display unit106, screen124, processor102, memory104, an algorithm executing on processor102and/or power supply116through user interface200as a non-system file to memory104and/or a storage device external to data processing device100.

In addition, it will be appreciated that the various operations, processes and methods disclosed herein may be embodied in a non-transitory machine-readable medium and/or a machine-accessible medium compatible with a data processing system (e.g., data processing device100, data processing device500). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.