System and method for managing a computing cluster
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/177
G06F-009/50
H04L-029/08
H04M-003/22
H04M-007/00
출원번호
US-0167562
(2011-06-23)
등록번호
US-9459925
(2016-10-04)
발명자
/ 주소
Lawson, Jeffrey G.
Wolthuis, John
Cooke, Evan Mansfield
출원인 / 주소
Twilio, Inc.
대리인 / 주소
Schox, Jeffrey
인용정보
피인용 횟수 :
5인용 특허 :
231
초록▼
A method and system for managing a computing cluster including hosting a plurality of machines in a networked computing cluster, wherein the plurality of machines include service instances running on hosts, where the services have configured machine state; and wherein machine state includes configur
A method and system for managing a computing cluster including hosting a plurality of machines in a networked computing cluster, wherein the plurality of machines include service instances running on hosts, where the services have configured machine state; and wherein machine state includes configuration data and software of the machine; integrating the plurality of machines of the cluster with at least one configuration controller component; and the at least one configuration controller component, altering the machine state of at least one service instance.
대표청구항▼
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
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. 2. The method of claim 1, further comprising sharing common services of at least two input channel types. 3. The method of claim 1, wherein calculating new machine state comprises the configuration controller running a finite state machine to determine a new machine state. 4. The method of claim 1, wherein updating a machine state database with the machine state notification comprises storing version history of machine state in a content delivery network, and further comprising the machines of the cluster pulling new versions of machine state from the content delivery network. 5. The method of claim 1, further comprising in a case where a service subscribed to new machine states of the configuration controller is processing a telephony session, publishing the calculated new machine state to the service after the telephony session ends. 6. The method of claim 5, further comprising in a case where a service subscribed to new machine states of the configuration controller is processing a telephony session, publishing the calculated new machine state to dependent services of the service. 7. The method of claim 1, wherein machine state includes dependent services information; and wherein calculating new machine state from the machine state notification and machine state stored in the machine state database further comprises calculating a new machine state of a dependent service following a dependency graph formed from dependent services information in the machine state database. 8. The method of claim 1, further comprising, at a call router service, receiving calls and executing a telephony application during a telephony session. 9. The method of claim 1, further comprising, at a call router service, receiving telephony messages and executing telephony applications. 10. The method of claim 1, wherein each telephony call router service, load balancer service, and dependent telephony service has a configured machine state, and wherein the configured machine state includes service status, service configuration data, software of the service, and dependent service information. 11. The method of claim 10, further comprising, at the configuration controller, responsive to a published machine state notification of a service to which the configuration controller is subscribed, identifying service instances that are dependent on the service of the published machine state notification and building a dependency graph of services, wherein selectively publishing the calculated new machine state comprises publishing to subscribed services in an order based on the dependency graph. 12. The method of claim 10, wherein the configuration controller includes an application programming interface (API),the method further comprising: receiving a service update message via the API of the configuration controller, the service update message specifying new machine state for at least one specified service of the computing cluster, the at least one specified service including at least one of a telephony call router service, a dedicated telephony service load balancer service, and a dependent telephony service of the computing cluster, andproviding the new machine state of the service update message to the at least one specified service. 13. The method of claim 12, wherein the API of the configuration controller is a REST API, and wherein the service update message is provided by a system that is external to the telephony platform computing cluster system. 14. The method of claim 13, further comprising verifying authenticity of published machine state with a shared key. 15. The method of claim 14, further comprising the services of the computing cluster maintaining at least an instance subscription, a service type subscription, and a status subscription to the configuration controller; and selectively publishing the calculated new machine state comprises: publishing to a service instance through an instance subscription; publishing to a service of a first type through a service type subscription; and publishing to service of a first status through a status subscription. 16. The method of claim 13, wherein new machine state published by the configuration controller includes at least one of a configuration data change, and a software change. 17. The method of claim 13, wherein new machine state provided by the configuration controller includes state of a new telephony service, and wherein the configuration controller changes a telephony service of at least one machine of the computing cluster to a new telephony service by publishing new machine state to the at least one machine, wherein each telephony service includes at least one of a telephony call router service, a dedicated telephony service load balancer service, and a dependent telephony service. 18. The method of claim 13, wherein the configuration controller changes a telephony service of at least one machine of the computing cluster by publishing new machine state to the at least one machine,wherein each telephony service includes at least one of a telephony call router service, a dedicated telephony service load balancer service, and a dependent telephony service,wherein the configuration controller changes the telephony service of the at least one machine according to a type of input channel associated with the telephony service,wherein the type of input channel includes at least one of voice, video, and messaging. 19. The method of claim 1, wherein the first telephony platform computing cluster software is replaced during operation of the first telephony platform service.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (231)
Charles Kevin Shank ; R. Alberto Villarica, Abstract interface for media and telephony services.
Baldwin,Christopher David; Bernardini,David A.; Chavez,David L.; Gentile Polese,Luigi; Pessot,Albert D.; Roehrich,Rod; Dorato,Karen, Alternate routing of media connections within a single communications system across public or private network facilities.
Vladimir N. Deryugin ; Dmitry A. Torba ; Igor Neyman, Apparatus and methods in routing internet protocol network telephony calls in a centrally-managed call center system.
Dezonno Anthony J. (2225 Midhurst Rd. Downers Grove IL 60516) Surma Richard S. (5216 Pennywood Dr. Lisle IL 60532) Holtaway Thomas S. (245 Spring Ave. Glen Ellyn IL 60137), Automatic call distribution system with an ISDN compatible call connection system and method.
Toba Francis, Brian Alejandro; Gereda Pico, Reymarx; Cuevas, Renee Mauricio; Rallo, Christopher Lee; Figueroa, Javier; Cabrera, Alejandro E., Bi-directional sharing of a document object model.
Gerhard, Glen; Sheng, Jonqjeng Max; Ryner, Gerald T., Establishing and controlling communication sessions between SIP devices and website application servers.
Porter, Brandon W.; Stifelman, Lisa Joy; Bodell, Michael; Marx, Matthew Talin; Sutton, Bill, Handling of speech recognition in a declarative markup language.
Connelly,Jon Christopher; Hansen,Dian; Shurtleff, III,Robert Glenn, Method and apparatus and program for scheduling and executing events in real time over a network.
Dobner, Edward Joseph; Kuehr-McLaren, David Gerard; Nadalin, Anthony Joseph; Zhang, Xiaoyan, Method and apparatus for establishing a secure communication connection between a java application and secure server.
Grunsted David P. ; Krebs Christopher C. ; Botkin Bruce A. ; Kemp Daniel L. ; Dohrmann Kevin, Method and apparatus for initiating telephone calls using a data network.
Jreij Elie A. (Austin TX) Dunn Tave P. (Austin TX) Horowitz Michael J. (Ann Arbor MI) Gersing Peter E. (Cupertino CA) Whittington Robert D. (Pflugerville TX) Huber Werner (Munich DEX), Method and apparatus for masking the reporting of network telephony events to a computer.
Kochanski, Gregory P.; Olive, Joseph Philip; Shih, Chi-Lin, Method and apparatus for performing text-to-speech conversion in a client/server environment.
Andhare, Shirish; Haakenson, Erik; Adeeb, Ramy; McKinnon, Beth; Vernooy, Matt; Kunins, Jeff, Method and system for design for run-time control of voice XML applications.
Drosset, Joseph St-John; Kim, Michael; Bottorf, Christopher J.; McMillan, Juan C., Method and system for subscriber-based audio service over a communication network.
Ball, Thomas J.; Danielsen, Peter John; Mataga, Peter Andrew; Rehor, Kenneth G., Method of providing transfer capability on web-based interactive voice response services.
Reding, Craig L.; Reformato, John R.; Rajagopalan, Mahesh; Roberts, Brian F.; Helbling, Chris L.; Chopra, Manvinder S.; Hum, Ken J.; Pathak, Apurva, Methods and systems for configuring and providing conference calls.
Gechter Jerry (Lincoln MA) Fried Jeffrey A. (Somerville MA) Pokress Robert L. (Andover MA) Andrews G. Wayne (Nashua NH), Methods of automatically rerouting an incoming telephone call placed over a network.
Swanson, Jon N.; Chapweske, Adam; Colovic, Andrija; Arnold, Jonathan, Methods, systems and program products for efficient communication of data between conference servers.
Mellen-Garnett, Katrina A.; Gupta, Prashant, Modular application collaboration including filtering at the source and proxy execution of compensating transactions to conserve server resources.
Hill, Deborah Jeanne; Kiefhaber, Sarah Hildebrandt; Kohler, Joylee E.; Paddock, Henry R.; Sobus, Katherine A.; Thomson, Rodney A., Multi-service request within a contact center.
Saylor, Michael J.; Trundle, Stephen S.; Patnaik, Anurag; Garr, David A.; Lindsey, Benjamin M.; Mahowald, Josh; Inanoglu, Zeynep, Multiple voice network access provider system and method.
Lee,Sung Won; Yoon,Soon Young; Maeng,Seung Joo; Kim,Woo June; Chang,Hong Seong; Chang,Hoon, Power control apparatus and method in a wireless communication system using scheduled packet data service channel.
Stifelman, Lisa J.; Partovi, Hadi; Partovi, Haleh; Alpert, David Bryan; Marx, Matthew Talin; Bailey, Scott James; Sims, Kyle D.; Bailey, Darby McDonough; Brathwaite, Roderick Steven; Koh, Eugene; Davis, Angus Macdonald, Providing menu and other services for an information processing system using a telephone or other audio interface.
Stifelman,Lisa Joy; Partovi,Hadi; Partovi,Haleh; Alpert,David Bryan; Marx,Matthew Talin; Bailey,Scott James; Sims,Kyle D.; Bailey,Darby McDonough; Brathwaite,Roderick Steven; Koh,Eugene; Davis,Angus , Providing menu and other services for an information processing system using a telephone or other audio interface.
Stifelman,Lisa Joy; Partovi,Hadi; Partovi,Haleh; Alpert,David Bryan; Marx,Matthew Talin; Bailey,Scott James; Sims,Kyle D.; Bailey,Darby McDonough; Brathwaite,Roderick Steven; Koh,Eugene; Davis,Angus Macdonald, Providing services for an information processing system using an audio interface.
Saylor, Michael J.; Trundle, Stephen S.; Patnaik, Anurag; Garr, David A.; Lindsey, Benjamin M.; Mahowald, Josh; Inanoglu, Zeynep, Revenue generation method for use with voice network access provider system and method.
Schuster, Guido M.; Sidhu, Ikhlaq S.; Mahler, Jerry J.; Dean, Frederick D.; Grabiec, Jacek A., System and method for advertising using data network telephone connections.
Meubus Charles J.,CAX ; Jodoin Sylvain,CAX ; Nadeau Raymond,CAX, System and method for communication session disposition responsive to events in a telecommunications network and the internet.
Nick Nance ; Steve Johnson ; Mathew Porter ; Tracy Boehrer, System and method for controlling telephone calls through a cross platform enabled internet browser.
Taylor, Jonathan Robert; Campbell, Ryan Stephen; Auburn, RJ; Agranovsky, Alexander S.; Green, Robbie A., System and method for dynamic call-progress analysis and call processing.
Taylor, Jonathan Robert; Campbell, Ryan Stephen; Auburn, RJ; Agranovsky, Alexander S., System and method for dynamic telephony resource allocation between premise and hosted facilities.
Saylor, Michael J.; Trundle, Steven S; Zirngibl, Michael X.; Brown, Steven R.; Patnaik, Anurag; Garr, David A.; Lindsey, Benjamin M.; Mahowald, Josh; Inanoglu, Zeynap, System and method for generating voice pages with included audio files for use in a voice page delivery system.
Schuster, Guido M.; Sidhu, Ikhlaq S.; Bezaitis, Andrew; Gentles, Thomas, System and method for performing messaging services using a data communications channel in a data network telephone system.
Saylor,Michael J.; Richards, III,Frederick; Trundle,Steven S; Rolincik,Mark J.; Gardner,Douglas F., System and method for personalizing an interactive voice broadcast of a voice service based on automatic number identification.
Saylor, Michael J.; Richards, III, Frederick; Patnaik, Anurag; Zirngibl, Michael, System and method for real-time, personalized, dynamic, interactive voice services for book-related information.
Saylor,Michael J.; Richards, III,Frederick; Patnaik,Anurag; Zirngibl,Michael, System and method for real-time, personalized, dynamic, interactive voice services for corporate-analysis related information.
Zirngibl, Michael; Patnaik, Anurag; Saylor, Michael J.; Richards, III, Frederick, System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule.
Zirngibl,Michael; Anurag,Patnaik; Saylor,Michael J.; Richards, III,Frederick, System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule.
Langseth, Justin; Orolin, Nicolas J.; Patnaik, Anurag; Zirngibl, Michael; Saylor, Michael J.; Richards, III, Frederick, System and method for real-time, personalized, dynamic, interactive voice services for property-related information.
Eberle, Hannes; Leon, Christopher S.; Maass, Bodo; Patnaik, Anurag; Santa Ana, Alberto; Zirngibl, Michael; Reyes, Benjamin; Mosle, Wolf, System and method for the creation and automatic deployment of personalized dynamic and interactive voice services.
Zirngibl,Michael; Patnaik,Anurag, System and method for the creation and automatic deployment of personalized dynamic and interactive voice services with integrated inbound and outbound voice services.
Eberle,Hannes; Leon,Christopher S.; Maass,Bodo; Patnaik,Anurag; Santa Ana,Alberto; Zirngibl,Michael; Reyes,Benjamin; Mosle,Wolf, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services.
Eberle, Hannes; Leon, Christopher S.; Maass, Bodo; Patnaik, Anurag; Santa Ana, Alberto; Zirngibl, Michael, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services including module for generating and formatting voice services.
Zirngibl, Michael; Patnaik, Anurag; Maass, Bodo; Eberle, Hannes, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through digital sound files.
Zirngibl, Michael; Patnaik, Anurag; Maass, Bodo; Eberle, Hannes; Langseth, Justin, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts.
Zirngibl, Michael; Patnaik, Anurag; Maass, Bodo; Leon, Christopher S., System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time database queries.
Zirngibl, Michael; Patnaik, Anurag; Maass, Bodo; Leon, Christopher S., System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time database queries.
Eberle,Hannes; Leon,Christopher S.; Maass,Bodo; Patnaik,Anurag; Santa Ana,Alberto; Zirngibl,Michael, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with system and method that enable on-the-fly content and speech generation.
Zirngibl, Michael; Patnaik, Anurag; Maass, Bodo; Eberle, Hannes, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control.
Zirngibl,Michael; Patnaik,Anurag; Maass,Bodo; Eberle,Hannes, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control.
Zirngibl, Michael; Patnaik, Anurag, System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with the direct delivery of voice services to networked voice messaging systems.
Eberle,Hannes; Leon,Christopher S.; Maass,Bodo; Patnaik,Anurag; Santa Ana,Alberto; Zirngibl,Michael, System and method for voice-enabled input for use in the creation and automatic deployment of personalized, dynamic, and interactive voice services.
Partovi,Hadi; Brathwaite,Roderick Steven; Davis,Angus Macdonald; McCue,Michael S.; Porter,Brandon William; Giannandrea,John; Walther,Eckart; Accardi,Anthony; Li,Zhe, System for providing personalized content over a telephone interface to a user according to the corresponding personalization profile including the record of user actions or the record of user behavior.
Cafarella,Michael J.; Porter,Brandon W.; Scullin,Will H., System verifying if an email request passed a policy check before initiating an interactive telephony session.
Ramanathan, Subramanian; Basu, Prithwish; Hansen, Richard Earl; Jones, Christine Elaine; Krishnan, Rajesh; Hain, Regina Rosales, Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks.
Ezerzer, Ran; Aljane, Ali; St-Cyr, Pierre; Yahmadi, Imed; Borodow, Eli B.; Margulies, Edwin Kenneth; Rodriguez, Pablo M., Systems and methods for handling a plurality of communications.
Foladare Mark J. (Kendall Park NJ) Goldman Shelley B. (East Brunswick NJ) Khan Aslam Y. (Holmdel NJ) Pan Lyndon M. (Little Silver NJ) Silverman David P. (Somerville NJ) Tsao Yao-Chung (Middletown NJ), Technique for providing redundant capability in a personal mobile communication system.
Tao, Tao; Sandstrom, Harold M.; Raizen, Helen S.; Bappe, Michael E.; Epstein, Edith; West, Eric I.; Kudva, Santhosh Venkatesh, Techniques for non-disruptive upgrade.
Partovi,Hadi; Brathwaite,Roderick Steven; Alpert,David Bryan; Belldina,Jeremy; Arons,Barry, Voice and telephone keypad based data entry for interacting with voice information services.
Michael J. Saylor ; Stephen S. Trundle ; Anurag Patnaik ; David A. Garr ; Benjamin M. Lindsey ; Josh Mahowald ; Zeynep Inanoglu, Voice code registration system and method for registering voice codes for voice pages in a voice network access provider system.
Saylor, Michael J.; Trundle, Stephen S.; Patnaik, Anurag; Garr, David A.; Lindsey, Benjamin M.; Mahowald, Josh; Inanoglu, Zeynep, Voice network access provider system and method.
Shrader Theodore Jack London ; Ault Michael Bradford ; Plassmann Ernst Robert ; Rich Bruce Arland ; Rosiles Mickella Ann ; Shi Shaw-Ben, Web server account manager plug-in for monitoring resources.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.