IP Library Granted Patent US 6,952,830
Granted Patent B2
US 6,952,830 · App. 09/931,792 · Granted Oct 4, 2005

System and method to uniformly access devices

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 6,952,830
App. No.
09/931,792
Granted
Oct 4, 2005
Kind
B2
Abstract

System and method to uniformly access devices. The method may include receiving at least one high-level request regarding at least one designated device of a plurality of devices from an application program, translating the high-level request to one or more low-level requests, and communicating the low-level request(s) to a device driver associated with one or more devices. The method may further include receiving a low-level message from a device, translating the low-level message to a high-level message, and forwarding the high-level message to the application program that sent the high-level request. The system may include a processor and a memory coupled to a bus, an application program, and a multiplexor to forward requests from the application program to a plurality of device drivers for corresponding devices, and to forward information received from the device drivers regarding the devices to the application program.

Claims (63)

1. A method comprising:

receiving from multiple application programs executing within one or more computer environments, instructions intended for one or more target computer-based devices, said instructions being issued by the application programs in high-level, non-target device specific formats interpretable by a software communication portal receiving said instructions;

translating, at the software communication portal, said instructions from the high-level, non-target device specific formats to target device specific formats appropriate for software drivers associated with respective ones of the target computer-based devices for which said instructions were intended and according to target computer-based device information specified in the instructions; and

communicating the instructions as formatted in the target device specific formats from the software communication portal to each of the software drivers as appropriate according to the target computer-based device information specified in the instructions.

2. The method of claim 1 further comprising:

receiving at least one low-level message from at least one of the target computer-based devices;

translating the at least one low-level message to at least one high-level message; and

forwarding the at least one high-level message to the at least one application program that sent the at least one of the instructions in high-level, non-target device specific formats.

3. The method of claim 1 wherein the at least one of the instructions comprises at least one of a status request and a control request.

4. The method of claim 1 wherein receiving the instructions is achieved via one of/proc file system, ioctl, system call and direct function call.

5. The method of claim 1 further comprising:

regularly gathering a plurality of statistics regarding the one or more target computer-based devices.

6. The method of claim 5 further comprising:

periodically forwarding a high-level message reporting the plurality of statistics regarding the one or more target computer-based devices to the at least one application program.

7. The method of claim 5 further comprising:

determining which of the one or more target computer-based devices issued errors that exceed a threshold number of errors based on evaluation of the plurality of statistics; and

sending shut-down messages to each of the one or more target computer-based devices that issued errors that exceed a threshold number of errors.

8. The method of claim 5 further comprising:

retrieving a plurality of configuration information from a primary device of the one or more target computer-based devices; and

applying the configuration information to a secondary device when the primary device is taken off-line.

9. A tangible machine readable medium having stored thereon instructions which when executed by a processor cause a machine to perform operations comprising:

receiving from multiple application programs executing within one or more computer environments, instructions intended for one or more target computer-based devices, said instructions being issued by the application programs in high-level, non-target device specific formats interpretable by a software communication portal receiving said instructions;

translating, at the software communication portal, said instructions from the high-level, non-target device specific formats to target device specific formats appropriate for software drivers associated with respective ones of the target computer-based devices for which said instructions were intended and according to target computer-based device information specified in the instructions; and

communicating the instructions as formatted in the target device specific formats from the software communication portal to each of the software drivers as appropriate according to the target computer-based device information specified in the instructions.

10. The tangible machine readable medium of claim 9 , wherein the instructions cause the machine to perform operations further comprising:

receiving at least one low-level message from at least one of the target computer-based devices;

translating the at least one low-level message to at least one high-level message; and

forwarding the at least one high-level message to the at least one application program that sent the at least one of the instructions in high-level, non-target device specific formats.

11. The tangible machine readable medium of claim 9 wherein the at least one of the instructions comprises at least one of a status request and a control request.

12. The tangible machine readable medium of claim 9 , wherein the instructions caused the machine to perform operations further comprising:

regularly gathering a plurality of statistics regarding the one or more target computer-based devices.

13. The tangible machine readable medium of claim 12 , wherein the instructions cause the machine to perform operations further comprising:

periodically forwarding a high-level message reporting the plurality of statistics regarding the one or more target computer-based devices to the at least one application program.

14. The tangible machine readable medium of claim 12 , wherein the instructions cause the machine to perform operations further comprising:

determining which of the one or more target computer-based devices issued errors that exceed a threshold number of errors based on evaluation of the plurality of statistics; and

sending shut-down messages to each of the one or more target computer-based devices that issued errors that exceed a threshold number of errors.

15. The tangible machine readable medium of claim 12 , wherein the instructions cause the machine to perform operations further comprising:

retrieving a plurality of configuration information from a primary device of the one or more target computer-based devices; and

applying the configuration information to a secondary device when the primary device is taken off-line.

16. A method comprising:

receiving from multiple application programs executing within one or more computer environments, instructions intended for one or more class of target computer-based devices, said instructions being issued by the application programs in high-level, non-target device specific formats interpretable by a software communication portal receiving said instructions;

translating, at the software communication portal, said instructions from the high-level, non-target device specific formats to target device specific formats appropriate for software drivers associated with respective ones of the class of target computer-based devices for which said instructions were intended and according to the target computer-based device information specified in the instructions; and

communicating the instructions as formatted in target device specific formats from the software communication portal to each of the software drivers as appropriate according to the target computer-based device information specified in the instructions.

17. The method of claim 16 further comprising:

receiving at least one low-level message from at least one of the target computer-based devices;

preparing at least one instructions in the target device specific format to other target computer-based devices responsive to the at least one low-level message;

receiving a group of low-level messages from at least one of the target computer-based devices that received the instructions in the target device specific format;

processing the group of low-level messages to create a single high-level message; and

forwarding the single high-level message to the application program.

18. The method of claim 16 wherein the class of devices comprise a group of digital subscriber line (DSL) devices.

19. The method of claim 18 wherein the group of DSL devices comprise at least two of a DSL modem, a Digital Signal Processor (DSP) device, a plain old telephone system (POTS) device, a synchronous optical network (SONET) hardware, an E1 device, a T3 device, T1 hardware, an asynchronous transfer mode (ATM) device, a very high speed DSL (VDSL) device, and a Gigabit Ethernet device.

20. A method comprising:

providing a multiplexor, including

a high-level interface to receive from multiple application programs executing within one or more computer environments, instructions intended for one or more target computer-based devices, said instructions being issued by the application programs in high-level, non-target device specific formats, and

a low-level interface to receive a plurality of low-level messages from software drives associated with one or more target computer-based devices;

the multiplexor configured to

translate said instructions from the high level, non-target device specific formats to a first group of instructions in target device specific formats appropriate for the software drivers associated with respective ones of the target computer-based devices for which said instructions were intended and according to target computer-based device information specified in the instructions;

communicate the instructions as formatted in the target device specific formats to each of the device drivers as appropriate according to the target computer-based device information specified in the instructions;

translate the low-level messages to at least one high-level message; and

forward the high-level message to at least one application program.

21. The method of claim 20 wherein the multiplexor is further configured to:

translate the low-level messages to a second group of instructions in target device specific formats.

22. The method of claim 20 wherein the devices are a plurality of digital subscriber line (DSL) devices.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded May 11, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059929/0453 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059802/0579 →
SECURITY INTEREST Recorded Jan 28, 2020
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 051719/0348 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Jan 27, 2020
From: SILICON VALLEY BANK
To: CALIX, INC.
Reel/Frame 051714/0883 →
RELEASE OF SECURITY INTEREST Recorded Aug 9, 2017
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT FOR LENDERS
To: CALIX, INC.
Reel/Frame 043494/0549 →
SECURITY INTEREST Recorded Aug 9, 2017
From: CALIX, INC.
To: SILICON VALLEY BANK
Reel/Frame 043495/0424 →
SECURITY AGREEMENT Recorded Jul 29, 2013
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030899/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2012
From: OCCAM NETWORKS, LLC
To: CALIX, INC. (A CORPORATION OF DELAWARE)
Reel/Frame 028441/0515 →
CHANGE OF NAME Recorded Jun 22, 2012
From: OCEAN SUB II, LLC (A DELAWARE LIMITED LIABILITY COMPANY)
To: OCCAM NETWORKS, LLC (A DELAWARE LIMITED LIABILITY COMPANY)
Reel/Frame 028432/0694 →
MERGER Recorded Jun 21, 2012
From: OCCAM NETWORKS, INC. (A DELAWARE CORPORATION)
To: OCEAN SUB II, LLC (A DELAWARE LIMITED LIABILITY COMPANY)
Reel/Frame 028432/0394 →
MERGER Recorded Aug 17, 2010
From: OCCAM NETWORKS, INC. (A CALIFORNIA CORPORATION)
To: ACCELERATED NETWORKS, INC. (A DELAWARE CORPORATION)
Reel/Frame 024838/0715 →
CHANGE OF NAME Recorded Aug 17, 2010
From: ACCELERATED NETWORKS, INC. (A DELAWARE CORPORATION)
To: OCCAM NETWORKS, INC. (A DELAWARE CORPORATION)
Reel/Frame 024838/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2001
From: MADINENI, KEDAR; ILGUN, KORAL
To: OCCAM NETWORKS, INC.
Reel/Frame 012106/0339 →