Patent 7969880
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.
Obviousness Analysis of US Patent 7,969,880 under 35 U.S.C. § 103
This analysis identifies combinations of prior art references, coupled with a person having ordinary skill in the art's (POSITA) common knowledge and motivations, that would render the independent claims of US Patent 7,969,880 ('880 patent) obvious under 35 U.S.C. § 103.
I. Overview of the Problem and Solution
The '880 patent addresses the problem of communication load imbalance in network systems, particularly when using hash-based load distribution mechanisms. The patent's background notes that "in some instances, communication load imbalance will not be alleviated" and "particularly in cases where network relay devices are directly connected, communication load imbalance in front end relay devices and communication load imbalance in back end relay devices may cumulatively result in appreciable communication load imbalance."
The core inventive concept of the '880 patent, as highlighted in its independent claims, is the ability to "modify the computational expression" (e.g., a hash function) used for selecting transmission ports or port groups. This modification allows the system to adapt and alter the trend of bias in port selection, thereby alleviating communication load imbalance.
II. Identification of Primary and Secondary References
The prior art cited during the prosecution of the '880 patent consistently teaches the use of hash functions on packet header information (seed information) to distribute network traffic across multiple physical ports or links (candidate ports/port groups) for load balancing. Examples include:
- US 6,954,435 B2 (Roberts): Discloses a method and apparatus for selecting a link from a link aggregate group, using a hash function on packet header information (source/destination addresses) to select a physical link for transmission.
- US 7,058,054 B2 (Basso): Teaches a system for load balancing in a Link Aggregation Group (LAG), employing a hash function based on packet header fields. It allows for flexibility in selecting which fields are used as input to the hash function.
- US 7,200,145 B2 (Edsall): Describes link aggregation using flow-based hashing to distribute traffic while maintaining packet order within a flow, based on flow-identifying information in packet headers.
- US 2005/0251590 A1 (Ambe): Discusses a method for path selection in a multiple path network based on a hash value generated from packet header information.
- JP 2005-252758 A (Yano): Describes a method for distributing communication load by converting packet header information into an output value to select a transmission queue.
These references establish that the fundamental concept of hash-based load balancing in network devices was well-known in the art prior to the '880 patent's priority date. The distinguishing feature of the '880 patent is the explicit teaching of a "modifying module" that can "modify the computational expression" itself. None of the cited prior art explicitly discloses this dynamic modification of the hash function.
III. Obviousness Argument for Claims 1 and 9
A combination of US 6,954,435 B2 (Roberts) (as a representative primary reference) with the common general knowledge and engineering principles of a POSITA would render independent claims 1 and 9 obvious.
A. All Elements of Claims 1 and 9 are Present or Obvious to a POSITA
Roberts ('435) provides the foundational elements:
- Network Relay Device, Interface Module, Computing Module, Destination Search Module (Claim 1): Roberts discloses a network device that includes an interface for receiving and transmitting data frames (packets), a computing module (hash function) that executes a computing process using seed information (packet header data like source and destination addresses), and a destination search module that selects a specific link (physical port) from a link aggregate group (plurality of candidate ports) for transmission based on the hash result.
- Method Steps (Claim 9): Roberts also teaches the method of receiving a packet, executing a computing process with a computational expression (hash function) using seed information (packet header data), and selecting a transmission link from a link aggregate group (a "port group" as defined by the '880 patent) based on the computation result. The '880 patent defines a "port group" broadly to include "one or more physical ports" or "logical ports," which encompasses a single link selected from a LAG as taught by Roberts.
The Missing Element: "Modifying the Computational Expression"
The key difference lies in the "modifying module" of claim 1 and the "modifying the computational expression" step of claim 9. While Roberts does not explicitly teach changing the hash function itself, a POSITA would have been motivated to add this capability.
B. Motivation for a POSITA to Combine/Modify
Recognized Problem: The '880 patent itself highlights a known problem in the art: that static hash functions in network devices can lead to "communication load imbalance" and "traffic bias" under varying network conditions or specific traffic patterns. This problem would be readily apparent to a POSITA involved in designing or managing network infrastructure. For example, the patent describes how output physical port selection may be "biased towards certain physical ports" and how this bias can be "considerable" when multiple stages of switches use the same computational expression.
Known Solution for Altering Algorithm Behavior: A POSITA in 2006, possessing general knowledge of algorithm design and computer programming, would understand that the output distribution of a hash function is determined by its underlying algorithm and/or its parameters. If a particular hash function's distribution characteristics lead to undesirable load imbalance, an obvious engineering solution to alter that distribution would be to:
- Parameterize the hash function: Introduce configurable parameters (like "hash setting values" SV1-SV8 shown in FIG. 5 of the '880 patent) that can be adjusted to alter the hash calculation. Changing these parameters effectively modifies the "computational expression."
- Select from alternative hash functions: Provide a choice of several different hash functions (e.g., HF1-HF3 in Embodiment 3, FIG. 16 of the '880 patent) that can be selected as needed. This is a direct modification of the computational expression being used.
Application to Network Load Balancing: Faced with the known problem of traffic bias in hash-based load balancing (as encountered in a system like Roberts' '435), a POSITA would be motivated to apply these known algorithmic adaptation techniques. Providing a mechanism (a "modifying module") to adjust the hash function's parameters or select an alternative hash function would be a logical and straightforward way to attempt to "alter the trend of bias in physical port selection" and alleviate the observed load imbalance. This addresses a known shortcoming of existing systems using static hash functions.
Implementation: The implementation of such a "modifying module" would also be obvious. The '880 patent describes modification based on "instruction by a user" via a "control panel (not shown) provided to the switch device, or an administration terminal (not shown) connected to the switch device." These are standard interfaces for configuring network devices. The patent also suggests automatic modification, for example, based on traffic levels exceeding a threshold. Automated configuration and adaptation are also well-known concepts in network management and control systems.
IV. Conclusion
The independent claims of US Patent 7,969,880 would have been obvious to a person of ordinary skill in the art at the time of the invention. The prior art, exemplified by US 6,954,435 B2, clearly teaches the fundamental principles of hash-based load balancing for packet relay in network devices. The '880 patent's distinguishing feature—the "modifying module" configured to "modify the computational expression"—represents the application of known engineering principles for algorithm parameterization and selection to address the well-recognized problem of traffic bias and load imbalance in such network systems. A POSITA, motivated to improve load distribution in existing hash-based systems, would have found it obvious to incorporate mechanisms to modify the computational expression to achieve better traffic balance.
Generated 6/1/2026, 12:47:41 AM