IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サービスナウ, インコーポレイテッドの特許一覧

特許7336534作業アイテムのスキル決定のためのシステムおよび方法
<>
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図1
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図2
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図3
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図4
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図5
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図6
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図7
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図8
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図9
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図10
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図11
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図12
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図13
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図14
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図15
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図16
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図17
  • 特許-作業アイテムのスキル決定のためのシステムおよび方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-23
(45)【発行日】2023-08-31
(54)【発明の名称】作業アイテムのスキル決定のためのシステムおよび方法
(51)【国際特許分類】
   G06Q 10/0631 20230101AFI20230824BHJP
   G06F 8/34 20180101ALI20230824BHJP
【FI】
G06Q10/0631
G06F8/34
【請求項の数】 14
(21)【出願番号】P 2021556530
(86)(22)【出願日】2020-03-18
(65)【公表番号】
(43)【公表日】2022-05-19
(86)【国際出願番号】 US2020023416
(87)【国際公開番号】W WO2020191089
(87)【国際公開日】2020-09-24
【審査請求日】2021-11-16
(31)【優先権主張番号】16/358,296
(32)【優先日】2019-03-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518249328
【氏名又は名称】サービスナウ, インコーポレイテッド
【氏名又は名称原語表記】ServiceNow, Inc.
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】タン コン
(72)【発明者】
【氏名】ルチャート-ディクソン ブレンダン ヨセフ
(72)【発明者】
【氏名】イェ ティアン
(72)【発明者】
【氏名】リャン ヤン
(72)【発明者】
【氏名】ヨガナンド プリスヴィ
【審査官】小山 和俊
(56)【参考文献】
【文献】特開2016-048422(JP,A)
【文献】米国特許出願公開第2018/0260746(US,A1)
【文献】特開2003-108650(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 8/34
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
メモリと
を備えるシステムであって
前記メモリは命令を格納し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
作業アイテムを受け取ることと
前記作業アイテムを分析して、スキル決定ルールのセットの中から、少なくとも1つのスキル決定ルールを、前記作業アイテムが前記少なくとも1つのスキル決定ルールに関連付けられた1つまたは複数の条件を満たすかどうかに基づいて選択することと、
前記少なくとも1つのスキル決定ルールを適用することによって、前記作業アイテムに関連付けられた1つまたは複数のスキルを識別することと
前記作業アイテムを前記1つまたは複数の識別されたスキルに関連付ける多対多(m2m)オブジェクトを生成することと
前記m2mオブジェクトを生成することに応答して、前記m2mオブジェクトに基づき、前記1つまたは複数の識別されたスキルを含むスキルのセットに対応するレコードを含むスキルテーブルを参照すると共に、前記m2mオブジェクトに基づき、前記スキルのセットのうちの1つまたは複数のスキルを有するエージェントのセットに対応するレコードを含むエージェントテーブルを参照して、前記1つまたは複数の識別されたスキルを有する1つまたは複数のエージェントを識別することと、
前記1つまたは複数の識別されたスキルを有する前記1つまたは複数のエージェントのうちの1つのエージェントを選択することと
前記選択されたエージェントを指し示す情報を提供することと、
を行わせる、システム。
【請求項2】
記スキル決定ルールのセットは、1つまたは複数のシンプル・ルールを備え、前記作業アイテムに関連付けられた前記1つまたは複数のスキルは、前記作業アイテムの属性に基づいて識別される、請求項1に記載のシステム。
【請求項3】
記スキル決定ルールのセットは、1つまたは複数のルックアップ・ルールを備え、前記作業アイテムに関連付けられた前記1つまたは複数のスキルは、ルックアップ・テーブルを参照し、前記ルックアップ・テーブルのフィールドを、ソース・テーブルのフィールドへマッピングすることによって識別される、請求項1に記載のシステム。
【請求項4】
記スキル決定ルールのセットは、1つまたは複数のアドバンスト・ルールを備え、前記作業アイテムに関連付けられた前記1つまたは複数のスキルは、スクリプトを実行することによって識別される、請求項1に記載のシステム。
【請求項5】
前記作業アイテムは、タスクまたはインタラクションを備える、請求項1に記載のシステム。
【請求項6】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、前記作業アイテムの1つまたは複数の属性に少なくとも部分的に基づいて、前記スキル決定ルールのセットの中から、前記少なくとも1つのスキル決定ルールを選択させる、請求項1に記載のシステム。
【請求項7】
前記1つまたは複数のスキルは、必須スキル、オプションのスキル、またはその両方を備える、請求項1に記載のシステム。
【請求項8】
タスクまたはインタラクションを備える作業アイテムを受け取るステップと、
前記作業アイテムを分析して、スキル決定ルールのセットの中から、少なくとも1つのスキル決定ルールを、前記作業アイテムが前記少なくとも1つのスキル決定ルールに関連付けられた1つ又は複数の条件を満たすかどうかに基づいて選択するステップと、
前記少なくとも1つのスキル決定ルールを適用することによって、前記作業アイテムに関連付けられた1つまたは複数のスキルを識別するステップであって、前記1つまたは複数のスキルは、必須スキル、オプションのスキル、またはその両方を備える、ステップと、
前記作業アイテムを前記1つまたは複数の識別されたスキルに関連付ける多対多(m2m)オブジェクトを生成するステップと、
前記m2mオブジェクトを生成することに応答して、前記m2mオブジェクトに基づき、前記1つまたは複数の識別されたスキルを含むスキルのセットに対応するレコードを備えたスキルテーブルを参照すると共に、前記m2mオブジェクトに基づき、前記スキルのセットのうちの1つまたは複数のスキルを有するエージェントのセットに対応するレコードを備えたエージェントテーブルを参照して、前記1つまたは複数の識別されたスキルを有する1つまたは複数のエージェントを識別するステップと、
前記1つまたは複数の識別されたスキルを有する前記1つまたは複数のエージェントのうちの1つのエージェントを選択するステップと、
前記選択されたエージェントを指し示す情報を提供するステップと、
含むコンピュータによって実行される方法。
【請求項9】
記スキル決定ルールのセットは、1つまたは複数のシンプル・ルールを備え、前記作業アイテムに関連付けられた前記1つまたは複数のスキルは、前記作業アイテムの属性に基づいて識別される、請求項に記載のコンピュータによって実行される方法。
【請求項10】
記スキル決定ルールのセットは、1つまたは複数のルックアップ・ルールを備え、前記作業アイテムに関連付けられた前記1つまたは複数のスキルは、ルックアップ・テーブルを参照し、前記ルックアップ・テーブルのフィールドを、ソース・テーブルのフィールドにマッピングすることによって識別される、請求項に記載のコンピュータによって実行される方法。
【請求項11】
前記ルックアップ・テーブルは、1つまたは複数の製品、1つまたは複数のサービス、またはその両方を識別する、請求項10に記載のコンピュータによって実行される方法。
【請求項12】
記スキル決定ルールのセットは、1つまたは複数のアドバンスト・ルールを備え、前記作業アイテムに関連付けられた前記1つまたは複数のスキルは、スクリプトを実行することによって識別される、請求項に記載のコンピュータによって実行される方法。
【請求項13】
前記作業アイテムの1つまたは複数の属性に少なくとも部分的に基づいて、前記スキル決定ルールのセットの中から、前記少なくとも1つのスキル決定ルールを選択するステップを含む、請求項に記載のコンピュータによって実行される方法。
【請求項14】
前記エージェントのキュー内のアイテムの数に基づいて、前記1つまたは複数の識別されたスキルを有する複数のエージェントの中から、前記1つまたは複数の識別されたスキルを有する前記エージェントを選択するステップを含む、請求項に記載のコンピュータによって実行される方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、エージェントを介したカスタマ・サービスの提供に関し、より具体的には、エージェントへの作業アイテムのルーティングおよび割当に関する。
【背景技術】
【0002】
このセクションは、以下に説明および/または特許請求される本開示の様々な態様に関する可能性のある技術の様々な態様を読者に紹介することを意図している。この考察は、本開示の様々な態様のより良い理解を容易にするための背景情報を読者に提供するのに役立つと考えられている。したがって、これらの陳述は、この観点から読まれるべきであり、先行技術の承認として読まれるべきではないことを理解されたい。
【0003】
組織は、規模に関係なく、その継続的な運用および成功のために、情報技術(IT)ならびにデータおよびサービスへのアクセスに依存している。それぞれの組織のITインフラストラクチャには、関連付けられたハードウェア・リソース(たとえば、コンピューティング・デバイス、ロード・バランサ、ファイアウォール、スイッチなど)と、ソフトウェア・リソース(たとえば、生産性ソフトウェア、データベース・アプリケーション、カスタム・アプリケーションなど)を有し得る。時間の経過とともに、ITインフラストラクチャ・ソリューションを補完または強化するためにクラウド・コンピューティング・アプローチに目を向ける組織がますます増えている。
【0004】
クラウド・コンピューティングは、インターネットを介して一般的にアクセスされるコンピューティング・リソースの共有に関する。特に、クラウド・コンピューティング・インフラストラクチャにより、個人および/または企業などのユーザは、サーバ、ストレージ・デバイス、ネットワーク、アプリケーション、および/または、他のコンピューティング・ベースのサービスなどのコンピューティング・リソースの共有プールにアクセスできる。そうすることにより、ユーザは、遠隔にあるコンピューティング・リソースにオンデマンドでアクセスでき、そのリソースは、様々なコンピューティング機能(たとえば、大量のコンピューティング・データの保存および/または処理)を実行するために使用され得る。企業および他の組織のユーザにとって、クラウド・コンピューティングは、高価なネットワーク機器の購入や、プライベート・ネットワーク・インフラストラクチャの確立に多大な時間を費やすなど、大きな先行投資を発生させることなく、クラウド・コンピューティング・リソースにアクセスする際の柔軟性を提供する。その代わりに、クラウド・コンピューティング・リソースを利用することで、ユーザは、企業のコア機能に集中するように、リソースをリダイレクトできる。
【0005】
現代の通信ネットワークでは、ユーザが利用し得るクラウド・コンピューティング・サービスの例は、いわゆる、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのソフトウェア(SaaS)、およびサービスとしてのプラットフォーム(PaaS)技術を含む。IaaSは、プロバイダがハードウェア・インフラストラクチャの複雑さを抽象化し、仮想サーバとストレージの迅速で簡素化されたプロビジョニングを提供して、企業がオンデマンドでコンピューティング容量にアクセスできるようにするモデルである。しかしながら、そのようなアプローチでは、ユーザは、プラットフォームの構成要素およびアプリケーションを搭載し維持する必要がある。SaaSは、ソフトウェアを、最終製品ではなくサービスとして提供する配信モデルである。ローカル・ネットワークまたは個々のソフトウェア・インストールを利用する代わりに、ソフトウェアは通常、サブスクリプション・ベースでライセンスされ、リモート・マシンでホストされ、必要に応じてクライアント・カスタマによってアクセスされる。たとえば、ユーザは通常、Webブラウザを介して様々な企業および/または情報技術(IT)関連のソフトウェアにアクセスできる。PaaSは、ユーザのニーズを満たすためにカスタマイズ可能性と拡張性の機能を提供することにより、ソフトウェア・サービスの提供を超えたSaaSの拡張として機能する。たとえば、PaaSは、ユーザがアプリケーションを開発、修正、および/またはカスタマイズしたり、および/または、ネットワーク・インフラストラクチャを維持したり、および/または、これらの機能に通常関連付けられているコンピューティング・リソースを割り当てたりすることなく、企業オペレーションを自動化するための、クラウド・ベースの開発プラットフォームを提供できる。
【0006】
サービス・プロバイダは、1人または複数人のエージェントのチームを介して、そのカスタマにカスタマ・サービスを提供し得る。カスタマは、エージェントがタスクを実行したり、インタラクションすることを要求する通信を、サービス・プロバイダに提供する場合があり、これにより、作業アイテムが発生し得る。通常、作業アイテムは、レビュー担当者によってマニュアルでレビューされる。レビュー担当者は、作業アイテムの解決または対処に関与し得るアクションを予測し、利用可能なサービス・エージェントを検討し、作業アイテムをサービス・エージェントに割り当てる。このプロセスは、遅く、面倒で、時間がかかり、エラーが発生しやすく、費用がかかる場合がある。
【発明の概要】
【0007】
本明細書に開示される特定の実施形態の要約が、以下に記載される。これらの態様は、単に読者にこれらの特定の実施形態の簡単な要約を提供するために提示されており、これらの態様は、本開示の範囲を限定することを意図していないことを理解されたい。実際、この開示は、以下に記載されていない可能性のある様々な態様を包含し得る。
【0008】
開示される主題は、作業アイテムに関連付けられたスキルを識別するために、スキル決定ルールを定義し、次にスキル決定ルールを使用するための技法を含む。具体的には、スキル決定ルールを定義することは、新しいスキル決定ルールを作成するか、または既存のスキル決定ルールを編集する要求を受け取ることを含み得る。次に、スキル決定ルール定義GUIが生成され、表示され得る。スキル決定ルールのタイプが選択され得る。シンプル・ルールは、作業アイテムの属性に基づいて、作業アイテムに関連付けられたスキルを識別し得る。ルックアップまたは動的ルールは、ルックアップ・テーブルを参照し、ルックアップ・テーブルのフィールドをソース・テーブルのフィールドにマッピングすることにより、作業アイテムに関連付けられたスキルを識別し得る。アドバンスト・ルールでは、スクリプトを実行することにより、作業アイテムに関連付けられたスキルを識別し得る。選択されたルールのタイプに応じて、ユーザは、選択したタイプのルールを定義する入力を提供し得る。入力が提供されると、新しいルールおよび/または更新されたルールを含めるように、1つまたは複数のテーブルが更新され得る。
【0009】
スキル決定ルールが定義されると、作業アイテムを受け取ったとき、関連スキル決定ルールが識別され、適用され得る。関連スキル決定ルールが、シンプル・ルールである場合、関連スキルは、作業アイテムの属性に基づいて識別され得る。関連スキル決定ルールが、ルックアップまたは動的ルールである場合、関連スキルは、ルックアップ・テーブルを参照し、ルックアップ・テーブルのフィールドをソース・テーブルのフィールドにマッピングすることによって識別され得る。関連スキル決定ルールが、アドバンスト・ルールである場合、関連スキルは、作業アイテムでスクリプトを実行することによって識別され得る。関連スキルが識別されると、多対多(m2m)オブジェクトが生成され、作業アイテムが、関連スキルに関連付けられ得る。識別されたスキルを有するエージェントが識別され得る。複数のエージェントが識別された場合、エージェントが選択され、作業アイテムが、選択されたエージェントのキューに追加され得る。
【0010】
本開示の様々な態様に関連して、上記の機能の様々な改良が存在し得る。これらの様々な態様にも同様に、さらなる機能が組み込まれ得る。これらの改良点および追加機能は、個別に、または任意の組合せで存在し得る。たとえば、例示される実施形態のうちの1つまたは複数に関して以下で論じられる様々な機能は、本開示の上記の態様のいずれかに、単独でまたは任意の組合せで組み込まれ得る。上記に提示された要約は、特許請求される主題に限定されることなく、本開示の実施形態の特定の態様および文脈を読者に理解させることのみを目的とする。
【0011】
本開示の様々な態様は、以下の詳細な説明を読み、以下の図面を参照することにより、より良く理解され得る。
【図面の簡単な説明】
【0012】
図1】本開示の実施形態が動作し得るクラウド・アーキテクチャの実施形態のブロック図である。
図2】本開示の実施形態が動作し得るマルチ・インスタンス・クラウド・アーキテクチャの実施形態の概略図である。
図3】本開示の態様にしたがって、図1および図2に存在し得るコンピューティング・システムで利用されるコンピューティング・デバイスのブロック図である。
図4】本開示の態様にしたがって、仮想サーバがクライアント・インスタンスをサポートおよび有効化する実施形態を例示するブロック図である。
図5】本開示の態様による、エージェントの1つまたは複数のグループを介して、カスタマ・サービスを提供するためのアーキテクチャを示す概略図である。
図6】本開示の態様による、図5に示されるアーキテクチャのルーティングおよび割当システムによって実行されるプロセスのフローチャートである。
図7】本開示の態様による、スキル決定のためのルーティングおよび割当システムによって使用されるテーブルのスキーマの実施形態を示す図である。
図8】本開示の態様による、シンプル・ルールを定義するためのシンプル・ルール定義グラフィカル・ユーザ・インターフェース(GUI)の実施形態のスクリーンショットである。
図9】本開示の態様による、ルックアップ・ルールまたは動的ルールを定義するためのルックアップまたは動的ルール定義GUIの実施形態のスクリーンショットである。
図10】本開示の態様による、図9のルックアップまたは動的ルールのためのルックアップ・テーブルの実施形態のスクリーンショットである。
図11】本開示の態様による、アドバンスト・ルールを定義するためのアドバンスト・ルール定義GUIの実施形態のスクリーンショットである。
図12】本開示の態様による、スキル決定のためのスキル・アーキテクチャの概略図である。
図13】本開示の態様による、作業アイテムのスキル決定のための1つまたは複数のルールを定義するためのプロセスのフローチャートである。
図14】本開示の態様による、作業アイテムを受け取り、作業アイテムに関連付けられたスキルを識別するためのプロセスのフローチャートである。
図15】本開示の態様による、シンプルVIPスキル決定ルールを適用する例を示す図である。
図16】本開示の態様による、ルックアップ製品スキル決定ルールを適用する例を示す図である。
図17】本開示の態様による、ルックアップ言語スキル決定ルールを適用する例を示す図である。
図18】本開示の態様による、アドバンスト言語スキル決定ルールを適用する例を示す図である。
【発明を実施するための形態】
【0013】
1つまたは複数の特定の実施形態を以下に記載する。これらの実施形態の簡潔な説明を提供するために、実際の実装のすべての機能が本明細書に記載されている訳ではない。エンジニアリングまたは設計プロジェクトにおけるように、そのような実際の実装の開発では、実装ごとに異なる場合があるシステム関連および企業関連の制約への準拠など、開発者の特定の目標を達成するために、実装固有の多数の決定を行う必要があることを理解されたい。さらに、そのような開発努力は複雑で、時間を要するにも関わらず、本開示の利益を有する通常の熟練者にとって、設計、製作、および製造の日常的な作業であることを理解されたい。
【0014】
本明細書で使用される場合、「コンピューティング・システム」という用語は、単一のコンピュータ、仮想マシン、仮想コンテナ、ホスト、サーバ、ラップトップ、および/もしくはモバイルデバイス、または、コンピューティング・システム上で、もしくはコンピューティング・システムによって実行されると説明されている機能を実行するためにともに動作する複数の電子コンピューティング・デバイスなどの電子コンピューティング・デバイスを指すが、これらに限定されない。本明細書で使用される場合、「媒体」という用語は、そこに格納されていると説明されるコンテンツをともに格納する、1つまたは複数の非一時的なコンピュータ可読物理媒体を指す。実施形態は、不揮発性二次記憶装置、読取専用メモリ(ROM)、および/またはランダム・アクセス・メモリ(RAM)を含み得る。本明細書で使用される場合、「アプリケーション」という用語は、1つもしくは複数のコンピューティング・モジュール、プログラム、プロセス、ワークロード、スレッド、および/またはコンピューティング・システムによって実行されるコンピューティング命令のセットを指す。アプリケーションの例示的な実施形態は、ソフトウェア・モジュール、ソフトウェア・オブジェクト、ソフトウェア・インスタンス、および/または他のタイプの実行可能コードを含む。
【0015】
サービス・プロバイダは、1人または複数人のエージェントのチームを介して、カスタマ・サービスを提供し得る。カスタマから受け取られた通信が、作業アイテムの作成をトリガし得る。通常、作業アイテムは、レビュー担当者によってマニュアルでレビューされ、レビュー担当者は、作業アイテムの解決または対処に関与し得るアクションを予測し、利用可能なサービス・エージェントを検討し、作業アイテムをサービス・エージェントに割り当てる。このプロセスは、遅く、面倒で、時間がかかり、エラーが発生しやすく、費用がかかる場合がある。
【0016】
したがって、開示された技法は、作業アイテムに関連付けられたスキルを識別するために、スキル決定ルールを定義し、次にスキル決定ルールを使用することに関する。新しいスキル決定ルールの作成または既存のスキル決定ルールの編集の要求を受け取ると、スキル決定ルール定義GUIが生成および表示され、スキル決定ルールのタイプが選択され得る。シンプル・ルールは、作業アイテムの属性に基づいて、作業アイテムに関連付けられたスキルを識別し得る。ルックアップまたは動的ルールは、ルックアップ・テーブルを参照し、ルックアップ・テーブルのフィールドをソース・テーブルのフィールドにマッピングすることにより、作業アイテムに関連付けられたスキルを識別し得る。アドバンスト・ルールは、スクリプトを実行することにより、作業アイテムに関連付けられたスキルを識別し得る。選択されたルールのタイプに応じて、ユーザは、選択されたタイプのルールを定義する入力を提供し得る。
【0017】
スキル決定ルールが定義されると、作業アイテムの受取時に、関連スキル決定ルールが識別され、適用され得る。関連スキル決定ルールが、シンプル・ルールである場合、関連スキルは、作業アイテムの属性に基づいて識別され得る。関連スキル決定ルールが、ルックアップまたは動的ルールである場合、関連スキルは、ルックアップ・テーブルを参照し、ルックアップ・テーブルのフィールドをソース・テーブルのフィールドにマッピングすることによって識別され得る。関連スキル決定ルールが、アドバンスト・ルールである場合、関連スキルは、作業アイテムでスクリプトを実行することによって識別され得る。関連スキルが識別されると、多対多(m2m)オブジェクトが生成され、作業アイテムが、関連スキルに関連付けられる。識別されたスキルを有するエージェントが識別され得る。複数のエージェントが識別された場合、エージェントが選択され、作業アイテムが、選択されたエージェントのキューに追加され得る。
【0018】
上記を念頭に置いて、以下の図は、マルチ・インスタンス・フレームワークで組織にサービスを提供するために適用でき、本アプローチを適用できる様々なタイプの一般化されたシステム・アーキテクチャまたは構成に関する。同様に、これらのシステムおよびプラットフォームの例はまた、本明細書で論じられる技術が実装されるか、さもなければ利用され得るシステムおよびプラットフォームに関連し得る。ここで図1に目を向けると、本開示の実施形態が動作し得るクラウド・コンピューティング・システム10の実施形態の概略図が示される。クラウド・コンピューティング・システム10は、クライアント・ネットワーク12、ネットワーク14(たとえば、インターネット)、およびクラウド・ベースのプラットフォーム16を含み得る。いくつかの実装形態では、クラウド・ベースのプラットフォーム16は、構成マネジメント・データベース(CMDB)プラットフォームであり得る。1つの実施形態では、クライアント・ネットワーク12は、スイッチ、サーバ、およびルータを含むがこれらに限定されない様々なネットワーク・デバイスを有するローカル・エリア・ネットワーク(LAN)などのローカル・プライベート・ネットワークであり得る。別の実施形態では、クライアント・ネットワーク12は、1つまたは複数のLAN、仮想ネットワーク、データ・センタ18、および/または他の遠隔ネットワークを含むことができる企業ネットワークを表す。図1に示されるように、クライアント・ネットワーク12は、1つまたは複数のクライアント・デバイス20A、20B、および20Cに接続でき、クライアント・デバイスは、互いに、および/または、プラットフォーム16をホストするネットワークと通信できる。クライアント・デバイス20は、たとえば、ウェブ・ブラウザ・アプリケーションを介して、または、クライアント・デバイス20とプラットフォーム16との間のゲートウェイとして動作できるエッジ・デバイス22を介して、クラウド・コンピューティング・サービスにアクセスする、一般に、モノのインターネット(IoT)デバイスと呼ばれるコンピューティング・システムおよび/または他のタイプのコンピューティング・デバイスであり得る。図1はまた、クライアント・ネットワーク12が、プラットフォーム16、他の外部アプリケーション、データソース、およびサービスをホストするネットワークと、クライアント・ネットワーク12との間のデータの通信を容易にする、マネジメント、インスツルメンテーション、およびディスカバリ(MID)サーバ24のような、アドミニストレーションまたはマネジメント・デバイス、またはサーバを含むことを示す。図1には具体的に示されていないが、クライアント・ネットワーク12はまた、接続ネットワーク・デバイス(たとえば、ゲートウェイもしくはルータ)、またはカスタマ・ファイアウォールもしくは侵入保護システムを実装するデバイスの組合せを含み得る。
【0019】
例示される実施形態について、図1は、クライアント・ネットワーク12がネットワーク14に結合されていることを示している。ネットワーク14は、クライアント・デバイス20と、プラットフォーム16をホストするネットワークとの間でデータを転送するために、他のLAN、広域ネットワーク(WAN)、インターネット、および/または、他の遠隔ネットワークなどの1つまたは複数のコンピューティング・ネットワークを含み得る。ネットワーク14の内部のコンピューティング・ネットワークのそれぞれは、電気的および/または光学的領域で動作する有線および/またはワイヤレスのプログラマブル・デバイスを含み得る。たとえば、ネットワーク14は、セルラ・ネットワーク(たとえば、グローバル移動体通信システム(GSM)ベースのセルラ・ネットワーク)、IEEE 802.11ネットワーク、および/または他の適切な無線ベースのネットワークなどのワイヤレス・ネットワークを含み得る。ネットワーク14はまた、伝送制御プロトコル(TCP)およびインターネット・プロトコル(IP)などの任意の数のネットワーク通信プロトコルを適用し得る。図1には明示的に示されていないが、ネットワーク14は、ネットワーク14を介してデータを転送するように構成されたサーバ、ルータ、ネットワーク・スイッチ、および/または他のネットワーク・ハードウェア・デバイスなどの様々なネットワーク・デバイスを含み得る。
【0020】
図1において、プラットフォーム16をホストするネットワークは、クライアント・ネットワーク12およびネットワーク14を介してクライアント・デバイス20と通信できる遠隔ネットワーク(たとえば、クラウド・ネットワーク)であり得る。プラットフォーム16をホストするネットワークは、クライアント・デバイス20および/またはクライアント・ネットワーク12に追加のコンピューティング・リソースを提供する。たとえば、プラットフォーム16をホストするネットワークを利用することにより、クライアント・デバイス20のユーザは、様々な企業、IT、および/または他の組織関連機能のためのアプリケーションを構築および実行できる。1つの実施形態では、プラットフォーム16をホストするネットワークは、1つまたは複数のデータ・センタ18上に実装され、各データ・センタは、異なる地理的位置に対応できる。データ・センタ18のそれぞれは、複数の仮想サーバ26(本明細書では、アプリケーション・ノード、アプリケーション・サーバ、仮想サーバ・インスタンス、アプリケーション・インスタンス、またはアプリケーション・サーバ・インスタンスとも呼ばれる)を含み、各仮想サーバ26は、単一の電子コンピューティング・デバイス(たとえば、単一の物理的なハードウェア・サーバ)または複数のコンピューティング・デバイス(たとえば、複数の物理的なハードウェア・サーバ)にまたがる、物理的なコンピューティング・システム上に実装され得る。仮想サーバ26の例は、ウェブ・サーバ(たとえば、ユニタリ・アパッチ・インストール)、アプリケーション・サーバ(たとえば、ユニタリJAVA仮想マシン)、および/またはデータベース・サーバ(たとえば、ユニタリ・リレーショナル・データベース・マネジメント・システム(RDBMS)カタログ)を含むが、これらに限定されない。
【0021】
プラットフォーム16内のコンピューティング・リソースを利用するために、ネットワーク・オペレータは、様々なコンピューティング・インフラストラクチャを使用してデータ・センタ18を構成することを選択し得る。1つの実施形態では、データ・センタ18のうちの1つまたは複数は、マルチ・テナント・クラウド・アーキテクチャを使用して構成され、これによって、サーバ・インスタンス26のうちの1つは、複数のカスタマからの要求を処理し、複数のカスタマにサービスを提供できる。マルチ・テナント・クラウド・アーキテクチャを備えたデータ・センタ18は、複数のカスタマからのデータを混合して格納し、ここでは、複数のカスタマ・インスタンスが、仮想サーバ26のうちの1つに割り当てられる。マルチ・テナント・クラウド・アーキテクチャでは、特定の仮想サーバ26は、様々なカスタマのデータおよび他の情報を区別し、分離する。たとえば、マルチ・テナント・クラウド・アーキテクチャは、各カスタマからのデータを識別および分離するために、各カスタマに特定の識別子を割り当てることができる。一般に、マルチ・テナント・クラウド・アーキテクチャの実装には、サーバ・インスタンス26のうちの特定の1つに障害が発生し、特定のサーバ・インスタンスに割り当てられたすべてのカスタマが停止するなど、様々な欠点がある。
【0022】
別の実施形態では、データ・センタ18のうちの1つまたは複数は、すべてのカスタマに独自の1つまたは複数のカスタマ・インスタンスを提供するために、マルチ・インスタンス・クラウド・アーキテクチャを使用して構成される。たとえば、マルチ・インスタンス・クラウド・アーキテクチャは、各カスタマ・インスタンスに、専用のアプリケーション・サーバと、専用のデータベース・サーバとを提供できる。他の例では、マルチ・インスタンス・クラウド・アーキテクチャは、カスタマ・インスタンスごとに、単一の物理的もしくは仮想サーバ26、ならびに/または、1つもしくは複数の専用ウェブ・サーバ、1つもしくは複数の専用アプリケーション・サーバ、および1つもしくは複数のデータベース・サーバなど物理的および/もしくは仮想サーバ26の他の組合せを展開できる。マルチ・インスタンス・クラウド・アーキテクチャでは、複数のカスタマ・インスタンスが、1つまたは複数のそれぞれのハードウェア・サーバにインストールされ、各カスタマ・インスタンスには、コンピューティング・メモリ、ストレージ、処理能力などの物理的なサーバ・リソースの特定の部分が割り当てられる。そうすることで、各カスタマ・インスタンスは、データ分離、カスタマがプラットフォーム16にアクセスするための比較的少ないダウンタイム、およびカスタマ主導のアップグレード・スケジュールの利点を提供する独自のソフトウェア・スタックを有する。マルチ・インスタンス・クラウド・アーキテクチャの内部にカスタマ・インスタンスを実装する例は、図2を参照して以下でより詳細に説明される。
【0023】
図2は、本開示の実施形態が動作し得るマルチ・インスタンス・クラウド・アーキテクチャ100の実施形態の概略図である。図2は、マルチ・インスタンス・クラウド・アーキテクチャ100が、互いに地理的に分離され得る2つの(たとえば、対にされた)データ・センタ18Aおよび18Bに接続するクライアント・ネットワーク12およびネットワーク14を含むことを示す。図2を使用する例として、ネットワーク環境およびサービス・プロバイダ・クラウド・インフラストラクチャ・クライアント・インスタンス102(本明細書では、クライアント・インスタンス102とも呼ばれる)は、専用仮想サーバ(たとえば、仮想サーバ26A、26B、26C、および26D)ならびに専用データベース・サーバ(たとえば、仮想データベース・サーバ104Aおよび104B)に関連付けられる(たとえば、サポートされ、有効化される)。別の言い方をすれば、仮想サーバ26A~26Dならびに仮想データベース・サーバ104Aおよび104Bは、他のクライアント・インスタンスと共有されず、それぞれのクライアント・インスタンス102に固有である。図示される例では、クライアント・インスタンス102の可用性を容易にするために、仮想サーバ26A~26Dならびに仮想データベース・サーバ104Aおよび104Bは、2つの異なるデータ・センタ18Aおよび18Bに割り当てられ、データ・センタ18のうちの1つがバックアップ・データ・センタとして機能する。マルチ・インスタンス・クラウド・アーキテクチャ100の他の実施形態は、ウェブ・サーバなどの他のタイプの専用仮想サーバを含むことができる。たとえば、クライアント・インスタンス102は、専用仮想サーバ26A~26D、専用仮想データベース・サーバ104Aおよび104B、ならびに追加の専用仮想ウェブ・サーバ(図2には示されていない)に関連付けられる(たとえば、それらによってサポートおよび有効化される)ことができる。
【0024】
図1および図2は、それぞれ、クラウド・コンピューティング・システム10およびマルチ・インスタンス・クラウド・アーキテクチャ100の特定の実施形態を示しており、本開示は、図1および図2に示される特定の実施形態に限定されない。たとえば、図1は、プラットフォーム16がデータ・センタを使用して実装されることを示しているが、プラットフォーム16の他の実施形態は、データ・センタに限定されず、他のタイプの遠隔ネットワーク・インフラストラクチャを利用できる。さらに、本開示の他の実施形態は、1つもしくは複数の異なる仮想サーバを単一の仮想サーバに結合し得るか、または逆に、複数の仮想サーバを使用して単一の仮想サーバに起因する動作を実行し得る。たとえば、図2を使用する例として、仮想サーバ26A、26B、26C、26Dおよび仮想データベース・サーバ104A、104Bは、単一の仮想サーバに結合され得る。さらに、本アプローチは、マルチ・テナント・アーキテクチャ、一般化されたクライアント/サーバ実装、および/または、本明細書で論じられる動作の一部もしくはすべてを実行するように構成された単一の物理プロセッサ・ベースのデバイスを含むが、これらに限定されない他のアーキテクチャまたは構成で実装され得る。同様に、実装の考察を容易にするために、仮想サーバまたはマシンが参照され得るが、その代わりに、物理的なサーバが適切に適用され得る。図1および図2の使用および考察は、記載および説明を容易にするための単なる例であり、本開示を、例示されている特定の例に限定することは意図されない。
【0025】
理解され得るように、図1および図2に関して論じられたそれぞれのアーキテクチャおよびフレームワークは、様々なタイプのコンピューティング・システム(たとえば、サーバ、ワークステーション、クライアント・デバイス、ラップトップ、タブレット・コンピュータ、セルラ電話など)を全体に組み込んでいる。完全を期すために、そのようなシステムで一般的に見られる構成要素の、簡単で高レベルの概要を示す。理解され得るように、本概要は、単に、そのようなコンピューティング・システムに典型的な構成要素の高レベルの一般化された図を提供することが意図されており、論じられたまたは考察から省略された構成要素に関する限定であると見なされるべきではない。
【0026】
背景として、本アプローチは、図3に示されるような1つまたは複数のプロセッサ・ベースのシステムを使用して実施され得ることが理解され得る。同様に、本アプローチで利用されるアプリケーションおよび/またはデータベースは、そのようなプロセッサ・ベースのシステム上に格納、適用、および/または維持され得る。理解され得るように、図3に示されるようなシステムは、分散コンピューティング環境、ネットワーク環境、または他のマルチ・コンピュータ・プラットフォームもしくはアーキテクチャに存在し得る。同様に、図3に示されるようなシステムは、本アプローチが実装され得る1つまたは複数の仮想環境または計算インスタンスをサポートまたは通信する際に使用され得る。
【0027】
これを念頭に置いて、例示的なコンピュータ・システムは、図3に示されるコンピュータ構成要素のいくつかまたはすべてを含み得る。図3は、一般に、たとえば1つまたは複数のバスに沿って、コンピューティング・システム200の例示的な構成要素と、それらの可能性のある相互接続または通信経路のブロック図を示している。例示されるように、コンピューティング・システム200は、1つもしくは複数のプロセッサ202、1つもしくは複数のバス204、メモリ206、入力デバイス208、電源210、ネットワーク・インターフェース212、ユーザ・インターフェース214、および/または本明細書に記載の機能を実行する際に有用な他のコンピュータ構成要素を含み得る。
【0028】
1つまたは複数のプロセッサ202は、メモリ206に格納された命令を実行できる1つまたは複数のマイクロプロセッサを含み得る。追加的または代替的に、1つまたは複数のプロセッサ202は、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、および/または、メモリ206からの命令を呼び出さずに本明細書で論じられる機能のいくつかもしくはすべてを実行するように設計された他のデバイスを含み得る。
【0029】
他の構成要素に関して、1つまたは複数のバス204は、コンピューティング・システム200の様々な構成要素間にデータおよび/または電力を提供するための適切な電気的チャネルを含む。メモリ206は、任意の有形の、非一時的な、およびコンピュータ可読の記憶媒体を含み得る。図1では単一のブロックとして示されているが、メモリ206は、1つまたは複数の物理的な場所で同じまたは異なるタイプの複数の物理的なユニットを使用して実装できる。入力デバイス208は、1つまたは複数のプロセッサ202にデータおよび/またはコマンドを入力するための構造に対応する。たとえば、入力デバイス208は、マウス、タッチパッド、タッチスクリーン、キーボードなどを含み得る。電源210は、ライン電源および/またはバッテリ電源など、コンピューティング・デバイス200の様々な構成要素の電源に適した任意の電源であり得る。ネットワーク・インターフェース212は、1つまたは複数のネットワーク(たとえば、通信チャネル)を介して他のデバイスと通信できる1つまたは複数のトランシーバを含む。ネットワーク・インターフェース212は、有線ネットワーク・インターフェースまたはワイヤレス・ネットワーク・インターフェースを提供し得る。ユーザ・インターフェース214は、1つまたは複数のプロセッサ202から転送されたテキストまたは画像を表示するように構成されたディスプレイを含み得る。ディスプレイに加えて、および/またはディスプレイに対する代替として、ユーザ・インターフェース214は、ライト(たとえば、LED)、スピーカなどのように、ユーザとインターフェースするための他のデバイスを含み得る。
【0030】
上記を念頭に置いて、図4は、1つまたは複数の開示された実施形態にしたがって、仮想サーバ26がクライアント・インスタンス102をサポートおよび有効化する実施形態を示すブロック図である。より具体的には、図4は、上記で論じたクラウド・ベースのプラットフォーム16を含む、サービス・プロバイダ・クラウド・インフラストラクチャの一部の例を示す。クラウド・ベースのプラットフォーム16は、(たとえば、クライアント・デバイス20のウェブ・ブラウザを介して)クライアント・インスタンス102の内部で実行するネットワーク・アプリケーションへユーザ・インターフェースを提供するために、ネットワーク14を介してクライアント・デバイス20に接続される。クライアント・インスタンス102は、図2に関して説明されたものと類似の仮想サーバ26によってサポートされており、クライアント・インスタンス102の内部で本明細書に記載されている開示された機能のサポートを示すために、ここで例示される。クラウド・プロバイダ・インフラストラクチャは、一般に、クライアント・デバイス20などの複数のエンド・ユーザ・デバイスを同時にサポートするように構成され、各エンド・ユーザ・デバイスは、単一のクライアント・インスタンス102と通信している。また、クラウド・プロバイダ・インフラストラクチャは、クライアント・インスタンス102などの任意の数のクライアント・インスタンスを、1つまたは複数のエンド・ユーザ・デバイスと通信している各インスタンスと同時にサポートするように構成され得る。上記のように、エンド・ユーザはまた、ウェブ・ブラウザ内で実行されるアプリケーションを使用して、クライアント・インスタンス102とインターフェースし得る。クライアント・インスタンス102はまた、仮想アプリケーション・サーバ26および仮想データベース・サーバ104も含み得る、図4に示されるホストされたインスタンス300などの、他のインスタンスと通信するように構成され得る。
【0031】
たとえば、ホストされたインスタンス300は、サービス・エージェントからの支援を要求するクライアント・インスタンス102からの通信を受け取り得る。この通信は、サービス・エージェントによって完了されるタスク、またはサービス・エージェントを含むインタラクションを表し得る作業アイテムの作成をトリガし得る。作業アイテムは、考えられる様々なスキルのうちの1つまたはいくつかのスキルに関連付けられ得るので、作業アイテムに関連付けられた関連スキルを識別し、識別されたスキルを有するサービス・エージェントに作業アイテムを割り当てるために役立ち得る。
【0032】
図5、エージェント402の1つ以上のグループを介してカスタマ・サービスを提供するためのアーキテクチャ400を示す概略図である。例示されるように、通信404は、1つまたは複数のチャネル406を介して受け取られ得る。これらのチャネル406は、たとえば、1つまたは複数のソーシャル・メディア・プラットフォーム、電話呼出および/またはボイスメール、電子メール、テキスト・メッセージ(たとえば、SMSテキスト・メッセージ)、1つまたは複数のウェブサイト、チャット・メッセージなどを含み得る。通信404は、インタラクション408(たとえば、回答されるべき質問)および/またはタスク410(たとえば、解決されるべき問題、実行されるべき診断テストなど)を含み得る。タスク410は、エージェントによって対処または実行されるタスクまたはアイテムとして定義され得る。インタラクション408は、エージェントによって対処される会話要求として定義され得る。いくつかの実施形態では、通信は、インタラクション408およびタスク410の両方を含み得る。
【0033】
各通信404は、ルーティングおよび割当システム412へ提供される。通信404を受け取ると、ルーティングおよび割当システム412は、作業アイテム414を生成する。しかしながら、通信404の数と、作業アイテム414の数とには、1対1の割合がない場合があることを理解されたい。たとえば、いくつかの実施形態では、単一の通信404が、複数の作業アイテム414をもたらし得る(たとえば、受け取られた通信が、複数の問題を引き起こす)。他の実施形態では、(たとえば、経験している単一の問題に更新を提供する複数の通信のように)複数の通信404を組み合わせて単一の作業アイテムにすることができる。ブロック416において、各作業アイテム414は、1つまたは複数の有効なエージェント402のキュー418にルーティングされる。以下でより詳細に説明するように、作業アイテム414をキュー418にルーティングすることは、作業アイテム414を完了するためにどのスキルが利用され得るかを識別することと、それらのスキルを有するエージェント402を識別することと、作業アイテムをエージェントのキュー418へ追加することとを含み得る。作業アイテム414を完了するためにどのスキルが利用され得るかを識別することは、たとえば、(たとえば、製品、サービス、実行されるタスクなどを識別するために)通信404のテキストを分析することと、通信404の送信者を検討することと、通信404が受け取られたプラットフォームを検討することと、通信404が発信された地理的地域を検討することと、1つまたは複数のルールを適用することと、ルックアップ・テーブルを参照することと、スクリプトを実行することなどを含み得る。
【0034】
例示されるように、いくつかの実施形態では、レポート、ダッシュボード、および/またはウォールボード420は、作業アイテム414の流れに基づいて更新され得る。たとえば、レポート、ダッシュボード、および/またはウォールボード420は、開いている作業アイテム414の数、キュー418内の作業アイテム414の数、作業アイテム414が開いてから閉じるまでの時間、エージェント402が作業アイテム414をピック・アップするまでの時間などを通信し得る。さらに、レポート、ダッシュボード、および/またはウォールボード420は、エージェント402、エージェント・グループ、作業アイテム・タイプ、技術、製品/サービス、チャネル406、地理的領域などによってデータをブレークダウンし得る。
【0035】
典型的には、作業アイテム414をエージェント・キュー418にルーティングすることは、人間によってマニュアルで実行されてきた。しかしながら、作業アイテム414のエージェント・キュー418へのルーティングを自動化することにより、ルーティングは、より効率的に、より少ないエラーで、より低コストで実行され得る。
【0036】
図6は、図5のルーティングおよび割当システムによって実行されるプロセス450のフローチャートである。ブロック452において、受け取られた通信に基づいて、作業アイテムが作成または更新される。ブロック454において、ルーティングおよび割当システムは、作業アイテムに関連付けられた1つまたは複数のスキルを識別する。スキル決定(ブロック454)は、作業アイテムに関連付けられた1つまたは複数のスキルを識別するために1つまたは複数のルールを適用することを含み得る。本実施形態では、ルールは、3つのカテゴリ、すなわち、シンプル、動的またはルックアップ、およびアドバンスト、のうちの1つに分類され得る。シンプル・ルールの場合、作業アイテムの1つまたは複数の属性に基づいて1つまたは複数のスキルが決定され得る。動的ルールまたはルックアップ・ルールの場合、ルーティングおよび割当システムは、ルックアップ・テーブルを参照し、ソース・テーブルとルックアップ・テーブルとの間の関係に基づいて、1つまたは複数の関連付けられたスキルを決定し得る。アドバンスト・ルールの場合、作業アイテムに関連付けられたスキルを決定するために、作業アイテムに対してスクリプトが実行され得る。ブロック456において、ルーティングおよび割当システムは、1つまたは複数の識別されたスキルを有する1人または複数人のエージェント402を識別し、彼らのキューに作業アイテムを追加する。図示されるように、ルーティングおよび割当ブロック456は、アドバンスト作業割当(AWA)、割当ワークベンチの使用、および/または動的スケジューリング462のステップを含み得る。いくつかの実施形態では、作業アイテムのエージェントへの割当は、エージェントのキュー内のアイテムの数、エージェントが自分のキューを処理するのに要すると予想される時間、オプションのスキルの所有、識別されたスキルにおける習熟度の程度などの検討を含み得る。
【0037】
図7は、スキル決定のためにルーティングおよび割当システムによって使用されるテーブルのスキーマ500の実施形態を示す。図示されるように、sd_field_mappingテーブル502は、ルール、ソース・テーブル、ルックアップ・テーブル、ソース・テーブル・フィールド、およびルックアップ・テーブル・フィールドを識別する。ルール・フィールドは、sd_skill_determination_ruleテーブル504を参照する。sd_skill_determination_ruleテーブル504は、名前、アクティブ、タイプ、ソース・テーブル、条件、ルックアップ・テーブル、スキル・フィールド、必須事項のフィールドを含む。sd_skillテーブル506は、sd_skill_determination_ruleテーブル504、スキル、および必須事項を参照するルール・フィールドを含む。これらのテーブル502、504、506がどのように利用されるかについて、以下でより詳細に説明される。
【0038】
図8図11は、スキル管理者がスキル決定のためのルールを定義するために利用することができるユーザ・インターフェースを示す。図8は、シンプル・ルールを定義するためのシンプル・ルール定義グラフィカル・ユーザ・インターフェース(GUI)550の実施形態のスクリーンショットである。前述したように、シンプル・ルールは、作業アイテムの属性に基づいて、作業アイテムに関連付けられた1つまたは複数のスキルを決定するルールである。図示されるように、シンプル・ルール定義GUI550は、ルール定義ウィンドウ552およびスキル・リスト554を含む。ルール定義ウィンドウ552は、ルールを定義する条件を設定することを可能にする。例示されるように、ルール定義ウィンドウ552は、ルール名フィールド556およびソース・テーブル・フィールド558を含む。ルール名フィールド556は、ユーザによって入力される入力可能なテキスト・フィールドであり得る。本実施形態では、ルールは、「チャットのためのシンプル・ルール」と呼ばれる。ソース・テーブル・フィールド558は、基礎となるデータのためのソース・テーブルを識別する。
【0039】
シンプル・ルールのための1つまたは複数の条件を定義するために、フィルタ条件追加ボタン560、追加またはクローズ・ボタン562、テーブル・フィールド564、条件フィールド566、文字列フィールド568、「かつ」ボタン570、「または」ボタン572、および削除ボタン574が利用され得る。たとえば、例示される実施形態では、参照されるソース・テーブルの「簡単な説明」フィールドにおけるテキスト(すなわち、「インタラクション」)が、文字列「IT」を含む場合、条件が満たされ、シンプル・ルールが適用される。図示されるように、テーブル・フィールド564は、ソース・テーブル・フィールド558で参照されるソース・テーブルの利用可能な様々なフィールドを表示するドロップ・ダウン・メニューであり得る。同様に、条件フィールド566はまた、条件の様々なオプション(たとえば、「で始まる」、「で終わる」、「含む」、「含まない」、「である」、「ではない」、「空である」、「空ではない」、「パターンに一致する」、「正規表現に一致する」、「何でもある」、「のうちのいずれかである」、「空の文字列である」、「以下」、「以上」、「の間」、「同じ」、「異なる」など)のためのドロップ・ダウン・メニューを含み得る。文字列フィールド568は、ユーザによって入力される入力可能なフィールドであり得る。単一の条件が図示されているが、ルールに複数の条件を追加するために、フィルタ条件追加ボタン560が使用され得る。これらの条件は、ルールをトリガするためにすべての条件が満たされる必要がある、または、満たされる条件のサブセットがルールをトリガするように、論理演算(たとえば、AND、ORなど)で相互に関連付けることができる。「かつ」ボタン570および「または」ボタンは、ANDまたはOR論理演算を、所与の条件に関連付ける必要があるか否かを示すために使用され得る。さらに、条件を削除するために、削除ボタン574が使用され得る。
【0040】
アプリケーション・フィールド576は、アプリケーションがグローバルに、またはローカルにスコープされているかを示し得る。ルール・タイプ・フィールド578は、どのタイプのルール(たとえば、シンプル、動的/ルックアップ、アドバンストなど)が定義されているかを示す。図示されるように、ルール・タイプ・フィールド578は、ドロップ・ダウン・メニューからオプションを選択することによって入力され得る。アクティブ・チェック・ボックス580は、ルールおよび/または条件がアクティブであり、適用されているか否かを示す。
【0041】
ルール定義ウィンドウ552の下には、スキル・リスト554がある。図示されるように、スキル・リスト554は、ルールに関連付けられたスキルのリストを含む。スキル・リスト554における各レコードは、スキル名582、およびスキルが必須であるか否か584のためのフィールドを含む。必須スキルとは、作業アイテム(すなわち、タスクまたはインタラクション)を完了するために必要なスキルである。必須スキルを有さないエージェントには、作業アイテムは割り当てられない。同様に、オプションのスキル(すなわち、必須としてマークされていないスキル)は、作業アイテムを完了するためにオプションで必要とされるスキルである。作業アイテムに関連付けられたオプションのスキルを有していないエージェントにも、作業アイテムを割り当てられる場合がある。スキル・リスト554は、ルールに関連付けられたスキルを識別し、各スキルが必須であるか、またはルールが実施されるときに単に提案されるかを示す。たとえば、例示される実施形態では、参照されるルックアップ・テーブルの簡単な説明フィールドが文字列「IT」を含む場合、ITスキルは必須であるが、フィールド・サービス・スキルが単に提案される(すなわち、必須ではない)。図示されるように、スキル・リスト554はまた、ユーザが、スキル・リスト554にスキルを追加する、またはスキル・リスト554からスキルを削除することを可能にする編集フィールド586を含む。さらに、更新ボタン588および削除ボタン590は、ユーザが、スキル・リスト554上のスキルを編集すること、および/またはスキル・リスト554からスキルを削除することを可能にする。シンプル・ルール定義GUI550を介して情報が入力されると、システムは、図7に関して説明されたsd_skill_determination_ruleテーブル504にレコードを生成するために、提供されたデータを使用し得る。
【0042】
図9は、ルックアップ・ルール(動的ルールとも呼ばれる)を定義するためのルックアップまたは動的ルール定義GUI600の実施形態のスクリーンショットである。前述したように、ルックアップ・ルールは、ルックアップ・テーブルと、ルックアップ・テーブルとソース・テーブルとの間の関係とに基づいて、作業アイテムに関連付けられた1つまたは複数のスキルを決定するルールである。図示されるように、ルックアップ・ルール定義GUI600は、ルール定義ウィンドウ552、ならびにルックアップ属性ウィンドウ602およびフィールド・マッピング・リスト604を含む。
【0043】
例示されるように、ルックアップ属性ウィンドウ602は、ルックアップ・ルールを実施するために、ユーザが、ルックアップ・テーブルと、ルックアップ・テーブルのフィールドが、ソース・テーブルにどのように対応するかとを定義することを可能にする。具体的には、ルックアップ属性ウィンドウ602は、ルックアップ・テーブル606のためのフィールドと、ルックアップ・テーブル内のスキル・フィールド608のためのフィールドと、必須事項チェック・ボックス610とを含む。図示されるように、ルックアップ・テーブル・フィールド606およびスキル・フィールド608の両方は、利用可能なルックアップ・テーブルに基づいて自動入力されるドロップ・ダウン・メニューから、次いで、選択されたルックアップ・テーブル内のフィールドから選択され得る。フィールド・マッピング・リスト604は、1つまたは複数のレコードを含み、各レコードは、ソース・テーブル・フィールド612および対応するマップされたルックアップ・テーブル・フィールド614を識別する。フィールド・マッピング・リスト604は、図7に関して説明されたsd_field_mappingテーブル506に対応し得る。本実施形態では、たとえば、製品モデルが、作業アイテムの製品フィールドにおいて識別される場合、ルックアップ・テーブルのモデル・フィールドが参照される。作業アイテムにおけるモデル番号が、ルックアップ・テーブルのモデル・フィールドに対応している場合、ルールは、識別されたモデルのメンテナンスに関連付けられたスキルを識別する。
【0044】
図10は、図9で参照されるルックアップ・テーブル650の実施形態のスクリーンショットである。図示されるように、ルックアップ・テーブル650は、それぞれが、製品モデル652と、識別された製品モデルに関連付けられたスキル654とを識別するレコードのリストを含む。
【0045】
図11は、アドバンスト・ルールを定義するためのアドバンスト・ルール定義GUI700の実施形態のスクリーンショットである。前述したように、アドバンスト・ルールは、作業アイテムに関連付けられた1つまたは複数のスキルを決定するスクリプトを実行するルールである。図示されるように、アドバンスト・ルール定義GUI700は、ルール条件702、スクリプト・ツールバー704、およびスクリプト編集ウィンドウ706を含むルール定義ウィンドウ552を含む。図11に例示されるように、スクリプトは、スクリプト・ウィンドウ706内に現れる。ユーザは、カーソルを移動し、スクリプト・ウィンドウ706内にタイプ入力することによって、スクリプトを編集し得る。ユーザはまた、スクリプトを編集するために、スクリプト・ツールバー704における1つまたは複数のボタンを利用し得る。
【0046】
作業アイテム上でスクリプトを実行すると、スクリプトは、1つまたは複数の作業アイテムに関連付けられたスキルを決定するために、図7において識別されたテーブル(すなわち、sd_field_mappingテーブル502、sd_skill_determination_ruleテーブル504、および/またはsd_skillテーブル506)のみならず、他のテーブル(たとえば、ソース・テーブル、ルックアップ・テーブルなど)をも参照し得る。さらに、スクリプトは、sd_field_mappingテーブル502、sd_skill_determination_ruleテーブル504、および/またはsd_skillテーブル506内のレコードを、skill_adminロールを介して作成、読み取り、更新、および削除(CRUD)できる場合がある。したがって、スキル管理者は、スキル・ルールを管理するために、スクリプトを利用し得る。
【0047】
スクリプトはまた、競合を解決するため、および/またはスキル・マッピングを最新に保つために利用され得る。たとえば、作業アイテムにスキルが不要になった場合、関連付けられたマッピング・レコードを削除するために、スクリプトを使用できる。作業アイテムに新しいスキルが必要な場合、エンジンは、新しいマッピング・レコードを生成する。作業アイテムにスキルがまだ必要な場合、必須ステータスが変更されると、スクリプトは、スキルの必須ステータスを更新し得る。必須/オプションのスキルの間に競合がある場合、スクリプトは(たとえば、必須のステータスを優先することによって)、競合を解決し得る。
【0048】
図12は、スキル決定のためのスキル・アーキテクチャ750の概略図である。図示されるように、1つまたは複数の作業アイテム(たとえば、タスク410および/またはインタラクション408)が受け取られる。次に、定義されたルール(たとえば、シンプル・ルール、ルックアップ/動的ルール、および/またはアドバンスト・ルール)を識別して適用するために、ビジネス・ルールが利用される。適用されたルールに基づいて、受け取った作業アイテム408、410にスキルを関連付ける多対多(m2m)オブジェクト752、754が作成される。次に、識別されたスキルに基づいて、スキル・テーブル756(たとえば、cmn_skill)が参照され得る。次に、識別されたスキルを有する1人または複数人のエージェントを識別するために、ユーザ・テーブル758(たとえば、sts_user)が参照され得る。いくつかの実施形態では、エージェントによるスキル所有は、バイナリ方式で検討され得る(たとえば、エージェントは、スキルを有するか、またはスキルを有さないかのいずれかである)。しかしながら、他の実施形態では、スキルは、そのスキルにおけるエージェントの習熟度を反映するレベルまたはスコアを有し得る。これらは、エージェントの経験、経歴、カスタマ調査結果、監督者からの入力および/またはフィードバック、専門資格、内部資格などに基づいて決定され得る。次に、作業アイテムが、1つまたは複数の識別されたエージェントに割り当てられ、および/または、ルーティングされ得る。
【0049】
図13は、作業アイテムのスキル決定のための1つまたは複数のルールを定義するためのプロセス800のフローチャートである。ブロック802において、スキル決定ルールを作成または編集するための要求が受け取られる。次に、既存のルールを編集するための、または新しいルールを定義するためのGUI(たとえば、図8図11に関して図示され、説明されるGUI)が生成され得る。図8に関して前述したように。GUIは、ルールのタイプ(たとえば、シンプル、ルックアップ/動的、またはアドバンスト)を選択するためのドロップ・ダウン・メニューを含み得る。決定804において、プロセス800は、シンプル・ルールが選択されたか否かを決定する。シンプル・ルールが選択された場合、プロセス800は、ブロック806に進み、(たとえば、図8に図示されるように)シンプル・ルールを定義するためにGUIを更新し、シンプル・ルールを定義する入力を受け取る。
【0050】
シンプル・ルールが選択されていない場合、プロセス800は、ブロック808に進み、ルックアップ・ルールが選択されているか否かを決定する。ルックアップ・ルールが選択されている場合、プロセス800は、ブロック810に進み、(たとえば、図9に図示されるように)ルックアップ・ルールを定義するためにGUIを更新し、ルックアップ・テーブルと、ルックアップ・テーブルとソース・テーブルとのフィールド間のマッピングとを含み得るルックアップ・ルールを定義する入力を受け取る。
【0051】
ルックアップ・ルールが選択されていない場合、プロセス800は、ブロック812に進み、アドバンスト・ルールが選択されているか否かを決定する。アドバンスト・ルールが選択されている場合、プロセス800は、ブロック814に進み、(たとえば、図11に図示されるように)アドバンスト・ルールを定義するためにGUIを更新し、関連付けられたスクリプトを含み得るアドバンスト・ルールを定義する入力を受け取る。ブロック816において、1つまたは複数のテーブル(たとえば、sd_field_mappingテーブル502、sd_skill_determination_ruleテーブル504、および/またはsd_skillテーブル506)は、新しいまたは更新されたルールを反映するように更新され得る。
【0052】
図14は、作業アイテムを受け取り、作業アイテムに関連付けられたスキルを識別するためのプロセス850のフローチャートである。ブロック852において、作業アイテムが受け取られる。ブロック854において、プロセスは、関連スキル決定ルールを識別する。これは、たとえば、複数の条件を確認し、当該条件が真であるか否かを作業アイテムに基づいて決定することを含み得る。決定856において、プロセス850は、識別された関連スキルが、シンプル・ルールを含むか否かを決定する。含む場合、プロセス850は、ブロック858に進み、作業アイテムに関連付けられた関連スキルを識別するために、シンプル・ルールを適用する。
【0053】
識別された関連スキルが、シンプル・ルールを含まない場合、プロセス850はブロック860に進み、識別されたルールが、ルックアップ・ルールを含むか否かを決定する。含む場合、プロセス850は、ブロック862に進み、作業アイテムに関連付けられた関連スキルを識別するために、ルックアップ・ルールを適用し、ルックアップ・テーブルを使用する。
【0054】
識別された関連スキルが、ルックアップ・ルールを含まない場合、プロセス850は、ブロック864に進み、識別されたルールがアドバンスト・ルールを含むか否かを決定する。含む場合、プロセス850は、ブロック866に進み、作業アイテムに関連付けられた関連スキルを識別するために、アドバンスト・ルールを適用し、スクリプト・テーブルを使用する。
【0055】
ブロック868において、プロセス850は、受け取られた作業アイテムを、ブロック858、862、および/または866において識別された関連スキルに関連付けるオブジェクトを生成する。ブロック870において、関連スキルを有する1人または複数人のエージェントが識別される。ブロック872において、作業アイテムは、1人または複数人の識別されたエージェントのキューに追加される。
【0056】
図15は、シンプルVIPスキル決定ルールを適用するために、開示された技法を利用する例を示す。例示されるように、作業アイテム900は、ルータの再起動に関するチャット・メッセージ902の形態で、ジョージ・ウォーレンという名前のカスタマから受け取られる。システムは、ジョージ・ウォーレンが、VIPカスタマ(たとえば、Contact.VIP=true)であることを認識し、スキル「カスタマ忍者」がオプションで必要であると決定するルールを適用するので、オプションで必要なスキルとして「カスタマ忍者」を識別する作業アイテム900のためにm2mオブジェクト904が作成される。次に、作業アイテム900は、「カスタマ忍者」スキルを有するエージェント906にルーティングされる。
【0057】
図16は、ルックアップ製品スキル決定ルールを適用するために、開示された技法を利用する例を示す。例示するように、カスタマであるジョージ・ウォーレンの、ルータに関する作業アイテム950が受け取られる。システムは、作業アイテム内の製品を識別し、「ルータ」を必須スキルとして識別するために、識別された製品のルックアップ・テーブルまたはデータベース952を参照する。「ルータ」を必須スキルとして識別する作業アイテム950に対して、m2mオブジェクト954が作成される。次に、作業アイテム950は、「ルータ」スキルを有するエージェント956にルーティングされる。
【0058】
図17は、ルックアップ言語スキル決定ルールを適用するために、開示された技法を利用する例を示す。例示されるように、作業アイテム1000は、ミシェル・セムラーという名前のカスタマから、チャット・メッセージ1002を介して受け取られる。システムは、カスタマがドイツにいることを識別し、「ドイツ語」を必須スキルとして識別するために、連絡先国のルックアップ・テーブルまたはデータベース1004を参照する。「ドイツ語」を必須スキルとして識別する作業アイテム1000に対して、m2mオブジェクト1006が作成される。次に、作業アイテム1000は、「ドイツ語」スキルを有するエージェント1008にルーティングされる。
【0059】
図18は、アドバンスト言語スキル決定ルールを適用するために、開示された技法を利用する例を示す。例示されるように、カスタマであるジョージ・ウォーレンの、ルータに関する作業アイテム1050が受け取られる。システムは、空ではない説明に基づいて、ケース説明で使用される言語をドイツ語として識別するために、言語決定サービス1052を利用し、その後、「ドイツ語」を必須スキルとして識別するスクリプトを実行する。「ドイツ語」を必須スキルとして識別する作業アイテム1050のために、m2mオブジェクト1054が作成される。次に、作業アイテム1050は、「ドイツ語」スキルを有するエージェント1056にルーティングされる。
【0060】
開示された技法は、作業アイテムに関連付けられたスキルを識別するために、スキル決定ルールを定義し、次にスキル決定ルールを使用することに関連する。新しいスキル決定ルールの作成または既存のスキル決定ルールの編集の要求を受け取ると、スキル決定ルール定義GUIが生成および表示され、スキル決定ルールのタイプが選択され得る。シンプル・ルールは、作業アイテムの属性に基づいて、作業アイテムに関連付けられたスキルを識別し得る。ルックアップまたは動的ルールは、ルックアップ・テーブルを参照し、ルックアップ・テーブルのフィールドをソース・テーブルのフィールドにマッピングすることにより、作業アイテムに関連付けられたスキルを識別し得る。アドバンスト・ルールは、スクリプトを実行することにより、作業アイテムに関連付けられたスキルを識別し得る。選択したルールのタイプに応じて、ユーザは、選択したタイプのルールを定義する入力を提供し得る。
【0061】
スキル決定ルールが定義されると、作業アイテムの受取時に、関連スキル決定ルールが識別され、適用され得る。関連スキル決定ルールが、シンプル・ルールである場合、関連スキルは、作業アイテムの属性に基づいて識別され得る。関連スキル決定ルールが、ルックアップまたは動的ルールである場合、関連スキルは、ルックアップ・テーブルを参照し、ルックアップ・テーブルのフィールドをソース・テーブルのフィールドにマッピングすることによって識別され得る。関連スキル決定ルールが、アドバンスト・ルールである場合、関連スキルは、作業アイテムでスクリプトを実行することによって識別され得る。関連スキルが識別されると、多対多(m2m)オブジェクトが生成され、作業アイテムが、関連スキルに関連付けられ得る。識別されたスキルを有するエージェントが識別され得る。複数のエージェントが識別された場合、エージェントが選択され、作業アイテムが、選択されたエージェントのキューに追加され得る。
【0062】
上記の特定の実施形態は、例として示されているが、これらの実施形態は、様々な修正および代替形態の影響を受けやすい可能性があることを理解されたい。特許請求の範囲は、開示された特定の形態に限定されることを意図するのではなく、むしろ、本開示の精神および範囲内にあるすべての修正、均等物、および代替物を網羅することを意図することをさらに理解されたい。
【0063】
本明細書で提示および特許請求される技法は、本技術分野を明らかに改善し、したがって、抽象的、非有形的、または純粋に理論的ではない、物質的対象および実用的性質の具体例に対する参照および適用がなされる。さらに、本明細書の末尾に追加されたいずれかの請求項が、「・・・する[機能]を[実行]するための手段」、または「・・・する[機能]を[実行]するためのステップ」として指定された1つまたは複数の要素を含む場合、そのような要素は、米国特許法第112条(f)項の下で解釈されるべきであることが意図される。しかしながら、他の任意の形で指定された要素を含むいずれの請求項も、そのような要素は、米国特許法第112条(f)項の下で解釈されるべきではないことが意図される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18