(58)【調査した分野】(Int.Cl.,DB名)
請求項1に記載のシステムであって、前記次の情報クエリ時刻は、クライアントに関連付けられている現在時刻から前記現行処理ノードに対応する前記予測時間値だけ経過した時刻に関連付けられるように決定される、システム。
請求項1に記載のシステムであって、前記現行処理ノードに対応する前記予測時間値は、前記現行処理ノードに関連付けられている履歴データに少なくとも部分的に基づいて決定される、システム。
請求項1に記載のシステムであって、前記クエリ参照メッセージは、さらに、前記1セットの処理ノードに対応する1セットの所定の時間増分と、前記1セットの処理ノードに対応する1セットの所定の増分カウント閾値と、を含む、システム。
【背景技術】
【0003】
ユーザは、ビジネスサービスサーバ(例えば、通信ネットワーク内のネットワーク側アプリケーションサーバまたはインターネット上のウェブサイトサーバ)にビジネスサービス処理要求を送信した後、通常、ビジネスサービスサーバがビジネスサービス処理要求を処理している間に、ビジネスサービスの現在の処理状況(すなわち、このビジネスサービスの処理状況情報)を定期的に知ることを望む。例えば、ユーザは、ビジネスサービスの処理の現在の段階または進捗を知りたいと思う。
【0004】
従来、ユーザは、ビジネスサービスサーバと情報を交換するためにユーザ端末で実行されるクライアント側アプリケーションを備えたユーザ端末を用いて、ユーザがビジネスサービス処理を要求したビジネスサービスのビジネスサービス処理状況情報を知りうる。
図1は、かかる処理の一例である。
【0005】
工程101では、クライアントは、ビジネスサービス処理状況情報がユーザによって要求されたビジネスサービスのビジネスサービス識別子を確認する。例えば、各ビジネスサービスは、ビジネスサービス識別子に関連付けられている。
【0006】
工程102では、クライアントは、次の情報クエリ時刻が、ビジネスサービス処理状況情報に対する前回のクエリまたはビジネスサービス識別子に関連付けられている要求の処理に関連付けられている開始時刻のいずれかに関連付けられている時刻から、設定クエリ間隔期間後の時刻であると決定する。次の情報クエリ時刻は、クライアントがその時刻以降にビジネスサービス処理状況情報を取得するためにビジネスサービスサーバにクエリする時刻である。通例、設定クエリ間隔期間は、システム管理者によって設定される固定期間である。クライアントは、ビジネスサービス識別子に関連付けられているビジネスサービス処理状況情報を受信するために、ビジネスサービス識別子と共にクエリを送信しうる。ビジネスサービス処理状況情報は、処理の進捗を示す。
【0007】
工程103では、クライアントは、現在時刻が次の情報クエリ時刻以降であるか否かを判定する。現在時刻が次の情報クエリ時刻以降である場合、制御は工程104に進む。そうでない場合、制御は工程103に進む。
【0008】
工程104では、クライアントは、ビジネスサービスサーバに情報クエリ要求を送信する。情報クエリ要求は、状況が要求されたビジネスサービスに関連付けられたビジネスサービス識別子を含む。
【0009】
工程105では、情報クエリ要求を受信した後、ビジネスサービスサーバは、要求に含まれるビジネスサービス識別子を抽出し、ビジネスサービス識別子を用いて、クライアントへの情報クエリ応答に含めるためにビジネスサービスの現在のビジネスサービス処理状況情報を決定する。ビジネスサービスサーバは、現在のビジネスサービス処理状況情報を情報クエリ応答に含め、その情報クエリ応答をクライアントに送信する。
【0010】
工程106では、情報クエリ応答を受信した後、クライアントは、情報クエリ応答に含まれる現在のビジネスサービス処理状況情報を抽出し、抽出された情報クエリ応答を格納されたビジネスサービス処理状況情報と比較する。格納されたビジネスサービス処理状況情報は、クライアントによって送信された前回の情報クエリ要求に応答して受信されたものであり、クライアントにローカルに格納されている。
【0011】
工程107では、抽出された情報クエリ応答と格納されたビジネスサービス処理状況情報との間の比較に基づいて、ビジネスサービスのビジネスサービス処理状況が前回の情報クエリ要求から変化したか否かが判定される。抽出された情報クエリ応答および格納されたビジネスサービス処理状況情報が同じである場合、ビジネスサービスのビジネスサービス処理状況は、前回の情報クエリ要求から変化していないことを意味し、制御は工程102に進む。抽出された情報クエリ応答および格納されたビジネスサービス処理状況情報が同じでない場合、制御は工程108に進む。
【0012】
工程108では、抽出されたビジネスサービス処理状況情報に基づいて、ビジネスサービス識別子に関連付けられたビジネスサービスの処理が完了したか否かが判定される。ビジネスサービス識別子に関連付けられたビジネスサービスが完了している場合、処理は終了する。そうでない場合、制御は工程102に進む。情報クエリ応答から抽出されたビジネスサービス処理状況情報は、ビジネスサービスの現在の進捗、および処理が完了したか否かを示す。
【0013】
処理100について上述したビジネスサービス処理状況情報のクエリソリューションにおいて、クエリ時間間隔は、ビジネスサービス処理状況情報が変化した後に、ユーザが最新のビジネスサービス処理状況情報を迅速に知ることができるように、比較的短い期間に設定される。したがって、ビジネスサービスの処理状況の変化が検出されて、ユーザに提示されることは、頻繁にビジネスサービス処理状況情報をサーバにクエリすることによるものである。
【0014】
しかしながら、ビジネスサービスを処理する過程で生じるビジネスサービス処理状況情報の変化は、全く頻繁ではない場合がある。したがって、上述の情報クエリソリューションにおいて、ビジネスサービスサーバから得られる各後続ビジネスサービス処理状況情報は、しばしば、最後のクエリ結果と同じである。結果として、上述のソリューションにおいて、クライアントは、不必要にビジネスサービスサーバへのクエリを行うために多くのリソースを費やすことになる。
【発明を実施するための形態】
【0025】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【0026】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術要素については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0027】
ビジネスサービス処理状況情報をクエリする実施形態について、本明細書に記載する。様々な実施形態において、ビジネスサービスは、仮想サービスまたは物理的サービス(例えば、貨物輸送)でありうる。様々な実施形態において、ビジネスサービス処理状況情報とは、ビジネスサービスの処理の進捗のことである。例えば、ビジネスサービス処理状況情報は、ビジネスサービス処理が、完了しているか、または、完了に達していない或る進捗度にあることを示しうる。
【0028】
クライアントが、ビジネスサービス処理要求をサーバに送信する。ビジネスサービス処理要求は、要求されたビジネスサービスに関連付けられた識別子と関連付けられている。いくつかの実施形態において、サーバは、クエリ参照メッセージをクライアントに送信し、ここで、クエリ参照メッセージは、少なくとも、ビジネスサービスに関連付けられている1組の処理ノードに関連付けられている情報、1組の処理ノードがビジネスサービスのそれぞれの部分を実行する順序を指定する1組の処理ノードに関連付けられているシーケンス、および、1組の処理ノードの内の各処理ノードに対応する予測時間値を含む。様々な実施形態において、処理ノードとは、ビジネスサービスの一部のことであるため、1つのビジネスサービスが、個別に完了される一連の1または複数の処理ノードを含みうる。例えば、処理ノードに対応する予測時間値とは、処理ノードが完了されると予測された時間量/継続時間/期間のことである。クライアントは、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を受信するために情報クエリ要求をサービスに送信してよい。例えば、現在のビジネスサービス処理状況情報は、最後に完了したビジネスサービスの処理ノード、および/または、ビジネスサービス全体の処理が完了したこと、を示しうる。クエリ参照メッセージに含まれる情報に基づいて、クライアントは、サーバから返される現在のビジネスサービス処理状況情報が、クライアントによって送信された前回の情報クエリ要求からビジネスサービスの処理状況の変化を示す可能性が高くなるように、ビジネスサービスの処理ノードがそれまでに完了されると予測される各時刻の後に情報クエリ要求をサーバに送信しうる。こうすれば、クライアントによるサーバへのクエリが最小限に抑えられることで、情報クエリ要求の送信および応答に費やされたはずのリソースを節約できる。
【0029】
図2は、ビジネスサービス処理状況情報をクエリするためのシステムの一実施形態を示す図である。この例において、システム200は、クライアント202、ネットワーク204、サーバ206、および、データベース208を備える。ネットワーク204は、高速データネットワークおよび/または遠隔通信ネットワークを含む。
【0030】
クライアント202は、ネットワーク204を介してサーバ206と通信するよう構成されている。クライアント202は、スマートフォンとして図示されているが、クライアント202のその他の例としては、ラップトップコンピュータ、デスクトップコンピュータ、携帯デバイス、タブレットデバイス、および/または、任意のその他のコンピュータデバイスが挙げられる。クライアント202は、ユーザが文字を入力しうる入力インターフェース(例えば、物理キーボードまたはタッチスクリーン)と、情報をユーザに表示しうるディスプレイインターフェースとを備える。様々な実施形態において、クライアント202は、特定のビジネスサービスを処理することをサーバ206に要求するために、サーバ206と通信するよう構成されている。様々な実施形態において、ビジネスサービスを処理するためにクライアント202によって送信された要求は、処理されるビジネスサービスに関連付けられたビジネスサービス識別子を含む。
【0031】
様々な実施形態において、サーバ206は、要求されたビジネスサービスに対応する1組の処理ノードを決定するよう構成されている。様々な実施形態において、ビジネスサービスは、一連の処理ノードを含んでおり、1つの処理ノードが一度に処理される。いくつかの実施形態において、サーバ206は、データベース208に格納されたビジネスサービスおよび対応する処理ノードセットの対応付けに基づいて、どの処理ノードが、要求されたビジネスサービスに対応するのかを決定するよう構成されている。いくつかの実施形態において、サーバ206は、どの処理ノードが、要求されたビジネスサービスと同様の以前に実行された各ビジネスサービスと共通して関連付けられているのかを示すデータベース208に格納された履歴データに基づいて、どの処理ノードが、要求されたビジネスサービスに対応するのかを決定するよう構成されている。いくつかの実施形態において、サーバ206は、要求されたビジネスサービスに関連付けられている処理ノードのシーケンスと、要求されたビジネスサービスに関連付けられている1セットの処理ノードに対応する1セットの予測時間値とを決定するよう構成されている。様々な実施形態において、サーバ206は、以前の処理の事例から処理ノードが完了するのに掛かった実際の時間量についてデータベース208に格納された履歴データに少なくとも部分的に基づいて、各処理ノードに対応する予測時間値を決定するよう構成されている。サーバ206は、クライアント202にクエリ参照メッセージを送信するよう構成されており、クエリ参照メッセージは、要求されたビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、および、1セットの処理ノードに対応する1セットの予測時間値を含む。いくつかの実施形態において、サーバ206は、要求されたビジネスサービスに関連付けられているゼロ以上の処理ノードを処理する、および/または、処理ノードの少なくとも一部を実行するために、その他のエンティティに通信を行うよう構成されている。様々な実施形態において、サーバ206は、ビジネスサービスの処理に関連付けられている現在の処理状況情報を追跡するよう構成されている。例えば、現在のビジネスサービス処理状況情報は、どの処理ノードが完了したか(および、いつ完了したか)、どの処理ノードが現在処理されているか、および、ビジネスサービス全体の処理が完了したか否か、を示す。
【0032】
クライアント202は、サーバ206から受信したクエリ参照メッセージの内容を用いて、要求されたビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報について、いつサーバ206にクエリするのかを決定するよう構成されている。クライアント202は、1セットの処理ノードに対応する1セットの予測時間値を用いて、要求されたビジネスサービスのどの処理ノードが現在処理されているか、および、その処理ノードがいつ完了するのかを決定すると共に、その結果、要求されたビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報の情報クエリ要求をサーバ206に送信するよう構成されている。要求されたビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報についてサーバ206からクライアント202に送信されたクエリ参照メッセージに含まれる情報を用いることにより、クライアント202は、クライアント202によって送信された前回の情報クエリ要求以来ビジネスサービスについて進捗があった(例えば、ビジネスサービスの新たな処理ノードが、クライアント202によって送信された前回の情報クエリ要求以来完了した)ことを示す要求されたビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報をサーバ206から受信する可能性が高くなる。いくつかの実施形態において、クライアント202は、ユーザが、要求したビジネスサービスの処理の進捗を追跡できるように、要求したビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報をユーザに対して表示するよう構成されている。
【0033】
図3は、ビジネスサービス処理状況情報をクエリするための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理300は、
図2のシステム200のクライアント202で実施される。
【0034】
工程302では、クエリ参照メッセージがサーバから受信され、ここで、クエリ参照メッセージは、ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、および、1セットの処理ノードに対応する1セットの予測時間値を含む。ビジネスサービスを実行するための要求がすでにサーバに送信されており、ビジネスサービス処理は開始されている。いくつかの実施形態において、要求されたビジネスサービスは、ビジネスサービス識別子(例えば、文字列または英数字値)によって識別される。サーバは、ビジネスサービスの現在のビジネスサービス処理状況情報のための情報クエリ要求をサーバに送信することが適切である時を決定する際にクライアントが用いるために、クエリ参照メッセージをクライアントに送信する。様々な実施形態において、1セットの処理ノードは、個別に処理されるビジネスサービスの異なる部分を表す。処理ノードに関連付けられているシーケンスは、処理ノードの各々が処理される順序を、セット内の他の処理ノードとの関連で示す。ビジネスサービスの処理は、処理ノードセットの最後の処理ノードが完了された後、完了したと見なされる。様々な実施形態において、1セットの処理ノードに対応する1セットの予測時間値は、処理ノードセットの各処理ノードが完了されるのに掛かる対応する予測時間量/継続時間/期間を含む。
【0035】
工程304では、1セットの処理ノードの内の現行処理ノードに関連付けられている次の情報クエリ時刻が、1セットの予測時間値の内の現行処理ノードに対応する予測時間値に基づいて決定される。様々な実施形態において、次の情報クエリ時刻は、ビジネスサービスの現行処理ノードがそれまでに完了されると予測された時刻に対応する。現行処理ノードとは、1セットの処理ノードの内、現在処理されているいずれかの処理ノードを指す。いくつかの実施形態において、現行処理ノードに対応する予測時間値とは、現行処理ノードがその間に完了されると予測された時間量のことである。したがって、現行処理ノードがセット内で処理される最初の処理ノードである場合、次の情報クエリ時刻は、ビジネスサービスが処理された開始時刻から現行処理ノードに対応する予測時間値だけ経った時刻として決定される。現行処理ノードがセット内で処理される最初の処理ノードではない場合、次の情報クエリ時刻は、セット内の前回の処理ノードの完了時刻から現行処理ノードに対応する予測時間値だけ経った時刻として決定される。
【0036】
いくつかの別の実施形態において、現行処理ノードに対応する予測時間値とは、現行処理ノードがそれまでに完了されると予測された時刻のことである。したがって、次の情報クエリ時刻は、現行処理ノードに対応する予測時間値である。
【0037】
工程306では、次の情報クエリ時刻になったことに応じて、情報クエリ要求がサーバに送信される。クライアントは、現在時刻が次の情報クエリ時刻以降であるとクライアントが判定するまで、現在時刻を監視する。クライアントは、次の情報クエリ時刻になったと判定すると、さらなるユーザ入力を求めることなしに、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を決定するために、サーバに情報クエリ要求を自動的に送信するよう構成されている。クエリ参照メッセージに含まれる情報を用いて、情報クエリ要求をサーバに送信する時を決定することにより、クライアントは、情報クエリ要求をサーバに送信する時を決定するために、ユーザからのプロンプトを必要としない。いくつかの実施形態において、情報クエリ要求は、処理状況情報が求められた特定のビジネスサービスを識別するために、ビジネスサービス識別子を含む。
【0038】
工程308では、情報クエリ応答がサーバから受信され、ここで、情報クエリ応答は、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を含む。ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報に基づいて、クライアントは、ビジネスサービスの処理の現在の進捗を決定しうる。いくつかの実施形態において、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報は、どの処理ノードが現在処理されているか、どの処理ノードが完了されたか、および、ビジネスサービス全体の処理が完了したか否か、の内の1または複数を示しうる。いくつかの実施形態において、クライアントは、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報をビジネスサービスに関連付けられている格納済みの以前に受信されたビジネスサービス処理状況情報と比較することにより、ビジネスサービスの処理が、(同じビジネスサービスについてクライアントによって送信された)前回の情報クエリ要求以来、更新されたことを決定する。いくつかの実施形態において、クライアントは、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報に含まれる情報に基づいて、ビジネスサービスのどの処理ノードが完了したのかを決定する。ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報が、現行処理ノードが完了していないことを示す場合、クライアントは、新たな次の情報クエリ時刻を決定する。例えば、この新たな次の情報クエリ時刻は、処理ノードセット内の1つの処理ノードに対応する予測時間値に基づいてよい。
【0039】
ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報が、現行処理ノードが完了したことを示す場合、クライアントは、現行処理ノードがビジネスサービスのために処理される処理ノードのシーケンスにおける最後の処理ノードであったか否かを判定する。完了した現行処理ノードが処理ノードのシーケンスにおける最後の処理ノードであった場合、ビジネスサービスが完了されたと決定される。逆に、完了した現行処理ノードが処理ノードのシーケンスにおける最後の処理ノードではなかった場合、一連の処理ノード内の次の処理ノードが新たな現行処理ノードとして決定され、新たな次の情報クエリ時刻が、新たな現行処理ノードに対応する予測時間値に基づいて決定される(例えば、新たな次の情報クエリ時刻は、現在時刻後に、次の処理ノードに対応する予測時間値だけ経った時刻として決定される)。いつでも、ビジネスサービスの処理の現在の進捗に関連付けられている提示(例えば、どの処理ノードおよびいくつのノードが完了したか)が、クライアントでユーザインターフェースを介してユーザに表示されてよい。いくつかの実施形態において、クライアントは、ユーザインターフェースを介して更新済みのビジネスサービス処理状況情報をユーザに提示する前に、ユーザが更新済みのビジネスサービス処理状況情報を見たいか否かについて、最初にプロンプトしてよい。
【0040】
例えば、ビジネスサービスが、物流ビジネスサービス(貨物輸送サービスなど)に関連しているとする。要求されたビジネスサービスは、出発地Aから目的地Dまでの特定の貨物輸送でありうる。輸送の処理ノードの各々は、輸送ルート全体の中の区間に対応する。例えば、各処理ノードは、出発地Aから目的地Dまでの輸送ルートに沿った2つの隣接する中継地の間の輸送でありうる。例えば、出発地Aから目的地Dまでの貨物輸送は、地点Aから地点Bまでの輸送に関連付けられている第1の処理ノード、地点Bから地点Cまでの輸送に関連付けられている第2の処理ノード、および、地点Cから地点Dまでの輸送に関連付けられている第3かつ最後の処理ノードを含みうる。例えば、各処理ノードに対応する予測時間値は、対応する処理ノードについて輸送が完了されると予測された時間の量を表す。例えば、地点Aから地点Bまでの輸送の完了に関連付けられている第1の処理ノードに対応する予測時間値は、2時間でありうる。地点Cから地点Dまでの輸送に関連付けられている第3かつ最後の処理ノードが完了した後、ビジネスサービスの処理が完了したと決定される。
【0041】
図4は、ビジネスサービス処理状況情報をクエリするための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理400は、
図2のシステム200のクライアント202で実施される。
【0042】
工程402では、ビジネスサービス処理要求が、サーバに送信される。要求は、ビジネスサービスの処理を開始するようサーバに要求するために、クライアントによってサーバに送信される。いくつかの実施形態において、サーバは、ビジネスサービスの処理の少なくとも一部を実行する。様々な実施形態において、サーバは、要求されたビジネスサービスの処理に関連付けられている現在の状況情報を追跡する。
【0043】
工程404では、クエリ参照メッセージがサーバから受信され、ここで、クエリ参照メッセージは、ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、および、1セットの処理ノードに対応する1セットの予測時間値を含む。いくつかの実施形態において、クエリ参照メッセージは、クライアントに返されるビジネスサービス処理応答に含まれる。上述のように、クライアントは、クエリ参照メッセージの内容を用いて、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を決定するための情報クエリ要求をサーバに送信することが適切である時を決定するよう構成されている。いくつかの実施形態において、サーバは、ビジネス要求ごとに動的にクエリ参照メッセージの内容の少なくとも一部を決定する(例えば、最新の履歴データに基づいて)。いくつかの他の実施形態では、ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、および、要求されたビジネスサービスに関連付けられている1セットの処理ノードに対応する1セットの予測時間値、の少なくとも一部が、クライアントに予め格納されており、残りの情報は、サーバからクエリ参照メッセージで受信される。
【0044】
工程406では、1セットの処理ノードの内の現行処理ノードに関連付けられている次の情報クエリ時刻が決定される。クエリ参照メッセージの内容に基づいて、クライアントは、どの処理ノードがサーバによって現在処理されているのかを決定できる。例えば、クエリ参照メッセージを受信した後、クライアントは、現行処理ノードがビジネスサービスに関連付けられている処理ノードのシーケンスで処理される最初の処理ノードであると決定しうる。次いで、クライアントは、サーバから現在のビジネスサービス処理状況情報を定期的にクエリするので、クライアントは、現行処理ノードが完了したか否か、および、次の処理ノードが新たな現行処理ノードになって処理されていること、または、ビジネスサービス全体の処理が完了したこと(すなわち、シーケンスの最後の処理ノードが完了したこと)を決定できる。
【0045】
例えば、現行処理ノードがシーケンスの最初の処理ノードであると仮定すると、次の情報クエリ時刻は、最初の処理ノードに対応する予測時間値に少なくとも部分的に基づいて決定される。例えば、この場合における次の情報クエリ時刻は、最初の処理ノードが完了すると予測された時間量を表す。次の情報クエリ時刻は、クエリ参照メッセージがサーバから受信された時刻またはクライアントでの現在時刻のいずれかの後、最初の処理ノードに対応する予測時間値だけ経過した時刻として決定されうる。例えば、最初の処理ノードに対応する予測時間値が2時間であり、クエリ参照メッセージがサーバから受信された時刻が午後2時であった場合、次の情報クエリ時刻は、同日の午後4時に決定される。
【0046】
例えば、現行処理ノードがシーケンスのi番目(i>1)の処理ノードであると仮定すると、次の情報クエリ時刻は、i番目の処理ノードに対応する予測時間値に少なくとも部分的に基づいて決定される。次の情報クエリ時刻は、前の処理ノードが完了した時刻の後、i番目の処理ノードに対応する予測時間値だけ経過した時刻として決定されうる。例えば、処理ノードが完了した時刻は、サーバから受信されるビジネスサービス処理状況情報に含まれてよい。
【0047】
工程408では、次の情報クエリ時刻になったか否かが判定される。次の情報クエリ時刻になった場合、制御は工程410に進む。そうでない場合、制御は工程408に進み、次の情報クエリ時刻になるまで待機する。
【0048】
工程410では、情報クエリ要求がサーバに送信される。いくつかの実施形態において、情報クエリ要求は、処理状況情報が求められた特定のビジネスサービスを識別するために、ビジネスサービス識別子を含む。
【0049】
工程412では、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を含む情報クエリ応答が受信される。サーバは、情報クエリ要求に含まれるビジネスサービス識別子に基づいて、所望のビジネスサービスに対応する現在のビジネスサービス処理状況情報を取得する。現在のビジネスサービス処理状況情報は、ビジネスサービスの処理の進捗の最新の状況を表す。例えば、現在のビジネスサービス処理状況情報は、どの処理ノードがいつ完了したか、どの処理ノードが現在処理されているか、および、ビジネスサービス全体の処理が完了したか否か、を示しうる。
【0050】
工程414では、現在のビジネスサービス処理状況情報が、格納されたビジネスサービス処理状況情報と同じであるか否かが判定される。現在のビジネスサービス処理状況情報が、格納されたビジネスサービス処理状況情報と同じである場合、制御は工程418に進む。そうでない場合、制御は工程416に進む。格納されたビジネスサービス処理状況情報とは、(前回の情報クエリ要求に応答して)サーバから受信されクライアントによって格納された前回の現在のビジネスサービス処理状況情報のことである。しかしながら、現行処理ノードが最初の処理ノードである場合、格納されたビジネスサービス処理状況情報は、クライアントに予め格納され、最初の処理ノードが完了していないという値を含むものである。現在のビジネスサービス処理状況情報が格納されたビジネスサービス処理状況情報と同じであった場合、
ビジネスサービスに関連付けられている処理状況情報が変化していない(例えば、現行処理ノードがまだ処理中である)と判定される。逆に、現在のビジネスサービス処理状況情報が格納されたビジネスサービス処理状況情報と同じでない場合、
ビジネスサービスに関連付けられている処理状況情報が変化した(例えば、現行処理ノードが完了した)と判定される。
【0051】
工程416では、現在のビジネスサービス処理状況情報が提示される。処理状況情報が変化したと判定されているので、この新しい処理状況情報は、ビジネスサービス処理のさらなる進捗をユーザに示すために、ユーザに対して表示される。
【0052】
工程418では、現行処理ノードに関連付けられている次の情報クエリ時刻が決定される。状況情報が変化していないと判定されているので、現行処理ノードが完了しておらず、したがって現行処理ノードは同じままであると判定される。したがって、次の情報クエリ時刻は、処理ノードのシーケンスにおける現在時刻後に現行処理ノードに対応する予測時間値だけ経過した時刻として決定される。換言すると、次の情報クエリ時刻は、状況情報が変化していないと判定された時刻の後に現行処理ノードに対応する予測時間値だけ経った時刻として決定される。工程418の後、制御は工程408に進む。
【0053】
工程420では、現在のビジネスサービス処理状況情報に少なくとも部分的に基づいて、ビジネスサービスの処理が完了したか否かが判定される。ビジネスサービスが完全に完了した場合、いくつかの実施形態では、現在のビジネスサービス処理状況情報は、その旨を宣言してよい。ビジネスサービスが完了したと判定された場合、処理は終了する。そうでない場合、制御は工程422に進む。
【0054】
工程422では、現行処理ノードは、1セットの処理ノードの内の次の処理ノードに設定される。工程422の後、制御は工程406に進む。ビジネスサービスの処理が完了していないと判定されているので、次の処理ノードが、新たな現行処理ノードとして設定され、制御は工程406に進む。また、前の処理ノード完了時刻が、現在時刻に設定される。前の処理ノード完了時刻とは、最新の処理ノードが完了した時刻のことである。
【0055】
処理400は、クライアントが、サーバによって送信されたクエリ参照メッセージに基づいて、現在のビジネスサービス処理状況情報を決定するために情報クエリ要求をサーバに送信する時を決定しうる技術を提供する。クエリ参照メッセージは、どの処理ノードが要求されたビジネスサービスに関連するのか、どの順序で処理ノードが処理されるのか、および、各処理ノードの処理にどれだけの時間が掛かると予測されるか、を含む情報を含む。そのため、クライアントは、適切な情報クエリ時刻に情報クエリ要求をサーバに送信することができ、その時刻は、現行処理ノードがその間に完了する必要のある予測時間値に基づいて決定される。したがって、現行処理ノードがその間に完了する必要のある対応する予測時間量に基づいてサーバにクエリする時刻を決定することにより、クライアントによる各クエリが、以前のビジネスサービス処理状況情報と異なるビジネスサービス処理状況情報を返す可能性が高くなる。各クエリは、ビジネスサービスの処理の状況情報の変化を検出する可能性が高くなるように時刻を決められるので、クライアントは、よりインテリジェントな方法でサーバへのクエリを実行することになり、そのことは、クライアントを用いてユーザへの表示を行うのに有用である。
【0056】
図5は、ビジネスサービス処理状況情報をクエリする処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理500は、
図2のシステム200のクライアント202で実施される。
【0057】
処理500は、処理500が、さらに、要求されたビジネスサービスに関連付けられている各処理ノードに対応する所定の増分時間長および所定の増分カウント閾値を用いることを除けば、
図4の処理400と同様である。
【0058】
工程502では、ビジネスサービス処理要求が、サーバに送信される。
【0059】
工程504では、クエリ参照メッセージがサーバから受信され、ここで、クエリ参照メッセージは、ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、1セットの処理ノードに対応する1セットの予測時間値、1セットの処理ノードに対応する1セットの所定の時間増分、および、1セットの所定の増分カウント閾値を含む。様々な実施形態において、1セットの所定の時間増分の各々は、1セットの処理ノードの内の1つの処理ノードに対応しており、後述するように、クエリされたビジネスサービス処理状況情報が、対応する現行処理ノードに対応する予測時間値の経過後に変化していないと判定された場合に、対応する現行処理ノードのための新たな次の情報クエリ時刻を決定するために用いられる。様々な実施形態において、1セットの所定の増分カウント閾値の各々は、1セットの処理ノードの内の1つの処理ノードに対応しており、後述するように、所定の増分カウント閾値に対応する処理ノードに関して遅延が発生した可能性があるか否かを判定するために用いられる。各処理ノードに対応する所定の時間増分および所定の増分カウント閾値は、その処理ノードに関連付けられている特徴および/またはその処理ノードに関連付けられている履歴データに基づいて決定されてよい。
【0060】
いくつかの他の実施形態では、ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、1セットの処理ノードに対応する1セットの予測時間値、1セットの処理ノードに対応する1セットの所定の時間増分、および、要求されたビジネスサービスに関連付けられている1セットの所定の増分カウント閾値、の少なくとも一部が、クライアントに予め格納されており、残りの情報は、サーバからクエリ参照メッセージで受信される。
【0061】
工程506では、処理ノードセットの中の現行処理ノードに関連付けられている次の情報クエリ時刻が決定される。様々な実施形態において、工程506は、
図4の処理400の工程406と同様である。
【0062】
工程508では、次の情報クエリ時刻になったか否かが判定される。次の情報クエリ時刻になった場合、制御は工程510に進む。
【0063】
工程510では、情報クエリ要求がサーバに送信される。
【0064】
工程512では、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を含む情報クエリ応答が受信される。
【0065】
工程514では、現在のビジネスサービス処理状況情報が、格納されたビジネスサービス処理状況情報と同じであるか否かが判定される。現在のビジネスサービス処理状況情報が、格納されたビジネスサービス処理状況情報と同じである場合、制御は工程516に進む。そうでない場合、制御は工程522に進む。
【0066】
工程516では、現行処理ノードに関連付けられているカウント値が増分され、カウント値が、1セットの所定の増分カウント閾値の内の現行処理ノードに対応する所定の増分カウント閾値を満たすか否かが判定される。所定の増分カウント閾値が満たされないと判定された場合、制御は工程518に進む。そうでない場合、制御は工程520に進む。カウント値は、各々の新たな現行処理ノードに対して作成され、最初はゼロに設定される。その後、現在のビジネスサービス処理状況情報が以前のビジネスサービス処理状況情報から変化していないと判定されるたびに、カウント値は1ずつ増分される。
【0067】
工程518では、次の情報クエリ時刻が、1セットの所定の時間増分の内の現行処理ノードに対応する所定の時間増分に少なくとも部分的に基づいて決定される。クライアントは、別の情報クエリ要求をサーバに送信する前に、現行処理ノードに対応する所定の時間増分に対応する時間量だけ待機する。例えば、次の情報クエリ時刻は、現在時刻(例えば、現行処理ノードに関連付けられているカウント値が所定の増分カウント閾値を満たさないと判定された時刻)後に現行処理ノードに対応する所定の時間増分に対応する時間量だけ経った時刻として決定される。工程518の後、制御は工程508に進む。
【0068】
工程520では、現行処理ノードに関連付けられている次の情報クエリ時刻が決定される。所定の増分カウント閾値が満たされたと判定されているので、次の情報クエリ時刻は、処理ノードのシーケンスにおける現在時刻の直後に処理ノードに対応する予測時間値だけ経過した時刻に決定される。いくつかの実施形態において、処理ノードに対応する所定の時間増分カウントは、同じ処理ノードに対応する予測時間値よりも短い。したがって、現行処理ノードのカウント値が所定の増分カウント閾値を満たすと判定されると、次の情報クエリ時刻は、現行処理ノードのカウント値が所定の増分カウント閾値を満たさなかったよりも後の時刻に設定される。工程520の後、制御は工程508に進む。
【0069】
現行処理ノードの処理に関連付けられている遅延がある場合、かかる遅延を示唆するために、任意選択的に、メッセージがユーザに提示される。このように、ユーザは、要求されたビジネスサービスの一部の処理時間が予測よりも遅くなることを通知され続ける。
【0070】
工程522では、現在のビジネスサービス処理状況情報が提示される。処理状況情報が変化したと判定されているので、この新しい処理状況情報は、ビジネスサービス処理のさらなる進捗をユーザに示すために、ユーザに対して表示される。
【0071】
工程524では、現在のビジネスサービス処理状況情報に少なくとも部分的に基づいて、ビジネスサービスの処理が完了したか否かが判定される。ビジネスサービスが完全に完了した場合、現在のビジネスサービス処理状況情報は、その旨を宣言する。ビジネスサービスが完了したと判定された場合、処理は終了する。そうでない場合、制御は工程526に進む。
【0072】
工程526では、現行処理ノードは、1セットの処理ノードの内の次の処理ノードに設定される。工程526の後、制御は工程506に進む。ビジネスサービスの処理が完了していないと判定されているので、次の処理ノードが、新たな現行処理ノードとして設定され、制御は工程506に進む。さらに、新たな現行処理ノードに関連付けられているカウント値がゼロに設定され、前の処理ノード完了時刻が現在時刻に設定される。前の処理ノード完了時刻とは、最新の処理ノードが完了した時刻のことである。
【0073】
例えば、処理500は、物流ビジネスサービスに適用されてよい。ビジネスサービスは、例えば、位置Aから位置Dまで貨物を輸送(配送)することであってよく、ビジネスサービスに関連付けられている各処理ノードは、位置Aから位置Dまでの輸送ルートの一部である。以下の表1は、位置Aから位置Dまでの貨物輸送の例に関連付けられている様々な処理ノードに関連付けられている情報を含む。
【0075】
上の表1に示すように、位置Aから位置Dまでの貨物搬送のビジネスサービスは、処理ノード「ノード1」、処理ノード「ノード2」、および、処理ノード「ノード3」を含む。この例のビジネスサービス識別子は、123XYである。各処理ノードは、輸送ルート全体の一部に対応しており、輸送ルート全体の中の2つの隣接する位置の間の輸送に関連付けられている。処理ノード「ノード1」は、位置Aから位置Bまでの貨物輸送に対応し、処理ノード「ノード2」は、位置Bから位置Cまでの貨物輸送に対応し、処理ノード「ノード3」は、位置Cから位置Dまでの貨物輸送に対応する。例えば、位置Aから位置Bまでの貨物輸送が成功すると、処理ノード「ノード1」が完了する。各処理ノードに対応する予測時間値(例えば、処理ノードを完了するのに必要な予測時間量)、所定の時間増分、および、所定の増分カウント閾値が、表1に示されている。クライアントがビジネスサービス123XYについての情報クエリ要求を送信した場合、返された現在のビジネスサービス処理状況情報は、例えば、貨物が現在、位置Bから位置Cに輸送中であること、または、貨物が位置Bにすでに到着していること、を示す。現在のビジネスサービス処理状況情報の例はいずれも、処理ノード「ノード1」が完了したこと、および、処理ノード「ノード2」が現在処理されていること、を示す。
【0076】
表1の情報は、例えば、
図5の処理500などの処理で用いられてよい。処理500について述べたように、各現行処理ノードに対して、クライアントは、処理ノードに対応する予測時間値を用いて、(情報クエリ要求を送信する時を決定するためにユーザ入力を要求することなしに)情報クエリ要求をサーバに送信することが適切である時を決定する。サーバから返された情報クエリ応答が、ビジネスサービス処理状況が更新されたことを示す場合、クライアントは、その更新をユーザに提示することにより、ユーザが自分で更新をチェックする手間を省くことができる。クエリ応答が、ビジネスサービス処理状況が更新されていないことを示す場合、クライアントは、対応する所定の時間増分および所定の増分カウント閾値を用いて、情報クエリ要求を次にいつ送信するのかを決定し、場合によって、要求されたビジネスサービスの処理の遅延をユーザに通知する。
【0077】
図6は、クエリ参照メッセージを決定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理600は、
図2のサーバ206で実施される。
【0078】
処理600は、以前にビジネスサービスを要求したクライアントに送信するために、クエリ参照メッセージの内容を決定する処理の一例を示す。例えば、クエリ参照メッセージは、ビジネスサービスの最初の要求に応答して送信されるビジネスクエリ応答で送信されてよい。クライアントは、現在のビジネスサービス処理状況情報が前回の情報クエリ要求から変化した可能性がある時に、クライアントがサーバに情報クエリ要求を送信できるように、クエリ参照メッセージの内容を用いて、要求されたビジネスサービスの現在のビジネスサービス処理状況情報を受信するために情報クエリ要求をサーバに送信することが適切である時を決定してよい。
【0079】
工程602では、ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている履歴データが取得される。例えば、個々のビジネスは、識別子によって識別されてよい。例えば、ビジネスサービスが貨物輸送に関係している場合、識別子は、出発位置および宛先位置を含んでよい。いくつかの実施形態において、ビジネスサービス識別子に基づいて、サーバは、ビジネスサービスのそれぞれの処理ノードに対応する実際の予測時間値の履歴を決定するために、そのビジネスサービスと同様の以前のビジネスサービスについて、(例えば、様々なビジネスサービスおよびそれらの関連処理ノードを完了させるために費やされた時間量の履歴を格納するデータベースから)実際の輸送時間の履歴をルックアップしうる。例えば、位置Bから位置Cまでの貨物輸送に関連付けられている処理ノードに対応する予測時間値は、位置Bから位置Cまでの貨物輸送に以前の輸送で実際に掛かった時間量であってよい。例えば、処理ノードを完了するのに必要な複数の履歴時間量が、各処理ノードについて決定されてよい。
【0080】
工程604では、1セットの処理ノードに対応する1セットの予測時間値が、取得された履歴データに少なくとも部分的に基づいて決定される。以下で、その処理ノードに関連付けられている履歴データに基づいて、ビジネスサービスの処理ノードに対応する予測時間値を決定するための2つの技術例を示す。
【0081】
第1の技術例:ビジネスサービスの処理ノードを完了させるのに費やした履歴時間量の平均値を決定して、処理ノードに関連付けられている予測時間値として用いる。
【0082】
第2の技術例:ビジネスサービスの処理ノードを完了させるのに費やした履歴時間量の統計的分布を決定し、統計的分布内で最も頻繁に見られる時間量を、処理ノードに関連付けられている予測時間値として用いる。
【0083】
いくつかの実施形態において、処理ノードの所定の時間増分も、その処理ノードについて取得された履歴データに基づいて決定されてよい。処理ノードに対応する所定の時間増分は、以下の2つの技術例の1つを用いて決定されてよい。
【0084】
第1の技術例:処理ノードに対応する決定済みの予測時間値の所定の割合(例えば、10%)を、その処理ノードに対応する所定の時間増分として用いる。
【0085】
第2の技術例:処理ノードを完了させるために費やされた最大履歴時間量を決定し、処理ノードに対応する決定済みの予測時間値と、処理ノードを完了させるために費やされたこの最大履歴時間量との間の差を決定する。次いで、この差
の所定の割合を、その処理ノードに対応する所定の時間増分として用いる。
【0086】
いくつかの実施形態において、処理ノードの所定の増分カウント閾値も、その処理ノードについて取得された履歴データに基づいて決定されてよい。処理ノードに対応する所定の増分カウント閾値は、以下の技術例を用いて決定されてよい。
【0087】
処理ノードに対応する所定の増分カウント閾値は、所定の増分カウント閾値および所定の増分時間の積と、指定されたビジネスサービスの処理ノードに対応する予測時間値との合計が、処理ノードを完了するために費やされた履歴最大時間量よりも若干大きくなるように決定される。すなわち、例えば、所定の増分カウント閾値から1を減算すると、対応する合計は、処理ノードを完了させるために費やされた履歴最大時間量よりも小さくなる。同様に、所定の増分カウント閾値に1を加算すると、対応する合計は、処理ノードを完了させるために費やされた履歴最大時間量よりも大きくなる。このように、処理ノードに対応する所定の増分カウント閾値を決定するこの技術例は、同じ処理ノードについて決定された所定の時間増分および予測時間値に基づいて、所定の増分カウント閾値を決定する。
【0088】
工程606では、ビジネスサービスに関連付けられているクエリ参照メッセージがクライアントに送信され、ここで、クエリ参照メッセージは、1セットの処理ノードに対応する1セットの予測時間値を少なくとも含む。いくつかの実施形態では、1セットの処理ノードに対応する予測時間値に加えて、セット内の処理ノードの順序に関連付けられているシーケンスも、クエリ参照メッセージに含まれる。いくつかの実施形態では、1セットの処理ノードに対応する予測時間値に加えて、1セットの処理ノードに対応する1セットの所定の時間増分も、クエリ参照メッセージに含まれる。いくつかの実施形態では、1セットの処理ノードに対応する予測時間値に加えて、1セットの処理ノードに対応する1セットの所定の増分カウント閾値も、クエリ参照メッセージに含まれる。
【0089】
図7は、ビジネスサービス処理状況情報を送信するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理700は、
図2のサーバ206で実施される。
【0090】
工程702では、ビジネスサービスの要求がクライアントから受信される。例えば、サーバは、位置Aから位置Dまでの貨物輸送に関連付けられているビジネスサービスを処理するための要求をクライアントから受信しうる。
【0091】
工程704では、ビジネスサービスに関連付けられているクエリ参照メッセージがクライアントに送信され、ここで、クエリ参照メッセージは、ビジネスサービスに関連付けられている少なくとも1セットの処理ノードに関連付けられている情報、1セットの処理ノードに関連付けられているシーケンス、および、1セットの処理ノードに対応する1セットの予測時間値を含む。サーバは、クエリ参照メッセージをクライアントに送信し、クライアントは、クエリ参照メッセージの内容を用いて、ビジネスサービスのどの処理ノードが現在処理されているのかを決定すると共にビジネスサービスの処理ノードが完了したか否かを予測し、その結果、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を受信するための情報クエリ要求を送信するよう構成されている。例えば、サーバは、ビジネスサービスと、対応する処理ノード(および、それらのシーケンス)との間の格納された対応付け、および/または、どの処理ノード(および、それらのシーケンス)が共通してどのビジネスサービスに関連しているかの履歴データに基づいて、どの処理ノードが要求されたビジネスサービスおよび処理ノードシーケンスに関連付けられているのかを決定しうる。いくつかの実施形態において、クエリ参照メッセージは、さらに、各処理ノードに対応する所定の時間増分および所定の増分カウント閾値を含む。いくつかの実施形態において、サーバは、処理600などの処理を用いて、クエリ参照メッセージの内容の少なくとも一部を決定する。
【0092】
工程706では、ビジネスサービスは、処理される。いくつかの実施形態において、サーバは、ビジネスサービスに関連付けられているタスクの少なくとも一部を実行する。例えば、タスクは、ビジネスサービスに関連付けられている処理ノードを含みうる。いくつかの実施形態において、サーバは、ビジネスサービスに関連付けられているタスクを決定し、サーバが他のエンティティ(例えば、貨物輸送代理店に関連付けられているデバイスなど)と通信してタスクの処理の進捗/現在状況を追跡しつつ、かかるエンティティがタスクを処理できるように、タスクの少なくとも一部を他のエンティティに送信する。いくつかの実施形態では、工程704が、工程706の前に実行されてよい。いくつかの実施形態では、工程706が、工程704の前に実行されてもよい。いくつかの実施形態では、工程704および706は、少なくとも部分的に並行して実行されてもよい。
【0093】
工程708では、情報クエリ要求がクライアントから受信される。いくつかの実施形態において、情報クエリ要求は、現在のビジネスサービス処理状況情報が求められているビジネスサービスに関連付けられたビジネスサービス識別子を含む
【0094】
工程710では、ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報が決定される。例えば、サーバは、ビジネスサービスの処理に関係する別のエンティティにクエリすることによって、ビジネスサービスに関連付けられているビジネスサービス処理状況情報を決定しうる。また、例えば、サーバは、ビジネスサービスのビジネスサービス処理状況情報が変化した場合に、ビジネスサービスに関連付けられている新たなビジネスサービス処理状況情報を記録しうる。次いで、サーバは、情報クエリ要求を受信すると、情報クエリ要求に含まれるビジネスサービス識別子に関連付けられたビジネスサービスの最新のビジネスサービス処理状況情報についてのサーバの記録をチェックし、クライアントに返す情報クエリ応答でその情報を返す。
【0095】
工程712では、現在のビジネスサービス処理状況情報を含む情報クエリ応答がクライアントに送信される。
【0096】
図8は、ビジネスサービス処理状況情報をクエリするためのシステムの一実施形態を示す図である。いくつかの実施形態において、
図2のクライアント202が、システム800を用いて実装される。この例において、システム800は、参照メッセージ受信ユニット801、クエリ処理ユニット802、クエリ送信ユニット803、および、クエリ受信ユニット804を備える。
【0097】
ユニットは、1または複数のプロセッサ上で実行されるソフトウェアコンポーネントとして、設計されたプログラム可能論理デバイスおよび/または特定用途向け集積回路などのハードウェアとして実装されてよく、要素は、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワーク装置など)に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体(光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど)に格納することができるソフトウェア製品の形態で具現化されてよい。ユニットは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。
【0098】
参照メッセージ受信ユニット801は、サーバによって送信されたクエリ参照メッセージを受信するよう構成されている。クエリ参照メッセージは、クライアントによって以前に要求されたビジネスサービスに関連付けられている1セットの処理ノードに対応する1セットの予測時間値を少なくとも含む。
【0099】
クエリ処理ユニット802は、現行処理ノードに対応する予測時間値に基づいて、次の情報クエリ時刻を決定するよう構成されている。例えば、予測時間値が、現行処理ノードがそれまでに完了する必要のある時間量である場合、次の情報クエリ時間は、クエリ参照メッセージの受信時刻またはクライアントでの現在時刻のいずれかから現行処理ノードに対応する予測時間値だけ経過した時刻に決定される。
【0100】
クエリ送信ユニット803は、クライアントでの現在時刻を監視して、次の情報クエリ時刻になった時を判定するよう構成されている。次の情報クエリ時刻になったとの判定に応答して、クエリ送信ユニット803は、情報クエリ要求をサーバに送信するよう構成されており、ここで、情報クエリ要求は、対象となるビジネスサービスのビジネスサービス識別子を含む。
【0101】
クエリ受信ユニット804は、情報クエリ要求に応答してサーバによって送信された情報クエリ応答を受信するよう構成されている。情報クエリ応答は、ビジネスサービスの現在のビジネスサービス処理状況情報を含む。
【0102】
いくつかの実施形態において、クエリ処理ユニット802は、クエリ受信ユニット804が、サーバによって送信された情報クエリ応答を受信した後に、受信した情報クエリ応答に含まれる現在のビジネスサービス処理状況情報を抽出するよう構成されている。クエリ処理ユニット802は、現在のビジネスサービス処理状況情報がクライアントによって格納されたビジネスサービス処理状況情報と同じではないと判定した場合、ビジネスサービス処理状況情報が(例えば、要求されたビジネスサービスに対する処理が開始されて以来、または、クライアントによって送信された前回の情報クエリ要求以来)更新されたと判定する。
【0103】
いくつかの実施形態において、参照メッセージ受信ユニット801によって受信されたクエリ参照メッセージは、さらに、1セットの処理ノードに対応する所定の時間増分を含む。
【0104】
いくつかの実施形態において、クエリ処理ユニット802は、さらに、クエリ受信ユニット804が、サーバによって送信された情報クエリ応答を受信した後に、受信した情報クエリ応答に含まれる現在のビジネスサービス処理状況情報を抽出するよう構成されている。取得された現在のビジネスサービス処理状況情報がクライアントによって格納されたビジネスサービス処理状況情報と同じであると、クエリ受信ユニット804が判定した場合、クエリ処理ユニット802は、次の情報クエリ時間を、クライアントでの現在時刻から処理ノードに対応する所定の時間増分経過した時刻に決定するよう構成されている。
【0105】
いくつかの実施形態において、参照メッセージ受信ユニット801によって受信されたクエリ参照メッセージは、さらに、1セットの処理ノードに対応する所定の増分カウント閾値を含む。
【0106】
次の情報クエリ時刻が、現行処理ノードに対応する所定の時間増分に基づいて決定された後、処理ノードに関連付けられているカウンタ値が現行処理ノードに関連付けられている所定のカウント閾値に達していないと判定された場合、クエリ処理ユニット802は、カウンタ値を増分するよう構成されている。各現行処理ノードに対応するカウンタ値は、最初にゼロで始まり、増分されるたびに1ずつ増分される。
【0107】
いくつかの実施形態において、現行処理ノードに関連付けられているカウンタ値が所定の増分カウント閾値に達したと判定された場合、クエリ処理ユニット802は、現行処理ノードに対応する予測時間値に基づいて、次の情報クエリ時間を決定するよう構成されている。
【0108】
図9は、ビジネスサービス処理状況情報を送信するためのシステムの一実施形態を示す図である。いくつかの実施形態において、
図2のサーバ206が、システム900を用いて実装される。この例において、システム900は、時間長取得ユニット901、決定ユニット902、および、参照メッセージ送信ユニット903を備える。
【0109】
時間長取得ユニット901は、要求されたビジネスサービスの各処理ノードを完了させるために費やされた履歴時間量を取得するよう構成されている。
【0110】
決定ユニット902は、ビジネスサービスの各処理ノードを完了させるために費やされた履歴時間量に基づいて、ビジネスサービスに関連付けられている1セットの処理ノードに対応する1セットの予測時間値を決定するよう構成されている。
【0111】
参照メッセージ送信ユニット903は、クエリ参照メッセージをクライアントに送信するよう構成されており、ここで、クエリ参照メッセージは、ビジネスサービスに関連付けられている1セットの処理ノードに対応する1セットの予測時間値を少なくとも含む。
【0112】
いくつかの実施形態において、決定ユニット902は、ビジネスサービスに関連付けられている1セットの処理ノードに対応する所定の時間増分および/または所定の増分カウント閾値を決定し、かかる情報をクエリ参照メッセージに含めるよう構成されている。
【0113】
本願によって提供されたシステムは、コンピュータプログラムを通して実現されてよい。当業者であれば、上述のユニット分割パターンが多くのユニット分割パターンの1つに過ぎないことを理解できる。システムが、他のユニットに分割される場合でも、または、ユニットに分割されない場合でも、上述の機能を有する限りは本願の保護範囲内に含まれる。
【0114】
本願は、本願の方法、装置(システム)、および、コンピュータプログラム製品に基づいたフローチャートおよび/またはブロック図を参照して記載されている。フローチャートおよび/またはブロック図内の各処理および/またはブロック、ならびに、フローチャートおよび/またはブロック図内の処理および/またはブロックの組み合わせは、コンピュータプログラム命令で実現されうることを理解されたい。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または、その他のプログラム可能なデータ処理装置のプロセッサに供給されてよく、その結果、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサによって命令が実行されることで、フローチャートの1または複数の処理および/またはブロック図の1または複数のブロックに記載された機能を実現するために用いられるデバイスが生成される。
【0115】
これらのコンピュータプログラム命令は、コンピュータまたは特定の方法で機能するその他のプログラム可能なデータ処理装置を導くことができるコンピュータ読み取り可能な記憶デバイス上に格納されてもよく、その結果、これらのコンピュータ読み取り可能なデバイス上に命令が格納されることで、命令デバイスを備える製品が生成される。これらの命令デバイスは、フローチャートの1または複数の処理および/またはブロック図の1または複数のブロックに記載された機能を実現する。
【0116】
これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置上にロードされてもよく、その結果、一連の動作工程が、コンピュータまたはその他のプログラム可能な装置上で実行され、コンピュータ処理が行われる。このように、コンピュータまたはその他のプログラム可能な装置上で実行された命令は、フローチャートの1または複数の処理および/またはブロック図の1または複数のブロックに記載された機能を実現するための工程を提供する。
【0117】
明らかに、当業者は、本発明の精神および範囲から逸脱することなく、本願を変形および変更することができる。したがって、本願のこれらの変形例および変更例が、特許請求の範囲および等価の技術の範囲内にある場合、本願は、これらの変形例および変更例をも網羅するものである。
【0118】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例1:ビジネスサービス処理状況情報をクエリするためのシステムであって、
1または複数のプロセッサであって、
ビジネスサービスに関連付けられている1セットの処理ノードに関連付けられている情報、前記1セットの処理ノードの各々が処理される順序を示す前記1セットの処理ノードに関連付けられているシーケンス、および、前記1セットの処理ノードに対応する1セットの予測時間値を含むクエリ参照メッセージをサーバから受信し、
前記1セットの予測時間値の内の前記現行処理ノードに対応する予測時間値に少なくとも部分的に基づいて、前記1セットの処理ノードの内の現行処理ノードに関連付けられている次の情報クエリ時刻を決定し、
前記次の情報クエリ時刻になったことに応じて、情報クエリ要求を前記サーバに送信し、
前記ビジネスサービスに関する現在のビジネスサービス処理状況情報を含む情報クエリ応答を前記サーバから受信するよう構成されている、1または複数のプロセッサと、
前記1または複数のプロセッサに接続され、前記1または複数のプロセッサに命令を提供するよう構成されている1または複数のメモリと、
を備える、システム。
適用例2:適用例1に記載のシステムであって、前記次の情報クエリ時刻は、クライアントに関連付けられている現在時刻から前記現行処理ノードに対応する前記予測時間値だけ経過した時刻に関連付けられるように決定される、システム。
適用例3:適用例1に記載のシステムであって、前記情報クエリ要求は、前記ビジネスサービスに関連付けられているビジネスサービス識別子を含む、システム。
適用例4:適用例1に記載のシステムであって、前記現在のビジネスサービス処理状況情報は、どの処理ノードが完了したか、どの処理ノードが現在まだ処理されているか、または、ビジネスサービス全体の処理が完了したか否か、の内の1または複数を示す、システム。
適用例5:適用例1に記載のシステムであって、前記1または複数のプロセッサは、前記現在のビジネスサービス処理状況情報が前記現行処理ノードが完了していないことを示す場合に、前記現行処理ノードが完了していないとの判定に関連付けられている時刻から前記現行処理ノードに対応する前記予測時間値だけ経過した時刻に関連する付けられるべき、前記次の情報クエリ時刻を決定するよう構成されている、システム。
適用例6:適用例1に記載のシステムであって、前記1または複数のプロセッサは、前記現在のビジネスサービス処理状況情報が前記現行処理ノードが完了したことを示す場合に、前記1セットの処理ノードの内の次の処理ノードを前記現行処理ノードに設定し、前記1セットの予測時間値の内の前記次の処理ノードに対応する予測時間値に少なくとも部分的に基づいて、前記次のクエリ情報クエリを決定するよう構成されている、システム。
適用例7:適用例1に記載のシステムであって、前記現行処理ノードに対応する前記予測時間値は、前記現行処理ノードに関連付けられている履歴データに少なくとも部分的に基づいて決定される、システム。
適用例8:適用例1に記載のシステムであって、前記クエリ参照メッセージは、さらに、前記1セットの処理ノードに対応する1セットの所定の時間増分と、前記1セットの処理ノードに対応する1セットの所定の増分カウント閾値と、を含む、システム。
適用例9:適用例8に記載のシステムであって、前記1または複数のプロセッサは、前記現行処理ノードが完了していないことを、前記現在のビジネスサービス処理状況情報が示す場合に、前記現行処理ノードに関連付けられているカウンタ値を増分し、前記カウンタ値が、前記1セットの所定の増分カウント閾値の内の前記現行処理ノードに対応する所定の増分カウント閾値を満たすか否かを判定するよう構成されている、システム。
適用例10:適用例9に記載のシステムであって、前記1または複数のプロセッサは、前記所定の増分カウント閾値が満たされた場合に、前記現行処理ノードに対応する前記予測時間値に少なくとも部分的に基づいて、前記次のクエリ情報クエリを決定するよう構成されている、システム。
適用例11:適用例9に記載のシステムであって、前記1または複数のプロセッサは、前記所定の増分カウント閾値が満たされていない場合に、前記1セットの所定の時間増分の内の前記現行処理ノードに対応する所定の時間増分に少なくとも部分的に基づいて、前記次のクエリ情報クエリを決定するよう構成されている、システム。
適用例12:ビジネスサービス処理状況情報をクエリするための方法であって、
ビジネスサービスに関連付けられている1セットの処理ノードに関する情報、前記1セットの処理ノードの各々が処理される順序を示す前記1セットの処理ノードに関連付けられているシーケンス、および、前記1セットの処理ノードに対応する1セットの予測時間値を含むクエリ参照メッセージをサーバから受信し、
前記1セットの予測時間値の内の前記現行処理ノードに対応する予測時間値に少なくとも部分的に基づいて、前記1セットの処理ノードの内の現行処理ノードに関連付けられている次の情報クエリ時刻を決定し、
前記次の情報クエリ時刻になったことに応じて、情報クエリ要求を前記サーバに送信し、
前記ビジネスサービスに関連付けられている現在のビジネスサービス処理状況情報を含む情報クエリ応答を前記サーバから受信すること、
を備える、方法。
適用例13:適用例12に記載の方法であって、前記次の情報クエリ時刻は、クライアントに関連付けられている現在時刻から前記現行処理ノードに対応する前記予測時間値だけ経過した時刻に関連付けられるように決定される、方法。
適用例14:適用例12に記載の方法であって、前記情報クエリ要求は、前記ビジネスサービスに関連付けられたビジネスサービス識別子を含む、方法。
適用例15:適用例12に記載の方法であって、前記現在のビジネスサービス処理状況情報は、どの処理ノードが完了したか、どの処理ノードが現在まだ処理されているか、または、ビジネスサービス全体の処理が完了したか否か、の内の1または複数を示す、方法。
適用例16:適用例12に記載の方法であって、さらに、前記現行処理ノードが完了していないことを、前記現在のビジネスサービス処理状況情報が示す場合に、前記現行処理ノードが完了していないとの判定に関連付けられている時刻から前記現行処理ノードに対応する前記予測時間値だけ経過した時刻に関連付けられるように、前記次の情報クエリ時刻を決定することを備える、方法。
適用例17:適用例12に記載の方法であって、さらに、前記現行処理ノードが完了したことを、前記現在のビジネスサービス処理状況情報が示す場合に、前記1セットの処理ノードの内の次の処理ノードを前記現行処理ノードに設定し、前記1セットの予測時間値の内の前記次の処理ノードに対応する予測時間値に少なくとも部分的に基づいて、前記次のクエリ情報クエリを決定することを備える、方法。
適用例18:適用例12に記載の方法であって、前記現行処理ノードに対応する前記予測時間値は、前記現行処理ノードに関連付けられている履歴データに少なくとも部分的に基づいて決定される、方法。
適用例19:適用例12に記載の方法であって、前記クエリ参照メッセージは、さらに、前記1セットの処理ノードに対応する1セットの所定の時間増分と、前記1セットの処理ノードに対応する1セットの所定の増分カウント閾値と、を含む、方法。
適用例20:ビジネスサービス処理状況情報を送信するためのシステムであって、
1または複数のプロセッサであって、
ビジネスサービスの要求をクライアントから受信し、
前記ビジネスサービスに関連付けられている1セットの処理ノードに関する情報、前記1セットの処理ノードの各々が処理される順序を示す前記1セットの処理ノードに関連付けられているシーケンス、および、前記1セットの処理ノードに対応する1セットの時間値を少なくとも含む前記ビジネスサービスに関連付けられているクエリ参照メッセージを前記クライアントに送信し、
情報クエリ要求を前記クライアントから受信し、
前記ビジネスサービスに関する現在のビジネスサービス処理状況情報を決定し、
前記現在のビジネスサービス処理状況情報を含む情報クエリ応答を前記クライアントに送信するよう構成されている、1または複数のプロセッサと、
前記1または複数のプロセッサに接続され、前記1または複数のプロセッサに命令を提供するよう構成されている1または複数のメモリと、
を備える、システム。