Patent 7181743
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.
The obviousness of US Patent 7181743 under 35 U.S.C. § 103 can be analyzed by considering the state of the art and the motivations of a person having ordinary skill in the art (PHOSITA) in the field of distributed computing around the priority date of May 25, 2000. While the provided patent text does not explicitly list formal prior art patent or publication references, it does describe several existing technologies and concepts that would have been well-known to a PHOSITA.
A PHOSITA in 2000 would have been familiar with:
- Distributed Computing Systems and Scalable Applications: The patent itself references "SETI@home" as an example of a system where "thousands of small computers, all working simultaneously on different parts of the analysis, to run the search routine." This illustrates the general concept of distributing computational tasks across networked computers, especially for scalable applications.
- Network and Host Monitoring Tools: Technologies like "Remos (REsource MOnitoring System)" are described as network bandwidth and topology monitoring systems providing APIs for network-aware applications. "SNMP Simple Network Management Protocol" is noted as an Internet standard protocol for managing nodes on an IP network. The patent also mentions "Host Monitors" for retrieving "operating system-level mechanisms to retrieve status, configuration, and performance information" for hosts. These tools collectively represent known means for gathering performance data.
- Application Programming Interfaces (APIs) and Instrumentation: The concept of APIs (e.g., "Windows API") for programs to perform tasks and "Instrumentation APIs" (e.g., "JEWEL" open-source instrumentation package) for applications to send internal event and performance data was understood.
- Operating System-Level Application Control: Standard operating system functions for process management, such as starting (
fork(),execv()) and stopping (killpg()) applications on UNIX platforms, were well-established. - Quality of Service (QoS) Concepts: The patent states that "It would be desirable to have a user-friendly technique with which to specify quality of service (QoS) requirements for each host, each application, and the network." This indicates that the concept of QoS requirements, even if lacking user-friendly specification methods, was a recognized aspect of system performance.
Obviousness Analysis of Independent Claims 1, 13, and 14
The independent claims of US7181743 describe a resource management system that dynamically monitors distributed resources and applications, evaluates host suitability, and then takes action to allocate or reallocate applications to meet performance goals. A PHOSITA, motivated by the ongoing challenges in managing complex distributed systems, would have found it obvious to combine the aforementioned known concepts and technologies to achieve these objectives.
Motivation for Combination:
The primary motivation for a PHOSITA to combine these known elements would be to create more efficient, robust, and self-managing distributed computing environments. As distributed systems became more prevalent, manual resource management became increasingly difficult. Automating the monitoring, analysis, and reallocation of resources based on real-time performance data and predefined requirements would be a natural and desirable evolution of the technology. The goal, as implicitly acknowledged by the patent itself, was to effectively manage resources to "maintain user-specified system performance goals."
Specifically, a PHOSITA would be motivated to:
- Integrate Monitoring with Control: Given existing monitoring capabilities (Remos, SNMP, Host Monitors), it would be obvious to use the gathered performance data to inform decisions about resource allocation. Knowing a host's load (CPU, memory, network) or an application's performance metrics would logically lead to decisions to optimize resource usage.
- Implement Dynamic Adjustments: Once performance issues or opportunities for optimization are identified through monitoring, using known application control mechanisms (OS commands for start/stop) to dynamically adjust where and how applications run (e.g., starting new copies, moving existing ones) is a straightforward step to improve system performance or reliability.
- Define and Meet Performance Goals (QoS): Recognizing the importance of QoS, a PHOSITA would be motivated to formalize application requirements and system configurations (even if initially through simpler configuration files rather than a sophisticated "System Specification Library") and then leverage monitoring and control mechanisms to ensure these goals are met.
Combination Applied to the Claims:
Independent Claim 1 (Method Claim):
- Continuously monitoring performance: Known tools like Remos, SNMP, and Host Monitors provided continuous monitoring of network and host performance. Instrumentation APIs could monitor application performance.
- Determining status and health: The data collected from these monitoring tools directly provides information about the status (e.g., host up/down, application running/failed) and health (e.g., CPU load, network utilization) of the components.
- Determining fitness: Aggregating and interpreting various performance metrics (CPU, network, memory, paging activity) to derive a "fitness" score or ranking for a host is a logical step for prioritizing resource allocation in a distributed environment.
- Determining allocation/reallocation actions: Based on the determined status, health, and host fitness, deciding to start, shut down, or move applications to optimize performance (e.g., address an overloaded host or a slow application copy) is an obvious problem-solving approach in distributed computing.
- Issuing signals: Using established program control agents (e.g., PC Agents employing OS-specific commands) to execute the determined actions (start, stop, move) was a known way to manage processes remotely.
Independent Claim 13 (System Claim):
- Hardware Broker for fitness scores: The function of a hardware broker, gathering OS-level statistics (e.g., from Host Monitors and History Servers) and calculating host fitness scores (CPU-based, network-based, memory-based, paging activity-based), is an obvious implementation of existing monitoring and data aggregation techniques. The patent mentions History Servers collecting info from Host Monitors and providing it to the Host Load Analyzer (Hardware Broker).
- System Specification Library (SSL): The general concept of a library or configuration files for defining application requirements, dependencies, and system capabilities is a fundamental aspect of managing complex software deployments. While the specific grammar of the SSL might have particular features, the utility of such a component for centralizing system metadata would be apparent.
- Resource Manager combining fitness scores and SSL info: A PHOSITA would be motivated to integrate the real-time performance data (fitness scores from the hardware broker) with the static configuration and requirement data (from an SSL-like component) in a central "Resource Manager" to make informed, dynamic decisions about application allocation and reallocation to satisfy predetermined performance goals. The patent clearly states the Resource Manager receives host load/fitness from the Hardware Broker and accesses the SSL.
Independent Claim 14 (Computer Program Product Claim):
- This claim is directed to a computer program product implementing the methods described in Claim 1 and the functionality of the system in Claim 13. If the method and system are considered obvious combinations of existing technologies, then their implementation in software on a computer-readable medium would also be obvious to a PHOSITA skilled in software development for distributed systems.
In summary, given the prior art landscape of distributed computing, network and host monitoring, application control, and the recognized need for QoS management around 2000, a PHOSITA would have been motivated to combine these known elements to create an automated resource management system capable of dynamically allocating and reallocating scalable applications based on performance monitoring and predefined requirements.
Generated 5/29/2026, 6:48:51 PM