US7657782B2

Creating and managing multiple virtualized remote mirroring session consistency groups

Summary by NHIP

Virtualized Remote Mirroring Sessions

The system virtualizes a single physical storage session into multiple virtual sessions representing distinct volume groups. It spawns unique threads for each virtual session and selectively performs remote mirroring operations based on assigned session identifiers indicating mirroring status.

Claim Score by NHIP

Read claim 23, the broadest

Abstract

A mechanism is provided for creating and managing multiple virtualized remote mirroring session consistency groups. The mechanism virtualizes a single physical session of a remote mirroring storage system so that a user is able to create and manage multiple virtual sessions as if they were storage volumes belonging to different physical sessions. With the mechanism of the illustrative embodiments, failover and failback operations may be performed with regard to a first set of virtual sessions while other virtual sessions continue uninterrupted. Thus, a user is provided with the flexibility to temporarily move, through a selective failover operation, selected application production workloads from production sites to recovery sites while other applications can run continuously at the production site. Later, those failed-over applications may failback to the production site and rejoin the physical session.

US7657782B2, drawing sheet 1
Sheet 1 of 7

Term

Projected expiry 14 September 2027.

  1. Priority and filed
  2. Granted
  3. Today
  4. Projected expiry

29 claims: 4 independent, 25 dependent

  1. 1
    A computer program product comprising a computer recordable medium tangibly embodying a computer readable program, wherein the computer readable program, when executed on a computing device, causes the computing device to:establish a physical session for a storage control unit associated with the computing device, wherein the physical session includes a plurality of storage volume groups;establish a virtual session, within the physical session, for each of the plurality of storage volume groups thereby forming a plurality of virtual sessions;receive a request to mirror one or more virtual sessions in the plurality of virtual sessions;spawn a thread for each virtual session in the plurality of virtual sessions;assign a unique session identifier to each thread, wherein the unique session identifier indicates either mirroring of the virtual session or not to mirror the virtual session;selectively perform a remote mirroring operation, between the computing device and a second computing device, with respect to one or more of the storage volume groups in the plurality of storage volume groups based on whether the one or more storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating the mirroring of the virtual session while other storage volume groups in the plurality of storage volume groups are not subjected to the remote mirroring operation based on whether the other storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating not to mirror the virtual session;and update a task instruction pointer (TIP) by each thread after completion of the corresponding thread's operations in the remote mirroring operation, wherein a thread that has the associated unique session identifier indicating the mirroring of the virtual session updates the TIP when the remote mirroring operation is complete and wherein the thread that has the associated unique session identifier indicating not to mirror the virtual session updates the TIP without performing any remote mirroring operation.
  2. 12
    A data processing system for performing a remote mirroring operation between the data processing system and another data processing system, comprising:a processor;and a memory coupled to the processor, wherein the memory contains instructions which, when executed by the processor, cause the processor to: establish a physical session for a storage control unit associated with the computing device, wherein the physical session includes a plurality of storage volume groups;establish a virtual session, within the physical session, for each of the plurality of storage volume groups thereby forming a plurality of virtual sessions;receive a request to mirror one or more virtual sessions in the plurality of virtual sessions;spawn a thread for each virtual session in the plurality of virtual sessions;assign unique session identifier to each thread, wherein the unique session identifier indicates either mirroring of the virtual session or not to mirror the virtual session;selectively perform a remote mirroring operation, between the computing device and a second computing device, with respect to one or more of the storage volume groups in the plurality of storage volume groups based on whether the one or more storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating the mirroring of the virtual session while other storage volume groups in the plurality of storage volume groups are not subjected to the remote mirroring operation based on whether the other storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating not to mirror the virtual session;and update a task instruction pointer (TIP) by each thread after completion of the corresponding thread's operations in the remote mirroring operation, wherein a thread that has the associated unique session identifier indicating the mirroring of the virtual session updates the TIP when the remote mirroring operation is complete and wherein the thread that has the associated unique session identifier indicating not to mirror the virtual session updates the TIP without performing any remote mirroring operation.
  3. 23
    Broadest claimClaim Score 21, narrow(NHIP)A method for performing a remote mirroring operation between a production site system and a recovery site system, comprising:establishing a physical session for a storage control unit associated with the production site system, wherein the physical session includes a plurality of storage volume groups;establishing a virtual session, within the physical session, for each of the plurality of storage volume groups thereby forming a plurality of virtual sessions;receiving a request to mirror one or more virtual sessions in the plurality of virtual sessions;spawning a thread for each virtual session in the plurality of virtual sessions;assigning a unique session identifier to each thread, wherein the unique session identifier indicates either mirroring of the virtual session or not to mirror the virtual sessions;selectively performing a remote mirroring operation, between the computing device and a second computing device, with respect to one or more of the storage volume groups in the plurality of storage volume groups based on whether the one or more storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating the mirroring of the virtual session while other storage volume groups in the plurality of storage volume groups are not subjected to the remote mirroring operation based on whether the other storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating not to mirror the virtual session;and updating a task instruction pointer (TIP) by each thread after completion of the corresponding thread's operations in the remote mirroring operation, wherein a thread that has the associated unique session identifier indicating the mirroring of the virtual session updates the TIP when the remote mirroring operation is complete and wherein the thread that has the associated unique session identifier indicating not to mirror the virtual session updates the TIP without performing an remote mirroring operation.
  4. 29
    A method of providing a data mirroring service, comprising:providing one or more of a production site computing device or a recovery site computing device;and providing a data mirroring service application software on at least one of the one production site computing device or the recovery site computing device, wherein the data mirroring service application software: establishes a physical session for a storage control unit associated with the one or more production site computing devices, wherein the physical session includes a plurality of storage volume groups;establishes a virtual session, within the physical session, for each of the plurality of storage volume groups thereby forming a plurality of virtual sessions;receives a request to mirror one or more virtual sessions in the plurality of virtual sessions;spawns a thread for each virtual session in the plurality of virtual sessions;assigns a unique session identifier to each thread, wherein the unique session identifier indicates either mirroring of the virtual session or not to mirror the virtual session;selectively performs a remote mirroring operation, between the computing device and a second computing device, with respect to one or more of the storage volume groups in the plurality of storage volume groups based on whether the one or more storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating the mirroring of the virtual session while other storage volume groups in the plurality of storage volume groups are not subjected to the remote mirroring operation based on whether the other storage volume groups has an associated virtual session with an associated thread that has an associated unique session identifier indicating not to mirror the virtual session;and updates a task instruction pointer (TIP) by each thread after completion of the corresponding thread's operations in the remote mirroring operation. wherein a thread that has the associated unique session identifier indicating the mirroring of the virtual session updates the TIP when the remote mirroring operation is complete and wherein the thread that has the associated unique session identifier indicating not to mirror the virtual session updates the TIP without performing any remote mirroring operation.