Patents by Inventor Bradley Gene Calder

Bradley Gene Calder 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: 10536523
    Abstract: In various embodiments, methods and systems for providing access to file systems are provided. An SFA-based operation having an operation modifier for a file in a file system is received. The SFA-based operation is defined based on a file-representational state transfer (REST) interface. The SFA-REST interface comprises integrated functionality of an SFA protocol and REST protocol. The SFA-based operation is executed using the operation modifier. A REST-based operation for the file in the distributed file storage is received. The REST-based operation is defined based on the SFA-REST interface. The operation modifier is referenced in order to execute the REST-based operation. The REST-based operation based on the SFA-REST interface. A schema can be implemented for accessing the file system. The schema includes tables to store files, the table comprises fields corresponding to elements of a SFA-REST interface. A snapshot component can be implemented to backup file shares in the file system.
    Type: Grant
    Filed: May 10, 2015
    Date of Patent: January 14, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Jean Ghanem, Andrew James Edwards, Ishai Ben Aroya, David Allen Goebel, Jiesheng Wu, Jaidev Haridas, Shuvabrata Ganguly, Matthew Douglas Hendel, Ozan Demir
  • Publication number: 20190278622
    Abstract: Systems and methods are provided for assigning and associating resources in a cloud computing environment. Virtual machines in the cloud computing environment can be assigned or associated with pools corresponding to users as dedicated, standby, or preemptible machines. The various states provide users with the ability to reserve a desired level of resources while also allowing the operator of the cloud computing environment to increase resource utilization.
    Type: Application
    Filed: February 18, 2019
    Publication date: September 12, 2019
    Inventors: BRADLEY GENE CALDER, JU WANG, VANAM BEDEKAR, SRIRAM SANKARAN, MARVIN McNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, HEMAL KHATRI
  • Patent number: 10242026
    Abstract: Presented herein are methods of replicating versioned and hierarchical data structures, as well as data structures representing complex transactions. Due to interdependencies between data entities and a lack of guaranteed message ordering, simple replication methods employed for simple data types cannot be used. Operations on data structures exhibit dependencies between the messages making up the operations. This strategy can be extended to various types of complex transactions by considering certain messages to depend on other messages or on the existence of other entries at the data store. Regardless of origin, these dependencies can be enforced by suspending the processing of messages with unsatisfied dependencies until all of its dependencies have been met. Alternately, transactions can be committed immediately, creating entities that include versioned identifiers for each of their dependencies. These entities can then be garbage collected of the parent objects are not subsequently created.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju, Ju Wang, Hemal Khatri, Arild Skjolsvold, Harshawardhan Gadgil
  • Patent number: 10241812
    Abstract: Systems and methods are provided for assigning and associating resources in a cloud computing environment. Virtual machines in the cloud computing environment can be assigned or associated with pools corresponding to users as dedicated, standby, or preemptible machines. The various states provide users with the ability to reserve a desired level of resources while also allowing the operator of the cloud computing environment to increase resource utilization.
    Type: Grant
    Filed: October 28, 2014
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bradley Gene Calder, Ju Wang, Vaman Bedekar, Sriram Sankaran, Marvin McNett, II, Pradeep Kumar Gunda, Yang Zhang, Shyam Antony, Kavitha Manivannan, Hemal Khatri
  • Patent number: 10127295
    Abstract: Embodiments of the present invention relate to systems, methods, and computer storage media for geographically organizing the storage of data and hosted services in a distributed computing environment. An allocation constraint is utilized to identify and select a geo-region in which an affinity group that is comprised of a hosted service and/or data is to be physically stored. Additionally, a geo-domain within the geo-region is identified for hosting the hosted service and/or data of the affinity group. A stamp, such as a storage stamp or a computation stamp, is identified on the geo-domain for storing the hosted service and/or the data. The hosted service is stored in an identified computation stamp and the data is stored in an identified storage stamp. In an additional exemplary embodiment, the identification of a geo-domain involves analyzing resource information related to potential geo-domains within a geo-region.
    Type: Grant
    Filed: June 5, 2009
    Date of Patent: November 13, 2018
    Assignee: MICROSOFT TECHNOLOFY LICENSING, LLC
    Inventors: Bradley Gene Calder, Vikram Dhaneshwar, Sriram Krishnan, Ju Wang, Samuel James McKelvie, Zhe Yang
  • Publication number: 20180217872
    Abstract: Systems and methods are provided that enable a general framework for partitioning application-defined computations (e.g., jobs) in a scalable environment. The general framework decouples partitioning of a computation from the other aspects of the computation. As a result, the effort required to define an application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. A user can optionally take advantage of a partitioning framework by providing application-defined interfaces to perform the desired job. Optionally, a user can provide additional information to allow for modification of how partitions are assigned.
    Type: Application
    Filed: December 26, 2017
    Publication date: August 2, 2018
    Inventors: ARILD E. SKJOLSVOLD, BRADLEY GENE CALDER, JU WANG
  • Patent number: 9996572
    Abstract: Partition management for a scalable, structured storage system is provided. The storage system provides storage represented by one or more tables, each of which includes rows that represent data entities. A table is partitioned into a number of partitions, each partition including a contiguous range of rows. The partitions are served by table servers and managed by a table master. Load distribution information for the table servers and partitions is tracked, and the table master determines to split and/or merge partitions based on the load distribution information.
    Type: Grant
    Filed: October 24, 2008
    Date of Patent: June 12, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Ju Wang, Arild E. Skjolsvold, Shashwat Srivastav, Niranjan Nilakantan, Deepali Bhardwaj
  • Patent number: 9852010
    Abstract: Systems and methods are provided that enable a general framework for partitioning application-defined computations (e.g., jobs) in a scalable environment. The general framework decouples partitioning of a computation from the other aspects of the computation. As a result, the effort required to define an application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. A user can optionally take advantage of a partitioning framework by providing application-defined interfaces to perform the desired job. Optionally, a user can provide additional information to allow for modification of how partitions are assigned.
    Type: Grant
    Filed: February 3, 2012
    Date of Patent: December 26, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Arild E. Skjolsvold, Bradley Gene Calder, Ju Wang
  • Publication number: 20170277453
    Abstract: In various embodiments, methods and systems for implementing a distributed metadata management system in distributed storage systems are provided. A distributed storage system operates based on data storage resources (e.g., extents and streams). The distributed metadata management system is implemented for extent and stream metadata to facilitate the scalability of metadata processing. The distributed storage system implements extent managers and stream managers that independently manage extent and stream metadata, respectively. The extent managers are associated with an extent table that stores extent metadata. The stream managers are associated with streams that store associations with extents. The distributed metadata management system can also utilize a bootstrap layer that leverages components of a legacy distributed storage system to facilitate distributed management of extent and stream metadata.
    Type: Application
    Filed: March 24, 2016
    Publication date: September 28, 2017
    Inventors: CHENG HUANG, ANDREW JAMES EDWARDS, SHANE K. MAINALI, AARON WILLIAM OGUS, IOAN OLTEAN, HUSEYIN SIMITCI, JU WANG, BRADLEY GENE CALDER, YIKANG XU
  • Publication number: 20170277726
    Abstract: In various embodiments, methods and systems for implementing garbage collection in distributed storage systems are provided. The distributed storage system operates based on independent management of metadata of extent and stream data storage resources. A hybrid garbage collection system based on reference counting garbage collection operations and mark-and-sweep garbage collection operations is implemented. An extent lifetime table that tracks reference weights and mark sequences for extents is initialized and updated based on indications from extent managers and stream managers, respectively. Upon determining that an extent is to be handed-off from weighted reference counting garbage collection operations to mark-and-sweep garbage collection operations, a reference weight field for the extent is voided and a mark sequence field of the extent is updated. The mark sequence field is updated with a latest global sequence number.
    Type: Application
    Filed: March 24, 2016
    Publication date: September 28, 2017
    Inventors: CHENG HUANG, ANDREW JAMES EDWARDS, SHANE K MAINALI, AARON WILLIAM OGUS, IOAN OLTEAN, HUSEYIN SIMITCI, JU WANG, BRADLEY GENE CALDER, YIKANG XU
  • Patent number: 9749208
    Abstract: In various embodiments, methods and systems for integrated resource allocation and loading balancing are provided. A global resource allocator receives usage information of resources in a cloud computing system. The usage information is associated with a plurality of accounts and consumer operations pairs on servers of the cloud computing system. For selected account and consumer operation pairs associated with a particular resource, allocation targets are determined and communicated to the corresponding server of the selected account and consumer operation pairs. The servers use the resource based on the allocation targets. A load balancer receives the usage information the resource and the allocation targets. The allocation targets indicate a load by the selected account and consumer operation pairs on their corresponding servers. The load balancer performs a load balancing operation to locate a server with a capacity to process the allocated target of the selected account and consumer operation pairs.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: August 29, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arild Skjolsvold, Bradley Gene Calder, Ju Wang
  • Publication number: 20170235525
    Abstract: Cloud computing platforms having computer-readable media that perform methods for facilitating communications with storage. A request having a first-interface format to access storage is intercepted. The first interface format of the request supports access to a virtual hard drive (VHD). The request is translated to a blob request having a blob interface format. The blob interface format of the blob request supports access to a plurality of blobs of data in a blob store. The blob request is communicated to a blob interface such that the blob request is executed in managing the plurality of blobs.
    Type: Application
    Filed: May 2, 2017
    Publication date: August 17, 2017
    Inventors: Bradley Gene CALDER, Andrew James EDWARDS, Ju WANG, Samer ARAFEH, Anu ENGINEER, Yue ZUO
  • Publication number: 20170161350
    Abstract: Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.
    Type: Application
    Filed: December 13, 2016
    Publication date: June 8, 2017
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju
  • Patent number: 9639299
    Abstract: Cloud computing platforms having computer-readable media that perform methods for facilitating communications with storage. A request having a first-interface format to access storage is intercepted. The first interface format of the request supports access to a virtual hard drive (VHD). The request is translated to a blob request having a blob interface format. The blob interface format of the blob request supports access to a plurality of blobs of data in a blob store. The blob request is communicated to a blob interface such that the blob request is executed in managing the plurality of blobs.
    Type: Grant
    Filed: July 17, 2013
    Date of Patent: May 2, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Andrew James Edwards, Ju Wang, Samer Arafeh, Anu Engineer, Yue Zuo
  • Patent number: 9609054
    Abstract: A method includes determining that a trigger condition of a triggered optimization module of a plurality of optimization modules is met and optimizing scalable storage based on an optimization routine. The optimization routine includes providing a plurality of candidate operations and for a selected optimization module of the plurality of optimization modules that has a higher priority than the triggered optimization module, removing a candidate operation from the plurality of candidate operations that would diminish a modeled state of the scalable storage for the selected optimization module. The optimization routine also includes determining at least one operation of the plurality of candidate operations that would improve the modeled state of the scalable storage for the triggered optimization module and updating the modeled state of the scalable storage to model executing the at least one operation. The method further includes executing the at least one operation.
    Type: Grant
    Filed: May 1, 2014
    Date of Patent: March 28, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Ju Wang, Arild E. Skjolsvold, Bradley Gene Calder, Hosung Song, Xinhua Ji, Ralph Burton Harris, III
  • Patent number: 9519555
    Abstract: Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.
    Type: Grant
    Filed: May 23, 2011
    Date of Patent: December 13, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju
  • Patent number: 9513806
    Abstract: One method includes receiving partitions, generating assignment plans for assignment of the partitions to servers based on dimensional values of dimensions as determined by different assignment heuristics, selecting one of the assignment plans for execution based on analyzing the dimensional values in accordance with the assignment plans, and executing the selected assignment plan on scalable storage. Another method includes determining, for a triggered optimization module that a server is over utilized on a dimension, selecting candidate operations for partitions assigned to the server, for a higher priority optimization module than the triggered optimization module, removing a candidate operation from the candidate operations that would diminish a modeled state of scalable storage, determining an operation of the candidate operations that would improve the modeled state of the scalable storage with respect to a metric of the dimension on the server, and executing the operation on the scalable storage.
    Type: Grant
    Filed: June 16, 2014
    Date of Patent: December 6, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Arild Skjolsvold, Xinhua Ji, Ju Wang, Bradley Gene Calder, Ralph Burton Harris, III, Hosung Song
  • Patent number: 9465602
    Abstract: Systems, methods, and computer storage media for upgrading a domain in a distributed computing environment are provided. Upgrading of the domain includes preparing for the upgrade, upgrading, and finalizing the upgrade. The preparation of the domain includes ensuring predefined quantities of role instances are available in domains other than the upgrade domain. The preparation also includes ensuring that a predefined number of extent replicas are available in domains other than the upgrade domain. The preparation may also include checkpointing partitions within the upgrade domain to facilitate faster loading once transferred to a domain other than the upgrade domain. The finalization may include allowing nodes within the upgrade domain to resume functionality that was suspended during the upgrade.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: October 11, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bradley Gene Calder, Samuel James McKelvie, Aaron W. Ogus, Arlid E. Skjolsvold, Hakon Gabriel Verespej, Ju Wang
  • Patent number: 9372735
    Abstract: In various embodiments, systems and methods are presented for providing resources by way of a platform as a service in a distributed computing environment to perform a job. The system may be comprised of a number of components, such as a task machine, a task location service machine, and a high-level location service machines that in combination are useable to accomplish functions provided herein. It is contemplated that the system performs methods for providing resources by determining resources of the system, such as virtual machines, and applying auto-scaling rules to the system to scale those resources. Based on the determination of the auto-scaling rules, the resources may be allocated to achieve a desired result.
    Type: Grant
    Filed: January 9, 2012
    Date of Patent: June 21, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Ju Wang, Vaman Bedekar, Sriram Sankaran, Marvin McNett, II, Pradeep Kumar Gunda, Yang Zhang, Shyam Antony, Kavitha Manivannan, Arild E Skjolsvold, Hemal Khatri
  • Publication number: 20160140202
    Abstract: Embodiments of the present invention relate to asynchronously replicating data in a distributed computing environment. To achieve asynchronous replication, data received at a primary data store may be annotated with information, such as an identifier of the data. The annotated data may then be communicated to a secondary data store, which may then write the data and annotated information to one or more logs for eventual replay and committal at the secondary data store. The primary data store may communicate an acknowledgment of success in committing the data at the primary data store as well as of success in writing the data to the secondary data store. Additional embodiments may include committing the data at the secondary data store in response to receiving an instruction that authorizes committal of data through an identifier.
    Type: Application
    Filed: January 22, 2016
    Publication date: May 19, 2016
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju