Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
171 words
On a node coupled to a serial bus, a communication controller
comprising: a transaction interface structured to accept data packets from the bus and
perform actions responsive to data contained within the data packets; a dispatcher structured to receive information provided to it and issue start
commands responsive to the information received; a plurality of separate, independent tasks that each perform a specialized
function responsive to data provided to it, each task scheduled to execute when data is
provided to it by the transaction interface or any of the other tasks, each task structured to
execute until it has exhausted all of the data provided to it, each task executed after the
dispatcher issues a start command for that task, the start command issued by the dispatcher
only when the dispatcher receives an indication from the transaction interface or the task that
provided data to the task that the particular task is not presently executing, and each task
structured to operate concurrently with and independently from all of the other tasks.
Claim 2
Dependent Claim
62 words
The controller of claim 1 further including at least one data holding
queue associated with each task, the transaction interface and the dispatcher, the queues
structured to accept data from the transaction interface or any of the other tasks when the task,
transaction interface, or dispatcher is desired to be called by the transaction interface or the
any of the other tasks.
Claim 3
Dependent Claim
35 words
The controller of claim 2 wherein the data accepted into the queue is a
message control block structured to be formatted with data particular to the respective
queue's task, the dispatcher, or the transaction interface.
Claim 4
Dependent Claim
18 words
The controller of claim I wherein the tasks are structured to perform
operations required by the SBP-2 protocol.
Claim 5
Dependent Claim
181 words
On a node coupled to a bus, a communication controller comprising: a transaction interface having a transaction interface queue, the transaction
interface structured to accept data packets from the bus and perform actions responsive to
data contained within the data packets; a dispatcher having a dispatcher queue, the dispatcher structured to accept
information sent to the dispatcher queue; one or more tasks each having their own queue, each task structured to
perform a specialized function responsive to data retrieved from their respective queue, each
task scheduled to execute when data is placed in its queue by the transaction interface or any
of the other tasks, each task structured to remove data from the top of its queue when the data
is no longer being operated on, each task executed after the dispatcher issues a start command
for that task, the start command issued by the dispatcher only when the dispatcher has data
placed in its queue indicating that the particular task is not presently executing, and each task
structured to operate concurrently with and independently from all of the other tasks.
Claim 6
Dependent Claim
30 words
The controller of claim 5 wherein the data placed into the queues is a
message control block that is structured particularly for the service or task that operates on it.
Claim 7
Dependent Claim
45 words
The controller of claim 2 or claim 6 wherein the dispatcher is called to issue a
start command if one of the message control blocks is placed in one of the task's queue and
that message control block is at the top of the queue.
Claim 8
Dependent Claim
59 words
The controller of claim 1 or claim 5 further including a kernel and wherein
multiple tasks can operate at the same time, wherein some of the operations may require one
or more tasks to be suspended, and wherein the kernel or the other tasks can utilize any time
that would have been used by the suspended task or tasks.
Claim 9
Dependent Claim
24 words
The controller of claim 5 wherein the tasks are structured to perform
operations required by the FCP/CMP protocol according to the IEC 61883 standard.
Claim 10
Dependent Claim
30 words
The controller of claim 5 wherein tasks can be added, substituted, or
deleted in order for the controller to be structured to perform functions required by any
transport layer protocol.
Claim 11
Independent Claim
110 words
A method of communicating over a serial bus comprising, at a node on
the serial bus: receiving packets of information from the serial bus at a transaction interface; decoding the packets and analyzing the information received to determine if a
service or a task should be called; if a service or task is to be called, formatting data to be placed into a queue
associated with one of a plurality of services or tasks; placing the data into the respective queue of the service or task being called; starting the service or task if no data was already present in the respective
queue of the service or task being called;
Claim 12
Dependent Claim
41 words
The method of claim 11 wherein data to be placed in the queues is in
the form of message control blocks, each message control block structured specifically to be
operated on by only a particular one of the tasks or services.
Claim 13
Independent Claim
67 words
The method of claim12 wherein formatting a message control block to
be placed in one of the queues comprises: requesting a free message control block from a kernel; after the kernel provides a free message control block, transferring data
specific to the task or service desired to be called into the message control block; and placing the message control block into the task's or service's respective queue;
Claim 14
Dependent Claim
80 words
The method of claim 13 wherein starting the service or task comprises: after placing the message control block into the task's or service's respective
queue, sending a return code back to the task that placed the message control block in the
queue; inspecting the return code; and if the return code indicates that the message control block was placed at the
top of a queue, calling a dispatcher to start the task or service that is desired to be called.
Claim 15
Dependent Claim
132 words
An electronic readable medium whose contents allow an electronic
device to communicate over a serial bus comprising, at a node on the serial bus the steps of: receiving packets of information from the bus at a receiving bay of a
transaction interface; decoding the packets and analyzing the information received to determine if a
task should be called; if a task is to be called, formatting data to be placed into a queue associated
with at least one of a plurality of tasks and queuing the data into the respective queue of the
task being called; starting the task if the data was placed in the top of the respective queue of the
task being called; and continue operating by the task being called until all data is removed from the
queue.
Claim 16
Dependent Claim
23 words
The electronic readable medium of claim 15 wherein more than one
service or task can be operating simultaneously and independently from each other.
Claim 17
Dependent Claim
43 words
The electronic readable medium of claim 15 wherein a set of tasks is
selected so that all functions that are required when the FCP/CMP protocol according to the
IEC 61883 standard is used as a transport layer can be performed by the tasks.
Claim 18
Dependent Claim
25 words
The electronic readable medium of claim 15 further comprising, after
queuing data into the respective queue, scheduling to be started the task to be executed.
Claim 19
Dependent Claim
30 words
The electronic readable medium of claim 15 wherein decoding the
packets and analyzing the information also includes determining whether a service should be
called, and if so, calling the service.
Claim 20
Dependent Claim
19 words
The electronic readable medium of claim 15 wherein the serial bus
conforms to any of the IEEE 1394 standards.
Claim 21
Dependent Claim
39 words
The electronic readable medium of claim 15 wherein data to be placed
in the queues is in the form of a message control block, each message control block contains
data specifically used by one of the tasks or services.
Claim 22
Dependent Claim
70 words
The method of claim 12 wherein formatting a message control block to
be placed in one of the queues comprises: sending a command to request a free message control block from a kernel; when a free message control block is provided, filling message control block
with data specific to the task or service desired to be called; and queuing the message control block into the task's or service's respective
queue;
Claim 23
Dependent Claim
69 words
The method of claim 22 wherein starting the service or task comprises: after queuing the message control block into the task's or service's respective
queue, sending a return code back to the queuing task; inspecting the return code; and if the return code indicates that the called task or service was not already
started, calling a dispatcher to start the task or service that is desired to be called.