US9350633B2 - Dynamic optimization of command issuance in a computing cluster - Google Patents
Dynamic optimization of command issuance in a computing cluster Download PDFInfo
- Publication number
- US9350633B2 US9350633B2 US13/557,186 US201213557186A US9350633B2 US 9350633 B2 US9350633 B2 US 9350633B2 US 201213557186 A US201213557186 A US 201213557186A US 9350633 B2 US9350633 B2 US 9350633B2
- Authority
- US
- United States
- Prior art keywords
- nodes
- directive
- computer
- computed
- multiplicity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims abstract description 19
- 238000012163 sequencing technique Methods 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 8
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 6
- 239000000523 sample Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Definitions
- the present invention relates to cluster based computing and more particularly to command propagation in a computing cluster.
- Computing clusters have become common in the field of high-availability and high-performance computing.
- Cluster-based systems exhibit three important and fundamental characteristics or properties: reliability, availability and serviceability. Each of these features is of paramount importance when designing the software and the hardware of a new robust clustered system.
- SMP symmetric multi-processing
- a clustered-based system consists of multiple computers that are connected over high-speed network communicative linkages.
- Each computer in a cluster enjoys its own memory, possibly its own disk space and it hosts its own local operating system.
- Each node within the cluster system can be viewed as a processor-memory module that cooperates with other nodes such that it can provide system resources and services to user applications.
- Nodes in a cluster system are not limited to a physical computing system. Rather, nodes in a cluster system also can include virtual machines operating in a physical host environment.
- Clusters can be characterized by increased availability since the failure of a particular node does not affect the operation of the remaining nodes. Rather, any one failed node can be isolated and no longer utilized by the cluster-based system until the node can be repaired and incorporated again within the cluster. Additionally, the load of a failed node within a cluster can be equitably shared among the functional nodes of the cluster. Thus, clusters have proven to be a sensible architecture for deploying applications in the distributed environment and clusters are now the platform of choice in scalable, high-performance computing.
- Individual computing nodes of a cluster can be managed at the command line or programmatically.
- commands are issued from a command source within a process execution space and can be directed to one or more targeted nodes.
- Typical commands include node reboot, update, launch and shut down to name a few possible commands.
- the same command can be directed to multiple different nodes within a cluster.
- the sequence in which the commands are individually transmitted is arbitrary. However, depending upon network conditions, those commands may be received in each of the targeted nodes at different times. In the case of high network latency for some of those nodes, the gap in time of receipt of a command from a node receiving the command soonest and the node receiving the command latest can be intolerable and can result in an unwanted system condition.
- Embodiments of the present invention address deficiencies of the art in respect to command and control in a computing cluster and provide a novel and non-obvious method, system and computer program product for dynamic optimization of command sequencing in a computing cluster.
- a method for dynamic optimization of command sequencing in a computing cluster can include selecting a set of nodes in the computing cluster to receive a single command and probing the nodes of the set to compute a computer communications latency for each of the nodes. Thereafter, the single command can be transmitted to the nodes in the set according to a sequence determined by the computed computer communications latency for each of the nodes.
- the nodes are probed using a ping directive to each of the nodes.
- the computed computer communications latency accounts for a time consumed in sending data to the nodes using the ping directive.
- the nodes are probed using a traceroute directive to each of the nodes.
- the computed computer communications latency accounts for a number of hops necessary to reach each of the nodes using the traceroute directive.
- the nodes are probed with a test directive and the computed computer communications latency accounts for a period of time consumed by the nodes to each complete performance of the test directive.
- the sequence is managed within a data structure of nodes sorted according to the computed computer communications latency for each of the nodes.
- a clustered computing system can be configured for dynamic optimization of command sequencing.
- the system can include one or more different computers, each including memory and at least one processor. Each of the computers further can be coupled to the other over a computer communications network.
- the system also can include multiple different nodes each supported by one or more of the computers and forming a computing cluster.
- the system can include a command sequencer executing in memory of one of the computers in association with an originating one of the nodes.
- the sequencer can include program code enabled to select a set of the nodes to receive a single command, to probe the nodes of the set to compute a computer communications latency for each of the nodes, and to transmit the single command to the nodes in the set according to a sequence determined by the computed computer communications latency for each of the nodes.
- FIG. 1 is a pictorial illustration of a process for dynamic optimization of command sequencing in a computing cluster
- FIG. 2 is a schematic illustration of a clustered computing system configured for dynamic optimization of command sequencing
- FIG. 3 is a flow chart illustrating a process for dynamic optimization of command sequencing in a computing cluster.
- Embodiments of the invention provide for dynamic optimization of command sequencing in a computing cluster.
- different nodes in a computing cluster can be probed to determine computer communications latency between each of the different nodes and a common originating node. Thereafter, a single system command can be issued to the different nodes in an order determined based upon the computed computer communications latency.
- the nodes with the highest determined latency can be targeted with the system command before those nodes of smallest determined latency. In this way, the gap in time of receipt of the command from a node receiving the command soonest and the node receiving the command latest can be optimized.
- FIG. 1 pictorially shows a process for dynamic optimization of command sequencing in a computing cluster.
- a command sequencer 140 in an originating node 110 of a computing cluster of nodes 120 can probe a selected set of the nodes 120 for computer communications latency 130 .
- the computer communications latency 130 can be computed in terms of an amount of time taken to respond to a request, the time consumed during a “ping” directive, a number of hops consumed in processing a “traceroute” directive, a period of time that lapses before a node begins to respond to a request from the originating node 110 , a period of time consumed by each of the nodes 120 to complete performance of a command, and so forth.
- the command sequencer 130 uses the computed computer communications latency 130 to create an ordering of the nodes in the form of a node sequence 160 to which a single command 150 is issued to the set of nodes 120 so as to optimize a gap in time in receipt of the command 150 from those of the nodes 120 receiving the command 150 first and those of the nodes 120 receiving the commands 150 last.
- FIG. 2 schematically shows a clustered computing system configured for dynamic optimization of command sequencing.
- the system can include a computing cluster 210 , 220 , 230 that includes multiple different processing nodes 230 coupled to one another over a computer communications network 220 .
- a single computer with memory and at least one processor can support a single one of the nodes 230 .
- multiple different computers each with memory and at least one processor can support a single one of the nodes 230 .
- a single or multiple different computers can support multiple different ones of the nodes 230 , each executing in its own process address space.
- each individual one of the nodes 230 can be supported by a corresponding processor of a computer, even when the processor is grouped with a number of different processors in a single computer.
- An originating node 210 can be coupled to the other nodes 230 over the computer communications network 220 and can include a cluster management interface 250 .
- the cluster management interface 250 can provide a user interface through which an end user can configure the computing cluster 210 , 220 , 230 and through which the end user can issue commands to different ones of the nodes 230 .
- a command sequencing module 300 can be coupled to the cluster management interface 250 .
- the module 300 can include program code that when executing in memory of a computer can probe the nodes 230 to compute for each of the nodes 230 a computer communications latency between the originating node 210 and respective ones of the nodes 230 .
- a sequence of nodes can be stored in a data store 240 coupled to the originating node 210 .
- the sequencing of nodes can order the nodes according to computed computer communications latency. Consequently, the program code of the command sequencing module 300 can transmit to each of the nodes 230 in the sequence list of the data store 240 a single command in an order dictated by the sequence list. As a result, the gap in time of receipt of the command from one of the nodes 230 receiving the command soonest and one of the nodes 230 receiving the command latest can be optimized.
- FIG. 3 is a flow chart illustrating a process for dynamic optimization of command sequencing in a computing cluster.
- a node sequence data structure can be initialized to store different entries, each indicating an identity of a node and a computed computer communications network latency.
- an inventory of nodes to be probed can be retrieved from a static list of nodes intended to receive a single command of interest, or the inventory can be determined dynamically through network inspection.
- a first node can be selected for processing.
- a test directive can be issued in respect to the selected node.
- the test directive can include, by way of example, a ping directive or a traceroute directive.
- a computer communications network latency can be computed, for instance a time consumed to complete an acknowledged packet transmission in the case of a ping directive, or a number of hops to reach the node in the case of a traceroute directive.
- the computer communications network latency can be computed as a period of time consumed by the node to complete performance of the test command.
- an entry for the node can be inserted into the node sequence data structure and the node sequence data structure can be sorted according to the computed computer communications latency for the node in block 370 .
- decision block 380 if additional nodes in the inventory remain to be processed, the process can repeat through block 330 with the selection of a next node in the inventory. Otherwise, in block 390 , a single command can be transmitted to each node in the node sequence data structure in an order specified by the ordering of nodes in the node sequence data structure.
- aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, radiofrequency, and the like, or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language and conventional procedural programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider an Internet Service Provider
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures.
- each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams can be implemented by computer program instructions.
- These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/557,186 US9350633B2 (en) | 2012-07-24 | 2012-07-24 | Dynamic optimization of command issuance in a computing cluster |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/557,186 US9350633B2 (en) | 2012-07-24 | 2012-07-24 | Dynamic optimization of command issuance in a computing cluster |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140032628A1 US20140032628A1 (en) | 2014-01-30 |
US9350633B2 true US9350633B2 (en) | 2016-05-24 |
Family
ID=49995956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/557,186 Active 2034-08-25 US9350633B2 (en) | 2012-07-24 | 2012-07-24 | Dynamic optimization of command issuance in a computing cluster |
Country Status (1)
Country | Link |
---|---|
US (1) | US9350633B2 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150278295A1 (en) * | 2012-07-26 | 2015-10-01 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10031956B2 (en) | 2012-07-26 | 2018-07-24 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10262050B2 (en) | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10366100B2 (en) | 2012-07-26 | 2019-07-30 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10394822B2 (en) | 2015-09-25 | 2019-08-27 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10423626B2 (en) | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10489357B2 (en) | 2015-12-15 | 2019-11-26 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US10496669B2 (en) | 2015-07-02 | 2019-12-03 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10621050B2 (en) | 2016-06-27 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
US10621200B2 (en) | 2010-12-23 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10713280B2 (en) | 2010-12-23 | 2020-07-14 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10740355B2 (en) | 2011-04-01 | 2020-08-11 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US10846305B2 (en) | 2010-12-23 | 2020-11-24 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US10866868B2 (en) | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10997211B2 (en) | 2010-12-23 | 2021-05-04 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2542830B (en) * | 2015-09-30 | 2017-11-01 | British Telecomm | Analysis of network performance |
EP3357194B1 (en) | 2015-09-30 | 2019-10-30 | British Telecommunications public limited company | Analysis of network performance |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055568A (en) * | 1996-12-17 | 2000-04-25 | Intel Corporation | Method and apparatus for dynamically configuring a decentralized network of computers |
US20020009095A1 (en) | 2000-05-31 | 2002-01-24 | Van Doren Stephen R. | Multicast decomposition mechanism in a hierarchically order distributed shared memory multiprocessor computer system |
US20020091574A1 (en) * | 2000-05-30 | 2002-07-11 | Lefebvre Guy V. | Master universal tariff system and method |
WO2002071760A2 (en) * | 2001-03-06 | 2002-09-12 | Digital Interactive Broadband Services Limited | System for synchronizing reception of data over different networks |
US6937569B1 (en) * | 2001-05-21 | 2005-08-30 | Cisco Technology, Inc. | Method and system for determining a relative position of a device on a network |
US7058706B1 (en) * | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US20070274227A1 (en) * | 2006-05-24 | 2007-11-29 | At&T Corp. | Network latency analysis packet and method |
US20100011126A1 (en) * | 2000-09-26 | 2010-01-14 | Foundry Networks, Inc. | Global server load balancing |
US20100228824A1 (en) * | 2009-03-06 | 2010-09-09 | Cisco Technology, Inc. | Distributed server selection for online collaborative computing sessions |
US20110002333A1 (en) * | 2008-02-08 | 2011-01-06 | Panasonic Corporation | Terminal and n-tree constructing method |
US20120158996A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Identifying an efficient destination server |
US20120240176A1 (en) * | 2011-03-16 | 2012-09-20 | Azuki Systems, Inc. | Method and system for federated over-the-top content delivery |
-
2012
- 2012-07-24 US US13/557,186 patent/US9350633B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055568A (en) * | 1996-12-17 | 2000-04-25 | Intel Corporation | Method and apparatus for dynamically configuring a decentralized network of computers |
US7058706B1 (en) * | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US20020091574A1 (en) * | 2000-05-30 | 2002-07-11 | Lefebvre Guy V. | Master universal tariff system and method |
US20020009095A1 (en) | 2000-05-31 | 2002-01-24 | Van Doren Stephen R. | Multicast decomposition mechanism in a hierarchically order distributed shared memory multiprocessor computer system |
US20100011126A1 (en) * | 2000-09-26 | 2010-01-14 | Foundry Networks, Inc. | Global server load balancing |
WO2002071760A2 (en) * | 2001-03-06 | 2002-09-12 | Digital Interactive Broadband Services Limited | System for synchronizing reception of data over different networks |
US6937569B1 (en) * | 2001-05-21 | 2005-08-30 | Cisco Technology, Inc. | Method and system for determining a relative position of a device on a network |
US20070274227A1 (en) * | 2006-05-24 | 2007-11-29 | At&T Corp. | Network latency analysis packet and method |
US20110002333A1 (en) * | 2008-02-08 | 2011-01-06 | Panasonic Corporation | Terminal and n-tree constructing method |
US20100228824A1 (en) * | 2009-03-06 | 2010-09-09 | Cisco Technology, Inc. | Distributed server selection for online collaborative computing sessions |
US20120158996A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Identifying an efficient destination server |
US20120240176A1 (en) * | 2011-03-16 | 2012-09-20 | Azuki Systems, Inc. | Method and system for federated over-the-top content delivery |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10997211B2 (en) | 2010-12-23 | 2021-05-04 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10846305B2 (en) | 2010-12-23 | 2020-11-24 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10713280B2 (en) | 2010-12-23 | 2020-07-14 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US11222043B2 (en) | 2010-12-23 | 2022-01-11 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10621200B2 (en) | 2010-12-23 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10740355B2 (en) | 2011-04-01 | 2020-08-11 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US10366100B2 (en) | 2012-07-26 | 2019-07-30 | Mongodb, Inc. | Aggregation framework system architecture and method |
US20150278295A1 (en) * | 2012-07-26 | 2015-10-01 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10990590B2 (en) | 2012-07-26 | 2021-04-27 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10031956B2 (en) | 2012-07-26 | 2018-07-24 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9792322B2 (en) * | 2012-07-26 | 2017-10-17 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10496669B2 (en) | 2015-07-02 | 2019-12-03 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US10713275B2 (en) | 2015-07-02 | 2020-07-14 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US11394532B2 (en) | 2015-09-25 | 2022-07-19 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US10262050B2 (en) | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US10394822B2 (en) | 2015-09-25 | 2019-08-27 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10423626B2 (en) | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10430433B2 (en) | 2015-09-25 | 2019-10-01 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US11288282B2 (en) | 2015-09-25 | 2022-03-29 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US10489357B2 (en) | 2015-12-15 | 2019-11-26 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US10698775B2 (en) | 2016-05-31 | 2020-06-30 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US11481289B2 (en) | 2016-05-31 | 2022-10-25 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US11537482B2 (en) | 2016-05-31 | 2022-12-27 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10621050B2 (en) | 2016-06-27 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
US11520670B2 (en) | 2016-06-27 | 2022-12-06 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
US11544154B2 (en) | 2016-06-27 | 2023-01-03 | Mongodb, Inc. | Systems and methods for monitoring distributed database deployments |
US10776220B2 (en) | 2016-06-27 | 2020-09-15 | Mongodb, Inc. | Systems and methods for monitoring distributed database deployments |
US10866868B2 (en) | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
Also Published As
Publication number | Publication date |
---|---|
US20140032628A1 (en) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9350633B2 (en) | Dynamic optimization of command issuance in a computing cluster | |
US10942760B2 (en) | Predictive rightsizing for virtual machines in cloud computing systems | |
US10474451B2 (en) | Containerized upgrade in operating system level virtualization | |
CN110532092A (en) | Reso urce matching method, device and equipment | |
US10430172B2 (en) | Re-configuration in cloud computing environments | |
US20150222506A1 (en) | Mechanism for controlling a process on a computing node based on the participation status of the computing node | |
US10871918B2 (en) | Writing composite objects to a data store | |
US9130943B1 (en) | Managing communications between client applications and application resources of on-premises and cloud computing nodes | |
US10592312B2 (en) | Message oriented middleware with integrated rules engine | |
CN109388626B (en) | Method and apparatus for assigning numbers to services | |
US10621124B2 (en) | Method, device and computer program product for enabling SR-IOV functions in endpoint device | |
CN109117252A (en) | Method, system and the container cluster management system of task processing based on container | |
CN109901985B (en) | Distributed test apparatus and method, storage medium, and electronic device | |
US10305817B1 (en) | Provisioning system and method for a distributed computing environment using a map reduce process | |
US10176067B1 (en) | On-demand diagnostics in a virtual environment | |
JP6202091B2 (en) | Information processing apparatus and deployment method | |
US20180314548A1 (en) | Work item management in content management systems | |
CN111782502A (en) | Automatic testing method and device | |
CN115168162A (en) | Multi-gray-scale issuing method and device based on ingress controller in container environment and storage medium | |
US9288178B2 (en) | Inventory updating of an internet protocol (IP) alias within a highly available computing cluster | |
US9836315B1 (en) | De-referenced package execution | |
US10664191B2 (en) | System and method for providing input/output determinism based on required execution time | |
CN109981320B (en) | Method and device for managing configuration information | |
CN107003941B (en) | Scalable synchronization mechanism for distributed memory | |
US20240036862A1 (en) | Packet processing in a distributed directed acyclic graph |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CUDAK, GARY D.;HARDEE, CHRISTOPHER J.;HUMES, RANDALL C.;AND OTHERS;REEL/FRAME:028629/0062 Effective date: 20120719 |
|
AS | Assignment |
Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:034194/0111 Effective date: 20140926 Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD., Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:034194/0111 Effective date: 20140926 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: LENOVO INTERNATIONAL LIMITED, HONG KONG Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.;REEL/FRAME:039872/0136 Effective date: 20160830 |
|
AS | Assignment |
Owner name: LENOVO INTERNATIONAL LIMITED, HONG KONG Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.;REEL/FRAME:050301/0494 Effective date: 20160701 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |