DCT
1:20-cv-00880
Digi Portal LLC v. GasBuddy LLC
Key Events
Complaint
Table of Contents
complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Digi Portal LLC (Texas)
- Defendant: GasBuddy, LLC (Delaware)
- Plaintiff’s Counsel: Chong Law Firm, PA.
- Case Identification: 1:20-cv-00880, D. Del., 06/29/2020
- Venue Allegations: Venue is alleged to be proper as Defendant is a Delaware limited liability company.
- Core Dispute: Plaintiff alleges that Defendant’s GasBuddy.com website and service infringe five patents related to the dynamic generation of customized web pages.
- Technical Context: The technology addresses methods for efficiently generating and serving personalized web pages with real-time data, a foundational concept for large-scale, customized web portals.
- Key Procedural History: The complaint notes that the asserted patents, which share a common specification, were originally assigned to Yahoo! Inc. and claim priority back to 1997. It also highlights that patents in this family were cited during the prosecution of over 700 other patents, potentially to frame the technology as foundational in the field of web development.
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-29 | 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 a technical challenge from the early commercial web: conventional methods for creating customized web pages, such as using Common Gateway Interface (CGI) scripts, were slow and did not scale well to handle many simultaneous users (Compl. ¶14; ’854 Patent, col. 1:42-43). These methods required real-time polling of multiple external servers for data (e.g., stock quotes, weather) for each page request, causing significant delays that would deter users (Compl. ¶14; ’854 Patent, col. 1:47-58). Alternative prior art methods involving streaming data to a user’s local machine were said to clog networks and result in outdated information (Compl. ¶15; ’854 Patent, col. 1:62-67).
- The Patented Solution: The invention proposes a more efficient, scalable architecture for generating customized pages. The system first generates a "user template" by combining a global page template with a specific user's stored preferences (e.g., selected stocks, home city) (’854 Patent, Fig. 2; Compl. ¶17). This user-specific template, which contains placeholders for dynamic data, is then rapidly populated with live information that is pre-emptively stored in a fast, local "shared memory" on the page server itself (’854 Patent, col. 4:49-62). This two-step process avoids the need for the page server to make slow, external data requests for each individual user's page view, thereby increasing speed and scalability (Compl. ¶24; ’854 Patent, col. 4:1-11). The invention also discloses caching these user templates and storing them in different locations based on user access frequency to further improve performance (Compl. ¶20; ’854 Patent, col. 5:23-38).
- Technical Importance: This server-side architecture was a key enabler for the first generation of large-scale personalized web portals that needed to serve customized, data-rich content to millions of users quickly (Compl. ¶12).
Key Claims at a Glance
- The complaint asserts independent claims 1, 8, and 15, along with dependent claims 2-3 and 9-10 (Compl. ¶27).
- Independent Claim 1 (Method) includes the essential elements of:
- Receiving a user request for a customized page.
- Receiving a template program unique to the user, which is based on user-supplied configuration information that includes demographic information.
- Receiving this template program from one of at least two locations, with the specific location determined by the frequency of the user's requests.
- Receiving an advertisement selected according to the user's demographic information.
- Executing the template program with 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 Nov. 9, 1999)
The Invention Explained
- Problem Addressed: The complaint states that the ’227 Patent shares an identical specification with the ’854 Patent (Compl. ¶44). Therefore, it addresses the same problems of scalability and latency in generating customized web pages as described for the ’854 Patent (’227 Patent, col. 1:30-55).
- The Patented Solution: The solution is the same server-side architecture involving user-specific templates and a local shared memory for live data (’227 Patent, Abstract; Fig. 2). The prosecution history is cited to emphasize the unconventional nature of downloading real-time information to a server and using a template, as opposed to linking directly to the real-time source (Compl. ¶44).
- Technical Importance: As the earliest issued patent in the asserted family, it represents an early approach to solving the technical hurdles of mass web personalization (Compl. ¶43).
Key Claims at a Glance
- The complaint asserts claim 2 (Compl. ¶45).
- Claim 2 (Method) is an independent claim that includes the essential elements of:
- 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 user-specific 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.
Multi-Patent Capsule: U.S. Patent No. 7,171,414
- Patent Identification: U.S. Patent No. 7,171,414, "Dynamic Page Generator," issued Jan. 30, 2007.
- Technology Synopsis: This patent, which shares the same specification as the ’854 and ’227 Patents, discloses a method for providing customized web pages. It focuses on storing real-time data in a shared local storage device on the page server to eliminate time-consuming calls to other servers, thereby allowing pages to be built more efficiently (Compl. ¶61-62).
- Asserted Claims: Claims 1 and 3 (Compl. ¶64).
- Accused Features: The accused features include the GasBuddy.com server providing customized pages based on user preferences (e.g., location), using real-time information (gas prices) stored locally on a web/API server, and retrieving user-specific templates from different locations (server vs. local computer) based on request frequency (Compl. ¶64-65, ¶72).
Multi-Patent Capsule: U.S. Patent No. 7,565,359
- Patent Identification: U.S. Patent No. 7,565,359, "Dynamic Page Generator," issued Jul. 21, 2009.
- Technology Synopsis: Sharing the same specification, this patent is directed to a computer-readable medium containing instructions for generating customized pages. The invention combines user preferences with a generic template to form a user-specific template, which is then executed using real-time information from a shared local storage device (Compl. ¶82-83).
- Asserted Claims: Claim 10 (Compl. ¶84).
- Accused Features: The accused features involve GasBuddy's use of a computer-readable medium with instructions (e.g., code) to generate customized web pages showing gas prices near a user's location by storing real-time information on a local web/API server and storing user-specific template programs tied to a user identifier (Compl. ¶84-85).
Multi-Patent Capsule: U.S. Patent No. 9,626,342
- Patent Identification: U.S. Patent No. 9,626,342, "Dynamic Page Generator," issued Apr. 18, 2017.
- Technology Synopsis: This patent, also sharing the same specification, claims a method for responding to user requests for customized pages. The method involves generating a template program unique to the user by combining user-specific customization information with a global template, and then executing that program with real-time information to generate the final web page (Compl. ¶99-100, ¶102).
- Asserted Claims: Claim 1 (Compl. ¶101).
- Accused Features: The accused features include the GasBuddy.com system responding to user requests (e.g., login) by generating a unique template program for that user, executing it with real-time gas prices, and serving the resulting customized page from a server, with templates being retrieved from different locations based on access frequency (Compl. ¶101-102, ¶104, ¶106).
III. The Accused Instrumentality
- Product Identification: The GasBuddy.com website and its associated services (“Accused Instrumentality”) (Compl. ¶27).
- Functionality and Market Context: The Accused Instrumentality is a service that provides users with real-time fuel prices at nearby gas stations (Compl. ¶29, ¶46). The complaint alleges that users provide configuration information, such as their location via a zip code, which the system uses to generate a customized page displaying relevant gas prices (Compl. ¶29). The complaint provides a screenshot showing a user interface for searching gas prices by zip code. (Compl. p. 14). The service also allows for further personalization, such as saving "Favorite Stations," which are then displayed on a customized page for the logged-in user (Compl. ¶31). The complaint alleges that the underlying code for each user's page is updated and adapted to pull from different resources to display appropriate information for that specific user (Compl. ¶30).
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 | GasBuddy.com receives a user request, for example, when a user navigates to its login or home page. | ¶28 | col. 3:3-5 |
| receiving a template program ... that is unique to the user and based on user configuration information supplied by the user | The system receives software instructions (e.g., a JavaScript page) specific to a user, built using user-supplied information such as location. | ¶29 | col. 3:63-64 |
| wherein the user configuration information includes user demographic information | The user-supplied information includes demographic data such as the user's location. | ¶32 | col. 2:13-14 |
| wherein the template program is received from one of at least two locations, the location determined from the frequency of the user request ... | Template data is stored in main server storage for less frequent access and in local storage on the user’s computer (e.g., cookies, browser storage) for frequent access. | ¶33 | col. 5:37-38 |
| receiving an advertisement selected in accordance to the user demographic information | GasBuddy.com provides targeted advertisements to users based on demographic information such as their geography and interests. | ¶34 | col. 5:39-42 |
| executing the template program using the selected advertisement to generate the customized page | JavaScript templates are executed with the selected advertisement to generate a user's GasBuddy.com page with the advertisement integrated. | ¶35 | col. 4:1-5 |
| providing the customized page to the user | The system provides the user with the final, generated GasBuddy.com page containing integrated advertisements. | ¶36 | col. 3:5-7 |
- Identified Points of Contention:
- Scope Questions: A central question may be whether the term "template program", which the patent exemplifies as a server-side HTML document with special tags (’854 Patent, Fig. 3), can be construed to read on the client-side JavaScript code and objects alleged to be infringing (Compl. ¶29). The complaint's screenshot comparing search results for different zip codes illustrates the customized output but does not detail the underlying mechanism. (Compl. p. 15).
- Technical Questions: The complaint alleges a dual-storage system for templates based on access frequency, mapping this to "main server/disk storage" and "local storage on the user's computer" (Compl. ¶33). A technical question will be what evidence supports the allegation that GasBuddy's system actively determines the retrieval location based on the frequency of a user's request, as required by the claim, rather than simply using standard web caching techniques.
'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 such as location or by saving favorite gas stations. The complaint includes a screenshot of the "Favorite Stations Lists" page. (Compl. p. 18). | ¶46, ¶48 | col. 3:25-28 |
| obtaining real-time information from information sources | The system obtains current gas prices from GasBuddy.com's servers and databases. | ¶50 | col. 4:12-21 |
| storing the real-time information in a storage device | Gas prices are pulled from a storage server and sent to a web/API server for processing. | ¶50 | col. 4:43-48 |
| combining the user preferences for the user and a template to form a template program specific to the user | User preferences (e.g., location) are combined with a generic template to form a unique, user-specific template program (e.g., a JavaScript page). | ¶51 | col. 4:51-54 |
| 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 request, such as a user login or search, for a page that will be customized based on that user's preferences. | ¶52 | col. 3:3-5 |
| executing the template program ... using the real-time information stored in the storage device ... to generate the customized page | Page generation code uses the real-time gas prices as input to generate and display the appropriate web page for the user. | ¶53 | col. 4:58-62 |
| providing the user with the customized page ... performed in real-time response to receipt of the user request ... | The system provides the customized page with search results and favorites in real-time response to the user's login or search initiation. | ¶54 | col. 3:5-7 |
- Identified Points of Contention:
- Scope Questions: The patent describes storing real-time data in a "shared memory" that is "closely coupled to a page generator" to eliminate requests to "other servers" (’227 Patent, col. 4:43-48, col. 2:25-31). A definitional question is whether the "storage servers/databases" and "web/API server" architecture alleged for GasBuddy (Compl. ¶50) meets the "shared local storage device" limitation, which was intended to replace a distributed server architecture.
- Technical Questions: What evidence does the complaint provide that GasBuddy's system uses a "generic template" that is combined with user preferences to form a distinct, user-specific "template program" before execution, as opposed to a more integrated process where user data directly parameterizes a single, generic page script during execution? The screenshots of different users' "Favorites" lists show customized output but not the intermediate process. (Compl. p. 19).
V. Key Claim Terms for Construction
For the ’854 Patent:
- The Term: "template program"
- Context and Importance: This term is central to the infringement theory. Its construction will determine whether the modern, client-side JavaScript architecture alleged to be used by GasBuddy falls within the scope of a claim rooted in a 1997 server-side architecture. Practitioners may focus on whether this term is limited to a specific data structure or covers any code that achieves a similar result.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent describes the user template as being "generated from a global front page template and a user configuration record" and being "independent of the live data" (’854 Patent, col. 4:51-54, col. 5:19-22). This could support an interpretation covering any intermediate, user-specific set of instructions that pre-date the injection of live data.
- Evidence for a Narrower Interpretation: The patent’s specific embodiment of a "global user template" is an HTML document containing placeholder tags like
<!-- leftside:nsum -->(’854 Patent, Fig. 3, col. 5:16-19). This may support a narrower construction limited to a server-side, document-based template structure rather than client-side script objects.
For the ’227 Patent:
- The Term: "storing the real-time information in a storage device"
- Context and Importance: The patent's inventive concept relies heavily on storing live data in a "local, shared memory" to avoid network latency from querying external servers (’227 Patent, Abstract). The infringement case depends on equating GasBuddy's alleged use of "storage servers/databases" with this limitation. The dispute will likely center on whether "storage device" must be local to the page-generating process in the manner described in the specification.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The term "storage device" is facially broad and could be argued to cover any form of data storage, including networked databases.
- Evidence for a Narrower Interpretation: The specification repeatedly explains that the purpose of this storage is to "eliminate[] the need to make requests from other servers" by having data stored "within the page server" (’227 Patent, Abstract; col. 2:25-31). This context suggests the "storage device" is a specific architectural choice—a local cache—not just any database.
VI. Other Allegations
The complaint does not provide sufficient detail for analysis of indirect or willful infringement.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of architectural equivalence: can the server-centric architecture from the 1997-priority patent family—which describes a "page generator" using "user templates" and a local "shared memory" to avoid calls to other servers—be mapped onto the functionality of GasBuddy's modern, client-side JavaScript-driven web service?
- A key legal question will be one of definitional scope: can the term "template program", exemplified in the patent as a server-side HTML file with special placeholders, be construed broadly enough to encompass the client-side JavaScript code and objects that the complaint alleges constitute the infringing instrumentality?
- A central evidentiary question will be one of functional operation: what proof exists that the Accused Instrumentality performs specific steps required by the claims, such as determining the retrieval location of a template based on the "frequency" of a user's request, rather than employing functionally different, standard web caching and content delivery techniques?
Analysis metadata