IBM® is a registered trademark of the International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be trademarks and registered trademarks, or trade or product names of International Business Machines Corporation or other companies. For example, JAVASCRIPT is a trademark of Sun Microsystems, Inc.
This invention relates generally to networked computer system administration and management. More particularly, this invention relates to storage management products that require images to display solutions to hardware management. This invention can be applied to any system running any service provider application.
In general, when copying data using a storage system device, customers and/or users do not have means of visualizing what their data is actually doing at any given time. This can cause a problem especially if the data replication solution is complex. Furthermore, when dealing with little to zero data loss disaster recovery solutions the entire solutions are very complex. Having a way to model the solution to the customer/user in a visual way can help the customer/user monitor data replication transactions by giving them the ability to see at a glance what their data replication solutions are doing at any given moment. One way to do this would be to create many static images that could potentially model the data replication solution to the customer/user at all the different states that the solution could be in. One of the problems with creating static images for these data replication solutions is the numerous states that these static images can be in. Instead of having a single picture for each state, which could mean hundreds of static pictures, there needs to be a way to model these data replication solutions so they can be represented visually to the customer/user in a dynamic solution. The other problem with static images is the fact that data replication solutions can change at any given time for each different customer/user; which would then require a countless number of static images and/or pictures. Each customer/user has different requirements for their data replication solutions, which then requires numerous specialized images for each customer/user; this is just not possible when dealing with thousands of customers/users at one time. This problem has been observed in general in many types of service provider replication applications including point-in-time copy applications, synchronous copy applications, asynchronous copy applications and combinations of two or more of the afore mentioned types of copy applications. Thus, replication application problems are not limited to the above mentioned applications. Other applications and vendors are similarly affected.
Therefore, the need exists for systems, methods and computer products for a new technique to model the images that will represent the data replication states that will be displayed to the customer/user, wherein the new modeling technique will allow a plurality of different images (where the number of different images in the plurality of images is unlimited) to be generated for each of the customer's/user's data replication solutions, given the different data replication solution states.
Further, the need exists for a way to automatically create a model for these data replication state images, which will make the image creation process dynamic and seamless to the customer/user. This will allow any number of data replication solutions and image state possibilities to be dynamically generated when customers and/or users want to view images of their data replication solution states.
A method and system of modeling a set of images representing a group of data replication states and displaying the group of data replication states to a customer and/or a user in computer automated networked storage system devices configured in a networked automated computer system are disclosed. The method and system create an image data modeling definition; which includes a definition of a set of images representing the group of data replication states. Using the definition of the set of images representing the group of data replication states included in the image data modeling definition, a group of dynamic images are created. Creating the group of dynamic images includes: specifying how to draw site and role specific parts of the group of dynamic images by listing a site specification in a site tag. The site specification includes a set of up to two roles associated with the site. A first role of the set of up to two roles is either a source of any copy type or a target of one of either a synchronous or asynchronous copy type. A second role of the set of up to two roles is a target of a point in time copy; specifying site labels in a session image by multiple name tags included in the site tag. The site tag further includes a group of up to a first role tag and a second role tag, where each role tag specifies a role for the site and each role tag includes a name for each role and a specification for a state of each role, where each role specifies a role image that can be drawn in a dynamic session image. The site tag includes the first role tag and the second role tag, the second role tag always specifies the target of a point-in-time copy relationship and a second role always appears underneath a first role when the role image is drawn. Further, using a rolepair tag enclosing information used to draw an arrow between two specific role images, the method and system specifies how to draw arrows that connect each role of the group of dynamic images by: using the rolepair tag enclosing information used to draw an arrow between two specific role images, wherein the rolepair tag encompasses five inner tags including one or more role inner tags, a cptype inner tag, a direction inner tag, a participating inner tag and an active inner tag. Two role inner tags are used to specify roles between which arrows are drawn. Names featured in the role must be the same as two of the roles specified in the role tags used to specify the sites. The method and system specify which type of copy is being used for arrows by the cptype inner tag, where the type of copy is either a point-in-time copy, synchronous copy, or asynchronous copy or any combination of two or more of point-in-time copy, synchronous copy or asynchronous copy. The direction inner tag specifies a direction to draw one or more point-in-time copy arrows, synchronous copy arrows or asynchronous copy arrows. Acceptable arguments for the direction inner tag are left and right. The method and system then selects either filled or unfilled icons representing arrows by the active inner tag; and marking with the participating inner tag when arrows can be shown in the group of dynamic images; displaying the group of data replication states to the customer/user; and generating the entire copy solution model definition that is used to graphically display an entire copy solution, where the entire copy solution can be a zero data loss solution or one or more different types of copy solutions, based on customer/user needs; and generating the dynamic visual display of the entire copy solution using the copy solution model definition to cause the user to see the dynamic visual display of the entire copy solution.
The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings, which are meant to be exemplary, and not limiting, wherein:
Exemplary embodiments of the method and system for modeling a set of images representing a group of data replication states and displaying the group of data replication states to a customer and/or user are described in detail below. The disclosed exemplary embodiments are intended to be illustrative only, since numerous modifications and variations therein will be apparent to those of ordinary skill in the art. In reference to the drawings, like numbers will indicate like parts continuously throughout the view. The exemplary embodiments disclosed herein address problems in . . . components in the IBM enterprise operating system environment. However, the disclosed exemplary embodiments can be applied to any system running any service provider application. Further, the terms “a”, “an”, “first”, “second” and “third” herein do not denote limitations of quantity, but rather denote the presence of one or more of the referenced item(s).
A dynamic image creation for copy service data replication modeling method 70 (herein referred to as “method 70”) and a dynamic image creation for copy service data replication modeling system 20 (herein referred to as “system 20”) of a Total Storage Productivity center for Replication (TPC-R) implementing method 70 are illustrated in
Referring to
In the exemplary embodiment, system 20 includes a combination of controllers including display controller 23, memory controller 25 and input/output (I/O) controller 27 and a combination of computer peripheral devices cooperatively coupled to system 20 including display 21, a set of input devices including keyboard 60 and mouse 29, network interface 28, and output device 34, via standard interface connectivity. Network interface 28 cooperatively couples computer workstation processor 22 via network 50 (where network 50 can be a wide area network such as the Internet or a local area network, including an intranet or an extranet) to a plurality of networked storage system devices 51 for copying data to. The plurality of networked storage system devices 51 includes storage devices represented by role names for a plurality of sites, as illustrated in
Display 21 displays copy solutions. In the exemplary embodiment
Referring to
Referring to
The following Tables contain descriptions/definitions and images of icons, and symbols stored in repository entry locations R91, R92 and up to Rn in dynamic image definition repository 26. The following tables 1-5 specify iconic symbols used as images in TPC-R for a point-in-time copy type, a Synchronous copy type, an Asynchronous copy type or any combination of the above copy types, such as a combination of Synchronous-Asynchronous copy type. The point-in-line copy type can also be referred to as a FlashCopy (FC) copy type. The synchronous copy type can also be referred to as a Metro Mirror (MM) copy type, and the Asynchronous copy type can also be referred to as a Global Mirror (GM) copy type and the combination Synchronous-Asynchronous copy type can be referred to as a Metro Global Mirror (MGM) dynamic session image. Included in tables 1-5 are explanations of when each icon is used. These tables show how the TPC-R product is using the images and are shown here to provide more information as to how the dynamic images are be created.
Referring to Table 5, the combination Synchronous-Asynchronous (i.e., Metro Global Mirror) copy type includes the special arrow image 202 that spans multiple sites. This special arrow image 202 is referred to as the H1-H3 arrow, as it links the H1 to H2 to H3 roles. The H1-H3 arrow will never show in the case that the H1-H3 sequence is not copying and there are no errors on the sequence. This is to avoid over-populating the dynamic session image with unused arrows, and causing possible customer confusion. Only sequences that are playing an active role in the session can be shown in the image, with the exception of the sequences that are shown in the defined state. As such, the H1-H3 arrow is not shown if the H1-H3 sequence is not active or has errors. When the H1-H3 sequence is active and shown in the image, the H1-H2 sequence and H2-H3 sequence can not be shown. Whether a sequence arrow is shown is determined by the XML definitions.
Referring to
Thus, the operation 74 of specifying how to draw site and role specific parts of the group of dynamic images includes the following sub operations: a sub operation of listing a site specification in a site tag, where the site specification includes a set of up to two roles associated with the site, where a first role of the set of up to two roles is one of a source of any copy type and a target of one of a synchronous and asynchronous copy type, and a second role of the set of up to two roles is a target of a point in time copy is performed in regard to operation 74 of specifying how to draw site and role specific parts of the group of dynamic images. A site specification is declared using the <site> tag. The site tag encloses multiple <name> tags, which specify labels that are applied to the site in the session image, for example, Boulder. At this point, multiple <name> tags are supported by the XML, although the Dynamic Session Image will only draw the first name specified for the site. The <site> tag also encompasses up to two <role> tags. Each <role> tag included in the <site> tag specifies a role for the site, including a name for the role and a specification for the state of the role. Example role names can be H1, H2, H3, T1, and/or J2. The state of the role specifies which role image can be shown in the Dynamic Session Image. Table 6 shows a list of possible values and the related images.
Another sub operation of specifying site labels in a session image by multiple name tags includes in the site tag, where the site tag includes a group of up to a first role tag and a second role tag, where each role tag specifies a role for the site, and where each role tag includes a name for each role and a specification for a state of each role is performed in regard to operation 74 of specifying how to draw site and role specific parts of the group of dynamic images.
Another sub operation of specifying, by the state of each role, a role image that can be drawn in a dynamic session image, and when the site tag includes the first role tag and the second role tag, the second role tag always specifies the target of a point-in-time copy relationship and a second role will always appear underneath a first role when the role image is drawn is performed in regard to operation 74 specifying how to draw site and role specific parts of the group of dynamic images.
Thus, in the exemplary embodiment describing the above sub operations associated with operation 74 specifying how to draw site and role specific parts of the group of dynamic images, XML code is used to define <site> and <role> tags. An exemplary listing of such XML code is shown below. Corresponding site names and role labels associated with role images resulting from the execution of this XML code in conjunction with program 41 are illustrated in
The above XML code relates to operation 74, which specifies only how to draw the site and role specific parts of the image, not the arrows that connect the roles. The arrows are specified in operation 75 with their own separate XML, using the <rolepair> tag, where a <rolepair> tag encloses information used to draw a regular arrow between two specific role images. The <rolepair> tag encompasses five inner tags, <role>, <cptype>, <direction>, <participating>, and <active>.
Referring to
Another sub operation of using two role inner tags to specify roles between which arrows are drawn, where names featured in the role must be the same as two of the roles specified in the role tags used to specify the sites is performed in regard to operation 75 specifying how to draw arrows that connect each role of the group of dynamic images. The names featured in the role must be the same as two of the roles specified in the <role> tags used to specify the definition of sites.
Another sub operation of specifying which type of copy is being used for arrows by the cptype inner tag, wherein the type of copy is one of point-in-time copy, synchronous copy, asynchronous copy and a combination of two or more of point-in-time copy, synchronous copy and asynchronous copy is performed in regard to operation 75 specifying how to draw arrows that connect each role of the group of dynamic images.
Another sub operation of specifying a direction to draw one or more point-in-time copy arrows, synchronous copy arrows and asynchronous copy arrows by the direction inner tag, wherein acceptable arguments for the direction inner tag are left and right is performed in regard to operation 75 of specifying how to draw arrows that connect each role of the group of dynamic images.
Another sub operation of selecting one of filled and unfilled icons representing arrows by the active inner tag is performed in regard to operation 75 specifying how to draw arrows that connect each role of the group of dynamic images.
Certain sequences are kept track of by TPC for Replication that can not always be shown in the Dynamic Session Image. The <participating> tag is used to mark whether the arrow for the sequence can be shown in the image. For example, the H1-H3 sequence will only be shown in the image at certain times. In addition, at times the H1-H2 and H2-H3 images will not always be shown. Thus, another sub operation of marking with the participating inner tag when arrows can be shown in the group of dynamic images is performed in regard to operation 75 specifying how to draw arrows that connect each role of the group of dynamic images.
In the exemplary embodiment describing the above sub operations associated with operation 75 of specifying how to draw regular arrows that connect each role of the group of dynamic images, exemplary XML code defining the above described sub operations of operation 75 of specifying how to draw arrows is listed below. Corresponding regular arrow images associated with role images resulting from the execution of this XML code in conjunction with program 41 are illustrated in
The above XML code specifies how to draw both the site and role specific parts of the image, as well as the arrows that connect the roles; thus representing the group of data replication states.
Referring to
Referring to
While the disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the disclosure. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the disclosure without departing from the essential scope thereof. Therefore, it is intended that the disclosure not be limited to the particular exemplary embodiment disclosed as the best mode contemplated for carrying out this disclosure, but that the disclosure will include all embodiments falling within the scope of the appended claims.