US20090037610A1 - Electronic device interface control system - Google Patents
Electronic device interface control system Download PDFInfo
- Publication number
- US20090037610A1 US20090037610A1 US11/888,398 US88839807A US2009037610A1 US 20090037610 A1 US20090037610 A1 US 20090037610A1 US 88839807 A US88839807 A US 88839807A US 2009037610 A1 US2009037610 A1 US 2009037610A1
- Authority
- US
- United States
- Prior art keywords
- interface
- peripheral device
- electronic device
- interface control
- control module
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Definitions
- Electronic devices generally comprise ports and/or interfaces to which external and/or peripheral devices may be connected.
- administrators of the electronic device may disable the ports and/or interfaces to prevent computer viruses from being downloaded onto the electronic device.
- the ports and/or interfaces are disabled, external and/or peripheral devices are unable to interface with the electronic device via such ports and/or interfaces.
- FIG. 1 is a block diagram of an electronic device in which an interface control system is employed to advantage.
- FIG. 2 is a flowchart illustrating an embodiment of an interface disabling method for an electronic device.
- FIG. 1 is a block diagram of an electronic device 100 comprising an embodiment of an interface control system 102 .
- interface control system 102 is configured to dynamically enable and/or disable at least one interface based on a type, function, and/or class of peripheral device coupled to the interface.
- Electronic device 100 can be any type of electronic device such as, but not limited to, a laptop computer, a tablet computer, a personal digital assistant (PDA), a cellular phone, a gaming device, a desktop computer, or any other type of portable or non-portable electronic device.
- PDA personal digital assistant
- FIG. 1 a user interface 150 and a peripheral device(s) 160 are illustrated as being coupled to electronic device 100 .
- User interface 150 is any module and/or component (e.g., a display screen, a keyboard, a mouse, etc.) configured to enable a user to input information to and/or receive information from electronic device 100 .
- User interface 50 may form part of electronic device 100 or be couplable to electronic device 100 .
- Peripheral device(s) 160 can be any type of peripheral device, such as, but not limited to a Universal Serial Bus (USB) device, a Peripheral Component Interconnect (PCI) device, a PCI Express device, a gigabit Ethernet device, a cardbus controller, a wireless local area network (LAN) controller, an audio compression/decompression (CODEC), and a super I/O controller.
- USB Universal Serial Bus
- PCI Peripheral Component Interconnect
- PCI Express PCI Express
- LAN wireless local area network
- CODEC audio compression/decompression
- electronic device 100 comprises a processor unit 110 , a memory 120 , an input/output (I/O) controller 130 , and an interface(s) 140 .
- Processor unit 110 is used to execute the instructions and/or commands associated with dynamically enabling and/or disabling at least one interface 140 to which peripheral device(s) 160 is coupled based on a type, function, and/or class of peripheral device(s) 160 .
- Memory 120 is a storage element configured to store the modules, instructions, commands, and/or data in which processor unit 110 uses to dynamically enable and/or disable at least one interface 140 .
- I/O controller 130 manages communications and/or processes between memory 120 and interface(s) 140 .
- Interface(s) 140 is a set of one or more ports, connectors, etc. configured to be coupled to corresponding peripheral device(s) 160 .
- firmware 122 is a set of read-only instructions used to perform initialization processes for electronic device 100 (e.g., using a basic input/output system (BIOS)) and/or facilitate communications processes between various components within electronic device 100 (e.g., device driver, operating system, etc.).
- firmware 122 comprises an interface control module 124 configured to enable a user to select and/or otherwise set various criteria to enable automatic enabling/disabling of at least one of interface(s) 140 .
- interface control module 124 configured to enable a user to select and/or otherwise set various criteria to enable automatic enabling/disabling of at least one of interface(s) 140 .
- interface control module 124 is shown to be in firmware 122 ; however, it should be understood that, in alternative embodiments, interface control module 124 may be otherwise stored (e.g., a hard disk drive, a flash drive, etc.). It should be understood that all or portions of interface control module 124 may comprise hardware, software, firmware, or a combination thereof.
- memory 120 comprises data 123 in the form of databases and/or other forms of data (e.g., tables, worksheets, charts, etc.) for enabling and/or disabling at least one of interface(s) 140 to which peripheral device(s) 160 is coupled.
- data 123 comprises enablement status data 125 , device setting(s) data 126 , available resources data 127 , and memory addresses data 128 .
- Enablement status data 125 comprises information associated with an operational condition (e.g., on or off, enabled or disabled, etc.) of interface(s) 140 in electronic device 100 .
- enablement status data 125 can hold and/or comprise any type of indicator (e.g., a binary value, a software code, etc.). In some embodiments, enablement status data 125 is set to an enabled state or a disabled state each time electronic device 100 is initialized.
- Device setting(s) data 126 comprises information and/or a list of peripheral device(s) 160 coupled to electronic device 100 via interface(s) 140 . In some embodiments, device setting(s) data 126 comprises information associated with each peripheral device 160 identified and coupled to electronic device 100 such as the type, function, and/or class of the corresponding peripheral device(s) 160 .
- Device settings data 126 may also comprise information indicating whether a particular interface 140 should be enabled and/or disabled based on a particular peripheral device 160 detected and/or identified as coupled to electronic device 100 (e.g., settings and/or criteria indicating that a particular interface 140 is to be disabled if particular type of peripheral device(s) 160 is detected and/or identified as being coupled to electronic device 100 ).
- Available resources data 127 comprises information associated with a list of interface(s) 140 and corresponding peripheral device(s) 160 coupled to interface(s) 140 having an enabled status, thereby making the corresponding peripheral device(s) 160 available for use by a user of electronic device 100 and/or components in electronic device 100 .
- Memory addresses data 128 comprises information associated with identifying and/or indicating a location in memory 120 configured to identify which interface(s) 140 in electronic device 100 to enable and/or disable.
- enablement module 129 is configured to enable and/or disable interface(s) 140 .
- enablement module 129 enables and/or disables interface(s) 140 based on the enablement status for the corresponding interface(s) 140 stored as enablement status data 125 .
- enablement module 129 triggers and/or flips a power switch configured to enable a current to flow and/or stop flowing to the corresponding interfaced(s) 140 .
- enablement module 129 allocates and/or prevents space and/or resources of memory 120 from being allocated to, respectively, enable and/or disable the corresponding interface(s) 140 .
- enablement module 129 maps and/or does not map an electrical path to a memory address for the corresponding interface(s) 140 to control access and/or communication via such interface(s) 140 . It should be understood that enablement module 129 may comprise hardware, software, firmware, or a combination thereof.
- peripheral device(s) 160 comprise a device descriptor(s) 162 which provides certain identification information associated with the peripheral device 160 , such as the type (e.g., a printer, an audio device, a speaker, a keyboard, a mouse, a graphics tablet, a game controller, a trackball, a touchpad, a laptop eraser, etc.), function (e.g., a human interface device, a wireless device, an audio device, a mass storage device, a communications device, a serial bus controller, etc.), and/or class (e.g., a USB-class device, a PCI-class device, etc.) of corresponding peripheral device(s) 160 .
- device descriptor(s) 162 may also comprise other types of information and/or identifiers.
- firmware 122 executes interface control module 124 during initialization processes to enable a user to select and/or set various criteria used to enable and/or disable one or more interface(s) 140 based on at least one device descriptor(s) 162 for peripheral device(s) 160 .
- interface control module 124 identifies peripheral device(s) 160 coupled to electronic device 100 by reading device descriptor(s) 162 to identify the type, function, and/or class of peripheral device(s) 160 and the corresponding interface(s) 140 to which peripheral device(s) 160 are coupled to electronic device 100 .
- Interface control module 124 then correlates the corresponding interface(s) 140 with a memory address stored in memory addresses data 128 .
- Interface control module 124 stores the information associated with peripheral device(s) 160 (e.g., the type, function, class, memory address, etc.) as device setting(s) data 126 . In some embodiments, interface control module 124 then compares the identified peripheral device(s) 160 with an enablement status listed in enablement status data 125 for the corresponding peripheral device(s) 160 . Interface control module 124 then executes enablement module 129 to enable and/or disable corresponding interface(s) 140 . In some embodiments, interface(s) 140 is by default enabled upon initialization of electronic device 100 , and, therefore, no further action by enablement module 129 may be necessary other than maybe executing instructions and/or processes to disable interface(s) 140 with a “disable” status.
- interface control module 124 then presents and/or makes available the resources listed in available resources data 127 to a user and/or other components in electronic device 100 . In some embodiments, interface control module 124 then stores in available resources data 127 the corresponding peripheral device(s) 160 having an interface(s) 140 having an enablement status of “enabled” in enablement status data 125 .
- interface control module 124 is configured to prompt a user to determine and/or identify which peripheral device(s) 160 to enable and/or disable.
- interface control module 124 formats and presents on user interface 150 a list of peripheral device(s) 160 and/or the type, function, and/or class of the peripheral device(s) 160 from which a user may select and/or set various criteria for enablement/disablement.
- a user can then specify which of interface(s) 140 to enable and/or disable based on the type and/or identity of certain peripheral device(s) 160 .
- the user can specify a group of interface(s) 140 to enable and/or disable based on the function and/or class of peripheral device(s) 160 .
- interface control module 124 assigns an enablement status for each of the enabled interface(s) 140 to form enablement status data 125 .
- interface control module 124 only assigns an enablement status for interface(s) 140 having a disable value because the enablement status for interface(s) 140 defaults to an enabled status and vice-versa.
- interface control module 124 can assign an enablement status for interface(s) 140 regardless of the current value existing in enablement status data 125 .
- Interface control module 124 then stores in available resources data 127 the corresponding peripheral device(s) 160 having interface(s) 140 having an enablement status of “enabled” in enablement status data 125 .
- Interface control module 124 then executes enablement module 129 to enable and/or disable corresponding interface(s).
- Embodiments of interface control system 102 are also configured to enable a user and/or administrator to change an enablement status for a particular peripheral device 160 after electronic device 100 initializes and/or is operating normally.
- the user and/or administrator inputs a series of commands and/or keystrokes (e.g., a function key, a ctrl plus letter key, etc.) which executes interface control module 124 .
- interface control module 124 In response to receiving and identifying the command as a request to selectively enable and/or disable at least one interface(s) 140 , interface control module 124 presents device setting(s) data 126 to a user and/or administrator on user interface 150 . The user and/or administrator then identifies and/or selects which interface(s) 140 of which to change enablement status. After entering the changes, interface control module 124 executes enablement module 129 to implement the changes.
- Embodiments of interface control system 102 are configured to dynamically control the enable/disable status of interface(s) 140 . For example, in some embodiments, in response to a new peripheral device(s) 160 being coupled to interface(s) 140 subsequent to initialization of electronic device 100 , interface control module 124 identifies the new peripheral device(s) 160 and automatically disables the corresponding interface 140 based on the identity of new peripheral device(s) 160 (e.g., using device settings data 126 ).
- interface control module 124 notifies the user and/or administrator of the new peripheral device(s) 160 and can prompt the user and/or administrator to assign an enablement status to a corresponding interface(s) 140 to which the new peripheral device(s) 160 is coupled (e.g., disabling the interface 140 until and/or unless another is to enable).
- enablement module 129 enables and/or disables interface(s) 140 by allocating and/or preventing resources of memory 120 from being allocated to interface(s) 140 .
- interface control system 102 recognizes new peripheral device(s) 160 during initialization processes for electronic device 100 .
- FIG. 2 is a flowchart illustrating an embodiment of an interface control method for electronic device 100 .
- the method begins with block 200 with interface control module 124 reading device descriptor(s) 162 for at least one peripheral device 160 coupled to interface(s) 140 of electronic device 100 .
- Interface control module 124 then compares device descriptor(s) 160 with an enablement status in enablement status data 125 (block 210 ).
- Interface control module 124 determines the enablement status for the at least one peripheral device 160 (decision block 220 ).
- interface control module 124 prompts the user to determine whether the user wishes to change the enablement status for the at least one peripheral device 160 (decision block 230 ). If the user wishes to change the enablement status (“yes” output to decision block 230 ), then interface control module 124 modifies available resources data 127 and enablement status data 125 to reflect the new enablement status (block 240 ). Interface control module 124 then executes enablement module 250 to implement the identified enablement status (block 250 ). Interface control module 124 then determines whether a new peripheral device 160 is coupled to interface(s) 140 of electronic device 100 (block 260 ).
- a new peripheral device 160 is coupled to electronic device 100 (“yes” output to decision block 260 ), the method returns to block 200 to be repeated. If, however, a new peripheral device 160 is not coupled to electronic device 100 (“no” output to block 260 ), the method terminates thereafter.
- decision block 230 if a user does not wish to change an enablement status (“no” output to decision block 230 ), then the method proceeds to block 260 thereafter.
- decision block 220 if the enablement status for the at least one peripheral device 160 is disable (“disable” output to decision block 220 ), the method proceeds to block 250 thereafter.
- interface control system 102 may be provided by an ordered listing of executable instructions that can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
- a “computer-readable medium” can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- the computer-readable medium can be, for example, but is not limited to, an electronic, magnetic, optical, electro-magnetic, infrared, or semi-conductor system, apparatus, device, or propagation medium.
- Embodiments of electronic device 100 are configured to enable a user and/or administrator to change enablement status 125 based on a device type and/or device descriptor 162 for each peripheral device 160 . Therefore, users and/or administrators can still prevent computer viruses from being downloaded onto electronic device 100 and still maintain the flexibility to use a particular interface(s) 140 at a later time.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Power Sources (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
An electronic device interface control method comprising identifying at least one peripheral device coupled to an electronic device and determining whether to disable an interface corresponding to the at least one peripheral device based on the identity of the at least one peripheral device.
Description
- Electronic devices generally comprise ports and/or interfaces to which external and/or peripheral devices may be connected. For security purposes, administrators of the electronic device may disable the ports and/or interfaces to prevent computer viruses from being downloaded onto the electronic device. However, once the ports and/or interfaces are disabled, external and/or peripheral devices are unable to interface with the electronic device via such ports and/or interfaces.
-
FIG. 1 is a block diagram of an electronic device in which an interface control system is employed to advantage; and -
FIG. 2 is a flowchart illustrating an embodiment of an interface disabling method for an electronic device. -
FIG. 1 is a block diagram of anelectronic device 100 comprising an embodiment of aninterface control system 102. In the illustrated embodiment,interface control system 102 is configured to dynamically enable and/or disable at least one interface based on a type, function, and/or class of peripheral device coupled to the interface.Electronic device 100 can be any type of electronic device such as, but not limited to, a laptop computer, a tablet computer, a personal digital assistant (PDA), a cellular phone, a gaming device, a desktop computer, or any other type of portable or non-portable electronic device. InFIG. 1 , auser interface 150 and a peripheral device(s) 160 are illustrated as being coupled toelectronic device 100.User interface 150 is any module and/or component (e.g., a display screen, a keyboard, a mouse, etc.) configured to enable a user to input information to and/or receive information fromelectronic device 100. User interface 50 may form part ofelectronic device 100 or be couplable toelectronic device 100. Peripheral device(s) 160 can be any type of peripheral device, such as, but not limited to a Universal Serial Bus (USB) device, a Peripheral Component Interconnect (PCI) device, a PCI Express device, a gigabit Ethernet device, a cardbus controller, a wireless local area network (LAN) controller, an audio compression/decompression (CODEC), and a super I/O controller. - In the illustrated embodiment,
electronic device 100 comprises aprocessor unit 110, amemory 120, an input/output (I/O)controller 130, and an interface(s) 140.Processor unit 110 is used to execute the instructions and/or commands associated with dynamically enabling and/or disabling at least oneinterface 140 to which peripheral device(s) 160 is coupled based on a type, function, and/or class of peripheral device(s) 160.Memory 120 is a storage element configured to store the modules, instructions, commands, and/or data in whichprocessor unit 110 uses to dynamically enable and/or disable at least oneinterface 140. I/O controller 130 manages communications and/or processes betweenmemory 120 and interface(s) 140. Interface(s) 140 is a set of one or more ports, connectors, etc. configured to be coupled to corresponding peripheral device(s) 160. - In the illustrated embodiment,
memory 120 comprises afirmware 122,data 123, and anenablement module 129. In some embodiments,firmware 122 is a set of read-only instructions used to perform initialization processes for electronic device 100 (e.g., using a basic input/output system (BIOS)) and/or facilitate communications processes between various components within electronic device 100 (e.g., device driver, operating system, etc.). In the illustrated embodiment,firmware 122 comprises aninterface control module 124 configured to enable a user to select and/or otherwise set various criteria to enable automatic enabling/disabling of at least one of interface(s) 140. InFIG. 1 ,interface control module 124 is shown to be infirmware 122; however, it should be understood that, in alternative embodiments,interface control module 124 may be otherwise stored (e.g., a hard disk drive, a flash drive, etc.). It should be understood that all or portions ofinterface control module 124 may comprise hardware, software, firmware, or a combination thereof. - In
FIG. 1 ,memory 120 comprisesdata 123 in the form of databases and/or other forms of data (e.g., tables, worksheets, charts, etc.) for enabling and/or disabling at least one of interface(s) 140 to which peripheral device(s) 160 is coupled. In the illustrated embodiment,data 123 comprises enablement status data 125, device setting(s)data 126,available resources data 127, andmemory addresses data 128. Enablement status data 125 comprises information associated with an operational condition (e.g., on or off, enabled or disabled, etc.) of interface(s) 140 inelectronic device 100. In the illustrated embodiment, enablement status data 125 can hold and/or comprise any type of indicator (e.g., a binary value, a software code, etc.). In some embodiments, enablement status data 125 is set to an enabled state or a disabled state each timeelectronic device 100 is initialized. Device setting(s)data 126 comprises information and/or a list of peripheral device(s) 160 coupled toelectronic device 100 via interface(s) 140. In some embodiments, device setting(s)data 126 comprises information associated with eachperipheral device 160 identified and coupled toelectronic device 100 such as the type, function, and/or class of the corresponding peripheral device(s) 160.Device settings data 126 may also comprise information indicating whether aparticular interface 140 should be enabled and/or disabled based on a particularperipheral device 160 detected and/or identified as coupled to electronic device 100 (e.g., settings and/or criteria indicating that aparticular interface 140 is to be disabled if particular type of peripheral device(s) 160 is detected and/or identified as being coupled to electronic device 100).Available resources data 127 comprises information associated with a list of interface(s) 140 and corresponding peripheral device(s) 160 coupled to interface(s) 140 having an enabled status, thereby making the corresponding peripheral device(s) 160 available for use by a user ofelectronic device 100 and/or components inelectronic device 100.Memory addresses data 128 comprises information associated with identifying and/or indicating a location inmemory 120 configured to identify which interface(s) 140 inelectronic device 100 to enable and/or disable. - In the illustrated embodiment,
enablement module 129 is configured to enable and/or disable interface(s) 140. For example, in some embodiments,enablement module 129 enables and/or disables interface(s) 140 based on the enablement status for the corresponding interface(s) 140 stored as enablement status data 125. In some embodiments,enablement module 129 triggers and/or flips a power switch configured to enable a current to flow and/or stop flowing to the corresponding interfaced(s) 140. In alternative embodiments,enablement module 129 allocates and/or prevents space and/or resources ofmemory 120 from being allocated to, respectively, enable and/or disable the corresponding interface(s) 140. Thus, in this embodiment,enablement module 129 maps and/or does not map an electrical path to a memory address for the corresponding interface(s) 140 to control access and/or communication via such interface(s) 140. It should be understood thatenablement module 129 may comprise hardware, software, firmware, or a combination thereof. - In the illustrated embodiment, peripheral device(s) 160 comprise a device descriptor(s) 162 which provides certain identification information associated with the
peripheral device 160, such as the type (e.g., a printer, an audio device, a speaker, a keyboard, a mouse, a graphics tablet, a game controller, a trackball, a touchpad, a laptop eraser, etc.), function (e.g., a human interface device, a wireless device, an audio device, a mass storage device, a communications device, a serial bus controller, etc.), and/or class (e.g., a USB-class device, a PCI-class device, etc.) of corresponding peripheral device(s) 160. It should be understood that device descriptor(s) 162 may also comprise other types of information and/or identifiers. - Thus, in some embodiments of operation,
firmware 122 executesinterface control module 124 during initialization processes to enable a user to select and/or set various criteria used to enable and/or disable one or more interface(s) 140 based on at least one device descriptor(s) 162 for peripheral device(s) 160. In this embodiment, upon initialization,interface control module 124 identifies peripheral device(s) 160 coupled toelectronic device 100 by reading device descriptor(s) 162 to identify the type, function, and/or class of peripheral device(s) 160 and the corresponding interface(s) 140 to which peripheral device(s) 160 are coupled toelectronic device 100.Interface control module 124 then correlates the corresponding interface(s) 140 with a memory address stored inmemory addresses data 128.Interface control module 124 stores the information associated with peripheral device(s) 160 (e.g., the type, function, class, memory address, etc.) as device setting(s)data 126. In some embodiments,interface control module 124 then compares the identified peripheral device(s) 160 with an enablement status listed in enablement status data 125 for the corresponding peripheral device(s) 160.Interface control module 124 then executesenablement module 129 to enable and/or disable corresponding interface(s) 140. In some embodiments, interface(s) 140 is by default enabled upon initialization ofelectronic device 100, and, therefore, no further action byenablement module 129 may be necessary other than maybe executing instructions and/or processes to disable interface(s) 140 with a “disable” status. In some embodiments,interface control module 124 then presents and/or makes available the resources listed inavailable resources data 127 to a user and/or other components inelectronic device 100. In some embodiments,interface control module 124 then stores inavailable resources data 127 the corresponding peripheral device(s) 160 having an interface(s) 140 having an enablement status of “enabled” in enablement status data 125. - In some embodiments,
interface control module 124 is configured to prompt a user to determine and/or identify which peripheral device(s) 160 to enable and/or disable. In some embodiments,interface control module 124 formats and presents on user interface 150 a list of peripheral device(s) 160 and/or the type, function, and/or class of the peripheral device(s) 160 from which a user may select and/or set various criteria for enablement/disablement. In some embodiments, a user can then specify which of interface(s) 140 to enable and/or disable based on the type and/or identity of certain peripheral device(s) 160. Alternatively, the user can specify a group of interface(s) 140 to enable and/or disable based on the function and/or class of peripheral device(s) 160. In response to the user selecting and/or identifying which interface(s) 140 to enable and/or disable,interface control module 124 assigns an enablement status for each of the enabled interface(s) 140 to form enablement status data 125. In some embodiments,interface control module 124 only assigns an enablement status for interface(s) 140 having a disable value because the enablement status for interface(s) 140 defaults to an enabled status and vice-versa. Alternatively,interface control module 124 can assign an enablement status for interface(s) 140 regardless of the current value existing in enablement status data 125.Interface control module 124 then stores inavailable resources data 127 the corresponding peripheral device(s) 160 having interface(s) 140 having an enablement status of “enabled” in enablement status data 125.Interface control module 124 then executesenablement module 129 to enable and/or disable corresponding interface(s). - Embodiments of
interface control system 102 are also configured to enable a user and/or administrator to change an enablement status for a particularperipheral device 160 afterelectronic device 100 initializes and/or is operating normally. In this embodiment, the user and/or administrator inputs a series of commands and/or keystrokes (e.g., a function key, a ctrl plus letter key, etc.) which executesinterface control module 124. In response to receiving and identifying the command as a request to selectively enable and/or disable at least one interface(s) 140,interface control module 124 presents device setting(s)data 126 to a user and/or administrator onuser interface 150. The user and/or administrator then identifies and/or selects which interface(s) 140 of which to change enablement status. After entering the changes,interface control module 124 executesenablement module 129 to implement the changes. - Embodiments of
interface control system 102 are configured to dynamically control the enable/disable status of interface(s) 140. For example, in some embodiments, in response to a new peripheral device(s) 160 being coupled to interface(s) 140 subsequent to initialization ofelectronic device 100,interface control module 124 identifies the new peripheral device(s) 160 and automatically disables thecorresponding interface 140 based on the identity of new peripheral device(s) 160 (e.g., using device settings data 126). In some embodiments,interface control module 124 notifies the user and/or administrator of the new peripheral device(s) 160 and can prompt the user and/or administrator to assign an enablement status to a corresponding interface(s) 140 to which the new peripheral device(s) 160 is coupled (e.g., disabling theinterface 140 until and/or unless another is to enable). It should be understood that, in this embodiment,enablement module 129 enables and/or disables interface(s) 140 by allocating and/or preventing resources ofmemory 120 from being allocated to interface(s) 140. Alternatively, in the embodiment in whichenablement module 129 enables and/or disables interface(s) 140 by triggering and/or flipping a power switch,interface control system 102 recognizes new peripheral device(s) 160 during initialization processes forelectronic device 100. -
FIG. 2 is a flowchart illustrating an embodiment of an interface control method forelectronic device 100. The method begins withblock 200 withinterface control module 124 reading device descriptor(s) 162 for at least oneperipheral device 160 coupled to interface(s) 140 ofelectronic device 100.Interface control module 124 then compares device descriptor(s) 160 with an enablement status in enablement status data 125 (block 210).Interface control module 124 then determines the enablement status for the at least one peripheral device 160 (decision block 220). If interface(s) 140 for the at least oneperipheral device 160 is set to enable (“enable” output to decision block 220), theninterface control module 124 prompts the user to determine whether the user wishes to change the enablement status for the at least one peripheral device 160 (decision block 230). If the user wishes to change the enablement status (“yes” output to decision block 230), theninterface control module 124 modifiesavailable resources data 127 and enablement status data 125 to reflect the new enablement status (block 240).Interface control module 124 then executesenablement module 250 to implement the identified enablement status (block 250).Interface control module 124 then determines whether a newperipheral device 160 is coupled to interface(s) 140 of electronic device 100 (block 260). If a newperipheral device 160 is coupled to electronic device 100 (“yes” output to decision block 260), the method returns to block 200 to be repeated. If, however, a newperipheral device 160 is not coupled to electronic device 100 (“no” output to block 260), the method terminates thereafter. Returning to decision block 230, if a user does not wish to change an enablement status (“no” output to decision block 230), then the method proceeds to block 260 thereafter. Returning to decision block 220, if the enablement status for the at least oneperipheral device 160 is disable (“disable” output to decision block 220), the method proceeds to block 250 thereafter. - The illustrated embodiments may be implemented in software and can be adapted to run on different platforms and operating systems. In particular, functions implemented by
interface control system 102, for example, may be provided by an ordered listing of executable instructions that can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be, for example, but is not limited to, an electronic, magnetic, optical, electro-magnetic, infrared, or semi-conductor system, apparatus, device, or propagation medium. - The illustrated embodiments provide a method, apparatus, and computer-readable medium for controlling enablement status 125 for one or more peripheral device(s) 160. Embodiments of
electronic device 100 are configured to enable a user and/or administrator to change enablement status 125 based on a device type and/ordevice descriptor 162 for eachperipheral device 160. Therefore, users and/or administrators can still prevent computer viruses from being downloaded ontoelectronic device 100 and still maintain the flexibility to use a particular interface(s) 140 at a later time.
Claims (24)
1. An electronic device interface control method, comprising:
identifying at least one peripheral device coupled to an electronic device; and
determining whether to disable an interface corresponding to the at least one peripheral device based on the identity of the at least one peripheral device.
2. The method of claim 1 , further comprising interrupting a current flow to the interface based on the identity of the at least one peripheral device.
3. The method of claim 1 , further comprising preventing memory resources from being allocated for interface based on the identity of the at least one peripheral device.
4. The method of claim 1 , further comprising reading a device descriptor for the at least one peripheral device.
5. The method of claim 1 , further comprising determining a device descriptor for the at least one peripheral device.
6. The method of claim 1 , further comprising initiating an interface control module when the electronic device is initialized to determine whether to enable or disable the interface.
7. The method of claim 1 , further comprising initiating an interface control module in response to a request by a user of the electronic device to change an enablement status for the at least one peripheral device.
8. The method of claim 1 , further comprising enabling a user to identify an enablement status for the at least one peripheral device coupled to an interface of the electronic device based on a type of the at least one peripheral device.
9. An interface control system comprising:
an interface control module configured to identify at least one peripheral device coupled to an electronic device and determine whether to disable an interface corresponding to the at least one peripheral device based on the identity of the at least one peripheral device.
10. The system of claim 9 , wherein the interface control module is configured to interrupt a current flow to the interface based on the identity of the at least one peripheral device.
11. The system of claim 9 , wherein the interface control module is configured to prevent memory resources from being allocated for interface based on the identity of the at least one peripheral device.
12. The system of claim 9 , wherein the interface control module is configured to read a device descriptor for the at least one peripheral device.
13. The system of claim 9 , wherein the interface control module is configured to determine a device descriptor for the at least one peripheral device.
14. The electronic device of claim 9 , wherein the interface control module is configured to initiate an interface control module when the electronic device is initialized to determine whether to enable or disable the interface.
13. (canceled)
14. (canceled)
15. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to prevent memory resources from being allocated for interface based on the identity of the at least one peripheral device.
16. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to read a device descriptor for the at least one peripheral device.
17. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to determine a device descriptor for the at least one peripheral device.
18. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to initiate an interface control module when the electronic device is initialized to determine whether to enable or disable the interface.
19. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to initiate an interface control module in response to a request by a user of the electronic device to change an enablement status for the at least one peripheral device.
20. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to enable a user to identify an enablement status for the at least one peripheral device coupled to an interface of the electronic device based on a type of the at least one peripheral device.
21. A computer-readable medium having stored thereon an instruction set to be executed, the instruction set, when executed by a processor, causes the processor to:
identify at least one peripheral device coupled to an electronic device; and
determine whether to disable an interface corresponding to the at least one peripheral device based on the identity of the at least one peripheral device.
22. The computer-readable medium of claim 21 , wherein the instruction set, when executed by a processor, further causes the processor to interrupt a current flow to the interface based on the identity of the at least one peripheral device.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/888,398 US20090037610A1 (en) | 2007-07-31 | 2007-07-31 | Electronic device interface control system |
PCT/US2008/008085 WO2009017556A1 (en) | 2007-07-31 | 2008-06-26 | Electronic device interface control system |
GB1001250.8A GB2465104B (en) | 2007-07-31 | 2008-06-26 | Electronic device interface control system |
DE112008002032T DE112008002032T5 (en) | 2007-07-31 | 2008-06-26 | Electronic device interface system |
CN200880101201A CN101772761A (en) | 2007-07-31 | 2008-06-26 | Electronic device interface control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/888,398 US20090037610A1 (en) | 2007-07-31 | 2007-07-31 | Electronic device interface control system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090037610A1 true US20090037610A1 (en) | 2009-02-05 |
Family
ID=40304615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/888,398 Abandoned US20090037610A1 (en) | 2007-07-31 | 2007-07-31 | Electronic device interface control system |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090037610A1 (en) |
CN (1) | CN101772761A (en) |
DE (1) | DE112008002032T5 (en) |
GB (1) | GB2465104B (en) |
WO (1) | WO2009017556A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145444A1 (en) * | 2009-12-11 | 2011-06-16 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method of obtaining connection relationship between interfaces and peripheral devices |
US20120066486A1 (en) * | 2010-09-09 | 2012-03-15 | Hodge Richard H | Feature Of A Computing Machine |
JP2016526196A (en) * | 2013-04-25 | 2016-09-01 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Wireless docking device |
JP2017144742A (en) * | 2017-04-05 | 2017-08-24 | シャープ株式会社 | Image formation apparatus |
US20190056959A1 (en) * | 2016-08-22 | 2019-02-21 | Hewlett-Packard Development Company, L.P. | Connected devices information |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020508B (en) * | 2011-09-23 | 2016-12-28 | 联想(北京)有限公司 | A kind of state switching method, device and terminal |
US9602464B2 (en) * | 2014-12-12 | 2017-03-21 | Intel Corporation | Apparatus, system and method for allocating identifiers to components of a control system |
CN104598400A (en) * | 2014-12-15 | 2015-05-06 | 北京奇虎科技有限公司 | Peripheral equipment management method, device and system |
CN105912958A (en) * | 2016-04-01 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | Method and device for controlling access to external equipment |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692289A (en) * | 1994-06-10 | 1997-12-02 | Hitachi, Ltd. | Method of assembling a magnetic disk drive and a system therefor |
US5889866A (en) * | 1994-06-30 | 1999-03-30 | Intel Corporation | Method and apparatus for controlling access to detachably connectable computer devices using an encrypted password |
US5991830A (en) * | 1996-01-04 | 1999-11-23 | Compaq Computer Corp. | Apparatus and method for coupling multiple peripheral devices to a single port of a computer |
US6065081A (en) * | 1998-04-29 | 2000-05-16 | Compact Computer Corp. | Administrator controlled architecture for disabling add-in card slots |
US6212635B1 (en) * | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US6311228B1 (en) * | 1997-08-06 | 2001-10-30 | Microsoft Corporation | Method and architecture for simplified communications with HID devices |
US6412070B1 (en) * | 1998-09-21 | 2002-06-25 | Microsoft Corporation | Extensible security system and method for controlling access to objects in a computing environment |
US20020143921A1 (en) * | 2001-04-03 | 2002-10-03 | Yann Stephan | Bus function authentication method, apparatus and computer program |
US20030204737A1 (en) * | 2002-04-25 | 2003-10-30 | Chee-Horng Lee | Method for secreting a portable disk drive |
US20040098604A1 (en) * | 2002-11-06 | 2004-05-20 | Detlev Noldge | Access protection system for serial bus systems and method for protecting computers against an unauthorized connection of peripheral devices |
US20040104888A1 (en) * | 2002-11-14 | 2004-06-03 | Lg Electronics Inc. | Apparatus and method for controlling device operation in computer |
US6754826B1 (en) * | 1999-03-31 | 2004-06-22 | International Business Machines Corporation | Data processing system and method including a network access connector for limiting access to the network |
US20040205280A1 (en) * | 2003-04-10 | 2004-10-14 | Jeansonne Jeffrey K. | End-point sharing of communication bus interface |
US20040236874A1 (en) * | 2001-05-17 | 2004-11-25 | Kenneth Largman | Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments |
US6839776B2 (en) * | 1998-08-20 | 2005-01-04 | Intel Corporation | Authenticating peripherals based on a predetermined code |
US20050021996A1 (en) * | 2003-07-22 | 2005-01-27 | Howard Robert James | Method and apparatus for preventing un-authorized attachment of computer peripherals |
US20050060478A1 (en) * | 2003-09-15 | 2005-03-17 | Yuan-Ting Wu | Method of function activation on a bridge system |
US20050251609A1 (en) * | 2004-05-04 | 2005-11-10 | Horng-Yee Chou | Removable peripheral device |
US20060101186A1 (en) * | 2000-06-30 | 2006-05-11 | Lee Patrick S | Smart card virtual hub |
US20060117195A1 (en) * | 2003-08-28 | 2006-06-01 | Fujitsu Limited | Host apparatus, device, and method for controlling communication system |
US20070057931A1 (en) * | 2005-09-13 | 2007-03-15 | Funai Electric Co., Ltd. | Image display system and receiver device |
US20080005415A1 (en) * | 2006-06-06 | 2008-01-03 | Lopez Fernando A | Disabling a Universal Serial Bus Port |
US20080008415A1 (en) * | 2005-04-11 | 2008-01-10 | Davis Joseph E | Reduction of mems mirror edge diffraction in a wavelength selective switch using servo-based rotation about multiple non-orthogonal axes |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000015032A (en) * | 1998-08-26 | 2000-03-15 | 윤종용 | Computer system having a floppy disk drive operation protecting function and control method thereof |
KR20000018744A (en) * | 1998-09-04 | 2000-04-06 | 윤종용 | Usb interface locking apparatus of a computer system |
-
2007
- 2007-07-31 US US11/888,398 patent/US20090037610A1/en not_active Abandoned
-
2008
- 2008-06-26 WO PCT/US2008/008085 patent/WO2009017556A1/en active Application Filing
- 2008-06-26 CN CN200880101201A patent/CN101772761A/en active Pending
- 2008-06-26 GB GB1001250.8A patent/GB2465104B/en not_active Expired - Fee Related
- 2008-06-26 DE DE112008002032T patent/DE112008002032T5/en not_active Ceased
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692289A (en) * | 1994-06-10 | 1997-12-02 | Hitachi, Ltd. | Method of assembling a magnetic disk drive and a system therefor |
US5889866A (en) * | 1994-06-30 | 1999-03-30 | Intel Corporation | Method and apparatus for controlling access to detachably connectable computer devices using an encrypted password |
US5991830A (en) * | 1996-01-04 | 1999-11-23 | Compaq Computer Corp. | Apparatus and method for coupling multiple peripheral devices to a single port of a computer |
US6212635B1 (en) * | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US6311228B1 (en) * | 1997-08-06 | 2001-10-30 | Microsoft Corporation | Method and architecture for simplified communications with HID devices |
US6065081A (en) * | 1998-04-29 | 2000-05-16 | Compact Computer Corp. | Administrator controlled architecture for disabling add-in card slots |
US6839776B2 (en) * | 1998-08-20 | 2005-01-04 | Intel Corporation | Authenticating peripherals based on a predetermined code |
US6412070B1 (en) * | 1998-09-21 | 2002-06-25 | Microsoft Corporation | Extensible security system and method for controlling access to objects in a computing environment |
US6754826B1 (en) * | 1999-03-31 | 2004-06-22 | International Business Machines Corporation | Data processing system and method including a network access connector for limiting access to the network |
US20060101186A1 (en) * | 2000-06-30 | 2006-05-11 | Lee Patrick S | Smart card virtual hub |
US7043575B2 (en) * | 2001-04-03 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Bus function authentication method, apparatus and computer program |
US20020143921A1 (en) * | 2001-04-03 | 2002-10-03 | Yann Stephan | Bus function authentication method, apparatus and computer program |
US20040236874A1 (en) * | 2001-05-17 | 2004-11-25 | Kenneth Largman | Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments |
US20030204737A1 (en) * | 2002-04-25 | 2003-10-30 | Chee-Horng Lee | Method for secreting a portable disk drive |
US20040098604A1 (en) * | 2002-11-06 | 2004-05-20 | Detlev Noldge | Access protection system for serial bus systems and method for protecting computers against an unauthorized connection of peripheral devices |
US20040104888A1 (en) * | 2002-11-14 | 2004-06-03 | Lg Electronics Inc. | Apparatus and method for controlling device operation in computer |
US20040205280A1 (en) * | 2003-04-10 | 2004-10-14 | Jeansonne Jeffrey K. | End-point sharing of communication bus interface |
US20050021996A1 (en) * | 2003-07-22 | 2005-01-27 | Howard Robert James | Method and apparatus for preventing un-authorized attachment of computer peripherals |
US20060117195A1 (en) * | 2003-08-28 | 2006-06-01 | Fujitsu Limited | Host apparatus, device, and method for controlling communication system |
US20050060478A1 (en) * | 2003-09-15 | 2005-03-17 | Yuan-Ting Wu | Method of function activation on a bridge system |
US20050251609A1 (en) * | 2004-05-04 | 2005-11-10 | Horng-Yee Chou | Removable peripheral device |
US20080008415A1 (en) * | 2005-04-11 | 2008-01-10 | Davis Joseph E | Reduction of mems mirror edge diffraction in a wavelength selective switch using servo-based rotation about multiple non-orthogonal axes |
US20070057931A1 (en) * | 2005-09-13 | 2007-03-15 | Funai Electric Co., Ltd. | Image display system and receiver device |
US20080005415A1 (en) * | 2006-06-06 | 2008-01-03 | Lopez Fernando A | Disabling a Universal Serial Bus Port |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145444A1 (en) * | 2009-12-11 | 2011-06-16 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method of obtaining connection relationship between interfaces and peripheral devices |
US20120066486A1 (en) * | 2010-09-09 | 2012-03-15 | Hodge Richard H | Feature Of A Computing Machine |
US8478979B2 (en) * | 2010-09-09 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Disable a feature of a computing machine |
JP2016526196A (en) * | 2013-04-25 | 2016-09-01 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Wireless docking device |
US20190056959A1 (en) * | 2016-08-22 | 2019-02-21 | Hewlett-Packard Development Company, L.P. | Connected devices information |
US10585674B2 (en) * | 2016-08-22 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Connected devices information |
JP2017144742A (en) * | 2017-04-05 | 2017-08-24 | シャープ株式会社 | Image formation apparatus |
Also Published As
Publication number | Publication date |
---|---|
GB201001250D0 (en) | 2010-03-10 |
WO2009017556A1 (en) | 2009-02-05 |
GB2465104B (en) | 2013-02-27 |
DE112008002032T5 (en) | 2010-07-15 |
GB2465104A (en) | 2010-05-12 |
CN101772761A (en) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090037610A1 (en) | Electronic device interface control system | |
US9495540B2 (en) | Method and system for monitoring calls to an application program interface (API) function | |
US10228952B2 (en) | System and method for accelerated boot performance | |
KR101464911B1 (en) | Method, apparatus and system to transition system power state of a computer platform | |
US8966236B2 (en) | Dynamically redirecting boot to another operating system | |
US10572434B2 (en) | Intelligent certificate discovery in physical and virtualized networks | |
US9417886B2 (en) | System and method for dynamically changing system behavior by modifying boot configuration data and registry entries | |
KR20160094440A (en) | Media protection policy enforcement for multiple-operating-system environments | |
US10831897B2 (en) | Selective enforcement of secure boot database entries in an information handling system | |
US10656676B2 (en) | Docking device, electrical device, and MAC address cloning method | |
KR20090091148A (en) | System and method for sharing atrusted platform module | |
US20090320128A1 (en) | System management interrupt (smi) security | |
US10565141B1 (en) | Systems and methods for hiding operating system kernel data in system management mode memory to thwart user mode side-channel attacks | |
US20140373006A1 (en) | System And Method For Virtual Machine Management | |
US11106272B2 (en) | Bios-based user-selectable power control | |
US7849300B2 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
US7117353B2 (en) | Methods and apparatus to enable console redirection in a multiple execution environment | |
US20100017587A1 (en) | Method and system for securing an option ROM configuration | |
JP2000132494A (en) | Computer system and audio output control method of the system | |
KR20070091882A (en) | Variable method for source path of operating system and the computer system for it | |
US20130132738A1 (en) | Externally Powered System Access | |
US8656148B2 (en) | Device information collecting method and system in computer system | |
US11507388B2 (en) | Storage device enumeration in information handling systems | |
US20240126585A1 (en) | Para-virtualized drivers for platform and cloud compute management | |
US11599364B2 (en) | System and method for provide persistent companion software in an information handling system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRANCHER, ROBERT E.;BROKMEYER, DARRELL L.;RIOS, JENNIFER E.;REEL/FRAME:019706/0302 Effective date: 20070731 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |