DCT
1:20-cv-00864
Digi Portal LLC v. Marriott Intl Inc
Key Events
Complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Digi Portal LLC (Texas)
- Defendant: Marriott International, Inc. (Delaware)
- Plaintiff’s Counsel: Chong Law Firm, P.A.
- Case Identification: 1:20-cv-00864, D. Del., 06/28/2020
- Venue Allegations: Venue is alleged to be proper in the District of Delaware because Defendant is a Delaware corporation and therefore resides in the district.
- Core Dispute: Plaintiff alleges that Defendant’s Marriott.com website infringes five U.S. patents related to the dynamic generation of customized web pages.
- Technical Context: The patents address foundational methods for efficiently personalizing web content for individual users by combining user-specific templates with real-time data, a core technology for modern e-commerce and user-centric web platforms.
- Key Procedural History: The five patents-in-suit are part of an extensive patent family originating from a 1997 application and share a common specification. The complaint notes that during prosecution, the patentee distinguished the inventions from the prior art based on unconventional features such as storing user-customized templates in multiple locations determined by access frequency. The complaint also asserts that patents in this family have been cited during the prosecution of over 700 other patents and applications.
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-06-28 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 8,352,854 - Dynamic Page Generator
- Issued: January 8, 2013
The Invention Explained
- Problem Addressed: The patent’s background section describes the technical challenge of personalizing web pages for many simultaneous users without succumbing to performance issues (Compl. ¶¶ 12-13; ’854 Patent, col. 1:42-43). Prior art methods, such as executing CGI scripts that poll multiple external servers for data, were described as not scaling well and creating unacceptable delays for users (Compl. ¶14; ’854 Patent, col. 1:43-58). Another approach, continually streaming data to be stored locally on the user’s machine, was said to clog networks and result in outdated information (Compl. ¶15; ’854 Patent, col. 1:59-67).
- The Patented Solution: The invention proposes a system where a user-specific "template" is generated based on user preferences and combined with "live data" (e.g., stock quotes, news) that is stored in a "shared memory" local to the page server itself (’854 Patent, Abstract; col. 4:49-58). This architecture is designed to allow a custom page to be built entirely within the page server, avoiding slow external data requests (’854 Patent, col. 4:1-11). The system also introduces a method of storing these user templates in one of at least two locations (e.g., a fast-access cache or a larger database), with the retrieval location determined by the frequency of the user's requests (Compl. ¶¶ 20-21; ’854 Patent, col. 6:49-59).
- Technical Importance: This architecture provided a method for serving highly scalable, personalized web pages with real-time data, which was a critical capability for the first generation of large-scale personalized web portals (Compl. ¶12).
Key Claims at a Glance
- The complaint asserts independent claims 1, 8, and 15, as well as dependent claims 2 and 9 (Compl. ¶27).
- Independent Claim 1, a method claim, includes the following essential elements:
- Receiving a user request for a customized page.
- Receiving a template program unique to the user from one of at least two locations, where the location is determined from the frequency of the user request.
- Receiving an advertisement selected in accordance with the user demographic information.
- Executing the template program using the selected advertisement to generate the customized page.
- Providing the customized page to the user.
U.S. Patent No. 5,983,227 - Dynamic Page Generator
- Issued: November 9, 1999
The Invention Explained
- Problem Addressed: The complaint states that the ’227 Patent shares an identical specification with the ’854 Patent, and it therefore addresses the same technical problems of scalability and performance in generating customized web pages (Compl. ¶42).
- The Patented Solution: The solution is materially the same as that described for the ’854 Patent, focusing on combining user-specific templates with real-time data stored in a shared, local memory on the page server (’227 Patent, Abstract).
- Technical Importance: As the earliest issued patent in the asserted family, this patent describes a foundational architecture for delivering personalized web content at scale (Compl. ¶41).
Key Claims at a Glance
- The complaint asserts at least independent claim 2 (Compl. ¶43).
- Independent Claim 2, a method claim, includes the following essential elements:
- 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 stored real-time information to generate the customized page.
- Providing the customized page to the user in real-time response to the request.
U.S. Patent No. 7,171,414 - Dynamic Page Generator
- Issued: January 30, 2007
- Technology Synopsis: The patent shares the same specification as the ’854 Patent and addresses the same technical problem of efficiently generating customized web pages (Compl. ¶58). The prosecution history is noted to highlight the unconventional feature of "storing real-time information in a shared local storage device" to eliminate the need for requests to other servers for live data (Compl. ¶58).
- Asserted Claims: Independent claims 1 and 3 (Compl. ¶60).
- Accused Features: The complaint alleges that the Marriott.com website uses a page server to provide customized hotel search results based on user preferences, where real-time hotel information is obtained from information sources (e.g., via an API) and stored in a shared local storage device (e.g., a local web/API server) (Compl. ¶¶ 60-61).
U.S. Patent No. 7,565,359 - Dynamic Page Generator
- Issued: July 21, 2009
- Technology Synopsis: Sharing the same specification, this patent also relates to scalable, dynamic page generation (Compl. ¶77). The complaint notes that the patent examiner focused on claim limitations requiring the execution of a user-specific template program using real-time information stored in a shared local storage device, combined with combining user preferences with a generic template (Compl. ¶77).
- Asserted Claims: At least claim 10 (Compl. ¶78).
- Accused Features: The accused instrumentality is alleged to be a computer-readable medium (e.g., containing the website's code) comprising instructions for generating customized web pages according to user preferences by storing real-time information (hotel data) in a shared local storage device and storing a user-specific template program for a plurality of users (Compl. ¶¶ 78-79).
U.S. Patent No. 9,626,342 - Dynamic Page Generator
- Issued: April 18, 2017
- Technology Synopsis: This patent also shares the same core specification (Compl. ¶90). The infringement allegations focus on the method of generating a user-unique template program by combining user-specific information with a global template, and serving a customized page that includes real-time information.
- Asserted Claims: At least claim 1 (Compl. ¶91).
- Accused Features: The complaint alleges that the Marriott.com server generates a unique template program by combining user search parameters with a generic web page layout (Compl. ¶92). This template is then allegedly executed to generate a customized web page containing real-time hotel search results, which is then served to the user (Compl. ¶93, ¶96). The complaint also realleges the use of at least two storage locations for the template, determined by request frequency (Compl. ¶94).
III. The Accused Instrumentality
Product Identification
- The accused instrumentality is the Marriott.com website, including its associated servers, databases, and software code (Compl. ¶27).
Functionality and Market Context
- The Marriott.com website is a commercial platform for hotel booking and management of the "Marriott Bonvoy" loyalty program (Compl. ¶28). The complaint alleges that the website provides customized pages to users by receiving user requests (e.g., a login or search query) and generating a response based on user configuration information (e.g., location, search filters, saved preferences) (Compl. ¶¶ 28-29, 44). The complaint alleges this functionality is implemented using JavaScript, which modifies templates and designates data retrieval to render a user-specific page (Compl. ¶29). The complaint provides a screenshot of the Marriott Bonvoy login page as an example of the system receiving a user request for a customized page (Compl. p. 13). It is further alleged that user information is stored in multiple locations, including JavaScript objects, browser local storage, and browser cookies (Compl. ¶31).
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 Marriott.com system receives a user request when a user signs in to their Marriott Bonvoy account. | ¶28 | col. 3:37-39 |
| receiving a template program that is unique to the user ... from one of at least two locations, the location determined from the frequency of the user request... | The system allegedly stores template information for less frequently accessed files in main server storage and for more frequently accessed files in local storage on the user's computer (e.g., browser cache, cookies). | ¶31 | col. 6:49-59 |
| receiving an advertisement selected in accordance to the user demographic information... | Marriott.com provides advertisements to users based on demographic information such as geography and interest. | ¶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 to generate a customized user page on Marriott.com. | ¶33 | col. 4:1-11 |
| providing the customized page to the user. | The system provides the user's Marriott.com page with the advertisement integrated. | ¶34 | col. 2:50-52 |
’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 provide preferences by setting search filters, such as location, for hotel searches. The complaint provides a screenshot of various hotel search preferences that can be set by a user (Compl. p. 21). | ¶44 | col. 2:13-14 |
| obtaining real-time information from information sources... | The system obtains currently available hotel information from Marriott.com's servers and databases. The complaint provides a screenshot of HTML source code allegedly showing this retrieved hotel information (Compl. p. 23). | ¶45 | col. 2:25-31 |
| storing the real-time information in a storage device... | The real-time hotel information is allegedly stored, at least temporarily, on a Marriott.com web/API server. | ¶45 | col. 4:5-14 |
| combining the user preferences for the user and a template to form a template program specific to the user... | The system allegedly combines user-inputted search terms with a generic template to create a customized webpage displaying the user's search results. The complaint provides a screenshot of HTML source code allegedly showing a general template used to generate the web page (Compl. p. 24). | ¶46 | col. 4:1-4 |
| executing the template program specific to the user using the real-time information stored in the storage device...to generate the customized page... | The code for the website allegedly combines the template with customized data pulled based on user search inputs to create an executable program that generates the webpage. | ¶47, ¶49 | col. 4:49-52 |
| providing the user with the customized page... | The system provides the customized page showing hotels that meet the user's search requirements. | ¶50 | col. 2:50-52 |
Identified Points of Contention
- Scope Questions: A central question may be whether the term "template program," as understood in the context of the 1997 priority date, can be construed to read on the alleged modern web architecture of Marriott.com, which is described as using JavaScript, browser local storage, and server-side APIs. Further, for the ’854 patent, a dispute may arise over whether the accused system's alleged use of both server-side storage and client-side browser storage satisfies the claim limitation of receiving a template from "one of at least two locations," where the retrieval location is "determined from the frequency of the user request."
- Technical Questions: The complaint alleges a specific architectural flow where a "template program" is formed by combining preferences and a template, and is then executed. A technical question for the court will be whether the evidence shows that Marriott.com's system follows this specific sequence, or if it employs a more conventional architecture where user preferences are simply used as parameters for a database query whose results are rendered into a standard page layout without the intermediate creation of a "template program specific to the user."
V. Key Claim Terms for Construction
Key Term: "template program"
- Context and Importance: This term appears in the asserted claims of multiple patents and is central to the patented invention. Its construction will be critical in determining whether the software architecture of the Marriott.com website, which allegedly uses JavaScript and dynamic data calls, falls within the scope of an invention conceived in the late 1990s. Practitioners may focus on this term because the defendant may argue that its modern, dynamic web application does not use a "template program" in the manner described in the patent's specification.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification describes the template as containing "the information about the user which does not change until the user changes his or her preferences" (’227 Patent, col. 5:25-29). This could support an interpretation covering any set of user-specific instructions and data structures used to build a page.
- Evidence for a Narrower Interpretation: The patent provides a specific example of a "user template" which is a complete HTML document with embedded placeholders for dynamic data (’227 Patent, Fig. 4; Appendix A). This could support a narrower construction limited to a pre-generated, file-based template, which may differ from the accused system's alleged on-the-fly JavaScript rendering.
Key Term: "receiving a template program ... from one of at least two locations, the location determined from the frequency of the user request" (’854 Patent, Claim 1)
- Context and Importance: This limitation defines a specific caching and retrieval mechanism that the plaintiff alleges is a key unconventional feature of the invention. The infringement analysis for the ’854 patent will likely depend heavily on whether the architecture of Marriott.com matches this description.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent discusses storing templates in a server-side cache for frequent users to reduce response time, which is functionally analogous to storing data in a browser cache for subsequent visits (’854 Patent, col. 5:20-25). A party could argue that any system using two storage tiers with different performance characteristics based on access frequency meets this definition.
- Evidence for a Narrower Interpretation: The patent specification describes this process in the context of a server-side architecture, where the choice is between retrieving a template from a server-side cache ("cache 214") or generating it from a user configuration database (’854 Patent, col. 4:40-52; Fig. 2). A party could argue the claim is limited to this server-centric model and does not read on a distributed model involving client-side browser storage.
VI. Other Allegations
Indirect Infringement
- The complaint does not contain explicit counts for indirect infringement (inducement or contributory infringement) and focuses its allegations on direct infringement by Defendant.
Willful Infringement
- The complaint does not explicitly allege willful infringement. For each asserted patent, it alleges that the Defendant has had "at least constructive notice" by operation of law, but does not allege pre-suit knowledge of the patents (Compl. ¶¶ 36, 52, 71, 84, 98).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of architectural equivalence: does the accused Marriott.com system, which allegedly uses a modern web stack of JavaScript, APIs, and client-side storage, implement the specific server-centric architecture described in the 1997-era patents? Specifically, does it create and execute a "template program" and retrieve it from one of two locations based on request frequency in the manner claimed?
- A central question will be one of claim construction: can the term "template program," rooted in the patent's depiction of a pre-formatted HTML file with placeholders, be construed broadly enough to encompass the dynamic scripts and data structures allegedly used by a modern, interactive web application like Marriott.com?
- A key evidentiary question will be one of functional proof: what technical evidence will be presented to demonstrate that the accused system performs the claimed step of combining user preferences with a generic template to form a distinct "template program specific to the user" before that program is executed, as opposed to a system where user preferences are simply used as inputs to a database query whose results are rendered into a standard layout?