SUTP data transmission protocol using method
By deploying the SUTP data transmission protocol on USB smart storage devices and integrating APPs that support this protocol on terminal devices, the security management functions that cannot be used, development difficulty and cost are high when data transmission between USB smart storage devices and terminal devices of different operating systems in the prior art are solved, and cross-platform compatibility, simplifying installation and use, and reducing product costs are achieved.
Patent Information
- Application Number
- CN202510104184.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-23
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2045-01-23
AI Technical Summary
When existing USB smart storage devices transmit data from terminal devices of different operating system, there are problems such as security management functions that cannot be used, difficult and costly development, especially on MacOS, iOS and Android systems.
The SUTP data transmission protocol is adopted to realize cross-platform data transmission by deploying the protocol on the interface of the intelligent USB storage device and integrating APPs that support the SUTP protocol on the terminal device. This protocol includes custom MTP and USB interrupt transmission protocols, and initialize handshake and command exchange according to different operating system characteristics to ensure the security and compatibility of data transmission.
It realizes cross-platform compatibility, simplifies the installation and use process, reduces product costs, and improves user experience and device competitiveness.
Smart Images

Figure CN119537280A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing methods, and more particularly to a method for using the SUTP data transmission protocol. Background Technology
[0002] With the rapid development of technology, the functions of terminal devices (especially handheld devices) are becoming increasingly sophisticated. These devices are equipped with diverse hardware and operating system platforms, such as Windows, Linux, Android, iOS, and macOS. The ever-growing demands of users mean they may own multiple terminal devices on different platforms, leading to a dramatic increase in the amount of data stored on these devices. However, the built-in storage of terminal devices often cannot meet this growing storage need, thus requiring users to back up or transfer data to other terminal devices on different platforms. USB smart storage devices have become an ideal choice for data backup and transfer.
[0003] However, most USB smart storage devices on the market currently use USB bulk transfer when communicating with terminal devices. While this method meets data transfer needs to some extent, it presents the following problems depending on the operating system used: 1. MacOS System: When implementing functions such as secure encryption management of USB smart storage devices on MacOS, it is necessary to customize non-standard protocols. This not only requires the development of kernel extensions and apps, but also a complex signing certificate application process. In addition, due to the different security levels and installation methods of different system versions, the software is difficult to install, and after installation, the custom protocol command transmission may fail due to permission issues, thus making the secure management of USB smart storage devices unusable. 2. iOS System: When using USB smart storage devices for data storage on iOS, it is usually necessary to use Apple's custom transmission protocols such as iAP2. However, using iAP2 requires applying to Apple and passing MFi certification. At the same time, Apple's certification chip must be installed on the USB smart storage device. This not only increases the development difficulty and time cost, but also increases the product cost. 3. Android System: The openness of the Android system has led to the existence of many manufacturers. When transmitting standard SCSI commands and custom commands based on the standard bulk transfer method, system permission issues often prevent the APP from being installed or used, which causes great inconvenience to users.
[0004] Therefore, it is necessary to provide a new method for using the SUTP data transmission protocol to solve the above-mentioned technical problems. Summary of the Invention
[0005] To address the aforementioned technical problems, this invention provides a method for using the SUTP data transmission protocol.
[0006] The SUTP data transmission protocol usage method provided by this invention includes the following steps: S1, deploying the SUTP data transmission protocol on the smart USB storage device interface, and integrating an APP with the SUTP data transmission protocol on the terminal device; S2. Connect the smart USB storage device to the USB port of the terminal device that needs to transfer data. The terminal device recognizes the smart USB storage device and launches the corresponding APP. S3, the intelligent USB storage device identifies the operating system of the terminal device, and according to the characteristics of different platform systems, the system platform APP uses the corresponding transmission protocol to perform an initial handshake with the system platform to ensure that the command sets and services supported by each other are supported, and to build a communication channel. S4. The terminal device transmits data through the APP. During the transmission process, the SUTP data transmission protocol encrypts and authenticates the data. S5. After the data transfer is complete, perform a safe ejection operation on the smart USB storage device.
[0007] Preferably, in step S3, the establishment of a communication channel between the smart USB storage device and the terminal device includes the following steps: S31. After the smart USB storage device is plugged into the terminal device, it first performs an initialization operation to prepare for establishing communication with the terminal device. S32, the intelligent USB storage device uses its internal identification mechanism to quickly identify the operating system of the terminal device; S33. Based on the identified operating system, select the matching protocol to establish a connection with the terminal device.
[0008] Preferably, in step S4, the data transmission steps when the smart USB storage device recognizes the operating system as an iOS terminal device are as follows: The smart USB storage device identifies the operating terminal and confirms it as an iOS terminal device. At the same time, after the iOS device detects the new hardware connection, it initiates the device enumeration process and reads the descriptor information of the smart USB storage device. The smart USB storage device and the APP in the iOS operating system perform an initial handshake through the custom MTP protocol in the SUTP data transmission protocol, exchange configuration parameters, confirm the supported commands and services, and establish a communication channel. After establishing a communication channel, the app in the iOS operating system sends commands through the custom MTP protocol in the SUTP data transmission protocol, and the smart USB storage device executes the operation and returns the result; The smart USB storage device periodically sends status updates to apps within the iOS operating system to ensure users are aware of the operation progress and any error messages.
[0009] Preferably, in step S4, the data transfer steps when the smart USB storage device recognizes a Mac OS computer terminal are as follows: The smart USB storage device identifies the operating terminal and confirms it as a Mac OS computer terminal. At the same time, the device sends a signal to the Mac OS computer terminal to indicate that new hardware has been connected. The smart USB storage device and the Mac OS computer terminal APP perform an initial handshake through the custom USB interrupt transmission protocol in the SUTP data transmission protocol to confirm the command sets and services supported by both parties and establish a communication channel between them. Once the communication channel is established, commands are sent to the smart USB storage device via the Mac OS computer terminal APP. The smart USB storage device executes the corresponding operations based on the received commands and sends the results back to the Mac OS computer terminal APP.
[0010] Preferably, in step S4, the data transmission steps when the smart USB storage device recognizes the operating system as an Android terminal device are as follows: The smart USB storage device identifies the operating terminal and confirms it as an Android terminal device. At the same time, the device sends a signal to the Android terminal device to indicate that new hardware has been connected. The smart USB storage device and the Android terminal device's APP perform an initial handshake through the system API to confirm the standard SCSI protocol command set and services supported by both parties. The APP then uses the system API to establish a communication channel with the smart USB storage device through the standard SCSI protocol. After the communication channel is established, the Android terminal device's APP sends commands to the smart USB storage device. The smart USB storage device executes the corresponding operations according to the received commands and sends the results back to the Android terminal device's APP.
[0011] Preferably, the SUTP data transmission protocol includes a custom MTP protocol and a custom USB interrupt transmission protocol.
[0012] Compared with related technologies, the SUTP data transmission protocol usage method provided by this invention has the following advantages: 1. Cross-platform compatibility: The SUTP protocol is compatible with multiple operating system platforms, including Windows, Linux, Android, iOS and Mac OS, which greatly reduces the difficulty and cost of software development, enabling developers to easily develop communication software for USB smart storage devices for terminal devices on different platforms. 2. Simplified installation and use: The SUTP protocol simplifies the installation and use process. Users can easily back up or transfer data to terminal devices on different platforms without complicated configuration and settings, which greatly improves user experience and convenience. 3. Reduced product costs: Since the SUTP protocol does not require additional authentication chips or complex authentication processes, it can reduce the production cost of USB smart storage devices, making the products more competitive and better able to meet market demands. Attached Figure Description
[0013] Figure 1 A complete wireframe flowchart of the method for using the SUTP data transmission protocol provided by the present invention; Figure 2 A wireframe flowchart for establishing a communication channel between smart USB storage devices and terminal devices; Figure 3 A wireframe flowchart illustrating data transfer when a smart USB storage device recognizes an iOS terminal device as its operating system. Figure 4 A wireframe flowchart illustrating data transfer when a smart USB storage device recognizes a Mac OS computer terminal. Figure 5 This is a wireframe flowchart illustrating data transfer when a smart USB storage device recognizes an Android terminal device as its operating system. Detailed Implementation
[0014] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0015] Please refer to the following: Figure 1 — Figure 5 ,in, Figure 1 A complete wireframe flowchart of the method for using the SUTP data transmission protocol provided by the present invention; Figure 2 A wireframe flowchart for establishing a communication channel between smart USB storage devices and terminal devices; Figure 3 A wireframe flowchart illustrating data transfer when a smart USB storage device recognizes an iOS terminal device as its operating system. Figure 4 A wireframe flowchart illustrating data transfer when a smart USB storage device recognizes a Mac OS computer terminal. Figure 5This is a wireframe flowchart illustrating data transfer when a smart USB storage device recognizes an Android terminal device as its operating system.
[0016] In practical implementation, the SUTP data transmission protocol usage method includes the following steps: S1. Deploy the SUTP data transfer protocol on the smart USB storage device interface and integrate an APP with the SUTP data transfer protocol on the terminal device. Ensure that the terminal device is running the latest operating system version. Although the SUTP data transfer protocol itself does not strictly depend on a specific terminal device version, newer versions usually offer better compatibility and performance optimization. Confirm that the terminal device has USBOTG (On-The-Go) functionality or connects to the smart USB storage device via a Lightning to USB adapter. In addition, it is also necessary to check whether the smart USB storage device can work properly on the terminal device. S2. Connect the smart USB storage device to the USB port of the terminal device via an OTG cable or a Lightning to USB adapter. At this time, the terminal device will pop up a prompt asking the user whether to allow access to the device. After the user selects "Trust", the device will be recognized. Once the device is successfully connected, if the relevant settings have been configured in advance, the terminal device system may automatically launch the preset APP. If not, the user needs to manually open the installed APP that supports the SUTP data transmission protocol. S3. After the APP starts, it first enumerates the connected USB devices to obtain their basic information, such as device ID, manufacturer name, product model, etc. Then, the application attempts to establish a communication connection with the smart USB storage device and sends commands to understand the functions and services supported by the device. In order to ensure the security and stability of subsequent operations, the APP sends commands to the smart USB storage device and creates a new session. This session remains valid throughout the connection until the device is disconnected. The session ID is generated by the APP and passed to the smart USB storage device as an identifier. S4. The terminal device transmits data through the APP. During the transmission process, the SUTP data transmission protocol encrypts and authenticates the data. S5. After the data transfer is complete, safely eject the smart USB storage device. It should be noted that the SUTP (Super USB Transfer Protocol) data transmission protocol consists of two custom protocols: one based on MTP (Media Transfer Protocol) and the other based on USB Control. This allows for different platform system characteristics and enables the corresponding transmission protocol to be used by the system platform's application (APP), achieving both low product cost and ease of use for customers. MTP Custom Protocol 1. Overview: Based on MTP's GetObject (get object) and SetObject (send object) protocols, this is defined to meet project requirements. The entire protocol includes: MTP protocol header, operation command information, operation data length, operation address, etc., as detailed in the protocol table below.
[0017] Custom commands 2. General command format
[0018] 2.1 Write data to sector (0x200x01) 2.1.1 Command
[0019] 2.1.2 Data Sector-by-sector data to be written to the disk.
[0020] 2.1.3 Return
[0021] illustrate: Only when the encoding returns 0x2001: OK does it mean that DATA has been successfully written to the disk.
[0022] 2.2 Read sector data (0x200x02) 2.2.1 Command
[0023] 2.2.2 Data Sector-by-sector data to be written to the disk.
[0024] 2.2.3 Return
[0025] Note: The returned DATA is only valid when the encoding returns 0x2001: OK (normal). USB Control (USB Interrupted Transfer) Custom Protocol 1. Overview: Based on the characteristics of the standard USB Control command packet (8 bytes), a secondary custom protocol was developed to meet project requirements. A command packet includes: data read / write direction, identifier, data batch size, command encoding, and data length.
[0026] Custom commands 2. General command format
[0027] 2.1 Reading 1024 bytes of data
[0028] 2.2 Writing 1024 bytes of data
[0029] Note: 1. ByteOffset: Byte offset; 2. Value: Value; 3. Description: Description; 4. LittleEndian: Little-endian byte order; 5. LSB: Least significant byte; 6. MSB: Most significant byte; 7. Code: Code; 8. LUN: Logical Unit Number; 9. GetObject: Get Object; 10. SendObject: Send Object; 11. LBA: Logical Block Addressing.
[0030] In step S3, the identification of the smart USB storage device and the terminal device includes the following steps: S31. Initialization phase: After the smart USB storage device is plugged into the terminal device, it first performs an initialization operation to prepare for establishing communication with the terminal device. S32. Operating System Identification: The intelligent USB storage device uses its internal identification mechanism to quickly identify the operating system of the terminal device. S33. Based on the identified operating system, select the matching protocol to establish a connection with the terminal device. Example 1
[0031] When a smart USB storage device recognizes an iOS terminal device, the data transfer steps are as follows: The smart USB storage device identifies the operating terminal and confirms it as an iOS terminal device. At the same time, after the iOS device detects the new hardware connection, the APP will enumerate the connected USB device to obtain its basic information, such as device ID, manufacturer name, product model, etc. Then, the application will attempt to establish a communication connection with the smart USB storage device and send the Get DeviceInfo command to understand the functions and services supported by the device. The APP sends an Open Session command to the smart USB storage device through a custom MTP protocol, transmits the session ID, and uses the command-response mechanism of the custom MTP protocol to ensure that each command has a corresponding confirmation response. After receiving the command, the smart USB storage device creates a session and returns the confirmation information to the APP (all the above commands are transmitted in the form of Package, i.e., compressed package). When a file needs to be uploaded from an iOS device to a smart USB storage device, the app first calls the SendObject Info command to inform the device of the file information to be sent (such as file name, size, etc.). Then, the file data is transferred to the device in batches using the SendObject Info command. For download operations, the process is reversed, that is, the file is read from the smart USB storage device and saved locally on the iOS device. The app provides users with a clear and visible transmission progress bar, showing the current percentage completed and the estimated remaining time. This not only helps users understand the transmission status but also provides convenience for rationally scheduling work. It's important to note that for iOS devices: MTP (Media Transfer Protocol) is a media transfer protocol primarily used for file transfer between media devices such as digital cameras and smartphones and computers. Developed by Microsoft, this protocol employs a command-response mechanism, with all commands transmitted in package form. It boasts wide applicability and high transmission efficiency. When used with iOS apps, it typically doesn't require additional authentication. Therefore, a custom MTP protocol is integrated into the USB smart storage device, and a corresponding custom MTP protocol is also integrated into the iOS app. When the device connects to the iOS device, both communicate via the custom MTP protocol, enabling file transfer and secure data management, avoiding the need for Apple certification and other related issues associated with USB smart storage devices. Example 2
[0032] The data transfer steps when a smart USB storage device recognizes a Mac OS computer terminal are as follows: The smart USB storage device identifies the operating terminal and confirms it as a Mac OS computer terminal. After the Mac OS computer terminal detects the new hardware connection, the smart USB storage device establishes a communication connection with the APP in the Mac OS computer terminal through a custom USB interrupt transmission protocol. At the same time, the APP uses the IOKit framework to start the enumeration process to obtain the basic information of the smart USB storage device, such as device ID, manufacturer name, product model, etc. After receiving the initialization signal sent by the APP, the smart USB storage device begins to prepare to receive commands from the APP. To ensure the reliability of communication, the APP should adopt a command-response mechanism, that is, wait for an acknowledgment response from the device after sending each command. This method not only improves the accuracy of data transmission, but also facilitates debugging and error handling. In addition, to further enhance security, an encryption mechanism can be added during command transmission to ensure data security. When you need to upload a file from a Mac OS device to a smart USB storage device, the app first sends an initialization command containing file information (such as file name, size, etc.), and then transfers the file data to the device in batch mode. For download operations, it is the reverse process, that is, reading the file from the smart USB storage device and saving it to the Mac OS device locally in the same way. The app provides users with a clear and visible transmission progress bar, showing the current percentage completed and the estimated remaining time. This not only helps users understand the transmission status but also provides convenience for rationally scheduling work. It should be noted that for Mac OS systems, USB smart storage devices communicate with the host computer APP through a custom USB interrupt transmission method. This method avoids the limitations of system security levels, making the installation and use of the APP more convenient. At the same time, the development and integration of custom protocols in the firmware also ensures stable data transmission. Example 3
[0033] When a smart USB storage device recognizes a terminal device with an Android operating system, the data transfer steps are as follows: The smart USB storage device identifies the operating terminal and confirms it as an Android terminal device. After the user grants permissions, the APP can enumerate all connected USB devices, select the target device for initialization, and then the APP establishes a connection with the smart USB storage device through the API provided by the libaums library. After receiving the initialization signal sent by the APP, the smart USB storage device begins to prepare to receive commands from the APP. In order to ensure the reliability of communication, the APP should adopt a command-response mechanism, that is, wait for the confirmation response from the device after sending a command. This method not only improves the accuracy of data transmission, but also facilitates debugging and error handling. When a file needs to be uploaded from an Android device to a smart USB storage device, the app first sends an initialization command containing file information (such as filename, size, etc.). Then, it transfers the file data to the device in batch mode and uses a custom USB interrupt transfer method to transmit a protocol for password management, such as TLS (Transport Layer Security), to protect the data transmission and enhance its security. For download operations, the process is reversed: the file is read from the smart USB storage device and saved to the local Android device using the same transfer method. The app provides users with a clear and visible transmission progress bar, showing the current percentage completed and the estimated remaining time. This not only helps users understand the transmission status but also provides convenience for rationally scheduling work. It's worth noting that the libaums library is an open-source library for Android that allows applications to interact with USB mass storage devices (UMS). The main function of this library is to enable developers to read and write data from connected USB storage devices such as USB flash drives and SD cards on Android devices without requiring users to manually mount or unmount these devices. For Android 11 and above, apps can read and write data on USB smart storage devices via the system API (Application Programming Interface) and the standard SCSI (Small Computer System Interface) protocol. The USB interrupt transfer mode can reliably transmit custom protocols without system permission issues. Security management functions for USB smart storage devices can be implemented through a custom USB interrupt transfer mode protocol. This method avoids the problem of apps being unable to occupy the device due to system security issues, thus improving device compatibility and user experience.
[0034] The circuits and controls involved in this invention are all existing technologies and will not be described in detail here.
[0035] The above description is merely an embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.
Claims
1. The method for using the SUTP data transmission protocol is characterized in that: The steps include: S1. Deploy the SUTP data transmission protocol on the smart USB storage device interface, and integrate an APP with the SUTP data transmission protocol on the terminal device; S2, plugging the smart USB storage device into the USB interface of the terminal device that needs to perform data transmission, and the terminal device recognizes the smart USB storage device and starts the corresponding APP; S3. The smart USB storage device identifies the operating system of the terminal device, and according to the characteristics of different platform systems, the system platform APP uses the transmission protocol corresponding to the system platform to initialize the handshake with it, ensure the command sets and services supported by each other, and build a communication channel; S4. The terminal device transmits data by operating the APP. During the transmission process, the SUTP data transmission protocol encrypts and authenticates the data. S5. After the data transfer is completed, the smart USB storage device is safely ejected.
2. The method for using the SUTP data transmission protocol according to claim 1, characterized in that: In step S3, the smart USB storage device and the terminal device establish a communication channel, including the following steps: S31, after being plugged into the terminal device, the intelligent USB storage device first performs an initialization operation to prepare to establish communication with the terminal device; S32, the intelligent USB storage device quickly identifies the operating system of the terminal device through its internal identification mechanism; S33. According to the identified operating system, a protocol matching the operating system is selected to establish a connection with the terminal device.
3. The method for using the SUTP data transmission protocol according to claim 2, characterized in that: In step S4, when the smart USB storage device identifies that the operating system is an IOS terminal device, the data transmission steps are as follows: The smart USB storage device identifies the operating terminal and confirms it as an iOS terminal device. After the iOS device detects a new hardware connection, it starts the device enumeration process and reads the descriptor information of the smart USB storage device. The smart USB storage device and the APP in the iOS operating system perform an initial handshake through the custom MTP protocol in the SUTP data transmission protocol, exchange configuration parameters, confirm supported commands and services, and establish a communication channel; After the communication channel is established, the APP in the iOS operating system sends instructions through the custom MTP protocol in the SUTP data transmission protocol, and the smart USB storage device executes the operation and returns the result; The smart USB storage device sends regular status updates to the app within the iOS operating system, ensuring that the user is aware of the progress of the operation and any error messages.
4. The method for using the SUTP data transmission protocol according to claim 3, characterized in that: In step S4, when the smart USB storage device recognizes that the operating system is a Mac OS computer terminal, the data transmission steps are as follows: The smart USB storage device identifies the operating terminal and confirms it as a Mac OS computer terminal. At the same time, the device sends a signal to the Mac OS computer terminal, indicating that new hardware has been connected; The smart USB storage device and the APP of the Mac OS computer terminal perform an initial handshake through the custom USB interrupt transmission protocol in the SUTP data transmission protocol, confirm the command sets and services supported by both parties and establish a communication channel between the two parties; After the communication channel is established, the APP of the Mac OS computer terminal sends a command to the smart USB storage device. The smart USB storage device performs corresponding operations according to the received commands and feeds back the results to the APP of the Mac OS computer terminal.
5. The method for using the SUTP data transmission protocol according to claim 4, characterized in that: In step S4, when the smart USB storage device identifies that the operating system is an Android terminal device, the data transmission steps are as follows: The smart USB storage device identifies the operating terminal and confirms it as an Android terminal device. At the same time, the device sends a signal to the Android terminal device, indicating that new hardware has been connected. The smart USB storage device and the Android terminal device's APP perform an initial handshake through the system API to confirm the standard SCSI protocol command set and services supported by both parties. The APP uses the system API to establish a communication channel with the smart USB storage device through the standard SCSI protocol, and implements the security management of the smart USB storage device through a custom USB interrupt transmission mode protocol; After the communication channel is established, the APP of the Android terminal device sends a command to the smart USB storage device. The smart USB storage device performs corresponding operations according to the received commands and feeds back the results to the APP of the Android terminal device.
6. The method for using the SUTP data transmission protocol according to claim 5, characterized in that: The SUTP data transmission protocol includes a custom MTP protocol and a custom USB interrupt transmission protocol.
Citation Information
Patent Citations
Data transmission method and device, electronic equipment and computer readable medium
CN114745451A
Android intelligent equipment data communication method and device
CN117097795A
Method and apparatus for transmitting data in android platform based terminal device
US20150339242A1