DCT

3:20-cv-08461

Express Mobile Inc v. Salesforcecom Inc

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 3:20-cv-08461, N.D. Cal., 12/01/2020
  • Venue Allegations: Venue is alleged to be proper in the Northern District of California because Defendant maintains a regular and established place of business in the district (Salesforce Tower, San Francisco) and has committed alleged acts of infringement within the district.
  • Core Dispute: Plaintiff alleges that Defendant’s website and application development platforms, including its Lightning App Builder and Community Cloud products, infringe five U.S. patents related to browser-based website generation, dynamic content display, and mobile application programming.
  • Technical Context: The technology at issue concerns systems and methods for creating websites and mobile applications using visual, browser-based tools that separate the design process from the final code generation, enabling dynamic content display across various devices.
  • Key Procedural History: The complaint notes that two of the asserted patents (the ’397 and ’168 patents) have survived multiple patent eligibility challenges under 35 U.S.C. § 101 in prior litigations. Specifically, the complaint references decisions from district courts in the Northern District of California, Eastern District of Texas, and District of Delaware denying motions to dismiss that argued the patents were directed to abstract ideas. These prior rulings may inform the parties' strategies regarding potential validity challenges in this case.

Case Timeline

Date Event
1999-12-02 Priority Date for ’397 and ’168 Patents
2003-04-08 Issue Date for U.S. Patent No. 6,546,397
2008-04-07 Priority Date for ’044, ’287, and ’755 Patents
2009-09-22 Issue Date for U.S. Patent No. 7,594,168
2015-06-23 Issue Date for U.S. Patent No. 9,063,755
2016-10-18 Issue Date for U.S. Patent No. 9,471,287
2018-03-27 Issue Date for U.S. Patent No. 9,928,044
2018-12-20 Plaintiff alleges it provided notice of ’397 Patent infringement to Defendant
2020-11-30 Plaintiff alleges it provided notice of infringement for ’168, ’044, ’287, and ’755 Patents
2020-12-01 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 of the time as cumbersome, requiring separate, non-browser-based programs to generate HTML and script code, resulting in static web pages that were difficult to update dynamically or scale to different screen resolutions (Compl. ¶12; ’397 Patent, col. 1:11-46).
  • The Patented Solution: The invention is a method for creating websites directly within a web browser. It provides a visual authoring tool where a user selects settings for website elements from a panel. These settings are stored as information in a database. A separate "run time engine," also operating in the browser, retrieves this stored information to dynamically generate and display the website for a visitor, separating the design architecture from the final content presentation (’397 Patent, Abstract; Fig. 2).
  • Technical Importance: This approach enabled a "what you see is what you get" (WYSIWYG) web design experience within the browser itself, a departure from the prevailing offline, code-generation tools of the late 1990s (Compl. ¶27).

Key Claims at a Glance

  • The complaint asserts at least independent Claim 1 (Compl. ¶54).
  • Essential elements of Claim 1 include:
    • presenting a viewable menu with a user-selectable panel of settings to describe website elements;
    • presenting the panel through a browser on a computer that accepts settings as inputs;
    • having at least one setting correspond to a command for a virtual machine;
    • generating a display substantially contemporaneously with the user's selection;
    • storing information representative of the user-selected settings in a database; and
    • generating the website by retrieving the stored information from the database.

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

The Invention Explained

  • Problem Addressed: The patent addresses the same technical problems as its parent ’397 patent, focusing on improving the productivity of website designers by overcoming the limitations of conventional static website creation technologies (Compl. ¶18; ’168 Patent, col. 1:21-59).
  • The Patented Solution: The ’168 Patent claims a system, rather than a method, for assembling a website. The system comprises a server with a "build engine" that accepts user input to define web pages, objects, and associated styles. The build engine produces a database, structured as a multidimensional array, containing this design information. A separate "runtime engine" is also produced, which a web browser uses to access the database and generate the final website for a user (’168 Patent, Abstract; col. 6:32-67).
  • Technical Importance: The claimed system provides a concrete, server-based architecture for the browser-based design method of the ’397 patent, particularly emphasizing a structured database for storing object and style definitions to enable dynamic and efficient website generation (Compl. ¶20).

Key Claims at a Glance

  • The complaint asserts at least independent Claim 1 (Compl. ¶81).
  • Essential elements of Claim 1 include:
    • a system for assembling a website, comprising a server with a build engine;
    • the build engine is configured to accept user input to create a website comprising a plurality of web pages, each with a plurality of objects;
    • the build engine is configured to accept user input to associate a style with the objects;
    • the build engine is configured to produce a database with a multidimensional array containing data defining each object's style, number, and web page location;
    • the build engine is configured to produce at least one runtime engine; and
    • the database enables a web browser with the runtime engine to generate the website from the stored object and style data.

U.S. Patent No. 9,928,044 - "Systems and Methods for Programming Mobile Devices"

  • Technology Synopsis: This patent addresses the technical problem of efficiently displaying dynamic content uniformly across different types of devices (e.g., PC, mobile, tablet). The solution involves associating a "symbolic name" with a UI object (widget), storing information about this association in a database, and using a device-specific "player" to retrieve the information and generate the appropriate display (Compl. ¶31, ¶33).
  • Asserted Claims: At least Claim 1 is asserted (Compl. ¶110).
  • Accused Features: The complaint accuses Salesforce's Lightning App Builder of infringement, alleging it generates code to provide content on a display of a device using a system of symbolic names for its components (Compl. ¶¶109, 114).

U.S. Patent No. 9,471,287 - "Systems and Methods for Integrating Widgets on Mobile Devices"

  • Technology Synopsis: The technology is similar to the ’044 Patent, aiming to provide uniform, data-efficient content display across different devices. It describes producing a "device-independent application" that includes symbolic names for UI objects, which is then provided to a device along with a "device-dependent player" for execution and display (Compl. ¶37, ¶39).
  • Asserted Claims: One or more claims are asserted (Compl. ¶143).
  • Accused Features: The complaint accuses the Lightning App Builder, alleging it is a system for generating code to provide content on a display of a device using symbolic names, device-independent applications, and device-dependent players (Compl. ¶¶144, 159-160).

U.S. Patent No. 9,063,755 - "Systems and Methods for Presenting Information on Mobile Devices"

  • Technology Synopsis: This patent builds on the concepts of the ’044 and ’287 patents, adding a layer of efficiency. It discloses that not only are UI objects associated with symbolic names, but user input values and web service output values are also communicated using symbolic names, further abstracting the data transfer between the device and web services (Compl. ¶44-45).
  • Asserted Claims: One or more claims are asserted (Compl. ¶169).
  • Accused Features: The complaint accuses the Lightning App Builder, alleging it uses symbolic names for components and also communicates input and output values through those symbolic names when interacting with web services (Compl. ¶¶170, 172, 183).

III. The Accused Instrumentality

Product Identification

  • The complaint identifies the "Accused Instrumentality" as Defendant's website and application building tools, primarily the "Lightning App Builder" and "Community Cloud" (which includes the "Lightning Community Builder") (Compl. ¶54, ¶80).

Functionality and Market Context

  • The Accused Instrumentality is described as a point-and-click, browser-based tool that allows users to create custom web pages and applications by dragging and dropping pre-built or custom "Lightning Components" onto a canvas (Compl. ¶58, ¶63). These components and their user-configured properties (e.g., styles, data sources) are stored as information in a database hosted on Salesforce's servers (Compl. ¶69). This stored information is then retrieved by Salesforce's framework to dynamically generate and render the final web page or application for end-users on various devices, including desktops and mobile phones (Compl. ¶71, ¶73). The complaint includes a screenshot from a Salesforce tutorial showing the main interface of the Lightning App Builder, including the components pane, the central canvas, and the properties pane (Compl. p. 17).
  • The complaint alleges that Defendant is the "#1 customer relationship management (CRM) platform," used by over 150,000 companies and generating billions of dollars in annual revenue (Compl. ¶51).

IV. Analysis of Infringement Allegations

’397 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
presenting a viewable menu having a user selectable panel of settings to describe elements on a website... The Lightning App Builder presents a "Components Pane" (menu) and a "Properties Pane" (panel) where users can select and configure website elements. ¶61, ¶63, ¶64 col. 5:6-10
said panel of settings being presented through a browser on a computer adapted to accept one or more of said selectable settings... as inputs... The tool operates within standard web browsers (e.g., Chrome, Firefox), and the Properties Pane accepts user selections as inputs to configure components. ¶59, ¶61 col. 6:11-16
at least one of said user selectable settings in said panel corresponds to commands to a virtual machine User selections in the Properties Pane are alleged to correspond to JavaScript and HTML commands that are interpreted and executed by the browser's JavaScript engine (e.g., V8, SpiderMonkey), which the complaint defines as a virtual machine. ¶60, ¶65 col. 6:17-21
generating a display in accordance with one or more user selected settings substantially contemporaneously with the selection thereof The WYSIWYG editor in the Lightning App Builder updates the main canvas area to reflect user selections in the Properties Pane in real-time. A screenshot shows a user selecting "Bold" style, which is immediately reflected in the page canvas (Compl. p. 20). ¶66, ¶68 col. 6:22-25
storing information representative of said one or more user selected settings in a database The user-defined configuration of Lightning components and their properties are stored on Salesforce's servers, which function as a database. ¶69, ¶70 col. 6:26-29
generating said website at least in part by retrieving said information representative of said one or more user selected settings stored in said database... The system retrieves the stored component definitions and settings from the database, often via Ajax and JSON, to render the final web page in an end-user's browser. ¶71, ¶73 col. 6:30-37

’168 Patent Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
a system for assembling a web site, said system comprising: a server comprising a build engine... Salesforce's cloud computing platform is alleged to be a server that includes a "build engine" to create and edit websites. ¶84 col. 6:33-35
said build engine is configured to accept user input to create a web site, the web site comprising a plurality of web pages, each web page comprising a plurality of objects... The Lightning Community Builder allows users to drag and drop components (objects) to build sites with multiple pages. An example shows a "Patagonia" site with pages like "Home" and "Lookbooks," each containing objects like navigation buttons (Compl. p. 34). ¶85, ¶86 col. 6:36-41
said build engine is configured to accept user input to associate a style with objects of the plurality of web pages Salesforce's tools allow users to change a website's theme and style, which is then associated with the objects on the pages. ¶87 col. 6:42-44
said build engine is configured to produce a database with a multidimensional array comprising the objects that comprise the web site including data defining, for each object, the object style, an object number, and an indication of the web page that each object is part of The system is alleged to produce a database (Salesforce's CRM database) that stores the data for each object, its style, and its location within the website's page structure. ¶96, ¶97, ¶99 col. 6:45-53
said build engine is configured to produce at least one run time engine... The system relies on modern web browsers, which are alleged to include a "runtime engine" (e.g., Trident, Gecko, Webkit) for interpreting code and generating web pages. ¶104 col. 6:54-55
said database is produced such that a web browser with access to a runtime engine is configured to generate the web-site from the objects and style data extracted from the provided database The browser's runtime engine is alleged to access the data provided by Salesforce's servers (extracted from the database) to generate and render the final website. ¶101, ¶102 col. 6:56-62

Identified Points of Contention

  • Scope Questions: A primary point of contention for the ’397 Patent may be the interpretation of "virtual machine." The complaint alleges that modern JavaScript engines within browsers meet this definition (Compl. ¶60). The question for the court will be whether this term, in the context of a patent filed in 1999, can be construed so broadly, or if it was intended to refer to a more specific technology of that era, such as a Java Virtual Machine (JVM).
  • Technical Questions: For the ’168 Patent, a key technical question may arise over whether Salesforce’s database architecture constitutes a "multidimensional array" as required by the claim. The complaint alleges this element is met (Compl. ¶96), but the actual implementation of Salesforce's database may differ from the specific data structure recited in the claim, raising questions of literal infringement.

V. Key Claim Terms for Construction

"virtual machine" (’397 Patent, Claim 1)

  • Context and Importance: Plaintiff's infringement theory for the ’397 Patent appears to depend on this term covering modern in-browser JavaScript engines. Its construction is therefore central to determining whether a core element of the asserted claim is met by the Accused Instrumentality. Practitioners may focus on this term because its meaning has evolved since the patent's 1999 priority date.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The patent specification does not appear to provide an explicit definition of "virtual machine," which could support using a broader, ordinary meaning from the field of computer science, such as any software that interprets and executes instructions. The complaint advances this interpretation by equating browser engines that "interpret and execute JavaScript and HTML" with a virtual machine (Compl. ¶60, ¶65).
    • Evidence for a Narrower Interpretation: The specification makes multiple references to "JAVA" and "Java applets" in the context of the prior art and the invention's implementation (’397 Patent, col. 1:30-36; col. 2:35-45). A defendant may argue that, read in context, the term "virtual machine" was intended by the inventor to refer specifically to a Java Virtual Machine (JVM), a distinct and well-understood technology at the time of filing.

"multidimensional array" (’168 Patent, Claim 1)

  • Context and Importance: Infringement of the ’168 Patent requires the accused system to produce a database with this specific structure. The dispute will likely center on whether Salesforce's database architecture, which supports its complex CRM platform, can be technically characterized as a "multidimensional array."
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The specification explicitly mentions that the build tool includes a "multi-dimensional array structured data base" (’168 Patent, col. 5:58-59). The detailed description further explains that data for web pages, objects, paragraphs, and styles are stored in "four-dimensional," "three-dimensional," and "two-dimensional" arrays (col. 22:25-50). This may support an argument that any database that logically organizes data by these multiple dimensions meets the claim limitation.
    • Evidence for a Narrower Interpretation: A defendant may argue that "multidimensional array" refers to a specific, contiguous-memory data structure common in programming languages, and not to a complex relational or object-oriented database system like that used by Salesforce. They may contend that while Salesforce's database stores data across multiple dimensions, its underlying structure is not a "multidimensional array" in the technical sense required by the claim.

VI. Other Allegations

Indirect Infringement

  • The complaint alleges both induced and contributory infringement for all five patents. Inducement is based on allegations that Salesforce had knowledge of the patents via notice letters and intentionally encouraged its customers to infringe by providing, advertising, and offering training for the Accused Instrumentality (Compl. ¶75, ¶105, ¶139, ¶165, ¶188). Contributory infringement is based on allegations that the Accused Instrumentality is a material component for practicing the patents that is not a staple article of commerce suitable for substantial non-infringing use (Compl. ¶76, ¶106, ¶140, ¶166, ¶189).

Willful Infringement

  • Willfulness is alleged for the ’397 Patent based on pre-suit knowledge from a notice letter dated December 20, 2018, nearly two years before the complaint was filed (Compl. ¶75, ¶77). For the remaining four patents, knowledge is alleged as of November 30, 2020, one day prior to the complaint's filing, which may be construed as post-suit knowledge (Compl. ¶105, ¶139, ¶165, ¶188).

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

  • A core issue will be one of definitional scope: Can the term "virtual machine," rooted in the 1999 technological context of the ’397 Patent where Java Virtual Machines were prevalent, be construed to cover the modern in-browser JavaScript engines used by the accused Salesforce platform?
  • A key evidentiary question will be one of structural correspondence: Does Salesforce's sophisticated, cloud-based CRM database architecture, as it actually operates, implement the specific "multidimensional array" data structure required by Claim 1 of the ’168 Patent, or does a fundamental mismatch in technical architecture preclude a finding of literal infringement?
  • A central legal battle will likely address patent eligibility: Despite Plaintiff's prior successes in defeating § 101 challenges at the pleading stage, the court in this case will need to determine whether the asserted claims are directed to a patent-eligible, specific improvement in computer functionality or to the abstract idea of creating and displaying web pages using a computer.