×

System and method for managing a computing cluster

  • US 9,459,925 B2
  • Filed: 06/23/2011
  • Issued: 10/04/2016
  • Est. Priority Date: 06/23/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing a telephony platform networked computing cluster hosted at a third party Internet-based multi-tenant computing platform, the method comprising:

  • at a configuration controller that is communicatively coupled to the third party Internet-based multi-tenant computing platform via the Internet;

    the configuration controller establishing a configuration controller publication channel with a message broker that is constructed to provide machine state via the Internet to a machine that is subscribed to the configuration controller publication channel, the machine being a machine of a plurality of machines of the computing platform, the message broker being constructed to provide machine state notifications received from the machine to the configuration controller, the message broker receiving the machine state notifications via a machine publication channel between the machine and the message broker, establishing the configuration controller publication channel comprising;

    the configuration controller storing a security key of the machine that is supplied at boot time of the machine and provided to the configuration controller via the message broker, the security key being used to securely identify the machine;

    responsive to a first instruction received by the configuration controller from an outside system via an application programming interface (API) of the configuration controller, the configuration controller;

    encrypting first telephony platform computing cluster software with the stored security key, andproviding the encrypted first telephony platform computing cluster software to the machine via the configuration controller publication channel, the first telephony platform computing cluster software including software for a first telephony platform service that includes a plurality of telephony call router services, a plurality of dedicated telephony service load balancer services, and a plurality of dependent telephony services, each call router service being communicatively coupled with a dedicated telephony service load balancer service, each load balancer service distributing telephony jobs of the associated telephony call router service to a plurality of dependent telephony services that are managed by the load balancer service, the telephony services including two or more of a media processor service, a routing service, a call queue service, a resource database service, and a proxy service;

    the configuration controller establishing at least one configuration controller subscription with the message broker to receive machine state notifications of the machine via the Internet, wherein responsive to the machine decrypting the encrypted first telephony platform computing cluster software by using the security key, the machine executes the first telephony platform computing cluster software, and wherein the first telephony platform computing cluster software is constructed to control the machine to;

    provide at least a portion of the first telephony platform service,subscribe to new machine state published by the configuration controller via the configuration controller publication channel, andpublish a machine state notification of the machine to the subscribed configuration controller via the Internet responsive to a change in a machine state of the machine;

    at the configuration controller, responsive to a published machine state notification of the machine, the notification being received via message broker;

    updating a machine state database with the machine state notification,calculating new machine state from the machine state notification and machine state stored in the machine state database, the machine state stored in the machine state database including machine state of the plurality of telephony call router services, telephony service load balancer services, and dependent telephony services of the computing cluster,selectively publishing the calculated new machine state to the machine by using the security key, andin a case where the notification is published by a dependent telephony service;

    identifying the associated telephony service load balancer service by using the machine state database,calculating new machine state for the identified load balancer service, andpublishing the calculated new machine state for the load balancer service to a machine of the load balancer service via the configuration controller publication channel, andresponsive to a second instruction received by the configuration controller from the outside system via the API of the configuration controller, the configuration controller;

    encrypting second telephony platform computing cluster software with the stored security key, andproviding the encrypted second telephony platform computing cluster software to the machine via the configuration controller publication channel to replace the first telephony platform computing cluster software at the machine, the second telephony platform computing cluster software including software for a second telephony platform service that is different from the first telephony platform service, the machine decrypting the encrypted second telephony platform computing cluster software by using the security key and the machine replacing execution of the first telephony platform computing cluster software with execution of the second telephony platform computing cluster software to provide at least a portion of the second telephony platform service, the first telephony platform service being one of a plurality of telephony platform services including a voice communication service, a messaging communication service, and a video communication service, the second telephony platform service being one of the plurality of telephony platform services that is different from the first telephony platform service,wherein in a case where the configuration controller selectively publishes the calculated new machine state to a machine of a dependent telephony service, the configuration controller publishes the calculated new machine state via a machine of the associated telephony service load balancer service, andwherein machine state of a telephony service load balancer service identifies dependent telephony services of the load balancer,wherein new machine state published by the configuration controller includes at least one of a telephony platform configuration data change, and a telephony platform software change,wherein the configuration controller provides the first telephony platform computing cluster software to the machine via the Internet, receives machine state notifications from the computing platform via the Internet, and publishes new machine state to the computing platform via the Internet, andwherein the outside system is an external system of a user of the computing platform.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×