← Back to Patent Explorer
EP0982662A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Modularized communication controller and method

Assignee: STMicroelectronics lnc USA
•
Filing: 1999-08-24
•
Granted: —
•
Expires: 2019-08-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system architecture for a high speed serial bus compatible with the 1394 standard is disclosed. A transaction interface coordinates data packets received from or sent to a 1394 bus. A kernel/scheduler/dispatcher is used to allocate memory resources, and start a variety of tasks and services. The tasks and services vary depending on protocols used in a transport layer and application layer used in conjunction with the 1394 layers. The transaction interface uses information derived from the data packets received to form message control blocks, particular for each individual task, and places the control blocks into the proper task queue. The transaction interface forms a dispatcher message control block and places it into the scheduler/dispatcher queue to initiate the task. If there are no other message control blocks in the queue particular for the called task, the called task is immediately started. Otherwise, the message control block waits in the queue to eventually be operated on.

Inventors

  • 👤 Danny K. Hui
  • 👤 Harry S. Hvostov
  • 👤 Anthony Fung
  • 👤 Peter Groz
  • 👤 Jim C. Hsu

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-03 01:09
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/40; H04L12/40052; H04L12/40117; G; G06; G06F; G06F13/00; G06F13/38; G06F13/382; G06F13/385; H04L12/40123

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.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag