Patents by Inventor Wai T. Lam

Wai T. Lam has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11789657
    Abstract: 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: Grant
    Filed: October 22, 2021
    Date of Patent: October 17, 2023
    Assignee: CIRRUS DATA SOLUTIONS INC.
    Inventors: Wai T. Lam, Sammy Tam, Li-Hsiang Cheng, Tomasz Jaworski
  • Publication number: 20220129202
    Abstract: 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: Application
    Filed: October 22, 2021
    Publication date: April 28, 2022
    Inventors: Wai T. LAM, Sammy Tam, Li-Hsiang Cheng, Tomasz Jaworski
  • Patent number: 10152281
    Abstract: 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: Grant
    Filed: April 30, 2018
    Date of Patent: December 11, 2018
    Assignee: CIRRUS DATA SOLUTIONS, INC.
    Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
  • Publication number: 20180246652
    Abstract: 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: Application
    Filed: April 30, 2018
    Publication date: August 30, 2018
    Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
  • Patent number: 10013215
    Abstract: 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: Grant
    Filed: September 14, 2017
    Date of Patent: July 3, 2018
    Assignee: Cirrus Data Solutions, Inc.
    Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
  • Publication number: 20180011639
    Abstract: 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: Application
    Filed: September 14, 2017
    Publication date: January 11, 2018
    Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
  • Patent number: 9792076
    Abstract: 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: Grant
    Filed: October 31, 2016
    Date of Patent: October 17, 2017
    Assignee: CIRRUS DATA SOLUTIONS, INC.
    Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
  • Publication number: 20170293535
    Abstract: A hash-optimized backup system and method takes data blocks and generates a probabilistically unique digital fingerprint of the content of each data block using a substantially collision-free algorithm. The process compares the generated fingerprint to a database of stored fingerprints if the generated fingerprint matches a stored fingerprint, the data block is determined to already have been backed up, and therefore does not need to be hacked up again. Only if the generated fingerprint does not match a stored fingerprint is the data block backed up, at which point the generated fingerprint is added to the database of stored fingerprints. Because the algorithm is substantially collision-free, there is no need to compare actual data content if there is a hash-value match. The process can also be used to audit software license compliance, inventory software, and detect computer-file tampering such as viruses and malware.
    Type: Application
    Filed: June 26, 2017
    Publication date: October 12, 2017
    Inventors: Ronald S. NILES, Wai T. LAM
  • Patent number: 9690794
    Abstract: A hash-optimized backup system and method takes data blocks and generates a probabilistically unique digital fingerprint of the content of each data block using a substantially collision-free algorithm. The process compares the generated fingerprint to a database of stored fingerprints and, if the generated fingerprint matches a stored fingerprint, the data block is determined to already have been backed up, and therefore does not need to be backed up again. Only if the generated fingerprint does not match a stored fingerprint is the data block backed up, at which point the generated fingerprint is added to the database of stored fingerprints. Because the algorithm is substantially collision-free, there is no need to compare actual data content if there is a hash-value match. The process can also be used to audit software license compliance, inventory software, and detect computer-file tampering such as viruses and malware.
    Type: Grant
    Filed: May 11, 2015
    Date of Patent: June 27, 2017
    Assignee: FalconStor, Inc.
    Inventors: Ronald S. Niles, Wai T. Lam
  • Publication number: 20170046086
    Abstract: 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: Application
    Filed: October 31, 2016
    Publication date: February 16, 2017
    Inventors: Wayne K. Lam, Wai T. Lam, Yikshum Tam, Lin Zhu
  • Patent number: 9298390
    Abstract: 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: Grant
    Filed: April 4, 2013
    Date of Patent: March 29, 2016
    Assignee: Cirrus Data Solutions, Inc.
    Inventors: Wai T. Lam, Wayne Lam, Yik Shum Tam
  • Patent number: 9229647
    Abstract: 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: Grant
    Filed: May 19, 2015
    Date of Patent: January 5, 2016
    Assignee: Cirrus Data Solutions, Inc.
    Inventors: Wai T. Lam, Wayne Lam, Chang Liu
  • Publication number: 20150254018
    Abstract: 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: Application
    Filed: May 19, 2015
    Publication date: September 10, 2015
    Inventors: Wai T. LAM, Wayne LAM, Chang LIU
  • Publication number: 20150242428
    Abstract: A hash-optimized backup system and method takes data blocks and generates a probabilistically unique digital fingerprint of the content of each data block using a substantially collision-free algorithm. The process compares the generated fingerprint to a database of stored fingerprints and, if the generated fingerprint matches a stored fingerprint, the data block is determined to already have been backed up, and therefore does not need to be backed up again. Only if the generated fingerprint does not match a stored fingerprint is the data block backed up, at which point the generated fingerprint is added to the database of stored fingerprints. Because the algorithm is substantially collision-free, there is no need to compare actual data content if there is a hash-value match. The process can also be used to audit software license compliance, inventory software, and detect computer-file tampering such as viruses and malware.
    Type: Application
    Filed: May 11, 2015
    Publication date: August 27, 2015
    Inventors: Roland S. NILES, Wai T. LAM
  • Patent number: 9077752
    Abstract: 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: Grant
    Filed: December 21, 2012
    Date of Patent: July 7, 2015
    Assignee: CIRRUS DATA SOLUTIONS, INC.
    Inventors: Wai T. Lam, Wayne Lam, Chang Liu
  • Patent number: 9032171
    Abstract: A hash-optimized backup system and method takes data blocks and generates a probabilistically unique digital fingerprint of the content of each data block using a substantially collision-free algorithm. The process compares the generated fingerprint to a database of stored fingerprints and, if the generated fingerprint matches a stored fingerprint, the data block is determined to already have been backed up, and therefore does not need to be backed up again. Only if the generated fingerprint does not match a stored fingerprint is the data block backed up, at which point the generated fingerprint is added to the database of stored fingerprints. Because the algorithm is substantially collision-free, there is no need to compare actual data content if there is a hash-value match. The process can also be used to audit software license compliance, inventory software, and detect computer-file tampering such as viruses and malware.
    Type: Grant
    Filed: February 4, 2013
    Date of Patent: May 12, 2015
    Assignee: Falconstor, Inc.
    Inventors: Roland S. Niles, Wai T. Lam
  • Publication number: 20150048098
    Abstract: An apparatus comprises an inflatable object adapted to be inserted into a beverage container, and a mechanism adapted to inject air into the inflatable object in response to a decrease in pressure within the beverage container. The beverage container may hold a carbonated beverage, for example. In one embodiment, the mechanism is adapted to maintain an equilibrium between a first partial pressure within the carbonated beverage and a second partial pressure of an air pocket within the beverage container. In one embodiment, the apparatus comprises a cap adapted to fit onto the beverage container, wherein the inflatable object is coupled to the cap. The cap may comprise a tube connecting the cap and the inflatable object, wherein the tube comprises a channel adapted to transmit air to the inflatable object.
    Type: Application
    Filed: August 19, 2013
    Publication date: February 19, 2015
    Inventors: Wai T. Lam, Wayne Lam, Jonathan A. Tyler
  • Publication number: 20150048117
    Abstract: An apparatus comprises an inflatable object adapted to be inserted into a beverage container, and a mechanism adapted to inject air into the inflatable object in response to a decrease in pressure within the beverage container. The beverage container may hold a carbonated beverage, for example. In one embodiment, the mechanism is adapted to maintain an equilibrium between a first partial pressure within the carbonated beverage and a second partial pressure of an air pocket within the beverage container. In one embodiment, the apparatus comprises a cap adapted to fit onto the beverage container, wherein the inflatable object is coupled to the cap. The cap may comprise a tube connecting the cap and the inflatable object, wherein the tube comprises a channel adapted to transmit air to the inflatable object.
    Type: Application
    Filed: November 26, 2013
    Publication date: February 19, 2015
    Inventors: Wai T. Lam, Wayne Lam, Jonathan A. Tyler
  • Publication number: 20140181440
    Abstract: 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: Application
    Filed: April 4, 2013
    Publication date: June 26, 2014
    Applicant: Cirrus Data Solutions, Inc.
    Inventors: Wai T. Lam, Wayne Lam, Yik Shum Tam
  • Patent number: 8417818
    Abstract: 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: Grant
    Filed: July 24, 2012
    Date of Patent: April 9, 2013
    Assignee: Cirrus Data Solutions, Inc.
    Inventors: Wai T. Lam, Wayne Lam, Chang Liu