Command orchestration between applications and peripheral devices

文档序号:385330 发布日期:2021-12-10 浏览:5次 中文

阅读说明:本技术 应用与外围设备之间的命令编排 (Command orchestration between applications and peripheral devices ) 是由 恩德里戈·纳丁·皮涅罗 克里斯托弗·查理斯·莫尔曼 罗格·本松 斯蒂芬·马克·欣顿 赛义德· 于 2019-06-20 设计创作,主要内容包括:装置的示例包括用于执行应用的应用引擎。装置包括与第一外围设备通信的第一通信接口。装置包括与第二外围设备通信的第二通信接口。装置包括与应用引擎、第一通信接口和第二通信接口通信的编排引擎。编排引擎从应用接收应用命令,并且将应用命令广播到第一外围设备和第二外围设备。编排引擎用于从第一外围设备或者第二外围设备接收设备命令,其中,设备命令用于控制应用。(An example of an apparatus includes an application engine to execute an application. The apparatus includes a first communication interface to communicate with a first peripheral device. The apparatus includes a second communication interface to communicate with a second peripheral device. The apparatus includes an orchestration engine in communication with an application engine, a first communication interface, and a second communication interface. The orchestration engine receives an application command from an application and broadcasts the application command to the first peripheral device and the second peripheral device. The orchestration engine is to receive a device command from the first peripheral device or the second peripheral device, wherein the device command is to control the application.)

1. An apparatus, comprising:

an application engine for executing an application;

a first communication interface for communicating with a first peripheral device;

a second communication interface for communicating with a second peripheral device; and

an orchestration engine in communication with the application engine, the first communication interface, and the second communication interface,

wherein the orchestration engine is to receive an application command from the application and broadcast the application command to the first peripheral device and the second peripheral device, and

wherein the orchestration engine is to receive a device command from the first peripheral device or the second peripheral device, wherein the device command is to control the application.

2. The apparatus of claim 1, wherein the application is to provide user communication with an external device.

3. The apparatus of claim 2, wherein the application is a unified communications client.

4. The apparatus of claim 1, wherein the first peripheral device is to establish a direct connection with the application in response to a triggering event.

5. The apparatus of claim 4, wherein the triggering event is a user input received at the first peripheral device.

6. The apparatus of claim 5, further comprising a filter driver installed on the first peripheral device, wherein the filter driver is to replicate one of the application command or the device command of the first peripheral device to generate a replication command.

7. The apparatus of claim 6, wherein the filter driver pushes the copy command to the orchestration engine.

8. The apparatus of claim 5, further comprising a filter driver installed on the second peripheral, wherein the filter driver is to replicate the device command of the second peripheral to generate a replication command.

9. The apparatus of claim 8, wherein the filter driver pushes the copy command to the orchestration engine.

10. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of an electronic device to:

executing an application, wherein the application provides communication between users;

attaching a first peripheral device to an application in response to a triggering event;

copying a first command between the first peripheral device and the application to generate a first copy command;

broadcasting the first copy command to a second peripheral;

copying a second command from a second peripheral device to the application to generate a second copy command; and

sending the second copy command to the application.

11. The non-transitory machine-readable storage medium of claim 10, wherein the triggering event is an input received at the first peripheral device.

12. The non-transitory machine-readable storage medium of claim 10, wherein the instructions, when executed, further cause the processor to transmit the first copy command and the second copy command from a filter driver to an orchestration engine.

13. An apparatus, comprising:

a communication engine for executing a unified communication client;

a first peripheral device for attaching to the unified communications client via a human interface device protocol;

a second peripheral device for receiving user input; and

an orchestration engine in communication with the communication engine, the first peripheral device, and the second peripheral device,

wherein the orchestration engine is to receive an application command from the unified communication client and send the application command to the second peripheral device, an

Wherein the orchestration engine is to receive a device command from the second peripheral device and send the device command to the unified communications client via the human interface device protocol.

14. The apparatus of claim 13, wherein the application command is to control a status indicator.

15. The apparatus of claim 13, wherein the device command is to control volume.

Background

Computers and other personal electronic devices may be used for communication between users. The manner in which the users communicate may include telephone services, messaging services, conferencing services, and other collaboration methods. Some computers and personal electronic devices include applications that can combine communication methods into a single application, such as a unified communication client. To interact with the unified communications client, a computer or personal electronic device may interact with a peripheral device such as a microphone, speaker, headset, or other interactive capable device. The peripheral device and computer may also communicate directly with each other to provide functionality.

Drawings

Reference is now made, by way of example only, to the accompanying drawings in which:

FIG. 1 is a schematic diagram of an example apparatus to orchestrate commands between an application and a peripheral device;

FIG. 2 is a schematic diagram of another example apparatus to orchestrate commands between an application and a peripheral device;

FIG. 3 is a schematic diagram of the example apparatus shown in FIG. 2 illustrating data flow from a communication engine;

FIG. 4 is a schematic diagram of the example apparatus shown in FIG. 2 illustrating data flow from a peripheral device to a communication engine;

FIG. 5 is a schematic diagram of the example apparatus shown in FIG. 2 illustrating data flow from another peripheral device to the communication engine;

FIG. 6 is a schematic diagram of another example apparatus to orchestrate commands between an application and a peripheral device; and

FIG. 7 is a flow chart of an example of a method of orchestrating commands between an application and a peripheral device.

Detailed Description

An application on a personal computer or other personal electronic device may be used as a communication device to allow a user to communicate over long distances through the application running on the personal computer. For example, the unified communications client may be used to provide communications through telephone services, messaging services, conferencing services, and other collaboration methods. The unified communications client may also send and receive commands to and from a peripheral device selected to call the default device regardless of how many other devices are attached to the platform. However, modern personal computers and personal electronic devices may have more than one peripheral device that can be used with a unified communications client. For example, a personal computer may have a headset with volume controls and a keyboard with status indicators and buttons to control various functions within the unified communications client, such as volume, starting a call, joining two calls, or ending a call.

It should be understood that the unified communication client is not particularly limited. In this example, the unified communications client may be an application running on a personal computer that integrates services such as instant messaging (chat), presence information, voice (including IP telephony), mobility features (including extension mobility and single number arrival), audio, web and video conferencing, fixed-mobile convergence (FMC), desktop sharing, data sharing (electronic interactive whiteboard including network connectivity), call control, and voice recognition with non-real-time communication services such as unified messaging (integrated voicemail, email, SMS, and fax). Thus, the unified communications client provides an integrated interface for users to communicate across multiple media.

Although some keyboards may be provided with volume controls, a keyboard that is a non-default device will not be able to communicate directly with the unified communications client, for example, through a protocol for communicating with a default peripheral device, such as a human interface device protocol. The human interface device protocol is a standardized protocol for applications running on the processor to interact with compatible peripheral devices. In particular, the human interface device protocol provides standard commands that can be sent directly from an application to a peripheral device connected to the application. For example, volume controls on non-default devices may adjust system-wide volume rather than unifying the volume of communication clients so that other applications as well as the operating system may experience comprehensive volume changes. As another example, the unified communication client may have other software solutions where the unified communication client communicates with the non-default devices via various drivers through the operating system rather than through a direct communication link such as provided by a human interface device protocol. It will be appreciated that using a software solution to communicate with peripheral devices over standard protocols introduces more delay and requires more resources from the computer system.

To increase the user experience, the device is provided with an orchestration engine that tracks each peripheral present in the system and its state running on the system. This tracking involves actively monitoring the addition or deletion of new devices. In addition, the orchestration engine receives each user action performed on the peripheral device corresponding to a command that is subsequently sent to the unified communication client, such as a button press on the peripheral device or a voice command on another peripheral device. The orchestration engine allows end users to interact with the unified communication system through multiple peripherals. Additionally, the orchestration engine also listens (listens) for commands from the unified communications client and sent to the default peripheral device previously defined. The orchestration engine copies the command from the appropriate peripheral and sends it to the appropriate peripheral, which may not be the default device previously attached to the unified communication client.

Referring to fig. 1, an apparatus for orchestrating commands between an application and a peripheral device is shown at 10. The apparatus 10 may include additional components, such as various additional interfaces and/or input/output devices, such as a display, to interact with a user or administrator of the apparatus 10. In this example, the apparatus 10 includes an application engine 15, a first communication interface 20, a second communication interface 25, and an orchestration engine 30. Although this example shows the application engine 15 and orchestration engine 30 as separate components, in other examples, the application engine 15 and orchestration engine 30 may be part of the same physical component (such as a microprocessor configured to perform multiple functions).

The application engine 15 is used to execute applications. It should be understood that the application is not particularly limited. For example, an application may be any application capable of communicating directly with a peripheral device. Direct communication with the peripheral device may allow the application to send commands directly to the peripheral device. Additionally, direct communication with the peripheral device may allow the application to receive commands directly from inputs at the peripheral device.

As a specific example, the application engine 15 may execute a communication application, such as a unified communication client, to provide users on separate electronic devices with the ability to communicate with each other. For example, a first user may operate a computer system installed with a communication application. The communication application may establish a communication link with the second user. In this example, the second user may operate another device external to the apparatus 10. In addition, the external device of the second user may not have the same communication application installed on the electronic device. Instead, the second user may use a conventional telephone to execute the communication link with the first user's communication application. The conventional telephone communication link may be a standard telephone service. Thus, the communication application of the first user may allow a standard telephone communication line to be established with the second user on the external device.

Further, in this example, the application may be used to establish a direct connection with the peripheral device. It may be assumed that the peripheral device is used to connect to a communication application running on the application engine 15 via the communication interface 20. A direct connection may refer to a connection where a communication application may send commands or data directly to a peripheral device. Additionally, a direct connection may allow the peripheral device to send commands or data directly to the application. The manner of establishing the direct connection is not particularly limited. For example, the communication application may communicate directly with the peripheral device using a protocol, such as a human interface device protocol, that provides such direct communication between the application and the peripheral device. It should be appreciated that by using the human interface device protocol, the communication application is able to send commands to the peripheral device without using the operating system. Thus, the human interface device protocol may allow peripheral devices to communicate in a more efficient manner.

Continuing with the above example of unifying the communication link between the communication client and the phone, the peripheral device may be a headset with a microphone and a speaker. The headset may include a user input panel where a user may generate input to change the volume of the unified communications client, add a participant to a phone call, answer another incoming call, and/or switch screen sharing. Similarly, the unified communications client can send commands or data to the headset. For example, the unified communications client may send a status of the call to the headset, such as whether the unified communications client has been placed in a wait state, or whether the call has ended or been answered.

The communication interface 20 is used for communication with peripheral devices. Specifically, the communication interface 20 transmits and receives commands and data to and from the peripheral devices. Continuing with the above example, the apparatus 10 may provide a user with the ability to communicate with another user on an external device, such as a telephone. Thus, the communication interface 20 may communicate with a headset to facilitate telephonic communications. In this example, the headset may include a microphone to receive audio data, such as voice data, from the user. The headset may also include additional buttons or input mechanisms, such as a touch screen, to receive input to be received at the communication interface 20. Additionally, the headset may include a speaker to generate audio output for the user. The headset may also include additional indicators or output mechanisms, such as a display screen, to generate output for the user through the communication interface 20.

The manner in which the communication interface 20 transmits and receives data to and from the peripheral device is not particularly limited. In the present example, the communication interface 20 may be a wireless interface that communicates with peripheral devices over short distances using ultra-high frequency radio waves. In particular, the communication interface 20 may use a standard such as bluetooth. In other examples, communication interface 20 may connect to peripheral devices via the internet or via a wired connection.

Returning to this particular example, the communication interface 20 may communicate with a peripheral device such as a headset to establish a direct connection with an application executed by the application engine 15. The manner in which the direct connection is established is not particularly limited and may be in response to a triggering event. In this example, the triggering event may be a user input received at the communication interface 20 from a peripheral device. For example, the user may press a button or provide a voice command to the headset. Continuing the example above, the application is a unified communications client and can receive a telephone call from an external device. Thus, the unified communications client can send data to the headset via the communications interface 20. In response, the headset may generate an output for the user. For example, the headset may ring or vibrate to indicate that a phone call is requested. In response, the user of the headset may press a button to answer the telephone call. It should be appreciated that the answering of a telephone call may be a triggering event that attaches a headset connected via the communication interface 20 to the unified communications client via the human interface device protocol.

The communication interface 25 is used for communication with another peripheral device. Specifically, the communication interface 25 is used to send and receive commands and data to and from peripheral devices. Continuing with the above example, the communication interface 25 may communicate with another user interface device, such as a keyboard. The keypad may include keys to receive input from a user. In addition to the standard keys on the keyboard, the keyboard may include dedicated keys for interacting with the unified communications client, such as volume control keys and keys for handling telephone calls (such as buttons for answering a call or hanging up a call). The keypad may also include additional indicators of the display to output data associated with telephone calls received from the application via the communication interface 25. The additional data to be received is not limited and may include timer data, call state data, caller identification information, and other data associated with the telephone call.

The manner in which the communication interface 25 transmits and receives data to and from the attached peripheral device is not particularly limited. In the present example, the communication interface 25 may be a wireless interface that communicates with peripheral devices over short distances using ultra-high frequency radio waves. In particular, the communication interface 25 may use a standard such as bluetooth. In other examples, communication interface 25 may connect to peripheral devices via the internet or via a wired connection.

Returning to this specific example, it should be appreciated that the human interface device protocol may be used to connect a single peripheral device and not support additional devices. Thus, a keyboard communicating via communication interface 25 using a standard human interface device protocol cannot establish a direct connection with an application, since communication interface 20 has established a direct connection with an application running on application engine 15 via the human interface device protocol.

In this example, orchestration engine 30 communicates with application engine 15 and communication interfaces 20 and 25. Orchestration engine 30 is used to receive commands and data from applications running on application engine 15 and orchestrate the commands to peripheral devices connected to the apparatus via communication interface 20 and peripheral devices connected to the apparatus via communication interface 25. In addition, orchestration engine 30 is to receive commands and data from a peripheral device via communication interface 20, and to receive commands and data from a second peripheral device via communication interface 25. Orchestration engine 30 is used to orchestrate commands and data received via communication interface 20 or communication interface 25 to an application to control various features of the application.

Referring again to the example above, the headset is connected to the communication interface 20 and the keyboard is connected to the communication interface 25. In this example, both the headset and the keyboard may have additional inputs and outputs for the unified communications client. A default device for attaching a unified communications client using the human interface device protocol may be assumed to be a headset connected to the communications interface 20. During operation, orchestration engine 30 is used to intercept commands received from the unified communications client to the peripheral device via the human interface device protocol. It should be understood that commands from the unified communications client are directed to the headset via the communications interface 20. Orchestration engine 30 intercepts the command and forwards it to the keyboard via communication interface 25 as well. For example, a command from the unified communications client can be used to activate an indicator such as an LED, sound, vibration, or prompt on a display screen to notify the user that there is an incoming telephone call. By sending commands to both the headset and the keyboard, both peripherals will generate output to the user. In contrast, without orchestration engine 30, the keyboard would not receive human interface device commands.

Similarly, orchestration engine 30 is used to intercept commands received from peripheral devices via a human interface device protocol intended for unified communication clients. It should be understood that commands may be received from the headset via the communication interface 20 or from the keyboard via the communication interface 25, even if the keyboard is not directly connected to the unified communications client via the human interface device protocol. Orchestration engine 30 receives the command, regardless of which peripheral device generated the command and forwarded it to the unified communications client. For example, in response to a command from the unified communications client notifying the user of an incoming telephone call, the user may use an "answer call" button on the keypad to generate the command via the communications interface 25. Orchestration engine 30 receives the command and directs it to the unified communication client using the human interface device protocol. In contrast, without orchestration engine 30, the keyboard would not be able to send human interface device commands to the unified communications client, since the unified communications client is connected to the headset via the human interface device protocol. Although alternative software solutions, such as building a back door to the unified communications client, may work as well, it should be understood that sending commands to the unified communications client by using alternative routes involves additional layers and uses more customized software.

Referring to fig. 2, another example of an apparatus for orchestrating commands between an application and a peripheral device is shown at 10 a. Like components of the device 10a have like reference numerals with their counterparts in the device 10 except for the suffix "a" thereafter. In this example, apparatus 10a includes a communication engine 15a, a first communication interface 20a, a first peripheral 22a, a second communication interface 25a, a second peripheral 27a, an orchestration engine 30a, a first filter 35a, and a second filter 40 a.

The communication engine 15a is used to execute a unified communication client to provide users on separate electronic devices with the ability to communicate with each other. For example, a first user may be operating a computer system installed with a unified communications client to communicate with another user on a separate computer system. In this example, the second user may operate another device than the apparatus 10 a. In addition, the external device of the second user may or may not be installed with the same unified communications client. Instead, the second user may use a conventional telephone to perform the communication link with the unified communication client of the first user. The conventional telephone communication link may be a standard telephone service. Thus, the unified communications client of the first user may allow a standard telephone communication line to be established with a second user on an external device.

In this example, unified communications client establishes a direct connection with peripheral device 22a via communications interface 20a using the human interface device protocol so that peripheral device 22a can send and receive human interface device commands with the unified communications client. The apparatus 10a further includes additional peripherals 27a,. Thus, the peripheral device 27a is operative to receive user input and generate commands directly for the unified communications client.

In this example, the peripheral device 22a is mounted with a filter 35 a. The filter 35a may typically be a driver that controls the peripheral device 22 a. Referring to fig. 3, filter 35a may intercept human interface device commands inbound from unified communications client to peripheral 22 a. Upon intercepting a human interface device command from a unified communications client, filter 35a copies the command and forwards it to orchestration engine 30, which orchestration engine 30 may forward to peripheral device 27 a. Thus, although peripheral 27a does not communicate with the unified communications client using the human interface device protocol, peripheral 27a will receive commands in a similar manner as peripheral 22 a. Thus, peripheral 27a is synchronized with peripheral 22 a. For example, peripheral 27a and peripheral 22a may display the status of the unified communications client, such as whether the call is active or waiting (on hold). As another example, both peripheral 27a and peripheral 22a may be used to receive user input such as a volume control command or an end call command to control the unified communications client when synchronizing. As shown in fig. 4, since peripheral 22a is directly connected with the unified communications client, commands from peripheral 22a may pass through the filter to communications engine 15 a.

In this example, the peripheral device 27a is fitted with a filter 40 a. Similar to filter 35a, filter 40a may generally be a driver that controls peripheral 27 a. Referring to fig. 5, a filter 40a may intercept human interface device commands inbound to the unified communications client from the peripheral device 27 a. Since the peripheral device 27a is not connected to the unified communications client and commands received at the peripheral device 27a may not be forwarded to the communications engine 15 a. However, when human interface device commands from peripheral 27a are intercepted using filter 40a, the commands are sent to orchestration engine 30a, which orchestration engine 30a may forward the commands to a unified communication client running on the communication engine via filter 35 a. From the unified communications client's perspective, commands from peripheral device 27a appear to be received from peripheral device 22a, such that no additional modifications to the human interface device protocol or unified communications client are required. Thus, although peripheral device 27a does not communicate with the unified communications client using the human interface device protocol, peripheral device 27a is capable of receiving commands from a user in a similar manner as peripheral device 22 a. Thus, peripheral 27a will synchronize with peripheral 22 a.

In addition, filter 35a and filter 40a may be used to detect the presence of peripheral 22a and peripheral 27a, respectively. Thus, upon detecting the addition or removal of peripheral 22a or peripheral 27a, the information may be forwarded to orchestration engine 30a, and orchestration engine 30a may adjust the manner in which human interface device commands are broadcast. The manner of detecting the presence of peripheral device 22a or peripheral device 27a is not particularly limited. For example, filter 35a and filter 40a may send periodic status checks to communication interface 20a or communication interface 25a to determine if a peripheral device is connected.

Referring to fig. 6, another example of an apparatus for orchestrating commands between an application and a peripheral device is shown at 10 b. Like parts of device 10b have like reference numerals with their counterparts in device 10a except for the suffix "b" thereafter. In this example, the apparatus 10b includes a processor 50b, a memory storage unit 55b, a first peripheral device 60b, and a second peripheral device 65 b.

In this example, the processor 50b may include a Central Processing Unit (CPU), microcontroller, microprocessor, processing core, Field Programmable Gate Array (FPGA), or the like. The processor 50b and the memory storage unit 55b may cooperate to execute various instructions. The processor 50b maintains and operates the communication engine 15b to run applications such as unified communication clients. In addition, processor 50b may operate orchestration engine 30b to orchestrate commands and data between communication engine 15b and peripheral 60b and peripheral 65 b.

Processor 50b is also used to control peripheral 60b and peripheral 65 b. In particular, processor 50b may send instructions to peripheral 60b and peripheral 65b to receive user input and data. For example, processor 50b may receive and send commands between the unified communications client, peripheral 60b, and peripheral 65b using the human interface device protocol.

Memory storage unit 55b is coupled to processor 50b and may include a non-transitory machine-readable storage medium, which may be any electronic, magnetic, optical, or other physical storage device. The non-transitory machine-readable storage medium may include, for example, Random Access Memory (RAM), electrically erasable programmable read-only memory (EEPROM), flash memory, a storage drive, an optical disk, and so forth. Memory storage unit 55b may also be encoded with executable instructions to operate peripheral 60b and peripheral 65b, as well as other hardware in communication with processor 50 b. In other examples, it should be understood that the memory storage unit 55b may be replaced with a cloud-based storage system.

The memory storage unit 55b may also store an operating system executable by the processor 50b to provide general functionality to the device 10, such as functionality to support various applications such as a user interface to access various features of the device 10 b. Examples of operating systems include WindowsTM、macOSTM、iOSTM、AndroidTM、LinuxTMAnd UnixTM. The memory storage unit 55b may additionally store applications executable by the processor 50b to provide specific functions to the apparatus 10b, such as described in more detail below.

Memory storage unit 55b may also store additional executable instructions for the operation of device 10 b. In this example, the executable instructions may comprise a set of instructions for processor 50b to execute in order to operate communication engine 15b and orchestration engine 30 b.

Referring to FIG. 7, a flow diagram of a method of orchestrating commands between an application and a peripheral device is shown at 200. To aid in the explanation of the method 200, it will be assumed that the method 200 can be performed with the apparatus 10 b. Indeed, the method 200 may be one way in which the apparatus 10b may be configured to interact with an external device (not shown). Moreover, the following discussion of the method 200 may lead to a further understanding of the apparatus 10b and its various components. Moreover, it is emphasized that the method 200 may be performed out of the exact order shown, and that the various blocks may be performed in parallel rather than sequentially, or in a completely different order.

Beginning at block 210, the processor 50b is used to execute an application, such as a unified communications client, on the communications engine 15 b. The communication engine 15b generally communicates with an external device operated by another user. For example, the unified communication client may establish a communication link with the second user through a communication standard, such as a telephone call.

Block 220 includes attaching peripheral device 60b to the unified communications client. In this example, the unified communications client may communicate with a single peripheral device using a human interface device protocol. The attachment of peripheral device 60b may be predetermined by the user or based on a priority list of devices. In other examples, the peripheral device may be attached in response to a triggering event, such as a selection by an input at peripheral device 60 b. The selection of peripheral device 60b is not particularly limited, and in some examples, peripheral device 65b may be attached to a unified communications client.

Block 230 includes copying the command from the unified communications client to peripheral device 60 b. As described above, since peripheral device 60b is attached to the unified communication client via the human interface device protocol, the unified communication client will not be able to communicate with other peripheral devices using the same protocol. In this example, commands sent to peripheral 60b may be intercepted by the filter, copied, and transmitted to orchestration engine 30 b. Further, the filter may be a driver associated with peripheral device 60 b. The manner in which the commands are transmitted to orchestration engine 30b is not limited and may involve a push or pull process.

In block 240, the copy command generated at block 230 is broadcast to other peripheral devices. In this example, the only other peripheral device is peripheral device 65 b. In other examples, the additional peripheral device may receive the copy command. For example, if the original command from the unified communications client is to alert peripheral 60b that a phone call is coming, block 240 may also alert peripheral 65 b.

Block 250 includes copying the command from peripheral 65 b. In this example, the peripheral device 65b cannot send commands to the unified communications client because it is not in direct communication with the unified communications client. Instead, the command may be copied by the filter for transmission to orchestration engine 30b, and orchestration engine 30b may then send the command to the unified communication client in block 260. The manner in which commands from peripheral 65b are transmitted to orchestration engine 30b via the filters is not limited and may involve a push or pull process.

Thus, instead of answering a call with peripheral device 60b, the user may use peripheral device 65b when the user is alerted of a telephone call, since commands will be routed to the unified communications client through orchestration engine 30b when using the human interface device protocol, thereby eliminating the additional development of adding backdoors to the unified communications client.

It should be appreciated that features and aspects of the various examples provided above may be combined into further examples that also fall within the scope of the disclosure.

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:会话管理功能选择

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类