Claims
- 1. A peripheral device, for use with a host computer, comprising:
(a) a microcontroller for executing commands received from the host computer; (b) a first virtual device for passing to said microcontroller a first set of said commands received from any user of the host computer; and (c) a second virtual device for passing to said microcontroller a second set of said commands received from any user of the host computer.
- 2. The peripheral device of claim 1, wherein said first virtual device is operative to pass to said microcontroller said second set of said commands received from only a privileged user of the host computer.
- 3. The peripheral device of claim 1, wherein said second virtual device is operative to pass to said microcontroller any said command received from any user of the host computer.
- 4. The peripheral device of claim 3, wherein said microcontroller is operative to receive from said second virtual device any said command formatted as a native command of said second virtual device and to re-interpret said native command as said any command.
- 5. The peripheral device of claim 1, further comprising:
(d) an interface for effecting an operational connection of the peripheral device to the host computer to receive said commands.
- 6. The peripheral device of claim 5, wherein said virtual devices are sub-interfaces of said interface.
- 7. The peripheral device of claim 5, wherein said interface is a USB interface.
- 8. The peripheral device of claim 7, wherein said first virtual device is a USB mass storage interface.
- 9. The peripheral device of claim 5, wherein said interface effects a simultaneous operational connection of both said virtual devices to the host computer to receive said commands.
- 10. The peripheral device of claim 9, wherein said interface is a USB interface, and wherein said first and second virtual devices are operative to be enumerated together by the host computer, thereby becoming simultaneously operationally connected to the host computer.
- 11. The peripheral device of claim 5, wherein said interface effects an alternate operational connection of said two virtual devices to the host computer to receive said commands.
- 12. The peripheral device of claim 11, wherein said interface is a USB interface, and wherein said first and second virtual devices are operative to be enumerated alternately by the host computer, thereby becoming alternately operationally connected to the host computer.
- 13. The peripheral device of claim 7, further comprising:
(e) a third virtual device that supports autorun when said operational connection of the peripheral device to the host computer is initiated.
- 14. The peripheral device of claim 13, wherein said virtual devices are sub-interfaces of said interface.
- 15. The peripheral device of claim 13, wherein said third virtual device is a USB CD sub-interface of said interface.
- 16. The peripheral device of claim 1, wherein said first virtual device and said second virtual device are implemented in separate respective first and second physical devices.
- 17. The peripheral device of claim 16, further comprising:
(d) an interface for effecting an operational connection of the peripheral device to the host computer to receive said commands.
- 18. The peripheral device of claim 17, further comprising:
(e) a switch for reversibly operationally connecting said second physical device to said interface.
- 19. The peripheral device of claim 17, wherein said interface is a USB interface, and wherein said second physical device is a USB HID sub-interface of said interface.
- 20. The peripheral device of claim 19, wherein said second physical device includes:
(i) a mechanism for representing said commands of said second set to said microcontroller; and (ii) a mechanism for representing results of said commands of said second set to the host computer.
- 21. The peripheral device of claim 20, wherein said mechanism for representing said commands of said second set to said microcontroller includes a plurality of virtual multi-level LEDs and wherein said mechanism for representing said results of said commands of said second set to the host computer includes a plurality of virtual user switches.
- 22. The peripheral device of claim 17, further comprising:
(e) a third virtual device that supports autorun when said operational connection of the peripheral device to the host computer is initiated.
- 23. The peripheral device of claim 22, wherein said third virtual device also is implemented in said first physical device.
- 24. The peripheral device of claim 23, wherein said interface is a USB interface and wherein said first physical device is a multi-LUN USB sub-interface of said interface.
- 25. The peripheral device of claim 1, wherein said first virtual device and said second virtual device are implemented in a common physical device.
- 26. The peripheral device of claim 25, further comprising:
(d) a memory including a plurality of sectors; wherein said first set of said commands includes write commands for writing data to respective designated sectors of said memory; and wherein said common physical device is operative to pass to said microcontroller said commands of said second set received from any user of the host computer if said commands are embedded in respective said write commands for writing to a sector that is reserved for said commands of said second set.
- 27. The peripheral device of claim 26, wherein said reserved sector is reserved statically.
- 28. The peripheral device of claim 26, wherein said reserved sector is reserved dynamically.
- 29. The peripheral device of claim 25, further comprising:
(d) an interface for effecting an operational connection of the peripheral device to the host computer to receive said commands.
- 30. The peripheral device of claim 29, wherein said interface is a USB interface and wherein said common physical device is a multi-LUN USB sub-interface of said interface.
- 31. In a system including a host computer and a peripheral device operationally connected to the host computer, the peripheral device including a microcontroller, a memory having a plurality of sectors, and a first virtual device operative to pass to the microcontroller for execution a first set of commands if received from any user of the host computer and a second set of commands only if received from a privileged user of the host computer, a method for enabling any user of the host computer to have said commands of said second set executed by the microcontroller, comprising the steps of:
(a) including, in the peripheral device, a second virtual device operative to pass to the microcontroller for execution the second set of commands if received from any user of the host computer; (b) operationally connecting the peripheral device to the host computer; (c) sending a command of said second set from the host computer to the peripheral device, by a user of the host computer; (d) if said user is a privileged user, sending said command of said second set to the microcontroller via the first virtual device; and (e) otherwise, sending said command of said second set to the microcontroller via said second virtual device.
- 32. The method of claim 31, further comprising the step of:
(f) including, in the peripheral device, a third virtual device that supports autorun when said operational connecting is effected, said autorun determining whether said user is a privileged user.
- 33. The method of claim 31, wherein said first and second virtual devices are implemented in separate respective first and second physical devices within the peripheral device, the method further comprising the step of:
(f) operationally connecting said second physical device to the host computer only if said user is not a privileged user.
- 34. The method of claim 31, wherein said first and second virtual devices are implemented in a common physical device within the peripheral device, the method further including the step of:
(f) configuring said common physical device to recognize commands of said first set wherein are embedded said commands of said second set; wherein said sending of said command of said second set to the peripheral device is effected by steps including: (i) embedding said command of said second set in a command of said first set; and (ii) sending said command of said first set to the peripheral device; and wherein said sending of said command of said second set to the microcontroller via said second virtual device is effected by steps including extracting said command of said second set from said command of said first set.
- 35. The method of claim 34, wherein said commands of said first set, that are recognized by said common physical device as having embedded therein said commands of said second set, are write commands for writing to a sector of the memory that is reserved for said commands of said second set.
- 36. The method of claim 35, further comprising the step of:
(f) reserving said sector statically.
- 37. The method of claim 35, further comprising the step of:
(f) reserving said sector dynamically.
- 38. A peripheral device, for use with a host computer, comprising:
(a) a microcontroller for executing commands received from the host computer; (b) a first virtual device for passing said commands from the host computer to said microcontroller; and (c) a second virtual device, separate from said first virtual device, that supports autorun when the host computer detects a presence of said second virtual device in the peripheral device.
- 39. The peripheral device of claim 38, further comprising:
(d) an interface for effecting an operational connection of the peripheral device to the host computer to receive said commands; and wherein said virtual devices are sub-interfaces of said interface.
- 40. The peripheral device of claim 39, wherein said interface is a USB interface.
- 41. The peripheral device of claim 40, wherein said first virtual device is a USB mass storage interface.
- 42. The peripheral device of claim 40, wherein said second virtual device is a USB CD sub-interface of said interface.
- 43. The peripheral device of claim 38, wherein said first and second virtual devices are implemented in a common physical device.
- 44. The peripheral device of claim 43, further comprising:
(d) an interface for effecting an operational connection of the peripheral device to the host computer to receive said commands; and wherein said common physical device is a multi-LUN USB sub-interface of said interface.
Parent Case Info
[0001] This is a continuation-in-part of U.S. Provisional Patent Application No. 60/458,690, filed Mar. 27, 2003
Provisional Applications (1)
|
Number |
Date |
Country |
|
60458690 |
Mar 2003 |
US |