System for managing task that is for processing to computer system and that is based on user operation and method for displaying information related to task of that type

The display computer displays a management screen having a first area and a second area. In the first area, information related to a computer system, and an input object for a work operation that is a user operation for registering a task of a processing to a computer system into a management computer or an object for displaying the input object are displayed. In the second area, a summary view related to at least one task registered into the management computer is displayed. The summary view has a status object for each status of task, the status object includes an object indicating a status and a value indicating a number of tasks of the status. When the management computer detects a modification of a status of each task that has been registered, the display computer updates a value of a number of tasks in the second area.

TECHNICAL FIELD

The present invention relates to a technique for managing a task.

BACKGROUND ART

As an example of a computer system that is a target of a management, there can be mentioned for instance a storage system that has a plurality of physical storage devices. Conventionally, a storage system has been managed by one computer. In recent years however, a storage system has been managed by a management system that is configured by a plurality of computers that include a management computer and a display computer that is coupled to the management computer (see Patent Literature 1). For the management system of this type, the display computer has a user interface device (for instance, a display and a keyboard), and the management computer transmits the information for a display to the display computer and/or receives the information for an input from the display computer.

The display computer executes a dedicated program for a display in a quintessential way. Or more specifically, the display computer downloads a Java applet via the Web browser and executes the Java applet.

CITATION LIST

Patent Literature

SUMMARY OF INVENTION

Technical Problem

RIA (Rich Internet Application) has been in widespread use for a Web application field that targets a personal application and an office application (for instance, a Web mail, a word processor, and a collaboration tool). By accessing a Web server by using a Web browser, it looks like that a personal application or an office application is executed or provided on the Web browser for a user of the Web browser. Consequently in recent years, RIA (Rich Internet Application) can be executed by a great number of computers (such as a personal computer in which the Microsoft Windows OS or iMac has been installed) or a smartphone in some cases (“Windows” and “iMac” are registered trademarks).

An RIA can be executed in a quintessential manner under a program execution environment in which the Web browser includes or utilizes Flash of Adobe Corporation or the Silverlight technology of Microsoft Corporation. In recent years, an RIA development environment in which an icon and a toolbar that are visually beautiful for the RIA can be provided or displayed by the RIA without any difficulty has also been provided. Although only a processing that takes a user request as an opportunity can be installed for a Web page based on HTML and Java, a processing that is asynchronous with a user request can be executed under the execution environment and the development environment.

In accordance with such a merit, it is thought that a management client program of a computer system (such as a system that is configured by a plurality of servers, a storage system that has a plurality of physical storage devices, and a system that includes a storage system and a host that is coupled to the storage system) is made to be an RIA. However, the RIA execution environment and the RIA development environment target an application field such as a personal application and an office application, and it is not supposed that those are managed by monitoring and operating a computer system and a storage system in particular.

On the other hand, a user that utilizes a management client program executes a plurality of work operations in parallel to the management client program in some cases. The cases in which the following work operations are executed in parallel are examples:

Example 1 of a Work Operation

There is a work operation for a management work in which a setting or a configuration of a system is modified. For the example, a concrete example of a work operation is an instruction for executing a processing such as a network configuration for a computer that is a management target, an install of a program, and a processing of a volume creation and a volume initialization for a storage system.

Example 2 of a Work Operation

There is a work operation for a monitoring work in which a system is monitored. For the example, a concrete example of a work operation is an operation for specifying a specific apparatus or a device that is included in an apparatus in order to monitor a status of an apparatus in detail, an operation that has a purpose opposite to that of the operation (that is, an operation for transiting from a detailed screen to a panoramic screen), or an operation for confirming an alert in a past time from a status in which a current apparatus status is displayed. It is also possible to think of a status of a device as a substitute for a status of an apparatus for the present example.

However, for the RIA execution environment and the RIA development environment, it is not supposed that a user executes a plurality of work operations in parallel by using one application. Consequently, at the time point when the RIA displays a new window or a new dialogue box, a user cannot execute another work operation that a user wants to execute for the same Web browser (for the tab in a Web browser that has a tab function).

By the above reasons, it is not easy to make the management client program to be an RIA.

Solution of Problem

A management computer, that is a computer managing a computer system as a management target, is connected to a display computer that is a computer displaying information provided from the management computer.

The display computer displays a management screen that is a screen that has a first area and a second area. In that case, in the first area, information related to a computer system, and an input object for a work operation that is a user operation for registering a task of a processing for a computer system into a management computer or an object for displaying the input object are displayed. In the second area, a summary view related to at least one task registered into the management computer is displayed. The summary view is a view that has a status object for each status of task, the status object includes an object indicating a status and a value indicating a number of tasks in the status. There are a waiting status that represents that an execution of a task is waiting, a running status that represents that a task is being executed, and a finished status that represents that a task has been finished as a status of a task.

The display computer updates a display in the first area in accordance with a user operation to the first area.

The management computer detects a modification of a status of each task that has been registered. In the case in which the modification is detected, the management computer transmits a task number information that is information indicating a number of tasks in the status to the display computer. The display computer receives the task number information and updates a display in the second area in accordance with the task number information.

DESCRIPTION OF EMBODIMENT

A mode for the present invention will be described below in detail with reference to the drawings.

In the following descriptions, a wide variety of information will be described by an expression of “xxx table” in some cases. However, a wide variety of information can also be represented by a data structure other than a table. In order to indicate that a data structure is not depended on, “xxx table” can also be referred to as “xxx information”.

In the following descriptions, a processing will be described while using a “program” as a subject in some cases. However, since a program executes a predetermined processing while using a storage resource (such as a memory) and/or a communication interface device (such as a communication port) in an appropriate fashion in the case in which the program is executed by a processor (such as a CPU (Central Processing Unit)), a subject of a processing can also be a processor. A processing that is described while a program is used as a subject can also be a processing that is executed by a processor or a management system that has the processor (for instance, a display computer (such as a client) or a management computer (such as a server)). Moreover, the processor can also be a CPU itself, or can also include a hardware circuit that executes a part or a whole of a processing that is executed by the processor. A program can also be installed to each controller from a program source. A program source can also be a program distribution server or a storage medium, for instance. A program distribution server can also be a management computer.

A management system can also be configured by at least one computer. For instance to be more precise, in the case in which a management computer displays the information or a management computer transmits the information for a display to a remote computer, the management computer is a management system. For instance moreover, in the case in which a function equivalent to a management computer is implemented by using a plurality of computers, the plurality of computers is a management system (a display computer can also be included in the case in which a display is executed by a display computer). In the present embodiment, the management computer is a management system.

In the following descriptions, a number, an identifier, or a name is adopted as a type of the identification information of a target of every sort and kind (such as a task, a host, and a storage system). The number, the identifier, and the name can also be substituted with each other, and a combination of the identification information of a plurality of types can also be the identification information.

For an embodiment that will be described in the following, a computer system that is a management target is a storage system. However, a computer system is not restricted to a storage system. For instance, a computer system can also be a system that is configured by a plurality of servers and can also be a system that includes a storage system and a host computer (hereafter referred to as a host) that is coupled to the storage system.

In the following descriptions, a term of “time” is used. However, a time can also indicates the information of a year, a month, and a day, and a time can also indicates an hour, a minute, and a second (that includes fractions of a second after the decimal point) as a matter of course.

In the following descriptions, a user operation that is executed to a management screen of a computer system (a storage system in the present embodiment) can also be referred to as a “user operation”. As a user operation, a “specification” of a tab or an object can be mentioned for instance. The “specification” that is described here is an operation in which a cursor of a pointing device (such as a mouse) is put on a tab or an object and the pointing device is clicked or double-clicked after the cursor is put on the tab or the object, for instance. Such a specification is referred to as a “user specification” in the following. The user specification is one of user operations.

In the following descriptions, a user operation that is executed to browse (check, for instance) the information related to a computer system (a storage system in the present embodiment) can also be referred to as a “management operation”.

In the following descriptions, a user operation that is executed to create a task for executing a processing that is executed by a computer system (a storage system in the present embodiment) (hereafter referred to as a storage operation task) can also be referred to as a “work operation”. There is a wide variety of types of storage operation tasks (for instance, a step). For instance, as a storage operation task, there is at least one of a creation of a logical volume, an allocation of a logical volume to a host (a configuration of a logical volume and a host to which the logical volume is provided), and a creation of a pool. The “logical volume” can be a substantive logical volume (a real volume) based on at least one physical storage device (for instance, a RAID (Redundant Array of Independent (or Inexpensive) Disks) group) that is configured by a plurality of physical storage devices or a virtual logical volume (a virtual volume) that conforms to the thin provisioning or a storage virtualization technique. The “pool” can be a logical storage area based on at least one physical storage device (for instance, a RAID (Redundant Array of Independent (or Inexpensive) Disks) group) and an aggregate of at least one logical volume, for instance. The “pool” can be a pool that stores a difference between an original logical volume and a snapshot of the original logical volume or a pool that has a storage area that is allocated to a virtual volume that conforms to thin provisioning.

The task is a logical existence that is associated with a processing that is to be executed by a computer system (or a component of a computer system).

SUMMARY OF AN EMBODIMENT OF THE PRESENT INVENTION

FIG. 1shows an example of a Web browser screen in accordance with an embodiment of the present invention.

A Web browser screen101is a screen that is displayed on a display device of a client computer (hereafter referred to as a client) that is an example of a display computer. The client is coupled to a server computer (hereafter referred to as a server) that is an example of a management computer that is coupled to a display computer.

The client executes a Web browser and a management client program that has been made to be an RIA as described later. Since the management client program is an RIA, the Web browser includes Flash of Adobe Corporation or the Silverlight technology of Microsoft Corporation in a quintessential manner (or is executed under the program execution environment that uses the technology). The information that is displayed on the Web browser screen101is the information that is provided from the management client program to the Web browser and that is displayed by the Web browser. The information that is provided from the management client program to the Web browser can includes the information that is received from a server by the management client program. In the case of a software architecture in which a part of a display control of the Web browser screen101is executed by the management client program, it is not necessary the case that the management client program provides the information to the Web browser. This is because the processing can be executed in such a manner that the management client program displays the necessary information on a part of the Web browser screen101. This point is equivalent to that of an input processing. In the case in which the display information of the management client program can be displayed on the Web browser screen, other methods and other software architectures can also be adopted.

The Web browser screen101has a first area110and a second area120.

The first area110is an area in which the information that indicates a status related to a storage system and/or an input object that can be operated by a user for a storage system are displayed. More specifically, a tab screen is displayed on the first area110. A tab screen is changed corresponding to a tab in which a user specification has been executed. On any of the tab screens, the information that indicates a status related to a storage system and/or an input object that can be operated by a user for a storage system are displayed. A tab screen shown inFIG. 1is a tab screen111that is displayed in the case in which a mouse cursor103is put on a tab “Resource” and a user specification is executed. The tab screen111displays the following subareas, for instance:

(*) a subarea181in which a list of the identification information of at least one resource that belongs to a resource type in which a user specification has been executed is displayed;

(*) a subarea183in which a list of types of work operations is displayed;

(*) a subarea185in which a summary of a resource in which a user specification has been executed in the subarea181is displayed; and

(*) a subarea187in which a detail of a resource in which a user specification has been executed in the subarea181is displayed.

The information that conforms to a management operation of a user is displayed in the first area110. More specifically, the information related to a storage system is displayed on a tab screen of a tab in which a user specification has been executed, for instance. The resource is a physical or logical component of a storage system or a host. As a resource, there can be mentioned for instance a physical storage device, a physical storage device group, a controller, and a volume.

The second area120displays a summary view related to at least one storage operation task that has been created by executing a work operation of a user. The summary view has status objects122,132,142, and152for every status type related to a storage operation task and an alert object161, for instance.

As a status related to a storage operation task, the following four types are mentioned, for instance:(A) “Running” that represents that a storage operation task is being executed;(B) “Waiting” that represents that an execution of a storage operation task is waited;(C) “Finished” that represents that a storage operation task has been finished; and

(D) “Error” that represents that an error has occurred for a storage operation task.

The status type is not restricted to the above four types. For instance, the status types can also be more or less than the above four types. Moreover, at least one of the above four types can also be one of the other status types.

The status object122corresponds to the status of “Running”, the status object132corresponds to the status of “Waiting”, the status object142corresponds to the status of “Finished”, and the status object152corresponds to the status of “Error”.

Each of the status objects includes an object that indicates a status type and a value that indicates the number of storage operation tasks that belong to the status type. The object that indicates a status type can include at least one of a graphic (an icon) that indicates a status type and a character string that indicates a name of a status type, for instance. The object that indicates a status type can also include an object of a type different from a graphic and a character string.

The alert object161is an object related to an alert that is generated by detecting a failure of hardware in a storage system. The alert object161includes an object that indicates an alert and the value that indicates the number of alerts, for instance. The object that indicates an alert can include at least one of a graphic (an icon) that indicates an alert and a character string that indicates an alert (for instance, “New Alerts”). The object that indicates an alert can also include an object of a type different from a graphic and a character string.

The second area120is displayed without being affected by a switch of a tab screen. In other words, although a tab screen is switched corresponding to a tab in which a user specification has been executed for the first area110, a display of the second area120is not affected by a switch of a tab screen. More specifically, as shown inFIG. 2, for instance, in the case in which a user specification is executed for another tab “Report”, although a tab screen is switched from a tab screen111shown inFIG. 1to a tab screen211shown inFIG. 2for the first area110, a display of the second area120is not modified in synchronization with a switch of a tab screen. By the above configuration, even in the case in which a user operation is executed on a specific tab screen, a task status can be easily confirmed.

The meanings of “without being affected” and “not modified in synchronization with” are that at least the second area120is not affected or not modified for the purpose that “a summary view related to at least one storage operation task that has been created by executing a work operation of a user is displayed”. For instance, even in the case in which a display of the second area120is switched corresponding to a switch of a tab screen, when a user who is in visual contact with the screen can recognize it as the same summary, it is apparent that an understanding of a summary by a user is not affected even in the case in which at least one of the following items and a display switch of the second area120occur corresponding to a switch of a tab screen:

(*) a display location of a status object or an alert object is modified;

(*) a font of a status object or an alert object is modified;

(*) an icon that indicates a type of status of a font of a status object is modified. An icon before a modification and an icon after a modification represent the same type of a status; and (*) an icon that represents an alert of an alert object is modified. Both of an icon before a modification and an icon after a modification represent an alert.

As another example of being not affected or being not modified, there can be mentioned, for instance: (1) a type of a status that is represented by a status object that is displayed in the second area120is not changed by a switch of a tab screen, or (2) a value that indicates the number of storage operation tasks that belong to each of the status types is not changed. Moreover, as a second example, a display dot of the second area120is not changed by a switch of a tab screen. For the second example, a load of a screen display processing is smallest as compared with other examples. In addition, since a display dot of a screen display is not changed for the Flash technology and the Silverlight technology, it can make a contribution to a reduction of a communication amount between a client555and a server557.

It is preferable that the second area120is displayed in such a manner that the second area120is not overlapped on the first area110(in particular a tab screen). In the present embodiment, the second area120is a band-like area that is long in a horizontal direction (in a transverse direction), and is disposed under the first area110(for instance, at the bottom of the Web browser screen101). However, the location of the second area120is not restricted to the location shown in the figure. The second area120can also be disposed on the first area110, for instance. Moreover, the second area120can also be a band-like area that is long in a vertical direction (in a longitudinal direction), and can be disposed at the right of or at the left of the first area110. Moreover, the second area120can also be displayed on the front of the first area110.

The management client program is an RIA. Consequently, a management client program receives the information from a server without issuing a request to the server. In other words, a server can provide the information to a client without a request from a client (or in non-synchronization with the operation timing of an input device) not as a response to a request from a client. There are some types of the information, and two examples of them will be described in the following.

In the case in which a server detects that a status of a storage operation task is modified, the server transmits the information that indicates the modification of the storage operation task (hereafter referred to as the task status modification information) to a client. More specifically, a display of the second area120at a point of time is one shown inFIG. 3A, for instance. In the course of time, a storage operation task that has a status of “Running” (that is, a task that is being executed) is terminated. In the case in which a server detects that, the server transmits the task status modification information to a client. The task status modification information includes the information that indicates a reduction of the number of storage operation tasks that belong to a status in which the number of storage operation tasks is reduced (“Running”) and the information that indicates an increase of the number of storage operation tasks that belong to a status in which the number of storage operation tasks is increased (“Finished”), for instance. The information that indicates a reduction can also be a value that indicates the number of storage operation tasks after the reduction and can also be the information that indicates a reduction by 1. Similarly, the information that indicates an increase can also be a value that indicates the number of storage operation tasks after the increase and can also be the information that indicates an increase by 1. In the case in which a client receives the task status modification information, the management client program modifies a display of the second area120in accordance with the task status modification information. More specifically, the management client program executes the following modification of a display as being found by comparingFIG. 3AandFIG. 3B:

(*) makes the number of storage operation tasks that belong to the status “Running” to be a value that is obtained by subtracting 1 from the number of storage operation tasks; and

(*) makes a display mode of an icon that corresponds to the status “Finished” to be another display mode for a certain period of time, and makes the number of storage operation tasks that belong to the status “Finished” to be a value that is obtained by adding 1 to the number of storage operation tasks. In the case in which another display mode of an icon is a display mode different from a normal display mode of an icon, any display mode can also be adopted. In the present embodiment, a display that conforms to another display mode of an icon is a display in which an icon is luminous in such a manner that a range that includes an icon and that is larger than an icon is luminous in a weak bright color as shown inFIG. 3B. The display is terminated after a certain period of time (for instance, several seconds) elapses. In other words, a display of the second area120transits from a display shown inFIG. 3Bto a display shown inFIG. 3Cafter a certain period of time. For this example, although some modification examples (for instance, the following modification example) are thought of, it is thought to be preferable that a display mode is modified only for a status object of a status in which the number of storage operation tasks is increased (that is, a status to which a storage operation task is transited is notified) and a status object of a status in which the number of storage operation tasks is reduced from the point of view of understanding an execution situation of a storage operation task by a user.
(*) a display mode of a whole or a part (for instance, a text) of a status object that corresponds to a status in which the number of storage operation tasks has been increased (here a status object142) is modified; and
(*) a display mode of a whole or a part (for instance, an icon and/or a text) of a status object that corresponds to a status in which the number of storage operation tasks has been increased (here a status object122) is modified as substitute for or in addition to a status in which the number of storage operation tasks has been increased.

In the case in which a server detects some kind or another of hardware failure related to a storage system (for instance, a failure of a controller or a failure of a physical storage device), the server transmits the information that indicates the modification related to a hardware failure (hereafter referred to as the alert information) to a client. The alert information can include the information that indicates that a hardware failure has occurred and the detailed information related to a hardware failure that has been detected (for instance, the identification information (such as a name) of a device in which a failure has occurred and a location in which the device is mounted), for instance. In the case in which a client receives the alert information, the management client program modifies a display mode of an alert object161of the second area120. More specifically, the management client program adds 1 to a value that indicates the number of alerts and modifies a display mode of a whole of the alert object161from a normal display mode as being found by a comparison ofFIG. 4AandFIG. 4B, for instance. Further more specifically, the management client program makes a whole of the alert object161to be a red display and makes the red display blink on and off. Not only a whole but also a part (for instance, an icon or a text) of a display mode of an alert object161can also be modified. A modification of a display mode of an alert object161is not restricted to blinking, and it can also be another modification such as lighting.

The above described is an example of the information that is transmitted from a server to a client in a positive manner.

In accordance with the above example 1, some kind or another highlighting is executed for a certain period of time as a modification of a display mode of a status object, and the highlighting is then terminated in an automatic manner (that is, without a specific user operation). A “specific user operation” described here can be a user operation for notifying the management client program that a user has found some kind or another highlighting related to a status object.

On the other hand, in accordance with the above example 2, some kind or another highlighting (for instance, a blinking of a display of a predetermined color) is continued until the specific user operation is executed as a modification of a display mode of an alert object161. A “specific user operation” described here can be a user operation (for instance, a click of an alert object161) for notifying the management client program that a user has found some kind or another highlighting related to the alert object161.

As described above, for a highlighting of a status object, a highlighting is terminated in the case in which a certain period of time elapses without a specific user operation. However, for a highlighting of an alert object161, a highlighting is continued in the case in which a specific user operation is not executed. Any highlighting brings about an attention of a user. A highlighting of a status object is terminated in an automatic manner in the case in which a certain period of time elapses. Consequently, the strength of bringing about an attention of a user for a highlighting of a status object is smaller than the strength of bringing about an attention of a user for a highlighting of an alert object161.

In the following descriptions, a highlighting of a status object (a highlighting that is terminated without a specific user operation in the case in which a certain period of time elapses) will be referred to as a “weak arousal display”, and a highlighting of an alert object161(a highlighting that is terminated by a specific user operation) will be referred to as a “strong arousal display”.

It is thought that a detection of a modification of a status of a storage operation task has an importance lower than that of a detection of a hardware failure. Consequently, in the case in which a highlighting of a status object and a highlighting of an alert object161are displays that have the equivalent strength, all of the second area120may be hard to be visible. Therefore, it is preferable that a strong arousal display is executed for an alert object161and a weak arousal display (a highlighting that is terminated in an automatic manner in the case in which a certain period of time elapses) is executed for a status object.

Moreover, a modification of a status of a storage operation task is executed from one moment to the next as there is a larger amount of storage operation tasks that is waiting an execution and/or storage operation tasks that is being executed. However, in the case in which a highlighting of a status object is continued until a specific user operation is executed, a highlighting of all status objects is executed in the course of time. In that case, a situation of an execution of a storage operation task is hard to be known. From such a point of view, for a modification of a status of a storage operation task, it is preferable that a weak arousal display is executed for a status object.

A mode for the present invention will be described below in detail.

<Details of an embodiment of the present invention>

FIG. 5shows the configuration of a computer system and a management system in accordance with an embodiment of the present invention.

A computer system includes at least one host553and at least one storage system551that is coupled to the at least one host553. The host553is coupled to the storage system551via a communication network (such as a SAN (Storage Area Network) or a LAN (Local Area Network)), for instance.

The storage system551has a physical storage device group563and a controller561that is coupled to the physical storage device group563.

The physical storage device group563has at least one RAID (Redundant Array of Independent (or Inexpensive) Disks) group (referred to as a parity group in some cases). The RAID group is configured by a plurality of physical storage devices and stores data in accordance with a predetermined RAID level. The physical storage device is an HDD (Hard Disk Drive) or an SSD (Solid State Drive), for instance.

The storage system551has a plurality of logical volumes. As a logical volume, there can be mentioned for instance a substantive logical volume (a real volume)565based on the RAID (Redundant Array of Independent (or Inexpensive) Disks) group or a virtual logical volume (a virtual volume)567that conforms to the thin provisioning or a storage virtualization technique. It is not necessary that one storage system551has logical volumes of a plurality of types. For instance, the storage system551can have only a real volume565as a logical volume.

The controller561receives an I/O (Input/Output) command (a write command or a read command) from the host553, and controls the I/O of data that conforms to the I/O command. More specifically, the controller561specifies a logical volume of an I/O destination from the I/O command that has been received, and executes the I/O of data to the logical volume that has been specified, for instance.

The management system includes a server557and at least one client555that is coupled to the server557. The client555is coupled to the server557via a communication network (such as a LAN, a WAN (Wide Area Network), and the Internet)521, for instance.

The client555has an input device501, a display device502, a storage resource (such as a memory)505, a communication interface device (hereafter referred to as an I/F)507, and a processor (such as a CPU (Central Processing Unit))503that is coupled to the input device501, the display device502, the storage resource505, and the communication interface device507. The input device501is a pointing device and a keyboard, for instance. The display device502is a device that has a display screen on which information is displayed, for instance. A device of a touch panel type in which the input device501and the display device502are formed in an integrated manner with each other can also be adopted. The I/F507is coupled to the communication network521, and the client555can communicate with the server557via the I/F507. A part or a whole of a network that connects the communication network521and the host553with each other and apart or a whole of a network that connects the communication network521and the storage system551with each other can share each other in common.

The storage resource505has at least a main storage device (a memory in a quintessential manner) of a main storage device and an auxiliary storage device, for instance. The storage resource505can store a computer program that is executed by the processor503and the information that is used by the processor503. More specifically, the storage resource505stores a Web browser511and a management client program513, for instance. The management client program513is an RIA (Rich Internet Application). More specifically, the management client program513, which is a program file, is downloaded from the server557(or another computer) and is stored into the storage resource505, for instance. The management client program513is executed by a computer program not shown (such as the Flash Player of Adobe Corporation) in an RIA execution environment. Consequently in the present embodiment, an operation of the management client program513is an operation that conforms to the RIA execution environment (a computer program that executes the management client program). In the case in which a function set that is not installed in the RIA execution environment that is executed by a client (for instance, a communication processing, an I/O processing, and a processing call of a subroutine and an event handler, etc.) is provided in a development environment that is not the RIA, it can be said that the function set cannot be used by the management client program513.

The server557has a storage resource535, an I/F537, and a processor (such as a CPU (Central Processing Unit))533that is coupled to the storage resource535and the I/F537. The I/F537is coupled to the communication network521, and the server557can communicate with a client555via the I/F537.

The storage resource535has at least a main storage device (a memory in a quintessential manner) and an auxiliary storage device, for instance. The storage resource535can store a computer program that is executed by the processor533and the information that is used by the processor533. More specifically, the storage resource535stores a storage management program540and storage management information545, for instance. The storage management program540has a task control program541and a task monitoring program542. The storage management information545has a task management table543and a user table544. The task control program541registers and executes a storage operation task. The task monitoring program542monitors a change of a status of a storage operation task. The task management table543has the information related to a storage operation task. The user table544has the information related to a wide variety of statuses for every user. In addition, the storage management information545can also have the configuration information and the setting information of the storage system551(for instance, at least one of contents that is displayed on the screen ofFIG. 1). Although it is assumed that at least a part of the contents of the storage management information is received from the storage system551, a part of the contents of the storage management information can also be received by other methods (such as a manual input and acquiring via another computer or a storage medium). Although the storage management information545also includes the information related to a hardware failure as a matter of course, the information related to a hardware failure can also exist as a part of the configuration information or can also exist as a failure history.

The storage management processing that corresponds to a user operation can be implemented by a cooperative processing of the storage management program540, the Web browser511(or the RIA execution environment of a client), and the management client program513. As examples of the cooperative processing, there can be mentioned, for instance the following processings:

Cooperative Example 1

The Web browser511(or the management client program513) stores a part of the storage management information545that is necessary for a user operation that is executed on a screen that is being displayed and the display information that has been calculated based on the storage management information545as the temporary information into the storage resource505. The display information indicates not only the information that is displayed but also the control information that is used for a display processing. A part of the storage management information545is transmitted by the storage management program540. Moreover, apart of the display information can also be calculated and transmitted by the storage management program540. The management client program513then implements a storage management processing by using the temporary information to a part of a user operation.

Cooperative Example 2

The storage management program540creates and transmits a display image. The Web browser511(or the management client program513) receives the display image and executes an actual screen display. The Web browser511(or the management client program513) receives an input of a user (a keyboard input and a click location), and transmits the input of a user to the storage management program540.

It is not necessary that the management client program513communicates with the storage management program540on a consistent basis in some cases (in the case in which the management client program513can correspond to a user operation by temporary information, for instance). In this case, the client555as a simple element can provide a monitoring work or a management work to a user. The following descriptions will be carried out while assuming Cooperative example 1. However, the following descriptions can also be understood as descriptions of Cooperative example 2 by considering that a part of the management client program513is executed by the storage management program540as a matter of course.

FIG. 6Ashows the configuration of a task management table543.

The task management table543has the following information for every storage operation task, for instance:

(*) a task ID601that is an identifier of a storage operation task;

(*) a storage ID602that is an identifier of a storage system551that is an operation target that conforms to a storage operation task;

(*) a task type603that is the information that indicates a type of a storage operation task;

(*) a user ID604that is an identifier of a user who has executed a work operation for creating a storage operation task;

(*) a status605that is a value that indicates a status of a storage operation task; and

(*) an update time606that is information that indicates the latest time when a status of a storage operation task was updated.

As described above, the task management table543has information related to all storage operation tasks that have been created by all work operations of a user of at least one client555.

As a type of a storage operation task, there can be mentioned for instance a wide variety of types such as the following types:

(*) creating a logical volume (for instance, a real volume or a virtual volume) in the storage system551;

(*) allocating a logical volume that has been created in the storage system551to a host553(determining and specifying a host553and a logical volume that is provided to the host553);

(*) associating a pool (a storage area that has been configured by a substorage area of a “page” that is a unit of an allocation) with a virtual volume that conforms to thin provisioning; and

(*) associating a real volume in a storage system other than a storage system that has the virtual volume with a virtual volume that conforms to a storage virtualization technique.

FIG. 6Bshows the configuration of a user table544.

The user table544has the following information for every user, for instance:

(*) a user ID611that is an identifier of a user;

(*) the number of Waiting statuses612that is a value that indicates the number of storage operation tasks that has a status of “Waiting”;

(*) the number of Running statuses613that is a value that indicates the number of storage operation tasks that has a status of “Running”;

(*) the number of Finished statuses614that is a value that indicates the number of storage operation tasks that has a status of “Finished”;

(*) the number of Error statuses615that is a value that indicates the number of storage operation tasks that has a status of “Error”; and

(*) the number of alerts616that is a value that indicates the number of alerts (for instance, unresolved alerts).

As described above, the user table544has information that indicates a status of a storage operation task that exists, the number of the storage operation tasks, and the number of alerts for every user.

An example of a flow that is executed in the present embodiment will be described below in detail. In the example, a storage operation task is an allocation of a logical volume to a host. Moreover, one user is adopted as an example in the following. The user is referred to as a “target user” in the following. The task control program541can identify that a user of a client555of the other side of a communication is a target user for the server557. For instance, a target user can be identified by a user ID that has been input during a login of a target user. The storage management program540can execute the above identification by inputting a user ID from a user to a client555and by transmitting the user ID to the server557.

As shown inFIG. 7, the following processing is executed on a tab screen of a tab “Resources”:

(*) a user specification of a storage ID “DEF” of a resource “Storages” is executed for a subarea181; and

(*) a user specification of a task type “Allocate Storages” is executed for a subarea183.

The management client program513detects that such a user specification has been executed via the Web browser511.

A value that is displayed in the second area120ofFIG. 7is a value that is indicated by the number of statuses612to615and the number of alerts616that have been registered in the user table544for the server557at first. The value that is indicated by the number of statuses612to615and the number of alerts616is notified from the task control program541to the management client program513, and is stored into the storage resource (such as a memory)505of the client555. The value that has been stored is then displayed in the second area120by the Web browser511. The value that is indicated by the number of statuses612to615and the number of alerts616is a value that indicates the number of storage operation tasks that belong to a status of “Running”, a value that indicates the number of storage operation tasks that belong to a status of “Waiting”, a value that indicates the number of storage operation tasks that belong to a status of “Finished”, a value that indicates the number of storage operation tasks that belong to a status of “Error”, and a value that indicates the number of alerts in the second area120. Moreover for instance, “at first” means a time when a display that contains the first area110and the second area120is executed on the Web browser screen101for the first time.

In the case in which the management client program513detects the above described user specification to the Web browser screen101shown inFIG. 7, the management client program.513displays a dialog box801as shown inFIG. 8and makes the Web browser screen101other than the dialog box801be in a disable state (a state in which a user operation to the Web browser screen101is disabled). The dialog box801has an input field (that is also an object) of the information of a type that is required for allocating a logical volume in a storage system to a host and a button803for executing a display of an allocation plan that conforms to the information that has been input. It can also be said that the “plan” is a proposal of the storage management program540.

In the case in which the information of a wide variety of types is input to the dialog box801by a user operation and a user specification is executed for the button803(the button803is pressed), the management client program513transmits the information of a wide variety of types that have been input to the server557. The server557creates an allocation plan of a logical volume based on the information of a wide variety of types and transmits the information that indicates the plan (hereafter referred to as the allocation plan information) to the client555. The client555receives the allocation plan information, and the management client program513displays the dialog box901as shown inFIG. 9. Even at this point of time, a screen other than the dialog box901in the Web browser screen101is in a disable state. The dialog box901displays the allocation plan information that has been received by the client555and a button903for notifying that the allocation plan that conforms to the information has been agreed to.

In the case in which a user specification is executed for the button903(the button903is pressed), the management client program513executes the following processing:

(a1) the management client program513closes the dialog box901as shown inFIG. 10;

(a2) the management client program513smoothly (or a little bit at a time in small steps) reduces a display in the Web browser screen101to be a status object132(such as an icon) of a status type of “Waiting” as shown inFIG. 10;

(a3) the management client program513executes a weak arousal display for a status object132of a status of “Waiting” (more specifically, executes a highlighting of an icon for a certain period of time) as shown inFIG. 11;

(a4) the management client program513increases a value of the number of storage operation tasks that belong to a status of “Waiting” by 1 (and increases a value of the number of statuses of “Waiting” that has been stored into the storage resource505of the client555by 1) as shown inFIG. 11;
(a5) the management client program513changes a state of the Web browser screen101from a disable state to an enable state (a state in which a user operation to the Web browser screen101is valid) as shown inFIGS. 11; and
(a6) the management client program513transmits the information that indicates a storage operation task (hereafter referred to as the task information) that conforms to the information (for instance, a content that is displayed as a plan) that indicates an allocation plan that has been agreed to by a target user (an allocation plan that has been displayed in the dialog box901) to the task control program541. In the case in which the task control program541receives the task information from the client555, the task control program541executes a registration/execution processing of a task. The task information includes a storage ID (“DEF”) and the information that indicates a type of a task (“Allocate Storage”), for instance.

Since a plan that is a source of the task information is created by the storage management program540, it is also possible that an identifier of a plan is transmitted in the above (a6) and the task control program541creates the task information that is received based on the identifier of a plan that has been received and the information of a plan in the above processing.

FIG. 12shows a flow of a registration/execution processing of a task.

The task control program541executes a registration processing of a task in S1201. In other words, the task control program541adds the information related to a task that conforms to the task information to the task management table543. More specifically, the task control program541executes the following processing, for instance:

(*) the task control program541decides a task ID for the storage operation task and registers the task ID that has been decided as a task ID601;

(*) the task control program541registers a storage ID that is included in the task information as a storage ID602;

(*) the task control program541registers the information that indicates a task type that is included in the task information as a task type603;

(*) the task control program541registers “Waiting” as a status605; and

(*) the task control program541registers the information that indicates a current time (the information that indicates a time at a point of time of S1201) as an update time606.

In the next place, the task control program541executes an execution processing of a task (the processing that includes the processing of S1202to S1206). As a substitute for or in addition to that the execution processing of a task is executed after the registration processing of a task (the execution processing of a task is executed taking the registration processing of a task as an opportunity), the execution processing of a task can also be executed without taking the registration processing of a task as an opportunity. For instance, the execution processing of a task can also be executed on a periodic basis.

In S1202, the task control program541specifies the oldest Waiting task. More specifically, the task control program541specifies a storage operation task in which a time that is indicated by an update time606is oldest of at least one storage operation task that has a status605of “Waiting”, for instance.

In S1203, the task control program541modifies the status605to be “Running” and updates the update time606to be the information that indicates a time at a point of time of S1203for the storage operation task that has been specified in S1202.

In S1204, the task control program541executes the storage operation task that has been specified in S1202. More specifically, the task control program541creates a storage management instruction that is required for executing the storage operation task, transmits the storage management instruction to the storage system551, and receives a result of the storage management instruction as needed to execute the storage operation task.

In the case in which the storage operation task that has been executed in S1204is terminated (S1205: Yes), the task control program541modifies the status605to be “Finished” and updates the update time606to be the information that indicates a time at a point of time of S1206for the storage operation task.

FIG. 13shows a flow of a monitoring/display update processing of a task.

The present processing is started by the task monitoring program542on a periodic basis (or in a repetitive manner), for instance. The processing of S1301and the subsequent processing are executed for each of the information612to616of the user table544. The present processing will be described using one status as an example (referred to as a target status in the descriptions ofFIG. 13).

In S1301, the task monitoring program542refers to the user table544and specifies the number of the storage operation tasks that belong to the target status (the number of statuses).

In S1302, the task monitoring program542refers to the task management table543and counts the number of the storage operation tasks that have the status605equivalent to the target status.

In S1303, the task monitoring program542judges whether or not the number that has been specified in S1301and the number that has been counted in S1302are different from each other. In the case in which the result of the judgment is positive, S1304is executed. In the case in which the result of the judgment is negative, the processing is terminated for the target status and S1301is executed for another status.

In S1304, the task monitoring program542updates the value that corresponds to the target status in the user table544to be the value that indicates the number that has been counted in S1302. Moreover, the task monitoring program542notifies the management client program513of the value that indicates the number that has been counted in S1302.

In S1305, the management client program513receives the value that indicates the number that has been counted in S1302from the task monitoring program542, and updates the value that indicates the number of the storage operation tasks that belong to the target status in the second area120to be the value that has been received (the value that indicates the number that has been counted in S1302).

In S1306, the management client program513judges whether or not the value after the update in S1305is larger than the value before the update in S1305in the second area120. In other words, the management client program513judges whether or not the number of the storage operation tasks that belong to the target status has been increased. In the case in which the result of the judgment is positive, S1307is executed. In the case in which the result of the judgment is negative, the processing is terminated for the target status and S1301is executed for another status.

In S1307, the management client program513executes a weak arousal display for an icon that corresponds to the target status. S1307and S1305can also be executed at the same time.

The descriptions of the present embodiment have been executed above. The storage management software can be provided as an RIA by the present embodiment.

Moreover, in the case in which a user operation for executing a work operation for creating a storage operation task, the Web browser screen101becomes in the disable state and a work operation screen (such as a dialog box) that is a screen that is used in a work operation is displayed on the front of the Web browser screen101. In the case in which a work operation is executed via a work operation screen (for instance, in the case in which the information related to a storage operation task is input), a status of the storage operation task that conforms to the work operation is managed as “Waiting”. The disable state of the Web browser screen101is then canceled without an execution or a termination of the storage operation task. In other words, a work operation for newly creating a storage operation task can be enabled.

In the case in which a plurality of Web browsers is started and displayed and the same RIA is executed on each of a plurality of screens (more specifically, a plurality of the RIAs is executed by accessing Web pages that provide the same RIA in parallel in the Web browser screen (or in a tab screen of the Web browser screen)), a plurality of user operations are thought to be possible on the surface. However, it is not always true that an operation that has been executed by a storage operation task (process) is reflected to another storage operation task (process) in an expeditious way from the point of view of a characteristic of the RIA. As one of causes related to the reflection, the RIA is a program in which a wide area network (such as the Internet) is assumed. Even in the case in which a plurality of the RIAs that have been started is executed by the same client, each of the RIAs is frequently handled as being executed by different computers from the point of view of an RIA execution environment. As a result, even in the case in which a plurality of the RIAs is started by the same client, the above reflection cannot be executed in an orderly fashion and a storage management cannot be easily executed.

Consequently, even in the case in which the management client program is an RIA in the present embodiment, it can be said that a plurality of the information of the storage operation task can be input in parallel in essence without opening a plurality of Web browser screens (in other words, in a single Web browser screen). More specifically, in the case in which at least one storage operation task is in a wait state, it can be said that the information of the storage operation task can be newly input via a work operation screen that is displayed on the front of the Web browser screen. As a result, even in the case in which the management client program513is an RIA, a reduction of operability for a user can be moderated.

In accordance with the present embodiment, in the case in which a status of a storage operation task that is managed by the server557is modified, a value that indicates the latest number (the number after the update) of storage operation tasks that belong to the status is notified from the task monitoring program542to the management client program513. The value that corresponds to the status in the second area120is then updated to be the value that has been notified. Consequently, a user can know the latest number of storage operation tasks that is accompanied with a modification of a status of the storage operation task in an expeditious way.

While the preferred embodiment in accordance with the present invention has been described above, the present invention is not restricted to the embodiment, and various changes, modifications, and functional additions can be thus made without departing from the scope of the present invention as a matter of course.

For instance, for the display device502of the client555, it can also be possible that the display on the first area110is a display for a plurality of users (for instance, all users) and the display on the second area120is a display for a user of the client555. The display for a plurality of users can also be a list of the information related to a storage operation task that belongs to Waiting, Running, and Error (hereafter referred to as a first list) as shown inFIG. 14, or the display for a plurality of user can also be a list of the information related to a storage operation task that belongs to Finished (hereafter referred to as a second list) as shown inFIG. 15. The first list and the second list can also include the information that is included in the task management table543, can also be transmitted from the task control program557to the management client program513, and can also be displayed on the first area110by the management client program513. This is because an ingenuity on a display of the second area120targets a task of a target user whereby a highlighting is avoided, and on the other hand, a situation of a task that has been created by another user must be confirmed as needed in some case (for instance, in the case of a user of an upper level of each user).

Moreover for instance, the processing that has been described with reference toFIG. 10andFIG. 11can also be executed after the task control program541executes a task registration processing. More specifically, the following flow can also be executed:

(*) the management client program513transmits the information related to that an allocation plan has been agreed to by a user to the task control program541;

(*) the task control program541receives the information, executes the task registration processing, and transmits the information related to the number of storage operation tasks that belong to a status of “Waiting” (for instance, that the number has been increased by 1, or the number after the modification) to the management client program513; and
(*) the management client program.513receives the information and executes the processing that has been described with reference toFIG. 10andFIG. 11.

Moreover, the processing of a wide variety of types that has been described in the present embodiment can also be executed by the storage management program540or the management client program513. However, it is preferable that the server557is in charge of the processing for obtaining the information from the storage system and the processing for transmitting a management instruction that is to be configured for the storage system. This is because since the client555can be a computer that is coupled to the communication network521even on a temporary basis, an installation of a processing for obtaining the information in a repetitive manner from the storage system is unsuitable (or the installation is hard to be executed). Moreover, it is convenient from a point of view of security that a management instruction that may cause an elimination of data or a stoppage of a storage system is transmitted from the server557that has been determined.

REFERENCE SIGNS LIST

101: Web browser screen511: Web browser513: Management client program541: Task control program542: Task monitoring program543: Task management table544: User table