Distributed control of devices using discrete device interfaces over single shared input/output
First Claim
1. A method, comprising the steps of:
- providing a plurality of virtual device interfaces for a device, wherein each virtual device interface enables client control of a discrete function of the device;
placing messages in separate client queues associated with each client operating a virtual device interface;
moving messages from the client queues and placing the message into a timeline in order of time and priority;
periodically determining a priority of messages in the timeline;
detecting if potential timing collisions exist for message transmission;
providing collision notification to the virtual device interfaces; and
controlling concurrent communication between the device and two or more virtual device interfaces operating on a single shared I/O connection using a device input/output (I/O) interface.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for controlling a device. In one aspect, a method for controlling a device includes exposing a plurality of virtual device interfaces (13) for a device (11), wherein each virtual device interface (13) enables client control of a discrete function of the device, and controlling concurrent communication between the device (11) and two or more virtual device interfaces (13) operating on a single shared I/O connection (15) using a shared I/O port controlled by a device I/O module (12). The device I/O module (12) enables independent development of multiple device interfaces (13) that can seamlessly and independently operate on a single (physical) device communication connection (15), wherein the device shared I/O (input/output) module (12) implements functions to arbitrate and coordinate I/O activity between the device interfaces (13) and target device (11).
-
Citations
17 Claims
-
1. A method, comprising the steps of:
-
providing a plurality of virtual device interfaces for a device, wherein each virtual device interface enables client control of a discrete function of the device; placing messages in separate client queues associated with each client operating a virtual device interface; moving messages from the client queues and placing the message into a timeline in order of time and priority; periodically determining a priority of messages in the timeline; detecting if potential timing collisions exist for message transmission; providing collision notification to the virtual device interfaces; and controlling concurrent communication between the device and two or more virtual device interfaces operating on a single shared I/O connection using a device input/output (I/O) interface. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory program storage device readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for controlling a device, the method steps comprising:
-
using a plurality of virtual device interfaces for a device, wherein each virtual device interface enables client control of a discrete function of the device; controlling concurrent communication between the device and two or more virtual device interfaces operating on a single shared I/O connection using a device input/output (I/O) interface, wherein the instructions for controlling concurrent communication comprise instructions for; placing messages in separate client queues associated with each client operating a virtual device interface; moving messages from the client queues and placing the messages into a timeline in order of time and priority; periodically determining a priority of messages in the timeline; detecting if potential timing collisions exist for message transmission; and providing collision notification to the virtual device interfaces. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system, comprising:
a hardware component configured to interface with a plurality of virtual devices and a target device to concurrently control communications over a single connection between two or more of the virtual devices and the device, wherein the concurrent communications comprises the steps of; placing messages in separate queues associated with each client operated virtual device interface; moving messages from the client queues and placing the messages into a timeline in order of time and priority; periodically determining a priority of messages in the timeline; detecting if potential timing collisions exist for message transmission; and providing collision notification to the virtual device interfaces. - View Dependent Claims (12, 13, 14, 15, 16, 17)
Specification