1:19-cv-01778
Digi Portal LLC v. Zomato USA LLC
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Digi Portal LLC (Texas)
- Defendant: Zomato USA, LLC (Delaware)
- Plaintiff’s Counsel: Stamoulis & Weinblatt LLC
- Case Identification: 1:19-cv-01778, D. Del., 09/22/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 in the district.
- Core Dispute: Plaintiff alleges that Defendant’s zomato.com website infringes five patents related to the dynamic generation of customized web pages based on user-specific information.
- Technical Context: The technology at issue addresses methods for efficiently creating and serving personalized web pages, a foundational technology for modern e-commerce and content platforms.
- Key Procedural History: The asserted patents originate from a patent family first assigned to Yahoo! Inc. The complaint highlights aspects of the prosecution history, arguing that certain features—such as storing user templates in different locations based on access frequency—were recognized by patent examiners as unconventional improvements over the prior art.
Case Timeline
| Date | Event |
|---|---|
| 1997-06-12 | Earliest Priority Date ('854, '227, '414, '359, '342 Patents) |
| 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-09-22 | 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. 8352854, "Dynamic Page Generator", issued January 8, 2013.
- The Invention Explained:
- Problem Addressed: The patent describes the technical challenges of early dynamic websites. Prior art methods, such as executing CGI scripts to poll multiple external data servers (e.g., for stocks, sports, weather), were slow and did not scale well to handle many users simultaneously, leading to user frustration. Other methods involving non-real-time data transfers to the user's local machine resulted in clogged networks and outdated information (Compl. ¶¶14-16; ’854 Patent, col. 1:42-2:2).
- The Patented Solution: The invention proposes a more efficient server-side architecture. It generates a "user template" based on a user's specific preferences (e.g., favorite sports teams, stocks) and a "global front page template." To generate the final customized page, this user template is populated with live data (e.g., current stock prices, game scores) that is stored locally on the page server in a "shared memory" region. This architecture avoids repeated, slow calls to external data sources for each user request, allowing for faster and more scalable page generation (Compl. ¶17; ’854 Patent, Fig. 2; col. 4:1-11). The patent also discloses storing user templates in different locations—a main database or a faster cache—based on how frequently a user accesses their page, further optimizing performance (Compl. ¶20; ’854 Patent, col. 6:49-59).
- Technical Importance: This server-centric approach of pre-aggregating live data and using multi-tiered template storage represented a method to overcome the bandwidth and processing limitations of the late 1990s internet infrastructure. (Compl. ¶24).
- Key Claims at a Glance:
- The complaint asserts independent claims 1 and 8 (Compl. ¶27).
- Essential elements of independent claim 1 (method):
- Receiving a user request for a customized page.
- Receiving a template program unique to the user, based on user configuration information (including demographics), where the template is received from one of at least two locations determined by the frequency of the user request.
- Receiving an advertisement selected based on the user demographic information.
- Executing the template program using the advertisement to generate the customized page.
- Providing the customized page to the user.
- The complaint also asserts dependent claims 2, 9, and 15 (Compl. ¶27).
U.S. Patent No. 5,983,227 - "Dynamic Page Generator"
- Patent Identification: U.S. Patent No. 5983227, "Dynamic Page Generator", issued November 9, 1999.
- The Invention Explained:
- Problem Addressed: As the parent patent in this family, the '227 Patent addresses the same technical problems of scalability and performance for customized websites as the '854 Patent (Compl. ¶43; ’227 Patent, col. 1:30-58).
- The Patented Solution: The ’227 Patent discloses the same core architecture involving a page server that obtains user preferences, retrieves real-time information from various sources, stores that information in a local storage device (like a shared memory), and then uses a template program to combine the user preferences and real-time data to generate a customized page for the user in real-time (Compl. ¶44; ’227 Patent, Abstract; col. 2:1-14).
- Technical Importance: The invention provided a method for websites to offer rich personalization at scale without the significant performance degradation common in the early commercial internet era. (Compl. ¶44).
- 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 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 in real-time response to the user request.
- The complaint does not explicitly reserve the right to assert other claims of the '227 Patent.
U.S. Patent No. 7,171,414 - "Dynamic Page Generator"
- Patent Identification: U.S. Patent No. 7171414, "Dynamic Page Generator", issued January 30, 2007.
- Technology Synopsis: This patent, sharing the same specification, focuses on a method for providing a customized page where 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. This allows for optimization by storing frequently accessed templates in faster, more accessible locations like a local cache (Compl. ¶¶61, 63; '414 Patent, col. 4:49-62).
- Asserted Claims: Independent claims 1 and 3 (Compl. ¶64).
- Accused Features: The Zomato.com server is accused of providing customized pages based on user preferences and storing user-specific template programs in a data structure associated with a user identifier (Compl. ¶¶64, 68).
U.S. Patent No. 7,565,359 - "Dynamic Page Generator"
- Patent Identification: U.S. Patent No. 7565359, "Dynamic Page Generator", issued July 21, 2009.
- Technology Synopsis: This patent claims a computer-readable medium with instructions for generating customized pages. The claims focus on the combination of receiving user preferences, combining them with a generic template to form a user-specific template, and executing that template using real-time information stored in a shared local storage device (Compl. ¶¶82, 83).
- Asserted Claims: At least claim 10 (Compl. ¶84).
- Accused Features: The Zomato.com website is accused of utilizing computer-readable media with instructions to generate customized pages based on user preferences (e.g., location, bookmarks) and real-time information (e.g., restaurant listings) (Compl. ¶¶84, 85).
U.S. Patent No. 9,626,342 - "Dynamic Page Generator"
- Patent Identification: U.S. Patent No. 9626342, "Dynamic Page Generator", issued April 18, 2017.
- Technology Synopsis: This patent claims a method of generating a template program unique to a user by combining user-specific customization information with a global template. The generated page includes real-time information selected based on that customization information (e.g., user location, past searches) (Compl. ¶¶99, 102).
- Asserted Claims: Claims 1 and 7 (Compl. ¶101).
- Accused Features: The Zomato.com platform is accused of generating a unique template program for each user to create a customized webpage by combining user-specific information (location, bookmarks) with a generic global template (Compl. ¶102).
III. The Accused Instrumentality
- Product Identification: The accused instrumentality is the Zomato.com website and its underlying systems ("Accused Instrumentality") (Compl. ¶27).
- Functionality and Market Context: The complaint alleges that Zomato.com operates as a service for discovering restaurants and nightlife, providing customized pages to users. A user supplies configuration information either actively (e.g., setting a location, bookmarking a restaurant, following a reviewer) or passively (e.g., demographic data). The system then generates a webpage unique to that user, displaying restaurant listings, reviews, and advertisements tailored to their preferences and location (Compl. ¶¶29, 31, 46). The complaint includes a screenshot showing that a user searching for nightlife in New York sees different results than a user searching in Chicago, demonstrating the customization (Compl. ¶30, pp. 16-17). It is also alleged that the system stores template information in different locations (e.g., main server storage versus local storage on the user's computer, such as in cookies or browser storage) based on the frequency of user access (Compl. ¶33).
IV. Analysis of Infringement Allegations
'854 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| a method for providing a customized page to a user, the method comprising: receiving a user request for a customized page; | The Zomato.com system receives a user request when a user signs up, logs in, or navigates to the website to receive a customized page. The complaint provides a screenshot of the Zomato login/signup page as an example of receiving a user request (Compl. ¶28, p. 13). | ¶28 | col. 4:1-5 |
| receiving a template program that is unique to the user and based on user configuration information supplied by the user... | The system receives a template program (e.g., JavaScript files and data) that is unique to the user, built from user-supplied information such as location, bookmarks, and profile data. | ¶29 | col. 3:3-9 |
| wherein the user configuration information includes user demographic information; | The user configuration information allegedly includes demographic data such as name, address, and postal code, which is used to build the template program. | ¶32 | col. 5:39-45 |
| 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; | The template program is allegedly retrieved from either main server storage (for less frequent access) or local storage on the user's computer (e.g., cookies, local browser storage) for more frequent access. | ¶33 | col. 6:49-59 |
| receiving an advertisement selected in accordance to the user demographic information; | The Zomato.com system is alleged to provide targeted advertisements to users based on demographic information such as gender, language, postal code, and geography. A screenshot shows an integrated advertisement on a Zomato page (Compl. ¶36, p. 24). | ¶34 | col. 5:39-42 |
| executing the template program using the selected advertisement to generate the customized page; | The system allegedly executes JavaScript templates using the selected advertisement to generate a customized Zomato.com page with the advertisement integrated into it. | ¶35 | col. 5:23-26 |
| and providing the customized page to the user. | The system provides the final customized page, which includes integrated advertisements, to the user's browser for display. | ¶36 | col. 5:27-28 |
'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 Zomato system obtains user preferences such as location, favorite bookmarks, and followed reviewers, which indicate items of interest to the user. | ¶46 | col. 2:5-7 |
| obtaining real-time information from information sources; | The system obtains real-time information, such as available restaurants and advertisements, from its own servers and databases as well as third-party sources like Google. | ¶50 | col. 2:8-10 |
| storing the real-time information in a storage device; | This real-time information is allegedly stored in a storage device, such as a server or database, to be used as input for generating the customized page. | ¶50 | col. 2:11-12 |
| combining the user preferences for the user and a template to form a template program specific to the user; | Zomato allegedly combines the specific user's preference information with a generic global template to form a customized template program (e.g., a JavaScript page) unique to that user. | ¶51 | col. 2:13-15 |
| receiving, from a user and at the server, a user request for a customized page customized according to the user preferences; | The system receives a user request, such as a login, and delivers a page where content (searches, reviews, ads) is customized based on the user's stored preferences. | ¶52 | col. 4:1-5 |
| executing the template program specific to the user using the real-time information stored in the storage device as input... to generate the customized page; | The system executes the user-specific template program, using the stored real-time restaurant listings and advertisements as input, to generate the final customized webpage. | ¶53 | col. 4:6-9 |
| and providing the user with the customized page... | The system provides the generated customized page, containing real-time information, to the user's browser. | ¶54 | col. 4:9-11 |
- Identified Points of Contention:
- Scope Questions: A central question may be whether Zomato's modern web architecture, which allegedly relies on client-side JavaScript, browser storage, and CDNs (Compl. ¶¶29, 33), constitutes the claimed "page server" that generates a page using a local "shared memory," as described in the patents' 1990s-era server-centric context ('854 Patent, col. 4:1-11). The defense may argue a fundamental architectural mismatch.
- Technical Questions: The complaint alleges that Zomato stores template information in different locations based on access frequency (Compl. ¶33). A key factual question will be what evidence demonstrates that this storage logic (e.g., server vs. browser cookie) is directly analogous to the patent's specific teaching of moving a template between a "user configuration database" and a server-side "cache" based on access frequency ('854 Patent, col. 6:49-59).
V. Key Claim Terms for Construction
The Term: "template program"
Context and Importance: This term appears in claims across multiple asserted patents and is foundational to the infringement theory. Whether Zomato's combination of JavaScript files, data objects, and browser-side code (Compl. ¶29, 33) meets the definition of the claimed "template program" will be a critical point of dispute.
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification describes the template as containing "information about the user which does not change until the user changes his or her preferences" ('854 Patent, col. 5:25-28), which could support interpreting it as any set of user-specific instructions and data structures used for rendering a page.
- Evidence for a Narrower Interpretation: The specification provides specific examples of the "template program" as a single, HTML-like text file containing special tags and user-specific variables (e.g.,
<!-- ad:M,85,95035,T,* 792 -->) ('854 Patent, Fig. 4; col. 5:33-48). This may support a narrower construction limited to a specific type of server-side data structure, rather than a collection of distributed client-side and server-side assets.
The Term: "received from one of at least two locations, the location determined from frequency of the user request"
Context and Importance: This limitation is highlighted in the complaint as an unconventional feature that distinguishes the invention from the prior art (Compl. ¶24). The infringement argument hinges on mapping Zomato's use of server-side and client-side (browser) storage to these "two locations."
Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent describes the motivation as improving efficiency, stating that "caching reduces the time to respond to a request" ('854 Patent, col. 5:29-30). This purpose-driven language could support an interpretation that covers any two-tiered storage system (e.g., remote server and local browser cache) that improves performance.
- Evidence for a Narrower Interpretation: The specification describes a specific implementation where templates for "infrequent users" are stored in a "user configuration database," while for "frequent users the user template may also be stored in cache" ('854 Patent, col. 6:51-59). This suggests both "locations" may be part of the server-side infrastructure, which could create a mismatch with the complaint's theory of server-side vs. client-side storage (Compl. ¶33).
VI. Other Allegations
The complaint does not contain explicit counts or allegations for indirect or willful infringement. It alleges that Defendant has had at least "constructive notice" of the patents by operation of law (Compl. ¶¶38, 56, 77, 94, 113).
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of architectural equivalence: can the infringement allegations be sustained if Zomato's accused system—a modern, distributed web application relying heavily on client-side JavaScript and browser storage—is found to operate in a fundamentally different manner than the server-centric, shared-memory architecture described and claimed in the 1990s-era patents?
- The case will also turn on a key question of definitional scope: will the term "template program," which the patent illustrates as a specific type of annotated text file, be construed broadly enough to encompass the collection of JavaScript files, data objects, and browser cookies that allegedly constitute the "template program" in the accused Zomato system?
- A central factual question will be one of functional mapping: does the complaint's theory that Zomato's use of server-side versus client-side (browser) storage constitutes receiving a template from "one of at least two locations" based on "frequency of the user request" accurately map onto the specific two-tiered server-side storage system (database vs. cache) disclosed in the patent's specification?