IP Library Granted Patent US 6,993,746
Granted Patent B2
US 6,993,746 · App. 10/126,601 · Granted Jan 31, 2006

Configuration tool for building a user application for multiple operating systems

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,993,746
App. No.
10/126,601
Granted
Jan 31, 2006
Kind
B2
Abstract

A method for configuring a plurality of operating systems is provided. A set of dependencies is found based on an application and an operating system configuration for a first operating system of a plurality of operating systems. Based on the set of dependencies as well as user-selected options and parameters, a set of components is located. The first operating system is created by adding the set of components to a kernel of the first operating system. The above steps are repeated for each of the operating systems.

Claims (131)

1. A software tool for configuring a plurality of operating systems, the software tool operable to perform the steps of:

(a) finding a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

(b) based on the set of dependencies, identifying a set of components;

(c) creating the first operating system by adding the set of components to a kernel of the first operating system; and

(d) repeating steps a–c for each other operating system of the plurality of operating systems.

2. A software tool for configuring a plurality of operating systems, the software tool operable to perform the steps of:

finding a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

based on the set of dependencies, identifying a set of components;

creating the first operating system by adding the set of components to a kernel of the first operating system; and

repeating the steps of finding, identifying, and creating for a second operating system of the plurality of operating systems.

3. A software tool for configuring a plurality of operating systems, the software tool operable to perform the steps of:

finding a first set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

based on the first set of dependencies, identifying a first set of components;

creating the first operating system by adding the first set of components to a kernel of the first operating system;

finding a second set of dependencies based on the application and the operating system configuration for a second operating system;

based on the second set of dependencies, identifying a second set of components; and

creating the second operating system by adding the second set of components to the kernel of the second operating system.

4. A method for configuring a plurality of operating systems comprising the steps of:

receiving a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems on a computer system;

based on the set of dependencies, identifying a set of components;

creating an image of the first operating system by adding the set of components to a kernel of the first operating system;

sending the now created image of the first operating system to the computer system; and

repeating the steps of receiving, identifying, creating and sending for a second operating system of the plurality of operating systems.

5. A method for configuring a plurality of operating systems comprising the steps of:

sending a remote system a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

receiving the first operating system of a plurality of operating systems, the first operating system based on the set of dependencies and comprising a set of components and a kernel; and

repeating the steps of sending and receiving for a second operating system.

6. The method as recited in claim 1 further comprising the steps of

identifying a status for each component identified in step (b), the status being one of an include status and an unavailable status; and

adding each component of the set of components having an include status to the kernel in step (c).

7. The method as recited in claim 1 further comprising the step of generating an error if one of the components is not present.

8. The method as recite in claim 1 further comprising the step of storing the set of components in a configuration specification file.

9. The method as recite in claim 8 wherein the configuration specification file is a binary file.

10. The method as recited in claim 1 wherein the software tool is a project manager.

11. The method as recited in claim 1 wherein the step of creating is based on a set of rules and parameters specific to the first operating system.

12. The method as recited in claim 2 further comprising the steps of

identifying a status for each component identified in the step of identifying a set of components, the status being one of an include status and an unavailable status; and

adding each component of the set of components having an include status to the kernel in the step of creating the first operating system.

13. The method as recited in claim 2 further comprising the step of generating an error if one of the components is not present.

14. The method as recited in claim 2 further comprising the step of storing the set of components in a configuration specification file.

15. The method as recited in claim 14 wherein the configuration specification file is a binary file.

16. The method as recited in claim 2 wherein the software tool is a project manager.

17. The method as recited in claim 2 wherein the step of creating is based on a set of rules and parameters specific to the first operating system.

18. The method as recited in claim 4 further comprising the steps of

identifying a status for each component identified in the step of identifying a set of components, the status being one of an include status and an unavailable status; and

adding each component of the set of components having an include status to the kernel in the step of creating an image of the first operating system.

19. The method as recited in claim 4 further comprising the step of generating an error if one of the components is not present.

20. The method as recited in claim 4 further comprising the step of storing the set of components in a configuration specification file.

21. The method as recited in claim 20 wherein the configuration specification file is a binary file.

22. The method as recited in claim 4 wherein the steps are performed by a project tool application.

23. The method as recited in claim 4 wherein project tool is a project manager.

24. The method as recited in claim 4 wherein the step of creating is based on a set of rules and parameters specific to the first operating system.

25. The method as recited in claim 4 wherein the step of sending is over an electronic medium.

26. The method as recited in claim 5 wherein the steps of sending and receiving are performed over an electronic medium.

27. A system comprising:

a project specification facility configured to specify a set of rules and parameters to a project tool facility;

the project tool facility configured to configure a plurality of operating systems;

wherein the project tool facility is operable to:

(a) find a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

(b) based on the set of dependencies, identify a set of components;

(c) create the first operating system by adding the set of components to a kernel of the first operating system; and

(d) repeat steps a–c for each of the plurality of operating systems.

28. A system comprising:

a host computing environment operable to:

receiving a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

based on the set of dependencies, identifying a set of components;

creating the first operating system by adding the set of components to a kernel of the first operating system;

sending the now created first operating system over an electronic medium; and

repeating the steps of receiving, identifying, creating and sending for a second operating system; and

a target computing environment operable to:

sending the set of dependencies based on the application and the operating system configuration for the first operating system to the host computing environment;

receiving the first operating system from the host computing environment, the first operating system based on the set of dependencies and comprising the set of components and the kernel; and

repeating the steps of sending and receiving for a second operating system.

29. A system comprising:

a host computing environment operable to:

receiving a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

based on the set of dependencies, identifying a set of components;

creating the first operating system by adding the set of components to a kernel of the first operating system;

sending the now created first operating system to a remote entity; and

repeating the steps of receiving, identifying, creating and sending for a second operating system.

30. A system comprising:

a target computing environment operable to:

sending a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

receiving the first operating system of a plurality of operating systems, the first operating system based on the set of dependencies and comprising a set of components and a kernel; and

repeating the steps of sending and receiving for a second operating system.

31. The system as recited in claim 29 wherein host computing environment is a server.

32. The system as recited in claim 30 wherein target computing environment is a client.

33. A method for configuring a plurality of operating systems in parallel comprising the steps of:

creating a thread for each operating system of a plurality of operating systems, each thread further comprising the steps of:

finding a set of dependencies based on an application and an operating system configuration for one or more of the operating systems;

based on the set of dependencies, identifying a set of components; and

creating the one or more operating systems by adding the set of components to a kernel of the operating system.

34. The method as recited in claim 1 wherein the operating systems are selected from the group consisting of VxWorks AE®, IxWorks®, VxWorks® 5.4, VxWorks/Cert®, and Linux®.

35. The method as recited in claim 2 wherein the operating systems are selected from the group consisting of VxWorks AE®, IxWorks®, VxWorks® 5.4, VxWorks/Cert®, and Linux®.

36. The method as recited in claim 3 wherein the first and second operating systems are selected from the group consisting of VxWorks AE®, IxWorks®, VxWorks® 5.4, VxWorks/Cert®, and Linux®.

37. The method as recited in claim 4 wherein the operating systems are selected from the group consisting of VxWorks AE®, IxWorks®, VxWorks® 5.4, VxWorks/Cert®, and Linux®.

38. The method as recited in claim 5 wherein the operating systems are selected from the group consisting of VxWorks AE®, IxWorks®, VxWorks® 5.4, VxWorks/Cert®, and Linux®.

39. The method as recited in claim 33 wherein the operating systems are selected from the group consisting of VxWorks AE®, IxWorks®, VxWorks® 5.4, VxWorks/Cert®, and Linux®.

40. The method as recited in claim 1 wherein the binary objects for the components are stored in a shared library.

41. The method as recited in claim 2 wherein the binary objects for the components are stored in a shared library.

42. The method as recited in claim 3 wherein the binary objects for components are stored in a shared library.

43. The method as recited in claim 4 wherein the binary objects for components are stored in a shared library.

44. The method as recited in claim 5 wherein the binary objects for components are stored in a shared library.

45. The method as recited in claim 33 wherein the binary objects for components are stored in a shared library.

46. The method as recited in claim 1 wherein the step of identifying further includes the step of locating, on a storage device, the set of components.

47. The method as recited in claim 1 wherein the software tool is a Tornado™ project facility.

48. The method as recited in claim 2 wherein the software tool is a Tornado™ project facility.

49. The method as recited in claim 3 wherein the software tool is a Tornado™ project facility.

50. The method as recited in claim 4 wherein the software tool is a Tornado™ project facility.

51. The method as recited in claim 5 wherein the software tool is a Tornado™ project facility.

52. The method as recited in claim 6 wherein the status further includes “included”, “excluded”, “unavailable”, “available”, and “in error”.

53. The method as recited in claim 1 wherein the step of identifying the components further comprises identifying the set of components based on a user specification.

54. The method as recited in claim 2 wherein the step of identifying the components further comprises identifying at least one component of the set of components based on a user specification.

55. The method as recited in claim 3 wherein the step of identifying the first set of components further comprises identifying the first set of components based on a user specification; and wherein the step of identifying the second set of components further comprises identifying the second set of components based on the user specification.

56. The method as recited in claim 4 wherein the step of identifying the components further comprises identifying the set of components based on a user specification.

57. The method as recited in claim 5 wherein the step of sending further comprises sending a user specification, the user specification comprising a set of components; and wherein the first operating system is also based on the user specification.

58. The method as recited in claim 53 wherein the user specification further comprises a set of configuration parameters.

59. The method as recited in claim 54 wherein the user specification further comprises a set of configuration parameters.

60. The method as recited in claim 55 wherein the user specification further comprises a set of configuration parameters.

61. The method as recited in claim 56 wherein the user specification further comprises a set of configuration parameters.

62. The method as recited in claim 57 wherein the user specification further comprises a set of configuration parameters.

63. The method of claim 53 , wherein the user specification is received via a user interface.

64. The method of claim 53 , wherein the user specification is received via an input file.

65. The method of claim 63 , wherein the user interface is a graphical user interface.

66. The method of claim 63 , wherein the user interface is a command line interface.

67. A software tool for configuring a plurality of operating systems, the software tool operable to perform the steps of:

(a) finding a set of dependencies based on an application and an operating system configuration for a first operating system of a plurality of operating systems;

(b) identifying a first set of components based on the set of dependencies;

(c) receiving, via a user interface, an identification of a second set of components;

(d) creating the first operating system by adding the first and second set of components to a kernel of the first operating system; and

(e) repeating steps a–d for each other operating system of the plurality of operating systems.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Dec 28, 2022
From: GUGGENHEIM CORPORATE FUNDING, LLC
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 062239/0590 →
PATENT SECURITY AGREEMENT Recorded Dec 24, 2018
From: WIND RIVER SYSTEMS, INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 049148/0001 →