Rich Schupbach

Patents

Introduction

I learned that getting a patent is a long, tedious process, which is the main reason I stopped pursuing them after my first one. I love working on technical innovations, but I prefer to leave IP-mining to others. So, I have only one to share with you.

As I learned during the lengthy 3-year patent process, attorneys get involved and make every effort to make the invention as general as possible, so that it covers as much ground as possible, making it more valuable to the company. One unfortunate side-effect of this is it makes the legal description of the invention very different from the technical description. As a result, the Abstract in the patent is not very useful in understanding the invention. Even the name of the patent was changed by the attorneys;

From this:

Configurable CPU Health Monitoring Software

To this:

Configurable test suite

So, feel free to read the abstract, but I think my technical description below is much more meaningful, and hopefully more helpful in understanding the invention.

Link to Patent

Configurable CPU Health Monitoring Software

Background

I was a member of the Infrastructure Software team at a global automotive OEM. A consistent goal of ours was to make our software modular and re-usable. This is a common objective of software developers across many industries and applications. This offers many advantages, such as:

Benefits of Modular Designs

We had accomplished this in the past by taking much of the code specific to a particular deployment and assigning it to a category called “calibrations”, or “cals”. The rest of the code - the part that was common across multiple or all applications, we called “common” or “core”.

These cals are a huge collection of thousands (or tens of thousands) of constants, specific to a particular deployment.

This invention extends this concept to go beyond simple constants, applying the same strategy to complex structures of software, allowing us to maintain a “core” infrastructure component, while leaving application specific software to the respective deployment teams.

Description

The Configurable CPU Health Monitoring Software provides a flexible, robust and configurable system to support the unique requirements of a particular software deployment while maintaining a reusable core software component. Implementing a flexible, configurable system avoids compromise in test suite content that often accompanies the reuse of core software in multiple deployments. Instead of settling for a test suite that includes too many tests for some deployments and too few for other deployments, this design allows for a custom deployment.

By replacing hard-coded tests with a configurable suite of tests, it is ensured that each deployment of core software is not limited by the scope of tests in previous deployments. It also avoids including any unnecessary or extraneous tests, the execution of which wastes valuable resources.

Another benefit is the flexibility to include tests not necessarily defined at design time of core software. This is accomplished by the level of abstraction provided by the design. Because a function pointer (i.e. to a test function) is included in the configurable portion of Health Monitor, new test functions may be plugged-in to the configuration as desired, without impacting core software.

Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs
Benefits of Modular Designs