Universal serial bus device
A Universal Serial Bus (USB) device may comprise a controller including a USB interface and a USB connector in communication with the USB interface. The USB device may also comprise a decision component for receiving a credential, and in response to a valid credential, for providing access to an operation of the USB device.
Latest Microsoft Patents:
The present application relates to a peripheral device, and more specifically, to a universal serial bus device.
BACKGROUNDA Universal Serial Bus (“USB”) is an external bus that supports plug and play installation. Using a USB port of a computer system, a user may connect and disconnect devices without shutting down or restarting the computer. A single USB port may connect multiple peripheral devices, including speakers, telephones, CD-ROM drives, joysticks, tape drives, keyboards, scanners, memory drives, and cameras, such as through daisy chaining the peripheral devices into one port of the computer system. USB flash drives and other USB compatible devices are described further in the Universal Serial Bus Specification available at http://www.usb.org/developers/devclass_docs/usbmass-ufi10.pdf.
Flash memory is a type of nonvolatile computer readable medium, similar to EEPROM memory in function, but may be erased in blocks. Because of its block-oriented nature, flash memory is typically used as a supplement to or replacement for hard disks in portable computers. In this context, flash memory is typically built into the unit, available as a PC Card that can be plugged into a PCMCIA slot, or available as a USB device compatible with a USB port.
SUMMARYThe following presents a simplified summary of the disclosure in order to provide a basic understanding to the reader. This summary is not an exhaustive or limiting overview of the disclosure. The summary is not provided to identify key and/or critical elements of the invention, delineate the scope of the invention, or limit the scope of the invention in any way. Its sole purpose is to present some of the concepts disclosed in a simplified form, as an introduction to the more detailed description that is presented later.
USB flash drives are typically used to store data in a nonvolatile computer readable medium when it is physically connected to a USB port of a computer system. Since a USB flash drive is portable, e.g., removable from the computer system USB port, a USB flash drive may transfer data to another computer system when it is attached to the USB port of another computer system. However, not all devices have a USB port. To transfer stored data to an external device not compatible with the USB protocol, the USB flash drive may include a transmitter capable of transmitting data from the USB flash drive directly to an external device.
USB flash drives may also include a computer readable medium partitioned into public and private partitions. The public partition may be accessible through normal channels of access. However in some cases, the private partition may be accessed only through authentication of a credential provided by the user or computer system. Only users or systems providing a valid credential may access data stored in the private partition. The credential may be received by a decision component of the USB flash drive to authenticate the credential and allow access to the private partition.
Prior art USB devices generally rely on power derived through the physical connection of the USB connector to the USB port of a computer system. In this manner, USB devices rely on the USB port connection to provide power and function to the components within the USB device. To allow a USB device to function, such as to transfer data, apart from an intervening computer system, the USB device may include a power supply, independent of the USB connector, to provide power to one or more components of the USB device.
BRIEF DESCRIPTION OF THE DRAWINGSThe foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
In the prior art, a computer system could access the data stored in the nonvolatile medium 112 through a physical connection and communication between a host system USB port 104 and the USB connector 106 of the flash drive 100. However, a user may desire to transfer data to another device while the flash drive is connected to the host computer system and/or to transfer data to devices without a USB port. Accordingly, the flash drive 100 may include a transmitter 122 controlled by the controller 100 as shown in
The transmitter may transmit compressed data. For example, the data from the computer readable medium 112 may be stored in a compressed format and/or compressed by the controller, e.g., compressed by any suitable method to decrease the amount of memory and/or bandwidth. Compressed data may be expanded by any suitable method to allow the data to be used and/or accessed for its intended purpose or function.
The transmitter may transmit a modulated data signal and/or may transmit the data wirelessly, e.g., without a direct physical connection between the USB flash drive and the external device 150. The transmitter may directly transmit data. As used herein, ‘directly transmitting’ means that the data is transmitted from the USB flash drive 100 to another device 150 without any intervening host computer system and without peripheral communication wires, e.g., wireless communications. For example, a suitable direct transmitter 122 may include a USB port suitable for accepting a USB connector of another device. In this manner, data may be transferred directly from the USB flash drive to the external device, without any intervention by the host computer system 102 connected to the USB connector 106 of the flash drive 100. In another example of direct transmission, the transmitter 122 may send a modulated data signal with the data encoded onto the modulated data signal. In one example, the transmitter may include a frequency transmitter such as an infrared transmitter similar to those used on small form computing devices including personal digital assistant computing devices and cellular telephones. Other suitable frequency transmitters may support radio frequency, acoustic, ultraviolet, optical, and the like. Other transmitter types may be suitable including magnetic field data transmitters and any other wireless media. The transmission of the data may be governed by any appropriate protocol, such as the Infrared Data Association (IrDA) standards, BlueTooth protocols, radio frequency identification protocols, and the like.
Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term ‘modulated data signal’ means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of communication media.
Transfer of data from the nonvolatile memory to the external device 150 through the transmitter 122 may be initiated by any appropriate method or device. In one example, the user may provide a transmission initiation indication through the host computer system to initiate transmission of data to an external device. More particularly, a client driver (not shown) of the host computer system 102 may provide a dialog, menu, displayed button, or other appropriate user interface or selector which allows a user to initiate transfer of data. The host computer system may communicate the transmission initiation indication to the USB flash drive through the USB connection. In response to the transmission initiation indication, the transmitter may transmit data to the external device.
In another example, transfer of data through the transmitter 122 may be initiated through selection of one or more selectors 130 of the USB flash drive. For example, as shown in
Any suitable method may be used to determine which portion of the data stored in the nonvolatile computer readable medium may be transmitted. For example, all of the data stored in the nonvolatile computer readable medium 112 may be transmitted upon activation of the transmission initiation selector. In another example, the data portion to be transmitted may be predetermined or pre-set by the user and/or the manufacturer of the USB flash drive. For example, the user may indicate the selected portion of data to be transmitted which may be stored in a predetermined partition of the computer readable medium and/or the location for data to be transmitted may be determinable by the controller 110. When transmission is initiated, the controller may send to the transmitter 122 the predetermined portion of data.
In another example, a host device 102 may be connected to the USB flash drive 100 through the physical USB connection, allowing a user to access and/or determine the data portions, such as files, documents, executables, memory partitions, and other components available on the computer readable medium 112 of the USB flash drive. In this manner, the host computer system may provide a user interface, such as a dialog, tabular display, and the like, allowing a user to select a particular data portion to be transmitted.
In another example, the USB flash drive may provide a user interface allowing a user to select a portion of data to be transmitted. As shown in
In another example, the user and/or flash drive manufacturer may partition the non-volatile memory into one or more data partitions. In this manner, all data stored in the partition may be transmitted if that particular data partition is selected. It is to be appreciated that any other suitable indication of the selected data portion may be appropriate.
In a specific example, a user may wish to transfer her wireless settings to another user wishing to use the wireless network. Using her host computer system, the user may select her wireless setting data partition and activate the transmission initiation selector of the USB flash drive to transfer those settings to another user. Example methods of transferring wireless setting data is further described in U.S. Application Nos. 60/534,795 filed Jan. 7, 2004; Ser. No. 10/807,095 filed Mar. 23, 2004; and Ser. No. 10/866,336 filed Mar. 23, 2004, all assigned to Microsoft. Corp. and incorporated by reference herein. In another example, the user may associate a personal information data file with a particular data indicator of the USB flash drive. In this manner, the user may active the data indicator in an appropriate manner (e.g., sequence, combination, and/or timing) to select the personal information data file and then activate the transmission initiation selector to transmit the personal information, such as an Icard, to the external device. In one example the transmission initiation selector 134 and the data indicator selector 138 may be integrated into a single selector 136 as shown in
One example method 200 of transmitting data from a USB flash device is illustrated in
To accept a data transmission from an external device 150, the USB flash drive 100 may include a receiver 124 controlled by the controller 100 as shown in
The receiver may receive compressed data. For example, the receiver may receive the transmitted data from the external device 150 in a compressed format e.g., compressed by any suitable method to decrease the amount of memory and/or bandwidth. Compressed data may be expanded by the controller by any suitable method to allow the data to be used and/or accessed for its intended purpose or function.
The receiver may receive a modulated data signal and/or may receive the data wirelessly, e.g., without a direct physical connection between the USB flash drive and the external device 150. The receiver may directly receive data. As used herein, ‘directly receiving’ means that the data is received from an external device other than a host 102 computer system to the USB flash drive 100 without any intervening host computer system and without peripheral communication wires. For example, a suitable receiver 124 may include a USB port of the USB flash drive 100 suitable for accepting a USB connector of another device. In this manner, data may be transferred directly from the external device to the USB flash drive, without intervention by the host computer system 102 connected to the USB connector 106 of the flash drive 100. In another example of directly receiving, the receiver may wirelessly receive a modulated data signal with the data encoded onto the modulated data signal. The wireless receiver may include an infrared receiver, a radio frequency receiver, an acoustic receiver, an ultraviolet frequency receiver, an optical frequency receiver, a magnetic field data receiver, and any other wireless media receiver. The reception of the data may be governed by any appropriate protocol, such as Infrared Data Association (IrDA) standards, BlueTooth protocols, radio frequency identification protocols, and the like.
As noted above, the nonvolatile computer readable medium 112 may be partitioned into at least a first and second partition. In some cases, it may be suitable to protect information from public access, and as such, one or more partitions may be indicated as public and one or more other partitions may be indicated as private. As shown in
For example, the host computer 102 may present a user interface to the user through a display of the host computer. In this manner, the user may input a password through the keyboard of the host computer system, write a signature with a digital pen on a suitable tablet device, speak any word or a predetermined password into a microphone, and the like. In another example, the host computer system 102 shown in
In another example, the user may present the credential through one or more selectors 130 of the USB flash drive 100, shown in
The credential, after being received, may be authenticated in any suitable manner such as by comparing the received credential with a basis credential. The basis credential may be pre-stored on a trusted host computer system. Additionally and/or alternatively, the basis credential may be stored on the USB flash drive 100. The basis credential may be stored on the USB flash drive in any suitable manner, such as part of the firmware 120 and/or in the nonvolatile computer readable medium 112, e.g., in the private partition 162.
A decision component may compare the received credential with the basis credential and may be supported by any suitable computing device. The decision component 140 may be described in the general context of computer-executable instructions, such as program modules, being executed by a processor. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. For example, the decision component may be provided by a host computer system 102 attached to the USB flash drive through the USB connector. The decision component may be part of the USB driver or any other component supported by the host computer system. For example in operation, the host computer system 102 may provide a user interface to accept the credential input by the user and/or receive the credential from the USB flash drive 100. The host computer system may communicate the input credential to the decision component for authentication. The decision component may access the basis credential, stored in any suitable manner, and compare the received credential with the stored basis credential. Upon authentication of the credential, the host computer system may provide a user interface to allow the user to access the data stored in the private partition.
Additionally and/or alternatively, the decision component may be supported by the USB flash drive 100. For example, as shown in
In some cases, the credential allowing access to the private partition may include completion of some action and/or operation by the user. For example, to access the private partition, the user may be required to review and/or access a predetermined data file such as rules regarding use of the information stored in the private partition, advertisements, and the like. More particularly, the user may be presented with advertisements of products and/or services which are provided by advertisers. The advertisement review may be required for credential authentication each time a credential is provided; at the beginning of a time period, e.g., daily, weekly, and the like; and/or the first time a user requests access to the private partition. The advertisements or other data may be stored on the USB flash drive as appropriate, such as in the firmware and/or the nonvolatile computer readable medium.
After the required action such as review of an advertisement is completed, the USB flash drive may delete the data providing the action/operation as appropriate. For example, if the user is required to review one or more advertisements only the first time the private partition is accessed, the USB flash drive may delete the advertisement from the nonvolatile computer readable medium or allow the user to overwrite the memory location, to allow the user to use that memory for their directed purpose. Alternatively, the USB flash drive may ‘burn a fuse’ to that portion of memory storing the data supporting the required action. For example, memory can be read using a low voltage across a physical bridge. The ‘read only’ bridge may be ‘broken’ or burned like a fuse by applying a higher voltage. In another example, the controller and its associated memory may include a virtual or physical switch which may be flipped to deny access to the memory location. In this manner, a virtual fuse, or access to the private partition, may be burned.
As noted above, a decision component, such as the decision component 140 shown in
The decision component may receive a second credential, e.g., a second try by the user to fulfill the credential requirement. However, the decision component may refuse to authenticate a received credential, such as if the user submits a predetermined number of inauthentic credentials. For example, the controller may maintain a credential attempt count. After a predetermined number of inauthentic credentials, the USB flash drive may deny access to the private partition in any suitable manner.
The USB flash drive may request a credential to access the private partition from time to time or after a predetermined event. For example, to maintain access to the private partition, the controller may require the user to re-present a credential after a pre-determined amount of time has passed, whenever there is a power cycle to the USB flash drive, whenever the host computer system engages a screen saver, whenever the host computer system is put to ‘sleep’ or ‘placed on standby’, whenever the user ‘logs off’ the host computer system, or any other suitable event. In another example, the USB flash drive may include one or more selectors 130, such as a lock selector 135, which when activated may lock the private partition such that an authentic credential must be presented before further access is allowed. Accordingly, to access the private partition after the predetermined time and/or event, the user may be required to present a credential to be re-authenticated, such as by the decision component.
One example method 300 of authenticating a credential in a USB flash device is illustrated in
As noted above, a USB device typically derives power for operation through the direct physical attachment of the USB connector 106 to the USB port 104 of the host computer system 102. To allow the USB flash drive 100 to function, such as to transfer data, separated from a host computer system 102, the USB flash drive may include a power supply 126, independent of an the USB connector 106, to provide power to one or more components of the USB flash drive. For example, as shown in
USB devices 600, 700 may include a variety of computer readable media. Computer readable media can be any available media that can be accessed by a controller of the USB device and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the controller of the USB device.
The drives and their associated computer storage media discussed above and illustrated in
Having now described some illustrative embodiments of the invention, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other illustrative embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention. In particular, although many of the examples presented herein involve specific combinations of method operations or system elements, it should be understood that those operations and those elements may be combined in other ways to accomplish the same objectives. Operations, elements, and features discussed only in connection with one embodiment are not intended to be excluded from a similar role in other embodiments. Moreover, use of ordinal terms such as “first” and “second” in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which operations of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Claims
1. A Universal Serial Bus (USB) flash drive comprising:
- (a) a controller including a USB interface and a non-volatile computer readable media interface;
- (b) a nonvolatile computer readable media storing data, the nonvolatile computer readable media being in communication with the nonvolatile computer readable media interface and including a public partition and a private partition;
- (c) a USB connector in communication with the USB interface; and
- (d) a decision component for receiving at least one credential and in response to a valid credential, for providing access to the private partition.
2. The USB flash drive of claim 1, further comprising a power supply providing power to the controller, non-volatile computer readable media, and decision component.
3. The USB flash drive of claim 1, further comprising at least one selector suitable for generating a credential for authentication.
4. The USB flash drive of claim 3, wherein that at least one selector includes a plurality of alpha-numeric selectors.
5. The USB flash drive of claim 3, wherein the at least one selector includes a plurality of selectors, the credential including a selection of a series of the plurality of selectors.
6. The USB flash drive of claim 3 wherein the at least one selector includes a plurality of selectors, the credential including a selection of a combination of the plurality of selectors.
7. The USB flash drive of claim 3, wherein the credential includes selecting the at least one selector in a predetermined timing rhythm.
8. The USB flash drive of claim 1, further comprising a transmitter for generating a modulated data signal representing data from the nonvolatile media.
9. The USB flash drive of claim 1, wherein the decision component is in communication with a host computer system to receive the at least one credential.
10. The USB flash drive of claim 9, wherein the credential includes a written signature, a voice print, and a password.
11. The USB flash drive of claim 1, wherein if the received credential is not valid, the decision component is adapted to authenticate another received credential.
12. The USB flash drive of claim 11, wherein the decision component determines a credential attempt count representing a number of invalid credentials received and wherein the decision component is adapted to refuse to authenticate another received credential if the credential count exceeds a predetermined threshold.
13. The USB flash drive of claim 12, wherein a fuse to the nonvolatile computer readable media is burned if the credential attempt count exceeds the predetermined threshold.
14. The USB flash drive of claim 1, wherein the controller denies access to the nonvolatile computer readable medium after a predetermined event.
15. The USB flash drive of claim 14, wherein the predetermined event includes a power cycle of the USB flash drive.
16. The USB flash drive of claim 1, wherein the decision component compares the received credential with a basis credential.
17. The USB flash drive of claim 16, wherein the basis component is stored on the private partition.
18. A computer readable medium of a Universal Serial Bus (USB) device having computer executable instructions for performing steps comprising:
- (a) receiving a first credential at the USB device;
- (b) authenticating at the USB device the first credential;
- (c) if the first credential is determined as authentic, granting access to an operation of the USB device.
19. The computer readable medium of claim 18, wherein the operation of the USB device is access to a private partition of a computer readable medium.
20. The computer readable medium of claim 18, wherein authenticating includes comparing the first credential with a basis credential.
21. The computer readable medium of claim 20, wherein receiving the first credential includes detecting a selection of one or more selectors of the USB device.
22. The computer readable medium of claim 21, wherein the one or more selectors includes a plurality of selectors, and the basis credential includes an indication of a predetermined series of selections of the plurality of selectors.
23. The computer readable medium of claim 21, wherein the one or more selectors includes a plurality of selectors, and the basis credential includes an indication of a predetermined combination of substantially simultaneous selection of the plurality of selectors.
24. The computer readable medium of claim 21, wherein the basis credential includes an indication of a predetermined timing rhythm of selection of the one or more selectors.
25. The computer readable medium of claim 18, further comprising if the first credential is determined as inauthentic, increasing a value of a credential attempt count.
26. The computer readable medium of claim 25, further comprising receiving a second credential, comparing the credential attempt count with a predetermined threshold, and authenticating the second credential only if the credential attempt count is less than the predetermined threshold.
27. The computer readable medium of claim 15, further comprising receiving an authentic second credential, comparing the credential attempt count with a predetermined threshold, denying access to the operation of the USB device if the credential attempt count is greater than or equal to the predetermined threshold.
28. The computer readable medium of claim 18, receiving an indication of a predetermined event, and denying access to the operation of the USB device after receiving the indication of the predetermined event unless an authentic second credential is received.
29. The computer readable medium of claim 28, wherein receiving an indication of a predetermined event includes receiving an indication of a power cycle of the USB device.
30. The computer readable medium of claim 29, wherein the indication of a power cycle is received from a power supply of the USB device.
31. The computer readable medium of claim 28, wherein receiving an indication of a predetermined event includes receiving an indication of a selection of a lock selector of the USB device.
32. The computer readable medium of claim 18, further comprising transmitting at least a portion of the computer readable medium to an external device after granting access to an operation of the USB device.
33. The computer readable medium of claim 18, further comprising receiving a data portion from an external device other than a host computer system attached to a USB connector of the USB device after granting access to an operation of the USB device.
34. The computer readable medium of claim 18, wherein receiving the credential includes receiving the credential from a host computer system through the USB connector.
35. A Universal Serial Bus (USB) device comprising:
- (a) a controller including a USB interface;
- (b) a USB connector in communication with the USB interface;
- (c) at least one key selector for receiving a credential; and
- (d) a decision component for receiving the credential and in response to a valid credential, for providing access to an operation of the USB device.
36. The USB device of claim 35, further comprising a power supply in communication with the controller, the at least one key selector, and the decision component.
37. The USB device of claim 35, wherein the decision component compares the credential to a basis credential.
38. The USB device of claim 35, wherein the at least one key selector includes a plurality of key selectors, and the basis credential includes an indication of a predetermined series of selections of the plurality of key selectors.
39. The USB device of claim 35, wherein the at least one key selector includes a plurality of key selectors, and the basis credential includes an indication of a predetermined combination of substantially simultaneous selection of the plurality of key selectors.
40. The USB device of claim 35, wherein the basis credential includes an indication of a predetermined timing rhythm of selection of the one or more key selectors.
41. The USB device of claim 35, further comprising a lock selector for sending a lock signal to the decision component, and the decision component, in response to the lock signal, denies access to the operation of the USB device unless the decision component authenticates a second credential.
Type: Application
Filed: Sep 28, 2004
Publication Date: Mar 30, 2006
Applicant: Microsoft Corporation (Redmond, WA)
Inventors: Christopher Corbett (Duvall, WA), David McLauchlan (Kirkland, WA), Mohammad Shakeri (Kirkland, WA), Scott Manchester (Redmond, WA), David Campbell (Redmond, WA)
Application Number: 10/951,547
International Classification: G06F 3/06 (20060101);