DCT

1:22-cv-01289

Digi Portal LLC v. FedEx Corp

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 1:22-cv-01289, D. Del., 09/30/2022
  • Venue Allegations: Venue is based on Defendant's incorporation in Delaware, which establishes residency for patent venue purposes.
  • Core Dispute: Plaintiff alleges that Defendant’s website, fedex.com, infringes five patents related to the dynamic generation of customized web pages based on user preferences and real-time data.
  • Technical Context: The patents relate to early web-era technology for personalizing user experiences, a foundational concept for modern e-commerce and content delivery platforms.
  • Key Procedural History: The patents-in-suit belong to a family originating from a 1997 application, first assigned to Yahoo! Inc. The complaint alleges that related patents have been cited during the prosecution of over 700 other patents, suggesting the technology was considered relevant by the USPTO in a wide range of subsequent inventions.

Case Timeline

Date Event
1997-06-12 Priority Date for all Patents-in-Suit
1999-11-09 U.S. Patent No. 5,983,227 Issued
2007-01-30 U.S. Patent No. 7,171,414 Issued
2009-07-21 U.S. Patent No. 7,565,359 Issued
2013-01-08 U.S. Patent No. 8,352,854 Issued
2017-04-18 U.S. Patent No. 9,626,342 Issued
2022-09-30 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 describes the technical challenge of delivering customized web content efficiently at scale. Prior art methods, such as using CGI scripts to poll multiple servers for data, were slow and did not scale well for many users. Other methods, like streaming data to be stored locally on a user's machine, could clog networks and result in outdated information (Compl. ¶¶13-15; ’854 Patent, col. 1:42-67).
  • The Patented Solution: The invention proposes a system that generates a "user template" based on a global template and a user's specific configuration data (e.g., preferences, demographics). To improve performance, this user template is stored in one of at least two locations—such as a slower user configuration database or a faster cache—with the storage location determined by the frequency of the user's requests. This architecture aims to reduce server load and decrease page generation times by avoiding repeated, slow processes for frequent users (Compl. ¶¶17, 20-21; ’854 Patent, col. 4:49-62).
  • Technical Importance: This approach provided a method for scaling personalized web services by optimizing how frequently-accessed and infrequently-accessed user data was stored and retrieved, a key challenge in the early commercial internet (Compl. ¶16).

Key Claims at a Glance

  • The complaint asserts independent claims 1, 8, and 15 (Compl. ¶27).
  • Independent Claim 1 (Method Claim):
    • 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, which includes user demographic information.
    • The template program is received from one of at least two locations.
    • The location is determined from the frequency of the user request for the customized page.
    • 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.
  • The complaint does not explicitly reserve the right to assert dependent claims but asserts claims 1-2, 8-9, and 15 (Compl. ¶27).

U.S. Patent No. 5,983,227 - "Dynamic Page Generator"

  • Issued: November 9, 1999

The Invention Explained

  • Problem Addressed: The ’227 patent shares an identical specification with the ’854 Patent and addresses the same technical problems of scalability and efficiency in delivering customized web content (Compl. ¶44; ’227 Patent, col. 1:30-58).
  • The Patented Solution: The solution is also identical to that described in the ’854 Patent, focusing on generating customized pages using user-specific templates and real-time data stored locally to the page server to avoid slow, external data requests (’227 Patent, col. 2:5-14). The patent describes storing live data (e.g., stock quotes, sports scores) in a shared memory accessible by the page generator, allowing a custom page to be built entirely within the page server (’227 Patent, Fig. 2).
  • Technical Importance: This system architecture aimed to provide real-time customized pages by co-locating the necessary live data with the page generation logic, eliminating network latency associated with querying disparate data sources for each user request (Compl. ¶44).

Key Claims at a Glance

  • The complaint asserts at least independent claim 2 (Compl. ¶45).
  • Independent Claim 2 (Method Claim):
    • 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 user with the customized page in real-time response to the request.
  • The complaint does not explicitly reserve the right to assert dependent claims.

U.S. Patent No. 7,171,414 - "Dynamic Page Generator"

  • Patent Identification: U.S. Patent No. 7,171,414, issued January 30, 2007.
  • Technology Synopsis: Sharing the same specification as the ’854 and ’227 patents, this patent addresses the efficient delivery of customized web pages. The prosecution history is alleged to have highlighted the novelty of storing real-time information in a shared local storage device to eliminate time-consuming calls to other servers (Compl. ¶60). It is also alleged to be unconventional to determine the retrieval location of a template program from one of at least two locations based on user request frequency (Compl. ¶61).
  • Asserted Claims: At least claims 1 and 3 are asserted (Compl. ¶62).
  • Accused Features: The accused features include the use of the fedex.com web server to provide customized pages based on user preferences (e.g., search parameters), obtaining and storing real-time information (e.g., store availability) in a shared local storage device, and receiving a template program from one of at least two locations (e.g., main server or local cache) depending on request frequency (Compl. ¶¶62-67).

U.S. Patent No. 7,565,359 - "Dynamic Page Generator"

  • Patent Identification: U.S. Patent No. 7,565,359, issued July 21, 2009.
  • Technology Synopsis: This patent also shares the identical specification with the other asserted patents. The complaint notes that during prosecution, the examiner focused on the novelty of executing a user-specific template program using real-time information from a shared local storage device, and combining user preferences with a generic template to form that user-specific template (Compl. ¶78).
  • Asserted Claims: At least claim 10 is asserted (Compl. ¶79).
  • Accused Features: The complaint accuses a computer-readable medium (e.g., FedEx servers) containing instructions for generating customized pages. The alleged infringing acts include storing real-time information in a shared local storage device, storing user-specific template programs associated with a unique user identifier, and receiving template programs from one of at least two locations based on user request frequency (Compl. ¶¶80-82).

U.S. Patent No. 9,626,342 - "Dynamic Page Generator"

  • Patent Identification: U.S. Patent No. 9,626,342, issued April 18, 2017.
  • Technology Synopsis: As the most recent patent in the asserted family sharing the common specification, this patent also relates to dynamically generating customized web pages. The claims focus on a sequence of generating a unique template program, executing it, serving the page, and then, in response to a subsequent request, receiving that template program from one of at least two locations based on frequency (Compl. ¶¶93-98).
  • Asserted Claims: At least claims 1 and 7 are asserted (Compl. ¶93).
  • Accused Features: The infringement allegations mirror those for the other patents but frame them within the specific method steps of claim 1. This includes generating a template unique to a user by combining user customization information (e.g., login preferences, search terms) with a generic template, executing it to create a customized page with real-time information, and receiving the template program from different locations (e.g., CDN, local cache) for subsequent page requests based on frequency (Compl. ¶¶95-98).

III. The Accused Instrumentality

Product Identification

  • The Accused Instrumentality is the Defendant's website, https://www.fedex.com, and its associated systems (Compl. ¶27).

Functionality and Market Context

  • The complaint alleges the website provides customized user experiences, such as personalized home and search pages, after a user logs in (Compl. ¶28). The complaint shows a screenshot of the website displaying a logged-in user's name, "Travis," in the header as an example of customization (Compl. p. 18).
  • It is alleged to collect and utilize user demographic information, including location, to implement targeted advertising (Compl. ¶¶28, 30). A screenshot of the FedEx privacy policy is provided, which states that FedEx collects "Automatically generated information" including IP address, device ID, browser type, and device location (Compl. p. 14).
  • Technically, the complaint alleges that the website retrieves data and templates from at least two locations, such as a main server, a Content Delivery Network (CDN) server, browser cookies, or local cache, and that the retrieval location is determined by the frequency of user requests (Compl. ¶29). A screenshot of JavaScript code is presented to allege that user information is stored in multiple locations, including browser local storage and cookies (Compl. p. 17).

IV. Analysis of Infringement Allegations

U.S. Patent No. 8,352,854 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
receiving a user request for a customized page; The system receives user requests, such as a login request, for a customized home page on the website. ¶28 col. 1:19-21
receiving a template program that is unique to the user and based on user configuration information, the user configuration information being supplied by the user... The system receives software instructions and data for rendering a specific user's page (e.g., a JavaScript page), which is unique after a user logs in and is based on user-inputted preferences. ¶29 col. 2:16-19
...the user configuration information including user demographic information... The user's account profile information, which may contain location and age, constitutes demographic information used to build the template program. ¶29 col. 5:35-39
...wherein the template program is received from one of at least two locations... Data and templates for a user's page are retrieved from different sources, such as a main server, a CDN server, cookies, or local cache. ¶29 col. 4:49-51
...the location determined from the frequency of the user request for the customized page; The storage location for page data is alleged to be based on access frequency, with more frequently accessed pages stored in local storage (e.g., CDN, cookies, cache). ¶29 col. 6:49-59
receiving an advertisement selected in accordance to the user demographic information; The system provides advertisements to a user based on demographic information such as age, gender, location, and interest. ¶30 col. 5:39-42
executing the template program using the selected advertisement to generate the customized page; JavaScript templates are executed using the selected advertisement to generate the customized page with the advertisement integrated. ¶31 col. 2:20-22

Identified Points of Contention

  • Scope Questions: A central question may be whether the term "template program" as understood in 1997 can be construed to read on the collection of modern web components (e.g., HTML, JavaScript files from a CDN, browser cookies) that assemble a webpage in a user's browser. The defense may argue these are distinct elements, not a unitary "template program."
  • Technical Questions: The complaint alleges that storing data on a CDN or in browser cache for frequent users versus a main server for infrequent users meets the "location determined from the frequency" limitation. A key factual dispute may be whether FedEx's system architecture actually makes this determination based on frequency, or if the use of caching and CDNs is a generic performance optimization not tied to individual user request frequency in the manner claimed.

U.S. Patent No. 5,983,227 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 system obtains user preferences such as state, city, or store names for store searches. ¶47 col. 1:24-25
obtaining real-time information from information sources; The system obtains currently available store location information from a multitude of databases. ¶48 col. 2:5-8
storing the real-time information in a storage device; The obtained store information is temporarily stored on a fedex.com web/API server or the user's computer. ¶48 col. 2:11-12
combining the user preferences for the user and a template to form a template program specific to the user; User preferences (from account login and search terms) are combined with a generic webpage template to create a user-specific template program for displaying customized search results. ¶49 col. 4:1-4
executing the template program specific to the user using the real-time information... to generate the customized page; Website code defining general layout is executed, using real-time information such as store availability, to generate a webpage catered to the user's search queries. ¶51 col. 4:21-25
providing the user with the customized page... performed in real-time response to the receipt of the user request... Customized webpages showing search results are created and delivered in real-time upon a user's login and/or search initiation. A screenshot shows a map of store locations near New York, NY, generated in response to a user search (Compl. p. 32). ¶52 col. 2:20-22

Identified Points of Contention

  • Scope Questions: The interpretation of "combining... to form a template program" may be a point of dispute. The defense could argue that the accused system does not "form" a new, distinct "template program" but rather populates a single, generic template with user data and real-time information at the time of rendering, a common and conventional web practice.
  • Technical Questions: The complaint alleges that information is stored in a "storage device" and that this device is a web/API server or user's computer. The factual question will be whether this temporary storage functions as the "storage device" contemplated by the patent, which is described in the context of a "shared memory" architecture designed to make all live data locally available to the page generator.

V. Key Claim Terms for Construction

The Term: "template program"

  • (from ’854 Patent, Claim 1)
  • Context and Importance: This term is the core of the asserted claims. Its construction will determine whether a collection of modern web assets (HTML, JavaScript, CSS, user data in cookies) can be considered the same as the "template program" disclosed in a 1997-priority patent. Practitioners may focus on this term because the infringement theory depends on mapping a modern, distributed architecture onto a term conceived in a more monolithic server-side generation era.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The patent does not provide a formal definition of "template program," which may suggest it should be given its plain and ordinary meaning as understood at the time. The specification describes its function—formatting dynamic information—rather than a rigid structure, stating a user template "specifies, for example which quotes are shown" (’227 Patent, col. 5:54-56).
    • Evidence for a Narrower Interpretation: The specification provides a specific example of a "user template" in Figure 4 and Appendix A, which is a single, text-based document containing placeholders and user-specific data (’854 Patent, col. 5:11-15, Appendix A). This could support an argument that a "template program" must be a unitary, pre-assembled entity, rather than a collection of disparate files and data executed by a browser.

The Term: "the location determined from the frequency of the user request"

  • (from ’854 Patent, Claim 1)
  • Context and Importance: This limitation requires a causal link between how often a user makes a request and where their template is stored. The plaintiff's theory hinges on equating modern caching strategies with this specific claimed function. The case may turn on whether generic web performance optimizations (like using a CDN) are the same as the patent's specific, frequency-based storage logic.
  • Intrinsic Evidence for Interpretation:
    • Evidence for a Broader Interpretation: The specification describes the purpose of this feature as improving performance: "Caching is more effective where the typical user makes several requests in a short time span" (’854 Patent, col. 5:26-29). The patent also contrasts storing templates for "infrequent users" in a database with storing them in "cache" for frequent users, supporting the general principle of frequency-based location choice (’854 Patent, col. 6:51-59).
    • Evidence for a Narrower Interpretation: The patent describes a specific two-location architecture: a user configuration database versus a cache on the page server (’854 Patent, Fig. 2; col. 6:51-59). The defense may argue that this language limits the claim to that specific disclosed architecture, and that a system involving third-party CDNs or a user's own browser cache is technically distinct and not merely a choice between two server-side locations as disclosed.

VI. Other Allegations

  • Indirect Infringement: The complaint does not contain specific allegations of induced or contributory infringement.
  • Willful Infringement: The complaint's prayer for relief requests trebled damages as a result of willful infringement (Compl. p. 102, ¶g). However, the body of the complaint does not plead specific facts to support a claim of pre-suit willfulness, such as alleging that Defendant had knowledge of the patents prior to the lawsuit. The allegations rely on constructive notice by operation of law (Compl. ¶¶38, 54).

VII. Analyst’s Conclusion: Key Questions for the Case

  • A core issue will be one of definitional scope: can the term "template program," originating from a 1997-era patent describing server-side page generation, be construed to cover the combination of distributed assets (e.g., HTML, JavaScript from CDNs, data from cookies) used to render a modern webpage on a client-side browser?
  • A key evidentiary question will be one of functional causality: does FedEx’s use of modern web architecture, such as CDNs and browser caching, perform the specific function of determining a storage location "from the frequency of the user request" as required by the claims, or are these generic performance enhancements that operate independently of the claimed frequency-based logic?
  • The infringement analysis for several patents may turn on a question of technical operation: does the accused system "form a template program specific to the user" by "combining" preferences with a generic template before execution, as claimed in the ’227 patent, or does it follow a more conventional process of simply populating a static template with dynamic data at the moment of rendering?