JP2015537307A - コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 - Google Patents
コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 Download PDFInfo
- Publication number
- JP2015537307A JP2015537307A JP2015543294A JP2015543294A JP2015537307A JP 2015537307 A JP2015537307 A JP 2015537307A JP 2015543294 A JP2015543294 A JP 2015543294A JP 2015543294 A JP2015543294 A JP 2015543294A JP 2015537307 A JP2015537307 A JP 2015537307A
- Authority
- JP
- Japan
- Prior art keywords
- node
- component
- queue
- write
- read
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Mathematical Physics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Educational Administration (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Environmental & Geological Engineering (AREA)
Abstract
コンポーネント指向ハイブリッドクラウドオペレーティングシステム及びその通信方法を提供し、階層、オブジェクト及びメッセージモデルに基づきハイブリッドアーキテクチャを構築し、かつコンポーネント指向思想でコンポーネント及びそのプロセス環境を管理し、コンポーネント処理用クラスタに対して高効率ルーティング、読取り書込み分離及び負荷バランスを行い、クラウドオペレーティングシステムに対する開放性と互換性、疎結合及び拡張性の要求を満足し、既存のクラウドオペレーティングシステムの自主管理問題、コンポーネントのスケールアウト問題及び状態コンポーネントの高可用性問題を解決し、開放性と交換性、拡張性、疎結合のコンポーネント指向クラウドオペレーティングシステムアーキテクチャを完備させ、かつ通信方法によりクラウドオペレーティングシステムのスケーラビリティ及び高可用性を保障する。【選択図】図1
Description
本発明は、クラウドコンピューティング分野に関し、特に、コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法に関する。
クラウドコンピューティングの出現に伴って、従来のデータセンタは急速にクラウドデータセンタに転換しつつある。データセンタの初期形態から発展形態への進化の4段階である、物理リソースの統合、アプリケーションと仮想化の連携、自動化管理、及び、データセンタ協調において、クラウドオペレーティングシステム(COS:Cloud Operating System)は重要な役割を果たしており、上位に対してはアプリケーションとのインタフェース、下位に対してはハードウェアの管理という中間機能を有し、大量の異種デバイスを、クラウドアプリケーションに動的にスケジューリングされるように論理リソースプールに融合させ、端末のためのサービスを実現する。
クラウドデータセンタ環境は、動的、不均質、大規模で単一ポイント、かつ容易に無効化されるという特徴を有する。従って、COSは、広範かつ互換性のあるオープンアーキテクチャを適用する必要があり、サードパーティのソフトウェア及びハードウェアとの互換性を考慮するとともに二次的開発を考慮しつつ、完全な標準インタフェースAPIを提供する必要がある。クラウドコンピューティング環境の機能に対する動的変更要求に関しては、COSは、拡張可能なコンポーネントベースの設計を適用することが必要である。その設計とは、仮想化やリソーススケジューリング等の基本的なコンポーネントに基づいて、操作とメンテナンスの管理、計量と課金、セルフサービス等のコンポーネントの付加価値開発や、要求に応じた配置を簡便に行えるものである。加えて、COSは、クラウドコンピューティングが追求する規模拡張とサービス持続の目的を達成するために、スケーラビリティと高可用性の設計を適用する必要もある。
クラウドデータセンタによるCOSについての疎結合、拡張可能、スケーラビリティ及び高可用性の要求に関して、従来のOSの単一モジュールアーキテクチャを適用することは、COSモジュール間の高効率の呼出しを実現するかもしれないが、結合が密であり、構造が複雑であり、かつシステムの拡張が難しい。階層化アーキテクチャを適用することは、各モジュール間の組織構造及び依存関係を明確として、COSの信頼性、移植性及びメンテナンス性を向上させるかもしれないが、ソフトウェアのスタック階層が非常に深いためにカーネルが大きすぎる上、モジュール間の結合度が依然として比較的高く、分散処理環境の構築に適さない。また、上述したアーキテクチャに基づいたオープンソースソフトウェアOpenStack及びCloudStackは、メッセージ待ち行列に基づく疎結合のクラウド管理アーキテクチャを構築するが、コンポーネント指向設計が欠落しており、コンポーネントのライフサイクルを制御できず、構成モジュールがそれ自体でスケーラビリティ及び高可用化方式を考慮する必要があり、このことは、それらのモジュールの開発と配置の負担及びランニングコストを増大させることになる。
高凝集性と疎結合性という原則に従い、コンポーネントに対する管理はCOSレベルから強化すべきであり、かつ、その拡張性、スケーラビリティ及び高可用性が確保されるべきである。その場合に直面する主な問題点は、以下の通りである。
1.現在のクラウドオペレーティングシステムは、自己包含性が欠落しており、構成するコンポーネントを記述しかつ管理することができず、その処理環境を動的に監視することもできない。
2.コンポーネントに対する高可用性処理用クラスタに関して、従来の通信プロトコルは、コンポーネントのステートレスな仮定に基づいて設計され、読取り書込みの分離機構及び負荷バランスストラテジーが欠落し、かつ、ステートフルなコンポーネント処理用クラスタに対して高可用性及び高性能のサポートを実現できない。
3.コンポーネントに対するスケールアウト処理用クラスタに関して、従来のツリーベースのルーティングアルゴリズムの効率は、キーワードのスケール拡大による影響を受け、一方、Hash(ハッシュ)ベースのルーティングアルゴリズムは、ノードが変化する時に大量のデータ移動をもたらすとともに、異なる機能をもつノードの負荷バランスのためのデータ分散方法が欠落している。
1.現在のクラウドオペレーティングシステムは、自己包含性が欠落しており、構成するコンポーネントを記述しかつ管理することができず、その処理環境を動的に監視することもできない。
2.コンポーネントに対する高可用性処理用クラスタに関して、従来の通信プロトコルは、コンポーネントのステートレスな仮定に基づいて設計され、読取り書込みの分離機構及び負荷バランスストラテジーが欠落し、かつ、ステートフルなコンポーネント処理用クラスタに対して高可用性及び高性能のサポートを実現できない。
3.コンポーネントに対するスケールアウト処理用クラスタに関して、従来のツリーベースのルーティングアルゴリズムの効率は、キーワードのスケール拡大による影響を受け、一方、Hash(ハッシュ)ベースのルーティングアルゴリズムは、ノードが変化する時に大量のデータ移動をもたらすとともに、異なる機能をもつノードの負荷バランスのためのデータ分散方法が欠落している。
従って、COSにおいて、コンポーネント及びその処理用クラスタに対する管理及び監視(スーパバイザ)の機構をいかにして提供するか、並びに、メッセージの高効率ルーティングと負荷バランスをいかにして実現するかは、COSアーキテクチャにおいて早急に解決しなければならない課題となっている。
本発明の目的は、コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法を提供することである。
本発明の目的は以下の方法で実現される。
コンポーネント指向ハイブリッドクラウドオペレーティングシステムは、階層モデル、オブジェクトモデル及びメッセージモデルに基づいてハイブリッドアーキテクチャを構築し、かつ、構成コンポーネント及びその処理環境を管理するためにコンポーネント指向思想を適用し、これをベースに、コンポーネント処理用クラスタに対する高効率のルーティング、読取り書込み分離及び負荷バランスを行い、クラウドオペレーティングシステムに対する開放性と互換性、疎結合と拡張性という要求を満足し、かつ、既存のクラウドオペレーティングシステムの自主管理問題、コンポーネントのスケールアウト問題及びステートフルコンポーネントの高可用性問題を解決するものである。
コンポーネント指向ハイブリッドクラウドオペレーティングシステムは、階層モデル、オブジェクトモデル及びメッセージモデルに基づいてハイブリッドアーキテクチャを構築し、かつ、構成コンポーネント及びその処理環境を管理するためにコンポーネント指向思想を適用し、これをベースに、コンポーネント処理用クラスタに対する高効率のルーティング、読取り書込み分離及び負荷バランスを行い、クラウドオペレーティングシステムに対する開放性と互換性、疎結合と拡張性という要求を満足し、かつ、既存のクラウドオペレーティングシステムの自主管理問題、コンポーネントのスケールアウト問題及びステートフルコンポーネントの高可用性問題を解決するものである。
階層モデルの観点から、上記システムは、上から下にポータル層、論理層、アダプテーション層及び実装層に区分され、各層は相対的に独立し、各層において標準インタフェースをそれぞれ定義することによりシステムの開放性が強化され、かつ、各層に異なる機能を適応させることにより互換性が強化される。
オブジェクトモデルの観点から、上記クラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル、クラウドリソース管理、監視管理、計量と課金、サービス承認、及び、権限と認証のための複数の機能モジュールにより構成され、各機能モジュールは、Restメッセージベースの呼出しにより通信を行い、互いに自由に組合わされる。そして、要求により分散され配置されることができ、要求により新規モジュールが付加価値として開発されることができる。また、プラットフォームの拡張性は、論理層における異なるモジュール間での相互操作を実現することにより強化される。
さらに、実施形態においては、最小形態でインストールされた上記クラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル及びクラウドリソース管理の各機能モジュールのみにより構成される。これをベースに、監視、課金、承認又は他の機能モジュールは、要求によりカスタム化されて拡張され、Restメッセージベースの呼出しにより通信を行い、要求により分散され配置されかつ付加価値として開発される。そして上記システムの拡張性は、論理層における異なる機能モジュール間での相互操作を実現することにより強化される。
メッセージベースの通信方法は、非同期呼出しをサポートするために導入され、メッセージ通信インターフェースJMSがRestメッセージを転送することによりシステムアーキテクチャをさらに疎結合とするために用いられる。これをベースに、コンポーネント指向設計が適用され、かつ、コンポーネント管理ポータルがコンポーネントのメタデータを管理するとともにコンポーネントの操作状態を監視することを担当する。
さらに、実施形態においては、最小形態でインストールされた上記クラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル及びクラウドリソース管理の各機能モジュールのみにより構成される。これをベースに、監視、課金、承認又は他の機能モジュールは、要求によりカスタム化されて拡張され、Restメッセージベースの呼出しにより通信を行い、要求により分散され配置されかつ付加価値として開発される。そして上記システムの拡張性は、論理層における異なる機能モジュール間での相互操作を実現することにより強化される。
メッセージベースの通信方法は、非同期呼出しをサポートするために導入され、メッセージ通信インターフェースJMSがRestメッセージを転送することによりシステムアーキテクチャをさらに疎結合とするために用いられる。これをベースに、コンポーネント指向設計が適用され、かつ、コンポーネント管理ポータルがコンポーネントのメタデータを管理するとともにコンポーネントの操作状態を監視することを担当する。
要求により拡張、分散及び配置を実現できるにも拘わらず、オブジェクトアーキテクチャは、RPC(リモート・プロセス・コール)同期通信方法に属しており、送信端は、受信端からのリターンを待った後にのみ実行を継続でき、かつ、双方のプロセスが密に結合しているため、上記システムの拡大化と複雑化に伴い、コンポーネント間の連携関係が複雑過ぎるようになる。この問題に対し、オブジェクトアーキテクチャに基づいてメッセージベースの通信方法が導入される。メッセージ通信インターフェースJMSを用いてRestメッセージを転送することにより、送信端と受信端のライフタイムを異ならせ、非同期呼出しをサポートし、かつ、上記システムアーキテクチャをさらに疎結合としている。
そして実施形態においては、ポータル層とクラウドリソース層の間における仮想マシンのターンオン、シャットダウン、サスペンド等の操作は、非同期方式にて実現され、ポータルが、コマンドを送信した後、応答を待つ必要がなくリターンすることができる。これにより、ユーザの相互動作効果を向上させる。
そして実施形態においては、ポータル層とクラウドリソース層の間における仮想マシンのターンオン、シャットダウン、サスペンド等の操作は、非同期方式にて実現され、ポータルが、コマンドを送信した後、応答を待つ必要がなくリターンすることができる。これにより、ユーザの相互動作効果を向上させる。
上述したハイブリッドアーキテクチャに基づくクラウドオペレーティングシステムは、開放性、互換性及び拡張性の要求を満足させることができる。これをベースとして、コンポーネント指向設計思想に基づき、コンポーネント管理ポータルは、コンポーネントについてのメタデータ情報を管理することを担当し、ログイン、削除、修正及びクエリ等の操作をサポートする。
その場合、1つのコンポーネントは、1つの三要素セットであり、ネーム、サービスセット、アクセスアドレス、及び、記述を含む。
1つのサービスは、1つの四要素セットであり、ネーム、タイプ、メッセージプロトコル、パラメタリスト、キーネーム、機能記述、及び、非機能記述を含む。
コンポーネントの記述及び管理に加えて、コンポーネント管理モジュールはさらに、その処理環境を監視し、コンポーネントのスケーラビリティ及び可用性を確保するための基本サービスを提供し、かつ、クラウドオペレーティングシステムの自主管理能力を完備させる。そして、コンポーネントがログインした時、システムは、ユーザ名user、パスワードpsw、及び、固有のコンポーネントIDidを割当て、その後のコンポーネント処理用クラスタのアクセスのプロセスは、次の通りとなる。
1)処理用クラスタが、アドレスがurlであるシステムバスに対してアクセス要求を開始し、システムバスがアクセスノードのユーザ名、パスワード及びIDを認証し、認証が通ると、接続が確立される。そのコードは以下の通りである。
Connection = ConnectionFactory.createConnection(user,psw,url);
2)書込み操作トピックを設定し、コンポーネントの各処理ノードが当該トピックから書込み操作をサブスクライブする。
write_topic = session.createTopic(id+"WRITE_TOPIC");
write_topic_consumer = session.createConsumer(write_topic);
3)コンポーネントがwriteTopicListenerのonMessage方法において書込み処理を実現し、かつシステムバスにログインする。
write_topic_consumer.setMessageListener(writeTopicListener);
4)コンポーネントの処理ノード数mumに従って読取り操作の待ち行列セットを設定し、各処理ノードが1つの待ち行列に対応した読取り操作をサブスクライブする。
read_queue = session.createMultiQueue(num,id+"READ_QUEUE");
read_queue_consumer = session.createConsumer(read_queue);
5)readQueueListenerのonMessage方法において特定の読取り処理機能を実現し、かつシステムバスにログインする。
read_queue_consumer.setMessageListener(readQueueListener);
Connection = ConnectionFactory.createConnection(user,psw,url);
2)書込み操作トピックを設定し、コンポーネントの各処理ノードが当該トピックから書込み操作をサブスクライブする。
write_topic = session.createTopic(id+"WRITE_TOPIC");
write_topic_consumer = session.createConsumer(write_topic);
3)コンポーネントがwriteTopicListenerのonMessage方法において書込み処理を実現し、かつシステムバスにログインする。
write_topic_consumer.setMessageListener(writeTopicListener);
4)コンポーネントの処理ノード数mumに従って読取り操作の待ち行列セットを設定し、各処理ノードが1つの待ち行列に対応した読取り操作をサブスクライブする。
read_queue = session.createMultiQueue(num,id+"READ_QUEUE");
read_queue_consumer = session.createConsumer(read_queue);
5)readQueueListenerのonMessage方法において特定の読取り処理機能を実現し、かつシステムバスにログインする。
read_queue_consumer.setMessageListener(readQueueListener);
上述した書込み読取り分離の待ち行列セットに基づき、コンポーネント管理モジュールにおいて各コンポーネントのサービスタイプを区別し、サービスタイプを冪等又は非冪等に設定する。冪等操作はステートレス操作に属し、同一状態下で実行した結果が毎回同一である。非冪等操作はステートフル操作に属し、同一状態下で実行した結果が毎回異なる。ルータは、サービスタイプによってルーティングを行い、非冪等操作は固有の書込み待ち行列に送信され、そして冪等操作は負荷バランスストラテジーによって別々の読取り待ち行列に送信される。
読取り操作の負荷バランスのプロセスは、以下の通りである。
1)ノードの処理能力を計算する。
ノードiのCPUクロック周波数、メモリ容量及びI/O帯域幅を各々Ci、Mi及びBiとすると、クラスタの各種リソースはノードの各種リソースの総計であり、つまりC = ΣCi、M = ΣMi、B = ΣBiである。
ノードiのCPU重み付け値はWi CPU = Ci/Cであり、メモリ容量重み付け値はWi RAM = Mi/Mであり、I/O帯域幅重み付け値はWi IO = Bi/Bである。
コンポーネントサービスに必要なリソース割合を、それぞれpCPU、pRAM、pIOとすると、ノードi の処理能力は、
Wi = pCPUWi CPU + pRAMWi RAM + pIOWi IOである。
2)書込み読取り操作の重み付け値によって各ノードの負荷を計算する。
読取り待ち行列Lrの書込み待ち行列Lwに対する書込み読取り操作のオーバーヘッド比率をaとすると、ノードiの負荷はLi = LR i + aLWであり、各ノードの負荷状態はSi = Li/Wiである。
3)負荷が最も少ないノードを選択してルーティングを行う。
書込み操作をパイプライン処理で行うことにより、データ入力の効率を向上させる。そのプロセスでは、先ずノード1にデータが書き込まれ、64KBのデータフラグメントが書き込まれた後、データを受信し続けると同時に、入力された64KBのデータをノード2に転送し、ノード2からノードnまでは、ノードnに最後の64KBを超えないデータフラグメントが書き込まれるまで、同じ方法でデータを受信しかつ転送する。
1)ノードの処理能力を計算する。
ノードiのCPUクロック周波数、メモリ容量及びI/O帯域幅を各々Ci、Mi及びBiとすると、クラスタの各種リソースはノードの各種リソースの総計であり、つまりC = ΣCi、M = ΣMi、B = ΣBiである。
ノードiのCPU重み付け値はWi CPU = Ci/Cであり、メモリ容量重み付け値はWi RAM = Mi/Mであり、I/O帯域幅重み付け値はWi IO = Bi/Bである。
コンポーネントサービスに必要なリソース割合を、それぞれpCPU、pRAM、pIOとすると、ノードi の処理能力は、
Wi = pCPUWi CPU + pRAMWi RAM + pIOWi IOである。
2)書込み読取り操作の重み付け値によって各ノードの負荷を計算する。
読取り待ち行列Lrの書込み待ち行列Lwに対する書込み読取り操作のオーバーヘッド比率をaとすると、ノードiの負荷はLi = LR i + aLWであり、各ノードの負荷状態はSi = Li/Wiである。
3)負荷が最も少ないノードを選択してルーティングを行う。
書込み操作をパイプライン処理で行うことにより、データ入力の効率を向上させる。そのプロセスでは、先ずノード1にデータが書き込まれ、64KBのデータフラグメントが書き込まれた後、データを受信し続けると同時に、入力された64KBのデータをノード2に転送し、ノード2からノードnまでは、ノードnに最後の64KBを超えないデータフラグメントが書き込まれるまで、同じ方法でデータを受信しかつ転送する。
上記通信方法に基づいて、ノード監視モジュールはさらに、コンポーネントの処理ノードの参加、離脱、無効及び復帰というイベントを、コンポーネント管理モジュールに送信し、その場合、ノード参加イベントは、コンポーネントに処理ノードを追加することを指す。ノード離脱イベントは、コンポーネントから処理ノードを取り消すことを指す。ノード無効イベントは、コンポーネントの1つの処理ノードを使用不可とすることを指す。ノード復帰イベントは、コンポーネントの使用不可の処理ノードを復帰させて使用可とすることを指す。
本発明の実施形態はまた、コンポーネント指向ハイブリッドクラウドオペレーティングシステムの通信方法を提供し、それは高可用性コンポーネントのクラスタ通信方法と、スケールアウトしたコンポーネントのクラスタ通信方法とを含む。
その場合、高可用性コンポーネントのクラスタ通信方法は、コンポーネント管理モジュールが各コンポーネントクラスタのために読取り書込み分離の待ち行列セットを構築し、コンポーネント管理モジュールがさらにコンポーネントのサービスタイプを冪等又は非冪等に区別し、ルータがサービスタイプによってルーティングを行い、非冪等操作は固有の書込み待ち行列に送信され、冪等操作は負荷バランスストラテジーによって別々の読取り待ち行列に送信される。そしてこれをベースに、ノード監視モジュールがコンポーネントの処理ノードの参加、離脱、無効及び復帰というイベントをコンポーネント管理モジュールに送信し、コンポーネント管理モジュールがさらに、ノードの変化イベントによって待ち行列の構造を調整する。
この方法は、読取り書込みの分離及び負荷バランスによりステートフルなコンポーネントクラスタの通信性能を向上させるとともに、ノードの変化によって待ち行列の構造を調整することによりコンポーネントの高可用性を確保する。コンポーネント管理モジュールはさらに、監視モジュールにより送信されたノードの変化イベントに基づいて待ち行列の構造を調整する。このプロセスは以下のとおりである。
この方法は、読取り書込みの分離及び負荷バランスによりステートフルなコンポーネントクラスタの通信性能を向上させるとともに、ノードの変化によって待ち行列の構造を調整することによりコンポーネントの高可用性を確保する。コンポーネント管理モジュールはさらに、監視モジュールにより送信されたノードの変化イベントに基づいて待ち行列の構造を調整する。このプロセスは以下のとおりである。
1)ノードが参加する時、待ち行列セットにおいて当該ノードのために1つの読取り操作の待ち行列を設定し、当該ノードはその待ち行列から読取り操作をサブスクライブし、かつ当該書込みトピックから書込みトピックをサブスクライブする。
2)ノードが離脱する時、当該ノードに対応する読取り待ち行列を削除し、当該書込みトピックに対するサブスクリプションを閉じる。
3)ノードを無効化する時、当該ノードの読取り待ち行列に読取り要求を送信することを停止し、書込みトピックに当該ノードのための書込み操作を保存する。
4)ノードが復帰する時、書込みトピックにおける書込み操作を同期し、当該ノードに対応する読取り待ち行列に読取り操作の要求を送信するために復帰する。
2)ノードが離脱する時、当該ノードに対応する読取り待ち行列を削除し、当該書込みトピックに対するサブスクリプションを閉じる。
3)ノードを無効化する時、当該ノードの読取り待ち行列に読取り要求を送信することを停止し、書込みトピックに当該ノードのための書込み操作を保存する。
4)ノードが復帰する時、書込みトピックにおける書込み操作を同期し、当該ノードに対応する読取り待ち行列に読取り操作の要求を送信するために復帰する。
ステートレスなクラスタの負荷バランス方法は、各ノードに対し完全な均衡方式で操作を分散するが、それはステートフル状態において処理結果の不一致をもたらすことになる。上記方法は、読取り書込み分離の待ち行列を設定しかつノードの能力に関係して負荷をバランスさせることによりこの問題を回避でき、ステートフルのコンポーネントクラスタの通信性能を向上させる。さらに、ノード変化イベントによって待ち行列の構造を調整することによりステートフルのコンポーネントクラスタの高可用性を確保する。
スケールアウトしたコンポーネントにより構成されたクラスタの通信方法は、コンポーネント管理モジュールが、ノード数によってコンポーネントの各サービスのためにポリゴン形待ち行列の構造を確立し、Hash値に従って二分探索によるルーティングを行う。アルゴリズムの効率は、キーワードのスケールより遙かに小さいHashパケットの数によって決定され、ルーティングの効率を向上させる。さらに、ノード数が変化する場合、一部のノードデータ状態のみを調整すればよく、動的拡張の効率を向上させる。
上述した通信方法に基づき、初期化段階において、各ノードにより処理されるべき複数のHashインターバルをノードの処理能力によって分割し、ルーティングテーブルを形成し、比率によるデータ状態の分散を実現し、負荷バランスを達成する。
上述した通信方法に基づき、初期化段階において、各ノードにより処理されるべき複数のHashインターバルをノードの処理能力によって分割し、ルーティングテーブルを形成し、比率によるデータ状態の分散を実現し、負荷バランスを達成する。
コンポーネント管理モジュールは、ノード数によってコンポーネントの各サービスのためにポリゴン形待ち行列セットを設定し、各待ち行列は1つのHash値インターバルすなわちパケットに対応し、Hash値に従って二分探索によるルーティングを行う。ルーティングアルゴリズムは、以下の通りである。
1)キーのHash値hを計算する。
2)パケットの下限iを1に、パケットの上限jをパケット総数mに初期化する。
3)繰返す。
4)中間パケットt = (i+j)/2を計算し、パケットtがhを含むか否かをチェックする。
5)hが現在のパケットの下限より小さい場合、上限jをj = t-1と更新する。
6)hが現在のパケットの上限より大きい場合、下限iをi = t+1と更新する。
7)それ以外の場合、インターバルが位置するノードに戻ってルーティングを行う。
1)キーのHash値hを計算する。
2)パケットの下限iを1に、パケットの上限jをパケット総数mに初期化する。
3)繰返す。
4)中間パケットt = (i+j)/2を計算し、パケットtがhを含むか否かをチェックする。
5)hが現在のパケットの下限より小さい場合、上限jをj = t-1と更新する。
6)hが現在のパケットの上限より大きい場合、下限iをi = t+1と更新する。
7)それ以外の場合、インターバルが位置するノードに戻ってルーティングを行う。
上述したアルゴリズムは、パケットをノードとして二分探索することに相当する。複雑度はO(log2n)である。このアルゴリズムの効率は、パケットの数によって決定される。パケットの数がキーワードのスケールより遙かに小さいため、ルーティング効率を向上させる。加えて、パケットストラテジーが適用されるため、ノードの数が変化する場合は一部のパケットのキーワードスケール及びノードに対応するデータ状態のみを調整するだけでよく、動的拡張の効率を向上させる。
本発明の有益な効果は以下の通りである。既存の技術に比べ、本発明で提供されたコンポーネント指向ハイブリッドアーキテクチャは、コンポーネント化されたクラウドオペレーティングシステムアーキテクチャを完全なものとする。そのクラウドオペレーティングシステムは、開放性と互換性、拡張性と疎結合、及び、スケーラビリティと高可用性を備えており、それらは、スケールアウトしたコンポーネントクラスタ及び高可用性クラスタの通信方法により確保される。
図面及び実施例とともに、本発明の実施形態を以下に詳細に説明する。これにより、本発明が技術的課題を解決しかつ技術的効果を達成するためにいかにして技術手段を適用するのかについての実現プロセスを十分に理解できかつこれにより実施できる。矛盾を生じない限りにおいて、本明細書に開示に実施形態及びそれらの実施形態の多様な特徴は、いずれも開示される発明の保護範囲に含まれるものである。
[1]コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ
階層モデルの観点から、上記システムは、上から下にポータル層、論理層、アダプテーション層及び実装層に区分され、各層は相対的に独立し、各層において標準インタフェースをそれぞれ定義することによりシステムの開放性を強化し、かつ、各層に異なる機能を適応させることにより互換性を強化する。実施形態においては、ポータル層を取り除くことにより、ユーザインタフェースUIと機能論理の分離を実現でき、例えば、論理層が外部に対して統一標準のRest APIを提供することによりポータルすなわちサードパーティの二次的開発をサポートする。また、論理的機能層を抽象化することにより、多様な具体的な機能実装における互換性を実現でき、例えば、クラウドリソース管理モジュールが、仮想化されたアダプタにより多様な仮想化されたインフラストラクチャをサポートする。監視管理モジュールは、アダプテーションフレームにより多様な監視プロトコルと互換性がある。プロセス管理モジュールは、プロセスエンジンにより異なる承認プロセスのカスタム化をサポートする。そして、課金管理及び権限と認証モジュールは、保存されたフックインタフェースによりプラグインアクセスをサポートする。
階層モデルの観点から、上記システムは、上から下にポータル層、論理層、アダプテーション層及び実装層に区分され、各層は相対的に独立し、各層において標準インタフェースをそれぞれ定義することによりシステムの開放性を強化し、かつ、各層に異なる機能を適応させることにより互換性を強化する。実施形態においては、ポータル層を取り除くことにより、ユーザインタフェースUIと機能論理の分離を実現でき、例えば、論理層が外部に対して統一標準のRest APIを提供することによりポータルすなわちサードパーティの二次的開発をサポートする。また、論理的機能層を抽象化することにより、多様な具体的な機能実装における互換性を実現でき、例えば、クラウドリソース管理モジュールが、仮想化されたアダプタにより多様な仮想化されたインフラストラクチャをサポートする。監視管理モジュールは、アダプテーションフレームにより多様な監視プロトコルと互換性がある。プロセス管理モジュールは、プロセスエンジンにより異なる承認プロセスのカスタム化をサポートする。そして、課金管理及び権限と認証モジュールは、保存されたフックインタフェースによりプラグインアクセスをサポートする。
オブジェクトモデルの観点から、クラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル、クラウドリソース管理、監視管理、計量と課金、サービス承認、権限と認証、等の機能モジュールにより構成されている。各機能コンポーネントがRestメッセージベースの呼出しにより通信を行い、自由に組合せることができ、要求により分散されかつ配置される。さらに、要求により新規モジュールを付加価値的に開発でき、論理層における異なるモジュール間で相互動作を実現することによりプラットフォームの拡張性を強化する。実施形態では、最小形態でインストールされたクラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル及びクラウドリソース管理のモジュールのみから構成され、それに基づき、監視、課金、承認又は他のモジュールを、要求によりカスタム化し拡張してもよい。
要求により拡張、分散及び配置を実現できるにも拘わらず、オブジェクトアーキテクチャは、RPC(リモート・プロセス・コール)同期通信方法に属しており、送信端は、受信端からの応答を待った後にのみ実行を継続することができ、かつ、双方のプロセスが密に結合しているため、システムの拡大化と複雑化に伴い、コンポーネント間の連携関係が複雑過ぎるようになる。この問題に対し、オブジェクトアーキテクチャに基づいてメッセージベースの通信方法を導入し、メッセージ通信インターフェースJMSを使用してRestメッセージを転送することにより、送信端と受信端のライフタイムが異なっていてもよく、非同期呼出しをサポートし、かつ、システムアーキテクチャをさらに疎結合とする。実施形態において、ポータル層とクラウドリソース層の間における仮想マシンのターンオン、ターンオフ、サスペンド、ターンオフ等の操作は非同期方式により実現され、ポータルは、コマンドの送信後、応答を待つ必要がなくリターンできる。このことは、ユーザの相互動作効果を向上させる。
上述したハイブリッドアーキテクチャに基づくクラウドオペレーティングシステムは、開放性、互換性及び拡張性の要求を満足させることができる。これをベースとして、コンポーネント指向設計思想に基づき、コンポーネント管理ポータルは、コンポーネントについてのメタデータ情報を管理することを担当し、ログイン、削除、修正及びクエリ等の操作をサポートする。
この場合、1つのコンポーネントは、1つの三要素セット{ネーム、サービスセット、アクセスアドレス、記述}である。
1つのサービスは、1つの四要素セット{ネーム、タイプ、メッセージプロトコル、パラメタリスト、キーネーム、機能記述、及び、非機能記述}である。
1つのサービスは、1つの四要素セット{ネーム、タイプ、メッセージプロトコル、パラメタリスト、キーネーム、機能記述、及び、非機能記述}である。
コンポーネントに対する記述及び管理に加えて、コンポーネント管理モジュールはさらに、その処理環境を監視し、コンポーネントのスケーラビリティ及び可用性を確保するための基礎的サービスを提供し、クラウドオペレーティングシステムの自主管理能力を完備させる。
[2]高可用性コンポーネントのクラスタ通信方法
本発明による高可用性コンポーネントのクラスタの実施形態は、図2に示す通りである。これは、主に以下の各モジュールを含む。
本発明による高可用性コンポーネントのクラスタの実施形態は、図2に示す通りである。これは、主に以下の各モジュールを含む。
コンポーネント管理モジュールは、コンポーネント情報に従って、コンポーネントのメッセージ待ち行列セットを設定し、削除し、かつ調整することを担当する。
メッセージルータは、ルーティング情報に従って、待ち行列セットにメッセージを分散することを担当する。
ノード監視モジュールは、コンポーネント処理用クラスタの各ノードの参加及び離脱を検出し、処理ノードについてのリソースコンフィギュレーション情報を獲得することを担う。
コンポーネント処理用クラスタは、コンポーネントの具体的なサービス機能を実現することを担当し、いくつかの処理ノードから構成されている。
コンポーネントクライアントは、コンポーネントサービスに対する使用要求を開始することを担当する。
上述したアーキテクチャに基づき、コンポーネントがログオンしたとき、システムは、コンポーネントに対してユーザ名user、パスワードpsw及び固有のコンポーネントIDidを割当てる。その後、コンポーネント処理用クラスタのアクセス過程は、次の通りとなる。
1)処理用クラスタは、アドレスがurlであるシステムバスに対してアクセス要求を開始し、システムバスがアクセスノードのユーザ名、パスワード及びIDを認証し、認証が通ると、接続が確立される。そのコードは以下の通りである。
Connection = ConnectionFactory.createConnection(user,psw,url);
Connection = ConnectionFactory.createConnection(user,psw,url);
2)書込み操作トピックを設定し、コンポーネントの各処理ノードが当該トピックから書込み操作をサブスクライブする。
write_topic = session.createTopic(id+"WRITE_TOPIC");
write_topic_consumer = session.createConsumer(write_topic);
write_topic = session.createTopic(id+"WRITE_TOPIC");
write_topic_consumer = session.createConsumer(write_topic);
3)コンポーネントがwriteTopicListenerのonMessage方法において書込み処理を実現し、かつシステムバスにログインする。
write_topic_consumer.setMessageListener(writeTopicListener);
write_topic_consumer.setMessageListener(writeTopicListener);
4)コンポーネントの処理ノード数mumに従って読取り操作の待ち行列セットを設定し、各処理ノードが1つの待ち行列に対応した読取り操作をサブスクライブする。
read_queue = session.createMultiQueue(num,id+"READ_QUEUE");
read_queue_consumer = session.createConsumer(read_queue);
read_queue = session.createMultiQueue(num,id+"READ_QUEUE");
read_queue_consumer = session.createConsumer(read_queue);
5)readQueueListenerのonMessage方法において特定の読取り処理機能を実現し、かつシステムバスにログインする。
read_queue_consumer.setMessageListener(readQueueListener);
read_queue_consumer.setMessageListener(readQueueListener);
上述した書込み読取り分離待ち行列セットに基づき、コンポーネント管理モジュールにおいて各コンポーネントのサービスタイプを区別し、サービスタイプを冪等又は非冪等に設定する。冪等操作はステートレス操作に属し、同一状態下で実行した結果が毎回同一である。非冪等操作はステートフル操作に属し、同一状態下で実行した結果が毎回異なる。図3に示すように、ルータは、サービスタイプに従ってルーティングを行い、非冪等操作は固有の書込み待ち行列に送信され、そして冪等操作は負荷バランスストラテジーによって別々の読取り待ち行列に送信される。
その場合、読取り操作負荷バランスプロセスのフローは、次の通りである。
1)ノードの処理能力を計算する。
ノードiのCPUクロック周波数、メモリ容量及びI/O帯域幅を各々Ci、Mi及びBiとすると、クラスタの各種リソースはノードの各種リソースの総計である。つまりC = ΣCi、M = ΣMi、B = ΣBiである。
そして、ノードiのCPU重み付け値はWi CPU = Ci/Cであり、メモリ容量重み付け値はWi RAM = Mi/Mであり、I/O帯域幅重み付け値はWi IO = Bi/Bである。
コンポーネントサービスに必要なリソース割合を、それぞれpCPU、pRAM、pIOとすると、ノードi の処理能力は、
Wi = pCPUWi CPU + pRAMWi RAM + pIOWi IOである。
1)ノードの処理能力を計算する。
ノードiのCPUクロック周波数、メモリ容量及びI/O帯域幅を各々Ci、Mi及びBiとすると、クラスタの各種リソースはノードの各種リソースの総計である。つまりC = ΣCi、M = ΣMi、B = ΣBiである。
そして、ノードiのCPU重み付け値はWi CPU = Ci/Cであり、メモリ容量重み付け値はWi RAM = Mi/Mであり、I/O帯域幅重み付け値はWi IO = Bi/Bである。
コンポーネントサービスに必要なリソース割合を、それぞれpCPU、pRAM、pIOとすると、ノードi の処理能力は、
Wi = pCPUWi CPU + pRAMWi RAM + pIOWi IOである。
2)書込み読取り操作の重み付け値によって各ノードの負荷を計算する。
読取り待ち行列Lrの書込み待ち行列Lwに対する書込み読取り操作のオーバーヘッド比率をaとすると、ノードiの負荷はLi = LR i + aLWであり、各ノードの負荷状態はSi = Li/Wiである。
読取り待ち行列Lrの書込み待ち行列Lwに対する書込み読取り操作のオーバーヘッド比率をaとすると、ノードiの負荷はLi = LR i + aLWであり、各ノードの負荷状態はSi = Li/Wiである。
3)負荷が最も少ないノードを選択してルーティングを行う。
書込み操作をパイプライン処理で行うことにより、データ入力の効率を向上させる。図4に示すように、そのプロセスでは、先ずノード1にデータが書き込まれ、64KBのデータフラグメントが書き込まれた後、データを受信し続けると同時に、入力された64KBのデータをノード2に転送し、ノード2からノードnまでは、ノードnに最後の64KBを超えないデータフラグメントが書き込まれるまで、同じ方法でデータを受信しかつ転送する。
書込み操作をパイプライン処理で行うことにより、データ入力の効率を向上させる。図4に示すように、そのプロセスでは、先ずノード1にデータが書き込まれ、64KBのデータフラグメントが書き込まれた後、データを受信し続けると同時に、入力された64KBのデータをノード2に転送し、ノード2からノードnまでは、ノードnに最後の64KBを超えないデータフラグメントが書き込まれるまで、同じ方法でデータを受信しかつ転送する。
上記通信方法に基づいて、ノード監視モジュールはさらに、コンポーネントの処理ノードの参加、離脱、無効及び復帰というイベントを、コンポーネント管理モジュールに送信する。ノードの状態遷移関係は、図5に示す通りである。その場合、ノード参加イベントは、コンポーネントに処理ノードを追加することを指す。ノード離脱イベントは、コンポーネントから処理ノードを取り消すことを指す。ノード無効イベントは、コンポーネントの1つの処理ノードを使用不可とすることを指す。ノード復帰イベントは、コンポーネントの使用不可の処理ノードを復帰させて使用可とすることを指す。
コンポーネント管理モジュールはさらに、監視モジュールにより送信されたノードの変化イベントに基づいて待ち行列の構造を調整する。このフローは図6に示す通りである。
1)ノードが参加する時、待ち行列セットにおいて当該ノードのために1つの読取り操作の待ち行列を設定し、当該ノードはその待ち行列から読取り操作をサブスクライブし、かつ当該書込みトピックから書込みトピックをサブスクライブする。
2)ノードが離脱する時、当該ノードに対応する読取り待ち行列を削除し、当該書込みトピックに対するサブスクリプションを閉じる。
3)ノードを無効化する時、当該ノードの読取り待ち行列に読取り要求を送信することを停止し、書込みトピックに当該ノードのための書込み操作を保存する。
4)ノードが復帰する時、書込みトピックにおける書込み操作を同期し、当該ノードに対応する読取り待ち行列に読取り操作の要求を送信するために復帰する。
1)ノードが参加する時、待ち行列セットにおいて当該ノードのために1つの読取り操作の待ち行列を設定し、当該ノードはその待ち行列から読取り操作をサブスクライブし、かつ当該書込みトピックから書込みトピックをサブスクライブする。
2)ノードが離脱する時、当該ノードに対応する読取り待ち行列を削除し、当該書込みトピックに対するサブスクリプションを閉じる。
3)ノードを無効化する時、当該ノードの読取り待ち行列に読取り要求を送信することを停止し、書込みトピックに当該ノードのための書込み操作を保存する。
4)ノードが復帰する時、書込みトピックにおける書込み操作を同期し、当該ノードに対応する読取り待ち行列に読取り操作の要求を送信するために復帰する。
ステートレスなクラスタの負荷バランス方法は、各ノードに対し完全な均衡方式で操作を分散するが、それはステートフル状態において処理結果の不一致をもたらすことになる。上記方法は、読取り書込み分離待ち行列を設定しかつノードの能力に関係して負荷をバランスさせることによりこの問題を回避でき、ステートフルのコンポーネントクラスタの通信性能を向上させる。さらに、ノード変化イベントによって待ち行列の構造を調整することによりステートフルのコンポーネントクラスタの高可用性を確保する。
[3]スケールアウトしたコンポーネントにより構成されたクラスタの通信方法
本発明の実施形態は、図7に示す通り、スケールアウトしたコンポーネントにより構成されたクラスタの通信方法を提供する。コンポーネント管理モジュールは、ノード数に従ってコンポーネントの各サービスのためにポリゴン形待ち行列の構造を確立する。各待ち行列は、1つのHash値インターバル(パケット)に対応する。そして、Hash値に従って二分探索によるルーティングが行われる。ルーティングアルゴリズムは、図9に示す通りである。
本発明の実施形態は、図7に示す通り、スケールアウトしたコンポーネントにより構成されたクラスタの通信方法を提供する。コンポーネント管理モジュールは、ノード数に従ってコンポーネントの各サービスのためにポリゴン形待ち行列の構造を確立する。各待ち行列は、1つのHash値インターバル(パケット)に対応する。そして、Hash値に従って二分探索によるルーティングが行われる。ルーティングアルゴリズムは、図9に示す通りである。
1)キーのHash値hを計算する。
2)パケットの下限iを1に、パケットの上限jをパケット総数mに初期化する。
3)繰返す。
4)中間パケットt = (i+j)/2 を計算し、パケットtがhを含むか否かをチェックする。
5)hが現在のパケットの下限より小さい場合、上限jをj = t-1と更新する。
6)hが現在のパケットの上限より大きい場合、下限iをi = t+1と更新する。
7)それ以外の場合、インターバルが位置するノードに戻ってルーティングを行う。
2)パケットの下限iを1に、パケットの上限jをパケット総数mに初期化する。
3)繰返す。
4)中間パケットt = (i+j)/2 を計算し、パケットtがhを含むか否かをチェックする。
5)hが現在のパケットの下限より小さい場合、上限jをj = t-1と更新する。
6)hが現在のパケットの上限より大きい場合、下限iをi = t+1と更新する。
7)それ以外の場合、インターバルが位置するノードに戻ってルーティングを行う。
上述したアルゴリズムは、パケットをノードとして二分探索することに相当する。複雑度はO(log2n)である。このアルゴリズムの効率は、パケットの数によって決定される。パケットの数がキーワードのスケールより遙かに小さいため、ルーティング効率を向上させる。加えて、パケットストラテジーが適用されるため、ノードの数が変化する場合、一部のパケットのキーワードスケール及びノードに対応するデータ状態のみを調整するだけでよく、動的拡張の効率を向上させる。
上記通信方法に基づき、本発明の実施形態は、データ状態の分散方法を提供する。初期化段階において、各ノードにより処理される必要のあるHashインターバルが、ノード処理能力に従って分割される。ノード処理能力の計算方法は上述した通りである。この方法は、ノード処理能力に従って各ノードの待ち行列により処理される必要のあるHashインターバルスケールを分割することができ、比率によってデータ状態を分散することができ、負荷バランスを達成できる。
本発明の他の特徴及び利点は、その後の明細書で説明されかつ一部は明細書から自明である。あるいは本発明を実行することにより理解されるであろう。本発明の目的及び他の利点は明細書、請求の範囲及び図面に示された構成により実現されかつ得ることができる。
Claims (2)
- コンポーネント指向ハイブリッドクラウドオペレーティングシステムであって、前記システムは、階層モデル、オブジェクトモデル及びメッセージモデルに基づいてハイブリッドアーキテクチャを構築し、かつ、構成コンポーネント及びその処理環境を管理するためにコンポーネント指向思想を適用し、これをベースに、前記システムは、コンポーネント処理用クラスタに対して高効率のルーティング、読取り書込み分離及び負荷バランスとを行い、クラウドオペレーティングシステムに対する開放性と互換性、疎結合と拡張性という要求を満足し、かつ、既存のクラウドオペレーティングシステムの自主管理問題、コンポーネントのスケールアウト問題及びステートフルコンポーネントの高可用性問題を解決し;
階層モデルの観点から、前記システムは、上から下にポータル層、論理層、アダプテーション層及び実装層に区分され、各層は相対的に独立し、各層において各々標準インタフェースを定義することによりシステムの開放性が強化され、かつ、各層に異なる機能を適応させることにより互換性が強化され;
オブジェクトモデルの観点から、前記クラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル、クラウドリソース管理、監視管理、計量と課金、サービス承認、及び、権限と認証の各機能モジュールにより構成され、各機能モジュールは、Restメッセージベースの呼出しにより通信を行い、互いに自由に組合わされ、かつ、要求により分散され配置されることができ、要求により新規機能モジュールが付加価値として開発されることができ、かつ、プラットフォームの拡張性が論理層における異なる機能モジュール間での相互操作を実現することにより強化され;
最小形態でインストールされた前記クラウドオペレーティングシステムは、クラウドポータル、クラウド管理ポータル及びクラウドリソース管理の各機能モジュールのみにより構成され、これをベースに、監視、課金、承認又は他の機能モジュールは、要求によりカスタム化されて拡張され、Restメッセージベースの呼出しにより通信を行い、要求により分散され配置されかつ付加価値として開発され、前記システムの拡張性が論理層における異なる機能モジュール間での相互操作を実現することにより強化され、
メッセージベースの通信方法が非同期呼出しをサポートするために導入され、メッセージ通信インターフェースJMSがRestメッセージを転送することによりシステムアーキテクチャをさらに疎結合とするために用いられ、これをベースに、コンポーネント指向設計が適用され、かつ、コンポーネント管理モジュールがコンポーネントのメタデータを管理するとともにコンポーネントの操作状態を監視することを担当し、
要求により拡張、分散及び配置を実現できるにも拘わらず、オブジェクトアーキテクチャは、RPC(リモート・プロセス・コール)同期通信方法に属しており、送信端は、受信端からのリターンを待った後にのみ実行を継続でき、かつ、双方のプロセスが密に結合しているため、前記システムの拡大化と複雑化に伴い、コンポーネント間の連携関係が複雑過ぎるようになり、この問題に対し、オブジェクトアーキテクチャに基づいてメッセージベースの通信方法が導入され、メッセージ通信インターフェースJMSを用いてRestメッセージを転送することにより、送信端と受信端のライフタイムを異ならせ、非同期呼出しをサポートし、かつ、前記システムアーキテクチャをさらに疎結合としており、ポータル層とクラウドリソース層の間における仮想マシンの少なくともターンオン、シャットダウン及びサスペンドの操作は、非同期方式にて実現され、ポータルが、コマンドを送信した後、応答を待つ必要がなくリターンすることができ、これにより、ユーザの相互動作効果を向上させ;
上記ハイブリッドアーキテクチャに基づく前記クラウドオペレーティングシステムは、開放性、互換性及び拡張性の要求を満足させることができ、これをベースに、コンポーネント指向設計思想に基づき、前記コンポーネント管理モジュールは、コンポーネントについてのメタデータ情報を管理することを担当し、少なくともログイン、削除、修正及びクエリの操作をサポートし、その場合、
1つのコンポーネントは、1つの三要素セットであり、ネーム、サービスセット、アクセスアドレス、及び、記述を含み;
1つのサービスは、1つの四要素セットであり、ネーム、タイプ、メッセージプロトコル、パラメタリスト、キーネーム、機能記述、及び、非機能記述を含み;
コンポーネントの記述及び管理に加えて、前記コンポーネント管理モジュールはさらに、その処理環境を監視し、コンポーネントのスケーラビリティ及び可用性を確保するための基本サービスを提供し、かつ、クラウドオペレーティングシステムの自主管理能力を完備させ、かつ、コンポーネントがログインした時、前記システムは、ユーザ名user、パスワードpsw、及び、固有のコンポーネントIDidを割当て、その後のコンポーネント処理用クラスタのアクセスのプロセスは、
1)処理用クラスタが、アドレスがurlであるシステムバスに対してアクセス要求を開始し、システムバスがアクセスノードのユーザ名、パスワード及びIDを認証し、認証が通ると、接続が確立され、そのコードは、
Connection = ConnectionFactory.createConnection(user,psw,url) であり;
2)書込み操作トピックを設定し、コンポーネントの各処理ノードが当該トピックから書込み操作をサブスクライブし、
write_topic = session.createTopic(id+"WRITE_TOPIC");
write_topic_consumer = session.createConsumer(write_topic);
3)コンポーネントがwriteTopicListenerのonMessage方法において書込み処理を実現し、かつシステムバスにログインし、
write_topic_consumer.setMessageListener(writeTopicListener);
4)コンポーネントの処理ノード数mumに従って読取り操作の待ち行列セットを設定し、各処理ノードが1つの待ち行列に対応した読取り操作をサブスクライブし、
read_queue = session.createMultiQueue(num,id+"READ_QUEUE");
read_queue_consumer = session.createConsumer(read_queue);
5)readQueueListenerのonMessage方法において特定の読取り処理機能を実現し、かつシステムバスにログインし、
read_queue_consumer.setMessageListener(readQueueListener);
前記書込み読取り分離待ち行列セットに基づき、コンポーネント管理モジュールにおいて各コンポーネントのサービスタイプを区別し、サービスタイプを冪等又は非冪等に設定し、冪等操作はステートレス操作に属し、同一状態下で実行した結果が毎回同一であり、非冪等操作はステートフル操作に属し、同一状態下で実行した結果が毎回異なり、ルータは、サービスタイプによってルーティングを行い、非冪等操作は固有の書込み待ち行列に送信され、そして冪等操作は負荷バランスストラテジーによって別々の読取り待ち行列に送信され、
読取り操作の負荷バランスのプロセスは、
1)ノードの処理能力を計算し、
ノードiのCPUクロック周波数、メモリ容量及びI/O帯域幅を各々Ci、Mi及びBiとすると、クラスタの各種リソースはノードの各種リソースの総計であり、つまりC = ΣCi、M = ΣMi、B = ΣBiであり、
ノードiのCPU重み付け値はWi CPU = Ci/Cであり、メモリ容量重み付け値はWi RAM = Mi/Mであり、I/O帯域幅重み付け値はWi IO = Bi/Bであり、
コンポーネントサービスに必要なリソース割合を、それぞれpCPU、pRAM、pIOとすると、ノードi の処理能力は、
Wi = pCPUWi CPU + pRAMWi RAM + pIOWi IOであり、
2)書込み読取り操作の重み付け値によって各ノードの負荷を計算し、
読取り待ち行列Lrの書込み待ち行列Lwに対する書込み読取り操作のオーバーヘッド比率をaとすると、ノードiの負荷はLi = LR i + aLWであり、各ノードの負荷状態はSi = Li/Wiであり、
3)負荷が最も少ないノードを選択してルーティングを行い、
書込み操作をパイプライン処理で行うことにより、データ入力の効率を向上させ、そのプロセスでは、先ずノード1にデータが書き込まれ、64KBのデータフラグメントが書き込まれた後、データを受信し続けると同時に、入力された64KBのデータをノード2に転送し、ノード2からノードnまでは、ノードnに最後の64KBを超えないデータフラグメントが書き込まれるまで、同じ方法でデータを受信しかつ転送し、
前記通信方法に基づいて、ノード監視モジュールはさらに、コンポーネントの処理ノードの参加、離脱、無効及び復帰というイベントを、コンポーネント管理モジュールに送信し、その場合、ノード参加イベントは、コンポーネントに処理ノードを追加することを指し、ノード離脱イベントは、コンポーネントから処理ノードを取り消すことを指し、ノード無効イベントは、コンポーネントの1つの処理ノードを使用不可とすることを指し、ノード復帰イベントは、コンポーネントの使用不可の処理ノードを復帰させて使用可とすることを指す、
コンポーネント指向ハイブリッドクラウドオペレーティングシステム。 - コンポーネント指向ハイブリッドクラウドオペレーティングシステムの通信方法であって、高可用性コンポーネントクラスタ通信と、スケールアウト型コンポーネンクラスタ通信とを含み、
前記高可用性コンポーネントクラスタ通信方法は、コンポーネント管理モジュールが各コンポーネントクラスタのために読取り書込み分離待ち行列セットを構築し、前記コンポーネント管理モジュールがさらにコンポーネントのサービスタイプを冪等又は非冪等に区別し、ルータがサービスタイプによってルーティングを行い、非冪等操作は固有の書込み待ち行列に送信され、冪等操作は負荷バランスストラテジーによって別々の読取り待ち行列に送信され、これをベースに、ノード監視モジュールが処理ノードの参加、離脱、無効及び復帰というイベントを前記コンポーネント管理モジュールに送信し、前記コンポーネント管理モジュールがさらに、ノードの変化イベントによって待ち行列の構造を調整し、この方法は、読取り書込みの分離及び負荷バランスによりステートフルなコンポーネントクラスタの通信性能を向上させ、ノードの変化によって待ち行列の構造を調整することによりコンポーネントの高可用性を確保し、前記コンポーネント管理モジュールはさらに、監視モジュールにより送信されたノードの変化イベントに基づいて待ち行列の構造を調整するものであり、このプロセスは、
1)ノードが参加する時、待ち行列セットにおいて当該ノードのために1つの読取り操作の待ち行列を設定し、当該ノードはその待ち行列から読取り操作をサブスクライブし、かつ当該書込みトピックから書込みトピックをサブスクライブし、
2)ノードが離脱する時、当該ノードに対応する読取り待ち行列を削除し、当該書込みトピックに対するサブスクリプションを閉じ、
3)ノードを無効化する時、当該ノードの読取り待ち行列に読取り要求を送信することを停止し、書込みトピックに当該ノードのための書込み操作を保存し、
4)ノードが復帰する時、書込みトピックにおける書込み操作を同期し、当該ノードに対応する読取り待ち行列に読取り操作の要求を送信するために復帰し、
ステートレスなクラスタの負荷バランス方法は、各ノードに対し完全な均衡方式で操作を分散するが、それはステートフル状態において処理結果の不一致をもたらすことになり、上記方法は、読取り書込み分離待ち行列を設定しかつノードの能力に関係して負荷をバランスさせることによりこの問題を回避でき、ステートフルのコンポーネントクラスタの通信性能を向上させ、さらに、ノード変化イベントによって待ち行列の構造を調整することによりステートフルのコンポーネントクラスタの高可用性を確保し、
スケールアウトしたコンポーネントにより構成されたクラスタの通信方法は、前記コンポーネント管理モジュールがノード数によってコンポーネントの各サービスのためにポリゴン形待ち行列の構造を確立し、Hash値に従って二分探索によるルーティングを行い、アルゴリズムの効率は、キーワードのスケールより遙かに小さいHashパケットの数によって決定され、ルーティングの効率を向上させ、さらに、ノード数が変化する場合、一部のノードデータ状態のみを調整すればよく、動的拡張の効率を向上させ、
上述した通信方法に基づき、初期化段階において、各ノードにより処理されるべき複数のHashインターバルをノードの処理能力によって分割し、ルーティングテーブルを形成し、比率によるデータ状態の分散を実現し、負荷バランスを達成し、
前記コンポーネント管理モジュールは、ノード数によってコンポーネントの各サービスのためにポリゴン形待ち行列セットを設定し、各待ち行列は1つのHash値インターバルすなわちパケットに対応し、Hash値に従って二分探索によるルーティングを行い、ルーティングアルゴリズムは、
1)キーのHash値hを計算し、
2)パケットの下限iを1に、パケットの上限jをパケット総数mに初期化し
3)繰返し、
4)中間パケットt = (i+j)/2を計算し、パケットtがhを含むか否かをチェックし、
5)hが現在のパケットの下限より小さい場合、上限jをj = t-1と更新し、
6)hが現在のパケットの上限より大きい場合、下限iをi = t+1と更新し、
7)それ以外の場合、インターバルが位置するノードに戻ってルーティングを行うものであり、
上述したアルゴリズムは、パケットをノードとして二分探索することに相当し、複雑度はO(log2n)であり、このアルゴリズムの効率は、パケットの数によって決定され、パケットの数がキーワードのスケールより遙かに小さいため、ルーティング効率を向上させ、加えて、パケットストラテジーが適用されるため、ノードの数が変化する場合は一部のパケットのキーワードスケール及びノードに対応するデータ状態のみを調整するだけでよく、動的拡張の効率を向上させる、
コンポーネント指向ハイブリッドクラウドオペレーティングシステムの通信方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310367864.2A CN103442049B (zh) | 2013-08-22 | 2013-08-22 | 一种面向构件的混合型云操作系统体系结构及其通信方法 |
CN201310367864.2 | 2013-08-22 | ||
PCT/CN2014/071233 WO2015024368A1 (zh) | 2013-08-22 | 2014-01-23 | 一种面向构件的混合型云操作系统体系结构及其通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015537307A true JP2015537307A (ja) | 2015-12-24 |
Family
ID=49695714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015543294A Pending JP2015537307A (ja) | 2013-08-22 | 2014-01-23 | コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9307017B2 (ja) |
EP (1) | EP2899947A4 (ja) |
JP (1) | JP2015537307A (ja) |
CN (1) | CN103442049B (ja) |
WO (1) | WO2015024368A1 (ja) |
Families Citing this family (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442049B (zh) * | 2013-08-22 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种面向构件的混合型云操作系统体系结构及其通信方法 |
GB2521364A (en) * | 2013-12-17 | 2015-06-24 | Ibm | Recording GUI data |
US9420035B2 (en) * | 2014-02-20 | 2016-08-16 | International Business Machines Corporation | Transaction isolation during multi-tenant transaction requests |
CN103986662B (zh) * | 2014-05-22 | 2017-12-05 | 浪潮电子信息产业股份有限公司 | 一种跨虚拟化平台的虚拟路由器实现方法 |
CN104135542B (zh) * | 2014-08-19 | 2017-12-22 | 浪潮(北京)电子信息产业有限公司 | 一种云计算环境中异构负载均衡管理系统和方法 |
US9729542B2 (en) | 2014-09-24 | 2017-08-08 | Oracle International Corporation | Compartmentalizing application distribution for disparate electronic devices |
US9501307B2 (en) | 2014-09-26 | 2016-11-22 | Comcast Cable Communications, Llc | Systems and methods for providing availability to resources |
CN104486440B (zh) * | 2014-12-25 | 2018-03-02 | 浪潮电子信息产业股份有限公司 | 一种基于消息总线的云计算管理软件交互方法 |
US10834054B2 (en) | 2015-05-27 | 2020-11-10 | Ping Identity Corporation | Systems and methods for API routing and security |
CN104980364A (zh) * | 2015-06-23 | 2015-10-14 | 浪潮电子信息产业股份有限公司 | 一种基于智能查找算法的链路负载均衡方法 |
US10630649B2 (en) | 2015-06-30 | 2020-04-21 | K4Connect Inc. | Home automation system including encrypted device connection based upon publicly accessible connection file and related methods |
US10523690B2 (en) | 2015-06-30 | 2019-12-31 | K4Connect Inc. | Home automation system including device controller for terminating communication with abnormally operating addressable devices and related methods |
US10200208B2 (en) * | 2015-06-30 | 2019-02-05 | K4Connect Inc. | Home automation system including cloud and home message queue synchronization and related methods |
CN105338061B (zh) * | 2015-09-29 | 2019-04-23 | 华中科技大学 | 一种轻量级消息中间件的实现方法与系统 |
US10778809B2 (en) * | 2016-02-26 | 2020-09-15 | Arista Networks, Inc. | Per-input port, per-control plane network data traffic class control plane policing |
US9781122B1 (en) | 2016-05-11 | 2017-10-03 | Oracle International Corporation | Multi-tenant identity and data security management cloud service |
US9838377B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US9838376B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10530578B2 (en) | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
US10721237B2 (en) | 2016-08-05 | 2020-07-21 | Oracle International Corporation | Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service |
US10516672B2 (en) | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
WO2018053258A1 (en) | 2016-09-16 | 2018-03-22 | Oracle International Corporation | Tenant and service management for a multi-tenant identity and data security management cloud service |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10182033B1 (en) * | 2016-09-19 | 2019-01-15 | Amazon Technologies, Inc. | Integration of service scaling and service discovery systems |
US10135916B1 (en) | 2016-09-19 | 2018-11-20 | Amazon Technologies, Inc. | Integration of service scaling and external health checking systems |
US10681012B2 (en) | 2016-10-26 | 2020-06-09 | Ping Identity Corporation | Methods and systems for deep learning based API traffic security |
CN106534306A (zh) * | 2016-11-14 | 2017-03-22 | 北京大学(天津滨海)新代信息技术研究院 | 一种可扩展的异构云平台适配方法及其系统 |
CN106657314B (zh) * | 2016-12-14 | 2020-10-27 | 北京奇艺世纪科技有限公司 | 跨数据中心数据同步系统及方法 |
US10261836B2 (en) * | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
CN107220129B (zh) * | 2017-04-14 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种软件模块间的通信方法和系统 |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10310943B2 (en) * | 2017-06-16 | 2019-06-04 | Microsoft Technology Licensing, Llc | Distributed data object management system |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based cloud service |
CN107608804B (zh) * | 2017-09-21 | 2020-06-12 | 浪潮云信息技术有限公司 | 一种任务处理系统及方法 |
US10831789B2 (en) | 2017-09-27 | 2020-11-10 | Oracle International Corporation | Reference attribute query processing for a multi-tenant cloud service |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
US10608951B2 (en) * | 2017-09-30 | 2020-03-31 | Oracle International Corporation | Live resegmenting of partitions in distributed stream-processing platforms |
US10699010B2 (en) | 2017-10-13 | 2020-06-30 | Ping Identity Corporation | Methods and apparatus for analyzing sequences of application programming interface traffic to identify potential malicious actions |
CN108200162A (zh) * | 2017-12-30 | 2018-06-22 | 中建材信息技术股份有限公司 | 一种基于公有云实现的数据库可用互备方法 |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
CN108769049A (zh) * | 2018-06-08 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种向openstack同步用户权限的方法和服务器 |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
CN109324807B (zh) * | 2018-09-27 | 2021-09-03 | 京信网络系统股份有限公司 | OpenStack的计费模块安装方法和系统 |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
CN109583832A (zh) * | 2018-11-16 | 2019-04-05 | 上海浦东发展银行股份有限公司信用卡中心 | 一种用于银行管理的工作流智能流转管理系统 |
US20200175361A1 (en) * | 2018-11-30 | 2020-06-04 | Alibaba Group Holding Limited | Partitioning of deep learning inference with dynamic offloading |
CN109639799B (zh) * | 2018-12-12 | 2021-08-17 | 北京锐安科技有限公司 | 异构云平台的处理方法及装置 |
EP3678348A1 (en) | 2019-01-04 | 2020-07-08 | Ping Identity Corporation | Methods and systems for data traffic based adpative security |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
US11423111B2 (en) | 2019-02-25 | 2022-08-23 | Oracle International Corporation | Client API for rest based endpoints for a multi-tenant identify cloud service |
US11792226B2 (en) | 2019-02-25 | 2023-10-17 | Oracle International Corporation | Automatic api document generation from scim metadata |
CN112118278B (zh) * | 2019-06-04 | 2023-07-04 | 杭州海康威视系统技术有限公司 | 计算节点接入方法、装置、电子设备及机器可读存储介质 |
CN110264467B (zh) * | 2019-06-26 | 2022-12-06 | 西安电子科技大学 | 基于顶点切割的动态幂律图实时重划分方法 |
US11870770B2 (en) | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
US11687378B2 (en) | 2019-09-13 | 2023-06-27 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
CN111277672B (zh) * | 2020-03-31 | 2022-03-11 | 上海积成能源科技有限公司 | 一种基于非阻塞输入输出模型的能源物联网数据采集方法 |
CN111726418B (zh) * | 2020-06-30 | 2023-08-11 | 平安银行股份有限公司 | 云资源的调配方法、装置、终端设备及存储介质 |
CN112083914B (zh) * | 2020-08-31 | 2023-09-12 | 深圳航天科技创新研究院 | 实现对象模型嵌入式操作系统软总线的方法及系统 |
CN112307128A (zh) * | 2020-11-26 | 2021-02-02 | 中国—东盟信息港股份有限公司 | 一种基于分布式的异构数据同步系统及方法 |
CN112488506A (zh) * | 2020-11-30 | 2021-03-12 | 哈尔滨工程大学 | 一种智能无人系统集群的可扩展分布式架构及自组织方法 |
CN112579287A (zh) * | 2020-12-16 | 2021-03-30 | 跬云(上海)信息科技有限公司 | 一种基于读写分离及自动伸缩的云编排系统及方法 |
CN112738193B (zh) * | 2020-12-24 | 2022-08-19 | 青岛民航凯亚系统集成有限公司 | 云计算的负载均衡方法及装置 |
CN112685199B (zh) * | 2020-12-30 | 2023-10-20 | 董小君 | 一种消息队列修复方法、装置、计算机设备及存储介质 |
CN113128909A (zh) * | 2021-05-13 | 2021-07-16 | 瑞麟天下节能技术(北京)有限公司 | 一种基于电力资源的服务器管理方法 |
CN113423025B (zh) * | 2021-06-22 | 2024-02-13 | 烟台东方智能技术有限公司 | 一种具有人工智能的数据管理终端 |
CN115412478B (zh) * | 2022-08-30 | 2023-06-02 | 奥特酷智能科技(南京)有限公司 | 一种面向服务的汽车域控制器数据转发系统及方法 |
CN115473898B (zh) * | 2022-11-14 | 2023-03-24 | 杭州欧若数网科技有限公司 | 一种边缘计算场景下的图数据库管理方法和系统 |
CN115857885B (zh) * | 2022-12-27 | 2023-09-22 | 深圳市浩科智联科技有限公司 | 一种基于soc软件的汽车主题ui全流程开发测试部署系统 |
CN116522323B (zh) * | 2023-03-17 | 2023-11-24 | 哈尔滨工业大学 | 一种基于命名空间的容器消息队列读写管理方法 |
CN117112231B (zh) * | 2023-09-22 | 2024-04-16 | 中国人民解放军91977部队 | 一种多模型协同处理方法及装置 |
CN117290076B (zh) * | 2023-11-24 | 2024-04-09 | 苏州盈数智能科技有限公司 | 一种易扩缩容的多并发任务派发的设备管理方法及系统 |
CN117348852B (zh) * | 2023-12-05 | 2024-03-29 | 华南理工大学 | 基于细粒度软件要素构建数据链路的方法、装置及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100521603C (zh) * | 2004-07-13 | 2009-07-29 | 联想网御科技(北京)有限公司 | 集群模式下实现网络安全设备高可用性的方法 |
US8504774B2 (en) * | 2010-10-13 | 2013-08-06 | Microsoft Corporation | Dynamic cache configuration using separate read and write caches |
US9645839B2 (en) * | 2010-10-27 | 2017-05-09 | Microsoft Technology Licensing, Llc | Stateful applications operating in a stateless cloud computing environment |
US9027024B2 (en) * | 2012-05-09 | 2015-05-05 | Rackspace Us, Inc. | Market-based virtual machine allocation |
CN102970332A (zh) * | 2012-10-26 | 2013-03-13 | 江苏物联网研究发展中心 | 云os组件自主式组装系统 |
CN103442049B (zh) * | 2013-08-22 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种面向构件的混合型云操作系统体系结构及其通信方法 |
-
2013
- 2013-08-22 CN CN201310367864.2A patent/CN103442049B/zh active Active
-
2014
- 2014-01-23 WO PCT/CN2014/071233 patent/WO2015024368A1/zh unknown
- 2014-01-23 EP EP14833104.4A patent/EP2899947A4/en not_active Withdrawn
- 2014-01-23 JP JP2015543294A patent/JP2015537307A/ja active Pending
- 2014-11-06 US US14/534,735 patent/US9307017B2/en active Active - Reinstated
Also Published As
Publication number | Publication date |
---|---|
EP2899947A4 (en) | 2015-09-23 |
EP2899947A1 (en) | 2015-07-29 |
CN103442049A (zh) | 2013-12-11 |
CN103442049B (zh) | 2016-08-31 |
US9307017B2 (en) | 2016-04-05 |
US20150067135A1 (en) | 2015-03-05 |
WO2015024368A1 (zh) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015537307A (ja) | コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 | |
US9495392B2 (en) | System and method for parallel multiplexing between servers in a cluster | |
US8010651B2 (en) | Executing programs based on user-specified constraints | |
WO2018176998A1 (zh) | 数据存储方法及装置 | |
US9703610B2 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
WO2018035856A1 (zh) | 实现硬件加速处理的方法、设备和系统 | |
CN106663033B (zh) | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的系统和方法 | |
US20030182464A1 (en) | Management of message queues | |
EP2838243B1 (en) | Capability aggregation and exposure method and system | |
CN108737176B (zh) | 一种数据网关控制方法、电子设备、存储介质及架构 | |
US9104488B2 (en) | Support server for redirecting task results to a wake-up server | |
US11861406B2 (en) | Dynamic microservices allocation mechanism | |
WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
CN115037756A (zh) | 一种运行联盟链网络的方法、联盟链网络和用于联盟链网络的节点设备 | |
CN102929605A (zh) | 一种基于云计算的数据挖掘系统开放接口 | |
CN114205233A (zh) | 一种面向数据管控的智能合约自适应配置与执行框架 | |
WO2024087663A1 (zh) | 作业调度方法、装置和芯片 | |
CN109992417B (zh) | 预计算olap系统及实现方法 | |
CN113098705B (zh) | 网络业务的生命周期管理的授权方法及装置 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
JP5288272B2 (ja) | I/oノード制御方式及び方法 | |
WO2024091244A1 (en) | Dynamic worker reconfiguration across work queues | |
WO2007080753A1 (ja) | ネットワーク資源管理装置、ネットワーク資源管理システム、ネットワーク資源管理方法 | |
Hasan et al. | Evolution Towards Cloud: Overview of Next Generation Computing Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170214 |