Integrated circuit device that includes a protected memory component for transmitting protected data over a communication interface

Information

  • Patent Grant
  • 11829776
  • Patent Number
    11,829,776
  • Date Filed
    Thursday, February 11, 2016
    9 years ago
  • Date Issued
    Tuesday, November 28, 2023
    2 years ago
Abstract
An integrated circuit device that includes a secure or protected memory component is herein disclosed and enabled. The integrated circuit may be a wireless communication device or a smart card or an USB device. Additionally, the integrated circuit may be part of or in a computing device or mobile device. The integrated circuit device includes a private memory section for storing protected data that is not accessible by a user at the private memory section, but is accessible by a memory controller included in the integrated circuit device. The memory controller accesses the protected data with a combination of security operations that may include cryptography. The integrated circuit device may further include a wireless component for establishing a wireless connection with wireless computing devices or readers for wirelessly transmitting the protected data accessed by the memory controller to the wireless computing devices.
Description
TECHNICAL FIELD

This invention relates to a system and method for utilizing storage media such as flash memory for achieving autorun of an application executable or installer stored on the storage media.


BACKGROUND OF THE INVENTION

As is known in the art, some applications such as software installers may be run automatically upon insertion of a CD-ROM disc into a CD-ROM drive, which may sometimes be called a dock or reader. In operation, this automatic running of an application is provided by an autorun feature that is stored on or incorporated into a CD-ROM drive dock/reader. Executables or installers stored on the CD-ROM disc are executed by the host personal computer based upon activation by the autorun feature in the CD-ROM drive dock/reader. In this implementation, the autorun feature is incorporated into the hardware drive/dock/reader, which is separate from the storage media.


SUMMARY OF THE INVENTION

Universal Serial Bus (USB) technology is rapidly gaining preference as the interfacing technology of choice for peripherals on computing devices such as personal or laptop computers. Flash memories coupled with a USB interface has have become convenient and portable storage devices that can replace floppy disks and compact disks (CDs).


However, the popular and widely-adopted Universal Serial Bus technology does not include distinct autorun features in the docks/readers. As a consequence, conventional integrated circuit memory devices such as USB memory devices do not have autorun functionality.


Accordingly, the present invention provides autorun functionality to any IC memory device, such as any USB peripheral, that has a memory component interfaced to a computing device interface microcontroller. The present invention provides autorun of one or more executables or application installers from a memory component with an interface to a computing device without an intermediate hardware-based autorun feature. As an example, such interface could be a USB interface and such computing device could be a personal computer.


For example, each USB peripheral device internally contains a USB microcontroller that performs the functionality associated with identifying the device to a host computing device, such as a personal computer. In accordance with the present invention, autorun firmware is embedded into the USB microcontroller. The autorun firmware enables autorun of an installable or executable application stored on the memory component of the USB device. The firmware acts as bridge components translating all commands and interactions between a host PC and the memory component.


Additional description and implementations of the present invention will be apparent from the detailed description of the preferred embodiment thereof, which proceeds with reference to the accompanying drawings.





BRIEF DESCRIPTIONS OF THE DRAWINGS


FIG. 1 illustrates an exemplary implementation of an autorun integrated circuit (IC) memory device according to the present invention.



FIG. 2 is a block diagram of a prior art arrangement in which a host personal computer includes an intermediate hardware dock that provides an autorun feature.



FIG. 3 is a flow diagram of an IC memory device autorun method.



Figs. 4A and 4B illustrate autorun firmware according to the present invention embedded into alternative USB device configurations.



FIG. 5 is a block diagram of a USB peripheral having multiple functionalities.



FIG. 6 is a block diagram of a USB hub with autorun firmware and access to multiple distinct functionalities.



FIG. 7 is a schematic diagram of a person-operable physical slide switch.



FIG. 8 is a flow diagram of a software-implemented copy protection method.



FIGS. 9-13 are block diagrams of embodiments of a communication device of the present invention.



FIG. 14 is a block diagram 1400 that illustrates the exemplary features of an application of the present invention after the application is launched in the computing device.





DETAILED DESCRIPTION OF PREFERRED EMBODIMENT


FIG. 1 illustrates an exemplary implementation of an autorun integrated circuit (IC) memory device 100 according to the present invention. Autorun IC memory device may be in the form of a USB memory device, a compact flash card, a smart card, etc. For purposes of illustration, autorun IC memory device 100 will be described with reference to a universal serial bus (USB) memory device implementation.


Autorun IC memory device 100 includes a memory component 110 that communicates with a USB microcontroller 120 having autorun firmware 130 incorporated or embedded into microcontroller 120. Autorun IC memory device 100 includes an upstream port 140 for connecting to a host computing device 150 (e.g., personal or laptop computer, handheld computer, PDA, smart phone, etc., not shown). In the illustrated implementation, upstream port 140 is a USB port.


Autorun firmware 130 causes an application or executable stored in memory component 110 to be installed or run automatically upon activation of the IC memory device 100 vis-à-vis the host computing device 150. This activation may be achieved in a variety of ways including connecting or inserting the autorun IC memory device 100 into a docking system or port present on or interfaced to the host computing device 150. For example, IC memory device 100 with autorun firmware 130 incorporated into USB microcontroller 120 allows a “USB Flash Drive” storing one or more application executables or installables to be run automatically (i.e., autorun) upon activation, such as being plugged into the USB port of a host PC 150.



FIG. 2 is a block diagram of a prior art arrangement in which a host personal computer 200 includes an intermediate hardware dock 220 that provides an autorun feature for a storage medium like a CD-ROM 230. Intermediate hardware dock 220 functions as a storage media reader that may be internally integrated with or externally connected to the host personal computer 200 and the storage medium 230.


In this prior art implementation, insertion of a CD-ROM disc 230 into a CD-ROM dock/reader 220 may cause activation of an autorun feature that is stored on or incorporated into CD-ROM dock/reader 220. Executables or installers stored on the CD-ROM disc 230 may then be executed by the host personal computer 200 based upon activation by the autorun feature CD-ROM dock/reader 220.


As another example of such a prior art implementation, a flash memory card reader connected to a host computing device, such as a personal computer, may also include an autorun feature that can activate an executable or installer to run on the host computing device.


A disadvantage of such prior art implementations is that autorun features are incorporated into hardware docks or readers that are separate from the storage media. However, the popular and widely-adopted Universal Serial Bus technology does not include such distinct autorun features. As a consequence, conventional integrated circuit memory devices such as USB memory devices do not have autorun functionality. In contrast, the present invention provides autorun functionality to any IC memory device, such as any USB peripheral that has a memory component interfaced to a USB microcontroller.



FIG. 3 is a flow diagram of an IC memory device autorun method 300 that may be implemented from firmware 130 incorporated into a USB controller 120.


In step 305, a USB peripheral is inserted into or connected to a USB port of a host computing device (e.g., a personal computer).


In step 310, the host computing device performs an enumeration to identify the newly attached USB peripheral.


Step 320 is a query as to whether the USB peripheral includes autorun firmware that is enabled. If so, step 320 proceeds to step 330. If not, step 320 proceeds to step 370.


In step 330, the autorun firmware in the USB peripheral announces itself with a device interface description. For example, the device interface description may include Mass Storage Class, SCSI (Small Computer System Interface) transparent command set, Bulk Only Transport corresponding to a CD-ROM, for example.


In step 340, the host and the USB peripheral communicate with each other using, for example a standard MMC-2 (Mobile Module Connector 2) specification set. The communication includes a response to host commands from the autorun firmware according to the MMC-2 specification. As a part of the MMC-2 specification, the host requests enumeration of files in a root directory and the autorun firmware responds to the request.


In step 350, the autorun firmware informs the host of the presence of an autorun executable file to be executed and provides the file to the host. For example, the file may be named “Autorun.inf,” which may be stored on the memory component of the USB peripheral. The host executes the autorun executable file to provide the autorun functionality.


Step 360 is a query whether the autorun firmware is to be enumerated again or “re-enumerated.” If so, step 360 proceeds to step 370. If not, step 360 proceeds to step 390. Re-enumeration allows the autorun firmware to announce itself to the host as one or more other USB peripherals (e.g. data storage device, communication adapter, etc.) or, if there is no re-enumeration, the autorun firmware can continue to function as per MMC-2 specifications.


In step 370, the autorun firmware re-enumerates or identifies itself as another USB device, such as a USB flash drive or a USB wireless (e.g., Bluetooth, WiFi, IrDA) device or “dongle.” With such a re-enumeration, the autorun firmware identifies itself with device interface descriptors for the other USB devices (e.g., USB flash drive or USB Bluetooth dongle).


In step 380, USB peripheral device responds to native USB driver commands, and the autorun firmware loads the firmware associated with the enumerated USB peripheral (e.g., USB flash drive or USB Bluetooth dongle).


In step 390, the autorun firmware is configured to not re-enumerate itself and continues to act as a virtual CD-ROM type device implementing the MMC-2 specifications.


Process steps 320, 330, 340, 350 and 360 correspond to the autorun firmware implementation. Step 390 provides for the implementation of a virtual mass storage device from a memory component that implements SCSI command sets and MMC-2specifications.


Autorun firmware according to the present invention can be embedded into multiple USB device configurations to provide a variety of unique USB peripherals with autorun functionality and into other peripheral devices with similar functionality. For example, FIG. 4A shows a USB hub 400 in which a USB microcontroller 410 with auto run firmware 415 communicates with an internal memory component 420. In FIG. 4B, a USB microcontroller 450 is connected to an external memory component 460 through a USB downstream port 470.


With reference to FIG. 4A, the USB microcontroller 410 that forms a part of the USB hub 400 typically is a repeater type entity allowing for cascaded multiple USB peripherals to connect through a single upstream port to a host system. The USB microcontroller 410 includes support for programming capability, which includes the autorun firmware 415. The Autorun firmware can then be ported to work on the USB microcontroller 410. The firmware may be stored on the internal memory component 420. Alternatively, the Autorun firmware may be stored on external memory 460 that is in an attached USB memory component.


As another configuration, FIG. 5 is a block diagram of a USB peripheral 500 having multiple functionalities. In this implementation, USB peripheral 500 includes an internal microprocessor with USB interfacing 510, or alternatively a USB microcontroller, that communicates with a memory component 520 and wireless (e.g., Bluetooth) networking hardware 530. As a result, USB peripheral 500 is capable of operating as a wireless (e.g., Bluetooth) networking device or “dongle” and as USB flash drive, both of which are accessible with autorun functionality


In one configuration, the microprocessor 510 has USB interfacing ability. It is coupled with a memory component 520 and Bluetooth radio component 530. Microprocessor 510 implements client layers of the Bluetooth stack. The firmware that the microprocessor 510 executes is stored in memory component 520. The autorun firmware can also be additionally stored as a part of the functionality of existing firmware or separately in the memory component 520. In another configuration, the microprocessor 510 may not directly have USB interfacing capability and could use a separate USB microcontroller (not shown).


A feature of including autorun firmware in USB peripherals is that software applications can be bundled with the USB peripherals. The bundled software application may or may not utilize the USB peripheral.


As an example, FIG. 6 is a block diagram of a USB hub 600 that includes a USB microcontroller 610 with autorun firmware 615 and access to one or multiple distinct functionalities or USB peripherals, such as an external memory component 630, a Bluetooth networking component 640, or a WLAN component 650. Such USB peripherals 630-650 could be formed in combination with USB hub 600. USB hub 600 may be externally connected with one or more of these components 630-650, as illustrated, or alternatively one or more of the components 630-650 can be internally integrated to form a USB peripheral or device with multiple distinct functionalities.


There could be multiple executions of autorun firmware from each or some of these peripherals. Thus the autorun firmware allows for distribution of software (e.g. device drivers, synchronization software, etc.) that can be autorun along with any USB peripheral.


The implementation options also include mechanisms for allowing the autorun feature to be enabled or disabled by an external mechanism (e.g., switch) that is included on the device or peripheral. The switch could be manually operable by a person. The switch could be a simple two-mode (e.g., autorun on/off) switch or could be a switch that selects from among more than two modes.



FIG. 7 is a schematic diagram of a person-operable physical slide switch 700 that allows a person to select from among multiple modes, functionalities, or peripherals available on a USB device or “dongle.” As an example, switch 700 relates to features or peripherals available from USB hub 600 of FIG. 6, including external memory component 630 , and wireless dongle or module (640 or 650) for adding wireless (e.g. Bluetooth, WiFi, IrDA) interface to its host PC.


In this exemplary illustration, switch 700 has 4 user-selectable positions. In position 710, autorun functionality is enabled, and the wireless components are disabled. In position 720, autorun functionality is disabled, and the wireless is components are disabled. In position 730, autorun functionality is enabled, and the wireless components are enabled. In position 740, autorun functionality is disabled, and the wireless components are enabled.


The autorun firmware enables the distribution of software that can be autorun from a memory component. There is also a unique security mechanism that can be incorporated to protect the software that is installable or executable from the memory component by the autorun firmware.


A section of the internal memory component (e.g., memory component 620, FIG. 6) may be protected from public access by password protecting it or by physical security means such as a lock, among other means. The flash memory component can also be segmented into public and private sections. Private sections can be used to store installable data or executable software that cannot be viewed or accessed by the user, and public sections can be viewed or accessed by users in a conventional manner. The installable data or executable software being distributed through the memory component can be stored in the protected region of the memory component. Security by way of copy protection of this installable data or executable software can be achieved by allowing only an application launcher executable, which is autorun from the memory component, to access the installable data or executable software.


In one implementation, the application launcher executable has the following characteristics: it is autorun from the memory component, and it has access to the protected or private region of the memory component. This access is gained by authenticating itself to the memory controller (e.g. USB microcontroller) and/or to the installable software in the protected region of the memory component. The authentication mechanism may be a password-based mechanism or a more involved cryptographic algorithm. Among the various techniques used for authentication are digital signatures and unique identifiers like the Bluetooth Device Address, MAC address, etc. The application launcher executable may authenticate itself directly to the memory controller software and/or installable software or to a separate authentication software that resides in the protected region of the memory component.


The application launcher executable may be built generically to execute any or all executables and installables that exist within the protected region of the memory component. Alternatively, the application launcher executable may be programmed to launch a particular executable or installable from the protected region. Considering the possibility of the memory component being segmented into “n” protected sections where n is greater than 1, the application launcher executable may access one or more of these sections in the mechanism described herein. The protected memory region may contain, for example, executable software (also called an application executable), or installable software (also called an application installable), or protected data.



FIG. 8 is a flow diagram of a software-implemented copy protection method for protecting of software that is executable or installable on using autorun firmware.


In step 810, an application launcher executable that is stored in a memory component of an IC memory device is run automatically on a host computer by an autorun firmware stored on the IC memory device. The autorun firmware operates automatically upon activation of the IC memory device, such as occurs when the memory device is plugged into a port or socket of the host computer.


In step 820, the application launcher authenticates itself to authentication agent software that resides in the protected region of the memory component. The authentication agent software may be incorporated within the software executable or installable that is being protected or may be a separate application. The authentication algorithm may be password based or may involve cryptographic techniques.


Step 830 is a query whether the authentication is successful. If not, access to the protected executable or installable is denied. If authentication is successful, step 830 proceeds to step 840 and the application launcher executable gains access to the protected memory region.


In step 840, the application launcher executable executes the application executable or installable that is stored in the protected region of the memory component. The application launcher executable may also be programmed to execute any or all executables and installables that exist within the protected region of the memory component.


In step 850, the executables and installables thus launched are executed on the host computer.



FIG. 9 is a block diagram of one embodiment of a communication device 900 of the present invention. The communication device 900 includes a structural interface 910, such as a USB (universal serial bus) interface, and a wireless component interface 920. Interface 910 can be any structural interface including, but not limited, to USB, FireWire (IEEE 1394), CF (compact flash), SD (secure digital), parallel, serial, among others, that enables device 900 to plug into a computing device 170. The wireless interface 920 may be implemented using any wireless medium such as infrared or radio communication according to any protocol including but not limited to Bluetooth®, IEEE 802.11a, IEEE 802.11b (WiFi), IEEE 802.11ab, IEEE 802.11g, IEEE 802.11f, IEEE 802.15, IEEE 802.17, ZigBee® among others.


The communication device 900 includes a memory component 930 that may include volatile memory (e.g., ROM, RAM) and/or non-volatile memory (e.g., flash memory, hard disk). One or more software components or applications (not shown) may be stored in the memory component 930. The software components or applications stored in the memory component 930 may include programs or functionalities that enable device 900 to “auto run” or “auto play” so that, when the communication device 900 is connected with interface 910 to a computing device 170, the program or software application will be automatically installed, launched and executed in the computing device 170, as will be described in detail below. The memory component 930 may include a program memory segment 940 and an optional separate file memory segment 950. Programs or software applications can be stored or embedded in the program memory 940. The software programs or applications may or may not be viewed or edited (e.g., added, deleted or changed) by a user. Hence program memory segment 940 can be implemented as a private or secure section of the memory component 930.


As an optional feature, file memory segment 950 may provide for additional file or data storage, run time buffering of data, or caching of data and files for faster access. The file storage component 950 is an example of an implementation of such memory segmentation. This component 950 may be optional and may or may not exist depending on implementation. Files and data stored in the file storage memory component 950 typically can be saved, retrieved, viewed or edited by a user through a computing device. As an example, the communication device 900 can be used as an external disk drive (e.g., “Flash drive”) that a user can access and use as separate data storage drive when device 900 is plugged into the computing device 170.


The communication device 900 may include an optional external control switch 165, which can be used to activate, deactivate, control or adjust one or more functions provided by the device. The communication device 900 may also include an interface or status indicator (not shown) such as an LCD displaying text or image, lights or sound for status indication.


As is known in the art, wireless interface 920 may include a radio, a baseband controller and separate internal memory (not shown). The separate internal memory, implemented with Flash, RAM and or ROM circuitry, can store instructions and data required for proper functioning of the wireless component 920, such as a wireless protocol stack. Wireless component interface 920 may include an internal processor (not shown) that implements the instructions and logic for complying with wireless protocols (e.g. Bluetooth or IEEE 80211, a,b,g,f, among others), in addition to managing the radio and the baseband of the wireless component interface 920.


Computing device 170 (e.g. PC, laptop, server) includes at least one structural interface 172 to which interface 910 of communication device 900 is connectable. In a typical implementation, structural interface 172 is a USB interface, however other interfaces such as parallel, serial, Firewire (IEEE 1394 a, 1394 b), CF (compact flash), SD (secure digital), Ethernet or wireless interfaces can also be implemented. To simplify the following description of the invention, interfaces 910 and 172 will be referred to a USB interfaces. It will be appreciated, however, that interfaces 910 and 172 could alternatively be implemented with any other interface format.


A computing device 180 (e.g., PC, laptop, server, PDAs such as pocket PC, Palm, Symbian, Java or Linux cell phones, digital cameras, etc.) includes a wireless interface 182. The communication device 900 can communicate with the computing device 180 via wireless interface 920. Examples of wireless interface 920 that can be implemented include Bluetooth, IrDa, ZigBee, IEEE802.11 A, B, F and G, among others.



FIG. 10 is a block diagram of another embodiment of a communication device 1000 of the present invention. Elements of the communication device 1000 that are common to or the same as elements of communication device 900 are indicated by the same reference numerals. In addition, the communication device 1000 includes a controller 260, which may comprise a microprocessor. Other implementations of the controller 260 are and may include a digital signal processor (DSP), a system-on-a-chip (SOC), Field Programmable Gate Arrays FPGL, Application-Specific Integrated Circuit etc. In this implementation, the memory component 930 may also store programs to be executed by the controller 260. Examples of functionality and components operable by controller 160 may include any combination below and are not limited to:

    • A communication protocol stack component (e.g., USB interface or Bluetooth stack, data or format conversion).
    • Communication and or security management software (e.g., protocol encoding/decoding, encryption/decryption, and authentication).
    • Control modules and components for managing the radio and baseband component of wireless interface 920.
    • AutoRun components that provide and control automatic installation and launching on the computing device 170 of one or more programs stored in 940 when the device 900 is plugged into computing device 170.
    • Control and management of the structural interface 910 (e.g. USB, FireWire etc)


The controller 260 may or may not include an operating system. An advantage of the implementation of communication device 1000 in FIG. 10 is that it may have a reduced chip count or hardware component cost compared to some implementations. For example, the functionalities of multiple components of a communication device of this invention may be implemented and managed with a single processor in the controller 260, rather than employing multiple controller/processor implementations.



FIG. 11 is a block diagram of another embodiment of a communication device 1100 of the present invention. Elements of the communication device 1100 that are common to or the same as elements of communication device 900 are indicated by the same reference numerals. In FIG. 11, the memory component 930 acts and may include a hub for the wireless interface 920. Memory component 930 may include a controller or processor (not shown). In FIG. 9, the wireless interface 920 and memory component 930 are connected to the USB interface 910.


As discussed, memory component 940 can be implemented depending on the application. All above features and requirements can be implemented in a single memory component 930, segmented into two components 940 and 950, or segmented into three components 144, 146, and 950 as illustrated in FIGS. 12 and 13.



FIGS. 9-11 show memory component 930 segmented into two sections, private section or program section 940 and public section or file storage section 950. The public file storage component 950 corresponds to memory that can be accessed by the end-user. This optional component 950 allows a user to save and retrieve data when device 900 is plugged into the USB interface of computing device 170. This public memory section 950 (e.g., flash) can also be exposed for public wireless access. Program memory section 940 is private and an end user cannot access it.



FIGS. 12 and 13 illustrate as additional implementations respective communication devices 1200 and 1300 of the present invention. Elements of the communication devices 1200 and 1300 that are common to or the same as elements of communication device 900 are indicated by the same reference numerals. A data output process (e.g. output or printing of digital document or display or presentation of digital content) may be executed using the system configuration as shown in FIGS. 12 and 13.


In communication devices 1200 and 1300 private memory component 940 is segmented into two sections: internal section 144 and embedded section 146. Internal memory section 144 can store data and programs required for proper functioning of the communication device 900. These programs and data can be accessed by a memory controller 1215 [or 515 in FIG. 13] and support its functionalities. Embedded memory section 146 can store programs, applications, and data that will be installed or launched on computing device 170 when communication device 900 is plugged into computing device 170. The software program or applications typically may not be viewed or edited (e.g., added, deleted or changed) by a user and are embedded during the manufacture of devices 1200 and 1300.


Memory controller 1215 [or 515 in FIG. 13] manages communication with the structural external interface 910 [or 525 in FIG. 13] (e.g., USB, FireWire, etc.) and memory component 930. Memory controller 1215 [or 515 in FIG. 13] can be implemented with a microprocessor, DSP, ASIC, etc and may include internal memory for running its program. Additional memory such as those provided by internal memory section 144 can also be implemented if needed. Examples of the functionality and software components that may be implemented with the memory controller 1215 [or 515 in FIG. 13] include “auto run” or “auto play” functionalities, segmentation of memory 930, data security, and USB interfacing functionalities, among others.


Communication device 1200 includes a hub component 425 (e.g., a chip), which combines the components of wireless interface block 920 with the memory component block 930 and its memory controller 1215 [or 515 in FIG. 13]. The hub 425 enables sharing of the same external structural interface 910 [or 525 in FIG. 13] (e.g., USB, FireWire) between wireless component 920, memory controller 1215 [or 515 in FIG. 13] and memory component 930.


Each of FIGS. 9-13 illustrates an optional battery 167 being included in the respective communication devices 900-1300. Optional battery 167 enables each of communication devices 900-1300 to receive or send data wirelessly without being plugged into a computing device 170. Typically, each communication device 900-1300 draws its operating power computing device 170 when plugged into its interface 172 (e.g., USB).


Communication devices 900-1300 of the present invention provide users of mobile devices 180 (e.g., wireless enabled digital camera, mobile phone, etc.) data storage that is integral with the wireless communication and may be independent of computing device 170. In accordance with the present invention, each of communication devices 900-1300 can be configured to communicate in a point-to-point manner with a wireless-enabled mobile device 180 (e.g., a Bluetooth digital camera, phone etc). An embedded application (not shown) stored on each wireless device 900-1300 can manage the communication with an embedded application in the mobile device 180.


An application 1310 is stored or embedded in the memory component 930 of the communication device 900-1300. The application 1310 may be launched and executed in the computing device 170 once the device 900-1300 is connected to or plugged into computing device 170. In this particular example and as shown at 1400 in FIG. 14, the application 1310, after being launched in the computing device 170, may include but is not limited to any combination of the features below:

    • 1. Install necessary one or more drivers, one or more applications, and/or one or more wireless communication stacks in the computing device;
    • 2. Discover existence of other computing devices;
    • 3. Receive information relating to the one or more discovered devices (e.g. name, id, availability, type of service, service or communication options, quality of service, price etc.);
    • 4. Transmit data content to the computing device;
    • 5. Encrypt and/or compress the digital document prior to the transmission;
    • 6. Receive information on an output process (e.g. status, payment requirement, time left to complete, error messages, etc.) from the application; and
    • 7. Provide a GUI in the computing device. The GUI allows the user to select one or more computing devices for communication from a list of discovered computing devices available. Further, the user may select one or more output devices, from a list of available output devices, that are connected to the selected computing device. The GUI may further include means for user to obtain information on the output process and/or give instruction to the output process. For example, this may include providing payment information, status information. The GUI may further allow for controlling the functionality of the application such as initiating, pausing, or canceling the process.


In view of the many possible embodiments to which the principles of our invention may be applied, it should be recognized that the detailed embodiments are illustrative only and should not be taken as limiting the scope of our invention. Rather, we claim as our invention all such embodiments as may come within the scope and spirit of the following claims and equivalents thereto.

Claims
  • 1. An integrated circuit memory device for transmitting protected data stored in the integrated circuit memory device to a wireless computing device, the integrated circuit memory device comprising: a graphical user interface;a wireless interface, which includes a radio component, for establishing a local point-to-point wireless communication connection with the wireless computing device, the local point-to-point wireless communication connection being a radio communication connection;a memory controller;a memory component;a protected memory area in the memory component storing the protected data, wherein the protected data stored in the protected memory area is implemented to be inaccessible, at the protected memory area, by a user of the integrated circuit memory device, but is implemented to be accessible by the memory controller, wherein the protected data includes data or software;an internal memory area in the memory component storing a program, wherein the program stored in the internal memory area is implemented to be inaccessible at the internal memory area by the user, but is implemented to be accessible and executable by the memory controller to support at least part of functionalities of the memory controller;wherein the integrated circuit memory device is configured for: establishing, by the wireless interface of the integrated circuit memory device, the local point-to-point wireless communication connection between the integrated circuit memory device and the wireless computing device, the local point-to-point wireless communication connection being a radio communication connection;accessing, by the memory controller, the protected data stored in the protected memory area;operating, by the memory controller, at least part of an authentication algorithm for accessing the protected data stored in the protected memory area;operating, by the memory controller, at least part of an encryption operation on the protected data for wireless transmission;wirelessly transmitting the encrypted protected data from the integrated circuit memory device over the local point-to-point wireless communication connection to the wireless computing device;wirelessly receiving information, via the wireless interface of the integrated circuit memory device, over the local point-to-point wireless communication connection, from the wireless computing device, in response to the integrated circuit memory device having wirelessly transmitted the encrypted protected data to the wireless computing device over the local point-to-point wireless communication; anddisplaying, on the graphical user interface, at the integrated circuit memory device, and to the user of the integrated circuit memory device, the information that is wirelessly received from the wireless computing device;wherein the integrated circuit memory device provides protection of the protected data by storing the protected data in the protected memory area and requiring use of the integrated circuit memory device for wirelessly transmitting the encrypted protected data stored in the protected memory area.
  • 2. The integrated circuit memory device of claim 1, wherein the protecting of the protected data includes storing the protected data in the protected memory area of the integrated circuit memory device, using a decryption operation, using the encryption operation, and using the wireless transmission over the local point-to-point wireless communication connection.
  • 3. The integrated circuit memory device of claim 1, wherein the integrated circuit memory device is included in at least one of a smart card, a dongle, a USB memory device, or a wireless communication device.
  • 4. The integrated circuit memory device of claim 3, wherein the integrated circuit memory device is a wireless communication device, and wherein the wireless communication device further includes the graphical user interface, and wherein the integrated circuit memory device is further configured for, prior to establishing the local point-to-point wireless communication connection between the integrated circuit memory device and the wireless computing device, obtaining, via the graphical user interface, authentication information for establishing the local point-to-point wireless communication connection between the integrated circuit memory device and the wireless computing device, wherein the authentication information includes a password, a personal identification number (PIN), or biometric information, individually or in combination.
  • 5. The integrated circuit memory device of claim 1, wherein the integrated circuit memory device is further configured for discovering the wireless computing device for establishing the local point-to-point wireless communication connection.
  • 6. The integrated circuit memory device of claim 1, further comprising a structural interface for connecting the integrated circuit memory device to a reader or a computing device, wherein the integrated circuit memory device is further configured for transmitting the encrypted protected data from the integrated circuit memory device, over the structural interface and via a structural connection, to the reader or the computing device.
  • 7. A method for wirelessly transmitting protected data stored in an integrated circuit memory device to a wireless computing device, the integrated circuit memory device having: a graphical user interface;a wireless interface, which includes a radio component, for establishing a local point-to-point wireless communication connection with the wireless computing device, the local point-to-point wireless communication connection being a radio communication connection;a controller;a memory component;a protected memory area in the memory component storing protected data, wherein the protected data stored in the protected memory area is implemented to be inaccessible at the protected memory area by a user of the integrated circuit memory device, but is implemented to be accessible by the controller, wherein the protected data includes data or software; andan internal memory area in the memory component storing a program, wherein the program stored in the internal memory area is implemented to be inaccessible, at the internal memory area, by the user, but is implemented to be accessible and executable by the controller to support at least part of functionalities of the controller;the method comprising: establishing, using the wireless interface of the integrated circuit memory device, the local point-to-point wireless communication connection between the integrated circuit memory device and the wireless computing device, the local point-to-point wireless communication connection being a radio communication connection;enabling, by the integrated circuit memory device, at least part of operations of the integrated circuit memory device subsequent to establishing the local point-to-point wireless communication connection;accessing, by the controller, the protected data stored in the protected memory area;operating, by the controller, at least part of an encryption operation on the protected data for encrypting the protected data for wireless transmission;wirelessly transmitting the encrypted protected data from the integrated circuit memory device, over the local point-to-point wireless communication connection, to the wireless computing device;wirelessly receiving, via the wireless interface, at the integrated circuit memory device, and over the local point-to-point wireless communication connection, information from the wireless computing device, in response to the integrated circuit memory device having wirelessly transmitted the encrypted protected data, over the local point-to-point wireless communication connection, to the wireless computing device; anddisplaying, on the graphical user interface, at the integrated circuit memory device, and to the user of the integrated circuit memory device, the information that is wirelessly received from the wireless computing device,wherein the integrated circuit memory device provides protection of the protected data by storing the protected data in the protected memory area of the integrated circuit memory device, by the encryption operation, and by the wireless transmission over the local point-to-point wireless communication connection.
  • 8. The method of claim 7, further comprising operating, by the controller, at least part of an authentication algorithm for the controller to access the protected data stored in the protected memory area.
  • 9. The method of claim 7, wherein security of the protected data includes storing the protected data in the protected memory area of the integrated circuit memory device, and wherein the security is safeguarded, at least in part, by the storing of the protected data in the protected memory area of the integrated circuit memory device, by a decryption operation, by the encryption operation, and by the wireless transmission over the local point-to-point wireless communication connection.
  • 10. The method of claim 7, wherein the integrated circuit memory device is included in, or embodied as, a smart card, a dongle, a USB memory device, or a wireless communication device.
  • 11. The method of claim 7, in which the integrated circuit memory device is embodied as a smart card, and the wireless computing device is at least a reader.
  • 12. The method of claim 7, in which the integrated circuit memory device functions as a security key by storing the program in the internal memory area, wherein the program in the internal memory area is implemented to be inaccessible at the internal memory area by the user, but is implemented to be accessible and executable by the controller, wherein the program provides at least part of the operations of the controller, wherein the at least part of the operations includes accessing the protected data stored in the protected memory area of the integrated circuit memory device.
  • 13. The method of claim 7, in which the integrated circuit memory device is a wireless communication device that includes the graphical user interface, and wherein the method further comprises, prior to establishing the local point-to-point wireless communication connection between the integrated circuit memory device and the wireless computing device, obtaining, via the graphical user interface, authentication information for establishing the local point-to-point wireless communication connection between the integrated circuit memory device and the wireless computing device, wherein the authentication information includes a password, a personal identification number (PIN), or biometric information, individually or in combination.
  • 14. The method of claim 7, wherein the integrated circuit memory device further includes a structural interface for connecting the integrated circuit memory device to a reader, a socket, or a port of a computing device, and wherein the method further comprises transmitting the encrypted protected data, from the integrated circuit memory device over the structural interface and via a structural connection, to the wireless computing device.
  • 15. A wireless communication device that includes an integrated circuit memory device for storing protected data and a wireless component for transmitting the protected data to a wireless computing device, the wireless communication device comprising: a graphical user interface;a wireless interface, which includes a radio component, for establishing a local point-to-point wireless communication connection with the wireless computing device, the local point-to-point wireless communication connection being a radio communication connection;a memory controller;a memory component;a protected memory area in the memory component storing the protected data, wherein the protected data stored in the protected memory area is implemented to be inaccessible, at the protected memory area, by a user of the wireless communication device at the protected memory area, but is implemented to be accessible by the memory controller, wherein the protected data includes data or software; andan internal memory area in the memory component storing a program, wherein the program is implemented to be inaccessible, at the internal memory area, by the user but is implemented to be accessible and executable by the memory controller to support at least part of functionalities of the memory controller;wherein operations of the wireless communication device include: establishing, by the wireless communication device, the local point-to-point wireless communication connection between the wireless communication device and the wireless computing device, the establishing of the local point-to-point wireless communication connection using the wireless interface of the wireless communication device, the local point-to-point wireless communication connection being a radio communication connection;enabling, by the wireless communication device, at least part of the operations of the wireless communication device, subsequent to establishing the local point-to-point wireless communication connection;executing, by the memory controller, the program stored in the internal memory area, and wherein the execution of the program, by the memory controller, causes the memory controller: to access the protected data stored in the protected memory area, the accessing of the protected data stored in the protected memory area includes an authentication algorithm, andto encrypt the accessed protected data for wireless transmission; wirelessly transmitting the encrypted protected data from the wireless communication device, over the local point-to-point wireless communication connection, to the wireless computing device;wirelessly receiving information, at the wireless communication device, over the local point-to-point wireless communication connection, from the wireless computing device, in response to the wireless communication device having wirelessly transmitted the encrypted protected data to the wireless computing device; anddisplaying, on the graphical user interface, at the wireless communication device, and to the user of the wireless communication device, the information that is wirelessly received from the wireless computing device,wherein the wireless communication device provides protection of the protected data by storing the protected data in the protected memory area and requiring use of the wireless communication device for the wireless transmission of the encrypted protected data.
  • 16. The wireless communication device of claim 15, wherein the operations of the wireless communication device further comprise providing, by the wireless communication device to the wireless computing device, identification information associated with a device interface description.
  • 17. The wireless communication device of claim 15, wherein security of the protected data includes storing the protected data in the protected memory area of the integrated circuit memory device, and wherein the security of the protected data is safeguarded, at least partly, (i) by the storing of the protected data in the protected memory area of the wireless communication device, (ii) by the encryption of the accessed protected data for the wireless transmission, and (iii) by the wireless transmission over the local point-to-point wireless communication connection.
  • 18. The wireless communication device of claim 15, wherein the integrated circuit memory device is included in at least one of a smart card, a dongle, or a USB memory device.
  • 19. The wireless communication device of claim 15, further comprising a structural interface for connecting the integrated circuit memory device to a reader or a computing system.
  • 20. The wireless communication device of claim 19, wherein the operations of the wireless communication device further comprise: transmitting the protected data, from the integrated circuit memory device over the structural interface and via a structural connection, to the reader or the computing system.
CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 14/833,961, filed on Aug. 24, 2015, which is a continuation of U.S. patent application Ser. No. 14/089,622, filed on Nov. 25, 2013, now U.S. Pat. No. 9,116,723, which is a continuation of U.S. patent application Ser. No. 12/891,594, filed on Sep. 27, 2010, now U.S. Pat. No. 8,595,717, which is (1) a continuation of U.S. patent application Ser. No. 10/823,513, filed on Apr. 12, 2004, now U.S. Pat. No. 7,805,720, which claims the benefit of U.S. Provisional Patent Application Serial No. 60/462,080, filed on Apr. 11, 2003; and (2) a continuation-in-part of U.S. patent application Ser. No. 10/734,481, filed on Dec. 12, 2003, which claims the benefit of U.S. Provisional Patent Application Serial No. 60/433,196, filed on Dec. 12, 2002. The complete disclosures of the above patent applications are hereby incorporated by reference for all purposes.

US Referenced Citations (443)
Number Name Date Kind
5166809 Surbrook Nov 1992 A
5220674 Morgan et al. Jun 1993 A
5287194 Lobiondo Feb 1994 A
5337258 Dennis Aug 1994 A
5404433 Hosogai Apr 1995 A
5412798 Garney May 1995 A
5519641 Beers et al. May 1996 A
5564109 Snyder et al. Oct 1996 A
5580177 Gase et al. Dec 1996 A
5596697 Foster et al. Jan 1997 A
5604843 Shaw et al. Feb 1997 A
5613123 Tsang et al. Mar 1997 A
5619250 McClellan et al. Apr 1997 A
5619649 Kovnat et al. Apr 1997 A
5699495 Snipp Dec 1997 A
5705781 Habedank et al. Jan 1998 A
5708780 Levergood et al. Jan 1998 A
5761480 Fukada et al. Jun 1998 A
5796442 Gove et al. Aug 1998 A
5815194 Ueda Sep 1998 A
5832191 Thorne Nov 1998 A
5867633 Taylor, III et al. Feb 1999 A
5911044 Lo et al. Jun 1999 A
5926104 Robinson Jul 1999 A
5926624 Katz et al. Jul 1999 A
5933498 Schneck et al. Aug 1999 A
5940843 Zucknovich et al. Aug 1999 A
5974312 Hayes, Jr. et al. Oct 1999 A
5982520 Weiser et al. Nov 1999 A
5987454 Hobbs Nov 1999 A
6009464 Hamilton Dec 1999 A
6020973 Levine et al. Feb 2000 A
6037981 Wilson et al. Mar 2000 A
6043898 Jacobs Mar 2000 A
6044428 Rayabhari Mar 2000 A
6046820 Konishi Apr 2000 A
6061452 Suzuki May 2000 A
6070185 Anupam et al. May 2000 A
6091956 Hollenberg Jul 2000 A
6119153 Dujari et al. Sep 2000 A
6138178 Watanabe Oct 2000 A
6141659 Barker et al. Oct 2000 A
6148081 Szymanski et al. Nov 2000 A
6148346 Hanson Nov 2000 A
6157809 Kambayashi Dec 2000 A
6167514 Matsui et al. Dec 2000 A
6169789 Rao et al. Jan 2001 B1
6202023 Hancock et al. Mar 2001 B1
6205429 Peng Mar 2001 B1
6216183 Rawlins Apr 2001 B1
6225993 Lindblad et al. May 2001 B1
6233611 Ludtke et al. May 2001 B1
6246486 Takahashi Jun 2001 B1
6251014 Stockdale et al. Jun 2001 B1
6256666 Singhal Jul 2001 B1
6263387 Chrabaszcz Jul 2001 B1
6263392 McCauley Jul 2001 B1
6279153 Bi et al. Aug 2001 B1
6282710 Boehler Aug 2001 B1
6285889 Nykänen et al. Sep 2001 B1
6288790 Yellepeddy et al. Sep 2001 B1
6324521 Shiota et al. Nov 2001 B1
6330611 Itoh et al. Dec 2001 B1
6339706 Tillgren et al. Jan 2002 B1
6353928 Altberg et al. Mar 2002 B1
6360364 Chen et al. Mar 2002 B1
6363452 Lach Mar 2002 B1
6366912 Wallent et al. Apr 2002 B1
6366965 Binford et al. Apr 2002 B1
6366966 Aney et al. Apr 2002 B1
6370686 Delo et al. Apr 2002 B1
6379058 Petteruti et al. Apr 2002 B1
6389010 Kubler et al. May 2002 B1
6389159 Gilman et al. May 2002 B2
6396531 Gerszberg et al. May 2002 B1
6405362 Shih et al. Jun 2002 B1
6418439 Papierniak et al. Jul 2002 B1
6418554 Delo et al. Jul 2002 B1
6421748 Lin et al. Jul 2002 B1
6426798 Yeung Jul 2002 B1
6434535 Kupka et al. Aug 2002 B1
6449052 Sherer et al. Sep 2002 B1
6452692 Yacoub Sep 2002 B1
6453127 Wood et al. Sep 2002 B2
6473800 Jerger et al. Oct 2002 B1
6477575 Koeppel et al. Nov 2002 B1
6480292 Sugiyama Nov 2002 B1
6484219 Dunn et al. Nov 2002 B1
6487587 Dubey Nov 2002 B1
6487599 Smith et al. Nov 2002 B1
6493104 Cromer et al. Dec 2002 B1
6496802 van Zoest et al. Dec 2002 B1
6532368 Hild et al. Mar 2003 B1
6545722 Schultheiss et al. Apr 2003 B1
6546387 Triggs Apr 2003 B1
6546419 Humpleman et al. Apr 2003 B1
6550008 Zhang Apr 2003 B1
6553431 Yamamoto et al. Apr 2003 B1
6556313 Chang et al. Apr 2003 B1
6529522 Ito et al. May 2003 B1
6560651 Katz et al. May 2003 B2
6584903 Jacobs Jul 2003 B2
6590588 Lincke et al. Jul 2003 B2
6594723 Chapman et al. Jul 2003 B1
6600569 Osada et al. Jul 2003 B1
6601093 Peters Jul 2003 B1
6603744 Mizutani et al. Aug 2003 B2
6604135 Rogers et al. Aug 2003 B1
6604140 Beck et al. Aug 2003 B1
6607314 McCannon et al. Aug 2003 B1
6608928 Queiroz Aug 2003 B1
6611812 Hurtado et al. Aug 2003 B2
6615404 Garfunkel et al. Sep 2003 B1
6622018 Erekson Sep 2003 B1
6623527 Hamzy Sep 2003 B1
6625472 Farazmandnia et al. Sep 2003 B1
6625761 Sartore et al. Sep 2003 B1
6628417 Naito et al. Sep 2003 B1
6633395 Tuchitoi et al. Oct 2003 B1
6636929 Frantz et al. Oct 2003 B1
6654135 Mitani Nov 2003 B2
6658625 Allen Dec 2003 B1
6662224 Angwin et al. Dec 2003 B1
6671068 Chang et al. Dec 2003 B1
6678751 Hays et al. Jan 2004 B1
6694371 Sanai Feb 2004 B1
6697848 Hamilton et al. Feb 2004 B2
6701009 Makoto et al. Mar 2004 B1
6705781 Iwazaki Mar 2004 B2
6732179 Brown et al. May 2004 B1
6735766 Chamberlain et al. May 2004 B1
6735768 Tanaka May 2004 B1
6745229 Gobin et al. Jun 2004 B1
6745255 Yen et al. Jun 2004 B2
6751732 Strobel et al. Jun 2004 B2
6753978 Chang Jun 2004 B1
6757070 Lin et al. Jun 2004 B1
6757783 Koh Jun 2004 B2
6760745 Tan et al. Jul 2004 B1
6772233 Iida et al. Aug 2004 B2
6785727 Yamazaki Aug 2004 B1
6788428 Shimokawa Sep 2004 B1
6798530 Buckley et al. Sep 2004 B1
6826632 Wugofski Nov 2004 B1
6829672 Deng et al. Dec 2004 B1
6830340 Olson et al. Dec 2004 B2
6839771 Bouchier et al. Jan 2005 B1
6840441 Monaghan et al. Jan 2005 B2
6845398 Galensky et al. Jan 2005 B1
6857716 Nagahashi Feb 2005 B1
6859228 Chang et al. Feb 2005 B1
6885362 Suomela Apr 2005 B2
6889058 Tordera May 2005 B2
6892230 Gu et al. May 2005 B1
6895444 Weisshaar et al. May 2005 B1
6898652 Peters et al. May 2005 B2
6910068 Zintel et al. Jun 2005 B2
6922725 Lamming et al. Jul 2005 B2
6941014 Lin et al. Sep 2005 B2
6944687 Doragh et al. Sep 2005 B2
6947995 Chang et al. Sep 2005 B2
6948165 Luu et al. Sep 2005 B1
6952831 Moore Oct 2005 B1
6975644 Tordera et al. Dec 2005 B2
7028102 Larsson et al. Apr 2006 B1
7047302 Chatani et al. May 2006 B1
7050840 Lin et al. May 2006 B2
7054296 Sorrells et al. May 2006 B1
7055956 Olson et al. Jun 2006 B2
7055965 Koba Jun 2006 B2
7069578 Prus et al. Jun 2006 B1
7076534 Cleron et al. Jul 2006 B1
7085814 Gandhi et al. Aug 2006 B1
7099304 Liu et al. Aug 2006 B2
7102691 Dischert et al. Sep 2006 B2
7127541 Govindarajulu et al. Oct 2006 B2
7136914 Motoyama Nov 2006 B2
7143408 Anderson et al. Nov 2006 B2
7149726 Ingle et al. Dec 2006 B1
7149834 Peters et al. Dec 2006 B2
7158953 DeMello et al. Jan 2007 B1
7164885 Jonsson et al. Jan 2007 B2
7174535 Wragge Feb 2007 B2
7180475 Slobodin et al. Feb 2007 B2
7230939 Toyoshima Jun 2007 B2
7237046 Paley et al. Jun 2007 B2
7239346 Priddy Jul 2007 B1
7243153 McIntyre et al. Jul 2007 B2
7260390 Skinner et al. Aug 2007 B1
7269668 Redford et al. Sep 2007 B2
7318086 Chang et al. Jan 2008 B2
7345347 Ohkubo et al. Mar 2008 B2
7353416 Jeansonne et al. Apr 2008 B2
7355732 Yamaguchi Apr 2008 B2
7356347 Kammer Apr 2008 B1
7370090 Nakaoka et al. May 2008 B2
7484245 Friedman et al. Jan 2009 B1
7577910 Husemann et al. Aug 2009 B1
7580005 Palin Aug 2009 B1
7609402 Chang et al. Oct 2009 B2
7630721 Ortiz Dec 2009 B2
7644018 Yukie et al. Jan 2010 B1
7704147 Quraishi et al. Apr 2010 B2
RE41416 Liu et al. Jul 2010 E
7762470 Finn Jul 2010 B2
RE41487 Liu et al. Aug 2010 E
RE41532 Liu et al. Aug 2010 E
RE41689 Liu et al. Sep 2010 E
7805720 Chang et al. Sep 2010 B2
RE41882 Liu et al. Oct 2010 E
7908401 Chang Mar 2011 B2
7941541 Chang et al. May 2011 B2
7944577 Chang et al. May 2011 B2
7953818 Chang et al. May 2011 B2
RE42725 Chang et al. Sep 2011 E
RE42828 Liu et al. Oct 2011 E
8082491 Abdelaziz et al. Dec 2011 B1
8082572 Tilford Dec 2011 B1
RE43181 Liu et al. Feb 2012 E
8169649 Chang et al. May 2012 B2
8184324 Chang et al. May 2012 B2
8285802 Chang et al. Oct 2012 B2
8296757 Chang et al. Oct 2012 B2
8332521 Chang et al. Dec 2012 B2
8533352 Chang Sep 2013 B2
8595717 Chang et al. Nov 2013 B2
8630000 Chang et al. Jan 2014 B2
8705097 Chang et al. Apr 2014 B2
8711408 Chang et al. Apr 2014 B2
8812398 Kuhn et al. Aug 2014 B2
8964220 Chang et al. Feb 2015 B2
8972610 Chang Mar 2015 B2
8989064 Chang et al. Mar 2015 B2
9036181 Chang et al. May 2015 B2
9037088 Chang et al. May 2015 B2
9042811 Chang et al. May 2015 B2
9043482 Chang May 2015 B2
9069510 Chang et al. Jun 2015 B2
9092177 Chang et al. Jul 2015 B2
9110622 Chang et al. Aug 2015 B2
9116723 Chang et al. Aug 2015 B2
9164718 Chang et al. Oct 2015 B2
9298407 Chang et al. Mar 2016 B2
9383956 Chang et al. Jul 2016 B2
9389822 Chang et al. Jul 2016 B2
9798516 Chang et al. Oct 2017 B2
RE46637 Liu et al. Dec 2017 E
9836257 Chang et al. Dec 2017 B2
9836259 Chang et al. Dec 2017 B2
9841935 Chang et al. Dec 2017 B2
9965233 Chang et al. May 2018 B2
9971555 Chang et al. May 2018 B2
10037178 Chang et al. Jul 2018 B2
10126991 Chang et al. Nov 2018 B2
10133527 Chang et al. Nov 2018 B2
10140071 Chang et al. Nov 2018 B2
10140072 Chang et al. Nov 2018 B2
10140073 Chang et al. Nov 2018 B2
10152285 Chang et al. Dec 2018 B2
10162596 Chang et al. Dec 2018 B2
10261739 Chang et al. Apr 2019 B2
10303411 Chang et al. May 2019 B2
10346114 Chang et al. Jul 2019 B2
10359957 Chang Jul 2019 B2
10387087 Chang et al. Aug 2019 B2
10481846 Chang et al. Nov 2019 B2
10481847 Chang et al. Nov 2019 B2
10489096 Chang et al. Nov 2019 B2
10592201 Chang et al. Mar 2020 B2
10592202 Chang et al. Mar 2020 B2
10606535 Chang et al. Mar 2020 B2
10642576 Chang et al. May 2020 B2
RE48066 Liu et al. Jun 2020 E
RE48088 Liu et al. Jul 2020 E
10740066 Chang et al. Aug 2020 B2
10761791 Chang et al. Sep 2020 B2
10768871 Chang et al. Sep 2020 B2
10841798 Chang et al. Nov 2020 B2
10846031 Chang et al. Nov 2020 B2
10860290 Chang et al. Dec 2020 B2
10866773 Chang et al. Dec 2020 B2
10873856 Chang et al. Dec 2020 B2
10915296 Chang et al. Feb 2021 B2
10963169 Chang Mar 2021 B2
11029903 Chang et al. Jun 2021 B2
11096056 Chang et al. Aug 2021 B2
11169756 Chang et al. Nov 2021 B2
11204729 Chang et al. Dec 2021 B2
11467856 Chang Oct 2022 B2
20010029531 Ohta Oct 2001 A1
20010032254 Hawkins Oct 2001 A1
20020002707 Ekel et al. Jan 2002 A1
20020010756 Oku Jan 2002 A1
20020012329 Atkinson et al. Jan 2002 A1
20020013730 Bigus Jan 2002 A1
20020026492 Fujita Feb 2002 A1
20020032855 Neves et al. Mar 2002 A1
20020049580 Kutaragi et al. Apr 2002 A1
20020051200 Chang et al. May 2002 A1
20020058499 Ortiz May 2002 A1
20020065098 Hosogaya May 2002 A1
20020065872 Genske et al. May 2002 A1
20020078161 Cheng Jun 2002 A1
20020078367 Lang et al. Jun 2002 A1
20020081993 Toyoshima Jun 2002 A1
20020083151 Adams et al. Jun 2002 A1
20020083430 Kusuda et al. Jun 2002 A1
20020091843 Vaid Jul 2002 A1
20020097408 Chang et al. Jul 2002 A1
20020097415 Chang et al. Jul 2002 A1
20020097416 Chang et al. Jul 2002 A1
20020097417 Chang et al. Jul 2002 A1
20020097418 Chang et al. Jul 2002 A1
20020097419 Chang et al. Jul 2002 A1
20020097433 Chang et al. Jul 2002 A1
20020101515 Yoshida et al. Aug 2002 A1
20020108054 Moore et al. Aug 2002 A1
20020145632 Shmueli et al. Oct 2002 A1
20020147912 Shmueli et al. Oct 2002 A1
20020169960 Iguchi et al. Nov 2002 A1
20020174254 Kita et al. Nov 2002 A1
20020178295 Buczek et al. Nov 2002 A1
20030028481 Flitcroft et al. Feb 2003 A1
20030028797 Long et al. Feb 2003 A1
20030046447 Kouperchliak et al. Mar 2003 A1
20030084256 McKee May 2003 A1
20030087601 Agam et al. May 2003 A1
20030110371 Yang et al. Jun 2003 A1
20030110372 Proudler Jun 2003 A1
20030112975 Taiwanese Jun 2003 A1
20030120754 Muto et al. Jun 2003 A1
20030122934 Shiohara Jul 2003 A1
20030126298 Redford et al. Jul 2003 A1
20030160993 Kang Aug 2003 A1
20030161193 Moran et al. Aug 2003 A1
20030182456 Lin et al. Sep 2003 A1
20030196007 Baron Oct 2003 A1
20030200372 Doragh et al. Oct 2003 A1
20030208629 Parkman Nov 2003 A1
20030225971 Oishi et al. Dec 2003 A1
20040001088 Stancil et al. Jan 2004 A1
20040006648 Kita et al. Jan 2004 A9
20040015709 Chen et al. Jan 2004 A1
20040024688 Bi et al. Feb 2004 A1
20040057075 Stewart et al. Mar 2004 A1
20040070379 Koretsky et al. Apr 2004 A1
20040078708 Li et al. Apr 2004 A1
20040095382 Fisher et al. May 2004 A1
20040127254 Chang Jul 2004 A1
20040177355 Wragge Sep 2004 A1
20040193900 Nair Sep 2004 A1
20040199909 Goodman Oct 2004 A1
20040203694 Wong et al. Oct 2004 A1
20050005149 Hirota et al. Jan 2005 A1
20050005263 Miyazaki Jan 2005 A1
20050014534 Hareng et al. Jan 2005 A1
20050055690 Cornillon et al. Mar 2005 A1
20050059380 Tomita Mar 2005 A1
20050246436 Day et al. Nov 2005 A1
20060080517 Brown Apr 2006 A1
20060112414 Konen et al. May 2006 A1
20060173980 Kobayashi et al. Aug 2006 A1
20070038724 Toyoshima Feb 2007 A1
20070081486 Koide Apr 2007 A1
20070240154 Gerzymisch et al. Oct 2007 A1
20070288611 Serceki et al. Dec 2007 A1
20080003947 Morris Jan 2008 A1
20080049740 Serceki et al. Feb 2008 A1
20080071935 Ohta Mar 2008 A1
20080126628 Mullis et al. May 2008 A1
20090048978 Ginter et al. Feb 2009 A1
20090049307 Lin Feb 2009 A1
20090182903 Tordera Jul 2009 A1
20090198839 Banerjee et al. Aug 2009 A1
20090210868 Parthasarathy Aug 2009 A1
20100174631 Tian et al. Jul 2010 A1
20100201996 Chang et al. Aug 2010 A1
20100203824 Chang et al. Aug 2010 A1
20100227550 Chang et al. Sep 2010 A1
20110016280 Chang et al. Jan 2011 A1
20110034150 Chang et al. Feb 2011 A1
20110035682 Chang et al. Feb 2011 A1
20110138378 Chang et al. Jun 2011 A1
20110167166 Chang Jul 2011 A1
20110167175 Chang Jul 2011 A1
20110211226 Chang et al. Sep 2011 A1
20110279829 Chang et al. Nov 2011 A1
20110279863 Chang et al. Nov 2011 A1
20120096451 Tenbarge et al. Apr 2012 A1
20120230315 Chang et al. Sep 2012 A1
20120258700 Chang et al. Oct 2012 A1
20130095887 Chang et al. Apr 2013 A1
20130103775 Chang et al. Apr 2013 A1
20130104052 Chang Apr 2013 A1
20130109353 Chang et al. May 2013 A1
20130111459 Nakamoto May 2013 A1
20140018130 Chang Jan 2014 A1
20140082604 Chang et al. Mar 2014 A1
20150356561 Chang et al. Dec 2015 A1
20150356564 Chang et al. Dec 2015 A1
20150363763 Chang et al. Dec 2015 A1
20150381612 Chang Dec 2015 A1
20160011836 Chang et al. Jan 2016 A1
20160174068 Chang et al. Jun 2016 A1
20160239232 Chang Aug 2016 A1
20160239243 Chang et al. Aug 2016 A1
20160313974 Chang et al. Oct 2016 A1
20170039009 Chang et al. Feb 2017 A1
20170064746 Chang et al. Mar 2017 A1
20170075636 Chang et al. Mar 2017 A1
20170078521 Chang et al. Mar 2017 A1
20170185376 Chang et al. Jun 2017 A1
20170228202 Chang et al. Aug 2017 A1
20170242649 Jarvis et al. Aug 2017 A1
20170249116 Chang et al. Aug 2017 A1
20170277487 Chang et al. Sep 2017 A1
20170286027 Chang et al. Oct 2017 A1
20170364326 Chang et al. Dec 2017 A1
20180011667 Chang et al. Jan 2018 A1
20180024790 Chang et al. Jan 2018 A1
20180024791 Chang et al. Jan 2018 A1
20180039456 Chang et al. Feb 2018 A1
20180039459 Chang et al. Feb 2018 A1
20180041482 Chang et al. Feb 2018 A1
20180046418 Chang et al. Feb 2018 A1
20180203647 Chang et al. Jul 2018 A1
20180203648 Chang et al. Jul 2018 A1
20180253264 Chang et al. Sep 2018 A1
20180335989 Chang et al. Nov 2018 A1
20180364929 Chang et al. Dec 2018 A9
20190107980 Chang et al. Apr 2019 A1
20190121585 Chang et al. Apr 2019 A1
20190121613 Chang et al. Apr 2019 A1
20190250883 Chang et al. Aug 2019 A1
20190272148 Chang et al. Sep 2019 A1
20190303100 Chang et al. Oct 2019 A1
20190361617 Chang et al. Nov 2019 A1
20190384547 Chang et al. Dec 2019 A1
20200097225 Chang et al. Mar 2020 A1
20200225889 Chang et al. Jul 2020 A1
20210055891 Chang et al. Feb 2021 A1
20210165632 Chang et al. Jun 2021 A1
20210303180 Chang et al. Sep 2021 A1
Foreign Referenced Citations (16)
Number Date Country
1345497 Apr 2002 CN
19846452 Dec 1999 DE
0473987 Mar 1992 EP
1072976 Jan 2001 EP
2357663 Jun 2001 GB
9526703 Oct 1995 WO
9843433 Oct 1998 WO
0002358 Jan 2000 WO
0006904 Feb 2000 WO
0024192 Apr 2000 WO
0044119 Jul 2000 WO
0125870 Apr 2001 WO
0142894 Jun 2001 WO
0241118 May 2002 WO
03015641 Feb 2003 WO
2004093149 Oct 2004 WO
Non-Patent Literature Citations (104)
Entry
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 10/734,481, dated Sep. 28, 2016, 20 pages.
Dave Haynie, “The Zorro III Bus Specification: A General Purpose Expansion Bus for High Performance Amiga Computers,” Vernal Equinox Release, Mar. 20, 1991, 60 pages.
Herman D'Hooge, “The Communicating PC,” IEEE Communications Magazine, Apr. 1996, pp. 36-42.
Wiener et al. “Meeting USB and IEEE1394 overcurrent protection requirements using PolySwitch devices,” IEEE Wescon/97 Conference Proceedings, Nov. 1997, pp. 442-475.
International Searching Authority, International Search Report in International application No. PCT/US01/48057, dated Jan. 6, 2003, 1 page.
International Preliminary Examination Authority, International Preliminary Examination Report in International application No. PCT/US01/48057, dated Aug. 24, 2004, 11 pages.
International Searching Authority, International Search Report in International application No. PCT/US03/39547, dated Jul. 15, 2005, 4 pages.
International Searching Authority, International Search Report in International application No. PCT/US04/11372, dated Jun. 20, 2007, 3 pages.
The International Bureau of WIPO, International Preliminary Report on Patentability in International application No. PCT/US2004/011372, dated Aug. 14, 2007, 8 pages.
State Intellectual Property Office of the P.R.C., Office action in Chinese Patent Application No. 2004800163094.4, dated May 8, 2009, 10 pages.
European Patent Office, Office action in European Patent Application No. 01985549.3, dated Oct. 26, 2010, 4 pages.
State Intellectual Property Office of the P.R.C., Office action in Chinese Patent Application No. 200480016309.4, dated May 24, 2011, 11 pages.
State Intellectual Property Office of the P.R.C., Office action in Chinese Patent Application No. 200480016309.4, dated Oct. 28, 2011, 6 pages.
European Patent Office, Office action in European Patent Application No. 04759486.6, dated Dec. 23, 2011, 11 pages.
State Intellectual Property Office of the P.R.C., Office action in Chinese Patent Application No. 200480016309.4, dated Aug. 5, 2013, 18 pages.
Tony K.P. Wong, “An Embedded Chip for USB Application: from the Architecture to the Implementation,” International IC '99 Conference Proceedings, 1999, pp. 1-10.
E.V. Vetvitskii et al., “Use of the USB Universal Serial Bus in Computer Medical Systems,” Biomedical Engineering, 2000, pp. 167-172, vol. 34, No. 4.
M-SYSTEMS, “Mobile DiskOnChip Plus 32/64MByte, Flash Disk with Protection and Security-Enabling Features,” 2002, 50 pages.
Ray Geroski, “Take your data anywhere with these four USB miniature storage devices,” Sep. 23, 2002, 6 bages.
Ed Roth, “Storage in a Flash,” Dec. 15, 2002, 4 pages.
Jon David, “Security in a Flash,” 2003, 6 pages.
Jankovec et al., “Analog circuit development system,” IEEE, 2003, pp. 125-129.
Terrence B. Remple, “Usb On-The-Go Interface for Portable Devices,” IEEE, 2003, pp. 8-9.
Attiaoui et al. “Conception of Data Base Management System in USB Smart Card Flash Memory: Application for the Cancer Pathology of Medical Information Systems,” SETIT 2005: 3rd International Conference: Sciences of Electronic Technologies of Information and Telecommunications, Mar. 27-31, 2005, pp. 1-7.
Tahir et al., “Analysis of AutoPlay Feature via the USB Flash Drives,” Proceedings of the World Conference on Engineering WCE 2008, London, U.K., Jul. 2-4, 2008, pp. 1-4, vol. 1.
Jebarajan et al., “A Method for Designing an Operating System for Plug and Play Bootstrap Loader USB Drive,” JCSI International Journal of Computer Science Issues, Jan. 2001, pp. 295-301, vol. 8, Issue 1.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Dec. 8, 2009, 40 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/823,513, dated Dec. 17, 2009, 32 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 10/823,513, dated Jun. 1, 2010, 43 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 10/734,484, dated Oct. 28, 2010, 57 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Aug. 2, 2011, 68 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 13/047,672, dated Jan. 20, 2012, 58 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 13/047,674, dated Mar. 14, 2012, 38 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Apr. 4, 2012, 83 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 12/890,487, dated Jun. 20, 2012, 10 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 12/891,594, dated Jul. 5, 2012, 50 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 13/047,674, dated Nov. 6, 2012, 21 pages.
European Patent Office, Office action in European Patent Application No. 04759486.6, dated Jan. 8, 2014, 14 pages.
European Patent Office, Office action in European Patent Application No. 04759486.6, dated Mar. 19, 2014, 3 pages.
State Intellectual Property Office of the P.R.C., Office action in Chinese Patent Application No. 200480016309.4, dated Apr. 3, 2014, 14 pages.
European Patent Office, Office action in European Patent Application No. 04759486.6, dated May 22, 2014, 43 pages.
State Intellectual Property Office of the P.R.C., Decision of Rejection in Chinese Patent Application No. 200480016309.4, dated Sep. 29, 2014, 17 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/823,513, dated Feb. 8, 2007, 60 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/823,513, dated Oct. 31, 2007, 26 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Mar. 24, 2008, 33 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,484, dated Sep. 2, 2008, 44 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/823,513, dated Dec. 29, 2008, 28 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Jan. 6, 2009, 43 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 13/047,672, dated Nov. 6, 2012, 33 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Nov. 7, 2012, 86 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 12/891,594, dated Jan. 18, 2013, 11 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 13/047,674, dated Apr. 29, 2013, 15 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 12/891,594, dated Jul. 22, 2013, 26 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 13/047,672, dated Aug. 1, 2013, 25 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Sep. 10, 2013, 28 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 14/021,974, dated Nov. 22, 2013, 21 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 13/047,672, dated Dec. 24, 2013, 21 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Apr. 3, 2014, 22 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 14/021,974, dated May 16, 2014, 47 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 13/047,672, dated Jun. 25, 2014, 30 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 10/734,481, dated Aug. 27, 2014, 23 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 14/021,974, dated Sep. 9, 2014, 17 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 14/089,622, dated Oct. 6, 2014, 101 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 13/047,672, dated Oct. 17, 2014, 33 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 14/021,974, dated Dec. 19, 2014, 24 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 10/734,481, dated Dec. 23, 2014, 15 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 14/089,622, dated Mar. 24, 2015, 44 pages.
U.S. Patent and Trademark Office, Notice of Allowance in U.S. Appl. No. 10/734,481, dated Apr. 14, 2015, 18 pages.
U.S. Patent and Trademark Office, Supplemental Notice of Allowability in U.S. Appl. No. 14/089,622, dated Apr. 29, 2015, 16 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Aug. 17, 2015, 19 pages.
U.S. Patent and Trademark Office, Office action in U.S. Appl. No. 10/734,481, dated Jan. 28, 2016, 33 pages.
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 10/734,481, dated May 15, 2017, 98 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 15/042,051, dated Dec. 28, 2017, 68 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 15/042,051, dated Sep. 28, 2018, 14 pages.
Notice of Allowance prepared by the US Patent and Trademark Office for U.S. Appl. No. 15/042,051, dated Feb. 26, 2019, 68 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 16/518,727, dated May 15, 2020, 56 pages.
Notice of Allowance prepared by the US Patent and Trademark Office for U.S. Appl. No. 16/518,727, dated Nov. 6, 2020, 65 bages.
Corrected Notice of Allowability prepared by the US Patent and Trademark Office for U.S. Appl. No. 16/518,727, dated Mar. 1, 2021, 9 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 10/734,481, dated Feb. 14, 2018, 41 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 10/734,481, dated Feb. 21, 2019, 113 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 10/734,481, dated Oct. 10, 2019, 107 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 10/734,481, dated May 29, 2020, 93 pages.
Office Action prepared by the US Patent and Trademark Office for U.S. Appl. No. 10/734,481, dated Jan. 29, 2021, 31 pages.
Rigney, Steve, Print Servers (PC Magazine, Jan. 19, 1999), 8 pages.
Notice of Allowance prepared by the US Patent and Trademark Office for U.S. Appl. No. 10/734,481, dated Nov. 24, 2021, 46 pages.
Kindberg et al., “A Web Based Nomadic Computing System”, HP Laboratories, Palo Alto, CA; Aug. 24, 2000, 14 pages.
Bluetooth, Core, “Specification of the Bluetooth System,” Dec. 1, 1999, 1080 pages (attachments are in 4 parts).
“Part 11 Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” ANSI/IEEE Std. 802.11, 1999 Edition, 528 pages (split into two documents).
Richard III, Golden G., “Service Advertisement and Discovery: Enabling Universal Device Cooperation” (IEEE Internet Computing Magazine, September/Oct. 2000), 9 pages.
Rigney, Steve, Print Servers (PC Magazine, Jan. 19, 1999), 12 pages.
Excerpts from Gerard O'Driscoll, The Essential Guide to Home Networking (Published 2000/ Reprinted 2001), 25 bages.
Axis Print Server Brochure (archived on Sep. 25, 2000, available at https://web.archive.org/web/20000925114525/http:/www.axis.com/ftp/pub/axis/data_sheets/npsds.pdf), 4 pages.
Excerpts from UPnP Forum Connections Newsletter, Third Quarter 2000 (archived on Aug. 16, 2000, available at https://web.archive.org/web/20000816073400/http://upnp.org/newsletter/default.htm, https://web.archive.org/web/20000818105427/http://www.upnp.org/newsletter/devtools.htm), 6 pages.
Excerpts from Bluetooth Core Specification v1.0 B (Dec. 1, 1999), 60 pages.
Excerpts from Roy Hoffman, Data Compression in Digital Systems (1997), 189 pages.
Excerpts from Michael Miller, The Complete Idiot's Guide to Home Theater Systems (2000), 58 pages.
Awduche, Daniel O. “On Resource Discovery Systems with Mobile Hosts” (1996), 6 pages.
IEEE Standard for Information Technology—Transport Independent Printer/System Interface (TIP/SI) (1997), 124 pages.
Macintosh PowerBook User's Manual (1998), 94 pages.
Setting Up Your PowerBook (2000), 80 pages.
Wright, “Design Goals for an Internet Printing Protocol,” Apr. 1999, 43 pages.
United States Patent and Trademark Office, Notice of Allowance for U.S. Appl. No. 10/734,481 dated Nov. 24, 2021, 46 pages.
United States Patent and Trademark Office, Corrected Notice of Allowability for U.S. Appl. No. 10/734,481 dated Mar. 9, 2022, 6 pages.
United States Patent and Trademark Office, Notice of Allowance for U.S. Appl. No. 10/734,481 dated May 16, 2022, 6 pages.
Related Publications (1)
Number Date Country
20160174068 A1 Jun 2016 US
Provisional Applications (2)
Number Date Country
60462080 Apr 2003 US
60433196 Dec 2002 US
Continuations (4)
Number Date Country
Parent 14833961 Aug 2015 US
Child 15042044 US
Parent 14089622 Nov 2013 US
Child 14833961 US
Parent 12891594 Sep 2010 US
Child 14089622 US
Parent 10823513 Apr 2004 US
Child 12891594 US
Continuation in Parts (1)
Number Date Country
Parent 10734481 Dec 2003 US
Child 10823513 US