10635560

Techniques for Accurately Apprising a User of Progress in Booting a Virtual Appliance

PublishedApril 28, 2020
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
19 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method of displaying an estimate of progress in booting a virtual appliance on a set of virtual machines, the method comprising: building, by a computing device, a data structure that describes dependence relationships between components of the virtual appliance, the components comprising respective computational processes which may be invoked during booting, a dependence relationship indicating that a first component must complete before a second component may be invoked; identifying, by the computing device, with reference to the data structure and an indication of an essential set of components which were pre-defined to be essential to the virtual appliance, a set of components that must complete for booting to be considered finished; and after identifying the set of components required for booting, repeatedly, by the computing device: querying each required component of the set of components that must complete for its respective completion status; calculating an estimated completion percentage for booting the virtual appliance with reference to the respective completion statuses of each required component versus all required components; and displaying an indication of the completion percentage to a user via a user interface.

Plain English Translation

This invention relates to monitoring the boot progress of a virtual appliance across multiple virtual machines. The problem addressed is the lack of visibility into the booting process, making it difficult for users to assess when the system will be operational. The solution involves tracking the completion status of essential components to provide a real-time progress estimate. The method begins by constructing a data structure that maps the dependencies between components of the virtual appliance. Each component represents a computational process that may be invoked during booting, with dependencies indicating that one component must finish before another can start. The system then identifies a predefined set of essential components required for the virtual appliance to be fully functional. These components are used to determine when booting is complete. During the boot process, the system repeatedly checks the completion status of each essential component. It calculates an estimated completion percentage by comparing the number of completed components against the total required. This percentage is displayed to the user via a user interface, providing a clear indication of boot progress. The approach ensures users can monitor the booting process and anticipate when the system will be ready for use.

Claim 2

Original Legal Text

2. The method of claim 1 wherein: querying includes receiving query responses for a strict subset of the set of components, the query response for each component of the subset indicating completion of that respective component; and calculating the estimated completion percentage includes dividing a number of elements of the subset by a number of elements of the set of components that must complete.

Plain English Translation

This invention relates to a method for estimating the completion percentage of a multi-component process or system. The method addresses the challenge of accurately tracking progress in systems where components complete at different rates or where only partial completion data is available. The method involves querying a subset of components to determine which have completed, then calculating an estimated completion percentage by comparing the number of completed components in the subset to the total number of components that must complete. This approach allows for efficient progress tracking without requiring real-time data from all components, which is particularly useful in large-scale or distributed systems where full data collection may be impractical. The method ensures that the completion estimate remains accurate even when only a portion of the components can be queried at a given time. The invention is applicable in various domains, including software deployment, manufacturing processes, and project management, where monitoring progress across multiple interdependent components is essential. The technique provides a scalable and resource-efficient way to assess overall system completion based on partial data.

Claim 3

Original Legal Text

3. The method of claim 1 wherein: querying includes receiving query responses for a subset of the set of components, the query response for each component of the subset indicating a percent completion of that respective component; and calculating the estimated completion percentage includes: summing the received percent completions for each component of the subset, yielding a completion sum; and dividing the completion sum by a number of elements of the set of components that must complete.

Plain English Translation

This invention relates to a method for estimating the completion percentage of a project or task composed of multiple components. The method addresses the challenge of tracking progress in systems where not all components provide completion data, ensuring accurate progress estimation even with partial information. The method involves querying a subset of components within a larger set to retrieve their individual percent completion values. For each queried component, a response is received indicating its completion percentage. The method then calculates an estimated overall completion percentage by summing these individual completion percentages to produce a completion sum. This sum is divided by the number of components that must complete to determine the final estimated completion percentage. This approach allows for progress tracking even when some components do not report their status, providing a reliable estimate based on available data. The method ensures that the calculation accounts for the total number of required components, ensuring accuracy in the progress assessment. This technique is particularly useful in project management, software development, or any system where partial data must be extrapolated to estimate overall progress.

Claim 4

Original Legal Text

4. The method of claim 1 wherein: building the data structure includes creating a directed graph structure in which the components are represented by nodes and a dependence relationship indicating that a first component must complete before a second component may be invoked is represented by a directed edge from a node representing the first component towards a node representing the second component; and identifying the set of components that must complete for booting to be considered finished includes traversing the directed graph structure in reverse order from the essential set of components to yield the set of components that must complete for booting to be considered finished.

Plain English Translation

This invention relates to systems for managing component dependencies during a boot process in computing environments. The problem addressed is efficiently determining which components must complete execution before a system can be considered fully booted, particularly in systems with complex interdependencies between components. The method involves constructing a data structure that models component dependencies as a directed graph. In this graph, each component is represented by a node, and a directed edge from one node to another indicates that the first component must complete before the second component can be invoked. This graph structure allows for systematic analysis of dependencies. To determine which components must complete for booting to finish, the method traverses the graph in reverse order starting from a predefined set of essential components. This traversal identifies all components that must complete before the essential components can be executed, ensuring that the system meets its boot completion criteria. The reverse traversal ensures that all dependencies are accounted for, preventing incomplete boot states. This approach improves boot reliability by ensuring all necessary components are executed in the correct order, reducing the risk of system failures due to unmet dependencies. The method is particularly useful in complex systems where manual dependency management is impractical.

Claim 5

Original Legal Text

5. The method of claim 4 wherein calculating the estimated completion percentage includes modeling a remainder of the boot process by traversing the directed graph from nodes representing components that have already completed towards nodes representing the essential set of components in parallel on a pre-determined maximum number of cores assigned to the virtual appliance.

Plain English Translation

This invention relates to estimating the completion percentage of a boot process for a virtual appliance by modeling the remaining steps using a directed graph traversal. The technology addresses the challenge of accurately predicting boot completion time in virtualized environments, where traditional methods fail to account for parallel execution of components and dynamic dependencies. The method involves constructing a directed graph representing the boot process, where nodes correspond to components and edges represent dependencies between them. The graph is traversed from nodes representing already completed components toward nodes representing an essential set of components required for full boot completion. This traversal is performed in parallel across a pre-determined maximum number of cores assigned to the virtual appliance, simulating how the boot process would execute in a multi-core environment. By modeling the remaining boot steps in this way, the system calculates an estimated completion percentage that reflects the actual parallel execution capabilities of the virtual appliance. This approach improves accuracy over sequential models by accounting for concurrent processing of independent components, providing users with a more reliable prediction of boot time. The technique is particularly useful in cloud computing and virtualized systems where boot performance is critical.

Claim 6

Original Legal Text

6. The method of claim 1 wherein displaying the indication of the completion percentage includes displaying the completion percentage to the user directly via the user interface.

Plain English Translation

A system and method for providing visual feedback on task completion progress within a user interface. The invention addresses the need for clear, real-time progress indicators to improve user experience and efficiency in digital applications. The method involves tracking the progress of a task or operation and calculating a completion percentage based on predefined metrics or milestones. This completion percentage is then displayed directly to the user within the user interface, ensuring immediate visibility without requiring additional navigation or interaction. The display may include numerical values, progress bars, or other visual representations to convey the completion status effectively. The system may also incorporate dynamic updates to reflect real-time changes in progress, enhancing user awareness and decision-making. The method is applicable to various applications, including software installations, data processing tasks, or any operation where progress tracking is beneficial. By providing direct, unobstructed feedback, the invention helps users monitor progress efficiently and reduces uncertainty during task execution.

Claim 7

Original Legal Text

7. The method of claim 1 wherein displaying the indication of the completion percentage includes: calculating an estimate of time remaining to boot the virtual appliance by multiplying the completion percentage by an estimate of the total boot time; and displaying the estimate of time remaining to boot to the user via the user interface.

Plain English Translation

This invention relates to virtual appliance booting systems and addresses the problem of providing users with clear, real-time feedback during the boot process. The method involves calculating and displaying a completion percentage for the boot process, which is derived from monitoring the progress of various boot stages. The completion percentage is dynamically updated as each stage is completed, giving users a visual representation of progress. Additionally, the method estimates the remaining boot time by multiplying the completion percentage by an estimated total boot time, then displays this time estimate to the user via a user interface. This helps users anticipate when the virtual appliance will be fully operational, improving usability and reducing uncertainty during the boot process. The system may also track individual boot stages, such as initialization, configuration, and service startup, to refine the completion percentage and time estimates. The user interface may include visual elements like progress bars or numerical indicators to convey this information clearly. The invention enhances user experience by providing transparent, actionable feedback during virtual appliance deployment.

Claim 8

Original Legal Text

8. The method of claim 7 wherein: the method is performed as part of a first boot of the virtual appliance upon being initially configured; and the estimate of the total boot time is pre-established based on timed boot results for similarly-configured systems.

Plain English Translation

This invention relates to optimizing the boot process of a virtual appliance, particularly during its initial configuration. The method involves estimating the total boot time for the virtual appliance during its first boot, using pre-established timing data from similarly-configured systems. The goal is to improve efficiency and user experience by providing a more accurate prediction of boot duration, reducing uncertainty and potential delays in deployment. The method leverages historical boot performance data from comparable systems to generate a reliable estimate, ensuring that the virtual appliance can be configured and deployed with minimal downtime. This approach is particularly useful in environments where rapid deployment and predictable performance are critical, such as cloud computing or enterprise IT infrastructure. By incorporating pre-established timing data, the method avoids the need for real-time calculations, streamlining the boot process and enhancing overall system reliability. The invention addresses the challenge of unpredictable boot times in virtual appliances, which can lead to inefficiencies in resource allocation and user frustration. The solution provides a systematic way to estimate boot duration based on proven performance metrics, ensuring smoother and more efficient virtual appliance deployment.

Claim 9

Original Legal Text

9. The method of claim 7 wherein: the method is performed as part of a reboot of the virtual appliance, the virtual appliance having been previously booted on the set of virtual machines; and the method further comprises calculating the estimate of the total boot time with reference to previous measured boot times for the virtual appliance on the set of virtual machines.

Plain English Translation

This invention relates to optimizing the boot process of a virtual appliance across multiple virtual machines. The problem addressed is the inefficiency in rebooting virtual appliances, particularly when the appliance has been previously deployed on a set of virtual machines. The invention provides a method to estimate the total boot time of the virtual appliance during a reboot by leveraging historical boot time data from prior deployments on the same set of virtual machines. The method involves analyzing previous measured boot times for the virtual appliance on the specified virtual machines to generate a more accurate prediction of the current boot duration. This approach improves system efficiency by reducing uncertainty in boot time estimation, allowing for better resource allocation and scheduling. The technique is particularly useful in environments where virtual appliances are frequently rebooted, such as cloud computing or virtualized data centers, where minimizing downtime and optimizing performance are critical. By using historical data, the method avoids relying solely on static or generic estimates, leading to more precise and reliable boot time predictions.

Claim 10

Original Legal Text

10. The method of claim 1 wherein the virtual appliance comprises a single virtual machine running on a single server.

Plain English Translation

A virtual appliance is a pre-configured software environment designed to run on virtualized infrastructure. Traditional virtual appliances often require multiple virtual machines (VMs) or complex setups, leading to inefficiencies in resource usage, deployment complexity, and maintenance overhead. This invention addresses these issues by providing a virtual appliance that consists of a single virtual machine running on a single server. The single VM approach simplifies deployment, reduces resource consumption, and minimizes management complexity. The virtual appliance includes all necessary software components, configurations, and dependencies pre-installed, ensuring immediate functionality upon deployment. The single-server architecture eliminates the need for distributed coordination, improving performance and reliability. This design is particularly useful in cloud computing, enterprise IT, and software-as-a-service (SaaS) environments where rapid deployment and scalability are critical. The invention ensures that the virtual appliance operates efficiently with minimal administrative intervention, reducing costs and operational burdens. By consolidating all components into a single VM, the solution enhances portability, making it easier to migrate or replicate the appliance across different environments. The invention also supports automated provisioning, allowing for seamless integration into existing infrastructure management systems. Overall, this approach streamlines virtual appliance deployment while maintaining performance and reliability.

Claim 11

Original Legal Text

11. The method of claim 1 wherein: the virtual appliance comprises a plurality of virtual machines running on a plurality of servers; and the components further comprise respective clustered-managed resources invoked during booting by one of the plurality of virtual machines.

Plain English Translation

This invention relates to virtual appliance systems, specifically addressing the challenge of managing and booting virtual appliances that consist of multiple virtual machines distributed across multiple servers. The system includes a virtual appliance composed of several virtual machines running on different servers, where each virtual machine is responsible for invoking and managing clustered-managed resources during the boot process. These resources are shared and coordinated among the virtual machines to ensure proper initialization and operation of the virtual appliance. The clustered-managed resources may include storage, networking, or other shared services that require synchronization and coordination across the distributed virtual machines. The method ensures that the virtual appliance boots correctly by leveraging these clustered-managed resources, which are invoked by one of the virtual machines during the boot sequence. This approach improves reliability and efficiency in deploying and managing complex virtual appliances that span multiple servers and virtual machines.

Claim 12

Original Legal Text

12. The method of claim 11 wherein the computing device is one of the plurality of servers.

Plain English Translation

A system and method for distributed computing involves managing workloads across multiple servers to optimize resource utilization and performance. The technology addresses inefficiencies in traditional distributed systems where tasks are not optimally allocated, leading to bottlenecks or underutilized resources. The method includes dynamically assigning computational tasks to servers based on real-time performance metrics such as processing capacity, network latency, and workload distribution. A central coordinator or a decentralized algorithm monitors server statuses and reallocates tasks to balance the load. The method also includes failover mechanisms to redirect tasks from malfunctioning servers to operational ones, ensuring continuous service. In one embodiment, a computing device, which may be one of the servers in the distributed network, executes the task allocation logic. This device collects performance data from all servers, analyzes the data to determine optimal task distribution, and enforces the allocation rules. The system improves efficiency by reducing idle time and preventing overloading of any single server, leading to faster processing and higher reliability. The method is applicable in cloud computing, data centers, and other large-scale distributed environments.

Claim 13

Original Legal Text

13. The method of claim 11 wherein the virtual appliance is a virtual storage appliance, and the plurality of virtual machines are respective virtual storage processors each configured, in a fault-tolerant swappable manner, to respond to host storage queries by accessing physical storage devices available to that virtual storage processor over a network.

Plain English Translation

This invention relates to virtualized storage systems, specifically a method for improving fault tolerance and scalability in virtual storage appliances. The system addresses the problem of ensuring continuous availability and efficient resource utilization in distributed storage environments where virtual machines (VMs) handle storage operations. The method involves deploying a virtual storage appliance that manages multiple virtual storage processors, each implemented as a separate virtual machine. These virtual storage processors are configured to operate in a fault-tolerant and swappable manner, meaning they can dynamically replace each other without disrupting service. Each virtual storage processor responds to host storage queries by accessing physical storage devices over a network, allowing for distributed and scalable storage management. The fault-tolerant design ensures that if one virtual storage processor fails, another can seamlessly take over its tasks, maintaining data availability. The swappable nature allows for easy upgrades, maintenance, or scaling by replacing or adding virtual storage processors without downtime. This approach optimizes resource allocation and improves system reliability in virtualized storage environments. The system is particularly useful in cloud computing and enterprise storage solutions where high availability and efficient resource management are critical.

Claim 14

Original Legal Text

14. The method of claim 1 wherein the virtual appliance is a virtual storage appliance configured to respond to host storage queries by accessing physical storage devices available to the virtual appliance over a network.

Plain English Translation

A virtual storage appliance is a software-based system that provides storage services to host computers by interfacing with physical storage devices over a network. The appliance responds to storage queries from host systems, such as read or write requests, by accessing and managing data stored on network-attached physical storage devices. This approach decouples storage management from physical hardware, allowing for centralized control, scalability, and flexibility in storage provisioning. The virtual storage appliance abstracts the underlying physical storage infrastructure, presenting a unified storage interface to host systems while handling data distribution, redundancy, and performance optimization across the network-connected storage devices. This method enables dynamic allocation of storage resources, improved utilization of storage hardware, and simplified management of distributed storage environments. The virtual appliance may also implement features such as data replication, snapshots, and tiered storage to enhance reliability and performance. By operating over a network, the system supports remote storage access, disaster recovery, and cloud-based storage solutions. The technology addresses challenges in traditional storage architectures, such as hardware dependencies, limited scalability, and complex management, by providing a software-defined storage solution that leverages networked storage resources.

Claim 15

Original Legal Text

15. The method of claim 1 wherein: the virtual machine runs on the computing device, the virtual machine being managed by a hypervisor running on the computing device; the method is performed by the hypervisor; and displaying the indication of the completion percentage to the user via the user interface includes the hypervisor sending the indication from the computing device to a user device over a network connection to be displayed on a display of the user device.

Plain English Translation

This invention relates to virtual machine management in computing systems, specifically addressing the need for users to monitor the progress of virtual machine operations, such as installation or updates, in real-time. The system involves a hypervisor running on a computing device that manages one or more virtual machines. The hypervisor tracks the progress of operations performed on the virtual machine, calculates a completion percentage, and provides this information to the user through a user interface. The hypervisor sends the completion percentage indication over a network connection to a user device, where it is displayed on the device's screen. This allows remote users to monitor the status of virtual machine operations without direct access to the computing device hosting the virtual machine. The solution improves transparency and user experience by ensuring real-time feedback on operation progress, particularly in environments where virtual machines are managed remotely. The hypervisor's role in both managing the virtual machine and communicating progress ensures seamless integration and accurate tracking of operation status.

Claim 16

Original Legal Text

16. The method of claim 1 wherein the components which were pre-defined to be essential to the virtual appliance were pre-defined by a programmer upon programming code of the virtual appliance.

Plain English Translation

A method for managing virtual appliances involves identifying and handling components that are essential to the operation of the virtual appliance. The essential components are pre-defined by a programmer during the development of the virtual appliance's code. These components are critical for the appliance's functionality and must be preserved or properly managed during operations such as migration, scaling, or updates. The method ensures that these essential components are recognized and treated appropriately to maintain the appliance's integrity and performance. The approach may include marking or tagging these components within the codebase to distinguish them from non-essential elements, allowing the system to prioritize or protect them during various lifecycle stages. This method helps prevent disruptions or failures by ensuring that critical components are not inadvertently modified or removed. The technique is particularly useful in cloud computing environments where virtual appliances are frequently deployed, scaled, or migrated across different infrastructure resources. By pre-defining essential components during programming, the method provides a systematic way to manage critical elements of the virtual appliance throughout its lifecycle.

Claim 17

Original Legal Text

17. The method of claim 1 wherein the components which were pre-defined to be essential to the virtual appliance were indicated by the user upon initially configuring the virtual appliance.

Plain English Translation

A method for managing virtual appliances involves identifying and preserving essential components during updates or modifications. The technique addresses the challenge of maintaining critical functionality in virtual appliances when updates or changes are applied, ensuring that core components remain intact and operational. Users predefine which components are essential during the initial configuration of the virtual appliance, allowing the system to recognize and protect these components during subsequent updates. This ensures that only non-essential components are modified or replaced, preventing disruptions to critical operations. The method may also include steps for detecting changes in the virtual appliance, comparing current components against the predefined essential components, and selectively applying updates to non-essential components while preserving the essential ones. This approach enhances reliability and stability in virtual appliance environments by preventing unintended modifications to critical elements. The technique is particularly useful in cloud computing, virtualization, and software deployment scenarios where maintaining specific configurations is crucial.

Claim 18

Original Legal Text

18. A computer program product comprising a non-transitory computer-readable storage medium storing a set of instructions, which, when performed by a computing device, causes the computing device to display an estimate of progress in booting a virtual appliance on a set of virtual machines by: building, by the computing device, a data structure that describes dependence relationships between components of the virtual appliance, the components comprising respective computational processes which may be invoked during booting, a dependence relationship indicating that a first component must complete before a second component may be invoked; identifying, by the computing device, with reference to the data structure and an indication of an essential set of components which were pre-defined to be essential to the virtual appliance, a set of components that must complete for booting to be considered finished; and after identifying the set of components required for booting, repeatedly, by the computing device: querying each required component of the set of components that must complete for its respective completion status; calculating an estimated completion percentage for booting the virtual appliance with reference to the respective completion statuses of each required component versus all required components; and displaying an indication of the completion percentage to a user via a user interface.

Plain English Translation

This invention relates to monitoring the boot progress of a virtual appliance across multiple virtual machines. The problem addressed is the lack of visibility into the booting process of virtual appliances, which can be complex due to dependencies between components and the distributed nature of virtual machines. The solution involves a computer program that tracks and displays the boot progress in real-time. The system builds a data structure that maps out the dependencies between different components of the virtual appliance. These components are computational processes that must be executed during booting, with some components requiring others to complete first. The system also identifies a predefined set of essential components that are critical for the virtual appliance to function. By analyzing the dependencies and the essential components, the system determines which components must finish for the boot process to be considered complete. Once the required components are identified, the system repeatedly checks the completion status of each component. It then calculates an estimated completion percentage by comparing the number of completed components against the total required components. This percentage is displayed to the user through a user interface, providing a clear indication of the boot progress. This approach ensures users can monitor the booting process efficiently, even in distributed environments.

Claim 19

Original Legal Text

19. A system comprising: a user device; a network to which the user device is communicatively connected; and a set of servers which run a virtual appliance on a set of virtual machines, the set of servers being communicatively connected to the network, the set of servers including a computing device configured to estimate progress in booting the virtual appliance by: building, by the computing device, a data structure that describes dependence relationships between components of the virtual appliance, the components comprising respective computational processes which may be invoked during booting, a dependence relationship indicating that a first component must complete before a second component may be invoked; identifying, by the computing device, with reference to the data structure and an indication of an essential set of components which were pre-defined to be essential to the virtual appliance, a set of components that must complete for booting to be considered finished; and after identifying the set of components required for booting, repeatedly, by the computing device: querying each required component of the set of components that must complete for its respective completion status; calculating an estimated completion percentage for booting the virtual appliance with reference to the respective completion statuses of each required component versus all required components; and sending an indication of the completion percentage to the user device over the network to be displayed to a user via a user interface of the user device.

Plain English Translation

This invention relates to systems for monitoring and estimating the progress of booting a virtual appliance in a cloud or networked computing environment. The problem addressed is the lack of visibility into the booting process of virtual appliances, which can lead to user frustration and inefficiency when waiting for systems to become operational. The system includes a user device connected to a network, and a set of servers running a virtual appliance on virtual machines. A computing device within the set of servers estimates boot progress by first constructing a data structure that maps the dependencies between different components of the virtual appliance. These components are computational processes that must be invoked during booting, with dependencies indicating that certain components must complete before others can start. The system then identifies a predefined set of essential components that must finish for the boot process to be considered complete. During booting, the system repeatedly checks the completion status of each required component, calculates an estimated completion percentage based on the proportion of completed components relative to the total required, and sends this percentage to the user device for display. This provides users with real-time feedback on the booting progress, improving transparency and user experience.

Patent Metadata

Filing Date

Unknown

Publication Date

April 28, 2020

Inventors

Victoria Vladimirovna Cherkalova
Dmitry Vladimirovich Krivenok

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “TECHNIQUES FOR ACCURATELY APPRISING A USER OF PROGRESS IN BOOTING A VIRTUAL APPLIANCE” (10635560). https://patentable.app/patents/10635560

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/10635560. See llms.txt for full attribution policy.