Patents Assigned to Cirrus Data Solutions, Inc.
-
Patent number: 11789657Abstract: An intercept engine is installed on a computer and includes an intercept filter adapted to intercept selected commands transmitted between a file system and a storage device. The intercept engine also includes an intercept manager adapted to transmit to the intercept filter one or more primitives, wherein each primitive includes device information specifying a device, wherein a command directed to the specified device is to be intercepted, command type information specifying a type of command to be intercepted, and follow-up action information specifying an action to be performed after the command has been intercepted. A primitive may also include default action information specifying an action to be performed with respect to the command if a communication between the intercept filter and the intercept manager is interrupted. The intercept engine intercepts commands transmitted between the file system and the storage device in accordance with the one or more primitives.Type: GrantFiled: October 22, 2021Date of Patent: October 17, 2023Assignee: CIRRUS DATA SOLUTIONS INC.Inventors: Wai T. Lam, Sammy Tam, Li-Hsiang Cheng, Tomasz Jaworski
-
Patent number: 10152281Abstract: A method of transparently inserting a virtual storage layer into a Fiber channel based storage area network (SAN) while maintaining continuous I/O operations is provided. A device is inserted between a host entity and a first storage device. The device identifies a plurality of first paths between the host entity and the first storage device, and defines a plurality of second paths by defining, for each first path among the plurality of first paths, a corresponding second path between the host entity and a second storage device. The device determines, for each of the plurality of first paths, a respective first state. The device establishes, for each of the second paths among the plurality of second paths, a second state based on the first state of the corresponding first path. The device redirects, to the second storage device, communications directed from the host entity to the first storage device, via the plurality of second paths.Type: GrantFiled: April 30, 2018Date of Patent: December 11, 2018Assignee: CIRRUS DATA SOLUTIONS, INC.Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
-
Patent number: 10013215Abstract: A method of transparently inserting a virtual storage layer into a Fiber channel based storage area network (SAN) while maintaining continuous I/O operations is provided. A device is inserted between a host entity and a first storage device. The device identifies a plurality of first paths between the host entity and the first storage device, and defines a plurality of second paths by defining, for each first path among the plurality of first paths, a corresponding second path between the host entity and a second storage device. The device determines, for each of the plurality of first paths, a respective first state. The device establishes, for each of the second paths among the plurality of second paths, a second state based on the first state of the corresponding first path. The device redirects, to the second storage device, communications directed from the host entity to the first storage device, via the plurality of second paths.Type: GrantFiled: September 14, 2017Date of Patent: July 3, 2018Assignee: Cirrus Data Solutions, Inc.Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
-
Patent number: 9792076Abstract: A method of transparently inserting a virtual storage layer into a Fibre channel based storage area network (SAN) while maintaining continuous I/O operations is provided. A device is inserted between a host entity and a first storage device. The device identifies a plurality of first paths between the host entity and the first storage device, and defines a plurality of second paths by defining, for each first path among the plurality of first paths, a corresponding second path between the host entity and a second storage device. The device determines, for each of the plurality of first paths, a respective first state. The device establishes, for each of the second paths among the plurality of second paths, a second state based on the first state of the corresponding first path. The device redirects, to the second storage device, communications directed from the host entity to the first storage device, via the plurality of second paths.Type: GrantFiled: October 31, 2016Date of Patent: October 17, 2017Assignee: CIRRUS DATA SOLUTIONS, INC.Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
-
Patent number: 9740649Abstract: A first port of a device is connected to a first switch port of a first virtual switch defined within a switch device and a second port of the device is connected to a second switch port of a second virtual switch defined within the switch device. A target world wide port name of a target port of a storage system connected to the second virtual switch is identified by the device. The first port of the device is registered, in a first registration procedure, with the first virtual switch based on the target world wide port name. Registration information relating to an initiator port of a server that is associated with the target port is received in a second registration procedure. An initiator world wide port name of the initiator port of the server is determined based on the registration information. A storage volume in the storage system that is associated with the initiator port is identified based on the initiator world wide port name of the initiator port.Type: GrantFiled: September 29, 2016Date of Patent: August 22, 2017Assignee: Cirrus Data Solutions, Inc.Inventors: Wai Lam, Wayne Lam, Chang Liu
-
Patent number: 9542120Abstract: A volume of data is copied from a first location to a second location. A procedure to repair a volume of data is initiated. A first instruction associated with the repair procedure is selectively redirected to a staging storage, based on a determination that the first instruction relates to an action that makes a change to the volume. A second instruction is selectively redirected to one of the staging storage and the volume, based on data stored in the staging storage.Type: GrantFiled: December 18, 2013Date of Patent: January 10, 2017Assignee: CIRRUS DATA SOLUTIONS, INC.Inventors: Wai Lam, Wayne Lam
-
Patent number: 9495113Abstract: A first port of a device is connected to a first switch port of a first virtual switch defined within a switch device and a second port of the device is connected to a second switch port of a second virtual switch defined within the switch device. A target world wide port name of a target port of a storage system connected to the second virtual switch is identified by the device. The first port of the device is registered, in a first registration procedure, with the first virtual switch based on the target world wide port name. Registration information relating to an initiator port of a server that is associated with the target port is received in a second registration procedure. An initiator world wide port name of the initiator port of the server is determined based on the registration information. A storage volume in the storage system that is associated with the initiator port is identified based on the initiator world wide port name of the initiator port.Type: GrantFiled: August 3, 2015Date of Patent: November 15, 2016Assignee: CIRRUS DATA SOLUTIONS, INC.Inventors: Wai Lam, Wayne Lam, Chang Liu
-
Patent number: 9298390Abstract: A first volume comprising a plurality of blocks stored in a first location is accessed. A plurality of hash values representing the plurality of blocks is stored. The plurality of blocks is copied to a second volume stored in a second location, generating a copied volume. The copied volume is verified based on the plurality of hash values. In one embodiment, the first volume is altered, after the plurality of hash values is stored. Altering the first volume may include changing data in a selected one of the plurality of blocks. The first volume may be altered during copying of the plurality of blocks to the second volume.Type: GrantFiled: April 4, 2013Date of Patent: March 29, 2016Assignee: Cirrus Data Solutions, Inc.Inventors: Wai T. Lam, Wayne Lam, Yik Shum Tam
-
Patent number: 9229647Abstract: A first device in a network, having a first port, receives an identifier of a second port of a second device in the network, the network comprising a host entity, a switch, and a storage system. The first port of the first device spoofs the second port of the second device, during a communication with the switch. The first device receives information identifying a third port of a third device in the network that is zoned to the second port of the second device. The device identifies data stored in the storage system that may be accessed by the host entity, based at least on the information.Type: GrantFiled: May 19, 2015Date of Patent: January 5, 2016Assignee: Cirrus Data Solutions, Inc.Inventors: Wai T. Lam, Wayne Lam, Chang Liu
-
Patent number: 9077752Abstract: A first device in a network, having a first port, receives an identifier of a second port of a second device in the network, the network comprising a host entity, a switch, and a storage system. The first port of the first device spoofs the second port of the second device, during a communication with the switch. The first device receives information identifying a third port of a third device in the network that is zoned to the second port of the second device. The device identifies data stored in the storage system that may be accessed by the host entity, based at least on the information.Type: GrantFiled: December 21, 2012Date of Patent: July 7, 2015Assignee: CIRRUS DATA SOLUTIONS, INC.Inventors: Wai T. Lam, Wayne Lam, Chang Liu
-
Publication number: 20150169251Abstract: A data packet is generated. An instruction relating to a selected data processing operation, and information indicating that additional processing of the data packet is required, are inserted into the data packet. For example, the information may comprise a predetermined bit or a predetermined sequence of bits. In one embodiment, the information is inserted at a predetermined location within the data packet. The data packet is inserted into a selected field of an iSCSI command. For example, the data packet may be inserted into a buffer field of the iSCSI command. The iSCSI command is transmitted.Type: ApplicationFiled: December 12, 2013Publication date: June 18, 2015Applicant: CIRRUS DATA SOLUTIONS, INC.Inventors: Wai LAM, Wayne LAM, Yik Shum TAM
-
Publication number: 20140181445Abstract: A volume of data is copied from a first location to a second location. A procedure to repair a volume of data is initiated. A first instruction associated with the repair procedure is selectively redirected to a staging storage, based on a determination that the first instruction relates to an action that makes a change to the volume. A second instruction is selectively redirected to one of the staging storage and the volume, based on data stored in the staging storage.Type: ApplicationFiled: December 18, 2013Publication date: June 26, 2014Applicant: CIRRUS DATA SOLUTIONS, INC.Inventors: Wai LAM, Wayne LAM
-
Publication number: 20140181440Abstract: A first volume comprising a plurality of blocks stored in a first location is accessed. A plurality of hash values representing the plurality of blocks is stored. The plurality of blocks is copied to a second volume stored in a second location, generating a copied volume. The copied volume is verified based on the plurality of hash values. In one embodiment, the first volume is altered, after the plurality of hash values is stored. Altering the first volume may include changing data in a selected one of the plurality of blocks. The first volume may be altered during copying of the plurality of blocks to the second volume.Type: ApplicationFiled: April 4, 2013Publication date: June 26, 2014Applicant: Cirrus Data Solutions, Inc.Inventors: Wai T. Lam, Wayne Lam, Yik Shum Tam
-
Publication number: 20130166747Abstract: A first device in a network, having a first port, receives an identifier of a second port of a second device in the network, the network comprising a host entity, a switch, and a storage system. The first port of the first device spoofs the second port of the second device, during a communication with the switch. The first device receives information identifying a third port of a third device in the network that is zoned to the second port of the second device. The device identifies data stored in the storage system that may be accessed by the host entity, based at least on the information.Type: ApplicationFiled: December 21, 2012Publication date: June 27, 2013Applicant: CIRRUS DATA SOLUTIONS, INC.Inventor: Cirrus Data Solutions, Inc.
-
Patent number: 8417818Abstract: A target world wide port name of a target port of a storage system is identified, by a device located in a path between a switch port of a switch and the target port of the storage system. A first port of the device is registered with the switch based on the target world wide port name, in a first registration procedure. Registration information relating to an initiator port of a server that is associated with the target port is received, in a second registration procedure. An initiator world wide port name of the initiator port of the server is determined, based on the registration information. A storage volume in the storage system that is associated with the initiator port is identified, based on the initiator world wide port name of the initiator port.Type: GrantFiled: July 24, 2012Date of Patent: April 9, 2013Assignee: Cirrus Data Solutions, Inc.Inventors: Wai T. Lam, Wayne Lam, Chang Liu
-
Patent number: 8255538Abstract: A target world wide port name of a target port of a storage system is identified, by a device located in a path between a switch port of a switch and the target port of the storage system. A first port of the device is registered with the switch based on the target world wide port name, in a first registration procedure. Registration information relating to an initiator port of a server that is associated with the target port is received, in a second registration procedure. An initiator world wide port name of the initiator port of the server is determined, based on the registration information. A storage volume in the storage system that is associated with the initiator port is identified, based on the initiator world wide port name of the initiator port.Type: GrantFiled: December 23, 2011Date of Patent: August 28, 2012Assignee: Cirrus Data Solutions, Inc.Inventors: Wai T. Lam, Wayne Lam, Chang Liu