1:19-cv-01625
Digi Portal LLC v. Trulia LLC
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Digi Portal LLC (Texas)
- Defendant: Trulia, LLC (Delaware)
- Plaintiff’s Counsel: Stamoulis & Weinblatt LLC
- Case Identification: 1:19-cv-01625, D. Del., 08/29/2019
- Venue Allegations: Venue is alleged to be proper in the District of Delaware because Defendant is a Delaware limited liability company and has allegedly committed acts of infringement within the district.
- Core Dispute: Plaintiff alleges that Defendant’s Trulia.com website infringes five patents related to the dynamic generation of customized web pages.
- Technical Context: The technology addresses methods for efficiently serving personalized web pages by combining user-specific data, page templates, and real-time information, a foundational concept for modern web portals and applications.
- Key Procedural History: The asserted patents, all titled "Dynamic Page Generator," share a common specification and claim priority to an application filed in 1997. The patents were originally assigned to Yahoo! Inc. The complaint notes that patents from this family have been cited during the prosecution of over 700 patents owned by various technology companies.
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 |
| 2019-08-29 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 8,352,854 - "Dynamic Page Generator"
- Patent Identification: U.S. Patent No. 8,352,854, "Dynamic Page Generator," issued January 8, 2013.
The Invention Explained
- Problem Addressed: The patent describes that prior art methods for serving customized web pages, such as executing Common Gateway Interface (CGI) scripts, did not scale well and introduced delays by polling various external servers for live data (e.g., stock quotes, sports scores) for each user request (’854 Patent, col. 1:42-58). Other approaches that stored custom information locally on a user's machine could clog networks and present outdated information ('854 Patent, col. 1:59-67).
- The Patented Solution: The invention proposes a system where a "user template" is generated by combining a "global front page template" with a user's specific "configuration record" ('854 Patent, col. 3:58-62; Fig. 2). This user template is then populated with live data that is stored locally on the page server itself in a "shared memory" component, which eliminates the need for repeated, time-consuming calls to external data servers for each page request ('854 Patent, col. 4:1-11). To improve efficiency, the system can store the user template in different locations, such as a cache for frequent users, based on the user's request frequency ('854 Patent, col. 6:49-59).
- Technical Importance: This architecture provided a more scalable and efficient method for creating personalized web portals during a period of rapid internet growth, moving beyond slow, resource-intensive customization techniques ('854 Patent, col. 1:26-30).
Key Claims at a Glance
- The complaint asserts independent claims 1 and 8, along with dependent claims 2-3, 9-10, and 15 (Compl. ¶27).
- Essential Elements of Independent Claim 1 (Method):
- receiving a user request for a customized page;
- receiving a template program that is unique to the user and based on user configuration information supplied by the user, where the user configuration information includes user demographic information, and where the template program is received from one of at least two locations determined from the frequency of the user request;
- receiving an advertisement selected in accordance to the user demographic information;
- executing the template program using the selected advertisement to generate the customized page; and
- providing the customized page to the user.
U.S. Patent No. 5,983,227 - "Dynamic Page Generator"
- Patent Identification: U.S. Patent No. 5,983,227, "Dynamic Page Generator," issued November 9, 1999.
The Invention Explained
- Problem Addressed: As the parent patent in the asserted family, the ’227 Patent addresses the same technical problems as the '854 Patent: the inefficiency and lack of scalability in prior art systems for generating customized web pages ('227 Patent, col. 1:30-49).
- The Patented Solution: The '227 Patent discloses the same architectural solution, centered on combining a user-specific "template program" with "real-time information" stored locally in a shared memory or storage device on the page server, thereby generating a custom page without slow external data calls for each request ('227 Patent, col. 1:6-14; Fig. 2).
- Technical Importance: This invention was a foundational approach to enabling large-scale, personalized web services like "My Yahoo!" by improving the speed and efficiency of custom page delivery ('227 Patent, col. 1:14-18).
Key Claims at a Glance
- The complaint asserts at least independent claim 2 (Compl. ¶45).
- Essential Elements of Independent Claim 2 (Method):
- obtaining user preferences, wherein a user's user preferences indicate items of interest to that user;
- obtaining real-time information from information sources;
- storing the real-time information in a storage device;
- combining the user preferences for the user and a template to form a template program specific to the user;
- receiving, from a user and at the server, a user request for a customized page customized according to the user preferences;
- executing the template program using the real-time information stored in the storage device as input to generate the customized page; and
- providing the user with the customized page, wherein the steps of executing and providing are performed in real-time response to receipt of the user request.
Multi-Patent Capsules
Patent Identification: U.S. Patent No. 7,171,414, "Dynamic Page Generator," issued January 30, 2007.
Technology Synopsis: Sharing the same specification as the other asserted patents, the ’414 Patent relates to dynamically generating customized web pages. The complaint alleges that unconventional features include "storing real-time information in a shared local storage device" and receiving a template program from at least two locations, with the retrieval location determined by the frequency of user requests (Compl. ¶¶62-63).
Asserted Claims: At least independent claims 1 and 3 (Compl. ¶64).
Accused Features: The Trulia.com website is accused of infringing by providing customized pages based on user preferences, obtaining and storing real-time information (e.g., property listings) in a shared local storage device, and storing user-specific template programs tied to a user identifier (Compl. ¶¶65-68).
Patent Identification: U.S. Patent No. 7,565,359, "Dynamic Page Generator," issued July 21, 2009.
Technology Synopsis: This patent also shares the common specification focused on scalable, dynamic page generation. The complaint notes that during prosecution, the examiner focused on the novelty of executing a user-specific template with real-time information from a shared local storage device and combining user preferences with a generic template to form that user-specific template (Compl. ¶83).
Asserted Claims: At least independent claim 10 (Compl. ¶84).
Accused Features: The accused features include Trulia's use of a computer-readable medium with instructions for generating user-specific web pages, storing real-time information in a shared local storage device, and storing user-specific template programs that are associated with a user identifier for subsequent retrieval (Compl. ¶¶84-86).
Patent Identification: U.S. Patent No. 9,626,342, "Dynamic Page Generator," issued April 18, 2017.
Technology Synopsis: As the most recent patent in the asserted family, the ’342 patent also addresses efficient and scalable generation of customized web content using the same underlying technical disclosure (Compl. ¶100).
Asserted Claims: At least independent claims 1 and 7 (Compl. ¶101).
Accused Features: Trulia's system is accused of generating a unique template program for each user by combining customization information with a global template. This program is then allegedly executed on a server using real-time information to generate and serve the customized web page, which is received from one of at least two locations depending on request frequency (Compl. ¶¶102, 106).
III. The Accused Instrumentality
- Product Identification: The Trulia.com website and its underlying server infrastructure ("Accused Instrumentality") (Compl. ¶27).
- Functionality and Market Context: The complaint alleges that Trulia.com is a real estate website that provides users with customized pages showing property listings and related information (Compl. ¶¶28-30). Users can define preferences such as location, price, and property type, and can save searches or favorite homes (Compl. ¶¶31, 46). The complaint alleges that based on this user-supplied configuration information, Trulia.com generates unique pages for each user that display relevant property listings and targeted advertisements (Compl. ¶¶30, 34). The complaint provides screenshots contrasting the experience of a "First User" searching in New York with a "Second User" searching in Seattle to illustrate this user-specific customization (Compl. pp. 16-17). A screenshot depicting a property listing page is presented as evidence of a customized page with an integrated advertisement (Compl. p. 22).
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 Trulia.com website receives a user request when a user accesses the site or performs a search. | ¶28 | col. 3:37-39 |
| receiving a template program that is unique to the user and based on user configuration information supplied by the user... wherein the template program is received from one of at least two locations, the location determined from the frequency of the user request... | Trulia.com allegedly uses JavaScript pages and data unique to a user, based on user-supplied information like location. This template information is allegedly stored in main server storage or local user storage (e.g., cookies) based on access frequency. | ¶¶29, 33 | col. 4:49-62 |
| receiving an advertisement selected in accordance to the user demographic information; | Trulia.com allegedly provides targeted advertisements to users based on demographic information such as geography and interests. | ¶34 | col. 5:39-45 |
| executing the template program using the selected advertisement to generate the customized page; and | The alleged JavaScript templates use the selected advertisement as an input to generate the final customized webpage for the user. | ¶35 | col. 5:32-36 |
| providing the customized page to the user. | The Trulia.com website provides the generated page, which includes integrated advertisements, to the user's browser. | ¶36 | col. 4:1-4 |
'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; | Users of Trulia.com can customize their experience by setting preferences for location, price, beds, and other items of interest. | ¶46 | col. 2:13-14 |
| obtaining real-time information from information sources; | Trulia.com's servers allegedly obtain current property listings and advertisements from internal databases and external sources like the Google ad server. | ¶50 | col. 1:47-51 |
| storing the real-time information in a storage device; | The obtained real-time information is allegedly pulled from storage servers and stored, at least temporarily, at a local web/API server for processing. | ¶50 | col. 4:43-45 |
| combining the user preferences for the user and a template to form a template program specific to the user; | Trulia allegedly uses the user's preference information combined with a generic, global template to form a customized JavaScript page unique to that user. | ¶51 | col. 3:58-62 |
| receiving, from a user and at the server, a user request for a customized page customized according to the user preferences; | The server receives a user request, such as a login or search initiation, for a page that will be customized according to that user's preferences. | ¶52 | col. 4:6-8 |
| executing the template program specific to the user using the real-time information stored in the storage device as input to the template program to generate the customized page; and | The alleged user-specific template program (e.g., page generation code) uses the stored real-time property listings and advertisements as input to generate the final customized page. | ¶53 | col. 4:1-4 |
| providing the user with the customized page, wherein the steps of executing and providing are performed in real-time response to receipt of the user request... | Trulia.com provides the final, customized page with integrated advertisements and listings to the user's browser in response to the user's request. | ¶54 | col. 2:40-41 |
- Identified Points of Contention:
- Scope Questions: A central question for all asserted patents may be whether Trulia's modern, JavaScript-based web architecture falls within the scope of the terms "template program" and "user template" as described in the patents' 1997-era specification. The patents describe templates as HTML documents with special tags, whereas the complaint alleges infringement via JavaScript code, objects, and data structures (Compl. ¶29, ¶33). The complaint presents a screenshot of minified JavaScript code as evidence of the template program and its storage (Compl. p. 21).
- Technical Questions: Another key technical question relates to the "storing...in a storage device" limitation ('227 Patent) and the patent family's emphasis on a "shared memory" architecture ('854 Patent, col. 4:1-11). The complaint alleges Trulia stores real-time data on a "local web/API server" (Compl. ¶50). It raises the question of whether this architecture is technically equivalent to the "closely coupled" shared memory system described in the patents as the solution to the prior art's problem of making slow, remote server calls.
V. Key Claim Terms for Construction
The Term: "template program" / "user template"
Context and Importance: This term is the core of the asserted claims. Its construction will be critical to determining whether the accused Trulia.com system, which allegedly uses JavaScript files, objects, and browser-side storage (Compl. ¶¶33, 89), infringes claims rooted in a specification describing a server-side process of generating a tagged HTML file from a global template and a user configuration record ('854 Patent, Figs. 3-4, col. 5:16-35). Practitioners may focus on this term to dispute the fundamental applicability of the patent to modern web technologies.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claims themselves use the general term "template program" without specifying a particular format (e.g., HTML). Parties may argue this term should encompass any set of instructions and data structures that define the layout and content of a customized page.
- Evidence for a Narrower Interpretation: The specification provides a specific example of a "user template" as a text file containing HTML with special tags and embedded user data ('854 Patent, Fig. 4, col. 5:22-35, Appendix A). Parties may argue that the term should be limited to this disclosed embodiment or technologies structurally similar to it.
The Term: "storage device" / "shared local storage device"
Context and Importance: The patent's proposed solution to prior art delays was to store "live data" in a "shared memory" local to the page server to avoid external network calls ('854 Patent, col. 4:1-11). The construction of this term is vital because the complaint alleges infringement by a system that pulls data from "storage servers/databases" and stores it on a "web/API server" (Compl. ¶50). The dispute may turn on whether Trulia's distributed architecture is equivalent to the patent's more monolithic "shared memory" concept.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The term "storage device" is broad, and a party could argue that any server-side storage used to stage data for page generation, including an API server's memory or cache, meets this limitation.
- Evidence for a Narrower Interpretation: The specification repeatedly contrasts its solution with the prior art problem of polling "various servers" ('854 Patent, col. 1:47-52). A party could argue that "shared local storage device" must mean a memory resource that is "closely coupled to a page generator" ('227 Patent, col. 4:25-27) and distinct from a general-purpose database or storage server architecture, which it may characterize as closer to the prior art problem the patent claims to solve.
VI. Other Allegations
- Indirect Infringement: The complaint does not contain specific counts for indirect infringement. The allegations focus on Defendant's direct performance of the claimed methods and use of the claimed systems.
- Willful Infringement: The complaint does not plead facts specifically supporting pre- or post-suit willfulness, nor does it contain a separate count for willful infringement.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of definitional scope: can the term "template program," which the patent specification exemplifies as a tagged HTML file generated on a server, be construed to cover the accused instrumentality's alleged use of dynamic JavaScript code, runtime objects, and data stored in browser cookies and local storage?
- A second key issue will be one of architectural equivalence: does the accused system, which allegedly pulls data from distinct "storage servers/databases" for processing on a "web/API server," meet the claim limitations requiring "storing...real-time information in a shared local storage device," a feature described in the patent as the specific solution to the prior art's reliance on slow, external server calls?
- A third question may concern the temporal scope of "real-time": does the "real-time information" limitation, described in the context of volatile data like stock quotes and news, read on the less-frequently-updated real estate listings and advertisements at issue in the accused system?