Patents Assigned to Exablox Corporation
  • Patent number: 10628208
    Abstract: Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor. In one example embodiment, a method of exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor may include identifying the proprietary image backup having a proprietary format and storing an operating system, identifying a plugin file corresponding to the proprietary image backup, gathering operating system data from the proprietary image backup, reformatting the operating system data into a native format of the hypervisor, and booting the operating system in a guest virtual machine of the hypervisor.
    Type: Grant
    Filed: September 10, 2018
    Date of Patent: April 21, 2020
    Assignee: EXABLOX CORPORATION
    Inventors: Nathan S. Bushman, Lee Carl Bender, Jr.
  • Patent number: 10379779
    Abstract: Provided are systems and methods for garbage collection of objects in storage. An example method may include providing a monotonically increasing logical clock. Each object is associated with a first number and a second number. The second number is a minimum of the first numbers of objects in a subtree to which the object refers. When the logical clock increases, objects with the first number less than the logical clock from the storage are deleted. When a new object is added to the storage, the first number of the new object is set to a new first number. The new first number is equal to or greater than the logical clock. The first number of each object in a subtree to which the new object is referring is updated. The updated first number is a function of a previous first number and a previous logical clock.
    Type: Grant
    Filed: August 18, 2016
    Date of Patent: August 13, 2019
    Assignee: Exablox Corporation
    Inventor: Jeremy Fitzhardinge
  • Patent number: 10248556
    Abstract: Computer-implemented methods and systems for managing data in one or more data storage media are provided. An example method may comprise creating a data structure within the data storage media. The data structure includes a plurality of memory pages, each page comprising a plurality of sessions, and each session comprising a header and a plurality of data objects. The method also comprises enabling writing data to the data storage medium, in response to routine requests, such that the data is recorded to the one or more data objects nearest the current location of a virtual cursor. When a data management operation is performed, the virtual cursor is moved within a single page in a single direction.
    Type: Grant
    Filed: October 16, 2013
    Date of Patent: April 2, 2019
    Assignee: EXABLOX CORPORATION
    Inventor: Frank E. Barrus
  • Patent number: 9985829
    Abstract: A method for provisioning of a device or a group of devices discovery and registration service comprises receiving availability messages from unbound devices, receiving a request for the service, correlating the service identifying data to the device identifying data, selecting candidate unbound devices, prompting the user to select an unbound device, or an unbound group of devices, receiving a selected unbound device, or a selected unbound group of devices, from the user, sending a machine generated code to an output device associated with the selected unbound device or group of devices, prompting the user to confirm ownership of the selected unbound device or group of devices, by entering the machine generated code, receiving, from the user, a human entered code, comparing the machine generated code to the human entered code, and based on the comparison, selectively binding the selected device, or the selected group of devices, to the service.
    Type: Grant
    Filed: December 12, 2013
    Date of Patent: May 29, 2018
    Assignee: EXABLOX CORPORATION
    Inventors: Anthony John Tarlano, Tad Hunt
  • Patent number: 9934242
    Abstract: Computer-implemented methods and systems for replication of data between mirrored data sites are provided. An exemplary method may comprise receiving a data object at a mirrored data site, the mirrored data site including one or more data nodes. The data objects are replicated to the one or more data nodes internally. Then, a data object reference associated with the data object is generated. The reference referring to the data object is queued for transmission to all other mirrored data sites. The data object reference associated with the data object is transmitted to the other mirrored data sites. When the data object is received at each mirrored data site, it is replicated to one or more data nodes within the site. After transmitting the data object, the data object reference is discarded.
    Type: Grant
    Filed: July 10, 2013
    Date of Patent: April 3, 2018
    Assignee: Exablox Corporation
    Inventors: Tad Hunt, John Howe
  • Patent number: 9846553
    Abstract: Organization and management of key-value stores is described. An example method includes providing a stack of tables. Each of the tables includes a set of pages of a pre-determined size for storing a set of key-value entries. The method includes monotonically decreasing a number of pages in the tables according to a position of the table in the stack. The method includes configuring each of the pages in the tables to address a particular range of a key space in such a way that each of the pages in a subsequent table in the stack is configured to address a range addressed by at least two pages in a preceding table in the stack. An action with a key-value entry is carried out by starting with a table in the top of the stack and moving to the next table if the action cannot be carried out.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: December 19, 2017
    Assignee: Exablox Corporation
    Inventors: Sridhar Subramaniam, Dong Cai
  • Patent number: 9830324
    Abstract: The methods and systems for organizing and managing a file system on top of a content addressable object store are provided. User content is associated with a record including a content hash associated with an address in the content addressable object store. The content hash is a function of user content and determined by dividing the file into data objects, generating a pointer tree of hashes on top of the data objects, and calculating a hash of the root of the pointer tree. The record, the pointer tree, and the file are stored in the object store. Reading user content from the object store includes reading the record, fetching the content hash to find a root of the pointer tree, descending leaves of the pointer tree to read the hashes of the data objects associated with user content, and reassembling the data objects in sequential file data.
    Type: Grant
    Filed: February 4, 2015
    Date of Patent: November 28, 2017
    Assignee: Exablox Corporation
    Inventors: Tad Hunt, Frank E. Barrus
  • Patent number: 9774582
    Abstract: A system for secure cloud-based management of private cloud connected devices is provided. In one embodiment, the system comprises one or more on-site cloud connected devices located within an untrusted customer site, a multi-tenant cloud-based management service configured to manage the one or more on-site cloud connected devices, and a user interface to facilitate access to the one or more on-site cloud connected devices located within the untrusted customer site by a user associated with the untrusted customer site.
    Type: Grant
    Filed: February 3, 2014
    Date of Patent: September 26, 2017
    Assignee: Exablox Corporation
    Inventors: Anthony Tarlano, Tad Hunt
  • Patent number: 9552382
    Abstract: Disclosed is a method for checking the integrity of a reference counter for objects in a file system. A unique identifier can be associated with the reference referring to the object. A reference check can be associated with the object and set to a predefined initial value before any references referring to the object are added. When a new reference referring to the object is added, the reference counter is increased by one and the identifier associated with the new reference is added to the reference check. When an existing reference referring to the object is about to be removed, the reference counter is decreased by one and the identifier associated with the existing reference is subtracted from the reference check. If the reference check is not equal to the initial value when the reference counter is zero, then an error message is sent to the file system.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: January 24, 2017
    Assignee: Exablox Corporation
    Inventor: Frank E. Barrus
  • Patent number: 9514137
    Abstract: Disclosed is a method for hybrid garbage collection of objects in a file system. An example method includes associating, with each object in the file system, a reference counter, an expiration time, and a version identifier. The object is can be kept in the file system while the reference counter of the object is non-zero. After determining that the reference counter of the object is zero, the object can be kept in the file system up to the expiration time associated with the object. When a reference referring to the object is deleted, the expiration time of the object is updated to the latest of the expiration times of the object and the reference. Furthermore, the object can be kept in the file system while the version identifier of the object is larger than a predetermined version number.
    Type: Grant
    Filed: June 12, 2014
    Date of Patent: December 6, 2016
    Assignee: Exablox Corporation
    Inventors: Frank Barrus, Tad Hunt
  • Patent number: 9389651
    Abstract: An apparatus for removing a modular electronic device from a chassis and a method for assembling thereof are provided. The apparatus for removing the modular electronic device from the chassis comprises a door pivotally coupled to the chassis, a sliding element in slidable engagement with the door, a first ejection actuator coupled to the door and configured to move simultaneously with the door, a second ejection actuator including a spring member connected to the second ejection actuator and to the rear of the chassis, and a linkage element connecting the sliding element with the second ejection actuator. Additionally, the apparatus for removing the modular electronic device from the chassis comprises a guide rail disposed in the chassis enclosure to guide the modular electronic device and to guide the second ejection actuator along the chassis enclosure.
    Type: Grant
    Filed: May 22, 2013
    Date of Patent: July 12, 2016
    Assignee: Exablox Corporation
    Inventors: Douglas Brockett, Peter Privitera, Jon Carver, Joshua Druker, Tad Hunt, Ramesh Balan
  • Publication number: 20150172114
    Abstract: A method for provisioning of a device or a group of devices discovery and registration service comprises receiving availability messages from unbound devices, receiving a request for the service, correlating the service identifying data to the device identifying data, selecting candidate unbound devices, prompting the user to select an unbound device, or an unbound group of devices, receiving a selected unbound device, or a selected unbound group of devices, from the user, sending a machine generated code to an output device associated with the selected unbound device or group of devices, prompting the user to confirm ownership of the selected unbound device or group of devices, by entering the machine generated code, receiving, from the user, a human entered code, comparing the machine generated code to the human entered code, and based on the comparison, selectively binding the selected device, or the selected group of devices, to the service.
    Type: Application
    Filed: December 12, 2013
    Publication date: June 18, 2015
    Applicant: Exablox Corporation
    Inventors: Anthony John Tarlano, Tad Hunt
  • Publication number: 20150106579
    Abstract: Computer-implemented methods and systems for managing data in one or more data storage media are provided. An example method may comprise creating a data structure within the data storage media. The data structure includes a plurality of memory pages, each page comprising a plurality of sessions, and each session comprising a header and a plurality of data objects. The method also comprises enabling writing data to the data storage medium, in response to routine requests, such that the data is recorded to the one or more data objects nearest the current location of a virtual cursor. When a data management operation is performed, the virtual cursor is moved within a single page in a single direction.
    Type: Application
    Filed: October 16, 2013
    Publication date: April 16, 2015
    Applicant: Exablox Corporation
    Inventor: Frank E. Barrus
  • Patent number: 8991950
    Abstract: An apparatus for removing a modular electronic device from a chassis and a method for assembling thereof are provided. The apparatus for removing the modular electronic device from the chassis includes a door pivotally coupled to the chassis, a sliding element in slidable engagement with the door, an ejection actuator including a spring member connected to the ejection actuator and to the rear of the chassis, and a linkage element connecting the sliding element with the ejection actuator. Additionally, the apparatus for removing the modular electronic device from the chassis includes a guide rail disposed in the chassis enclosure to guide the modular electronic device and to guide the ejection actuator along the chassis enclosure.
    Type: Grant
    Filed: July 10, 2013
    Date of Patent: March 31, 2015
    Assignee: Exablox Corporation
    Inventors: Peter Privitera, Jon Carver, Joshua Druker, Tad Hunt, Douglas Brockett, Ramesh Balan
  • Publication number: 20150015131
    Abstract: An apparatus for removing a modular electronic device from a chassis and a method for assembling thereof are provided. The apparatus for removing the modular electronic device from the chassis comprises a door pivotally coupled to the chassis, a sliding element in slidable engagement with the door, an ejection actuator including a spring member connected to the ejection actuator and to the rear of the chassis, and a linkage element connecting the sliding element with the ejection actuator. Additionally, the apparatus for removing the modular electronic device from the chassis comprises a guide rail disposed in the chassis enclosure to guide the modular electronic device and to guide the ejection actuator along the chassis enclosure.
    Type: Application
    Filed: July 10, 2013
    Publication date: January 15, 2015
    Applicant: Exablox Corporation
    Inventors: Peter Privitera, Jon Carver, Joshua Druker, Tad Hunt, Douglas Brockett, Ramesh Balan
  • Publication number: 20150019491
    Abstract: Computer-implemented methods and systems for replication of data between mirrored data sites are provided. An exemplary method may comprise receiving a data object at a mirrored data site, the mirrored data site including one or more data nodes. The data objects are replicated to the one or more data nodes internally. Then, a data object reference associated with the data object is generated. The reference referring to the data object is queued for transmission to all other mirrored data sites. The data object reference associated with the data object is transmitted to the other mirrored data sites. When the data object is received at each mirrored data site, it is replicated to one or more data nodes within the site. After transmitting the data object, the data object reference is discarded.
    Type: Application
    Filed: July 10, 2013
    Publication date: January 15, 2015
    Applicant: Exablox Corporation
    Inventors: Tad Hunt, John Howe
  • Publication number: 20140345105
    Abstract: An apparatus for removing a modular electronic device from a chassis and a method for assembling thereof are provided. The apparatus for removing the modular electronic device from the chassis comprises a door pivotally coupled to the chassis, a sliding element in slidable engagement with the door, a first ejection actuator coupled to the door and configured to move simultaneously with the door, a second ejection actuator including a spring member connected to the second ejection actuator and to the rear of the chassis, and a linkage element connecting the sliding element with the second ejection actuator. Additionally, the apparatus for removing the modular electronic device from the chassis comprises a guide rail disposed in the chassis enclosure to guide the modular electronic device and to guide the second ejection actuator along the chassis enclosure.
    Type: Application
    Filed: May 22, 2013
    Publication date: November 27, 2014
    Applicant: Exablox Corporation
    Inventor: Douglas Brockett
  • Publication number: 20140317065
    Abstract: Disclosed is a method for checking the integrity of a reference counter for objects in a file system. A unique identifier can be associated with the reference referring to the object. A reference check can be associated with the object and set to a predefined initial value before any references referring to the object are added. When a new reference referring to the object is added, the reference counter is increased by one and the identifier associated with the new reference is added to the reference check. When an existing reference referring to the object is about to be removed, the reference counter is decreased by one and the identifier associated with the existing reference is subtracted from the reference check. If the reference check is not equal to the initial value when the reference counter is zero, then an error message is sent to the file system.
    Type: Application
    Filed: April 21, 2014
    Publication date: October 23, 2014
    Applicant: Exablox Corporation
    Inventor: Frank E. Barrus
  • Patent number: 8868926
    Abstract: A method for bursting a hash table of a key-value database comprises receiving a key and a value, traversing trie nodes of the key-value database from a root node to a leaf node by recursively dividing the key into a prefix and a suffix, reaching the leaf node, the leaf node being the hash table, determining that the key is not stored in the hash table, determining that the hash table is not able to store the key and the value, removing the hash table, associating a new trie node with a parent trie node of the hash table, associating two or more new hash tables with the new trie node, moving all keys and associated values from the hash table into one of the two or more new hash tables, and inserting the key and the associated value into one of the two or more new hash tables.
    Type: Grant
    Filed: April 6, 2012
    Date of Patent: October 21, 2014
    Assignee: Exablox Corporation
    Inventors: Tad Hunt, Frank E. Barrus
  • Patent number: D750033
    Type: Grant
    Filed: July 10, 2013
    Date of Patent: February 23, 2016
    Assignee: Exablox Corporation
    Inventors: Peter Privitera, Jon Carver, Joshua Druker, Tad Hunt, Douglas Brockett, Ramesh Balan