DCT
1:20-cv-01726
Digi Portal LLC v. National Automotive Parts Association LLC
Key Events
Complaint
Table of Contents
complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Digi Portal LLC (Texas)
- Defendant: National Automotive Parts Association LLC (Georgia)
- Plaintiff’s Counsel: Chong Law Firm, P.A.
- Case Identification: 1:20-cv-01726, D. Del., 12/18/2020
- Venue Allegations: Plaintiff alleges venue is proper in the District of Delaware because Defendant has established places of business in the district.
- Core Dispute: Plaintiff alleges that Defendant’s "napaonline.com" website infringes five patents related to the dynamic generation of customized web pages.
- Technical Context: The technology concerns server-side methods for efficiently generating personalized web pages for many simultaneous users by combining user-specific templates with locally cached real-time data.
- Key Procedural History: The patents-in-suit descend from a common application originally assigned to Yahoo! Inc. The complaint notes that patents sharing the same specification were cited during the prosecution of over 700 other patents from numerous major technology companies, which may suggest the foundational nature of the disclosed technology.
Case Timeline
| Date | Event |
|---|---|
| 1997-06-12 | Earliest Priority Date for all Patents-in-Suit |
| 1999-11-09 | U.S. Patent No. 5,983,227 Issues |
| 2007-01-30 | U.S. Patent No. 7,171,414 Issues |
| 2009-07-21 | U.S. Patent No. 7,565,359 Issues |
| 2013-01-08 | U.S. Patent No. 8,352,854 Issues |
| 2017-04-18 | U.S. Patent No. 9,626,342 Issues |
| 2020-12-18 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 8,352,854 - "Dynamic Page Generator" (Issued Jan. 8, 2013)
The Invention Explained
- Problem Addressed: The patent describes that prior art methods for delivering customized web pages, such as using Common Gateway Interface (CGI) scripts to poll multiple data servers for each request, were slow and did not scale well to handle many users (Compl. ¶14; ’854 Patent, col. 1:42-58). Other methods, which involved continually streaming data to the user's local storage, clogged networks and presented outdated information (Compl. ¶15; ’854 Patent, col. 1:59-67).
- The Patented Solution: The invention proposes a more efficient architecture where user preferences are used to create a user-specific "template program" (Compl. ¶17; ’854 Patent, Fig. 2). Instead of polling external servers for every request, the system populates this template with "live data" (e.g., stock quotes, sports scores) that is pre-emptively stored in a local, shared memory on the page server itself (’854 Patent, Abstract; col. 4:4-11). To further optimize performance, these user templates are stored in different locations—such as a fast-access cache for frequent users or a database for infrequent users—based on the frequency of user requests (Compl. ¶20; ’854 Patent, col. 6:49-59).
- Technical Importance: This server-side template and local data caching approach was designed to significantly reduce latency and increase the number of users a server could support for personalized content delivery (Compl. ¶12).
Key Claims at a Glance
- The complaint asserts independent claims 1 (method), 8 (system), and 15 (computer-readable medium), as well as dependent claims 2 and 9 (Compl. ¶27).
- Essential elements of independent claim 1 include:
- Receiving a user request for a customized page.
- Receiving a template program unique to the user, which is based on user configuration information supplied by the user.
- The template program is received from one of at least two locations, with the specific location being determined by the frequency of the user's requests.
- Receiving an advertisement selected in accordance with the user's demographic information.
- Executing the template program using the advertisement to generate the customized page.
- Providing the customized page to the user.
U.S. Patent No. 5,983,227 - "Dynamic Page Generator" (Issued Nov. 9, 1999)
The Invention Explained
- Problem Addressed: The complaint notes this patent shares an identical specification with the '854 patent and incorporates its background discussion (Compl. ¶42). The problem is the inefficiency and poor scalability of prior art systems for generating customized web pages (’227 Patent, col. 1:30-46).
- The Patented Solution: The solution is a page server architecture that stores "real-time information" (e.g., product availability, news) in a local storage device or "shared memory" closely coupled to the page generator (’227 Patent, Abstract; col. 2:5-11). This allows a customized page, formed from a user-specific template and the locally stored data, to be built entirely within the page server, thereby eliminating time-consuming network requests to other servers for live data portions (Compl. ¶57; ’227 Patent, col. 2:8-12).
- Technical Importance: This architecture enabled the rapid assembly and delivery of dynamic, personalized web content, a key factor in scaling web services in the late 1990s (Compl. ¶41).
Key Claims at a Glance
- The complaint asserts independent method claim 2 (Compl. ¶43).
- Essential elements of independent claim 2 include:
- Obtaining user preferences indicating items of interest.
- Obtaining real-time information from information sources.
- Storing the real-time information in a storage device.
- Combining the user preferences and a template to form a template program specific to the user.
- Receiving a user request for a customized page.
- Executing the template program using the real-time information stored in the storage device.
- Providing the user with the customized page, with execution and provision occurring in real-time response to the user's request.
U.S. Patent No. 7,171,414 - "Dynamic Page Generator" (Issued January 30, 2007)
- Technology Synopsis: This patent, sharing the same specification as the '854 and '227 patents, focuses on a method where real-time data is stored in a "shared local storage device" closely coupled to a page generator (Compl. ¶57). This architecture allows a custom page to be built within the page server, eliminating the need for calls to external servers for live data (Compl. ¶57).
- Asserted Claims: Independent method claims 1 and 3 (Compl. ¶59).
- Accused Features: The "napaonline.com" website is accused of infringing by using a page server to provide customized pages based on user preferences, gathering real-time automotive parts information via API, and storing that information temporarily on its web server or the user's computer to generate the customized page (Compl. ¶¶59-60).
U.S. Patent No. 7,565,359 - "Dynamic Page Generator" (Issued July 21, 2009)
- Technology Synopsis: This patent, also sharing the same specification, is directed to a computer-readable medium with instructions for generating customized pages. The claims focus on storing real-time information in a shared local storage device and storing a user-specific template program that is associated with a unique user identifier (Compl. ¶¶75, 77).
- Asserted Claims: Independent computer-readable medium claim 10 (Compl. ¶76).
- Accused Features: The "napaonline.com" website is accused of utilizing a computer-readable medium containing code that pulls real-time parts information from a database, stores it temporarily, and also stores a user-specific template program (e.g., instructions and data for a custom webpage) tied to a user identifier to generate customized search results (Compl. ¶77).
U.S. Patent No. 9,626,342 - "Dynamic Page Generator" (Issued April 18, 2017)
- Technology Synopsis: Sharing the same specification, this patent is directed to a method of generating a template program unique to a user. This unique program is formed by combining user-specific customization information (e.g., account preferences, search parameters) with a global, generic template (Compl. ¶¶89, 91).
- Asserted Claims: Independent method claim 1 (Compl. ¶90).
- Accused Features: The "napaonline.com" website is accused of generating a unique template program (e.g., code for the entire webpage) by combining a user's specific information (login preferences, search terms) with a generic webpage template to create and display a customized webpage (Compl. ¶91).
III. The Accused Instrumentality
Product Identification
- The website https://www.napaonline.com/ ("Accused Instrumentality") (Compl. ¶27).
Functionality and Market Context
- The Accused Instrumentality is an e-commerce website for automotive parts that provides customized user experiences (Compl. ¶27). The complaint alleges that when a user logs in or provides preferences such as vehicle information or location, the website generates customized pages displaying user-specific information, such as the user's name, tailored search results, and targeted advertisements (Compl. ¶¶29, 32, 44). The complaint alleges this is accomplished using a combination of server-side logic, JavaScript templates, and the storage of user data in various locations including server-side databases, browser cookies, and local storage (Compl. ¶¶17, 29, 31). One probative visual in the complaint shows the login page for the Accused Instrumentality, which allegedly initiates the request for a customized page (Compl. p. 14).
IV. Analysis of Infringement Allegations
'854 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| receiving a user request for a customized page | The "napaonline.com" website receives a user request, for example, when a user accesses the login page. | ¶28 | col. 4:1-11 |
| receiving a template program that is unique to the user...based on user configuration information being supplied by the user | The website allegedly receives a user-unique template program (e.g., JavaScript) built from user-supplied preferences, such as name and search history, to customize the webpage content. | ¶29 | col. 3:63-67 |
| wherein the template program is received from one of at least two locations, the location determined from the frequency of the user request for the customized page | User template information is allegedly retrieved from multiple locations (e.g., main server, browser local storage, cookies), with the retrieval location purportedly determined by access frequency. | ¶31 | col. 6:49-59 |
| receiving an advertisement selected in accordance to the user demographic information | The website provides advertisements to users based on demographic information such as their geography and interests. | ¶32 | col. 5:39-45 |
| executing the template program using the selected advertisement to generate the customized page | JavaScript templates are allegedly executed with the selected advertisement integrated to generate the final customized page for the user. | ¶33 | col. 4:4-11 |
| providing the customized page to the user | The Accused Instrumentality provides the user's browser with the final, customized webpage that includes the integrated advertisements. | ¶34 | col. 4:4-11 |
- Identified Points of Contention:
- Technical Question: What evidence does the complaint provide that the Accused Instrumentality determines the retrieval location for a "template program" (e.g., server vs. local cookie) based specifically on the frequency of the user's requests, as required by the claim?
- Scope Question: Does the accused system's use of client-side JavaScript, browser cookies, and local storage constitute "receiving a template program" in the manner contemplated by the patent, which describes a server-side architecture where a template is stored in a server cache or configuration database?
'227 Patent Infringement Allegations
| Claim Element (from Independent Claim 2) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| obtaining user preferences, wherein a user's user preferences indicate items of interest to that user | The website obtains user preferences when a user customizes their location to find nearby stores or specifies vehicle details for parts searches. A screenshot shows the interface for setting a location preference (Compl. p. 21). | ¶44 | col. 4:26-28 |
| obtaining real-time information from information sources | The website obtains currently available automotive parts information from a multitude of databases. | ¶45 | col. 4:43-45 |
| storing the real-time information in a storage device | The parts availability information is allegedly stored, at least temporarily, on the "napaonline.com" web server, API server, or the user's computer. | ¶45 | col. 2:8-12 |
| combining the user preferences for the user and a template to form a template program specific to the user | The website allegedly combines user preferences (e.g., login information, search terms) with a generic webpage template to create a unique, executable template program. The complaint provides a screenshot of website source code described as a "General template used to generate webpage" (Compl. p. 26). | ¶46 | col. 4:46-52 |
| receiving, from a user and at the server, a user request for a customized page customized according to the user preferences | The "napaonline.com" web server receives a user request for a customized page when a user logs in or inputs search parameters. | ¶47 | col. 3:15-18 |
| executing the template program specific to the user using the real-time information stored in the storage device...to generate the customized page | The website code is executed using the stored real-time parts availability information to generate a webpage displaying customized content like the user's name and relevant search results. | ¶48 | col. 4:4-11 |
| providing the user with the customized page...performed in real-time response to the receipt of the user request | The website provides the customized webpage to the user in real-time after receiving the login or search request. | ¶49 | col. 1:51-52 |
- Identified Points of Contention:
- Scope Question: Does the temporary caching of product data on a web server or in a browser during a user session qualify as "storing the real-time information in a storage device" as that phrase is used in the patent, where the specification emphasizes a local, shared server memory designed to eliminate all external data requests?
- Technical Question: Does the accused website's "template" function as claimed? The complaint suggests a generic template is combined with user preferences, while the patent describes generating a user-specific template file from a global template and a separate user configuration record. The operational distinction between these two approaches may be a point of dispute.
V. Key Claim Terms for Construction
For the '854 Patent
- The Term: "template program ... received from one of at least two locations, the location determined from the frequency of the user request"
- Context and Importance: This limitation is critical because it requires not just storage in multiple locations, but a specific logic (frequency of use) for determining the retrieval source. Practitioners may focus on this term because the plaintiff will need to provide evidence that the accused system employs this specific frequency-based retrieval logic, which may be difficult to ascertain from public-facing information alone.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claim language itself does not specify the nature of the "locations" (e.g., server-side vs. client-side).
- Evidence for a Narrower Interpretation: The specification provides a specific example where, for "infrequent users, the user template is stored in a user configuration database, whereas for frequent users the user template may also be stored in cache" (’854 Patent, col. 6:51-59). This suggests the "locations" are server-side components (database vs. cache) and could be used to argue against an interpretation that includes client-side storage like browser cookies.
For the '227 Patent
- The Term: "storing the real-time information in a storage device"
- Context and Importance: The definition of this term is central to whether the accused website's architecture infringes. The defendant may argue its system, which likely relies on modern API calls and transient caching, does not "store" "real-time information" in the manner required by the patent, which was designed to eliminate such external calls.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claim language uses the general term "a storage device," which could be argued to cover any form of temporary data storage on a server or even a client.
- Evidence for a Narrower Interpretation: The Abstract states "With the live data stored in a local, shared memory, any custom page can be built within the page server, eliminating the need to make requests from other servers." The specification further clarifies that "in many computer systems, it is faster to store all the live data in RAM" (’227 Patent, col. 2:13-15). This evidence supports a narrower construction limiting the "storage device" to a persistent, server-side shared memory cache, likely in RAM.
VI. Other Allegations
- Indirect Infringement: The complaint's formal counts are for "Direct Infringement" only (Compl. ¶¶27, 43, 59, 76, 90). No specific facts are alleged to support inducement or contributory infringement.
- Willful Infringement: The complaint does not contain a separate count for willful infringement and does not allege any facts related to pre-suit knowledge of the patents. It alleges only "constructive notice" (e.g., Compl. ¶36). However, the prayer for relief requests that damages be trebled as a result of "Defendant's willful infringement" (Compl. p. 81, ¶g).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of architectural scope: Can the claims, which originate from a 1997 application describing a relatively monolithic, server-centric architecture with a local shared RAM cache for all "live data," be construed to cover a modern, distributed e-commerce website that relies on client-side scripting, browser storage, and real-time API calls to external services and databases?
- A second key issue will be evidentiary proof of function: Can the Plaintiff provide sufficient technical evidence to demonstrate that the Accused Instrumentality performs the specific functions required by the claims? For instance, does the website actually determine where to retrieve user data based on the frequency of a user's requests ('854 patent), or does it truly "store" "real-time information" in a manner consistent with the patent's goal of eliminating external server calls ('227 patent)?
Analysis metadata