IP Library Granted Patent US 8,332,853
Granted Patent B2
US 8,332,853 · App. 12/185,039 · Granted Dec 11, 2012

Task scheduling of fiber-optic transceiver firmware

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,332,853
App. No.
12/185,039
Granted
Dec 11, 2012
Kind
B2
Abstract

Systems and methods for optimizing the task scheduling efficiency of firmware and/or software associated with optoelectronic transceiver devices. In one example, a scheduling module executes microcode that schedules tasks based on the operational parameters. The scheduling module compares operational parameters with their last known values and then flags necessary tasks to be initiated. The scheduling module flags only those tasks that rely on a particular operational parameter and only if the operational parameter has changed in value since the most recent time that it has been measured. Specifically, the scheduling module identifies leading tasks and dependent tasks and flags tasks only if data that relies on the operating parameter has changed since a previous task scheduling determination.

Claims (33)

1. In an optical transceiver that is communicatively couplable to a host computing system, the optical transceiver including a system memory, and at least one processor, a method for performing task scheduling in the optical transceiver such that only effectual tasks are performed, the method comprising:

an act of identifying a list of flagged tasks;

an act of identifying which of the flagged tasks are enabled;

an act of removing the flagged tasks that are not enabled from the list;

if the list still contains flagged tasks that are enabled, an act of arbitrating which flagged and enabled task will be granted a next available CPU time slice;

an act of resetting a flag for the granted task;

an act of passing CPU control to the granted task; and

wherein the list of flagged tasks for the optical transceiver includes at least one of an acquisition task, a calibration task, a compensation task, a laser driver and post-amplifier control task, and a logic evaluation task.

2. The method as recited in claim 1 , wherein the list of flagged tasks includes at least one of an acquisition task, a calibration task, a compensation task, a laser driver and post-amplifier control task, and a logic evaluation task.

3. The method as recited in claim 1 , wherein the act of passing CPU control to the granted task uses a functional call instruction.

4. The method as recited in claim 1 , further comprising, if the list does not contain flagged tasks that are enabled, an act of setting a CPU mode to idle.

5. The method as recited in claim 1 , further comprising, if the list does not contain flagged tasks that are enabled, an act of repeating the act of identifying a list of flagged tasks.

6. The method as recited in claim 1 , further comprising an act of flagging any dependent tasks whose input requires information generated by the granted task.

7. The method as recited in claim 1 , further comprising, if the granted task is not wholly executed, an act of reflagging the granted task so that the granted task is available to contend for a next available CPU time slice.

8. The method as recited in claim 1 , wherein a single flag may represent two or more tasks as a group.

9. In an optical transceiver that is communicatively couplable to a host computing system, the optical transceiver including a system memory, and at least one processor, a method for performing task scheduling in the optical transceiver such that only effectual tasks are performed, the method comprising the following:

an act of identifying a first task to which CPU control is currently granted;

if the first task cannot be completed by a predetermined deadline without all input parameters being handled, an act of receiving a selection by the first task to quit CPU control prematurely;

an act of reflagging the first task so that the first task is available to contend for a next available CPU time slice; and

an act of granting a second task in a shorter response time for CPU control than would be needed if storage of a context of the first task and restoring a context for the second task were required; and

wherein the first task and the second task include at least one of an acquisition task, a calibration task, a compensation task, a laser driver and post-amplifier control task, and a logic evaluation task.

10. In an optical transceiver that is communicatively couplable to a host computing system, the optical transceiver including a system memory, and at least one processor, a method for performing task scheduling in the optical transceiver such that only effectual tasks are performed, the method comprising the following:

an act of obtaining a current operational parameter value;

an act of comparing the current operational parameter value with a last known operational value;

if the current operational parameter value is different from the last known operational value, an act of flagging a leading task whose input requires the current operational parameter value;

an act of flagging any dependent tasks whose input requires information generated by the leading task based on the operational parameter value;

an act of executing the leading task and/or dependent task only if the leading task and/or dependent tasks are flagged;

wherein the leading task and the dependent task include at least one of an acquisition task, a calibration task, a compensation task, a laser driver and post-amplifier control task, and a logic evaluation task.

11. The method as recited in claim 10 , wherein a leading task may also be flagged by a timer interrupt.

12. The method as recited in claim 10 , wherein a leading task may also be flagged by an analog to digital conversion completion interrupt.

13. The method as recited in claim 10 , wherein the operational parameters include at least one of a supply voltage, a temperature, a laser bias current, a transmit power, a receive power, a laser wavelength, a laser temperature, and a Thermo Electric Cooler current.

14. The method as recited in claim 10 , wherein the act of comparing the current operational parameter value with a last known operational value includes comparing the current operational parameter value in a digital form.

15. The method as recited in claim 10 , wherein the act of comparing the current operational parameter value with a last known operational value includes comparing the current operational parameter value in an analog form.

Assignments (4)
PATENT RELEASE AND REASSIGNMENT Recorded Jul 5, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: II-VI INCORPORATED; MARLOW INDUSTRIES, INC.; EPIWORKS, INC.; LIGHTSMYTH TECHNOLOGIES, INC.; KAILIGHT PHOTONICS, INC.; COADNA PHOTONICS, INC.; OPTIUM CORPORATION; FINISAR CORPORATION; II-VI OPTICAL SYSTEMS, INC.; M CUBED TECHNOLOGIES, INC.; II-VI PHOTONICS (US), INC.; II-VI DELAWARE, INC.; II-VI OPTOELECTRONIC DEVICES, INC.; PHOTOP TECHNOLOGIES, INC.
Reel/Frame 060574/0001 →
SECURITY INTEREST Recorded Jul 1, 2022
From: II-VI INCORPORATED; II-VI DELAWARE, INC.; M CUBED TECHNOLOGIES, INC.; II-VI PHOTONICS (US), INC.; PHOTOP TECHNOLOGIES, INC.; COHERENT, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060562/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2020
From: FINISAR CORPORATION
To: II-VI DELAWARE, INC.
Reel/Frame 052286/0001 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 25, 2019
From: II-VI INCORPORATED; MARLOW INDUSTRIES, INC.; EPIWORKS, INC.; LIGHTSMYTH TECHNOLOGIES, INC.; KAILIGHT PHOTONICS, INC.; COADNA PHOTONICS, INC.; OPTIUM CORPORATION; FINISAR CORPORATION; II-VI OPTICAL SYSTEMS, INC.; M CUBED TECHNOLOGIES, INC.; II-VI PHOTONICS (US), INC.; II-VI DELAWARE, INC.; II-VI OPTOELECTRONIC DEVICES, INC.; PHOTOP TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050484/0204 →