PTAB
IPR2013-00226
SAS Institute Inc v. ComplementSoft LLC
Key Events
Petition
Table of Contents
petition
1. Case Identification
- Case #: IPR2013-00226
- Patent #: Patent 7,110,936
- Filed: March 29, 2013
- Petitioner(s): SAS Institute, Inc.
- Patent Owner(s): Complementsoft LLC
- Challenged Claims: 1-16
2. Patent Overview
- Title: SYSTEM AND METHOD FOR GENERATING AND MAINTAINING SOFTWARE CODE
- Brief Description: The ’936 patent discloses an integrated software development environment. The system comprises four key modules—a document manager, editor, parser layer, and visualizer—that are dynamically linked to synchronize textual and graphical representations of software code, such that a change in one view is automatically reflected in the other.
3. Grounds for Unpatentability
Ground 1: Anticipation by Antis - Claims 1-3 and 5 are anticipated by Antis.
- Prior Art Relied Upon: Antis (Patent 5,572,650).
- Core Argument for this Ground:
- Prior Art Mapping: Petitioner argued that Antis disclosed every element of independent claim 1 and dependent claims 2, 3, and 5. Antis taught a relational database analysis system with multiple linked "views," including a "code view" that displays source code and its relationship to database elements. Petitioner mapped Antis's features to the claim elements: its Cscope browser functions as the claimed document manager; its "expanded code view" serves as an editor; its YACC-based parser is the claimed parser layer; and its interactive "code view" functions as the visualizer. Crucially, Petitioner asserted that these views in Antis were interactively linked, satisfying the claim requirement that changes in one view cause corresponding changes in others. Further, Antis's visualization of which code accesses which database relations met the "data flow" limitation of claim 2, and its display of code execution met the "program flow" limitation of claim 3.
Ground 2: Obviousness over Antis and Coad - Claims 1-3, 5, 6, 8, 10-12, 15, and 16 are obvious over Antis in view of Coad.
- Prior Art Relied Upon: Antis (Patent 5,572,650) and Coad (Patent 6,851,107).
- Core Argument for this Ground:
- Prior Art Mapping: Petitioner asserted that to the extent Antis was found not to teach every limitation, any missing elements were supplied by Coad. Coad, a software development tool with synchronized graphical and textual views, was applied against the claims during original prosecution. Petitioner argued Coad explicitly taught common integrated development environment (IDE) features, such as a Quality Assurance (QA) module for detecting segments of source code containing errors (claim 12), a message manager for displaying debugging hints (claim 15), and a means for a user to edit and maintain those hints (claim 16).
- Motivation to Combine: A POSITA would combine Antis and Coad because both are software development tools providing visual representations of source code. A POSITA would have been motivated to supplement Antis's database analysis system with Coad's well-known QA and debugging features to allow for easier source code analysis and more accurate code visualization.
- Expectation of Success: A POSITA would have a high expectation of success in combining the references, as integrating debugging and error-checking modules into visualization tools was a common and predictable practice in the field of software development.
Ground 3: Obviousness for Expandable Views - Claim 4 is obvious over Antis in view of Coad and Burkwald.
- Prior Art Relied Upon: Antis (Patent 5,572,650), Coad (Patent 6,851,107), and Burkwald (Patent 6,356,285).
- Core Argument for this Ground:
- Prior Art Mapping: This ground built upon the Antis and Coad combination to address the specific limitation of claim 4, which requires that the "graphical representations of data flows are expandable and collapsible." Petitioner argued that Burkwald, which was also cited during prosecution, explicitly taught this exact feature. Burkwald disclosed a software visualization technique that allowed a user to expand or collapse a displayed graphical representation of source code flow, for example by manipulating a zoom bar.
- Motivation to Combine: A POSITA would combine Burkwald's teachings with the integrated system of Antis and Coad to provide developers with greater flexibility. Adding the ability to expand and collapse views would allow a user to modify the visual display to show information at higher or lower levels of detail, which was a known and desirable feature for improving the usability of complex software visualization tools.
- Additional Grounds: Petitioner asserted numerous other obviousness challenges for the remaining dependent claims, primarily combining the Antis/Coad base with other prior art. These combinations included adding Eick (Patent 5,937,064) to teach a security layer for remote connections, "Building Applications" to teach automatic correction of source code, and Corda (Patent 5,758,122) to teach changing the appearance of displayed flows to indicate errors.
4. Key Claim Construction Positions
- Petitioner proposed constructions for two terms that were central to its invalidity arguments and directly addressed the patent owner's arguments during prosecution.
- "data manipulation language": Petitioner proposed the construction "a programming language used to access data in a database." This construction was critical because it was argued to encompass general-purpose, object-oriented languages like Java and C++ (used in the Coad reference). This directly contradicted the patent owner's successful prosecution argument that such languages were merely "structured" and therefore distinct from the claimed "unstructured" data manipulation languages.
- "automatically": Petitioner proposed the construction "without user intervention." This supported the argument that the synchronized views in the prior art, which updated immediately upon a change in another view, met this claim limitation.
5. Key Technical Contentions (Beyond Claim Construction)
- Petitioner's primary technical contention challenged the fundamental distinction the Patent Owner drew during prosecution to overcome the prior art and secure allowance of the claims.
- The Patent Owner had successfully argued that the primary prior art, Coad, taught systems for "structured" programming languages (e.g., Java), whereas the claims were directed to "unstructured" data manipulation languages. Petitioner contended this was a technically false and misleading dichotomy. It argued that a POSITA would understand that languages like Java and C++ were not only structured languages themselves but were also routinely used as data manipulation languages (e.g., via JDBC) to access databases, thereby falling squarely within the proper construction of the claims.
6. Relief Requested
- Petitioner requests institution of an inter partes review and cancellation of claims 1-16 of the ’936 patent as unpatentable.
Analysis metadata