Patents by Inventor Alexander T. Garthwaite

Alexander T. Garthwaite 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: 11334545
    Abstract: System and method for managing space in storage object structures stored in a storage system uses an object B tree structure to manage a storage object in a storage object structure in the storage system, which provides virtual physical block addresses for data of the storage object and for metadata of nodes of the object B tree structure. The metadata of the nodes of the object B tree structure is written in the storage object structure using first real physical block addresses, which are translated from the virtual block addresses for the metadata of the nodes of the object B tree structure using a metadata system file B tree structure. The data of the storage object is written in the storage object structure using second real physical block addresses, which are translated from the virtual block addresses for the data of the storage object using a data system file B tree structure.
    Type: Grant
    Filed: August 25, 2018
    Date of Patent: May 17, 2022
    Assignee: VMWARE, INC.
    Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev, Tan Li, Raveesh Ahuja
  • Patent number: 11327927
    Abstract: System and method for creating group snapshots of multiple storage objects uses storage structures to store the storage objects in a storage system. In order to create a group snapshot of storage objects, a prepare snapshot process is executed at each of multiple host computers managing the storage objects as storage structures to block input and output operations on the storage objects stored in the storage structures. A commit snapshot process is then executed at each of the multiple host computers to create snapshots of the storage object in the respective storage structures. In addition, the snapshots of the storage object are recorded in the respective storage structures as snapshot entries in the respective storage structures.
    Type: Grant
    Filed: August 25, 2018
    Date of Patent: May 10, 2022
    Assignee: VMWARE, INC.
    Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev, Raveesh Ahuja
  • Patent number: 11099938
    Abstract: System and method for creating linked clones of storage objects stored in a storage uses a target storage structure that includes a linked clone being created from a selected snapshot of a storage object and surface snapshots. The linked clone is created in the target storage structure with references to the selected snapshot of the storage object in a source storage structure without completely copying the selected snapshot to the target storage structure. The surface snapshots, which correspond to other snapshots of the storage object in the source storage structure, are created in the target storage structure with references to the other snapshots without completely copying the other snapshots to the target storage structure to produce the linked clone with similar snapshots as the storage object at a point in time when the selected snapshot was captured.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: August 24, 2021
    Assignee: VMware, Inc.
    Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev, Anoop Jaishankar
  • Patent number: 10877849
    Abstract: System and method for managing different types of snapshots of storage objects stored in a storage system uses a storage structure that includes both a storage object and any snapshots of the storage object. When a request to delete a snapshot of the storage object is received, a determination is made whether the snapshot is a first snapshot type. After determining that the snapshot is not the first snapshot type, the snapshot is deleted from the storage structure. After determining that the snapshot is the first snapshot type, the snapshot is marked as delete designated, and a deletion of the snapshot from the storage structure is prevented when there is a second snapshot type snapshot remaining in the storage structure that was created after the snapshot had been created so that the snapshot is available when the second snapshot type snapshot is subsequently used.
    Type: Grant
    Filed: August 25, 2018
    Date of Patent: December 29, 2020
    Assignee: VMware, Inc.
    Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev, Anoop Jaishankar
  • Patent number: 10872059
    Abstract: System and method for managing snapshots of storage objects stored in a storage system uses a storage structure that includes both a storage object and any snapshots of the storage object. When a request to delete the storage object is received, the storage structure that includes the storage object is checked to determine if there is at least one snapshot in the storage structure. After determining that there is at least one snapshot in the storage structure, the storage object is marked as being delete designated without deleting the storage structure. After determining that there is no snapshot in the storage structure, the storage structure is deleted.
    Type: Grant
    Filed: August 25, 2018
    Date of Patent: December 22, 2020
    Assignee: VMware, Inc.
    Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev
  • Publication number: 20200065408
    Abstract: System and method for managing space in storage object structures stored in a storage system uses an object B tree structure to manage a storage object in a storage object structure in the storage system, which provides virtual physical block addresses for data of the storage object and for metadata of nodes of the object B tree structure. The metadata of the nodes of the object B tree structure is written in the storage object structure using first real physical block addresses, which are translated from the virtual block addresses for the metadata of the nodes of the object B tree structure using a metadata system file B tree structure. The data of the storage object is written in the storage object structure using second real physical block addresses, which are translated from the virtual block addresses for the data of the storage object using a data system file B tree structure.
    Type: Application
    Filed: August 25, 2018
    Publication date: February 27, 2020
    Inventors: Asit DESAI, Derek ULUSKI, Alexander T. GARTHWAITE, Sunil Satnur, Ilya LANGUEV, Tan Li, Raveesh AHUJA
  • Publication number: 20200065400
    Abstract: System and method for managing snapshots of storage objects stored in a storage system uses a storage structure that includes both a storage object and any snapshots of the storage object. When a request to delete the storage object is received, the storage structure that includes the storage object is checked to determine if there is at least one snapshot in the storage structure. After determining that there is at least one snapshot in the storage structure, the storage structure is marked as being delete designated without deleting the storage structure. After determining that there is no snapshot in the storage structure, the storage structure is deleted.
    Type: Application
    Filed: August 25, 2018
    Publication date: February 27, 2020
    Inventors: Asit DESAI, Derek ULUSKI, Alexander T. GARTHWAITE, Sunil Satnur, Ilya LANGUEV
  • Publication number: 20200065399
    Abstract: System and method for creating group snapshots of multiple storage objects uses storage structures to store the storage objects in a storage system. In order to create a group snapshot of storage objects, a prepare snapshot process is executed at each of multiple host computers managing the storage objects as storage structures to block input and output operations on the storage objects stored in the storage structures. A commit snapshot process is then executed at each of the multiple host computers to create snapshots of the storage object in the respective storage structures. In addition, the snapshots of the storage object are recorded in the respective storage structures as snapshot entries in the respective storage structures.
    Type: Application
    Filed: August 25, 2018
    Publication date: February 27, 2020
    Inventors: Asit DESAI, Derek ULUSKI, Alexander T. GARTHWAITE, Sunil Satnur, Ilya LANGUEV, Raveesh AHUJA
  • Publication number: 20200065196
    Abstract: System and method for managing different types of snapshots of storage objects stored in a storage system uses a storage structure that includes both a storage object and any snapshots of the storage object. When a request to delete a snapshot of the storage object is received, a determination is made whether the snapshot is a first snapshot type. After determining that the snapshot is not the first snapshot type, the snapshot is deleted from the storage structure. After determining that the snapshot is the first snapshot type, the snapshot is marked as delete designated, and a deletion of the snapshot from the storage structure is prevented when there is a second snapshot type snapshot remaining in the storage structure that was created after the snapshot had been created so that the snapshot is available when the second snapshot type snapshot is subsequently used.
    Type: Application
    Filed: August 25, 2018
    Publication date: February 27, 2020
    Inventors: Asit DESAI, Derek ULUSKI, Alexander T. GARTHWAITE, Sunil Satnur, Ilya LANGUEV, Anoop JAISHANKAR
  • Publication number: 20200042396
    Abstract: System and method for creating linked clones of storage objects stored in a storage uses a target storage structure that includes a linked clone being created from a selected snapshot of a storage object and surface snapshots. The linked clone is created in the target storage structure with references to the selected snapshot of the storage object in a source storage structure without completely copying the selected snapshot to the target storage structure. The surface snapshots, which correspond to other snapshots of the storage object in the source storage structure, are created in the target storage structure with references to the other snapshots without completely copying the other snapshots to the target storage structure to produce the linked clone with similar snapshots as the storage object at a point in time when the selected snapshot was captured.
    Type: Application
    Filed: July 31, 2018
    Publication date: February 6, 2020
    Inventors: Asit DESAI, Derek ULUSKI, Alexander T. GARTHWAITE, Sunil Satnur, Ilya LANGUEV, Anoop Jaishankar
  • Patent number: 8041918
    Abstract: A method for performing garbage collection involves obtaining a first reference bitmap including a block address and a set of mark bits, obtaining a first reference, identifying a mark bit of the set of mark bits based on the first reference, comparing an address associated with the mark bit with the first reference to generate a comparison, selecting an existing word from a global bit map based on the block address and the comparison, calculating a new word based on the set of mark bits and the existing word, replacing the existing word in the global bit map with the new word, and reclaiming a block of memory for reuse based on the global bit map after replacing the existing word.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: October 18, 2011
    Assignee: Oracle America, Inc.
    Inventors: Alexander T. Garthwaite, Antonios Printezis
  • Patent number: 7954100
    Abstract: Method and apparatus for tagged references for identifying thread-local data in multithreaded applications. Embodiments may provide a dynamic mechanism that identifies thread-local objects by “tagging” references to the objects. In embodiments, in an application, if an object is to be allocated as a thread-local object, one or more bits of the object reference may be “tagged” to indicate that the object is a thread-local object. In one embodiment, the lowest-order bit of the object reference may be set to indicate that the object is a thread-local object. In embodiments, thread locality of an object may be determined by testing the reference itself rather than loading a bit or field from the referenced object or by checking address ranges. Further, embodiments do not rely on address ranges to identify objects as thread-local, and so the allocation of thread-local objects may not be restricted to thread-local heaps.
    Type: Grant
    Filed: June 2, 2005
    Date of Patent: May 31, 2011
    Assignee: Oracle America, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7945911
    Abstract: Method and apparatus for barrier synchronization of threads, for example work-stealing threads. Embodiments may provide a consensus barrier synchronization mechanism that allows a “stop world” operation being performed by two or more worker threads configured to “steal” work from other threads to complete, even if one or more of the threads are not scheduled/started by the thread scheduler and thus do not rendezvous or “check in” at a consensus barrier in a timely manner. In embodiments, portions (subtasks) of the overall task which were assigned to the tardy thread may have been completed by other work-stealing threads, and one of the other threads may check in the tardy thread at the consensus barrier upon determining that the thread is dormant and does not have any more apportioned work to be performed. In one embodiment, the task being performed may be garbage collection for a process.
    Type: Grant
    Filed: June 3, 2005
    Date of Patent: May 17, 2011
    Assignee: Oracle America, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7676801
    Abstract: In computer systems including memory which execute programs of instructions, vtables associated with objects contain pointers which invoke operations to be performed by the program which are related to the objects. The operation invoked may include the step of modifying the pointer such that upon a subsequent reference to the vtable a different operation is invoked.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: March 9, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7660961
    Abstract: The invention relates to a method for performing generational garbage collection on a heap comprising a plurality of generations. The method involves dividing a young generation of the heap into a first young generation and a second young generation, evacuating the first young generation concurrently with allocating the second young generation, and evacuating the second young generation concurrently with allocating the first young generation and subsequent to fully evacuating the first young generation.
    Type: Grant
    Filed: April 3, 2007
    Date of Patent: February 9, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, Alexander T. Garthwaite
  • Patent number: 7653793
    Abstract: An incremental collector can include memory pages, preferably virtual memory (VM) pages containing objects. A bit or byte map is created with one entry corresponding to each VM page. The VM page being collected is first write-protected and then the reachable objects are copied or relocated. Application induced changes to objects that have already been relocated are flagged in the map. Later the collector will suspend the application, scan the map and update the relocated objects that were changed and update the references to these objects. In one embodiment aimed at concurrent collecting, the map is copied to a second map, and the second map is scanned for changes that are propagated as before. The application may be suspended on the last pass through the map for the updating of remaining relocated objects by scanning the first map. The incremental collector can be a Train algorithm.
    Type: Grant
    Filed: November 17, 2004
    Date of Patent: January 26, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7650350
    Abstract: In a space incremental garbage collector, delays caused by scanning remembered sets are reduced by scanning the remembered sets mostly concurrently with the operation of the non-collection threads. Before scanning, remembered sets associated with regions in some collection set are “sequestered” (no further insertions are allowed by the non-collection threads or the collector) in order to prevent further changes. Any further changes to these sequestered remembered sets that occur before phase two of the scanning process are then handled by one or more “refinement threads.” Each refinement thread is a thread that can record reference locations in remembered sets, scan entries in collection set remembered sets and update reference location lists for use in the aforementioned second phase of remembered set processing. The refinement threads operate concurrently with the operation of the non-collection threads.
    Type: Grant
    Filed: May 18, 2005
    Date of Patent: January 19, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7620943
    Abstract: A garbage collector that employs the train algorithm divides object classes into a number of class groups, which are considered to have different ranks. The class group having the lowest rank, for example, may include only classes whose instances contain no references. The group of the next-higher rank may consist of classes whose instances include references only to objects that are instances of final classes whose instances include no references. The highest-rank group may include all other classes. Car sections are associated with the class groups and contain only instances of classes belonging to the class groups with which they are associated. Within each train, each car associated with a class group of a higher-rank is placed earlier in the collection order than is a car associated with a lower-rank class group.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: November 17, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7617264
    Abstract: A garbage collector that operates in multiple threads divides a generation of a garbage-collected heap into heap sections, with which it associates respective remembered sets of locations where references to objects in those heap sections have been found. When such a heap section comes up for collection, each of a plurality of parallel garbage-collector threads that is processing its remembered set maintains a separate “popularity”—indicating count map, which includes an entry for each of a set of segments into which the collector has divided that heap section. The thread increments an entry in its count map each time it finds a reference to an object in the associated segment. If an object is located in a segment for which the associated count-map entry has exceeded a threshold, the thread evacuates the object in a manner different from that in which it evacuates objects not thus been found to be popular.
    Type: Grant
    Filed: April 15, 2004
    Date of Patent: November 10, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: Alexander T. Garthwaite
  • Publication number: 20090248766
    Abstract: A method for performing garbage collection involves obtaining a first reference bitmap including a block address and a set of mark bits, obtaining a first reference, identifying a mark bit of the set of mark bits based on the first reference, comparing an address associated with the mark bit with the first reference to generate a comparison, selecting an existing word from a global bit map based on the block address and the comparison, calculating a new word based on the set of mark bits and the existing word, replacing the existing word in the global bit map with the new word, and reclaiming a block of memory for reuse based on the global bit map after replacing the existing word.
    Type: Application
    Filed: March 31, 2009
    Publication date: October 1, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Alexander T. Garthwaite, Antonios Printezis