JP7255680B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP7255680B2
JP7255680B2 JP2021528156A JP2021528156A JP7255680B2 JP 7255680 B2 JP7255680 B2 JP 7255680B2 JP 2021528156 A JP2021528156 A JP 2021528156A JP 2021528156 A JP2021528156 A JP 2021528156A JP 7255680 B2 JP7255680 B2 JP 7255680B2
Authority
JP
Japan
Prior art keywords
reservation
usage
user
virtual machine
management server
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021528156A
Other languages
English (en)
Other versions
JPWO2020262018A1 (ja
Inventor
めぐみ 澤田
康人 若菜
千帆 富沢
実可 大坪
翔康 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020262018A1 publication Critical patent/JPWO2020262018A1/ja
Application granted granted Critical
Publication of JP7255680B2 publication Critical patent/JP7255680B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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

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)

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 (13)

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

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPWO2020262018A1 JPWO2020262018A1 (ja) 2020-12-30
JP7255680B2 true JP7255680B2 (ja) 2023-04-11

Family

ID=74060267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021528156A Active JP7255680B2 (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)

Families Citing this family (2)

* 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
WO2024038841A1 (ja) * 2022-08-15 2024-02-22 本田技研工業株式会社 バッテリ貸出システム、バッテリ貸出方法、およびプログラム

Citations (5)

* 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 郑州市第十中学 一种在线教学系统及在线教学方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325979B (zh) * 2015-06-26 2020-02-28 中兴通讯股份有限公司 虚拟机部署方法、装置及网络功能虚拟化编排nvfo
JP6814919B2 (ja) 2017-12-28 2021-01-20 株式会社ソフイア 遊技機

Patent Citations (5)

* 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 郑州市第十中学 一种在线教学系统及在线教学方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108052384B (zh) 一种任务处理方法、服务平台及电子设备
JP7255680B2 (ja) 情報処理装置、情報処理方法及びプログラム
US10397209B2 (en) Risk-aware multiple factor authentication based on pattern recognition and calendar
CN102549591A (zh) 共享面部训练数据
US20200106835A1 (en) Using visual recognition and micro-location data to trigger internet of things sensor events
CN110489663B (zh) 一种社交内容控制方法、装置及计算机设备
JP6435742B2 (ja) スケジューリング方法、スケジューリング支援装置およびコンピュータプログラム
CN110100261A (zh) 未登机乘客搜索设备、未登机乘客搜索方法和记录介质
CN110443392B (zh) 一种高校图书馆座位管理系统及方法
CN114384997A (zh) 传感器不可知姿势检测
CN109783236B (zh) 用于输出信息的方法和装置
CN107832578B (zh) 基于态势变化模型的数据处理方法及装置
KR101988639B1 (ko) 음식점 예약 시스템 및 방법
KR102188799B1 (ko) 직원 교육 및 업무 시간 관리 방법 및 장치
US20230056154A1 (en) Server device, conference room management method, and program recording medium
US10972656B2 (en) Cognitively coaching a subject of a photograph
CN114566269B (zh) 医疗资源请求方法、装置、电子设备以及存储介质
CN106412257B (zh) 定位服务控制方法及系统
WO2022195815A1 (ja) 情報提供装置、情報提供システム、情報提供方法、及び非一時的なコンピュータ可読媒体
JP6463432B1 (ja) 判定システム、判定方法および判定プログラム
JP7012614B2 (ja) 情報制御プログラム、情報制御方法および情報制御装置
CN113887764A (zh) 数据更新方法、装置和电子设备
WO2019240305A1 (ko) 사용 정도에 기초하여 대화방을 처리하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체
CN110956559A (zh) 订单处理方法、权限验证方法、装置、设备及存储介质
JP7127677B2 (ja) システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230313

R151 Written notification of patent or utility model registration

Ref document number: 7255680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151