Patent 6708213
Obviousness
Combinations of prior art that suggest the claimed invention would have been obvious under 35 U.S.C. § 103.
Active provider: Google · gemini-2.5-flash
Obviousness
Combinations of prior art that suggest the claimed invention would have been obvious under 35 U.S.C. § 103.
To analyze the obviousness of US patent 6708213 under 35 U.S.C. § 103, we must consider the perspective of a Person Having Ordinary Skill in the Art (PHOSITA) at the time of the invention (priority date December 6, 1999). The PHOSITA would be familiar with computer networks, multimedia streaming, and caching technologies. The patent itself highlights the shortcomings of existing approaches, providing motivation for the claimed invention.
The patent US6708213 aims to enhance existing caching systems to better support streaming multimedia (SM) over public networks by using "helper servers" (HSs) that implement proxy caching, client request aggregation, and data transfer rate control.
The prior art explicitly mentioned in the patent's description, which a PHOSITA would be aware of, includes:
General Web Caching: Extensively implemented on the Internet to reduce network load, server load, and start-up latency. Specific references include:
- T. Berners-Lee, A. Lutonen, and H. F. Nielsen Meyr: http://www.w3.org/Daemon/Status.html, 1996
- C. M. Bowman, et al., Harvest: “A scaleable, customizable discovery and access system,” Technical Report CU-CS-732-94, Dept. of Computer Science, University of Colorado, Boulder, Colo., USA, 1994
- D. Wessels, “ICP and the squid cache,” National Laboratory for Applied Network Research, 1999, http://ircache.nlanr.net/Squid
- Limitation: These existing caching systems are primarily restricted to static web objects (like HTML pages or images) and do not adequately support streaming multimedia data due to the large size and temporal characteristics of SM objects.
Streaming Multimedia (General): Content servers "stream" multimedia information, allowing clients to begin presenting information as it arrives (just-in-time rendering).
- Real Player: Cited as an example, continuously sending audio data over the Internet from a server to client computers, where the audio data is buffered and processed by the client while being sent.
- Limitation: Streaming multimedia under a unicast architecture often leads to network congestion, high start-up latency, and unpredictable playback quality.
Motivation for Combination:
The patent explicitly states the problems it seeks to solve:
- Existing web caching fails to scale for streaming multimedia objects due to their size and temporal characteristics.
- Unicast streaming of multimedia suffers from high server load, network congestion, and high start-up latency.
A PHOSITA would be motivated to combine known elements to overcome these identified shortcomings. The goal would be to efficiently deliver large, time-sensitive streaming multimedia content with reduced latency and network load.
Obvious Combinations of Prior Art References:
We will analyze the independent claims (1, 13, 16, 17) based on combinations of the general knowledge of web caching, streaming multimedia, and fundamental data structures and networking principles.
Combination 1: General Web Caching (e.g., Wessels, Bowman, Berners-Lee) + Streaming Multimedia (e.g., Real Player) + Intermediate Network Proxy/Server.
Rationale: The problem statement clearly indicates that direct streaming is inefficient and traditional web caching for static objects doesn't work for SM objects. A PHOSITA would logically consider placing an intermediate caching element (a "helper server" or "proxy" as known from web caching like Squid) closer to clients within the network to alleviate server load and network congestion for any type of frequently accessed content, including streaming media. This directly addresses the motivation of reducing server and network loads by servicing requests closer to the client. The idea of "proxy caching to reduce signaling costs" is a known benefit of proxy servers applied to a new context.
Obviousness Implications for Claims:
- Claim 16 (allocating a buffer at HS, downloading a portion while concurrently retrieving the rest, and adjusting data transfer rate): The idea of an intermediate server caching "at least a portion" of requested content and serving it to a client is a direct extension of proxy caching. When a partial hit occurs, retrieving the "remaining portion" from an upstream source (another HS or the content server) is a standard method for completing a request. Adjusting the "data transfer rate" from a closer proxy server to the client to improve delivery speed is a logical network optimization, as a closer server would likely have better bandwidth and lower latency. The patent itself demonstrates how a helper server can fill a client's playout buffer faster due to smaller network distance and reduced congestion.
- Claim 17 (Network of HSs with functional means): The various "means" described (receiving RTSP requests, forwarding, streaming via RTP, managing memory/buffer pool, URL mapping, cache management, scheduler) are all functional blocks that a PHOSITA would design into any server intended to act as a proxy for streaming media. RTSP and RTP are explicitly mentioned as known protocols for streaming media.
Combination 2: General Web Caching + Streaming Multimedia + Intermediate Helper Server + Ring Buffer / Sliding Window Data Structure.
Rationale: Given that SM objects are too large to cache in their entirety, and conventional caching systems treat segments independently (which is inefficient), a PHOSITA would seek a dynamic, memory-efficient way to cache portions of streaming media. The Real Player example shows that clients already use buffers for "just-in-time rendering". This client-side buffering implicitly involves a "sliding window" concept where older data is consumed and newer data is received. It would be an obvious design choice to apply this same efficient "sliding window" buffering concept at an intermediate helper server. The use of a "ring buffer" (or "circular buffer") is a fundamental and well-known data structure for implementing a sliding window, especially in real-time or streaming contexts where old data is continuously replaced by new data.
Obviousness Implications for Claims:
- Claim 1 (servicing first request with ring buffer, maintaining as sliding window, allocating second ring buffer if needed): The steps of "allocating a first ring buffer... for storing data representing a first portion" and "maintaining the first ring buffer in the memory as a sliding window by replacing stored data with data representing successive portions" directly reflect the application of a ring buffer to manage segments of an SM object. The PHOSITA would be motivated to do this to efficiently utilize limited memory resources for large, continuous data streams. The concept of "client request aggregation," where multiple requests for the same SM object within a "buffer temporal distance" are served from a single stream, is a logical optimization for an intermediate cache. If a subsequent request's starting position falls outside the current "sliding window" (i.e., the "temporal distance" is too great), allocating a new buffer or fetching from an upstream source is a straightforward engineering decision to fulfill the request.
- Claim 13 (receiving first request, allocating ring buffer, retrieving SM object, sequentially storing/replacing, servicing second request from first buffer if within range, otherwise allocating second buffer): This claim is substantially similar to Claim 1 in its use of ring buffers and sliding windows for client request aggregation. The "sequentially storing... by replacing lower time-ordered packets with higher time-ordered packets" is a description of a sliding window/ring buffer operation. The condition for servicing a "second request" from the "first ring buffer" ("if it is determined that said subsequent request includes a starting request position within a range between a largest timestamp... and a smallest time-stamp") is merely a formal way of stating that the requested data must be present in the active sliding window. If not, a new buffer is allocated.
Conclusion:
The methods claimed in US6708213 appear to be obvious combinations of known techniques for a PHOSITA at the time of the invention. The motivation for these combinations is clearly articulated in the patent's background section, which describes the limitations of existing solutions for streaming multimedia over public networks. The patent's core contributions—the use of helper servers with specific mechanisms like client request aggregation via ring buffers and data transfer rate control—can be seen as logical applications and adaptations of existing network, caching, and streaming principles to solve recognized problems in the field. The specific implementation details (e.g., using RTSP/RTP, calculating temporal distance) are routine engineering choices or further refinements of these obvious combinations.
Generated 5/29/2026, 5:59:18 PM