JP2014523026A - 仮想機械移行ツール - Google Patents

仮想機械移行ツール Download PDF

Info

Publication number
JP2014523026A
JP2014523026A JP2014518572A JP2014518572A JP2014523026A JP 2014523026 A JP2014523026 A JP 2014523026A JP 2014518572 A JP2014518572 A JP 2014518572A JP 2014518572 A JP2014518572 A JP 2014518572A JP 2014523026 A JP2014523026 A JP 2014523026A
Authority
JP
Japan
Prior art keywords
application
rules
cloud
migration
code
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.)
Granted
Application number
JP2014518572A
Other languages
English (en)
Other versions
JP6030646B2 (ja
JP2014523026A5 (ja
Inventor
フライズ,ロバート
サングヴィ,アシュヴィンクマール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014523026A publication Critical patent/JP2014523026A/ja
Publication of JP2014523026A5 publication Critical patent/JP2014523026A5/ja
Application granted granted Critical
Publication of JP6030646B2 publication Critical patent/JP6030646B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

コンピュータークラウドにアプリケーションを移行するためのツールおよび技法が、本明細書に記載される。ツールが、任意のアプリケーションをコンピュータークラウドの特定の実装形態に移行するために使用され得る。本ツールは、移行規則のライブラリーを使用し、その規則を選択されたアプリケーションに適用し、その過程で移行出力を生成することができる。その移行出力は、助言情報、改定されたコード、パッチ、または同様のものでもよい。異なるクラウドコンピュータープラットフォームのために異なる規則のセットが存在することが可能であり、アプリケーションを異なるクラウドに移行することを可能にする。その規則は、広範なアプリケーション機能と、アプリケーションを移行するための対応する訂正アクションを説明することができる。規則は、アプリケーションの意味的動き、コードまたはコール、記憶、データベースインスタンス、データベースとの対話、そのアプリケーションをホストするオペレーティングシステムなどを指定することができる。

Description

[0001]近年、PaaS(Platform as a Service、サービスとしてのプラットフォーム)と時に称される、コンピュータークラウドの使用および可用性が増加している。コンピュータークラウドの例は、Windows Azure(登録商標)、Amazon EC2(登録商標)、Bungee Connect(登録商標)、Google App Engine(登録商標)などである。これらのコンピュータークラウドは、通常は、多数のテナントをホストし、各々が、それら自体の隔離されたウェブアプリケーション、または、クライアントブラウザによって通常はアクセスされるウェブサービスを実行する。そのテナントのアプリケーションは、しばしば、仮想機械(VM)内で動作する。そのコンピュータークラウドは、アプリケーションに対して透過的であることを意図された方法で、変化する状態および需要に対処することができる実行環境を提供する。たとえば、着信する要求のロードのバランシング、ネットワーク帯域幅のプロビジョニング(provisioning)、リソースの処理、記憶装置、アプリケーションのスケーリング(たとえば、インスタンスの数の調整)、仮想機械およびアプリケーションインスタンスの再配置などである。共用されたコンピューティングクラウドは、オペレーター実体によって管理され、テナントがそれらのアプリケーションに第一に関与できるようにする。
[0002]しかし、コンピューティングクラウドは、実行環境として、そのコンピューティングクラウドで動作するように元来設計されていないアプリケーションと不整合の、利益と制限の両方を含む特色を有することがある。たとえば、特定の非クラウドリソース(たとえば、リレーショナルデータベース)と場合によっては様々なソフトウェアおよびハードウェア設備とを使用する特定のオペレーティングシステムで動作するように元々設計された3階層のウェブアプリケーションを考える。そのアプリケーションは、ロードの変動を処理するための組込み論理を有するウェブフロントエンド(web front−end)を有し得る。そのフロントエンドは、ビジネス論理を実装する中間階層とインターフェースをとることができ、データベースなどのローカルファイル記憶装置およびバックエンド記憶装置と対話する。このアプリケーションは、クラウドでは必要ではない自己スケーリングのためのセマンティック(semantic、意味論)を有し得る。そのアプリケーションは、それ自体のデータベース層と、クラウドでは必要とされない付随の管理ソフトウェアとを有し得る。そのアプリケーションは、クラウドによる制御と矛盾するオペレーティングシステム構成設定を有することがある(いくつかのクラウドは、オペレーティングシステムを必要とさえしないことがある)。そのアプリケーションの態様は、そのアプリケーションがコンピューティングクラウドで効率的に実行できるようにするために、変更、除去、または追加される必要があり得る。
[0003]以下に論じる技法は、アプリケーションおよび仮想機械をコンピューティングクラウドに移行するためのツールに関する。
[0004]以下の概要は、発明を実施するための形態で以下に論じるいくつかの概念を紹介するためにのみ含まれる。本概要は、包括的ではなく、最後に提示される特許請求の範囲によって定められる特許請求される対象の範囲を線引きするものではない。
[0005]汎用コンピューティングクラウドを示す図である。 [0006]汎用コンピューティングクラウドの別のビューを示す図である。 [0007]2つの例示的コンピューティングクラウドアーキテクチャを示す図である。 [0008]別のコンピューティングクラウドアーキテクチャを示す図である。 [0009]ターゲットアプリケーションのコンピューティングクラウドへの例示的移行を示す図である。 [0010]移行ツールを示す図である。 [0011]規則または移行ライブラリーのビューを示す図である。 [0012]移行ツールによって実行されるプロセスを示す図である。 [0013]移行ツールによって使用される読取りツールの例示的セットを示す図である。
[0014]付随する特徴の多数は、添付の図面に関連して考慮される以下の詳細な記載を参照して、以下に説明される。
[0015]本明細書は、同様の参照番号が添付の記載における同様の部分を指定するためにその中で使用される添付の図面を踏まえて読まれて以下の詳細な記載からよりよく理解されよう。
[0016]アプリケーションをコンピュータークラウドに移行するためのツールおよび技法が、本明細書で説明される。ツールが、コンピュータークラウドの特定の実装形態に任意のアプリケーションを移行するために使用され得る。そのツールは、移行規則のライブラリーを使用し、その規則を選択されたアプリケーションに適用し、その過程で移行出力を生成することができる。その移行出力は、助言情報、改定されたコード、パッチ、または同様のものでもよい。異なるクラウドコンピュータープラットフォームのために異なる規則のセットが存在することが可能であり、アプリケーションが異なるクラウドに移行することを可能にする。その規則は、広範なアプリケーション機能と、アプリケーションを移行するための対応する訂正アクションとを説明し得る。規則は、アプリケーションの意味的動き、コードまたはコール、記憶、データベースインスタンス、データベースとの対話、そのアプリケーションをホストするオペレーティングシステムなどを指定することができる。
概説
[0017]以下に論じる実施形態は、アプリケーションをコンピューティングクラウドに移行するための移行ツールに関する。考察は、コンピューティングクラウドの説明で始まり、いくつかの例がそれに続く。例示的アプリケーションが、論じられる。移行ツール、移行規則、および移行のプロセスを含む、移行するためのツールおよび技法が、次に説明される。
コンピューティングクラウド
[0018]図1は、汎用コンピューティングクラウド100を示す。データネットワーク102は、コンピューティングクラウド100を構成する様々なコンピューター(図示せず)の間に接続性を提供する。一般に、多数のコンピューターが、隔離されたテナントアプリケーションをホストする仮想機械をホストする。様々なクラウドサービス104は、通信待ち行列、ロードバランシングなどの機能を提供することができる。クラウドプラットフォーム106は、それを介してテナントがそれらのアプリケーションをアップロードおよび管理することができる、テナントのためのインターフェースの機能を果たすことができる。クラウドプラットフォーム106はまた、実際に各アプリケーションのコンピューター環境を提供し、テナントのアプリケーションをラップするおよび管理することができる。クラウド基盤108は、課金および管理要素を含み得る。たとえば、クラウド基盤108は、コンピューターをオンラインおよびオフラインにして、アプリケーションおよび/またはコンピューティングクラウド100のロードにおける変化に対処することができる。クラウド記憶装置110は、たとえば、それぞれのテナントによって制御および構成されるデータベースのインスタンスを提供するリレーショナルデータベースサービス、単純なブロブ(バイナリーラージオブジェクト)記憶装置、表記憶装置、ファイルシステム記憶装置など、様々な形をとることができる。
[0019]図2は、汎用コンピューティングクラウド100の別のビューを示す。このビューでは、テナント120、122は、それぞれのクラウドホスト型アプリケーション124、126を有する。コンピューティングクラウド100は、アプリケーション124、126のコンピューター環境128、130を管理するファブリック125を有する。ファブリック125は、ゲストオペレーティングシステム、記憶サービスなどでVMを実行する多数のコンピューターを有し得る。アプリケーション124、126は、ウェブベースのアクセスに典型的な様々な構成要素を備えることができ、コンピューティングクラウド100によって提供されるリソースを使用することができる。コンピューター環境128、130は、Amazon EC2インスタンス(アマゾンマシン画像(AMI)によって構成されるような)、ロール(Microsoft Azureにおけるような)、管理されたコード環境を有するサンドボックスされたシミュレートされた部分的オペレーティングシステム(Google App Engineにおけるような)などに類似していてもよい。コンピューター環境128、130は、ロード、ネットワークトラフィック、予期せぬ故障などの現在の状態に従って、ファブリック125によって「拡張」され得る。そのような拡張は、必要に応じて計算リソース(ハードウェア、VM、サービスインスタンス、データベースインスタンスなど)を透過的に追加または取り除くステップを含み得る。
[0020]アプリケーション124、126は、テナント120、122によって、アップロードおよび構成される。アプリケーション124、126は、コンピューティングクラウド100によって管理されるものとして動作し、そして、クライアント128は、ブラウザまたは他のタイプのクライアントソフトウェアを使用し、アプリケーション124、126のインスタンスにアクセスする。アプリケーションの観点からすると、そのアプリケーションはプラットフォームで動作していて、コンピューティングクラウド100の活動はほとんど透過的であることに留意されたい。それらのアプリケーションは、基盤となるハードウェア、データネットワーク、あるいは、そのアプリケーションとクライアントの間のクラウド層はどうあれ、通信プロトコルを介してアクセスされる。
[0021]図3は、2つの例示的コンピューティングクラウドアーキテクチャを示す。クラウドアーキテクチャ250は、Amazon EC2クラウドの1つのバージョンである。アプリケーション開発および配備は、テナントクライアントによって処理される。本クラウドは、機械画像およびオンデマンドインスタンスの形でクラウドコンピューティングサービスを提供する。アプリケーションは、仮想機械内のゲストオペレーティングシステムでホストされる。仮想機械およびデータベースのインスタンスは、サポートサービスからの必要に応じてクラウドによって提供される。待ち行列サービスは、仮想機械とアプリケーションインスタンスの間の通信を円滑に進めることができる。これらの構成要素がどのように作動し、協力するかの詳細は、他の場所で入手可能である。
[0022]クラウドアーキテクチャ252は、Google App Engineクラウドの1つのバージョンである。様々な開発ツールが、アプリケーションを構築および配備するために使用される。App Engine自体は、他の場所で完全に文書化されている。重要な特徴は、アプリケーションが配備された後には、App Engineが自動的にスケーリングを処理し、リソースおよび/またはインスタンスが必要に応じて追加および除去されるということである。様々なサポートサービスが、アプリケーションによってアクセスされ得る。アカウントサービス、データ表サービスなどがそのアプリケーションによって使用され、これらのリソースはまたクラウドによってスケールを変更され、管理される。
[0023]図4は、Microsoft Azureの1つのバージョンのコンピューティングクラウドアーキテクチャ254を示す。管理されたコードで構築された個別スケーラブル構成要素である、ロール(role)が提供される。作業者ロールは、一般化された開発を目的とし、ウェブロールのためのバックグラウンド処理を実行することができる。ウェブロールは、ウェブサーバーを提供し、HTTP(ハイパーテキスト転送プロトコル)またはHTTPS(HTTPセキュア)エンドポイントを介してウェブ要求を聴き、応答する。VMロールは、テナント定義された構成(たとえば、リソース、ゲストオペレーティングシステム)に従って、インスタンス化される。オペレーティングシステムおよびVM更新は、クラウドによって管理される。ウェブロールおよび作業者ロールは、そのテナントの制御下にある仮想機械であるVMロール内で動作する。記憶装置およびSQLサービスが、ロールによる使用のために利用可能である。他のクラウドと同様に、スケーリング、ロードバランシングなどを含めて、ハードウェアおよびソフトウェア環境またはプラットフォームは、クラウドによって処理される。
[0024]要約すると、PaaSタイプのコンピューティングクラウドでは、クラウドコンピューティングプラットフォーム自体が、ほとんどの管理機能を担う。そのプラットフォームは、オペレーティングシステムパッチの適用、システムまたはデータベースソフトウェアの新しいバージョンのインストール、コンピューターおよびVMのオンライン化、VMの移行、ネットワーク帯域幅の割当てなどの事柄を自動的に(そしてテナントに対して透過的に)処理することができる。アプリケーションの何らかの意味的動き(次の項で論じられる)と交差し得るこの透過的管理は、それでもなお、パッチング、ハードウェア故障、オーバーロード、および他の理由に起因するアプリケーションの使用不可能性を解消することができる。さらに、物理および仮想機械を制御するそのクラウドは、アプリケーションスケーリングを処理し、そのクラウドは、適切なレベルのリソースがいつでも使用可能であることを確保する。コンピューティングクラウドプラットフォームは、他の特徴を有し得る。たとえば、ブラウザベースの開発ツール、そのクラウドにおけるホストされるランタイム環境へのシームレスな配備(すなわち、そのクラウドにアクセスするクライアントからアプリケーションを配備および始動する能力)、テナントのウェブベースの管理およびモニタリングツール、従量制課金などである。
アプリケーション移行
[0025]前記で提案したように、コンピューティングクラウドで実行するように元来設計されていないアプリケーションは、コンピューティングクラウドのアーキテクチャおよびサービスによって影響を及ぼされることがある設計特色(意味論)、コードプロパティ、および構成特徴を有し得る。アプリケーションは、クラウド環境では不必要なロードバランシングおよびスケーリングなどの機能を有し得る。アプリケーションはまた、クラウド環境ではエラー、データ損失、または他の故障につながる可能性のある特徴も有し得る。アプリケーションをクラウド環境に移行するとき、互換性、信頼性、効率性、コストの最小化、適切なインストールなどのために行うことができるまたは行われるべき修正が、しばしば存在する。
[0026]図5は、ターゲットアプリケーション280のコンピューティングクラウドへの例示的移行を示す。ターゲットアプリケーション280は、特定のオペレーティングシステムおよびカスタムインフラストラクチャ、たとえば、組織内の情報技術(IT)環境、のために元来設計された、機械またはホストベースのアプリケーションである。ターゲットアプリケーション280は、クライアント要求を処理するウェブサーバー282のフロントエンドを含む、3階層のアーキテクチャを有する。特注のロードバランサー284は、ウェブサーバー282の間でクライアント要求を分散する。中間階層は、ターゲットアプリケーション280の論理および主要な機能を処理するアプリケーションサーバー286を含む。その中間階層は、SQLサーバー288によって管理されるデータベース内でデータおよびアプリケーション状態を記憶する。そのSQLサーバーは、フェイルオーバーおよびバックアップのためのデータベースミラーを保持する。アプリケーションサーバー286は、SQLコールまたは同様のものでSQLサーバー288とインターフェースをとる。ロードバランサー290は、ウェブサーバー282とアプリケーションサーバー286の間で対話を平衡させる。ターゲットアプリケーション280は、前述の要素のうちのいずれかのインスタンスを追加することによって、スケーリングのためのカスタム論理を有することができる。さらに、ターゲットアプリケーション280がそこで実行するコンピュータープラットフォームを管理する管理ソフトウェアの層が存在し得る。この層は、バックアップ、システム更新、ゾンビプロセスまたはシステムの再起動、ホストコンピューター間の仮想機械の移行、フェイルオーバーシステムへの出力先変更などを実行することができる。
[0027]図5の下方部分は、移行されたアプリケーション292を示す。その移行されたバージョンは、後で論じる多数の方法で修正され得る。たとえば、ロードバランシング機構294は、コンピューティングクラウドによって提供され得る(移行されたアプリケーション292に対する可視性なしで)。移行されたアプリケーション292のウェブサーバー296はHTTPサーバーを取り除かれ、そのコンピューティングクラウドに依存してHTTP要求を処理することができる。または、ウェブサーバー296は、そのクラウドによってインスタンス化および管理され得る。そのクラウドはまた、移行されたアプリケーションサーバー298のロードバランシングおよびスケーリングを提供することができる。移行されたアプリケーション292のデータ階層は、SQL命令文および論理(恐らく修正された)をやはり使用するが、アプリケーションデータは、直ちに記憶され、クラウド管理されたデータベースインスタンス300から供される。クラウドに移行されたアプリケーション292をインストールするテナントは、やはり、そのデータベースを構成し、それの要件を指定することができるが、そのデータベースは、一般にはユーザー提供のスキーマまたは同様のものに従って、そのクラウド内の他のテナントのデータベースを提供する(および隔離する)データベースサービスによって提供される。移行ツールおよびそれによるアプリケーションへの他の起こり得る修正の詳細が、次に説明される。
[0028]図6は、移行ツール320を示す。本移行ツールは、1つまたは複数のコンピューター上で動作し、選択されたアプリケーション322の移行分析を実行し、場合によっては、選択されたアプリケーション322を修正および/または情報を出力して、開発者が選択されたアプリケーション322を手動で修正できるようにする。本ツールは、それぞれのクラウドの移行規則326のセットを有する移行ライブラリー324を使用する。たとえば、1セットの移行規則326である。ユーザーが移行ツール320を使用するとき、ターゲットクラウドプラットフォームが選択され、対応するセットの移行規則326が移行ツール320によって使用されて移行出力328を生成する。移行出力328は、改定されたソースコード、選択されたアプリケーション322に適用されることになるパッチ、報告通知コード、意味論、または、アーキテクチャの変更、あるいは、そのような出力の組合せでもよい。
[0029]図7は、規則または移行ライブラリー324のビューを示す。前述のように、異なるコンピューティングクラウドプラットフォームのために移行規則の異なるセットが存在し得る。例示的規則セット326Aは、コード規則350、オペレーティングシステム規則352、意味的規則354、SQLもしくはデータベース規則356、インストーラー規則358、および/または、その他を含み得る。
[0030]コード規則350は、以下の形の規則を含み得る:<状態><アクション>。状態は、コード命令文の構文、含まれるまたは除外されるべき特定のライブラリー、特定の記憶装置のタイプまたは場所、パスなどを指定することができる。共通コードパターンもまた、指定され得る。アクションは、異なり得る。いくつかのアクションは、コードを修正する、または事前定義されたコメントを挿入することができる。他のアクションは、移行報告ログに出力を追加することができる。コード規則350は、1セットの特定のコールまたは方法を認識し、それらをクラウド特有のアプリケーションプログラミングインターフェース(API)に変換することができる。規則は、特定のライセンスサーバーまたはライセンスライブラリーへのコールを認識することができる。規則はまた、そのターゲットコンピューティングクラウドで使用可能ではないネットワークサービス(たとえば、Active Directory(登録商標))に向けられたコードを認識することができる。対応する訂正アクション、報告および/または改正が、含まれ得る。
[0031]1セットのオペレーティングシステム構成規則352は、ターゲットアプリケーションが特定のオペレーティングシステムのために構築された環境のために提供され得る(移行の後、そのクラウド内のVMゲストの形で)。ある場合には、オペレーティングシステム規則は、そのオペレーティングシステムとインターフェースをとるアプリケーションコードに関し得る。コンピューティングクラウドが特定のオペレーティングシステムをテナントが指定またはインストールできるようにする場合、本規則は、そのオペレーティングシステムを直接調べることができる。たとえば、関連するコンピューティングクラウドがゲストオペレーティングシステム更新を自動的に処理する場合、ゲストオペレーティングシステムは、自動更新を不能にするように構成されるべきである。許可または特別なユーザーアカウントが、修正または追加され得る。一部のクラウドは、特定のオペレーティングシステムバージョン(リリースバージョン、32対64ビットバージョンなど)のみをサポートすることができるので、その規則はオペレーティングシステムの要求を識別することができ、アクションは、そのオペレーティングシステムの変更、そのオペレーティングシステムのアップグレード、または、それを行う必要性にフラグを立てることを含み得る。一部のクラウドでは、アプリケーションインスタンスまたはVMは複数の地理的時間帯に亘って動作し得るので、特定の時間帯設定、たとえば協定世界時(UTC)などにオペレーティングシステム時間帯設定をセットすることが、一貫性を保つために、望ましいことがある。さらに、対応する訂正またはパッチが、本規則に含まれ得る。
[0032]意味的規則354は、ターゲットアプリケーションのアーキテクチャまたは設計の態様を指定することができる。たとえば、前述のように、いくつかのアプリケーション機能が、コンピューティングクラウドでもはやサポートされていないことがある。意味的規則354は、ロードバランサー、スケーリング論理、データバックアップまたはミラーリングなどを識別するための手掛かりを指定することができる。手掛かりは、ビルドマニフェスト(build manifest)、キーワード認識、または、既製のもしくはオープンソースの構成要素の知られている表示に由来し得る。手掛かりはまた、コードをコンパイルするステップ、および、そのコードの特色を分析もしくはプロファイリングするステップを含み得る、自動コード分析に由来し得る。認識するための意味的プロパティは、再始動論理(クラウドによって処理されることになる)、リソース使用、およびフェイルオーバー論理を含み得る。一部のクラウドでは、VMはそのクラウドによって自由に動かす(停止および再始動する)ことができるので、その規則は、ローカル記憶装置に依存するアプリケーションの部分を認識し、そのアプリケーションの状態を確実に保持するためにクラウドベースの永続的記憶装置の使用を推奨することができる。一実施形態で、規則は、アプリケーション構成要素の1つのインスタンスによって記憶された状態が、そのクラウドによって自動的に始動された新しいインスタンスによって認識される必要があることを認識することができる。他の意味的規則は、たとえばそれのホストVMを再開するときに、アプリケーションのインスタンスがそれがその中断より前のそれの状態と一貫性を保った状態を有することを確認できるようにするために、いつホストオペレーティングシステムがスリープまたは一時停止状態に入った(または再始動した)か、を識別するためのフックを追加する(またはその追加を推奨する)ことができる。
[0033]記憶装置またはデータベース規則356は、そのコンピューティングクラウドの部分であるデータベースサービスのインスタンスでもよい、クラウドベースのデータベースサーバーへの通常のデータベースサーバーからの変更に関する規則を含み得る。これらの規則はまた、特定のデータベースから、クラウド内のブロブ記憶装置、クラウド内のキー値記憶装置、表サービスからの単純な表などの別の形の記憶装置に変更するステップを含み得る。一般に、前述のように、アプリケーションをホストするVMでの記憶からクラウドベースの記憶にそのアプリケーションの記憶戦略を変更することを試みる規則が存在し得る。他のデータベース規則356は、特定のSQLコール、データベースミラーリング論理、を探すことができる。接続規則が、データベーストランザクション中により頻繁な接続検査をもたらすために、含まれ得る。たとえば、一部のクラウドベースのデータベースサービスは、頻繁に、新しいインスタンスをスピンアップ(spin up)し、アプリケーションのデータベースの古いインスタンスを遮断することがあり、元のアプリケーションは、接続がコードの範囲を通して使用可能なままであると仮定し得るが、一方で、接続検査は、クラウドに移行されるときに役立つ。もう1つの実施形態で、クラウドベースのデータベースは、複数の表に亘るトランザクションを保証しないことがあり、規則は、複数の表を含むSQLトランザクションにフラグを立てることができる。サポートされないまたは必要とされないSQLコールもまた、認識され得る。
[0034]インストーラー規則358は、ターゲットアプリケーションのインストールパッケージ形式を調べ、ターゲットクラウドでのインストールに関する規則を適用することができる。たとえば、コンピューティングクラウドがそのアプリケーションをホストするVMを制御する場合、様々なインストール構成要素が再配置される必要があることがあり、元のアプリケーションが存在すると仮定する構成要素(たとえば、アセンブリまたはライブラリー)が、実際には、移行されるアプリケーションのインストレーションプロセスに含まれる必要があることがある。一部のアプリケーション構成要素の設定は、クラウドベースの環境にインストールされるときに変更される必要があることがある。一実施形態では、インストールパッケージ全体が、そのクラウドと互換性がないものとしてフラグを立てられ得る。もう1つの実施形態で、インストール規則は、そのアプリケーションのインストールパッケージをある形式からそのターゲットクラウドと互換性のある形式に変換することができる。規則は、そのアプリケーションをインストールするために、そのクラウドにアクセスするために必要とされる認証情報を追加することもできる。さらに、対応するアクション、訂正および/または助言が、その規則で含まれ得る。
[0035]他のタイプの規則もまた、含まれ得る。一実施形態で、その移行ライブラリーは、関連するクラウドに関するコスト情報を含み得る。そのような情報は、そのクラウド内でどのようにコストが生じるかと、クラウドリソースの様々なユニットのコストとを説明することができる。本規則は、順に、そのコスト情報にアクセスしてターゲットクラウド内のアプリケーションの潜在的コストに関する分析を実行することができる。そのような分析が関わり得る。一実施形態で、そのコスト情報は、ターゲットクラウド内のライセンス供与権または機会に関する情報を含み得る。これらの規則は、適用されるとき、そのアプリケーションの構成要素(たとえば、ゲストオペレーティングシステム、データベースインスタンスなど)の新しいライセンス供与協定を捜し出す勧告、あるいは、ライセンス要件をカバーし、それによってライセンスの料金を別個に支払う必要を回避することになるクラウドのオペレーター(または他のベンダー)からのライセンス提供を移行報告に追加することができる。
[0036]前述の多数の規則は、限定的ではなく、他の特定の規則および他のカテゴリーの規則が使用され得る。さらに、規則は単に、コンピューティングクラウドにおけるニーズおよび優先に関する情報を表す便利な形式である。本明細書で「規則」という用語は、任意のアプリケーションの(任意のアプリケーションに適用可能である)元の状態、またはそれの環境、および、そのアプリケーションがコンピューティングクラウド内で実行されることになる場合に関連する特定のコンピューティングクラウドの対応する態様を説明する、任意の情報を含むように定義される。本明細書で「規則」はまた、実際の修正、パッチもしくは報告の生成、または、使用することができる他の情報を含めて、その規則によって指定される状態がターゲットアプリケーション内に存在すると判定されるときに取られ得る任意のアクションを含むように定義される。したがって、実際には、規則は、宣言型または論理言語での命令文、スクリプティング言語を含む通常の手続きコード、コンパイル済みコードなどを含む、多数の形を取り得る。規則のタイプおよび特質は、その規則セットに対応する特定のコンピューティングクラウドに応じて、ある規則セット326と次の規則セットでは異なり得る。一実施形態では、1つのみの規則セット326が存在し、移行ライブラリー324は、コンピューティングクラウドの1つの実装形態のみを目的とする。さらに別の実施形態で、規則は、実行可能ツールの部分として実装される。
[0037]図8は、移行ツール320によって実行されるプロセスを示す。ステップ380で、移行ツール320のユーザーは、コンピューティングクラウドに移行されることになるターゲットソフトウェアまたはアプリケーションを指定する(そのツールおよび規則は、任意のアプリケーションに適用可能であるように設計される)。ステップ382で、移行ツール320が、ターゲットアプリケーションにアクセスする。これは、パッケージ形式を開くステップ、ソースコードファイルおよび構成ファイルを読み取るステップ、VM画像をマウントするステップ、または、そのアプリケーションを調査するための他の手段を伴い得る。移行ツール320は、要素間の関係、依存状態、関連するファイル(たとえば、マニフェストおよびビルドスクリプト)などを識別することができる。ステップ384で、関連する規則セットが、規則ライブラリーからロードされる。ステップ386で、そのアプリケーションの様々な構成要素がパーズ(parse、構文解析)され、関連する規則が適用される。ステップ388で、出力が生成される。その出力は、パッチ、コード修正、推奨、または、その他を含む、前述の様々な形を取り得る。
[0038]図9は、移行ツール320によって使用される読取りツール400の例示的セットを示す。アプリケーションの内容にアクセスするために、移行ツール320は、VM画像マウンター402、コードパーサー(コード構文解析ツール)404、インストールパッケージインスペクター406、アセンブリリーダー408、スキーマリーダー410、スクリプトリーダー412もしくはパーサー、コンパイラー、ソフトウェア開発環境、および/または、移行されるアプリケーションのタイプに関連する任意の他の知られている技法を使用することができる。VM画像マウンター402は、VM画像形式を読み取り、ファイルシステムにその画像をマウントするように構成され得る。
結論
[0039]前述の実施形態および特徴は、揮発性または非揮発性コンピューターまたはデバイス可読媒体に記憶された情報の形で実現することができる。これは、光記憶装置(たとえば、コンパクトディスク読取り専用メモリー(CD−ROM))、磁気媒体、フラッシュ読取り専用メモリー(ROM)、または、デジタル情報を記憶する任意の現在のもしくは未来の手段などの媒体を少なくとも含むと考えられる。その記憶された情報は、機械実行可能命令(たとえば、コンパイル済み実行可能2進コード)、ソースコード、バイトコード、または、コンピューティングデバイスが前述の様々な実施形態を実行することを可能にするまたはそのようにコンピューティングデバイスを構成するために使用することができる任意の他の情報の形でもよい。これはまた、一実施形態を実行するプログラムの実行中に中央処理装置(CPU)命令などの情報を記憶するランダムアクセスメモリ(RAM)および/または仮想メモリーなどの揮発性メモリーを少なくとも含み、同様に、プログラムまたは実行ファイルをロードおよび実行できるようにする情報を記憶する非揮発性媒体を含むと考えられる。それらの実施形態および特徴は、携帯用デバイス、ワークステーション、サーバー、モバイルワイヤレスデバイスなどを含む任意のタイプのコンピューティングデバイスで実行することができる。

Claims (15)

  1. インターネットを介するクライアントによるアクセスのために任意のアプリケーションをホストするアプリケーションホスティングクラウドにアプリケーションを移行する方法であって、
    前記アプリケーションホスティングクラウドに移行するためのターゲットアプリケーションを選択するステップと、
    前記ターゲットアプリケーションを移行ツールに渡すステップと、
    前記ターゲットアプリケーションに適用可能な移行規則を識別するために前記移行ツールで前記ターゲットアプリケーションをパーズおよび分析するステップと、
    前記アプリケーションホスティングクラウドで実行するために前記ターゲットアプリケーションを修正するよう、前記識別された移行規則を前記ターゲットアプリケーションに適用するステップと
    を含む、方法。
  2. 前記識別された移行規則を適用する前記ステップがまた、前記アプリケーションホスティングクラウドで実行するための前記ターゲットアプリケーションへの提案される修正を識別する報告を生成する、請求項1に記載の方法。
  3. 前記ツールが、複数の移行規則を有する規則ライブラリーを備え、各複数の移行規則が異なるアプリケーションホスティングクラウドに対応し、前記方法が、前記識別された移行規則が前記選択された複数の移行規則の中からのみ選択されるように、前記複数の移行規則のうちの1つを選択するステップをさらに含む、請求項1に記載の方法。
  4. 前記アプリケーションホスティングクラウドが、前記任意のアプリケーショのインスタンスをインスタンス化および終了することによってそこでホストされる前記任意のアプリケーションの一定のロードバランシングを実行し、識別された規則が前記ロードバランシングに関する意味的動きを含む状態を含む、請求項1に記載の方法。
  5. 前記ターゲットアプリケーションが、インストールパッケージを備え、前記パーズおよび分析するステップが、前記ターゲットアプリケーションの構成設定を識別する前記インストールパッケージを開くステップを含み、前記識別された規則のうちの1つが構成設定を修正する、請求項4に記載の方法。
  6. 前記識別された規則のうちの1つがSQL(構造化照会言語)コードの記述およびコード修正を含み、前記識別された移行規則を適用する前記ステップが、前記記述に一致する前記ターゲットアプリケーションのコードの一部を変更するために前記識別された規則のうちの前記1つを適用するステップを含み、変更されるより前の前記コードは、前記アプリケーションホスティングクラウド内で正確に実行することができない、請求項1に記載の方法。
  7. 前記識別された規則が、前記アプリケーションホスティングクラウドで持続するデータに関する規則と、前記クラウド内の意味的動きに関する規則とを含む、請求項1に記載の方法。
  8. 前記識別された規則を適用する前記ステップが、前記アプリケーションホスティングクラウドによって処理される機能を実行する前記ターゲットアプリケーションの部分を識別する、請求項7に記載の方法。
  9. アプリケーションをクラウドに移行する方法であって、
    前記クラウドに特有の1セットの移行規則にアクセスするステップであり、前記移行規則が、前記クラウド内でホストされるときにアプリケーションが有すべきプロパティ、および、前記アプリケーションへの対応する訂正を識別する、ステップと、
    前記クラウド内ではないハードウェアプラットフォームで実行するように構成されたアプリケーションに前記セットの移行規則を適用するステップであり、前記適用が、前記クラウド内で実行するために前記アプリケーションを修正するための修正および/または推奨を生成する、ステップと、
    前記アプリケーションを修正して前記クラウド内で実行するために前記修正および/または推奨を使用するステップと
    を含む、方法。
  10. 前記規則が、固有のプラットフォームリソースの使用から前記クラウドによって提供されるリソースの使用に転換することができる前記アプリケーション内の論理を識別する、請求項9に記載の方法。
  11. 前記リソースが、ロードバランシングリソース、データベースサービスリソース、データ記憶サービス、またはスケーリングリソースを備える、請求項10に記載の方法。
  12. 前記アプリケーションが、ウェブフロントエンドを少なくとも部分的に備え、前記修正および/または推奨が、クライアント状態が前記ウェブフロントエンドによってどのように保持されるかに関する、請求項9に記載の方法。
  13. SQL論理またはコードを識別するステップと、前記クラウド内の任意のアプリケーションに提供されるデータベースサービスの対応する規則を適用するステップとをさらに含み、前記データベースサービスが前記任意のアプリケーションのデータベースインスタンスを管理する、請求項9に記載の方法。
  14. 前記セットの規則が、前記アプリケーションホスティングクラウドで持続するデータに関する規則と、前記クラウド内の意味的動きに関する規則とを含む、請求項9に記載の方法。
  15. 前記アプリケーションが仮想機械画像で記憶され、前記規則が前記仮想機械画像をマウントすることによって適用される、請求項9に記載の方法。
JP2014518572A 2011-06-29 2012-05-30 仮想機械移行ツール Active JP6030646B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/171,446 US9176773B2 (en) 2011-06-29 2011-06-29 Virtual machine migration tool
US13/171,446 2011-06-29
PCT/US2012/039963 WO2013002937A2 (en) 2011-06-29 2012-05-30 Virtual machine migration tool

Publications (3)

Publication Number Publication Date
JP2014523026A true JP2014523026A (ja) 2014-09-08
JP2014523026A5 JP2014523026A5 (ja) 2015-07-09
JP6030646B2 JP6030646B2 (ja) 2016-11-24

Family

ID=47391778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014518572A Active JP6030646B2 (ja) 2011-06-29 2012-05-30 仮想機械移行ツール

Country Status (9)

Country Link
US (3) US9176773B2 (ja)
EP (1) EP2726976B1 (ja)
JP (1) JP6030646B2 (ja)
KR (2) KR101881625B1 (ja)
CN (1) CN103620551B (ja)
AU (4) AU2012276003B2 (ja)
CA (1) CA2840437C (ja)
TW (1) TWI579769B (ja)
WO (1) WO2013002937A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117273A (ja) * 2015-12-25 2017-06-29 株式会社ユーズテック ミドルウェア
JP2021039393A (ja) * 2019-08-30 2021-03-11 株式会社日立製作所 パッケージ化支援システムおよびパッケージ化支援方法

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130085810A1 (en) * 2011-09-29 2013-04-04 Volker Driesen Federated business configuration and scoping
US8761101B1 (en) * 2011-10-13 2014-06-24 Excelfore Corporation Network based machine-to-machine system for monitoring
US9152725B2 (en) * 2011-11-04 2015-10-06 Salesforce.Com, Inc. Computer implemented methods and apparatus for configuring and performing a custom rule to process a preference indication
US8627152B1 (en) * 2011-11-14 2014-01-07 Amazon Technologies, Inc. Simultaneous error detection during VM import
US9772830B2 (en) * 2012-01-19 2017-09-26 Syntel, Inc. System and method for modeling cloud rules for migration to the cloud
US9021096B2 (en) * 2012-01-23 2015-04-28 International Business Machines Corporation Performing maintenance operations on cloud computing node without requiring to stop all virtual machines in the node
US8930542B2 (en) * 2012-01-23 2015-01-06 International Business Machines Corporation Dynamically building a set of compute nodes to host the user's workload
US9213580B2 (en) * 2012-01-27 2015-12-15 MicroTechnologies LLC Transportable private cloud computing platform and associated method of use
US9294552B2 (en) 2012-01-27 2016-03-22 MicroTechnologies LLC Cloud computing appliance that accesses a private cloud and a public cloud and an associated method of use
US9465654B2 (en) * 2012-02-07 2016-10-11 Veritas Technologies Llc Intelligent failover or shutdown of an application using input/output shipping in response to loss of connectivity to data storage in a cluster
US20130339424A1 (en) * 2012-06-15 2013-12-19 Infosys Limited Deriving a service level agreement for an application hosted on a cloud platform
US10031782B2 (en) * 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US10379910B2 (en) 2012-10-26 2019-08-13 Syntel, Inc. System and method for evaluation of migration of applications to the cloud
US9195294B2 (en) 2012-11-13 2015-11-24 International Business Machines Corporation Cooperatively managing enforcement of energy related policies between virtual machine and application runtime
US9189619B2 (en) * 2012-11-13 2015-11-17 International Business Machines Corporation Runtime based application security and regulatory compliance in cloud environment
US10489214B2 (en) 2012-11-16 2019-11-26 Dell Products L.P. System and method for application deployment in cloud
KR102083289B1 (ko) * 2013-01-29 2020-03-02 삼성전자주식회사 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치
US20140214886A1 (en) * 2013-01-29 2014-07-31 ParElastic Corporation Adaptive multi-client saas database
US11907496B2 (en) * 2013-02-08 2024-02-20 cloudRIA, Inc. Browser-based application management
KR101427562B1 (ko) * 2013-03-08 2014-08-07 주식회사 인프라웨어테크놀러지 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR101447191B1 (ko) 2013-04-03 2014-10-06 에스케이텔레콤 주식회사 단말장치 및 단말장치의 동작 방법
US10469558B2 (en) 2013-04-18 2019-11-05 Microsoft Technology Licensing, Llc Website server request rerouting
JP5911448B2 (ja) * 2013-05-10 2016-04-27 株式会社日立製作所 移行支援装置、移行支援方法およびプログラム
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US10776244B2 (en) * 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9294482B2 (en) * 2013-07-25 2016-03-22 Oracle International Corporation External platform extensions in a multi-tenant environment
US10860529B2 (en) * 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US20160041996A1 (en) 2014-08-11 2016-02-11 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US9483646B2 (en) * 2013-09-19 2016-11-01 Remotium, Inc. Data exfiltration prevention from mobile platforms
US9628550B1 (en) * 2013-10-24 2017-04-18 Ca, Inc. Lightweight software management shell
US10795539B2 (en) 2013-12-10 2020-10-06 International Business Machines Corporation Visualizing migration of a resource of a distributed computing environment
EP3090341A1 (en) * 2013-12-30 2016-11-09 Brennan, Edward Colin System and method for allocating resources and managing a cloud based computer system
EP3111323A1 (en) 2014-02-25 2017-01-04 Flexion Mobile Limited System and method to modify run-time behavior of an application by modification of machine-readable instructions
US9703811B2 (en) * 2014-06-14 2017-07-11 Accenture Global Services Limited Assessing database migrations to cloud computing systems
US9350682B1 (en) 2014-07-30 2016-05-24 Amazon Technologies, Inc. Compute instance migrations across availability zones of a provider network
US9836332B2 (en) * 2014-07-31 2017-12-05 Corent Technology, Inc. Software defined SaaS platform
US9632887B2 (en) 2014-09-19 2017-04-25 International Business Machines Corporation Automatic client side seamless failover
CN104281484B (zh) * 2014-09-23 2018-04-10 华为技术有限公司 一种虚拟机迁移方法和装置
US9684470B2 (en) 2014-09-30 2017-06-20 International Business Machines Corporation Rapid migration to managed clouds with multiple change windows
US10067800B2 (en) * 2014-11-06 2018-09-04 Vmware, Inc. Peripheral device sharing across virtual machines running on different host computing systems
US10411960B1 (en) * 2014-11-12 2019-09-10 Amazon Technologies, Inc. Detaching instances from auto-scaling group
US9647889B1 (en) 2014-11-12 2017-05-09 Amazon Technologies, Inc. Standby instances for auto-scaling groups
US9612765B2 (en) 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
CN104468759B (zh) * 2014-11-27 2018-06-01 中国联合网络通信集团有限公司 PaaS平台中实现应用迁移的方法和装置
US20160162209A1 (en) * 2014-12-05 2016-06-09 Hybrid Logic Ltd Data storage controller
CN104598525B (zh) * 2014-12-25 2018-11-20 华为技术有限公司 一种应用复制方法、设备及系统
US10484297B1 (en) 2015-03-16 2019-11-19 Amazon Technologies, Inc. Automated migration of compute instances to isolated virtual networks
US10635779B2 (en) * 2015-07-29 2020-04-28 Siemens Healthcare Gmbh Devices, methods and computer readable mediums for flexible delivery and deployment of medical applications
WO2017058222A1 (en) * 2015-09-30 2017-04-06 Hewlett Packard Enterprise Development Lp Data transfer requests
CN105338079B (zh) * 2015-10-27 2019-10-11 北京金山安全软件有限公司 一种下载主题包的方法及装置
WO2017095382A1 (en) * 2015-11-30 2017-06-08 Hewlett Packard Enterprise Development Lp Application migration system
CN105589746B (zh) * 2015-12-30 2019-05-10 中国银联股份有限公司 虚拟机迁移记录管理方法及系统
US10574523B2 (en) 2016-01-15 2020-02-25 RightScale Inc. Systems and methods for cloud-deployments with imperatives
US10127066B1 (en) 2016-03-31 2018-11-13 Amazon Technologies, Inc. Server synchronization using continuous block migration in provider network environments
US10133593B1 (en) * 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
US10616311B2 (en) 2016-06-03 2020-04-07 At&T Intellectual Property I, L.P. Facilitating management of communications systems
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10409589B2 (en) 2016-07-12 2019-09-10 Accenture Global Solutions Limited Application centric continuous integration and delivery with automated service assurance
US11223537B1 (en) * 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US11194558B2 (en) * 2016-10-14 2021-12-07 Accenture Global Solutions Limited Application migration system
US10360242B2 (en) 2016-12-01 2019-07-23 Bank Of America Corporation Automated server analysis and patching for enabling relational database migration to a cloud network
CN106776143A (zh) * 2016-12-27 2017-05-31 北京奇虎科技有限公司 一种针对终端应用程序的镜像备份的方法及终端设备
JP2018173920A (ja) * 2017-03-31 2018-11-08 富士通株式会社 制御プログラム、制御方法および制御装置
CN107122208A (zh) * 2017-04-18 2017-09-01 深圳市金立通信设备有限公司 一种数据转移的方法及终端
KR102166336B1 (ko) * 2017-05-15 2020-10-15 삼성전자주식회사 소프트웨어 플랫폼을 제공하는 서버 및 그 동작방법
US10474438B2 (en) * 2017-07-21 2019-11-12 Accenture Global Solutions Limited Intelligent cloud engineering platform
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN109729121B (zh) * 2017-10-31 2022-05-06 阿里巴巴集团控股有限公司 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
CN109828786B (zh) * 2017-11-23 2022-05-13 中标软件有限公司 一种基于代码级支持sw_64架构的自动化工具
CN110134489B (zh) * 2018-02-08 2023-10-13 中兴通讯股份有限公司 应用迁移方法及装置、系统、存储介质、应用上云工具
US10785129B2 (en) 2018-06-27 2020-09-22 Oracle International Corporation Computerized methods and systems for maintaining and modifying cloud computer services
US11115344B2 (en) 2018-06-27 2021-09-07 Oracle International Corporation Computerized methods and systems for migrating cloud computer services
US10911367B2 (en) 2018-06-27 2021-02-02 Oracle International Corporation Computerized methods and systems for managing cloud computer services
US11190599B2 (en) 2018-06-27 2021-11-30 Oracle International Corporation Method and system for cloud service pre-provisioning
US11481616B2 (en) * 2018-06-29 2022-10-25 Microsoft Technology Licensing, Llc Framework for providing recommendations for migration of a database to a cloud computing system
US10846070B2 (en) 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
US11089098B2 (en) * 2018-07-24 2021-08-10 Vmware, Inc. Migration as a service-based server and agent applications migration
US11374971B2 (en) * 2018-08-24 2022-06-28 Micro Focus Llc Deception server deployment
TWI699657B (zh) * 2018-08-31 2020-07-21 碁曄科技股份有限公司 雲端遷移系統
CN109710269A (zh) * 2018-09-07 2019-05-03 天翼电子商务有限公司 一种单应用离散式集群部署装置和方法
US10944640B2 (en) * 2018-11-09 2021-03-09 Microsoft Technology Licensing, Llc Generating and implementing a platform-neutral cloud-native application model
US11099910B2 (en) 2018-11-13 2021-08-24 Microsoft Technology Licensing, Llc Deploying cloud-native services across control planes
US20200244772A1 (en) * 2019-01-30 2020-07-30 Huawei Technologies Co., Ltd. Method and system for cloud application and service integration using pattern-based discovery
US11494273B2 (en) 2019-04-30 2022-11-08 Commvault Systems, Inc. Holistically protecting serverless applications across one or more cloud computing environments
US11907743B2 (en) 2019-05-21 2024-02-20 Oracle International Corporation System and method for relocating customer virtual machine instances in a multi-tenant cloud service
US11106482B2 (en) 2019-05-31 2021-08-31 Microsoft Technology Licensing, Llc Connectivity migration in a virtual execution system
US11258881B2 (en) * 2019-07-12 2022-02-22 Nutanix, Inc. Mobility of user applications across cloud infrastructures
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11429631B2 (en) * 2019-11-06 2022-08-30 Servicenow, Inc. Memory-efficient programmatic transformation of structured data
US11531683B2 (en) * 2019-11-06 2022-12-20 Servicenow, Inc. Unified application programming interface for transformation of structured data
WO2021087858A1 (en) * 2019-11-07 2021-05-14 Microsoft Technology Licensing, Llc Web application component migration to a cloud computing system
US12014195B2 (en) 2019-12-12 2024-06-18 Cognizant Technology Solutions India Pvt. Ltd. System for providing an adaptable plugin framework for application transformation to cloud
US11899570B2 (en) 2019-12-12 2024-02-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for optimizing assessment and implementation of microservices code for cloud platforms
US11237941B2 (en) * 2019-12-12 2022-02-01 Cognizant Technology Solutions India Pvt. Ltd. System and method for application transformation to cloud based on semi-automated workflow
US11755394B2 (en) * 2020-01-31 2023-09-12 Salesforce, Inc. Systems, methods, and apparatuses for tenant migration between instances in a cloud based computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
CN111459416B (zh) * 2020-04-24 2021-02-23 杭州网银互联科技股份有限公司 一种基于分布式存储的热迁移系统及其迁移方法
US20220036272A1 (en) * 2020-07-29 2022-02-03 Mythics, Inc. Migration evaluation system and method
US12039365B2 (en) 2021-03-30 2024-07-16 International Business Machines Corporation Program context migration
CN113515306B (zh) * 2021-04-26 2023-04-25 建信金融科技有限责任公司 一种系统移植的方法及装置
KR102328173B1 (ko) * 2021-07-05 2021-11-17 (주)다윈아이씨티 애플리케이션 마이그레이션 처리 방법, 장치 및 시스템
GB2622346A (en) * 2021-07-27 2024-03-13 Hexaware Tech Limited System and method for batch and scheduler migration in an application environment migration
US11704118B2 (en) 2021-08-19 2023-07-18 International Business Machines Corporation Application modernization
US20230118880A1 (en) * 2021-10-15 2023-04-20 Red Hat, Inc. Copying computing resources between execution environments
US11838221B2 (en) * 2022-01-13 2023-12-05 Verizon Patent And Licensing Inc. Systems and methods for multi-cloud virtualized instance deployment and execution
CN114924846B (zh) * 2022-07-22 2022-11-15 浙江云针信息科技有限公司 基于云操作系统的虚拟机迁移方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140845A (ja) * 2005-11-17 2007-06-07 Hitachi Ltd プログラム管理方法及びプログラムの移行支援装置
WO2009116288A1 (ja) * 2008-03-19 2009-09-24 株式会社インフォース データベースシステム移行方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107589B1 (en) * 2001-09-28 2006-09-12 Siebel Systems, Inc. Infrastructure for the automation of the assembly of schema maintenance scripts
US7503042B2 (en) 2002-03-08 2009-03-10 Microsoft Corporation Non-script based intelligent migration tool capable of migrating software selected by a user, including software for which said migration tool has had no previous knowledge or encounters
US20030188036A1 (en) 2002-03-22 2003-10-02 Sun Microsystems, Inc. Methods and systems for program migration
US8051410B2 (en) * 2003-12-15 2011-11-01 Evolveware, Inc. Apparatus for migration and conversion of software code from any source platform to any target platform
US7483757B2 (en) 2005-07-22 2009-01-27 Honeywell International, Inc. Control system migration
TW200725410A (en) * 2005-12-27 2007-07-01 Nat Univ Chung Cheng Universal BSP tool applied to embedded system to assist porting and application method thereof
US8429645B2 (en) 2007-08-14 2013-04-23 International Business Machines Corporation Method for optimizing migration of software applications to address needs
EP2223278A4 (en) 2007-12-20 2011-11-16 Hewlett Packard Development Co MODELING A COMPUTER BASED COMPANY PROCESS AND SIMULATING OPERATION
US7506037B1 (en) * 2008-05-13 2009-03-17 International Business Machines Corporation Method determining whether to seek operator assistance for incompatible virtual environment migration
US8931038B2 (en) * 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8238256B2 (en) * 2008-09-08 2012-08-07 Nugent Raymond M System and method for cloud computing
US8321862B2 (en) 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US8751627B2 (en) 2009-05-05 2014-06-10 Accenture Global Services Limited Method and system for application migration in a cloud
US20100332629A1 (en) * 2009-06-04 2010-12-30 Lauren Ann Cotugno Secure custom application cloud computing architecture
TW201044185A (en) * 2009-06-09 2010-12-16 Zillians Inc Virtual world simulation systems and methods utilizing parallel coprocessors, and computer program products thereof
US20100318609A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US9354944B2 (en) * 2009-07-27 2016-05-31 Advanced Micro Devices, Inc. Mapping processing logic having data-parallel threads across processors
US8572625B2 (en) * 2009-08-04 2013-10-29 International Business Machines Corporation Method and system for application migration using per-application persistent configuration dependency
US8316125B2 (en) 2009-08-31 2012-11-20 Red Hat, Inc. Methods and systems for automated migration of cloud processes to external clouds
US8321857B1 (en) 2009-09-14 2012-11-27 Symantec Corporation Automated generation of application data for application distribution
US8850423B2 (en) * 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US20110270968A1 (en) * 2010-04-30 2011-11-03 Salsburg Michael A Decision support system for moving computing workloads to public clouds
US8918439B2 (en) * 2010-06-17 2014-12-23 International Business Machines Corporation Data lifecycle management within a cloud computing environment
CA2804864C (en) * 2010-07-09 2018-11-20 State Street Corporation Systems and methods for private cloud computing
US8645529B2 (en) * 2010-10-06 2014-02-04 Infosys Limited Automated service level management of applications in cloud computing environment
CN102033909B (zh) * 2010-11-19 2012-04-25 南京大学 支持弹性云计算平台开发的资源外包方法
CN102098343A (zh) * 2011-02-12 2011-06-15 浪潮(北京)电子信息产业有限公司 云计算操作系统中资源信息的保存、获取方法和系统
JP5678778B2 (ja) * 2011-03-31 2015-03-04 富士通株式会社 システムおよびマイグレーション方法
US9495649B2 (en) * 2011-05-24 2016-11-15 International Business Machines Corporation Workload-to-cloud migration analysis based on cloud aspects
US9037723B2 (en) * 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
US9054917B2 (en) * 2012-03-08 2015-06-09 Empire Technology Development Llc Secure migration of virtual machines
US10425411B2 (en) * 2012-04-05 2019-09-24 Arizona Board Of Regents On Behalf Of Arizona State University Systems and apparatuses for a secure mobile cloud framework for mobile computing and communication
US9282166B2 (en) * 2012-11-29 2016-03-08 International Business Machines Corporation Management infrastructure analysis for cloud migration
US9692632B2 (en) * 2012-11-29 2017-06-27 International Business Machines Corporation Migration to managed clouds
US9444896B2 (en) * 2012-12-05 2016-09-13 Microsoft Technology Licensing, Llc Application migration between clouds
US9430268B2 (en) * 2014-05-02 2016-08-30 Cavium, Inc. Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via NVMe controllers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140845A (ja) * 2005-11-17 2007-06-07 Hitachi Ltd プログラム管理方法及びプログラムの移行支援装置
WO2009116288A1 (ja) * 2008-03-19 2009-09-24 株式会社インフォース データベースシステム移行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016011741; 井上英明: 'NTTデータが「COBOLクラウド」レガシーアプリの活用を促進' 日経コンピュータ No.776, 20110217, p.17, 日経BP社 Nikkei Business Publications,Inc. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117273A (ja) * 2015-12-25 2017-06-29 株式会社ユーズテック ミドルウェア
JP2021039393A (ja) * 2019-08-30 2021-03-11 株式会社日立製作所 パッケージ化支援システムおよびパッケージ化支援方法
US11144292B2 (en) 2019-08-30 2021-10-12 Hitachi, Ltd. Packaging support system and packaging support method
JP7231518B2 (ja) 2019-08-30 2023-03-01 株式会社日立製作所 パッケージ化支援システムおよびパッケージ化支援方法

Also Published As

Publication number Publication date
CA2840437A1 (en) 2013-01-03
JP6030646B2 (ja) 2016-11-24
CA2840437C (en) 2020-05-05
EP2726976B1 (en) 2022-05-25
EP2726976A4 (en) 2018-01-03
WO2013002937A2 (en) 2013-01-03
CN103620551A (zh) 2014-03-05
US9569259B2 (en) 2017-02-14
US9858114B2 (en) 2018-01-02
US20160034302A1 (en) 2016-02-04
KR101946773B1 (ko) 2019-05-21
KR101881625B1 (ko) 2018-08-24
AU2017200642B2 (en) 2018-04-26
TW201301138A (zh) 2013-01-01
EP2726976A2 (en) 2014-05-07
AU2017200648A1 (en) 2017-02-23
US20130007216A1 (en) 2013-01-03
KR20180085058A (ko) 2018-07-25
WO2013002937A3 (en) 2013-04-04
KR20140041604A (ko) 2014-04-04
AU2017200648B2 (en) 2018-07-26
US20170139743A1 (en) 2017-05-18
CN103620551B (zh) 2018-04-17
AU2017200645A1 (en) 2017-02-23
AU2012276003B2 (en) 2017-02-23
US9176773B2 (en) 2015-11-03
TWI579769B (zh) 2017-04-21
AU2017200642A1 (en) 2017-02-23
AU2017200645B2 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
JP6030646B2 (ja) 仮想機械移行ツール
AU2012276003A1 (en) Virtual machine migration tool
US11178207B2 (en) Software version control without affecting a deployed container
US20210349706A1 (en) Release lifecycle management system for multi-node application
US11461125B2 (en) Methods and apparatus to publish internal commands as an application programming interface in a cloud infrastructure
US11698781B2 (en) System and method for upgrading kernels in cloud computing environments
US9996374B2 (en) Deployment and installation of updates in a virtual environment
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US8903943B2 (en) Integrating cloud applications and remote jobs
US10721125B2 (en) Systems and methods for update propagation between nodes in a distributed system
US20140007092A1 (en) Automatic transfer of workload configuration
US12039312B2 (en) Deployment of a multi-technology-stack application
US20240333716A1 (en) Cloud-based dynamic access to private resources
US11681522B2 (en) Self-healing build pipelines for an application build process across distributed computer platforms
Sundqvist Guidelines to Convert Legacy Applications into Docker Container Services
US10200501B1 (en) Program code allocation based on processor features
Arumilli SQL the One: Microsoft SQL Server Interview Guide

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150511

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20150515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161020

R150 Certificate of patent or registration of utility model

Ref document number: 6030646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250