Encoded Package Profile Generation for Software Update Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software package management systems lack the capability to identify and manage executing processes on client machines, particularly in scenarios involving virtual machines or large networks, leading to complications during software updates and security audits.
Innovation Solution
A system and method for generating an encoded package profile by identifying executing processes on a host machine, associating them with installed software packages, and encoding a profile or identifier using hash functions, which can be transmitted to a remote management platform for update and configuration operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If package updates are distributed to machines in a managed network, then software package updates can be deployed, but installation-related software faults occur when applications are currently executing on target machines
Solution Approach 1:
The system performs preliminary identification of executing processes and their associated packages before initiating package updates. This allows administrators to detect which machines have running applications that would conflict with upcoming updates, enabling preventive actions (such as scheduling updates during maintenance windows or notifying users) before installation faults occur.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring executing processes on client machines and reporting this information back to the package management server. This feedback loop enables the server to make informed decisions about update scheduling and avoids deploying updates to machines where they would cause installation faults.
2Ease of operation
If administrators manually identify machines with executing applications, then they can terminate applications or reboot machines for updates, but the process becomes time-consuming and complex in large networks
Solution Approach 1:
The system enables self-service by automatically having client machines report their executing processes to the package management server. This eliminates the need for administrators to manually query or identify machines with running applications - the system does this automatically through agents or process enumeration on client machines, significantly reducing administrative time and effort.
Solution Approach 2:
The system introduces an intermediary package management server that acts as a mediator between administrators and client machines. Instead of administrators directly querying each machine, the server collects process information from multiple clients, processes this data centrally, and provides administrators with consolidated information for update planning.
3Adaptability or versatility
If package management systems store packages locally on client machines, then direct inspection of package objects is possible, but virtual machines in cloud-based networks do not host disk storage for clients
Solution Approach 1:
The system inverts the traditional approach by not relying on local package object inspection. Instead of querying stored packages to determine what is running, it enumerates executing processes and works backwards to identify their associated packages through process-to-package mapping, making the system adaptable to virtual environments where local storage inspection is not feasible.
Solution Approach 2:
The system achieves universality by implementing a package identification mechanism that works across both physical and virtual machine environments. The process-based identification approach is environment-agnostic, allowing the same package management infrastructure to serve diverse deployment scenarios including cloud-based virtual machines without requiring local package storage.
4Reliability
If administrators perform security audits after threat detection, then they can identify infected applications, but existing package update managers lack tools for auditing executing processes
Solution Approach 1:
The package management system achieves multi-functionality by integrating security audit capabilities into its core process identification and package tracking infrastructure. The same mechanisms used for update management (process enumeration, process-to-package mapping, centralized reporting) are also leveraged for security auditing, eliminating the need for separate audit tools and reducing overall system complexity.
Data Source
AI summary
Embodiments relate to generating an encoded package profile based on executing host processes. A physical or virtual client machine can host a set of installed software packages, including operating system, application, and/or other software. A package manager tracks the set of installed packages and updates available for the installed set. The package manager and/or other logic can identify currently executing processes on the client, and determine which package(s) corresponding to that set of executing processes are hosted on the client. The package manager can generate a report to a package server and/or other remote management platform to perform management operations on the client, such as, for example, to terminate executing processes on a target client to permit package update processes to take place. Other network management actions, such as inventorying or grouping virtual machines in a cloud or other network, can likewise be performed.


