DCT
1:19-cv-00077
Lucio Development LLC v. Silicon Laboratories Inc
Key Events
Complaint
Table of Contents
complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Lucio Development LLC (Texas)
- Defendant: Silicon Laboratories Inc. (Delaware)
- Plaintiff’s Counsel: Kizzia Johnson, PLLC
- Case Identification: 1:19-cv-00077, W.D. Tex., 01/31/2019
- Venue Allegations: Venue is alleged to be proper in the Western District of Texas because Defendant has a regular and established place of business in the district where acts of infringement are allegedly occurring.
- Core Dispute: Plaintiff alleges that Defendant’s Simplicity Studio software for embedded systems development infringes a patent related to a generic framework for creating such software.
- Technical Context: The technology concerns software development frameworks for embedded systems, which aim to abstract hardware-specific details to accelerate development and improve code portability across different hardware modules.
- Key Procedural History: The complaint does not mention any prior litigation, Inter Partes Review (IPR) proceedings, or licensing history related to the patent-in-suit.
Case Timeline
| Date | Event |
|---|---|
| 2001-12-03 | ’546 Patent Priority Date |
| 2006-06-27 | U.S. Patent No. 7,069,546 Issues |
| 2019-01-31 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,069,546 - Generic Framework for Embedded Software Development
The Invention Explained
- Problem Addressed: The patent describes the development of embedded software for complex communication systems with multiple, different hardware modules (e.g., line cards) as a "major engineering task" (’546 Patent, col. 2:33-35). Developers often must "build from scratch specific application handlers for each hardware module," a process that is both labor-intensive and difficult to maintain (’546 Patent, col. 3:14-16).
- The Patented Solution: The invention proposes a framework that separates software into a "generic part" and a "specific part" (’546 Patent, Fig. 3A). The framework provides "generic application handler programs" that perform functions common to most hardware modules, such as alarm handling, configuration, and performance monitoring (’546 Patent, col. 3:16-24). The developer then only needs to write a smaller "specific application handler code" that links these generic functions to the specific device driver of a particular hardware module, thereby abstracting the hardware and speeding up development (’546 Patent, col. 1:53-65).
- Technical Importance: This approach aims to enhance the maintainability of embedded software by providing a "unified, transparent structure for all the application handlers," reducing the amount of custom code required for each new hardware card (’546 Patent, col. 3:35-38).
Key Claims at a Glance
- The complaint asserts at least independent Claim 1 (Compl. ¶13).
- The essential elements of Claim 1 include:
- Providing one or more generic application handler programs, with code for performing generic application functions common to multiple types of hardware modules.
- Generating specific application handler code to associate the generic application functions with specific functions of a device driver for at least one hardware module type.
- Compiling the generic and specific handler code together to produce machine-readable code for an embedded processor.
III. The Accused Instrumentality
Product Identification
The complaint identifies "Simplicity Studio 4, and any similar products" as the accused instrumentality (Compl. ¶14).
Functionality and Market Context
- The complaint alleges that Simplicity Studio is an Integrated Development Environment (IDE) used to build, configure, and develop embedded software for a wide range of Defendant's hardware, including microcontrollers (MCUs) and System on Chips (SoCs) (Compl. ¶15).
- The product is alleged to provide a Hardware Abstraction Layer (HAL) containing "programs, functions and data structures which are common and uniform across all supported devices," which serves to provide a consistent interface for applications running on different hardware platforms (Compl. ¶15; p. 5). The complaint includes a screenshot from a user guide titled "UG103.4: HAL Fundamentals" which describes a HAL that provides a consistent interface for applications (Compl. p. 5).
- The complaint alleges Simplicity Studio is also used to generate and compile code. It includes a screenshot describing project generation, which states that the tool produces "a binary that can be loaded onto the target wireless SoC" (Compl. p. 12). Another screenshot explicitly identifies GCC as a compiler toolchain provided with Simplicity Studio (Compl. p. 13).
IV. Analysis of Infringement Allegations
’546 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| a method for producing embedded software, comprising: providing one or more generic application handler programs, each such program comprising computer program code for performing generic application functions common to multiple types of hardware modules used in a communication system; | Simplicity Studio allegedly provides a Hardware Abstraction Layer (HAL) containing programs, functions, and data structures that are "common and uniform across all supported devices," including various MCUs and SoCs. A block diagram titled "Figure 2.1. Silicon Labs Stack and Customer Software Interaction" illustrates a layered software architecture with a "Hardware Abstraction" layer (Compl. p. 7). | ¶15 | col. 3:49-54 |
| generating specific application handler code to associate the generic application functions with specific functions of a device driver for at least one of the types of the hardware modules; | Simplicity Studio allegedly "generates specific application handler code to associate the generic application functions with specific functions of a device driver," including code specific to applications like communication and specific to hardware like a Bluetooth module radio board. | ¶16 | col. 3:55-59 |
| and compiling the generic application handler programs together with the specific application handler code to produce machine-readable code to be executed by an embedded processor... | Simplicity Studio allegedly "compiles the generic application handler programs together with the specific application handler code to produce machine-readable code." The complaint alleges the product uses compilers like GCC to yield machine-readable code for a specific hardware application. | ¶18 | col. 3:60-65 |
Identified Points of Contention
- Scope Questions: A primary question will be whether the accused "Hardware Abstraction Layer (HAL)" is equivalent to the patent's "generic application handler programs." The defense may argue that the patent's handlers are limited to the specific management functions disclosed (e.g., alarm, maintenance), while the accused HAL is a more general-purpose layer, raising a question of claim scope.
- Technical Questions: The complaint alleges that Simplicity Studio "generates specific application handler code" (Compl. ¶16). The evidence presented focuses on the IDE's ability to create project files and configure applications (Compl. pp. 9-12). A key technical question will be whether this IDE-based configuration and project setup constitutes "generating specific application handler code to associate" the generic and specific functions, as required by the claim.
V. Key Claim Terms for Construction
The Term: "generic application handler programs"
- Context and Importance: This term is the central concept of the patented framework. Its breadth will be critical to determining infringement, as the dispute may turn on whether the accused "Hardware Abstraction Layer" falls within its scope.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claim describes the programs as performing "generic application functions common to multiple types of hardware modules," which could be argued to cover any software layer that abstracts hardware differences (’546 Patent, col. 12:5-8).
- Evidence for a Narrower Interpretation: The specification provides a specific, finite list of exemplary handlers: "configuration, alarm handling, performance monitoring and maintenance" (’546 Patent, col. 3:22-24, Fig. 2). A party could argue the term should be construed as limited to these types of high-level management functions, not any and all abstraction code.
The Term: "generating specific application handler code"
- Context and Importance: This is the active step that bridges the generic framework to specific hardware. Practitioners may focus on this term because the nature of the "generation" process in the accused IDE (e.g., creating project files) versus what is described in the patent will be a key point of dispute.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent describes the developer's task as "tying the generic elements... to specific hardware components" and "linking the generic application functions to the specific device driver" (’546 Patent, col. 3:27-32). This could be interpreted broadly to include any tool-assisted process that creates the necessary code connections, such as an IDE's project generator.
- Evidence for a Narrower Interpretation: The claim language requires "generating... code." The defense may argue this implies an automated creation of new, functional source code logic, rather than just the generation of configuration headers, build scripts, or project files that link pre-existing libraries.
VI. Other Allegations
The complaint does not allege willful or indirect infringement.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: Can the term "generic application handler programs", which is exemplified in the patent by specific management functions like alarm and configuration handlers, be construed broadly enough to read on the accused product's general-purpose Hardware Abstraction Layer (HAL)?
- A key infringement question will be one of functional operation: Does the accused IDE’s process of creating project files, header files, and build configurations based on user selections constitute “generating specific application handler code to associate” generic and specific functions, or does the claim require a more direct and substantive form of automated code authoring?
Analysis metadata