DCT
5:22-cv-05859
Software Research Inc v. Zoho Corp
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Software Research, Inc. (California)
- Defendant: Zoho Corporation (California)
- Plaintiff’s Counsel: Singer Bea LLP
- Case Identification: 5:22-cv-05859, N.D. Cal., 01/18/2023
- Venue Allegations: Plaintiff alleges venue is proper because Defendant resides in, transacts business in, has a regular and established place of business in, and committed the alleged acts of infringement in the Northern District of California.
- Core Dispute: Plaintiff alleges that Defendant’s website monitoring software, Site24x7 and Applications Manager, infringes seven patents related to automated web browser testing and analysis technology.
- Technical Context: The technology involves automated tools for recording user interactions, creating test scripts based on a website's Document Object Model (DOM), and replaying them to validate website functionality and performance, a critical process for ensuring the reliability of e-commerce and other web applications.
- Key Procedural History: The complaint alleges that Plaintiff has commercially exploited the patents-in-suit through its own eValid™ software products and has licensed the patents to competitors. It also alleges that Defendant has had knowledge of the patents-in-suit since at least November 13, 2020, forming the basis for allegations of willful infringement.
Case Timeline
| Date | Event |
|---|---|
| 2000-10-31 | Earliest Priority Date for ’175 and ’493 Patents |
| 2007-10-15 | Earliest Priority Date for ’890, ’585, ’491, and ’286 Patents |
| 2010-07-13 | ’175 Patent Issued |
| 2012-12-04 | ’271 Patent Issued |
| 2013-03-05 | ’890 Patent Issued |
| 2013-07-23 | ’585 Patent Issued |
| 2014-02-11 | ’493 Patent Issued |
| 2015-03-17 | ’491 Patent Issued |
| 2019-11-26 | ’286 Patent Issued |
| 2020-11-13 | Alleged Date of Defendant’s Knowledge of Patents-in-Suit |
| 2023-01-18 | First Amended Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,757,175 - “Method and System for Testing Websites,” issued July 13, 2010
The Invention Explained
- Problem Addressed: The patent’s background section describes a need for improved approaches to website testing that go beyond simply intercepting low-level user inputs (e.g., keyboard and mouse activity) or network traffic, which can be cumbersome and may not fully capture the website’s behavior (’175 Patent, col. 2:1-20).
- The Patented Solution: The invention is a "test-enabled web browser" that records user interactions to create test scripts for automated playback and validation (’175 Patent, Abstract). Instead of merely recording user actions, the system analyzes the underlying structure of a webpage, known as the Document Object Model (DOM), to extract and store details about specific page elements in the script. This allows for more robust validation that is tied to the webpage’s content and structure rather than just user interface coordinates (’175 Patent, col. 4:56-67; Compl. ¶31).
- Technical Importance: This DOM-based approach to script creation and validation provided a method for more reliably testing dynamic web applications whose layout and content could change, a critical need for ensuring the quality of increasingly complex e-business websites (Compl. ¶13).
Key Claims at a Glance
- The complaint asserts independent claim 11 (Compl. ¶36).
- Essential elements of claim 11 include:
- A computer readable medium storing a test-enabled web browser for testing a website.
- Web browsing components.
- A page evaluation component that operates to read, extract, analyze, and confirm the contents of page components, including Document Object Model (DOM) elements with their associated index and values.
- A test data component that operates to store facts about the webpage.
- A graphical user interface providing user access to the browsing, page evaluation, and test data components.
U.S. Patent No. 8,327,271 - “Method and System for Testing Websites,” issued December 4, 2012
The Invention Explained
- Problem Addressed: As a continuation of the '175 Patent, the '271 Patent addresses the same general problem of providing more effective automated website testing (’271 Patent, col. 1:43-51).
- The Patented Solution: This patent further details a system where a test-enabled browser renders and examines a webpage to extract structural details of its elements (based on the DOM) and stores these details in a script. During a validation test, the webpage is newly rendered, and the structural details of the new page are accessed via DOM methods and compared to the details stored in the script to verify consistency and functionality (’271 Patent, Abstract; col. 21:34-49).
- Technical Importance: The invention provides a specific method for validating the structural integrity and content of a webpage between different sessions, which is essential for regression testing of web applications that undergo frequent updates (Compl. ¶13).
Key Claims at a Glance
- The complaint asserts independent claim 1 (Compl. ¶56).
- Essential elements of claim 1 include:
- A non-transitory computer readable medium storing a test-enabled browser.
- Computer program code for interfacing with web browsing components, including DOM access methods.
- Computer program code for rendering and examining a webpage to extract and store details of the organization and structure of its elements in a recorded script.
- Computer program code for selecting a validation test.
- Computer program code for performing the validation test by newly rendering the webpage, accessing details of its elements via DOM access methods, and comparing them to the stored details in the recorded script.
U.S. Patent No. 8,392,890 - “Method and System for Testing Websites,” issued March 5, 2013
- Technology Synopsis: This patent addresses website testing with a focus on creating and executing test scripts capable of accurately testing dynamic webpage elements built with Asynchronous Javascript and XML (“AJAX”) (Compl. ¶71). The technology involves inserting synchronization checks into a test script that can interact with the webpage’s DOM to manage the asynchronous nature of AJAX content loading during automated playback (Compl. ¶76).
- Asserted Claims: Independent claim 1 is asserted (Compl. ¶76).
- Accused Features: The complaint accuses Site24x7’s functionality for testing dynamically generated AJAX content, specifically its use of wait commands and its ability to synchronize test playback with a webpage’s DOM to maintain the browser’s state (Compl. ¶76, pp. 24-26).
U.S. Patent No. 8,495,585 - “Method and System for Testing Websites,” issued July 23, 2013
- Technology Synopsis: Similar to the ’890 Patent, this invention relates to creating, storing, and executing test scripts for accurately testing AJAX webpage elements (Compl. ¶91). The solution involves using a synchronization check within a test script to separately access the DOM and ensure that playback is synchronized with the state of the AJAX programming (Compl. ¶96).
- Asserted Claims: Independent claim 1 is asserted (Compl. ¶96).
- Accused Features: The complaint targets Site24x7’s features that test dynamically generated content, including its use of wait commands to synchronize playback and its interaction with the DOM to handle AJAX requests (Compl. ¶96, pp. 34-36).
U.S. Patent No. 8,650,493 - “Method and System for Testing Websites,” issued February 11, 2014
- Technology Synopsis: This patent describes a test-enabled browser that renders and examines a webpage to extract element details, stores them in a script, and performs validation tests by comparing a newly rendered page to the stored script details (Compl. ¶111, ¶116). The invention focuses on the system's components, including code for interfacing with a browser's DOM access methods and code for selecting and performing validation tests (Compl. ¶116).
- Asserted Claims: Independent claim 1 is asserted (Compl. ¶116).
- Accused Features: The infringement allegations target the Site24x7 system as a whole, including its use of a test-enabled browser, its interface with browser components via DOM access, and its process for rendering, examining, and validating webpages against recorded scripts (Compl. ¶116, pp. 43-48).
U.S. Patent No. 8,984,491 - “Method and System for Testing Websites,” issued March 17, 2015
- Technology Synopsis: The technology involves a test-enabled browser that uses a synchronization check within a test script to test a webpage (Compl. ¶136). The system automatically synchronizes the playback of the script by using the check to maintain the browser's state relative to the webpage's DOM, allowing for testing of dynamic content (Compl. ¶136, p. 53).
- Asserted Claims: Independent claim 1 is asserted (Compl. ¶136).
- Accused Features: The complaint accuses Site24x7’s use of synchronization checks and wait commands to test and validate dynamic and AJAX-based web content, including its system for finding a DOM element based on a specified property and waiting for a particular value to be present (Compl. ¶136, pp. 54-55).
U.S. Patent No. 10,489,286 - “Driving a Web Browser for Testing Web Pages Using a Document Object Model,” issued November 26, 2019
- Technology Synopsis: This patent claims a computing device comprising a memory and a processor configured to execute web browser program code. The browser code has DOM access capabilities and supports commands, via a browser programming interface (API), that facilitate the synchronized testing and analysis of asynchronous processes of a webpage rendered by the browser (’286 Patent, Claim 1).
- Asserted Claims: Independent claim 1 is asserted (Compl. ¶156).
- Accused Features: The allegations target Site24x7's use of an underlying API, such as WebDriver, to provide a browser programming interface. This interface allegedly allows the system to access DOM attributes and execute commands to synchronize testing with asynchronous events, such as AJAX calls, on a webpage (Compl. ¶156, pp. 61-63).
III. The Accused Instrumentality
Product Identification
- The complaint accuses Defendant's Site24x7 and Applications Manager software products and services (Compl. ¶19).
Functionality and Market Context
- The accused products are marketed as "All-in-One Monitoring Solution" tools that provide "Website Monitoring" and "synthetic monitoring" (Compl. ¶23, ¶24). Their core accused functionality involves a "Web Transaction Recorder" or browser extension that records user interactions in a real browser (e.g., Firefox or Chrome), such as filling out login forms or using a shopping cart (Compl. ¶25, ¶28, ¶36). These recorded interactions are stored as "webscripts" which are then replayed at regular intervals to "continuously test the availability, performance, and functionality" of a website to ensure a reliable end-user experience (Compl. ¶24, ¶28). The complaint alleges these tools work by interrogating a webpage’s Document Object Model (DOM) to extract information about page elements, which is then used for validation during playback (Compl. ¶36, p. 9; ¶56, p. 16).
IV. Analysis of Infringement Allegations
’175 Patent Infringement Allegations
| Claim Element (from Independent Claim 11) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A computer readable medium storing a test-enabled web browser for operation on a computing device to test a website hosted by a remote server... | Defendants’ Site24x7 is a cloud-based platform for testing websites that uses an actual web browser, such as Firefox or Chrome, as a test-enabled browser. | ¶36 | col. 2:50-55 |
| ...web browsing components... | Site24x7 allows a user to browse the web via common web browsing activities, such as mouse clicks, validations, and navigating to a web page. | ¶36 | col. 4:51-55 |
| ...a page evaluation component that operates to read, extract, and analyze and confirm the contents of page components, including Document Object Model (DOM) elements with their associated at least one index and their values... | Site24x7 interrogates the DOM to identify and extract relevant information regarding page elements, including each element’s index and value, and compares the current DOM to a previously recorded baseline DOM. | ¶36 | col. 5:15-24 |
| ...a test data component that operates to store facts about the at least one webpage... | Site24x7 uses explicit wait commands, which requires it to store facts about the webpage being rendered, such as the expected condition to be checked for during validation. | ¶36 | col. 3:3-9 |
| ...a graphical user interface to provide user access to at least said web browsing components and at least one of said page evaluation components and said test data component. | Site24x7 provides a graphical user interface that gives users access to test details, including logs, videos, screenshots, and dashboards portraying key metrics. | ¶36 | col. 3:10-15 |
’271 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A non-transitory computer readable medium including at least computer program code stored therein for providing a test-enabled browser for testing a website residing on a network... | Site24x7 provides a "test-enabled web browser" using actual browsers like Firefox or Chrome to monitor web transactions. | ¶56 | col. 2:50-55 |
| ...computer program code for interfacing with web browsing components, the web browsing components including DOM access methods of the web browsing components... | Site24x7 uses DOM access methods included in browser libraries to locate page elements based on their DOM indexes. | ¶56 | col. 4:51-55 |
| ...computer program code for rendering and examining at least one webpage of the website so as to at least extract details of organization and structure of elements of the webpage, and store such details of the webpage in a recorded script... | Site24x7 uses a recorder tool to record user interactions and create scripts. It interrogates the DOM to identify and extract element details, such as index and value, and stores them in the script. | ¶56 | col. 3:1-9 |
| ...computer program code for selecting a validation test to be performed... | Site24x7 allows users to create test scripts by recording interactions and uses explicit wait commands, which constitutes the selection and performance of a validation test. | ¶56 | col. 3:10-15 |
| ...computer program code for performing the validation test...wherein during the validation test, the at least one webpage is newly rendered and details of organization and structure of elements for the at least one webpage as newly rendered are accessed via the at least one of the DOM access methods and compared to the stored details in the recorded script. | Site24x7 performs validation by playing back recorded scripts, which newly renders the webpage. It then compares the current DOM of the website to the baseline DOM details stored in the script. The complaint also highlights a graphic showing logos of numerous customers who use the accused product, which Plaintiff presents as evidence of direct infringement by those customers. (Compl. ¶60, p. 20) | ¶56 | col. 4:1-9 |
Identified Points of Contention
- Scope Questions: A primary question may be whether the accused products, which are described as using standard, off-the-shelf browsers like Chrome and Firefox with a "browser extension" or "recorder tool" (Compl. ¶36, p. 8), meet the claim limitation of a "test-enabled web browser." The defense may argue this term requires a single, integrated software application as depicted in the patents' figures, not a standard browser augmented with an add-on.
- Technical Questions: The claims require extracting and comparing specific DOM details such as "index and value" and "organization and structure." The complaint's allegations are based primarily on marketing statements from Defendant's website. A central technical question will be what evidence demonstrates that the accused products' DOM comparison functionality performs the specific steps required by the claims, rather than a more generalized form of content or change detection.
V. Key Claim Terms for Construction
The Term: "test-enabled web browser" (’175 Patent, Claim 11; ’271 Patent, Claim 1)
- Context and Importance: The definition of this term is fundamental to the infringement analysis. Defendant may contend that its products utilize standard web browsers but are not themselves "test-enabled web browsers," potentially avoiding infringement. Plaintiff's case may depend on a construction where a standard browser combined with Defendant's testing and recording software/extensions constitutes the claimed "test-enabled web browser."
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specifications state that the invention can be built on existing browser technology (e.g., "The test-enabled browser 100 makes use of Internet Explorer (IE) base library 102") (’175 Patent, col. 3:44-46). This could support a construction where a standard browser augmented by testing software falls within the claim scope.
- Evidence for a Narrower Interpretation: Language in the specification describes a browser with "special functions and facilities that are built into the test enabled browser" (’175 Patent, col. 2:53-55). This phrasing, together with figures depicting the "TEST-ENABLED BROWSER" as a single, distinct component (e.g., ’175 Patent, Fig. 1), may support a narrower construction that requires a more deeply integrated or standalone application.
The Term: "page evaluation component" (’175 Patent, Claim 11)
- Context and Importance: This functional term defines a core capability of the invention. The dispute will likely center on whether the accused products contain a "component" that performs the claimed functions of "read, extract, and analyze and confirm the contents of page components, including Document Object Model (DOM) elements."
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claim uses broad, functional language. Plaintiff may argue that any software module within the accused products that performs these functions satisfies the limitation, regardless of how it is implemented or named. The complaint alleges Site24x7 "interrogates the DOM to identify and extract relevant information" and "compares the current DOM to previously recorded DOM," which aligns with this functional language (Compl. ¶36).
- Evidence for a Narrower Interpretation: Defendant may argue that the term should be interpreted in light of the embodiments described in the specification, potentially limiting its scope to the specific systems disclosed (e.g., the system architecture in ’175 Patent, Fig. 5). If the accused products' architecture or method of evaluation differs significantly, it could support a non-infringement argument.
VI. Other Allegations
- Indirect Infringement: The complaint alleges both inducement and contributory infringement for all asserted patents. The inducement theory is based on allegations that Defendant's website provides extensive documentation, instructions, screenshots, and videos that encourage customers to use the accused products in an infringing manner (Compl. ¶40, ¶60). Plaintiff supports this by including a graphic from Defendant's website listing numerous customers, alleging these customers are direct infringers (Compl. ¶40, p. 11). The contributory infringement theory alleges the products are a material component of the patented invention, are not staple articles of commerce, and are known to be especially made for infringing use (Compl. ¶38, ¶58).
- Willful Infringement: The complaint alleges willful infringement for all asserted patents, based on Defendant having knowledge of the patents-in-suit and Plaintiff's related products since at least November 13, 2020 (Compl. ¶47, ¶67).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the term "test-enabled web browser," which the patents describe as a distinct system, be construed to cover modern synthetic monitoring tools that operate by installing extensions or recorders onto standard, third-party web browsers like Chrome and Firefox?
- A key evidentiary question will be one of functional operation: does the DOM analysis performed by the Site24x7 and Applications Manager products execute the specific, multi-step process of extracting structural details (such as element indices and values), storing them in a script, and comparing them against a newly rendered page as required by the claims, or is there a fundamental mismatch in their technical operation?
- A third question concerns proof of infringement across products: the complaint asserts a large portfolio of seven patents against two separate products. A central challenge for the plaintiff will be to present clear evidence mapping specific features of both Site24x7 and Applications Manager to the limitations of each of the seven asserted patents.