DCT

3:20-cv-08492

Express Mobile,

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 3:20-cv-08492, N.D. Cal., 12/02/2020
  • Venue Allegations: Venue is alleged to be proper based on Defendants SAP America and SAP Labs maintaining regular and established places of business within the Northern District of California.
  • Core Dispute: Plaintiff alleges that Defendant’s SAP Fiori User Experience (UX) platform infringes five patents related to browser-based website and application generation, dynamic content display, and mobile device integration.
  • Technical Context: The technology concerns platform-independent tools for creating and displaying dynamic web content, a foundational area for modern enterprise software and cross-platform application development.
  • Key Procedural History: The complaint extensively references prior litigation involving the ’397 and ’168 patents, noting that motions to dismiss under 35 U.S.C. § 101 were denied in multiple districts. Specifically, the complaint highlights a ruling by Judge Seeborg in the Northern District of California, who found the patents "purport to describe a novel technological approach to creating websites on the internet" and are "directed to a specific improvement to the way computers operate," which may influence the court’s analysis of patent eligibility in this case.

Case Timeline

Date Event
1999-12-02 Priority Date for ’397 and ’168 Patents
2003-04-08 U.S. Patent No. 6,546,397 Issues
2008-04-07 Priority Date for ’755, ’287, and ’044 Patents
2009-09-22 U.S. Patent No. 7,594,168 Issues
2015-06-23 U.S. Patent No. 9,063,755 Issues
2016-10-18 U.S. Patent No. 9,471,287 Issues
2018-03-27 U.S. Patent No. 9,928,044 Issues
2019-07-28 Alleged date of Defendants' earliest knowledge
2020-11-30 Alleged date Plaintiff provided notice to Defendants
2020-12-02 Complaint Filing Date

II. Technology and Patent(s)-in-Suit Analysis

U.S. Patent No. 6,546,397 - "Browser Based Web Site Generation Tool and Run Time Engine"

The Invention Explained

  • Problem Addressed: The patent’s background section describes conventional website building tools as requiring significant technical expertise in languages like HTML and JavaScript, lacking true “what you see is what you get” (WYSIWYG) functionality, and being computationally intensive (’397 Patent, col. 1:11-40).
  • The Patented Solution: The invention proposes a browser-based system where a user interacts with a "build tool" to select and arrange website elements. These selections are stored as data in a database, separate from the presentation logic. A "run time engine" then reads this database to generate and display the website, allowing for easier creation and modification without deep coding knowledge (’397 Patent, Abstract; Fig. 2). This separation of content (database) from execution (run time engine) is a core concept.
  • Technical Importance: This approach aimed to simplify and democratize web design by abstracting the underlying code from the visual design process, a key step toward modern content management systems (’397 Patent, col. 2:5-13).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 (Compl. ¶57).
  • Claim 1 of the ’397 Patent breaks down into these essential elements:
    • An apparatus for a computer having a browser and a virtual machine.
    • A viewable menu with a user selectable panel of settings to describe elements of a website.
    • The panel is presented through a browser and adapted to accept user-selected settings as inputs.
    • Each setting corresponds to commands for the virtual machine.
    • A display is generated in accordance with the selected settings substantially contemporaneously with the selection.
    • Information representative of the settings is stored in a database.
    • Generating a website from at least a portion of the stored information using a run time engine.
  • The complaint does not explicitly reserve the right to assert dependent claims for this patent.

U.S. Patent No. 7,594,168 - "Browser Based Web Site Generation Tool and Run Time Engine"

The Invention Explained

  • Problem Addressed: As a continuation of the ’397 Patent, the ’168 Patent addresses the same general problem of simplifying website creation (’168 Patent, col. 1:20-47).
  • The Patented Solution: The ’168 Patent focuses more specifically on a system for assembling a website from a plurality of "objects." A user provides input to a "build engine" to associate a "style" with objects (e.g., child button and image objects). This information is stored in a database, which a runtime engine then uses to generate the website for a web browser (’168 Patent, Abstract; col. 6:5-20). The invention emphasizes the association of styles with objects to control their appearance and behavior.
  • Technical Importance: The claimed system provides a structured, object-oriented approach to web design, allowing for consistent application of styles and transformations across different site elements (’168 Patent, col. 2:50-58).

Key Claims at a Glance

  • The complaint asserts at least independent claim 1 (Compl. ¶81).
  • Claim 1 of the ’168 Patent breaks down into these essential elements:
    • A system for assembling a website comprising a build engine configured to create a website comprising a plurality of objects.
    • The build engine is configured to accept user input to associate a style with objects of the website, where at least one object is a child button object and at least one is a child image object.
    • The style includes transformations and timelines for at least one of the child objects.
    • A database is produced that is configured to store data defining the objects and the associated style.
    • The database is produced such that a web browser with access to a runtime engine is configured to generate the website from the data and style data extracted from the database.
  • The complaint does not explicitly reserve the right to assert dependent claims for this patent.

Multi-Patent Capsule: U.S. Patent No. 9,063,755

  • Patent Identification: U.S. Patent No. 9,063,755, titled "Systems and Methods for Presenting Information on Mobile Devices," issued June 23, 2015.
  • Technology Synopsis: The patent describes a system for efficiently displaying dynamic content across different devices. It utilizes an association between a "symbolic name" and a user interface (UI) object, allowing a device-independent application to be paired with a device-dependent "player" to render content (Compl. ¶35). This architecture aims to solve problems of data efficiency and display uniformity across varied platforms like PCs, tablets, and mobile phones.
  • Asserted Claims: At least independent claim 12 (Compl. ¶101).
  • Accused Features: The SAP Fiori platform is accused of using a registry of web components with corresponding symbolic names (e.g., JSON data) to evoke applications and communicate inputs and outputs, which are then rendered on a user's device (Compl. ¶102, ¶104-105).

Multi-Patent Capsule: U.S. Patent No. 9,471,287

  • Patent Identification: U.S. Patent No. 9,471,287, titled "Systems and Methods for Integrating Widgets on Mobile Devices," issued October 18, 2016.
  • Technology Synopsis: This patent builds on the '755 patent's technology, focusing on a data-efficient and flexible association between a symbolic name and a UI object (e.g., a widget). A key aspect is that the symbolic name has a data format type, and the system produces a device-independent application and a device-dependent player to display the UI object on a device (Compl. ¶42). The invention is presented as a user-friendly platform for defining and displaying content uniformly across different devices and browsers.
  • Asserted Claims: At least independent claim 15 (Compl. ¶123).
  • Accused Features: The complaint alleges that Fiori defines UI objects (e.g., "tiles") corresponding to web components selected from a registry, associates them with symbolic names (JSON data) that have a data format type, and uses a device-dependent player (e.g., a browser engine) to display the content (Compl. ¶124-127, ¶131).

Multi-Patent Capsule: U.S. Patent No. 9,928,044

  • Patent Identification: U.S. Patent No. 9,928,044, titled "Systems and Methods for Integrating Widgets on Mobile Devices," issued March 27, 2018.
  • Technology Synopsis: This patent further refines the system for displaying dynamic content, introducing the concepts of storing information representative of the defined UI object in a database and subsequently retrieving it to build an application. The application, along with a player, generates web pages for display across various devices (Compl. ¶48). The invention also describes how a symbolic name can be restricted to only be available to UI objects that support its specific data format type.
  • Asserted Claims: The complaint asserts infringement under Count V for the '044 patent but erroneously references "claim 1 of the ‘168 patent" in the corresponding infringement paragraph (Compl. ¶147). Assuming this is a typographical error, the likely intended assertion is Claim 1 of the '044 patent.
  • Accused Features: Fiori is accused of using a non-volatile memory (an AS ABAP database) to store symbolic names and UI object settings, which are then used by a player (browser engine) to build and generate a web page for display (Compl. ¶149, ¶151, ¶156-157).

III. The Accused Instrumentality

Product Identification

  • The SAP Fiori User Experience (UX) platform (“Fiori”) (Compl. ¶53).

Functionality and Market Context

  • Fiori is described as a platform that allows SAP's business customers to create and customize user interfaces, such as the Fiori "launchpad," to access and manage various SAP enterprise software products (Compl. ¶57, ¶81).
  • The complaint alleges Fiori is a browser-based system where users can select and arrange application "tiles" and customize visual elements like colors, fonts, and images through a settings menu (Compl. ¶59, ¶61). This architecture diagram shows the Fiori front-end server containing SAPUI5 and the launchpad, which communicates with a back-end database via OData services (Compl. p. 24).
  • Technically, Fiori operates on a front-end server that uses SAPUI5, a UI development toolkit, to generate websites from page types and UI elements. These elements and their settings are stored in a back-end AS ABAP database and are retrieved and rendered in a user's browser via OData services (Compl. ¶66-69). The complaint alleges Fiori is a significant SAP Cloud product used to access major enterprise software like S/4HANA and SAP Ariba (Compl. ¶53).

IV. Analysis of Infringement Allegations

U.S. Patent No. 6,546,397 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
an apparatus for a computer having a browser and a virtual machine capable of generating displays Fiori websites are created for and operate on computers with a browser. The browsers use engines (e.g., in Chrome, Safari, Edge) that are alleged to be virtual machines capable of generating displays by executing code like JavaScript and HTML. ¶58 col. 66:1-4
presenting a viewable menu having a user selectable panel of settings to describe elements of a website Fiori allows users to set up a "launchpad" website featuring a viewable menu with a selectable panel of settings for elements like application "tiles," colors, fonts, and images. ¶59, ¶61 col. 66:5-8
said panel of settings being presented through a browser of said computer and adapted to accept one or more of said user selected settings in said panel as inputs The Fiori launchpad and its settings panels, such as the "Theme Designer" shown in a provided screenshot, are presented through a standard web browser and accept user selections for customization. ¶62, p. 20 col. 66:9-12
wherein at least one of said user selectable settings in said panel corresponds to commands to said virtual machine User selections of settings (e.g., color, font, tile order) are translated into commands for the browser engine (the alleged virtual machine) to render the updated display. ¶62 col. 66:13-15
generating a display in accordance with one or more of said user selected settings substantially contemporaneously with the selection thereof When a user selects a setting, such as rearranging an application tile or changing a color, the display is updated substantially contemporaneously with the selection. ¶63-64 col. 66:16-19
storing information representative of one or more of said user selected settings in a database Upon selection of a setting, representative information is stored in an AS ABAP database that supports the Fiori front-end server. ¶66 col. 66:20-22
generating said website from at least a portion of said information stored in said database and at least one run time file The Fiori launchpad website is generated by retrieving information and files (e.g., HTML, CSS, Javascript) from the AS ABAP database and using a runtime process (SAPUI5 and the browser engine) to display it. ¶67-69 col. 66:23-27
  • Identified Points of Contention:
    • Scope Questions: A central dispute may arise over the term "virtual machine". The complaint alleges that modern browser engines qualify as virtual machines (Compl. ¶58). The defense may argue that the term, in the context of a patent with a 1999 priority date, was understood to mean something more specific, such as a Java Virtual Machine, which is also discussed in the patent’s specification (’397 Patent, col. 2:25-30).
    • Technical Questions: The claim requires storing information in a "database" and generating the website using a "run time file." The analysis will question whether Fiori's architecture—which uses an AS ABAP database, OData services, and the SAPUI5 framework (Compl. ¶66-69)—maps cleanly onto the claimed structure, or if there are material technical differences in how the website is stored, retrieved, and rendered.

U.S. Patent No. 7,594,168 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
A system for assembling a web site comprising a build engine configured to create the web site comprising a plurality of objects The Fiori front-end server includes a build engine. It creates the Fiori launchpad website, which comprises a plurality of web pages, each including objects like application "tiles." ¶82 col. 64:57-60
wherein said build engine is configured to accept user input to associate a style with objects of the web site The build engine accepts user input to customize elements. A user can input a style (e.g., background color, font color, transformations) and associate it with objects on the Fiori launchpad. ¶83-84 col. 64:61-63
wherein at least one of said plurality of objects is a child, and wherein one of said plurality of objects is a child button and child image objects The complaint does not provide sufficient detail for analysis of this element.
wherein at least one of said styles includes defining time lines for the at least one child button and child image objects Fiori application tiles can be dynamic, with styles defining transformations and timelines, such as a "refresh interval" or an animation when a user hovers over the tile. ¶85-86 col. 66:2-4
wherein a database is produced that is configured to store data defining the objects and the associated style User inputs for the Fiori launchpad are stored in an AS ABAP database. This database stores data defining the objects (e.g., tiles) and their associated styles. ¶87 col. 64:64-67
wherein the database is produced such that a web browser with access to a runtime engine is configured to generate the website from the objects and style data extracted from the provided database A web browser, acting as a runtime engine, accesses the style and object data from the AS ABAP database via OData services and uses the SAPUI5 framework to generate and display the user-configured website. ¶88 col. 65:1-6
  • Identified Points of Contention:
    • Scope Questions: The claim requires a "build engine," a "database," and a "runtime engine." A potential point of contention will be whether the distinct components of the Fiori ecosystem (FES, SAPUI5, AS ABAP, browser) can be mapped to these claim terms without improperly combining disparate elements.
    • Technical Questions: Claim 1 recites specific object types, namely "child button and child image objects." The complaint's allegations are more general, referring to application "tiles" that can be customized (Compl. ¶83, ¶85). A key technical question will be whether the objects within the Fiori launchpad can be shown to meet the specific "child button" and "child image" limitations as defined in the patent.

V. Key Claim Terms for Construction

From U.S. Patent No. 6,546,397:

  • The Term: "virtual machine"
  • Context and Importance: This term is critical because the infringement theory hinges on equating a modern web browser's execution environment (its JavaScript engine) with the claimed "virtual machine". The definition will determine whether the accused Fiori platform, which operates within standard browsers, falls within the scope of the claim.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The claims themselves do not limit the term to a specific type, only requiring that it be "capable of generating displays" (’397 Patent, col. 66:3-4). The specification describes communication between JavaScript and a "JAVA applet," suggesting an environment where different code types interact, which could be argued to support a broader interpretation beyond just a JVM (’397 Patent, col. 2:30-35).
    • Evidence for a Narrower Interpretation: The specification frequently discusses the invention in the context of Java, stating "Another technique allows for communications between the JAVA applet... and the JAVA engine" (’397 Patent, col. 2:30-33). This repeated reference to Java technology may be argued to limit the scope of "virtual machine" to a Java Virtual Machine or something structurally similar, as understood at the time of invention.

From U.S. Patent No. 7,594,168:

  • The Term: "build engine"
  • Context and Importance: The identity and function of the "build engine" are central to the system claim. The complaint alleges Fiori's front-end server contains the "build engine" (Compl. ¶82). The defense will likely scrutinize whether the Fiori FES performs the specific claimed functions of "creating" the website and "accepting user input to associate a style."
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The claims define the "build engine" functionally as something "configured to create the web site" and "accept user input" (’168 Patent, col. 64:58-63). This functional language may support a construction that is not tied to a specific software architecture.
    • Evidence for a Narrower Interpretation: The patent’s detailed description explains that the "build tool" (which includes the build engine) comprises specific components like an "interface 354," a "screen sensing mechanism 356," and a "multi-dimensional array structured database 358" (’168 Patent, col. 5:61-66; Fig. 3a). This detailed embodiment may be used to argue for a narrower construction that requires a structure analogous to the one disclosed.

VI. Other Allegations

  • Indirect Infringement: The complaint alleges both induced and contributory infringement for all asserted patents. It claims Defendants induced infringement by providing instructional materials, training, and marketing that "actively encouraged the adoption" of Fiori and instructed customers on how to use the infringing features (Compl. ¶73-74, ¶92-93). Contributory infringement is alleged on the basis that Fiori's infringing aspects are not staple articles of commerce suitable for substantial non-infringing use (Compl. ¶72, ¶91).
  • Willful Infringement: Willfulness is alleged for all asserted patents. The basis for willfulness is alleged pre-suit knowledge of the patents and their infringement, dating back to at least "as early as July 28, 2019," and no later than November 30, 2020, when Plaintiff provided explicit notice (Compl. ¶71, ¶76, ¶90, ¶96).

VII. Analyst’s Conclusion: Key Questions for the Case

  • A central issue will be one of definitional scope and technological evolution: can the term "virtual machine", as used in a patent with a 1999 priority date, be construed to cover modern web browser execution environments? The outcome of this claim construction will be a primary factor in the infringement analysis for the foundational ’397 patent.
  • A key architectural question will be one of structural mapping: does the distributed, service-oriented architecture of the SAP Fiori platform—comprising a front-end server, a UI toolkit like SAPUI5, and a back-end database—map onto the more monolithic system structures recited in the patent claims, which describe a "build engine," "database," and "runtime engine"?
  • A significant procedural question will be the persuasive weight of prior rulings: the complaint heavily relies on previous court orders that found the ’397 and ’168 patents patent-eligible under § 101. A key issue will be how influential these prior findings are in the current case, particularly in defending against any early motion to dismiss on the same grounds.