DCT
1:18-cv-01180
Express Mobile Inc v. McCann Relationship Marketing LLC
Key Events
Complaint
Table of Contents
complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Express Mobile, Inc. (Delaware)
- Defendant: McCann Relationship Marketing, LLC d/b/a MRM McCann (Delaware)
- Plaintiff’s Counsel: Devlin Law Firm LLC
- Case Identification: 1:18-cv-01180, D. Del., 08/04/2018
- Venue Allegations: Venue is alleged to be proper in the District of Delaware because Defendant is incorporated in the State of Delaware.
- Core Dispute: Plaintiff alleges that Defendant’s website building tools and services, including the Drupal content management system, infringe patents related to browser-based website generation and run-time engines.
- Technical Context: The technology concerns systems that allow users to design and deploy websites through a browser-based interface, a foundational technology for modern web development and digital marketing agencies.
- Key Procedural History: The complaint notes that in a prior case (C.A. 2:17-cv-00128, E.D. Tex.), a Magistrate Judge recommended denying a motion to find the asserted patents invalid under 35 U.S.C. § 101. The provided patent documents also indicate that after this complaint was filed, U.S. Patent No. 6,546,397 underwent inter partes review, resulting in the cancellation of claim 1. U.S. Patent No. 7,594,168 underwent an ex parte reexamination where claims 1-6 were confirmed.
Case Timeline
| Date | Event |
|---|---|
| 1999-12-02 | Earliest Priority Date for '397 and '168 Patents |
| 2003-04-08 | '397 Patent Issued |
| 2009-09-22 | '168 Patent Issued |
| 2018-08-04 | Complaint Filed |
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," issued April 8, 2003
The Invention Explained
- Problem Addressed: The patent describes conventional website building tools as computationally slow and cumbersome, requiring significant user skill in HTML and scripting languages which have inherent limitations for creating dynamic, full-featured web applications ('397 Patent, col. 1:7-30).
- The Patented Solution: The invention proposes a browser-based system where a user interacts with a "build engine" via an interface to create a website. User selections for website elements and their properties are stored in an object database. The system then generates a final website by combining a generic "HTML shell file" with a "customized run time engine" that reads the object database to render the site, separating the design process from the final execution ('397 Patent, Abstract; col. 5:2-15).
- Technical Importance: This architecture sought to simplify the creation of sophisticated, multimedia-rich websites by allowing users to work in a visual, browser-based environment without needing deep programming knowledge (Compl. ¶11).
Key Claims at a Glance
- The complaint asserts infringement of independent claims 1, 2, and 37, among others (Compl. ¶19).
- Independent Claim 1 (Method):
- A method for users to produce websites on computers with browsers and a virtual machine.
- The method involves presenting a selectable settings panel through a browser, where settings correspond to commands for the virtual machine.
- It includes generating a display based on the selected settings, storing information about those settings in a database, and then generating the website by retrieving that information and building web pages with a run-time file.
- Independent Claim 2 (Apparatus):
- An apparatus for producing websites comprising an interface to present a settings menu through a browser.
- The apparatus includes a browser to generate a display based on selected settings, a database to store those settings, and a "build tool" with run-time files to generate web pages using the stored information.
- Independent Claim 37 (Apparatus):
- An apparatus with an interface for building a website that presents settings, accepts them, and generates a display "contemporaneously" with acceptance.
- It includes an "internal database" for storing settings information and a "build tool" that uses an "external database" and run-time files to construct the web pages.
- The complaint reserves the right to assert additional dependent claims (Compl. ¶19).
U.S. Patent No. 7,594,168 - "Browser Based Web Site Generation Tool and Run Time Engine," issued September 22, 2009
The Invention Explained
- Problem Addressed: As a continuation of the '397 patent, the '168 patent addresses the same technical problems of simplifying website creation (Compl. ¶80).
- The Patented Solution: The claimed system focuses on a server with a "build engine" for assembling a website from "objects" (e.g., buttons, images). A user associates a "style" with these objects, where the style can include values defining "transformations and time lines." The entire web page is defined by these objects and their associated styles, which are stored in a "multidimensional array" database that a runtime engine later uses to generate the final site ('168 Patent, Claim 1; Compl. ¶88).
- Technical Importance: This patent refines the earlier concept by more explicitly claiming an object-oriented approach where dynamic properties like animations are directly tied to specific website elements and stored in a structured database (Compl. ¶88).
Key Claims at a Glance
- The complaint asserts infringement of independent claim 1, among others (Compl. ¶87).
- Independent Claim 1 (System):
- A system with a server and a build engine for assembling a website.
- The website comprises web pages with objects (buttons or images).
- The build engine accepts user input to associate objects with a style that includes values for "transformations and time lines."
- Each web page is defined "entirely" by the objects and their styles.
- The system produces a "database with a multidimensional array" containing the object and style data.
- This database is provided to a server, allowing a web browser with a runtime engine to generate the website from the extracted data.
- The complaint reserves the right to assert additional dependent claims (Compl. ¶87).
III. The Accused Instrumentality
Product Identification
- The "Accused Instrumentalities" are identified as browser-based website and web page authoring tools used or provided by the Defendant, with the open-source content management system "Drupal" cited as a specific example (Compl. ¶19, ¶87).
Functionality and Market Context
- The complaint alleges Defendant uses these tools to build and host websites for its customers as part of its business, which generates approximately $300 million in annual revenue (Compl. ¶20).
- The alleged functionality involves a user interacting with a browser-based "dashboard" or WYSIWYG editor to add elements and define their properties (Compl. ¶23).
- User selections, such as text color, layout, and image file names, are allegedly stored in a database (Compl. ¶24). At runtime, the system uses this stored data to generate HTML that is then rendered by the browser's engine to display the final web page (Compl. ¶25).
IV. Analysis of Infringement Allegations
’397 Patent Infringement Allegations
| Claim Element (from Independent Claim 2) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| an apparatus for producing websites on and for computers having a browser and a virtual machine, | The Accused Instrumentalities (e.g., Drupal) are used on computers with modern internet browsers (Chrome, Firefox, etc.) that are alleged to include "virtual machines" such as JavaScript engines. | ¶19, ¶22 | col. 66:1-3 |
| said apparatus comprising an interface to present a settings menu which describes elements, said panel presented through a browser, | The accused Drupal system allegedly provides a "dashboard" or WYSIWYG editor interface within a browser for users to add elements and set properties. | ¶23, ¶30 | col. 66:6-9 |
| where the selectable setting(s) corresponds to commands to the virtual machine; | User selections allegedly result in the generation of HTML, which is described as representing "virtual machine commands" for the browser's engine to render the page. | ¶25, ¶32 | col. 66:9-11 |
| a browser to generate a display in accordance with one or more of said selected setting(s); | After a user selects an option in the WYSIWYG editor, the display allegedly updates "immediately" to reflect the selection. | ¶23, ¶30 | col. 66:12-13 |
| a database for storing information regarding selected settings; | The Accused Instrumentalities are alleged to store user selections, such as layout, image filenames, and text color, in a database. | ¶24, ¶31 | col. 66:14-15 |
| and a build tool having run time file(s) for generating one or more web page(s) and using stored information to generate commands to the virtual machine for generating at least a portion of web page(s). | The system allegedly uses runtime files (such as PHP template files) and stored data to generate HTML, which is then executed by the browser engine to display the web page. | ¶24, ¶25, ¶26 | col. 66:16-20 |
- Identified Points of Contention:
- Scope Questions: A primary question is whether a standard browser's JavaScript engine constitutes a "virtual machine" as that term is used in the patent. The complaint relies on this interpretation, but a defendant may argue the patent's context, with its references to Java and applets, contemplates a more robust, self-contained environment like a Java Virtual Machine (JVM) ('397 Patent, col. 5:10-15; Compl. ¶22).
- Technical Questions: The claim requires a "build tool" having "run time file(s)." The complaint alleges that an HTML file and a CSS file are "customized runtime files" (Compl. ¶63). It may be disputed whether a standard content management system that uses server-side scripting (e.g., PHP) to generate standard web files (HTML, CSS) on the fly meets the patent's more specific description of creating a "customized run time engine program file and one compressed website specific, customized run time engine library file" ('397 Patent, Claim 24).
’168 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A system for assembling a build engine configured to... a website comprising web pages with a plurality of objects, wherein at least one of said plurality of objects is at least one of one button object or one image object, | The accused Drupal system is alleged to be a system that builds websites from objects, including buttons and images selected by a user. | ¶87, ¶88 | col. 63:58-63 |
| said build engine configured to accept user input to associate a style with said plurality of objects, wherein said at least one button object or image object is associated with a style that includes values defining transformations and time lines; | The Accused Instrumentalities are alleged to use CSS libraries for "adding transformations and timelines to selected elements," including buttons and images. | ¶88, ¶98 | col. 63:63-64:1 |
| wherein each web page is defined entirely by the plurality of objects that comprise the web page and the style associated with the object... | The complaint does not provide sufficient detail for analysis of this element. | col. 64:2-4 | |
| produce a database with a multidimensional array comprising the objects that comprise the website including data defining the object style, number, and an indication of the web page that each object is part of, | The complaint alleges that JSON strings used by Drupal originate from and reflect a "multidimensional array structured database," and provides a URL to a screenshot of a Drupal interface for defining fields as evidence. | ¶90, ¶91 | col. 64:5-9 |
| and provide the database to a server accessible to a web browser; | The complaint alleges that the "CSS database file is thereafter saved to the server." | ¶91 | col. 64:9-10 |
| 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. | It is alleged that the accused system includes runtime files like HTML and CSS that are used by the browser (runtime engine) to generate the website from the stored data. | ¶92 | col. 64:11-15 |
- Identified Points of Contention:
- Technical Questions: A key technical dispute will likely be whether the accused Drupal system, which typically uses a relational database like MySQL, "produce[s] a database with a multidimensional array." The complaint's evidence is a screenshot showing Drupal's user interface for defining data fields, which is alleged to show "dimensions for various parameters" (Compl. ¶38). This raises the question of whether a system that can represent data in a multidimensional format (e.g., JSON) is the same as having a database that is structurally a "multidimensional array" as required by the claim.
- Scope Questions: It will be debated whether the use of standard CSS for animations and transitions in Drupal meets the claim limitation of a "style that includes values defining transformations and time lines" in the manner contemplated by the patent.
V. Key Claim Terms for Construction
For the ’397 Patent
- The Term: "virtual machine"
- Context and Importance: This term is foundational to the infringement allegations for the '397 Patent, as Plaintiff's theory equates modern browser JavaScript engines with the claimed "virtual machine" (Compl. ¶22). The viability of the infringement case may depend on this construction.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent specification does not provide an explicit definition, which could support applying the term's plain and ordinary meaning. Such a meaning could encompass any software environment that executes instructions, including a JavaScript engine.
- Evidence for a Narrower Interpretation: The specification makes multiple references to Java technology, including "Java Applet," "JAR files," and "JAVA based build engine" ('397 Patent, col. 5:10-15, col. 65:1-2). A party could argue these references narrow the scope of "virtual machine" to a more substantial, self-contained platform like a Java Virtual Machine (JVM), as opposed to an integrated browser scripting engine.
For the ’168 Patent
- The Term: "a database with a multidimensional array"
- Context and Importance: This structural limitation is central to the infringement theory against Drupal. Practitioners may focus on this term because the complaint's evidence for it is a screenshot of a UI and a reference to JSON strings, which may not reflect the actual underlying database architecture (Compl. ¶90).
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The parent '397 patent specification, incorporated by reference, describes storing data in "one-dimensional arrays," "two-dimensional arrays," and "four-dimensional array structures" ('397 Patent, col. 21:62-22:25). This could support an interpretation where any database capable of organizing and retrieving data in a manner that can be represented multi-dimensionally meets the limitation.
- Evidence for a Narrower Interpretation: A defendant could argue that the term requires a specific data structure—a literal multidimensional array—and not a relational database that can merely be queried to produce a multidimensional output. The distinction between the logical representation of data and the physical storage structure of the database will be a critical point.
VI. Other Allegations
- Indirect Infringement: The complaint does not contain a formal count for indirect infringement, but it alleges facts that could support it. It states that Defendant's offering of website building and hosting services, sometimes at a reduced price, serves as an "inducement to attract customers" who then purchase other services (Compl. ¶20).
- Willful Infringement: Willfulness is alleged based on knowledge of the patents acquired "at least as early as the filing of this Complaint" (Compl. ¶75, ¶106). The allegation is that any infringement "since the date of the filing of this Complaint" has been willful (Compl. ¶76, ¶107). No pre-suit knowledge is alleged.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of technical correspondence: can the architecture of a modern open-source CMS like Drupal, which uses server-side scripting and standard web technologies (PHP, CSS, relational databases), be mapped to the specific components of the patented system, such as a "build tool," a "virtual machine," and a "database with a multidimensional array"?
- A second key question will be one of evidentiary proof: does the complaint's reliance on high-level descriptions, public marketing materials, and a UI screenshot provide sufficient factual support to plausibly allege that the accused Drupal system implements the specific structural and functional limitations of the patent claims, particularly the "multidimensional array" database?
- Finally, the post-filing cancellation of claim 1 of the '397 patent raises a significant question about the continuing viability of the infringement allegations against that patent, as the complaint's infringement narrative for all asserted '397 claims is built upon the elements of that now-invalidated independent claim.
Analysis metadata