WO2016139938A1 - シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、記憶媒体 - Google Patents

シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、記憶媒体 Download PDF

Info

Publication number
WO2016139938A1
WO2016139938A1 PCT/JP2016/001118 JP2016001118W WO2016139938A1 WO 2016139938 A1 WO2016139938 A1 WO 2016139938A1 JP 2016001118 W JP2016001118 W JP 2016001118W WO 2016139938 A1 WO2016139938 A1 WO 2016139938A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
virtual machine
thin client
user profile
profile
Prior art date
Application number
PCT/JP2016/001118
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 CN201680013872.9A priority Critical patent/CN107430582A/zh
Priority to EP16758636.1A priority patent/EP3267323A4/en
Priority to US15/550,841 priority patent/US20180046488A1/en
Publication of WO2016139938A1 publication Critical patent/WO2016139938A1/ja

Links

Images

Classifications

    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • 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]
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45591Monitoring or debugging support
    • 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

Definitions

  • the present invention relates to a thin client system using a virtual machine.
  • the user profile is managed as a mobile user profile.
  • the moving user profile is stored in the file server, and is copied from the file server to the logon destination virtual machine when the user logs on.
  • the roaming user profile is copied from the log-on destination virtual machine to the file server and deleted from the virtual machine when the user logs off. For this reason, a large-scale thin client system has a problem that a logon storm in which a process of copying a user profile to a virtual machine at the time of logon frequently occurs.
  • Patent Document 1 An example of a technique related to such a problem is described in Patent Document 1.
  • This related technique records information indicating the immediately used user name for each virtual machine. Then, when the user logs on from the thin client terminal, this related technique selects the virtual machine whose previous user name matches the logon user name and selects the virtual machine as the thin client terminal. To distribute. Thus, this related technique distributes the same virtual machine as the virtual machine used last time as much as possible to each user. Each virtual machine can reuse the user profile on the virtual machine when the same user logs on again if the user profile copied at user logon is not deleted at logoff.
  • Patent Document 2 Another example of the technology related to such a problem is described in Patent Document 2.
  • This related technology manages mobile user profiles in layers. Higher layers are configured to include more recently accessed data.
  • the mobile user profile is transferred from the file server to the virtual machine in order from the highest layer.
  • the data required at the time of logon in the mobile user profile is recently accessed data and exists in the highest layer. Therefore, the virtual machine completes the logon procedure when it receives the highest layer.
  • this related technique reduces the volume of data that needs to be transferred before the logon procedure is completed, among the mobile user profiles that are transferred during logon.
  • Patent Documents 1 and 2 have the following problems.
  • Patent Document 2 can reduce the amount of data that needs to be transferred from the file server to the virtual machine before the logon procedure is completed, it is necessary to transfer the remaining layers after the logon procedure is completed. There is. Therefore, in this related technique, it is necessary to finally transfer all the mobile user profiles when the user logs on.
  • an object of the present invention is to provide a technique for sufficiently suppressing the occurrence of a logon storm in a thin client system using a virtual machine.
  • a thin client system includes a thin client terminal, a connection management device, a virtual machine operating device on which one or more virtual machines operate, and a user profile storage device.
  • the thin client terminal when the thin client terminal acquires information representing a user who requests logon to the thin client system, the thin client terminal transmits the information to the connection management device, and transmits the information to the virtual machine indicated by the information notified from the connection management device.
  • the user apparatus is connected to log on the user, the user profile storage apparatus stores a user profile for each user of the thin client system, and the connection management apparatus determines whether each virtual machine is in use. Usage status information indicating whether or not the user is valid for each user.
  • Virtual machine selection means for selecting a virtual machine to be assigned to a user requesting logon to the thin client system by referring to effective profile location information representing a virtual machine storing a profile, and logging on to the thin client system
  • the information indicating the requesting user is acquired from the thin client terminal
  • the information indicating the virtual machine selected by the virtual machine selection unit is notified to the thin client terminal, and according to the connection state of the user to the virtual machine.
  • a user session management means for updating the usage status information and the effective profile location information, and the virtual machine can display an effective user profile of a user logged on to the own device on the own device or the user profile.
  • User profile management means that stores the user profile of the user acquired from the storage device and used on the user device when the user logs off, and stores the user profile in the user profile storage device, and the connection state of the user to the user device
  • User connection monitoring means for monitoring and notifying the connection management device.
  • connection management device of the present invention is constituted by the connection management device in the above-mentioned thin client system.
  • the virtual machine operating device of the present invention is configured by a virtual machine operating device on which a virtual machine in the above-described thin client system operates.
  • the thin client terminal when the thin client terminal acquires information representing a user who requests logon to the thin client system, the information is transmitted to the connection management device, and the connection management device requests logon to the thin client system.
  • the usage status information indicating whether each virtual machine operating on the virtual machine operating device is being used, and valid for each user of the thin client system
  • effective profile location information representing a virtual machine storing a user profile
  • a virtual machine to be assigned to a user who requests logon to the thin client system is selected, and information representing the selected virtual machine is stored in the thin client.
  • the ant terminal connects the own device to the virtual machine indicated by the information notified from the connection management device, logs on the user, and the virtual machine stores the effective user profile of the user logged on to the own device. Or from the user profile storage device, and when the user logs off, the user profile of the user used on the own device is stored and stored in the user profile storage device, and the virtual machine is stored in the own device.
  • the connection management device monitors the connection status of the logged-on user and notifies the connection management device, and the connection management device updates the usage status information and the valid profile location information according to the connection status of the user to the virtual machine. .
  • connection management device when the connection management device acquires information representing a user who requests logon to the thin client system from the thin client terminal, each virtual machine operating on the virtual machine operating device is in use.
  • Log on to the thin client system by referring to usage status information indicating whether or not there is, and valid profile location information representing a virtual machine storing a valid user profile for each user of the thin client system.
  • the virtual machine to be assigned to the requesting user is selected, the thin client terminal is connected to the virtual machine by notifying the thin client terminal of information representing the selected virtual machine, and the user is logged on.
  • Use status information and updating the effective profile location information Depending on the connection status to the virtual machine.
  • a valid user profile of a user logged on by a virtual machine operating on a virtual machine operating device by connection from a thin client terminal is obtained from the own device or from a user profile storage device.
  • the user profile of the user used on the own device is stored and stored in the user profile storage device, and the connection state of the user to the own device is monitored and the above-described method is performed. Notify the connection management device to be executed.
  • the storage medium of the present invention includes a user information acquisition step for acquiring information representing a user who requests logon to the thin client system from the thin client terminal, and usage status information indicating whether each virtual machine is in use. And selecting a virtual machine to be assigned to a user who requests logon to the thin client system by referring to valid profile location information representing a virtual machine storing a valid user profile for each user of the thin client system Virtual machine selection step, and connection control for logging on the user by connecting the thin client terminal to the virtual machine by notifying the thin client terminal of information representing the virtual machine selected in the virtual machine selection step Step and before Depending on the connection status to the user of the virtual machine, and stores a program to be executed and updating step of updating the usage information and the effective profile location information, to the connection management apparatus.
  • Another storage medium of the present invention includes a user profile acquisition step of acquiring a valid user profile of a user who has logged on by connection from a thin client terminal on the user apparatus or from a user profile storage device, and logoff of the user.
  • the user profile of the user used on the own device is stored and stored in the user profile storage device, and the connection state of the user to the own device is monitored and stored in the storage medium.
  • a program for causing a virtual machine operating on the virtual machine operating device to execute a connection monitoring step for notifying a connection management device that executes the program to be executed is stored.
  • the present invention can provide a technique for sufficiently suppressing the occurrence of a logon storm in a thin client system using a virtual machine.
  • FIG. 1 shows the configuration of a thin client system 1 according to the first embodiment of the present invention.
  • the thin client system 1 includes one or more thin client terminals 110, a connection management device 10, a virtual machine operating device 20, and a user profile storage device 210.
  • One or more virtual machines 21 operate on the virtual machine operating device 20.
  • Each device is communicably connected via a network.
  • FIG. 1 shows four thin client terminals 110, the number of thin client terminals included in the thin client system of the present invention is not limited.
  • 1 shows two virtual machine operating devices 20 and two virtual machines 21, but the number of virtual machine operating devices included in the thin client system of the present invention and a virtual machine operating on one virtual machine operating device. The number and the total number of virtual machines are not limited.
  • the thin client terminal 110 can be configured by a computer device including a CPU (Central Processing Unit) 1001, a memory 1002, an output device 1003, an input device 1004, and a network interface 1005.
  • the memory 1002 includes a RAM (Random Access Memory), a ROM (Read Only Memory), an auxiliary storage device (such as a hard disk), and the like.
  • the output device 1003 is configured by a device that outputs information, such as a display device or a printer.
  • the input device 1004 is configured by a device that receives an input of a user operation, such as a keyboard or a mouse.
  • the network interface 1005 is an interface connected to the network.
  • the memory 1002 stores computer programs that implement the functions of the thin client terminal 110.
  • the CPU 1001 implements the function of the thin client terminal 110 by reading and executing a computer program stored in the memory 1002 and controlling each unit.
  • connection management device 10 can be configured by a computer device including a CPU 2001, a memory 2002, and a network interface 2005.
  • the memory 2002 includes a RAM, a ROM, an auxiliary storage device, and the like.
  • a network interface 2005 is an interface connected to the network.
  • the memory 2002 stores a computer program for realizing each function of the connection management apparatus 10.
  • the CPU 2001 implements the function of the connection management apparatus 10 by reading and executing a computer program stored in the memory 2002 and controlling each unit.
  • the virtual machine operating device 20 can be configured by a computer device including a CPU 3001, a memory 3002, and a network interface 3005.
  • the memory 3002 includes a RAM, a ROM, an auxiliary storage device, and the like.
  • a network interface 3005 is an interface connected to the network.
  • the memory 3002 stores virtualization software that operates one or more virtual machines 21.
  • the CPU 3001 reads and executes a computer program stored in the memory 3002 and controls each unit, thereby operating the virtual machine 21 on the virtual machine operating device 20 and realizing the function of the virtual machine 21.
  • the user profile storage device 210 can be configured by a computer device including a CPU 4001, a memory 4002, and a network interface 4005.
  • the memory 4002 includes a RAM, a ROM, an auxiliary storage device, and the like.
  • the network interface 4005 is an interface connected to the network.
  • the memory 4002 stores a computer program that causes the user profile storage device 210 to function as a file server.
  • the CPU 4001 reads and executes a computer program stored in the memory 4002 and controls each unit to operate the user profile storage device 210 as a file server.
  • each device constituting the thin client system 1 is not limited to the above-described configuration.
  • the thin client terminal 110 acquires information representing a user who requests the thin client system 1 to log on. Information representing the user is input from the input device 1004, for example. In addition, the thin client terminal 110 transmits information representing the acquired user to the connection management apparatus 10.
  • the thin client terminal 110 receives information representing the virtual machine 21 from the connection management apparatus 10. Further, the thin client terminal 110 connects the own device to the virtual machine 21 indicated by the received information and logs the user on.
  • the user profile storage device 210 stores a user profile for each user of the thin client system 1.
  • the user profile is information representing setting information for each user when using the virtual machine 21.
  • connection management apparatus 10 includes a virtual machine selection unit 11 and a user session management unit 12. Further, the connection management device 10 stores usage status information and valid profile location information as information used by each of these functional blocks.
  • the usage status information is information indicating whether each virtual machine 21 is being used.
  • the usage status information is stored in the memory 2002, for example, as information for each virtual machine 21. Specifically, if the usage status information for a certain virtual machine 21 is “in use”, the virtual machine 21 is connected to one of the thin client terminals 110 and logged on by one of the users of the thin client system 1. Represents being inside. If the usage status information for a certain virtual machine 21 is “available (not in use)”, the virtual machine 21 is not connected to any thin client terminal 110, and any of the thin client systems 1 is not connected. Indicates that the user is not logged on.
  • the valid profile location information is information representing the virtual machine 21 that stores a valid user profile for each user of the thin client system 1.
  • An effective user profile is, for example, a user profile most recently used by the user. Such a valid user profile is stored in the virtual machine 21 used most recently by the user.
  • the effective profile location information is stored in, for example, the memory 2002 as information for each user.
  • the virtual machine selection unit 11 selects the virtual machine 21 to be assigned to the user who requests the thin client system 1 to log on by referring to the usage status information and the valid profile location information. For example, the virtual machine selection unit 11 extracts usable virtual machines 21 by referring to the usage status information. Then, the virtual machine selection unit 11 refers to the effective profile location information, and if there is a virtual machine 21 that stores the effective user profile of the user who requests logon in the extracted available virtual machines 21, The virtual machine 21 may be selected. The virtual machine selection unit 11 may select any one of the available virtual machines 21 when there is no such virtual machine 21.
  • the user session management unit 12 acquires information representing a user who requests the thin client system 1 to log on from the thin client terminal 110. In addition, the user session management unit 12 uses the virtual machine selection unit 11 to determine a virtual machine 21 to be assigned to the information representing the acquired user. In addition, the user session management unit 12 notifies the thin client terminal 110 of information representing the determined virtual machine 21.
  • the user session management unit 12 updates the usage status information and the valid profile location information according to the connection state of the user to the virtual machine 21.
  • the connection state of the user is notified from the virtual machine 21.
  • the user session management unit 12 updates the usage status information of the logon destination virtual machine 21 to information indicating that it is in use in response to the user logging on. Further, the user session management unit 12 updates the usage status information of the virtual machine 21 that was the previous logon destination to information indicating that it is not in use (that is, available) in response to the user logoff. To do.
  • the user session management unit 12 updates the valid profile location information for the user to information representing the virtual machine 21 that is the current logon destination, in response to the logon of the user. Also, the user session management unit 12 updates the valid profile location information for the user to information representing the virtual machine 21 that has been the logon destination until then, according to the user logoff.
  • the number of virtual machines 21 to which the same user can log on simultaneously is limited to one.
  • the valid profile location information at the time of logoff is the same as the valid profile location information at the time of logon. Therefore, in this case, the user session management unit 12 can omit the update process of the valid profile location information at the time of logoff.
  • the valid profile location information may include accompanying information such as update time.
  • the user session management unit 12 cannot omit the process of updating the valid profile location information at the time of logoff.
  • the same user can log on to a plurality of virtual machines 21 at the same time.
  • the valid profile location information at the time of logoff is not necessarily the same as the valid profile location information at the time of logon. Therefore, in this case, the user session management unit 12 cannot omit the process of updating the valid profile location information at the time of logoff.
  • the virtual machine 21 has a user profile management unit 22 and a user connection monitoring unit 23.
  • the user profile management unit 22 obtains a valid user profile of the user who has logged on to the own device or from the user profile storage device 210. Specifically, the user profile management unit 22 reuses a valid user profile when a valid user profile of a user who logs on to the own device is stored on the own device. Also, the user profile management unit 22 acquires the user profile of the corresponding user from the user profile storage device 210 when the effective user profile of the user who logs on to the own device is not stored on the own device. Whether there is a valid profile of the corresponding user on the own device is determined by the time stamp between the user profile of the user on the own device and the user profile of the user on the user profile storage device 210. Can be determined by comparing. If the former time stamp is the same as or newer than the latter time stamp, it is determined that the user has a valid user profile on the apparatus.
  • the user profile management unit 22 stores the user profile of the user used on the own device when the user logs off from the own device. Further, the user profile management unit 22 stores the user profile used by the user in the user profile storage device 210.
  • the user connection monitoring unit 23 monitors the connection state of the user to the own device. When the user connection monitoring unit 23 detects a change in the connection state, the user connection monitoring unit 23 notifies the connection management device 10. Specifically, the user connection monitoring unit 23 may detect the user logon and logoff and notify the connection management apparatus 10. The information to be notified includes information indicating whether logon or logoff is detected and information indicating a user who has logged on or logged off.
  • the thin client terminal 110 acquires information representing a user who requests logon, and transmits the information to the connection management apparatus 10 (step A1).
  • the user session management unit 12 of the connection management apparatus 10 uses the virtual machine selection unit 11 to select the virtual machine 21 to be assigned to the user indicated by the received information (step B1). As described above, the virtual machine selection unit 11 selects the virtual machine 21 to be assigned to the corresponding user by referring to the usage status information and the effective profile location information.
  • the user session management unit 12 notifies the thin client terminal 110 of information representing the virtual machine 21 selected in Step B1 (Step B2).
  • the thin client terminal 110 requests the virtual machine 21 indicated by the notified information to connect by the user acquired in step A1 (step A2).
  • the user profile management unit 22 of the virtual machine 21 determines whether or not there is a valid user profile of the user requesting connection to the own device in step A2 on the own device (step C1).
  • the user profile management unit 22 reuses the valid user profile and logs on the user (step C2).
  • the user profile management unit 22 obtains the effective user profile of the corresponding user from the user profile storage device 210, and Log on (step C3).
  • the thin client terminal 110 requests the virtual machine 21 to disconnect (step A3).
  • the virtual machine 21 logs off the user and disconnects the thin client terminal 110. Then, the user profile management unit 22 saves the user profile used by the user and copies it to the user profile storage device 210 (step C4).
  • the thin client system 1 ends the connection control operation.
  • FIG. 4 shows an operation in which the thin client system 1 updates the usage status information and the valid profile location information.
  • the user connection monitoring unit 23 of the virtual machine 21 monitors a change in the connection state of the user to the own device (step C5).
  • the user connection monitoring unit 23 determines whether or not the connection state has changed (step C6).
  • the user connection monitoring unit 23 repeats the operation from Step C5.
  • the user connection monitoring unit 23 notifies the connection management apparatus 10 of the changed connection state (step C7).
  • the user connection monitoring unit 23 may detect logon or logoff as the user connection state.
  • the user connection monitoring unit 23 may notify information indicating the detected logon or logoff and information indicating the user who has logged on or logged off.
  • the user session management unit 12 updates the usage status information of the virtual machine 21 that is the notification source based on the notified connection state (step B3).
  • the user session management unit 12 updates the usage status information of the corresponding virtual machine 21 to information indicating that it is in use.
  • the user session management unit 12 updates the usage status information of the corresponding virtual machine 21 to information indicating that the usage is possible.
  • the user session management unit 12 updates the valid profile location information for the notified user to information representing the notification source virtual machine 21 based on the notified connection state (step B4).
  • the thin client system 1 finishes the update operation.
  • the first embodiment of the present invention can sufficiently suppress the occurrence of a logon storm in a thin client system using a virtual machine.
  • the connection management device uses usage information indicating whether or not each virtual machine is in use, and an effective profile indicating a virtual machine that stores a valid user profile for each user of the thin client system. Save information and. Then, the virtual machine selection unit of the connection management device selects a virtual machine to be assigned to the user who requests logon from the thin client terminal based on the usage status information and the effective profile location information. Since the user session management unit of the connection management device notifies the thin client terminal of the machine selected by the virtual machine selection unit, the corresponding user is logged on to the corresponding virtual machine from the thin client terminal. is there.
  • the user session management unit of the connection management apparatus updates the usage status information and the valid profile location information according to the connection state of the user to the virtual machine. This is because the virtual machine is reused if the effective user profile of the logged-on user is in the own device, and is acquired from the user profile storage device if not.
  • a virtual machine in which a user's latest user profile remains can be preferentially assigned to a user who requests logon to the thin client system. Therefore, the present embodiment increases the possibility that the user's effective user profile can be reused in the virtual machine where the user has logged on. As a result, this embodiment can reduce the occurrence of a process of copying the user profile of the user from the user profile storage device to the virtual machine when the user logs on, and can suppress the occurrence of a logon storm. .
  • FIG. 5 shows a configuration of a thin client system 2 as a second embodiment of the present invention.
  • the thin client system 2 includes a thin client terminal 120 instead of the thin client terminal 110 with respect to the thin client system 1 according to the first embodiment of the present invention.
  • the thin client system 2 includes a connection management device 30 instead of the connection management device 10 and a virtual machine operation device 40 instead of the virtual machine operation device 20. On the virtual machine operating device 40, one or more virtual machines 41 operate.
  • the thin client system 2 includes a user information management device 320. Each device is communicably connected via a network.
  • the thin client terminal 120, the connection management device 30, and the virtual machine operating device 40 can be configured by a computer device that includes the same hardware elements as those of the first embodiment of the present invention described with reference to FIG. is there.
  • the user information management device 320 can be configured by a computer device including a CPU, a memory, and a network interface. In this case, the CPU implements the function of the user information management device 320 by reading and executing a computer program stored in the memory and controlling each unit.
  • the hardware configuration of the thin client system 2 is not limited to the above-described configuration.
  • the thin client terminal 120 acquires authentication information of a user who requests the thin client system 2 to log on.
  • the authentication information includes, for example, a user ID and a password.
  • the user authentication information is input from the input device 1004, for example.
  • the thin client terminal 120 transmits the acquired authentication information to the connection management apparatus 30.
  • the thin client terminal 120 receives information representing the virtual machine 41 from the connection management device 30. In addition, the thin client terminal 120 transmits authentication information to the virtual machine 41 indicated by the received information. When the authentication by the virtual machine 41 is successful, the thin client terminal 120 is connected to the virtual machine 41 and the user is logged on.
  • the user information management device 320 stores user information.
  • the user information includes information indicating the storage position of the user profile on the user profile storage device 210 for each user of the thin client system 2.
  • the user information may include authentication information (user name, password, etc.) when each user uses the thin client system 2.
  • the user information may include information indicating a group to which each user belongs.
  • the user information includes information representing a user name, a user profile storage location, a password, and a user group name.
  • the first line indicates that the user “User10” belongs to the user group “UserGroup1”, the password is “pwuser10”, and the user profile is stored in “ ⁇ FileSrv ⁇ Profiles ⁇ User10”. Yes.
  • the user “User10” refers to a user who uses “User10” as the user name.
  • the user information management device 320 receives an inquiry using authentication information from the connection management device 30 or the virtual machine 41. Further, the user information management device 320 searches for user information that matches the received authentication information, and returns information included in the user information of the search result. For example, the user information management device 320 receives an inquiry about the user group corresponding to the user authentication information from the connection management device 30. In this case, the user information management device 320 searches for user information that matches the received authentication information, and returns a user group included in the user information of the search result. Further, for example, the user information management device 320 receives an inquiry about the storage location of the user profile corresponding to the user authentication information from the virtual machine 41. In this case, the user information management device 320 searches for user information that matches the received authentication information, and returns the storage location of the user profile included in the user information of the search result.
  • the connection management device 30 includes a virtual machine selection unit 31 and a user session management unit 32.
  • the virtual machine selection unit 31 selects the virtual machine 41 to be assigned to the user who requests logon by referring to the usage status information, the valid profile location information, and the group setting information.
  • the usage status information includes information representing a virtual machine group in addition to the same information as the usage status information in the first exemplary embodiment of the present invention.
  • the virtual machines 41 are managed by being divided into groups.
  • An example of usage status information is shown in FIG.
  • the usage status information includes a virtual machine name, a virtual machine group name, and information indicating whether the machine is being used.
  • the first line indicates that the virtual machine 41 “Vpc10” belongs to the virtual machine group “VpcGroup1” and is “in use” by any user.
  • the virtual machine 41 “Vpc10” refers to the virtual machine 41 having “Vpc10” as the virtual machine name.
  • the second line indicates that the virtual machine 41 “Vpc11” belongs to the virtual machine group “VpcGroup1” and is “not available” by any user, and is “available”.
  • the usage status information may include information indicating that the virtual machine 41 is “unusable” as shown in the fifth line. As described above, the usage status information about the virtual machine 41 that cannot be used due to an external factor different from whether or not the user is using the user may be set to “unusable” by the external function block. .
  • the valid profile location information includes information indicating the use time in addition to the same information as the valid profile location information in the first embodiment of the present invention.
  • the use time represents the latest time when it is confirmed that the user has used the valid user profile in the virtual machine 41 that stores the valid user profile of the user. Actually, a time corresponding to the login time or the logoff time is recorded as the use time.
  • An example of the effective profile location information is shown in FIG. In FIG. 8, the effective profile location information includes a user name, a virtual machine name having a valid user profile, and information representing a use time.
  • the first line indicates that the virtual machine 41 having a valid user profile of the user “User10” is “Vpc10” and its use time is “2014/01/30 18: 30: 00.000”. Yes.
  • the group setting information includes information indicating a correspondence relationship between a user group and a virtual machine group that can be used by a user belonging to the user group.
  • An example of group setting information is shown in FIG.
  • the group setting information includes a user group name and a virtual machine group name.
  • the first line indicates that a user belonging to the user group “UserGroup1” can use the virtual machine 41 belonging to the virtual machine group “VpcGroup1”.
  • the user group “UserGroup1” refers to a user group whose user group name is “UserGroup1”.
  • the virtual machine group “VpcGroup1” is a virtual machine group whose virtual machine group name is “VpcGroup1”.
  • the group setting information is setting information that can be omitted when the user and the virtual machine 41 are not group-managed.
  • the virtual machine selection unit 31 identifies the virtual machine group corresponding to the user group of the user who requests logon by referring to the group setting information. Then, the virtual machine selection unit 31 extracts usable virtual machines 41 from the virtual machines 41 belonging to the specified virtual machine group by referring to the usage status information. Then, the virtual machine selection unit 31 refers to the effective profile location information, and the extracted available virtual machines 41 include virtual machines 41 that store effective user profiles for users who request logon. For example, the virtual machine 41 is selected.
  • the virtual machine selection unit 31 stores an effective user profile for any user from the extracted available virtual machines 41.
  • a virtual machine 41 that has not been selected is selected.
  • Such a virtual machine 41 can be identified by referring to the effective profile location information. That is, the virtual machine selection unit 31 includes virtual machines that are not included in the column of “virtual machine having a valid user profile” in the valid profile location information illustrated in FIG. The machine 41 may be selected.
  • the virtual machine selection unit 31 first selects the virtual machine 41 that has been confirmed that "no valid user profile is stored for any user" from among the corresponding virtual machines 41. May be.
  • the virtual machine selection unit 31 may select the virtual machine 41 using a condition based on the most recent use time among the corresponding virtual machines 41.
  • the most recent use time can be specified by referring to the record of the effective profile location information.
  • the virtual machine selection unit 31 searches for a row having a record in “virtual machine having a valid user profile” of the valid profile location information illustrated in FIG. 8 for each of the corresponding virtual machines 41. Then, the corresponding “use time” may be obtained. If the virtual machine 41 has a plurality of records in the “virtual machine having a valid user profile”, the latest use time of the corresponding “use time” is the latest use time of the virtual machine 41. Good.
  • the virtual machine selection unit 31 may set a plurality of selection conditions based on the latest use time.
  • stepwise conditions may be set as follows.
  • Condition 1 Select a virtual machine with the oldest use time among virtual machines whose elapsed time from the most recent use time to the present time is t1 or more (where t1 is a positive number)
  • Condition 2 A virtual machine having the latest use time is selected from the virtual machines whose elapsed time from the most recent use time to the present time is less than t1 and t2 or more (where t2 is a positive number and t1> t2)
  • Condition 3 When there is no virtual machine whose elapsed time from the most recent use time to the present is t2 or more, the virtual machine having the oldest use time is selected.
  • the virtual machine selection unit 31 satisfies the condition 1
  • the selection is performed under the condition 2.
  • the selection is performed under the condition 3.
  • various selection conditions can be set in accordance with the actual situation of operation.
  • the virtual machine selection unit 31 may select the virtual machine 41 under a condition based on the load of the virtual machine operating device 40 in which the virtual machine 41 is operating among the corresponding virtual machines 41.
  • the virtual machine selection unit 31 may select the virtual machine 41 under a condition based on the storage load used by the virtual machine 41 among the corresponding virtual machines 41.
  • the virtual machine selection unit 31 may randomly select one from the corresponding virtual machines 41.
  • the virtual machine selection unit 31 may select one virtual machine 41 by combining the selection conditions described above.
  • the virtual machine selection unit 31 may select one of the extracted available virtual machines 41.
  • the virtual machine selection unit 31 may select the virtual machine 41 from the extracted available virtual machines 41 using the condition based on the most recent use time described above. Alternatively, as described above, the virtual machine selection unit 31 selects based on the load on the virtual machine operating device 40, selects based on the load on the storage, selects randomly, or uses a combination of a plurality of selection conditions to select. Any one virtual machine 41 may be selected.
  • the user session management unit 32 acquires, from the thin client terminal 120, authentication information of a user who requests the thin client system 2 to log on. In addition, the user session management unit 32 acquires the user group of the corresponding user by making an inquiry to the user information management device 320 using the acquired authentication information. In addition, the user session management unit 32 uses the virtual machine selection unit 31 to determine a virtual machine 41 to be assigned to the corresponding user.
  • the user session management unit 32 notifies the thin client terminal 120 of information representing the determined virtual machine 41, as with the user session management unit 12 in the first embodiment of the present invention.
  • the user session management unit 32 requests the virtual machine 41 that is a target of requesting deletion of unnecessary user profiles to delete unnecessary user profiles.
  • an object for which deletion is requested is also referred to as a deletion request object.
  • the user session management unit 32 specifies a user having a valid user profile stored on the virtual machine 41 to be deleted by referring to the valid profile location information. Then, the user session management unit 32 notifies the deletion request target virtual machine 41 as an excluded user to be excluded from the deletion target of the user profile.
  • the user session management unit 32 requests the deletion request target virtual machine 41 to delete unnecessary user profiles. For example, the user session management unit 32 may transmit information indicating an excluded user together with information indicating a deletion request to the deletion request target virtual machine 41.
  • the virtual machine 41 selected by the virtual machine selection unit 31 is set as a deletion request target.
  • the user session management unit 32 adds a user who requests logon as an excluded user. Then, the user session management unit 32 excludes a user with a valid user profile stored on the virtual machine 41 to be deleted and a user who requests logon from the selected virtual machine 41 as excluded users. The deletion process may be requested.
  • the virtual machine 41 that stores a valid user profile of the user who requests logon is selected.
  • the “user with a valid user profile stored on the selected virtual machine 41” is the same as the user who requests logon. Therefore, in this case, the user session management unit 32 can omit the process of specifying the excluded user.
  • the virtual machine 41 that stores the effective user profile of the user who requests logon is not in the available virtual machines 41 and another virtual machine 41 is selected. In this case, the user of the effective user profile stored on the selected virtual machine 41 is not the same as the user who requests logon. Therefore, in this case, a process for specifying the excluded user is necessary.
  • the user session management unit 32 can omit the process of specifying the excluded user.
  • the virtual machine 41 has a user profile management unit 42 and a user connection monitoring unit 23.
  • the user profile management unit 42 acquires user authentication information from the thin client terminal 120. Further, the user profile management unit 42 obtains the storage location of the user profile of the corresponding user by making an inquiry to the user information management apparatus 320 using the obtained authentication information. Then, the user profile management unit 42 acquires the user profile of the corresponding user from the user profile storage device 210 or the own device.
  • the user profile management unit 42 acquires the time stamp of the user profile at the corresponding storage position on the user profile storage device 210. In addition, the user profile management unit 42 acquires the time stamp of the user profile of the corresponding user stored on the own device. And the user profile management part 42 should just acquire the newer user profile. If the time stamps are the same, the user profile management unit 42 reuses the user profile on the own device.
  • the user profile management unit 42 receives a request for deleting unnecessary user profiles from the connection management device 30. Then, the user profile management unit 42 deletes unnecessary stored user profiles for users other than the user who is logged on to the device, the user who is requesting logon, and the excluded user notified. Note that user profiles of users other than the user set to log on to the thin client system 2 from the thin client terminal 120 are excluded from the deletion target.
  • FIG. 1 An outline of an operation in which the thin client system 2 controls the connection from the thin client terminal 120 to the virtual machine 41 is shown in FIG.
  • the thin client terminal 120 acquires the authentication information of the user who requests logon, and transmits it to the connection management device 30 (step A11).
  • the user session management unit 32 of the connection management device 30 acquires the user group name corresponding to the received authentication information from the user information management device 320 (step B11).
  • the virtual machine selection unit 31 selects the virtual machine 41 to be assigned to the user indicated by the authentication information by referring to the usage status information, the effective profile location information, and the group setting information (step B12). Details of this step will be described later.
  • the user session management unit 32 requests the virtual machine 41 selected in step B12 to delete unnecessary user profiles (step B13). Details of this step will be described later.
  • the user profile management unit 42 deletes an unnecessary user profile (step C11). Details of this step will be described later.
  • the user session management unit 32 notifies the thin client terminal 120 of information representing the virtual machine 41 selected in step B12 (step B14).
  • the thin client terminal 120 requests the virtual machine 41 indicated by the notified information to connect using the authentication information acquired in Step A11 (Step A12).
  • the user profile management unit 42 of the virtual machine 41 obtains the storage location of the user profile corresponding to the authentication information of the user who is requesting connection to the own device from the user information management device 320 (step C12).
  • the user profile management unit 42 compares the time stamp of the user profile on the user profile storage device 210 at the storage location acquired in step C12 with the time stamp of the user profile of the corresponding user on the own device ( Step C13).
  • the user profile management unit 42 logs on the user by reusing the user profile on the own device (step C14).
  • the user profile management unit 42 determines that the user profile time stamp on the user profile storage device 210 is newer. In this case, the user profile management unit 42 acquires the user profile from the storage position on the user profile storage device 210 acquired in step C12, and logs on the user (step C15).
  • the thin client system 2 executes steps A3 and C4 in the same manner as in the first embodiment of the present invention.
  • the user profile used by the user on the virtual machine 41 is saved on the virtual machine 41 and copied to the user profile storage device 210.
  • the thin client system 2 ends the operation for controlling the connection.
  • the update operation of usage status information and valid profile location information by the thin client system 2 is substantially the same as the update operation in the first embodiment of the present invention described with reference to FIG. However, the details of the update operation of the valid profile location information in step B4 are different.
  • step B ⁇ b> 4 the user session management unit 32 updates the “virtual machine with a valid user profile” information to information representing the notification source virtual machine 41 in the valid profile location information of the user notified of the connection state. To do. Furthermore, the user session management unit 32 updates the “use time” information in the location profile information of the user notified of the connection state.
  • the usage time to be updated may be the current time at the time of execution of this process. Alternatively, the usage time to be updated may be a time when a change in the connection state is detected in the virtual machine 41.
  • the user connection monitoring unit 23 of the virtual machine 41 may notify the connection management device 30 of the detection time in addition to the connection state and information representing the user.
  • connection management device 30 selects a virtual machine in step B12 of FIG. 10 will be described with reference to FIG.
  • the virtual machine selection unit 31 of the connection management device 30 specifies a virtual machine group corresponding to the user group specified in step B11 by referring to the group setting information (step B21).
  • the virtual machine selection unit 31 refers to the usage status information, and extracts available virtual machines 41 belonging to the virtual machine group identified in step B21 (step B22).
  • the virtual machine selection unit 31 refers to the valid profile location information to determine whether the virtual machine 41 extracted in step B22 stores a valid user profile for the user indicated by the authentication information. Is determined (step B23).
  • the virtual machine selection unit 31 selects the virtual machine 41 (step B24).
  • the virtual machine selection unit 31 determines whether any of the virtual machines 41 extracted in step B22 does not store a valid user profile for any user (step B25).
  • the virtual machine selection unit 31 selects the virtual machine 41 (step B26). If there are a plurality of corresponding virtual machines 41, the virtual machine selection unit 31 may select one of them. At the time of selection, as described above, a condition based on the most recent use time of each virtual machine 41 or a condition based on the load of the virtual machine operating device 40 or the load of storage may be used. Alternatively, as described above, the virtual machine selection unit 31 may randomly select one from the corresponding virtual machines 41.
  • the virtual machine selection unit 31 selects one from the virtual machines 41 extracted in step B22 (step B27). If there are a plurality of corresponding virtual machines 41, the virtual machine selection unit 31 may select one from the virtual machines 41 extracted in step S22. At the time of selection, as described above, a condition based on the most recent use time of each virtual machine 41 or a condition based on the load of the virtual machine operating device 40 or the load of storage may be used. Alternatively, as described above, the virtual machine selection unit 31 may randomly select one from the corresponding virtual machines 41.
  • connection management apparatus 30 requests deletion of an unnecessary user profile in step B13 in FIG. 10
  • the user session management unit 32 of the connection management device 30 specifies a user of a valid user profile stored in the virtual machine 41 to be deleted by referring to the valid profile location information (step B31).
  • the virtual machine 41 selected in step B12 is applied to the virtual machine 41 to be deleted.
  • the user session management unit 32 excludes the user indicated by the received authentication information and the user specified in step B31 as excluded users. Then, the user session management unit 32 notifies the deletion request target virtual machine 41 of the excluded user information and requests deletion of unnecessary user profiles (step B32).
  • step B13 This completes the detailed description of the operation in step B13.
  • the user profile management unit 42 of the virtual machine 41 acquires information on the excluded user notified from the connection management device 30 (step C31).
  • the user profile management unit 42 acquires a list of users who are logged on to the own device (step C32).
  • the user profile management unit 42 determines whether there is an unprocessed user profile stored in the own device (step C33).
  • the user profile management unit 42 ends the deletion operation.
  • the user profile management unit 42 determines whether one of the user profiles is a moving user profile (step C34).
  • the mobile user profile means a user profile transmitted / received to / from the user profile management apparatus 40.
  • the virtual machine 41 may store the user profile of exceptional users (guest user, test user, administrative user, etc.) in its own device, not as a moving user profile.
  • the user profile management unit 42 repeats the processing from step C33 for the remaining unprocessed user profiles.
  • the user profile management unit 42 determines whether the user of this user profile is the excluded user acquired in step C31 or the logged-on user acquired in step C32. (Step C35).
  • the user profile management unit 42 repeats the processing from step C33 for the remaining unprocessed user profiles.
  • the user profile management unit 42 deletes the user profile (step C36).
  • the user profile management unit 42 repeats the processing from step C33 for the remaining unprocessed user profiles.
  • the thin client terminal 120 acquires the user name “User10” and the password “pwuser10” from the input device 1004 as authentication information.
  • the thin client terminal 120 transmits the acquired authentication information to the connection management device 30 (FIG. 10, step A11).
  • the user session management unit 32 of the connection management device 30 acquires the user name “User10” and the password “pwuser10” as authentication information from the thin client terminal 120.
  • the user session management unit 32 transmits this authentication information to the user information management device 320, and acquires the user group name “UserGroup1” as the corresponding user information in FIG. 6 (step B11).
  • the virtual machine selection unit 31 selects the virtual machine 41 to be assigned to the user “User10” using the usage status information, the effective profile location information, and the group setting information (step B12).
  • the virtual machine selection unit 31 refers to the group setting information shown in FIG. 9 and identifies the virtual machine group “VpcGroup1” corresponding to the user group “UserGroup1” (FIG. 11, step B21).
  • the virtual machine selection unit 31 refers to the usage status information illustrated in FIG. 7, and among the virtual machines 41 belonging to the virtual machine group “VpcGroup1”, “Vpc11”, “ “Vpc12” and “Vpc13” are extracted (step B22).
  • the virtual machine selection unit 31 refers to the effective profile location information illustrated in FIG. 8 and acquires “Vpc10” as the virtual machine 41 that stores the effective user profile of the user “User10”. Then, the virtual machine selection unit 31 determines that such a virtual machine 41 “Vpc10” is not among the available virtual machines 41 “Vpc11”, “Vpc12”, and “Vpc13” (No in Step B23). .
  • the virtual machine selection unit 31 determines whether or not there is a virtual machine 41 that does not store a valid user profile of any user among the available virtual machines 41 “Vpc11”, “Vpc12”, and “Vpc13”. Is determined (step B25).
  • Vpc11 and Vpc12 are described in the column of “virtual machine with valid user profile” in the effective profile location information of FIG. 8, but “Vpc13” is not described. Therefore, the virtual machine selection unit 31 determines that “Vpc13” is the virtual machine 41 that does not store a valid user profile among the available virtual machines 41 “Vpc11”, “Vpc12”, and “Vpc13”. (Yes in step B25).
  • the virtual machine selection unit 31 selects one such virtual machine 41.
  • the virtual machine 41 that does not store a valid user profile is one of “Vpc13”
  • the virtual machine selection unit 31 may select “Vpc13” (step B26).
  • the user session management unit 32 requests the selected virtual machine 41 “Vpc13” to delete unnecessary user profiles (step B13).
  • the user session management unit 32 refers to the valid profile location information in FIG. 8 and acquires a user whose valid user profile is stored in the selected virtual machine 41 “Vpc13” (FIG. 12, Step B31).
  • the virtual machine 41 “Vpc13” does not store a valid user profile for any user. Therefore, the user session management unit 32 does not acquire information representing the user in this step.
  • the user session management unit 32 excludes the user “User10” who requests login as an excluded user. Then, the user session management unit 32 notifies the selected virtual machine 41 “Vpc13” of the information on the excluded user “User10” and requests deletion of unnecessary user profiles (step B32).
  • the user profile management unit 42 of the virtual machine 41 “Vpc13” deletes an unnecessary user profile (step C11 in FIG. 10).
  • the user profile management unit 42 acquires information of “User10” as an excluded user (step C31 in FIG. 13).
  • the user profile management unit 42 acquires a list of users who are logged on to the own device “Vpc13” (step C32).
  • the user profile management unit 42 determines whether there is an unprocessed user profile stored in the own device “Vpc13”. Here, it is assumed that there is an unprocessed “Administrator” user profile (Yes in step C33). Next, the user profile management unit 42 determines that the user profile of “Administrator” is not a moving user profile (No in step C34).
  • the user profile management unit 42 does not delete the “Administrator” user profile and returns to step C33.
  • the user profile management unit 42 determines that there is no unprocessed user profile stored in the own device “Vpc13” (No in step C33). In this way, in step C11 in FIG. 10, the selected virtual machine 41 “Vpc13” is not deleted because there is no unnecessary user profile.
  • the user session management unit 32 of the connection management apparatus 30 notifies the selected virtual machine 41 “Vpc13” to the thin client terminal 120 (step B14 in FIG. 10).
  • the thin client terminal 120 transmits a user name “User10” and a password “pwuser10” as authentication information to the notified virtual machine 41 “Vpc13” and requests connection (step A12).
  • the user profile management unit 42 of the virtual machine 41 “Vpc13” acquires authentication information from the thin client terminal 120. Then, the user profile management unit 42 acquires “ ⁇ FileSrv ⁇ Profiles ⁇ User10” as the storage location of the user profile corresponding to the authentication information of the user “User10” in FIG. C12).
  • the user profile management unit 42 determines that the user profile on the user profile storage device 210 is new because there is no user profile of the user “User10” on its own device (“user profile storage device” in step C13). ).
  • the user profile management unit 42 copies the user profile from “ ⁇ FileSrv ⁇ Profiles ⁇ User10” on the user profile storage device 210 and logs on “User10” (step C15).
  • the user connection monitoring unit 23 of the virtual machine 41 “Vpc13” detects a change in connection state that the user “User10” has logged on to the own device (Yes in steps C5 and C6 in FIG. 4).
  • the user connection monitoring unit 23 notifies the connection management device 30 that the user “User10” has logged on to the virtual machine 41 “Vpc13” as a connection state (step C7).
  • the user session management unit 32 of the connection management device 30 receives the notification of the connection state. Then, the user session management unit 32 updates the usage status information for the corresponding virtual machine 41 “Vpc13”. Specifically, the user session management unit 32 updates the “usage status” to “in use” in the fourth line of FIG. 7 (step B3).
  • the usage status information is updated from the content shown in FIG. 7 to the content shown in FIG.
  • the user session management unit 32 updates the valid profile location information for the corresponding user “User10”. Specifically, the user session management unit 32 updates “virtual machine having a valid user profile” to “Vpc13” in the first line of FIG. Further, the user session management unit 32 updates the “use time” to “2014/06/01 08: 30: 00.000”, which is the current time at this time, in the first line of FIG.
  • the effective profile location information is updated from the content shown in FIG. 8 to the content shown in FIG.
  • the thin client terminal 120 acquires the user name “User11” and the password “pwuser11” from the input device 1004 as authentication information.
  • the thin client terminal 120 transmits the acquired authentication information to the connection management device 30 (FIG. 10, step A11).
  • the user session management unit 32 of the connection management apparatus 30 acquires the user name “User11” and the password “pwuser11” as authentication information from the thin client terminal 120.
  • the user session management unit 32 transmits this authentication information to the user information management device 320, and acquires the user group name “UserGroup1” as the corresponding user information in FIG. 6 (step B11).
  • the virtual machine selection unit 31 selects the virtual machine 41 to be assigned to the user “User11” using the usage status information, the effective profile location information, and the group setting information (step B12).
  • the virtual machine selection unit 31 refers to the group setting information shown in FIG. 9 and identifies the virtual machine group “VpcGroup1” corresponding to the user group “UserGroup1” (FIG. 11, step B21).
  • the virtual machine selection unit 31 refers to the usage status information illustrated in FIG. 14, and among the virtual machines 41 belonging to the virtual machine group “VpcGroup1”, “Vpc11”, “ “Vpc12” is extracted (step B22).
  • the virtual machine selection unit 31 refers to the effective profile location information illustrated in FIG. 15 and acquires “Vpc12” as the virtual machine 41 that stores the effective user profile of the user “User11”. Then, the virtual machine selection unit 31 determines that such a virtual machine 41 “Vpc12” is among the available virtual machines 41 “Vpc11” and “Vpc12” (Yes in Step B23).
  • the virtual machine selection unit 31 selects “Vpc12” (step B24).
  • the user session management unit 32 requests the selected virtual machine 41 “Vpc12” to delete unnecessary user profiles (step B13).
  • the user session management unit 32 refers to the valid profile location information in FIG. 15 and acquires the user “User11” in which the valid user profile is stored in the selected virtual machine 41 “Vpc12” ( FIG. 12, step B31).
  • the acquired user “User11” is the same as the user “User11” requesting login.
  • the user session management unit 32 sets the user “User11” specified in step B31 and the user who requests login as “User11” as excluded users. Then, the user session management unit 32 notifies the selected virtual machine 41 “Vpc12” of the information of the excluded user “User11” and requests deletion of an unnecessary user profile (step B32).
  • the user profile management unit 42 of the virtual machine 41 “Vpc12” deletes an unnecessary user profile (step C11 in FIG. 10).
  • the user profile management unit 42 acquires information on “User11” as an excluded user (step C31 in FIG. 13).
  • the user profile management unit 42 acquires a list of users who are logged on to the own device “Vpc12” (step C32).
  • the user profile management unit 42 determines whether there is an unprocessed user profile stored in the own device “Vpc12”. Here, it is assumed that an unprocessed user profile “TestUser1” is found (Yes in step C33). Next, the user profile management unit 42 determines that the user profile “TestUser1” is a moving user profile (Yes in step C34).
  • the user profile management unit 42 determines that “TestUser1” is not the excluded user “User11” and is not a logged-on user (No in Step C35).
  • the user profile management unit 42 deletes the user profile “TestUser1” (step C36).
  • the user profile management unit 42 determines whether or not there is an unprocessed user profile stored in the own device “Vpc12”. Here, it is assumed that an unprocessed user profile “User11” is found (Yes in step C33). Next, the user profile management unit 42 determines that the user profile of “User11” is a moving user profile (Yes in step C34).
  • the user profile management unit 42 determines that “User11” is the excluded user “User11” (Yes in Step C35).
  • the user profile management unit 42 does not delete this user profile and returns to step C33.
  • the user profile management unit 42 determines that there is no unprocessed user profile stored in the own device “Vpc12” (No in step C33). In this way, the unnecessary user profile “TestUser1” is deleted in the selected virtual machine 41 “Vpc12” in step C11 of FIG.
  • the user session management unit 32 of the connection management device 30 notifies the selected virtual machine 41 “Vpc12” to the thin client terminal 120 (step B14).
  • the thin client terminal 120 sends a user name “User11” and a password “pwuser11” as authentication information to the notified virtual machine 41 “Vpc12” to request connection (step A12).
  • the user profile management unit 42 of the virtual machine 41 “Vpc12” acquires authentication information from the thin client terminal 120. Then, the user profile management unit 42 acquires “ ⁇ FileSrv ⁇ Profiles ⁇ User11” from the user information management device 320 as the storage location of the user profile corresponding to the authentication information of the user “User11” in FIG. C12).
  • the user profile management unit 42 compares the time stamp of the user profile stored on the own device with the time stamp of the user profile on the user profile storage device 210. Then, the user profile management unit 42 determines that the time stamp on the own device is the same as or newer than the time stamp on the user profile storage device 210 (“own device” in step C13).
  • the user profile management unit 42 logs on “User11” by reusing the user profile of “User11” on its own device (step C14).
  • the user connection monitoring unit 23 of the virtual machine 41 “Vpc12” detects a change in the connection state that the user “User11” has logged on to the own device (Yes in steps C5 and C6 in FIG. 4).
  • the user connection monitoring unit 23 notifies the connection management device 30 that the user “User11” has logged on to the virtual machine 41 “Vpc12” as a connection state (step C7).
  • the user session management unit 32 of the connection management device 30 receives the notification of the connection state. Then, the user session management unit 32 updates the usage status information of the corresponding virtual machine 41 “Vpc12”. Specifically, the user session management unit 32 updates the “usage status” to “in use” in the third line of FIG. 14 (step B3).
  • the usage status information is updated from the contents shown in FIG. 14 to the contents shown in FIG.
  • the user session management unit 32 updates the valid profile location information of the corresponding user “User11”. Specifically, the user session management unit 32 keeps “Vpc12” as “virtual machine having a valid user profile” in the second line of FIG. Further, the user session management unit 32 updates the “use time” to “2014/06/01 19: 30: 00.000”, which is the current time at this time, in the second line of FIG.
  • the effective profile location information is updated from the content shown in FIG. 15 to the content shown in FIG.
  • the thin client terminal 120 acquires information indicating the logoff of the user “User10”, and requests the virtual machine 41 “Vpc13” to disconnect (step A3 in FIG. 10).
  • the user profile management unit 42 of the virtual machine 41 “Vpc13” stores the user profile of the user “User10” with logoff from the own device. Then, the user profile management unit 42 copies the user profile of the user “User10” to the storage location of “ ⁇ FileSrv ⁇ Profiles ⁇ User10” in the user profile storage device 210 (step C4).
  • the user connection monitoring unit 23 of the virtual machine 41 “Vpc13” detects a change in the connection state that the user “User10” has logged off from its own device (Yes in steps C5 and C6 in FIG. 4).
  • the user connection monitoring unit 23 notifies the connection management device 30 that the user “User10” has logged off from the virtual machine 41 “Vpc13” as a connection state (step C7).
  • the user session management unit 32 of the connection management device 30 receives the notification of the connection state. Then, the user session management unit 32 updates the usage status information for the corresponding virtual machine 41 “Vpc13”. Specifically, the user session management unit 32 updates “usage status” to “available” in the fourth line of FIG. 16 (step B3).
  • the usage status information is updated from the content shown in FIG. 16 to the content shown in FIG.
  • the user session management unit 32 updates the valid profile location information for the corresponding user “User10”. Specifically, the user session management unit 32 does not change the “virtual machine having a valid user profile” in the first line of FIG. 17 because it is already “Vpc13”. Further, the user session management unit 32 updates the “use time” to “2014/06/01 20: 00: 00.000”, which is the current time at this time, in the first line of FIG. 17.
  • the valid profile location information is updated from the content shown in FIG. 17 to the content shown in FIG.
  • the thin client terminal 120 acquires the user name “User14” and the password “pwuser14” from the input device 1004 as authentication information.
  • the thin client terminal 120 transmits the acquired authentication information to the connection management device 30 (FIG. 10, step A11).
  • the user session management unit 32 of the connection management device 30 acquires the user name “User14” and the password “pwuser14” as authentication information from the thin client terminal 120.
  • the user session management unit 32 transmits this authentication information to the user information management device 320, and acquires the user group name “UserGroup1” as the corresponding user information in FIG. 6 (step B11).
  • the virtual machine selection unit 31 selects the virtual machine 41 to be assigned to the user “User14” using the usage status information, the effective profile location information, and the group setting information (step B12).
  • the virtual machine selection unit 31 refers to the group setting information shown in FIG. 9 and identifies the virtual machine group “VpcGroup1” corresponding to the user group “UserGroup1” (FIG. 11, step B21).
  • the virtual machine selection unit 31 refers to the usage status information illustrated in FIG. 18, and among the virtual machines 41 belonging to the virtual machine group “VpcGroup1”, “Vpc11”, “ “Vpc13” is extracted (step B22).
  • the virtual machine selection unit 31 refers to the effective profile location information illustrated in FIG. 19 and determines that there is no virtual machine 41 that stores the effective user profile of the user “User14”. Therefore, the virtual machine selection unit 31 determines that such a virtual machine 41 is not among the available virtual machines 41 “Vpc11” and “Vpc13” (No in Step B23).
  • the virtual machine selection unit 31 refers to the effective profile location information in FIG. 19 and, among the available virtual machines 41 “Vpc11” and “Vpc13”, the virtual machine 41 that does not store a valid user profile is selected. It is determined whether or not there is (step B25).
  • Vpc11 and Vpc13 are both described in the column of “virtual machine with valid user profile” in the effective profile location information of FIG. Therefore, the virtual machine selection unit 31 determines that there is no virtual machine 41 that does not store a valid user profile among the available virtual machines 41 “Vpc11” and “Vpc13” (No in step B25).
  • the virtual machine selection unit 31 selects one of the available virtual machines 41 “Vpc11” and “Vpc13”.
  • the virtual machine selection unit 31 refers to the effective profile location information of FIG. 19, and the latest use time of “Vpc11” is “2014/06/01 07: 30: 00.000”, and the latest use time of “Vpc13” The usage time is requested to be “2014/06/01 20: 00: 00.000”. Therefore, the virtual machine selection unit 31 selects “Vpc11” having the oldest use time among the virtual machines 41 “Vpc11” and “Vpc13” (step B27).
  • the user session management unit 32 requests the selected virtual machine 41 “Vpc11” to delete unnecessary user profiles (step B13).
  • the user session management unit 32 refers to the effective profile location information in FIG. 19 and acquires the user “User12” in which the effective user profile is stored in the selected virtual machine 41 “Vpc11” ( FIG. 12, step B31).
  • the user session management unit 32 sets the user “User12” specified in step B31 and “User14”, which is a user who requests login, as excluded users. Then, the user session management unit 32 notifies the selected virtual machine 41 “Vpc11” of the information of the excluded users “User12” and “User14” and requests deletion of unnecessary user profiles (step B32). ).
  • the user profile management unit 42 of the virtual machine 41 “Vpc11” deletes unnecessary user profiles (step C11 in FIG. 10).
  • the user profile management unit 42 acquires information on “User12” and “User14” as excluded users (step C31 in FIG. 13).
  • the user profile management unit 42 acquires a list of users who are logged on to the own device “Vpc11” (step C32).
  • the user profile management unit 42 determines whether there is an unprocessed user profile stored in the own device “Vpc11”. Here, it is assumed that an unprocessed user profile of “User12” is found (Yes in step C33). Next, the user profile management unit 42 determines that the user profile of “User12” is a moving user profile (Yes in step C34).
  • the user profile management unit 42 determines that “User12” is an excluded user (Yes in step C35).
  • the user profile management unit 42 does not delete the user profile “User12” and returns to Step C33.
  • the user profile management unit 42 determines that there is no unprocessed user profile stored in the own device “Vpc11” (No in step C33). In this way, in step C11 of FIG. 10, the selected virtual machine 41 “Vpc11” is not deleted because there is no unnecessary user profile.
  • the user session management unit 32 of the connection management device 30 notifies the selected virtual machine 41 “Vpc11” to the thin client terminal 120 (step B14).
  • the thin client terminal 120 sends a user name “User14” and a password “pwuser14” as authentication information to the notified virtual machine 41 “Vpc11” to request connection (step A12).
  • the user profile management unit 42 of the virtual machine 41 “Vpc11” acquires authentication information from the thin client terminal 120. Then, the user profile management unit 42 acquires “ ⁇ FileSrv ⁇ Profiles ⁇ User14” from the user information management device 320 as the storage location of the user profile corresponding to the authentication information of the user “User14” in FIG. C12).
  • the user profile management unit 42 determines that the user profile on the user profile storage device 210 is new because there is no user profile of the user “User14” on its own device (“user profile storage device” in step C13). ).
  • the user profile management unit 42 copies the user profile from “ ⁇ FileSrv ⁇ Profiles ⁇ User14” on the user profile storage device 210 and logs on “User14” (step C15).
  • the user connection monitoring unit 23 of the virtual machine 41 “Vpc11” detects a change in connection state that the user “User14” has logged on to the own device (Yes in steps C5 and C6 in FIG. 4).
  • the user connection monitoring unit 23 notifies the connection management apparatus 30 that the user “User14” has logged on to the virtual machine “Vpc11” as a connection state (step C7).
  • the user session management unit 32 of the connection management device 30 receives the notification of the connection state. Then, the user session management unit 32 updates the usage status information of the corresponding virtual machine 41 “Vpc11”. Specifically, the user session management unit 32 updates the “usage status” to “in use” in the second line of FIG. 18 (step B3).
  • the usage status information is updated from the content shown in FIG. 18 to the content shown in FIG.
  • the user session management unit 32 updates the valid profile location information of the corresponding user “User14”. Specifically, the user session management unit 32 updates “virtual machine having a valid user profile” to “Vpc11” in the fifth line of FIG. Further, the user session management unit 32 updates the “use time” to “2014/06/01 20: 30: 01.000”, which is the current time at this time, in the fifth line of FIG. 19.
  • the valid profile location information is updated from the content shown in FIG. 19 to the content shown in FIG.
  • the second embodiment of the present invention can more effectively suppress the occurrence of a logon storm in a thin client system using a virtual machine.
  • the virtual machine selection unit of the connection management device has an effective user profile for a user who requests logon to an available virtual machine This is because when there is no virtual machine for storing the file, it is configured as follows. That is, in this case, the virtual machine selection unit selects one of the available virtual machines from virtual machines that do not store any user's valid user profile.
  • this embodiment further reduces the possibility of logging on another user to a virtual machine that stores a valid user profile of a certain user.
  • the present embodiment further reduces the possibility that the virtual machine that stores the effective user profile of the user who requests logon is being used by another user. This increases the possibility that an effective user profile is reused. As a result, the present embodiment can more effectively suppress the occurrence of a logon storm.
  • the second embodiment of the present invention can suppress an increase in system load due to copying from the user profile storage device even when the user profile of the user cannot be reused.
  • the reason is that when there are multiple virtual machines that can be selected by the virtual machine selection unit of the connection management device, the conditions based on the most recent use time, the conditions based on the virtual machine operating device or storage load, or the selection thereof This is because one virtual machine is selected based on a combination of conditions.
  • the second embodiment of the present invention can suppress an increase in required storage capacity for a user profile stored in each virtual machine in order to suppress the occurrence of a logon storm.
  • the user session management unit requests the virtual machine selected as the user logon destination to delete unnecessary user profiles.
  • the user session management unit specifies a valid user profile stored on the virtual machine that is the deletion request destination by referring to the valid profile location information. This is because the user session management unit requests the virtual machine selected as the logon destination to delete an unnecessary user profile while notifying that the specified user profile is excluded from the deletion target. This is because the user profile management unit of the virtual machine deletes unnecessary user profiles other than the user profile of the user who is logging on or requesting logon of the virtual machine and the user profile notified to be excluded.
  • this embodiment can prevent an increase in the usage amount of the storage device due to an increase in the number of saved user profiles.
  • FIG. 22 shows a configuration of a thin client system 3 as a third embodiment of the present invention.
  • the thin client system 3 is different from the thin client system 2 according to the second embodiment of the present invention in that a connection management device 50 is provided instead of the connection management device 30.
  • connection management device 50 can be configured by a computer device including the same hardware elements as those of the first embodiment of the present invention described with reference to FIG.
  • the hardware configuration of the thin client system 3 is not limited to the above-described configuration.
  • connection management device 50 is different from the connection management device 30 according to the second embodiment of the present invention in that a user session management unit 52 is provided instead of the user session management unit 32.
  • the user session management unit 52 is configured in substantially the same manner as the user session management unit 32 in the second embodiment of the present invention. However, the timing for requesting deletion of unnecessary user profiles is different.
  • the user session management unit 32 makes a request for deleting an unnecessary user profile at the time when login is requested by the user.
  • the user session management unit 52 makes a request for deleting an unnecessary user profile when the user logs off.
  • the user profile management unit 42 of the virtual machine 41 performs an unnecessary user profile deletion process when the user logs off.
  • the user profile management unit 42 only needs to perform the deletion process in response to a deletion request from the connection management device 50, and therefore, the same configuration as that of the second embodiment of the present invention may be applied.
  • FIG. 23 shows an operation in which the thin client system 3 configured as described above controls the connection from the thin client terminal 120 to the virtual machine 41.
  • the thin client system 3 performs an operation for controlling the connection in substantially the same manner as in the second embodiment of the present invention.
  • the connection management apparatus 50 executes the virtual machine notification operation in step B14 without requesting deletion of unnecessary user profiles in step B13. Further, the virtual machine 41 does not execute unnecessary user profile deletion processing in step C11 when the user logs in.
  • FIG. 24 shows the update operation of the usage status information and valid profile location information of the thin client system 3 and the unnecessary user profile deletion operation.
  • the virtual machine 41 operates in the same manner as the virtual machine 41 in the second embodiment of the present invention described with reference to FIG. 4 in steps C5 to C7.
  • the connection management apparatus 50 is notified of the connection state of the user.
  • the user session management unit 52 operates from the steps B3 to B4 in the same manner as the connection management device 30 in the second embodiment of the present invention.
  • the usage status information and the effective profile location information are updated according to the change in the connection state of the user.
  • the user session management unit 52 determines whether or not the connection state of the user notified from the virtual machine 41 is logoff (step B41).
  • step B13 steps B31 to B32 in FIG. 12
  • step B13 steps B31 to B32 in FIG. 12
  • the user session management unit 52 applies the logoff notification source virtual machine 41 as the virtual machine 41 to be deleted. Then, the user session management unit 52 identifies a user whose valid user profile is stored in the logoff notification source virtual machine 41 by referring to the valid profile location information (step B31).
  • the user session management unit 52 sets the user specified in step B31 as an excluded user.
  • step B32 in the second exemplary embodiment of the present invention the user session management unit 52 adds “user requesting logon” to the user specified in step B31 as an excluded user.
  • the user session management unit 52 requests the virtual machine 41 that is the logoff notification source to delete an unnecessary user profile while notifying the user specified in step B31 as an excluded user (step B32).
  • step C11 steps C31 to C36 in FIG. 13
  • step C11 steps C31 to C36 in FIG. 13
  • the thin client system 3 ends the operation of deleting unnecessary user profiles.
  • the thin client system 3 operates from steps A3 to C4 in FIG. 23, steps C5 to C7, and B3 to B4 in FIG. 24, as in the specific example 3 in the second embodiment of the present invention.
  • the user “User10” logs off from the virtual machine 41 “Vpc13”.
  • the usage status information is updated from the content shown in FIG. 16 to the content shown in FIG.
  • the effective profile location information is updated from the content shown in FIG. 17 to the content shown in FIG.
  • the user session management unit 52 of the connection management device 50 determines that the connection state of the user notified from the virtual machine 41 “Vpc13” is logoff (Yes in step B41 in FIG. 24).
  • the user session management unit 52 requests the virtual machine 41 “Vpc13” as the logoff notification source to delete an unnecessary user profile (step B13 in FIG. 24).
  • the user session management unit 52 applies the logoff notification source virtual machine 41 “Vpc13” as the virtual machine 41 to be deleted. Then, the user session management unit 52 refers to the effective profile location information in FIG. 19 to identify the user “User10” in which the effective user profile is stored in the virtual machine 41 “Vpc13” (FIG. 12, step B31). ).
  • the user session management unit 52 requests the virtual machine 41 “Vpc13” to delete an unnecessary user profile while notifying “User10” as an excluded user (step B32).
  • the user profile management unit 42 of the virtual machine 41 “Vpc13” deletes an unnecessary user profile (step C11 in FIG. 24).
  • the user profile management unit 42 acquires information of “User10” as an excluded user (step C31 in FIG. 13).
  • the user profile management unit 42 acquires a list of users who are logged on to the own device “Vpc13” (step C32).
  • the user profile management unit 42 determines whether there is an unprocessed user profile stored in the own device “Vpc13”. Here, it is assumed that an unprocessed user profile “TestUser1” is found (Yes in step C33). Next, the user profile management unit 42 determines that the user profile “TestUser1” is a moving user profile (Yes in step C34).
  • the user profile management unit 42 determines that “TestUser1” is not the excluded user “User10” and is not logged on (No in Step C35).
  • the user profile management unit 42 deletes the user profile “TestUser1” (step C36).
  • the user profile management unit 42 determines whether or not there is an unprocessed user profile stored in the own device “Vpc13”. Here, it is assumed that an unprocessed user profile of “User10” is found (Yes in step C33). Next, the user profile management unit 42 determines that the user profile “User10” is a moving user profile (Yes in step C34).
  • the user profile management unit 42 determines that “User10” is the excluded user “User10” (Yes in step C35).
  • the user profile management unit 42 does not delete this user profile and returns to step C33.
  • the user profile management unit 42 determines that there is no unprocessed user profile stored in the own device “Vpc13” (No in step C33). In this way, in step C11 of FIG. 24, in the virtual machine 41 “Vpc13”, the unnecessary user profile “TestUser1” is deleted immediately after the user “User10” logs off.
  • the third embodiment of the present invention can prevent an increase in the load on the virtual machine at the time of logon due to an unnecessary user profile deletion process.
  • the user session management unit of the connection management device requests deletion of unnecessary user profiles from the virtual machine to which the user has been logged on until the user logs off.
  • the virtual machine does not execute unnecessary user profile deletion processing at the time of user login. Therefore, this embodiment can prevent an increase in the load on the virtual machine at the time of login.
  • FIG. 25 shows a configuration of a thin client system 4 as a fourth embodiment of the present invention.
  • the thin client system 4 is replaced with a connection management device 60 and a virtual machine operating device 40 instead of the connection management device 50 with respect to the thin client system 3 as the third embodiment of the present invention.
  • the difference is that a virtual machine operating device 70 is provided.
  • On the virtual machine operating device 70 one or more virtual machines 71 operate.
  • Each device is communicably connected via a network.
  • connection management device 60 and the virtual machine operating device 70 can be configured by a computer device that includes the same hardware elements as those of the first embodiment of the present invention described with reference to FIG.
  • the hardware configuration of the thin client system 4 is not limited to the above-described configuration.
  • connection management device 60 is different from the connection management device 50 according to the third embodiment of the present invention in that a user session management unit 62 is provided instead of the user session management unit 52.
  • the user session management unit 62 is configured in substantially the same manner as the user session management unit 52 in the third embodiment of the present invention. However, the timing for requesting deletion of unnecessary user profiles and the details of processing for requesting deletion differ.
  • the user session management unit 52 makes a request for deleting an unnecessary user profile when the user logs off.
  • the user session management unit 62 makes a request for deleting an unnecessary user profile at an arbitrary timing.
  • the user session management unit 62 issues a deletion request to each virtual machine 71 that can be used when the deletion is requested.
  • the virtual machine 71 that can be used at that time can be identified by referring to the usage status information.
  • the user session management unit 62 may make a deletion request at a timing according to a predetermined schedule. Specifically, for example, a schedule may be set so that a deletion request is executed in a time zone in which the load of the thin client system 4 is known to be low. Further, the user session management unit 62 may make a deletion request at predetermined intervals. Further, the user session management unit 62 may make a deletion request at a timing when it is detected that the state of the thin client system 4 satisfies a predetermined condition.
  • the predetermined condition may be, for example, that the load of the thin client system 4 satisfies a predetermined low load condition.
  • the user session management unit 62 specifies an excluded user to be excluded from the deletion target as follows. First, the user session management unit 62 identifies a user having a valid user profile stored on the virtual machine 71 to be deleted by referring to the valid profile location information. And the user session management part 62 extracts the user applicable to the conditions based on the latest use time among the specified users. For example, the user session management unit 62 may extract users whose elapsed time from the most recent use time is within a predetermined time. Then, the user session management unit 62 sets the extracted user as an excluded user excluded from the deletion target. Then, the user session management unit 62 requests the deletion request target virtual machine 71 to delete an unnecessary user profile while notifying the excluded user.
  • the user session management unit 62 receives information representing the user who has deleted the user profile from the virtual machine 71 that is a request destination for deleting unnecessary user profiles. Then, the user session management unit 62 updates the valid profile location information for each user indicated by the received information. Specifically, if the virtual machine 71 storing a valid user profile for the corresponding user is the virtual machine 71 that has executed the deletion of the user profile, the user session management unit 62 determines the valid profile for that user. Delete location information. This deletion process of the effective profile location information is deleted from the virtual machine 71 that is the deletion request destination even if the effective user profile of a certain user does not meet the conditions based on the most recent usage time. This is done because of the possibility.
  • the virtual machine 71 differs from the virtual machine 41 according to the third embodiment of the present invention in that a user profile management unit 72 is provided instead of the user profile management unit 42.
  • the user profile management unit 72 executes unnecessary user profile deletion processing in substantially the same manner as in the third embodiment of the present invention. In addition, the user profile management unit 72 notifies the connection management device 60 of information representing the user who has deleted the user profile.
  • FIG. 26 shows an outline of an operation in which the thin client system 4 deletes unnecessary user profiles. Note that the operation shown in FIG. 26 is executed at an arbitrary timing as described above.
  • the user session management unit 62 of the connection management device 60 extracts the available virtual machines 71 by referring to the usage status information (step B51).
  • the user session management unit 62 ends the operation.
  • Step B52 when an available virtual machine 71 is extracted (Yes in Step B52), the user session management unit 62 requests each extracted virtual machine 71 to delete an unnecessary user profile (Step B53). ). Details of this step will be described later.
  • the user profile management unit 72 deletes unnecessary user profiles (step C51). Details of this step will be described later.
  • FIG. 27 shows details of an operation in which the connection management device 60 requests deletion of an unnecessary user profile in step B53.
  • the user session management unit 62 of the connection management device 60 extracts users whose elapsed time from the use time is within a predetermined time from the effective user profiles stored on the corresponding virtual machine 71 (step) B61).
  • the user session management unit 62 requests the corresponding virtual machine 71 to delete unnecessary user profiles while notifying the extracted user as an excluded user (step B62).
  • the user session management unit 62 receives information representing the user of the deleted user profile from the virtual machine 71 that has requested deletion (step B63).
  • the user session management unit 62 executes the processes of steps B64 to B65 for each user indicated by the received information.
  • the user session management unit 62 refers to the user profile location information for the corresponding user. Then, the user session management unit 62 determines whether or not the virtual machine 71 that stores a valid user profile for the corresponding user is the virtual machine 71 that has executed the deletion process (step B64).
  • the user session management unit 62 deletes the valid profile location information for the corresponding user. (Step B65).
  • the user session management unit 62 leaves the valid profile location information about the corresponding user as it is. To do.
  • FIG. 28 shows details of the operation in which the virtual machine 71 deletes unnecessary user profiles in step C51.
  • the user profile management unit 72 of the virtual machine 71 operates in the same manner as in the third embodiment of the present invention from step C31 to C36, and deletes unnecessary user profiles.
  • the user notified as an excluded user in step C31 is a user whose user profile satisfies the predetermined time from the most recent use time among the effective user profiles on the virtual machine 71.
  • the user profile management unit 72 notifies the connection management device 60 of information representing the user of the user profile deleted in step C36 (step C67).
  • the user notified here may include a user whose user profile has a valid user profile on the virtual machine 71 and whose user profile does not satisfy the predetermined condition since the most recent use time. It will be.
  • the virtual machine 71 ends the operation of deleting unnecessary user profiles.
  • the operation of the thin client system 4 will be shown as a specific example.
  • the user information management device 320 stores the user information shown in FIG.
  • the connection management device 60 stores the usage status information shown in FIG. 29, the effective profile location information shown in FIG. 30, and the group setting information shown in FIG.
  • the elapsed time from the most recent use time is set to be within 7 days.
  • the current time is “2014/07/10 20: 35: 00.000”.
  • the user session management unit 62 of the connection management device 60 refers to the usage status information of FIG. 29 and acquires “Vpc13” as the available virtual machine 71 (Yes in steps B51 and B52).
  • the user session management unit 62 requests the virtual machine 71 “Vpc13” to delete an unnecessary user profile (step B53). Specifically, the user session management unit 62 refers to the effective profile location information of FIG. 30 and “User10”, “User12” are stored as effective user profiles in the available virtual machine 71 “Vpc13”. Is obtained.
  • the user session management unit 62 extracts a user whose elapsed time from the most recent use time is within 7 days from “User10” and “User12”.
  • the elapsed time from the latest use time “2014/07/09 20: 00: 00.000” of “User10” to the current time “2014/07/10 20: 35: 00.000” is within 7 days.
  • the elapsed time from the latest use time “2014/07/02 07: 30: 00.000” of “User12” to the current time “2014/07/10 20: 35: 00.000” exceeds 7 days. Therefore, the user session management unit 62 extracts “User10” as an excluded user that satisfies the condition (step B61).
  • the user session management unit 62 requests the virtual machine 71 “Vpc13” to delete an unnecessary user profile while notifying “User10” as an excluded user (step B62).
  • the user profile management unit 72 of the virtual machine 71 “Vpc13” acquires information on “User10” as an excluded user (step C31).
  • the user profile management unit 72 acquires a list of users who are logged on to the own device (step C32).
  • the user profile management unit 72 determines whether there is an unprocessed user profile stored in the own device “Vpc13”. Here, it is assumed that an unprocessed user profile of “User10” is found (Yes in step C33). Next, the user profile management unit 72 determines that the user profile of “User10” is a moving user profile (Yes in step C34).
  • the user profile management unit 72 determines that “User10” is the excluded user “User10” (Yes in step C35).
  • the user profile management unit 72 returns to Step C33 without deleting the user profile of “User10”.
  • the user profile management unit 72 determines whether there is an unprocessed user profile stored in the own device “Vpc13”. Here, it is assumed that an unprocessed user profile of “User12” is found (Yes in step C33). Next, the user profile management unit 72 determines that the user profile of “User12” is a moving user profile (Yes in step C34).
  • the user profile management unit 72 determines that “User12” is not the excluded user “User10” and is not logged on (No in step C35).
  • the user profile management unit 72 deletes the user profile “User12” (step C36).
  • the user profile management unit 72 determines whether there is an unprocessed user profile stored in the self-device “Vpc13”. Here, it is determined that there is no unprocessed user profile (No in step C33).
  • the user profile management unit 72 notifies the connection management device 60 of “User12” as the user who has deleted the user profile (step C67).
  • the user session management unit 62 acquires the information of “User12” as the user of the deleted user profile from the virtual machine 71 (step B63).
  • the virtual machine 71 that stores the effective user profile of the user “User12” notified of deletion is “Vpc13”. Further, the virtual machine 71 that is the notification source of the deleted user in step B63 is “Vpc13”. Therefore, the user session management unit 62 determines that the virtual machine 71 storing the effective user profile of the user “User12” notified of the deletion is the virtual machine 71 that is the notification source of the deleted user (Yes in Step B64). ).
  • the user session management unit 62 deletes the valid profile location information of the user “User12” notified of the deletion (step B65).
  • the effective profile location information is updated from the content shown in FIG. 30 to the content shown in FIG.
  • the fourth embodiment of the present invention can further suppress the increase in required storage capacity for the user profile stored in each virtual machine in order to suppress the occurrence of logon storm.
  • the user session management unit of the connection management device requests the virtual machine selected as the logon destination to delete an unnecessary user profile, it notifies the next user as an excluded user. It is.
  • the user is a user whose latest use time satisfies a predetermined condition among users having a valid user profile in a virtual machine that is a deletion request destination. For example, as the predetermined condition, it is applied that an elapsed time from the most recent use time is within a predetermined period.
  • the user profile management unit of the virtual machine deletes a user profile that has not been used for a predetermined period even if the user profile is stored on the own device.
  • the present embodiment deletes an old user profile that has a low possibility of being reused even if it is a valid user profile of the user, so that the storage capacity required for storing the user profile can be further reduced. it can.
  • the fourth embodiment of the present invention can reduce the influence of an increase in the load on the virtual machine due to unnecessary user profile deletion processing.
  • the user session management unit of the connection management apparatus requests an unnecessary user profile to be deleted from a virtual machine that is available (not in use) at that time. .
  • the virtual machine performs unnecessary user profile deletion processing, such as a time period when there are few users using the thin client system. Can be executed.
  • usage status information and effective profile location information are shown in tabular form.
  • the data structure and the usage status information and effective profile location information of the present invention are included. It does not limit the type of information that is displayed.
  • the usage status information only needs to include at least information indicating whether each virtual machine is being used.
  • the valid profile location information only needs to include information representing a virtual machine having a valid user profile for each user.
  • the user session management unit of the connection management apparatus records a virtual machine that stores a valid user profile of the logged-off user even when logging off.
  • the present embodiment uses the user profile that was used (last updated) in the virtual machine that was logged off last. Increase the chances of being reused at the next logon.
  • the user profile storage device and the user information management device are different devices. However, these devices are realized on the same computer device. It may be. Further, the user profile storage device may be composed of a plurality of computer devices. Further, the user information management device may be configured by a plurality of computer devices.
  • the user session management unit of the connection management device operates to request deletion of an unnecessary user profile according to the fourth embodiment of the present invention. May be configured to perform.
  • the user profile management unit of the virtual machine executes the operation of deleting unnecessary user profiles described in the fourth embodiment of the present invention. What is necessary is just to be comprised.
  • each functional block of each device constituting the thin client system is realized by a CPU that executes a computer program stored in a memory.
  • the present invention is not limited to this, and some, all, or a combination of each functional block may be realized by dedicated hardware.
  • the functional blocks of each device constituting the thin client system may be distributed and realized in a plurality of devices.
  • each device of the thin client system described with reference to each flowchart is stored as a computer program of the present invention in a storage device (storage medium) of the computer device. Keep it. Then, the computer program may be read and executed by the CPU. In such a case, the present invention is constituted by the code of the computer program or a storage medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

 本発明は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制する。 接続管理装置10は、仮想マシン21の利用状況情報と各ユーザの有効プロファイル所在情報に基づき、シンクライアントシステム1にログオンするユーザに割り当てる仮想マシン21を選択する仮想マシン選択部11と、ユーザの仮想マシン21に対する接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新するユーザセッション管理部12とを有する。仮想マシン21は、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置210から取得し、ユーザのログオフ時に、自装置上にユーザプロファイルを保存しながらユーザプロファイル格納装置210に格納するユーザプロファイル管理部22と、自装置へのユーザの接続状態を監視するユーザ接続監視部23とを有する。

Description

シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、記憶媒体
 本発明は、仮想マシンを利用したシンクライアントシステムに関する。
 近年、仮想マシンを利用したシンクライアントシステムが普及しつつある。このようなシンクライアントシステムは、ユーザ数より少ない仮想マシンを複数のユーザが共有する形で運用されることが多い。この場合、ユーザプロファイルは、移動ユーザプロファイルとして管理される。移動ユーザプロファイルは、ファイルサーバに格納され、ユーザのログオン時に、ファイルサーバからログオン先の仮想マシンにコピーされる。そして、移動ユーザプロファイルは、ユーザのログオフ時に、ログオン先の仮想マシンからファイルサーバにコピーされ、仮想マシン上からは削除される。このため、大規模なシンクライアントシステムでは、ログオン時の仮想マシンへのユーザプロファイルのコピー処理が多発するログオンストームが発生するという問題がある。
 このような問題に関連する技術の一例が、特許文献1に記載されている。この関連技術は、各仮想マシンについて、直前の使用ユーザ名を示す情報を記録する。そして、この関連技術は、シンクライアント端末からユーザがログオンする際に、ログオンするユーザ名に対して直前の使用ユーザ名が一致する仮想マシンがあれば、その仮想マシンを選択してシンクライアント端末に配分する。このように、この関連技術は、各ユーザに対して、できるだけ前回使用した仮想マシンと同じ仮想マシンを配分する。各仮想マシンは、ユーザログオン時にコピーされたユーザプロファイルをログオフ時に削除しないでおけば、再度同一のユーザがログオンするときに、仮想マシン上のユーザプロファイルを再利用できる。
 また、このような問題に関連する技術の他の一例が、特許文献2に記載されている。この関連技術は、移動ユーザプロファイルをレイヤで管理する。より上位のレイヤが、より最近アクセスされたデータを含むよう構成される。そして、この関連技術は、ユーザのログオン時に、ファイルサーバから仮想マシンへ、最上位レイヤから順に移動ユーザプロファイルを転送する。ここで、移動ユーザプロファイルのうちログオン時に必要となるデータは、最近アクセスされたデータであり、最上位レイヤに存在する。そこで、仮想マシンは、最上位レイヤを受け取った時点で、ログオン手続を完了する。これにより、この関連技術は、ログオン時に転送される移動ユーザプロファイルのうち、ログオン手続完了までに転送が必要となるデータの容量を削減する。
特開2013-174945号公報 特開2013-16186号公報
 しかしながら、特許文献1~2に記載された関連技術には、以下の課題がある。
 特許文献1に記載された関連技術は、ログオンするユーザ名に対して直前の使用ユーザ名が一致する仮想マシンが無い場合、他の基準により直前の使用ユーザ名が一致しない仮想マシンを選択してそのユーザに配分する。このため、あるユーザに直近に配分された仮想マシンが、そのユーザが次回ログオンするより前に他のユーザに配分されることもあり得る。その場合、この関連技術は、その仮想マシンの直前の使用ユーザ名を、あるユーザから他のユーザに書き換える。すると、この関連技術は、あるユーザが次回ログオンする際に、そのユーザに直近に配分された仮想マシンを特定することができない。その結果、この関連技術では、そのようなユーザについて移動ユーザプロファイルをファイルサーバから転送する必要が生じる。
 また、特許文献2に記載された関連技術は、ログオン手続完了時までにファイルサーバから仮想マシンへ転送が必要となるデータ量を減らすことができるものの、ログオン手続完了後に残りのレイヤを転送する必要がある。そのため、この関連技術は、ユーザのログオンに伴い、最終的には移動ユーザプロファイルを全て転送する必要がある。
 このように、これらの関連技術は、ログオンストームの発生を充分に抑制できない。
 本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制する技術を提供することを目的とする。
 上記目的を達成するために、本発明のシンクライアントシステムは、シンクライアント端末と、接続管理装置と、1つ以上の仮想マシンが動作する仮想マシン稼働装置と、ユーザプロファイル格納装置とを備えたシンクライアントシステムであって、前記シンクライアント端末は、前記シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると前記接続管理装置に送信し、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、前記ユーザプロファイル格納装置は、前記シンクライアントシステムのユーザ毎にユーザプロファイルを格納し、前記接続管理装置は、前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択手段と、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、前記仮想マシン選択手段によって選択される仮想マシンを表す情報を前記シンクライアント端末に通知するとともに、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新するユーザセッション管理手段と、を有し、前記仮想マシンは、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル管理手段と、自装置に対するユーザの接続状態を監視して前記接続管理装置に通知するユーザ接続監視手段と、を有する。
 また、本発明の接続管理装置は、上述のシンクライアントシステムにおける接続管理装置によって構成される。
 また、本発明の仮想マシン稼働装置は、上述のシンクライアントシステムにおける仮想マシンが稼働する仮想マシン稼働装置によって構成される。
 また、本発明の方法は、シンクライアント端末が、シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると接続管理装置に送信し、前記接続管理装置が、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知し、前記シンクライアント端末が、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、前記仮想マシンが、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納し、前記仮想マシンが、自装置にログオンするユーザの接続状態を監視して前記接続管理装置に通知し、前記接続管理装置が、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する。
 また、本発明の他の方法は、接続管理装置が、シンクライアントシステムにログオンを要求するユーザを表す情報をシンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する。
 また、本発明のさらに他の方法は、仮想マシン稼働装置上で動作する仮想マシンが、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納し、自装置に対するユーザの接続状態を監視して上述の方法を実行する接続管理装置に通知する。
 また、本発明の記憶媒体は、シンクライアントシステムにログオンを要求するユーザを表す情報をシンクライアント端末から取得するユーザ情報取得ステップと、各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択ステップと、前記仮想マシン選択ステップで選択された仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせる接続制御ステップと、前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する更新ステップと、を接続管理装置に実行させるプログラムを記憶している。
 また、本発明の他の記憶媒体は、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得するユーザプロファイル取得ステップと、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル格納ステップと、自装置に対するユーザの接続状態を監視して上述の記憶媒体に記憶されるプログラムを実行する接続管理装置に通知する接続監視ステップとを、仮想マシン稼働装置上で動作する仮想マシンに実行させるプログラムを記憶している。
 本発明は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制する技術を提供することができる。
本発明の第1の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。 本発明の第1の実施の形態としてのシンクライアントシステムのハードウェア構成の一例を示す図である。 本発明の第1の実施の形態としてのシンクライアントシステムがシンクライアント端末から仮想マシンへの接続を制御する動作を説明するフローチャートである。 本発明の第1の実施の形態としてのシンクライアントシステムが利用状況情報および有効プロファイル所在情報を更新する動作を説明するフローチャートである。 本発明の第2の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。 本発明の第2の実施の形態におけるユーザ情報の一例を説明する図である。 本発明の第2の実施の形態における利用状況情報の一例を説明する図である。 本発明の第2の実施の形態における有効プロファイル所在情報の一例を説明する図である。 本発明の第2の実施の形態におけるグループ設定情報の一例を説明する図である。 本発明の第2の実施の形態としてのシンクライアントシステムがシンクライアント端末から仮想マシンへの接続を制御する動作を説明するフローチャートである。 本発明の第2の実施の形態としてのシンクライアントシステムが仮想マシンを選択する動作の詳細を説明するフローチャートである。 本発明の第2の実施の形態としてのシンクライアントシステムが不要なユーザプロファイルの削除を要求する動作の詳細を説明するフローチャートである。 本発明の第2の実施の形態としてのシンクライアントシステムが不要なユーザプロファイルを削除する動作の詳細を説明するフローチャートである。 本発明の第2の実施の形態の具体例における利用状況情報を説明する図である。 本発明の第2の実施の形態の具体例における有効プロファイル所在情報を説明する図である。 本発明の第2の実施の形態の具体例において更新された利用状況情報を説明する図である。 本発明の第2の実施の形態の具体例において更新された有効プロファイル所在情報を説明する図である。 本発明の第2の実施の形態の具体例においてさらに更新された利用状況情報を説明する図である。 本発明の第2の実施の形態の具体例においてさらに更新された有効プロファイル所在情報を説明する図である。 本発明の第2の実施の形態の具体例においてさらに更新された利用状況情報を説明する図である。 本発明の第2の実施の形態の具体例においてさらに更新された有効プロファイル所在情報を説明する図である。 本発明の第3の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。 本発明の第3の実施の形態としてのシンクライアントシステムがシンクライアント端末から仮想マシンへの接続を制御する動作を説明するフローチャートである。 本発明の第3の実施の形態としてのシンクライアントシステムが利用状況情報および有効プロファイル所在情報を更新する動作ならびに不要なユーザプロファイルの削除を要求する動作を説明するフローチャートである。 本発明の第4の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。 本発明の第4の実施の形態としてのシンクライアントシステムが不要なユーザプロファイルを削除する動作の概略を説明するフローチャートである。 本発明の第4の実施の形態としてのシンクライアントシステムが不要なユーザプロファイルの削除を要求する動作の詳細を説明するフローチャートである。 本発明の第4の実施の形態としてのシンクライアントシステムが不要なユーザプロファイルを削除する動作の詳細を説明するフローチャートである。 本発明の第4の実施の形態の具体例における利用状況情報を説明する図である。 本発明の第4の実施の形態の具体例における有効プロファイル所在情報を説明する図である。 本発明の第4の実施の形態の具体例において更新された有効プロファイル所在情報を説明する図である。
 以下、本発明の実施の形態について、図面を参照して詳細に説明する。
 (第1の実施の形態)
 本発明の第1の実施の形態としてのシンクライアントシステム1の構成を図1に示す。図1において、シンクライアントシステム1は、1つ以上のシンクライアント端末110と、接続管理装置10と、仮想マシン稼働装置20と、ユーザプロファイル格納装置210とを備える。また、仮想マシン稼働装置20上では、1つ以上の仮想マシン21が動作する。各装置は、ネットワークを介して通信可能に接続されている。なお、図1には、4つのシンクライアント端末110を示したが、本発明のシンクライアントシステムが含むシンクライアント端末の数を限定するものではない。また、図1には、仮想マシン稼働装置20および仮想マシン21を2つずつ示したが、本発明のシンクライアントシステムが含む仮想マシン稼働装置数、1つの仮想マシン稼働装置上で動作する仮想マシン数、および、仮想マシンの合計数を限定するものではない。
 ここで、シンクライアントシステム1のハードウェア構成の一例を図2に示す。図2において、シンクライアント端末110は、CPU(Central Processing Unit)1001、メモリ1002、出力装置1003、入力装置1004、および、ネットワークインタフェース1005を含むコンピュータ装置によって構成可能である。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。出力装置1003は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置1004は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。ネットワークインタフェース1005は、ネットワークに接続するインタフェースである。メモリ1002には、シンクライアント端末110の各機能を実現するコンピュータ・プログラムが格納される。CPU1001は、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、シンクライアント端末110の機能を実現する。
 また、図2において、接続管理装置10は、CPU2001、メモリ2002、および、ネットワークインタフェース2005を含むコンピュータ装置によって構成可能である。メモリ2002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース2005は、ネットワークに接続するインタフェースである。メモリ2002には、接続管理装置10の各機能を実現するコンピュータ・プログラムが格納される。CPU2001は、メモリ2002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、接続管理装置10の機能を実現する。
 また、図2において、仮想マシン稼働装置20は、CPU3001、メモリ3002、および、ネットワークインタフェース3005を含むコンピュータ装置によって構成可能である。メモリ3002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース3005は、ネットワークに接続するインタフェースである。メモリ3002には、1つ以上の仮想マシン21を動作させる仮想化ソフトウェアが格納される。CPU3001は、メモリ3002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、仮想マシン稼働装置20上で仮想マシン21を動作させ、仮想マシン21の機能を実現する。
 また、図2において、ユーザプロファイル格納装置210は、CPU4001、メモリ4002、および、ネットワークインタフェース4005を含むコンピュータ装置によって構成可能である。メモリ4002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース4005は、ネットワークに接続するインタフェースである。メモリ4002には、ユーザプロファイル格納装置210をファイルサーバとして機能させるコンピュータ・プログラムが格納される。CPU4001は、メモリ4002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、ユーザプロファイル格納装置210をファイルサーバとして動作させる。
 なお、シンクライアントシステム1を構成する各装置のハードウェア構成は、上述の構成に限定されない。
 次に、シンクライアントシステム1の機能ブロック構成について説明する。
 シンクライアント端末110は、シンクライアントシステム1にログオンを要求するユーザを表す情報を取得する。ユーザを表す情報は、例えば、入力装置1004から入力される。また、シンクライアント端末110は、取得したユーザを表す情報を、接続管理装置10に送信する。
 また、シンクライアント端末110は、接続管理装置10から仮想マシン21を表す情報を受信する。また、シンクライアント端末110は、受信した情報の示す仮想マシン21に自装置を接続してユーザをログオンさせる。
 ユーザプロファイル格納装置210は、シンクライアントシステム1のユーザ毎にユーザプロファイルを格納する。ユーザプロファイルは、仮想マシン21を利用する際のユーザ毎の設定情報を表す情報である。
 また、図1に示したように、接続管理装置10は、仮想マシン選択部11と、ユーザセッション管理部12とを有する。また、接続管理装置10は、これらの各機能ブロックによって利用される情報として、利用状況情報および有効プロファイル所在情報を保存している。
 利用状況情報は、各仮想マシン21が利用中であるか否かを表す情報である。利用状況情報は、仮想マシン21毎の情報として、たとえばメモリ2002に保存される。具体的には、ある仮想マシン21についての利用状況情報が「利用中」であれば、その仮想マシン21がいずれかのシンクライアント端末110に接続され、シンクライアントシステム1のいずれかのユーザによってログオン中であることを表す。また、ある仮想マシン21についての利用状況情報が「利用可能(利用中ではない)」であれば、その仮想マシン21がいずれのシンクライアント端末110にも接続されず、シンクライアントシステム1のいずれのユーザもログオンしていないことを表す。
 有効プロファイル所在情報は、シンクライアントシステム1の各ユーザについて有効なユーザプロファイルを保存している仮想マシン21を表す情報である。有効なユーザプロファイルとは、例えば、そのユーザが直近に利用したユーザプロファイルである。そのような有効なユーザプロファイルは、そのユーザが直近に使用した仮想マシン21に保存されている。有効プロファイル所在情報は、ユーザ毎の情報として、例えばメモリ2002に保存される。
 仮想マシン選択部11は、利用状況情報および有効プロファイル所在情報を参照することにより、シンクライアントシステム1にログオンを要求するユーザに割り当てる仮想マシン21を選択する。例えば、仮想マシン選択部11は、利用状況情報を参照することにより、利用可能な仮想マシン21を抽出する。そして、仮想マシン選択部11は、有効プロファイル所在情報を参照し、抽出した利用可能な仮想マシン21の中に、ログオンを要求するユーザの有効なユーザプロファイルを保存する仮想マシン21があれば、その仮想マシン21を選択すればよい。また、仮想マシン選択部11は、そのような仮想マシン21がない場合、利用可能な仮想マシン21の中からいずれか1つを選択すればよい。
 ユーザセッション管理部12は、シンクライアントシステム1にログオンを要求するユーザを表す情報をシンクライアント端末110から取得する。また、ユーザセッション管理部12は、取得したユーザを表す情報に対して割り当てる仮想マシン21を、仮想マシン選択部11を用いて決定する。また、ユーザセッション管理部12は、決定した仮想マシン21を表す情報を、シンクライアント端末110に通知する。
 また、ユーザセッション管理部12は、ユーザの仮想マシン21に対する接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新する。ユーザの接続状態は、仮想マシン21から通知される。
 具体的には、ユーザセッション管理部12は、ユーザのログオンに応じて、ログオン先の仮想マシン21の利用状況情報を、利用中であることを示す情報に更新する。また、ユーザセッション管理部12は、ユーザのログオフに応じて、それまでのログオン先であった仮想マシン21の利用状況情報を、利用中でない(すなわち、利用可能である)ことを示す情報に更新する。
 また、ユーザセッション管理部12は、ユーザのログオンに応じて、そのユーザについての有効プロファイル所在情報を、今回ログオン先の仮想マシン21を表す情報に更新する。また、ユーザセッション管理部12は、ユーザのログオフに応じて、そのユーザについての有効プロファイル所在情報を、それまでログオン先であった仮想マシン21を表す情報に更新する。なお、同一のユーザが同時にログオンできる仮想マシン21が1つに限定されている場合がある。この場合、ログオフ時の有効プロファイル所在情報はログオン時の有効プロファイル所在情報と同一である。したがって、この場合、ユーザセッション管理部12は、ログオフ時の有効プロファイル所在情報の更新処理を省略することも可能である。ただし、有効プロファイル所在情報が更新時刻等の付随情報を含む場合がある。そのような場合、ユーザセッション管理部12は、ログオフ時の有効プロファイル所在情報の更新処理を省略できない。また、同一のユーザが同時に複数の仮想マシン21にログオンできる場合がある。この場合、ログオフ時の有効プロファイル所在情報はログオン時の有効プロファイル所在情報と同一とは限らない。したがって、この場合、ユーザセッション管理部12は、ログオフ時の有効プロファイル所在情報の更新処理を省略することはできない。
 また、図1において、仮想マシン21は、ユーザプロファイル管理部22と、ユーザ接続監視部23とを有する。
 ユーザプロファイル管理部22は、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置210から取得する。具体的には、ユーザプロファイル管理部22は、自装置にログオンするユーザの有効なユーザプロファイルを自装置上に保存している場合、その有効なユーザプロファイルを再利用する。また、ユーザプロファイル管理部22は、自装置にログオンするユーザの有効なユーザプロファイルを自装置上に保存していない場合、ユーザプロファイル格納装置210から該当するユーザのユーザプロファイルを取得する。なお、自装置上に該当するユーザの有効なプロファイルがあるか否かは、自装置上のそのユーザのユーザプロファイルと、ユーザプロファイル格納装置210上のそのユーザのユーザプロファイルとの間で、タイムスタンプを比較することにより判断可能である。もし、前者のタイムスタンプが後者のタイムスタンプに対して同一か新しい場合、自装置上にそのユーザの有効なユーザプロファイルがあると判断される。
 また、ユーザプロファイル管理部22は、自装置からのユーザのログオフ時に、自装置上で利用されていたそのユーザのユーザプロファイルを保存しておく。さらに、ユーザプロファイル管理部22は、そのユーザによって利用されていたユーザプロファイルを、ユーザプロファイル格納装置210に格納する。
 ユーザ接続監視部23は、自装置に対するユーザの接続状態を監視する。そして、ユーザ接続監視部23は、接続状態の変化を検出すると、接続管理装置10に通知する。具体的には、ユーザ接続監視部23は、ユーザのログオン、ログオフを検出して接続管理装置10に通知すればよい。通知する情報は、ログオンまたはログオフのいずれを検出したかを表す情報と、ログオンまたはログオフしたユーザを表す情報とを含む。
 以上のように構成されたシンクライアントシステム1の動作について、図面を参照して説明する。
 まず、シンクライアントシステム1が、シンクライアント端末110から仮想マシン21への接続を制御する動作を図3に示す。
 図3では、まず、シンクライアント端末110は、ログオンを要求するユーザを表す情報を取得し、接続管理装置10に送信する(ステップA1)。
 次に、接続管理装置10のユーザセッション管理部12は、受信した情報の示すユーザに割り当てる仮想マシン21を、仮想マシン選択部11を用いて選択する(ステップB1)。前述のように、仮想マシン選択部11は、利用状況情報および有効プロファイル所在情報を参照することにより、該当するユーザに割り当てる仮想マシン21を選択する。
 次に、ユーザセッション管理部12は、ステップB1で選択された仮想マシン21を表す情報を、シンクライアント端末110に通知する(ステップB2)。
 次に、シンクライアント端末110は、通知された情報の示す仮想マシン21に対して、ステップA1で取得したユーザによる接続を要求する(ステップA2)。
 次に、仮想マシン21のユーザプロファイル管理部22は、ステップA2で自装置に接続を要求しているユーザの有効なユーザプロファイルが自装置上にあるか否かを判断する(ステップC1)。
 ここで、該当するユーザの有効なユーザプロファイルが自装置上にあると判断した場合、ユーザプロファイル管理部22は、その有効なユーザプロファイルを再利用して、ユーザをログオンさせる(ステップC2)。
 一方、該当するユーザの有効なユーザプロファイルが自装置上にないと判断した場合、ユーザプロファイル管理部22は、該当するユーザの有効なユーザプロファイルを、ユーザプロファイル格納装置210から取得して、ユーザをログオンさせる(ステップC3)。
 また、その後、シンクライアント端末110は、ログオフを表す情報を取得すると、仮想マシン21に切断を要求する(ステップA3)。
 仮想マシン21は、ユーザをログオフさせてシンクライアント端末110を切断する。そして、ユーザプロファイル管理部22は、このユーザが利用していたユーザプロファイルを保存するとともに、ユーザプロファイル格納装置210にコピーする(ステップC4)。
 以上で、シンクライアントシステム1は、接続制御動作を終了する。
 次に、シンクライアントシステム1が、利用状況情報および有効プロファイル所在情報を更新する動作を図4に示す。
 図4では、まず、仮想マシン21のユーザ接続監視部23は、自装置に対するユーザの接続状態の変化を監視する(ステップC5)。
 次に、ユーザ接続監視部23は、接続状態が変化したか否かを判断する(ステップC6)。
 ここで、接続状態に変化がない場合、ユーザ接続監視部23は、ステップC5からの動作を繰り返す。
 一方、接続状態が変化した場合、ユーザ接続監視部23は、変化後の接続状態を接続管理装置10に通知する(ステップC7)。前述のように、ユーザ接続監視部23は、ユーザの接続状態として、ログオンまたはログオフを検出すればよい。また、ユーザ接続監視部23は、検出したログオンまたはログオフを表す情報と、ログオンまたはログオフしたユーザを表す情報とを通知すればよい。
 次に、接続管理装置10において、ユーザセッション管理部12は、通知された接続状態に基づいて、通知元の仮想マシン21の利用状況情報を更新する(ステップB3)。
 具体的には、もし、ログオンを通知されたのであれば、ユーザセッション管理部12は、該当する仮想マシン21の利用状況情報を、利用中であることを表す情報に更新する。一方、ログオフを通知されたのであれば、ユーザセッション管理部12は、該当する仮想マシン21の利用状況情報を、利用可能であることを表す情報に更新する。
 また、ユーザセッション管理部12は、通知された接続状態に基づいて、通知されたユーザについての有効プロファイル所在情報を、通知元の仮想マシン21を表す情報に更新する(ステップB4)。
 以上で、シンクライアントシステム1は、更新動作を終了する。
 次に、本発明の第1の実施の形態の効果について述べる。
 本発明の第1の実施の形態は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制することができる。
 その理由について述べる。本実施の形態では、接続管理装置が、各仮想マシンが利用中であるか否かを表す利用状況情報と、シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存する仮想マシンを表す有効プロファイル所在情報とを保存する。そして、接続管理装置の仮想マシン選択部が、利用状況情報および有効プロファイル所在情報に基づいて、シンクライアント端末からログオンを要求するユーザに割り当てる仮想マシンを選択する。そして、接続管理装置のユーザセッション管理部が、シンクライアント端末に対して仮想マシン選択部によって選択されたマシンを通知することにより、シンクライアント端末から該当するユーザを該当する仮想マシンにログオンさせるからである。さらに、接続管理装置のユーザセッション管理部が、ユーザの仮想マシンへの接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新するからである。そして、仮想マシンは、ログオンするユーザの有効なユーザプロファイルが自装置にあれば再利用し、なければユーザプロファイル格納装置から取得するからである。
 このように、本実施の形態は、シンクライアントシステムにログオンを要求するユーザに対して、そのユーザの最新のユーザプロファイルが残っている仮想マシンを優先的にユーザに割り当てることができる。したがって、本実施の形態は、ユーザがログオンした仮想マシンにおいて、そのユーザの有効なユーザプロファイルを再利用できる可能性を高くする。その結果、本実施の形態は、ユーザのログオン時に、そのユーザのユーザプロファイルをユーザプロファイル格納装置から仮想マシンにコピーする処理の発生を少なくすることができ、ログオンストームの発生を抑制することができる。
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
 まず、本発明の第2の実施の形態としてのシンクライアントシステム2の構成を図5に示す。図5において、シンクライアントシステム2は、本発明の第1の実施の形態としてのシンクライアントシステム1に対して、シンクライアント端末110に替えてシンクライアント端末120を備える。また、シンクライアントシステム2は、接続管理装置10に替えて接続管理装置30と、仮想マシン稼働装置20に替えて仮想マシン稼働装置40とを備える。仮想マシン稼働装置40上では、1つ以上の仮想マシン41が動作する。さらに、シンクライアントシステム2は、ユーザ情報管理装置320を備える。各装置は、ネットワークを介して通信可能に接続される。
 なお、シンクライアント端末120、接続管理装置30および仮想マシン稼働装置40は、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。また、ユーザ情報管理装置320は、CPU、メモリ、および、ネットワークインタフェースを含むコンピュータ装置によって構成可能である。この場合、CPUは、メモリに格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、ユーザ情報管理装置320の機能を実現する。なお、シンクライアントシステム2のハードウェア構成は、上述の構成に限定されない。
 シンクライアント端末120は、シンクライアントシステム2にログオンを要求するユーザの認証情報を取得する。認証情報は、例えば、ユーザIDおよびパスワードを含む。ユーザの認証情報は、例えば、入力装置1004から入力される。また、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する。
 また、シンクライアント端末120は、接続管理装置30から仮想マシン41を表す情報を受信する。また、シンクライアント端末120は、受信した情報の示す仮想マシン41に認証情報を送信する。仮想マシン41による認証が成功すると、シンクライアント端末120は仮想マシン41に接続され、ユーザがログオンした状態となる。
 ユーザ情報管理装置320は、ユーザ情報を格納している。ユーザ情報は、シンクライアントシステム2の各ユーザについて、ユーザプロファイル格納装置210上でのユーザプロファイルの格納位置を表す情報を含む。また、ユーザ情報は、各ユーザがシンクライアントシステム2を利用する際の認証情報(ユーザ名およびパスワード等)を含んでいてもよい。また、シンクライアントシステム2を利用するユーザがグループに分けられて管理される場合、ユーザ情報は、各ユーザの所属するグループを表す情報を含んでいてもよい。
 ユーザ情報管理装置320に格納されるユーザ情報の一例を図6に示す。図6において、ユーザ情報は、ユーザ名、ユーザプロファイルの格納位置、パスワード、および、ユーザグループ名をそれぞれ表す情報を含んでいる。例えば、1行目は、ユーザ「User10」は、ユーザグループ「UserGroup1」に属し、パスワードが「pwuser10」であり、ユーザプロファイルが「\\FileSrv\Profiles\User10」に格納されていることを示している。なお、ユーザ「User10」とは、ユーザ名として「User10」を利用するユーザをいうものとする。
 また、ユーザ情報管理装置320は、接続管理装置30または仮想マシン41から認証情報を用いた問い合わせを受信する。また、ユーザ情報管理装置320は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれる情報を返信する。例えば、ユーザ情報管理装置320は、接続管理装置30から、ユーザの認証情報に対応するユーザグループの問い合わせを受信する。この場合、ユーザ情報管理装置320は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれるユーザグループを返信する。また、例えば、ユーザ情報管理装置320は、仮想マシン41から、ユーザの認証情報に対応するユーザプロファイルの格納位置の問い合わせを受信する。この場合、ユーザ情報管理装置320は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれるユーザプロファイルの格納位置を返信する。
 また、図5に示すように、接続管理装置30は、仮想マシン選択部31と、ユーザセッション管理部32とを有する。
 仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報、および、グループ設定情報を参照することにより、ログオンを要求するユーザに割り当てる仮想マシン41を選択する。
 利用状況情報は、本発明の第1の実施の形態における利用状況情報と同一の情報に加えて、仮想マシングループを表す情報を含む。本実施の形態では、仮想マシン41は、グループに分けられて管理されることを想定する。利用状況情報の一例を図7に示す。図7において、利用状況情報は、仮想マシン名、仮想マシングループ名、および、利用中であるか否かを表す情報を含んでいる。例えば、1行目は、仮想マシン41「Vpc10」は、仮想マシングループ「VpcGroup1」に属し、いずれかのユーザによって「利用中」であることを示している。なお、仮想マシン41「Vpc10」とは、仮想マシン名として「Vpc10」を有する仮想マシン41をいうものとする。また、2行目は、仮想マシン41「Vpc11」は、仮想マシングループ「VpcGroup1」に属し、いずれのユーザによっても利用中ではなく「利用可能」であることを示している。なお、利用状況情報には、5行目に示すように、仮想マシン41について「利用不可」であることを示す情報が含まれていてもよい。このように、いずれかのユーザによって利用中であるか否かとは異なる外部の要因により利用できない仮想マシン41についての利用状況情報は、外部の機能ブロックにより「利用不可」に設定されていてもよい。
 有効プロファイル所在情報は、本発明の第1の実施の形態における有効プロファイル所在情報と同一の情報に加えて、使用時刻を表す情報を含む。使用時刻は、そのユーザが、そのユーザの有効なユーザプロファイルを保存する仮想マシン41において、その有効なユーザプロファイルを使用したことが確認された最新の時刻を表す。実際には、使用時刻としては、ログイン時刻やログオフ時刻に準ずる時刻が記録される。有効プロファイル所在情報の一例を図8に示す。図8において、有効プロファイル所在情報は、ユーザ名、有効なユーザプロファイルのある仮想マシン名、および、使用時刻をそれぞれ表す情報を含んでいる。例えば、1行目は、ユーザ「User10」の有効なユーザプロファイルがある仮想マシン41は「Vpc10」であり、その使用時刻は「2014/05/30 18:30:00.000」であることを示している。
 グループ設定情報は、ユーザグループと、そのユーザグループに属するユーザによって使用可能な仮想マシングループとの対応関係を表す情報を含む。グループ設定情報の一例を図9に示す。図9において、グループ設定情報は、ユーザグループ名および仮想マシングループ名を含む。例えば、1行目は、ユーザグループ「UserGroup1」に所属するユーザは、仮想マシングループ「VpcGroup1」に属する仮想マシン41を利用できることを示している。ここで、ユーザグループ「UserGroup1」とは、ユーザグループ名が「UserGroup1」のユーザグループをいうものとする。また、仮想マシングループ「VpcGroup1」とは、仮想マシングループ名が「VpcGroup1」の仮想マシングループをいうものとする。なお、本実施の形態では、前述したように、ユーザおよび仮想マシン41がグループ管理されることを想定している。ただし、グループ設定情報は、ユーザおよび仮想マシン41がグループ管理されない場合は省略可能な設定情報である。
 仮想マシン選択部31は、グループ設定情報を参照することにより、ログオンを要求するユーザのユーザグループに対応する仮想マシングループを特定する。そして、仮想マシン選択部31は、利用状況情報を参照することにより、特定した仮想マシングループに属する仮想マシン41のうち、利用可能な仮想マシン41を抽出する。そして、仮想マシン選択部31は、有効プロファイル所在情報を参照することにより、抽出した利用可能な仮想マシン41の中に、ログオンを要求するユーザについての有効なユーザプロファイルを保存する仮想マシン41があれば、その仮想マシン41を選択する。
 また、仮想マシン選択部31は、そのような有効なユーザプロファイルを保存する仮想マシン41がない場合、抽出した利用可能な仮想マシン41の中から、いずれのユーザについても有効なユーザプロファイルを保存していない仮想マシン41を選択する。そのような仮想マシン41は、有効プロファイル所在情報を参照することにより特定可能である。つまり、仮想マシン選択部31は、抽出した利用可能な仮想マシン41のうち、図8に一例を示した有効プロファイル所在情報において「有効なユーザプロファイルのある仮想マシン」の列に含まれていない仮想マシン41を選択すればよい。
 ここで、該当する複数の仮想マシン41、すなわち、いずれのユーザについても有効なユーザプロファイルを保存していない複数の仮想マシン41があるとする。このような場合、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、最初に、「いずれのユーザについても有効なユーザプロファイルを保存していない」ことを確認した仮想マシン41を選択してもよい。
 あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、直近の使用時刻に基づく条件を用いて、仮想マシン41を選択してもよい。この場合、直近の使用時刻は、有効プロファイル所在情報の記録を参照することにより特定可能である。具体的には、仮想マシン選択部31は、該当する複数の仮想マシン41のそれぞれについて、図8に示した有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」に記録のある行を検索し、対応する「使用時刻」を求めればよい。もし、「有効なユーザプロファイルのある仮想マシン」に複数の記録がある仮想マシン41の場合、対応する「使用時刻」のうち最も新しい使用時刻を、その仮想マシン41の直近の使用時刻とすればよい。
 また、この場合、仮想マシン選択部31は、直近の使用時刻に基づく複数の選択条件を設定してもよい。具体的には、以下のように段階的な条件を設定してもよい。
・条件1:直近の使用時刻より現在までの経過時間がt1以上の仮想マシンのうち、直近の使用時刻が最も古い仮想マシンを選択(ただし、t1は正数)
・条件2:直近の使用時刻より現在までの経過時間がt1より少なくt2以上の仮想マシンのうち、直近の使用時刻が最も新しい仮想マシンを選択(ただし、t2は正数かつt1>t2)
・条件3:直近の使用時刻より現在までの経過時間がt2以上の仮想マシンが無い場合、直近の使用時刻が最も古い仮想マシンを選択
この例の場合、仮想マシン選択部31は、条件1で選択を行い、条件1に当てはまる仮想マシンが無かった場合に条件2で選択を行い、条件2に当てはまる仮想マシンが無かった場合に条件3で選択を行う。このように、直近の使用時刻から現在までの経過時間によって、選択条件を変化させることで、運用の実情に合わせた多様な選択条件を設定することができる。
 あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、その仮想マシン41が動作している仮想マシン稼働装置40の負荷に基づく条件で仮想マシン41を選択してもよい。あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、その仮想マシン41が用いているストレージの負荷に基づく条件で仮想マシン41を選択してもよい。あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41からランダムに1つを選択してもよい。あるいは、仮想マシン選択部31は、上述した選択条件を組み合わせて1つの仮想マシン41を選択してもよい。
 なお、抽出された利用可能な仮想マシン41中に、該当するユーザの有効なユーザプロファイルを保存する仮想マシン41がない場合で、さらに、いずれのユーザについても有効なユーザプロファイルを保存していない仮想マシン41がない場合も想定される。すなわち、抽出された利用可能な仮想マシン41はいずれも、該当するユーザ以外のいずれかのユーザについて有効なユーザプロファイルを保存している場合である。このような場合、仮想マシン選択部31は、抽出した利用可能な仮想マシン41の中からいずれか1つを選択すればよい。
 なお、この場合、仮想マシン選択部31は、抽出した利用可能な仮想マシン41の中から、上述した直近の使用時刻に基づく条件を用いて、仮想マシン41を選択してもよい。あるいは、上述したように、仮想マシン選択部31は、仮想マシン稼働装置40の負荷に基づき選択、ストレージの負荷に基づき選択、ランダムに選択、または、複数の選択条件を組合せて選択等の手法により、いずれか1つの仮想マシン41を選択すればよい。
 ユーザセッション管理部32は、シンクライアントシステム2にログオンを要求するユーザの認証情報を、シンクライアント端末120から取得する。また、ユーザセッション管理部32は、取得した認証情報を用いてユーザ情報管理装置320に問い合わせることにより、該当するユーザのユーザグループを取得する。また、ユーザセッション管理部32は、該当するユーザに対して割り当てる仮想マシン41を、仮想マシン選択部31を用いて決定する。
 また、ユーザセッション管理部32は、本発明の第1の実施の形態におけるユーザセッション管理部12と同様に、決定した仮想マシン41を表す情報を、シンクライアント端末120に通知する。
 また、ユーザセッション管理部32は、不要なユーザプロファイルの削除を要求する対象となる仮想マシン41に対して、不要なユーザプロファイルの削除を要求する。以降、削除を要求する対象を、削除要求対象とも記載する。具体的には、ユーザセッション管理部32は、削除要求対象の仮想マシン41上に保存されている有効なユーザプロファイルのユーザを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知する。また、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、不要なユーザプロファイルの削除処理を要求する。例えば、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、削除の要求を表す情報と共に、除外ユーザを表す情報を送信すればよい。
 なお、本実施の形態では、ログオンを要求するユーザに仮想マシン41を割り当てるタイミングで、割り当てた仮想マシン41に対して削除処理を要求するものとする。つまり、本実施の形態では、仮想マシン選択部31によって選択された仮想マシン41を、削除要求対象とする。この場合、ユーザセッション管理部32は、除外ユーザとして、ログオンを要求するユーザを加える。そして、ユーザセッション管理部32は、選択された仮想マシン41に対して、削除要求対象の仮想マシン41上に保存されている有効なユーザプロファイルのユーザと、ログオンを要求するユーザとを除外ユーザとして、削除処理を要求すればよい。
 ここで、もし、ログオンを要求するユーザの有効なユーザプロファイルを保存する仮想マシン41が選択されていたとする。この場合、「選択した仮想マシン41上に保存されている有効なユーザプロファイルのユーザ」は、ログオンを要求するユーザと同一である。したがって、この場合、ユーザセッション管理部32は、除外ユーザを特定する処理を省略することも可能である。一方、もし、ログオンを要求するユーザの有効なユーザプロファイルを保存する仮想マシン41が利用可能な仮想マシン41中になく、他の仮想マシン41が選択されていたとする。この場合、選択した仮想マシン41上に保存されている有効なユーザプロファイルのユーザは、ログオンを要求するユーザと同一ではない。したがって、この場合、除外ユーザを特定する処理が必要となる。あるいは、もし、ログオンを要求するユーザの有効なユーザプロファイルを保存する仮想マシン41が利用可能な仮想マシン41中になく、いずれのユーザの有効なユーザプロファイルも保存しない仮想マシン41が選択されていたとする。この場合、選択した仮想マシン41上には有効なユーザプロファイルが保存されていないことがわかっている。したがって、この場合、ユーザセッション管理部32は、除外ユーザを特定する処理を省略することも可能である。
 また、図5に示すように、仮想マシン41は、ユーザプロファイル管理部42と、ユーザ接続監視部23とを有する。
 ユーザプロファイル管理部42は、シンクライアント端末120からユーザの認証情報を取得する。また、ユーザプロファイル管理部42は、取得した認証情報を用いてユーザ情報管理装置320に問い合わせることにより、該当するユーザのユーザプロファイルの格納位置を取得する。そして、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210または自装置上から、該当するユーザのユーザプロファイルを取得する。
 具体的には、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上の該当する格納位置にあるユーザプロファイルのタイムスタンプを取得する。また、ユーザプロファイル管理部42は、自装置上に保存されている該当するユーザのユーザプロファイルのタイムスタンプを取得する。そして、ユーザプロファイル管理部42は、より新しいほうのユーザプロファイルを取得すればよい。なお、タイムスタンプが同一であれば、ユーザプロファイル管理部42は、自装置上のユーザプロファイルを再利用する。
 また、ユーザプロファイル管理部42は、接続管理装置30から、不要なユーザプロファイルの削除の要求を受信する。そして、ユーザプロファイル管理部42は、自装置にログオン中のユーザ、ログオン要求中のユーザ、および、通知された除外ユーザ以外について、保存している不要なユーザプロファイルを削除する。なお、シンクライアントシステム2にシンクライアント端末120からログオンするよう設定されたユーザ以外のユーザのユーザプロファイルは、削除対象から除外される。
 以上のように構成されたシンクライアントシステム2の動作について、図面を参照して説明する。
 まず、シンクライアントシステム2が、シンクライアント端末120から仮想マシン41への接続を制御する動作の概略を図10に示す。
 図10では、まず、シンクライアント端末120は、ログオンを要求するユーザの認証情報を取得し、接続管理装置30に送信する(ステップA11)。
 次に、接続管理装置30のユーザセッション管理部32は、受信した認証情報に対応するユーザグループ名を、ユーザ情報管理装置320から取得する(ステップB11)。
 次に、仮想マシン選択部31は、認証情報の示すユーザに割り当てる仮想マシン41を、利用状況情報、有効プロファイル所在情報およびグループ設定情報を参照することにより選択する(ステップB12)。このステップの詳細については後述する。
 次に、ユーザセッション管理部32は、ステップB12で選択された仮想マシン41に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。このステップの詳細については後述する。
 次に、削除の要求を受けた仮想マシン41では、ユーザプロファイル管理部42は、不要なユーザプロファイルの削除を行う(ステップC11)。このステップの詳細については後述する。
 次に、ユーザセッション管理部32は、ステップB12で選択された仮想マシン41を表す情報を、シンクライアント端末120に通知する(ステップB14)。
 次に、シンクライアント端末120は、通知された情報の示す仮想マシン41に対して、ステップA11で取得した認証情報による接続を要求する(ステップA12)。
 次に、仮想マシン41のユーザプロファイル管理部42は、自装置に接続を要求しているユーザの認証情報に対応するユーザプロファイルの格納位置を、ユーザ情報管理装置320から取得する(ステップC12)。
 次に、ユーザプロファイル管理部42は、ステップC12で取得した格納位置にあるユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプと、自装置上の該当ユーザのユーザプロファイルのタイムスタンプとを比較する(ステップC13)。
 ここで、自装置上のユーザプロファイルのタイムスタンプが、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプと同一であるか、または、より新しかった場合について説明する。この場合、ユーザプロファイル管理部42は、自装置上のユーザプロファイルを再利用して、ユーザをログオンさせる(ステップC14)。
 一方、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプのほうが新しい場合について説明する。なお、自装置上に該当するユーザのユーザプロファイルがなければ、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプのほうが新しいと判断するものとする。この場合、ユーザプロファイル管理部42は、ステップC12で取得したユーザプロファイル格納装置210上の格納位置から、ユーザプロファイルを取得して、ユーザをログオンさせる(ステップC15)。
 また、その後、ユーザがログオフする場合、シンクライアントシステム2は、ステップA3、C4を、本発明の第1の実施の形態と同様に実行する。これにより、このユーザが仮想マシン41上で利用していたユーザプロファイルは、仮想マシン41上に保存されるとともに、ユーザプロファイル格納装置210にコピーされる。
 以上で、シンクライアントシステム2は、接続を制御する動作を終了する。
 次に、シンクライアントシステム2が、利用状況情報および有効プロファイル所在情報を更新する動作について説明する。シンクライアントシステム2による利用状況情報および有効プロファイル所在情報の更新動作は、図4を参照して説明した本発明の第1の実施の形態における更新動作と略同様である。ただし、ステップB4における有効プロファイル所在情報の更新動作の詳細が異なる。
 ステップB4において、ユーザセッション管理部32は、接続状態を通知されたユーザの有効プロファイル所在情報において、「有効なユーザプロファイルのある仮想マシン」の情報を、通知元の仮想マシン41を表す情報に更新する。さらに、ユーザセッション管理部32は、接続状態を通知されたユーザの有効プロファイル所在情報において、「使用時刻」の情報を更新する。ここで、更新する使用時刻は、この処理の実行時点での現在時刻であってもよい。あるいは、更新する使用時刻は、仮想マシン41において接続状態の変化が検出された時刻であってもよい。その場合、ステップC7において、仮想マシン41のユーザ接続監視部23は、接続状態およびユーザを表す情報に加えて検出時刻を、接続管理装置30に対して通知すればよい。
 次に、図10のステップB12において接続管理装置30が、仮想マシンを選択する動作の詳細について、図11を参照して説明する。
 図11では、まず、接続管理装置30の仮想マシン選択部31は、グループ設定情報を参照することにより、ステップB11で特定されたユーザグループに対応する仮想マシングループを特定する(ステップB21)。
 次に、仮想マシン選択部31は、利用状況情報を参照することにより、ステップB21で特定した仮想マシングループに属する仮想マシン41のうち利用可能であるものを抽出する(ステップB22)。
 次に、仮想マシン選択部31は、有効プロファイル所在情報を参照することにより、ステップB22で抽出した仮想マシン41の中に、認証情報の示すユーザについて有効なユーザプロファイルを保存するものがあるか否かを判断する(ステップB23)。
 ここで、該当ユーザについて有効なユーザプロファイルを保存する仮想マシン41があると判断した場合について説明する。この場合、仮想マシン選択部31は、その仮想マシン41を選択する(ステップB24)。
 一方、該当ユーザについて有効なユーザプロファイルを保存する仮想マシン41がないと判断した場合について説明する。この場合、仮想マシン選択部31は、ステップB22で抽出した仮想マシン41の中に、いずれのユーザについても有効なユーザプロファイルを保存していないものがあるか否かを判断する(ステップB25)。
 ここで、いずれのユーザについても有効なユーザプロファイルを保存していないものがあると判断した場合について説明する。この場合、仮想マシン選択部31は、その仮想マシン41を選択する(ステップB26)。もし、該当する複数の仮想マシン41がある場合、仮想マシン選択部31は、そのうち1つを選択すればよい。選択の際には、前述のように、各仮想マシン41の直近の使用時刻に基づく条件、または、仮想マシン稼働装置40の負荷やストレージの負荷などに基づく条件が用いられてもよい。あるいは、前述のように、仮想マシン選択部31は、該当する複数の仮想マシン41からランダムに1つ選択してもよい。
 一方、いずれのユーザについても有効なユーザプロファイルを保存していないものが無いと判断した場合について説明する。つまり、ステップB22で抽出された仮想マシン41がいずれも、該当するユーザ以外のユーザの有効なユーザプロファイルを保存している場合である。この場合、仮想マシン選択部31は、ステップB22で抽出した仮想マシン41の中から1つを選択する(ステップB27)。もし、該当する複数の仮想マシン41がある場合、仮想マシン選択部31は、ステップS22で抽出した仮想マシン41の中から1つを選択すればよい。選択の際には、前述のように、各仮想マシン41の直近の使用時刻に基づく条件、または、仮想マシン稼働装置40の負荷やストレージの負荷などに基づく条件が用いられてもよい。あるいは、前述のように、仮想マシン選択部31は、該当する複数の仮想マシン41からランダムに1つ選択してもよい。
 以上で、ステップB12における動作の詳細な説明を終了する。
 次に、図10のステップB13において接続管理装置30が、不要なユーザプロファイルの削除を要求する動作の詳細について、図12を参照して説明する。
 図12では、まず、接続管理装置30のユーザセッション管理部32は、有効プロファイル所在情報を参照することにより、削除要求対象の仮想マシン41に保存される有効なユーザプロファイルのユーザを特定する(ステップB31)。ここでは、削除要求対象の仮想マシン41には、ステップB12で選択された仮想マシン41が適用される。
 次に、ユーザセッション管理部32は、受信した認証情報の示すユーザと、ステップB31で特定したユーザとを除外ユーザとする。そして、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、除外ユーザの情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
 以上で、ステップB13における動作の詳細な説明を終了する。
 次に、図10のステップC11において仮想マシン41が、不要なユーザプロファイルを削除する動作の詳細について、図13を参照して説明する。
 図13では、まず、仮想マシン41のユーザプロファイル管理部42は、接続管理装置30から通知された除外ユーザの情報を取得する(ステップC31)。
 次に、ユーザプロファイル管理部42は、自装置にログオン中のユーザ一覧を取得する(ステップC32)。
 次に、ユーザプロファイル管理部42は、自装置に保存されているユーザプロファイルのうち、未処理のものがあるか否かを判断する(ステップC33)。
 ここで、未処理のユーザプロファイルがなければ、ユーザプロファイル管理部42は、削除動作を終了する。
 一方、未処理のユーザプロファイルがある場合について説明する。この場合、ユーザプロファイル管理部42は、そのうち1つのユーザプロファイルについて、移動ユーザプロファイルであるか否かを判断する(ステップC34)。
 なお、移動ユーザプロファイルであるとは、ユーザプロファイル管理装置40との間で送受信されるユーザプロファイルであることをいう。仮想マシン41は、例外的なユーザ(ゲストユーザ、テストユーザや管理ユーザ等)のユーザプロファイルについては、移動ユーザプロファイルとしてではなく、自装置に保存している場合もある。
 ここで、移動ユーザプロファイルでない場合、ユーザプロファイル管理部42は、残りの未処理のユーザプロファイルについて、ステップC33からの処理を繰り返す。
 一方、移動ユーザプロファイルである場合、ユーザプロファイル管理部42は、このユーザプロファイルのユーザが、ステップC31で取得された除外ユーザまたはステップC32で取得されたログオン中のユーザであるか否かを判断する(ステップC35)。
 ここで、除外ユーザまたはログオン中のユーザのユーザプロファイルであれば、ユーザプロファイル管理部42は、残りの未処理のユーザプロファイルについて、ステップC33からの処理を繰り返す。
 一方、除外ユーザまたはログオン中のユーザのユーザプロファイルでなければ、ユーザプロファイル管理部42は、このユーザプロファイルを削除する(ステップC36)。
 そして、ユーザプロファイル管理部42は、残りの未処理のユーザプロファイルについて、ステップC33からの処理を繰り返す。
 以上で、ステップC11における動作の詳細な説明を終了する。
 次に、シンクライアントシステム2の動作の具体例について説明する。
 <具体例1>
 まず、ユーザ「User10」が仮想マシン41への接続を行う場合について、図10~図13、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図7に示した利用状況情報と、図8に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保存しているものとする。
 まず、シンクライアント端末120は、認証情報として、ユーザ名「User10」およびパスワード「pwuser10」を、入力装置1004から取得する。
 そして、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する(図10、ステップA11)。
 次に、接続管理装置30のユーザセッション管理部32は、シンクライアント端末120から認証情報として、ユーザ名「User10」およびパスワード「pwuser10」を取得する。
 そして、ユーザセッション管理部32は、この認証情報をユーザ情報管理装置320に送信し、図6において対応するユーザ情報として、ユーザグループ名「UserGroup1」を取得する(ステップB11)。
 次に、仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User10」に割り当てる仮想マシン41を選択する(ステップB12)。
 具体的には、仮想マシン選択部31は、図9に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する(図11、ステップB21)。
 次に、仮想マシン選択部31は、図7に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン41のうち、利用可能な仮想マシン41として、「Vpc11」、「Vpc12」、「Vpc13」を抽出する(ステップB22)。
 次に、仮想マシン選択部31は、図8に示す有効プロファイル所在情報を参照して、ユーザ「User10」の有効なユーザプロファイルを保存する仮想マシン41として「Vpc10」を取得する。そして、仮想マシン選択部31は、そのような仮想マシン41「Vpc10」が、利用可能な仮想マシン41「Vpc11」、「Vpc12」、「Vpc13」の中にないと判断する(ステップB23でNo)。
 そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc12」、「Vpc13」のうち、いずれのユーザの有効なユーザプロファイルも保存していない仮想マシン41があるか否かを判断する(ステップB25)。
 ここでは、図8の有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」の列に、「Vpc11」および「Vpc12」については記載があるが、「Vpc13」については記載がない。そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc12」、「Vpc13」のうち、有効なユーザプロファイルを保存していない仮想マシン41として「Vpc13」があると判断する(ステップB25でYes)。
 そこで、仮想マシン選択部31は、そのような仮想マシン41から1つ選択する。ここでは、有効なユーザプロファイルを保存していない仮想マシン41が「Vpc13」の1つであったため、仮想マシン選択部31は、その「Vpc13」を選択すればよい(ステップB26)。
 このようにして、図10のステップB12において、仮想マシン41「Vpc13」が選択された。
 次に、ユーザセッション管理部32は、選択された仮想マシン41「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。
 具体的には、ユーザセッション管理部32は、図8の有効プロファイル所在情報を参照して、選択された仮想マシン41「Vpc13」に有効なユーザプロファイルが保存されるユーザを取得する(図12、ステップB31)。
 ここでは、仮想マシン41「Vpc13」は、いずれのユーザについても有効なユーザプロファイルを保存していない。そこで、ユーザセッション管理部32は、このステップではユーザを表す情報を取得しない。
 次に、ユーザセッション管理部32は、ステップB31で特定されたユーザが無いので、ログインを要求するユーザ「User10」を除外ユーザとする。そして、ユーザセッション管理部32は、選択された仮想マシン41「Vpc13」に対して、除外ユーザ「User10」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
 次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図10、ステップC11)。
 具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User10」の情報を取得する(図13、ステップC31)。
 次に、ユーザプロファイル管理部42は、自装置「Vpc13」にログオン中のユーザ一覧を取得する(ステップC32)。
 ここでは、ログオン中のユーザはいなかったものとする。
 次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「Administrator」のユーザプロファイルがあるとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部42は、「Administrator」のユーザプロファイルが移動ユーザプロファイルでないと判断する(ステップC34でNo)。
 そこで、ユーザプロファイル管理部42は、「Administrator」のユーザプロファイルを削除せず、ステップC33に戻る。
 次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)。
 このようにして、図10のステップC11において、選択された仮想マシン41「Vpc13」では、不要なユーザプロファイルが無いため削除は行われなかった。
 次に、接続管理装置30のユーザセッション管理部32は、選択された仮想マシン41「Vpc13」を、シンクライアント端末120に通知する(図10、ステップB14)。
 次に、シンクライアント端末120は、通知された仮想マシン41「Vpc13」に対して、認証情報としてユーザ名「User10」およびパスワード「pwuser10」を送信して、接続を要求する(ステップA12)。
 次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、シンクライアント端末120から認証情報を取得する。そして、ユーザプロファイル管理部42は、ユーザ情報管理装置320から、図6においてユーザ「User10」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User10」を取得する(ステップC12)。
 次に、ユーザプロファイル管理部42は、自装置上にこのユーザ「User10」のユーザプロファイルが無いので、ユーザプロファイル格納装置210上のユーザプロファイルが新しいと判断する(ステップC13で「ユーザプロファイル格納装置」)。
 そこで、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上の「\\FileSrv\Profiles\User10」からユーザプロファイルをコピーして、「User10」をログオンさせる(ステップC15)。
 次に、仮想マシン41「Vpc13」のユーザ接続監視部23は、自装置にユーザ「User10」がログオンしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
 そこで、ユーザ接続監視部23は、接続状態として、仮想マシン41「Vpc13」にユーザ「User10」がログオンしたことを、接続管理装置30に通知する(ステップC7)。
 次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc13」についての利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図7の4行目において、「利用状況」を「利用中」に更新する(ステップB3)。
 これにより、利用状況情報は、図7に示す内容から図14に示す内容に更新される。
 また、ユーザセッション管理部32は、該当するユーザ「User10」についての有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図8の1行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc13」に更新する。また、ユーザセッション管理部32は、図8の1行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 08:30:00.000」に更新する。
 これにより、有効プロファイル所在情報は、図8に示す内容から図15に示す内容に更新される。
 <具体例2>
 次に、ユーザ「User11」が仮想マシン41への接続を行う場合について、図10~図13、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図14に示した利用状況情報と、図15に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保存しているものとする。
 まず、シンクライアント端末120は、認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を、入力装置1004から取得する。
 そして、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する(図10、ステップA11)。
 次に、接続管理装置30のユーザセッション管理部32は、シンクライアント端末120から認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を取得する。
 そして、ユーザセッション管理部32は、この認証情報をユーザ情報管理装置320に送信し、図6において対応するユーザ情報としてユーザグループ名「UserGroup1」を取得する(ステップB11)。
 次に、仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User11」に割り当てる仮想マシン41を選択する(ステップB12)。
 具体的には、仮想マシン選択部31は、図9に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する(図11、ステップB21)。
 次に、仮想マシン選択部31は、図14に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン41のうち、利用可能な仮想マシン41として、「Vpc11」、「Vpc12」を抽出する(ステップB22)。
 次に、仮想マシン選択部31は、図15に示す有効プロファイル所在情報を参照して、ユーザ「User11」の有効なユーザプロファイルを保存する仮想マシン41として「Vpc12」を取得する。そして、仮想マシン選択部31は、そのような仮想マシン41「Vpc12」が、利用可能な仮想マシン41「Vpc11」、「Vpc12」の中にあると判断する(ステップB23でYes)。
 そこで、仮想マシン選択部31は、その「Vpc12」を選択する(ステップB24)。
 このようにして、図10のステップB12において、仮想マシン41「Vpc12」が選択された。
 次に、ユーザセッション管理部32は、選択された仮想マシン41「Vpc12」に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。
 具体的には、ユーザセッション管理部32は、図15の有効プロファイル所在情報を参照して、選択された仮想マシン41「Vpc12」に有効なユーザプロファイルが保存されるユーザ「User11」を取得する(図12、ステップB31)。なお、ここでは、取得されたユーザ「User11」は、ログインを要求するユーザ「User11」と同一である。
 そこで、ユーザセッション管理部32は、ステップB31で特定されたユーザ「User11」であり、ログインを要求するユーザである「User11」を、除外ユーザとする。そして、ユーザセッション管理部32は、選択された仮想マシン41「Vpc12」に対して、除外ユーザ「User11」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
 次に、仮想マシン41「Vpc12」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図10、ステップC11)。
 具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User11」の情報を取得する(図13、ステップC31)。
 次に、ユーザプロファイル管理部42は、自装置「Vpc12」にログオン中のユーザ一覧を取得する(ステップC32)。
 ここでは、ログオン中のユーザはいなかったものとする。
 次に、ユーザプロファイル管理部42は、自装置「Vpc12」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「TestUser1」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部42は、「TestUser1」が、除外ユーザ「User11」でなく、ログオン中のユーザでないと判断する(ステップC35でNo)。
 そこで、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルを削除する(ステップC36)。
 ステップC33に戻り、ユーザプロファイル管理部42は、自装置「Vpc12」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User11」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部42は、「User11」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部42は、「User11」が、除外ユーザ「User11」であると判断する(ステップC35でYes)。
 そこで、ユーザプロファイル管理部42は、このユーザプロファイルを削除せず、ステップC33に戻る。
 次に、ユーザプロファイル管理部42は、自装置「Vpc12」に保存されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)。
 このようにして、図10のステップC11において、選択された仮想マシン41「Vpc12」では、不要な「TestUser1」のユーザプロファイルが削除された。
 次に、接続管理装置30のユーザセッション管理部32は、選択された仮想マシン41「Vpc12」を、シンクライアント端末120に通知する(ステップB14)。
 次に、シンクライアント端末120は、通知された仮想マシン41「Vpc12」に対して、認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を送信して接続を要求する(ステップA12)。
 次に、仮想マシン41「Vpc12」のユーザプロファイル管理部42は、シンクライアント端末120から認証情報を取得する。そして、ユーザプロファイル管理部42は、ユーザ情報管理装置320から、図6においてユーザ「User11」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User11」を取得する(ステップC12)。
 次に、ユーザプロファイル管理部42は、ユーザ「User11」について、自装置上に保存されているユーザプロファイルのタイムスタンプと、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプとを比較する。そして、ユーザプロファイル管理部42は、自装置上のタイムスタンプが、ユーザプロファイル格納装置210上のタイムスタンプと同一であるかまたは新しいと判断する(ステップC13で「自装置」)。
 そこで、ユーザプロファイル管理部42は、自装置上の「User11」のユーザプロファイルを再利用して、「User11」をログオンさせる(ステップC14)。
 次に、仮想マシン41「Vpc12」のユーザ接続監視部23は、自装置にユーザ「User11」がログオンしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
 そこで、ユーザ接続監視部23は、接続状態として、仮想マシン41「Vpc12」にユーザ「User11」がログオンしたことを、接続管理装置30に通知する(ステップC7)。
 次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc12」の利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図14の3行目において、「利用状況」を「利用中」に更新する(ステップB3)。
 これにより、利用状況情報は、図14に示す内容から図16に示す内容に更新される。
 また、ユーザセッション管理部32は、該当するユーザ「User11」の有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図15の2行目において、「有効なユーザプロファイルのある仮想マシン」については、既に「Vpc12」となっているので、そのままとする。また、ユーザセッション管理部32は、図15の2行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 19:30:00.000」に更新する。
 これにより、有効プロファイル所在情報は、図15に示す内容から図17に示す内容に更新される。
 <具体例3>
 次に、ユーザ「User10」が仮想マシン41「Vpc13」からログオフする場合について、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図16に示した利用状況情報と、図17に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保存しているものとする。
 まず、シンクライアント端末120は、ユーザ「User10」のログオフを表す情報を取得し、仮想マシン41「Vpc13」に対して切断を要求する(図10のステップA3)。
 次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、自装置からのログオフに伴い、ユーザ「User10」のユーザプロファイルを保存する。そして、ユーザプロファイル管理部42は、ユーザ「User10」のユーザプロファイルを、ユーザプロファイル格納装置210の「\\FileSrv\Profiles\User10」の格納位置にコピーする(ステップC4)。
 また、仮想マシン41「Vpc13」のユーザ接続監視部23は、自装置からユーザ「User10」がログオフしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
 そこで、ユーザ接続監視部23は、接続状態として、仮想マシン41「Vpc13」からユーザ「User10」がログオフしたことを、接続管理装置30に通知する(ステップC7)。
 次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc13」についての利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図16の4行目において、「利用状況」を「利用可能」に更新する(ステップB3)。
 これにより、利用状況情報は、図16に示す内容から図18に示す内容に更新される。
 また、ユーザセッション管理部32は、該当するユーザ「User10」についての有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図17の1行目において、「有効なユーザプロファイルのある仮想マシン」については、既に「Vpc13」となっているので、そのままとする。また、ユーザセッション管理部32は、図17の1行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 20:00:00.000」に更新する。
 これにより、有効プロファイル所在情報は、図17に示す内容から図19に示す内容に更新される。
 <具体例4>
 次に、ユーザ「User14」が仮想マシン41への接続を行う場合について、図10~図13、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図18に示した利用状況情報と、図19に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保存しているものとする。
 まず、シンクライアント端末120は、認証情報として、ユーザ名「User14」およびパスワード「pwuser14」を、入力装置1004から取得する。
 そして、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する(図10、ステップA11)。
 次に、接続管理装置30のユーザセッション管理部32は、シンクライアント端末120から認証情報として、ユーザ名「User14」およびパスワード「pwuser14」を取得する。
 そして、ユーザセッション管理部32は、この認証情報をユーザ情報管理装置320に送信し、図6において対応するユーザ情報としてユーザグループ名「UserGroup1」を取得する(ステップB11)。
 次に、仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User14」に割り当てる仮想マシン41を選択する(ステップB12)。
 具体的には、仮想マシン選択部31は、図9に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する(図11、ステップB21)。
 次に、仮想マシン選択部31は、図18に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン41のうち、利用可能な仮想マシン41として、「Vpc11」、「Vpc13」を抽出する(ステップB22)。
 次に、仮想マシン選択部31は、図19に示す有効プロファイル所在情報を参照して、ユーザ「User14」の有効なユーザプロファイルを保存する仮想マシン41が無いと判断する。したがって、仮想マシン選択部31は、そのような仮想マシン41が、利用可能な仮想マシン41「Vpc11」、「Vpc13」の中にないと判断する(ステップB23でNo)。
 そこで、仮想マシン選択部31は、図19の有効プロファイル所在情報を参照して、利用可能な仮想マシン41「Vpc11」、「Vpc13」のうち、有効なユーザプロファイルを保存していない仮想マシン41があるか否かを判断する(ステップB25)。
 ここでは、図19の有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」の列に、「Vpc11」および「Vpc13」について共に記載がある。そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc13」のうち、有効なユーザプロファイルを保存していない仮想マシン41が無いと判断する(ステップB25でNo)。
 そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc13」の中から1つ選択する。
 ここでは、選択可能な複数の仮想マシン41がある場合の選択条件として、「直近の使用時刻が最も古い仮想マシン」という条件が設定されているものとする。そこで、仮想マシン選択部31は、図19の有効プロファイル所在情報を参照し、「Vpc11」の直近の使用時刻は「2014/06/01 07:30:00.000」であり、「Vpc13」の直近の使用時刻は、「2014/06/01 20:00:00.000」であることを求める。そこで、仮想マシン選択部31は、仮想マシン41「Vpc11」、「Vpc13」のうち直近の使用時刻が最も古い「Vpc11」を選択する(ステップB27)。
 このようにして、図10のステップB12において、仮想マシン41「Vpc11」が選択された。
 次に、ユーザセッション管理部32は、選択された仮想マシン41「Vpc11」に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。
 具体的には、ユーザセッション管理部32は、図19の有効プロファイル所在情報を参照して、選択された仮想マシン41「Vpc11」に有効なユーザプロファイルが保存されるユーザ「User12」を取得する(図12、ステップB31)。
 そこで、ユーザセッション管理部32は、ステップB31で特定されたユーザ「User12」と、ログインを要求するユーザである「User14」とを、除外ユーザとする。そして、ユーザセッション管理部32は、選択された仮想マシン41「Vpc11」に対して、除外ユーザ「User12」、「User14」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
 次に、仮想マシン41「Vpc11」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図10、ステップC11)。
 具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User12」、「User14」の情報を取得する(図13、ステップC31)。
 次に、ユーザプロファイル管理部42は、自装置「Vpc11」にログオン中のユーザ一覧を取得する(ステップC32)。
 ここでは、ログオン中のユーザはいなかったものとする。
 次に、ユーザプロファイル管理部42は、自装置「Vpc11」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User12」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部42は、「User12」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部42は、「User12」が、除外ユーザであると判断する(ステップC35でYes)。
 そこで、ユーザプロファイル管理部42は、「User12」のユーザプロファイルを削除せず、ステップC33に戻る。
 次に、ユーザプロファイル管理部42は、自装置「Vpc11」に保存されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)。
 このようにして、図10のステップC11において、選択された仮想マシン41「Vpc11」では、不要なユーザプロファイルが無いため削除は行われなかった。
 次に、接続管理装置30のユーザセッション管理部32は、選択された仮想マシン41「Vpc11」を、シンクライアント端末120に通知する(ステップB14)。
 次に、シンクライアント端末120は、通知された仮想マシン41「Vpc11」に対して、認証情報としてユーザ名「User14」およびパスワード「pwuser14」を送信して、接続を要求する(ステップA12)。
 次に、仮想マシン41「Vpc11」のユーザプロファイル管理部42は、シンクライアント端末120から認証情報を取得する。そして、ユーザプロファイル管理部42は、ユーザ情報管理装置320から、図6においてユーザ「User14」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User14」を取得する(ステップC12)。
 次に、ユーザプロファイル管理部42は、自装置上にこのユーザ「User14」のユーザプロファイルが無いので、ユーザプロファイル格納装置210上のユーザプロファイルが新しいと判断する(ステップC13で「ユーザプロファイル格納装置」)。
 そこで、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上の「\\FileSrv\Profiles\User14」からユーザプロファイルをコピーして、「User14」をログオンさせる(ステップC15)。
 次に、仮想マシン41「Vpc11」のユーザ接続監視部23は、自装置にユーザ「User14」がログオンしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
 そこで、ユーザ接続監視部23は、接続状態として、仮想マシン「Vpc11」にユーザ「User14」がログオンしたことを、接続管理装置30に通知する(ステップC7)。
 次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc11」の利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図18の2行目において、「利用状況」を「利用中」に更新する(ステップB3)。
 これにより、利用状況情報は、図18に示す内容から図20に示す内容に更新される。
 また、ユーザセッション管理部32は、該当するユーザ「User14」の有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図19の5行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc11」に更新する。また、ユーザセッション管理部32は、図19の5行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 20:30:01.000」に更新する。
 これにより、有効プロファイル所在情報は、図19に示す内容から図21に示す内容に更新される。
 以上で、シンクライアントシステム2の具体的な動作例の説明を終了する。
 次に、本発明の第2の実施の形態の効果について述べる。
 本発明の第2の実施の形態は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をさらに効果的に抑制することができる。
 その理由について述べる。本実施の形態では、本発明の第1の実施の形態と同様の構成に加え、接続管理装置の仮想マシン選択部が、利用可能な仮想マシンの中にログオンを要求するユーザの有効なユーザプロファイルを保存する仮想マシンがない場合、次のように構成されるからである。すなわち、この場合、仮想マシン選択部は、利用可能な仮想マシンの中でいずれのユーザの有効なユーザプロファイルも保存していない仮想マシンから1つを選択するからである。
 このように、本実施の形態は、あるユーザの有効なユーザプロファイルを保存する仮想マシンに他のユーザをログオンさせる可能性をより低くする。これにより、本実施の形態は、ログオンを要求するユーザの有効なユーザプロファイルを保存する仮想マシンが他のユーザにより利用中である可能性をより低くする。これにより、有効なユーザプロファイルが再利用される可能性がより高くなる。その結果、本実施の形態は、ログオンストームの発生をさらに効果的に抑制することができる。
 また、本発明の第2の実施の形態は、ユーザのユーザプロファイルを再利用できない場合にも、ユーザプロファイル格納装置からのコピーによるシステムの負荷の増大を抑制することができる。
 その理由は、接続管理装置の仮想マシン選択部が、選択可能な複数の仮想マシンがある場合、直近の使用時刻に基づく条件、仮想マシン稼働装置やストレージの負荷に基づく条件、または、それらの選択条件の組合せに基づき仮想マシンを1つ選択するからである。
 また、本発明の第2の実施の形態は、ログオンストームの発生を抑制するために各仮想マシンに保存させるユーザプロファイルについて、必要となる記憶容量の増大を抑制することができる。
 その理由について述べる。本実施の形態では、ユーザセッション管理部は、ユーザのログオン先として選択された仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。このとき、ユーザセッション管理部が、削除の要求先となる仮想マシン上に保存されている有効なユーザプロファイルを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部が、特定したユーザプロファイルを削除対象から除外するよう通知しながら、ログオン先として選択された仮想マシンに対して不要なユーザプロファイルの削除を要求するからである。そして、仮想マシンのユーザプロファイル管理部が、自装置にログオン中またはログオン要求中のユーザのユーザプロファイル、および、除外するよう通知されたユーザプロファイル以外で、不要なユーザプロファイルを削除するからである。
 これにより、本実施の形態は、仮想マシンに残っているユーザプロファイルのうち、最新でない(有効でない)ユーザプロファイルを削除する。そのため、本実施の形態は、保存するユーザプロファイルが増加して記憶装置の使用量が増大することを防ぐことができる。
 (第3の実施の形態)
 次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
 まず、本発明の第3の実施の形態としてのシンクライアントシステム3の構成を図22に示す。図22において、シンクライアントシステム3は、本発明の第2の実施の形態としてのシンクライアントシステム2に対して、接続管理装置30に替えて接続管理装置50を備える点が異なる。
 なお、接続管理装置50は、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。ただし、シンクライアントシステム3のハードウェア構成は、上述の構成に限定されない。
 接続管理装置50は、本発明の第2の実施の形態における接続管理装置30に対して、ユーザセッション管理部32に替えてユーザセッション管理部52を備える点が異なる。
 ユーザセッション管理部52は、本発明の第2の実施の形態におけるユーザセッション管理部32と略同様に構成される。ただし、不要なユーザプロファイルの削除を要求するタイミングが異なる。本発明の第2の実施の形態では、ユーザセッション管理部32は、不要なユーザプロファイルの削除の要求を、ユーザからログインが要求される時点で行っていた。本実施の形態では、ユーザセッション管理部52は、不要なユーザプロファイルの削除の要求を、ユーザのログオフ時に行う。
 これにより、仮想マシン41のユーザプロファイル管理部42は、ユーザのログオフ時に、不要なユーザプロファイルの削除処理を行うことになる。ただし、ユーザプロファイル管理部42は、接続管理装置50からの削除の要求に応じて削除処理を行えばよいので、本発明の第2の実施の形態と同一の構成を適用すればよい。
 以上のように構成されたシンクライアントシステム3が、シンクライアント端末120から仮想マシン41への接続を制御する動作を図23に示す。
 図23において、シンクライアントシステム3は、本発明の第2の実施の形態と略同様に接続を制御する動作を行う。ただし、接続管理装置50は、ステップB12で仮想マシン41を選択した後、ステップB13の不要なユーザプロファイルの削除を要求することなく、ステップB14の仮想マシン通知動作を実行する。また、仮想マシン41は、ユーザのログイン時には、ステップC11の不要なユーザプロファイルの削除処理を実行しない。
 次に、シンクライアントシステム3の利用状況情報および有効プロファイル所在情報の更新動作ならびに不要なユーザプロファイル削除動作を図24に示す。
 図24において、仮想マシン41は、ステップC5~C7まで、図4を参照して説明した本発明の第2の実施の形態における仮想マシン41と同様に動作する。これにより、ユーザの接続状態が接続管理装置50に通知される。
 次に、接続状態の通知を受けた接続管理装置50では、ユーザセッション管理部52は、ステップB3~B4まで、本発明の第2の実施の形態における接続管理装置30と同様に動作する。これにより、ユーザの接続状態の変化に応じて、利用状況情報および有効プロファイル所在情報が更新される。
 次に、ユーザセッション管理部52は、仮想マシン41から通知されたユーザの接続状態が、ログオフであったか否かを判断する(ステップB41)。
 ここで、ログオフであった場合、ユーザセッション管理部52は、本発明の第2の実施の形態と略同様に、ステップB13(図12のステップB31~B32)を実行する。
 ただし、本実施の形態では、ユーザセッション管理部52は、削除要求対象の仮想マシン41として、ログオフの通知元の仮想マシン41を適用する。そして、ユーザセッション管理部52は、ログオフの通知元の仮想マシン41に有効なユーザプロファイルが保存されるユーザを、有効プロファイル所在情報を参照することにより特定する(ステップB31)。
 次に、ユーザセッション管理部52は、ステップB31で特定したユーザを、除外ユーザとする。なお、本発明の第2の実施の形態におけるステップB32では、ユーザセッション管理部52は、除外ユーザとして、ステップB31で特定したユーザに「ログオンを要求するユーザ」を加えていた。本実施の形態では、ログオフ時の動作であるため、「ログオンを要求するユーザ」は無い。したがって、ユーザセッション管理部52は、ログオフの通知元の仮想マシン41に対して、ステップB31で特定したユーザを除外ユーザとして通知しながら、不要なユーザプロファイルの削除を要求する(ステップB32)。
 次に、仮想マシン41のユーザプロファイル管理部42は、本発明の第2の実施の形態と同様にステップC11(図13のステップC31~C36)を実行する。
 これにより、ログオン先の不要なユーザプロファイルが削除される。
 以上で、シンクライアントシステム3は、不要なユーザプロファイルを削除する動作を終了する。
 次に、シンクライアントシステム3の動作の具体例を示す。
 <具体例5>
 この例では、ユーザ「User10」が仮想マシン41「Vpc13」からログオフする場合について説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置50は、図16に示した利用状況情報と、図17に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保存しているものとする。
 まず、シンクライアントシステム3は、本発明の第2の実施の形態における具体例3と同様に、図23のステップA3~C4、図24のステップC5~C7、B3~B4まで動作する。これにより、ユーザ「User10」が仮想マシン41「Vpc13」からログオフする。そして、利用状況情報は、図16に示す内容から図18に示す内容に更新される。また、有効プロファイル所在情報は、図17に示す内容から図19に示す内容に更新される。
 次に、接続管理装置50のユーザセッション管理部52は、仮想マシン41「Vpc13」から通知されたユーザの接続状態が、ログオフであったと判断する(図24、ステップB41でYes)。
 そこで、ユーザセッション管理部52は、ログオフの通知元の仮想マシン41「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(図24、ステップB13)。
 具体的には、まず、ユーザセッション管理部52は、削除要求対象の仮想マシン41として、ログオフの通知元の仮想マシン41「Vpc13」を適用する。そして、ユーザセッション管理部52は、図19の有効プロファイル所在情報を参照することにより、仮想マシン41「Vpc13」に有効なユーザプロファイルが保存されるユーザ「User10」を特定する(図12、ステップB31)。
 次に、ユーザセッション管理部52は、「User10」を除外ユーザとして通知しながら、仮想マシン41「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(ステップB32)。
 次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図24、ステップC11)。
 具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User10」の情報を取得する(図13、ステップC31)。
 次に、ユーザプロファイル管理部42は、自装置「Vpc13」にログオン中のユーザ一覧を取得する(ステップC32)。
 ここでは、ログオン中のユーザはいなかったものとする。
 次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「TestUser1」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部42は、「TestUser1」が、除外ユーザ「User10」でなく、ログオン中でないと判断する(ステップC35でNo)。
 そこで、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルを削除する(ステップC36)。
 ステップC33に戻り、ユーザプロファイル管理部42は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User10」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部42は、「User10」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部42は、「User10」が、除外ユーザ「User10」であると判断する(ステップC35でYes)。
 そこで、ユーザプロファイル管理部42は、このユーザプロファイルを削除せず、ステップC33に戻る。
 次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)。
 このようにして、図24のステップC11において、仮想マシン41「Vpc13」では、ユーザ「User10」のログオフ直後に、不要な「TestUser1」のユーザプロファイルが削除された。
 以上で、シンクライアントシステム3の具体的な動作例の説明を終了する。
 次に、本発明の第3の実施の形態の効果について述べる。
 本発明の第3の実施の形態は、不要なユーザプロファイルの削除処理に起因して、ログオン時の仮想マシンの負荷が増大することを防止できる。
 その理由について説明する。本実施の形態では、接続管理装置のユーザセッション管理部が、ユーザのログオフ時に、それまでユーザがログオンしていた仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。
 これにより、本実施の形態では、仮想マシンが、不要なユーザプロファイルの削除処理をユーザのログイン時に実行することがない。そのため、本実施の形態は、ログイン時の仮想マシンの負荷が増大することを防止できる。
 (第4の実施の形態)
 次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第3の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
 まず、本発明の第4の実施の形態としてのシンクライアントシステム4の構成を図25に示す。図25において、シンクライアントシステム4は、本発明の第3の実施の形態としてのシンクライアントシステム3に対して、接続管理装置50に替えて接続管理装置60と、仮想マシン稼働装置40に替えて仮想マシン稼働装置70とを備える点が異なる。仮想マシン稼働装置70上では、1つ以上の仮想マシン71が動作する。各装置は、ネットワークを介して通信可能に接続される。
 なお、接続管理装置60および仮想マシン稼働装置70は、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。ただし、シンクライアントシステム4のハードウェア構成は、上述の構成に限定されない。
 接続管理装置60は、本発明の第3の実施の形態における接続管理装置50に対して、ユーザセッション管理部52に替えてユーザセッション管理部62を備える点が異なる。
 ユーザセッション管理部62は、本発明の第3の実施の形態におけるユーザセッション管理部52と略同様に構成される。ただし、不要なユーザプロファイルの削除を要求するタイミングおよび削除を要求する処理の詳細が異なる。
 本発明の第3の実施の形態では、ユーザセッション管理部52は、不要なユーザプロファイルの削除の要求を、ユーザのログオフ時に行っていた。本実施の形態では、ユーザセッション管理部62は、不要なユーザプロファイルの削除の要求を、任意のタイミングで行う。また、ユーザセッション管理部62は、削除を要求する時点で利用可能な各仮想マシン71に対して、削除要求を行う。その時点で利用可能な仮想マシン71は、利用状況情報を参照することにより特定可能である。
 例えば、ユーザセッション管理部62は、あらかじめ定められたスケジュールにしたがったタイミングで、削除の要求を行ってもよい。具体的には、例えば、シンクライアントシステム4の負荷が低くなることがわかっている時間帯に削除の要求が実行されるよう、スケジュールが定められていてもよい。また、ユーザセッション管理部62は、所定間隔毎に、削除の要求を行ってもよい。また、ユーザセッション管理部62は、シンクライアントシステム4の状態が所定条件を満たしたことを検出したタイミングで、削除の要求を行ってもよい。所定条件とは、例えば、シンクライアントシステム4の負荷が所定の低負荷条件を満たすことであってもよい。
 また、ユーザセッション管理部62は、不要なユーザプロファイルの削除を要求する際に、削除対象から除外する除外ユーザを、次のように特定する。まず、ユーザセッション管理部62は、削除要求対象の仮想マシン71上に保存されている有効なユーザプロファイルのユーザを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部62は、特定したユーザのうち、直近の使用時刻に基づく条件に当てはまるユーザを抽出する。例えば、ユーザセッション管理部62は、直近の使用時刻からの経過時間が所定時間以内のユーザを抽出してもよい。そして、ユーザセッション管理部62は、このようにして抽出したユーザを、削除対象から除外する除外ユーザとする。そして、ユーザセッション管理部62は、削除要求対象の仮想マシン71に対して、除外ユーザを通知しつつ、不要なユーザプロファイルの削除処理を要求する。
 また、ユーザセッション管理部62は、不要なユーザプロファイルの削除の要求先となる仮想マシン71から、ユーザプロファイルを削除したユーザを表す情報を受信する。そして、ユーザセッション管理部62は、受信した情報の示す各ユーザについて、有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部62は、該当するユーザについて有効なユーザプロファイルを保存している仮想マシン71が、ユーザプロファイルの削除を実行した仮想マシン71である場合、そのユーザについての有効プロファイル所在情報を消去する。この有効プロファイル所在情報の消去処理は、あるユーザの有効なユーザプロファイルであっても、その使用時刻が直近の使用時刻に基づく条件に当てはまらない場合、削除の要求先となる仮想マシン71から削除される可能性があるために行われる。
 仮想マシン71は、本発明の第3の実施の形態における仮想マシン41に対して、ユーザプロファイル管理部42に替えてユーザプロファイル管理部72を備える点が異なる。
 ユーザプロファイル管理部72は、接続管理装置60からの要求により、本発明の第3の実施の形態と略同様に不要なユーザプロファイルの削除処理を実行する。加えて、ユーザプロファイル管理部72は、ユーザプロファイルを削除したユーザを表す情報を、接続管理装置60に対して通知する。
 以上のように構成されたシンクライアントシステム4の動作について、図面を参照して説明する。なお、シンクライアントシステム4が接続を制御する動作は、図23を参照して説明した本発明の第3の実施の形態の動作と同様であるため、本実施の形態における説明を省略する。
 次に、シンクライアントシステム4が、不要なユーザプロファイルを削除する動作の概略を図26に示す。なお、図26に示す動作は、上述したような任意のタイミングで実行されるものとする。
 図26において、まず、接続管理装置60のユーザセッション管理部62は、利用状況情報を参照することにより、利用可能な仮想マシン71を抽出する(ステップB51)。
 ここで、利用可能な仮想マシン71が抽出されなかった場合(ステップB52でNo)、ユーザセッション管理部62は、動作を終了する。
 一方、利用可能な仮想マシン71が抽出された場合(ステップB52でYes)、ユーザセッション管理部62は、抽出された各仮想マシン71に対して、不要なユーザプロファイルの削除を要求する(ステップB53)。このステップの詳細については後述する。
 また、不要なユーザプロファイルの削除を要求された各仮想マシン71では、ユーザプロファイル管理部72は、不要なユーザプロファイルを削除する(ステップC51)。このステップの詳細については後述する。
 次に、ステップB53において接続管理装置60が、不要なユーザプロファイルの削除を要求する動作の詳細を図27に示す。
 図27において、接続管理装置60のユーザセッション管理部62は、該当する仮想マシン71上に保存される有効なユーザプロファイルのうち、使用時刻からの経過時間が所定時間以内のユーザを抽出する(ステップB61)。
 次に、ユーザセッション管理部62は、抽出したユーザを除外ユーザとして通知しながら、該当する仮想マシン71に対して、不要なユーザプロファイルの削除を要求する(ステップB62)。
 次に、ユーザセッション管理部62は、削除を要求した仮想マシン71から、削除したユーザプロファイルのユーザを表す情報を受信する(ステップB63)。
 次に、ユーザセッション管理部62は、受信した情報の示す各ユーザについて、ステップB64~B65の処理を実行する。
 具体的には、ユーザセッション管理部62は、該当するユーザについて、ユーザプロファイル所在情報を参照する。そして、ユーザセッション管理部62は、該当するユーザについて有効なユーザプロファイルを保存する仮想マシン71が、削除処理を実行した仮想マシン71であるか否かを判断する(ステップB64)。
 ここで、該当するユーザについて有効なユーザプロファイルを保存する仮想マシン71が、削除処理を実行した仮想マシン71である場合、ユーザセッション管理部62は、該当するユーザについての有効プロファイル所在情報を消去する(ステップB65)。
 一方、該当するユーザにいて、有効なユーザプロファイルを保存する仮想マシン71が、削除処理を実行した仮想マシン71でない場合、ユーザセッション管理部62は、該当するユーザについての有効プロファイル所在情報をそのままにする。
 ユーザセッション管理部62は、ステップB63で受信した情報の示す全てのユーザについてステップB64~B65の処理を完了すると、不要なユーザプロファイルの削除を要求する動作を終了する。
 次に、ステップC51において仮想マシン71が、不要なユーザプロファイルを削除する動作の詳細を図28に示す。
 図28において、仮想マシン71のユーザプロファイル管理部72は、ステップC31~C36まで本発明の第3の実施の形態と同様に動作して、不要なユーザプロファイルを削除する。ただし、ステップC31において除外ユーザとして通知されるユーザは、この仮想マシン71上にある有効なユーザプロファイルのうち、直近の使用時刻からの経過時間が所定条件を満たすユーザプロファイルのユーザである。
 次に、ユーザプロファイル管理部72は、接続管理装置60に対して、ステップC36で削除したユーザプロファイルのユーザを表す情報を通知する(ステップC67)。
 ここで通知されるユーザには、この仮想マシン71上に有効なユーザプロファイルがあったユーザであっても、直近の使用時刻からの経過時間が所定条件を満たさないユーザプロファイルのユーザが含まれうることになる。
 以上で、仮想マシン71は、不要なユーザプロファイルを削除する動作を終了する。
 次に、シンクライアントシステム4の動作を具体例で示す。
 <具体例6>
 ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置60は、図29に示す利用状況情報と、図30に示す有効プロファイル所在情報と、図9に示したグループ設定情報とを保存しているものとする。また、除外ユーザの抽出条件となる直近の使用時刻からの経過時間は、7日以内と定められているものとする。また、現在時刻は、「2014/07/10 20:35:00.000」であるとする。
 まず、接続管理装置60のユーザセッション管理部62は、図29の利用状況情報を参照し、利用可能な仮想マシン71として「Vpc13」を取得する(ステップB51、B52でYes)。
 そこで、ユーザセッション管理部62は、仮想マシン71「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(ステップB53)。
 具体的には、ユーザセッション管理部62は、図30の有効プロファイル所在情報を参照し、利用可能な仮想マシン71「Vpc13」に有効なユーザプロファイルが保存されるユーザとして、「User10」、「User12」を取得する。
 そして、ユーザセッション管理部62は、「User10」、「User12」のうち、直近の使用時刻からの経過時間が7日以内のユーザを抽出する。ここでは、「User10」の直近の使用時刻「2014/07/09 20:00:00.000」から現在時刻「2014/07/10 20:35:00.000」までの経過時間は、7日以内である。一方、「User12」の直近の使用時刻「2014/07/02 07:30:00.000」から現在時刻「2014/07/10 20:35:00.000」までの経過時間は、7日を超えている。したがって、ユーザセッション管理部62は、条件に当てはまる除外ユーザとして、「User10」を抽出する(ステップB61)。
 次に、ユーザセッション管理部62は、仮想マシン71「Vpc13」に対して、除外ユーザとして「User10」を通知しつつ、不要なユーザプロファイルの削除を要求する(ステップB62)。
 次に、仮想マシン71「Vpc13」のユーザプロファイル管理部72は、除外ユーザとして「User10」の情報を取得する(ステップC31)。
 次に、ユーザプロファイル管理部72は、自装置にログオン中のユーザ一覧を取得する(ステップC32)。
 ここでは、ログオン中のユーザはいなかったものとする。
 次に、ユーザプロファイル管理部72は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User10」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部72は、「User10」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部72は、「User10」が、除外ユーザ「User10」であると判断する(ステップC35でYes)。
 そこで、ユーザプロファイル管理部72は、「User10」のユーザプロファイルを削除せずに、ステップC33に戻る。
 次に、ユーザプロファイル管理部72は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User12」のユーザプロファイルが見つかったとする(ステップC33でYes)。
 次に、ユーザプロファイル管理部72は、「User12」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
 次に、ユーザプロファイル管理部72は、「User12」が、除外ユーザ「User10」でなく、ログオン中でないと判断する(ステップC35でNo)。
 そこで、ユーザプロファイル管理部72は、「User12」のユーザプロファイルを削除する(ステップC36)。
 ステップC33に戻り、ユーザプロファイル管理部72は、自装置「Vpc13」に保存されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理のユーザプロファイルがないと判断する(ステップC33でNo)。
 次に、ユーザプロファイル管理部72は、ユーザプロファイルを削除したユーザとして「User12」を、接続管理装置60に通知する(ステップC67)。
 次に、ユーザセッション管理部62は、仮想マシン71から、削除したユーザプロファイルのユーザとして「User12」の情報を取得する(ステップB63)。
 ここで、図30の有効プロファイル所在情報において、削除を通知されたユーザ「User12」の有効なユーザプロファイルを保存する仮想マシン71は、「Vpc13」である。また、ステップB63での削除ユーザの通知元の仮想マシン71は、「Vpc13」である。したがって、ユーザセッション管理部62は、削除を通知されたユーザ「User12」の有効なユーザプロファイルを保存する仮想マシン71が、削除ユーザの通知元の仮想マシン71であると判断する(ステップB64でYes)。
 そこで、ユーザセッション管理部62は、削除を通知されたユーザ「User12」の有効プロファイル所在情報を消去する(ステップB65)。
 これにより、有効プロファイル所在情報は、図30に示す内容から図31に示す内容に更新される。
 以上で、シンクライアントシステム4の具体的な動作例の説明を終了する。
 次に、本発明の第4の実施の形態の効果について述べる。
 本発明の第4の実施の形態は、ログオンストームの発生を抑制するために各仮想マシンに保存させるユーザプロファイルについて、必要となる記憶容量の増大をさらに抑制することができる。
 その理由について述べる。本実施の形態では、接続管理装置のユーザセッション管理部が、ログオン先として選択された仮想マシンに対して不要なユーザプロファイルの削除を要求する際に、除外ユーザとして、次のユーザを通知するからである。そのユーザとは、削除の要求先となる仮想マシンに有効なユーザプロファイルがあるユーザのうち、直近の使用時刻が所定条件を満たすユーザである。例えば、所定条件としては、直近の使用時刻からの経過時間が所定期間以内であることが適用される。
 このように、仮想マシンのユーザプロファイル管理部は、自装置上に有効なユーザプロファイルが保存されるユーザであっても、所定期間使用されていないユーザプロファイルを削除する。これにより、本実施の形態は、ユーザの有効なユーザプロファイルであっても、再利用の可能性が低い古いユーザプロファイルを削除するので、ユーザプロファイルの保存に必要な記憶容量をより削減することができる。
 また、本発明の第4の実施の形態は、不要なユーザプロファイルの削除処理に起因して、仮想マシンの負荷が増大することの影響を少なくすることができる。
 その理由について説明する。本実施の形態では、接続管理装置のユーザセッション管理部が、任意のタイミングで、その時点で利用可能な(利用中でない)仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。
 これにより、本実施の形態では、仮想マシンが、不要なユーザプロファイルの削除処理を、例えばシンクライアントシステムを利用するユーザが少ない時間帯等、仮想マシンの負荷が増大しても影響の少ない時間帯に実行することができる。
 なお、上述した本発明の各実施の形態において、利用状況情報および有効プロファイル所在情報の具体例を表形式でいくつか示したが、本発明の利用状況情報および有効プロファイル所在情報のデータ構造や含まれる情報の種類を限定するものではない。利用状況情報は、少なくとも各仮想マシンが利用中であるか否かを表す情報を含んでいればよい。また、有効プロファイル所在情報は、各ユーザについて有効なユーザプロファイルがある仮想マシンを表す情報を含んでいればよい。
 また、上述した本発明の各実施の形態において、同一のユーザが複数の仮想マシンに同時にログオンする運用も可能である。各実施の形態において、接続管理装置のユーザセッション管理部は、ログオフ時にも、ログオフしたユーザの有効なユーザプロファイルを保存する仮想マシンを記録する。これにより、本実施の形態は、あるユーザが同時に複数の仮想マシンにログオンしている期間があったとしても、最後にログオフした仮想マシンで利用されていた(最後に更新された)ユーザプロファイルを、次回のログオン時に再利用できる可能性を高くする。
 また、上述した本発明の第2~第4の実施の形態において、ユーザプロファイル格納装置およびユーザ情報管理装置が異なる装置である例を示したが、これらの装置は同一のコンピュータ装置上に実現されていてもよい。また、ユーザプロファイル格納装置は、複数のコンピュータ装置によって構成されていてもよい。また、ユーザ情報管理装置は、複数のコンピュータ装置によって構成されていてもよい。
 また、上述した本発明の第2~第3の実施の形態において、接続管理装置のユーザセッション管理部は、本発明の第4の実施の形態に示した不要なユーザプロファイルの削除を要求する動作を実行するよう構成されてもよい。その場合、本発明の第2~第3の実施の形態において、仮想マシンのユーザプロファイル管理部は、本発明の第4の実施の形態に示した不要なユーザプロファイルを削除する動作を実行するよう構成されればよい。
 また、上述した本発明の各実施の形態において、シンクライアントシステムを構成する各装置の各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
 また、上述した本発明の各実施の形態において、シンクライアントシステムを構成する各装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
 また、上述した本発明の各実施の形態において、各フローチャートを参照して説明したシンクライアントシステムの各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
 また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2015年3月5日に出願された日本出願特願2015-043226を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 1、2、3、4  シンクライアントシステム
 10、30、50、60  接続管理装置
 11、31  仮想マシン選択部
 12、32、52、62  ユーザセッション管理部
 20、40、70  仮想マシン稼働装置
 21、41、71  仮想マシン
 22、42、72  ユーザプロファイル管理部
 23  ユーザ接続監視部
 110、120  シンクライアント端末
 210  ユーザプロファイル格納装置
 320  ユーザ情報管理装置
 1001、2001、3001、4001  CPU
 1002、2002、3002、4002  メモリ
 1003  出力装置
 1004  入力装置
 1005、2005、3005、4005  ネットワークインタフェース

Claims (16)

  1.  シンクライアント端末と、接続管理装置と、1つ以上の仮想マシンが動作する仮想マシン稼働装置と、ユーザプロファイル格納装置とを備えたシンクライアントシステムであって、
     前記シンクライアント端末は、前記シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると前記接続管理装置に送信し、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
     前記ユーザプロファイル格納装置は、前記シンクライアントシステムのユーザ毎にユーザプロファイルを格納し、
     前記接続管理装置は、
     前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択手段と、
     前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、前記仮想マシン選択手段によって選択される仮想マシンを表す情報を前記シンクライアント端末に通知するとともに、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新するユーザセッション管理手段と、
     を有し、
     前記仮想マシンは、
     自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル管理手段と、
     自装置に対するユーザの接続状態を監視して前記接続管理装置に通知するユーザ接続監視手段と、
     を有するシンクライアントシステム。
  2.  前記接続管理装置において、
     前記ユーザセッション管理手段は、不要なユーザプロファイルの削除要求対象となる仮想マシンについて、該仮想マシン上に保存されている有効なユーザプロファイルのユーザを、前記有効プロファイル所在情報を参照することにより特定し、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知しながら、前記削除要求対象の仮想マシンに対して不要なユーザプロファイルの削除を要求し、
     前記削除要求対象の仮想マシンにおいて、
     前記ユーザプロファイル管理手段は、自装置にログオン中のユーザ、ログオン要求中のユーザおよび前記除外ユーザのユーザプロファイル以外の不要なユーザプロファイルを削除することを特徴とする請求項1に記載のシンクライアントシステム。
  3.  前記接続管理装置において、
     前記ユーザセッション管理手段は、前記ユーザによるログオンの要求に基づくタイミングで、前記仮想マシン選択手段によって選択された仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする請求項2に記載のシンクライアントシステム。
  4.  前記接続管理装置において、
     前記ユーザセッション管理手段は、前記ユーザによるログオフに基づくタイミングで、該ユーザがログオンしていた仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする請求項2または請求項3に記載のシンクライアントシステム。
  5.  前記接続管理装置において、
     前記ユーザセッション管理手段は、任意のタイミングで、その時点で利用可能な仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする請求項2から請求項4のいずれか1項に記載のシンクライアントシステム。
  6.  前記接続管理装置において、
     前記仮想マシン選択手段は、前記利用状況情報を参照することにより利用可能な仮想マシンを抽出し、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保存する仮想マシンを、前記有効プロファイル所在情報を参照することにより選択することを特徴とする請求項1から請求項5のいずれか1項に記載のシンクライアントシステム。
  7.  前記接続管理装置において、
     前記仮想マシン選択手段は、抽出した利用可能な仮想マシンのうちログオンを要求するユーザについて有効なユーザプロファイルを保存する仮想マシンがない場合、抽出した利用可能な仮想マシンのうちいずれか1つを選択することを特徴とする請求項6に記載のシンクライアントシステム。
  8.  前記接続管理装置において、
     前記仮想マシン選択手段は、抽出した利用可能な仮想マシンのうちログオンを要求するユーザについて有効なユーザプロファイルを保存する仮想マシンがない場合、抽出した利用可能な仮想マシンのうちいずれのユーザについても有効なユーザプロファイルを保存していない仮想マシンの1つを選択することを特徴とする請求項7に記載のシンクライアントシステム。
  9.  前記接続管理装置において、
     前記仮想マシン選択手段は、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保存する仮想マシンがなく、かつ、いずれのユーザについても有効なユーザプロファイルを保存していない仮想マシンがない場合、抽出した利用可能な仮想マシンのうち直近の使用時刻に基づく条件を用いて1つを選択することを特徴とする請求項8に記載のシンクライアントシステム。
  10.  請求項1から請求項9のいずれか1項に記載のシンクライアントシステムにおける接続管理装置。
  11.  請求項1から請求項9のいずれか1項に記載のシンクライアントシステムにおける仮想マシンが稼働する仮想マシン稼働装置。
  12.  シンクライアント端末が、シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると接続管理装置に送信し、
     前記接続管理装置が、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知し、
     前記シンクライアント端末が、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
     前記仮想マシンが、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納し、
     前記仮想マシンが、自装置にログオンするユーザの接続状態を監視して前記接続管理装置に通知し、
     前記接続管理装置が、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
  13.  接続管理装置が、
     シンクライアントシステムにログオンを要求するユーザを表す情報をシンクライアント端末から取得すると、
     仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、
     前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
  14.  仮想マシン稼働装置上で動作する仮想マシンが、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、
     前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納し、
     自装置に対するユーザの接続状態を監視して請求項13に記載の方法を実行する装置に通知する方法。
  15.  シンクライアントシステムにログオンを要求するユーザを表す情報をシンクライアント端末から取得するユーザ情報取得ステップと、
     各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保存している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択ステップと、
     前記仮想マシン選択ステップで選択された仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせる接続制御ステップと、
     前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する更新ステップと、
     を接続管理装置に実行させるプログラムを記憶した記憶媒体。
  16.  シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得するユーザプロファイル取得ステップと、
     前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保存するとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル格納ステップと、
     自装置に対するユーザの接続状態を監視して請求項15に記載のプログラムを実行する装置に通知する接続監視ステップと、
    を、仮想マシン稼働装置上で動作する仮想マシンに実行させるプログラムを記憶した記憶媒体。
PCT/JP2016/001118 2015-03-05 2016-03-02 シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、記憶媒体 WO2016139938A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201680013872.9A CN107430582A (zh) 2015-03-05 2016-03-02 瘦客户端系统、连接管理装置、虚拟机操作装置、方法和存储介质
EP16758636.1A EP3267323A4 (en) 2015-03-05 2016-03-02 Thin client system, connection management device, virtual machine operating device, method, and storage medium
US15/550,841 US20180046488A1 (en) 2015-03-05 2016-03-02 Thin client system, method, and non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-043226 2015-03-05
JP2015043226A JP6582445B2 (ja) 2015-03-05 2015-03-05 シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、プログラム

Publications (1)

Publication Number Publication Date
WO2016139938A1 true WO2016139938A1 (ja) 2016-09-09

Family

ID=56845356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/001118 WO2016139938A1 (ja) 2015-03-05 2016-03-02 シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、記憶媒体

Country Status (5)

Country Link
US (1) US20180046488A1 (ja)
EP (1) EP3267323A4 (ja)
JP (1) JP6582445B2 (ja)
CN (1) CN107430582A (ja)
WO (1) WO2016139938A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101972997B1 (ko) * 2015-06-19 2019-04-29 한국전자통신연구원 이기종 서버에서의 가상 데스크탑 구동을 위한 프로파일 관리 방법 및 이를 이용한 장치
JP6611572B2 (ja) * 2015-11-28 2019-11-27 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
US10469613B2 (en) * 2016-11-10 2019-11-05 Wyse Technology L.L.C. Providing multiple user profiles to a single user
JP7013909B2 (ja) * 2018-02-07 2022-02-01 富士通株式会社 仮想化環境の利用制御プログラム、仮想化環境の利用制御方法および仮想化環境の利用制御装置
US11294696B2 (en) * 2019-01-23 2022-04-05 Vmware, Inc. Virtual desktop infrastucture management by a management service enrolling and de-enrolling a virtual machine with an endpoint manager
JP7235296B2 (ja) * 2019-03-08 2023-03-08 Necソリューションイノベータ株式会社 セッション管理方法、セッション管理装置、プログラム
US20210044646A1 (en) * 2020-10-13 2021-02-11 Intel Corporation Methods and apparatus for re-use of a container in an edge computing environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134219A (ja) * 2009-12-25 2011-07-07 Nec Corp ユーザ環境退避制御システム、装置、方法、及びプログラム
JP2013178624A (ja) * 2012-02-28 2013-09-09 Toshiba Corp 情報処理装置、クライアント管理システムおよびクライアント管理方法
JP2014191402A (ja) * 2013-03-26 2014-10-06 Nec Corp 情報処理装置、仮想pc型シンクライアントシステム、ログイン負荷軽減方法、及びログイン負荷軽減プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962737B2 (en) * 2007-11-21 2011-06-14 Dell Products L.P. Methods, media and apparatus for booting diskless systems
US20110214159A1 (en) * 2009-06-23 2011-09-01 Hitachi, Ltd. Computer system
US8312471B2 (en) * 2010-04-26 2012-11-13 Vmware, Inc. File system independent content aware cache
US9021475B2 (en) * 2011-05-04 2015-04-28 Citrix Systems, Inc. Systems and methods for SR-IOV pass-thru via an intermediary device
CN103186408A (zh) * 2011-12-29 2013-07-03 英业达股份有限公司 运行虚拟机的管理方法、系统及其装置
JP5862359B2 (ja) * 2012-02-23 2016-02-16 日本電気株式会社 シンクライアントシステム、接続管理サーバ、接続管理方法、及び接続管理プログラム
JP5606477B2 (ja) * 2012-03-13 2014-10-15 株式会社東芝 クライアント管理システム
US9542209B2 (en) * 2012-06-29 2017-01-10 Vmware, Inc. Preserving user profiles across remote desktop sessions
US9503454B2 (en) * 2012-10-18 2016-11-22 Electronics & Telecommunications Research Institute Smart card service method and apparatus for performing the same
US9378035B2 (en) * 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134219A (ja) * 2009-12-25 2011-07-07 Nec Corp ユーザ環境退避制御システム、装置、方法、及びプログラム
JP2013178624A (ja) * 2012-02-28 2013-09-09 Toshiba Corp 情報処理装置、クライアント管理システムおよびクライアント管理方法
JP2014191402A (ja) * 2013-03-26 2014-10-06 Nec Corp 情報処理装置、仮想pc型シンクライアントシステム、ログイン負荷軽減方法、及びログイン負荷軽減プログラム

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP3267323A1 (en) 2018-01-10
CN107430582A (zh) 2017-12-01
JP2016162389A (ja) 2016-09-05
EP3267323A4 (en) 2018-11-14
US20180046488A1 (en) 2018-02-15
JP6582445B2 (ja) 2019-10-02

Similar Documents

Publication Publication Date Title
WO2016139938A1 (ja) シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、記憶媒体
JP6963168B2 (ja) 情報処理装置、メモリ制御方法およびメモリ制御プログラム
US20160212206A1 (en) Deterministic database system and data transferring method thereof
CN110737668B (zh) 数据存储方法、数据读取方法、相关设备及介质
CN109194711B (zh) 一种组织架构的同步方法、客户端、服务端及介质
KR101959601B1 (ko) 관리 시스템 및 관리 시스템을 제어하기 위한 방법
RU2425414C2 (ru) Автоматизированная миграция состояния при развертывании операционной системы
CN109379448B (zh) 一种文件分布式部署方法、装置、电子设备及存储介质
US20060123121A1 (en) System and method for service session management
JP2010044552A (ja) リクエスト処理方法及び計算機システム
EP2897368B1 (en) Interactive personal/internet protocol television subscription system, and subscription plan management method and device
CN104137085A (zh) 集群环境中用于控制客户端对服务的访问的方法
US10019503B2 (en) Database transfers using constraint free data
CN102291416A (zh) 一种客户端与服务器端双向同步的方法及系统
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
CN113010496B (zh) 一种数据迁移方法、装置、设备和存储介质
CN110740155B (zh) 分布式系统中的请求处理方法及装置
CN110888858A (zh) 数据库的操作方法和装置、存储介质、电子装置
US20170353356A1 (en) System and method for group-policy-based configuration
US11444998B2 (en) Bit rate reduction processing method for data file, and server
US10338971B2 (en) Information processing apparatus, information processing system, information processing method, and program
CN106792843B (zh) 一种设备管理方法及装置
US20150106884A1 (en) Memcached multi-tenancy offload
JP2008129828A (ja) ブレードサーバの動的割り当て方法
CN104537081A (zh) 文件管理系统和方法

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: 16758636

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15550841

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2016758636

Country of ref document: EP