Patent application number | Description | Published |
20100106695 | SCALABLE BLOB STORAGE INTEGRATED WITH SCALABLE STRUCTURED STORAGE - Embodiments of the present invention relate to systems, methods and computer storage media for facilitating the structured storage of binary large objects (Blobs) to be accessed by an application program being executed by a computing device. Generally, the structured storage of Blobs includes a primary structured storage index for indexing Blobs, a secondary hash index that is integrated into the structured storage system, a Blob log stream, and a Blob data stream for storing blocks that include the Blob data. In an embodiment, a block is created and written to a Blob store along with a block list. The block list facilitates the locating of one or more blocks that store the Blob data. In this embodiment, a primary structured storage index and a secondary hash index are updated to facilitate efficient access of the Blob in a structured storage system. | 04-29-2010 |
20100106734 | BLOB MANIPULATION IN AN INTEGRATED STRUCTURED STORAGE SYSTEM - Embodiments of the present invention relate to systems, methods and computer storage media for facilitating the structured storage of binary large objects (Blobs) to be accessed by an application program being executed by a computing device. Generally, the manipulation of Blobs in a structured storage system includes receiving a request for a Blob, which may be located by way of a Blob pointer. The Blob pointer allows for the data, such as properties, of the Blob to be identified and located. Expired properties are garbage collected as a manipulation of the Blob data within a structured storage system. In an embodiment, the Blob is identified by a key that is utilized within a primary structured index to located the requested Blob. In another embodiment, the requested Blob is located utilizing a secondary hash index. In an additional embodiment, the Blob is locate utilizing a file table. | 04-29-2010 |
20100106934 | PARTITION MANAGEMENT IN A PARTITIONED, SCALABLE, AND AVAILABLE STRUCTURED STORAGE - 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. | 04-29-2010 |
20100114848 | ATOMIC MULITPLE MODIFICATION OF DATA IN A DISTRIBUTED STORAGE SYSTEM - Atomic multiple modifications of streams is provided. Streams are selected for the application of an atomic multiple modification. A lock is acquired on the meta-data associated with the streams. Each stream is de-coupled from its name. Multiple modifications are applied to the selected streams. After performing the modifications, names are coupled to the streams. The lock on the meta-data associated with each stream is released. | 05-06-2010 |
20100312809 | GEOGRAPHIC CO-LOCATION SERVICE FOR CLOUD COMPUTING - 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. | 12-09-2010 |
20110099266 | Maintaining Service Performance During a Cloud Upgrade - 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. | 04-28-2011 |
20110119668 | MANAGING VIRTUAL HARD DRIVES AS BLOBS - Cloud computing platforms having computer-readable media that perform methods to manage virtual hard drives as blobs are provided. The cloud computing platform includes fabric computers and blob stores. The fabric computers execute virtual machines that implement one or more applications that access virtual hard drives. The data in the virtual hard drives is accessed, via a blob interface, from blobs in the blob stores. The blob stores interface with a driver that translates some application input/output (I/O) requests destined to the virtual hard drives to blob commands when accessing data in the virtual hard drives. | 05-19-2011 |
20120303578 | Versioned And Hierarchical Data Structures And Distributed Transactions - 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. | 11-29-2012 |
20120303791 | LOAD BALANCING WHEN REPLICATING ACCOUNT DATA - Embodiments of the present invention relate to invoking and managing load-balancing operation(s) applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the load-balancing operation(s) are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are located in geographically distinct areas and are equipped to replicate the storage account's data therebetween. The load-balancing operation(s) include splitting partitions into child partitions upon detecting an increased workload as a result of active replication, merging partitions to form parent partitions upon detecting a reduction in workload as a result of decreased processing-related resource consumption, or offloading partitions based on resource consumption. A service within a partition layer of the storage stamps is responsible for determining when to invoke these load-balancing operation(s). | 11-29-2012 |
20120303912 | STORAGE ACCOUNT MIGRATION BETWEEN STORAGE STAMPS - Embodiments of the present invention relate to invoking and managing migration operations applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the migration operations are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are equipped to replicate the storage account's data therebetween upon initiating a migration. Upon substantial completion of a bootstrapping phase of replication, one migration operation includes designating the secondary storage stamp as a new primary storage stamp such that the destination partitions commence processing client requests, sending resultant transactions to the source partitions, and providing read and write access thereto. Another migration operation includes designating the primary storage stamp as a new secondary storage stamp such that the source partitions commence replaying the transactions. | 11-29-2012 |
20120303999 | IMPLEMENTING FAILOVER PROCESSES BETWEEN STORAGE STAMPS - Embodiments of the present invention relate to invoking and managing a failover of a storage account between partitions within a distributed computing environment, where each partition represents a key range of data for the storage account. The partitions affected by the failover include source partitions hosted on a primary storage stamp and destination partitions hosted on a secondary storage stamp, where the storage account's data is being actively replicated from the primary to the secondary storage stamp. Upon receiving a manual or automatic indication to perform the failover, configuring the source partitions to independently perform flush-send operations (e.g., distributing pending messages as a group) and then configuring the destination partitions to independently perform flush-replay operations (e.g., aggressively replaying currently pending transactions). Upon completing the flush-replay operations, designating the secondary storage stamp as a new primary storage stamp such that live traffic is directed to the new primary storage stamp. | 11-29-2012 |
20130179289 | PRICING OF RESOURCES IN VIRTUAL MACHINE POOLS - Systems and methods are provided for assigning resources in a cloud computing environment via a spot pricing process. The spot pricing process allows virtual machines to be assigned on a preemptible basis to pools based on bids associated with the pools. The bids can be used to determine a price for assignment of preemptible virtual machines. Preemptible virtual machines can then be assigned to pools based at least in part on the submitted bids in relation to the determined price. | 07-11-2013 |
20130179574 | ASSIGNMENT OF RESOURCES IN VIRTUAL MACHINE POOLS - 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. | 07-11-2013 |
20130179881 | DECOUPLING PAAS RESOURCES, JOBS, AND SCHEDULING - 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. Resources of the system, job performing on the system, and schedulers of the jobs performing on the system are decoupled in a manner that allows a job to easily migrate among resources. It is contemplated that the migration of jobs from a first pool of resource to a second pool of resource is performed by the system without human intervention. The migration of a job may utilize different schedulers for the different resources. Further, it is contemplated that a pool of resources may automatically allocate additional or fewer resources in response to a migration of a job. | 07-11-2013 |
20130179894 | PLATFORM AS A SERVICE JOB SCHEDULING - 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. A user may submit a work item to the system that results in a job being processed on a pool of virtual machines. The pool may be automatically established by the system in response to the work item and other information associated with the work item, the user, and/or the account. Further, it is contemplated that resources associated with the pool, such as virtual machines, may be automatically allocated based, at least in part, on information associated with the work item, the user, the account, the pool, and/or the system. | 07-11-2013 |
20130179895 | PAAS HIERARCHIAL SCHEDULING AND AUTO-SCALING - 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. | 07-11-2013 |
20130204917 | MANAGING PARTITIONS IN A SCALABLE ENVIRONMENT - Systems and methods are provided that enable a general framework for partitioning application-defined jobs in a scalable environment. The general framework decouples partitioning of a job from the other aspects of the job. As a result, the effort required to define the application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. The general framework also facilitates management of masters and servers performing computations within the distributed environment. | 08-08-2013 |
20130204990 | DECOUPLING PARTITIONING FOR SCALABILITY - 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. | 08-08-2013 |
20130204991 | DYNAMIC LOAD BALANCING IN A SCALABLE ENVIRONMENT - Systems and methods are provided that enable a general framework for partitioning application-defined jobs (e.g., computation) in a scalable environment. The general framework decouples partitioning of a job from the other aspects of the job. As a result, the effort required to define the application-defined computation in a scalable environment is reduced or minimized, as the user is not required to provide a partitioning algorithm. The general framework further allows a user to provide load balancing conditions to allow for modification of how partitions are assigned. | 08-08-2013 |
20130305005 | MANAGING CIRTUAL HARD DRIVES AS BLOBS - 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. | 11-14-2013 |
20130311521 | BLOB MANIPULATION IN AN INTEGRATED STRUCTURED STORAGE SYSTEM - Embodiments of the present invention relate to systems, methods and computer storage media for facilitating the structured storage of binary large objects (Blobs) to be accessed by an application program being executed by a computing device. Generally, the manipulation of Blobs in a structured storage system includes receiving a request for a Blob, which may be located by way of a Blob pointer. The Blob pointer allows for the data, such as properties, of the Blob to be identified and located. Expired properties are garbage collected as a manipulation of the Blob data within a structured storage system. In an embodiment, the Blob is identified by a key that is utilized within a primary structured index to located the requested Blob. In another embodiment, the requested Blob is located utilizing a secondary hash index. In an additional embodiment, the Blob is locate utilizing a file table. | 11-21-2013 |
20140059533 | MAINTAINING SERVICE PERFORMANCE DURING A CLOUD UPGRADE - 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. | 02-27-2014 |
20140258499 | LOAD BALANCING WHEN REPLICATING ACCOUNT DATA - Embodiments of the present invention relate to invoking and managing load-balancing operation(s) applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the load-balancing operation(s) are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are located in geographically distinct areas and are equipped to replicate the storage account's data therebetween. The load-balancing operation(s) include splitting partitions into child partitions upon detecting an increased workload as a result of active replication, merging partitions to form parent partitions upon detecting a reduction in workload as a result of decreased processing-related resource consumption, or offloading partitions based on resource consumption. A service within a partition layer of the storage stamps is responsible for determining when to invoke these load-balancing operation(s). | 09-11-2014 |
20140289554 | IMPLEMENTING FAILOVER PROCESSES BETWEEN STORAGE STAMPS - Embodiments of the present invention relate to invoking and managing a failover of a storage account between partitions within a distributed computing environment, where each partition represents a key range of data for the storage account. The partitions affected by the failover include source partitions hosted on a primary storage stamp and destination partitions hosted on a secondary storage stamp, where the storage account's data is being actively replicated from the primary to the secondary storage stamp. Upon receiving a manual or automatic indication to perform the failover, configuring the source partitions to independently perform flush-send operations (e.g., distributing pending messages as a group) and then configuring the destination partitions to independently perform flush-replay operations (e.g., aggressively replaying currently pending transactions). Upon completing the flush-replay operations, designating the secondary storage stamp as a new primary storage stamp such that live traffic is directed to the new primary storage stamp. | 09-25-2014 |
20150067682 | ASSIGNMENT OF RESOURCES IN VIRTUAL MACHINE POOLS - 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. | 03-05-2015 |
Patent application number | Description | Published |
20090132727 | SYSTEM FOR CONNECTING DIFFERENT COMPONENTS, NETWORK FORWARDING COMPONENT AND INDEPENDENT APPLICATION COMPONENT - The present invention discloses a system for connecting different components, a Network Forwarding Component NFC and an Independent Application Component IAC. The NFC includes: a data forwarding unit, a processor, a data interface on the NFC side, a management interface on the NFC side and a status information interface on the NFC side. The IAC includes: a processor, a data interface on the IAC side, a management interface on the IAC side and a status information interface on the IAC side. The present invention makes it possible to perform information interaction between the NFC and the IAC integrated in one network device through the configured interfaces. | 05-21-2009 |
20090262643 | METHOD FOR IMPLEMENTING INTERSECTING RING NETWORK WITH ARBITRARY TOPOLOGY, NODE AND INTERSECTING RING NETWORK - The present invention discloses a method for implementing an intersecting ring network with arbitrary topology, node and an intersecting ring network. The method includes: intersecting multiple Ethernet rings to form the intersecting ring network with arbitrary topology, each Ethernet ring in the intersecting ring network comprising a master node and multiple transmission nodes; the master node of each Ethernet ring opening its primary port and blocking its secondary port during initial normal operation; and the master node of each Ethernet ring in the intersecting ring network performing fault detection and fault processing as well as fault recovery detection and fault recovery processing by using one of the two manners containing protocol message interaction and detection on links directly connected to the master node. | 10-22-2009 |
20090290486 | Ring Network Routing Method and Ring Network Node - The present invention discloses a method for routing in a ring network, the ring network comprising multiple connected nodes, wherein, the method includes: each node in the ring network acquiring topology information of the ring network, obtaining under-ring routings learnt by the other nodes from a under-ring network, calculating a main path and a backup path to each routing according to the acquired topology information of the ring network, creating an FRR switch table, and switching between the main path and the backup path according to the FRR switch table when a failure occurs in the ring network. Accordingly, the present invention also provides a node in the ring network. Adopting technical scheme provided by the present invention, a simple routing implementation for ring network and fast convergence when a failure occurs can be provided. | 11-26-2009 |
20100011139 | NETWORK APPARATUS AND METHOD FOR COMMUNICATION BETWEEN DIFFERENT COMPONENTS - The present invention discloses a method for communication among different components, including integrating a Network Forwarding Component (NFC) for forwarding messages and at least one Independent Application Component (IAC) for performing other service processing into one network device; setting at least one cooperation mode in the NFC and each of the at least one IAC; and communicating with each other, by the NFC and the at least one IAC, according to the at least one cooperation mode. The cooperation mode may be any or any combination of a host mode, a mirror mode, a redirection mode and a pass-through mode. According to the present invention, the NFC and the IAC may communicate according to the cooperation mode so as to ensure that the NFC and the IAC can cooperate to provide various service capabilities including message forwarding and other additional service capabilities. | 01-14-2010 |
20100132028 | METHOD FOR IMPLEMENTING SECURITY-RELATED PROCESSING ON PACKET AND NETWORK SECURITY DEVICE - Embodiments of the present invention provide method for implementing security-related processing on packet and a network security device. Through establishing a relationship between stream attribute information of an initial packet of a stream and security-related processing information implemented on the initial packet, when a succeeding packet of the stream is received, the previously stored relationship is acquired according to stream attribute information of the succeeding packet, the security-related processing is implemented on the succeeding packet according to the security-related processing information in the relationship. Therefore, according to the method for implementing security-related processing on packet and the network security device provided by the present invention, the process of searching for security information entries for succeeding packets of a stream is not required, the security-related processing procedure of the packet is thus accelerated, and the packet processing efficiency is improved. | 05-27-2010 |
20100195647 | METHOD AND APPARATUS FOR PACKET PROCESSING - The present invention discloses a packet processing apparatus and method. The packet processing apparatus is applied to an L4˜L7 network device, including a plurality of interface processing units and a plurality of service processing units, the interface processing units are connected with the service processing units through a first connection unit; and each of the interface processing units is adapted to select, after receiving a packet from outside, a service processing unit from all the service processing units and transmit the packet to the selected service processing unit; and each of the service processing units is adapted to perform service processing to the packet after receiving the packet. The present invention improves packet processing capability and reliability of the L4˜L7 network device. | 08-05-2010 |