Feedback analysis for a virtual machine administrator's scheduling

The virtual management and scheduling unit addresses inflexible scheduling in VMs by adjusting schedules based on user feedback, improving convenience and resource utilization.

DE102016101779B4Active Publication Date: 2026-02-19INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102016101779
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2015-02-09
Filing Date
2016-02-02
Publication Date
2026-02-19
Estimated Expiration
2036-02-02

AI Technical Summary

Technical Problem

Existing virtual machine management systems lack flexibility in scheduling activities, often disrupting users due to fixed timetables that do not align with user convenience, and fail to incorporate end-user feedback for optimal resource utilization.

Method used

A virtual management and scheduling unit that allows for defining schedules for virtual machine activities and applying adjustments based on user feedback, summarizing feedback from multiple clients, and determining group adjustments based on feedback functions.

Benefits of technology

Enables dynamic scheduling that aligns with user preferences, optimizing resource utilization by incorporating end-user feedback, thereby enhancing convenience and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method (100) for executing a virtual manager and scheduler for scheduling activities for virtual machines (204), VMs, wherein the method comprises: Defining a schedule (102) for one or more activities to be performed on a virtual machine (204), wherein the schedule includes time information for the virtual machine (204) and wherein the time information includes active hours of the virtual machine (204) in the daily routine, active days of the virtual machine in the weekly routine, a time of maintenance activities, a time of deletion or shutdown, a time for a snapshot of the virtual machine, a backup time, a time to put the virtual machine (204) into sleep mode, or a time to resume the virtual machine; Applying (104) an adjustment to the schedule in accordance with feedback information received via a VM client (206); Summarizing (106) the feedback information from a plurality of VM clients (206) according to scheduled activity type, each VM client (206) belonging to a virtual machine; and Determine (108) a group fit for a determined group of VM clients (206) based on a function of the feedback information of the majority of VM clients (206).
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] Embodiments of the present invention generally relate to virtual machines (VMs) and, in particular, to a method for executing a virtual manager and planner for scheduling activities for virtual machines. Further embodiments may relate to a virtual management and planning unit for scheduling activities for virtual machines and an associated computer program product.

[0002] The use of virtual machines running in a virtual resource management unit (VMU), a virtual machine manager (VMM), or a hypervisor to better utilize available hardware is common practice today. However, VMs tend to run indefinitely after deployment (i.e., they are not shut down or deleted after use, nor do they require regular maintenance). One option is manual maintenance management; another is automated VM management. These automated management tasks or activities are often not performed at times convenient for VM users, as the tasks are scheduled on a fixed timetable and can therefore disrupt a user working with the virtual machine.

[0003] US 2013 / 0231953A1 describes a system, a procedure, and a software product for matching members of a population (e.g., patients) based on similarities. Patients are represented in a bipartite graph with weighted edges grouped into factors. For new patient queries, the similarity to other patients is calculated for each cluster and aggregated into a global measure of proximity, based on which the most similar patients are displayed and feedback is provided.

[0004] US 2007 / 0149952A1 describes systems and procedures for controlling the administration of a pharmacological agent, in particular an antiepileptic drug. Patient-specific signals are processed to predict the onset of a seizure. Upon such a prediction, the patient receives access to the drug via a corresponding dispenser.

[0005] WO 2011 / 124 758 A1 describes a computer-based method for characterizing the severity of a cancer marker in a tissue sample using gene expression data and a reference database. The sample and reference data are read in, a specific cancer marker and its corresponding gene list are selected, the gene expression values ​​of the sample are compared with the reference values, and finally, a value or description is output indicating the position of the sample relative to the reference values.

[0006] US 2004 / 0242972A1 describes a method, system, and computer program for predicting a medical condition. A request for prognostic support for a patient is received, relevant medical—especially longitudinal—data are extracted, and predictive modeling techniques are derived from this data. These techniques utilize data analysis methods to identify correlations in repeated measurements and, based on these relationships, predict the patient's clinical outcome or medical prognosis. SUMMARY

[0007] The object of the invention is to provide an improved method, an improved virtual management and planning unit, and an improved computer program product for scheduling activities for virtual machines. The invention is described by the features of the independent claims. Embodiments are specified in the dependent claims.

[0008] According to one embodiment, a method for running a virtual manager and scheduler for scheduling activities for virtual machines is provided. The method can include defining a schedule for one or more activities, in particular maintenance activities, to be executed on a virtual machine, as well as applying an adjustment to the schedule in accordance with feedback information received via a VM client, in particular from a user.

[0009] The procedure can further include summarizing feedback information from a plurality of VM clients, each belonging to a virtual machine, according to the planned activity type, as well as determining a group adjustment for a determined group of VM clients based on a function of the feedback information of the plurality of VM clients.

[0010] According to another embodiment, a virtual management and scheduling unit is provided for scheduling activities for virtual machines. The virtual management and scheduling unit can include a definition module designed to define a schedule for one or more activities to be executed on a virtual machine, and an adjustment unit designed to apply an adjustment to the schedule in accordance with feedback information received via a VM client module.

[0011] The virtual management and planning unit may further include a summary unit designed to summarize feedback information from a plurality of VM clients, each belonging to a virtual machine, according to the planned activity type, and a discovery unit designed to determine a group adjustment for a discovered group of VM clients based on a function of the feedback information of the plurality of VM clients.

[0012] Embodiments may further take the form of an associated computer program product accessible via a computer-usable or computer-readable medium that provides program code which can be used by or in conjunction with a computer or any other system for instruction execution. For the purposes of this description, a computer-usable or computer-readable medium may be any device containing a means for storing, exchanging, distributing, or transmitting the program which is used by or in conjunction with the instruction execution system, device, or unit. Brief description of the different views of the drawings

[0013] The following detailed description, which is merely exemplary and is not intended to limit the invention exclusively to it, is best understood in conjunction with the accompanying drawings, in which not all structures may be depicted. Fig. Figure 1 shows a block diagram of the invention's method for executing a virtual manager and planner for scheduling activities for virtual machines. Fig. Figure 2 shows a block diagram of an embodiment of a hypervisor with virtual machines and a virtual management and planning unit. Fig. Figure 3 shows a flowchart of the procedure according to Fig. 1. Fig. Figure 4 shows a more detailed flowchart of the procedure according to Fig. 1 and Fig. 3. Fig. Figure 5 shows a second part of an embodiment of the more detailed flow chart of the procedure according to Fig. 1 and Fig. 3. Fig. Figure 6 shows a block diagram of the virtual administration and planning unit. Fig. Figure 7 shows an embodiment of a computer for use with the method of the invention or the virtual management and planning unit.

[0014] The drawings are not necessarily drawn to scale. They are merely schematic representations and are not intended to depict specific parameters of the invention. The drawings are intended only to illustrate typical embodiments of the invention. In the drawings, identical numbers represent identical elements. DETAILED DESCRIPTION

[0015] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it should be clear that the disclosed embodiments merely illustrate the claimed structures and methods, which can be implemented in various ways. This invention can be implemented in many different ways and should not be understood as limited to the embodiments mentioned herein as examples. Rather, these exemplary embodiments are provided to ensure that this disclosure is thorough and complete and fully conveys the scope of this invention to the person skilled in the art.

[0016] It should be noted that embodiments of the invention have been described with reference to different subject matter. In particular, some embodiments have been described with reference to process-related claims, while other embodiments have been described with reference to device-related claims. However, a person skilled in the art should recognize from the above explanations and the following description that, unless otherwise stated, in addition to any combination of features belonging to one type of subject matter, any combination of features relating to different subject matter, in particular features of the process-related claims and features of the device-related claims, is also considered to be disclosed in this document.

[0017] For the sake of clarity in presenting embodiments of the present invention, some processing steps or operations known from the prior art may be summarized in the following detailed description for the purpose of presentation and illustration, and in some cases may not be described in detail. In other cases, some processing steps or operations known from the prior art are not described at all. It should be clear that the following description focuses on the special features or elements of various embodiments of the present invention.

[0018] In connection with this description, the following conventions, terms, and / or expressions may be used. The term "virtual machine" can refer to a software emulation of a specific physical computer system. Virtual machines (VMs) can be based on the computer architecture and functions of a real or hypothetical computer, and their implementations may include specialized hardware, software, or a combination thereof. Virtual machines are typically run on a hypervisor, which serves to separate a virtual machine from a physical machine.

[0019] The term "hypervisor" can refer to a software layer that runs directly on the hardware of a computer system and can include: a resource management unit that manages the physical resources of the computer system; a processor management unit that manages the computer processor(s); and a hardware emulation unit that creates and manages multiple virtual machines. An operating system can run in any of these multiple virtual machines and transparently share the multiple computer processors and physical resources via the hypervisor layer. The operating systems in different virtual machines can differ from one another.

[0020] When a virtual machine (VM) is interrupted, the current state of the VM definition, as well as the state of the operating system, applications, and all associated data, is saved. When the VM is resumed, the operating system, applications, and data can continue from where the VM was interrupted. If a VM is not in use, it can be shut down to free up underlying computer system resources. Shutting down a VM is analogous to a regular shutdown of a physical computer. An operating state cannot be saved during shutdown. Aborting a VM can be analogous to powering it off and is similar to unplugging the power cord from a physical computer. It can be performed in case of an error or when a regular shutdown fails.

[0021] The term "activities" can refer to any action performed on or with virtual machines. Examples of these activities include starting a VM, stopping or shutting down a VM, deleting or terminating a VM, suspending a VM (i.e., putting it into a sleep or hibernation state), or updating a VM (e.g., with new unit drivers). These activities can also include backing up a VM or creating a snapshot.

[0022] The term "schedule" can refer to a schedule that defines times for activities to be performed on a virtual machine, as described above. The term "adjustment" can refer to a deviation from the scheduled times of a schedule. An adjustment can be specified as a time difference from a given time for a scheduled activity or as an absolute hour.

[0023] The term "VM client" can refer to a component that may be available for any virtual machine (VM). It can display a schedule to a user and also receive input from the user regarding schedule adjustments. Furthermore, the VM client can detect the VM's state information (e.g., active, inactive). This state information can be used instead of feedback information and sent by the VM client to the virtual management and scheduling unit.

[0024] The term "virtual management and scheduling unit" can refer to a component that includes software code and / or hardware elements designed to manage and control activity schedules for a plurality of virtual machines. The virtual management and scheduling unit can also be designed to create groups of activities based on feedback (i.e., feedback information) received from various virtual machines via VM clients.

[0025] Embodiments of the present invention, including the proposed method for running a virtual manager and scheduler for scheduling activities for virtual machines, can offer advantages over conventional processes. End-user or user requests and feedback regarding activity schedules can be processed directly through data transmission between a VM client and a virtual management and scheduling unit. Input can originate directly from the use of the virtual machine. Users of a virtual machine can also be informed about scheduled activities based on the schedule. Furthermore, the virtual management and scheduling unit can be aware of the actual usage of supported virtual machines.

[0026] According to one embodiment of the method, the schedule can include time information for the virtual machine. This time information can include the virtual machine's active hours during the day, active hours during the week, a time for maintenance activities (e.g., updates to unit drivers or other code components), a time for deletion, termination, or shutdown (e.g., when a virtual machine's expiration time is reached or a support contract ends), a time for a snapshot of the virtual machine, a backup time, a time to put the virtual machine into sleep mode, and a time to reactivate or resume the virtual machine. A person skilled in the art can apply more and different activities to a virtual machine.

[0027] The VM client can display the schedule for one or more activities to a user on a user interface. Feedback information regarding the details of the schedule for one or more activities can be received from the user and sent back to the VM management unit. This provides a closed information loop.

[0028] The active hours and days can be checked by the VM client based on the session state of a virtual machine. This allows feedback information to be received not only as user input via the VM client, but also measured directly and automatically. The feedback information can include details about the rejection or postponement of a pending activity, a user identifier, an activity identifier, a schedule adjustment specific to the user identifier, a text explanation, and a timestamp. Thus, a complete set of information about an activity and any changes to its associated schedule can be made available within the virtual management and scheduling unit.

[0029] Determining the group fit for the identified group of virtual machines can involve assigning a feedback rank to one or more activities and each associated time period. For example, if a specific activity is scheduled for a particular virtual machine at a preferred time, a group can be created for those specific virtual machines and / or activities. A rank can be higher the greater the amount of feedback for a particular activity. For instance, if the virtual management and scheduling unit initially receives feedback from one or more VM clients stating "shut down the VM every day at 8:00 PM," this first piece of feedback will receive a higher rank than a second piece of feedback stating "update unit drivers for the VM every other day at 9:00 PM." An expert will likely be familiar with equivalent examples.The function of feedback information can be based on a threshold of feedback information, in particular on a number of users who have provided feedback information, or on an average value of individual adjustments, based on which the group adjustment for a specific activity is generated.

[0030] The VM client can receive an updated schedule for one or more activities. This can occur, for example, after a user has entered feedback information regarding a schedule for at least one activity for a specific virtual machine into the VM client, and an updated schedule has been determined by the virtual management and scheduling unit. The updated schedule can also be displayed to a user via the VM client.

[0031] A detailed description of the figures is provided below. All commands in the figures are schematic. First, a block diagram of an embodiment of the invention's method for executing a virtual manager and planner for scheduling activities for virtual machines is provided. Then, further embodiments and embodiments of the virtual management and planning unit for scheduling activities for virtual machines are described.

[0032] Fig. Figure 1 shows a block diagram of an embodiment of Method 100 for running a virtual manager and scheduler for scheduling activities for virtual machines. Method 100 can include defining 102 a schedule for one or more activities to be performed on a virtual machine. The method can also include applying 104 an adjustment to the schedule in accordance with feedback information received via a VM client, in particular from a user. Furthermore, the method can include summarizing 106 the feedback information from a plurality of VM clients according to the scheduled activity type, each VM client belonging to a virtual machine. Finally, the method can be designed to determine a group adjustment for a identified group of VM clients based on a function of the feedback information from the plurality of VM clients.

[0033] Fig. Figure 2 shows a block diagram of a data processing environment with a hypervisor 200, which includes virtual machines 204 and a virtual manager and scheduler 216 or a virtual management and scheduling unit 216. Specifically, each virtual machine 204 can contain a virtualized hardware configuration 210, an operating system 208, and at least one VM client 206. It should be noted that only the virtual machine 204 shown on the far left displays these additional reference numbers. Each virtual machine 204 exchanges data with a data transmission interface 214 212, which can be part of the virtual management and scheduling unit 216. Both the data transmission interface 214 and the virtual management and scheduling unit 216 can also be part of the hypervisor 200.

[0034] Fig. Figure 3 shows a block diagram 300 of a flowchart relating to an embodiment of the present invention. One or more VMs can be created 302. An administrator can define activity schedules for these created virtual machines 304. At a given time 306, a virtual machine can be powered on based on the schedule or based on a manual operation by an administrator. The schedule information can be presented to a user 308. The user can respond to the displayed schedule. The user can reject or postpone a scheduled action or activity 314. If the user chooses to do so, 312 the VM client sends feedback information to the virtual management and scheduling unit.As shown in step 310, the schedule for this particular virtual machine can then be temporarily adjusted, and other feedback information can be collected by the virtual management and scheduling unit for further analysis. As a next step, the updated schedule can be presented to the user again via the VM client (308). If the user does not choose to decline or postpone the next activity (314), the virtual management and scheduling unit can check active sessions for virtual machines (316), and the virtual management and scheduling unit can perform scheduled actions (318).

[0035] Fig. Figure 4 shows a block diagram of a detailed flowchart 400 relating to an embodiment of the present invention. In this flowchart, a virtual machine can initially operate according to a defined schedule 402 and present this information to the VM client 206 ( Fig. 2) As explained above, the user can choose to decline or postpone an upcoming activity 404. The VM client 206 can then provide an identifier (ID) 407 for a scheduled activity 406. Additionally, an end user, specifically through the VM client, can provide a schedule adjustment 409 408. Optionally, a statement 411 can be provided through the VM client 410. After that, a decision can be made 412 as to whether any recent activities of any kind have been performed. If the answer is "NO", the process can proceed to block 418: The end user continues working with the virtual machine. If the answer is "YES", the VM client has a recently scheduled activity ID 414, and the VM client 206 ( Fig. 2) Based on recent VM activity (e.g., the state of the virtual machine), 416 determines an automatic adjustment 413 to the schedule. The end user can then continue working with the virtual machine 418. Additionally, the automatic schedule adjustment 413 can be performed by the VM client 206 ( Fig. 2) to the virtual administration and planning unit 216 ( Fig. 2) be transferred ( Fig. 2), as shown in step 420.

[0036] Fig. Figure 5 shows a block diagram 500, which is a continuation of the one above with a view to Fig. The process described in section 4, ending with "A", is characterized by this process. Fig. 5 continues the process at "A". The virtual management and scheduling unit 216 may now have received input in the form of the activity identifier 407, a schedule adjustment 409, and an optional explanation 411. The virtual management and scheduling unit 216 can then summarize schedule adjustments for a given activity, for individual users, and / or for multiple users within a given time interval 502. Based on an analysis and / or a determination of the ranking of the received information, groups of virtual machines and / or groups of activities can be defined 504. Based on this, schedules for activities for specific VMs can be updated 506.

[0037] Fig. Figure 6 shows a block diagram of a virtual management and scheduling unit 216 for scheduling activities for virtual machines 204. The virtual management and scheduling unit 216 can include a definition module 602, which is designed to define a schedule for one or more activities to be performed on a virtual machine 204. The virtual management and scheduling unit 216 can also include an adjustment unit 604, which is designed to apply an adjustment to the schedule in accordance with feedback information received via a VM client module 206. Furthermore, the virtual management and scheduling unit 216 can include a summary unit 606, which is designed to summarize the feedback information from a plurality of VM clients 206, each belonging to a virtual machine 204 according to the scheduled activity type.In addition, the management and planning unit 216 can also include an investigation unit 608, which is designed to determine a group adjustment for a determined group of VM clients 206 based on a function of the feedback information of the majority of VM clients 206.

[0038] With regard to Fig.7. Embodiments of the invention can be implemented on virtually any type of computer, regardless of whether the platform is suitable for storing and / or executing program code. A computer system 700 can include one or more processors 702 with one or more cores per processor, associated memory elements 704, an internal storage unit 706 (e.g., a hard disk, an optical drive such as a CD drive or a DVD drive, a flash memory stick, a solid-state drive, etc.), and numerous other elements and functions typical of modern computers (not shown).The memory elements 704 can include main memory, such as random-access memory (RAM), which is used during the actual execution of the program code, and a cache memory, which can provide temporary storage of at least some program code and / or some data to reduce the frequency with which code and / or data must be retrieved from a long-term storage medium or from an external mass storage device 716 for execution. Elements inside the computer 700 can be interconnected via a bus system 718 using appropriate adapters. Additionally, a virtual management and scheduling unit 216 for scheduling activities for virtual machines 204 can be connected to the bus system 718.

[0039] The data processing system 700 may further include a means such as a keyboard 708, a pointing device such as a mouse 710, or a microphone (not shown). Alternatively, the data processing system may be equipped with a touch-sensitive screen as the main input device. The computer 700 may further include an output means such as a monitor or screen 712 (e.g., a liquid crystal display [LCD], a light-emitting diode display [LED display], or a cathode ray tube monitor [CRT]). The computer system 700 may be connected via a network interface connection 714 to a network (e.g., a local area network [LAN], a wide area network [WAN]), such as the Internet, or any other similar type of network, including wireless networks. This may allow connection to other computer systems, a storage network, or a tape drive.Those skilled in the art know that many different types of computer systems exist and that the input and output means mentioned above can also take other forms. In general, the computer system 700 can have at least the minimum processing, input, and / or output means necessary to practically implement embodiments of the invention.

[0040] The descriptions of the various embodiments of the present invention are provided for illustrative purposes and are not to be understood as complete or limited to the disclosed embodiments. Those skilled in the art know that numerous modifications and adaptations are possible without deviating from the scope and spirit of the described embodiments. The terminology used here has been chosen to explain the principles of the embodiment, its practical application, or its technical improvement over commercially available technologies as clearly as possible, and to enable other skilled persons to understand the embodiments disclosed herein.

[0041] Embodiments of the present invention may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium (or media) containing computer-readable program instructions to instruct a processor to perform aspects of the present invention.

[0042] The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system for distribution. Examples of computer-readable media include semiconductor or solid-state memory, magnetic tape, removable computer disks, random-access memory (RAM), read-only memory (ROM), magnetic hard disks, and optical disks. Current examples of optical disks are Compact Disc Read Only Memory (CD-ROM), Compact Disc Read / Write (CD-R / W), DVD, and Blu-ray Disc.

[0043] A computer-readable storage medium can be a physical unit capable of retaining and storing instructions for use by an instruction execution unit. For example, a computer-readable storage medium can be an electronic storage unit, a magnetic storage unit, an optical storage unit, an electromagnetic storage unit, a semiconductor storage unit, or any suitable combination of the foregoing, but not limited to these. A non-exhaustive list of more specific examples of computer-readable storage media includes: a portable computer disk, a hard disk, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random-access memory (SRAM), a portable CD-ROM, a DVD, a flash drive, a floppy disk, a mechanically coded unit such as...Punched cards or raised structures in a groove with instructions recorded on them, as well as any suitable combination of the aforementioned elements. A computer-readable storage medium such as that used here should not be understood as consisting in itself of volatile signals such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses guided through a fiber optic cable), or electrical signals transmitted through a wire.

[0044] The computer-readable program instructions described here can be downloaded from a computer-readable storage medium to appropriate data processing units (DPUs) or to an external computer or storage device via a network such as the internet, a LAN, a WAN, and / or a wireless network. The network may include copper transmission cables, fiber optic cables, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each DPU receives computer-readable program instructions from the network and forwards them for storage on a computer-readable storage medium within the DPU.

[0045] The computer-readable program instructions for performing operations of the present invention can be assembly instructions, ISA (Instruction Set Architecture) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-defining data, or either source code or object code written in any combination of one or more programming languages, such as an object-oriented programming language like Smalltalk, C++ or similar, as well as in conventional procedural programming languages ​​such as the programming language "C" or similar programming languages.The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, including a LAN or WAN, or the connection can be established with an external computer (e.g., via the internet using an internet service provider). In some embodiments, a circuit such as...a programmable logic circuit, Field-Programmable Gate Arrays (FPGAs) or Programmable Logic Arrays (PLAs) that execute computer-readable program instructions by using state information from the computer-readable program instructions to personalize the electronic circuit and implement aspects of the present invention.

[0046] Aspects of the present invention are described here with reference to flowcharts and / or block diagrams of processes, devices (systems), and computer program products according to embodiments of the invention. It should be clear that each block of the flowcharts and / or block diagrams, as well as combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program commands.

[0047] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing device to create a machine such that the instructions executed by the processor of the computer or other programmable data processing device will create a means by which the functions / actions specified in the block(s) of the flowchart and / or block diagram can be realized.These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, a programmable data processing device and / or other units to operate in a particular manner, so that the computer-readable storage medium with instructions stored on it may include a manufacturing article containing instructions that implement aspects of the function / action specified in the block(s) of the flowchart and / or block diagram.

[0048] The computer-readable program instructions can also be loaded into a computer, other programmable data processing device, or other unit to cause a series of operational steps to be carried out on the computer, other programmable data processing device, or other unit, so that the instructions carried out on the computer, other data processing device, or other unit realize the functions / actions specified in the block(s) of the flowchart and / or block diagram.

[0049] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, processes, and computer program products according to various embodiments of the present invention. Thus, each block of the flowcharts or block diagrams can represent a module, segment, or part of instructions, which may contain one or more executable instructions with which the specified logical function(s) can be implemented. In some alternative embodiments, the functions mentioned in the block may occur in a different order than that shown in the figures. For example, two consecutively depicted blocks may actually occur essentially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality in question.It should also be mentioned that each block of the block diagrams and / or the flowchart representation, as well as combinations of blocks in the block diagrams and / or the flowchart representation, can be realized or carried out by special systems based on hardware that perform the specified functions or actions or combinations thereof, or by combinations of special hardware and computer commands.

[0050] The terminology used here serves only to describe certain embodiments and is not intended to limit the invention. In the sense used here, the singular forms "ein / e / r" and "der / die / das" are also to include the plural forms, unless the context clearly indicates otherwise. Likewise, it should be obvious that the verbs "zeigt auf" and / or "aufweisend" in this patent specification indicate the presence of the aforementioned features, integers, steps, processes, elements, and / or components, without, however, excluding the presence or addition of one or more other features, integers, steps, processes, elements, components, and / or groups thereof.

[0051] The structures, materials, actions, and equivalents of all means or steps, in addition to the functional elements in the following claims, shall include all structures, materials, or actions by which the function can be performed in conjunction with other claimed elements, as expressly claimed herein. The description of the present invention has been provided for illustrative and explanatory purposes and is not to be understood as complete or limiting with regard to the invention as described herein. Those skilled in the art are aware that numerous modifications and adaptations are possible without altering the scope and conceptual essence of the invention.The embodiment was selected and described to best explain the principles of the invention and its practical application, and to enable other experts to understand the invention with regard to various embodiments with different modifications suitable for the respective intended use.

Claims

[1] Method (100) for executing a virtual manager and scheduler for scheduling activities for virtual machines (204), VMs, wherein the method comprises: Defining a schedule (102) for one or more activities to be performed on a virtual machine (204), wherein the schedule includes time information for the virtual machine (204) and wherein the time information includes active hours of the virtual machine (204) in the daily routine, active days of the virtual machine in the weekly routine, a time of maintenance activities, a time of deletion or shutdown, a time for a snapshot of the virtual machine, a backup time, a time to put the virtual machine (204) into sleep mode, or a time to resume the virtual machine; Applying (104) an adjustment to the schedule in accordance with feedback information received via a VM client (206); Summarizing (106) the feedback information from a plurality of VM clients (206) according to scheduled activity type, each VM client (206) belonging to a virtual machine; and Determine (108) a group fit for a determined group of VM clients (206) based on a function of the feedback information of the majority of VM clients (206). [2] Method according to claim 1, wherein the VM client displays the schedule for the one or more activities on a user interface, receives feedback information on details of the schedule for the one or more activities and sends the feedback information to the VM management unit. [3] Method according to claim 1, wherein the active hours and active days are checked by the VM client based on a session state of a virtual machine. [4] Method according to claim 1, wherein the feedback information includes information about a rejection or postponement of the next pending activity, a user identifier, an activity identifier, a schedule adjustment specific to the user identifier, a text explanation or a timestamp. [5] Method according to claim 1, wherein determining the group adaptation for the identified group of virtual machines includes determining a feedback rank for one of the activities and for each associated time period. [6] Method according to claim 1, wherein the function of the feedback information is based on a threshold value of feedback information or on an average value of individual adjustments, on the basis of which the group adjustment is generated. [7] Method according to claim 1, wherein the VM clients receive an updated schedule for the one or more activities. [8] Virtual management and planning unit (216) for scheduling activities for virtual machines (204), wherein the virtual management and planning unit comprises: a definition module designed to provide a schedule for one or several activities are defined to be performed on a virtual machine, wherein the schedule contains time information for the virtual machine and wherein the time information includes hours of the virtual machine in the daily routine, active days of the virtual machine in the weekly routine, a time of maintenance activities, a time of deletion or shutdown, a time for a snapshot of the virtual machine, a backup time, a time to put the virtual machine into sleep mode, or a time to resume the virtual machine; an adjustment unit designed to apply an adjustment to the schedule in accordance with feedback information received via a VM client module; a summary unit designed to aggregate feedback information from a plurality of VM clients according to scheduled activity type, where each VM client belongs to a virtual machine; and an investigation unit designed to determine a group adjustment for a determined group of VM clients based on a function of the feedback information of the majority of VM clients. [9] Virtual management and scheduling unit according to claim 8, wherein the VM client module is further configured to display the schedule for the one or more activities on a user interface, receive feedback information on details of the schedule for the one or more activities and send the feedback information to the VM management unit. [10] Virtual management and planning unit according to claim 8, wherein the active hours and active days are checked by the VM client based on a session state of a virtual machine. [11] Virtual management and planning unit according to claim 8, wherein the feedback information includes information about a rejection or postponement of the next pending activity, a user identifier, an activity identifier, a schedule adjustment specific to the user identifier, a text explanation or a timestamp. [12] Virtual management and planning unit according to claim 8, wherein a determination of the group adaptation for the identified group of virtual machines includes determining a feedback rank for one of the activities and for each associated time period. [13] Virtual management and planning unit according to claim 8, wherein the feedback information function is based on a threshold of feedback information or on an average value of individual adjustments, on the basis of which the group adjustment is generated. [14] Virtual management and planning unit according to claim 8, wherein the VM clients receive an updated schedule for the one or more activities. [15] Computer program product for scheduling activities for virtual machines, wherein the computer program product comprises a computer-readable storage medium containing program instructions, wherein the program instructions are executable by a computer system to cause the computer system to: to define a schedule by the computer system for one or more activities to be performed on a virtual machine, wherein the schedule includes time information for the virtual machine and wherein the time information includes hours of the virtual machine in the daily routine, active days of the virtual machine in the weekly routine, a time of maintenance activities, a time of deletion or shutdown, a time for a snapshot of the virtual machine, a backup time, a time to put the virtual machine into sleep mode, or a time to resume the virtual machine; to apply an adjustment to the schedule by the computer system in accordance with feedback information received via a VM client; to aggregate feedback information from a plurality of VM clients according to planned activity type through the computer system, where each VM client belongs to a virtual machine; and The computer system uses a function of the feedback information from the majority of VM clients to determine a group adjustment for a identified group of virtual machines.

Citation Information

Patent Citations

  • Method, system and computer product for prognosis of a medical disorder

    US20040242972A1

  • Systems and methods for characterizing a patient's propensity for a neurological event and for communicating with a pharmacological agent dispenser

    US20070149952A1

  • Method, system and computer program product for aggregating population data

    US20130231953A1

  • A method, an arrangement and a computer program product for analysing a cancer tissue

    WO2011124758A1