US8086763B2 - Changing class of device - Google Patents
Changing class of device Download PDFInfo
- Publication number
- US8086763B2 US8086763B2 US12/508,684 US50868409A US8086763B2 US 8086763 B2 US8086763 B2 US 8086763B2 US 50868409 A US50868409 A US 50868409A US 8086763 B2 US8086763 B2 US 8086763B2
- Authority
- US
- United States
- Prior art keywords
- class
- client device
- information
- data transfer
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
- 230000008859 change Effects 0.000 claims abstract description 61
- 238000012508 change request Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 56
- 230000005540 biological transmission Effects 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims 6
- 230000006870 function Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Definitions
- the present disclosure relates to changing class of device.
- the host device when a client device such as a USB is linked to a host device, the host device registers the client device in its own registry through an enumeration process. At this time, the enumeration process begins when the host device is linked to the client device. Furthermore, when a link with the client device is sensed by the host device, it starts a real information exchange with the client device by sending a Get_Descriptor command to the linked client device. Furthermore, when the client device receives a Get_Descriptor command in response to that command, it transmits a Device_Descriptor signal including various information about the client device to the host device. The host device analyzes the transmitted Device_Descriptor signal to classify and recognize a function of the USB device based upon this signal.
- USB device the function of a USB device is classified into several class functions as defined by the USB standard, and typical class functions of them are Mass Storage Class, Human Interface Class, Audio Class, Video Class, Communications Device Class, and the like.
- Each device supports at least one class function from among those various class functions, and when a device having at least two class functions is linked to a host, an enumeration operation is largely classified into two kinds.
- the first type of enumeration operation recognizes each USB device that is linked with the host as a device having only one class function from among the class functions provided by the relevant device. For example, the client device is recognized as Mass Storage Class by performing an enumeration process, and then the client device is recognized only as Mass Storage Class even if other class functions are supported by the relevant device.
- the second type of enumeration operation recognizes all of the class functions included in a USB device, registering each of them in the registry of a host device. As such, the functions provided by the USB device can be activated and utilized one-by-one.
- a class changing apparatus includes a link unit configured to be linked with a client device to transmit and receive data.
- the class changing apparatus also includes a storage unit configured to store apparatus information including class information of the client device.
- the class changing apparatus further includes a control unit coupled to the link unit and the storage unit and controlling operations of the class changing apparatus including a class changing operation, wherein the class change operation includes transmitting a class change command to the client device through the link unit and registering changes to class information stored by the storage unit in response to detecting a class change request.
- Implementations may include one or more of the following features.
- the class change request is received by the link unit from the client device.
- the control unit further determines whether or not the class change request is generated based upon a data type or data transmission method transmitted and received to and from the link unit.
- the control unit determines whether or not the class change request is generated based upon a kind of application program implemented in engagement with the client device.
- control unit deletes existing class information registered in the storage unit in response to detecting a class change request.
- the link unit is a wired interface including a USB interface.
- the link unit is a wireless device.
- the changed class information is provided from the client device. And, the changed class information is a portion of a device-descriptor.
- the class changing apparatus further includes the client device that receives the class change command from the control unit and sends the changed class information to the link unit.
- a class changing apparatus in another aspect, includes a link unit configured to be linked with a client device to transmit and receive data.
- the class changing apparatus also includes a storage unit configured to store apparatus information including class information of the client device.
- the class changing apparatus further includes a control unit coupled to the link unit and the storage unit and controlling operations of the class changing apparatus including a class changing operation, wherein the class change operation includes transmitting at least one command including a command for rebranching into the selected class to the client device through the link unit and registering class information as changed class information in the storage unit in response to detecting a class change request.
- Implementations may include one or more of the following features.
- the class change request is received to the link unit from the client device.
- the control unit determines whether or not the class change request is generated based upon a data type or data transmission method transmitted and received to and from the link unit.
- the control unit determines whether or not the class change request is generated based upon a kind of application program implemented in engagement with the client device.
- control unit deleting existed class information registered in the storage unit in response to detecting a class change request.
- the link unit is a wired interface including a USB interface.
- the changed class information is provided from the client device.
- the class changing apparatus further comprises the client device that receives the command for rebranching into the selected class from the link unit and sends the changed class information to the link unit.
- At least one command includes a reset command.
- the class changing apparatus further includes the client device that receives the reset command from the link unit and resets the link between the client device and the link unit.
- a method of changing a device class includes establishing a communication link between a host device and a client device based on class information.
- the method of changing a device class also includes detecting a class change request using a control unit of the host device.
- the method of changing a device class further includes transmitting a class change command to the client device through a link unit of the host device.
- registering a class information as changed class information in a storage of the host device is establishing a communication link between a host device and a client device based on class information.
- the method of changing a device class also includes detecting a class change request using a control unit of the host device.
- the method of changing a device class further includes transmitting a class change command to the client device through a link unit of the host device.
- registering a class information as changed class information in a storage of the host device is registering a class information as changed class information in a storage of the host device.
- Implementations may include one or more of the following features. For example, establishing a communication link between a host device and a client device based on class information includes sensing, by the host device, a link with the client device. Establishing the communication link also includes requesting, by the host device and from the client device, apparatus information. Establishing the communication link further include transmitting, by the client device in response to the request of the host device, apparatus information having the class information. In addition, establishing the communication link includes storing, in a storage unit, the apparatus information received by the host device, and selecting and implementing a device driver based upon the apparatus information.
- detecting the class change request in the step (B) is based upon a data type or data transmission method transmitted and received between the host device and the client device, or based upon a kind of application program implemented in engagement with the client device in the host device.
- the class change command is a command by an ioctl (Input-Output-Control) interface.
- the method of changing a device class further includes resetting a communication link between the host device and the client device after transmitting the class change command to the client device and transmitting class information by the client device to the host device in response to the class change command.
- a method of changing a device class includes establishing a communication link with a host device as Mass Storage Class by a client device.
- the method of changing a device class also includes generating a file transmission command in a streaming method by the host device.
- the method of changing a device class further includes determining whether or not Streaming Class is supported by the client device.
- the method of changing a device class includes reestablishing a link between the host device and the client device as Streaming Class based upon a determination that Streaming Class is supported by the client device.
- Implementations may include one or more of the following features.
- the method of changing a device class further includes dividing file data to be transmitted by the host device into a size of a buffer provided in the host device to load into the buffer when it is determined that Streaming Class is not supported by the client device and transmitting the data loaded into the buffer to the client device by the host device.
- FIG. 1 is a block diagram illustrating a schematic configuration of showing a class changing apparatus
- FIG. 2 is a flow chart implementing a process for changing a class of a client apparatus
- FIG. 3 is a flow chart implementing a process for recognizing a client device by a host device
- FIG. 4 is a flow chart implementing a process for changing a client device class by a host device
- FIG. 5 is a flow chart implementing a process for transmitting a file to a client device class by a host device.
- a class changing apparatus includes a control unit.
- the control unit as a control means in charge of generally controlling the device class changing apparatus, controls a processing of command analysis, data computation, comparison, input and output, and the like.
- control unit When a link with a client device is sensed by the class changing apparatus, the control unit recognizes the client device to control a data input and output between those two devices.
- the class changing apparatus includes a storage unit.
- Various data related to the operation of the class changing apparatus can be stored in the storage unit.
- apparatus information for various client devices linked to the device class changing apparatus by the control unit is registered in the storage unit.
- the class changing apparatus includes a link unit, and the link unit is a wired or wireless interface through which the client device is communication-linked with the device class changing apparatus.
- the link unit transmits data to the client device, or receives data from the client device based upon a command of the control unit.
- the link unit When the link unit has a wired interface, the link unit is physically linked with the client device, and it may also include a communication port for providing an electrical contact point between those two device. At this time, the link unit may be a communication unit such as a USB (Universal Serial Bus) interface.
- USB Universal Serial Bus
- the link unit may have a wireless interface.
- it may include an antenna for transmitting and receiving a RF (Radio Frequency) signal, a RF module, and the like.
- RF Radio Frequency
- the client device can be linked with the class changing apparatus when the link unit supports the same communication method as a communication interface of the client device that is linked by the link unit.
- control unit first senses whether or not the client device is linked with the link unit.
- the control unit When sensed that the client device is linked with the link unit, the control unit requests apparatus information to the client device to recognize the client device and set up a communication between those two devices.
- the apparatus information is stored in the storage unit to register the client device as an identified client device.
- the apparatus information may be a device-descriptor as defined in the USB standard if the client device is a device supporting a USB interface.
- the device-descriptor as a descriptor for the client device, includes various information related to the device.
- the device-descriptor has information on the product and vendor IDs that are used for loading an appropriate driver used to drive a device, number of available system configurations that can be possessed by a device, and the like.
- the apparatus information includes class information describing the attribute and function of the client device.
- the class information is information provided by the client device to the class changing apparatus to notify whether or not the client device corresponds to any class among the prescribed kinds of classes between the class changing apparatus and the client device.
- USB interface standard for example, Human Interface Device Class, Mass Storage Class, Audio Class, Video Class, and the like.
- the class information is provided to be included in the device-descriptor, or provided to be included in the interface-descriptor, which is a lower-level descriptor included in the device-descriptor.
- At least one interface-descriptor is included in the device-descriptor according to the USB interface standard.
- the client device may provide a device-descriptor including all of a plurality of interface-descriptors to the class changing apparatus, or may provide a device-descriptor including one basically set interface-descriptor to the class changing apparatus.
- the class changing apparatus activates one interface-descriptor among them to establish a communication-link between the class changing apparatus and the client device.
- the class changing apparatus may activate another of the interface-descriptor to establish a communication-link between the device class changing apparatus and the client device.
- the class changing apparatus registers all of the interface-descriptors in the storage unit (at this time, an area where the device-descriptor is stored will be the registry on the software).
- the registry is a database containing system information of all programs implemented on the operating system.
- the database includes the kind of processor for the relevant system, capacity of main memory device, information on linked client devices, system parameters, file types and various parameters manipulated in an application software, and the like.
- the control unit of the device class changing apparatus may select only one of them to register in the storage unit.
- control unit when desired to perform a function based upon the class information included in other interface-descriptors afterwards, the control unit requests a transmission of the relevant interface-descriptor to the client device and changes the interface-descriptor registered in the storage unit. Such a changing process will be described in detail later.
- the control unit After receiving the apparatus information from the client device to register in the storage unit, the control unit reads information on the client device included in the apparatus information and drives an appropriate device driver.
- the client device controls the client device and performs a data exchange using the device driver.
- the device driver is a program routine for allowing an operating system of the device class changing apparatus to communicate with the client device, thereby controlling the client device.
- the device driver is driven, thereby allowing the client device to perform a function corresponding to the class information registered based upon a control of the class changing apparatus.
- the control unit transmits a class change command to the client device through the link unit.
- the class change command may be a command by an ioctl interface.
- the ioctl is part of an interface for linking a computer user of basic operating system with a kernel.
- the ioctl an abbreviation of “input/output control (I/O control), typically plays a role in helping codes in user space communicate with hardware devices and kernel configuration elements.
- the request for changing a class is generated from an application program implemented in engagement with the client device, and therefore, a command should be transferred to a kernel area where the device driver is driven in user space, and it should be a command that can be interpreted even in the client device.
- a class change command is transferred using an ioctl interface that can be interpreted even in various devices.
- the class change command includes a command for resetting a link between the class changing apparatus and the client device, and information on which is the class to be changed.
- the link between the class changing apparatus and the client device is defined by the interface-descriptor, and it can be reset by an operating system of the client device.
- control unit first senses whether or not there is a request for changing a class, and then selects the class to be changed to include it in the class change command.
- the class changing apparatus recognizes the client device as Mass Storage Class to establish a communication-link. Furthermore, when a file transmission is carried out between those two device, the transmission method will be a download type.
- the control unit determines such a command input as a class change request since the file transmission in a streaming type cannot be performed with a device recognized as Mass Storage Class.
- control unit generates, a command for requesting to change the class information of the client device such as from the Mass Storage Class to a class capable of performing the file transmission in a streaming type, to the client device.
- control unit selects a class to be changed from the class of the client device among various classes defined in the standard.
- the class should be changed to a class capable of performing the file transmission in a streaming type, and therefore, Audio or Video Streaming Class can be selected as the class to be changed.
- the control unit transmits the class change command, including information on which is the class to be changed and a command for resetting a link between the class changing apparatus and the client device, to the client device through the link unit.
- control unit deletes the class information on the client device which has been stored in the storage unit as Mass Storage Class, and then changes the class information on the client device to Audio or Video Streaming Class to register in the storage unit.
- the class changing apparatus recognizes the client device as a changed class, thereby performing a function corresponding to the changed class.
- the control unit determines that the client device cannot support Streaming Class and recognizes Mass Storage Class information as Mass Storage Class.
- a class changing apparatus has a host device and a client device for changing a device class, are configured to include a host device for deleting the class information registered in the storage unit, and transmitting a class change command to the client device through the link unit when a class change request of the client device is generated, and a client device for resetting a link with the host device, and retrieving class information included in the class change command to transmit to the host device when the class change command is transmitted.
- a host device 100 is a device performing a central role in processing data processing requests from all linked devices in a centralized information processing system.
- a client device 200 is a device that is linked to the host device 100 and subject to a control of the host device 100 .
- the host device includes a control unit 11 .
- the control unit 11 is in charge of generally controlling the host device 100 , such as controls a processing of command analysis, data computation, comparison, input and output, and the like.
- the control unit 11 When a link with a client device 200 is sensed or detected by the host device 100 , the control unit 11 recognizes the client device 200 to control a data input and output between those two devices.
- the host device 100 includes a storage unit 13 .
- Various data related to the operation of the host device 100 can be stored in the storage unit 13 .
- apparatus information for various client devices linked to the host device 100 controlled by the control unit 11 is registered.
- the host device 100 includes a link unit 15 , and the link unit 15 can be a wired or wireless interface so that the client device 200 is communication-linked with the host device 100 .
- the link unit 15 transmits data to the client device 200 , or receives data from the client device 200 based upon a command of the control unit 11 .
- the link unit 15 When the link unit 15 uses a wired interface, the link unit 15 is physically linked with the client device 200 , and it may include a communication port that provides an electrical contact point between those two devices.
- a USB (Universal Serial Bus) interface is an example of the link unit 15 .
- the link unit 15 may use a wireless interface
- the link unit 15 includes an antenna for transmitting and receiving a RF signal, a RF module, and the like.
- the client device 200 can be communication-linked with the host device 100 when the link unit 15 supports the same communication method.
- the control unit 11 first senses or detects whether or not the client device 200 is linked with the link unit 15 .
- the control unit 11 When the control unit 11 sensed or detected that the client device 200 is linked with the link unit 15 , the control unit 11 requests apparatus information to the client device 200 to recognize the client device 200 and start a communication between those two devices.
- the client device 200 provides the apparatus information to the host device based upon the request, and the link unit of the host device 100 receives apparatus information of the client device 200 .
- the apparatus information is then stored in the storage unit 13 to register the client device 200 .
- the apparatus information may be a device-descriptor as defined in the USB standard if the client device 200 is a device supporting a USB interface.
- the device-descriptor as a descriptor for the client device 200 , includes various information related to the device.
- the device-descriptor has information on the product and vendor IDs that are used for loading an appropriate driver used to drive a device, number of available system configurations that can be possessed by a device, and the like.
- the apparatus information also includes class information describing the attribute and function of the client device 200 .
- the class information is information provided by the client device 200 to the host device 100 to notify whether or not the client device 200 corresponds to any class among the prescribed kinds of classes between the host device 100 and the client device 200 .
- USB interface standard Various kinds of classes are defined in the USB interface standard, and typical examples are Human Interface Device Class, Mass Storage Class, Audio Class, Video Class, and the like.
- the class information is provided to be included in the device-descriptor, or provided to be included in the interface-descriptor, which is a lower-level descriptor included in the device-descriptor.
- the client device 200 may provide a device-descriptor including all of a plurality of interface-descriptors to the host device 100 , or may provide a device-descriptor including one basically set interface-descriptor to the host device 100 .
- the host device 100 activates a basically set interface-descriptor of them to establish a communication-link between the host device 100 and the client device 200 .
- the host device 100 may activate another interface-descriptor to establish a communication-link between the host device 100 and the client device 200 .
- the host device 100 registers all of them in the storage unit 13 (at this time, an area where the device-descriptor is stored will be the registry on the software).
- the registry is a database containing system information of all programs implemented on the operating system. Stored are the kind of processor for the relevant system, capacity of main memory device, information on linked client devices, system parameters, file types and various parameters manipulated in an application software, and the like.
- the control unit 11 of the host device 100 may select only one of them to register in the storage unit 13 .
- the device-descriptor When the device-descriptor is registered in the storage unit 13 for the first time after linking with the client device 200 , it is possible to register only interface-descriptors including basic class information (e.g., a default) which has been set in advance in the storage unit 13 .
- basic class information e.g., a default
- the control unit 11 reads information on the client device 200 included in the apparatus information.
- the control unit 11 transmits a class change command to the client device 200 through the link unit 15 .
- the class change command may be a command by an ioctl interface.
- the ioctl is part of an interface for linking a computer user of basic operating system with a kernel.
- the ioctl an abbreviation of “input/output control (I/O control), typically plays a role in helping codes in user space communicate with hardware devices and kernel configuration elements.
- the request for changing a class is generated from an application program implemented in engagement with the client device 200 , and therefore, a command should be transferred to a kernel area where the device driver is driven in user space, and it should be a command that can be interpreted even in the client device 200 .
- a class change command is transferred using an ioctl interface that can be interpreted even in various devices.
- the class change command includes a command for resetting a link between the host device 100 and the client device 200 , and information on which is the class to be changed.
- the link between the host device 100 and the client device 200 is defined by the interface-descriptor, and it can be reset by an operating system of the client device 200 .
- control unit 11 In order to transmit the class change command, the control unit 11 first senses or detects whether or not there is a request for changing a class, and then selects the class to be changed to include it in the class change command.
- the host device 100 recognizes the client device 200 as Mass Storage Class to establish a communication-link. Furthermore, when a file transmission is carried out between those two device, the transmission method will be a download type.
- the control unit 11 determines such a command input as a class change request since the file transmission in a streaming type cannot be performed with a device recognized as Mass Storage Class.
- control unit 11 generates, a command for requesting to change the class information of the client device 200 from the Mass Storage Class to a class capable of performing the file transmission in a streaming type, to the client device 200 .
- control unit 11 selects which will be a class to be changed from the class of the client device 200 among various classes defined in the standard.
- the class should be changed to a class capable of performing the file transmission in a streaming type, and therefore, Audio or Video Streaming Class is selected as the class to be changed.
- the control unit 11 transmits the class change command, including information on which is the class to be changed and a command for resetting a link between the host device 100 and the client device 200 , to the client device 200 through the link unit 15 .
- control unit 11 deletes the class information on the client device 200 which has been stored in the storage unit 13 as Mass Storage Class, and then changes the class information on the client device 200 to Audio or Video Streaming Class to register in the storage unit 13 .
- the host device 100 recognizes the client device 200 as a changed class, thereby performing a function corresponding to the changed class.
- the client device 200 includes a controller 21 for a class change operation of the host device 100 .
- the controller 21 functions to process data that is received to the client device 200 , and perform a command.
- the client device 200 includes a memory 23 .
- Various data can be stored in the memory 23 .
- apparatus information related to the client device 200 is stored in the memory 23 .
- the apparatus information is provided to the host device 100 , and allows the host device 100 to recognize the client device 200 thereby transmitting and receiving data to and from each other.
- the apparatus information as described above may be a device-descriptor as defined in the USB interface standard. Furthermore, a structure of the device-descriptor may be configured by including at least one interface-descriptor as a lower-level descriptor thereof as stated above.
- the device-descriptor or the interface-descriptor includes at least one class information of the client device 200 .
- the controller 21 provides apparatus information stored in the memory 23 to the host device 100 based upon a request of the host device 100 .
- the controller 21 may transmit all the class information together included in the device-descriptor to the host device 100 , or may transmit only the information of the class that has been set to basic class of them by including in the device-descriptor.
- the controller 21 may transmit only some of them by including in the device-descriptor.
- the client device 200 includes an interface 25 .
- the interface 25 allows the client device 200 to establish a communication-link with the host device 100 , and can be provided with a wired or wireless interface, and also it supports the same communication standard as a link unit of the host device 100 .
- the interface 25 is linked with the link unit 15 , and then the controller 21 is requested to provide apparatus information by the host device 100 .
- the controller 21 reads the apparatus information of the client device 200 from the memory 23 to transmit to the host device 100 through the interface 25 .
- the controller 21 transmits the apparatus information by including at least one class among the classes supported by the client device 200 .
- the controller 21 controls the client device 200 based upon a control of the host device 100 .
- the controller 21 resets a link between the host device 100 and the client device 200 based upon a command of the host device 100 .
- the reset of a link between those two devices may be a software reset that is supported by an operating system of the client device 200 .
- the controller 21 reads class information to be changed, which is included in the class change command, to transmit to the host device 100 .
- the controller 21 may retrieve the interface-descriptor including the class information to be changed, which is included in the class change command, from the memory 23 to transmit the relevant interface-descriptor to the host device 100 .
- the controller 21 may transmit prescribed basic class information to the host device 100 .
- an application program implemented in the host device 100 first proceeds with a step (S 10 ) of performing an operation requesting a class change.
- PMP Portable Multimedia Player
- the PMP when the PMP receives a command for reproducing a music file stored in the computer the relevant music file should be streaming-transmitted to the PMP terminal, but it is an unsupportable function in the Mass Storage Class.
- the host device 100 determines that an operation of the step S 10 of requesting a class change has been carried out.
- the application program that has performed such an operation S 10 requests a class change to a device driver for the client device 200 (S 12 ). Such a request in the step S 12 will be carried out by an ioctl command.
- the device driver of the host device 100 that receives the command deletes the class information for the client device 200 that has been registered in the registry (S 20 ).
- the interface-descriptor including the relevant information may be deleted.
- the device driver transmits a class change command to the client device 200 . It may be divided into a step S 24 of transmitting a command for resetting a communication-link, and a step S 22 of transmitting a class change command including the class information to be changed.
- such a command may be transmitted as a URB format to the client device 200 .
- the URB as an abbreviation of “USB request block,” is a data format that is used in transmitting a command or material to a USB client from a USB host.
- the client device 200 receives a command at the relevant step.
- a firmware installed in the client device 200 performs a link reset with the host device as defined in the operating system (S 30 ).
- the client device 200 responds by transmitting data including the class information that has been requested for a change against the received command to the host device 100 (S 32 ).
- the data including the class information may be an interface-descriptor including the class information to be changed included in the class change command.
- the client device 200 transmits basic class information again to the host device 100 .
- the host device 100 registers the provided class information in the storage unit 13 .
- the host device 100 registers the transmitted interface-descriptor in the storage unit 13 (S 26 ).
- the host device 100 functions by establishing a communication-link with the client device 200 to transmit and receive data.
- the host device 100 is abbreviated as ‘host’
- the client device 200 is abbreviated as ‘device’.
- a process in a host device for recognizing a client device begins with a step S 110 of linking the client device 200 with the host device 100 .
- a process for recognizing the client device 200 by the host device 100 is required to link those two devices in a communicable state, and therefore, here, linking those two devices does not mean a link in a communicable state between those two devices, but a state before performing a recognition process for the client device 200 by the host device 100 .
- the apparatus information is a device-descriptor as defined in the USB interface standard.
- basic class information for the client device 200 is included in the device-descriptor. If the client device 200 is a device supporting at least two classes, then the basic class information is selected and set in advance among the supported classes.
- the host device 100 receives the device-descriptor including the class information, and thereby registers the client device 200 in the registry, and performs an appropriate device driver based upon the apparatus information of the client device 200 registered in the registry (S 170 ).
- a process for requesting and receiving apparatus information to the client device 200 by the host device 100 to register the information related to the client device 200 is called an enumeration.
- the host device 100 selects a class to be changed (S 300 ).
- the host device 100 selects Video Class as a class to be changed prior to transmitting a class change command to the client device 200 .
- a reset command for a link with the host device 100 and a command for rebranching into the selected class are transmitted to the client device 200 (S 400 ).
- the client device 200 When such commands are transmitted at the step S 400 , the client device 200 resets a link with the host device 100 (S 500 ), and the selected class information at the step S 300 is transmitted to the host device 100 to rebranch (S 600 ).
- the client device 200 performs a function of the relevant class on the host device 100 (S 700 ).
- step S 910 that the client device 200 supporting Mass Storage Class as a basic class is linked with the host device 100 and recognized.
- a step of inputting a data streaming command into the client device 200 while the client device 200 functions as a mass storage in the host device 100 is carried out (S 920 ).
- a command for receiving data in a streaming format from the client device 200 to the host device 100 may be provided.
- the host device 100 performs a step of determining whether or not the client device 200 supports Streaming Class (S 930 ). Such a determination can be accomplished by referring to the information that is provided to the host device 100 by the client device 200 .
- the host device 100 sends a command for rebranching into Mass Storage Class to the client device 200 , but it may be determined that Streaming Class is not supported when the client device 200 has been rebranched into Mass Storage Class.
- the client device 200 When it is determined that the client device 200 supports Streaming Class, the client device 200 is rebranched by resetting a link with the host device 100 based upon a class change command of the host device 100 and transmitting Streaming Class information to the host device 100 (S 940 ).
- the relevant file is transmitted in a streaming method from the host device 100 to the client device 200 , or from the client device 200 to the host device 100 , thereby successfully completing all the processes (S 950 ).
- the host device 100 sequentially divides and stores a file to be streaming-transmitted by fitting into a buffer size in the buffer provided in the host device 100 when transmitting a file to the client device 200 (S 960 ).
- the buffer is provided with a sufficiently small size to transmit data in a similar manner to that of the data transmission in a streaming method.
- the data stored in the buffer is transmitted to the client device 200 (S 970 ).
- Such transmission by dividing data into a small size of buffer is to obtain the same effect as the transmission using a streaming method by dividing one file into a plural number to sequentially reproduce them whenever the transmission of each unit is completed, because only a bulk type file transmission is supported in the Mass Storage Class and the file transmitted in a bulk method is reproducible only after the transmission of one file is all completed.
- the client device 200 that is provided with a buffer, divides the relevant file by fitting into a buffer size to sequentially transmit the file.
- a device having at least two classes can be branched into an appropriately selected one class when required.
- various functions provided by a device having at least two classes can be all utilized by branching the device having at least two classes into an appropriately selected one class when required.
- a device having at least two classes is registered in a registry as having a required class by branching the device having at least two classes into a selected one class when required, thereby effectively using the registry.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
Claims (21)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080073078A KR20100011740A (en) | 2008-07-25 | 2008-07-25 | Host and client device and method for changing class thereof |
KR10-2008-0073078 | 2008-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100023649A1 US20100023649A1 (en) | 2010-01-28 |
US8086763B2 true US8086763B2 (en) | 2011-12-27 |
Family
ID=41569623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/508,684 Expired - Fee Related US8086763B2 (en) | 2008-07-25 | 2009-07-24 | Changing class of device |
Country Status (2)
Country | Link |
---|---|
US (1) | US8086763B2 (en) |
KR (1) | KR20100011740A (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739364A (en) * | 2009-12-08 | 2010-06-16 | 中兴通讯股份有限公司 | USB interface-based communication equipment and method for realizing service allocation |
CN101882116A (en) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | Method for realizing audio transmission and mobile terminal |
US9077108B2 (en) | 2010-08-20 | 2015-07-07 | Rockwell Automation Technologies, Inc. | Input/output module bus contact system and method |
CN101976230B (en) * | 2010-09-30 | 2014-04-23 | 威盛电子股份有限公司 | Transaction translator of universal serial bus and input request isochronous transaction method |
US8452910B1 (en) * | 2010-10-21 | 2013-05-28 | Total Phase, Inc. | Capture of USB packets into separate USB protocol streams based on different USB protocol specifications |
CN102063320B (en) | 2011-01-06 | 2013-08-28 | 华为终端有限公司 | Work mode switching methods, USB (Universal Serial Bus) equipment and host machine equipment |
US10515025B2 (en) * | 2016-08-08 | 2019-12-24 | Cirrus Logic, Inc. | Communication protocol adapter |
KR20190069247A (en) * | 2017-12-11 | 2019-06-19 | 삼성전자주식회사 | Electronic device for communication with external electronic device |
CN110990296B (en) * | 2019-12-20 | 2023-10-13 | 抖音视界有限公司 | Identification method of class component, server, terminal and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020101515A1 (en) * | 2001-01-31 | 2002-08-01 | Masanori Yoshida | Digital camera and method of controlling operation of same |
US20030167376A1 (en) * | 2001-11-13 | 2003-09-04 | Daesung Digital Tech Co., Ltd. | Portable storage medium based on universal serial bus standard and control method therefor |
US20060161701A1 (en) * | 2005-01-19 | 2006-07-20 | Bong-Wook Park | Method and apparatus to establish class of USB device |
KR20070080451A (en) * | 2006-02-07 | 2007-08-10 | 삼성전자주식회사 | Method and system for automatically backup data of usb interface device |
US20090221234A1 (en) * | 2008-02-28 | 2009-09-03 | Pirzada Fahd B | Method and system for providing concurrent wireless universal serial bus (WUSB) hub and wireless audio/video interfaces within a single device |
US7760232B2 (en) * | 2003-06-27 | 2010-07-20 | Panasonic Corporation | Slave device and communication setting method |
-
2008
- 2008-07-25 KR KR1020080073078A patent/KR20100011740A/en not_active Application Discontinuation
-
2009
- 2009-07-24 US US12/508,684 patent/US8086763B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020101515A1 (en) * | 2001-01-31 | 2002-08-01 | Masanori Yoshida | Digital camera and method of controlling operation of same |
US20030167376A1 (en) * | 2001-11-13 | 2003-09-04 | Daesung Digital Tech Co., Ltd. | Portable storage medium based on universal serial bus standard and control method therefor |
US7760232B2 (en) * | 2003-06-27 | 2010-07-20 | Panasonic Corporation | Slave device and communication setting method |
US20060161701A1 (en) * | 2005-01-19 | 2006-07-20 | Bong-Wook Park | Method and apparatus to establish class of USB device |
KR20070080451A (en) * | 2006-02-07 | 2007-08-10 | 삼성전자주식회사 | Method and system for automatically backup data of usb interface device |
US20090221234A1 (en) * | 2008-02-28 | 2009-09-03 | Pirzada Fahd B | Method and system for providing concurrent wireless universal serial bus (WUSB) hub and wireless audio/video interfaces within a single device |
Also Published As
Publication number | Publication date |
---|---|
KR20100011740A (en) | 2010-02-03 |
US20100023649A1 (en) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086763B2 (en) | Changing class of device | |
US8230128B2 (en) | Monitoring host activity using an interrupt | |
US6629197B1 (en) | Method and system for storing digital audio data and emulating multiple CD-changer units | |
US8799521B2 (en) | System and method for receiving control commands at a peripheral device | |
US7849302B2 (en) | Direct boot arrangement using a NAND flash memory | |
US9424017B2 (en) | Live operating system installation for Universal Serial Bus devices | |
US8171192B2 (en) | Hardware-assisted device configuration detection | |
US20060236087A1 (en) | Apparatus and method for testing computer system | |
EP1717700A2 (en) | Multimedia devices with enhanced functionality | |
EP1756711A1 (en) | A method for remotely upgrading the firmware of a target device using wireless technology | |
US20100064036A1 (en) | Peripheral device operation method, peripheral device and host | |
KR20120128357A (en) | Method and apparatus for splitting of media file | |
US20080114923A1 (en) | Apparatus and method for controlling operation processing in nonvolatile memory | |
US7921230B2 (en) | USB devices pre-configuration for KVM switch | |
KR20200090010A (en) | Method for updating firmware, electronic device and storage medium therefor | |
KR20190088734A (en) | Memory interface and memory controller having the same, and memory system having the same | |
US20120060023A1 (en) | Methods for booting an operating system using non-volatile memory | |
US20060236081A1 (en) | Computer System and Related Method of Playing Audio Files when Booting | |
JP2008538834A (en) | Configuring devices to use information from the device table | |
KR20180023311A (en) | Data storage device | |
CN100380896C (en) | Data transmission system, data transmission method, information processor and pointer | |
KR101258529B1 (en) | Memory card system, Memory card and method of performing application program thereof | |
US20100017554A1 (en) | System and method for managing a plugged device | |
CN115328580B (en) | Processing method, device and medium for registry operation in application migration environment | |
US7490188B2 (en) | Apparatus and method for USB data transmission in hybrid terminal including two CPUs utilizing two memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LG ELECTRONICS INC., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHOI, MOO-RAK;LEE, KWANG-WOOK;KIM, YOU-SUN;AND OTHERS;REEL/FRAME:023006/0842 Effective date: 20090723 |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20231227 |