IP Library Granted Patent US 7,574,713
Granted Patent B2
US 7,574,713 · App. 09/992,155 · Granted Aug 11, 2009

Methods, systems, and computer program products for instantiating a device driver for communication with a device by dynamically associating the device driver at run-time with a device-specific and/or service-specific software component

Assignee: Trendium, Inc.
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 7,574,713
App. No.
09/992,155
Granted
Aug 11, 2009
Kind
B2
Abstract

Embodiments of the present invention provide methods, systems, and computer program products for instantiating a device driver for communication with a device by dynamically associating the device driver at run-time with a device-specific software component. For example, in some embodiments, a device driver is instantiated by dynamically associating a first software component with the device driver at run-time. The first software component contains information that facilitates communication with devices of a specific type. In other embodiments, a device driver is instantiated by defining a plurality of device parameters and associating one or more of the plurality of device parameters with a service. The device parameters that are associated with the service are then dynamically communicated to the device driver at run-time.

Claims (128)

1. A computer implemented method of instantiating a device driver, comprising:

defining a plurality of device parameters;

declaring a parameter base class that defines the plurality of the device parameters;

associating at least one of the plurality of device parameters with a service;

instantiating a service-specific sub-class to create a service-specific sub-class object;

instantiating the parameter base class to create a parameter base class object;

communicating the at least one of the plurality of device parameters associated with the service to the device driver; and

dynamically associating a first software component with the device driver at run-time, the first software component containing information that facilitates communication with devices of a specific device type.

2. A method as recited in claim 1 ,

wherein associating the at least one of the plurality of device parameters with the service comprises:

deriving the service-specific sub-class from the base class that defines the at least one of the plurality of device parameters that are associated with the service.

3. A method as recited in claim 2 , wherein communicating the at least one of the plurality of device parameters associated with the service to the device driver comprises:

passing the at least one of the plurality of device parameters associated with the service from the service-specific sub-class object to the device driver.

4. A method as recited in claim 1 , further comprising:

defining a plurality of service-specific device parameters;

associating the device parameters with the service-specific device parameters; and

communicating the device parameters with the service-specific device parameters to the device driver.

5. A method as recited in claim 4 ,

wherein defining the plurality of service-specific device parameters comprises:

providing a second software component that comprises one of a script file and an extensible markup language (XML) file.

6. A method as recited in claim 5 , wherein associating the device parameters with the service-specific device parameters comprises:

dynamically loading the parameter base class object with the second software component at run time.

7. A method as recited in claim 6 , wherein communicating the device parameters and the service-specific device parameters to the device driver comprises:

passing the device parameters and the service-specific device parameters from the parameter base class object to the device driver after loading the parameter base class object with the second software component at run time.

8. A method as recited in claim 1 , wherein the first software component comprises one of a script file and an extensible markup language (XML) file.

9. A method as recited in claim 1 , wherein dynamically associating the first software component with the device driver at run-time comprises:

selecting the first software component from a plurality of software components, respective ones of the plurality of software components being associated with respective ones of a plurality of device types.

10. A method as recited in claim 9 , further comprising:

generating the plurality of software components based on a plurality of management information base (MIB) files, respective ones of the plurality of MIB files being associated with respective ones of the plurality of device types.

11. A computer implemented method of collecting data from a device, comprising:

defining a plurality of device parameters;

declaring a parameter base class that defines the plurality of the device parameters;

associating at least one of the plurality of device parameters with a service;

instantiating a service-specific sub-class to create a service-specific sub-class object;

instantiating the parameter base class to create a parameter base class object;

communicating the at least one of the plurality of device parameters associated with the service to a device driver;

receiving a request to collect data from the device;

dynamically associating a software component with the device driver at run-time, the software component containing information that facilitates communication with the device; and

retrieving data associated with the at least one device parameter from the device using the device driver.

12. A method as recited in claim 11 , wherein the first software component comprises one of a script file and an extensible markup language (XML) file.

13. A method as recited in claim 11 , wherein dynamically associating the software component with the device driver at run-time comprises:

selecting the first software component from a plurality of software components, respective ones of the plurality of software components being associated with respective ones of a plurality of device types.

14. A system for instantiating a device driver, comprising:

means for defining a plurality of device parameters;

means for declaring a parameter base class that defines the plurality of the device parameters;

means for associating at least one of the plurality of device parameters with a service;

means for instantiating a service-specific sub-class to create a service-specific sub-class object;

means for instantiating the parameter base class to create a parameter base class object:

means for communicating the at least one of the plurality of device parameters associated with the service to the device driver; and

means for dynamically associating a first software component with the device driver at run-time, the first software component containing information that facilitates communication with devices of a specific device type.

15. A system as recited in claim 14 ,

wherein the means for associating the at least one of the plurality of device parameters with the service comprises:

means for deriving the service-specific sub-class from the base class that defines the at least one of the plurality of device parameters that are associated with the service.

16. A system as recited in claim 15 , wherein the means for communicating the at least one of the plurality of device parameters associated with the service to the device driver comprises:

means for passing the at least one of the plurality of device parameters associated with the service from the service-specific sub-class object to the device driver.

17. A system as recited in claim 14 , further comprising:

means for defining a plurality of service-specific device parameters;

means for associating the device parameters with the service-specific device parameters; and

means for communicating the device parameters with the service-specific device parameters to the device driver.

18. A system as recited in claim 17 ,

wherein the means for defining the plurality of service-specific device parameters comprises:

means for providing a second software component that comprises one of a script file and an extensible markup language (XML) file.

19. A system as recited in claim 18 , wherein the means for associating the device parameters with the service-specific device parameters comprises:

means for dynamically loading the parameter base class object with the second software component at run time.

20. A system as recited in claim 19 , wherein the means for communicating the device parameters and the service-specific device parameters to the device driver comprises:

means for passing the device parameters and the service-specific device parameters from the parameter base class object to the device driver after loading the parameter base class object with the second software component at run time.

21. A system as recited in claim 14 , wherein the first software component comprises one of a script file and an extensible markup language (XML) file.

22. A system as recited in claim 14 , wherein the means for dynamically associating the first software component with the device driver at run-time comprises:

means for selecting the first software component from a plurality of software components, respective ones of the plurality of software components being associated with respective ones of a plurality of device types.

23. A system as recited in claim 22 , further comprising:

means for generating the plurality of software components based on a plurality of management information base (MIB) files, respective ones of the plurality of MIB files being associated with respective ones of the plurality of device types.

24. A system for collecting data from a device, comprising:

means for defining a plurality of device parameters;

means for declaring a parameter base class that defines the plurality of the device parameters;

means for associating at least one of the plurality of device parameters with a service;

means for instantiating a service-specific sub-class to create a service-specific sub-class object;

means for instantiating the parameter base class to create a parameter base class object;

means for communicating the at least one of the plurality of device parameters associated with the service to a device driver;

means for receiving a request to collect data from the device;

means for dynamically associating a software component with the device driver at run-time, the software component containing information that facilitates communication with the device; and

means for retrieving data associated with the at least one device parameter from the device using the device driver.

25. A system as recited in claim 24 , wherein the first software component comprises one of a script file and an extensible markup language (XML) file.

26. A system as recited in claim 24 , wherein the means for dynamically associating the software component with the device driver at run-time comprises:

means for selecting the first software component from a plurality of software components, respective ones of the plurality of software components being associated with respective ones of a plurality of device types.

27. A computer program product for instantiating a device driver, comprising:

a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising:

computer readable program code for defining a plurality of device parameters;

computer readable program code for declaring a parameter base class that defines the plurality of the device parameters;

computer readable program code for associating at least one of the plurality of device parameters with a service;

computer readable program code for instantiating a service-specific sub-class to create a service-specific sub-class object;

computer readable program code for instantiating the parameter base class to create a parameter base class object;

computer readable program code for communicating the at least one of the plurality of device parameters associated with the service to the device driver; and

computer readable program code for dynamically associating a first software component with the device driver at run-time, the first software component containing information that facilitates communication with devices of a specific device type.

28. A computer program product as recited in claim 27 ,

wherein the computer readable program code for associating the at least one of the plurality of device parameters with the service comprises:

computer readable program code for deriving the service-specific sub-class from the base class that defines the at least one of the plurality of device parameters that are associated with the service.

29. A computer program product as recited in claim 28 , wherein the computer readable program code for communicating the at least one of the plurality of device parameters associated with the service to the device driver comprises:

computer readable program code for passing the at least one of the plurality of device parameters associated with the service from the service-specific sub-class object to the device driver.

30. A computer program product as recited in claim 27 , further comprising:

computer readable program code for defining a plurality of service-specific device parameters;

computer readable program code for associating the device parameters with the service-specific device parameters; and

computer readable program code for communicating the device parameters with the service-specific device parameters to the device driver.

31. A computer program product as recited in claim 30 ,

wherein the computer readable program code for defining the plurality of service-specific device parameters comprises:

computer readable program code for providing a second software component that comprises one of a script file and an extensible markup language (XML) file.

32. A computer program product as recited in claim 31 , wherein the computer readable program code for associating the device parameters with the service-specific device parameters comprises:

computer readable program code for dynamically loading the parameter base class object with the second software component at run time.

33. A computer program product as recited in claim 32 , wherein the computer readable program code for communicating the device parameters and the service-specific device parameters to the device driver comprises:

computer readable program code for passing the device parameters and the service-specific device parameters from the parameter base class object to the device driver after loading the parameter base class object with the second software component at run time.

34. A computer program product as recited in claim 27 , wherein the first software component comprises one of a script file and an extensible markup language (XML) file.

35. A computer program product as recited in claim 27 , wherein the computer readable program code for dynamically associating the first software component with the device driver at run-time comprises:

computer readable program code for selecting the first software component from a plurality of software components, respective ones of the plurality of software components being associated with respective ones of a plurality of device types.

36. A computer program product as recited in claim 35 , further comprising:

computer readable program code for generating the plurality of software components based on a plurality of management information base (MIB) files, respective ones of the plurality of MIB files being associated with respective ones of the plurality of device types.

37. A computer program product for collecting data from a device, comprising:

a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising:

computer readable program code for defining a plurality of device parameters;

computer readable program code for declaring a parameter base class that defines the plurality of the device parameters;

computer readable program code for associating at least one of the plurality of device parameters with a service;

computer readable program code for instantiating a service-specific sub-class to create a service-specific sub-class object;

computer readable program code for instantiating the parameter base class to create a parameter base class object;

computer readable program code for communicating the at least one of the plurality of device parameters associated with the service to a device driver;

computer readable program code for receiving a request to collect data from the device;

computer readable program code for dynamically associating a software component with the device driver at run-time, the software component containing information that facilitates communication with the device; and

computer readable program code for retrieving data associated with the at least one device parameter from the device using the device driver.

38. A computer program product as recited in claim 37 , wherein the first software component comprises one of a script file and an extensible markup language (XML) file.

39. A computer program product as recited in claim 37 , wherein the computer readable program code for dynamically associating the software component with the device driver at run-time comprises:

computer readable program code for selecting the first software component from a plurality of software components, respective ones of the plurality of software components being associated with respective ones of a plurality of device types.

Assignments (8)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Recorded Jan 5, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: VIAVI SOLUTIONS INC.; RPC PHOTONICS, INC.
Reel/Frame 058666/0639 →
SECURITY INTEREST Recorded May 21, 2020
From: VIAVI SOLUTIONS INC.; 3Z TELECOM, INC.; ACTERNA LLC; ACTERNA WG INTERNATIONAL HOLDINGS LLC; VIAVI SOLUTIONS LLC; JDSU ACTERNA HOLDINGS LLC; OPTICAL COATING LABORATORY, LLC; RPC PHOTONICS, INC.; TTC INTERNATIONAL HOLDINGS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 052729/0321 →
CHANGE OF NAME Recorded Dec 2, 2016
From: JDS UNIPHASE CORPORATION
To: VIAVI SOLUTIONS INC.
Reel/Frame 040803/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2016
From: TRENDIUM, INC.
To: JDS UNIPHASE CORPORATION
Reel/Frame 040494/0245 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2001
From: TABARES, MODESTO; YAMANY, SAMEH
To: TRENDIUM, INC.
Reel/Frame 012324/0644 →
Continuity (1)
Related Publication 20030088711A1 · May 8, 2003