{
  "patent_number": "US 5774660",
  "country": "US",
  "title": "How Load Balancers Route Web Traffic Based on Specific Content",
  "original_title": "World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network",
  "summary": "A method for web servers to route user requests to specific machines based on which files they store, rather than just blindly balancing traffic across all servers.",
  "what_it_does": "This patent describes a system where a central load balancer acts as a gatekeeper for a website. Instead of mirroring every file on every server, the system distributes specific resources across different nodes. When a user requests a file, the load balancer intercepts the request, reads the URL to see exactly what is being asked for, and then routes the connection to a server that actually holds that specific file. Once the connection is handed off, the chosen server sends the data directly back to the user, bypassing the load balancer to prevent network bottlenecks.",
  "what_it_does_not_cover": [
    "Does not cover systems where every server contains an identical copy of all website resources (full mirroring).",
    "Does not cover load balancing methods that assign servers based solely on CPU load or round-robin traffic distribution without inspecting the requested URL.",
    "Does not cover systems where the load balancer remains in the data path for the entire duration of the file transfer."
  ],
  "filed": "1996-08-05",
  "granted": "1998-06-30",
  "expires": "2016-08-05",
  "status": "expired",
  "holder": "Resonate Inc",
  "holder_url": "https://patentbrief.org/company/resonate-inc",
  "inventors": [
    {
      "name": "Christopher C. Marino",
      "url": "https://patentbrief.org/inventor/christopher-c-marino"
    },
    {
      "name": "Zaide Liu",
      "url": "https://patentbrief.org/inventor/zaide-liu"
    },
    {
      "name": "Juergen Brendel",
      "url": "https://patentbrief.org/inventor/juergen-brendel"
    },
    {
      "name": "Charles J. Kring",
      "url": "https://patentbrief.org/inventor/charles-j-kring"
    }
  ],
  "times_cited": 1148,
  "tags": [
    "telecommunications",
    "software",
    "consumer_electronics"
  ],
  "abstract": "A multi-node server transmits world-wide-web pages to network-based browser clients. A load balancer receives all requests from clients because they use a virtual address for the entire site. The load balancer makes a connection with the client and waits for the URL from the client. The URL specifies the requested resource. The load balancer waits to perform load balancing until after the location of the requested resource is known. The connection and URL request are passed from the load balancer to a second node having the requested resource. The load balancer re-plays the initial connection packet sequence to the second node, but modifies the address to that for the second node. The network software is modified to generate the physical network address of the second node, but then changes the destination address back to the virtual address. The second node transmits the requested resource directly to the client, with the virtual address as its source. Since all requests are first received by the load balancer which determines the physical location of the requested resource, nodes may contain different resources. The entire contents of the web site is not mirrored onto all nodes. Network bottlenecks are avoided since the nodes transmit the large files back to the client directly, bypassing the load balancer. Client browsers can cache the virtual address, even though different nodes with different physical addresses service requests.",
  "url": "https://patentbrief.org/patent/us/5774660/world-wide-web-server-with-delayed-resource-binding-for-resource-based-load-balancing-on-a-distributed-resource-multi-node-network",
  "markdown_url": "https://patentbrief.org/patent/us/5774660/world-wide-web-server-with-delayed-resource-binding-for-resource-based-load-balancing-on-a-distributed-resource-multi-node-network/md",
  "google_patents_url": "https://patents.google.com/patent/US5774660",
  "relatedPatents": [
    {
      "patentNumber": "6178160",
      "countryCode": "US",
      "title": "How DNS Servers Route Web Traffic to the Least Busy Server",
      "url": "https://patentbrief.org/patent/us/6178160/load-balancing-of-client-connections-across-a-network-using-server-based-algorithms"
    },
    {
      "patentNumber": "9544394",
      "countryCode": "US",
      "title": "How CDNs Use Client-Side Code to Speed Up Web Downloads",
      "url": "https://patentbrief.org/patent/us/9544394/aws-cloudtrail"
    },
    {
      "patentNumber": "6122658",
      "countryCode": "US",
      "title": "How Servers Combine Global and Local Content for Personalized Web Displays",
      "url": "https://patentbrief.org/patent/us/6122658/custom-localized-information-in-a-networked-server-for-display-to-an-end-user"
    },
    {
      "patentNumber": "7930393",
      "countryCode": "US",
      "title": "How Amazon Optimizes Website Loading Speeds by Managing Domain Requests",
      "url": "https://patentbrief.org/patent/us/7930393/amazon-cloudfront-cdn"
    },
    {
      "patentNumber": "7233978",
      "countryCode": "US",
      "title": "How Distributed Servers Find Data Using Location Pointers",
      "url": "https://patentbrief.org/patent/us/7233978/method-and-apparatus-for-managing-location-information-in-a-network-separate-from-the-data-to-which-the-location-information-pertains"
    }
  ]
}