JPWO2019159939A1 - サービス連携装置、および、サービス連携方法 - Google Patents
サービス連携装置、および、サービス連携方法 Download PDFInfo
- Publication number
- JPWO2019159939A1 JPWO2019159939A1 JP2020500504A JP2020500504A JPWO2019159939A1 JP WO2019159939 A1 JPWO2019159939 A1 JP WO2019159939A1 JP 2020500504 A JP2020500504 A JP 2020500504A JP 2020500504 A JP2020500504 A JP 2020500504A JP WO2019159939 A1 JPWO2019159939 A1 JP WO2019159939A1
- Authority
- JP
- Japan
- Prior art keywords
- order
- execution
- unit
- cooperation
- management
- 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
Links
Images
Classifications
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
-
- 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]
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- 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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- 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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
Description
非特許文献1には、複数事業者間でサービスを連携させるときに、連携対象となるサービス仕様を定義したカタログを用意し、そのカタログの記述方法として「構成要素」と「アクションルール」とを分離させるアーキテクチャが記載されている。これにより、新たな連携対象サービスやAPIへの追従を柔軟に実現する。
本発明は、複数のサービスを連携させた連携サービスを実行させるための連携オーダを受け付けるオーダ受付部と、
前記オーダ受付部が受け付けた連携オーダをオーダ管理DBに登録するオーダ管理部と、
前記オーダ管理DBに登録された連携オーダを読み出して実行することで、前記連携サービスの使用リソース上に生成された前記連携サービスのインスタンスに対する処理を行うオーダ実行部と、
同じインスタンスを処理対象とするために競合する複数の連携オーダが前記オーダ実行部によって同時期に実行される前に、競合する複数の連携オーダのうちの先に実行が開始された連携オーダを優先しつつ、その他の連携オーダを実行させないことで、連携オーダ間の排他制御を行う排他制御部とを有することを特徴とする。
前記排他制御部が、前記オーダ受付部が新たな連携オーダを受け付けたときに、競合する他の実行状態である連携オーダが存在するときは、前記新たな連携オーダを前記オーダ管理DBに登録しないようにすることを特徴とする。
前記排他制御部が、前記オーダ管理DBから所定の連携オーダを読み出して実行するときに、競合する他の実行状態である連携オーダが存在するときは、前記所定の連携オーダを実行しないようにすることを特徴とする。
前記排他制御部が、前記オーダ受付部が新たな即時オーダを受け付けたときに、競合する他の受付状態である即時オーダが存在するときは、前記新たな即時オーダを前記オーダ管理DBに登録しないようにすることを特徴とする。
前記オーダ管理DBに登録されている予約オーダに対して、そのオーダ実行日時またはインスタンスへの処理内容を変更する旨のオーダ変更要求を受け付けると、前記オーダ管理DBから該当する予約オーダを検索し、
該当する予約オーダが前記オーダ管理DBに登録されていないとき、または、該当する予約オーダが受付状態ではないときには、受け付けたオーダ変更要求を前記オーダ管理DBに反映させないようにすることを特徴とする。
「使用リソース」とは、サービスを提供するために使用するリソースであり、例えば、SIM(Subscriber Identity Module)などの通信資源や、仮想サーバとしてクラウドを介して提供される計算機資源などである。使用リソースは、ネットワーク(NW)、クラウド(Cloud)、アプリ(APL)などの個別の「卸サービス」として提供される。
そして、「連携サービス」とは、複数の卸サービスを連携させることにより、1つに束ねてサービス事業者に提供されるサービスである。なお、1つの連携サービスが複数の卸サービスを従属させる関係にあるので、連携サービスを親サービスと呼び、卸サービスを子サービスと呼ぶこともある。
「連携オーダ」は使用リソース上で連携サービスを実現するためのサービスオーダであり、「卸オーダ」は連携オーダによって連携される個々の卸サービスを実現するためのサービスオーダである。例えば、クラウドサービスを用いて仮想計算機の環境を構築する第1卸オーダと、モバイル通信サービスを用いてSIMを活性化させる第2卸オーダと、アプリケーションサービスを用いてユーザ登録を受け付ける第3卸オーダとが、1つの連携オーダにより連携される。
サービス連携装置1は、CPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、CPUが、メモリ上に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部により構成される制御部(制御手段)を動作させる。
オーダ受付部11は、サービス事業者からの連携オーダを受け付ける。なお、連携オーダのやりとりには、例えば、標準化団体TMF(TeleManagement Forum)が発行する技術仕様「TMF622」に規定されているAPI(Application Programming Interface)が用いられる。
オーダ管理部12は、図3で後記する各種のオーダ管理用の情報を用いて、オーダ受付部11が受け付けた連携オーダをオーダ管理DB15に反映させる。つまり、オーダ管理部12は、オーダ受付部11が受け付けたオーダ登録要求に従って、新規の連携オーダを図3のオーダ管理DB15に登録する。そして、オーダ管理部12は、オーダ受付部11が受け付けたオーダ変更要求に従って、オーダ管理DB15に登録済の連携オーダを変更する。また、オーダ管理DB15のレコードを削除するときも、オーダ変更要求を用いてサービス事業者に指定させる。
排他制御部14は、オーダ実行部13のオーダの実行処理によって同一の使用リソースが複数の連携オーダによって同時期に使用されてしまう競合状態をその発生前に検知する。そして、排他制御部14は、各時点での1つの使用リソースを1つの連携オーダだけが使用するように排他制御することで、競合状態を事前に回避する。
1日目にオーダ受付部11が受け付けた予約オーダL01は、オーダ実行日時が3日目に指定されている。2日目にオーダ受付部11が受け付けた即時オーダL02と、3日目にオーダ受付部11が受け付けた即時オーダL03とは、オーダ実行日時が指定されていない。
2日目の即時オーダL02は、同時期に実行する他のオーダが存在しないので、競合が発生せずにそのまま実行できる。
一方、3日目は、即時オーダL03を受け付けて実行する時期と、予約オーダL01のオーダ実行日時に従って実行する時期とが重複するため、使用リソース上での競合が発生する。
「プロダクト」は、連携オーダが使用リソース上にインスタンス化された状態、つまり、連携オーダが実行可能な状態に構築された状態のものである。そして、「プロダクトID」は、プロダクトを個別に区別するための識別子である。なお、技術仕様「TMF622 Product Order resource」には、連携オーダ(=Product Order)により作成されたインスタンス(Product)の記載がある。
まず、1つの物理計算機X上で、2つの実行ファイルAが別々の時刻に起動されることもある。そのときには、実行ファイルAを先にインスタンス化したプロセスA1と、後にインスタンス化したプロセスA2とが同じ物理計算機X内の同じメモリチップ上の異なるメモリ空間を使用する。このときには、互いに異なるメモリ空間を使用しているので、プロセスA1の使用リソースと、プロセスA2の使用リソースとは、異なる使用リソースで実行されている。
一方、インスタンス化した1つのプロセスが1つのプロダクトに該当するので、プロセスA1用のプロダクトIDと、プロセスA2用のプロダクトIDとは、別々のIDが割り当てられる。ここで、プロセスA1用のプロダクトIDを指定し、同時刻のオーダ実行日時が指定された予約オーダが2つ存在したときには、2つの予約オーダは同じ使用リソースを扱うので、競合が発生する。
連携オーダID(ProductOrder Id)は、連携オーダの識別子である。
オーダ実行日時(requested Start Date)は、予約オーダである連携オーダの実行日時か、即時オーダであることを示す「なし」のいずれかを示す。オーダ実行日時の形式は、例えばDateTime型(YYYY-MM-DDThh:mm:ss)とする。
・追加種別オーダ(add)は、連携オーダをインスタンス化したプロダクトを、使用リソースに対して追加する旨のオーダである。
・更新種別オーダ(modify)は、既に使用リソース上に構築されているプロダクトに対して、その内容を更新する旨のオーダである。更新内容の一例として、クラウドの構築済み仮想サーバが動作するCPU種別やCPU数を変更する旨のオーダが挙げられる。
・削除種別オーダ(delete)は、既に使用リソース上に構築されているプロダクトに対して、プロダクトを使用リソース上から削除する旨のオーダである。
なお、「オーダ実行日時」と「オーダ種別」とについては、サービス事業者がオーダ登録要求で初期値を指定するだけでなく、オーダ変更要求で登録後に変更することができる。
・受付状態(Acknowledged)は、連携オーダの発行を受け付けた状態である。
・実行状態(InProgress)は、受付状態の連携オーダの実行を開始した状態である。受付状態の予約オーダの場合はオーダ実行日時まで待ってから実行状態に遷移し、受付状態の即時オーダの場合は受付状態からただちに実行状態に遷移する。
・中断状態(Held)は、実行状態の連携オーダに対して使用リソースの競合などの問題が発生することにより、処理が中断されてしまった状態である。そして、問題が解決したら、中断状態から実行状態に復帰する。
・実行完了状態(Completed)は、実行状態の連携オーダについて、その連携オーダの処理内容が完了した状態(正常終了の状態)である。
例えば、卸オーダ状態=「受付状態、実行完了状態、受付状態」という3つの卸オーダは、受付状態が2つ有り、実行状態が無し、実行完了状態が1つあり、中断状態が無しである。よって、オーダ実行部13が、卸オーダ状態の集合が図4のテーブルの第3行に該当することを参照し、連携オーダ状態=「実行状態」(第3行第1列)と特定する。
さらに、図4のテーブルの第8行は、卸オーダ状態の集合に中断状態が1つでも含まれているときには、他の卸オーダ状態にかかわらず、連携オーダ状態=「中断状態」とすることを示す。
排他制御部14は、以下の制御ポリシをもとに、競合状態を解消する。
(ポリシ1)プロダクトIDが異なる連携オーダ間には、使用リソースが異なるので競合状態は発生しない。
(ポリシ2)連携オーダ間に競合状態が発生した場合、オーダ状態のライフサイクルが後段階のオーダ状態(実行状態)を優先し、前段階のオーダ状態を待たせる(中断状態)。
(ポリシ3)オーダ登録要求で所定の即時オーダを受け付けた時(リクエスト受付時)の排他チェックでは、プロダクトIDが同一の他連携オーダが実行状態として先行していたときには、所定の即時オーダを受け付けない。
(ポリシ4)登録済みの所定の連携オーダを実行する時(リクエスト実行時)の排他チェックでは、プロダクトIDが同一の他連携オーダが実行状態として先行していたときには、所定の連携オーダを実行させない。
(ポリシ5)リクエスト受付時の排他チェックでは、所定の即時オーダを受け付けたとき、プロダクトIDが同一の他即時オーダが受付状態で登録済みであるときには、所定の連携オーダを受け付けない。
現時刻T01において、オーダ受付部11は、オーダ実行日時=T02が指定された予約オーダ(追加種別オーダ)のオーダ登録要求を受け付ける。オーダ管理部12は、受付状態の予約オーダをオーダ管理DB15に登録する。
現時刻T02においてオーダ実行日時になったことで、オーダ実行部13は、T01で受け付けた予約オーダを実行状態にする。
現時刻T03において、オーダ実行部13は、T02で実行を開始した予約オーダの実行を終え、実行完了状態とする。これにより、予約オーダがインスタンス化され、そのインスタンス(プロダクト)にプロダクトID=P01が割り当てられる。
現時刻T11において、オーダ受付部11は、オーダ実行日時=T19(T11〜T14よりも後)が指定された予約オーダ(更新種別オーダ)のオーダ登録要求を受け付ける。オーダ管理部12は、受付状態の予約オーダをオーダ管理DB15に登録する。
現時刻T12において、オーダ受付部11は、オーダ実行日時の指定が無い即時オーダのオーダ登録要求を受け付ける。オーダ管理DB15に登録されているプロダクトIDが同一の予約オーダはまだ受付状態なので、T12の時点では競合は発生しない(ポリシ3)。よって、オーダ管理部12は、受付状態の即時オーダをオーダ管理DB15に登録する。
現時刻T13において、オーダ実行部13は、T12で受け付けた即時オーダを実行状態にする。T13の時点でも、プロダクトIDが同一の予約オーダはまだ受付状態なので、競合は発生しない(ポリシ4)。
現時刻T14において、オーダ実行部13は、T13で実行を開始した即時オーダの実行を終え、実行完了状態とする。
現時刻T21において、オーダ受付部11は、オーダ実行日時=T22が指定された予約オーダを受け付け、その予約オーダをオーダ管理DB15に登録する。
現時刻T22においてオーダ実行日時になったことで、オーダ実行部13は、T21で受け付けた予約オーダを刈り取って実行状態にする。
現時刻T23において、オーダ受付部11は、新たな即時オーダを受け付ける。ここで、オーダ管理DB15に登録されているプロダクトIDが同一の予約オーダがすでに実行状態なので、新たな即時オーダとの間で競合が発生する(ポリシ3)。排他制御部14は、中断状態とした即時オーダを、サービス事業者にエラー通知する。
現時刻T31において、オーダ受付部11は、オーダ実行日時=T33が指定された予約オーダを受け付け、その予約オーダをオーダ管理DB15に登録する。
現時刻T32において、オーダ受付部11は、即時オーダを受け付ける。プロダクトIDが同一の予約オーダはまだ受付状態なので、T32の時点では競合は発生しない(ポリシ3)。よって、オーダ管理部12は、受付状態の即時オーダをオーダ管理DB15に登録する。
現時刻T33においてオーダ実行日時になったことで、オーダ実行部13は、T31で受け付けた予約オーダを刈り取って実行状態にする。
現時刻T34において、オーダ実行部13は、T32で受け付けた即時オーダを実行しようとする。しかし、オーダ管理DB15に登録されているプロダクトIDが同一の予約オーダがすでに実行状態なので、T32の即時オーダとの間で競合が発生する(ポリシ4)。排他制御部14は、中断状態とした即時オーダを、サービス事業者にエラー通知する。
S101で、オーダ受付部11は、サービス事業者から新規に発行された連携オーダのオーダ登録要求を受け付ける。
S102で、オーダ受付部11は、S101の連携オーダが即時オーダであるか否かを判定する。連携オーダでオーダ実行日時が指定されていないときには新規の即時オーダであるので(S102,Yes)、S111に進む。連携オーダでオーダ実行日時が指定されているときには新規の予約オーダであるので(S102,No)、S103に進む。
S103で、オーダ実行部13は、新規の予約オーダを受付状態にする。
・ProductOffering
・ProductSpecification
・ProductSpecCharacteristic
・ProductSpecCharacteristicValue
S112で、オーダ実行部13は、新規の即時オーダについても、S104と同様にリソース補完処理を行う。
S113で、オーダ実行部13は、新規の即時オーダを実行状態にする。
S114で、オーダ実行部13は、新規の即時オーダの処理を実行する。
S115で、オーダ実行部13は、新規の即時オーダを実行完了状態にする。
S201で、オーダ受付部11は、サービス事業者から発行されたオーダ変更要求で対象となる連携オーダについての各種情報(オーダ実行日時、プロダクトID、オーダ状態=受付状態)を、受信したオーダ変更要求から読み込む。
S203で、オーダ管理部12は、S201で読み込んだプロダクトIDと一致するレコードをオーダ管理DB15から取得する。
S204で、オーダ管理部12は、S203で取得したレコード(つまりプロダクトIDが一致するレコード)が存在するか否かを判定する。S204でYesならS212に進み、NoならS205に進む。
S205で、オーダ管理部12は、「オーダ変更要求で対象となる連携オーダがオーダ管理DB15には未登録である」旨のエラーメッセージを、オーダ受付部11を介してサービス事業者に返却する。
S213で、オーダ管理部12は、「オーダ変更要求で対象となる連携オーダは既に実行が開始された後なので、今からの内容変更はできない」旨のエラーメッセージを、オーダ受付部11を介してサービス事業者に返却する。
S221で、オーダ管理部12は、オーダ変更要求で対象となる連携オーダへの変更を許可し、オーダ変更要求に従ってオーダ管理DB15の内容を変更する。なお、オーダ管理DB15の連携オーダに対応するレコードそのものを削除する操作も、例えばオーダ実行日時を遠い(例えば100年後の)未来日に指定することで、オーダ変更要求として受け付ける。
S222で、オーダ管理部12は、「オーダ変更要求で対象となる連携オーダを変更した」旨の正常のメッセージを、オーダ受付部11を介してサービス事業者に返却する。
S301で、オーダ管理部12は、事前に用意された外部設定ファイルを読み込み、予約オーダの実行確認(S302〜S306)の繰り返し処理の周期を例えば秒単位で決定する。この周期とは、オーダ管理DB15に登録された各予約オーダについて、それぞれオーダ実行日時になったかどうかをチェックする間隔を示す。
S303で、オーダ管理部12は、オーダ管理DB15に登録された各予約オーダのオーダ実行日時を取得する。なお、オーダ管理部12は、オーダ管理DB15に直接アクセスする代わりに、各予約オーダのオーダ実行日時をリストアップした外部ファイルにアクセスすることで、S303の処理を行ってもよい。
S305で、オーダ管理部12は、オーダ管理DB15から予約オーダを刈り取って実行するために、図12に示す処理を呼び出す。なお、オーダ実行日時を経過した予約オーダが複数存在するときには、各予約オーダは非同期処理で実行される。つまり、第1の予約オーダの実行終了を待たずに、第2の予約オーダの実行を開始してもよい。
S321で、オーダ管理部12は、現時刻がオーダ実行日時を経過した受付状態の予約オーダをオーダ管理DB15から取得する。
S322で、オーダ管理部12は、S321で取得した予約オーダを、オーダ実行日時が古い順にソートする。なお、オーダ実行日時が同時刻の場合、オーダ管理部12は、オーダ管理DB15への登録時刻が古い順に、予約オーダをソートする。
S323〜S326で、オーダ管理部12は、ソート順に予約オーダを選択するループを実行する。
S324で、オーダ管理部12は、ループで選択した予約オーダのオーダ種別により処理を分岐させる。オーダ種別=追加種別オーダならS311に進み、更新種別オーダまたは削除種別オーダならS331に進む。
S312で、オーダ実行部13は、選択した予約オーダを実行状態にする。
S313で、オーダ実行部13は、選択した予約オーダを非同期に実行する。
S325で、オーダ実行部13は、S312と同様に、選択した予約オーダを実行状態にする。
S332で、オーダ実行部13は、図15に示す実行時の排他チェック処理(ポリシ4のチェック処理)を呼び出す。
S333で、オーダ実行部13は、選択した予約オーダを非同期に実行する。
S401で、オーダ受付部11は、既存のプロダクトIDに対する更新種別オーダまたは削除種別オーダについてのオーダ登録要求を受け付ける。
S402で、オーダ受付部11は、S401の連携オーダが即時オーダであるか否かを判定する。S402でYesならS410に進み、NoならS403に進む。
S403で、オーダ実行部13は、S104と同様に、S401の予約オーダに対するリソース補完処理を実行する。
S404で、オーダ管理部12は、S401の予約オーダをオーダ管理DB15に登録する。
S417で、オーダ実行部13は、S401の即時オーダを受付状態にする。
S418で、オーダ実行部13は、S104と同様に、S401の即時オーダに対するリソース補完処理を実行する。
S420で、オーダ実行部13は、図15に示す実行時の排他チェック処理(ポリシ4のチェック処理)を呼び出す。
S426で、オーダ実行部13は、S401の即時オーダを実行状態にする。
S427で、オーダ実行部13は、S401の即時オーダの処理を実行する。
S412で、排他制御部14は、チェック対象の連携オーダが扱うプロダクトIDをオーダ管理DB15から取得する。
S413で、排他制御部14は、S412で取得したプロダクトIDが共通となる(つまり、ポリシ1により競合相手となり得る)既存の連携オーダをオーダ管理DB15から取得する。S413で既存の連携オーダが存在しないときには、S414に進まずに競合なしである正常のチェック結果を呼出元に返却する(図示省略)。
S414で、排他制御部14は、S413で取得した既存の連携オーダについて、オーダ状態とオーダ実行日時とをオーダ管理DB15から取得する。
S416で、排他制御部14は、競合状態である既存の連携オーダを優先させるために、チェック対象の連携オーダを中断状態にして(ポリシ2)、エラーをサービス事業者に返却する。
S422で、排他制御部14は、チェック対象の連携オーダが扱うプロダクトIDをオーダ管理DB15から取得する。
S423で、排他制御部14は、S422で取得したプロダクトIDが共通となる(つまり、ポリシ1により競合相手となり得る)既存の連携オーダをオーダ管理DB15から取得する。S423で既存の連携オーダが存在しないときには、S424に進まずに競合なしである正常のチェック結果を呼出元に返却する(図示省略)。
S425で、排他制御部14は、競合状態である既存の連携オーダを優先させるために、チェック対象の連携オーダを中断状態にして(ポリシ2)、エラーをサービス事業者に返却する。
さらに、排他制御部14は、図14,図15に示したように、同一の使用リソースを同時期に使用する複数の連携オーダ間の競合を回避するように制御する。ここで、どの連携オーダ間で競合が発生し、競合した連携オーダのうちのどの連携オーダを優先させて処理を継続するかは、(ポリシ1)〜(ポリシ5)に従う。これにより、連携サービスを実行させる連携オーダを、適切に管理することができる。
11 オーダ受付部
12 オーダ管理部
13 オーダ実行部
14 排他制御部
15 オーダ管理DB
Claims (6)
- 複数のサービスを連携させた連携サービスを実行させるための連携オーダを受け付けるオーダ受付部と、
前記オーダ受付部が受け付けた連携オーダをオーダ管理DBに登録するオーダ管理部と、
前記オーダ管理DBに登録された連携オーダを読み出して実行することで、前記連携サービスの使用リソース上に生成された前記連携サービスのインスタンスに対する処理を行うオーダ実行部と、
同じインスタンスを処理対象とするために競合する複数の連携オーダが前記オーダ実行部によって同時期に実行される前に、競合する複数の連携オーダのうちの先に実行が開始された連携オーダを優先しつつ、その他の連携オーダを実行させないことで、連携オーダ間の排他制御を行う排他制御部とを有することを特徴とする
サービス連携装置。 - 前記オーダ実行部は、前記オーダ管理DBから読み出して実行した連携オーダを実行状態とし、
前記排他制御部は、前記オーダ受付部が新たな連携オーダを受け付けたときに、競合する他の実行状態である連携オーダが存在するときは、前記新たな連携オーダを前記オーダ管理DBに登録しないようにすることを特徴とする
請求項1に記載のサービス連携装置。 - 前記オーダ実行部は、前記オーダ管理DBから読み出して実行した連携オーダを実行状態とし、
前記排他制御部は、前記オーダ管理DBから所定の連携オーダを読み出して実行するときに、競合する他の実行状態である連携オーダが存在するときは、前記所定の連携オーダを実行しないようにすることを特徴とする
請求項1に記載のサービス連携装置。 - 前記オーダ受付部は、オーダ実行日時が指定された予約オーダと、オーダ実行日時の指定が無い即時オーダとをそれぞれ前記オーダ管理DBに受付状態として登録し、
前記排他制御部は、前記オーダ受付部が新たな即時オーダを受け付けたときに、競合する他の受付状態である即時オーダが存在するときは、前記新たな即時オーダを前記オーダ管理DBに登録しないようにすることを特徴とする
請求項1に記載のサービス連携装置。 - 前記オーダ管理部は、
前記オーダ管理DBに登録されている予約オーダに対して、そのオーダ実行日時またはインスタンスへの処理内容を変更する旨のオーダ変更要求を受け付けると、前記オーダ管理DBから該当する予約オーダを検索し、
該当する予約オーダが前記オーダ管理DBに登録されていないとき、または、該当する予約オーダが受付状態ではないときには、受け付けたオーダ変更要求を前記オーダ管理DBに反映させないようにすることを特徴とする
請求項4に記載のサービス連携装置。 - オーダ受付部と、オーダ管理DBと、オーダ管理部と、オーダ実行部と、排他制御部とを有するサービス連携装置によって実行されるサービス連携方法であって、
前記オーダ受付部は、複数のサービスを連携させた連携サービスを実行させるための連携オーダを受け付け、
前記オーダ管理部は、前記オーダ受付部が受け付けた連携オーダを前記オーダ管理DBに登録し、
前記オーダ実行部は、前記オーダ管理DBに登録された連携オーダを読み出して実行することで、前記連携サービスの使用リソース上に生成された前記連携サービスのインスタンスに対する処理を行い、
前記排他制御部は、同じインスタンスを処理対象とするために競合する複数の連携オーダが前記オーダ実行部によって同時期に実行される前に、競合する複数の連携オーダのうちの先に実行が開始された連携オーダを優先しつつ、その他の連携オーダを実行させないことで、連携オーダ間の排他制御を行うことを特徴とする
サービス連携方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018026596 | 2018-02-19 | ||
JP2018026596 | 2018-02-19 | ||
PCT/JP2019/005018 WO2019159939A1 (ja) | 2018-02-19 | 2019-02-13 | サービス連携装置、および、サービス連携方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019159939A1 true JPWO2019159939A1 (ja) | 2020-08-27 |
JP7060077B2 JP7060077B2 (ja) | 2022-04-26 |
Family
ID=67618615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020500504A Active JP7060077B2 (ja) | 2018-02-19 | 2019-02-13 | サービス連携装置、および、サービス連携方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200387953A1 (ja) |
JP (1) | JP7060077B2 (ja) |
WO (1) | WO2019159939A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004145598A (ja) * | 2002-10-24 | 2004-05-20 | Nec Corp | コンピュータの共有資源利用制限方法 |
JP2013020494A (ja) * | 2011-07-12 | 2013-01-31 | Mitsubishi Electric Corp | ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140624B2 (en) * | 2005-12-01 | 2012-03-20 | Computer Associates Think, Inc. | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
US8225281B1 (en) * | 2009-02-04 | 2012-07-17 | Sprint Communications Company L.P. | Automated baseline deployment system |
US10574748B2 (en) * | 2013-03-21 | 2020-02-25 | Infosys Limited | Systems and methods for allocating one or more resources in a composite cloud environment |
US10424005B2 (en) * | 2015-04-30 | 2019-09-24 | Oracle International Corporation | Methods, systems, and computer readable media for managing order processing and fallout in an order management system |
-
2019
- 2019-02-13 JP JP2020500504A patent/JP7060077B2/ja active Active
- 2019-02-13 WO PCT/JP2019/005018 patent/WO2019159939A1/ja active Application Filing
- 2019-02-13 US US16/971,164 patent/US20200387953A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004145598A (ja) * | 2002-10-24 | 2004-05-20 | Nec Corp | コンピュータの共有資源利用制限方法 |
JP2013020494A (ja) * | 2011-07-12 | 2013-01-31 | Mitsubishi Electric Corp | ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20200387953A1 (en) | 2020-12-10 |
WO2019159939A1 (ja) | 2019-08-22 |
JP7060077B2 (ja) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5843823B2 (ja) | プログラム実行状態の保存 | |
US9329909B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
EP0272561B1 (en) | Apparatus for distributing data processing across a plurality of loci of control | |
CN1221539A (zh) | 可编程的呼叫处理系统和方法 | |
CN101834750B (zh) | 一种通用业务监控方法 | |
CN113298503A (zh) | 一种面向政务的工作流管理系统及其分库分表方法 | |
CN112527489A (zh) | 一种任务调度方法、装置、设备及计算机可读存储介质 | |
CN111309294B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
CN112882765A (zh) | 数字孪生模型调度方法和装置 | |
US8060885B2 (en) | Creating task queries for concrete resources using alias selection fields specifying formal resources and formal relationships | |
CN112199200B (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
JPH10333925A (ja) | オートノマス・エージェント・アーキテクチャ | |
CN113076186A (zh) | 任务处理的方法、装置、电子设备和存储介质 | |
JP7060077B2 (ja) | サービス連携装置、および、サービス連携方法 | |
CN115827235A (zh) | 分布式系统的控制方法和存储介质 | |
JP2001166924A (ja) | ソフトウェア開発物管理装置および管理方法 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN114201284A (zh) | 定时任务管理方法及系统 | |
CN113867778A (zh) | 一种镜像文件的生成方法、装置、电子设备及存储介质 | |
JPH09160847A (ja) | クライアント・サーバ型分散処理システム | |
US11281494B2 (en) | Business operation method, apparatus, and system for determining and executing operation tasks in cloud computing | |
JP2013020494A (ja) | ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム | |
JP4900342B2 (ja) | 出願業務支援プログラム、方法及び装置 | |
CN113986688A (zh) | 云管理平台监听资源创建的方法、存储介质和云服务系统 | |
CN117172706A (zh) | 电子政务的业务流程执行方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220131 |
|
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: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7060077 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |