(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】マイクロサービスのフロントエンドデスクトップ用のコンテナアプリケーション
(51)【国際特許分類】
G06F 15/00 20060101AFI20240723BHJP
G06F 21/31 20130101ALI20240723BHJP
【FI】
G06F15/00 410Z
G06F21/31
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023579004
(86)(22)【出願日】2022-05-25
(85)【翻訳文提出日】2024-02-14
(86)【国際出願番号】 US2022030898
(87)【国際公開番号】W WO2022271392
(87)【国際公開日】2022-12-29
(32)【優先日】2021-06-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519022104
【氏名又は名称】ジェイピーモルガン・チェース・バンク,ナショナル・アソシエーション
【氏名又は名称原語表記】JPMorgan Chase Bank,N.A.
【住所又は居所原語表記】383 Madison Avenue,New York,NY 10179,United States of America
(74)【代理人】
【識別番号】100087941
【氏名又は名称】杉本 修司
(74)【代理人】
【識別番号】100112829
【氏名又は名称】堤 健郎
(74)【代理人】
【識別番号】100142608
【氏名又は名称】小林 由佳
(74)【代理人】
【識別番号】100155963
【氏名又は名称】金子 大輔
(74)【代理人】
【識別番号】100150566
【氏名又は名称】谷口 洋樹
(74)【代理人】
【識別番号】100213470
【氏名又は名称】中尾 真二
(74)【代理人】
【識別番号】100220489
【氏名又は名称】笹沼 崇
(74)【代理人】
【識別番号】100225026
【氏名又は名称】古後 亜紀
(74)【代理人】
【識別番号】100230248
【氏名又は名称】杉本 圭二
(72)【発明者】
【氏名】エダマダカ・ラジェシュワリ
(72)【発明者】
【氏名】ピンガリ・ムラリ
(57)【要約】
【課題】サービシングプラットフォーム用のコンテナアプリケーションを提供する方法およびシステムを提供する。
【解決手段】複数の各ワークステーションに、ユーザインターフェースを表示する過程と、第1のユーザから、前記ユーザインターフェースを介して、第1のソフトウェアアプリケーションを受信する過程と、第2のユーザから、前記ユーザインターフェースを介して、第2のソフトウェアアプリケーションを受信する過程と、複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2および少なくとも第3の各ユーザによる前記第1および前記第2の各ソフトウェアアプリケーションの利用を可能にする過程を備える。前記ユーザインターフェースは、前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドからなる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
サービシングプラットフォーム用のコンテナアプリケーションを提供する、少なくとも1つのプロセッサに実装される方法であって、
前記少なくとも1つのプロセッサにより、複数のワークステーションの各々に、ユーザインターフェースを表示する過程と、
第1のユーザから、前記ユーザインターフェースを介して、前記少なくとも1つのプロセッサにより、第1のソフトウェアアプリケーションを受信する過程と、
第2のユーザから、前記ユーザインターフェースを介して、前記少なくとも1つのプロセッサにより、第2のソフトウェアアプリケーションを受信する過程と、
前記少なくとも1つのプロセッサにより、複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2のユーザおよび少なくとも第3のユーザの各々による前記第1および前記第2の各ソフトウェアアプリケーションの利用を可能にする過程と、
を備える、方法。
【請求項2】
請求項1に記載の方法において、前記ユーザインターフェースを表示する前記過程が、前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドを表示する副過程を含む、方法。
【請求項3】
請求項1に記載の方法において、可能にする前記過程が、前記第1および前記第2の各ソフトウェアアプリケーションについて、前記第1、前記第2および前記第3の各ユーザのアクセス認証を行う副過程を含む、方法。
【請求項4】
請求項1に記載の方法において、可能にする前記過程が、前記第1のソフトウェアアプリケーションと前記第2のソフトウェアアプリケーションとの間の通信フローを可能にする通信コンテキストを提供する副過程を含む、方法。
【請求項5】
請求項4に記載の方法において、さらに、
JavaScriptのアプリケーションプログラミングインターフェース(API)およびJavaScriptのイベントにより、前記通信フローを行う過程、
を備える、方法。
【請求項6】
請求項1に記載の方法において、前記コンテナアプリケーションが、JavaScriptのライブラリへのアクセスを提供して前記複数のソフトウェアアプリケーション間の相互作用を容易にするコンテナソフトウェア開発キット(SDK)を含む、方法。
【請求項7】
請求項1に記載の方法において、前記複数のソフトウェアアプリケーションが、Vue.jsフレームワーク、ReactJSフレームワークおよびAngularJSフレームワークのうちの少なくとも1つを有するソフトウェアアプリケーションを含む、方法。
【請求項8】
請求項1に記載の方法において、さらに、
顧客通話の受信があると、前記コンテナアプリケーションを介して、受信した該顧客通話に関する情報を前記複数のソフトウェアアプリケーションの各々に転送する過程、
を備える、方法。
【請求項9】
サービシングプラットフォーム用のコンテナアプリケーションを提供するコンピューティング装置であって、
プロセッサと、
メモリと、
前記プロセッサ及び前記メモリのそれぞれに接続した通信インターフェースと、
を備え、前記プロセッサが、
複数のワークステーションの各々に、ユーザインターフェースを表示し、
第1のユーザから、前記ユーザインターフェースおよび前記通信インターフェースを介して、第1のソフトウェアアプリケーションを受信し、
第2のユーザから、前記ユーザインターフェースおよび前記通信インターフェースを介して、第2のソフトウェアアプリケーションを受信し、
複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2のユーザおよび少なくとも第3のユーザの各々による前記第1および前記第2の各ソフトウェアアプリケーションの利用を可能にする、
ように構成されている、コンピューティング装置。
【請求項10】
請求項9に記載のコンピューティング装置において、前記プロセッサが、さらに、前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドを表示するように構成されている、コンピューティング装置。
【請求項11】
請求項9に記載のコンピューティング装置において、前記プロセッサが、さらに、前記第1および前記第2の各ソフトウェアアプリケーションについて、前記第1、前記第2および前記第3の各ユーザのアクセス認証を行うように構成されている、コンピューティング装置。
【請求項12】
請求項9に記載のコンピューティング装置において、前記プロセッサが、さらに、前記第1のソフトウェアアプリケーションと前記第2のソフトウェアアプリケーションとの間の通信フローを可能にする通信コンテキストを提供するように構成されている、コンピューティング装置。
【請求項13】
請求項12に記載のコンピューティング装置において、前記プロセッサが、さらに、JavaScriptのアプリケーションプログラミングインターフェース(API)およびJavaScriptのイベントにより、前記通信フローを行うように構成されている、コンピューティング装置。
【請求項14】
請求項9に記載のコンピューティング装置において、前記コンテナアプリケーションが、JavaScriptのライブラリへのアクセスを提供して前記複数のソフトウェアアプリケーション間の相互作用を容易にするように構成されたコンテナソフトウェア開発キット(SDK)を含む、コンピューティング装置。
【請求項15】
請求項9に記載のコンピューティング装置において、前記複数のソフトウェアアプリケーションが、Vue.jsフレームワーク、ReactJSフレームワークおよびAngularJSフレームワークのうちの少なくとも1つを有するソフトウェアアプリケーションを含む、コンピューティング装置。
【請求項16】
請求項9に記載のコンピューティング装置において、前記プロセッサが、さらに、顧客通話の受信があると、前記コンテナアプリケーションを介して、受信した該顧客通話に関する情報を前記複数のソフトウェアアプリケーションの各々に転送するように構成されている、コンピューティング装置。
【請求項17】
サービシングプラットフォーム用のコンテナアプリケーションを提供する命令を記憶した非過渡的なコンピュータ読取り可能記憶媒体であって、当該記憶媒体が、実行可能なコードを備え、該実行可能なコードは、プロセッサにより実行されると、該プロセッサに、
複数のワークステーションの各々に、ユーザインターフェースを表示する手順、
第1のユーザから、前記ユーザインターフェースを介して、第1のソフトウェアアプリケーションを受信する手順、
第2のユーザから、前記ユーザインターフェースを介して、第2のソフトウェアアプリケーションを受信する手順、ならびに
複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2のユーザおよび少なくとも第3のユーザの各々による前記第1および前記第2の各ソフトウェアアプリケーションの利用を可能にする手順、
を実行させる、記憶媒体。
【請求項18】
請求項17に記載の記憶媒体において、前記実行可能なコードは、さらに、前記プロセッサに、
前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドを表示する手順、
を実行させるように構成されている、記憶媒体。
【請求項19】
請求項17に記載の記憶媒体において、前記実行可能なコードは、さらに、前記プロセッサに、
前記第1および前記第2の各ソフトウェアアプリケーションについて、前記第1、前記第2および前記第3の各ユーザのアクセス認証を行う手順、
を実行させるように構成されている、記憶媒体。
【請求項20】
請求項17に記載の記憶媒体において、前記コンテナアプリケーションが、JavaScriptのライブラリへのアクセスを提供して前記複数のソフトウェアアプリケーション間の相互作用を容易にするコンテナソフトウェア開発キット(SDK)を含む、記憶媒体。
【発明の詳細な説明】
【関連出願】
【0001】
本願は、2021年6月22日付出願の米国特許出願第17/354,700号の優先権を主張するものであり、その全体は参照をもって取り入れたものとする。
【技術分野】
【0002】
本技術は、概して、コンテナアプリケーションを提供する方法およびシステムに関し、より詳細には、顧客やユーザとの対話が中心となるアプリケーション同士での相互作用を伴うコンタクトセンター環境のような任意の環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法およびシステムに関する。
【背景技術】
【0003】
多くの顧客を抱える大企業組織にとって、顧客サービスは事業業務の重要な側面である。一般的に、顧客は、サービス要求が時間どおり正確に処理されるであろうと想定している。企業組織からそのような顧客サービスが提供されなければ、その組織の評判に悪影響が及ぶ可能性がある。
【0004】
顧客によるサービス要求の多くは、インターネットを介してオンラインで行われる。このような要求に対し、企業組織は、コンタクトセンターを活用する場合がある。コンタクトセンターにより、組織の様々な部分からの各種サービシングアプリケーションの提供が容易になる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、アプリケーションの多様性や業務全体の規模から、ソフトウェアデベロッパーは、新たに開発したアプリケーションと、コンタクトセンターのサービスを提供するソフトウェアスイートの他の部分とを統合させるうえで、困難に直面する場合がある。
【0006】
したがって、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法およびシステムが求められている。
【課題を解決するための手段】
【0007】
本開示は、1つ以上の様々な態様及び/又は実施形態及び/又は特定の構成若しくはサブコンポーネンをとおして、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する各種システム、サーバ、装置、方法、媒体、プログラムおよびプラットフォームなどを提供する。
【0008】
本開示の一態様では、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法が提供される。同方法は、少なくとも1つのプロセッサに実装される方法である。同方法は、前記少なくとも1つのプロセッサにより、複数のワークステーションの各々に、ユーザインターフェースを表示する過程と、第1のユーザから、前記ユーザインターフェースを介して、前記少なくとも1つのプロセッサにより、第1のソフトウェアアプリケーションを受信する過程と、第2のユーザから、前記ユーザインターフェースを介して、前記少なくとも1つのプロセッサにより、第2のソフトウェアアプリケーションを受信する過程と、前記少なくとも1つのプロセッサにより、複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2のユーザおよび少なくとも第3のユーザの各々による前記第1および前記第2の各ソフトウェアアプリケーションの利用を促進するまたは該利用を可能にする過程と、を備える。
【0009】
前記ユーザインターフェースを表示する前記過程は、前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドを表示する副過程を含み得る。
【0010】
可能にする前記過程は、前記第1および前記第2の各ソフトウェアアプリケーションについて、前記第1、前記第2および前記第3の各ユーザのアクセス認証を行う副過程を含み得る。
【0011】
可能にする前記過程は、前記第1のソフトウェアアプリケーションと前記第2のソフトウェアアプリケーションとの間の通信フローを可能にする通信コンテキストを提供する副過程を含み得る。
【0012】
同方法は、さらに、JavaScriptのアプリケーションプログラミングインターフェース(API)およびJavaScriptのイベントにより、前記通信フローを行うまたは促進する過程、を備え得る。
【0013】
前記コンテナアプリケーションは、JavaScriptのライブラリへのアクセスを提供して前記複数のソフトウェアアプリケーション間の相互作用を容易にするコンテナソフトウェア開発キット(SDK)を含み得る。
【0014】
前記複数のソフトウェアアプリケーションは、Vue.jsフレームワーク、ReactJSフレームワークおよびAngularJSフレームワークのうちの少なくとも1つを有するソフトウェアアプリケーションを含み得る。
【0015】
同方法は、さらに、顧客通話の受信があると、前記コンテナアプリケーションを介して、受信した該顧客通話に関する情報を前記複数のソフトウェアアプリケーションの各々に転送する過程、を備え得る。
【0016】
例示的な他の実施形態では、サービシングプラットフォーム用のコンテナアプリケーションを提供するコンピューティング装置が提供される。同コンピューティング装置は、プロセッサと、メモリと、前記プロセッサ及び前記メモリのそれぞれに接続した通信インターフェースと、を備える。前記プロセッサは、複数のワークステーションの各々に、ユーザインターフェースを表示し、第1のユーザから、前記ユーザインターフェースおよび前記通信インターフェースを介して、第1のソフトウェアアプリケーションを受信し、第2のユーザから、前記ユーザインターフェースおよび前記通信インターフェースを介して、第2のソフトウェアアプリケーションを受信し、複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2のユーザおよび少なくとも第3のユーザの各々による前記第1および前記第2の各ソフトウェアアプリケーションの利用を促進するまたは該利用を可能にする、ように構成されている。
【0017】
前記プロセッサは、さらに、前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドを表示するように構成され得る。
【0018】
前記プロセッサは、さらに、前記第1および前記第2の各ソフトウェアアプリケーションについて、前記第1、前記第2および前記第3の各ユーザのアクセス認証を行うように構成され得る。
【0019】
前記プロセッサは、さらに、前記第1のソフトウェアアプリケーションと前記第2のソフトウェアアプリケーションとの間の通信フローを可能にする通信コンテキストを提供するように構成され得る。
【0020】
前記プロセッサは、さらに、JavaScriptのアプリケーションプログラミングインターフェース(API)およびJavaScriptのイベントにより、前記通信フローを行うまたは促進するように構成され得る。
【0021】
前記コンテナアプリケーションは、JavaScriptのライブラリへのアクセスを提供して前記複数のソフトウェアアプリケーション間の相互作用を容易にするように構成されたコンテナソフトウェア開発キット(SDK)を含み得る。
【0022】
前記複数のソフトウェアアプリケーションは、Vue.jsフレームワーク、ReactJSフレームワークおよびAngularJSフレームワークのうちの少なくとも1つを有するソフトウェアアプリケーションを含み得る。
【0023】
前記プロセッサは、さらに、顧客通話の受信があると、前記コンテナアプリケーションを介して、受信した該顧客通話に関する情報を前記複数のソフトウェアアプリケーションの各々に転送するように構成され得る。
【0024】
例示的なさらなる他の実施形態では、サービシングプラットフォーム用のコンテナアプリケーションを提供する命令を記憶した非過渡的なコンピュータ読取り可能記憶媒体が提供される。同記憶媒体は、実行可能なコードを備え、該実行可能なコードは、プロセッサにより実行されると、該プロセッサに:複数のワークステーションの各々に、ユーザインターフェースを表示する手順;第1のユーザから、前記ユーザインターフェースを介して、第1のソフトウェアアプリケーションを受信する手順;第2のユーザから、前記ユーザインターフェースを介して、第2のソフトウェアアプリケーションを受信する手順;ならびに複数のソフトウェアアプリケーションへのアクセスを提供するコンテナアプリケーションを介した前記第1、前記第2のユーザおよび少なくとも第3のユーザの各々による前記第1および前記第2の各ソフトウェアアプリケーションの利用を促進するまたは該利用を可能にする手順;を実行させる。
【0025】
前記実行可能なコードは、さらに、前記プロセッサに:前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドを表示する手順;を実行させるように構成され得る。
【0026】
前記実行可能なコードは、さらに、前記プロセッサに:前記第1および前記第2の各ソフトウェアアプリケーションについて、前記第1、前記第2および前記第3の各ユーザのアクセス認証を行う手順;を実行させるように構成され得る。
【0027】
前記コンテナアプリケーションは、JavaScriptのライブラリへのアクセスを提供して前記複数のソフトウェアアプリケーション間の相互作用を容易にするコンテナソフトウェア開発キット(SDK)を含み得る。
【0028】
以下の詳細な説明では、下記の複数の図面を参照しながら、本開示の好適な実施形態の本開示を限定しない例により、本開示のさらなる説明を行う。図面の各図をとおして、同一の符号は同一の構成/構成要素を指すものとする。
【図面の簡単な説明】
【0029】
【
図1】コンピュータシステムの一例を示す図である。
【
図3】コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法を実施するシステムの一例を示す図である。
【
図4】コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法を実施する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0030】
本開示は、1つ以上の様々な態様及び/又は実施形態及び/又は特定の構成若しくはサブコンポーネンをとおして、これまでに詳述した利点や以後詳述する利点の少なくとも1つを奏するものである。
【0031】
また、各例は、本明細書で例示的に図示・説明する本技術の1つ以上の態様の命令を記憶した1つ以上の非過渡的なコンピュータ読取り可能媒体として具現化され得る。該命令は、実行可能なコードを含むが、一部の例において、該実行可能なコードは、少なくとも1つのプロセッサにより実行されると、該プロセッサに:本明細書で図示・説明する本技術の各例の方法を実施するのに必要な各手順;を実行させる。
【0032】
図1は、本明細書で説明する実施形態に従って用いられるシステムの一例である。同システム100は、概略的に描いているが、コンピュータシステム102を含み得る。コンピュータシステム102についても、概略的に描いている。
【0033】
コンピュータシステム102は、命令群を具備し得る。該命令群は、実行されると、コンピュータシステム102に、該コンピュータシステム102単独で、あるいは、本記載の別の装置との協働で、本明細書で開示する任意の1つ以上の方法やコンピュータベースの機能を実施させ得る。コンピュータシステム102は、スタンドアロンデバイスとして動作するものであってもよいし、別のシステムや周辺機器と接続されたものであってもよい。例えば、コンピュータシステム102は、任意の1つ以上のコンピュータ、サーバ、システム、通信ネットワークまたはクラウド環境からなるものや、その中に含まれるものであり得る。さらに言えば、前記命令は、そのようなクラウドベースのコンピューティング環境で動くものであり得る。
【0034】
ネットワークに配備された場合、コンピュータシステム102は、サーバ-クライアントユーザ型のネットワーク環境におけるサーバの機能で若しくはクライアントユーザのコンピュータとして、クラウドコンピューティング環境におけるクライアントユーザのコンピュータとして、またはピアツーピア(あるいは、分散型)ネットワーク環境におけるピアコンピュータシステムとして動作し得る。コンピュータシステム102またはその一部は、パーソナルコンピュータ、タブレット型コンピュータ、セットトップボックス、携帯情報端末、モバイルデバイス、パームトップ型コンピュータ、ノートパソコン型コンピュータ、据え置き型コンピュータ、通信デバイス、ワイヤレススマートフォン、パーソナルトラステッドデバイス、ウェアラブルデバイス、全球測位衛星(GPS)デバイス、ウェブアプライアンスのような、自身が実施すべき処理を定めた命令(逐次命令など)群を実行することが可能な任意のマシンといった各種装置として実現されてもよいし、あるいは、そのような装置に組み込まれたものであってもよい。また、コンピュータシステム102は一つしか図示されていないが、別の実施形態は、個別に又は共同で命令の実行や機能の実施を行うシステム又はサブシステム同士のどのような集団を含んでいてもよい。本開示全体をとおして「システム」という用語は、1つ以上の命令群を個別に又は共同で実行して1つ以上のコンピュータ機能を実施するシステム又はサブシステム同士のどのような集団も包含していると解釈されたい。
【0035】
図1に示すように、コンピュータシステム102は、少なくとも1つのプロセッサ104を備え得る。プロセッサ104は、有形かつ非過渡的なものである。本明細書で用いる「非過渡的」という用語は、ある状態が永続される性質ではなく、ある程度の期間持続する状態の性質のことであると解釈されたい。具体的に述べると、「非過渡的」という用語は、特定の搬送波や信号といった、任意の時間に任意の場所で過渡的にしか存在しない物の性質のような、一時的な(fleeting)性質を否定する用語である。プロセッサ104は、一製造品および/またはマシンの一構成要素である。プロセッサ104は、ソフトウェア命令を実行して本明細書の各実施形態で説明するような機能を実施するように構成されている。プロセッサ104は、汎用プロセッサであり得るか、あるいは、特定用途向け集積回路(ASIC)の一部であり得る。また、プロセッサ104は、マイクロプロセッサ、マイクロコンピュータ、プロセッサチップ、コントローラ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、ステートマシンまたはプログラマブルロジックデバイスであってもよい。また、プロセッサ104は、フィールドプログラマブルゲートアレイ(FPGA)のようなプログラマブルゲートアレイ(PGA)などの論理回路や、ディスクリートゲートおよび/またはトランジスタロジックからなるその他の種類の回路であってもよい。プロセッサ104は、中央演算処理装置(CPU)、画像処理装置(GPU)または両者であってもよい。また、本明細書で説明するプロセッサは、いずれも、複数のプロセッサ、並列プロセッサまたは両者からなるものであってよい。複数のプロセッサは、一つのデバイスに含まれていても一つのデバイスと接続していてもよいし、あるいは、複数のデバイスに含まれていても複数のデバイスと接続していてもよい。
【0036】
コンピュータシステム102は、さらに、コンピュータメモリ106を備え得る。コンピュータメモリ106は、通信可能な静的メモリ、動的メモリまたは両方からなり得る。本明細書で説明するメモリは、データおよび実行可能な命令を記憶することが可能な有形の記憶媒体であり、命令が記憶されている限りは非過渡的なものである。再び述べるが、本明細書で用いる「非過渡的」という用語は、ある状態が永続される性質ではなく、ある程度の期間持続する状態の性質のことであると解釈されたい。具体的に述べると、「非過渡的」という用語は、特定の搬送波や信号といった、任意の時間に任意の場所で過渡的にしか存在しない物の性質のような、一時的な性質を否定する用語である。前記メモリは、一製造品および/またはマシンの一構成要素である。本明細書で説明するメモリは、データおよび実行可能な命令がコンピュータで読み出されることが可能なコンピュータ読取り可能媒体である。本明細書で説明するメモリは、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、電気的にプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能・プログラム可能な読み出し専用メモリ(EEPROM)、レジスタ、ハードディスク、キャッシュ、リムーバブルディスク、テープ、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、フロッピーディスク、ブルーレイディスクなどといった、当該技術分野で知られているどのような形態の記憶媒体であってもよい。メモリは、揮発性メモリであっても不揮発性メモリであってもよく、セキュアかつ/あるいは暗号化されていてもよいし、非セキュアかつ/あるいは暗号化されていなくてもよい。当然ながら、コンピュータメモリ106は、メモリ同士のどのような組合せからなるものであってもよいし、あるいは、単一のストレージからなるものであってもよい。
【0037】
コンピュータシステム102は、さらに、表示部108を備え得る。表示部108は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)、平面ディスプレイ、固体表示装置、陰極線管(CRT)、プラズマディスプレイといった、任意の種類の表示部である。このような表示部の例は、当業者であれば周知である。
【0038】
コンピュータシステム102は、さらに、キーボード、タッチ入力スクリーンもしくはパッド、音声入力、マウス、ワイヤレスキーパッドからなる遠隔操作デバイス、音声認識エンジンと接続したマイクロフォン、ビデオカメラ、スチルカメラなどのカメラ、カーソル操作デバイス、全球測位システム(GPS)デバイス、高度計、ジャイロスコープ、加速度計、近接センサなどの1つ以上の入力装置110、またはこれらの任意の組合せを備え得る。当業者であれば、コンピュータシステム102の各実施形態が入力装置110を複数備えていてもよいということが分かるであろう。その他にも、当業者であれば、さらに、入力装置110についての上記の例が全てを網羅しておらず、コンピュータシステム102が追加の又は代わりのどのような入力装置110を備えていてもよいということも分かるであろう。
【0039】
コンピュータシステム102は、さらに、本明細書で説明する任意のメモリから任意の1つ以上の命令(例えば、ソフトウェア等)群を読み出すように構成された媒体読出部112を備え得る。前記命令は、プロセッサによって実行されることで本明細書に記載の1つ以上の方法やプロセスを実施するように用いられ得る。具体的な一実施形態において、前記命令は、コンピュータシステム102で実行されている間、全体または少なくとも一部がメモリ106内および/または媒体読出部112内および/またはプロセッサ110内に存在し得る。
【0040】
コンピュータシステム102は、さらに、コンピュータシステムと共に含められるもの又はコンピュータシステム内に含められるものとして一般的に理解されて且つ知られている、例えばネットワークインターフェース114、出力装置116等(但し、これらに限定されない)といった、任意のさらなる装置、コンポーネント、部品、周辺機器、ハードウェア、ソフトウェアまたはこれらの任意の組合せを備え得る。出力装置116は、スピーカ、音声出力、映像出力、遠隔操作出力、プリンタ、またはこれらの任意の組合せであり得る(但し、これらに限定されない)。
【0041】
コンピュータシステム102の各構成要素は、バス118などの通信リンクで相互接続されて通信を行い得る。
図1に示すように、各構成要素は、内部バスを介して相互接続されて通信を行い得る。しかしながら、当業者であれば、このうちのどの構成要素が拡張バスで接続されていてもよいということが分かるであろう。また、バス118は、peripheral componentinterconnect、peripheral componentinterconnect express、parallel advancedtechnology attachment、serial advancedtechnology attachmentなどの(但し、これらに限定されない)、一般的に理解されて且つ知られている任意の規格、あるいは、その以外の規格による通信を可能にし得る。例示的な一実施形態において、バス118は、最新のブラウザでサポートされた、ブロードキャストチャネルと呼ばれるJavaScriptのイベンティング技術である、マイクロフロントエンド間のイベントバスからなるものであってもよい。また、例えば、1つ以上のマイクロフロントエンドに供給されるwebsocket等のような、サーバマイクロサービスとコンテナアプリケーションとの間のイベンティングの場合もある。サーバマイクロサービス自体も、例えばKafka等のような、別のアプリケーションのイベンティング技術を利用したものであり得る。
【0042】
コンピュータシステム102は、ネットワーク122を介して1つ以上のさらなるコンピュータ装置120と通信し得る。ネットワーク122は、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、電話網、近距離ネットワークなどの、当該技術分野において一般的に理解されて且つ知られている任意のネットワークであり得る(但し、これらに限定されない)。前記近距離ネットワークは、例えば、Bluetooth、Zigbee、赤外線、近距離通信、ultraband、またはこれらの任意の組合せからなり得る。当業者であれば、理解され且つ知られているさらなるネットワーク122が、追加で又は代わりに用いられてもよいこと、さらには、ネットワーク122の例が、上記に限定されないか又は上記で網羅されていないということが分かるであろう。また、
図1ではネットワーク122が無線ネットワークとして描かれているが、当業者であれば、ネットワーク122が有線ネットワークであってもよいということが分かるであろう。
【0043】
さらなるコンピュータ装置120は、
図1ではパーソナルコンピュータとして描かれている。しかしながら、当業者であれば、本願の代替的な実施形態において、コンピュータ装置120が、ノートパソコン型コンピュータ、タブレット型PC、携帯情報端末、モバイルデバイス、パームトップ型コンピュータ、据え置き型コンピュータ、通信デバイス、無線電話、パーソナルトラステッドデバイス、ウェブアプライアンス、サーバといった、自身が実施すべき処理を定めた命令(逐次命令など)群を実行することが可能などのような装置であってもよいということが分かるであろう。当然ながら、当業者であれば、上記の装置があくまでも例示に過ぎず、装置120が、当該技術分野において一般的に理解されて且つ知られている、本願の範囲から逸脱しないどのようなさらなるデバイスや装置であってもよいということが分かるであろう。例えば、コンピュータ装置120は、コンピュータシステム102と同一又は同様のものであってもよい。また、当業者であれば、該装置がデバイス、装置同士のどのような組合せであってもよいということも同じく理解するであろう。
【0044】
当然ながら、当業者であれば、コンピュータシステム102の上記の構成要素があくまでも例示に過ぎず、全てを網羅かつ/あるいは包括したものではないということが分かるであろう。また、該構成要素についての上記の各例も、あくまでも例示に過ぎず、同じく全てを網羅かつ/あるいは包括したものではない。
【0045】
本開示の各実施形態において、本明細書に記載の方法は、ソフトウェアプログラムを実行するハードウェアコンピュータシステムによって実施され得る。また、本発明を限定しない例示的な一実施形態に過ぎないが、該実施は、分散処理やコンポーネント/オブジェクト分散処理や並列処理からなり得る。仮想コンピュータシステム処理の構築によって本明細書に記載の方法又は機能の1つ以上を実施するようにしてもよく、本明細書に記載のプロセッサは仮想処理環境をサポートするように用いられ得る。
【0046】
本明細書で説明するように、各実施形態は、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する最適化された方法およびシステムを提供する。
【0047】
図2を参照する。同図に、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法を実施するためのネットワーク環境200の一例を概略的に示す。例示的な一実施形態において、同方法は、ネットワーク接続された例えばパーソナルコンピュータ(PC)等の任意のコンピュータプラットフォームで実行可能である。
【0048】
コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する同方法は、マイクロサービス・サービシングファブリック・コンテナ(MSFC)デバイス202によって実施され得る。MSFCデバイス202は、
図1との関連で説明したコンピュータシステム102と同一又は同様のものであり得る。MSFCデバイス202は、該MSFCデバイス202により実行されることで該MSFCデバイス202に例えばネットワークメッセージの送受信等の処理や以後図面を参照しながら図示・説明するその他の処理の実行といった処理の実施を行わせるように実行可能な命令を具備し得る、1つ以上のアプリケーションを記憶したものであり得る。該アプリケーションは、別のアプリケーションのモジュール又はコンポーネントとして実装されたものであり得る。また、該アプリケーションは、オペレーティングシステムの拡張、モジュール、プラグインなどとしても実装され得る。
【0049】
さらに言えば、該アプリケーションは、クラウドベースのコンピューティング環境で動くものであってもよい。該アプリケーションは、クラウドベースのコンピューティング環境で運用され得る1つ以上の仮想マシン又は1つ以上の仮想サーバ内で実行されるものであってもよいし、該仮想マシン又は該仮想サーバとして実行されるものであってもよい。また、該アプリケーション、さらには、MSFCデバイス202自体も、1つ又は複数の特定の物理的なネットワークコンピューティング装置に縛られるのではなく、クラウドベースのコンピューティング環境で動作する1つ又は複数の仮想サーバに設けられていてもよい。また、該アプリケーションは、MSFCデバイス202上で実行される1つ又は複数の仮想マシン(VM)で動くものであってもよい。また、本技術の1つ以上の実施形態では、MSFCデバイス202上で実行される1つ以上の仮想マシンが、ハイパーバイザによって維持又は管理されたものであり得る。例示的な一実施形態では、マイクロフロントエンドアプリケーションが、ウェブコンポーネント、インラインフレーム(Iframes)、またはデスクトップ上で動作するシックアプリケーションであり得る。
【0050】
図2のネットワーク環境200では、MSFCデバイス202が、1つ以上の通信ネットワーク210を介して、複数のデータベース206(1)~206(n)をホストする複数のサーバ装置204(1)~204(n)、さらには、複数のクライアント装置208(1)~208(n)に接続されている。MSFCデバイス202の通信インターフェース(例えば、
図1のコンピュータシステム102のネットワークインターフェース114等)は、通信ネットワーク210で全て互いに接続されているMSFCデバイス202および/またはサーバ装置204(1)~204(n)および/またはクライアント装置208(1)~208(n)と動作可能に接続して通信を行う。しかしながら、他の装置および/または要素との間のこれ以外の種類および/または数の接続および/または構成による、これ以外の種類および/または数の通信ネットワークまたはシステムが用いられてもよい。
【0051】
通信ネットワーク210は、
図1との関連で説明したネットワーク122と同一又は同様のものであり得る。しかしながら、MSFCデバイス202および/またはサーバ装置204(1)~204(n)および/またはクライアント装置208(1)~208(n)は、別のトポロジで互いに接続されていてもよい。また、ネットワーク環境200は、例えば、1つ以上のルータおよび/またはスイッチなどといった、当該技術分野において周知である(よって、本明細書では説明しない)他のネットワーク装置を含み得る。本技術により、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法を効率的に実現する方法、非過渡的なコンピュータ読取り可能媒体、MSFCデバイスなどといった、数多くの利点がもたらされる。
【0052】
あくまでも例示に過ぎないが、通信ネットワーク210は、1つ以上のローカルエリアネットワーク(LAN)または1つ以上のワイドエリアネットワーク(WAN)を含み得るとともに、イーサネットや業界標準のプロトコルのTCP/IPを利用したものであり得る、しかしながら、これら以外の種類および/または数のプロトコルおよび/または通信ネットワークが利用されてもよい。本例の通信ネットワーク210は、例えば、適切なあらゆる形態の通信トラフィック(例えば、音声、モデム等)、公衆交換電話網(PSTN)、イーサネットベースのパケットデータネットワーク(PDN)、これらの組合せなどの、任意の好適なインターフェースメカニズムやネットワーク通信技術を利用したものであってもよい。例示的な一実施形態では、サービシングファブリックが、様々なテレフォニシステムとインターフェース接続したイベント駆動型アーキテクチャにより、音声通話、ビデオ通話、電子メール、チャット、コブラウズなどといった顧客との間での様々な種類のやり取りを抽象化し、これらの各種通信チャネルをオムニチャネル型顧客対話として正規化して、コンテナアプリケーションへと届け得る。
【0053】
MSFCデバイス202は、スタンドアロンデバイスであってもよいし、あるいは、1つ以上の他のデバイス又は装置(例えば、サーバ装置204(1)~204(n)のうちの1つ以上等)と統合されたものであってもよい。具体的な一例において、MSFCデバイス202は、サーバ装置204(1)~204(n)のうちの一つからなるものであってもよいし、サーバ装置204(1)~204(n)のうちの一つにホストされたものであってもよいし、それ以外の配置構成も可能である。また、MSFCデバイス202の中の1つ以上の装置が、例えば1つ以上の公衆ネットワーク、私設ネットワークまたはクラウドネットワーク等の、同じ通信ネットワーク内または別々の通信ネットワーク内にあってもよい。
【0054】
複数のサーバ装置204(1)~204(n)は、
図1との関連で説明したコンピュータシステム102やコンピュータ装置120と同一又は同様のものであり得て、同図との関連で説明した任意の構成又は構成同士の組合せを有する。例えば、任意のサーバ装置204(1)~204(n)は、1つ以上のプロセッサ、メモリ、通信インターフェース等を有し得て、これらは、バスなどの通信リンクで互いに接続される。しかしながら、これ以外の数および/または種類のネットワーク機器が使用されていてもよい。本例のサーバ装置204(1)~204(n)は、例えば、RESTプロトコルやwebsocketプロトコルでオブジェクトを運ぶHTTPベースの及び/又はJavaScriptObjectNotation(JSON)の方法に従って通信ネットワーク210によりMSFCデバイス202から受信した要求を処理し得る。しかしながら、これ以外のプロトコルが用いられてもよい。
【0055】
サーバ装置204(1)~204(n)は、ハードウェアであってもソフトウェアであってもよいし、内部ネットワークや外部ネットワークからなり得るプール内に複数のサーバを具備したシステムを成すものであってもよい。サーバ装置204(1)~204(n)は、データベース206(1)~206(n)をホストする。データベース206(1)~206(n)は、コンテナ別ソフトウェア互換性に関するデータおよびコンタクトセンターを介して顧客に提供されるサービスに関する対話サービシングデータを格納するように構成されている。コンテナアプリケーションパーシスタンス(コンテナアプリケーション持続部)には、コンテナアドミニストレータ毎の、コンテナレイアウトおよび該レイアウト内のマイクロフロントエンドアプリケーションが含まれている。例示的な一実施形態では、マルチテナントアプリケーションのように、複数のレイアウトを複数のコンテナアドミニストレータが維持する構成がサポートされ得る。
【0056】
サーバ装置204(1)~204(n)は一つ一つの装置として描かれているが、各サーバ装置204(1)~204(n)の1つ以上の処理は、1つ以上の別々のネットワークコンピューティング装置に分散されてもよい。すると、該ネットワークコンピューティング装置同士は、共同でサーバ装置204(1)~204(n)の1つ以上を構成することになる。また、サーバ装置204(1)~204(n)は、特定の構成に限定されない。つまり、サーバ装置204(1)~204(n)は、マスタ/スレーブのアプローチで動作する複数のネットワークコンピューティング装置からなるものであってもよく、この場合、サーバ装置204(1)~204(n)のうち、任意のネットワークコンピューティング装置が、残りのネットワークコンピューティング装置の動作を管理且つ/或いは調整するように動作する。
【0057】
サーバ装置204(1)~204(n)は、例えば、クラスタアーキテクチャ内、ピアツーピアアーキテクチャ内、仮想マシン内またはクラウドアーキテクチャ内の複数のネットワークコンピューティング装置として動作し得る。つまり、本明細書で開示する技術は、一つの環境に限定されるものと解釈すべきではなく、それ以外の構成やアーキテクチャも想定される。
【0058】
また、複数のクライアント装置208(1)~208(n)も、
図1との関連で説明したコンピュータシステム102又はコンピュータ装置120と同一又は同様のものであり得て、同図との関連で説明した任意の構成又は構成同士の組合せを有する。例えば、本例のクライアント装置208(1)~208(n)は、通信ネットワーク210を介してMSFCデバイス202と相互作用することが可能な任意の種類のコンピューティング装置からなり得る。つまり、クライアント装置208(1)~208(n)は、例えばチャットアプリケーション、電子メールアプリケーション、音声テキストアプリケーション等をホストする、モバイルコンピューティング装置、据え置き型コンピューティング装置、ノートパソコン型コンピューティング装置、タブレット型コンピューティング装置、(クラウドベースのコンピュータを含む)仮想マシンなどであり得る。例示的な一実施形態において、少なくとも1つのクライアント装置208は、無線モバイル通信デバイス、すなわち、スマートフォンやタブレットや、銀行の支店や小売店で使用され得るようなキオスクである。
【0059】
クライアント装置208(1)~208(n)は、標準的なウェブブラウザ、スタンドアロンクライアントアプリケーションなどのインターフェースアプリケーションを実行するものであり得る。該インターフェースアプリケーションは、通信ネットワーク210を介してMSFCデバイス202と通信を行ってユーザの要求や情報をやり取りするためのインターフェースを提供し得る。クライアント装置208(1)~208(n)は、さらに、表示装置(例えば、表示画面、タッチスクリーン等)および/または入力装置(例えば、キーボード等)などを有し得る。例示的な一実施形態において、コンテナアプリケーションは、任意のクライアント装置208(x)上で実行される、例えば、VisualC#アプリケーション及び/又はVisualC++アプリケーション及び/又はVisualBasicアプリケーション及び/又はSalesForce(セールスフォース)のような遠隔でホストされたアプリケーションのうちの任意の1つ以上等の、ウェブブラウザアプリケーションおよび/またはネイティブ/シックアプリケーションをサポートし得る。
【0060】
本明細書ではMSFCデバイス202、サーバ装置204(1)~204(n)、クライアント装置208(1)~208(n)及び通信ネットワーク210からなる例示的なネットワーク環境200について図示・説明しているが、これ以外のトポロジによるこれ以外の種類および/または数のシステムおよび/または装置および/またはコンポーネントおよび/または構成要素が用いられてもよい。関連する技術分野の当業者であれば、本明細書で説明される各例のシステムは、各例の実装に用いる具体的なハードウェアやソフトウェアに数多くの変更が可能であることから例示に過ぎないということが分かるであろう。
【0061】
ネットワーク環境200で描かれている例えばMSFCデバイス202、サーバ装置204(1)~204(n)、クライアント装置208(1)~208(n)等の1つ以上の装置が、同じ物理マシン上の仮想インスタンスとして動作するように構成されていてもよい。すなわち、MSFCデバイス202、サーバ装置204(1)~204(n)およびクライアント装置208(1)~208(n)の1つ以上が、通信ネットワーク210を介して通信を行う別々の装置としてではなくて同じ物理的装置上で動作するものであってもよい。また、MSFCデバイス202、サーバ装置204(1)~204(n)またはクライアント装置208(1)~208(n)は、
図2で描かれている数よりも多くても少なくてもよい。
【0062】
また、任意の例の任意のシステムや装置が、2つ以上のコンピューティングシステムやコンピューティング装置に置き換えられてもよい。つまり、冗長性や複製などの分散処理の原理や利点も適宜実現されることになり、各例の装置やシステムの堅牢性や性能が高まり得る。あくまでも例示になるが、各例は、任意の適切なインターフェースメカニズムやトラフィック技術によって適切な任意の形態の通信トラフィック(例えば、音声、モデム等)単独、無線トラフィックネットワーク、セルラートラフィックネットワーク、パケットデータネットワーク(PDN)、インターネット、イントラネット、これらの組合せなどからなる任意の適切なネットワークをまたいで延在した、1つ以上のコンピュータシステムによって実現されてもよい。コンテナアプリケーションのレジリエンス性は:1)複数のプール又はアベイラビリティゾーン内でのコンテナサービスの複数のインスタンス、およびフロントエンドとして機能する広域負荷分散(Global Load Balancer)と組み合わせて用いられる複数のデータセンター;2)対話サービシングファブリック・マイクロサービスなどのイベントソース用のコンテナソフトウェア開発キット(SDK)やコンテナのレジリエンシーハンドリング;ならびに3)websocketのレジリエンス性およびRESTサービスのレジリエンス性;によってもたらされる。
【0063】
図3ではMSFCデバイス202がコンタクトセンター・サービシングファブリック・コンテナモジュール302を備えるものとして図示・説明されているが、MSFCデバイス202は、例えば、さらなるルール、ポリシー、モジュール、データベース、アプリケーション等を備えていてもよい。後述するように、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法を実施するように構成されている。
【0064】
例示的な一実施形態において、前記コンテナアプリケーションは、次のようなコンテナ機能一式を提供する:1)ウェブコンポーネントやインラインフレームとしての任意のフレームワーク(Vue.js、React、Angularなど)の受入れ;2)OAUTH2認証及び認証の提供;3)ウィジェット用のフレームワーク非依存のSDK;4)ライフサイクルイベント:ログイン/ログアウト/タイムアウト;5)シームレスな高可用性(HA)/レジリエンス性;6)異なるシールID間でのシームレスなログイン7;)ロールに基づく動的なレイアウト読込み;8)ウィジェットの動的な読込み(すなわち、Gaiaによりホストされたアプリケーション);9)コンポーネント間イベンティングの提供;10)websocketのイベンティング;11)Praestoの対話サービシングファブリック(ISF)(すなわち、オムニチャネル・ターゲットステート・コンタクトセンター)機能へのアクセス;ならびに12)各マイクロフロントエンドのアプリケーションID、および各レイアウトやアプリケーション毎のロール。
【0065】
例示的な一実施形態において、各アプリケーションの仕様には:1)ID:1605716178245(すなわち、コンテナアドミニストレータがエポックに基づいて生成したランダムなID);2)名前:「oc-brand-bar」(すなわち、ユーザが用意する名前);3)表示:「oc-brand-bar」(すなわち、ユーザが用意する表示)4)タグ:「oc-brand-bar」(すなわち、htmlタグでウェブコンポーネントに与えられた名称);5)JSのURL:「https://oc-brandbar.apps.dev.domain.net/src/component/BrandBarComponent.js」(すなわち、JSファイルへのURL);6)マイクロフロントエンドのURL:「https://oc-brandbar.apps.dev.domain.net」(すなわち、コンポーネントが自身を読み込むウェブURL);および7)「モード」;が含まれる。
【0066】
例示的な一実施形態において、各レイアウトは、下記の内容および公開URLを有する:レイアウトは、別のレイアウトへの変更を含み得るイベント関連動作(すなわち、動的レイアウト)で拡張されていてもよい:
【0067】
【0068】
図3は、
図2のネットワーク環境を用いてコンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する仕組みを実現するプロセス300の一例が実行される様子を描いたものである。具体的には、第1のクライアント装置208(1)および第2のクライアント装置208(2)が、MSFCデバイス202と通信可能なものとして描かれている。この点に関して、第1のクライアント装置208(1)および第2のクライアント装置208(2)は、MSFCデバイス202の「クライアント」であり得て、本明細書では、そのようなものとして説明する。とはいっても、第1のクライアント装置208(1)および/または第2のクライアント装置208(2)は、必ずしもMSFCデバイス202の「クライアント」や、本明細書でMSFCデバイス202と関連付けて説明するどのような実体である必要はないことは理解されて且つ既知であろう。第1のクライアント装置208(1)と第2のクライアント装置208(2)のいずれか一方又は両方と、MSFCデバイス202との間には、さらなる関係又は代わりの関係が存在してもよいし、あるいは、関係が一切存在していなくてもよい。
【0069】
そのほか、MSFCデバイス202は、コンテナ別ソフトウェア互換性データリポジトリ206(1)および顧客対話サービシングデータベース206(2)にアクセス可能なものとして描かれている。コンタクトセンター・サービシングファブリック・コンテナモジュール302は、これらのデータベースにアクセスすることによってコンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する方法を実施するように構成されたものであり得る。
【0070】
第1のクライアント装置208(1)は、例えば、スマートフォン等であり得る。当然ながら、第1のクライアント装置208(1)は、本明細書で説明するその他のどのような装置であってもよい。第2のクライアント装置208(2)は、例えば、パーソナルコンピュータ(PC)等であり得る。当然ながら、第2のクライアント装置208(2)も、本明細書で説明するその他のどのような装置であってもよい。
【0071】
前記プロセスは、前述のように複数のネットワークからなり得る通信ネットワーク210を介して実行され得る。例えば、例示的な一実施形態では、第1のクライアント装置208(1)と第2のクライアント装置208(2)のいずれか一方又は両方が、ブロードバンド通信又はセルラー通信でMSFCデバイス202と通信し得る。当然ながら、これらの実施形態はあくまでも例示に過ぎず、本発明を限定するものや全てを網羅したものではない。
【0072】
コンタクトセンター・サービシングファブリック・コンテナモジュール302は、起動されることで、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供するプロセスを実行する。例示的な一実施形態では、前記コンテナアプリケーションの管理的側面の利用が開始地点となる。ここでは、コンテナの管理アドミニストレータが、レイアウトを作成し、該レイアウト内のアプリケーションやその他の様々な細部を定めた後、該レイアウトを公開し得る。これにより、ユーザは、公開されたURI(Uniform Resource Indicator)から該レイアウトを読み込み、前記コンテナアプリケーションが読み込んだマイクロフロントエンドアプリケーションによって具体的なレイアウトへとアクセスする。
図4のフローチャート400に、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供する処理の一例を概略的に示す。
【0073】
図4の処理400では、ステップS402にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302が、コンテナアプリケーションのユーザに対応する複数のワークステーションの各々にユーザインターフェースを表示する。該ユーザインターフェースは、コンタクトセンター環境で用いられる複数のソフトウェアアプリケーションへのアクセスを提供する。例示的な一実施形態では、表示される各ユーザインターフェースが、前記複数のソフトウェアアプリケーションの一部に対応する複数のマイクロサービスを実現するマイクロフロントエンドからなる。コンテナとは、拡張可能なランタイムローダであり、各チームがそれぞれ独自のシールIDで且つそれぞれ独自のペースでアプリケーションの開発を進めることが可能となる。
【0074】
ステップS404にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、前記コンテナに統合させて前記コンタクトセンター環境で使用できるようにしたいソフトウェアアプリケーションがあるユーザから、該ソフトウェアアプリケーションを受信する。例示的な一実施形態において、該ソフトウェアアプリケーションは、Vue.jsフレームワークおよび/またはReactJSフレームワークおよび/またはAngularJSフレームワークのいずれかを有し得る。
【0075】
ステップS406にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、前記コンテナに統合された前記ソフトウェアアプリケーション同士の相互作用的利用を可能にするまたは該相互作用的利用を促進する。本態様では、前記コンテナへのアクセス権を有する全てのユーザが、前記コンテナに含まれる各アプリケーションを有効活用することができる。
【0076】
ステップS408にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、有資格ユーザのアクセス認証を行う。本態様において、ユーザが前記コンテナ内からアプリケーションにアクセスしたい場合には、該アプリケーションにアクセスする権限があることを証明する資格情報(credential)の提示がユーザに求められ得て、該資格情報の提示が確認されれば、そのユーザにアクセス認証が与えられ得る。例示的な一実施形態において、該アクセス認証は、コンテナのレイアウト仕様内で指定されたロールに関するものであり、特定のユーザには、その特定のユーザが有するロールを許可しているマイクロフロントエンドのみがその特定のユーザに表示される。
【0077】
ステップS410にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、前記コンテナに含まれるアプリケーション間の通信フローの通信コンテキストを提供する。該通信フローは、JavaScript(JS)のアプリケーションプログラミングインターフェース(API)およびJSのイベントによって行われ得るまたは促進されうる。例示的な一実施形態において、前記コンテキストは、例えば、コンタクトセンターのオペレータ(agent)が対応した通話等の、顧客とのやり取りである。該オペレータは、コンテナを使って多数のマイクロフロントエンドと相互作用する。各マイクロフロントエンドは、対応する通信メタデータにより、その顧客に関連した情報を適切に読み出す。このモデルは、過去の顧客とのやり取り、別の支店でのケースやアカウントなどの任意の適宜の状況が前記コンテキストとなり得る、上記以外のユースケースにも拡張することが可能である。前記通信コンテキストのフローは、通話開始時に到来し得るか、あるいは、通話中にあるマイクロフロントエンドが立ち上げられた際及び/又は別のマイクロフロントエンドに遷移した際に生じ得る。例えば、専門的知識を有する者であれば、顧客のクレジットカードに関する支援(すなわち、第1のマイクロフロントエンド)から該顧客の普通預金口座に関する支援(すなわち、第2のマイクロフロントエンド)に移行することが可能である。
【0078】
ステップS412にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、JavaScriptのライブラリへのアクセスを提供するコンテナソフトウェア開発キット(SDK)を提供する。該コンテナSDKは、前記コンテナに最終的に導入される可能性がある新しいアプリケーションをユーザが開発するのを支援する。該コンテナSDKは、前記コンテナ内のアプリケーション間の相互作用を容易にするほか、コンテナのライフサイクルイベント、サーバ側アプリケーションからのイベントの受渡し、専門的知識を有する者に顧客通話を転送する対話サービシングファブリックの提供などといったさらなる機能も可能にするまたは該機能を促進する。
【0079】
ステップS414にて、コンタクトセンター・サービシングファブリック・コンテナモジュール302は、顧客通話情報を前記コンテナに含まれるアプリケーションに転送する。この点に関しては、顧客通話の受信があると、発信者及び発信の理由に関する情報が確定され得る。その後、該情報が各種アプリケーションに転送されることで、該通話に対するサービスが行われる。同様に、前記コンテナSDKを用いることで、あるマイクロフロントエンドから別のマイクロフロントエンド、すなわち、同じブラウザ内のウェブコンポーネント、埋込みインラインフレーム、子ウィンドウまたはシックアプリケーションへと、前記コンテナと各種マイクロフロントエンドとの間のイベントブリッジによってイベントが送信される場合もある。また、あるマイクロフロントエンドから別のマイクロフロントエンドに要求を送信すること、すなわち、要求-応答のシーケンスを成すようなスタイルのイベントも可能である。結果として、あるマイクロフロントエンドから別のマイクロフロントエンドに対して変化が引き起こされ得る。前記コンテナからマイクロフロントエンドへとイベントがやり取りされることも、マイクロフロントエンドから前記コンテナへとイベントがやり取りされることもあり得る。マイクロフロントエンドから前記コンテナへのイベントも、レイアウトの変化をトリガする場合があり得る。
【0080】
したがって、本技術により、コンタクトセンター環境でのマイクロサービスのフロントエンドデスクトッププラットフォーム用のコンテナアプリケーションを提供するための最適化されたプロセスが提供される。
【0081】
例示的な実施形態を幾つか参照しながら本発明を説明したが、用いた表現は、限定的なものではなく、説明や例示の表現であるということを理解されたい。本開示の各態様の範囲や精神を逸脱しない限り、添付の特許請求の範囲の現時点や補正後の範囲内で変更が行われてもよい。特定の手段や材料や実施形態を参考に本発明を説明したが、本発明は、特定の開示内容に限定されるものではなく、むしろ、添付の特許請求の範囲の範疇にあるような、機能的に等価なあらゆる構造、方法及び用途にも及ぶ。
【0082】
例えば、コンピュータ読取り可能媒体は、単一の媒体であるか如く説明しているかもしれないが、「コンピュータ読取り可能媒体」という用語には、一元的な若しくは分散型のデータベースのような単一の媒体若しくは複数の媒体、および/または、1つ以上の命令群を格納した関連するキャッシュやサーバが包含される。また、「コンピュータ読取り可能媒体」という用語には、プロセッサに実行される命令群を記憶、符号化若しくは保持することが可能な、または本明細書で開示する任意の1つ以上の実施形態をコンピュータシステムに実施させる、あらゆる媒体が包含される。
【0083】
コンピュータ読取り可能媒体は、非過渡的な1つ以上のコンピュータ読取り可能媒体からなり得て、かつ/あるいは、過渡的な1つ以上のコンピュータ読取り可能媒体からなり得る。本発明を限定しない一具体例の実施形態では、コンピュータ読み取り可能媒体が、不揮発性の1つ以上の読み出し専用メモリを収納したメモリカードなどのパッケージのような固体メモリからなり得る。また、コンピュータ読取り可能媒体は、ランダムアクセスメモリなどの揮発性の再書込み可能メモリであり得る。また、コンピュータ読取り可能媒体には、伝送媒体を介して伝わった信号などの搬送波信号を収集してなるディスク、テープなどの記憶装置のような光磁気媒体または光学式媒体も包含され得る。したがって、本開示は、データまたは命令が記憶され得るあらゆるコンピュータ読取り可能媒体、さらには、その他の等価物や後継媒体を包含していると解釈されたい。
【0084】
本願ではコンピュータ読取り可能媒体内のコンピュータプログラム又はコードセグメントとして実現され得る特定の実施形態を説明したが、特定用途向け集積回路(ASIC)、プログラマブルロジックアレイ(PLA)などのハードウェアデバイスといった専用ハードウェア実装を、本明細書で説明する1つ以上の実施形態を実施するように構築するということも可能であるという点を理解されたい。本明細書で説明する各種実施形態からなり得る用途には、各種電子システムやコンピュータシステムが広く含まれ得る。したがって、本願は、ソフトウェア実装、ファームウェア実装、ハードウェア実装、またはこれらの組合せを包含し得る。本願のいかなる内容も、ハードウェアではなくソフトウェアのみで実装されるか又は実装可能であるかの如く解釈されるべきでない。
【0085】
本明細書では特定の実施形態で実装され得る構成要素や機能を特定の規格やプロトコルを参考に説明したが、本開示はそのような規格やプロトコルに限定されない。そのような規格は、一定期間を経て、本質的に同じ機能のより高速又はより高効率な等価物に取って代わられる。したがって、同一又は同様の機能を有する代わりの規格やプロトコルは、等価物であると見なす。
【0086】
本明細書に記載の各実施形態の図面は、各実施形態の基本的な理解をもたらすためのものである。図面は、本明細書に記載の構造や方法を利用した装置やシステムの特徴や構成要素の全てを完全に説明する役割を果たすように意図されたものではない。本開示を検討すれば、それと違う数多くの実施形態も、当業者であれば明白となり得る。本開示から、他の実施形態を派生させて利用してもよく、本開示の範囲から逸脱しない範疇で、構造や論理に置換や変更が行われてもよい。また、図面は、あくまでも象徴的なものに過ぎず、縮尺どおりに描かれていない場合もある。図中の比率は、過剰なものである場合もあれば、過小なものである場合もある。したがって、本開示および図面は、限定的なものではなく例示的なものであると考えられたい。
【0087】
本明細書では本開示の1つ以上の実施形態を単独で且つ/或いはまとめて「本発明」と称している場合があるが、これはあくまでも便宜上のものであって、任意の特定の発明や発明概念に本願の範囲を自発的に限定しているつもりはない。また、本明細書では特定の実施形態を図示・説明しているが、図示の特定の実施形態が、同一又は同様の目的を達成するように設計された任意の後発の配置構成で置き換えられる場合もあるということを理解されたい。本開示は、各実施形態の任意のあらゆる後発の調整や変形を包含しているものとする。本明細書を検討することにより、上記の実施形態や本明細書で具体的に説明していないその他の実施形態の組合せも、当業者であれば明白であろう。
【0088】
本開示の要約書は、特許請求の範囲の範疇や意味を解釈したり制限したりすることがないという理解の下で提出している。また、前述の詳細な説明では、本開示を合理化する目的で、様々な構成を単一の実施形態にまとめたり説明したりしている場合がある。本開示を理由に、各請求項に記載された実施形態が、各請求項に明記されているよりも多くの構成を必要とするという意図を反映しているかの如く解釈されるべきではない。むしろ、添付の特許請求の範囲が示唆するように、発明の主題は、任意の実施形態について、開示されているよりも少ない数の構成/構成要素に向けられていてよい。つまり、添付の特許請求の範囲は、各請求項がそれ自体で独立した主題を定義するようにして詳細な説明に組み込まれる。
【0089】
これまでに開示した主題は、例示であって限定的なものではなく、添付の特許請求の範囲は、本開示の真正な精神や範囲に含まれる上記のような全ての変更、改善及びその他の実施形態を包含しているものとする。したがって、法律で許容される最大限の範囲において、本開示の範囲は、添付の特許請求の範囲に対する最大限の広義的な解釈およびその均等物によって定まるものであって、前述の詳細な説明により制限又は限定されるものではない。
【国際調査報告】