WO2020262018A1 - 情報処理装置、情報処理方法及び記録媒体 - Google Patents

情報処理装置、情報処理方法及び記録媒体 Download PDF

Info

Publication number
WO2020262018A1
WO2020262018A1 PCT/JP2020/023008 JP2020023008W WO2020262018A1 WO 2020262018 A1 WO2020262018 A1 WO 2020262018A1 JP 2020023008 W JP2020023008 W JP 2020023008W WO 2020262018 A1 WO2020262018 A1 WO 2020262018A1
Authority
WO
WIPO (PCT)
Prior art keywords
usage
reservation
user
virtual machine
management server
Prior art date
Application number
PCT/JP2020/023008
Other languages
English (en)
French (fr)
Inventor
めぐみ 澤田
康人 若菜
千帆 富沢
実可 大坪
翔康 市川
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to EP20833067.0A priority Critical patent/EP3992875A4/en
Priority to JP2021528156A priority patent/JP7255680B2/ja
Priority to US17/618,566 priority patent/US20220245226A1/en
Publication of WO2020262018A1 publication Critical patent/WO2020262018A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing

Definitions

  • the present invention relates to an information processing device, an information processing method, and a recording medium.
  • Patent Document 1 discloses a license management system that manages reservation information of a plurality of virtual machines in which licensed software is pre-installed. When the system receives the reservation information transmitted from the client terminal, it determines whether or not the reservation information can be registered according to the current registration status of the reservation information.
  • an object of the present invention is to provide an information processing device, an information processing method, and a recording medium that can efficiently use a virtual machine.
  • the reception unit that accepts the usage reservation of the virtual machine for each usage time zone and the number of the usage reservations in the usage time zone are set to a predetermined total number of the virtual machines that can be executed at the same time.
  • Information processing including a control unit that allows acceptance of the usage reservation until it is reached, and an allocation unit that allocates the usage reservation to any virtual machine during the usage time zone and provides the user with the usage of the virtual machine.
  • Equipment is provided.
  • the step of accepting the usage reservation of the virtual machine for each usage time zone and the number of the usage reservations in the usage time zone reach a predetermined total number of the virtual machines that can be executed at the same time.
  • an information processing method including a step of permitting acceptance of the usage reservation and a step of assigning the usage reservation to an arbitrary virtual machine and providing the user with the use of the virtual machine in the usage time zone. Will be done.
  • the step of accepting the usage reservation of the virtual machine in the computer for each usage time zone and the number of the usage reservations in the usage time zone can be simultaneously executed by the predetermined virtual machine.
  • the step of permitting the acceptance of the usage reservation until the total number of the usage reservations is reached, and the step of assigning the usage reservation to any of the virtual machines and providing the user with the usage of the virtual machine in the usage time zone are executed.
  • a recording medium on which the program for recording is recorded is provided.
  • an information processing device it is possible to provide an information processing device, an information processing method, and a recording medium that can efficiently use a virtual machine.
  • FIG. 1 is a block diagram showing an overall configuration example of the information processing system 1 according to the first embodiment.
  • the management server 10 and n (n is a natural number) user terminals 20 are connected to each other via a network NW such as the Internet or a LAN (Local Area Network). ..
  • NW such as the Internet or a LAN (Local Area Network).
  • the information processing system 1 in the present embodiment will be described as an example of a computer system for providing a virtual desktop environment (hereinafter, also referred to as “virtual machine”) to users such as students and staff in a university facility. To do.
  • the application of the present invention is not limited to educational facilities such as universities.
  • the present invention can be applied to any facility such as a company or a government office, for example.
  • the management server 10 is a server computer located in a university facility or in a data center affiliated with the university.
  • the user terminal 20 is a terminal device used by the user when reserving and using a virtual desktop environment (virtual machine). Examples of the user terminal 20 include a personal computer, a tablet terminal, a smartphone, and the like. In the VDI (Virtual Desktop Infrastructure) method in the present embodiment, any user terminal 20 provided with input means, display means, and communication means can be used.
  • FIG. 2 is a block diagram showing an overall configuration example of the management server 10 according to the first embodiment.
  • the management server 10 is shown as a group of servers including a virtual infrastructure host 30, a virtual infrastructure management server 40, a session management server 50, a reservation management server 60, and a shared database 70.
  • the management server 10 may further include a server other than the plurality of servers shown in FIG. Further, the management server 10 may be configured as one server in which a plurality of servers are integrated.
  • the virtual infrastructure host 30 is a server computer that serves as a base for operating a virtual desktop.
  • the virtual infrastructure host 30 includes N (N is a natural number) virtual machines 31, a hypervisor 32, and a server hardware resource 33.
  • Each of the virtual machines 31 is a virtual computer including a plurality of applications 311 and guest OS 312.
  • the hypervisor 32 is control software that virtualizes a computer and enables a virtual machine 31 to run on one physical server (virtual infrastructure host 30).
  • the server hardware resource 33 includes, for example, a processor 331 such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), a memory 332 such as a RAM (Random Access Memory), a NIC (Network Interface Card) 333, and the like. Not limited to.
  • the virtual infrastructure management server 40 creates a virtual desktop environment (virtual machine 31) on the virtual infrastructure host 30 and releases the server hardware resource 33 used by the virtual machine 31.
  • the session management server 50 manages a session between the virtual desktop environment (virtual machine 31) generated on the virtual infrastructure host 30 and the user terminal 20.
  • the reservation management server 60 receives and manages usage reservation information (hereinafter, also simply referred to as “usage reservation”) received from the user terminal 20, and executes a process of allocating usage reservation information to a virtual machine based on a predetermined algorithm. To do. As shown in FIG. 2, the reservation management server 60 includes a reception unit 61, a control unit 62, an extraction unit 63, and an allocation unit 64.
  • the reception unit 61 receives usage reservation information including the type (PC environment) of the virtual machine 31 capable of executing the application 311 and the usage time zone. That is, the reception unit 61 accepts the usage reservation of the application 311 executed in the virtual machine 31 at each predetermined usage time zone. Then, the reception unit 61 stores the received usage reservation information in order, and outputs the received usage reservation information to the control unit 62 in order from the previously received usage reservation information.
  • usage reservation information including the type (PC environment) of the virtual machine 31 capable of executing the application 311 and the usage time zone. That is, the reception unit 61 accepts the usage reservation of the application 311 executed in the virtual machine 31 at each predetermined usage time zone. Then, the reception unit 61 stores the received usage reservation information in order, and outputs the received usage reservation information to the control unit 62 in order from the previously received usage reservation information.
  • the control unit 62 registers the usage reservation information in the usage reservation information table 74 until the number of usage reservation information in the usage time zone reaches a predetermined total number (upper limit number) of the virtual machines 31 that can be executed at the same time. Then, when the number of usage reservation information exceeds a predetermined total number, an error that reservation is not possible is output. That is, the control unit 62 permits reception until the number of registered usage reservation information reaches a predetermined total number.
  • the extraction unit 63 extracts usage reservation information within a predetermined time from the current time to the start time, and outputs it to the allocation unit 64.
  • the predetermined time in the present embodiment is 5 minutes in consideration of the generation processing time of the virtual machine 31 (virtual desktop environment), but the length of the predetermined time is not limited to 5 minutes.
  • the allocation unit 64 allocates usage reservation information to an arbitrary virtual machine 31 during the usage time zone, and provides the user with the usage environment (PC environment) of the application 311 by the virtual machine 31.
  • the allocation unit 64 corresponds to the usage reservation information for using the PC environment X (PC environment ID: Env-X) from 13:00 to 14:00 to the PC environment X 5 minutes before the start time (13:00). Assign to virtual machine 31.
  • the allocation unit 64 cancels the allocation at the end time (14:00). That is, the allocation unit 64 requests the virtual infrastructure management server 40 to release the server hardware resource 33 used by the virtual machine 31. If the time until the server hardware resource 33 is released is 5 minutes as in the case of creating the virtual machine 31, the usage reservation from 13:00 to 14:00 is internally from 12:55 to 14 It means that the processing reservation was made by 5 minutes.
  • the shared database 70 is a database shared among the virtual infrastructure host 30, the virtual infrastructure management server 40, the session management server 50, and the reservation management server 60.
  • the shared database 70 includes a user information table 71, a PC environment management table 72, an upper limit number setting table 73, a usage reservation information table 74, and an allocation information table 75.
  • a user information table 71 a PC environment management table 72
  • an upper limit number setting table 73 a usage reservation information table 74
  • allocation information table 75 allocation information table
  • FIG. 3 is a diagram showing an example of information stored in the user information table 71.
  • the user information table 71 contains data items such as a user ID, a name, a user classification, a student ID number, a registered face image, an address, a contact, and a login password for each user.
  • data items such as a user ID, a name, a user classification, a student ID number, a registered face image, an address, a contact, and a login password for each user.
  • the registered face image is, for example, a face image of a university student ID card.
  • FIG. 4 is a diagram showing an example of information stored in the PC environment management table 72.
  • the data items are the PC environment ID, the PC environment name, the application ID, and the virtual machine ID unique to each PC environment.
  • the phrase "PC environment" in the present embodiment indicates the operating environment (virtual desktop environment) of the virtual machine 31, that is, the type of the virtual machine 31.
  • different PC environment IDs and PC environment names are set in the virtual desktop environment in which the VR (Virtual Reality) application 311 can be used and the virtual desktop environment in which the CAD (Computer Aided Design) application 311 can be used.
  • the same PC environment ID is associated with one or more virtual machine IDs. Therefore, when a certain PC environment ID is specified, the virtual machine ID associated with the PC environment ID can be a candidate for allocation of usage reservation information.
  • FIG. 5 is a diagram showing an example of information stored in the upper limit number setting table 73.
  • the PC environment ID, the date, the slot No., the upper limit number, and the remaining number are set as data items.
  • the slot No. is a sequence number of a usage time zone (hereinafter referred to as “slot”) in which one day (24 hours) is time-divisioned by a predetermined time length. In the present embodiment, the case where one slot is 5 minutes will be described as an example.
  • the upper limit means the number of virtual machines 31 that can be executed at the same time.
  • the upper limit is defined in advance based on the server hardware resource 33 and the number of licenses of the application 311.
  • the remaining number is the number obtained by subtracting the number of usage reservation information by the user from the maximum number.
  • FIG. 6 is a diagram showing an example of information stored in the usage reservation information table 74.
  • the usage reservation information table 74 shows the reservation ID, user ID, PC environment ID, reservation date, reservation start time, reservation end time, start slot No., end slot No., reservation status, and registrant unique to each usage reservation.
  • the data items are categories and reservation allocation destinations.
  • the reservation ID is, for example, a sequence number issued in the order in which usage reservation information is received.
  • the reservation status indicates the status of the usage reservation information.
  • the reservation status includes "reserved", “assigned", “allocated” and the like.
  • the registrant classification is a classification for classifying the registrants of the usage reservation information.
  • the user classification (see FIG. 3) of the user who made the usage reservation is set as the registrant classification of the present embodiment.
  • the reservation allocation destination is the virtual machine ID of the virtual machine 31 to which the usage reservation information is assigned.
  • FIG. 7 is a diagram showing an example of information stored in the allocation information table 75.
  • the allocation information table 75 has a virtual machine ID, a PC environment ID, a date, a slot number, a reservation ID, and a user ID as data items.
  • FIG. 8 is a block diagram showing an example of the hardware configuration of the reservation management server 60. Since the virtual infrastructure host 30, the virtual infrastructure management server 40, and the session management server 50 have the same hardware configuration as the reservation management server 60, the reservation management server 60 will be described below as an example.
  • the reservation management server 60 has a CPU 601, a RAM 602, a storage device 603, and a communication I / F 604. Each device is connected to bus line 605.
  • the CPU 601 is a processor having a function of performing a predetermined operation according to a program stored in the storage device 603 and controlling each part of the reservation management server 60.
  • the CPU 601 functions as a reception unit 61, a control unit 62, an extraction unit 63, an allocation unit 64, and the like.
  • the RAM 602 is composed of a volatile storage medium and provides a temporary memory area necessary for the operation of the CPU 601.
  • the storage device 603 is composed of a storage medium such as a non-volatile memory and a hard disk drive, and functions as a storage unit.
  • the storage device 603 stores a program executed by the CPU 601 and data referred to by the CPU 601 when the program is executed.
  • Communication I / F604 is a communication interface based on standards such as Ethernet (registered trademark), Wi-Fi (registered trademark), and 4G, and is a module for communicating with connected devices and the like.
  • the hardware configuration shown in FIG. 8 is an example, and devices other than these may be added, or some devices may not be provided. Further, some devices may be replaced with other devices having similar functions. Further, some functions of the present embodiment may be provided by other devices via the network NW, or the functions of the present embodiment may be distributed and realized by a plurality of devices.
  • the storage device 603 may be replaced with cloud storage.
  • FIG. 9 is a sequence diagram showing an example of the registration process of the usage reservation information. This process is executed every time the user makes a reservation for using the virtual machine 31.
  • the user operates the user terminal 20 to request access to the WEB site provided by the reservation management server 60 (step S101).
  • the reservation management server 60 causes the user terminal 20 to display a login screen in response to an access request from the user terminal 20 (step S102).
  • FIG. 10 is a diagram showing an example of a login screen. Here, a field for entering a user ID and password is displayed.
  • the authentication information used at login is not limited to the password.
  • information recorded on an IC card possessed by the user or biometric information may be used.
  • the user terminal 20 transmits the authentication information entered on the login screen to the reservation management server 60 (step S103).
  • the reservation management server 60 performs user authentication (step S104).
  • the reservation management server 60 causes the user terminal 20 to display the menu screen when the user authentication is successful (step S105).
  • the user terminal 20 transmits the information of the reservation menu selected on the menu screen to the reservation management server 60 (step S106).
  • the reservation management server 60 refers to the user information table 71 based on the user ID, and acquires information on the PC environment that can be used by the user (step S107).
  • FIG. 11 is a diagram showing an example of a PC environment list screen.
  • a list of PC environments showing the relationship between the PC environment ID, the OS, and available applications is displayed on the screen, indicating that the user selects a desired PC environment.
  • the user terminal 20 transmits the PC environment ID specified on the PC environment list screen to the reservation management server 60 (step S109).
  • the reservation management server 60 causes the user terminal 20 to display the reservation screen related to the PC environment specified by the user (step S110).
  • the user terminal 20 transmits the date specified on the reservation screen to the reservation management server 60 (step S111).
  • the reservation management server 60 refers to the upper limit number setting table 73 and acquires the remaining number of each slot on the designated date (step S112).
  • the reservation management server 60 causes the user terminal 20 to display the updated reservation screen based on the acquired slot number and the remaining number information (step S113).
  • FIG. 12 is a diagram showing an example of a reservation screen.
  • the PC environment ID specified by the user the available applications, the specified date, the time chart showing the slot availability on the same date, and the form for specifying the usage start time and usage end time.
  • Reference numeral A indicates a time zone in which the remaining number corresponding to the specified PC environment ID is 0 and cannot be reserved.
  • reference numeral B indicates a time zone selected by the user operation. The user can easily specify the use start time and the use end time by inputting to the above-mentioned form or by dragging operation on the time chart as shown by reference numeral B.
  • the user terminal 20 transmits the reservation slot No. specified on the reservation screen to the reservation management server 60 (step S114).
  • the reservation management server 60 determines whether or not the usage reservation information can be registered in the usage reservation information table 74 (step S115).
  • step S115 determines that the usage reservation information can be registered in the usage reservation information table 74 (step S115: YES)
  • the process proceeds to step S116.
  • the reservation management server 60 determines that the usage reservation information cannot be registered in the usage reservation information table 74 (step S115: NO), the reservation non-reservation message is transmitted to the user terminal 20 (step S119). For example, while the user is performing an input operation on the reservation screen, the usage reservation information by another user is registered first, the remaining number changes, and the reservation cannot be made.
  • step S116 the reservation management server 60 registers the usage reservation information in the usage reservation information table 74. Along with this, when the reservation management server 60 updates the remaining number in the upper limit number setting table 73 (step S117), the reservation management server 60 transmits a reservation completion message to the user terminal 20 (step S118).
  • FIGS. 13A to 13C are explanatory views of a registration algorithm (reservation algorithm) for usage reservation information.
  • the upper limit number setting table 73 and the allocation information table 75 are displayed in association with the horizontal time axis indicating the reserved time.
  • the time axis in the vertical direction shall indicate the reception time of the usage reservation.
  • FIG. 13A shows an initial state in which no usage reservation information is registered for each usage time zone in which the slot numbers are “1” to “10”.
  • the remaining number in the upper limit number setting table 73 is “5”, which is the same as the upper limit number.
  • FIG. 13B shows the usage reservation information R1 by User-A, the usage reservation information R2 by User-B, the usage reservation information R3 by User-C, and the usage reservation information R4 by User-D for the same usage time zone. It shows the state in which the usage reservation information R5 by User-E is received in order and registered in the usage reservation information table 74.
  • the usage reservation information R1 by User-A is a reservation for slot numbers "1" to "3".
  • the remaining number in each slot is updated. For example, for the slot whose slot number is "3", the remaining number is updated from "5" to "1" because four usage reservation informations R1, R3, R4, and R5 are registered. .. In this case, for the slot whose slot number is "3", it means that only one usage reservation information can be registered.
  • the usage reservation information R6 by User-F is a reservation for slot numbers "2" to "8".
  • the usage reservation information R7 by User-G is a reservation for slot numbers "1" to "2”.
  • the usage reservation information R8 by User-H is a reservation for slot numbers "4" to "9". For example, for the slot whose slot number is "2”, the remaining number is updated from “2" to "0" because the two usage reservation information R6 and R7 are newly registered. Therefore, for the slot whose slot number is "2", registration is restricted even if new usage reservation information is received.
  • the usage reservation information R1 to R8 are sequentially accepted until the number of reservations in each slot reaches a predetermined upper limit, and then are registered in the usage reservation information table 74 according to the acceptance order.
  • FIGS. 13A to 13C also show that the allocation information table 75 is not updated at the reservation stage of the usage reservation information R1 to R8. That is, in the present embodiment, it is not necessary to specify the virtual machine at the reservation stage. Allocation of usage reservation information to each virtual machine (VM-01 to VM-05) is executed at a timing different from the reservation.
  • FIG. 14 is a flowchart showing an example of the usage reservation information allocation process. This process is repeatedly executed in the reservation management server 60 at a predetermined cycle.
  • the reservation management server 60 extracts the usage reservation information whose start time is within a certain time (for example, 5 minutes) from the current time from the usage reservation information table 74 (step S201).
  • step S202 determines the presence or absence of the extracted usage reservation information.
  • step S202: YES determines that the extracted usage reservation information exists
  • step S203 determines that there is no extracted usage reservation information.
  • step S203 the reservation management server 60 sequentially selects usage reservation information from the extracted usage reservation information according to the reception order.
  • the reservation management server 60 determines the virtual machine to which the selected usage reservation information is assigned based on a predetermined allocation algorithm (step S204). The details of the allocation algorithm will be described later.
  • the reservation management server 60 requests the virtual infrastructure management server 40 to generate the virtual machine 31 to which the usage reservation information is assigned (step S205). At this time, the reservation management server 60 updates the reservation status in the usage reservation information table 74 of the usage reservation information to be allocated from "reserved” to "assigning". Further, the virtual infrastructure management server 40 generates a virtual machine 31 in the virtual infrastructure host 30 in response to a request from the reservation management server 60.
  • the reservation management server 60 updates the reservation status in the usage reservation information table 74 of the assigned usage reservation information from "assigned" to "allocated” (step S206). Further, the virtual machine ID of the virtual machine 31 of the allocation destination is set in the reservation allocation destination of the usage reservation information table 74.
  • step S207 the reservation management server 60 determines whether or not all the usage reservation information allocations have been completed.
  • step S207: YES the process of FIG. 14 ends.
  • step S207: NO the process returns to step S203.
  • FIGS. 15A to 15D are explanatory diagrams of the usage reservation information allocation algorithm.
  • the upper limit number setting table 73 and the allocation information table 75 are displayed in association with the horizontal time axis indicating the reserved time.
  • the time axis in the vertical direction shall indicate the reception time of the usage reservation.
  • the allocation of usage reservations to the five virtual machines is performed according to a predetermined allocation priority (in this embodiment, VM-01> VM-02> VM-03> VM-04> VM-05). It shall be. Further, the length of the predetermined time ⁇ T will be described below assuming that it is the same as the length of one slot.
  • the usage reservation information R1 when the usage reservation information R1 whose reception order is earlier is selected, the usage reservation information R1 is assigned to the virtual machine VM-01 having the highest allocation priority. Next, the remaining usage reservation information R7 is selected, but the usage reservation information R1 has already been assigned to the virtual machine VM-01 for the reserved time. That is, the usage reservation information R7 is not assigned to the virtual machine VM-01 having the highest allocation priority. Therefore, the usage reservation information R7 is assigned to the virtual machine VM-02 having the second highest allocation priority.
  • the usage reservation information R4 having the first reception order among the three cases is selected, and the usage reservation information R1 and R7 are virtual machine VMs for the reservation time (particularly slot numbers: "2" and "3"). It has been assigned to -01 and VM-02, respectively. Therefore, the usage reservation information R4 is not assigned to the virtual machines VM-01 and VM-02. The usage reservation information R4 is assigned to the virtual machine VM-03 having the third highest allocation priority.
  • the usage reservation information R5 having the second reception order among the three cases is selected, and the usage reservation information R1, R7, and R4 are selected for the reservation time (particularly slot numbers: “2” and “3”). It has been assigned to each of the virtual machines VM-01 to VM-03. Therefore, the usage reservation information R5 is not assigned to the virtual machines VM-01 to VM-03. The usage reservation information R5 is assigned to the virtual machine VM-04, which has the fourth highest allocation priority.
  • the usage reservation information R6 having the third reception order among the three cases is selected, and the usage reservation information R1, R7, R4, regarding the reservation time (particularly slot Nos: “2” to “5”) R5 has been assigned to the virtual machines VM-01 to VM-04, respectively. Therefore, the usage reservation information R6 is not assigned to the virtual machines VM-01 to VM-04. The usage reservation information R6 is assigned to the virtual machine VM-05 having the fifth highest allocation priority.
  • the usage reservation information R3 is assigned to the virtual machines that can be assigned according to the allocation priority. Since the usage reservation information R3 is reserved for slot numbers "3" to "7", it is not assigned to the highest-level virtual machine VM-01. However, for the virtual machine VM-02 having the second highest allocation priority, the allocation of the usage reservation information R7 of User-G ends with the slot No .: “2”. Therefore, the usage reservation information R3 is assigned to the virtual machine VM-02.
  • FIG. 16 is a flowchart showing an example of the batch reservation process. This process is executed based on an operation by a manager such as a faculty member, for example, at the timing when the curriculum of the university class and the number of students to be taken are fixed, or when the number of students is increased.
  • a manager such as a faculty member
  • the reservation management server 60 acquires the CSV file uploaded from the user terminal 20 via the management screen (step S301).
  • FIG. 17 is a diagram showing an example of an administrator screen.
  • the file name of the CSV file specified by the administrator is described at the upper part of the CSV batch processing column.
  • the upload button When the administrator presses the upload button, the CSV file is uploaded to the reservation management server 60. Further, at the bottom of the CSV batch processing column, a form for inputting the lesson ID and the period and a download button are provided.
  • the reservation management server 60 acquires the reservation date and the number of reservations from the CSV file, respectively (steps S302 and S303).
  • the reservation management server 60 determines whether or not the remaining number of the designated slots on the same date is exceeded when the number of reservations is registered on the acquired reservation date (step S304). Here, if it is determined that the remaining number of designated slots is exceeded (step S304: YES), the process proceeds to step S305. On the other hand, when it is determined that the remaining number of the designated slots is not exceeded (step S304: NO), the process proceeds to step S309.
  • step S305 the reservation management server 60 acquires all the personal reservations already registered in the target slot that overlaps with the class time on the reservation date.
  • the reservation management server 60 selects an individual reservation to be canceled (step S306). Specifically, the acquired usage reservation information is sorted so that the reception order is in descending order, and the usage reservation information is selected from the one with the last reception order.
  • the selection of usage reservation information is repeated until the remaining number is the same as the number of reservations. For example, consider a case where the maximum number of slots corresponding to class hours is 40, and 38 cars need to be allocated in class. Assuming that reservations for use of 5 vehicles have already been registered for self-study purposes, the remaining number is 35. Therefore, in order to register the usage reservation for 38 vehicles, the reservation management server 60 cancels the usage reservation for 3 vehicles.
  • the reservation management server 60 executes the cancellation process based on the administrator authority for the personal reservation to be canceled (step S307), the reservation management server 60 sends an e-mail to the user related to the canceled personal reservation (step S308). ..
  • step S309 when the reservation management server 60 executes the batch reservation process (step S309), the process shifts to step S310.
  • the reservation status of the usage reservation information registered in the batch reservation process is updated to, for example, "administrator reservation”.
  • the reservation status of the student usage reservation information canceled due to the batch reservation process is updated to, for example, "administrator cancellation”.
  • the reservation management server 60 determines whether or not to complete the reservation process based on the acquired CSV file (step S310).
  • step S310 determines that the reservation process is completed (step S310: YES)
  • step S310: NO the process of FIG. 16 is terminated.
  • step S310: NO the process returns to step S302.
  • the reservation management server 60 can sequentially register usage reservation information until a predetermined upper limit is reached without specifying the virtual machine 31 at the reservation stage. Further, the reservation management server 60 can assign the usage reservation information to the virtual machine 31 in which the slot (usage time zone) specified in the usage reservation is vacant. Therefore, a limited number of virtual machines 31 can be efficiently used.
  • the reservation management server 60 extracts the usage reservation information within a predetermined time from the current time to the start time from the plurality of usage reservation information stored in the usage reservation information table 74, and makes a usage reservation. Allocate to the available virtual machines 31 at the start time of the information by a predetermined algorithm. That is, the allocation process of the usage reservation information can be executed at a desired timing separately from the reception timing of the usage reservation information. As a result, the number of users of the virtual machine 31 is maximized. In addition, the cost of the server hardware resource 33 for executing the virtual machine 31 and the number of licenses of the contracted application 311 can be suppressed.
  • the user selects and reserves the time zone in which the PC environment (that is, the virtual desktop environment) is desired to be used and the PC environment related to the application 311 to be used in advance. Since the reservation management server 60 has completed the start processing of the virtual machine 31 by the reservation start time of the usage reservation information (reservation record), the user promptly starts the started virtual machine 31 at the reservation start time. Available.
  • the reservation management server 60 allocates usage reservation information to the virtual machines according to the allocation priority defined in advance to the plurality of virtual machines. That is, since the allocation is performed according to a predetermined rule, the allocation process can be speeded up.
  • the reservation management server 60 has a function of batch reservation and batch cancellation based on administrator authority. Therefore, an administrator such as a teacher can preferentially register the virtual desktop environment to be used in the lesson at an arbitrary timing as many as necessary at the required time. Specifically, even if the student has made a reservation for using the virtual desktop environment for self-study, the administrator exceptionally cancels the reservation for use of the student. As a result, the administrator can surely secure a virtual desktop environment for all the students even when the number of students suddenly increases or when the class hours need to be changed due to emergency maintenance.
  • FIG. 18 is a block diagram showing an overall configuration example of the management server 10 according to the second embodiment. As shown in FIG. 18, the present embodiment is different from the first embodiment in that the reservation management server 60 further includes an agent management unit 65, an image analysis unit 66, a face authentication unit 67, and an output unit 68. ..
  • the agent management unit 65 controls the agent 21, which is a program installed on the user terminal 20.
  • the agent management unit 65 controls the agent 21 to perform a shooting process in an imaging device (not shown) such as a digital camera mounted on the user terminal 20. Further, the agent management unit 65 acquires the captured image from the agent 21.
  • the image analysis unit 66 analyzes the captured image to detect the user's face image, and determines the user's facial expression and behavior in the face image. In addition, the image analysis unit 66 determines whether or not the user's face image is detected while using the virtual machine 31. That is, the image analysis unit 66 can determine whether or not the user exists in front of the user terminal 20 by analyzing the captured image. Then, the image analysis unit 66 can acquire the continuous leaving time of the user and the ratio of the leaving time within the usage time by counting the time when the user's face image is not detected.
  • the face recognition unit 67 collates the face image extracted by the image analysis unit 66 with the registered face image of the user (reservation person) stored in the user information table 71.
  • the face recognition unit 67 authenticates whether or not the person who is using or intends to use the virtual machine 31 is the same person as the reservation person based on the result of the collation process.
  • the output unit 68 outputs to the user terminal 20 information prompting the user using the virtual machine 31 to make a reservation based on the result of the image analysis process in the image analysis unit 66.
  • FIG. 19 is a flowchart showing an example of control processing based on the captured image. This process is repeatedly executed from the start to the end of the use of the virtual machine 31 on the user terminal 20. When a plurality of virtual machines 31 are executed at the same time, the process of FIG. 19 is executed for each virtual machine 31.
  • the reservation management server 60 acquires a photographed image from the user terminal 20 by requesting the user terminal 20 (agent 21) to perform a photographing process (step S401). Next, the reservation management server 60 detects a face image from the captured images (step S402).
  • the reservation management server 60 performs face matching between the detected face image and the registered face image acquired from the user information table 71 using the user ID as a key (step S403).
  • step S404 determines whether or not the collation result is a collation match.
  • step S404: YES determines that the collation result is a collation match
  • step S404: NO determines that the collation result is a collation mismatch
  • step S405 the reservation management server 60 determines whether or not the current time has reached the reservation end time.
  • step S405: YES the process proceeds to step S409.
  • step S405: NO the process returns to step S401.
  • step S406 the reservation management server 60 counts the number of authentication errors.
  • step S407 determines whether or not the number of errors is within a predetermined threshold value.
  • step S407: YES the process proceeds to step S405.
  • step S407: NO the process proceeds to step S408.
  • step S408 the reservation management server 60 displays an error screen on the user terminal 20.
  • step S409 the process proceeds to step S409.
  • FIG. 20 is a diagram showing an example of an error screen displayed on the user terminal 20.
  • the error message displayed when face recognition cannot be performed based on the collation result between the face image taken by the user and the registered face image ("Face recognition could not be performed. For non-reserved persons, This PC environment cannot be used. ") Is displayed on the error screen.
  • step S409 the reservation management server 60 requests the virtual infrastructure management server 40 to release the resources of the virtual machine 31 being used by the user. As a result, the virtual infrastructure management server 40 releases the requested resources of the virtual machine 31.
  • FIG. 21 is a flowchart showing an example of control processing based on the captured image.
  • the reservation management server 60 acquires a photographed image from the user terminal 20 by requesting the user terminal 20 (agent 21) to perform a photographing process (step S501).
  • the reservation management server 60 determines whether or not the face image could be detected from the captured image (step S502).
  • step S502 determines that the face image can be detected
  • step S503 determines that the face image cannot be detected
  • step S505 the leaving time is counted (step S505), and the process proceeds to step S506.
  • step S503 the reservation management server 60 analyzes the face image detected from the captured image.
  • the reservation management server 60 determines a predetermined facial expression and behavior of the user based on the result of image analysis of the face image, and statistically processes the facial expression and behavior of the user (step S504).
  • the predetermined facial expressions include various facial expressions that are presumed that the user is not intensively taking classes, such as a sleepy facial expression, a confused facial expression, and a facial expression with little interest in the lesson content.
  • predetermined actions include leaving the seat, other findings, and falling asleep.
  • existing facial expression estimation technology and emotion estimation technology may be used.
  • step S506 the reservation management server 60 determines whether or not the total leaving time is within a predetermined threshold value.
  • step S506: YES the process proceeds to step S507.
  • step S506: NO the reservation management server 60 determines that the leaving time exceeds the threshold value
  • step S508 a warning screen is displayed on the user terminal 20 (step S508), and the process proceeds to step S509. To do.
  • FIG. 22 is a diagram showing an example of a warning screen displayed on the user terminal 20.
  • a warning message due to the length of the user's leaving time exceeding the predetermined threshold ("The leaving time has passed XX minutes. If you want to continue the course, please press the continue button.” If the continue button is not pressed within the remaining time, the connection with the server will be terminated. ”) And the continue button for canceling the warning state will be displayed.
  • step S507 the reservation management server 60 estimates the user's understanding of the lesson being taken using the virtual machine 31 based on the result of the statistical processing in step S504 and the length of the absence time.
  • step S510 determines whether or not the user needs to take the course again based on the degree of understanding of the user estimated in step S507 (step S510).
  • step S510 determines that re-attendance is necessary (step S510: YES)
  • the proposal screen is displayed on the user terminal 20 (step S511), and the process proceeds to step S512.
  • FIG. 23 shows an example of a proposal screen displayed on the user terminal 20.
  • a message prompting the user to retake the lesson based on the analysis result of the user's face image included in the captured image ("Do you want to take this lesson again? If you want to take the lesson again, click the retake button”. Please press. "), And the re-attendance button and close button are displayed.
  • the proposal screen transitions to, for example, the reservation screen.
  • step S510 when it is determined that re-attendance is unnecessary (step S510: NO), the process proceeds to step S512.
  • the determination in step S510 may be performed based on the facial expressions detected by the above-mentioned facial expression estimation technique and emotion estimation technique. In this case, the above-mentioned step S507 can be omitted.
  • step S512 the reservation management server 60 determines whether or not the current time has reached the reservation end time.
  • step S512: YES the process proceeds to step S513.
  • step S512: NO the process returns to step S501.
  • step S513 the reservation management server 60 requests the virtual infrastructure management server 40 to release the resources of the virtual machine 31 being used by the user. As a result, the virtual infrastructure management server 40 releases the requested resource of the virtual machine 31 and ends the process of FIG. 21.
  • the reservation management server 60 counts the leaving time, and when the leaving time exceeds a predetermined threshold value, the virtual machine 31 is controlled to release the resources used by the virtual machine 31. It is also possible to improve the utilization efficiency of.
  • the reservation management server 60 when the reservation management server 60 detects that the student is dozing or the student's line of sight is not facing the screen, the reservation management server 60 considers the student to be away from the desk and performs the same processing as in the case of leaving the seat. Can also be designed. In this case, the reservation management server 60 may be designed to detect the user's line of sight by analyzing the acquired face image of the user.
  • the reservation management server 60 detects a predetermined facial expression or behavior by analyzing the user's face image, it can determine that the user's understanding of the lesson is not sufficient. Then, the management server 10 outputs information prompting the user to retake (rebook) the same lesson to the user terminal 20. This makes it easier for the user to make a reservation for using the virtual machine 31 that has the same PC environment.
  • FIG. 24 is a block diagram showing an overall configuration example of the management server 10 according to the third embodiment.
  • the shared database 70 in this embodiment further includes a usage record information table 76.
  • the reservation management server 60 in the present embodiment is different from the first embodiment in that it further includes an output unit 68 and a learning unit 69.
  • the learning unit 69 learns the past usage record of the virtual machine 31 by the user from the past usage reservation information (first usage reservation) by the user.
  • the output unit 68 uses the learned learning model to estimate the future usage status of the virtual machine 31 by the user with respect to the new usage reservation information (second usage reservation) by the user, and uses the estimation result as the estimation result. Based on this, information prompting the change of the second usage reservation is output.
  • FIG. 25 is a diagram showing an example of the information stored in the usage record information table 76.
  • the usage record information table 76 the reservation ID, the user ID, the PC environment ID, the usage date, the usage start time, and the usage end time are set as data items.
  • the usage date, usage start time, and usage start time are the date, start time, and end time when the user actually uses the virtual machine 31.
  • FIG. 26 is a schematic diagram showing an example of a neural network used by the learning unit 69 for learning processing.
  • the neural network shown in FIG. 26 includes an input layer having a plurality of nodes, an intermediate layer having a plurality of nodes, and an output layer having one node.
  • a value representing the user's past usage reservation is input as an input value to each node of the input layer.
  • Each node in the middle layer is connected to each node in the input layer.
  • Each element of the input value input to the node of the intermediate layer is used for the calculation at each node of the intermediate layer.
  • Each node in the intermediate layer calculates a calculated value using, for example, an input value input from each node in the input layer, a predetermined weighting coefficient, and a predetermined bias value.
  • Each node in the intermediate layer is connected to the output layer, and the calculated calculated value is output to the node in the output layer. For the nodes of the output layer, the calculated values are input from each node of the intermediate layer.
  • the output layer node outputs a value indicating the user's usage status using the calculated value input from each node in the intermediate layer, the weighting coefficient, and the bias value.
  • the output value is compared with the teacher data.
  • usage record information usage history
  • usage history usage history
  • an error backpropagation method is used.
  • the output value when the data is input to the input layer and the output value obtained from the teacher data are compared, and the error between the two compared output values is fed back to the intermediate layer. This is repeated until the error falls below a predetermined threshold.
  • FIG. 27 is a flowchart showing an example of control processing based on the learning model.
  • the reservation management server 60 acquires new usage reservation information received from the user terminal 20 (step S601)
  • the reservation management server 60 inputs the usage reservation information into the learned learning model (step S602).
  • the reservation management server 60 acquires the future usage status of the user estimated by the learning model (step S603).
  • the reservation management server 60 compares the estimated future usage status with the usage time specified in the usage reservation, and determines whether or not the length of the usage time is appropriate (step S604). ..
  • the reservation management server 60 determines that the length of the usage time is appropriate (step S604: YES)
  • the process proceeds to step S608.
  • the reservation management server 60 determines that the length of the usage time is inappropriate (step S604: NO)
  • the process proceeds to step S605.
  • step S605 the reservation management server 60 causes the user terminal 20 to display a proposal screen prompting the user to change the length of the usage time, and the process proceeds to step S606.
  • FIG. 28 is a diagram showing an example of a proposal screen displayed on the user terminal 20.
  • the PC environment ID, available applications, and the reservation date and time are displayed for confirming the reservation contents.
  • a message based on the future usage status of the user estimated by the learning model described above (“Mr. XX tends to come later than the reservation time, so the start time is delayed by 15 minutes.” Do you want to do it? ”),
  • a list showing the relationship between past usage reservations and usage records, and a reservation change button and registration button for selecting whether or not to accept the proposal are displayed.
  • the proposal screen may be a screen that allows the user to respecify the reservation start time, the reservation end time, or the length of the reservation time.
  • the reservation management server 60 may propose to the user another date and time that can be reserved.
  • step S606 the reservation management server 60 determines whether or not there is a reservation change request from the user terminal 20.
  • step S606: YES the reservation management server 60 determines that the reservation change request has been made
  • step S607. the reservation management server 60 determines that there is no request for changing the reservation
  • step S607 the reservation management server 60 registers the usage reservation information automatically changed based on the proposed time in the usage reservation information table 74, and ends the process of FIG. 27.
  • step S608 the reservation management server 60 registers the usage reservation information in the usage reservation information table 74 based on the length of the user's designated time (initial reservation time), and ends the process of FIG. 27. ..
  • FIG. 29 is a flowchart showing an example of control processing based on the learning model.
  • the reservation management server 60 acquires new usage reservation information received from the user terminal 20 (step S701)
  • the reservation management server 60 inputs the usage reservation information into the learned learning model (step S702).
  • the reservation management server 60 acquires the future usage status of the user estimated by the learning model (step S703).
  • the reservation management server 60 compares the estimated future usage status with the usage time specified in the usage reservation, and determines whether or not the length of the usage time is appropriate (step S704). ..
  • the reservation management server 60 determines that the length of the usage time is appropriate (step S704: YES)
  • the process of FIG. 29 ends, and the usage reservation registration process (step S115 of FIG. 9) is completed. -Move to S116).
  • the reservation management server 60 determines that the length of the usage time is inappropriate (step S704: NO)
  • the process proceeds to step S705.
  • step S705 the reservation management server 60 automatically corrects the usage time specified in the usage reservation based on the estimated usage status, and ends the process of FIG. 29.
  • the future usage status of the user can be estimated based on the learning model obtained by machine learning.
  • the user can be made to confirm whether or not the length of the usage time specified in the usage reservation is appropriate.
  • the reservation management server 60 estimates the future usage status of the user, automatically corrects the usage time of the user based on the estimation result, and then enters the usage reservation information table 74. Registration process can also be performed.
  • FIG. 30 is a block diagram showing an overall configuration example of the information processing apparatus 100 according to the fourth embodiment.
  • the information processing device 100 includes a reception unit 100A, a control unit 100B, and an allocation unit 100C.
  • the reception unit 100A accepts a virtual machine usage reservation for each usage time zone.
  • the control unit 100B permits acceptance of usage reservations until the number of usage reservations in the usage time zone reaches a predetermined total number of virtual machines that can be executed at the same time.
  • the allocation unit 100C allocates a usage reservation to an arbitrary virtual machine during the usage time zone, and provides the user with the usage of the virtual machine. According to this embodiment, the virtual machine can be used efficiently.
  • the reservation management server 60 requests the virtual infrastructure management server 40 to generate a virtual desktop environment and release resources by referring to the usage reservation information recorded in the usage reservation information table 74.
  • the reservation management server 60 may determine whether or not the user is actually using the virtual desktop environment in addition to the usage reservation information, and accept the usage reservation based on the determination result.
  • the reservation management server 60 responds in the upper limit setting table 73 based on the actual usage situation so that the reservation management server 60 can accept reservations in the vacant usage time zone due to the end of use of the virtual machine 31.
  • the remaining number of slots may be updated automatically. As a result, the utilization efficiency of the limited number of virtual machines 31 can be further improved.
  • the configuration in which the user specifies and reserves the type of virtual machine (PC environment ID) in which the desired application 311 can be used has been described, but the information specified at the time of reservation is not limited to this. ..
  • the reservation management server 60 may be configured to generate a virtual machine 31 capable of executing the application 311 selected by the user. That is, it is possible to make a usage reservation for each application.
  • the user makes a reservation for using the virtual machine 31 by selecting an available usage time zone without considering the contents (PC environment) of the application 311 installed in the virtual machine 31. For example, when the number of licenses of the application 311 is sufficient, the usage reservation of the virtual machine 31 can be made for each usage time zone within the range of the upper limit set based on the server hardware resource 33.
  • Each embodiment also has a processing method in which a program that operates the configuration of the embodiment is recorded on a recording medium so as to realize the functions of the above-described embodiment, the program recorded on the recording medium is read out as a code, and the program is executed by a computer. It is included in the category of. That is, a computer-readable recording medium is also included in the scope of each embodiment. Further, not only the recording medium on which the above-mentioned program is recorded but also the program itself is included in each embodiment.
  • the recording medium for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a non-volatile memory card, or the like can be used.
  • a floppy (registered trademark) disk for example, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a non-volatile memory card, or the like
  • the program that executes the processing by the program recorded on the recording medium alone, but also the one that operates on the OS and executes the processing in cooperation with the functions of other software and the expansion board is also in each embodiment. It is included in the category of.
  • Appendix 2 The allocation unit allocates the usage reservation to the virtual machine that can be used at the start time of the usage time zone.
  • the information processing device according to Appendix 1.
  • the allocation unit allocates the usage reservation within a predetermined time from the current time to the start time to the virtual machine.
  • the information processing device according to Appendix 2.
  • the allocation unit allocates the usage reservation to the plurality of virtual machines according to a predefined priority.
  • the information processing device according to Appendix 1 or 2.
  • Appendix 5 An image acquisition unit that acquires captured images taken by a user terminal that uses the virtual machine, and A collation unit for collating the face image of the user extracted from the captured image with the registered face image of the user is further provided.
  • the allocation unit stops the use of the virtual machine when the face image and the registered face image do not match.
  • the information processing device according to any one of Appendix 1 to 4.
  • the allocation unit responds to the first usage reservation by the user with respect to the new second usage reservation by the user by using the learning model in which the user has learned the past usage record of the virtual machine. , The future usage status of the virtual machine by the user is estimated, and the usage time zone specified in the second usage reservation is corrected based on the estimation result.
  • the information processing device according to any one of Appendix 1 to 4.
  • Steps to accept virtual machine usage reservations for each usage time zone A step of permitting acceptance of the usage reservation until the number of the usage reservations in the usage time zone reaches a predetermined total number of the virtual machines that can be executed at the same time.
  • a step of assigning the usage reservation to an arbitrary virtual machine and providing the user with the usage of the virtual machine and Information processing method.
  • Steps to accept virtual machine usage reservations for each usage time zone A step of permitting acceptance of the usage reservation until the number of the usage reservations in the usage time zone reaches a predetermined total number of the virtual machines that can be executed at the same time.
  • a step of assigning the usage reservation to an arbitrary virtual machine and providing the user with the usage of the virtual machine, and A recording medium on which a program for executing is recorded.
  • Network 1 ... Information processing system 10 ... Management server 20 ... User terminal 21 ... Agent 30 ... Virtual infrastructure host 31 ... Virtual machine 311 ... Application 312 ... ⁇ Guest OS 32 ... Hypervisor 33 ... Server hardware resources 331 ... Processor (CPU / GPU) 332 ... Memory 333 ... NIC 40 ... Virtual infrastructure management server 50 ... Session management server 60 ... Reservation management server 70 ... Shared database 71 ... User information table 72 ... PC environment management table 73 ... Maximum number setting Table 74 ... Usage reservation information table 75 ... Allocation information table 76 ... Usage record information table 100 ... Information processing device

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明に係る情報処理装置は、仮想マシンの利用予約を利用時間帯毎に受け付ける受付部と、前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可する制御部と、前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供する割当部と、を備える。

Description

情報処理装置、情報処理方法及び記録媒体
 本発明は、情報処理装置、情報処理方法及び記録媒体に関する。
 特許文献1には、ライセンス付きのソフトウェアが予めインストールされている複数の仮想マシンの予約情報を管理するライセンス管理システムが開示されている。当該システムでは、クライアント端末から送信された予約情報を受け付けると、現時点における予約情報の登録状況に応じて予約情報の登録可否を判定する。
特開2013-20440号公報
 特許文献1に記載されたシステムでは、ユーザは複数の仮想マシンの中から、所望のソフトウェアがインストールされた仮想マシンを指定して予約する必要がある。しかし、ユーザが予約段階で使用対象の仮想マシンを特定してしまうと、他に空いている仮想マシンがあったとしても限られた数の仮想マシンを効率的に利用できなくなる虞がある。
 そこで、本発明は、上述の問題に鑑み、仮想マシンを効率的に利用できる情報処理装置、情報処理方法及び記録媒体を提供することを目的とする。
 本発明の一つの観点によれば、仮想マシンの利用予約を利用時間帯毎に受け付ける受付部と、前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可する制御部と、前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供する割当部と、を備える情報処理装置が提供される。
 本発明の他の観点によれば、仮想マシンの利用予約を利用時間帯毎に受け付けるステップと、前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可するステップと、前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供するステップと、を備える情報処理方法が提供される。
 本発明のさらに他の観点によれば、コンピュータに、仮想マシンの利用予約を利用時間帯毎に受け付けるステップと、前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可するステップと、前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供するステップと、を実行させるためのプログラムが記録された記録媒体が提供される。
 本発明によれば、仮想マシンを効率的に利用できる情報処理装置、情報処理方法及び記録媒体を提供することができる。
第1実施形態における情報処理システムの全体構成例を示すブロック図である。 第1実施形態における管理サーバの全体構成例を示すブロック図である。 第1実施形態におけるユーザ情報テーブルが記憶する情報の一例を示す図である。 第1実施形態におけるPC環境管理テーブルが記憶する情報の一例を示す図である。 第1実施形態における上限数設定テーブルが記憶する情報の一例を示す図である。 第1実施形態における利用予約情報テーブルが記憶する情報の一例を示す図である。 第1実施形態における割当情報テーブルが記憶する情報の一例を示す図である。 第1実施形態における予約管理サーバのハードウェア構成例を示すブロック図である。 第1実施形態における利用予約情報の登録処理の一例を示すシーケンス図である。 第1実施形態におけるユーザ端末に表示されるログイン画面の一例を示す図である。 第1実施形態におけるユーザ端末に表示されるPC環境一覧画面の一例を示す図である。 第1実施形態におけるユーザ端末に表示される予約画面の一例を示す図である。 第1実施形態における予約アルゴリズムの説明図である。 第1実施形態における予約アルゴリズムの説明図である。 第1実施形態における予約アルゴリズムの説明図である。 第1実施形態における利用予約情報の割当処理の一例を示すフローチャートである。 第1実施形態における割当アルゴリズムの説明図である。 第1実施形態における割当アルゴリズムの説明図である。 第1実施形態における割当アルゴリズムの説明図である。 第1実施形態における割当アルゴリズムの説明図である。 第1実施形態における一括予約処理の一例を示すフローチャートである。 第1実施形態におけるユーザ端末に表示される管理者画面の一例を示す図である。 第2実施形態における管理サーバの全体構成例を示すブロック図である。 第2実施形態における撮影画像に基づく制御処理の一例を示すフローチャートである。 第2実施形態におけるユーザ端末に表示される認証エラー画面の一例を示す図である。 第2実施形態における撮影画像に基づく制御処理の一例を示すフローチャートである。 第2実施形態におけるユーザ端末に表示される警告画面の一例を示す図である。 第2実施形態におけるユーザ端末に表示される提案画面の一例を示す図である。 第3実施形態における管理サーバの全体構成例を示すブロック図である。 第3実施形態における利用実績情報テーブルが記憶する情報の一例を示す図である。 第3実施形態におけるニューラルネットの一例を示す模式図である。 第3実施形態における学習モデルに基づく予約処理の一例を示すフローチャートである。 第3実施形態におけるユーザ端末に表示される提案画面の一例を示す図である。 第3実施形態における学習モデルに基づく予約処理の一例を示すフローチャートである。 第4実施形態における情報処理装置の全体構成例を示すブロック図である。
 以下、図面を参照して、本発明の例示的な実施形態を説明する。図面において同様の要素又は対応する要素には同一の符号を付し、その説明を省略又は簡略化することがある。
[第1実施形態]
 図1は、第1実施形態における情報処理システム1の全体構成例を示すブロック図である。図1に示すように、情報処理システム1では、管理サーバ10と、n(nは自然数)台のユーザ端末20とがインターネットやLAN(Local Area Network)等のネットワークNWを介して接続されている。なお、本実施形態における情報処理システム1は、大学の施設において学生や職員等のユーザに仮想デスクトップ環境(以下、「仮想マシン」ともいう)を提供するためのコンピュータシステムである場合を例として説明する。ただし、本発明の適用対象は大学等の教育施設に限られない。本発明は、例えば、会社や官公庁等の任意の施設に適用できる。
 管理サーバ10は、大学の施設内あるいは大学と提携しているデータセンタに配置されたサーバコンピュータである。ユーザ端末20は、ユーザが仮想デスクトップ環境(仮想マシン)の予約時及び利用時に用いる端末装置である。ユーザ端末20としては、例えばパーソナルコンピュータ、タブレット端末、スマートフォン等が挙げられる。本実施形態におけるVDI(Virtual Desktop Infrastructure:仮想デスクトップ基盤)の方式では、入力手段、表示手段、及び通信手段を備える任意のユーザ端末20を利用できる。
 図2は、第1実施形態における管理サーバ10の全体構成例を示すブロック図である。図2において、管理サーバ10は、仮想基盤ホスト30、仮想基盤管理サーバ40、セッション管理サーバ50、予約管理サーバ60、及び共有データベース70を含んだサーバ群として示されている。なお、管理サーバ10は、図2に示す複数のサーバ以外のサーバをさらに含んでもよい。また、管理サーバ10は、複数のサーバを一体化した1台のサーバとして構成されてもよい。
 仮想基盤ホスト30は、仮想デスクトップを稼働させるための基盤となるサーバコンピュータである。仮想基盤ホスト30は、N(Nは自然数)台の仮想マシン31、ハイパーバイザ32、サーバハードウェア資源33を含んでいる。仮想マシン31の各々は、複数のアプリケーション311及びゲストOS312を含む仮想的なコンピュータである。ハイパーバイザ32は、コンピュータを仮想化し、1台の物理サーバ(仮想基盤ホスト30)上で仮想マシン31を動かせるようにする制御ソフトウェアである。サーバハードウェア資源33は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサ331、RAM(Random Access Memory)等のメモリ332、NIC(Network Interface Card)333等であるが、これらに限られない。
 仮想基盤管理サーバ40は、仮想基盤ホスト30における仮想デスクトップ環境(仮想マシン31)の生成及び仮想マシン31が使用しているサーバハードウェア資源33の解放を行う。セッション管理サーバ50は、仮想基盤ホスト30に生成される仮想デスクトップ環境(仮想マシン31)と、ユーザ端末20とのセッションを管理する。
 予約管理サーバ60は、ユーザ端末20から受信した利用予約情報(以下、単に「利用予約」ともいう)を受け付けて管理するとともに、所定のアルゴリズムに基づいて利用予約情報を仮想マシンに割り当てる処理を実行する。図2に示すように、予約管理サーバ60は、受付部61、制御部62、抽出部63、割当部64を含んでいる。
 受付部61は、アプリケーション311を実行可能な仮想マシン31の種類(PC環境)及び利用時間帯を含む利用予約情報を受け付ける。すなわち、受付部61は、仮想マシン31において実行されるアプリケーション311の利用予約を所定の利用時間帯毎に受け付ける。そして、受付部61は、受け付けた利用予約情報を順番に格納し、先に受け付けた利用予約情報から順番に制御部62へ出力する。
 制御部62は、利用時間帯における利用予約情報の数が、同時に実行可能な仮想マシン31の所定の総数(上限数)に達するまで利用予約情報を利用予約情報テーブル74へ登録する。そして、利用予約情報の数が所定の総数を超える場合には、予約不可のエラーを出力する。すなわち、制御部62は、登録済みの利用予約情報の数が所定の総数に達するまで受付を許可する。
 抽出部63は、現在時刻から開始時刻までの時間が所定時間内の利用予約情報を抽出し、割当部64へ出力する。本実施形態における所定時間は、仮想マシン31(仮想デスクトップ環境)の生成処理時間を考慮して5分間とするが、所定時間の長さは5分間に限られない。
 割当部64は、利用時間帯において、任意の仮想マシン31に利用予約情報を割り当て、仮想マシン31によるアプリケーション311の利用環境(PC環境)をユーザに提供する。例えば、割当部64は、13時から14時までPC環境X(PC環境ID:Env-X)を利用する利用予約情報を、開始時刻(13時)の5分前にPC環境Xに対応する仮想マシン31に割り当てる。そして、割当部64は、終了時刻(14時)になると、割当を解除する。すなわち、割当部64は、仮想基盤管理サーバ40に対して、仮想マシン31が使用しているサーバハードウェア資源33の解放を要求する。サーバハードウェア資源33が解放されるまでの時間が仮想マシン31の生成時と同様に5分間である場合には、13時から14時までの利用予約は、内部的には12時55分から14時5分までの処理予約が行われたことを意味する。
 共有データベース70は、仮想基盤ホスト30、仮想基盤管理サーバ40、セッション管理サーバ50、及び予約管理サーバ60の間で共有されるデータベースである。共有データベース70は、ユーザ情報テーブル71、PC環境管理テーブル72、上限数設定テーブル73、利用予約情報テーブル74、及び割当情報テーブル75を含んでいる。
 以下、各テーブルについて説明する。ただし、各テーブルのデータ項目は一例であり、図示のデータ項目に限られない。
 図3は、ユーザ情報テーブル71が記憶する情報の一例を示す図である。ここでは、ユーザ情報テーブル71は、ユーザごとに固有なユーザID、氏名、ユーザ区分、学籍番号、履修登録を行った授業の履修コード、登録顔画像、住所、連絡先、ログインパスワードをデータ項目としている。本実施形態のユーザ区分としては、個人(学生)及び管理者(教員)の2種類があり、本システムにおけるユーザの権限を示す。登録顔画像は、例えば大学の学生証の顔画像である。
 図4は、PC環境管理テーブル72が記憶する情報の一例を示す図である。ここでは、PC環境管理テーブル72は、PC環境ごとに固有なPC環境ID、PC環境名、アプリケーションID、仮想マシンIDをデータ項目としている。本実施形態における“PC環境”の語句は、仮想マシン31の動作環境(仮想デスクトップ環境)、すなわち、仮想マシン31の種類を示すものとする。例えば、VR(Virtual Reality)のアプリケーション311を利用できる仮想デスクトップ環境と、CAD(Computer Aided Design)のアプリケーション311を利用できる仮想デスクトップ環境とでは、別のPC環境ID及びPC環境名が設定される。また、同じPC環境IDには、単数又は複数の仮想マシンIDが関連付けられる。したがって、あるPC環境IDが指定されたとき、PC環境IDに関連付けられた仮想マシンIDが利用予約情報の割当候補になり得る。
 図5は、上限数設定テーブル73が記憶する情報の一例を示す図である。ここでは、上限数設定テーブル73は、PC環境ID、日付、スロットNo、上限数、残数をデータ項目としている。スロットNoは、1日(24時間)を所定の時間長で時分割した利用時間帯(以下、「スロット」という)のシーケンス番号である。本実施形態では、1スロットが5分間である場合を例として説明する。上限数は、同時に実行可能な仮想マシン31の数を意味する。上限数は、サーバハードウェア資源33や、アプリケーション311のライセンス数に基づいて予め定義されている。残数は、上限数からユーザによる利用予約情報の数を減算した数である。
 図6は、利用予約情報テーブル74が記憶する情報の一例を示す図である。ここでは、利用予約情報テーブル74は、利用予約ごとに固有な予約ID、ユーザID、PC環境ID、予約日、予約開始時刻、予約終了時刻、開始スロットNo、終了スロットNo、予約ステータス、登録者区分、予約割当先をデータ項目としている。
 予約IDは、例えば、利用予約情報の受付順に発行されるシーケンス番号である。予約ステータスは、利用予約情報の状態を示す。予約ステータスとしては、“予約済み”、“割当中”、“割当済み”等が挙げられる。登録者区分は、利用予約情報の登録者を分類する区分である。本実施形態の登録者区分には、利用予約を行ったユーザのユーザ区分(図3参照)が設定される。予約割当先は、利用予約情報が割り当てられた仮想マシン31の仮想マシンIDである。
 図7は、割当情報テーブル75が記憶する情報の一例を示す図である。ここでは、割当情報テーブル75は、仮想マシンID、PC環境ID、日付、スロットNo、予約ID、ユーザIDをデータ項目としている。
 図8は、予約管理サーバ60のハードウェア構成の一例を示すブロック図である。仮想基盤ホスト30、仮想基盤管理サーバ40、及びセッション管理サーバ50は、予約管理サーバ60と同様のハードウェア構成を備えるため、以下では予約管理サーバ60を例に説明する。
 図8に示すように、予約管理サーバ60は、CPU601、RAM602、記憶装置603、及び通信I/F604を有している。各装置は、バスライン605に接続されている。
 CPU601は、記憶装置603に記憶されたプログラムに従って所定の動作を行うとともに、予約管理サーバ60の各部を制御する機能を有するプロセッサである。予約管理サーバ60において、CPU601は受付部61、制御部62、抽出部63及び割当部64等として機能する。RAM602は、揮発性記憶媒体から構成され、CPU601の動作に必要な一時的なメモリ領域を提供する。
 記憶装置603は、不揮発性メモリ、ハードディスクドライブ等の記憶媒体により構成され、記憶部として機能する。記憶装置603は、CPU601により実行されるプログラム、そのプログラムの実行の際にCPU601により参照されるデータ等を記憶する。
 通信I/F604は、イーサネット(登録商標)、Wi-Fi(登録商標)、4G等の規格に基づく通信インターフェースであり、接続機器等との通信を行うためのモジュールである。
 なお、図8に示すハードウェア構成は例示であり、これら以外の装置が追加されていてもよく、一部の装置が設けられていなくてもよい。また、一部の装置が同様の機能を有する別の装置に置換されていてもよい。さらに、本実施形態の一部の機能がネットワークNWを介して他の装置により提供されてもよく、本実施形態の機能が複数の装置に分散されて実現されるものであってもよい。例えば、記憶装置603は、クラウドストレージに置換されていてもよい。
 続いて、上述のように構成された情報処理システム1の動作について説明する。
[利用予約情報の登録]
 図9は、利用予約情報の登録処理の一例を示すシーケンス図である。この処理は、ユーザが仮想マシン31の利用予約を行うたびに実行される。
 先ず、ユーザはユーザ端末20を操作して予約管理サーバ60が提供するWEBサイトへのアクセス要求を行う(ステップS101)。予約管理サーバ60は、ユーザ端末20からのアクセス要求に応じて、ユーザ端末20にログイン画面を表示させる(ステップS102)。
 図10は、ログイン画面の一例を示す図である。ここでは、ユーザIDとパスワードを入力する欄が表示されている。なお、ログイン時に使用される認証情報は、パスワードに限られない。認証情報としては、ユーザが所持するICカードに記録された情報や、生体情報が使用される場合も有り得る。
 次に、ユーザ端末20は、ログイン画面上で入力された認証情報を予約管理サーバ60に送信する(ステップS103)。これを受け、予約管理サーバ60は、ユーザ認証を行う(ステップS104)。
 次に、予約管理サーバ60は、ユーザ認証が成功した場合には、ユーザ端末20にメニュー画面を表示させる(ステップS105)。
 次に、ユーザ端末20は、メニュー画面において選択された予約メニューの情報を予約管理サーバ60に送信する(ステップS106)。これを受け、予約管理サーバ60は、ユーザIDに基づいてユーザ情報テーブル71を参照し、ユーザが利用できるPC環境の情報を取得する(ステップS107)。
 次に、予約管理サーバ60は、取得した情報に基づいて、PC環境一覧画面をユーザ端末20に表示させる(ステップS108)。図11は、PC環境一覧画面の一例を示す図である。ここでは、PC環境ID、OS、使用可能なアプリケーションの関係を示すPC環境の一覧が画面内に表示され、ユーザにより所望のPC環境が選択されることを示している。
 次に、ユーザ端末20は、PC環境一覧画面上で指定されたPC環境IDを予約管理サーバ60に送信する(ステップS109)。これを受け、予約管理サーバ60は、ユーザにより指定されたPC環境に係る予約画面をユーザ端末20に表示させる(ステップS110)。
 次に、ユーザ端末20は、予約画面において指定された日付を予約管理サーバ60に送信する(ステップS111)。これを受け、予約管理サーバ60は、上限数設定テーブル73を参照し、指定された日付における各スロットの残数を取得する(ステップS112)。
 次に、予約管理サーバ60は、取得したスロットNoと残数の情報に基づいて更新した予約画面をユーザ端末20に表示させる(ステップS113)。
 図12は、予約画面の一例を示す図である。ここでは、ユーザにより指定されたPC環境IDと、使用可能アプリケーションと、指定された日付と、同日付におけるスロットの空き状況を示すタイムチャートと、利用開始時刻及び利用終了時刻を指定するためのフォームとが表示されている。符号Aは、指定されたPC環境IDに対応する残数が0であって、予約できない時間帯を示している。また、符号Bは、ユーザ操作によって選択された時間帯を示している。ユーザは、利用開始時刻及び利用終了時刻を、上述したフォームへの入力、あるいは、符号Bに示すように、タイムチャート上でのドラッグ操作によって簡単に指定できる。
 次に、ユーザ端末20は、予約画面で指定された予約スロットNoを予約管理サーバ60に送信する(ステップS114)。これを受け、予約管理サーバ60は、利用予約情報を利用予約情報テーブル74に登録できるか否かを判定する(ステップS115)。ここで、予約管理サーバ60が、利用予約情報を利用予約情報テーブル74に登録できると判定した場合(ステップS115:YES)には、処理はステップS116へ移行する。
 これに対し、予約管理サーバ60が、利用予約情報を利用予約情報テーブル74に登録できないと判定した場合(ステップS115:NO)には、予約不可メッセージをユーザ端末20に送信する(ステップS119)。例えば、ユーザが予約画面において入力操作を行っている間に、他のユーザによる利用予約情報が先に登録されて残数が変化し、予約できなくなった場合が該当する。
 ステップS116において、予約管理サーバ60は、利用予約情報を利用予約情報テーブル74に登録する。これに伴い、予約管理サーバ60は、上限数設定テーブル73における残数を更新すると(ステップS117)、予約完了メッセージをユーザ端末20に送信する(ステップS118)。
 図13A乃至図13Cは、利用予約情報の登録アルゴリズム(予約アルゴリズム)の説明図である。図13A乃至図13Cでは、上限数設定テーブル73及び割当情報テーブル75が、予約時間を示す水平方向の時間軸に関連付けられて表示されている。垂直方向の時間軸は、利用予約の受付時間を示すものとする。
 図13Aは、スロットNoが“1”~“10”の各利用時間帯について、利用予約情報が1件も登録されていない初期状態を示している。初期状態においては、上限数設定テーブル73における残数は、上限数と同じく“5”である。
 これに対し、図13Bは、同じ利用時間帯について、User-Aによる利用予約情報R1、User-Bによる利用予約情報R2、User-Cによる利用予約情報R3、User-Dによる利用予約情報R4、User-Eによる利用予約情報R5が順番に受け付けられ、利用予約情報テーブル74に登録された状態を示している。
 例えば、User-Aによる利用予約情報R1は、スロットNoが“1”~“3”までの予約である。これら5件の利用予約情報R1~R5が登録されたとき、各スロットにおける残数が更新される。例えば、スロットNoが“3”のスロットについては、利用予約情報R1、R3、R4、R5の4件の利用予約情報が登録されたため、残数は“5”から“1”に更新されている。この場合、スロットNoが“3”のスロットについては、登録できる利用予約情報は1つのみであることを意味する。
 また、図13Cは、図13Bに示す登録状態に対して、さらにUser-Fによる利用予約情報R6、User-Gによる利用予約情報R7、User-Hによる利用予約情報R8が順番に受け付けられ、登録された状態を示している。User-Fによる利用予約情報R6は、スロットNoが“2”~“8”までの予約である。また、User-Gによる利用予約情報R7は、スロットNoが“1”~“2”までの予約である。User-Hによる利用予約情報R8は、スロットNoが“4”~“9”までの予約である。例えば、スロットNoが“2”のスロットについては、利用予約情報R6、R7の2件の利用予約情報が新たに登録されたため、残数は“2”から“0”に更新されている。したがって、スロットNoが“2”のスロットについては、新たな利用予約情報を受け付けたとしても登録が制限される。
 このように、利用予約情報R1~R8は、各スロットにおける予約数が所定の上限数に達するまで順番に受け付けられ、その後、受付順序に従って利用予約情報テーブル74に登録されることになる。
 なお、図13A乃至図13Cでは、利用予約情報R1~R8の予約段階では、割当情報テーブル75は更新されないことも示されている。すなわち、本実施形態では、予約段階で仮想マシンを特定する必要はない。各仮想マシン(VM-01~VM-05)に対する利用予約情報の割当は、予約とは別のタイミングで実行される。
[利用予約情報の割当]
 図14は、利用予約情報の割当処理の一例を示すフローチャートである。この処理は、予約管理サーバ60において所定の周期で繰り返し実行される。
 先ず、予約管理サーバ60は、利用予約情報テーブル74の中から、開始時刻が現在時刻から一定時間(例えば5分間)内の利用予約情報を抽出する(ステップS201)。
 次に、予約管理サーバ60は、抽出した利用予約情報の有無を判定する(ステップS202)。ここで、予約管理サーバ60が、抽出した利用予約情報は有ると判定した場合(ステップS202:YES)には、処理はステップS203へ移行する。これに対し、予約管理サーバ60が、抽出した利用予約情報は無いと判定した場合(ステップS202:NO)には、図14の処理は終了する。
 ステップS203において、予約管理サーバ60は、抽出した利用予約情報の中から、受付順序に従って利用予約情報を順次選択する。
 次に、予約管理サーバ60は、選択した利用予約情報の割当先の仮想マシンを所定の割当アルゴリズムに基づいて決定する(ステップS204)。割当アルゴリズムの詳細については、後述する。
 次に、予約管理サーバ60は、利用予約情報が割り当てられた仮想マシン31の生成を仮想基盤管理サーバ40に要求する(ステップS205)。このとき、予約管理サーバ60は、割り当てる利用予約情報の利用予約情報テーブル74における予約ステータスを“予約済み”から“割当中”に更新する。また、仮想基盤管理サーバ40は、予約管理サーバ60からの要求を受けて、仮想マシン31を仮想基盤ホスト30内に生成する。
 次に、予約管理サーバ60は、割り当てを行った利用予約情報の利用予約情報テーブル74における予約ステータスを“割当中”から“割当済み”に更新する(ステップS206)。また、利用予約情報テーブル74の予約割当先には、割当先の仮想マシン31の仮想マシンIDを設定する。
 そして、予約管理サーバ60は、すべての利用予約情報の割り当てを完了したか否かを判定する(ステップS207)。ここで、予約管理サーバ60が、すべての利用予約情報の割り当てを完了したと判定した場合(ステップS207:YES)には、図14の処理を終了する。これに対し、予約管理サーバ60が、割り当てを完了していないと判定した場合(ステップS207:NO)には、処理はステップS203に戻る。
 図15A乃至図15Dは、利用予約情報の割当アルゴリズムの説明図である。図15A乃至図15Dでは、上限数設定テーブル73及び割当情報テーブル75が、予約時間を示す水平方向の時間軸に関連付けられて表示されている。垂直方向の時間軸は、利用予約の受付時間を示すものとする。
 なお、5台の仮想マシンに対する利用予約の割当は、所定の割当優先順位(本実施形態では、VM―01>VM―02>VM―03>VM―04>VM―05とする。)に従って行われるものとする。また、所定時間ΔTの長さは、以下では1スロットの長さと同じものとして説明する。
 図15Aでは、現在時刻がスロットNo:“1”の開始時刻(時刻T0)よりも所定時間ΔT以内に達したときに、同スロットNo:“1”から開始する利用予約情報R1、R7を仮想マシンに割り当てる場合を示している。
 先ず、受付順序が先の利用予約情報R1が選択されると、割当優先順位が最上位である仮想マシンVM-01に利用予約情報R1が割り当てられる。次に、残りの利用予約情報R7が選択されるが、その予約時間について利用予約情報R1が仮想マシンVM-01に割当済みである。すなわち、利用予約情報R7は、割当優先順位が最上位である仮想マシンVM-01には割り当てられない。このため、利用予約情報R7は、割当優先順位が2位である仮想マシンVM-02に割り当てられる。
 図15Bでは、現在時刻がスロットNo:“2”の開始時刻(時刻T1)よりも所定時間ΔT以内(すなわち、時刻T0)に達したときに、同スロットNo:“2”から開始する利用予約情報R4、R5、R6をスロットが空いている仮想マシンに割り当てる場合を示している。
 先ず、3件の中で受付順序が1番目の利用予約情報R4が選択されるが、その予約時間(特にスロットNo:“2”、“3”)について利用予約情報R1、R7が仮想マシンVM-01、VM-02にそれぞれ割当済みである。このため、利用予約情報R4は、仮想マシンVM-01、VM-02には割り当てられない。利用予約情報R4は、割当優先順位が3位である仮想マシンVM-03に割り当てられる。
 次に、3件の中で受付順序が2番目の利用予約情報R5が選択されるが、その予約時間(特にスロットNo:“2”、“3”)について利用予約情報R1、R7、R4が仮想マシンVM-01~VM―03にそれぞれ割当済みである。このため、利用予約情報R5は、仮想マシンVM-01~VM―03には割り当てられない。利用予約情報R5は、割当優先順位が4位である仮想マシンVM-04に割り当てられる。
 最後に、3件の中で受付順序が3番目の利用予約情報R6が選択されるが、その予約時間(特にスロットNo:“2”~“5”)について利用予約情報R1、R7、R4、R5が仮想マシンVM-01~VM―04にそれぞれ割当済みである。このため、利用予約情報R6は、仮想マシンVM-01~VM―04には割り当てられない。利用予約情報R6は、割当優先順位が5位である仮想マシンVM-05に割り当てられる。
 図15Cでは、現在時刻がスロットNo:“3”の開始時刻(時刻T2)よりも所定時間ΔT以内(すなわち、時刻T1)に達したときに、同スロットNo:“3”から開始する利用予約情報R3をスロットが空いている仮想マシンに割り当てる場合を示している。この場合も、利用予約情報R3は、割当優先順位に従って割当可能な仮想マシンに割り当てられる。利用予約情報R3は、スロットNo:“3”~“7”の予約であるため、最上位の仮想マシンVM-01には割り当てられない。しかし、割当優先順位が2位の仮想マシンVM-02については、User-Gの利用予約情報R7の割当がスロットNo:“2”をもって終了する。このため、利用予約情報R3は、仮想マシンVM-02に割り当てられる。
 図15Dでは、現在時刻がスロットNo:“4”の開始時刻(時刻T3)よりも所定時間ΔT以内(すなわち、時刻T2)に達したときに、同スロットNo:“4”から開始する利用予約情報R8をスロットが空いている仮想マシンに割り当てる場合を示している。この場合も、利用予約情報R8は、割当優先順位に従って割当可能な仮想マシンに割り当てられる。利用予約情報R8は、スロットNo:“4”~“9”の予約である。これらのスロットについては、最上位の仮想マシンVM-01において、空きが生じている。このため、利用予約情報R8は、仮想マシンVM-01に割り当てられる。
[一括予約]
 図16は、一括予約処理の一例を示すフローチャートである。この処理は、例えば、大学の授業のカリキュラム及び履修対象者の人数が確定したタイミングや、履修人数が増加したタイミングで、教員等の管理者による操作に基づいて実行される。
 先ず、予約管理サーバ60は、管理画面を介してユーザ端末20からアップロードされたCSVファイルを取得する(ステップS301)。
 図17は、管理者画面の一例を示す図である。ここでは、CSV一括処理の欄の上部に、管理者によって指定されたCSVファイルのファイル名が記載されている。管理者が、アップロードボタンを押下すると、CSVファイルは予約管理サーバ60にアップロードされる。また、CSV一括処理の欄の下部には、授業IDと期間を入力するためのフォームと、ダウンロードボタンが設けられている。
 次に、予約管理サーバ60は、CSVファイルから予約日及び予約件数をそれぞれ取得する(ステップS302・S303)。
 次に、予約管理サーバ60は、取得した予約日に予約件数の登録を行った場合に、同日付の指定スロットの残数を超えてしまうか否かを判定する(ステップS304)。ここで、指定スロットの残数を超えると判定した場合(ステップS304:YES)には、処理はステップS305に移行する。これに対し、指定スロットの残数を超えないと判定した場合(ステップS304:NO)には、処理はステップS309に移行する。
 ステップS305において、予約管理サーバ60は、予約日における授業時間と重なる対象スロットにおいて、既に登録されている個人予約をすべて取得する。
 次に、予約管理サーバ60は、取消対象とする個人予約を選定する(ステップS306)。具体的には、取得された利用予約情報を受付順序が降順になるようにソートし、受付順序が最後のものから利用予約情報を選択する。
 なお、利用予約情報の選択は、残数が予約件数と同数になるまで繰り返し行われる。例えば、授業時間に対応する各スロットの上限数が40であり、授業で38台分の割当が必要となる場合を考える。仮に、自習目的で5台分の利用予約が既に登録されているとすると、残数は35である。よって、38台分の利用予約を登録するためには、予約管理サーバ60は、3台分の利用予約を取り消す。
 次に、予約管理サーバ60は、取消対象とする個人予約について、管理者権限に基づく取消処理を実行すると(ステップS307)、取消した個人予約に係るユーザに対してメールを送信する(ステップS308)。
 次に、予約管理サーバ60は、一括予約処理を実行すると(ステップS309)、処理はステップS310に移行する。なお、一括予約処理に伴って登録された利用予約情報の予約ステータスは、例えば“管理者予約”に更新する。また、一括予約処理に伴って取り消された学生の利用予約情報の予約ステータスは、例えば“管理者取消”に更新する。これにより、登録された利用予約情報と一括予約処理との関係を容易に把握できる。
 そして、予約管理サーバ60は、取得されたCSVファイルに基づく予約処理を完了するか否かを判定する(ステップS310)。ここで、予約管理サーバ60が、予約処理を完了すると判定した場合には(ステップS310:YES)、図16の処理を終了する。これに対し、予約管理サーバ60が、予約処理を完了しないと判定した場合には(ステップS310:NO)、処理はステップS302へ戻る。
 このように、本実施形態によれば、予約管理サーバ60は、予約段階においては仮想マシン31を特定しなくても、所定の上限数に達するまで利用予約情報を順次登録できる。また、予約管理サーバ60は、利用予約で指定されたスロット(利用時間帯)が空いている仮想マシン31に対して利用予約情報を割り当てることができる。このため、限られた数の仮想マシン31を効率的に利用することができる。
 また、予約管理サーバ60は、利用予約情報テーブル74に記憶されている複数の利用予約情報のうちから、現在時刻から開始時刻までの時間が所定時間内の利用予約情報を抽出して、利用予約情報の開始時刻において利用可能な仮想マシン31に所定のアルゴリズムで割り当てる。すなわち、利用予約情報の受付タイミングとは別に、所望のタイミングで利用予約情報の割当処理を実行できる。その結果、仮想マシン31のユーザ数が最大化される。また、仮想マシン31を実行させるためのサーバハードウェア資源33のコストや、契約するアプリケーション311のライセンス数を抑制できる。
 また、本実施形態によれば、ユーザは、事前にPC環境(すなわち、仮想デスクトップ環境)を使いたい時間帯と、利用したいアプリケーション311に係るPC環境を選択して予約する。予約管理サーバ60は、利用予約情報(予約レコード)の予約開始時刻までに仮想マシン31の起動処理を完了しているため、ユーザは、予約開始時刻になると、起動済みの仮想マシン31を速やかに利用できる。
 また、予約管理サーバ60は、複数の仮想マシンに予め定義された割当優先順位に従って利用予約情報を仮想マシンに対して割り当てる。すなわち、所定の規則により割当を行うため、割当処理の高速化を図ることができる。
 さらに、本実施形態によれば、予約管理サーバ60は、管理者権限に基づく一括予約及び一括取消の機能を有する。このため、教員等の管理者は、授業で利用する予定の仮想デスクトップ環境を、必要な時間に必要な数だけ任意のタイミングで優先的に登録できる。具体的には、学生が自習用に仮想デスクトップ環境の利用予約を行っていた場合でも、管理者は例外的に学生の利用予約を取り消す。これにより、管理者は、急遽に履修者の数が増加した場合や、緊急メンテナンスにより授業時間を変更しなければならない場合等にも、履修者全員分の仮想デスクトップ環境を確実に確保できる。
[第2実施形態]
 以下、本発明の第2実施形態について説明する。なお、第1実施形態の図中において付与した符号と共通する符号は同一の対象を示す。第1実施形態と共通する箇所の説明は省略し、異なる箇所について詳細に説明する。
 図18は、第2実施形態における管理サーバ10の全体構成例を示すブロック図である。図18に示すように、本実施形態は、予約管理サーバ60にエージェント管理部65、画像解析部66、顔認証部67、及び出力部68をさらに含む点で第1実施形態とは異なっている。
 エージェント管理部65は、ユーザ端末20にインストールされたプログラムであるエージェント21を制御する。エージェント管理部65は、エージェント21にユーザ端末20に搭載されたデジタルカメラ等の撮像装置(不図示)における撮影処理を行わせる制御を行う。また、エージェント管理部65は、撮影された撮影画像をエージェント21から取得する。
 画像解析部66は、撮影画像を解析してユーザの顔画像を検出するとともに、顔画像におけるユーザの表情や行動を判定する。また、画像解析部66は、仮想マシン31の利用中においてユーザの顔画像が検出されているか否かを判定する。すなわち、画像解析部66は、撮像画像の解析により、ユーザがユーザ端末20の前に存在するか否かを判定できる。そして、画像解析部66は、ユーザの顔画像が検出されない時間を計数することにより、ユーザの連続した離席時間、利用時間内における離席時間の割合も取得できる。
 顔認証部67は、画像解析部66で抽出された顔画像と、ユーザ情報テーブル71に記憶されているユーザ(予約者)の登録顔画像とを照合する。顔認証部67は、照合処理の結果に基づいて、仮想マシン31を利用中、又は利用しようとしている人物が予約者と同一人物であるか否かを認証する。
 出力部68は、画像解析部66における画像解析処理の結果に基づいて、仮想マシン31を利用中のユーザに予約を促す情報をユーザ端末20へ出力する。
[撮像画像に基づく制御例(1)]
 図19は、撮像画像に基づく制御処理の一例を示すフローチャートである。この処理は、ユーザ端末20において仮想マシン31の利用を開始してから終了するまで繰り返し実行される。なお、複数の仮想マシン31が同時に実行される場合には、図19の処理は仮想マシン31ごとに実行される。
 先ず、予約管理サーバ60は、ユーザ端末20(エージェント21)に対して撮影処理を要求することにより、ユーザ端末20から撮影画像を取得する(ステップS401)。次に、予約管理サーバ60は、撮影画像の中から顔画像を検出する(ステップS402)。
 次に、予約管理サーバ60は、検出された顔画像と、ユーザIDをキーとしてユーザ情報テーブル71から取得した登録顔画像との顔照合を行う(ステップS403)。
 次に、予約管理サーバ60は、照合結果が照合一致であるか否かを判定する(ステップS404)。ここで、予約管理サーバ60が、照合結果は照合一致であると判定した場合(ステップS404:YES)には、処理はステップS405へ移行する。これに対し、予約管理サーバ60が、照合結果は照合不一致であると判定した場合(ステップS404:NO)には、処理はステップS406へ移行する。
 ステップS405において、予約管理サーバ60は、現在時刻が予約終了時刻に達したか否かを判定する。ここで、予約管理サーバ60が、現在時刻は予約終了時刻に達したと判定した場合(ステップS405:YES)には、処理はステップS409へ移行する。これに対し、予約管理サーバ60が、現在時刻は予約終了時刻に達していないと判定した場合(ステップS405:NO)には、処理はステップS401に戻る。
 ステップS406において、予約管理サーバ60は、認証エラーのエラー回数を計数する。次に、予約管理サーバ60は、エラー回数が所定の閾値以内であるか否かを判定する(ステップS407)。ここで、予約管理サーバ60が、エラー回数は閾値以内であると判定した場合(ステップS407:YES)には、処理はステップS405へ移行する。これに対し、予約管理サーバ60が、エラー回数は閾値を超えていると判定した場合(ステップS407:NO)には、処理はステップS408へ移行する。
 ステップS408において、予約管理サーバ60は、エラー画面をユーザ端末20に表示させる。その後、処理はステップS409へ移行する。図20は、ユーザ端末20に表示されるエラー画面の一例を示す図である。ここでは、ユーザを撮影した顔画像と、登録顔画像との照合結果に基づいて顔認証を行えなかった場合に表示されるエラーメッセージ(「顔認証ができませんでした。予約者以外の方は、このPC環境を利用できません。」)がエラー画面上に表示されている。
 ステップS409において、予約管理サーバ60は、ユーザが利用中の仮想マシン31のリソース解放を仮想基盤管理サーバ40に対して要求する。これにより、仮想基盤管理サーバ40は、要求された仮想マシン31のリソースを解放する。
[撮像画像に基づく制御例(2)]
 図21は、撮像画像に基づく制御処理の一例を示すフローチャートである。
 先ず、予約管理サーバ60は、ユーザ端末20(エージェント21)に対して撮影処理を要求することにより、ユーザ端末20から撮影画像を取得する(ステップS501)
 次に、予約管理サーバ60は、撮影画像から顔画像を検出できたか否かを判定する(ステップS502)。ここで、予約管理サーバ60が、顔画像を検出できたと判定した場合(ステップS502:YES)には、処理はステップS503へ移行する。これに対し、予約管理サーバ60が、顔画像を検出できないと判定した場合(ステップS502:NO)には、離席時間を計数し(ステップS505)、処理はステップS506へ移行する。
 ステップS503において、予約管理サーバ60は、撮影画像から検出した顔画像を解析する。次に、予約管理サーバ60は、顔画像の画像解析の結果に基づいて、ユーザの所定の表情と行動を判定するとともに、ユーザの表情と行動の統計処理を行う(ステップS504)。
 所定の表情としては、例えば、眠そうな表情、困惑の表情、授業内容への興味が希薄な表情等、ユーザが集中して受講していないと推定される各種の表情が挙げられる。また、所定の行動としては、離席、余所見、居眠り等が挙げられる。なお、本ステップにおいて、既存の表情推定技術及び感情推定技術を用いてもよい。
 ステップS506において、予約管理サーバ60は、離席時間の合計が所定の閾値以内であるか否かを判定する。ここで、予約管理サーバ60が、離席時間は閾値以内であると判定した場合(ステップS506:YES)には、処理はステップS507へ移行する。これに対し、予約管理サーバ60が、離席時間は閾値を超えると判定した場合(ステップS506:NO)には、警告画面をユーザ端末20に表示させ(ステップS508)、処理はステップS509へ移行する。
 図22は、ユーザ端末20に表示される警告画面の一例を示す図である。ここでは、ユーザの離席時間の長さが所定の閾値を超えたことによる警告メッセージ(「離席時間が○○分を経過しました。受講を継続する場合には、続行ボタンを押してください。残り時間以内に続行ボタンが押されない場合には、サーバとの接続を終了します。」)と、警告状態を解除するための続行ボタンが表示されている。
 ステップS507において、予約管理サーバ60は、ステップS504における統計処理の結果と、離席時間の長さとに基づいて、仮想マシン31を利用して受講している授業に対するユーザの理解度を推定する。
 次に、予約管理サーバ60は、ステップS507で推定されたユーザの理解度に基づいて、ユーザは再受講が必要であるか否かを判定する(ステップS510)。ここで、予約管理サーバ60が、再受講が必要と判定した場合(ステップS510:YES)には、ユーザ端末20に提案画面を表示し(ステップS511)、処理はステップS512へ移行する。
 図23は、ユーザ端末20に表示される提案画面の一例を示している。ここでは、撮像画像に含まれるユーザの顔画像の解析結果に基づいてユーザに再受講を促すメッセージ(「今回の授業を再受講しますか?再受講を希望する場合には、再受講ボタンを押してください。」)と、再受講ボタン及び閉じるボタンが表示されている。再受講ボタンが押下された場合には、提案画面は、例えば予約画面に遷移する。この際、予約画面では、PC環境の指定を不要とし、同じPC環境で時間枠のみを設定することで予約を完了できるように構成すると好適である。
 これに対し、再受講が不要と判定した場合(ステップS510:NO)には、処理はステップS512へ移行する。なお、上述の表情推定技術及び感情推定技術により検出した表情に基づき、ステップS510の判定を行ってもよい。この場合、上述のステップS507を省略することもできる。
 ステップS512において、予約管理サーバ60は、現在時刻が予約終了時刻に達したか否かを判定する。ここで、予約管理サーバ60が、現在時刻は予約終了時刻に達したと判定した場合(ステップS512:YES)には、処理はステップS513へ移行する。これに対し、予約管理サーバ60が、現在時刻は予約終了時刻に達していないと判定した場合(ステップS512:NO)には、処理はステップS501へ戻る。
 ステップS513において、予約管理サーバ60は、ユーザが利用中の仮想マシン31のリソース解放を仮想基盤管理サーバ40に対して要求する。これにより、仮想基盤管理サーバ40は、要求された仮想マシン31のリソースを解放し、図21の処理を終了する。
 このように、本実施形態によれば、予約者と異なる人物が仮想マシン31を利用しようとした場合には、顔認証によってエラーとなる。このため、学生が遠隔地から受講するような場合においては、大学側では学生の出席管理を確実に行える。
 また、仮想マシン31の利用中に、ユーザ端末20における撮影画像をリアルタイムで受信して解析することにより、学生が離席しているか否か、受講態度が適切であるか否か等を容易に判定できる。例えば、予約管理サーバ60が、離席時間を計数し、離席時間が所定の閾値を超える場合には、仮想マシン31が利用しているリソースを解放するように制御することで、仮想マシン31の利用効率を高めることもできる。
 また、予約管理サーバ60は、学生が居眠りをしている他、学生の視線が画面に向いていないことを検出した場合も、離席とみなし、離席の場合と同様の処理を行うようにも設計し得る。この場合、予約管理サーバ60は、取得したユーザの顔画像を解析することでユーザの視線を検出するように設計してもよい。
 さらに、予約管理サーバ60は、ユーザの顔画像の解析によって所定の表情や行動を検出した場合には、授業に対するユーザの理解度が十分でないと判定できる。そして、管理サーバ10は、ユーザに対して同一授業の再受講(再予約)を促す情報をユーザ端末20に出力する。これにより、ユーザは、同一のPC環境となる仮想マシン31の利用予約を行い易くなる。
[第3実施形態]
 以下、本発明の第3実施形態について説明する。なお、第1実施形態の図中において付与した符号と共通する符号は同一の対象を示す。第1実施形態と共通する箇所の説明は省略し、異なる箇所について詳細に説明する。
 図24は、第3実施形態における管理サーバ10の全体構成例を示すブロック図である。図24に示すように、本実施形態における共有データベース70は、利用実績情報テーブル76をさらに含んでいる。また、本実施形態における予約管理サーバ60は、出力部68及び学習部69をさらに備える点で第1実施形態とは異なっている。
 学習部69は、ユーザによる過去の利用予約情報(第1の利用予約)に対して、ユーザによる仮想マシン31における過去の利用実績を学習する。出力部68は、学習済みの学習モデルを用いて、ユーザによる新たな利用予約情報(第2の利用予約)に対して、ユーザによる仮想マシン31における将来の利用状況を推定し、その推定結果に基づいて第2の利用予約の変更を促す情報を出力する。
 図25は、利用実績情報テーブル76が記憶する情報の一例を示す図である。ここでは、利用実績情報テーブル76は、予約ID、ユーザID、PC環境ID、利用日、利用開始時刻、利用終了時刻をデータ項目としている。利用日、利用開始時刻、利用開始時刻は、ユーザが実際に仮想マシン31を利用したときの日付、開始時刻及び終了時刻である。
 図26は、学習部69が学習処理に用いるニューラルネットワークの一例を示す模式図である。図26に示すニューラルネットワークは、複数のノードを有する入力層と、複数のノードを有する中間層と、1個のノードを有する出力層とを備える。
 入力層の各ノードには、入力値としてユーザの過去の利用予約を表す値が入力される。中間層の各ノードは、入力層の各ノードに接続される。中間層のノードに入力された入力値の各要素は、中間層の各ノードにおける演算に用いられる。中間層の各ノードは、例えば、入力層の各ノードから入力された入力値と、所定の重み付け係数と、所定のバイアス値とを用いて演算値を算出する。中間層の各ノードは、それぞれ出力層に接続され、算出した演算値を出力層のノードに出力する。出力層のノードは、中間層の各ノードから演算値が入力される。
 出力層のノードは、中間層の各ノードから入力された演算値と、重み付け係数と、バイアス値とを用いてユーザの利用状況を示す値を出力する。出力値は、教師データと比較される。本実施形態では、教師データとして同一ユーザの利用予約に対応する利用実績情報(利用履歴)が用いられる。なお、ニューラルネットワークを学習させる際には、例えば誤差逆伝播法が用いられる。
 具体的には、データを入力層に入力したときの出力値と教師データから得られる出力値とを比較し、比較した2つの出力値の誤差を中間層にフィードバックする。これを誤差が所定の閾値を下回るまで繰り返す。このような学習処理により、ニューラルネットワーク(学習モデル)に、ユーザから新たな利用予約が入力されたときには、ユーザの将来の利用状況を推定した値を出力できる。
[学習モデルに基づく制御(1)]
 図27は、学習モデルに基づく制御処理の一例を示すフローチャートである。
 先ず、予約管理サーバ60は、ユーザ端末20から受信した新たな利用予約情報を取得すると(ステップS601)、この利用予約情報を学習済みの学習モデルに入力する(ステップS602)。
 次に、予約管理サーバ60は、学習モデルにより推定された、ユーザの将来の利用状況を取得する(ステップS603)。
 次に、予約管理サーバ60は、推定された将来の利用状況と、利用予約で指定された利用時間とを比較し、利用時間の長さが適切であるか否かを判定する(ステップS604)。ここで、予約管理サーバ60が、利用時間の長さは適切であると判定した場合(ステップS604:YES)には、処理はステップS608に移行する。これに対し、予約管理サーバ60が、利用時間の長さは不適切であると判定した場合(ステップS604:NO)には、処理はステップS605へ移行する。
 ステップS605において、予約管理サーバ60は、ユーザに対して利用時間の長さの変更を促す提案画面をユーザ端末20に表示させ、処理はステップS606に移行する。
 図28は、ユーザ端末20に表示される提案画面の一例を示す図である。画面の上欄部には、予約内容の確認のために、PC環境ID、利用可能アプリケーション、予約日時が表示されている。また、画面の下欄部には、上述した学習モデルによって推定されたユーザの将来の利用状況に基づくメッセージ(「○○さんは予約時間よりも遅く来る傾向がありますので、開始時間を15分遅くしますか?」)と、過去の利用予約と利用実績との関係を示す一覧と、提案を受け入れるか否かを選択する予約変更ボタン及び登録ボタンが表示されている。なお、提案画面は、ユーザ自身に予約開始時刻、予約終了時刻、あるいは予約時間の長さを再指定させる画面としてもよい。また、予約管理サーバ60は、予約可能な別の日時をユーザに提案してもよい。
 ステップS606において、予約管理サーバ60は、ユーザ端末20から予約変更の要求の有無を判定する。ここで、予約管理サーバ60が、予約変更の要求が有ったと判定した場合(ステップS606:YES)には、処理はステップS607へ移行する。これに対し、予約管理サーバ60が、予約変更の要求は無いと判定した場合(ステップS606:NO)には、処理はステップS608へ移行する。
 ステップS607において、予約管理サーバ60は、提案時間に基づいて自動的に変更した利用予約情報を利用予約情報テーブル74に登録し、図27の処理を終了する。
 これに対し、ステップS608において、予約管理サーバ60は、ユーザの指定時間(当初の予約時間)の長さに基づいて利用予約情報を利用予約情報テーブル74に登録し、図27の処理を終了する。
[学習モデルに基づく制御(2)]
 図29は、学習モデルに基づく制御処理の一例を示すフローチャートである。
 先ず、予約管理サーバ60は、ユーザ端末20から受信した新たな利用予約情報を取得すると(ステップS701)、この利用予約情報を学習済みの学習モデルに入力する(ステップS702)。
 次に、予約管理サーバ60は、学習モデルにより推定された、ユーザの将来の利用状況を取得する(ステップS703)。
 次に、予約管理サーバ60は、推定された将来の利用状況と、利用予約で指定された利用時間とを比較し、利用時間の長さが適切であるか否かを判定する(ステップS704)。ここで、予約管理サーバ60が、利用時間の長さは適切であると判定した場合(ステップS704:YES)には、図29の処理は終了し、利用予約の登録処理(図9のステップS115・S116)に移行する。これに対し、予約管理サーバ60が、利用時間の長さは不適切であると判定した場合(ステップS704:NO)には、処理はステップS705へ移行する。
 ステップS705において、予約管理サーバ60は、推定された利用状況に基づいて、利用予約で指定された利用時間を自動的に補正し、図29の処理を終了する。
 このように、本実施形態によれば、機械学習により得られた学習モデルに基づいて、ユーザの将来の利用状況を推定できる。これにより、ユーザから新たな利用予約が入力されたときには、利用予約で指定された利用時間の長さが適切であるか否かをユーザに確認させることができる。
 また、本実施形態によれば、予約管理サーバ60は、ユーザの将来の利用状況を推定するとともに、その推定結果に基づいてユーザの利用時間を自動的に補正した上で利用予約情報テーブル74への登録処理を行うこともできる。
[第4実施形態]
 図30は、第4実施形態における情報処理装置100の全体構成例を示すブロック図である。情報処理装置100は、受付部100Aと、制御部100Bと、割当部100Cとを備える。受付部100Aは、仮想マシンの利用予約を利用時間帯毎に受け付ける。制御部100Bは、利用時間帯における利用予約の数が、同時に実行可能な仮想マシンの所定の総数に達するまで利用予約の受付を許可する。割当部100Cは、利用時間帯において、任意の仮想マシンに利用予約を割り当て、仮想マシンの利用をユーザに提供する。本実施形態によれば、仮想マシンを効率的に利用できる。
[変形実施形態]
 以上、実施形態を参照して本発明を説明したが、本発明は上述の実施形態に限定されるものではない。本発明の構成及び詳細には本発明の要旨を逸脱しない範囲で、当業者が理解し得る様々な変形をできる。例えば、いずれかの実施形態の一部の構成を、他の実施形態に追加した実施形態、あるいは他の実施形態の一部の構成と置換した実施形態も本発明を適用し得る実施形態であると理解されるべきである。
 上述の実施形態では、予約管理サーバ60が、利用予約情報テーブル74に記録されている利用予約情報を参照して仮想基盤管理サーバ40に対して仮想デスクトップ環境の生成及びリソースの解放を要求する構成について説明した。しかし、予約管理サーバ60は、利用予約情報の他に、ユーザが仮想デスクトップ環境を実際に利用中であるか否かを判定し、その判定結果も踏まえて利用予約を受け付けてもよい。
 例えば、ユーザが13時から15時の利用予約を行っていたが、ユーザ自身が画面上で14時に仮想マシン31の利用終了を宣言したような場合には、14時から15時の間の利用時間帯(利用枠)に空きが生じる。このような場合、予約管理サーバ60が、仮想マシン31の利用終了に伴って空いた利用時間帯における予約受付を受付可能とするように、実際の利用状況に基づいて上限数設定テーブル73における対応スロットの残数を自動的に更新してもよい。これにより、限られた台数の仮想マシン31の利用効率をさらに高めることができる。
 また、上述の実施形態では、ユーザが所望のアプリケーション311を利用可能な仮想マシンの種類(PC環境ID)を指定して予約する構成について説明したが、予約時に指定する情報はこれに限られない。例えば、ユーザが利用したいアプリケーション311のイメージ画像を画面上で選択したときに、予約管理サーバ60がユーザにより選択されたアプリケーション311を実行可能な仮想マシン31を生成するように構成してもよい。すなわち、アプリケーション単位での利用予約も可能である。
 さらに、ユーザが仮想マシン31にインストール済みのアプリケーション311の内容(PC環境)を考慮せずに、利用可能な利用時間帯を選択することで、仮想マシン31の利用予約を行う構成も考えられる。例えば、アプリケーション311のライセンス数が十分にあるような場合には、サーバハードウェア資源33に基づいて設定された上限数の範囲で仮想マシン31の利用予約を利用時間帯別に行える。
 上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
 該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性メモリカード等を用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作して処理を実行するものも各実施形態の範疇に含まれる。
 上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 仮想マシンの利用予約を利用時間帯毎に受け付ける受付部と、
 前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可する制御部と、
 前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供する割当部と、
 を備える情報処理装置。
(付記2)
 前記割当部は、前記利用時間帯の開始時刻において利用可能な前記仮想マシンに、前記利用予約を割り当てる、
 付記1に記載の情報処理装置。
(付記3)
 前記割当部は、現在時刻から前記開始時刻までの時間が所定時間内の前記利用予約を前記仮想マシンに割り当てる、
 付記2に記載の情報処理装置。
(付記4)
 前記割当部は、複数の前記仮想マシンに予め定義された優先順位に従って前記利用予約を割り当てる、
 付記1又は2に記載の情報処理装置。
(付記5)
 前記仮想マシンを利用するユーザ端末で撮影された撮影画像を取得する画像取得部と、
 前記撮影画像から抽出された前記ユーザの顔画像と前記ユーザの登録顔画像とを照合する照合部とをさらに備え、
 前記割当部は、前記顔画像と前記登録顔画像とが照合不一致のときに、前記仮想マシンの利用を停止する、
 付記1乃至4のいずれかに記載の情報処理装置。
(付記6)
 前記仮想マシンを利用するユーザ端末で撮影された撮影画像を取得する画像取得部と、
 前記撮影画像から前記ユーザの所定の表情又は行動を検出する検出部と、
 前記検出の結果に基づいて、前記ユーザに対して前記利用予約の入力を促す情報を前記ユーザ端末に出力する出力部と、
 をさらに備える付記1乃至4のいずれかに記載の情報処理装置。
(付記7)
 前記ユーザによる第1の利用予約に対して、前記ユーザによる前記仮想マシンにおける過去の利用実績を学習した学習モデルを用いて、前記ユーザによる新たな第2の利用予約に対して、前記ユーザによる前記仮想マシンにおける将来の利用状況を推定し、その推定結果に基づいて前記第2の利用予約の変更を促す情報を出力する出力部、
 をさらに備える付記1乃至4のいずれかに記載の情報処理装置。
(付記8)
 前記割当部は、前記ユーザによる第1の利用予約に対して、前記ユーザによる前記仮想マシンにおける過去の利用実績を学習した学習モデルを用いて、前記ユーザによる新たな第2の利用予約に対して、前記ユーザによる前記仮想マシンにおける将来の利用状況を推定し、その推定結果に基づいて前記第2の利用予約で指定された前記利用時間帯を補正する、
 付記1乃至4のいずれかに記載の情報処理装置。
(付記9)
 仮想マシンの利用予約を利用時間帯毎に受け付けるステップと、
 前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可するステップと、
 前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供するステップと、
 を備える情報処理方法。
(付記10)
 コンピュータに、
 仮想マシンの利用予約を利用時間帯毎に受け付けるステップと、
 前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可するステップと、
 前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供するステップと、
 を実行させるためのプログラムが記録された記録媒体。
 この出願は、2019年6月26日に出願された日本出願特願2019-118356を基礎とする優先権を主張し、その開示の全てをここに取り込む。
NW・・・ネットワーク
1・・・情報処理システム
10・・・管理サーバ
20・・・ユーザ端末
21・・・エージェント
30・・・仮想基盤ホスト
31・・・仮想マシン
311・・・アプリケーション
312・・・ゲストOS
32・・・ハイパーバイザ
33・・・サーバハードウェア資源
331・・・プロセッサ(CPU・GPU)
332・・・メモリ
333・・・NIC
40・・・仮想基盤管理サーバ
50・・・セッション管理サーバ
60・・・予約管理サーバ
70・・・共有データベース
71・・・ユーザ情報テーブル
72・・・PC環境管理テーブル
73・・・上限数設定テーブル
74・・・利用予約情報テーブル
75・・・割当情報テーブル
76・・・利用実績情報テーブル
100・・・情報処理装置

Claims (10)

  1.  仮想マシンの利用予約を利用時間帯毎に受け付ける受付部と、
     前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可する制御部と、
     前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供する割当部と、
     を備える情報処理装置。
  2.  前記割当部は、前記利用時間帯の開始時刻において利用可能な前記仮想マシンに、前記利用予約を割り当てる、
     請求項1に記載の情報処理装置。
  3.  前記割当部は、現在時刻から前記開始時刻までの時間が所定時間内の前記利用予約を前記仮想マシンに割り当てる、
     請求項2に記載の情報処理装置。
  4.  前記割当部は、複数の前記仮想マシンに予め定義された優先順位に従って前記利用予約を割り当てる、
     請求項1又は2に記載の情報処理装置。
  5.  前記仮想マシンを利用するユーザ端末で撮影された撮影画像を取得する画像取得部と、
     前記撮影画像から抽出された前記ユーザの顔画像と前記ユーザの登録顔画像とを照合する照合部とをさらに備え、
     前記割当部は、前記顔画像と前記登録顔画像とが照合不一致のときに、前記仮想マシンの利用を停止する、
     請求項1乃至4のいずれか1項に記載の情報処理装置。
  6.  前記仮想マシンを利用するユーザ端末で撮影された撮影画像を取得する画像取得部と、
     前記撮影画像から前記ユーザの所定の表情又は行動を検出する検出部と、
     前記検出の結果に基づいて、前記ユーザに対して前記利用予約の入力を促す情報を前記ユーザ端末に出力する出力部と、
     をさらに備える請求項1乃至4のいずれか1項に記載の情報処理装置。
  7.  前記ユーザによる第1の利用予約に対して、前記ユーザによる前記仮想マシンにおける過去の利用実績を学習した学習モデルを用いて、前記ユーザによる新たな第2の利用予約に対して、前記ユーザによる前記仮想マシンにおける将来の利用状況を推定し、その推定結果に基づいて前記第2の利用予約の変更を促す情報を出力する出力部、
     をさらに備える請求項1乃至4のいずれか1項に記載の情報処理装置。
  8.  前記割当部は、前記ユーザによる第1の利用予約に対して、前記ユーザによる前記仮想マシンにおける過去の利用実績を学習した学習モデルを用いて、前記ユーザによる新たな第2の利用予約に対して、前記ユーザによる前記仮想マシンにおける将来の利用状況を推定し、その推定結果に基づいて前記第2の利用予約で指定された前記利用時間帯を補正する、
     請求項1乃至4のいずれか1項に記載の情報処理装置。
  9.  仮想マシンの利用予約を利用時間帯毎に受け付けるステップと、
     前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可するステップと、
     前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供するステップと、
     を備える情報処理方法。
  10.  コンピュータに、
     仮想マシンの利用予約を利用時間帯毎に受け付けるステップと、
     前記利用時間帯における前記利用予約の数が、同時に実行可能な前記仮想マシンの所定の総数に達するまで前記利用予約の受付を許可するステップと、
     前記利用時間帯において、任意の前記仮想マシンに前記利用予約を割り当て、前記仮想マシンの利用をユーザに提供するステップと、
     を実行させるためのプログラムが記録された記録媒体。
PCT/JP2020/023008 2019-06-26 2020-06-11 情報処理装置、情報処理方法及び記録媒体 WO2020262018A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20833067.0A EP3992875A4 (en) 2019-06-26 2020-06-11 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND RECORDING MEDIUM
JP2021528156A JP7255680B2 (ja) 2019-06-26 2020-06-11 情報処理装置、情報処理方法及びプログラム
US17/618,566 US20220245226A1 (en) 2019-06-26 2020-06-11 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-118356 2019-06-26
JP2019118356 2019-06-26

Publications (1)

Publication Number Publication Date
WO2020262018A1 true WO2020262018A1 (ja) 2020-12-30

Family

ID=74060267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/023008 WO2020262018A1 (ja) 2019-06-26 2020-06-11 情報処理装置、情報処理方法及び記録媒体

Country Status (4)

Country Link
US (1) US20220245226A1 (ja)
EP (1) EP3992875A4 (ja)
JP (1) JP7255680B2 (ja)
WO (1) WO2020262018A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024038841A1 (ja) * 2022-08-15 2024-02-22 本田技研工業株式会社 バッテリ貸出システム、バッテリ貸出方法、およびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973676B2 (en) * 2020-09-18 2024-04-30 Arris Enterprises Llc Using analytics to assist with user activity scheduling

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020440A (ja) 2011-07-11 2013-01-31 Hitachi Solutions Ltd ソフトウェアのライセンス管理システム
US20150089376A1 (en) * 2012-05-31 2015-03-26 E&C Holding Company, Llc Virtual classroom management delivery system and method
JP2017073062A (ja) * 2015-10-09 2017-04-13 Lykaon株式会社 コミュニケーション支援システム
JP2018077846A (ja) * 2016-11-08 2018-05-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム
CN108281052A (zh) * 2018-02-09 2018-07-13 郑州市第十中学 一种在线教学系统及在线教学方法
JP2019118356A (ja) 2017-12-28 2019-07-22 株式会社ソフイア 遊技機

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325979B (zh) * 2015-06-26 2020-02-28 中兴通讯股份有限公司 虚拟机部署方法、装置及网络功能虚拟化编排nvfo

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020440A (ja) 2011-07-11 2013-01-31 Hitachi Solutions Ltd ソフトウェアのライセンス管理システム
US20150089376A1 (en) * 2012-05-31 2015-03-26 E&C Holding Company, Llc Virtual classroom management delivery system and method
JP2017073062A (ja) * 2015-10-09 2017-04-13 Lykaon株式会社 コミュニケーション支援システム
JP2018077846A (ja) * 2016-11-08 2018-05-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム
JP2019118356A (ja) 2017-12-28 2019-07-22 株式会社ソフイア 遊技機
CN108281052A (zh) * 2018-02-09 2018-07-13 郑州市第十中学 一种在线教学系统及在线教学方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3992875A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024038841A1 (ja) * 2022-08-15 2024-02-22 本田技研工業株式会社 バッテリ貸出システム、バッテリ貸出方法、およびプログラム

Also Published As

Publication number Publication date
JP7255680B2 (ja) 2023-04-11
EP3992875A4 (en) 2022-09-14
EP3992875A1 (en) 2022-05-04
JPWO2020262018A1 (ja) 2020-12-30
US20220245226A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
WO2020262018A1 (ja) 情報処理装置、情報処理方法及び記録媒体
CN108052384B (zh) 一种任务处理方法、服务平台及电子设备
WO2017148312A1 (zh) 一种服务预约方法及装置
US9671986B2 (en) Systems and methods for dynamic mobile printing based on scheduled events
JP2019040509A (ja) 車両の配車を管理するためのシステム、方法、及びプログラム
CN114724694B (zh) 医疗资源处理方法、装置及可读存储介质
CN110443392B (zh) 一种高校图书馆座位管理系统及方法
CN107423000B (zh) 打印方法以及会议系统
JP7249882B2 (ja) 車両の配車を管理するためのシステム、方法、及びプログラム
CN115169797A (zh) 工作犬调用方法及相关装置
JP6910514B2 (ja) 車両の配車を管理するためのシステム、方法、及びプログラム
KR102179086B1 (ko) 컨벤션 참가자 매칭 방법, 장치, 및 시스템
JP2018022452A (ja) 認証装置、認証方法及び認証プログラム
JP6463432B1 (ja) 判定システム、判定方法および判定プログラム
CN113887764A (zh) 数据更新方法、装置和电子设备
KR20100109770A (ko) 포인트 할당방식의 수강신청 방법
CN112101286A (zh) 一种服务请求的方法、装置、计算机设备及存储介质
CN112559144A (zh) 面向数据与信息权益交换的智能共享装置调度方法
JP2021038032A (ja) エレベーターシステム
WO2022038661A1 (ja) 推薦装置、推薦システム、推薦方法及び非一時的なコンピュータ可読媒体
JP2021140365A (ja) 情報提供装置、情報提供システムおよびプログラム
WO2023276079A1 (ja) サーバ装置、システム、サーバ装置の制御方法及び記憶媒体
JP7321664B2 (ja) 情報処理装置、業務依頼システム、業務依頼方法、及び業務依頼プログラム
JP7127677B2 (ja) システム
WO2021181638A1 (ja) 情報処理装置、情報処理方法、及び、コンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20833067

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021528156

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020833067

Country of ref document: EP

Effective date: 20220126