US20090037610A1 - Electronic device interface control system - Google Patents

Electronic device interface control system Download PDF

Info

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
Application number
US11/888,398
Inventor
Robort E. Krancher
Darrell L. Brokmeyer
Jennifer E. Rios
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to US11/888,398 priority Critical patent/US20090037610A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROKMEYER, DARRELL L., KRANCHER, ROBERT E., RIOS, JENNIFER E.
Priority to PCT/US2008/008085 priority patent/WO2009017556A1/en
Priority to GB1001250.8A priority patent/GB2465104B/en
Priority to DE112008002032T priority patent/DE112008002032T5/en
Priority to CN200880101201A priority patent/CN101772761A/en
Publication of US20090037610A1 publication Critical patent/US20090037610A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting 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

    BACKGROUND
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an electronic device 100 comprising an embodiment of an interface 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. In 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.
  • In the illustrated embodiment, 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.
  • In the illustrated embodiment, memory 120 comprises a firmware 122, data 123, and an enablement 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 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. In FIG. 1, 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.
  • In FIG. 1, 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. In the illustrated embodiment, 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. 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 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.
  • 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 of memory 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 that enablement 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 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. In this embodiment, upon initialization, 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. In some embodiments, 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.
  • 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 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. 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 executes 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). 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 the interface 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 of memory 120 from being allocated to interface(s) 140. Alternatively, in the embodiment in which enablement 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 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 then determines the enablement status for the at least one peripheral device 160 (decision block 220). If interface(s) 140 for the at least one peripheral device 160 is set to enable (“enable” output to decision block 220), then 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). If 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. 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 one peripheral 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/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.

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.
US11/888,398 2007-07-31 2007-07-31 Electronic device interface control system Abandoned US20090037610A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (24)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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