Archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage
Claim Score by NHIP
Abstract
Provided are a computer program product, system, and method for archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage. A volume image in the secondary storage is created comprising a copy of the volume in the primary storage. For each of a plurality of data sets in the volume, data set level archive operations are performed comprising, determining from metadata for the data set whether an archival policy criteria is satisfied, requesting an exclusive lock to the data set, and in response to obtaining the exclusive lock and determining that the archival policy is satisfied, updating a directory for the data set to indicate that the data set is archived in the volume image.

Term
8.7 yearsto projected expiry
Projected expiry 4 June 2035, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
22 claims: 3 independent, 19 dependent
- 1A computer program product for archiving data sets in a volume in a primary storage in a secondary storage, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:creating a volume image in the secondary storage comprising a copy of the volume in the primary storage;for each of a plurality of data sets in the volume, performing data set level archive operations by: determining from metadata for the data set whether an archival policy criteria is satisfied;requesting an exclusive lock to the data set;and in response to obtaining the exclusive lock and determining that the archival policy is satisfied, updating a directory for the data set to indicate that the data set is archived in the volume image.
- 9A system program product for archiving data sets in a volume in a primary storage in a secondary storage, comprising:a processor;and a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising: creating a volume image in the secondary storage comprising a copy of the volume in the primary storage;for each of a plurality of data sets in the volume, performing data set level archive operations by: determining from metadata for the data set whether an archival policy criteria is satisfied;requesting an exclusive lock to the data set;and in response to obtaining the exclusive lock and determining that the archival policy is satisfied, updating a directory for the data set to indicate that the data set is archived in the volume image.
- 16Broadest claimClaim Score 66, broad(NHIP)A method archiving data sets in a volume in a primary storage in a secondary storage, comprising:creating a volume image in the secondary storage comprising a copy of the volume in the primary storage;for each of a plurality of data sets in the volume, performing data set level archive operations by: determining from metadata for the data set whether an archival policy criteria is satisfied;requesting an exclusive lock to the data set;and in response to obtaining the exclusive lock and determining that the archival policy is satisfied, updating a directory for the data set to indicate that the data set is archived in the volume image.
Independent claims3
52 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
00011. Field of the Invention
0002The present invention relates to a computer program product, system, and method for archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage.
00032. Description of the Related Art
0004An information life management (ILM) system manages a data set life cycle through creation until deletion. An ILM system may determine certain data sets or files to migrate to archival storage based on an archive policy, such as the data set not being accessed for a predetermined period of time. If the data set later needs to be accessed, then it may be retrieved from archival storage to the primary storage from where it can be accessed again.
0005Automated, policy-based data ILM operations are performed at the file level. Storage software performs this function by applying policy criteria to each file based on the file's various metadata stored in catalogs, file structures, etc. The ILM operations including the archiving of the file utilizes host system processor resources to apply the policy criteria, compress files to migrate, and perform the migration operation.
0006In the current art, users of the International Business Machines (“IBM®”) DB2® database software have archived database objects when copying the objects to tape. With this technique, after all of the object level copies have been created on disk, the user invokes a hierarchical storage management operation, with the DFSMShsm function to archive all of the object level copies onto tape via a MIGRATE function. This function processes all of the objects at the file level, compresses the data onto tape and then updates the catalog entries for the data object to indicate that the objects have been archived. When the object needs to be retrieved, the file system intercepts any reference to the data and automatically returns the image copy back to disk so that it can be processed. (IBM and DB<b>2</b> are registered trademarks of IBM in the United States and other countries).
SUMMARY
0007Provided are a computer program product, system, and method for archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage. A volume image in the secondary storage is created comprising a copy of the volume in the primary storage. For each of a plurality of data sets in the volume, data set level archive operations are performed comprising, determining from metadata for the data set whether an archival policy criteria is satisfied, requesting an exclusive lock to the data set, and in response to obtaining the exclusive lock and determining that the archival policy is satisfied, updating a directory for the data set to indicate that the data set is archived in the volume image.
BRIEF DESCRIPTION OF THE DRAWINGS
0008<figref idref="DRAWINGS">FIG. 1</figref> illustrates an embodiment of a storage environment.
0009<figref idref="DRAWINGS">FIG. 2</figref> illustrates an embodiment of a directory record.
0010<figref idref="DRAWINGS">FIG. 3</figref> illustrates an embodiment of an archive inventory record.
0011<figref idref="DRAWINGS">FIGS. 4</figref><i>a </i>and <b>4</b><i>b </i>illustrate an embodiment of operations to archive data sets for a volume illustrate an embodiment of operations to establish a failover session.
0012<figref idref="DRAWINGS">FIG. 5</figref> illustrates a computing environment in which the components of <figref idref="DRAWINGS">FIG. 1</figref> may be implemented.
DETAILED DESCRIPTION
0013Described embodiments provide techniques for using an image level copy of a volume to archive data sets for the volume. After the image level copy is made of the volume on a secondary or archival storage, metadata for the data sets in the volume may be captured and then used during data set level archive operations to determine whether the data set satisfies an archival policy criteria. An exclusive lock is then used to lock the data set satisfying the archival policy criteria to allow the data set archive operation to continue by updating a data set directory to indicate that the data set has been archived.
0014<figref idref="DRAWINGS">FIG. 1</figref> illustrates an embodiment of a storage environment having a host system <b>100</b> that is connected to a primary storage system <b>102</b> and a secondary storage system <b>104</b>, which may be used to archive data sets in volumes <b>106</b> in the primary storage <b>102</b>. In one embodiment, the secondary storage system <b>104</b> may comprise a lower cost storage, such as a tape or inexpensive disk storage suitable for archive storage, and the primary storage system <b>102</b> may comprise faster access devices, such as a fast access hard disk drives, solid state storage devices, etc., suitable for the production volume. The host system <b>100</b> may communicate with the primary <b>102</b> and secondary <b>104</b> storage systems through a network <b>108</b>, direct cables, over a storage interface in host <b>100</b> hardware, etc.
0015The host system <b>100</b> includes an Input/Output (“I/O”) manager <b>112</b> to manage read and write requests directed to the primary storage <b>102</b>; a data set directory <b>200</b> having a record for each data set in the volume <b>106</b> providing metadata and other information for the data sets, such as a volume table of contents (“VTOC”); an archive inventory <b>300</b> having records for data sets archived to the secondary storage <b>104</b>; an archive manager <b>114</b> for managing the archiving of data from the primary storage <b>102</b> to the secondary storage <b>104</b>; and a copy manager <b>116</b> to create image level copies <b>110</b>, such as point-in-time copies, of the volumes <b>106</b>. The archive manager <b>114</b> may create a volume image <b>118</b> of the volume <b>106</b>, which is created by an image level copy operation that copies data at the track or block level.
0016A data set may comprise any logical representation of data stored in a volume <b>106</b>, such as a file, object, data set of extents, etc., to which tracks or physical blocks in the storage map.
0017The host <b>100</b> may comprise an enterprise storage controller/server suitable for managing access to attached storage devices. The network <b>108</b> may comprise a Storage Area Network (SAN), Local Area Network (LAN), Intranet, the Internet, Wide Area Network (WAN), peer-to-peer network, wireless network, arbitrated loop network, etc. The volumes <b>106</b> may be implemented in one or more storage devices, or an array of storage devices configured as Just a Bunch of Disks (JBOD), Direct Access Storage Device (DASD), Redundant Array of Independent Disks (RAID) array, virtualization device, tape storage, flash memory, etc. The storage devices used to implement the primary <b>102</b> and secondary <b>104</b> storages may comprise hard disk drives, solid state storage device (SSD) comprised of solid state electronics, such as a EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, flash disk, Random Access Memory (RAM) drive, storage-class memory (SCM), etc., magnetic storage disk, optical disk, tape, etc. As discussed in certain embodiments, the primary storage <b>102</b> may be comprised of a faster access storage device than the secondary storage <b>104</b>.
0018<figref idref="DRAWINGS">FIG. 2</figref> illustrates an embodiment of an instance of a data set directory record <b>200</b>, in the data set directory <b>200</b> for a data set in the volume <b>106</b> as including a data set identifier (ID) <b>202</b> identifying the data set; metadata <b>204</b> for the data set, such as file size, file type, last time referenced, number of references, priority, etc.; a primary storage location <b>206</b> indicating a location in the primary storage <b>104</b> at which the data set <b>202</b> is stored; and an archive flag <b>208</b> indicating whether the data set has been archived to the secondary storage <b>104</b>.
0019<figref idref="DRAWINGS">FIG. 3</figref> illustrates an embodiment of an instance of an archive inventory record <b>300</b>, for a data set that is archived to the secondary storage <b>104</b>, and includes a data set ID <b>302</b>; metadata <b>304</b> for the data set; and a secondary storage location <b>306</b> at which the data set <b>302</b> is archived in the volume image <b>118</b>.
0020<figref idref="DRAWINGS">FIGS. 4</figref><i>a </i>and <b>4</b><i>b </i>illustrate an embodiment of operations performed by the archive manager <b>114</b> to archive data sets in in the volume <b>106</b> in the volume image <b>118</b> created from the volume <b>106</b>. Thus, the operations of <figref idref="DRAWINGS">FIGS. 4</figref><i>a </i>and <b>4</b><i>b </i>may be performed after the volume image <b>118</b> is created by performing an image level copy of the volume <b>106</b> to the volume image <b>118</b>. Upon initiating (at block <b>400</b>) the archive operations for a volume <b>106</b> in a volume image <b>118</b> copy of the volume <b>106</b> in the secondary storage <b>104</b>, the archive manager <b>114</b> obtains (at block <b>402</b>) a lock on the volume <b>106</b> to prevent modification of the data sets in the volume <b>106</b>, such as a VTOC lock or lock on the data set directory <b>200</b> to prevent any intervening process from updating the volume. Upon obtaining the volume lock, the archive manager <b>114</b> creates (at block <b>404</b>) an image copy level <b>110</b> of the volume <b>106</b> including the data set directory <b>220</b> having metadata for the data sets in the volume <b>106</b> for a point-in-time after the image volume <b>116</b> was created. The archive manager <b>114</b> may invoke a copy manager <b>116</b> to create the image copy level <b>110</b>. After creating the image copy level <b>110</b>, the archive manager <b>114</b> releases (at block <b>406</b>) the lock on the volume <b>106</b>. However, at this point, the data sets in the image copy level <b>110</b> may differ from those in the volume image <b>118</b> if the data sets were updated while the volume image <b>118</b> was being created.
0021In certain embodiment, the volume lock obtained at block <b>402</b> does not prevent file level updates to the volume <b>106</b>. The lock may only prevent files from being created, extended and deleted on the volume while the image level copy <b>110</b> is created. This ensures that the image level copy <b>110</b> is structurally sound while still allowing most application access to the volume <b>106</b>.
0022The image copy level <b>110</b> may be created using a point-in-time copy operation using point-in-time copy software, such as the IBM FlashCopy® (FlashCopy is a registered trademark of IBM), snapshot, etc. An image level copy replicates data in a manner that appears instantaneous and allows a host to continue accessing the source volume while actual data transfers to the copy volume are deferred to a later time. The image level copy appears instantaneous because complete is returned to the copy operation in response to generating the relationship data structures without copying the data from the source to the target volumes. Point-in-time copy techniques typically defer the transfer of the data in the source volume <b>106</b> at the time the point-in-time copy relationship was established to the image copy level <b>110</b> until a write operation is requested to that data block on the source volume. The point-in-time copy relationships that are immediately established in response to the point-in-time copy command include a bitmap or other data structure indicating the location of blocks in the volume at either the source volume or the copy volume. The image level copy as of the point-in-time of its creation comprises the combination of the data in the source volume <b>106</b> and the data to be overwritten by the updates transferred to the image level copy <b>110</b>.
0023A loop of data set level archive operations is then performed at blocks <b>408</b> through <b>432</b> for each data set i in the volume <b>106</b> for which the volume image <b>118</b> was created. The archive manager <b>114</b> determines (at block <b>410</b>) from the metadata for the data set i in the data set directory captured in the image copy level <b>110</b> whether a policy criteria is satisfied. In one embodiment, the policy criteria may archive data sets that have not been referenced within a predetermined number of days, or based on one or more other criteria, such as a file type, priority of the file, etc. If (at block <b>412</b>) the policy criteria is satisfied, then the archive manager <b>114</b> requests (at block <b>414</b>) an exclusive lock for the data set i, to serialize access to the data set i and prevent other processes from modifying the data set i while the archive data set i is being considered for archival. If (at block <b>416</b>) the lock is obtained, then control proceeds (at block <b>420</b>) to block <b>422</b> in <figref idref="DRAWINGS">FIG. 4</figref><i>b</i>. If (at block <b>416</b>) the data set level lock cannot be obtained to serialize access to the data set, then another process may have write access to the data set that is open and may be changing the data set i so that is no longer consistent with the copy in the volume image <b>118</b>. In such case, that the lock cannot be obtained, control proceeds to block <b>418</b> to skip the data set i.
0024With respect to block <b>422</b> in <figref idref="DRAWINGS">FIG. 4</figref><i>b</i>, a determination is made whether the data set i in the volume image <b>118</b> on the secondary storage <b>104</b> is consistent with the data set i on the primary storage <b>102</b>. This consistency check may be performed by comparing the metadata of the data set i in the volume image <b>118</b> with the metadata of the current data set i in the volume <b>106</b>. A data set in the volume image <b>118</b> would be inconsistent if the data was updated while the volume image <b>118</b> was being created or while the data set level archive operations are performed at blocks <b>406</b>-<b>432</b>. Further to perform the consistency check operation at block <b>422</b>, the archive manager <b>114</b> may access the copy of the data set i in the volume image <b>118</b> by searching the volume image <b>118</b> for the data set by the data set name <b>202</b> or identifier. The located data set may then be copied from the volume image <b>118</b> to another location from where the metadata for the data set may be rebuilt and then the rebuilt metadata is used to compare with the current metadata <b>204</b> for the data set in the directory record <b>200</b><sub>i</sub>.
0025If (at block <b>422</b>) the data set i in the volume image <b>118</b> is consistent, then archiving continues by creating (at block <b>424</b>) an inventory record <b>300</b>, in the archive inventory <b>300</b> including captured metadata <b>304</b> associated with the data set i and indication of the secondary storage location <b>306</b> in the volume image <b>118</b> of the data set i. The data set directory record <b>200</b><sub>i </sub>for the data set i is updated (at block <b>426</b>) to indicate that the data set i is archived and not in the primary storage <b>102</b>, which may be implemented by setting the archive flag <b>208</b> to indicate that the data set i is archived and setting the primary storage location <b>206</b> field to null. The data set i on the primary storage <b>102</b> is deleted (at block <b>428</b>) and the exclusive lock on the data set i (at block <b>430</b>) is released.
0026If (at block <b>412</b>) the metadata in the image copy level <b>110</b> did not satisfy the archive policy criteria or if the data set lock could not be obtained due to another process currently modifying the data set i (at block <b>416</b>) of if (at block <b>422</b>) the data set in the volume image <b>106</b> is not consistent with the current data set in the primary volume <b>102</b> (at block <b>422</b>), then that data set i is skipped and not archived and control proceeds to block <b>432</b> to consider the next data set in the volume <b>106</b> until all data sets in the volume <b>106</b> have been considered.
0027After eligible data sets have been archived, the I/O manager <b>112</b> upon receiving an I/O request directed toward a data set having an archive flag <b>208</b> set indicating the data set has been archived, may then retrieve the data set from the volume image <b>118</b> to restore in the primary storage <b>102</b> from where I/O access may be provided to the data set. After migrating a data set back from the volume image <b>118</b>, the primary storage location <b>206</b> may be updated to indicate the location at which the data set was rebuilt and the archive flag <b>208</b> may be set to indicate that the data set is not archived. Further, the inventory record <b>300</b>, for that data set may be invalidated.
0028With described embodiments, a data set may be archived by using the copy of the data set in a volume image <b>118</b> created using an image level copy <b>110</b> of the volume <b>106</b>, e.g., track or block level backup, and then confirmation steps are performed to use the copy of the data set in the volume image <b>118</b> as an archive if the copy in the volume image <b>118</b> is consistent with the data set in the primary storage <b>102</b>. Further, with described embodiments, an image level copy <b>110</b> of the metadata for the data set, created after the volume image <b>118</b> is created, is used to determine whether the data set metadata satisfies an archive policy criteria. This allows the policy criteria determination for the data set to be performed without obtaining a lock on the data set.
0029Although the lock on the data set for the data set level archive operations is obtained after confirming the data set at the time the image level copy was created satisfies the policy criteria, a further consistency check comparing the metadata for the actual data set copy in the volume image <b>118</b> is performed during the data set archive level operations because the data set may have changed after creating the image level copy <b>110</b> (e.g., point-in-time copy) because only data set level locks are held during the data set level archive operations.
0030The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
0031The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
0032Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
0033Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
0034Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
0035These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
0036The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
0037The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
0038The host <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref> may be implemented in one or more computer systems, such as the computer system <b>502</b> shown in <figref idref="DRAWINGS">FIG. 5</figref>. Computer system/server <b>502</b> may be described in the general context of computer system executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system/server <b>502</b> may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
0039As shown in <figref idref="DRAWINGS">FIG. 5</figref>, the computer system/server <b>502</b> is shown in the form of a general-purpose computing device. The components of computer system/server <b>502</b> may include, but are not limited to, one or more processors or processing units <b>504</b>, a system memory <b>506</b>, and a bus <b>508</b> that couples various system components including system memory <b>506</b> to processor <b>504</b>. Bus <b>508</b> represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.
0040Computer system/server <b>502</b> typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server <b>502</b>, and it includes both volatile and non-volatile media, removable and non-removable media.
0041System memory <b>506</b> can include computer system readable media in the form of volatile memory, such as random access memory (RAM) <b>510</b> and/or cache memory <b>512</b>.
0042Computer system/server <b>502</b> may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system <b>513</b> can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus <b>508</b> by one or more data media interfaces. As will be further depicted and described below, memory <b>506</b> may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
0043Program/utility <b>514</b>, having a set (at least one) of program modules <b>516</b>, may be stored in memory <b>506</b> by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. The components of the computer <b>502</b> may be implemented as program modules <b>516</b> which generally carry out the functions and/or methodologies of embodiments of the invention as described herein. The systems of <figref idref="DRAWINGS">FIG. 1</figref> may be implemented in one or more computer systems <b>502</b>, where if they are implemented in multiple computer systems <b>502</b>, then the computer systems may communicate over a network.
0044Computer system/server <b>502</b> may also communicate with one or more external devices <b>518</b> such as a keyboard, a pointing device, a display <b>520</b>, etc.; one or more devices that enable a user to interact with computer system/server <b>502</b>; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server <b>502</b> to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces <b>522</b>. Still yet, computer system/server <b>502</b> can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter <b>524</b>. As depicted, network adapter <b>524</b> communicates with the other components of computer system/server <b>502</b> via bus <b>508</b>. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server <b>502</b>. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
0045The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean “one or more (but not all) embodiments of the present invention(s)” unless expressly specified otherwise.
0046The terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.
0047The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.
0048The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.
0049Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
0050A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention.
0051When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the present invention need not include the device itself.
0052The foregoing description of various embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims herein after appended.
Contents4
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2016364395A1 | Cited by | United States of America | Pre-grant |
| US2016364395A1 | Cited by | United States of America | Search report |
| US2023229354A1 | Cited by | United States of America | Search report |
| US2016364395A1 | Cited by | United States of America | Search report |
| US10783113B2 | Cited by | United States of America | Search report |
| US12056021B2 | Cited by | United States of America | Search report |
| US2016364395A1 | Cited by | United States of America | Search report |
| US10782893B2 | Cited by | United States of America | Applicant |
| US12386556B2 | Cited by | United States of America | Search report |
| US11327924B2 | Cited by | United States of America | Applicant |
| US2023115489A1 | Cited by | United States of America | Search report |
| US11886605B2 | Cited by | United States of America | Search report |
| US12182154B2 | Cited by | United States of America | Search report |
| US2017060980A1 | Cited by | United States of America | Search report |
| US2009037679A1 | Cites | United States of America | Pre-grant |
| US2012084524A1 | Cites | United States of America | Pre-grant |
| US2013054528A1 | Cites | United States of America | Pre-grant |
| US2014279846A1 | Cites | United States of America | Pre-grant |
| US2014344539A1 | Cites | United States of America | Pre-grant |
| US2016019224A1 | Cites | United States of America | Pre-grant |
| US8286030B1 | Cites | United States of America | Pre-grant |
4 members in 1 office; this record represents the family
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2016048522A1 | United States of America | A1 | |
| US10565159B2 | United States of America | B2 | |
| US2020142858A1 | United States of America | A1 | |
| US11327924B2 | United States of America | B2 |
93 transactions on the USPTO file
Allowed after 3 non-final rejections, 3 final rejections and 3 RCEs.
- Non-final rejections
- 3
- Final rejections
- 3
- RCEs
- 3
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Correspondence Address ChangeC.AD | C.AD | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| After Final Consideration Program Additional Consideration and/or updated searchAFAC | AFAC | |
| Interview Summary - Examiner Initiated - TelephonicEXET | EXET | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| PILOT- Request for After Final Consideration ProgramRAFC | RAFC | |
| Response after Final ActionA.NE | A.NE | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
11 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT RECEIVEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| Information on status: patent application and granting procedure in generalDOCKETED NEW CASE - READY FOR EXAMINATIONSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINERSTPP | STPP | |
| Information on status: application discontinuationFINAL REJECTION MAILEDSTCB | STCB | |
| Information on status: patent application and granting procedure in generalFINAL REJECTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINERSTPP | STPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20160048522
- Application
- 14458208
Titles
- English
- ARCHIVING DATA SETS IN A VOLUME IN A PRIMARY STORAGE IN A VOLUME IMAGE COPY OF THE VOLUME IN A SECONDARY STORAGE
Patent term adjustment
- A delay
- +306 daysthe office missed an examination deadline
- B delay
- +2 dayspendency past three years
- Applicant delay
- −12 days
- Net adjustment
- 296 days
Classification
- CPC, 3
- G06F16/113
- G06F17/30073
- G06F17/30088
- IPC, 1
- G06F17 30